IP Library › Granted Patent US 10,074,382
Granted Patent B2
US 10,074,382 · App. 15/100,583 · Granted Sep 11, 2018

Method for bitrate signaling and bitstream format enabling such method

Inventors: Holger Hoerich (Fürth, DE); Alexander Groeschel (Nuremberg, DE); Jens Popp (Nuremberg, DE); Marc Roessler (Nuremberg, DE); Malte Schmidt (Feucht, DE)
Assignee: Dolby International AB
G10L25/03G10L19/00G10L19/167H04N21/23406H04N21/2402G11B2020/00036G11B2020/10703
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,074,382
App. No.
15/100,583
Granted
Sep 11, 2018
Kind
B2
Abstract

The present document relates to the determination of a 200 bitrate related to an encoded bitstream, and describes a method for determining an estimate of a bitrate of a bitstream comprising a sequence of frames comprising a varying number of bitsand corresponding to excerpts of an audio and/or video signal. At least two frames of the sequence of frames comprise a parameter indicative of a processing delay for the corresponding frame. The method comprises determining: a total number of bits for a subsequence of frames from the bitstream; a corrected number 201 of frames based on a number of frames comprised within the subsequence and the parameters of at least two frames of the subsequence; and a lower bitrate bound and an upper bitrate bound of the bitrate based on the total number of bits, the corrected number of frames and a frame rate of the bitstream.

Claims (110)

1. A method, performed by an audio and/or video signal processing device, for processing a bitstream; wherein the bitstream comprises a sequence of encoded frames; wherein the frames of the sequence of encoded frames comprise a varying number of bits; wherein the frames of the sequence of encoded frames correspond to excerpts of an audio and/or video signal, wherein the excerpts have a constant temporal length; wherein at least two frames of the sequence of encoded frames comprise a wait_frames parameter; wherein the wait_frames parameter of a frame is indicative of a number of frames and/or a time interval that the corresponding frame is to be delayed in a buffer of the audio and/or video signal processing device prior to processing of the frame by the audio and/or video signal processing device; the method comprising

determining a total number of bits S Tot for N frames of a subsequence of encoded frames from the bitstream;

determining a corrected number N′ of frames based on the number N of frames and based on a difference between the wait_frames parameters of a first frame and a second frame of the subsequence; wherein the first frame corresponds to the frame at a beginning of the subsequence; and wherein the second frame corresponds to the frame at an end of the subsequence;

determining a lower bitrate bound br min and an upper bitrate bound br max of a bitrate br of the bitstream based on the total number of bits S Tot , based on the corrected number N′ of frames and based on a frame rate f frame of the bitstream;

determining an estimate br est of a bitrate br of the bitstream from the lower bitrate bound and an upper bitrate bound;

storing frames of the sequence of encoded frames in the buffer of the audio and/or video signal processing device;

processing the frames of the sequence of encoded frames, wherein processing the frames of the sequence of encoded frames comprises inserting the encoded frames into a multiplexed bitstream or decoding the sequence of encoded frames; and

outputting, from the audio and/or video signal processing device, the multiplexed bitstream or the decoded frames;

wherein one or more of determining a total number of bits, determining a number N′ of frames, determining a lower bitrate bound br min and an upper bitrate bound br max , determining an estimate of the bitrate, storing frames of the sequence, processing the frames of the sequence, and outputting the multiplexed bitstream or the decoded frames is implemented, at least in part, by one or more hardware elements of the audio and/or video signal processing device.

2. The method of claim 1 , wherein

the lower bitrate bound br min is determined based on the corrected number N′ plus 1;

the upper bitrate bound br max is determined based on the corrected number N′ minus 1.

3. The method of claim 1 , wherein

the subsequence of frames comprises N+1 frames n, with n=0, . . . , N;

the frame n =0 at the beginning of the subsequence comprises a wait_frames parameter, referred to as wait_frames(0);

the frame n =N at the end of the subsequence comprises a wait_frames parameter, referred to as wait_frames(N); and

the corrected number N′ of frames is determined by offsetting N using a difference between wait_frames(0) and wait_frames(N).

4. The method of claim 3 , wherein the corrected number N′ of frames is determined as N′=N+wait_frames(0)−wait_frames(N).

5. The method of claim 3 , wherein

the wait_frames parameter of a frame is indicative of a processing delay relative to an end of the corresponding frame;

the total number of bits S Tot is determined as S Tot =Σ n=1 N S n ; and

S n , is the number of bits of frame n of the subsequence.

6. The method of claim 1 , wherein

the lower bitrate bound is given by

br

min

=

S

Tot

(

N

′

+

1

)

×

f

frame

.

 and/or

the upper bitrate bound is given by

br

max

=

S

Tot

(

N

′

-

1

)

×

f

frame

.

7. The method of claim 1 , wherein

at least some frames of the sequence of frames comprise a bitrate code parameter;

a value of the bitrate code parameter corresponds to a start code and/or a stop code; and

the subsequence is determined from the sequence of frames based on the start code and/or the stop code.

8. The method of claim 7 , wherein the subsequence is determined such that

the frame at the beginning of the subsequence comprises a bitrate code parameter which corresponds to the start code;

the frame at the end of the subsequence comprises a bitrate code parameter which corresponds to the stop code; and

no other frame of the subsequence comprises a bitrate code parameter which corresponds to the start code or the stop code.

9. The method of claim 7 , wherein the start code is equal to the stop code.

10. The method of claim 7 , wherein only frames which comprise a wait_frames parameter comprise a bitrate code parameter.

11. The method of claim 7 , wherein

the estimate br est of the bitrate br of the bitstream is representable in a floating point representation comprising a mantissa f brCorr and an exponent k;

the exponent k is determined based on the lower bitrate bound br min and/or based on the upper bitrate bound br max of the bitrate br; and

the mantissa f brCorr is determined based on the bitrate code parameter of one or more frames of the subsequence.

12. The method of claim 11 , wherein

the floating point representation is a binary floating point representation such that br est =f brCorr ×2 k ; and

the mantissa f brCorr takes on values between 1 and 2.

13. The method of claim 12 , wherein

the bitrate code parameter of a frame takes on L different bitrate code values; with L being an integer greater than one;

the L bitrate code values are different from the start code and/or stop code; and

the mantissa f brCorr depends on the bitrate code values of one or more frames of the subsequence.

14. The method of claim 7 , wherein the bitrate code parameter comprises two bits.

15. The method of claim 1 , wherein

the bitstream exhibits an average bitrate, referred to as ABR; and/or

the bitstream adheres to a buffer model and uses the wait_frames parameter to signal the state of that buffer model; and/or

the frame rate f frame of the bitstream is constant.

16. An audio and/or video signal processing device for processing a bitstream; wherein the bitstream comprises a sequence of encoded frames; wherein the frames of the sequence of encoded frames comprise a varying number of bits; wherein the frames of the sequence of encoded frames correspond to excerpts of an audio and/or video signal, wherein the excerpts have a constant temporal length; wherein at least two frames of the sequence of encoded frames comprise a wait_frames parameter; wherein the wait_frames parameter of a frame is indicative of a number of frames and/or a time interval that the corresponding frame is to be delayed in a buffer of the audio and/or video signal processing device prior to processing of the frame by the audio and/or video signal processing device; wherein the audio and/or video signal processing device is configured to

determine a total number of bits S Tot for N frames of a subsequence of frames from the bitstream;

determine a corrected number N′ of frames based on the number N of frames and based on a difference between the wait_frames parameters of a first frame and a second frame of the subsequence; wherein the first frame corresponds to the frame at a beginning of the subsequence; and wherein the second frame corresponds to the frame at an end of the subsequence;

determine a lower bitrate bound br min and an upper bitrate bound br max of a bitrate br of the bitstream based on the total number of bits S Tot , based on the corrected number N′ of frames and based on a frame rate f frame of the bitstream;

determine an estimate br est of a bitrate br of the bitstream from the lower bitrate bound and an upper bitrate bound;

store frames of the sequence of encoded frames in the buffer of the audio and/or video signal processing device;

process the frames of the sequence of encoded frames, wherein processing the frames of the sequence of encoded frames comprises inserting the encoded frames into a multiplexed bitstream or decoding the sequence of encoded frames; and

output the multiplexed bitstream or the decoded frames from the audio and/or video signal processing device;

wherein one or more of determining a total number of bits, determining a corrected number N′ of frames, determining a lower bitrate bound br min and an upper bitrate bound br max , determining the estimate of the bitrate, storing frames of the sequence, processing the frames of the sequence, and outputting the multiplexed bitstream or the decoded frames is implemented, at least in part, by one or more hardware elements of the audio and/or video signal processing device.

17. An audio and/or video signal processing device for processing an audio and/or video signal to generate a bitstream having a bitrate br; wherein the audio and/or video signal processing device is configured to:

receive the audio and/or video signal;

encode the audio and/or video signal to generate a sequence of encoded frames; wherein the frames of the sequence of encoded frames correspond to excerpts of the audio and/or video signal, wherein the excerpts have a constant temporal length; wherein the frames of the sequence of encoding frames comprise a varying number of bits;

assemble the sequence of encoded frames into the bitstream having the bitrate br; and

output the bitstream having the bitrate br from the audio and/or video signal processing device;

wherein at least two frames of the sequence of encoded frames include a wait_frames parameter; wherein the wait_frames parameter of a frame is indicative of a number of frames and/or a time interval that the corresponding frame is to be delayed by a multiplexing device and/or by a decoding device prior to processing of the frame by the multiplexing device and/or by the decoding device;

wherein at least two frames of the sequence of encoded frames include a bitrate code parameter; wherein the bitrate code parameter takes on different bitrate code values; wherein the bitrate code values of the inserted bitrate code parameters depend on the bitrate br of the bitstream; wherein an estimate br est of the bitrate br of the bitstream is representable in a floating point representation comprising a mantissa f brCorr and an exponent k; wherein the precision of an initial estimate of the bitrate br is determined by a multiplexing device and/or a decoding device based on the wait_frames parameters comprised within the bitstream; wherein the initial estimate defines a lower bound br min and an upper bound br max of the bitrate br; wherein the exponent k of the estimate br est determined based on the lower bitrate bound br min and/or based on the upper bitrate bound br max of the bitrate br; and wherein the mantissa f brCorr is determined by the multiplexing device and/or the decoding device based on the bitrate code parameter; and

wherein one or more of receiving the audio and/or video signal, encoding the audio and/or video signal, assembling the sequence of encoded frames, and outputting the bitstream is implemented, at least in part, by one or more hardware elements of the audio and/or video signal processing device.

18. A method, performed by an audio and/or video signal processing device, for processing a bitstream; wherein the bitstream comprises a sequence of encoded frames; wherein the frames of the sequence of encoded frames comprise a varying number of bits; wherein the frames of the sequence of encoded frames correspond to excerpts of an audio and/or video signal; wherein at least one frame of the sequence of encoded frames comprises a bitrate code parameter; the method comprising

providing a lower bitrate bound br min and an upper bitrate bound br max of a bitrate br of the bitstream;

determining an exponent k based on the lower bitrate bound br min and/or based on the upper bitrate bound br max of the bitrate br;

determining a mantissa f brCorr based on the bitrate code parameter of one or more frames of the sequence of encoded frames;

determining an estimate br est of the bitrate br of the bitstream in a floating point representation comprising the mantissa f brcorr and the exponent k;

storing frames of the sequence of encoded frames in a buffer of the audio and/or video signal processing device;

processing the frames of the sequence of encoded frames, wherein processing the frames of the sequence of encoded frames comprises inserting the encoded frames into a multiplexed bitstream or decoding the sequence of encoded frames; and

outputting, from the audio and/or video signal processing device, the multiplexed bitstream or the decoded frames;

wherein one or more of providing a lower bitrate bound br min and an upper bitrate bound br max , determining the exponent k, determining the mantissa f brCorr , determining an estimate of the bitrate, storing frames of the sequence of encoded frames, processing the frames of the sequence of encoded frames, and outputting the multiplexed bitstream or the decoded frames, is implemented, at least in part, by one or more hardware elements of the audio and/or video signal processing device.

19. A non-transitory computer readable storage medium comprising a sequence of instructions, wherein, when an audio signal processing device executes the sequence of instructions, the audio signal processing device performs the method of claim 1 .

20. A non-transitory computer readable storage medium comprising a sequence of instructions, wherein, when an audio signal processing device executes the sequence of instructions, the audio signal processing device performs the method of claim 18 .

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2016
From: HOERICH, HOLGER; GROESCHEL, ALEXANDER; POPP, JENS; ROESSLER, MARC; SCHMIDT, MALTE
To: DOLBY INTERNATIONAL AB
Reel/Frame 038907/0037 →
Priority Claims (1)
EP 13195368 · Dec 2, 2013 · regional
Continuity (2)
Provisional Application 61986351 · Apr 30, 2014
Related Publication 20160300586A1 · Oct 13, 2016
Cited By (3)
US 12,200,235 US 12,255,940 US 12,284,363