一种优化音频编码量化次数的方法及系统与流程
本申请涉及音频编码技术领域,特别是一种优化音频编码量化次数的方法、系统、存储介质及设备。
背景技术:
现有技术中,主流的蓝牙音频编码器包括:sbc音频编码器,其根据a2dp协议强制要求,使用最为广泛,所有的蓝牙音频设备支持,但音质一般;aac-lc音频编码器,其音质较好且应用较为广泛,很多主流的手机都支持,但与sbc音频编码器相比,内存占用较大,且运算复杂度高,很多蓝牙设备都基于嵌入式平台,电池容量有限,处理器运算能力较差且内存有限;aptx系列音频编码器,其音质较好,但码率很高,aptx需要码率384kbps,而aptx-hd的码率为576kbps,且为高通独有的技术,较为封闭;ldac音频编码器,其音质较好,但码率也很高,分别是330kbps,660kbps和990kbps,由于蓝牙设备所处的无线环境特别复杂,稳定支持如此高的码率有一定的困难,且为索尼独有的技术,也很封闭。
基于上述原因,蓝牙国际联盟bluetoothsig联合众多厂商推出了lc3音频编码器,其具有较低延迟、较高音质和编码增益以及在蓝牙领域无专利费等优点,受到广大厂商的关注。由于lc3音频编码器推出的初衷是要满足低功耗蓝牙领域的音频应用,所以对功耗要求非常严格。
在lc3音频编码器中,由于其基于波形编码技术,因此与传统声码器相比,压缩效率很低。例如,lc3在8k采样率时的推荐码率为24kbps,但应用于wcdma的amr-nb最大码率仅为12.2kbps,平均码率10kbps以下,应用于cdma系统的evrc-a最大码率为8kbps,平均码率约为5kbps。lc3音频编码器较高的码率占用了较大的带宽,因此需要更高的发射功率,而在蓝牙设备较多的公共场合,各个蓝牙设备间产生相互干扰,影响用户体验。
另外在使用编码器进行通话过程的编解码时,据统计,通话一方通常只有35%的时间进行通话,存在较长时间的静音状态。而目前的音频编码器在进行编码过程中的量化步骤时,均按照标准量化过程进行量化,导致在通话一方处于不说话的静音状态时编码器的频谱量化模块中具有较高的码率,造成码率的浪费,占用较多的编码器运算量。
技术实现要素:
针对现有技术中存在的上述技术问题,本申请提供了一种优化音频编码量化次数的方法、系统、存储介质及设备。
在本申请的一个技术方案中,提供一种优化音频编码量化次数的方法,包括:统计编码音频帧经过时域噪声整形模块的输出结果,并计算输出结果中的最大值;根据最大值判断编码音频帧是否为静音帧,包括:当最大值为零时,编码音频帧为静音帧;以及当最大值非零时,编码音频帧为非静音帧;对编码音频帧进行频谱量化过程,包括:当编码音频帧为非静音帧时,将编码音频帧进行标准流程的频谱量化过程,得到编码音频帧的频谱量化结果;以及当编码音频帧为静音帧时,跳过标准流程的频谱量化过程,将编码音频帧的频谱量化结果设置为第一预设数值。
在本申请的另一个技术方案中,提供一种优化音频编码量化次数的系统,包括:统计模块,其统计编码音频帧经过时域噪声整形模块的输出结果,并计算输出结果中的最大值;判断模块,其根据最大值判断诉编码音频帧是否为静音帧,包括:当最大值为零时,编码音频帧为静音帧;以及当最大值非零时,编码音频帧为非静音帧;频谱量化模块,其对编码音频帧进行频谱量化过程,包括:当编码音频帧为非静音帧时,将编码音频帧进行标准流程的频谱量化过程,得到编码音频帧的频谱量化结果;以及当编码音频帧为静音帧时,跳过标准流程的频谱量化过程,将编码音频帧的频谱量化结果设置为第一预设数值。
在本申请的另一个技术方案中,提供一种计算机可读存储介质,其存储有计算机指令,其中计算机指令被操作以执行方案一中的优化音频编码量化次数的方法。
在本申请的另一个技术方案中,提供一种计算机设备,其包括处理器和存储器,存储器存储有计算机指令,其中,处理器操作计算机指令以执行方案一中的优化音频编码量化次数的方法。
本发明的有益效果是:在音频编码过程中,减少音频编码量化次数,降低编码器的码率,降低编码器运算量。
附图说明
图1是本申请优化音频编码量化次数的方法的具有静音帧的编码音频示意图;
图2是本申请优化音频编码量化次数的方法的一个具体实施方式的流程示意图;
图3是本申请优化音频编码量化次数的方法的一个具体实例的流程示意图;
图4是本申请优化音频编码量化次数的系统的一个具体实施方式的组成示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在编码器的标准编码流程中,频谱量化模块对编码音频帧的处理过程包括两部分:
其中,第一部分的主要计算公式如下:
其中,gg表示量化全局增益参数,ggind表示量化全局增益索引,ggoff表示量化全局增益偏移量。其中ggind和ggoff均可通过标准编码流程中获得。
第二部分的计算公式如下:
其中,xf(n)为经过tns时域噪声整形模块过滤的频谱数据样本,共ne个xq(n)为经过量化的频谱数据样本,共ne个;ne(numberofencodedspectrallines)是编码频谱线数量,是关于采样频率的变量。编码音频帧中存在静音帧与非静音帧,若均采用标准的频谱量化过程进行对编码音频的编码,则会造成不必要的编码器运算量的消耗。
图1示出了本申请优化音频编码量化次数的方法的具有静音帧的编码音频示意图。如图1所示,当编码音频中包括静音帧时,根据上述频谱量化模块的原理介绍,对于静音帧的频谱量化过程的结果为一个定值,若直接输出这一定值,便可省去静音帧的频谱量化过程,从而降低编码器的码率,降低编码器的运算量,降低功耗。
图2示出了本申请优化音频编码量化次数的方法的一个具体实施方式。
在图2所示的具体实施方式中,本申请的优化音频编码量化次数的方法包括:过程s101,统计编码音频帧经过时域噪声整形模块的输出结果,并计算输出结果中的最大值;过程s102,根据最大值判断编码音频帧是否为静音帧,包括:当最大值为零时,编码音频帧为静音帧;以及当最大值非零时,编码音频帧为非静音帧;过程s103,对编码音频帧进行频谱量化过程,包括:当编码音频帧为非静音帧时,将编码音频帧进行标准流程的频谱量化过程,得到编码音频帧的频谱量化结果;以及当编码音频帧为静音帧时,跳过标准流程的频谱量化过程,将编码音频帧的频谱量化结果设置为第一预设数值。
在图2所示的具体实施方式中,本申请的优化音频编码量化次数的方法包括过程s101,统计编码音频帧经过时域噪声整形模块的输出结果,并计算输出结果中的最大值。
在该具体实施方式中,按照编码器的标准编码流程对编码音频帧进行编码,并统计编码音频帧经过时域噪声整形模块的输出结果,用xf(n),n=0...ne-1表示,并且统计一个编码音频帧中时域噪声整形模块输出结果xf(n)的最大值,用
在图2所示的具体实施方式中,本申请的优化音频编码量化次数的方法包括过程s102,根据最大值判断编码音频帧是否为静音帧,包括:当最大值为零时,编码音频帧为静音帧;以及当最大值非零时,编码音频帧为非静音帧。
在该具体实施方式中,根据编码音频帧为静音帧时的相关特性,根据时域噪声整形模块对编码音频帧的处理结果判断当前编码音频帧是否为静音帧。其中,判断时域噪声整形模块的输出结果的最大值
通过利用时域噪声整形模块对编码音频帧的处理结果进行当前编码音频帧是否是静音帧的判断,不需要增加额外的运算,直接利用正常标准编码流程中得到的中间编码结果进行判断,简便易行,避免不必要的运算量的增加。
在图2所示的具体实施方式中,本申请的优化音频编码量化次数的方法包括过程s103,对编码音频帧进行频谱量化过程,包括:当编码音频帧为非静音帧时,将编码音频帧进行标准流程的频谱量化过程,得到编码音频帧的频谱量化结果;以及当编码音频帧为静音帧时,跳过标准流程的频谱量化过程,直接将编码音频帧的频谱量化结果设置为第一预设数值。
在该具体实施方式中,当判断出当前编码音频帧为静音帧时,xf(n)全部为零,根据公式2中的频谱量化模块中的标准运算过程,将xf(n)带入公式2中可得出此时的频谱量化模块对静音帧的运算结果为一个确定的数值,该数值与量化全局增益参数gg无关。因此,当编码音频帧为静音帧时,不需要在进行频谱量化模块的运算过程,而直接输出一个数值作为该音频帧的频谱量化模块运算结果。
在本申请的一个具体实施例中,在编码音频帧为静音帧时,根据频谱量化过程的标准规范设置该静音帧的频谱量化模块运算结果为0。
在该具体实施例中,根据频谱量化过程的标准规范计算得出一个固定的数值作为频谱量化模块的输出结果,而直接跳过频谱量化模块的具体运算过程,减少编码器的运算量,降低编码器的功耗。
在本申请的一个具体实施例中,在频谱量化过程之前包括:根据标准规范计算量化全局增益偏移量、量化全局增益索引,根据量化全局增益偏移量和量化全局增益索引计算量化全局增益参数,进行频谱量化过程。
在该具体实施例中,当判断出当前编码音频帧为非静音帧时,按照编码器中频谱量化模块的标准处理流程对该编码音频帧进行频谱量化过程。其中,公式1和公式2示出了部分频谱量化的运算过程。
在本申请的一个实例中,根据编码流程的规范,在对非静音帧的编码音频帧进行频谱量化模块的运算时,根据量化全局增益偏移量和量化全局增益索引计算量化全局增益参数按照公式1计算量化全局增益参数gg,在根据公式2计算出编码音频帧的频谱量化结果。
在本申请的一个具体实施例中,根据标准规范计算量化全局增益最小值,根据量化全局增益最小值对量化全局增益索引进行校正。
本申请的优化音频编码量化次数的方法,利用标准编码流程的中时域噪声整形模块的输出结果对编码音频帧是否是静音帧进行判断,根据编码音频帧的不同类型进行不同的频谱量化运算过程。当编码音频帧为静音帧时,跳过频谱量化过程,根据频谱量化模块的工作原理直接输出该静音帧频谱量化结果,减少编码器中不必要的运算量,降低编码器的功耗;当编码音频帧为非静音帧时,按照标准编码流程进行该编码码音频帧的频谱量化运算过程。
图3示出了本申请优化音频编码量化次数的方法的一个具体实例。
在图3所示的具体实例中,根据时域噪声整形模块计算输出结果xf(n)计算最大值
当
在本申请的一个实例中,以单声道、采样率为16khz、帧长为10ms的编码音频为例,对本申请的优化音频编码量化次数的方法的效果进行说明。例如,此音频长度为10秒,共1000帧,其中帧长为10毫秒。假如该10秒的音频中约有500帧为静音帧,另外500帧为非静音帧,使用本申请的优化音频编码量化次数的方法时,对应的500个静音帧不需要进行频谱量化的运算过程而直接输出频谱量化结果。仅仅需要对另外500个非静音帧进行频谱量化过程。从而将原来的频谱量化次数由1000次减少为500次,减少频谱量化过程的次数,从而降低编码器的运算量,降低编码器的功耗。
本申请的优化音频编码量化次数的方法,通过对音频帧是否为静音帧进行判断,进而对静音帧直接跳过频谱量化过程而直接输出结果,降低编码器运算量,降低编码器功耗,延长编码器在有限电量下的使用时间。本申请的优化音频编码量化次数的方法,操作简单,可应用于10ms、7.5ms帧长以及所有采样率的音频编码中,应用范围广。并且,本申请的优化音频编码量化次数的方法在降低频谱量化次数的同时,对编码音频音质不产生消极影响,编码音频的音质与按照标准流程编码的音质相同。
图4示出了本申请优化音频编码量化次数的系统的一个具体实施方式。
在图4所示的具体实施方式中,本申请优化音频编码量化次数的系统包括:统计模块,其统计编码音频帧经过时域噪声整形模块的输出结果,并计算输出结果中的最大值;判断模块,其根据最大值判断编码音频帧是否为静音帧,包括:当最大值为零时,编码音频帧为静音帧;以及当最大值非零时,编码音频帧为非静音帧;频谱量化模块,其对编码音频帧进行频谱量化过程,包括:当编码音频帧为非静音帧时,将编码音频帧进行标准流程的频谱量化过程,得到编码音频帧的频谱量化结果;以及当编码音频帧为静音帧时,跳过标准流程的频谱量化过程,直接将编码音频帧的频谱量化结果设置为第一预设数值。
本申请的优化音频编码量化次数的系统,通过判断模块对音频帧是否为静音帧进行判断,进而对静音帧直接跳过频谱量化过程而直接输出结果,降低编码器运算量,降低编码器功耗,延长编码器在有限电量下的使用时间。
在本申请的一个具体实施方式中,一种计算机可读存储介质,其存储有计算机指令,其中计算机指令被操作以执行任一实施例描述的优化音频编码量化次数的方法。其中,该存储介质可直接在硬件中、在由处理器执行的软件模块中或在两者的组合中。
软件模块可驻留在ram存储器、快闪存储器、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可装卸盘、cd-rom或此项技术中已知的任何其它形式的存储介质中。示范性存储介质耦合到处理器,使得处理器可从存储介质读取信息和向存储介质写入信息。
处理器可以是中央处理单元(英文:centralprocessingunit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digitalsignalprocessor,简称:dsp)、专用集成电路(英文:applicationspecificintegratedcircuit,简称:asic)、现场可编程门阵列(英文:fieldprogrammablegatearray,简称:fpga)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合等。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如dsp与微处理器的组合、多个微处理器、结合dsp核心的一个或一个以上微处理器或任何其它此类配置。在替代方案中,存储介质可与处理器成一体式。处理器和存储介质可驻留在asic中。asic可驻留在用户终端中。在替代方案中,处理器和存储介质可作为离散组件驻留在用户终端中。
在本申请的一个具体实施方式中,一种计算机设备,其包括处理器和存储器,存储器存储有计算机指令,其中:处理器操作计算机指令以执行任一实施例描述的优化音频编码量化次数的方法。
在本申请所提供的实施方式中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除