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

空间音频参数编码和相关联的解码的制作方法

2022-08-28 05:49:55 来源:中国专利 TAG:


1.本技术涉及用于声场相关的参数编码的装置和方法,但不是仅限于音频编码器和解码器的时频域方向相关的参数编码。


背景技术:

2.参数空间音频处理是使用一组参数来描述声音的空间方面的音频信号处理领域。例如,在从麦克风阵列进行参数化空间音频捕获时,从麦克风阵列信号估计一组方向元数据参数是一种典型且有效的选择,该组参数诸如是频带中声音的方向、以及频带中被捕获声音的定向与非定向部分的比率。众所周知,这些参数很好地描述了在麦克风阵列的位置处的被捕获声音的感知空间特性。这些参数可以相应地在空间声音的合成中使用,以用于双耳式耳机、扬声器、或诸如全景环绕声(ambisonics)之类的其他格式。
3.因此,诸如频带中的方向和直接对总能量比(direct-to-total energy ratio)之类的定向元数据是对空间音频捕获特别有效的参数化。
4.包括针对每个频带的一个或多个方向值和与每个方向值相关联的能量比率参数的定向元数据参数集也可以被用作用于音频编解码器的空间元数据(其还可以包括其他参数,诸如扩展相干性(spread coherence)、方向数量、距离等)。定向元数据参数集还可以包括其他参数,或者可以与被认为是非定向的其他参数(诸如环绕相干性(surround coherence)、扩散对总能量比(diffuse-to-total energy ratio)、剩余对总能量比(remainder-to-total energy ratio))相关联。例如,可以从麦克风阵列捕获的音频信号中估计这些参数,并且例如可以从麦克风阵列信号生成立体声信号以与空间元数据一起传送。
5.由于预计某些编解码器将以范围从非常低的比特率到相对较高的比特率的各种比特率操作,因此,需要各种策略来压缩空间元数据以针对每个操作点优化编解码器性能。编码参数(元数据)的原始比特率相对较高,因此,尤其是在更低的比特率时,预计只有元数据中最重要的部分可以从编码器被传送到解码器。
6.解码器可以将音频信号解码成pcm信号,并(使用空间元数据)处理频带中的声音以获得空间输出,例如,双耳输出。
7.前述解决方案尤其适合于对来自(例如,移动电话、摄像机、vr相机、独立麦克风阵列中的)麦克风阵列的捕获空间声音进行编码。然而,可期望这种编码器除了麦克风阵列捕获的信号之外还具有其他输入类型,例如,扬声器信号、音频对象信号、或者ambisonic信号。


技术实现要素:

8.根据第一方面,提供了一种装置,其包括被配置为执行以下操作的部件:获得与至少一个音频信号的至少两个时频部分相关联的方向参数值;以及基于码本,对所获得的方向参数值进行编码,其中,该码本包括两个或更多个量化级别,该两个或更多个量化级别被
设置为使得第一量化级别包括第一组量化值,第二或随后的量化级别包括第二或另一组量化值和前面的量化级别量化值。
9.被配置为基于码本对所获得的方向参数值进行编码的该部件可以进一步被配置为:相对于所获得的方向参数值中的每个方向参数值,从所确定的量化级别的一组量化值和前面的量化级别量化值中确定最接近的量化值;以及基于相关联的最接近的量化值,针对所获得的方向参数值中的每个方向参数值生成码字。
10.被配置为基于码本对所获得的方向参数值进行编码的该部件可以进一步被配置为:对针对包括子带和时间块的帧内的子带所生成的码字进行熵编码。
11.被配置为基于码本对所获得的方向参数值进行编码的该部件可以进一步被配置为迭代地:将对基于所选择的量化级别的用于包括子带和时间块的帧内的子带的方向参数值的码字进行熵编码所需的比特数量与所分配的比特数量进行比较;取决于对用于方向参数值的码字进行熵编码所需的比特数量大于所分配的比特数量,选择前面的量化级别,并基于前面的量化级别对所获得的方向参数值进行重新编码,直到对用于方向参数值的码字进行熵编码所需的比特数量等于或小于所分配的比特数量为止。
12.被配置为基于码本对方向参数值进行编码的该部件可以进一步被配置为:基于所确定的角度量化失真,对针对包括子带和时间块的帧内的子带的方向参数值所确定的最接近的量化值进行排序;按照所确定的顺序迭代地选择最接近的量化值之一,并:确定所选择的最接近的量化值是否是前面的量化级别量化值中的成员;以及使用前面的量化级别量化值来对所获得的方向参数值进行重新编码,直到对用于方向参数值的码字进行熵编码所需的比特数量等于或小于所分配的比特数量为止。
13.被配置为基于码本对所获得的方向参数值进行编码的该部件可以进一步被配置为:基于该码本,对方位角方向参数值进行编码;以及基于包括子带和时间块的帧内的子带的至少一个平均仰角方向参数值,对仰角方向参数值进行编码。
14.该部件可以进一步被配置为:基于与所获得的方向参数值相关联的能量比率值的值,确定用于对包括子带和时间块的帧内的每个子带进行编码的所分配的比特数量。
15.根据第二方面,提供了一种装置,其包括被配置为执行以下操作的部件:获得至少一个编码比特流,该至少一个编码比特流包括至少一个码本编码的方向参数值,其中,该码本包括两个或更多个量化级别,该两个或更多个量化级别被设置为使得第一量化级别包括第一组量化值,第二或随后的量化级别包括第二或另一组量化值和前面的量化级别量化值;以及对至少一个码本编码的方向参数值进行解码。
16.根据第三方面,提供了一种方法,其包括:获得与至少一个音频信号的至少两个时频部分相关联的方向参数值;以及基于码本,对所获得的方向参数值进行编码,其中,该码本包括两个或更多个量化级别,该两个或更多个量化级别被设置为使得第一量化级别包括第一组量化值,第二或随后的量化级别包括第二或另一组量化值和前面的量化级别量化值。
17.基于码本对所获得的方向参数值进行编码可以进一步包括:相对于所获得的方向参数值中的每个方向参数值,从所确定的量化级别的一组量化值和前面的量化级别量化值中确定最接近的量化值;以及基于相关联的最接近的量化值,针对所获得的方向参数值中的每个方向参数值生成码字。
18.基于码本对所获得的方向参数值进行编码可以进一步包括:对针对包括子带和时间块的帧内的子带所生成的码字进行熵编码。
19.基于码本对所获得的方向参数值进行编码可以进一步包括迭代地:将对基于所选择的量化级别的用于包括子带和时间块的帧内的子带的方向参数值的码字进行熵编码所需的比特数量与所分配的比特数量进行比较;取决于对用于方向参数值的码字进行熵编码所需的比特数量大于所分配的比特数量,选择前面的量化级别,并基于前面的量化级别对所获得的方向参数值进行重新编码,直到对用于方向参数值的码字进行熵编码所需的比特数量等于或小于所分配的比特数量为止。
20.基于码本对方向参数值进行编码可以进一步包括:基于所确定的角度量化失真,对针对包括子带和时间块的帧内的子带的方向参数值所确定的最接近的量化值进行排序;按照所确定的顺序迭代地选择最接近的量化值之一,确定所选择的最接近的量化值是否是前面的量化级别量化值中的成员,以及使用前面的量化级别量化值来对所获得的方向参数值进行重新编码,直到对用于方向参数值的码字进行熵编码所需的比特数量等于或小于所分配的比特数量为止。
21.基于码本对所获得的方向参数值进行编码可以进一步包括:基于该码本,对方位角方向参数值进行编码;以及基于包括子带和时间块的帧内的子带的至少一个平均仰角方向参数值,对仰角方向参数值进行编码。
22.该方法可以进一步包括:基于与所获得的方向参数值相关联的能量比率值的值,确定用于对包括子带和时间块的帧内的每个子带进行编码的所分配的比特数量。
23.根据第四方面,提供了一种方法,其包括:获得至少一个编码比特流,该至少一个编码比特流包括至少一个码本编码的方向参数值,其中,该码本包括两个或更多个量化级别,该两个或更多个量化级别被设置为使得第一量化级别包括第一组量化值,第二或随后的量化级别包括第二或另一组量化值和前面的量化级别量化值;以及对至少一个码本编码的方向参数值进行解码。
24.根据第五方面,提供了一种装置,其包括至少一个处理器和包括计算机程序代码的至少一个存储器,该至少一个存储器和计算机程序代码被配置为与至少一个处理器一起使该装置至少:获得与至少一个音频信号的至少两个时频部分相关联的方向参数值;以及基于码本,对所获得的方向参数值进行编码,其中,该码本包括两个或更多个量化级别,该两个或更多个量化级别被设置为使得第一量化级别包括第一组量化值,第二或随后的量化级别包括第二或另一组量化值和前面的量化级别量化值。
25.被使得基于码本对所获得的方向参数值进行编码的该装置可以进一步被使得:相对于所获得的方向参数值中的每个方向参数值,从所确定的量化级别的一组量化值和前面的量化级别量化值中确定最接近的量化值;以及基于相关联的最接近的量化值,针对所获得的方向参数值中的每个方向参数值生成码字。
26.被使得基于码本对所获得的方向参数值进行编码的该装置可以进一步被使得:对针对包括子带和时间块的帧内的子带所生成的码字进行熵编码。
27.被使得基于码本对所获得的方向参数值进行编码的该装置可以进一步被使得迭代地:将对基于所选择的量化级别的用于包括子带和时间块的帧内的子带的方向参数值的码字进行熵编码所需的比特数量与所分配的比特数量进行比较;取决于对用于方向参数值
的码字进行熵编码所需的比特数量大于所分配的比特数量,选择前面的量化级别,并基于前面的量化级别对所获得的方向参数值进行重新编码,直到对用于方向参数值的码字进行熵编码所需的比特数量等于或小于所分配的比特数量为止。
28.被使得基于码本对方向参数值进行编码的该装置可以进一步被使得:基于所确定的角度量化失真,对针对包括子带和时间块的帧内的子带的方向参数值所确定的最接近的量化值进行排序;按照所确定的顺序迭代地选择最接近的量化值之一,并:确定所选择的最接近的量化值是否是前面的量化级别量化值中的成员;以及使用前面的量化级别量化值来对所获得的方向参数值进行重新编码,直到对用于方向参数值的码字进行熵编码所需的比特数量等于或小于所分配的比特数量为止。
29.被使得基于码本对所获得的方向参数值进行编码的该装置可以进一步被使得:基于该码本,对方位角方向参数值进行编码;以及基于包括子带和时间块的帧内的子带的至少一个平均仰角方向参数值,对仰角方向参数值进行编码。
30.该装置可以进一步被使得:基于与所获得的方向参数值相关联的能量比率值的值,确定用于对包括子带和时间块的帧内的每个子带进行编码的所分配的比特数量。
31.根据第六方面,提供了一种装置,其包括至少一个处理器和包括计算机程序代码的至少一个存储器,该至少一个存储器和计算机程序代码被配置为与至少一个处理器一起使该装置至少:获得至少一个编码比特流,该至少一个编码比特流包括至少一个码本编码的方向参数值,其中,该码本包括两个或更多个量化级别,该两个或更多个量化级别被设置为使得第一量化级别包括第一组量化值,第二或随后的量化级别包括第二或另一组量化值和前面的量化级别量化值;以及对至少一个码本编码的方向参数值进行解码。
32.根据第七方面,提供了一种装置,其包括:用于获得与至少一个音频信号的至少两个时频部分相关联的方向参数值的部件;以及用于基于码本对所获得的方向参数值进行编码的部件,其中,该码本包括两个或更多个量化级别,该两个或更多个量化级别被设置为使得第一量化级别包括第一组量化值,第二或随后的量化级别包括第二或另一组量化值和前面的量化级别量化值。
33.根据第八方面,提供一种装置,包括:用于获得至少一个编码比特流的部件,其中,该至少一个编码比特流包括至少一个码本编码的方向参数值,该码本包括两个或更多个量化级别,该两个或更多个量化级别被设置为使得第一量化级别包括第一组量化值,第二或随后的量化级别包括第二或另一组量化值和前面的量化级别量化值;以及用于对至少一个码本编码的方向参数值进行解码的部件。
34.根据第九方面,提供了一种包括指令的计算机程序[或者包括程序指令的计算机可读介质],这些指令/程序指令用于使装置至少执行以下操作:获得与至少一个音频信号的至少两个时频部分相关联的方向参数值;以及基于码本,对所获得的方向参数值进行编码,其中,该码本包括两个或更多个量化级别,该两个或更多个量化级别被设置为使得第一量化级别包括第一组量化值,第二或随后的量化级别包括第二或另一组量化值和前面的量化级别量化值。
[0035]
根据第十方面,提供了一种包括指令的计算机程序[或者包括程序指令的计算机可读介质],这些指令/程序指令用于使装置至少执行以下操作:获得至少一个编码比特流,该至少一个编码比特流包括至少一个码本编码的方向参数值,其中,该码本包括两个或更
多个量化级别,该两个或更多个量化级别被设置为使得第一量化级别包括第一组量化值,第二或随后的量化级别包括第二或另一组量化值和前面的量化级别量化值;以及对至少一个码本编码的方向参数值进行解码。
[0036]
根据第十一方面,提供了一种包括程序指令的非暂时性计算机可读介质,这些程序指令用于使装置至少执行以下操作:获得与至少一个音频信号的至少两个时频部分相关联的方向参数值;以及基于码本,对所获得的方向参数值进行编码,其中,该码本包括两个或更多个量化级别,该两个或更多个量化级别被设置为使得第一量化级别包括第一组量化值,第二或随后的量化级别包括第二或另一组量化值和前面的量化级别量化值。
[0037]
根据第十二方面,提供了一种包括程序指令的非暂时性计算机可读介质,这些程序指令用于使装置至少执行以下操作:获得至少一个编码比特流,该至少一个编码比特流包括至少一个码本编码的方向参数值,其中,该码本包括两个或更多个量化级别,该两个或更多个量化级别被设置为使得第一量化级别包括第一组量化值,第二或随后的量化级别包括第二或另一组量化值和前面的量化级别量化值;以及对至少一个码本编码的方向参数值进行解码。
[0038]
根据第十三方面,提供了一种装置,其包括:获得电路,被配置为获得与至少一个音频信号的至少两个时频部分相关联的方向参数值;以及编码电路,被配置为基于码本,对所获得的方向参数值进行编码,其中,该码本包括两个或更多个量化级别,该两个或更多个量化级别被设置为使得第一量化级别包括第一组量化值,第二或随后的量化级别包括第二或另一组量化值和前面的量化级别量化值。
[0039]
根据第十四方面,提供了一种装置,其包括:获得电路,被配置为获得至少一个编码比特流,该至少一个编码比特流包括至少一个码本编码的方向参数值,其中,该码本包括两个或更多个量化级别,该两个或更多个量化级别被设置为使得第一量化级别包括第一组量化值,第二或随后的量化级别包括第二或另一组量化值和前面的量化级别量化值;以及解码电路,被配置为对至少一个码本编码的方向参数值进行解码。
[0040]
根据第十五方面,提供了一种包括程序指令的计算机可读介质,这些程序指令用于使装置至少执行以下操作:获得与至少一个音频信号的至少两个时频部分相关联的方向参数值;以及基于码本,对所获得的方向参数值进行编码,其中,该码本包括两个或更多个量化级别,该两个或更多个量化级别被设置为使得第一量化级别包括第一组量化值,第二或随后的量化级别包括第二或另一组量化值和前面的量化级别量化值。
[0041]
根据第十六方面,提供了一种包括程序指令的计算机可读介质,这些程序指令用于使装置至少执行以下操作:获得至少一个编码比特流,该至少一个编码比特流包括至少一个码本编码的方向参数值,其中,该码本包括两个或更多个量化级别,该两个或更多个量化级别被设置为使得第一量化级别包括第一组量化值,第二或随后的量化级别包括第二或另一组量化值和前面的量化级别量化值;以及对至少一个码本编码的方向参数值进行解码。
[0042]
一种装置,包括用于执行如上所述的方法的动作的部件。
[0043]
一种装置,被配置为执行如上所述的方法的动作。
[0044]
一种计算机程序,包括用于使计算机执行如上所述的方法的程序指令。
[0045]
一种被存储在介质上的计算机程序产品可以使装置执行本文所述的方法。
[0046]
一种电子设备可以包括如本文所述的装置。
[0047]
一种芯片组可以包括如本文所述的装置。
[0048]
本技术的实施例旨在解决与现有技术相关联的问题。
附图说明
[0049]
为了更好地理解本技术,现在将通过示例的方式参考附图,其中:
[0050]
图1示意性地示出适于实现一些实施例的装置系统;
[0051]
图2示意性地示出根据一些实施例的编码器;
[0052]
图3示出根据一些实施例的如图2中所示的编码器的操作的流程图;
[0053]
图4示意性地示出根据一些实施例的如图2中所示的方向编码器;
[0054]
图5示出根据一些实施例的如图4中所示的方向编码器的操作的流程图;
[0055]
图6示意性地示出根据一些实施例的如图2和图4中所示的方向编码器的灵活边界码本编码器部分;
[0056]
图7示出根据一些实施例的如图6中所示的灵活边界码本编码器部分的操作的流程图;
[0057]
图8示出根据一些实施例的示例码本角度分配;
[0058]
图9示出根据一些实施例的用于如图6中所示的编码器的灵活边界码本选择的操作的进一步的流程图;
[0059]
图10示意性地示出适于实现所示装置的示例设备。
具体实施方式
[0060]
下面更详细地描述用于提供组合并编码空间分析导出的元数据参数的合适装置和可能机制。在下面的讨论中,多通道系统是关于多通道麦克风实现而讨论的。然而,如上所讨论的,输入格式可以是任何合适的输入格式,诸如多通道扬声器、ambisonic(foa/hoa)等。应当理解,在一些实施例中,通道位置是基于麦克风的位置或者是虚拟位置或方向。
[0061]
此外,在以下示例中,示例系统的输出是多通道扬声器布置。在其他实施例中,输出可以经由除了扬声器之外的手段而被渲染给用户。多通道扬声器信号也可以被概括为两个或更多个播放音频信号。
[0062]
如上所讨论的,与音频信号相关联的定向元数据可以包括每时频图块(tile)的多个参数(诸如多个方向,以及与每个方向相关联的直接对总能量比、距离等)。定向元数据还可以包括其他参数,或者可以与被认为是非定向的但当与定向参数组合时可以被用于定义音频场景的特性的其他参数(诸如环绕相干性、扩散对总能量比、剩余对总能量比)相关联。例如,能够产生优质输出的合理设计选择是确定定向元数据包括针对每个时频子帧的两个方向(以及与每个方向相关联的直接对总能量比、距离值等)。然而,同样如上所讨论的,带宽和/或存储限制可要求编解码器不针对每个频带和时间子帧而发送定向元数据参数值。
[0063]
当前的提议包括在gb专利申请1811071.8中所公开的提议,该申请已经考虑了元数据的有损压缩,并且对于pct/fi2019/050675,当针对给定的子带可用的比特数量非常少时,已经讨论了向量量化方法。即使只有9比特码本,向量量化器方法也增加了编解码器的表rom,其中大约4kb的存储器被用于2、3、4、...、和9比特的4维码本。
[0064]
如在以下实施例中所讨论的概念涉及具有传输音频信号和(空间)定向元数据的空间音频流的编码,其中,描述了实现具有灵活边界的嵌入式码本而不是使用向量量化器的装置和方法。为了减少存储器消耗,在一些实施例中,码本是一维的,并且码字被索引以使得构成1比特码本的那些码字首先出现,然后是属于2比特码本但不属于1比特码本的那些码字,然后是属于3比特码本但不属于1比特和2比特码本的那些码字,依此类推。在这种实施例中,一次对一个子带进行编码。基于针对当前子带的可用比特数量和到非量化的音频定向数据的距离,选择用于每个时频图块的码字,并使用合适的熵编码方法(例如,golomb rice编码)对其索引进行编码。
[0065]
关于图1,示出了用于实现本技术的实施例的示例装置和系统。系统100被示出为具有“分析”部分121和“合成”部分131。“分析”部分121是从接收多通道信号到对定向元数据和传输信号进行编码的部分,而“合成”部分131是从对经编码的定向元数据和传输信号进行解码到(例如以多通道扬声器的形式)呈现重新生成的信号的部分。
[0066]
在以下描述中,“分析”部分121被描述为一系列部分,然而,在一些实施例中,该部分可以被实现为相同功能装置或部分内的功能。换句话说,在一些实施例中,“分析”部分121是包括如下文所描述的传输信号生成器或分析处理器中的至少一个的编码器。
[0067]
系统100和“分析”部分121的输入是多通道信号102。“分析”部分121可以包括传输信号生成器103、分析处理器105、以及编码器107。在以下示例中,描述了麦克风通道信号输入,然而,在其他实施例中,可以实现任何合适的输入(或合成多通道)格式。在这种实施例中,与音频信号相关联的定向元数据可以作为单独的比特流被提供给编码器。多通道信号被传递给传输信号生成器103和分析处理器105。
[0068]
在一些实施例中,传输信号生成器103被配置为接收多通道信号,并生成合适的音频信号格式以用于编码。传输信号生成器103例如可以生成立体声或单声道音频信号。由传输信号生成器所生成的传输音频信号可以是任何已知的格式。例如,当输入是其中音频信号输入是移动电话麦克风阵列音频信号时,传输信号生成器103可以被配置为选择左右麦克风对,并对音频信号对应用任何合适的处理,诸如自动增益控制、麦克风噪声去除、风噪声去除、以及均衡。在一些实施例中,当输入是一阶ambisonic/高阶ambisonic(foa/hoa)信号时,传输信号生成器可以被配置为制定朝向左右方向的定向波束信号,诸如两个相反的心形信号。另外,在一些实施例中,当输入是扬声器环绕混音和/或对象时,传输信号生成器103可以被配置为生成下缩合信号,该下缩合信号将左侧通道组合到左下缩合通道,将右侧通道组合到右下缩合通道,并用合适的增益将中央通道添加到两个传输通道。
[0069]
在一些实施例中,传输信号生成器被绕过(或者,换句话说,是可选的)。例如,在其中分析和合成在同一设备上在单个处理步骤中发生的一些情况下,没有中间处理,则不会有传输信号生成,并且输入音频信号被未经处理地传递。所生成的传输通道的数量可以是任何合适的数量,而不必是例如一个或两个通道。
[0070]
传输信号生成器103的输出可以被传递给编码器107。
[0071]
在一些实施例中,分析处理器105也被配置为接收多通道信号,并分析这些信号以产生与多通道信号相关联并因此与传输信号104相关联的定向元数据106。
[0072]
分析处理器105可以被配置为生成定向元数据参数,这些元数据参数可以包括针对每个时频分析间隔的至少一个方向参数108和至少一个能量比率参数110(在一些实施例
中还包括其他参数,其非详尽列表包括方向数量、环绕相干性、扩散对总能量比、剩余对总能量比、扩展相干性参数、以及距离参数)。方向参数可以以任何合适的方式表示,例如,被标示为方位角和仰角θ(k,n)的球坐标。
[0073]
在一些实施例中,定向元数据参数的数量可以在时频图块之间不同。因此,例如,在频带x中,所有的定向元数据参数都被获得(生成)和发送,而在频带y中,只有其中一个定向元数据参数被获得和发送,此外,在频带z中,没有参数被获得或发送。这方面的实际示例可以是对于与最高频带对应的一些时频图块,出于感知原因而不需要一些定向元数据参数。定向元数据106可以被传递给编码器107。
[0074]
在一些实施例中,分析处理器105被配置为对输入信号应用时频变换。进而,例如,在时频图块中,当输入是移动电话麦克风阵列时,分析处理器可以被配置为估计麦克风对之间的延迟值,其最大化麦克风间的相关性。进而,基于这些延迟值,分析处理器可以被配置为制定定向元数据的对应方向值。此外,分析处理器可以被配置为基于相关值来制定直接对总比率参数。
[0075]
在一些实施例中,例如如果输入是foa信号,则分析处理器105可以被配置为确定强度向量。进而,分析处理器可以被配置为基于强度向量来确定定向元数据的方向参数值。进而,可以确定扩散对总比率,由此可以确定定向元数据的直接对总比率参数值。这种分析方法在文献中被称为定向音频编码(dirac)。
[0076]
在一些示例中,例如如果输入是hoa信号,则分析处理器105可以被配置为将hoa信号划分成多个扇区(sector),在每个扇区中使用上述方法。这种基于扇区的方法在文献中被称为高阶dirac(ho-dirac)。在这些示例中,每时频图块(对应于多个扇区)有多于一个的同时的方向参数值。
[0077]
另外,在一些实施例中,如果输入是扬声器环绕混音和/或基于音频对象的信号,则分析处理器可以被配置为将该信号转换成foa/hoa信号格式,并获得直接对总比率参数值,如上所述。
[0078]
编码器107可以包括音频编码器核心109,音频编码器核心109被配置为接收传输音频信号104,并生成这些音频信号的合适的编码。在一些实施例中,编码器107可以是计算机(运行在存储器上和至少一个处理器上存储的合适的软件),或者可替代地可以是例如使用fpga或asic的特定设备。可以使用任何合适的方案来实现音频编码。
[0079]
编码器107还可以包括定向元数据编码器/量化器111,定向元数据编码器/量化器111被配置为接收定向元数据,并输出该信息的编码或压缩形式。在一些实施例中,编码器107可以在图1中由虚线所示的传输或存储之前,进一步交织、复用到单个数据流、或者将定向元数据嵌入编码下混合信号中。可以使用任何合适的方案来实现复用。
[0080]
在一些实施例中,传输信号生成器103和/或分析处理器105可以位于与编码器107分离(或以其他方式分离)的设备上。例如,在这种实施例中,与音频信号相关联的定向元数据(以及相关联的非定向元数据)可以作为单独的比特流被提供给编码器。
[0081]
在一些实施例中,传输信号生成器103和/或分析处理器105可以是编码器107的一部分,即,可以位于编码器的内部并且在同一设备上。
[0082]
在以下描述中,“合成”部分131被描述为一系列部分,然而,在一些实施例中,该部分可以被实现为相同功能装置或部分内的功能。
[0083]
在解码器侧,所接收或取回的数据(流)可以由解码器/解复用器133接收。解码器/解复用器133可以解复用编码流,并将音频编码流传递给传输信号解码器135,传输信号解码器135被配置为对这些音频信号进行解码以获得传输音频信号。类似地,解码器/解复用器133可以包括元数据提取器137,元数据提取器137被配置为接收经编码的定向元数据(例如,表示方向参数值的方向索引),并生成定向元数据。
[0084]
在一些实施例中,解码器/解复用器133可以是计算机(运行在存储器上和至少一个处理器上存储的合适的软件),或者可替代地可以是例如使用fpga或asic的特定设备。
[0085]
经解码的元数据和传输音频信号可以被传递给合成处理器139。
[0086]
系统100的“合成”部分131进一步示出了合成处理器139,合成处理器139被配置为接收传输音频信号和定向元数据,并基于传输信号和定向元数据,以任何合适的格式重新创建采用多通道信号110形式的合成空间音频(根据使用实例,其可以是多通道扬声器格式,或者在一些实施例中可以是诸如双耳或ambisonics信号之类的任何合适的输出格式)。
[0087]
因此,合成处理器139基于任何合适的已知方法来创建输出音频信号,例如,多通道扬声器信号或双耳信号。这在此不再进一步详细说明。然而,作为简化的示例,可以根据任一以下方法对扬声器输出执行渲染。例如,传输音频信号可以基于直接对总能量比和扩散对总能量比而被划分为定向流和环境流。进而,可以使用幅度平移,基于方向参数来渲染定向流。此外,可以使用去相关来渲染环境流。进而,可以组合定向流和环境流。
[0088]
可以使用多通道扬声器设置或者可进行头部跟踪的耳机来再现输出信号。
[0089]
应注意,图1的处理块可以位于相同或不同的处理实体中。例如,在一些实施例中,来自移动设备的麦克风信号用空间音频捕获系统(包含分析处理器和传输信号生成器)进行处理,并且所得到的空间元数据和传输音频信号(例如,以masa流的形式)被转发到包含编码器的编码器(例如,ivas编码器)。在其他实施例中,输入信号(例如,5.1通道音频信号)被直接转发到包含分析处理器、传输信号生成器和编码器的编码器(例如,ivas编码器)。
[0090]
在一些实施例中,可以有两个(或更多个)输入音频信号,其中,第一音频信号由图1中所示的装置进行处理(产生数据作为编码器的输入),而第二音频信号被直接转发到包含分析处理器、传输信号生成器和编码器的编码器(例如,ivas编码器)。进而,音频输入信号可以在编码器中被独立地编码,或者它们可以例如根据可被称为例如masa混合的方法在参数域中被组合。
[0091]
在一些实施例中,可以存在包括分离的解码器和合成处理器实体或装置的合成部分,或者合成部分可以包括单个实体,该单个实体包括解码器和合成处理器两者。在一些实施例中,解码器块可以并行处理多于一个的输入数据流。在应用中,术语“合成处理器”可以被解释为内部或外部渲染器。
[0092]
因此,总的来说,首先,系统(分析部分)被配置为接收多通道音频信号。进而,该系统(分析部分)被配置为生成合适的传输音频信号(例如,通过选择音频信号通道中的一些)。进而,该系统被配置为对传输音频信号进行编码以用于存储/传输。在此之后,该系统可以存储/发送经编码的传输音频信号和元数据。该系统可以取回/接收经编码的传输音频信号和元数据。进而,该系统被配置为从经编码的传输音频信号和元数据参数中提取传输音频信号和元数据,例如,对经编码的传输音频信号和元数据参数进行解复用和解码。
[0093]
该系统(合成部分)被配置为基于所提取的传输音频信号和元数据来合成输出多
通道音频信号。
[0094]
关于图2,更详细地描述了根据一些实施例的示例分析处理器105和元数据编码器/量化器111(如图1中所示)。
[0095]
在一些实施例中,分析处理器105包括时频域变换器201。
[0096]
在一些实施例中,时频域变换器201被配置为接收多通道信号102,并应用诸如短时傅里叶变换(stft)之类的合适的时频域变换,以便将输入时域信号转换成合适的时频信号。这些时频信号可以被传递给空间分析器203和信号分析器205。
[0097]
因此,例如,时频信号202可以在时频域表示中被表示为:
[0098]
si(b,n)
[0099]
其中,b是频率仓(frequency bin)索引,n是时频块(帧)索引,i是通道索引。在另一表达中,n可以被认为是具有比原始时域信号的采样率低的采样率的时间索引。这些频率仓可以被分组成多个子带,这些子带将一个或多个仓分组成频带索引的子带k=0,

,k-1。每个子带k具有最低仓b
k,low
和最高仓b
k,high
,并且该子带包含从b
k,low
到b
l,high
的所有仓。子带的宽度可以近似于任何合适的分布。例如,等效矩形带宽(erb)标度或巴克标度(bark scale)。
[0100]
在一些实施例中,分析处理器105包括空间分析器203。空间分析器203可以被配置为接收时频信号202,并基于这些信号来估计方向参数108。可以基于任何基于音频的“方向”确定来确定方向参数。
[0101]
例如,在一些实施例中,空间分析器203被配置为用两个或更多个信号输入来估计方向。这表示估计“方向”的最简单配置,可以用甚至更多的信号来执行更复杂的处理。
[0102]
因此,空间分析器203可以被配置为提供针对音频信号的帧内的每个频带和时间时频块(frequency band and temporal time-frequency block)的至少一个方位角和仰角,被标示为方位角和仰角θ(k,n)。方向参数108还可以被传递给方向索引生成器205。
[0103]
空间分析器203还可以被配置为确定能量比率参数110。能量比率可以被认为是确定可被认为是从一个方向到达的音频信号的能量。可以例如使用定向估计的稳定性度量,或者使用任何相关性度量,或者用于获得比率参数的任何其他合适的方法来估计直接对总能量比r(k,n)。能量比率可以被传递给能量比率编码器207。
[0104]
空间分析器203还可以被配置为确定多个相干性参数112,相干性参数112可以包括环绕相干性(γ(k,n))和扩展相干性(ζ(k,n)),这两者都在时频域中进行分析。
[0105]
因此,总的来说,分析处理器被配置为接收时域多通道或诸如麦克风或ambisonic音频信号之类的其他格式。
[0106]
在此之后,该分析处理器可以应用时域到频域变换(例如,stft)以生成合适的时频域信号以用于分析,然后应用方向分析以确定方向和能量比率参数。
[0107]
进而,该分析处理器可以被配置为输出所确定的参数。
[0108]
尽管在此针对每个时间索引n表述了方向、能量比率和相干性参数,但是在一些实施例中,这些参数可以在若干时间索引上被组合。这同样适用于频率轴,如已描述的,若干频率仓b的方向可以通过由若干频率仓b组成的频带k中的一个方向参数来表达。这同样适用于本文讨论的所有空间参数。
[0109]
在一些实施例中,可以使用16比特来表示定向数据,以使得每个方位角参数近似地在9比特上被表示,仰角在7比特上被表示。在这种实施例中,能量比率参数可以在8比特上被表示。对于每一帧,可以有n个子带(其中,n可以在1和24之间,并且可以被固定为5)和m个时频(tf)块(其中,m的值可以是m=4)。因此,在此示例中,需要(16 8)x m xn比特来存储每一帧的未经压缩的方向和能量比率元数据。
[0110]
还如图2中所示,根据一些实施例示出了示例的元数据编码器/量化器111。
[0111]
元数据编码器/量化器111可以包括方向编码器205。方向编码器205被配置为接收方向参数(诸如方位角和仰角θ(k,n)108)(在一些实施例中,还接收预期的比特分配),并由此生成合适的经编码的输出。在一些实施例中,编码是基于球体的布置(在“表面”球体上形成以环形布置的球面网格),这些球体由所确定的量化分辨率定义的查找表来定义。换句话说,球面网格使用以下构思:用更小球体来覆盖一球体,并将更小球体的中心视为定义几乎等距离的方向的网格的点。因此,更小球体定义关于中心点的圆锥体或立体角,其可以根据任何合适的索引算法来索引。虽然在本文中描述了球面量化,但是也可以使用其他任何合适的量化(线性的或非线性的)。
[0112]
进而,可以通过确定对应的定向参数仰角值是否足够相似以使用嵌入式灵活边界码本来进一步组合量化值。
[0113]
进而,可以将经编码的方向参数206传递给组合器211。
[0114]
元数据编码器/量化器111可以包括能量比率编码器207。能量比率编码器207被配置为接收能量比率,并确定用于压缩这些子带和时频块的能量比率的合适的编码。例如,在一些实施例中,能量比率编码器207被配置为使用3比特来编码每个能量比率参数值。
[0115]
此外,在一些实施例中,不是发送或存储所有tf块的所有能量比率值,而是仅发送或存储每子带的一个加权平均值。可以通过考虑每个时间块的总能量来确定平均值,从而有利于具有更多能量的子带的值。
[0116]
在这种实施例中,经量化的能量比率值208对于给定的子带的所有tf块是相同的。
[0117]
在一些实施例中,能量比率编码器207进一步被配置为将经量化(经编码)的能量比率值208传递给组合器211。
[0118]
元数据编码器/量化器111可以包括组合器211。该组合器被配置为接收经编码(或经量化/压缩)的定向参数和能量比率参数,并组合这些参数以生成合适的输出(例如,元数据比特流,其可以与传输信号组合,或者与传输信号分开发送或存储)。
[0119]
关于图3,示出了根据一些实施例的如图2中所示的元数据编码器/量化器的示例操作。
[0120]
如图3中步骤301所示,初始操作是获得元数据(诸如方位角值、仰角值、能量比率等)。
[0121]
进而,如图3中步骤303所示,可以对定向值(仰角、方位角)进行压缩或编码(例如,通过应用球形量化或任何合适的压缩)。
[0122]
如图3中步骤305所示,能量比率值被压缩或编码(例如,通过生成每子带的加权平均值,然后将其量化为3比特值)。
[0123]
进而,如图3中步骤307所示,组合经编码的定向值、能量比率、相干值以生成经编码的元数据。
[0124]
关于图4更详细地示出了方向编码器205。
[0125]
在一些实施例中,方向编码器可以包括量化确定器401。该量化确定器被配置为接收每个子带的经编码/量化的能量比率208,并从该值确定当前子带的所有时间块的方位角和仰角的量化分辨率。该量化分辨率通过允许由能量比率的值给出的预定义比特数量bits_dir0[0:n-1][0:m-1]来设置。这可以被输出到比特分配管理器403。
[0126]
方向编码器205还可以包括比特分配管理器403,比特分配管理器403被配置为接收基于能量比率值所确定的当前子带的所有时间块的方位角和仰角的量化分辨率bits_dir0[0:n-1][0:m-1]和针对该帧所分配的比特,修改该量化分辨率,从而所分配的比特数量减少到bits_dir1[0:n-1][0:m-1],以使得所分配的比特总和等于在编码能量比率之后剩余的可用比特数量。进而,被减少的比特分配bits_dir1[0:n-1][0:m-1]可以被传递给基于子带的方向编码器403。
[0127]
方向编码器205还可以包括基于子带的方向编码器405,基于子带的方向编码器405被配置为从比特分配管理器403接收(被减少的)比特分配。基于子带的方向编码器405还被配置为接收方向参数108,并基于在逐个子带的基础上的比特分配对其进行编码。
[0128]
关于图5,示出了示出如图4中所示的方向编码器205的操作的流程图。
[0129]
如图5中步骤501所示,初始操作是获得方向元数据(诸如方位角值、仰角值等)、经编码的能量比率值以及比特分配。
[0130]
进而,如图5中步骤503所示,最初基于能量比率值来确定量化分辨率。
[0131]
进而,如图5中步骤505所示,可以基于针对该帧所分配的比特来修改量化分辨率。
[0132]
进而,如图5中步骤507所示,可以基于经修改的量化分辨率在逐个子带的基础上对方向参数进行压缩/编码。
[0133]
关于图6,更详细地示出了如图4中所示的基于子带的方向编码器405。
[0134]
在一些实施例中,基于子带的方向编码器405包括子带比特分配器601。子带比特分配器601被配置为接收(被减少的)比特分配bits_dir1[0:n-1][0:m-1],并确定针对子带所允许的比特数量。例如,bits_allowed=sum(bits_dir1[i][0:m-1])。
[0135]
在一些实施例中,基于子带的方向编码器405包括比特限制确定器603。比特限制确定器603被配置为找到针对当前子带的每个tf块所分配的最大比特数量max_b=max(bits_dir1[i][0:m-1]),此外还确定针对当前子带的每个tf块所分配的最大比特数量是否小于或等于所确定的限制比特数量。换句话说,是否max_b《=limit_bits_per_tf。所确定的限制比特数量limit_bits_per_tf的值是每时频(tf)图块的限制比特数量,针对时频图块做出关于是否使用嵌入式量化器而不使用联合编码的决定。例如,对于子带中的示例tf图块(块)阵列,其中,m=4,当limit_bits_per_tf=3时,这些时频图块中的比特数量可以分别是(32 1 3)或(3 3 3 3)或(2 1 1 2),进而该方法可以开始检查是否可以使用嵌入式量化器。
[0136]
在一些实施例中,基于子带的方向编码器405包括距离确定器605。距离确定器605可以由比特限制确定器603来控制,以使得当针对当前子带的每个tf块所分配的最大比特数量小于或等于所允许的比特时距离d1d2被确定。其中,角距离被计算为:
[0137]
[0138]
其中,θ
av
是平均仰角。d1距离是使用联合编码时量化失真的估计,d2距离是使用灵活嵌入式码本时量化失真的估计。
[0139]
在一些实施例中,基于每个码本中的未经量化的角度和实际值来进行估计,而不计算量化值。
[0140]
在一些实施例中,考虑仰角的方差,因为如果其方差大于所确定的值,则对该子带的多于一个的仰角值进行编码。这在pct/fi2019/050675中有进一步的详细说明。
[0141]
距离确定器605被配置为确定距离d2是否小于距离d1。
[0142]
在一些实施例中,基于子带的方向编码器405包括联合仰角/方位角编码器607。联合仰角/方位角编码器607可以通过比特限制确定器603的确定来控制,以当针对当前子带的每个tf块所分配的最大比特数量大于所允许的比特时,在针对当前子带所分配的比特数量内对每个tf块的仰角值和方位角值进行联合编码。
[0143]
另外,联合仰角/方位角编码器607可以由距离确定器605来控制,以当距离d2大于距离d1时,在针对当前子带所分配的比特数量内对每个tf块的仰角和方位角值进行联合编码。换句话说,当使用联合编码时量化失真的估计小于使用灵活嵌入式码本时量化失真的估计时,进行联合编码。
[0144]
在一些实施例中,基于子带的方向编码器405包括平均仰角编码器/灵活边界嵌入式码本编码器609。平均仰角编码器/灵活边界嵌入式码本编码器609可以接收距离和方向参数,并可操作以基于距离确定器605确定距离d2大于距离d1(当针对当前子带的每个tf块所分配的最大比特数量小于或等于所允许的比特数量时)。
[0145]
在一些实施例中,平均仰角编码器/灵活边界嵌入式码本编码器609被配置为用1或2比特(1个比特用于值0度,2个比特用于 /-36度)来编码平均仰角值。另外,平均仰角编码器/灵活边界嵌入式码本编码器609被配置为针对每个所考虑的tf图块的方位角值使用灵活边界嵌入式码本。
[0146]
关于图7中所示的流程图进一步描述了基于子带的方向编码器405的操作。
[0147]
如图7中步骤701所示,初始操作可以是基于经修改的量化分辨率来分配子带比特。
[0148]
进而,如图7中步骤703所示,基于能量比率值来确定每量化分辨率的最大比特,并执行最大比特数量是否小于每时频块的比特限制的检查。
[0149]
如图7中步骤710所示,如果检查确定最大比特数量大于限制,则在针对该子带所分配的比特数量内对每个时频块的仰角和方位角值进行联合编码。
[0150]
如果检查确定最大比特数量小于或等于限制,则针对当前子带的子帧确定距离d1和d2。
[0151]
进而,如图7中步骤707所示,检查是否d2《d1。
[0152]
如图7中步骤710所示,如果距离d2》=d1,则在针对该子带所分配的比特数量内对每个时频块的仰角和方位角值进行联合编码。
[0153]
如图7中步骤709所示,如果距离d2《d1,则平均仰角值用1或2比特进行编码(1个比特用于值0度,2个比特用于 /-36度),并且针对每个所考虑的tf图块使用灵活边界嵌入式码本来对方位角值进行编码。
[0154]
进而,如图7中步骤711所示,可以输出经子带编码的值。
[0155]
能量比率/方向编码操作的示例伪代码形式可以如下:
[0156][0157][0158]
关于图8示出了用于方位角的嵌入式码本的示例。该示例示出了1比特码本(索引0
和1)覆盖前801和后803方向。2比特码本进一步添加了左右方向(索引2和3)。3比特码本还针对前后方向添加了中左和中右(索引4、5、6、7)。
[0159]
基于嵌入式码本来选择哪个码本以对方位角值进行编码可以由图9中所示的方法示例示出。
[0160]
如图9中步骤901所示,第一操作是使用b比特码本来对方位角φi进行量化
[0161]
下一操作是确定用熵编码器(例如,零阶golomb rice编码器)对索引进行编码所需的比特数量(nbits)。进而,如图9中步骤903所示,相对于所允许的比特数量(allowed_bits)检查该比特数量(nbits)。
[0162]
如图9中步骤904所示,如果nbits《=allowed_bits,则使用索引来执行熵编码。
[0163]
如图9中步骤905所示,如果nbits》allowed_bits,则针对每个经量化的值(考虑经量化的仰角值)计算角度量化失真。
[0164]
进而,如图9中步骤907所示,按照时频图块的角度量化失真的升序对这些时频图块进行排序。
[0165]
进而,如图9中步骤909所示,开始按照时频图块的角度量化失真的升序针对每个时频图块的循环。
[0166]
该循环确定如果经量化的方位角只属于b比特码本而不属于b-1比特码本,则在b-1比特码本中对其进行重新量化,然后重新计算用熵编码器(例如,golomb rice编码器)对(经重新量化的)索引进行编码所需的比特数量。
[0167]
进而,如图9中步骤913所示,进行检查以确定该比特数量(nbits)是否小于或等于所允许的比特。
[0168]
如图9中步骤904所示,如果检查确定该比特数量(nbits)小于或等于所允许的比特,则使用索引来执行熵编码。
[0169]
如图9中步骤915中所示,如果检查确定该比特数量(nbits)大于所允许的比特,则检查该循环。
[0170]
如果还有更多的tf图块要被测试,则该循环返回到下一个增加的角度量化失真值。
[0171]
如图9中步骤917所示,如果没有更多的tf图块要被处理,则进行进一步的检查以确定该比特数量(nbits)是否小于或等于所允许的比特。
[0172]
如图9中步骤904所示,如果检查确定该比特数量(nbits)小于或等于所允许的比特,则使用索引来执行熵编码。
[0173]
如图9中步骤919所示,如果检查确定该比特数量(nbits)大于所允许的比特,则降低码本级别,设置b=b-1,并针对新的经量化的值中的每个经量化的值估计角度量化失真。
[0174]
这可以通过伪代码而被概括为:
[0175][0176]
示例的c代码实现可以是:
[0177]
[0178]
[0179]
[0180]
[0181]
[0182]
[0183][0184]
关于解码器,元数据解码器可以被配置为确定是否信令传送平均仰角,进而在1或2比特上读取该平均仰角,“0”表示值0,“10”表示值 36,“11”表示值-36。也可以使用其他值来代替36度。此外,在一些实施例中,可以使用多于一个的比特来对平均仰角进行编码,并因此可以在5个值(0、 /- theta_1、 /-\theta_2)之间进行选择,然后用0阶golomb rice解码器来读取方位角的索引,并且不再需要信令传送它们属于哪个码本。
[0185]
因此,如本文所讨论的实施例使得能够显著地减少用于方向编码的表rom,此外由于在角度失真空间中完成优化并且每个分量都被单独地检查的事实而实现降低所产生的角度量化失真的30%。
[0186]
关于图10,示出了可用作分析或合成设备的示例电子设备。该设备可以是任何合适的电子设备或装置。例如,在一些实施例中,设备1400是移动设备、用户设备、平板计算
机、计算机、音频播放装置等。
[0187]
在一些实施例中,设备1400包括至少一个处理器或中央处理单元1407。处理器1407可以被配置为执行诸如本文所描述的方法的各种程序代码。
[0188]
在一些实施例中,设备1400包括存储器1411。在一些实施例中,至少一个处理器1407被耦接到存储器1411。存储器1411可以是任何合适的存储部件。在一些实施例中,存储器1411包括用于存储可在处理器1407上实现的程序代码的程序代码部分。此外,在一些实施例中,存储器1411还可以包括用于存储数据(例如,根据本文所描述的实施例的已被处理或将要处理的数据)的存储数据部分。无论何时只要需要,处理器1407就可以经由存储器-处理器耦接来获取存储在程序代码部分中的实现程序代码和存储在存储数据部分中的数据。
[0189]
在一些实施例中,设备1400包括用户接口1405。在一些实施例中,用户接口1405可以被耦接到处理器1407。在一些实施例中,处理器1407可以控制用户接口1405的操作并从用户接口1405接收输入。在一些实施例中,用户接口1405可以使得用户能够例如经由键盘将命令输入到设备1400。在一些实施例中,用户接口1405可以使得用户能够从设备1400获得信息。例如,用户接口1405可以包括被配置为将信息从设备1400显示给用户的显示器。在一些实施例中,用户接口1405可以包括触摸屏或触摸界面,其能够使得信息被输入到设备1400并且还向设备1400的用户显示信息。在一些实施例中,用户接口1405可以是用于与如本文所描述的位置确定器通信的用户接口。
[0190]
在一些实施例中,设备1400包括输入/输出端口1409。在一些实施例中,输入/输出端口1409包括收发机。在这种实施例中,收发机可以被耦接到处理器1407并且被配置为使得能够例如经由无线通信网络与其他装置或电子设备进行通信。在一些实施例中,收发机或任何合适的收发机或发射机和/或接收机装置可以被配置为经由有线或有线耦接与其他电子设备或装置通信。
[0191]
收发机可以通过任何合适的已知通信协议与其他装置通信。例如,在一些实施例中,收发机可以使用合适的通用移动电信系统(umts)协议、诸如例如ieee 802.x的无线局域网(wlan)协议、诸如蓝牙的合适的短距离射频通信协议、或者红外数据通信路径(irda)。
[0192]
收发机输入/输出端口1409可以被配置为接收信号,并且在一些实施例中通过使用执行合适的代码的处理器1407来确定如本文所描述的参数。
[0193]
通常,本发明的各种实施例可以采用硬件或专用电路、软件、逻辑或其任何组合来实现。例如,一些方面可以采用硬件来实现,而其他方面可以采用可由控制器、微处理器或其他计算设备执行的固件或软件来实现,但是本发明不限于此。尽管本发明的各个方面可以被图示和描述为框图、流程图或使用一些其他图形表示,但是众所周知地,本文所描述的这些框、装置、系统、技术或方法可以作为非限制示例采用硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备或其某种组合来实现。
[0194]
本发明的实施例可以通过可由移动设备的数据处理器(诸如在处理器实体中)执行的计算机软件来实现,或者由硬件、或者由软件和硬件的组合来执行。此外,就此而言,应当注意,如附图中的逻辑流程的任何块可以表示程序步骤、或者互连的逻辑电路、块和功能、或者程序步骤和逻辑电路、块和功能的组合。该软件可以被存储在诸如存储器芯片或在处理器内实现的存储器块之类的物理介质上,诸如硬盘或软盘之类的磁性介质上、以及诸
如dvd及其数据变体cd之类的光学介质上。
[0195]
存储器可以是适合于本地技术环境的任何类型,并且可以使用任何适当的数据存储技术来实现,诸如基于半导体的存储器设备、磁存储器设备和系统、光学存储器设备和系统、固定存储器和可移除存储器。数据处理器可以是适合于本地技术环境的任何类型,并且作为非限制性示例,可以包括通用计算机、专用计算机、微处理器、数字信号处理器(dsp)、专用集成电路(asic)、基于多核处理器架构的门级电路和处理器中的一个或多个。
[0196]
可以在诸如集成电路模块之类的各种组件中实践本发明的实施例。集成电路的设计总体上是高度自动化的过程。复杂而功能强大的软件工具可用于将逻辑级设计转换为准备在半导体衬底上蚀刻和形成的半导体电路设计。
[0197]
程序,诸如由加利福尼亚州山景城的synopsys公司和加利福尼亚州圣何塞的cadence design所提供的程序,可以使用完善的设计规则以及预先存储的设计模块库来自动对导体进行布线并将组件定位在半导体芯片上。一旦完成了半导体电路的设计,就可以将标准化电子格式(例如,opus、gdsii等)的所得设计传送到半导体制造设施或“fab”进行制造。
[0198]
前面的描述已经通过示例性和非限制性示例提供了本发明的示例性实施例的完整和有益的描述。然而,当结合附图和所附权利要求书阅读时,鉴于以上描述,各种修改和改编对于相关领域的技术人员而言将变得显而易见。然而,本发明的教导的所有这些和类似的修改仍将落入所附权利要求书所限定的本发明的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献