IP Library Granted Patent US 10,374,627
Granted Patent B2
US 10,374,627 · App. 16/109,953 · Granted Aug 6, 2019

Entropy encoding and decoding scheme

Inventors: Detlev Marpe (Berlin, DE); Tung Nguyen (Berlin, DE); Heiko Schwarz (Berlin, DE); Thomas Wiegand (Berlin, DE)
Assignee: GE VIDEO COMPRESSION, LLC
H03M7/00H03M7/40H03M7/4006H03M7/46
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 10,374,627
App. No.
16/109,953
Granted
Aug 6, 2019
Kind
B2
Abstract

Decomposing a value range of the respective syntax elements into a sequence of n partitions with coding the components of z laying within the respective partitions separately with at least one by VLC coding and with at least one by PIPE or entropy coding is used to greatly increase the compression efficiency at a moderate coding overhead since the coding scheme used may be better adapted to the syntax element statistics. Accordingly, syntax elements are decomposed into a respective number n of source symbols s i with i=1 . . . n, the respective number n of source symbols depending on as to which of a sequence of n partitions into which a value range of the respective syntax elements is sub-divided, a value z of the respective syntax elements falls into, so that a sum of values of the respective number of source symbols s i yields z, and, if n>1, for all i=1 . . . n−1, the value of s i corresponds to a range of the i th partition.

Claims (69)

1. An apparatus for decoding comprising:

a symbol decoder configured to obtain, based on codewords from a data stream, a first sequence of source symbols and a second sequence of source symbols, wherein source symbols of the first and second sequences are related to level values of transform coefficients of a transform coefficient block,

wherein the level values of transform coefficients are encoded into the data stream according to a scan order leading through the transform coefficients of the transform coefficient block, and the symbol decoder is configured to obtain a first source symbol of the first sequence using a Rice code and a second source symbol of the first sequence using an Exp-Golomb code; and

a composer configured to:

compose a sequence of syntax elements having a value range which is sub-divided into a plurality of disjoint portions including at least three portions by, for each syntax element:

obtaining a set of source symbols from the first and second sequences based on a portion of the plurality of disjoint portions associated with the syntax element, and

combining values of the source symbols of the set to determine the value of the syntax element; and

adapt one or more limits between the plurality of disjoint portions according to previously obtained source symbols.

2. The apparatus of claim 1 , wherein the symbol decoder comprises:

a first decoder configured to: receive a first portion of the data stream, and reconstruct source symbols of the first sequence of source symbols from codewords of the first portion of the data stream; and

a second decoder configured to: receive a second portion of the data stream, and reconstruct source symbols of the second sequence of source symbols from codewords of the second portion of the data stream.

3. The apparatus of claim 1 , wherein a source symbol in the second sequence of source symbols corresponds to a first-ordered portion in the plurality of disjoint portions, and the plurality of disjoint portions is arranged such that a first portion covers higher values of the value range than a second portion.

4. The apparatus of claim 1 , wherein the source symbols from the first sequence and the source symbols from the second sequence correspond to different portions.

5. The apparatus of claim 1 , wherein source symbols of the first and second sequences are related to absolute level values of transform coefficients of a transform coefficient block.

6. The apparatus of claim 1 , wherein the apparatus is at least a portion of a programmable logic device, a programmable gate array, a microprocessor, a computer or an electronic circuit.

7. The apparatus of claim 2 , wherein one of the first decoder and the second decoder is configured to use arithmetic coding to reconstruct the source symbols, and the other of the first decoder and the second decoder is configured to use Golomb-Rice coding to reconstruct the source symbols.

8. The apparatus of claim 1 , the composer is configured to adapt at least one limit between the plurality of disjoint portions during composing absolute transform coefficient levels of the transform coefficients of the transform coefficient block based on at least one of:

a previously reconstructed absolute transform coefficient level of a transform coefficient preceding in the scan order,

a position of a current absolute transform coefficient level to be composed in the scan order,

an evaluation of previously reconstructed absolute transform coefficient levels of transform coefficients spatially neighboring the position of the current absolute transform coefficient level to be composed, and

an evaluation of previously reconstructed absolute transform coefficient levels of transform coefficients neighboring according to the scan order the position of the current absolute transform coefficient level to be composed.

9. A method for decoding comprising:

obtaining, based on codewords from a data stream, a first sequence of source symbols and a second sequence of source symbols, wherein source symbols of the first and second sequences are related to level values of transform coefficients of a transform coefficient block,

wherein the level values of transform coefficients are encoded into the data stream according to a scan order leading through the transform coefficients of the transform coefficient block, and the obtaining includes obtaining a first source symbol of the first sequence using a Rice code and obtaining a second source symbol of the first sequence using an Exp-Golomb code; and

composing a sequence of syntax elements having a value range which is sub-divided into a plurality of disjoint portions including at least three portions by, for each syntax element:

obtaining a set of source symbols from the first and second sequences based on a portion of the plurality of disjoint portions associated with the syntax element, and

combining values of the source symbols of the set to determine the value of the syntax element,

wherein one or more limits between the plurality of disjoint portions are adapted according to one or more previously obtained source symbols.

10. The method of claim 9 , further comprising:

receiving, by a first decoder, a first portion of the data stream;

reconstructing, by the first decoder, source symbols of the first sequence of source symbols from codewords of the first portion of the data stream;

receiving, by a second decoder, a second portion of the data stream; and

reconstructing, by the second decoder, source symbols of the second sequence of source symbols from codewords of the second portion of the data stream.

11. The method of claim 9 , wherein a source symbol in the second sequence of source symbols corresponds to a first-ordered portion in the plurality of disjoint portions, and the plurality of disjoint portions is arranged such that a first portion covers higher values of the value range than a second portion.

12. The method of claim 9 , wherein the source symbols from the first sequence and the source symbols from the second sequence correspond to different portions of the plurality of disjoint portions.

13. The method of claim 10 , wherein one of the first decoder and the second decoder is configured to use arithmetic coding to reconstruct the source symbols, and the other of the first decoder and the second decoder is configured to use Golomb-Rice coding to reconstruct the source symbols.

14. The method of claim 9 , wherein at least one limit between the plurality of disjoint portions is adapted during composing absolute transform coefficient levels of the transform coefficients of the transform coefficient block based on at least one of:

a previously reconstructed absolute transform coefficient level of a transform coefficient preceding in the scan order,

a position of a current absolute transform coefficient level to be composed in the scan order,

an evaluation of previously reconstructed absolute transform coefficient levels of transform coefficients spatially neighboring the position of the current absolute transform coefficient level to be composed, and

an evaluation of previously reconstructed absolute transform coefficient levels of transform coefficients neighboring according to the scan order the position of the current absolute transform coefficient level to be composed.

15. A non-transitory computer readable medium including a computer program comprising program code for performing, when executing on a computing device, a method according to claim 9 .

16. An apparatus for encoding comprising:

a decomposer configured to:

receive a sequence of syntax elements having a value range which is sub-divided into a plurality of disjoint portions including at least three portions, wherein the sequence of syntax elements are related to level values of transform coefficients of a transform coefficient block and the level values of transform coefficients are encoded into the data stream according to a scan order leading through the transform coefficients of the transform coefficient block, and

obtain a sequence of source symbols based on the sequence of syntax elements by decomposing each syntax element into a corresponding set of source symbols based on a portion of the plurality of disjoint portions associated with the syntax element, such that a combination of values of the source symbols of the set yields the value of the syntax element; and

a sub-divider configured to:

receive the sequence of source symbols, and

sub-divide the sequence of source symbols into a first sequence of source symbols and a second sequence of source symbols,

wherein a first source symbol of the first sequence is encoded using a Rice code and a second source symbol of the first sequence is encoded using an Exp-Golomb code, and

wherein the decomposer is configured to adapt one or more limits between the plurality of disjoint portions according to one or more previously obtained source symbols.

17. The apparatus of claim 16 , further comprising: a first encoder configured to encode the source symbols of the first sequence; and a second encoder configured to encode the source symbols of the second sequence.

18. The apparatus of claim 16 , wherein a source symbol in the second sequence of source symbols corresponds to a first-ordered portion in the plurality of disjoint portions, and the plurality of disjoint portions is arranged such that a first portion covers higher values of the value range than a second portion.

19. The apparatus of claim 17 , wherein the first encoder or the second encoder is further configured to encode a scaling factor.

20. The apparatus of claim 16 , wherein the source symbols from the first sequence and the source symbols from the second sequence correspond to different portions of the plurality of disjoint portions.

21. The apparatus of claim 17 , wherein one of the first encoder and the second encoder is configured to use arithmetic coding to encode the source symbols, and the other of the first encoder and the second encoder is configured to use Golomb-Rice coding to encode the source symbols.

22. The apparatus of claim 16 , wherein the apparatus is at least a portion of a programmable logic device, a programmable gate array, a microprocessor, a computer or an electronic circuit.

23. A non-transitory computer-readable medium for storing video data, comprising:

a data stream stored in the non-transitory computer-readable medium and comprising data associated with a first sequence of source symbols and a second sequence of source symbols, wherein the source symbols of the first and second sequences are related to level values of transform coefficients of a transform coefficient block, which are encoded into the data stream according to a scan order leading through the transform coefficients of the transform coefficient block, and the source symbols are obtained based on a sequence of syntax elements having a value range which is sub-divided into a plurality of disjoint portions including at least three portions by executing operations using a processor, the operations including:

decomposing each syntax element into a corresponding set of source symbols based on a portion of the plurality of disjoint portions associated with the syntax element, such that a combination of values of the source symbols of the set yields the value of the syntax element, and

adapting one or more limits between the plurality of disjoint portions according to one or more previously obtained source symbols,

wherein a first source symbol of the first sequence is encoded using a Rice code and a second source symbol of the first sequence is encoded using an Exp-Golomb code.

24. The non-transitory computer-readable medium of claim 23 , the operations further comprising: encoding the source symbols of the first sequence using a first encoder; and encoding the source symbols of the second sequence using a second encoder.

25. The non-transitory computer-readable medium of claim 24 , wherein the first encoder or the second encoder is configured to encode a scaling factor.

26. The non-transitory computer-readable medium of claim 24 , wherein one of the first encoder and the second encoder is configured to use arithmetic coding to encode the source symbols, and the other of the first encoder and the second encoder is configured to use Golomb-Rice coding to encode the source symbols.

27. The non-transitory computer-readable medium of claim 23 , wherein a source symbol in the second sequence of source symbols corresponds to a first-ordered portion in the plurality of disjoint portions, and the plurality of disjoint portions is arranged such that a first portion covers higher values of the value range than a second portion.

28. The non-transitory computer-readable medium of claim 23 , wherein the source symbols from the first sequence and the source symbols from the second sequence correspond to different portions of the plurality of disjoint portions.

29. The method of claim 9 , wherein source symbols of the first and second sequences are related to absolute level values of transform coefficients of a transform coefficient block.

30. The apparatus of claim 16 , wherein source symbols of the first and second sequences are related to absolute level values of transform coefficients of a transform coefficient block.

Assignments (4)
CHANGE OF NAME Recorded Jan 30, 2026
From: GE VIDEO COMPRESSION, LLC
To: DOLBY VIDEO COMPRESSION, LLC
Reel/Frame 074536/0717 →
CHANGE OF NAME Recorded Nov 26, 2024
From: GE VIDEO COMPRESSION, LLC
To: DOLBY VIDEO COMPRESSION, LLC
Reel/Frame 069450/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2018
From: MARPE, DETLEV; NGUYEN, TUNG; SCHWARZ, HEIKO; WIEGAND, THOMAS
To: FRAUNHOFER-GESELLSCHAFT ZUR FOERDERUNG DER ANGEWANDTEN FORSCHUNG E.V.
Reel/Frame 046676/0594 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2018
From: FRAUNHOFER-GESELLSCHAFT ZUR FOERDERUNG DER ANGEWANDTEN FORSCHUNG E.V.
To: GE VIDEO COMPRESSION, LLC
Reel/Frame 046676/0639 →
Continuity (9)
Continuation 15717427 · Sep 27, 2017
Continuation 15479787 · Apr 5, 2017
Continuation 15195696 · Jun 28, 2016
Continuation 14980671 · Dec 28, 2015
Continuation 14734407 · Jun 9, 2015
Continuation 13940561 · Jul 12, 2013
Continuation PCTEP2012050431 · Jan 12, 2012
Provisional Application 61432884 · Jan 14, 2011
Related Publication 20190013822A1 · Jan 10, 2019