可分级音频数据算术解码方法、介质和设备和截去音频数据比特流的方法、介质和设备的制作方法

文档序号:7539885阅读:240来源:国知局
专利名称:可分级音频数据算术解码方法、介质和设备和截去音频数据比特流的方法、介质和设备的制作方法
技术领域
本发明的实施例涉及可分级音频数据解码,更具体地讲,涉及一种可分 级音频数据算术解码的方法、介质和设备和一种截去音频数据比特流的方法、 介质和设备。
背景技术
音频无损编码技术已被用于音频广播和/或存档目的。无损音频编码的主 要技术包括例如使用时间/频率转换或线性预测的熵编码器的应用。
例如当应用通过比特流再解析的分级时,在服务器端在任意位置截去与 帧相应的比特流,并将其发送到解码端。
图1示出传统的算术解码方法。
首先,在操作100,执行初始化,并在操作110,检测期望解码的码元。 在操作120,通过使用相应的上下文,可计算码元存在的概率,然后在操作 130,可执行算术解码,然后在操作140,检查所述码元是否在比特流的末端, 如果所述码元不在比特流的末端,则可再次确定将被解码的码元,并重复上 述:J喿作。当确定所述码元为比特流的末端时,完成解码
发明内容
技术问题
同时,当执行算术解码方法时,获知所有将被解码的码元,或者插入预 定的终止代码,并且将应该完成解码的时间通知给解码器。然而,当截去比 特流时,如图2所示,指示终止代码的信息被截除,并且解码器不知道何时 完成解码。因此,由于不知道精确的终止时间,因此不期望的数据可被解码。
技术解决方案
在此阐述的本发明的实施例包括能够没有解码错误地有效地终止解码的 可分级音频数据算术解码方法、介质和设备。
本发明的实施例还包括截去可分级音频数据比特流的方法、介质和设备。 为了实现上述和/或其他方面和优点,本发明的实施例包括一种用于对可
分级算术编码的码元进行解码的可分级数据算术解码的方法,所述方法包括
通过使用码元和码元的概率对期望的码元进行算术解码,并且通过检查指示
码元的解码是否完成的歧义(ambiguity)来确定是否继续码元的解码,其中, 在确定是否继续解码的步骤中,当在对截去之后剩余的有效比特流解码然后 通过使用空比特执行解码以对为分级截去的比特流解码时,如果在不考虑空 比特的情况下对码元解码,则继续执行解码,如果依赖空比特对码元解码, 并且确定歧义发生,则然后相应地终止解码。
确定是否继续解码的步骤可包括计算K,假设K为下式的右侧的值 ,(A妙一/cw +1).々e《,, , 214
214
该步骤还可包括根据K的值确定是否继续解码,其中,在这些等式中, vl表示在截去后剩余的有效比特流的值,v2表示在截去后截去的比特流的 值,dummy表示v2的比特数,freq表示码元的概率值,high和low分别表示 码元的概率值存在的范围的上限和下限,如果K等于或大于2dummM,则将 码元解码为1 ,如果K等于或小于0,则将码元解码为0,如果K在0和2dummM 之间,则确定歧义发生,并相应地终止解码。
在码元的算术解码之前,所述方法可包括查找码元,并计算码元的概率。
码元的概率的计算可包括从将被解码的比特流的头信息查找解码模式, 并且如果解码模式是基于上下文的算术编码纟莫式(cbac),则通过参考码元的 上下文来获得码元的概率。
在码元的算术解码的步骤中,如果位平面上的第一非零采样;波解码,则 与所述采样相应的符号位可被算术解码,并且在确定歧义发生的步骤中,如 果K在0和2du,y-l之间,则可确定歧义已经发生,并且可通过将在歧义紧 前面被解码的采样设置为0来终止解码。
码元的概率的计算可包括从将被解码的比特流的头信息查找解码模式, 如果解码模式为位平面Golomb模式(bpgc),则假设将被解码的数据具有
Laplacian分布,获得码元的概率。
在码元的算术解码的步骤中,如果位平面上的第一非零釆样被解码,则 与所述采样相应的符号位可被算术解码,和在确定歧义发生的步骤中,如果 K在0和2dummy-l之间,则可确定歧义已经发生,并且通过将在歧义紧前面 被解码的采样设置为0来终止解码。
码元的概率的计算还可包括从将被解码的比特流的头信息查找解码模 式;和如果解码模式是低能量模式,则通过使用比特流头的概率模型信息来 获得码元的概率。
为了实现上述和/或其他方面和优点,本发明的实施例包括一种用于对可 分级算术编码的码元进行解码的可分级数据算术解码设备,所述设备包括 码元解码单元,通过使用码元和码元的概率对期望的码元进行算术解码;和 歧义检查单元,通过检查歧义来确定是否继续解码,所述歧义检查单元包括 解码继续确定单元,所述解码继续确定单元计算K,假设K为下式的右侧的 值,并根据K的值确定是否继续解码
214 214
这里,vl表示在截去后剩余的有效比特流的值,v2表示在截去后截去的 比特流的值,dummy表示v2的比特数,freq表示码元的概率值,high和low 分别表示码元的概率值存在的范围的上限和下限。所述设备还可包括附加解 码单元,如果K等于或大于2du皿y-l,则所述附加解码单元将码元解码为1, 如果K等于或小于O,则将码元解码为0;和解码终止单元,如果K在0和 2du皿y-i之间,则确定歧义发生,并相应地终止解码。
所述设备还可包括码元确定/概率预测单元,查找码元并计算码元的概率。
为了实现上述和/或其他方面和优点,本发明的实施例包括一种截去可分 级数据比特流的方法,所述方法包括从比特流的头解析比特流的长度;通 过读取比特流计算与目标比特率相应的字节;使用计算的目标字节和实际的 比特数之间较小的值改变比特流长度;和基于所述比特流和目标长度存储并 发送截去的比特流。
为了实现上述和/或其他方面和优点,本发明的实施例包括一种用于对可
分级音频算术编码的码元进行解码的可分级音频凄t据算术解码方法,所述方
法包括通过使用码元和码元的概率对期望的码元进行算术解码,并通过检
查指示码元的解码是否完成的歧义来确定是否继续码元的解码,其中,确定
是否继续解码的步骤可包括计算K,假设K为下式的右侧的值
214 214
这里,所述方法还可包括根据K的值确定是否继续解码,其中,在这 些等式中,vl表示在截去后剩余的有效比特流的值,v2表示在截去后截去的 比特流的值,dummy表示v2的比特数,freq表示码元的概率值,high和low 分别表示码元的概率值存在的范围的上限和下限,如果K等于或大于 2dummy_l,则将码元解码为1,如果K等于或小于O,则将码元解码为0,和 如果K在0和2du皿M之间,则确定歧义发生,并相应地终止解码。
为了实现上述和/或其他方面和优点,本发明的实施例包括一种用于对可 分级音频算术编码的码元进行解码的可分级音频数据算术解码方法,所述方 法包括通过使用码元和码元的概率对期望的码元进行算术解码,其中,在 码元的概率的计算中,从将被解码的比特流的头信息查找解码模式,并且如 果解码4莫式是基于上下文的算术编码模式,则通过参考码元的上下文来获得 码元的概率,和通过检查指示码元的解码是否完成的歧义来确定是否继续码 元的解码,其中,确定是否继续解码的步骤包括计算K,假设K为下式的 右侧的值
214 214
这里,所述方法还可包括根据K的值确定是否继续解码,在这些等式 中,vl表示在截去后剩余的有效比特流的值,v2表示在截去后截去的比特流 的值,dummy表示v2的比特数,freq表示码元的概率值,high和low分别表 示码元的概率值存在的范围的上限和下限,如果K等于或大于2dummy-l,则 将码元解码为1,如果K等于或小于O,则将码元解码为0,和如果K在O
和2du皿y-i之间,则确定歧义发生,并相应地终止解码。
在码元的算术解码的步骤中,如果位平面上的第一非零采样被解码,则
与所述采样相应的符号位可被算术解码,和在确定歧义发生的步骤中,如果
K在0和2dummy-l之间,则可确定歧义已经发生,并且通过将在歧义紧前面 被解码的采样:没置为0来相应地终止解码。
为了实现上述和/或其他方面和优点,本发明的实施例包括一种用于对可 分级音频算术编码的码元进行解码的可分级音频数据算术解码方法,所述方 法包括通过使用码元和码元的概率对期望的码元进行算术解码,其中,在 码元的概率的计算中,从将被解码的相应的比特流的头信息查找解码模式, 并且如果解码模式为位平面Golomb模式(bpgc),则假设将被解码的数据具 有Laplacian分布,获得码元的概率,和通过^r查指示码元的解码是否完成的 歧义来确定是否继续解码,其中,确定是否继续解码的步骤包括计算K, 假设K为下式的右侧的值
W1
214 214
这里,所述方法还可包括根据K的值确定是否继续解码,其中,在这 些等式中,vl表示在截去后剩余的有效比特流的值,v2表示在截去后截去的 比特流的值,dummy表示v2的比特数,freq表示码元的概率值,high和low 分别表示码元的概率值存在的范围的上限和下限,如果K等于或大于 2dummM,则将码元解码为1,如果K等于或小于O,则将码元解码为0,和 如果K在0和2du皿M之间,则确定歧义发生,并相应地终止解码。
在码元的算术解码的步骤中,如果位平面上的第一非零采样被解码,则 与所述采样相应的符号位可被算术解码,和其中,在确定歧义发生的步骤中, 如果K在0和2dummy-l之间,则可确定歧义已经发生,并且通过将在歧义紧 前面被解码的采样设置为0来相应地终止解码。
为了实现上述和/或其他方面和优点,本发明的实施例包括一种用于对可 分级音频算术编码的码元进行解码的可分级音频数据算术解码方法,所述方 法包括通过使用码元和码元的概率对期望的码元进行算术解码,其中,在 码元的概率的计算中,从将被解码的相应的比特流的头信息查找解码模式, 并且如果解码模式是低能量模式,则通过使用比特流头的概率模型信息来获 得码元的概率,和通过检查指示码元的解码是否完成的歧义来确定是否继续 解码,其中,确定是否继续解码的步骤包括计算K,假设K为下式的右侧的值
<formula>formula see original document page 13</formula>
这里,所述方法还可包括根据K的值确定是否继续解码,其中,在这 些等式中,vl表示在截去后剩余的有效比特流的值,v2表示在截去后截去的 比特流的值,dummy表示v2的比特数,freq表示码元的概率值,high和low 分別表示码元的概率值存在的范围的上限和下限,如果K等于或大于 2dummy-l,则将码元解码为1,如果K等于或小于O,则将码元解码为0,和 如果K在0和2du皿y-l之间,则确定歧义发生,并相应地终止解码。
为了实现上述和/或其他方面和优点,本发明的实施例包括一种截去可分 级数据比特流的方法,所述方法包括从比特流的头解析比特流的长度,通 过读取比特流计算与目标比特率相应的字节,使用计算的目标字节和实际比 特数之间较小的值改变比特流长度,和基于所述比特流和目标长度存储并发 送截去的比特流,其中,使用下面的等式获得目标字节
target_bits = (int)(target—bitrate/2* 1024.*os£^sampling—rate+0.5)-16;和 target—bytes = (target_bits+7)/8;
这里,target—bitrate表示以比特/秒为单位的期望的目标比特率, samplingjate表示以Hz为单位的输入音频信号的采样频率,osf表示具有1、 2和4中的任意一个值的过采样因数。
为了实现上述和/或其他方面和优点,本发明的实施例包括一种介质,所 述介质包括实现本发明的实施例的计算机可读代码。
将在下面的描述中部分地阐述本发明的附加的方法和/或优点,部分地才艮 据说明书将是清楚的,或可通过本发明的实施而认识到。
有益的效果
根据上面描述的本发明实施例的可分级音频数据算术解码方法、介质和 设备,当在MPEG-4可分级无损音频编码中执行算术解码时,应用可分级的 数据可被进行有效的解码。即使当截去比特流时,可知道解码终止点,从而 可执行截去部分的附加解码。


图1示出传统的算术解码方法;
图2示出普通可分级的比特流截去;
图3示出传统的二进制算术解码的伪码;
图4示出当截去比特流时在截去点附近输入緩冲器的值;
图5示出根据本发明实施例的可分级音频数据的算术解码设备;
图6示出根据本发明实施例的诸如用于图5的算术解码设备的歧义检查
单元;
图7示出根据本发明实施例的可分级音频数据的算术解码;
图8示出根据本发明实施例的应用确定是否继续恢复可分级比特流的附
图9示出根据本发明实施例的发生在符号位的歧义的处理;和 图10示出根据本发明实施例的可分级音频数据的比特流的截去。
具体实施例方式
将详细描述本发明的实施例,其示例示出在附图中,其中,相同的标号 始终代表相同的部件。以下参照附图描述实施例以说明本发明。
因此,现在将更加详细地描述根据本发明实施例的可分级音频数据算术 解码的方法、介质和设备以截去音频数据比特流的方法、介质和设备。
图3示出传统的二进制算术解码的伪码。即,可在MPEG-4可分级无损 音频编码的熵编码器中使用的算术解码算法。
才艮据图3中的伪码,通过frequency 、 low、 high和value的当前值确定解 码码元,然后执行low、 high和value的值的重新调节和更新。
图4示出当截去比特流时在截去点附近输入的緩冲器的值。由于在截去 的緩冲器索引之后不存在有意义的信息,因此输入值没有意义。这里,该值 被称为v2,在緩冲器的剩余部分的值被称为vl。
才艮据本发明的实施例,在v2中存在3比特(空比特),例如,相应地v2 值的范围为从0到7。
图5示出根据本发明实施例的可分级音频数据的算术解码设备。
算术解码设备可包括码元解码单元520和歧义(ambiguity )检查单元M0。 算术解码设备还可包括例如码元确定/概率预测单元500。
码元确定/扭无率预测单元500识别比特流中将被解码的码元,并预测码元 的存在的fe^率。
现在将描述存在码元的概率预测的执行。首先,可从将被解码的比特流
的头信息检测解码模式。如果解码模式是基于上下文的算术编码(cbac)模
式(指通过将被解码的码元的上下文),则可获得码元的概率。如果解码模式
是位平面Golomb编码才莫式,则可通过々i设将纟皮解码的数据的具有Laplacian 分布来获得将被解码的码元的概率。此外,如果解码模式是低能量模式,则 通过使用比特流头的概率模型信息来获得将被解码的码元的存在的概率。
码元解码单元520可使用预测的概率执行码元的算术解码,然后可产生 码元。现在将说明对位平面的符号位的解码。在MPEF-4可分级无损比特流 的解码中,可对位平面上的值中的第一非零采样解码,然后可对与所述采样 相应的符号解码。然而,如果在符号值中发生歧义错误并因为发生歧义错误 立即终止解码,则可能不知道在紧前面被解码的非零采样的符号。为此,当 在符号位中终止解码时,在紧前面被解码的采样被设置为0,并终止所述解 码。
假设下面的等式1和2的右侧的值为K,则jt支义^f企查单元540可计算K, 并且根据K值确定是否继续对码元解码
214
v2,g )./^—v/ + w —i ..(2) 214
这里,vl表示在截去后剩余的有效比特流的值,v2表示在截去后截去的 比特流的值,dummy表示v2的比特数,freq表示码元的概率值,high和low 分别表示码元的概率值存在的范围的上限和下限。[参考14496-4: 2001/PDAM 5, Scalable Lossless Coding ( SLS ), ISO/IEC JTC 1/SC 29/WG 11 N6792]
将更加详细地描述等式1和等式2。在图3中示出的伪码的解码表达式 可4皮分为vl和v2,然后4皮扩展。
如果01 + v2-/ow + l).214 <(/n'g/z_/o>v + l)./ ^ ,则可产生具有1的值的码元 (sym)。这里,如果关于v2对其进行重新整理,则得到等式1。
此夕卜,如果(vl + v2-W + l)-214》(拳-W + l).細,则可产生具有0的值
的码元(sym)。这里,如果关于v2对其进行重新整理,则得到等式2。
在等式1中,如果表达式的右侧的值大于7,则可在不考虑v2的情况下
将码元解码为1。在等式2中,如果右侧表达式的值小于0,则可在不考虑
v2的情况下将码元解码为0。在其他情况下,发生解码歧义并完成解码。
图6示出根据本发明实施例的诸如用于图5的算术解码设备的歧义检查
单元540。
布支设等式1和等式2的右侧值为K,则解码继续确定单元600可计算K 的值,并根据K的值确定是否继续对码元解码。如果K等于或大于2du"1,1, 则附加解码单元620可将码元解码为1,如果K等于或小于O,则附加解码 单元620将码元解码为0。如果K在0和2duramy-l之间,则解码终止单元640 可确定已发生歧义,并终止解码。
图7示出根据本发明实施例的可分级音频数据的算术解码,参照图7, 现在将根据本发明实施例更加详细地描述确定是否继续恢复可分级比特流。
在操作700,可确定将在算术编码的可分级比特流中被解码的码元,在 操作710,可预测确定的码元的概率。
现在将进一步说明执行码元的概率预测。
可从将被解码的比特流的头信息确定解码模式。如果解码模式是基于上 下文的算术编码(cbac)模式(即,通过参照将被解码的码元的上下文),则 可获得码元的存在的概率。如果解码模式是位平面Golomb编码模式,则可 通过假设将被解码的数据的具有Laplacian分布来获得将被解码的码元的概 率。此外,如果解码模式是低能量模式,则通过使用比特流头的概率模型信 息来获得将被解码的码元的存在的概率。
在操:作720,通过^f吏用预测的概率,可算术解码并产生码元。 ,支设等式1和等式2的右侧的值为K,当计算K时,如果在操作730发 现K在0和2du皿y-l之间,则可确定已发生歧义,并在操作740,可确定算 术解码。
在操作750,如果发现K等于或小于O,则在操作760,码元可被解码为 0,如果发现K等于或大于2du,y-l,则在操作770,码元可被解码为1。
图8示出根据本发明实施例的确定是否继续恢复可分级比特流的附加解 码。图8示出被附加解码的5个采样。
在MPEG-4可分级无损解码中,位平面上的值中的第一非零采样被解码,
然后与所述采样相应的符号被解码。然后,如果在符号值中出现歧义错误, 从而因为出现歧义错误立即终止解码,则可能不知道紧前面被解码的非零采
样的符号。为此,当在符号位终止解码时,紧前面被解码的釆样被设置为0, 并终止解码。
图9示出根据本发明实施例的发生在符号位的歧义的处理。 首先,将更加详细地说明BPGC、 CBAC和低能量的每个的算术解码的 伪码。这里,ambiguity一check(f)是用于检测算术解码的歧义的函数,变量f 指示概率1。函数termmate一decoding()是用于当发生歧义时终止LLE数据的 解码的函数。函数smart—decoding—cbacj pgc()是用于在cbac/bpgc模式解码中 不存在输入比特时对附加码元解码的函数。根据本发明实施例的可分级音频 数据算术解码继续直到不存在歧义的点。该码(伪码)包括上述函数 ambiguity一check(f) 和 terminate一decoding() 。 it匕 夕卜, 函 凄t smart—decoding—low一enrgy()是用于在低能量模式中输入比特不存在时对附加 码元解石马的函数。该该码还包4舌函凄t : ambiguity—check(f)和 terminate—decoding(), i口下戶斤示
while ((max—bp[g][sfb] cur—bp[g][sfb]〈LAZY—BP) && (cur—bp[g][sfb]>=
。》{
for (g=0;g<num_windows_group;g++){
for (sfb = 0;sfb<num_sft);sfb++){
if ((cur—bp[g][sfb]>=0) && (lazy—bp[g][sfb] > 0)) { width = swb一offset[g] [sfb+1] swb—offset[g] [sfb]; for (win=0;win<window_group—len[g] ;win++) { for (bin=0;bin<width;bin++) { if(!is—lle—ics—eof())(
if (interval[g][win][sfb][bin] > res [g] [win] [sfb] [bin] + (1《cur一bp[g][sfb]) freq = determine—frequency 0 ;
res [g] [win] [sfb] [bin] += decode(freq )《cur一bp[g][sfb]; /*解石马J立平面cur—bp*/
if ((!is一sig[g][win][sfb][bin]) && (res [g] [win] [sfb] [bin] )) {
/*如果必要则解码符号位*/
res [g] [win] [sfb] [bin] *= (decode(freq_sign)) l:-l; is_sig[g][win][sfb][bin] = 1;
}
else {
smart—decoding_cbac—bpgc(); }
cur—bp[g][sfb];/*进行下一位平面*/
} }
/*低能量模式解码*/
for (g = O;g < num—windows—group; g++){
for (sfb = 0; sfb <num_sfb+num_osf—sfb;sfb++){
if ((cur—bp[g][sfb] >= 0) && (lazy—bp[g][sfb] <= O))
{
width - swb_offset[g][sfb+l] swb—offset[g][sfb]; for (win=0;win<window—group—len[g]; win++) { res [g] [sfb] [win] [bin] = 0; pos = 0;
for (bin=0;bin<width;bin++){
if (! is—lle—ics—eof ()) {
/*解码二进制字符串并重构resV
while (decode(freq_silence[pos])==l) {
res [g] [sfb] [win] [bin] ++;
pos++;if (pos>2) pos = 2;
if (res[g][sfb][win][bin]==(l (max—bp[g][sfb]+l))-l) break; }
/*解码res的符号*/
if (!is—sig[g][win][sfb][bin]) && res[g][sfb][win][bin])( res [g] [sfb] [win] [bin] *= (decode(freq_sign)) -1:1; is—sig[g][win][sfb][bin] = 1;
else smart—decoding一low一energy();
} } }
根据本发明实施例的截去的SLS比特流的算术解码提供用于对与给定的 目标比特率相应的中间层解码的有效方法,从而,即使当在解码緩沖器中没 有比特输入时,有意义的信息也可仍然包括在解码緩沖器中。执行解码处理 直到码元中不存在歧义的点。下面的伪码示出用于在根据本发明实施例的算 术解码模块中检测歧义的算法。变量num—dummy—bits指示因为截去没有输 入到数值緩冲器中的比特数。
int ambiguity 一check(int freq)
/*如果没有》支义,返回1 */
/*否则,返回0*/
upper 二 1 << num—dummy—bits;
decision Val = ((high-low)* freq PRE—SHT)-油e+low隱l; if (decision Val〉upper || decision Val<0) return 0; else return 1;
}
下面,当num—dummy—bits大于0时,可执行smart—decoding一cbac—bpgc()
或smart_decoding_low—enrgy()。为了避免符号位错误,当在对符号位解码的 同时发生歧义时,当前谱线的谱值被设置为0。在根据本发明实施例的算术 解码处理中的所有索引变量自先前的算术解码处理-故继续处理。 smart—decoding—cbac一bpgc()
/*有歧义检测的BPGC/CBAC正常解码*/
while ((max一bp[g][sfb] - cur—bp[g][sfb]<LAZY—BP) && (cur一bp[g][sfb] >=
for (;g<num_windows_group;g++){ for (;sfb<num_sfb;sfb++){
if ((cur_bp[g][sfb]〉=0) && (lazy—bp[g][sfb] > 0)){ width = swb—offset[g][sfb+l] - swb一offset[g][sfb]; for (;win<window_group_len[g] ;win++) { for (;bin<width;bin++){
if (interval[g] [win] [sfb] [bin] > res[g][win][sfb][bin] + (l cur—bp[g][sfb])
freq = determine—frequency(); if (ambiguity —check(freq)) { /*没有歧义的算术解码*/
res[g][win][sfb][bin] += decode(freq ) cur—bp[g] [sfb]; /*对位平面cur—bp解码517
if ((!is—sig[g][win][sfb][bin]) && (res[g][win][sfb][bin] )) { /*如果必要则对符号位解码*/ if (ambiguity _check(freq)) { res[g][win][sfb][bin] *= (decode(freq_sign)) l:-l; is一sig[g][win][sfb][bin] = 1;
else {
/*丢弃符号码元之前的被解码的码元*/ res[g][win][sfb][bin] = 0; terminate一decoding();
else terminate—decoding();
cur—bp[g][sfb]; /*进4亍下一位平面*/
smart—decoding—low—energy()
*低能量模式解码*/ for (;g < num—windows_group; g++){ for (; sfb <num_sfb+num—osf—sfb;sfb++){ if ((cur一bp[g][sfb] >= 0) && (lazy—bp[g] [sfb] <= O))
{
width = swb一offset[g][sfb+l] swb—offset[g][sfb]; for (;win<window_group—len[g] ;win++) { res [g] [sfb] [win] [bin] = 0; pos = 0j
for (;bin<width;bin++){ while (1M
/*如果歧义检查是假,则谱值被设置为0 */
<formula>formula see original document page 21</formula>
pos++;
if (pos>2) pos = 2;
if (res[g][sfb][win][bin]==(l (max—bp[g][sfb]+l))-l) break; }
/*对res的符号位解码*/
if (!is一sig[g][win][sfb][bin]) && res[g][sfb][win][bin]){ /*如果歧义检查是假,则当前语值被设置为0 */
if(! ambiguity _check(freq)) res[g][sfb][win][bin] = 0, terminate—decoding(); res[g] [sfb] [win] [bin] *= (decode(freq_sign)) 國l:l; is—sig[g] [win] [sfb〗[bin] = 1 ;
下面,将根据通过再次解析产生截去的比特流的方法来说明当在头中传 送比特流的大小时,再次解析和比特流截去的处理。
图10示出根据本发明实施例的可分级音频数据的比特流的截去。参照图 10,现在将更加详细地说明截去可分级音频数据的比特流的方法。
在操作1000,可从比特流头信息来解析比特流的长度。在操作1020,可 通过使用等式3和等式4来计算与目标比特率相应的字节。可从外部(例如, 通过服务器或用户)4是供目标比特率。
target—bits = (int)(target一bitrate/2*1024.*osf/sampling_rate+0.5)-16.......(3)
target—bytes = (target_bits+7)/8......(4)
可使用获得的目标字节改变比特流的长度。即,在操作1030,实际的比 特数和target—bytes中较小的值可被确定为比特流的长度。在操作1040,还可 存储和发送目标长度的比特流。
现在将更加详细的说明重新解析和截去比特流的方法。可以以简单的方 式以给定的目标比特率截去SLS比特流。lie—ics—length的值的改变不影响截
去点之前的LLE解码结果。lie—ics—length独立于LLE解码过程。现在将说明 比特流截去。/人比特流读耳又LLE比特流计算给定的目标比特率的可用的帧长 度。计算可用的帧长度的最简单的方法是使用上面的等式3和等式4。
这里,在等式3和等式4中,变量target一bitrate表示以比特/秒为单位的 目标比特率,变量osf表示过采样因数,变量sampling—rate表示以Hz为单位 的输入音频信号的采样频率。通过取可用的帧长度和当前的帧长度中的较'J、 值,lie—ics—length可净皮更新如下
lle一ics一length = min(lle一ics—length, target—bytes)
可产生具有更新的lle_ics—length的截去的比特流。
本发明的实施例还可被实现为介质上(即,在计算机可读记录介质上) 的计算机可读代码。所述介质可以是其后可被计算机系统读取的存储/发送数 据的数据存储装置。所述介质的示例可包括只读存储器(ROM)、随机存 取存储器(RAM)、 CD-ROM、磁带、软盘、和光学数据存储设备,以上这 些Y又为示例。
尽管已经显示和描述了本发明的几个实施例,但是本领域的技术人员应 该理解,在不脱离本发明的原理和精神的情况下,可以对这些实施例进行改 变,本发明的范围由权利要求及其等同物所限定。
权利要求
1、一种用于对可分级算术编码的码元进行解码的可分级数据算术解码的方法,所述方法包括通过使用码元和码元的概率对期望的码元进行算术解码;和通过检查指示码元的解码是否完成的歧义来确定是否继续码元的解码,其中,在确定是否继续解码的步骤中,当在对截去之后剩余的有效比特流解码然后通过使用空比特执行解码以对为分级截去的比特流解码时,如果在不考虑空比特的情况下对码元解码,则继续执行解码,如果依赖空比特对码元解码,并确定歧义发生,则然后相应地终止解码。
2、 如权利要求l所述的方法,其中,确定是否继续解码的步骤包括 计算K,假设K为下式的右侧的值214 214根据K的值确定是否继续解码,在这些等式中,vl表示在截去后剩余的 有效比特流的值,v2表示在截去后截去的比特流的值,dummy表示v2的比 特数,freq表示码元的概率值,high和low分别表示码元的概率值存在的范 围的上限和下限;如果K等于或大于2du皿y-l,则将码元解码为l,如果K等于或小于O, 则将码元解码为0;和如果K在0和2du皿y-l之间,则确定歧义发生,并相应地终止解码。
3、 如权利要求2所述的方法,在码元的算术解码之前,还包括 查找码元;和计算码元的概率。
4、 如权利要求3所述的方法,其中,码元的概率的计算包括从将被解码的比特流的头信息查找解码模式;和 如果解码模式是基于上下文的算术编码模式,则通过参考码元的上下文来获得码元的概率。
5、 如权利要求4所述的方法,其中,在码元的算术解码的步骤中,如果 位平面上的第一非零采样被解码,则与所述采样相应的符号位被算术解码,和在确定歧义发生的步骤中,如果K在0和2dummy-l之间,则确定歧义已 经发生,并且通过将在歧义紧前面被解码的采样设置为0来终止解码。
6、 如权利要求3所述的方法,其中,码元的概率的计算包括 从将被解码的比特流的头信息查找解码模式;和如果解码模式为位平面Golomb模式,则假设将被解码的数据具有 Laplacian分布,获得码元的概率。
7、 如权利要求3所述的方法,其中,在码元的算术解码的步骤中,如果 位平面上的第一非零采样^皮解码,则与所述采样相应的符号位被算术解码, 和其中,在确定发生歧义的步骤中,如果K在o和2du,y-i之间,则确定 歧义已经发生,并且通过将在歧义紧前面被解码的采样设置为o来终止解码。
8、 如权利要求3所述的方法,其中,码元的概率的计算包括 从将被解码的比特流的头信息查找解码模式;和如果解码模式是低能量模式,则通过使用比特流头的概率模型信息来获 得码元的概率。
9、 一种用于对可分级算术编码的码元进行解码的可分级数据算术解码设 备,所述设备包括码元解码单元,通过使用码元和码元的概率对期望的码元进行算术解码;和歧义检查单元,通过检查歧义来确定是否继续解码,所述歧义检查单元 包括解码继续确定单元,所述解码继续确定单元计算K,〗叚设K为下式的右 側的值,并4艮据K的值确定是否继续解码,214 214其中,vl表示在截去后剩余的有效比特流的值,v2表示在截去后截去的 比特流的值,dummy表示v2的比特数,fr叫表示码元的概率值,high和low 分别表示码元的概率值存在的范围的上限和下限;附加解码单元,如果K等于或大于2dummy-l,则所述附加解码单元将码 元解码为1,如果K等于或小于O,则将码元解码为0;和解码终止单元,如果K在o和2du議y-i之间,则确定歧义发生,并相应地终止解码。
10、 如权利要求9所述的设备,还包括码元确定/概率预测单元,查找 码元并计算码元的概率。
11、 一种截去可分级数据比特流的方法,所述方法包括 从比特流的头解析比特流的长度; 通过读取比特流计算与目标比特率相应的字节;使用计算的目标字节和实际比特数之间较小的值改变比特流长度;和 基于所述比特流和目标长度存储并发送截去的比特流。
12、 一种用于对可分级音频算术编码的码元进行解码的可分级音频数据 算术解码方法,所述方法包括通过使用码元和码元的概率对期望的码元进行算术解码;和 通过4企查指示码元的解码是否完成的歧义来确定是否继续码元的解码, 其中,确定是否继续解码的步骤包括 计算K,假设K为下式的右侧的值214 214根据K的值确定是否继续解码,其中,在这些等式中,vl表示在截去后 剩余的有效比特流的值,v2表示在截去后截去的比特流的值,dummy表示 v2的比特数,freq表示码元的概率值,high和low分别表示码元的概率值存 在的范围的上限和下限;如果K等于或大于2du"^y-l,则将码元解码为1,如果K等于或小于O, 则将码元解码为0;和如果K在0和2dummM之间,则确定歧义发生,并相应地终止解码。
13、 一种用于对可分级音频算术编码的码元进行解码的可分级音频数据 算术解码方法,所述方法包括通过使用码元和码元的概率对期望的码元进行算术解码,其中,在码元 的概率的计算中,从将被解码的比特流的头信息查找解码模式,并且如果解 码模式是基于上下文的算术编码模式,则通过参考码元的上下文来获得码元 的概率;和 通过检查指示码元的解码是否完成的歧义来确定是否继续码元的解码,其中,确定是否继续解码的步骤包括 计算K,假设K为下式的右侧的值<formula>formula see original document page 5</formula>根据K的值确定是否继续解码,其中,在这些等式中,vl表示在截去后 剩余的有效比特流的值,v2表示在截去后截去的比特流的值,dummy表示 v2的比特数,fr叫表示码元的概率值,high和low分别表示码元的概率值存 在的范围的上限和下限;如果K等于或大于2du,y-l,则将码元解码为l,如果K等于或小于O, 则将码元解码为0;和如果K在0和2d"m呵-l之间,则确定歧义发生,并相应地终止解码。
14、 如权利要求13所述的方法,其中,在码元的算术解码的步骤中,如 果位平面上的第一非零采样被解码,则与所述釆样相应的符号位被算术解码, 和在确定歧义发生的步骤中,如果K在0和2dummy-l之间,则确定歧义已 经发生,并且通过将在歧义紧前面被解码的采样设置为O来相应地终止解码。
15、 一种用于对可分级音频算术编码的码元进行解码的可分级音频数据 算术解码方法,所述方法包括通过使用码元和码元的概率对期望的码元进行算术解码,其中,在码元 的概率的计算中,从将被解码的相应的比特流的头信息查找解码模式,并且 如果解码模式为位平面Golomb模式,则假设将被解码的数据具有Laplacian 分布,获得码元的^f既率;和通过^r查指示码元的解码是否完成的歧义来确定是否继续解码,其中,确定是否继续解码的步骤包括计算K,假设K为下式的右侧的值<formula>formula see original document page 5</formula>根据K的值确定是否继续解码,其中,在这些等式中,vl表示在截去后 剩余的有效比特流的值,v2表示在截去后截去的比特流的值,dummy表示 v2的比特数,fr叫表示码元的概率值,high和low分别表示码元的概率值存 在的范围的上限和下限;如果K等于或大于2du,y-l,则将码元解码为l,如果K等于或小于O, 则将码元解码为0;和如果K在0和2dummy-l之间,则确定歧义发生,并相应地终止解码。
16、 如权利要求15所述的方法,其中,在码元的算术解码的步骤中,如 果位平面上的第一非零采样被解码,则与所述采样相应的符号位被算术解码, 和其中,在确定歧义发生的步骤中,如果K在o和2du皿y-i之间,则确定 歧义已经发生,并且通过将在歧义紧前面被解码的采样设置为o来相应地终 止解码。
17、 一种用于对可分级音频算术编码的码元进行解码的可分级音频数据 算术解码方法,所述方法包括通过使用码元和码元的概率对期望的码元进行算术解码,其中,在码元 的概率的计算中,从将被解码的相应的比特流的头信息查找解码模式,并且 如果解码模式是低能量模式,则通过使用比特流头的概率模型信息来获得码 元的概率;和通过检查指示码元的解码是否完成的歧义来确定是否继续解码,其中,确定是否继续解码的步骤包括计算K,〗叚i殳K为下式的右侧的值v2<(%/z-, + l)./,_v, + w —i 214v2,妙—"4+1)'^g-V/ + /,-l 214根据K的值确定是否继续解码,其中,在这些等式中,vl表示在截去后 剩余的有效比特流的值,v2表示在截去后截去的比特流的值,dummy表示 v2的比特数,freq表示码元的概率值,high和low分别表示码元的概率值存 在的范围的上限和下限;如果K等于或大于2du皿y-l,则将码元解码为l,如果K等于或小于O, 则将码元解码为0;和如果K在0和2du,y-l之间,则确定歧义发生,并相应地终止解码。
18、 一种截去可分级数据比特流的方法,所述方法包括 从比特流的头解析比特流的长度; 通过读取比特流计算与目标比特率相应的字节;使用计算的目标字节和实际比特数之间较小的值改变比特流长度;和 基于所述比特流和目标长度存储并发送截去的比特流, 其中,^使用下面的等式获得目标字节target一bits = (int)(target一bitrate/2* 1024. * osf/sampling一rate+0.5)-16; 和 target—bytes = (target_bits+7)/8;其中,target一bitrate表示以比特/秒为单位的期望的目标比特率, sampling—rate表示以Hz为单位的输入音频信号的采样频率,osf表示具有1、 2和4中的任意一个值的过采样因数。
19、 一种介质,所述介质包括实现权利要求1到8和权利要求11到18 的任意一种方法的计算机可读代码。
全文摘要
一种可分级音频数据算术解码的方法、介质和设备和一种截去音频数据比特流的方法、介质和设备。对可分级算术编码的码元进行解码的算术解码的方法可包括通过使用期望被解码的码元和码元的概率对码元进行算术解码;和通过检查指示将被解码的码元的解码是否完成的歧义来确定是否继续解码。根据本发明的方法、介质和设备,当在MPEG-4可分级无损音频编码中执行算术解码时,应用可分级的数据可被进行有效的解码。即使当截去比特流时,也可知道解码终止点,从而可执行截去部分的附加解码。
文档编号H03M7/30GK101103531SQ200680002144
公开日2008年1月9日 申请日期2006年1月12日 优先权日2005年1月12日
发明者吴殷美, 孙昌用, 朱基岘, 金重会 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1