IP Library Granted Patent US 7,042,943
Granted Patent B2
US 7,042,943 · App. 10/615,117 · Granted May 9, 2006

Method and apparatus for control of rate-distortion tradeoff by mode selection in video encoders

Assignee: Apple Computer, Inc.
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 7,042,943
App. No.
10/615,117
Granted
May 9, 2006
Kind
B2
Abstract

A Method And Apparatus For Control of Rate-Distortion Tradeoff by Mode Selection in Video Encoders is Disclosed. The system of the present invention first selects a distortion value D near a desired distortion value. Next, the system determines a quantizer value Q using the selected distortion value D. The system then calculates a Lagrange multiplier lambda using the quantizer value Q. Using the selected Lagrange multiplier lambda and quantizer value Q, the system begins encoding pixelblocks. If the system detects a potential buffer overflow, then the system will increase the Lagrange multiplier lambda. If the Lagrange multiplier lambda exceeds a maximum lambda threshold then the system will increase the quantizer value Q. If the system detects a potential buffer underflow, then the system will decrease the Lagrange multiplier lambda. If the Lagrange multiplier lambda falls below a minimum lambda threshold then the system will decrease the quantizer value Q.

Claims (46)

1. A method of controlling rate distortion in a video compression and encoding system, said method comprising:

selecting a distortion value D near a desired distortion value;

determining quantizer value Q using said distortion value D;

calculating a Lagrange multiplier lambda using said quantizer value Q;

encoding a pixelblock using said Lagrange multiplier lambda and said quantizer value Q;

increasing said Lagrange multiplier lambda when a buffer exceeds an overflow threshold value and increasing said quantizer value Q if said Lagrange multiplier lambda exceeds a maximum lambda threshold; and

decreasing said Lagrange multiplier lambda when a buffer falls below an underflow threshold value and decreasing said quantizer value Q if said Lagrange multiplier lambda falls below a minimum lambda threshold.

2. The method as claimed in claim 1 , said method further comprising:

recalculating said Lagrange multiplier lambda if said quantizer value Q is adjusted.

3. The method as claimed in claim 1 , said method further comprising wherein said Lagrange multiplier lambda is increased or decreased by an amount dependent upon said quantizer value Q.

4. A method of controlling rate distortion in a video compression and encoding system, said method comprising:

selecting a distortion value D near a desired distortion value;

determining a quantizer value Q using said distortion value D;

calculating a Lagrange multiplier lambda using said quantizer value Q;

encoding a pixelblock using said Lagrange multiplier lambda and said quantizer value Q;

calculating a visual mask value M; and

increasing said Lagrange multiplier lambda when said visual mask value M times said Lagrange multiplier lambda is less than a maximum threshold for said Lagrange multiplier lambda.

5. The method as claimed in claim 4 wherein said maximum threshold for said Lagrange multiplier lambda is dependent upon said quantizer value Q.

6. The method as claimed in claim 4 , said method further comprising:

increasing said Lagrange multiplier lambda when a buffer exceeds an overflow threshold value and increasing said quantizer value Q if said Lagrange multiplier lambda exceeds a maximum lambda threshold; and

decreasing said Lagrange multiplier lambda when a buffer falls below an underflow threshold value and decreasing said quantizer value Q if said Lagrange multiplier lambda falls below a minimum lambda threshold.

7. The method as claimed in claim 6 , said method further comprising:

recalculating said Lagrange multiplier lambda if said quantizer value Q is adjusted.

8. A computer-readable medium, said computer-readable medium containing a set of computer instructions for implementing a method of controlling rate distortion in a video compression and encoding system with the following steps:

selecting a distortion value D near a desired distortion value;

determining a quantizer value Q using said distortion value D;

calculating a Lagrange multiplier lambda using said quantizer value Q;

encoding a pixelblock using said Lagrange multiplier lambda and said quantizer value Q;

increasing said Lagrange multiplier lambda when a buffer exceeds an overflow threshold value and increasing said quantizer value Q if said Lagrange multiplier lambda exceeds a maximum lambda threshold; and

decreasing said Lagrange multiplier lambda when a buffer falls below an underflow threshold value and decreasing said quantizer value Q if said Lagrange multiplier lambda falls below a minimum lambda threshold.

9. The computer-readable medium as claimed in claim 8 wherein said set of computer instructions further implement the steps of:

recalculating said Lagrange multiplier lambda if said quantizer value Q is adjusted.

10. The computer-readable medium as claimed in claim 8 wherein said Lagrange multiplier lambda is increased or decreased by an amount dependent upon said quantizer value Q.

11. A computer-readable medium, said computer-readable medium containing a set of computer instructions for implementing a method of controlling rate distortion in a video compression and encoding system with the following steps:

selecting a distortion value D near a desired distortion value;

determining a quantizer value Q using said distortion value D;

calculating a Lagrange multiplier lambda using said quantizer value Q;

encoding a pixelblock using said Lagrange multiplier lambda and said quantizer value Q;

calculating a visual mask value M; and

increasing said Lagrange multiplier lambda when said visual mask value M times said Lagrange multiplier lambda is less than a maximum threshold for said Lagrange multiplier lambda.

12. The computer-readable medium as claimed in claim 11 wherein said maximum threshold for said Lagrange multiplier lambda is dependent upon said quantizer value Q.

13. The computer-readable medium as claimed in claim 11 wherein said set of computer instructions further implement the steps of:

increasing said Lagrange multiplier lambda when a buffer exceeds an overflow threshold value and increasing said quantizer value Q if said Lagrange multiplier lambda exceeds a maximum lambda threshold; and

decreasing said Lagrange multiplier lambda when a buffer falls below an underflow threshold value and decreasing said quantizer value Q if said Lagrange multiplier lambda falls below a minimum lambda threshold.

14. The computer-readable medium as claimed in claim 13 wherein said set of computer instructions further implement the steps of:

recalculating said Lagrange multiplier lambda if said quantizer value Q is adjusted.

Assignments (2)
CHANGE OF NAME Recorded Feb 9, 2009
From: APPLE COMPUTER, INC.
To: APPLE INC.
Reel/Frame 022228/0434 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2003
From: HASKELL, BARIN G.; DUMITRAS, ADRIANA; PURI, ATUL
To: APPLE COMPUTER, INC.
Reel/Frame 014285/0518 →
Continuity (2)
Provisional Application 6042473800 · Nov 8, 2002
Related Publication 20040184546A1 · Sep 23, 2004