IP Library Granted Patent US 8,711,930
Granted Patent B2
US 8,711,930 · App. 12/499,998 · Granted Apr 29, 2014

Non-zero rounding and prediction mode selection techniques in video encoding

Inventors: Marta Karczewicz (San Diego, CA); Peisong Chen (San Diego, CA); Yan Ye (San Diego, CA)
Assignee: QUALCOMM Incorporated
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,711,930
App. No.
12/499,998
Granted
Apr 29, 2014
Kind
B2
Abstract

In one aspect of this disclosure, techniques are described for selecting among default weighted prediction, implicit weighted prediction, and explicit weighted prediction. In this context, techniques are also described for adding offset to prediction data, e.g., using the format of explicit weighted prediction to allow for offsets to predictive data that is otherwise determined by implicit or default weighted prediction.

Claims (56)

1. A method of encoding video data, the method comprising:

performing a predefined weighted prediction for a current video block using a predefined weight value;

performing a first explicit weighted prediction for the current video block using a first explicit weight value and a first explicit offset value, wherein the first explicit weight value is based at least in part on the predefined weight value, wherein the first explicit offset is a high precision offset generated as a result of multiplying the first explicit offset by a factor and then rounding the results of the multiplication of the first explicit offset by the factor to an integer number;

performing a second explicit weighted prediction for the current video block using an second explicit weight value and a second explicit offset value;

performing a rate distortion analysis on the predefined weighted prediction, the first explicit weighted predictions, and the second explicit weighted prediction; and

encoding the video data using the predefined weighted prediction, the first explicit weighted prediction, or the second explicit weighted prediction, based at least in part on the rate distortion analysis.

2. The method of claim 1 , further comprising:

encoding one or more syntax elements to indicate whether rounding was used for determining values used for performing the predefined weighted prediction.

3. The method of claim 1 , further comprising selecting the predefined weighted prediction from a bi-directional default weighted prediction and bi-directional implicit weighted prediction based at least in part on a rate distortion analysis.

4. The method of claim 1 , wherein performing a rate distortion analysis on the predefined weighted prediction, the first explicit weighted prediction, and the second explicit weighted prediction includes performing a rate distortion cost calculation based on

J (λ)=λ R+D,

where J(λ) is cost, R is a bit rate, D is a distortion, and λ is a Lagrange multiplier.

5. The method of claim 1 , wherein encoding the video data using the predefined weighted prediction, the first explicit weighted prediction, or the second explicit weighted prediction, based at least in part on the rate distortion analysis includes subtracting prediction data associated with one of the predefined weighted prediction, the first explicit weighted prediction, or the second explicit weighted prediction from the video data to form a residual video block.

6. A video encoder apparatus for encoding video data, the video encoder apparatus comprising:

a memory that is configured to store the video data; and

a motion compensation unit that is configured to:

perform a predefined weighted prediction for a current video block using a predefined weight value;

perform a first explicit weighted prediction for the current video block using a first explicit weight value and a first explicit offset value, wherein the first explicit weight value is based at least in part on the predefined weight value, wherein the first explicit offset is a high precision offset generated as a result of multiplying the first explicit offset by a factor and then rounding the results of the multiplication of the first explicit offset by the factor to an integer number;

perform a second explicit weighted prediction for the current video block using an second explicit weight value and a second explicit offset value;

perform a rate distortion analysis on the predefined weighted prediction, the first explicit weighted prediction, and the second explicit weighted prediction;

encode the video data using one of the predefined weighted prediction, the first explicit weighted prediction, or the second explicit weighted prediction based at least in part on the rate distortion analysis.

7. The video encoder apparatus of claim 6 , wherein the video encoder apparatus encodes one or more syntax elements to indicate whether rounding was used for performing the predefined weighted prediction.

8. The video encoder apparatus of claim 6 , wherein the video encoder apparatus comprises an integrated circuit.

9. The video encoder apparatus of claim 6 , wherein the video encoder apparatus comprises a microprocessor.

10. The video encoder apparatus of claim 6 , wherein the video encoder apparatus comprises a wireless communication device that includes a video encoder.

11. The video encoder apparatus of claim 6 , wherein the motion compensation unit further selects the predefined weighted prediction from a bi-directional default weighted prediction and bi-directional implicit weighted prediction based at least in part on a rate distortion analysis.

12. The video encoder apparatus of claim 6 , wherein performing a rate distortion analysis on the predefined weighted prediction, the first explicit weighted prediction, and the second explicit weighted prediction includes performing a rate distortion cost calculation based on

J (λ)=λ R+D,

where J(λ) is cost, R is a bit rate, D is a distortion, and λ is a Lagrange multiplier.

13. The video encoder apparatus of claim 6 , wherein the motion compensation unit encodes the video data using one of the predefined weighted prediction, the first explicit weighted prediction, or the second explicit weighted prediction based at least in part on the rate distortion analysis by at least subtracting prediction data associated with one of the predefined weighted prediction, the first explicit weighted prediction, or the second explicit weighted prediction from the video data to form a residual video block.

14. A device for encoding video data, the device comprising:

means for performing a predefined weighted prediction for a current video block using a predefined weight value;

means for performing a first explicit weighted prediction for the current video block using a first explicit weight value and a first explicit offset value, wherein the first explicit weight value is based at least in part on the predefined weight value, wherein the first explicit offset is a high precision offset generated as a result of multiplying the first explicit offset by a factor and then rounding the results of the multiplication of the first explicit offset by the factor to an integer number;

means for performing a second explicit weighted prediction for the current video block using a second explicit weight value and a second explicit offset value;

means for performing a rate distortion analysis on the predefined weighted prediction, the first explicit weighted prediction, and the second explicit weighted prediction; and

means for encoding the video data using one of the predefined weighted prediction, the first explicit weighted prediction, or the second explicit weighted prediction based at least in part on the rate distortion analysis.

15. The device of claim 14 , further comprising:

means for encoding one or more syntax elements to indicate whether rounding was used for performing the predefined weighted prediction.

16. The device of claim 14 , further comprising means for selecting the predefined weighted prediction from a bi-directional default weighted prediction and bi-directional implicit weighted prediction based at least in part on a rate distortion analysis.

17. The device of claim 14 , wherein means for performing a rate distortion analysis on the predefined weighted prediction, the first explicit weighted prediction, and the second explicit weighted prediction includes means for performing a rate distortion cost calculation based on

J (λ)=λ R+D,

where J(λ) is cost, R is a bit rate, D is a distortion, and λ is a Lagrange multiplier.

18. The device of claim 14 , wherein means for encoding the video data using one of the predefined weighted prediction, the first explicit weighted prediction, or the second explicit weighted prediction based at least in part on the rate distortion analysis include means for subtracting prediction data associated with one of the predefined weighted prediction, the first explicit weighted prediction, or the second explicit weighted prediction from the video data to form a residual video block.

19. A non-transitory computer-readable storage medium comprising instructions that when executed cause a processor to:

perform a predefined weighted prediction for a current video block using a predefined weight value;

perform a first explicit weighted prediction for the current video block using a first explicit weight value and a first explicit offset value, wherein the first explicit weight value is based at least in part on the predefined weight value, wherein the first explicit offset is a high precision offset generated as a result of multiplying the first explicit offset by a factor and then rounding the results of the multiplication of the first explicit offset by the factor to an integer number;

perform a second explicit weighted prediction for the current video block using an second explicit weight value and a second explicit offset value;

perform a rate distortion analysis on the predefined weighted prediction, the first explicit weighted prediction, and the second explicit weighted prediction; and

encode the video data using one of the predefined weighted prediction, the first explicit weighted prediction, or the second explicit weighted prediction, based at least in part on the rate distortion analysis.

20. The non-transitory computer-readable medium of claim 19 , further comprising instructions that when executed cause the processor to:

encode one or more syntax elements to indicate whether rounding was used for performing the predefined weighted prediction.

21. The non-transitory computer-readable medium of claim 19 , further comprising instructions that when executed cause a processor to select the predefined weighted prediction from a bi-directional default weighted prediction and bi-directional implicit weighted prediction based at least in part on a rate distortion analysis.

22. The non-transitory computer-readable medium of claim 19 , wherein performing a rate distortion analysis on the predefined weighted prediction, the first explicit weighted prediction, and the second explicit weighted prediction includes performing a rate distortion cost calculation based on

J (λ)=λ R+D,

where J(λ) is cost, R is a bit rate, D is a distortion, and λ is a Lagrange multiplier.

23. The non-transitory computer-readable medium of claim 19 , wherein the instructions that when executed cause a processor to encode the video data using one of the predefined weighted prediction, the first explicit weighted prediction, or the second explicit weighted prediction, based at least in part on the rate distortion analysis include instructions that when executed cause a processor to subtract prediction data associated with one of the predefined weighted prediction, the first explicit weighted prediction, or the second explicit weighted prediction from the video data to form a residual video block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2009
From: KARCZEWICZ, MARTA; CHEN, PEISONG; YE, YAN
To: QUALCOMM INCORPORATED
Reel/Frame 023031/0865 →
Continuity (1)
Related Publication 20110007799A1 · Jan 13, 2011