IP Library › Granted Patent US 8,594,187
Granted Patent B2
US 8,594,187 · App. 11/777,395 · Granted Nov 26, 2013

Efficient video block mode changes in second pass video coding

Inventors: Peisong Chen (San Diego, CA); Phanikumar Bhamidipati (San Diego, CA); Sitaraman Ganapathy Subramania (San Diego, CA); Amit Rohatgi (San Diego, CA); Seyfullah Halit Oguz (San Diego, CA); Scott T. Swazey (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,594,187
App. No.
11/777,395
Granted
Nov 26, 2013
Kind
B2
Abstract

This disclosure describes techniques for second pass video coding in a multi-pass video coding scenario. The coding modes for some video blocks encoded during a second pass may be changed relative to the coding modes used for such video blocks in the first pass. However, motion information does not change for those video blocks that have the changed modes. In particular, mode changes can be made in the second coding pass relative to the modes used in the first coding pass without changing the manner in which motion information will be derived at the decoder, e.g., due to similarities between the original modes of the first pass and changed modes used in the second pass. The second pass coding techniques may also include quantization parameter adjustments, and the mode changes can cause such quantization parameter adjustments to have more profound refinements effects on the second pass coding.

Claims (66)

1. A method of video coding comprising:

encoding video blocks in a first encoding pass, wherein the first encoding pass selects one of a plurality of video coding modes for the video blocks that define motion information for the video blocks; and

encoding the video blocks in a second encoding pass, wherein the second encoding pass adjusts one or more quantization parameters associated with the video blocks, and changes at least some of the video coding modes associated with the video blocks based on the adjusted quantization parameters, wherein the changed video coding modes affect residual information for the video blocks but do not change the motion information.

2. The method of claim 1 , wherein the second encoding pass:

scales Lagrange multiplier values based on the adjusted quantization parameters; and

changes at least some of the video coding modes associated with the video blocks based on the scaled Lagrange multiplier values.

3. The method of claim 1 , wherein at least some of the video coding modes change from skipped modes to direct modes; and

the second coding pass changes a given video block from a skipped mode video block to a direct mode video block, and generates residual information for the given video block in the direct mode.

4. The method of claim 1 , wherein at least some of the video coding modes change from direct modes to skipped modes; and

the second coding pass changes a given video block from a direct mode video block to a skipped mode video block, and eliminates residual information for the given video block in the skipped mode.

5. The method of claim 1 , wherein at least some of the video coding modes change from skipped modes to inter modes; and

the second coding pass changes a given video block from a skipped mode video block to an inter mode video block, assigns a motion vector to the inter mode video block based on a motion vector calculation for the skipped mode video block, and generates residual information for the given video block in the inter mode.

6. The method of claim 1 , further comprising transmitting the video blocks encoded in the second encoding pass to another device.

7. The method of claim 6 , wherein the second coding pass adjusts the quantization parameters and changes at least some of the video coding modes to collectively adjust a bit rate associated with transmitting the video blocks.

8. The method of claim 1 , wherein encoding the video blocks in the second pass includes encoding 16 by 16 macroblocks of predictive (P) slices or frames and bi-directional predictive (B) slices or frames, and wherein changing at least some of the video coding modes comprises:

changing from a skipped macroblock mode to a direct macroblock mode for at least some video blocks of B slices or frames, and

changing from a skipped macroblock mode to an inter 16 by 16 macroblock mode for at least some video blocks of P slices or frames.

9. An apparatus comprising a video encoder that:

encodes video blocks in a first encoding pass, wherein the first encoding pass selects one of a plurality of video coding modes for the video blocks that define motion information for the video blocks; and

encodes the video blocks in a second encoding pass, wherein the second encoding pass adjusts one or more quantization parameters associated with the video blocks, and changes at least some of the video coding modes associated with the video blocks based on the adjusted quantization parameters, wherein the changed video coding modes affect residual information for the video blocks but do not change the motion information.

10. The apparatus of claim 9 , wherein the second encoding pass:

scales Lagrange multiplier values based on the adjusted quantization parameters; and

changes at least some of the video coding modes associated with the video blocks based on the scaled Lagrange multiplier values.

11. The apparatus of claim 9 , wherein at least some of the video coding modes change from skipped modes to direct modes; and

the second coding pass changes a given video block from a skipped mode video block to a direct mode video block, and generates residual information for the given video block in the direct mode.

12. The apparatus of claim 9 , wherein at least some of the video coding modes change from direct modes to skipped modes; and

the second coding pass changes a given video block from a direct mode video block to a skipped mode video block, and eliminates residual information for the given video block in the skipped mode.

13. The apparatus of claim 9 , wherein at least some of the video coding modes change from skipped modes to inter modes; and

the second coding pass changes a given video block from a skipped mode video block to an inter mode video block, assigns a motion vector to the inter mode video block based on a motion vector calculation for the skipped mode video block, and generates residual information for the given video block in the inter mode.

14. The apparatus of claim 9 , further comprising a modulator/transmitter that modulates and transmits the video blocks encoded in the second encoding pass to another device.

15. The apparatus of claim 14 , wherein the second coding pass adjusts the quantization parameters and changes at least some of the video coding modes to collectively adjust a bit rate associated with transmitting the video blocks.

16. The apparatus of claim 9 , wherein encoding the video blocks in the second pass includes encoding 16 by 16 macroblocks of predictive (P) slices or frames and bi-directional predictive (B) slices or frames, and wherein changing at least some of the video coding modes comprises:

changing from a skipped macroblock mode to a direct macroblock mode for at least some video blocks of B slices or frames, and

changing from a skipped macroblock mode to an inter 16 by 16 macroblock mode for at least some video blocks of P slices or frames.

17. A non-transitory computer-readable medium comprising instructions that, when executed in a processor cause the processor to:

encode video blocks in a first encoding pass, wherein the first encoding pass selects one of a plurality of video coding modes for the video blocks that define motion information for the video blocks; and

encode the video blocks in a second encoding pass, wherein the second encoding pass adjusts one or more quantization parameters associated with the video blocks, and changes at least some of the video coding modes associated with the video blocks based on the adjusted quantization parameters, wherein the changed video coding modes affect residual information for the video blocks but do not change the motion information.

18. The non-transitory computer-readable medium of claim 17 , wherein the second encoding pass:

scales Lagrange multiplier values based on the adjusted quantization parameters; and

changes at least some of the video coding modes associated with the video blocks based on the scaled Lagrange multiplier values.

19. The non-transitory computer-readable medium of claim 17 , wherein at least some of the video coding modes change from skipped modes to direct modes; and

the second coding pass changes a given video block from a skipped mode video block to a direct mode video block, and generates residual information for the given video block in the direct mode.

20. The non-transitory computer-readable medium of claim 17 , wherein at least some of the video coding modes change from direct modes to skipped modes; and

the second coding pass changes a given video block from a direct mode video block to a skipped mode video block, and eliminates residual information for the given video block in the skipped mode.

21. The non-transitory computer-readable medium of claim 17 , wherein at least some of the video coding modes change from skipped modes to inter modes; and

the second coding pass changes a given video block from a skipped mode video block to an inter mode video block, assigns a motion vector to the inter mode video block based on a motion vector calculation for the skipped mode video block, and generates residual information for the given video block in the inter mode.

22. The non-transitory computer-readable medium of claim 17 , further comprising instructions that cause transmission of the video blocks encoded in the second encoding pass to another device.

23. The non-transitory computer-readable medium of claim 22 , wherein the second coding pass adjusts the quantization parameters and changes at least some of the video coding modes to collectively adjust a bit rate associated with transmitting the video blocks.

24. The non-transitory computer-readable medium of claim 17 , wherein encoding the video blocks in the second pass includes encoding 16 by 16 macroblocks of predictive (P) slices or frames and bi-directional predictive (B) slices or frames, and wherein changing at least some of the video coding modes comprises:

changing from a skipped macroblock mode to a direct macroblock mode for at least some video blocks of B slices or frames, and

changing from a skipped macroblock mode to an inter 16 by 16 macroblock mode for at least some video blocks of P slices or frames.

25. A device comprising:

means for encoding video blocks in a first encoding pass, wherein means for encoding video blocks in the first encoding pass includes means for selecting one of a plurality of video coding modes for the video blocks that define motion information for the video blocks; and

means for encoding the video blocks in a second encoding pass, wherein means for encoding the video blocks in the second encoding pass includes means for adjusting one or more quantization parameters associated with the video blocks, and means for changing at least some of the video coding modes associated with the video blocks based on the adjusted quantization parameters, wherein the changed video coding modes affect residual information for the video blocks but do not change the motion information.

26. The device of claim 25 , wherein the means for encoding the video blocks in the second encoding pass includes means for scaling Lagrange multiplier values based on the adjusted quantization parameters, and wherein the means for changing comprises means for changing at least some of the video coding modes associated with the video blocks based on the scaled Lagrange multiplier values.

27. The device of claim 25 , wherein at least some of the video coding modes change from skipped modes to direct modes; and

means for encoding the video blocks in the second encoding pass includes means for changing a given video block from a skipped mode video block to a direct mode video block, and means for generating residual information for the given video block in the direct mode.

28. The device of claim 25 , wherein at least some of the video coding modes change from direct modes to skipped modes; and

means for encoding the video blocks in the second encoding pass includes means for changing a given video block from a direct mode video block to a skipped mode video block, and means for eliminating residual information for the given video block in the skipped mode.

29. The device of claim 25 , wherein at least some of the video coding modes change from skipped modes to inter modes; and

means for encoding the video blocks in the second encoding pass includes means for changing a given video block from a skipped mode video block to an inter mode video block, means for assigning a motion vector to the inter mode video block based on a motion vector calculation for the skipped mode video block, and means for generating residual information for the given video block in the inter mode.

30. The device of claim 25 , further comprising means for transmitting the video blocks encoded in the second encoding pass to another device.

31. The device of claim 30 , wherein the means for encoding the video blocks in the second encoding pass includes means for adjusting the quantization parameters and means for changing at least some of the video coding modes to collectively adjust a bit rate associated with transmitting the video blocks.

32. The device of claim 25 , wherein means for encoding the video blocks in the second encoding pass includes means for encoding 16 by 16 macroblocks of predictive (P) slices or frames and bi-directional predictive (B) slices or frames, and wherein means for changing at least some of the video coding modes comprises:

means for changing from a skipped macroblock mode to a direct macroblock mode for at least some video blocks of B slices or frames, and

means for changing from a skipped macroblock mode to an inter 16 by 16 macroblock mode for at least some video blocks of P slices or frames.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE 3RD INVENTOR'S NAME FROM SITARAMAN GANAPATHY SUBRAMANIA TO SITARAMAN GANAPATHY SUBRAMANIAN. PREVIOUSLY RECORDED ON REEL 019554 FRAME 0932. ASSIGNOR(S) HEREBY CONFIRMS THE 3RD INVENTOR'S NAME SHOULD BE SITARAMAN GANAPATHY SUBRAMANIAN.. Recorded Oct 22, 2013
From: CHEN, PEISONG; BHAMIDIPATI, PHANIKUMAR; SUBRAMANIAN, SITARAMAN GANAPATHY; ROHATGI, AMIT; OGUZ, SEYFULLAH HALIT; SWAZEY, SCOTT T.
To: QUALCOMM INCORPORATED
Reel/Frame 031468/0351 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2007
From: CHEN, PEISONG; BHAMIDIPATI, PHANIKUMAR; SUBRAMANIA, SITARAMAN GANAPATHY; ROHATGI, AMIT; OGUZ, SEYFULLAH HALIT; SWAZEY, SCOTT T.
To: QUALCOMM INCORPORATED
Reel/Frame 019554/0932 →
Continuity (2)
Provisional Application 60892804 · Mar 2, 2007
Related Publication 20080212677A1 · Sep 4, 2008