US-12627834-B2 - Encoder, decoder, encoding method, and decoding method
Abstract
An encoder which includes circuitry and memory. Using the memory, the circuitry generates a list which includes candidates for a first motion vector for a first partition. The list has a maximum list size and an order of the candidates, and at least one of the maximum list size or the order of the candidates is dependent on at least one of a partition size or a partition shape of the first partition. The circuitry selects the first motion vector from the candidates included in the list; encodes an index indicating the first motion vector among the candidates in the list into the bitstream based on the maximum list size; and generates the predicted image for the first partition using the first motion vector.
Inventors
- Chong Soon Lim
- Ryuichi KANOH
- Hai Wei Sun
- Sughosh Pavan SHASHIDHAR
- Han Boon Teo
- Ru Ling LIAO
- Jing Ya LI
- Tadamasa Toma
- Takahiro Nishi
- Kiyofumi Abe
Assignees
- PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA
Dates
- Publication Date
- 20260512
- Application Date
- 20241213
Claims (5)
- 1 . An encoder which encodes a video into a bitstream using a predicted image, the encoder comprising: circuitry; and memory, wherein, using the memory, the circuitry: derives a maximum number based on a partition shape of a first partition in the video, the maximum number being a first number when the partition shape is a square or a rectangle, and the maximum number being a second number different from the first number when the partition shape is a non-square and a non-rectangle; generates a motion vector candidate list including a plurality of candidates equal to the derived maximum number, the plurality of candidates being for a first motion vector for the first partition, and the plurality of candidates including a candidate which is derived from a second motion vector of a second partition in the video different from the first partition; selects the first motion vector from the plurality of candidates in the motion vector candidate list; encodes an index indicating the first motion vector among the plurality of candidates in the motion vector candidate list into the bitstream based on the maximum number; and generates the predicted image for the first partition using the first motion vector, wherein the second partition is a partition which neighbors the first partition.
- 2 . A decoder which decodes a video from a bitstream using a predicted image, the decoder comprising: circuitry; and memory, wherein, using the memory, the circuitry: derives a maximum number based on a partition shape of a first partition in the video, the maximum number being a first number when the partition shape is a square or a rectangle, and the maximum number being a second number different from the first number when the partition shape is a non-square and a non-rectangle; generates a motion vector candidate list including a plurality of candidates equal to the derived maximum number, the plurality of candidates being for a first motion vector for the first partition, and the plurality of candidates including a candidate which is derived from a second motion vector of a second partition in the video different from the first partition; decodes an index indicating the first motion vector among the plurality of candidates in the motion vector candidate list from the bitstream based on the maximum number; selects the first motion vector from the plurality of candidates in the motion vector candidate list using the index; and generates the predicted image for the first partition using the first motion vector, wherein the second partition is a partition which neighbors the first partition.
- 3 . An encoding method of encoding a video into a bitstream using a predicted image, the encoding method comprising: deriving a maximum number based on a partition shape of a first partition in the video, the maximum number being a first number when the partition shape is a square or a rectangle, and the maximum number being a second number different from the first number when the partition shape is a non-square and a non-rectangle; generating a motion vector candidate list including a plurality of candidates equal to the derived maximum number, the plurality of candidates being for a first motion vector for the first partition, and the plurality of candidates including a candidate which is derived from a second motion vector of a second partition in the video different from the first partition; selecting the first motion vector from the plurality of candidates in the motion vector candidate list; encoding an index indicating the first motion vector among the plurality of candidates in the motion vector candidate list into the bitstream based on the maximum number; and generating the predicted image for the first partition using the first motion vector, wherein the second partition is a partition which neighbors the first partition.
- 4 . A decoding method of decoding a video from a bitstream using a predicted image, the decoding method comprising: deriving a maximum number based on a partition shape of a first partition in the video, the maximum number being a first number when the partition shape is a square or a rectangle, and the maximum number being a second number different from the first number when the partition shape is a non-square and a non-rectangle; generating a motion vector candidate list including a plurality of candidates equal to the derived maximum number, the plurality of candidates being for a first motion vector for the first partition, and the plurality of candidates including a candidate which is derived from a second motion vector of a second partition in the video different from the first partition; decoding an index indicating the first motion vector among the plurality of candidates in the motion vector candidate list from the bitstream based on the maximum number; selecting the first motion vector from the plurality of candidates in the motion vector candidate list using the index; and generating the predicted image for the first partition using the first motion vector, wherein the second partition is a partition which neighbors the first partition.
- 5 . A non-transitory computer readable medium storing a bitstream and executable instructions which, when executed, cause a computer to perform a decoding process of decoding a video from the bitstream using a predicted image, the decoding process comprising: deriving a maximum number based on a partition shape of a first partition in the video, the maximum number being a first number when the partition shape is a square or a rectangle, and the maximum number being a second number different from the first number when the partition shape is a non-square and a non-rectangle; generating a motion vector candidate list including a plurality of candidates equal to the derived maximum number, the plurality of candidates being for a first motion vector for the first partition, and the plurality of candidates including a candidate which is derived from a second motion vector of a second partition in the video different from the first partition; decoding an index indicating the first motion vector among the plurality of candidates in the motion vector candidate list from the bitstream based on the maximum number; selecting the first motion vector from the plurality of candidates in the motion vector candidate list using the index; and generating the predicted image for the first partition using the first motion vector, wherein the second partition is a partition which neighbors the first partition.
Description
CROSS REFERENCE TO RELATED APPLICATIONS This application is a continuation of U.S. application Ser. No. 18/433,707 filed on Feb. 6, 2024, which is a continuation of U.S. application Ser. No. 18/136,561, now U.S. Pat. No. 11,930,206, filed on Apr. 19, 2023, which is a continuation of U.S. application Ser. No. 17/867,926, now U.S. Pat. No. 11,665,366, filed on Jul. 19, 2022, which is a continuation of U.S. application Ser. No. 17/087,904, now U.S. Pat. No. 11,438,621, filed on Nov. 3, 2020, which is a continuation of PCT International Patent Application Number PCT/JP2019/019072 filed on May 14, 2019, claiming the benefit of priority of U.S. Provisional Patent Application No. 62/672,801 filed on May 17, 2018. The entire disclosures of the above-identified applications, including the specifications, drawings, and claims are incorporated herein by reference in their entirety. BACKGROUND 1. Technical Field The present disclosure relates to an encoder, etc. for encoding a video into a bitstream using a predicted image. 2. Description of the Related Art Conventionally, there has been H. 265 also referred to as (ISO/IEC 23008-2 HEVC)/HEVC (High Efficiency Video Coding) as a standard for encoding a video. SUMMARY An encoder according to an aspect of the present disclosure is an encoder which encodes a video into a bitstream using a predicted image, and which includes circuitry and memory. Using the memory, the circuitry generates a list which includes a plurality of candidates for a first motion vector for a first partition in the video, and in which the plurality of candidates includes a candidate which is derived from a second motion vector of a second partition different from the first partition in the video. The list has a maximum list size and an order of the plurality of candidates, and at least one of the maximum list size or the order of the plurality of candidates is dependent on at least one of a partition size or a partition shape of the first partition. Using the memory, the circuitry: selects the first motion vector from the plurality of candidates included in the list; encodes an index indicating the first motion vector among the plurality of candidates in the list into the bitstream based on the maximum list size; and generates the predicted image for the first partition using the first motion vector. It is to be noted that these general or specific aspects may be implemented using a system, an apparatus, a method, an integrated circuit, a computer program, or a non-transitory computer-readable recording medium such as a CD-ROM, or any combination of systems, apparatuses, methods, integrated circuits, computer programs, or computer-readable recording media. BRIEF DESCRIPTION OF DRAWINGS These and other objects, advantages and features of the disclosure will become apparent from the following description thereof taken in conjunction with the accompanying drawings that illustrate a specific embodiment of the present disclosure. FIG. 1 is a block diagram illustrating a functional configuration of an encoder according to Embodiment 1; FIG. 2 illustrates one example of block splitting according to Embodiment 1; FIG. 3 is a chart indicating transform basis functions for each transform type; FIG. 4A illustrates one example of a filter shape used in ALF; FIG. 4B illustrates another example of a filter shape used in ALF; FIG. 4C illustrates another example of a filter shape used in ALF; FIG. 5A illustrates 67 intra prediction modes used in intra prediction; FIG. 5B is a flow chart for illustrating an outline of a prediction image correction process performed via OBMC processing; FIG. 5C is a conceptual diagram for illustrating an outline of a prediction image correction process performed via OBMC processing; FIG. 5D illustrates one example of FRUC; FIG. 6 is for illustrating pattern matching (bilateral matching) between two blocks along a motion trajectory; FIG. 7 is for illustrating pattern matching (template matching) between a template in the current picture and a block in a reference picture; FIG. 8 is for illustrating a model assuming uniform linear motion; FIG. 9A is for illustrating deriving a motion vector of each sub-block based on motion vectors of neighboring blocks; FIG. 9B is for illustrating an outline of a process for deriving a motion vector via merge mode; FIG. 9C is a conceptual diagram for illustrating an outline of DMVR processing; FIG. 9D is for illustrating an outline of a prediction image generation method using a luminance correction process performed via LIC processing; FIG. 10 is a block diagram illustrating a functional configuration of a decoder according to Embodiment 1; FIG. 11 is a flow chart indicating a first aspect of inter prediction performed by an encoder according to Embodiment 1; FIG. 12 is a flow chart indicating the first aspect of inter prediction performed by a decoder according to Embodiment 1; FIG. 13 is a conceptual diagram illustrating examples of maximum numbers o