CN101673546A - 算术解码方法和设备及截去音频数据比特流的方法和设备 - Google Patents

算术解码方法和设备及截去音频数据比特流的方法和设备 Download PDF

Info

Publication number
CN101673546A
CN101673546A CN200910204741A CN200910204741A CN101673546A CN 101673546 A CN101673546 A CN 101673546A CN 200910204741 A CN200910204741 A CN 200910204741A CN 200910204741 A CN200910204741 A CN 200910204741A CN 101673546 A CN101673546 A CN 101673546A
Authority
CN
China
Prior art keywords
decoding
code element
decoded
ambiguity
bit
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
CN200910204741A
Other languages
English (en)
Other versions
CN101673546B (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN101673546A publication Critical patent/CN101673546A/zh
Application granted granted Critical
Publication of CN101673546B publication Critical patent/CN101673546B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/0017Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/038Speech enhancement, e.g. noise reduction or echo cancellation using band spreading techniques
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

一种可分级音频数据算术解码的方法和设备和一种截去音频数据比特流的方法和设备。对可分级算术编码的码元进行解码的算术解码的方法可包括:通过使用期望被解码的码元和码元的概率对码元进行算术解码;和通过检查指示将被解码的码元的解码是否完成的歧义来确定是否继续解码。根据本发明的方法、介质和设备,当在MPEG-4可分级无损音频编码中执行算术解码时,应用可分级的数据可被进行有效的解码。即使当截去比特流时,也可知道解码终止点,从而可执行截去部分的附加解码。

Description

算术解码方法和设备及截去音频数据比特流的方法和设备
本申请是申请人为三星电子株式会社、申请日为2006年1月12日、申请号为200680002144.4(国际公布号WO2006/075877)、发明名称为“算术解码方法和设备及截去音频数据比特流的方法和设备”的中国专利申请的分案申请。
技术领域
本发明的实施例涉及可分级音频数据解码,更具体地讲,涉及一种可分级音频数据算术解码的方法、介质和设备和一种截去音频数据比特流的方法、介质和设备。
背景技术
音频无损编码技术已被用于音频广播和/或存档目的。无损音频编码的主要技术包括例如使用时间/频率转换或线性预测的熵编码器的应用。
例如当应用通过比特流再解析的分级时,在服务器端在任意位置截去与帧相应的比特流,并将其发送到解码端。
图1示出传统的算术解码方法。
首先,在操作100,执行初始化,并在操作110,检测期望解码的码元。在操作120,通过使用相应的上下文,可计算码元存在的概率,然后在操作130,可执行算术解码,然后在操作140,检查所述码元是否在比特流的末端,如果所述码元不在比特流的末端,则可再次确定将被解码的码元,并重复上述操作。当确定所述码元为比特流的末端时,完成解码。
发明内容
技术问题
同时,当执行算术解码方法时,获知所有将被解码的码元,或者插入预定的终止代码,并且将应该完成解码的时间通知给解码器。然而,当截去比特流时,如图2所示,指示终止代码的信息被截除,并且解码器不知道何时完成解码。因此,由于不知道精确的终止时间,因此不期望的数据可被解码。
技术解决方案
在此阐述的本发明的实施例包括能够没有解码错误地有效地终止解码的可分级音频数据算术解码方法、介质和设备。
本发明的实施例还包括截去可分级音频数据比特流的方法、介质和设备。
为了实现上述和/或其他方面和优点,本发明的实施例包括一种用于对可分级算术编码的码元进行解码的可分级数据算术解码的方法,所述方法包括:通过使用码元和码元的概率对期望的码元进行算术解码,并且通过检查指示码元的解码是否完成的歧义(ambiguity)来确定是否继续码元的解码,其中,在确定是否继续解码的步骤中,当在对截去之后剩余的有效比特流解码然后通过使用空比特执行解码以对为分级截去的比特流解码时,如果在不考虑空比特的情况下对码元解码,则继续执行解码,如果依赖空比特对码元解码,并且确定歧义发生,则然后相应地终止解码。
确定是否继续解码的步骤可包括计算K,假设K为下式的右侧的值:
v 2 < ( high - low + 1 ) &CenterDot; freq 2 14 - vl + low - 1
v 2 &GreaterEqual; ( high - low + 1 ) &CenterDot; freq 2 14 - vl + low - 1
该步骤还可包括根据K的值确定是否继续解码,其中,在这些等式中,v1表示在截去后剩余的有效比特流的值,v2表示在截去后截去的比特流的值,dummy表示v2的比特数,freq表示码元的概率值,high和low分别表示码元的概率值存在的范围的上限和下限,如果K等于或大于2dummy-1,则将码元解码为1,如果K等于或小于0,则将码元解码为0,如果K在0和2dummy-1之间,则确定歧义发生,并相应地终止解码。
在码元的算术解码之前,所述方法可包括:查找码元,并计算码元的概率。
码元的概率的计算可包括:从将被解码的比特流的头信息查找解码模式,并且如果解码模式是基于上下文的算术编码模式(cbac),则通过参考码元的上下文来获得码元的概率。
在码元的算术解码的步骤中,如果位平面上的第一非零采样被解码,则与所述采样相应的符号位可被算术解码,并且在确定歧义发生的步骤中,如果K在0和2dummy-1之间,则可确定歧义已经发生,并且可通过将在歧义紧前面被解码的采样设置为0来终止解码。
码元的概率的计算可包括从将被解码的比特流的头信息查找解码模式,如果解码模式为位平面Golomb模式(bpgc),则假设将被解码的数据具有Laplacian分布,获得码元的概率。
在码元的算术解码的步骤中,如果位平面上的第一非零采样被解码,则与所述采样相应的符号位可被算术解码,和在确定歧义发生的步骤中,如果K在0和2dummy-1之间,则可确定歧义已经发生,并且通过将在歧义紧前面被解码的采样设置为0来终止解码。
码元的概率的计算还可包括:从将被解码的比特流的头信息查找解码模式;和如果解码模式是低能量模式,则通过使用比特流头的概率模型信息来获得码元的概率。
为了实现上述和/或其他方面和优点,本发明的实施例包括一种用于对可分级算术编码的码元进行解码的可分级数据算术解码设备,所述设备包括:码元解码单元,通过使用码元和码元的概率对期望的码元进行算术解码;和歧义检查单元,通过检查歧义来确定是否继续解码,所述歧义检查单元包括解码继续确定单元,所述解码继续确定单元计算K,假设K为下式的右侧的值,并根据K的值确定是否继续解码:
v 2 < ( high - low + 1 ) &CenterDot; freq 2 14 - vl + low - 1
v 2 &GreaterEqual; ( high - low + 1 ) &CenterDot; freq 2 14 - vl + low - 1
这里,v1表示在截去后剩余的有效比特流的值,v2表示在截去后截去的比特流的值,dummy表示v2的比特数,freq表示码元的概率值,high和low分别表示码元的概率值存在的范围的上限和下限。所述设备还可包括附加解码单元,如果K等于或大于2dummy-1,则所述附加解码单元将码元解码为1,如果K等于或小于0,则将码元解码为0;和解码终止单元,如果K在0和2dummy-1之间,则确定歧义发生,并相应地终止解码。
所述设备还可包括:码元确定/概率预测单元,查找码元并计算码元的概率。
为了实现上述和/或其他方面和优点,本发明的实施例包括一种截去可分级数据比特流的方法,所述方法包括:从比特流的头解析比特流的长度;通过读取比特流计算与目标比特率相应的字节;使用计算的目标字节和实际的比特数之间较小的值改变比特流长度;和基于所述比特流和目标长度存储并发送截去的比特流。
为了实现上述和/或其他方面和优点,本发明的实施例包括一种用于对可分级音频算术编码的码元进行解码的可分级音频数据算术解码方法,所述方法包括:通过使用码元和码元的概率对期望的码元进行算术解码,并通过检查指示码元的解码是否完成的歧义来确定是否继续码元的解码,其中,确定是否继续解码的步骤可包括:计算K,假设K为下式的右侧的值:
v 2 < ( high - low + 1 ) &CenterDot; freq 2 14 - vl + low - 1
v 2 &GreaterEqual; ( high - low + 1 ) &CenterDot; freq 2 14 - vl + low - 1
这里,所述方法还可包括:根据K的值确定是否继续解码,其中,在这些等式中,v1表示在截去后剩余的有效比特流的值,v2表示在截去后截去的比特流的值,dummy表示v2的比特数,freq表示码元的概率值,high和low分别表示码元的概率值存在的范围的上限和下限,如果K等于或大于2dummy-1,则将码元解码为1,如果K等于或小于0,则将码元解码为0,和如果K在0和2dummy-1之间,则确定歧义发生,并相应地终止解码。
为了实现上述和/或其他方面和优点,本发明的实施例包括一种用于对可分级音频算术编码的码元进行解码的可分级音频数据算术解码方法,所述方法包括:通过使用码元和码元的概率对期望的码元进行算术解码,其中,在码元的概率的计算中,从将被解码的比特流的头信息查找解码模式,并且如果解码模式是基于上下文的算术编码模式,则通过参考码元的上下文来获得码元的概率,和通过检查指示码元的解码是否完成的歧义来确定是否继续码元的解码,其中,确定是否继续解码的步骤包括:计算K,假设K为下式的右侧的值:
v 2 < ( high - low + 1 ) &CenterDot; freq 2 14 - vl + low - 1
v 2 &GreaterEqual; ( high - low + 1 ) &CenterDot; freq 2 14 - vl + low - 1
这里,所述方法还可包括:根据K的值确定是否继续解码,在这些等式中,v1表示在截去后剩余的有效比特流的值,v2表示在截去后截去的比特流的值,dummy表示v2的比特数,freq表示码元的概率值,high和low分别表示码元的概率值存在的范围的上限和下限,如果K等于或大于2dummy-1,则将码元解码为1,如果K等于或小于0,则将码元解码为0,和如果K在0和2dummy-1之间,则确定歧义发生,并相应地终止解码。
在码元的算术解码的步骤中,如果位平面上的第一非零采样被解码,则与所述采样相应的符号位可被算术解码,和在确定歧义发生的步骤中,如果K在0和2dummy-1之间,则可确定歧义已经发生,并且通过将在歧义紧前面被解码的采样设置为0来相应地终止解码。
为了实现上述和/或其他方面和优点,本发明的实施例包括一种用于对可分级音频算术编码的码元进行解码的可分级音频数据算术解码方法,所述方法包括:通过使用码元和码元的概率对期望的码元进行算术解码,其中,在码元的概率的计算中,从将被解码的相应的比特流的头信息查找解码模式,并且如果解码模式为位平面Golomb模式(bpgc),则假设将被解码的数据具有Laplacian分布,获得码元的概率,和通过检查指示码元的解码是否完成的歧义来确定是否继续解码,其中,确定是否继续解码的步骤包括:计算K,假设K为下式的右侧的值:
v 2 < ( high - low + 1 ) &CenterDot; freq 2 14 - vl + low - 1
v 2 &GreaterEqual; ( high - low + 1 ) &CenterDot; freq 2 14 - vl + low - 1
这里,所述方法还可包括:根据K的值确定是否继续解码,其中,在这些等式中,v1表示在截去后剩余的有效比特流的值,v2表示在截去后截去的比特流的值,dummy表示v2的比特数,freq表示码元的概率值,high和low分别表示码元的概率值存在的范围的上限和下限,如果K等于或大于2dummy-1,则将码元解码为1,如果K等于或小于0,则将码元解码为0,和如果K在0和2dummy-1之间,则确定歧义发生,并相应地终止解码。
在码元的算术解码的步骤中,如果位平面上的第一非零采样被解码,则与所述采样相应的符号位可被算术解码,和其中,在确定歧义发生的步骤中,如果K在0和2dummy-1之间,则可确定歧义已经发生,并且通过将在歧义紧前面被解码的采样设置为0来相应地终止解码。
为了实现上述和/或其他方面和优点,本发明的实施例包括一种用于对可分级音频算术编码的码元进行解码的可分级音频数据算术解码方法,所述方法包括:通过使用码元和码元的概率对期望的码元进行算术解码,其中,在码元的概率的计算中,从将被解码的相应的比特流的头信息查找解码模式,并且如果解码模式是低能量模式,则通过使用比特流头的概率模型信息来获得码元的概率,和通过检查指示码元的解码是否完成的歧义来确定是否继续解码,其中,确定是否继续解码的步骤包括:计算K,假设K为下式的右侧的值:
v 2 < ( high - low + 1 ) &CenterDot; freq 2 14 - vl + low - 1
v 2 &GreaterEqual; ( high - low + 1 ) &CenterDot; freq 2 14 - vl + low - 1
这里,所述方法还可包括:根据K的值确定是否继续解码,其中,在这些等式中,v1表示在截去后剩余的有效比特流的值,v2表示在截去后截去的比特流的值,dummy表示v2的比特数,freq表示码元的概率值,high和low分别表示码元的概率值存在的范围的上限和下限,如果K等于或大于2dummy-1,则将码元解码为1,如果K等于或小于0,则将码元解码为0,和如果K在0和2dummy-1之间,则确定歧义发生,并相应地终止解码。
为了实现上述和/或其他方面和优点,本发明的实施例包括一种截去可分级数据比特流的方法,所述方法包括:从比特流的头解析比特流的长度,通过读取比特流计算与目标比特率相应的字节,使用计算的目标字节和实际比特数之间较小的值改变比特流长度,和基于所述比特流和目标长度存储并发送截去的比特流,其中,使用下面的等式获得目标字节:
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中的任意一个值的过采样因数。
为了实现上述和/或其他方面和优点,本发明的实施例包括一种介质,所述介质包括实现本发明的实施例的计算机可读代码。
将在下面的描述中部分地阐述本发明的附加的方法和/或优点,部分地根据说明书将是清楚的,或可通过本发明的实施而认识到。
有益的效果
根据上面描述的本发明实施例的可分级音频数据算术解码方法、介质和设备,当在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,在缓冲器的剩余部分的值被称为v1。
根据本发明的实施例,在v2中存在3比特(空比特),例如,相应地v2值的范围为从0到7。
图5示出根据本发明实施例的可分级音频数据的算术解码设备。
算术解码设备可包括码元解码单元520和歧义(ambiguity)检查单元540。算术解码设备还可包括:例如码元确定/概率预测单元500。
码元确定/概率预测单元500识别比特流中将被解码的码元,并预测码元的存在的概率。
现在将描述存在码元的概率预测的执行。首先,可从将被解码的比特流的头信息检测解码模式。如果解码模式是基于上下文的算术编码(cbac)模式(指通过将被解码的码元的上下文),则可获得码元的概率。如果解码模式是位平面Golomb编码模式,则可通过假设将被解码的数据的具有Laplacian分布来获得将被解码的码元的概率。此外,如果解码模式是低能量模式,则通过使用比特流头的概率模型信息来获得将被解码的码元的存在的概率。
码元解码单元520可使用预测的概率执行码元的算术解码,然后可产生码元。现在将说明对位平面的符号位的解码。在MPEF-4可分级无损比特流的解码中,可对位平面上的值中的第一非零采样解码,然后可对与所述采样相应的符号解码。然而,如果在符号值中发生歧义错误并因为发生歧义错误立即终止解码,则可能不知道在紧前面被解码的非零采样的符号。为此,当在符号位中终止解码时,在紧前面被解码的采样被设置为0,并终止所述解码。
假设下面的等式1和2的右侧的值为K,则歧义检查单元540可计算K,并且根据K值确定是否继续对码元解码:
v 2 < ( high - low + 1 ) &CenterDot; freq 2 14 - vl + low - 1 . . . ( 1 )
v 2 &GreaterEqual; ( high - low + 1 ) &CenterDot; freq 2 14 - vl + low - 1 . . . ( 2 )
这里,v1表示在截去后剩余的有效比特流的值,v2表示在截去后截去的比特流的值,dummy表示v2的比特数,freq表示码元的概率值,high和low分别表示码元的概率值存在的范围的上限和下限。[参考14496-4:2001/PDAM 5,Scalable Lossless Coding(SLS),ISO/IEC JTC 1/SC 29/WG 11N6792]
将更加详细地描述等式1和等式2。在图3中示出的伪码的解码表达式可被分为v1和v2,然后被扩展。
如果(v1+v2-low+1)·214<(high-low+1)·freq,则可产生具有1的值的码元(sym)。这里,如果关于v2对其进行重新整理,则得到等式1。
此外,如果(v1+v2-low+1)·214≥(high-low+1)·freq,则可产生具有0的值的码元(sym)。这里,如果关于v2对其进行重新整理,则得到等式2。
在等式1中,如果表达式的右侧的值大于7,则可在不考虑v2的情况下将码元解码为1。在等式2中,如果右侧表达式的值小于0,则可在不考虑v2的情况下将码元解码为0。在其他情况下,发生解码歧义并完成解码。
图6示出根据本发明实施例的诸如用于图5的算术解码设备的歧义检查单元540。
假设等式1和等式2的右侧值为K,则解码继续确定单元600可计算K的值,并根据K的值确定是否继续对码元解码。如果K等于或大于2dummy-1,则附加解码单元620可将码元解码为1,如果K等于或小于0,则附加解码单元620将码元解码为0。如果K在0和2dummy-1之间,则解码终止单元640可确定已发生歧义,并终止解码。
图7示出根据本发明实施例的可分级音频数据的算术解码,参照图7,现在将根据本发明实施例更加详细地描述确定是否继续恢复可分级比特流。
在操作700,可确定将在算术编码的可分级比特流中被解码的码元,在操作710,可预测确定的码元的概率。
现在将进一步说明执行码元的概率预测。
可从将被解码的比特流的头信息确定解码模式。如果解码模式是基于上下文的算术编码(cbac)模式(即,通过参照将被解码的码元的上下文),则可获得码元的存在的概率。如果解码模式是位平面Golomb编码模式,则可通过假设将被解码的数据的具有Laplacian分布来获得将被解码的码元的概率。此外,如果解码模式是低能量模式,则通过使用比特流头的概率模型信息来获得将被解码的码元的存在的概率。
在操作720,通过使用预测的概率,可算术解码并产生码元。
假设等式1和等式2的右侧的值为K,当计算K时,如果在操作730发现K在0和2dummy-1之间,则可确定已发生歧义,并在操作740,可终止算术解码。
在操作750,如果发现K等于或小于0,则在操作760,码元可被解码为0,如果发现K等于或大于2dummy-1,则在操作770,码元可被解码为1。
图8示出根据本发明实施例的确定是否继续恢复可分级比特流的附加解码。图8示出被附加解码的5个采样。
在MPEG-4可分级无损解码中,位平面上的值中的第一非零采样被解码,然后与所述采样相应的符号被解码。然后,如果在符号值中出现歧义错误,从而因为出现歧义错误立即终止解码,则可能不知道紧前面被解码的非零采样的符号。为此,当在符号位终止解码时,紧前面被解码的采样被设置为0,并终止解码。
图9示出根据本发明实施例的发生在符号位的歧义的处理。
首先,将更加详细地说明BPGC、CBAC和低能量的每个的算术解码的伪码。这里,ambiguity_check(f)是用于检测算术解码的歧义的函数,变量f指示概率1。函数terminate_decoding()是用于当发生歧义时终止LLE数据的解码的函数。函数smart_decoding_cbac_bpgc()是用于在cbac/bpgc模式解码中不存在输入比特时对附加码元解码的函数。根据本发明实施例的可分级音频数据算术解码继续直到不存在歧义的点。该码(伪码)包括上述函数:ambiguity_check(f)和terminate_decoding()。此外,函数smart_decoding_low_enrgy()是用于在低能量模式中输入比特不存在时对附加码元解码的函数。该该码还包括函数:ambiguity_check(f)和terminate_decoding(),如下所示:
 while((max_bp[g][sfb]cur_bp[g][sfb]<LAZY_BP)&&(cur_bp[g][sfb]>=
0)){
  for(g=0;g<num_windows_group;g++){
  for(sfb=0;sfb<num_sfb;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();
res[g][win][sfb][bin]+=decode(freq)<<cur_bp[g][sfb];
/*解码位平面cur_bp*/
if((!is_sig[g][win][sfb][bin])&&(res[g][win][sfb][bin])){
/*如果必要则解码符号位*/
res[g][win][sfb][bin]*=(decode(freq_sign))?1:-1;
is_sig[g][win][sfb][bin]=1;
}
}
}
else{
smart_decoding_cbac_bpgc();
}
}
}
cur_bp[g][sfb];/*进行下一位平面*/
}
}
}
}
/*低能量模式解码*/
for(g=0;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]<=0))
{
width=swb_offset[g][sfb+1]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()){
/*解码二进制字符串并重构res*/
while(decode(freq_silence[pos])==1){
res[g][sfb][win][bin]++;
pos++;
if(pos>2)pos=2;
if(res[g][sfb][win][bin]==(1<<(max_bp[g][sfb]+1))-1)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;
decisionVal=((high-low)*freq>>PRE_SHT)-value+low-1;
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]>=
0)){
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+1]-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]+(1<<cur_bp[g][sfb])
{
freq=determine_frequency();
if(ambiguity_check(freq)){
/*没有歧义的算术解码*/
res[g][win][sfb][bin]+=decode(freq)<<cur_bp[g][sfb];
/*对位平面cur_bp解码*/
if((!is_sig[g][win][sfb][bin])&&(res[g][win][sfb][bin])){
/*如果必要则对符号位解码*/
if(ambiguity_check(freq)){
res[g][win][sfb][bin]*=(decode(freq_sign))?1:-1;
is_sig[g][win][sfb][bin]=1;
}
else{
/*丢弃符号码元之前的被解码的码元*/
res[g][win][sfb][bin]=0;
terminate_decoding();
}
}
}
else terminate_decoding();
}
}
}
cur_bp[g][sfb];/*进行下一位平面*/
}
}
}
}
}
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]<=0))
{
width=swb_offset[g][sfb+1]swb_offset[g][sfb];
for(;win<window_group_len[g];win++){
res[g][sfb][win][bin]=0;
pos=0;
for(;bin<width;bin++){
while(1){
/*如果歧义检查是假,则谱值被设置为0*/
if(!ambiguity_check(freq))res[g][sfb][win][bin]=0,terminate_decoding();
tmp=decode(freq_silence[pos]);
if(tmp==0)break;
res[g][sfb][win][bin]++;
pos++;
if(pos>2)pos=2;
if(res[g][sfb][win][bin]==(1<<(max_bp[g][sfb]+1))-1)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))?-1:1;
is_sig[g][win][sfb][bin]=1;
}
}
}
}
}
}
}
下面,将根据通过再次解析产生截去的比特流的方法来说明当在头中传送比特流的大小时,再次解析和比特流截去的处理。
图10示出根据本发明实施例的可分级音频数据的比特流的截去。参照图10,现在将更加详细地说明截去可分级音频数据的比特流的方法。
在操作1000,可从比特流头信息来解析比特流的长度。在操作1020,可通过使用等式3和等式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比特流。lle_ics_length的值的改变不影响截去点之前的LLE解码结果。lle_ics_length独立于LLE解码过程。现在将说明比特流截去。从比特流读取LLE比特流计算给定的目标比特率的可用的帧长度。计算可用的帧长度的最简单的方法是使用上面的等式3和等式4。
这里,在等式3和等式4中,变量target_bitrate表示以比特/秒为单位的目标比特率,变量osf表示过采样因数,变量sampling_rate表示以Hz为单位的输入音频信号的采样频率。通过取可用的帧长度和当前的帧长度中的较小值,lle_ics_length可被更新如下:
lle_ics_length=min(lle_ics_length,target_bytes)
可产生具有更新的lle_ics_length的截去的比特流。
本发明的实施例还可被实现为介质上(即,在计算机可读记录介质上)的计算机可读代码。所述介质可以是其后可被计算机系统读取的存储/发送数据的数据存储装置。所述介质的示例可包括:只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘、和光学数据存储设备,以上这些仅为示例。
尽管已经显示和描述了本发明的几个实施例,但是本领域的技术人员应该理解,在不脱离本发明的原理和精神的情况下,可以对这些实施例进行改变,本发明的范围由权利要求及其等同物所限定。

Claims (9)

1、一种用于对可分级算术编码的码元进行解码的可分级数据算术解码的方法,所述方法包括:
通过使用码元和码元的概率对期望的码元进行算术解码;和
通过检查指示码元的解码是否完成的歧义来确定是否继续码元的解码。
2、如权利要求1所述的方法,其中,在确定是否继续解码的步骤中,当在对截去之后剩余的有效比特流解码然后通过使用空比特执行解码以对为分级截去的比特流解码时,如果在不考虑空比特的情况下对码元解码,则继续执行解码,如果依赖空比特对码元解码,并确定歧义发生,则然后相应地终止解码。
3、如权利要求1所述的方法,其中,确定是否继续解码的步骤包括:
计算K,假设K为下式的右侧的值:
v 2 < ( high - low + 1 ) &CenterDot; freq 2 14 - vl + low - 1
v 2 &GreaterEqual; ( high - low + 1 ) &CenterDot; freq 2 14 - vl + low - 1
根据K的值确定是否继续解码,在这些等式中,v1表示在截去后剩余的有效比特流的值,v2表示在截去后截去的比特流的值,dummy表示v2的比特数,freq表示码元的概率值,high和low分别表示码元的概率值存在的范围的上限和下限;
如果K等于或大于2dummy-1,则将码元解码为1,如果K等于或小于0,则将码元解码为0;和
如果K在0和2dummy-1之间,则确定歧义发生,并相应地终止解码。
4、如权利要求3所述的方法,在码元的算术解码之前,还包括:
查找码元;和
计算码元的概率。
5、如权利要求4所述的方法,其中,码元的概率的计算包括:
从将被解码的比特流的头信息查找解码模式;和
如果解码模式是基于上下文的算术编码模式,则通过参考码元的上下文来获得码元的概率。
6、如权利要求5所述的方法,其中,在码元的算术解码的步骤中,如果位平面上的第一非零采样被解码,则与所述采样相应的符号位被算术解码,和
在确定歧义发生的步骤中,如果K在0和2dummy-1之间,则确定歧义已经发生,并且通过将在歧义紧前面被解码的采样设置为0来终止解码。
7、如权利要求4所述的方法,其中,码元的概率的计算包括:
从将被解码的比特流的头信息查找解码模式;和
如果解码模式为位平面Golomb模式,则假设将被解码的数据具有Laplacian分布,获得码元的概率。
8、如权利要求4所述的方法,其中,在码元的算术解码的步骤中,如果位平面上的第一非零采样被解码,则与所述采样相应的符号位被算术解码,和
其中,在确定发生歧义的步骤中,如果K在0和2dummy-1之间,则确定歧义已经发生,并且通过将在歧义紧前面被解码的采样设置为0来终止解码。
9、如权利要求4所述的方法,其中,码元的概率的计算包括:
从将被解码的比特流的头信息查找解码模式;和
如果解码模式是低能量模式,则通过使用比特流头的概率模型信息来获得码元的概率。
CN200910204741.0A 2005-01-12 2006-01-12 算术解码方法和设备及截去音频数据比特流的方法和设备 Expired - Fee Related CN101673546B (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US64311805P 2005-01-12 2005-01-12
US60/643,118 2005-01-12
US67064305P 2005-04-13 2005-04-13
US60/670,643 2005-04-13
US67336305P 2005-04-21 2005-04-21
US60/673,363 2005-04-21
KR10-2005-0110878 2005-11-18
KR1020050110878A KR100829558B1 (ko) 2005-01-12 2005-11-18 스케일러블 오디오 데이터 산술 복호화 방법 및 장치와스케일러블 오디오 비트스트림 절단 방법
KR1020050110878 2005-11-18

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CNB2006800021444A Division CN100568741C (zh) 2005-01-12 2006-01-12 算术解码方法和设备及截去音频数据比特流的方法和设备

Publications (2)

Publication Number Publication Date
CN101673546A true CN101673546A (zh) 2010-03-17
CN101673546B CN101673546B (zh) 2014-12-17

Family

ID=37173110

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910204741.0A Expired - Fee Related CN101673546B (zh) 2005-01-12 2006-01-12 算术解码方法和设备及截去音频数据比特流的方法和设备

Country Status (8)

Country Link
US (2) US7330139B2 (zh)
EP (1) EP1681671B1 (zh)
JP (2) JP5313433B2 (zh)
KR (3) KR100829558B1 (zh)
CN (1) CN101673546B (zh)
AT (1) ATE412236T1 (zh)
DE (1) DE602006003233D1 (zh)
WO (1) WO2006075877A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100829558B1 (ko) * 2005-01-12 2008-05-14 삼성전자주식회사 스케일러블 오디오 데이터 산술 복호화 방법 및 장치와스케일러블 오디오 비트스트림 절단 방법
CA2778325C (en) 2009-10-20 2015-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding an audio information, method for decoding an audio information and computer program using a region-dependent arithmetic coding mapping rule
BR122021008581B1 (pt) 2010-01-12 2022-08-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codificador de áudio, decodificador de áudio, método de codificação e informação de áudio, e método de decodificação de uma informação de áudio que utiliza uma tabela hash que descreve tanto valores de estado significativos como limites de intervalo
US9256960B2 (en) * 2011-02-23 2016-02-09 Panasonic Intellectual Property Corporation Of America Image coding method and image decoding method

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3027089B2 (ja) * 1993-08-06 2000-03-27 三菱電機株式会社 符号化方式及び復号方式及び符号化復号方法
KR100261253B1 (ko) * 1997-04-02 2000-07-01 윤종용 비트율 조절이 가능한 오디오 부호화/복호화 방법및 장치
KR100261254B1 (ko) * 1997-04-02 2000-07-01 윤종용 비트율 조절이 가능한 오디오 데이터 부호화/복호화방법 및 장치
WO1998056116A2 (en) * 1997-06-04 1998-12-10 Koninklijke Philips Electronics N.V. Data compression and expansion of an in-level information signal
KR100335609B1 (ko) * 1997-11-20 2002-10-04 삼성전자 주식회사 비트율조절이가능한오디오부호화/복호화방법및장치
JP4179639B2 (ja) * 1998-03-16 2008-11-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ マルチチャンネル情報信号の算術符号化/復号化
PT1605596E (pt) * 1998-03-19 2008-03-18 Koninkl Philips Electronics Nv Codificação/descodificação aritmética dum sinal de informação numérico
US6115689A (en) 1998-05-27 2000-09-05 Microsoft Corporation Scalable audio coder and decoder
US6108622A (en) * 1998-06-26 2000-08-22 Lsi Logic Corporation Arithmetic logic unit controller for linear PCM scaling and decimation in an audio decoder
JP3745160B2 (ja) * 1999-04-12 2006-02-15 三菱電機株式会社 符号化装置、復号化装置、符号化方法並びに復号化方法
JP2003526986A (ja) * 2000-03-07 2003-09-09 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 算術的に符号化された情報信号の算術復号化
JP2002118846A (ja) * 2000-10-05 2002-04-19 Matsushita Electric Ind Co Ltd 画像符号化装置
KR100742341B1 (ko) * 2000-11-10 2007-07-25 삼성전자주식회사 프레임 길이를 모르는 데이터를 디코딩하기 위한 장치 및 그 제어 방법
WO2003063359A1 (en) * 2002-01-23 2003-07-31 Koninklijke Philips Electronics N.V. Data compression and expansion of a digital information signal
JP3575466B2 (ja) * 2002-02-21 2004-10-13 ソニー株式会社 エントロピ符号化/復号装置
US7110941B2 (en) * 2002-03-28 2006-09-19 Microsoft Corporation System and method for embedded audio coding with implicit auditory masking
JP3807342B2 (ja) * 2002-04-25 2006-08-09 三菱電機株式会社 デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法
KR100908116B1 (ko) * 2002-12-12 2009-07-16 삼성전자주식회사 비트율 조절가능한 오디오 부호화 방법, 복호화 방법,부호화 장치 및 복호화 장치
JP4241227B2 (ja) 2003-07-09 2009-03-18 セイコーエプソン株式会社 データ送信装置およびデータ受信装置、データ送信方法およびデータ受信方法、データ通信システム
CN100566178C (zh) * 2003-10-29 2009-12-02 日本电气株式会社 二进制算术码解码器和编码器,算术码解码器和编码器及其方法
KR100829558B1 (ko) * 2005-01-12 2008-05-14 삼성전자주식회사 스케일러블 오디오 데이터 산술 복호화 방법 및 장치와스케일러블 오디오 비트스트림 절단 방법
US7539612B2 (en) * 2005-07-15 2009-05-26 Microsoft Corporation Coding and decoding scale factor information
CN100584025C (zh) * 2005-08-04 2010-01-20 华为技术有限公司 一种基于内容自适应的算术解码系统及装置
KR20070038699A (ko) * 2005-10-06 2007-04-11 삼성전자주식회사 스케일러블 오디오 데이터 산술복호화 방법 및 장치

Also Published As

Publication number Publication date
KR100829558B1 (ko) 2008-05-14
KR20060082390A (ko) 2006-07-18
DE602006003233D1 (de) 2008-12-04
JP5314170B2 (ja) 2013-10-16
CN101673546B (zh) 2014-12-17
US7330139B2 (en) 2008-02-12
KR101336245B1 (ko) 2013-12-05
KR20100084492A (ko) 2010-07-26
EP1681671A2 (en) 2006-07-19
EP1681671B1 (en) 2008-10-22
WO2006075877A1 (en) 2006-07-20
JP5313433B2 (ja) 2013-10-09
US20060284748A1 (en) 2006-12-21
KR20110061528A (ko) 2011-06-09
EP1681671A3 (en) 2006-12-13
US7825834B2 (en) 2010-11-02
JP2012198542A (ja) 2012-10-18
JP2006195468A (ja) 2006-07-27
US20080122668A1 (en) 2008-05-29
ATE412236T1 (de) 2008-11-15
KR101330209B1 (ko) 2013-11-18

Similar Documents

Publication Publication Date Title
CN101432610B (zh) 使用有损编码的数据流和无损扩展数据流对源信号进行无损编码的方法以及设备
EP2439737B1 (en) Compression coding and decoding method, coder, decoder and coding device
US11004458B2 (en) Coding mode determination method and apparatus, audio encoding method and apparatus, and audio decoding method and apparatus
US20120065753A1 (en) Audio signal encoding and decoding method, and apparatus for same
CN101673546A (zh) 算术解码方法和设备及截去音频数据比特流的方法和设备
CN100568741C (zh) 算术解码方法和设备及截去音频数据比特流的方法和设备
EP2447943A1 (en) Coding method, decoding method, and device and program using the methods
KR101001746B1 (ko) 스케일러블 오디오 데이터 산술 복호화 방법 및 장치
CN101278485B (zh) 提供可分级bsac音频数据的算术解码的方法和装置
KR101001745B1 (ko) 스케일러블 BSAC(Bit Sliced Arithmetic Coding) 오디오 데이터 산술복호화 방법 및 장치

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20141217

Termination date: 20210112