IP Library Granted Patent US 11,997,319
Granted Patent B2
US 11,997,319 · App. 17/082,385 · Granted May 28, 2024

Coding concept allowing parallel processing, transport demultiplexer and video bitstream

Inventors: Thomas Schierl (Berlin, DE); Valeri George (Berlin, DE); Karsten Grueneberg (Berlin, DE); Heiner Kirchhoffer (Berlin, DE); Anastasia Henkel (Berlin, DE); Detlev Marpe (Berlin, DE)
Assignee: GE Video Compression, LLC
H04N19/91H04N19/107H04N19/13H04N19/169H04N19/436H04N19/65
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,997,319
App. No.
17/082,385
Granted
May 28, 2024
Kind
B2
Abstract

A raw byte sequence payload describing a picture in slices, WPP substreams or tiles and coded using context-adaptive binary arithmetic coding is subdivided into tranches with continuing the context-adaptive binary arithmetic coding probability adaptation across tranche boundaries. Thereby, tranche boundaries additionally introduced within slices, WPP substreams or tiles do not lead to a reduction in the entropy coding efficiency of these entities. However, the tranches are smaller than the original slices, WPP substreams or tiles and accordingly they may be transmitted earlier, i.e. with lower delay, than the un-chopped original entities. According to another aspect combinable with the first aspect, substream marker NAL units are used within a sequence of NAL units of a video bitstream to enable a transport demultiplexer to assign data of slices within NAL units to the corresponding substreams or tiles so as to be able to, in parallel, serve a multi-threaded decoder with the corresponding substreams or tiles.

Claims (24)

1. A decoder configured to decode data representing an encoded picture of a video, the decoder comprising:

an entropy decoder configured to decode data representing the encoded picture using context adaptive binary arithmetic coding (CABAC) entropy decoding to obtain a quantized representation of a residual signal associated with the picture, wherein the picture is encoded as wavefront parallel processing (WPP) substreams with each WPP substream associated with one row of the picture and is segmented into a plurality of tranches, each tranche having a header indicating a boundary of the tranche within the respective WPP substream and including a flag that affects CABAC probability adaptation in CABAC entropy decoding of the tranche within the WPP substream,

the entropy decoder being configured to entropy decode a current tranche of the plurality of tranches of a current WPP substream using CABAC entropy decoding, including (a) responsive to the current tranche starting at a beginning of the current WPP substream and the flag within the header of the current tranche having a first binary value, resetting the CABAC probability adaptation for the current tranche, and (b) responsive to the current tranche not starting at a beginning of the current WPP substream and the flag within the header of the current tranche having a second binary value, adopting CABAC probability of a previous tranche of the plurality of tranches obtained during entropy decoding of the previous tranche across a boundary associated with the previous tranche to the current tranche of the plurality of tranches;

a dequantization module to dequantize the quantized representation of the residual signal; and

a combiner to combine the dequantized residual signal and a prediction signal to reconstruct the picture.

2. The decoder according to claim 1 , wherein the plurality of tranches are packetized using slice headers, and the entropy decoder is configured to, in receiving the plurality of tranches, be responsive, upon receiving a new slice, to a flag in the slice header indicative of the new slice, a slice type of the new slice or a NAL unit type of a NAL unit comprising the new slice, such that the entropy decoder is configured to, based on the flag, either interrupt the CABAC probability adaptation by resetting CABAC probabilities or to continue the CABAC probability adaptation.

3. The decoder according to claim 1 , wherein the plurality of tranches are packetized into packets in manner so that each packet comprises one tranche of each WPP substream of the picture arranged in an order defined among the WPP substreams, each packet comprising a header comprising information revealing positions and/or lengths of the plurality of tranches packed into the respective packet, or markers separating the tranches within the respective packet from each other, wherein the decoder is configured to use the information comprised by the headers or the markers so as to access the tranches within the packets.

4. The decoder according to claim 3 , wherein packets comprising first, in accordance with the order defined among the WPP substreams, tranches of the WPP substreams of the picture, comprise a low delay feature indicator, and packets comprising second or subsequent, in accordance with the order defined among the WPP substreams, tranches of the WPP substreams of the picture, comprise a continuation indicator.

5. The decoder according to claim 3 , wherein the packets are NAL units.

6. The decoder according to claim 1 , wherein the CABAC probability adaptation includes adopting, in starting entropy decoding the second tranche, CABAC probabilities obtained at the end of entropy decoding the first tranche.

7. An encoder to encode a picture of a video, the encoder comprising:

a residual determiner configured to determine a residual signal associated with the picture based on a prediction signal;

a quantization module to quantize the residual signal to obtain a quantized representation of the residual signal; and

an entropy encoder configured to encode data the quantized residual signal using context adaptive binary arithmetic coding (CABAC) entropy encoding, wherein the picture is encoded as wavefront parallel processing (WPP) substreams with each WPP substream associated with one row of the picture and is segmented into a plurality of tranches, each tranche having a header indicating a boundary of the tranche within the respective WPP substream and including a flag that affects CABAC probability adaptation in CABAC entropy decoding of the tranche within the WPP substream,

the entropy encoder being configured to entropy encode a current tranche of the plurality of tranches of a current WPP substream using CABAC entropy encoding, including (a) responsive to the current tranche starting at a beginning of the current WPP substream and the flag within the header of the current tranche having a first binary value, resetting the CABAC probability adaptation for the current tranche, and (b) responsive to the current tranche not starting at a beginning of the current WPP substream and the flag within the header of the current tranche having a second binary value, adopting CABAC probability of a previous tranche of the plurality of tranches obtained during entropy encoding of the previous tranche across a boundary associated with the previous tranche to the current tranche of the plurality of tranches.

8. The encoder according to claim 7 , wherein the plurality of tranches are packetized using slice headers, and the entropy encoder is configured to, in encoding the plurality of tranches, be responsive, upon receiving a new slice, to a flag in the slice header indicative of the new slice, a slice type of the new slice or a NAL unit type of a NAL unit comprising the new slice, such that the entropy encoder is configured to, based on the flag, either interrupt the CABAC probability adaptation by resetting CABAC probabilities or to continue the CABAC probability adaptation.

9. The encoder according to claim 7 , wherein the plurality of tranches are packetized into packets in manner so that each packet comprises one tranche of each WPP substream of the picture arranged in an order defined among the WPP substreams, each packet comprising a header comprising information revealing positions and/or lengths of the plurality of tranches packed into the respective packet, or markers separating the tranches within the respective packet from each other, wherein the encoder is configured to use the information comprised by the headers or the markers so as to access the tranches within the packets.

10. The encoder according to claim 9 , wherein packets comprising first, in accordance with the order defined among the WPP substreams, tranches of the WPP substreams of the picture, comprise a low delay feature indicator, and packets comprising second or subsequent, in accordance with the order defined among the WPP substreams, tranches of the WPP substreams of the picture, comprise a continuation indicator.

11. The encoder according to claim 9 , wherein the packets are NAL units.

12. The encoder according to claim 7 , wherein the CABAC probability adaptation includes adopting, in starting entropy encoding the second tranche, CABAC probabilities obtained at the end of entropy encoding the first tranche.

13. A non-transitory computer-readable medium for storing information related to an encoded picture of a video, comprising instructions, which when executed by a processor, causes generation of:

a data stream stored in the non-transitory computer-readable medium, the data stream comprising encoded information related to a quantized representation of a residual signal associated with a picture of a video, wherein the residual signal is determined based on a prediction signal, and is entropy-decoded using context adaptive binary arithmetic coding (CABAC) entropy decoding, wherein the picture is encoded as wavefront parallel processing (WPP) substreams with each WPP substream associated with one row of the picture and is segmented into a plurality of tranches, each tranche having a header indicating a boundary of the tranche within the respective WPP substream and including a flag that affects CABAC probability adaptation in CABAC entropy decoding of the tranche within the WPP substream,

the plurality of tranches are entropy decoded using CABAC entropy decoding, entropy decoding a current tranche of the plurality of tranches of a current WPP substream includes (a) responsive to the current tranche starting at a beginning of the current WPP substream and the flag within the header of the current tranche having a first binary value, resetting the CABAC probability adaptation for the current tranche, and (b) responsive to the current tranche not starting at a beginning of the current WPP substream and the flag within the header of the current tranche having a second binary value, adopting CABAC probability of a previous tranche of the plurality of tranches obtained during entropy decoding of the previous tranche across a boundary associated with the previous tranche to the current tranche of the plurality of tranches, and the quantized representation of the residual signal is dequantized.

14. The non-transitory computer-readable medium according to claim 13 , wherein the CABAC probability adaptation includes adopting, in starting entropy encoding the second tranche, CABAC probabilities obtained at the end of entropy encoding the first tranche.

Assignments (4)
CHANGE OF NAME Recorded Jan 30, 2026
From: GE VIDEO COMPRESSION, LLC
To: DOLBY VIDEO COMPRESSION, LLC
Reel/Frame 074536/0748 →
CHANGE OF NAME Recorded Nov 26, 2024
From: GE VIDEO COMPRESSION, LLC
To: DOLBY VIDEO COMPRESSION, LLC
Reel/Frame 069450/0615 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2020
From: SCHIERL, THOMAS; GEORGE, VALERI; GRUENEBERG, KARSTEN; KIRCHHOFFER, HEINER; HENKEL, ANASTASIA; MARPE, DETLEV
To: FRAUNHOFER-GESELLSCHAFT ZUR FOERDERUNG DER ANGEWANDTEN FORSCHUNG E.V.
Reel/Frame 054194/0971 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2020
From: FRAUNHOFER-GESELLSCHAFT ZUR FOERDERUNG DER ANGEWANDTEN FORSCHUNG E.V.
To: GE VIDEO COMPRESSION, LLC
Reel/Frame 054195/0136 →
Continuity (5)
Continuation 15890820 · Feb 7, 2018
Continuation 14334789 · Jul 18, 2014
Continuation PCTEP2013051043 · Jan 21, 2013
Provisional Application 61588849 · Jan 20, 2012
Related Publication 20210044835A1 · Feb 11, 2021