IP Library Granted Patent US 11,363,266
Granted Patent B2
US 11,363,266 · App. 16/462,531 · Granted Jun 14, 2022

Method and system of performing inter-frame prediction in video compression

Inventors: Zvi Reznic (Tel Aviv, IL); Guy Dorman (Mishmar David, IL)
Assignee: AMIMON LTD.
H04N19/119H04N19/139H04N19/176H04N19/513
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,363,266
App. No.
16/462,531
Granted
Jun 14, 2022
Kind
B2
Abstract

Systems, devices, and methods of performing inter-frame prediction in video compression. A method includes: partitioning a video frame into superblocks, each superblock includes a plurality of macroblocks; determining an upper boundary on attributes that are associated with residual blocks of the plurality of macroblocks, based on pre-defined constraints on the total number of bits allocated for motion vector descriptions in a superblock; for each macroblock in a superblock, determining a partition size and a motion vector resolution which yield, for all macroblocks in the superblock, a motion vector description and a corresponding residual with attributes less than or equal to the upper boundary.

Claims (72)

1. A method of performing inter-frame prediction in video compression, the method comprising:

partitioning a video frame into superblocks, each superblock comprising a plurality of macroblocks;

determining an upper boundary on attributes associated with residual blocks of said plurality of macroblocks based on pre-defined constraints on a total number of bits that are allocated for descriptors of motion vectors in a superblock; and

for each macroblock in a superblock, determining a partition size and a motion vector resolution which yield, for all macroblocks in said superblock, descriptors of motion vectors and a corresponding residual block with attributes that are less than or equal to said upper boundary.

2. The method of claim 1 ,

wherein each macroblock of the plurality of macroblocks comprises 16×16 pixels.

3. The method of claim 1 ,

wherein the attributes comprise a residual complexity.

4. The method of claim 1 ,

wherein the attributes comprise a measure of a total energy in the residual blocks.

5. The method of claim 1 ,

wherein the attributes comprise a measure of entropy of quantized Discrete Cosine Transform (DCT) taps of the residual blocks.

6. The method of claim 1 ,

wherein said partition size comprises any one of:

16×16 pixel size,

16×8 pixel size,

8×16 pixel size,

8×8 pixel size,

8×4 pixel size,

4×8 pixel size,

4×4 pixel size.

7. The method of claim 1 , comprising:

determining a number of bits required to code a motion vector for each of the block partitionings based on predetermined pixel accuracies.

8. The method of claim 1 ,

wherein said motion vector resolution comprises any one of:

a full pixel,

a half pixel,

a quarter pixel.

9. The method of claim 1 , comprising:

determining a residual complexity in a residual block associated with each of the block partitionings.

10. The method of claim 1 , comprising:

for each block partitioning, comparing a number of bits required to code a motion vector and a residual complexity value associated with the residual block.

11. The method of claim 10 , comprising:

discarding all block partitionings that are associated with motion vectors requiring the same number of bits for coding, except for a block partitioning with a least residual complexity value.

12. The method of claim 1 , comprising:

assigning an upper boundary requirement to residual complexity values of residual blocks.

13. An encoder for generating fixed-rate motion vectors for video compression, configured to perform the following steps:

partition a video frame into superblocks, each superblock comprising a plurality of macroblocks;

determine an upper boundary on attributes associated with residual blocks of said plurality of macroblocks based on pre-defined bit constraints on a total number of bits that are allocated for descriptors of motion vectors in a superblock; and

for each macroblock in a superblock, determine a partition size and a motion vector resolution which yield, for all macroblocks in said superblock, descriptors of motion vectors and a corresponding residual block with attributes that are less than or equal to said upper boundary.

14. The encoder of claim 13 ,

wherein each macroblock of the plurality of macroblocks comprises 16×16 pixels.

15. The encoder of claim 13 ,

wherein the attributes comprise a residual complexity.

16. The encoder of claim 13 ,

wherein the attributes comprise a measure of a total energy in the residual blocks.

17. The encoder of claim 13 ,

wherein the attributes comprise a measure of entropy of quantized Discrete Cosine Transform (DCT) taps of the residual blocks.

18. The encoder of claim 13 ,

wherein said partition size comprises any one of:

16×16 pixel size,

16×8 pixel size,

8×16 pixel size,

8×8 pixel size,

8×4 pixel size,

4×8 pixel size,

4×4 pixel size.

19. The encoder of claim 13 ,

wherein the encoder is further configured to determine a number of bits required to code a motion vector for each of the block partitionings based on a predetermined motion vector resolution.

20. The encoder of claim 13 ,

wherein said motion vector resolution comprises any one of:

a full pixel,

a half pixel,

a quarter pixel.

21. The encoder of claim 13 ,

wherein the encoder is further configured to determine a residual complexity in a residual block associated with each of said block partitionings.

22. The encoder of claim 21 ,

wherein the encoder is further configured to compare, for each block partitioning, a number of bits required to code a motion vector and a residual complexity value associated with the residual block.

23. The encoder of claim 13 ,

wherein the encoder is further configured to discard all block partitionings that are associated with motion vectors requiring the same number of bits for coding except for a block partitioning with a least residual complexity value.

24. The encoder of claim 13 ,

wherein the encoder is further configured to assign an upper boundary requirement to residual complexity values of residual blocks.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2025
From: AMIMON LTD.
To: TERADEK LLC
Reel/Frame 072848/0554 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2019
From: REZNIC, ZVI; DORMAN, GUY
To: AMIMON LTD.
Reel/Frame 049480/0670 →
Continuity (3)
Provisional Application 62664175 · Apr 29, 2018
Provisional Application 62583521 · Nov 9, 2017
Related Publication 20210281840A1 · Sep 9, 2021