使用自适应混合变换的多声道音频编码比特流的解码的制作方法

文档序号:2827722阅读:303来源:国知局
使用自适应混合变换的多声道音频编码比特流的解码的制作方法
【专利摘要】本发明涉及使用自适应混合变换的多声道音频编码比特流的解码。用以解码增强型AC-3比特流的帧的过程的处理效率通过处理帧中的每一个音频块仅一次来提高。编码数据的音频块是按照块顺序而不是按照声道顺序进行解码。公开了诸如自适应混合变换处理和频谱扩展的增强型比特流编码特征的示例性解码过程。
【专利说明】使用自适应混合变换的多声道音频编码比特流的解码
[0001] 本分案申请是基于申请号为201080051553. X(国际申请号为PCT/ US2010/054480),申请日为2010年10月28日,发明名称为"使用自适应混合变换的多声道 音频编码比特流的解码"的中国专利申请的分案申请。
[0002] 相关申请的交叉引用
[0003] 本申请案请求2009年12月7日提交的第61/267, 422号美国临时专利申请案的 优先权,所述申请案的全部内容以引用的方式并入本文。

【技术领域】
[0004] 本发明通常涉及音频编码系统,且更具体来说涉及对已编码的数字音频信号进行 解码的方法和装置。

【背景技术】
[0005] 由团体合作联合委员会(JCIC)的成员组织成立的美国先进电视系统委员会 (ATSC)公司开发出用于美国本地电视服务发展的一套协调一致的国家标准。包括有关音频 编码/解码标准的这些标准在多个文件中进行陈述,所述多个文件包括2005年6月14日出 版的名称为 "Digital Audio Compression Standard (AC-3,E-AC_3)" 的文件 A/52B (修订 版B),其全部内容以引用的方式并入本文。文件A/52B中指定的音频编码算法称为"AC-3"。 描述在所述文件的附件E中的此算法的一加强版称为"E-AC-3"。这两个算法在本文中称为 "AC-3",且有关标准在本文中称为"ATSC标准"。
[0006] 所述A/52B文件并未指定算法设计的很多方面,而是描述了"比特流语法",其定 义了兼容解码器一定能够解码的编码信息的结构与语法特征。符合所述ATSC标准的很多 应用将编码数字音频信息作为二进制数据以串行方式发送。结果,所述编码数据通常指的 是比特流,但其它数据安排也是允许的。为了便于论述,术语"比特流"在本文中用来指编 码数字音频信号,而与采用何种格式、记录或传输技术无关。
[0007] 符合所述ATSC标准的比特流以一连串"同步帧"的形式排列。每一帧是比特流 的一个单元,其能够被完全解码成脉冲编码调制(PCM)的数字音频数据的一个或更多个声 道。每一帧包括"音频块"和与所述音频块相关的帧元数据。所述音频块各包含表示一个或 更多个音频声道的数字音频样本的编码音频数据和与所述编码音频数据相关的块元数据。
[0008] 尽管算法设计的细节在所述ATSC标准中未被指定,但是某些算法特征已被专业 解码装置与消费解码装置的制造商广泛采用。可以解码由E-AC-3编码器产生的增强型 AC-3比特流的解码器的实施方式的一个普遍特征在于如下的算法,所述算法在解码另一声 道的数据之前解码一帧中针对相应声道的所有编码数据。此方法已经用来提高具有很小芯 片上存储器的单芯片处理器的实施性能,这是因为一些解码过程需要从一帧中的多个音频 块中的每一块得到指定声道的数据。通过以声道顺序处理编码数据,解码操作可以利用针 对特定声道的芯片上存储器来执行。解码后的声道数据可以随后转移到芯片外存储器来为 下一个声道空出芯片上资源。
[0009] 符合所述ATSC标准的比特流可以非常复杂,因为可能有大量变化。本文只简略提 及的一些示例包括对于标准AC-3比特流、多个独立流、依赖的子流的声道耦合、声道重新 矩阵化、对白归一化(dialog normalization)、动态范围压缩、声道向下混合与块长度转换 以及对于增强型AC-3比特流的频谱扩展和自适应混合变换。这些特征的细节可以从所述 A/52B文件获得。
[0010] 通过独立处理每一声道,这些变化所需的算法能够得以简化。可以不考虑这些变 化来执行如合成过滤之类的随后的复杂处理。较简单的算法似乎提供了如下优势:减少处 理一个音频数据帧所需的计算资源。
[0011] 遗憾的是,此方法要求解码算法读取和检查所有音频块中的数据两次。读取和检 查一帧中的音频块数据的每次重复在本文中称为一次"通过(pass)"所述音频块。第一次 通过执行大量计算以确定每一块中的编码音频数据的位置。当第二次通过执行解码过程 时,其执行很多与所述第一次通过执行的这些计算相同的计算。两次通过都需要相当多的 计算资源来计算数据位置。如果最初的通过可以被消除,那么可以减少解码一个音频数据 帧所需的总处理资源。


【发明内容】

[0012] 本发明的一个目的在于减少解码以诸如上面所提及的帧与音频块的分层单元排 列的编码比特流中的一个音频数据帧所需的计算资源。以上文字和以下公开指的是符合所 述ATSC标准的编码比特流,但是本发明并不局限于仅在这些比特流的情况下使用。本发明 的原理基本上可以应用于具有类似于在AC-3编码算法中使用的帧、块和声道的结构特征 的任何编码比特流。
[0013] 根据本发明的一个方面,一种方法通过以下方式对编码数字音频信号的帧进行解 码:接收所述帧和在单次通过中检查所述编码数字音频信号,以按块排序地解码每一音频 块的编码音频数据。每一帧包含帧元数据和多个音频块。每一音频块包含块元数据和一个 或更多个音频声道的编码音频数据。所述块元数据包含控制信息,所述控制信息描述产生 所述编码音频数据的编码过程所利用的编码工具。所述编码工具中的一种工具是混合变换 处理,其将由初级变换实施的分析滤波器组(bank)应用到一个或更多个音频声道,以产生 表示所述一个或更多个音频声道的频谱内容的频谱系数,且将次级变换应用到针对所述一 个或更多个音频声道中的至少一些音频声道的所述频谱系数以产生混合变换系数。解码每 一音频块确定所述编码过程是否利用自适应混合变换处理来编码任何编码音频数据。如果 所述编码过程利用自适应混合变换处理,那么所述方法从所述帧中的第一音频块中的编码 音频数据获得所述帧的所有混合变换系数,并且将反向次级变换应用到所述混合变换系数 以获得反向次级变换系数,和从所述反向次级变换系数获得频谱系数。如果所述编码过程 未利用自适应混合变换处理,那么从所述相应音频块中的编码音频数据获得频谱系数。将 反向初级变换应用到所述频谱系数,以产生表示所述相应音频块中的一个或更多个声道的 输出信号。
[0014] 本发明的各种特征和其优选实施例可以通过参照以下论述和附图得到更好的理 解,在几个附图中相同的附图标记代表相同的元件。以下论述和图中的内容仅以示例方式 进行陈述,且不应当理解为表示对本发明的范围的限制。

【专利附图】

【附图说明】
[0015] 图1是编码器的示例性实施方式的示意性框图。
[0016] 图2是解码器的示例性实施方式的示意性框图。
[0017] 图3A与图3B是符合标准和增强型语法结构的比特流中的帧的示意性说明。
[0018] 图4A与图4B是符合标准和增强型语法结构的音频块的示意性说明。
[0019] 图5A到图5C是携带具有程序与声道扩展的数据的示例性比特流的示意性说明。
[0020] 图6是由按声道顺序处理编码音频数据的解码器所实施的示例性过程的示意性 框图。
[0021] 图7是由按块顺序处理编码音频数据的解码器所实施的示例性过程的示意性框 图。
[0022] 图8是可以用来实施本发明的各个方面的装置的示意性框图。

【具体实施方式】
[0023] A.编码系统概述
[0024] 图1和图2是音频编码系统的编码器和解码器的示例性实施方式的示意性框图, 在所述音频编码系统中,所述解码器可以包含本发明的各个方面。这些实施方式符合以上 引用的A/52B文件中所公开的内容。
[0025] 所述编码系统的目的在于在产生输入音频信号的编码表示的同时利用最少量的 数字信息表示所述编码信号,输入音频信号的所述编码表示可以被记录或传输和随后解码 以产生听起来与所述输入音频信号基本相同的输出音频信号。符合基本ATSC标准的编码 系统能够编码和解码可以表示音频信号的从一个声道到所谓的5. 1个声道的信息,其中 5. 1可理解为表示能够携带全带宽信号的五个声道和用来携带低频效果(LFE)信号的一个 有限带宽声道。
[0026] 以下小节描述编码器和解码器的实施方式以及编码比特流结构和相关编码和解 码过程的一些细节。提供这些描述使得能够更简洁地描述和更清楚地理解本发明的各个方 面。
[0027] 1.编码器
[0028] 参照图1中的示例性实施方式,编码器从输入信号路径1接收表示音频信号的一 个或更多个输入声道的一系列脉冲编码调制(PCM)的样本,并将分析滤波器组2应用到所 述系列样本以产生表示所述输入音频信号的频谱成分的数字值。对于符合ATSC标准的实 施例,分析滤波器组由A/52B文件中描述的修改型离散余弦变换(MDCT)实施。所述MDCT 被应用于针对音频信号的每一输入声道的样本的重叠段或块以产生表示所述输入声道信 号的频谱成分的变换系数块。所述MDCT是分析/合成系统的部分,该分析/合成系统利用 特意设计的窗口函数和重叠/相加过程消除时域混叠(aliasing)。每一块中的变换系数以 包含浮点指数与尾数的块浮点(BFP)形式表示。因为此表示形式用在符合ATSC标准的比 特流中,所以此描述涉及表示为浮点指数与尾数的音频数据;然而,此特定表示只是利用比 例因子(scale factor)和相关缩放值(scaled value)的数值表示的一个示例。
[0029] 每一块的BFP指数共同提供所述输入音频信号的近似频谱包络。这些指数由增量 (delta)调制和其它编码技术编码来减少信息需要量,传送到格式器5并输入到心理声学 模型,以估计正被编码的信号的心理声学掩蔽阈值。来自所述模型的结果由比特分配器3 使用来以一种方式分配比特形式的数字信息以量化尾数,使得由量化产生的噪声的水平被 保持在低于所述正被编码的信号的心理声学掩蔽阈值。量化器4根据从比特分配器3接收 且传送到格式器5的比特分配来量化所述尾数。
[0030] 格式器5将所述编码的指数、所述量化的尾数和其它控制信息多路复用或集合成 音频块,所述其它控制信息有时称为块元数据。将六个连续音频块的数据集合成数字信息 单元,称为帧。帧本身还包含控制信息或帧元数据。连续帧的编码的信息沿着路径6作为 比特流输出以供记录在信息存储介质上或者供沿通信信道传输。对于符合ATSC标准的编 码器,所述比特流中的每一帧的格式符合A/52B文件中规定的语法。
[0031] 符合ATSC标准的典型编码器所使用的编码算法比图1中说明和以上描述的编码 算法更复杂。例如,将错误检测码插入到所述帧中,以允许接收解码器验证所述比特流。称 为块长度转换(有时更简洁地称为块转换)的编码技术可以用来改变分析滤波器组的时间 和频谱分辨率,以通过改变信号特性来最佳化其性能。所述浮点指数可以利用可变时间和 频率分辨率来编码。可以利用称为声道耦合的一种编码技术将两个或更多声道结合成复合 表示。称为声道重新矩阵化的另一种编码技术可以自适应地用于双声道音频信号。可以使 用本文未提及的其它编码技术。这些其它编码技术的一些在下文予以论述。省略一些其它 实施细节,因为它们不是理解本发明所必需的。这些细节可根据需要从A/52B文件获取。
[0032] 2.解码器
[0033] 解码器执行基本上与编码器中执行的编码算法相反的解码算法。参照图2中的示 例性实施方式,解码器从输入信号路径11接收表示一系列帧的编码比特流。所述编码比特 流可以从信息存储介质取回或者从通信信道接收。解格式器12将每一帧的编码信息解多 路复用或拆解成帧元数据和六个音频块。将所述音频块拆解成它们各自的块元数据、编码 的指数和量化的尾数。所述编码的指数由比特分配器13中的心理声学模型使用,来以与编 码器中的比特被分配的方式相同的方式分配比特形式的数字信息以对量化的尾数进行解 量化。解量化器14根据从比特分配器13接收的比特分配来对所述量化的尾数进行解量 化,并将所述解量化的尾数传送到合成滤波器组15。将所述编码的指数进行解码并将其传 送到合成滤波器组15。
[0034] 所述解码的指数与解量化的尾数构成由编码器编码的输入音频信号的频谱内容 的BFP表示。合成滤波器组15被应用于频谱内容的表示,以重建原始输入音频信号的不精 确复制品,所述复制品沿着输出信号路径16传送。关于符合ATSC标准的实施例,合成滤波 器组由A/52B文件中描述的修改型离散余弦反变换(MDCT)实施。所述MDCT是以上简单 提及的分析/合成系统的部分,该分析/合成系统应用于变换系数的块以产生重叠和相加 的音频样本块来消除时域混叠。
[0035] 符合ATSC标准的典型解码器所利用的解码算法比图2中说明和以上所述的解码 算法更复杂。作为与以上描述的编码技术相反的一些解码技术包括:用于错误纠正或隐藏 的错误检测、用以改变合成滤波器组的时间与频谱分辨率的块长度转换、用以从耦合的复 合表示恢复声道信息的声道去耦合和用于恢复重新矩阵化的双声道表示的矩阵运算。关于 其它技术和额外细节的信息可以根据需要从A/52B文件获得。
[0036] B.编码比特流结构
[0037] 1.帧
[0038] 符合ATSC标准的编码比特流包含称为"同步帧"(有时更简单地称为帧)的一系 列编码信息单元。如上所提及,每一帧包含帧元数据和六个音频块。每一音频块包含块元 数据和音频信号的一个或更多个声道的并行区间的编码的BFP指数与尾数。标准比特流的 结构示意性地绘示在图3A中。如A/52B文件的附件E中所述的增强型AC-3比特流的结构 绘示在图3B中。每一比特流的从SI到CRC的标记区间内的部分是一个帧。
[0039] 特殊比特型式(pattern)或同步字被包括在提供于每一巾贞的开始的同步信息 (SI)中,使得解码器可以识别一帧的开始和保持其解码过程与编码比特流同步。紧跟所述 SI之后的比特流信息(BSI)段携带解码所述帧的解码算法所需的参数。例如,所述BSI指 定由所述帧中的编码信息表示的声道的数目、类型和顺序以及由所述解码器利用的动态范 围压缩和对白归一化信息。每一帧包含六个音频块(ΑΒ0到AB5),必要时它们后面可以跟随 辅助(AUX)数据。以循环冗余检查(CRC)字形式的错误检测信息提供在每一帧末尾。
[0040] 增强型AC-3比特流中的帧还包含音频帧(AFRM)数据,其含有与在编码标准比特 流中不可用的额外编码技术相关的标志和参数。所述额外技术中的一些包括利用频谱扩展 (SPX)(还称为频谱复制)和自适应混合变换(AHT)。下面论述各种编码技术。
[0041] 2.音频块
[0042] 每一音频块包含256个变换系数的BFP指数与量化的尾数的编码表示和解码所述 编码的指数和量化的尾数所需的块元数据。此结构示意性地绘示在图4A中。A/52B文件的 附件E中所描述的增强型AC-3比特流中的音频块的结构绘示在图4B中。A/52B文件的附 件D中所描述的比特流的可替代形式的音频块结构在此未作论述,因为其独特特征与本发 明无关。
[0043] 块元数据的一些示例包括用于块转换(BLKSW)、动态范围压缩(DYNRNG)、声道耦 合(CPL)、声道重新矩阵化(REMAT)、用来编码BFP指数的指数编码技术或策略(EXPSTR)、编 码的BFP指数(EXP)、关于尾数的比特分配(BA)信息、称为增量比特分配(DBA)的比特分配 调整信息和所述量化的尾数(MANT)的标志和参数。增强型AC-3比特流中的每一音频块可 以包含关于包括频谱扩展(SPX)的额外编码技术的信息。
[0044] 3.比特流限制
[0045] ATSC标准将一些限制强加于与本发明相关的比特流的内容。本文提及两个限制: (1)所述帧中称为ΑΒ0的第一音频块必须包含解码算法开始解码所述帧中的所有音频块所 需的所有信息,和(2)无论何时所述比特流开始携带由声道耦合产生的编码信息,最先利 用声道耦合的音频块必须包含去耦合所需的所有参数。下面论述这些特征。关于本文未作 论述的其它过程的信息可以从A/52B文件获取。
[0046] C.标准编码过程和技术
[0047] ATSC标准根据可以用来产生编码比特流的编码过程或"编码工具"描述多个比特 流语法特征。编码器不需要使用所有编码工具,但符合所述标准的解码器必须能够响应被 认为因兼容而必不可少的编码工具。此响应通过执行本质上与相应编码工具相反的恰当解 码工具来实施。
[0048] 解码工具的一些与本发明尤其相关,因为利用或者不利用它们影响应当如何实施 本发明的各方面。一些解码过程和一些解码工具简要地描述于以下段落中。下列描述并不 打算是完整描述。各个细节和任选的特征被省略。所述描述只打算将高级介绍提供给对所 述技术不熟悉的人和用来更新可能已忘记这些术语所描述的技术的人的记忆。
[0049] 必要时,可以从A/52B文件和来自Davis等人的于1996年12月10日授权的名称 为"Encoder/Decoder for Multi-Dimensional Sound Fields,'的第 5, 583, 962 号美国专 利获取额外细节,且所述专利的全部内容以引用的方式并入本文。
[0050] 1.比特流解压缩(unpack)
[0051] 所有解码器必须解压缩或解多路复用编码比特流以获得参数和编码数据。此过程 由以上论述的解格式器12表示。此过程本质上是读取输入比特流中的数据且将所述比特 流的多个部分复制到寄存器中、将多个部分复制到存储器位置中或者将存储于缓冲器中的 在所述比特流中的数据的指针或其它标记存储的过程。存储器需要存储所述数据和指针, 并且可以在存储此信息以供日后使用或当需要时再读取所述比特流以获取信息之间进行 折中。
[0052] 2.指数解码
[0053] 需要所有BFP指数的值来解压缩每一帧的音频块中的数据,因为这些值间接指示 分配给量化的尾数的比特的数目。然而,所述比特流中的指数值由可以在时间与频率二者 中应用的不同编码技术来编码。因此,表示所述编码的指数的数据必须从所述比特流解压 缩,并且在它们可用于其它解码过程之前进行解码。
[0054] 3.比特分配处理
[0055] 所述比特流中的量化的BFP尾数各由变化数量的比特表示,所述变化数量的比特 与所述BFP指数和包含在所述比特流中的可能的其它元数据有关。将所述BFP指数输入到 为每一尾数计算比特分配的指定模型。如果一个音频块还包含增量比特分配(DBA)信息, 那么此额外信息用来调整所述模型计算的比特分配。
[0056] 4.尾数处理
[0057] 量化的BFP尾数构成编码比特流中的数据的大部分。所述比特分配用以确定供解 压缩的比特流中的每一尾数的位置和用以选择恰当的解量化函数以获得解量化的尾数。所 述比特流中的某些数据可以用单一值表示多个尾数。在此情况下,从所述单一值得出恰当 数目的尾数。具有等于零的分配的尾数可以用等于零的值再现或以伪随机数再现。
[0058] 5.声道去f禹合
[0059] 声道耦合编码技术允许编码器用较少数据表示多个音频声道。所述技术组合来自 两个或更多选定声道(称为被耦合声道)的频谱成分,以形成复合频谱成分的单一声道,称 为耦合声道。所述耦合声道的频谱成分以BFP格式表示。描述所述耦合声道与每一被耦合 声道之间的能量差的一组比例因子(称为耦合坐标)是针对被耦合声道中的每一个声道而 得出并且包括在所述编码比特流中。耦合只用于每一声道的带宽的指定部分。
[0060] 当利用声道耦合时,如由所述比特流中的参数指示,解码器利用称为声道去耦合 的解码技术,从耦合声道的频谱成分和耦合坐标得出每一被耦合声道的BFP指数和尾数的 不精确复制品。这通过将每一被耦合声道频谱成分乘以恰当耦合坐标来完成。其它细节可 以从A/52B文件获得。
[0061] 6.声道重新矩阵化
[0062] 声道重新矩阵化编码技术通过使用矩阵将两个独立的音频声道转变为和声道和 差声道来允许编码器用较少数据表示双声道信号。通常压缩入左音频声道和右音频声道的 比特流中的BFP指数和尾数改为表示所述和声道和所述差声道。此技术可以有利地在两个 声道具有高度相似性时使用。
[0063] 当利用重新矩阵化时,如由所述比特流中的标志指示,解码器通过将恰当矩阵应 用于所述和值和差值来获得表示两个音频声道的值。额外细节可以从A/52B文件获取。 [0064] D.增强型编码过程和技术
[0065] A/52B的附件E描述了允许利用其它编码工具的增强型AC-3比特流语法的特征。 一些这些工具和相关过程在下文简要描述。
[0066] 1.自适应混合变换处理
[0067]自适应混合变换(AHT)编码技术响应于改变信号特性,通过应用两个级联变换提 供除了用于改变分析和合成滤波器组的时间和频谱分辨率的块转换以外的另一种工具。关 于AHT处理的额外信息可以从A/52B文件和Vinton等人的于2009年4月7日授权的名称 为 "Adaptive Hybrid Transform for Signal Analysis and Synthesis,'的第 7, 516, 064 号美国专利获取,且所述专利的全部内容以引用的方式并入本文。
[0068] 编码器利用由以上所提及的MDCT分析变换实施的初级变换,所述初级变换在由 II型离散余弦变换(DCT-II)实施的次级变换之前且与其级联。将MDCT应用于音频信号样 本的重叠块以产生表示所述音频信号的频谱内容的频谱系数。所述DCT-II可以根据需要 接入和接出信号处理路径,当接入时,其应用于表示相同频率的MDCT频谱系数的非重叠块 以产生混合变换系数。在通常使用下,DCT-II在输入音频信号被视为足够稳定时接通,因 为所述DCT-II的使用藉由降低其有效时间分辨率而将分析滤波器组的有效频谱分辨率从 256个样本显著增加到1536个样本。
[0069] 解码器利用以上提及的MDCT合成滤波器组实施的反向初级变换,所述反向初 级变换在由II型反向离散余弦变换(IDCT-II)实施的反向次级变换之后且与其级联。 IDCT-II响应于所述编码器提供的元数据接入和接出信号处理路径。当接入所述信号处 理路径中时,将IDCT-II应用于混合变换系数的非重叠块以获取反向次级变换系数。如果 未使用其它编码工具,如声道耦合或SPX,那么所述反向次级变换系数可以是直接输入到 MDCT的频谱系数。可替换地,如果利用了如声道耦合或SPX的编码工具,那么MDCT频谱系 数可以由所述反向次级变换系数得出。在获得所述MDCT频谱系数之后,将MDCT以传统方 式应用于所述MDCT频谱系数块。
[0070] AHT可以用在任一个音频声道上,包括耦合声道和LFE声道。利用AHT编码的声 道使用可替换的比特分配过程和两种不同类型的量化。一种类型是向量量化(VQ)和第二 种类型是增益自适应量化(GAQ)。GAQ技术在Davidson等人的于2001年6月12日授权 的名称为"Using Gain-Adaptive Quantization and Non-Uniform Symbol Lengths for Improved Audio Coding"的第6, 246, 345号美国专利中予以论述,且所述专利的全部内容 以引用的方式并入本文。
[0071] 使用AHT需要解码器从包含在编码比特流中的信息得出若干参数。A/52B文件描 述可以如何计算这些参数。一组参数指定BFP指数在一帧中遭携带的次数且通过检查包含 在一帧中的所有音频块中的元数据得出。另外两组参数识别哪些BFP尾数利用GAQ量化并 且提供量化器的增益控制字,且所述参数通过检查音频块中声道的元数据来得出。
[0072] 用于AHT的所有混合变换系数携带于一帧的第一音频块ΑΒ0中。如果AHT应用于 奉禹合声道,那么所述AHT系数的稱合坐标以与未经AHT的被稱合声道相同的方式分布于所 有音频块中。下文描述用于处理此情况的过程。
[0073] 2.频谱扩展处理
[0074] 频谱扩展(SPX)编码技术通过从所述编码比特流中排除高频频谱成分和使解码 器合成所述编码比特流中包含的较低频频谱成分中的丢失的频谱成分,来允许编码器减少 编码全带宽声道所需的信息量。
[0075] 当利用SPX时,解码器通过将较低频MDCT系数复制到高频MDCT系数位置、将伪随 机值或噪声加到复制的变换系数和根据编码比特流中包括的SPX频谱包络缩放幅度来合 成丢失的频谱成分。无论何时利用SPX编码工具,编码器都计算所述SPX频谱包络并将其 插入到编码比特流中。
[0076] SPX技术通常用于合成声道的最高频带的频谱成分。对于中间频率范围来说,SPX 技术可以与声道耦合一起使用。处理的额外细节可以从A/52B文件获取。
[0077] 3.声道和程序扩展
[0078] 增强型AC-3比特流语法允许编码器产生编码比特流,所述编码比特流表示具有 多于5. 1声道的单一程序(声道扩展)、具有高达5. 1声道的两个或更多程序(程序扩展) 或者具有高达5. 1声道与多于5. 1声道的多个程序的组合。程序扩展通过对编码比特流中 针对多个独立数据流的帧多路复用来实施。声道扩展通过对与独立数据流相关的一个或更 多个相依赖的数据子流的帧多路复用来实施。在关于程序扩展的优选实施方式中,解码器 被告知要解码哪个程序或哪些程序,并且解码过程跳过或基本上忽略表示将不被解码的程 序的流和子流。
[0079] 图5A到图5C绘示具有程序与声道扩展的携带数据的比特流的三个示例。图5A 说明了具有声道扩展的示例性比特流。单一程序P1由独立流S0和三个相关的依赖的子流 SS0、SS1和SS2表示。紧接在独立流S0的帧Fn之后的是相关的依赖的子流SS0到SS3中 的每一个的帧Fn。这些帧之后是独立流S0的下一帧Fn+Ι,其之后紧接着依次是相关的依 赖的子流SS0到SS2的每一个的帧Fn+Ι。增强型AC-3比特流语法容许每一独立流有多达 8个依赖的子流。
[0080] 图5B说明了具有程序扩展的示例性比特流。四个程序PI、P2、P3和P4各分别由 独立流SO、SI、S2和S3表示。紧跟独立流S0的帧Fn之后的是独立流SI、S2和S3中的每 一个的帧Fn。这些帧之后是所述独立流中的每一个的下一帧Fn+Ι。增强型AC-3比特流语 法必须具有至少一个独立流且容许具有多达8个独立流。
[0081] 图5C说明了具有程序扩展与声道扩展的示例性比特流。程序P1由独立流S0中 的数据表示,且程序P2由独立流S1以及相关的依赖的子流SS0和SS1中的数据表示。紧 跟独立流S0的帧Fn之后是独立流S1的帧Fn,其之后紧接着依次是相关的依赖的子流SS0 和SS1的帧Fn。这些帧之后是独立流与依赖的子流中的每一个的下一帧Fn+1。
[0082] 没有声道扩展的独立流包含可以表示高达5. 1个独立音频声道的数据。具有声道 扩展的独立流或者换言之具有一个或更多个相关的依赖的子流的独立流包含表示程序的 所有声道的5. 1声道向下混合的数据。术语"向下混合"指的是多个声道组合成较少数目 声道。这么做是为与不解码依赖的子流的解码器相兼容。所述依赖的子流包含表示替换或 补充所述相关独立流中携带的声道的声道的数据。声道扩展就程序来说容许多达14个声 道。
[0083] 比特流语法的其它细节和相关处理可以从A/52B文件获得。
[0084] E.块优先性处理
[0085] 需要复杂逻辑来处理和恰当地解码当编码工具的各种组合用来产生编码比特流 时所述比特流结构中出现的很多变化。如以上所提及,算法设计的细节未在ATSC标准中指 定,但E-AC-3解码器的常规实施方式的普遍特征在于算法,所述算法在解码另一声道的数 据之前解码用于相应声道的帧中的所有数据。此传统方法减少了解码比特流所需的芯片上 存储器的数量,但其也需要多次通过每一帧中的数据以读取和检查所述帧中的所有音频块 中的数据。
[0086] 图6中示意性地说明了传统方法。组件19解析(parse)从路径1接收的编码比 特流中的帧且响应于从路径20接收的控制信号从所述帧中提取数据。所述解析通过多次 通过帧数据来完成。从一个帧提取出的数据由组件19下面的方框表示。例如,具有标记 AB0-CH0的方框表示在音频块ΑΒ0中的用于声道0的提取数据,且具有标记AB5-CH2的方 框表示在音频块AB5中的用于声道2的提取数据。为了简化附图,只说明了三个声道0到 2和三个音频块0、1和5。组件19还沿着路径20将从帧元数据中获得的参数传递到声道 处理组件31、32和33。在数据方框左侧的信号路径和旋转开关表示由传统解码器执行以 按照声道顺序处理编码音频数据的逻辑。处理声道组件31经由旋转开关21接收针对以音 频块ΑΒ0开始且以音频块AB5结束的声道CH0的编码音频数据和元数据,解码所述数据并 且通过将合成滤波器组应用于所述解码数据来产生输出信号。其处理结果沿着路径41传 递。处理声道组件32经由旋转开关22接收针对音频块ΑΒ0到AB5的声道CH1的数据,处 理所述数据且沿着路径42传递其输出。处理声道组件33经由旋转开关23接收针对音频 块ΑΒ0到AB5的声道CH2的数据,处理所述数据和沿着路径43传递其输出。
[0087] 本发明的应用可以通过在许多情况下消除多次通过帧数据来提高处理效率。在利 用编码工具的某些组合产生编码比特流的一些情况下,使用多次通过;然而,由以下论述的 编码工具的组合产生的增强型AC-3比特流可以利用单次通过来解码。此新方法示意性地 说明在图7中。组件19解析从路径1接收的编码比特流中的帧且响应于从路径20接收的 控制信号从所述帧中提取数据。在很多情况下,解析通过单次通过帧数据来完成。来自一个 帧的提取数据以与上文关于图6论述的方式相同的方式来由组件19下面的方框表示。组 件19沿着路径20将从帧元数据获得的参数传递到块处理组件61、62和63。处理块组件 61经由旋转开关51接收针对音频块ΑΒ0中的所有声道的编码音频数据和元数据,解码所述 数据和通过将合成滤波器组应用于解码数据来产生输出信号。其对于声道CH0、CH1和CH2 的处理结果经由旋转开关71分别传递到恰当的输出路径41、42、43。处理块组件62经由旋 转开关52接收针对音频块AB1中的所有声道的数据、处理所述数据和经由旋转开关72将 其输出传递到每一声道的恰当输出路径。处理块组件63经由旋转开关53接收针对音频块 AB5中的所有声道的数据、处理所述数据和经由旋转开关73将其输出传递到每一声道的恰 当输出路径。
[0088] 本发明的各个方面在下文予以论述且利用程序片段说明。这些程序片段并不打算 是实际的或最佳实施方式,而仅仅是说明性示例。例如,程序语句的顺序可以通过互换一些 语句改变。
[0089] 1. -般过程
[0090] 本发明的高级说明显示在以下程序片段中:
[0091] (1.1) determine start of a frame in bit stream S (1.2) for each frame N in bit stream S (1.3) unpack metadata in frame N {1.4) get parameters from unpacked frame metadata (1.5) determine start of first audio block K in frame N (1.6) for audio block K in frame N (1.7) unpack metadata in block K (1.8) get parameters from unpacked block metadata (1.9) determine start of first channel C in block K (1.10) for channel C in block K (1.11) unpack and iccode enponents (1.12) unpack and iequantize mantissai (1.13) apply synthesis filter to decoded audio data tor channel C (1.14) determine start of channel C+l in block K (1.?5) end for (1.16) cieterinine start of Woek K+l In frame N (1.17) end for (1.18) determine start of next frame N+l in bit stream S (1.19) end for
[0092] 语句(1. 1)在比特流中扫描与SI信息中携带的同步型式匹配的比特串。当找到 同步型式时,已确定所述比特流中的巾贞的开始。
[0093] 语句(1. 2)和语句(1. 19)控制针对所述比特流中的每一帧执行的解码过程,或者 直到所述解码过程通过某种其它手段停止为止。语句(1.3)到(1. 18)执行解码编码比特 流中的帧的过程。
[0094] 语句(1. 3)到语句(1. 5)解压缩所述帧中的元数据、从解压缩的元数据获得解码 参数和确定所述比特流中所述帧中的第一音频块K的数据开始的位置。语句(1.16)确定 所述比特流中下一个音频块的开始,如果所述帧中有任一后续音频块的话。
[0095] 语句(1.6)和语句(1. 17)引起针对所述帧中的每一音频块执行的解码过程。语 句(1. 7)到语句(1. 15)执行解码所述帧中的音频块的过程。语句(1. 7)到语句(1. 9)解 压缩所述音频块中的元数据、从已解压缩的元数据获得解码参数和确定第一声道的数据在 何处开始。
[0096] 语句(1. 10)和语句(1. 15)引起针对所述音频块中的每一声道执行的解码过程。 语句(1. 11)到语句(1. 13)解压缩和解码指数、利用解码的指数确定比特分配以解压缩和 解量化每一量化的尾数和将合成滤波器组应用于解量化的尾数。语句(1. 14)确定所述比 特流中下一声道的数据的开始位置,如果在所述帧中有任一后续声道的话。
[0097] 程序结构变化来适应用来产生编码比特流的不同编码技术。一些变化在下面的程 序片段中予以论述和说明。下列程序片段的描述省略了以上程序片段描述的一些细节。
[0098] 2.频谱扩展
[0099] 当利用频谱扩展(SPX)时,开始扩展过程的音频块包含开始音频块中和帧中利用 SPX的其它音频块中进行SPX所需的共享参数。所述共享参数包括参与此过程的声道的标 识、频谱扩展频率范围和针对每一声道的SPX频谱包络如何在时间与频率上共享。这些参 数从开始利用SPX的音频块中解压缩出且存储在存储器或计算机寄存器中以用于处理所 述帧中之后续音频块中的SPX。
[0100] 帧具有SPX的一个以上的开始音频块是可能的。如果一个音频块的元数据指示利 用了 SPX且所述帧中的上一个音频块的元数据指示未利用SPX或者所述音频块是帧中的第 一块,那么所述音频块开始SPX。
[0101] 利用SPX的每一音频块包括称为SPX坐标的SPX频谱包络,所述SPX坐标用于所 述音频块中的频谱扩展处理,或者利用SPX的每一音频块包括"再用"标志,所述标志指示 要利用针对上一块的SPX坐标。块中的SPX坐标被解压缩并保留以供后续音频块中的SPX 操作可能再次利用。
[0102] 以下程序片段说明了可以处理利用SPX的单向音频块。
[0103] (2.1) determine start of a frame in bit stream S (2.2) for each frame N in bit stream S (2.3) unpack metadata in frame N (2.4) get parameters from unpacked frame metadata (2.5) if SPX frame parameters are present then unpack PX frame parameters (2.6) determine start of first audio block K in frame N (2.7) for audio block K in frame N (2.8) unpack metadata in block K (2.9) get parameters I'rorn unpacked block metadata (2.10) if SPX block parameters are present then unpack SPX block parameters (2.11) for channel C in block K (2.12) unpack and decode exponents (2.13) unpack and dequanti/e mantissas (2.14) if channel C uses SPX then (2.1^) extend bandwidth 5 of chsnncl C (2.16) end If (2.17) apply synthesis filter to decoded audio data for channel C (2.18) determine start of channel C+l in block K (2.19) end for (2.20) deteriniii start of block K+l In frame N (2.21) end for
[0104] (2.22) determine start ot next frame N+l in bit stream S (2.23) end for
[0105] 语句(2. 5)从帧元数据解压缩SPX帧参数,如果所述元数据中存在任一 SPX帧参 数的话。语句(2. 10)从所述块元数据解压缩SPX块参数,如果所述块元数据中存在任一SPX 块参数的话。所述块SPX参数可以包括用于所述块中的一个或更多个声道的SPX坐标。
[0106] 语句(2. 12)和语句(2. 13)解压缩和解码指数,并利用解码的指数确定比特分配 以解压缩和解量化每一量化的尾数。语句(2. 14)确定当前音频块中的声道C是否利用SPX。 如果其确实使用SPX,那么语句(2. 15)应用SPX处理以扩展声道C的带宽。此过程提供了 声道C的频谱成分,所述频谱成分输入到语句(2. 17)中应用的合成滤波器组。
[0107] 3.自适应混合变换
[0108] 当利用自适应混合变换(AHT)时,帧中的第一音频块ΑΒ0包含由DCT-II变换处理 的每一声道的所有混合变换系数。对于所有其它声道来说,所述帧中的六个音频块各包含 由MDCT分析滤波器组产生的多达256个频谱系数。
[0109] 例如,编码比特流包含左声道、中央声道和右声道的数据。当左声道和右声道由 AHT处理且中央声道未经AHT处理时,音频块ΑΒ0包含所述左声道和所述右声道中的每一 个的所有混合变换系数且包含所述中央声道的多达256个MDCT频谱系数。音频块AB1到 AB5包含所述中央声道的MDCT频谱系数而不包含所述左声道和所述右声道的系数。
[0110] 以下程序片段说明了可以处理具有AHT系数的单向音频块。
[0111] (3.1) determine start of a frame in bit stream S (3.2) for each frame N in bit stream S (3.3) unpack metadata 5 in frame N (3.4) get parameters from unpacked frame metadata (3.5) determine start of first audio block K in frame N (3.6) for audio block K in franie \
[0112] (3.7) unpack metadata in block K (3.8) get parameters from unpacked block metadata (3.9) determine start of first channel C in block K (3.10) for channel C in block K (3.! 1) if AHT is in use for channel C tiien (3.12) ifK=0th?n (3.13) unpack and decode exponents (3.14) unpack and dequantize mantissas (3.15) apply inwerse secondary transform to exponents and mantissas (3.16) store MDCT exponents and mantissas in buffer (3.17) end if (3.18) get MBCT exponente and mantissas for ΜοΛ K from buffer (3.19) else (3.20) 賴npaek and ieewle exponents (3.21) unpack and dequanti/e mantissas (3.22) end if (3.23) apply synthesis Alter to decoded audio data for channel C (3.24) determine start of channel C+l in block K ¢3.25) end for (3.26) determine start of block K+l in frame N (3.27) cmicI for (3.28) determine start of next frame N+l in bit stream S (3.29) end for
[0113] 语句(3. 11)确定AHT是否用于声道C。如果使用AHT,那么语句(3. 12)确定第一 音频块ΑΒ0是否正被处理。如果所述第一音频块正被处理,那么语句(3. 13)到语句(3. 16) 获得声道C的所有AHT系数、将反向次级变换或IDCT-II应用到AHT系数以获得MDCT频谱 系数,并将它们存储在缓冲器中。这些频谱系数对应于由语句(3.20)和语句(3.21)针对 未使用AHT的声道获得的指数和解量化的尾数。语句(3. 18)获得对应于正被处理的音频 块Κ的MDCT频谱系数的指数和尾数。例如,如果第一音频块(Κ = 0)正在被处理,那么用 于第一块的所述组MDCT频谱系数的指数和尾数从缓冲器获得。例如,如果第二音频块(Κ =1)正被处理,那么用于第二块的所述组MDCT频谱系数的指数和尾数从缓冲器获得。
[0114] 4.频谱扩展和自适应混合变换
[0115] SPX和ΑΗΤ可以用来产生针对相同声道的编码数据。可以组合以上分别针对频谱 扩展和混合变换处理论述的逻辑来处理利用SPX、利用ΑΗΤ或利用SPX与ΑΗΤ两者的声道。
[0116] 以下程序片段说明了可以处理具有SPX系数和ΑΗΤ系数的单向音频块。
[0117] (4.1) start of a frame in bit stream S (4.2) for each frame N in bit stream S (4.3) unpack mchulatii in fViimt1 (4.4) |)iiramotors from unpacked I'rniiH' nu'tadata (4.5) if SPX frame parameters are present then unpack SPX frame parameters (4.6) determine start of first audio block K in frame N (4.7) for audio block K in frame N (4.8) unpack metadata In block K (4.9) get parameters from unpacked block metadata (4.10) if SPX block paranieitrs are prestnt then unpack SPX b lock p a r a m e t e r s (4.11) for channel C in block K (4.12) if AHT In use for channel C then
[0118] (4.13) if K=0 then (4.14) unpack and decode exponents (4.15) unpack and dequantize 5 mantissas (4.16) apply inverse secondary transform to exponents and mantissas (4.17) store inverse secondary transform exponents and mantissas in buffer (4.18) end if (4.19) get Inverse leconiary tranitorai exponents ani mantissas for block K from buffer (4.20) else (4.21) unpack and decode eiponents (4.22) unpack anil dequantize mantissas (4.23) end if (4.24) if channel C uses SPX then (4.25) extend bandwidth of channel C (4.26) end if (4.27) apply synthesis filter to decoded audio data for dm mi el C (4.28) determine start of channel C+l In block K (4.29) end for (4.30) (Ictenniiu' siart. o.f block K+丨 in frimu1、' (4.31) ciui for (4.32) iletcruiine stiirl ot'iu'xl frunu1 N+l in bit stroam S (4.33) tMid for
[0119] 语句(4. 5)从巾贞元数据解压缩SPX巾贞参数,如果任一 SPX巾贞参数存在于所述元数 据中的话。语句(4. 10)从所述块元数据解压缩SPX块参数,如果任一 SPX块参数存在于所 述块元数据中的话。所述块SPX参数可以包括所述块中的一个或更多个声道的SPX坐标。
[0120] 语句(4. 12)确定AHT是否用于声道C。如果AHT用于声道C,那么语句(4. 13)确 定此块是否为第一音频块。如果其是所述第一音频块,那么语句(4. 14)到语句(4. 17)获 得声道C的所有AHT系数、将反向次级变换或IDCT-II应用于所述AHT系数以获得反向次 级变换系数,并将它们存储在缓冲器中。语句(4. 19)获得对应于正被处理的音频块K的反 向次级变换系数的指数和尾数。
[0121] 如果ΑΗΤ不用于声道C,那么语句(4. 21)和语句(4. 22)解压缩并获得块Κ中的声 道C的指数和尾数,如以上关于程序语句(1. 11)和(1. 12)所论述。
[0122] 语句(4. 24)确定当前音频块中的声道C是否利用SPX。如果其确实利用SPX,那 么语句(4. 25)将SPX处理应用到反向次级变换系数以扩展带宽,藉此获得声道C的MDCT 频谱系数。此程序提供了关于声道C的频谱成分,所述频谱成分输入到语句(4.27)中应用 的合成滤波器组。如果SPX处理未用于声道C,那么所述MDCT频谱系数直接从反向次级变 换系数获得。
[0123] 5.耦合和自适应混合变换
[0124] 声道耦合和ΑΗΤ可以用以产生针对相同声道的编码数据。以上关于频谱扩展和混 合变换处理论述的基本上相同的逻辑可以用来处理利用声道耦合和ΑΗΤ的比特流,因为以 上论述的SPX处理的细节适用于针对声道耦合执行的处理。
[0125] 以下程序片段说明了可以处理具有耦合和ΑΗΤ系数的单向音频块。
[0126] (5.1) start of a frame in bit stream S (5.2) for each frame N in bit stream S (5.3) unpack metadata in frame N (5.4) get parameters from unpacked friime metadata (5.5) if coupling frame parameters are present then unpack coupling frame parameters (5.6) determine start of first audio block K in frame N
[0127] (5.7) for audio block K in frariK1 > (5.8) unpack metadata in block K (5.9) get parameters from unpacked block metadata (5.10) if coupling block parameters are present then unpack coupling block parameters (5.11) for channel C in block K (5.12) if A Hi in use for channel C then (5.13) if K=0 then (5.14) unpack and decode exponents (5.15) unpack and dequaiiti/e inuntissus (5.? 6) ap|>l} inverse secoiuhit y tranrform to exponents and mantissas (5.17) store inverse secendary transform exponents and mantissas in buffer (5.18) end if (5.19) get inverse secondary transform eiponents and mantissas for block K from buffer (5.20) else (5.21) unpack and decodt· exponents for channel C (5.22) unpack and dequantize mantissas 5 ior channel C (5.23) end if (5.24) if channel C uses coupling then (5.25) if channel C is first channel to iise coupling then (5.26) if ΛΗΤ in use tor the coupling channel then (5.27) !fK=0th€ii (5.28) unpack and dec oil e c on p I i n g c h a η n e i exponents (5.29) unpack and iequantlie coupling
[0128] channel mantissas (5.30) apply inverse secondary transform to coupling channel (5.31) store inverse secondary transform coupling channel exponents and mantissas In buffer (5.32) end if (5.33) get coupling channel exponents and mantissas for block K from buffer (5.34) else (5.35) unpack and decode coupling channel exponents (5.36) unpack and deqiiantize coupling channel mantissas (537) end If (5.38) end If (5.39) obtain coupled channel C from coupling channel (5.4()) end if (5.41) apply synthesis filter to decoded audio data for channel C (5.42) determine itart of channel C十 1 置麗 block K (5.43) end for (5.44) determine start of block K + 1 in frame N (5.45) ?id for (5.46) determine start of next frame N+l in bit stream S (5.47) end for
[0129] 语句(5. 5)从帧元数据解压缩声道耦合参数,如果任一声道耦合参数存在于所述 元数据中的话。语句(5. 10)从所述块元数据解压缩声道耦合参数,如果任一声道耦合参数 存在于所述块元数据中的话。如果它们存在,那么获得所述块中的被耦合声道的耦合坐标。
[0130] 语句(5. 12)确定所述AHT是否用于声道C。如果利用所述AHT,那么语句(5. 13) 确定所述块是否是第一音频块。如果其是第一音频块,那么语句(5. 14)到语句(5. 17)获 得所述声道C的所有AHT系数、将反向次级变换或IDCT-II应用到AHT系数以获得反向次 级变换系数和将它们存储在缓冲器中。语句(5. 19)获得对应于正被处理的音频块K的反 向次级变换系数的指数与尾数。
[0131] 如果所述ΑΗΤ未用于声道C,那么语句(5. 21)和语句(5. 22)解压缩和获得块Κ中 的声道C的指数与尾数,如以上关于程序语句(1. 11)和程序语句(1. 12)所论述。
[0132] 语句(5. 24)确定声道耦合是否用于声道C。如果利用声道耦合,那么语句(5. 25) 确定声道C是否是所述块中利用耦合的第一声道。如果是,那么所述耦合声道的指数和尾 数由语句(5. 26)到语句(5. 33)中所示的将反向次级变换应用到所述耦合声道指数和尾数 获得,或者从语句(5.35)和语句(5.36)中所示的比特流中的数据获得。表示所述耦合声 道尾数的数据位于所述比特流中紧接着表示声道C的尾数的数据之后。语句(5.39)利用 声道C的适当耦合坐标,从所述耦合声道获得被耦合声道C。如果声道耦合未用于声道C, 那么MDCT频谱系数直接从所述反向次级变换系数获得。
[0133] 6.频谱扩展、耦合和自适应混合变换
[0134] 频谱扩展、声道耦合和所述ΑΗΤ可以全部用来产生相同声道的编码数据。以上关 于ΑΗΤ处理与频谱扩展的组合和关于ΑΗΤ处理与耦合的组合论述的逻辑可以组合来通过并 入处理八种可能情况所需的额外逻辑而处理利用所述三个编码工具中的任一组合的声道。 关于声道去耦合的处理在执行SPX处理之前执行。
[0135] F.实施方式
[0136] 并入本发明的各个方面的装置可以用各种各样的方式来实施,所述各种各样的方 式包括由计算机或由包括更专用组件的某一其它装置执行的软件,所述更专用组件诸如为 耦接到与通用计算机上出现的组件类似的组件的数字信号处理器(DSP)电路。图8是可以 用以实施本发明的方面的装置90的示意性框图。处理器92提供计算资源。RAM 93是由 用于处理的处理器92使用的系统随机存取存储器(RAM)。R0M94表示某种形式的持久存储 器,诸如用于存储操作装置90所需的程序和可能用于执行本发明的各个方面的只读存储 器(ROM)。I/O控制95表示用以藉由通信信道1、通信信道16接收和发送信号的接口电路。 在显示的实施例中,所有主要的系统组件连接到总线91,其可以表示不止一个的物理或逻 辑总线;然而,实施本发明无需总线架构。
[0137] 在由通用计算机系统实施的实施例中,可以包括其它组件以用于与诸如键盘或鼠 标和显示器的装置接口连接,和用于控制具有诸如磁带或磁盘或光学介质的存储介质的存 储装置。所述存储介质可以用以记录操作系统的指令程序、公用程序和应用程序,且可以包 括实施本发明的各个方面的程序。
[0138] 实施本发明各个方面所需的功能可以由以多种多样方式实施的组件执行,所述组 件包括分立逻辑组件、集成电路、一个或更多个ASIC和/或程控处理器。这些组件实施的 方式对本发明并不重要。
[0139] 本发明的软件实施方式可以由各种各样的机器可读介质传送,诸如包括从超声频 到紫外线频的频谱中的基频通信路径或调制通信路径,或者基本上利用任何记录技术传送 信息的存储介质传送,所述任何记录技术包括磁带、磁卡或磁盘、光卡或光盘和包括纸的介 质上的可检测标记。
【权利要求】
1. 一种用于对编码数字音频信号的帧进行解码的方法,其中: 所述帧包含帧元数据、第一音频块和一个或更多个后续音频块;和 所述第一音频块和所述后续音频块各包含块元数据和两个或更多个音频声道的编码 音频数据,其中: 所述编码音频数据包含表示所述两个或更多个音频声道的频谱内容的比例因子和缩 放值,每一缩放值与所述比例因子中的相应的一个比例因子相关;和 所述块元数据包含控制信息,所述控制信息描述由产生所述编码音频数据的编码过程 所利用的编码工具,其中所述控制信息指示所述编码过程利用了自适应混合变换处理并且 其中自适应混合变换处理包括: 将由初级变换实施的分析滤波器组应用到所述两个或更多个音频声道以产生初级变 换系数,和 将次级变换应用到针对所述两个或更多个音频声道中的至少一些音频声道的所述初 级变换系数以产生混合变换系数; 并且其中所述方法包括以下步骤: (A) 接收所述编码数字音频信号的所述帧;和 (B) 在单次通过中检查所述帧的所述编码数字音频信号,以按块顺序地解码每一个音 频块的所述编码音频数据,其中解码每一个相应的音频块包括: (1) 如果所述相应的音频块是所述帧中的所述第一音频块,那么: (a) 从所述第一音频块中的所述编码音频数据获得所述帧的所述相应的声道的所有混 合变换系数,和 (b) 将反向次级变换应用到所述混合变换系数以获得反向次级变换系数,和 (2) 针对所述相应的音频块中的所述相应的声道,从所述反向次级变换系数获得初级 变换系数;以及 (C) 将反向初级变换应用到所述初级变换系数以产生表示所述相应的音频块中的所述 相应的声道的输出信号。
2. 根据权利要求1所述的方法,其中所述编码数字音频信号的所述帧符合增强型AC-3 比特流语法。
3. 根据权利要求2所述的方法,其中所述编码工具包括频谱扩展处理,所述控制信息 指示所述编码过程利用了频谱扩展处理,且解码每一个相应的音频块进一步包括: 从所述反向次级变换系数合成一个或更多个频谱成分以获得具有扩展带宽的初级变 换系数。
4. 根据权利要求2或3所述的方法,其中所述编码工具包括声道耦合,所述控制信息指 示所述编码过程利用了声道耦合,且解码每一个相应的音频块进一步包括: 从所述反向次级变换系数得出频谱成分以获得被耦合声道的初级变换系数。
5. 根据权利要求2或3所述的方法,其中所述编码工具包括声道耦合,所述控制信息指 示所述编码过程利用了声道耦合,且解码每一个相应的音频块进一步包括: (A)如果所述相应的声道是所述帧中利用耦合的第一声道,那么: (1)如果所述相应的音频块是所述帧中的所述第一音频块,那么: (a)从所述第一音频块中的所述编码音频数据获得所述帧中的耦合声道的所有混合变 换系数,和 (b)将反向次级变换应用到所述混合变换系数以获得反 向次级变换系数, (2)从所述相应的音频块中的耦合声道的所述反向次级变换系数获得初级变换系数; 以及 (B)通过对耦合声道的频谱成分进行去耦合来获得所述相应的声道的初级变换系数。
6. -种用于对编码数字音频信号的帧进行解码的设备,其中: 所述帧包含帧元数据、第一音频块和一个或更多个后续音频块;和 所述第一音频块和所述后续音频块各包含块元数据和两个或更多个音频声道的编码 音频数据,其中: 所述编码音频数据包含表示所述两个或更多个音频声道的频谱内容的比例因子和缩 放值,每一缩放值与所述比例因子中的相应的一个比例因子相关;和 所述块元数据包含控制信息,所述控制信息描述由产生所述编码音频数据的编码过程 所利用的编码工具,其中所述控制信息指示所述编码过程利用了自适应混合变换处理并且 其中自适应混合变换处理包括: 将由初级变换实施的分析滤波器组应用到所述两个或更多个音频声道以产生初级变 换系数,和 将次级变换应用到针对所述两个或更多个音频声道中的至少一些音频声道的所述初 级变换系数以产生混合变换系数; 并且其中所述设备包括: (A) 用于接收所述编码数字音频信号的所述帧的模块;和 (B) 用于在单次通过中检查所述帧的所述编码数字音频信号,以按块顺序地解码每一 个音频块的所述编码音频数据的模块,其中用于解码每一个相应的音频块的模块包括: (1) 用于如果所述相应的音频块是所述帧中的所述第一音频块则进行如下处理的模 块: (a) 从所述第一音频块中的所述编码音频数据获得所述帧的所述相应的声道的所有混 合变换系数,和 (b) 将反向次级变换应用到所述混合变换系数以获得反向次级变换系数,和 (2) 用于针对所述相应的音频块中的所述相应的声道,从所述反向次级变换系数获得 初级变换系数的模块;以及 (C) 用于将反向初级变换应用到所述初级变换系数以产生表示所述相应的音频块中的 所述相应的声道的输出信号的模块。
7. 根据权利要求6所述的设备,其中所述编码数字音频信号的所述帧符合增强型AC-3 比特流语法。
8. 根据权利要求7所述的设备,其中所述编码工具包括频谱扩展处理,所述控制信息 指示所述编码过程利用了频谱扩展处理,且用于解码每一个相应的音频块的模块进一步包 括: 用于从所述反向次级变换系数合成一个或更多个频谱成分以获得具有扩展带宽的初 级变换系数的模块。
9. 根据权利要求7或8所述的设备,其中所述编码工具包括声道耦合,所述控制信息指 示所述编码过程利用了声道耦合,且用于解码每一个相应的音频块的模块进一步包括: 用于从所述反向次级变换系数得出频谱成分以获得被耦合声道的初级变换系数的模 块。
10. 根据权利要求7或8所述的设备,其中所述编码工具包括声道耦合,所述控制信息 指示所述编码过程利用了声道耦合,且用于解码每一个相应的音频块的模块进一步包括: (A) 用于如果所述相应的声道是所述帧中利用耦合的第一声道那么进行如下操作的模 块: (1) 如果所述相应的音频块是所述帧中的所述第一音频块,那么: (a) 从所述第一音频块中的所述编码音频数据获得所述帧中的耦合声道的所有混合变 换系数,和 (b) 将反向次级变换应用到所述混合变换系数以获得反向次级变换系数, (2) 从所述相应的音频块中的耦合声道的所述反向次级变换系数获得初级变换系数; 以及 (B) 用于通过对耦合声道的频谱成分进行去耦合来获得所述相应的声道的初级变换系 数的模块。
【文档编号】G10L19/008GK104217724SQ201410410643
【公开日】2014年12月17日 申请日期:2010年10月28日 优先权日:2009年12月7日
【发明者】K·拉马莫尔西 申请人:杜比实验室特许公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1