调适最低有效比特的编码与解码的音频编码器、音频解码器、方法及计算机程序与流程
本申请是申请人为弗朗霍夫应用科学研究促进协会、申请日为“2018年11月8日”、申请号为“201880085999.0”、发明名称为“调适最低有效位元的编码与解码的音频编码器、音频解码器、方法及计算机程序”的分案申请。
根据本发明的实施例关于用于基于经编码音频信息提供经解码音频信息的音频解码器。
根据本发明的其他实施例关于用于基于输入音频信息提供经编码音频信息的音频编码器。
根据本发明的其他实施例关于用于基于经编码音频信息提供经解码音频信息的方法。
根据本发明的其他实施例关于用于基于输入音频信息提供经编码音频信息的方法。
根据本发明的其他实施例关于相应计算机程序。
根据本发明的实施例关于算术编码音频数据的经改良截断。
背景技术:
在过去,已开发出音频内容的编码及解码的许多不同概念。
举例而言,新蓝牙编解码器(nbc)为极类似于在3gppevs标准[1]中使用的基于mdct的tcx音频编解码器的音频编解码器。此二者皆采用标量量化及基于上下文的算术编码(例如,参考用于写码mdct数据的[2]至[4])。
标量量化器为简单的均匀量化器(具有额外死区),其步长由唯一的全局增益(其例如作为边信息被发送至解码器)控制。此全局增益控制由标量量化器引入的失真以及由算术编码器消耗的比特的数目二者。全局增益愈高,失真就愈高,且由算术编码器消耗的比特的数目就愈小。
在evs中,如同在大多数其他通信编解码器中一样,编解码器比特率是恒定的,亦即,存在有限数目个可用于编码mdct数据的比特(比特预算)。
因此,编码器应寻找(或必须寻找)不过低的全局增益,否则由算术编码器消耗的比特的数目会超出比特预算。并且,其应(或必须)寻找不过高的全局增益,否则由量化引入的失真会较高,从而导致经解码输出信号的感知质量较差。
理想地,编码器应在每一帧处寻找最佳全局增益:赋予最小失真同时产生少于比特预算的比特数目的全局增益。
此目标可例如使用迭代方法来达成,该迭代方法亦已知为速率回路:在回路的每次迭代时,重新量化mdct数据,估计由算术编码器消耗的比特的数目,且随着比特数目和/或失真变化调整全局增益。
然而,速率回路在计算上较为复杂,且为了降低复杂性,通常使用小数目的迭代。此与要求极低计算复杂性的极低功率通信编解码器(例如,新蓝牙编解码器)特别相关。因此,实务上,通常发现次最佳的全局增益。
已发现,在一些状况下,所发现的全局增益过高,从而导致所消耗的比特数目显著低于比特预算。在此状况下,存在数个未使用的比特。这些比特实际上可由称为“残差量化/写码”(其例如用于evs及nbc中)的额外工具使用。此工具使用一个比特pro系数来细化经量化的非零系数,且帮助获得即使在全局增益过高时亦不会过高的失真。
此外,已发现,在一些其他状况下,所发现的全局增益过低,从而导致所消耗的比特数目超出比特预算。在此状况下,经量化数据无法被完全编码。换言之,必须省略数据的一部分以便保持在比特预算之内。在evs标准中(且当前亦在nbc中)采用的方案为藉由将高频率非零系数设定成零来将其截断。由于算术编码器不编码高频率零系数的部分(藉由使用最末非零系数指数),因此,此方法允许节省比特,且若足够的高频率非零系数被截断,则此方法允许保持在比特预算之内。
已发现,此方法在低比特率下产生良好结果,因为高频率系数在感知上不太重要,且其可由不规则规噪声替换(使用噪声填充工具,参见例如evs[1])而无感知质量的显著损失。
然而,亦已发现,在高比特率下,此方法可能使编解码器效能严重降级。
鉴于此情形,希望有允许在音频质量、复杂性与比特率之间进行经改良权衡的概念。
技术实现要素:
根据本发明的实施例产生一种用于基于经编码音频信息提供经解码音频信息的音频解码器。该音频解码器经配置以基于表示频谱值的经编码信息获得经解码频谱值。该音频解码器经配置以使用算术解码,针对一组频谱值,基于相应符号码来联合地解码每频谱值(例如,每经量化频谱值)两个或更多个最高有效比特。相应符号码表示针对一个或多个频谱值的每频谱值两个或更多个最高有效比特。该音频解码器经配置以取决于多少最低有效比特信息可用而解码与频谱值中的一个或多个相关联的一个或多个最低有效比特,使得与频谱值(其可例如为经量化频谱值)中的一个或多个相关联的一个或多个最低有效比特被解码,而针对已解码两个或更多个最高有效比特所针对的一个或多个其他频谱值,最低有效比特不被解码,一个或多个其他频谱值包括多于两个或更多个最高有效比特的比特。此外,该音频解码器经配置以使用(经解码)频谱值来提供经解码音频信息。
此音频解码器允许在音频质量、复杂性与比特率之间提供良好权衡的高效编码/解码概念。举例而言,音频解码器可较好地处置比特预算不足以在给定比特预算约束下编码音频编码器侧处的所有(经量化)频谱值的状况。
该音频解码器基于如下发现:对于给定比特预算,若针对许多频谱值(或甚至针对所有非零频谱值)编码(及解码)一个或多个最高有效比特,同时省略(经量化)频谱值中的一些的最低有效比特的编码(及解码),则可达成相对良好的音频质量。换言之,本发明的关键想法在于,在比特预算不足(例如,针对经量化频谱值的完整编码)的状况下,若省略一些最低有效比特的编码及解码,则相比于省略完整频谱值的编码的方案,音频质量的降级通常较小。换言之,已发现,相比于完全省略相对较少量的频谱值的编码,省略许多频谱值的最低有效比特的编码通常仍为减少比特需求(以保持在比特预算之内)的较佳方案(即使仅省略高频率区中的频谱值亦如此)。换言之,本发明基于如下发现:(选择性地)省略针对已解码一个或多个最高有效比特所针对的频谱值的最低有效比特的解码是减少比特需求的良好方式,相比于省略高频率范围内的频谱值的编码及解码,该方式带来较少失真。
因此,此处所描述的音频解码器通常不会导致比特预算不足以对经量化频谱值进行完整无损编码的帧中的严重信号噪声比降级。
此外,已发现,该概念在联合地编码及解码每频谱值两个或更多个最高有效比特的状况下特别高效,因为在此状况下,最高有效比特携载足够有意义的信息,以便即使在不编码及解码最低有效比特的状况下也允许进行良好的音频表示。换言之,藉由联合地解码每频谱值两个或更多个最高有效比特,可确保不存在过多伪声,该将会例如藉由引入编码有高频率区中的少于二个比特的音频内容来产生该伪声。换言之,已发现,本文中所提及的概念实现比特率、复杂性与音频质量之间的良好构成。
在较佳实施例中,该音频解码器经配置以将算术编码表示的一个符号映射到至少一个频谱值的至少两个最高有效比特上,该符号表示该至少一个频谱值的该至少两个最高有效比特。因此,可达成由算术编码表示(其为经编码音频信息的部分)的单一符号表示两个或更多个最高有效比特,此允许良好地考虑编码/解码上下文及邻近(经量化)频谱值之间的统计相依性。
在较佳实施例中,该算术解码经配置以确定至少两个最高有效比特(例如,在本文中指定为“numbits”及“numbits-1”的比特位置(例如,比特权重)且将由算术编码表示的符号确定的至少两个最高有效比特分配到经确定的比特位置。比特位置可例如基于数个所谓的“逸出符号”来确定,该逸出符号也可指定为“val_esc”。举例而言,可个别地针对算术编码表示的不同符号确定比特位置。因此,可将恰当的数值权重分配至最高有效比特,且也可发现一个或多个最低有效比特及一个或多个中间比特(其比特位置在一个或多个最低有效比特与两个或更多个最高有效比特之间)是否与频谱值相关联。因此,可决定是否仍应存在针对相应频谱值的一个或多个最低有效比特(及任选地针对相应频谱值的一个或多个中间比特)的解码。另外,藉由使用此概念,有可能避免针对两个或更多个最高有效比特足以完全表示频谱值所针对的这些频谱值来编码及解码最低有效比特。举例而言,此对于处于0与3之间的范围内的频谱值是真实的(在存在二个最高有效比特的状况下)。
在较佳实施例中,该音频解码器经配置以针对已解码两个或更多个最高有效比特所针对的所有频谱值,解码一个或多个中间比特,已解码两个或更多个最高有效比特所针对的所有频谱值包括多于两个或更多个最高有效比特及最低有效比特的比特,一个或多个中间比特的比特位置在最低有效比特与两个或更多个最高有效比特之间。因此,有可能解码经量化频谱值的二进制数表示的除最低有效比特以外的所有比特。举例而言,对于所有非零频谱值,有可能解码所有频谱值的二进制(且可能带符号)数表示的除最低有效比特以外的所有比特。因此,可获得良好的频谱表示,其中独立于针对相应频谱值的最低有效比特的经编码表示是否归因于比特率约束而可包括到经编码音频表示中的问题,每个频谱值的最大误差受限于最低有效比特得以确保。
在较佳实施例中,该音频解码器经配置以在第一解码阶段(例如,解码步骤3)中,解码每频谱值两个或更多个最高有效比特,以及针对解码两个或更多个最高有效比特所针对的所有频谱值,解码一个或多个中间比特,解码两个或更多个最高有效比特所针对的所有频谱值包括多于两个或更多个最高有效比特(其经联合地解码)及最低有效比特的比特,一个或多个中间比特的比特位置在最低有效比特与两个或更多个最高有效比特之间。此外,在第一解码阶段中,针对解码两个或更多个最高有效比特所针对的、且两个或更多个最高有效比特及任何中间比特(在中间比特存在的情况下)指示非零值所针对的所有频谱值,解码符号。此外,该音频解码器经配置以在该第一解码阶段中选择性地省略针对两个或更多个最高有效比特及任何中间比特(在中间比特存在的情况下)指示零值所针对的频谱值的符号的解码。此外,该音频解码器经配置以在该第一解码阶段之后的第二解码阶段(例如,解码步骤6)中选择性地获得针对两个或更多个最高有效比特及任何中间比特(在中间比特存在的情况下)指示零值,且最低有效比特信息指示非零值所针对的频谱值的符号信息。
因此,若在第一阶段中解码的那些比特(亦即,可能存在的两个或更多个最高有效比特及任何中间比特)指示频谱值的绝对值不大于最低有效比特的贡献,则在第一阶段中不执行符号解码。因此,符号的解码被推迟,直至最低有效比特进行实际解码为止。此程序是有利的,因为可避免“过早”且徒劳地解码符号,若对应于相应频谱值的最低有效比特归因于比特预算耗尽而不包括中比特流中,则可能出现此状况。
在较佳实施例中,该音频解码器经配置以依序使用最低有效比特信息比特序列(例如,lsbs[])的后续比特,以便获得与频谱值相关联的最低有效比特值。因此,可达成存在表示最低有效比特(任何符号,在有必要的情况下)的连续比特序列。藉由缩短此比特序列(例如,lsbs[]),可容易地在音频编码器侧处调整传输经编码音频表示所需的比特率,且可极容易地且在无复杂比特映射的情况下将音频解码器调适成比特率的此调整(或可变长度或lsbs[])。
在较佳实施例中,该音频解码器经配置以针对相应频谱值使用该最低有效比特信息比特序列(例如,lsbs[])的单一比特(例如,步骤6,比特0),该两个或更多个最高有效比特值及任何中间比特(在中间比特存在的情况下)针对相应频谱值指示非零值,其中在此状况下,最低有效比特信息比特序列的该单一比特用以获得最低有效比特值。此外,该音频解码器经配置以针对相应频谱值使用该最低有效比特信息比特序列的单一比特(例如,步骤6,比特0),该两个或更多个最高有效比特及任何中间比特(在中间比特存在的情况下)针对相应频谱值指示零值,且该最低有效比特信息比特序列的所用单一比特针对相应频谱值确认该零值(例如,步骤6中的比特0的值“0”)。此外,该音频解码器经配置以针对相应频谱值使用该最低有效比特信息比特序列的两个后续比特(例如,步骤6中的比特0及比特1),该两个或更多个最高有效值及任何中间比特(在中间比特存在的情况下)针对相应频谱值指示零值,且该最低有效比特信息比特序列的所用比特中的第一个针对相应频谱值指示与该零值偏离最低有效比特值(步骤6中的比特0的值“1”),其中该最低有效比特信息比特序列的所用比特(例如,步骤6中的比特1)中的第二个确定该相应频谱值的符号。
藉由使用此类机制,可达成高比特率效率。对于最低有效比特的编码及解码,仅存在一个连续比特序列(例如,lsbs[]),其中此一个连续比特序列亦选择性地含有仅与零值偏离最低有效比特值(亦即,两个或更多个最高有效比特及任何中间比特(在中间比特存在的情况下)针对这些频谱值指示零值)的这些频谱值的符号信息。
在较佳实施例中,该音频解码器经配置以解码始于与最低频率频谱值相关联的最低有效比特且朝向与愈来愈高的频率相关联的频谱值行进的最低有效比特,使得在从最低频率频谱值直至最末最低有效比特信息可用于的频谱值的范围内,通过最低有效比特信息细化频谱值(例如,包括多于两个或更多个最高有效比特的比特的所有频谱值),且使得具有大于与最末最低有效比特信息可用于的频谱值相关联的频率的相关联频率的(例如,所有)频谱值(例如,甚至包括多于该两个或更多个最高有效比特的比特的经解码频谱值)保持未细化。换言之,使用最低有效比特信息来细化较小频率范围(从最低频率频谱值直至使最末最低有效比特信息相关联的频谱值)内的频谱值,而与较高频率相关联的频谱值皆保持未细化。因此,藉由使用最低有效比特细化来增加感知上较重要的低频率范围的分辨率,而仅在感知上不太重要的较高频率范围内使用两个或更多个最高有效比特(及中间比特,若可用)。因此,可基于可用比特率获得最佳可能听觉印象,其中亦存在向哪些频谱值提供最低有效比特信息的简单机制。此外,频谱值可从最低频率频谱值直至与最末最低有效比特信息相关联的频谱值被细化。
在较佳实施例中,该音频解码器经配置成在第一模式与第二模式之间可切换,在该第一模式中,响应于来自该编码器的信令而省略(例如,完全省略)较高频率范围内的频谱值的解码,且针对解码一个或多个最高有效比特所针对的所有频谱值,解码最低有效比特,解码一个或多个最高有效比特所针对的所有频谱值包括多于该最高有效比特的比特,在该第二模式中,解码与该频谱值中的一个或多个相关联的一个或多个最低有效比特,而针对解码一个或多个最高有效比特所针对的一个或多个其他频谱值,不解码最低有效比特,一个或多个其他频谱值包括多于最高有效比特的比特。
换言之,该音频解码器在两个模式之间可切换,该模式使用显著不同的机制来处置比特预算的耗尽。
在第一模式中,完全编码(及解码)较低频率范围内的所有频谱值,包括最低有效比特,而由编码器完全丢弃较高频率范围内的所有频谱值,即使频谱值为非零的并因此不在解码器侧处被解码也是如此。在第二模式中,至少针对所有非零频谱值编码(并因此解码)最高有效比特,但若(或者只要)仍存在可用比特预算,则仅编码(及解码)最低有效比特。
然而,已发现,在二个不同模式之间切换的可能允许音频解码器调适成变化的传输条件。举例而言,已发现,第一模式有时比第二模式更有利,例如在仅极小的比特率可用的情况下。另一方面,也已发现,在存在足够高的比特率的情况下,第一模式不提供良好结果,其中许多频谱值的二进制表示包括除两个或更多个最高有效比特之外的最低有效比特。因此,在仅存在若干最低有效比特的情况下及在存在相对大数目的最低有效比特的情况下,音频解码器用良好结果进行操作(其中第二模式中的操作在第一种状况下通常成问题,而第二模式中的操作在第二种状况下通常极有利)。
在较佳实施例中,该音频解码器经配置以评估包括于该经编码音频表示中的比特流标志,以便决定该音频编码器在该第一模式中还是在该第二模式中操作。因此,第一模式与第二模式之间的切换可由音频编码器控制,该音频编码器通常包括关于哪一模式最有利的良好知识。另外,可降低音频解码器的复杂性,因为音频解码器无需自行决定是否使用第二模式的第一模式。
在另一实施例中,该音频解码器经配置以针对至少两个频谱值,基于相应符号码,联合地解码每频谱值两个或更多个最高有效比特,其中相应符号码表示针对至少两个频谱值的每频谱值两个或更多个最高有效比特。对频谱值(其中两个或更多个频谱值由算术编码表示的单一符号表示)进行这样的分组亦特别高效,因为在邻近频谱值之间通常存在一定相关性,且因为不必针对二个最高有效比特中的每一者个别地编码比特位置。然而,可能自然地发生频谱值中的一个的“最高有效比特”皆为“零”的情况,因为比特位置通常由具有较大绝对值的频谱值确定。
根据本发明的实施例产生一种用于基于经编码音频信息提供经解码音频信息的音频解码器。该音频解码器经配置以基于表示频谱值的经编码信息获得经解码频谱值。该音频解码器经配置以针对多个频谱值,基于相应符号码,解码一个或多个最高有效比特,且针对该频谱值中的一个或多个解码一个或多个最低有效比特。详言之,该音频解码器经配置成在第一模式与第二模式之间可切换,在该第一模式中,响应于来自该编码器的信令而省略(例如,完全省略)较高频率范围内的频谱值的解码,且针对解码(或已解码)一个或多个最高有效比特所针对的所有频谱值,解码最低有效比特,解码一个或多个最高有效比特所针对的所有频谱值包括多于该最高有效比特的比特,在该第二模式中,解码与该频谱值中的一个或多个相关联的一个或多个最低有效比特,而针对解码(或已解码)一个或多个最高有效比特所针对的一个或多个其他频谱值,不解码最低有效比特,一个或多个其他频谱值包括多于该一个或多个最高有效比特的比特。此外,该音频解码器经配置以使用频谱值来提供经解码音频信息。
此实施例基于以下想法:取决于情况,第一模式或第二模式在复杂性、比特率与音频质量之间的权衡方面可能更有利。音频解码器可处置针对处理比特预算耗尽的二种不同方法。当在第一模式中操作时,音频解码器可处置音频编码器省略较高频率范围内的频谱值的编码而低频率范围内的频谱值(包括最低有效比特)皆被完全编码的情形。在第二模式中,音频解码器处置经编码音频信息,其中针对频谱值中的一些选择性地省略最低有效比特,即使针对所有频谱值编码一个或多个最高有效比特亦如此。如上文已提及,二种方法的优点取决于一些其他系统参数(例如,可用比特率),且此处所描述的音频解码器可因此在变化条件下提供良好结果。
此音频解码器亦可由上文所提及的音频解码器的特征及功能性中的任一个补充。
在较佳实施例中,该音频解码器经配置以在该第一模式中从连续比特序列获得中间比特及与给定频谱值相关联的该最低有效比特,该中间比特的比特位置在该最低有效比特与该一个或多个最高有效比特之间。此外,该音频解码器经配置以在该第二模式中从单独比特序列或从比特序列的单独非连续比特位置获得中间比特及与给定频谱值相关联的该最低有效比特,该中间比特的比特位置在该最低有效比特与该一个或多个最高有效比特之间。
换言之,在第一模式中,可存在编码中间比特(在中间比特存在的情况下)及最低有效比特二者的单一连续比特序列。此连续比特序列在比特率预算减少的状况下可容易地被缩短,该连续比特序列包括关于中间比特的信息及关于最低有效比特的信息二者(但其通常不包括关于一个或多个最高有效比特的信息)。另一方面,在第二模式中,表示最低有效比特的信息及表示中间比特的信息包含于单独比特序列或比特序列的单独子序列中。因此,存在获得关于中间比特的信息(及任选地符号信息)的一个比特序列,且存在包括关于最低有效比特的信息(及任选地关于极接近零的值的符号的信息)的一个序列。因此,由于在第二模式中操作时关于最低有效比特的信息处于单独序列中,因此包括最低有效比特的序列易于移除或缩短,以藉此降低所需的比特率。该音频解码器可容易地调适成变化长度的包括最低有效比特的序列,原因在于频谱值的最低有效比特细化取决于表示最低有效比特的序列中包含多少比特而应用于较多或较少频谱值。
根据本发明的实施例产生一种用于基于输入音频信息提供经编码音频信息的音频编码器。该音频编码器经配置以获得表示该输入音频信息的音频内容的频谱值。该音频编码器亦经配置以编码至少多个频谱值,以便获得表示该频谱值的经编码信息(其可为经编码音频信息的一部分)。此外,该音频编码器经配置以使用算术编码,针对一组频谱值,联合地编码每频谱值两个或更多个最高有效比特,以获得相应符号码。相应符号码可表示针对一个或多个频谱值的每频谱值两个或更多个最高有效比特。
该音频解码器亦经配置以取决于可用比特预算而编码与该频谱值中的一个或多个相关联的一个或多个最低有效比特,使得与该频谱值中的一个或多个相关联的一个或多个最低有效比特被编码,而针对编码两个或更多个最高有效比特所针对的一个或多个其他频谱值,最低有效比特不被编码,该一个或多个其他频谱值包括多于该两个或更多个最高有效比特的比特。此外,该音频编码器经配置以使用表示该频谱值的该经编码信息来提供该经编码音频信息。
此音频编码器基于以下想法:可藉由选择性地省略使用算术编码来编码两个或更多个最高有效比特所针对的频谱值编码一个或多个最低有效比特来达成复杂性、比特率与音频质量之间的良好权衡。已发现,在存在被编码的至少两个最高有效比特的状况下,省略一个或多个最低有效比特的编码并非特别不利。
详言之,已发现,相比于全部省略一些频谱值的编码以保持在比特预算之内,省略针对编码最高有效比特所针对的一个或多个(经量化)频谱值编码最低有效比特致使音频质量的降级小得多。
在较佳实施例中,该算术编码经配置以例如个别地针对算术编码表示的不同符号,确定至少两个最高有效比特(例如,numbits及numbits-1)的比特位置(例如,比特权重),且将描述该比特位置的信息包括到算术编码表示中,该信息例如包括一个或多个“val_esc”符号的逸出序列。因此,两个或更多个最高有效比特的比特位置或比特权重可调适成实际频谱值,其中对于相对大的频谱值,最高有效比特可具有大的比特权重,且其中对于相对较小的频谱值,最高有效比特可具有相对小的比特权重。因此,可使用两个或更多个最高有效比特来完全编码一些经量化频谱值,其中不存在剩余的最低有效比特(或中间比特)。相比之下,可使用两个或更多个最高有效比特且使用至少一个最低有效比特来编码其他相对较大的频谱值。对于除两个或更多个最高有效比特之外亦存在至少一个最低有效比特所针对的这些相对大的频谱值,编码器可取决于可用比特预算是否耗尽,灵活地决定是否编码最低有效比特。然而,量化分辨率愈高,除两个或更多个最高有效比特之外还包括一个或多个最低有效比特的频谱值的数目就愈大。因此,对于精细量化,藉由不编码最低有效比特来节省比特的可能性特别高。
在较佳实施例中,该音频编码器经配置以将至少一个频谱值的至少两个最高有效比特映射到算术编码表示的一个符号上,该符号表示至少一个频谱值的至少两个最高有效比特。已发现,使用算术编码表示的一个符号来联合地编码两个或更多个最高有效比特特别高效,这是由于例如在确定算术编码的上下文时可利用邻近频谱值的最高有效比特之间的相关性。
在较佳实施例中,该音频编码器经配置以针对编码两个或更多个最高有效比特所针对的所有频谱值,编码一个或多个中间比特,编码两个或更多个最高有效比特所针对的所有频谱值包括多于该两个或更多个最高有效比特及该最低有效比特的比特,该一个或多个中间比特的比特位置在该最低有效比特与该两个或更多个最高有效比特之间。因此,编码两个或更多个最高有效比特所针对的所有频谱值实际上以良好分辨率编码。对于这些频谱值,始终编码除最低有效比特以外的所有比特,这带来良好分辨率且具有在比特预算耗尽的状况下仅最低有效比特受影响的效果。因此,可维持极佳听觉印象。
在较佳实施例中,该音频编码器经配置以在第一编码阶段中,编码每频谱值两个或更多个最高有效比特,且在该第一编码阶段中,还针对编码两个或更多个最高有效比特所针对的频谱值,编码一个或多个中间比特,编码两个或更多个最高有效比特所针对的频谱值包括多于该两个或更多个最高有效比特(其经联合地编码)及最低有效比特的比特,该一个或多个中间比特的比特位置在该最低有效比特与该两个或更多个最高有效比特之间。此外,该编码器经配置以在该第一编码阶段中,针对编码两个或更多个最高有效比特所针对的、且两个或更多个最高有效比特及任何中间比特(在中间比特存在的情况下)指示非零值所针对的所有频谱值,编码符号。然而,该音频编码器经配置以在该第一编码阶段中选择性地省略针对两个或更多个最高有效值及任何中间比特(在中间比特存在的情况下)指示零值所针对的频谱值的符号的编码。因此,在第一编码阶段中,编码最高有效比特及中间比特(在中间比特存在于最高有效比特与最低有效比特之间的情况下)。然而,在第一编码阶段中,若两个或更多个最高有效比特及中间比特指示非零值,则仅编码符号。换言之,在第一编码阶段中,若频谱值极小以使得其仅与零相差最低有效比特值,则不编码符号(其为两个或更多个最高有效比特的比特权重经选择使得最高有效比特皆为零的状况,此状况可能例如在给定频谱值的比特权重受大于给定频谱值的一个或多个邻近频谱值影响时发生)。
此外,该音频编码器经配置以在该第一编码阶段之后的第二编码阶段中,选择性地编码针对两个或更多个最高有效比特及任何中间比特(在中间比特存在的情况下)指示零值,且最低有效比特信息指示非零值所针对的频谱值的符号信息。换言之,对于仅与零相差最低有效比特值的极小频谱值,仅在第二编码阶段中编码符号,其中是否针对给定频谱值实际上执行(或完成)第二编码阶段(亦即,最低有效比特信息是否包括至经编码音频信息中)的决策取决于比特预算。因此,第一编码阶段为精简的,且仅在第二编码阶段中编码符号信息(例如,包括至经编码音频信息中),除非已自最高有效比特及任何中间比特(在存在任何中间比特的情况下)的编码明确,符号信息在任何状况下皆为必要的。由于开始时未明确将针对哪些频谱值执行第二编码阶段,因此避免了不必要信息的编码且使效率最大化。仅当已知针对最高有效比特及任何中间比特的解码需要多少比特且多少比特已由其他最低有效比特的编码使用时,可做出关于是否将执行第二编码阶段的最终决策。
在较佳实施例中,该音频编码器经配置以针对仅与零相差最低有效比特的频谱值,仅当实际上编码这些频谱值的最低有效比特(将其包括于经编码音频表示中)时,才将符号信息包括到经编码音频表示中。因此,可避免将不必要信息包括到经编码音频信息(或经编码音频表示)中。换言之,针对即使在不考虑最低有效比特时也为非零的所有频谱值,包括了符号信息。针对仅在考虑最低有效比特时为非零的频谱值,仅当最低有效比特信息实际上包括于经编码音频表示中时,才将符号信息包括到经编码音频表示中。
在较佳实施例中,该音频编码器经配置以依序提供最低有效比特信息比特序列的后续比特,以便编码与该频谱值相关联的最低有效比特值。因此,提供连续比特序列或比特流,其仅包括最低有效比特信息,且可能包括针对仅当考虑最低有效比特时为非零的这些频谱值的一些符号信息。因此,存在最低有效比特信息(包括相关联符号信息)的单独序列,其可经缩短或省略而不会影响最高有效比特及中间比特(以及即使在不考虑最低有效比特时也相关的任何符号信息)的编码。
在较佳实施例中,该音频编码器经配置以针对该两个或更多个最高有效比特值及任何中间比特(在中间比特存在的情况下)指示非零值所针对的相应频谱值,提供该最低有效比特信息比特序列的单一比特,其中该最低有效比特信息比特序列的所用单一比特用以编码最低有效比特值。此外,该音频编码器经配置以针对相应频谱值提供该最低有效比特信息比特序列的单一比特,该两个或更多个最高有效值及任何中间比特(在中间比特存在的情况下)针对相应频谱值指示零值,且该最低有效比特信息比特序列的所提供单一比特针对相应频谱值确认该零值。此外,该音频编码器经配置以针对相应频谱值提供该最低有效比特信息比特序列的两个后续比特,该两个或更多个最高有效比特及任何中间比特(在中间比特存在的情况下)针对相应频谱值指示零值,且该最低有效比特信息比特序列的所提供比特中的第一个针对相应频谱值指示与该零值偏离最低有效比特值,其中该最低有效比特信息比特序列的所提供比特中的第二个编码该相应频谱值的符号。换言之,最低有效比特信息比特序列通常包括每频谱值一个比特,但若频谱值仅与零值偏离最低有效比特值则包括每频谱值两个比特。在后一状况下,符号信息包括到最低有效比特信息比特序列中,因为其仅当最低有效比特信息的相应部分实际上被编码或实际上被传输至音频解码器或实际上由音频解码器评估时被需要。
换言之,针对最高有效比特及任何中间比特(若存在)指示零值所针对的、且最低有效比特信息指示非零值(仅与零值偏离最低有效比特值)所针对的频谱值,将符号选择性地包括到最低有效比特信息比特序列中。
在较佳实施例中,该音频编码器经配置以编码始于与最低频率频谱值相关联的最低有效比特且朝向与愈来愈高的频率相关联的频谱值行进的最低有效比特。因此,在从最低频率频谱值直至提供“最末”最低有效比特信息所针对的频谱值的范围内,提供用于通过最低有效比特信息细化频谱值(例如,用于细化包括多于一个或多个最高有效比特的比特的所有频谱值)的经编码信息。此外,针对具有大于与提供最末最低有效比特信息所针对的频谱值相关联的频率的相关联频率的(所有)频谱值(甚至对于包括多于两个或更多个最高有效比特的比特的经编码频谱值),不提供用于通过最低有效比特信息细化频谱值的经编码信息。换言之,使用比特预算的未使用比特以由最低有效比特信息细化低频率区中的频谱值,直至比特预算耗尽。若比特预算耗尽,则较高频率区中的频谱值不由最低有效比特信息细化。此程序使得在提供最低有效比特信息时,较低频率部分中的频谱值优于较高频率部分中的频谱值。此与音质(psycho-acoustic)要求一致,这是由于相比于较低频率区中的不准确,由较高频率区中的不准确造成的听觉印象失真较少。因此,音频编码器可基于比特预算灵活地决定,直至存在取决于比特预算使用最低有效比特信息来细化频谱值的频率(提供最末最低有效比特信息所针对的频谱值)。
在较佳实施例中,该音频编码器经配置成在第一模式与第二模式之间可切换,在该第一模式中,在可用比特预算被较低频率范围内的频谱值的编码用完(耗尽)的状况下,省略(例如,完全省略)较高频率范围内的非零频谱值的编码,且针对编码一个或多个最高有效比特所针对的所有频谱值,编码最低有效比特,编码一个或多个最高有效比特所针对的所有频谱值包括多于该最高有效比特的比特,在该第二模式中,编码与该频谱值中的一个或多个相关联的一个或多个最低有效比特,而针对编码一个或多个最高有效比特所针对的一个或多个其他频谱值,不编码最低有效比特,一个或多个其他频谱值包括多于该最高有效比特的比特。
如上文已提及,能够在这些模式之间切换允许在不同环境中及在不同比特率约束下进行高效的写码。在第一模式中,经编码的频谱值的数目可变化,且较高频率范围内的非零频谱值的编码可响应于比特预算耗尽而省略。因此,高频率范围内的听觉印象降级,但此在一些情况下可接受,例如在低比特率环境中。另一方面,在第二模式中,当针对所有频谱值(甚至在高频率区中)至少编码最高有效比特时,音频编码器可针对取决于比特预算编码多少频谱值而变化最低有效比特。因此,在第二模式中,当未全部省略高频率区中的非零(经量化)频谱值时,在一些状况下甚至可降低针对较低频率的编码精确度。第二操作模式可例如在较高比特率条件下导致听觉印象经改良,若高频率区中的非零频谱值将被全部省略,则此听觉印象受到显著降级。因此,音频编码器可以灵活方式,藉由在第一模式与第二模式之间可切换来适于不同情形及比特率要求。
在较佳实施例中,该音频编码器经配置以提供包括于该经编码音频信息(或经编码音频表示)中的比特流标志,以便指示该音频编码器在该第一模式中还是在该第二模式中操作。因此,音频解码器易于辨识应使用第一解码模式还是第二解码模式。对此信号使用比特流标志是合理的,这是由于音频编码器通常相比于音频解码器具有更多关于特定情况的知识。
在较佳实施例中,该音频编码器可经配置以针对至少两个频谱值,使用相应符号码来联合地编码每频谱值两个或更多个最高有效比特。因此,相应符号码可表示针对至少两个频谱值的每频谱值两个或更多个最高有效比特。已发现,此编码特别高效,这是由于可利用频谱上邻近的频谱值之间的相依性及相关性。另外,可基于二个频谱值确定最高有效比特的比特权重,其中具有较大绝对值的频谱值可针对二个频谱值对最高有效比特的共同比特权重做出决定。因此,可减少对最高有效比特的比特权重发信的信令开销,因为该比特权重可针对两个或更多个频谱值联合地发信。
在较佳实施例中,该音频编码器经配置以确定实际最高频率非零频谱值(例如,而不截断频谱值)且编码所有非零(经量化)频谱值组的所有非零(经量化)频谱值的至少两个或更多个最高有效比特。因此,可确保所有非零(经量化)频谱值的最高有效比特至少被编码,此通常导致良好的听觉印象。
在较佳实施例中,该音频编码器经配置以编码针对所有非零(经量化)频谱值除最低有效比特以外的所有比特。此外,该音频编码器经配置以针对频谱值编码最低有效比特,直至比特预算耗尽(例如,始于最低频率频谱值且朝向较高频率频谱值行进)。因此,可达成良好听觉印象,且取决于比特预算,在编码时将仅跳过可变量目个最低有效比特。
在较佳实施例中,该音频编码器经配置以获得全局增益信息,该全局增益信息确定频谱值的量化的量化步骤,且确定针对经量化频谱值的编码的比特需求。已发现,此(全局)增益信息的使用可有助于调整量化步骤。然而,亦已认识到,在使用全局增益信息时微调比特需求并不容易实现。因此,可使用选择性地省略针对一些频谱值编码最低有效比特的概念来补偿比特需求的调整中的不准确,此不准确由全局增益信息的使用造成。然而,已发现,全局增益信息的使用与本文中所描述的编码概念的组合产生一种具有相对低计算复杂度且仍允许在音频质量与比特率之间进行良好权衡的系统。详言之,即使在全局增益信息的低复杂性调整的情况下,亦可藉由灵活地决定应编码多少最低有效比特来完全利用给定固定比特率。
根据本发明的实施例产生一种用于基于输入音频信息提供一经编码音频信息的音频编码器。该音频编码器经配置以获得表示该输入音频信息的音频内容的频谱值。该音频编码器经配置以编码至少多个频谱值,以便获得表示该频谱值的经编码信息。该音频编码器经配置以针对多个频谱值,使用相应符号码来编码一个或多个最高有效比特,且针对该频谱值中的一个或多个编码一个或多个最低有效比特,其中相应符号码表示针对一个或多个频谱值的一个或多个最高有效比特值。该音频编码器经配置成在第一模式与第二模式之间可切换,在该第一模式中,在可用比特预算被较低频率范围内的经编码频谱值用完(例如,耗尽)的状况下,(例如,完全)省略较高频率范围内的非零频谱值的编码,且针对编码一个或多个最高有效比特所针对的所有频谱值,编码最低有效比特,该频谱值包含多于该最高有效比特的比特,在该第二模式中,编码与该频谱值中的一个或多个相关联的一个或多个最低有效比特,而针对编码一个或多个最高有效比特所针对的一个或多个其他频谱值,不编码最低有效比特,该一个或多个其他频谱值包括多于该最高有效比特的比特。该音频编码器经配置以使用表示该频谱值的该经编码信息来提供该经编码音频信息。
此音频编码器基于上文所提及的对类似音频编码器以及对类似音频解码器的考虑。详言之,当在第一模式与第二模式之间可切换时,音频编码器可适于不同编码情形及比特率要求。
在较佳实施例中,该音频编码器经配置以在该第二模式中编码所有非零频谱值或所有非零频谱值组的一个或多个最高有效比特。因此,可达成良好听觉印象。
在较佳实施例中,该音频编码器经配置以当在该第一模式中操作时,在比特预算不足的状况下限制编码该频谱值所针对的频率范围,使得在编码频谱值时不考虑一个或多个频谱值(例如,在高频率范围内)。因此,取决于比特预算,在第一模式中使用频率范围的选择性限制,其中频率范围的限制有助于节省比特。
在较佳实施例中,该音频编码器经配置以当在该第一模式中操作时确定最大频率值,且当在该第一模式中操作时编码频谱值直至最大频率,且当在该第一模式中操作时不编码高于该最大频率的频谱值,即使该频谱值非零(或具有非零最高有效比特)亦如此。此外,该音频编码器经配置以当在该第一模式中操作时,取决于对编码所有频谱值的比特需求的计算或估计选择该最大频率值,使得若经计算或经估计比特需求超出比特预算,则减小待编码的频谱值的数目。此外,该音频编码器经配置以当在该第二模式中操作时确定该最大频率值(例如,确定为等于实际最大频率值),且当在该第二模式中操作时编码频谱值直至最大频率,且当在该第二模式中操作时不编码高于该最大频率的频谱值。当在该第二模式中操作时,选择该最大频率值,使得所有非零频谱值或所有非零频谱值组的至少一个或多个最高有效比特被编码,且使得最多零值频谱值不被编码。换言之,音频编码器在不同模式中针对最大频率值的选择使用不同准则。在第一模式中,取决于比特需求选择最大频率值,其中在比特预算过小的状况下,不编码非零(经量化)频谱值。另一方面,在第二模式中,选择最大频率值以使得针对经量化成非零值的所有频谱值至少编码一个或多个最高有效比特。因此,使用不同概念来处理比特预算的耗尽。在第一模式中,藉由减小最大频率值来处置比特预算的耗尽。在第二模式中,藉由省略编码最高有效比特所针对的一个或多个频谱值的最低有效值的编码来处置比特预算的耗尽。
在较佳实施例中,该音频编码器经配置以将描述该最大频率的信息包括至该经编码音频信息中。因此,音频解码器已知应解码多少频谱值。描述最大频率的信息可用于归因于比特预算耗尽而限制经编码(及解码)频谱值的数目,且亦用于发信通知高于最大频率的所有频谱值为零(例如,即使无截断亦实际上为零)。
在较佳实施例中,该音频编码器经配置以取决于可用比特率做出使用该第一模式还是该第二模式的模式决策(例如,使得该第一模式用于相对较小的比特率且使得该第二模式用于相对较高的比特率)。
此类机制是适用的,这是由于第二模式较适合于在较高比特率的状况下处理比特预算的耗尽。相比之下,第一模式有时在相对低的比特率的状况下产生优于第二模式的结果。
在另一较佳实施例中,该音频编码器经配置以取决于关于频谱值或频谱值组的数目的信息做出使用该第一模式还是该第二模式的模式决策,该频谱值包括除在最高有效比特编码步骤中编码的一个或多个最高有效比特之外的一个或多个最低有效比特,该一个或多个最低有效比特的编码能够取决于比特需求及比特预算选择性地省略。此概念是有帮助的,这是由于第二模式较适合于存在(在量化之后)大量最低有效比特的状况。这些大量最低有效比特例如在高比特率的状况下存在,在此状况下可以高分辨率(且其中可使用精细量化)完成编码。
在较佳实施例中,该音频编码器经配置以将比特流标志包括于该经编码音频信息中,指示该音频编码器在该第一模式中还是在该第二模式中操作。因此,可向音频解码器告知使用哪个解码模式。
在较佳实施例中,该音频编码器经配置以在该第一模式中将中间比特及与给定频谱值相关联的最低有效比特编码到连续比特序列中,该中间比特的比特位置在该最低有效比特与该一个或多个最高有效比特之间。此外,该音频编码器经配置以在该第二模式中将中间比特及与给定频谱值相关联的该最低有效比特编码到单独比特序列或比特序列的单独非连续比特位置(或比特流部分)中,该中间比特的比特位置在该最低有效比特与该一个或多个最高有效比特之间。因此,当在第一模式中操作时,存在表示中间比特及最低有效比特二者的连续比特序列。相比之下,当在第二模式中操作时,在单独序列中提供中间比特及最低有效比特(或提供至共同序列的单独部分中),此允许仅仅缩短表示最低有效比特的序列。因此,对比特预算的调适是容易实现的,即使在完成编码之后亦如此。此促成对比特预算的调适。
在较佳实施例中,该音频编码器经配置以当在该第一模式中操作时,在与中间比特及最低有效比特相关联的比特序列中编码与频谱值相关联的符号信息,该中间比特的比特位置在该最低有效比特与该一个或多个最高有效比特之间。此外,该音频编码器经配置以当在该第二模式中操作时,在与中间比特相关联的比特序列中,或在与最低有效比特(及符号信息)相关联的比特序列中,选择性地编码与频谱值相关联的符号信息,使得针对仅与零偏离最低有效比特值的频谱值的符号信息被编码在与最低有效比特(及符号信息)相关联的该比特序列中,该中间比特的比特位置在该最低有效比特与该一个或多个最高有效比特之间。因此,在评估最低有效比特信息时仅需要符号信息的状况下,符号信息置放于与最低有效比特(及符号信息)相关联的比特序列内。因此,始终包括于经编码音频表示中的信息,亦即与中间比特及符号信息相关联的比特序列,不包括在省略最低有效比特信息的状况下为不必要的任何信息。此简化了比特率的可扩缩性。
根据本发明的实施例产生一种用于基于输入音频信息提供经编码音频信息的音频解码器。该音频编码器经配置以获得表示该输入音频信息的音频内容的频谱值(例如,使用mdct变换)。该音频编码器经配置以编码至少多个该频谱值,以便获得表示该频谱值的经编码信息。该音频编码器经配置以获得(全局)增益信息,该增益信息确定频谱值的量化的量化步骤,且确定对编码经量化频谱值的比特需求。该音频编码器经配置以使用算术编码,针对多个频谱值,使用相应符号码来编码一个或多个最高有效比特,且针对该频谱值中的一个或多个编码一个或多个最低有效比特,其中相应符号码表示针对一个或多个频谱值的每频谱值一个或多个最高有效比特。该音频编码器经配置以取决于可用比特预算而编码与该频谱值中的一个或多个相关联的一个或多个最低有效比特,使得与该频谱值中的一个或多个相关联的一个或多个最低有效比特被编码,而针对编码一个或多个最高有效比特所针对的一个或多个其他频谱值,最低有效比特不被编码,该一个或多个其他频谱值包括多于该一个或多个最高有效比特的比特。此外,该音频编码器经配置以使用表示该频谱值的该经编码信息来提供该经编码音频信息。
此音频编码器基于增益信息(或全局增益信息)的使用有用于定义量化的发现。另外,选择性地编码最低有效比特的概念与此概念的组合极为高效。详言之,亦参考以上论述。
在较佳实施例中,该音频编码器经配置以基于频谱值(例如,mdct系数)组的能量获得该增益信息的第一估计值。此外,该音频编码器经配置以使用该增益信息的该第一估计值来量化一组频谱值(例如,mdct频谱)。此外,该音频编码器经配置以计算或估计编码经量化的该组频谱值所需的比特数目,该组频谱值使用该增益信息的该第一估计值或使用经细化增益信息而被量化。此外,该音频编码器经配置以取决于所需的比特数目而决定使用该第一模式还是该第二模式。因此,可以高效方式做出关于量化的决策以及使用哪个模式的决策。取决于是否选择迭代程序,可使用取决于增益信息的第一估计值的量化或使用取决于迭代地细化的增益信息的量化来估计编码该组频谱值所需的比特数目。因此,量化准确度的确定的复杂性可保持相当小。
在较佳实施例中,该音频编码器经配置成在上文所提及的该第一模式与该第二模式之间可切换。详言之,该音频编码器经配置以取决于所需的比特数目且取决于指示多少频谱值包括多于该一个或多个最高有效比特的比特的准则而决定使用该第一模式还是该第二模式。详言之,可在对待使用的增益信息(第一估计值或经细化增益信息)做出决定之后所确定的所需比特数目可与比特预算相比较,且可取决于此比较且取决于指示多少频谱值包括多于该一个或多个最高有效比特的比特的准则而做出使用哪个模式的决策。因此,若存在除一个或多个最高有效比特之外还包括一个或多个较低有效比特的许多频谱值,则可使用第二模式。
在较佳实施例中,该音频编码器经配置成在上文所提及的该第一模式与该第二模式之间可切换。在此状况下,该音频编码器可经配置以取决于所需的该比特数目且取决于比特率而决定使用该第一模式还是该第二模式,使得若该比特率大于或等于阈值比特率及若编码该组频谱值所需的经计算或经估计比特数目大于比特预算,则选择该第二模式。已展示,第二模式的使用在所述状况下特别有帮助。
此外,音频编码器亦可由先前提及的其他特征中的任一个补充。先前论述的相同优势亦适用。
根据本发明的其他实施例产生用于基于经编码音频信息提供经解码音频信息的方法及用于基于输入音频信息提供经编码音频信息的方法。这些方法对应于相应音频解码器及相应音频编码器,且可由本文中关于对应音频解码器或音频编码器所论述的特征及功能性中的任一个补充。
根据本发明的其他实施例包括一种用于执行本文所描述的任一方法的计算机程序。
另一实施例包括比特流,该比特流基于上文所论述的相同考虑且可由如本文中所提及的待编码及解码的信息项中的任一个补充。
附图说明
随后将参考所附附图描述根据本发明的实施例,在该附图中:
图1展示根据本发明的实施例的音频解码器的示意方块图;
图2展示根据本发明的另一实施例的音频解码器的示意方块图;
图3展示根据本发明的实施例的音频编码器的示意方块图;
图4展示根据本发明的实施例的音频编码器的示意方块图;
图5展示根据本发明的实施例的音频编码器的示意方块图;
图6展示根据本发明的实施例的另一音频编码器的示意方块图;
图7展示根据本发明的另一实施例的音频解码器的示意方块图;
图8展示根据本发明的实施例的音频编码器的功能性的流程图;
图9展示根据本发明的实施例的音频解码器的功能性的流程图;
图10a至图10f展示根据本发明的实施例的音频编码器的功能性的伪程序代码表示。
图11a至图11d展示根据本发明的实施例的音频解码器的功能性的伪程序代码表示。
图12展示由常规音频编码器/解码器产生的信杂比的图形表示;
图13展示由根据本发明的音频编码器/解码器提供的信杂比的图形表示;且
图14至图18展示根据本发明的实施例的用于音频编码及音频解码的方法的流程图。
具体实施方式
1).根据图1的音频解码器
图1展示根据本发明的实施例的音频解码器100的示意方块图。
音频解码器100经配置以接收经编码音频信息110且基于经编码音频信息110而提供经解码音频信息112。音频解码器100经配置以基于表示频谱值的经编码信息130获得经解码频谱值132,其中经编码信息130可为经编码音频信息110的部分。另外,经编码音频信息110可任选地包括其他信息,如噪声整形信息、控制信息及其类似者。
音频解码器经配置以使用算术解码,针对一组频谱值,基于相应符号码(例如,最高有效比特的算术编码表示的符号码)来联合地解码每频谱值(例如,每经量化频谱值)两个或更多个最高有效比特。相应符号码可表示针对一个或多个频谱值的每频谱值两个或更多个最高有效比特。算术编码符号码可例如为表示频谱值的经编码信息130的部分。
此外,音频解码器经配置以取决于多少最低有效比特信息可用而解码与一个或多个频谱值相关联的一个或多个最低有效比特。可被视为最低有效比特的表示的最低有效比特信息亦可为表示频谱值的经编码信息130的部分。
详言之,音频解码器可经配置以取决于多少最低有效比特信息可用而解码与该频谱值中的一个或多个相关联的一个或多个最低有效比特,使得与该(经量化)频谱值中的一个或多个相关联的一个或多个最低有效比特被解码,而针对解码(或已解码)一个或多个最高有效比特所针对的一个或多个其他频谱值,最低有效比特不被解码,该一个或多个其他频谱值包括多于该一个或多个最高有效比特的比特。
换言之,音频解码器可经配置以针对已解码两个或更多个最高有效比特所针对的频谱值中的一些解码最低有效比特,且音频解码器可省略针对已解码一个或多个最高有效比特所针对的一些其他频谱值的一个或多个最低有效比特的解码。
又换言之,音频解码器可例如仅细化已解码最高有效比特所针对的频谱值的真子集,其中由最低有效比特细化的频谱值的数目取决于多少最低有效比特信息可用(例如,鉴于比特预算约束,多少最低有效比特信息由音频解码器包括于经编码音频信息110中)。
音频解码器100可任选地由本文中所描述的特征、功能性及细节中的任一个个别地或组合地补充。
2).根据图2的音频解码器
图2展示根据本发明的实施例的音频解码器200的示意方块图。
音频解码器200经配置以接收经编码音频信息210且基于经编码音频信息210而提供经解码音频信息212。
经编码音频信息210可例如包括表示频谱值的经编码信息230,其中表示频谱值的经编码信息230可例如包括表示一个或多个最高有效比特的算术编码符号码及符号的最低有效比特的表示。经编码音频信息210可任选地包括其他信息,如噪声整形信息的控制信息。任选的其他信息亦可用于解码程序中,但对于本发明并非必需的。
音频解码器经配置以基于表示频谱值的经编码信息230获得经解码频谱值232。
音频解码器经配置以针对多个频谱值,基于相应符号码(例如,基于算术编码符号码),解码一个或多个最高有效比特,且针对频谱值中的一个或多个解码一个或多个最低有效比特。举例而言,音频解码器可使用可包括于经编码信息130中的算术编码符号码及最低有效比特的表示。
音频解码器200经配置以在第一模式与第二模式之间可切换,在该第一模式中,响应于来自编码器的信令而省略(例如,完全省略)较高频率范围内的频谱值的解码,且针对已解码一个或多个最高有效比特所针对的所有频谱值,解码最低有效比特,该频谱值包括多于该最高有效比特的比特,在该第二模式中,解码与该频谱值中的一个或多个相关联的一个或多个最低有效比特,而针对已解码一个或多个最高有效比特所针对的一个或多个其他频谱值,不解码最低有效比特,该一个或多个其他频谱值包括多于该最高有效比特的比特。换言之,在第一模式中,音频解码器200可例如仅解码较低频率范围(例如,直至由音频编码器确定及发信的频率)内的频谱值,而省略较高频率范围(例如高于由编码器指定的频率)内的频谱值的解码。然而,在第一模式中,可针对较低频率范围内的所有频谱值解码频谱值的完整数表示,使得最高有效比特、任何中间比特及任何最低有效比特针对较低频率范围内的所有频谱值被解码。相比之下,在第二模式中,音频解码器可仅针对解码一个或多个最高有效比特所针对的频谱值中的一些,而非针对解码一个或多个最高有效比特所针对的所有频谱值而解码最低有效比特。因此,在第二模式中,可在一个频率区而非另一频率区中(例如,在较高频率区中)解码最低有效比特。
此外,音频解码器200经配置以使用频谱值232来提供经解码音频信息212。举例而言,音频解码器200可包括经解码频谱值232的另一处理,然而,此处理的细节与本发明的主题不具有特定关联性。
此外,应注意,音频解码器200可由本文中所描述的特征、功能性及细节中的任一个个别地或组合地补充。
3).根据图3的音频编码器
图3展示根据本发明的实施例的音频编码器300的示意方块图。音频编码器300经配置以接收输入音频信息310,且可提供经编码音频信息312(其可对应于经编码音频信息110、210)。音频编码器300经配置以获得表示输入音频信息310的音频内容的频谱值330。举例而言,音频解码器300可任选地包括任何形式的预处理,例如时域至谱域转换(例如,mdct)和/或频谱整形(在时域中和/或在谱域中),以便获得频谱值330。
频谱值330可例如为带符号二进制数表示的经量化(较佳整数)值。此外,音频编码器经配置以编码至少多个频谱值330,以便获得表示频谱值330的经编码信息350。音频编码器300可例如经配置以使用表示频谱值的经编码信息350来提供经编码音频信息312。然而,音频编码器300亦可任选地提供其他信息,如控制信息或噪声整形信息,该信息还包括于经编码音频信息312中(但其细节与本发明不具有特定关联性)。
音频编码器300经配置以使用算术编码,针对一组频谱值,联合地编码每频谱值两个或更多个最高有效比特,以获得相应符号码。相应符号码可例如表示针对一个或多个频谱值的每频谱值两个或更多个最高有效比特。
音频编码器进一步经配置以取决于比特预算而编码与频谱值330中的一个或多个相关联的一个或多个最低有效比特,使得与该频谱值中的一个或多个相关联的一个或多个最低有效比特被编码,而针对编码两个或更多个最高有效比特所针对的一个或多个其他频谱值,最低有效比特不被编码,该一个或多个其他频谱值包括多于该两个或更多个最高有效比特的比特。
举例而言,音频编码器300可仅针对较低频率部分中的频谱值,而非较高频率部分中的频谱值提供经编码最低有效比特。藉由选择为哪些频谱值提供最低有效比特,比特数目可调适至比特预算。
此外,应注意,根据图3的音频编码器可使用本文中所描述的特征、功能性及细节中的任一个个别地或组合地补充。
4).根据图4的音频编码器
图4展示根据本发明的实施例的音频编码器400的示意方块图。
音频编码器400经配置以接收输入音频信息410且基于输入音频信息410而提供经编码音频信息412。音频编码器经配置以获得表示输入音频信息410的音频内容的频谱值330(其可例如为带符号二进制数表示中的经量化(优选整数)频谱值)。举例而言,可使用任选的预处理,其可例如包括时域至频域转换和/或噪声整形。此外,可任选地使用量化来获得频谱值430。
音频编码器进一步经配置以编码至少多个频谱值430,以便获得表示该频谱值的经编码信息450。音频编码器经配置以针对多个频谱值使用相应符号码来编码(频谱值的)一个或多个最高有效比特,且针对频谱值中的一个或多个编码一个或多个最低有效比特。相应符号码可例如表示针对一个或多个频谱值的一个或多个最高有效比特值。音频编码器可经配置成在第一模式与第二模式之间可切换,在该第一模式中,在可用比特预算被较低频率范围内的频谱值的编码用完(耗尽)的状况下,省略(例如,完全省略)较高频率范围内的非零频谱值的编码,且编码针对编码一个或多个最高有效比特所针对的所有频谱值的最低有效比特,该频谱值包括多于该最高有效比特的比特,在该第二模式中,编码与该频谱值中的一个或多个相关联的一个或多个最低有效比特,而针对编码一个或多个最高有效比特所针对的一个或多个其他频谱值,不编码最低有效比特,该一个或多个其他频谱值包括多于该一个或多个最高有效比特的比特。
换言之,在第一模式中,音频编码器可例如编码相对较小数目(例如,并非所有非零频谱值),但经编码的那些频谱值以完整准确度编码(包括最低有效比特)。相比之下,在第二模式中,音频编码器可例如至少编码所有非零频谱值的最高有效比特,但可以降低的分辨率编码频谱值中的一些(例如,不编码对应最低有效比特)。因此,编码器例如在提供用于将比特数目调适至比特预算的两个模式之间可切换,其中第一模式依赖于省略较高频率范围内的频谱值的编码,用以减少比特数目,且其中第二模式依赖于省略一些频谱值(仅针对其编码最高有效比特且可能编码一些中间比特,且其被“部分地编码”)的最低有效比特。
根据图4的音频编码器400可由本文中所描述的任何特征、功能性及细节个别地或组合地补充。
5).根据图5的音频编码器
图5展示根据本发明的实施例的音频编码器500的示意方块图。音频编码器500经配置以接收输入音频信息510且基于输入音频信息510而提供经编码音频信息512。音频编码器经配置以获得表示输入音频信息510的音频内容的频谱值530。举例而言,音频编码器可使用修正离散余弦变换(mdct)来获得频谱值530。一般而言,音频编码器500可任选地使用任何类型的预处理,如时域至频域转换及噪声整形,且音频编码器500亦可任选地使用量化。举例而言,频谱值530为经量化频谱值,或可为经噪声整形且经量化的mdct系数。
音频编码器经配置以编码至少多个频谱值530,以便获得表示该频谱值的经编码信息550。经编码信息550可为经编码音频信息512的一部分。然而,经编码音频信息512亦可任选地包括其他信息,如控制信息或频谱整形信息。
音频编码器500亦经配置以获得增益信息(例如,全局增益信息)560,增益信息560确定频谱值的量化的量化步骤,且确定对编码经量化频谱值的比特需求。
音频编码器500经配置以使用算术编码,针对多个(经量化)频谱值使用相应符号码编码(经量化频谱值中的)一个或多个最高有效比特,且针对(经量化)频谱值中的一个或多个编码一个或多个最低有效比特。相应符号码可例如表示针对一个或多个频谱值的每频谱值一个或多个最高有效比特。
该音频编码器经配置以取决于可用比特预算而编码与该(经量化)频谱值中的一个或多个相关联的一个或多个最低有效比特,使得与该频谱值中的一个或多个相关联的一个或多个最低有效比特被编码,而针对编码一个或多个最高有效比特所针对的一个或多个其他频谱值,最低有效比特不被编码,该一个或多个其他频谱值包括多于该一个或多个最高有效比特的比特。举例而言,音频编码器可仅针对频谱值中的一些提供经编码的最低有效比特,而针对其他频谱值不提供经编码的最低有效比特,此亦将受益于最低有效比特细化。
此外,音频编码器500经配置以使用表示频谱值的经编码信息550来提供经编码音频信息512。
应注意,音频编码器500可由本文中所描述的特征、功能性及细节中的任一个个别地或组合地补充。
6).根据图6的音频编码器
图6展示根据本发明的实施例的音频编码器的示意方块图。
根据图6的音频编码器的整体以600指定。
音频编码器600经配置以接收输入音频信息610且基于输入音频信息610而提供经编码音频表示612。
音频编码器600可不包括任选的预处理620,其可将某一类型的预处理(例如,滤波、带宽限制、时域噪声整形或其类似者)应用于输入音频信号。
音频编码器600可任选地包括时域至频域转换630,时域至谱域转换630可例如执行修正离散余弦变换或类似变换,如低延迟修正离散余弦变换。时域至谱域转换630可例如接收输入音频信息610或其经预处理版本622,且提供频谱值632。
音频编码器600可任选地包括(其他)预处理,该预处理接收频谱值632,且可例如执行噪声整形。举例而言,(其他)预处理640可执行频谱噪声整形和/或时间噪声整形。任选地,预处理640可例如应用比例因子以根据频带的音质关联性(其可例如由音质模型确定)缩放不同频带(“比例因子带”)。因此,可获得经预处理频谱值642。
音频编码器600可任选地包括缩放650,缩放650可例如缩放频谱值632或经预处理频谱值642。举例而言,缩放650可使用全局增益来缩放频谱值632或经预处理频谱值642,以藉此提供经缩放频谱值652。
音频编码器600还包括量化(或量化器)660,量化660可接收频谱值632、经预处理频谱值642或经缩放频谱值652。量化660可例如量化频谱值632或经预处理频谱值642或经缩放频谱值652,以藉此获得经量化频谱值662,经量化频谱值662可例如为带符号的整数值,且可例如以二进制表示(例如,以二的补码表示)来表示。经量化频谱值662可例如以xq指定。举例而言,每帧可提供预定数目256、512、1024或2048个经量化频谱值,其中不同频率与经量化频谱值相关联。
编码器600亦可包括编码670,编码670接收经量化频谱值662(xq)且可基于经量化频谱值662提供表示(经量化)频谱值672的经编码信息。
应注意,经量化频谱值662可对应于频谱值330、430、530,且表示频谱值的经编码信息672可对应于表示频谱值的经编码信息350、450、550。此外,应注意,编码670可例如执行关于编码器300、400、500所描述的功能性。然而,编码670亦可包括下文(例如参考图8)所描述的功能性,或所述功能性的至少部分。
音频编码器600亦任选地包括后处理680,后处理680可将后处理应用于经编码信息672。
因此,提供经编码表示612,其通常包括经编码信息672。然而,经编码音频表示612亦可任选地包括额外信息,如控制信息及关于噪声整形的信息(如比例因子信息、线性预测系数或其类似者)。经编码音频表示亦可任选地包括全局增益信息和/或编码模式信息/解码模式信息和/或“lastnz”信息。
总而言之,本文中所公开的频谱值的编码的概念可例如实施于音频编码器600中,其中仅本文中所描述的比例因子编码的特征中的一些或所有可并入音频编码器600中。
7).根据图7的音频解码器
图7展示根据本发明的实施例的音频解码器700的示意方块图。音频解码器700经配置以接收经编码音频信息710(其可例如对应于经编码音频表示612)且可基于经编码音频信息710而提供经解码音频信息712。音频编码器700可例如包括解码720,解码720接收经编码音频信息或其一部分,且基于经编码音频信息而提供经量化频谱值722(亦以xq指定)。举例而言,解码720可提供带符号二进制表示(例如,以二的补码表示)的整数值。
音频解码器700任选地包括反量化器730,反量化器730接收经量化频谱值且可执行反量化。举例而言,反量化器730可使用全局增益信息来调整由反量化执行的映射。
音频解码器700任选地包括缩放740,缩放740可接收由反量化器提供的经反量化频谱值732且可执行缩放,以藉此获得经反量化且经缩放的频谱值742。缩放可任选地取决于全局增益。
音频解码器700亦可任选地包括后处理750,后处理750可接收经反量化频谱值730或经反量化且经缩放的频谱值742且可执行频谱整形。举例而言,频谱整形可为频谱噪声整形,和/或可基于使用比例因子的不同频带的缩放,和/或可基于使用线性预测系数的频谱整形(其中控制频谱整形的信息可包括于经编码音频信息中)。
音频解码器700亦可任选地包括谱域至时域转换760,谱域至时域转换760可接收经反量化频谱值732、经反量化且经缩放的频谱值742或由后处理750提供的经后处理(例如,光谱整形)频谱值752。谱域至时域转换可例如执行反修正离散余弦变换,或低延迟反修正离散余弦变换,或任何其他谱域至时域转换,以藉此基于由谱域至时域转换接收到的输入信息获得时域音频表示762。
时域音频表示762可例如输入至(任选的)后处理770中,后处理770可执行一个或多个后处理步骤,且亦可例如执行时域频谱整形(例如,在谱域中不执行频谱整形的状况下,例如使用lpc滤波)。
因此,经解码音频信息712可基于谱域至时域转换762的输出而提供,且可能使用某一形式的后处理和/或帧链接(如重叠运算及加法运算)来获得。
总而言之,音频解码器700可执行某一音频解码功能性,其中例如关于噪声整形或频谱整形的细节可根据实施方式显著变化。频谱整形或噪声整形可在谱域中(亦即,在谱域至时域转换之前)和/或在时域中(例如,在谱域至时域转换之后)执行。
然而,应注意,经编码音频信息710可对应于经编码音频信息110、210,且经编码音频信息710可包括额外控制信息及用于调整频谱整形的信息。此外,经量化频谱值722可例如对应于经解码频谱值132、232。
另外,解码720可执行关于音频解码器100、200所描述的功能性中的一些或所有。
另外,解码720可由本文中关于在本文中所公开的频谱值(或频谱系数)的解码所描述的特征、功能性及细节中的任一个个别地或组合地补充。
8).根据图8的音频编码(频谱值编码)
图8展示可由本文中所描述的音频编码器中的任一个执行的功能性的流程图。
应注意,参考图8(且亦关于下图)所描述的功能性中的一些或所有可并入图3、图4、图5及图6的音频编码器中。
亦应注意,图8聚焦于频谱值的编码,频谱值通常可为经量化频谱值。较佳地,但非必要,频谱值为由二进制二的补码表示所表示的带符号整数值。
如流程图800中所示的功能性包括对全局增益的第一估计810。此估计可例如基于一组频谱值来进行,该组频谱值可与音频内容的帧相关联,且亦可考虑比特预算(或等效地,比特率预算)。
如图8中所示,音频编码器或音频编码的功能性还包括使用全局增益的第一估计值或使用全局增益的经细化估计值(其可以迭代方式获得)的频谱系数(或等效地,频谱值)的量化814。在步骤814中,计算或估计编码经量化频谱(其可由经量化频谱系数或经量化频谱值表示)所需的比特数目。
基于在步骤818中执行的对所需比特数目的此计算或估计,可任选地在步骤822中调整或细化全局增益,以藉此获得全局增益的经改良估计值。
因此,藉由执行步骤810、814及818及任选地步骤822,可获得“全局增益信息”(或一般而言描述频谱值的量化的信息),此产生量化,使得比特的预期数目至少大致适配比特预算。然而,应注意,鉴于复杂性约束,全局增益信息可能并不完全适当,使得取决于全局增益信息而量化的频谱值的编码相比于比特预算仍可能消耗较多或较少比特。
应注意,关于全局增益的计算或关于量化的任何细节对于本发明并非必需的。实际上,根据本发明的实施例将与提供经量化频谱值的任何机制一起作用,使得频谱值可在不过度违反比特预算的情况下被编码。
功能性800进一步包括执行模式决策830。然而,执行模式决策可被视为任选的,这是由于仅使用一个模式(在本文中指定为“第二模式”)的音频编码器亦是可能的。模式决策830任选地包括最末编码系数的模式相依识别。取决于模式决策,可以不同方式执行最末编码系数的确定。
若使用“第一模式”,则可决定不编码一些非零频谱值,以便节省比特(且保持在比特预算之内)。在此状况下,与最末编码频谱系数相关联的频率可选择为小于存在非零频谱值所处的最大频率。因此,高频率区中的一些非零频谱值可能并非在第一模式中编码。
相比之下,在第二模式中,针对所有非零频谱系数至少编码最高有效比特。因此,最末编码系数可例如选择为最高频率非零频谱值。
在第一模式及第二模式二者中提供描述将被编码的最高频率频谱值的指数作为控制信息“lastnz”。
在下文中,将描述“第一模式”中的操作,从而参考功能性840至869。
第一模式中的操作包括算术编码器初始化840。在此步骤中,将初始化算术编码器的状态及上下文。
在步骤844中,将编码一些边信息,如指示第一模式的使用的模式信息、全局增益及识别最末编码系数的信息(lastnz)。
针对各频谱值,或针对各频谱值组重复功能性848至864。应注意,在较佳实施例中,将编码包括二个频谱值的组。然而,个别频谱值的编码亦是可能的。
频谱值的实际编码包括对频谱系数或对一组频谱系数的最高有效比特权重确定。举例而言,检查一个或二个频谱系数的数表示,且识别哪一者为包括“1”的最高值比特位置。举例而言,二进制值“00010000”包括其在比特位置5处的最高有效比特,具有比特权重16。若考虑待一起编码的一对频谱值,则确定该二个频谱值的最高有效比特位置的最大值。对于任选细节,参考下文待提供的“步骤7a”的描述(参见图10a的描述)。
在步骤852中,将编码最高有效比特权重,此可例如藉由提供特定经编码符号的序列来进行,其中特定经编码符号的数目指示比特位置(或等效地,比特权重)。举例而言,可使用算术写码中已知的所谓“逸出符号”。对于关于功能性852的任选细节,例如参考下文所提供的“步骤7b”的论述(参见图10c)。
随后,执行最高有效比特编码856。在此步骤中,编码所识别的最高有效比特比特位置处(或邻近于所识别的最高有效比特比特位置)的一个或多个比特(例如,二个比特)。举例而言,若在步骤848中识别出具有比特权重16的比特位置5,则具有第一频谱值的比特位置5及4(比特权重16及8)的比特可与第二频谱值的比特位置5及4(具有比特权重16及8)处的比特一起编码。因此,在示例中,总计四个比特可一起编码,其中通常二个频谱值中的至少一个将具有比特位置5(比特权重16)处的“1”。举例而言,可使用基于上下文的算术写码将四个所提及的比特映射至符号“sym”上。对于任选细节,例如参考下文所提供的“步骤7c”的描述(参见图10d)。
在步骤860中,对其余比特进行编码。在步骤860中,可例如针对已在步骤856中编码且包括多于一个或多个最高有效比特的比特(例如,numbits>2)的所有频谱值,编码(所有)较低有效比特(包括一个或多个最低有效比特)。换言之,对于已部分地(但非完全)在步骤856中编码(因为一个或多个最高有效比特的编码不足以表示具有完整准确度的频谱值,直到具有比特权重1的比特)的各频谱值,将编码所有较低有效比特。
参考以上示例,若已在步骤856中针对第一频谱值及针对第二频谱值编码比特5及4,则将在步骤860中针对第一频谱值及针对第二频谱值编码比特1、2及3。
对于任选细节,参考常规方法的步骤7d的描述。
在步骤864中,对已编码一个或多个最高有效比特所针对的所有非零频谱值进行符号编码。对于任选细节,参考步骤7e的描述(参见图10f)。
如先前所提及,针对各频谱值或针对各频谱值组重复步骤848至864,该频谱值的最高有效比特被一起编码。
在步骤868中,确定所用比特的数目,且在步骤869中,若仍存在未使用的可用比特,则任选地存在对细化信息的编码。
总而言之,当在第一模式中操作时,在编码时跳过一些非零频谱值,但实际上经编码的所有频谱值皆以完整分辨率(直至最低有效比特)编码。因此,可藉由决定不编码多少频谱值(在编码时跳过)来变化所需比特率。
在下文中,将参考功能性870至898描述第二模式中的操作,在一些实施例中,第二模式可为唯一模式。
第二模式中的编码包括算术编码器初始化870,在算术编码器初始化870中将初始化算术编码的上下文中的状态。
在步骤874中,将编码一些边信息,如全局增益信息、“lastnz”及指示使用第二模式的模式信息(假设编码器在第一模式与第二模式之间可切换)。
针对待编码的各频谱值,或针对待联合地编码的各频谱值组执行功能性878至894。
在步骤878中,对频谱系数(或频谱值)或对频谱系数组(或频谱值)进行最高有效比特权重确定。对于任选细节,参考关于功能性848的解释且亦参考以下“步骤7a”的描述(参见图10a)。
在步骤882中,进行最低有效比特消除及最低有效比特信息处理。举例而言,在这些频谱值的数表示中消除最低有效比特信息,该频谱值包括一个或多个最高有效比特及最低有效比特二者(numbits>2)。举例而言,所有奇数频谱值可设定成下一(邻近)偶数值,偶数值的绝对值小于奇数值的绝对值。举例而言,值1可设定成0,值3可设定成2,值-1可设定成0,且值-3可设定成-2。对于任选细节,参见下文提及的步骤1010f、1011f。
然而,关于最低有效比特的信息以及关于频谱值的符号的信息(若频谱值从+1设定成0或从-1设定成0)可储存于最低有效比特信息比特流(例如,lsbs[])中。对于细节,例如参考下文描述的“步骤7a之二”(参见图10b)。
此外,存在最高有效比特权重编码886,其可等于最高有效比特权重编码852。对于任选细节,参见步骤7b(图10c)的描述。
另外,存在最高有效比特编码890,其可等同于最高有效比特编码856,除了使用在步骤882中修改的频谱值(其中最低有效比特值被移除)。对于任选细节,参看步骤7c及图10d的描述。
此外,存在较低有效比特编码892。在较低有效比特编码892中,存在除一个或多个最低有效比特以外的较低有效比特的编码。换言之,可例如藉由将最低有效比特与在步骤890中编码的一个或多个最高有效比特之间的比特写入至比特流中来对其编码。对于任选细节,参考“步骤7d-新版本”的以下描述(参见图10e)。
此外,存在符号编码894,其与符号编码864实质上相同,除了该符号基于如步骤882中修改的频谱值而确定的事实。
举例而言,若最初(经量化)频谱值为+1,则频谱值已在步骤882中变成0,且在步骤894中不存在符号编码,因为此符号仅针对非零值编码。类似地,若频谱值最初为-1(在量化之后),则在步骤882中将频谱值修正成0,且在步骤894中不编码符号(因为不针对零值编码符号)。
对于关于符号编码的任选细节,参考步骤7e(图10f)的描述。
针对所有频谱值或所有频谱值组重复步骤878至894,该频谱值的最高有效比特被联合地编码。
在步骤896中,确定可用于编码最低有效比特的比特的数目。此数目例如以nlsbs指定,且可例如指定未使用的比特的数目。
在步骤898中,将未使用的比特(其数目在步骤896中确定)用于最低有效比特的“实际”编码(将在步骤882中获得的最低有效比特信息或其部分包括至经编码音频表示中)。举例而言,将在步骤882中确定的比特序列或其一部分添加至经编码音频表示。此比特序列包括最低有效比特及针对藉由消除最低有效比特而已变成零的那些频谱值的符号。
因此,在第二模式中,提供表示一个或多个最高有效比特的符号、表示除一个或多个最低有效比特以外的较低有效比特(及一些符号信息)的比特序列,及表示最低有效比特(及一些符号信息)的比特序列。在表示较低有效比特的序列中,可逐频谱值(spectral-value-by-spectral-value)或针对经联合地编码的频谱值对依序地包括较低有效比特(及符号)。另外,在表示最低有效比特的比特序列中,逐频谱值包括最低有效比特。
应注意,下文将描述关于编码800的其他任选细节。亦应注意,对步骤的伪程序代码表示的参考包括于图8中。伪程序代码表示中所描述的细节并非必需的,但可任选地针对图8中所示的步骤中的每一者个别地包括。
9.根据图9的音频解码(频谱值解码)
图9展示可由如本文中所描述的音频解码器执行的功能性的示意性表示。
应注意,图9中所描述的功能性中的一些或所有由音频解码器执行。应注意,个别地实施图9中所描述的功能性中的一个或数个是足够的,但优选实施全部功能性。详言之,图9中所公开的功能性关于基于表示频谱值的经编码信息提供经解码频谱值。如图9中所示的功能性可例如实施于音频解码器700的解码720中。
功能性900包括步骤910中对算术解码器状态的初始化及对算术解码器所使用的上下文c的初始化。对于任选细节,例如参考如下文所描述的解码的“步骤1”。
功能性900还包括全局增益或全局增益信息的解码914、用于模式选择(模式1或模式2的选择)的信令比特的解码916,及关于最末非零编码系数的信息(“lastnz”)的解码918。应注意,步骤916及918应被视为任选的,且步骤914可由定义量化的任何其他信息的解码来代替。
功能性900包括步骤930至948中所示的第一模式中的解码及步骤950至972中所示的第二模式中的解码。应注意,如步骤930至948中所描述,第一模式中的操作应被视为任选的。换言之,若音频解码可在由步骤950至972描述的第二模式中操作则也是足够的,即使在两个模式之间切换的可能性扩展了功能性且带来一些优点也是如此。
此外,功能性900还包括执行经解码频谱值的反量化980,反量化980可例如由解码器700中的区块730执行。
在下文中,将描述第一模式中的操作。
第一模式中的解码包括最高有效比特解码930,其可例如包括二个系数的一个、两个或更多个最高有效比特的联合解码,该系数可以xq(n)及xq(n+1)指定。最高有效比特解码930可例如包括确定系数的全部(经编码)比特(例如,numbits)的数目,或系数的在经联合地编码最高有效比特之后的较低有效比特的数目。
举例而言,可由解码器辨识(例如,基于经编码音频表示中的信令信息),在一起解码的二个频谱系数中的一个包括在第五比特位置(具有比特权重16)处的非零值(最高有效比特)。因此,位置4及5(具有比特权重8及16)处的比特将针对一起解码(作为一组)的二个频谱值联合地解码。可例如使用在算术编码及解码领域中已知的“逸出符号机制”来编码最高有效比特的比特位置。对于任选细节,例如参考以下“步骤3a”的描述(图11a)。
第一模式中的解码进一步包括较低有效比特解码934。举例而言,可存在已解码一个或多个最高有效比特所针对的所有频谱值的(所有)较低有效比特的解码,该较低有效比特包括一个或多个最低有效比特。举例而言,较低有效比特可从比特序列读取。对于细节,例如参考如下文所描述的“步骤3b,常规方法”。
第一模式中的解码包括符号解码938,在符号解码938中可针对已在步骤930、934中解码非零值所针对的所有频谱值,解码符号。对于细节,例如参考“步骤3c”的以下论述(参见图11c)。
第一模式中的解码包括未经写码频谱系数的调零942。举例而言,频率高于已从编码器发信到解码器的某一频率的所有频谱系数可设定成零。对于细节,例如参考“步骤4”的以下描述。
第一模式中的解码还包括对未使用的比特的数目的确定944。举例而言,可确定总比特预算的多少比特尚未用于前述解码步骤。
第一模式中的解码可任选地进一步包括细化948,在细化948中,例如,可进一步细化已解码的频谱值。对于细节,例如参考“步骤6”的以下描述。
因此,在第一模式中,将完全解码(从最高有效比特到最低有效比特)直至由关于最末非零经编码系数信息的信息定义的最大频率的频谱值,包括符号的解码。
然而,应注意,在这些步骤中可任选地引入如下文参考“步骤3a”至“步骤6”所描述的细节。然而,应注意,引入下文所描述的所有细节并非必需的,且在一些实施例中,仅在步骤中的一个或步骤中的一些中保持以下细节是足够的。
在下文中,将参考步骤950至972描述第二模式中的解码。
第二模式中的解码包括最高有效比特解码950,其可例如包括一个或多个最高有效比特的算术解码。举例而言,最高有效比特解码950可包括确定系数的总比特的数目,或系数的较低有效比特的数目,或一个或多个最高有效比特的比特位置(或比特权重)。此外,最高有效比特解码950可包括二个频谱系数或频谱值xq(n)、xq(n+1)的一个、两个或更多个最高有效比特的联合解码。
对于任选细节,例如参考以下“步骤3a”的描述(图11a)。
第二模式中的解码还包括较低有效比特解码954,其可被视为任选的。在较低有效比特解码954中,进行除一个或多个最低有效比特以外的较低有效比特的解码。较低有效比特解码954可类似于较低有效比特解码934,除了在较低有效比特解码954中省略了最低有效比特或多个最低有效比特的事实。对于任选细节,例如参考“步骤3b”(新版本)的以下描述(图11b)。
第二模式中的解码还包括符号解码958,在符号解码958中解码在步骤950、954中解码的频谱值的符号,只要在步骤950、954中解码的频谱值的经解码部分(其不包括一个或多个最低有效比特)指示非零值即可。对于任选细节,例如参考“步骤3c”的以下描述(图11c)。
应注意,针对所有待解码的频谱值,或针对所有待解码的频谱值组重复步骤950、954、958,其中待解码的频谱值的数目可例如由编码器所提供的最末非零编码系数信息指示。
第二模式中的解码还包括未经写码频谱系数的调零962,该未经写码频谱系数尚未由编码器提供,且鉴于最末非零编码系数信息而尚未解码。对于任选细节,参看步骤4的以下描述。
此外,存在对可用于最低有效比特解码的比特的数目的确定968。换言之,确定未使用比特(比特预算在解码步骤950、954、958中尚未使用的比特)的数目。对于细节,例如参考“步骤5”的以下描述。
第二模式中的解码还包括针对具有多于一个或多个最高有效比特的比特的系数对一个或多个最低有效比特进行的选择性解码972。换言之,可仅针对已在步骤950、954、958中解码的频谱值中的一些解码一个或多个最低有效比特,使得仅该所述频谱值中的一些(但非所有)由最低有效比特信息细化。步骤972可例如包括已在步骤950及954中解码(使得在步骤958中尚未解码符号)零值所针对的、且最低有效比特信息指示非零值所针对的这些频谱值的符号考虑。因此,频谱值(或频谱系数)将由来自包括最低有效比特及符号信息的比特序列的最低有效比特信息细化。将被细化的频谱值的数目取决于可用于最低有效比特的比特的数目的确定968的结果。
因此,第二模式中的解码将以完整精确度提供一些频谱值(包括最低有效比特)且以减小的精确度提供一些频谱值(无最低有效比特)。
应注意,可任选地使用下文针对“步骤3a”至“步骤6”所描述的细节。然而,下文针对“步骤3a”至“步骤6”所描述的细节不应被视为必需的。另外,应注意,可针对个别步骤引入细节,而不会增加对使用下文参考“步骤3a”至“步骤6”所描述的所有细节的需要。
此外,功能性900还包括执行反量化980,其中在第一模式中解码的频谱值和/或在第二模式中解码的频谱值将被反量化。在反量化中,可应用在步骤914中解码的全局增益信息。然而,亦可使用用于设定反量化的不同可能性。
10).根据图10a至图10f的编码方法
在下文中,将描述量化及编码mdct频谱x(n),0≤n<n的步骤的示例实施。该方法可例如用于音频编码器300、400、500(或由其执行)或用于音频编码器600。本文中所描述的特征亦可个别地或组合地并入功能性800。详言之,将聚焦于模式2上的操作,在一些实施例中,模式2可为唯一模式。
在下文中,将描述第一步骤。第一步骤包括全局增益的第一估计。此第一估计例如不量化频谱,亦不计算由算术编码器消耗的比特的数目。其仅基于mdct系数组的能量及获得全局增益的第一粗略估计的低复杂性迭代方法。举例而言,参考nbc规范中的第1.3.8.2章节。
在下文中,将描述第二步骤。第二步骤包括使用在步骤1中发现的全局增益来对mdct频谱的量化。此产生经量化mdct频谱xq(n)0≤n<n。对于细节,例如参考nbc规范中的第1.8.3章节。
在下文中,将描述第三步骤。第三步骤包括对编码经量化频谱xq(n)所需的比特的数目的计算。另外,此步骤亦可做出使用常规方法(亦指定为“第一模式”)还是新方法(亦指定为“第二模式”)的决策。举例而言,该步骤可设定本文中所提及的信令比特(例如,发信通知应使用第一模式还是第二模式的信令比特)。举例而言,若所消耗比特的数目高于比特预算以及若满足一些准则(例如,使用高比特率),则可使用新方法(第二模式)。若所消耗比特的数目低于比特预算或若不满足准则(例如,用于第二模式的使用的准则),则可使用常规方法(第一模式)。
最后,第三步骤发现最末非零编码系数lastnz。如常规方法的描述中所描述(亦即,为了截断频谱),其仅当选择常规方法时才被发现(“步骤发现最末非零编码系数lastnz的指数,使得经截断频谱的所消耗比特数目可适配于比特预算内,参看nbc规范中的第1.3.8.4章节”)。若选择新方法(第二模式),则不截断频谱,且lastnz随后仅简单地对应于最末非零系数(例如,对应于最高频率非零频谱系数)。
在下文中,将描述步骤4。第四步骤包括随在步骤3中计算的比特数目变化而调整全局增益。若比特数目过高,则全局增益增大。若比特数目过低,则全局增益减小。随后,任选地重新进行步骤2及3。可若干次地重复步骤4,直至发现最佳全局增益为止。然而,若需要低复杂性,则步骤4可不执行,或可仅执行一次(例如在nbc中,参看nbc规范中的第1.3.8.6章节)。
在下文中,将描述步骤5。步骤5包括算术编码器状态的初始化,及由算术编码器使用的上下文c的初始化。
在下文中,将描述步骤6。步骤6包括编码全局增益及最末非零编码系数lastnz作为边信息。另外,此步骤亦编码信令比特(例如,指示使用第一模式还是第二模式的信令比特)作为边信息。
在下文中,将描述步骤7。然而,步骤7包括针对所有(n=0;n<lastnz;n+=2)重复子步骤7a至7e。换言之,只要n小于lastnz,即从n=0开始重复步骤7a至7e,其中n在每次迭代中递增二。在每次迭代中处理二个频谱值,且通常将处理所有非零频谱值(这是由于在模式2中,将选择lastnz以使得将针对所有非零频谱值至少编码最高有效比特)。
在下文中,将描述步骤7a。步骤7a包括计算表示二个系数xq(n)及xq(n+1)(其优选为整数值)的幅值(或量值,或绝对值)所需的最小比特数目。对于关于示例实施方式的细节,参考图10a的伪程序代码(参见附图标记1000a)。具有较大绝对值的系数确定表示二个系数的幅值(量值,绝对值)所需的最小比特数目。
在下文中,将描述步骤7a之二,其可例如在步骤7a与7b之间执行。换言之,步骤7a之二为刚好在步骤7a之后的额外步骤,若numbits大于二(numbits>2)则执行步骤7a之二。换言之,若需要多于二个最高有效比特的比特来表示xq(n)和/或xq(n+1),则执行步骤7a之二。在步骤7a之二中,保存各系数的最低有效比特,且随后修改系数,使得其最低有效比特现在为零。在系数最初为非零的且在将其最低有效比特设定成零之后变成零的状况下,亦保存系数的符号。
对于关于此功能性的细节,例如参考图10b中所示的伪程序代码表示。
如在附图标记1010a处可见,绝对值xq[n]的最低有效比特被提取且保存于由运行变量nlsbs指示的位置处的比特序列lsbs中(参见:附图标记1010b)。运行变量nlsbs随后增大以参考比特序列lsbs内下一未使用的比特。若已发现xq为+1或-1(附图标记1010c处的条件),则在xq[n]大于0的情况下将符号比特设定成0,且在xq小于0的情况下将符号比特设定成1,如在附图标记1010d处可见。另外,若xq为+1或-1,则将符号比特作为下一比特保存于比特序列lsbs中,此展示于附图标记1010e处。此外,随后修改带符号的频谱值xq,原因在于非偶数值被设定成邻近具有较小量值的偶数值。此功能性展示于附图标记1010f处。
然而,应注意,可改变处理步骤1010a至1010f的次序,只要总功能性保持不变即可。当然,亦有可能储存中间量。.
此外,应注意,亦对频谱值xq[n+1]执行相同功能性,其展示于附图标记1011a至1011f处。
因此,步骤7a之二提供比特序列lsbs,其表示numbits大于二所针对的所有频谱值的最低有效比特,其中符号比特包括于针对numbits大于二所针对的频谱值的比特序列lsbs中,该频谱值采用值+1或-1(例如,因为其在具有较大频谱值的组中)。序列lsbs中的比特在频谱值的序列中排序,但在序列lsbs中针对numbits不大于二所针对的这些频谱值(亦即,其完全由二个最高有效比特表示)不存在比特。
在下文中,将描述步骤7b。在此步骤7b中,将编码关于值“numbits”的信息(当numbits在步骤7a中被确定且描述针对频谱值或一组频谱值编码的最高有效比特的比特权重时)。举例而言,步骤7b包括若numbits大于2则编码numbits-2逸出值(例如,由val_esc=16表示)。对于细节,参考图10c(附图标记1020a)。举例而言,使用算术编码来编码逸出值,其中评估上下文以获得针对算术编码的概率。藉由算术编码使用概率p来编码逸出符号。此外,更新上下文。
然而,此步骤的任何细节对于本发明并非必需的。
在下文中,将描述步骤7c。步骤7c包括编码各系数xq(n)及xq(+1)的二个最高有效比特作为单一符号sym(其值介于0与15之间)。在步骤1040a中,基于值numbits,确定xq[n]及xq[n+1]的(二进制)数表示(如在numbits>2的状况下在步骤7a之二中修改的)将向右侧移位多少比特。此展示于附图标记1040a处且可被视为任选的。在步骤1040b中,处理xq[n],使得比特位置处由numbits确定的比特储存于变量a中。在步骤1040c中,处理xq[n+1],使得比特位置处由numbits确定的比特并入变量b中。换言之,比特位置处被视为二个最高有效比特的比特并入变量a及b中。
因此,确定组合xq[n]及xq[n+1]的二个最高有效比特的四比特值,如附图标记1040d处所示。变量sym随后表示四比特符号,其包括待一起编码的二个频谱值中的每个频谱值的二个最高有效比特。随后,从算术编码的上下文c确定算术编码的概率,且使用算术编码且考虑从上下文确定的概率p来编码符号sym。随后,更新上下文。
因此,获得表示待联合地编码的二个频谱值的二个最高有效比特的符号sym的算术编码表示。
在下文中,将描述步骤7d。步骤7d包括对除最低有效比特以外的其余比特(亦指定为“中间比特”或“较低有效比特”的编码。对于细节,参考图10e,其展示伪程序代码表示。如可见,运行变量b从b=1运行至numbits-3。因此,假设在步骤7c中一起编码的二个最高有效比特至少在比特位置3及4(具有比特值4及8)处或在较高比特位置处,则从比特位置2(具有比特值2)开始编码比特。因此,编码频谱值xq[n]及xq[n+1]的绝对值的比特位置(b+1)处的比特作为边信息。因此,在步骤7d中编码最低有效比特与二个最高有效比特之间的任何比特作为边信息,假设这些比特存在(其取决于如由numbits定义的最高有效比特的比特位置)。
举例而言,从b=1至b=numbits-3(假设numbits大于或等于4)执行在附图标记1050a处展示的回路。如在附图标记1050b处可见,编码xq[n]的绝对值的比特位置b+1处的比特作为边信息。如在附图标记1050c处可见,编码xq[n+1]的绝对值的比特位置b+1处的比特作为边信息。重复步骤1050b及1050c,直至运行变量b达至numbits-2。
在下文中,将描述步骤7e。步骤7e包括编码各系数(或频谱值)的符号,除非系数为0。应注意,在步骤7e中,考虑在步骤7a之二中修改的系数。换言之,若xq的初始值(在步骤7a之二中的修改之前)大于或等于2或者小于或等于-2,则将编码频谱值xq的符号。相比之下,若xq[n]最初等于0或在步骤7a之二中设定成0,则在步骤7e中不存在符号的编码。关于(经修改)频谱值xq[n]是否等于0的检查在附图标记1060a处可见,且xq[n]的正值的符号比特“0”及xq[n]的负值的符号比特“1”的提供在附图标记1060b处可见。作为边信息的符号值的编码展示于附图标记1060c处。
亦对xq[n+1]执行类似功能性,其展示于附图标记1061a、1061b及1061c处。
在下文中,将描述步骤8。步骤8包括完成算术编码器及计算未使用的比特的数目。举例而言,可计算总比特预算的多少比特在步骤7b、7c、7d及7e中保持未使用。
在下文中,将描述步骤9。在步骤9中,(若选择新方法,或若选择第二模式,或若编码器仅使用第二模式)不使用残差量化/编码(如在常规概念中)。若存在未使用的比特,则这些比特用于编码保存于lsbs[]中的nlsbs比特(参看步骤7a之二)。换言之,若例如在完成步骤7a至7e之后发现尚未使用比特预算的所有比特,则在步骤7a之二中提供的比特序列lsbs的比特数目将包括至比特流中(或一般而言包括至经编码音频表示中)。包括至经编码音频表示中的比特序列lsbs的比特数目可例如由未使用的比特的数目确定,使得比特预算被完全使用(例如,直至1或2个比特,或甚至全部)。
总而言之,应注意,当执行图8的功能性时,可使用本文中所描述的步骤或其细节。举例而言,可使用此处所描述的步骤1至4或其细节来实施功能性810、814、818、830。
此外,可使用此处所描述的步骤5至9来实施功能性870、874、878、882、886、890、892、894、896及898。然而,应注意,本文中所描述的细节可个别地并入功能性800的步骤中。
11).根据图11a至图11d的音频解码
在下文中,将参考图11a至11d描述音频解码功能性。此处所描述的解码功能性可用以基于表示频谱值的经编码信息提供经解码频谱值。此处所描述的功能性可例如用于根据图1及图2的音频解码器及根据图7的音频解码器700(例如,以实施解码720)。此处所描述的步骤亦可用于功能性900,例如以实施功能性910、950、954、958、962、968、972。
在下文中,将逐步(聚焦于“第二模式”中的解码或在仅使用第二模式的状况下)描述用于解码频谱值的功能性。
在下文中,将描述第一步骤。第一步骤包括算术解码器状态的初始化及由算术解码器使用的上下文c的初始化。
在下文中,将描述第二步骤。第二步骤包括解码全局增益(或全局增益信息,或描述反量化的任何其他信息)及最末非零编码系数信息“lastnz”。换言之,第二步骤包括解码一些边信息或控制信息。另外,第二步骤亦解码信令比特(例如,定义应使用第一模式还是第二模式的信令比特)。
在下文中,将描述步骤3。举例而言,步骤3包括针对所有(n=0;n<lastnz;n+=2)重复步骤3a至3c。换言之,将针对所有待解码的频谱值(如由lastnz定义)重复步骤3a至3c,其中将一起处理二个频谱值的组。
在下文中,将描述步骤3a。步骤3a包括解码系数(或频谱值)xq(n)及xq(n+1)二者的二个最高有效比特。关于步骤3a的细节展示于图11a中。
步骤3a包括对变量numbits的确定,其描述待解码的二个最高有效比特的比特位置。在附图标记1110a处,将变量numbits初始化成1。随后,在步骤1110b中从上下文(其已在之前初始化)获得概率p,且在步骤1110c中使用算术解码且使用概率p来解码符号sym。随后,在步骤1110d中更新上下文,且在步骤1110e中将变量numbits增加1。然而,若经解码符号sym为逸出符号,则重复步骤1110b、1110c、1110d、1110e。因此,若第一经解码符号并非逸出符号,则numbits被设定成等于2且待解码的最高有效比特位置将定义比特位置1及2(具有比特值1及2)处的比特。然而,若藉由算术解码识别一个或多个逸出符号,则变量numbits进一步增大,从而指示待解码的最高有效比特的较高比特权重,此亦指示有地方置放一个或多个最低有效比特。然而,一旦发现最末解码的符号并非逸出符号,就基于经解码符号确定具有由变量numbits定义的比特权重的最高有效值。举例而言,若符号由四比特值表示,则使用四个比特值的二个比特来定义频谱值xq[n]的二个最高有效比特,且使用四个比特值的二个比特来定义频谱值xq[n+1]的二个最高有效比特。细节在组件符号1110f及1110g处可见。因此,藉由算术解码来解码的0个、1个或更多个逸出符号确定最高有效比特的比特权重,且并非逸出符号的符号定义二个频谱值的最高有效比特的比特值。
在下文中,将描述步骤3a之二。步骤3a之二为刚好在步骤3a之后的额外步骤。此步骤将numbits保存于阵列numbits[n]中,使得其可稍后在步骤6中再使用。换言之,针对经解码的所有频谱值对,维持变量numbits的值以供稍后使用。然而,此仅为辅助步骤。
在下文中,将描述步骤3b。步骤3b包括解码除最低有效比特以外的其余比特。对于细节,参考图11b。应注意,在此处,若numbits大于或等于4,亦即,若频谱值(或来自一起处理的一对频谱值的至少一个频谱值)的二进制数表示包括多于二个最高有效比特及一个最低有效比特的比特(亦即,至少4个比特),则步骤3b仅解码其余比特。这些比特从具有比特位置2的比特开始且朝向具有较高比特位置(若存在)的比特行进,随后解码比特位置在最低有效比特与二个最高有效比特之间的这些比特。出于此目的,将运行变量b初始化成1,且只要b小于numbits-2,即执行比特解码。回路功能性展示于附图标记1120a处,针对第一频谱值xq的比特的解码展示于附图标记1120b处,将以比特的比特权重加权的比特添加至第一频谱值展示于附图标记1120c处,针对第二频谱值xq[n+1]的比特的解码展示于附图标记1120d处,且添加以比特的比特权重加权的比特展示于附图标记1120e处。
在下文中,将描述步骤3c。步骤3c包括解码各系数的符号,除非系数(或频谱值)为0。
举例而言,检查目前为止经解码的频谱系数(在步骤3a及3b中,而不考虑最低有效比特)是否等于0(参看附图标记1130a)。若频谱值xq[n]不同于0,则解码符号比特(步骤1130b),且若符号比特等于1(其在附图标记1130c处检查),则反转xq[n]的符号(参见:附图标记1130d)。对第二频谱值执行类似功能性,如在附图标记1131a至1131d处所示。
在下文中,将描述步骤4。在步骤4中,将指数n大于或等于lastnz的所有系数(或频谱值)设定成0。因此,将尚未由编码器(其由边信息“lastnz”发信)编码的那些频谱系数设定成定义明确的值(0)。
在下文中,将描述步骤5。
步骤5包括完成算术解码器及计算未使用的比特的数目。举例而言,可计算在步骤3a、3b及3c中已解码多少比特,且可接着推断总比特预算的多少比特目前为止尚未使用。
在下文中,将描述步骤6。在第6步骤中,若存在未使用的比特,则解码nlsbs比特且将其储存于lsbs[]中。换言之,将使用nlsbs比特的序列来进行最低有效比特细化,其中该比特可直接使用或可储存于中间数据结构中,如阵列lsbs[]。随后,若numbits[n]大于2(对于具有指数n及n+1的相应频谱值),则使用经解码lsb比特(或最低有效比特比特)细化系数(n、n+1)(或频谱值xq[n]及xq[n+1])。
对于细节,参考图11d。
如在附图标记1140a处可见,将运行变量k初始化成0。随后,对所有频谱值对运行回路处理,其中回路定义在附图标记1140b处可见。然而,应注意,在回路处理中跳过不包括多于二个最高有效比特的比特的任何频谱值对。当前处理的频谱值对是否包括多于最高有效比特的比特的检查在附图标记1140c处可见。另外,应注意,在经处理比特的数目达到可用于最低有效比特细化的比特的总数目nlsbs的任何状况下(即使尚未考虑多于二个最高有效比特的比特的所有频谱值),停止处理(例如,使用最低有效比特信息对频谱值进行细化)。回路处理的中止例如由命令“中断”来实现,且可见的是,通常存在关于可用于最低有效比特的细化的最大比特数目是否在评估来自比特序列或阵列lsbs的新比特之前达成的评估。举例而言,在附图标记1140d处存在是否已评估所有可用比特的检查,此检查在读取来自比特序列或阵列lsbs的新比特之前,该读取在附图标记1140e处可见。在从比特序列或阵列lsbs读取比特(在附图标记1140e处)之后,取决于比特值且亦取决于先前解码的频谱值xq[n]的值而采取不同动作。若在步骤1140e中读取的细化比特的值为零,则不采取进一步动作(因为比特指示不需要对先前解码的值进行修正)。相比之下,若在步骤1140e中读取的细化比特的值为“1”,则所采取的动作取决于频谱值xq[n]的实际值。若频谱值xq大于零且若在步骤1140e中读取的比特为“1”,则频谱值xq[n]增加1(亦即,增加最低有效比特值),此在附图标记1140f处可见。若频谱值xq[n]为负且在步骤1140e中读取的比特值为“1”,则频谱值xq[n]减少1(亦即,减少最低有效比特值)。
然而,若值xq为0且在步骤1140e中读取的比特的比特值为“1”,则从比特序列或阵列lsbs读取另一比特,如在参考号1140i处所示,其中步骤1140i中对另一比特的读取在可用比特的总数目是否已达成(此导致由“中断”命令中止回路)的检查之后。随后,取决于在步骤1140i中读取的“符号比特”的值选择性地将xq[n]的值设定成+1或-1,此展示于附图标记1140j处。随后,针对第二频谱值xq[n+1]重复步骤1140d至1140j。
总而言之,只要可用于细化最低有效比特的比特序列或阵列lsbs的比特并未完全用完,就存在对来自该比特序列或阵列lsbs的“细化比特”的处理。若先前解码的频谱值xq[n]、xq[n+1]不同于0,则取决于从比特序列或阵列lsbs读取的“细化比特”将所述频谱值的量值增加最低有效比特值。若先前解码的频谱值xq[n]、xq[n+1]为0,则另外从比特序列或阵列lsbs提取“符号比特”,且在先前(第一)细化比特指示频谱值应由最低有效比特值修改的状况下,符号比特决定频谱值xq[n]、xq[n+1]应设定成+1还是-1。相比之下,若细化比特指示频谱值xq[n]、xq[n+1]的值应保持不变,则不使用符号比特。
换言之,与频谱值相关联的第一细化比特可被视为指示频谱值的量值是否应增加一个最低有效比特值的比特,且仅在先前解码的频谱值为0的状况下使用第二细化比特(符号比特)。
因此,存在关于细化的极高效概念,其中频谱值的最低有效比特细化通常仅需要一个比特,且其中仅在先前解码的频谱值为0的状况下需要二个比特(决定是否应存在细化的比特及决定符号的比特)。
应注意,此处所描述的功能性可例如用于解码功能性900。
此处参考伪程序代码详细论述的特征可个别地或组合地引入至如图9中所示的功能性中。然而,应注意,不必包括各细节及每一细节,且此处所描述的细节在个别地采用时可为有利的。
11).结论
11.1)综述
在下文中,将概述本发明的一些基本想法。详言之,本文中所提及的方面可个别地或与其他方面组合地实施至本发明的实施例中。
根据本发明的实施例基于如下发现:在较低比特率下,常规方法可能使写码效能严重降级。已发现,在高比特率下,高比特预算允许以高精确度量化完整频谱,甚至高频率系数。亦已发现,将高频率系数中的一些设定成0会在高频率中添加大量失真,此会阻碍经解码输出信号的透明质量。在图12中,针对音频信号的每一帧且针对低比特率32kbps及高比特率128kbps此二个比特率标绘mdct频谱snr。32kbps下的snr似乎一致,但128kbps下的snr有大程度下降。这些下降对应于高频率系数被截断的帧,因为所消耗的比特数目超出比特预算。
11.2).常规方法的逐步描述
在下文中,将描述量化及编码如在常规方法中执行的mdct频谱x(n),0≤n<n所必需的步骤。
编码器
·步骤1:全局增益的第一估计。此第一估计不量化频谱亦不计算由算术编码器消耗的比特的数目。其仅基于mdct系数组的能量及获得全局增益的第一粗略估计的低复杂性迭代方法。(参看nbc规范中的第1.3.8.2章节)
·步骤2:使用在步骤1中发现的全局增益来量化mdct频谱。此产生经量化mdct频谱xq(n),0≤n<n。(参看nbc规范中的第1.3.8.3章节)
·步骤3:计算编码经量化频谱xq(n)所需的比特数目。若比特数目超出比特预算,则此步骤亦发现最末非零编码系数lastnz的指数,使得经截断频谱的所消耗的比特数目可适配于比特预算内。(参看nbc规范中的第1.3.8.4章节)。
·步骤4:随在步骤3中计算的比特数目变化而调整全局增益:若比特数目过高,则增大全局增益;若比特数目过低,则减小全局增益。随后,重新进行步骤2及3。可若干次地重复步骤4,直至发现最佳全局增益为止。若需要低复杂性,则不执行步骤4,或可仅执行一次(如在nbc中,参看nbc规范中的第1.3.8.6章节)。
·步骤5:初始化算术编码器状态;初始化上下文c。
·步骤6:编码全局增益及最末非零编码系数lastnz作为边信息。
·步骤7:针对所有(n=0;n<lastnz;n+=2)重复以下子步骤:
o步骤7a:计算表示二个系数xq(n)及xq(n+1)的幅值所需的最小比特数目
o步骤7b:若numbits>2,则编码numbits-2逸出值(val_esc=16)
o步骤7c:编码二个系数xq(n)及xq(n+1)的2个最高有效比特作为单一符号sym(其值介于0与15之间)
o步骤7d:若numbits>2,则编码其余比特
o步骤7e:编码各系数的符号,除非系数为零
·步骤8:完成算术编码器且计算未使用的比特的数目。
·步骤9:若存在未使用的比特,则编码由残差量化器给出的残差比特(参看nbc规范中的第1.3.9章节)。
解码器
·步骤1:初始化算术解码器状态;初始化上下文c。
·步骤2:解码全局增益及最末非零编码系数lastnz。
·步骤3:针对所有(n=0;n<lastnz;n+=2)重复以下子步骤:
o步骤3a:解码二个系数xq(n)及xq(n+1)的2个最高有效比特
o步骤3b:若numbits>2,则解码其余比特
o步骤3c:解码各系数的符号,除非系数为零
·步骤4:将所有系数n>=lastnz设定成零
·步骤5:完成算术解码器且计算未使用的比特的数目。
·步骤6:若存在未使用的比特,则解码残差比特。应用使用残差比特来细化非零系数的反残差量化器(参看nbc规范中的第1.4.3章节)。
·步骤7:反量化:用经解码mdct系数乘以全局增益
应注意,如本发明的章节“常规方法的逐步描述”中所描述的步骤1至9可用于常规音频编码器及解码器,且亦可用于根据本发明的音频编码器或解码器在第一编码模式中操作的情况。
举例而言,常规方法的逐步描述中所描述的编码器步骤1至9可用以实施功能性810、814、818、840、844、848、852、856、860、864、868及869。上文在常规方法的逐步描述中所描述的编码器步骤1、2、4、5、6、7a、7c、7e及8亦可用于根据本发明的实施例的音频编码器,例如以实施功能性810、814、818、822、870、874、878、886、890、894及896(例如,当在新的第二模式中工作时)。
当在“第一模式”中操作时,解码器步骤1、2、3、3a、3b、3c、4、5、6、7亦可用于根据本发明的音频解码,例如以实施步骤910、914、918、930、934、938、942、944、948、980。
此外,解码器步骤1、2、3、3a、3c、4、5及7亦可用以在本发明的解码器中实施功能性910、914、918、950、958、962、968及980(例如,当在“第二模式”中操作时)。
11.3).所提出的发明的方面
在下文中,将描述对常规方法中所使用的编码器步骤及解码器步骤的改良及扩展。
已发现,在高比特率下,在编码器步骤1至4中计算的经量化mdct频谱xq[n]含有具高幅值的系数。已发现,表示这些系数(编码器步骤7a)的幅值所需的最小比特数目因此较高,且在大多数状况下大于2。因此,在大多数状况下,存在每系数至少一个最低有效比特(lsb),其如编码器步骤7d中所描述作为边信息被编码。这些最低有效比特(lsb)为不太重要的信息,且已发现,该最低有效比特可被移除而对snr的影响相对较小。已发现,实际上,相比于在常规方法中将整个系数设定成0(亦即,将最高有效比特msb及最低有效比特lsb二者设定成0),该影响小得多。
根据所提出的发明的实施例因此基于如下想法:当编码经量化mdct数据所消耗的比特的数目超出比特预算时,截断最低有效比特lsb比截断高频系数更高效。然而,此仅在经量化mdct频谱系数具有高幅值因此处于高比特率下时,这才是有利的(或可能的)。因此,所提出的发明将一个信令比特作为边信息添加至比特流(其中所述信令比特可例如描述使用“第一模式”还是“第二模式”)。此比特发信通知使用常规方法(例如,如常规方法的逐步描述章节中所描述)还是新方法(如例如在所提出的发明的实施例的逐步描述章节中所描述)。应注意,在所消耗的比特数目低于比特预算的状况下,不需要新方法,且信令比特可被设定以触发常规方法。举例而言,仅在所消耗的比特数目超出比特预算且满足一些准则(例如,高比特率)时使用新方法。
在图13中,进行与先前附图(图12)相同的实验,除了根据所提出的发明的实施例用于128kbps的高比特率状况。128kbps下的snr现在似乎一致得多,所有下降皆已消失。
11.4).所提出的发明的实施例的逐步描述
在下文中,将逐步描述根据本发明的实施例。在此描述中,亦将参考章节11.2中所提供的常规方法的逐步描述,这是由于可并入常规方法的若干步骤。
换言之,章节11.2中所描述的这些步骤中的大多数在此处相同。因此,此处将仅描述不同的步骤。
编码器
·步骤3:此步骤仍计算编码经量化频谱xq(n)所需的比特数目。另外,此步骤亦必须做出使用先前技术方法还是新方法的决策(亦即,设定先前章节中所提及的信令比特)
最后,该步骤发现最末非零编码系数lastnz。已发现其仅在选择先前技术方法时才类似于章节11.2中所描述的情况(亦即,以便截断频谱)。若选择新方法,则不截断频谱且lastnz随后仅仅对应于最末非零系数。
·步骤6:另外,此步骤现在亦编码信令比特作为边信息
若选择先前技术方法,则其他编码器步骤相同。若选择新方法,则添加/修改以下步骤。
o步骤7a之二:此为刚好在步骤7a之后的额外步骤,若numbits>2的则执行步骤7a之二。保存各系数的最低有效比特且随后修改系数,使得其lsb现在为零。在系数最初为非零的且在将其lsb设定成零之后变成零的状况下,亦保存系数的符号。
o步骤7d:编码除最低有效比特以外的其余比特
·步骤9:若选择新方法,则不使用残差量化/编码。若存在未使用的比特,则使用这些比特来编码保存于lsbs[]中的nlsbs比特(参看步骤7a之二)。
解码器
·步骤2:另外,此步骤现在亦解码信令比特
若选择先前技术方法,则其他解码器步骤相同。若选择新方法,则添加/修改以下步骤。
o步骤3a之二:此为刚好在步骤3a之后额外步骤。其将numbits保存于numbits[n]中,因此其可稍后在步骤6中再使用。
o步骤3b:解码除最低有效比特以外的其余比特
·步骤6:若存在未使用的比特,则解码nlsbs比特且将其储存于lsbs[]中。若numbits[n]>2,则使用经解码lsb比特细化系数(n,n+1)。
12.根据图14至图18的方法
图14至图15展示根据本发明的实施例的用于音频解码的方法的流程图。
图16至图18展示根据本发明的实施例的用于音频解码的方法的流程图。
应注意,该方法可由本文中关于对应设备所描述的特征及功能性中的任一个且由所提及功能性中的任一个个别地或组合地补充。
13.实施替代方案
尽管已在装置的上下文中描述一些方面,但显然,这些方面亦表示对应方法的描述,其中区块或设备对应于方法步骤或方法步骤的特征。类似地,方法步骤的上下文中所描述的方面亦表示对应区块或项目或对应装置的特征的描述。可由(或使用)硬件装置(比如微处理器、可编程计算机或电子电路)执行方法步骤中的一些或全部。在一些实施例中,可由此装置执行最重要的方法步骤中的一个或多个。
本发明的经编码音频信号可储存于数字储存介质上或可在诸如无线传输介质的传输介质或诸如因特网的有线传输介质上传输。
取决于某些实施要求,本发明的实施例可在硬件或软件中实施。可使用其上储存有与可编程计算机系统协作(或能够协作)的电子可读控制信号以使得执行相应方法的数字储存介质(例如,软盘、dvd、蓝光、cd、rom、prom、eprom、eeprom或闪存)来执行实施方式。因此,数字储存介质可为计算机可读的。
根据本发明的一些实施例包括具有电子可读控制信号的数据载体,该控制信号能够与可编程计算机系统协作,使得执行本文中所描述的方法中的一个。
一般而言,本发明的实施例可实施为具有程序代码的计算机程序产品,当计算机程序产品运行于计算机上时,程序代码操作性地用于执行该方法中的一个。程序代码可例如储存于机器可读载体上。
其他实施例包括储存于机器可读载体上的用于执行本文中所描述的方法中的一个的计算机程序。
换言之,本发明方法的实施例因此为一种计算机程序,其具有用于在计算机程序于计算机上运行时执行本文中所描述的方法中的一个的程序代码。
因此,本发明方法的另一实施例为数据载体(或数字储存媒体,或计算机可读媒体),其包括记录于其上的用于执行本文中所描述的方法中的一个的计算机程序。数据载体、数字储存介质或所记录介质通常系有形的和/或非暂时性的。
因此,本发明方法的另一实施例为表示用于执行本文中所描述的方法中的一个的计算机程序的数据串流或信号序列。数据串流或信号序列可(例如)被配置以经由数据通信连接,例如经由因特网而传送。
另一实施例包括处理装置,例如经配置或经调适以执行本文中所描述的方法中的一个的计算机或可编程逻辑设备。
另一实施例包括上面安装有用于执行本文中所描述的方法中的一个的计算机程序的计算机。
根据本发明的另一实施例包括经配置以将用于执行本文中所描述的方法中的一个的计算机程序(例如,电子地或光学地)传送至接收器的设备或系统。接收器可(例如)为计算机、行动装置、存储装置或类似者。设备或系统可(例如)包括用于将计算机程序传送至接收器的文件服务器。
在一些实施例中,可编程逻辑设备(例如,现场可编程门阵列)可用以执行本文中所描述的方法的功能性中的一些或全部。在一些实施例中,现场可编程门阵列可与微处理器协作,以便执行本文中所描述的方法中的一个。一般而言,该方法优选地由任何硬件装置来执行。
本文中所描述的设备可使用硬件装置或使用计算机或使用硬件装置与计算机的组合来实施。
本文中所描述的装置或本文中所描述的装置的任何组件可至少部分地以硬件和/或以软件来实施。
本文中所描述的方法可使用硬件装置或使用计算机或使用硬件装置与计算机的组合来进行。
本文中所描述的方法或本文中所描述的装置的任何组件可至少部分地由硬件和/或由软件来执行。
上述实施例仅说明本发明的原理。应理解,对本文中所描述的配置及细节的修改及变化将对本领域的其他技术人员显而易见。因此,意图为仅受到待决的权利要求书的范围限制,而不受到藉由本文中的实施例的描述及解释所呈现的特定细节限制。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除