CN111951815A - 一种优化lc3编码器的量化全局增益序号搜索方法和系统 - Google Patents
一种优化lc3编码器的量化全局增益序号搜索方法和系统 Download PDFInfo
- Publication number
- CN111951815A CN111951815A CN202010792143.6A CN202010792143A CN111951815A CN 111951815 A CN111951815 A CN 111951815A CN 202010792143 A CN202010792143 A CN 202010792143A CN 111951815 A CN111951815 A CN 111951815A
- Authority
- CN
- China
- Prior art keywords
- search
- global gain
- ith
- sequence number
- bit length
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000013139 quantization Methods 0.000 claims abstract description 27
- 238000001228 spectrum Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000011156 evaluation Methods 0.000 claims description 16
- 230000003595 spectral effect Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/032—Quantisation or dequantisation of spectral components
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L2019/0001—Codebooks
- G10L2019/0013—Codebook search algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请公开了一种优化LC3编码器的量化全局增益序号搜索方法和系统,属于音频编码技术领域。本申请的优化LC3编码器的量化全局增益序号搜索方法包括:第一次搜索,确定第二搜索区间,若第二搜索区间的上限和下限是否相同,则结束搜索,否则进行第i次搜索,确定第i+1搜索区间;若第i+1搜索区间的上限和下限相同或者第i量化全局增益序号和第i‑1量化全局增益序号相同,则结束搜索,否则进行重复搜索并判断,直至第n+1搜索区间的上限和下限相同,结束搜索。本申请能够重新确定搜索区间,减少了搜索次数,同时能够快速的收敛到最合适的量化全局增益序号,降低处理器的运算量。
Description
技术领域
本申请涉及音频编码技术领域,特别涉及一种优化LC3编码器的量化全局增益序号搜索方法和系统。
背景技术
随着移动通信领域的不断发展,蓝牙技术的应用也越来越广,尤其在蓝牙音频的应用方面。
目前蓝牙国际联盟Bluetooth Sig联合众多厂商推出了低复杂度通信编解码器(英文:Low Complexity Communication Codec,简称LC3)。由于LC3编解码技术,其具有较低延迟、较高音质和编码增益以及在蓝牙领域无专利费得优点,受到广大厂商的关注。由于LC3推出的初衷是要满足低功耗蓝牙领域的音频应用,所以对功耗要求非常严格,在低功耗蓝牙领域,期望移动设备的功耗较低,而音频的码率与占用的空中带宽成正比,且音频的码率直接影响射频的功耗。较低的码率不仅可以降低收发端的射频功耗和空中干扰,同时也能降低编解码器的运算量(主要是降低算术编码解码的运算量)。
在现有技术中,编码器需要搜索到一个恰当的全局增益系数gg,其中gg对应量化全局增益序列号gg_ind而单调递增分布。gg用于缩小时域噪声整形(TNS)的频域谱线数据X_f[NE],使得缩小后的量化的频谱数据X_q[NE],在后续算术编码过程中,可以恰当的填入由帧码率bitrate控制的bit预算空间中,达到编码器的压缩目标。LC3规范给出的bit二分法,由于待搜索空间为gg_ind位于0到255之间,256个数即为2^8次幂,因此此标准二分法固定8次搜索gg_ind的过程,而每个候选gg_ind,需要进行内循环NE/4次的运算,iter=0到7的循环为gg_ind候选循环(外圈),i从NE/4-1到0的循环为对每个gg_ind候选的探测过程,即内圈,且主要运算量集中在内圈中对候选gg_ind对应的nbits_spec_dot的bit数量评估的计算上。
发明内容
本申请提供一种优化LC3编码器的量化全局增益序号搜索方法和系统,用最少的次数进行上述内圈运算。
本申请采用的一个技术方案是:提供一种优化LC3编码器的量化全局增益序号搜索方法,其包括:第一次搜索,对预先选定的第一量化全局增益序号进行首次评估量化全局增益序号搜索计算,得到第一比特长度预算,其中,第一比特长度预算为第一量化全局增益序号对应的量化频谱信号编码所需的比特长度预算,根据预先选定的第一搜索区间和第一比特长度预算与目标比特长度预算的第一差值,确定第二搜索区间,其中,目标比特长度预算为目标量化全局增益序号对应的量化频谱信号编码实际的比特长度预算,判断第二搜索区间的上限和下限是否相同,若相同,则结束搜索,输出第一量化全局增益序号,否则进行第i次搜索;第i次搜索,将第i搜索区间的中位数确定为第i量化全局增益序号,判断第i量化全局增益序号和第i-1量化全局增益序号是否相同,若相同,则结束搜索,输出第i-1量化全局增益序号,否则对第i量化全局增益序号进行首次评估量化全局增益序号搜索计算,得到第i比特长度预算,其中,第i比特长度预算为第i量化全局增益序号对应的量化频谱信号编码所需的比特长度预算,根据第i搜索区间和第i比特长度预算与目标比特长度预算的第i差值,确定第i+1搜索区间,判断第i+1搜索区间的上限和下限是否相同,若相同,则结束搜索,输出第i量化全局增益序号,否则进行重复搜索并判断,直至第n+1搜索区间的上限和下限相同,结束搜索,输出第n量化全局增益序号,其中,i是大于1小于等于n的整数,n是小于等于8的整数。
本申请采用的另一个技术方案是:提供一种优化LC3编码器的量化全局增益序号搜索系统,其包括:第一搜索模块,其用于第一次搜索时,对预先选定的第一量化全局增益序号进行首次评估量化全局增益序号搜索计算,得到第一比特长度预算,其中,第一比特长度预算为第一量化全局增益序号对应的量化频谱信号编码所需的比特长度预算,根据预先选定的第一搜索区间和第一比特长度预算与目标比特长度预算的第一差值,确定第二搜索区间,其中,目标比特长度预算为目标量化全局增益序号对应的量化频谱信号编码实际的比特长度预算,判断第二搜索区间的上限和下限是否相同,若相同,输出第一量化全局增益序号,则结束搜索,否则进行第i次搜索;第i搜索模块,其用于第i次搜索时,将第i搜索区间的中位数确定为第i量化全局增益序号,判断第i量化全局增益序号和第i-1量化全局增益序号是否相同,若相同,则结束搜索,输出第i-1量化全局增益序号,否则对第i量化全局增益序号进行首次评估量化全局增益序号搜索计算,得到第i比特长度预算,其中,第i比特长度预算为第i量化全局增益序号对应的量化频谱信号编码所需的比特长度预算,根据第i搜索区间和第i比特长度预算与目标比特长度预算的第i差值,确定第i+1搜索区间,判断第i+1搜索区间的上限和下限是否相同若相同,则结束搜索,输出所述第i量化全局增益序号,否则进行重复搜索并判断,直至第n+1搜索区间的上限和下限相同,结束搜索,输出第n量化全局增益序号,其中,i是大于1小于等于n的整数,n是小于等于8的整数。
本申请采用的另一个技术方案是:一种计算机设备,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现上述优化LC3编码器的量化全局增益序号搜索方法。
本申请采用的另一个技术方案是:一种存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现上述优化LC3编码器的量化全局增益序号搜索方法。
本申请的有益效果在于:本申请利用量化全局增益序号对应的量化频谱信号编码所需的比特长度预算与目标量化全局增益序号对应的量化频谱信号编码实际的比特长度预算的差值,重新确定搜索区间,减少了搜索次数,同时能够快速的收敛到最合适的量化全局增益序号,从而增强音质,降低处理器的运算量。
附图说明
图1为本申请优化LC3编码器的量化全局增益序号搜索方法的一个具体实施方式的示意图;
图2为本申请优化LC3编码器的量化全局增益序号搜索方法的一个具体实例的示意图;
图3为本申请优化LC3编码器的量化全局增益序号搜索方法的另一个具体实例的示意图;
图4为本申请优化LC3编码器的量化全局增益序号搜索方法的一个具体实施例的示意图。
具体实施方式
为了使本申请的上述特征和优点更加易懂,下面结合附图和具体实施方式对本申请做进一步详细说明。该详细说明仅仅是为了帮助理解本申请,本申请的保护范围不仅仅限于具体实施方式存储的具体说明。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
下述先对本申请中的专业术语和现有技术进行介绍:
增益索引偏移量gg_off为当前帧码率(nbits)相关参数,其由下式(1)计算:
增益索引偏移接着可用于调整目标量化全局增益序号gg_ind对应的空间位预算nbits_spec可由下式(2)给出:
接着首次评估量化全局增益序号gg_ind,使得对量化的经过时域噪声整形的频谱信号所需的nbits_spec尽可能接近目标量化全局增益序号对应的nbits_spec。此评估基于低复杂度对分搜索,其粗略地近似对量化的经过时域噪声整形的频谱信号所需的位数。该算法可描述如下:
其中,E[k]为由下式(3)给出的4个MDCT系数的区块的能量(以dB为单位)
以及,最小全局增益gg_min由下式(4)给出:
在该现有技术中,二分查找量化全局增益序号的方法有如下问题:
其一,收敛速度较慢,收敛速度慢,固定8次gg_ind候选值的搜索,因为每次搜索只处理了候选gg_ind与目标gg_ind的相对方向,忽略了候选gg_ind和目标gg_ind分别对应的2个nbits_spec值间的差,与当前候选gg_ind到目标gg_ind的距离之间的关联性,以及,当前候选gg_ind越接近目标gg_ind,nbits_spec的距离差就越密集(距离近),反之则更稀疏(距离远)的特性,处理器运算量很高;其二,首次搜索范围为[0,255],没有利用gg_min进行搜索范围的缩小;其三,没有利用当前探测的gg_ind造成的nbits_spec值与目标gg_ind对应的nbits_spec的差值大小,评估下一次搜索范围;其四,利用标准LC3规范规定的二分法在一定概率下不能搜索到最佳的量化全局增益序号,需要后续继续对全局增益值调整,进行二次量化谱系数运算,增加了处理器的运算量。
基于上述存在的技术问题,本申请利用量化全局增益序号对应的量化频谱信号编码所需的比特长度预算与量化全局增益序号对应的量化频谱信号编码所需的比特长度预算,重新确定较小的搜索区间,能够快速的收敛到最合适的量化全局增益序号,从而降低处理器的运算量。
图1示出了本申请一种优化LC3编码器的量化全局增益序号搜索方法的具体实施方式。在该具体实施方式中,包括:步骤S101。该步骤主要包括:第一次搜索,对预先选定的第一量化全局增益序号进行首次评估量化全局增益序号搜索计算,得到第一比特长度预算,其中,第一比特长度预算为第一量化全局增益序号对应的量化频谱信号编码所需的比特长度预算,根据预先选定的第一搜索区间和第一比特长度预算与目标比特长度预算的第一差值,确定第二搜索区间,其中,目标比特长度预算为目标量化全局增益序号对应的量化频谱信号编码实际的比特长度预算,判断第二搜索区间的上限和下限是否相同,若相同,则输出所述第一量化全局增益序号,结束搜索,否则进行第i次搜索。
在本申请的一个具体实施例中,编码器首次评估gg_ind前,首先由公式(1)计算出当前帧的gg_off,由公式(4)计算出当前帧的最小全局增益gg_min由公式(3)计算出当前帧中第i个以4个经过TNS过滤的频谱数据样本为单位的能量单元E[i],i<NE/4,其中NE为编码频谱线数量,i从NE/4-1到0的循环为对每个gg_ind的探测过程。以及公式(2)计算出目标量化gg_ind对应的空间位预算nbits_spec。
在该具体实施例中,预先选定的第一量化全局增益序号为包括上一帧量化全局增益序号mem_gg_ind、第一搜索空间的中位数和第一搜索区间的预设阈值中的至少一者,其中上一帧量化全局增益序号mem_gg_ind包括上一帧首次评估的量化全局增益序号或者对上一帧首次评估的量化全局增益序号进行二次量化得到的量化全局增益序号。
在该具体实施例的一个实例中,优选的,mem_gg_ind即前一帧的gg_ind作为初值,将使收敛到目标gg_ind的速度最快。
在该具体实施例的另一个实例中,在第一帧编码时,由于没有上一帧,可以根据测试经验将mem_gg_ind初始化为130,约是gg_min=17到255的一半位置。
在该具体实施例的另一个实例中,若mem_gg_ind不在上述预先选定的第一搜索区间内,即mem_gg_ind<当前帧的第一搜索区间的下限,那么需要从第一搜索区间的中位数开始搜索,或者在第一搜索区间之间寻找其他gg_ind初值即第一搜索区间的预设阈值。
在该具体实施例中,预先选定的第一搜索区间的下限和上限分别为最小全局增益gg_min和255。
在上述的另一实例中,具体地,若mem_gg_ind不在上述预先选定的第一搜索空间内,即mem_gg_ind<当前帧的gg_min,那么需要从(gg_min+255)/2开始搜索,或者在[gg_min,255]之间寻找其他gg_ind初值。
在该具体实施例中,利用了当前帧的gg_min,减小了第一搜索区间,减少了gg_ind的个数,最终结果是降低了处理器运算量。
具体地,首先,将mem_gg_ind或者(gg_min+255)/2或者第一搜索区间的预设阈值选择为第一量化全局增益序号。
其次,对第一gg_ind进行首次评估量化全局增益序号搜索计算,得到第一gg_ind对应的nbits_spec,也就是首次评估量化全局增益序号搜索算法中的tmp值。
值得说明的是,若第一gg_ind对应的nbits_spec大于目标gg_ind对应的nbits_spec,则第一gg_ind太小,需要增大,若第一gg_ind对应的nbits_spec小于等于目标gg_ind对应的nbits_spec,则第一gg_ind太大,需要缩小。
再次,将第一gg_ind对应的nbits_spec与目标gg_ind对应的nbits_spec的差值记做第一差值。
最后,根据第一差值与第一搜索区间确定第二搜索区间的上下限。若第二搜索区间的上下限相同,则结束搜索,否则进行第二次搜索。
在本申请的一个具体实施例中,若第一差值大于0,根据第一预设常数、第一差值和目标比特长度预算,确定第一搜索宽度,则将第一量化全局增益序号加一与255进行比较,将两者中较小者确定为第二搜索区间的下限,将第二搜索区间的下限与第一搜索宽度的和值和255进行比较,将两者较小者确定为第二搜索区间的上限;
若第一差值小于等于0,根据第二预设常数、第一差值和目标比特长度预算,确定第二搜索宽度,则将第一量化全局增益序号确定为第二搜索区间的上限,将第一量化全局增益序号与第二搜索宽度的差值和最小全局增益进行比较,将两者中较大者确定为第二搜索区间的下限,。
具体地,第一差值大于0时,第二搜索区间的下限gg_start=min(255,第一gg_ind+1);第二搜索区间的上限gg_end=min(255,第二搜索区间的下限gg_start+第一搜索宽度)。
第一差值小于等于0时,第二搜索区间的上限gg_end=第一gg_ind;第二搜索区间的下限gg_start=max(第一gg_ind-第二搜索宽度,gg_min)。
其中,第一预设常数或第二预设常数为全局恒定不变的数值,是本领域技术人员依据测试经验值得到的。两个预设常数的目的是使得每次搜索区间的收敛程度加速。即越接近目标nbits_spec_dot的gg_ind候选,离目标gg_ind越近,搜索范围越小(窄)。
在该具体实施例中,第一差值大于0,第一搜索宽度=第一差值与第一预设常数乘积再与目标比特长度预算的比值;以及
若第一差值小于等于0,第二搜索宽度=第一差值的绝对值与第二预设常数的乘积再与目标比特长度预算的比值。
具体地,第一差值大于0,第一搜索宽度=第一预设常数B*第一差值/目标gg_ind对应的nbits_spec。
第一差值小于等于0,第二搜索宽度=第二预设常数T*|第一差值|/目标gg_ind对应的nbits_spec。
在该具体实施例中,若gg_ind对应的nbits_spec与目标gg_ind对应的nbits_spec的差值较小,则搜索宽度较小,若gg_ind对应的nbits_spec与目标gg_ind对应的nbits_spec的差值较大,则搜索宽度较大,从而保证足够的搜索范围以确保目标gg_ind落在搜索区间内,利用第一差值得到的第二搜索区间,明显比现有技术中的第二搜索区间范围较小,从而降低了处理器的运算量。
在图1示出的具体实施方式中,本申请一种优化LC3编码器的量化全局增益序号搜索方法还包括:步骤S102。该步骤主要包括:第i次搜索,将第i搜索区间的中位数确定为第i量化全局增益序号,判断第i量化全局增益序号和第i-1量化全局增益序号是否相同,若相同,则结束搜索,输出第i-1量化全局增益序号,否则对第i量化全局增益序号进行首次评估量化全局增益序号搜索计算,得到第i比特长度预算,其中,第i比特长度预算为第i量化全局增益序号对应的量化频谱信号编码所需的比特长度预算,根据第i搜索区间和第i比特长度预算与目标比特长度预算的第i差值,确定第i+1搜索区间,判断第i+1搜索区间的上限和下限是否相同,若相同,则结束搜索,输出第i量化全局增益序号,否则进行重复搜索并判断,直至第n+1搜索区间的上限和下限相同,结束搜索,输出第n量化全局增益序号,其中,i是大于1小于等于n的整数,n是小于等于8的整数。
在本申请的一个具体实施例中,若第i差值大于0,根据第一预设常数、第i差值和目标比特长度预算,得到第2i-1搜索宽度,则将第i量化全局增益序号加一与第i搜索区间的上限进行比较,将两者中较小者确定为第i+1搜索区间的下限,将第i+1搜索区间的下限与第2i-1搜索宽度和值和第i搜索区间的上限进行比较,将两者较小者确定为第i+1搜索区间的上限;
若第i差值小于等于0,根据第二预设常数、第i差值和目标比特长度预算,得到第2i搜索宽度,则将第i量化全局增益序号确定为第i+1搜索区间的上限,将第i量化全局增益序号与第2i搜索宽度的差值和第i搜索区间的下限进行比较,将两者较大者作为第i+1搜索区间的下限。
具体地,若第i差值大于0,第i+1搜索区间的下限gg_start=min(第i搜索区间的上限gg_end,第i gg_ind+1);第i+1搜索区间的上限gg_end=min(第i搜索区间的上限gg_end,第i+1搜索区间的下限gg_start+第2i-1搜索宽度)。
若第i差值小于等于0,第i+1搜索区间的上限gg_end=第i gg_ind;第i+1搜索区间的下限gg_start=max(第i gg_ind-第2i搜索宽度,第i搜索区间的下限gg_start)。
在该具体实施例中,第i差值大于0,第2i-1搜索宽度=第i差值与第一预设常数乘积再与目标比特长度预算的比值;以及
若第一差值小于等于0,第2i搜索宽度=第i差值的绝对值与第二预设常数的乘积再与目标比特长度预算的比值。
具体地,第i差值大于0,第2i-1搜索宽度=第一预设常数B*第i差值/目标gg_ind对应的nbits_spec。
第i差值小于等于0,第2i搜索宽度=第二预设常数T*|第i差值|/目标gg_ind对应的nbits_spec。
在该具体实施例中,可以看出每次搜索区间的收敛程度加速,即越接近目标nbits_spec的gg_ind,离目标gg_ind越近,搜索范围越小(窄)。当gg_ind对应的nbits_spec与目标gg_ind对应的nbits_spec的差值较小时,搜索宽度较小,当gg_ind对应的nbits_spec与目标gg_ind对应的nbits_spec的差值较大时,搜索宽度较大,从而保证足够的搜索范围以确保目标gg_ind落在搜索区间内。
在该具体实施例的一个实例中,当i=2时即进行第二次搜索时,将第二搜索区间的中位数确定为第二gg_ind,对第二gg_ind进行首次评估gg_ind搜索计算,得到第二gg_ind对应的nbits_spec,根据第二搜索区间和第二gg_ind对应的nbits_spec与目标gg_ind对应的nbits_spec的第二差值,确定第三搜索区间。
在该实例中,若第二差值大于0,第三搜索区间的下限gg_start=min(第二搜索区间的上限gg_end,第二gg_ind+1);第三搜索区间的上限gg_end=min(第二搜索区间的上限gg_end,第三搜索区间的下限gg_start+第三搜索宽度)。
第二差值小于等于0时,第三搜索区间的上限gg_end=第二gg_ind;第三搜索区间的下限gg_start=max(第二gg_ind-第四搜索宽度,第二搜索区间的下限gg_start)。
值得注意的是,当第i差值=3,4,5,6,7,8等时,对应的确定搜索区间为第四、第五、第六、第七、第八和第九等搜索区间,其中确定第四、第五、第六、第七、第八和第九等搜索区间的过程和确定第三搜索区间的过程类似。类似的步骤,此处不再赘述。
在该具体实施例中,利用第i差值得到的第i+1搜索区间,明显比现有技术中的第i+1搜索区间范围较小,从而降低了处理器的运算量。
本申请利用gg_ind对应的nbits_spec与目标gg_ind对应的nbits_spec的差值,重新确定搜索区间,减少了搜索次数,同时能够快速的收敛到最合适的gg_ind,从而增强音质,降低处理器的运算量。
图2示出了以最小全局增益gg_min=17,和最大全局增益gg_max=255,上一帧量化全局增益序号mem_gg_ind=130为例的搜索过程,首先将130确定为第一gg_ind,对130做tmp计算,得到第一gg_ind对应的nbits_spec=53.162804,小于目标gg_ind对应的nbits_spec83.712585。进一步得到第一差值为-30.549782,此时可以确定第二搜索区间位于130的左侧,第二搜索区间可以定为[17~130-1]即[17~129]。第二次搜索时,将(129+17)/2=73作为第二gg_ind,将73做tmp计算,进一步控制第三搜索区间的收敛。以此类推,知道搜索空间收敛到单值[123~123]时停止,输出123作为本算法探测到的gg_ind的首次评估值。
图3示出了以响板音频测试样本,10ms帧长,8khz采样率,24000bps码率为例时,利用本申请的技术方案,全局平均gg_ind搜索次数为4.84次每帧,相比LC3规范算法的8次有所减少。同时发现当码率越高时,收敛越快,搜索目标gg_ind需要的运算量更少。
图4示出了本申请一种优化LC3编码器的量化全局增益序号搜索系统的具体实施方式。在该具体实施方式中,包括:第一搜索模块,其用于第一次搜索时,对预先选定的第一量化全局增益序号进行首次评估量化全局增益序号搜索计算,得到第一比特长度预算,其中,第一比特长度预算为第一量化全局增益序号对应的量化频谱信号编码所需的比特长度预算,根据预先选定的第一搜索区间和第一比特长度预算与目标比特长度预算的第一差值,确定第二搜索区间,其中,目标比特长度预算为目标量化全局增益序号对应的量化频谱信号编码实际的比特长度预算,判断第二搜索区间的上限和下限是否相同,若相同,则结束搜索,输出所述第一量化全局增益序号,否则进行第i次搜索。
在该具体实施例中,预先选定的第一量化全局增益序号为包括上一帧量化全局增益序号mem_gg_ind、第一搜索空间的中位数和第一搜索区间的预设阈值中的至少一者,包括上一帧首次评估的量化全局增益序号或者对上一帧首次评估的量化全局增益序号进行二次量化得到的量化全局增益序号。
在该具体实施例中,预先选定的第一搜索区间的下限和上限分别为最小全局增益gg_min和255。
在本申请的一个具体实施例中,若第一差值大于0,根据第一预设常数、第一差值和目标比特长度预算,确定第一搜索宽度,则将第一量化全局增益序号加一与255进行比较,将两者中较小者确定为第二搜索区间的下限,将第二搜索区间的下限与第一搜索宽度的和值和255进行比较,将两者较小者确定为第二搜索区间的上限;
若第一差值小于等于0,根据第二预设常数、第一差值和目标比特长度预算,确定第二搜索宽度,则将第一量化全局增益序号确定为第二搜索区间的上限,将第一量化全局增益序号与第二搜索宽度的差值和最小全局增益进行比较,将两者中较大者确定为第二搜索区间的下限。
具体地,第一差值大于0时,第二搜索区间的下限gg_start=min(255,第一gg_ind+1);第二搜索区间的上限gg_end=min(255,第二搜索区间的下限gg_start+第一搜索宽度)。
第一差值小于等于0时,第二搜索区间的上限gg_end=第一gg_ind;第二搜索区间的下限gg_start=max(第一gg_ind-第二搜索宽度,第一gg_min)。
在该具体实施例中,第一差值大于0,第一搜索宽度=第一差值与第一预设常数乘积再与目标比特长度预算的比值;以及
若第一差值小于等于0,第二搜索宽度=第一差值的绝对值与第二预设常数的乘积再与目标比特长度预算的比值。
在该具体实施例中,利用第一差值得到的第二搜索区间,明显比现有技术中的第二搜索区间范围较小,从而降低了处理器的运算量。
在图4示出的具体实施方式中,本申请一种优化LC3编码器的量化全局增益序号搜索系统还包括:第i搜索模块,其用于第i次搜索时,将第i搜索区间的中位数确定为第i量化全局增益序号,判断第i量化全局增益序号和第i-1量化全局增益序号是否相同,若相同,则结束搜索,输出第i-1量化全局增益序号,否则对第i量化全局增益序号进行首次评估量化全局增益序号搜索计算,得到第i比特长度预算,其中,第i比特长度预算为第i量化全局增益序号对应的量化频谱信号编码所需的比特长度预算,根据第i搜索区间和第i比特长度预算与目标比特长度预算的第i差值,确定第i+1搜索区间,判断第i+1搜索区间的上限和下限是否相同,若相同,则结束搜索,输出第i量化全局增益序号,否则进行重复搜索并判断,直至第n+1搜索区间的上限和下限相同,结束搜索,输出第n量化全局增益序号,其中,i是大于1小于等于n的整数,n是小于等于8的整数。
在本申请的一个具体实施例中,若第i差值大于0,根据第一预设常数、第i差值和目标比特长度预算,得到第2i-1搜索宽度,则将第i量化全局增益序号加一与第i搜索区间的上限进行比较,将两者中较小者确定为第i+1搜索区间的下限,将第i+1搜索区间的下限与第2i-1搜索宽度和值和第i搜索区间的上限进行比较,将两者较小者确定为第i+1搜索区间的上限;
若第i差值小于等于0,根据第二预设常数、第i差值和目标比特长度预算,得到第2i搜索宽度,则将第i量化全局增益序号确定为第i+1搜索区间的上限,将第i量化全局增益序号与第2i搜索宽度的差值和第i搜索区间的下限进行比较,将两者较大者作为第i+1搜索区间的下限。
在该具体实施例中,第i差值大于0,第2i-1搜索宽度=第i差值与第一预设常数乘积再与目标比特长度预算的比值;以及
若第一差值小于等于0,第2i搜索宽度=第i差值的绝对值与第二预设常数的乘积再与目标比特长度预算的比值。
本申请提供的优化LC3编码器的量化全局增益序号搜索系统,可用于执行上述任一实施例描述的优化LC3编码器的量化全局增益序号搜索方法,其实现原理和技术效果类似,在此不再赘述。
在本申请的一个具体实施例中,本申请一种优化LC3编码器的量化全局增益序号搜索系统中第一搜索模块,第i搜索模块可直接在硬件中、在由处理器执行的软件模块中或在两者的组合中。
软件模块可驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可装卸盘、CD-ROM或此项技术中已知的任何其它形式的存储介质中。示范性存储介质耦合到处理器,使得处理器可从存储介质读取信息和向存储介质写入信息。
处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)、现场可编程门阵列(英文:Field Programmable GateArray,简称:FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合等。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如DSP与微处理器的组合、多个微处理器、结合DSP核心的一个或一个以上微处理器或任何其它此类配置。在替代方案中,存储介质可与处理器成一体式。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替代方案中,处理器和存储介质可作为离散组件驻留在用户终端中。
在本申请的另一个具体实施方式中,一种计算机可读存储介质,其存储有计算机指令,计算机指令被操作以执行任一实施例描述的优化LC3编码器的量化全局增益序号搜索方法。
在本申请的另一个具体实施方式中,一种程序产品,程序产品包括计算机程序,计算机程序存储在可读存储介质中,至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使执行任一实施例描述的优化LC3编码器的量化全局增益序号搜索方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上综述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (9)
1.一种优化LC3编码器的量化全局增益序号搜索方法,其特征在于,包括:
第一次搜索,对预先选定的第一量化全局增益序号进行首次评估量化全局增益序号搜索计算,得到第一比特长度预算,其中,所述第一比特长度预算为所述第一量化全局增益序号对应的量化频谱信号编码所需的比特长度预算,
根据预先选定的第一搜索区间和所述第一比特长度预算与目标比特长度预算的第一差值,确定第二搜索区间,其中,所述目标比特长度预算为目标量化全局增益序号对应的量化频谱信号编码实际的比特长度预算,
判断所述第二搜索区间的上限和下限是否相同,若相同,则结束搜索,输出所述第一量化全局增益序号,否则进行第i次搜索;
第i次搜索,将第i搜索区间的中位数确定为第i量化全局增益序号,
判断所述第i量化全局增益序号和第i-1量化全局增益序号是否相同,若相同,则结束搜索,输出所述第i-1量化全局增益序号,否则对所述第i量化全局增益序号进行首次评估量化全局增益序号搜索计算,得到第i比特长度预算,其中,所述第i比特长度预算为所述第i量化全局增益序号对应的量化频谱信号编码所需的比特长度预算,
根据所述第i搜索区间和所述第i比特长度预算与所述目标比特长度预算的第i差值,确定第i+1搜索区间,
判断所述第i+1搜索区间的上限和下限是否相同,若相同,则结束搜索,输出所述第i量化全局增益序号,否则进行重复搜索并判断,直至第n+1搜索区间的上限和下限相同,结束搜索,输出第n量化全局增益序号,其中,i是大于1小于等于n的整数,n是小于等于8的整数。
2.根据权利要求1所述的优化LC3编码器的量化全局增益序号搜索方法,其特征在于,所述第一量化全局增益序号包括上一帧量化全局增益序号、所述第一搜索空间的中位数和所述第一搜索区间的预设阈值中的至少一者,所述上帧量化全局增益序号包括上一帧首次评估的量化全局增益序号或者对所述上一帧首次评估的量化全局增益序号进行二次量化得到的量化全局增益序号。
3.根据权利要求1所述的优化LC3编码器的量化全局增益序号搜索方法,其特征在于,所述第一搜索区间的下限和上限分别为最小全局增益和255。
4.根据权利要求3所述的优化LC3编码器的量化全局增益序号搜索方法,其特征在于,
所述根据预先选定的第一搜索区间和所述第一比特长度预算与目标比特长度预算的第一差值,确定第二搜索区间,进一步包括:
若所述第一差值大于0,根据第一预设常数、所述第一差值和所述目标比特长度预算,确定第一搜索宽度,则将所述第一量化全局增益序号加一与255进行比较,将两者中较小者确定为所述第二搜索区间的下限,将所述第二搜索区间的下限与所述第一搜索宽度的和值和255进行比较,将两者较小者确定为所述第二搜索区间的上限;
若所述第一差值小于等于0,根据第二预设常数、所述第一差值和所述目标比特长度预算,确定第二搜索宽度,则将所述第一量化全局增益序号确定为所述第二搜索区间的上限,将所述第一量化全局增益序号与所述第二搜索宽度的差值和所述最小全局增益进行比较,将两者中较大者确定为所述第二搜索区间的下限。
5.根据权利要求4所述的优化LC3编码器的量化全局增益序号搜索方法,其特征在于,
所述若所述第一差值大于0,根据第一预设常数、所述第一差值和所述目标比特长度预算,确定第一搜索宽度,进一步包括:
所述第一搜索宽度=所述第一差值与所述第一预设常数乘积再与所述目标比特长度预算的比值;以及
所述若所述第一差值小于等于0,根据第二预设常数、所述第一差值和所述目标比特长度预算,确定第二搜索宽度,进一步包括:
所述第二搜索宽度=所述第一差值的绝对值与所述第二预设常数的乘积再与所述目标比特长度预算的比值。
6.根据权利要求1所述的优化LC3编码器的量化全局增益序号搜索方法,其特征在于,
所述根据所述第i搜索区间和所述第i比特长度预算与所述目标比特长度预算的第i差值,确定第i+1搜索区间,进一步包括:
若所述第i差值大于0,根据第一预设常数、所述第i差值和所述目标比特长度预算,得到第2i-1搜索宽度,则将所述第i量化全局增益序号加一与所述第i搜索区间的上限进行比较,将两者中较小者确定为所述第i+1搜索区间的下限,将所述第i+1搜索区间的下限与所述第2i-1搜索宽度和值和所述第i搜索区间的上限进行比较,将两者较小者确定为所述第i+1搜索区间的上限;
若所述第i差值小于等于0,根据第二预设常数、所述第i差值和所述目标比特长度预算,得到第2i搜索宽度,则将所述第i量化全局增益序号确定为所述第i+1搜索区间的上限,将所述第i量化全局增益序号与所述第2i搜索宽度的差值和所述第i搜索区间的下限进行比较,将两者较大者作为所述第i+1搜索区间的下限。
7.一种优化LC3编码器的量化全局增益序号搜索系统,其特征在于,包括:
第一搜索模块,其用于第一次搜索时,对预先选定的第一量化全局增益序号进行首次评估量化全局增益序号搜索计算,得到第一比特长度预算,其中,所述第一比特长度预算为所述第一量化全局增益序号对应的量化频谱信号编码所需的比特长度预算,
根据预先选定的第一搜索区间和所述第一比特长度预算与目标比特长度预算的第一差值,确定第二搜索区间,其中,所述目标比特长度预算为目标量化全局增益序号对应的量化频谱信号编码实际的比特长度预算,
判断所述第二搜索区间的上限和下限是否相同,若相同,则结束搜索,输出所述第一量化全局增益序号,否则进行第i次搜索;
第i搜索模块,其用于第i次搜索时,将第i搜索区间的中位数确定为第i量化全局增益序号,
判断所述第i量化全局增益序号和第i-1量化全局增益序号是否相同,若相同,则结束搜索,输出所述第i-1次量化全局增益序号,否则对所述第i量化全局增益序号进行首次评估量化全局增益序号搜索计算,得到第i比特长度预算,其中,所述第i比特长度预算为所述第i量化全局增益序号对应的量化频谱信号编码所需的比特长度预算,
根据所述第i搜索区间和所述第i比特长度预算与所述目标比特长度预算的第i差值,确定第i+1搜索区间,
判断所述第i+1搜索区间的上限和下限是否相同,若相同,则结束搜索,输出所述第i量化全局增益序号,否则进行重复搜索并判断,直至第n+1搜索区间的上限和下限相同,结束搜索,输出第n量化全局增益序号,其中,i是大于1小于等于n的整数,n是小于等于8的整数。
8.一种计算机设备,其特征在于,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现如权利要求1-6中任一项所述的方法。
9.一种存储介质,其上存储有计算机程序指令,其特征在于,当所述计算机程序指令被处理器执行时实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010792143.6A CN111951815B (zh) | 2020-08-08 | 2020-08-08 | 一种优化lc3编码器的量化全局增益序号搜索方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010792143.6A CN111951815B (zh) | 2020-08-08 | 2020-08-08 | 一种优化lc3编码器的量化全局增益序号搜索方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111951815A true CN111951815A (zh) | 2020-11-17 |
CN111951815B CN111951815B (zh) | 2023-10-10 |
Family
ID=73332934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010792143.6A Active CN111951815B (zh) | 2020-08-08 | 2020-08-08 | 一种优化lc3编码器的量化全局增益序号搜索方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111951815B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112599138A (zh) * | 2020-12-08 | 2021-04-02 | 北京百瑞互联技术有限公司 | 一种lc3音频编码器的多pcm信号编码方法、装置及介质 |
WO2022141658A1 (zh) * | 2020-12-30 | 2022-07-07 | 北京百瑞互联技术有限公司 | 在lc3音频码流中添加额外信息的方法、系统及介质 |
CN114913863A (zh) * | 2021-02-09 | 2022-08-16 | 同响科技股份有限公司 | 数字音信数据编码方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080065376A1 (en) * | 2006-09-08 | 2008-03-13 | Kabushiki Kaisha Toshiba | Audio encoder |
CN111081263A (zh) * | 2019-12-31 | 2020-04-28 | 北京百瑞互联技术有限公司 | 一种优化音频编解码器存储空间的方法及系统 |
CN111429926A (zh) * | 2020-03-24 | 2020-07-17 | 北京百瑞互联技术有限公司 | 一种优化音频编码速度的方法和装置 |
CN111429925A (zh) * | 2020-04-10 | 2020-07-17 | 北京百瑞互联技术有限公司 | 一种降低音频编码速率的方法及系统 |
-
2020
- 2020-08-08 CN CN202010792143.6A patent/CN111951815B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080065376A1 (en) * | 2006-09-08 | 2008-03-13 | Kabushiki Kaisha Toshiba | Audio encoder |
CN111081263A (zh) * | 2019-12-31 | 2020-04-28 | 北京百瑞互联技术有限公司 | 一种优化音频编解码器存储空间的方法及系统 |
CN111429926A (zh) * | 2020-03-24 | 2020-07-17 | 北京百瑞互联技术有限公司 | 一种优化音频编码速度的方法和装置 |
CN111429925A (zh) * | 2020-04-10 | 2020-07-17 | 北京百瑞互联技术有限公司 | 一种降低音频编码速率的方法及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112599138A (zh) * | 2020-12-08 | 2021-04-02 | 北京百瑞互联技术有限公司 | 一种lc3音频编码器的多pcm信号编码方法、装置及介质 |
CN112599138B (zh) * | 2020-12-08 | 2024-05-24 | 北京百瑞互联技术股份有限公司 | 一种lc3音频编码器的多pcm信号编码方法、装置及介质 |
WO2022141658A1 (zh) * | 2020-12-30 | 2022-07-07 | 北京百瑞互联技术有限公司 | 在lc3音频码流中添加额外信息的方法、系统及介质 |
CN114913863A (zh) * | 2021-02-09 | 2022-08-16 | 同响科技股份有限公司 | 数字音信数据编码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111951815B (zh) | 2023-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6752255B2 (ja) | オーディオ信号分類方法及び装置 | |
CN111951815A (zh) | 一种优化lc3编码器的量化全局增益序号搜索方法和系统 | |
RU2417456C2 (ru) | Системы, способы и устройства для обнаружения изменения сигналов | |
CN104011794B (zh) | 具有并行架构的音频编码器 | |
KR101395250B1 (ko) | 스펙트럼 포락선의 수를 산출하기 위한 장치 및 그 방법 | |
CN113724725B (zh) | 一种蓝牙音频啸叫检测抑制方法、装置、介质及蓝牙设备 | |
CN1997988B (zh) | 在音频编码过程中根据mdct数据进行视窗类型判定的方法 | |
CN100459436C (zh) | 一种音频编码中比特分配的方法 | |
JP6595687B2 (ja) | 符号化方法、符号化装置、プログラム、および記録媒体 | |
AU2013391207B2 (en) | Signal encoding method and device | |
US8825494B2 (en) | Computation apparatus and method, quantization apparatus and method, audio encoding apparatus and method, and program | |
JP2019215558A (ja) | 符号化方法、装置、プログラム及び記録媒体 | |
ES2768719T3 (es) | Método para estimar ruido en una señal de audio, estimador de ruido, codificador de audio, decodificador de audio, y sistema para transmitir señales de audio | |
US7283968B2 (en) | Method for grouping short windows in audio encoding | |
CN101425293A (zh) | 一种高效感知音频比特分配方法 | |
CN114999503B (zh) | 一种基于生成对抗网络的全带宽谱系数生成方法及系统 | |
CN118136023A (zh) | 基于谱熵的语音感知哈希认证方法、系统、介质及设备 | |
KR100640833B1 (ko) | 디지털 오디오의 부호화 방법 | |
CN111916090A (zh) | 一种lc3编码器近奈奎斯特频率信号检测方法、检测器、存储介质及设备 | |
CN112365897A (zh) | Lc3编码器自适应调节帧间传输码率的方法、装置和介质 | |
CN115346549A (zh) | 一种基于深度学习的音频带宽扩展方法、系统及编码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CB02 | Change of applicant information |
Address after: A1009, floor 9, block a, No. 9, Shangdi Third Street, Haidian District, Beijing 100085 Applicant after: Beijing Bairui Internet Technology Co.,Ltd. Address before: 7-1-1, building C, 7 / F, building 2-1, No.2, Shangdi Information Road, Haidian District, Beijing 100085 Applicant before: BARROT WIRELESS Co.,Ltd. |
|
CB02 | Change of applicant information |