音频编码之子带编码

SBC 编码器 SBC(Sub-band Coding,子带编码)编码器是一种在蓝牙音频传输等领域广泛应用的编码技术。SBC编码器的基本原理是把信号的频率分为若干子带,然后对每个子带进行编码,并根据每个子带的重要性及特点分配不同的位数来表示数据。例如,在音频编码中,由于人耳对不同频率的敏感度不同,可以在对人耳敏感的子带使用较细的量化,对人耳不敏感的子带使用较粗糙的量化,从而在不降低主观听觉效果的情况下达到较好的压缩效果。SBC是蓝牙规范的必选项之一,对于蓝牙音频传输来说至关重要。 阅读详情

子带。子带(subband)是指这样的一种频率范围,当两个音调的频率位于一个子带内时,人就会把两个音调听成一个。更一般的情况是,如果一个复杂信号的频率分布位于一个子带内时,人耳的感觉是该信号等价于一个频率位于该子带中心频率处的简单信号,这是子带的核心内涵。简单说,子带是指一个频率范围,频谱位于这个范围内的信号可以用一个单一频率的分量来代替。 

一般等价的频率取子带的中心频率,振幅取子带内个频率分量振幅的加权和,更简单的方法则是将各频率分量的振幅直接相加,作为等价信号的振幅,这样一个范围内的频率分量用一个分量就可以代替了。

设一个信号的频谱频率最低值为w0,最大值为w1。子带编码就是将w0-w1之间的频率范围划分成若干子带,然后每个子带范围内的分量用一个等价的频率分量来替换。这样,一个具有复杂频谱的信号可以等价为一个频谱构成灰常简单的信号——频谱被大大简化了,需要存储的东西就非常少了。

从以上过程不难知道,子带如何划分对压缩后音频的质量影响很大(毕竟是近似等价)。子带的划分方法是子带编码的一个很重要的研究主题,大致可以分为等宽子带编码和变宽子带编码,见名知意,不解释。

子带划分后子带数量的不同导致了压缩算法的不同等级。容易知道,码率越低压缩率越高时,子带数量少,同时音质较差。相反的情况也容易理解。

理解了子带编码,音频压缩就很容易理解了,一个信号经过一组三角滤波器(等同于一组子带)后,被精简为数量很少的频率分量。然后考察这些频率分量,能量或者说振幅位于可听度阈值曲线之下的直接无视(删除该分量,因为听不到)。再考察余下的两两相邻的频率分量,如果其中一个被旁边的频率屏蔽,也删除掉。经过以上的处理,一个复杂信号的频谱所含有的频率分量就很简单了,使用很少的数据就可以存储或者传输这些信息。

解码的时候使用傅里叶逆变换将上面得到的简单频谱重构到时域上,得到解码后的语音。

子带编码往往是音频编码的第一步,方便之后利用心理声学模型来处理各个频带。

比如:

auditory masking in the human auditory system. Human ears are normally sensitive to a wide range of frequencies, but when a sufficiently loud signal is present at one frequency, the ear will not hear weaker signals at nearby frequencies. We say that the louder signal masks the softer ones. The louder signal is called the masker, and the point at which masking occurs is known as the masking threshold.

The basic idea of SBC is to enable a data reduction by discarding information about frequencies which are masked. The result differs from the original signal, but if the discarded information is chosen carefully, the difference will not be noticeable, or more importantly, objectionable.

基本的子带编码的流程:

To enable higher quality compression, one may use subband coding. First, a digital filter bank divides the input signal spectrum into some number (e.g., 32) of subbands. The psychoacoustic model looks at the energy in each of these subbands, as well as in the original signal, and computes masking thresholds using psychoacoustic information. Each of the subband samples is quantized and encoded so as to keep the quantization noise below the dynamically computed masking threshold. The final step is to format all these quantized samples into groups of data called frames, to facilitate eventual playback by a decoder.
Decoding is much easier than encoding, since no psychoacoustic model is involved. The frames are unpacked, subband samples are decoded, and a frequency-time mapping reconstructs an output audio signal.

Beginning in the late 1980s, a standardization body called the Motion Picture Experts Group (MPEG) developed generic standards for coding of both audio and video. Subband coding resides at the heart of the popular MP3 format (more properly known as MPEG-1 Audio Layer III), for example.


数字图像处理 第七章小波和多分辨率处理 数字图像处理第七章 小波和多分辨率处理 阅读详情

相关推荐

【数据压缩作业】MEPG音频编码

一、实验原理 程序设计的整体框架 MPEG-1 Audio Layer II编码器原理框图如下图所示: 感知音频编码的设计思想 (1) 两条线 第一条线:时域越短提取到的样本点数越多,越能反映瞬时变化情况 第二条线:把人耳的听觉特性转变成可计算的模型——心理声学模型,其输出类似听力曲线,以频率为横坐标,以能量为纵坐标。谱线间隔越小、频域的分解力越细越好。 时频分析的矛盾 频域的频谱分辨率和时域的变化率之间存在矛盾,时域信号取得越短,频域谱线间隔越大。 3.心理声学模型的实现过程 (1)临界频带的概念 临界

Abigailiar的博客 603

子带编码(SBC)

<br />子带编码(subband coding,SBC)的基本思想是:使用一组带通滤波器(band-pass filter,BPF)把输入音频信号的频带分成若干个连续的频段,每个频段称为子带。对每个子带中的音频信号采用单独的编码方案去编码。在信道上传送 时,将每个子带的代码复合起来。在接收端译码时,将每个子带的代码单独译码,然后把它们组合起来,还原成原来的音频信号。子带编码的方块图如图3-17所 示,图中的编码/译码器,可以采用ADPCM,APCM,PCM等。 <br />图3-17 子带

Embeded system Development 1万+

作业| MPEG音频编码

一、实验原理 1、感知音频编码原理 两条线: 第一条:将输入的音频子带分解,输入的PCM码流经过一个多相滤波器组,形成32个子带。 第二条:对PCM信号进行频域分析,经过心理声学模型计算以频率为自变量的噪声掩蔽阈值。 缺点: (1)等带宽的滤波器组与人类听觉系统的临界频带不对应 在低频区域,单个子带会覆盖多个临界频带。在这种情况下,量化比特数不能兼每个临界频带 (2)滤波器组与其逆过程不是无失真的 但滤波器组引入的误差差很小,且听不到 (3)子带间频率有混叠 滤波后的相邻子带有频率混叠现象,一个子带中的信

weixin_52188502的博客 260

小波变换——子带编码,Subband Coding

离散小波变换。多级信号分解,多分辨率分析。 Multiresolution Analysis(MRA、多分辨率分析) 子带编码(Subband Coding) 简称SBC。 一种以信号频谱为依据的编码方法,即将信号分解成不同频带分量来去除信号相关性,再将分量分别进行取样、量化、编码,从而得到一组互不相关的码字合并在一起后进行传输。 子带编码(Subband Coding)...

weixin_30323961的博客 1523

基于Simulink的子带编码技术研究

本教程详细介绍了如何在Simulink中实现子带编码系统。主要内容包括:子带编码原理(将信号划分为多个频带分别处理)、Simulink建模步骤(创建模型、添加音频输入、构建分析/合成滤波器组、信号处理与重构)、参数设置和可视化方法。教程提供了完整的代码示例,帮助读者快速搭建系统,并建议了后续拓展方向(如结合心理声学模型、部署嵌入式平台等)。该方案适用于音频压缩、语音通信等领域,具有编码效率高、支持可变码率等优点。

amy_mhd的博客 119

35、子带与小波编码技术详解

本文详细介绍了子带编码与小波变换的基本原理、实现方法及其在信号处理中的应用。内容涵盖两通道子带分解的完美重构条件、滤波器设计与MATLAB实现,扩展至多通道系统及实际编码应用;深入探讨了小波变换的时频分析能力、Haar小波示例、信号近似与展开,并对比了子带编码与小波变换在性能和适用场景上的差异。结合语音、图像和地震信号的实际案例,展示了两种技术的优势与局限,最后展望了其在自适应处理、硬件加速和新兴领域的融合发展前景。

n7o8p的博客 56

MPEG音频编码实验

①上线(主干):子带分解以1152个样本为单位,输入到滤波器组中进行32个子带的分解,即以32个样本为一个时间窗口,做36次自带分解,形成36个样本,形成以12个样本为单位的3个块(以12个样本为观察组,之间的差别不大),以此进行比例因子的提取和选择,通过频域分析线路的辅助,进行后续的量化等工作。②下线(辅助):频域分析通过1024点的FFT输出FFT结果,和比例因子共同输入到心理声学模型中,输出SMR并生成听阈曲线,再结合码率限制进行动态比特分配,使整帧和每个子带的总噪声-掩蔽比最小,最终结合主干线路进行

qq_52247034的博客 155

手把手教你学Simulink——基于Simulink的子带编码技术研究

子带编码是一种将输入信号在频域上划分为多个子带,分别对每个子带进行独立处理和编码的技术。它广泛应用于音频压缩(如MP3)、语音通信、图像编码等领域。

MHD0815的博客 84

数据压缩10 | 实验6 | MPEG音频编码实验

目录一、内容概述二、实验思路三、代码分析四、输出结果五、总结反思 一、内容概述 二、实验思路 三、代码分析 四、输出结果 五、总结反思

月婵婵的程序媛生涯 793

SBC编解码器库:蓝牙音频传输的核心

SBC(Subband Coding)编解码器库是音频处理中不可或缺的一环,主要用于蓝牙音频传输。它通过特定的算法对音频信号进行压缩编码和解压缩解码,以适应蓝牙带宽限制的同时尽量保持音频质量。SBC编解码器库包含了一系列处理模块,从音频输入输出到编码解码核心,再到错误检测与恢复等,都是为了确保音频传输的高效率和高质量。SBC 编解码器库不仅需要支持基本的编解码功能,还需具备一定的容错性,以应对无线传输中的不稳定因素。

weixin_29781865的博客 1730

Arduino——GY39大气压、温湿度、光照模块

前几天买东西的时候买了一个GY39,这个模块集成了温湿度,大气压,海拔,光照一体,使用起来很方面。它有两种工作模式使用串口模式时需要搭配转接板,我选择了IIC模式,看一下通信协议吧,就是关于高八位和低八位的数据。看一下接线。

戚晨夕的博客 2605

零基础入门simulink1000例--第142例:基于Simulink的子带编码技术研究

子带编码是一种将输入信号在频域上划分为多个子带,分别对每个子带进行独立处理和编码的技术。它广泛应用于音频压缩(如MP3)、语音通信、图像编码等领域。

amy_mhd的博客 661

Altium Designer操作技巧(12)——如何进行邮票孔拼版?

【摘要】本文详细介绍了PCB设计中邮票孔拼板的全流程操作方法。首先解释了邮票孔拼板的定义、核心目的(提高贴片效率、方便生产)和适用场景(异形板、V-CUT无法实现的情况)。重点阐述了关键设计参数,包括孔径、数量、间隙等规范要求,并提供了两种具体操作方案:传统复制粘贴法和新版阵列放置法。文章通过图文详细演示了从PCB复制、邮票孔添加、板框定义到定位孔和Mark点设置的完整步骤,最后强调了对称性、非金属化孔等设计要点,以及需要与板厂确认工艺参数等注意事项。

u012526819的博客 1676

MPEG音频编码

本实验对MPEG-1 Audio Layer Ⅲ(MP3)协议对应的文件格式.mp3文件进行解析,并凭借其结构与mp2文件类似的特点,通过代码分析实现对MPEG音频编码的实践与深入理解,并对编码过程中的相关量进行分析。............

weixin_48680270的博客 3000

STM32CubeMX——循迹传感器TCRT5000的使用

前言 人生如逆旅,我亦是行人。 ————苏轼《临江仙·送钱穆父》 一、介绍 TCRT5000描述:(带有晶体管输出的反射光学传感器) TCRT5000是一种反射式光学传感器,它包括一个红外发射器和一个3.5mm引线封装的光电晶体管,可阻挡可见光。还具有1mA 典型被测输出电流,2.5mm峰值工作距离,可应用传感与仪表,工业等行业。 TCRT5000具有紧凑的结构,其中发射光源和探测器布置在同一方向,通过使用来自物体的反射红外光束来感知物体的存在。工作波长为950毫米,探测器由光电晶体管组成

W_Oilpicture的博客 1万+

Android13 SurfaceFlinger启动流程分析

在Android13版本中,SurfaceFlinger是由Android.bp去启动init.rc文件,然后再解析文件去加载SurfaceFlinger。上面方法主要处理如下:1、调用surfaceflinger的createSurfaceFlinger方法,实例化surfaceflinger。2、调用flinger(surfaceflinger)的init()方法,在客户端连接之前进行初始化。

liuning1985622的博客 1919

【实验六】MPEG音频编码实验

文章目录

cppKillMe的博客 362

【Win10/11】Windows电脑WiFi显示小地球/断网的解决方法 Windows WiFi小地球、网络连接中断、网络重置、无线网卡驱动、Win10/Win11网络修复

最近经常有粉丝留言问我,Windows 电脑突然连不上 WiFi,右下角网络图标显示成了“小地球 🌐”,或者干脆提示“未连接 - 没有可用的连接”。明明其他设备网络都正常,唯独自己的电脑断了。作为在互联网大厂混迹多年的前端程序员,我自己也碰到过这个问题。总结几种比较常见、亲测有效的解决方法,写出来供大家参考,希望能帮你快速恢复上网!问题原因推荐解决方法系统设置错乱使用网络重置功能驱动异常或冲突卸载后重启自动安装驱动驱动版本过旧手动更新网卡驱动实在不行考虑使用系统还原点或重装系统这几个方法中,

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 3848

实验6:MPEG音频编码实验

一、MPEG音频编码相关概念简述 本次实验基于mpeg1audio-layer2进行分析学习 mpeg-1 audio layer1/2/3,都基于mepg1标准。layer1/2/3的区别是编码的复杂度由低到高增加。 1 MPEG-1 Audio LayerII编码器原理 2 pcm 码流 PCM 脉冲编码调制即Pulse Code Modulation。脉冲编码调制是数字通信的编码方式之一。将模拟信号每隔一定时间进行取样,使其离散化,同时将抽样值量化,用一组二进制码来表示抽样脉冲的幅值。

weixin_45432000的博客 397

ARM Linux工控板+C# .NET Core:倍福ADS协议轻量化工业控制(附跨平台部署代码)

某自动化设备厂的倍福PLC控制系统曾依赖传统x86工控机:单台设备需配备1台Intel i5工控机(成本约8000元),功耗30W+,且Windows系统稳定性受工业环境干扰(如电磁辐射导致蓝屏)。更棘手的是,设备需部署在产线边缘(空间狭小),x86工控机的体积(4U机架)和散热需求(风扇噪音)难以适配;而多设备部署时,高硬件成本和高功耗导致年运维成本超20万元。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 954

5ZCM6ZGrVDllSFLkv6Hmga/ljJbnrqHnkIbns7vnu58= GetFlowDropDown SQL注入

5ZCM6ZGrVDllSFLkv6Hmga/ljJbnrqHnkIbns7vnu58=、eHR/OA一体化智慧云平台、智慧一卡通云平台、行业软件开发与定制、智慧企业管理信息化咨询与项目服务为核心业务的顾问式管理咨询和软件个性定制开发的高科技股份集团公司。同鑫T9eHR信息华管理系统存在SQL注入漏洞,攻击者可通过该漏洞上传shell。关闭互联网暴露面或接口设置访问权限。利用sqlmap进行shell。

iSee857的博客 700

MPEG音频编码原理及C++实现

一、MPEG-1 Audio LayerII编码器原理 该编码器采用双线并行的结构,上半部分是子带编码系统,下半部分是感知音频编码系统。下半部分的目的是为不同子带分配不同的量化比特数。下面就这两个部分分别展开描述: 1.1 子带编码 含义:将原始信号分解为若干个子频带,对其分别编码处理后再合成为全频带信号 为什么?:很多信源在同一时间表现出不同特性,信号需要被分解,针对不同子路采用不同的量化比特与编码方式。 1.1.1 多相滤波器组 将PCM样本变换到32个子带的频域信号 低通滤波器与各子带中心频率调制

m0_46293129的博客 1055

Java调用YOLOv26全解析:从ONNX模型部署到工业质检实战

本文分享了工业自动化领域使用Java调用YOLOv26进行零件缺陷检测的完整方案。通过YOLOv26s模型结合ONNX Runtime Java部署,误检率和漏检率显著降低(分别从12%降至2.1%,8%降至0.8%)。文章详细介绍了方案选型理由、环境配置避坑指南、ONNX模型导出步骤,以及Maven依赖配置(分CPU/GPU版本)。该方案直接在上位机Java环境中运行,避免了跨语言调用损耗,适合工业质检场景部署,提供了可复用的性能优化和多线程推理实现。

2601_94871597的博客 1108
上一篇: ARM中的浮点运算
下一篇: 平滑滤波
我把葡萄酿成酒
博客等级 码龄12年 275粉丝 198原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值