IP Library › Granted Patent US 10,277,900
Granted Patent B2
US 10,277,900 · App. 15/438,357 · Granted Apr 30, 2019

Encoding device, decoding device, encoding method, and decoding method for coding efficiency

Inventors: Akiyuki Tanizawa (Kanagawa, JP); Takeshi Chujoh (Kanagawa, JP)
Assignee: Kabushiki Kaisha Toshiba
H04N19/13H04N19/105H04N19/147H04N19/15H04N19/176H04N19/196H04N19/44H04N19/463H04N19/513H04N19/547H04N19/577H04N19/61H04N19/625H04N19/70H04N19/182H04N19/184H04N19/186
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,277,900
App. No.
15/438,357
Granted
Apr 30, 2019
Kind
B2
Abstract

According to an embodiment, an encoding device includes a deriving unit and an encoding unit. The deriving unit is configured to derive a first reference value based on fixed point precision representing roughness of a weighting factor that is used for multiplying a reference image. The encoding unit is configured to encode a first difference value that is a difference value between the weighting factor and the first reference value and the fixed point precision. The weighting factor is included in a first range of predetermined bit precision having the first reference value at approximate center. The first difference value is in the predetermined range.

Claims (114)

1. An electronic apparatus, comprising

input circuitry configured to input encoded data; and

decoder circuitry coupled to the input circuity and configured to:

decode a first denom for a luma weighting factor of a target image from the encoded data;

decode a first difference value that is equal to a value of a difference between the first denom and a second denom for a chroma weighting factor of the target image from the encoded data;

derive the second denom by adding the first denom and the first difference value;

derive a first reference value of the luma weighting factor according to the first denom, wherein the first reference value is equal to a value obtained by left shift of “1” by at least one binary digit specified by the first denom, and;

decode a second difference value of the luma weighting factor from the encoded data, wherein the second difference value is equal to a value of a difference between the luma weighting factor and the first reference value, and the second difference value is in a fixed range of −128 to +127 regardless of the first;

derive the luma weighting factor by adding the first reference value and the second difference value, wherein the luma weighting factor is in a range of (the first reference value−128) to (the first reference value+127);

derive a second reference value of the chroma weighting factor according to the second denom, wherein the second reference value is equal to a value obtained by left shift of “1” by at least one binary digit specified by the second denom;

decode a third difference value of the chroma weighting factor from the encoded data, wherein the third difference value is equal to a value of a difference between the chroma weighting factor and the second reference value, wherein the third difference value is in a fixed range of −128 to +127 regardless of the second denom; and

derive the chroma weighting factor by adding the second reference value and the third difference value, wherein the chroma weighting factor is in a range of (the second reference value−128) to (the second reference value+127),

wherein the decoder circuitry is further configured to:

derive a third reference value of a chroma offset of the target image by subtracting a value obtained by both multiplying a median value of a maximum pixel value by the chroma weighting factor and shifting to right for the at least one binary digit specified by the second denom, from the median value;

decode a fourth difference value of the chroma offset from the encoded data, wherein the fourth difference value is equal to a value of a difference between the chroma offset and the second reference value, wherein the fourth difference value is in a fixed range of −2 n to +2 n −1; and

derive the chroma offset by adding the third reference value and the fourth difference value, wherein the chroma offset is in a range of (the third reference value−2 n ) to (the third reference value+2 n −1).

2. The electronic apparatus according to claim 1 , wherein

the value obtained by left shift of “1” by the at least one binary digit specified by the first denom is equal to a specific luma weighting factor used if the target image had no difference in luma from a reference image; and

the value obtained by left shift of “1” by the at least one binary digit specified by the second denom is equal to a specific chroma weighting factor used if the target image had no difference in chroma from the reference image.

3. The electronic apparatus according to claim 1 , wherein

the decoder circuitry is further configured to:

decode a luma offset of the target image from the encoded data;

derive a predicted luma value by using at least multiplication of a luma component of a reference image by the luma weighting factor, right shift by the at least one binary digit specified by the first denom, and addition of the luma offset; and

derive a predicted chroma value by using at least multiplication of a chroma component of the reference image by the chroma weighting factor, right shift by the at least one binary digit specified by the second denom, and addition of the chroma offset.

4. The electronic apparatus according to claim 3 , wherein

the decoder circuitry is further configured to:

decode a transform coefficient from the encoded data;

derive a prediction error value by using at least an inverse transform of the transform coefficient; and

derive a decoded image by using at least the prediction error value, the predicted luma value, and the predicted chroma value.

5. The electronic apparatus according to claim 3 , wherein

the decoder circuitry is further configured to:

decode a motion vector from the encoded data; and

determine the reference image based on the motion vector.

6. The electronic apparatus according to claim 1 , further comprising:

receiver circuitry configured to receive the encoded data via a communication link; and

a buffer configured to temporarily store at least part of the encoded data, wherein

the decoder circuitry is further configured to:

read at least part of the encoded data form the buffer; and

decode parameters in the encoded data, and

the decoder circuitry is a Central Processing Unit (CPU).

7. The electronic apparatus according to claim 1 , further comprising:

receiver circuitry configured to receive the encoded data via a communication link; and

a buffer configured to temporarily store at least part of the encoded data, wherein

the decoder circuitry is further configured to:

read at least part of the encoded data form the buffer; and

decode parameters in the encoded data, and

the decoder circuitry is a Digital Signal Processor (DSP) or a Field Programmable Gate Array (FPGA).

8. A decoding method, comprising:

inputting encoded data;

decoding, by decoder circuitry, a first denominator for a luma weighting factor of a target image from the encoded data;

decoding, by the decoder circuitry, a first difference value that is equal to a value of a difference between the first denom and a second denom for a chroma weighting factor of the target image from the encoded data;

deriving, by the decoder circuitry, the second denom by adding the first denom and the first difference value;

deriving, by the decoder circuitry, a first reference value of the luma weighting factor according to the first denom, wherein the first reference value is equal to a value obtained by left shift of “1” by at least one binary digit specified by the first denom, and

decoding, by the decoder circuitry, a second difference value of the luma weighting factor from the encoded data, wherein the second difference value is equal to a value of a difference between the luma weighting factor and the first reference value, wherein the second difference value is in a fixed range of −128 to +127 regardless of the first denom;

deriving, by the decoder circuitry, the luma weighting factor by adding the first reference value and the second difference value, wherein the luma weighting factor is in a range of (the first reference value−128) to (the first reference value+127);

deriving, by the decoder circuitry, a second reference value of the chroma weighting factor according to the second denom, wherein the second reference value is equal to a value obtained by left shift of “1” by at least one binary digit specified by the second denom;

decode a third difference value of the chroma weighting factor from the encoded data, wherein the third difference value is equal to a value of a difference between the chroma weighting factor and the second reference value, wherein the third difference value is in a fixed range of −128 to +127 regardless of the second denominator;

deriving, by the decoder circuitry, the chroma weighting factor by adding the second reference value and the third difference value, wherein the chroma weighting factor is in a range of (the second reference value−128) to (the second reference value+127);

deriving, by the decoder circuitry, a third reference value of a chroma offset of the target image by subtracting a value obtained by both multiplying a median value of a maximum pixel value by the chroma weighting factor and shifting to right for the at least one binary digit specified by the second denom, from the median value;

decoding, by the decoder circuitry, a fourth difference value of the chroma offset from the encoded data, wherein the fourth difference value is equal to a value of a difference between the chroma offset and the second reference value, and the fourth difference value is in a fixed range of −2 n to +2 n −1; and

deriving, by the decoder circuitry, the chroma offset by adding the third reference value and the fourth difference value, wherein the chroma offset is in a range of (the third reference value−2 n ) to (the third reference value+2 n −1).

9. The decoding method according to claim 8 , wherein

the value obtained by left shift of “1” by the at least one binary digit specified by the first denom is equal to a specific luma weighting factor used if the target image had no difference in luma from a reference image; and

the value obtained by left shift of “1” by the at least one binary digit specified by the second denom is equal to a specific chroma weighting factor used if the target image had no difference in chroma from the reference image.

10. The decoding method according to claim 8 , further comprising:

decoding, by the decoder circuitry, a luma offset of the target image from the encoded data;

deriving, by the decoder circuitry, a predicted luma value by using at least multiplication of a luma component of a reference image by the luma weighting factor, right shift by the at least one binary digit specified by the first denom, and addition of the luma offset; and

deriving, by the decoder circuitry, a predicted chroma value by using at least multiplication of a chroma component of the reference image by the chroma weighting factor, right shift by the at least one binary digit specified by the second denom, and addition of the chroma offset.

11. The decoding method according to claim 10 , further comprising:

decoding, by the decoder circuitry, a transform coefficient from the encoded data;

deriving, by the decoder circuitry, a prediction error value by using at least an inverse transform of the transform coefficient; and

deriving, by the decoder circuitry, a decoded image by using at least the prediction error value, the predicted luma value, and the predicted chroma value.

12. The decoding method according to claim 10 , further comprising:

decoding, by the decoder circuitry, a motion vector from the encoded data; and

determining, by the decoder circuitry, the reference image based on the motion vector.

13. The decoding method according to claim 8 , further comprising:

receiving, by receiver circuitry, encoded data via a communication link;

temporarily storing, by a buffer, at least part of the encoded data;

reading, by the decoder circuitry, at least part of the encoded data form the buffer; and

decoding, by the decoder circuitry, parameters in the encoded data, and

the decoder circuitry is a Central Processing Unit (CPU).

14. The decoding method according to claim 8 , further comprising:

receiving, by receiver circuitry, encoded data via a communication link;

temporarily storing, by a buffer, at least part of the encoded data;

reading, by the decoder circuitry, at least part of the encoded data form the buffer; and

decoding, by the decoder circuitry, parameters in the encoded data, and

the decoder circuitry is a Digital Signal Processor (DSP) or a Field Programmable Gate Array (FPGA).

15. A non-transitory computer readable medium storing computer executable instructions that, when executed by decoder circuitry, cause the decoder circuitry to perform a method comprising:

decoding a first denominator for a luma weighting factor of a target image from encoded data;

decoding a first difference value that is equal to a value of a difference between the first denom and a second denom for a chroma weighting factor of the target image from the encoded data;

deriving the second denom by adding the first denom and the first difference value;

deriving a first reference value of the luma weighting factor according to the first denom, wherein the first reference value is equal to a value obtained by left shift of “1” by at least one binary digit specified by the first denom;

decoding a second difference value of the luma weighting factor from the encoded data, wherein the second difference value is equal to a value of a difference between the luma weighting factor and the first reference value, wherein the second difference value is in a fixed range of −128 to +127 regardless of the first denom;

deriving the luma weighting factor by adding the first reference value and the second difference value, wherein the luma weighting factor is in a range of (the first reference value−128) to (the first reference value+127);

deriving a second reference value of the chroma weighting factor according to the second denom, wherein the second reference value is equal to a value obtained by left shift of “1” by at least one binary digit specified by the second denom;

decoding a third difference value of the chroma weighting factor from the encoded data, wherein the third difference value is equal to a value of a difference between the chroma weighting factor and the second reference value, wherein the third difference value is in a fixed range of −128 to +127 regardless of the second denom;

deriving the chroma weighting factor by adding the second reference value and the third difference value, wherein the chroma weighting factor is in a range of (the second reference value−128) to (the second reference value+127);

deriving a third reference value of a chroma offset of the target image by subtracting a value obtained by both multiplying a median value of a maximum pixel value by the chroma weighting factor and shifting to right for the at least one binary digit specified by the second denom, from the median value;

decoding a fourth difference value of the chroma offset from the encoded data, wherein the fourth difference value is equal to a value of a difference between the chroma offset and the second reference value, wherein the fourth difference value is in a fixed range of −2 n to +2 n −1; and

deriving the chroma offset by adding the third reference value and the fourth difference value, wherein the chroma offset is in a range of (the third reference value−2 n ) to (the third reference value+2 n −1).

16. The non-transitory computer readable medium according to claim 15 , wherein

the value obtained by left shift of “1” by the at least one binary digit specified by the first denom is equal to a specific luma weighting factor used if the target image had no difference in luma from a reference image; and

the value obtained by left shift of “1” by the at least one binary digit specified by the second denom is equal to a specific chroma weighting factor used if the target image had no difference in chroma from the reference image.

17. The non-transitory computer readable medium according to claim 15 , further comprising:

decode a luma offset of the target image from the encoded data;

derive a predicted luma value by using at least multiplication of a luma component of a reference image by the luma weighting factor, right shift by the at least one binary digit specified by the first denom, and addition of the luma offset; and

derive a predicted chroma value by using at least multiplication of a chroma component of the reference image by the chroma weighting factor, right shift by the at least one binary digit specified by the second denom, and addition of the chroma offset.

18. The non-transitory computer readable medium according to claim 17 , further comprising

decode a transform coefficient from the encoded data;

derive a prediction error value by using at least an inverse transform of the transform coefficient; and

derive a decoded image by using at least the prediction error value, the predicted luma value, and the predicted chroma value.

19. The non-transitory computer readable medium according to claim 17 , further comprising:

decode a motion vector from the encoded data; and

determine the reference image based on the motion vector.

Continuity (4)
Continuation 14725941 · May 29, 2015
Continuation 14026727 · Sep 13, 2013
Continuation PCTJP2012066410 · Jun 27, 2012
Related Publication 20170163998A1 · Jun 8, 2017