掌桥专利:专业的专利平台
掌桥专利
首页

声学环境的编码和解码

文献发布时间:2024-04-18 19:59:31


声学环境的编码和解码

技术领域

公开了用于对声学环境进行编码和解码的装置和方法。

背景技术

三角形网格数据是虚拟声学环境的重要组成部分。网格由一系列顶点和一系列三角形面组成。每个顶点是3D空间中的点,由其X、Y和Z坐标定位,并且在顶点列表中具有关联的索引。每个三角形标识简单的表面,并且包含三个顶点索引和关联的声学材料。按照特定顺序列出三角形的顶点索引,其定义了简单表面的外部指向法线。

通用三角形网格数据存在许多交换和压缩格式。然而,它们通常旨在用于对视觉三角形网格数据(通常是对象和环境的视觉三角形网格数据)进行编码。相比之下,虚拟声学环境和对象的网格三角形数据具有若干个特定性质。例如,网格数据通常仅包含足够大小的声学相关表面。大量的对象表面位于少数平面上,或者具有分层结构。不包含声学材料的表面对于声学目的是不可见的,并且可以被丢弃。具有规则形状的对象使用以其外观重心为中心的相对坐标系也可以产生坐标对称。所有这些附加性质可以用于更高效且同时具有低复杂性的定制编码方案。

发明内容

根据示例,提供了一种用于对声学环境进行解码的装置,该声学环境包括至少一个音频源和至少一个音频对象,该至少一个音频对象由结构声学数据表示,该结构声学数据将多边形的位置数据与声学材料的声学性质链接,其中,对于每个多边形,该位置数据包括顶点的位置,该装置包括:

比特流读取器,用于从比特流读取由声学环境中的至少一个音频源生成的要被渲染的至少一个音频流和结构声学数据的编码版本;

音频源解码块,用于对表示至少一个音频源的至少一个音频流进行解码;以及

结构声学数据解码块,用于对结构声学数据进行解码。

还提供了一种用于对声学环境进行编码的装置,该声学环境包括至少一个音频源和至少一个音频对象,该至少一个音频对象由至少一个结构声学数据表示,该至少一个结构声学数据将多边形的位置数据与声学材料的声学性质链接,其中,对于每个多边形,该结构声学数据包括顶点的位置,该装置包括:

音频源编码块,被配置为对要被渲染的至少一个音频流进行编码,该至少一个音频流与至少一个音频源相关联;

结构声学数据编码块,被配置为对至少一个结构声学数据进行编码以获得至少一个结构声学数据的编码版本;

比特流写入器,被配置用于将该至少一个音频流和至少一个结构声学数据的编码版本写入比特流中。

还提供了一种用于对声学环境进行编码的方法,该声学环境包括至少一个音频源和至少一个音频对象,该至少一个音频对象由至少一个结构声学数据表示,该至少一个结构声学数据将多边形的位置数据链接到材料的结构声学性质上,其中,对于每个多边形,该位置数据包括一个主多边形顶点的位置和其余多边形顶点的位置,该方法包括:

对与至少一个音频源相关联的要被渲染的至少一个音频流进行编码;

对至少一个结构声学数据进行编码以获得至少一个结构声学数据的编码版本;以及

将至少一个音频流和至少一个结构声学数据的编码版本写入比特流中。

还提供了一种对音频信息进行编码的比特流,其中,对声学环境进行了编码,该声学环境包括至少一个音频源和至少一个音频对象,该至少一个音频对象由至少一个结构声学数据列表表示,该至少一个结构声学数据列表将多边形的位置数据映射到声学材料上,其中,对于每个多边形,该位置数据包括一个顶点的位置,该比特流包括:

要被渲染的至少一个音频流;

至少一个结构声学数据的编码版本。

还提供了一种存储指令的非瞬态存储单元,该指令当由处理器执行时,使处理器:

控制声学环境的解码操作,该声学环境包括至少一个音频源和至少一个音频对象,该至少一个音频对象由结构声学数据列表表示,该结构声学数据列表将多边形的位置数据链接到材料的结构声学性质上,其中,对于每个多边形,该位置数据包括一个主结构声学顶点的位置和其余结构声学顶点的位置;

控制从比特流读取由声学环境中的至少一个音频源生成的要被渲染的至少一个音频流和结构声学数据的编码版本;

控制至少一个音频流的解码;以及

对结构声学数据进行解码。

还提供了一种存储指令的非瞬态存储单元,该指令当由处理器执行时,使处理器:

控制对声学环境进行编码操作的方法,该声学环境包括至少一个音频源和至少一个音频对象,该至少一个音频对象由至少一个结构声学数据表示,该至少一个结构声学数据将多边形的位置数据链接到材料的结构声学性质上,其中,对于每个多边形,该位置数据包括一个主多边形顶点的位置和其余多边形顶点的位置;

控制对与至少一个音频源相关联的要被渲染的至少一个音频流进行编码;

控制对至少一个结构声学数据进行编码以获得至少一个结构声学数据的编码版本;以及

控制将至少一个音频流和至少一个结构声学数据的编码版本写入比特流中。

附图说明

图1示出了要编码/解码的多边形(三角形)的示例。

图2示出了用于对声学环境进行编码的装置的示例。

图3示出了用于对声学环境进行解码的装置的示例。

图4示出了对顶点列表进行编码或解码的操作的示例。

图5示出了边界框的示例。

图6a和图6b分别示出了编码器和解码器处的用于对三角形列表进行编码的操作的示例。

图7示出了可以在本示例中使用的数据结构的示例。

图8示出了可以作为图2的编码器的一部分的结构声学数据编码块的示例。

图9示出了可以作为图3的解码器的一部分的结构声学数据解码块的示例。

图10a至图10h示出了编码器处的操作序列。

具体实施方式

编码器

图2示出了编码器200,其可以被理解为用于对声学环境202进行编码的装置。声学环境可以被理解为表示要在比特流204中编码的特定声学环境中的音频信号211的方式。声学环境可以根据空间坐标来表示。声学环境可以根据空间坐标系(例如,图1中的x、y、z)来表示。声学环境可以包括虚拟地位于环境的一些部分中的至少一个音频源。该环境可以被理解为要在尽可能高的保真度下进行渲染的虚拟环境。编码器200可以包括结构声学数据编码块220,其可以将多边形的位置数据与声学材料所关联的性质链接。多边形可以是三角形。每个多边形(或者更具体地是三角形)可以被表示为顶点的三元组。因此,多边形数据编码块222的输出原则上可以由结构声学数据和对材料进行编码的值的三元组来表示。因此,多边形可以是大量材料元素的表面,其对由音频源在音频源所指示的位置处虚拟生成的音频信号的行为具有影响。编码器200可以包括用于写入比特流204的比特流写入器230。因此,表示由音频源虚拟生成的音频信号的音频源及其在环境212中的位置以及表示该环境中的各种材料的结构声学数据222可以编码在比特流204中。

一般而言,编码器200可以被视为一种用于对声学环境进行编码的装置,该声学环境包括至少一个音频源和至少一个音频对象,该至少一个音频对象由至少一个结构声学数据列表表示,该至少一个结构声学数据列表将多边形的位置数据与声学材料的声学性质链接。对于每个多边形,位置数据可以包括一个主多边形顶点(110ax、110ay、110az)的位置和其余多边形顶点(110b、110c、120b)的位置。该装置可以包括:

音频源编码块210,被配置为对要被渲染的至少一个音频流进行编码;

结构声学数据编码块220,被配置为对至少一个结构声学数据(221)的版本(222)进行编码;以及

比特流写入器230,被配置为将至少一个音频流212和位置数据(包括结构声学数据的编码版本)写入比特流204中。

此外,音频流212通常与音频源位置数据相关联,使得由音频流212表示的音频源211可以对应于虚拟生成它们的声学环境中的确定位置。一般而言,至少一个音频源(其与在声学环境中虚拟生成该音频源的位置相关联地被编码在比特流204中)还和提供其在声学环境中的虚拟位置的辅助信息一起进行编码。因此,空间数据也可以作为至少一个音频流212的辅助信息被编码,其指示至少一个音频源和声学环境之间的位置关系。一旦被解码,将通过考虑音频源和至少一个音频对象之间的空间关系来对音频源进行渲染。

解码器

图3示出了解码器300,其用于对在比特流304中编码的声学环境进行渲染。因此,音频信号301可以由解码器300来生成。尽管如此,所要求保护的解码器300可以具有作为输出的声学环境302,该声学环境302可能是由渲染器350表示的原始声学环境202的最佳表示。解码器300可以包括可读取比特流204的比特流读取器330。因此,比特流读取器可以提供由音频源编码块210编码(如212)的至少一个音频源的编码版本312。比特流读取器330还可以提供由结构声学数据编码块220编码的结构声学数据222的编码版本322。音频源解码块310可以提供原始音频源211的解码版本311。结构声学数据解码块320可以提供原始结构声学数据221的解码版本321。原始音频源211的解码版本311和原始结构声学数据221的解码版本321因此可以共同被视为环境202的解码版本302。

渲染器350将接收解码的环境302(包括其分量311和321),以对音频信号301进行渲染以尽可能地接近原始音频信号202。具体地,渲染器350可以通过如下方式来表示至少一个音频源:考虑其在声学环境中的位置(例如,虚拟位置)以及声音由于至少一个音频对象的存在而(虚拟地或现实地)受到的调节。

一般而言,音频源(其与在声学环境中虚拟生成该音频源的位置相关联地被编码在比特流204中)还与提供其在声学环境中的虚拟位置的辅助信息一起进行编码。因此,渲染器350可以表示在至少一个音频对象的存在(例如虚拟存在)的影响下在特定位置(例如,由音频源的位置数据指示)处虚拟地生成的声音。

解码器300可以是用于对声学环境302进行解码的装置,该声学环境302包括至少一个音频源和至少一个音频对象,该至少一个音频对象由结构声学数据列表表示,该结构声学数据列表将多边形的位置数据与声学材料的声学性质链接。对于每个多边形,位置数据可以包括一个主结构声学顶点的位置和其余结构声学顶点的位置。该装置可以包括以下中的至少一个:

比特流读取器330,被配置为从比特流204读取由声学环境302中的至少一个音频源生成的要被渲染的至少一个音频流212和结构声学数据211的编码版本(322、222);

音频源解码块310,用于对至少一个音频流(312、212)进行解码;

结构声学数据解码块320,用于对结构声学数据211进行解码。

结构声学数据

如图1所示,结构声学数据可以与多边形(或者在该示例中更具体地为三角形)相关联。多边形可以是网格的多边形。这里,示出了三个三角形110、120和130。第一三角形具有主顶点110a和两个其余顶点110b和110c。第二三角形120具有与第一三角形110的主顶点110a重合的主顶点(因此用相同的附图标记来指示)以及两个另外的其余顶点120b(与第一三角形110的另一顶点不重合)和110c(与第一三角形110的另一顶点重合)。第三三角形130具有主顶点130a和两个其余顶点130b和130c。在这种情况下,主顶点130a的y坐标恰好与第一三角形和第二三角形的顶点110的y坐标相同。

图7示出了可以如何理解结构声学数据的示例。可以看出,示出了具有三角形110a、110c和120b的顶点110a、110b、110c的三角形110和120(这里未示出三角形130)。可以看出,第一顶点列表(804、3804、400)包含每个记录中的顶点(例如,110a、110b、110c、120b等),结合其坐标(x坐标、y坐标、z坐标)。因此,说明了顶点列表中的每个顶点索引403与每个顶点的坐标之间的链接(坐标符号通过添加“x”、“y”或“z”来表示)。因此,顶点列表(804、3804、400)将顶点索引403与标识顶点位置的空间坐标的三元组(或n元组,根据维度)进行关联。在一些情况下,一些顶点可能由于是不同三角形的重合顶点而被重复(例如,顶点110a和11c被重复,因为它们重合但在不同的三角形中)。

图7还示出了三角形列表(802、3802),其将每个三角形与该三角形(或更一般地,多边形)的顶点索引403链接。例如,与三角形110相关联,我们看到存在顶点索引0(与顶点110a的坐标相关联)、顶点索引1(与顶点110b相关联)和顶点索引2(与顶点110c相关联)。在三角形列表(802、3802)中,三角形120与顶点索引3(与顶点110a相关联)、顶点索引4(与三角形顶点110c相关联)和顶点索引5(与三角形顶点120b相关联)相关联。可以看出,在三角形列表(802、3802)中,除了三角形的标识和映射到顶点列表的顶点(并且随后映射到顶点的位置)的顶点数据之外,还存在例如与材料的声学性质相关联的存储的声学特征(806、3806)。

基本上,图7示出了(要编码的)结构声学数据221的示例,该结构声学数据221将三角形(110、120、130)和其位置数据(例如,顶点的坐标)与材料的声学性质链接。将示出:可以压缩这些结构声学数据,并且将它们写入比特流204中。

图4示出了结构声学数据列表400的示例(其可以是顶点列表400(802、3802)的示例),该结构声学数据列表400在不同的记录中列出了与三角形110、120中的每一个的主顶点和其余顶点的位置数据相关联的材料。这里,结构声学数据列表400被示出为划分为x坐标(对于x维度)、y坐标(对于y维度)和z坐标(对于z维度)中分割。例如,在x坐标中,对于第一三角形110,结构声学数据列表400已经在其中存储:

主顶点110a的x坐标110ax;以及

其余顶点110b和110c的x坐标分别为110bx和110cx。

类似地,在结构声学数据列表400的y坐标的对应记录中(图4中未示出),主顶点的对应列包括主顶点110a的y坐标110ay,而其余顶点的对应列已经分别插入了其余顶点110b和110c的y坐标110by和110cy。这同样适用于z维度:在结构声学数据列表400的z坐标的对应记录中(图4中未示出),主顶点的对应列包括主顶点110a的z坐标110az,而其余顶点的对应列110b和110c已经分别插入了y坐标110by和110cy。

在结构声学数据列表400的第二记录(从上数第二水平行)中,存储了第二三角形120的坐标。可以看出,主顶点110ax(而且还有110ay、110az)的坐标被重复(例如,第二三角形120的主顶点110a的x坐标110ax重复了为表示第一三角形的主顶点存储的相同值,尽管这些值是相同的)。这同样适用于顶点110c,其坐标110cx、110cy、110cz对于第一三角形110和第二三角形120是相同的。

音频源编码/解码

音频源编码块210和音频源解码块210分别是编码器200和解码器300的重要元件。要编码和解码的声源可以由至少一个音频流212、312来表示。尽管如此,事实并非如此。至少一个声源可以与定位该至少一个声源在声学环境中的位置(例如,虚拟位置)的位置数据(例如,元数据)相关联。因此,可以基于至少一个音频对象的位置数据、材料(设想为对象的材料)的声学性质、以及至少一个音频源的位置数据之间的结构声学关系来对声音(音频信号)301进行渲染(例如,由渲染器350进行)。该操作可以由解码器(其可以是外部设备)处的渲染器350执行。

例如,通过考虑至少一个对象(并且具体是顶点和三角形)的位置数据和材料的结构性质,至少一个音频源可以具有包括坐标的位置数据,该坐标允许在声学环境中定位该至少一个音频源。因此,至少一个音频源将被定位在声学环境中的特定位置处,并且听者将体验到该声音仿佛来自该位置并且受到材料性质的影响。

因此,当涉及声学环境时,不仅涉及空间环境,而且还涉及在被渲染之前要被编码/解码的完整音频场景。声学环境不仅具有其自己的空间特性(例如,压缩或未压缩的位置数据,诸如顶点列表和三角形列表),而且还具有构成该环境中的对象的材料的性质,并且还具有声音,该声音可以虚拟地在位于该空间环境中的特定位置处的音频源处生成,并且虚拟地受到在空间环境中遇到的结构声学数据(位置数据和声学材料的性质)的调节。

结构声学数据编码块

图8示出了编码器200的结构声学数据编码块220的示例。可以看出,结构声学数据编码块220的输入包括结构声学数据221。结构声学数据221可以包括例如三角形列表802、顶点列表804和声学特征806。声学特征806可以是三角形列表802的一部分,但这里为了清楚起见,以不同方式示出声学特征806。

结构声学数据编码块220可以包括顶点列表编码器800,其可以对顶点列表804进行编码以获得编码的顶点列表808。稍后将说明如何可以生成编码器顶点列表808。

结构声学数据编码块220可以包括三角形列表编码器850。三角形列表编码器可以由包括声学特征806的三角形列表802来输入,并且在以编码版本提供编码顶点列表的情况下由编码顶点列表808来输入,或者作为替代,由非编码版本下的顶点列表804来输入。因此,在一些情况下,不必将输入804和808两者都提供给三角形列表编码器850。三角形列表编码器850可以提供其中压缩了三角形列表802的编码三角形列表852。尽管主要通过使用词语“三角形”来讨论图8,但通过使用不同的多边形也可以获得相同的结果。

结构声学数据编码块

图9示出了解码器300的结构声学数据解码块320的示例。从比特流204获得结构声学数据322的编码版本(其是由编码器200编码的结构声学数据的编码版本222)。比特流读取器330可以提供三角形列表的编码版本3852(其是由三角形列表编码器850编码的编码器三角形列表852的副本)和顶点列表的编码版本3808(其是由顶点列表编码器800编码的编码顶点列表808的副本)。三角形列表解码器3850可以由编码器三角形列表3852来输入。顶点列表解码器3800可以由编码的顶点列表3808来输入,以提供解码的顶点列表3804。三角形列表解码器3850可以输出解码的三角形列表3802。三角形列表解码器3850可以由编码顶点列表3808或由顶点列表解码器3800输出的顶点列表3804输入。因此,结构声学数据321可以包括三角形列表3802(包括声学特征3806)和顶点列表3804。三角形列表3802可以针对每个三角形指示从顶点列表804和3804获取的顶点索引。尽管主要通过使用词语“三角形”来讨论图9,但通过使用不同的多边形也可以获得相同的结果。

顶点索引编码和解码

理论上可以简单地对比特流204中的每个顶点的所有坐标进行编码。例如,对于主顶点,可以对其所有x、y、z坐标(110ax、110ay、110az)进行编码;对于第一三角形110的其余顶点110b和110c也是如此,并且对于第二三角形120也重复所有字段(即,表示主顶点110a和其余顶点120bx和120cx的所有x、y、z坐标)。然而,已经理解,这样将导致数据字段的重复。例如,主顶点110a(其对于三角形110和120两者是公共的)的坐标被重复的事实增加了比特流204的长度并降低了效率。

因此,优选地采用一种技术,根据该技术,对于至少一个维度(x、y、z)(并且在一些示例中,对于声学环境的每个维度),可以针对第一三角形(例如110)仅写入坐标一次,并且通过在对后续三角形(例如,120)的至少一个坐标进行编码时参考至少一个先前编码的坐标。在图1的示例中,因此可以有利地将这种技术应用于第二三角形120的主顶点110a的坐标x、y、z中的每一个以及第二三角形120的顶点110c的坐标x、y、z中的每一个(这对于顶点120b的坐标是不可能的,并且它们的值应被插入比特流204)。该技术可以意味着例如通过短代码来参考先前编码的顶点坐标。将示出:可以将已经编码的坐标存储在有序候选列表450中(具有针对不同维度的实例450x、450y、450z),并且可以简单地通过对有序值(例如,索引)进行编码来寻址它们,该有序值是候选列表450中与先前编码的坐标相关联的有序值。

上面的示例也可以适用于每个顶点的单个坐标。例如,如果一组顶点具有相同的x坐标、z坐标或y坐标,则可以通过参考前一顶点来对它们进行编码(值得注意的是,编码器可以决定以封闭的连续方式对它们进行解码,使得所存储的坐标在更新之前保持在候选列表中)。例如,可以仅针对被编码的第一顶点将坐标(无论x、y或z)写入比特流204中,同时可以通过简单地参考先前的编码坐标来对后续顶点进行编码。例如,顶点110a(在三角形110和120中)和顶点130a的y坐标110ay和130ay分别是相同的(参见图1);因此,优选地将坐标值110ay写入比特流204中(并且之前将将坐标值110ay写入编码的顶点列表808中),且随后通过对作为有序候选列表450中的有序值的值进行编码来参考该坐标值110ay。由于编码器和解码器以相同的方式(以复制方式)更新候选列表,因此它们共享有序候选列表450(及其实例450x、450y、450z)中的值的知识。更一般地,已经理解,有序候选列表450中,先前编码的顶点的坐标与有序值455(由455x、455y、455z实例化)相关联地存储。

图4示出了针对x坐标的第一候选列表实例450x、针对y坐标的第二候选列表450y以及针对z坐标的第三候选列表450z。可以看出,在候选列表实例450x中,第一值(与有序值0相关联)被存储为110ax,因为它是第一三角形110的首次处理的顶点的x坐标110ax。在第二有序值1中,存储了值110bx,其是指三角形110的顶点110b的x坐标110bx。在第三有序值2(第三索引)处,存储了从第一三角形110的顶点110c的x坐标110cx获得的值110cx。在第四有序值3(第四索引)中,写入了第二三角形120的顶点120b的x坐标120bx。对于分别针对y坐标的候选列表450y和针对z坐标的候选列表450z,这将类似地发生(针对每个候选列表(即,针对每个维度)存在有序值)。应当注意,在比特流204(或结构声学数据422的编码版本)的编码期间动态补充(存储)有序列表450。在示例中,只要生成结构声学数据221的编码版本222,该有序的候选列表450就得到补充。例如,当将x坐标110ax写入结构声学数据221的编码版本222(并且具体是编码顶点列表808)中时,针对x坐标的候选列表实例450x中仍然不存在值110bx、110cx、120bx。因此,动态更新有序候选列表450(及其实例450x、450y、450z),同时生成结构声学数据221的编码版本222(并且更具体地,生成编码顶点列表808)。

图4还示出了顶点130a的编码。由于顶点110a和130a的y坐标相同(但x坐标和z坐标不同),因此顶点的y坐标在针对y坐标的候选列表实例450y中不被重复(并且实际上,与候选列表实例450x和450z相比,候选列表实例450y中存储的坐标较少)。并且,尽管事实上相同的坐标值110ay在顶点110a和130a两者的y坐标中被重复!此外,当对结构声学数据221的版本222进行编码时(或更一般地,当对顶点列表400、804的编码版本808进行编码时),将有可能基本参考候选列表实例450y的索引0,其通常具有与较长代码相比较短的位长。

图4示出了要写入比特流204中的结构声学数据221的编码版本222(并且具体是编码顶点列表的编码版本808、3808)的示例。每个顶点的每次编码包括针对每个顶点的掩码160,通知坐标值是被实际编码还是仅它们通过候选列表(450x、450y、450z)中存储的有序值(450)的参考被编码。在这种情况下,掩码160被表示为三个二进制值160x、160y、160z,每个二进制值指示在以下各项之间进行选择的二进制信息:

顶点坐标的编码;以及

来自有序候选列表的有序值(索引)的编码。

当对第一三角形110的主顶点110a进行编码时,实际上之前没有其他顶点存储在候选列表450中:这意味着候选列表450是空的,因此不可能参考任何先前编码的坐标的位置455。因此,掩码160的所有二进制值160x、160y、160z都是0(这里想象:0意味着坐标将编码在结构声学数据221的编码版本222中,而二进制值1意味着仅对纵坐标列表450的有序值进行编码,但二进制值在不同的示例中可能具有相反的含义)。随后,对顶点索引403(或顶点的另一标识符)进行编码,并且在坐标值数据字段170c中,也对坐标值110ax、110ay、110az进行编码。重复相同的操作以对其余顶点110b、110c进行编码。

图4还示出了对顶点130a的编码。由于顶点110a和130a的y坐标相同(但x坐标和z坐标不同),因此不需要重复顶点130a的y坐标值的编码。可以看出,其值110ay已经存储在候选列表450的实例450y的第一位置处。为此,将有序值0插入结构声学数据221的编码版本222(或更具体地,插入编码顶点列表的编码版本808、3808,并且插入比特流)。可以看出,对于二进制值160x和160z,掩码160为0,但对于二进制值160y,掩码160为1。事实上,随后对有序值数据字段170v(携带有序值0,其是候选列表实例450y中的参考坐标110ay的有序值)进行编码而不是其长度的坐标值。如二进制值160x和160z所指示的,坐标值130ax和130az不是通过坐标值数据字段170c中的有序值来参考而是全部坐标值。

在示例中,顶点110a两次未被编码在结构声学数据221的编码版本222(或更具体是编码顶点列表的编码版本808、3808)中。简单地,对于三角形110和120两者而言,三角形列表将参考相同的顶点110a。

一般而言,对于每个顶点(主顶点或其余顶点)的每个坐标,结构声学数据编码块220(并且具体是顶点列表编码器800)对在以下各项之间选择的值进行编码:

-坐标的值;以及

-先前编码的坐标的有序值(455x、455y、455z)(并且因此先前编码在编码版本222中以写入比特流204中,或者更具体地,先前编码在编码顶点列表的编码版本808、3808中)。

基于先前编码的坐标是否在候选列表450中,可以在对值坐标进行编码与对有序值455(455x、455y、455z)进行编码之间做出选择。

当然,如果三角形的第二顶点与另一三角形共享相同的坐标轴(但不重合),则掩码160的字段160x、160y、160z中的二进制值可以不同(因为可能一个或两个坐标将被实际编码在结构声学数据221的编码版本122中),而至少一个二进制字段应为1(并且它应指示多边形数据221的编码版本222中的哪个有序值)。这是顶点130a的情况,顶点130a与顶点110a共享相同的y坐标。为此,对于每个顶点,可能具有可以写入多边形数据221的编码版本222中的一些坐标,而已经被完美写入(并且存储在有序候选列表450中)的坐标可以被简单地定义为有序值。

可以例如以如下方式来更新候选列表450:从候选列表450中排除不太频繁的坐标值(例如,借助于对更频繁的坐标值进行编码)。附加地或替代地,可以以如下方式更新候选列表450:使在比特流204中编码的最后坐标值接管先前编码的坐标值。这些技术可以相互结合:例如,可以在已经编码的坐标之间建立排名,该排名基于分配给每个已经编码的坐标的分数,该分数基于混合标准,该混合标准包含坐标编码的频率(通过增加最频繁坐标的分数)和坐标的新鲜度(通过增加最后坐标的分数),从而将候选列表450中的第一位置(与较小的位长相关联)授予那些具有较高分数的已编码坐标,并通过从候选列表450中排除那些具有较低分数的已编码坐标,直至排除那些具有最小分数的已编码坐标。

还可以对具有彼此以短连续方式共享相同坐标的顶点的不同多边形(例如,三角形)进行编码,以便增加候选列表450中已经存在坐标的概率。更一般地,可以以如下方式对结构声学数据221的编码进行排序:与具有不共享相同坐标的顶点的多边形(例如,三角形)相比,具有共享相同坐标的顶点的多边形(例如,三角形)以更接近的步长进行编码。在示例中,可以以如下方式来选择编码的排序:公共坐标越多,顶点的编码越接近。

借助于上面的技术,最常使用的那些索引(有序值)450的维度被极大地减小,这意味着结构声学数据221的编码版本222也被压缩并且比特流204的长度被减小。

应当注意,这里,在上文中,已经设想通过随后更新有序候选列表来动态地对有序候选列表450中的值进行编码。例如,在流式传输的情况下可以发生这种情况。

因此,结构声学数据编码块220可以针对声学环境(或边界框,参见下文)的至少一个维度(x、y、z)使用有序候选列表450,该有序候选列表中,先前编码的多边形顶点的坐标值根据顺序(索引,有序值450)来存储。在一个当前主多边形顶点或其余多边形顶点的坐标值与和候选列表中在所确定的有序值处存储的一个先前编码的主多边形顶点或其余多边形顶点的一个坐标值相同的情况下,结构声数据编码块220可以对候选列表450的有序值进行编码。在一个当前多边形的坐标值与存储在候选列表450中的一个先前编码的主多边形顶点或其余顶点的任何坐标值都不同的情况下,则将该坐标值编码在比特流204中。进而,编码器200的结构声学数据解码块320还可以针对至少相同维度使用有序候选列表,该有序候选列表中,先前解码的主多边形顶点或其余多边形顶点的坐标值根据顺序来存储。在比特流204已经在结构声学数据解码块320中对候选列表的特定有序值进行编码的情况下,结构声学数据解码块320可以将坐标值重建为与有序值相关联的值存储在候选列表450中。

基本上,解码器300处的候选列表450可以被理解为编码器200处的候选列表450的副本。

编码器200的结构声学数据编码块220可以针对至少一个维度(但优选地针对三个维度中的每一个)对二进制掩码值(160x、160y、160z)进行编码,二进制掩码值指示候选列表中的有序值还是坐标值被编码(在字段170c或170v中)。进而,解码器300的结构声学数据解码块320可以针对每个顶点估计二进制掩码值160(160x、160y、160z),二进制掩码值指示候选列表中的有序值还是坐标值被编码在比特流(204)。因此,结构声学数据解码块320可以确定每个坐标是被编码为坐标值还是索引(有序值)。

如上所述,如果两个顶点仅具有一个或两个相同的坐标(如顶点130a和110a),则将仅针对相同的坐标进行有序值(索引)而不是坐标值的编码/解码,而对于不同的一个或两个坐标,将独立地对坐标值进行编码/解码。

如上所述,候选列表450可以被分割为可以被独立处理的实例450x、450y、450z。在示例中,结构声学数据编码块220被配置为使得:

针对第一维度,在一个当前顶点的坐标值与和第一维度相关的候选列表实例中的在所确定的有序值中存储的一个先前编码的顶点的一个坐标值相同的情况下,对候选列表实例的有序值进行编码,并且

针对第二维度,在当前顶点的坐标值与存储在和第二维度相关的候选列表实例中的一个先前编码的顶点的任何坐标值都不同的情况下,对坐标值进行编码。

类似地,在解码器300处:

针对第一维度,在一个当前顶点的坐标值与所确定的序数值中的、与存储在与第一维度相关的候选列表实例中的一个先前解码的顶点的一个坐标值相同的情况下(并且这可以在比特流204中(例如,在掩码160的二进制值中的一个第一二进制值中)用信号通知),对候选列表实例的有序值进行解码,并且

针对第二维度,在当前顶点的坐标值与存储在与第二维度相关的候选列表实例中的一个先前解码的顶点的任何坐标值都不同的情况下(并且这也可以在比特流204中(例如,在掩码160的二进制值中的一个第二二进制值中)用信号通知),对坐标值进行解码。

三角形列表编码/解码

图6a示出了如何对编码三角形列表852进行编码。如所说明的,通过将来自顶点列表(压缩形式804、3804、400)的顶点的顶点索引与材料的声学特征链接来对每个三角形进行编码。对于每个三角形,可以对来自压缩形式(808)的顶点列表或者来自第二候选列表(这里也被称为向前移动(MTF)列表)中的索引的顶点的顶点索引进行编码。稍后将详细说明的第二候选列表(MTF列表)包含先前已经使用的顶点索引。如果顶点索引已经在第二候选列表中,则对其位置进行编码。否则,写入来自编码顶点列表808的顶点索引。与不同位置相关联的符号可以使它们的位长随着距第一位置的距离增加而增加。每当要写入顶点索引而不是第二候选列表中的位置时,可以对附加值(其可以比第二候选列表的任何其他值长)进行编码。图6a提供了示例。在步骤602处,获得要写入比特流204中的顶点。在步骤604处,估计顶点索引是否已经在第二候选列表(MTF列表)中。如果顶点索引不在第二候选列表(MTF列表)中,则将符号(例如,0b11111111)写入比特流中,并且随后还将从编码顶点列表808或从原始顶点804获取的顶点索引写入比特流中。在步骤612处,可以通过写入在比特流中(或者更一般地,在编码三角形列表852中)写入的顶点索引来更新第二候选列表。此外,可以通过适当地修改与顶点索引相关联的直方图来修改顶点索引的出现次数的统计。注意,步骤610和612的顺序可以被颠倒或倒置。如果在步骤604处,确定顶点索引已经在第二候选列表(MTF列表)中,则将其位置写入比特流(或者更一般地,编码列表852)中。此外,在这种情况下,在步骤608处,可以修改直方图和MTF列表。另外,步骤606和608的顺序可以被颠倒。随后,可以对新的顶点索引进行编码。应当注意,可以根据所谓的算术编码来对位置和顶点索引两者进行编码,这需要编码器和解码器两者都要知道每个顶点索引的概率的直方图。

图6b示出了三角形列表解码的示例。在步骤3602处,将对新的顶点索引进行解码。在步骤3604处,确定顶点索引是否已经在MTF列表中。这可以例如通过检查比特流中的符号来确定。在比特流具有指示顶点索引被完整写入(而不是其来自第二候选列表的位置)的符号的情况下,则调用步骤3610和3612。在步骤3610处,在三角形列表的解码版本中读取和写入顶点索引。在步骤3612处,更新直方图和MTF列表。在步骤3604处的估计提供顶点索引已经在第二候选列表(MFT列表)中的情况下,则调用步骤3606和3608。在步骤3606中,从第二候选列表中读取索引顶点的位置(通过第二候选列表的特定有序值处的点),并且从候选列表中读取它的值。在步骤3608处,修改MTF列表中的直方图。在步骤3608和3612中,当修改直方图时,意味着具有该特定顶点索引的概率增加。当提到MTF列表被修改时,意味着顶点索引被插入到第一位置(第二候选列表中的位置最低的位置)处。步骤3606和3608可以彼此颠倒。步骤3610和3612可以彼此颠倒。

基本上,编码器和解码器两者都包括第二候选列表(MTF列表),并且解码器的第二候选列表被理解为编码器的第二候选列表的副本。基本上,除了在一种情况下编码三角形列表852被编码而在另一种情况下被解码这一事实之外,这些操作是相同的。

图10a至图10g示出了三角形列表编码器850处的操作的示例(它们可以容易地适应于三角形列表解码器3850处的操作)。仅为了清楚起见才参考编码器,但可以针对解码器报告相同的示例。在图10a中,示出了初始化的步骤0,其中第二候选列表(MTF列表)1450没有值。在图10b(步骤1)中,将对第一顶点索引0和10进行编码。它们都是第二候选列表1450,并且更新直方图1460。具体地,第二候选列表1450在其第一位置具有要被编码的值0和5。直方图关联于值0和6中的每一个值的出现次数1。出现次数应被理解为与概率相关联。在图10c中,对顶点5进行编码。更新第二候选列表1450和直方图1460。在第二候选列表1450中可以看出,值5占据第一位置,而值0和10被移向第二候选列表中的不太重要的位置。在图10d中,对另一顶点7进行编码。另一顶点7被放置在第二候选列表1450中,并且更新了直方图1460。在图10e中,将再次写入顶点5。因此,在三角形列表的编码版本852中(并且随后在比特流204中),对值5的位置1470(用0b10指示)进行编码(可以看出,值5在第二位置处)。此时,顶点5也占据第二候选列表(MTF列表)1450中的第一位置。应当注意,由于如图6a的步骤606中那样用符号1470写入了位置,因此图10e实质上示出了图6a所示的方法的步骤606。应当注意,所占据的位置是在更新第二候选列表1450之前的第二位置(步骤608,如图10a所示)。图10f简单地示出了对其他代码进行编码。图10g示出了一个示例,其中顶点8应被编码,但8不在候选列表1450中(候选列表已满)。这是图6a的步骤610的示例。在这种情况下,代码0b11111111(或指示相同情况的另一代码)被编码以指示代码不在第二候选列表1450中。可以看出,通过将值8放在第一位置处并且通过排除(弹出)列表中的最后值来更新第二候选列表1450。

图10h示出了与位置相关联的代码的示例。可以看出,第一位置与作为最短代码的0b0相关联,而最终代码0b11111111指示不对该位置进行编码,但将对顶点索引的值进行编码。这同样适用于解码器,但在这种情况下,读取编码值并且应理解是否从第二候选列表(MTF列表)1450中搜索特定顶点索引或者是否对顶点索引进行编码。

在任何情况下,可以使用算术编码,其中较短的代码被分配给要编码的更多重复索引值。

边界框

通过将空间坐标系从原始空间坐标系智能地改变为具有有利特点的坐标系,可以减小要在编码版本222和/或比特流204中编码的数据长度。

例如,可以改变坐标系以使原点更接近多边形顶点,从而减小距原点的距离(以及坐标的长度)。例如,可以选择减小要编码到边界框的体积,特别是在不排除顶点的情况下。具体地,边界框可以包含在声学环境中,并且要在比特流204和/或版本222中编码的结构声学数据是参考由边界框的一个确定的顶点定义的空间坐标系来编码的。

图5提供了边界框500的示例。边界框可以是平行六面体体积(或者更一般地,多面体体积),但一般而言可以被例示为棱柱体积(特别是具有矩形基础)并且在一些情况下,它可以是立方体。图5示出了边界框500,并且仅示出边界框500中包含的多边形510。多边形510(三角形)具有主顶点510a以及两个其余顶点510b和510c。多边形510包含在边界框500(一般而言,以包含所有多边形的方式选择边界框500)中。在图5中,仅为了简单起见,未示出任何其他三角形。可以例如通过写入其位置特征和/或取向特征来用信号通知边界框500。例如,可以对确定的顶点502(例如,更接近坐标系的原始原点的顶点)的位置进行编码。在一些情况下,边界框500的其他顶点和/或边界框500的取向信息可以编码在比特流中。明确地用信号通知边界框500的形状和取向,使得解码器可以重建顶点510a、510b、510c相对于边界框并且进而相对于原始轴的原点的位置。边界框500还可以通过平移、旋转或更一般地旋转-平移来构成新的空间坐标系。在图5的简单情况下,沿维度y和z的坐标在旧坐标系和新坐标系之间保持相同,但x由于原点移动到对应于边界框500的顶点502而被移动了“bounding_box_min”量。这在顶点502与原始空间坐标系的原点O之间的间隙中不存在顶点的情况下是有利的。因此,当多边形510的顶点510a、510b和510c的坐标被编码(在版本222中和/或比特流204中)时,减小了x方向上的坐标的位长。因此,可以以如下方式定义边界框500:它包含要编码的所有顶点,但减小了坐标系的原始原点与坐标系的新原点(其在这种情况下对应于边界框500的顶点502)之间的空间。基本上,以如下方式实现了坐标系的改变:减小要编码在比特流204和/或结构声学数据的版本222中的坐标的长度。

附加地或替代地,可以执行与边界框的定义相关联的其他种类的优化。例如,可以估计可能的重复图案。如果声学环境存在至少一个重复图案,则可以将边界框限制为至少一个重复图案。重复图案可以是例如对称图案。例如,对称可以是径向对称或平面对称(其他对称也是可能的)。在对称(或更一般地,重复图案)的情况下,不必对所有多边形的所有顶点进行编码,因为可以仅对重复图案的坐标(例如,在平面对称的情况下,对称体积的一半)进行编码,以便减少要在比特流204中编码的顶点的数量。基本上,可以将边界框500定义为包含重复图案一次,而不对其他重复图案进行重新编码(例如,在平面对称的情况下,边界框500不仅需要包含从对称平面朝向两个方向之一的对称体积的一半)。在比特流204中用信号通知重复图案数据(例如,在平面对称的情况下,对称数据将被编码为使得编码器200可以重建所表示的声学对象的形状;例如,在平面对称的情况下,可以简单地提供定义对称平面的信息,使得解码器可以通过重新插入对称形状的未编码的一半来重建最终形状)。在重复图案是周期性形状的情况下,可以执行相同的操作:边界框可以限于周期性重复的形状,而重复图案数据可以包括允许解码器重建声学对象的最终形状的信息(例如,包括空间周期,例如在三个维度下,等等)。在可变对称的情况下,相同的操作也可以适用,根据可变对称,仅定义角度形状,并且关于对称点和/或对称半径用信号通知重复图案数据,使得解码器300可以基于对称数据重建最终径向对称形状。

如在以下段落中将显而易见的,还可以定义边界块,当将空间坐标系改变到由边界框定义的空间坐标系时,其值具有大于1的最大公约数的坐标被最大化。

在示例中,编码器200的音频源编码块210因此可以定义声学环境中包含的边界框并且对边界框内的结构声学数据进行编码,从而避免将结构声学数据写入边界框之外的区域中。边界框可以排除声学环境中不包含任何主顶点和任何其余多边形顶点的部分。在比特流204中用信号通知关于包括边界框的位置数据的边界框的信息,以便允许在声学环境中定位边界框。结构声学数据因此可以经历坐标系到由边界框定义的新坐标系的改变,并且因此可以参考由边界框定义的新坐标系对多边形的顶点的坐标进行编码。进而,解码器300的音频源解码块310可以在比特流204的辅助信息中读取关于边界框的信息(并且具体地,位置数据)。因此,音频源解码块310可以定位环境内的边界框。此外,音频源解码块310可以对边界框内的结构声学数据进行解码,并且基于通过边界框的位置数据执行的定位,音频源解码块310可以重建环境中的边界框的位置数据。例如通过执行与在编码器200处执行的坐标改变相反的坐标改变,音频源解码块310执行从由边界框定义的坐标系到环境的原始坐标系的坐标改变。

如上所述,编码器200的音频源编码块210还可以估计声学环境是否存在至少一个重复图案,并且将边界框限制为至少一个重复图案。因此,可以在比特流204中用信号通知重复图案数据。在这种情况下,解码器300的音频源解码块310可以通过重复应用(例如,通过对称、通过周期性等延长)边界框内的重复图案来重建至少一个声学对象。

例如,至少一个重复图案可以是对称图案(例如,平面对称图案),并且重复图案数据因此可以是可在比特流204中用信号通知的对称数据(例如,指示对称平面的位置和/或取向的位置数据)。进而,解码器300的音频源解码块310可以通过在与边界框中的主顶点和其余多边形顶点的位置对称的位置处(例如,相对于对称平面)对称地生成结构声学数据来重建至少一个对象。

最大公约数

在存在或不存在边界框的情况下,在示例中,编码器可以搜索至少在一个坐标中具有公共最大公约数的顶点。因此,编码器200还被配置为:针对要编码的声学环境的特定维度以及针对多个主多边形顶点或其余多边形顶点,搜索除以主多边形顶点或其余多边形顶点的坐标的至少一个公约数,从而对坐标值的分割版本进行编码。

在图5中,可以考虑顶点510a的x坐标x

在示例中,编码器200的音频源编码块210因此可以针对环境或边界框的至少一个维度在多个主多边形顶点或其余多边形顶点的坐标之中搜索不同于(大于)1的公约数,从而将公约数以及坐标除以公约数的结果编码在比特流204中。因此,在本文中,比特流204已经根据公约数以因式分解的形式对至少两个不同顶点的至少两个坐标值进行编码。这在比特流204中用信号通知(也对公约数进行编码)。进而,解码器300的音频源解码块310可以通过将至少两个坐标值中的每一个乘以公约数来重建以因式分解形式编码的至少两个坐标值,以便重建该至少两个坐标值。

在图4中,示出了比特流204具有其中编码有坐标值的坐标值数据字段170c和其中编码有候选列表450的有序值的有序值数据字段170v。值数据字段170c通常比有序值数据字段170v具有更长的位长。

量化

应当注意,结构声学数据编码块可以预先对结构声学数据221执行量化,从而消除重复的顶点和劣化的多边形。当这适用时,上面讨论的示例(参考图1和图4)基本上可以通过量化来管理。

讨论

新的三角形网格编码方法由若干个阶段组成,每个阶段有助于提高效率。严格来说,不必一起执行所有阶段。

第一阶段使用编码器可选择的量化步骤来统一对顶点坐标进行量化,并且排除所有重复的顶点以及所有重复和劣化的三角形。第二阶段计算整个顶点列表的边界框。第三阶段充当预处理器,检测隐式降低的坐标精度,这意味着所有顶点坐标分别在每个维度上都是某个整数的倍数。第四阶段利用大量顶点位于与坐标轴平行的公共平面上的几何形状。第五阶段通过在每个维度上分别考虑并创建重复坐标的近期信息的统计模型来细化第四阶段。这些阶段中的每个阶段计算若干个模型参数以获得由编码器找到的最佳表示,使用范围编码器将这些参数与数据本身一起非常有效地编码为辅助信息。

第一阶段使用编码器可选择的量化步骤来统一对顶点坐标进行量化。量化步长通常被选择为足够小,使得量化过程不会引入任何声学伪音,通常在1mm至2cm的范围内。在量化之后,所有重复的顶点以及所有重复和劣化的三角形都被排除。取决于针对三角形网格的生成算法,完全相同的重复顶点可能出现许多次。

第二阶段计算整个顶点列表的精确边界框,以便从编码中排除任何实际未使用的范围。边界框被非常高效地编码,优化了一些经常遇到的图案。一种常见图案是边界框坐标范围围绕零对称,例如-150和150,其中仅绝对值被编码一次。这适用于声学环境或对象相对于该坐标对称的情况。另一种图案是边界框坐标范围具有零宽度,例如150和150,其中仅一个值被编码一次。这适用于声学对象完全平坦的情况。

第三阶段充当预处理器,检测隐式降低的坐标精度,这意味着所有顶点坐标分别在每个维度上都是某个整数的倍数。例如,如果假设量化精度被设置为1mm并且所有X坐标实际上都以10mm的倍数表示,则所有量化后的X坐标以及因此X坐标上的所有量化大小都为10的倍数。此外,如果坐标是相对于边界框进行的,则实现了完全的平移不变性(例如,所有大小可以是10的倍数,但坐标可以全部被移位1)。当这些公倍数不同于1时,可以从值中移除这些公倍数以缩小数据范围。每个坐标的公倍数都被非常高效地编码,针对一些经常遇到的图案进行了优化,比如针对1的值(意味着没有找到公倍数)以及针对恰好等于边界框的对应宽度的值(意味着该坐标恰好存在两个不同的值)进行了优化。因此,与坐标轴对齐的立方体在每个坐标上将该每个坐标的边界框的宽度作为公倍数。因此,在预处理之后,对于每个坐标,将仅保留0和1的值。

第四阶段利用大量顶点位于与坐标轴平行的公共平面上的几何形状。例如,如果多个顶点位于与X和Y坐标轴平行的平面上,则这意味着这些顶点的所有Z坐标值都是相同的。分别在每个轴上利用重复坐标值的方式是:将每个坐标值作为索引编码到先前编码的唯一值的列表中,或者将每个坐标值作为显式编码的新值,这会将它们添加到先前编码的唯一值的列表中。对值被实际编码的两种方式中的哪一种进行指示需要分别针对每个坐标的“掩码”位。使用自适应二进制概率估计器对每个顶点的这3个“掩码”位进行最佳编码。如果每个坐标的不同值的数量显著小于顶点的数量,则即使具有“掩码”位的开销,编码的大小也显著较小。编码器可以仅基于坐标的唯一值的数量和顶点的数量来最佳地决定该表示是否比直接表示更高效。

第五阶段通过在每个维度上分别考虑并创建重复坐标的近期信息的统计模型来细化第四阶段。第四阶段将使用均匀分布,针对重复值将其索引编码到先前编码的唯一值的列表中。然而,很大比例的重复值映射到最近使用的索引。引入表示要记住的最近索引值的最大数量nr的参数,创建统计模型来对比所有其他索引值更高效nr使用的最后唯一索引值进行编码。nr+1个条目的向前移动(MTF)列表用于跟踪最近nr个索引值的值,而最后的条目表示所有其他索引。如果在MTF列表中找到索引值,则对其在列表中的位置进行编码,并且将该索引值移动到MTF列表的开头。否则,对列表中的位置nr进行编码,指示最近未使用该索引,随后是对索引值本身的统一编码。使用自适应概率估计器对MTF列表中的位置进行编码,以最佳地与相对近期分布相匹配。增加nr提高了编码效率,然而,对于nr,较小值8已经实现接近最佳结果,从而允许低复杂度实现。

备选示例

这里要提及的是,之前讨论的所有替代方案或方面以及由所附权利要求中的独立权利要求定义的所有方面可以被单独使用,即,没有与所设想的替代方案、目标或独立权利要求不同的任何其他替代方案或目标。然而,在其他实施例中,两个或更多个备选方案或方面或独立权利要求可以彼此组合,并且在其他实施例中,所有方面或备选方案和所有独立权利要求可以彼此组合。本发明的编码信号可以存储在数字存储介质或非暂时性存储介质上,或者可以在诸如无线传输介质或诸如互联网的有线传输介质的传输介质上传输。

尽管已经在装置的上下文中描述了一些方面,但将清楚的是,这些方面还表示对应方法的描述,其中,块或装置对应于方法步骤或方法步骤的特征。类似地,在方法步骤上下文中描述的方面也指示对相应块或项或者相应装置的特征的描述。

取决于某些实现要求,可以在硬件中或在软件中实现本发明的实施例。实现可以使用其上存储有电子可读控制信号的数字存储介质(例如,软盘、DVD、CD、ROM、PROM、EPROM、EEPROM或闪存)来执行,与可编程计算机系统协作(或能够协作),使得执行相应方法。

根据本发明的一些实施例包括具有电子可读控制信号的数据载体,能够与可编程计算机系统协作,使得执行本文所述的方法之一。

通常,本发明的实施例可以实现为具有程序代码的计算机程序产品,程序代码可操作以在计算机程序产品在计算机上运行时执行方法之一。该程序代码可以例如存储在机器可读载体上。

其他实施例包括存储在机器可读载体或非暂时性存储介质上的用于执行本文描述的方法之一的计算机程序。

换言之,本发明方法的实施例因此是具有程序代码的计算机程序,该程序代码用于在计算机程序在计算机上运行时执行本文描述的方法之一。

因此,本发明方法的其他实施例是其上记录有计算机程序的数据载体或数字存储介质或计算机可读介质,该计算机程序用于执行本文所述的方法之一。

因此,本发明方法的另一实施例是表示计算机程序的数据流或信号序列,所述计算机程序用于执行本文所述的方法之一。数据流或信号序列可以例如被配置为经由数据通信连接(例如,经由互联网)传送。

另一实施例包括处理装置,例如,计算机或可编程逻辑器件,所述处理装置被配置为或适于执行本文所述的方法之一。

另一实施例包括其上安装有计算机程序的计算机,该计算机程序用于执行本文所述的方法之一。

在一些实施例中,可编程逻辑器件(例如,现场可编程门阵列)可以用于执行本文所述的方法的功能中的一些或全部。在一些实施例中,现场可编程门阵列可以与微处理器协作以执行本文所述的方法之一。通常,这些方法优选地由任何硬件装置来执行。

上述实施例对于本发明的原理仅是说明性的。应当理解,本文描述的布置和细节的修改和变形对于本领域其他技术人员将是显而易见的。因此,旨在仅由所附专利权利要求的范围来限制而不是由借助对本文的实施例的描述和解释所给出的具体细节来限制。

技术分类

06120116525614