IP Library Granted Patent US 6,940,903
Granted Patent B2
US 6,940,903 · App. 10/092,383 · Granted Sep 6, 2005

Systems and methods for performing bit rate allocation for a video data stream

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 6,940,903
App. No.
10/092,383
Granted
Sep 6, 2005
Kind
B2
Abstract

The present invention is related to video encoding. In an embodiment, a bit budget is calculated for a first scene. In addition, bit budgets for corresponding frames, including at least a first frame, within the first scene are determined. Optionally, bit budgets corresponding to macroblocks within the first frame are also determined.

Claims (28)

1. A bit allocation method for use with video sequences, the method comprising:

receiving a clip bit budget for at least a first clip;

determining a scene quantity for the first clip;

determining a quantity of predicted frames in a first scene in the first clip; and

calculating a bit budget for the first scene based at least in part on the scene quantity for the first clip, the first clip bit budget, a quantity of intracoded frames in the first scene, and the quantity of predicted frames in the first scene, the bit budget being calculated based at least in part by multiplying the clip bit budget by a sum of the number of predicted frames and a first constant, and dividing by a sum of the quantity of intracoded and predicted frames in the clip and the number of clip scenes multiplied by a second constant.

2. The bit allocation method as defined in claim 1 , wherein each scene in the first clip begins with an intracoded frame.

3. The bit allocation method as defined in claim 1 , wherein the first scene is a GOV.

4. The bit allocation method as defined in claim 1 , wherein the first scene is a GOP.

5. The bit allocation method as defined in claim 1 , wherein the predicted frames are P-VOPs.

6. The bit allocation method as defined in claim 1 , further comprising adjusting a quantization parameter for a first predicted frame in the first scene based on the bit budget for the first scene and current bit usage.

7. The bit allocation method as defined in claim 6 , wherein the adjustment of the quantization parameter is limited to a first range.

8. The bit allocation method as defined in claim 1 , further comprising adjusting a quantization parameter for a first predicted frame in the first scene upwards at least partly in response to determining that current bit usage is greater then a value related to the bit budget for the first scene.

9. The bit allocation method as defined in claim 1 , further comprising adjusting a quantization parameter for a first predicted frame in the first scene downwards at least partly in response to determining that current bit usage is less then a value related to the bit budget for the first scene.

10. The bit allocation method as defined in claim 1 , further comprising adjusting a quantization parameter for a macroblock based at least in part on a channel rate.

11. A bit allocation method for use with video clip scenes, each scene being formed by at least one frame and the at least one frame being formed by at least one macroblock, the method comprising:

determining a frame complexity for each frame of the scene, the frame complexity being a ratio of a texture bit count for the frame to an average texture bit count summed with a ratio of a motion vector bit count for the frame to the average motion vector bit count;

determining scene complexity as a sum of the frame complexity for each frame divided by a total number of frames;

calculating a bit budget for a scene based on the scene complexity and capacity of a decoder buffer;

calculating a bit budget for each frame; and

calculating a bit budget for each macroblock.

12. The bit allocation method as defined in claim 11 , wherein the scene is a GOP.

13. The bit allocation method as defined in claim 11 , wherein the scene is a GOV.

14. The bit allocation method as defined in claim 11 , wherein the bit budget for each frame is based on quantization parameter-invariant criteria.

15. The bit allocation method as defined in claim 11 , wherein the bit budget for each frame is based at least in part on how may texture bits are in the frame and how many motion vector bits there are for the frame.

16. The bit allocation method as defined in claim 15 , wherein the bit budget for each frame is further based on a mean absolute difference value corresponding to the frame relative to another frame.

17. The bit allocation method as defined in claim 11 , wherein the bit budget for the frame is based at least in part on the bit budget for the scene less a quantity of bits used for already coded frames in the scene and the complexity of the scene less complexities of frames already coded in the scene.

18. The bit allocation method as defined in claim 11 , wherein a single quantization parameter value is used for each macroblock.

19. The bit allocation method as defined in claim 11 , wherein a quantization parameter for each macroblock is based at least in part on current bit usage and budgeted bit usage.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded May 5, 2026
From: CITIBANK, N.A., AS AGENT
To: COREL CORPORATION; CASCADE BIDCO CORP.; COREL INC.; CLEARSLIDE INC.
Reel/Frame 075559/0953 →
SECURITY INTEREST Recorded Jul 3, 2019
From: CASCADE BIDCO CORP.; COREL INC.; CLEARSLIDE INC.
To: CITIBANK, N.A.
Reel/Frame 049678/0950 →
SECURITY INTEREST Recorded Jul 3, 2019
From: CASCADE BIDCO CORP.; COREL INC.; CLEARSLIDE INC.
To: CANTOR FITZGERALD SECURITIES
Reel/Frame 049678/0980 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2019
From: COREL SOFTWARE LLC
To: COREL CORPORATION
Reel/Frame 048067/0586 →
CHANGE OF NAME Recorded Nov 29, 2018
From: 8324450 CANADA INC.
To: COREL SOFTWARE LLC
Reel/Frame 047675/0950 →