IP Library Granted Patent US 10,021,409
Granted Patent B2
US 10,021,409 · App. 13/467,624 · Granted Jul 10, 2018

Apparatuses and methods for estimating bitstream bit counts

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 10,021,409
App. No.
13/467,624
Granted
Jul 10, 2018
Kind
B2
Abstract

Examples of methods and apparatuses for estimating bit counts of a bitstream are described herein. An entropy encoder may include a bitstream encoding module and a bit count estimation module. The bitstream encoding module may be configured to encode a plurality of syntax elements according to a first encoding technique. The bit count estimation module may be configured to provide estimated bit counts for encoding the plurality of syntax elements according to a second encoding technique. In at least one embodiment, the bitstream encoding module may be further configured to encode the plurality of syntax elements based on the estimated bit counts.

Claims (38)

1. An apparatus comprising:

an encoder circuit configured to encode a plurality of syntax elements according to a first entropy encoding technique to generate an encoded bitstream;

an estimator circuit configured to generate an estimated bit count corresponding to the syntax elements (i) as if the syntax elements were encoded with a second entropy encoding technique and (ii) based solely on the syntax elements, wherein the generation of the estimated bit count includes (a) generating first information in response to modes and a spatial context, (b) generating second information and third information in response to the syntax elements and the spatial context, (c) reading a plurality of intermediate counts from a plurality of lookup tables based on the first information, the second information and the third information and (d) summing the intermediate counts to generate the estimated bit count;

a mode decision circuit configured to adjust the encoding of the syntax elements according to the first entropy encoding technique in response to the estimated bit count; and

a transcoder circuit (i) coupled to the encoder circuit and (ii) configured to generate a transcoded bitstream according to the second entropy encoding technique by transcoding the encoded bitstream, wherein an actual bit rate of the transcoded bitstream is controlled based on the estimated bit count.

2. The apparatus according to claim 1 , wherein (i) the first entropy encoding technique comprises a reorderable format and (ii) the second entropy encoding technique comprises a non-reorderable format.

3. The apparatus according to claim 2 , wherein (i) the reorderable format comprises CAVLC and (ii) the non-reorderable format comprises CABAC.

4. The apparatus according to claim 1 , wherein the estimator circuit is further configured to generate (i) a first portion of the estimated bit count of a first of the syntax elements and (ii) a second portion of the estimated bit count of a second of the syntax elements in parallel.

5. The apparatus according to claim 1 , wherein the encoded bitstream is based on the spatial context.

6. The apparatus according to claim 1 , wherein a bit rate of a later encoded bitstream is based on the estimated bit count.

7. An apparatus comprising:

an encoder circuit configured to (i) generate a plurality of syntax elements from a video signal, (ii) generate an encoded bitstream in accordance with a first entropy encoding technique by encoding the syntax elements and (iii) generate an estimated bit count corresponding to the syntax elements (a) as if the syntax elements where encoded in accordance with a second entropy encoding technique and (b) based solely the syntax elements, wherein the generation of the estimated bit count includes (a) generating first information in response to modes and a spatial context, (b) generating second information and third information in response to the syntax elements and the spatial context, (c) reading a plurality of intermediate counts from a plurality of lookup tables based on the first information, the second information and the third information and (d) summing the intermediate counts to generate the estimated bit count; and

a transcoder circuit (i) coupled to the encoder circuit and configured to (ii) generate a transcoded bitstream according to the second entropy encoding technique by transcoding the encoded bitstream, wherein an actual bit rate of the transcoded bitstream is controlled based on the estimated bit count.

8. The apparatus according to claim 7 , wherein the encoder circuit is further configured to generate (i) a first portion of the estimated bit count from a first of the syntax elements and (ii) a second portion of the estimated bit count from a second of the syntax elements in parallel.

9. The apparatus according to claim 8 , wherein the encoder circuit is further configured to (i) generate a first plurality of bins based on the first syntax element, and (ii) generate a second plurality of bins based on the second syntax element.

10. The apparatus according to claim 7 , wherein the estimated bit count comprises an estimate of bits where a macroblock is encoded with the second entropy encoding technique.

11. The apparatus according to claim 7 , wherein the encoder circuit is configured to update the estimated bit count in real-time.

12. The apparatus according to claim 7 , wherein the encoder circuit is further configured to make one or more mode decisions based on the estimated bit count.

13. An encoding method, comprising the steps of:

encoding in a circuit a plurality of syntax elements according to a first entropy encoding technique to generate an encoded bitstream;

generating an estimated bit count corresponding to the syntax elements (i) as if the syntax elements were encoded with a second entropy encoding technique and (ii) based solely on the syntax elements, wherein the generation of the estimated bit count includes (a) generating first information in response to modes and a spatial context, (b) generating second information and third information in response to the syntax elements and the spatial context, (c) reading a plurality of intermediate counts from a plurality of lookup tables based on the first information, the second information and the third information and (d) summing the intermediate counts to generate the estimated bit count;

adjusting the encoding of the syntax elements according to the first entropy encoding technique in response to the estimated bit count; and

generating a transcoded bitstream by transcoding the encoded bitstream according to the second entropy encoding technique, wherein an actual bit rate of the transcoded bitstream is controlled based on the estimated bit count.

14. The method according to claim 13 , wherein (i) the first entropy encoding technique is CAVLC and (ii) the second entropy encoding technique is CABAC.

15. The method according to claim 13 , wherein

(i) the generation of the estimated bit count comprises:

estimating a first bit count of a first bin; and

estimating the bit count of a second bin, and

(ii) the first bin and the second bin correspond to a same CABAC context.

16. The method according to claim 13 , wherein the generation of the estimated bit count comprises:

estimating a first portion of the estimated bit count with a first estimation module; and

estimating a second portion of the estimated bit count with a second estimation module.

17. The method according to claim 16 , wherein (i) the first portion corresponds to a macroblock mode, and (ii) the second portion corresponds to at least one of (a) a differential motion vector or (b) a quantized coefficient.

18. The method according to claim 13 , further comprising the step of:

compressing a video signal to generate the syntax elements.

19. The method according to claim 13 , wherein the generation of the estimated bit count as if the syntax elements were encoded with the second entropy encoding technique comprises:

generating all of (i) a plurality of bins per the second entropy encoding technique, (ii) a plurality of states per the second entropy encoding technique and (iii) a plurality of most probable symbols per the second entropy encoding technique in response to the syntax elements.

20. The method according to claim 19 , wherein the estimated bit count is generated by a table lookup based on all of (i) the bins, (ii) the states and (iii) the most probably symbols.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Mar 29, 2019
From: JPMORGAN CHASE BANK, N.A.
To: INTEGRATED DEVICE TECHNOLOGY, INC.; GIGPEAK, INC.; CHIPX, INCORPORATED; ENDWAVE CORPORATION; MAGNUM SEMICONDUCTOR, INC.
Reel/Frame 048746/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2017
From: MAGNUM SEMICONDUCTOR, INC.
To: INTEGRATED DEVICE TECHNOLOGY, INC.
Reel/Frame 043207/0637 →
RELEASE OF SECURITY INTEREST Recorded Apr 5, 2017
From: SILICON VALLEY BANK
To: MAGNUM SEMICONDUCTOR, INC.
Reel/Frame 042166/0405 →
SECURITY AGREEMENT Recorded Apr 5, 2017
From: INTEGRATED DEVICE TECHNOLOGY, INC.; GIGPEAK, INC.; MAGNUM SEMICONDUCTOR, INC.; ENDWAVE CORPORATION; CHIPX, INCORPORATED
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042166/0431 →
RELEASE OF SECURITY INTEREST Recorded Apr 15, 2016
From: CAPITAL IP INVESTMENT PARTNERS LLC
To: MAGNUM SEMICONDUCTOR, INC.
Reel/Frame 038440/0565 →
SECURITY AGREEMENT Recorded Apr 6, 2016
From: MAGNUM SEMICONDUCTOR, INC.
To: SILICON VALLEY BANK
Reel/Frame 038366/0098 →
SHORT-FORM PATENT SECURITY AGREEMENT Recorded Oct 31, 2014
From: MAGNUM SEMICONDUCTOR, INC.
To: CAPITAL IP INVESTMENT PARTNERS LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 034114/0102 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2012
From: PEARSON, ERIC C.
To: MAGNUM SEMICONDUCTOR, INC.
Reel/Frame 028182/0358 →