IP Library › Granted Patent US 10,237,556
Granted Patent B2
US 10,237,556 · App. 15/034,070 · Granted Mar 19, 2019

Data encoding and decoding

Inventors: James Alexander Gamei (Kingston-Upon-Thames, GB); Karl James Sharman (Easy Ilsley, GB)
Assignee: Sony Corporation
H04N19/13H04N19/14H04N19/176H04N19/91
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,237,556
App. No.
15/034,070
Granted
Mar 19, 2019
Kind
B2
Abstract

A data encoding method includes encoding an array of data values as data sets and escape codes for values not encoded by the data sets, an escape code including a prefix portion and a non-unary coded suffix portion having a length, in bits, dependent upon a value encoded by the prefix portion according to a relationship such that, for at least some values encoded by the prefix portion, the length of the non-unary coded suffix portion is greater than the length, in bits, of the prefix portion.

Claims (57)

1. A data decoding apparatus comprising:

a decoder configured to decode input encoded data values into decoded data values having a bit depth, wherein

the input encoded data values include

values encoded as data sets; and

escape codes for values not encoded by the data sets,

an escape code of the escape codes includes

a prefix portion having a prefix length capped at a maximum prefix length that is dependent upon the bit depth of the decoded data values; and

a non-unary coded suffix portion having a length, in bits, that is dependent upon a value encoded by the prefix portion, and

for at least some values encoded by the prefix portion, the length of the non-unary coded suffix portion is greater than the prefix length, in bits, of the prefix portion.

2. The apparatus according to claim 1 , wherein the prefix portion comprises a unary encoded value.

3. The apparatus according to claim 2 , wherein the prefix portion comprises a truncated unary encoded value.

4. The apparatus according to claim 1 , further comprising:

a controller configured to access one or more tables in which the value encoded by the prefix portion and the length of the non-unary coded suffix portion are associated.

5. The apparatus according to claim 4 , wherein the controller is configured to select one of the one or more tables associating the value encoded by the prefix portion and the length of the non-unary coded suffix portion according to one or more of: (i) a data flag associated with the encoded data values; and (ii) a parameter derived from one or more previously encoded data values.

6. The apparatus according to claim 1 , wherein the value encoded by the prefix portion is associated with the length of the non-unary coded suffix portion such that the length of the non-unary coded suffix portion is an exponential function of the value encoded by the prefix portion.

7. The apparatus according to claim 1 , wherein a relationship between the value encoded by the prefix portion and the length of the non-unary coded suffix portion is such that a maximum length of the non-unary coded suffix portion is no greater than a maximum value selected from one of: a maximum number of bits of each of the data values to be encoded; and a predetermined maximum value.

8. The apparatus according to claim 1 , wherein the prefix portion is encoded as an exponential Golomb code.

9. The apparatus according to claim 1 , wherein the maximum prefix length is dependent upon the bit depth of the decoded data values plus six.

10. The apparatus according to claim 1 , wherein the maximum prefix length is equal to a predetermined constant minus a value equal to a dynamic range of data values for encoding.

11. The apparatus according to claim 10 , wherein the predetermined constant is equal to 29.

12. The apparatus according to claim 10 , wherein the predetermined constant is equal to 28.

13. The apparatus according to claim 1 , wherein one of the data sets is a significance map indicative of positions, relative to an array of the encoded data values, of most-significant data portions which are non-zero.

14. The apparatus according to claim 13 , wherein the significance map comprises a data flag indicative of a position, according to a predetermined ordering of the array of encoded data values, of a last of the most-significant data portions having a non-zero value.

15. A method of operation of a data decoding apparatus, comprising:

decoding input encoded data values into decoded data values having a bit depth by the data decoding apparatus, wherein

the input encoded data values include

values encoded as data sets; and

escape codes for values not encoded by the data sets,

an escape code of the escape codes includes

a prefix portion having a prefix length capped at a maximum prefix length that is dependent upon the bit depth of the decoded data values; and

a non-unary coded suffix portion having a length, in bits, that is dependent upon a value encoded by the prefix portion, and

for at least some values encoded by the prefix portion, the length of the non-unary coded suffix portion is greater than the prefix length, in bits, of the prefix portion.

16. The method according to claim 15 , wherein the maximum prefix length is dependent upon the bit depth of the decoded data values plus six.

17. The method of claim 16 , wherein

the maximum prefix length is equal to a predetermined constant minus a value equal to a dynamic range of data values for encoding, and

the predetermined constant is equal to 28.

18. A non-transitory computer readable medium including computer program instructions, which when executed by a computer causes the computer to perform the method of claim 15 .

19. A data encoding apparatus comprising:

an encoder configured to encode an array of data values having a bit depth as data sets and escape codes for values not encoded by the data sets, wherein

an escape code of the escape codes includes

a prefix portion having a prefix length capped at a maximum prefix length that is dependent upon the bit depth of the data values; and

a non-unary coded suffix portion having a length, in bits, that is dependent upon a value encoded by the prefix portion, and

for at least some values encoded by the prefix portion, the length of the non-unary coded suffix portion is greater than the prefix length, in bits, of the prefix portion.

20. The apparatus according to claim 19 , wherein

the maximum prefix length is equal to a predetermined constant minus a value equal to a dynamic range of data values for encoding, and

the predetermined constant is equal to 28.

21. A method of operation of a data encoding apparatus, the method comprising:

encoding an array of data values as data sets having a bit depth and escape codes for values not encoded by the data sets by the data encoding apparatus, wherein

an escape code of the escape codes includes

a prefix portion having a prefix length capped at a maximum prefix length that is dependent upon the bit depth of the data values; and

a non-unary coded suffix portion having a length, in bits, that is dependent upon a value encoded by the prefix portion, and

for at least some values encoded by the prefix portion, the length of the non-unary coded suffix portion is greater than the prefix length, in bits, of the prefix portion.

22. The method according to claim 21 , wherein

the maximum prefix length is equal to a predetermined constant minus a value equal to a dynamic range of data values for encoding, and

the predetermined constant is equal to 28.

23. A non-transitory computer readable medium including computer program instructions, which when executed by a computer causes the computer to perform the method of claim 21 .

24. A video data capture, transmission, display and/or storage apparatus comprising the data decoding apparatus according to claim 1 .

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2016
From: GAMEI, JAMES ALEXANDER; SHARMAN, KARL JAMES
To: SONY CORPORATION
Reel/Frame 038598/0957 →
Priority Claims (2)
GB 1322947.1 · Dec 23, 2013 · national
GB 1403854.1 · Mar 5, 2014 · national
Continuity (1)
Related Publication 20160295214A1 · Oct 6, 2016