13.07.2015 Views

Quicktime File Format (2012-08-14).pdf

Quicktime File Format (2012-08-14).pdf

Quicktime File Format (2012-08-14).pdf

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Audio Priming - Handling Encoder Delay in AACHistorical Solution—Implicit Encoder DelayTherefore, a playback system must trim the silent priming samples to preserve correct synchronization. Thistrimming by the playback system should be done in two places:●●When playback first beginsWhen the playback position is moved to another location. For example, the user skips ahead or back toanother part of the media and begins playback from that new location.Historical Solution—Implicit Encoder DelayIn the original AAC implementations, as stated above the common practice was to propagate the encoderdelay in the provided AAC bitstream. With these original implementations, the most common delay used was2112 audio samples. An AAC bitstream would therefore generally be 3 AAC packets larger than what wastheoretically required by the original signal.A playback implementation would then need to discard these first 2112 silent samples from the decodedoutput since they contain none of the original source audio data; these samples are an artifact of theencoding/decoding process.Because there was no explicit way to represent the extent of the priming or remainder samples with the firstimplementations of an AAC bitstream, Apple chose to assume that the AAC bitstream always contained anencoding delay with a fixed number of samples and advised developers accordingly. A fixed encoder delay of2112 samples was chosen because at that time this was the common encoding delay used, for various reasons,by most of the shipping implementations of AAC encoders (commercial and otherwise).NoteThe lack of explicit representation for encoder delay and remainder samples is not a problem uniqueto AAC encoding. With MPEG-4 and ADTS/MPEG-2 bitstreams and file containers, there is still nosatisfactory, explicit representation for either the encoder delay or remainder samples. MP3 also hasthese data dependencies and delays in its bitstream, as do proprietary codecs such as AC-3 andothers.In all of these cases the conventional solution is as described above: an implicit assumption is madeabout the size of the encoder delay and the playback engine is required to trim this designatednumber of samples from its output at the start of playback. Adjustments must also be made for theremainder samples as required.In summary, the historical technique to handle the timing and synchronization problem is to assume an implicit2112 sample standard encoder delay in AAC data streams and indicate start time—the first media sample orAAC packet—in the sound track edit list (see “Edit List Atoms” (page 70)) at the start of encoder delay.<strong>2012</strong>-<strong>08</strong>-<strong>14</strong> | © 2004, <strong>2012</strong> Apple Inc. All Rights Reserved.423

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!