音频信号的集成重建和渲染的制作方法

文档序号:19128803发布日期:2019-11-13 02:23阅读:275来源:国知局
音频信号的集成重建和渲染的制作方法

本申请要求以下优先权申请的优先权:于2017年3月6日提交的美国临时申请62/467,445(参考号:d16156usp1)和于2017年3月6日提交的ep申请17159391.6(参考号:d16156ep),这些申请通过引用结合于此。

本发明总体上涉及包括音频对象的音频场景的代码化(coding)。具体地,本发明涉及用于对一组音频信号进行解码和渲染以形成音频输出的解码器和相关联的方法。



背景技术:

音频场景总体上可以包括音频对象和音频通道。音频对象是具有可以随时间变化的相关联空间位置的音频信号。音频通道(传统上)是与多通道扬声器配置的通道直接相对应的音频信号,所述多通道扬声器配置是诸如具有左扬声器和右扬声器的经典立体声配置或具有三个前扬声器、两个环绕扬声器和一个低频效果扬声器的所谓5.1扬声器配置。

由于音频对象的数量通常可能非常大,例如在数十或数百个音频对象的数量级,因此需要允许音频对象在编码器侧被高效地压缩例如以供作为数据流进行传输并且然后在解码器侧被重建的编码方法。

一个现有技术示例是在编码器侧将音频对象组合到多通道下混中,并且在解码器侧参数化地重建来自多通道下混的音频对象,所述多通道下混包括与特定多通道扬声器配置(诸如5.1配置)的通道相对应的多个音频通道。

例如在wo2014187991和wo2015150384中公开了这种方法的概括,其中,多通道下混不与特定回放系统相关联,而是被自适应地选择。根据这种方法,在编码器侧对n个音频对象进行下混以形成m个下混音频信号(m<n)。代码化的数据流包括这些下混音频信号和使得能够在解码器侧重建这n个音频对象的边信息。数据流进一步包括描述对象之间的空间关系的对象元数据,所述对象元数据允许对这n个音频对象进行渲染以形成音频输出。

文献wo2014187991和wo2015150384提到可以将重建操作与渲染操作进行组合。然而,所述参考文献没有提供如何实现这种组合的进一步细节。



技术实现要素:

本发明的目的是通过将一方面的由m个音频信号重建n个音频对象、与另一方面的渲染所述n个音频对象以形成音频输出进行组合,来在解码器侧提供提高的计算效率。

根据本发明的第一方面,这个目的和其他目的通过一种基于数据流的集成渲染方法来实现,所述数据流包括:

-m个音频信号,所述m个音频信号是n个音频对象的组合,其中,n>1且m≤n,

-边信息,所述边信息包括重建矩阵的一系列重建实例ci和定义所述实例之间的过渡的第一时序数据,所述边信息允许由所述m个音频信号重建所述n个音频对象,以及

-时变对象元数据,所述时变对象元数据包括定义所述n个音频对象之间的空间关系的一系列元数据实例mi以及定义所述元数据实例之间的过渡的第二时序数据。

所述渲染包括:基于所述对象元数据、所述第一时序数据和与当前回放系统配置相关的信息生成同步渲染矩阵,所述同步渲染矩阵具有与每个重建实例在时间上相对应的渲染实例;将每个重建实例与相应的渲染实例相乘以形成集成渲染矩阵的相应实例;以及将所述集成渲染矩阵应用于所述m个音频信号以便渲染音频输出。

因此,同步渲染矩阵的实例与重建矩阵的实例同步,使得每个渲染矩阵实例具有与(近似)相同时间点相关的相应重建矩阵实例。通过提供与重建矩阵同步的渲染矩阵,这些矩阵可以被组合(相乘)以形成具有提高的计算效率的集成渲染矩阵。

在一些实施例中,使用第一时序数据来应用集成渲染矩阵以在集成渲染矩阵的实例之间进行插值。

可以以各种方式生成同步渲染矩阵,其中一些方式在从属权利要求中进行概述,并且还在下文更详细地进行描述。例如,所述生成可以包括使用第一时序数据重新采样对象元数据以形成同步元数据,以及由此基于同步元数据和与当前回放系统配置相关的信息生成同步渲染矩阵。

在一些实施例中,边信息进一步包括解相关矩阵,并且所述方法进一步包括:通过将矩阵应用于m个音频信号来生成一组k个解相关输入信号,所述矩阵由解相关矩阵和重建矩阵形成;对所述k个解相关输入信号进行解相关以形成k个经解相关的音频信号;将解相关矩阵的每个实例与相应的渲染实例相乘以形成集成解相关矩阵的相应实例;以及将集成解相关矩阵应用于所述k个经解相关的音频信号以便生成对经渲染的音频输出的解相关贡献。

这种解相关贡献有时被称为对音频输出的“湿”贡献。

根据本发明的第二方面,这个目的和其他目的通过一种用于基于数据流自适应的渲染音频信号的方法来实现,所述数据流包括:

-m个音频信号,所述m个音频信号是n个音频对象的组合,其中,n>1且m≤n,

-边信息,所述边信息包括允许由所述m个音频信号重建所述n个音频对象的一系列重建实例,

-上混元数据,所述上混元数据包括定义这n个音频对象之间的空间关系的一系列元数据实例,以及

-下混元数据,所述下混元数据包括定义所述m个音频信号之间的空间关系的一系列元数据实例。

所述方法进一步包括选择性地执行以下步骤之一:

i)使用边信息、上混元数据和与当前回放系统配置相关的信息,基于所述m个音频信号来提供音频输出,以及

ii)使用下混元数据和与当前回放系统配置相关的信息,基于所述m个音频信号来提供音频输出。

根据本发明的这个方面,不总是执行由边信息提供的对象重建。相反,当认为合适时,执行更基本的“下混渲染”。应当注意,这种下混渲染不包括任何对象重建。

在一个实施例中,步骤i)中的重建和渲染是根据本发明的第一方面的集成渲染。然而,应当注意,本发明的第二方面的原理不严格限于基于本发明的第一方面的实施方式。相反,步骤i)可以以其他方式使用边信息,包括使用边信息进行单独重建,然后使用元数据进行渲染。

对渲染的选择可以基于音频信号的数量m和音频输出中的通道的数量ch。例如,当m<ch时,使用对象重建进行渲染可能是合适的。

本发明的第三方面涉及一种用于基于音频数据流来渲染音频输出的解码器系统,所述解码器系统包括:

接收器,用于接收数据流,所述数据流包括:

-m个音频信号,所述m个音频信号是n个音频对象的组合,其中,n>1且m≤n,

-边信息,所述边信息包括重建矩阵c的一系列重建实例ci和定义所述实例之间的过渡的第一时序数据,所述边信息允许由所述m个音频信号重建所述n个音频对象,以及

-时变对象元数据,所述时变对象元数据包括定义所述n个音频对象之间的空间关系的一系列元数据实例mi以及定义所述元数据实例之间的过渡的第二时序数据;

矩阵生成器,用于基于所述对象元数据、所述第一时序数据和与当前回放系统配置相关的信息来生成同步渲染矩阵,所述同步渲染矩阵针对每个重建实例都具有渲染实例,以及

集成渲染器,包括:矩阵组合器,所述矩阵组合器用于将每个重建实例与相应的渲染实例相乘以形成集成渲染矩阵的相应实例;以及矩阵变换,所述矩阵变换用于将集成渲染矩阵应用于所述m个音频信号以便渲染音频输出。

本发明的第四方面涉及一种用于自适应渲染音频信号的解码器系统,所述解码器系统包括:

接收器,用于接收数据流,所述数据流包括:

-m个音频信号,所述m个音频信号是n个音频对象的组合,其中,n>1且m≤n,

-边信息,所述边信息包括允许由所述m个音频信号重建所述n个音频对象一系列重建实例ci,

-上混元数据,所述上混元数据包括定义这n个音频对象之间的空间关系的一系列元数据实例,以及

-下混元数据,所述下混元数据包括定义所述m个音频信号之间的空间关系的一系列元数据实例;

第一渲染功能,所述第一渲染功能被配置为使用边信息、上混元数据和与当前回放系统配置相关的信息、基于所述m个音频信号来提供音频输出;

第二渲染功能,所述第二渲染功能被配置为使用下混元数据和与当前回放系统配置相关的信息、基于所述m个音频信号来提供音频输出;以及

处理逻辑,所述处理逻辑用于选择性地激活第一渲染功能或第二渲染功能。

本发明的第五方面涉及一种包括计算机程序代码部分的计算机程序产品,所述计算机程序代码部分当在计算机处理器上执行时,使得所述计算机处理器能够执行根据第一或第二方面的所述方法的步骤。计算机程序产品可以存储在非暂态计算机可读介质上。

附图说明

将参考附图更详细地描述本发明,所述附图示出了本发明的当前优选实施例。

图1示意性地示出了根据现有技术的解码器系统。

图2是根据本发明的实施例的集成重建和渲染的示意性框图。

图3是图2中的矩阵生成器和重新采样模块的第一示例的示意性框图。

图4是图2中的矩阵生成器和重新采样模块的第二示例的示意性框图。

图5是图2中的矩阵生成器和重新采样模块的第三示例的示意性框图。

图6a至图6c是根据本发明的实施例的元数据重新采样的示例。

图7是根据本发明的另一方面的解码器的示意性框图。

具体实施方式

以下公开的系统和方法可以被实施为软件、固件、硬件或其组合。在硬件实施方式中,在以下描述中被称为“级”的任务划分不一定对应于物理单元的划分;相反,一个物理部件可以具有多个功能,并且一个任务可以由若干个物理部件协作地执行。某些部件或所有部件可以被实施为由数字信号处理器或微处理器执行的软件,或者被实施为硬件或专用集成电路。这种软件可以分布在计算机可读介质上,所述计算机可读介质可以包括计算机存储介质(或非暂态介质)和通信介质(或暂态介质)。如本领域技术人员所熟知的,术语计算机存储介质可以包括以用于存储如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实施的易失性和非易失性、可移除和不可移除的介质。计算机存储介质包括但不限于:ram、rom、eeprom、闪速存储器或其他存储器技术、cd-rom、数字通用盘(dvd)或其他光盘存储设备、磁盒、磁带、磁盘存储或其他磁性存储设备、或可以用于存储期望信息并且可以被计算机访问的任何其他介质。进一步地,本领域技术人员所熟知的是,通信介质通常以如载波等经调制数据信号或其他传输机制的形式来承载计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传递介质。

图1示出了现有技术解码系统1的示例,所述解码系统被配置为由m个音频信号(x1,x2,…xm)重建n个音频对象(z1,z2,…zn),然后针对给定的回放系统配置来渲染音频对象。这种系统(和相应的编码器系统)在通过引用并入本文的wo2014187991和wo2015150384中进行了公开。

系统1包括解复用器(demux)2,所述解复用器被配置为接收数据流3并将其划分为m个经编码的音频信号5、边信息(sideinformation)6和对象元数据7。边信息6包括允许由这m个音频信号重建n个音频对象的参数。对象元数据7包括定义这n个音频对象之间的空间关系的参数,所述参数与关于预期的回放系统配置的信息(例如,扬声器的数量和位置)相结合将允许对该回放系统的音频信号呈现进行渲染。该呈现可以是例如5.1环绕呈现或7.1.4沉浸式呈现。

由于元数据7被配置为要应用于这n个重建的音频对象,因此有时将其称为“上混(upmix)”元数据。数据流3可以包括可以在解码器1中用于在不重建n个音频对象的情况下渲染这m个音频信号的“下混(downmix)”元数据12。这种解码器有时被称为“核心解码器(coredecoder)”,将参考图7对其进一步讨论。

数据流3通常被划分成帧,每个帧通常与在时间上恒定的“步幅(stride)”或“帧长度/持续时间(framelength/duration)”(其也可以被表达为帧速率)相对应。典型的帧持续时间是2048/48000hz=42.7ms(即23.44hz帧速率),或1920/48000hz=40ms(即25hz帧速率)。在大多数实际情况中,对音频信号进行采样,然后每个帧包括定义数量的样本。

边信息6和对象元数据7是时间相关的,并且因此可以随时间而变化。边信息和元数据的时变可以至少部分地与帧速率同步,但这不是必需的。进一步地,边信息通常是频率相关的,并且被划分成频带。可以通过以感知激励的方式对来自复杂qmf库的带进行分组来形成这样的频带。

另一方面,元数据通常是宽带,即,一个数据用于所有频率。

所述系统进一步包括:解码器8,被配置为对这m个音频信号(x1,x2,…xm)进行解码;以及对象重建模块9,被配置为基于这m个经解码的音频信号(x1,x2,…xm)和边信息6来重建n个音频对象(z1,z2,…zn)。渲染器10被布置为接收n个音频对象2并且基于这n个音频对象(z1,z2,…zn)、对象元数据7和关于回放配置的信息11来渲染一组ch个音频通道(输出1,输出2,…输出ch)以进行回放。

边信息6包括时变重建矩阵c(大小为n×m)的实例(值)(ci)和定义这些实例之间的过渡(transition)的时序(timing)数据td。每个频带可以具有不同的重建矩阵c,但是对于所有的带,时序数据将是相同的。

时序数据可以有多种格式。作为简单的示例,时序数据仅指示从一个实例到下一个实例的瞬时变化的时间点。然而,为了在实例之间提供更平滑的过渡,更精细的时序数据格式可能是有利的。作为一个示例,边信息6可以包括一系列数据集,每个集包括指示斜坡(ramp)变化开始的时间点(tci)、斜坡持续时间(dci)以及在斜坡持续时间之后(即在tci+dci处)的假设的矩阵值(ci)。因此,斜坡表示从先前的实例(ci-1)的矩阵值到下一实例(ci)的矩阵值的线性过渡。当然,时序格式的其他替代方案也是可能的,包括更复杂的格式。

重建模块9包括被配置为将矩阵c应用于m个音频信号以重建n个音频对象的矩阵变换13。变换13将(在每个频带中)基于时序数据在实例ci之间对矩阵c进行插值,即,用从先前的值到新值的线性(时间)斜坡插值所有矩阵元素,以便使得能够将矩阵连续应用于m个音频信号(或者,在大多数实际实施方式中,应用于经采样音频信号的每个样本)。

矩阵c本身通常不能够复原所有重建对象之间的原始协方差(covariance)。这可以被视为在通过扩音器播放的经渲染呈现中的“空间塌陷(spatialcollapse)”。为了减少这种伪像(artifact),可以在解码过程中引入解相关(decorrelation)模块。这些解相关模块实现了对对象协方差的改进或完全复原。在感知上,这减少了潜在的“空间塌陷”并且实现了对经渲染呈现的原始“环境(ambience)”的改进重建。这种处理的细节可以例如在wo2015059152中找到。

为此目的,所图示的示例中的边信息6还包括时变解相关矩阵p的实例pi,在此重建模块9包括预矩阵变换15、解相关器级16和另外的矩阵变换17。预矩阵变换15被配置为应用矩阵q(其是根据矩阵c和解相关矩阵p计算的)以提供附加的一组k个解相关输入信号(u1,u2,…uk)。解相关器级16被配置为接收这k个解相关输入信号并对它们进行解相关。最后,矩阵变换17被配置为将解相关矩阵p应用于经解相关的信号(y1,y2,…yk),以提供对这n个音频对象的进一步的“湿”贡献。类似于矩阵变换13,矩阵变换15和17在每个频带中独立地被应用,并使用边信息时序数据(tci,dci)分别在矩阵p和q的实例(pi)之间进行插值。应当注意,对矩阵p和q的插值因此由与对矩阵c的插值相同的时序数据定义。

类似于边信息6,对象元数据7包括实例(mi)和定义这些实例之间的过渡的时序数据。例如,对象元数据7可以包括一系列数据集,每个数据集包括斜坡开始时间点(tmi)、斜坡持续时间(dmi)和在斜坡持续时间之后(即在tmi+dmi)的假设的矩阵值(mi)。然而,应当注意,元数据的时序不一定与边信息的时序相同。

渲染器10包括矩阵生成器19,所述矩阵生成器被配置为基于对象元数据7和关于回放系统配置的信息11(例如,扬声器的数量和位置)生成大小为ch×n的时变渲染矩阵r。保持元数据的时序,使得矩阵r包括一系列实例(ri)。渲染器10进一步包括被配置为将矩阵r应用于n个音频对象的矩阵变换20。类似于变换13,变换20在矩阵r的实例ri之间进行插值,以便连续地或至少对这n个音频对象的每个样本应用矩阵r。

图2示出了根据本发明的实施例的对图1中的解码器系统的修改。就像图1中的解码器系统一样,图2中的解码器系统100包括解复用器2,所述解复用器被配置为接收数据流3并将其划分为m个经编码的音频信号5、边信息6和对象元数据7。同样类似于图1,来自解码器的音频输出是一组ch个音频通道(输出1,输出2,…输出ch),用于在指定的回放系统上进行回放。

解码器100与现有技术之间最重要的区别在于,在此对n个音频对象的重建和对音频输出通道的渲染被组合(集成)到被称为集成渲染器21的一个单一模块中。

集成渲染器21包括矩阵应用模块22,所述矩阵应用模块包括矩阵组合器23和矩阵变换24。矩阵组合器23被连接以接收边信息(c的实例和时序)并且还接收与矩阵c同步的渲染矩阵rsync。组合器23进一步被配置为将矩阵c和r组合成一个集成时变矩阵int,即,一组矩阵实例inti和相关联的时序数据(其与边信息中的时序数据相对应)。矩阵变换24被配置为将矩阵int应用于m个音频信号(x1,x2,…xm),以便提供ch个通道的音频输出。在这个基本示例中,矩阵int因此具有ch×m的大小。变换24将基于时序数据在实例inti之间插值矩阵int,以便使得能够将矩阵int应用于这m个音频信号的每个样本。

应当注意,变换24中的组合矩阵int的插值在数学上将与两个插值的矩阵c和r的连续应用不同。然而,已发现这个偏差不会导致任何感知退化。

类似于图1,所图示的示例中的边信息6还包括时变解相关矩阵p的实例pi,所述时变解相关矩阵包括对音频呈现的“湿”贡献。为此目的,集成渲染器21可以进一步包括预矩阵变换25和解相关器级26。类似于图1中的变换15和级16,变换25和解相关器级26被配置为应用由解相关矩阵p与矩阵c进行组合形成的矩阵q以提供附加的一组k个解相关输入信号(u1,u2,…uk),并且对这k个信号进行解相关以提供经解相关的信号(y1,y2,…yk)。

然而,与图1相反,集成渲染器不包括用于将矩阵p应用于经解相关的信号(y1,y2,…yk)的单独矩阵变换。而是,矩阵应用模块22的矩阵组合器23被配置为将所有三个矩阵c、p和rsync组合成由变换24应用的集成矩阵int。在所图示的情况下,矩阵应用模块因此接收m+k个信号(m个音频信号(x1,x2,…xm)和k个经解相关的信号(y1,y2,…yk)),并且提供ch个音频输出通道。因此,图2中的集成矩阵int的大小为ch×(m+k)。

对此进行描述的另一方式是集成渲染器21中的矩阵变换24实际上应用两个集成矩阵int1和int2来形成对音频输出的两个贡献。通过将大小为ch×m的集成矩阵int1应用于这m个音频信号(x1,x2,…xm)来形成第一贡献,并且通过将大小为ch×k的集成“混响”矩阵int2应用于这k个经解相关的信号(y1,y2,…yk)来形成第二贡献。

除了集成渲染器21之外,图2中的解码器侧还包括边信息解码器27和矩阵生成器28。所述边信息解码器仅被配置为从时序数据td(即,tci、dci)分离(解码)矩阵实例ci和pi。回想一下,矩阵c和p两者具有相同的时序。应当注意,矩阵值与时序数据的这种分离显然也在现有技术中完成,以便使得能够对矩阵c和p进行插值,但这未在图1中明确示出。如在以下显而易见的,根据本发明,在若干个不同的功能块中需要时序数据td,因此图2中将解码器27图示为单独块。

矩阵生成器28被配置为通过使用从解码器27接收的时序数据td重新采样元数据7来生成同步渲染矩阵rsync。可以使用各种方法来进行这种重新采样,并且将参考图3至图6讨论三个示例。

应当注意,尽管在本公开中,边信息的时序数据td用于管控同步过程,但这不是对本发明构思的限制。相反,例如可以替代地使用元数据的时序来管控同步,或者通过各种时序数据的某种组合来管控同步。

在图3中,矩阵生成器128包括元数据解码器31、元数据选择模块32和矩阵生成器33。元数据解码器被配置为以与图2中的解码器27分离边信息6的相同方式来分离(解码)元数据7。元数据的经分离的部分(即,矩阵实例mi和元数据时序(tmi,dmi))被提供给元数据选择模块32。再次应当注意,元数据时序tmi、dmi可以与边信息时序数据tci、dci不同。

模块32被配置为针对边信息的每个实例来选择元数据的适当实例。其特殊情况当然是存在与每个边信息实例相对应的元数据实例时。

如果元数据与边信息不同步,则实际方法可以是仅使用相对于边信息实例的时序的最新元数据实例。如果以帧的形式接收数据(音频信号、边信息和元数据),则当前帧不一定包括在第一边信息实例之前的元数据实例。在这种情况下,可以从先前的帧获取在前元数据实例。如果这是不可能的,则可以使用第一可用元数据实例。

另一可能更有效的方法是使用与边信息实例在时间上最接近的元数据实例。如果以帧的形式接收数据,并且相邻帧中的数据不可用,则表述“在时间上最接近”将指代当前帧。

来自模块32的输出将是与边信息实例完全同步的一组元数据实例34。这种元数据将被称为“同步元数据”。最后,矩阵生成器33被配置为基于同步元数据34和关于回放系统配置的信息11生成同步矩阵rsync。除了将同步元数据作为输入之外,生成器33的功能基本上与图1中的矩阵生成器19的功能相对应。

在图4中,矩阵生成器228再次包括与参考图3所描述的类似的元数据解码器31和矩阵生成器33,并且在此将不进一步讨论。然而,代替元数据选择模块,图4中的矩阵生成器228包括元数据插值模块35。

在边信息时序数据中没有可用于特定时间点的元数据实例的情况下,模块35被配置为在紧接所述时间点之前和之后的两个连续元数据实例之间进行插值,以便重建与所述时间点相对应的元数据实例。

来自模块35的输出将再次是与边信息实例完全同步的一组同步元数据实例34。此同步元数据将在生成器33中用于生成同步渲染矩阵rsync。

应当注意,还可以组合图3和图4中的示例,使得在适当时执行根据图3的选择,并且在其他情况下执行根据图4的插值。

与图3和图4相比,图5中的处理基本上以相反的顺序进行,即首先使用元数据生成渲染矩阵r,并且然后仅与边信息时序同步。

在图5中,矩阵生成器328再次包括以上已经描述的元数据解码器31。生成器328进一步包括矩阵生成器36和插值模块37。

矩阵生成器36被配置为基于原始元数据实例(mi)和关于回放系统配置的信息11生成矩阵r。因此,生成器36的功能完全与图1中的矩阵生成器19的功能相对应。输出是“传统”矩阵r。

插值模块37被连接以接收矩阵r、以及边信息时序数据td(tci,dci)和元数据时序数据tmi、dmi。基于该数据,模块37被配置为对矩阵r进行重新采样,以便生成与边信息时序数据同步的同步矩阵rsync。模块37中的重新采样过程可以是选择(根据模块32)或插值(根据模块35)。

现在将参考图6更详细地讨论重新采样过程的一些示例。在此假设给定边信息实例ci的时序数据具有以上讨论的格式,即所述时序数据包括斜坡开始时间tci和从先前的实例ci-1到实例ci的线性斜坡的持续时间dci。应当注意,在插值斜坡的斜坡结束时间tci+dci处达到的实例ci的矩阵值将保持有效,直到随后的实例ci+1的斜坡开始时间tci+1为止。类似地,给定元数据实例mi的时序数据由斜坡开始时间tmi和从先前的实例mi-1到实例mi的线性斜坡的持续时间dmi提供。

在第一种非常简单的情况下,边信息和元数据的时序数据一致,即tci=tmi和dci=dmi。然后,图3中的元数据选择模块32仅选择对应的元数据实例,如图6a中所图示的。元数据实例m1和m2与边信息实例c1和c2组合以形成同步矩阵rsync的实例r1和r2。

图6b示出了另一情况,其中存在与每个边信息实例相对应的元数据实例,而且还有在其间的附加元数据实例。在图6b中,模块32将选择元数据实例m1和m3(与边信息实例c1和c2组合)以形成同步矩阵rsync的实例r1和r2。元数据实例m2将被丢弃。

在图6b中,应当注意,“相对应的”实例可以如图6a中的一致,即,都具有共同的斜坡开始点和斜坡持续时间。这是针对c1和m1的情况,其中tc1等于tm1并且dc1等于dmi。替代性地,“相对应的”实例仅具有共同的斜坡结束点。这是针对c2和m3的情况,其中tc2+dc2等于tm3+dm3。

在图6c中,提供了元数据不与边信息同步使得不能总是找到精确的对应实例的各种示例。

在图6c的顶部图示的元数据包括五个实例(m1至m5)和具有相关联时序(tmi,dmi)的时间线。在这下面是具有边信息时序(tci,dci)的第二时间线。在这下面是同步元数据的三个不同示例。

在被标记为“选择先前的”的第一个示例中,最新的元数据实例被用作同步元数据实例。“最新”的含义可以取决于实施方式。一个可能的选项是使用在边信息的斜坡结束之前具有斜坡开始的最后元数据实例。在此图示的另一个选项是使用在边信息斜坡结束(tci+dci)之前或之处具有斜坡结束(tmi+dmi)的最后元数据实例。在所图示的情况下,这导致第一同步元数据实例msync1等于m1,msync2也等于m1,msync3等于m3,并且msync4等于m5。元数据m2和m4被丢弃。

在被标记为“选择最接近”的下一示例中,使用具有在时间上最接近边信息斜坡结束的斜坡结束的元数据实例。换言之,同步元数据实例不一定是先前的实例,而是如果未来实例在时间上更接近,则可以是未来实例。在这种情况下,同步元数据将是不同的,并且从图中可以清楚地看出,msync1等于m1,msync2也等于m2,msync3等于m4,并且msync4等于m5。在这种情况下,仅元数据m3被丢弃。

在被标记为“插值”的又一示例中,元数据被插值,如参考图4所讨论的。在此,msync1将再次等于m1,因为边信息斜坡结束和元数据斜坡结束实际上是一致的。然而,msync2和msync3将等于元数据的内插值,如图6c的顶部中通过元数据中的环形标记所指示的。具体地,msync2是m1和m2之间的元数据的内插值,并且msync3是m3和m4之间的元数据的内插值。最后,具有在m5的斜坡结束之后的斜坡结束的msync4将是这个斜坡的前向插值,再次在图6c的顶部处指示。

应当注意,图6c假设根据图3或图4进行处理。如果应用根据图5的处理,则通常使用插值方法来对矩阵r的实例进行重新采样。

为了进一步降低计算复杂度,可以在适当时选择性地应用以上讨论的集成渲染,并且在其他情况下可以对这m个音频信号执行直接渲染(也称为“下混渲染”)。图7中图示了这一点。

类似于图2中的解码器,图7中的解码器100'再次包括解复用器2和解码器8。解码器100'进一步包括两个不同的渲染功能101和102,以及用于选择性地激活功能101、102之一的处理逻辑103。第一功能101与图2中所图示的集成渲染功能相对应,并且在此将不进一步详细描述。第二功能102是如以上简要提及的“核心解码器”。核心解码器102包括矩阵生成器104和矩阵变换105。

回想一下,数据流3包括m个经编码的音频信号5、边信息6、“上混”元数据7和“下混”元数据12。集成渲染功能101接收经解码的m个音频信号(x1,x2,…xm)、边信息6和“上混”元数据7。核心解码器功能102接收经解码的m个音频信号(x1,x2,…xm)和“下混”元数据12。最后,功能101、102两者都接收扩音器系统配置信息11。

在这个实施例中,处理逻辑103将确定哪个功能101或102是适当的并激活这个功能。如果激活集成渲染功能101,则将如以上参照图2至图6所描述的那样来渲染这m个音频信号。

另一方面,如果激活下混渲染功能102,则矩阵生成器104将基于“下混”元数据12和配置信息11生成大小为ch×m的渲染矩阵r核心。然后,矩阵变换105将该渲染矩阵r核心应用于这m个音频信号(x1,x2,…xm)以形成音频输出(ch个通道)。

处理逻辑103中的决定可以取决于各种因素。在一个实施例中,使用输出信号的数量m和输出通道的数量ch来选择适当的渲染功能。根据一个简单的示例,如果是m<ch,则处理逻辑103选择第一渲染功能(例如,集成渲染),否则选择第二渲染功能(下混渲染)。

本领域技术人员认识到,本发明决不限于以上所描述的优选实施例。相反,在所附权利要求的范围内的多种修改和变化是可能的。例如,并且如上所提及的,可以采用不同类型的时序数据格式。进一步地,渲染矩阵的同步可以以除了本文通过示例的方式公开的方式之外的其他方式实现。

此外,虽然本文所描述的一些实施例包括其他实施例中所包括的一些特征而不包括其他实施例中所包括的其他特征,但是如本领域技术人员将理解的,不同实施例的特征的组合旨在处于本发明的范围内并形成不同实施例。例如,在以下权利要求中,要求保护的实施例中的任何实施例都可以以任何组合来使用。

可以从以下枚举的示例实施例(eee)中理解本发明的各个方面:

eee1.一种用于基于音频数据流来渲染音频输出的方法,所述方法包括:

接收数据流,所述数据流包括:

-m个音频信号,所述m个音频信号是n个音频对象的组合,其中,n>1且m≤n,

-边信息,所述边信息包括重建矩阵c的一系列重建实例ci和定义所述实例之间的过渡的第一时序数据,所述边信息允许由所述m个音频信号重建所述n个音频对象,以及

-时变对象元数据,所述时变对象元数据包括定义所述n个音频对象之间的空间关系的一系列元数据实例mi以及定义所述元数据实例之间的过渡的第二时序数据;

基于所述对象元数据、所述第一时序数据以及与当前回放系统配置相关的信息来生成同步渲染矩阵rsync,所述同步渲染矩阵rsync针对每个重建实例ci都具有渲染实例ri;

将每个重建实例ci与相应的渲染实例ri相乘以形成集成渲染矩阵int的相应实例;以及

将所述集成渲染矩阵int应用于所述m个音频信号以便渲染音频输出。

eee2.根据eee1所述的方法,其中,所述应用所述集成渲染矩阵int的步骤包括使用所述第一时序数据在所述集成渲染矩阵int的实例之间进行插值。

eee3.根据eee1或2所述的方法,其中,所述生成同步渲染矩阵rsync的步骤包括:

使用所述第一时序数据来重新采样所述对象元数据以形成同步元数据,以及

由此基于所述同步元数据和所述与当前回放系统配置相关的信息来生成所述同步渲染矩阵rsync。

eee4.根据eee3所述的方法,其中,所述重新采样包括为每个重建实例ci选择适当的现有元数据实例mi。

eee5.根据eee3所述的方法,其中,所述重新采样包括针对每个重建实例ci通过在现有元数据实例mi之间进行插值来计算相应的渲染实例。

eee6.根据eee1或2所述的方法,其中,所述生成同步渲染矩阵rsync的步骤包括:

基于所述对象元数据和所述与当前回放系统配置相关的信息来生成非同步渲染矩阵r,以及

由此使用所述第一时序数据来重新采样所述非同步渲染矩阵r,以便形成所述同步渲染矩阵rsync。

eee7.根据eee6所述的方法,其中,所述重新采样包括为每个重建实例ci选择所述非同步渲染矩阵r的适当的现有实例。

eee8.根据eee6所述的方法,其中,所述重新采样包括针对每个重建实例ci通过在所述非同步渲染矩阵r的实例之间进行插值来计算相应的渲染实例。

eee9.根据前述eee中任一项所述的方法,其中,所述边信息进一步包括解相关矩阵p,所述方法进一步包括:

通过将矩阵q应用于所述m个音频信号来生成一组k个解相关输入信号,所述矩阵q是根据所述解相关矩阵p和所述重建矩阵c计算的,

对所述k个解相关输入信号进行解相关以形成k个经解相关的音频信号;

将所述解相关矩阵p的每个实例pi与相应的渲染实例ri相乘,以形成集成解相关矩阵int2的相应实例;以及

将所述集成解相关矩阵int2应用于所述k个经解相关的音频信号,以便生成对经渲染音频输出的解相关贡献。

eee10.根据前述eee中任一项所述的方法,其中,针对每个重建实例ci,所述第一时序数据都包括斜坡开始时间tci和斜坡持续时间dci,并且其中,从在前实例ci-1到所述实例ci的过渡是从tci开始、持续时间为dci的线性斜坡。

eee11.根据前述eee中任一项所述的方法,其中,针对每个元数据实例mi,所述第二时序数据都包括斜坡开始时间tmi和斜坡持续时间dmi,并且从在前实例mi-1到所述实例mi的过渡是从tmi开始、持续时间为dmi的线性斜坡。

eee12.根据前述eee中任一项所述的方法,其中,所述数据流被编码,并且所述方法进一步包括对所述m个音频信号、所述边信息和所述元数据进行解码。

eee13.一种用于自适应渲染音频信号的方法,所述方法包括:

接收数据流,所述数据流包括:

-m个音频信号,所述m个音频信号是n个音频对象的组合,其中,n>1且m≤n,

-边信息,所述边信息包括允许由所述m个音频信号重建所述n个音频对象的一系列重建实例ci,

-上混元数据,所述上混元数据包括定义所述n个音频对象之间的空间关系的一系列元数据实例mi,以及

-下混元数据,所述下混元数据包括定义所述m个音频信号之间的空间关系的一系列元数据实例mdmx,i;以及

选择性地执行以下步骤之一:

i)使用所述边信息、所述上混元数据和与当前回放系统配置相关的信息,基于所述m个音频信号来提供音频输出,以及

ii)使用所述下混元数据和与当前回放系统配置相关的信息,基于所述m个音频信号来提供音频输出。

eee14.根据eee13所述的方法,其中,通过使用所述边信息、所述上混元数据和与当前回放系统配置相关的信息重建和渲染所述m个音频信号来提供音频输出的步骤i)包括:

基于所述对象元数据、所述第一时序数据以及与当前回放系统配置相关的信息来生成同步渲染矩阵rsync,所述同步渲染矩阵rsync针对每个重建实例ci都具有渲染实例ri;

将每个重建实例ci与相应的渲染实例ri相乘以形成集成渲染矩阵int的相应实例;以及

将所述集成渲染矩阵int应用于所述m个音频信号以便渲染音频输出。

eee15.根据eee13或14所述的方法,其中,通过使用所述下混元数据和与当前回放系统配置相关的信息渲染所述m个音频信号来提供音频输出的步骤ii)包括:

基于所述下混元数据和与当前回放系统配置相关的信息来生成渲染矩阵r核心,以及

将所述渲染矩阵r核心应用于所述m个音频信号以便渲染所述音频输出。

eee16.根据eee13至15中任一项所述的方法,其中,所述数据流被编码,并且所述方法进一步包括对所述m个音频信号、所述边信息、所述上混元数据和所述下混元数据进行解码。

eee17.根据eee13至16中任一项所述的方法,其中,所述决定基于音频信号的数量m和所述音频输出中的通道的数量ch。

eee18.根据eee17所述的方法,其中,当m<ch时,执行步骤i)。

eee19.一种用于基于音频数据流来渲染音频输出的解码器系统,所述解码器系统包括:

接收器,用于接收数据流,所述数据流包括:

-m个音频信号,所述m个音频信号是n个音频对象的组合,其中,n>1且m≤n,

-边信息,所述边信息包括重建矩阵c的一系列重建实例ci和定义所述实例之间的过渡的第一时序数据,所述边信息允许由所述m个音频信号重建所述n个音频对象,以及

-时变对象元数据,所述时变对象元数据包括定义所述n个音频对象之间的空间关系的一系列元数据实例mi以及定义所述元数据实例之间的过渡的第二时序数据;

矩阵生成器,用于基于所述对象元数据、所述第一时序数据以及与当前回放系统配置相关的信息来生成同步渲染矩阵rsync,所述同步渲染矩阵rsync针对每个重建实例ci都具有渲染实例ri;以及

集成渲染器,所述集成渲染器包括:

矩阵组合器,用于将每个重建实例ci与相应的渲染实例ri相乘,以形成集成渲染矩阵int的相应实例;以及

矩阵变换,用于将所述集成渲染矩阵int应用于所述m个音频信号以便渲染音频输出。

eee20.根据eee19所述的系统,其中,所述矩阵变换被配置为使用所述第一时序数据来在所述集成渲染矩阵int的实例之间进行插值。

eee21.根据eee19或20所述的系统,其中,所述矩阵生成器被配置为:

使用所述第一时序数据来重新采样所述对象元数据以形成同步元数据,以及

由此基于所述同步元数据和所述与当前回放系统配置相关的信息来生成所述同步渲染矩阵rsync。

eee22.根据eee21所述的系统,其中,所述矩阵生成器被配置为针对每个重建实例ci选择适当的现有元数据实例mi。

eee23.根据eee21所述的系统,其中,所述矩阵生成器被配置为针对每个重建实例ci通过在现有元数据实例mi之间进行插值来计算相应的渲染实例。

eee24.根据eee19或20所述的解码器,其中,所述矩阵生成器被配置为:

基于所述对象元数据和所述与当前回放系统配置相关的信息来生成非同步渲染矩阵r,以及

由此,使用所述第一时序数据来重新采样所述非同步渲染矩阵r,以便形成所述同步渲染矩阵rsync。

eee25.根据eee24所述的系统,其中,所述矩阵生成器被配置为为每个重建实例ci选择所述非同步渲染矩阵r的适当的现有实例。

eee26.根据eee24所述的系统,其中,所述矩阵生成器被配置为针对每个重建实例ci通过在所述非同步渲染矩阵r的实例之间进行插值来计算相应的渲染实例。

eee27.根据eee19至26中任一项所述的系统,其中,所述边信息进一步包括解相关矩阵p,所述解码器进一步包括:

预矩阵变换,用于通过将矩阵q应用于所述m个音频信号来生成一组k个解相关输入信号,所述矩阵q是由所述解相关矩阵p和所述重建矩阵c形成的,

解相关级,用于对所述k个解相关输入信号进行解相关以形成k个经解相关的音频信号;

其中,所述矩阵组合器进一步被配置为将所述解相关矩阵p的每个实例pi与相应的渲染实例ri相乘,以形成集成解相关矩阵int2的相应实例;并且

其中,所述矩阵变换进一步被配置为将所述集成解相关矩阵int2应用于所述k个经解相关的音频信号,以便生成对经渲染音频输出的解相关贡献。

eee28.根据eee19至27中任一项所述的系统,其中,针对每个重建实例ci,所述第一时序数据都包括斜坡开始时间tci和斜坡持续时间dci,并且其中,从在前实例ci-1到所述实例ci的过渡是从tci开始、持续时间为dci的线性斜坡。

eee29.根据eee19至28中任一项所述的系统,其中,针对每个元数据实例mi,所述第二时序数据都包括斜坡开始时间tmi和斜坡持续时间dmi,并且从在前实例mi-1到所述实例mi的过渡是从tmi开始、持续时间为dmi的线性斜坡。

eee30.根据eee19至29中任一项所述的系统,其中,所述数据流被编码,所述系统进一步包括用于对所述m个音频信号、所述边信息和所述元数据进行解码的解码器。

eee31.一种用于自适应渲染音频信号的解码器系统,所述解码器系统包括:

接收器,用于接收数据流,所述数据流包括:

-m个音频信号,所述m个音频信号是n个音频对象的组合,其中,n>1且m≤n,

-边信息,所述边信息包括允许由所述m个音频信号重建所述n个音频对象的一系列重建实例ci,

-上混元数据,所述上混元数据包括定义所述n个音频对象之间的空间关系的一系列元数据实例mi,以及

-下混元数据,所述下混元数据包括定义所述m个音频信号之间的空间关系的一系列元数据实例mdmx,i;

第一渲染功能,所述第一渲染功能被配置为使用所述边信息、所述上混元数据和与当前回放系统配置相关的信息、基于所述m个音频信号来提供音频输出;

第二渲染功能,所述第二渲染功能被配置为使用所述下混元数据和与当前回放系统配置相关的信息、基于所述m个音频信号来提供音频输出;以及

处理逻辑,所述处理逻辑用于选择性地激活所述第一渲染功能或所述第二渲染功能。

eee32.根据eee31所述的系统,其中,所述第一渲染功能包括:

矩阵生成器,用于基于所述对象元数据、所述第一时序数据以及与当前回放系统配置相关的信息来生成同步渲染矩阵rsync,所述同步渲染矩阵rsync针对每个重建实例ci都具有渲染实例ri;以及

集成渲染器,所述集成渲染器包括:

矩阵组合器,用于将每个重建实例ci与相应的渲染实例ri相乘,以形成集成渲染矩阵int的相应实例,以及

矩阵变换,用于将所述集成渲染矩阵int应用于所述m个音频信号,以便渲染所述音频输出。

eee33.根据eee31或32所述的系统,其中,所述第二渲染功能包括:

矩阵生成器,用于基于所述下混元数据和与当前回放系统配置相关的信息来生成渲染矩阵r核心,以及

矩阵变换,用于将所述渲染矩阵r核心应用于所述m个音频信号以便渲染所述音频输出。

eee34.根据eee31至33中任一项所述的系统,其中,所述数据流被编码,并且所述系统进一步包括用于对所述m个音频信号、所述边信息、所述上混元数据和所述下混元数据进行解码的解码器。

eee35.根据eee31至34中任一项所述的系统,其中,所述处理逻辑基于音频信号的数量m和所述音频输出中的通道数量ch做出选择。

eee36.根据eee35所述的系统,其中,在m<ch时,执行所述第一渲染功能。

eee37.一种包括计算机程序代码部分的计算机程序产品,所述计算机程序代码部分当在计算机处理器上执行时,使得所述计算机处理器能够执行根据eee1至18之一所述的方法的步骤。

eee38.一种非暂态计算机可读介质,其上存储有根据eee37所述的计算机程序产品。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1