IP Library Granted Patent US 9,197,889
Granted Patent B2
US 9,197,889 · App. 14/186,938 · Granted Nov 24, 2015

Method and system for multi-layer rate control for a multi-codec system

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 9,197,889
App. No.
14/186,938
Granted
Nov 24, 2015
Kind
B2
Abstract

A video transmitter comprising a plurality of encoders may be operable to determine, for a transport stream, a constant overall number of bits per time interval corresponding to a frame in the transport stream. For each time interval corresponding to a start and an end of encoding of each of frames using each of the encoders, the video transmitter may allocate a target number of bits to each of the frames to achieve the constant overall number of bits. The allocation of the target number of bits may be based on frame types of the frames and CODEC types of the encoders, where the allocated target number of bits for each of the frames meets buffer overflow/underflow requirements associated with each of the encoders. A quantization parameter (QP) may be calculated and adjusted at each of one or more layers for generating an actual number of bits during encoding.

Claims (44)

1. A method comprising:

determining an overall number of bits per time interval that corresponds to transferring a frame in a transport stream, the transport stream including a plurality of streams each generated according to a different encoding standard; and

allocating, by circuitry, a target number of bits to each of a plurality of frames of the plurality of streams to achieve the overall number of bits for the transport stream based on a frame type of each of the plurality of frames and the different encoding standards according to which each of the plurality of streams is generated.

2. The method of claim 1 , comprising:

determining a target number of bits for a macroblock of each of the plurality of frames based on the target number of bits allocated to each of the plurality of frames.

3. The method of claim 2 , comprising:

calculating a quantization parameter for the macroblock based on the target number of bits determined for the macroblock.

4. The method of claim 3 , comprising:

determining rate control information associated with the macroblock at each of one or more layers of each of the plurality of streams.

5. The method of claim 4 , comprising:

adjusting the quantization parameter calculated for each of the one or more layers based on the rate control information at each of the one or more layers to generate a final quantization parameter.

6. The method of claim 4 , wherein

the rate control information at a layer comprises a bit error that corresponds to a difference between an actual number of bits generated during encoding for the layer and a target number of bits corresponding to the actual number of bits for the layer.

7. The method of claim 6 , comprising:

adjusting the quantization parameter based on a proportional value, an integral value or a derivative value of the bit error at each of the one or more layers.

8. The method of claim 4 , wherein

at least one of the one or more layers includes a multi-group of pictures, a group of pictures, a frame, a multi-macroblock or a macroblock.

9. The method of claim 1 , comprising:

adjusting a total number of frames in a group of pictures for each of one or more of the plurality of streams for the allocation of the target number of bits to each of the plurality of frames.

10. A system comprising:

circuitry configured to

determine an overall number of bits per time interval that corresponds to transferring a frame in a transport stream, the transport stream including a plurality of streams each generated according to a different encoding standard; and

allocate a target number of bits to each of a plurality of frames of the plurality of streams to achieve the overall number of bits for the transport stream based on a frame type of each of the plurality of frames and the different encoding standards according to which each of the plurality of streams is generated.

11. The system of claim 10 , wherein

the circuitry is configured to determine a target number of bits for a macroblock of each of the plurality of frames based on the target number of bits allocated to each of the plurality of frames.

12. The system of claim 11 , wherein

the circuitry is configured to calculate a quantization parameter for the macroblock based on the target number of bits determined for the macroblock.

13. The system of claim 12 , wherein

the circuitry is configured to determine rate control information associated with the macroblock at each of one or more layers of each of the plurality of streams.

14. The system of claim 13 , wherein

the circuitry is configured to adjust the quantization parameter calculated for each of the one or more layers based on the rate control information at each of the one or more layers to generate a final quantization parameter.

15. The system of claim 10 , wherein

the rate control information at a layer comprises a bit error that corresponds to a difference between an actual number of bits generated during encoding for the layer and a target number of bits corresponding to the actual number of bits for the layer.

16. The system of claim 15 , wherein

the circuitry is configured to adjust the quantization parameter based on a proportional value, an integral value or a derivative value of the bit error at one or more layers of each of the plurality of streams.

17. The system of claim 13 , wherein

at least one of the one or more layers includes a multi-group of pictures, a group of pictures, a frame, a multi-macroblock or a macroblock.

18. The system of claim 10 , wherein,

the circuitry is configured to adjust a total number of frames in a group of pictures for each of one or more of the plurality of streams for the allocation of the target number of bits to each of the plurality of frames.

19. The system of claim 10 , wherein

the circuitry includes a rate control module.

20. A non-transitory computer-readable medium including computer program instructions, which when executed by circuitry, causes the circuitry to:

determine an overall number of bits per time interval that corresponds to transferring a frame in a transport stream, the transport stream including a plurality of streams each generated according to a different encoding standard; and

allocate a target number of bits to each of a plurality of frames of the plurality of streams to achieve the overall number of bits for the transport stream based on a frame type of each of the plurality of frames and the different encoding standards according to which each of the plurality of streams is generated.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER 9,385,856 TO 9,385,756 PREVIOUSLY RECORDED AT REEL: 47349 FRAME: 001. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 22, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 051144/0648 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE PREVIOUSLY RECORDED ON REEL 047229 FRAME 0408. ASSIGNOR(S) HEREBY CONFIRMS THE THE EFFECTIVE DATE IS 09/05/2018. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047349/0001 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047229/0408 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2014
From: BERBECEL, GHEORGHE; CHEN, XUEMIN
To: BROADCOM CORPORATION
Reel/Frame 032313/0290 →