IP Library › Granted Patent US 11,563,970
Granted Patent B2
US 11,563,970 · App. 16/975,836 · Granted Jan 24, 2023

Method and apparatus for generalized OBMC

Inventors: Antoine Robert (Mézières sur Couesnon, FR); Fabrice Leleannec (Mouaze, FR); Tangi Poirier (Thorignè-Fouillard, FR)
Assignee: INTERDIGITAL VC HOLDINGS, INC.
H04N19/513H04N19/117H04N19/176
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,563,970
App. No.
16/975,836
Granted
Jan 24, 2023
Kind
B2
Abstract

A block of video data that is split into sub-blocks forms a prediction for that sub-block using predictions from neighboring sub-blocks such that a current prediction for the sub-block is combined with weighted versions of the neighboring predictions. The neighboring sub-blocks motion vectors are checked to determine whether they are different than the motion vector of the sub-block being predicted. If so, than that corresponding neighboring sub-block is used to generate the prediction of the current sub-block. In an embodiment, two lines or two columns of pixels within a sub-block are used in forming the prediction for the current sub-block when the size of the block containing the sub-block is under a particular size.

Claims (40)

1. A method, comprising:

determining whether motion vectors of horizontally and vertically neighboring sub-blocks of a current sub-block of a video coding block are different than a motion vector for the current sub-block, wherein the determining is based on checking the neighboring sub-blocks by pairs of neighboring sub-blocks and the pairs of neighboring sub-blocks include a first pair of horizontally neighboring sub-blocks left and right of the current sub-block and a second pair of vertically neighboring sub-blocks above and below the current sub-block;

filtering prediction pixels of said neighboring sub-blocks having different motion vectors than said current sub-block motion vector along with a current prediction of the current sub-block to generate a filtered prediction for the sub-block, wherein a number of prediction pixels to be filtered is set different for each direction and for each sub-block and can be set depending on size of each direction;

and if two opposite neighbors are available with different motion vector than a motion vector for a current sub-block, then two lines/columns are filtered from each neighbor and if one is available, then four lines/columns are filtered from the available neighbor; and

encoding said sub-block using said filtered prediction.

2. A non-transitory computer readable medium containing data content generated according to the method of claim 1 , for playback.

3. An apparatus for coding a block of video data, comprising:

a memory, and

a processor, configured to:

determine whether motion vectors of horizontally and vertically neighboring sub-blocks of a current sub-block of a video coding block are different than a motion vector for the current sub-block, wherein the determining is based on checking the neighboring sub-blocks by pairs of neighboring sub-blocks and the pairs of neighboring sub-blocks include a first pair of horizontally neighboring sub-blocks left and right of the current sub-block and a second pair of vertically neighboring sub-blocks above and below the current sub-block;

filter prediction pixels of said neighboring sub-blocks having different motion vectors than said current sub-block motion vector along with a current prediction of the current sub-block to generate a filtered prediction for the sub-block, wherein a number of prediction pixels to be filtered is set differently for each direction and for each sub-block and can be set depending on size of each direction;

and if two opposite neighbors are available with different motion vector than a motion vector for a current sub-block, then two lines/columns are filtered from each neighbor and if one is available, then four lines/columns are filtered from the available neighbor; and

encode said sub-block using said filtered prediction.

4. A method, comprising:

determining whether motion vectors of horizontally and vertically neighboring sub-blocks of a current sub-block of a video coding block are different than a motion vector for the current sub-block, wherein the determining is based on checking the neighboring sub-blocks by pairs of neighboring sub-blocks and the pairs of neighboring sub-blocks include a first pair of horizontally neighboring sub-blocks left and right of the current sub-block and a second pair of vertically neighboring sub-blocks above and below the current sub-block;

filtering prediction pixels of said neighboring sub-blocks having different motion vectors than said current sub-block motion vector along with a current prediction of the current sub-block to generate a filtered prediction for the sub-block, wherein a number of prediction pixels to be filtered is set differently for each direction and for each sub-block and can be set depending on size of each direction;

and if two opposite neighbors are available with different motion vector than a motion vector for a current sub-block, then two lines/columns are filtered from each neighbor and if one is available, then four lines/columns are filtered from the available neighbor; and

decoding said sub-block using said filtered prediction.

5. The method of claim 4 , wherein the filtering comprises using a prediction from a left or a top sub-block for two first pixels or two first lines, respectively, of the sub-block being predicted.

6. The method of claim 5 , wherein the two first pixels or two first lines of said sub-block prediction are filtered using a prediction from a left or a top neighboring sub-block, respectively, when a size of a block comprising said sub-block is less than a particular size.

7. The method of claim 4 , wherein the filtering comprises using a prediction from a right or a bottom sub-block for two last pixels or two last lines, respectively, of the sub-block being predicted.

8. The method of claim 4 , wherein the filtering comprises using one neighboring sub-block prediction when another one of said corresponding horizontal or vertical pairs of motion vectors is the same as the motion vector of said sub-block.

9. The method of claim 4 , wherein the filtering comprises using a prediction from a left or a top sub-block for a first pixel or first line, respectively, of the sub-block being predicted.

10. The method of claim 4 , wherein the filtering comprises using a prediction from a right or a bottom sub-block for a last pixel or last line, respectively, of the sub-block being predicted.

11. The method of claim 4 , wherein the filtering comprises two pixels or two lines of a sub-block being filtered for predictions corresponding to blocks comprising said sub-block larger than a particular size and one pixel or one line being filtered for predictions corresponding to blocks comprising said sub-block smaller than a particular size.

12. The method of claim 4 , wherein said current sub-block is part of a coding unit.

13. An apparatus for coding a block of video data, comprising:

a memory, and

a processor, configured to:

determine whether motion vectors of horizontally and vertically neighboring sub-blocks of a current sub-block of a video coding block are different than a motion vector for the current sub-block, wherein the determining is based on checking the neighboring sub-blocks by pairs of neighboring sub-blocks and the pairs of neighboring sub-blocks include a first pair of horizontally neighboring sub-blocks left and right of the current sub-block and a second pair of vertically neighboring sub-blocks above and below the current sub-block;

filter prediction pixels of said neighboring sub-blocks having different motion vectors than said current sub-block motion vector along with a current prediction of the current sub-block to generate a filtered prediction for the sub-block, wherein a number of prediction pixels to be filtered is set differently for each direction and for each sub-block and can be set depending on size of each direction;

and if two opposite neighbors are available with different motion vector than a motion vector for a current sub-block, then two lines/columns are filtered from each neighbor and if one is available, then four lines/columns are filtered from the available neighbor; and

decode said sub-block using said filtered prediction.

14. The apparatus of claim 13 , wherein the filtering comprises using a prediction from a left or a top sub-block for two first pixels or two first lines, respectively, of the sub-block being predicted.

15. The apparatus of claim 14 , wherein the two first pixels or two first lines of said sub-block prediction are filtered using a prediction from a left or a top neighboring sub-block, respectively, when a size of a block comprising said sub-block is less than a particular size.

16. The apparatus of claim 13 , wherein the filtering comprises using a prediction from a right or a bottom sub-block for two last pixels or two last lines, respectively, of the sub-block being predicted.

17. The apparatus of claim 13 , wherein the filtering comprises using one neighboring sub-block prediction when another one of said corresponding horizontal or vertical pairs of motion vectors is the same as the motion vector of said sub-block.

18. The apparatus of claim 13 , wherein the filtering comprises using a prediction from a left or a top sub-block for a first pixel or first line, respectively, of the sub-block being predicted.

19. The apparatus of claim 13 , wherein the filtering comprises using a prediction from a right or a bottom sub-block for a last pixel or last line, respectively, of the sub-block being predicted.

20. The apparatus of claim 13 , wherein the filtering comprises two pixels or two lines of a sub-block being filtered for predictions corresponding to blocks comprising said sub-block larger than a particular size and one pixel or one line being filtered for predictions corresponding to blocks comprising said sub-block smaller than a particular size.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2020
From: ROBERT, ANTOINE; LELEANNEC, FABRICE; POIRIER, TANGI
To: INTERDIGITAL VC HOLDINGS, INC.
Reel/Frame 053836/0129 →
Priority Claims (2)
EP 18305196 · Feb 26, 2018 · regional
EP 18305386 · Mar 30, 2018 · regional
Continuity (1)
Related Publication 20200413085A1 · Dec 31, 2020
Cited By (1)
US 12,689,763