CN116097350A - 对低时延音频编解码器的参数进行量化和熵编码 - Google Patents
对低时延音频编解码器的参数进行量化和熵编码 Download PDFInfo
- Publication number
- CN116097350A CN116097350A CN202180057963.3A CN202180057963A CN116097350A CN 116097350 A CN116097350 A CN 116097350A CN 202180057963 A CN202180057963 A CN 202180057963A CN 116097350 A CN116097350 A CN 116097350A
- Authority
- CN
- China
- Prior art keywords
- parameters
- bit rate
- parameter
- quantized
- encoding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013139 quantization Methods 0.000 title claims description 129
- 238000000034 method Methods 0.000 claims abstract description 154
- 238000012545 processing Methods 0.000 claims abstract description 107
- 230000008569 process Effects 0.000 claims abstract description 62
- 238000004364 calculation method Methods 0.000 claims abstract description 12
- 238000011002 quantification Methods 0.000 claims abstract description 6
- 230000002123 temporal effect Effects 0.000 claims description 11
- 125000004122 cyclic group Chemical group 0.000 claims description 10
- 230000015654 memory Effects 0.000 claims description 10
- 230000001351 cycling effect Effects 0.000 claims description 2
- 230000001419 dependent effect Effects 0.000 claims 3
- 239000011159 matrix material Substances 0.000 description 14
- 238000004891 communication Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 9
- 238000013507 mapping Methods 0.000 description 9
- 230000005236 sound signal Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 230000000116 mitigating effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000008014 freezing Effects 0.000 description 4
- 238000007710 freezing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012732 spatial analysis Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000001172 regenerating effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/032—Quantisation or dequantisation of spectral components
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
描述了一种对输入信号的元数据进行逐帧编码的方法,元数据包括能从输入信号计算的多个至少部分地相关的参数。方法包括针对每个帧:通过使用循环过程迭代地执行以下步骤:从多个处理策略中确定用于计算并量化参数的处理策略;基于所确定的处理策略计算并量化参数以获得已量化参数;以及对已量化参数进行编码。特别地,多个处理策略中的每一个包括指示与各个参数的计算和量化有关的排序的相应第一指示;并且处理策略是基于至少一个比特率阈值来确定的。
Description
相关申请的交叉引用
本申请要求分别在2020年6月11日和2021年5月27日提交的美国临时申请第63/037,784号和第63/194,010号的优先权,这些美国临时申请中的每一个都通过援引以其全文并入。
技术领域
本公开涉及对低时延音频编解码器(编码器/解码器)的参数(辅助信息)进行熵编码的一般领域,以及用于通过使用一系列量化和熵编码技术迭代地细化参数比特率来实现参数比特率目标的机制。
背景技术
当音频编解码器(编码器/解码器)的帧周期(帧大小)接近20毫秒(ms)或更短时,以短帧大小更新音频本质。如果要遵循按每帧更新音频本质和参数两者的方法,则每个帧的辅助信息也将被嵌入并以相同的速率传输。
然而,本领域中通常已知的是,辅助信息不需要那么频繁地更新。例如,通常可以例如每40ms计算并更新空间参数一次。对于具有40ms或更长的帧周期的编解码器,这通常意味着参数更新速率与帧速率一致,并且因此,可以在每个帧中独立地对参数进行编码。然而,在具有短帧周期(例如,低于40ms)的编解码器中,这意味着如果每一个帧中都包括参数,则实际上将会对这些参数过采样。
因此,广义来说,本公开的重点是提出尽可能地减少辅助信息(或者有时也被称为参数)但还保持音频本质的高帧更新速率的机制。
发明内容
鉴于上文,本公开总体上提供了一种对输入信号的元数据进行逐帧编码的方法,以及具有如相应独立权利要求所述的特征的对应程序、计算机可读存储介质和装置。
根据本公开的一个方面,提供了一种对输入信号的元数据进行逐帧编码的方法。特别地,可以通过使用合适的编解码器(编码器/解码器)从输入(音频或视频)信号计算出或计算(例如,提取)元数据。一般来说,元数据可以用于在解码器侧重新生成输入信号。元数据可以包括可从输入信号计算的多个至少部分地相关的参数。也就是说,输入信号的参数中的至少一些可以取决于其他参数中的至少一些来计算(例如,生成或重新生成),使得取决于各种情况,并非所有参数都必须始终以明文形式传输。
特别地,方法可以包括/涉及针对每个帧通过使用循环过程迭代地执行以下步骤:从多个处理策略中确定用于计算并量化参数的处理策略;基于确定的处理策略计算并量化参数以获得已量化参数;以及对已量化参数进行编码。由于循环过程通常涉及(尤其)与量化有关的处理,因此在一些情况下,循环过程还可以被称为量化循环(或简称为循环)。以类似的方式,由于处理策略通常还涉及(尤其)与量化有关的处理,因此在一些情况下,处理策略还可以被称为量化策略(或在一些其他情况下互换地被称为量化方案)。进一步地,应注意,编码过程可以使用任何合适的编码程序,包括但不限于熵编码(例如,霍夫曼或算术编码)或不使用熵编码(例如,base2编码)。取决于各种实施方式和/或要求,可以采用任何其他合适的编码机制。
如本领域的技术人员可以理解和认识到的,可以以任何合适的方式提供(如预定义或预配置)用于计算并量化这些参数的多个处理策略。相应地,还可以以任何合适的方式从多个处理策略中确定处理策略。例如,取决于(当前)比特率要求,可以从多个处理策略当中选择合适的处理策略,使得在基于这样选择的处理策略执行计算、量化和编码(例如,使用或不使用熵编码)之后的所得比特率满足(当前)比特率要求。值得注意地,由于比特率要求可能会不时地变化(例如,从帧到帧),因此这样确定的处理策略也可能对于每个帧或一些帧是不同的。
特别地,多个处理策略中的每一个可以包括指示与各个参数的计算和量化有关的排序(或顺序)的相应第一指示。也就是说,第一指示可以包括指示计算和量化各个参数的时间和排序的顺序信息。作为示例(但不作为限制),第一指示可以包括指示在量化这些参数中的任何参数之前首先计算所有参数的信息。
更特别地,处理策略是基于至少一个比特率阈值来确定的。如本领域的技术人员可以理解和认识到的,取决于各种实施方式和/或要求,可以例如预定义或预配置(多个)比特率阈值。
如上文所描述的配置,广义来说,本公开的所提出的方法可以被视为引入了迭代和分步方法的构思以选择通常从多个替代方案中搜索‘最佳’(或最优)量化方案的最优参数量化方案/策略。然而应注意,在目前情况下,术语‘最佳’可能不一定是具有最低(所得)参数比特率(即,在量化和可能编码之后)的量化方案,但可以被视为可以缓解解码器的状态丢失的量化方案。如本领域的技术人员可以理解的,一般来说,解码器“状态”是指解码器为了能够正确地解码当前帧而从先前帧保留的信息历史。例如(但不作为限制),在一些情况下,编码器侧可以采用所谓的时间差分编码。然而,使用时间差分编码通常可能展现出的缺点主要在于以下事实:典型地引入了当在传输期间音频流可能经历数据包丢失时可能带来问题的帧到帧状态。在这种情况下,在传输期间可能丢失与音频有关的音频和参数两者,使得已用时间差分编码更新的任何参数可能会经历潜在伪影的多个后续帧。在这个意义上,上述状态丢失的缓解是指尝试在可能的情况下避免时间差分编码,使得解码器不需要依赖于在先前帧中接收的元数据来解码当前帧的元数据。并且当需要时间差分编码时,应以这样的方式进行时间差分编码,即系统从数据包丢失中快速恢复。具体地,通过谨慎地选择如本公开中所描述的适当量化方案,可以尽可能地限制(缓解)上文说明的与数据包丢失有关的不期望行为。换句话说,本公开总体上提出了一种编码(编码器侧)缓解,其涉及用于量化和(使用或不使用熵)编码的迭代选择过程,该迭代选择过程尝试最小化例如由于使用时间差分编码而可能引入数据包丢失伪影的程度。
在一些示例中,可以确定处理策略,使得编码后的已量化参数的(所得)比特率等于或小于(元数据/参数)比特率阈值。如此,在使用确定的(例如,选定)处理策略进行量化和编码之后的所得比特率在(至少一个)比特率阈值内,从而满足例如预先商定或由标准化规范预定的比特率要求。
在一些示例中,多个处理策略中的每一个可以进一步包括指示用于执行参数的量化的信息的相应第二指示。
在一些示例中,用于执行参数的量化的信息包括多个参数的相应量化范围和/或量化级别。例如,信息可以与最大值、最小值、量化级别数量或每个相应参数所期望的任何其他合适的值(例如,每参数类型的相应值)有关。一般来说,如本领域的技术人员可以理解和认识到的,这些与量化有关的值/参数提供或定义整体上更粗略或更精细的量化,并且相应地伴随更好或更差的空间再现。如本领域的技术人员可以理解和认识到的,广义来说,一些(量化)参数通常被认为比其他参数对量化更敏感,并且通常对于所有参数可能不存在绝对的精细/粗略量化方法。
如上所述的配置,多个处理策略可以被视为各自包括关于与计算和量化有关的排序/顺序的第一指示(其一部分/部分);以及关于实际量化过程的第二指示(其一部分/部分)。通过谨慎地设计处理策略(例如,第一指示和第二指示的不同组合),各种比特率配置/要求可能是以高效和灵活的方式针对例如不同用例或场景。具体地,在一些情况下,可以存在可以被认为保证小于(或等于)目标比特率阈值的一个处理策略(例如,多个量化策略当中最粗略的量化策略)。
在一些示例中,参数的编码可以涉及时间和/或频率差分编码。广义来说,单个元数据参数可以从连续数值量化到表示离散值的索引。在非差分编码中,为该元数据参数编码的信息直接对应于该索引。值得注意地,在本公开中使用的术语“非差分编码”可以视情况是指所有种类的非时间差分编码、非频率差分编码或非差分编码,如本领域的技术人员将理解和认识到的。在时间差分编码中,被编码的信息是来自当前帧的该元数据参数的索引与来自前一帧的相同元数据参数的索引之间的差。如本领域的技术人员将理解和认识到的,上文说明的时间差分编码的一般构思可以进一步扩展到例如多个频带。相应地,元数据参数可以视情况类似地扩展到例如分别与多个频带(中的每一个)相对应的多个参数。频率差分编码遵循类似的原理,但经编码差是当前帧的一个频带的元数据与当前帧的另一频带的元数据之间的差(与时间差分编码中的当前帧减去前一帧相反)。作为简单示例(但不作为限制),假设a0、a1、a2和a3用于表示特定帧的4个频带中的参数索引,则在一个示例实施方式中,频率差分索引可以是a0、a0-a1、a1-a2、a2-a3。如本领域的技术人员将认识到的,(时间和/或频率)差分编码背后的一般理念是元数据典型地可以从帧到帧或从频带到频带缓慢地改变,使得即使元数据的原始值很大,其与前一帧的元数据之间的差或其与其他频带的元数据之间的差也会很小。这是有利的,因为通常具有趋向于零的统计分布的参数可以使用更少的比特来编码。
在一些示例中,为当前帧确定的处理策略可以不同于为前一帧确定的处理策略,并且相应地,参数的编码可以涉及跨不同处理策略的时间差分编码。也就是说,在确定不同处理策略(例如,为输入信号的不同帧)的某些情况下,本公开的方法仍能够例如通过涉及跨这些不同的处理策略进行时间差分编码来对参数进行编码。
如上文所指示的,多个处理策略可以各自包括指示与各个参数的计算和量化有关的排序(或顺序)的相应第一指示。
在一些示例中,第一指示可以包括指示所有参数是在被量化之前计算的信息。
在一些示例中,第一指示可以包括指示这些参数被逐个地计算并且然后按顺序被一个接一个地量化的信息。特别地,多个参数中的至少一个参数可以是基于多个参数中的另一已量化参数来计算的。作为示例但不作为限制,假设要计算并量化总共三个参数,则可以首先(从输入信号)计算并然后量化第一参数;同时可以基于(已量化的)第一参数来计算第二参数并且然后量化第二参数自身;并且最终,基于(已量化的)第一参数和/或(已量化的)第二参数来计算并且然后量化第三参数。在一个示例中,基于已量化的第一和第二参数来计算第三参数。
在一些示例中,第一指示可以包括指示所有参数是在任何参数被量化之前计算的信息;并且特别地,基于另一已量化参数来重新计算参数中的至少一个,并且量化该重新计算的参数。仍以三个参数的上述假设作为示例,首先计算所有参数,并且然后量化第一和第二参数;后来,例如基于已量化的第二参数重新计算第三参数,并且然后基于重新计算的值来量化第三参数。
在一些示例中,方法可以进一步包括在对已量化参数进行编码之前,将来自前一帧的已量化参数的索引映射到当前帧的索引。换句话说,如果确定(例如,选择/选择了)不同的处理策略(量化方案,例如,依据不同的量化级别和/或顺序),则曾用不同量化方案量化的来自前一帧的(量化)索引被映射到当前帧的索引。值得注意地,这允许帧之间的时间差分编码而无需每当量化方案改变时求助于必须发送非差分帧,从而进一步提高整体编码效率和灵活性。
在一些可能的实施方式中,可以基于以下公式来执行索引的映射:
indexcur=round(indexprev×(quant_lvlcur-1)/(quant_lvlprev-1)),
其中,indexcur是在映射之后的当前帧的索引,indexprev是前一帧的索引,quant_lvlcur是当前帧的量化级别,并且quant_lvlprev是前一帧的量化级别。
作为简单的说明性示例,让量化范围为0至2,并且让先前量化级别为11。在均匀量化的情况下,这通常将意味着每个量化步长将是0.2。进一步地,让当前量化级别为21,这意味着在均匀量化的情况下每个量化步长是0.1。基于这些假设,如果前一帧中的已量化值是0.4,则在具有11个均匀量化级别的情况下,将获得以下先前索引:indexprev=2。映射提供前一帧的元数据的已量化索引,就像其曾使用当前帧的量化级别进行量化一样。因此,在这个示例中,如果当前帧中的量化级别是21,则已量化值0.4将映射到indexcurr=4。一旦计算出所映射的索引,就计算当前帧索引与前一帧索引之间的差,并且对这个差进行编码。如果需要的话,则相似或类似方法还可以应用于频率差分编码,如本领域的技术人员将理解和认识到的。
应注意,仅为了说明性目的而仅仅提供上述公式和相应示例,可以采用任何其他合适的机制(例如,查找表等)来执行索引映射,如本领域的技术人员将理解和认识到的。
在一些示例中,至少一个比特率阈值可以包括目标比特率阈值。相应地,循环过程可以涉及以下步骤:根据(确定的)处理策略,使用熵编码器以非差分和/或频率差分方式对参数进行量化和编码;估计(例如,计算)编码后的参数的第一参数比特率;以及如果第一参数比特率小于或等于目标比特率阈值,则退出循环过程。特别地,在一些可能的实施方式中,可以从使用(训练后的)熵编码器编码的非差分和频率差分编码方案的最小值估计(计算)第一参数比特率。如本领域的技术人员将理解和认识到的,可以以任何合适的方式训练熵编码器,例如,以便适应各个编码方案。例如,在一些可能的实施方式中,熵编码器的训练可以涉及基于从输入信号的大集合计算的元数据来开发概率模型。为开发这些模型而选择的特定信号预期为要表示预期在日常使用中通过系统传递的信号类型。如此,应该尽可能高效地对来自其他类似信号的元数据进行编码。简而言之,一般来说,这个训练是关于利用参数的预期概率分布来适应熵编码器以使其具有最大效率。
在一些示例中,循环过程可以进一步涉及以下步骤:如果第一参数比特率大于目标比特率阈值,则根据处理策略,以无熵的非差分方式对参数进行量化和编码;估计编码后的参数的第二参数比特率;以及如果第二参数比特率小于或等于目标比特率阈值,则退出循环过程。
在一些示例中,循环过程可以进一步涉及以下步骤:如果第二参数比特率大于目标比特率阈值,则根据处理策略,使用(训练后的)熵编码器以时间差分方式对参数进行量化和编码;估计编码后的参数的第三参数比特率;以及如果第三参数比特率小于或等于目标比特率阈值,则退出循环过程。
在一些示例中,可以相对于前一帧以频率交错方式对参数的子集执行时间差分量化和编码。特别地,如本领域的技术人员可以理解和认识到的,频率交错方式通常可以是指针对不同帧对不同频带(例如,对应于不同的参数子集)进行处理(例如,量化和编码)的情况。换句话说,可以在与前一帧的频带不同的不同频带(对应于目前处理的参数)中执行当前帧的参数(的至少子集)的时间差分的量化和编码。
在一些示例中,可以通过循环经过多个频率交错的时间差分编码方案以这样的方式执行时间差分的量化和编码,即对于每个循环,对参数的不同子集(对应于不同的频带集合)进行时间差分的量化和编码,而对其余参数进行非差分的量化和编码。
在一些示例中,所确定的处理策略可以被认为是第一处理策略,并且相应地,循环过程可以进一步涉及以下步骤:如果第三参数比特率大于目标比特率阈值,则从多个处理策略中确定第二处理策略,使得通过应用第二处理策略的(所得)比特率将预期小于使用第一处理策略的比特率;以及重复循环过程的以上步骤。如本领域的技术人员可以理解和认识到的,在这样的情况下,这样确定的(例如,选定)第二处理策略可以简单地被认为是比先前确定的(例如,选定)第一处理策略更粗略的处理策略。如此,可能的已量化值/索引的集合的大小可以减小,从而(典型地)导致比特率也相应地减小。
在一些示例中,可以在第一数量的频带中表示参数,并且循环过程可以进一步涉及以下步骤:如果第三参数比特率大于目标比特率阈值,则将表示参数的频带的数量减少到小于第一数量的第二数量,使得要量化和编码的参数的总数减少;以及重复循环过程的以上步骤。
在一些示例中,在第一数量的频带中表示参数,并且循环过程可以进一步涉及以下步骤:如果第三参数比特率大于目标比特率阈值,则:在当前帧中重复使用(或在一些情况下被称为“冻结”)来自前一帧的一个或多个频带中的参数;以及重复以上循环过程的步骤。作为示例,当使用特定编码方案进行编码时,可以冻结在(多个)特定频带(例如,频带2、6和10)中的参数。作为又一说明性示例,如果在2个帧的周期内冻结所有频带,则编码器可以在帧N中发送一半频带(例如,偶数编号的频带)并在帧N+1中发送剩余一半(例如,奇数编号的频带)(从而减少要发送的参数的总数),这通常意味着解码器将每隔一帧获得所有(例如,12个)更新的频带。在这样的情况下,如果丢失一个帧,则通常存在从最后两个良好帧进行外推的选项。当从数据包丢失中恢复时,可以在曾用给定帧接收的频带之间进行内插。一般来说,以上冻结过程的结果将是熵减少,从而不需要改变解码器或熵编码方案并对质量有轻微影响。
总之,在涉及到减少频带总数时,这可以以至少以下两种方式来完成。第一种方式是降低频率分辨率,其中,不是使用N个频带,而是仅使用M个频带(其中,M<N),并且M频带配置中的一个或多个频带的带宽高于N频带配置。可以从N个频带得到这M个频带,例如相邻频带可以成对地、三个一组地等分组在一起或是具有感知相关性的任何其他分组。第二种方式是降低时间分辨率,其中,所有N个频带的频带宽度可以在频域中保持完全不变,但频带在x个帧(其中,x>1)的周期内被冻结。这意味着可以在x个帧的周期内发送对N个频带的更新,或换句话来说,仅N个频带当中的N/x个频带需要被更新并与每个帧一起发送到解码器。
在一些示例中,除了上文说明的目标比特率阈值之外,至少一个比特率阈值还可以进一步包括大于目标比特率阈值的最大比特率阈值。相应地,循环过程可以进一步涉及以下步骤:在确定第二处理策略或减少频带数量或重复使用参数之前,获得第一参数比特率、第二参数比特率和第三参数比特率的最小值;以及如果该最小值小于或等于最大比特率阈值,则退出循环过程。
可能值得注意的是,如果处理循环在如上文说明的特定步骤处退出,则这通常将意味着最终参数比特率是在该步骤(即,当退出处理循环时)处计算出的比特率。此外,如上所述,为了安全起见,可用于将参数量化的给定量化策略中可能存在保证小于(或等于)目标比特率阈值或最大比特率阈值的某个(例如,最粗略的)量化策略。如此,可以确保始终存在用于将参数比特率拟合在目标比特率阈值或最大比特率阈值内的解决方案。
在一些示例中,参数可以包括预测参数(有时被简称为PR参数)、交叉预测参数(有时被简称为C参数)和解相关参数(有时被简称为P参数)中的一个或多个。如上文所指示的,参数中的至少一些是至少部分地相关的,使得它们可以基于彼此来计算。当然,如本领域的技术人员可以理解和认识到的,取决于各种实施方式和/或要求(例如,使用特定编解码器),可以存在任何其他合适(类型的)参数。
如上文所指示的,参数的计算和量化的排序(或顺序)可以由处理策略的第一指示来指示。
在一些示例中,可以首先计算并量化预测参数,从已量化的预测参数计算并然后量化交叉预测参数,并且首先从已量化的交叉预测参数和已量化的预测参数计算解相关参数并且然后进行量化。
在一些示例中,可以首先计算参数(即,预测参数、交叉预测参数和解相关参数),然后量化解相关参数和预测参数,并且从已量化的预测参数重新计算交叉预测参数并且然后进行量化。
在一些示例中,方法可以应用于沉浸式语音和音频服务(IVAS)编解码器或高保真度立体声编解码器的元数据编码。高保真度立体声编解码器可以是一阶高保真度立体声(FOA)编解码器或甚至更高阶高保真度立体声(HOA)编解码器。当然,如本领域的技术人员将理解和认识到的,取决于各种实施方式,任何其他合适的编解码器可以应用于其中。
在一些示例中,帧大小小于40ms,并且特别地,等于或小于20ms。
根据本公开的另一方面,提供了一种包括处理器和耦接到该处理器的存储器的装置。处理器可以适于使装置执行贯穿本公开所描述的示例方法的所有步骤。
根据本公开的又一方面,提供了一种计算机程序。计算机程序可以包括指令,这些指令当由处理器执行时使该处理器执行贯穿本公开所描述的示例方法的所有步骤。
根据又一方面,提供了一种计算机可读存储介质。计算机可读存储介质可以存储前述计算机程序。
将认识到,装置特征和方法步骤可以以许多方式来互换。特别地,(多种)所公开方法的细节可以由对应装置(或系统)实现,并且反之亦然,如本领域的技术人员将认识到的。此外,关于(多种)方法进行的以上陈述中的任何陈述被理解为同样地适用于对应装置(或系统),并且反之亦然。
附图说明
下文参考附图解释本公开的示例实施例,在附图中:
图1是根据本公开的实施例的用于对信号(比特流)进行编码和解码的编码器/解码器(“编解码器”)的框图的示意性图示,
图2是图示了根据本公开的实施例的对输入信号的元数据进行逐帧编码的方法的示例的流程图,
图3是图示了根据本公开的实施例的处理循环的示例的流程图,以及
图4是图示了根据本公开的另一实施例的处理循环的示例的流程图。
具体实施方式
附图(图)和以下描述仅通过图示与优选实施例有关。应注意,从以下讨论中,将容易地认识到本文公开的结构和方法的替代实施例作为可以在不背离所要求内容的原理的情况下采用的可行替代方案。
现在将详细参考多个实施例,在附图中图示了这些实施的示例。注意,在实际可行的情况下,类似或相似附图标记可以在附图中使用并且可以指示类似或相似的功能。这些附图描绘了所公开系统(或方法)的实施例以仅用于图示目的。本领域的技术人员将从以下描述中容易地认识到,可以在不背离本文描述的原理的情况下采用本文所图示的结构和方法的替代实施例。
此外,在连接元件(如实线或虚线或箭头)用于图示两个或更多个其他示意性元件之间的连接、关系或关联性的附图中,缺乏任何这样的连接元件并不意味着暗示可以不存在连接、关系或关联性。换句话说,未在附图中示出元件之间的一些连接、关系或关联性以便不模糊本发明。另外,为了便于图示,使用单个连接元件来表示元件之间的多个连接、关系或关联性。例如,在连接元件表示信号、数据或指令的通信的情况下,本领域的技术人员应理解,这样的元件表示一个或多个信号路径(根据可能需要的),以影响通信。
如上文所指示的,当音频编解码器(编码器/解码器)的帧周期接近40ms或甚至20ms或更短时,可以以短时间间隔更新音频本质。但通常已知的是,辅助信息(或元数据/参数)不需要那么频繁地更新。换句话说,在具有短帧周期的编解码器中,其通常可能意味着:如果每个帧中都包括参数(像音频信号一样),则将会对这些参数过采样。在一些实施方式中,可以不每帧发送元数据,而是仅每第M帧(例如,在一些情况下,最多M=4)更新元数据。这通常将降低平均元数据比特率。
鉴于此,广义来说,如本申请中所描述的技术的应用可以应用于音频编码中的任何参数或辅助信息,其中,参数的时间相关性超过编解码器的步幅。例如(但不作为限制),频率交错的时间差分熵编码的程序可以应用于沉浸式语音和音频服务(IVAS)编解码器中的参数,如由对空间交互进行建模的第三代合作伙伴计划(3GPP)或者尝试将编解码器步幅最小化至40毫秒以下的任何参数化立体声编码技术所标准化的。然而,如本领域的技术人员将理解和认识到的,虽然本公开的实施例可以应用于沉浸式一阶高保真度立体声(FOA)编解码器,但本文描述的方法通常可适用于任何其他合适的音频编解码器(例如,更高阶高保真度立体声(higher order Ambisonics,HOA)编解码器),其中,步幅或帧大小很小,这通常会在以如上所述的及时方式对辅助信息进行编码方面带来一些特定的挑战。
现在参考图1,示出了根据本公开的实施例的用于对信号(比特流)进行编码和解码的编码器/解码器(“编解码器”)100的(简化)框图的示意性图示。特别地,如本领域的技术人员可以理解的,图1的说明性示例示出了用于以一阶高保真度立体声(FOA)格式对IVAS比特流进行编码和解码的空间重构器(SPAR)FOA编解码器100。更具体地,如图中所指示的,图1的FOA编解码器100涉及被动预测和主动预测两者,如本领域的技术人员可以理解和认识到的。
一般来说,对于编码,IVAS编码器可以包括接收音频数据的空间分析和下混单元,该音频数据包括但不限于:单信号、立体声信号、双声道信号、空间音频信号(例如,多声道空间音频对象)、FOA、更高阶高保真度立体声(HOA)和任何其他合适的音频数据。在一些实施方式中,空间分析和下混单元可以实施用于分析/下混立体声/FOA音频信号的复杂高级耦接(CACPL)和/或用于分析/下混FOA音频信号的SPAR。在其他实施方式中,空间分析和下混单元还可以实施任何其他合适的格式。
现在返回参考图1,FOA编解码器100可以包括SPAR FOA编码器101、增强型语音服务(EVS)编码器105、SPAR FOA解码器106和EVS解码器107。SPAR FOA编码器101可以被配置成将FOA输入信号转换成一组下混信道和参数,该组下混信道和参数用于在SPAR FOA解码器106处重新生成输入信号。取决于各种实施方式,下混信号可以从1个信道变化到4个信道,并且参数(或有时也被称为系数)可以包括但不限于预测系数(PR)、交叉预测系数(C)和解相关系数(P)。注意,SPAR是用于使用PR、C和P参数从音频信号的下混版本重构音频信号的过程,如下文将进一步详细地描述。
取决于下混信道的数量,FOA输入之一可以始终被完整地发送(例如,如在图1的本示例中所示出的W信道),并且1至3个其他信道(例如,如在图1的本示例中所示出的Y、Z和X信道)可以作为残余信道发送或被完全参数化地发送。
特别地,预测参数可以保持不变而不管下混信道数量如何,并且可以用于最小化残余下混信道中的可预测能量。另一方面,交叉预测参数可以用于进一步辅助从残余信道重新生成完全参数化的信道。如此,在1信道和4信道下混情况下将不需要这些参数,其中,在前一种情况下不存在可预测的残余信道,并且在后一种情况下不存在可预测的参数化信道。此外,解相关器参数可以用于填充预测和交叉预测未考虑到的剩余能量。同样,解相关参数的数量可以取决于每个频带中的下混信道数量。
图1的示例总体上示出了这样的系统的说明性实施例以及这些参数如何在解码器侧进行拟合。特别地,图1中所示出的示例实施方式描绘了标称2信道下混,其中,W(对于被动预测为W或对于主动预测为W’)信道的表示与单个所预测信道Y’一起无修改地发送到解码器106。在至少一个信道作为残余信道被发送并且至少一个信道参数化地被发送(即,对于2和3信道下混)的情况下,交叉预测系数(C)允许从残余信道重构参数化信道的至少某一部分。因此,一般来说,对于两信道下混,C参数允许从Y’重构X和Z信道中的一些信道,并且通过W信道的解相关版本来重构其余信道,如下文进一步详细地描述。在3信道下混情况下,残余Y’和X’信道用于单独地重构Z。
值得注意地,如本领域的技术人员将理解和认识到的,在一些示例性实施方式中,W可以是主动信道(或换句话说,具有主动预测,在下文被称为W’)。作为示例(但不作为限制),可以如下定义允许在某种程度上将X、Y、Z信道混合到W信道中的主动W信道:
W′=W+f*pry*Y+f*prz*Z+f*prx*X (1)
其中,f是允许将X、Y、Z信道中的至少一些信道混合到W信道中的合适常数(例如,0.5);并且pry、prx和prz是预测(PR)系数。相应地,在被动W的情况下,f=0,因此将不会将X、Y、Z信道混合到W信道中。
在图1的示例实施方式中,SPAR FOA编码器101可以包括(被动或主动)预测器单元102、再混合单元103和提取/下混选择单元104。特别地,预测器102可以接收呈4信道B格式的FOA信道(W、Y、Z、X)并且计算下混信道(W、Y’、Z’、X’的表示)。
提取/下混选择单元104可以例如从IVAS比特流的元数据有效负载段提取SPARFOA元数据。预测器单元102和再混合单元103然后可以使用SPAR FOA元数据来生成再混合的FOA信道(W、S1’、S2’和S3’的表示),这些再混合的FOA信道然后可以输入到EVS编码器105中以被编码成EVS比特流,该EVS比特流可以随后囊封(encapsulate)在被发送到解码器106的IVAS比特流中。
参考SPAR FOA解码器106,EVS比特流由EVS解码器107解码,从而产生一定数量(例如,N_dmx=2,其中,N_dmx表示下混信道数量)的下混信道。在一些实施方式中,SPAR FOA解码器106可以被配置成执行已由SPAR编码器101执行反向的操作。例如,在图1的示例中,可以使用SPAR FOA空间元数据从2个下混信道中恢复再混合的FOA信道(W、S1’、S2’和S3’的表示)。再混合的SPAR FOA信道然后可以输入到逆混合器111中以恢复SPAR FOA下混信道(W、Y’、Z’和X’的表示)。随后,所预测的SPAR FOA信道然后可以输入到逆预测器112中以恢复原始未混合SPAR FOA信道(W、Y、Z和X)。
注意,在这个两信道示例中,解相关器块109-1(dec1)和109-2(dec2)可以用于使用时域或频域解相关器生成W信道的解相关版本。下混信道和解相关信道可以与SPAR FOA元数据组合使用以参数化地重构X和Z信道。C块108可以是指残余信道乘以2×1C系数矩阵,从而形成可以被求和得出参数化地重构的信道的两个交叉预测信号,如图1的示例中所示出的。此外,P1块110-1和P2块110-2可以是指解相关器输出乘以2×2P系数矩阵的列,从而形成可以被求和得出参数化地重构的信道的四个输出,如图1的示例中所示出的。
如上所述,在一些实施方式中,取决于下混信道数量,FOA输入之一可以被完整地发送到SPAR FOA解码器106(例如,示例性W信道),并且其他信道(Y、Z和X)中的一个到三个信道可以作为残余信道发送或被完全参数化地发送到SPAR FOA解码器106。保持不变而不管下混信道数量N_dmx如何的PR系数可以用于最小化残余下混信道中的可预测能量。C系数可以用于进一步辅助从残余信道重新生成完全参数化的信道。如此,在一个和四个信道下混情况下可能不需要C系数,其中,将不存在可预测的残余信道或参数化信道。P系数用于填充PR和C系数未考虑到的剩余能量。P系数数量通常取决于每个频带中的下混信道数量N。
在一些实施方式中,如下计算SPAR PR系数(仅被动W):
步骤1.使用由预测系数构成的预测矩阵从主W信号预测所有辅助信号(Y、Z、X),如下所示:
其中,作为示例,可以计算所预测信道Y’的预测参数,如:
其中,RAB=cov(A,B)是与信号A和B相对应的输入协方差矩阵的元素,并且可以按频带来计算。类似地,Z’和X’残余信道具有对应的预测参数,即prz和prx。以上矩阵被称为预测矩阵。
步骤2.再混合从最高到最低声学相关的W和所预测的(Y’、Z’、X’)信号,其中,“再混合”意味着基于某种方法来将信号重新排序或重新组合,
再混合的一个可能实施方式是将输入信号重新排序为W、Y’、X’和Z’,假设来自左边和右边的音频提示比前后提示更加声学相关或重要,并且前后提示比上下提示更加声学相关/重要。
步骤3.计算4信道预测后和再混合下混的协方差,如:
Rpr=[再混合][预测].R.[预测]H[再混合]H, (5)
其中,[预测]和[再混合]矩阵是指分别在等式(2)和(4)中使用的矩阵。最终预测后和再混合下混矩阵可以写成
其中,d表示残余信道(即,第二至N_dmx信道,其中,N_dmx表示下混信道的数量),并且u表示需要完全重新生成的参数化信道(即,第(N_dmx+1)至第4信道)。
对于具有1至4个信道的WS1S2S3下混的示例,d和u可以表示表l中示出的以下信道:
N | d信道 | u信道 |
1 | -- | <![CDATA[S<sub>1</sub>’、S<sub>2</sub>’、S<sub>3</sub>’]]> |
2 | <![CDATA[S<sub>1</sub>’]]> | <![CDATA[S<sub>2</sub>’、S<sub>3</sub>’<!-- 10 -->]]> |
3 | <![CDATA[S<sub>1</sub>’、S<sub>2</sub>’]]> | <![CDATA[S<sub>3</sub>’]]> |
4 | <![CDATA[S<sub>1</sub>’、S<sub>2</sub>’、S<sub>3</sub>’]]> | -- |
表1.d和u信道表示
SPARFOA元数据的计算主要关注的是Rdd、Rud和Ruu量。
步骤4.编解码器100可以从Rdd、Rud和Ruu量确定是否可以从被发送到解码器的残余信道交叉预测完全参数化信道的任何剩余部分。在一些可能的实施方式中,可以计算所需要的额外C系数,如:
C=Rud(Rdd+Imax(∈,tr(Rdd)*0.005))-1. (7)
因此,C参数通常将对于3信道下混具有形状(1×2),并且对于2信道下混具有形状(2×1)。
步骤5.计算必须由解相关器109-1和109-2重构的参数化信道中的剩余能量,如:
Reguu=CRddCH (8)
Resuu=Ruu-Reguu (9)
其中,0≤α≤1是恒定缩放因子。值得注意地,上混信道中的残余能量Resuu是实际能量Ruu(预测后)与重新生成的交叉预测能量Reguu之间的差。
在一些可能的实施方式中,可以在归一化的Resuu矩阵已将其非对角线元素设置为零之后取矩阵平方根。P还可以是协方差矩阵,并且因此可以是埃尔米特对称的。因此,仅来自上三角或下三角的参数需要发送到解码器106。对角线条目可以是实数,而非对角线元素可以是复数。在一些进一步可能的实施方式中,P系数可以进一步分别被分离成对角线元素Pd和非对角线元素Po。在一些实施方式中,仅计算P的对角线元素并将其发送到解码器,并且可以如下计算这些对角线元素:
现在,在编码器侧,这些参数的量化可以成为必要的。特别地,在给出如上文所指示的三个参数类型(即,PR、C和P)之间的相关性的情况下,因此,它们的计算和量化的排序(或顺序)通常可以被认为对于音频质量是重要的。根据本公开,实现这一点的方法的三个可能实施例可以是如下所示:
1.一体化
在这个实施例中,通常不允许解相关器弥补已量化预测误差。
更具体地,在第一步骤中,如上文所说明的在不进行量化的情况下计算参数PR,然后是C,并且然后是P。然后,根据量化策略或方案(例如,基于合适的量化范围和/或量化级别,如本领域的技术人员将理解的),将参数PR、C和P全部都量化。
2.级联
一般来说,这个特定实施例允许准确预测和交叉预测,并且解相关器可以填充来自量化的误差。
更具体地,在第一步骤中,计算并且然后量化参数PR。随后,从已量化PR参数计算、然后量化参数C。最终,还从已量化C参数计算并且然后量化参数P。
3.部分级联
一般来说,这个特定实施例将最小化P系数,从而允许准确交叉预测而不允许解相关器弥补预测误差。
更具体地,在第一部分中,在没有量化的情况下计算参数PR、C和P,如在以上一体化实施例中,然后量化P参数。随后,还量化PR参数。并且最终,从已量化PR参数重新计算C参数,并然后量化C参数。
在上文说明的实施例中的每一个中,始终可以使用已量化预测系数计算下混(包括残余)。
如本领域的技术人员可以理解和认识到的,量化过程本身可以由合适的(量化)范围来定义。例如,可以为一些参数(例如,参数PR、C、以及P的非对角线元素)定义[-a,a]的范围,而可以为其他参数定义[0,a]的另一范围。进一步地,还可以定义应在这些端点之间均匀地分布的多个量化级别。也就是说,可以按照参数类型(例如,PR、C、Pd、Po)来配置或定义各种极限和步长大小。此外,在一些实施方式中,如果参数是复值,则根据参数分布,实部和虚部可以用相同/不同范围和步数进行量化。
量化过程的可能实施方式可以被定义为:
q(x)=max(-a,min(a,x))/(2a/(qlvl-1)) (11)
或
q(x)=max(0,min(a,x))/(a/(qlvl-1)) (12)
其中,x表示量化索引,a表示量化范围,并且qlvl表示量化级别。
在一些可能的实施方式中,可能期望选择量化级别(即,qlvl)的奇数值以确保量化点例如对于双面参数在0处可用,如本领域的技术人员将认识到的。
可能值得注意的是,如已在上文指示,图1的示例通常示出被动预测(即,W信道)的实施方式。然而,如本领域的技术人员将理解和认识到的,在一些其他可能的实施方式中,可以应用主动预测。一般来说,主动W信道可以允许在某种程度上将X、Y、Z信道中的至少一些信道混合到W信道中,并且典型地可以在1信道下混的情况下使用这种主动预测。相应地,在被动预测情况下,通常不会将X、Y、Z信道混合到W信道中。
图2是图示了根据本公开的实施例的对输入信号的元数据进行逐帧编码的方法200的示例的流程图。如本文描述的方法200可以例如应用于如图1中示出的编解码器100(或任何其他合适的编解码器)。可以通过使用合适的编解码器(编码器/解码器)从输入(音频或视频)信号计算出/计算(例如,提取)元数据。一般来说,元数据可以用于帮助在解码器侧重新生成输入信号。元数据可以包括可从输入信号计算的多个至少部分地相关的参数。也就是说,输入信号的参数中的至少一些可以取决于其他参数中的至少一些来计算(例如,生成或重新生成),使得取决于各种情况,并非所有参数都必须始终以明文形式传输。
可以例如通过针对输入信号的每个帧使用循环过程(这将在下文进行详细描述)来迭代地执行方法200。特别地,方法200(或更精确来说,循环过程)通过从多个处理策略中确定用于计算并量化这些参数的处理策略来以步骤S210开始。
一旦在步骤S210中已确定(例如,选择)处理策略,则循环过程继续进行到基于所确定的处理策略计算并量化这些参数以获得已量化参数的步骤S220。
随后在步骤S230中,相应地对(已量化)参数进行编码,并且然后在步骤S240中从编码后的参数估计(例如,计算)(所得)比特率并且基于估计的比特率以及至少一个目标比特率阈值(例如,预定义的或预配置的)做出决策。
如果满足比特率阈值,例如,估计的比特率等于或小于比特率阈值,则方法200退出处理循环。否则,循环返回到步骤S210并且以步骤S210至S240继续。特别地,当重新进入循环时,可以确定新处理策略,以便满足比特率阈值目标。
如本领域的技术人员可以理解和认识到的,可以以任何合适的方式提供(如预定义或预配置)用于计算并量化这些参数的多个处理策略。相应地,还可以以任何合适的方式从多个处理策略中确定处理策略。例如,取决于(当前)比特率要求,可以从多个处理策略当中选择合适的处理策略,使得在基于这样选择的处理策略执行计算、量化和编码(例如,使用或不使用熵编码)之后的所得比特率满足(当前)比特率要求。
由于循环过程通常涉及(尤其)与量化有关的处理,因此在一些情况下,循环过程还可以被称为量化循环(或简称为循环)。以类似的方式,由于处理策略通常还涉及(尤其)与量化有关的处理,因此在一些情况下,处理策略还可以被称为量化策略(或在一些其他情况下互换地被称为量化方案)。进一步地,应注意,编码过程可以使用任何合适的编码程序,包括但不限于熵编码或不使用熵的编码(例如,base2编码)。当然,取决于各种实施方式和/或要求,可以采用任何其他合适的编码机制。
具体地,多个处理策略中的每一个可以包括指示与各个参数的计算和量化有关的排序(或顺序)的相应第一指示。也就是说,第一指示可以包括指示计算和量化各个参数的时间和排序的顺序信息。作为示例(但不作为限制),第一指示可以包括指示在量化这些参数中的任何参数之前首先计算所有参数的信息。
现在将参考如图3和图4中所示出的示例更详细地描述循环过程。
如上文所指示的,在具有短步幅或帧更新的编解码器中,如果每个帧中都包括参数,则可能会对这些参数过采样。因此,本公开的主要重点是提出尽可能地减少辅助信息但还保持音频本质和参数的短帧更新速率的机制。
为了解决上述问题,特别是为了评估辅助信息的扩展,广义来说,本公开的发明人总体上提出了合并一些(频)带的参数的时间差分估计以及其他(频)带的参数的非差分估计的机制。所提出的方法使对频带进行时间差分编码以及对频带进行非差分编码交错进行,使得在不需要全参数更新的情况下使用非差分计算来定期更新每个频带。核心构思是,随着帧大小减小,然后参数的帧到帧相关性增加并且因此可以通过对参数进行时间差分编码来增加编码增益。
除了时间差分编码的频率交错之外,还引入了迭代和分步方法的构思以选择从多个替代方案中搜索‘最佳’(或最优)量化方案的最优参数量化方案。在这种情况下,术语‘最佳’或‘最优’可能不一定是具有最低参数比特率的量化方案,而是缓解解码器的状态的量化方案。
例如,使用时间差分编码通常可能具有的缺点主要在于以下事实:引入了当在传输期间音频流可能经历数据包丢失时可能带来问题的帧到帧状态。在这种情况下,可能丢失音频和参数两者并且用时间差分编码更新的任何参数可能会经历潜在伪影的多个后续帧。在本公开中,通常不解决所述问题的解码器缓解。而是,问题通常通过选择将尽可能多地限制这种行为的适当量化方案来解决(缓解)。广义来说,编码(编码器侧)缓解通常涉及用于量化和熵编码的迭代选择过程,该迭代选择过程尝试最小化可能由于使用时间差分编码而引入由数据包丢失产生的伪影的程度。
现在返回参考附图,图3是示意性地图示根据本公开的实施例的处理循环300的示例的流程图。
处理循环300以步骤S310开始,其中,计算(或估计)第一比特率(在下文被称为b1)。在一些可能的实施方式中,对于每个帧,估计非差分和/或频率差分量化的参数的熵。在一些其他可能的实施方式中,可以计算第一比特率b1作为使用(训练后的)熵编码器(例如,霍夫曼或算术编码)编码的非差分和频率差分编码方案的最小值。
在步骤S320中,将第一比特率b1与目标比特率(在下文被称为t)进行比较。如果参数比特率估计b1在目标比特率t内(等于或小于该目标比特率),则退出处理循环。因此,对参数进行编码使得将任何额外可用比特供应到音频编码器以提高音频本质的比特率。
如果步骤S320失败(即,所估计的比特率b1大于目标比特率t),则在步骤S330中,计算已量化参数的第二比特率(在下文被称为b2)。在一些可能的实施方式中,可以不使用熵编码(例如,通过使用base2编码)以非差分方式计算第二比特率b2。
然后在步骤S340中,将第二比特率b2与目标比特率t进行比较。如果第二比特率b2在目标比特率t内(等于或小于该目标比特率),则退出处理循环。
否则,在步骤S350中计算参数的第三比特率(在下文被称为b3)。在一些可能的实施方式中,可以通过用(训练后的)熵编码器进行时间差分编码来计算第三比特率b3。在一些进一步可能的实施方式中,可以量化当前帧中的参数值的子集并然后从前一帧中的已量化参数值减去当前帧中的参数值的子集,并且可以计算差分已量化参数值和熵。
在步骤S360中,如果计算的比特率b3等于或低于阈值t,则退出处理循环,并且使用所供应的比特率对参数进行编码并且供应额外比特以用来对音频进行编码。
否则,可以在步骤S370中实施各种措施以便最终满足目标比特率阈值t。
例如,在一些可能的实施方式中,可以从多个处理策略选择第二更粗略的处理策略(量化策略)。在这些情况下,如本领域的技术人员将理解和认识到的,量化过程可以包括越来越粗略的量化的多个级别,如(例如)精细、中等、粗略和超粗略量化策略。然后,在确定(例如,选择)更粗略的量化策略之后,处理循环重复S310至S360的步骤。
在一些其他可能的实施方式中,可以在S370中执行减少频带数量的步骤。然后,可以用减少的频带配置重复上文提到的步骤(即,步骤S310到S360)。这通常将减少要量化的参数的总数并且通常可以产生(至少)一些帧的低比特率。
替代性地或另外地,在又一些进一步实施方式中,还可以执行冻结(即,重复使用)来自前一帧的频带中的参数的步骤。这将基本上阻止参数随时间变化,从而导致时间差分熵编码的熵降低。例如,如表2(这将在下文进行详细描述)中所显示的,当用编码方案4a进行编码时,然后可以冻结频带2、6和10中的参数。这典型地将导致熵降低,解码器或熵编码方案没有变化,并且对质量有轻微影响。应注意,2、6和10的以上示例仅仅是说明性示例,并且可以使许多频带配置可以跨多个帧冻结,如本领域的技术人员将理解和认识到的。例如,如果在2个帧的周期内冻结所有频带,则编码器可以在帧N中发送一半频带并在帧N+1中发送剩余一半(从而减少要发送的参数的总数),这通常意味着解码器将每隔一帧获得所有(例如,12个)更新的频带。在这样的情况下,如果丢失一个帧,则通常存在从最后两个良好帧进行外推的选项。当从数据包丢失中恢复时,可以在曾用给定帧接收的频带之间进行内插。
值得注意地,如果循环在步骤x处退出,则最终参数比特率是在该步骤x处计算出的比特率。
此外,在一些实施方式中,可以(或甚至期望)考虑使用最粗略的量化策略(在可用于将参数量化的给定的多个量化策略当中)设计的比特率b3,如保证小于目标比特率阈值t。在这样的情况下,可以保证始终存在用于将参数比特率拟合在目标比特率t内的解决方案。
图4是示意性地图示了根据本公开的另一实施例的处理循环400的示例的流程图。特别地,图4的循环400中的相同或相似附图标记通常指示如图3中所示出的循环300中的相同或相似元件,使得可以为了简洁的原因而省略其重复描述。
特别地,图4的处理循环可以具体地适合于使用两个比特率阈值(表示为目标比特率阈值t1和最大比特率阈值t2)的情况,这与如图3中所示出的单目标比特率阈值场景相反。广义来说,目标比特率阈值t或t1可以被视为很好实现的目标或目的,而最大比特率阈值t2可以简单地被视为不应超过的‘硬’阈值。
更特别地,步骤S410至S470与图3中的步骤(即,步骤S310至S370)相同,使得可以为了简洁的原因而省略其重复描述。
然而,不是如果未能满足S460的条件则直接切换到步骤S470,而是通过计算第四比特率(b4)作为比特率b1、b2和b3的最小值来插入附加步骤S461。然后,在步骤S462中将第四比特率b4与最大比特率阈值t2进行比较。
如果第四比特率b4等于或小于最大比特率阈值t2,则退出处理循环400;否则,处理循环400以步骤S470(其与图4中的步骤S370基本上相同)继续并且重复S410至S462的步骤。
类似于图3,如果循环在步骤x处退出,则最终参数比特率是在该步骤x处计算出的比特率。
此外,在一些实施方式中,还可以(或甚至期望)考虑使用最粗略的量化策略(在可用于将参数量化的给定的多个量化策略当中)设计比特率b3,如保证小于最大比特率阈值t2。在这样的情况下,可以保证始终存在用于将参数比特率拟合在最大比特率t2内的解决方案。
总之,图3的步骤S310、S330和S350以及相应地图4的步骤S410、S430和S450通常对音频质量没有影响。然而,图4的步骤S461将因对音频比特率和参数比特率两者具有影响而降低质量。进一步地,上文在图3的步骤S370和图4的步骤S470(例如,移动到更粗略的量化、通过降低频率分辨率来减小频带、通过降低时间分辨率来减小频带等)中提到的或可能技术中的任何技术基本上都会对质量产生负面影响。因此,图3和图4的示例中的步骤以这种方式来排序,以便最小化质量降级或解决其他区域中的约束。广义来说,如本公开中所描述的方法往往选择上文说明的技术中的一个或多个以保持元数据比特率减少与感知质量之间的平衡。
还存在对上述步骤的具体排序以及可能两个目标参数比特率(即,t1和t2)的原因的附加考虑。
特别地,分步排序允许在满足约束的情况下终止程序。这通常将在连续地进行计算时减少计算负载,因为通常不会进行所有可用步骤。
进一步地,排序还允许替代方案的隐式优选。例如,将非差分熵编码排序为第一步骤通常将意味着如果这个替代方案满足约束,则它是优选的。这是编码器缓解以在数据包丢失的条件期间最小化状态从而提高质量。
此外,使用两个目标(t1和t2)的概率通常将允许能够以更大的控制折衷音频比特率和参数比特率。
现在,将更详细地描述对用于实现时间差分编码的交错的描述。
在表2中显示管理时间差分熵编码的交错的一些可能实施方式。
编码方案 | 时间差分编码,频带1至12 |
基数 | 0 0 0 0 0 0 0 0 0 0 0 0 |
4a | 0 1 1 1 0 1 1 1 0 1 1 1 |
4b | 1 0 1 1 1 0 1 1 1 0 1 1 |
4c | 1 1 0 1 1 1 0 1 1 1 0 1 |
4d | 1 1 1 0 1 1 1 0 1 1 1 0 |
表2.交错的时间差分编码方案
在这个特定示例中,通常提出元数据比特流编码的5个配置,这些配置中的每一个由12个(频)带构成。更特别地,由0指定的频带被非差分地编码并且由1指定的频带被时间差分地编码(即,量化参数并且从前一帧中的已量化参数减去)。
如示例中所描述的,首先通过以下方式来评估每个帧的参数比特率:通过将参数量化(例如参见步骤S410或S510)来进行非差分(即,基数)编码。然后,在步骤S450或S550处,基于前一帧的编码方案来选择时间差分编码方案(如果这样需要的话)。
下文在表3中示出了从前一帧的编码方案映射到当前帧的时间差分编码方案的示例:
前一帧的编码方案 | 当前帧的时间差分编码方案 |
基数 | 4a |
4a | 4b |
4b | 4c |
4c | 4d |
4d | 4a |
表3.时间差分编码方案的映射
值得注意地,在本示例中,在表3中使用的术语“基数”通常是指非差分编码方案。因此,如从表3中可以看出,时间差分编码始终循环经过4a至4d(并且再次返回)。可以继续循环而不需要实施非差分编码。并且在这个特定示例中,编解码器的最大存储器或‘状态’是当前帧和过去的三个帧(即,总共四个帧)。当然,如本领域的技术人员将理解和认识到的,为了说明性目的,5个配置和12个(频)带等的数量仅仅用作示例,取决于各种实施方式和/或要求,可以使用任何其他合适的数量。相似或类似的自变量适用于如表3中示出的编码方案之间的切换,这同样可以采用任何合适的技术。
值得注意地,如果选择了不同的量化方案,则来自用不同量化方案量化的前一帧的索引可以首先映射到当前帧的索引。一般来说,可以需要映射步骤以允许例如当量化级别数量从一个帧到下一帧改变时对参数进行时间差分编码,从而允许帧之间的时间差分编码而无需每当量化方案改变时求助于必须发送非差分帧。
作为可能的示例,可以基于如下公式来执行索引的映射:
indexcur=round(indexprev×(quant_lvlcur-1)/(quant_lvlprev-1)) (13)
其中indexcur表示在映射之后的当前帧的索引,indexprev表示前一帧的索引,quant_lvlcur表示当前帧的量化级别,并且quant_lvlprev表示前一帧的量化级别。
作为简单的说明性示例,让量化范围为0至2,并且让先前量化级别为11。在均匀量化的情况下,这通常将意味着每个量化步长将是0.2。进一步地,让当前量化级别为21,这意味着在均匀量化的情况下每个量化步长是0.1。基于这些假设,如果前一帧中的已量化值是0.4,则在具有11个均匀量化级别的情况下,将获得以下先前索引:indexprev=2。映射提供前一帧的元数据的已量化索引,就像其曾使用当前帧的量化级别进行量化一样。因此,在这个示例中,如果当前帧中的量化级别是21,则已量化值0.4将映射到indexcurr=4。一旦计算出所映射的索引,就计算当前帧索引与前一帧索引之间的差,并且对这个差进行编码。如果需要的话,则相似或类似方法还可以应用于频率差分编码,如本领域的技术人员将理解和认识到的。
当然,取决于各种实施方式和/或要求,可以采用任何其他合适的映射方案(例如,通过使用查找表或类似的)。
此外,如上文所指示的,单个元数据参数可以从连续数值量化到表示离散值的索引。在非差分编码中,为该元数据参数编码的信息直接对应于该索引。在时间差分编码中,被编码的信息是来自当前帧的该元数据参数的索引与来自前一帧的相同元数据参数的索引之间的差。如本领域的技术人员将理解和认识到的,上文说明的时间差分编码的一般构思可以进一步扩展到例如多个频带。相应地,元数据参数可以视情况类似地扩展到例如分别与多个频带相对应的多个参数。频率差分编码遵循类似的原理,但经编码差是当前帧的一个频带的元数据与当前帧的其他频带的元数据之间的差(与时间差分编码中的当前帧减去前一帧相反)。作为简单示例(但不作为限制),假设a0、a1、a2和a3表示特定帧的4个频带中的参数索引,则在一个示例实施方式中,频率差分索引可以是a0、a0-a1、a1-a2、a2-a3。如本领域的技术人员将认识到的,(时间和/或频率)差分编码背后的一般理念是元数据典型地可以从帧到帧或从频带到频带缓慢地改变,使得即使元数据的原始值很大,其与前一帧的元数据之间的差或其与其他频带的元数据之间的差也会很小。这是有利的,因为通常具有趋向于零的统计分布的参数可以使用更少的比特来编码。因此,即使示例实施方式中的一些可能简要地或仅仅参考时间差分编码,本领域的技术人员将认识到,频率差分编码还可以应用于其(可能具有微小的合适适应)。
本公开的一些进一步可能示例可以涉及处理在子频带中表示的输入音频信号以产生下混信号和相关联元数据的过程,该过程可以由一个或多个处理器执行。过程可以包括:对于每个子频带,确定下混矩阵和相关联元数据;以及根据所述下混矩阵再混合所述子频带中的每一个以产生所述下混信号。在给出目标和/或最大元数据比特率限制的情况下,一个或多个量化策略和一个或多个编码策略可以用于对元数据进行编码。
在一些实施方式中,过程可以包括所有子频带的非差分熵编码。过程可以进一步包括所有子频带的频率差分熵编码。过程可以进一步包括将频率交错与已量化参数的时间差分编码相结合,这些已量化参数对应于如上文详细描述的低时延音频编解码器的选定子频带。
过程可以进一步包括对子频带元数据进行非熵编码。通过各步骤迭代以找到满足比特率和音频质量要求的适当编码策略,并且降低解码器状态。过程可以进一步包括通过减少要在其中对空间元数据进行编码的子频带的数量(例如,将12个频带减少到6个频带)来降低频率分辨率。过程可以包括通过对一个或多个子频带元数据进行时间固定(或冻结)来降低时间分辨率,使得不需要发送子频带的元数据。过程可以包括使用多个量化策略,其中,每个策略是各种空间元数据参数的量化级别的组合,过程可以进一步包括在这些量化策略之间进行选择以确保满足比特率目标。过程可以包括通过各步骤迭代以找到满足比特率和音频质量要求的适当量化方案。迭代方法聚焦于使用期望的量化方案、最低计算复杂度和降低的解码器状态获得期望的元数据比特率。如果期望的量化级别未拟合在期望的比特率范围中,则通过确保对音频质量的最少影响而回退到(例如,更粗略的)量化方案。
在一些实施方式中,将来自被量化到不同数量的级别的先前帧的索引映射到当前帧的索引,这允许帧之间的时间差分编码而无需每当需要不同的量化级别时求助于必须发送非差分帧。
在各种实施方式中,量化(将连续值转换为离散索引以用于编码)可以包括通过操纵连续元数据系数的计算和量化的顺序来根据当前需求确定系数的最佳值。
实施上文描述的技术的计算设备可以具有以下示例架构。其他架构也是可能的,包括具有更多或更少部件的架构。在一些实施方式中,示例架构包括一个或多个处理器(例如,双核处理器)、一个或多个输出设备(例如,LCD)、一个或多个网络接口、一个或多个输入设备(例如,鼠标、键盘、触敏显示器)和一个或多个计算机可读介质(例如,RAM、ROM、SDRAM、硬盘、光盘、闪速存储器等)。这些部件可以经由一个或多个通信信道(例如,总线)交换通信和数据,这些通信信道可以利用各种硬件和软件来促进数据和控制信号在部件之间的传送。
术语“计算机可读介质”是指参与向处理器提供指令以用于执行的介质,包括而不限于非易失性介质(例如,光碟或磁碟)、易失性介质(例如,存储器)和传输介质。传输介质包括而不限于同轴电缆、铜线和光纤。
计算机可读介质可以进一步包括操作系统(例如,操作系统)、网络通信模块、音频接口管理器、音频处理管理器和实时内容分发器。操作系统可以是多用户、多处理、多任务、多线程、实时等。操作系统执行基本任务,包括但不限于:识别来自网络接口706和/或设备708的输入并向其提供输出;跟踪并管理计算机可读介质(例如,存储器或存储设备)上的文件和目录;控制外围设备;以及管理一个或多个通信信道上的业务。网络通信模块包括用于建立并维护网络连接的各种部件(例如,用于实施如TCP/IP、HTTP等通信协议的软件)。
架构可以在并行处理或对等基础设施中实施,或者在具有一个或多个处理器的单个设备上实施。软件可以包括多个软件部件或可以是单个代码体。
所描述的特征可以有利地在一个或多个计算机程序中实施,这些计算机程序可在包括至少一个可编程处理器的可编程系统上执行,该至少一个可编程处理器被耦接以从数据存储系统、至少一个输入设备和至少一个输出设备接收数据和指令并且将数据和指令传输到该数据存储系统、至少一个输入设备和至少一个输出设备。计算机程序是可以直接或间接在计算机中使用以执行某个活动或带来某个结果的一组指令。计算机程序可以用任何形式的编程语言(例如,Objective-C、Java)来编写,包括编译或解译语言,并且它可以以任何形式来部署,包括作为独立的程序或作为模块、部件、子例程、基于浏览器的网络应用程序或适于在计算环境中使用的其他单元。
举例来说,用于执行指令程序的合适处理器包括通用处理器和专用处理器两者,以及任何种类的计算机的单独处理器或者多个处理器或核之一。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器以及用于存储指令和数据的一个或多个存储器。通常,计算机还将包括用于存储数据文件的一个或多个大容量存储设备或可操作地耦接以与这些大容量存储设备通信;这样的设备包括磁盘,如内部硬盘和可移除盘;磁光盘;和光盘。适于有形地体现计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,举例来说包括:半导体存储器设备,如EPROM、EEPROM和闪速存储器设备;磁盘,如内部硬盘和可移除盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由ASIC(专用集成电路)补充或并入在ASIC中。
为了提供与用户的交互,特征可以在计算机上实施,该计算机具有用于向用户显示信息的显示设备,如CRT(阴极射线管)或LCD(液晶显示器)监视器或视网膜显示设备。计算机可以具有触摸表面输入设备(例如,触摸屏)或键盘以及如鼠标或轨迹球等指向设备,用户可以通过这些触摸表面输入设备或键盘以及指向设备向计算机提供输入。计算机可以具有用于接收来自用户的语音命令的语音输入设备。
特征可以在计算机系统中实施,该计算机系统包括后端部件,如数据服务器,或包括中间件部件,如应用程序服务器或因特网服务器,或包括前端部件,如具有图形用户界面或因特网浏览器的客户端计算机,或它们的任何组合。系统的部件可以由数字数据通信的任何形式或介质(如通信网络)连接。通信网络的示例包括例如LAN、WAN以及形成因特网的计算机和网络。
计算系统可以包括客户端和服务器。客户端和服务器通常远离彼此并且典型地通过通信网络来交互。客户端与服务器的关系是由于计算机程序在相应计算机上运行并且相对于彼此具有客户端-服务器关系而产生的。在一些实施例中,服务器将数据(例如,HTML页)传输到客户端设备(例如,为了向与客户端设备交互的用户显示数据并且接收来自用户的用户输入)。可以从服务器处的客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)。
一个或多个计算机的系统可以被配置成凭借将在操作中使系统执行动作的软件、固件、硬件或它们的组合安装在系统上来执行特定动作。一个或多个计算机程序可以被配置成凭借包括指令来执行特定动作,这些指令当由数据处理装置执行时使装置执行这些动作。
虽然本说明书包含许多特定实施细节,但这些细节不应被解释为对任何发明或可以要求的内容的范围的限制,而是相反,被视为对特定发明的特定实施例所特有的特征的描述。本说明书中在单独实施例的上下文中描述的特定特征还可以在单个实施例中以组合形式实施。相反地,在单个实施例的上下文中描述的各种特征还可以在多个实施例中单独地或以任何合适的子组合形式实施。此外,尽管特征可以在上文被描述为以特定组合起作用并且甚至最初是如此要求的,但在一些情况下可以从组合中删去来自所要求组合的一个或多个特征,并且所要求组合可以针对子组合或子组合的变体。
类似地,虽然在附图中按特定顺序描绘了操作,但这不应被理解为需要按所示出的特定顺序或按先后顺序执行这样的操作,或执行所有所图示的操作以实现期望的结果。在某些情况下,多任务和并行处理可以是有利的。此外,上文描述的实施例中的各种系统部件的分离不应被理解为在所有实施例中需要这样的分离,并且应理解,所描述程序部件和系统通常可以一起集成在单个软件产品中或封装到多个软件产品中。
除非另有具体陈述,如从以下讨论中明白,否则应认识到,贯穿本公开,利用如“处理”、“计算出”、“计算”、“确定”、“分析”等术语的讨论是指计算机或计算系统或者类似电子计算设备的动作和/或过程,这些类似电子计算设备将表示为物理(如电子)量的数据操纵和/或转变成类似地表示为物理量的其他数据。
贯穿本公开对“一个示例实施例”、“一些示例实施例”或“示例实施例”的提及意味着结合该示例实施例描述的特定特征、结构或特性包括在本公开的至少一个示例实施例中。因此,贯穿本公开在各个地方出现的短语“在一个示例实施例中”、“在一些示例实施例中”或“在示例实施例中”不一定全部是指同一示例实施例。此外,在一个或多个示例实施例中,特定特征、结构或特性可以以任何合适的方式来组合,如本领域的普通技术人员将从本公开明白。
如本文所使用的,除非另有规定,否则使用序数形容词“第一”、“第二”、“第三”等来描述共同对象仅指示相似对象的不同实例被称为并且不旨在暗示这样描述的对象必须在时间上、在空间上、在排名上或以任何其他方式在给定顺序中。
在以下权利要求和本文的描述中,术语包括(comprising)、由…构成(comprisedof)或包括(which comprises)中的任何一个是意指至少包括跟在后面的元件/特征但不排除其他元件/特征的开放式术语。因此,术语包括(comprising)当在权利要求中使用时不应被解释为限制于后面所列出的装置或元件或步骤。例如,表达“设备包括A和B”的范围不应限于设备仅由元件A和B构成。如本文使用的术语包含(including)或包含(whichincludes)或包含(that includes)中的任何一个也是还意指至少包括跟在该术语后面的元件/特征但不排除其他元件/特征的开放式术语。因此,包含(including)与包括(comprising)同义并且意指包括(comprising)。
应认识到,在本公开的示例实施例的以上描述中,本公开的各种特征有时在单个示例实施例、附图或其描述中被分组在一起以用于简化本公开并且辅助理解各种发明方面中的一个或多个。然而,本公开的这个方法不应当被解释为反映权利要求需要比每项权利要求中所明确叙述的特征多的特征的意图。相反,如以下权利要求所反映的,创造性方面在于少于单个前述所公开示例实施例的所有特征。因此,在说明书后面的权利要求据此明确地并入到本说明书中,其中,每个权利要求都独立地作为本公开的单独示例实施例。
此外,虽然本文描述的一些示例实施例包括其他示例实施例中包括的一些而不是其他特征,但不同示例实施例的特征组合意味着在本公开的范围内,并且形成不同的示例实施例,如本领域的技术人员将理解的。例如,在以下权利要求中,所要求的示例实施例中的任一者可以以任何组合形式使用。
在本文提供的描述中,阐述了许多具体细节。然而,应理解,可以在没有这些具体细节的情况下实践本公开的示例实施例。在其他实例中,未详细示出众所周知的方法、结构和技术以免模糊对本描述的理解。
因此,虽然已描述了被认为是本公开的最佳模式的内容,但本领域的技术人员将认识到,可以在不背离本公开的精神的情况下对本公开做出其他和进一步修改,并且旨在要求落入本公开的范围内的所有这些改变和修改。例如,上文给出的任何公式仅仅表示可以使用的程序。可以从框图添加或删除功能并且可以在功能框之间互换操作。可以对在本公开的范围内描述的方法添加或删除步骤。
还可以从并非权利要求的以下枚举的示例实施例(EEE)认识到本公开的各种方面和实施方式。
EEE 1.一种处理在子频带中表示的输入音频信号以产生下混信号和相关联元数据的方法,所述方法包括:
对于每个子频带,确定下混矩阵和相关联元数据;以及
根据所述下混矩阵再混合所述子频带中的每一个以产生所述下混信号。
EEE 2.根据EEE 1所述的方法,其中,在给出目标和/或最大元数据比特率限制的情况下,使用一个或多个量化策略和一个或多个编码策略对所述元数据进行编码。
EEE 3.根据EEE 2所述的方法,包括对所有子频带进行非时间差分熵编码。
EEE 4.根据EEE 3所述的方法,包括将频率交错与已量化参数的时间差分编码相结合,所述已量化参数对应于低时延音频编解码器的选定子频带。
EEE 5.根据EEE 4所述的方法,包括对子频带元数据进行非熵编码。
EEE 6.根据EEE 5所述的方法,其中,通过步骤3)至5)迭代以找到满足比特率和音频质量要求的适当编码策略,并且降低解码器状态。
EEE 7.根据EEE 6所述的方法,包括减少通过子频带中的元数据组合发送的频带的数量。
EEE 8.根据EEE 7所述的方法,包括:对一个或多个子频带元数据进行时间固定,使得不需要发送子频带的元数据。
EEE 9.根据EEE 8所述的方法,包括:使用所述给定元数据的多个量化级别来确保满足比特率目标。
EEE 10.根据EEE 9所述的方法,其中,通过EEE 3至9的步骤迭代以找到满足比特率和音频质量要求的适当量化方案。
EEE 11.根据EEE 3或EEE 9所述的方法,其中,将来自被量化到不同数量的级别的先前帧的索引映射到所述当前帧的索引,这允许帧之间的时间差分编码而无需每当需要不同的量化级别时求助于必须发送非时间差分帧。
EEE 12.根据上述EEE中任一项所述的方法,其中,所述量化包括通过操纵连续元数据系数的计算和量化的顺序来根据当前需求确定系数的最佳值。
EEE 13.一种系统,包括:
一个或多个处理器;以及
存储指令的非暂态计算机可读介质,所述指令当由所述一个或多个处理器执行时使所述一个或多个处理器执行如EEE 1至12中任一项所述的操作。
EEE 14.一种存储指令的非暂态计算机可读介质,所述指令当由一个或多个处理器执行时使所述一个或多个处理器执行如EEE 1至12中任一项所述的操作。
Claims (27)
1.一种对输入信号的元数据进行逐帧编码的方法,所述元数据包括能从所述输入信号计算的多个至少部分地相关的参数,所述方法包括针对每个帧:
通过使用循环过程迭代地执行以下步骤:
从多个处理策略中确定用于计算并量化所述参数的处理策略;
基于所确定的处理策略计算并量化所述参数以获得已量化参数;以及
对所述已量化参数进行编码,
其中,所述多个处理策略中的每一个包括指示与各个参数的所述计算和量化有关的排序的相应第一指示;并且
其中,所述处理策略是基于至少一个比特率阈值来确定的。
2.根据权利要求1所述的方法,其中,确定所述处理策略,使得编码后的已量化参数的比特率等于或小于所述比特率阈值。
3.根据权利要求1或2所述的方法,其中,所述多个处理策略中的每一个进一步包括指示用于执行所述参数的量化的信息的相应第二指示。
4.根据权利要求3所述的方法,其中,用于执行所述参数的量化的所述信息包括所述多个参数的相应量化范围和/或量化级别。
5.根据前述权利要求中任一项所述的方法,其中,所述参数的编码涉及时间和/或频率差分编码。
6.根据前述权利要求中任一项所述的方法,其中,为当前帧确定的处理策略不同于为前一帧确定的处理策略;并且其中,所述参数的编码涉及跨不同处理策略的时间差分编码。
7.根据前述权利要求中任一项所述的方法,其中,所述第一指示包括指示所有所述参数是在被量化之前计算的信息。
8.根据权利要求1至6中任一项所述的方法,其中,所述第一指示包括指示所述参数被逐个地计算并且然后按顺序被接连地量化的信息,并且其中,所述多个参数中的至少一个参数是基于所述多个参数中另外的一个或多个已量化参数来计算的。
9.根据权利要求1至6中任一项所述的方法,其中,所述第一指示包括指示所有所述参数是在任一参数被量化之前计算的信息;并且其中,基于另一已量化参数来重新计算所述参数中的至少一个,并且量化重新计算的参数。
10.根据权利要求6或根据权利要求7至9中任一项当从属于权利要求6时所述的方法,其中,所述方法进一步包括在对所述已量化参数进行编码之前:
将来自所述前一帧的所述已量化参数的索引映射到所述当前帧的索引。
11.根据前述权利要求中任一项所述的方法,其中,所述至少一个比特率阈值包括目标比特率阈值,并且其中,所述循环过程涉及以下步骤:
根据所述处理策略,使用熵编码器以非差分和/或频率差分方式对所述参数进行量化和编码;
估计编码后的参数的第一参数比特率;以及
如果所述第一参数比特率小于或等于所述目标比特率阈值,则退出所述循环过程。
12.根据权利要求11所述的方法,其中,所述循环过程进一步涉及以下步骤:
如果所述第一参数比特率大于所述目标比特率阈值,则:
根据所述处理策略,以无熵的非差分方式对所述参数进行量化和编码;
估计所述编码后的参数的第二参数比特率;以及
如果所述第二参数比特率小于或等于所述目标比特率阈值,则退出所述循环过程。
13.根据权利要求12所述的方法,其中,所述循环过程进一步涉及以下步骤:
如果所述第二参数比特率大于所述目标比特率阈值,则:
根据所述处理策略,使用所述熵编码器以时间差分方式对所述参数进行量化和编码;
估计所述编码后的参数的第三参数比特率;以及
如果所述第三参数比特率小于或等于所述目标比特率阈值,则退出所述循环过程。
14.根据权利要求13所述的方法,其中,相对于前一帧以频率交错方式对所述参数的子集执行所述时间差分的量化和编码。
15.根据权利要求13或14所述的方法,其中,通过循环经过多个频率交错的时间差分编码方案来执行所述时间差分的量化和编码,使得对于每个循环,对所述参数的不同子集进行所述时间差分的量化和编码,而对其余参数进行非差分的量化和编码。
16.根据权利要求13至15中任一项所述的方法,其中,所确定的处理策略是第一处理策略,并且其中,所述循环过程进一步涉及:
如果所述第三参数比特率大于所述目标比特率阈值,则:
从所述多个处理策略中确定第二处理策略,使得通过应用所述第二处理策略的比特率预期为小于使用所述第一处理策略的比特率;以及
重复如权利要求11至13所述的循环过程的步骤。
17.根据权利要求13至15中任一项所述的方法,其中,在第一数量的频带中表示所述参数,并且其中,所述循环过程进一步涉及以下步骤:
如果所述第三参数比特率大于所述目标比特率阈值,则:
将表示所述参数的频带的数量减少到小于所述第一数量的第二数量,使得要量化和编码的所述参数的总数减少;以及
重复如权利要求11至13所述的循环过程的步骤。
18.根据权利要求13至15中任一项所述的方法,其中,在第一数量的频带中表示所述参数,并且其中,所述循环过程进一步涉及以下步骤:
如果所述第三参数比特率大于所述目标比特率阈值,则:
在所述当前帧中重复使用来自所述前一帧的一个或多个频带中的参数;以及
重复如权利要求11至13所述的循环过程的步骤。
19.根据权利要求16至18中任一项所述的方法,其中,所述至少一个比特率阈值进一步包括大于所述目标比特率阈值的最大比特率阈值,并且其中,所述循环过程进一步涉及以下步骤:
在确定所述第二处理策略或减少所述频带数量或重复使用所述参数之前:
获得所述第一参数比特率、所述第二参数比特率和所述第三参数比特率的最小值;以及
如果所述最小值小于或等于所述最大比特率阈值,则退出所述循环过程。
20.根据前述权利要求中任一项所述的方法,其中,所述参数包括预测参数、交叉预测参数和解相关参数中的一个或多个。
21.根据权利要求20当从属于权利要求8时所述的方法,其中,首先计算并量化所述预测参数,从已量化的预测参数计算所述交叉预测参数并且然后对所述交叉预测参数进行量化,并且从已量化的交叉预测参数和所述已量化的预测参数计算所述解相关参数并且然后对所述解相关参数进行量化。
22.根据权利要求20当从属于权利要求9时所述的方法,其中,首先计算所述参数,然后量化所述解相关参数和所述预测参数,并且从所述已量化的预测参数重新计算所述交叉预测参数并且然后进行量化。
23.根据前述权利要求中任一项所述的方法,其中,所述方法应用于沉浸式语音和音频服务IVAS编解码器或高保真度立体声编解码器的元数据编码。
24.根据前述权利要求中任一项所述的方法,其中,帧大小小于40ms,特别地等于或小于20ms。
25.一种装置,包括处理器和耦接到所述处理器的存储器,其中,所述处理器适于使所述装置执行根据前述权利要求中任一项所述的方法。
26.一种程序,包括指令,所述指令当由处理器执行时使所述处理器执行根据权利要求1至24中任一项所述的方法。
27.一种计算机可读存储介质,存储有根据权利要求26所述的程序。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063037784P | 2020-06-11 | 2020-06-11 | |
US63/037,784 | 2020-06-11 | ||
US202163194010P | 2021-05-27 | 2021-05-27 | |
US63/194,010 | 2021-05-27 | ||
PCT/US2021/036886 WO2021252811A2 (en) | 2020-06-11 | 2021-06-10 | Quantization and entropy coding of parameters for a low latency audio codec |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116097350A true CN116097350A (zh) | 2023-05-09 |
Family
ID=76744975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180057963.3A Pending CN116097350A (zh) | 2020-06-11 | 2021-06-10 | 对低时延音频编解码器的参数进行量化和熵编码 |
Country Status (13)
Country | Link |
---|---|
US (1) | US20230343346A1 (zh) |
EP (1) | EP4165632A2 (zh) |
JP (1) | JP2023533665A (zh) |
KR (1) | KR20230023767A (zh) |
CN (1) | CN116097350A (zh) |
AU (1) | AU2021287963A1 (zh) |
BR (1) | BR112022025109A2 (zh) |
CA (1) | CA3186884A1 (zh) |
CL (1) | CL2022003451A1 (zh) |
IL (1) | IL298813A (zh) |
MX (1) | MX2022015649A (zh) |
TW (1) | TW202203205A (zh) |
WO (1) | WO2021252811A2 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024097485A1 (en) | 2022-10-31 | 2024-05-10 | Dolby Laboratories Licensing Corporation | Low bitrate scene-based audio coding |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4676140B2 (ja) * | 2002-09-04 | 2011-04-27 | マイクロソフト コーポレーション | オーディオの量子化および逆量子化 |
AU2020320270A1 (en) * | 2019-08-01 | 2022-03-24 | Dolby Laboratories Licensing Corporation | Encoding and decoding IVAS bitstreams |
CN114616621A (zh) * | 2019-10-30 | 2022-06-10 | 杜比实验室特许公司 | 在浸入式语音及音频服务中的位速率分布 |
-
2021
- 2021-06-10 IL IL298813A patent/IL298813A/en unknown
- 2021-06-10 TW TW110121106A patent/TW202203205A/zh unknown
- 2021-06-10 CN CN202180057963.3A patent/CN116097350A/zh active Pending
- 2021-06-10 US US18/008,445 patent/US20230343346A1/en active Pending
- 2021-06-10 KR KR1020237001287A patent/KR20230023767A/ko unknown
- 2021-06-10 AU AU2021287963A patent/AU2021287963A1/en active Pending
- 2021-06-10 EP EP21737295.2A patent/EP4165632A2/en active Pending
- 2021-06-10 JP JP2022575889A patent/JP2023533665A/ja active Pending
- 2021-06-10 WO PCT/US2021/036886 patent/WO2021252811A2/en active Search and Examination
- 2021-06-10 CA CA3186884A patent/CA3186884A1/en active Pending
- 2021-06-10 MX MX2022015649A patent/MX2022015649A/es unknown
- 2021-06-10 BR BR112022025109A patent/BR112022025109A2/pt unknown
-
2022
- 2022-12-06 CL CL2022003451A patent/CL2022003451A1/es unknown
Also Published As
Publication number | Publication date |
---|---|
US20230343346A1 (en) | 2023-10-26 |
JP2023533665A (ja) | 2023-08-04 |
EP4165632A2 (en) | 2023-04-19 |
WO2021252811A2 (en) | 2021-12-16 |
BR112022025109A2 (pt) | 2022-12-27 |
CA3186884A1 (en) | 2021-12-16 |
AU2021287963A1 (en) | 2023-02-02 |
TW202203205A (zh) | 2022-01-16 |
CL2022003451A1 (es) | 2023-09-29 |
IL298813A (en) | 2023-02-01 |
WO2021252811A3 (en) | 2022-02-10 |
MX2022015649A (es) | 2023-03-06 |
KR20230023767A (ko) | 2023-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2418324C2 (ru) | Поддиапазонный речевой кодекс с многокаскадными таблицами кодирования и избыточным кодированием | |
JP4219551B2 (ja) | 知覚モデルに基づいて信号を符号化する方法および装置 | |
US7383180B2 (en) | Constant bitrate media encoding techniques | |
US11417348B2 (en) | Truncateable predictive coding | |
JP5165559B2 (ja) | オーディオコーデックポストフィルタ | |
TWI720530B (zh) | 使用信號白化或信號後處理之多重信號編碼器、多重信號解碼器及相關方法 | |
JP2021153305A (ja) | 符号化及び復号化のための符号化装置、復号化装置、システム及び方法 | |
JPWO2009057327A1 (ja) | 符号化装置および復号装置 | |
KR102641952B1 (ko) | 시간-도메인 스테레오 코딩 및 디코딩 방법, 및 관련 제품 | |
JP4033840B2 (ja) | 音声ミキシング方法、音声ミキシング装置、音声ミキシングプログラム及びこれを記録した記録媒体 | |
KR20170024581A (ko) | 압축된 hoa 표현을 디코딩하기 위한 방법 및 장치와 압축된 hoa 표현을 인코딩하기 위한 방법 및 장치 | |
CN106796804B (zh) | 用于对话增强的解码方法和解码器 | |
US9287895B2 (en) | Method and decoder for reconstructing a source signal | |
CN116097350A (zh) | 对低时延音频编解码器的参数进行量化和熵编码 | |
US20170164132A1 (en) | Method and apparatus for decoding a compressed hoa representation, and method and apparatus for encoding a compressed hoa representation | |
US20090129576A1 (en) | Relay device, communication terminal, signal decoder, signal processing method, and signal processing program | |
US20220293112A1 (en) | Low-latency, low-frequency effects codec | |
KR102632523B1 (ko) | 시간-도메인 스테레오 파라미터에 대한 코딩 방법, 및 관련 제품 | |
TW202336739A (zh) | 用於低延時沉浸式音頻編解碼器之較高階立體混響聲之空間寫碼 | |
KR20200038297A (ko) | 스테레오 신호 인코딩에서의 신호 재구성 방법 및 디바이스 | |
US11881227B2 (en) | Audio signal compression method and apparatus using deep neural network-based multilayer structure and training method thereof | |
RU2773421C9 (ru) | Способ и соответствующий продукт для определения режима кодирования/декодирования аудио | |
TW202411984A (zh) | 用於具有元資料之參數化經寫碼獨立串流之不連續傳輸的編碼器及編碼方法 | |
JP2024073419A (ja) | 快適雑音の生成のサポート | |
MX2008009186A (en) | Complex-transform channel coding with extended-band frequency coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40094000 Country of ref document: HK |