本申请要求提交于2006年5月4日、其申请通过援引全文包括于此的题 为“Enhancing Stereo Audio With Remix Capability(用再混音能力增强立体 声音频)”的欧洲专利申请No.EP06113521的优先权。
本申请要求提交于2006年10月13日、其申请通过援引全文包括于此的 题为“Enhancing Stereo Audio With Remix Capability(用再混音能力增强立 体声音频)”的美国临时专利申请No.60/829,350的优先权。
本申请要求提交于2007年1月11日、其申请通过援引全文包括于此的题 为“Separate Dialogue Volume(个别对话音量)”的美国临时专利申请No. 60/884,594的优先权。
本申请要求提交于2007年1月19日、其申请通过援引全文包括于此的题 为“Enhancing Stereo Audio With Remix Capability(用再混音能力增强立体 声音频)”的美国临时专利申请No.60/885,742的优先权。
本申请要求提交于2007年3月9日、其申请通过援引全文包括于此的题 为“Bitstream and Side Information For SAOC/Remix(用于SAOC/再混音的 比特流和辅助信息)”的美国临时专利申请No.60/894,162的优先权。
本申请的主题一般涉及
音频信号处理。
背景
许多消费音频设备(例如,立体声、媒体播放器、
移动电话、游戏控制台 等)允许用户使用对均衡(例如,低音、高音)、音量、声室效应等的控制来
修改立体声音频信号。然而这些修改是应用于整个音频信号而不是组成该音频 信号的个别音频对象(例如,
乐器)的。例如,用户不能在不影响整首歌曲的 前提下个别地修改歌曲中吉它、鼓声或唱音的立体声移位(panning)或增益。
已经提出在
解码器处提供混音灵活性的技术。这些技术依赖于两
耳线索编 码(BCC)、参数或空间音频解码器来生成混音解码器
输出信号。然而这些技 术中没有一个直接编码立体声混音(例如,经专业混音的音乐)以允许后向兼 容性而不折损音质。
已经提出空间音频编码技术用于使用声道间线索(例如,能级差、时间差、
相位差、相干性)来表示立体声或多声道音频声道。声道间线索作为“辅助信 息”被传送给解码器以用来生成多声道输出信号。然而,这些常规空间音频编 码技术具有若干
缺陷。例如,这些技术中的至少一部分要求向解码器传送每个 音频对象的单独信号,即使该音频对象在解码器处将不作修改。这种要求导致
编码器和解码器处不必要的处理。另一缺陷是对或者立体声(或多声道)音频 信号或音频源信号的编码器输入的限制,从而导致解码器处再混音的灵活性降 低。最后,这些常规技术中的至少一部分要求解码器处复杂的解相关处理,使 得这些技术不适于一些应用或设备。
概要
可修改与立体声或多声道音频信号的一个或多个对象(例如,乐器)相关 联的一个或多个属性(例如,移位、增益等)以提供再混音能力。
在一些实现中,一种方法包括:获取具有对象集的第一多声道音频信号; 获得辅助信息,该辅助信息的至少部分表示第一多声道音频信号与表示要被再 混音的对象的一个或多个源信号之间的关系;获取混音参数集;以及使用辅助 信息和混音参数集生成第二多声道音频信号。
在一些实现中,一种方法包括:获取具有对象集的音频信号;获取表示对 象的子集的源信号子集;以及从源信号子集生成辅助信息,该辅助信息的至少 部分表示音频信号与源信号子集之间的关系。
在一些实现中,一种方法包括:获取多声道音频信号;使用表示源信号集 在音场上的所需声向的所需源能级差来确定源信号集的增益因子;使用该多声 道音频信号来估计源信号集的直达声向的子带功率;以及通过修改作为直达声 向和所需声向的函数直达声向的子带功率来估计该源信号集中至少部分源信 号的子带功率。
在一些实现中,一种方法包括:获取混音音频信号;获取用于对混音音频 信号再混音的混音参数集;如果辅助信息可用,则使用辅助信息和混音参数集 对混音音频信号再混音;如果辅助信息不可用,则从混音音频信号生成盲参数 集;以及使用这些盲参数和混音参数集生成再混音音频信号。
在一些实现中,一种方法包括:获取包括语音源信号的混音音频信号;获 取
指定对语音源信号中一个或多个进行所需增强的混音参数;从混音音频信号 生成盲参数集;从盲参数和所述混音参数生成参数;以及向混音信号应用这些 参数以根据混音参数增强这一个或多个语音源信号。
在一些实现中,一种方法包括:生成用于接收指定混音参数的输入的用户 界面;通过
用户界面获取混音参数;获得包括源信号的第一音频信号;获取辅 助信息,该辅助信息的至少一部分表示第一音频信号与一个或多个源信号之间 的关系;以及使用辅助信息和混音参数对这一个或多个源信号再混音以生成第 二音频信号。
在一些实现中,一种方法包括:获取具有对象集的第一多声道音频信号; 获取辅助信息,该辅助信息的至少一部分表示第一多声道音频信号与表示要被 再混音的对象子集的一个或多个源信号之间的关系;获取混音参数集;以及使 用辅助信息和混音参数集生成第二多声道音频信号。
在一些实现中,一种方法包括:获取混音音频信号;获取用于对混音音频 信号再混音的混音参数集;使用混音音频信号和混音参数集生成再混音参数; 以及通过使用n×n矩阵将再混音参数应用于混音音频信号来生成再混音音频 信号。
公开了用于以再混音能力增强音频的其它实现,包括针对系统、方法、装 置、计算机可读介质和用户界面的实现。
附图描述
图1A是用于编码要在解码器处再混音的立体声信号加对应各对象的M个 源信号的编码系统的实现的
框图。
图1B是用于编码要在解码器处再混音的立体声信号加对应各对象的M个 源信号的过程的实现的
流程图。
图2示出用于分析和处理立体声信号和M个源信号的时-频图形表示。
图3A是用于使用原始立体声信号加辅助信息估计再混音的立体声信号的 再混音系统的实现的框图。
图3B是用于使用图3A的再混音系统估计经再混音的立体声信号的过程 的实现的流程图。
图4示出属于索引为b的分区的短时
傅立叶变换(STFT)系数的索引i。
图5示出将均匀STFT谱的谱系数分组以模拟人体听觉系统的不均匀
频率 分辨率。
图6A是图1中编码系统与常规立体声音频编码器相组合的实现的框图。
图6B是使用图1中的编码系统与常规立体声音频编码器相组合的编码过 程的实现的流程图。
图7A是图3A的再混音系统与常规立体声音频解码器相组合的实现的框 图。
图7B是使用与立体声音频解码器相组合的图7A中再混音系统的再混音 过程的实现的流程图。
图8A是实现全盲辅助信息生成的编码系统的实现的框图。
图8B是使用图8A中编码系统的编码过程的实现的流程图。
图9示出用于合需源能级差Li=L dB的示例增益函数f(M)。
图10是使用部分盲生成技术的辅助信息生成过程的实现的示图。
图11是用于向具有再混音能力的音频设备提供立体声信号和M个源 信号和/或辅助信息的客户机/
服务器架构的实现的框图。
图12示出具有再混音能力的媒体播放器的用户界面的实现。
图13示出将空间音频对象(SAOC)解码和再混音解码相组合的解码 系统的实现。
图14A示出个别对话音量(SDV)的一般混音模型。
图14B示出将SDV和再混音技术相组合的系统的实现。
图15示出图14B中所示的均衡-混音
渲染器的实现。
图16示出参照图1-15所述的再混音技术的分发系统的实现。
图17A示出用于提供再混音信息的各种比特流实现的要素。
图17B示出用于生成图17A中所示的比特流的再混音编码器
接口的实现。
图17C示出用于接收由图17B中所示的编码器接口生成的比特流的再混 音解码器接口的实现。
图18是包括用于生成特定对象信号的附加辅助信息以提供经改善的再混 音性能的扩展的系统的实现的框图。
图19是图18中所示的再混音渲染器的实现的框图。
具体描述
I.再混音立体声信号
图1A是用于编码要在解码器处再混音的立体声信号加对应各对象的M个 源信号的编码系统100的实现的框图。在一些实现中,编码系统100一般包括
滤波器编组阵列102、辅助信息生成器104以及编码器106。
A.原始及所需的再混音信号
时间离散立体声音频信号的两个声道被标示为和其中n是时 间索引。假定该立体声信号可被表示为
其中I是该立体声信号(例如,MP3)中所包含的源信号(例如,乐器)的数 目,而是源信号。因子ai和bi确定每个源信号的增益和振幅移位。假定所 有源信号是相互独立的。源信号可能不全是纯源信号。相反,这些源信号中的 一部分也可包含混响和/或其它音效信号分量。在一些实现中,在[1]中延迟di 可被引入到原始混合音频信号中以帮助与再混音参数的时间对准:
在一些实现中,编码系统100提供或生成用于修改原始立体声音频信号 (下文也被称为“立体声信号”)以使得M个源信号以不同的增益因子被“再 混音”到该立体声信号中的信息(下文也被称为“辅助信息”)。该所需的经 修改的立体声信号可被表示为
其中ci和di是要被再混音的M个源信号(即,具有索引1、2、...、M的源信 号)的新增益因子(下文也被称为“混音增益”或“混音参数”)。
编码系统100的目标是在仅给定原始立体声信号和少量辅助信息(例如, 与该立体声信号
波形中所含的信息相比较小)的情况下提供或生成用于再混音 立体声信号的信息。编码系统100所提供或生成的这种辅助信息可被用于解码 器中以在[1]的给定原始立体声信号下感性地模拟[2]的所需经修改的立体声信 号。采用该编码系统100,辅助信息生成器204生成用于将原始立体声信号再 混音的辅助信息,而解码器系统300(图3A)使用该辅助信息和原始立体声信 号生成所需的再混音立体声音频信号。
B.编码器处理
再次参照图1A,原始立体声信号和M个源信号作为输入被提供给滤波器 编组阵列102。原始立体声信号也被直接从编码器102输出。在一些实现中, 直接从编码器102输出的立体声信号可被延迟以与辅助信息比特流同步。在其 它实现中,立体声信号输出可在解码器处与辅助信息同步。在一些实现中,编 码系统100因变于时间和频率来适应性修改信号统计数据。因此,为了分析和 合成,该立体声信号和M个源信号以时-频表示的形式处理,如参照图4和5 所述。
图1B是用于编码要在解码器处再混音的立体声信号加对应各对象的M个 源信号的过程108的实现的流程图。输入立体声信号和M个源信号被分解成 数个子带(110)。在一些实现中,该分解是用滤波器编组阵列来实现的。对 于每个子带,如下更全面地描述的对这M个源信号估计增益因子(112)。对 于每个子带,如下所述地对这M个源信号计算出短时功率估计(114)。估计 出的增益因子和子带功率可被量化并编码以生成辅助信息(116)。
图2示出用于分析和处理立体声信号和M个源信号的时-频图形表示。该 图形的y轴表示频率且被划分为多个不均匀子带202。x轴表示时间且被划分 为多个时隙204。图2中每个虚线框表示相应的子带和时隙对。因此,对于给 定的时隙204,对应时隙204的一个或多个子带202可作为组206来处理。在 一些实现中,子带202的宽度是基于与人体听觉系统相关联的
感知限度来选择 的,如参照图4和5所述。
在一些实现中,输入立体声信号和M个输入源信号被滤波器编组阵列102 分解成多个子带202。每个中心频率处的子带202可类似地进行处理。在特定 频率上的立体声音频
输入信号的子带对被标示为x1(k)和x2(k),其中k是子带信 号的下
采样时间索引。类似地,M个输入源信号的对应子带信号被标示为s1(k)、 s2(k)、...、sM(k)。注意,为了简单标记起见,在该示例中已省略各子带的索引。 参照
下采样,为了效率可使用具有较低采样率的子带信号。通常滤波器编组和 STFT实际具有欠采样信号(或谱系数)。
在一些实现中,用于再混音索引为i的源信号所必需的辅助信息包括增益 因子ai和bi,以及每个子带中因变于时间的子带信号的功率估计E{si2(k)}。增益 因子ai和bi可被给出(如果已知该立体声信号的知识)或估计出。对于许多立 体声信号,ai和bi是静态的。如果ai和bi因变于时间k而变化,则这些增益因 子可因变于时间作出估计。并不必要使用子带功率的平均或估计来生成辅助信 息。相反,在一些实现中可使用实际子带功率Si2作为功率估计。
在一些实现中,可使用单极点平均化来估计短时子带功率,其中E{si2(k)}可 被计算为
其中a∈[0,1]决定指数衰减估计窗的时间常数,
且fs标示子带
采样频率。T的适当值可以是例如40毫秒。在以下等式中,E{.} 一般标示短时平均化。
在一些实现中,辅助信息ai和bi以及E{si2(k)}中的部分或全部可在与立体 声信号相同的介质上提供。例如,音乐发行商、录音工作室、录音艺术家等可 在压缩盘(CD)、数字视频盘(DVD)、闪存驱动等上提供辅助信息与相应 立体声信号。在一些实现中,部分或全部辅助信息可通过将辅助信息嵌入立体 声信号的比特流中或在单独比特流中传送辅助信息来在网络(例如,因特网、 以太网、无线网络)上提供。
如果ai和bi没有给出,则可以估计出这些因子。由于 ai可被计算为
类似地,bi可被计算为
如果ai和bi是时间自适应的,则E{.}运算符表示短时平均化运算。另一方面, 如果增益因子ai和bi是静态的,则增益因子可通过考虑整体立体声信号来计算 出。在一些实现中,对于每个子带可独立地估计出ai和bi。注意,在[5]和[6] 中,源信号si是独立的,但一般而言源信号si与立体声声道x1和x2不是独立 的,因为si被包含在立体声声道x1和x2中。
在一些实现中,每个子带的短时功率估计和增益因子被量化并由编码器 106编码以形成辅助信息(例如,低比特率比特流)。注意,这些值可以不直 接量化和编码,而是可首先被转换成更适合量化和编码的其它值,如参照图4 和5所述。在一些实现中,当使用常规音频编码器来高效地编码该立体声音频 信号时,E{si2(k)}可相对于输入立体声音频信号的子带功率被归一化,从而使得 编码系统100相对于变化较为稳健,如参照图6-7所述。
C.解码器处理
图3A是用于使用原始立体声信号加辅助信息来估计再混音立体声信号的 再混音系统300的实现的框图。在一些实现中,该再混音系统300一般包括滤 波器编组阵列302、解码器304、再混音模
块306以及逆滤波器编组阵列308。
再混音立体声信号的估计可在数个子带中独立地执行。辅助信息包括子带 功率E{si2(k)}与增益因子ai和bi-M个源信号以这些因子被包含在立体声信号 中。所需再混音立体声信号的新增益因子或混音增益由ci和di表示。混音增益 ci和di可由用户通过音频设备的用户界面指定,诸如参照图12所述的。
在一些实现中,输入立体声信号被滤波器编组阵列302分解成多个子带, 其中特定频率上的子带对被标示为x1(k)和x2(k)。如图3A中所示,辅助信息被 解码器304解码,从而针对要再混音的M个源信号的每一个生成包含在输入 立体声信号中的增益因子ai和bi以及针对每个子带的功率估计E{si2(k)}。辅助信 息的解码参照图4和5更具体地进行描述。
给定辅助信息,再混音立体声信号的相应子带对可由再混音模块306估计 为该再混音立体声信号的混音因子ci和di的函数。逆滤波器编组阵列308被应 用于估计出的子带对以提供再混音时域立体声信号。
图3B是使用图3A的再混音系统来估计再混音立体声的再混音过程310 的实现的流程图。输入立体声信号被分解成多个子带对(312)。为这些子带 对解码辅助信息(314)。各子带对使用辅助信息和混音增益进行再混音(318)。 在一些实现中,混音增益是由用户提供的,如参照图12所述。或者,混音增 益可由应用、
操作系统等程序化地提供。混音增益还可通过网络(例如,因特 网、以太网、无线网络)来提供,如参照图11所述。
D.再混音过程
在一些实现中,再混音立体声信号可使用最小均方估计在数学意义上进行 近似。任选地,可使用感知因素来修正该估计。
式[1]和[2]分别对于子带对x1(k)和x2(k)、以及y1(k)和y2(k)仍成立。在这种 情形下,源信号用源子带信号si(k)来代替。
立体声信号的子带对由下式给出
且再混音立体声信号的子带对为
给定原始立体声信号的子带对x1(k)和x2(k),具有不同增益的立体声信号 的子带对被估计为原始左右立体声子带对的线性组合,
其中w11(k)、w12(k)、w21(k)以及w22(k)是实数值加权因子。
估计误差被定义如下
可计算出每个频率上子带在每个时刻k的权重w11(k)、w12(k)、w21(k)以及 w22(k),以使得均方误差E{e12(k)}和E{e22(k)}被最小化。为了计算w11(k)和w12(k), 注意到当误差e1(k)与x1(k)和x2(k)
正交时E{e12(k)}被最小化,即
E{(y1-w11x1-w12x2)x1}=0
E{(y1-w11x1-w12x2)x2}=0. (11)
注意,为了标记方便起见略去了时间索引k。
重写这些方程得到
增益因子是该线性方程系的解:
当在给定解码器输入立体声信号子带对的情况下可直接估计出E{x12}、 E{x22}以及E{x1x2}时,E{x1y1}和E{x2y2}可使用辅助信息(E{s12}、ai、bi) 以及所需的再混音立体声信号的混音增益ci和di估计出:
类似地,可计算w21(k)和w22(k),得到
且
当左右子带信号相干或者接近相干时,即当
接近1时,则权重的解是不唯一或病态的。因此,如果φ大于特定
阈值(例如, 0.95),则权重是如以下计算出的,
w12=w21=0,
在φ=1的假设下,等式[18]是满足[12]和其它两个权重的类似正交性方程 系的不唯一解之一。注意,[17]中的相干性被用来判断x1和x2彼此的相似程度。 如果相干性为0,则x1和x2彼此独立。如果相干性为1,则x1和x2是相似的(但 可能有不同的能级)。如果x1和x2非常相似(相干性接近1),则两个声道 Wiener计算(四个权重计算)是病态的。该阈值的示例范围是约0.4到约1.0。
通过将计算出的子带信号转换到时域获得的结果再混音立体声信号听起 来与将真实地用不同混音增益ci和di混音的立体声信号(在下文该信号被标示 为“所需信号”)相类似。一方面,在数学上这要求计算出的子带信号与真实 不同地混音的子带信号相类似。在一定程度上就是这种情形。由于估计是在感 知促动的子带域中执行的,因此对相似度的要求没有那么强。只要感知相关定 位线索(例如,能级差和相干性线索)充分相似,计算出的再混音立体声信号 将听起来与所需信号相似。
E.任选:能级差线索的调节
在一些实现中,如果使用本文所述的处理,可获得良好结果。然而,为了 确保重要的能级差
定位线索与所需信号的能级差线索紧密相似,可应用对子带 的后定标以“调节”能级差线索来确保它们与所需信号的能级差线索相匹配。
为了修正[9]中最小平方子带信号估计,考虑子带功率。如果该子带功率 正确,则重要空间线索能级差也将正确。所需信号[8]左子带功率为
且来自[9]的估计的子带功率为
因此,为了让具有和y1(k)相同的功率,必须将其乘以
类似地,被乘以
以具有和所需子带信号y2(k)相同的功率。
II.辅助信息的量化和编码
A.编码
如先前小节中所述,用于再混音索引为i的源信号所必需的辅助信息是因 子ai和bi,以及每个子带中因变于时间的功率E{s12(k)}。在一些实现中,增益 因子ai和bi的相应增益和能级差值可以dB计算如下:
在一些实现中,增益和能级差值被量化并经霍夫曼编码。例如,可分别使 用具有2dB量化器步长大小的均匀量化器和一维霍夫曼编码器来量化和编码。 可使用其它已知的量化器和编码器(例如,向量量化器)。
如果ai和bi具有时间不变性,且假定辅助信息可靠地到达解码器处,则 相应的经编码的值仅需要传送一次。否则,可以定期时间间隔或响应于触发器 事件(例如,每当经编码的值改变时)来传送ai和bi。
为了对立体声信号的定标以及由于立体声信号的编码而造成的功率损耗/ 增益具有稳健性,在一些实现
中子带功率E{s12(k)}并不直接被编码为辅助信息。 相反,可使用关于立体声信号定义的度量:
使用相同估计窗/时间常数来计算各种信号的E{.}会是有利的。将辅助信 息定义为相对功率值[24]的一个优势在于可根据需要在解码器处使用与在编码 器处不同的估计窗/时间常数。同时,辅助信息与立体声信号之间的时间失配的 效应与源功率将作为绝对值传送时的情形相比被降低。为了量化和编码Ai(k), 在一些实现中使用步长大小例如为2dB的均匀量化器以及一维霍夫曼编码器。 结果比特率可以小到每要再混音的音频对象约3kb/s(千比特每秒)。
在一些实现中,当对应于要在解码器处被再混音的对象的输入源信号为静 默时能够降低比特率。编码器的编码模式可检测到该静默对象,并随后向解码 器传送指示该对象静默的信息(例如,每
帧单个比特)。
B.解码
给定经霍夫曼解码(量化)的值[23]和[24],用于再混音所需的值可被计 算如下:
18
III.实现细节
A.时-频处理
在一些实现中,基于STFT(短期傅立叶变换)的处理被用于参照图1-3 所述的编码/解码系统。可使用其它时-频变换来实现所需结果,包括但并不限 于正交镜像滤波(QMF)滤波器编组、修正离散余弦变换(MDCT)、小波滤 波器编组等。
为了分析处理(例如,前向滤波器编组操作),在一些实现中,N个样本 的帧在被应用N点
离散傅立叶变换(DFT)或
快速傅立叶变换(FFT)之前可 被乘以窗口。在一些实现中,可使用以下正弦窗:
如果处理块大小与DFT/FFT大小不同,则在一些实现中可使用0填充来 实际具有小于N的窗口。所述分析处理可以例如每N/2个样本(等于窗口跳跃 大小)地重复,从而得到50%的窗口重叠。也可使用其它窗口函数和百分比重 叠以实现所需结果。
为了从STFT谱域变换到时域,可向谱应用逆DFT或FFT。得到的结果 被再次乘以[26]中所述的窗口,并且与窗口相乘得到的相邻信号块被组合并加 上重叠以获得连续时域信号。
在一些情形下,STFT的均匀谱分辨率可能不能较好地适应人体感知。在 这种情形下,与个别地处理每个STFT频率系数相反,可将STFT系数“分组” 以使得一个组具有等效矩形带宽(ERB)近两倍的带宽,这是空间音频处理的 合适频率分辨率。
图4示出STFT系数当中属于索引为b的分区的索引i。在一些实现中, 仅考虑谱的前N/2+1个谱系数,因为谱是对称的。STFT系数当中属于索引为 b的分区的索引为i∈{Ab-1,Ab-1+1,...,Ab},其中A0=0,如图4所示。由各分区的 谱系数表示的信号对应于编码系统所使用的感知驱动子带分解。因此,在每个 这种分区内,所述处理被联合应用于该分区内的STFT系数。
图5示例性地示出对均匀STFT谱的谱系数的分组以模拟人体听觉系统的 非均匀频率分辨率。在图5中,对应采样率为44.1kHz的N=1024以及分区数 目B=20,其中每个分区具有近似2ERB的带宽。注意,由于奈奎斯特频率上 的截止,最后一个分区小于两个ERB。
B.统计数据的估计
给定两个STFT系数xi(k)和xj(k),可
迭代地估计用于计算再混音立体声音 频信号所需的值E{xi(k)xj(k)。在该情形下,子带采样频率fs是在其上计算STFT 谱的瞬时频率。为了获得每个感知分区(而不是每个STFT系数)的估计,估 计值可在被进一步使用之前在分区内进行平均。
先前小节中所述的处理可被应用于每个分区,就像该分区是一个子带一 样。可使
用例如重叠谱窗口实现分区之间的平滑以避免频率上的突发处理变 化,由此减少伪迹。
C.与常规音频编码器相组合
图6A是图1A中编码系统100与常规立体声音频编码器相组合的实现的 框图。在一些实现中,组合编码系统600包括常规编码器602、推荐编码器604 (例如,编码系统100)以及比特流组合器606。在所示示例中,立体声音频 输入信号由常规音频编码器602(例如,MP3、AAC、MPEG环绕等)编码并 由推荐编码器604分析以提供辅助信息,如先前参照图1-5所述。两个结果比 特流由比特流组合器606组合以提供
后向兼容的比特流。在一些实现中,组合 结果比特流包括将低比特率辅助信息(例如,增益因子ai和bi与子带功率 E{si2(k)}))嵌入到该后向兼容比特流中。
图6B是使用图1A中的编码系统100与常规立体声音频编码器相组合的 编码过程608的实现的流程图。输入立体声信号被使用常规立体声音频编码器 进行编码(610)。使用图1A的编码系统100从该立体声信号和M个源信号 生成辅助信息(612)。生成包括经编码的立体声信号和辅助信息的一个或多 个后向兼容比特流(614)。
图7A是图3A的再混音系统300与常规立体声音频解码器相组合以提供 组合系统700的实现的框图。在一些实现中,组合系统700一般包括比特流解 析器702、常规音频解码器704(例如,MP3、AAC)以及推荐解码器706。 在一些实现中,该推荐编码器706是图3A的再混音系统300。
在所示示例中,比特流被分解为立体声音频比特流和包含推荐解码器706 提供再混音能力所需要的辅助信息的比特流。立体声信号被常规音频解码器 704解码并馈送至推荐解码器706,后者因变于从比特流和用户输入获得的辅 助信息(例如,混音增益ci和di)来修改该立体声信号。
图7B是使用图7A的组合系统700的再混音过程708的一个实现的流程 图。接收自编码器的比特流被解析以提供经编码的立体声信号比特流和辅助信 息比特流(710)。经编码的立体声信号被使用常规音频解码器解码(712)。 示例解码器包括MP3、AAC(包括AAC的各种标准化型)、参数化立体声、 谱带复制(SBR)、MPEG环绕、或其任意组合。经解码的立体声信号被使用 该辅助信息和用户输入(例如,ci和di)进行再混音。
IV.多声道音频信号的再混音
在一些实现中,先前小节中所述的编码和再混音系统100、300可被扩展 以再混音多声道音频信号(例如,5.1环绕信号)。此后,立体声信号和多声 道信号也指“多声道”信号。本领域中普通技术人员将理解如何针对多声道编 码/解码方案——即针对两个以上的信号x1(k),x2(k),x3(k),...,xC(k)重写[7]到[22], 其中C是混音信号的音频声道的数目。
多声道情形中的式[9]变为:
…
具有C个方程的类似于[11]的等式可被导出并求解以确定权重,如先前所述。
在一些实现中,某些声道可被保留不作处理。例如,对于5.1环绕,两个 后声道可被保留不作处理,而仅对左前声道、右前声道和中间声道应用再混音。 在这种情形下,可向前声道应用三声道再混音
算法。
从所公开的再混音方案得到的音频
质量取决于所执行的修改的性质。对于 相对较弱的修改,例如从0dB到15dB的移位变化或10dB的增益修改,结果 音频质量可比常规技术所实现的质量要高。同样,所公开的推荐再混音方案的 质量会比常规再混音方案的质量要高,因为立体声信号仅是作必要的修改以实 现所需的再混音。
本文所公开的再混音方案相比于常规技术具有若干优势。首先,其允许对 给定的立体声或多声道音频信号中少于对象总数的对象进行再混音。这是通过 因变于给定的立体声音频信号加该立体声音频信号中表示M个对象的M个源 信号估计辅助信息来实现的,这些信息能用于解码器处的再混音。所公开的再 混音系统因变于辅助信息以及因变于用户输入(所需再混音)来处理给定的立 体声信号以生成与经真实不同混音的立体声信号感知上相类似的立体声信号。
V.基本再混音方案的增强
A.辅助信息预处理
当子带相对于毗邻子带被衰减得过多时,可发生音频伪迹。因此,需要限 制最大衰减。此外,由于立体声信号和对象源信号统计数据在编码器和解码器 处是分别独立地测量的,所以测得的立体声信号子带功率与对象信号子带功率 之间的比例(如辅助信息所表示)可能与实际有所偏差。为此,辅助信息可以 使其在物理上不可能,例如再混音信号的信号功率[19]会变成负数。以上两个 问题可如下所述地来解决。
左右再混音信号的子带功率为
其中PSi等于[25]中给出的经量化和编码的子带功率估计,后者是因变于辅助信 息计算出的。再混音信号的子带功率可被限制为使其绝不会低于原始立体声信 号的子带功率E{x12}超过LdB。类似地,E{y22}被限制为不低于E{x22}超过L dB。该结果可用以下运算来实现:
1.根据式[28]计算左右再混音信号子带功率。
2.如果E{y12}<QE{x12},则调节辅助信息计算值PSi以使得E{y12}=QE{x12}成立。 为了限制E{y12}的功率绝不会低于E{x12}超过AdB,Q可被设成Q=10-A/10。则 可通过乘以以下值来调节:
3.如果E{y22}<QE{x22},则调节辅助信息计算值以使得E{y22}=QE{x22}成立。
这可通过将PSi乘以以下值来实现
4.的值被设成经调节的并计算出权重w11(k)、w12(k)、w21(k) 以及w22(k)。
B.在使用四个或两个权重之间进行决策
对于许多情形,两个权重[18]足以计算左右再混音信号子带[9]。在一些情 形下,通过使用四个权重[13]和[15]可实现更佳的结果。使用两个权重意味着, 为了生成左输出信号仅使用左原始信号,对于右输出信号也是如此。因此,需 要四个权重的情形是在一侧的对象被再混音到另一侧时。在这种情形下,可预 期使用四个权重将是有利的,因为原始仅在一侧(例如,在左声道)的信号在 再混音之后主要将在另一侧(例如,在右声道)。因此,可使用四个权重以允 许信号从原始左声道流向经再混音的右声道,反之亦然。
当计算四个权重的最小平方问题是病态时,权重的量级可较大。类似地, 当使用上述一侧到另一侧的再混音时,仅使用两个权重时的权重量级可能较 大。由该发现所驱动,在一些实现中,可使用以下标准来决定是使用四个还是 两个权重。
如果A<B,则使用四个权重,否则使用两个权重。A和B分别是对四个和 两个权重的权重量级的度量。在一些实现中,A和B计算如下。为了计算A, 首先根据[13]和[15]计算四个权重,然后设A=ω112+ω122+ω212+w222。为了计算B, 可根据[18]计算权重,然后计算B=w112+w222。
C.在需要时改善衰减度
当源要被完全移除时,例如在卡拉OK应用中移除主声
音轨时,其混音增 益为ci=0和di=0。然而,当用户选择零混音增益时,所实现的衰减度可受到限 制。因此,为了改善衰减,从辅助信息获得的相应源信号的源子带功率值 在被用来计算权重w11(k)、w12(k)、w21(k)和w22(k)之前,可用大于1的 值(例如,2)定标。
D.通过权重平滑改善音频质量
已经观察到所公开的再混音方案可能会在所需信号中引入伪迹,特别是在 音频信号是
音调的或平稳的时候。为了改善音频质量,在每个子带,可计算平 稳性/音调度量。如果平稳性/音调超过特定阈值TON0,则在时间上对估计权重 进行平滑。平滑运算如下所述:对于每个子带,在时间索引k,被应用于计算 输出子带的权重如下获得:
·如果TON(k)>TON0,则
其中和是经平滑的权重,而w11(k)、w12(k)、w21(k)和w22(k) 是如先前所述计算出的未经平滑的权重。
·否则
E.堂音/混响控制
本文所述的再混音技术以混音增益ci和di的形式提供用户控制。这对应 于针对每个对象确定增益Gi和振幅移位Li(方向),其中增益和移位完全由 ci和di决定,
在一些实现中,可能希望除了源信号的增益和振幅移位之外还控制立体声 混音的其它特征。在以下描述中,描述用于修改立体声音频信号的堂音 (ambience)的程度的技术。对该解码器任务不使用辅助信息。
在一些实现中,[44]中给出的信号模型可被用来修改立体声信号的堂音的 程度,其中n1和n2的子带功率被假设相等,即,
可再次假设s、n1和n2是相互独立的。给定这些假设,相干性[17]可被写 成
这对应于具有变量PN(k)的二次方程,
该二次方程的解为
物理上可能的解是均方根前为负号的那个解,
因为PN(k)必须小于或等于E{x12(k)}+E{x22(k)}。
在一些实现中,为了控制左右堂音,可关于两个对象应用再混音技术:一 个对象是左侧上索引为i1且子带功率E{si12(k)}=PN(k)的源,即ai1=1且bi1=0。另 一对象是右侧上索引为i2且子带功率E{si22(k)}=PN(k)的源,即ai2=0且bi2=1。为 了改变堂音的量,用户可选择ci1=di1=10ga/20且ci2=di1=0,其中ga是以dB计的 堂音增益。
F.不同辅助信息
在一些实现中,经修改的或不同的辅助信息可被用在所公开的在比特率方 面更加高效的再混音方案中。例如,在[24]中,Ai(k)可具有任意值。对原始源 信号si(n)的能级也有依存性。因此,为了获得所需范围内的辅助信息,源输入 信号的能级将需要调整。为了避免该调整并移除辅助信息对原始源信号能级的 依存性,在一些实现中,源子带功率不仅可如[24]中那样相对于立体声信号子 带功率进行归一化,还可考虑混音增益:
这对应于将用立体声信号归一化的包含在立体声信号中的源功率(而非直 接地源功率)用作为辅助信息。或者,可使用像以下形式的归一化:
该辅助信息也更具效率,因为Ai(k)可仅取小于或等于0dB的值。注意, 可对应子带功率E{si2(k)}求解[39]和[40]。
G.立体声源信号/对象
本文所述的再混音方案可容易地扩展成处理立体声源信号。从辅助信息的
角度,立体声源信号就类似两个单声道源信号地进行处理:一个仅被混音到左 声道而另一个仅被混音到右声道。即,左源声道i具有非零的左增益因子ai和 为零的右增益因子bi+1。增益因子ai和bi+1可用[6]来估计。辅助信息可以如同 立体声源将是两个单声道源那样进行传送。一些信息需要被传送至解码器以向 解码器指示哪些源是单声道源而哪些是立体声源。
关于解码器处理和
图形用户界面(GUI),一种可能性是在解码器处类似 于单声道源信号地呈现立体声源信号。即,立体声源信号具有类似于单声道源 信号的增益和移位控制。在一些实现中,非再混音立体声信号的GUI的增益和 移位控制与增益因子之间的关系可被选择成:
GAIN0=0dB,
(41)
即,GUI可初始地被设为这些值。用户所选的GAIN(增益)和PAN(移 位)与新增益因子之间的关系可被选择成:
可针对可被用作再混音增益(ci+1=0且di=0)的ci和di+1求解方程[42]。 所述功能集类似于对立体声
放大器的“平衡”控制。源信号的左右声道的增益 在不引入串音的情况下进行修改。
VI.辅助信息的盲生成
A.辅助信息的全盲生成
在所公开的再混音方案中,编码器接收立体声信号和表示要在解码器处被 再混音的对象的数个源信号。用于在解码器处再混音索引为i的源信号所需的 辅助信息是从增益因子ai和bi以及子带功率E{si2(k)}确定的。在给定源信号时 的情形下辅助信息的确定在先前小节中有所描述。
尽管容易获得立体声信号(因为这对应于当今现有的产品),但获得对应 于要在解码器处被再混音的对象的源信号可能是较为困难的。因此,需要即使 对象的源信号不可用也能生成用于再混音的辅助信息。在以下描述中,描述用 于仅从立体声信号生成辅助信息的全盲生成技术。
图8A是实现全盲辅助信息生成的编码系统800的实现的框图。编码系统 800一般包括滤波器编组阵列802、辅助信息生成器804以及编码器806。立体 声信号被滤波器编组阵列802接收,后者将立体声信号(例如,左声道和右声 道)分解为子带对。子带对被辅助信息生成器804接收,后者使用所需的源能 级差Li和增益函数f(M)从子带对生成辅助信息。注意,滤波器编组阵列802 或辅助信息生成器804都未对源信号操作。辅助信息完全是从输入的立体声信 号、所需的源能级差Li和增益函数f(M)导出的。
图8B是使用图8A中编码系统的编码过程808的实现的流程图。输入立 体声信号被分解为子带对(810)。对于每个子带,使用所需的源能级差值Li 对每个所需源信号确定增益ai和bi(812)。对于直达声源信号(例如,音场 中中心移位的源信号),所需源能级差为Li=0dB。给定Li,计算出增益因子:
其中A=10Li/10。注意ai和bi已经被计算为使得ai2+bi2=1。该条件并不是必需 的,而是在Li的量级较大时防止ai或bi较大的任意选择。
接着,使用子带对和混音增益估计直达声的子带功率(814)。为了计算 直达声子带功率,可假定每个时刻的每个输入信号左子带和右子带可被写成
x1=as+n1,
x2=bs+n2, (44)
其中a和b是混音增益,s表示所有源信号的直达声而n1和n2表示独立的环境 声。
可假定a和b是
其中B=E{x22(k)}/E(x12(k)}。注意a和b可被计算成使得与s一起被包含在x2和 x1中的能级差与x2和x1之间的能级差相同。直达声的以dB计的能级差为 M=log10B。
可根据[44]中给出的信号模型计算直达声子带功率E{s2(k)}。在一些实现中, 使用以下方程系:
E{x1(k)x2(k)}=abE{s2(k)}.
已在[46]中假定[34]中的s、n1和n2是相互独立的,[46]中的左侧量可被测 量且a和b是可用的。因此,[46]中的三个未知量是E{s2(k)}、E{n12(k)}以及 E{n22(k)}。直达声子带功率E{s2(k)}可如下给出
直达声子带功率也可被写成相干性[17]的函数,
在一些实现中,所需源子带功率E{si2(k)}的计算可分两步骤执行:首先, 计算直达声子带功率E{s2(k)},其中s表示[44]中所有源的直达声(例如,中心 移位的)。然后,通过根据直达声方向(由M表示)和所需声向(由所需源 能级差L表示)修改直达声子带功率E{s2(k)}来计算所需源子带功率E{si2(k)}:
其中f(.)是增益函数,其因变于方向返回仅对于所需源方向才接近1的增益因 子。作为最后步骤,增益因子和子带功率E{si2(k)}可被量化和编码以生成辅助信 息(818)。
图9示出用于合需源能级差Li=LdB的示例增益函数f(M)。注意,方向 性的程度可以通过选择f(M)以具有合需方向附近较宽或较窄的峰值Lo来控 制。对于在中心的合需源,可使用Lo=6dB的峰值宽度。
注意,采用上述全盲技术,可确定给定源信号si的辅助信息(ai、bi、 E{si2(k)})。
B.辅助信息的盲生成和非盲生成之间的组合
上述全盲生成技术在特定情形下可能受到限制。例如,如果两个对象在立 体声音场上具有相同
位置(方向),则不可能盲生成关于这一个或两个对象的 辅助信息。
全盲生成辅助信息的一种替换方案是辅助信息的部分盲生成。部分盲技术 生成与原始对象波形粗略对应的对象波形。这可以通过例如让歌手或音乐家演 奏/再现该特定对象信号来实现。或者可为此采用MIDI数据并令合成器生成该 对象信号。在一些实现中,“粗略”对象波形与要关于其生成辅助信息的立体 声信号时间对准。那么,辅助信息可使用作为盲辅助信息生成与非盲辅助信息 生成的组合的过程来生成。
图10是使用部分盲生成技术的辅助信息生成过程1000的实现的示图。 过程1000通过获取输入立体声信号和M个“粗略”源信号开始(1002)。 接着,对这M个“粗略”源信号确定增益因子ai和bi(1004)。在每个子 带的每个时隙中,对每个“粗略”源信号确
定子带功率的第一短时估计 E{si2(k)}(1006)。使用对输入立体声信号应用的全盲生成技术对每个“粗 略”源信号确定子带功率的第二短时估计Ehat{si2(k)}。
最后,向估计出的子带功率应用将第一和第二子带功率估计相组合并 返回可实际用于辅助信息计算的最终估计的函数(1010)。在一些实现中, 该函数F()由下式给出
VI.架构、用户界面、比特流语法
A.客户机/服务器架构
图11是用于向具有再混音能力的音频设备提供立体声信号和M个源信 号和/或辅助信息的客户机/服务器架构1100的实现的框图。架构1100仅是 示例。其它架构也是可能的,包括具有更多或更少组件的架构。
架构1100一般包括具有储存库1104(例如,MySQLTM)和服务器1106 (例如,WindowsTM NT、Linux服务器)的下载服务1102。储存库1104 可存储各种类型的内容,包括专业混音的立体声信号以及对应该立体声信 号中的对象和各种效果(例如,混响)的相关联源信号。立体声信号能以 包括MP3、PCM、AAC等各种标准化格式来存储。
在一些实现中,源信号被存储在储存库1104中并且可供下载到音频设 备1110。在一些实现中,经预处理的辅助信息被存储在储存库1104中并可 供下载到音频设备1110。经预处理的辅助信息可由服务器1106使用参照图 1A、6A和8A所述的编码方案中的一种或多种来生成。
在一些实现中,下载服务1102(例如,
网站、音乐商店)通过网络1108 (例如,因特网、内联网、以太网、无线网络、
对等网络)与音频设备1110 通信。音频设备1110可以是能够实现所公开的再混音方案的任何设备(例 如,媒体播放器/记录器、移动手机、
个人数字助理(PDA)、游戏控制台、 机顶盒、电视接收机、媒体中心等)。
B.音频设备架构
在一些实现中,音频设备1110包括一个或多个处理器或处理器核1112、 输入设备1114(例如,点击轮、
鼠标、操纵杆、
触摸屏)、输出设备1120(例 如,LCD)、网络接口1118(例如,USB、火线、以太网、网络接口卡、无线 收发机)以及计算机可读介质1116(例如,
存储器、
硬盘、闪存
驱动器)。这 些组件中的部分或全部可通过通信信道1112(例如,总线、桥路)发送和/或 接收信息。
在一些实现中,计算机可读介质1116包括操作系统、音乐管理器、音频 处理器、再混音模块以及音乐库。操作系统负责管理音频设备1110的基本管 理和通信任务,包括文件管理、存储器
访问、总线争用、控制
外围设备、用户 界面管理、功率管理等。音乐管理器可以是管理音乐库的应用。音频处理器可 以是用于播放音乐文件(例如,MP3、CD音频等)的常规音频处理器。再混 音模块可以是实现参照图1-10所述的再混音方案的功能集的一个或多个
软件 组件。
在一些实现中,服务器1106编码立体声信号并生成辅助信息,如参照图 1A、6A和8A所述。该立体声信号和辅助信息通过网络1108被下载到音频设 备1110。再混音模块解码该信号和辅助信息并基于通过输入设备1114(例如,
键盘、点击轮、触摸显示器)接收到的用户输入提供再混音能力。
C.用于接收用户输入的用户界面
图12是具有再混音能力的媒体播放器1200的用户界面1202的实现。 用户界面1202还可被适应性地修改以适用于其它设备(例如,移动电话、 计算机等)。用户界面并不限于所示配置或格式,还可包括不同类型的用 户界面元素(例如,导航控制、触摸面)。
用户可通过突出显示用户界面1202上的恰当项来进入设备1200的“再 混音”模式。在该示例中,假定用户已从音乐库中选择歌曲并希望改变主 声音轨的移位设置。例如,用户可能想要听到更多左音频声道中的主声。
为了获得对所需移位控件的访问,用户可导航一系列子菜单1204、1206 和1208。例如,用户可使用轮1210滚动经过子菜单1204、1206和1208 上的项。用户可通过点击按钮1212选择突出显示的菜单项。子菜单1208 提供对主声音轨的所需移位控制的访问。用户随后可在该歌曲正在播放时 按需操控滑动块(例如,使用轮1210)以调节主声的移位。
D.比特流语法
在一些实现中,参照图1-10所述的再混音方案可被包括在现行或未来的 音频编码标准(例如,MPEG-4)中。用于现行或未来编码标准的比特流语法 可包括可被具有再混音能力的解码器用来确定如何处理该比特流以允许用户 进行再混音的信息。这种语法可被设计成提供与常规编码方案的后向兼容性。 例如,包括在比特流中的数据结构(例如,分组报头)可包括指示用于再混音 的辅助信息(例如,增益因子、子带功率)的可用性的信息(例如,一个或多 个比特或标志)。
本
说明书中所述的公开及其它
实施例和功能操作——包括本说明书中公 开的结构及其等效结构——可以数字
电路、或以计算机软件、
固件、或
硬件来 实现,或者可以它们中一个或多个的组合来实现。所公开的及其它的实施例可 被实现为一个或多个
计算机程序产品,即在计算机可读介质上编码以供数据处 理装置执行或控制
数据处理装置的操作的计算机程序指令的一个或多个模块。 计算机可读介质可以是机器可读存储设备、机器可读存储衬底、存储器件、影 响机器可读传播信号的合成物、或者它们当中一种或多种的组合。术语“数据 处理装置”涵盖用于处理数据的所有装置、设备、和机器,包括例如可编程处 理器、计算机、或多个处理器或计算机。除硬件之外,装置还可包括为所讨论 的计算机程序创建
执行环境的代码,例如构成处理器固件、协议栈、
数据库管 理系统、操作系统、或它们当中一个或多个的组合的代码。传播信号是人工生 成的信号,例如被生成以编码要传输到合适接收机装置的信息的由机器生成的 电、光、或电磁信号。
计算机程序(也被称为程序、软件、软件应用、脚本、或代码)可以任何 形式的编程语言——包括编译和解释语言——编写,并且可以任何形式采用, 包括作为单机程序或作为适用于计算环境的模块、组件、子例程、或其它单元。 计算机程序不必对应文件系统中的文件。程序可被存储在保存有其它程序或数 据(例如,存储在
标记语言文档中的一个或多个脚本)的文件的一部分中,被 存储在专用于所讨论的程序的单个文件中、或者被存储在多个协作文件中(例 如,存储代码的一个或多个模块、子程序、或部分的文件)。计算机程序可被 用来在位于一个地点的一台计算机上或位于一个地点或通过通信网络跨多个 地点分布和互连的多台计算机上执行。
本说明书中所述的过程和逻辑流可由执行一个或多个计算机程序的一个 或多个可编程处理器来执行以通过对输入数据进行运算并生成输出来执行功 能。过程和逻辑流还可由
专用逻辑电路执行,且装置也可被实现为这些专用逻 辑电路,例如FPGA(现场可编程
门阵列)或ASIC(
专用集成电路)。
作为示例,适于执行计算机程序的处理器包括通用和专用
微处理器、以及 任何种类的数字计算机的任意一个或多个处理器。一般而言,处理器将从只读 存储器或
随机存取存储器或两者中接收指令和数据。计算机的基本元件是用于 执行指令的处理器以及用于存储指令和数据的一个或多个存储器设备。一般而 言,计算机还将包括诸如磁盘、磁-光盘、或光盘等用于存储数据的一个或多 个海量存储设备,或者可操作性地耦合以从/向这些设备接收/传送数据。然而, 计算机无需具有这些设备。适于存储计算机程序指令和数据的计算机可读介质 包括所有形式的
非易失性存储器、介质和存储设备,作为示例,包括诸如 EPROM、EEPROM和闪存设备等
半导体存储设备,诸如内部硬盘或可移动盘 等磁盘,磁-光盘,以及CD-ROM和DVD-ROM盘。处理器和存储器可用专用
逻辑电路来补充或可被纳入到专用逻辑电路中。
为了提供与用户的交互,所公开的实施例可在计算机上实现,该计算机可 具有诸如CRT(
阴极射线管)或LCD(
液晶显示器)监视器等用于向用户显 示信息的显示设备、以及诸如鼠标或
跟踪球等用户可借其来向计算机提供输入 的键盘和定点设备。其它类型的设备也可被用来提供与用户的交互,例如提供 给用户的反馈可以是任意形式的感官反馈,例如
视觉反馈、听觉反馈、或触觉 反馈,而来自用户的输入可以包括声学、语音、或触觉输入等任意形式接收。
所公开的实施例可在计算系统中实现,该计算系统包括诸如数据服务器等 后端组件、诸如
应用服务器的
中间件组件、或者诸如具有用户可通过其与本文 所公开的实现交互的图形用户界面或Web浏览器的客户端计算机的前端组件, 或者可包括一个或多个这种后端、中间件、或前端组件的任意组合。该系统的 组件可通过数字数据通信的任意形式或介质进行互连,例如通过通信网络互 连。通信网络的示例包括局域网(“LAN”)和诸如因特网等广域网(“WAN”)。
计算系统可包括客户机和服务器。客户机和服务器一般彼此远离且通常通 过通信网络交互。客户机与服务器的关系通过在各自计算机上运行的计算机程 序发生并彼此具有客户机-服务器关系。
VII.使用再混音技术的系统示例
图13示出将空间音频对象解码(SAOC)和再混音解码相组合的解码 系统1300的实现。SAOC是用于处理多声道音频的音频技术,其允许对已 编码声音对象的交互操控。
在一些实现中,系统1300包括混音信号解码器1301、参数生成器1302 和再混音渲染器1304。参数生成器1302包括盲估计器1308、用户-混音参 数生成器1310和再混音参数生成器1306。再混音参数生成器1306包括均 衡-混音参数生成器1312和上-混音参数生成器1314。
在一些实现中,系统1300提供两种音频过程。在第一过程中,编码系 统提供的辅助信息被再混音参数生成器1306用来生成再混音参数。在第二 过程中,盲参数由盲估计器1308生成并被再混音参数生成器1306用来生 成再混音参数。盲参数和全盲或部分盲生成过程可由盲估计器1308执行, 如参照图8A和8B所述。
在一些实现中,再混音参数生成器1306接收辅助信息或盲参数以及来 自用户-混音参数生成器1310的一组用户混音参数。用户-混音参数生成器 1310接收最终用户指定的混音参数(例如,GAIN、PAIN)并将该混音参 数转换成适于再混音参数生成器1306的再混音处理的格式(例如,转换成 增益ci和di+1)。在一些实现中,用户-混音参数生成器1310提供允许用户 指定所需混音参数的用户界面,诸如如参照图12所述的媒体播放器用户界 面1200。
在一些实现中,再混音参数生成器1306可处理立体声和多声道音频信 号两者。例如,均衡-混音参数生成器1312可生成用于立体声声道目标的 再混音参数,而上-混音参数生成器1314可生成用于多声道目标的再混音 参数。基于多声道音频信号的再混音参数生成参照小节IV进行描述。
在一些实现中,再混音渲染器1304接收用于立体声目标信号或多声道目 标信号的再混音参数。均衡-混音渲染器1316将立体声再混音参数应用于直接 接收自混音信号解码器1301的原始立体声信号以基于由用户-混音参数生成器 1310所提供的由用户指定的格式化立体声混音参数来提供所需的再混音立体 声信号。在一些实现中,立体声再混音参数可使用立体声再混音参数的nxn 矩阵(例如,2x2矩阵)应用于原始立体声信号。上-混音渲染器1318将多声 道再混音参数应用于直接接收自混合信号解码器1301的原始多声道信号以基 于由用户混音参数生成器1310提供的由用户指定的格式化多声道混音参数来 提供所需的再混音多声道信号。在一些实现中,效果生成器1320生成将分别 由均衡-混音渲染器1316或上-混音渲染器应用于原始立体声或多声道信号的 效果信号(例如,混响)。在一些实现中,上-混音渲染器1318接收原始立体 声信号并除应用再混音参数之外将该立体声信号转换(或上-混音)成多声道 信号以生成再混音多声道信号。
系统1300可处理具有各种声道配置的音频信号,从而允许系统1300被纳 入现有音频编码方案(例如,SA0C、MEPG、AAC、参数化立体声)中,同 时维持与这些音频编码方案的后向兼容性。
图14A示出个别对话音量(SDV)的一般混音模型。SDV是在题为 “Separate Dialogue Volume(个别对话音量)”的美国临时专利申请No. 60/884,594中描述的经改善的对话增强技术。在SDV的一种实现中,立体 声信号被记录和混音成使得对于每个源,该信号以特定的方向线索(例如, 能级差、时间差)相干地进入左信号声道和右信号声道,而反射/混响的独 立信号进入各声道以确定听觉事件宽度和听众包封线索。参照图14A,因 子a决定听觉事件出现的方向,其中s是直达声而n1和n2是侧向反射。信 号s模拟来自由因子a决定的方向的定位声。独立信号n1和n2对应反射/ 混响声——常被标示为环境声或堂音。所述场景是对具有一个音频源的立 体声信号的感知驱动分解,
x1(n)=s(n)+n1
x2(n)=as(n)+n2, (51)
以捕获该音频源和堂音的定位。
图14B示出将SDV与再混音技术相组合的系统1400的实现。在一些 实现中,系统1400包括滤波器编组1402(例如,STFT)、盲估计器1404、 均衡-混音渲染器1406、参数生成器1408以及逆滤波器编组1410(例如, 逆STFT)。
在一些实现中,SDV下混音信号被接收并由滤波器编组1402分解成 子带信号。下混音信号可以是由[51]给出的立体声信号x1、x2。子带信号 X1(i,k)、X2(i,k)被直接输入到均衡-混音渲染器1406或输入到输出盲参数A、 PS、PN的盲估计器1404。这些参数的计算在题为“Separate Dialogue Volume (个别对话音量)”的美国临时专利申请No.60/884,594中描述。盲参数被 输入到参数生成器1408,后者从盲参数和用户指定的混音参数g(i,k)(例如, 中心增益、中心宽度、截止频率、干度)生成均衡-混音参数w11~w22。均衡 -混音参数的计算在小节I中描述。均衡-混音参数被均衡-混音渲染器1406 应用于子带信号以提供经渲染的输出信号y1、y2。均衡-混音渲染器1406的 经渲染的输出信号被输入到逆滤波器编组1410,后者将该已渲染输出信号 转换成基于用户所指定的混音参数的所需SDV立体声信号。
在一些实现中,系统1400还可使用如参照图1-12所述的再混音技术 来处理音频信号。在再混音模式下,滤波器编组1402接收诸如[1]和[27]中 描述的信号的立体声或多声道信号。信号被滤波器编组1402分解成子带信 号X1(i,k)、X2(i,k)并被直接输入到均衡-渲染器1406和用于估计盲参数的盲 估计器1404。盲参数与在比特流中接收到的辅助信息ai、bi、Psi一起被输 入到参数生成器1408中。参数生成器1408将盲参数和辅助信息应用于子 带信号以生成经渲染的输出信号。经渲染的输出信号被输入到逆滤波器编 组1410,后者生成所需的再混音信号。
图15示出图14B中所示的均衡-混音渲染器1406的实现。在一些实现 中,下混音信号X1被定标模块1502和1504定标,而下混音信号X2被定 标模块1506和1508定标。定标模块1502用均衡-混音参数w11对下混音信 号X1定标,定标模块1504用均衡-混音参数w21对下混音信号X1定标, 定标模块1506用均衡-混音参数w12对下混音信号X2定标,而定标模块1508 用均衡-混音参数w22对下混音信号X2定标。定标模块1502和1506的输出 被累加以提供第一经渲染输出信号y1,而定标模块1504和1508被累加以 提供第二经渲染输出信号y2。
图16示出参照图1-15所述的再混音技术的分发系统1600的实现。在一 些实现中,内容供应商1602使用包括如先前参照图1A所述用于生成辅助信息 的再混音编码器1606的创作工具1604。辅助信息可以是一个或多个文件的一 部分和/或包括在比特流送服务的比特流中。再混音文件可具有独特的文件扩展 名(例如,文件名.rmx)。单个文件可包括原始混音音频信号和辅助信息。或 者,该原始混音音频信号和辅助信息可作为分组、数据束、数据包或其它合适 容器中的单独文件进行分发。在一些实现中,为帮助用户习知该技术和/或出于 市场目的,再混音文件可与预设的混音参数一起分发。
在一些实现中,原始内容(例如,原始混音音频文件)、辅助信息和任选 的预设混音参数(“再混音信息”)可被提供给服务供应商1608(例如,音乐 门户)或被置于物理介质上(例如,CD-ROM、DVD、媒体播放器、闪存)。 服务器供应商1608可操作一个或多个服务器1610以提供该再混音信息的全部 或部分和/或包含该再混音信息的全部或部分的比特流。再混音信息可被存储在 储存库1612中。服务供应商1608还可提供
虚拟环境(例如,社会团体、门户、 布告板)以共享用户生成的混音参数。例如,由用户在混音就绪设备1616(例 如,媒体播放器、移动手机)上生成的混音参数可被存储在混音参数文件中, 该文件可被上传到服务供应商1608以与其他用户共享。混音参数文件可具有 独特的扩展名(例如,文件名.rms)。在所示示例中,用户使用再混音播放器 A生成混音参数文件并将该混音参数文件上传到服务供应商1608,其中该文件 随后被操作再混音播放器B的用户下载。
系统1600可使用任何已知的数字权限管理方案和/或保护原始内容和再混 音信息的其它已知安全方法来实现。例如,操作再混音播放器B的用户可能需 要单独下载原始内容并在用户能够访问或使用再混音播放器B所提供的再混 音特征之前得到
许可证。
图17A示出用于提供再混音信息的比特流的基本要素。在一些实现中, 单个集成比特流1702可被提供给再混音使能设备,其包括混音音频信号 (Mixed_Obj BS)(混音_对象 比特流)、增益因子和子带功率(Ref_Mix_Para BS)(参考_混音_参数 比特流)以及用户指定混音参数(User_Mix_Para BS) (用户_混音_参数 比特流)。在一些实现中,再混音信息的多个比特流可以 单独地递送至再混音使能设备。例如,混音音频信号可在第一比特流1704中 递送,而增益因子、子带功率和用户指定的混音参数可在第二比特流1706中 递送。在一些实现中,混音音频信号、增益因子和子带功率、以及用户指定的 混音参数可在三个单独的比特流1708、1710和1712中递送。这些单独的比特 流可以相同或不同的比特率进行递送。这些比特流可根据需要使用节省带宽和 确保稳健性的各种已知技术来处理,包括比特交织、
熵编码(例如,霍夫曼编 码)、纠错等。
图17B示出再混音编码器1714的比特流接口。在一些实现中,再混音编 码器接口1714的输入可包括混音对象信号、个体对象或源信号以及编码器选 项。编码器接口1714的输出可包括混音音频信号比特流、包括增益因子和子 带功率的比特流、以及包括预设混音参数的比特流。
图17C示出再混音解码器1716的比特流接口。在一些实现中,再混音解 码器接口1716的输入可包括混音音频信号比特流、包括增益因子和子带功率 的比特流、以及包括预设混音参数的比特流。解码器接口1716的输出可包括 再混音音频信号、上混音渲染器比特流(例如,多声道信号)、盲再混音参数、 以及用户再混音参数。
编码器和解码器接口的其他配置也是可能的。图17B和17C中所示的接 口配置可被用来定义应用程序接口(API)以允许再混音使能设备处理再混音 信息。图17B和17C中所示的接口是示例,其它配置也是可能的,包括部分 地取决于设备而具有不同数目和类型的输入和输出的各种配置。
图18是包括用于生成特定对象信号的附加辅助信息以提供经改善的再混 音信号感知质量的扩展的示例系统1800的框图。在一些实现中,系统1800包 括(在编码侧)混音信号编码器1808和增强型再混音编码器1802,后者包括 再混音编码器1804和信号编码器1806。在一些实现中,系统1800包括(在解 码侧)混音信号解码器1810、再混音渲染器1814和参数生成器1816。
在编码器侧,混音音频信号被混音信号编码器1808(例如,mp3编码器) 编码并被发送到解码侧。对象信号(例如,主声、吉它、鼓或或其它乐器)被 输入到如先前参照图1A和3A所述生成辅助信息(例如,增益因子和子带功 率)的再混音编码器1804。另外,感兴趣的一个或多个对象信号被输入到信号 编码器1806(例如,mp3编码器)以产生附加辅助信息。在一些实现中,对准 信息被输入到信号编码器1806以分别将混音信号编码器1808和信号编码器 1806的输出信号对准。对准信息可包括时间对准信息、所使用的编解码器的类 型、目标比特率、比特分配信息或策略等。
在解码器侧,混音信号编码器的输出被输入到混音信号解码器1810(例 如,mp3解码器)。混音信号解码器1810的输出和编码器辅助信息(例如, 编码器生成的增益因子、子带功率、附加辅助信息)被输入到参数生成器1816, 后者将这些参数结合控制参数(例如,用户指定的混音参数)一起使用以生成 再混音参数和附加再混音数据。再混音参数和附加再混音数据可被再混音渲染 器1814用来渲染再混音音频信号。
附加再混音数据(例如,对象信号)被再混音渲染器1814用来将特定对 象再混音在原始混音音频信号中。例如,在卡拉OK应用中,表示主声的对象 信号可被增强型再混音编码器1802用来生成附加辅助信息(例如,经编码的 对象信号)。该信号可被参数生成器1816用来生成附加再混音数据,后者又 可被再混音渲染器1814用来将该主声再混音在原始混音音频信号中(例如, 抑制或衰减该主声)。
图19是图18中所示的再混音渲染器1814的示例的框图。在一些实现中, 下混音信号X1、X2被分别输入到组合器1904、1906。下混音信号X1、X2可 以是例如原始混音音频信号的左声道和右声道。组合器1904、1906将该下混 音信号X1、X2与参数生成器1816提供的附加再混音数据相组合。在卡拉OK 示例中,组合可包括在再混音之前将主声对象信号从下混信号X1、X2中减去 以衰减或抑制再混音音频信号中的主声。
在一些实现中,下混音信号X1(例如,原始混音音频信号的左声道)与 附加数据(例如,主声对象信号的左声道)相组合并由定标模块1906a和1906b 定标,而下混音信号X2(例如,原始混音音频信号的右声道)与附加再混音 数据(例如,主声对象信号的右声道)相组合并由定标模块1906c和1906d定 标。定标模块1906a用均衡-混音参数w11将下混音信号X1定标,定标模块1906b 用均衡-混音参数w21将下混音信号X1定标,定标模块1906c用均衡-混音参数 w12将下混音信号X2定标,而定标模块1906d用均衡-混音参数w22将下混音信 号X2定标。定标可使用线性代数诸如使用nxn(例如,2x2)矩阵来实现。 定标模块1906a和1906c的输出被累加以提供第一经渲染输出信号Y2,而定标 模块1906b和1906d的输出被累加以提供第二经渲染输出信号Y2。
在一些实现中,可实现用户界面中的控件(例如,
开关、滑动块、按钮) 以在原始立体声混音、“卡拉OK”模式和/或“阿卡贝拉”模式之间移动。因 变于该控件位置,组合器1902控制原始立体声信号与由附加辅助信息获得的 信号之间的线性组合。例如,对于卡拉OK模式,从附加辅助信息获得的信号 可被从立体声信号中减去。之后可应用再混音处理以移除量化噪声(在立体声 和/或其它信号为有损编码的情况下)。为了部分地移除声乐,通过该附加辅助 信息获得的信号中仅一部分需要被减去。为了仅播放声乐,组合器1902选择 通过附加辅助信息获得的信号。为了播放具有一定背景音乐的声乐,组合器 1902将立体声信号的定标版与通过附加辅助信息获得的信号相加。
尽管本说明书包含许多细节,这些不应被理解为对所要求保护的范围的限 制,而是对特定实施例所特有的特征的描述。在各单独实施例的背景下在本说 明书中描述的特定特征也可在单个实施例的组合中实现。相反,在单个实施例 的背景中描述的各种特征也可单独在多个实施例中实现或在任意合适的子组 合中实现。此外,尽管特征在以上被描述为以特定组合起作用且甚至最初如此 要求保护,但来自所要求保护的组合的一个或多个特征在一些情形下可从该组 合中去除,而所要求保护的组合可涉及子组合或子组合的
变形。
类似地,尽管在附图中以特定次序描述各操作,但这不应被理解为要求以 所示的特定次序或以顺序来执行这些操作,或者要求执行所有示出操作来实现 所需结果。在特定环境下,多任务处理和并行处理会是有利的。此外,上述各 实施例中各种系统组件的分离不应被理解为在所有实施例中要求这种分离,而 应理解所述程序组件和系统一般可被一起集成在单个软件产品中或被打包在 多个软件产品中。
本说明书中描述的主题的特定实施例已被描述。其它实施例在以下权利要 求的范围内。例如,
权利要求中陈述的动作可以不同次序来执行并仍能实现所 需结果。作为一个示例,附图中描绘的过程不一定要求所示的特定次序或者顺 序来实现所需结果。
作为另一示例,小节5A中描述的辅助信息的预处理对再混音信号的子带 功率提供下限以防止与[2]中给出的信号模型相矛盾的负值。然而,该信号模型 不仅表示再混音信号的正功率,还表示原始立体声信号与再混音立体声信号之 间的正叉积,即E{x1y1}、E{x1y2}、E{x2y1}和E{x2y2}。
从两个权重情形开始,为了防止叉积E{x1y1}和E{x2y2}变为负,[18]中定 义的权重被限于特定阈值以使得它们绝不会小于AdB。
然后,叉积通过考虑以下条件进行限制,其中sqrt表示平方根而Q被定 义为Q=10^-A/10:
·如果If E{x1y1}<Q*E{x12},则叉积被限于E{x1y1}=Q*E{x12}。
·如果E{x1,y2}<Q*sqrt(E{x12}E{x22}),则叉积被限于E{x1y2}=Q*sqrt(E{x12}E{x22})。
·如果E{x2,y1}<Q*sqrt(E{x12}E{x22}),则叉积被限于E{x2y1}=Q*sqrt(E{x12}E{x22})。
·如果E{x2y2}<Q*E{x22},则叉积被限于E{x2y2}=Q*E{x22}。