HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

一种优化LC3编码器残差编码和噪声估计编码的方法与流程

2021-01-28 15:01:08|285|起点商标网
一种优化LC3编码器残差编码和噪声估计编码的方法与流程

本申请涉及音频编码技术领域,特别是一种优化lc3编码器残差编码和噪声估计编码的方法、系统、存储介质及设备。



背景技术:

现有技术中,主流的蓝牙音频编码器包括:sbc音频编码器,其根据a2dp协议强制要求,使用最为广泛,所有的蓝牙音频设备支持,但音质一般;aac-lc音频编码器,其音质较好且应用较为广泛,很多主流的手机都支持,但与sbc音频编码器相比,内存占用较大,且运算复杂度高,很多蓝牙设备都基于嵌入式平台,电池容量有限,处理器运算能力较差且内存有限;aptx系列音频编码器,其音质较好,但码率很高,aptx需要码率384kbps,而aptx-hd的码率为576kbps,且为高通独有的技术,较为封闭;ldac音频编码器,其音质较好,但码率也很高,分别是330kbps,660kbps和990kbps,由于蓝牙设备所处的无线环境特别复杂,稳定支持如此高的码率有一定的困难,且为索尼独有的技术,也很封闭。

基于上述原因,蓝牙国际联盟bluetoothsig联合众多厂商推出了lc3编码器音频编码器,其具有较低延迟、较高音质和编码增益以及在蓝牙领域无专利费等优点,受到广大厂商的关注。由于lc3编码器音频编码器推出的初衷是要满足低功耗蓝牙领域的音频应用,所以对功耗要求非常严格。

在低功耗蓝牙领域,期望移动设备的功耗较低,而音频的码率与占用的空中带宽成正比,且直接影响射频的功耗,并产生空中干扰。在现有的lc3编码器音频编码器的编解码过程中,存在复杂的运算过程重复进行的情况,增加不必要的音频编解码的码率,同时提高编码器的运算量,增加功耗。



技术实现要素:

针对现有技术中存在的上述技术问题,本申请提供一种优化lc3编码器残差编码和噪声估计编码的方法,包括,频谱量化模块运行步骤,包括:根据频谱数据样本和量化全局增益参数得到量化频谱系数原值,量化频谱系数原值为频谱量化模块的中间输出数据,是量化谱系数未经量化补偿的原值;以及对量化频谱系数原值按照第一放大系数进行定点化运算,并将量化频谱系数原值的定点化运算结果进行储存;残差编码模块运行步骤,包括:载入量化频谱系数原值的定点化运算结果;以及对量化频谱系数原值的定点化运算结果与量化频谱据样本进行比较,实现残差编码模块的编码过程,量化频谱据样本为频谱量化模块的最终输出数据;以及噪声等级计算模块运行步骤,包括:载入量化频谱系数原值的定点化运算结果,并进行绝对值处理;以及将量化频谱系数原值的定点化运算结果进行预缩小操作,将量化频谱系数原值的定点化运算结果的数据比特宽度进行降低。

在本申请的另一技术方案中,提供一种优化lc3编码器编码残差编码和噪声估计编码的系统,针对残差编码模块及噪声等级计算模块,包括,频谱量化模块,其根据频谱数据样本与量化全局增益参数得到量化频谱系数原值,量化频谱系数原值为频谱量化模块的中间输出数据,是量化谱系数未经量化补偿的原值;以及对量化频谱系数原值按照第一放大系数进行定点化运算,并将量化频谱系数原值的定点化运算结果进行储存;残差编码模块,其载入量化频谱系数原值的定点化运算结果,以及对量化频谱系数原值的定点化运算结果与量化频谱据样本进行比较,实现残差编码模块的编码过程,量化频谱据样本为频谱量化模块的最终输出数据;以及噪声等级计算模块,其载入量化频谱系数原值的定点化运算结果,并进行绝对值处理;以及将量化频谱系数原值的定点化运算结果进行预缩小操作,将量化频谱系数原值的定点化运算结果的数据比特宽度进行降低。

在本申请的另一技术方案中,提供一种计算机可读存储介质,其存储有计算机指令,其中计算机指令被操作以执行方案一中的优化lc3编码器残差编码和噪声估计编码的方法。

在本申请的另一技术方案中,提供一种计算机设备,其包括处理器和存储器,存储器存储有计算机指令,其中,处理器操作计算机指令以执行方案一中的优化lc3编码器残差编码和噪声估计编码的方法。

本申请的有益效果是:本申请的应用减少复杂过程的重复计算,降低编码器的运算量,降低编码器的功耗,提升编码器的使用性能。

附图说明

图1是本申请优化lc3编码器残差编码和噪声估计编码的方法的一个具体实施方式的流程示意图;

图2是本申请优化lc3编码器残差编码和噪声估计编码的系统的一个具体实施方式的组成示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

对现有技术中编码器进行残差编码和噪声等级计算的过程进行简单介绍。

在频谱量化模块中的主要运算公如下:

(公式1)

其中,gg为量化全局增益,其通过公式进行确定,为经过tns时域噪声整形模块过滤的频谱数据样本,共个;为经过量化的频谱数据样本,共个;(numberofencodedspectrallines)是编码频谱线数量,是关于采样频率的变量。

在残差编码模块中,在进行编码过程时,主要运算过程表示如下:

其中,主要运算部分为进行的比较,其中为经过tns模块过滤的频谱数据样本;为经过量化的频谱数据样本。由上述可知,量化全局增益gg大于0,因此在残差模块的运算中,不等式可变形为。其中,在频谱量化模块中已经进行过的运算,因此在现有技术的残差编码模块中,重复进行了此类运算。

在噪声估计模块中,在进行编码器编码时,其进行的主要运算过程如下:

(公式2)

由公式2可知,在噪声估计模块对噪声等级的计算过程过程中,同样进行了在频谱量化模块中进行过的运算,重复进行了的运算过程。

在现有技术的残差编码模块和噪声估计模块中,重复进行了频谱量化模块中的运算过程,使得编码器在进行编解码时,产生多余的码率消耗和运算量消耗,从而降低编码器的使用性能,尤其对于功耗要求较高的lc3编码器编码器,功耗的增加使得lc3编码器编码器的性能大大减弱。

针对上述现有技术中存在的问题,本申请提出一种优化lc3编码器残差编码和噪声估计编码的方法,针对残差编码模块及噪声等级计算模块,减少残差编码模块以及噪声等级计算模块中重复的运算过程,从而降低编码器在编解码过程中的码率消耗,降低运算量,进而降低编码器的功耗。

图1示出了本申请优化lc3编码器残差编码和噪声估计编码的方法的一个具体实施方式。

在该具体实施方式中,本申请的优化lc3编码器残差编码和噪声估计编码的方法包括:过程s101:频谱量化模块运行步骤,包括:根据频谱数据样本和量化全局增益参数得到量化频谱系数原值,量化频谱系数原值为频谱量化模块的中间输出数据,是量化谱系数未经量化补偿的原值;以及对量化频谱系数原值按照第一放大系数进行定点化运算,并将量化频谱系数原值的定点化运算结果进行储存;过程s102:残差编码模块运行步骤,包括:载入量化频谱系数原值的定点化运算结果;以及对量化频谱系数原值的定点化运算结果与量化频谱据样本进行比较,实现残差编码模块的编码过程,量化频谱据样本为频谱量化模块的最终输出数据;以及过程s103:噪声等级计算模块运行步骤,包括:载入量化频谱系数原值的定点化运算结果,并进行绝对值处理;以及将量化频谱系数原值的定点化运算结果进行预缩小操作,将量化频谱系数原值的定点化运算结果的数据比特宽度进行降低。

在图1所示的具体实施方式中,本申请的优化lc3编码器残差编码和噪声估计编码的方法包括过程s101,频谱量化模块运行步骤,包括:根据频谱数据样本和量化全局增益参数得到量化频谱系数原值,量化频谱系数原值为频谱量化模块的中间输出数据,是量化谱系数未经量化补偿的原值;以及对量化频谱系数原值按照第一放大系数进行定点化运算,并将量化频谱系数原值的定点化运算结果进行储存。

在该具体实施方式中,在本申请的优化lc3编码器编码的方法中,频谱量化模块进行如公式1的编码运算过程。对频谱数据样本和量化全局增益参数进行运算,得到量化频谱系数原值的频谱量化模块的中间输出数据,是量化谱系数未经量化补偿的原值。其中,。在编码器中,为了编解码数据间储存及表达的统一性,对量化频谱系数原值进行定点化运算,得到量化频谱系数原值的数组,并将该定点化运算结果进行储存。

(公式1)

在本申请的一个具体实施例中,第一放大系数可以为15。其中,为了对保存的数据进行充分表示,同时防止定点化运算中放大系数取值过大,导致超出编码器的存储范围,产生错误。因此在进行定点化运算过程中,可以设置定点化运算的放大系数为15。其中,关于第一放大系数的具体取值,可根据实际的编码器的规格及运算需要进行取值。

在图1所示的具体实施方式中,本申请的优化lc3编码器残差编码和噪声估计编码的方法包括过程s102:残差编码模块运行步骤,包括:载入量化频谱系数原值的定点化运算结果;以及对量化频谱系数原值的定点化运算结果与量化频谱据样本进行比较,实现残差编码模块的编码过程,量化频谱据样本为频谱量化模块的最终输出数据。

在该具体实施方式中,在本申请的优化lc3编码器残差编码和噪声估计编码的方法中,首先对残差编码模块中主要进行的不等式运算进行变形,得到。在本申请的频谱量化模块,已经得出的计算结果,并对该计算结果进行定点化处理并储存。因此在残差编码模块中,只需要对的计算结果,即已储存的量化频谱系数原值进行载入,而不需再次重复进行的运算,从而节省编码器的运算量,降低编码器的功耗。因为在本申请的频谱量化模块中,对量化频谱系数原值进行了一定放大系数的定点化运算,因此在进行的比较过程中,需要对量化频谱据样本进行对阶处理,以实现两数据样本间的对阶比较。

在本申请的一个具体实施例中,量化频谱据样本采用二进制数据表示,将量化频谱据样本向左平移第一放大系数数量的位数,与定点化运算的量化频谱系数原值进行对阶比较。其中,因为在编码器等众多电子设备中,数据的存储多采用二进制数据的存储方式。在对量化频谱系数原值的定点化运算中,同样采用以2为基数的定点化运算。因此,定点化处理后的量化频谱系数原值与量化频谱据样本的数据存储形式均为二进制的数据形式。因此,在进行两个数据组之间的比较时,可进行位数的移动而实现对阶操作。

在本申请的一个实例中,因为对量化频谱系数原值进行了以2为基数,以第一放大系数15进行了定点化处理,得到量化频谱系数原值。因此在进行的不等式运算时,等价于进行的比较。而在使用二进制数据表示的量化频谱据样本,可将量化频谱据样本的位数进行算数左移15位,从而实现与量化频谱系数原值定点化运算后的数组的对阶操作,进而进行两数据组之间的大小比较。例如,有二进制数111,其表示的十进制数为7,若计算111的结果,可直接将数值111左移两位,得到11100,其表示的十进制数为28。通过位数的移动,避免复杂的乘法运算,简化对阶操作,减少运算量。

在图1所示的具体实施方式中,本申请的优化lc3编码器残差编码和噪声估计编码的方法包括过程s103:噪声等级计算模块运行步骤,包括:载入量化频谱系数原值的定点化运算结果,并进行绝对值处理;以及将量化频谱系数原值的定点化运算结果进行预缩小操作,将量化频谱系数原值的定点化运算结果的数据比特宽度进行降低。

在该具体实施方式中,如公式2所示,为噪声等级计算模块的主要计算过程。其中,在进行的运算时,因为量化全局增益gg为大于0的数,因此可变形为的运算。由上文可知,在本申请的频谱量化模块中,对的结果,即量化频谱系数原值已经进行了运算,并进行定点化处理,最终得到量化频谱系数原值的定点化运算数组。因此,在本申请的优化残差编码和噪声等级计算过程的方法中,将频谱量化模块中的量化频谱系数原值的定点化运算结果数组直接载入到噪声等级计算模块中,而不需要再次进行的重复运算,从而降低编码器的运算量,降低编码器的功耗。因为量化频谱系数原值的定点化运算结果数组,在进行公式2中的累加操作时,因为数据存在符号的正负,在进行绝对值处理后,使得累加和的结果可能会溢出存储空间,因此需要对量化频谱系数原值的定点化运算结果数组进行预先缩小操作,将数据组的数据比特宽度降低。

在本申请的一个具体实施例中,在预缩小操作过程中,将定点化运算的残差频谱数据样进行算数右移一定位数,使得与对量化频谱系数原值按照第二放大系数进行定点化运算的结果相同,其中第二放大系数小于第一放大系数。

在本申请的一个实例中,对量化频谱系数原值的定点化运算结果的数组进行算数右移一定位数,进行数据的缩小操作。其中,量化频谱系数原值采用以2为基数,以15为放大系数进行定点化处理,因此在对量化频谱系数原值的定点化运算结果的数组的预先缩小过程中,将该量化频谱系数原值的定点化运损结果进行算数右移。其结果相当于对量化频谱系数原值重新进行以第二放大系数的定点化处理,其中第二放大系数小于第一放大系数。例如,当进行以15作为放大系数进行定点化处理,进行的最大取值400的数据累加时,可能会溢出32bits的数值空间,即有符号时,-2147483648到2147483647超出此空间的整数范围。因此,需要对公式2中即量化频谱系数原值的定点化运算结果数组进行预先缩小操作,使得对其累加运算的结果不会溢出到存储数值空间外。

在本申请的一个具体实施例中,第二放大系数根据第一放大系数及编码频谱线数量确定。其中,第二放大系数可通过以下计算公式进行确定:

(公式3)

其中,x表示第二放大系数,a表示第一放大系数,y表示在噪声等级计算模块,进行运算的累加项个数,对应公式2中的值。例如,在lc3编码器编码器中,当采样率为48khz,10ms帧长的条件下,的取值为400。

在本申请的一个具体实施例中,使用共享内存块方式,进行对定点化运算的量化频谱系数原值进行储存,减少所需增加的内存。因为在频谱量化模块中,额外输出了量化频谱系数原值,并进行定点化运算,在对定点化运算的量化频谱系数原值进行储存需要适当的存储空间。因为在编码器中,可以与其他编解码模块分时共享同一存储单元,例如,在进行其他编解码模块的运算时,该存储单元进行其他编解码模块数据的存储,当进行频谱量化模块、残差编码模块以及噪声等级计算模块的运算时,该存储单元存储定点化运算的量化频谱系数原值,实现不需要额外增加内存的情况下,实现运算量的优化。通过共享内存块方式。例如在在lc3编码器编码器中,当采样率为48khz,10ms帧长,的取值为400的情况下,可以节省由于定点化运算后的量化频谱系数原值x_qf_residule的额外存储增加的4*400=1600字节的内存,节省编码器中的内存消耗。

在本申请的一个具体实例中,可通过与编码器中的离散傅里叶变换计算模块输出的mdct_x[nf]即频域谱数据共用存储单元,进行对量化频谱系数原值的储存。

通过本申请优化lc3编码器残差编码和噪声估计编码的方法的应用,减少复杂过程的重复计算,将残差模块中与频谱量化模块重复的运算过程转换为已有运算结果的载入和比较,省去复杂的计算过程,进而减少残差编码模块的运算量;在噪声等级计算模块中,直接将运算结果载入到噪声等级计算模块中,降低噪声等级计算模块的运算量,进而降低编码器的功耗。同时,本申请采用共享内存块的方式将频谱量化模块中的量化频谱系数原值的定点化运算结果进行储存,减少需增加的内存空间。通过本申请的应用,在hifi3dsp仿真程序以及ram开销不变的情况下,残差编码模块及噪声等级计算模块的运算量由3412225+2218544次cycle处理器周期降低为1225411+898433次cycle处理器周期。运算量明显降低,从而降低编码器的功耗。

图2示出了本申请优化lc3编码器残差编码和噪声估计编码的系统的一个具体实施方式。

在该具体实施方式中,本申请的优优化lc3编码器残差编码和噪声估计编码的系统包括,频谱量化模块,其根据频谱数据样本和量化全局增益参数得到量化频谱系数原值,量化频谱系数原值为频谱量化模块的中间输出数据,是量化谱系数未经量化补偿的原值;以及对量化频谱系数原值按照第一放大系数进行定点化运算,并将量化频谱系数原值的定点化运算结果进行储存;残差编码模块,其载入量化频谱系数原值的定点化运算结果,以及对量化频谱系数原值的定点化运算结果与量化频谱据样本进行比较,实现残差编码模块的编码过程,量化频谱据样本为频谱量化模块的最终输出数据;以及噪声等级计算模块,其载入量化频谱系数原值的定点化运算结果,并进行绝对值处理;以及将量化频谱系数原值的定点化运算结果进行预缩小操作,将量化频谱系数原值的定点化运算结果的运算量降低。

通过本申请优化lc3编码器残差编码和噪声估计编码的方法的应用,减少复杂过程的重复计算,将残差模块中与频谱量化模块重复的运算过程转换为已有运算结果的载入和比较,省去复杂的计算过程,进而减少残差编码模块的运算量;在噪声等级计算模块中,直接将运算结果载入到噪声等级计算模块中,降低噪声等级计算模块的运算量,进而降低编码器的功耗。同时,本申请采用共享内存块的方式将频谱量化模块中的量化频谱系数原值定点化运算的进行储存,减少需增加的内存空间。

在本申请的一个具体实施方式中,一种计算机可读存储介质,其存储有计算机指令,其中计算机指令被操作以执行任一实施例描述的优化lc3编码器残差编码和噪声估计编码的方法。其中,该存储介质可直接在硬件中、在由处理器执行的软件模块中或在两者的组合中。

软件模块可驻留在ram存储器、快闪存储器、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可装卸盘、cd-rom或此项技术中已知的任何其它形式的存储介质中。示范性存储介质耦合到处理器,使得处理器可从存储介质读取信息和向存储介质写入信息。

处理器可以是中央处理单元(英文:centralprocessingunit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digitalsignalprocessor,简称:dsp)、专用集成电路(英文:applicationspecificintegratedcircuit,简称:asic)、现场可编程门阵列(英文:fieldprogrammablegatearray,简称:fpga)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合等。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如dsp与微处理器的组合、多个微处理器、结合dsp核心的一个或一个以上微处理器或任何其它此类配置。在替代方案中,存储介质可与处理器成一体式。处理器和存储介质可驻留在asic中。asic可驻留在用户终端中。在替代方案中,处理器和存储介质可作为离散组件驻留在用户终端中。

在本申请的一个具体实施方式中,一种计算机设备,其包括处理器和存储器,存储器存储有计算机指令,其中:处理器操作计算机指令以执行任一实施例描述的优化lc3编码器残差编码和噪声估计编码的方法。

在本申请所提供的实施方式中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

以上仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips