CN110832884A - 信号处理装置和方法以及程序 - Google Patents

信号处理装置和方法以及程序 Download PDF

Info

Publication number
CN110832884A
CN110832884A CN201880043827.7A CN201880043827A CN110832884A CN 110832884 A CN110832884 A CN 110832884A CN 201880043827 A CN201880043827 A CN 201880043827A CN 110832884 A CN110832884 A CN 110832884A
Authority
CN
China
Prior art keywords
rotation
head
matrix
rotation matrix
angle
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.)
Granted
Application number
CN201880043827.7A
Other languages
English (en)
Other versions
CN110832884B (zh
Inventor
曲谷地哲
光藤祐基
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Publication of CN110832884A publication Critical patent/CN110832884A/zh
Application granted granted Critical
Publication of CN110832884B publication Critical patent/CN110832884B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S7/00Indicating arrangements; Control arrangements, e.g. balance control
    • H04S7/30Control circuits for electronic adaptation of the sound field
    • H04S7/302Electronic adaptation of stereophonic sound system to listener position or orientation
    • H04S7/303Tracking of listener position or orientation
    • H04S7/304For headphones
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2400/00Loudspeakers
    • H04R2400/01Transducers used as a loudspeaker to generate sound aswell as a microphone to detect sound
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R5/00Stereophonic arrangements
    • H04R5/033Headphones for stereophonic communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2400/00Details of stereophonic systems covered by H04S but not provided for in its groups
    • H04S2400/01Multi-channel, i.e. more than two input channels, sound reproduction with two speakers wherein the multi-channel information is substantially preserved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2420/00Techniques used stereophonic systems covered by H04S but not provided for in its groups
    • H04S2420/01Enhancing the perception of the sound image or of the spatial distribution using head related transfer functions [HRTF's] or equivalents thereof, e.g. interaural time difference [ITD] or interaural level difference [ILD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2420/00Techniques used stereophonic systems covered by H04S but not provided for in its groups
    • H04S2420/11Application of ambisonics in stereophonic audio systems

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Stereophonic System (AREA)

Abstract

该技术涉及能够更有效地再现声音的一种信号处理装置和方法以及一种程序。所述信号处理装置设置有:旋转运算单元,基于对应于收听者头部旋转的旋转矩阵,通过旋转矩阵的阶数受到限制的运算来旋转球形谐波域中的头部相关传递函数;以及合成单元,通过合成通过运算获得的旋转的头部相关传递函数和球形谐波域中的声音信号来生成耳机驱动信号。该技术适用于声音处理装置。

Description

信号处理装置和方法以及程序
技术领域
本技术涉及一种信号处理装置和一种方法以及一种程序,并且具体地涉及一种使得可以更有效地再现声音的信号处理装置和方法以及程序。
背景技术
近年来,从整个环境记录、传输和再现空间信息的系统的发展和传播已经在声音领域已经取得进展。例如,在超级高清中,正在计划使用三维22.2多声道声音进行广播。
此外,在虚拟现实领域中,除了围绕整个环境的图像之外,还再现围绕整个环境的信号以产生声音的系统变得流行。
其中,存在一种表示三维音频信息的技术,该技术可灵活地适用于任何记录/再现系统。该技术称为环境声学,并且已经引起了人们的注意。特别地,二阶或更高阶环境声学称为高阶环境声学(HOA)(例如,参阅非专利文献1)。
在三维多声道声音中,声音信息除了沿时间轴之外还沿空间轴传播,在环境声学中,通过执行频率变换,即,相对于三维极坐标的角度方向的球面调和函数变换来保存信息。可以认为球面调和函数变换对应于音频信号相对于时间轴的时频变换。
该方法的优点包括能够对从任何麦克风阵列到任何扬声器阵列的信息进行编码和解码,而不限制麦克风的数量或扬声器的数量。
相反,环境声学的障碍包括需要在再现环境中包含大量扬声器的扬声器阵列以及能够再现声音空间的窄范围(最佳点)。
例如,需要包括更多扬声器的扬声器阵列来提高声音的空间分辨率,但是在家里等地方增加这样的系统是不切实际的。此外,在诸如电影院之类的空间中,能够再现声音空间的区域很窄,难以给全体观众带来期望的效果。
引用列表
非专利文献
非专利文献1:Jerome Daniel、Rozenn Nicol、Sebastien Moreau“FurtherInvestigations of High Order Ambisonics and Wavefield Synthesis forHolophonic Sound Imaging”,AES第114次会议,荷兰阿姆斯特丹,2003年。
发明内容
本发明要解决的问题
因此,可以想象将环境声学和双耳再现技术结合起来。双耳再现技术通常称为虚拟听觉显示(VAD),并且使用头部相关传递函数(HRTF)来实现。
在本文,头部相关传递函数表示关于声音如何根据频率和到达方向从围绕人头部的每个方向传输到双耳耳膜的信息。
在通过从某个方向合成目标声音和头部相关传递函数而获得的合成被耳机呈现的情况下,收听者感觉声音好像来自所使用的头部相关传递函数的方向,而不是来自耳机。VAD是利用这一原理的系统。
在通过使用VAD再现多个虚拟扬声器的情况下,通过用耳机呈现,可以实现与包括多个扬声器的扬声器阵列中的环境声学相同的效果,这在现实中是困难的。
然而,这种系统能够充分有效地再现声音。例如,在环境声学和双耳再现技术相结合的情况下,不仅诸如头部相关传递函数的卷积运算等运算量增加,而且用于这些运算等的存储器的使用量也增加。
本技术是针对这种情况而开发的,并且使得可以更有效地再现声音。
解决问题的方法
根据本技术的一个方面的信号处理装置包括:旋转运算单元,通过基于对应于收听者头部旋转的旋转矩阵的运算来旋转球形谐波域中的头部相关传递函数,在该运算中旋转矩阵的阶数受到限制;以及合成单元,合成通过运算获得的旋转后的头部相关传递函数和球形谐波域的声音信号,以生成耳机驱动信号。
根据本技术的一个方面的信号处理方法或程序包括以下步骤:通过基于对应于收听者头部旋转的旋转矩阵的运算来旋转球形谐波域中的头部相关传递函数,在该运算中旋转矩阵的阶数受到限制;并且合成通过运算获得的旋转后的头部相关传递函数和球形谐波域的声音信号,以生成耳机驱动信号。
在该技术的一个方面,通过基于对应于收听者头部旋转的旋转矩阵的运算来旋转球形谐波域中的头部相关传递函数,在该运算中旋转矩阵的阶数受到限制;以及合成通过运算获得的旋转后的头部相关传递函数和球形谐波域的声音信号,以生成耳机驱动信号。
本发明的效果
根据本技术的一个方面,可以更有效地再现声音。
应当注意,本技术的效果不一定局限于此处描述的效果,并且可以是本公开中描述的任何效果。
附图说明
图1是描述使用头部相关传递函数的立体声模拟的示图;
图2是描述第一技术中的驱动信号的计算的示图;
图3是描述在执行头部跟踪的情况下驱动信号的计算的示图;
图4是描述第二技术中的驱动信号的计算的示图;
图5是描述第三技术中的驱动信号的计算的示图;
图6是描述运算量和必要存储量的示图;
图7是描述第四技术中的驱动信号的计算的示图;
图8是描述旋转矩阵的示图;
图9是描述旋转矩阵的示图;
图10是描述旋转矩阵的示图;
图11是示出音频处理器的配置示例的示图;
图12是描述仰角方向上的差异的示图;
图13是描述驱动信号生成处理的流程图;
图14是示出音频处理器的配置示例的示图;
图15是描述驱动信号生成处理的流程图;
图16是示出控制系统的配置示例的示图;
图17是描述重置和运算量的示图;
图18是描述每个度数的重置的示图;
图19是描述每个时间频率的重置的示图;
图20是示出控制系统的配置示例的示图;
图21是示出计算机的配置示例的示图。
具体实施方式
下面参考附图详细描述应用本技术的一些实施方式。
<第一实施方式>
<关于第一技术>
本技术通过利用微小旋转的累积确定对应于头部旋转的球形谐波域中的头部相关传递函数,并且在球形谐波域中合成头部相关传递函数和要再现的声音的输入信号,实现了在运算量和存储器使用量方面更有效的再现系统。
例如,球面坐标上函数f(θ,φ)的球面调和函数变换由以下表达式(1)表示。
[数学公式1]
Figure BDA0002342044380000041
在表达式(1)中,θ和φ分别表示球面坐标中的仰角和水平角,Yn m(θ,φ)表示球面调和函数。此外,顶部带有“-”的球面调和函数Yn m(θ,φ)表示球面调和函数Yn m(θ,φ)的复共轭。
在本文中,球面调和函数Yn m(θ,φ)由以下表达式(2)表示。
[数学公式2]
在表达式(2)中,n和m表示球面调和函数Yn m(θ,φ)的度数和阶数,并且是-n≤m≤n。阶数m也称为阶数或周期,并且在下文中,在没有必要特别区分n和m的情况下,度数n和阶数m被统称为度数。
此外,在表达式(2)中,i表示纯虚数,Pn m(x)表示关联的勒让德函数。
在n≥0和0≤m≤n的情况下,相关联的勒让德函数Pn m(x)由以下表达式(3)或(4)表示。应当注意,表达式(3)在m=0的情况下。
[数学公式3]
Figure BDA0002342044380000052
[数学公式4]
Figure BDA0002342044380000053
此外,在-n≤m≤0的情况下,相关联的勒让德函数Pn m(x)由以下表达式(5)表示。
[数学公式5]
Figure BDA0002342044380000054
此外,从球面调和函数变换获得的函数Fn m到球面坐标上的函数f(θ,φ)的逆变换如以下表达式(6)所示。
[数学公式6]
Figure BDA0002342044380000055
如上所述,从保存在球面谐波域中的径向校正后的声音的输入信号D'n m(ω)到设置在半径为R的球面上的L个扬声器中的每一个扬声器的扬声器驱动信号S(xi,ω)的转换如以下表达式(7)所示。
[数学公式7]
Figure BDA0002342044380000061
应当注意,在表达式(7)中,xi表示扬声器的位置,而ω表示声音信号的时间频率。输入信号D'n m(ω)是对应于预定时间频率ω的球面调和函数的每个度数n和每个阶数m的声音信号。
此外,xi=(Rsinβicosαi,Rsinβisinαi,Rcosβi),i表示指定扬声器的扬声器索引。在本文中,i=1,2,...,L,βi和αi分别表示表示第i个扬声器的位置的仰角和水平角。
由表达式(7)表示的这种变换是对应于表达式(6)的球面调和逆变换。另外,在通过表达式(7)确定扬声器驱动信号S(xi,ω)的情况下,L个扬声器和球面调和函数的度数n(即,度数n的最大值N)需要满足由以下表达式(8)表示的关系。L个扬声器是再现扬声器的数量。
[数学公式8]
L>(N+1)2...(8)
顺便提及,通过耳机表示来模拟耳朵立体声的一般技术是例如使用如图1所示的头部相关传递函数的方法。
在图1所示的示例中,对输入的环境声音信号进行解码,以生成虚拟扬声器SP11-1至SP11-8中的每一个的扬声器驱动信号,虚拟扬声器SP11-1至SP11-8是多个虚拟扬声器。此时解码的信号对应于例如上述输入信号D'n m(ω)。
在本文中,虚拟扬声器SP11-1至虚拟扬声器SP11-8中的每一个环形地设置和虚拟地设置,并且每个虚拟扬声器的扬声器驱动信号通过上述表达式(7)的计算来确定。应当注意,在没有必要特别区分虚拟扬声器SP11-1至SP11-8的情况下,虚拟扬声器在下文中也简称为虚拟扬声器SP11。
在由此获得相应虚拟扬声器SP11的扬声器驱动信号的情况下,对于每个虚拟扬声器SP11,实际再现声音的耳机HD11的左和右驱动信号(双耳信号)通过使用头部相关传递函数的卷积运算来生成。然后,为每个虚拟扬声器SP11获得的耳机HD11的相应驱动信号的总和是最终驱动信号。
应当注意,这种技术在例如“ADVANCED SYSTEM OPTIONS FOR BINAURALRENDERING OF AMBISONIC FORMAT(Gerald Enzner等人ICASSP 2013)”中有详细描述。
通过在头部不存在于头部中心O的状态下的声源位置x的传递特性H0(x,ω),通过将从在作为收听者的用户的头部存在于自由空间中的状态下的声源位置x到用户耳膜位置的传递特性H1(x,ω)归一化。来获得用于生成耳机HD11的左和右驱动信号的头部相关传递函数H(x,ω)。即,由以下表达式(9)获得声源位置x的头部相关传递函数H(x,ω)。
[数学公式9]
Figure BDA0002342044380000071
在本文中,头部相关传递函数H(x,ω)与可选的音频信号卷积,并且这样获得的结果用耳机等呈现,这使得可以给收听者一种错觉,好像声音来自卷积的头部相关传递函数H(x,ω)的方向,即声源位置x的方向。
在图1所示的示例中,利用这种原理生成耳机HD11的左和右驱动信号。
具体地,每个虚拟扬声器SP11的位置被设置为位置xi,并且这些虚拟扬声器SP11的扬声器驱动信号被设置为S(xi,ω)。
此外,虚拟扬声器SP11的数量被设置为L(在本文中,L=8),并且耳机HD11的最终左和右驱动信号分别被设置为P1和Pr
在这种情况下,在扬声器驱动信号S(xi,ω)通过耳机HD11的呈现来模拟的情况下,可以通过计算以下表达式(10)来确定耳机HD11的左右驱动信号P1和Pr
[数学公式10]
Figure BDA0002342044380000072
应当注意,在表达式(10)中,Hl(xi,ω)和Hr(xi,ω)分别表示从虚拟扬声器SP11的位置xi到收听者的左右耳膜位置的归一化头部相关传递函数。
这样的运算使得可以通过耳机呈现来最终再现球形谐波域的输入信号D'n m(ω)。即,通过耳机呈现,可以获得与环境声学相同的效果。
应当注意,在下文中,在没有必要特别区分时间频率ω的驱动信号Pl和驱动信号Pr的情况下,驱动信号Pl和驱动信号Pr也简称为驱动信号P(ω)。此外,在没有必要特别区分头部相关传递函数Hl(xi,ω)和头部相关传递函数Hr(xi,ω)的情况下,头部相关传递函数Hl(xi,ω)和头部相关传递函数Hr(xi,ω)也简称为头部相关传递函数H(xi,ω)。
此外,在下文中,组合上述环境声学和双耳再现技术的技术也称为第一技术。
例如,在第一技术中,执行图2所示的运算,以获得驱动信号P(ω)of1×1,即,一行一列。
在图2中,H(ω)表示向量(矩阵)1×L,包括L个头部相关传递函数H(xi,ω)。此外,D'(ω)表示包括输入信号D'n m(ω)的向量,向量D'(ω)变成K×1,其中,相同时间频率ω的窗口的输入信号D'n m(ω)的数量是K。此外,Y(x)表示包括每个度数的球面谐波函数Yn mii)的矩阵,并且矩阵Y(x)变成矩阵L×K。
因此,在第一技术中,确定从L×K的矩阵Y(x)和K×1的向量D'(ω)的矩阵运算获得的矩阵(向量),并且进一步执行矩阵S和1×L的向量(矩阵)H(ω)的矩阵运算,以获得一个驱动信号P(ω)。
此外,例如,在佩戴耳机HD11的收听者的头部以由旋转矩阵gj表示的预定方向(以下也称为方向gj)旋转的情况下,耳机HD11的左耳机的驱动信号Pl(gj,ω)在以下表达式(11)中表示。
[数学公式11]
Figure BDA0002342044380000081
应当注意,旋转矩阵gj是三维的,即由作为欧拉角的旋转角的φ、θ和ψ表示的3×3旋转矩阵。另外,在表达式(11)中,驱动信号Pl(gj,ω)表示上述驱动信号Pl,并且在本文中写入,作为驱动信号Pl(gj,ω),以阐明位置,即方向gj和时间频率ω。
在这种情况下,可以通过一些传感器获得收听者头部的旋转方向(即,收听者头部的方向gj),并且耳机HD11的左右驱动信号可以使用多个头部相关传递函数中的从收听者头部观看的每个虚拟扬声器SP11的相对方向gj-1xi的头部相关传递函数来计算。因此,即使在通过耳机HD11再现声音的情况下,也可以类似于使用真实扬声器的情况,在空间中固定从收听者观看的声音图像位置。
<关于第二技术>
此外,在第一技术中,可以在球面谐波域中执行在时频域中执行的头部相关传递函数的卷积。这样做使得与第一技术相比,可以减少运算量和必要的存储量,并且更有效地再现声音。这种在球面调和域中卷积头部相关传递函数的技术也称为第二技术,第二技术描述如下。
例如,在注意力集中在左耳机的情况下,对于作为收听者的用户(收听者)的头部的所有旋转方向,包括左耳机的每个驱动信号Pl(gj,ω)的向量Pl(ω)由以下表达式(12)表示。
[数学公式12]
Pl(ω)=H(ω)S(ω)
=H(ω)Y(X)D'(ω) ...(12)
应当注意,在表达式(12)中,S(ω)是包括扬声器驱动信号S(xi,ω)和S(ω)=Y(x)D'(ω)的向量。另外,在表达式(12)中,Y(x)表示包括由以下表达式(13)表示的每个虚拟扬声器的位置xi的每个度数和球面调和函数Yn m(xi)的矩阵。在本文中,i=1,2,...,L,并且度数n的最大值(最大度数)是N。
D'(ω)表示对应于每个度数的声音的向量(矩阵),包括输入信号D'n m(ω),该向量由以下表达式(14)表示。每个输入信号D'n m(ω)是球形谐波域的声音信号。
此外,在表达式(12)中,H(ω)表示由以下表达式(15)表示的矩阵,包括在收听者头部的方向是方向gj的情况下从收听者头部观看的每个虚拟扬声器的相对方向gj -1xi的头部相关传递函数H(gj -1xi,ω)。在这个示例中,为总共M个方向g1到gM中的每一个准备每个虚拟扬声器的头部相关传递函数H(gj -1xi,ω)。
[数学公式13]
Figure BDA0002342044380000101
[数学公式14]
Figure BDA0002342044380000102
[数学公式15]
Figure BDA0002342044380000103
在计算收听者头部指向方向gj的情况下左耳机的驱动信号Pl(gj,ω)时,如果从头部相关传递函数的矩阵H(ω)中选择对应于作为收听者头部的方向的方向gj的行来执行表达式(12)的计算就足够了,即,包括方向gj的头部相关传递函数H(gj -1xi,ω)的行。
在这种情况下,例如,如图3所示,仅计算必要的行。
在这个示例中,为M个方向中的每一个准备头部相关传递函数;因此,由表达式(12)表示的矩阵计算如箭头A11所示。
即,在时间频率ω的输入信号D'n m(ω)的数量是K的情况下,向量D'(ω)是K×1,即,K行和一列的矩阵。此外,球面调和函数的矩阵Y(x)是L×K,矩阵H(ω)是M×L。因此,在表达式(12)的计算中,向量Pl(ω)是M×1。
在本文中,矩阵Y(x)和向量D'(ω)的矩阵运算(积和运算)首先在在线运算中执行,以确定向量S(ω),这使得可以如箭头A12所示在矩阵H(ω)中选择对应于收听者头部的方向gj的行,并减少计算驱动信号Pl(gj,ω)时的运算量。在图3中,矩阵H(ω)中的阴影部分表示对应于方向gj的行,并且执行该行和向量S(ω)的运算,以计算左耳机的期望驱动信号Pl(gj,ω)。
在本文中,矩阵H'(ω)定义为由以下表达式(16)表达,这使得可以通过以下表达式(17)表达由表达式(12)表达的向量P1(ω)。
[数学公式16]
H’(ω)=H(ω)Y(x) ...(16)
[数学公式17]
Pl(ω)=H’(ω)D’(ω) ...(17)
在表达式(16)中,头部相关传递函数(更具体地,包括时频域中头部相关传递函数的头部相关传递函数的矩阵H(ω))通过使用球面调和函数的球面调和函数变换被变换成包括球面调和域中头部相关传递函数的矩阵H'(ω)。
因此,在表达式(17)的计算中,在球面谐波域中执行扬声器驱动信号和头部相关传递函数的卷积。换言之,在球面谐波域中,执行头部相关传递函数和输入信号的积和运算。应当注意,可以预先计算和保存矩阵H'(ω)。
在这种情况下,在收听者头部指向方向gj的情况下计算左耳机的驱动信号Pl(gj,ω)时,如果仅从预先保存的矩阵H'(ω)中选择对应于收听者头部方向gj的行来计算表达式(17)就足够了。
在这种情况下,表达式(17)的计算是由以下表达式(18)表示的计算。这使得可以大大减少运算量和必要的存储量。
[数学公式18]
Figure BDA0002342044380000121
在表达式(18)中,H'n m(gj,ω)是矩阵H'(ω)的一个元素,即球面调和域中的头部相关传递函数,对应于矩阵H'(ω)中头部的gj方向的分量(元素)。在头部相关传递函数H'n m(gj,ω)中,n和m表示球面调和函数的度数n和阶数m。
在由表达式(18)表示的这种运算中,运算量减少,如图4所示。即,由表达式(12)表示的计算是确定M×L的矩阵H(ω)、L×K的矩阵Y(x)和K×1的向量D'(ω)的乘积的计算,如图4中箭头A21所示。
在本文中,H(ω)Y(x)是如表达式(16)中定义的矩阵H'(ω);因此,箭头A21所示的计算最终变成如箭头A22所示。特别地,可以离线(即,预先)执行用于确定矩阵H'(ω)的计算;因此,预先确定并保存矩阵H'(ω),使得可以将用于在线确定耳机驱动信号的运算量减少该量。
在这样预先确定矩阵H'(ω)的情况下,执行箭头A22所示的计算,即上述表达式(18)的计算,以实际确定耳机的驱动信号。
即,如箭头A22所示,选择对应于矩阵H'(ω)中收听者头部方向gj的行,并且通过包括输入的输入信号D'n m(ω).的该选择行和向量D'(ω)的矩阵运算来计算左耳机的驱动信号Pl(gj,ω)。在图4中,矩阵H'(ω)中的阴影部分表示对应于方向gj的行,并且该行中包括的元素是由表达式(18)表示的头部相关传递函数H'n m(gj,ω)。
<关于第三技术>
顺便提及,在上述第二技术中,虽然可以大大减少运算量和必要的存储量,但是需要保存收听者头部的所有旋转方向,即,与存储器中的相应方向gj相对应的行,作为头部相关传递函数的矩阵H'(ω)。
因此,可以将包括一个方向gj的球面谐波域的头部相关传递函数的矩阵(向量)设置为Hs(ω)=H'(gj),并且可以仅保存包括对应于矩阵H'(ω)的一个方向gj的行的矩阵Hs(ω),并且可以通过多个方向gj的数量来保存用于执行对应于收听者在球面谐波域中的头部旋转的旋转矩阵R'(gj)。在下文中,这种技术称为第三技术。
每个方向gj的旋转矩阵R'(gj)不同于矩阵H'(ω)并且没有时间频率依赖性。与使矩阵H'(ω)保存头部旋转方向gj的分量相比,这使得可以大大减少存储量。
首先,对应于球面调和函数的矩阵H(ω)和矩阵Y(x)的预定方向gj的行H(gj -1,ω)的乘积H'(gj -1,ω)被认为由以下表达式(19)表示。
[数学公式19]
H’(gj -1,ω)=H(gj -1x,ω)Y(x) ...(19)
在上述第二技术中,对于收听者头部的旋转方向gj,所使用的头部相关传递函数的坐标从x旋转到gj -1x。然而,通过将球面调和函数的坐标从x旋转到gjx,而不改变头部相关传递函数的位置x的坐标,可以获得相同的结果。即,建立以下表达式(20)。
[数学公式20]
H’(gj -1,ω)=H(gj -1x,ω)Y(x)=H(x,ω)Y(gjx) ...(20)
此外,球面调和函数的矩阵Y(gjx)是矩阵Y(x)和旋转矩阵R'(gj -1)的乘积,并且由以下表达式(21)表示。应当注意,旋转矩阵R'(gj -1)是在球面调和域中旋转坐标gj的矩阵。
[数学公式21]
Y(gjx)=Y(x)R’(gj -1) ...(21)
在本文中,对于由以下表达式(22)表示的集合Q,除了属于Q的旋转矩阵R'(gj)的行(n2+n+1+k)和列(n2+n+1+m+m)中的元素(即,(n2+n+1+k)和(n2+n+1+m))之外的元素为零。
[数学公式22]
Q{q|n2+1≤q≤(n+1)2,q,n∈{0,1,2...}} ...(22)
因此,可以通过使用旋转矩阵R'(gj)的(n2+n+1+k)行和(n2+n+1+m)列中的元素R'(n) k,m(gj)的以下表达式(23)来表示球面调和函数Yn m(gjx),这是矩阵Y(gjx)的元素。
[数学公式23]
Figure BDA0002342044380000141
在本文中,元素R'(n) k,m(gj)由以下表达式(24)表示。
[数学公式24]
Figure BDA0002342044380000142
在表达式(24)中,i表示纯虚数,θ、φ和ψ表示旋转矩阵的欧拉角的旋转角,r(n) k,m(θ)由以下表达式(25)表示。
[数学公式25]
Figure BDA0002342044380000143
从上面可以看出,通过计算以下表达式(26),获得通过使用旋转矩阵R'(gj -1)来反映听者头部旋转的双耳再现信号,例如,左耳机的驱动信号Pl(gj,ω)。另外,在左和右头部相关传递函数可选地被认为是对称的情况下,作为表达式(26)的预处理,使用使输入信号的矩阵D'(ω)或左头部相关传递函数的行向量水平翻转的矩阵Rref来执行反转,这使得仅通过保存左头部相关传递函数的行向量能够获得右耳机驱动信号。注意,下面基本描述需要不同的左右头部相关传递函数的情况。
[数学公式26]
Figure BDA0002342044380000151
在表达式(26)中,通过合成行向量HS(ω)、旋转矩阵R'(gj -1)和向量D'(ω)来确定驱动信号Pl(gj,ω)。
如上所述的计算是例如图5所示的计算。即,包括左耳机的驱动信号Pl(gj,ω)的向量Pl(ω)由M×L的矩阵H(ω)、L×K的矩阵Y(x)和K×1的向量D'(ω)的乘积获得,如图5中箭头A41所示。该矩阵运算由上述表达式(12)表示。
如箭头A42所示,该运算通过使用为M个方向gj中的每一个准备的球面调和函数的矩阵Y(gjx)来表示。即,由矩阵H(ω)的预定行H(x,ω)、矩阵Y(gjx)和向量D'(ω)的乘积从表达式(20)表示的关系中获得包括对应于M个方向gj中的每一个的驱动信号Pl(gj,ω)的向量Pl(ω)。
在本文中,作为向量的行(x,ω)是1×L,矩阵Y(gjx)是L×K,向量D'(ω)是K×1。这通过使用由表达式(17)和(21)表示的关系进一步转换,如箭头A43所示。即,如表达式(26)所表示的,由1×K的行向量HS(ω)、M个方向gj中的每一个的K×K的旋转矩阵R'(gj -1)和K×1的向量D'(ω)的乘积获得向量Pl(ω)。
应当注意,在图5中,旋转矩阵R'(gj -1)的阴影部分表示旋转矩阵R'(gj -1)的非零元素。
此外,图6示出了这种第三技术中的运算量和必要存储量。
即,假设如图6所示,1×K的行向量HS(ω)为每个时间频率窗口ω准备,K×K的旋转矩阵R'(gj -1)为M个方向gj准备,向量D'(ω)为K×1。此外,假设时间频率窗口ω的数量是W,并且球面调和函数的度数n的最大值(即最大度数)是J。
此时,旋转矩阵R'(gj -1)的非零元素数量为(J+1)(2J+1)(2J+3)/3;因此,在第三技术中,每个时间频率窗口ω的积和运算的总数的calc/W由以下表达式(27)表示。
[数学公式27]
Figure BDA0002342044380000161
此外,在第三技术的运算中,对于左右耳的每个时间频率窗口ω,需要保存1×K的行向量HS(ω),此外,对于M个方向的每个方向,需要保存旋转矩阵R'(gj -1)的非零元素。因此,第三技术的运算所需的存储量“memory”由以下表达式(28)表示。
[数学公式28]
Figure BDA0002342044380000162
在第三技术中,保存旋转矩阵R'(gj -1)的非零元素的数量使得与第二技术相比可以大大减少必要的存储量。
<关于第四技术>
应当注意,在第三技术中,对于收听者头部的三个轴的旋转,即对于可选的M个方向gj,需要保存旋转矩阵R'(gj -1)。为了保存这样的旋转矩阵R'(gj -1),一定的存储量是必要的,尽管该存储量小于通过时间频率依赖性保存矩阵H'(ω)的情况下的存储量。
因此,可以在允许时依次确定用于围绕作为球形谐波域中旋转中心的收听者头部执行旋转的旋转矩阵R'(gj -1)。在下文中,这种技术也称为第四技术。
在本文中,可以通过以下表达式(29)来表示旋转矩阵R'(g)。另外,表达式(29)中的g是旋转矩阵,并且由矩阵u(φ),、矩阵a(θ)和矩阵u(ψ)的乘积表示,如以下表达式(30)所示。
[数学公式29]
R’(g)=R’(u(φ)a(θ)u(ψ))=R’(u(φ))R’(a(θ))R’(u(ψ))
...(29)
[数学公式30]
g=u(φ)a(θ)u(ψ) ...(30)
应当注意,在表达式(29)中,a(θ)和u(φ)是旋转矩阵,其将坐标围绕作为坐标系旋转轴的坐标轴旋转角度θ和角度φ,其中,收听者头部的位置是原点。此外,u(ψ)是旋转矩阵,其旋转角度与u(φ)不同,并且将坐标围绕与旋转轴相同的坐标轴旋转角度ψ。应当注意,相应矩阵u(φ)、a(θ)和u(ψ)的旋转角度(即角度φ、角度θ和角度ψ)是欧拉角。
例如,假设存在一个正交坐标系,其中,收听者头部的位置被设置为原点,并且彼此正交的x轴、y轴和z轴是相应的轴。在本文中,在收听者指向前方的状态下,x轴的正方向是前方的方向,z轴是从指向前方的收听者观察的上下方向,即垂直方向的轴。角度φ、角度θ和角度ψ是相对于收听者指向前方(即x轴的正方向)的状态相对于相应旋转方向的旋转角度。
具体地,在头部围绕作为旋转轴的y轴沿上下方向移动而收听者看到前方的情况下,头部的旋转角度是作为仰角的角度θ。此外,在头部围绕作为旋转轴的z轴沿水平方向移动而收听者指向前方的情况下,头部的旋转角度是作为水平角度的角度φ。
矩阵a(θ)是使坐标(坐标系)绕作为旋转轴的y轴旋转角度θ的旋转矩阵,矩阵u(φ)是使坐标(坐标系)绕作为旋转轴的z轴旋转角度φ的旋转矩阵。具体地,这些矩阵a(θ)和u(φ)分别由以下表达式(31)和(32)表示。
[数学公式31]
Figure BDA0002342044380000171
[数学公式32]
Figure BDA0002342044380000181
因此,例如,矩阵a(θ)作用在坐标系中的可选位置v=(vx,vy,vz)T上,收听者头部的位置作为原点,这使得可以将围绕作为旋转轴的y轴的旋转提供给位置v。位置v旋转之后的位置v2由以下表达式(33)表示。
类似地,矩阵u(φ)作用在位置v上,这使得可以将围绕作为旋转轴的z轴的旋转提供给位置v。位置v旋转之后的位置v3由以下表达式(34)表示。
[数学公式33]
V2=a(θ)v ...(33)
[数学公式34]
v3=u(φ)v ...(34)
因此,旋转矩阵R'(g)=R'(u(φ)a(θ)u(ψ))是旋转矩阵,其在球面谐波域中,将坐标系在水平角度方向上旋转角度φ,然后将坐标系在从该坐标系观看的仰角方向上旋转角度θ,将坐标系旋转角度φ,并进一步将坐标系在从该坐标系观看的水平角度方向上旋转角度ψ,将坐标系旋转角度θ。
此外,R'(u(φ))、R'(a(θ))和R'(u(ψ))分别表示坐标通过矩阵(u(φ))、矩阵(a(θ))和矩阵(u(ψ))旋转而旋转的情况下的旋转矩阵R'(g)。
换言之,旋转矩阵R'(u(φ))是在球面调和域中将坐标在水平角度方向上旋转角度φ的旋转矩阵,并且旋转矩阵R'(a(θ))是在球面调和域中将坐标在仰角方向上旋转角度θ的旋转矩阵。此外,旋转矩阵R'(u(ψ))是在球面调和域中将坐标在水平角度方向上旋转角度ψ的旋转矩阵。
因此,例如,如图7中箭头A51所示,可以表示旋转矩阵R'(g)=R'(u(φ)a(θ)u(ψ)),其通过三个旋转矩阵R'(u(φ))、R'(a(θ))和R'(u(ψ))的乘积将坐标旋转作为旋转角度的角度φ、角度θ和角度ψ三次。
在这种情况下,如果旋转角度φ、θ和ψ的相应值的旋转矩阵R'(u(φ))、旋转矩阵R'(a(θ))和旋转矩阵R'(u(ψ))保存在存储器中的表格中,作为用于获得旋转矩阵R'(gj -1)的数据,这就足够了。此外,在左和右可选地使用相同的头部相关传递函数的情况下,仅保存行向量HS(ω),用于一只耳朵,并且上述用于水平反转的矩阵Rref也预先保存,这使得可以通过确定该矩阵与生成的旋转矩阵的乘积来获得另一只耳朵的旋转矩阵。
此外,在实际计算向量Pl(ω)的情况下,通过计算从表中读出的相应旋转矩阵的乘积来计算一个旋转矩阵R'(gj -1)。然后,如箭头A52所示,为每个时间频率窗口ω计算1×K的矩阵HS(ω)、所有时间频率窗口ω共有的K×K的旋转矩阵R'(gj -1)和K×1的向量D'(ω)的乘积,以确定向量Pl(ω)。
在本文中,例如,在每个旋转角度的旋转矩阵R'(gj -1)本身保存在表格中的情况下,需要保存3603=46656000个旋转矩阵R'(gj -1),其中,每个旋转的角度φ、角度θ和角度ψ的精度是1度(1°)。
相反,在每个旋转角度的旋转矩阵R'(u(φ))、旋转矩阵R'(a(θ))和旋转矩阵R'(u(ψ))保存在表格中的情况下,只需要保存360×3=1080个旋转矩阵,其中,每个旋转的角度φ、角度θ和角度ψ的精度是1度(1°)。
因此,在保存旋转矩阵R'(gj -1)本身的情况下,需要保存O(n3)的阶数的数据。相反,在保存旋转矩阵R'(u(φ))、旋转矩阵R'(a(θ))和旋转矩阵R'(u(ψ))的情况下,仅保存O(n3)的阶数的数据就足够了,这使得可以大大减少存储量。
此外,如箭头A51所示,旋转矩阵R'(u(φ))和旋转矩阵R'(u(ψ))是对角矩阵;因此,只要保存对角分量就足够了。
此外,旋转矩阵R'(u(φ))和旋转矩阵R'(u(ψ))都是用于在水平角度方向上执行旋转的旋转矩阵,这使得可以从同一公共表获得旋转矩阵R'(u(φ))和旋转矩阵R'(u(ψ))。换言之,旋转矩阵R'(u(φ))的表格和旋转矩阵R'(u(ψ))的表格可以相同。
应当注意,在图7中,相应旋转矩阵的阴影部分表示非零元素。
此外,对于在(n2+n+1+k)和(n2+n+1+m)属于由上述表达式(22)表示的集合Q的情况下的k和m,除旋转矩阵R'(a(θ))的行(n2+n+1+k)和(n2+n+1+m+m)中的元素之外的元素为零;因此,如果只保存零以外的元素,作为旋转矩阵R'(a(θ))就足够了,这使得可以进一步减少存储量。
从上面可以进一步减少保存用于获得旋转矩阵R'(gj -1)的数据所需的存储量。
具体地,例如,在保存旋转矩阵R'(u(φ))的Φ数、旋转矩阵R'(a(θ))的Θ数和旋转矩阵R'(u(ψ))的Ψ数的情况下,头部的M个旋转方向gj变成M=Φ×Θ×Ψ。
在第四技术中,旋转矩阵R'(a(θ))由角度θ的精度保存,即,保存旋转矩阵R'(a(θ))的Θ数;因此,保存旋转矩阵R'(a(θ))所需的存储量是存储器(a)=Θ×(J+1)(2J+1)(2J+3)/3。
此外,对于旋转矩阵R'(u(φ))和旋转矩阵R'(u(ψ)),可以使用公共表,并且在角度φ和角度ψ的精度相同的情况下,如果仅由角度φ保存旋转矩阵就足够了,即,保存旋转矩阵的Φ数,并且如果仅保存这些旋转矩阵的对角分量就足够了。因此,假设向量D'(ω)的长度为K,保存旋转矩阵R'(u(φ))和旋转矩阵R'(u(ψ))所需的存储量是存储器(b)=Φ×K。
此外,假设时间频率窗口ω的数量是W,左耳和右耳的时间频率窗口ω保存1×K的行向量HS(ω)所需的存储量是2×K×W。
因此,作为这些存储量的总和,第四技术中所需的存储量是存储量存储器=存储器(a)+存储器(b)+2KW。
这种第四技术使得可以大大减少运算量所需的存储量,该运算量基本上与第三技术中的相同。具体地,第四技术例如在角度φ、角度θ和角度ψ的精度被设置为1度(1°)等以承受实现头部跟踪功能的实际使用的情况下发挥更多的效果。
<关于提出的技术1>
顺便提及,在第四技术中,可以将要保存的旋转矩阵的数量减少到1080个,例如,通过每一度相对于三个轴旋转,即,通过将角度φ、角度θ和角度ψ的精度设置为1度(1°)。
然而,在第四技术中,就运算量而言,可以将球面调和函数的度数n的最大J度仅降低到立方阶。
其原因在于,例如,用于跟踪收听者(用户)头部旋转的旋转矩阵R'(a(θ))是如图8所示的块对角矩阵。
应当注意,在图8中,水平轴表示旋转矩阵R'(a(θ))的列的分量,垂直轴表示旋转矩阵R'(a(θ))的行的分量。此外,在图8中,在旋转矩阵R'(a(θ))的相应位置处的灰色阴影指示对应于旋转矩阵R'(a(θ))的这些位置的元素的级别(dB)。
图8示出了在旋转角度θ为1度的情况下的旋转矩阵R'(a(θ))。在该示例中,在注意力集中在具有-400dB或更大值的元素的情况下,例如,在旋转矩阵R'(a(θ))中,包括具有这种值的元素的部分是具有度数n大小(2n+1)×(2n+1)的块。例如,箭头A71指示的正方形部分是块对角矩阵的一个块的一部分,并且该块的宽度(厚度)W11是2n+1。即,在箭头A71所示的正方形部分中,(2n+1)个元素沿行方向排列,并且(2n+1)个元素也沿列方向排列。
使用作为这种块对角矩阵的旋转矩阵R'(a(θ)),使得可以在某种程度上减少运算量,但是如果可以进一步减少运算量,则可以更快和更有效地获得驱动信号。
因此,本技术关注于微小旋转的旋转矩阵的特性,并且通过微小旋转的累积来执行对收听者(用户)头部的旋转的跟踪,使得可以将运算量减少到J度的平方阶。
下面详细描述本技术的技术(以下也称为提出的技术1)。
在收听者头部三个轴的旋转中,即,旋转矩阵R'(u(φ))、旋转矩阵R'(a(θ))和旋转矩阵R'(u(ψ)),只有旋转矩阵R'(a(θ))是块对角矩阵,其他旋转矩阵R'(u(φ))和R'(u(ψ))是完全对角矩阵。
然而,根据旋转轴的选择方式,在某些情况下,两个或多个旋转矩阵可能变成块对角矩阵。在本说明书的一个示例中,不使用使两个或更多旋转矩阵变成块对角矩阵的旋转轴,但是本技术适用于两个或更多旋转矩阵是块对角矩阵的情况。
假设在收听者指向上下方向(垂直方向)上的前方的情况下,即,仰角方向,角度θ为0度。
在收听者将其头部从角度θ为0度的状态向向上方向(z轴的正方向)移动+1度的情况下,角度θ变为1度,即,将其头部围绕作为旋转轴的y轴向z轴的正方向旋转+1度。
在角度θ为1度的情况下,旋转矩阵R'(a(θ))如上所述如图8所示。
在图8所示的示例中,可以看出旋转矩阵R'(a(θ))是块对角矩阵,并且块对角矩阵的每个块的一部分是在每一度数n的一侧包括(2n+1)个元素的正方形。同时,作为旋转矩阵R'(a(θ))、作为对角矩阵的旋转矩阵R'(u(φ))和作为对角矩阵的旋转矩阵R'(u(ψ))的合成的旋转矩阵R'(g)也是类似的块对角矩阵。在本文中,方向gj可以是离散值或连续值;因此,gj在下文中简称为g。
现在,在球面调和域中的头部相关传递函数对于旋转矩阵R'(g)的一个块旋转的情况下,该旋转矩阵是块对角矩阵,即,对于一定的度数n,旋转之后的头部相关传递函数H'n m(g-1)变为如下表达式(35)所示。即,在球面谐波域中的头部相关传递函数使用旋转矩阵R'(g)的度数n的块的一部分旋转方向g的角度的情况下,旋转之后的头部相关传递函数H'n m(g-1)变为如下表达式(35)所示。
[数学公式35]
在表达式(35)中,k表示旋转之前的阶数,m表示旋转之后的阶数。此外,H'n k表示行向量Hs(ω)中度数n和阶数k的元素。
从表达式(35)的这种计算可以看出,所有(2n+1)个元素R'(n) k,m(g)在一次旋转后用来确定阶数m的元素。
然而,在角度θ微小的情况下,例如,角度θ=1度的情况下,作为块对角矩阵的旋转矩阵R'(a(θ))的大部分相应元素具有微小值。因此,旋转矩阵R'(g)的大多数元素R'(n) k,m(g)具有微小值。
即,例如,图9所示的旋转矩阵R'(a(θ))表示在角度θ是与图8所示的旋转矩阵R'(a(θ))相同的一度的情况下的旋转矩阵R'(a(θ))。
即,在图9中,水平轴表示旋转矩阵R'(a(θ))的列的分量,垂直轴表示旋转矩阵R'(a(θ))的行的分量。此外,旋转矩阵R'(a(θ))的相应位置处的灰色阴影指示对应于旋转矩阵R'(a(θ))的这些位置的元素的级别(dB)。
然而,在图8中,旋转矩阵R'(a(θ))的每个元素的级别范围从-400dB到0dB,而在图9中,旋转矩阵R'(a(θ))的每个元素的级别范围限于从-100dB到0dB的范围。
与图9所示的示例一样,在旋转矩阵R'(a(θ))中具有有效值的元素是具有-100dB至0dB的级别的元素的情况下,可以看出,具有有效值的元素仅存在于对角分量附近。
此外,可以看出,在旋转矩阵R'(a(θ))的一个聚焦行中具有有效值的元素的数量,即,在图9中在横向方向上连续并排设置的具有有效值的元素的数量(以下也称为有效元素宽度),在所有度数n上几乎相同。
因此,在每个度数n中具有有效值的元素的数量仅在J的平方阶上,这几乎是度数n的最大值,即使度数n增加。
因此,具有预定水平范围内的值的元素,例如,旋转矩阵R'(a(θ))的-100dB至0dB级别的元素,被设置为有效元素,并且只有有效元素用于执行在球面谐波域中旋转头部相关传递函数的运算,这使得可以减少运算量。换言之,具有在旋转矩阵R'(g)的预定级别范围内的值的元素被设置为有效元素,并且只有该有效元素用于执行在球面谐波域中旋转头部相关传递函数的运算,这使得可以减少运算量。旋转矩阵R'(g)的有效元素宽度与旋转矩阵R'(a(θ))的有效元素宽度相同。
例如,在有效元素宽度为2C+1的情况下,上述表达式(35)的计算由以下表达式(36)表示。
[数学公式36]
Figure BDA0002342044380000241
注意,在表达式(36)中,最小值(a,b)表示选择a和b中较小者的函数。在表达式(36)中,最大值(a,b)表示选择a和b中较大者的函数。
在表达式(35)中,从-n到n的阶数k的(2n+1)个元素R'(n) k,m(g)用于每个度数n,但是在表达式(36)的计算中仅使用从m-C到m+C的阶数k的(2C+1)个元素R'(n) k,m(g),其中,m被设置为中心,从而实现运算量的减少。应当注意,在k大于n的情况下和k小于-n的情况下,分别对k至n和k至-n执行运算,以不超过矩阵范围。限制阶数k的运算以这样的方式执行,即,该运算仅在阶数k具有由C确定的范围内的值的元素上执行,这使得可以减少运算量。
在这种情况下,2C+1的有效元素宽度在所有度数n都是相同的;因此,可以看出,与上述第四技术相比,J度越大,所提出的技术1在运算方面越有利。
应当注意,在表达式(36)中,从有效元素宽度确定的常数C应用于所有的度数n。然而,确定2C+1的有效元素宽度的C不限于常数,并且度数n的函数C(n)(其中,C(n)<n)可以用作C,或者度数n和阶数k的函数C(n,k)可以用作C。在本文,如果函数C(n)或函数C(n,k)是小于度数n的自然数就足够了。换言之,如果用比使用作为块对角矩阵(即旋转矩阵R'(g))的旋转矩阵R'(a(θ))的整个块的元素的运算中更少的元素来执行运算,就足够了。
此外,旋转矩阵R'(a(θ))的运算中使用的元素可以是旋转矩阵R'(a(θ))的元素本身,或者可以是旋转矩阵R'(a(θ))的元素的近似值。
即,更一般地,假设通过组合特定的多个矩阵,可以将旋转矩阵R'(a(θ))表示为R'(a(θ))=A1+A2+A3+...。在这种情况下,对于由旋转矩阵R'(a(θ))中包括的一些提取的矩阵的总和表示的近似旋转矩阵Rs'(a(θ)),可以使用比每个n阶块中的(2n+1)×(2n+1)元素更少数量的元素来执行运算。
例如,可以通过以下表达式(37)来表示旋转矩阵R'(a(θ))的n阶块对角矩阵R'(n)(β)。
[数学公式37]
Figure BDA0002342044380000251
在本文中,表达式(37)中的矩阵Sn(β)由以下表达式(38)表示。在使用该矩阵Sn(β)期望近似旋转矩阵Rs'(a(θ))的厚度为C的情况下,如果计算限于由表达式(37)表示的矩阵多项式中的C次幂的计算就足够了。
[数学公式38]
Figure BDA0002342044380000252
通过这样做,在用作旋转矩阵R'(a(θ))的旋转矩阵Rs'(a(θ))中,具有非零值的元素几乎仅仅是对角分量。因此,执行使得头部相关传递函数使用通过使用旋转矩阵Rs'(a(θ))而获得的旋转矩阵R'(g)的非零元素旋转的旋转运算,即,旋转矩阵R'(g)和行向量HS(ω)的矩阵运算,导致执行旋转矩阵R'(g)的阶数受限的运算,这使得可以减少运算量。
应当注意,在这种情况下,例如,旋转矩阵R'(u(φ))、旋转矩阵Rs'(a(θ))和旋转矩阵R'(u(ψ))合成,以形成旋转矩阵R'(g),并且阶数受限的矩阵运算。
在通过如上所述的所提出的技术1来执行对收听者头部旋转的跟踪的情况下,假设例如收听者已经在向上方向上,即,在仰角方向上,将他的头部旋转了30度。即,假设表示收听者头部方向的仰角(角度θ)已经变成30度。
在这种情况下,旋转矩阵R'(a(θ))变得如图10所示。应当注意,在图10中,水平轴表示旋转矩阵R'(a(θ))的列的分量,垂直轴表示旋转矩阵R'(a(θ))的行的分量。此外,在图8中,旋转矩阵R'(a(θ))的相应位置处的灰色阴影指示对应于旋转矩阵R'(a(θ))的这些位置的元素的级别(dB)。
在图10中,类似于图9中的情况,旋转矩阵R'(a(θ))的每个元素的电平的范围限于从-100dB到0dB的范围。
然而,在图10所示的示例中,度数n越大,对于该度数n,块的有效元素宽度变得越厚(越大)。即,即使-100dB或更小的分量被截断,旋转矩阵R'(a(θ))也变成具有厚有效元素宽度的块对角矩阵。
如上所述,在旋转矩阵R'(a(θ))中,在旋转角度θ小的情况下,有效元素宽度窄,这使得可以如参考图9所述减少运算量,但是有效元素宽度随着旋转角度θ的增加而变得更厚,这降低了减少运算量的效果。
此外,在这种状态下,当收听者的头部在仰角方向上旋转更多时,需要增加确定有效元素宽度2C+1的常数C。
为了在保持运算量小的同时,跟踪头部在仰角方向上旋转到大的旋转角度θ,如果使用微小旋转的累积就足够了。
即,例如,收听者(用户)在预定时间的头部方向由(φ,θ,ψ)使用欧拉角表示。在本文中,角度φ、角度θ和角度ψ分别对应于上述旋转角度φ、旋转角度θ和旋转角度ψ。应当注意,在本文中,作为收听者头部的旋转方向的方向g由欧拉角表示,但是可以由例如另一种方法(例如,四元数)表示。在下面的描述中,除非另有说明,方向g用欧拉角表示。
具体地,角度φ和角度ψ是从收听者角度观看的水平角度,角度θ是从收听者角度观看的仰角。具体地,在时间t处的角度θ在下文中称为角度θt。类似地,在时间t处的角度φ和角度ψ在下文中分别称为角度φt和角度ψt
在使用微旋转的累积的情况下,如果通过确定指示时间t处的方向g的角度gt和紧接在时间t之前的时间(t-1)(即,时间t之前的时间(t-1))的角度gt-1之间的差值Δgt=gtgt-1 -1,并且将先前获得的旋转矩阵R'(gt-1)旋转差值Δgt,来更新旋转矩阵R'(gt)就足够了。即,如果在时间(t-1)的先前获得的旋转矩阵R'(gt-1)和对应于差值Δgt的旋转矩阵R'(Δgt)的乘积被定义为在时间t的旋转矩阵R'(gt)就足够了。
这使得可以利用旋转矩阵R'(Δgt)=R'(u(Δφt))R'(a(Δθt))R′(u(Δψt))以较小的运算量获得旋转矩阵R'(gt)。通过合成有效分量宽度对于差值Δgt的差值Δθt较窄的旋转矩阵R'(a(Δθt))、作为差值Δgt的差值Δφt的对角矩阵的旋转矩阵R'(u(Δφt))以及作为差值Δgt的差值Δψt的对角矩阵的旋转矩阵R′(u(Δψt)),获得旋转矩阵R'(Δgt)。差值Δgt是微小的旋转角度。
应当注意,差值Δθt是角度θt和角度θt-1之间的差值,即,差值Δθt=θtt-1。类似地,差值Δθt是角度θt和角度θt-1之间的差值,差值Δψt是角度ψt和角度Δψt-1之间的差值。
<音频处理器的配置示例>
在本文中,给出了应用上述本技术的音频处理器的描述。图11是示出应用本技术的音频处理器的实施方式的配置示例的示图。
图11中示出的音频处理器11是信号处理装置,其包含在例如耳机等中,并且接收球形谐波域的输入信号D'n m(ω),该输入信号是要再现的声音的声音信号,并且输出时域的双声道声音的驱动信号。应当注意,尽管给出了音频处理器11包含在耳机中的情况的描述,但是音频处理器11可以包含在不同于耳机的任何其他装置中,或者可以是不同于耳机等的任何其他装置。
音频处理器11包括头部旋转传感器单元21、先前方向保存单元22、旋转矩阵运算单元23、旋转运算单元24、旋转系数保存单元25、头部相关传递函数保存单元26、头部相关传递函数合成单元27和时频逆变换单元28。
头部旋转传感器单元21包括例如加速度传感器、图像传感器等,必要时附接到收听者(用户)的头部。头部旋转传感器单元21检测收听者头部的旋转(移动),并将检测结果提供给旋转矩阵运算单元23。
应当注意,此处的收听者是指戴耳机的用户,即,基于由时间频率逆变换单元28获得的左耳机和右耳机的驱动信号收听由耳机再现的声音的用户。
在头部旋转传感器单元21中,由于检测收听者头部的旋转,即,收听者头部指向的方向,获得时间t(即当前时间)的角度φt、角度θt和角度ψt。在下文中,包括角度φt、角度θt和角度ψt并指示收听者头部的方向(旋转)的信息也称为头部旋转信息。例如,由头部旋转信息指示的特定时间t的方向是对应于上述方向g的角度gt,并且是指示头部相对于x轴方向的方向的角度信息。
先前方向保存单元22保存每次从旋转矩阵运算单元23提供的角度,作为先前方向信息,并将在该时间之后的时间保存的先前方向信息提供给旋转矩阵运算单元23。因此,例如,在时间t的头部旋转信息从头部旋转传感器单元21提供给旋转矩阵运算单元23的情况下,时间t-1的角度gt-1作为先前方向信息从先前方向保存单元22提供给旋转矩阵运算单元23。
旋转矩阵运算单元23保存在每个角度φ指示旋转矩阵R'(u(φ))的表格和在每个角度θ指示旋转矩阵R'(a(θ))的表格。应当注意,指示旋转矩阵R'(u(φ))的表格也用于确定旋转矩阵R'(u(ψ))。即,公共表用于旋转矩阵R'(u(φ))和旋转矩阵R'(u(ψ))。
旋转矩阵运算单元23基于保存的表格、从头部旋转传感器单元21提供的头部旋转信息和从先前方向保存单元22提供的先前方向信息,确定并输出旋转矩阵R'(u(Δφt))、旋转矩阵R'(a(Δθt))和旋转矩阵R'(u(Δψt))。旋转矩阵运算单元23将旋转矩阵R'(u(Δφt))、旋转矩阵R'(a(Δθt))和旋转矩阵R'(u(Δψt))提供给旋转运算单元24。
作为旋转矩阵R'(u(Δφt))、旋转矩阵R'(a(Δθt))和旋转矩阵R'(u(Δψt))的合成的旋转矩阵R'(Δgt)是用于以时间t的收听者头部的旋转gt和时间(t-1)的收听者头部的旋转gt-1之间的差值(差值Δgt)的角度执行旋转的旋转矩阵。
应当注意,对于旋转矩阵R'(u(Δφt))、旋转矩阵R'(a(Δθt))和旋转矩阵R'(u(Δψt)),旋转矩阵运算单元23可以通过基于差值Δφt、差值Δθt和差值Δψt的运算来确定旋转矩阵R'(u(Δφt))、旋转矩阵R'(a(Δθt))和旋转矩阵R'(u(Δψt))。此外,旋转矩阵表R'(a(Δθt))的表格可以指示旋转矩阵Rs'(a(Δθt))作为旋转矩阵R'(a(Δθt))的近似值,或者旋转矩阵Rs'(a(Δθt))可以不是根据表而是通过运算来确定。
此外,旋转矩阵运算单元23将从头部旋转传感器单元21提供的头部旋转信息gt作为先前方向信息提供给先前方向保存单元22,并使先前方向保存单元22保存头部旋转信息gt
旋转运算单元24计算行向量H'(gt -1,ω),并将行向量H'(gt -1,ω)提供给旋转系数保存单元25和头部相关传递函数合成单元27。
在本文中,行向量H'(gt -1,ω)是通过执行旋转运算获得的行向量,该旋转运算使得球面谐波域中的头部相关传递函数(即,行向量HS(ω))基于时间t的旋转矩阵R'(gt)旋转角度gt
实际上,旋转运算单元24基于从旋转矩阵运算单元23提供的旋转矩阵R'(Δgt)和从旋转系数保存单元25提供的时间(t-1)的行向量H'(gt-1 -1,ω),计算时间t的行向量H'(gt -1,ω)。
这种运算是旋转运算,其中,在时间(t-1)的旋转运算的运算结果进一步旋转由差值Δgt指示的角度。运算结果是通过使行向量HS(ω)旋转角度gt-1的旋转运算获得的旋转头部相关传递函数。
此外,基于旋转矩阵R'(Δgt)的旋转运算是矩阵运算,其中,仅计算在旋转矩阵R'(Δgt)中预定值C确定的范围内具有阶数k的元素,即,执行由阶数k限制的运算。因此,可以说,旋转矩阵R'(Δgt)是这样的旋转矩阵,其中,只有在预定值C确定的范围内具有阶数k的元素是具有非零有效值的元素,即,由阶数k限制的旋转。
应当注意,旋转运算单元24在处理开始时,即,在没有行向量H'(gt-1 -1,ω)的情况下,基于从头部相关传递函数保存单元26提供的头部相关传递函数的行向量HS(ω)和从旋转矩阵运算单元23提供的旋转矩阵R'(Δgt),来计算行向量H'(gt -1,ω)。在这种情况下,角度gt-1是0度;因此,旋转矩阵R'(Δgt)相当于旋转矩阵R'(gt)。
旋转系数保存单元25保存从旋转运算单元24提供的时间t的行向量H'(gt-1,ω),并将随后时间(t+1)保存的行向量H'(gt-1,ω)提供给旋转运算单元24。
头部相关传递函数保存单元26保存从外部提供的预定行向量HS(ω)或行向量HS(ω),并将保存的行向量HS(ω)提供给旋转运算单元24。应当注意,行向量HS(ω)可以为每个收听者(用户)准备,或者公共行向量HS(ω)可以为包括在一个组中的所有收听者或多个收听者准备。
在本文中,行向量H'(g-1,ω)是通过将在球面谐波域中旋转包括头部相关传递函数的行向量HS(ω)旋转该旋转矩阵R'(g-1)而获得的矩阵,即,包括旋转后的头部相关传递函数的矩阵。换言之,行向量H'(g-1,ω)是矩阵(向量),包括作为元素的头部相关传递函数,该传递函数旋转由球形谐波域中收听者头部的方向确定的角度,即由水平方向上的角度φ、仰角方向上的角度θ和水平方向上的角度ψ确定的角度。
应当注意,在本文中,给出了一个示例的描述,其中,头部相关传递函数使用行向量H'(gt-1 -1,ω)在角度θ、角度φ和角度ψ的所有方向上旋转在时间t的旋转和在时间(t-1)的旋转之间的差值,该行向量是在时间(t-1)的运算结果。然而,这不是限制性的,并且在时间(t-1)的头部相关传递函数的旋转运算的结果可以进一步在角度θ、角度φ或角度ψ中的至少一个的方向(旋转方向)上旋转时间t的角度和时间(t-1)的角度之间的差值。
头部相关传递函数合成单元27合成从外部提供的每个时间频率窗口ω的输入信号D'n m(ω)和从旋转运算单元24提供的行向量H′(gt -1,ω),以生成左右耳机的驱动信号。输入信号D'n m(ω)是球形谐波域的声音信号。
即,头部相关传递函数合成单元27通过确定每个左和右耳机的行向量H'(gt -1,ω)和包括输入信号D'n m(ω)的矩阵D'(ω)的乘积来计算左和右耳机的驱动信号Pl(g,ω)和驱动信号Pr(g,ω),并将驱动信号Pl(g,ω)和驱动信号Pr(g,ω)提供给时间频率逆变换单元28。输入信号D'n m(ω)是球形谐波域的声音信号。
在本文中,驱动信号Pl(g,ω)是左耳机在时域中的驱动信号(双耳信号),驱动信号Pr(g,ω)是右耳机在时域中的驱动信号(双耳信号)。
在头部相关传递函数合成单元27中,同时执行对输入信号的头部相关传递函数的合成和对输入信号的球面谐波逆变换。
时频逆变换单元28对从头部相关传递函数合成单元27为相应的左和右耳机提供的时域中的驱动信号执行时频逆变换,以确定时域中左耳机的驱动信号pl(g,t)和时域中右耳机的驱动信号pr(g,t),并将这些驱动信号输出到后续级。在通过两个信道或多个信道再现声音的再现装置中,例如,后续阶段的耳机,更具体地,包括使用跨耳技术的耳机和扬声器的耳机,基于从时频逆变换单元28输出的驱动信号来再现声音。应当注意,在要输入的信号没有经历时频变换的情况下,时频变换单元设置在信号输入部分中,即,例如,在头部相关传递函数合成单元27的前一阶段,或者在头部相关传递函数合成单元27中执行时域中的卷积运算。
在本文中,详细描述音频处理器11的相应组件中的处理。
例如,旋转矩阵运算单元23确定时间t的头部旋转信息,即,在时间t的角度gt和时间(t-1)的角度gt-1之间的差值Δgt=gtgt-1 -1。然后,旋转矩阵运算单元23根据差值Δgt确定差值Δgt、差值Δφt和差值Δψt,从保存的旋转矩阵R'(a(θ))和保存的旋转矩阵R'(u(φ))的表格中读取在角度θ是差值Δθt的情况下的旋转矩阵R'(a(θ))以及在角度φ是差值Δφt和差值Δψt的情况下的旋转矩阵R'(u(φ)),并且将旋转矩阵设置为旋转矩阵R'(a(Δθt))、旋转矩阵R'(u(Δφt))和旋转矩阵R(u(Δψt))。
此外,旋转矩阵运算单元23执行类似于上述表达式(29)的运算,并且合成如此获得的旋转矩阵R'(a(Δθt))、如此获得的旋转矩阵R'(u(Δφt))和如此获得的旋转矩阵R(u(Δψt)),以获得旋转矩阵R'(Δgt)。
例如,在为每个帧,即,输入信号D'n m(ω)的每个帧确定差值Δθt的情况下,差值Δθt如图12所示。应当注意,在图12中,垂直轴表示每次的角度θ(仰角),水平轴表示时间。
在图12所示的示例中,曲线L11表示相应时间的角度θ,曲线L11中的区域RZ11的放大部分如该图下侧的部分所示。
在本文中,从时间t-1到时间t的时间段是一帧的时间段。因此,角度θt和角度θt-1之间的差值是Δθt,角度θt是时间t时的角度,角度θt-1是时间t-1时的角度θ。
在旋转矩阵运算单元23中,基于差值Δgt获得的旋转矩阵R'(Δgt)提供给旋转运算单元24,并且时间t处的角度gt提供给先前方向保存单元22,以更新先前方向信息。即,保存在时间t的最近提供的角度gt,作为更新的先前方向信息。
在旋转运算单元24中,基于当时(t-1)的旋转矩阵R′(Δgt)和行向量H'(gt-1-1,ω),计算时间t的行向量H'(gt -1,ω)。
例如,为可选旋转矩阵g1和可选旋转矩阵g2建立以下表达式(39)。
[数学公式39]
R’(g1g2)=R’(g1)R’(g2) ...(39)
由此可以看出,建立了以下表达式(40),并且通过确定行向量H'(gt-1 -1,ω)和旋转矩阵R'(Δgt)的乘积来确定行向量H'(gt -1,ω)。
[数学公式40]
Figure BDA0002342044380000331
即,假设行向量H'(gt -1,ω)中的度数n和阶数k的元素表示H'n m(gt -1,ω),旋转矩阵R'(Δgt)中的度数n和阶数m的元素表示R'(n) k,m(Δgt),并且确定旋转矩阵R'(Δgt)的度数n的有效元素宽度的常数表示C。在这种情况下,建立以下表达式(41)。即,可以通过以下表达式(41)的运算来确定行向量H'(gt -1,ω)的相应非零元素。
[数学公式41]
Figure BDA0002342044380000332
旋转运算单元24通过计算表达式(41)获得行向量H'(gt -1,ω)。在表达式(41)的计算中,类似于上述表达式(36),仅计算阶数k从m-C到m+C的(2C+1)元素,其中,m被设置为中心。注意,阶数k限于-n≤k≤n的范围。即,仅在阶数k具有由C确定的范围内的值的元素上执行运算,C是阶数k受限的运算,并且运算量减少。
应当注意,在旋转矩阵运算单元23中,旋转矩阵R'(a(Δθt))可以通过计算依次确定,或者旋转矩阵R'(a(Δθt))可以从预先准备的一个或多个候选中选择。
此外,可以组合在该时间对旋转矩阵R'(a(Δθt))执行运算的方法以及从一个或多个候选中选择旋转矩阵R'(a(Δθt))的方法,并且可以在改变使用这些相应方法的频率的同时,调整通过跟踪收听者头部的实际旋转角度θt来旋转头部相关传递函数的角度。
<驱动信号生成处理的描述>
接下来,参考图13的流程图描述由音频处理器11执行的驱动信号生成处理。
在步骤S11中,头部旋转传感器单元21检测作为收听者的用户的头部的旋转,并将作为检测结果获得的头部旋转信息提供给旋转矩阵运算单元23。
在步骤S12中,旋转矩阵运算单元23确定从头部旋转传感器单元21提供的头部旋转信息的角度gt和在先前方向保存单元22中保存为先前方向信息的时间(t-1)的角度gt-1之间的差值Δgt
此外,在获得差值Δgt时,旋转矩阵运算单元23将在步骤S11中获得的头部旋转信息的角度gt提供给先前方向保存单元22,以更新先前方向信息。先前方向保存单元22更新先前方向信息,以使从旋转矩阵运算单元23提供的角度gt成为新的先前方向信息,并保存如此更新的结果。
在步骤S13中,基于在步骤S12中获得的差值Δgt,旋转矩阵运算单元23确定对应于差值Δgt的差值Δθt的仰角方向上的旋转矩阵R′(a(Δθt))。应当注意,在步骤S13中,旋转矩阵运算单元23可以将对应于差值Δθt的旋转矩阵Rs'(a(Δθt))确定为旋转矩阵R'(a(Δθt)),旋转矩阵Rs'(a(Δθt))对应于旋转矩阵Rs'(a(θ))。
在步骤S14中,基于从步骤S12中获得的差值Δgt确定的头部旋转的差值Δφt和差值Δψt,旋转矩阵运算单元23确定对应于差值Δφt和Δψt的水平方向上的旋转矩阵R'(u(Δφt))和旋转矩阵R'(u(Δψt))。
在步骤S15中,旋转矩阵运算单元23合成在步骤S13中获得的仰角方向上的旋转矩阵R′(a(Δθt))和在步骤S14中获得的水平方向上的旋转矩阵R'(u(Δφt))和旋转矩阵R'(u(Δψt)),以确定用于通过整个头部的旋转差来执行旋转的旋转矩阵R'(Δgt),并将旋转矩阵R'(Δgt)提供给旋转运算单元24。
在步骤S16中,旋转运算单元24基于从旋转矩阵运算单元23提供的旋转矩阵R'(Δgt)和保存在旋转系数保存单元25中的行向量H'(gt-1 -1,ω),执行旋转运算。
即,例如,在步骤S16中,上述表达式(41)被计算为基于由常数C确定的有效元素宽度2C+1的旋转运算,以计算的行向量H'(gt -1,ω)。
旋转运算单元24将获得的行向量H'(gt -1,ω)提供给旋转系数保存单元25,并且使旋转系数保存单元25保存行向量H'(gt -1,ω),并且还将行向量H'(gt -1,ω)提供给头部相关传递函数合成单元27。
在步骤S17中,头部相关传递函数合成单元27合成从旋转运算单元24提供的头部相关传递函数的输入信号D'n m(ω)和行向量H'H'(gt -1,ω),以生成左右耳机的驱动信号。
例如,在步骤S17中,为左右耳机中的每一个确定行向量H'(gt -1,ω)和矩阵D'(ω)的乘积,以计算左右耳机的驱动信号Pl(g,ω)和驱动信号Pr(g,ω)。头部相关传递函数合成单元27将获得的驱动信号Pl(g,ω)和获得的驱动信号Pr(g,ω)提供给时频逆变换单元28。
在步骤S18中,时频逆变换单元28对从头部相关传递函数合成单元27提供的驱动信号Pl(g,ω)和驱动信号Pr(g,ω)执行时频逆变换,并将作为时频逆变换的结果而获得的驱动信号Pl(g,t)和驱动信号Pr(g,t)输出到后续阶段,并且驱动信号生成处理结束。
如上所述,音频处理器11基于差值Δgt确定旋转矩阵R'(Δgt),并基于确定基于旋转矩阵R'(Δgt)的当前行向量H'(gt -1,ω)和前一行向量H'(gt-1 -1,ω)。
因此,累积旋转作为微小旋转角度的差值Δgt,来确定行向量H'(gt -1,ω),这使得可以减少要使用的存储量和运算量。这使得可以更有效地再现声音。具体地,根据上述提出的技术1,可以获得存储量基本上等于第四技术中的存储量并且运算量小于第四技术中的运算量的驱动信号。
<第二实施方式>
<音频处理器的配置示例>
顺便提及,在上述提出的技术1中,只有具有由常数C确定的有效元素宽度2C+1的块中的元素(即只有有效元素)用于执行运算,导致旋转矩阵R'(gt)中的不少误差,即,行向量H'(gt -1,ω)中的误差。
此外,在导致这种误差的运算重复执行一段时间的情况下,累积误差,从而导致行向量H'(gt -1,ω)变成不同于原始值的值。即,行向量H'(gt -1,ω)中的误差变大。
因此,可以通过执行在预定时间确定精确旋转矩阵R'(gt -1)并重置旋转矩阵R'(gt -1)(即,行向量H'(gt -1,ω))的值的运算(以下简称重置),来防止误差的累积。在下文中,所提出的技术1中执行在预定时间重置的技术也称为所提出的技术2。
在所提出的技术2中,在重置时,度数n立方阶的运算量的运算对于确定行向量H'(gt -1,ω)是必要的,但是不太频繁地执行重置,使得可以整体上减少运算量。
在以这种方式适当执行重置的情况下,音频处理器11被配置为如图14所示。应当注意,在图14中,对应于图11中的组件的组件由相同的附图标记表示,并且适当地省略其描述。
图14所示的音频处理器11包括头部旋转传感器单元21、先前方向保存单元22、旋转矩阵运算单元23、旋转运算单元24、旋转系数保存单元25、头部相关传递函数保存单元26、头部相关传递函数合成单元27和时间频率逆变换单元28。
图14所示的音频处理器11与图11中的音频处理器11的相同之处在于,包括从头部旋转传感器单元21到时间频率逆变换单元28的组件,但是与图11中的音频处理器11的不同之处在于,作为指示重置时间的信号的重置触发提供给旋转矩阵运算单元23和旋转运算单元24。
在没有提供重置触发器的情况下,即,在重置触发器关闭的情况下,旋转矩阵运算单元23基于头部旋转信息的角度gt和作为先前方向信息的角度gt-1来确定旋转矩阵R(Δgt),并将旋转矩阵R(Δgt)提供给旋转运算单元24。
相反,在提供重置触发器的情况下,即,在重置触发器打开的情况下,旋转矩阵运算单元23基于头部旋转信息的角度gt确定旋转矩阵R'(gt),并将旋转矩阵R'(gt)提供给旋转运算单元24。即,执行重置,以确定精确的旋转矩阵R'(gt)。换言之,不确定由诸如旋转矩阵R'(Δgt)之类的差值确定的旋转矩阵,而是确定旋转矩阵R'(gt)的绝对值。
此外,在重置触发器关闭的情况下,旋转运算单元24基于从旋转矩阵运算单元23提供的旋转矩阵R'(Δgt)和保存在旋转系数保存单元25中的行向量H'(gt-1 -1,ω)计算行向量H'(gt -1,ω)。
相反,在重置触发器打开的情况下,旋转运算单元24基于由旋转矩阵运算单元23提供的旋转矩阵R'(gt)和保存在头部相关传递函数保存单元26中的头部相关传递函数的行向量HS(ω)来计算行向量H'(gt -1,ω)。
在这种情况下,在旋转运算单元24中,通过执行类似于上述表达式(35)或表达式(36)中的计算来计算行向量H'(gt -1,ω)。即,确定旋转矩阵R'(gt)和行向量HS(ω)的乘积,以计算行向量H'(gt -1,ω)。
以这种方式,响应于重置触发器的输入来执行重置,以确定精确的旋转矩阵R'(gt)和行向量H'(gt -1,ω),这使得可以获得具有小误差的驱动信号,同时保持必要的存储量和必要的运算量较低。
应当注意,在本文中,给出了重置触发器在可选时间打开或关闭的示例的描述,但是重置触发器可以一直打开。即,可以一直计算旋转矩阵R'(gt)。
此外,重置触发器可以在任何时候打开。例如,重置触发器打开的时间可以是预定的规则(周期性)时间,例如,预定的时间间隔、差值Δθt变得等于或大于阈值的时间、或者角度θt变得等于或大于预定值的时间。
<驱动信号生成处理的描述>
接下来,参考图15中的流程图描述将由图14中的音频处理器11执行的驱动信号生成处理。
应当注意,步骤S51中的处理与图13中的步骤S11中的处理相同,并且省略其描述。
在步骤S52中,旋转矩阵运算单元23基于从外部提供的重置触发来确定是否执行重置。例如,在重置触发器打开的情况下,确定执行重置。
在步骤S52中确定不执行重置的情况下,处理进行到步骤S53,并且执行步骤S53至S57中的处理。
应当注意,步骤S53至S57中的处理与图13中的步骤S12至S16中的处理相同,并且省略其描述。
执行步骤S57中的处理,然后旋转运算单元24将获得的行向量H'(gt -1,ω)提供给头部相关传递函数合成单元27和旋转系数保存单元25,此后,处理进行到步骤S60。
相反,在步骤S52中确定执行重置的情况下,在步骤S58中,旋转矩阵运算单元23基于从头部旋转传感器单元21提供的头部旋转信息的角度gt确定仰角方向上的旋转矩阵R'(a(θt))以及水平方向上的旋转矩阵R'(u(φt))和旋转矩阵R'(u(ψt))。
此外,旋转矩阵运算单元23合成旋转矩阵R'(a(θt))、旋转矩阵R'(u(φt))和旋转矩阵R'(u(ψt)),以确定旋转矩阵R'(gt),并将旋转矩阵R'(gt)提供给旋转运算单元24。应当注意,在步骤S58中,可以基于角度θt从表格中获得旋转矩阵R'(a(θt)),或者可以通过基于角度θt的运算获得旋转矩阵R'(a(θt))。类似地,可以通过基于角度φt和角度ψt的运算来确定旋转矩阵R'(u(φt))和旋转矩阵R'(u(ψt)),可以基于角度φt和角度ψt从表格中获得旋转矩阵R'(u(φt))和旋转矩阵R'(u(ψt))。
在步骤S59中,旋转运算单元24基于从旋转矩阵运算单元23提供的旋转矩阵R'(gt)和保存在头部相关传递函数保存单元26中的头部相关传递函数的行向量HS(ω)执行旋转运算,以计算行向量H'(gt -1,ω)。例如,在步骤S59中,通过执行类似于上述表达式(35)或表达式(36)中的计算来计算行向量H'(gt -1,ω)。
获得行向量H'(gt -1,ω),然后旋转运算单元24将获得的行向量H'(gt -1,ω)提供给头部相关传递函数合成单元27和旋转系数保存单元25,此后,处理进行到步骤S60。
在执行步骤S57或步骤S59中的处理之后,执行步骤S60和步骤S61中的处理,并且驱动信号生成处理结束;然而,这些处理与图13中的步骤S17和步骤S18中的处理相同,并且省略其描述。
如上所述,在重置触发器打开的情况下,音频处理器11确定精确旋转矩阵R'(gt)和精确行向量H'(gt -1,ω),以生成驱动信号。这样做,使得能够获得具有小误差的驱动信号,同时保持必要的存储量和必要的运算量低。
应当注意,例如,在收听者的头部突然大幅旋转到仰角方向的情况下,差值Δθt突然增大。因此,在行向量H'(gt -1,ω)旨在通过跟踪收听者头部的旋转来确定的情况下,如果行向量H'(gt -1,ω)旨在精确地确定,则运算量增加,并且如果行向量H'(gt -1,ω)旨在以小的运算量来确定,则误差增加。
在这种情况下,例如,在希望保持运算量低的情况下,如果实际差值Δθt变得等于或大于预定阈值,例如,30度或更大,则差值Δθt的值可以限于等于或小于1度,而与差值Δθt的实际值无关,并且旋转矩阵运算单元23可以确定旋转矩阵R'(a(Δθt))。
这样做,使得可以保持低运算量,尽管不可能完全执行跟踪,直到实际差值Δθt变得小于阈值,从而导致旋转矩阵R'(a(Δθt))中的误差。应当注意,可以独立于打开或关闭重置触发器来执行这种处理。
此外,例如,在实际差值Δθt变得等于或大于预定阈值(例如,30度或更大)的情况下,旋转矩阵运算单元23可以仅针对块中具有为C确定的有效元素宽度2C+1的元素来确定旋转矩阵R'(a(θt)),该有效元素宽度2C+1用作确定有效元素宽度2c+1的预定值,即,仅针对有效元素。在这种情况下,在旋转运算单元24中,表达式(36)的计算仅针对为C确定的有效元素执行,以确定行向量H'(gt -1,ω)。
在该示例中,由于使用旋转矩阵R'(gt),运算量增加,但是仅针对由确定有效元素宽度2C+1的C确定的有效元素的运算就足够了,这使得在跟踪收听者头部的旋转的同时,可以在一定程度保持低运算量。也可以独立于打开或关闭重置触发器来执行这种处理。
此外,例如,在实际差值Δθt变得等于或大于预定阈值(例如,30度或更大)的情况下,确定旋转矩阵R'(a(Δθt)),并且从旋转矩阵R′(Δgt)和旋转矩阵R'(a(Δθt))确定的行向量H'(gt-1 -1,ω)确定行向量H'(gt -1,ω),但是此时,旋转运算单元24可以临时将确定有效元素宽度2C+1的c增加到大于正常值的值。在本文中,C的值可以是常数,或者可以由度数n、差值Δθt等确定。
这样做,使得可以执行对收听者头部旋转的跟踪,尽管在确定行向量H'(gt -1,ω)的情况下的运算量增加了。即使在这种情况下,也可以独立于打开或关闭重置触发器来执行改变C值的处理。
此外,例如,在头部旋转信息的角度θt变成预定值的情况下(下文中,也称为重置点),可以执行重置。
具体地,例如,旋转矩阵运算单元23对于每个重置点或多个重置点,保存为作为重置点的角度θ预先确定的旋转矩阵R'(a(θ))。例如,假设为确定为重置点的角度θ1预先保存旋转矩阵R'(a(θ1))。
在这种情况下,例如,在角度θt是角度θ1的情况下,旋转矩阵运算单元23使用保存的旋转矩阵R'(a(θ1))作为旋转矩阵R'(a(θt))来确定旋转矩阵R'(gt),并将旋转矩阵R'(gt)提供给旋转运算单元24。通过这样做,需要存储器来保存每个重置点的旋转矩阵R'(a(θ)),但是不需要执行旋转矩阵R'(a(θt))的运算,这使得可以在执行重置以获得精确的旋转矩阵R'(a(θt))的同时保持低运算量。
<第二实施方式的变型例1>
<关于多个装置的重置控制>
此外,例如,假设空间中存在多个收听者,并且如图16所示,存在一种控制系统,其中,多个音频处理器中的每一个向每个收听者佩戴的每个耳机等输出驱动信号。
图16所示的控制系统包括音频处理器71-1至71-4和开关72。
音频处理器71-1至71-4中的每一个都具有与图14所示的音频处理器11相同的配置。在下文中,在没有必要特别区分音频处理器71-1至71-4的情况下,音频处理器71-1至71-4也简称为音频处理器71。
每个音频处理器71接收输入信号D'n m(ω),执行类似于参考图15描述的驱动信号生成处理的处理,并且输出左右耳机的驱动信号pl(g,t)和驱动信号pr(g,t)。
应当注意,每个音频处理器71可以是一个独立的装置,或者这些音频处理器71可以设置在一个装置中,但是此处假设相应音频处理器71设置在位于中间的一个计算系统(装置)中。
开关72控制向音频处理器71提供重置触发器,以在可选的时间向音频处理器71-1至71-4中的一个音频处理器71提供重置触发器。
在这样的控制系统中,多个收听者中的每一个都佩戴耳机,并且每个耳机基于从彼此不同的每个音频处理器71提供的驱动信号来再现声音。
然后,每个音频处理器71检测要输出驱动信号的耳机的移动(旋转),即,头部旋转传感器单元21中佩戴耳机的收听者的头的移动(旋转),并且通过跟踪收听者的头的移动来旋转头部相关传递函数,并且生成驱动信号。
在控制系统中,重置触发器由开关72在不同的时间提供给四个音频处理器71中的每一个;因此,不在音频处理器71上同时执行重置。这使得能够抑制整个控制系统中运算负载突然增加。即,可以防止运算量暂时增加。
在控制系统中,在四个音频处理器71上同时执行重置的情况下,在执行重置时,整个控制系统中的运算量暂时变大(增加),例如,如图17中的箭头Q11所示。
应当注意,在图17中,垂直轴表示整个控制系统中的运算量,水平轴表示时间。
例如,在箭头Q11所示的示例中,以预定间隔在控制系统中的四个音频处理器71上同时执行重置。例如,在时间t11执行重置,并且在时间t11运算量变大(增加),但是在不执行重置的其他时间运算量保持低。
在这种情况下,虽然运算量以低频率增加,但是在重置时,控制系统上的运算负载暂时增加。
相反,例如,在箭头Q12所示的示例中,不在多个音频处理器71上同时执行重置,而是在不同的时间在相应音频处理器71上执行重置。运算量以更高的频率增加,但是每次的运算量不会变得如此大。即,尽管运算量在重置时增加,但是在该时间的运算量的增加仅仅是与一个音频处理器71上的重置相对应的量;因此,要施加的运算负载没有在多个音频处理器71上同时执行重置的情况下施加的运算负载大。
例如,在时间t12,在一个音频处理器71上执行重置,但是与箭头Q11所示的示例中的时间t11相比,运算量保持较低。
应当注意,尽管已经给出了一次在一个音频处理器71上执行重置的示例,但是除非在所有音频处理器71上同时执行重置,否则可以抑制运算负载。例如,所有音频处理器71可以分成包括一个或多个音频处理器71的多个组,并且可以对每个组执行重置。
如上所述,在存在多个音频处理器71的情况下,在彼此不同的时间在相应音频处理器71上执行重置,这使得能够抑制运算量暂时增加。
<第二实施方式的变型例2>
<关于每个度数或每个阶数的重置>
此外,无论图14中示出的音频处理器11的示例和图16中示出的控制系统的示例如何,即,无论是否存在一个或多个收听者,都可以针对每个度数n或每个阶数m执行重置。这样做,使得能够抑制重置时运算负载增加。
例如,如图18所示,假设行向量H'(gt -1,ω)包括包含度数n=0元素的矩阵H0(ω)、包含度数n=1元素的矩阵H1(ω)、包含度数n=2元素的矩阵H2(ω)以及包含度数n=3元素的矩阵H3(ω)。
在这种情况下,例如,可以仅在针对度数n的预定度数的分量上执行重置。此时,可以在不同时间在相应度数的分量上执行重置,或者可以在一些度数的分量上同时执行重置。
例如,在仅对度数n的零阶分量,即,度数n=0的分量,执行重置的情况下,确定旋转矩阵R'(gt)和零阶分量的行向量HS(ω)的乘积,以生成矩阵H0(ω)。
相反,对于度数n的一至三阶分量,确定旋转矩阵R'(Δgt)和行向量H'(gt-1-1,ω)的乘积,即,执行表达式41的计算,以生成矩阵H1(ω)、矩阵H2(ω)和矩阵H3(ω)。
然后,从这样获得的矩阵H0(ω)、矩阵H1(ω)、矩阵H2(ω)和矩阵H3(ω)中获得最后一行向量H'(gt -1,ω)。
因此,例如,在图14所示的音频处理器11中,在仅对度数n的零阶分量执行重置的时间,对零阶分量执行图15中的步骤S58中的处理和图15中的步骤S59中的处理,以生成矩阵H0(ω)。相反,对于度数n的一阶至三阶分量,执行步骤S53至S57中的处理,以生成矩阵H1(ω)、矩阵H2(ω)和矩阵H3(ω)。然后,从矩阵H0(ω)、矩阵H1(ω)、矩阵H2(ω)和矩阵H3(ω)中生成行向量H'(gt -1,ω)。
应当注意,例如,即使在对每个度数执行重置的情况下,也可以提供一些组,例如,包括度数n的零阶和一阶的组,并且可以对每个组执行重置。
例如,在图18所示的示例中,元素的数量从度数n的零阶到二阶很小;因此,可以将度数n的零阶至二阶设置为一组,并且可以在度数n的零阶、一阶和二阶分量上同时执行重置。在这种情况下,在度数n的零阶、一阶和二阶分量上执行重置的时间不同于在度数n的三阶分量上执行重置的时间。
应当注意,尽管作为具体示例,已经给出了针对每个度数n执行重置的情况的描述,但是针对每个度数m执行重置的情况也与针对每个度数n执行重置的情况相同。
<第二实施方式的变型例3>
<关于每个时间频率的重置>
此外,无论图14中示出的音频处理器11的示例和图16中示出的控制系统的示例如何,即,无论是否存在一个或多个收听者,都可以对每个时间频率ω执行重置。这样做,使得能够抑制重置时运算负载增加。
例如,如图19所示,假设时间频率窗口ω的数量是W,并且对于W个时间频率ω1到ωW确定行向量H'(gt -1,ω)。即,获得行向量H'(gt -11)到H'(gt -1W)。
例如,在这种情况下,可以仅针对预定的时间频率ω来执行重置。此时,对于相应的时间频率ω,可以在不同的时间执行重置,或者对于一些时间频率ω,可以同时执行重置。
例如,在图14所示的音频处理器11中,在仅对时间频率ω1执行重置的时间,对时间频率ω1执行图15中的步骤S58和S59中的处理,以生成行向量H'(gt -11)。
相反,对于时间频率ω2到tωW,执行图15中的步骤S53到S57中的处理,以生成行向量H'(gt -12)到H'(gt -1W)。
应当注意,即使在对每个时间频率ω执行重置的情况下,也可以提供一些组,例如,包括一个或多个时间频率ω的组,并且可以对每个组执行重置。
<第二实施方式的变型例4>
<控制系统的另一示例>
此外,在图16所示的控制系统中,假设对应于多个收听者的音频处理器71由位于中间的一个计算系统操作。
然而,在收听者数量动态变化的情况下,难以预先确定中间计算系统的性能。
因此,在每个收听者的系统(从装置)(例如,智能手机)可以独立地执行为每个收听者生成驱动信号的处理,并且从装置没有足够的处理性能来执行上述重置的情况下,从装置所耦合到的中间装置(主装置)可以在重置时执行一部分或全部运算。
在这种情况下,例如,如图20所示配置控制系统。
图20所示的控制系统包括主装置101和从装置102-1至从装置102-9。
在该示例中,主装置101和从装置102-1至102-9中的每一个通过有线或无线网络彼此耦合。应当注意,在下文中,在没有必要特别区分从装置102-1至102-9的情况下,从装置102-1至102-9也被简称为从装置102。
代替从装置102,主装置101执行最初在从装置102中执行的运算(处理)的一部分,并将运算结果的结果提供给从装置102。
从装置102均包括例如耳机、智能手机等,并且对应于图14所示的音频处理器11。从装置102均根据收听者头部的旋转执行参考图15描述的驱动信号生成处理,并输出驱动信号,但是请求主装置101执行驱动信号生成处理的运算的一部分,例如,重置时的运算。
在特定示例中,例如,主装置101可以在重置时执行运算。
在这种情况下,从装置102将用于计算行向量H'(gt -1,ω)的运算请求连同角度gt或旋转矩阵R'(gt)一起传输到主装置101。
然后,已经接收到来自从装置102的运算请求和角度gt或旋转矩阵R'(gt)的主装置101响应于该运算请求执行以下表达式(42)的运算,并将产生的行向量H'(gt -1,ω)传输到从装置102。
[数学公式42]
Figure BDA0002342044380000461
应当注意,要在表达式(42)的运算中使用的行向量HS(ω)可以由主装置101预先从所述从装置102获得,或者可以预先保存在主装置101中。
以这种方式,从装置102可以利用从主装置101接收的行向量H'(gt -1,ω)获得以小运算量呈现给收听者的声音的驱动信号。
应当注意,如上所述,可以对每个收听者、每个度数n、每个阶数m、每个时间频率ω等执行重置,并且适当地确定重置的时间,使得可以减少主装置101上的运算负载。例如,在不同的时间对相应从装置102执行重置,使得可以减少主装置101上的运算负载。
<第二实施方式的变型例5>
<控制系统的另一示例>
与第二实施方式的变型例4的情况相反,从装置102可以在重置时执行运算。
在这种情况下,主装置101依次从所述从装置102接收角度gt、旋转矩阵R'(Δgt)等,执行由以下表达式(43)表示的运算,并计算行向量H'(gt -1,ω)。
[数学公式43]
Figure BDA0002342044380000462
应当注意,主装置101可以执行直到计算行向量H'(gt -1,ω)的运算,从装置201可以执行直到获得驱动信号的剩余运算,或者主装置101可以使用行向量H'(gt -1,ω)计算驱动信号,并将驱动信号提供给从装置102。
此外,在重置时,从装置102执行上述表达式(42)的运算,并且所产生的行向量H'(gt -1,ω)从所述从装置102传输到主装置101。这使得主装置101可以保存从所述从装置102接收的行向量H'(gt -1,ω)并使用行向量H'(gt -1,ω),用于表达式(43)的运算,以供下次执行。
从装置102以这种方式在重置时执行运算,这使得主装置101可以更新通常基于与更精确的行向量H'(gt -1,ω)的差值计算的行向量H'(gt -1,ω),并且重置误差。
应当注意,重置时运算所需的行向量HS(ω)可以由从装置102预先从主装置101获得,可以预先保存在从装置102中,或者可以预先保存在主装置101和从装置102中。
此外,在主装置101和从装置102中只有一个装置保存行向量HS(ω)等的情况下,由一个装置保存的行向量HS(ω)等可以在诸如耦合时间或初始化时间等可选时间传输到另一装置。
此外,即使在该实施方式中,也可以对每个收听者、每个度数n、每个阶数m、每个时间频率ω等执行重置,并且可以适当地确定重置的时间。然而,在由从装置102执行重置时的运算的情况下,在一个从装置102中不同时执行多个收听者的重置时的运算;因此,没有必要分散重置的时间。
此外,主装置101和从装置102可以共享参考图13和图15描述的驱动信号生成处理。即,主装置101具有执行驱动信号生成处理的一些功能,这使得能够灵活地应对收听者数量动态增加的情况等。
<计算机的配置示例>
顺便提一下,可以通过硬件或软件执行上述一系列处理。在一系列处理由软件执行的情况下,包括该软件的程序安装在计算机中。在本文中,计算机包括包含在专用硬件内的计算机以及例如能够通过安装各种程序来执行各种功能的通用计算机。
图21是示出通过程序执行上述一系列处理的计算机硬件的配置示例的框图。
在计算机中,CPU(中央处理器)501、ROM(只读存储器)502和RAM(随机存取存储器)503通过总线504彼此耦合。
输入/输出接口505进一步耦合到总线504。输入单元506、输出单元507、记录单元508、通信单元509和驱动器510耦合到输入/输出接口505。
输入单元506包括键盘、鼠标、麦克风、成像元素等。输出单元507包括显示器、扬声器等。记录单元508包括硬盘、非易失性存储器等。通信单元509包括网络接口等。驱动器510驱动可移动记录介质511,例如,磁盘、光盘、磁光盘或半导体存储器。
在如上所述配置的计算机中,CPU 501例如通过输入/输出接口505和总线504将记录在记录单元508上的程序加载到RAM 503中,并执行该程序,从而执行上述一系列处理。
可以将要由计算机(CPU 501)执行的程序记录在例如作为封装介质等的可移动记录介质511中,并提供该程序。此外,可以通过有线或无线传输介质提供程序,例如,局域网、因特网、数字卫星广播等。
在计算机中,通过将可移除记录介质511安装到驱动器510,可以通过输入/输出接口505将程序安装在记录单元508中。此外,可以由通信单元509通过有线或无线传输介质接收程序,并将该程序安装在记录单元508上。此外,可以预先将程序安装在ROM 502或记录单元508上。
应当注意,要由计算机执行的程序可以是在本说明书中描述的按时间顺序依次进行处理的程序,或者可以是并行或以在必要时(例如,在执行调用的时间)进行处理的程序。
此外,本技术的实施方式不限于前述实施方式,并且可以在不脱离本技术的要旨的范围内以各种方式进行修改。
例如,对于本技术而言,可以采用云计算的配置,其中,一种功能由多个装置通过网络共享并共同处理。
可以由一个装置执行上述流程图中描述的每个步骤,或者由多个装置共享和执行每个步骤。
此外,在一个步骤中包括多个过程的情况下,可以由一个装置执行该一个步骤中包括的多个过程,或者由多个装置共享和执行多个过程。
此外,本说明书中描述的效果仅仅是说明性的而非限制性的,并且可以包括其他效果。
此外,本技术可以具有以下配置。
(1)一种信号处理装置,包括:
旋转运算单元,通过基于对应于收听者头部旋转的旋转矩阵的运算来旋转球形谐波域中的头部相关传递函数,在该运算中旋转矩阵的阶数受到限制;以及
合成单元,合成通过运算获得的旋转后的头部相关传递函数和球形谐波域的声音信号,以生成耳机驱动信号。
(2)根据(1)所述的信号处理装置,其中,对于所述头部相关传递函数在至少一个旋转方向上的旋转运算,所述旋转运算单元利用在预定时间之前的另一时间的所述旋转方向上的旋转运算的运算结果,来执行在所述预定时间的所述旋转运算,以确定在所述预定时间的旋转之后的头部相关传递函数。
(3)根据(2)所述的信号处理装置,其中,所述旋转运算单元基于对应于在预定时间收听者头部在旋转方向上的旋转角度和在另一时间收听者头部在旋转方向上的旋转角度之间的差的旋转矩阵以及在另一时间在旋转方向上的旋转运算的运算结果,执行在预定时间在旋转方向上的旋转运算。
(4)根据(3)所述的信号处理装置,其中,所述旋转运算单元仅对具有在预定范围内的阶数的元素执行旋转运算,作为阶数受到限制的运算。
(5)根据(3)或(4)所述的信号处理装置,其中,对于作为旋转方向的仰角方向,所述旋转运算单元利用旋转运算在另一时间在旋转方向上的运算结果,来执行在预定时间在旋转方向上的旋转运算。
(6)根据(3)至(5)中任一项所述的信号处理装置,其中,
在没有执行旋转矩阵的重置的情况下,所述旋转运算单元利用在另一时间在旋转方向上的旋转运算的运算结果,来执行在预定时间在旋转方向上的旋转运算,并且
在执行旋转矩阵的重置的情况下,所述旋转运算单元基于对应于在预定时间收听者头部在旋转方向上的旋转角度的旋转矩阵以及头部相关传递函数,执行在预定时间在旋转方向上的旋转运算。
(7)根据(6)所述的信号处理装置,其中,针对每个度数、每个阶数或每个时间频率执行重置。
(8)根据(6)或(7)所述的信号处理装置,其中,在为多个收听者中的每个收听者生成耳机驱动信号的情况下,为每个收听者执行重置。
(9)根据(6)至(8)中任一项所述的信号处理装置,其中,在执行重置的情况下,所述旋转运算单元使用预先确定的旋转矩阵来执行旋转运算,所述预先确定的旋转矩阵是与收听者头部在预定时间在旋转方向上的旋转角度对应的旋转矩阵。
(10)根据(1)至(9)中任一项所述的信号处理装置,其中,在包括在对应于头部旋转的旋转矩阵中的用于执行向预定旋转方向的旋转的旋转矩阵由多个矩阵的总和表示的情况下,所述旋转运算单元使用所述多个矩阵中的一些矩阵的总和,作为用于执行向预定旋转方向的旋转的旋转矩阵,来执行旋转所述头部相关传递函数的运算,作为阶数受限制的运算。
(11)一种信号处理方法,包括以下步骤:
通过基于对应于收听者头部旋转的旋转矩阵的运算来旋转球形谐波域中的头部相关传递函数,在该运算中旋转矩阵的阶数受到限制;以及
合成通过运算获得的旋转后的头部相关传递函数和球形谐波域的声音信号,以生成耳机驱动信号。
(12)一种使计算机执行处理的程序,所述处理包括以下步骤:
通过基于对应于收听者头部旋转的旋转矩阵的运算来旋转球形谐波域中的头部相关传递函数,在该运算中旋转矩阵的阶数受到限制;以及
合成通过运算获得的旋转后的头部相关传递函数和球形谐波域的声音信号,以生成耳机驱动信号。
符号说明
11:音频处理器
21:头部旋转传感器单元
22:先前方向保存单元
23:旋转矩阵运算单元
24:旋转运算单元
25:旋转系数保存单元
26:头部相关传递函数保存单元
27:头部相关传递函数合成单元
28:时频逆变换单元。

Claims (12)

1.一种信号处理装置,包括:
旋转运算单元,通过基于对应于收听者头部旋转的旋转矩阵的运算来旋转球形谐波域中的头部相关传递函数,在该运算中旋转矩阵的阶数受到限制;以及
合成单元,合成通过运算获得的旋转后的头部相关传递函数和所述球形谐波域的声音信号,以生成耳机驱动信号。
2.根据权利要求1所述的信号处理装置,其中,对于所述头部相关传递函数在至少一个旋转方向上的旋转运算,所述旋转运算单元利用在预定时间之前的另一时间的所述旋转方向上的旋转运算的运算结果,来执行在所述预定时间的所述旋转运算,以确定在所述预定时间的旋转之后的头部相关传递函数。
3.根据权利要求2所述的信号处理装置,其中,所述旋转运算单元基于对应于在所述预定时间收听者头部在旋转方向上的旋转角度和在另一时间收听者头部在旋转方向上的旋转角度之间的差的旋转矩阵以及在另一时间在旋转方向上的旋转运算的运算结果,执行在所述预定时间在旋转方向上的旋转运算。
4.根据权利要求3所述的信号处理装置,其中,所述旋转运算单元仅对具有在预定范围内的阶数的元素执行旋转运算,作为所述阶数受到限制的运算。
5.根据权利要求3所述的信号处理装置,其中,对于作为旋转方向的仰角方向,所述旋转运算单元利用旋转运算在另一时间在旋转方向上的运算结果,来执行在所述预定时间在旋转方向上的旋转运算。
6.根据权利要求3所述的信号处理装置,其中,
在没有执行旋转矩阵的重置的情况下,所述旋转运算单元利用在另一时间在旋转方向上的旋转运算的运算结果,来执行在所述预定时间在旋转方向上的旋转运算,并且
在执行旋转矩阵的重置的情况下,所述旋转运算单元基于对应于在所述预定时间收听者头部在旋转方向上的旋转角度的旋转矩阵以及头部相关传递函数,执行在所述预定时间在旋转方向上的旋转运算。
7.根据权利要求6所述的信号处理装置,其中,针对每个度数、每个阶数或每个时间频率执行重置。
8.根据权利要求6所述的信号处理装置,其中,在为多个收听者中的每个收听者生成耳机驱动信号的情况下,为每个收听者执行重置。
9.根据权利要求6所述的信号处理装置,其中,在执行重置的情况下,所述旋转运算单元使用预先确定的旋转矩阵来执行旋转运算,所述预先确定的旋转矩阵是与收听者头部在预定时间在旋转方向上的旋转角度对应的旋转矩阵。
10.根据权利要求1所述的信号处理装置,其中,在包括在对应于头部旋转的旋转矩阵中的用于执行向预定旋转方向的旋转的旋转矩阵由多个矩阵的总和表示的情况下,所述旋转运算单元使用所述多个矩阵中的一些矩阵的总和,作为用于执行向预定旋转方向的旋转的旋转矩阵,来执行旋转所述头部相关传递函数的运算,作为阶数受限制的运算。
11.一种信号处理方法,包括以下步骤:
通过基于对应于收听者头部旋转的旋转矩阵的运算来旋转球形谐波域中的头部相关传递函数,在该运算中旋转矩阵的阶数受到限制;以及
合成通过运算获得的旋转后的头部相关传递函数和所述球形谐波域的声音信号,以生成耳机驱动信号。
12.一种使计算机执行处理的程序,所述处理包括以下步骤:
通过基于对应于收听者头部旋转的旋转矩阵的运算来旋转球形谐波域中的头部相关传递函数,在该运算中旋转矩阵的阶数受到限制;以及
合成通过运算获得的旋转后的头部相关传递函数和所述球形谐波域的声音信号,以生成耳机驱动信号。
CN201880043827.7A 2017-07-05 2018-06-21 信号处理装置和方法以及计算机可读存储介质 Active CN110832884B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017-132187 2017-07-05
JP2017132187 2017-07-05
PCT/JP2018/023557 WO2019009085A1 (ja) 2017-07-05 2018-06-21 信号処理装置および方法、並びにプログラム

Publications (2)

Publication Number Publication Date
CN110832884A true CN110832884A (zh) 2020-02-21
CN110832884B CN110832884B (zh) 2022-04-08

Family

ID=64949936

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880043827.7A Active CN110832884B (zh) 2017-07-05 2018-06-21 信号处理装置和方法以及计算机可读存储介质

Country Status (5)

Country Link
US (1) US11252524B2 (zh)
EP (1) EP3651480A4 (zh)
JP (1) JP7115477B2 (zh)
CN (1) CN110832884B (zh)
WO (1) WO2019009085A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220159402A1 (en) * 2019-03-28 2022-05-19 Sony Group Corporation Signal processing device and method, and program

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6021206A (en) * 1996-10-02 2000-02-01 Lake Dsp Pty Ltd Methods and apparatus for processing spatialised audio
US20130064375A1 (en) * 2011-08-10 2013-03-14 The Johns Hopkins University System and Method for Fast Binaural Rendering of Complex Acoustic Scenes
EP2612322A4 (en) * 2010-10-05 2013-08-14 Huawei Tech Co Ltd METHOD AND DEVICE FOR CODING / DECODING MULTI-CHANNEL TONE SIGNALS
WO2014012944A1 (en) * 2012-07-16 2014-01-23 Thomson Licensing Method and apparatus for encoding multi-channel hoa audio signals for noise reduction, and method and apparatus for decoding multi-channel hoa audio signals for noise reduction
CN103888889A (zh) * 2014-04-07 2014-06-25 北京工业大学 一种基于球谐展开的多声道转换方法
US20140355766A1 (en) * 2013-05-29 2014-12-04 Qualcomm Incorporated Binauralization of rotated higher order ambisonics
CN105027199A (zh) * 2013-03-01 2015-11-04 高通股份有限公司 在位流中指定球谐系数和/或高阶立体混响系数
WO2016172591A1 (en) * 2015-04-24 2016-10-27 Dolby Laboratories Licensing Corporation Augmented hearing system
CN106331977A (zh) * 2016-08-22 2017-01-11 北京时代拓灵科技有限公司 一种网络k歌的虚拟现实全景声处理方法
CN106454686A (zh) * 2016-08-18 2017-02-22 华南理工大学 一种基于体感摄像头的多通路环绕声动态双耳重放方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9794712B2 (en) * 2014-04-25 2017-10-17 Dolby Laboratories Licensing Corporation Matrix decomposition for rendering adaptive audio using high definition audio codecs
US9767618B2 (en) * 2015-01-28 2017-09-19 Samsung Electronics Co., Ltd. Adaptive ambisonic binaural rendering
US10595148B2 (en) * 2016-01-08 2020-03-17 Sony Corporation Sound processing apparatus and method, and program
US10979843B2 (en) * 2016-04-08 2021-04-13 Qualcomm Incorporated Spatialized audio output based on predicted position data

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6021206A (en) * 1996-10-02 2000-02-01 Lake Dsp Pty Ltd Methods and apparatus for processing spatialised audio
EP2612322A4 (en) * 2010-10-05 2013-08-14 Huawei Tech Co Ltd METHOD AND DEVICE FOR CODING / DECODING MULTI-CHANNEL TONE SIGNALS
US20130064375A1 (en) * 2011-08-10 2013-03-14 The Johns Hopkins University System and Method for Fast Binaural Rendering of Complex Acoustic Scenes
WO2014012944A1 (en) * 2012-07-16 2014-01-23 Thomson Licensing Method and apparatus for encoding multi-channel hoa audio signals for noise reduction, and method and apparatus for decoding multi-channel hoa audio signals for noise reduction
CN105027199A (zh) * 2013-03-01 2015-11-04 高通股份有限公司 在位流中指定球谐系数和/或高阶立体混响系数
US20140355766A1 (en) * 2013-05-29 2014-12-04 Qualcomm Incorporated Binauralization of rotated higher order ambisonics
JP2016523467A (ja) * 2013-05-29 2016-08-08 クゥアルコム・インコーポレイテッドQualcomm Incorporated 回転された高次アンビソニックスのバイノーラル化
CN103888889A (zh) * 2014-04-07 2014-06-25 北京工业大学 一种基于球谐展开的多声道转换方法
WO2016172591A1 (en) * 2015-04-24 2016-10-27 Dolby Laboratories Licensing Corporation Augmented hearing system
CN106454686A (zh) * 2016-08-18 2017-02-22 华南理工大学 一种基于体感摄像头的多通路环绕声动态双耳重放方法
CN106331977A (zh) * 2016-08-22 2017-01-11 北京时代拓灵科技有限公司 一种网络k歌的虚拟现实全景声处理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GRIFFIN D: "Efficient Real Spherical Harmonic Representation of Head-Related Transfer Functions", 《IEEE JOURNAL OF SELECTED TOPICS IN SIGNAL PROCESSING》 *
龚惠哲: "Ambisonic声重发系统的优化改进", 《中国博士学位论文全文数据库 工程科技Ⅱ辑》 *

Also Published As

Publication number Publication date
JPWO2019009085A1 (ja) 2020-04-30
US11252524B2 (en) 2022-02-15
WO2019009085A1 (ja) 2019-01-10
JP7115477B2 (ja) 2022-08-09
EP3651480A1 (en) 2020-05-13
EP3651480A4 (en) 2020-06-24
US20210144504A1 (en) 2021-05-13
CN110832884B (zh) 2022-04-08

Similar Documents

Publication Publication Date Title
AU2019201900B2 (en) Method and device for rendering an audio soundfield representation for audio playback
AU2016283182B2 (en) Device, method, and program for processing sound
US20190069110A1 (en) Fast and memory efficient encoding of sound objects using spherical harmonic symmetries
JP2019047478A (ja) 音響信号処理装置、音響信号処理方法および音響信号処理プログラム
US10595148B2 (en) Sound processing apparatus and method, and program
JP6834985B2 (ja) 音声処理装置および方法、並びにプログラム
CN108476365B (zh) 音频处理装置和方法以及存储介质
WO2021106613A1 (ja) 信号処理装置および方法、並びにプログラム
CN110832884B (zh) 信号处理装置和方法以及计算机可读存储介质
KR20210076042A (ko) 바이노럴 라우드스피커의 지향성을 보상하는 방법
CN110583030B (zh) 不相干幂等高保真度立体声响复制渲染
WO2020196004A1 (ja) 信号処理装置および方法、並びにプログラム
WO2019168083A1 (ja) 音響信号処理装置、音響信号処理方法および音響信号処理プログラム
CN115955622A (zh) 针对在麦克风阵列之外的位置的麦克风阵列所捕获的音频的6dof渲染
CN110637466A (zh) 扬声器阵列与信号处理装置
WO2021038782A1 (ja) 信号処理装置、信号処理方法および信号処理プログラム
CN115167803A (zh) 一种音效的调节方法、装置、电子设备及存储介质
CN116193196A (zh) 虚拟环绕声渲染方法、装置、设备及存储介质

Legal Events

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