IP Library Granted Patent US 9,781,433
Granted Patent B2
US 9,781,433 · App. 11/412,268 · Granted Oct 3, 2017

Systems, methods, and apparatus for real-time video encoding

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,781,433
App. No.
11/412,268
Granted
Oct 3, 2017
Kind
B2
Abstract

Presented herein are systems, methods, and apparatus for real-time high definition television encoding. In one embodiment, there is presented a method for encoding video data. The method comprises receiving an estimates of amounts of data for encoding earlier pictures; providing target rates based on the estimates of data for encoding the earlier pictures; receiving measures indicative of the actual data for encoding the earlier pictures; and providing at least one target rate for encoding at least one later picture based on the target rates for encoding the earlier pictures and the measures indicative of the actual data for encoding the earlier pictures.

Claims (43)

1. A method for encoding video data, said method comprising:

receiving, from a plurality of encoders, at least one estimated amount of data for encoding at least one earlier portion of a frame;

providing at least one target rate based on the at least one estimated amount of data for encoding the at least one earlier portion of the frame;

receiving at least one measure indicative of actual data for encoding the at least one earlier portion of the frame;

determining a type of at least one later portion of the frame;

biasing the at least one target rate for the at least one later portion of the frame in response to the at least one earlier portion of the frame being determined to be of a certain type and the at least one target rate being exceeded by a threshold amount for the at least one earlier portion of the certain type; and

providing at least one target rate for encoding the at least one later portion of the frame based on the at least one target rate for encoding the at least one earlier portion of the frame and the at least one measure indicative of the actual data for encoding the at least one earlier portion of the frame.

2. The method of claim 1 , wherein receiving the at least one measure further comprises:

receiving a count of BINs for encoding the at least one earlier portion.

3. The method of claim 2 , further comprising:

estimating an amount of bits from the count of BINS.

4. The method of claim 3 , further comprising:

receiving a count of bits for encoding the at least one earlier portion; and

comparing the count of bits for encoding the at least one earlier portion to the amount of bits from the count of BINS for the at least one earlier portion.

5. The method of claim 4 , further comprising:

receiving a count of BINs for encoding the at least one later portion; and

estimating an amount of bits from the count of BINs for encoding the at least one later portion, based on the comparing of the count of bits for encoding the at least one earlier portion to the amount of bits from the count of BINs for the at least one earlier portion.

6. The method of claim 1 , wherein the plurality of encoders process the video data in parallel.

7. The method of claim 1 , further comprising biasing the target rate for later portions that are a certain picture type in response to the target rate being exceeded by a threshold amount for earlier portions of the certain picture type.

8. The method of claim 3 , further comprising biasing the target rate for later portions that are a certain picture type in response to the target rate exceeding the amount of bits for encoding the earlier portions of the certain type from the count of BINs.

9. A master server for encoding video data, said master server comprising:

at least one port for receiving, from a plurality of encoders, estimates of amounts of data for encoding earlier portions of a frame, providing target rates for the earlier portions, receiving indications of actual data for encoding the earlier portions, and at least one processor configured to determine a type of a first and second portion of at least one later portion of the frame, bias a first target rate in a first direction for the first portion in response to the first portion being determined to be a first type and the first target rate being exceeded by a threshold amount for earlier portions of the first type, and bias a second target rate in a second direction for the second portion in response to the second portion being determined to be a second type and the second target rate being exceeded by a threshold amount for earlier portions of the second type.

10. The master server of claim 9 , wherein receiving indications of the actual data for encoding the earlier portions further comprises:

receiving a count of BINs for encoding the earlier portions.

11. The master server of claim 10 , further comprising:

a first memory for configured to store a plurality of instructions for estimating an amount of bits from the count of BINs.

12. The master server of claim 11 , wherein the at least one port receives a count of bits for encoding the earlier portions and wherein execution of the plurality of instructions causes comparing the count of bits for encoding the earlier portions to the amount of bits from the count of BINs for the earlier portions.

13. The master server of claim 12 , wherein the at least one port receives a count of BINs for encoding the at least one later portion; and

wherein execution of the plurality of instructions causes estimating an amount of bits from the count of BINs for encoding the at least one later portion, based on the comparing of the count of bits for encoding the earlier portions to the amount of bits from the count of BINs for the earlier portions.

14. The master server of claim 13 , further comprising:

a second memory configured to store estimated rates and the target rates.

15. The master server of claim 10 , further comprising an encoder configured to code quantized prediction errors for the earlier portions into the BINs.

16. An apparatus comprising:

at least one port configured to:

receive estimates of amounts of data for encoding earlier portions of a frame, the estimates being determined based on counts of bins of bin strings used to encode the earlier portions of the frame;

provide target rates for the earlier portions;

receive indications of actual amounts of data for encoding the earlier portions; and

provide at least one target rate for encoding at least one later portion of the frame the at least one target rate being determined based on the target rates for encoding the earlier portions and the indications of the actual amounts of data for encoding the earlier portions; and

at least one processor configured to:

bias an estimate of an amount of data for encoding the at least one later portion in response to a determination that the estimate of the amount of data for encoding at least one earlier portion of the frame differs from the actual amount of data for encoding the at least one earlier portion of the frame by a threshold amount, the estimate of the amount of data for encoding the at least one later portion of the frame being determined from a count of bins of a bin string used to encode the at least one later portion.

17. The apparatus of claim 16 , further comprising:

a first memory operably coupled to the port and configured to store plurality of instructions for determining respective estimates of amounts of bits from the respective counts of bins of the respective bin strings.

18. The apparatus of claim 16 , wherein at least one of the estimates of the amounts of data for encoding at least one of the earlier portions is received from a plurality of encoders.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0702 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047422/0464 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2017
From: MOHSENIAN, NADER
To: BROADCOM CORPORATION
Reel/Frame 043361/0974 →
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 25, 2009
From: BROADCOM ADVANCED COMPRESSION GROUP, LLC
To: BROADCOM CORPORATION
Reel/Frame 022299/0916 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2006
From: CHIN, DOUGLAS
To: BROADCOM ADVANCED COMPRESSION GROUP, LLC
Reel/Frame 018018/0700 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2006
From: CHIN, DOUGLAS
To: BROADCOM CORPORATION
Reel/Frame 018011/0760 →