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

高分辨率音频编解码的制作方法

2021-08-24 16:22:00 来源:中国专利 TAG:信号处理 信号 效率 音频 提高
高分辨率音频编解码的制作方法

本发明涉及一种信号处理,并且更具体地涉及提高音频信号编解码的效率。



背景技术:

高分辨率(hi-res)音频(也称为高清音频或hd音频)是一些录制音乐零售商和高保真声音再现设备供应商使用的营销术语。最简单地说,高分辨率音频往往是指采样频率和/或位深度比压缩光盘(cd)的采样频率和/或位深度(被指定为16位/44.1khz)高的音乐文件。主要要求保护的高分辨率音频文件的优点是优于压缩音频格式的出色的声音质量。随着文件上播放的信息越来越多,高分辨率音频趋向于拥有更多的细节和质感,使听众更接近原始演奏。

高分辨率音频有一个缺点:文件大小。高分辨率文件的大小通常为数十兆字节,并且一些磁道可很快耗尽设备上的存储空间。尽管存储比以前便宜很多,但是在不压缩的情况下,文件的大小问题仍然使高分辨率音频难以通过wi-fi或移动网络进行流媒体传输。



技术实现要素:

在一些实现方式中,说明书描述了用于提高音频信号编解码的效率的技术。

在第一种实现方式中,一种用于执行长期预测(ltp)的方法包括:对于至少预定数量的帧,确定输入音频信号的基音增益和基音周期;对于至少所述预定数量的帧,确定所述输入音频信号的所述基音增益已经超过预定阈值,并且确定所述输入音频信号的所述基音周期的变化已经在预定范围内;以及,对于至少所述预定数量的帧,响应于确定所述输入音频信号的基音增益已经超过所述预定阈值,并且确定所述基音周期的所述变化已经在所述预定范围内,为所述输入音频信号的当前帧设置基音增益,以改善封装丢包隐藏(plc)。

在第二种实现方式中,一种电子设备包括:非瞬时性存储器,包括指令,以及一个或多个与所述存储器通信的硬件处理器,其中,所述一个或多个硬件处理器执行所述指令以:对于至少预定数量的帧,确定输入音频信号的基音增益和基音周期;对于至少所述预定数量的帧,确定所述输入音频信号的所述基音增益已经超过预定阈值,并且确定所述输入音频信号的所述基音周期的变化已经在预定范围内;以及,对于至少所述预定数量的帧,响应于确定所述输入音频信号的基音增益已经超过所述预定阈值,并且确定所述基音周期的所述变化已经在所述预定范围内,为所述输入音频信号的当前帧设置基音增益,以改善plc。

在第三种实现方式中,一种非瞬时性计算机可读介质,存储用于执行ltp的计算机指令,所述指令在由一个或多个硬件处理器执行时,使所述一个或多个硬件处理器执行包括以下的操作:对于至少预定数量的帧,确定输入音频信号的基音增益和基音周期;对于至少所述预定数量的帧,确定所述输入音频信号的所述基音增益已经超过预定阈值,并且确定所述输入音频信号的所述基音周期的变化已经在预定范围内;以及,对于至少所述预定数量的帧,响应于确定所述输入音频信号的基音增益已经超过所述预定阈值,并且确定所述基音周期的所述变化已经在所述预定范围内,为所述输入音频信号的当前帧设置基音增益,以改善plc。

先前描述的实现方式可使用以下各项来实现:计算机实现的方法;非瞬时性计算机可读介质,存储用于执行计算机实现的方法的计算机可读指令;以及计算机实现的系统,包括计算机存储器,所述计算机存储器与硬件处理器可互操作地耦合,所述硬件处理器被配置为执行所述计算机实现的方法和存储在所述非瞬时性计算机可读介质上的指令。

本说明书的主题的一个或多个实施例的细节在附图和以下描述中阐述。根据说明书、附图和权利要求书,本主题的其他特征、方面和优点将变得显而易见。

附图说明

图1示出了根据一些实现方式的低延迟和低复杂度高分辨率编解码(l2hc)编码器的示例结构。

图2示出了根据一些实现方式的l2hc解码器的示例结构。

图3示出了根据一些实现方式的低低频带(llb)编码器的示例结构。

图4示出了根据一些实现方式的llb解码器的示例结构。

图5示出了根据一些实现方式的低高频带(lhb)编码器的示例结构。

图6示出了根据一些实现方式的lhb解码器的示例结构。

图7示出了根据一些实现方式的用于高低频带(hlb)和/或高高频带(hhb)子带的编码器的示例结构。

图8示出了根据一些实现方式的用于hlb和/或hhb子带的解码器的示例结构。

图9示出了根据一些实现方式的高基音信号的示例频谱结构。

图10示出了根据一些实现方式的高基音检测的示例过程。

图11是示出根据一些实现方式的执行高基音信号的感知加权的示例方法的流程图。

图12示出了根据一些实现方式的残差量化编码器的示例结构。

图13示出了根据一些实现方式的残差量化解码器的示例结构。

图14是示出根据一些实现方式的对信号执行残差量化的示例方法的流程图。

图15示出了根据一些实现方式的有声语音的示例。

图16示出了根据一些实现方式的执行长期预测(ltp)控制的示例过程。

图17示出了根据一些实现方式的音频信号的示例频谱。

图18是示出根据一些实现方式的执行长期预测(ltp)的示例方法的流程图。

图19是示出了根据一些实现方式的量化线性预测编解码(lpc)参数的示例方法的流程图。

图20示出了根据一些实现方式的音频信号的示例频谱。

图21是示出根据一些实现方式的电子设备的示例结构的示图。

在各个附图中,相同的附图标记和名称指示相同的元件。

具体实施方式

首先,应该理解的是,尽管下面提供一个或多个实施例的说明性实现方式,但是所公开的系统和/或方法可使用任何数量的(无论是当前已知的还是存在的)技术来实现。本发明绝不应该限于以下示出的示例性实现方式、附图和技术,包括本文中示出和描述的示例性设计和实现方式,而是可在所附权利要求的范围及其等同物的全部范围内进行修改。

高分辨率(hi-res)音频(也称为高清音频或hd音频)是一些录制音乐零售商和高保真声音再现设备供应商使用的营销术语。由于更多产品、流媒体服务甚至支持高分辨率标准的智能手机的发布,高分辨率音频已逐渐也必定会成为主流。然而,与高清视频不同,高分辨率音频没有统一的通用标准。数字娱乐集团、美国消费电子协会和美国唱片学院以及唱片公司将高分辨率音频正式定义为:“能够从比cd音质更好的音乐源制作的录音中再现出完整的声音的无损音频。”最简单地说,高分辨率音频往往是指采样频率和/或位深度比压缩光盘(cd)的采样频率和/或位深度(被指定为16位/44.1khz)高的音乐文件。采样频率(或采样率)是指在模数转换过程中每秒采样信号的次数。在第一种情况下,位数越多,可越准确地测量信号。因此,位深度从16位到24位可带来质量上的显著提升。高分辨率音频文件通常在24位上使用96khz(甚至更高)的采样频率。在一些情况下,也可将88.2khz的采样频率用于高分辨率音频文件。还具有标记hd音频的44.1khz/24位记录。

有几种不同的高分辨率音频文件格式,它们具有自己的兼容性要求。能够存储高分辨率音频的文件格式包括流行的免费无损音频编解码器(flac)和苹果无损音频编解码器(alac)格式,这两种格式都经过压缩,但理论上说,其压缩方式不会丢失任何信息。其他格式包括未压缩的wav和aiff格式、dsd(用于超级音频cd的格式)和最新的母带质量认证(mqa)。以下是主要文件格式的细分:

wav(高分辨率):所有cd编码的标准格式。出色的音质,但未压缩,因此文件较大(特别是高分辨率文件)。它对元数据的支持不佳(即专辑封面、艺术家和歌曲标题信息)。

aiff(高分辨率):支持apple的wav替代格式,具有更好的元数据支持。它是无损且未压缩的(因此,文件较大),但使用并不广泛。

flac(高分辨率):这种无损压缩格式支持高分辨率采样率,占用wav大约一半的空间,并存储元数据。它是免版税的,并且得到了广泛的支持(但apple不支持),并且被视为下载和存储高分辨率专辑的首选格式。

alac(高分辨率):apple自己的无损压缩格式,也具有高分辨率,存储元数据并占用wav一半的空间。支持itunes和ios,是flac的替代格式。

dsd(高分辨率):用于超级音频cd的单个位格式。它有2.8mhz、5.6mhz和11.2mhz版本,但并未得到广泛支持。

mqa(高分辨率):无损压缩格式,可打包高分辨率文件,并且更关注时域。它用于tidalmasters高分辨率流媒体传输,但对产品的支持有限。

mp3(非高分辨率):流行的有损压缩格式,确保文件较小,但远达不到最佳音质。方便在智能手机和ipod上存储音乐,但不支持高分辨率。

aac(非高分辨率):mp3的替格式,有损且经过压缩,但音质更好。用于itunes下载,applemusic流媒体传输(256kbps)和youtube流媒体传输。

主要要求保护的高分辨率音频文件的优点是优于压缩音频格式的出色的声音质量。从amazon和itunes等网站下载的内容以及spotify等流媒体服务使用的码率较低的压缩文件格式,例如applemusic上的256kbpsaac文件和spotify上的320kbpsoggvorbis流。使用有损压缩意味着在编码过程中会丢失数据,这又意味着为了方便起见和缩小文件大小而牺牲了分辨率。这会对音质产生影响。例如,最高质量的mp3的码率为320kbps,而24位/192khz的文件的数据速率为9216kbps。音乐cd的码率为1411kbps。因此,高分辨率24位/96khz或24位/192khz文件应更接近地复制音乐家和工程师在录音室中使用的音质。随着文件上播放的信息越来越多,高分辨率音频趋向于拥有更多的细节和质感,使听众更接近原始演奏——前提是播放系统足够透明。

高分辨率音频有一个缺点:文件大小。高分辨率文件的大小通常为数十兆字节,并且一些磁道可很快耗尽设备上的存储空间。尽管存储比以前便宜很多,但是在不压缩的情况下,文件的大小问题仍然使高分辨率音频难以通过wi-fi或移动网络进行流媒体传输。

存在各种各样可播放和支持高分辨率音频的产品。这完全取决于系统的大小、预算多少,以及主要使用哪种方法收听音乐。下面介绍了支持高分辨率音频的产品的一些示例。

智能手机

智能手机越来越多地支持高分辨率播放。不过,这仅限于android旗舰机型,例如当前的samsunggalaxys9和s9 和note9(它们都支持dsd文件)以及sony的xperiaxz3。支持lg的v30和v30sthinq高分辨率的手机目前具有mqa兼容性,而samsung的s9手机甚至支持杜比全景声(dolbyatmos)。到目前为止,appleiphone尚不支持高分辨率音频,但是可通过使用适当的应用程序然后插入数模转换器(dac)或使用具有iphone的闪电连接器的闪电耳机来解决此问题。

平板电脑

一些平板电脑也支持高分辨率播放,其中包括samsunggalaxytabs4等。在mwc2018上,推出了许多新的兼容机型,包括华为的m5系列和onkyo的引人入胜的granbeat平板电脑。

便携式音乐播放器

或者,还有专用的便携式高分辨率音乐播放器,例如各种sony随身听和屡获殊荣的astell&kern便携式播放器。与多任务智能手机相比,这些音乐播放器提供更多的存储空间和更好的音质。同时它与传统的便携式设备明显不同,极其昂贵的sonydmp-z1数字音乐播放器中可以塞满高清晰度和直接数字流(dsd)音乐。

台式电脑

对于台式电脑解决方案,笔记本电脑(windows、mac、linux)是存储和播放高分辨率音乐的主要来源(毕竟,无论如何,是在电脑上从高分辨率下载站点下载音乐)。

dac

usb或台式dac(例如cyrussoundkey或chordmojo)是从存储在计算机或智能手机(其音频电路并未针对音质进行优化)上的高分辨率文件中获得出色音质的好方法。只需在源与耳机之间插入合适的数模转换器(dac),即可立即提升音质。

未压缩的音频文件将全部音频输入信号编码为数字格式,该格式能够存储满负载的输入数据。它们提供最高的质量和存档功能,但以文件较大为代价,从而在许多情况下阻碍了它们的广泛使用。无损编码是未压缩与有损之间的中间地带。它与未压缩的音频文件的音频质量相似或相同,但大小减小。无损编解码器通过在解码端恢复未压缩信息之前,在编码端以非破坏性方式压缩输入音频来实现此目的。对于许多应用程序而言,无损编码音频的文件大小仍然太大。有损文件的编码方式与未压缩或无损文件的编码方式不同。在有损编码技术中,模数转换的基本功能保持不变。有损与未压缩有所不同。有损编解码器会丢弃原始声波中包含的大量信息,同时尝试使主观音频质量尽可能接近原始声波。因此,有损音频文件要比未压缩的音频文件小得多,从而可在现场音频场景中使用。如果有损音频文件与未压缩音频文件之间没有主观质量差异,则可将有损音频文件的质量视为“透明”。最近,已经开发了几种高分辨率有损音频编解码器,其中最受欢迎的是ldac(sony)和aptx(qualcomm)。lhdc(savitech)也是其中之一。

与以往相比,最近,消费者和高端音频公司有关蓝牙音频的讨论持续不断。无论是无线耳机、免提耳塞、汽车还是联网家庭,高质量蓝牙音频的用例越来越多。许多公司提供的解决方案超出了即用型蓝牙解决方案的一般性能。qualcomm的aptx已经覆盖了许多android手机,而多媒体巨头sony拥有自己的高端解决方案,称为ldac。这项技术以前仅在sony的xperia系列手机中可用,但是随着android8.0oreo的推出,如果其他oem愿意,蓝牙编解码器将作为核心aosp代码的一部分提供给其他oem实现。在最基本的层面上,ldac支持通过蓝牙无线传输24位/96khz(高分辨率)音频文件。最接近的具有竞争力的编解码器是qualcomm的aptxhd,它支持24位/48khz音频数据。ldac具有三种不同类型的连接模式:质量优先级、正常和连接优先级。这些中的每一个都提供不同的码率,分别为990kbps、660kbps和330kbps。因此,根据可用的连接类型,质量会有所不同。很明显,ldac的最低码率并不能提供ldac所拥有的完整的24位/96khz音质。ldac是sony开发的一种音频编解码技术,它允许通过蓝牙连接以高达990kbit/s的速度传输24位/96khz的音频。sony的各种产品都使用这种技术,包括耳机、智能手机、便携式媒体播放器、有源扬声器和家庭影院。ldac是一种有损编解码器,它采用基于mdct的编解码方案来提供更高效的数据压缩。ldac的主要竞争对手是qualcomm的aptx-hd技术。高质量标准低复杂度子带编解码器(sbc)的最大时钟频率为328kbps,qualcomm的aptx的时钟频率为352kbps,而aptxhd的时钟频率为576kbps。理论上,990kbpsldac传输的数据比其他任何蓝牙编解码器都要多。而且,甚至低端连接优先级设置也可与sbc和aptx不相上下,这将迎合那些使用最流行的服务播放音乐的人群。sony的ldac有两个主要部分。第一部分是实现足够高的蓝牙传输速度以达到990kbps,第二部分是在质量损失最小的情况下将高分辨率音频数据压缩到此带宽中。ldac利用蓝牙的可选增强数据速率(edr)技术来提高数据速度,使其超出通常的高级音频分发配置文件规范(a2dp)配置文件限制。但这取决于硬件。a2dp音频配置文件通常不使用edr速度。

最初的aptx算法基于时域自适应差分脉冲编解码调制(adpcm)原理,而没有心理声学听觉掩盖技术。qualcomm的aptx音频编解码首先作为一种半导体产品进入商业市场,这是一种定制编程的dsp集成电路,零件名称为aptx100ed,最初由广播自动化设备制造商采用,他们需要一种方式来将cd质量的音频存储在计算机硬盘驱动器上,用于在广播节目中自动播放,例如,从而代替了唱片节目主持人的任务。自20世纪90年代初期在商业上推出以来,随着知识产权以软件、固件和可编程硬件的形式用于专业音频、电视和无线电广播以及消费类电子产品,尤其是在无线音频、用于游戏和视频的低延迟无线音频以及ip音频中的应用,用于实时音频数据压缩的aptx算法的范围不断扩大。此外,可使用aptx编解码器代替子带编解码(sbc),所述子带编解码是由bluetoothsig对蓝牙a2dp(短距离无线区域网络标准)规定的有损立体声/单声道音频流的子带编解码方案。高性能蓝牙外围设备支持aptx。如今,许多广播设备制造商在isdn和ip音频编解码器硬件中都使用了标准aptx和增强型aptx(e-aptx)。2007年,以aptxlive的形式向aptx系列添加了另一种组件,可提供高达8:1的压缩比。aptx-hd是一种有损但可扩展的自适应音频编解码器,于2009年4月发布。在2010年被csrplc收购之前,aptx被称为apt-x。随后,csr于2015年8月被qualcomm收购。aptx音频编解码器用于消费类和汽车无线音频应用,尤其是通过“源”设备(例如智能手机、平板电脑或笔记本电脑)与“水槽”配件(例如,蓝牙立体声扬声器、耳机或头戴式耳机)之间的蓝牙a2dp连接/配对来对有损立体声音频进行实时流媒体传输。该技术必须与发送器和接收器结合,来获得aptx音频编解码优于蓝牙标准规定的默认子带编解码(sbc)的声音优势。增强型aptx为专业音频广播应用提供4:1压缩比的编解码,适用于am、fm、dab和hd无线电。

增强型aptx支持16、20或24位的位深度。对于以48khz采样的音频,e-aptx的码率是384kbit/s(双信道)。aptx-hd的码率为576kbit/s。它支持高达48khz采样率的高清音频和高达24位的样本分辨率。顾名思义,编解码器仍然被认为是有损的。然而,对于必须将平均或峰值压缩数据速率限制在受限水平的应用,允许使用“混合”编解码方案。这涉及对由于带宽限制而无法进行完全无损编解码的那些音频部分进行“近无损”编解码的动态应用。“近无损”编解码可保持高清音频质量,保留高达20khz的音频频率和至少120db的动态范围。它的主要竞争对手是sony开发的ldac编解码器。aptx-hd中的另一个可扩展参数是编解码延迟。它可与其他参数(例如压缩级别和计算复杂度)进行动态交易。

lhdc代表低延迟和高清音频编解码器,由savitech发布。与蓝牙sbc音频格式相比,lhdc可传输3倍以上的数据,以便提供最真实、最高清的无线音频,并且在无线和有线音频设备之间不会再出现音频质量差异。传输数据的增加使用户可体验更多的细节和更好的声场,并沉浸在音乐的情感中。然而,对于许多实际应用而言,超过3倍的sbc数据速率可能会太高。

图1示出了根据一些实现方式的低延迟和低复杂度高分辨率编解码(l2hc)编码器100的示例结构。图2示出了根据一些实现方式的l2hc解码器200的示例结构。通常,l2hc可以相当低的码率提供“透明”质量。在一些情况下,编码器100和解码器200可在信号编解码器设备中实现。在一些情况下,编码器100和解码器200可在不同的设备中实现。在一些情况下,编码器100和解码器200可在任何合适的设备中实现。在一些情况下,编码器100和解码器200可具有相同的算法延迟(例如,相同的帧大小或相同数量的子帧)。在一些情况下,样本中的子帧大小可以是固定的。例如,如果采样率为96khz或48khz,则子帧大小可为192或96个样本。每个帧可具有1、2、3、4或5个子帧,这些子帧对应于不同的算法延迟。在一些示例中,当编码器100的输入采样率是96khz时,解码器200的输出采样率可以是96khz或48khz。在一些示例中,当采样率的输入采样率是48khz时,解码器200的输出采样率也可以是96khz或48khz。在一些情况下,如果编码器100的输入采样率是48khz并且解码器200的输出采样率是96khz,则人为地添加高频带。

在一些示例中,当编码器100的输入采样率是88.2khz时,解码器200的输出采样率可以是88.2khz或44.1khz。在一些示例中,当编码器100的输入采样率是44.1khz时,解码器200的输出采样率也可以是88.2khz或44.1khz。类似地,当编码器100的输入采样率是44.1khz并且解码器200的输出采样率是88.2khz时,也可人为地添加高频带。它是用于编码96khz或88.2khz输入信号的相同编码器。它也是用于编码48khz或44.1khz输入信号的相同编码器。

在一些情况下,在l2hc编码器100处,输入信号位深度可以是32b、24b或16b。在l2hc解码器200处,输出信号位深度也可以是32b、24b或16b。在一些情况下,编码器100的编码器位深度和解码器200的解码器位深度可不同。

在一些情况下,可在编码器100中设置编解码模式(例如,abr_mode),并且可在运行期间实时地对其进行修改。在一些情况下,abr_mode=0表示高码率,abr_mode=1表示中码率,abr_mode=2表示低码率。在一些情况下,可通过花费2位通过码流信道将abr_mode信息发送到解码器200。信道的默认数量可以是立体声的(两个信道),就像蓝牙耳机应用一样。在一些示例中,abr_mode=2的平均码率可以是370到400kbps,abr_mode=1的平均码率可以是450到550kbps,abr_mode=0的平均码率可以是550到710kbps。在一些情况下,所有情况/模式的最大即时码率都可能小于990kbps。

如图1所示,编码器100包括预加重滤波器104、正交镜滤波器(qmf)分析滤波器组106、低低频带(llb)编码器118、低高频带(lhb)编码器120、高低频带(hlb)编码器122、高高频带(hhb)编码器123和多路复用器126。原始输入数字信号102首先由预加重滤波器104进行预加重。在一些情况下,预加重滤波器104可以是常量高通滤波器。预加重滤波器104对于大多数音乐信号是有帮助的,因为大多数音乐信号包含比高频带能量高得多的低频带能量。高频带能量的增加可提高高频带信号的处理精度。

预加重滤波器104的输出通过qmf分析滤波器组106生成四个子带信号:llb信号110、lhb信号112、hlb信号114和hhb信号116。在一个示例中,原始输入信号以96khz的采样率生成。在该示例中,llb信号110包括0khz-12khz的子带,lhb信号112包括12khz-24khz的子带,hlb信号114包括24khz-36khz的子带,并且hlb信号116包括36khz-48khz的子带。如图所示,四个子带信号中的每一个子带信号分别由llb编码器118、lhb编码器120、hlb编码器122和hlb编码器124编码,以生成编码子带信号。四个编码信号可由多路复用器126多路复用以生成编码音频信号。

如图2所示,解码器200包括llb解码器204、lhb解码器206、hlb解码器208、hhb解码器210、qmf合成滤波器组212、后处理组件214和去加重滤波器216。在一些情况下,llb解码器204、lhb解码器206、hlb解码器208和hhb解码器210中的每一个可分别从信道202接收编码子带信号,并生成解码子带信号。来自四个解码器204-210的解码子带信号可通过qmf合成滤波器组212重新相加以生成输出信号。如果需要,可由后处理组件214对输出信号进行后处理,然后由去加重滤波器216对其进行去加重,以生成解码音频信号218。在一些情况下,去加重滤波器216可以是常量滤波器,并且可以是加重滤波器104的逆滤波器。在一个示例中,解码音频信号218可由解码器200以与编码器100的输入音频信号(例如,音频信号102)相同的采样率生成。在该示例中,以96khz的采样率生成解码音频信号218。

图3和图4分别示出了llb编码器300和llb解码器400的示例结构。如图3所示,llb编码器300包括高频谱倾斜检测组件304、倾斜滤波器306、线性预测编解码(lpc)分析组件308、逆lpc滤波器310、长期预测(ltp)条件组件312、高基音检测组件314、加权滤波器316、快速ltp贡献组件318、加法函数单元320、码率控制组件322、初始残差量化组件324、码率调整组件326和快速量化优化组件328。

如图3所示,llb子带信号302首先通过由频谱倾斜检测组件304控制的倾斜滤波器306。在一些情况下,由倾斜滤波器306生成经倾斜滤波的llb信号。然后可由lpc分析组件308对经倾斜滤波的llb信号进行lpc分析,以在llb子带中生成lpc滤波器参数。在一些情况下,lpc滤波器参数可被量化并且被发送到llb解码器400。逆lpc滤波器310可用于对经倾斜滤波的llb信号进行滤波并生成llb残差信号。在该残差信号域中,为高基音信号添加了加权滤波器316。在一些情况下,可根据高基音检测组件314的高基音检测来打开或关闭加权滤波器316,稍后将对所述高基音检测组件进行详细说明。在一些情况下,加权滤波器316可生成加权的llb残差信号。

如图3所示,加权的llb残差信号成为参考信号。在一些情况下,当原始信号中存在很强的周期性时,快速ltp贡献组件318可基于ltp条件312引入ltp(长期预测)贡献。在编码器300中,可通过加法函数单元320从加权的llb残差信号中减去ltp贡献,以生成第二加权的llb残差信号,该第二加权的llb残差信号成为用于初始llb残差量化组件324的输入信号。在一些情况下,初始llb残差量化组件324的输出信号可由快速量化优化组件328处理以生成量化的llb残差信号330。在一些情况下,量化的llb残差信号330连同ltp参数(当存在ltp时)可通过码流信道被发送到llb解码器400。

图4示出了llb解码器400的示例结构。如图所示,llb解码器400包括量化残差组件406、快速ltp贡献组件408、ltp切换标志组件410、加法函数单元414、逆加权滤波器416、高基音标志组件420、lpc滤波器422、逆倾斜滤波器424和高频谱倾斜标记组件428。在一些情况下,可由加法函数单元414将来自量化残差组件406的量化残差信号、来自快速ltp贡献组件408的ltp贡献信号相加在一起,以生成加权的llb残差信号作为逆加权滤波器416的输入信号。

在一些情况下,逆加权滤波器416可用于除去加权并恢复llb量化残差信号的频谱平坦度。在一些情况下,逆加权滤波器416可生成恢复的llb残差信号。恢复的llb残差信号可再次由lpc滤波器422滤波,以在信号域中生成llb信号。在一些情况下,如果在llb编码器300中存在倾斜滤波器(例如,倾斜滤波器306),则llb解码器400中的llb信号可由受高频谱条带标记组件428控制的逆倾斜滤波器424进行滤波。在一些情况下,经解码的llb信号430可由逆倾斜滤波器424生成。

图5和图6示出了lhb编码器500和lhb解码器600的示例结构。如图5所示,lhb编码器500包括lpc分析组件504、逆lpc滤波器506、码率控制组件510、初始残差量化组件512和快速量化优化组件514。在一些情况下,lpc分析组件504可对lph子带信号502进行lpc分析,以在lhb子带中生成lpc滤波器参数。在一些情况下,lpc滤波器参数可被量化并发送到lhb解码器600。lhb子带信号502可由编码器500中的逆lpc滤波器506滤波。在一些情况下,llp残差信号可由逆lpc滤波器506生成。成为lhb残差量化的输入信号的lhb残差信号可由初始残差量化组件512和快速量化优化组件514处理,以生成量化的lhb残差信号516。在一些情况下,量化的lhb残差信号516可随后被发送到lhb解码器600。如图6所示,可由用于lhb子带的lpc滤波器606处理从位602获得的量化残差604,以生成解码的lhb信号608。

图7和图8示出了用于hlb和/或hhb子带的编码器700和解码器800的示例结构。如图所示,编码器700包括lpc分析组件704、逆lpc滤波器706、码率切换组件708、码率控制组件710、残差量化组件712和能量包络量化组件714。通常,hlb和hhb都位于相对较高的频率区域。在一些情况下,它们以两种可能的方式进行编码和解码。例如,如果码率足够高(例如,对于96khz/24位立体声编解码,高于700kbps),则它们可像lhb一样被编码和解码。在一个示例中,可通过lpc分析组件704对hlb或hlb子带信号702进行lpc分析,以在hlb或hlb子带中生成lpc滤波器参数。在一些情况下,lpc滤波器参数可被量化并且被发送到hlb或hhb解码器800。hlb或hlb子带信号702可由逆lpc滤波器706滤波以生成hlb或hlb残差信号。成为残差量化的目标信号的hlb或hlb残差信号可由残差量化组件712处理,以生成量化的hlb或hlb残差信号716。量化的hlb或hlb残差信号716可随后被发送到解码器侧(例如,解码器800),并由残差解码器806和lpc滤波器812进行处理,以生成解码的hlb或hlb信号814。

在一些情况下,如果码率相对较低(例如,对于96khz/24位立体声编解码,低于500kbps),则由用于hlb或hhb子带的lpc分析组件704生成的lpc滤波器的参数仍可被量化并且被发送到解码器侧(例如,解码器800)。然而,hlb或hlb残差信号可在不花费任何位的情况下生成,并且仅残差信号的时域能量包络被量化并以非常低的码率(例如,小于3kbps,对能量包络进行编码)发送到解码器。在一个示例中,能量包络量化组件714可从逆lpc滤波器接收hlb或hhb残差信号,并生成可随后发送到解码器800的输出信号。然后,来自编码器700的输出信号可由能量包络解码器808和残差生成组件810处理,以生成到lpc滤波器812的输入信号。在一些情况下,lpc滤波器812可从残差生成组件810接收hlb或hlb残差信号,并生成解码的hlb或hlb信号814。

图9示出了高基音信号的示例频谱结构900。通常,正常语音信号很少具有相对较高的基音频谱结构。然而,音乐信号和歌声信号通常包含高基音频谱结构。如图所示,频谱结构900包括相对较高的第一谐波频率f0(例如,f0>500hz)和相对较低的背景频谱级。在这种情况下,具有频谱结构900的音频信号可被认为是高基音信号。在高基音信号的情况下,由于缺乏听觉掩蔽效应,很容易听到0hz与f0之间的编解码误差。只要f1和f2的峰值能量是正确的,该误差(例如,f1与f2之间的误差)就可被f1和f2掩蔽。然而,如果码率不够高,则可能无法避免编解码误差。

在一些情况下,在ltp中找到正确的短基音(高基音)周期可帮助改善信号质量。然而,这可能不足以实现“透明”质量。为了以鲁棒的方式改善信号质量,可引入自适应加权滤波器,该自适应加权滤波器增强了非常低的频率并减少了在非常低的频率下的编解码误差,但是代价是增加了在更高的频率下的编解码误差。在一些情况下,自适应加权滤波器(例如,加权滤波器316)可以是如下所示的一阶极点滤波器:

并且逆加权滤波器(例如,逆加权滤波器416)可以是如下所示的一阶零滤波器:

wd(z)=1-a*z-1

在一些情况下,可示出自适应加权滤波器来改善高基音情况。然而,这可能会降低其他情况下的质量。因此,在一些情况下,可基于对高基音情况的检测(例如,使用图3的高基音检测组件314)来打开和关闭自适应加权滤波器。有很多方法可检测高基音信号。下面参考图10描述一种方式。

如图10所示,高基音检测组件1010可使用四个参数,包括当前基音增益1002、平滑的基音增益1004、基音周期长度1006和频谱倾斜1008,以确定是否存在高基音信号。在一些情况下,基音增益1002指示信号的周期性。在一些情况下,平滑的基音增益1004表示基音增益1002的归一化值。在一个示例中,如果归一化的基音增益(例如,平滑的基音增益1004)在0与1之间,则归一化的基音增益的高值(例如,当归一化的基音增益接近1时)可指示在频谱域中存在强谐波。平滑的基音增益1004可指示周期性是稳定的(不仅仅是局部的)。在一些情况下,如果基音周期长度1006较短(例如,小于3ms),则意味着一次谐波频率f0较大(高)。可通过在一个样本距离处的分段信号相关性或lpc参数的第一反射系数来测量频谱倾斜1008。在一些情况下,频谱倾斜1008可用于指示非常低的频率区域是否包含大量能量。如果在非常低的频率区域(例如,频率低于f0)中的能量相对较高,则可能不存在高基音信号。在一些情况下,当检测到高基音信号时,可应用加权滤波器。否则,当未检测到高基音信号时,可能不会应用加权滤波器。

图11是示出执行高基音信号的感知加权的示例方法1100的流程图。在一些情况下,方法1100可由音频编解码器设备(例如,llb编码器300)实现。在一些情况下,方法1100可由任何合适的设备来实现。

方法1100可在框1102处开始,在框1102中,接收信号(例如,图1的信号102)。在一些情况下,该信号可以是音频信号。在一些情况下,信号可包括一个或多个子带分量。在一些情况下,信号可包括llb分量、lhb分量、hlb分量和hhb分量。在一个示例中,信号可以96khz的采样率生成并且具有48khz的带宽。在该示例中,信号的llb分量可包括0khz-12khz的子带,lhb分量可包括12khz-24khz的子带,hlb分量可包括24khz-36khz的子带,并且hlb分量可包括36khz-48khz的子带。在一些情况下,可通过预加重滤波器(例如,预加重滤波器104)和qmf分析滤波器组(例如,qmf分析滤波器组106)来处理信号,以在四个子带中生成子带信号。在该示例中,可分别为四个子带生成llb子带信号、lhb子带信号、hlb子带信号和hhb子带信号。

在框1104中,基于一个或多个子带信号中的至少一个子带信号,生成一个或多个子带信号中的至少一个子带信号的残差信号。在一些情况下,可以对一个或多个子带信号中的至少一个子带信号进行倾斜滤波以生成倾斜滤波信号。在一个示例中,一个或多个子带信号中的至少一个子带信号可包括llb子带中的子带信号(例如,图3的llb子带信号302)。在一些情况下,可通过逆lpc滤波器(例如,逆lpc滤波器310)进一步处理经倾斜滤波的信号,以生成残差信号。

在框1106中,确定一个或多个子带信号中的至少一个子带信号是高基音信号。在一些情况下,基于当前基音增益、平滑的基音增益、基音周期长度或一个或多个子带信号中的至少一个子带信号的频谱倾斜中的至少一个来将一个或多个子带信号的至少一个确定为高基音信号。

在一些情况下,基音增益指示信号的周期性,并且平滑的基音增益表示基音增益的归一化值。在一些示例中,归一化的基音增益可在0与1之间。在这些示例中,归一化的基音增益的高值(例如,当归一化的基音增益接近1时)可指示在频谱域中存在强谐波。在一些情况下,短基音周期长度是指第一谐波频率(例如,图9的频率f0906)较大(高)。如果第一谐波频率f0相对较高(例如,f0>500hz)并且背景频谱级相对较低(例如,低于预定阈值),则可检测到高基音信号。在一些情况下,可通过在一个样本距离处的分段信号相关性或lpc参数的第一反射系数来测量频谱倾斜。在一些情况下,频谱倾斜可用于指示非常低的频率区域是否包含大量能量。如果在非常低的频率区域(例如,频率低于f0)中的能量相对较高,则可能不存在高基音信号。

在框1108,响应于确定一个或多个子带信号中的至少一个子带信号是高基音信号,对一个或多个子带信号中的至少一个子带信号的残差信号执行加权操作。在一些情况下,当检测到高基音信号时,可将加权滤波器(例如,加权滤波器316)应用于残差信号。在一些情况下,可能会生成加权残差信号。在一些情况下,当未检测到高基音信号时,可能不会执行加权操作。

如所指出,在高基音信号的情况下,由于缺乏听力掩蔽效应,低频区域的编解码误差在感觉上是可感知的。如果码率不够高,则可能无法避免编解码误差。本文所述的自适应加权滤波器(例如,加权滤波器316)和加权方法可用于减少编解码误差并改善低频区域中的信号质量。然而,在一些情况下,这可能会增加较高频率下的编解码误差,这对于高基音信号的感知质量可能并不重要。在一些情况下,可基于检测到高基音信号来有条件地打开和关闭自适应加权滤波器。如上所述,当检测到高基音信号时,可以打开加权滤波器,当未检测到高基音信号时,可以关闭加权滤波器。如此,高基音情况的质量仍可得到改善,同时非高基音情况的质量可不受影响。

在框1110中,基于在框1108中生成的加权残差信号生成量化残差信号。在一些情况下,加权残差信号与ltp贡献可一起被加法函数单元处理以生成第二加权残差信号。在一些情况下,可对第二加权残差信号进行量化以生成量化残差信号,该量化残差信号可进一步发送到解码器侧(例如,图4的llb解码器400)。

图12和图13示出了残差量化编码器1200和残差量化解码器1300的示例结构。在一些示例中,残差量化编码器1200和残差量化解码器1300可用于处理llb子带中的信号。如图所示,残差量化编码器1200包括能量包络编解码组件1204、残差归一化组件1206、第一大步长编解码组件1210、第一精细步长组件1212、目标优化组件1214、码率调整组件1216、第二大步长编解码组件1218和第二精细步长编解码组件1220。

如图所示,可首先由能量包络编解码组件1204处理llb子带信号1202。在一些情况下,llb残差信号的时域能量包络可由能量包络编解码组件1204确定和量化。在一些情况下,可将量化的时域能量包络发送到解码器侧(例如,解码器1300)。在一些示例中,所确定的能量包络在残差域中可具有从12db到132db的动态范围,覆盖非常低的级别和非常高的级别。在一些情况下,一帧中的每个子帧具有一个能级量化,并且该帧中的峰值子帧能量可直接在db域中编解码。同一帧中的其他子帧能量可使用霍夫曼(huffman)编解码方法通过对峰值能量与当前能量之间的差进行编解码来编解码。在一些情况下,由于一个子帧的持续时间可能短至约2ms,基于人耳掩蔽原理,包络精度可能是可接受的。

在具有量化的时域能量包络之后,可通过残差归一化组件1206对llb残差信号进行归一化。在一些情况下,可基于量化的时域能量包络对llb残差信号进行归一化。在一些示例中,可将llb残差信号除以量化的时域能量包络,以生成归一化的llb残差信号。在一些情况下,归一化的llb残差信号可作为初始量化的初始目标信号1208。在一些情况下,初始量化可包括两级编解码/量化。在一些情况下,第一级编解码/量化包括大步长霍夫曼编解码,而第二级编解码/量化包括精细步长统一编解码。如图所示,可首先由大步长霍夫曼编解码组件1210处理作为归一化的llb残差信号的初始目标信号1208。对于高分辨率音频编解码器,可对每个残差样本进行量化。霍夫曼编解码可通过利用特殊的量化索引概率分布来节省位。在一些情况下,当残差量化步长足够大时,量化索引概率分布变得适合于霍夫曼编解码。在一些情况下,大步长量化的量化结果可能不是最佳的。在霍夫曼编解码之后,可以以较小的量化步长添加统一的量化。如图所示,精细步长统一编解码组件1212可用于量化来自大步长霍夫曼编解码组件1210的输出信号。如此,归一化的llb残差信号的第一级编解码/量化选择相对较大的量化步长,因为量化的编解码索引的特殊分布导致了更高效的霍夫曼编解码,并且第二级编解码/量化使用具有相对较小量化步长的相对简单的统一编解码,以便进一步减少来自第一级编解码/量化的量化误差。

在一些情况下,如果残差量化没有误差或具有足够小的误差,则初始残差信号可能是理想的目标参考。如果编解码码率不够高,则编解码误差可能始终存在并且微不足道。因此,该初始残差目标参考信号1208对于量化可能在感知上不是最佳的。尽管初始残差目标参考信号1208在感知上不是最佳的,但是它可提供快速的量化误差估计,其不仅可用于调整编解码码率(例如,通过码率调整组件1216),而且可用于构建感知优化的目标参考信号。在一些情况下,可由目标优化组件1214基于初始残差目标参考信号1208和初始量化的输出信号(例如,精细步长统一编解码组件1212的输出信号)来生成感知优化的目标参考信号。

在一些情况下,可以通过不仅最小化当前样本的误差影响而且通过最小化先前样本和未来样本的误差影响的方式来构建优化的目标参考信号。此外,它可优化频谱域中的误差分布,以考虑人耳的感知掩蔽效应。

在目标优化组件1214构建了优化的目标参考信号之后,可再次执行第一级霍夫曼编解码和第二级统一编解码,以替换第一(初始)量化结果并获得更好的感知质量。在该示例中,第二大步长霍夫曼编解码组件1218和第二精细步长统一编解码组件1220可用于对优化的目标参考信号执行第一级霍夫曼编解码和第二级统一编解码。初始目标参考信号和优化的目标参考信号的量化将在下面更详细地讨论。

在一些示例中,未量化的残差信号或初始目标残差信号可由ri(n)表示。使用ri(n)作为目标,可对残差信号进行初始量化,以获得记为ri^(n)的第一量化残差信号。基于ri(n)、ri^(n)和感知加权滤波器的脉冲响应hw(n),可评估感知优化的目标残差信号ro(n)。使用ro(n)作为更新或优化的目标,可再次量化残差信号以得到记为ro^(n)的第二量化残差信号,该信号已进行感知优化以替代第一量化残差信号ri^(n)。在一些情况下,hw(n)可以通过多种可能的方式来确定,例如,通过基于lpc滤波器估计hw(n)。

在一些情况下,用于llb子带的lpc滤波器可表示为:

感知加权滤波器w(z)可定义为:

其中,α是常数系数,0<α<1。γ可以是lpc滤波器的第一反射系数,也可以是常数,-1<γ<1。滤波器w(z)的脉冲响应可定义为hw(n)。在一些情况下,hw(n)的长度取决于α和γ的值。在一些情况下,当α和γ接近零时,hw(n)的长度变短并迅速衰减为零。从计算复杂度的角度来看,最佳的是具有短的脉冲响应hw(n)。如果hw(n)不够短,则可将其乘以半汉明(hamming)窗或半汉宁(hanning)窗,以使hw(n)快速衰减至零。在具有脉冲响应hw(n)之后,感知加权信号域中的目标可以表示为:

tg(n)=ri(n)*hw(n)=∑kri(k)·hw(n-k)(3)

这是ri(n)与hw(n)之间的卷积。初始量化残差在感知加权信号域中的贡献可表示为:

残差域中的误差

当在直接残差域中被量化时被最小化。然而,在感知加权信号域中的误差

可能不会被最小化。因此,可能需要在感知加权信号域中将最小化量化误差。在一些情况下,可以联合量化所有残差样本。然而,这可能会产生额外的复杂度。在一些情况下,残差可以通过逐个样本的方式进行量化,并进行感知优化。例如,可对当前帧中的所有样本初始设置ro^(n)=ri^(n)。假设所有样本均已被量化,但m处的样本未被量化,则m处的感知最佳值不是ri(m),而应为

其中,<tg’(n),hw(n)>表示矢量{tg’(n)}与矢量{hw(n)}之间的互相关,其中,矢量长度等于脉冲响应hw(n)的长度,{tg’(n)}的矢量起始点在m处。||hw(n)||是矢量{hw(n)}的能量,它是同一帧中的恒定能量。tg’(n)可表示为:

一旦确定了感知优化的新目标值ro(m),就可将其再次量化,以类似于初始量化的方式生成ro^(m),包括大步长霍夫曼编解码和精细步长统一编解码。然后,m将移至下一个样本位置。逐个样本地重复上述处理,同时用新结果更新表达式(7)和(8),直到对所有样本进行最佳量化。在对每个m的每次更新过程中,由于{ro^(k)}中的大多数样本均未更改,因此无需重新计算表达式(8)。表达式(7)中的分母是一个常数,因此除法可变为一个常数乘法。

在图13所示的解码器侧,通过加法函数单元1306将来自大步长霍夫曼解码1302和精细步长统一解码1304的量化值相加,以形成归一化的残差信号。归一化的残差信号可由能量包络解码组件1308在时域中进行处理以生成解码残差信号1310。

图14是示出对信号执行残差量化的示例方法1400的流程图。在一些情况下,方法1400可由音频编解码器设备(例如,llb编码器300或残差量化编码器1200)实现。在一些情况下,方法1100可由任何合适的设备来实现。

方法1400在框1402处开始,在框1402处,确定输入残差信号的时域能量包络。在一些情况下,输入残差信号可以是llb子带中的残差信号(例如,llb残差信号1202)。

在框1404中,对输入残差信号的时域能量包络进行量化以生成量化的时域能量包络。在一些情况下,可将量化的时域能量包络发送到解码器侧(例如,解码器1300)。

在框1406中,基于量化的时域能量包络对输入残差信号进行归一化以生成第一目标残差信号。在一些情况下,可将llb残差信号除以量化的时域能量包络,以生成归一化的llb残差信号。在一些情况下,归一化的llb残差信号可作为初始量化的初始目标信号。

在框1408中,以第一码率对第一目标残差信号执行第一量化以生成第一量化残差信号。在一些情况下,第一残差量化可包括两级子量化/编解码。可在第一量化步骤处对第一目标残差信号执行第一级子量化,以生成第一子量化输出信号。可在第二量化步骤处对第一子量化输出信号执行第二级子量化,以生成第一量化残差信号。在一些情况下,第一量化步骤的大小大于第二量化步骤的大小。在一些示例中,第一级子量化可以是大步长霍夫曼编解码,而第二级子量化可以是精细步长统一编解码。

在一些情况下,第一目标残差信号包括多个样本。可逐个样本地对第一目标残差信号进行第一量化。在一些情况下,这可降低量化的复杂度,从而提高量化效率。

在框1410中,至少基于第一量化残差信号和第一目标残差信号来生成第二目标残差信号。在一些情况下,可基于第一目标残差信号、第一量化残差信号和感知加权滤波器的脉冲响应hw(n)来生成第二目标残差信号。在一些情况下,可生成感知优化的目标残差信号以用于第二残差量化,该目标残差信号是第二目标残差信号。

在框1412中,以第二码率对第二目标残差信号执行第二残差量化,以生成第二量化残差信号。在一些情况下,第二码率可能与第一码率不同。在一个示例中,第二码率可高于第一码率。在一些情况下,来自以第一码率量化的第一残差量化的编解码误差可能并非微不足道的。在一些情况下,可在第二残差量化时调整(例如,提高)编解码码率以降低编解码率。

在一些情况下,第二残差量化类似于第一残差量化。在一些示例中,第二残差量化还可包括两级子量化/编解码。在这些示例中,可以以大量化步长对第二目标残差信号执行第一级子量化,以生成子量化输出信号。可以以小量化步长对子量化输出信号执行第二级子量化,以生成第二量化残差信号。在一些情况下,第一级子量化可以是大步长霍夫曼编解码,而第二级子量化可以是精细步长统一编解码。在一些情况下,第二量化残差信号可通过码流信道被发送到解码器侧(例如,解码器1300)。

如图3至图4中所示,可有条件地打开和关闭ltp,以获得更好的plc。在一些情况下,当编解码器的码率不足以达到透明质量时,ltp对于周期信号和谐波信号非常有用。对于高分辨率编解码,ltp应用程序可能需要解决两个问题:(1)应该降低计算复杂度,因为传统的ltp在高采样率环境下可能会需要很高的计算复杂度;(2)应限制对丢包隐藏(plc)的负面影响,因为ltp利用帧间相关性,在传输信道中发生丢包时可能会导致错误传播。

在一些情况下,基音周期搜索会为ltp增加额外的计算复杂度。在ltp中可能需要更高效的方式来提高编解码效率。下面参考图15至图16描述基音周期搜索的示例过程。

图15示出了有声语音的示例,其中基音周期1502表示两个相邻周期循环之间的距离(例如,峰值p1与p2之间的距离)。一些音乐信号不仅可能具有很强的周期性,而且可能具有稳定的基音周期(几乎恒定的基音周期)。

图16示出了执行ltp控制以获得更好的丢包隐藏的示例过程1600。在一些情况下,过程1600可由编解码器设备(例如,编码器100或编码器300)来实现。在一些情况下,过程1600可由任何合适的设备来实现。过程1600包括基音周期(以下将简称为“基音”)搜索和ltp控制。通常,由于存在大量的候选基音,基音搜索可能会以传统方式在高采样率下变得复杂。如本文所述的过程1600可包括三个阶段/步骤。在第一阶段/步骤期间,由于周期性主要在低频区域,所以可对信号(例如,llb信号1602)进行低通滤波1604。然后,可对滤波后的信号进行下采样以生成用于快速初始粗基音搜索1608的输入信号。在一个示例中,以2khz的采样率生成下采样的信号。因为在低采样率下的候选基音总数不高,所以通过以低采样率搜索所有候选基音可快速获得粗略的基音结果。在一些情况下,可使用传统方法来完成初始基音搜索1608,该传统方法最大化与短窗口的归一化互相关或最大化与大窗口的自相关。

由于初始基音搜索结果可能相对粗略,因此在多个初始基音附近,使用互相关方法进行精细搜索在高采样率(例如,24khz)下可能仍然很复杂。因此,在第二阶段/步骤(例如,快速精细基音搜索1610)期间,只需在低采样率下查看波峰位置,即可在波形域中提高基音精度。然后,在第三阶段/步骤(例如,优化的查找基音搜索1612)期间,可使用互相关方法在小搜索范围内以高采样率来优化来自第二阶段/步骤的精细基音搜索结果。

例如,在第一阶段/步骤(例如,初始基音搜索1608)期间,可基于已经搜索的所有候选基音来获得初始粗略基音搜索结果。在一些情况下,可基于初始粗略基音搜索结果来定义候选基音邻域,该候选基音邻域可用于第二阶段/步骤,以获得更精确的基音搜索结果。在第二阶段/步骤(例如,快速精细基音搜索1610)期间,可基于在第一阶段/步骤中确定的候选基音并且在候选基音邻域内确定波峰位置。在如图15所示的一个示例中,可在根据初始基音搜索结果定义的有限搜索范围内确定图15中的第一峰值位置p1(例如,候选基音邻域确定为与第一阶段/步骤相差约15%)。图15中的第二峰值位置p2可采用类似方式确定。p1与p2之间的位置差比初始基音估计要精确得多。在一些情况下,从第二阶段/步骤获得的更精确的基音估计可用于定义第二候选基音邻域,该候选基音邻域可在第三阶段/步骤中使用,以查找优化的精细基音周期,例如,该候选基音邻域确定为与第二阶段/步骤相差约15%。在第三阶段/步骤(例如,优化的精细基音搜索1612)期间,可使用归一化互相关方法在很小的搜索范围内(例如,第二候选基音邻域)搜索优化的精细基音周期。

在一些情况下,如果ltp始终打开,则由于在丢失码流数据包时可能发生错误传播,因此plc可能不是最佳的。在一些情况下,当ltp可高效地改善音频质量并且不会对plc产生重大影响时,ltp可以打开。实际上,当基音增益高且稳定时,ltp可能是高效的,这意味着高周期性至少持续几帧(而不仅仅是一帧)。在一些情况下,在高周期性信号区域中,plc相对简单且高效,因为plc始终使用周期性将先前的信息复制到当前丢失的帧中。在一些情况下,稳定的基音周期还可减少对plc的负面影响。稳定的基音周期意味着基音周期值至少在几帧内不会明显变化,从而有可能在不久的将来实现稳定的基音。在一些情况下,当码流数据包的当前帧丢失时,plc可能会使用先前的基音信息来恢复当前帧。如此,稳定的基音周期可有助于当前plc的基音估计。

继续参考图16的示例,在决定打开或关闭ltp之前执行周期性检测1614和稳定性检测1616。在一些情况下,当基音增益稳定为高且基音周期相对稳定时,ltp可以打开。例如,可为高周期性且稳定的帧设置基音增益(例如,基音增益稳定地高于0.8),如框1618所示。在一些情况下,参考图3,可生成ltp贡献信号,并将其与加权残差信号组合以生成用于残差量化的输入信号。另一方面,如果基音增益不稳定为高且/或基音周期不稳定,则ltp可以关闭。

在一些情况下,如果先前针对若干帧打开ltp,则可以针对一个或两个帧关闭ltp,以避免在丢失码流数据包时可能出现错误传播。在一个示例中,如框1620中所示,例如,当先前已经针对若干帧打开ltp时,可将基音增益有条件地重置为零以用于获得更好的plc。在一些情况下,当ltp关闭时,可在可变码率编解码系统中设置更多的编解码码率。在一些情况下,当决定打开ltp时,可对基音增益和基音周期进行量化,并将其发送到解码器侧,如框1622所示。

图17示出了音频信号的示例频谱图。如图所示,频谱图1702示出了音频信号的时频图。频谱图1702被示出为包括许多谐波,这表明音频信号的高周期性。频谱图1704示出了音频信号的原始基音增益。在大多数情况下,基音增益示出为稳定较高,这也表明音频信号具有高周期性。频谱图1706示出了音频信号的平滑的基音增益(基音相关)。在该示例中,平滑的基音增益表示归一化的基音增益。频谱图1708示出基音周期,频谱图1710示出量化的基音增益。在大多数情况下,基音周期示出为相对稳定。如图所示,基音增益已定期重置为零,这表示ltp关闭,以避免错误传播。当ltp关闭时,量化的基音增益也设置为零。

图18是示出执行ltp的示例方法1800的流程图。在一些情况下,方法1400可由音频编解码器设备(例如,llb编码器300)实现。在一些情况下,方法1100可由任何合适的设备来实现。

方法1800开始于框1802,在框1802中,以第一采样率接收输入音频信号。在一些情况下,音频信号可包括多个第一样本,其中,多个第一样本以第一采样率生成。在一个示例中,可以96khz的采样率生成多个第一采样。

在框1804中,对音频信号进行下采样。在一些情况下,可以按第二采样率对音频信号的多个第一采样进行下采样以生成多个第二采样。在一些情况下,第二采样率低于第一采样率。在该示例中,可以2khz的采样率来生成多个第二采样。

在框1806中,以第二采样率确定第一基音周期。因为在低采样率下的候选基音总数不高,所以通过以低采样率搜索所有候选基音可快速获得粗略的基音结果。在一些情况下,可基于以第二采样率生成的多个第二采样来确定多个候选基音。在一些情况下,可基于多个候选基音确定第一基音周期。在一些情况下,可通过最大化与第一窗口的归一化互相关或与第二窗口的自相关来确定第一基音周期,其中,第二窗口大于第一窗口。

在框1808中,基于在框1804中确定的第一基音周期来确定第二基音周期。在一些情况下,可基于第一基音周期来确定第一搜索范围。在一些情况下,可在第一搜索范围内确定第一峰值位置和第二峰值位置。在一些情况下,可基于第一峰值位置和第二峰值位置来确定第二基音周期。例如,第一峰值位置与第二峰值位置之间的位置差可用于确定第二基音周期。

在框1810中,基于在框1808中确定的第二基音周期来确定第三基音周期。在一些情况下,第二基音周期可用于定义可用于查找优化的精细基音周期的候选基音邻域。例如,可基于第二基音周期来确定第二搜索范围。在一些情况下,可以第三采样率在第二搜索范围内确定第三基音周期。在一些情况下,第三采样率高于第二采样率。在该示例中,第三采样率可以是24khz。在一些情况下,可使用归一化互相关方法以第三采样率在第二搜索范围内确定第三基音周期。在一些情况下,第三基音周期可被确定为输入音频信号的基音周期。

在框1812中,对于至少预定数量的帧,确定输入音频信号的基音增益已经超过预定阈值,并且确定输入音频信号的基音周期的变化已经在预定范围内。当基音增益高且稳定时,ltp可能会更高效,这意味着高周期性至少持续几帧(而不仅仅是一帧)。在一些情况下,稳定的基音周期还可减少对plc的负面影响。稳定的基音周期意味着基音周期值至少在几帧内不会明显变化,从而有可能在不久的将来实现稳定的基音。

在框1814中,对于至少预定数量的先前帧,响应于确定输入音频信号的基音增益已经超过预定阈值并且第三基音周期的变化已经在预定范围内,为输入音频信号的当前帧设置基音增益。如此,为高周期性且稳定的帧设置基音增益以提高信号质量,同时又不影响plc。

在一些情况下,对于至少预定数量的先前帧,响应于确定输入音频信号的基音增益低于预定阈值和/或确定第三基音周期的变化未处于预定范围内,将输入音频信号的当前帧的基音增益设置为零。如此,可减少错误传播。

如前所述,针对高分辨率音频编解码器每个残差样本都进行了量化。这意味着,当帧大小从10ms变为2ms时,残差样本量化的计算复杂度和编解码码率可能不会发生明显变化。然而,当帧大小从10ms变为2ms时,某些编解码器参数(如lpc)的计算复杂度和编解码码率可能会急剧增加。通常,lpc参数需要针对每个帧进行量化和传输。在一些情况下,当前帧与前一帧之间的lpc差分编解码可节省位,但是当码流数据包在传输信道中丢失时,也可能导致错误传播。因此,可设置短帧大小以实现低延迟编解码器。在一些情况下,当帧大小短至(例如)2ms时,lpc参数的编解码码率可能会非常高,并且由于帧持续时间是码率或复杂度的分母,因此计算复杂度也可能会很高。

在参考图12中所示的时域能量包络量化的一个示例中,如果子帧大小是2ms,则10ms帧应该包含5个子帧。通常,每个子帧具有需要量化的能级。由于一个帧包含5个子帧,因此可对5个子帧的能级进行联合量化,以限制时域能量包络的编解码码率。在一些情况下,当帧大小等于子帧大小或一个帧包含一个子帧时,如果每个能级被独立量化,则编解码码率可能会明显增加。在这些情况下,连续帧之间能级的差分编解码可能会降低编解码码率。然而,这种方法可能不是最优的,因为当在传输信道中丢失码流数据包时,可能导致错误传播。

在一些情况下,lpc参数的矢量量化可能会传递较低的码率。然而,这可能需要更多的计算负荷。lpc参数的简单标量量化可能具有较低的复杂度,但需要较高的码率。在一些情况下,可使用从霍夫曼编解码中获利的特殊标量量化。然而,对于非常短的帧大小或非常低的延迟编解码,此方法可能还不够。下面将参考图19至图20描述量化的lpc参数的新方法。

在框1902中,确定音频信号的当前帧与前一帧之间的差分频谱倾斜和能量差中的至少一个。参考图20,频谱图2002示出了音频信号的时频图。频谱图2004示出了音频信号的当前帧与前一帧之间的差分频谱倾斜的绝对值。频谱图2006示出了音频信号的当前帧与前一帧之间的能量差的绝对值。频谱图2008示出了一个复制决策,其中1表示当前帧将从前一帧复制量化的lpc参数,而0表示当前帧将再次量化/发送lpc参数。在该示例中,差分频谱倾斜和能量差的绝对值在大多数时间内都非常小,并且在末端(右侧)变得相对较大。

在框1904中,检测音频信号的稳定性。在一些情况下,可基于差分频谱条带和/或音频信号的当前帧与前一帧之间的能量差来确定音频信号的频谱稳定性。在一些情况下,可基于音频信号的频率来进一步确定音频信号的频谱稳定性。在一些情况下,可基于音频信号的频谱(例如,频谱图2004)来确定差分频谱倾斜的绝对值。在一些情况下,还可基于音频信号的频谱(例如,频谱图2006)来确定音频信号的当前帧与前一帧之间的能量差的绝对值。在一些情况下,如果确定对于至少预定数量的帧,差分频谱倾斜的绝对值的变化和/或能量差的绝对值的变化已处于预定范围内,则可确定检测到音频信号的频谱稳定性。

在框1906中,响应于检测到音频信号的频谱稳定性,将前一帧的量化的lpc参数复制到音频信号的当前帧中。在一些情况下,当音频信号的频谱非常稳定并且从一帧到下一帧没有实质变化时,可以不对当前帧的当前lpc参数编解码/量化。而是,可将先前量化的lpc参数复制到当前帧中,因为未量化的lpc参数保留了从先前帧到当前帧几乎相同的信息。在这种情况下,可仅发送1位以告知解码器从前一帧复制量化的lpc参数,从而使当前帧的码率非常低且复杂度非常低。

如果未检测到音频信号的频谱稳定性,则可能会强制对lpc参数再次量化和编解码。

在一些情况下,如果确定对于至少预定数量的帧,音频信号的当前帧与前一帧之间的差分频谱倾斜的绝对值的变化未处于预定范围内,则可以确定未检测到音频信号的频谱稳定性。在一些情况下,如果确定对于至少预定数量的帧,能量差的绝对值的变化未处于预定范围内,则可确定未检测到音频信号的频谱稳定性。

在框1908中,确定对于当前帧之前的至少预定数量的帧,已复制了量化的lpc参数。

在一些情况下,如果对若干帧已复制了量化的lpc参数,则可能会强制对lpc参数再次量化和编解码。

在框1910中,响应于确定对于至少预定数量的帧已复制了量化的lpc参数,对当前帧的lpc参数执行量化。在一些情况下,限制用于复制量化的lpc参数的连续帧的数量,以避免当码流数据包在传输信道中丢失时出现错误传播。

在一些情况下,lpc复制决策(如频谱图2008中所示)可能有助于量化时域能量包络。在一些情况下,当复制决策为1时,可对当前帧与前一帧之间的差分能级进行编解码以节省位。在一些情况下,当复制决策为0时,可对能级进行直接量化,以避免当码流数据包在传输信道中丢失时出现错误传播。

图21是示出根据实现方式的本发明中描述的电子设备2100的示例结构的示图。电子设备2100包括一个或多个处理器2102、存储器2104、编码电路2106和解码电路2108。在一些实现方式中,电子设备2100可还包括一个或多个电路,用于执行本发明中描述的任何一个步骤或步骤的组合。

本主题的所描述的实现方式可单独地或组合地包括一个或多个特征。

在第一种实现方式中,一种用于执行长期预测(ltp)的方法包括:对于至少预定数量的帧,确定输入音频信号的基音增益和基音周期;对于至少所述预定数量的帧,确定所述输入音频信号的所述基音增益已经超过预定阈值,并且确定所述输入音频信号的所述基音周期的变化已经在预定范围内;以及,对于至少所述预定数量的帧,响应于确定所述输入音频信号的基音增益已经超过所述预定阈值,并且确定所述基音周期的所述变化已经在所述预定范围内,为所述输入音频信号的当前帧设置基音增益,以改善封装丢包隐藏(plc)。

前述和其他描述的实现方式可各自可选地包括以下特征中的一个或多个:

第一特征,可与以下特征中的任一个组合,其中,所述方法还包括:接收包括多个第一样本的所述输入音频信号,所述多个第一样本以第一采样率生成;对所述多个第一样本进行下采样,以按第二采样率生成多个第二样本,其中,所述第二采样率低于所述第一采样率;基于以所述第二采样率生成的所述多个第二样本来确定多个候选基音;以及基于所述多个候选基音确定第一基音周期。

第二特征,可与前述或以下特征中的任一个组合,其中,基于所述多个候选基音确定所述第一基音周期包括:通过最大化与第一窗口的归一化互相关或与第二窗口的自相关来确定所述第一基音周期,其中,所述第二窗口大于所述第一窗口。

第三特征,可与前述或以下特征中的任一个组合,其中,所述方法还包括:基于所述确定的第一基音周期来确定第一搜索范围;在所述第一搜索范围内确定第一波峰位置和第二波峰位置;以及基于所述第一波峰位置和所述第二波峰位置确定第二基音周期。

第四特征,可与前述或以下特征中的任一个组合,其中,所述方法还包括:基于所述第二基音周期确定第二搜索范围;以第三采样率在所述第二搜索范围内确定第三基音周期,其中,所述第三采样率高于所述第二采样率;以及将所述输入音频信号的所述基音周期确定为所述第三基音周期。

第五特征,可与前述或以下特征中的任一个组合,其中,以所述第三采样率在所述第二搜索范围内确定所述第三基音周期包括:使用归一化互相关方法以所述第三采样率在所述第二搜索范围内确定所述第三基音周期。

第六特征,可与前述或以下特征中的任一个组合,其中,所述方法还包括:对于至少所述预定数量的帧,响应于确定所述输入音频信号的所述基音增益低于所述预定阈值,或确定所述基音周期的所述变化尚未在所述预定范围内中的至少一个,将所述输入音频信号的所述当前帧的基音增益设置为零,以改善plc。

第七特征,可与前述或以下特征中的任一个组合,其中,所述方法还包括:对于至少所述预定数量的帧,响应于确定所述输入音频信号的所述基音增益连续高于所述预定阈值,或确定所述基音周期的所述变化已经在所述预定范围内中的至少一个,人为地将所述输入音频信号的所述当前帧的基音增益重置为零,以改善plc。

在第二种实现方式中,一种电子设备包括:非瞬时性存储器,包括指令,以及一个或多个与所述存储器通信的硬件处理器,其中,所述一个或多个硬件处理器执行所述指令以:对于至少预定数量的帧,确定输入音频信号的基音增益和基音周期;对于至少所述预定数量的帧,确定所述输入音频信号的所述基音增益已经超过预定阈值,并且确定所述输入音频信号的所述基音周期的变化已经在预定范围内;以及,对于至少所述预定数量的帧,响应于确定所述输入音频信号的基音增益已经超过所述预定阈值,并且确定所述基音周期的所述变化已经在所述预定范围内,为所述输入音频信号的当前帧设置基音增益,以改善plc。

前述和其他描述的实现方式可各自可选地包括以下特征中的一个或多个:

第一特征,可与以下特征中的任一个组合,其中,所述一个或多个硬件处理器还执行所述指令以:接收包括多个第一样本的所述输入音频信号,所述多个第一样本以第一采样率生成;对所述多个第一样本进行下采样,以按第二采样率生成多个第二样本,其中,所述第二采样率低于所述第一采样率;基于以所述第二采样率生成的所述多个第二样本来确定多个候选基音;以及基于所述多个候选基音确定第一基音周期。

第二特征,可与前述或以下特征中的任一个组合,其中,基于所述多个候选基音确定所述第一基音周期包括:通过最大化与第一窗口的归一化互相关或与第二窗口的自相关来确定所述第一基音周期,其中,所述第二窗口大于所述第一窗口。

第三特征,可与前述或以下特征中的任一个组合,其中,所述一个或多个硬件处理器还执行所述指令以:基于所述确定的第一基音周期来确定第一搜索范围;在所述第一搜索范围内确定第一波峰位置和第二波峰位置;以及基于所述第一波峰位置和所述第二波峰位置确定第二基音周期。

第四特征,可与前述或以下特征中的任一个组合,其中,所述一个或多个硬件处理器还执行所述指令以:基于所述第二基音周期确定第二搜索范围;以第三采样率在所述第二搜索范围内确定第三基音周期,其中,所述第三采样率高于所述第二采样率;以及将所述输入音频信号的所述基音周期确定为所述第三基音周期。

第五特征,可与前述或以下特征中的任一个组合,其中,以所述第三采样率在所述第二搜索范围内确定所述第三基音周期包括:使用归一化互相关方法以所述第三采样率在所述第二搜索范围内确定所述第三基音周期。

第六特征,可与前述或以下特征中的任一个组合,其中,所述一个或多个硬件处理器还执行所述指令以:对于至少所述预定数量的帧,响应于确定所述输入音频信号的所述基音增益低于所述预定阈值,或确定所述基音周期的所述变化尚未在所述预定范围内中的至少一个,将所述输入音频信号的所述当前帧的基音增益设置为零,以改善plc。

第七特征,可与前述或以下特征中的任一个组合,其中,所述一个或多个硬件处理器还执行所述指令以:对于至少所述预定数量的帧,响应于确定所述输入音频信号的所述基音增益连续高于所述预定阈值,或确定所述基音周期的所述变化已经在所述预定范围内中的至少一个,人为地将所述输入音频信号的所述当前帧的基音增益重置为零,以改善plc。

在第三种实现方式中,一种非瞬时性计算机可读介质,存储用于执行残差量化的计算机指令,所述指令在由一个或多个硬件处理器执行时,使所述一个或多个硬件处理器执行包括以下的操作:对于至少预定数量的帧,确定输入音频信号的基音增益和基音周期;对于至少所述预定数量的帧,确定所述输入音频信号的所述基音增益已经超过预定阈值,并且确定所述输入音频信号的所述基音周期的变化已经在预定范围内;以及,对于至少所述预定数量的帧,响应于确定所述输入音频信号的基音增益已经超过所述预定阈值,并且确定所述基音周期的所述变化已经在所述预定范围内,为所述输入音频信号的当前帧设置基音增益,以改善plc。

前述和其他描述的实现方式可各自可选地包括以下特征中的一个或多个:

第一特征,可与以下特征中的任一个组合,其中,所述操作还包括:接收包括多个第一样本的所述输入音频信号,所述多个第一样本以第一采样率生成;对所述多个第一样本进行下采样,以按第二采样率生成多个第二样本,其中,所述第二采样率低于所述第一采样率;基于以所述第二采样率生成的所述多个第二样本来确定多个候选基音;以及基于所述多个候选基音确定第一基音周期。

第二特征,可与前述或以下特征中的任一个组合,其中,基于所述多个候选基音确定所述第一基音周期包括:通过最大化与第一窗口的归一化互相关或与第二窗口的自相关来确定所述第一基音周期,其中,所述第二窗口大于所述第一窗口。

第三特征,可与前述或以下特征中的任一个组合,其中,所述操作还包括:基于所述确定的第一基音周期来确定第一搜索范围;在所述第一搜索范围内确定第一波峰位置和第二波峰位置;以及基于所述第一波峰位置和所述第二波峰位置确定第二基音周期。

第四特征,可与前述或以下特征中的任一个组合,其中,所述操作还包括:基于所述第二基音周期确定第二搜索范围;以第三采样率在所述第二搜索范围内确定第三基音周期,其中,所述第三采样率高于所述第二采样率;以及将所述输入音频信号的所述基音周期确定为所述第三基音周期。

第五特征,可与前述或以下特征中的任一个组合,其中,以所述第三采样率在所述第二搜索范围内确定所述第三基音周期包括:使用归一化互相关方法以所述第三采样率在所述第二搜索范围内确定所述第三基音周期。

第六特征,可与前述或以下特征中的任一个组合,其中,所述操作还包括:对于至少所述预定数量的帧,响应于确定所述输入音频信号的所述基音增益低于所述预定阈值,或确定所述基音周期的所述变化尚未在所述预定范围内中的至少一个,将所述输入音频信号的所述当前帧的基音增益设置为零,以改善plc。

第七特征,可与前述或以下特征中的任一个组合,其中,所述操作还包括:对于至少所述预定数量的帧,响应于确定所述输入音频信号的所述基音增益连续高于所述预定阈值,或确定所述基音周期的所述变化已经在所述预定范围内中的至少一个,人为地将所述输入音频信号的所述当前帧的基音增益重置为零,以改善plc。

尽管在本发明中已经提供若干实施例,但是可理解,在不脱离本发明的精神或范围的情况下,可以许多其他特定形式来体现所公开的系统和方法。本示例被认为是说明性的而不是限制性的,并且本发明的意图不限于本文给出的细节。例如,各种元件或组件可被组合或集成在另一个系统中,或者某些特征可被省略或不被实现。

另外,在不脱离本发明的范围的情况下,在各种实施例中被描述和示出为离散或分离的技术、系统、子系统和方法可与其他系统、组件、技术或方法组合或集成。变化、替换和变更的其他示例可由本领域技术人员确定并且可在不脱离本文公开的精神和范围的情况下进行。

本说明书中描述的本发明的实施例和所有功能性操作可以数字电子电路或计算机软件、固件或硬件来实现,包括本说明书中公开的结构及其等同结构,或以其一种或多种的组合来实现。本发明的实施例可被实现为一种或多种计算机程序产品,即,在计算机可读介质上编码的计算机程序指令的一个或多个模块,以由数据处理装置执行或控制数据处理装置的操作。所述计算机可读介质可以是非瞬时性计算机可读存储介质、机器可读存储设备、机器可读存储衬底、存储器设备、影响机器可读传播信号的物质组成或其一种或多种的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或其一种或多个的组合的代码。传播的信号是人工生成的信号,例如机器生成的电、光或电磁信号,其被生成以对信息进行编码以传输到合适的接收器装置。

计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可用任何形式的编程语言(包括编译或解释语言)来编写,并且可以以任何形式进行部署,包括作为独立程序或作为模块、组件、子例程或适用于计算环境的其他单元进行部署。计算机程序不一定与文件系统中的文件相对应。程序可存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论程序的单个文件中,或存储在多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。可部署计算机程序以在位于一个站点上或分布在多个站点上并通过通信网络互连的一台计算机上或在多台计算机上执行。

本说明书中描述的过程和逻辑流程可由执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能的一个或多个可编程处理器来执行。处理和逻辑流程也可由专用逻辑电路执行,并且装置可实现为专用逻辑电路,例如现场可编程门阵列(fpga)或专用集成电路(asic)。

例如,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括或可操作地耦合以从用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据或将数据传输到一个或多个大容量存储设备或接收和传输两者。然而,计算机不必具有此类设备。此外,计算机可被嵌入在另一设备中,例如,平板计算机、移动电话、个人数字助理(pda)、移动音频播放器、全球定位系统(gps)接收器,仅举几例。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如,eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cdrom和dvd-rom磁盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。

为了提供与用户的交互,本发明的实施例可在具有用于向用户显示信息的显示设备(例如,阴极射线管(crt)或液晶显示器(lcd)监视器)以及使用户向计算机提供输入的键盘和指向设备(例如,鼠标或跟踪球)的计算机上实现。也可使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以任何形式接收来自用户的输入,包括声音、语音或触觉输入。

本发明的实施例可在包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)或包括前端组件(例如,客户端计算机,其具有用户可用以与本发明的实现交互的图形用户界面或网络浏览器)或包括一个或多个此类后端组件、中间件组件或前端组件的组合的计算系统中实现。系统的组件可通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”),例如互联网。

该计算系统可包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端与服务器之间的关系是通过在各自计算机上运行并彼此具有客户端-服务器关系的计算机程序产生的。

尽管上面已经详细描述了一些实现方式,但是其他修改也是可能的。例如,虽然客户端应用程序被描述为访问(一个或多个)委托,但是在其他实现方式中,(一个或多个)委托可被由一个或多个处理器实现的其他应用程序所采用,例如在一个或多个服务器上执行的应用程序所采用。另外,附图中描绘的逻辑流程不需要所示的特定顺序或连续顺序来实现期望的结果。另外,可从所描述的流程中提供其他动作,或者可删除动作,并且可向所描述的系统添加其他组件或从所描述的系统中删除其他组件。因此,其他实现方式在所附权利要求的范围内。

虽然本说明书包含许多特定的实现细节,但是这些不应被解释为对任何发明或可要求保护的范围的限制,而应解释为对特定发明的特定实施例可能特定的特征的描述。在单独的实施例的上下文中在本说明书中描述的某些特征也可在单个实施例中组合地实现。相反,在单个实施例的上下文中描述的各种特征也可单独在多个实施例中实现或以任何合适的子组合来实现。此外,尽管以上可将特征描述为以某些组合起作用并且甚至最初如此声称,但是在某些情况下,可以从所要求保护的组合中切除一个或多个特征,并且所要求保护的组合可以针对子组合或该子组合的变体。

类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求以所示的特定顺序或以连续的顺序执行这类操作,或者要求执行所有示出的操作以实现期望的结果。在一些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可被一起集成在单个软件产品中或打包到多个软件产品中。

已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中所述的动作可以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或连续顺序来实现期望的结果。在某些实现方式中,多任务和并行处理可能是有利的。

再多了解一些

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

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

相关文章

  • 日榜
  • 周榜
  • 月榜