AAC is an abbreviation for Advanced Audio Coding, which appeared in 1997 and was originally based on MPEG-2 audio coding technology. Developed by companies such as Fraunhofer IIS, Dolby Laboratories, AT&T, Sony, etc., to replace the MP3 format. In 2000, the MPEG-4 standard was introduced, and AAC reintegrated other technologies (PS, SBR). In contrast to the traditional MPEG-2 AAC, AAC with SBR or PS characteristics is also called MPEG-4 AAC.
AAC is a new generation of audio lossy compression technology. It uses several additional coding technologies (such as PS, SBR, etc.) to derive three main codes: LC-AAC, HE-AAC, and HE-AACv2. LC-AAC is Compared with the traditional AAC, relatively speaking, mainly used for medium and high bit rate ("=80Kbps", HE-AAC (equivalent to AAC+SBR) is mainly used for medium and low code ("=80Kbps", and the newly launched HE-AACv2) (Equivalent to AAC+SBR+PS) is mainly used for low bit rate ("=48Kbps". In fact, most encoders are set to "=48Kbps automatically enable PS technology, and "48Kbps does not add PS, it is equivalent to ordinary HE-AAC.
Second, the AAC specificationAAC has 9 specifications to suit the needs of different occasions:
MPEG-2 AAC LC Low Complexity - simpler, no gain control, but improved
Coding efficiency, a balance between medium code rate coding efficiency and sound quality
MPEG-2 AAC Main Master Specification
MPEG-2 AAC SSR Variable Sample Rate Specification (Scaleable Sample Rate)
MPEG-4 AAC LC Low Complexity ------ now the phone is more common in MP4 files
The audio part of the specification includes the audio file of the specification.
MPEG-4 AAC Main main specification ------ contains all functions except gain control, the best sound quality
MPEG-4 AAC SSR Variable Rate Rate Specification (Scaleable Sample Rate)
MPEG-4 AAC LTP Long Term Prediction Specification (Long Term PrediciTIon)
MPEG-4 AAC LD Low Latency Specification (Low Delay)
MPEG-4 AAC HE High Efficiency-----This specification is suitable for low bit rate coding,
Nero ACC encoder support
Currently the most used are LC and HE (suitable for low bit rate). The popular Nero AAC encoding program only supports three specifications of LC, HE, and HEv2. The encoded AAC audio is displayed in LC. HE is actually AAC (LC) + SBR technology, HEv2 is AAC (LC) + SBR + PS technology;
HE: "High Efficiency". HE-AAC v1 (also known as AACPlusV1, SBR) implements the AAC (LC) + SBR technology by means of a container. SBR actually represents Spectral Band ReplicaTIon. In brief, the main spectrum of music is concentrated in the low frequency band, and the high frequency band is small, but it is very important, which determines the sound quality. If the entire frequency band is coded, if it is to protect the high frequency, the low frequency band code will be too fine and the file will be huge; if the main component of the low frequency is saved and the high frequency component is lost, the sound quality will be lost. SBR cuts the spectrum, the low frequency is separately coded to save the main components, the high frequency is separately amplified and encoded to preserve the sound quality, and the overall quality is balanced. In the case of reducing the file size, the sound quality is preserved, and the contradiction is perfectly resolved.
HEv2: The method of container contains HE-AAC v1 and PS technology. PS refers to "parametric stereo". The original stereo file size is twice that of one channel. However, there is some similarity between the sounds of the two channels. According to Shannon's information entropy coding theorem, the correlation should be removed to reduce the file size. So the PS technology stores all the information of one channel, and then spends a few bytes describing the other channel and its different places with parameters.
Third, AAC features(1) AAC is a high compression ratio audio compression algorithm, but its compression ratio is much longer than the older audio compression algorithm.
Such as AC-3, MP3, etc. And its quality can be comparable to uncompressed CD sound quality.
(2) Like other similar audio coding algorithms, AAC also uses a transform coding algorithm, but AAC uses resolution.
A higher filter bank, so it can achieve a higher compression ratio.
(3) AAC uses the latest technologies such as temporary noise reforming, backward adaptive linear prediction, joint stereo technology, and quantitative Huffman coding. The use of these new technologies further improves the compression ratio.
(4) AAC supports more sample rates and bit rates, supports 1 to 48 tracks, supports up to 15 low frequency tracks, and has
Multi-language compatibility and up to 15 embedded data streams.
(5) AAC supports a wider range of sound frequencies up to 96 kHz, down to 8 kHz, and much wider than MP3's 16 kHz-48 kHz range.
(6) Unlike MP3 and WMA, AAC hardly loses very high and very low frequency components in the sound frequency, and is closer to the original audio than the WMA in spectral structure, so the sound fidelity is better. Professional evaluation shows that AAC is clearer than WMA sound and closer to the original sound.
(7) AAC achieves higher decoding efficiency by using an optimized algorithm, and requires less processing power when decoding.
Fourth, AAC audio file format1. AAC's audio file format is ADIF & ADTS:
ADIF: Audio Data Interchange Format Audio data exchange format. A feature of this format is the deterministic finding of the beginning of this audio data, without the need to start decoding in the middle of the audio data stream, ie its decoding must take place at the beginning of a well-defined. Therefore, this format is commonly used in disk files.
ADTS: Audio Data Transport Stream audio data transport stream. The feature of this format is that it is a bitstream with sync words, and decoding can begin anywhere in the stream. Its characteristics are similar to the mp3 data stream format.
Simply put, ADTS can decode in any frame, which means that it has header information every frame. ADIF has only one unified header, so all data must be decoded and decoded. The formats of the two headers are also different. Currently, the encoded and extracted audio streams of the ADTS format are generally extracted. The specific organizational structure of the two is as follows:
The AAC's ADIF format is shown below:
The general format of AAC's ADTS is shown in the figure below:
The figure shows a concise structure of one frame of ADTS, and the blank rectangles on both sides represent data before and after one frame.
2. ADIF and ADTS header
Header information for ADIF:
The ADIF header information is located at the beginning of the AAC file, followed by consecutive raw data blocks.
The fields that make up the ADIF header information are as follows:
Fixed header information for ADTS:
Variable header information for ADTS:
(1) The purpose of frame synchronization is to find the position of the frame header in the bit stream. 13818-7 specifies the frame header of the aac ADTS format.
The sync word is 12-bit "1111 1111 1111".
(2) The header information of the ADTS is composed of two parts, one of which is fixed header information, followed by variable header information. Fixed header information
The data is identical for each frame, and the variable header information is variable between frames.
3. AAC element information
In AAC, the composition of the original data block may have six different elements:
SCE: Single Channel Element single channel element. A single channel element consists essentially of only one ICS. One
The original data block is most likely composed of 16 SCEs.
CPE: Channel Pair Element A two-channel element consisting of two ICSs and some joint stereos that may share side information.
Acoustic coding information. A raw data block may consist of up to 16 SCEs.
CCE: Coupling Channel Element Combines channel elements. Multi-channel joint stereo information representing a block
Or conversational information for multilingual programs.
LFE: Low Frequency Element Low frequency element. Contains a channel that enhances the low sampling frequency.
DSE: Data Stream Element data stream element that contains additional information that is not part of the audio.
PCE: Program Config Element program configuration element. Contains configuration information for the channel. It may appear in
In the ADIF header information.
FIL: Fill Element fills the element. Contains some extended information. Such as SBR, dynamic range control information, etc.
4.AAC file processing flow
(1) Determine the file format and determine it as ADIF or ADTS
(2) If it is ADIF, solve the ADIF header information and skip to step 6.
(3) If it is ADTS, look for the sync header.
(4) Decoding the ADTS frame header information.
(5) If there is error detection, perform error detection.
(6) Deblocking information.
(7) Solution element information.
Wuxi Doton Power , https://www.dotonpower.com