用于对多声道音频信号进行编码的旋转矩阵的优化编码的制作方法
未命名
09-03
阅读:87
评论:0

1.本发明涉及空间声音数据的编码/解码,特别是在立体声背景下(下文也称为“高保真立体声(ambisonics)”)。
背景技术:
2.目前在移动电话中使用的编码器/解码器(下文称为“编解码器”)是单声道的(用于在单一扬声器上呈现的单个信号声道)。3gpp evs(“增强型语音服务”)编解码器允许提供“超hd”音质(也称为“高清加”或hd+语音),其中,为以32khz或48khz采样的信号提供超宽带(swb)音频带或者为以48khz采样的信号提供全带(fb);音频带宽的范围在swb模式(从9.6千比特/秒到128千比特/秒)下为从14.4khz到16khz,并且在fb模式(从16.4千比特/秒到128千比特/秒)下为20khz以上。
3.由运营商提供的会话服务中下一质量演变应该由沉浸式服务组成,这些沉浸式服务使用如配备有多个麦克风的智能手机、或者远程呈现或360
°
视频类型的空间音频会议或视频会议设备、或者甚至用于利用比简单的2d立体声呈现更具沉浸感的3d空间声音呈现共享“实时”音频内容的设备等终端。随着使用耳机在移动电话上进行收听的运用日益广泛以及先进的音频设备(如3d麦克风、具有声学天线的语音助手、虚拟现实头戴式耳机等附件)的出现,拾取并呈现空间声音场景以提供沉浸式通信体验如今已经相当普遍。
4.在这方面,未来的3gpp“ivas”(“沉浸式语音和音频服务”)标准提议通过接受至少以下所列的空间声音格式(及其组合)作为编解码器的输入格式来扩展evs编解码器以实现沉浸式音频:
[0005]-立体声或5.1类型的多声道格式(基于声道),其中,每个声道供应一个扬声器(例如,立体声中的l和r或5.1中的l、r、ls、rs和c);
[0006]-对象格式(基于对象),其中,声音对象被描述为与描述该对象的属性(空间中的位置、源的空间宽度等)的元数据相关联的音频信号(通常是单声道的);
[0007]-高保真立体声格式(基于场景),该格式描述了给定点的声场,该声场通常由球形麦克风拾取或在球谐函数域中合成。
[0008]
通常,通过实施例的方式,在下文中关注的是以高保真立体声格式对声音进行编码(其中,在下文关于本发明所呈现的至少一些方面也能够适用于除高保真立体声格式以外的格式)。
[0009]
高保真立体声是用于录制(声学意义上的“编码”)空间声音的方法以及再现系统(声学意义上的“解码”)。高保真立体声麦克风(一阶)包括布置在球面网格(例如,正四面体的顶点)上的至少四个振膜舱(典型地为心型或亚心型)。与这些振膜舱相关联的音频声道被称为“a格式”声道。该格式被转换成“b格式”,其中,声场分解为以w、x、y、z表示的四个分量(球谐函数),这四个分量与四个重合的虚拟麦克风相对应。分量w与声场的全向拾取相对应,而更具方向性的分量x、y和z类似于沿着空间的三个正交轴定向的具有压力梯度的麦克风。高保真立体声系统在录音和呈现分开并且分离的意义上是一种灵活的系统。其允许对
k.hoffman、richard c.raffenetti和klaus ruedenberg发表在《数学物理杂志》13,528(1972)上的名称为“generalization of euler angles to n-dimensional orthogonal matrices[欧拉角到n维正交矩阵的一般化]”的文章中提供了一种用于将旋转矩阵转换为广义欧拉角的方法。
[0022]
这种类型的高保真立体声编码的策略是尽可能地使高保真立体声信号的声道解相关,并且然后使用核心编解码器(例如,多单声道)对这些声道进行单独编码。这种策略允许限制已解码的高保真立体声信号中的伪像。更具体地,在编码(例如,多单声道)之前,对输入信号应用优化的解相关。此外,四元数的域允许对为pca/klt分析计算的变换矩阵进行插值,而不是每帧多次地重复分解为特征值和特征向量;在变换矩阵是旋转矩阵的情况下,对于解码,逆矩阵化运算是简单地通过对应用于编码的矩阵进行转置来执行的。
[0023]
图1展示了根据现有技术的这种方法的编码。编码分几个步骤发生:
[0024]-假设声道的信号(例如,对于foa的情况为w、y、z、x)呈具有矩阵n
×
l(每帧有n个高保真立体声声道(在这种情况下是4)和l个样本)的矩阵形式x。可选地,可以例如由高通滤波器对这些声道进行预处理;
[0025]-对这些信号应用主分量分析(pca)或等效地卡-洛变换(klt),其中,估计协方差矩阵(框100)并分解成特征值(表示为evd(特征值分解))(框110),以便从n个信号的协方差矩阵获取特征值和特征向量矩阵;
[0026]-为当前帧t获取的特征向量矩阵经历有符号排列(框120),使得其尽可能与类型相同于前一帧t-1的矩阵对齐,以便确保两个帧之间的矩阵之间的最大相干性。此外,在框120中做出规定,使得因此通过有符号排列进行校正的当前帧t的特征向量矩阵实际上表示旋转的应用;
[0027]-将当前帧t的特征向量矩阵(其为旋转矩阵)转换为适当的量化参数域(框130)。在专利申请wo 2020/177981的一个实施例中,对于4
×
4矩阵,这些参数对应于6个广义欧拉角;对于3
×
3矩阵,将存在3个欧拉角。
[0028]
然后将这些参数编码在分配给参数量化的多个比特上(框140)。可以使用广义欧拉角的标量量化,例如,每个角度具有相同的量化间距。
[0029]-在专利申请wo 2020/177981的一个实施例中,将已解码的参数(形式是广义欧拉角)转换为旋转矩阵(框142),然后将因此获取的旋转矩阵转换为四元数(框143)。将当前帧分割成子帧,这些子帧的数量可以是固定的或自适应的,在后一种情况下,可以将这个数量确定为从pca/klt分析得到的信息,并且可以可选地传输该信息(框150)的函数。通过从前一帧t-1到当前帧t的连续子帧对四元数表示进行插值(框160),以便随着时间的推移平滑矩阵化之间的差异。将每个子帧中的插值四元数转换为旋转矩阵(框162),并且然后应用由此产生的已解码和插值旋转矩阵(框170)。在每个帧中,在框170的输出处获取表示高保真立体声声道的信号的k个子帧中的每一个的矩阵n
×
(l/k),以便在编码(例如,多单声道编码)之前尽可能地将这些信号解相关。还执行对单独声道的二进制分配。
[0030]
图2展示了对应的解码。
[0031]
在框200中对当前帧中的旋转矩阵的量化参数的量化索引进行解码。解码器的转换和插值步骤(框242、243、260、262)与在编码器上执行的步骤(框142、143、160和162)相同。如果插值子帧的数量是自适应的,则对这进行解码(框210),否则,将该插值子帧数量设
置为预定值。
[0032]
框220每个子帧地将源自框262的逆矩阵化应用于高保真立体声声道的已解码信号;作为提醒,旋转矩阵的逆矩阵是其转置。
[0033]
在上述的专利申请中,优选地在欧拉角(3
×
3情况)或广义欧拉角(4
×
4情况)的域中执行3
×
3或4
×
4旋转矩阵的量化,并且在四元数域中执行插值。这涉及到矩阵与各种参数之间的多次转换,并且因此复杂度增加,因为两种不同类型的参数用于量化和插值。此外,根据hoffman等人在文章中所描述的方法转换为欧拉角、特别是广义欧拉角在实践中可能会提出某些问题,因为它可能在数字上是“不稳定”的,从某种意义上说,直接转换和逆转换的组合(对具有欧拉角的矩阵进行的,然后进行逆转换)可能无法完全恢复原始矩阵(即使在缺乏角度的量化的情况下),并且量化可能引起如“万向节锁”等问题,这涉及当在三维空间中应用或补偿旋转所需的三个万向节中的两个万向节的轴由同一方向支持时发生的失去自由度。在这样的情况下,pca/klt解相关不再是最优的。
[0034]
依靠仅一种类型的参数来对旋转矩阵进行编码并对其进行插值将是更有利的,可以在四元数域中执行旋转矩阵的转换,并且可以执行由该转换产生的参数的量化,以便替换对如欧拉角(其可以是广义的或可以不是广义的)等参数的量化。在文献中,没有找到在以与欧拉角(其可以是广义的或可以不是广义的)的量化类似的精度并且以给定的比特预算来表示旋转矩阵的约束下对四元数或对偶四元数进行编码的有效方法;
[0035]-例如,大约25比特/四元数或50比特/对偶四元数。
[0036]
因此,存在对在速率和/或复杂度和/或信息存储方面优化参数的这个量化的要求。
技术实现要素:
[0037]
本发明旨在改进现有技术。
[0038]
为此,本发明涉及一种用于对多声道音频信号进行编码的方法,包括形成要应用于输入信号的呈旋转矩阵形式的变换矩阵、量化该旋转矩阵、以及在应用该旋转矩阵之后对经变换的信号进行编码,其中,量化该旋转矩阵包括以下操作:
[0039]-在四元数域中用至少一个第一四元数来转换该旋转矩阵;
[0040]-强制使所述第一四元数具有正分量;
[0041]-将该至少一个第一四元数转换为球面坐标,其中,这些球面坐标之一与该第一四元数的正强制分量相关联;
[0042]-量化这些所获取的球面坐标,其中,与该第一四元数的正强制分量相关联的球面坐标在半长度区间内被量化。
[0043]
用于对旋转矩阵进行编码的四元数的量化允许避免多次转换,因为四元数域也用于在将旋转矩阵应用于多声道信号之前对该矩阵进行插值。
[0044]
进一步优化这种量化以通过强制使四元数的参数之一为正来限制要使用的速率并且因此仅对相关的正四元数进行编码,其中,负四元数与相同的旋转相对应。转换为球面坐标并对这些球面坐标进行量化允许使用在存储空间和处理能力两个方面都不需要使用繁琐字典的量化方法。在二分之一区间内的量化还允许在速率方面提供节省。
[0045]
在特定实施例中,所述第一四元数的正分量是实数分量。
[0046]
简单地说,按照约定选择第一四元数的实数分量(a1)。
[0047]
在一个实施例中,将该旋转矩阵转换为对偶四元数、第一四元数和第二四元数,该第一四元数的分量被强制为正。
[0048]
根据一个实施例,该第一四元数的量化比该第二四元数的量化少使用一个比特。因此,速率得到了优化。
[0049]
在一个实施例中,将该对偶四元数的两个四元数中的每一个转换为球面坐标会产生三个角度,并且与该第一四元数的正分量相关联的角度的量化是以相对于用于量化该第二四元数中的相同分量的区间的半长度区间来执行的。
[0050]
获取针对每个四元数获取的这些角度允许获取量化起来不太复杂的参数。实际上,对因此获取的角度进行量化而不是对正在考虑的四元数进行量化是不太复杂的,因为它在存储空间和处理能力两个方面都不一定需要使用繁琐的字典。
[0051]
考虑第一四元数的正分量会允许在受限制区间内对该四元数执行量化,从而最小化要为该四元数的量化分配的速率。
[0052]
在这个实施例的特定实施例中,通过均匀标量量化来执行六个所获取的角度的量化。
[0053]
这种量化方法简单且不是非常复杂。
[0054]
在另一特定实施例中,通过超矩形支持的向量量化来执行六个所获取的角度的量化。
[0055]
这种量化方法是另一种简单且不是非常复杂的替代方案。
[0056]
在特定实施例中,还对二进制指示进行编码,以指示该至少一个第一四元数是否采用默认值。
[0057]
四元数的默认值通常可以使得q=(1,0,0,0),这指示变换矩阵是恒等矩阵。在这种情况下,如果二进制指示表明四元数采用了这些默认值,则这表明针对当前帧将变换撤销激活。
[0058]
本发明还涉及一种用于对多声道音频信号进行解码的方法,包括接收源自多声道信号的已编码信号,并且进一步包括以下操作:
[0059]-接收至少一个第一四元数的集合的已量化球面坐标的参数以及存在正分量的指示;
[0060]-通过采用半长度量化区间从这些接收到的已量化参数对该至少一个第一四元数进行解码,以便对与该所指示的正分量相关联的球面坐标进行解码;
[0061]-从该至少一个第一已解码四元数构造逆旋转矩阵;
[0062]-在对所述信号进行解码之前,将所述逆旋转矩阵应用于这些接收到的已编码信号。
[0063]
因此,解码器可以接收并解码一组四元数,这允许构造对于对多声道信号进行解码有用的旋转矩阵。
[0064]
获取至少一个四元数的分量的正性索引允许通过仅对正四元数进行解码以便从中推导出负四元数来应用合适的解码。
[0065]
这组四元数还允许其用于对所获取的旋转矩阵进行插值,而不必执行这个矩阵的其他转换,以便获取适用于多声道信号的信号的插值矩阵。
[0066]
这组四元数可以以较低的复杂度进行解码,特别是当已编码参数是从对偶四元数得到的角度时。
[0067]
例如,可以在这种情况下实施标量逆量化方法。
[0068]
本发明还涉及一种编码设备,该编码设备包括用于实施如上所述的编码方法的处理电路。本发明还涉及一种解码设备,该解码设备包括用于实施如上所述的解码方法的处理电路。本发明涉及一种计算机程序,该计算机程序包括当由处理器执行时用于实施如上所述的编码方法或解码方法的指令。
[0069]
最后,本发明涉及一种处理器可读存储介质,该处理器可读存储介质存储有计算机程序,该计算机程序包括用于执行上述编码或解码方法的指令。
附图说明
[0070]
在阅读了通过简单的说明性和非限制性示例的方式提供的以下对特定实施例的说明以及对附图的说明之后,本发明的其他特征和优点将变得更加清楚明显,在附图中:
[0071]
[图1]图1展示了根据现有技术的方法的编码器和编码方法的实施例;
[0072]
[图2]图2展示了根据现有技术的方法的解码器和解码方法的实施例;
[0073]
[图3]图3展示了根据本发明的编码器和编码方法的实施例;
[0074]
[图4]图4展示了根据本发明的解码器和解码方法的实施例;
[0075]
[图5a]图5a使用流程图展示了根据本发明的一个实施例在对多声道音频信号进行编码时由转换框和量化框实施的步骤;
[0076]
[图5b]图5b使用流程图展示了根据本发明的一个实施例在量化对偶四元数时实施的步骤;
[0077]
[图5c]图5c使用流程图展示了根据本发明的第一实施例在量化四元数时实施的步骤;
[0078]
[图5d]图5d使用流程图展示了根据本发明的第一实施例在量化从四元数得到的角度时实施的步骤;
[0079]
[图5e]图5e使用流程图展示了根据本发明的特定实施例在量化角度时实施的步骤;
[0080]
[图6a]图6a使用流程图展示了根据本发明的一个实施例在解码多声道音频信号时在对偶四元数的逆量化期间实施的步骤;
[0081]
[图6b]图6b使用流程图展示了根据本发明的一个实施例在定义四元数的角度的逆量化期间实施的步骤;以及
[0082]
[图7]图7展示了根据本发明的一个实施例的编码器和解码器的结构性实施例。
具体实施方式
[0083]
图3展示了根据本发明的编码方法和编码器的实施例。在一个实施例中,用于每帧klt/pca分析的框300、310和320与上述图1的框100、110和120是相同的;四元数插值框350、360与图1的框150和160是相同的,并且逆转换框362和矩阵化框370与图1的框162和170是相同的。然而,本发明适用于针对这些框中的每个框使用不同实施方式的情况。
[0084]
可以在前述专利申请中找到对这些框的更详细说明。已在本文明确添加用于对经
变换的信号进行编码的框(框380),该框可以是多单声道编码或任何其他类型的多声道编码,还明确添加了多路复用框(框390),该多路复用框形成已编码数据包的比特流或有效负载。特别地,与图1的区别在于:转换为四元数(框330),之后是优化的量化(框340)(下文将参考图5a至5e对此进行描述),以及多路复用(框390)。
[0085]
图4展示了对应的解码。在这里,再次找到与图2的框210和框260相同的四元数插值框(框410和框460),以及与图2的框262相同的逆转换框462和与图2的框220相同的矩阵化框420。再次,已经明确添加了对经变换的信号进行解码的框(框480)和多路分用框490。在这种情况下,本发明涉及在下文参考图6a和图6b描述的框400中以及在多路分用(框490)中对四元数进行优化的解码。
[0086]
作为提醒,在这种情况下提供与n维的旋转和这些旋转在3
×
3情况下转换为四元数以及在4
×
4情况下转换为对偶四元数相关的一些解释性概念。如前述专利申请中所描述的,编码方法使用n=3或4维的旋转的表示,以及适合用于每帧的量化和每子帧的高效插值的参数。在下文定义了可以在3个维度和4个维度上使用的旋转的一些表示,并且在优选实施例中重点放在4个维度上。
[0087]
旋转(围绕原点)是n维的空间从一个向量改变成另一个向量的变换,使得:
[0088]-向量的幅值保持不变;
[0089]-在旋转之前定义正交坐标系的向量积在旋转之后保持不变(没有反射)。
[0090]
当且仅当m
t
m=in时,大小为n
×
n的矩阵m是旋转矩阵,其中,in表示大小为n
×
n的恒等矩阵(即,m是单位矩阵,其中,m
t
指定m的转置),并且其行列式等于+1。顺便提及,应注意的是,矩阵m的逆是它的转置。
[0091]
存在与每旋转矩阵的表示等效的几种表示。
[0092]
在三维(3d)空间(n=3)中:通常使用欧拉角、四元数(单位)或甚至每轴角的表示作为3d旋转的表示,其中,未在本文描述每轴角的表示。3个欧拉角的表示是从如下事实得到的,即3
×
3旋转矩阵可以分解为3个基本旋转矩阵的乘积;下文提供沿着x、y或z轴具有旋转角度θ的基本旋转矩阵:
[0093][0094][0095][0096]
取决于轴的组合并且取决于轴被定义为绝对的还是相对的,角度被称为欧拉角或卡登角。
[0097]
3d旋转也可以由四元数表示。四元数是具有四个分量的复数的一般化,形式为数q=a+bi+cj+dk,其中,i2=j2=k2=ijk=-1。
[0098]
实部a被称为标量部分,并且三个虚部(b,c,d)形成3d向量。四元数的范数是单位四元数(范数为1)表示旋转;然而,这种表示并不是唯一的;因此,如果q表示旋转,则-q表示相同的旋转。
[0099]
在下文中,术语四元数应当在单位四元数的意义上被理解,并且为了简洁起见,未系统地使用限定词“单位”,除非及时提醒。
[0100]
应注意的是,在文献中,四元数q=a+bi+cj+dk通常被视为4维向量(a,b,c,d);有时,实部被排列为(b,c,d,a);随后,在不失一般性的情况下,假设元素的顺序按照(a,b,c,d)的形式的约定。在下文中,每个元素a,b,c,d将被称为四元数的分量。因此,a在下文也被称为q的实数分量。
[0101]
考虑到单位四元数q=a+bi+cj+dk(其中,a2+b2+c2+d2=1),相关联的3d旋转矩阵是:
[0102][0103]
相反地,对于3
×
3旋转矩阵,可以确定相关联的四元数(取最接近的符号);实际上,q和-q表示相同的矩阵m
3,quat
(q)=m
3quat
(-q)。下文关于框330描述了用于将m
3quat
(q)转换为
±
q的方法。
[0104]
欧拉角不允许对3d旋转进行正确地插值;为此,替代地使用四元数。slerp(球面线性插值)插值方法涉及根据以下公式进行插值:
[0105][0106]
其中,0≤α≤1是从q1到q2的插值因子,并且ω是两个四元数之间的角度:
[0107]
ω=arccos(q1·
q2)
[0108]
其中,q1·
q2指定两个四元数之间的标量积(与两个4维向量之间的标量积相同)。这相当于通过沿4d球体上的大圆而行来进行插值,其中,角速度与α的函数关系是恒定的。值得确保的是,最短路径用于通过在q1·
q2<0时改变四元数之一的符号进行插值。应注意的是,还可以使用其他四元数插值方法(nlerp“归一化线性插值”,它相当于在弦上进行插值并重新归一化结果、样条线等)。
[0109]
在4个维度(n=4)中,旋转可以由个广义欧拉角参数化,如前述专利申请中所指示的。
[0110]
在这种情况下,对偶四元数表示是令人关注的。这种表示需要求助于四元数的矩阵形式。
[0111]
与四元数(单位)q=a+bi+cj+dk相关联的在本文被称为四元数(q)和反四元数(q
*
)的4
×
4矩阵定义如下:
[0112][0113]
以及
[0114]
[0115]
这对应于“列约定”,因为四元数然后被表示为4d列向量。矩阵q和q
*
分别对应于左乘q和右乘q。
[0116]
可以验证,在矩阵形式中以相同方式获取两个四元数的乘积q1q2:
[0117][0118]
其中,对于四元数q1=a1+b1i+c1j+d1k和q2=a2+b2i+c2j+d2k,具有:
[0119][0120]
以及
[0121][0122]
考虑两个单位四元数q1和q2,q1和的乘积得出4
×
4矩阵,从而确认旋转矩阵(单位矩阵和等于1的行列式)的性质:
[0123][0124]
应注意的是,m
4,quat
(q1,q2)=m
4,quat
(q2,q1)。
[0125]
相反地,考虑4
×
4旋转矩阵,可以找到相关联的对偶四元数(q1,q2)以及对应的四元数矩阵和反四元数矩阵。换句话说,可以例如使用被称为“凯莱因式分解”方法的方法将这个矩阵因式分解成形式为的矩阵乘积。这通常涉及计算被称为“相关联矩阵”(或“四方变换”)的中间矩阵,并从中推断出四元数使其在两个四元数的符号上达到最接近的不确定性。应注意的是,m
4,quat
(q1,q2)=m
4,quat
(-q1′-q2);该特性在本发明的范围内用于更高效地编码四元数。
[0126]
在各变体中,四元数矩阵和反四元数矩阵的定义可以采用各种约定。例如:
[0127]-行约定;
[0128][0129]
以及
[0130][0131]-对一些分量进行排列并改变一些符号的条款约定:
[0132][0133]
以及
[0134][0135]
通常,可以将带符号的排列矩阵插入到凯莱因式分解中,并且本发明适用于所有这些情况。为了简化起见,并且在不失一般性的情况下,下文在框330的输出处描述了约定的仅一个示例(上述的“列约定”),该框允许以要编码的两个4d向量的形式获取对偶四元数(q1,q2)。
[0136]
这些替代约定影响用于转换对偶四元数矩阵(特别是计算“相关联矩阵”)的框330,并且影响计算(明确地或以优化的方式)形式为的矩阵乘积的逆框362和462。本领域技术人员将知道如何根据所采用的约定来调适这个计算。
[0137]3×
3和4
×
4情况是由以下事实联系起来的,即3d旋转可以被视为具有约束的4
×
4旋转:q1=q以及q2=-q。在这种情况下,
[0138][0139]
关于4
×
4情况,为了简化起见并且在不失一般性的情况下,下文描述了约定的仅一个示例(如上所述的“列约定”)。
[0140]
正如参考图3所描述的,本发明涉及编码器和编码方法,其中,框330和框340以优化的方式实施从klt/pca分析产生的旋转矩阵的转换以及对该矩阵的参数的量化。
[0141]
本发明防止获取与在框360中用于插值的表示不同的表示。
[0142]
根据本发明,3维和4维矩阵优选地被选择为(分别)在四元数和对偶四元数的域中进行量化,这意味着对于量化和插值可以保持在同一域中。
[0143]
更具体地,现在将描述的实施例中的4维矩阵的情况是令人关注的。
[0144]
如专利申请wo 2020/177981中所描述的pca/klt分析和pca/klt变换是在时间域中执行的。然而,本发明也适用于利用通过子带对(实数)协方差矩阵的估计来例如在频域中执行pca/klt分析的情况。
[0145]
根据本发明的编码方法实施参考图3所描述的步骤。对于4d情况,框330将旋转矩阵转换为对偶四元数。
[0146]
对于旋转矩阵m
4,quat
(q1,q2)(在这种情况下表示为m=(m
ij
)
i,j=0,..,3
),可以如下执行该转换,以便简化展开:
[0147]
旨在对形式为的m进行因式分解:
[0148][0149]
以及
[0150][0151]
可以看出,这个因式分解等同于对下式求解:
[0152][0153]
其中,u是从m的系数m
ij
获取的m的“相关联矩阵”,如下所示:
[0154][0155]
考虑系数u=(u
ij
)
i,j
=0,..,3,,在对每行的所有系数进行平方并求和之后逐行找到以下各项:
[0156][0157][0158][0159][0160]
由于四元数q2是单位四元数(即,a
22
+b
22
+c
22
+d
22
=1),因此这产生:
[0161][0162]
[0163][0164][0165]
按照约定,分量a1,b1,c1,d1的符号分别由u
0k
,u
1k
,u
2k
,u
3k
的符号提供,其中,k是在区间0,..,3上选择的。应注意的是,因式分解有两个可能的解,因为相反的约定也将是解。
[0166]
通过例如从a1,b1,c1,d1中选择最大绝对值分量(非零保证,因为四元数q1是单位四元数),并且在不失一般性a1≠0的情况下,推导如下:
[0167][0168]
(如果选择了除a1以外的分量,例如b1,则
[0169]
因此,在框330的输出处获取表示对偶四元数(q1,q2)的两个4d向量(a1,b1,c1,d1)和(a2,b2,c2,d2)。
[0170]
对于表示为m=(a
ij
)
i,j=0,..,2
的矩阵m
3,quat
(q),可以如下执行3d情况的四元数转换。从扩展的旋转矩阵开始重新使用4
×
4情况:
[0171][0172]
相关联矩阵被简化为:
[0173][0174]
因式分解方法的其余部分保持相同,除了仅必须确定单个四元数,例如,q1,而另一个四元数(q2)则相反;因此,a1,b1,c1,d1是根据项的部分和与u的平方的平方根来确定的,其中,符号是根据指定的约定来确定的。
[0175]
因此,在框330的输出处获取表示四元数q1=q的3d向量(a1,b1,c1,d1)。
[0176]
根据本发明,框340对所获取的四元数(在本文所述的实施例中为4
×
4情况的对偶四元数)进行编码。
[0177]
现在将参考图5a根据本发明的一个实施例描述量化所获取的对偶四元数的这个操作。
[0178]
参考图5a,考虑在步骤e300中由转换框330获取的两个单位四元数qi=(ai,bi,ci,di),(i=1,2),在步骤e310和e320中执行涉及强制使对偶四元数(q1,q2)中的第一四元数(例如,q1)具有正分量的操作。
[0179]
在特定实施例中,按照约定,第一四元数的实数分量(a1)被强制为正。
[0180]
为此,在步骤e310中执行检查以确定实数分量ai是否为负。如果是,则在步骤e320中,将两个四元数q1和q2替换为它们的相反数-q1和-q2。
[0181]
作为提醒,这个操作不会改变与对偶四元数相关联的4d旋转矩阵。
[0182]
然后在步骤e330中通过量化对这两个四元数进行编码。
[0183]
在第一实施例中,为了最小化复杂度,在步骤e330中,通过图3中的框340表示的量化设备并且通过现在将描述的如参考图5b所描述的方法对q1和q2进行量化。
[0184]
在步骤e380中考虑两个单位四元数qi=(ai,bi,ci,di)(i=1,2),其中,第一四元数q1的分量已被强制为为正。对于这个四元数,不存在正分量的指示(表示为f1)被设置为值0(因为明显存在正分量)。对于第二四元数q2,该指示被设置为值1(f2=1)。参数f(“全范围”)允许区分以下区间:[0,π/2](f=0)和[0,π](f=1)。
[0185]
在步骤e381(对q1进行编码)中,考虑到为q1提供的不存在正分量的指示f1=0而执行对第一四元数q1进行编码的步骤,并且在步骤e382(对q2进行编码)中,考虑到为q2提供的不存在正分量的指示f2=1而执行对第二四元数q2进行编码的步骤。
[0186]
在特定实施例中,现在将参考图5c描述这两个步骤。
[0187]
从步骤e510中的单位四元数qi=(ai,bi,ci,di)开始,在步骤e520中将这个四元数转换为三个角度这些角度类似于球面坐标。
[0188]
对于四元数qi,这三个角度定义如下:
[0189]
ωi=arccos(ai)
[0190]
θi=arctan2(ci,bi)
[0191][0192]
其中,arccos是反余弦函数(具有在[0,π]之间的值),并且arctan2是4个象限上的反正切函数,以便获取在[-π,π]上的角度。在各变体中,可以采用角度ωi、θi或均其他定义(例如,依据表示为arcsin的反正弦函数);在这种情况下,量化必须考虑不同的区间(例如:[-π/2,π/2]而不是[0,π]),并且上文提供用于确定3个角度的公式也必须相应地进行调适(像逆转换一样)。
[0193]
如上文所定义的三个角度ωi、θi和分别具有在区间[0,π]、[-π,π]和[0,π]上的值。
[0194]
为了尽可能地降低复杂度,在步骤e530中考虑到在步骤e531中为四元数qi提供的如上文所定义的索引fi而例如通过均匀标量量化对这三个角度进行量化。
[0195]
现在将参考图5d来描述在步骤e530中实施以便对这3个角度进行量化的步骤。
[0196]
考虑在步骤e540中的三个角度ωi、θi和以及在步骤e531中的指示fi,对于四元数qi,分别在步骤e541、e542和e543中对这些角度进行量化,以便在步骤e551、e552和e553中获取三个量化索引(idx
i1
、idx
i2
、idx
i3
)。
[0197]
为此,针对每个角度定义了对量化区间的宽度进行定义的参数f(“全范围”)和对区间中正值和负值的存在进行定义的参数t(“双边的”)。
[0198]
对于角度ωi的情况,f的值对应于fi的值,即,不存在正分量的指示。在第一四元数的分量的值已被强制为为正的情况下,该值将为0,即,量化区间的宽度将减少为半区间。
[0199]
相反地,对于第二四元数(其中,fi的值为1),使用整个量化区间(f=1)。
[0200]
对于角度ωi的情况,将t的值设置为0,即量化区间不包括负值。实际上,对于这个
角度,量化区间是[0,π/2]或[0,π]。
[0201]
对于角度θi的情况,量化区间是[-π,π]。f的值被定义为1,并且t的值被定义为1。
[0202]
对于角度的情况,量化区间是[0,π]。f的值被定义为1,并且t的值被定义为0。
[0203]
现在将在图5e的流程图中描述对通常表示为a的角度进行量化的步骤,如步骤e541、e542或e543。
[0204]
从步骤e560开始,利用如上文所定义的a(角度ωi、θi和的值)、t和f的相应值,在步骤e561中定义参数n和n’。
[0205]
n=2r并且n
′
=n/2,其中,r是设置的比特数,例如,设置为8个比特。
[0206]
在步骤e562中,检查f的值。如果f=0,则量化区间的宽度减半,并且因此在步骤e563中具有π/2的最大值(maxval)。否则,如果f=1,则量化区间不会减小,并且其最大值(maxval)为π。
[0207]
在步骤e565中,量化索引idx的值被设置为值0。
[0208]
在步骤e566中,检查t的值。如果t等于1,则在步骤e567中执行检查以确定a的值是否为负。如果是,则在步骤e568中取角度a的值的绝对值,并且将偏移(n
′
)添加到量化索引。
[0209]
在步骤e569中更新n的值(n=n
′
),以便指示为正值保留一半的量化索引。
[0210]
在步骤e567中a为正的情况下,该方法直接进行到步骤e569。
[0211]
在步骤e570中,量化间距d被定义为n-1上的区间的最大值(maxval)。
[0212]
在步骤e566中t等于0的情况下,该方法直接进行到步骤e570。
[0213]
在步骤e571中,通过将a与区间的最大值进行比较来检查a的值。
[0214]
在a大于该最大值(maxval)的情况下,步骤e572将m=n-1定义为已量化值,否则,该已量化值被定义为四舍五入的值:
[0215]
在步骤e574中,将量化索引的值更新为该已量化值m。
[0216]
因此,获取在步骤e575中编码的角度的量化值idx,可以将该量化值传输给解码器。在各变体中,可以实施其他标量量化形式(例如:其他量化步长、决策阈值或重建级别),并且二进制分配r可以不同于每个角度ωi、θi和的8个比特,以便针对每个角度具有特定的比特预算。
[0217]
应注意的是,根据本发明,对q1的编码比对q2的编码需要少一个比特,因为通过在[0,π/2]上而不是[0,π]上定义ω1来利用约束a1≥0。实际上,对于利用n=2r个量化值(或重建级别)对r个比特(例如,r=8个比特)进行均匀标量量化的情况,如果将量化间距d设置为d=(π/2)/(n-1)以覆盖具有n-1个子区间的范围为从0到π/2(包括0和π/2)的半长度区间,则将需要相同宽度d的n-2个附加子区间以便覆盖范围为从0到π的完整区间,这需要1个附加比特。为了避免留下未使用的值,还可以针对d
′
=π/(n-1)稍微地调适间距,其中,n=2
r+1
。对于r=8个比特,差d-d
′
是可以忽略不计的,其为大约0.0007度的(π/2)/255-π/511。
[0218]
因此,对于对q1进行编码,8个比特用于ω1,9个比特用于θ1,并且8个比特用于即25个比特。因此,对于对q2进行编码,9个比特用于ω2,9个比特用于θ2,并且8个比特用于即26个比特。因此,所使用的预算总共是51个比特。
[0219]
q1和q2的角色显然可以互换,以便强制使分量为正并进行量化。
[0220]
如针对图3所描述的编码方法包括由框360执行的插值步骤,该插值步骤是针对两
个所获取的四元数进行计算的。在这种情况下,不需要在不同域之间(例如,在广义欧拉角的域与四元数的域之间)执行转换,因为在解码之后已经获取了用于量化的对偶四元数。
[0221]
在本文所描述的实施例中,在图3的框360的插值步骤中使用的四元数源自于在框340中量化的四元数的本地解码。实际上执行这种本地解码使得在编码器端和解码器端以相同的方式执行插值步骤,以便在解码器上获取完美重建(在没有由框380和框480引入的编码噪声的情况下)。
[0222]
然而,在变体中,用于框360的插值步骤的四元数可以直接源自框330的转换步骤,而无需经过量化和逆量化的步骤。
[0223]
可以如前述专利申请中所描述的那样执行这种插值。插值的其他实施例也是可能的。
[0224]
一旦针对两个四元数q1和q2单独地计算插值,就可以例如通过在形成先前定义的矩阵q1和(或q2和)之后明确地计算矩阵乘积来计算4
×
4维旋转矩阵。
[0225]
在变体中,可以考虑到上述定义的相应区间而通过在“超矩形”支持([0,π/2]x[-π,π]x[0,π]x[0,π]x[-π,π]x[0,π])下的向量量化方法对6个所获取的角度ω1、θ1ω2、θ2、进行量化,例如根据j.p.adoul在名称为“lattice and trellis coded quantizations for efficient coding of speech[用于高效语音编码的格和格编码量化]”(ayuso,soler(编辑),语音识别与编码,北约asi系列,1995年)的文章中所描述的tcq方法。
[0226]
在另一实施例中,可以针对两个角度ω1和ω2(对应于四元数的实部)实施标量量化,并且可以针对其他角度θ1、和θ2、(对应于四元数的虚部)实施单独的3维球面量化。量化字典通常可以是通过有限数量的点对球体进行的任何离散化,但有利的是使用(lebedev、t设计等的)准均匀离散化以获得更好的性能,并且在各变体中,还可以使用经纬类型(经度-纬度)的离散化。
[0227]
下面描述了经纬方法:
[0228]
这些分量(bi,ci,di)被视为3d笛卡尔向量,可以用球面坐标的形式实施该3d笛卡尔向量。半径ri是由ri=sin(ωi)提供的。如在本发明中所描述的,确定角度θi、它们分别对应于经度和纬度。这些角度可以根据字典(具有以度为单位的角度)进行量化,如perotin等人在名称为“crnn-based multiple doa estimation using acoustic intensity features for ambisonics recordings[使用声强特征进行高保真立体声记录的基于crnn的多重doa估计]”(ieee信号处理专题选刊,2019年)的文章的第3.2节中所描述的:
[0229][0230][0231]
其中,并且
[0232]
然而,应注意的是,perotin等人在文章中用反正弦函数定义纬度,因此,为了在不
失一般性的情况下用反余弦函数编码本文中所定义的角度而应用转换是值得的。
[0233]
这涉及到对2个角度的条件量化,其中,首先通过从中找到最近邻来对纬度进行编码,并且然后通过从中找到最近邻作为所选的索引n的函数来对经度θi进行编码。
[0234]
必要比特的数量是其中,
[0235][0236]
例如,字典的大小是n(α)=429、1687或4645,其中,α=10度、5度或3度(分别地),即9个、11个或13个比特(四舍五入到最近的整数)。
[0237]
对于给定大小为n(α)的字典,可以使用其他重建级别和/或(以及其他决策阈值)。
[0238]
在本发明的变体中,在步骤e330中使用4维球面坐标对单位四元数qi=(ai,bi,ci,di)进行编码(同时在这种情况下注意,半径被设置为1,因为四元数qi是单位四元数):
[0239]ai
=cos(φ
i0
)
[0240]bi
=sin(φ
i0
)cos(φ
i1
)
[0241]ci
=sin(φ
i0
)sin(φ
i1
)cos(φ
i2
)
[0242]di
=sin(φ
i0
)sin(φ
i1
)sin(φ
i2
)
[0243]
其中,根据本发明,φ
i0
在[0,π]或[0,π/2]上,φ
i1
在[0,π]上,并且φ
i2
在[0,2π]上。
[0244]
球面坐标可以通过以下方式确定:
[0245]
φ
i0
=arccos(ai)
[0246][0247][0248]
在这种情况下不处理一些分量为零(例如:ci=0,di=0)的特殊情况,但按照约定,与零值相对应的角度可以被设置为0。
[0249]
对于这种变体,上文针对编码6个角度(分开或合并)所描述的所有实施例都适用。
[0250]
在各变体中,可以使用球面坐标的其他定义。
[0251]
在第二实施例中,实施4维球面向量量化。
[0252]
第一四元数的分量被强制为正的事实允许所述四元数的符号是已知的并且仅对相关的正四元数进行编码,而负值四元数对应于相同的旋转。因此,对于第一四元数,半球向量量化是足够的,并且允许速率与球面量化相比减小。
[0253]
因此,可以使用半球字典(其中,每个码字的第一分量为正)对q1进行量化,并且可以使用球面字典对q2进行量化。q1和q2的角色显然可以互换,以便强制使分量为正并进行量
化。
[0254]
可以通过4维正多面体或不规则多面体中的预定义点来提供字典的示例。通过与以下点的组合相对应的“正六百胞体”的120个顶点提供关于7个比特的4维球面字典的简单示例:
[0255]-(
±
1,0,0,0)的8个符号排列;
[0256]-(
±
1/2,
±
1/2,
±
1/2,
±
1/2)的16个符号排列;
[0257]-的96个偶排列。
[0258]
这样的字典的半球形版本包括以下60个点(关于6个比特):
[0259]-具有第一正分量的“前导向量”(或前导)的4个符号排列(
±
1,0,0,0);
[0260]-具有第一正分量的前导的8个符号排列(
±
1/2,
±
1/2,
±
1/2,
±
1/2);
[0261]-具有第一正分量的前导的48个符号偶排列
[0262]
考虑到球面或半球形字典,量化首先涉及找到要编码的四元数的最近邻;通常,可以通过利用底层代数结构并通过标量积仅比较“绝对向量”来优化这种运算。量化还包括明确的索引步骤(识别最近码字的量化索引的计算),并且通常,通过排列索引(带有符号)和取决于表示最近邻的绝对向量的偏移来计算索引。这些概念被认为是本领域的技术人员已经知晓的。
[0263]
通过向量量化的这个实施例的缺点是必须明确确定量化索引并且还必须存储描述量化字典的某些元素。为了能够用大约25个比特的预算对四元数进行编码,4维字典必须对非常多的代表点(前导)的组合进行组合。
[0264]
此外,在其他变体中,可以应用条件标量量化。
[0265]
在这种情况下使用对4维球面坐标的以下定义:
[0266]ai
=cos(φ
i0
)
[0267]bi
=sin(φ
i0
)cos(φ
i1
)
[0268]ci
=sin(φ
i0
)sin(φ
i1
)cos(φ
i2
)
[0269]di
=sin(φ
i0
)sin(φ
i1
)sin(φ
i2
)
[0270]
其中,根据本发明,φ
i0
在[0,π]或[0,π/2]上,φ
i1
在[0,π]上,并且φ
i2
在[0,2π]上。
[0271]
3维球面量化的原理通过经纬类型的字典在4个维度上一般化。为此,角度φ
i0
被转换为度数,并使用具有取决于区间的均匀间距的标量字典进行量化:
[0272]-在区间[0,180]上:
[0273][0274]
其中,
[0275]-在区间[0,90]上:
[0276][0277]
其中,参数α指示角度分辨率(例如,α=5度)。
[0278]
然后,角度φ
i1
被转换为度数,并在区间[0,π]上使用标量字典进行量化,其中,子
区间的数量(以及重建级别的数量)取决于的值。最后,角度φ
i2
被转换为度数,并在区间[0,2π]上使用标量字典进行量化,子区间的数量(以及重建级别的数量)取决于和的字典的值。在一个示例中,可以从经纬类型的3维球面量化字典定义对和进行定义的单独量化字典,使得其大小n(a
′
)被调适为的值的函数。这种变体的特定益处是具有与q1=q2=(1,0,0,0)相对应的向量量化字典的元素,并且与每个角度φ
i0
、φ
i1
、φ
i2
的独立标量量化相比较还能够更均匀地分布4维量化字典的元素。
[0279]
在可变速率编码的另一种变体中,添加了选择编码类型和决定复用索引的步骤。定义了可以指示对偶四元数通过q1=q2=(1,0,0,0)(定义为默认值)进行编码同时指示变换矩阵是恒等矩阵的比特。在这种情况下,用于根据主要实施例对对偶四元数进行编码的比特预算在两个可能的值之间变化:如果对偶四元数通过值q1=q2=(1,0,0,0)进行编码,则为1个比特,否则为52个比特(1+51);在这后一种情况下,应用先前并且在变体中描述的发明,所使用的量化字典可能不包含q1=q2=(1,0,0,0)的情况,因为在对单个比特进行编码时涵盖这种情况。
[0280]
另外,复用框(390)添加附加比特,以便指示所使用的编码模式。
[0281]
现在将描述特定于3
×
3旋转矩阵的情况的实施例。在这种情况下,上文描述的发明同样适用于q1=q和q2=-q。因此,仅对一个四元数(例如,q1)进行编码,并且有利地,使用不存在正分量的指示f1=0以便节省一个比特。在实施例中所描述的预算的情况下,因此获取对25个比特的编码。在3
×
3情况下存在所有可能的编码变体(使用半球形字典的球面向量量化、转换为球面坐标、以及角度的量化等)。
[0282]
在这个实施例的变体中,还可以添加选择编码类型和决定是否复用索引的步骤。定义了可以指示四元数由q=(1,0,0,0)进行编码的总比特。在这种情况下,用于根据这种变体对四元数进行编码的比特预算在两个可能的值之间变化:如果四元数由q=(1,0,0,0)进行编码,则为1个比特,否则为26个位(1+25)。
[0283]
在上文描述的用于编码的所有变体中,在量化之后还可以可选地使用(例如,霍夫曼或算术类型的)熵编码,这通常可能以可变速率为代价来降低平均速率。
[0284]
现在将描述解码方法,并且特别地,由图4的框400执行的逆量化步骤。图6a描述了一个实施例。
[0285]
在步骤e601、e602和e603中由解码器接收每个四元数i的量化索引idx1、idx2和idx3,并且在步骤e611、e612、e613中分别对这些量化索引进行解码。
[0286]
还在步骤e611、e612和e613中获取量化区间宽度参数f和区间t的正负值的存在。在步骤e611中,还获取不存在正分量的指示fi。
[0287]
因此,在步骤e611中,获取fi作为f的值,并且获取0作为t的值。
[0288]
在步骤e612中,获取1作为f的值,并且获取1作为t的值,并且在步骤e613中,获取1作为f的值,并且获取0作为t的值。
[0289]
在步骤e611、e612和e613中执行的逆量化步骤允许在步骤e621中对角度ωi进行解码,在步骤e622中对角度θi进行解码,并且在步骤e623中对角度进行解码。
[0290]
然后在步骤e630中依据这样解码的角度根据以下公式对相应四元数ai、bi、ci、di的分量进行解码:
[0291]
口i=cos(ωi)
[0292][0293][0294][0295]
现在将在图6b的流程图中描述角度的逆量化的步骤,如步骤e611、e612或e613。
[0296]
在步骤e640中,从如上定义的idx(角度的量化索引)、t和f的相应值开始,在步骤e641中定义参数n和n’。n=2r,并且n
′
=n/2,其中,在这个实施例中r是被设置为8个比特的比特值。在步骤e642中,检查f的值。如果f=0,则量化区间的宽度减半,并且因此在步骤e643中具有为π/2的最大值。否则,如果f=1,则量化区间不减小,并且在步骤e644中其最大值为π。
[0297]
在步骤e645中,将符号参数s的值设置为0。
[0298]
在步骤e646中,检查t的值。如果t等于1,则在步骤e648中更新n的值(n=n
′
)。
[0299]
在步骤e649中,检查idx的值。如果所述值不大于或等于n
′
,则在步骤e670中,将s的值设置为1,并且通过从n
′
中减去idx的值来更新该值。实际上,从0到n
′‑
1的索引对应于正值,并且从n
′
到n-1的索引对应于负值。
[0300]
在步骤e671中,将量化间距d定义为n-1上的区间的最大值。
[0301]
在步骤e646中t等于0的情况下,该方法直接进行到步骤e671。
[0302]
在步骤e649中idx大于或等于n
′
的情况下,该方法直接进行到步骤e671。
[0303]
在步骤e672中,a的值被计算为以下值:(-1)s.idx.d。
[0304]
因此,对a的值(即步骤e673中的角度的值)进行解码。
[0305]
图7示出了编码设备dcod和解码设备ddec,在本发明的意义上,这些设备彼此成对(在可逆方向上)并且通过通信网络res彼此连接。
[0306]
在其他实施例中,由图4的框400执行的解码方法的逆量化的步骤适于被执行用于编码的量化方法。
[0307]
因此,可以执行逆球面向量量化。被接收用于解码的存在正分量的指示使得可以知晓是否已针对编码执行半球量化以便对第一四元数进行编码。在这种情况下,逆量化将是用于对这个第一四元数进行解码的逆半球向量量化。
[0308]
类似地,在使用球面坐标进行的条件标量量化用在编码器上的情况下,解码器将执行逆量化以便取得这些球面坐标并对相应的四元数进行解码。
[0309]
编码设备dcod包括处理电路,该处理电路典型地包括:
[0310]-存储器mem1,用于在本发明的意义上存储计算机程序的指令数据(这些指令能够分布在编码器dcod与解码器ddec之间);
[0311]-界面intl,用于接收原始多声道信号b,例如分布在各个声道(例如四个一阶声道w、y、z、x)上的高保真立体声信号,以在本发明的意义上对其进行压缩编码;
[0312]-处理器proc1,用于接收该信号并且通过执行由存储器mem1存储的计算机程序指令对其进行处理,以对该信号进行编码;以及
[0313]-通信接口com1,用于经由网络传输已编码信号。
[0314]
解码设备ddec包括洁净的处理电路,该处理电路典型地包括:
[0315]-存储器mem2,用于在本发明的意义上存储计算机程序的指令数据(如上所述,这
些指令能够分布在编码器dcod与解码器ddec之间);
[0316]-界面com2,用于接收来自网络res的已编码信号以在本发明的意义上对其进行压缩解码;
[0317]-处理器proc2,用于通过执行由存储器mem2存储的计算机程序指令来处理这些信号,以对这些信号进行解码;以及
[0318]-输出接口int2,用于输送已解码信号,例如以高保真立体声声道w...x的形式,以呈现这些信号。
[0319]
当然,该图7展示了本发明的意义上的编解码器(编码器或解码器)的结构性实施例。如上文所讨论的,图3到图6提供了对这些编解码器的大多数功能实施方式的详细描述。
技术特征:
1.一种用于对多声道音频信号进行编码的方法,该方法包括形成要应用于输入信号的呈旋转矩阵形式的变换矩阵、量化该旋转矩阵、在应用该旋转矩阵之后对经变换的信号进行编码,其中,量化该旋转矩阵包括以下操作:-在四元数域中用至少一个第一四元数来转换(e300)该旋转矩阵;-强制(e320)使所述第一四元数具有正分量;-将该至少一个第一四元数转换为球面坐标,其中,这些球面坐标之一与该第一四元数的正强制分量相关联;-量化(e330)这些所获取的球面坐标,其中,与该第一四元数的正强制分量相关联的球面坐标在半长度区间内被量化。2.如权利要求2所述的方法,其中,所述第一四元数的正分量是其实数分量。3.如权利要求1至2中任一项所述的方法,其中,将该旋转矩阵转换为对偶四元数、第一四元数和第二四元数,该第一四元数的分量被强制为正。4.如权利要求3所述的方法,其中,该第一四元数的量化比该第二四元数的量化少使用一个比特。5.如权利要求3所述的方法,其中,将该对偶四元数的两个四元数中的每一个转换为球面坐标会产生三个角度,并且与该第一四元数的正分量相关联的角度的量化是以相对于用于量化该第二四元数中的相同分量的区间的半长度区间来执行的。6.如权利要求5所述的方法,其中,通过均匀标量量化来执行六个所获取的角度的量化。7.如权利要求5所述的方法,其中,通过超矩形支持的向量量化来执行这六个所获取的角度的量化。8.如前述权利要求中任一项所述的方法,其中,还对二进制指示进行编码,以便指示该至少一个第一四元数是否采用默认值。9.一种用于对多声道音频信号进行解码的方法,该方法包括从多声道信号接收已编码信号,并且进一步包括以下操作:-接收(e601,e602,e603)至少一个第一四元数的集合的已量化球面坐标的参数以及存在正分量的指示(e611);-通过采用半长度量化区间从这些接收到的已量化参数对该至少一个第一四元数进行解码(e611、e612、e613),以便对与所指示的正分量相关联的球面坐标进行解码;-从该至少一个第一已解码四元数构造(462)逆旋转矩阵;-在对所述信号进行解码之前,将所述逆旋转矩阵应用(420)于这些接收到的发布的已编码信号。10.一种编码设备,该编码设备包括用于实施如权利要求1至8中任一项所述的编码方法的步骤的处理电路。11.一种解码设备,该解码设备包括用于实施如权利要求9所述的解码方法的步骤的处理电路。12.一种处理器可读存储介质,该处理器可读存储介质存储有包括指令的计算机程序,这些指令用于执行如权利要求1至8中任一项所述的编码方法或如权利要求9所述的解码方法。
技术总结
本发明涉及一种用于对多声道声音信号进行编码的方法,该方法包括形成要应用于输入信号的呈旋转矩阵形式的变换矩阵、量化该旋转矩阵、在应用该旋转矩阵之后对经变换的信号进行编码,并且其中,量化该旋转矩阵包括以下操作:-在四元数域中用至少一个第一四元数来转换(E300)该旋转矩阵;-强制(E320)使所述第一四元数具有正分量;-将该至少一个第一四元数转换为球面坐标,这些球面坐标之一与该第一四元数的正强制分量相关联;量化(E330)这些所产生的旋转球面坐标,与该第一四元数的正强制分量相关联的球面坐标在半长度区间内被量化。本发明还涉及一种对应的解码方法、一种编码设备以及一种解码设备。以及一种解码设备。以及一种解码设备。
技术研发人员:S
受保护的技术使用者:奥兰治
技术研发日:2021.12.09
技术公布日:2023/8/31
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/