IP Library Granted Patent US 11,076,167
Granted Patent B2
US 11,076,167 · App. 16/906,351 · Granted Jul 27, 2021

Device and method for coding video data

Inventors: Yu-Chiao Yang (Hsinchu, TW); Po-Han Lin (Taipei, TW)
Assignee: FG Innovation Company Limited
H04N19/51H04N19/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,076,167
App. No.
16/906,351
Granted
Jul 27, 2021
Kind
B2
Abstract

A method of decoding a bitstream by an electronic device is provided. An image frame is received from the bitstream. A block unit is determined from the received image frame. A plurality of model parameters is derived based on motion information of a plurality of neighboring blocks neighboring the block unit. An intermediate block is derived for a sub-block in the block unit based on the plurality of model parameters. A vector formula is determined based on the plurality of model parameters, and at least one vector value is calculated based on the vector formula for at least one sampling position in the sub-block. The at least one vector value is compared with a threshold to determine whether the intermediate block is adjusted based on the vector formula to generate a predicted block. The sub-block is reconstructed based on the predicted block.

Claims (67)

1. A method of decoding a bitstream by an electronic device, the method comprising:

receiving an image frame of the bitstream;

determining a block unit from the received image frame;

deriving a plurality of model parameters based on motion information of a plurality of neighboring blocks neighboring the block unit;

deriving, for a sub-block in the block unit, an intermediate block based on the plurality of model parameters;

determining a vector formula based on the plurality of model parameters;

calculating at least one vector value based on the vector formula for at least one sampling position in the sub-block;

comparing the at least one vector value with a threshold;

determining, based on the comparing, whether the intermediate block is adjusted;

generating a predicted block based on the vector formula when the intermediate block is adjusted; and

reconstructing the sub-block based on the predicted block.

2. The method according to claim 1 , further comprising:

reconstructing the sub-block by adding the predicted block into a residual block of the sub-block, when each of the at least one vector value is greater than the threshold; and

reconstructing the sub-block by adding the intermediate block into the residual block, when one of the at least one vector value is less than or equal to the threshold.

3. The method according to claim 1 , further comprising:

reconstructing the sub-block by adding the predicted block into a residual block of the sub-block, when one of the at least one vector value is greater than the threshold; and

reconstructing the sub-block by adding the intermediate block into the residual block, when each of the at least one vector value is less than or equal to the threshold.

4. The method according to claim 1 , wherein the at least one sampling position is a plurality of corners of the sub-block.

5. The method according to claim 1 , wherein the plurality of model parameters includes a plurality of numbers A and B, the vector formula includes a vector function V (i, j)=Ai+Bj, and one of the at least one vector value is equal to a sum of a first absolute value of A×P and a second absolute value of B×Q when one of the at least one sampling position is determined as (P, Q).

6. The method according to claim 1 , further comprising:

determining, based on the vector formula, a plurality of component vectors for a plurality of block components in the sub-block when the intermediate block is adjusted;

rounding down the plurality of component vectors based on a rounding parameter; and

further adjusting the intermediate block based on the plurality of rounded component vectors.

7. The method according to claim 6 , wherein the threshold is determined based on the rounding parameter.

8. An electronic device for decoding a bitstream, the electronic device comprising:

at least one processor; and

a storage device coupled to the at least one processor and storing a plurality of instructions which, when executed by the at least one processor, causes the at least one processor to:

receive an image frame of the bitstream;

determine a block unit from the received image frame;

derive a plurality of model parameters based on motion information of a plurality of neighboring blocks neighboring the block unit;

derive, for a sub-block in the block unit, an intermediate block based on the plurality of model parameters;

determine a vector formula based on the plurality of model parameters;

calculate at least one vector value based on the vector formula for at least one sampling position in the sub-block;

compare the at least one vector value with a threshold;

determine, based on the comparing, whether the intermediate block is adjusted;

generate a predicted block based on the vector formula when the intermediate is adjusted; and

reconstruct the sub-block based on the predicted block.

9. The electronic device according to claim 8 , wherein the plurality of instructions, when executed by the at least one processor, further causes the at least one processor to:

reconstruct the sub-block by adding the predicted block into a residual block of the sub-block, when the at least one vector value is greater than the threshold; and

reconstruct the sub-block by adding the intermediate block into the residual block, when the at least one vector value is less than or equal to the threshold.

10. The electronic device according to claim 8 , wherein the at least one sampling position is a plurality of corners of the sub-block.

11. The electronic device according to claim 8 , wherein the plurality of model parameters includes a plurality of numbers A and B, the vector formula includes a function V (i, j)=Ai+Bj, and a specific one of the at least one vector value is equal to a sum of a first absolute value of A×P and a second absolute value of B×Q when a corresponding one of the at least one sampling position is determined as (P, Q).

12. The electronic device according to claim 8 , wherein the plurality of instructions, when executed by the at least one processor, further causes the at least one processor to:

determine, based on the vector formula, a plurality of component vectors for a plurality of block components in the sub-block when the intermediate block is determined to be adjusted;

round down the plurality of component vectors based on a rounding parameter; and

adjust the intermediate block based on the plurality of rounded component vectors.

13. The method according to claim 12 , wherein the threshold is determined based on the rounding parameter.

14. The method according to claim 13 , wherein the threshold is equal to 2 N-1 when the plurality of component vectors is rounded down by right shifting N in bit operation.

15. A method of decoding a bitstream by an electronic device, the method comprising:

receiving an image frame of the bitstream;

determining a block unit from the received image frame;

deriving a plurality of model parameters based on motion information of a plurality of neighboring blocks neighboring the block unit;

deriving, for a sub-block in the block unit, an intermediate block based on the plurality of model parameters;

determining a vector formula based on the plurality of model parameters;

selecting a sampling position in the sub-block and calculating a vector value based on the sampling position;

adjusting the intermediate block based on the vector formula to generate a predicted block when the vector value is greater than a threshold; and

reconstructing the sub-block based on the predicted block.

16. The method according to claim 15 , further comprising:

reconstructing the sub-block by adding the predicted block into a residual block of the sub-block, when the vector value is greater than the threshold; and

reconstructing the sub-block by directly adding the intermediate block into the residual block without adjusting the intermediate block, when the vector value is less than or equal to the threshold.

17. The method according to claim 15 , wherein the sampling position is one of a plurality of corners of the sub-block.

18. The method according to claim 15 , wherein the plurality of model parameters includes a plurality of numbers A and B, the vector formula includes a vector function V (i, j)=Ai+Bj, and the vector value is equal to a sum of a first absolute value of A×P and a second absolute value of B×Q when the sampling position is determined as (P, Q).

19. The method according to claim 15 , further comprising:

determining, based on the vector formula, a plurality of component vectors for a plurality of block components in the sub-block when the intermediate block is determined to be adjusted;

rounding down the plurality of component vectors based on a rounding parameter; and

adjusting the intermediate block based on the plurality of rounded component vectors.

20. The method according to claim 19 , wherein the threshold is equal to 2 N-1 when the plurality of component vectors is rounded down by right shifting N in bit operation.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2024
From: FG INNOVATION COMPANY LIMITED
To: SHARP KABUSHIKI KAISHA
Reel/Frame 068656/0188 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2020
From: YANG, YU-CHIAO; LIN, PO-HAN
To: FG INNOVATION COMPANY LIMITED
Reel/Frame 052989/0934 →