IP Library › Granted Patent US 10,812,793
Granted Patent B2
US 10,812,793 · App. 16/726,370 · Granted Oct 20, 2020

Encoder, decoder, encoding method, and decoding method

Inventors: Kiyofumi Abe (Osaka, JP); Takahiro Nishi (Nara, JP); Tadamasa Toma (Osaka, JP); Ryuichi Kanoh (Osaka, JP)
Assignee: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA
H04N19/105H04N19/159H04N19/176H04N19/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,812,793
App. No.
16/726,370
Granted
Oct 20, 2020
Kind
B2
Abstract

An encoder includes memory and circuitry. The circuitry, using the memory, (i) selects a mode from among a plurality of modes each for deriving a motion vector, and derives a motion vector for a current block via the selected mode, and (ii) performs inter prediction encoding on the current block, using the derived motion vector, via one of a skip mode and a non-skip mode different from the skip mode. The plurality of modes include a plurality of first modes each for predicting the motion vector for the current block based on an encoded block neighboring the current block without encoding information indicating a motion vector into a stream. When a second mode included in the plurality of first modes is selected, the current block is encoded via the non-skip mode regardless of presence or absence of a residual coefficient.

Claims (80)

1. An encoder, comprising:

circuitry; and

memory,

wherein using the memory, the circuitry:

selects a mode from among a plurality of modes each for deriving a motion vector, and derives a motion vector for a current block via the mode selected, the plurality of modes including a plurality of first modes each for predicting the motion vector for the current block based on an encoded block neighboring the current block without encoding information indicating a motion vector into a stream, the plurality of first modes including a second mode and a third mode;

calculates a plurality of residual coefficients of the current block using the derived motion vector;

when the second mode is selected,

(i) determines whether a residual coefficient having a nonzero value is included in the plurality of residual coefficients of the current block,

(ii) when the residual coefficient having the nonzero value is determined to be included in the plurality of residual coefficients of the current block, encodes the current block via a non-skip mode that is different from a skip mode, and encodes the plurality of residual coefficients, and

(iii) when the residual coefficient having the nonzero value is determined to not be included in the plurality of residual coefficients of the current block, encodes the current block via the non-skip mode without encoding the plurality of residual coefficients; and

when the third mode is selected

(i) determines whether the residual coefficient having the nonzero value is included in the plurality of residual coefficients of the current block,

(ii) when the residual coefficient having the nonzero value is determined to be included in the plurality of residual coefficients of the current block, encodes the current block via the non-skip mode, and encodes the plurality of residual coefficients, and

(iii) when the residual coefficient having the nonzero value is determined to not be included in the plurality of residual coefficients of the current block, encodes the current block via the skip mode without encoding the plurality of residual coefficients.

2. The encoder according to claim 1 , wherein

the second mode is a mode for predicting a motion vector corresponding to affine transformation, based on the encoded block neighboring the current block.

3. The encoder according to claim 1 , wherein

the third mode is one of a frame rate up-conversion (FRUC) mode and a merge mode.

4. The encoder according to claim 1 , wherein

using the memory, the circuitry further

when the second mode is selected, encodes information indicating whether the residual coefficient having the nonzero value is included in the plurality of residual coefficients of the current block.

5. The encoder according to claim 1 , wherein

using the memory, the circuitry further:

selects whether to perform, on the current block, a luminance correction process by which a luminance average value of a prediction image is corrected using a correction value that is predicted from a luminance value of the encoded block neighboring the current block;

when the second mode is selected and when the luminance correction process is performed on the current block, the current block is encoded via the non-skip mode; and

when the third mode is selected and when the luminance correction process is performed on the current block, the current block is encoded via the non-skip mode.

6. The encoder according to claim 5 , wherein

using the memory, the circuitry further

encodes information indicating the presence or absence of a residual coefficient when the luminance correction process is performed on the current block.

7. A decoder, comprising:

circuitry; and

memory, wherein

using the memory, the circuitry:

selects a mode from among a plurality of modes each for deriving a motion vector, and derives a motion vector for a current block via the mode selected, the plurality of modes including a plurality of first modes each for predicting the motion vector for the current block based on a decoded block neighboring the current block without decoding information indicating a motion vector from a stream, the plurality of first modes including a second mode and a third mode different from the second mode;

calculates a plurality of residual coefficients of the current block using the derived motion vector;

when the second mode is selected,

(i) determines whether a residual coefficient having a nonzero value is included in the plurality of residual coefficients of the current block,

(ii) when the residual coefficient having the nonzero value is determined to be included in the plurality of residual coefficients of the current block, decodes the current block via a non-skip mode that is different from a skip mode, and decodes the plurality of residual coefficients, and

(iii) when the residual coefficient having the nonzero value is determined to not be included in the plurality of residual coefficients of the current block, decodes the current block via the non-skip mode without decoding the plurality of residual coefficients; and

when the third mode is selected

(i) determines whether the residual coefficient having the nonzero value is included in the plurality of residual coefficients of the current block,

(ii) when the residual coefficient having the nonzero value is determined to be included in the plurality of residual coefficients of the current block, decodes the current block via the non-skip mode, and decodes the plurality of residual coefficients, and

(iii) when the residual coefficient having the nonzero value is determined to not be included in the plurality of residual coefficients of the current block, decodes the current block via the skip mode without decoding the plurality of residual coefficients.

8. The decoder according to claim 7 , wherein

the second mode is a mode for predicting a motion vector corresponding to affine transformation, based on the decoded block neighboring the current block.

9. The decoder according to claim 7 , wherein

the third mode is one of a frame rate up-conversion (FRUC) mode and a merge mode.

10. The decoder according to claim 7 , wherein

using the memory, the circuitry further

when the second mode is selected, decodes information indicating whether the residual coefficient having the nonzero value is included in the plurality of residual coefficients of the current block.

11. The decoder according to claim 7 , wherein

using the memory, the circuitry further:

selects whether to perform, on the current block, a luminance correction process by which a luminance average value of a prediction image is corrected using a correction value that is predicted from a luminance value of the decoded block neighboring the current block;

when the second mode is selected and when the luminance correction process is performed on the current block, the current block is decoded via the non-skip mode; and

when the third mode is selected and when the luminance correction process is performed on the current block, the current block is decoded via the non-skip mode.

12. The decoder according to claim 11 , wherein

using the memory, the circuitry further

decodes information indicating the presence or absence of a residual coefficient when the luminance correction process is performed on the current block.

13. An encoding method, comprising:

selecting a mode from among a plurality of modes each for deriving a motion vector, and deriving a motion vector for a current block via the mode selected, the plurality of modes include a plurality of first modes each for predicting the motion vector for the current block based on an encoded block neighboring the current block without encoding information indicating a motion vector into a stream, the plurality of first modes including a second mode and a third mode different from the second mode;

calculating a plurality of residual coefficients of the current block using the derived motion vector;

when the second mode is selected,

(i) determining whether a residual coefficient having a nonzero value is included in the plurality of residual coefficients of the current block,

(ii) when the residual coefficient having the nonzero value is determined to be included in the plurality of residual coefficients of the current block, encoding the current block via a non-skip mode that is different from a skip mode, and encoding the plurality of residual coefficients, and

(iii) when the residual coefficient having the nonzero value is determined to not be included in the plurality of residual coefficients of the current block, encoding the current block via the non-skip mode without encoding the plurality of residual coefficients; and

when the third mode is selected

(i) determining whether the residual coefficient having the nonzero value is included in the plurality of residual coefficients of the current block,

(ii) when the residual coefficient having the nonzero value is determined to be included in the plurality of residual coefficients of the current block, encoding the current block via the non-skip mode, and encoding the plurality of residual coefficients, and

(iii) when the residual coefficient having the nonzero value is determined to not be included in the plurality of residual coefficients of the current block, encoding the current block via the skip mode without encoding the plurality of residual coefficients.

14. A decoding method, comprising:

selecting a mode from among a plurality of modes each for deriving a motion vector, and deriving a motion vector for a current block via the mode selected, the plurality of modes including a plurality of first modes each for predicting the motion vector for the current block based on a decoded block surrounding the current block without decoding information indicating a motion vector from a stream, the plurality of first modes including a second mode and a third mode different from the second mode;

calculating a plurality of residual coefficients of the current block using the derived motion vector;

when the second mode is selected,

(i) determining whether a residual coefficient having a nonzero value is included in the plurality of residual coefficients of the current block,

(ii) when the residual coefficient having the nonzero value is determined to be included in the plurality of residual coefficients of the current block, decoding the current block via a non-skip mode that is different from a skip mode, and decoding the plurality of residual coefficients, and

(iii) when the residual coefficient having the nonzero value is determined to not be included in the plurality of residual coefficients of the current block, decoding the current block via the non-skip mode without decoding the plurality of residual coefficients; and

when the third mode is selected

(i) determining whether the residual coefficient having the nonzero value is included in the plurality of residual coefficients of the current block,

(ii) when the residual coefficient having the nonzero value is determined to be included in the plurality of residual coefficients of the current block, decoding the current block via the non-skip mode, and decoding the plurality of residual coefficients, and

(iii) when the residual coefficient having the nonzero value is determined to not be included in the plurality of residual coefficients of the current block, decoding the current block via the skip mode without decoding the plurality of residual coefficients.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2020
From: ABE, KIYOFUMI; NISHI, TAKAHIRO; TOMA, TADAMASA; KANOH, RYUICHI
To: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA
Reel/Frame 052129/0649 →
Continuity (3)
Continuation PCTJP2018023207 · Jun 19, 2018
Provisional Application 62525004 · Jun 26, 2017
Related Publication 20200145651A1 · May 7, 2020