IP Library Granted Patent US 8,855,196
Granted Patent B2
US 8,855,196 · App. 12/863,923 · Granted Oct 7, 2014

Adaptive motion information cost estimation with dynamic look-up table updating

Inventors: Zhen Li (Cupertino, CA); Alexandros Tourapis (Burbank, CA)
Assignee: Dolby Laboratories Licensing Corporation
H04N19/00672H04N19/00187H04N19/00181H04N19/00351H04N19/00175H04N19/00951H04N19/00696
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 8,855,196
App. No.
12/863,923
Granted
Oct 7, 2014
Kind
B2
Abstract

Adaptive motion information cost estimation is achieved in processing video information. A transmission cost is estimated that is associated with encoding a motion vector difference (mvd) in motion vectors that describe a motion characteristic of the video information. The mvd is encoded based on minimizing a rate estimation mismatch associated with the motion vectors. The encoding step includes computing a bit count associated with the mvd using CABAC. A value is indexed that corresponds to the cost from one or more entries in the lookup table. The cost relates to context or content characteristics associated with the video information. The lookup table is adaptively updated based on a change in the contextual information or content characteristics. The value is dynamically adjustable based on the change.

Claims (96)

1. A method for processing video information, comprising the steps of:

estimating a transmission cost of CABAC encoding a difference between a motion vector, which is descriptive of a motion characteristic of the video information, and a predictor of the motion vector;

wherein the estimating step comprises the steps of:

initializing a lookup table;

accessing the lookup table;

retrieving a cost value that is indexed by the motion vector difference from the lookup table; and

adaptively updating the cost value in the lookup table based at least on a collected actual encoding rate of the motion vector difference.

2. The method as recited in claim 1 wherein the encoded difference between the motion vector and the predictor thereof comprise one of a plurality of encoded differences between motion vectors and the predictors each thereof; and

wherein the updating step comprises the steps of:

collecting an encoding rate for each of the encoded differences between motion vectors and the predictors each thereof;

computing an average cost value of the collected encoding rates for each of the encoded differences between motion vectors and the predictors each thereof; and

entering the average cost value from the computing step for each motion vector difference in the lookup table.

3. The method as recited in claim 2 wherein computing the average cost comprises a weighted average cost; and

wherein the weighted average cost corresponds to the average cost weighted with a weighting coefficient.

4. The method as recited in claim 2 wherein the updating step is performed periodically.

5. The method as recited in claim 2 wherein the updating step is performed selectively based on a context characteristic associated with the motion vector difference.

6. The method as recited in claim 2 wherein the collecting step comprises the step of:

selectively collecting the encoding rate for motion vector differences that have values equal to a power of two (2); and

wherein the computing step is based on the selectively collecting step.

7. The method as recited in claim 2 wherein the updating step is performed selectively based on a content characteristic associated with the video information.

8. The method as recited in claim 7 wherein the content characteristic comprises a motion attribute associated with the video information content.

9. The method as recited in claim 8 , further comprising the steps of:

analyzing the video information to extract the motion attribute;

upon detecting high motion content, performing the retrieving step based on an existing entry in the lookup table; and

upon detecting low motion content:

performing the updating step; and

performing the retrieving step after the updating step.

10. The method as recited in claim 1 , further comprising the steps of:

modeling the encoding costs for the motion vector differences;

collecting the actual encoding rates of the motion vector differences; and

updating the modeled encoding cost based on statistical fittings;

wherein the updating step comprises the step of updating the modeled encoding cost.

11. The method as recited in claim 10 wherein the step of updating the modeled encoding cost is performed over at least a part, or all of the motion vector differences.

12. An encoder for video content, comprising:

a transmission cost estimator for estimating a transmission cost of CABAC encoding a difference between a motion vector, which is descriptive of a motion characteristic of the video information, and a predictor of the motion vector;

wherein the transmission cost estimator is configured for:

initializing a lookup table;

accessing the lookup table;

retrieving a cost value that is indexed by the motion vector difference from the lookup table; and

adaptively updating the cost value in the lookup table based at least on a collected actual encoding rate of the motion vector difference.

13. The encoder as recited in claim 12 wherein the encoded difference between the motion vector and the predictor thereof comprise one of a plurality of encoded differences between motion vectors and the predictors each thereof; and

wherein the transmission cost estimator is configured for updating the cost value in the lookup table by operations comprising:

collecting an encoding rate for each of the encoded differences between motion vectors and the predictors each thereof;

computing an average cost value of the collected encoding rates for each of the encoded differences between motion vectors and the predictors each thereof; and

entering the average cost value from the computing for each motion vector difference in the lookup table.

14. The encoder as recited in claim 13 wherein computing the average cost comprises a weighted average cost; and

wherein the weighted average cost corresponds to the average cost weighted with a weighting coefficient.

15. The encoder as recited in claim 13 wherein the transmission cost estimator is configured for performing the updating selectively based on a context characteristic associated with the motion vector difference.

16. The encoder as recited in claim 13 wherein the collecting comprises:

selectively collecting the encoding rate for motion vector differences that have values equal to a power of two (2); and

wherein the computing is based on the selectively collecting.

17. The encoder as recited in claim 13 wherein the transmission cost estimator is configured for performing the updating selectively based on a content characteristic comprising a motion attribute associated with the video information content.

18. The encoder as recited in claim 17 , wherein the transmission cost estimator is further configured for:

analyzing the video information to extract the motion attribute;

upon detecting high motion content, performing the retrieving of the cost value based on an existing entry in the lookup table; and

upon detecting low motion content:

performing the updating; and

performing the retrieving of the cost value after the updating.

19. The encoder as recited in claim 12 , wherein the transmission cost estimator is further configured for:

modeling the encoding costs for the motion vector differences;

collecting the actual encoding rates of the motion vector differences; and

updating the modeled encoding cost based on statistical fittings;

wherein the updating comprises updating the modeled encoding cost.

20. A system, comprising:

an encoder as recited in claim 12 , and

a decoder for decoding the video content encoded by the encoder.

21. A non-transitory computer readable storage medium comprising instructions which, when executed with one or more processors, cause or control a computer system to perform steps for processing video information, wherein the steps include:

estimating a transmission cost of CABAC encoding a difference between a motion vector, which is descriptive of a motion characteristic of the video information, and a predictor of the motion vector;

wherein the estimating step comprises the steps of:

initializing a lookup table;

accessing the lookup table;

retrieving a cost value that is indexed by the motion vector difference from the lookup table; and

adaptively updating the cost value in the lookup table based at least on a collected actual encoding rate of the motion vector difference.

22. The non-transitory computer readable storage medium as recited in claim 21 wherein the encoded difference between the motion vector and the predictor thereof comprise one of a plurality of encoded differences between motion vectors and the predictors each thereof; and

wherein the updating step comprises the steps of:

collecting an encoding rate for each of the encoded differences between motion vectors and the predictors each thereof;

computing an average cost value of the collected encoding rates for each of the encoded differences between motion vectors and the predictors each thereof; and

entering the average cost value from the computing step for each motion vector difference in the lookup table.

23. The non-transitory computer readable storage medium as recited in claim 22 wherein computing the average cost comprises a weighted average cost; and

wherein the weighted average cost corresponds to the average cost weighted with a weighting coefficient.

24. The non-transitory computer readable storage medium as recited in claim 22 wherein the instructions cause or control the computer system to perform the updating step selectively based on a context characteristic associated with the motion vector difference.

25. The non-transitory computer readable storage medium as recited in claim 22 wherein the collecting step comprises the step of:

selectively collecting the encoding rate for motion vector differences that have values equal to a power of two (2); and

wherein the computing step is based on the selectively collecting step.

26. The non-transitory computer readable storage medium as recited in claim 22 wherein the instructions cause or control the computer system to perform the updating step selectively based on a content characteristic comprising a motion attribute associated with the video information content.

27. The non-transitory computer readable storage medium as recited in claim 26 , wherein the instructions cause or control the computer system to further perform the steps of:

analyzing the video information to extract the motion attribute;

upon detecting high motion content, performing the retrieving step based on an existing entry in the lookup table; and

upon detecting low motion content:

performing the updating step; and

performing the retrieving step after the updating step.

28. The non-transitory computer readable storage medium as recited in claim 21 , wherein the instructions cause or control the computer system to further perform the steps of:

modeling the encoding costs for the motion vector differences;

collecting the actual encoding rates of the motion vector differences; and

updating the modeled encoding cost based on statistical fittings;

wherein the updating step comprises the step of updating the modeled encoding cost.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2010
From: LI, ZHEN; TOURAPIS, ALEXANDROS
To: DOLBY LABORATORIES LICENSING CORPORATION
Reel/Frame 024721/0146 →
Continuity (2)
Provisional Application 61022787 · Jan 22, 2008
Related Publication 20100316118A1 · Dec 16, 2010