Multi-pass variable bitrate media encoding
First Claim
1. In a computer system, a computer-implemented method of media encoding according to a multi-pass control strategy, the method comprising:
- in a first pass, encoding media data;
storing auxiliary information from the encoding in the first pass, wherein the stored auxiliary information is side information to be output in a bitstream and used in decoding; and
in a second pass, encoding the media data, including using the stored auxiliary information to increase speed of the encoding in the second pass.
2 Assignments
0 Petitions
Accused Products
Abstract
An encoder uses multi-pass VBR control strategies to provide constant or relatively constant quality for VBR output while guaranteeing (within tolerance) either compressed file size or, equivalently, overall average bitrate. The control strategies include various techniques and tools, which can be used in combination or independently. For example, in a first pass, an audio encoder encodes a sequence of audio data partitioned into variable-size chunks. In a second pass, the encoder encodes the sequence according to control parameters to produce output of relatively constant quality. The encoder sets checkpoints in the second pass to adjust the control parameters and/or subsequent checkpoints. The encoder selectively considers a peak bitrate constraint to limit peak bitrate. The encoder stores auxiliary information from the first pass for use in the second pass, which increases the speed of the second pass. Finally, the encoder compares signatures for the input data to check consistency between passes.
-
Citations
34 Claims
-
1. In a computer system, a computer-implemented method of media encoding according to a multi-pass control strategy, the method comprising:
-
in a first pass, encoding media data; storing auxiliary information from the encoding in the first pass, wherein the stored auxiliary information is side information to be output in a bitstream and used in decoding; and in a second pass, encoding the media data, including using the stored auxiliary information to increase speed of the encoding in the second pass. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. In a computer system, a computer-implemented method comprising:
-
in a first pass, computing a first pass signature for each of one or more portions of media data and encoding the one or more portions, wherein the first pass signature for each of the one or more portions comprises a value derived from input of the portion; and in a second pass, computing a second pass signature for a given portion of the one or more portions, wherein the second pass signature for the given portion comprises a value derived from input of the given portion; comparing the second pass signature with the first pass signature for the given portion so as to check that the input for the given portion is consistent between the first pass and the second pass; if the first pass signature matches the second pass signature, encoding the given portion; otherwise, performing one or more alternative actions. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. In an audio encoder, a computer-implemented method of audio encoding according to a multi-pass variable bitrate control strategy, the method comprising:
-
in a first pass, encoding a sequence of audio data; storing auxiliary information from the encoding in the first pass, wherein the stored auxiliary information is side information to be output in a bitstream and used in decoding; and in a second pass, encoding the sequence of audio data in view of a goal of uniform quality at variable bitrate, wherein a peak bitrate constraint affects quality and bitrate in the second pass, and wherein the stored auxiliary information is used to increase speed of the encoding in the second pass. - View Dependent Claims (16, 17)
-
-
18. In a media encoder, a computer-implemented method of media encoding, the method comprising:
-
selectively enabling or disabling a peak bitrate constraint for a sequence of media data; in a first pass, encoding the sequence of media data; storing auxiliary information from the encoding in the first pass, wherein the stored auxiliary information is side information to be output in a bitstream and used in decoding; and in a second pass, encoding the sequence of media data, wherein the peak bitrate constraint affects quality and bitrate in the second pass if the peak bitrate constraint is enabled for the sequence, and wherein the stored auxiliary information is used to increase speed of the encoding in the second pass. - View Dependent Claims (19, 20, 21)
-
-
22. In a media encoder, a computer-implemented method of media encoding, the method comprising:
-
in a first pass, encoding media data; processing results of the encoding in the first pass, wherein the processing includes setting a checkpoint at a defined percentage of a target total bit count for the media data, wherein the checkpoint is defined in terms of cumulative bit count in encoding of the media data; and in a second pass, encoding media data, wherein the encoding in the second pass includes checking results of the encoding in the second pass as of the checkpoint. - View Dependent Claims (23, 24, 25, 31, 32)
-
-
26. In a media encoder, a computer-implemented method of media encoding, the method comprising:
-
in a first pass, encoding a sequence of media data; setting a checkpoint for encoding in a second pass, wherein the checkpoint is defined in terms of cumulative bit count in encoding of the media data; and in the second pass, iteratively; encoding media data up to the checkpoint, checking results of encoding in the second pass up to the checkpoint, and updating the checkpoint for the encoding in the second pass, wherein the second pass continues until the sequence of media data is encoded. - View Dependent Claims (27, 28, 29, 33, 34)
-
-
30. In a media encoder, a computer-implemented method of media encoding, the method comprising:
-
in a first pass, encoding a sequence of media data; setting a checkpoint for encoding in a second pass; and in the second pass, iteratively; encoding media data up to the checkpoint, checking results of encoding in the second pass up to the checkpoint, and updating the checkpoint for the encoding in the second pass, wherein the second pass continues until the sequence of media data is encoded, wherein the checkpoint is set and updated at multiples of a percentage of a target total bit count for the sequence.
-
Specification