Claims
- 1. A method for splicing of new picture data into a digital video stream, that video stream having been compressed according to an MPEG compression standard, the method comprising the steps of:attaining a start buffer fullness and end buffer fullness parameters of data in said digital video stream that is being replaced by new pictures, said start and end buffer fullness parameters being represented as a difference between an Initial Buffer Fullness and the accumulation (E) of the difference between the pictures' actual bit usage and the average of bits per picture (Ba), assuming a constant picture target, where Ba=Bit Rate(MBits/sec)Frame Rate(Pictures/sec); determining the number of new pictures to be spliced in; calculating the change in an average bits per picture data unit, said calculation based on said start buffer and end buffer fullness parameters and a number of new pictures to be spliced, said change being calculated as Ba(new) Ba(new)=Ba+(End BF-Start BF)Number of New Pictures; calculating the precise bit allocation for each new picture based on said calculated average bits per data unit and a type of said new picture; encoding the new picture data into the data stream so that the number of bits used does not exceed a target; and padding the new data if bits used to encode the new data into the data stream are fewer than the target.
- 2. The method of claim 1, wherein theInitial Buffer Fullness=N*Buffer Size, where N is any number between 0.1 and 1.0, the Buffer Size is given by the MPEG standard, and E=E+(Bits Used−Ba), where E is initialized to 0 at start of the encode sequence and is accumulated for the entire video sequence, and Ba is average bits per picture.
- 3. The method of claim 1, wherein the calculation of the precise bit allocation for each new picture is based on the data type, group of pictures (GOP), and other encoding parameters used in bit rate control.
- 4. The method of claim 1, wherein the encoding step further includes the step of subdividing the picture target into macro block targets Target (mb)=Picture TargetNumber of Macro Blocksthen the target is further reduced to Block Targets used to precisely control the number of bits used to encode a picture Target (blk)=Target (mb)Number of Blocks
- 5. The method of claim 1, wherein if the bits used to encode the new data into the data stream are less than the target,.padding with zeroes will take place according to the following formulaPad Amount=Target−Bits Used where Pad Amount is greater than or equal to zero.
- 6. An apparatus for splicing of new picture data into a digital video stream, that video stream having been compressed according to an MPEG compression standard, the apparatus comprising:the means for attaining a start buffer fullness and end buffer fullness parameters of data in said digital video stream that is being replaced by new picture data, said start and end buffer fullness parameters being represented as a difference between an Initial Buffer Fullness and the accumulation (E) of the difference between the pictures' actual bit usage and the average of bits per picture (Ba), assuming a constant picture target, where Ba=Bit Rate(MBits/sec)Frame Rate(Pictures/sec); the means for determining the number of new data pictures to be spliced in; the means for calculating the change in an average bits per picture data unit, said calculation based on said start buffer and end buffer fullness parameters and a number of new pictures to be spliced, said change being calculated as Ba(new)=Ba+(End BF-Start BF)Number of New Pictures; the means for calculating the precise bit allocation for each new picture data unit, said calculation based on said average bits per picture data unit and a type of said new picture data unit; the means for encoding the new picture data into the video stream so that the number of bits used does not exceed a target; and the means for padding the new data if bits used to encode the new data into the data stream are fewer than the target.
- 7. The apparatus of claim 6, wherein theInitial Buffer Fullness=N*Buffer Size, where N is any number between 0.1 and 1.0, the Buffer Size is given by the MPEG standard, and E=E+(Bits Used−Ba), where E is initialized to 0 at start of the encode sequence and is accumulated for the entire video sequence, and Ba is average bits per picture.
- 8. The apparatus of claim 6, wherein the calculation of the precise bit allocation for each new picture is based on the data type, group of pictures (GOP), and other encoding parameters used in bit rate control.
- 9. The apparatus of claim 6, wherein the means for encoding include the means for subdividing the picture target into macro block targets Target (mb)=Picture TargetNumber of Macro Blocksthen the target is further reduced to Block Targets used to precisely control the number of bits used to encode a picture Target (blk)=Target (mb)Number of Blocks.
- 10. The apparatus of claim 6, wherein if the bits used to encode the new data into the data stream are less than the target padding with zeroes will take place according to the following formulaPad Amount=Target−Bits Used where pad amount is greater than or equal to zero.
CROSS-REFERENCE TO RELATED APPLICATIONS
The following patent application is assigned to the assignee hereof and contains subject matter related to the subject matter of the present application:
U.S. patent application Ser. No. 09/046,285, entitled “A Precise Bit Control Apparatus with Look-ahead for MPEG Encoding”, filed on even date herewith for John A. MURDOCK, Barbara A. HALL, Edward F. WESTERMANN, and Agnes Y. NGAI.
US Referenced Citations (4)
Number |
Name |
Date |
Kind |
5331348 |
Knauer et al. |
Jul 1994 |
|
5717464 |
Perkins et al. |
Feb 1998 |
|
5748240 |
Carr et al. |
May 1998 |
|
5793431 |
Blanchard |
Aug 1998 |
|