建设工程安全监督备案网站,wordpress最简易主题,erp系统哪家做得好,平面设计广告图目录
前言 01 AAC是什么#xff1f; 02 为什么需要进行AAC进行音频压缩处理#xff1f; 03 AAC的特点以及优势 04 AAC格式详解#xff1a;
4.1. ADIF的数据结构#xff1a;
4.1.1 ADIF Header具体的表格:
4.2. ADTS的结构#xff08;重点#xff09;#xff1a;
…目录
前言 01 AAC是什么 02 为什么需要进行AAC进行音频压缩处理 03 AAC的特点以及优势 04 AAC格式详解
4.1. ADIF的数据结构
4.1.1 ADIF Header具体的表格:
4.2. ADTS的结构重点
4.2.2. adts_fixed_header的表格如下
4.2.3. adts_variable_header的表格如下 前言 从本章开始我们将要学习嵌入式音视频的学习了 使用的瑞芯微的开发板 个人主页ChenPi 推荐专栏1: 《C_ChenPi的博客-CSDN博客》✨✨✨ 推荐专栏2: 《Linux C应用编程概念类_ChenPi的博客-CSDN博客》✨✨✨ 推荐专栏3《嵌入式音视频_ChenPi的博客-CSDN博客》 本篇简介 这章记录音频的基础知识学习 01 AAC是什么
AAC中文名称是高级音频编码技术它是基于MPEG-2的一种全新的音频编码技术。而随着时代的发展 目前AAC的技术升级到MPEG-4标准。它广泛运用在网络传输、高清录制等领域而AAC技术的出现就是为了取代之前的MP3格式。 02 为什么需要进行AAC进行音频压缩处理
由于一帧普通的PCM数据传输的比特率都非常高以采样率48000、采样通道2、采样格式S16的PCM数据进行传输。假设采集10分钟就是100多M这样的大小在网络传输显然是不可取的。所以此时我们就需要引入AAC音频编码进行压缩在经过AAC压缩过后原本需要100多M的音频数据可能就需要几M就可以传输了。 03 AAC的特点以及优势
3.1.高压缩率AAC的压缩率高达1:20远远高于MP3的1:10。换言之在相同时间内录制AAC的文件大小远远低于MP3的大小。
3.2.更高的音频品质AAC的优势不仅在于压缩大小上还在于它的音频还原程度更高音质相比于其他压缩格式更加优秀。
3.3.更高的解码效率解码播放器在解码含有AAC的音频编码的时候它所占用的资源会更加的少解码时CPU使用率更低。 04 AAC格式详解
AAC有两种不同的表现形式一个是ADIF形式另外一种是ADTS形 ADIF形式这种格式的特点是可以确定这个音频数据的开始位置而且不需要在中间位置进行解码。所以这种形式的AAC文件适合存储在磁盘中。ADTS格式存储的AAC文件的特点是可以在任意帧进行解码换言之就是在ADTS格式每一帧都有头信息下面我们用两张图来区分两种形式的不同 4.1. ADIF的数据结构 4.1.1 ADIF Header具体的表格: 4.2. ADTS的结构重点 从这张图可以出一个普通的ADTS帧由两部分组成。一个是ADTS Header另外一个是AAC ESADTS Header是头部信息AAC ES是AAC的裸流数据。下面我们先来重点看看ADTS Header的具体信息
ADTS Header由两部分组成一个是adts_fixed_header另外一个是adts_variable_header。
4.2.2. adts_fixed_header的表格如下 syncword 固定为0xFFF代表着⼀个ADTS帧的开始idMPEG标识符0标识MPEG-41标识MPEG-2layer默认为00protection_absent表示是否误码校验。profile表示使⽤哪个级别的AAC下面这个表格是profile的索引 Sample Frequence index代表的是使用的是采样率下标通过这个下标找到对应的采样率如下图 private bit私有位编码的时候设置为0解码的时候忽略这个
channel configuration声道数的配置下面是声道数的配置表格 1单声道 2双声道 3三声道 4四声道 5五声道 6六声道 7八声道 8-15reserved copy: 编码时设置为0解码的时候忽略 home编码时设置为0解码的时候忽略 4.2.3. adts_variable_header的表格如下 copyright_identificaion_bit编码时设置为0copyright_identificaion_start编码时设置为0aac_frame_lengthADTS帧的长度它包含adts length和aac es的长度。所以aac_frame_length-(protection_absent 0 ? 9:7) audio_data_lengthadts_buffer_fullness固定为0x7FF。这个标识符是指可变的码流number_of_raw_data_blocks_in_frame表示当前的帧有number_of_raw_data_blocks_in_frame 1 个原始帧