IP Library Granted Patent US 10,742,978
Granted Patent B2
US 10,742,978 · App. 16/268,979 · Granted Aug 11, 2020

Encoder, decoder, encoding method, and decoding method

Inventors: Kiyofumi Abe (Osaka, JP); Takahiro Nishi (Nara, JP); Takashi Hashimoto (Hyogo, JP); Tadamasa Toma (Osaka, JP)
Assignee: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA
H04N19/122H04N19/13H04N19/146H04N19/176H04N19/18H04N19/124H04N19/136H04N19/159H04N19/61
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,742,978
App. No.
16/268,979
Granted
Aug 11, 2020
Kind
B2
Abstract

An encoder which encodes image information includes memory and circuitry accessible to the memory. The circuitry binarizes a data value indicating the number of non-zero coefficients included in a current basic block which is one of one or more basic blocks in a frequency transform block, according to a conversion table, to encode the image information which includes the data value. When binarizing the data value, the circuitry selects the conversion table from a plurality of tables including two or more tables which differ from each other in difference between a longest bit length and a shortest bit length of a plurality of binary values associated with a plurality of data values, according to the position of the current basic block in the current frequency transform block which is the frequency transform block including the current basic block, and binarizes the data value according to the conversion table selected.

Claims (52)

1. A decoder which decodes image information, the decoder comprising:

memory; and

circuitry accessible to the memory,

wherein the circuitry accessible to the memory:

inverse binarizes a binary value which has been obtained by binarizing a data value, according to a conversion table in which a plurality of data values and a plurality of binary values are associated with each other, to decode the image information which includes the data value, the data value indicating the number of non-zero coefficients included in a current basic block which is one of one or more basic blocks in a frequency transform block composed of a plurality of frequency transform coefficients; and

when inverse binarizing the binary value, selects the conversion table from a plurality of tables including two or more tables which differ from each other in difference between a longest bit length and a shortest bit length of a plurality of binary values associated with the plurality of data values, according to a position of the current basic block in the current frequency transform block which is the frequency transform block including the current basic block, and inverse binarizes the binary value according to the conversion table selected.

2. The decoder according to claim 1 ,

wherein, when selecting the conversion table, the circuitry selects the conversion table according to the number of non-zero coefficients included in a preceding basic block which is a basic block located before the current basic block in a predetermined scan order defined in a descending order of frequencies of the one or more basic blocks in the case where the preceding basic block is present at the same frequency level as a frequency level at the position of the current basic block.

3. The decoder according to claim 2 ,

wherein, when selecting the conversion table, the circuitry:

selects, as the conversion table, a first table from the plurality of tables when the preceding basic block is present at the same frequency level and the number of non-zero coefficients included in the preceding basic block is a first number; and

selects, as the conversion table, a second table from the plurality of tables when the preceding basic block is present at the same frequency level and the number of non-zero coefficients included in the preceding basic block is a second number larger than the first number, the second table having a smaller difference between a longest bit length and a shortest bit length of a plurality of binary values than the first table.

4. The decoder according to claim 1 ,

wherein, when selecting the conversion table, the circuitry selects, from the plurality of tables, the conversion table which has a smaller difference between a longest bit length and a shortest bit length of a plurality of binary values than a predetermined difference, in the case where (i) a preceding basic block which is a basic block located before the current basic block in a predetermined scan order defined in a descending order of frequencies of the one or more basic blocks is not present at the same frequency level as a frequency level at the position of the current basic block and (ii) a specific basic block which is a basic block including a non-zero coefficient first in the predetermined scan order is present at a frequency level higher than the frequency level at the position of the current basic block.

5. The decoder according to claim 4 ,

wherein, when selecting the conversion table, the circuitry selects the conversion table which has a smallest difference between a longest bit length and a shortest bit length of a plurality of binary values from the plurality of tables when the preceding basic block is not present at the same frequency level and the specific basic block is present at the frequency level higher than the frequency level at the position of the current basic block.

6. The decoder according to claim 1 ,

wherein, when selecting the conversion table, the circuitry selects the conversion table according to the number of non-zero coefficients estimated to be the number of non-zero coefficients included in the current basic block based on a neighboring frequency transform block which is a frequency transform block located around the current frequency transform block, in the case where (i) a preceding basic block which is a basic block located before the current basic block in a predetermined scan order defined in a descending order of frequencies of the one or more basic blocks is not present at the same frequency level as a frequency level at the position of the current basic block and (ii) a specific basic block which is a basic block including a non-zero coefficient first in the predetermined scan order is not present at a frequency level higher than a frequency level at a position of the current basic block.

7. The decoder according to claim 6 ,

wherein, when selecting the conversion table, the circuitry:

selects a first table as the conversion table from the plurality of tables, when (i) the preceding basic block is not present at the same frequency level, (ii) the specific basic block is not present at the higher frequency level, and (iii) the number of non-zero coefficients estimated to be the number of non-zero coefficients based on the neighboring frequency transform block is a first number; and

selects a second table which has a smaller difference between a longest bit length and a shortest bit length of a plurality of binary values than the first table as the conversion table from the plurality of tables, when (i) the preceding basic block is not present at the same frequency level, (ii) the specific basic block is not present at the higher frequency level, and (iii) the number of non-zero coefficients estimated to be the number of non-zero coefficients based on the neighboring frequency transform block is a second number larger than the first number.

8. The decoder according to claim 6 ,

wherein the neighboring frequency transform block is one of (i) a frequency transform block adjacent to a left of or above the current frequency transform block, (ii) a frequency transform block which has been encoded immediately before the current frequency transform block, and (iii) a frequency transform block which is located within a predetermined range from the current frequency transform block and is the same as the current frequency transform block in coding mode, the coding mode being one of an inter prediction mode and an intra prediction mode.

9. The decoder according to claim 6 ,

wherein the number of non-zero coefficients estimated based on the neighboring frequency transform block is estimated based on one of (i) the number of non-zero coefficients included in a basic block which is one of the one or more basic blocks in the neighboring frequency transform block and whose position relative to the neighboring frequency transform block is equivalent to a position of the current basic block relative to the current frequency transform block and (ii) the number of non-zero coefficients included in an entirety of the neighboring frequency transform block.

10. The decoder according to claim 1 ,

wherein, when selecting the conversion table, the circuitry selects the conversion table according to whether a coding mode of the current basic block is an inter prediction mode or an intra prediction mode, in the case where (i) a preceding basic block which is a basic block located before the current basic block in a predetermined scan order defined in a descending order of frequencies of the one or more basic blocks is not present at the same frequency level as a frequency level at the position of the current basic block and (ii) a specific basic block which is a basic block including a non-zero coefficient first in the predetermined scan order is not present at a frequency level higher than a frequency level at the position of the current basic block.

11. The decoder according to claim 10 ,

wherein, when selecting the conversion table, the circuitry:

selects, as the conversion table, a first table from the plurality of tables when (i) the preceding basic block is not present at the same frequency level, (ii) the specific basic block is not present at the higher level, and (iii) the coding mode of the current basic block is an inter prediction mode; and

selects, as the conversion table, a second table from the plurality of tables when (i) the preceding basic block is not present at the same frequency level, (ii) the specific basic block is not present at the higher level, and (iii) the coding mode for the current basic block is an intra prediction mode, the second table having a smaller difference between a longest bit length and a shortest bit length of a plurality of binary values than the first table.

12. The decoder according to claim 1 ,

wherein, when selecting the conversion table, the circuitry selects the conversion table according to a quantization parameter which is used to encode the current basic block, in the case where (i) a preceding basic block which is a basic block located before the current basic block in a predetermined scan order defined in a descending order of frequencies of the one or more basic blocks is not present at the same frequency level as a frequency level at the position of the current basic block and (ii) a specific basic block which is a basic block including a non-zero coefficient first in the predetermined scan order is not present at a frequency level higher than a frequency level at the position of the current basic block.

13. The decoder according to claim 12 ,

wherein, when selecting the conversion table, the circuitry:

selects a first table as the conversion table from the plurality of tables, when (i) the preceding basic block is not present at the same frequency level, (ii) the specific basic block is not present at the higher frequency level, and (iii) the quantization parameter is a first value; and

selects a second table which has a smaller difference than the first table as the conversion table from the plurality of tables, when (i) the preceding basic block is not present at the same frequency level, (ii) the specific basic block is not present at the higher frequency level, and (iii) the quantization parameter is a second value smaller than the first value, the second table having a smaller difference between a longest bit length and a shortest bit length of a plurality of binary values than the first table.

14. The decoder according to claim 1 ,

wherein the circuitry:

obtains a bitstream in which the image information has been encoded, and decodes the image information;

when obtaining the bitstream and decoding the image information:

obtains the bitstream which includes a binary data string in which the image information has been binarized;

switches whether or not to apply arithmetic decoding to the binary data string which is included in the bitstream;

when arithmetic decoding is applied to the binary data string, applies arithmetic decoding to the binary data string, and inverse binarizes the binary data string to which arithmetic decoding has been applied, to decode the image information; and

when arithmetic decoding is not applied to the binary data string, skips applying arithmetic decoding to the binary data string, and inverse binarizes the binary data string to which arithmetic decoding has not been applied, to decode the image information;

when inverse binarizing the binary data string, inverse binarizes a first portion which is included in the binary data string and in which frequency transform coefficient information related to frequency components of an image has been binarized, according to different inverse binarization formats between when arithmetic decoding is applied to the binary data string and when arithmetic decoding is not applied to the binary data string;

when inverse binarizing the binary data string, inverse binarizes a second portion which is included in the binary data string and in which a part or an entirety of prediction parameter information related to prediction methods of the image has been binarized, according to a common inverse binarization format between when arithmetic decoding is applied to the binary data string and when arithmetic decoding is not applied to the binary data string; and

when inverse binarizing the first portion in the case where arithmetic decoding is not applied to the binary data string, inverse binarizes the binary value included in the first portion, according to the conversion table selected from the plurality of tables based on a position of the current basic block.

15. A decoding method for decoding image information, the decoding method comprising:

inverse binarizing a binary value which has been obtained by binarizing a data value, according to a conversion table in which a plurality of data values and a plurality of binary values are associated with each other, to decode the image information which includes the data value, the data value indicating the number of non-zero coefficients included in a current basic block which is one of one or more basic blocks in a frequency transform block composed of a plurality of frequency transform coefficients; and

in the inverse binarizing of the binary value, selecting the conversion table from a plurality of tables including two or more tables which differ from each other in difference between a longest bit length and a shortest bit length of a plurality of binary values associated with the plurality of data values, according to a position of the current basic block in the current frequency transform block which is the frequency transform block including the current basic block, and inverse binarizing the binary value according to the conversion table selected.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2019
From: ABE, KIYOFUMI; NISHI, TAKAHIRO; HASHIMOTO, TAKASHI; TOMA, TADAMASA
To: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA
Reel/Frame 049719/0783 →
Continuity (3)
Continuation PCTJP2017028397 · Aug 4, 2017
Provisional Application 62373010 · Aug 10, 2016
Related Publication 20190191160A1 · Jun 20, 2019
Cited By (3)
US 12,289,118 US 12,355,979 US 12,423,876