US-12621473-B2 - Network device and error handling
Abstract
A number of negatively affected (correctly received) packets due to packet loss is reduced by providing, and analyzing, error resilience in the packets of the sequence of packets and identifying, for each of runs of one or more lost packets of the sequence of packets, a first packet in the sequence of packets after the respective run of one or more lost packets, which carries a beginning of any of the tiles of the video data stream, and concurrently carries a slice, the slice header of which is contained in any of the packets of the sequence of packets not being lost. In particular, the side information overhead for transmitting the error resilience data is comparatively low compared to the reduction in negatively affected packets due to packet loss.
Inventors
- Karsten SUEHRING
- Thomas Schierl
- Detlev Marpe
- Robert SKUPIN
- Yago SANCHEZ DE LA FUENTE
- Gerhard Tech
Assignees
- DOLBY VIDEO COMPRESSION, LLC
Dates
- Publication Date
- 20260505
- Application Date
- 20220114
Claims (18)
- 1 . A network device comprising: a processor; a receiver configured to receive a sequence of packets in a data stream representing a video encoded therein in units of slices, wherein each slice includes a slice header; and an error handler implemented on the processor and configured to: (i) identify a lost packet in the sequence of packets, (ii) identify a first packet after the lost packet in the sequence of packets based on error resilience data within the sequence of packets, wherein the first packet includes data of a first slice, and (iii) identify, based on the error resilience data, a second packet of the sequence of packets, wherein the second packet is not lost and is sequential to the first packet in the sequence of packets and includes the slice header of the first slice carried by the first packet, wherein the error resilience data indicates a packet number of the second packet.
- 2 . The network device according to claim 1 , wherein: the video includes tiles of pictures of the video and the tiles are encoded in the data stream therein in units of slices; and each slice is subdivided into a sequence of one independent slice segment comprising the slice header of the slice, followed by one or more dependent slice segments in which the slice header is absent.
- 3 . The network device according to claim 2 , wherein tile boundaries coincide with borders between consecutive ones of the sequence of the one independent slice segment and the one or more dependent slice segments, wherein all independent and dependent slice segments comprise an address field indicating the start thereof.
- 4 . The network device according to claim 1 , wherein the error handler is configured to check whether the second packet precedes the lost packet in the sequence of packets.
- 5 . The network device according to claim 1 , wherein the error resilience data is present in a transport packet header of the first packet.
- 6 . The network device according to claim 1 , wherein the network device is configured to read the error resilience data from predetermined NAL units interspersed within the sequence of packets.
- 7 . The network device according to claim 1 , wherein the network device is configured to read the error resilience data from transport packet headers of the packets.
- 8 . The network device according to claim 1 , wherein the network device is configured to acquire from the error resilience data of a respective packet a pointer to, or an identifier of, the packet comprising the slice header of the slice at least partially carried by the respective packet.
- 9 . The network device according to claim 1 , wherein the network device is a decoder configured to resume decoding the data stream after the first packet by applying the slice header to decode a tile the start of which is comprised in the first packet.
- 10 . A method comprising: receiving a sequence of packets in a data stream representing a video encoded therein in units of slices, wherein each slice includes a slice header; identifying a lost packet in the sequence of packets; identifying a first packet after the lost packet in the sequence of packets based on error resilience data within the sequence of packets, wherein the first packet includes data of a first slice; and identifying, based on the error resilience data, a second packet of the sequence of packets, wherein the second packet is not lost and is sequential to the first packet in the sequence of packets and includes the slice header of the first slice carried by the first packet, wherein the error resilience data indicates a packet number of the second packet.
- 11 . The method according to claim 10 , wherein: the video includes tiles of pictures of the video and the tiles are encoded in the data stream therein in units of slices; and each slice is subdivided into a sequence of one independent slice segment comprising the slice header of the slice, followed by one or more dependent slice segments in which the slice header is absent.
- 12 . The method according to claim 11 , wherein tile boundaries coincide with borders between consecutive ones of the sequence of the one independent slice segment and the one or more dependent slice segments, wherein all independent and dependent slice segments comprise an address field indicating the start thereof.
- 13 . The method according to claim 10 , further comprising checking whether the second packet precedes the lost packet in the sequence of packets.
- 14 . The method according to claim 10 , wherein the error resilience data is present in a transport packet header of the first packet.
- 15 . The method according to claim 10 , further comprising reading the error resilience data from predetermined NAL units interspersed within the sequence of packets.
- 16 . The method according to claim 10 , further comprising reading the error resilience data from transport packet headers of the packets.
- 17 . The method according to claim 10 , further comprising acquiring from the error resilience data of a respective packet a pointer to, or an identifier of, the packet comprising the slice header of the slice at least partially carried by the respective packet.
- 18 . The method according to claim 10 , further comprising resuming decoding the data stream after the first packet by applying the slice header to decode a tile the start of which is comprised in the first packet.
Description
CROSS REFERENCE TO RELATED APPLICATIONS This application is a continuation of U.S. Ser. No. 16/395,761, filed Apr. 26, 2019, which is a continuation of U.S. Ser. No. 14/995,260, filed Jan. 14, 2016, now U.S. Pat. No. 10,349,065, which is a continuation of International Application No. PCT/EP2014/065184, filed Jul. 15, 2014, which claims priority from U.S. Application No. 61/846,479, filed Jul. 15, 2013. The subject matter of each of the foregoing applications is incorporated herein by reference in entirety. BACKGROUND OF THE INVENTION The present application is concerned with a network device and its error handling relating to a transport stream of a sequence of packets via which a video data stream is transported. Depending on the application, transport packet based video data stream transmission suffers from packet loss. Such packet loss may, for example, result from transmission errors exceeding an error correction capability of an optionally used forward error correction of the transport stream, the lack of any uplink connection so as to send acknowledgement of receipt signals, or a combination of both. Irrespective of the availability of an acknowledgement of receipt uplink, it is desirable to keep affected portions of the video data stream, not decodable due to the non-receipt of lost packets, as small as possible. Disadvantageously, however, packets of the transport stream may carry information necessitated for decoding the content carried by subsequent packets of the transport stream. In the HEVC standard, for example, the video data stream is composed of independent slice segments and dependent slice segments, the dependent slice segments depending on independent slice segments as far as, for example, the slice header data is concerned which is contained in the immediately preceding independent slice segment and inherited for the decoding of the dependent slice segment. Accordingly, it would be favorable to have a concept at hand which enables a reduction of the amount of affected, non-decodable portions of a video data stream in the presence of packet loss. SUMMARY According to an embodiment, a network device may have: a receiver configured to receive a transport stream of a sequence of packets via which a video data stream is transported, the video data stream having tiles of pictures of a video into which the pictures are partitioned, encoded thereinto along a coding order using entropy coding and spatial prediction, the tiles being encoded into the video data stream with context derivation of the entropy coding and the spatial prediction being restricted so to not cross tile boundaries of the tiles, wherein the video data stream has the tiles of the pictures of the video encoded thereinto along the coding order in units of slices with each slice either containing data of one tile only or containing two or more tiles completely, each slice starting with a slice header, the video data stream being packetized into the sequence of packets along the coding order such that each packet carries data of merely one tile, wherein the device further includes an error handler configured to identify lost packets in a sequence of packets and analyze error resilience data in the packets of the sequence of packets so as to identify, for each of runs of one or more lost packets of the sequence of packets, a first packet in the sequence of packets after the respective run of one or more lost packets, which carries a begin of any of the tiles and participates in carrying a slice, the slice header of which is contained in any of the packets of the sequence of packets not being lost. According to another embodiment, a method may have the steps of: receiving a transport stream of a sequence of packets via which a video data stream is transported, the video data stream having tiles of pictures of a video into which the pictures are partitioned, encoded thereinto along a coding order using entropy coding and spatial prediction, the tiles being encoded into the video data stream with context derivation of the entropy coding and the spatial prediction being restricted so to not cross tile boundaries of the tiles, wherein the video data stream has the tiles of the pictures of the video encoded thereinto along the coding order in units of slices with each slice either containing data of one tile only or containing two or more tiles completely, each slice starting with a slice header, the video data stream being packetized into the sequence of packets along the coding order such that each packet carries data of merely one tile, identifying lost packets in a sequence of packets; and analyzing error resilience data in the packets of the sequence of packets so as to identify, for each of runs of one or more lost packets of the sequence of packets, a first packet in the sequence of packets after the respective run of one or more lost packets, which carries a begin of any of the tiles and participates in carrying a slice, the sl