一种LC3音频编码器后置残差优化方法、装置和介质与流程

文档序号:23791261发布日期:2021-01-30 06:02阅读:138来源:国知局
一种LC3音频编码器后置残差优化方法、装置和介质与流程
一种lc3音频编码器后置残差优化方法、装置和介质
技术领域
[0001]
本申请涉及蓝牙音频编解码领域,特别是一种lc3音频编码器后置残差优化方法、装置和介质。


背景技术:

[0002]
目前主流的蓝牙音频编码器存在音质一般、电池容量有限、处理器运算能力较差且内存有限、技术封闭等短板,lc3音频编码器其具有较低延迟、较高音质和编码增益以及在蓝牙领域无专利费得优点。在lc3编码器中,残差数据贯穿于整个数据编码过程中,现有技术中,在残差编码之前根据频谱量化后的非零频谱数据预测残差空间,准备了残差最大样本数,将准备好的残差最大样本数存入临时变量寄存器。
[0003]
但是在此方法中预测的残差空间是还未经过算数编码及边带编码的残差数据空间,因此此残差空间大小并不一定准确。并且预测的残差最大样本数可能会导致临时变量寄存器存储空间的内存消耗,大约1*400字节,造成过量准备残差,以及存储残差会造成的处理器资源消耗,主要是导致存储指令的消耗。


技术实现要素:

[0004]
lc3音频编码器后置残差优化方法解决了根据频谱量化后的非零频谱数据预测到的不确定残差空间,以及根据不确定残差空间准备的残差最大样本数造成的临时变量寄存器存储空间的内存消耗和过量准备残差导致的处理器资源消耗问题。
[0005]
为了解决上述问题,本发明采用的一个技术方案是:提供一种lc3音频编码器后置残差优化方法。其包括:将在lc3音频编码器对音频信号进行频谱量化的过程中,量化频谱系数未经量化补偿的原值定点化运算的结果使用分时共享内存块方式进行储存。在进行频谱量化之后,直接进行噪声等级估计、边带信息编码以及频谱算术编码,在频谱算术编码之后,计算得到lc3编码帧结构中频谱算术编码之后的剩余空间,得到残差编码实际空间。以及根据残差编码实际空间,根据非零频谱数据利用量化频谱系数未经量化补偿的原值定点化运算的结果由低频至高频依次倒序进行残差编码。
[0006]
本发明采用的另一个技术方案是:提供一种lc3音频编码器后置残差优化装置,其包括:用于将在lc3音频编码器对音频信号进行频谱量化的过程中,量化频谱系数未经量化补偿的原值定点化运算的结果进行预先存储的模块;用于在进行频谱量化之后,直接进行噪声等级估计、边带信息编码以及频谱算术编码的模块;用于在频谱算术编码之后,计算得到lc3编码帧结构中的残差编码实际空间的模块;以及用于根据残差编码实际空间,利用量化频谱系数未经量化补偿的原值定点化运算的结果进行残差编码的模块。
[0007]
在本申请的另一技术方案中,提供一种计算机可读存储介质,其存储有计算机指令,其中计算机指令被操作以执行方案中的lc3音频编码器后置残差优化方法。
[0008]
在本申请的另一技术方案中,提供一种计算机设备,其包括处理器和存储器,存储器存储有计算机指令,其中,处理器操作计算机指令以执行方案一中的lc3音频编码器后置
残差优化方法。
[0009]
本申请技术方案可以达到的有益效果是:根据精确的残差编码实际空间直接编码残差数据,取消预先准备残差数据,节约了预测的残差最大样本数导致的临时变量寄存器存储空间的内存消耗,节约了过量准备残差,降低运算量以及存储残差造成的处理器资源消耗,主要是存储指令的消耗。
附图说明
[0010]
图1为本发明一种lc3音频编码器残差编码方法一个实施方式的流程示意图;
[0011]
图2为本发明一种lc3音频编码器后置残差优化方法一个实施方式的流程示意图;
[0012]
图3为本发明一种lc3音频编码器后置残差优化装置另一个实施方式的组成示意图。
具体实施方式
[0013]
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0014]
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0015]
图1所示为本发明一种lc3音频编码器残差编码方法一个实施方式的流程示意图。
[0016]
在现有技术中,残差数据贯穿于首次量化增益估计,首次频谱量化,可选的二次量化增益调整,可选的二次频谱量化,残差编码准备,噪声等级估计,边带信息编码,频谱算术编码,残差编码。要进行最后的残差编码就需要提前准备残差数据,通过全部非零频谱数据预测最后的残差编码空间,根据残差编码空间准备一个残差最大样本数,将此残差最大样本数由低频到高频临时记录到临时变量寄存器中。提前准备的残差数据在有足够的非零频谱量化数据时,由于尚未进行实际算术编码和边带数据编码,残差空间大小只能进行粗略估计,因此需要比实际的残差编码空间稍大,确保残差数据可以恰当的写入,但此方法的弊端在于需要提前准备较多的残差数据,约为每帧多2到4比特不等,并写入临时变量寄存器,为了快速写入临时变量寄存器的寄存数组,lc3音频编码器无法做到单比特数写入,而是单字节或者双字节写入一个残差1比特数样本,这导致临时变量寄存器的寄存数组预固定分配的数组尺寸无法确定,理论值长达ne个,即全部谱线的个数。在频谱算数编码之后,将预先记录在临时变量寄存器的残差最大样本数低频至高频依次倒序写入残差编码实际空间进行残差编码。
[0017]
针对上述现有技术中存在的问题,本申请提出一种lc3音频编码器后置残差优化
方法,取消了预先准备残差数据部分,节约了不可预测残差最大样本数导致的临时变量寄存器存储空间的内存消耗,并且根据精确的残差编码实际空间直接编码残差数据。
[0018]
图2所示为本发明一种lc3音频编码器后置残差优化方法一个实施方式的示意图。
[0019]
在该具体实施方式中,lc3音频编码器后置残差优化方法包括:过程s101:将在lc3音频编码器对音频信号进行频谱量化的过程中,量化频谱系数未经量化补偿的原值定点化运算的结果进行预先存储,包括:lc3音频编码器多个模块使用分时共享内存块方式,对量化频谱系数未经量化补偿的原值定点化运算的结果进行储存。过程s102:在进行频谱量化之后,直接进行噪声等级估计、边带信息编码以及频谱算术编码。过程s103:在频谱算术编码之后,计算得到lc3编码帧结构中的残差编码实际空间,包括:计算lc3编码帧结构中频谱算术编码之后的剩余空间,得到残差编码实际空间。过程s104:根据残差编码实际空间,利用量化频谱系数未经量化补偿的原值定点化运算的结果进行残差编码,包括:根据非零频谱数据利用所述量化频谱系数未经量化补偿的原值定点化运算的结果由低频至高频依次倒序进行残差编码。
[0020]
在图2所示的具体实施方式中,本申请的lc3音频编码器后置残差优化方法包括过程s101,将在lc3音频编码器对音频信号进行频谱量化的过程中,量化频谱系数未经量化补偿的原值定点化运算的结果使用分时共享内存块方式,对量化频谱系数未经量化补偿的原值定点化运算的结果进行储存。
[0021]
在该具体实施方式中,在本申请的lc3音频编码器后置残差优化方法中,对量化频谱系数未经量化补偿的原值定点化运算的结果进行储存的过程包括:对频谱数据样本x
f
(n)和量化全局增益参数gg进行运算,得到量化频谱系数原值x_qf_residule[n]的频谱量化模块的中间输出数据,是量化谱系数未经量化补偿的原值。其中,。在编码器中,为了编解码数据间储存及表达的统一性,对量化频谱系数原值x_qf_residule[n]进行定点化运算,得到量化频谱系数原值x_qf_residule的数组,并将该定点化运算结果进行储存。
[0022][0023]
此部分对量化频谱系数未经量化补偿的原值定点化运算的结果的存储是频谱量化过程中已产生,顺便存储的,无需额外计算,而且对量化频谱系数未经量化补偿的原值定点化运算的结果也会被噪声估计模块使用,并没有带来额外的存储和运算开销。
[0024]
在本申请的一个具体实施例中,使用共享内存块方式,进行对定点化运算的量化频谱系数原值进行储存,减少所需增加的内存。因为在频谱量化过程中,额外输出了量化频谱系数原值,并进行定点化运算,在对定点化运算的量化频谱系数原值进行储存需要适当的存储空间。在编码器中,可以与其他编解码模块分时共享同一存储单元,例如,在进行其他编解码模块的运算时,该存储单元进行其他编解码模块数据的存储,当进行频谱量化模块、残差编码模块以及噪声等级估计模块的运算时,该存储单元存储定点化运算的量化频
谱系数原值,实现不需要额外增加内存的情况下,实现运算量的优化。例如在在lc3编码器编码器中,当采样率为48khz,10ms帧长,n
e
的取值为400的情况下,可以节省由于定点化运算后的量化频谱系数原值x_qf_residule的额外存储增加的4*400=1600字节的内存,节省编码器中的内存消耗。
[0025]
在图2所示的具体实施方式中,本申请的lc3音频编码器后置残差优化方法包括过程s102:在进行频谱量化之后,直接进行噪声等级估计、边带信息编码以及频谱算术编码。
[0026]
在该具体实施方式中,在本申请的lc3音频编码器后置残差优化方法中,残差数据贯穿于首次量化增益估计,首次频谱量化,可选的二次量化增益调整,可选的二次频谱量化,噪声等级估计,边带信息编码,频谱算术编码,残差编码。取消了残差编码准备部分,将残差后置到频谱算数编码之后,使得残差数据准确恰当的写入残差编码空间进行残差编码,减少了临时变量寄存器存储空间的内存消耗,避免过量准备残差以及存储残差造成的处理器资源消耗。
[0027]
在图2所示的具体实施方式中,本申请的lc3音频编码器后置残差优化方法包括过程s103:在频谱算术编码之后,计算lc3编码帧结构中频谱算术编码之后的剩余空间,得到残差编码实际空间。
[0028]
在该具体实施方式中,在本申请的lc3音频编码器后置残差优化方法中,lc3音频编码器编码帧比特数由蓝牙信道分配的带宽以及后续码率调整决定。帧内编码空间包括:边带信息、算数编码空间、频谱数据符号位及最低位、残差编码空间。噪声估计模块产生的f_nf 3比特需要被填入边带编码空间中,而频谱数据的算术编码又依赖于边带编码结束产生的编码写入位置,因此在频谱算数编码后可以计算出实际的残差编码空间,便于残差数据准确恰当的写入。
[0029]
在图2所示的具体实施方式中,本申请的lc3音频编码器后置残差优化方法包括过程s104:根据残差编码实际空间,以及非零频谱数据利用量化频谱系数未经量化补偿的原值定点化运算的结果由低频至高频依次倒序进行残差编码。
[0030]
在该具体实施方式中,调用已储存的量化频谱系数未经量化补偿的原值定点化运算的结果x_qf_residule计算残差数据,根据非零频谱数据利用量化频谱系数未经量化补偿的原值定点化运算的结果x_qf_residule由低频至高频依次倒序进行残差编码。在lc3编码帧中,边带信息倒序写入、算数编码正序写入、频谱数据符号位及最低位倒序写入、残差数据倒序写入。
[0031]
图3所示为本发明一种lc3音频编码器后置残差优化装置另一个实施方式的示意图。
[0032]
在该具体实施方式中lc3音频编码器后置残差优化装置主要包括:用于将在lc3音频编码器对音频信号进行频谱量化的过程中,量化频谱系数未经量化补偿的原值定点化运算的结果使用分时共享内存块方式,对量化频谱系数未经量化补偿的原值定点化运算的结果进行储存的模块;用于在进行频谱量化之后,直接进行噪声等级估计、边带信息编码以及频谱算术编码的模块;用于在频谱算术编码之后,计算lc3编码帧结构中频谱算术编码之后的剩余空间,得到残差编码实际空间的模块;以及用于根据残差编码实际空间,以及非零频谱数据利用量化频谱系数未经量化补偿的原值定点化运算的结果由低频至高频依次倒序进行残差编码的模块。
[0033]
通过本申请lc3音频编码器后置残差优化方法的应用,取消预先准备残差数据,节约了不可预测残差最大样本数导致的临时变量寄存器存储空间的内存消耗,大约1*400字节,节约了过量准备残差,以及存储残差造成的处理器资源消耗,主要是store存储指令的消耗,在cadence hifi3 dsp平台下,48khz,320kbps码率下节约大约0.2mcps。在残差编码时根据精确的残差编码空间直接编码残差数据,代码尺寸rom降低约150字节。
[0034]
本发明提供的一lc3音频编码器后置残差优化装置,可用于执行上述任一实施例描述的lc3音频编码器后置残差优化方法,其实现原理和技术效果类似,在此不再赘述。
[0035]
在本发明的另一个具体实施方式中,一种计算机可读存储介质,其存储有计算机指令,其特征在于,计算机指令被操作以执行任一实施例描述的lc3音频编码器后置残差优化方法。其中,该存储介质可直接在硬件中、在由处理器执行的软件模块中或在两者的组合中。
[0036]
软件模块可驻留在ram存储器、快闪存储器、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可装卸盘、cd-rom或此项技术中已知的任何其它形式的存储介质中。示范性存储介质耦合到处理器,使得处理器可从存储介质读取信息和向存储介质写入信息。
[0037]
处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)、现场可编程门阵列(英文:field programmable gate array,简称:fpga)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合等。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如dsp与微处理器的组合、多个微处理器、结合dsp核心的一个或一个以上微处理器或任何其它此类配置。在替代方案中,存储介质可与处理器成一体式。处理器和存储介质可驻留在asic中。asic可驻留在用户终端中。在替代方案中,处理器和存储介质可作为离散组件驻留在用户终端中。
[0038]
在本申请的一个具体实施方式中,一种计算机设备,其包括处理器和存储器,存储器存储有计算机指令,其中:处理器操作计算机指令以执行任一实施例描述的lc3音频编码器后置残差优化方法。
[0039]
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0040]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0041]
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均
同理包括在本发明的专利保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1