CN101819775A - 声源定向信息的编解码方法和系统 - Google Patents

声源定向信息的编解码方法和系统 Download PDF

Info

Publication number
CN101819775A
CN101819775A CN200910078931A CN200910078931A CN101819775A CN 101819775 A CN101819775 A CN 101819775A CN 200910078931 A CN200910078931 A CN 200910078931A CN 200910078931 A CN200910078931 A CN 200910078931A CN 101819775 A CN101819775 A CN 101819775A
Authority
CN
China
Prior art keywords
calculus
angle information
coding
result
differences
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
CN200910078931A
Other languages
English (en)
Other versions
CN101819775B (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.)
Mid Star Technology Ltd By Share Ltd
Original Assignee
Vimicro 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 Vimicro Corp filed Critical Vimicro Corp
Priority to CN2009100789312A priority Critical patent/CN101819775B/zh
Publication of CN101819775A publication Critical patent/CN101819775A/zh
Application granted granted Critical
Publication of CN101819775B publication Critical patent/CN101819775B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种声源定向信息的编码方法、一种声源定向信息的解码方法、一种声源定向信息的编解码方法、以及一种声源定向信息的编解码系统。本发明可以将当前帧所对应的每个方向的角度信息分别与前一帧中对应的同一方向的角度信息进行差分运算,得到每个方向的差分运算结果;然后利用预设的编码角度分辨率量化差分运算结果,从而实现对声源定向信息的编码。如此一来,只要声源定向信息经编码后携带于当前帧的头语法结构中,即可随码流传输,从而能够实现准确的声源定位。而且,对于取值过大的任意方向的差分运算结果,本发明还可补偿量化该方向的差分运算结果时产生的误差,并经过后续若干帧即可实现收敛。

Description

声源定向信息的编解码方法和系统
技术领域
本发明涉及音频数据的编解码技术,特别涉及一种声源定向信息的编码方法、一种声源定向信息的解码方法、一种声源定向信息的编解码方法、以及一种声源定向信息的编解码系统。
背景技术
在现有的某些监控场景中,通常会在监控前端利用麦克风阵列来采集音频多声道数据,然后利用麦克风阵列算法对音频多声道数据进行去噪、定位等处理,得到音频单声道数据和声源定向信息。
此后,即可基于现有的音频压缩编码标准,将音频单声道数据压缩编码、并生成码流后传输至监控后端,并由监控后端解码后播放。而声源定向信息则可供监控后端进行声源定位,用来控制监控场景中的摄像头转动和/或移动,以实现对监控目标的跟踪。
然而,现有的音频压缩编码标准并不支持在码流中传输声源定向信息,从而使得声源定向信息无法由监控前端传输至监控后端。
为了解决上述问题,现有技术则直接将麦克风阵列采集的音频多声道数据压缩编码、并生成码流后传输至监控后端,并由监控解码后利用麦克风阵列算法对音频多声道数据进行去噪、定位等处理,以得到声源定向信息。
但由于多声道音频数据中各声道的相位关系会在监控前端的压缩编码过程中被破坏,从而使得监控后端无法获得准确的声源定向信息,进而无法实现准确的声源定位。
发明内容
有鉴于此,本发明提供了一种声源定向信息的编码方法、一种声源定向信息的解码方法、一种声源定向信息的编解码方法、以及一种声源定向信息的编解码系统,能够支持声源定位准确度的提高。
本发明提供的一种声源定向信息的编码方法,所述声源定向信息包括各音频数据帧对应的任意方向上的角度信息,该编码方法包括:
b1、将当前帧所对应的每个方向的角度信息分别与前一帧中对应的同一方向的角度信息进行差分运算,得到每个方向最高位为符号位的第一差分运算结果;
b2、利用预设的编码角度分辨率δ量化每个方向的第一差分运算结果,得到每个方向最高位为符号位的第二差分运算结果,并将每个方向的第二差分运算结果分别确定为每个方向角度信息编码后的结果;
b3、利用第二差分运算结果、编码角度分辨率δ、以及前一帧中对应的角度信息,更新当前帧中对应方向的角度信息,以补偿量化第一差分运算结果时产生的误差、并供编码下一帧对应方向的角度信息时使用。
本发明提供的一种声源定向信息的解码方法,所述声源定向信息包括各音频数据帧对应的任意方向上的角度信息,其特征在于,每一方向的角度信息编码后的结果的最高位为符号位,且该解码方法包括:
利用预设的编码角度分辨率δ、以及在前一帧中解码得到的每个方向的角度信息,分别对当前帧中同一方向角度信息编码后的结果进行解码,得到当前帧中每个方向的角度信息。
本发明提供的一种声源定向信息的编解码方法,所述声源定向信息包括各音频数据帧对应的任意方向上的角度信息,该编解码方法先后包括如上所述的一种声源定向信息的编码方法的各步骤、以及如上所述的一种声源定向信息的解码方法的各步骤。
本发明提供的一种声源定向信息的编解码系统,所述声源定向信息包括各音频数据帧对应的任意方向上的角度信息,且该编解码系统包括相连的编码器和解码器,所述编码器,用于执行如上所述的一种声源定向信息的编码方法的各步骤对应的操作;所述解码器,用于执行如上所述的一种声源定向信息的解码方法的各步骤对应的操作。
由上述技术方案可见,本发明可以将当前帧所对应的每个方向的角度信息分别与前一帧中对应的同一方向的角度信息进行差分运算,得到每个方向的差分运算结果;然后利用预设的编码角度分辨率量化差分运算结果,从而实现对声源定向信息的编码。如此一来,只要声源定向信息经编码后携带于当前帧的头语法结构中,即可随码流传输,从而能够实现准确的声源定位。而且,对于取值过大的任意方向的差分运算结果,本发明还可补偿量化该方向的差分运算结果时产生的误差,并经过后续若干帧即可实现收敛。
附图说明
图1为本发明实施例中声源定向信息包括的水平和垂直角度的示意图;
图2为本发明实施例中压缩编解码方法的示例性流程图;
图3为本发明实施例中压缩编解码系统的示例性结构图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
基于现有的音频压缩编码标准,音频单声道数据在压缩编码后形成的码流中通常会划分为若干个帧,且现有的音频压缩编码标准中又为每一帧都定义了用于携带例如编码模式、采样频率、通道数、码率等码流信息的头语法结构,因此,在本发明实施例中仍然对音频单声道数据压缩编码以形成码流,同时还将声源定向信息进行编码后,添加至码流中任意一帧或多帧的头语法结构内,以实现在码流中嵌入声源定向信息,并使得声源定向信息能够随码流传输。
如此一来,只要在解码时从头语法结构中解析得到声源定向信息的相关语法,即可获得每帧音频单声道数据对应的声源定向信息。
考虑到在实际应用中,并不是任何监控场景都需要传递声源定位信息的,即便需要传递也不一定必须在每一帧的头语法结构内均添加编码后的声源定向信息,因此,本发明实施例中可进一步在头语法结构中添加声源定向标志,以表示该头语法结构中是否有声源定向信息。在解码时,可以首先判断该声源定向标志是否表示头语法结构中有声源定向信息,如果是,再执行对声源定向信息的解码,否则,即可跳过对声源定位信息解码的操作。
进一步地,考虑到实际应用中,还存在连续多帧中的音频单声道数据对应相同或相近似的声源定向信息,因此,本发明实施例为了减少在码流中嵌入的声源定向信息数据量、以进一步节省码流传输带宽,可以在上述连续多帧的第一帧的头语法结构中,将声源定向标志设置为表示头语法结构中有声源定向信息的有效值,并在第一帧的头语法结构中添加压缩编码后的声源定向信息,而在除第一帧之外的后续所有帧的头语法结构中,将声源定向标志设置为表示头语法结构中无声源定向信息的无效值,且不将上述的声源定向信息压缩编码后添加至后续所有帧的头语法结构中。
在本发明实施例中,声源定向信息可以包括水平方向角度信息和/或垂直方向角度信息。水平方向角度也可称为水平方位角,在本文中表示为如图1所示的α;垂直方向角度也可称为垂直仰俯角,在本文中表示为如图1所示的β。在图1中,三位坐标轴的原点位于麦克风阵列的中心位置、X轴沿麦克风阵列的正前方向延伸、Y轴沿麦克风阵列的左侧方向延伸、Z轴沿麦克风阵列的正上方向延伸,α在逆时针方向为正、β向上为正,α和β的取值范围均为0~359度。
这样,声源定向信息在压缩编码后添加至头语法结构中的语法格式可如下所示:
{
     声源定向标志;
     如果声源定向标志有效,则存在
        {
              水平方向角度信息编码后的结果;
            垂直方向角度信息编码后的结果;
       }
}
当然,声源定向信息内还可以包含其它任意方向的角度信息。由于无论是何种方向的角度信息,对其编码的原理均相同,因此,下文中就均以声源定向信息包含如图1所示的水平方向角度信息α和垂直方向角度信息β为例进行说明。
实际应用中,对于如上所列举的声源定向信息的编码方式及对应的解码方式可以为多种,以下举三种编解码方式予以说明:
1)声源定向信息的编码方式一:
a1、将水平方向角度信息α和垂直方向角度信息β除以预设的编码角度分辨率δ,得到两个N比特(N为正整数)的二进制数、即编码后的水平方向角度信息
Figure B2009100789312D0000051
和编码后的垂直方向角度信息以实现对声源定向信息的编码。该编码过程可以表示为:
α ^ = Round ( α / δ ) , β ^ = Round ( β / δ ) .
其中,N的取值满足
Figure B2009100789312D0000055
或更进一步地具体满足
Figure B2009100789312D0000056
a2、可选地,进一步对N比特二进制数、即压缩编码后得到的
Figure B2009100789312D0000057
Figure B2009100789312D0000058
补零,以使得嵌入有补零后的N比特二进制数、即补零后的
Figure B2009100789312D0000059
Figure B2009100789312D00000510
的头语法结构为整数字节。
以下分别以10度、5度和1度的编码角度分辨率δ为例进一步说明:
当编码角度分辨率δ为10度时,水平方向角度信息α和垂直方向角度信息β分别以6比特进行压缩编码、即N取6,其有效范围为0~36度。假设,55度或60度的α和β经压缩编码后得到的
Figure B2009100789312D00000511
Figure B2009100789312D00000512
表示为“000110”。
当编码角度分辨率δ为5度时,水平方向角度信息α和垂直方向角度信息β分别以7比特进行压缩编码、即N取7,其有效范围为0~72度。假设,55度的α和β经编码后得到的
Figure B2009100789312D0000061
Figure B2009100789312D0000062
表示为“0001011”,而60度的α和β经编码后得到的
Figure B2009100789312D0000063
Figure B2009100789312D0000064
表示为“0001100”。
当编码角度分辨率δ为1度时,水平方向角度信息α和垂直方向角度信息β分别以9比特进行压缩编码、即N取9,其有效范围为0~359度。假设,55度的α和β经编码后得到的
Figure B2009100789312D0000065
Figure B2009100789312D0000066
表示为“000110111”,而60度的α和β经编码后得到的
Figure B2009100789312D0000067
表示为“000111100”。
将水平方向角度信息α和垂直方向角度信息β按照编码方式一编码后,添加至头语法结构中的语法格式可如下所示:
{
     声源定向标志;
     如果声源定向标志有效,则存在
        {
Figure B2009100789312D0000069
Figure B2009100789312D00000610
        }
}
相应地,编码方式一对应的解码方式一即可表示为:
α ' = Round ( α ^ × δ ) , β ' = Round ( β ^ × δ )
其中,α′为解码后的水平方向角度信息、β′解码后的垂直方向角度信息。
如上所述,水平方向角度信息α和垂直方向角度信息β可以6、7、9等非整数字节的比特进行压缩编码,那么在这种情况下,将压缩编码后得到的
Figure B2009100789312D00000613
Figure B2009100789312D00000614
添加至头语法结构中,就有可能导致头语法结构为非整数字节。而非整数字节的头语法结构则易增加解码处理的负担。
对于编码得到的6、7、9比特的
Figure B2009100789312D00000615
Figure B2009100789312D00000616
对应的补零方式可分别参见表1~表3。
Figure B2009100789312D0000071
表1
Figure B2009100789312D0000072
表2
Figure B2009100789312D0000073
表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,
Figure B2009100789312D0000081
δ为大于等于1的正整数。
实际应用中,可先判断每个方向的第一差分运算结果的取值是否足以用M比特表示,例如判断每个方向的第一差分运算结果的取值是否在±(2M-1-1)δ之间;如果任一方向的第一差分运算结果的取值足以用M比特表示、例如该方向的第一差分运算结果的取值在±(2M-1-1)δ之间,则计算该方向的第一差分运算结果除以编码角度分辨率δ的商,并将该商确定为该方向的第二差分运算结果;如果任一方向的第一差分运算结果的取值不足以用M比特表示、例如该方向的第一差分运算结果的取值大于(2M-1-1)δ或小于-(2M-1-1)δ,则将M比特所能够表示的极值确定为该方向的第二差分运算结果。
对于包含水平方向角度信息α和垂直方向角度信息β的这种情况,利用预设的编码角度分辨率δ量化第一差分运算结果delta_α(i)和delta_β(i),得到取值范围在±(2M-1-1)之间的量化后的水平方向的第二差分运算结果
Figure B2009100789312D0000091
和垂直方向的第二差分运算结果
Figure B2009100789312D0000092
Figure B2009100789312D0000094
即可分别作为水平方向角度信息编码后的结果和垂直方向角度信息编码后的结果添加至头语法结构中。
以水平方向角度信息的差分运算结果delta_α(i)为例,其对应的差分跟踪编码方式中的量化过程可以表示为:
delta _ &alpha; ( i ) ^ = round ( delta _ &alpha; ( i ) / &delta; ) , 0 &le; delta _ &alpha; ( i ) &le; ( 2 M - 1 - 1 ) &delta; delta _ &alpha; ( i ) ^ = - round ( - delta - &alpha; ( i ) / &delta; ) , - ( 2 M - 1 - 1 ) &delta; &le; delta _ &alpha; ( i ) < 0 delta _ &alpha; ( i ) ^ = ( 2 M - 1 - 1 ) , ( 2 M - 1 - 1 ) &delta; < delta _ &alpha; ( i ) &le; 180 delta _ &alpha; ( i ) ^ = - ( 2 M - 1 - 1 ) , - 180 < delta _ &alpha; ( i ) < - ( 2 M - 1 - 1 ) &delta;
或者,该量化过程可以进一步简化地表示为:
delta _ &alpha; ( i ) ^ = round ( delta _ &alpha; ( i ) / &delta; ) , - ( 2 M - 1 - 1 ) &delta; &le; delta _ &alpha; ( i ) &le; ( 2 M - 1 - 1 ) &delta; delta _ &alpha; ( i ) ^ = ( 2 M - 1 - 1 ) , ( 2 M - 1 - 1 ) &delta; < delta _ &alpha; ( i ) &le; 180 delta _ &alpha; ( i ) ^ = - ( 2 M - 1 - 1 ) , - 180 < delta _ &alpha; ( i ) < - ( 2 M - 1 - 1 ) &delta;
同理,垂直方向角度信息的差分运算结果delta_β(i)所对应的量化过程也是如此。
b3、基于上述量化方式,在编码角度分辨率δ大于1时,利用编码角度分辨率δ量化得到的每个方向的第二差分运算结果均会存在误差;在编码角度分辨率等于1时,取值位于±(2M-1-1)δ之外的第一差分运算结果经量化后会被直接赋值为±(2M-1-1)度、因而也会存在误差。因此,对于存在误差的这两种情况,利用对应方向的第二差分运算结果、编码角度分辨率δ、以及前一帧中对应的该方向的角度信息,更新当前帧对应方向的角度信息,用以补偿量化该方向的第一差分运算结果时产生的误差、并供编码下一帧对应的该方向的角度信息时使用。
对于包含水平方向角度信息α和垂直方向角度信息β的这种情况,可利用量化后得到的第二差分运算结果和/或
Figure B2009100789312D0000102
编码角度分辨率δ、以及前一帧对应的水平方向角度信息α(i-1)和垂直方向角度信息β(i-1),更新当前帧对应的水平方向角度信息α(i)和/或垂直方向角度信息β(i),以补偿量化delta_α(i)和/或delta_β(i)时产生的误差、并供编码下一帧对应的水平方向角度信息α(i+1)和垂直方向角度信息β(i+1)时使用。以更新水平方向角度信息α(i)为例,差分跟踪编码方式中的更新过程可表示为:
如果
Figure B2009100789312D0000103
的最高位为正,即如果
则更新
如果
Figure B2009100789312D0000106
的最高位为负,即如果
Figure B2009100789312D0000107
则更新
或者,该更新过程可以进一步简化地表示为:
&alpha; ( i ) = ( &alpha; ( i - 1 ) + &delta; &times; delta _ &alpha; ( i ) ^ ) rem 360 .
由于每一帧对应的水平方向角度信息α(i)和垂直方向角度信息β(i)均按照上述方式更新、以供编码下一帧对应的水平方向角度信息α(i+1)和垂直方向角度信息β(i+1)时使用,因而如前所述的误差不会累积。
将水平方向角度信息α和垂直方向角度信息β按照编码方式二、即差分跟踪方式编码后,添加至头语法结构中的语法格式均可如下所示:
{
     声源定向标志;
     如果声源定向标志有效,则存在
        {
delta _ &alpha; ( i ) ^ ;
delta _ &beta; ( i ) ^ ;
       }
}
相应地,差分跟踪编码方式、即编码方式二对应的解码方式二即可利用编码角度分辨率δ、以及在前一帧中解码得到的每一方向的角度信息,分别对当前帧中同一方向的M比特的第二差分运算结果进行解码,得到当前帧中每个方向的角度信息。
以水平方向角度信息编码后的结果
Figure B2009100789312D0000113
为例,差分跟踪编码方式、即编码方式二对应的解码方式二则利用编码角度分辨率δ、以及在前一帧中解码得到的水平方向角度信息α(i-1)′,对该
Figure B2009100789312D0000114
解码得到当前帧中的水平方向角度信息α(i)′,具体表示为:
如果
Figure B2009100789312D0000115
的最高位为正,即如果
Figure B2009100789312D0000116
则解码后的水平方向角度信息
Figure B2009100789312D0000117
如果
Figure B2009100789312D0000118
的最高位为负,即如果
Figure B2009100789312D0000119
则解码后的水平方向角度信息
Figure B2009100789312D00001110
或者,该解码方式二可以进一步简化地表示为:
解码后的水平方向角度信息
Figure B2009100789312D00001111
当然,为了便于解码端的定位,上述解码方式二也可设定解码得到的每一方向的角度信息的取值范围在±180度之间。
如前所述,由于编码时可利用前述更新过程来消除误差的累积,且解码时也会基于该更新过程的原理、同时利用量化后的差分运算结果
Figure B2009100789312D00001112
Figure B2009100789312D00001113
及前一帧解码得到的水平方向角度信息α(i-1)′进行解码,因而最多只需要帧即可实现解码得到准确角度信息的收敛。其中,编码角度分辨率δ越大,如前所述的误差就会越大,但收敛速度会越快、即T越小。
而且,解码方式二的基本原理与编码方式二中更新过程的基本原理相同,因而编码方式二中的更新过程可看作是与解码端的同步。
以下,对于上述差分跟踪方式的编解码过程,以水平方向角度信息编码后的结果为例,假设编码角度分辨率δ取5、M取4(可以使得水平方向和垂直方向编码后的结果总共只占1个字节),并举一实例进行说明。
先将当前帧所对应的水平方向角度信息α(i)与前一帧所对应的水平方向角度信息α(i-1)进行差分运算,且α(i-1)的最高位为符号位。
然后量化差分运算结果delta_α(i),得到取值范围在±7之间的量化后的水平方向差分运算结果
Figure B2009100789312D0000122
delta _ &alpha; ( i ) ^ = round ( delta _ &alpha; ( i ) / 5 ) , 0 &le; delta _ &alpha; ( i ) &le; 35 delta _ &alpha; ( i ) ^ = 1000 + round ( - delta _ &alpha; ( i ) / 5 ) , - 35 &le; delta _ &alpha; ( i ) < 0 delta _ &alpha; ( i ) ^ = 0111 , 35 < delta _ &alpha; ( i ) &le; 180 delta _ &alpha; ( i ) ^ = 1111 - 180 < delta _ &alpha; ( i ) < - 35
再利用量化后的差分运算结果
Figure B2009100789312D0000124
以及前一帧对应的水平方向角度信息α(i-1),更新当前帧对应的水平方向角度信息α(i):
&alpha; ( i ) = ( &alpha; ( i - 1 ) + 5 &times; delta ^ _ &alpha; ( i ) ) rem 360 .
此后,即可按照
Figure B2009100789312D0000126
进行解码,并经
Figure B2009100789312D0000127
帧即可实现解码得到准确角度的收敛。
需要说明的是,在进行差分运算时将第一差分运算结果的取值范围转换至±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 _ &alpha; ( i ) ^ = round ( delta _ &alpha; ( i ) / &delta; ) , 0 &le; delta _ &alpha; ( i ) &le; ( 2 M - 1 - 1 ) &delta; delta _ &alpha; ( i ) ^ = - round ( - delta _ &alpha; ( i ) / &delta; ) , - ( 2 M - 1 - 1 ) &delta; &le; delta _ &alpha; ( i ) < 0 delta _ &alpha; ( i ) ^ = ( 2 M - 1 - 1 ) , ( 2 M - 1 - 1 ) &delta; < delta _ &alpha; ( i ) &le; &gamma; delta _ &alpha; ( i ) ^ = - ( 2 M - 1 - 1 ) , - &gamma; < delta _ &alpha; ( i ) < - ( 2 M - 1 - 1 ) &delta; delta _ &alpha; ( i ) ^ = 2 M - 1 , | delta _ &alpha; ( i ) | > &gamma;
或者,该量化过程可以进一步简化地表示为:
delta _ &alpha; ( i ) ^ = round ( delta _ &alpha; ( i ) / &delta; ) , - ( 2 M - 1 - 1 ) &delta; &le; delta _ &alpha; ( i ) &le; ( 2 M - 1 - 1 ) &delta; delta _ &alpha; ( i ) ^ = ( 2 M - 1 - 1 ) , ( 2 M - 1 - 1 ) &delta; < delta _ &alpha; ( i ) &le; &gamma; delta _ &alpha; ( i ) ^ = - ( 2 M - 1 - 1 ) , - &gamma; < delta _ &alpha; ( i ) < - ( 2 M - 1 - 1 ) &delta; delta _ &alpha; ( i ) ^ = 2 M - 1 , | delta _ &alpha; ( i ) | > &gamma;
同理,垂直方向角度信息的差分运算结果delta_β(i)所对应的另一种量化过程的具体实现方式也是如此。
仍假设编码角度分辨率δ取5、M取4,并假设γ取90度,且以水平方向角度信息的差分运算结果delta_α(i)为例,则另一种量化过程的具体实现方式可表示为:
delta _ &alpha; ( i ) ^ = round ( delta _ &alpha; ( i ) / 5 ) 0 &le; delta _ &alpha; ( i ) &le; 35 delta _ &alpha; ( i ) ^ = 1000 + round ( - delta _ &alpha; ( i ) / 5 ) , - 35 &le; delta _ &alpha; ( i ) < 0 delta _ &alpha; ( i ) ^ = 0111 , 35 < delta _ &alpha; ( i ) &le; 90 delta _ &alpha; ( i ) ^ = 1111 , - 90 &le; delta _ &alpha; ( i ) < - 35 delta _ &alpha; ( i ) ^ = 1000 , | delta _ &alpha; ( i ) | > 90
本发明实施例中的差分跟踪编码方式相比于编码方式一,均具有如下优势:
当某个声源发声并移动时,短时间间隔内的移动角度通常都较小,只有当另一个位置的声源发声、并取代这个声源时,才会发生大角度的跳转。因此,无论采用哪一种量化过程,即便将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个单位角度区间,每个单位角度区间包括
Figure B2009100789312D0000161
度,且对于预定的Q比特,2q-1<P<2q,P为可被360整除的正整数,
Figure B2009100789312D0000162
Figure B2009100789312D0000163
较佳地,P的取值应尽可能接近2q,和/或
Figure B2009100789312D0000164
尽可能接近(2Q-1×θ),以更充分地利用第一编码级别的q比特码字、以及第二编码级别的Q比特码字。
其中,P个单位角度区间的取值、即
Figure B2009100789312D0000165
度,可看作是第一编码级别对应的第一级角度精度,那么在第一编码级别的编码过程中,即可利用
Figure B2009100789312D0000166
度的第一级角度精度,对位于±(2Q-1×θ)角度范围之外的差分运算结果量化处理至0~P的取值范围内,以使得量化得到的q比特足以表示差分运算结果中的所述相关性的信息,用以实现粗定位。
相应地,每个单位角度区间内任意大小的角度θ则可看作第二编码级别对应的第二级角度精度,在第二编码级别的编码过程中,只需将位于±(2Q-1×θ)角度范围之内的差分运算结果,按照取值大于等于1度且小于
Figure B2009100789312D0000167
度的第二级角度精度θ量化处理至±2Q-1的取值范围内,以使得量化得到的Q比特足以表示差分运算结果中的所述相关性的信息,用以实现精定位。只要
Figure B2009100789312D0000168
那么第一编码级别有可能产生的量化误差最大绝对值
Figure B2009100789312D0000169
就不会导致无法进入第二编码级别的状态。
实际应用中,第二级角度精度θ的具体取值还可以参考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。也就是说,在进一步满足的
Figure B2009100789312D0000171
情况下,可使得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比特表示。
如果任一方向的第三差分运算结果的取值位于预定的角度范围之外,则设定该方向对应的编码级别为表示粗定位的第一编码级别,并利用
Figure B2009100789312D0000172
度的第一级角度精度量化该方向的第三差分运算结果,例如量化为
Figure B2009100789312D0000181
度的倍数,得到该方向的q比特第四差分运算结果,并将该方向的第四差分运算结果确定为该方向角度信息编码后的结果,且第四差分运算结果无符号位。
如果任一方向的第三差分运算结果的取值位于预定的角度范围之内,则设定该方向对应的编码级别为表示粗定位的第二编码级别,并利用大于等于1且小于
Figure B2009100789312D0000182
度的第二级角度精度θ量化该方向的第三差分运算结果,得到该方向的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)量化为
Figure B2009100789312D0000183
度的倍数,以水平方向角度信息的第三差分运算结果delta_α(i)为例,该过程可表示为:
Level_α(i)=1,
Figure B2009100789312D0000184
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角度范围之内、以使其最高位为符号位,从而得到作为编码后结果的第五差分运算结果
Figure B2009100789312D0000191
和/或
当delta_α(i)和/或delta_β(i)小于(2Q-1×θ)时,可以计算该
Figure B2009100789312D0000193
和/或
Figure B2009100789312D0000194
与第二级角度精度θ的商。以水平方向角度信息的差分运算结果delta_α(i)为例,该量化过程可表示为:
Level_α(i)=0,
Figure B2009100789312D0000195
delta_α(i)<2Q-1×θ。
对于第二级角度精度θ取1的一种特殊情况,该量化过程可以等效于直接将该delta_α(i)和/或delta_β(i)确定为作为编码后结果的第五差分运算结果
Figure B2009100789312D0000196
和/或
当360度与delta_α(i)之差小于(2Q-1×θ)时,可以计算该
Figure B2009100789312D0000198
和/或
Figure B2009100789312D0000199
与360度之差除以第二级角度精度θ的商。以水平方向角度信息的差分运算结果delta_α(i)为例,该量化过程可表示为:
Level_α(i)=0,
Figure B2009100789312D00001910
360-delta_α(i)<2Q-1×θ。
对于第二级角度精度θ取1的一种特殊情况,该量化过程可以等效于直接将该
Figure B2009100789312D00001911
和/或
Figure B2009100789312D00001912
与360度之差,确定为作为编码后结果的第五差分运算结果
Figure B2009100789312D00001913
和/或
Figure B2009100789312D00001914
以水平方向角度信息的差分运算结果delta_α(i)为例,等效的上述量化过程可表示为:
Figure B2009100789312D00001915
360-delta_α(i)<2Q-1×θ。
同理,垂直方向角度信息的差分运算结果delta_β(i)所对应的量化过程也是如此。
c3、基于上述量化方式,第一编码级别利用
Figure B2009100789312D00001916
度进行量化,因而会产生误差,而当第二级角度精度θ大于1时,第二编码级别利用第二级角度精度θ进行量化也会产生误差。因此,为了补偿第一编码级别存在的误差,可利用对应方向的第四差分运算结果、第一级角度精度度、以及前一帧中对应方向的角度信息,更新当前帧对应方向的角度信息,以供编码下一帧对应方向的角度信息时使用;为了补偿第二编码级别存在的误差,可利用对应方向的第五差分运算结果、第二级角度精度θ、以及前一帧中对应方向的角度信息,更新当前帧对应方向的角度信息,以供编码下一帧对应方向的角度信息时使用。
以更新水平方向角度信息α(i)为例,在使用第一编码级别时,差分分级编码方式中的更新过程可表示为:
&alpha; ( i ) = ( &alpha; ( i - 1 ) + 360 P &times; delta _ &alpha; ( i ) ^ ) rem 360 ;
在使用第二编码级别时,差分分级编码方式中的更新过程可表示为:
&alpha; ( i ) = ( &alpha; ( i - 1 ) + &theta; &times; delta _ &alpha; ( i ) ^ ) rem 360 .
由于在使用第一编码级别时,每个方向的角度信息均可按照上述方式更新、以供编码下一帧对应方向的角度信息时使用,因而如前所述的误差不会累积。
假设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,
Figure B2009100789312D0000211
delta_α(i)≥16、360-delta_α(i)≥16;
且更新水平方向角度信息
Figure B2009100789312D0000212
如果delta_α(i)小于16,则表示该delta_α(i)位于±16角度范围内,因而设定该delta_α(i)对应的编码级别为表示精定位的第二编码级别,并直接将该delta_α(i)确定为编码后的结果
Figure B2009100789312D0000213
即:
Level_α(i)=0,
Figure B2009100789312D0000214
delta_α(i)<2Q-1
如果360度与delta_α(i)之差小于16,则表示该delta_α(i)位于±16角度范围内,因而设定该delta_α(i)对应的编码级别为表示精定位的第二编码级别,并将delta_α(i)量化至±16的范围内,即:
Level_α(i)=0,
Figure B2009100789312D0000215
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);
delta _ &alpha; ( i ) ^ ;
        Level_β(i);
delta _ &beta; ( i ) ^ ;
    }
}
相应地,差分分级编码方式、即编码方式三对应的解码方式三需要先判断每一方向角度信息编码后的结果分别对应的编码级别;
如果当前帧中的任一方向对应第一编码级别,则利用第一级角度精度、以及在前一帧中解码得到的该方向角度信息,对当前帧中该方向角度信息编码后的结果进行解码,得到当前帧中该方向的角度信息;
如果当前帧中的任一方向对应第二编码级别,则利用第二级角度精度、以及在前一帧中解码得到的该方向角度信息,对当前帧中该方向角度信息编码后的结果进行解码,得到当前帧中该方向的角度信息。
以水平方向角度信息编码后的结果
Figure B2009100789312D0000223
为例,差分分级编码方式、即编码方式三对应的解码方式三即可表示为:
判断
Figure B2009100789312D0000224
所对应的编码级别。
如果所对应的编码级别为表示粗定位的第一编码级别,则利用第一级角度精度以及在前一帧中解码得到的水平方向角度信息α(i-1)′,对该
Figure B2009100789312D0000227
解码得到当前帧中的水平方向角度信息α(i)′,具体表示为:
&alpha; ( i ) ' = ( &alpha; ( i - 1 ) ' + 360 P &times; delta _ &alpha; ( i ) ^ ) rem 360
如果
Figure B2009100789312D0000229
所对应的编码级别为表示精定位的第二编码级别,则利用大于等于1且小于
Figure B2009100789312D00002210
度的第二级角度精度θ、以及在前一帧中解码得到的水平方向角度信息α(i-1)′,对该解码得到当前帧中的水平方向角度信息α(i)′,具体表示为:
Figure B2009100789312D0000232
的最高位为正、即
Figure B2009100789312D0000233
时,
解码后的水平方向角度信息
Figure B2009100789312D0000234
Figure B2009100789312D0000235
的最高位为负、即时,
解码后的水平方向角度信息
Figure B2009100789312D0000237
或者,如果
Figure B2009100789312D0000238
所对应的编码级别为表示精定位的第二编码级别,该解码方式三可以进一步简化地表示为:
解码后的水平方向角度信息
Figure B2009100789312D0000239
对于第二级角度精度θ取1的一种特殊情况,如果
Figure B2009100789312D00002310
所对应的编码级别为表示精定位的第二编码级别,则解码方式三可等效地表示为:
解码后的水平方向角度信息
Figure B2009100789312D00002311
同理,垂直方向角度信息编码后的结果所对应的解码过程也是如此。
而且,解码方式三的基本原理与编码方式三中更新过程的基本原理相同,因而编码方式三中的更新过程可看作是与解码端的同步。
本发明实施例中的差分分级编码方式相比于编码方式一和编码方式二,具有如下优势:
当某个声源发声并移动时,短时间间隔内的移动角度通常都较小,即通常会采用基于第二级角度精度θ的第二编码级别实现精定位,而只有当另一个位置的声源发声、并取代这个声源时,才会发生大角度的跳转,并采用基于
Figure B2009100789312D00002313
度的第一级角度精度的第一编码级别。因此,在绝大多数情况下仍能够在解码端立即获得准确的角度信息,即便发生上述大角度的跳转、并采用第一编码级别实现粗定位,但后续只需要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,
并更新
Figure B2009100789312D0000242
由于|delta_β(0)|<16,因此Level_β(0)=0,
Figure B2009100789312D0000243
所以对于第一帧中头语法结构中添加的编码结果为:
{
       {
             1;
             01001;
             0;
             01010;
       }
}
在解码端,从第0帧的头语法结构中可以提取出:
Level_α(0)=1,
Figure B2009100789312D0000244
Level_β(0)=1,
Figure B2009100789312D0000245
因而解码得到:α(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,
Figure B2009100789312D0000251
由于|delta_β(1)|<16,因此Level_β(1)=0,
Figure B2009100789312D0000252
所以对于第二帧中头语法结构中添加的编码结果为:
{
       {
             0;
             00111;
             0;
             10101;
       }
}
在解码端,从第二帧的头语法结构中可以提取出:
Level_α(1)=0,
Figure B2009100789312D0000253
Level_β(1)=0,
Figure B2009100789312D0000254
因而解码得到:α(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所依据的编码角度分辨率δ取值,然后再执行后续处理。
可见,本实施例中的音频编解码系统将声源定向信息进行编码后添加至了音频单声道数据码流的头语法结构中,因而实现了将声源定向信息嵌入至码流中,以使得声源定向信息随码流传输。
如此一来,就无需在监控前端和监控后端之间传输或存储多声道音频数据的码流,从而避免了监控前端输出多声道音频数据的码流而使得监控后端难以获得准确声源定向信息的问题,而且还避免了多声道音频数据的码流传输或存储占用较大传输带宽或存储空间。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种声源定向信息的编码方法,所述声源定向信息包括各音频数据帧对应的任意方向上的角度信息,其特征在于,该编码方法包括:
b1、将当前帧所对应的每个方向的角度信息分别与前一帧中对应的同一方向的角度信息进行差分运算,得到每个方向最高位为符号位的第一差分运算结果;
b2、利用预设的编码角度分辨率δ量化每个方向的第一差分运算结果,得到每个方向最高位为符号位的第二差分运算结果,并将每个方向的第二差分运算结果分别确定为每个方向角度信息编码后的结果;
b3、利用第二差分运算结果、编码角度分辨率δ、以及前一帧中对应的角度信息,更新当前帧中对应方向的角度信息,以补偿量化第一差分运算结果时产生的误差、并供编码下一帧对应方向的角度信息时使用。
2.如权利要求1所述的编码方法,其特征在于,所述步骤b1包括:
将当前帧所对应的每个方向的角度信息分别与前一帧中对应的同一方向的角度信息相减后再对360度取余;
将每个方向的取余结果的取值范围转换至±180度之间,得到最高位为符号位的第一差分运算结果。
3.如权利要求2所述的编码方法,其特征在于,所述第二差分运算结果具有M比特,M为正整数、并满足:
Figure F2009100789312C0000011
所述步骤b2包括:
判断每个方向的第一差分运算结果的取值是否在±(2M-1-1)δ之间;
如果任一方向的第一差分运算结果的取值在±(2M-1-1)δ之间,则计算该方向的第一差分运算结果除以编码角度分辨率δ的商,并将所述的商确定为该方向的第二差分运算结果;
如果任一方向的第一差分运算结果的取值大于(2M-1-1)δ、或小于-(2M-1-1)δ,则将±(2M-1-1)度确定为该方向的第二差分运算结果。
4.如权利要求2所述的编码方法,其特征在于,所述第二差分运算结果具有M比特,M为正整数、并满足:
Figure F2009100789312C0000021
所述步骤b2包括:
判断每个方向的第一差分运算结果的取值是否在±(2M-1-1)δ之间;
如果任一方向的第一差分运算结果的取值在±(2M-1-1)δ之间,则计算该方向的第一差分运算结果除以编码角度分辨率δ的商,并将所述的商确定为该方向的第二差分运算结果;
如果任一方向的第一差分运算结果的取值大于(2M-1-1)δ或小于-(2M-1-1)δ、且该第一差分运算结果的绝对值小于预设的极限角度,则将±(2M-1-1)确定为该方向的第二差分运算结果;
如果任一方向的第一差分运算结果的取值大于(2M-1-1)δ或小于-(2M-1-1)δ、且该第一差分运算结果的绝对值大于等于预设的极限角度,则将表示180度的2M-1确定为该方向的第二差分运算结果;
且,所述预设的极限角度大于等于90度。
5.如权利要求3或4所述的编码方法,其特征在于,如果编码角度分辨率δ大于1,则该编码方法对每个方向的角度信息均执行所述步骤b3;如果编码角度分辨率δ等于1、且存在如果任一方向的第一差分运算结果的取值大于(2M-1-1)δ或小于-(2M-1-1)δ,则该编码方法仅对该方向的角度信息执行所述步骤b3。
6.如权利要求5所述的编码方法,其特征在于,所述步骤b3包括:
计算编码角度分辨率δ与第二差分运算结果的乘积;
将所述乘积与前一帧中对应的角度信息之和对360度取余;
将取余结果更新为当前帧对应方向的角度信息。
7.如权利要求1所述的编码方法,其特征在于,该编码方法进一步将当前帧的每个方向角度信息编码后的结果添加至当前帧的头语法结构中。
8.一种声源定向信息的解码方法,所述声源定向信息包括各音频数据帧对应的任意方向上的角度信息,其特征在于,每一方向的角度信息编码后的结果的最高位为符号位,且该解码方法包括:
利用预设的编码角度分辨率δ、以及在前一帧中解码得到的每个方向的角度信息,分别对当前帧中同一方向角度信息编码后的结果进行解码,得到当前帧中每个方向的角度信息。
9.如权利要求8所述的解码方法,其特征在于,每一方向的角度信息编码后的结果具有M比特,M为正整数、并满足:
Figure F2009100789312C0000031
该解码方法按照如下方式实现所述解码:
分别计算编码角度分辨率δ与每一方向的角度信息编码后的结果的乘积;
分别将每一方向的所述乘积与前一帧中解码得到的同一方向的角度信息之和对360度取余,得到当前帧中每个方向的角度信息。
10.如权利要求8或9所述的解码方法,其特征在于,当前帧所对应的每一方向的角度信息编码后的结果,均携带于当前帧的头语法结构中;
且该解码方法进一步从当前帧的头语法结构中,提取当前帧所对应的每一方向角度信息编码后的结果。
11.一种声源定向信息的编解码方法,所述声源定向信息包括各音频数据帧对应的任意方向上的角度信息,其特征在于,该编解码方法包括编码的如下步骤:
b1、将当前帧所对应的每个方向的角度信息分别与前一帧中对应的同一方向的角度信息进行差分运算,得到每个方向最高位为符号位的第一差分运算结果;
b2、利用预设的编码角度分辨率δ量化每个方向的第一差分运算结果,得到每个方向最高位为符号位的第二差分运算结果,并将每个方向的第二差分运算结果分别确定为每个方向角度信息编码后的结果;
b3、利用第二差分运算结果、编码角度分辨率δ、以及前一帧中对应的角度信息,更新当前帧中对应方向的角度信息,以补偿量化第一差分运算结果时产生的误差、并供编码下一帧对应方向的角度信息时使用;
该编解码方法包括解码的如下步骤:
利用预设的编码角度分辨率δ、以及在前一帧中解码得到的每个方向的角度信息,分别对当前帧中同一方向角度信息编码后的结果进行解码,得到当前帧中每个方向的角度信息。
12.一种声源定向信息的编解码系统,所述声源定向信息包括各音频数据帧对应的任意方向上的角度信息,且该编解码系统包括相连的编码器和解码器,其特征在于,
所述编码器,用于将当前帧所对应的每个方向的角度信息分别与前一帧中对应的同一方向的角度信息进行差分运算,得到每个方向最高位为符号位的第一差分运算结果;利用预设的编码角度分辨率δ量化每个方向的第一差分运算结果,得到每个方向最高位为符号位的第二差分运算结果,并将每个方向的第二差分运算结果分别确定为每个方向角度信息编码后的结果;利用第二差分运算结果、编码角度分辨率δ、以及前一帧中对应的角度信息,更新当前帧中对应方向的角度信息,以补偿量化第一差分运算结果时产生的误差、并供编码下一帧对应方向的角度信息时使用;
所述解码器,用于利用预设的编码角度分辨率δ、以及在前一帧中解码得到的每个方向的角度信息,分别对当前帧中同一方向角度信息编码后的结果进行解码,得到当前帧中每个方向的角度信息。
CN2009100789312A 2009-02-27 2009-02-27 声源定向信息的编解码方法和系统 Active CN101819775B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100789312A CN101819775B (zh) 2009-02-27 2009-02-27 声源定向信息的编解码方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100789312A CN101819775B (zh) 2009-02-27 2009-02-27 声源定向信息的编解码方法和系统

Publications (2)

Publication Number Publication Date
CN101819775A true CN101819775A (zh) 2010-09-01
CN101819775B CN101819775B (zh) 2012-08-01

Family

ID=42654849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100789312A Active CN101819775B (zh) 2009-02-27 2009-02-27 声源定向信息的编解码方法和系统

Country Status (1)

Country Link
CN (1) CN101819775B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114678021A (zh) * 2022-03-23 2022-06-28 小米汽车科技有限公司 音频信号的处理方法、装置、存储介质及车辆

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BRPI0315326B1 (pt) * 2002-10-14 2017-02-14 Thomson Licensing Sa método para codificar e decodificar a largura de uma fonte de som em uma cena de áudio

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114678021A (zh) * 2022-03-23 2022-06-28 小米汽车科技有限公司 音频信号的处理方法、装置、存储介质及车辆

Also Published As

Publication number Publication date
CN101819775B (zh) 2012-08-01

Similar Documents

Publication Publication Date Title
RU2666282C2 (ru) Устройство и способ для эффективного кодирования метаданных объектов
US11289108B2 (en) System and method for processing audio data
KR101161921B1 (ko) 오디오 디코딩
EP2022045B1 (en) Decoding of predictively coded data using buffer adaptation
JP2007028575A (ja) 二次元コード画像伝送システム及び二次元コード画像伝送レート制御方法
KR101548846B1 (ko) 워터마킹된 신호의 적응적 인코딩 및 디코딩을 위한 디바이스
BR0305556A (pt) Método e codificador para codificar pelo menos parte de um sinal de áudio a fim de obter um sinal codificado, sinal codificado representando pelo menos parte de um sinal de áudio, meio de armazenamento, método e decodificador para decodificar um sinal codificado, transmissor, receptor, e, sistema
CA2440154A1 (en) Picture encoding method and apparatus and picture decoding method and apparatus
EP0765082A3 (en) Subtitle signal encoding/decoding
CN104303229A (zh) 用于维持与参数音频编码器相关联的可逆动态范围控制信息的系统
DE60028579D1 (de) Verfahren und system zur sprachkodierung bei ausfall von datenrahmen
CN101366082B (zh) 可变帧偏移编解码方法、编解码器及无线电通信设备
CN103269257B (zh) 一种检测变长编码码流错误的方法和解码及错误检测装置
CN101819774B (zh) 声源定向信息的编解码方法和系统
CN101819776B (zh) 嵌入和获取声源定向信息的方法及音频编解码方法和系统
CN105103192A (zh) 用于顶点误差校正的方法和装置
US6704701B1 (en) Bi-directional pitch enhancement in speech coding systems
FI118067B (fi) Menetelmä audiosignaalin pakkauksen purkamisessa, pakkauksen purkulaite, ja elektroniikkalaite
CN101819775B (zh) 声源定向信息的编解码方法和系统
EP0917373A3 (en) Encoding/decoding apparatus
CN1867967B (zh) 音频编码中的率失真控制方案
ATE361509T1 (de) Digitale bildkompression durch ausnutzung übereinstimmender msb
JP3977893B2 (ja) 適応的輪郭線符号化方法及びその装置
KR20060004198A (ko) 이동통신 시스템에서 블록 디인터리버 버퍼의 운용 방법및 장치
CN116982313A (zh) 对用于机器视觉的视频进行编码的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20171221

Address after: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee after: Zhongxing Technology Co., Ltd.

Address before: 100083, Haidian District, Xueyuan Road, Beijing No. 35, Nanjing Ning building, 15 Floor

Patentee before: Beijing Vimicro Corporation

TR01 Transfer of patent right
CP01 Change in the name or title of a patent holder

Address after: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee after: Mid Star Technology Limited by Share Ltd

Address before: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee before: Zhongxing Technology Co., Ltd.

CP01 Change in the name or title of a patent holder