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

一种LC3编解码系统、LC3编码器及其优化方法与流程

2021-01-28 16:01:55|420|起点商标网
一种LC3编解码系统、LC3编码器及其优化方法与流程

本申请涉及音频编码技术领域,特别涉及一种lc3编解码系统、lc3编码器及其优化方法。



背景技术:

随着移动通信领域的不断发展,蓝牙技术的应用也越来越广,尤其在蓝牙音频的应用方面。

目前蓝牙国际联盟bluetoothsig联合众多厂商推出了低复杂度通信编解码器lc3。由于lc3编解码技术,其具有较低延迟、较高音质和编码增益以及在蓝牙领域无专利费得优点,受到广大厂商的关注。由于lc3推出的初衷是要满足低功耗蓝牙领域的音频应用,所以对功耗要求非常严格,在低功耗蓝牙领域,期望移动设备的功耗较低,而音频的码率与占用的空中带宽成正比,且音频的码率直接影响射频的功耗。较低的码率不仅可以降低收发端的射频功耗和空中干扰,同时也能降低编解码器的运算量(主要是降低算术编码解码的运算量)。

在现有技术中,长期后置滤波器(ltpf)用于在时域信号中利用历史时域信号处理当前帧的时域信号。ltpf是一种基于音调(pitch)的位于解码端的后置滤波器,可以感知频谱谷中的量化噪声。在一场景中,当当前帧码率大于等于与采样率相关常数阈值时,由于长期后置滤波器增益为0,实际lc3解码器中长期后置滤波器不启用,仅保留音调整数部分和音调分数部分到历史音调整数部分和历史音调分数部分中,保留长期后置滤波器增益到历史长期后置滤波器中,为下一帧处理做长周期记录准备。而由于此场景中码率并不会改变,因此长周期记录的这些值将始终保持0,这对lc3编解码器来说是一种浪费。



技术实现要素:

针对现有技术中存在的上述技术问题,本申请提供了一种lc3编解码系统、lc3编码器及其优化方法。

本申请采用的一个技术方案是:提供一种lc3编解码系统,其包括lc3编码器和lc3解码器,lc3编码器包括第一长期后置滤波器,第一长期后置滤波器包括第一长期后置滤波器编码模块,第一长期后置滤波器编码模块包括第一长期后置滤波器重采样模块,其中,当lc3编码器接收到当前帧编码为固定码率编码场景的消息时,判断第一长期后置滤波器重采样模块的入口处的当前帧码率是否满足预设条件,若满足预设条件,则关闭第一长期后置滤波器编码模块。

本申请采用的另一个技术方案是:提供一种lc3编码器,其包括长期后置滤波器,长期后置滤波器包括长期后置滤波器编码模块,长期后置滤波器编码模块包括长期后置滤波器重采样模块,其中,当lc3编码器接收到当前帧编码为固定码率编码场景的消息时,判断长期后置滤波器重采样模块的入口处的当前帧码率是否满足预设条件,若满足预设条件,则关闭长期后置滤波器编码模块。

本申请采用的另一个技术方案是:一种优化lc3编解码系统的方法,该方法包括:lc3编解码系统包括lc3编码器和lc3解码器,lc3编码器包括第一长期后置滤波器,第一长期后置滤波器包括第一长期后置滤波器编码模块,第一长期后置滤波器编码模块包括第一长期后置滤波器重采样模块,其中,当lc3编码器接收到当前帧编码为固定码率编码场景的消息时,判断第一长期后置滤波器重采样模块的入口处的当前帧码率是否满足预设条件,若满足预设条件,则关闭第一长期后置滤波器编码模块。

本申请采用的另一个技术方案是:一种优化lc3编码器的方法,该方法包括:lc3编码器包括长期后置滤波器,长期后置滤波器包括长期后置滤波器编码模块,长期后置滤波器编码模块包括长期后置滤波器重采样模块,其中,当lc3编码器接收到当前帧编码为固定码率编码场景的消息时,判断长期后置滤波器重采样模块的入口处的当前帧码率是否满足预设条件,若满足预设条件,则关闭长期后置滤波器编码模块。

本申请采用的另一个技术方案是:一种计算机可读存储介质,其存储有计算机指令,计算机指令被操作以执行优化lc3编解码系统的方法或优化lc3编码器的方法。

本申请的有益效果在于:lc3编码器接收当前帧编码为固定码率编码场景的消息;lc3编码器当检测到固定码率编码场景的消息时,若在长期后置滤波器编码模块中的重采样模块的入口处的当前帧码率满足预设条件,则长期后置滤波器中所有的编码模块进行关闭。本申请固定码率编码场景,能够使lc3编码器一侧减少大约5至15mcps的复杂ltpf运算量,能够增强音质,降低处理器需求。

附图说明

图1为现有技术中lc3编码器的ltpf编码运算过程示意图;

图2为现有技术中lc3编码器的ltpf编码运算数据流的示意图;

图3为本申请lc3编解码系统的一个具体实施方式的示意图;

图4为本申请lc3编码器的一个具体实施方式的示意图。

具体实施方式

为了使本申请的上述特征和优点更加易懂,下面结合附图和具体实施方式对本申请做进一步详细说明。该详细说明仅仅是为了帮助理解本申请,本申请的保护范围不仅仅限于具体实施方式存储的具体说明。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

图1示出了现有技术中lc3编码器的ltpf编码运算过程。图2示出了lc3编码器的ltpf编码运算数据流的过程。现结合图1与图2对申请的专业术语和现有技术进行介绍。

当前帧的输入信号可由nf个音频样本xs[n]组成,当输入信号输入到ltpf中,

首先,重采样到12.8khz频率下,产生128个音频样本x12.8[n];

其次,经过hp50-50hz的2阶iir(无限冲激响应)滤波器进行高通滤波,产生128个音频样本12.8(n);

再次,下采样到6.4khz频率下,产生64个音频样本x6.4[n];

再次,进行音调探测pitchdetection,对64个音频样本x6.4[n]做有限空间自相关,得到不加权自相关系数组r64,再对不加权自相关系数组r64进行加权,得到加权自相关系数组rw64,根据不加权自相关系数组r64和加权自相关系数组rw64得到不加权自相关音调滞后t1与加权自相关音调滞后t2的比值以及归一化自相关系数(normcorr),其中若归一化自相关系数(normcorr)大于0.6,则开启音调滞后估计(pitchlagestimation);

最后,得到ltpf开启标志(ltpf_active)和音调序列号(pitch_index)。

因此,由图2可以看出,lc3编码器一侧ltpf运算量较高,经cadencehifi3平台实际测试,ltpf大约占用5到15mcps的复杂运算量,其主要开销在:重采样x_128,高通滤波x_hat_128,下采样x_64,不加权自相关系数组r64,加权自相关系数组rw64,低精度归一化相关系数(normcorr),有限冲击响应低通滤波xi系数组,高精度归一化相关系数nc的八部分中。

同时,在lc3编码器的应用场景中,大部分规定使用场景为固定码率(fixed-bitrate)。

lc3解码器的ltpf解码运算过程为,从lc3码流中解析,分别得到当前音调标志(pitch_present),其所占1比特(bit);音调序列号(pitch_index),其用于分离音调整数部分(pitch_int)和音调分数部分(pitch_fr),其所占用9bits;ltpf开启标志(ltpf_active),其所占1bit。

因此,ltpf在lc3码流中占用的比特数为1bit(仅包括当前音调标志)或者11bits(包括当前音调标志、音调序列号和ltpf开启标志)。

图3示出了本申请lc3编解码系统的一个具体实施方式。在该具体实施方式中,本申请lc3编解码系统主要包括:lc3编码器和lc3解码器,lc3编码器包括第一长期后置滤波器,第一长期后置滤波器包括第一长期后置滤波器编码模块,第一长期后置滤波器编码模块包括第一长期后置滤波器重采样模块。其中,当lc3编码器接收到当前帧编码为固定码率编码场景的消息时,判断第一长期后置滤波器重采样模块的入口处的当前帧码率是否满足预设条件,若满足预设条件,则关闭第一长期后置滤波器编码模块。

具体地,首先,由lc3编码器端应用协议层控制告知lc3编码器当前帧编码为固定码率编码场景(fixed_bitrate_flag=1)。

其次,lc3编码器检测当前帧编码为fixed_bitrate_flag=1的消息,在第一ltpf重采样模块入口处,判断当前帧码率是否达到预设条件,若达到了预设条件,则关闭第一ltpf编码模块。

在该具体实施方式中,由于在lc3编码器的应用协议中,大部分规定使用场景为固定码率。将当前帧编码固定为固定码率编码能够减少lc3编码器的运算量。

其中,预设条件为当前帧码率(t_nbits)≥560+当前帧采样率索引(fs_idx)*80。其中,560+fs_idx*80条件是lc3规范规定的开启ltpf的最低码率,小于该条件则开启ltpf_active,大于等于该条件时关闭ltpf_active。其中,ltpf_active是lc3规范中规定的一个flag,用来描述当前帧的ltpf是否开启。

在本申请的一个具体实施例中,本申请lc3编解码系统中,lc3编码器还用于,将当前音调标志设置为0(pitch_present=0),并添加到边带信息(side_information)编码中。

具体地,当lc3编码器被配置为fixed_bitrate_flag=1,在第一ltpf重采样模块入口,若t_nbits≥560+fs_idx*80,则第一ltpf编码模块关闭,也就是从第一ltpf重采样开始的所有过程均关闭,不进行ltpf运算,并忽略pitch_index和ltpf_active。同时设置当前音调标志pitch_present=0到边带信息(side_information)编码后,直接输出本帧音频数据。

在该具体实施例中,在变码率场景fixed_bitrate_flat=0中,依然保持原始的ltpf逻辑保持不变,保持了在非固定码率(变码率)场景下的对标准解码器的兼容性。

在本申请的一个具体实施例中,第一ltpf编码模块还用于,将第一ltpf编码模块对应的释放空间分配给lc3编码器的频谱量化模块。其中,第一ltpf编码模块的释放空间包括,第一音调序列号(pitch_index)和第一长期后置滤波器开启标志(ltpf_active)的释放空间。

具体地,由于第一ltpf编码模块关闭,此时第一pitch_index和第一ltpf_active都为0,第一ltpf编码模块将会节省第一pitch_index和第一ltpf_active编码所占用的10bits,即第一ltpf编码模块在码流中编码减少腾出的空间10bits。此时将该10bits重新划分到当前帧的谱系数编码空间位预算中,也就是分配给后续的频谱量化模块,使得频谱量化模块有更多的每帧10bits额外频谱编码空间,即可以将该10bits额外的编码空间分配给频谱信号的算术编码以及/或残差编码,这样相对lc3规范的原始方案而言,能够在固定较高码率编码场景下得到更佳的音质。

在本申请的一个具体实施例中,lc3解码器包括第二长期后置滤波器,第二长期后置滤波器用于,将对应的第二音调序列号(pitch_index)和第二长期后置滤波器开启标志(ltpf_active)填写为0。

具体地,兼容符合lc3规范的任意解码器一端,由于pitch_present=0,在此场景中,当前帧码率不会发生改变,lc3解码器的ltpf不启动。在当前帧解码side_information时,ltpf自动填写pitch_index=0和ltpf_active=0。这样lc3解码器无需每次根据当前帧码率解析计算长期后置滤波器增益(gain_ltpf),从而能够保持ltpf解码模块的始终关闭,节约了lc3解码器的运算量。

在本申请的具体实施方式中,本申请采用固定码率编码场景,能够使lc3编码器一侧减少大约5至15mcps的复杂ltpf运算量,能够增强音质,降低处理器需求。

在本申请的具体实施方式中,本申请的lc3编码器的频谱量化模块将在部分帧中获得10bits的额外频谱编码空间,从而增强音质。

在本申请的具体实施方式中,本申请由于lc3编码器配置固定码率编码场景时,将当前音调标志始终设置为0(pitch_present=0),对应的lc3解码器一侧能够保持ltpf解码滤波器模块的始终关闭,节约了lc3解码器的运算量。

图4示出了本申请lc3编码器的一个具体实施方式。在该具体实施方式中,本申请lc3编码器包括:长期后置滤波器,长期后置滤波器包括长期后置滤波器编码模块,长期后置滤波器编码模块包括长期后置滤波器重采样模块。其中,当lc3编码器接收到当前帧编码为固定码率编码场景的消息时,判断长期后置滤波器重采样模块的入口处的当前帧码率是否满足预设条件,若满足预设条件,则关闭长期后置滤波器编码模块。

具体地,由lc3编码器端应用协议层控制告知lc3编码器当前帧编码为固定码率编码场景(fixed_bitrate_flag=1)。lc3编码器检测当前帧编码为fixed_bitrate_flag=1的消息lc3编码器。

其中,预设条件为当前帧码率(t_nbits)≥560+当前帧采样率索引(fs_idx)*80。

在本申请的一个具体实施例中,本申请lc3编码器中,lc3编码器还用于将当前音调标志设置为0(pitch_present=0),并添加到边带信息(side_information)编码中。

在本申请的一个具体实施例中,当长期后置滤波器编码模块关闭时,将长期后置滤波器编码模块的释放空间分配给lc3编码器的频谱量化模块。其中,长期后置滤波器编码模块的释放空间包括,对应的音调序列号(pitch_index)和长期后置滤波器开启标志(ltpf_active)的释放空间。

在本申请的另一个具体实施方式中,本申请提供一种优化lc3编解码系统的方法,该方法包括:lc3编解码系统包括lc3编码器和lc3解码器,lc3编码器包括第一长期后置滤波器,第一长期后置滤波器包括第一长期后置滤波器编码模块,第一长期后置滤波器编码模块包括第一长期后置滤波器重采样模块,其中,当lc3编码器接收到当前帧编码为固定码率编码场景的消息时,判断第一长期后置滤波器重采样模块的入口处的当前帧码率是否满足预设条件,若满足预设条件,则关闭第一长期后置滤波器编码模块。

具体地,由lc3编码器端应用协议层控制告知lc3编码器当前帧编码为固定码率编码场景(fixed_bitrate_flag=1)。lc3编码器检测当前帧编码为fixed_bitrate_flag=1的消息。

在该具体实施方式中,由于在lc3编码器的应用协议中,大部分规定使用场景为固定码率。将当前帧编码固定为固定码率编码一方面不会破坏当前帧的音质,另一方面能够减少lc3编码器的运算量。

其中,预设条件为当前帧码率(t_nbits)≥560+当前帧采样率索引(fs_idx)*80。

在本申请的一个具体实施例中,本申请优化lc3编解码系统的方法,还包括,将当前音调标志设置为0(pitch_present=0),并添加到边带信息(side_information)编码中。

在本申请的一个具体实施例中,本申请优化lc3编解码系统的方法,还包括将第一ltpf编码模块对应的释放空间分配给lc3编码器的频谱量化模块。其中,第一ltpf编码模块的释放空间包括,第一音调序列号(pitch_index)和第一长期后置滤波器开启标志(ltpf_active)的释放空间。

在本申请的一个具体实施例中,本申请优化lc3编解码系统的方法,还包括,lc3解码器包括第二长期后置滤波器,第二长期后置滤波器用于,将对应的第二音调序列号(pitch_index)和第二长期后置滤波器开启标志(ltpf_active)填写为0。

本申请提供的优化lc3编解码系统的方法,其实现原理和技术效果与上述lc3编解码系统的类似,在此不再赘述。

本申请采用的另一个技术方案是:一种优化lc3编码器的方法,该方法包括:lc3编码器包括长期后置滤波器,长期后置滤波器包括长期后置滤波器编码模块,长期后置滤波器编码模块包括长期后置滤波器重采样模块,其中,当lc3编码器接收到当前帧编码为固定码率编码场景的消息时,判断长期后置滤波器重采样模块的入口处的当前帧码率是否满足预设条件,若满足预设条件,则关闭长期后置滤波器编码模块。

具体地,由lc3编码器端应用协议层控制告知lc3编码器当前帧编码为固定码率编码场景(fixed_bitrate_flag=1)。lc3编码器检测当前帧编码为fixed_bitrate_flag=1的消息。

其中,预设条件为当前帧码率(t_nbits)≥560+当前帧采样率索引(fs_idx)*80。

在本申请的一个具体实施例中,本申请优化lc3编码器的方法,还包括,将当前音调标志设置为0(pitch_present=0),并添加到边带信息(side_information)编码中。

在本申请的一个具体实施例中,本申请优化lc3编码器的方法,还包括将ltpf编码模块对应的释放空间分配给lc3编码器的频谱量化模块。其中,ltpf编码模块的释放空间包括,音调序列号(pitch_index)和长期后置滤波器开启标志(ltpf_active)的释放空间。

本申请提供的优化lc3编码器的方法,其实现原理和技术效果与上述lc3编码器的类似,在此不再赘述。

在本申请的另一个具体实施方式中,一种计算机可读存储介质,其存储有计算机指令,计算机指令被操作以执行任一实施例描述的优化lc3编解码系统的方法或者优化lc3编码器的方法。

在本申请的另一个具体实施方式中,一种程序产品,程序产品包括计算机程序,计算机程序存储在可读存储介质中,至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使执行任一实施例描述的优化lc3长期后置滤波器的方法或者优化lc3编码器的方法。

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

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

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

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

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

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

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

tips