一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种动态调整LC3音频编码速率的方法、装置及存储介质与流程

2021-06-18 20:18:00 来源:中国专利 TAG:音频 蓝牙 速率 传输 装置
一种动态调整LC3音频编码速率的方法、装置及存储介质与流程

本发明涉及蓝牙通讯、音频编解码和数字信息传输技术领域,特别涉及一种动态调整lc3音频编码速率的方法、装置及存储介质。



背景技术:

由于蓝牙设备的广泛使用,蓝牙设备之间的干扰也随之增多,导致蓝牙传输效率的下降,使在进行蓝牙通讯时较难以恒定的码率传输语音包。且lc3利用基于波形的编码技术这与传统的声码器相比压缩效率很低,对蓝牙通讯的传输效率要求更多。

在现有技术中利用lc3编解码器的灵活设计,通过在标准规范规定的码率范围内调整码率来解决上述问题,但该降低码率的方法虽然简单直接,但会导致量化增益较大和谱系数量化粗糙,最终导致音质降低,且该方法虽然降低了码率但没有改变运算量,造成了算力和功耗的浪费。



技术实现要素:

针对现有技术存在的问题,本发明主要提供一种动态调整lc3音频编码速率的方法、装置及存储介质。

为了实现上述目的,本发明采用的一个技术方案是:提供一种动态调整lc3音频编码速率的方法,其包括:根据lc3音频信号传输过程中的实时传输速率确定lc3编码器编码的实时频带宽度;根据实时频带宽度设置当前子带索引表的索引最大值,并根据索引最大值计算得到需要正常编码的子带范围;以及,利用需要正常编码的子带范围内的频谱系数继续进行编码;所述需要正常编码的子带范围包括影响音质的低频段或,低频段以及中频段子带范围。

本发明采用的另一个技术方案是:提供一种动态调整lc3音频编码速率的装置,其包括:频带宽度获取模块,用于根据lc3音频信号传输过程中的实时传输速率确定lc3编码器编码的实时频带宽度;范围获取模块,用于根据实时频带宽度设置当前子带索引表的索引最大值,并根据索引最大值计算得到需要正常编码的子带范围;以及,编码模块,用于利用需要正常编码的子带范围内的频谱系数继续进行编码;所述需要正常编码的子带范围包括影响音质的低频段或,低频段以及中频段子带范围。

本发明采用的另一个技术方案是:提供一种计算机可读存储介质,其存储有计算机指令,该计算机指令被操作以执行方案一中的动态调整lc3音频编码速率的方法。

本发明的技术方案可以达到的有益效果是:本发明设计了动态调整lc3音频编码速率的方法、装置及存储介质。该方法能够在不显著降低音频音质的条件下动态调整音频传输的码率,同时,减少了码率调整时的计算量和功耗。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一种动态调整lc3音频编码速率的方法的一个具体实施方式的示意图;

图2是本发明一种动态调整lc3音频编码速率的装置的另一个具体实施方式的示意图;

图3是本发明一种动态调整lc3音频编码速率的方法的一个具体实施例的示意图。

通过上述附图,已示出本发明的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。

具体实施方式

下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。

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

在进行蓝牙语音传输时,若选定的帧长、采样率及码率分别为10ms、32khz和64kbps,则正常情形下lc3每一帧编码时可用的字节数为:=80bytes,其中8b表示一个字节包含8个比特,100表示每秒有100帧。当需要降低码率以保证语音传输能够稳定有效的进行,现有技术采用的方法是,将传输效率降低到原来的一半,则此时lc3每一帧编码可用的字节数为:=40bytes,将该40bytes作为参数输入lc3编码器即可降低码率。

该现有技术所采用的降低码率的方法虽然简单直接,但其通过更粗糙的谱系数量化实现降低码率的目的,而随着码率的降低会导致量化增益变大及谱系数量化粗糙的现象更加严重,最终会导致音质降低明显,且在降低码率的过程中lc3编码器运算量基本没变对算力的要求依然较高。

为解决现有技术存在的问题,本发明示出了如图1所示的一种动态调整lc3音频编码速率的方法的一个具体实施方式。该具体实施方式主要包括,步骤s101,根据lc3音频信号传输过程中的实时传输速率确定lc3编码器编码的实时频带宽度;

步骤s102,根据实时频带宽度设置当前子带索引表的索引最大值,并根据索引最大值计算得到需要正常编码的子带范围;以及,

步骤s103,利用需要正常编码的子带范围内的频谱系数继续进行编码;

需要正常编码的子带范围包括影响音质的低频段或,低频段以及中频段子带范围。

该具体实施方式中,能够保证对影响音质的重要子带进行正常编码,在不显著降低音频音质的条件下动态调整音频传输的码率,同时,减少了码率调整时的计算量和功耗。

在该具体实施方式中,动态调整lc3音频编码速率的方法主要包括步骤s101,根据lc3音频信号传输过程中的实时传输速率确定lc3编码器编码的实时频带宽度。

在本发明的一个具体实施例中,利用传输协议或调制解调器获取lc3编码器的实时传输速率,根据获取的实时传输速率映射出相应的lc3编码器的实时频带宽度,得到实时传输速率与lc3编码器的实时频带宽度之间的关系。

该具体实施例,通过获取实时传输速率,实时了解语音传输中的带宽,为进行码率调节奠定基础。

在本发明的一个具体实施例中,步骤s101还包括,根据lc3音频信号传输过程中的实时传输速率的值,计算得到与其成正比的lc3编码器编码的实时频带宽度的值。

在本发明的一个具体实例中,当实时传输速率高时,则在编码时使用较宽的实时频带宽度,当实时传输速率较低时,则在编码时使用较窄的实时频带宽度,即编码的实时频带宽度与实时传输速率成正比。

例如,当将lc3编码器的配置设置为帧长10ms、采样率32khz和推荐码率64kbps时,其对应的实时传输速率与实时频带宽度之间的关系如图3。在图3中,当实时传输速度为64kbps时,其编码时的实时频带宽度为上述配置下lc3编码器所允许的频带宽度最大值16khz,在实时传输速度为16kbps时,其编码时的实时频带宽度为上述配置下lc3编码器所允许的频带宽度最小值4khz。其中,64kbps是lc3标准规范推荐的典型码率,在上述配置下语音编码的码率高于此码率对音质提升不大;16khz根据采样率32khz时的奈奎斯特频率求得;16kbps是lc3标准规范规定的最低码率;4khz是语音频带的有效带宽,即传统模拟电话的频带宽度。

该具体实施例,利用实时传输速率映射出lc3所允许调整的频带宽度范围,为实时进行编码频带宽度调整奠定基础。

在图1所示的具体实施方式中,动态调整lc3音频编码速率的方法,还包括步骤s102,根据实时频带宽度设置当前子带索引表的索引最大值,并根据索引最大值计算得到需要正常编码的子带范围。

在本发明的一个具体实例中,根据lc3编码器配置中的采样率和码率得到相应的当前子带索引表。利用进行单位转换后的实时频带宽度和当前子带索引表,计算得到当前子带索引表的索引最大值。利用当前子带索引表的索引最大值,计算得到需要正常编码的子带范围。

该具体实施例,通过动态调整需要进行正常编码的子带范围,在减少编码的频带宽度时减少了编码器的计算量,节省了算力。

在本发明的一个具体实例中,步骤s102还包括,配置预定码率下的子带索引表;将实时频带宽度的值根据预定码率下的子带索引表进行单位转换;将单位转换后的实时频带宽度的值,与预定码率下的子带索引表内的索引值进行对比计算,得到当前子带索引表的索引最大值。

在本发明的一个具体实例中,当lc3编码器的配置是帧长10ms、采样率32khz和预定码率64kbps时,根据其采样率和码率计算得到其对应的当前子带索引表如表1,其中,lc3编码器的预定码率即是lc3编码器在相应配置下的推荐码率。

表1

且在此表中的索引值的单位是50hz。

将lc3编码器编码时的实时频带宽度利用公式bandwidth_50=bandwidth/50进行单位转换,使得实时频带宽度转换值与当前子带索引表中的单位一致,即将实时频带宽度除以索引值的单位得到频带宽度转换值。在上式中bandwidth_50是频带宽度转换值,bandwidth是实时频带宽度,50是当前子带索引表的单位。

将频带宽度转换值与当前子带索引表中的索引值进行对比,直至在当前子带索引表中遍历得到的某一位索引值小于频带宽度转换值并且该位索引值的下一位索引值大于频带宽度转换值,那么该位索引值就是当前子带索引表的索引最大值。

该具体实施例,利用索引值与子带之间的关系,计算得到当前子带索引表的索引最大值,是确定需要进行编码的子带范围的基础。

在图1所示的具体实施方式中,动态调整lc3音频编码速率的方法,还包括步骤s103,利用需要正常编码的子带范围内的频谱系数继续进行编码。

在本发明的一个具体实施例中,在当前子带索引表中索引值大于索引最大值的索引值为非需要编码的索引值范围,索引值小于索引最大值的索引值为需要编码的索引值范围。将需要编码的索引值范围内的所有索引值所对应的频谱系数进行编码,得到lc3编码器调整码率后的编码速率。

该具体实施例,利用当前子带索引表确定需要编码的子带范围,在动态调节lc3编码器码率的同时减少了在降低码率时lc3编码器的计算量,节省了算力,降低了能耗。

在本发明的一个具体实施例中,步骤s103还包括,将在预定码率下的子带索引表中,索引值大于当前子带索引表的索引最大值的索引值对应的频谱系数清零。

在本发明的一个具体实施例中,在进行lc3编码过程中,将在子带表中比索引最大值大的索引值所对应的频谱系数清零,即不对被清零的这部分频谱系数进行标准的lc3编码步骤的相关计算,将在子带表中比索引最大值小的索引值所对应的频谱系数进行标准的lc3编码,并得到调整码率后的lc3编码码流。

该具体实施例,在带宽不足时只编码和传输语音信号最重要的低频成分或低频成分以及中频成分,舍弃中频成分和高频成分或舍弃高频成分,在降低码率的基础上,确保了语音信号的传输通畅和语音信号的音质良好,给用户更好的使用体验,同时进一步减少了lc3编码器的算力。

在本发明的一个具体实施例中,动态调整lc3音频编码速率的方法,还包括利用需要正常编码的子带范围内的频谱系数,继续进行标准lc3编码步骤;或者,利用需要正常编码的子带范围内的频谱系数,继续进行除长期后置滤波步骤之外的其他标准lc3编码步骤。

在本发明的一个具体实例中,在当前频带宽度为相应配置下的最大值时,即当前实时传输速率为相应配置下的最高值时,使能长期后置滤波编码步骤。若频带宽度不是相应配置下的最大值时,不使能长期后置滤波编码步骤。

该具体实施例,在带宽足够时编码并传输所有的频谱成分,在带宽不足时减少编码并传输的频谱成分,降低了算力。同时,该方法在tns步骤中减少了运算,进一步降低了算力需求。

在本发明的一个具体实施例中,动态调整lc3音频编码速率的方法,还包括当实时传输速率等于预定码率时,利用需要正常编码的子带范围内的频谱系数,继续进行标准lc3编码步骤;当实时传输速率小于预定码率时,利用需要正常编码的子带范围内的频谱系数,继续进行除长期后置滤波步骤之外的其他标准lc3编码步骤。

在本发明的一个具体实例中,在当前频带宽度为相应配置下的最大值时,计算得到其对应的推荐码率,并将全部频谱系数进行标准的lc3编码,传输编码为推荐码率的所有频谱成分。当频带宽度不为相应配置下的最大值时,计算得到其对应的调整码率,将需要正常编码的子带范围内的频谱系数进行除长期后置滤波步骤之外的其他标准lc3编码步骤,并将编码成调整码率后的部分频谱成分进行传输。

该具体实施例,通过减少需要量化编码的频谱系数数量,同时不进行对音质影响不大的长期后置滤波器步骤,从而减少了lc3音频在调整码率时在编码过程中的计算量,且不会造成低频段或低频段以及中频段的粗糙谱系数量化导致的量化噪声较大,提升了用户体验感。

图2示出了本发明一种动态调整lc3音频编码速率的装置的具体实施方式。

在该具体实施方式中,一种动态调整lc3音频编码速率的装置主要包括:频带宽度获取模块201,用于根据lc3音频信号传输过程中的实时传输速率确定lc3编码器编码的实时频带宽度;

范围获取模块202,用于根据实时频带宽度设置当前子带索引表的索引最大值,并根据索引最大值计算得到需要正常编码的子带范围;以及,

编码模块203,用于利用需要正常编码的所述子带范围内的频谱系数继续进行编码;

其中,需要正常编码的子带范围包括影响音质的低频段或,低频段以及中频段子带范围。

在本发明的一个具体实施例中,编码模块203,用于利用需要正常编码的子带范围内的子带继续进行编码的模块包括,用于利用需要正常编码的子带范围内的频谱系数,继续进行标准lc3编码步骤的模块;或者,用于利用需要正常编码的子带范围内的频谱系数,继续进行除长期后置滤波步骤之外的其他标准lc3编码步骤的模块。

本发明提供的动态调整lc3音频编码速率的装置,可用于执行上述任一实施例描述的动态调整lc3音频编码速率的方法,其实现原理和技术效果类似,在此不再赘述。

在本发明的一个具体实施例中,本发明动态调整lc3音频编码速率的装置中各功能模块可直接在硬件中、在由处理器执行的软件模块中或在两者的组合中。

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

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

在本发明的另一个具体实施方式中,一种计算机可读存储介质,其存储有计算机指令,计算机指令被操作以执行方案一中的动态调整lc3音频编码速率的方法。

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

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

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

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜