IP Library Granted Patent US 10,904,527
Granted Patent B2
US 10,904,527 · App. 16/911,834 · Granted Jan 26, 2021

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,904,527
App. No.
16/911,834
Granted
Jan 26, 2021
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. An encoder which encodes image information, the encoder comprising:

memory; and

circuitry accessible to the memory,

wherein the circuitry accessible to the memory:

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 composed of a plurality of frequency transform coefficients, according to a conversion table in which a plurality of data values and a plurality of binary values are associated with each other, to encode the image information which includes the data value; and

when binarizing the data 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 binarizes the data value according to the conversion table selected.

2. The encoder 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 encoder 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 encoder 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 encoder 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 encoder 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 encoder 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 encoder 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 encoder 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 encoder 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 encoder 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 encoder 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 encoder 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 encoder according to claim 1 ,

wherein the circuitry:

encodes the image information, and outputs a bitstream in which the image information has been encoded;

when encoding the image information and outputting the bitstream:

binarizes the image information;

switches whether or not to apply arithmetic encoding to a binary data string in which the image information has been binarized;

when arithmetic encoding is applied to the binary data string, applies arithmetic encoding to the binary data string, and outputs the bitstream which includes the binary data string to which arithmetic encoding has been applied; and

when arithmetic encoding is not applied to the binary data string, skips applying arithmetic encoding to the binary data string and outputs the bitstream which includes the binary data string to which arithmetic encoding has not been applied, and

when binarizing the image information, binarizes frequency transform coefficient information which is related to frequency components of an image and included in the image information, according to different binarization formats between when arithmetic encoding is applied to the binary data string and when arithmetic encoding is not applied to the binary data string;

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

when binarizing the frequency transform coefficient information in the case where arithmetic encoding is not applied to the binary data string, binarizes the data value included in the frequency transform coefficient information, according to the conversion table selected from the plurality of tables based on the position of the current basic block.

15. An encoding method for encoding image information, the encoding method comprising:

binarizing 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 composed of a plurality of frequency transform coefficients, according to a conversion table in which a plurality of data values and a plurality of binary values are associated with each other, to encode the image information which includes the data value; and

in the binarizing of the data 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 binarizing the data value according to the conversion table selected.

Continuity (4)
Continuation 16268979 · Feb 6, 2019
Continuation PCTJP2017028397 · Aug 4, 2017
Provisional Application 62373010 · Aug 10, 2016
Related Publication 20200329243A1 · Oct 15, 2020
Cited By (1)
US 12,423,876