[go: up one dir, main page]

CN105659319B - 使用被插值矩阵的多通道音频的渲染 - Google Patents

使用被插值矩阵的多通道音频的渲染 Download PDF

Info

Publication number
CN105659319B
CN105659319B CN201480053066.5A CN201480053066A CN105659319B CN 105659319 B CN105659319 B CN 105659319B CN 201480053066 A CN201480053066 A CN 201480053066A CN 105659319 B CN105659319 B CN 105659319B
Authority
CN
China
Prior art keywords
matrix
primitive
channels
encoded
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201480053066.5A
Other languages
English (en)
Other versions
CN105659319A (zh
Inventor
M·J·劳
V·麦尔考特
R·威尔森
S·普莱恩
A·贾斯帕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dolby Laboratories Licensing Corp
Original Assignee
Dolby Laboratories Licensing Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dolby Laboratories Licensing Corp filed Critical Dolby Laboratories Licensing Corp
Publication of CN105659319A publication Critical patent/CN105659319A/zh
Application granted granted Critical
Publication of CN105659319B publication Critical patent/CN105659319B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S3/00Systems employing more than two channels, e.g. quadraphonic
    • H04S3/02Systems employing more than two channels, e.g. quadraphonic of the matrix type, i.e. in which input signals are combined algebraically, e.g. after having been phase shifted with respect to each other
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/0018Speech coding using phonetic or linguistical decoding of the source; Reconstruction using text-to-speech synthesis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/018Audio watermarking, i.e. embedding inaudible data in the audio signal
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/20Vocoders using multiple modes using sound class specific coding, hybrid encoders or object based coding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S3/00Systems employing more than two channels, e.g. quadraphonic
    • H04S3/008Systems employing more than two channels, e.g. quadraphonic in which the audio signals are in digital form, i.e. employing more than two discrete digital channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2400/00Details of stereophonic systems covered by H04S but not provided for in its groups
    • H04S2400/03Aspects of down-mixing multi-channel audio to configurations with lower numbers of playback channels, e.g. 7.1 -> 5.1
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2400/00Details of stereophonic systems covered by H04S but not provided for in its groups
    • H04S2400/11Positioning of individual sound objects, e.g. moving airplane, within a sound field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2420/00Techniques used stereophonic systems covered by H04S but not provided for in its groups
    • H04S2420/03Application of parametric coding in stereophonic audio systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Stereophonic System (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

使用被插值的本原矩阵来对编码音频进行解码以(无损地)恢复多通道音频节目的内容和/或恢复这样的内容的至少一个下混的方法、以及用于产生这样的编码音频的编码方法。在一些实施例中,解码器对种子本原矩阵的集合执行插值以确定用于渲染节目的通道的被插值矩阵。其他方面是被配置为实现方法的任何实施例的系统或装置。

Description

使用被插值矩阵的多通道音频的渲染
相关申请的交叉引用
本申请要求2013年9月27日提交的美国临时专利申请No.61/883,890的优先权,该申请的全部内容特此通过引用并入。
技术领域
本发明涉及音频信号处理,并且尤其涉及使用被插值矩阵的多通道音频节目(例如,指示包括至少一个音频对象通道和至少一个扬声器通道的基于对象的音频节目的位流)的渲染、以及节目的编码和解码。在一些实施例中,解码器对种子本原矩阵集合执行插值以确定用于对节目的通道进行渲染的被插值矩阵。一些实施例以已知为Dolby TrueHD的格式产生、解码和/或渲染音频数据。
背景技术
Dolby和Dolby TrueHD是Dolby Laboratories Licensing Corporation(杜比实验室特许公司)的商标。
渲染音频节目的复杂度以及经济成本和计算成本随将被渲染的通道的数量而增加。在基于对象的音频节目的渲染和回放期间,音频内容具有若干数量的通道(例如,对象通道和扬声器通道),该数量通常比常规的基于扬声器通道的节目的渲染和回放期间出现的数量大得多(例如,大一个量级)。通常同样地,用于回放的扬声器系统包括其数量比用于常规的基于扬声器通道的节目的回放的数量大得多的扬声器。
尽管本发明的实施例对于渲染任何多通道音频节目的通道是有用的,但是本发明的许多实施例对于渲染具有大量通道的基于对象的音频节目的通道是特别有用的。
利用回放系统(例如,在电影院里)来渲染基于对象的音频节目是已知的。基于对象的音频节目可以指示许多不同的音频对象,这些音频对象对应于屏幕上的图像、对话、噪声、发源于屏幕上的不同地方的音效、以及创建预期的总体听觉体验的背景音乐和环境效果(其可以由节目的扬声器通道指示)。这样的节目的准确回放要求声音被以关于音频对象大小、位置、强度、移动和深度尽可能接近地对应于内容创建者预期意图的方式再现。
在基于对象的音频节目的产生期间,通常假定将被用于渲染的扩音器位于回放环境中的任意位置处;不一定为(标称)水平面中的预定布置或者在节目产生时已知的任何其他的预定布置。通常,包括在节目中的元数据指示用于在表观空间位置处或者沿着轨迹(在三维空间中)渲染节目的至少一个对象(例如,通过使用扬声器的三维阵列)的渲染参数。例如,节目的对象通道可以具有对应的元数据,该元数据指示(由对象通道指示的)对象将在其处被渲染的表观空间位置的三维轨迹。该轨迹可以包括“地板”位置(该位置在被假定为位于回放环境的地板上或另一个水平面中的扬声器的子集的平面中)的序列以及“地板上方”位置(每个位置通过驱动被假定为位于回放环境的至少一个其他的水平面中的扬声器的子集而被确定)的序列。
基于对象的音频节目在许多方面表现出优于传统的基于扬声器通道的音频节目的显著改进,这是因为基于扬声器通道的音频就特定音频对象的空间回放而言比基于对象通道的音频受到的限制更多。基于扬声器通道的音频节目仅由扬声器通道组成(不由对象通道组成),并且每个扬声器通道通常确定对于收听环境中的特定的、单独的扬声器的扬声器馈送。
用于产生并渲染基于对象的音频节目的各种方法和系统已经被提出。在基于对象的音频节目的产生期间,通常假定任意数量的扩音器将被用于回放该节目,并且要被用于回放的扩音器将被安置在回放环境中的任意位置;不一定被安置于(标称)水平面中或者被安置为在产生节目时已知的任何其他的预定布置。通常,包括在节目中的对象相关的元数据指示用于在表观空间位置处或者沿着轨迹(在三维空间中)渲染节目的至少一个对象(例如,通过使用扬声器的三维阵列)的渲染参数。例如,节目的对象通道可以具有对应的元数据,该元数据指示(由对象通道指示的)对象将在其处被渲染的表观空间位置的三维轨迹。该轨迹可以包括“地板”位置(该位置在被假定为位于回放环境的地板上或另一个水平面中的扬声器的子集的平面中)的序列以及“地板上方”位置(每个位置通过驱动被假定为位于回放环境的至少一个其他的水平面中的扬声器的子集而被确定)的序列。例如在PCT国际申请No.PCT/US2001/028783中描述了基于对象的音频节目的渲染的例子,该申请于2011年9月29日按照国际公开No.WO 2011/119401 A2公布,并且被转让给本申请的受让人。
基于对象的音频节目可以包括“床(bed)”通道。床通道可以是指示其位置在相关的时间间隔期间不改变的对象的对象通道(所以通常使用具有静态扬声器位置的一组回放系统扬声器进行渲染),或者它可以是(将被回放系统的特定扬声器渲染的)扬声器通道。床通道不具有对应的时变位置元数据(但是它们可以被认为具有时不变位置元数据)。它们可以指示散布在空间中的音频元素,例如,指示环境的音频。
基于对象的音频节目通过传统的扬声器设置(例如,7.1回放系统)的回放是通过将节目的通道(包括对象通道)渲染到一组扬声器馈送来实现的。在本发明的典型的实施例中,渲染基于对象的音频节目的对象通道(在本文中有时被称为对象)和其他通道(或者另一种类型的音频节目的通道)的过程在很大程度上(或者仅)包括每个时刻的空间元数据(关于将被渲染的通道)到对应的增益矩阵(在本文中被称为“渲染矩阵”)的转换,所述增益矩阵表示通道(例如,对象通道和扬声器通道)中的每个通道对于用于特定扬声器的扬声器馈送所指示的(在所述时刻的)音频内容的混合的贡献程度(即,节目的每个通道在扬声器馈送所指示的混合中的相对权重)。
基于对象的音频节目的“对象通道”指示采样序列,所述采样指示音频对象,并且该节目通常包括指示每个对象通道的对象位置或轨迹的空间位置元数据值的序列。在本发明的典型实施例中,与节目的对象通道对应的位置元数据值的序列被用于确定M×N矩阵A(t),该矩阵指示用于该节目的时变增益规范(specification)。
在节目的时间“t”时音频节目的“N”个通道(例如,对象通道,或者对象通道和扬声器通道)到“M”个扬声器(扬声器馈送)的渲染可以由长度“N”的矢量x(t)乘以M×N矩阵A(t)来表示,矢量x(t)由来自每个通道的在时间“t”时的音频采样组成,矩阵A(t)被从时间“t”时的相关联的位置元数据(以及可选地,与将被渲染的音频内容对应的其他元数据,例如,对象增益)确定。时间t时的扬声器馈送的结果值(例如,增益或水平)可以被表示为矢量y(t),如下式(1):
Figure BDA0000950086260000041
尽管式(1)描述了音频节目(例如,基于对象的音频节目、或者基于对象的音频节目的编码版本)的N个通道到M个输出通道(例如,M个扬声器馈送)的渲染,但是它还表示如下的一般性的场景的集合,其中一组N个音频采样通过线性运算而被转换为一组M个值(例如,M个采样)。例如,A(t)可以是静态矩阵“A”,其系数不随着时间“t”的不同值而改变。另举一例,A(t)(其可以是静态矩阵A)可以表示一组扬声器通道x(t)到更小的一组扬声器通道y(t)的常规下混(或者x(t)可以是以Ambisonics格式描述空间场景的一组音频通道),并且到扬声器馈送y(t)的转换可以被规定为乘以下混矩阵A。即使在利用标称静态下混矩阵的应用中,所应用的实际的线性变换(矩阵乘法)仍可以是动态的,以便确保下混的裁剪保护(即,静态变换A可以被转换为时变变换A(t),以确保裁剪保护)。
音频节目渲染系统(例如,实现这样的系统的解码器)可以在节目期间仅间歇地、而不是在每一个时刻“t”都接收确定渲染矩阵A(t)的元数据(或者它可以接收矩阵本身)。例如,这可能是由于多种原因中的任何一个(例如,实际输出元数据的系统的时间分辨率低、或者需要限制节目的传输的位率)导致的。发明人已经认识到,对于渲染系统可能可取的是,分别在节目期间的时刻t1和t2在渲染矩阵A(t1)和A(t2)之间进行插值,以获得用于中间时刻“t3”的渲染矩阵A(t3)。插值确保被渲染的扬声器馈送中的对象的感知位置随着时间的过去平滑地改变,并且可以消除来源于不连续的(分段恒定的)矩阵更新的不希望的伪像,诸如拉链噪声。插值可以是线性的(或非线性的),并且通常应确保从A(t1)到A(t2)的时间上连续的路径。
Dolby TrueHD是支持音频信号的无损的、可缩放的传输的常规的音频编解码器格式。源音频被编码为通道的子流的层次结构,并且这些子流的所选择的子集(而不是所有这些子流)可以从位流被检索并且被解码,以便获得空间场景的更低维度(下混)呈现。当所有的子流都被解码时,所得的音频与源音频相同(编码、后跟解码,是无损的)。
在TrueHD的市售版本中,源音频通常是被编码为三个子流的序列的7.1通道混合,包括可以被解码以确定7.1通道原始音频的两通道下混的第一子流。前两个子流可以被解码以确定原始音频的5.1通道下混。所有三个子流都可以被解码以确定原始的7.1通道音频。Dolby TrueHD以及它所基于的Meridian无损包装(MLP)技术的技术细节是众所周知的。TrueHD和MLP技术的各方面在以下文献中有所描述:2003年8月26日发表并且被转让给杜比实验室特许公司的美国专利6,611,212;以及在J.AES第52卷第3期第243-260页(2004年3月)上的、Gerzon等人的标题为“The MLP Lossless Compression System for PCM Audio”的论文。
TrueHD支持下混矩阵的规范。在典型的使用中,7.1通道音频节目的内容创建者指定将7.1通道节目下混为5.1通道混合的静态矩阵、以及将5.1通道下混下混为2通道下混的另一个静态矩阵。每个静态矩阵可以被转换为下混矩阵序列(该序列中的每个矩阵用于对节目中的不同间隔进行下混),以便实现裁剪保护。然而,该序列中的每个矩阵被发送(或者确定该序列中的每个矩阵的元数据被发送)给解码器,并且解码器不对任何先前指定的下混矩阵执行插值来确定用于节目的下混矩阵序列中的后续矩阵。
图1是常规的TrueHD系统的元件的示意图,在该示意图中,编码器(30)和解码器(32)被配置为对音频采样执行矩阵化运算。在图1系统中,编码器30被配置为将8通道音频节目(例如,传统的一组7.1扬声器馈送)编码为包括两个子流的编码位流,解码器32被配置为对该编码位流进行解码以渲染原始8通道节目(无损地)或原始8通道节目的2通道下混。编码器30被耦合,并且被配置为产生编码位流并且将该编码位流断言到传送系统31。
传送系统31被耦合,并且被配置为将编码位流传送(例如,通过存储和/或发送)到解码器32。在一些实施例中,系统31实现编码的多通道音频节目通过广播系统或网络(例如,互联网)到解码器32的传送(例如,发送)。在一些实施例中,系统31将编码的多通道音频节目存储在存储介质(例如,盘或一组盘)中,并且解码器32被配置为从该存储介质读取该节目。
编码器30中被标记为“InvChAssign1”的块被配置为对输入节目的通道执行通道置换(等同于乘以置换矩阵)。经置换的通道然后在级33中进行编码,级33输出八个编码的信号通道。编码的信号通道可以(但无需)对应于回放扬声器通道。编码的信号通道有时被称为“内部”通道,这是因为解码器(和/或渲染系统)通常对编码的信号通道的内容进行解码和渲染以恢复输入音频,使得编码的信号通道对于编码/解码系统而言是“内部”的。在级33中执行的编码等同于经置换的通道的每组采样乘以编码矩阵(被实现为下面将更详细地描述的被标识为的n+1个矩阵乘法的级联)。
矩阵确定子系统34被配置为产生指示两个输出矩阵集合(一个集合对应于编码通道的两个子流中的一个子流)的系数的数据。一个输出矩阵集合由两个矩阵
Figure BDA0000950086260000071
组成,其中每个是尺寸为2×2的本原矩阵(下面描述),并且用于渲染包括编码位流的编码音频通道中的两个的第一子流(下混子流)(以渲染八通道输入音频的两通道下混)。另一个输出矩阵集合由渲染矩阵P0,P1,...,Pn(其中每个均是本原矩阵)组成,并且用于渲染包括编码位流的全部八个编码音频通道的第二子流(以无损地恢复八通道输入音频节目)。在编码器处应用于音频的矩阵
Figure BDA0000950086260000072
连同矩阵P0 -1,P1 -1,…,Pn -1一起的级联等于将8输入音频通道变换为2通道下混的下混矩阵规范,并且矩阵P0,P1,...,Pn的级联将编码位流的8个编码通道渲染回原始8输入通道。
从子系统34输出到包装子系统35的(每个矩阵的)系数是元数据,其指示将被包括在节目的通道的对应混合中的每个通道的相对或绝对增益。(针对节目期间的某一时刻的)每个渲染矩阵的系数表示混合中的每个通道应对用于特定回放系统扬声器的扬声器馈送所指示的(在渲染的混合的对应时刻的)音频内容的混合做出多大贡献。
八个编码音频通道(从编码级33输出)、输出矩阵系数(由子系统34产生)、通常还有附加数据被断言到包装子系统35,包装子系统35将它们组装为编码位流,该编码位流然后被断言到传送系统31。
编码位流包括指示八个编码音频通道的数据、两个输出矩阵集合(一个集合对应于编码通道的两个子流中的一个子流)、通常还有附加数据(例如,关于音频内容的元数据)。
解码器32的解析子系统36被配置为接受(读取或接收)来自传送系统31的编码位流,并且对该编码位流进行解析。子系统36可操作为断言编码位流的子流,所述子流包括仅包括编码位流的编码通道中的两个的“第一”子流;并且将与第一子流对应的矩阵输出到矩阵乘法级38(以用于如下处理,该处理导致原始8通道输入节目的2通道下混呈现)。子系统36也可操作为将编码位流的子流(包括编码位流的全部八个编码通道的“第二”子流)和对应的输出矩阵(P0,P1,...,Pn)断言到矩阵乘法级37以用于如下处理,该处理导致无损地渲染原始8通道节目。
更具体地,级38将第一子流的两个通道的两个音频采样乘以矩阵
Figure BDA0000950086260000081
的级联,并且所得的每个两个线性变换采样的集合经过标记为“ChAssign0”的块所表示的通道置换(等同于乘以置换矩阵),以得到所需的8个原始音频通道的2通道下混的每对采样。在编码器30和解码器32中执行的矩阵化运算的级联等同于将8个输入音频通道变换为2通道下混的下混矩阵规范的应用。
级37将每个八个音频采样(编码位流的八个通道的全集中的每个通道一个音频采样)的矢量乘以矩阵P0,P1,...,Pn的级联,并且所得的每个八个线性变换采样的集合经过标记为“ChAssign1”的块所表示的通道置换(等同于乘以置换矩阵),以得到被无损地恢复的原始8通道节目的每个八个采样的集合。为了使输出的8通道音频与输入的8通道音频完全相同(以实现系统的“无损”特性),在编码器30中执行的矩阵化运算应正好是(包括量化效果)在解码器32中对编码位流的无损(第二)子流执行的矩阵化运算的逆(即,乘以矩阵P0,P1,...,Pn的级联)。因此,在图1中,编码器30的级33中的矩阵化运算被标识为在解码器32的级37中应用的相反序列中的矩阵P0,P1,...,Pn的逆矩阵的级联,即,
Figure BDA0000950086260000082
解码器32应用由编码器30应用的通道置换的逆(即,解码器32的元件“ChAssign1”所表示的置换矩阵是编码器30的元件“InvChAssign1”所表示的矩阵的逆)。
给定下混矩阵规范(例如,尺寸为2×8的静态矩阵A的规范),编码器30的常规的TrueHD编码器实现的目标是设计输出矩阵(例如,图1的P0,P1,...,Pn
Figure BDA0000950086260000083
)和输入矩阵
Figure BDA0000950086260000084
以及输出(和输入)通道分配,以使得:
1.编码位流是分层次的(即,在例子中,前两个编码通道足以导出2通道下混呈现,并且八个编码通道的全集足以恢复原始8通道节目);并且
2.用于最上流(在例子中,P0,P1,...,Pn)的矩阵是完全可逆的,以使得输入音频可以被解码器完全恢复。
典型的计算系统以有限的精度工作,而精确地对任意的可逆矩阵进行逆运算可能需要非常高的精度。TrueHD通过将输出矩阵和输入矩阵(即,P0,P1,...,Pn
Figure BDA0000950086260000091
)约束为已知为“本原矩阵”的类型的方阵。
尺寸为N×N的本原矩阵P为如下形式:
Figure BDA0000950086260000092
本原矩阵总是方阵。尺寸为N×N的本原矩阵与尺寸为N×N的单位矩阵相同,除了一个(非平凡(non-trivial))行(在例子中,即,包括元素α012,…αN-1的行)之外。在所有其他的行中,非对角线元素是零,并且与对角线共享的元素绝对值为1(即,要么是+1,要么是-1)。为了简化本公开中的语言,附图和描述将总是假定本原矩阵具有等于+1的对角线元素,可能除了非平凡行中的对角线元素之外。然而,我们注意到,这并不丧失一般性,并且在本公开中呈现的构思适合在其中对角线可以是+1或-1的一般类型的本原矩阵。
当本原矩阵P对矢量x(t)进行运算(即,乘以矢量x(t))时,结果是乘积Px(t),其是除了1之外所有元素与x(t)完全相同的另一个N维矢量。因此,每个本原矩阵可以与它操纵(或者它对其进行运算)的唯一通道相关联。
在本文中我们将使用术语“单位本原矩阵”来表示如下的本原矩阵,其中(本原矩阵的非平凡行)与对角线共享的元素具有绝对值1(即,要么是+1,要么是-1)。因此,单位本原矩阵的对角线由全正1(+1)或全负1(-1)或者一些正1和一些负1组成。本原矩阵仅改变音频节目通道的采样的集合(矢量)的一个通道,并且由于对角线上的值为1,单位本原矩阵也是无损地可逆的。再一次,为了简化本文中的讨论,我们将使用术语单位本原矩阵来指代其非平凡行具有对角线元素+1的本原矩阵。然而,本文中(包括在权利要求中)对于单位本原矩阵的所有论述意图涵盖更一般的情况,在所述更一般的情况下,单位本原矩阵可以具有其与对角线的共享元素为+1或-1的非平凡行。
如果在本原矩阵P的以上例子中,α2=1(得到具有由正1组成的对角线的单位本原矩阵),则看出P的逆正好是:
Figure BDA0000950086260000101
一般而言,单位本原矩阵的逆简单地通过对其非平凡α系数中的不沿着对角线的每个非平凡α系数进行逆运算(乘以-1)而被确定是真的。
如果在图1的解码器32中利用的矩阵P0,P1,...,Pn是单位本原矩阵(具有单位对角线),则编码器30中的矩阵化运算序列
Figure BDA0000950086260000102
和解码器32中的P0,P1,...,Pn可以由图2A和图2B中所示的类型的有限精度电路实现。图2A是用于经由用有限精度运算实现的本原矩阵来执行无损矩阵化的编码器的常规电路。图2B是用于经由用有限精度运算实现的本原矩阵来执行无损矩阵化的解码器的常规电路。在以上引用的2003年8月26日发表的US专利6,611,212中描述了图2A和图2B电路(及其变型)的典型实现的细节。
在图2A(表示用于对包括通道S1、S2、S3和S4的四通道音频节目进行编码的电路)中,第一本原矩阵P0 -1(具有一行四个非零α系数)通过将通道S1的相关采样与通道S2、S3和S4的(在相同时间t发生的)对应采样混合,来对通道S1的每个采样进行运算(以产生编码通道S1’)。第二本原矩阵P1 -1(也具有一行四个非零α系数)通过将通道S2的相关采样与通道S1’、S3和S4的对应采样混合来对通道S2的每个采样进行运算(以产生编码通道S2’的对应采样)。更具体地,通道S2的采样乘以矩阵P0 -1的系数α1的逆(其被标识为“coeff[1,2]”),通道S3的采样乘以矩阵P0 -1的系数α2的逆(其被标识为“coeff[1,3]”),通道S4的采样乘以矩阵P0 -1的系数α3的逆(其被标识为“coeff[1,4]”),乘积被求和然后被量化,然后从通道S1的对应采样减去经量化的和。类似地,将通道S1的采样乘以矩阵P1 -1的系数α0的逆(其被标识为“coeff[2,1]”),将通道S3的采样乘以矩阵P1 -1的系数α2的逆(其被标识为“coeff[2,3]”),将通道S4的采样乘以矩阵P1 -1的系数α3的逆(其被标识为“coeff[2,4]”),乘积被求和并然后被量化,然后从通道S2的对应采样减去经量化的和。矩阵P0 -1的量化级Q1对求和元件的输出进行量化以产生量化值,该求和元件对乘法(乘以矩阵P0 -1的非零α系数,这些系数通常是分数值)的乘积进行求和,该量化值被从通道S1的采样减去以产生编码通道S1’的对应采样。矩阵P1 -1的量化级Q2对求和元件的输出进行量化以产生量化值,该求和元件对乘法(乘以矩阵P1 -1的非零α系数,这些系统通常是分数值)的乘积进行求和,该量化值被从通道S2的采样减去以产生编码通道S2’的对应采样。在典型的实现(例如,用于执行TrueHD编码)中,通道S1、S2、S3和S4中的每一个通道的每个采样包括24个位(如图2A中所指示的),并且每个乘法元件的输出包括38个位(也如图2A中所指示的),并且量化级Q1和Q2均响应于输入的每个38位值而输出24位量化值。
当然,为了对通道S3和S4进行编码,可以将两个附加的本原矩阵与图2A中所指示的两个本原矩阵(P0 -1和P1 -1)级联。
在图2B(表示用于对由图2A的编码器产生的四通道编码节目进行解码的电路)中,本原矩阵P1(具有一行四个非零α系数,并且是矩阵P1 -1的逆)通过将通道S1’、S3和S4的采样与通道S2’的对应采样混合来对编码通道S2’的每个采样进行运算(以产生解码通道S2的对应采样)。第二本原矩阵P0(也具有一行四个非零α系数,并且是矩阵P0 -1的逆)通过将通道S2、S3和S4的采样与通道S1’的对应采样混合来对编码通道S1’的每个采样进行运算(以产生解码通道S1的对应采样)。更具体地,将通道S1’的采样乘以矩阵P1的系数α0(其被标识为“coeff[2,1]”),将通道S3的采样乘以矩阵P1的系数α2(其被标识为“coeff[2,3]”),将通道S4的采样乘以矩阵P1的系数α3(其被标识为“coeff[2,4]”),乘积被求和并然后被量化,然后将经量化的和与通道S1’的对应采样相加。类似地,将通道S2’的采样乘以矩阵P0的系数α1(其被标识为“coeff[1,2]”),将通道S3的采样乘以矩阵P0的系数α2(其被标识为“coeff[1,3]”),将通道S4的采样乘以矩阵P0的系数α3(其被标识为“coeff[1,4]”),乘积被求和并然后被量化,然后将量化的和与通道S1’的对应采样相加。矩阵P1的量化级Q2对求和元件的输出进行量化以产生量化值,该求和元件对乘法(乘以矩阵P1的非零α系数,这些系数通常是分数值)的乘积进行求和,该量化值与通道S2’的采样相加以产生解码通道S2的对应采样。矩阵P0的量化级Q1对求和元件的输出进行量化以产生量化值,该求和元件对乘法(乘以矩阵P0的非零α系数,这些系数通常是分数值)的乘积进行求和,该量化值与通道S1’的采样相加以产生解码通道S1的对应采样。在典型的实现(例如,用于执行TrueHD解码)中,通道S1’、S2’、S3和S4中的每一个通道的每个采样包括24个位(如图2B中所指示的),并且每个乘法元件的输出包括38个位(也如图2B中所指示的),并且量化级Q1和Q2均响应于输入的每个38位值而输出24位量化值。
当然,为了对通道S3和S4进行解码,可以将两个附加的本原矩阵与图2B中所指示的两个本原矩阵(P0和P1)级联。
对矢量(N个采样,每个采样是第一组N个通道的不同通道的采样)进行运算的本原矩阵序列(例如,由图1的解码器实现的本原N×N矩阵P0,P1,...,Pn的序列)可以实现所述N个采样到新的一组N个采样的线性变换(例如,可以通过在将基于对象的音频节目的N个通道渲染为N个扬声器馈送期间将这些通道的采样乘以式(1)的矩阵A(t)的任何N×N实现来实现在时间t执行的线性变换,其中,该变换通过一次操纵一个通道来实现)。因此,一组N个音频采样乘以N×N本原矩阵序列表示一般性的一组情况,在这些情况下,一组N个采样通过线性运算而被转换为另一组(N个采样)。
再次参照图1的解码器32的TrueHD实现,为了保持TrueHD中的解码器架构的一致性,下混子流的输出矩阵(图1中的
Figure BDA0000950086260000131
)也被实现为本原矩阵,但是它们无需是可逆的(或者具有单位对角线),因为它们与实现无损性没有关联。
TrueHD编码器和解码器中利用的输入本原矩阵和输出本原矩阵取决于将被实现的每个特定的下混规范。TrueHD解码器的功能是将本原矩阵的合适级联应用于接收的编码音频位流。因此,图1的TrueHD解码器对(由系统D传送的)编码位流的8个通道进行解码,并且通过将两个输出本原矩阵
Figure BDA0000950086260000132
的级联应用于解码位流的通道的子集来产生2通道下混。图1的解码器32的TrueHD实现也可操作为通过将八个输出本原矩阵P0,P1,...,Pn的级联应用于编码位流的通道来对(由系统D传送的)编码位流的8个通道进行解码以无损地恢复原始8通道节目。
TrueHD解码器不对原始音频(其被输入到编码器)进行检查以确定其再现是否是无损的(或者就下混来说是否是编码器所期望的那样)。然而,编码位流包含“检查字”(或无损检查),其与在解码器处从再现的音频导出的类似字进行比较以确定再现是否是忠实的。
如果基于对象的音频节目(例如,包括多于八个的通道)被常规的TrueHD编码器编码,则编码器可以产生下混子流携带与老式回放装置兼容的呈现(例如,可以被解码为下混的扬声器馈送以供在传统的7.1通道或5.1通道或其他传统的扬声器设置上回放的呈现)和顶部子流(其指示输入节目的所有通道)。TrueHD解码器可以无损地恢复原始的基于对象的音频节目以供回放系统渲染。编码器在该情况下利用的每个渲染矩阵规范(即,用于产生顶部子流和每个下混子流)、以及因此由编码器确定的每个输出矩阵,可以是时变渲染矩阵A(t),该矩阵对节目的通道的采样进行线性变换(例如,以产生7.1通道或5.1通道下混)。然而,这样的矩阵A(t)通常将随着对象在空间场景中四处移动而及时地迅速地变化,并且常规的TrueHD系统(或其他常规的解码系统)的位率和处理限制通常将该系统约束为最多能够适应(accommodate)对于这样的连续地(且迅速地)变化的矩阵规范的分段恒定的近似(具有更高的矩阵更新率,其是以用于编码节目的发送的位率提高为代价实现的)。为了支持用指示来自基于对象的多通道音频节目(以及其他多通道音频节目)的内容的迅速变化的混合的扬声器馈送来渲染这些节目,发明人已经认识到,在渲染矩阵更新不频繁并且更新之间的期望的轨迹(即,节目的通道的内容的期望混合序列)被参数化地指定的情况下,可取的是增强常规系统以适应被插值的矩阵化。
发明内容
在一类实施例中,本发明是一种用于对N通道音频节目(例如,基于对象的音频节目)进行编码的方法,其中,所述节目在时间间隔上被指定,所述时间间隔包括从时间t1到时间t2的子间隔,并且N个编码信号通道到M个输出通道(例如,对应于回放扬声器通道的通道)的时变混合A(t)已经在所述时间间隔上被指定,其中,M小于或等于N,所述方法包括以下步骤:
确定N×N本原矩阵的第一级联,所述第一级联在被应用于所述N个编码信号通道的采样时实现所述N个编码信号通道的音频内容到所述M个输出通道的第一混合,其中,在第一混合至少基本上等于A(t1)的意义上来讲,第一混合与时变混合A(t)是一致的;
确定插值值,所述插值值与本原矩阵的第一级联和在所述子间隔上被定义的插值函数一起指示N×N更新本原矩阵的级联的序列,以使得更新本原矩阵的每个级联在被应用于所述N个编码信号通道的采样时实现所述N个编码信号通道到所述M个输出通道的、与所述子间隔内的不同时间相关联的更新混合,其中,每个所述更新混合与时变混合A(t)是一致的(优选地,与所述子间隔内的任何时间t3相关联的更新混合至少基本上等于A(t3),但是在一些实施例中,在与所述子间隔内的至少一个时间相关联的更新混合和A(t)在这样的时间时的值之间可能存在误差);和
产生编码位流,所述编码位流指示编码音频内容、插值值以及本原矩阵的第一级联。
在一些实施例中,所述方法包括通过对节目的N个通道的采样执行矩阵运算(例如,包括将矩阵级联序列应用于该采样,其中,所述序列中的每个矩阵级联是本原矩阵的级联,并且所述矩阵级联序列包括第一逆矩阵级联,所述第一逆矩阵级联是第一级联的本原矩阵的逆的级联)来产生编码音频内容的步骤。
在一些实施例中,每个本原矩阵是单位本原矩阵。在N=M的一些实施例中,所述方法还包括通过对编码位流进行处理(包括通过执行插值以从插值值、本原矩阵的第一级联以及插值函数确定N×N更新本原矩阵的级联序列)来无损地恢复节目的N个通道的步骤。编码位流可以指示插值函数(即,可以包括指示插值函数的数据),或者插值函数可以另行被提供给解码器。
在N=M的一些实施例中,所述方法还包括以下步骤:将编码位流传送给被配置为实现该插值函数的解码器;和在所述解码器中对编码位流进行处理以无损地恢复节目的N个通道,包括通过执行插值以从插值值、本原矩阵的第一级联以及插值函数确定N×N更新本原矩阵的级联的序列。
在一些实施例中,该节目是包括至少一个对象通道以及指示至少一个对象的轨迹的位置数据的基于对象的音频节目。时变混合A(t)可以从该位置数据(或者从包括该位置数据的数据)被确定。
在一些实施例中,本原矩阵的第一级联是种子本原矩阵,并且插值值指示用于种子本原矩阵的种子增量(delta)矩阵。
在一些实施例中,节目的音频内容或编码内容到M1个扬声器通道的时变下混A2(t)也已经在该时间间隔上被指定,其中,M1是小于M的整数,并且所述方法包括以下步骤:
确定M1×M1本原矩阵的第二级联,所述第二级联在被应用于所述音频内容或编码内容的M1个通道的采样时实现节目的音频内容到所述M1个扬声器通道的下混,其中,在所述下混至少基本上等于A2(t1)的意义上来讲,所述下混与时变混合A2(t)是一致的;
确定附加插值值,该附加插值值与M1×M1本原矩阵的第二级联和在所述子间隔上定义的第二插值函数一起指示更新M1×M1本原矩阵的级联的序列,以使得更新M1×M1本原矩阵的每个级联在被应用于所述音频内容或编码内容的M1个通道的采样时实现节目的音频内容到所述M1个扬声器通道的、与所述子间隔内的不同时间相关联的更新下混,其中,每个所述更新下混与时变混合A2(t)是一致的,并且其中,编码位流指示所述附加插值值以及M1×M1本原矩阵的第二级联。编码位流可以指示第二插值函数(即,可以包括指示第二插值函数的数据),或者第二插值函数可以被另行提供给解码器。在时变下混A2(t)是原始节目的音频内容的、或编码位流的编码音频内容的、或编码位流的编码音频内容的部分解码版本的、或指示节目的音频内容的另行编码(例如,部分解码)的音频的下混的意义上来讲,时变下混A2(t)是节目的音频内容或编码内容的下混。下混规范A2(t)中的时变可以是(至少部分地)由于斜升到指定的下混的裁剪保护或者从指定的下混的裁剪保护释放而导致的。
在第二类实施例中,本发明是一种用于恢复多通道音频节目(例如,基于对象的音频节目)的M个通道的方法,其中,所述节目在时间间隔上被指定,所述时间间隔包括从时间t1到时间t2的子间隔,并且N个编码信号通道到M个输出通道的时变混合A(t)已经在所述时间间隔上被指定,所述方法包括以下步骤:
获得编码位流,所述编码位流指示编码音频内容、插值值以及N×N本原矩阵的第一级联;和
执行插值以从插值值、本原矩阵的第一级联以及所述子间隔上的插值函数确定N×N更新本原矩阵的级联的序列,其中
N×N本原矩阵的第一级联在被应用于所述编码音频内容的N个编码信号通道的采样时实现所述N个编码信号通道的音频内容到所述M个输出通道的第一混合,其中,在第一混合至少基本上等于A(t1)的意义上来讲,第一混合与时变混合A(t)是一致的,并且所述插值值与本原矩阵的第一级联和所述插值函数一起指示N×N更新本原矩阵的级联的序列,以使得更新本原矩阵的每个级联在被应用于编码音频内容的所述N个编码信号通道的采样时实现所述N个编码信号通道到所述M个输出通道的、与所述子间隔内的不同时间相关联的更新混合,其中,每个所述更新混合与时变混合A(t)是一致的(优选地,与所述子间隔内的任何时间t3相关联的更新混合至少基本上等于A(t3),但是在一些实施例中,在与所述子间隔内的至少一个时间相关联的更新混合和A(t)在这样的时间时的值之间可能存在误差)。
在一些实施例中,编码音频内容已通过对节目的N个通道的采样执行矩阵运算(包括通过将矩阵级联序列应用于采样)而被产生,其中,所述序列中的每个矩阵级联是本原矩阵的级联,并且所述矩阵级联序列包括第一逆矩阵级联,所述第一逆矩阵级联是第一级联的本原矩阵的逆的级联。
根据这些实施例从编码位流恢复(例如,无损地恢复)的音频节目的通道可以是X通道输入音频节目(其中,X是任意整数,N小于X)的音频内容的下混,所述下混已经通过对X通道输入音频节目执行矩阵运算而被从X通道输入音频节目产生,从而确定编码位流的编码音频内容。
在第二类中的一些实施例中,每个本原矩阵是单位本原矩阵。
在第二类中的一些实施例中,N通道节目到M1个扬声器通道的时变下混A2(t)已经在该时间间隔上被指定,其中,节目的音频内容或编码内容到M个扬声器通道的时变下混A2(t)也已经在该时间间隔上被指定。所述方法包括以下步骤:
接收M1×M1本原矩阵的第二级联和第二组插值值;和
将M1×M1本原矩阵的第二级联应用于编码音频内容的M1个通道的采样以实现N通道节目到M1个扬声器通道的下混,其中,在下混至少基本上等于A2(t1)的意义上来讲,该下混与时变混合A2(t)是一致的;
应用第二组插值值、M1×M1本原矩阵的第二级联以及在所述子间隔上定义的第二插值函数来获得更新M1×M1本原矩阵的级联的序列;和
将更新M1×M1本原矩阵应用于编码内容的M1个通道的采样以实现与所述子间隔内的不同时间相关联的所述N通道节目的至少一个更新下混,其中,每个所述更新下混与时变混合A2(t)是一致的。
在一些实施例中,本发明是一种用于渲染多通道音频节目的方法该方法包括以下步骤:将种子矩阵集合(例如,与音频节目期间的时间对应的单个种子矩阵或至少两个种子矩阵的集合)提供给解码器;并且对种子矩阵集合(其与音频节目期间的时间相关联)执行插值以确定用于渲染节目的通道的被插值的渲染矩阵集合(与音频节目期间的稍后的时间对应的单个被插值的渲染矩阵或至少两个被插值的渲染矩阵的集合)。
在一些实施例中,种子本原矩阵和种子增量矩阵(或者种子本原矩阵和种子增量矩阵的集合)不时地(from time to time)(例如,不频繁地)被传送给解码器。解码器通过如下操作更新每个种子本原矩阵(对应于时间t1):根据本发明的实施例从种子本原矩阵和对应的种子增量矩阵以及插值函数f(t)产生被插值的本原矩阵(用于比t1晚的时间t)。指示插值函数的数据可以与种子矩阵一起传送,或者插值函数可以被预先确定(即,预先被编码器和解码器两者知道)。
可替代地,种子本原矩阵(或种子本原矩阵集合)不时地(例如,不频繁地)被传送给解码器。解码器通过如下操作更新每个种子本原矩阵(对应于时间t1):根据本发明的实施例从种子本原矩阵和插值函数f(t)产生被插值的本原矩阵(用于比t1晚的时间t),即不一定使用与种子本原矩阵对应的种子增量矩阵。指示插值函数的数据可以与(一个或多个)种子本原矩阵一起传送,或者该函数可以被预先确定(即,预先被编码器和解码器两者知道)。
在典型的实施例中,每个本原矩阵是单位本原矩阵。从这个意义上来讲,本原矩阵的逆通过对其每个非平凡系数(其每个α系数)进行逆运算(乘以-1)而被简单地确定。这使得本原矩阵(这些本原矩阵被编码器用于对位流进行编码)的逆能够被更高效地确定,并且使得可以使用有限精度处理(例如,有限精度电路)来实现编码器和解码器中需要的矩阵乘法。
本发明的各方面包括:被配置(例如,被编程)为实现本发明方法的任何实施例的系统或装置(例如,编码器或解码器);包括缓冲器的系统或装置,所述缓冲器(例如,以非暂时性的方式)存储通过本发明方法或者其步骤的任何实施例产生的编码音频节目的至少一个帧或其他片段;以及(例如,以非暂时性的方式)存储代码的计算机可读介质(例如,盘),所述代码用于实现本发明方法或者其步骤的任何实施例。例如,本发明系统可以是或者可以包括被用软件或固件编程为和/或被另行配置为对数据执行各种运算中的任何一种(包括本发明方法或者其步骤的实施例)的可编程通用处理器、数字信号处理器或微处理器。这样的通用处理器可以是或者可以包括如下的计算机系统,该计算机系统包括输入装置、存储器和被编程(和/或被另行配置)为响应于被断言到其的数据来执行本发明方法(或者其步骤)的实施例的处理电路。
附图说明
图1是包括编码器、传送子系统和解码器的常规系统的元件的框图。
图2A是用于经由用有限精度运算实现的本原矩阵来执行无损矩阵化运算的常规编码器电路的示图。
图2B是用于经由用有限精度运算实现的本原矩阵来执行无损矩阵化运算的常规解码器电路的示图。
图3是在本发明的实施例中用于将4×4本原矩阵(其用有限精度运算实现)应用于音频节目的四个通道的电路的框图。本原矩阵是种子本原矩阵,其的一个非平凡行包括元素α0、α1、α2和α3。
图4是在本发明的实施例中用于将3×3本原矩阵(其用有限精度运算实现)应用于音频节目的三个通道的电路的框图。本原矩阵是从种子本原矩阵Pk(t1)、种子增量矩阵Δk(t1)和插值函数f(t)产生的被插值本原矩阵,种子本原矩阵Pk(t1)的一个非平凡行包括元素α0、α1和α2,种子增量矩阵Δk(t1)的非平凡行包括元素δ0、δ1、…δN-1。
图5是包括本发明编码器的实施例、传送子系统以及本发明解码器的实施例的本发明系统的实施例的框图。
图6是包括本发明编码器的实施例、传送子系统以及本发明解码器的实施例的本发明系统的另一实施例的框图。
图7是在不同时刻t的实现的规范和真实的规范之间的误差平方和的曲线图,这些规范使用被插值本原矩阵(被标记为“被插值的矩阵化”的曲线)与分段恒定的(未被插值的)本原矩阵(被标记为“未被插值的矩阵化”的曲线)。
符号和术语
在整个本公开中,包括在权利要求中,“对”信号或数据执行操作(例如,对信号或数据进行滤波、缩放、变换或应用增益)的表达在广义上被用于表示直接对信号或数据执行操作、或者对信号或数据的处理后的版本(例如,在执行操作之前已经经过初步滤波或预处理的信号的版本)执行操作。
在整个本公开中,包括在权利要求中,表达“系统”在广义上被用于表示装置、系统或子系统。例如,实现解码器的子系统可以被称为解码器系统,包括这样的子系统的系统(例如,响应于多个输入而产生Y个输出信号的系统,在该系统中,子系统产生输入中的M个输入,其他的Y-M个输入则从外部源接收)也可以被称为解码器系统。
在整个本公开中,包括在权利要求中,术语“处理器”在广义上被用于表示可被编程为或者可被以其他方式(例如,用软件或固件)配置为对数据(例如,音频或视频或其他图像数据)执行操作的系统或装置。处理器的例子包括现场可编程门阵列(或其他可配置集成电路或芯片组)、被编程为和/或被以其他方式配置为对音频或其他声音数据执行流水线处理的数字信号处理器、可编程通用处理器或计算机、以及可编程微处理器芯片或芯片组。
在整个本公开中,包括在权利要求中,表达“元数据”指的是与对应的音频数据(也包括元数据的位流的音频内容)分开的不同的数据。元数据与音频数据相关联,并且指示音频数据的至少一个特征或特性(例如,对于音频数据或者音频数据所指示的对象的轨迹已经执行或者应执行什么类型(一种或多种)的处理)。元数据与音频数据的关联是时间同步的。因此,当前的(最近接收的或更新的)元数据可以指示对应的音频数据同时具有所指示的特征和/或包括指示类型的音频数据处理的结果。
在整个本公开中,包括在权利要求中,术语“耦合”或“耦合的”用于意指直接的或间接的连接。因此,如果第一装置耦合到第二装置,则该连接可以是通过直接连接,或者通过经由其他装置和连接的间接连接。
在整个本公开中,包括在权利要求中,以下表达具有以下定义:
扬声器和扩音器被同义地用于表示任何发声换能器。该定义包括被实现为多个换能器(例如,低音扬声器和高音扬声器)的扩音器。
扬声器馈送:将被直接应用于扩音器的音频信号;或者将被连续地应用于放大器和扩音器的音频信号;
通道(或“音频通道”):单声道音频信号。这样的信号通常可以以等同于该信号直接应用于期望的或标称的位置处的扩音器的方式被渲染。期望的位置可以是静态的(典型地就像物理扩音器的情况一样),或者是动态的;
音频节目:一个或多个音频通道(至少一个扬声器通道和/或至少一个对象通道)以及可选的相关联的元数据(例如,描述期望的空间音频呈现的元数据)的集合;
扬声器通道(或“扬声器馈送通道”):与被指明的扩音器(在期望的或标称的位置处)或者在定义的扬声器配置内的被指明的扬声器区域相关联的音频通道。扬声器通道被以等同于音频信号直接应用于被指明的扬声器(在期望的或标称的位置处)或者被指明的扬声器区域中的扬声器的方式被渲染。
对象通道:指示音频源(有时被称为音频“对象”)发出的声音的音频通道。通常,对象通道确定参数化音频源描述(例如,指示参数化音频源描述的元数据被包括在对象通道中或者与对象通道一起被提供)。源描述可以确定源发出的声音(作为时间的函数)、作为时间的函数的源的表观位置(例如,3D空间坐标)、以及可选的表征源的至少一个附加参数(例如,表观源大小或宽度);以及
基于对象的音频节目:包括如下内容的音频节目:一个或多个对象通道(可选地还包括至少一个扬声器通道)以及可选的相关联的元数据(例如,指示发出对象通道所指示的声音的音频对象的轨迹的元数据、或另外指示对象通道所指示的声音的期望的空间音频呈现的元数据、或指示作为对象通道所指示的声音的源的至少一个音频对象的标识的元数据)的集合。
具体实施方式
将参照图3、图4、图5和图6来描述本发明的实施例的例子。
图5是本发明的音频数据处理系统的实施例的框图,该音频数据处理系统包括如所示那样耦合在一起的编码器40(本发明的编码器的实施例)、传送子系统41(其可以与图1的传送子系统31相同)、以及解码器42(本发明的解码器的实施例)。尽管子系统42在本文中被称为“解码器”,但是应理解,其可以被实现为如下的回放系统,该回放系统包括解码子系统(其被配置为对指示编码的多通道音频节目的位流进行解析和解码)、以及被配置为实现解码子系统的输出的回放的至少一些步骤和渲染的其他子系统。本发明的一些实施例是被配置为不执行渲染和/或回放的解码器(并且通常将与分离的渲染和/或回放系统一起使用)。本发明的一些实施例是回放系统,例如包括解码子系统以及被配置为实现解码子系统的输出的回放的至少一些步骤和渲染的其他子系统的回放系统。
在图5系统中,编码器40被配置为将8通道音频节目(例如,传统的一组7.1扬声器馈送)编码为包括两个子流的编码位流,解码器42被配置为对编码位流进行解码以渲染原始8通道节目(无损地)或原始8通道节目的2通道下混。编码器40被耦合,并且被配置为产生编码位流并且将该编码位流断言到传送系统41。
传送系统41被耦合,并且被配置为将编码位流传送(例如,通过存储和/或发送)到解码器42。在一些实施例中,系统41实现编码的多通道音频节目通过广播系统或网络(例如,互联网)到解码器42的传送(例如,发送)。在一些实施例中,系统41将编码的多通道音频节目存储在存储介质(例如,一个盘或一组盘)中,并且解码器42被配置为从该存储介质读取该节目。
编码器40中被标记为“InvChAssgn1”的块被配置为对输入节目的通道执行通道置换(channel permutation)(等同于乘以置换矩阵)。置换后的通道然后在级43中进行编码,级43输出八个编码信号通道。编码信号通道可以(但无需)对应于回放扬声器通道。编码信号通道有时被称为“内部”通道,这是因为解码器(和/或渲染系统)通常对编码信号通道的内容进行解码和渲染以恢复输入音频,从而编码信号通道对于编码/解码系统是“内部”的。在级43中执行的编码等同于置换后的通道的每个采样集合乘以编码矩阵(被实现为矩阵乘法的级联,其被标识为)。
尽管在示例性实施例中,n可以等于7,但是在实施例中以及在其变型中,输入音频节目包括任意数量的(N个或X个)通道,其中,N(或X)是大于1的任何整数,并且图5中的n可以是n=N-1(或者n=X-1或其它值)。在这样的替代实施例中,编码器被配置为将多通道音频节目编码为包括某一数量的子流的编码位流,并且解码器被配置为对编码位流进行解码以(无损地)渲染原始多通道节目或原始多通道节目的一个或多个下混。例如,这样的替代实施例的编码级(对应于级43)可以将N×N本原矩阵的级联应用于节目的通道的采样,以产生可以被转换为M个输出通道的第一混合的N个编码信号通道,其中,从第一混合至少基本上等于在一个间隔上指定的时变混合A(t1)的意义上来讲,第一混合与A(t)是一致的,其中,t1是所述间隔内的时间。解码器可以通过应用作为编码音频内容的一部分被接收的N×N本原矩阵的级联来创建M个输出通道。这样的替代实施例中的编码器还可以产生M1×M1本原矩阵的第二级联(其中,M1是小于N的整数),其也被包括在编码音频内容中。解码器可以对M1个编码信号通道应用第二级联,以实现N通道节目到M1个扬声器通道的下混,其中,从该下混至少基本上等于另一个时变混合A2(t1)的意义上来讲,该下混与A2(t)是一致的。这样的替代实施例中的编码器还将产生插值值(根据本发明的任何实施例),并且将这些插值值包括在从编码器输出的编码位流中,以供解码器用于根据时变混合A(t)对编码位流的内容进行解码和渲染,和/或根据时变混合A2(t)对编码位流的内容的下混进行解码和渲染。
图5的描述有时为了具体说明而将输入到本发明的编码器的多通道信号称为8通道输入信号,但是通过用对于N通道输入信号的论述取代对于8通道输入信号的论述、用对于M通道(或M1通道)本原矩阵的论述取代对于8通道(或2通道)本原矩阵的级联的论述、并且用对于M通道音频信号的无损恢复的论述取代对于8通道输入信号的无损恢复的论述(其中,M通道音频信号已经通过执行矩阵运算以将时变混合A(t)应用于N通道输入音频信号以确定M个编码信号通道而被确定),该描述(具有对于普通技术人员显而易见的不重要的变化)也适用于一般情况。
参照图5的编码器级43,每个矩阵Pn -1、…、P1 -1和P0 -1(因此由级43应用的级联)在子系统44中被确定,并且不时地(通常不频繁地)根据节目的N(其中,N=8)个通道到N个编码信号通道的指定的时变混合而被更新,该时变混合已经在时间间隔上被指定。
矩阵确定子系统44被配置为产生指示两个输出矩阵集合(一个集合对应于编码通道的两个子流中的一个)的系数的数据。每个输出矩阵集合不时地被更新,以使得系数也不时地被更新。一个输出矩阵集合由两个渲染矩阵P0 2(t),P1 2(t)组成,其中每个渲染矩阵是尺寸为2×2的本原矩阵(优选地,单位本原矩阵),并且用于渲染包括编码位流的编码音频通道中的两个编码音频通道的第一子流(下混子流)(以渲染八通道输入音频的两通道下混)。另一个输出矩阵集合由八个渲染矩阵P0(t),P1(t),…,Pn(t)组成,其中每个渲染矩阵是尺寸为8×8的本原矩阵(优选地,单位本原矩阵),并且用于渲染包括编码位流的全部八个编码音频通道的第二子流(以供无损地恢复八通道输入音频节目)。对于每个时间t,渲染矩阵P0 2(t),P1 2(t)的级联可以被解释为用于第一子流的通道的渲染矩阵,该渲染矩阵渲染来自第一子流中的两个编码信号通道的两通道下混,类似地,渲染矩阵P0(t),P1(t),…,Pn(t)的级联可以被解释为用于第二子流的通道的渲染矩阵。
从子系统44输出到包装子系统45的(每个渲染矩阵的)系数是元数据,其指示将被包括在节目的通道的对应混合中的每个通道的相对或绝对增益。(用于节目期间的一个时刻的)每个渲染矩阵的系数表示混合中的每个通道应对用于特定回放系统扬声器的扬声器馈送所指示的(在被渲染的混合的对应时刻的)音频内容的混合做出多大贡献。
八个编码音频通道(从编码级43输出)、输出矩阵系数(由子系统44产生)、通常还有附加数据被断言到包装子系统45,包装子系统45将它们组装为编码位流,该编码位流然后被断言到传送系统41。
编码位流包括指示八个编码音频通道的数据、两个时变输出矩阵集合(一个集合对应于编码通道的两个子流中的一个)、通常还有附加数据(例如,关于音频内容的元数据)。
在操作中,编码器40(以及本发明的编码器的替代实施例,例如,图6的编码器100)对其采样对应于一个时间间隔的N通道音频节目进行编码,其中,所述时间间隔包括从时间t1到时间t2的子间隔。当N个编码信号通道到M个输出通道的时变混合A(t)已经在所述时间间隔上被指定时,编码器执行以下步骤:
确定N×N本原矩阵(例如,对于时间t1,矩阵P0(t1),P1(t1),…,Pn(t1))的第一级联,所述第一级联在被应用于N个编码信号通道的采样时实现N个编码信号通道的音频内容到M个输出通道的第一混合,其中,在第一混合至少基本上等于A(t1)的意义上来讲,第一混合与时变混合A(t)是一致的;
通过对节目的N个通道的采样执行矩阵运算(包括将矩阵级联序列应用于这些采样)来产生编码音频内容(例如,编码器40的级43的输出、或编码器100的级103的输出),其中,所述序列中的每个矩阵级联是本原矩阵的级联,并且矩阵级联序列包括第一逆矩阵级联,第一逆矩阵级联是第一级联的本原矩阵的逆的级联;
确定插值值(例如,被包括在编码器40的级44的输出中或者编码器100的级103的输出中的插值值),所述插值值与本原矩阵的第一级联(例如,被包括在级44或级103的输出中)和在所述子间隔上定义的插值函数一起指示N×N更新本原矩阵的级联的序列,使得更新本原矩阵的每个级联在被应用于N个编码信号通道的采样时实现N个编码信号通道到M个输出通道的、与所述子间隔内的不同时间相关联的更新混合,其中,每个所述更新混合与时变混合A(t)是一致的。优选地,但不是必需的(在所有实施例中),在与该子间隔内的任何时间t3相关联的更新混合至少基本上等于A(t3)的意义上来讲,每个更新混合与时变混合是一致的;和
产生编码位流(例如,编码器40的级45的输出或编码器100的级104的输出),所述编码位流指示编码音频内容、插值值以及本原矩阵的第一级联。
参照图5的级44,每个输出矩阵集合(集合
Figure BDA0000950086260000261
或集合P0,P1,...,Pn)不时地被更新。(在第一时间t1)输出的第一个矩阵集合
Figure BDA0000950086260000262
是种子矩阵(其被实现为单位本原矩阵的级联),其确定在节目期间的第一时间将执行(即,对与第一时间对应的、级43的编码输出的两个通道的采样执行)的线性变换。(在第一时间t1)输出的第一个矩阵集合P0,P1,...,Pn也是确定在节目期间的第一时间将执行(即,对与第一时间对应的、级43的编码输出的所有八个通道的采样执行)的线性变换的种子矩阵(其被实现为单位本原矩阵的级联)。从级44输出的每个更新的矩阵集合
Figure BDA0000950086260000272
是确定在节目期间的更新时间将执行(即,对与更新时间对应的、级43的编码输出的两个通道的采样执行)的线性变换的更新种子矩阵(其被实现为单位本原矩阵的级联,该级联也可以被称为单位种子本原矩阵的级联)。从级43输出的每个更新的矩阵集合P0,P1,...,Pn是确定在节目期间的更新时间将执行(即,对与第一时间对应的、级43的编码输出的所有八个通道的采样执行)的线性变换的种子矩阵(其被实现为单位本原矩阵的级联,该级联也可以被称为单位种子本原矩阵的级联)。
输出级44还输出插值值,这些插值值(以及用于各种子矩阵的插值函数)使得解码器42能够产生种子矩阵的被插值版本(对应于第一时间t1之后的以及在更新时间之间的时间)。插值值(其可以包括指示每个插值函数的数据)被级45包括在从编码器40输出的编码位流中。我们将在下面描述这样的插值值的例子(插值值可以包括用于每个种子矩阵的增量矩阵)。
参照图5的解码器42,(解码器42的)解析子系统46被配置为接受(读取或接收)来自传送系统41的编码位流并且对该编码位流进行解析。子系统46可操作为断言编码位流的子流(包括“第一”子流,第一子流仅包括编码位流的两个编码通道);并且将与第一子流对应的矩阵
Figure BDA0000950086260000271
输出到矩阵乘法级48(以用于导致原始8通道输入节目的内容的2通道下混呈现的处理)。子系统46还可操作为:断言编码位流的子流(包括编码位流的所有八个编码通道的“第二”子流)和对应的输出矩阵(P0,P1,...,Pn)到矩阵乘法级47,以用于导致原始8通道节目的无损再现的处理。
解析子系统46(以及图6中的解析子系统105)可以包括(和/或实现)附加的无损编码和解码工具(例如,LPC编码、Huffman编码等)。
插值级60被耦合以接收被包括在编码位流中的用于第二子流的各种子矩阵(即,对于时间t1的初始的本原矩阵集合P0,P1,...,Pn,以及每个更新的本原矩阵集合P0,P1,...,Pn)、以及用于产生各种子矩阵的被插值版本的插值值(也被包括在编码位流中)。级60被耦合并且被配置为:使每个这样的种子矩阵通过(到达级47),并且产生每个这样的种子矩阵的被插值版本(并且将这些被插值版本断言到级47)(每个被插值版本对应于在第一时间t1之后的、并且在第一种子矩阵更新时间之前的、或者在随后的种子矩阵更新时间之间的时间)。
插值级61被耦合以接收被包括在编码位流中的用于第一子流的每个种子矩阵(即,对于时间t1的初始的本原矩阵集合P0 2和P1 2,以及每个更新的本原矩阵集合P0 2和P1 2)、以及用于产生每个这样的种子矩阵的被插值版本的插值值(也被包括在编码位流中)。级61被耦合并且被配置为:使每个这样的种子矩阵通过(到达级48),并且产生每个这样的种子矩阵的被插值版本(并且将这些被插值版本断言到级48)(每个被插值版本对应于在第一时间t1之后的、并且在第一种子矩阵更新时间之前的、或者在随后的种子矩阵更新时间之间的时间)。
级48将与第一子流的通道对应的(编码位流的)两个通道的两个音频采样乘以矩阵P0 2和P1 2的最近更新的级联(例如,由级61产生的、矩阵P0 2和P1 2的最近被插值版本的级联),并且每个所得的两个线性变换采样的集合经过标题为“ChAssign0”的块所表示的通道置换(等同于乘以置换矩阵)以得到所需的8个原始音频通道的2通道下混的每对采样。在编码器40和解码器42中执行的矩阵化运算的级联等同于将8个输入音频通道变换为2通道下混的下混矩阵规范的应用。
级47将每个八个音频采样(编码位流的八个通道的全集中的每个通道一个音频采样)的矢量乘以矩阵P0,P1,...,Pn的最近更新的级联(例如,由级60产生的、矩阵P0,P1,...,Pn的最近被插值版本的级联),并且每个所得的八个线性变换采样的集合经过标题为“ChAssign1”的块所表示的通道置换(等同于乘以置换矩阵)以得到被无损恢复的原始8通道节目的每个八个采样的集合。为了使输出的8通道音频与输入的8通道音频完全相同(以实现系统的“无损”特性),在编码器40中执行的矩阵化运算应正好是(包括量化效果)在解码器42中对编码位流的第二子流执行的矩阵化运算(即,解码器42的级47中乘以矩阵P0,P1,...,Pn的级联的每个乘法)的逆。因此,在图5中,编码器40的级43中的矩阵化运算被标识为矩阵P0,P1,...,Pn的逆矩阵的级联(与解码器42的级47中应用的序列相反),即,
Figure BDA0000950086260000291
因此,级47(与置换级ChAssign1)是矩阵乘法子系统,其被耦合并且被配置为:顺序地将从插值级60输出的本原矩阵的每个级联应用于从编码位流提取的编码音频内容,以无损地恢复被编码器40编码的多通道音频节目的至少一个片段的N个通道。
解码器42的置换级ChAssign1将编码器40所应用的通道置换的逆应用于级47的输出(即,解码器42的级“ChAssign1”所表示的置换矩阵是编码器40的元件“InvChAssign1”所表示的矩阵的逆)。
在图5中所示的系统的子系统40和42的变型中,省略了元件中的一个或多个,或者包括了附加的音频数据处理单元。
在所描述的解码器42的实施例的变型中,本发明的解码器被配置为执行来自指示N个编码信号通道的编码位流的编码音频内容的N个通道的无损恢复,其中,音频内容的N个通道本身是X通道输入音频节目的音频内容的下混(其中,X是任意整数,N小于X),所述下混通过以下方式产生,即,对X通道输入音频节目执行矩阵运算以将时变混合应用于输入音频节目的X个通道,从而确定编码位流的编码音频内容的N个通道。在这样的变型中,解码器对与编码位流一起被提供(例如,被包括在编码位流中)的本原N×N矩阵执行插值。
在一类实施例中,本发明是一种用于渲染多通道音频节目的方法,包括对节目的通道的采样执行线性变换(矩阵乘法)(例如,以产生节目的内容的下混)。从在节目期间的一个时间将执行(即,对与该时间对应的通道的采样执行)的线性变换不同于在节目期间的另一个时间将执行的线性变换的意义上来讲,线性变换是时间相关的。在一些实施例中,该方法利用确定在节目期间的第一时间将执行(即,对与第一时间对应的通道的采样执行)的线性变换的至少一个种子矩阵(其可以被实现为单位本原矩阵的级联),并且执行插值以确定种子矩阵的至少一个被插值版本,该被插值版本确定在节目期间的第二时间将执行的线性变换。在典型的实施例中,该方法由被包括在回放系统中或者与回放系统相关联的解码器(例如,图5的解码器40或图6的解码器102)执行。通常,解码器被配置为执行指示节目的编码音频位流的音频内容的无损恢复,并且种子矩阵(以及种子矩阵的每个被插值版本)被实现为本原矩阵(例如,单位本原矩阵)的级联。
通常,渲染矩阵更新(种子矩阵的更新)不频繁地发生(例如,种子矩阵的更新版本的序列被包括在传送给解码器的编码音频位流中,但是节目的与连续的这样的更新版本对应的片段之间存在长的时间间隔),并且种子矩阵更新之间的期望的渲染轨迹(例如,节目的通道的内容的混合的期望的序列)被(例如,由包括在传送给解码器的编码音频位流中的元数据)参数化地指定。
(更新种子矩阵的序列中的)每个种子矩阵将被表示为A(tj),或者如果它是本原矩阵,则表示为Pk(tj),其中,tj是(在节目中)与种子矩阵对应的时间(即,与第“j”种子矩阵对应的时间)。在种子矩阵被实现为本原矩阵Pk(tj)的级联的情况下,索引k指示每个本原矩阵在级联中的位置。通常,本原矩阵的级联中的第“k”矩阵Pk(tj)对第“k”通道进行运算。
当线性变换(例如,下混规范)A(t)迅速地变化时,编码器(例如,常规编码器)将需要频繁地发送更新的种子矩阵,以便实现A(t)的密切近似。
考虑对同一个通道k、但在不同时刻t1、t2、t3、…进行运算的本原矩阵序列Pk(t1),Pk(t2),Pk(t3),…。不是在这些时刻中的每个时刻发送更新的本原矩阵,本发明方法的实施例而是在时间t1发送(即,在编码位流中与时间t1对应的位置处包括)种子本原矩阵Pk(t1)以及定义矩阵系数的变化速率的种子增量矩阵Δk(t1)。例如,种子本原矩阵和种子增量矩阵可以具有如下形式:
Figure BDA0000950086260000311
因为Pk(t1)是本原矩阵,所以除了一个(非平凡)行(在例子中,即,包括元素α012,…αN-1的行)之外,它与尺寸为N×N的单位矩阵相同。在例子中,除了一个(非平凡)行(在例子中,即,包括元素δ01,…,δN-1的行)之外,矩阵Δk(t1)包括零。元素αk表示元素α012,…αN-1中的出现在Pk(t1)的对角线上的一个元素,元素δk表示元素δ01,…,δN-1中的出现在Δk(t1)的对角线上的一个元素。
因此,时刻t(在时间t1之后出现)时的本原矩阵被(例如,解码器42的级60或61、或者解码器102的级110、111、112或113)插值为:Pk(t)=Pk(t1)+f(t)Δk(t1),其中,f(t)是用于时间t的插值因子,并且f(t1)=0。例如,如果期望线性变换,则函数f(t)可以是f(t)=a*(t-t1)的形式,其中,a是常数。如果插值在解码器中被执行,则解码器必须被配置为知晓函数f(t)。例如,确定函数f(t)的元数据可以与将被解码和渲染的编码音频位流一起传送给解码器。
虽然以上描述了本原矩阵的插值的一般情况,但是在元素αk等于1的情况下,Pk(t1)是能够适合无损逆运算的单位本原矩阵。然而,为了保持每个时刻的无损性,我们将需要也设置δk=0,以使得每个时刻的本原矩阵也能够适合无损逆运算。
指出Pk(t)x(t)=Pk(t1)x(t)+f(t)(Δk(t1)x(t))。因此,不是在每个时刻t更新种子本原矩阵,而是可以等同地计算通道的两个中间集合Pk(t1)x(t)和Δk(t1)x(t),并且将它们与插值因子f(t)组合。与在每个时刻更新本原矩阵(其中,每个增量系数必须被乘以插值因子)相比,该方法的计算开销通常较小。
又一种等效的方法是将f(t)划分为整数r和分数f(t)-r,然后如下实现被插值本原矩阵的所需要的应用:
Pk(t)x(t)=(Pk(t1)+rΔk(t1))x(t)+(f(t)-r)(Δk(t1)x(t)) (2)
该后一种方法(使用式(2))因此将是前面讨论的两种方法的混合。
在TrueHD中,0.833ms(48kHz下的40个采样)的音频量被定义为访问单位。如果增量矩阵Δk被定义为每一访问单位的本原矩阵Pk的变化速率,并且如果定义f(t)=(t-t1)/T,其中,T是访问单位的长度,则式(2)中的r对于每一个访问单位增加1,并且f(t)-r简单地是访问单位内的采样的偏移的函数。因此,分数值f(t)-r不一定要被计算,而是可以简单地从按照访问单位内的偏移建立索引的查找表得出。在每个访问单位结束时,Pk(t1)+rΔk(t1)通过与Δk(t1)相加而被更新。一般地,T无需对应于访问单位,而是可以是信号的任何固定分段,例如,它可以是长度为8个采样的块。
进一步的简化(虽然是近似)将是完全地忽略分数部分f(t)-r并且周期性地更新Pk(t1)+rΔk(t1)。这本质上得到分段恒定的矩阵更新,但是不需要经常发送本原矩阵。
图3是在本发明的实施例中采用的将4×4本原矩阵(通过有限精度运算实现)应用于音频节目的四个通道的电路的框图。本原矩阵是种子本原矩阵,其的一个非平凡行包括元素α0、α1、α2和α3。设想,四个这样的本原矩阵(每个用于变换四个通道中的一个不同通道的采样)将被级联以变换所有四个通道的采样。当本原矩阵首先经由插值被更新并且更新的本原矩阵被应用于音频数据时,可以使用这样的电路。
图4是在本发明的实施例中采用的将3×3本原矩阵(通过有限精度运算实现)应用于音频节目的三个通道的电路的框图。本原矩阵是被插值的本原矩阵,其是根据本发明的实施例从种子本原矩阵Pk(t1)、种子增量矩阵Δk(t1)以及插值函数f(t)产生的,种子本原矩阵Pk(t1)的一个非平凡行包括元素α0、α1和α2,种子增量矩阵Δk(t1)的一个非平凡行包括元素δ0、δ1和δ2。因此,时刻t(在时间t1之后出现)时的本原矩阵被插值为:Pk(t)=Pk(t1)+f(t)Δk(t1),其中,f(t)是用于时间t的插值因子(插值函数f(t)在时间t时的值)。设想,三个这样的本原矩阵(每个用于变换三个通道中的一个不同通道的采样)将被级联以变换所有三个通道的采样。当种子本原矩阵或部分更新的本原矩阵被应用于音频数据、增量矩阵被应用于音频数据并且这两者使用插值因子被组合时,可以使用这样的电路。
图3的电路被配置为将种子本原矩阵应用于四个音频节目通道S1、S2、S3和S4(即,将这些通道的采样乘以所述矩阵)。更具体地,将通道S1的采样乘以所述矩阵的系数α0(其被标识为“m_coeff[p,0]”),将通道S2的采样乘以所述矩阵的系数α1(其被标识为“m_coeff[p,1]”),将通道S3的采样乘以所述矩阵的系数α2(其被标识为“m_coeff[p,2]”),并且将通道S4的采样乘以所述矩阵的系数α3(其被标识为“m_coeff[p,3]”)。在求和元件10中对乘积进行求和,然后在量化级Qss中对从元件10输出的每个和进行量化以产生量化值,该量化值是通道S2的采样的变换版本(包括在通道S2’中)。在典型的实现中,通道S1、S2、S3和S4中的每个通道的每个采样包括24个位(如图3中所指示的),每个乘法元件的输出包括38个位(也如图3中所指示的),量化级Qss响应于输入的每个38位值而输出24位量化值。
图4的电路被配置为将被插值的本原矩阵应用于三个音频节目通道C1、C2和C3(即,将这些通道的采样乘以所述矩阵)。更具体地,将通道C1的采样乘以种子本原矩阵的系数α0(其被标识为“m_coeff[p,0]”),将通道C2的采样乘以种子本原矩阵的系数α1(其被标识为“m_coeff[p,1]”),将通道C3的采样乘以种子本原矩阵的系数α2(其被标识为“m_coeff[p,2]”)。在求和元件12中对乘积进行求和,然后(在级14中)将从元件12输出的每个和与从插值因子级13输出的对应的值相加。在量化级Qss中对从级14输出的值进行量化以产生量化值,该量化值是通道C3的采样的变换版本(包括在通道C3’中)。
将通道C1的同一采样乘以种子增量矩阵的系数δ0(其被标识为“delta_cf[p,0]”),将通道C2的该采样乘以种子增量矩阵的系数δ1(其被标识为“delta_cf[p,1]”),并且将通道C3的该采样乘以种子增量矩阵的系数δ2(其被标识为“delta_cf[p,2]”)。在求和元件11中对乘积进行求和,然后在量化级Qfine中对从元件11输出的每个和进行量化以产生量化值,该量化值然后(在插值因子级13中)被乘以插值函数f(t)的当前值。
在图4的典型实现中,通道C1、C2和C3中的每个通道的每个采样包括32个位(如图4中所指示的),求和元件11、12和14中的每个的输出包括50个位(也如图4中所指示的),量化级Qfine和Qss中的每个响应于输入的每个50位值而输出32位量化值。
例如,图4电路的变型可以变换x个音频通道的采样的矢量,其中,x=2、4、8或N个通道。x个这样的图4电路的变型的级联可以执行这样的x个通道乘以x×x种子矩阵(或这样的种子矩阵的被插值版本)的矩阵乘法。例如,x个这样的图4电路的变型的这样的级联可以实现解码器42的级60和47(其中,x=8)、或解码器42的级61和48(其中,x=2)、或解码器102的级113和109(其中,x=N)、或解码器102的级112和108(其中,x=8)、或解码器102的级111和107(其中,x=6)、或解码器102的级110和106(其中,x=2)。
在图4实施例中,种子本原矩阵和种子增量矩阵被并行地应用于输入采样的每个集合(矢量)(每个这样的矢量包括来自每个输入通道的一个采样)。
参照图6,我们接着描述本发明的如下实施例,其中,将被解码的音频节目是N通道的基于对象的音频节目。图6系统包括如所示那样耦合在一起的编码器100(本发明的编码器的实施例)、传送子系统31以及解码器102(本发明的解码器的实施例)。尽管子系统102在本文中被称为“解码器”,但是应理解,其可以被实现为如下的回放系统,该回放系统包括解码子系统(其被配置为对指示编码的多通道音频节目的位流进行解析和解码)、以及被配置为实现解码子系统的输出的回放的至少一些步骤和渲染的其他子系统。本发明的一些实施例是被配置为不执行渲染和/或回放的解码器(并且其通常将与分离的渲染和/或回放系统一起使用)。本发明的一些实施例是回放系统,例如包括解码子系统以及被配置为实现解码子系统的输出的回放的至少一些步骤和渲染的其他子系统的回放系统。
在图6系统中,编码器100被配置为将N通道的基于对象的音频节目编码为包括四个子流的编码位流,解码器102被配置为对编码位流进行解码以渲染原始N通道节目(无损地)或原始N通道节目的8通道下混、或原始N通道节目的6通道下混、或原始N通道节目的2通道下混。编码器100被耦合,并且被配置为产生编码位流并且将该编码位流断言到传送系统31。
传送系统31被耦合,并且被配置为将编码位流传送(例如,通过存储和/或发送)到解码器102。在一些实施例中,系统31执行编码的多通道音频节目通过广播系统或网络(例如,互联网)到解码器102的传送(例如,发送)。在一些实施例中,系统31将编码的多通道音频节目存储在存储介质(例如,一个盘或一组盘)中,并且解码器102被配置为从该存储介质读取该节目。
编码器100中被标记为“InvChAssgn3”的块被配置为对输入节目的通道执行通道置换(等同于乘以置换矩阵)。经置换的通道然后在级101中进行编码,级101输出N个编码的信号通道。编码的信号通道可以(但无需)对应于回放扬声器通道。编码的信号通道有时被称为“内部”通道,这是因为解码器(和/或渲染系统)通常对编码的信号通道的内容进行解码和渲染以恢复输入音频,使得编码的信号通道对于编码/解码系统而言是“内部”的。在级101中执行的编码等同于经置换的通道的每组采样乘以编码矩阵(被实现为被标识为
Figure BDA0000950086260000351
的矩阵乘法的级联)。
每个矩阵Pn -1、…、P1 -1和P0 -1(以及因此级101所应用的级联)在子系统103中被确定,并且不时地(通常不频繁地)根据已经在时间间隔上指定的节目的N个通道到N个编码信号通道的时变混合而被更新。
在图6的示例性实施例的变型中,输入音频节目包括任意数量的(N个或X个,其中,X大于N)通道。在这样的变型中,可以被解码器无损地恢复的、从编码器输出的编码位流所指示的N个多通道音频节目通道可以是已经通过以下方式从X通道输入音频节目产生的音频内容的N个通道,即,对X通道输入音频节目执行矩阵运算以将时变混合应用于输入音频节目的X个通道,从而确定编码位流的编码音频内容。
图6的矩阵确定子系统103被配置为产生指示四个输出矩阵集合(一个集合对应于编码通道的四个子流中的一个子流)的系数的数据。每个输出矩阵集合不时地被更新,使得所述系数也不时地被更新。
一个输出矩阵集合由两个渲染矩阵P0 2(t),P1 2(t)组成,其中每个是尺寸为2×2的本原矩阵(优选地为单位本原矩阵),并且用于渲染包括编码位流的编码音频通道中的两个的第一子流(下混子流)(以渲染输入音频的两通道下混)。另一输出矩阵集合由多达六个渲染矩阵P0 6(t)、P1 6(t)、P2 6(t)、P3 6(t)、P4 6(t)和P5 6(t)组成,其中每个渲染矩阵是尺寸为6×6的本原矩阵(优选地为单位本原矩阵),并且用于渲染包括编码位流的编码音频通道中的六个的第二子流(下混子流)(以渲染输入音频的六通道下混)。另一输出矩阵集合由多达八个渲染矩阵P0 8(t)、P1 8(t)、…、P7 8(t)组成,其中每个渲染矩阵是尺寸为8×8的本原矩阵(优选地为单位本原矩阵),并且用于渲染包括编码位流的编码音频通道中的八个的第三子流(下混子流)(以渲染输入音频的八通道下混)。
另一输出矩阵集合由N个渲染矩阵P0(t),P1(t),…,Pn(t)组成,其中每个渲染矩阵是尺寸为N×N的本原矩阵(优选地为单位本原矩阵),并且用于渲染包括编码位流的所有编码音频通道的第四子流(以供无损地恢复N通道输入音频节目)。对于每个时间t,渲染矩阵P0 2(t),P1 2(t)的级联可以被解释为用于第一子流的通道的渲染矩阵,渲染矩阵P0 6(t),P1 6(t),…,P5 6(t)的级联也可以被解释为用于第二子流的通道的渲染矩阵,渲染矩阵P0 8(t),P1 8(t),…,P7 8(t)的级联也可以被解释为用于第三子流的通道的渲染矩阵,并且渲染矩阵P0(t),P1(t),…,Pn(t)的级联等同于用于第四子流的通道的渲染矩阵。
从子系统103输出到包装子系统104的(每个矩阵的)系数是元数据,其指示将被包括在节目的通道的对应混合中的每个通道的相对或绝对增益。(针对节目期间的某一时刻的)每个渲染矩阵的系数表示混合中的每个通道应对用于特定回放系统扬声器的扬声器馈送所指示的(在渲染的混合的对应时刻的)音频内容的混合做出多大贡献。
N个编码音频通道(从编码级101输出)、输出矩阵系数(由子系统103产生)、通常还有附加数据(例如,作为元数据包含在编码位流中)被断言到包装子系统104,包装子系统104将它们组装为编码位流,该编码位流然后被断言到传送系统31。
编码位流包括指示N个编码音频通道的数据、四个时变输出矩阵集合(一个集合对应于编码通道的四个子流中的一个子流)、通常还有附加数据(例如,关于音频内容的元数据)。
编码器100的级103不时地更新每个输出矩阵集合(例如,集合
Figure BDA0000950086260000372
或集合P0,P1,...,Pn)。(在第一时间t1)输出的第一个矩阵集合
Figure BDA0000950086260000371
是确定在节目期间的第一时间将执行(即,对与第一时间对应的、级101的编码输出的两个通道的采样执行)的线性变换的种子矩阵(其被实现为本原矩阵(例如,单位本原矩阵)的级联)。(在第一时间t1)输出的第一个矩阵集合P0 6(t),P1 6(t),…,Pn 6(t)是确定在节目期间的第一时间将执行(即,对与第一时间对应的、级101的编码输出的六个通道的采样执行)的线性变换的种子矩阵(其被实现为本原矩阵(例如,单位本原矩阵)的级联)。(在第一时间t1)输出的第一个矩阵集合P0 8(t),P1 8(t),…,Pn 8(t)是确定在节目期间的第一时间将执行(即,对与第一时间对应的、级101的编码输出的八个通道的采样执行)的线性变换的种子矩阵(其被实现为本原矩阵(例如,单位本原矩阵)的级联)。(在第一时间t1)输出的第一个矩阵集合P0,P1,...,Pn是确定在节目期间的第一时间将执行(即,对与第一时间对应的、级101的编码输出的所有通道的采样执行)的线性变换的种子矩阵(其被实现为单位本原矩阵的级联)。
从级103输出的每个更新的矩阵集合
Figure BDA0000950086260000381
是确定在节目期间的更新时间将执行(即,对与更新时间对应的、级101的编码输出的两个通道的采样执行)的线性变换的更新种子矩阵(其被实现为本原矩阵的级联,也可以被称为种子本原矩阵的级联)。从级103输出的每个更新的矩阵集合P0 6(t),P1 6(t),…,Pn 6(t)是确定在节目期间的更新时间将执行(即,对与更新时间对应的、级101的编码输出的六个通道的采样执行)的线性变换的更新种子矩阵(其被实现为本原矩阵的级联,也可以被称为种子本原矩阵的级联)。从级103输出的每个更新的矩阵集合P0 8(t),P1 8(t),…,Pn 8(t)是确定在节目期间的更新时间将执行(即,对与更新时间对应的、级101的编码输出的两个通道的采样执行)的线性变换的更新种子矩阵(其被实现为本原矩阵的级联,也可以被称为种子本原矩阵的级联)。从级103输出的每个更新的矩阵P0,P1,...,Pn也是确定在节目期间的更新时间将执行(即,对与第一时间对应的、级101的编码输出的所有通道的采样执行)的线性变换的种子矩阵(其被实现为单位本原矩阵的级联,其也可以被称为单位种子本原矩阵的级联)。
输出级103还被配置为输出插值值,这些插值值(以及用于各种子矩阵的插值函数)使得解码器102能够产生种子矩阵的被插值版本(对应于第一时间t1之后的以及在更新时间之间的时间)。插值值(其可以包括指示每个插值函数的数据)被级104包括在从编码器100输出的编码位流中。在本文中的其他地方描述这样的插值值的例子(插值值可以包括用于每个种子矩阵的增量矩阵)。
参照图6的解码器102,解析子系统105被配置为接受(读取或接收)来自传送系统31的编码位流并且对该编码位流进行解析。子系统105可操作为:将仅包括编码位流的两个编码通道的第一子流、与第四(顶部)子流对应的输出矩阵(P0,P1,...,Pn)以及与第一子流对应的输出矩阵
Figure BDA0000950086260000382
断言到矩阵乘法级106(以用于导致原始N通道输入节目的内容的2通道下混呈现的处理)。子系统105可操作为:将编码位流的包括编码位流的六个编码通道的第二子流以及与第二子流对应的输出矩阵(P0 6(t),P1 6(t),…,Pn 6(t))断言到矩阵乘法级107(以用于导致原始N通道输入节目的内容的6通道下混呈现的处理)。子系统105可操作为:将编码位流的包括编码位流的八个编码通道的第三子流以及与第三子流对应的输出矩阵(P0 8(t),P1 8(t),…,Pn 8(t))断言到矩阵乘法级108(以用于导致原始N通道输入节目的内容的8通道下混呈现的处理)。子系统105可操作为:将编码位流的第四(顶部)子流(其包括编码位流的所有编码通道)以及对应的输出矩阵(P0,P1,...,Pn)断言到矩阵乘法级109以用于导致原始N通道输入节目的内容的无损再现的处理。
插值级113被耦合以接收包括在编码位流中的用于第四子流的每个种子矩阵(即,对于时间t1的初始的矩阵集合P0,P1,...,Pn,以及每个更新的本原矩阵集合P0,P1,...,Pn)、以及用于产生每个种子矩阵的被插值版本的插值值(也包括在编码位流中)。级113被耦合并且被配置为:使每个这样的种子矩阵通过(到达级109),并且产生每个这样的种子矩阵的被插值版本(并且将这些被插值版本断言到级109)(每个被插值版本对应于在第一时间t1之后的、并且在第一种子矩阵更新时间之前的、或者在随后的种子矩阵更新时间之间的时间)。
插值级112被耦合以接收包括在编码位流中的用于第三子流的每个种子矩阵(即,对于时间t1的初始的本原矩阵集合P0 8,P1 8,…,Pn 8,以及每个更新的本原矩阵集合P0 8,P1 8,…,Pn 8)、以及用于产生每个这样的种子矩阵的被插值版本的插值值(也包括在编码位流中)。级112被耦合并且被配置为:使每个这样的种子矩阵通过(到达级108),并且产生每个这样的种子矩阵的被插值版本(并且将这些被插值版本断言到级108)(每个被插值版本对应于在第一时间t1之后的、并且在第一种子矩阵更新时间之前的、或者在随后的种子矩阵更新时间之间的时间)。
插值级111被耦合以接收包括在编码位流中的用于第二子流的每个种子矩阵(即,对于时间t1的初始的本原矩阵集合P0 6,P1 6,…,Pn 6,以及每个更新的本原矩阵集合P0 6,P1 6,…,Pn 6)、以及用于产生每个这样的种子矩阵的被插值版本的插值值(也包括在编码位流中)。级111被耦合并且被配置为:使每个这样的种子矩阵通过(到达级107),并且产生每个这样的种子矩阵的被插值版本(并且将这些被插值版本断言到级107)(每个被插值版本对应于在第一时间t1之后的、并且在第一种子矩阵更新时间之前的、或者在随后的种子矩阵更新时间之间的时间)。
插值级110被耦合以接收包括在编码位流中的用于第一子流的每个种子矩阵(即,对于时间t1的初始的本原矩阵集合P0 2和P1 2、以及每个更新的本原矩阵P0 2和P1 2)、以及用于产生每个这样的种子矩阵的被插值版本的插值值(也包括在编码位流中)。级110被耦合并且被配置为:使每个这样的种子矩阵通过(到达级106),并且产生每个这样的种子矩阵的被插值版本(并且将这些被插值版本断言到级106)(每个被插值版本对应于在第一时间t1之后的、并且在第一种子矩阵更新时间之前的、或者在随后的种子矩阵更新时间之间的时间)。
级106将第一子流的两个编码通道的每个两个音频采样的矢量乘以矩阵P0 2和P1 2的最近更新的级联(例如,由级110产生的矩阵P0 2和P1 2的最近插值版本的级联),并且所得的每个两个线性变换采样的集合经过标记为“ChAssign0”的块所表示的通道置换(等同于乘以置换矩阵)以得到N个原始音频通道的所需的2通道下混的每对采样。在编码器40和解码器102中执行的矩阵化运算的级联等同于将N个输入音频通道变换为2通道下混的下混矩阵规范的应用。
级107将第二子流的六个编码通道的每个六个音频采样的矢量乘以矩阵P0 6,…,Pn 6的最近更新的级联(例如,由级111产生的矩阵P0 6,…,Pn 6的最近插值版本的级联),并且所得的每个六个线性变换采样的集合经过标记为“ChAssign1”的块所表示的通道置换(等同于乘以置换矩阵)以得到N个原始音频通道的所需的6通道下混的每个采样集合。在编码器100和解码器102中执行的矩阵化运算的级联等同于将N个输入音频通道变换为6通道下混的下混矩阵规范的应用。
级108将第三子流的八个编码通道的每个八个音频采样的矢量乘以矩阵P0 8,…,Pn 8的最近更新的级联(例如,由级112产生的矩阵P0 8,…,Pn 8的最近插值版本的级联),并且所得的每个八个线性变换采样的集合经过标记为“ChAssign2”的块所表示的通道置换(等同于乘以置换矩阵)以得到N个原始音频通道的所需的8通道下混的每对采样。在编码器100和解码器102中执行的矩阵化运算的级联等同于将N个输入音频通道变换为8通道下混的下混矩阵规范的应用。
级109将每个N个音频采样(编码位流的N个编码通道的全集中的每个通道一个采样)的矢量乘以矩阵P0,P1,...,Pn的最近更新的级联(例如,由级113产生的矩阵P0,P1,...,Pn的最近插值版本的级联),并且所得的每个N个线性变换采样的集合经过标记为“ChAssign3”的块所表示的通道置换(等同于乘以置换矩阵)以得到被无损恢复的原始N通道节目的每个N个采样的集合。为了使输出的N通道音频与输入的N通道音频完全相同(以实现系统的“无损”特性),在编码器100中执行的矩阵化操作应正好是(包括量化效果)在解码器102中对编码位流的第四子流执行的矩阵化运算(即,解码器102的级109中乘以矩阵P0,P1,...,Pn的级联的每个乘法)的逆。因此,在图6中,编码器100的级103中的矩阵化运算被标识为矩阵P0,P1,...,Pn的逆矩阵的级联,为在解码器102的级109中应用的相反序列,即
Figure BDA0000950086260000411
在一些实现中,解析子系统105被配置为从编码位流提取检查字,并且级109被配置为通过将(例如,由级109)从由级109产生的音频采样导出的第二检查字与从编码位流提取的检查字进行比较来验证级109恢复的(多通道音频节目的至少一个片段的)N个通道是否已经被正确地恢复。
解码器102的级“ChAssign3”将编码器100所应用的通道置换的逆应用于级109的输出(即,解码器102的级“ChAssign3”所表示的置换矩阵是编码器100的元件“InvChAssign3”所表示的矩阵的逆)。
在图6中所示的系统的子系统100和102的变型中,省略了元件中的一个或多个,或者包括了附加的音频数据处理单元。
被断言到解码器100的级108(或107或106)的渲染矩阵系数P0 8,…,Pn 8(或P0 6,…,Pn 6或P0 2和P1 2)是编码位流的元数据(例如,空间位置元数据),其指示(或者可以用其他数据进行处理以指示)将包括在编码器100编码的原始N通道内容的通道的下混中的每个扬声器通道的相对或绝对增益。
相反,将用于渲染基于对象的音频节目(其被解码器102无损地恢复)的通道全集的回放扬声器系统的配置在编码器100产生编码位流时通常是未知的。解码器102无损地恢复的N个通道可能需要(例如,在包括在解码器102中的或者耦合到解码器102的(但是图6中未示出的)渲染系统中)被用其他数据(例如,指示特定回放扬声器系统的配置的数据)处理,以确定节目的每个通道应对用于特定回放系统扬声器的扬声器馈送所指示的(在被渲染的混合的每个时刻的)音频内容的混合做出多大贡献。这样的渲染系统可以对每个无损恢复的对象通道中的(或者相关联的)空间轨迹元数据进行处理,以确定对于将用于回放无损恢复的内容的特定回放扬声器系统的扬声器的扬声器馈送。
在本发明的编码器的一些实施例中,编码器被提供(或产生)动态变化的规范A(t)以及至少一个动态变化的下混规范,规范A(t)指定如何将N通道音频节目(例如,基于对象的音频节目)的所有通道变换为一组N个编码通道,下混规范指定N个编码通道的内容到M1个通道呈现的每个下混(其中,M1小于N,例如,M1=2,或者当N大于8时,M1=8)。在一些实施例中,编码器的工作是将编码音频以及指示每个这样的动态变化的规范的数据包装成具有预定格式的编码位流(例如,TrueHD位流)。例如,可以这样做以使得老式解码器(例如,老式TrueHD解码器)能够恢复至少一个下混呈现(具有M1个通道),而增强解码器可以被用于(无损地)恢复原始N通道音频节目。给定动态变化的规范,编码器可以假定解码器将从包括在将被传送给解码器的编码位流中的插值值(例如,种子本原矩阵和种子增量矩阵信息)确定被插值的本原矩阵P0,P1,...,Pn。解码器然后执行插值以确定被插值的本原矩阵,这些被插值的本原矩阵使编码器的生成编码位流的编码音频内容的操作反转(例如,无损地恢复在编码器中通过进行矩阵运算而被编码的内容)。可选地,编码器可以选择用于下部子流(即,指示顶部N通道子流的内容的下混的子流)的本原矩阵为未被插值的本原矩阵(并且将这样的未被插值的本原矩阵的集合的序列包括在编码位流中),同时还假定解码器将从包括在将被传送给解码器的编码位流中的插值值(例如,种子本原矩阵和种子增量矩阵信息)确定被插值的本原矩阵(P0,P1,...,Pn)以用于无损地恢复顶部(N通道)子流的内容。
例如,编码器(例如,编码器40的级44或编码器100的级103)可以被配置为:通过在不同的时刻t1、t2、t3、…(这些时刻的间隔可以很小)对规范A(t)进行采样、得出对应的种子本原矩阵(例如,如在常规的TrueHD编码器中那样)来选择种子本原矩阵和种子增量矩阵(以供与插值函数f(t)一起使用),然后计算种子本原矩阵中的单独元素的变化速率以计算插值值(例如,指示种子增量矩阵序列的“增量”信息)。第一种子本原矩阵集合将是从用于这样的时刻中的第一时刻的规范A(t1)导出的本原矩阵。可能的是,本原矩阵的子集可能根本不随着时间变化,在这种情况下,解码器将通过使任何对应的增量信息归零(例如,将本原矩阵的这样的子集的变化速率设置为零)来对编码位流中的适当的控制信息做出响应。
本发明编码器和解码器的图6实施例的变型可以省略对于编码位流的子流中的一些(即,至少一个)的插值。例如,可以省略插值级110、111和112,并且可以以足够的频率(在编码位流中)更新对应的矩阵P0 2,P1 2、P0 6,P1 6,…Pn 6以及P0 8,P1 8,…Pn 8,以使得在它们被更新的时刻之间的插值是不必要的。另举一例,如果矩阵P0 6,P1 6,…Pn 6被以足够的频率更新以使得更新之间的时间时的插值是不必要的,则插值级111是不必要的,并且可以被省略。因此,常规解码器(没有根据本发明被配置为执行插值)可以响应于编码位流来渲染6通道下混呈现。
如以上所指出的,动态渲染矩阵规范(例如,A(t))可能不仅来源于渲染基于对象的音频节目的需要,而且还是由于实现裁剪保护的需要而导致的。被插值的本原矩阵可以使得能够快速地斜升到下混的裁剪保护并且快速地从下混的裁剪保护释放,而且还降低传递矩阵化系数所需的数据速率。
我们接着描述图6系统的实现的操作例子。在该情况下,N通道输入节目是三通道的基于对象的音频节目,其包括床通道C以及两个对象通道U和V。期望的是,节目被编码以经由具有两个子流的TrueHD流传输,以使得2通道下混(节目到两通道扬声器设置的渲染)可以使用第一子流而被重新得到,并且原始3通道输入节目可以通过使用两个子流而被无损地恢复。
设从输入节目到2通道混合的渲染方程(或下混方程)可以由以下式给出:
其中,第一列对应于相等地馈送到L通道和R通道的床通道(中心通道C)的增益。第二列和第三列分别对应于对象通道U和对象通道V。第一行对应于2ch下混的L通道,第二行对应于R通道。两个对象以确定的速度朝向彼此移动。
我们将检查三个不同时刻t1、t2和t3时的渲染矩阵。在该例子中,我们将假定t1=0,即,
Figure BDA0000950086260000442
换句话说,在t1,对象U完全馈送到R中,对象V完全下混到L中。随着对象朝向彼此移动,它们对较远扬声器的贡献增大。为了进一步展开例子,假定其中,T是访问单位的长度(通常0.8333ms或者以48kHz采样速率的40个采样)。因此在t=40T,这两个对象在场景的中心。我们现在将考虑t2=15T和t3=30T,以使得:
Figure BDA0000950086260000452
让我们考虑将提供的规范A2(t)分解为输入本原矩阵和输出本原矩阵。为了简单起见,让我们假定,矩阵
Figure BDA0000950086260000455
是单位矩阵,并且chAssing0(在解码器102中)是单位通道分配,即,等于平凡置换(单位矩阵)。
我们可以看出:
Figure BDA0000950086260000453
以上乘积的前两行正好是规范A2(t1)。换句话说,本原矩阵
Figure BDA0000950086260000459
Figure BDA00009500862600004510
和InvChAssign1(t1)所指示的通道分配一起导致将输入通道C、对象U和对象V变换为三个内部通道,其中前两个正好是所需的下混L和R。因此,如果输出本原矩阵和对于两通道呈现的通道分配已经被选为单位矩阵,则以上的A(t1)分解为本原矩阵
Figure BDA0000950086260000457
Figure BDA0000950086260000458
和通道分配InvChAssign1(t1)是输入本原矩阵的有效选择。指出,输入本原矩阵是无损可逆的以供对所有三个内部通道进行操作的解码器重新得到C、对象U和对象V。然而,两通道解码器将仅需要内部通道1和2,并且应用输出本原矩阵
Figure BDA0000950086260000456
和chAssign0,在该情况下,这些是单位矩阵。
类似地,我们可以标识:
Figure BDA0000950086260000454
其中,前两行与A(t2)相同,并且
Figure BDA0000950086260000461
其中,前两行与A(t3)相同。
老式TrueHD编码器(其不实现本发明)可以选择发送在t1、t2和t3的以上设计的本原矩阵(的逆),即,{P0(t1),P1(t1),P2(t1)},{P0(t2),P1(t2),P2(t2)},{P0(t3),P1(t3),P2(t3)}。在该情况下,t1和t2之间的任何时间t时的规范由A(t1)的规范近似,t2和t3之间的规范由A(t2)近似。
在图6系统的示例性实施例中,t=t1或t=t2或t=t3时的本原矩阵P0 -1(t)对同一个通道(通道2)进行运算,即,所有三种情况下的非平凡行都是第二行。对于
Figure BDA0000950086260000465
Figure BDA0000950086260000466
情况是类似的。进一步地,这些时刻中的每个时刻时的InvChAssign1是相同的。
因此,为了实现图6的编码器100的示例性实施例的编码,我们可以计算以下增量矩阵:
以及
Figure BDA0000950086260000471
Figure BDA0000950086260000472
Figure BDA0000950086260000473
与老式TrueHD编码器相反,启用被插值的矩阵化的TrueHD编码器(图6的编码器100的示例性实施例)可以选择发送种子(本原和增量)矩阵:
{P0(t1),P1(t1),P2(t1)},{Δ0(t1),Δ1(t1),Δ2(t1)},{Δ0(t2),Δ1(t2),Δ2(t2)}
任何中间时刻时的本原矩阵和增量矩阵通过插值被得出。在t1和t2之间的给定时间t时实现的下混式可以得出为乘积的前两行:
Figure BDA0000950086260000474
并且在t2和t3之间,被得出为:
Figure BDA0000950086260000475
在以上,矩阵{P0(t2),P1(t2),P2(t2)}实际上是未被发送的,而是被得出为利用增量矩阵{Δ0(t1),Δ1(t1),Δ2(t1)}的最后一个插值点的本原矩阵。
因此,我们知道对于以上两种情况在每个时刻“t”实现的下混式。因此可以计算给定时间“t”时的近似和对于该时刻的真实规范之间的不匹配。图7是在不同时刻t的实现的规范和真实的规范之间的误差平方和的曲线图,其使用本原矩阵的插值(被标记为“被插值的矩阵化”的曲线)以及分段恒定的(未被插值的)本原矩阵(被标记为“未被插值的矩阵化”的曲线)。从图7显而易见的是,被插值的矩阵化导致在区域0-600s(t1-t2)中与未被插值的矩阵化相比更接近地实现规范A2(t)。为了与未被插值的矩阵化实现相同水平的失真,可能必须在t1和t2之间的多个点处发送矩阵更新。
未被插值的矩阵化可能导致在一些中间时刻(例如,图7例子中的600s-900s之间)实现更接近真实规范的下混,但是未被插值的矩阵中的误差随着到下一次矩阵更新的时间减小而持续地增长,而被插值的矩阵化的误差在更新点附近(在该情况下,在t3=30*T=1200s时)缩小。被插值的矩阵化中的误差可以通过在t2和t3之间发送又一个增量更新而进一步减小。
本发明的各种实施例实现以下特征中的一个或多个:
1.通过应用本原矩阵(优选地,单位本原矩阵)的序列来将一组音频通道变换为相等数量的其他音频通道,其中,本原矩阵中的至少一些中的每个是被插值的本原矩阵,其被计算为对同一音频通道进行运算的种子本原矩阵和种子增量矩阵的线性组合(根据插值函数确定)。线性组合系数由插值因子确定(即,被插值的本原矩阵的每个系数是线性组合A+f(t)B,其中,A是种子本原矩阵的系数,B是种子增量矩阵的对应系数,f(t)是与被插值的本原矩阵相关联的、时间t时的插值函数的值)。在一些情况下,对编码位流的编码音频内容执行该变换以实现已经被编码以产生编码位流的音频内容的无损恢复;
2.根据以上特征1的变换,其中,被插值的本原矩阵的应用通过对将被变换的音频通道分别应用种子本原矩阵和种子增量矩阵并且线性组合所得的音频采样来实现(例如,如图4电路中那样,乘以种子本原矩阵的矩阵乘法与乘以种子增量矩阵的矩阵乘法并行执行);
3.根据以上特征1的变换,其中,插值因子在编码位流的采样的一些间隔(例如,短间隔)上保持基本上恒定,并且最近的种子本原矩阵仅在插值因子改变的间隔期间(通过插值)被更新(例如,以便降低解码器中的处理的复杂度);
4.根据以上特征1的变换,其中,被插值的本原矩阵是单位本原矩阵。在该情况下,乘以单位本原矩阵的级联(在编码器中)的乘法后跟乘以它们的逆的级联的乘法(在解码器中)可以用有限精度处理无损地实现;
5.根据以上特征1的变换,其中,该变换在从编码位流提取编码音频通道和种子矩阵的音频解码器中执行,其中,解码器优选地被配置为通过将从解码的(后矩阵化的)音频得出的检查字和从编码位流提取的检查字进行比较来验证后矩阵化的音频是否已经被正确地确定;
6.根据以上特征1的变换,其中,该变换在从编码位流提取编码音频通道和种子矩阵的无损音频代码化系统的解码器中执行,并且编码音频通道已经由将无损逆本原矩阵应用于输入音频、从而将输入音频无损地编码为位流的对应编码器产生;
7.根据以上特征1的变换,其中,该变换在将接收的编码通道乘以本原矩阵的级联的解码器中执行,并且只有本原矩阵的子集通过插值确定(即,其他本原矩阵的更新版本可以不时地被传送给解码器,但是解码器不执行插值来更新它们);
8.根据以上特征1的变换,其中,种子本原矩阵、种子增量矩阵以及插值函数被选择为使得由编码器创建的编码通道的子集可以经由由解码器(使用矩阵和插值函数)执行的矩阵化运算而被变换,以实现由编码器编码的原始音频的特定下混;
9.根据以上特征8的变换,其中,原始音频是基于对象的音频节目,并且特定下混对应于该节目的通道到静态扬声器布局(例如,立体声、或5.1通道、或7.1通道)的渲染;
10.根据以上特征9的变换,其中,节目所指示的音频对象是动态的,从而特定静态扬声器布局的下混规范瞬时改变,通过对编码音频通道执行被插值的矩阵化以创建下混呈现来适应所述瞬时改变;
11.根据以上特征1的变换,其中,启用插值的解码器(其被配置为根据本发明的实施例执行插值)也能够在不执行插值以确定任何被插值矩阵的情况下对符合老式语法的编码位流的子流进行解码。
12.根据以上特征1的变换,其中,本原矩阵被设计为利用通道间相关性来实现更好的压缩;以及
13.根据以上特征1的变换,其中,被插值的矩阵化用于实现针对裁剪保护设计的动态下混规范。
考虑到根据本发明的实施例的使用插值产生的下混矩阵(用于从编码位流恢复下混呈现)通常在源音频是基于对象的音频节目时连续地改变,在本发明的典型实施例中利用的(即,包括在编码位流中的)种子本原矩阵通常需要经常被更新以恢复这样的下混呈现。
如果种子本原矩阵被频繁地更新,以便接近地近似连续变化的矩阵规范,编码位流通常包括指示种子本原矩阵集合{P0(t1),P1(t1),...,Pn(t1)}、{P0(t2),P1(t2),...,Pn(t2)}、{P0(t3),P1(t3),...,Pn(t3)}等等的级联的序列的数据。这使得解码器可以恢复在更新时刻t1、t2、t3、…中的每个时刻的矩阵的指定级联。因为在用于渲染基于对象的音频节目的系统中指定的渲染矩阵通常在时间中持续地变化,所以(在包括在编码位流中的种子本原矩阵的级联序列中的)每个种子本原矩阵可以具有相同的本原矩阵配置(至少在节目的间隔上)。本原矩阵中的系数本身可以随时间改变,但是矩阵配置不改变(或者不如系数那样频繁地改变)。用于每个级联的矩阵配置可以通过诸如以下的参数来确定:
1.级联中的本原矩阵的数量,
2.它们操纵的通道的顺序,
3.它们中的系数的量级,
4.表示系数所需的分辨率(以位数为单位),以及
5.相同地为零的系数的位置。
指示这样的本原矩阵配置的参数可以在许多种子矩阵更新的间隔期间保持不变。这样的参数中的一个或多个可能需要经由编码位流而被发送到解码器,以便供解码器按照需要进行操作。因为这样的配置参数不像本原矩阵更新本身那样频繁地改变,所以在一些实施例中,编码位流语法独立地指定矩阵配置参数是否和对于种子矩阵集合的矩阵系数的更新一起发送。相反,在常规的TrueHD编码中,(由编码位流指示的)矩阵更新必定伴随配置更新。在本发明的设想的实施例中,如果仅接收到关于矩阵系数的更新(即,没有矩阵配置更新),则解码器保留并且使用最后接收的矩阵配置信息。
虽然预想被插值的矩阵化通常将允许低的种子矩阵更新速率,但是设想的实施例(在这些实施例中,矩阵配置更新可以伴随或者可以不伴随每个种子矩阵更新)预期高效率地发送配置信息并且进一步降低更新渲染矩阵所需的位率。在设想的实施例中,配置参数可以包括与每个种子本原矩阵相关的参数、和/或与被发送的增量矩阵相关的参数。
为了最小化总体发送位率,编码器可以在更新矩阵配置与在保持矩阵配置不变的同时花费更多的位用于矩阵系数更新之间实现的权衡。
被插值矩阵化可以通过发送从用于编码通道的一个本原矩阵到对同一个通道进行运算的另一个本原矩阵的斜率信息来实现。斜率可以被作为每一访问单位(“AU”)的矩阵系数的变化速率被发送。如果m1和m2是用于相隔K个访问单位的时间的本原矩阵系数,则从m1到m2插值的斜率可以被定义为delta=(m2-m1)/K。
如果系数m1和m2包括具有以下格式的位:m1=a.bcdefg和m2=a.bcuvwx,其中,两个系数都用指定数量(其可以被表示为“frac_bits”)的精度位指定,则斜率“delta”将由形式为0.0000mnop的值指示(由于在每一AU的基础上的增量的指定而需要更高的精度和额外的前导零)。表示斜率“delta”所需的额外的精度可以被定义为“delta_precision”。如果本发明的实施例包括将每个增量值直接包括在编码位流中的步骤,则编码位流将需要包括具有位数“B”的值,B满足表达式:B=frac_bits+delta_precision。明显地,它不足以发送小数位后面的前导零。因此,在一些实施例中,在(被传送给解码器的)编码位流中编码的是具有如下形式的规格化增量(整数):mnopqr,其用delta_bits加上一个符号位表示。delta_bits和delta_precision值可以在编码位流中作为关于增量矩阵的配置信息的一部分发送。在这样的实施例中,解码器被配置为如下得出该情况下所需的增量:
增量=(位流中的规格化增量)*2-(frac_bits+delta_precision)
因此,在一些实施例中,包括在编码位流中的插值值包括具有Y个精度位(其中,Y=frac_bits)的规格化增量值和精度值。规格化增量值指示增量值的规格化版本,其中,增量值指示本原矩阵的系数的变化速率,本原矩阵的每个系数具有Y个精度位,并且精度值指示表示增量值所需的精度相对于表示本原矩阵的系数所需的精度的提高(即,“delta_precision”)。增量值可以通过按缩放因子对规格化增量值进行缩放而被得出,所述缩放因子取决于精度值和本原矩阵的系数的分辨率。
本发明的实施例可以用硬件、固件或软件或它们的组合来实现(例如,被实现为可编程逻辑阵列)。例如,编码器40或100、或解码器42或102、或解码器42的子系统47、48、60和61、或解码器102的子系统110-113和106-109,可以用被适当编程的(或以其他方式配置的)硬件或固件来实现,例如,被实现为被编程的通用处理器、数字信号处理器或微处理器。除非另有指定,否则被作为本发明的一部分包括的算法或处理与任何特定的计算机或其他设备没有内在关联。特别地,各种通用机器可以与根据本文中的教导编写的程序一起使用,或者可以更方便将更专用的设备(例如,集成电路)配置为执行所需的方法步骤。因此,本发明可以用在一个或多个可编程计算机系统(例如,实现编码器40或100、或解码器42或102、或解码器42的子系统47、48、60和/或61、或解码器102的子系统110-113和106-109的计算机系统)上执行的一个或多个计算机程序来实现,每个可编程计算机系统包括至少一个处理器、至少一个数据存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入装置或端口以及至少一个输出装置或端口。程序代码被应用于输入数据以执行本文中所描述的功能并且产生输出信息。输出信息被以已知的方式应用于一个或多个输出装置。
每个这样的程序可以用任何期望的计算机语言(包括机器、汇编或高级过程式、逻辑或面向对象的程序设计语言)来实现以与计算机系统进行通信。在任何情况下,语言可以是汇编语言或解释语言。
例如,当用计算机软件指令序列实现时,本发明的实施例的各种功能和步骤可以用在合适的数字信号处理硬件中运行的多线程软件指令序列来实现,在该情况下,实施例的各种装置、步骤和功能可以对应于软件指令的部分。
每个这样的计算机程序优选地被存储在或者被下载到由通用或专用可编程计算机可读的存储介质或装置(例如,固态存储器或介质、或磁性或光学介质)上,以用于当所述存储介质或装置被计算机系统读取时配置和操作计算机以执行本文中所描述的过程。本发明系统也可以被实现为被配置有(即,存储)计算机程序的计算机可读存储介质,其中,如此配置的存储介质使计算机系统以特定的和预定义的方式操作以执行本文中所描述的功能。
虽然已经作为示例并且依照示例性的特定实施例描述了实现,但是要理解本发明的实现不限于所公开的实施例。相反,意图涵盖对本领域技术人员来讲将是显而易见的各种修改和类似的布置。因此,所附权利要求的范围应被给予最广泛的解释,以便包含所有这样的修改和类似的布置。

Claims (59)

1.一种用于对N通道音频节目进行编码的方法,其中,所述节目在时间间隔上被指定,所述时间间隔包括从时间t1到时间t2的子间隔,并且N个编码信号通道到M个输出通道的时变混合A(t)已经在所述时间间隔上被指定,其中,M小于或等于N,所述方法包括以下步骤:
确定N×N本原矩阵的第一级联,所述第一级联在被应用于所述N个编码信号通道的采样时实现所述N个编码信号通道的音频内容到所述M个输出通道的第一混合,其中,第一混合等于A(t1),并且其中,N×N本原矩阵被定义为其中N-1行包含等于0的非对角线元素和绝对值为1的对角线元素的矩阵;
确定插值值,所述插值值与本原矩阵的第一级联和在所述子间隔上被定义的插值函数一起指示N×N更新本原矩阵的级联的序列,以使得更新本原矩阵的每个级联在被应用于所述N个编码信号通道的采样时实现所述N个编码信号通道到所述M个输出通道的与所述子间隔内的不同时间相关联的更新混合,其中,在与更新混合相关联的子间隔内的时间处,每个所述更新混合等于时变混合A(t);和
产生编码位流,所述编码位流指示编码音频内容、插值值以及本原矩阵的第一级联。
2.根据权利要求1所述的方法,其中,每个本原矩阵是单位本原矩阵。
3.根据权利要求2所述的方法,还包括如下步骤:
通过对节目的N个通道的采样执行矩阵运算来产生编码音频内容,执行矩阵运算包括将矩阵级联序列应用于该采样,
其中,所述序列中的每个矩阵级联是本原矩阵的级联,并且所述矩阵级联序列包括第一逆矩阵级联,所述第一逆矩阵级联是第一级联的本原矩阵的逆的级联。
4.根据权利要求2所述的方法,还包括如下步骤:
通过对节目的N个通道的采样执行矩阵运算来产生编码音频内容,执行矩阵运算包括将矩阵级联序列应用于该采样,
其中,所述序列中的每个矩阵级联是本原矩阵的级联,并且所述序列中的每个矩阵级联是N×N更新本原矩阵的级联中的对应级联的逆,并且N=M,使得所述M个输出通道与被无损地恢复的节目的N个通道相同。
5.根据权利要求2所述的方法,其中,N=M,并且所述方法还包括通过对编码位流进行处理来无损地恢复节目的N个通道的步骤,对编码位流进行处理包括:
执行插值以从所述插值值、本原矩阵的第一级联以及插值函数确定N×N更新本原矩阵的级联的序列。
6.根据权利要求5所述的方法,其中,所述编码位流也指示所述插值函数。
7.根据权利要求1所述的方法,其中,N=M,并且还包括以下步骤:
将编码位流传送给被配置为实现所述插值函数的解码器;和
在所述解码器中对编码位流进行处理以无损地恢复节目的N个通道,对编码位流进行处理包括通过执行插值以从所述插值值、本原矩阵的第一级联以及插值函数确定N×N更新本原矩阵的级联的序列。
8.根据权利要求1所述的方法,其中,所述节目是包括至少一个对象通道以及指示至少一个对象的轨迹的数据的基于对象的音频节目。
9.根据权利要求1所述的方法,其中,本原矩阵的第一级联实现种子本原矩阵,并且所述插值值指示用于种子本原矩阵的种子增量矩阵。
10.根据权利要求4所述的方法,其中,所述节目的音频内容或编码内容到M1个扬声器通道的时变下混A2(t)也已在所述时间间隔上被指定,其中,MI是小于M的整数,并且所述方法还包括以下步骤:
确定MI×M1本原矩阵的第二级联,所述第二级联在被应用于所述音频内容或编码内容的M1个通道的采样时实现所述节目的音频内容到所述M1个扬声器通道的下混,其中,所述下混等于A2(t1);和
确定附加插值值,该附加插值值与MI×M1本原矩阵的第二级联和在所述子间隔上定义的第二插值函数一起指示更新MI×M1本原矩阵的级联的序列,以使得更新MI×M1本原矩阵的每个级联在被应用于所述音频内容或编码内容的M1个通道的采样时实现所述节目的音频内容到所述M1个扬声器通道的与所述子间隔内的不同时间相关联的更新下混,其中,在与更新下混相关联的子间隔内的时间处,每个所述更新下混等于时变下混A2(t),并且其中,所述编码位流指示所述附加插值值以及MI×M1本原矩阵的第二级联。
11.根据权利要求10所述的方法,其中,所述编码位流也指示第二插值函数。
12.根据权利要求10所述的方法,其中,时变下混A2(t)中的时变部分地是由于斜升到指定的下混的裁剪保护或者从指定的下混的裁剪保护释放而导致的。
13.根据权利要求1所述的方法,其中,所述插值值包括能用特定数量个位、位数量的指示以及精度值表示的规格化增量值,其中,所述规格化增量值指示增量值的规格化版本,所述增量值指示本原矩阵的系数的变化率,并且所述精度值指示表示所述增量值所需的精度相对于表示本原矩阵的系数所需的精度的提高。
14.根据权利要求13所述的方法,其中,所述增量值通过按缩放因子对所述规格化增量值进行缩放而被得出,所述缩放因子取决于本原矩阵的系数的分辨率以及所述精度值。
15.根据权利要求4所述的方法,其中,所述节目的音频内容或编码内容到M1个扬声器通道的时变下混A2(t)也已在所述时间间隔上被指定,其中,MI是小于M的整数,并且所述方法还包括以下步骤:
确定MI×M1本原矩阵的第二级联,所述第二级联在该间隔内的每个时刻t被应用于编码音频内容的M1个通道的采样时实现N通道音频节目到所述M1个扬声器通道的下混,其中,该下混等于时变下混A2(t)。
16.根据权利要求15所述的方法,其中,时变下混A2(t)中的时变部分地是由于斜升到指定的下混的裁剪保护或者从指定的下混的裁剪保护释放而导致的。
17.一种用于恢复N通道音频节目的M个通道的方法,其中,所述节目在时间间隔上被指定,所述时间间隔包括从时间t1到时间t2的子间隔,并且N个编码信号通道到M个输出通道的时变混合A(t)已经在所述时间间隔上被指定,所述方法包括以下步骤:
获得编码位流,所述编码位流指示编码音频内容、插值值以及N×N本原矩阵的第一级联,并且其中,N×N本原矩阵被定义为其中N-1行包含等于0的非对角线元素和绝对值为1的对角线元素的矩阵;和
执行插值以从所述插值值、本原矩阵的第一级联以及所述子间隔上的插值函数确定N×N更新本原矩阵的级联的序列,其中
N×N本原矩阵的第一级联在被应用于所述编码音频内容的N个编码信号通道的采样时实现所述N个编码信号通道的音频内容到所述M个输出通道的第一混合,其中,第一混合等于A(t1),并且
所述插值值与本原矩阵的第一级联和所述插值函数一起指示N×N更新本原矩阵的级联的序列,以使得更新本原矩阵的每个级联在被应用于编码音频内容的所述N个编码信号通道的采样时实现所述N个编码信号通道到所述M个输出通道的与所述子间隔内的不同时间相关联的更新混合,其中,在与更新混合相关联的子间隔内的时间处,每个所述更新混合等于时变混合A(t)。
18.根据权利要求17所述的方法,其中,每个本原矩阵是单位本原矩阵。
19.根据权利要求18所述的方法,其中,所述编码音频内容已通过对节目的N个通道的采样执行矩阵运算被产生,执行矩阵运算包括将矩阵级联序列应用于所述采样,其中,所述序列中的每个矩阵级联是本原矩阵的级联,并且所述矩阵级联序列包括第一逆矩阵级联,所述第一逆矩阵级联是第一级联的本原矩阵的逆的级联。
20.根据权利要求18所述的方法,其中,所述编码音频内容已通过对节目的N个通道的采样执行矩阵运算被产生,执行矩阵运算包括将矩阵级联序列应用于该采样,其中,所述序列中的每个矩阵级联是本原矩阵的级联,并且所述序列中的每个矩阵级联是N×N更新本原矩阵的级联中的对应级联的逆,并且N=M,使得所述M个输出通道与被无损地恢复的节目的N个通道相同。
21.根据权利要求20所述的方法,其中,所述节目的音频内容或编码内容到M1个扬声器通道的时变下混A2(t)也已经在所述时间间隔上被指定,其中,MI是小于N的整数,并且所述方法还包括以下步骤:
接收MI×M1本原矩阵的第二级联;和
在所述间隔中的每个时刻t将MI×M1的第二级联应用于所述编码音频内容的M1个通道的采样以实现N通道音频节目到所述M1个扬声器通道的下混,其中,所述下混等于时变下混A2(t)。
22.根据权利要求21所述的方法,其中,时变下混A2(t)中的时变部分地是由于斜升到指定的下混的裁剪保护或者从指定的下混的裁剪保护释放而导致的。
23.根据权利要求17所述的方法,其中,所述编码位流也指示所述插值函数。
24.根据权利要求17所述的方法,其中,所述节目是包括至少一个对象通道以及指示至少一个对象的轨迹的数据的基于对象的音频节目。
25.根据权利要求17所述的方法,其中,本原矩阵的第一级联实现种子本原矩阵,并且所述插值值指示用于种子本原矩阵的种子增量矩阵。
26.根据权利要求17所述的方法,其中,所述方法还包括以下步骤:
将更新N×N本原矩阵的级联中的至少一个应用于所述编码音频内容的采样,包括将种子本原矩阵和种子增量矩阵分别应用于所述编码音频内容的采样以产生经变换的采样,并且根据所述插值函数线性地组合所述经变换的采样,从而产生恢复的采样,所述恢复的采样指示所述N通道音频节目的M个通道的采样。
27.根据权利要求17所述的方法,其中,所述插值函数在所述编码位流的一些间隔上是恒定的,并且N×N更新本原矩阵的级联中的每个最近更新的级联通过仅在所述编码位流的在其中插值函数不是恒定的间隔期间进行插值而被更新。
28.根据权利要求17所述的方法,其中,所述插值值包括能用特定数量个精度位、精度位数量的指示以及精度值表示的规格化增量值,其中,所述规格化增量值指示增量值的规格化版本,所述增量值指示本原矩阵的系数的变化率,并且所述精度值指示表示所述增量值所需的精度相对于表示本原矩阵的系数所需的精度的提高。
29.根据权利要求28所述的方法,其中,所述增量值通过按缩放因子对所述规格化增量值进行缩放而被得出,所述缩放因子取决于本原矩阵的系数的分辨率以及所述精度值。
30.根据权利要求20所述的方法,其中,所述N通道节目到M1个扬声器通道的时变下混A2(t)也已在所述时间间隔上被指定,其中,MI是小于N的整数,并且所述方法还包括以下步骤:
接收MI×M1本原矩阵的第二级联以及第二组插值值;
将MI×M1本原矩阵的第二级联应用于所述编码音频内容的M1个通道的采样以实现N通道节目到M1个扬声器通道的下混,其中,下混等于A2(t1);
应用第二组插值值、MI×M1本原矩阵的第二级联以及在所述子间隔上定义的第二插值函数来获得更新MI×M1本原矩阵的级联的序列;和
将更新MI×M1本原矩阵应用于编码内容的M1个通道的采样以实现与所述子间隔内的不同时间相关联的所述N通道节目的至少一个更新下混,其中,在与更新下混相关联的子间隔内的时间处,每个所述更新下混等于时变下混A2(t)。
31.根据权利要求30所述的方法,其中,每个本原矩阵是单位本原矩阵。
32.根据权利要求30所述的方法,其中,所述编码位流也指示所述第二插值函数。
33.根据权利要求30所述的方法,所述方法还包括以下步骤:
将更新MI×MI本原矩阵的级联中的至少一个应用于所述编码音频内容的音频采样或者从所述编码音频内容确定的音频采样,包括将种子本原矩阵和种子增量矩阵分别应用于所述音频采样以产生经变换的采样,并且根据所述插值函数线性地组合所述经变换的采样。
34.根据权利要求30所述的方法,其中,所述第二插值函数在所述编码位流的一些间隔上是恒定的,并且MI×MI更新本原矩阵的级联中的每个最近更新的级联通过仅在所述编码位流的在其中插值函数不是恒定的间隔期间进行插值而被更新。
35.根据权利要求30所述的方法,其中,时变下混A2(t)中的时变部分地是由于斜升到指定的下混的裁剪保护或者从指定的下混的裁剪保护释放而导致的。
36.根据权利要求17所述的方法,还包括以下步骤:
从所述编码位流提取检查字,
顺序地将N×N本原矩阵的第一级联以及N×N更新本原矩阵的每个级联应用于编码音频内容以无损地恢复所述N通道音频节目的至少一个片段的N个通道的音频采样,并且通过将从音频采样得出的第二检查字与从所述编码位流提取的检查字进行比较来验证所述音频节目的片段的通道是否已经被正确地恢复。
37.一种被配置为对N通道音频节目进行编码的音频编码器,其中,所述节目在时间间隔上被指定,所述时间间隔包括从时间t1到时间t2的子间隔,并且N个编码信号通道到M个输出通道的时变混合A(t)已经在所述时间间隔上被指定,其中,M小于或等于N,所述编码器包括:
第一子系统,所述第一子系统被耦合并且被配置为:确定N×N本原矩阵的第一级联,所述第一级联在被应用于所述N个编码信号通道的采样时实现所述N个编码信号通道的音频内容到所述M个输出通道的第一混合,其中,第一混合等于A(t1),并且其中,N×N本原矩阵被定义为其中N-1行包含等于0的非对角线元素和绝对值为1的对角线元素的矩阵;并且确定插值值,所述插值值与本原矩阵的第一级联和在所述子间隔上被定义的插值函数一起指示N×N更新本原矩阵的级联的序列,以使得更新本原矩阵的每个级联在被应用于所述N个编码信号通道的采样时实现所述N个编码信号通道到所述M个输出通道的与所述子间隔内的不同时间相关联的更新混合,其中,在与更新混合相关联的子间隔内的时间处,每个所述更新混合等于时变混合A(t);和
第二子系统,所述第二子系统耦合到所述第一子系统,并且被配置为产生编码位流,所述编码位流指示编码音频内容、插值值以及本原矩阵的第一级联。
38.根据权利要求37所述的编码器,其中,每个本原矩阵是单位本原矩阵。
39.根据权利要求38所述的编码器,还包括第三子系统,所述第三子系统耦合到所述第二子系统,并且被配置为:通过对节目的N个通道的采样执行矩阵运算来产生编码音频内容,执行矩阵运算包括将矩阵级联序列应用于该采样,其中,所述序列中的每个矩阵级联是本原矩阵的级联,并且所述矩阵级联序列包括第一逆矩阵级联,所述第一逆矩阵级联是第一级联的本原矩阵的逆的级联。
40.根据权利要求38所述的编码器,还包括第三子系统,所述第三子系统耦合到所述第二子系统,并且被配置为:通过对节目的N个通道的采样执行矩阵运算来产生编码音频内容,执行矩阵运算包括将矩阵级联序列应用于该采样,其中,所述序列中的每个矩阵级联是本原矩阵的级联,并且所述序列中的每个矩阵级联是N×N更新本原矩阵的级联中的对应级联的逆,并且N=M,使得所述M个输出通道与被无损地恢复的节目的N个通道相同。
41.根据权利要求37所述的编码器,其中,所述编码位流也指示所述插值函数。
42.根据权利要求37所述的编码器,其中,所述节目是包括至少一个对象通道以及指示至少一个对象的轨迹的数据的基于对象的音频节目。
43.根据权利要求37所述的编码器,其中,本原矩阵的第一级联实现种子本原矩阵,并且所述插值值指示用于种子本原矩阵的种子增量矩阵。
44.根据权利要求40所述的编码器,其中,所述节目的音频内容或编码内容到M1个扬声器通道的时变下混A2(t)也已在所述时间间隔上被指定,其中,MI是小于M的整数,
其中,所述第一子系统被配置为确定MI×M1本原矩阵的第二级联,所述第二级联在被应用于所述音频内容或编码内容的M1个通道的采样时实现所述节目的音频内容到所述M1个扬声器通道的下混,其中,所述下混等于A2(t1);并且确定附加插值值,该附加插值值与MI×M1本原矩阵的第二级联和在所述子间隔上定义的第二插值函数一起指示更新MI×M1本原矩阵的级联的序列,以使得更新MI×M1本原矩阵的每个级联在被应用于所述音频内容或编码内容的M1个通道的采样时实现所述节目的音频内容到所述M1个扬声器通道的与所述子间隔内的不同时间相关联的更新下混,其中,在与更新下混相关联的子间隔内的时间处,每个所述更新下混等于时变下混A2(t),并且
其中,所述第二子系统被配置为产生编码位流数据,以指示所述附加插值值以及MI×M1本原矩阵的第二级联。
45.根据权利要求44所述的编码器,其中,所述第二子系统被配置为产生编码位流数据,所述编码位流数据也指示所述第二插值函数。
46.根据权利要求37所述的编码器,其中,所述插值值包括能用特定数量个精度位、精度位数量的指示以及精度值表示的规格化增量值,其中,所述规格化增量值指示增量值的规格化版本,所述增量值指示本原矩阵的系数的变化率,并且所述精度值指示表示所述增量值所需的精度相对于表示本原矩阵的系数所需的精度的提高。
47.根据权利要求46所述的编码器,其中,所述增量值通过按缩放因子对所述规格化增量值进行缩放而被得出,所述缩放因子取决于本原矩阵的系数的分辨率以及所述精度值。
48.一种被配置为实现N通道音频节目的恢复的解码器,其中,所述节目在时间间隔上被指定,所述时间间隔包括从时间t1到时间t2的子间隔,并且N个编码信号通道到M个输出通道的时变混合A(t)已经在所述时间间隔上被指定,所述解码器包括:
解析子系统,所述解析子系统被耦合并且被配置为从编码位流提取编码音频内容、插值值以及N×N本原矩阵的第一级联,并且其中,N×N本原矩阵被定义为其中N-1行包含等于0的非对角线元素和绝对值为1的对角线元素的矩阵;和
插值子系统,所述插值子系统被耦合并且被配置为从所述插值值、N×N本原矩阵的第一级联以及所述子间隔上的插值函数确定N×N更新本原矩阵的级联的序列,其中
N×N本原矩阵的第一级联在被应用于所述编码音频内容的N个编码信号通道的采样时实现所述N个编码信号通道的音频内容到所述M个输出通道的第一混合,其中,第一混合等于A(t1),并且
N×N更新本原矩阵的每个级联在被应用于所述编码音频内容的N个编码信号通道的采样时实现所述N个编码信号通道到所述M个输出通道的与所述子间隔内的不同时间相关联的更新混合,其中,在与更新混合相关联的子间隔内的时间处,每个所述更新混合等于时变混合A(t)。
49.根据权利要求48所述的解码器,还包括:
矩阵乘法子系统,所述矩阵乘法子系统耦合到所述插值子系统和所述解析子系统,并且被配置为顺序地将N×N本原矩阵的第一级联以及N×N更新本原矩阵的每个级联应用于所述编码音频内容以无损地恢复所述N通道音频节目的至少一个片段的N个通道。
50.根据权利要求48所述的解码器,其中,每个本原矩阵是单位本原矩阵。
51.根据权利要求48所述的解码器,其中,所述编码位流也指示所述插值函数,并且所述解析子系统被配置为从编码位流提取指示所述插值函数的数据。
52.根据权利要求48所述的解码器,其中,所述节目是包括至少一个对象通道以及指示至少一个对象的轨迹的数据的基于对象的音频节目。
53.根据权利要求48所述的解码器,其中,N×N本原矩阵的第一级联实现种子本原矩阵,并且所述插值值指示用于种子本原矩阵的种子增量矩阵。
54.根据权利要求48所述的解码器,其中,所述插值值包括能用特定数量个精度位、精度位数量的指示以及精度值表示的规格化增量值,其中,所述规格化增量值指示增量值的规格化版本,所述增量值指示本原矩阵的系数的变化率,并且所述精度值指示表示所述增量值所需的精度相对于表示本原矩阵的系数所需的精度的提高。
55.根据权利要求54所述的解码器,其中,所述增量值通过按缩放因子对所述规格化增量值进行缩放而被得出,所述缩放因子取决于本原矩阵的系数的分辨率以及所述精度值。
56.根据权利要求49所述的解码器,还被配置为恢复所述N通道音频节目的下混,其中,所述N通道节目到M1个扬声器通道的时变下混A2(t)也已在所述时间间隔上被指定,其中,MI是小于N的整数,其中,所述解析子系统被配置为:从所述编码位流提取MI×M1本原矩阵的第二级联以及第二组插值值,其中,所述矩阵乘法子系统被耦合并且被配置为将MI×M1本原矩阵的第二级联应用于所述编码音频内容的M1个通道的采样以实现N通道节目到M1个扬声器通道的下混,其中,下混等于A2(t1),并且其中
所述插值子系统被配置为应用第二组插值值、MI×M1本原矩阵的第二级联以及在所述子间隔上定义的第二插值函数来获得更新MI×M1本原矩阵的级联的序列;并且将更新MI×M1本原矩阵应用于编码内容的M1个通道的采样以实现与所述子间隔内的不同时间相关联的所述N通道节目的至少一个更新下混,其中,在与更新下混相关联的子间隔内的时间处,每个所述更新下混等于时变下混A2(t)。
57.根据权利要求56所述的解码器,其中,每个本原矩阵是单位本原矩阵。
58.根据权利要求48所述的解码器,其中,所述编码位流也指示该插值函数,并且所述解析子系统被配置为从编码位流提取指示该插值函数的数据。
59.根据权利要求49所述的解码器,其中,所述解析子系统被配置为:从所述编码位流提取检查字,并且所述矩阵乘法子系统被配置为通过将从由所述矩阵乘法子系统产生的音频采样得出的第二检查字与从所述编码位流提取的检查字进行比较来验证所述音频节目的片段的通道是否已经被正确地恢复。
CN201480053066.5A 2013-09-27 2014-09-26 使用被插值矩阵的多通道音频的渲染 Active CN105659319B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361883890P 2013-09-27 2013-09-27
US61/883,890 2013-09-27
PCT/US2014/057611 WO2015048387A1 (en) 2013-09-27 2014-09-26 Rendering of multichannel audio using interpolated matrices

Publications (2)

Publication Number Publication Date
CN105659319A CN105659319A (zh) 2016-06-08
CN105659319B true CN105659319B (zh) 2020-01-03

Family

ID=51660691

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480053066.5A Active CN105659319B (zh) 2013-09-27 2014-09-26 使用被插值矩阵的多通道音频的渲染

Country Status (21)

Country Link
US (1) US9826327B2 (zh)
EP (1) EP3050055B1 (zh)
JP (1) JP6388924B2 (zh)
KR (1) KR101794464B1 (zh)
CN (1) CN105659319B (zh)
AU (1) AU2014324853B2 (zh)
BR (1) BR112016005982B1 (zh)
CA (1) CA2923754C (zh)
DK (1) DK3050055T3 (zh)
ES (1) ES2645432T3 (zh)
HU (1) HUE037042T2 (zh)
IL (1) IL244325B (zh)
MX (1) MX352095B (zh)
MY (1) MY190204A (zh)
NO (1) NO3029329T3 (zh)
PL (1) PL3050055T3 (zh)
RU (1) RU2636667C2 (zh)
SG (1) SG11201601659PA (zh)
TW (1) TWI557724B (zh)
UA (1) UA113482C2 (zh)
WO (1) WO2015048387A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3134897B1 (en) 2014-04-25 2020-05-20 Dolby Laboratories Licensing Corporation Matrix decomposition for rendering adaptive audio using high definition audio codecs
US10068577B2 (en) 2014-04-25 2018-09-04 Dolby Laboratories Licensing Corporation Audio segmentation based on spatial metadata
WO2016168408A1 (en) * 2015-04-17 2016-10-20 Dolby Laboratories Licensing Corporation Audio encoding and rendering with discontinuity compensation
MY188370A (en) * 2015-09-25 2021-12-06 Voiceage Corp Method and system for decoding left and right channels of a stereo sound signal
US12125492B2 (en) 2015-09-25 2024-10-22 Voiceage Coproration Method and system for decoding left and right channels of a stereo sound signal
US10891962B2 (en) 2017-03-06 2021-01-12 Dolby International Ab Integrated reconstruction and rendering of audio signals
US11277705B2 (en) 2017-05-15 2022-03-15 Dolby Laboratories Licensing Corporation Methods, systems and apparatus for conversion of spatial audio format(s) to speaker signals
EP3442124B1 (de) * 2017-08-07 2020-02-05 Siemens Aktiengesellschaft Verfahren zum schützen der daten in einem datenspeicher vor einer unerkannten veränderung und datenverarbeitungsanlage
GB201808897D0 (en) 2018-05-31 2018-07-18 Nokia Technologies Oy Spatial audio parameters
WO2020229394A1 (en) * 2019-05-10 2020-11-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Matrix-based intra prediction
WO2020257331A1 (en) * 2019-06-20 2020-12-24 Dolby Laboratories Licensing Corporation Rendering of an m-channel input on s speakers (s<m)
WO2021140791A1 (ja) * 2020-01-09 2021-07-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US12020028B2 (en) * 2020-12-26 2024-06-25 Intel Corporation Apparatuses, methods, and systems for 8-bit floating-point matrix dot product instructions

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1283007A (zh) * 1999-06-17 2001-02-07 索尼公司 解码方法和设备以及程序装备介质
US6611212B1 (en) * 1999-04-07 2003-08-26 Dolby Laboratories Licensing Corp. Matrix improvements to lossless encoding and decoding
CN1926607A (zh) * 2004-03-01 2007-03-07 杜比实验室特许公司 多信道音频编码
CN101253555A (zh) * 2005-09-01 2008-08-27 松下电器产业株式会社 多声道音频信号处理装置
CN101552007A (zh) * 2004-03-01 2009-10-07 杜比实验室特许公司 多信道音频编码
CN102714039A (zh) * 2010-01-22 2012-10-03 杜比实验室特许公司 使用用于改善的多声道向上混合的多声道解相关
CN102892070A (zh) * 2006-10-16 2013-01-23 杜比国际公司 多声道下混对象编码的增强编码和参数表示

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7123652B1 (en) 1999-02-24 2006-10-17 Thomson Licensing S.A. Sampled data digital filtering system
WO2006062993A2 (en) 2004-12-09 2006-06-15 Massachusetts Institute Of Technology Lossy data compression exploiting distortion side information
RU2393550C2 (ru) * 2005-06-30 2010-06-27 ЭлДжи ЭЛЕКТРОНИКС ИНК. Устройство и способ кодирования и декодирования звукового сигнала
EP1903559A1 (en) 2006-09-20 2008-03-26 Deutsche Thomson-Brandt Gmbh Method and device for transcoding audio signals
US8107571B2 (en) 2007-03-20 2012-01-31 Microsoft Corporation Parameterized filters and signaling techniques
US8249883B2 (en) 2007-10-26 2012-08-21 Microsoft Corporation Channel extension coding for multi-channel source
US8705749B2 (en) * 2008-08-14 2014-04-22 Dolby Laboratories Licensing Corporation Audio signal transformatting
EP2214161A1 (en) * 2009-01-28 2010-08-04 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus, method and computer program for upmixing a downmix audio signal
JP5793675B2 (ja) * 2009-07-31 2015-10-14 パナソニックIpマネジメント株式会社 符号化装置および復号装置
CN113490135B (zh) * 2010-03-23 2023-05-30 杜比实验室特许公司 音频再现方法和声音再现系统
RS1332U (en) 2013-04-24 2013-08-30 Tomislav Stanojević FULL SOUND ENVIRONMENT SYSTEM WITH FLOOR SPEAKERS

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6611212B1 (en) * 1999-04-07 2003-08-26 Dolby Laboratories Licensing Corp. Matrix improvements to lossless encoding and decoding
CN1283007A (zh) * 1999-06-17 2001-02-07 索尼公司 解码方法和设备以及程序装备介质
CN1926607A (zh) * 2004-03-01 2007-03-07 杜比实验室特许公司 多信道音频编码
CN101552007A (zh) * 2004-03-01 2009-10-07 杜比实验室特许公司 多信道音频编码
CN101253555A (zh) * 2005-09-01 2008-08-27 松下电器产业株式会社 多声道音频信号处理装置
CN102892070A (zh) * 2006-10-16 2013-01-23 杜比国际公司 多声道下混对象编码的增强编码和参数表示
CN102714039A (zh) * 2010-01-22 2012-10-03 杜比实验室特许公司 使用用于改善的多声道向上混合的多声道解相关

Also Published As

Publication number Publication date
US20160241981A1 (en) 2016-08-18
TWI557724B (zh) 2016-11-11
AU2014324853B2 (en) 2017-10-19
BR112016005982B1 (pt) 2022-08-09
NO3029329T3 (zh) 2018-06-09
JP2016536625A (ja) 2016-11-24
US9826327B2 (en) 2017-11-21
EP3050055B1 (en) 2017-09-13
CA2923754A1 (en) 2015-04-02
DK3050055T3 (da) 2017-11-13
CN105659319A (zh) 2016-06-08
IL244325B (en) 2020-05-31
TW201528254A (zh) 2015-07-16
ES2645432T3 (es) 2017-12-05
MX2016003500A (es) 2016-07-06
EP3050055A1 (en) 2016-08-03
MY190204A (en) 2022-04-04
KR101794464B1 (ko) 2017-11-06
MX352095B (es) 2017-11-08
JP6388924B2 (ja) 2018-09-12
RU2636667C2 (ru) 2017-11-27
SG11201601659PA (en) 2016-04-28
IL244325A0 (en) 2016-04-21
HUE037042T2 (hu) 2018-08-28
RU2016110693A (ru) 2017-09-28
BR112016005982A2 (pt) 2017-08-01
WO2015048387A1 (en) 2015-04-02
PL3050055T3 (pl) 2018-01-31
AU2014324853A1 (en) 2016-03-31
UA113482C2 (xx) 2017-01-25
KR20160045881A (ko) 2016-04-27
CA2923754C (en) 2018-07-10

Similar Documents

Publication Publication Date Title
CN105659319B (zh) 使用被插值矩阵的多通道音频的渲染
JP6313439B2 (ja) ダウンミックス行列を復号及び符号化するための方法、音声コンテンツを呈示するための方法、ダウンミックス行列のためのエンコーダ及びデコーダ、音声エンコーダ及び音声デコーダ
CN106463125B (zh) 基于空间元数据的音频分割
EP2751803B1 (en) Audio object encoding and decoding
CN108141689B (zh) 从基于对象的音频转换到hoa
EP3134897B1 (en) Matrix decomposition for rendering adaptive audio using high definition audio codecs
CN111630593B (zh) 用于译码声场表示信号的方法和装置
CN107077861B (zh) 音频编码器和解码器
CN108780647A (zh) 音频的混合域译码
CN108141688B (zh) 从以信道为基础的音频到高阶立体混响的转换
US10176813B2 (en) Audio encoding and rendering with discontinuity compensation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant