Single pass constrained constant bit-rate encoding
AssigneeApple Computer, Inc.
InventorsJian Lu, Wenqing Jiang, Gregory Wallace
Life of this patent
Estimating the term…
Abstract
Data, such as video data, is encoded by identifying a data segment to be encoded. The data segment includes multiple frames. A bit-rate profile for encoding the data segment is generated. The bit-rate profile defines a number of bits associated with each frame in the data segment. Frames are encoded using the bit-rate profile. The bit-rate profile is updated periodically to incorporate past encoding statistics and compensate for any encoding bits deviations from the initial profile.
Claims26
A method for encoding data, the method comprising:
- identifying a data segment to be encoded, the data segment including a plurality of frames;
- generating a bit-rate profile for encoding the data segment, the bit-rate profile defining a number of bits associated with each frame in the data segment;
- and
- encoding frames in the data segment using the bit-rate profile.
An article comprising a machine-readable medium storing instructions for causing data processing apparatus to:
- identify a data segment to be encoded, the data segment including a plurality of frames;
- allocate a number of bits to each frame in the data segment in accordance with a target encoding bit rate and boundary conditions associated with the data segment to be encoded, the allocated number of bits for use in encoding the frame;
- and
- adapt an encoder to encode a frame based on the allocated number of bits for the frame.
A method for single-pass video encoding, the method comprising:
- identifying a video segment to be encoded, the video segment including a plurality of frames;
- identifying at least an ending boundary condition for encoding the video segment, the boundary condition relating to a calculated buffer state;
- calculating a number of bits allocated to each frame in at least a subset of the plurality of frames, the allocated number of bits for encoding each frame in accordance with a target encoding bit rate and based on the boundary condition;
- and
- encoding each frame of the subset in accordance with the allocated number of bits.
An article comprising a machine-readable medium storing instructions for causing data processing apparatus to:
- identify a video segment to be encoded, the video segment including a plurality of frames;
- identify a beginning boundary condition and an ending boundary condition for encoding the video segment, each boundary condition comprising a calculated buffer level;
- calculate a number of bits allocated to each frame in the video segment, the allocated number of bits for encoding each frame to maintain a substantially consistent video quality and to ensure that the calculated buffer level does not exceed a maximum threshold for the calculated buffer level or fall below a minimum threshold for the calculated buffer level and that the encoded video segment satisfies the ending boundary condition, wherein changes in the calculated buffer level are associated with differences between an encoding bit rate for the frames and a target encoding bit rate;
- and
- adapt an encoder to encode each frame using approximately the allocated number of bits for the frame.
Dependencies are inferred from the claim text.