IP Library Granted Patent US 11,595,675
Granted Patent B2
US 11,595,675 · App. 17/210,026 · Granted Feb 28, 2023

Sample array coding for low-delay

Inventors: Valeri George (Berlin, DE); Anastasia Henkel (Berlin, DE); Heiner Kirchhoffer (Berlin, DE); Detlev Marpe (Berlin, DE); Thomas Schierl (Berlin, DE)
Assignee: GE Video Compression, LLC
H04N19/44H03M7/3071H04N19/13H04N19/167H04N19/174H04N19/436H04N19/503H04N19/51H04N19/91H03M7/4037
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,595,675
App. No.
17/210,026
Granted
Feb 28, 2023
Kind
B2
Abstract

The entropy coding of a current part of a predetermined entropy slice is based on, not only, the respective probability estimations of the predetermined entropy slice as adapted using the previously coded part of the predetermined entropy slice, but also probability estimations as used in the entropy coding of a spatially neighboring, in entropy slice order preceding entropy slice at a neighboring part thereof. Thereby, the probability estimations used in entropy coding are adapted to the actual symbol statistics more closely, thereby lowering the coding efficiency decrease normally caused by lower-delay concepts. Temporal interrelationships are exploited additionally or alternatively.

Claims (38)

1. A decoder for reconstructing a sample array of a video from an entropy-encoded data stream, the decoder comprising:

an entropy decoder configured for entropy decoding a plurality of entropy slices in the data stream to reconstruct different portions of the sample array of the video,

wherein, for entropy decoding a current entropy slice of the plurality of entropy slices, the entropy decoder is configured for:

decoding information regarding a position difference value of the current entropy slice based on Exponential-Golomb coding, wherein the position difference value indicates a difference between a position of a preceding entropy slice within the data stream and a corresponding position of the current entropy slice within the data stream, the current and preceding entropy slices corresponding to consecutive rows of the sample array, and

deriving the position of the current entropy slice within the data stream based on a sum of the position of the preceding entropy slice and the position difference value, wherein entropy decoding of the preceding entropy slice precedes entropy decoding of the current entropy slice.

2. The decoder of claim 1 , wherein the entropy decoding of the preceding entropy slice immediately precedes the entropy decoding of the current entropy slice, such that no other entropy slice is entropy decoded between the entropy decoding of the current and preceding entropy slices.

3. The decoder of claim 1 , wherein the Exponential-Golomb coding provides a prefix bin string and a suffix bin string related to the position difference value, and the prefix bin string identifies one of a plurality of value ranges to which the position difference value belongs.

4. The decoder of claim 1 , wherein each row of the sample array has a same number of blocks of the sample array, and each of the plurality of entropy slices comprising entropy-encoded data for a corresponding row of the sample array.

5. The decoder of claim 1 , wherein the entropy decoder is configured for performing, for each entropy slice, entropy decoding along a respective entropy coding path leading in parallel along rows of the sample array.

6. The decoder of claim 5 , wherein the entropy decoder is configured for entropy-decoding the plurality of entropy slices in a slice subset order, the slice subset order is chosen such that, along the slice subset order, the different portions follow each other in a direction angled relative to the entropy coding paths of the entropy slices.

7. The decoder of claim 5 , wherein the entropy slices are sub-divided into chunks, and the decoder further comprises a de-interleaver to de-interleave the chunks and the entropy decoder is configured for starting the entropy decoding of the entropy slices in parallel along the entropy coding paths even before a reception of any of the entropy slices as a whole.

8. The decoder of claim 1 , wherein the sample array is a current sample array of a sequence of sample arrays and the entropy decoder is configured for entropy-decoding an entropy slice using a first probability estimation based on a previously-decoded part of that entropy slice, and a second probability estimation obtained in entropy decoding a previously-decoded frame relating to one of the sample arrays other than the current sample array.

9. The decoder of claim 1 , wherein the decoder is at least a portion of a programmable logic device, programmable gate array, microprocessor, computer or hardware apparatus.

10. A method for encoding a sample array of a video into an entropy-encoded data stream, the method comprising:

entropy encoding a plurality of entropy slices into the entropy-encoded data stream, wherein

the entropy encoding includes, for a current entropy slice of the plurality of entropy slices, encoding, into the data stream, information related to a position difference value based on Exponential-Golomb coding, the position difference value indicating a difference between a position of a preceding entropy slice within the data stream and a corresponding position of the current entropy slice within the data stream, wherein the current and preceding entropy slices correspond to consecutive rows of the sample array,

the position of the current entropy slice within the data stream is to be derived based on a sum of the position of the preceding entropy slice and the position difference value, and

entropy encoding of the preceding entropy slice precedes entropy encoding of the current entropy slice.

11. The method of claim 10 , wherein the entropy encoding of the preceding entropy slice immediately precedes the entropy encoding of the current entropy slice, such that no other entropy slice is entropy encoded between the entropy encoding of the current and preceding entropy slices.

12. The method of claim 10 , wherein the Exponential-Golomb coding provides a prefix bin string and a suffix bin string related to the position difference value, and the prefix bin string identifies one of a plurality of value ranges to which the position difference value belongs.

13. The method of claim 10 , wherein each row of the sample array has a same number of blocks of the sample array, and each of the plurality of entropy slices comprising entropy-encoded data for a corresponding row of the sample array.

14. The method of claim 10 , wherein the entropy encoding of each of the plurality of entropy slices is performed along a respective entropy coding path leading in parallel along rows of the sample array.

15. The method of claim 14 , wherein the entropy slices are sub-divided into chunks, and the method further comprises interleaving the chunks into the data stream.

16. The method of claim 14 , wherein the entropy encoding of the plurality of entropy slices is performed in a slice subset order, the slice subset order is chosen such that, along the slice subset order, the different portions follow each other in a direction angled relative to the entropy coding paths of the entropy slices.

17. The method of claim 10 , wherein the sample array is a current sample array of a sequence of sample arrays and the entropy encoding an entropy slice uses a first probability estimation based on a previously-encoded part of the entropy slice, and a second probability estimation obtained in entropy encoding a previously-encoded frame relating to one of the sample arrays other than the current sample array.

18. A non-transitory computer-readable medium for storing data associated with a video, comprising:

a data stream stored in the non-transitory computer-readable medium, the data stream comprising entropy-encoded information associated with a sample array of a video, the entropy-encoded information including a plurality of entropy slices,

wherein entropy encoding of the sample array includes encoding into the data stream, for a current entropy slice of the plurality of entropy slices, a position difference value based on Exponential-Golomb coding, the position difference value indicating a difference between a position of a preceding entropy slice within the data stream and a corresponding position of the current entropy slice within the data stream, the current and preceding entropy slices corresponding to consecutive rows of the sample array,

the position of the current entropy slice within the data stream is to be derived based on a sum of the position of the preceding entropy slice and the position difference value, and

entropy encoding of the preceding entropy slice precedes entropy encoding of the current entropy slice.

19. The non-transitory computer-readable medium of claim 18 , wherein the Exponential-Golomb coding provides a prefix bin string and a suffix bin string related to the position difference value, and the prefix bin string identifies one of a plurality of value ranges to which the position difference value belongs.

20. The non-transitory computer-readable medium of claim 18 , wherein each row of the sample array has a same number of blocks of the sample array, and each of the plurality of entropy slices comprising entropy-encoded data for a corresponding row of the sample array.

21. The decoder of claim 1 , wherein each row of the sample array has a same number of blocks of the sample array and each of the plurality of entropy slices comprises entropy-encoded data for a corresponding row of the sample array, and

the entropy decoder is configured for performing, for each entropy slice, entropy decoding along a respective entropy coding path leading in parallel along rows of the sample array.

22. The method of claim 10 , wherein each row of the sample array has a same number of blocks of the sample array and each of the plurality of entropy slices comprising entropy-encoded data for a corresponding row of the sample array, and

the entropy encoding of each of the plurality of entropy slices is performed along a respective entropy coding path leading in parallel along rows of the sample array.

23. The non-transitory computer-readable medium of claim 18 , wherein each row of the sample array has a same number of blocks of the sample array and each of the plurality of entropy slices comprising entropy-encoded data for a corresponding row of the sample array, and

the entropy encoding of each of the plurality of entropy slices is performed along a respective entropy coding path leading in parallel along rows of the sample array.

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 Apr 1, 2021
From: GEORGE, VALERI; HENKEL, ANASTASIA; KIRCHHOFFER, HEINER; MARPE, DETLEV; SCHIERL, THOMAS
To: FRAUNHOFER-GESELLSCHAFT ZUR FOERDERUNG DER ANGEWANDTEN FORSCHUNG E.V.
Reel/Frame 055797/0208 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2021
From: FRAUNHOFER-GESELLSCHAFT ZUR FOERDERUNG DER ANGEWANDTEN FORSCHUNG E.V.
To: GE VIDEO COMPRESSION, LLC
Reel/Frame 055804/0027 →
Continuity (11)
Continuation 16987955 · Aug 7, 2020
Continuation 16840043 · Apr 3, 2020
Continuation 16578716 · Sep 23, 2019
Continuation 16109874 · Aug 23, 2018
Continuation 15824196 · Nov 28, 2017
Continuation 15639312 · Jun 30, 2017
Continuation 15414356 · Jan 24, 2017
Continuation 14141374 · Dec 26, 2013
Continuation PCTEP2012063929 · Jul 16, 2012
Provisional Application 61508477 · Jul 15, 2011
Related Publication 20210211701A1 · Jul 8, 2021