IP Library Granted Patent US 11,949,903
Granted Patent B2
US 11,949,903 · App. 17/844,673 · Granted Apr 2, 2024

Image decoding method and image decoding apparatus using candidate motion vectors

Inventors: Toshiyasu Sugio (Osaka, JP); Takahiro Nishi (Nara, JP); Youji Shibahara (Tokyo, JP); Kyoko Tanikawa (Osaka, JP); Hisao Sasai (Osaka, JP); Toru Matsunobu (Osaka, JP)
Assignee: SUN PATENT TRUST
H04N19/513H04N19/105H04N19/107H04N19/52H04N19/56H04N19/503
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 11,949,903
App. No.
17/844,673
Filed
Jun 20, 2022
Granted
Apr 2, 2024
Kind
B2
Art Unit
2485
USPC
375/240.16
Abstract

A decoding method and apparatus are provided. A first candidate having a first motion vector that has been used to decode a first block, a first prediction direction that corresponds to the first motion vector, and a first reference picture index that identifies a first reference picture is derived. A second candidate having a second motion vector that has been used to decode a second block, a second prediction direction that corresponds to the second motion vector, and a second reference picture index that identifies a second reference picture is derived. When a total number of candidates is less than a maximum number, a third candidate is derived by combining the first motion vector and the first reference picture index for the first prediction direction of the first candidate and the second motion vector and the second reference picture index for the second prediction direction of the second candidate.

Claims (57)

1. An image coding system, comprising:

an encoding apparatus that encodes a current block, the image encoding apparatus including:

a processor;

a memory storing instructions, which when executed by the processor cause the apparatus to:

encode information in a slice header indicative of a maximum number of merging candidates, wherein the slice header corresponds to a slice containing a plurality of blocks including the current block;

derive a plurality of merging candidates for encoding the current block from a corresponding plurality of blocks that are neighbor or co-located blocks of the current block, each of the plurality of merging candidates having a motion vector for encoding a corresponding one of the plurality of blocks, a prediction direction that corresponds to the corresponding one of the plurality of blocks, and a reference picture index that identifies a reference picture corresponding to the corresponding one of the plurality of blocks;

determine whether a number of the plurality of merging candidates for encoding the current block is less than the maximum number of merging candidates;

when it is determined that the number of the plurality of merging candidates for encoding the current block is less than the maximum number of merging candidates, derive at least one combined candidate for bi-directional prediction, by:

assigning the motion vector and the reference picture index of a first merging candidate of the plurality of merging candidates for encoding the current block to a first prediction direction of the at least one combined candidate; and

assigning the motion vector and the reference picture index of a second merging candidate of the plurality of merging candidates for encoding the current block to a second prediction direction of the at least one combined candidate;

select a candidate from the plurality of merging candidates and the at least one combined candidate;

encode an index corresponding to the selected candidate, wherein the maximum number of merging candidates is used to encode the index; and

encode the current block using the selected candidate; and

an image decoding apparatus that decodes the current block, the image decoding apparatus including:

a processor;

a memory storing instructions, which when executed by the processor cause the apparatus to:

decode information from the slice header indicative of a maximum number of merging candidates;

derive a plurality of merging candidates for decoding the current block from a corresponding plurality of blocks that are neighbor or co-located blocks of the current block, each of the plurality of merging candidates for decoding the current block having a motion vector for decoding a corresponding one of the plurality of blocks, a prediction direction that corresponds to the motion vector for decoding the corresponding one of the plurality of blocks, and a reference picture index that identifies a reference picture corresponding to the motion vector for decoding the corresponding one of the plurality of blocks;

determine whether a number of the plurality of merging candidates for decoding the current block is less than the maximum number of merging candidates;

when it is determined that the number of the plurality of merging candidates for decoding the current block is less than the maximum number of merging candidates, derive a combined merging candidate for bi-directional prediction for decoding the current block, whereby the memory comprises instructions which, when executed by the processor cause the apparatus to:

assign the motion vector for decoding the corresponding block and the reference picture index of a first merging candidate of the plurality of merging candidates for decoding the current block to a first prediction direction of the combined merging candidate for decoding the current block; and

assign the motion vector for decoding the corresponding block and the reference picture index of a second merging candidate of the plurality of merging candidates for decoding the current block to a second prediction direction of the combined merging candidate for decoding the current block; and

decode the current block using a candidate selected from the plurality of merging candidates and the combined merging candidate.

2. The image coding system according to claim 1 , wherein the prediction direction of the first merging candidate of the plurality of merging candidates for encoding the current block is different from the prediction direction of the second merging candidate of the plurality of merging candidates for encoding the current block.

3. The image coding system according to claim 2 , wherein the prediction direction of the first merging candidate of the plurality of merging candidates for decoding the current block is different from the prediction direction of the second merging candidate of the plurality of merging candidates for decoding the current block.

4. The image coding system according to claim 1 , wherein deriving the plurality of merging candidates for encoding the current block and deriving the plurality of merging candidates for decoding the current block include removing any derived merging candidate that is identical to another derived merging candidate from the plurality of merging candidates before determining whether the number of the plurality of merging candidates is less than the maximum number of merging candidates.

5. The image coding system according to claim 1 , wherein deriving the plurality of merging candidates for encoding the current block and deriving the plurality of merging candidates for decoding the current block include removing an unusable-for-merging candidate from the plurality of merging candidates before determining whether the number of the plurality of merging candidates is less than the maximum number of merging candidates.

6. The image coding system according to claim 1 , wherein the first merging candidate for encoding the current block and the first merging candidate for decoding the current block each corresponds to one of a spatial neighboring block of the current block or a co-located block of the current block.

7. The image coding system according to claim 1 , wherein the second merging candidate for encoding the current block and the second merging candidate for decoding the current block each corresponds to one of a spatial neighboring block of the current block or a co-located block of the current block.

8. The image coding system according to claim 1 , wherein the first merging candidate for encoding the current block and the first merging candidate for decoding the current block each corresponds to a spatial neighboring block of the current block and the second merging candidate for encoding the current block and the second merging candidate for decoding the current block each corresponds to a co-located block of the current block.

9. The image coding system according to claim 1 , wherein one of the first merging candidate for encoding the current block and the first merging candidate for decoding the current block or the second merging candidate for encoding the current block and the second merging candidate for decoding the current block correspond to a co-located block of the current block coded using bi-directional prediction.

10. The image coding system according to claim 1 , wherein the instructions of the image decoding apparatus, which when executed by the processor cause the image decoding apparatus to decode the index corresponding to the selected candidate, and the maximum number is used to decode the index from a bitstream.

11. An image coding method for coding a current block, the image coding method comprising:

encoding information in a slice header indicative of a maximum number of merging candidates, wherein the slice header corresponds to a slice containing a plurality of blocks including the current block;

deriving a plurality of merging candidates for encoding the current block from a corresponding plurality of blocks that are neighbor or co-located blocks of the current block, each of the plurality of merging candidates having a motion vector for encoding a corresponding one of the plurality of blocks, a prediction direction that corresponds to the corresponding one of the plurality of blocks, and a reference picture index that identifies a reference picture corresponding to the corresponding one of the plurality of blocks;

determining whether a number of the plurality of merging candidates is less than the maximum number of merging candidates;

when it is determined that the number of the plurality of merging candidates is less than the maximum number of merging candidates, deriving at least one combined candidate for bi-directional prediction, by:

assigning, the motion vector and the reference picture index of a first merging candidate of the plurality of merging candidates, to a first prediction direction of the at least one combined candidate, and

assigning, the motion vector and the reference picture index of a second merging candidate of the plurality of merging candidates, to a second prediction direction of the at least one combined candidate;

selecting a candidate from the plurality of merging candidates and the at least one combined candidate;

encoding an index corresponding to the selected candidate, wherein the maximum number of merging candidates is used to encode the index;

encoding the current block by using the selected candidate; and

decoding the information from the slice header indicative of the maximum number of merging candidates;

deriving the plurality of merging candidates for decoding the current block;

determining whether the number of the plurality of merging candidates for decoding the current block is less than the maximum number of merging candidates;

when it is determined that the number of the plurality of merging candidates is less than the maximum number of merging candidates, deriving the combined merging candidate for bi-directional prediction for decoding the current block, by:

assigning the motion vector and the reference picture index of the first merging candidate of the plurality of merging candidates to the first prediction direction of the combined merging candidate; and

assigning the motion vector and the reference picture index of a second merging candidate of the plurality of merging candidates, to the second prediction direction of the combined merging candidate; and

decoding the current block using the candidate selected from the plurality of merging candidates and the combined merging candidate.

12. The image coding method according to claim 11 , wherein the prediction direction of the first merging candidate is different from the prediction direction of the second merging candidate.

13. The image coding method according to claim 11 , wherein deriving the plurality of merging candidates includes removing any derived merging candidate that is identical to another derived merging candidate from the plurality of merging candidates before determining whether the number of the plurality of merging candidates is less than the maximum number of merging candidates.

14. The image coding method according to claim 11 , wherein deriving the plurality of merging candidates includes removing an unusable-for-merging candidate from the plurality of merging candidates before determining whether the number of the plurality of merging candidates is less than the maximum number of merging candidates.

15. The image coding method according to claim 11 , wherein the first merging candidate corresponds to one of a spatial neighboring block of the current block or a co-located block of the current block.

16. The image coding method according to claim 11 , wherein the second merging candidate corresponds to one of a spatial neighboring block of the current block or a co-located block of the current block.

17. The image coding method according to claim 11 , wherein the first merging candidate corresponds to a spatial neighboring block of the current block and the second merging candidate corresponds to a co-located block of the current block.

18. The image coding method according to claim 11 , wherein the-first merging candidate or the second merging candidate corresponds to a co-located block of the current block coded using bi-directional prediction.

19. The image coding method according to claim 11 , further comprising decoding the index corresponding to the selected candidate, wherein the maximum number is used to decode the index from a bitstream.