IP Library Granted Patent US 12,170,765
Granted Patent B2
US 12,170,765 · App. 18/131,470 · Granted Dec 17, 2024

Hierarchical packing of syntax elements

Inventors: Ujval J. Kapasi (Westford, MA); Amit Gulati (San Mateo, CA); John Sievers (North Reading, MA); Yipeng Liu (Sunnyvale, CA); Dan Miller (Campbell, CA)
Assignee: OL Security Limited Liability Company
H04N19/115H04N19/176H04N19/43H04N19/433H04N19/436H04N19/46H04N19/51H04N19/53H04N19/533H04N19/56H04N19/61
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 12,170,765
App. No.
18/131,470
Granted
Dec 17, 2024
Kind
B2
Abstract

Instructions embedded on a computer-readable medium, when executed on one or more computer devices, improve video coding performance while using a merge mode in motion estimation. The instructions comprise instructions to perform one or more refinement searches on a plurality of candidate regions of a current frame. The instructions also comprise instructions to determine one or more distortion values based, at least in part, on reduced candidate regions and instructions to code motion data based, at least in part, on the one or more refinement searches.

Claims (49)

1. A non-transitory computer-readable medium on which are embedded instructions that, when executed on one or more computer devices, improve video coding performance while using a merge mode in motion estimation, the instructions comprising:

instructions to perform one or more refinement searches on a plurality of candidate regions of a current frame, wherein the plurality of candidate regions comprises a candidate region identified in a reference frame and a plurality of candidate search regions, and wherein the one or more refinement searches reduce the plurality of candidate regions to obtain reduced candidates, by:

reducing the plurality of candidate regions based, at least in part, on a relative proximity of the plurality of candidate regions; and

merging two or more redundant candidate regions from the plurality of candidate regions into a single candidate; and

instructions to code motion data based, at least in part, on the one or more refinement searches.

2. The non-transitory computer-readable medium of claim 1 wherein reducing the plurality of candidate regions further comprises reducing the plurality of candidate regions such that a number of the reduced candidate regions does not exceed a load-balancing constraint.

3. The non-transitory computer-readable medium of claim 2 wherein the load-balancing constraint is based, at least in part, on a complexity of a macroblock, to which a first plurality of candidate search regions belongs.

4. The non-transitory computer-readable medium of claim 1 , further comprising instructions to determine one or more distortion values based, at least in part, on the reduced candidate regions wherein the instructions to determine the one or more distortion values comprises instructions to determine the one or more distortion values in a search area around a reduced candidate region.

5. The non-transitory computer-readable medium of claim 1 , further comprising:

instructions to determine one or more distortion values based, at least in part, on the reduced candidate regions wherein the instructions to determine the one or more distortion values comprises instructions to determine the one or more distortion values according to one or more block shapes of a candidate.

6. The non-transitory computer-readable medium of claim 5 wherein the instructions to determine the one or more distortion values further comprises:

instructions to determine distortion values for a first block shape; and

instructions to calculate distortion values for the one or more block shapes based, at least in part, on a summation of determined distortion values for the first block shape.

7. The non-transitory computer-readable medium of claim 6 further comprising:

instructions to store a best candidate associated with the one or more block shapes.

8. The non-transitory computer-readable medium of claim 1 wherein the candidate region identified in the reference frame is identified in a previous refinement search.

9. The non-transitory computer-readable medium of claim 8 wherein the plurality of candidate search regions are identified, at least in part, based on a voting scheme.

10. The non-transitory computer-readable medium of claim 9 wherein the voting scheme comprises:

assigning a vote to each of a plurality of best candidates based, at least in part, on one or more best candidates from the previous refinement search; and

resolving tie-breakers based, at least in part, on a respective block size of each of the plurality of best candidates.

11. The non-transitory computer-readable medium of claim 1 wherein coding motion data comprises determining a partitioning for a macroblock.

12. The non-transitory computer-readable medium of claim 11 wherein determining the partitioning for the macroblock comprises approximating a cost of partitions in parallel.

13. The non-transitory computer-readable medium of claim 11 wherein the instructions to perform the one or more refinement searches further comprises instructions to perform the one or more refinement searches across a plurality of macroblocks in parallel.

14. The non-transitory computer-readable medium of claim 11 , further comprising:

instructions to determine one or more distortion values based, at least in part, on the reduced candidate regions wherein the one or more distortion values comprises at least one of a sum of absolute differences, a sum of squared errors, or a Hadamard transform.

15. A non-transitory computer-readable medium on which are embedded instructions that, when executed on one or more computer devices, improve video coding performance while using a merge mode in motion estimation, the instructions comprising:

instructions to perform one or more refinement searches on a plurality of macroblocks of a current frame, wherein the one or more refinement searches identifies one or more candidate regions in a reference frame, based, at least in part, on a previous refinement search, and based, at least in part, on a voting scheme, wherein the voting scheme:

assigns a vote to each of a plurality of best candidates based, at least in part, on one or more best candidates from the previous refinement search; and

resolves tie-breakers based, at least in part, on a respective block size of each of the plurality of best candidates;

instructions to reduce the one or more candidate regions to obtain reduced candidate regions; and

instructions to code motion data based, at least in part, on the one or more refinement searches.

16. The non-transitory computer-readable medium of claim 15 wherein the instructions to reduce the one or more candidate regions comprises instructions to reduce the one or more candidate regions such that a number of the reduced candidate regions does not exceed a load-balancing constraint.

17. The non-transitory computer-readable medium of claim 16 wherein the load-balancing constraint is based, at least in part, on a complexity of a macroblock, to which a first plurality of candidate regions belongs.

18. The non-transitory computer-readable medium of claim 15 wherein the instructions to reduce the one or more candidate regions comprises instructions to reduce the one or more candidate regions based, at least in part, on a relative proximity of the one or more candidate regions.

19. The non-transitory computer-readable medium of claim 18 wherein the instructions to reduce the one or more candidate regions further comprises instructions to merge two or more candidate regions into a single candidate regions.

20. The non-transitory computer-readable medium of claim 15 , further comprising:

instructions to determine one or more distortion values based, at least in part, on the reduced candidate regions wherein the instructions to determine the one or more distortion values comprises instructions to determine the one or more distortion values in a search area around a reduced candidate region.

21. The non-transitory computer-readable medium of claim 15 , further comprising:

instructions to determine one or more distortion values based, at least in part, on the reduced candidate regions wherein the instructions to determine the one or more distortion values comprises instructions to determine the one or more distortion values according to one or more block shapes of a candidate.

22. The non-transitory computer-readable medium of claim 21 wherein the instructions to determine the one or more distortion values further comprises:

instructions to determine distortion values for a first block shape; and

instructions to calculate distortion values for the one or more block shapes based, at least in part, on a summation of determined distortion values for the first block shape.

23. The non-transitory computer-readable medium of claim 21 further comprising:

instructions to store a best candidate associated with the one or more block shapes.

24. The non-transitory computer-readable medium of claim 15 wherein the instructions to code motion data comprises instructions to determine a partitioning for a macroblock.

25. The non-transitory computer-readable medium of claim 24 wherein the instructions to determine the partitioning for the macroblock comprises instructions to approximate a cost of partitions in parallel.

26. The non-transitory computer-readable medium of claim 15 wherein the instructions to perform the one or more refinement searches further comprises instructions to perform the one or more refinement searches across the plurality of macroblocks in parallel.

27. The non-transitory computer-readable medium of claim 15 , further comprising:

instructions to determine one or more distortion values based, at least in part, on the reduced candidate regions wherein the one or more distortion values comprises at least one of a sum of absolute differences, a sum of squared errors, or a Hadamard transform.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2023
From: SKEET PRACTICE, LLC
To: CALOS FUND LIMITED LIABILITY COMPANY
Reel/Frame 063408/0829 →
MERGER Recorded Apr 23, 2023
From: CALOS FUND LIMITED LIABILITY COMPANY
To: OL SECURITY LIMITED LIABILITY COMPANY
Reel/Frame 063408/0933 →
Continuity (7)
Continuation 17098699 · Nov 16, 2020
Continuation 15607474 · May 27, 2017
Continuation 14513191 · Oct 13, 2014
Continuation 12192841 · Aug 15, 2008
Division 11973889 · Oct 9, 2007
Provisional Application 60849857 · Oct 6, 2006
Related Publication 20230247197A1 · Aug 3, 2023
Cited By (1)
US 12,323,616