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

使用生成式模型和潜在域量化的信号编解码的制作方法

2023-07-08 06:27:56 来源:中国专利 TAG:

使用生成式模型和潜在域量化的信号编解码
1.相关申请的交叉引用
2.本技术要求以下优先申请的优先权:2020年10月16日提交的美国临时申请63/092,642(参考号:d20048usp1)和2021年1月13日提交的欧洲申请21151296.7(参考号:d20048ep)。
技术领域
3.本公开涉及信号编解码的领域。特别地,本公开涉及使用生成式模型和潜在域量化的信号编解码。


背景技术:

4.使用(深度)神经网络实现的生成式模型已证明它们在涉及信号合成的任务中的有用性。这样的任务的示例是音频编解码,包括例如其中音频信号基于由对应的编码器提供的其有限位速率表示来重构的解码。在这样的编解码任务中,生成式模型可以通过实现意在表示音频信号的条件概率分布函数并且然后根据这个分布重构信号来执行信号重构。概率分布函数可以以一个或多个先前重构的音频信号的帧为条件。此外,附加的条件作用信息常常以有限位速率表示来提供,并且通常被周期性地更新以反映信号的可变性,例如信号的每一帧一次。
5.然而,音频信号可能难以建模,而且,至少在一些情形下并且即使在提供了附加的条件作用信息时,也可能无法训练高效的生成式模型(由于例如复杂性约束、训练数据的可用性、和/或生成式模型采用的特定算法的限制)。在一些情形下,生成式模型因此将仅逼近真实的未知模型,这会导致建模不匹配。
6.鉴于以上,因此需要改善的、基于生成式模型的编解码方案。


技术实现要素:

7.因此,本公开的目标是要至少部分地满足以上识别的需要。
8.根据本公开的第一方面,提供了一种解码器。解码器被配置为接收包括量化的潜在帧的有限位速率流。量化的潜在帧包括潜在域中的信号的当前帧的量化表示。潜在域与第一域不同。解码器被配置为从量化的潜在帧生成重构的潜在帧。解码器被配置为使用生成式神经网络模型(下文中称为“模型”)以执行任务,模型已针对该任务进行训练。任务包括对从潜在域到第一域的可逆映射生成参数。解码器被配置为重构第一域中的信号的当前帧,其包括通过使用可逆映射来将重构的潜在帧映射到第一域。解码器还被配置为使用重构的第一域中的信号的当前帧以更新生成式神经网络模型的状态(使得模型随后准备好处理信号的下一个未来帧)。
9.根据本公开的第二方面,提供了一种编码器。编码器被配置为接收第一域中的信号的当前帧。编码器被配置为使用(生成式神经网络)模型以执行任务,模型已针对该任务进行训练。任务包括对从第一域到潜在域的可逆映射提供参数。潜在域与第一域不同。编码
器被配置为通过使用可逆映射将信号的当前帧的至少一部分映射到潜在域来生成潜在帧。潜在帧包括潜在域中的信号的当前帧的表示。编码器被配置为基于生成的潜在帧生成量化的潜在帧。编码器还被配置为生成包括量化的潜在帧的有限位速率流。
10.根据本公开的第三方面,提供了一种对信号的当前帧进行解码的方法。该方法包括由根据第一方面的以上记载的解码器执行的步骤。
11.根据本公开的第四方面,提供了一种对信号的当前帧进行编码的方法。该方法包括由根据第二方面的以上记载的编码器执行的步骤。
12.根据本公开的第五和第六方面,提供了相应的非暂态计算机可读介质。每个介质存储指令,这些指令在由属于计算机硬件的至少一个计算机处理器执行时可操作以使计算机硬件执行分别根据第三和第四方面的如以上记载的对信号的当前帧进行编码和/或解码的方法。
13.根据本公开的第七方面,提供了一种用于传送信号的当前帧的编解码系统。编解码系统包括至少一个根据第一方面的如以上记载的编码器和至少一个根据第二方面的如以上记载的解码器。编解码系统还包括用于在编码器与解码器之间传送包括量化的潜在帧的有限位速率流的部件。
14.音频信号可能难以建模,而且,至少在一些情形下,可能无法训练高效的生成式模型(由于例如复杂性约束、训练数据的可用性、和/或生成式模型采用的特定算法的限制)。在一些情形下,生成式模型因此将仅逼近真实的未知模型,这会导致建模不匹配。
15.在使用这样的生成式模型以进行编解码的许多最新的系统中,利用的编解码方案附加地包括将全部位预算花费在编码器与解码器之间的条件作用信息的传送上。本公开通过提供其中在编码器与解码器之间传送的位流中的一个或多个位被改为分配用于运送量化的潜在帧的编解码方案来改善最新的技术。这个量化的潜在帧可以允许使得能够对否则由生成式模型无法解释的信号的一个或多个方面进行编解码。这可以有助于通过促进灵活的速率-失真权衡来实现使用生成式模型的编解码方案的速率-失真可扩展性,并且通过促进潜在域中的编解码来处理建模不匹配。如稍后本文将更详细地描述的,本公开还可以提供例如针对零位速率条件作用训练的生成式模型,从而导致其中整个位预算改为分配给量化的潜在帧的编解码方案。如果例如潜在变量在分组中发送,那么这样的编解码方案可以促进分组丢失隐藏,因为模型可以被训练为通过合成地重构的潜在变量来替换这样的丢失的分组。此外,实现针对零位速率条件作用训练的生成式模型的编码器可以不需要否则可能估计条件作用变量所需的附加编解码延迟。这样的编解码方案可以例如在低延迟编解码中(诸如例如对于语音或音频的低延迟传送)是有用的。
16.本公开涉及在权利要求中记载的特征的所有可能组合。根据第一方面描述的目的和特征可以与根据第二方面、第三方面和/或第四方面描述的目的和特征组合或由其替换,反之亦然。
17.下面将借助于示例性实施例描述本公开的各种实施例的另外的目的和优点。
附图说明
18.下面将参考附图描述示例性实施例,其中:
19.图1a、1b、1c、1d和1e示意性地图示了根据本公开的编码器的各种实施例;
20.图2a和2b示意性地图示了根据本公开的解码器的各种实施例;
21.图3a和3b分别示意性地图示了根据本公开的编码和解码的方法的各种实施例的流程,以及
22.图4示意性地图示了根据本公开的编解码系统的实施例。
23.在附图中,除非另外说明,否则同样的附图标记将用于同样的元素。除非明确相反地说明,否则附图仅示出足以图示示例实施例的这样的元素,而为了清楚起见,可能省略或仅暗示其它元素。
具体实施方式
24.现在将更详细地描述由本公开设想的编解码方案的元素。
25.作为起始示例,可以假设x
t
是表示在时间t的信号样本帧的n维向量,并且这样的向量x
t
是某个未知的随机变量x的实现。这里,n可以例如等于样本/通道/频带的数量、信号变换的长度、或者例如在时域中采样的音频通道的数量、或类似物。由神经网络实现的概率模型可以根据以下的概率密度函数进行操作:
[0026][0027]
其中x
<t
是当前样本x
t
之前的(向量)样本x0,x1,

,x
t-1
的简写记法,并且其中t是样本的总数。在信号样本被分块成一个或多个帧的情况下,以上索引t然后可以被假设表示第t个帧,并且t与帧的总数对应。在本文描述的所有实施例中,如果没有明确相反地说明,那么可以假设帧可以仅包括单个(向量)样本,并且在这样的情形下术语样本和帧可以互换地使用。
[0028]
一般地,生成式模型也可以以对于当前和/或一个或多个未来帧的某个条件作用信息θ
≥t
为条件,在这种情况下,它实现条件概率密度函数:
[0029][0030]
在下文中,为了简化记法,这样的附加的条件作用信息将从描述中省略,除非明确相反地说明。
[0031]
以上表述方式意味着连续(向量)样本是条件独立的。然而,每个n维向量的分量可以仍然相关(在那个向量内)。在时间t的条件概率分布例如可以根据下式使用高斯混合模型(gmm)被方便地参数化:
[0032][0033]
其中w_j,和分别是由神经网络提供的混合分量、均值和协方差矩阵,并且其中j是混合模型中的分量的总数。
[0034]
实际的挑战可能与神经网络必须提供(半正定)协方差矩阵的正确估计的事实有关。如何实现这个目标的一个设想示例是通过使用协方差矩阵的cholesky分解(其仅对半正定矩阵存在)。在这样的情况下,
[0035]
σ=ll
t
,(4)
[0036]
其中l是下三角矩阵,并且其中为了简洁起见,例如,索引t和(j)已被删除。这样的下三角矩阵的使用在参数的数量受限的情况下也可以是有用的。要注意的是,∑不是信号x的协方差,而是表示在给定的时间实例预测器的不确定性。本公开建议允许∑具有多于一个对角线的形式,以便促进在例如各个通道/频带中合成的样本之间的依赖性的生成。
[0037]
还注意的是,可以使用其它因子分解而不是cholesky分解。例如,还设想使用因子分解σ=ldl
t
,其中d是对角矩阵,或因子分解σ=udu
t
,其中u是标准正交的并且d是对角的。可以通过进一步将u分解成初等givens旋转的序列或hausholder变换来实施这样的因子分解中的标准正交性约束。
[0038]
进一步设想,在实践中,不需要完整的下三角矩阵l。例如,可以有可能通过限制三角矩阵的对角线的数量来限制由模型输出的参数的数量。在一些实施例中,设想矩阵l甚至可以是对角的(即,仅在其主对角线上包括非有限元素)。
[0039]
虽然由等式(3)提供的公式表示高斯混合模型,但是注意的是,由本公开提供的概念还可以进一步被推广到以下场景:其中输出级包括多个可逆映射,其中每个这样的映射与由生成式模型估计的参数wj相关联。这个参数然后可以被用于计算潜在向量(帧)。例如,在高斯混合模型的情况下,wj可以具有分量概率(分量权重)的含义;并且可以根据概率w0,w1,

,w2随机地选择单个模型分量。在其它实施例中,w1可以仍然表示分量概率,但是设想改为使用例如最大似然原则来进行分量选择。一般地,设想生成式模型已被训练为提供∑的以上因子分解/分解中的任何一个所需的参数。
[0040]
现在将参考图1a-1e更详细地描述例如根据本公开的编码器的各种示例实施例。
[0041]
图1a示意性地图示了编码器100,其中生成式模型110(使用例如深度神经网络实现)已被训练为执行对可逆映射161(g-1
)提供参数120的任务。
[0042]
编码器100还接收信号的当前帧160(x
t
),如本文先前描述的,其可以包括信号的单个或多个(向量)样本。当前帧x
t
是第一域中的信号的表示,该第一域可以是例如时间/信号域(例如,与脉冲编码调制pcm相关)、滤波器组域(例如,与一个或多个正交镜像滤波器qmf相关)、变换域(例如,与一个或多个经修改的离散余弦变换mdct相关)、或者甚至经处理的变换域(例如,与一个或多个平坦化的mdct相关)。其它域表示也被设想为可能的。
[0043]
可逆映射g-1
161使得编码器100可以使用这个映射将信号的当前帧x
t
的至少一部分从第一域映射到潜在域,从而产生潜在帧162(z
t
)。这个潜在帧z
t
包括潜在域中的信号的当前帧t的表示。使用量化操作163(q),编码器100将潜在帧z
t
量化为量化的潜在帧164最后,编码器100被配置为生成并且输出包括量化的潜在帧的有限位速率流130。
[0044]
图1b示意性地图示了稍微不同的编码器101,其中至少生成式模型110、参数120、可逆映射g-1
161、量化操作q 163可以正如参考图1a描述的编码器100那样使用,并且所有这些有助于将信号帧x
t
从第一域映射到潜在域,并且量化潜在帧z
t
162和在有限位速率流130
中输出量化的潜在帧164。此外,然而,编码器101还具有本地解码器部分140,其将量化的潜在帧164(例如,在位流130中提供)当作输入,使用去量化操作166(q-1
)来产生重构的潜在帧167并且然后应用可逆映射g-1
的逆168(g)以便生成重构的第一域中的信号帧169这个重构的信号帧然后被反馈到生成式模型110并且被用于更新生成式模型的状态,使得它准备好处理下一个帧t 1。正如先前描述的,生成式模型110在一些实施例中也可以接收对于当前帧t和(一个或多个)未来帧》t中的任一个或两个的(附加)条件作用信息165(θ
≥t
)。
[0045]
图1c示意性地图示了编码器102,其与参考图1b描述的编码器101一样,包括本地解码器140。这里,可逆映射g-1
是仿射映射,其包括从输入信号帧x
t
减去预测的信号帧均值172(μ
t
),随后是可逆变换170(f-1
),其可以例如包括根据用于定义∑的参数的缩放,这些参数诸如例如一个矩阵/多个矩阵l1,即,至少由模型210提供的参数220的子集273。在其它实施例中,可逆映射g-1
不一定是线性的。
[0046]
在仿射映射之后,潜在帧z
t
通过操作q被量化以产生量化的潜在帧其然后在有限位速率流130中被提供给例如解码器。如先前描述的,编码器102包括本地解码器140,其输出重构的当前信号帧该重构的当前信号帧被反馈到模型110并且用于更新模型110的状态。在本地解码器140中,可逆映射g-1
的逆g使用可逆变换f-1
的逆171(f)来实现。
[0047]
如本文先前描述的,在一些实施例中,本文描述的编码器可以具有可用的多个不同的可逆映射以从中选择。例如,如果使用高斯混合模型,那么该模型可以生成参数的多个集合{w1,μ1,l1},并且可以根据概率w1选择要使用的确切映射。在其它实施例中,在混合模型不一定是高斯的情况下,w1可以仍然被假设为表示映射概率,并且可以使用例如最大似然原则来选择要使用的确切映射。
[0048]
如至少在图1a、1b和1c中所示的,模型110在一些实施例中还可以接收与当前帧t和未来帧》t中的至少一个相关联的附加的条件作用信息θ
≥t
,并且模型可以被训练为执行它的任务(即,包括基于这样的条件作用信息对可逆映射g-1
提供参数)。使用条件作用信息的一个或多个“先行”帧可以例如进一步改善编解码质量,代价是在编解码/解码过程中引入的延迟的增加。一般地,如果使用附加的条件作用信息θ,那么本文描述的编码器可以被配置为还输出包括条件作用信息的有限位速率流,使得它可以被提供给例如解码器。提供给生成式模型110的条件作用信息θ
≥t
可以被量化或可以不被量化,这取决于条件作用信息的确切内容。这样的条件作用信息可以例如包括信号的参数化描述;以有限位速率编码的编解码信号的波形近似;和/或信号类别(例如,语音、一般音频、音乐、某些类型的音乐(诸如例如钢琴音乐)等)的指示。
[0049]
在一些实施例中,本文描述的编码器还可以被配置为输出同一有限位速率流,其包括量化的潜在帧、以及与a)当前帧和未来帧(如上所述)中的至少一个相关联的条件作用信息或者b)这样的条件作用信息没有被包括在该同一有限位速率流中的指示。例如,该指示可以帮助解码器理解当前帧是否包括条件作用信息、或者是否仅量化的潜在信息被从编码器侧提供。
[0050]
如果使用这样的两级信号描述,还设想例如不是在同一有限位速率流的第一级中
明确地提供条件作用信息,可以改为提供旧有编解码器数据。本文描述的解码器然后可以例如通过从旧有编解码器数据重构信号、并且然后使用这样的重构的信号作为条件作用信息的至少一部分来自己生成条件作用信息。这可以允许构造可由旧有解码器解码的位流(例如,通过忽略来自位流的量化的潜在)。这也可以允许例如根据本公开(即,本文描述)的解码器以向后兼容的方式操作并且也受益于旧有数据。编码器可以例如以同一旧有编解码器数据为条件,以便生成在同一有限位速率流的第二级中提供的量化的潜在帧。此外,或者不是这样的波形重构,旧有编解码器数据可以包括用于条件作用的其它参数。
[0051]
图1d示意性地图示了编码器103的另一个实施例。这里,使用感知速率分配150以便决定对于量化的潜在帧的位的分配。在编码期间,可逆映射的参数(诸如例如μ
t
和可逆l或l1:s,如在例如f-1
和g-1
中使用的)对编码器103可用并且可以被用于确定速率分配。作为示例,设想例如在减去μ
t
之后使用l来估计信号的方差。这些方差然后可以以3db步长进行量化。此后,可以设计一批量化器,从而提供1.5db的信噪比(snr)的改善,然后将3db的方差增量交换成1.5db的snr的改善。在其它实施例中,利用150指示的方框可以改为与不同类型的速率分配对应。设想的示例包括例如基于接收的第一域中的信号的当前帧(即,x
t
)与重构的第一域中的信号的当前帧(即,)之间的差异来分配有限位速率流130的位速率。这可以包括例如使用样本失真测量,诸如例如(感知上)加权的平方误差。在其它实施例中,速率分配可以基于例如由生成式模型110提供的输出参数120。例如,在仿射映射的情况下,可以使用缩放(例如,由l和σ定义)来对量化的潜在帧分配位速率。
[0052]
作为另一个示例,为了实现帧内位速率分配,设想在一些实施例中使用具有不同的量化步长大小的多个量化器。设想还允许以零位(即,“无限步长大小”)进行量化,这可以意味着以零位量化的维度可以被从例如分布得出的(伪)随机实现替换。换句话说,量化器可以从零速率噪声填充和与不同水平的snr相关联的多个量化器进行选择。对于潜在帧的每个坐标,选择由速率分配管控的量化器。当速率分配从与映射g(或f)相关联的参数导出时,它可以例如是后向自适应的,或者当它涉及在编码器侧导出并且在位流中传输到解码器的附加参数时,它可以是前向自适应的。
[0053]
图1e示意性地图示了本文描述的量化操作的示例。这里,量化操作(例如在编码器100、101、102或103中的任何一个中使用)包括使用消减抖动,后跟增益。例如,抖动174(d)可以作为d~u(-δ/2,δ/2)均匀地分布,并且在量化q之前加减。所得到的输出可以经受增益175(p),其可以例如被定义为p=1.0/当然也设想抖动和增益两者的其它合适形式。这样的量化操作的示例可以促进潜在帧的重构,该潜在帧具有与在模型的训练期间假设的潜在帧的分布大致相同的分布。这可以促进使用量化的潜在帧来重构第一域中的信号的帧,并且基于此更新模型的状态。
[0054]
由于刚刚描述的量化结构可以涉及消减抖动的使用,因此可能需要伪随机性以便允许编码器和解码器同步操作。这可以例如通过允许编码器和解码器两者(其中,解码器这里可以是编码器本地的解码器,如先前描述的,和/或不形成编码器的一部分的远程解码器,如本文稍后将描述的)访问随机性的同一源(即,“共用随机性”)或至少伪随机性的同一源来实现。这里,“同一源”可能不一定是同一物理或甚至逻辑源。设想例如使用例如同一种
子的两个分开的随机生成器可能就足够了。例如,可以存在利用同一种子初始化的分开的随机数生成器(实现同一随机数生成算法)。类似地,共用随机性也可以被用于零速率噪声填充,这可以发生在编码器侧(例如,在编码器的本地解码器中)和远程解码器侧。
[0055]
在本文描述的编码器的一些实施例中,设想可逆映射可以由神经网络实现,该神经网络具有促进可逆性的架构,并且使得能够训练以对例如潜在域中的多变量分布进行建模。这样的网络的示例被称为(可逆流)。例如,映射g和g-1
可以使用一个或多个流模型来实现,其中参数由生成式模型控制。这在映射为非线性时可以特别有用,并且流结构允许对这样的映射实现可逆性。
[0056]
现在将参考图2a和2b更详细地描述根据本公开的解码器的各种实施例。
[0057]
图2a示意性地图示了解码器200,其被配置为接收包括量化的潜在帧264的有限位速率流230,该量化的潜在帧264包括与第一域不同的潜在域中的信号的当前帧t的量化表示。使用对这个量化的潜在帧进行操作的去量化操作266(q-1
),解码器200从量化的潜在帧生成重构的潜在帧267解码器200包括生成式模型210,其已被训练以用于对从潜在域到第一域的映射268(g)(即,本文先前描述的可逆映射g-1
的逆)生成参数220的任务。这个映射g将重构的潜在帧映射到第一域,以生成重构的信号帧269重构的信号的当前帧然后被用于更新(生成式神经网络)模型210的状态,使得模型210准备处理未来帧》t。
[0058]
如本文先前已描述的,在一些实施例中,本公开的解码器200和其它解码器可以被训练为执行还基于(附加)条件作用信息265(θ
≥t
)产生参数220的任务。如本文先前也已描述的,这样的条件作用数据可以与当前帧t和一个或多个未来帧》t中的至少一个相关联。
[0059]
如本文先前描述的,可以可选地在分开的有限位速率流中或者在同一有限位速率流中作为信号的两级描述提供量化的潜在帧和条件作用信息θ
≥t
。如果不包括条件作用信息,那么设想有限位速率流然后可以至少包括条件作用信息不被包括的指示,使得解码器可以知道预期什么以及如何使用生成式模型处理量化的潜在帧。例如,如果指示存在,那么生成式模型可以执行在不使用这样的条件作用信息的情况下产生参数的任务。在一些实施例中,当即提供旧有编解码器数据而不是实际的条件作用信息时,解码器可以使用旧有编解码器数据(例如,通过波形重构或类似的方法,或从在旧有编解码器数据中提供的其它信息)自己生成这样的条件作用信息。
[0060]
一般地,对映射g生成/产生参数的任务可以包括预测第一域中的信号的当前帧,并且生成第一域中的信号的当前帧可以包括通过使用映射到第一域的重构的潜在帧来校正预测的当前帧。
[0061]
图2b示意性地图示了解码器201的一个实施例。这里,正如在参考图1c描述的编码器101的本地解码器140中那样,映射268(g)是仿射的并且包括可逆变换271(f)(与本地解码器140中使用的变换f-1
的逆对应,并且使用例如根据至少由模型210提供的参数220的子集273的缩放来定义),后跟预测的均值272(μ
t
)的相加。解码器201可以例如与参考图1c描述的编码器102一起使用。
[0062]
本公开还提供了对信号的当前帧进行编码的方法、以及对信号的当前帧进行解码
的方法。现在将参考图3a和3b更详细地描述这样的方法的实施例。
[0063]
图3a示意性地图示了对信号的当前帧进行编码的方法310的示例流程。在步骤s311中,接收第一域中的信号的当前帧360(x
t
)。在步骤s312中,使用生成式神经网络模型,其中该模型已被训练为执行包括对从第一域到与第一域不同的潜在域的可逆映射g-1
提供参数的任务。在步骤s312中,使用生成式模型,使用可逆映射g-1
将第一域中的信号的当前帧x
t
的至少一部分映射到潜在域,以产生潜在帧362(z
t
)。潜在帧z
t
包括潜在域中的信号的当前帧的表示。在步骤s313中,基于生成的潜在帧z
t
生成量化的潜在帧364在步骤s314中,生成有限位速率流330,其包括量化的潜在帧
[0064]
图3b示意性地图示了对信号的当前帧进行解码的方法320的示例流程。在步骤s321中,接收有限位速率流330。有限位速率流330包括量化的潜在帧其包括与第一域不同的潜在域中的信号的当前帧的量化表示。在步骤s322中,从量化的潜在帧生成(通过去量化)重构的潜在帧367在步骤s323中,使用生成式神经网络模型,其已被训练为执行包括对从潜在域到第一域的可逆映射g生成参数的任务。在步骤s323中,使用生成式模型,使用可逆映射g生成重构的第一域中的信号的当前帧369在步骤s324中,重构的第一域中的信号的当前帧然后被用于更新生成式模型的状态(如虚线箭头340所指示的)。
[0065]
设想编码和解码的方法310和320分别可以根据针对本文公开的编码器和解码器中的任何一个已描述和/或讨论的内容进行修改。例如,在方法310和320中使用的生成式模型可以使用条件作用信息,编码方法310可以包括参考图1b等描述的本地解码器。换句话说,设想相应的方法310和320的流程可以被修改以分别与本文描述的编码器和解码器的任何实施例对应。
[0066]
本公开还提供了存储指令的相应的非暂态计算机可读介质。这些指令在由属于计算机硬件的至少一个计算机处理执行时可操作以使计算机硬件分别执行方法310和方法320、或本文描述的其任何实施例。这里,“使计算机硬件执行”意指计算机处理器可以例如使用由这样的计算机硬件提供的合适接口接收或输出一个或多个信号,和/或执行其它方法步骤中的任何一个,包括例如通过使用例如计算机硬件的处理器、存储设备或操作存储器等来使用和实现生成式神经网络模型以便这样做。这样的介质的实施例没有在本文的任何图中图示。
[0067]
最后,现在将参考图4描述根据本公开的用于传送信号的当前帧的编解码系统的实施例。
[0068]
图4示意性地图示了编解码系统400的示例。编解码系统400包括至少一个编码器410和至少一个解码器420。编码器可以接收第一域中的信号的当前帧460(x
t
),并且输出包括量化的潜在帧464的至少一个有限位速率流430,该量化的潜在帧464包括与第一域不同的潜在域中的信号的当前帧的表示。编解码系统还包括用于在编码器410与解码器420之间传送有限位速率流430的部件440,使得解码器420可以接收有限位速率流(包
括量化的潜在帧并且基于此生成重构的第一域中的信号的当前帧469这里,编码器和解码器当然可以分别是在本公开中存在的各种实施例中描述的任何编码器和解码器。部件440可以例如包括数据链路(例如,红外线链路、激光链路、光链路、无线电链路等),或者简单地包括编码器410和解码器420可以用来连接到已经存在的通信基础设施(例如还包括互联网)的部件(诸如各种借口),以便传送有限位速率流430。
[0069]
总之,本公开提供了一般概念,其中不是分配整个位预算来传送用于生成式模型的条件作用信息,而是分配至少一些位来传送量化的潜在。这可以例如通过使用本文描述的两级描述来实现,其中两个分量(条件作用信息和量化的潜在)之间的速率分配可以是任意的,并且甚至包括所有位被改为用于传送量化的潜在(其例如在语音和/或音频的低速率传送中可以是有用的,然后仅使用量化的潜在以在解码侧重构信号)。本公开促进编解码资源可以在信号描述的两个部分/级之间分配的编解码布置。特别地,本公开提供了改善编解码质量的方式,例如,在使用的生成式模型自己不能准确地捕获解码器侧的充分重构所需的音频信号的所有特征的情形下,而改为分配一些位来传送量化的潜在,这可以有助于“填补生成式模型中存在的间隙”。
[0070]
在以上示例实施例中描述的本公开的各种编码器和解码器可以例如使用计算机硬件来实现,该计算机硬件包括例如(计算机)处理器(例如,中央处理单元(cpu))、图形处理单元(gpu)、数字信号处理器(dsp)、一个或多个专用集成电路(asic)、一个或多个射频集成电路(rfic)、或这些的任何组合)和耦合到处理器的存储器。如上所述,处理器可以适于执行也在整个本公开中描述的方法的步骤中的一些或全部。
[0071]
计算机硬件可以例如是服务器计算机、客户端计算机、个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、智能电话、web装置、网络路由器、交换机或网桥、或能够执行指定要由该计算机硬件采取的动作的指令(顺次地或以其它方式)的任何机器。另外,本公开应涉及单独地或联合地执行指令以执行本文讨论的概念中的任何一个或多个的任何一批计算机硬件。
[0072]
如本文所使用的,术语“计算机可读介质”包括但不限于例如固态存储器、光介质和磁介质的形式的数据储存库。
[0073]
除非另外特别说明,否则如从以下讨论清楚的,意识到的是,在整个公开讨论中,利用诸如“处理”、“计算”、“运算”、“确定”、“分析”等的术语是指计算机硬件或计算系统或类似的电子计算设备的将表示为物理的(诸如电子的)量的数据操纵和/或转换成类似地表示为物理量的其它数据的动作和/或处理。
[0074]
以类似的方式,术语“计算机处理器”可以是指处理例如来自寄存器和/或存储器的电子数据以将该电子数据转换成其它电子数据(其例如可以被存储在寄存器和/或存储器中)的任何设备或设备的一部分。“计算机”或“计算机器”或“计算平台”或“计算机硬件”可以包括一个或多个处理器。
[0075]
本文描述的概念在一个或多个示例实施例中可由接受包含指令集的计算机可读(也称为机器可读)代码的一个或多个处理器执行,这些指令在由处理器中的一个或多个执行时执行本文描述的方法中的至少一个。能够执行指定要被采取的动作的指令集(顺次地或以其它方式)的任何处理器被包括在内。因此,一个示例是包括一个或多个处理器的典型处理系统(即,计算机硬件)。每个处理器可以包括cpu、图形处理单元和可编程dsp单元中的
一个或多个。处理系统还可以包括存储器子系统,该存储器子系统包括主ram和/或静态ram和/或rom。可以包括总线子系统以用于组件之间的通信。处理系统还可以是具有通过网络耦合的处理器的分布式处理系统。如果处理系统需要显示器,那么可以包括这样的显示器,例如,液晶显示器(lcd)或阴极射线管(crt)显示器。如果需要手动数据录入,那么处理系统还包括输入设备,诸如字母数字输入单元(诸如键盘)、定点控制设备(诸如鼠标)等中的一个或多个。处理系统还可以涵盖存储系统,诸如盘驱动器单元。一些配置中的处理系统可以包括声音输出设备和网络接口设备。因此,存储器子系统包括计算机可读载体介质,该计算机可读载体介质携载计算机可读代码(例如,软件),其包括指令集以在由一个或多个处理器执行时使得执行本文描述的方法中的一个或多个。注意的是,当方法包括若干元素(例如,若干步骤)时,除非特别说明,否则不暗示这样的元素的排序。软件可以驻留在硬盘中,或者也可以在其由计算机系统执行期间完全地或至少部分地驻留在ram内和/或处理器内。因此,存储器和处理器也构成携载计算机可读代码的计算机可读载体介质。此外,计算机可读载体介质可以形成或包括在计算机程序产品中。
[0076]
在一些示例实施例中,一个或多个处理器作为独立设备操作,或者可以在联网部署中被连接(例如,联网)到其它处理器,一个或多个处理器可以在服务器-用户网络环境中以服务器或用户机器的能力、或者在对等或分布式网络环境中作为对等计算机进行操作。一个或多个处理器可以形成个人计算机(pc)、平板pc、个人数字助理(pda)、蜂窝电话、web装置、网络路由器、交换机或网桥、或能够执行指令集(顺次地或以其它方式)的任何机器,这些指令指定要由该机器采取的动作。
[0077]
注意的是,术语“机器”也应被理解为包括单独地或联合地执行指令集(或多个指令集)以执行本文讨论的方法中的任何一个或多个的机器的任何集合。
[0078]
因此,本文描述的方法中的每一个的一个示例实施例是计算机可读载体介质的形式,该计算机可读载体介质携载指令集,例如,用于在一个或多个处理器(例如,作为web服务器布置的一部分的一个或多个处理器)上执行的计算机程序。因此,如本领域技术人员将意识到的,本公开的示例实施例可以被实施为方法,诸如专用装置的装置、诸如数据处理系统的装置、或计算机可读载体介质(例如,计算机程序产品)。计算机可读载体介质携载包括指令集的计算机可读代码,这些指令在一个或多个处理器上执行时使一个或多个处理器实现方法。因而,本公开的各方面可以采取方法、完全硬件示例实施例、完全软件示例实施例或组合软件和硬件方面的示例实施例的形式。此外,本公开可以采取载体介质的形式(例如,计算机可读存储介质上的计算机程序产品),该载体介质携载包含在介质中的计算机可读程序代码。
[0079]
软件还可以经由网络接口设备在网络上被发送或接收。虽然载体介质在示例实施例中为单个介质,但是术语“载体介质”应当被理解为包括存储一个或多个指令集的单个介质或多个介质(例如,集中式或分布式数据库、和/或相关联的缓存和服务器)。术语“载体介质”还应被理解为包括能够存储、编码或携载指令集以供处理器中的一个或多个执行并且使一个或多个处理器执行本公开的方法中的任何一个或多个的任何介质。载体介质可以采取许多形式,包括但不限于非易失性介质、易失性介质和传输介质。非易失性介质包括例如光盘、磁盘和磁光盘。易失性介质包括动态存储器,诸如主存储器。传输介质包括同轴线缆、铜线和光纤,其包含包括总线子系统的电线。传输介质还可以采取声波或光波的形式,诸如
在无线电波和红外数据通信期间生成的声波或光波。例如,术语“载体介质”应相应地被理解为包括但不限于固态存储器、包含在光学和磁性介质中的计算机产品;承载可由至少一个处理器或者一个或多个处理器检测并且表示指令集的传播信号的介质,这些指令在被执行时实现方法;以及承载可由一个或多个处理器中的至少一个处理器检测并且表示指令集的传播信号的网络中的传输介质。
[0080]
将理解的是,讨论的方法的步骤在一个示例实施例中通过处理(例如,计算机)系统/硬件的适当处理器(或多个处理器)执行存储在存储装置中的指令(计算机可读代码)来执行。还将理解的是,本公开不限于任何特定的实现或编程技术,并且可以使用用于实现本文描述的功能的任何适当的技术来实现本公开。本公开不限于任何特定的编程语言或操作系统。
[0081]
在整个本公开中对例如“一个示例实施例”、“一些示例实施例”或“示例实施例”的提及意味着结合示例实施例描述的特定的特征、结构或特性被包括在本公开的至少一个示例实施例中。因此,在整个本公开中的各个地方中出现诸如例如“在一个示例实施例中”、“在一些示例实施例中”或“在示例实施例中”的短语不一定都是指相同的示例实施例。此外,在一个或多个示例实施例中,如本领域的普通技术人员从本公开将清楚的,可以以任何合适的方式组合特定的特征、结构或特性。
[0082]
如本文所使用的,除非另外指明,否则使用序数形容词“第一”、“第二”、“第三”等以描述一般对象仅指示所指同样的对象的不同实例,并且不旨在暗示如此描述的对象必须在给定的序列中,无论是时间上、空间上、排名上,还是以任何其它方式。
[0083]
在下面的权利要求和本文的描述中,术语“包括”、“由
……
组成”或“其包括”中的任何一个是开放式术语,其意指至少包括后面跟着的元素/特征,但是不排除其它元素/特征。因此,术语“包括”在权利要求中使用时不应当被解释为限于其后列出的部件或元素或步骤。例如,表达“设备包括a和b”的范围不应当限于仅由元件a和b组成的设备。本文所使用的术语“包括”或“其包括”或“这包括”中的任何一个也是开放式术语,其也意指至少包括跟在该术语后面的元素/特征,但是不排除其它元素/特征。因此,包含与包括是同义词并且意指包括。
[0084]
应当意识到,在本公开的示例实施例的以上描述中,出于简化本公开和帮助理解各个发明方面中的一个或多个的目的,有时在单个示例实施例、附图或其描述中将本公开的各种特征组合在一起。然而,本公开的方法不要被解释为反映权利要求需要比每个权利要求中明确记载的更多的特征的意图。相反,如随附的权利要求所反映的,发明方面在于少于单个前述公开的示例实施例的所有特征。因此,跟在说明书后面的权利要求特此明确地并入本说明书中,其中每个权利要求独立地作为本公开的单独示例实施例。
[0085]
此外,虽然本文描述的一些示例实施例包括在其它示例实施例中包括的一些特征但不包括其它特征,但是如本领域技术人员将理解的,不同的示例实施例的特征的组合意在落入本公开的范围内,并且形成不同的示例实施例。例如,在随附的权利要求中,要求保护的示例实施例中的任何一个可以以任何组合使用。
[0086]
在本文提供的描述中,阐述了许多具体的细节。然而,理解的是,可以在没有这些具体的细节的情况下实践本公开的示例实施例。在其它情况下,没有详细示出众所周知的方法、结构和技术,以便不使对本描述的理解模糊。
[0087]
因此,虽然已描述了被认为是本公开的最佳模式的内容,但是本领域技术人员将认识到,在不脱离本公开的精神的情况下,可以对其进行其它和另外的修改,并且旨在主张所有这样的改变和修改都落入本公开的范围内。例如,以上给出的任何方案仅仅代表可以使用的过程。可以从框图添加或删除功能,并且可以在功能块之间互换操作。可以对在本公开的范围内描述的方法添加或删除步骤。
[0088]
本发明的各个方面可以从以下列举的示例实施例(eee)意识到:
[0089]
eee1、一种解码器(200,201),被配置为:
[0090]
接收有限位速率流(230),所述有限位速率流(230)包括量化的潜在帧(264),其中所述量化的潜在帧包括潜在域中的信号的当前帧(t)的量化表示,所述潜在域与第一域不同;
[0091]
从所述量化的潜在帧生成重构的潜在帧(267);
[0092]
使用生成式神经网络模型(210)以执行任务,所述生成式神经网络模型已针对所述任务进行训练,其中所述任务包括对从所述潜在域到所述第一域的可逆映射(268)生成参数(220);
[0093]
重构所述第一域中的所述信号的当前帧(269),其包括通过使用所述可逆映射来将所述重构的潜在帧映射到所述第一域,以及
[0094]
使用重构的所述第一域中的所述信号的当前帧以更新所述生成式神经网络模型的状态。
[0095]
eee2、根据eee 1所述的解码器,其中所述生成式神经网络模型已被训练为还基于条件作用信息(265)执行所述任务,所述条件作用信息(265)与当前帧(t)和未来帧(》t)中的至少一个相关联。
[0096]
eee3、根据eee 1或2所述的解码器,包括被配置为在同一有限位速率帧流中接收所述量化的潜在帧、以及与当前帧和未来帧中的至少一个相关联的条件作用信息或这样的条件作用信息没有被包括在所述同一有限位速率帧流中的指示的部件,并且其中所述解码器被配置为如果所述同一有限位速率帧流包括所述指示,那么在不使用这样的条件作用信息的情况下执行所述任务。
[0097]
eee4、根据eee 2所述的解码器,包括被配置为在同一有限位速率帧流中接收所述量化的潜在帧和旧有编解码器数据、并且还被配置为从所述旧有编解码器数据重构信号作为所述条件作用信息的至少一部分的部件。
[0098]
eee5、根据eee 1至4中的任一项所述的解码器,其中所述任务包括预测所述第一域中的所述信号的当前帧,并且其中生成所述第一域中的所述信号的当前帧包括通过使用映射到所述第一域的所述重构的潜在帧来校正预测的当前帧。
[0099]
eee6、一种编码器(100,101,102,103),被配置为:
[0100]
接收第一域中的信号的当前帧(160);
[0101]
使用生成式神经网络模型(110)以执行任务,所述生成式神经网络模型已针对所述任务进行训练,其中所述任务包括对从所述第一域到潜在域的可逆映射(161)提供参数(120),所述潜在域与所述第一域不同;
[0102]
通过使用所述可逆映射将所述信号的当前帧的至少一部分映射到所述潜在域来生成潜在帧(162),其中所述潜在帧包括所述潜在域中的所述信号的当前帧(t)的表示;
[0103]
基于生成的潜在帧生成量化的潜在帧(164),以及
[0104]
生成有限位速率流(130),所述有限位速率流(130)包括所述量化的潜在帧。
[0105]
eee7、根据eee 6所述的编码器,其中所述生成式神经网络已被训练为基于条件作用信息(165)执行所述任务,所述条件作用信息(165)与当前帧(t)和未来帧(》t)中的至少一个相关联,并且其中所述编码器还被配置为输出包括这样的条件作用信息的有限位速率流。
[0106]
eee8、根据eee 6或7所述的编码器,还被配置为输出同一有限位速率帧流,所述同一有限位速率帧流包括所述量化的潜在帧、以及与当前帧和未来帧中的至少一个相关联的条件作用信息或这样的条件作用信息没有被包括在所述同一有限位速率流中的指示。
[0107]
eee9、根据eee 6至8中的任一项所述的编码器,还被配置为:
[0108]
从所述量化的潜在帧生成重构的潜在帧(167);
[0109]
生成重构的所述第一域中的所述信号的当前帧(169),其包括通过使用所述可逆映射的逆(168)来将所述重构的潜在帧映射到所述第一域,以及
[0110]
使用重构的所述第一域中的所述信号的当前帧以更新所述生成式神经网络模型的状态。
[0111]
eee10、根据eee 9所述的编码器,其中所述可逆映射包括仿射变换。
[0112]
eee11、根据eee 9或10所述的编码器,被配置为通过使用流模型来生成所述可逆映射。
[0113]
eee12、根据eee 6至11中的任一项所述的编码器,其中包括所述量化的潜在帧的有限位速率流的位速率基于感知速率分配模型(150)进行分配。
[0114]
eee13、根据eee 9至12中的任一项所述的编码器,其中包括所述量化的潜在帧的有限位速率流的位速率基于接收的所述第一域中的所述信号的当前帧与重构的所述第一域中的所述信号的当前帧之间的差异进行分配。
[0115]
eee14、根据eee 6至13中的任一项所述的编码器,被配置为通过使用消减抖动(174)、后跟增益(175)来生成所述量化的潜在帧。
[0116]
eee15、根据eee 6至14中的任一项所述的编码器,被配置为通过从具有不同的量化步长大小的多个量化器、包括零速率噪声填充进行选择来生成所述量化的潜在帧。
[0117]
eee16、一种对信号的当前帧进行解码的方法(320),包括:
[0118]
接收(s321)有限位速率流(330),所述有限位速率流(330)包括量化的潜在帧(364),所述量化的潜在帧包括潜在域中的所述信号的当前帧(t)的量化表示,所述潜在域与第一域不同;
[0119]
从所述量化的潜在帧生成(s322)重构的潜在帧(367);
[0120]
使用生成式神经网络模型以执行任务,所述生成式神经网络模型已针对所述任务进行训练,所述任务包括对从所述潜在域到所述第一域的可逆映射生成参数;
[0121]
重构(s323)所述第一域中的所述信号的当前帧(369),包括使用所述可逆映射将所述重构的潜在帧映射到所述第一域,以及
[0122]
使用(s324)重构的所述第一域中的所述信号的当前帧以更新(340)所述生成式神经网络模型的状态。
[0123]
eee17、一种对信号的当前帧进行编码的方法(310),包括:
[0124]
接收(s311)第一域中的所述信号的当前帧(360);
[0125]
使用生成式神经网络模型以执行任务,所述生成式神经网络模型已针对所述任务进行训练,所述任务包括对从所述第一域到潜在域的可逆映射提供参数,所述潜在域与所述第一域不同;
[0126]
通过使用所述可逆映射将所述信号的当前帧的至少一部分映射到所述潜在域来生成(s312)潜在帧(362),所述潜在帧包括所述潜在域中的所述信号的当前帧的表示;
[0127]
基于生成的潜在帧生成(s313)量化的潜在帧(364),以及
[0128]
生成(s314)有限位速率流(330),所述有限位速率流(330)包括所述量化的潜在帧。
[0129]
eee18、一种存储指令的非暂态计算机可读介质,所述指令在由属于计算机硬件的至少一个计算机处理器执行时可操作以使所述计算机硬件执行根据eee 16所述的对信号的当前帧进行解码的方法。
[0130]
eee19、一种存储指令的非暂态计算机可读介质,所述指令在由属于计算机硬件的至少一个计算机处理器执行时可操作以使所述计算机硬件执行根据eee 17所述的对信号的当前帧进行编码的方法。
[0131]
eee20、一种用于传送信号的当前帧的编解码系统(400),包括至少一个根据eee 1至5中的任一项所述的解码器(420)、至少一个根据eee 6至15中的任一项所述的编码器(410)、以及用于在所述编码器与所述解码器之间传送包括量化的潜在帧的有限位速率流(430)的部件(440)。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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