音频编解码原理

article/2025/10/23 5:18:41

实例说明

    音频编解码常用的实现方案有三 种。

    第一种就是采用专用的音频芯片对 语音信号进行采集和处理,音频编解码算法集成在硬件内部,如 MP3 编解码芯片、语音合成 分析芯片等。使用这种方案的优点就是处理速度块,设计周期短;缺点是局限性比较大,不灵活,难以进行系统升级。

    第二种方案就是利用 A/D 采集卡加上计算机组成硬件平台,音频编解码算法由计算机上的软件来实现。使用这种方案的优点是价格便 宜,开发灵活并且利于系统的升级;缺点是处理速度较慢,开发难度较大。

    第三种方案是使用高精度、高速度 的 A/D 采集芯片来完成语音信号的采集,使用可编程的数据处理能力强的芯片来实现语音信号处理的算法,然后 用 ARM 进行控制。采用这种方案的优点是系统升级能力强,可以兼容多种音频压缩格式甚至未来的音频压缩格 式,系统成本较低;缺点是开发难度较大,设计者需要移植音频的解码算法到相应的 ARM 芯 片中去。

    经过综合比较以上三种方案的优缺 点,本实例选用第三种设计方案来实现语音信号的音频编解码。


音频编解码框图

    将模拟的、连续的声音波形数字化 ( 离 散化 ) ,可以得到数字音频。数字音频是把模拟的声音信号通过采样、量化和编码过程转变成数字信号,然后再 进行记录、传输及其他加工处理;重放时再将这些记录的数字音频信号还原为模拟信号,获得连续的声音。

    采用数字音频技术可以避免模拟信号容易受噪声和干扰的影响,可以扩大音频的动态范围,可以利用计算机 进行数据处理,可以不失真地远距离传输,可以与图像、视频等其他媒体信息进行多路复用,以实现多媒体化和网络化。

图 l 给出了音频编解码的一般模型。每个子带信号都在经过定标处 理后被重新进行量化,量化编码过程引入的量化噪声不能超过已确定的对应子带的掩蔽门限。因此量化噪声频谱与信号频谱进行了动态自适应。“比例因子”和各子 带所使用量化器的相关信息与编码后的子带样值一同进行传输,而解码器可以在不了解编码器如何确定编码所需信息的情况下对码流进行解码。这降低了解码器的复 杂度,并为编码器的选择和解码器开发提供了很大的灵活性。

图1
    这里主要涉及的技术有: A/D  D/A 转换、压缩编码技 术、数字信号处理技术、信道编码和调制技术。
    数字音频信号经过处理、记录或传输后,当需要重现声音时,还必须还原为连续变化的模拟信号。将数字信号转换成模拟信号为 D/A 变换。

    数字音频的质量取决于采样频率和量化位数。采样频率越高,量化位数越多,数字化后的音频质量越高。

    音频采样

    采样就是从一个时间上连续变化的 模拟信号取出若干个有代表性的样本值,来代表这个连续变化的模拟信号。一个在时间和幅值上都连续的模拟音频信号的函数表为 x(t), 采样的过程就是在时间上将函数 x(t) 离 散化的过程。一般的采样是按均匀的时间间隔进行的。设这一时间间隔为 T ,则取样后的信号 为 x(nT) , n 为自然数。

 根据奈奎斯特采样定理:要从采样值序 列完全恢复原始的波形,采样频率必须大于或等于原始信号最高频率的 2倍。设连续信号 x(t) 的频谱为 x(W) ,以采样间隔时间 T 抽样得到离散信号 x(nT) ,如果满足 │ W │ ≤ Wc 时,其中 Wc 是截止频率,即 T ≤ l/2Wc 时,可以由 x(nT) 完全确定连续信号 x(t) 。


    当采样频率为 1  2T 时,即 WN=Wc=1/2T 时,称 WN 为奈奎斯特采样频率。

    音频量化

    采样只解决了音频波形信号在 时间坐标(即横轴 ) 上把一个波形切成若干个等分的数字化问题,但是还需要用某种数字化的方法来反映某一瞬间声波幅度的电压值大小。该值的大小影响音量的高低。我们把对声波波形幅度的数字化表示称之为“量化” 。 
    量化的过程 是先将采样后的信号按整个声波的幅度划分成有 限个区段的集合,把落入某个区段内的样值归为一类,并赋于相同的量化值。如何分割采样信号的幅度呢 ? 我们还是采取二进制的方式,以8位 (bit) 或 16 位 (bit) 的方式来划分纵轴 。也就是说在一个以8位为记录模式的音效中,其纵轴将会被划分为2^8个量化等级,用以记录其幅度大小,其精度为 音频信号最大振幅的 1/256 。量化位数越多,量化值越接近于采样值,其精度越高,但要求的信息存储量就越大。

存储数字音频信号的比特率为:

I=N·Ws 

其中的 Ws 是采样率, N 是每个采样值的比特数。

要减小比特率 I ,在 Ws 已经确定的情况下,只能去减少 N 的值。 N 的值降低会导致量化的精 度降低, N 的值增加又会导致信息存储量的增加。因此在编码时就需要合理地选择 N 的值。

均匀量化就是采用相等的量化间隔进行采样,也称为线性量化。用均匀量化来量化输入信号时,无论对大的输入信号还是小的输入信号都一律采用相同的量化间隔。因此,要想既适应幅度大的输入信号,同时又要满足精度高的要求,就需要增加采样样本的位数。

非均匀量化的基本思想是对输入信号进行量化时,大的输入信号采用大的量化间隔,小的输入信号采用小的量化间隔,这样就可以在满足精度要求的情况下使用较少的位数来表示。其中采样输入信号幅度和量化输出数据之间一般定义了两种对应关系,一种称为 u 律压缩算法,另一种称 为 A 律压缩算法。

采用不同的量化方法,量化后的数据量也就不同。因此说量化也是一种压缩数据的方法。

G711编码原理

G711编码的声音清晰度好,语音自然度高,但压缩效率低,数据量大常在32Kbps以上。常用于电话语音(推荐使用64Kbps),sampling rate为8K,压缩率为2,即把S16格式的数据压缩为8bit,分为a-law和u-law。


a-law也叫g711a,输入的是13位(其实是S16的高13位),使用在欧洲和其他地区,这种格式是经过特别设计的,便于数字设备进行快速运算。

运算过程如下:

(1)      取符号位并取反得到s,

(2)      获取强度位eee,获取方法如图所示

(3)      获取高位样本位wxyz

(4)      组合为seeewxyz,将seeewxyz逢偶数为取补数,编码完毕

示例:

输入pcm数据为3210,二进制对应为(0000 1100 1000 1010)

二进制变换下排列组合方式(0 0001 1001 0001010)

(1)      获取符号位最高位为0,取反,s=1

(2)      获取强度位0001,查表,编码制应该是eee=100

(3)      获取高位样本wxyz=1001

(4)      组合为11001001,逢偶数为取反为10011100

编码完毕。

u-law也叫g711u,使用在北美和日本,输入的是14位,编码算法就是查表,没啥复杂算法,就是基础值+平均偏移值,具体示例如下:

pcm=2345

(1)取得范围值

+4062 to +2015 in 16 intervals of 128

 

(2)得到基础值0x90,

(3)间隔数128,

(4)区间基本值4062,

(5)当前值2345和区间基本值差异4062-2345=1717,

(6)偏移值=1717/间隔数=1717/128,取整得到13,

(7)输出为0x90+13=0x9D



http://chatgpt.dhexx.cn/article/9ruMAWhj.shtml

相关文章

基于STM32音频解码MP3——vs1053

基于正点原子教程 VS1053简介: 1.该模块采用VS1053B 作为主芯片 2.支持:MP3/WMA/OGG/WAV/FLAC/MIDI/AAC 等音频格式的解码 3.支持:OGG/WAV 音频格式的录音,支持高低音调节以及 EarSpeaker 空间效果设置 模块如图所示正点原子 AL…

ijkplayer音频解码播放架构分析

ijkplayer是一款跨平台播放器,支持Android与iOS播放,音频解码默认使用FFmpeg的avcodec软解。Android端播放音频可以用OpenSL ES和AudioTrack,而iOS端播放音频默认使用AudioQueue。 一、iOS音频解码播放 采用pipeline形式创建音频播放组件&a…

HIFI音频解码芯片ES9023

现在的HiFi播放器、解码耳放设备越来越多,推陈出新的速度也越来越快。各家厂商也都对产品进行了卖点细分,把新款旗舰级解码芯片拎出来宣传。美国ESS公司推出的ES9038Pro芯片大家都早已耳熟能详。 美国ESS系列芯片拥有行业高标准的信噪比 DNR(…

DP7398:国产兼容替代CS4398立体声24位/192kHz音频解码芯片

目录 DP7398简介结构框图芯片特性 应用领域 DP7398简介 DP7398是立体声 24 位/192kHz 数模转换芯片。该D/A系统包括数字去加重、半分贝步长音量控制、ATAPI 通道混频、可选择的快速和慢速数字插补滤波器和过采样多位增量 Sigma-Delta 调制器;该调制器采用失调整形技…

ijkplayer 音频解码线程

在ijkplayer 读线程中提到,函数stream_component_open()中的decoder_start()会创建音频解码线程,来看解码线程audio_thread()的主要代码 static int audio_thread(void *arg) {...do {...if ((got_frame decoder_decode_frame(ffp, &is->auddec…

ES9023音频解码芯片原理及应用简介

一般来说,音频解码器分为两类,一类是用于Hi-Fi听音的纯音频解码器,即指把CD机等数字音源器材一分为二后,去掉转盘(驱动光碟旋转读盘)的部分。 纯音频解码器的主要作用是把读取的数字音频信息转…

iOS的音频解码详解

在iOS平台上,所有的音频框架底层都是基于AudioUnit实现的,较高层次的音频框架包括: Media Player、 AV Foundation、OpenAL和Audio Toolbox,这些框架都封装了AudioUnit,然后提供了更高层次的API(功能更少,职责更单一的接口)。 当开发者在开发音视频相关产品的时候,如果…

FFmpeg音频解码流程详解及简单demo参考

本文主要讲解FFmpeg的音频解码具体流程,API使用。最后再以一个非常简单的demo演示将一个mp3格式的音频文件解码为原始数据pcm文件。 本文主要基于FFmpeg音频解码新接口。 一、FFmpeg音频解码API调用流程图 API接口简单大体讲解如下: av_register…

ffmpeg 音频解码一

1. ffmpeg 视频解码一 2. ffmpeg 视频解码二 3. ffmpeg 音频解码一 4. ffmpeg 音频解码二 5. ffmpeg 音视频解码 6. ffmpeg 视频编码一 7. ffmpeg 视频编码一(精简版) 8. ffmpeg 视频编码二(基于 libswscale 转换视频) 9. ffmpeg …

MP3音频解码详细过程(二)

最近做了无人机的音频解码,二周内从无任何音频基础到输出PCM数据码流到无人机上可以实现播报功能,其中遇到了许多莫名的坑,谨以此篇记录心得。也算交个作业。 架构设计思路:由usart 实时传输mp3音频码流,STM32F446 将…

低延迟音频中的音频解码优化策略

文章目录 前言音频播放举个例子:PortAudio回调函数解码与播放 优化策略1. 一次性读取音频到内存中2. MMAP3. 音频转码,再接 MMAP4. 解码缓冲 总结参考资料 前言 延迟是指信号在系统中传输所需的时间。下面是常见类型的音频应用相关延迟时间:…

音频编解码基础

1. PCM PCM 脉冲编码调制是Pulse Code Modulation的缩写。脉冲编码调制是数字通信的编码方式之一。主要过程是将话音、图像等模拟信号每隔一定时间进行取样,使其离散化,同时将抽样值按分层单位四舍五入取整量化,同时将抽样值按一组二进制码来…

音视频解码流程详解

1、解码整体流程 (1) 音频解码整体流程 (2)视频解码整体流程 2、FFmpeg音视频解码详细流程 3、关键数据结构 AVCodecParser:⽤于解析输⼊的数据流并把它分成⼀帧⼀帧的压缩编码数据。⽐较形象 的说法就是把⻓⻓的⼀…

FFmpeg 音频解码(秒懂)

1.简介 解码音频数据,如下图所示,把MP3或者AAC数据解码成原始的数据pcm。 2.流程 2.1在使用FFmpeg API之前,需要先注册API,然后才能使用API。当然,新版本的库不需要再调用下面的方法。 av_register_all() 2.2 构建输…

语音编解码技术演进和应用选型

本文来自现网易云音乐音视频实验室负责人刘华平在LiveVideoStackCon 2017大会上的分享,并由LiveVideoStack整理而成。分享中刘华平以时间为主线,讲述了语音编解码技术的演进路线及实际应用中的技术选型。 文 / 刘华平 整理 / LiveVideoStack 大家好&…

回访。

wyx 过来,还 sxt ,拿走了几张碟。为此,特意收拾了房间。还是被说没地方坐。 由于事先约了 zhmm 吃饭,没调开时间,所以,五点多,大家就一起吃了。大青花,东北风味儿。餐厅在二楼&…

客户信息管理软件系统

拟实现一个基于文本界面的《客户信息管理软件》 进一步掌握编程技巧和调试技巧,熟悉面向对象编程 主要涉及以下知识点: ▶类结构的使用: ▶对象的创建与使用 ▶类的封装性 ▶声明和使用数组 ▶数组的插入、删除和替换 ▶关键字的使用&#xf…

企业如何通过CRM系统有效触达客户,获取潜在商机

“守株待兔”式坐等客户上门的时代了已经过去了,尤其是在存量时代,企业想要提高销售,扩大客源,就要不断的通过各种渠道来去拓展自己的客户和销路,而互联网时代,获客的渠道也丰富多样,企业选择好…

呼叫中心系统接入CRM客户管理系统

呼叫中心是企业与客户建立联系的桥梁,企业想要发展必须要有统一的客户管理系统,呼叫中心与客户管理系统对接到一起能够更高效管理客户,档案数据更准确。 在以前企业都是通过纸质的客户档案管理客户的,寻找某个客户时特别不方便&am…

CRM管理系统、教育后台、赠品管理、优惠管理、预约管理、试听课、教师、学生、客户、学员、商品管理、科目、优惠券、完课回访、客户管理系统、收费、退费、回访、账号权限、订单流水、Axure原型、rp原型

CRM管理系统、教育后台、赠品管理、优惠管理、预约管理、试听课、教师、学生、客户、学员、商品管理、科目、优惠券、完课回访、客户管理系统、收费、退费、回访、账号权限、订单流水、Axure原型、rp原型 Axure原型演示及下载地址:https://www.pmdaniu.com/storage…