IP Library Granted Patent US 11,700,391
Granted Patent B2
US 11,700,391 · App. 16/613,674 · Granted Jul 11, 2023

Method and apparatus of motion vector constraint for video coding

Inventors: Tzu-Der Chuang (Hsinchu, TW); Ching-Yeh Chen (Hsinchu, TW); Yu-Wen Huang (Hsinchu, TW); Chih-Wei Hsu (Hsinchu, TW)
Assignee: HFI INNOVATION INC.
H04N19/52H04N19/159H04N19/176H04N19/189
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,700,391
App. No.
16/613,674
Granted
Jul 11, 2023
Kind
B2
Abstract

Method and apparatus of Inter prediction for video coding are disclosed. When a sub-block motion compensation coding tool is selected for the current block, the method generates sub-block MVs (motion vectors) associated with multiple sub-blocks, which are included or contained in the current block, according to the sub-block motion compensation coding tool, constrains the sub-block MVs within a range to form constrained sub-block MVs, and applies motion compensation to the current block using the constrained sub-block MVs or applies motion compensation to the current block using one sub-block MV within the range around the primary MV in a second list if a corresponding sub-block MV in a first list is outside the range. In another method, motion compensation is applied to the current block only using reference pixels of reference sub-blocks within a primary reference block.

Claims (21)

1. A method of video coding using an inter-prediction mode in a video coding system, the method comprising:

receiving input data associated with a current block in a current picture;

when a sub-block motion compensation coding tool is selected for the current block:

generating sub-block motion vectors (MVs) associated with multiple sub-blocks according to the sub-block motion compensation coding tool, wherein the current block comprises the multiple sub-blocks;

constraining the sub-block MVs within a range around a primary MV to form constrained sub-block MVs, wherein said constraining comprises constraining the sub-block MVs within the range around a primary MV, wherein said constraining the sub-block MVs within the range around the primary MV comprises restricting a difference between the primary MV and each sub-block MV of the sub-block MVs within one or more thresholds, wherein each sub-block MV of the sub-blocks MVs is restricted to the range from (primary MV−Threshold) to (primary MV+Threshold), wherein the Threshold corresponds to one threshold and if one sub-block MV is outside the range, the sub-block MV is clipped to the range; and

applying motion compensation to the current block using the constrained sub-block MVs or applying motion compensation to the current block using one sub-block MV within the range in a second list if a corresponding sub-block MV in a first list is outside the range.

2. The method of claim 1 , wherein the sub-block motion compensation coding tool is selected from a group comprising ATMVP (Advanced Temporal Motion Vector Prediction), STMVP (Spatial-Temporal Motion Vector Prediction), affine prediction, and sub-block refined PMVD (Pattern-based Motion Vector Derivation) mode.

3. The method of claim 2 , wherein, for the affine prediction, a primary MV corresponds to one of control-point MVs, one of the sub-block MVs of the current block, or one derived MV.

4. The method of claim 3 , wherein said one of the sub-block MVs of the current block corresponds to one MV of one corner sub-block or one MV of one center sub-block, or said one derived MV corresponds to one derived MV using one center pixel or center block of the current block.

5. The method of claim 1 , wherein each of said one or more thresholds corresponds to a predefined value, a derived value or a signaled value.

6. The method of claim 1 , wherein said one or more thresholds are determined depending on size, width or height of the current block or current sub-block, the primary MV, inter prediction direction of the current block or the current sub-block, or a combination of the above.

7. The method of claim 1 , wherein, when the sub-block motion compensation coding tool is selected for the current block at a video encoder, the video encoder constrains the sub-block MVs to be within the range to form constrained sub-block MVs and signals information related to the constrained sub-block MVs in a video bitstream.

8. The method of claim 7 , wherein, at a video decoder, the video decoder derives a primary MV and then loads required reference data around the primary MV.

9. The method of claim 1 , wherein the sub-block MVs is constrained within a range around a primary MV.

10. The method of claim 1 , wherein, when the sub-block motion compensation coding tool is selected for the current block at a video encoder, all the sub-block MVs are restricted to be within a range around a primary MV and the encoder signals information related to the sub-block MVs in a video bitstream.

11. An apparatus of video coding using an inter-prediction mode in a video coding system, the apparatus comprising one or more electronic devices or processors configured to:

receive input data associated with a current block in a current picture;

when a sub-block motion compensation coding tool is selected for the current block:

generate sub-block motion vectors (MVs) associated with multiple sub-blocks according to the sub-block motion compensation coding tool, wherein the current block comprises the multiple sub-blocks;

constrain the sub-block MVs within a range around a primary MV to form constrained sub-block MVs, wherein said constraining comprises constraining the sub-block MVs within the range around a primary MV, wherein said constraining the sub-block MVs within the range around the primary MV comprises restricting a difference between the primary MV and each sub-block MV of the sub-block MVs within one or more thresholds, wherein each sub-block MV of the sub-blocks MVs is restricted to the range from (primary MV−Threshold) to (primary MV+Threshold), wherein the Threshold corresponds to one threshold and if one sub-block MV is outside the range, the sub-block MV is clipped to the range; and

apply motion compensation to the current block using the constrained sub-block MVs or apply motion compensation to the current block using one sub-block MV within the range in a second list if a corresponding sub-block MV in a first list is outside the range around the primary MV.