Method and apparatus for video coding
Aspects of the disclosure provide methods and a decoder device for video decoding. In some embodiments, the decoder device for video decoding includes processing circuitry. The processing circuitry selects a motion vector of a neighboring sub-block that is a neighbor of a current block under reconstruction. The current block is in a coded picture that is a part of a coded video bitstream. The processing circuitry determines, from the motion vector, motion vector predictors for a plurality of sub-blocks included in the current block. The neighboring sub-block and the plurality of sub-blocks are in a first one of a single row and a single column of the coded picture.
1. A method for video decoding in a decoder, comprising:
selecting, by processing circuitry of the decoder, a neighboring sub-block outside a current block for a current sub-block in the current block based on a prediction direction that indicates a spatial relationship between the current sub-block and the selected neighboring sub-block, the selected neighboring sub-block and the current block being in a coded picture from a coded bitstream, and a representative position of the current sub-block being on a reference line extended along the prediction direction from a reference position that is on or adjacent to a representative position of the selected neighboring sub-block;
determining, by the processing circuitry of the decoder, a reference motion vector corresponding to the reference position based on a motion vector for coding the selected neighboring sub-block;
determining, by the processing circuitry of the decoder, a motion vector predictor for the current sub-block based on the reference motion vector; and
decoding the current sub-block for output using inter-picture prediction performed based on the motion vector predictor.
2. The method of claim 1 , wherein the selected neighboring sub-block and the current sub-block are in a same column of the coded picture, and the selected neighboring sub-block is a top neighbor of the current block.
3. The method of claim 1 , wherein the selected neighboring sub-block and the current sub-block are in a same row of the coded picture, and the selected neighboring sub-block is a left neighbor of the current block.
4. The method of claim 1 , wherein a motion vector predictor for each remaining sub-block included in the current block is determined from a motion vector of a respective neighboring sub-block that is selected based on the prediction direction.
5. The method of claim 1 , further comprising:
decoding a codeword from the coded bitstream, the codeword indicating the prediction direction.
6. The method of claim 1 , further comprising:
decoding, from the coded bitstream, a residual motion vector for the current sub-block; and
combining the motion vector predictor with the residual motion vector to derive a current motion vector for the current sub-block.
7. The method of claim 1 , further comprising:
decoding at least one syntax element from the coded bitstream, the at least one syntax element indicating the prediction direction.
8. The method of claim 1 , further comprising:
deriving a motion vector for the current sub-block based on refining the motion vector predictor using one of template matching and bilateral matching.
9. The method of claim 1 , further comprising:
selecting another neighboring sub-block in the coded picture outside the current block for the current sub-block based on the prediction direction, the reference position being adjacent to another representative position of the other selected neighboring sub-block and the representative position of the selected neighboring sub-block; and
determining the reference motion vector corresponding to the reference position based on the motion vector for coding the selected neighboring sub-block and another motion vector for coding the other selected neighboring sub-block.
10. The method of claim 9 , wherein the determining the reference motion vector corresponding to the reference position is performed using a weighted combination of the motion vector for coding the selected neighboring sub-block and the other motion vector for coding the other selected neighboring sub-block.
11. A decoder device, comprising processing circuitry configured to:
select, a neighboring sub-block outside a current block for a current sub-block in the current block based on a prediction direction that indicates a spatial relationship between the current sub-block and the selected neighboring sub-block, the selected neighboring sub-block and the current block being in a coded picture from a coded bitstream, and a representative position of the current sub-block being on a reference line extended along the prediction direction from a reference position that is on or adjacent to a representative position of the selected neighboring sub-block;
determine a reference motion vector corresponding to the reference position based on a motion vector for coding the selected neighboring sub-block;
determine a motion vector predictor for the current sub-block based on the reference motion vector; and
decode the current sub-block for output using inter-picture prediction performed based on the motion vector predictor.
12. The decoder device of claim 11 , wherein the selected neighboring sub-block and the current sub-block are in a same column of the coded picture, and the selected neighboring sub-block is a top neighbor of the current block.
13. The decoder device of claim 11 , wherein the selected neighboring sub-block and the current sub-block are in a same row of the coded picture, and the selected neighboring sub-block is a left neighbor of the current block.
14. The decoder device of claim 11 , wherein the processing circuitry is further configured to:
determine a motion vector predictor for each remaining sub-block included in the current block from a motion vector of a respective neighboring sub-block that is selected based on the prediction direction.
15. The decoder device of claim 11 , wherein the processing circuitry configured to:
decode a codeword from the coded bitstream, the codeword indicating the prediction direction.
16. The decoder device of claim 11 , wherein the processing circuitry is further configured to:
select another neighboring sub-block in the coded picture outside the current block for the current sub-block based on the prediction direction, the reference position being adjacent to another representative position of the other selected neighboring sub-block and the representative position of the selected neighboring sub-block; and
determine the reference motion vector corresponding to the reference position based on the motion vector for coding the selected neighboring sub-block and another motion vector for coding the other selected neighboring sub-block.
17. The decoder device of claim 16 , wherein the processing circuitry is further configured to:
determine the reference motion vector corresponding to the reference position using a weighted combination of the motion vector for coding the selected neighboring sub-block and the other motion vector for coding the other selected neighboring sub-block.
18. The decoder device of claim 11 , wherein the processing circuitry is further configured to:
decode, from the coded bitstream, a residual motion vector for the current sub-block; and
derive a current motion vector for the current sub-block by combing the motion vector predictor for the current sub-block with the residual motion vector.
19. A non-transitory computer-readable storage medium storing a program executable by at least one processor to perform:
selecting a neighboring sub-block outside a current block for a current sub-block in the current block based on a prediction direction that indicates a spatial relationship between the current sub-block and the selected neighboring sub-block, the selected neighboring sub-block and the current block being in a coded picture from a coded bitstream, and a representative position of the current sub-block being on a reference line extended along the prediction direction from a reference position that is on or adjacent to a representative position of the selected neighboring sub-block;
determining a reference motion vector corresponding to the reference position based on a motion vector for coding the selected neighboring sub-block;
determining a motion vector predictor for the current sub-block based on the reference motion vector; and
decoding the current sub-block for output using inter-picture prediction performed based on the motion vector predictor.
20. The method of claim 1 , wherein the prediction direction is selected from a group of directions including a vertical prediction direction, a horizontal prediction direction, and a diagonal prediction direction.
21. The non-transitory computer-readable storage medium of claim 19 , wherein the prediction direction is selected from a group of directions including a vertical prediction direction, a horizontal prediction direction, and a diagonal prediction direction.
22. The decoder device of claim 11 , wherein the prediction direction is selected from a group of directions including a vertical prediction direction, a horizontal prediction direction, and a diagonal prediction direction.