声源定向信息的编解码方法和系统的制作方法

文档序号:2832080阅读:217来源:国知局
专利名称:声源定向信息的编解码方法和系统的制作方法
技术领域
本发明涉及音频数据的编解码技术,特别涉及一种声源定向信息的编码方法、一种声源定向信息的解码方法、一种声源定向信息的编解码方法、以及一种声源定向信息的编解码系统。

背景技术
在现有的某些监控场景中,通常会在监控前端利用麦克风阵列来采集音频多声道数据,然后利用麦克风阵列算法对音频多声道数据进行去噪、定位等处理,得到音频单声道数据和声源定向信息。
此后,即可基于现有的音频压缩编码标准,将音频单声道数据压缩编码、并生成码流后传输至监控后端,并由监控后端解码后播放。而声源定向信息则可供监控后端进行声源定位,用来控制监控场景中的摄像头转动和/或移动,以实现对监控目标的跟踪。
然而,现有的音频压缩编码标准并不支持在码流中传输声源定向信息,从而使得声源定向信息无法由监控前端传输至监控后端。
为了解决上述问题,现有技术则直接将麦克风阵列采集的音频多声道数据压缩编码、并生成码流后传输至监控后端,并由监控解码后利用麦克风阵列算法对音频多声道数据进行去噪、定位等处理,以得到声源定向信息。
但由于多声道音频数据中各声道的相位关系会在监控前端的压缩编码过程中被破坏,从而使得监控后端无法获得准确的声源定向信息,进而无法实现准确的声源定位。


发明内容
有鉴于此,本发明提供了一种声源定向信息的编码方法、一种声源定向信息的解码方法、一种声源定向信息的编解码方法、以及一种声源定向信息的编解码系统,能够支持声源定位准确度的提高。
本发明提供的一种声源定向信息的编码方法,所述声源定向信息包括各音频数据帧对应的任意方向上的角度信息,该编码方法包括 c1、将当前帧所对应的每个方向的角度信息分别与前一帧中对应的同一方向的角度信息进行差分运算,得到每个方向的第三差分运算结果; c20、判断每个方向的第三差分运算结果的取值是否位于预定的角度范围之外,如果是,则顺序执行步骤c21和步骤c31;否则,顺序执行步骤c22和步骤c32; c21、设定该方向对应的编码级别为第一编码级别,利用第一级角度精度量化该方向的第三差分运算结果,得到该方向的第四差分运算结果、并将该方向的第四差分运算结果确定为该方向角度信息编码后的结果; c31、利用第四差分运算结果、第一级角度精度、以及前一帧中对应方向的角度信息,更新当前帧中对应方向的角度信息,以补偿量化第四差分运算结果时产生的误差、并供编码下一帧对应方向的角度信息时使用; c22、设定该方向对应的编码级别为第二编码级别,利用第二级角度精度量化该方向的第三差分运算结果,得到该方向的第五差分运算结果、并将该方向的第五差分运算结果确定为该方向角度信息编码后的结果; c32、利用第五差分运算结果、第二级角度精度、以及前一帧中对应方向的角度信息,更新当前帧中对应方向的角度信息,以补偿量化第五差分运算结果时产生的误差、并供编码下一帧对应方向的角度信息时使用; 其中,第二级角度精度大于等于1且小于第一级角度精度。
本发明提供的一种声源定向信息的解码方法,所述声源定向信息包括各音频数据帧对应的任意方向上的角度信息,每一方向角度信息编码后的结果分别具有对应的编码级别,且该解码方法包括 如果当前帧中的任一方向对应第一编码级别,则利用第一级角度精度、以及在前一帧中解码得到的该方向角度信息,对当前帧中该方向角度信息编码后的结果进行解码,得到当前帧中该方向的角度信息; 如果当前帧中的任一方向对应第二编码级别,则利用第二级角度精度、以及在前一帧中解码得到的该方向角度信息,对当前帧中该方向角度信息编码后的结果进行解码,得到当前帧中该方向的角度信息; 其中,第二级角度精度大于等于1且小于第一级角度精度。
本发明提供的一种声源定向信息的编解码方法,所述声源定向信息包括各音频数据帧对应的任意方向上的角度信息,该编解码方法先后包括如上所述的一种声源定向信息的编码方法的各步骤、以及如上所述的一种声源定向信息的解码方法的各步骤。
本发明提供的一种声源定向信息的编解码系统,所述声源定向信息包括各音频数据帧对应的任意方向上的角度信息,且该编解码系统包括相连的编码器和解码器,所述编码器,用于执行如上所述的一种声源定向信息的编码方法的各步骤对应的操作;所述解码器,用于执行如上所述的一种声源定向信息的解码方法的各步骤对应的操作。
由上述技术方案可见,本发明可以将当前帧所对应的每个方向的角度信息分别与前一帧中对应的同一方向的角度信息进行差分运算,得到每个方向的第一差分运算结果;然后对取值过大的差分运算结果进行低精度的量化处理,对于取值较小的差分运算结果进行高精度的量化处理,从而实现对声源定向信息的编码。如此一来,只要将声源定向信息编码后携带于当前帧的头语法结构中即可随码流传输,从而实现准确的声源定位。且对于取值过大的差分运算结果,本发明还可补偿量化该方向的差分运算结果时产生的误差。



图1为本发明实施例中声源定向信息包括的水平和垂直角度的示意图; 图2为本发明实施例中压缩编解码方法的示例性流程图; 图3为本发明实施例中压缩编解码系统的示例性结构图。

具体实施例方式 为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
基于现有的音频压缩编码标准,音频单声道数据在压缩编码后形成的码流中通常会划分为若干个帧,且现有的音频压缩编码标准中又为每一帧都定义了用于携带例如编码模式、采样频率、通道数、码率等码流信息的头语法结构,因此,在本发明实施例中仍然对音频单声道数据压缩编码以形成码流,同时还将声源定向信息进行编码后,添加至码流中任意一帧或多帧的头语法结构内,以实现在码流中嵌入声源定向信息,并使得声源定向信息能够随码流传输。如此一来,只要在解码时从头语法结构中解析得到声源定向信息的相关语法,即可获得每帧音频单声道数据对应的声源定向信息。
考虑到在实际应用中,并不是任何监控场景都需要传递声源定位信息的,即便需要传递也不一定必须在每一帧的头语法结构内均添加编码后的声源定向信息,因此,本发明实施例中可进一步在头语法结构中添加声源定向标志,以表示该头语法结构中是否有声源定向信息。在解码时,可以首先判断该声源定向标志是否表示头语法结构中有声源定向信息,如果是,再执行对声源定向信息的解码,否则,即可跳过对声源定位信息解码的操作。
进一步地,考虑到实际应用中,还存在连续多帧中的音频单声道数据对应相同或相近似的声源定向信息,因此,本发明实施例为了减少在码流中嵌入的声源定向信息数据量、以进一步节省码流传输带宽,可以在上述连续多帧的第一帧的头语法结构中,将声源定向标志设置为表示头语法结构中有声源定向信息的有效值,并在第一帧的头语法结构中添加压缩编码后的声源定向信息,而在除第一帧之外的后续所有帧的头语法结构中,将声源定向标志设置为表示头语法结构中无声源定向信息的无效值,且不将上述的声源定向信息压缩编码后添加至后续所有帧的头语法结构中。
在本发明实施例中,声源定向信息可以包括水平方向角度信息和/或垂直方向角度信息。水平方向角度也可称为水平方位角,在本文中表示为如图1所示的α;垂直方向角度也可称为垂直仰俯角,在本文中表示为如图1所示的β。在图1中,三位坐标轴的原点位于麦克风阵列的中心位置、X轴沿麦克风阵列的正前方向延伸、Y轴沿麦克风阵列的左侧方向延伸、Z轴沿麦克风阵列的正上方向延伸,α在逆时针方向为正、β向上为正,α和β的取值范围均为0~359度。
这样,声源定向信息在压缩编码后添加至头语法结构中的语法格式可如下所示 { 声源定向标志; 如果声源定向标志有效,则存在 { 水平方向角度信息编码后的结果; 垂直方向角度信息编码后的结果; } } 当然,声源定向信息内还可以包含其它任意方向的角度信息。由于无论是何种方向的角度信息,对其编码的原理均相同,因此,下文中就均以声源定向信息包含如图1所示的水平方向角度信息α和垂直方向角度信息β为例进行说明。
实际应用中,对于如上所列举的声源定向信息的编码方式及对应的解码方式可以为多种,以下举三种编解码方式予以说明 1)声源定向信息的编码方式一 a1、将水平方向角度信息α和垂直方向角度信息β除以预设的编码角度分辨率δ,得到两个N比特(N为正整数)的二进制数、即编码后的水平方向角度信息

和编码后的垂直方向角度信息

以实现对声源定向信息的编码。该编码过程可以表示为

其中,N的取值满足

或更进一步地具体满足
a2、可选地,进一步对N比特二进制数、即压缩编码后得到的



补零,以使得嵌入有补零后的N比特二进制数、即补零后的



的头语法结构为整数字节。
以下分别以10度、5度和1度的编码角度分辨率δ为例进一步说明 当编码角度分辨率δ为10度时,水平方向角度信息α和垂直方向角度信息β分别以6比特进行压缩编码、即N取6,其有效范围为0~36度。假设,55度或60度的α和β经压缩编码后得到的



表示为“000110”。
当编码角度分辨率δ为5度时,水平方向角度信息α和垂直方向角度信息β分别以7比特进行压缩编码、即N取7,其有效范围为0~72度。假设,55度的α和β经编码后得到的



表示为“0001011”,而60度的α和β经编码后得到的



表示为“0001100”。
当编码角度分辨率δ为1度时,水平方向角度信息α和垂直方向角度信息β分别以9比特进行压缩编码、即N取9,其有效范围为0~359度。假设,55度的α和β经编码后得到的



表示为“000110111”,而60度的α和β经编码后得到的



表示为“000111100”。
将水平方向角度信息α和垂直方向角度信息β按照编码方式一编码后,添加至头语法结构中的语法格式可如下所示 { 声源定向标志; 如果声源定向标志有效,则存在 {

} } 相应地,编码方式一对应的解码方式一即可表示为 其中,α′为解码后的水平方向角度信息、β′解码后的垂直方向角度信息。
如上所述,水平方向角度信息α和垂直方向角度信息β可以6、7、9等非整数字节的比特进行压缩编码,那么在这种情况下,将压缩编码后得到的



添加至头语法结构中,就有可能导致头语法结构为非整数字节。而非整数字节的头语法结构则易增加解码处理的负担。对于编码得到的6、7、9比特的



对应的补零方式可分别参见表1~表3。

表1
表2
表3 2)声源定向信息的编码方式二、本文称其为差分跟踪编码方式。差分跟踪编码方式主要是利用码流中连续的前后帧所分别对应的声源定向信息之间的相关性,而不是如编码方式一那样保留声源定向信息本身的全部信息,这样可以进一步节省码流传输所占用的带宽;且差分跟踪编码方式在码字的最大取值不足以表示所述相关性的信息时,直接用码字的最大取值表示该相关性的信息,并在连续多帧中利用码字的最大取值实现对该相关性的信息的收敛。
差分跟踪编码方式的基本原理包括 b1、将当前帧所对应的每个方向的角度信息分别与前一帧中对应的同一方向的角度信息进行差分运算,得到每个方向的9比特的第一差分运算结果,且第一差分运算结果的最高位为符号位。其中,这里所述的9比特是为了保证0~359度之间的取值范围,当然,实际应用中也可采用10、11等大于9的比特数。本文后续所出现的9比特也是如此,即本文中出现的9比特实际均可替换为至少9比特。
对于包含水平方向角度信息α和垂直方向角度信息β的这种情况,将当前第i帧所对应的水平方向角度信息α(i)和垂直方向角度信息β(i)分别与前一帧第i-1帧所对应的水平方向角度信息α(i-1)和垂直方向角度信息β(i-1)进行差分运算,得到对应的9比特第一差分运算结果delta_α(i)和delta_β(i),i为大于1的正整数,第一差分运算结果delta_α(i)和delta_β(i)的取值范围在0~359度之间。其中,差分跟踪编码方式中的差分运算过程可以表示为 delta_α(i)=(α(i)-α(i-1))rem360,delta_β(i)=(β(i)-β(i-1))rem360; 其中,本文中所出现的“rem”均表示取余数运算。
此后,再将第一差分运算结果delta_α(i)和delta_β(i)的取值范围转换至±180度之间,并设定第一差分运算结果delta_α(i)和delta_β(i)的最高位为符号位。以水平方向角度信息的第一差分运算结果delta_α(i)为例,转换过程可表示为如果delta_α(i)>180,则delta_α(i)=delta_α(i)-360。
b2、为了减少第一差分运算结果的比特数、以节省码流所占用的带宽,利用预设的编码角度分辨率δ量化每个方向的第一差分运算结果,得到每个方向的M比特的第二差分运算结果,并可将每个方向的第二差分运算结果分别确定为该方向角度信息编码后的结果。第二差分运算结果的最高位为符号位,M为正整数、0<M<9,

δ为大于等于1的正整数。
实际应用中,可先判断每个方向的第一差分运算结果的取值是否足以用M比特表示,例如判断每个方向的第一差分运算结果的取值是否在±(2M-1-1)δ之间;如果任一方向的第一差分运算结果的取值足以用M比特表示、例如该方向的第一差分运算结果的取值在±(2M-1-1)δ之间,则计算该方向的第一差分运算结果除以编码角度分辨率δ的商,并将该商确定为该方向的第二差分运算结果;如果任一方向的第一差分运算结果的取值不足以用M比特表示、例如该方向的第一差分运算结果的取值大于(2M-1-1)δ或小于-(2M-1-1)δ,则将M比特所能够表示的极值确定为该方向的第二差分运算结果。
对于包含水平方向角度信息α和垂直方向角度信息β的这种情况,利用预设的编码角度分辨率δ量化第一差分运算结果delta_α(i)和delta_β(i),得到取值范围在±(2M-1-1)之间的量化后的水平方向的第二差分运算结果

和垂直方向的第二差分运算结果





即可分别作为水平方向角度信息编码后的结果和垂直方向角度信息编码后的结果添加至头语法结构中。
以水平方向角度信息的差分运算结果delta_α(i)为例,其对应的差分跟踪编码方式中的量化过程可以表示为 或者,该量化过程可以进一步简化地表示为 同理,垂直方向角度信息的差分运算结果delta_β(i)所对应的量化过程也是如此。
b3、基于上述量化方式,在编码角度分辨率δ大于1时,利用编码角度分辨率δ量化得到的每个方向的第二差分运算结果均会存在误差;在编码角度分辨率等于1时,取值位于±(2M-1-1)δ之外的第一差分运算结果经量化后会被直接赋值为±(2M-1-1)、因而也会存在误差。因此,对于存在误差的这两种情况,利用对应方向的第二差分运算结果、编码角度分辨率δ、以及前一帧中对应的该方向的角度信息,更新当前帧对应方向的角度信息,用以补偿量化该方向的第一差分运算结果时产生的误差、并供编码下一帧对应的该方向的角度信息时使用。
对于包含水平方向角度信息α和垂直方向角度信息β的这种情况,可利用量化后得到的第二差分运算结果

和/或

编码角度分辨率δ、以及前一帧对应的水平方向角度信息α(i-1)和垂直方向角度信息β(i-1),更新当前帧对应的水平方向角度信息α(i)和/或垂直方向角度信息β(i),以补偿量化delta_α(i)和/或delta_β(i)时产生的误差、并供编码下一帧对应的水平方向角度信息α(i+1)和垂直方向角度信息β(i+1)时使用。
以更新水平方向角度信息α(i)为例,差分跟踪编码方式中的更新过程可表示为 如果

的最高位为正,即如果
则更新
如果

的最高位为负,即如果
则更新
或者,该更新过程可以进一步简化地表示为 由于每一帧对应的水平方向角度信息α(i)和垂直方向角度信息β(i)均按照上述方式更新、以供编码下一帧对应的水平方向角度信息α(i+1)和垂直方向角度信息β(i+1)时使用,因而如前所述的误差不会累积。
将水平方向角度信息α和垂直方向角度信息β按照编码方式二、即差分跟踪方式编码后,添加至头语法结构中的语法格式均可如下所示 { 声源定向标志; 如果声源定向标志有效,则存在 { } } 相应地,差分跟踪编码方式、即编码方式二对应的解码方式二即可利用编码角度分辨率δ、以及在前一帧中解码得到的每一方向的角度信息,分别对当前帧中同一方向的M比特的第二差分运算结果进行解码,得到当前帧中每个方向的角度信息。
以水平方向角度信息编码后的结果

为例,差分跟踪编码方式、即编码方式二对应的解码方式二则利用编码角度分辨率δ、以及在前一帧中解码得到的水平方向角度信息α(i-1)′,对该

解码得到当前帧中的水平方向角度信息α(i)′,具体表示为 如果

的最高位为正,即如果
则解码后的水平方向角度信息
如果

的最高位为负,即如果
则解码后的水平方向角度信息
或者,该解码方式二可以进一步简化地表示为 解码后的水平方向角度信息
当然,为了便于解码端的定位,上述解码方式二也可设定解码得到的每一方向的角度信息的取值范围在±180度之间。
如前所述,由于编码时可利用前述更新过程来消除误差的累积,且解码时也会基于该更新过程的原理、同时利用量化后的差分运算结果


及前一帧解码得到的水平方向角度信息α(i-1)′进行解码,因而最多只需要

帧即可实现解码得到准确角度信息的收敛。其中,编码角度分辨率δ越大,如前所述的误差就会越大,但收敛速度会越快、即T越小。
而且,解码方式二的基本原理与编码方式二中更新过程的基本原理相同,因而编码方式二中的更新过程可看作是与解码端的同步。
以下,对于上述差分跟踪方式的编解码过程,以水平方向角度信息编码后的结果

为例,假设编码角度分辨率δ取5、M取4(可以使得水平方向和垂直方向编码后的结果总共只占1个字节),并举一实例进行说明。
先将当前帧所对应的水平方向角度信息α(i)与前一帧所对应的水平方向角度信息α(i-1)进行差分运算,且α(i-1)的最高位为符号位。
然后量化差分运算结果delta_α(i),得到取值范围在±7之间的量化后的水平方向差分运算结果
再利用量化后的差分运算结果

以及前一帧对应的水平方向角度信息α(i-1),更新当前帧对应的水平方向角度信息α(i) 此后,即可按照

进行解码,并经

帧即可实现解码得到准确角度的收敛。
需要说明的是,在进行差分运算时将第一差分运算结果的取值范围转换至±180度之间,并设定第一差分运算结果的最高位为符号位、以及第二差分运算结果的最高位为符号位,主要为了解码端在解码后能够更快捷地实现准确定位。假设编码角度分辨率δ取5、M取4,任一方向的第一差分运算结果为350度,那么对应的第二差分运算结果就只有7度,解码端解码后就只能在正方向上旋转35度,如此一来就需要10帧才能够实现收敛;而如果将第一差分运算结果量化在±180度之间,仍假设编码角度分辨率δ取5、M取4,任一方向350度的第一差分运算结果就会变为-10度,那么对应的第二差分运算结果就也是-2度,解码端解码后就直接在负方向上旋转10度即可实现准确定位,从而无需后续帧的收敛。
此外,更优地,考虑到差分跟踪编码方式如b2所述的前述量化过程的具体实现方式中,00...00、10...00分别表示正负0度,显然浪费了可用于编码的码字,因此,在本发明实施例中,差分跟踪编码方式可采用另一种量化过程的具体实现方式予以替换。
另一种量化过程的具体实现方式利用10...00、即2M-1表示180度,如果任一方向的第一差分运算结果的取值不足以用M比特表示,且该方向的第一差分运算结果未接近±180度,则将M比特所能够表示的极值确定为该方向的M比特的第二差分运算结果;如果任一方向的第一差分运算结果的取值不足以用M比特表示,且该方向的第一差分运算结果接近±180度,则将表示180度的特殊码字2M-1确定为该方向的M比特的第二差分运算结果。
对于包含水平方向角度信息α和垂直方向角度信息β的这种情况,在量化过程中将接近±180度的delta_α(i)和delta_β(i)量化为表示180度的10...00。这样,相比于将接近±180度的delta_α(i)和delta_β(i)量化为±(2M-1-1)度的前述量化过程,将接近±180度的delta_α(i)和delta_β(i)量化为表示180度的10...00所产生的误差更小,从而使得收敛速度更快。
具体来说,以水平方向角度信息的差分运算结果delta_α(i)为例,将绝对值大于预设的极限角度γ确定为接近±180度、γ≥90,那么将接近±180度的delta_α(i)和delta_β(i)量化为表示180度的10...00的另一种量化过程的具体实现方式可表示为 或者,该量化过程可以进一步简化地表示为 同理,垂直方向角度信息的差分运算结果delta_β(i)所对应的另一种量化过程的具体实现方式也是如此。
仍假设编码角度分辨率δ取5、M取4,并假设γ取90度,且以水平方向角度信息的差分运算结果delta_α(i)为例,则另一种量化过程的具体实现方式可表示为 本发明实施例中的差分跟踪编码方式相比于编码方式一,均具有如下优势 当某个声源发声并移动时,短时间间隔内的移动角度通常都较小,只有当另一个位置的声源发声、并取代这个声源时,才会发生大角度的跳转。因此,无论采用哪一种量化过程,即便将delta_α(i)和delta_β(i)的取值范围量化在±(2M-1-1)之间,在绝大多数情况下仍能够在解码端立即获得准确的角度信息,只有发生上述大角度的跳转时,才处于跟踪收敛状态,且这个收敛速度很快。如此一来,在不影响声源定位信息准确度的情况下,差分跟踪编码方式相比于编码方式一能够减少码流所占的带宽。
且编码方式一所需要的比特数取决于角度的大小,角度越大则需要的码字比特数越多,例如对于±(2M-1-1)δ角度范围之外的角度,编码方式一需要的码字比特数一定大于M,那么为了统一所有角度所需码字的码字比特数、以保证恒定的码率,编码方式一只能够按照角度的最大取值来设定码字的比特数,从而需要的码字比特数会比较多。因此,差分跟踪编码方式相比于编码方式一能够减少码字的比特数,从而减少码流所需带宽。进一步地,当M取4、且不设置声源定向标志时,水平方向和垂直方向编码后的结果总共只占1个字节。
可选地,考虑到跟踪收敛时解码得到的角度信息并不准确,解码端可以将其认为是一个过渡结果并丢弃,表示跟踪收敛状态时的过渡结果的码字包括±(2M-1-1)、2M-1。解码端可等到出现其他码字时,再获取准确的角度信息。
3)编码方式三,本文称其为差分分级编码方式。差分分级编码方式也利用码流中连续的前后帧所分别对应的声源定向信息之间的相关性,而不是如编码方式一那样保留声源定向信息本身的全部信息,这一点与差分跟踪编码方式基本相同。但与差分跟踪编码方式的不同之处在于,差分分级编码方式在在预定比特的码字不足以表示所述相关性的信息时,降低码字所表示的角度精度以通过第一编码级别实现粗定位,并在后续帧中恢复码字所表示的角度精度、以通过第二编码级别实现精定位。
较佳地,可设置Q与q相等,以使得第一编码级别和第二编码级别的码率相同;如果Q与q不相等,但却仍需要保证第一编码级别和第二编码级别的码率相同,则可在Q大于q时,进一步对第一编码级别的q比特码字补相应数量个0、或表示其他信息的相应数量比特;在Q小于q时,进一步对第二编码级别的Q比特码字补相应数量个0、或表示其他信息的相应数量比特。
具体来说,对于差分分级编码方式,可将360度等分为P个单位角度区间,每个单位角度区间包括

度,且对于预定的Q比特,2q-1<P<2q,P为可被360整除的正整数,


较佳地,P的取值应尽可能接近2q,和/或

尽可能接近(2Q-1×θ),以更充分地利用第一编码级别的q比特码字、以及第二编码级别的Q比特码字。
其中,P个单位角度区间的取值、即

度,可看作是第一编码级别对应的第一级角度精度,那么在第一编码级别的编码过程中,即可利用

度的第一级角度精度,对位于±(2Q-1×θ)角度范围之外的差分运算结果量化处理至0~P的取值范围内,以使得量化得到的q比特足以表示差分运算结果中的所述相关性的信息,用以实现粗定位。
相应地,每个单位角度区间内任意大小的角度θ则可看作第二编码级别对应的第二级角度精度,在第二编码级别的编码过程中,只需将位于±(2Q-1×θ)角度范围之内的差分运算结果,按照取值大于等于1度且小于

度的第二级角度精度θ量化处理至±2Q-1的取值范围内,以使得量化得到的Q比特足以表示差分运算结果中的所述相关性的信息,用以实现精定位。只要

那么第一编码级别有可能产生的量化误差最大绝对值

就不会导致无法进入第二编码级别的状态。
实际应用中,第二级角度精度θ的具体取值还可以参考P、q、Q的取值、以及实际需要来选定。假设P取30、q取5,如果需要Q与q相同也取5,则需要选定第二级角度精度θ取1;又假设P取30、q取5,如果需要Q小于q并取4,则需要选定第二级角度精度θ取2;再假设P取12、q取4,如果需要Q与q相同也取4,则需要选定第二级角度精度θ取5。也就是说,在进一步满足的

情况下,可使得Q与q相等。较佳地,第二级角度精度θ取1,这样可以最为充分地利用Q比特码字,以使得精定位的精确度最高。
上述差分分级编码方式的基本原理包括 c1、将当前帧所对应的每个方向的角度信息分别与前一帧中对应的同一方向的角度信息进行差分运算,得到每个方向的9比特(或至少9比特)的第三差分运算结果,且第三差分运算结果无符号位。
对于包含水平方向角度信息α和垂直方向角度信息β的这种情况,将当前第i帧所对应的水平方向角度信息α(i)和垂直方向角度信息β(i)分别与前一帧第i-1帧所对应的水平方向角度信息α(i-1)和垂直方向角度信息β(i-1)进行差分运算,得到对应的第三差分运算结果delta_α(i)和delta_β(i),i为大于1的正整数、且第三差分运算结果delta_α(i)和delta_β(i)的取值范围在0~359度之间。其中,差分跟踪编码方式中的差分运算过程可以表示为 delta_α(i)=(α(i)-α(i-1))rem360;delta_β(i)=(β(i)-β(i-1))rem360。
c2、判断每个方向的第三差分运算结果的取值是否位于预定的角度范围±(2Q-1×θ)之外,即是否足以用Q比特表示。实际应用中,可判断每个方向的第三差分运算结果的取值、以及360度与每个方向的第三差分运算结果之差是否均大于等于(2Q-1×θ),如果任一方向的第三差分运算结果的取值、以及360度与该个方向的第三差分运算结果之差均大于等于(2Q-1×θ),则表示该方向第三差分运算结果的取值位于预定的角度范围之外、不足以用Q比特表示;如果任一方向的第三差分运算结果的取值、或360度与该方向的第三差分运算结果之差小于(2Q-1×θ),则表示该方向第三差分运算结果的取值位于预定的角度范围之内、足以用Q比特表示。
如果任一方向的第三差分运算结果的取值位于预定的角度范围之外,则设定该方向对应的编码级别为表示粗定位的第一编码级别,并利用

度的第一级角度精度量化该方向的第三差分运算结果,例如量化为

度的倍数,得到该方向的q比特第四差分运算结果,并将该方向的第四差分运算结果确定为该方向角度信息编码后的结果,且第四差分运算结果无符号位。
如果任一方向的第三差分运算结果的取值位于预定的角度范围之内,则设定该方向对应的编码级别为表示粗定位的第二编码级别,并利用大于等于1且小于

度的第二级角度精度θ量化该方向的第三差分运算结果,得到该方向的Q比特第五差分运算结果,并将该方向的第五差分运算结果确定为该方向角度信息编码后的结果,第五差分运算结果的最高位为符号位。
对于包含水平方向角度信息α和垂直方向角度信息β、且Q比特最高位为符号位的这种情况,判断delta_α(i)、以及360度与delta_α(i)之差是否均大于等于(2Q-1×θ),并判断delta_β(i)、以及360度与delta_β(i)之差是否均大于等于(2Q-1×θ)。
如果delta_α(i)及360度与delta_α(i)之差、和/或delta_β(i)及360度与delta_β(i)之差均大于等于(2Q-1×θ),则表示该delta_α(i)和/或delta_β(i)位于±(2Q-1×θ)角度范围之外、且不足以用Q比特表示,因而设定该delta_α(i)和/或delta_β(i)对应的编码级别为表示粗定位的第一编码级别,并将该delta_α(i)和/或delta_β(i)量化为

度的倍数,以水平方向角度信息的第三差分运算结果delta_α(i)为例,该过程可表示为 Level_α(i)=1, delta_α(i)≥2Q-1×θ、360-delta_α(i)≥2Q-1×θ。
如果delta_α(i)和/或delta_β(i)小于2Q-1、或者360度与delta_α(i)和/或delta_β(i)之差小于(2Q-1×θ),则表示该delta_α(i)和/或delta_β(i)位于±(2Q-1×θ)角度范围内、且足以用Q比特表示,因而设定该delta_α(i)和/或delta_β(i)对应的编码级别为表示精定位的第二编码级别,并先利用第二级角度精度θ量化该delta_α(i)和/或delta_β(i),然后将该delta_α(i)和/或delta_β(i)量化结果的取值范围转换至±2Q-1角度范围之内、以使其最高位为符号位,从而得到作为编码后结果的第五差分运算结果

和/或
当delta_α(i)和/或delta_β(i)小于(2Q-1×θ)时,可以计算该

和/或

与第二级角度精度θ的商。以水平方向角度信息的差分运算结果delta_α(i)为例,该量化过程可表示为 Level_α(i)=0,delta_α(i)<2Q-1×θ。
对于第二级角度精度θ取1的一种特殊情况,该量化过程可以等效于直接将该delta_α(i)和/或delta_β(i)确定为作为编码后结果的第五差分运算结果

和/或
当360度与delta_α(i)之差小于(2Q-1×θ)时,可以计算该

和/或

与360度之差除以第二级角度精度θ的商。以水平方向角度信息的差分运算结果delta_α(i)为例,该量化过程可表示为 Level_α(i)=0,360-delta_α(i)<2Q-1×θ。
对于第二级角度精度θ取1的一种特殊情况,该量化过程可以等效于直接将该

和/或

与360度之差,确定为作为编码后结果的第五差分运算结果

和/或

以水平方向角度信息的差分运算结果delta_α(i)为例,等效的上述量化过程可表示为 360-delta_α(i)<2Q-1×θ。
同理,垂直方向角度信息的差分运算结果delta_β(i)所对应的量化过程也是如此。
c3、基于上述量化方式,第一编码级别利用

度进行量化,因而会产生误差,而当第二级角度精度θ大于1时,第二编码级别利用第二级角度精度θ进行量化也会产生误差。因此,为了补偿第一编码级别存在的误差,可利用对应方向的第四差分运算结果、第一级角度精度

度、以及前一帧中对应方向的角度信息,更新当前帧对应方向的角度信息,以供编码下一帧对应方向的角度信息时使用;为了补偿第二编码级别存在的误差,可利用对应方向的第五差分运算结果、第二级角度精度θ、以及前一帧中对应方向的角度信息,更新当前帧对应方向的角度信息,以供编码下一帧对应方向的角度信息时使用。
以更新水平方向角度信息α(i)为例,在使用第一编码级别时,差分分级编码方式中的更新过程可表示为 在使用第二编码级别时,差分分级编码方式中的更新过程可表示为 由于在使用第一编码级别时,每个方向的角度信息均可按照上述方式更新、以供编码下一帧对应方向的角度信息时使用,因而如前所述的误差不会累积。
假设P取30、Q取5、第二级角度精度θ取1、Q比特最高位为符号位,即将360度等分为30个单位角度区间,每个单位角度区间包括12度,并以水平方向角度信息α(i)为例,举一实例对编码方式三进行说明。
先将当前帧所对应的水平方向角度信息α(i)与前一帧所对应的水平方向角度信息α(i-1)进行差分运算。
然后判断delta_α(i)、以及360度与delta_α(i)之差是否均大于16。
如果delta_α(i)、以及360度与delta_α(i)之差均大于等于16,则表示该delta_α(i)位于±16角度范围之外,因而设定该delta_α(i)对应的编码级别为表示粗定位的第一编码级别并将delta_α(i)量化为12度的倍数,即 Level_α(i)=1, delta_α(i)≥16、360-delta_α(i)≥16; 且更新水平方向角度信息
如果delta_α(i)小于16,则表示该delta_α(i)位于±16角度范围内,因而设定该delta_α(i)对应的编码级别为表示精定位的第二编码级别,并直接将该delta_α(i)确定为编码后的结果

即 Level_α(i)=0, delta_α(i)<2Q-1。
如果360度与delta_α(i)之差小于16,则表示该delta_α(i)位于±16角度范围内,因而设定该delta_α(i)对应的编码级别为表示精定位的第二编码级别,并将delta_α(i)量化至±16的范围内,即 Level_α(i)=0, 360-delta_α(i)<16。
需要说明的是,第一编码级别的q比特码字的最高位也可以为符号位。那么此时,如果delta_α(i)及360度与delta_α(i)之差、和/或delta_β(i)及360度与delta_β(i)之差均大于等于2Q-1,则也需要将该delta_α(i)和/或delta_β(i)的取值范围转换至±2Q-1角度范围之内、以将该delta_α(i)和/或delta_β(i)的最高位设置为符号位;或者,由于第二编码级别也需要上述角度范围的转换,因而可在差分运算之后、判断第一编码级别和第二编码级别之前,统一对将delta_α(i)和delta_β(i)的取值范围转换至±2Q-1角度范围之内、以将delta_α(i)和delta_β(i)的最高位设置为符号位。
将水平方向角度信息α和垂直方向角度信息β按照编码方式三、即差分分级方式压缩后,其在编码后添加至头语法结构中的语法格式可如下所示 {声源定向标志;如果声源定向标志有效,则存在 {Level_α(i); Level_β(i); } } 相应地,差分分级编码方式、即编码方式三对应的解码方式三需要先判断每一方向角度信息编码后的结果分别对应的编码级别; 如果当前帧中的任一方向对应第一编码级别,则利用第一级角度精度、以及在前一帧中解码得到的该方向角度信息,对当前帧中该方向角度信息编码后的结果进行解码,得到当前帧中该方向的角度信息; 如果当前帧中的任一方向对应第二编码级别,则利用第二级角度精度、以及在前一帧中解码得到的该方向角度信息,对当前帧中该方向角度信息编码后的结果进行解码,得到当前帧中该方向的角度信息。
以水平方向角度信息编码后的结果

为例,差分分级编码方式、即编码方式三对应的解码方式三即可表示为 判断

所对应的编码级别。
如果

所对应的编码级别为表示粗定位的第一编码级别,则利用第一级角度精度

以及在前一帧中解码得到的水平方向角度信息α(i-1)′,对该

解码得到当前帧中的水平方向角度信息α(i)′,具体表示为 如果

所对应的编码级别为表示精定位的第二编码级别,则利用大于等于1且小于

度的第二级角度精度θ、以及在前一帧中解码得到的水平方向角度信息α(i-1)′,对该

解码得到当前帧中的水平方向角度信息α(i)′,具体表示为 当

的最高位为正、即

时, 解码后的水平方向角度信息


的最高位为负、即

时, 解码后的水平方向角度信息
或者,如果

所对应的编码级别为表示精定位的第二编码级别,该解码方式三可以进一步简化地表示为 解码后的水平方向角度信息
对于第二级角度精度θ取1的一种特殊情况,如果

所对应的编码级别为表示精定位的第二编码级别,则解码方式三可等效地表示为 解码后的水平方向角度信息
同理,垂直方向角度信息编码后的结果

所对应的解码过程也是如此。
而且,解码方式三的基本原理与编码方式三中更新过程的基本原理相同,因而编码方式三中的更新过程可看作是与解码端的同步。
本发明实施例中的差分分级编码方式相比于编码方式一和编码方式二,具有如下优势 当某个声源发声并移动时,短时间间隔内的移动角度通常都较小,即通常会采用基于第二级角度精度θ的第二编码级别实现精定位,而只有当另一个位置的声源发声、并取代这个声源时,才会发生大角度的跳转,并采用基于

度的第一级角度精度的第一编码级别。因此,在绝大多数情况下仍能够在解码端立即获得准确的角度信息,即便发生上述大角度的跳转、并采用第一编码级别实现粗定位,但后续只需要1帧的精定位即可实现收敛,收敛速度明显快于编码方式二。
假设P取30、Q取5、第二级角度精度θ取1,并假设 在0时刻,声源的水平方向角度α(0)=110、垂直方向角度β(0)=10; 在1时刻,声源位置移动,水平方向角度α(1)=115、垂直方向角度β(1)=5。
对应编解码方式三的编解码过程可以表示为 第一帧 在编码端,其前一帧的水平方向角度和垂直方向角度均为初始状态0,则delta_α(0)=(α(0)-0)rem360=110,delta_β(0)=(β(0)-0)rem360=10; 由于|delta_α(0)|>16、且360-|delta_α(0)|>16, 因此Level_α(0)=1,
并更新
由于|delta_β(0)|<16,因此Level_β(0)=0,
所以对于第一帧中头语法结构中添加的编码结果为 { { 1; 01001; 0; 01010; } } 在解码端,从第0帧的头语法结构中可以提取出 Level_α(0)=1,

Level_β(0)=1,
因而解码得到α(0)′=(0+12×9)rem(360)=108;β(0)′=(0+10)rem(360)=10。
可见,由于对水平方向的delta_α(0)采用了表示粗定位的第一编码级别,因而解码端得到的水平方向角度α(0)′存在-2度的误差。
第二帧 在编码端,其前一帧的水平方向角度α(0)=108、而不是更新前的原始值110,而垂直方向角度β(0)=10,则 delta_α(1)=(115-108)rem360=7,delta_β(1)=(5-10)rem360=-5; 由于|delta_α(1)|<16,因此Level_α(1)=0,
由于|delta_β(1)|<16,因此Level_β(1)=0,
所以对于第二帧中头语法结构中添加的编码结果为 { { 0; 00111; 0; 10101; } } 在解码端,从第二帧的头语法结构中可以提取出 Level_α(1)=0,
Level_β(1)=0,
因而解码得到α(1)′=(108+7)rem(360)=115;β(1)′=(10-5)rem(360)=5。
可见,由于在第一帧编码时,更新水平方向角度α(0)=108、而不是保持其原始值110,因而在粗定位之后再利用第二帧这一帧的精定位调整,即获得了准确的水平方向角度α(1)′,并将α(0)′存在-2度的误差消除。
而且,对于±2Q-1角度范围之外的角度,编码方式一需要的比特数大于Q,因而差分分级编码方式相比于编码方式一能够减少码流所需带宽。
可选地,考虑到第一编码级别后的角度信息并不准确,解码端可以将其认为是一个过渡结果并丢弃,并可等到出现其他码字时,再获取准确的角度信息。
以上是对本实施例中在码流中嵌入声源定向信息的方法、以及声源定向信息的各种具体编解码方法的详细说明,下面,再对本发明实施例的压缩编解码方法和系统进行详细说明。
图2为本发明实施例中压缩编解码方法的示例性流程图。如图2所示,本实施例中的压缩编解码方法包括 作为压缩编码方法的步骤201,对音频单声道数据进行压缩编码以形成码流,并在码流中各帧的头语法结构内添加码流信息的同时,还将声源定向信息编码后添加至所述码流任意一帧或多帧的头语法结构中。
本步骤中可采用如前所述的编码方式一、二、三中的任一方式对声源定向信息进行编码。本步骤中,还可以进一步在头语法结构中添加声源定向标志,以表示该头语法结构中是否有声源定向信息。
作为解码方法的步骤202,从码流中上述任意一帧或多帧的头语法结构内解码得到声源定向信息,并利用从该码流中各帧的头语法结构内解码得到的码流信息,解码得到各帧的音频单声道数据。
与步骤201相对应,本步骤中可采用如前所述的解码方式一、二、三中的任一方式对声源定向信息进行解码。且如果步骤201中在头语法结构中进一步添加了声源定向标志,则本步骤中在判断出声源定向标志表示头语法结构中有声源定向信息后,再执行对码流的头语法结构中解码的操作。
至此,本流程结束。
此后,由于声源定向信息进行编码后被添加至了音频单声道数据码流的头语法结构中,因而实现了将声源定向信息嵌入至码流中,以使得声源定向信息随码流传输。如此一来,如果将上述流程应用于监控场景中,由监控前端执行步骤201、监控后端执行步骤202,就无需在监控前端和监控后端之间传输或存储多声道音频数据的码流,从而避免了监控前端输出多声道音频数据的码流而使得监控后端难以获得准确声源定向信息的问题,而且还避免了多声道音频数据的码流传输或存储占用较大传输带宽或存储空间。
需要说明的是,对于头语法结构中还包括声源定向标志的情况,进一步地,在连续多帧中的音频单声道数据对应相同的声源定向信息时,为了减少在码流中嵌入的声源定向信息数据量、以进一步节省码流传输带宽,上述流程中的步骤201可以在上述连续多帧的第一帧的头语法结构中,将声源定向标志设置为表示头语法结构中有声源定向信息的有效值,并在第一帧的头语法结构中添加压缩编码后的声源定向信息,而在除第一帧之外的后续所有帧的头语法结构中,将声源定向标志设置为表示头语法结构中无声源定向信息的无效值,且不将上述的声源定向信息压缩编码后添加至后续所有帧的头语法结构中。
实际应用中,对于编解码方式一、二,还可以预先配置多种取值的编码角度分辨率δ,步骤201可任选其中一种对α和β进行压缩编码。此时,为了在步骤202进行解码时,能够获知步骤201所依据的编码角度分辨率δ取值,在步骤201可以进一步在头语法结构中添加对应的编码角度分辨率标记,如此一来,步骤202先依据编码角度分辨率标记识别出步骤201所依据的编码角度分辨率δ取值,然后再执行后续处理。
图3为本发明实施例中压缩编解码系统的示例性结构图。如图3所示,以本实施例中的压缩编解码系统应用于监控系统为例,该压缩编解码系统包括编码器301和解码器302。
其中,编码器301设置于视频监控系统的监控前端310中,且监控前端310中的麦克风阵列311、麦克风阵列算法单元312与编码器301顺序串联;解码器302则设置于视频监控系统的监控后端320中,并与监控后端320中的音频播放单元321和控制分析模块322分别相连。
编码器301作为编码端,用于接收麦克风阵列算法单元312输出的音频单声道数据和声源定向信息,并对音频单声道数据进行压缩编码以形成码流,在将码流信息编码后添加至码流各帧的头语法结构内的同时,还将声源定向信息压缩编码后添加至码流中任意一帧或多帧的头语法结构内并输出。
编码器301输出的码流可直接传输至解码器302、或存储后供解码器302获取。
解码器302作为解码端,用于从来自编码器301的码流中的上述任意一帧或多帧的头语法结构内,解码得到声源定向信息;并利用从该码流中各帧的头语法结构内解码得到的码流信息,从码流中解码得到各帧的音频单声道数据;得到的声源定向信息可输出至控制分析模块322、供控制分析模块322处理后分析声源运动轨迹、声源跟踪、或控制监控系统中摄像头云台的转动移动,得到的音频单声道数据则可输出至音频播放单元321播放。
可选地,编码器301可进一步用于在头语法结构中添加声源定向标志,以表示该头语法结构中是否有声源定向信息;相应地,解码器302则进一步用于在判断出声源定向标志表示头语法结构中有声源定向信息后,再执行从码流的头语法结构中解码得到声源定向信息的处理。
进一步地,对于头语法结构中还包括声源定向标志的情况,且在连续多帧中的音频单声道数据对应相同的声源定向信息时,为了减少在码流中嵌入的声源定向信息数据量、以进一步节省码流传输带宽,编码器301可以在上述连续多帧的第一帧的头语法结构中,将声源定向标志设置为表示头语法结构中有声源定向信息的有效值,并在第一帧的头语法结构中添加压缩编码后的声源定向信息,而在除第一帧之外的后续所有帧的头语法结构中,将声源定向标志设置为表示头语法结构中无声源定向信息的无效值,且不将上述的声源定向信息压缩编码后添加至后续所有帧的头语法结构中。
在上述系统中,编码器301可基于如前所述的编码方式一、二、三中的任一方式对声源定向信息进行编码。相应地,编码器301可基于如前所述的解码方式一、二、三中的任一方式对声源定向信息进行解码。
需要说明的是,实际应用中,对于编解码方式一、二,编码器301内可以预先配置多种取值的编码角度分辨率δ,且编码器301可任选其中一种对α和β进行压缩编码。此时,就需要编码器301进一步在头语法结构中添加对应的编码角度分辨率标记,这样,解码器302先依据头语法结构中的编码角度分辨率标记识别出编码器301所依据的编码角度分辨率δ取值,然后再执行后续处理。
可见,本实施例中的音频编解码系统将声源定向信息进行编码后添加至了音频单声道数据码流的头语法结构中,因而实现了将声源定向信息嵌入至码流中,以使得声源定向信息随码流传输。
如此一来,就无需在监控前端和监控后端之间传输或存储多声道音频数据的码流,从而避免了监控前端输出多声道音频数据的码流而使得监控后端难以获得准确声源定向信息的问题,而且还避免了多声道音频数据的码流传输或存储占用较大传输带宽或存储空间。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种声源定向信息的编码方法,所述声源定向信息包括各音频数据帧对应的任意方向上的角度信息,其特征在于,该编码方法包括
c1、将当前帧所对应的每个方向的角度信息分别与前一帧中对应的同一方向的角度信息进行差分运算,得到每个方向的第三差分运算结果;
c20、判断每个方向的第三差分运算结果的取值是否位于预定的角度范围之外,如果是,则顺序执行步骤c21和步骤c31;否则,顺序执行步骤c22和步骤c32;
c21、设定该方向对应的编码级别为第一编码级别,利用第一级角度精度量化该方向的第三差分运算结果,得到该方向的第四差分运算结果、并将该方向的第四差分运算结果确定为该方向角度信息编码后的结果;
c31、利用第四差分运算结果、第一级角度精度、以及前一帧中对应方向的角度信息,更新当前帧中对应方向的角度信息,以补偿量化第四差分运算结果时产生的误差、并供编码下一帧对应方向的角度信息时使用;
c22、设定该方向对应的编码级别为第二编码级别,利用第二级角度精度量化该方向的第三差分运算结果,得到该方向的第五差分运算结果、并将该方向的第五差分运算结果确定为该方向角度信息编码后的结果;
c32、利用第五差分运算结果、第二级角度精度、以及前一帧中对应方向的角度信息,更新当前帧中对应方向的角度信息,以补偿量化第五差分运算结果时产生的误差、并供编码下一帧对应方向的角度信息时使用;
其中,第二级角度精度大于等于1且小于第一级角度精度。
2.如权利要求1所述的编码方法,其特征在于,所述步骤c1包括将当前帧所对应的每个方向的角度信息分别与前一帧中对应的同一方向的角度信息相减后再对360度取余,将取余结果确定为第三差分运算结果。
3.如权利要求1或2所述的编码方法,其特征在于,所述第四差分运算结果具有q比特、所述第五差分运算结果具有Q、所述预定的角度范围为±(2Q-1×θ),所述第一级角度精度为
度,P为可被360整除的正整数,且P满足2q-1<P<2q,
θ为第二级角度精度;
且,步骤c20所述判断每个方向的第三差分运算结果的取值是否位于预定的角度范围之外包括
判断每个方向的第三差分运算结果的取值、以及360度与每个方向的第三差分运算结果之差是否均大于等于(2Q-1×θ);
如果任一方向的第三差分运算结果的取值、以及360度与该方向的第三差分运算结果之差否均大于等于(2Q-1×θ),则表示该方向的第三差分运算结果的取值是否位于预定的角度范围之外;
如果任一方向的第三差分运算结果的取值、或360度与该个方向的第三差分运算结果之差小于(2Q-1×θ),则表示该方向的第三差分运算结果的取值是否位于预定的角度范围之外。
4.如权利要求3所述的编码方法,其特征在于,
步骤c21所述利用第一级角度精度量化该方向的第三差分运算结果包括将该方向的第三差分运算结果量化为
度的倍数,将该倍数确定为该方向的q比特第四差分运算结果;
步骤c22所述利用第二级角度精度量化该方向的第三差分运算结果包括
如果任一方向的第三差分运算结果的取值小于(2Q-1×θ),则计算该方向第三差分运算结果与第二级角度精度的商,并将该商的取值范围转换至±2Q-1内、以使其最高位为符号位,然后将最高位为符号位的所述商确定为该方向最高位为符号位的Q比特第五差分运算结果;
如果360度与任一方向的第三差分运算结果小于(2Q-1×θ),则计算该方向第三差分运算结果与360度之差除以第二级角度精度的商,并将该商的取值范围转换至±2Q-1内、以使其最高位为符号位,然后将最高位为符号位的所述商确定为该方向最高位为符号位的Q比特第五差分运算结果。
5.如权利要求4所述的编码方法,其特征在于,
所述步骤c31包括计算第一级角度精度与第四差分运算结果的乘积,并将该乘积与前一帧中对应的角度信息之和对360度取余,再将该取余结果更新为当前帧对应方向的角度信息;
所述步骤c32仅在第二级角度精度大于1时执行,并包括计算第二级角度精度与第五差分运算结果的乘积,并将该乘积与前一帧中对应的角度信息之和对360度取余,再将该取余结果更新为当前帧对应方向的角度信息。
6.如权利要求1所述的编码方法,其特征在于,该编码方法进一步将当前帧每个方向对应的编码级别、以及每个方向角度信息编码后的结果添加至当前帧的头语法结构中。
7.一种声源定向信息的解码方法,所述声源定向信息包括各音频数据帧对应的任意方向上的角度信息,其特征在于,每一方向角度信息编码后的结果分别具有对应的编码级别,且该解码方法包括
如果当前帧中的任一方向对应第一编码级别,则利用第一级角度精度、以及在前一帧中解码得到的该方向角度信息,对当前帧中该方向角度信息编码后的结果进行解码,得到当前帧中该方向的角度信息;
如果当前帧中的任一方向对应第二编码级别,则利用第二级角度精度、以及在前一帧中解码得到的该方向角度信息,对当前帧中该方向角度信息编码后的结果进行解码,得到当前帧中该方向的角度信息;
其中,第二级角度精度大于等于1且小于第一级角度精度。
8.如权利要求7所述的解码方法,其特征在于,第一编码级别对应的角度信息编码后的结果为q比特、第二编码级别对应的角度信息编码后的结果为Q比特,第一级角度精度为
度,P为可被360整除的正整数,且P满足2q-1<P<2q,
θ为第二级角度精度;
所述利用第一级角度精度、以及在前一帧中解码得到的该方向角度信息,对当前帧中该方向角度信息编码后的结果进行解码包括计算第一级角度精度与q比特角度信息编码后的结果的乘积,并将该乘积与前一帧解码得到的该方向角度信息之和对360度取余,然后将取余结果确定为当前帧中该方向的角度信息;
所述利用第二级角度精度、以及在前一帧中解码得到的该方向角度信息,对当前帧中该方向角度信息编码后的结果进行解码包括计算第二级角度精度与Q比特角度信息编码后的结果的乘积,并将该乘积与前一帧解码得到的该方向角度信息之和对360度取余,然后将取余结果确定为当前帧中该方向的角度信息。
9.如权利要求7或8所述的解码方法,其特征在于,当前帧每个方向对应的编码级别、以及每个方向角度信息的编码结果均携带于当前帧的头语法结构中;且该解码方法进一步从当前帧的头语法结构中,提取当前帧每个方向对应的编码级别、以及每个方向角度信息的编码结果。
10.一种声源定向信息的编解码方法,所述声源定向信息包括各音频数据帧对应的任意方向上的角度信息,其特征在于,该编解码方法包括编码的如下步骤
c1、将当前帧所对应的每个方向的角度信息分别与前一帧中对应的同一方向的角度信息进行差分运算,得到每个方向的第三差分运算结果;
c20、判断每个方向的第三差分运算结果的取值是否位于预定的角度范围之外,如果是,则顺序执行步骤c21和步骤c31;否则,顺序执行步骤c22和步骤c32;
c21、设定该方向对应的编码级别为第一编码级别,利用第一级角度精度量化该方向的第三差分运算结果,得到该方向的第四差分运算结果、并将该方向的第四差分运算结果确定为该方向角度信息编码后的结果;
c31、利用第四差分运算结果、第一级角度精度、以及前一帧中对应方向的角度信息,更新当前帧中对应方向的角度信息,以补偿量化第四差分运算结果时产生的误差、并供编码下一帧对应方向的角度信息时使用;
c22、设定该方向对应的编码级别为第二编码级别,利用第二级角度精度量化该方向的第三差分运算结果,得到该方向的第五差分运算结果、并将该方向的第五差分运算结果确定为该方向角度信息编码后的结果;
c32、利用第五差分运算结果、第二级角度精度、以及前一帧中对应方向的角度信息,更新当前帧中对应方向的角度信息,以补偿量化第五差分运算结果时产生的误差、并供编码下一帧对应方向的角度信息时使用;
该编解码方法还包括解码的如下步骤
如果当前帧中的任一方向对应第一编码级别,则利用第一级角度精度、以及在前一帧中解码得到的该方向角度信息,对当前帧中该方向角度信息编码后的结果进行解码,得到当前帧中该方向的角度信息;
如果当前帧中的任一方向对应第二编码级别,则利用第二级角度精度、以及在前一帧中解码得到的该方向角度信息,对当前帧中该方向角度信息编码后的结果进行解码,得到当前帧中该方向的角度信息;
其中,第二级角度精度大于等于1且小于第一级角度精度。
11.一种声源定向信息的编解码系统,所述声源定向信息包括各音频数据帧对应的任意方向上的角度信息,且该编解码系统包括相连的编码器和解码器,其特征在于,
所述编码器,用于将当前帧所对应的每个方向的角度信息分别与前一帧中对应的同一方向的角度信息进行差分运算,得到每个方向的第三差分运算结果;判断每个方向的第三差分运算结果的取值是否位于预定的角度范围之外,如果是,则设定该方向对应的编码级别为第一编码级别,利用第一级角度精度量化该方向的第三差分运算结果,得到该方向的第四差分运算结果、并将该方向的第四差分运算结果确定为该方向角度信息编码后的结果,然后利用第四差分运算结果、第一级角度精度、以及前一帧中对应方向的角度信息,更新当前帧中对应方向的角度信息,以补偿量化第四差分运算结果时产生的误差、并供编码下一帧对应方向的角度信息时使用;否则,设定该方向对应的编码级别为第二编码级别,利用第二级角度精度量化该方向的第三差分运算结果,得到该方向的第五差分运算结果、并将该方向的第五差分运算结果确定为该方向角度信息编码后的结果,然后利用第五差分运算结果、第二级角度精度、以及前一帧中对应方向的角度信息,更新当前帧中对应方向的角度信息,以补偿量化第五差分运算结果时产生的误差、并供编码下一帧对应方向的角度信息时使用;
所述解码器,用于在当前帧中的任一方向对应第一编码级别时,利用第一级角度精度、以及在前一帧中解码得到的该方向角度信息,对当前帧中该方向角度信息编码后的结果进行解码,得到当前帧中该方向的角度信息;在当前帧中的任一方向对应第二编码级别时,利用第二级角度精度、以及在前一帧中解码得到的该方向角度信息,对当前帧中该方向角度信息编码后的结果进行解码,得到当前帧中该方向的角度信息;
其中,第二级角度精度大于等于1且小于第一级角度精度。
全文摘要
本发明公开了一种声源定向信息的编码方法、一种声源定向信息的解码方法、一种声源定向信息的编解码方法、以及一种声源定向信息的编解码系统。本发明可以将当前帧所对应的每个方向的角度信息分别与前一帧中对应的同一方向的角度信息进行差分运算,得到每个方向的差分运算结果;然后对取值过大的差分运算结果进行低精度的量化处理,对于取值较小的差分运算结果进行高精度的量化处理,从而实现对声源定向信息的编码。如此一来,只要将声源定向信息编码后携带于当前帧的头语法结构中,即可随码流传输,从而实现准确的声源定位。而且,对于取值过大的差分运算结果,本发明还可补偿量化该方向的差分运算结果时产生的误差。
文档编号G10L19/00GK101819774SQ200910078930
公开日2010年9月1日 申请日期2009年2月27日 优先权日2009年2月27日
发明者张晨, 冯宇红 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1