首页> 中国专利> 使用缓冲器调节对已预测编码的数据进行解码

使用缓冲器调节对已预测编码的数据进行解码

摘要

一种解码器(例如,AAC-LTP解码器)接收包含已编码音频数据和预测数据的流。该已编码数据在解码期间被上采样或下采样。已解码数据的一部分存储在缓冲器中以在对后续已编码数据的解码中使用。放置有已解码数据的缓冲器具有与在生成已编码数据时的编码器中使用的缓冲器不同的尺寸。解码器中的部分数据被识别,并利用交织的零值进行修改,以便与编码器中预测编码缓冲器的尺寸相对应。

著录项

  • 公开/公告号CN101484937A

    专利类型发明专利

  • 公开/公告日2009-07-15

    原文格式PDF

  • 申请/专利权人 诺基亚公司;

    申请/专利号CN200780025127.7

  • 发明设计人 J·奥让佩拉;

    申请日2007-05-24

  • 分类号G10L19/14(20060101);G10L19/04(20060101);

  • 代理机构11256 北京市金杜律师事务所;

  • 代理人王茂华;陈姗姗

  • 地址 芬兰埃斯波

  • 入库时间 2023-12-17 22:14:42

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-06-08

    未缴年费专利权终止 IPC(主分类):G10L19/14 授权公告日:20120704 终止日期:20170524 申请日:20070524

    专利权的终止

  • 2016-02-03

    专利权的转移 IPC(主分类):G10L19/14 登记生效日:20160112 变更前: 变更后: 申请日:20070524

    专利申请权、专利权的转移

  • 2012-07-04

    授权

    授权

  • 2009-09-09

    实质审查的生效

    实质审查的生效

  • 2009-07-15

    公开

    公开

说明书

技术领域

本发明总体上涉及对压缩数字信息的解码。具体地,至少本发 明的某些实施方式涉及比特流的解码,比特流代表已经使用一个或 多个技术(其使用了长期预测编码)进行了压缩的内容。

背景技术

为了将必须存储的和/或在通信信道上传输的数据量最小化,内 容(例如,音频信息和/或视频信息)通常被压缩成这样的比特流, 其具有比其他情况可能所需比特更少的比特。已经开发出针对这种 压缩的许多方法。这些方法中的一些使用了预测编码技术。例如, 各种移动图像专家组(MPEG)标准规定的高级音频编码(AAC)格 式包括用于对音频内容(例如,音乐)进行编码(和其后续的解码) 的若干工具集。这些工具,或者配置(profile),包括主配置、LC (低复杂度)配置、SSR(可伸缩采样率)配置和LTP(长期预测) 配置。LTP编码可以向最终用户提供更高质量的音频,但是以增大 计算要求为代价。这可能导致要求设备(诸如移动电话或者数字音 乐播放器)有附加的存储器和处理硬件。而且,商业需求可能要求: 旨在于对AAC音频数据进行解码并播放的设备能够适应于多种配 置。例如,用户常常希望从多种源下载音乐。那些源中的一些可能 使用AAC-LC配置来对音乐进行编码,而其他的源可以使用 AAC-LTP配置来对音乐进行编码。

图1A是示出了AAC-LTP编码器通用结构的框图。尽管这种编 码器(和一些相应的解码器)的操作是公知的,但还是包括以下概 况来为后续描述提供上下文。长期预测器1、改进离散余弦变换 (MDCT)2和心理声学模型3接收进入的时域音频信号。长期预测 器1基于用于音频流较早部分的时域信号来生成可以用来预测当前 输入的时域信号的数据(预测系数和基音延迟)。那些较早部分的 时域版本作为来自逆改进离散余弦变换(IMDCT)4和合成滤波器 组(未示出)的输入而被接收,并且由长期预测器存储在缓冲器中 (图1A中也未示出)。长期预测器1将预测系数和基音延迟提供给 比特流复用器11。预测出的音频(即,将由计算出的预测系数和基 音延迟产生的时域音频信号)由MDCT 5变换到频域。

进入的时域音频还被提供给单独的MDCT 2。与只转换该音频的 预测版本的MDCT 5不同,最初的进入音频信号由MDCT 2变换到 频域。MDCT 2的输出被提供给频率选择开关(FSS)7(以下所描 述的)和求和器6。求和器6计算MDCT 5的输出(预测的音频信号 的频域版本)与MDCT 2的输出(原始音频信号的频域版本)之间 的差别。实际上,来自于求和器6的输出(或者预测误差)是实际 音频信号和该同一信号的预测版本之间的差异。从求和器6输出的 预测误差被提供给FSS 7。

FSS 7从心理声学模型3接收控制输入。心理声学模型3包含关 于人类听众可感知的频率范围的、实验生成的知觉数据。心理声学 模型3还包含关于某些类型音频模式(这些音频模式并未使用长期 预测而良好建模)的数据。例如,快速变化的信号段或者瞬态信号 段可能难于通过预测而建模。心理声学模型3检查时域中的进入音 频信号,并评估哪些子带应当由预测误差(来自求和器6)、预测系 数(来自预测器1)和基音延迟(同样来自于预测器1)来表示,以 及哪些子带应当由原始音频的MDCT系数(来自MDCT 2)来表示。 基于来自心理声学模型3的数据,FSS 7选择将被转发至块8以便量 化和编码的数据。对于将使用预测的子带,来自求和器6的预测误 差系数被转发至量化器/编码器8。对于其他子带,MDCT 2的输出 被转发至量化器/编码器8。来自于FSS 7的控制信号输出包括用于 每个子带的标志,该标志指示是否针对该子带启用长期预测。

来自FSS 7的信号随后在量化器/编码器8中被量化(例如,使 用赫夫曼编码)。量化器/编码器8还使用来自于心理声学模型3的 知觉数据。来自量化器/编码器8的输出随后在块11中与来自长期预 测器1的控制数据(例如,预测系数和基音延迟)和来自FSS 7的 控制数据(子带标志)进行复用。复用后的数据随后被从块11提供 至通信信道(例如,无线传输或互联网传输)或者提供给存储介质。 来自量化器/编码器8的输出还被提供至反量化器9。反量化器9的 输出被转发至反频率选择开关(IFSS)10,来自MDCT 5的输出和 来自FSS7的控制信号(子带标志)也一样被转发至IFSS10。IFSS 10随后为每个子带(针对其在比特流上传输量化的预测误差系数), 提供去量化的预测误差系数和来自于MDCT 5的输出的和。IFSS为 每个子带(针对其在比特流上传输量化的MDCT 2输出)提供去量 化的MDCT 2输出。来自IFSS的输出随后由IMDCT 4变换回时域。 来自IMDCT 4的时域输出随后被提供给长期预测器1。IMDCT 4输 出的一部分被直接存储在如上所述的预测缓冲器中;该缓冲器的其 他部分保持由来自IMDCT 4的输出的重叠相加(在合成滤波器组中) 所产生的完全重建(时域)的音频数据帧。

图1B是示出了AAC-LTP解码器的通用结构的框图。进入的比 特流在块15中解复用。来自FSS 7(图1A)的子带标志被提供给IFSS 17。来自图1A中长期预测器1的预测系数和基音延迟被提供给基音 预测器20。来自图1A中FSS 7的量化数据在反量化器16中被去量 化,并随后被提供给IFFS 17。基于相应的子带标志值,IFSS17确 定是否为各子带启用了长期预测。对于未启用预测的子带,IFSS 17 简单地将反量化器16的输出转发给IMDCT 18。对于启用了预测的 子带,IFSS 17将反量化器16的输出(即,去量化的预测误差系数) 与MDCT 21的输出(以下讨论)相加,并将结果转发至IMDCT 18。 IMDCT 18随后将IFSS 17的输出变换回时域。IMDCT 18的输出随 后用于在合成滤波器组(未示出)中的重叠相加,以便产生完全重 建的时域信号(其是图1A中原始音频信号输入的极相近复制)。该 完全重建的时域信号可以随后由数模转换器(图1B中未示出)处理, 以用于在例如一个或多个扬声器上播放。

来自于IMDCT 18的时域输出的近期部分和来自合成滤波器组 的完全重建时域信号的近期部分也存储在长期预测(LTP)缓冲器 19中。LTP缓冲器19具有与图1A的长期预测器1内的缓冲器相同 的尺寸,并且旨在于复制其内容。来自于LTP缓冲器19的数据由基 音预测器20用(结合预测系数和基音延迟值)来预测时域中的进入 音频信号。基音预测器20的输出对应于在图1A中被提供给MDCT 5 的长期预测器1的输出。来自于基音预测器20的输出随后在MDCT 21中被转换到频域,MDCT 21的输出被提供给IFSS 17。

图1C中示出了LTP缓冲器19的常规结构(在适用的MPEG-4 标准中规定的)。帧t-1是由解码器的合成滤波器组(未示出)中的 时域信号的重叠相加所形成的最近完全重建时域信号。帧t是来自于 IMDCT 18的时域信号输出,并且是将用于将由合成滤波器组输出的 下一帧中的重叠相加的混叠时域信号。帧t-2是来自于前一时段的完 全重建帧。每个帧的尺寸(或者长度)N是1024个采样。LTP缓冲 器右侧的虚线框表示1024个零振幅采样的帧。此全零块并不是LTP 缓冲器19的实际部分。而是,用来在概念上指示零延迟点的位置。 具体地,当基音延迟的值位于其最大值时,则基于帧t-1和帧t-2中 的2048个帧来预测2048个时域采样。当基音延迟在其最小值和最 大值之间(例如,在延迟L指示的点处)时,在基音延迟位置之前 (即,在图1C中点L的右侧)的2048个采样用来预测2048个采样。 当基音延迟少于1024时,零用于来自LTP缓冲器的“采样”1023 及1023以下的采样。例如,当基音延迟位于其最小值(零延迟)时, t帧中的1024个采样和1024个零振幅采样用于预测2048个采样。 尽管使用全零振幅导致不太准确的声音再现,但是LTP缓冲器需要 较少的存储器。由于零或者非常低的延迟值的出现相对罕见,所以 不会严重地影响整体的声音质量。

诸如图1B中的解码器和图1C的相关LTP缓冲器通常在诸如便 携式音乐播放器或者移动终端的移动设备中使用。这种设备通常具 有有限的计算资源和存储器资源。添加附加的存储器和处理能力通 常较贵,从而增加了设备的总成本。由于解码器和缓冲器使用大量 的这些资源,所以可能提供附加功能的额外能力有限。例如,通常 希望音频播放设备具有快进能力。如果增大了音频解码器的输出速 率,则必须以更快的速度执行各种解码操作。作为另一示例,解码 并播放音频流的设备可能需要简单地执行某些其它任务(例如,对 进入的电话呼叫或者其它通信进行响应)。除非增大了处理能力和 存储器能力,或者除非可以减小用于音频解码和播放所需的处理和 存储器,否则设备不能同时执行多个任务。

发明内容

提供发明内容是为了以简化形式引入概念的选择,这些概念会 在以下的具体实施方式中进一步描述。此发明内容既不旨在标识出 要求保护的主题中的关键特征或重要特征,也不旨在用来协助确定 要求保护的主题的范围。

本发明的至少某些实施方式包括:一种方法,用于基于具有已 知尺寸的预测编码缓冲器中前面的数据、使用预测技术来处理已编 码的数据。在编码和传输(和/或存储)后,解码器接收包含有已编 码的数据和编码预测得到的预测信息的流。该编码器进一步接收指 示已编码的数据将在解码过程期间是否被(或者以多大的量)上采 样或被下采样的因子。随着已编码的数据被解码,已解码的数据的 部分被存储在缓冲器中,用于在基于后续预测信息对后续已编码数 据的解码中使用。已解码的数据置于缓冲器中,该缓冲器具有与在 编码器执行预测操作期间使用的缓冲器不同的尺寸。解码器缓冲器 中的数据的一部分被识别,并且随后被修改以便对应于预测编码缓 冲器的尺寸。在某些实施方式中,该修改包括在已识别数据的元素 之间交织零值。

在某些实施方式中,已编码的数据在频域中,而解码包括:到 时域的转换。在某些这样的实施方式中,来自于解码器缓冲器的已 修改数据首先被转换到频域。该经过转换和修改的数据随后被缩放 并且与频域预测误差系数相加,随后将得到的值转换到时域。

在至少某些实施方式中,解码器在对已编码的数据进行解码期 间支持下采样。随着已编码数据被解码,只有从来自完全重建的时 域采样的帧中选择的帧被存储在对应于当前数据的缓冲器帧中。

附图说明

当结合附图阅读时,前述发明内容部分和下述具体实施方式部 分会更容易理解,其中附图仅是为了示例而并非为了限制要求保护 的发明被包括进来。

图1A是示出了常规AAC-LTP编码器通用结构的框图。

图1B是示出了常规AAC-LTP解码器通用结构的框图。

图1C是图1B的解码器中常规LTP缓冲器的框图。

图2是本发明实施方式可以在其中使用的一个系统示例的框图。

图3是示出了根据至少某些实施方式的、配置用于接收音频信 号并对其编码的一个移动设备示例的框图。

图4是根据至少某些实施方式的、用于适合于下采样的解码器 框图。

图5示出了当抽选因子是2时,来自图4的解码器的LTP缓冲 器。

图6A-6D示出了在各种情况下计算来自于图5的LTP缓冲器的 数组XLTP[]。

图7A和7B是示出了根据至少某些实施方式的、图4的解码器 操作的流程图。

图8A和8B示出了在至少某些实施方式中LTP缓冲器如何针对 上采样而调节。

图9A和9B是示出了当发生了上采样时,根据至少某些实施方 式的解码器操作的流程图。

图10是根据至少某些实施方式的、用于适合于上采样的解码器 框图。

图11是根据至少某些实施方式的、用于适合于上采样和下采样 二者的解码器框图。

具体实施方式

尽管通过根据高级音频编码(AAC)格式及其长期预测(LTP) 配置(由移动图像专家组MPEG-4标准(ISO-14496)定义的)的通 信示例描述了本发明的实施方式,但是本发明并不限于此方面。具 体地,本发明还适用于已使用预测编码方法生成编码的数据流的其 它编码机制。

图2是本发明实施方式可以在其中使用的一个系统示例的框图。 源30输出经过AAC-LTP压缩的音频信号以用于传输给远程用户。 通过对输入音频信号进行实时处理(未示出),或者通过访问存储 在数据库31中的之前压缩的音频,源30可以产生该AAC-LTP输出。 源30将AAC-LTP音频无线地传输到移动设备32(例如,配置用于 从源30接收压缩的音频信号并对其解码的移动电话)。移动设备32 可以在远程无线网络(例如,移动电话网、3GPP网等)内进行通信, 可以在短程无线网络(例如,蓝牙网络)内进行通信,可以通过无 线互联网链路进行通信,可以接收广播传输(例如,卫星广播)等。 源30还通过有线网络(例如,有线互联网连接)提供压缩的 AAC-LTP,用于诸如个人计算机34的设备的下载。

图3是根据至少某些实施方式的、配置用于接收AAC-LTP音频 信号并对其解码的移动设备32的一个示例的框图。通过天线40接 收来自源30的无线传输。在框41中,对进入的无线信号进行解调 及其它处理,以便恢复该传输的数字数据比特流。控制器43(例如, 微处理器)从框41接收恢复后的数字信号。控制器43将控制信号 (例如,预测系数和基音延迟、子带标志)从对应于来自源30中FSS (类似于图1A中的FSS 7)的输出的量化频域分量分离出来。控制 器43对那些频域分量去量化,并将那些分量(与控制信号一起)提 供给数字信号处理器(DSP)46。DSP 46随后以以下讨论的方式使 用数据来产生时域信号。来自DSP 46的时域信号被提供给数模转换 器(DAC)47并通过扬声器49输出。随机访问存储器44用来存储 用于控制器43和46的操作的指令和用于数据缓冲(例如,用作LTP 缓冲器)的指令。只读存储器(ROM)也可以用来存储用于控制器 43和/或DSP 46的编程指令。

图3的配置仅是一个示例。在其它实施方式中,可以不包括单 独的DSP,所有的处理由单个处理器进行。单独的RAM也可以省略, 替代地,控制器和/或DSP具有内部RAM。控制器43、DSP 46和 RAM 44通常是一个或多个集成电路(“芯片”或“芯片集”)的形 式。

图4是根据本发明至少某些实施方式的、对来自诸如图1A中编 码器那样的常规编码器的信号进行解码的解码器框图。在某些实施 方式中,图4的框67、68、70、20和21(以及图4中未示出的合成 滤波器组和其它元件)代表的操作由DSP 46执行编程指令来实现, 框69(LTP缓冲器)用单独的RAM 44实现。然而,如上所述,框 67、68、70、20和21(和/或其它元件)中的一个或多个可以备选地 由在控制器43中执行编程指令来实现。类似地,RAM 69可以包括 在DSP46和/或控制器43内,以替代单独的RAM 44。

比特流解复用器15、反量化器16、基音预测器20和MDCT 21 以类似于图1B中具有相同编号的部件进行操作。IFSS 67能够执行 图1B中IFSS 17的功能,但是也能执行以下描述的附加操作。IMDCT 68能够以类似于图1B中的IMDCT 18的方式起作用。然而,IMDCT 68被进一步配置为:响应于输入抽选因子(decimFactor)而针对输 出音频执行下采样。具体地,当将频域信号转换回时域时,IMDCT 68 依照decimFactor来减少所处理的MDCT系数的数量。当执行下采样 时,存储在LTP缓冲器69中的帧中的采样数量也受影响。当 decimFactor等于2时,例如,LTP缓冲器69中每个帧的长度仅为 512个采样(常规LTP缓冲器中是1024个采样)。尽管下采样减少 了在IMDCT 68中执行的计算数量并减少了LTP缓冲器所需的存储 器量,但是却引入了另一问题。具体地,下采样的LTP缓冲器将与 最初产生已编码信号的AAC-LTP编码器中的长期预测器的缓冲器 不匹配。除非采取附加的步骤,否则基于LTP缓冲器69的内容的音 频信号子分量将与编码器中预测的相应音频信号子分量不匹配。

图5示出了当decimFactor等于2时的LTP缓冲器69。以与图 1C的常规LTP缓冲器类似的方式,t帧填充有来自于IMDCT 68的 混叠的时域信号输出,帧t-1填充有合成滤波器组输出的最近完全重 建时域帧。由于下采样,以及如上所述,LTP缓冲器69的帧短于编 码器LTP缓冲器中的帧。为了适应这种不匹配,在至少某些实施方 式中,首先识别LTP缓冲器69的一部分Xd。具体地,基于从编码 器传输来的基音延迟值来计算偏移值(lagd)。随后从lagd开始,向 前倒回(往图5的左侧)当前LTP缓冲器69的两个帧长(图5的示 例中为1024个采样),将LTP缓冲器69的内容填入Xd。预处理器 70随后以下述方式将Xd的采样扩展,以便与编码器中LTP缓冲器更 加匹配。

图6A更详细地示出了LTP缓冲器69和数据数组Xd。Xd的起始 点使用lagd来标识;基于当前的抽取因子(decimFactor)标识Xd的 终点。以下描述lagd的计算。在至少某些实施方式中,将Xd实现为 具有1024/decimFactor个元素(即,[0,1,2,...(1024/decimFactor-1)]) 的数组。数组元素Xd[0]填充有LTP缓冲器69中起点之后的采样(图 6A中的采样n),Xd[1]填充有下一采样(n+1),如此类推,Xd[1023] 填充有“最后一个”采样。随后,将Xd[]扩展成与在编码器中的长 期预测器使用的采样相同数目(例如,1024个采样)采样的数组XLTP[]。所以,XLTP[]将更接近地类似于编码器中的长期预测器用来预测 的采样,Xd[]的内容均匀地分布在XLTP[]中,为零的值被插入XLTP[] 中的采样时隙中。如图6A所示,这得到XLTP[0]=Xd[0],XLTP[1]=0, XLTP[2]=Xd[1],...XLTP[1023]=0。

在至少某些实施方式中,如图6B所示,当量lagOffset的值等于 0时(以下描述lagOffset的计算),XLTP[]以稍微不同的方式被填充。 在这种情况下,零元素和Xd[]元素的次序可以相反。这么做是为了 产生完全时间对准的预测时域信号,该信号表示与decimFactor等于 1时相同的时间方面信号。图6C和图6D类似于图6A和图6B,但 是示出了当decimFactor等于4时的XLTP[]的生成。

XLTP[]的采样由基音预测器20使用来生成原始音频信号的时域 预测。此预测将接近于编码器内长期预测器输出的预测(例如,在 图1A中从长期预测器1传输到MDCT 5的信号)。基音预测器20 的输出随后被提供给MDCT 21,用于转换到频域。在至少某些实施 方式中,这会得到包含MDCT系数的数组XMDCT[]。如本领域技术 人员可以意识到的,XMDCT[]不必须具有与XLTP[]一样数量的元素。 XMDCT[]中的MDCT系数随后被提供给IFSS 67。随后,IFSS 67用以 下述方式将XMDCT[]的系数与去量化的误差预测系数(例如,来自图 1A的求和器6的输出)相加。

图7A和图7B是示出了根据至少某些实施方式的AAC-LTP解 码器(其结合图4-图6D在以上进行了描述)操作的流程图。解码器 操作开始于图7A,并前进到块80,其中接收进入的数据流(例如, 由比特流解复用器15接收)。进入的数据流包括子带标志和预测信 息(例如,图1A的预测器1输出的预测系数和基音延迟),以及量 化的频域数据。对于某些子带,频域数据是MDCT对原始音频输入 (例如,图1A的MDCT 2的输出)的结果。对于其它子带,频域数 据是预测误差值(例如,图1A中求和器6的输出)。

解码器前进到块81,其中从所接收的数据流提取出子带标志和 预测信息。子带标志被转发给IFSS 67(图4),并且预测信息被转 发至基音预测器20。基音延迟还被转发至预处理器70。返回图7A, 解码器接着前进至块82,其中量化的频域数据被去量化并且转发至 IFSS 67。操作前进至块83,其中解码器识别(使用子带标志和IFSS 67)将要使用预测数据再现的子带和将要根据原始输入音频的 MDCT系数再现的子带。

在块84中,关于将使用预测数据再现的子带,解码器将去量化 的预测误差值(来自图1A中求和器6的输出)与基于LTP缓冲器 69的内容的频域预测(如上所述,XMDCT[])进行组合。具体地,对 来自MDCT21(XMDCT[])的频域采样进行缩放,并将其与预测误差 值(为了简便,由数组Xq[]表示)相加。当未发生下采样时,XMDCT[]中的值由在数据流中传输至解码器的因子(CLTP)进行缩放。当发 生下采样时,解码器根据以下伪代码(其遵从C编程语言的语法) 在IFSS 67中将XMDCT[]与Xq[]相加。

for(sfb=0;sfb<ltp_bands;sfb++)

     if(ltp_used[sfb])

      {

        for(bin=startBinOffset[sfb];bin<endBinOffset[sfb];bin++)

              Xq[bin]=Xq[bin]+XMDCT[bin]*scale;

      }

在上述代码中,“ltp_bands”是可以传输预测误差信号的频带限 制。对于结合AAC-LTP编码实现的实施方式,此值由可应用的 MPEG-4标准规定。换言之,心理声学模型通常规定将由MDCT系 数(图1A的MDCT2所输出的)或者误差预测系数(由图1A的求 和器6所输出的)表示的进入音频信号的子带。如果这些子带的每 一个编号为0,1,2,...k,则“ltp_bands”是与在其中使用长期预测的 子带相对应的那些编号中最大的那个。“ltp_used[sfb]”的值表示是 否针对子带sfb启用长期预测。换言之,ltp_used[]是输入到图4中 IFSS67的子带标志的数组。数组“startBinOffset[]”和“endBinOffset[]” 分别包含针对每个子带的起点索引和终点索引。具体地, startBinOffset[sfb]和endBinOffset[sfb]是子带sfb相应的起点索引和 终点索引。所有子带的起点索引和终点索引也由可应用的MPEG-4 标准规定。变量“scale”是CLTP或者是从LTP系数和量化频谱的属 性导出的自适应修正因子,如公式1所给出。

公式1:

其中,如果针对频带sfb的量化值是零,则或者否则,c2LTP=cLTP

本领域技术人员可以认识到,在最初一次或多次通过图7A所示 算法循环期间,可以没有预测值(XMDCT[])。在这种情况下,XMDCT[]最初可以以零为种子。

从块84,解码器前进到块85,并且确定(例如,基于接收到的 抽取因子)是否进行下采样。如果否,则解码器前进到“否”分支 到达块86,并且以常规方式处理来自于IFSS 67的频域数据。当没 有下采样时,预处理器70(图4)是不活动的,并且XLTP[]以常规 方式从LTP缓冲器69获取。解码器从块86前进到块87(以下描述)。 如果在块85处解码器确定将要进行下采样,则解码器经由分页连接 符A前进到图7B。

在图7B的块101,解码器将LTP缓冲器69的t-1帧的内容移位 到t-2帧,并且将来自于最近完全重建的时域帧的采样(合成滤波器 组所输出的)存储在t-1帧中。在块102中,解码器使用IMDCT 68 以及利用来自于IFSS 67的频域数据和抽取因子以生成混叠的时域 数据,并将那些混叠的采样存储在LTP缓冲器69的帧t中。在块103 中,解码器使用公式2和3计算lagd的值。

公式2:

公式3:

公式2和3中的量“ltp_lag”是用于编码器所传输的基音延迟的值, 并且该值假设LTP缓冲器是常规大小。表示地板函数,其 将返回代表小于或等于地板函数自变量的最大整数的值。

解码器接着前进至块104,并且标记LTP缓冲器中的“开始” 点和“结束”点,并且生成数组Xd[]。解码器随后前进至块105, 并且从Xd[]生成数组XLTP[]。以下给出伪代码,其通常遵从C编程 语言的语法,用于根据至少某些实施方式生成XLTP[]。

        fullldx,predLastldx;

        fullldx=(N*decimFactor)-1;

        predLastldx=N-1;

        for(i=predLastldx;i>=0;i--)

        {

               if(lagOffset)

               {

                     for(j=0;j<decimFactor-1;j++)

                            XLTP[fullldx--]=0;

                            XLTP[fullldx--]=Xd[i]

               }

               else

               {

                     XLTP[fullldx--]=Xd[i];

                     for(j=0;j<decimFactor-1;j++)

                            XLTP[fullldx--]=0;

               }

          }                                      s

上述代码中的变量“N”是当存在下采样时每个LTP缓冲器69帧的 大小。对于图6A到图6D的示例,N等于1024/decimFactor。尽管 decimFactor的通常值是2和4,但是其它值也可以使用。类似地, 本发明并不限于结合使用了LTP缓冲器帧大小(在没有下采样时, 是1024个采样)的系统。操作符“--”和“++”分别表示每通过循 环一次便递减或递加。

解码器随后前进至块106,并且对XLTP[]执行MDCT,以获得频 域系数XMDCT[]的数组。新计算出的XMDCT[]值被转发至IFSS 67,用 于与将在数据流的后续部分接收到的预测误差值(Xq[])进行组合。 解码器从块106返回(通过分页连接符B)图7A的块87。在块87 中,解码器确定是否存在附加的音频数据要处理。如果有,则解码 器返回“是”分支上的块80。否则,算法结束。

在至少某些实施方式中,解码器还能够适应于“上采样”。换 言之,某些时候希望增大(通过对从编码器接收的MDCT系数进行 插值)用于创建时域输出信号的MDCT系数的数量。这可以执行以 例如产生与其它设备兼容的信号。然而,上采样也会引起编码器中 的LTP缓冲器与解码器中的LTP缓冲器之间的不匹配。例如,当对 常规的AAC-LTP音频进行解码时,上采样(或插值)因子为2将会 导致具有2048个采样的LTP缓冲器帧,除非采取附加的步骤。

图8A和图8B示出了在至少某些实施方式中LTP缓冲器如何针 对上采样进行调整。图8A和图8B假设上采样(或插值)因子 “upSampFactor”为2,尽管其它值也可以使用。如图8A所示,仅 将来自于合成滤波器组输出的完全重建帧的每个第upSampFactor个 采样移动到t-1LTP缓冲器帧中,t-1帧移动到后续时段的t-2帧。帧 t保持有IMDCT输出的、最近混叠并插值的时域信号。如图8A所 示,帧t具有1024*upSampFactor的大小。在至少某些实施方式中, t帧并不是LTP缓冲器的一部分。混叠的时域IMDCT输出改为在解 码器中的任何位置处缓冲。在这种实现中,对t帧表示的数据进行访 问是由指向用于在重叠相加期间缓冲混叠并插值的IMDCT输出的 存储器位置的地址指针实现的。可以针对图4-图7B的实施方式中t 帧实现类似的指针设置。

当基音延迟在其最大值时,并且如图8A所示,直接从t-1帧和 t-2帧获取XLTP[]。当基音小于最大值时,并且如图8B所示,XLTP[] 在t帧上延伸的部分是直接从t-1帧和(在某些情况下)t-2帧填充的。 XLTP[]的对应于全零“帧”的部分用零填充。通过从t帧取出每个第 upSampFactor个采样,来填充XLTP[]对应于t帧的部分。为了简便, 在图8B中未示出将采样传输到t和t-1帧。

图9A和9B是示出了当发生上采样时,根据至少某些实施方式 的AAC-LTP解码器操作的流程图。对应于块150-153、156和157 的操作通常与对应于结合图7A所描述的块80-83、86和87的那些 相同,所以不再进一步描述。对应于块154的操作类似于块84的操 作,除了当上采样发生时针对XMDCT[]的缩放。在IFSS 67’中(参见 图10,以下描述),解码器根据与上述用于图7A的块84的伪代码 相同的伪代码而将XMDCT[]与Xq[]相加。然而,在图9A的算法中, 变量“scale”被设置为CLTP*upSampFactor。块155也和图7A的块 85类似,除了解码器在块155确定(例如,基于接收的上采样或者 插值因子)是否进行上采样。如果进行上采样,则解码器经由分页 连接符C前进到图9B。

在图9B的块180中,解码器将LTP缓冲器69’(图10)的t-1 帧的内容移位到t-2帧。解码器还将来自于最近完全重建的时域采样 (来自于合成滤波器组)的每个第upSampFactor个采样存储在t-1 帧中。在块182中,解码器使用来自于IFSS 67’的频域数据和上采样 因子生成插值的和混叠的时域数据采样,并将那些混叠的采样存储 在帧t中。在块183中,解码器确定基音延迟(ltp_lag)是否在其最 大值处。如果是,则解码器前进到“是”分支到达块184,其中使用 t-1到t-2缓冲器帧来填充XLTP[]。解码器继而从块184前进到块187 (如下所讨论的)。

如果基音延迟小于最大值,则解码器从块183前进到“否”分 支到达块186。在块186中,使用从解码器传输的ltp_lag值生成XLTP[]。对于XLTP[]的对应于t帧的部分,仅将每个第upSampFactor个帧 复制到XLTP[]。解码器从块186前进到块187,并对XLTP[]执行MDCT, 以获得频域系数的数组XMDCT[]。解码器通过分页连接符D从块187 返回到块157(图9A)。

图10是根据至少某些实施方式的、配置用于执行图9A和图9B 操作的解码器框图。组件15、16、20和21类似于结合图1B和图4 描述的相同编号的组件。组件67’、68’、69’和70’类似于图4的组 件67、68、69和70,但是被配置用于以结合图8A-9B描述的方式 来适应上采样。图11是根据至少某些实施方式的、被配置用于适合 于上采样和下采样二者的解码器。组件15、16、20和21与结合图 1B、图4和图10描述的相同编号的组件类似。组件67”、68”、69” 和70”类似于图4的组件67、68、69和70,但是也被配置用于以结 合图8A-9B描述的方式来适合于上采样。

尽管描述了执行本发明的特定示例,但是本领域技术人员将会 理解:存在包含在本发明精神和范围(如在所附权利要求中给出的) 内的上述系统和方法的各种变体和改变。例如,本发明还可以实现 为机器可读介质(例如,RAM、ROM、单独的闪存等),其具有存 储在其上的机器可执行指令,使得当该指令由适当的设备(或多个 设备)读取并执行时,能够执行根据本发明的方法的步骤。又例如, 诸如上述的解码器还可以以多种其它类型的设备(例如,便携式音 乐播放器和其它类型的消费电子设备)实现。这些和其它改进都在 所附权利要求中所给出的范围内。在权利要求书中,为了方便,用 文字标记或数字标记引出各种部分。然而,这些标记的使用并不暗 含着权利要求书的语言所需的时间关系。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号