CN105491378A - 基于上下文的算术解码设备和方法 - Google Patents
基于上下文的算术解码设备和方法 Download PDFInfo
- Publication number
- CN105491378A CN105491378A CN201610032446.1A CN201610032446A CN105491378A CN 105491378 A CN105491378 A CN 105491378A CN 201610032446 A CN201610032446 A CN 201610032446A CN 105491378 A CN105491378 A CN 105491378A
- Authority
- CN
- China
- Prior art keywords
- context
- tuple
- msb
- decoding
- current
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 230000003595 spectral effect Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 abstract description 21
- 238000001228 spectrum Methods 0.000 description 135
- 238000011002 quantification Methods 0.000 description 82
- 238000013507 mapping Methods 0.000 description 63
- 230000009467 reduction Effects 0.000 description 63
- 230000008859 change Effects 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 9
- 238000012856 packing Methods 0.000 description 8
- 238000012549 training Methods 0.000 description 8
- 239000000284 extract Substances 0.000 description 7
- 238000000605 extraction Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000013139 quantization Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 229910002056 binary alloy Inorganic materials 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005086 pumping Methods 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000010977 unit operation Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/20—Vocoders using multiple modes using sound class specific coding, hybrid encoders or object based coding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/0017—Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/002—Dynamic bit allocation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4006—Conversion to or from arithmetic code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4006—Conversion to or from arithmetic code
- H03M7/4012—Binary arithmetic codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4006—Conversion to or from arithmetic code
- H03M7/4012—Binary arithmetic codes
- H03M7/4018—Context adapative binary arithmetic codes [CABAC]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
公开了一种基于上下文的算术解码设备和方法。所述基于上下文的算术解码设备可确定将被解码的当前N元组的上下文,确定与当前N元组的最高有效位(MSB)码元相应的MSB上下文,并使用当前N元组的上下文和MSB上下文来确定概率模型。随后,所述基于上下文的算术解码设备可基于确定的概率模型来对MSB执行解码,并基于从对转义码进行解码的处理而得到的最低有效位(LSB)的比特深度,对LSB执行解码。
Description
本申请是申请日为2010年6月18日、申请号为201080027852.X、题为“基于上下文的算术编码设备和方法以及基于上下文的算术解码设备和方法”的专利申请的分案申请。
技术领域
一个或多个实施例涉及一种音频信号的编码和解码方法,更具体地说,涉及一种无损编码和解码方法。
背景技术
通常可在频域中执行音频信号的编码和解码。作为代表性示例,可给出高级音频编码(AAC)。AAC编解码器可执行改进离散余弦变换(MDCT)用于变换到频域中,并考虑到心理学声音使用信号的掩蔽程度来执行频谱量化。为了进一步压缩执行量化的结果,可采用无损压缩方案,可在AAC中使用霍夫曼编码。作为无损压缩方案,可使用位片算术编码(BSAC)编解码器,在位片算术编码(BSAC)编解码器中,可应用算术编码而不应用霍夫曼编码。
通常可在时域中执行语音信号的编码和解码。大多数语音编解码器在时域中的压缩可涉及码激励线性预测(CELP)。CELP可以是语音编码技术,并且广泛使用的G.729、自适应多速率宽带(AMR-WB)、互联网低比特率编解码器(iLBC)、增强型可变速率编解码器(EVRC)等可以是基于CELP的语音编码器。可在使用线性预测来获得语音信号的假设下,开发这些编码方案。在对语音进行编码中,可能需要线性预测系数和激励信号。通常,可使用线谱对(LSP)来对线性预测系数进行编码,并且可使用若干码本对激励信号进行编码。作为基于CELP开发的编码方案的示例,可给出代数码激励线性预测(ACELP)编码方案、共轭结构码激励线性预测(CS-CELP)编码方案等。
由于考虑到数据速率和心理学声音的限制的低频段和高频段之间的敏感性的差异,因此低频段可对语音/音乐频率的精细结构敏感,而高频段可对精细结构更不敏感。因此,低频段可应用大量比特来对精细结构进行精确编码,而高频段可应用更少量比特来对精细结构进行编码。在这种情况下,低频段可采用使用AAC编解码器的编码方案,而高频段可采用使用能量信息和调整信息的编码方案(被称为频带复制(SBR)技术)。SBR可复制正交镜像滤波器(QMF)域中的低频信号以产生高频信号。
即使在立体声信号中,也可应用减少使用的比特的数量的方案。更具体地说,可在将立体声信号转换为单声道信号之后提取指示立体声信息的参数,可发送通过对立体声参数和单声道信号进行压缩而获得的数据,并且可在解码器中使用发送的参数对立体声信号进行解码。作为对立体声信息进行压缩的方案,可使用参数立体声(PS)技术,作为提取多声道信号以及立体声信号的参数并发送提取的信号的方案,可使用运动图像专家组(MPEG)环绕声技术。
此外,更具体地说,考虑到上述的无损编码的对象,可当被量化的频谱的量化索引被假设为一个码元时,执行无损编码。此外,可以这样的方式执行无损编码:被量化的频谱的索引被映射到位平面上以打包(bundle)比特。
在执行基于上下文的无损编码的情况下,可使用关于先前帧的信息来执行无损编码。
发明内容
根据一个或多个实施例的一方面,可提供了一种基于上下文的算术编码设备,所述设备包括:N元组上下文确定单元,确定将被编码的当前N元组的上下文;转义码编码单元,基于当前N元组的上下文,对转义码执行编码;最高有效位(MSB)上下文确定单元,确定与当前N元组的MSB码元相应的MSB上下文;概率模型映射单元,使用当前N元组的上下文和MSB上下文来确定概率模型;MSB编码单元,基于确定的概率模型来对MSB执行编码;最低有效位(LSB)编码单元,基于从对转义码进行编码而得到的LSB的比特深度,对LSB执行编码。
所述设备还包括:上下文重设单元,当当前帧是重设帧时,执行上下文重设;上下文映射单元,当当前帧不是重设帧时,在当前帧的长度和先前帧的长度之间映射上下文以映射频率索引。
所述设备还包括:上下文模式编码单元,当MSB被编码时,对来自将被使用的多个MSB上下文的单个上下文模式执行编码。
根据一个或多个实施例的另一方面,可提供一种基于上下文的算术解码设备,所述设备包括:N元组上下文确定单元,确定将被解码的当前N元组的上下文;转义码解码单元,基于当前N元组的上下文,对转义码执行解码;MSB上下文确定单元,确定与当前N元组的MSB码元相应的MSB上下文;概率模型映射单元,使用当前N元组的上下文和MSB上下文来确定概率模型;MSB解码单元,基于确定的概率模型来对MSB执行解码;LSB解码单元,基于从对转义码进行解码而得到的LSB的比特深度,对LSB执行解码。
所述设备可还包括:上下文重设单元,当当前帧是重设帧时,执行上下文重设;上下文映射单元,当当前帧不是重设帧时,在当前帧的长度和先前帧的长度之间映射上下文以映射频率索引。
所述设备还可包括:上下文模式解码单元,当MSB被解码时,对来自将被使用的多个MSB上下文的单个上下文模式执行解码。
根据一个或多个实施例的另一方面,可提供一种基于上下文的算术解码方法,所述方法包括:使用基于与将被解码的当前N元组邻近的邻近N元组的N元组上下文,对当前N元组的MSB执行解码;使用基于MSB的符号信息的LSB上下文,对当前N元组的LSB执行解码。
根据一个或多个实施例的另一方面,可提供一种基于上下文的算术解码方法,所述方法包括:使用基于与将被解码的当前N元组邻近的邻近N元组的N元组上下文,对当前N元组的MSB执行解码;使用基于MSB的符号信息和LSB的比特深度的LSB上下文,对当前N元组的LSB执行解码。
根据一个或多个实施例的另一方面,可提供一种基于上下文的算术解码方法,所述方法包括:根据N元组上下文是否在特定子集状态,使用以下项之一来对将被解码的当前N元组的MSB执行解码:(1)基于与当前N元组邻近的邻近N元组的N元组上下文和(2)N元组上下文和附加上下文;使用基于MSB的符号信息的LSB上下文,对当前N元组的LSB执行解码。
根据一个或多个实施例的另一方面,可提供一种基于上下文的算术解码方法,所述方法包括:根据N元组上下文是否在特定状态,使用以下项之一来对将被解码的当前N元组的MSB执行解码:(1)基于与当前N元组邻近的邻近N元组的N元组上下文和(2)N元组上下文和附加上下文;使用基于MSB的符号信息和LSB的比特深度的LSB上下文,对当前N元组的LSB执行解码。
根据一个或多个实施例的另一方面,可提供一种基于上下文的算术解码方法,所述方法包括:对将被解码的当前N元组的上下文模板执行解码;确定当前N元组的N元组上下文;基于N元组上下文,对转义码执行解码;基于解码的上下文模板,确定与当前N元组的MSB码元相应的MSB上下文;使用N元组上下文和MSB上下文确定概率模型;基于确定的概率模型,对MSB执行解码;基于从对转义码进行解码而得到的LSB的比特深度,对LSB执行解码。
根据一个或多个实施例的另一方面,可提供一种基于上下文的算术解码方法,所述方法包括:使用基于与将被解码的当前1元组邻近的邻近1元组的1元组上下文,对当前1元组的MSB执行解码;当MSB被解码时,使用用于执行当前1元组的lev0估计的邻近1元组中的每一个的绝对值,执行lev0估计;对当前1元组的LSB执行解码。
根据一个或多个实施例的另一方面,可提供一种基于上下文的算术解码方法,所述方法包括:使用基于与将被解码的当前2元组邻近的邻近2元组的2元组上下文以及附加上下文中的至少一个,对当前2元组的MSB执行解码;当当前2元组的MSB被解码时,对当前2元组的LSB执行解码。
根据一个或多个实施例的另一方面,提供了至少一个计算机可读介质,所述介质存储用于实现一个或多个实施例的方法的计算机可读指令。
实施例的另外方面将在下面的描述中部分地阐明,并且从描述中部分是清楚的,或者通过本公开的实施可以被理解。
根据实施例,可提高编码效率并可减少需要的存储空间。
附图说明
从以下结合附图进行的对实施例的描述中,这些和/或其它方面将变得明显,并更易于理解,其中:
图1示出联合语音和音频编码(USAC)编码器;
图2详细示出根据实施例的算术编码设备的第一示例的配置;
图3详细示出根据实施例的算术解码设备的第一示例的配置;
图4是用于描述根据实施例的N元组(N-tuple)、最高有效位(MSB)和最低有效位(LSB)的示图;
图5示出根据实施例的上下文和概率模型;
图6是示出根据实施例的MSB解码方法的第一示例的流程图;
图7是示出根据实施例的LSB解码方法的第一示例的流程图;
图8是示出根据实施例的使用符号分类的MSB解码方法的流程图;
图9是示出根据实施例的使用线谱频率(LSF)的编码方法和解码方法中的每种的流程图;
图10详细示出根据实施例的算术编码设备的第二示例的配置;
图11详细示出根据实施例的算术解码设备的第二示例的配置;
图12示出根据另一实施例的上下文和概率模型;
图13示出根据实施例的MSB解码方法的第二示例;
图14示出根据实施例的LSB解码方法的第二示例;
图15示出根据实施例的上下文模式;
图16是示出根据实施例的针对N元组的基于上下文的算术解码方法的流程图;
图17是示出根据实施例的针对N元组的基于上下文的算术编码方法的流程图;
图18示出根据实施例的执行上下文模式的示例;
图19详细示出根据实施例的算术编码设备的第三示例的配置;
图20详细示出根据实施例的算术解码设备的第三示例的配置;
图21示出根据实施例的1元组、MSB和LSB;
图22示出根据实施例的上下文模板的示例;
图23示出根据实施例的频谱无噪声编码的处理;
图24是示出根据实施例的针对1元组的基于上下文的算术解码方法的流程图;
图25示出根据实施例的针对2元组的上下文模板;
图26详细示出根据实施例的算术编码设备的第四示例的配置;
图27详细示出根据实施例的算术解码设备的第四示例的配置;
图28是示出根据实施例的针对2元组的基于上下文的算术解码方法的流程图;
图29是用于描述根据实施例的针对2元组执行算术编码和解码的处理的示图。
具体实施方式
现在将详细参照实施例,实施例的示例在附图中示出,其中,相同的标号始终表示相同的元件。以下通过参照附图描述实施例以解释本公开。
图1A示出联合语音和音频编码(USAC)编码器,图1B示出USAC解码器。
运动图像专家组(MPEG)-DUSAC可简要地包括三种操作模式。第一,在立体声信号模式下,可使用MPEG环绕声来将立体声信号表示为参数,可在高频段中采用增强型频带复制(eSBR),可在低频段中使用核编码方案。第二,在立体声信号模式下,可针对高频段中的两个声道采用eSBR,可在所述两个声道的低频段中使用核编码方案。第三,在单声道信号模式下,可使用eSBR对高频段进行编码,可使用核编码方案对低频信号进行编码。
核编码方案包括两种模式。在频域(FD)中,可使用改进离散余弦变换(MDCT)来将适合于编码器的信号变换到频域,可对变换的信号执行编码,可使用加权LP变换编码(wLPT)方案或代数码激励线性预测(ACELP)方案来对不适合于编码器的信号执行编码。在wLPT方案的情况下,可使用MDCT将加权LP信号变换到频域以对变换的信号执行编码。可对使用MDCT被变换的两种模式的信号执行量化,从而提取量化谱,可对量化谱执行算术编码,从而执行无损编码。USAC解码器的解码可针对USAC编码器的编码反向地执行解码。
低频段中的USAC编码器和USAC解码器可选择FD编码模式和线性预测域(LPD)编码模式之一来对信号执行编码或解码。
在这种情况下,针对FD,USAC编码器和USAC解码器可在MDCT域中对频谱执行量化或无噪声编码。针对LPD,USAC编码器和USAC解码器可根据ACELP方案或wLPT方案来选择性地执行编码或解码。
在这种情况下,USAC编码器和USAC解码器可根据ACELP方案,通过线性预测(LP)、自适应码本和固定码本之一,来执行编码和解码。USAC编码器和USAC解码器可根据wLPT方案,使用MDCT将加权LP残留信号变换到频域,并对变换的信号执行量化和无噪声编码以执行编码和解码。
在高频段中,USAC编码器可通过eSBR使用参数对高频信号执行编码。随后,USAC解码器可对编码的信号执行解码,并基于解码的信号产生高频信号。
USAC编码器可通过使用Mpeg环绕声(MPS)将立体声信息表示为参数来执行编码,USAC解码器可基于解码的信息产生立体声信号。
将详细描述的实施例可涉及在USAC编码器和USAC解码器中执行的无噪声编码,更具体地说,涉及对通过FD方案或wLPT方案量化的谱数据执行的无损编码和解码。算术编码设备100可在USAC编码器中执行基于上下文的算术编码,算术解码设备101可在USAC解码器中执行基于上下文的算术解码。
图2详细示出根据实施例的算术编码设备100(第一示例)的第一示例的配置。
算术编码设备100包括上下文重设单元201、上下文映射单元202、N元组上下文确定单元203、最高有效位(MSB)上下文确定单元204、转义码编码单元205、概率映射单元206、MSB编码单元207、最低有效位(LSB)编码单元208和上下文更新单元209。根据实施例,可不包括转义码编码单元205。
这里,可以按照帧单位操作上下文重设单元201和上下文映射单元202,可以按照帧中的频率单位操作N元组上下文确定单元203、MSB上下文确定单元204、转义码编码单元205、概率映射单元206、MSB编码单元207和LSB编码单元208。具体地,算术编码设备100可通过增加频率索引对同一帧执行编码。
当将被编码的当前帧是重设帧时,上下文重设单元201可将先前帧的频谱初始化为“0”。在当前帧不是重设帧时,上下文映射单元202可在当前帧的频谱长度与先前帧的频谱长度不同的情况下,将先前帧的长度对齐为当前帧的长度。
N元组上下文确定单元203可使用与将被编码的当前N元组210(4元组)邻近的邻近N元组211、212、213和214的量化谱值,来确定关于当前N元组210的上下文。可通过已编码的四个邻近N元组211、212、213和214来对当前N元组210进行编码。
这里,N元组可表示这样的集合,在所述集合中,按照以频率递增顺序的连续的N个频谱为单位打包量化频谱。这里,N可不限于特定数字,并可基于***的配置而改变。N元组可被配置为按照任意数字“N”为单位打包量化频谱的集合,并表示构成该集合的量化频谱的数量。“N”可以是正整数。例如,N元组可被用作4元组,也就是说,以四个频谱为单位打包量化频谱的集合。根据实施例,描述了“N”为4的情况,然而,N不限于特定数字。将参照图4进一步描述N元组。
N元组上下文确定单元203可执行缩减,直到关于当前N元组210的邻近N元组212和214中的每一个的量化谱值在-4到3的范围中。随后,N元组上下文确定单元203可基于执行缩减的次数来估计lev0,即,初始LSB比特深度。将参照图4描述等级。
此外,N元组上下文确定单元203可通过执行按lev0的缩减来提取MSB,重复地执行缩减,直到提取的MSB具有范围从-4到3的值。
MSB上下文确定单元204可针对将被编码的MSB,从当前N元组210的邻近N元组212和214确定MSB上下文。具体地,MSB上下文确定单元204可针对将被编码的MSB,将与先前帧的频率相同的频率的MSB和当前帧的先前频率的MSB确定为MSB上下文。
转义码编码单元205可使用基于关于当前N元组210的上下文的概率模型对转义码执行编码。
概率映射单元206可使用当前N元组的上下文和MSB上下文来映射最终概率模型。
MSB编码单元207可使用当前N元组210的上下文和MSB上下文来对当前N元组210的MSB顺序地执行算术编码。
LSB编码单元208可以按照比特单元对LSB执行算术编码,直到与等级相应的比特深度。
上下文更新单元209可更新量化样本以对下一N元组进行编码。随后,MSB上下文确定单元204可针对所述下一N元组,使用更新的量化样本来确定MSB上下文。
图3详细示出根据实施例的算术解码设备101的第一示例的配置。
算术解码单元101包括上下文重设单元301、上下文映射单元302、N元组上下文确定单元303、上下文确定单元304、转义码解码单元305、概率映射单元306、MSB解码单元307、LSB解码单元308、量化样本产生单元309和上下文更新单元310。
可以按照帧单位操作上下文重设逆时针301和上下文映射单元303,可以按照帧中的频率单位操作N元组上下文确定单元303、MSB上下文确定单元304、转义码解码单元305、概率映射单元306、MSB解码单元307、LSB解码单元308。具体地,算术解码设备101可通过增加频率索引对同一帧执行解码。
当将被解码的当前帧是重设帧时,上下文重设单元301可将先前帧的频谱初始化为“0”。当当前帧不是重设帧时,上下文映射单元303可在当前帧的频谱长度与先前帧的频谱长度不同的情况下,将先前帧的长度对齐为当前帧的长度。
N元组上下文确定单元203可通过使用与将被编码的当前N元组311(4元组)邻近的邻近N元组312、313、314和315的量化的谱值,来确定当前N元组311的上下文。可通过已解码的四个邻近N元组312、313、314和315来对当前N元组311进行解码。将参照图4进一步描述N元组。
N元组上下文确定单元303可执行缩减,直到关于当前N元组311的邻近N元组313和315中的每一个的量化的谱值在-4到3的范围中。随后,N元组上下文确定单元303可基于执行缩减的次数来估计lev0,即,初始LSB比特深度。将参照图4进一步描述等级。
MSB上下文确定单元304可基于解码的MSB来确定将被用作上下文的MSB。
转义码编码单元305可使用基于N元组上下文确定单元303中确定的上下文的概率模型来对转义码执行解码。此外,转义码解码单元可使用基于核的编码模式的上下文的概率模型来对转义码执行解码。
概率映射单元306可使用当前N元组311的上下文和MSB上下文来映射最终概率模型。
MSB解码单元307可使用当前N元组311的上下文和MSB上下文,对当前N元组311的MSB顺序地执行算术编码。
LSB解码单元308可以按照比特单元对LSB执行算术编码,直到与等级相应的比特深度。
量化样本产生单元309可使用算术解码的MSB和LSB来产生当前N元组的量化样本。量化样本产生单元309可按照等级左移MSB值,并提供LSB值以适合比特深度。
上下文更新单元310可更新量化样本以对下一N元组进行解码。随后,MSB上下文确定单元304可针对下一N元组使用更新的量化样本来确定MSB上下文。
图4是用于描述根据实施例的N元组、MSB和LSB的示图。
在图4的上部,基于时间和频率示出N元组。当前N元组401可指示期望被编码或解码的N元组。四个邻近N元组402、403、404和405已被编码或解码,并且当确定当前N元组401的上下文时可被使用。在这种情况下,邻近N元组403、404和405可相应于先前帧,邻近N元组402可相应于与当前N元组401的帧相同的当前帧。
在图4的下部,基于频率索引和比特深度示出MSB和LSB。在这种情况下,MSB可表示包括符号信息的比特。根据实施例,MSB可被表示为包括符号信息的可用的3比特。将基于***的配置来改变MSB的定义。
参照图4,LSB可表示具有比MSB更大比特深度的比特。在这种情况下,LSB可具有等级值。等级值可以是通过上下文的MSB的组合而确定的值,“0”的比特深度可表示位于MSB下方的LSB。N元组可相应于MSB,并可根据频率索引被分为码元。例如,在图4中,N元组可被配置为四个码元。随后,当前N元组401可根据将被编码或解码的频率来划分这四个码元。在这种情况下,所述元组可相应于所述码元。在图4中,示出了包括在N元组中的四个码元,然而,码元的数量可被改变。
图5示出根据实施例的上下文和概率模型。
参照图5,示出了包括了四个码元的当前N元组501以及四个邻近N元组502、503、504和505。图2和图3的N元组上下文确定单元203和303可使用关于当前N元组501的邻近N元组502、503、504和505中的每一个的量化谱值,确定当前N元组501的上下文。
MSB上下文确定单元204和304可从邻近N元组502、503、504和505确定与构成当前N元组501的码元A、B、C和D中的每一个相应的上下文。如上所述,所述码元可表示MSB。例如,MSB上下文确定单元204和304可针对构成当前N元组501的码元,将与先前帧的频率相同的频率的码元以及当前帧的先前频率的码元确定为上下文。具体地,MSB上下文确定单元204和304可针对期望被编码或解码的MSB,将与先前帧的频率相同的频率的MSB以及当前帧的先前频率的MSB确定为上下文。
概率映射单元206和306可使用N元组的上下文和MSB上下文来映射最终概率模型。例如,为了针对当前N元组501的码元A(MSBA)映射概率模型,概率映射单元206和306可将邻近N元组502、503、504和505(即,当前N元组501的上下文)、邻近N元组504的MSBA0(即,MSBA的上下文)和邻近N元组502的MSBD1映射为概率模型。在图5中示出了构成当前N元组501的MSB的A、B、C和D中的每一个的概率模型。
在这种情况下,当与A、B、C和D中的每一个相应的MSB为包括符号信息的高3位时,8种(-4、-3、-2、-1、0、1、2和3)可被获得作为MSB值。随后,概率映射单元206和306可将概率值分配给总共8个MSB值。具体地,概率映射单元206和306可在具有与先前帧相同频率的8种MSB值(A0、B0、C0和D0)以及当前帧的先前频率的8种MSB值(D1、A、B和C)的条件下,可映射概率模型。随后,概率表可以是prob[8][8][8]。这个概率表可以是prob[64][8]。
例如,当具有与先前帧相同频率的MSB值为-4,当前帧的先前频率的MSB值为-3时,概率模型可被选为prob[-4+4][-3+4]。具体地,选择的概率模型可被配置为p={p(-4),p(-3),p(-2),p(-l),p(0),p(l),p(2),p(3)}。因此,当前N元组501的最终的概率表可被配置为prob[32][64×8]。在这种情况下,概率映射单元206和306可基于FD或wLPT(TCX)的模式信息来配置与每一个模式信息相应的概率表。
此外,当概率模型中的相同值重叠时,概率映射单元206和306可使用概率模型映射表以提高存储器的使用效率。概率模型映射表可表示为单独表示的索引。例如,概率模型映射表可被表示为无符号的短映射[2048],无符号的短prob[748][8]等。具体地,产生概率模型映射表的上述表达式的条件的数量为2048,概率模型的总数量为748。因此,无符号的短[32][64×8]可以是32×64×8×0.5=8192字,当使用概率模型映射表时,获得2048×0.5+748×0.5=4016字,从而减少存储。
图6是示出根据实施例的MSB解码方法(第一示例)的流程图。
在操作S601,算术解码设备101可使用包括在当前N元组中的四个MSB来确定LSB的比特深度。当对LSB执行解码时,可使用LSB的比特深度。在操作S602,算术解码设备101可针对所述四个MSB来选择概率模型组。在操作S603,算术解码设备101可针对将被解码的MSB是否是转义码来选择概率模型,并对MSB执行算术解码。在操作S605,算术解码设备101可针对MSB是否是转义码,使用表ari_pk_mod_esc[32][2]来执行解码。当在转义码的情况下进行算术解码时,算术解码设备101可返回到操作604,否则,算术解码设备101可执行操作S606。
在操作S607,在FD模式或TCX(wLPT)模式的情况下,算术解码设备101可使用具有与先前帧相同频率的MSB以及同一帧的先前频率的MSB,来映射MSB码元的概率模型。在操作S606,算术解码设备101可基于映射的概率模型的结果,对包括在当前N元组中的四个MSB执行算术解码。
图7是示出根据实施例的LSB解码方法(第一示例)的流程图。
在操作S701,算术解码设备101可设置从MSB的解码得到的比特深度索引(bid)。在操作S702,算术解码设备101可确定比特深度索引是否小于“N”,即,LSB的等级。在操作S703,当比特深度索引小于“N”时,算术解码设备101可基于比特深度索引和MSB的符号来确定概率模型。在操作S705,当比特深度索引大于“N”时,算术解码设备101可基于MSB的符号来确定概率模型。接下来,在操作S704,算术解码设备101可以按照LSB的比特单位执行算术解码,并输出与在相应于MSB的LSB中的比特深度索引相应的比特值(1或0)。在这种情况下,算术解码设备101可将已被编码或解码的MSB分类为“0”、正值和负值,并对分类的MSB执行算术解码。
例如,当比特深度小于N(5)时,算术解码设备101将比特深度信息用作上下文,否则,算术解码设备101可仅分类三种情况,即当MSB为“0”、正值和负值。算术解码设备101可在执行算术解码之后将比特深度索引加1,从而与下一比特深度相应的LSB可被算术解码。
图8是示出根据实施例的使用符号分类的MSB解码方法的流程图。
符号分类可表示仅针对MSB的码元的表达方案被改变。图8的操作S801到S805可对应于图6的操作S601到S606。
在操作S806,当在操作S805将被解码的MSB是转义码时,算术解码设备101可执行数值算术解码。在这种情况下,在操作S808,算术编码设备100可确定是否需要对MSB的符号执行解码。在操作S810,当需要对MSB的符号执行解码时,算术编码设备100可对MSB的符号执行解码。在操作S809,当不需要对MSB的符号执行解码时,算术编码设备100可将符号转换为MSB值。例如,-4和0是固定值,因而不需要对-4和0的每一个值的符号执行解码。当在操作S807映射MSB码元的概率模型时可使用转换的MSB值。参照图8,可首先对相同频率索引的MSB数值进行解码,可对MSB数值的符号执行解码,随后可执行下一频率索引的编码。
当对MSB执行解码时,可以按照上面的相同方式使用上下文,或可使用改变的码元。特别地,当对当前帧的MSB进行解码时,算术解码设备101可使用与先前帧的频率相同频率的MSB和当前帧的先前频率的MSB两者。在这种情况下,概率模型的数值可以是[32][8][8][5],概率模型的符号可指示[32][8][8][2]。算术解码设备101可使用改变的码元,改变的码元的概率模型的数值可以是[32][5][5][5],改变的码元的概率模型的符号可指示[32][5][5][2]。
图9是示出根据实施例的使用线谱频率(LSF)的编码方法和解码方法中的每种的流程图。
在wLPT模式中,可使用线性预测编码(LPC)信息来另外确定上下文。在这种情况下,可将LPC系数转换为对于被量化有效的LSF。LSF之间的差可主要与频谱峰值相关,并且当LSF之间的间隔相对较小时可产生频谱峰值。另外,当LSF之间的间隔较小时,即使在LP滤波之后的频谱包络很高的概率可能相对较高,因而量化样本的MSB可能相对较大。
在图9的上部示出了MSB编码方法的流程图,在图9的下部示出了MSB解码方法的流程图。
在操作S901,算术编码设备100可执行LSF编码。在操作S902,算术编码设备100可使用从LSF的编码获得的量化LSB,产生与N元组(N-tuple)对应的上下文。在操作S903,算术编码设备100可使用量化的MDCT频谱和现有上下文两者来确定概率模型。在操作S904,算术编码设备100可对MSB执行算术编码。算术编码后的MSB和量化LSF可被包括在比特流中。
在操作S905,算术解码设备101可对压缩的比特流执行LSG编码。在操作S907,算术解码设备101可使用通过LSF编码获得的量化LSF,产生与N元组对应的上下文。
在操作S906,算术解码设备101可使用量化的MDCT频谱和现有上下文两者来确定概率模型,并对操作S904的MSB执行算术解码。
当使用LSF确定了上下文时,可能需要改变当前比特流的结构。特别地,当以acelp_core_mode、lpd_mode、ACELP或TCX数据、LPC数据的顺序来配置当前比特流的结构时,以acelp_core_mode、lpd_mode、LPC数据、ACELP或TCX数据的顺序来配置改变后的比特流的结构。
图10详细地示出根据实施例的算术编码设备100的第二示例的配置。
算术编码设备100包括上下文重设单元1001、上下文映射单元1002、N元组上下文确定单元1003、MSB上下文确定单元1004、转义码编码单元1005、概率映射单元1006、MSB编码单元1007、LSB编码单元1008、上下文模式编码单元1009和上下文更新单元1010。
与图2的算术编码设备100相比,图10的算术编码设备100还可包括上下文模式编码单元1009。
当将被编码的当前帧不是重设帧时,上下文映射单元1002可在当前帧的频谱长度与先前帧的频谱长度不同的情况下,将先前帧的长度对齐为当前帧的长度。
另外,上下文映射单元1002可另外映射先前帧的编码的MSB。
N元组上下文确定单元1003可使用与将被编码的当前N元组1011(4元组)相邻的邻近N元组1012、1013、1014和1015的量化谱值,确定关于当前N元组1011上下文。
可通过已经被编码的四个邻近N元组1012、1013、1014和1015来对当前N元组1011进行编码。
N元组上下文确定单元1003可执行缩减,直到关于当前N元组1011的邻近N元组212和214中的每一个的量化谱值在-4到3的范围内。随后,N元组上下文确定单元1003可基于执行缩减的次数来估计lev0。另外,N元组上下文确定单元1003可通过执行按照lev0的缩减来提取MSB,并重复执行缩减,直到提取的MSB具有从-4到3的范围的值。缩减被额外执行的次数可确定对转义码执行的编码的次数。
MSB上下文确定单元1004可针对期望被编码的MSB,从当前N元组1011的邻近N元组1013和1015确定MSB上下文。特别地,MSB上下文确定单元1004可针对期望被编码的MSB,将与先前帧的频率相同的频率的MSB和当前帧的先前频率的MSB两者确定为MSB上下文。
这里,上下文模式编码单元1009可对当对MSB执行编码时将被使用的多个上下文中的最后被发送的单个上下文模式执行编码。所述多个上下文可表示与将被解码的码元相邻的MSB。可通过比特封包方案来发送上下文模式,并可通过算术编码方案发送上下文模式。可每帧执行一次上下文模式的发送。上下文模式编码单元1009可通过分配表示候选数字的比特来执行比特封包方案。将参照图16进一步描述上下文模式编码单元1009。
MSB上下文确定单元1004可根据上下文模式选择合适的MSB上下文。
转义码编码单元1005可使用基于当前N元组1010的上下文的概率模型对转义码执行编码。特别地,转义码编码单元1005可根据将被解码的MSB是否为转义码执行算术编码,并且当将被解码的MSB不是转义码时对MSB执行算术编码。根据当对转义码执行编码时使用的上下文,N元组的上下文和核编码模式(FD或wLPD)的上下文。当将被解码的MSB是转义码时,可将MSB编码为1,当将被解码的MSB不是转义码时,可将MSB编码为0。当使用转义码对MSB执行编码时,可通过将lev0的值增加+2单位来更新LSB的比特深度“等级”。
概率映射单元1006可使用当前N元组1011的上下文和MSB上下文来映射最终概率模型。概率映射单元1006可使用映射表和概率表。映射概率模型的过程可以是从概率表获得当对MSB执行解码时将被应用的概率模型的过程。特别地,当存在用于所有情况的概率模型时,可减小存储器的大小的负担。因此,为了减小存储器的大小,概率映射单元1006可使用映射表以获得取决于上下文的概率模型。可通过将概率表的索引分配给与每一个概率的上下文对应的总排列来配置映射表。可由当对MSB执行解码时使用的所有的概率值配置概率表。
MSB编码单元1007可使用当前N元组1010的上下文和MSB上下文对当前N元组的MSB顺序地执行算术编码。
LSB编码单元1008可按照比特单位对LSB执行算术编码,直到与等级对应的比特深度。可按照比特单位执行LSB的编码,LSB编码单元1008可使用表示到MSB的距离的比特深度信息和MSB的符号信息(正数、负数和零)作为上下文,来对LSB执行算术编码。
上下文更新单元1010可更新量化样本以对下一N元组执行编码。随后,MSB上下文确定单元1004可使用针对N元组的更新的量化样本确定MSB上下文。
图11详细地示出根据实施例的算术解码设备的第二示例的配置。
算术解码设备101包括上下文重设单元1101、上下文映射单元1102、上下文模式解码单元1103、N元组上下文确定单元1104、MSB上下文确定单元1105、转义码解码单元1106、概率映射单元1107、MSB解码单元1108、LSB解码单元1109、量化样本产生单元1110和上下文更新单元1111。与图3的算术解码设备101相比,图11的算术解码设备101还可包括上下文模式解码单元1103。
图2或图11的算术解码设备101可划分MSB和LSB以执行解码。特别地,算术解码设备101可仅对MSB进行解码,或者对MSB和LSB两者进行解码。
当将被解码的当前帧不是重设帧时,上下文映射单元1102可在当前帧的频谱长度不同于先前帧的频谱长度的情况下将先前帧的长度对齐为当前帧的长度。另外,上下文映射单元1102还可对先前帧的解码后的MSB值执行映射。特别地,上下文映射单元1102可接收MSB上下文的各种组合的候选,以对接收的候选执行解码,并选择解码结果的比特率最小的上下文模式,从而对选择的上下文模式执行解码。
上下文模式解码单元1103可对当执行MSB时使用的多个上下文中最后发送的单个上下文模式执行解码。所述多个上下文可表示与将被解码的码元相邻的MSB。可通过比特封包方案来发送上下文模式,并可通过执行算术解码发送上下文模式。可每帧执行一次上下文模式的发送。上下文模式解码单元1103可通过分配表示候选数字的比特来执行比特封包方案。将参照图16进一步描述上下文模式解码单元1103。随后,MSB上下文确定单元1104可根据上下文模式选择合适的MSB上下文。
N元组上下文确定单元1104可使用与将被解码的当前N元组1112相邻的邻近N元组(4元组)1113、1114、1115和1116的量化谱值,针对当前N元组1112确定上下文。可通过已经解码的邻近N元组1113、1114、1115和1116对当前的N元组1112进行解码。
N元组上下文确定单元1104可执行缩减,直到邻近N元组1114和1116中的每一个的量化谱值在-4到3的范围内。随后,N元组上下文确定单元1104可基于执行缩减的次数来估计lev0。
MSB上下文确定单元1105可针对将被解码的MSB,从当前N元组1112的邻近N元组1114和1116确定MSB上下文。特别地,MSB上下文确定单元1105可针对将被解码的MSB,将与先前帧的频率相同的频率的MSB和当前帧的先前频率的MSB两者确定为MSB上下文。
概率映射单元1106可使用当前N元组1112的上下文和MSB上下文映射最终概率模型。概率映射单元1106可使用映射表和概率表。映射概率模型的过程可以是从概率表获得当执行MSB时将被应用的概率模型的过程。特别地,当存在用于所有情况的概率模型时,可减小存储器的大小的负担。因此,为了减小存储器的大小,概率映射单元1106可使用映射表以获得取决于上下文的概率模型。可通过将概率表的索引分配给与每一个概率的上下文对应的总排列来配置映射表。可由当对MSB执行解码时使用的所有的概率值配置概率表。
转义码解码单元1107可使用基于当前N元组1112的上下文的概率模型对转义码执行解码。特别地,转义码解码单元1107可根据将被解码的MSB是否为转义码执行算术解码,并且当将被解码的MSB不是转义码时对MSB执行算术解码。根据当对转义码执行解码时使用的上下文,N元组的上下文和核编码模式(FD或wLPD)的上下文。当将被解码的MSB是转义码时,可将MSB解码为1,当将被解码的MSB不是转义码时,可将MSB解码为0。当使用转义码对MSB执行解码时,可通过将lev0的值增加+2单位来更新LSB的比特深度“等级”。
MSB解码单元1108可使用当前N元组1112的上下文和MSB上下文对当前N元组的MSB顺序地执行算术解码。
根据实施例的N元组可表示由多个量化频谱构成的集合。算术解码设备101可将所述多个量化频谱的组合划分为MSB和LSB,所述MSB和LSB的每一个都包括符号比特。
随后,N元组上下文确定单元1104可使用与当前被解码的集合(当前N元组)相邻的集合(邻近N元组)的量化频谱值来确定第一上下文(N元组上下文)。
转义码解码单元1107可基于与当前被解码的集合(当前N元组)相邻的集合(邻近N元组)来估计LSB的比特深度。转义码解码单元1107可使用解码模式作为上下文,对表示将被解码的MSB是否为转义码的码元执行解码。然后,转义码解码单元1107可基于转义码被解码的次数,更新估计的LSB的比特深度。
MSB上下文确定单元1105可使用与当前被解码的MSB码元(当前N元组的MSB码元)相邻的解码的MSB码元,来确定第二上下文(MSB上下文)。在这种情况下,上下文模式解码单元1103可针对用作上下文的解码的MSB码元,对当前被解码的MSB码元(当前N元组的MSB码元)的相对位置信息执行解码。随后,MSB上下文确定单元1105可使用相对位置信息产生第二上下文。在这种情况下,可使用核解码模式作为上下文,通过算术解码对相对位置信息进行解码。或者,可将相对位置信息表示为这样的值,所述值与当在多个频带中对MSB码元(当前N元组的MSB码元)执行解码时将被使用的第二上下文对应。
接下来,MSB解码单元1108可使用产生的第一上下文和产生的第二上下文对MSB进行解码。
LSB解码单元1109可按照比特单位对LSB执行算术解码,直到与等级对应的比特深度。可按照比特单位处理LSB的解码,LSB编码单元1109可使用表示到MSB的距离的比特深度信息和并使用MSB的解码信息(正数/负数/零)作为上下文,来对LSB执行算术解码。
如上所述,算术解码设备101可划分LSB解码单元1109和MSB解码单元1108以执行解码。在这种情况下,LSB解码单元1109可使用MSB的符号信息产生第三上下文。LSB解码单元1109可使用LSB的比特深度信息产生第四上下文。随后,LSB解码单元1109可使用产生的第三上下文和产生的第四上下文以比特单位对LSB执行解码。
例如,当使用第三上下文时,LSB解码单元1109可基于这样的信息来对LSB执行解码,所述信息指示与LSB的频率位置相同的频率位置对应的MSB码元的符号是正数、负数还是零。LSB解码单元1109可仅使用第四上下文对LSB执行解码。
量化样本产生单元1110可使用算术解码后的MSB和LSB产生针对当前N元组1112的量化样本。
上下文更新单元1111可更新量化样本以对下一N元组执行解码。另外,可更新解码的MSB。
图12示出根据另一实施例的上下文和概率模型。
参照图12,示出了包括四个码元的当前N元组1201和相对于当前N元组的邻近N元组1202、1203、1204和1205。
N元组上下文确定单元1103或1204可针对当前N元组1201将邻近N元组1202、1203、1204和1205的量化谱值确定为当前N元组1201的上下文。
MSB上下文确定单元1103或1204可基于上下文模式信息,从邻近N元组1202、1203、1204和1205确定与构成当前N元组120的码元A、B、C和D的每一个对应的上下文。
如上所述,码元可表示MSB。例如,MSB上下文确定单元1103或1204可针对构成当前N元组1201的码元,将与先前帧的频率相同的频率的码元和当前帧的先前频率的码元两者确定为上下文。特别地,MSB上下文确定单元1103或1204可针对将被解码的MS,将与先前帧的频率相同的频率的MSB和当前帧的先前频率的MSB两者确定为上下文。
概率映射单元1106或1206可根据上下文模式,使用MSB上下文和N元组的上下文映射最终概率模型。例如,为了针对当前N元组1201的码元A(MSBA)映射概率模型,概率映射单元1106和1206可根据上下文模式(模式0、模式1、模式2和模式3),将邻近N元组1202、1203、1204和1205(即,当前N元组1201的上下文)、邻近N元组1204的MSB(即,MSBA的上下文)和邻近N元组1202的MSB映射为概率模型。在图12中示出了构成当前N元组1201的MSB的A、B、C和D中的每一个的概率模型。当前N元组1201的MSBB的上下文可根据上下文模式将邻近N元组1204的MSB和邻近N元组1202的MSB映射为概率模型。在图12中,与图5相比,可根据上下文模式不同地确定当前MSB的上下文。
图13示出根据实施例的MSB解码方法的第二示例。
在操作S1301,算术解码设备101可通过包括在当前N元组中的四个MSB(量化样本)确定lev0,即,LSB的初始比特深度。当对LSB执行解码时,可使用LSB的比特深度。在操作S1302,算术解码设备101可针对包括在当前N元组中的四个MSB选择概率模型集合。在操作S1303,算术解码设备101可根据FD或wLPD,根据将被解码的MSB是否为转义码选择概率模型。在操作S1304,算术解码设备101可对MSB执行解码。在操作S1305,算术解码设备1305可使用ari_pk_mod_esc[32][2]的表,根据将被解码的MSB是否为转义码来执行解码。当是转义码时,算术解码设备101可返回到操作1304,而当不是转义码时,算术解码设备101可执行操作1301。
在操作S1307,算术解码设备101可针对包括在当前N元组中的四个MSB,根据上下文模式信息映射MSB码元的概率模型。
在操作S1306,算术解码设备101可对MSB执行算术解码。由于四个MSB包括在当前N元组中,因此循环操作可被执行四次。
图14示出根据实施例的LSB解码方法的第二示例。
在操作S1401,算术解码设备101可设置从MSB的解码获得的比特深度索引(bid)。在操作S1402,算术解码设备101可确定bdi是否小于或等于“N”(即,LSB的等级)。在操作S1403,当bdi小于“N”时,算术解码设备101可根据BID和MSB的符号确定概率模型。在操作S1405,当bdi大于“N”时,算术解码设备101可根据MSB的符号确定概率模型。随后,算术解码设备101可按照LSB的比特单位执行算术解码,并输出与MSB对应的LSB中的与bdi对应的比特值(1或0)。在这种情况下,算术解码设备101可划分表示先前编码或解码的MSB值是正数、负数或是0的三种情况,并执行算术编码。
例如,当比特深度小于N(5)时,算术解码设备101可使用比特深度信息作为上下文,否则,算术解码设备101可仅划分MSB是正数、负数或是0的三种情况。算术解码设备101可通过将bdi增加1单位来对与下一比特深度对应的LSB执行算术解码,直到算术解码完成为止。
图15示出根据实施例的上下文模式。
在图15中,A、B、C、D、A0、B0、C0、D0、A1、B1、C1、D1、A2、B2、C2、D2、A3、B3、C3和D3中的每一个可表示已被解码或期望将被解码的MSB值,包括将被表示为3比特的符号比特,并且具有仅在-4到3的范围中的值。
可针对N元组按照码元单位对MSB执行解码。特别地,根据频率索引以提到的顺序对MSB的A、B、C和D执行解码。当对A、B、C和D的MSB值执行解码时,可使用MSB上下文,对与当前N元组的上下文和已经解码的邻近N元组对应的MSB中的两个MSB执行算术解码。例如,当对当前N元组1501的MSB的A解码时,可确定N元组上下文,并可获得概率模型从而执行算术解码,所述概率模型通过使用邻近N元组1504的MSBA0值和邻近N元组1502的MSBD1值配置MSB上下文来对A解码。在这种情况下,MSB上下文可不仅由A0和D1构成,并且可获得与当前N元组1501的MSBA相邻的多个MSB值中的两个MSB值。
如上所述,当配置MSB上下文时,可确定当执行解码时使用的上下文模式。可通过比特封包来表示上下文模式的可能情况。另外,可这样表示上下文模式,从而基于上下文模式被使用的次数来对上下文模式执行算术解码。
另外,可每帧发送一次上下文模式,从而可在所有帧中使用相同的MSB上下文。另外,可每帧发送两次上下文模式,可使用与低频带和高频带对应的不同的MSB上下文。这里,帧可对应于FD模式情况下的单个帧,并可在wLPT模式的情况下表示使用wLPT的单位。例如,当MSB上下文是四种类型并且MSB上下文每帧被发送两次时,可如图15所示配置15种类型的上下文模式。另外,可将上下文模式划分为根据在核的解码模式(诸如FD模式或wLPT模式)中上下文模式是否被解码来表示的若干集合,并且可根据频谱的数量不同地配置上下文模式的集合。
当确定了用于对当前N元组1501的MSB码元A进行解码的N元组的上下文和MSB的上下文时,可对MSB值执行解码。当在所有情况下使用概率模型时,概率模型的情况的总数会增加,从而增加了存储器的数量。为了防止增加存储器的数量,可使用概率映射表和概率表表示概率以使用代表性概率模型。例如,当N_pki值是32时,MSB上下文是四种类型,MSB值在-4到3的范围内,概率的情况的总数可以是32*8*8*4=4096,将被最终解码的码元的数量是8,从而只要总概率表不被组合,仅可使用65536个概率表。为了防止如此,当通过执行概率模型的组合来减少概率表的情况的数量时,配置32*8*8*4的映射表,可减少将被使用的存储的量。
图16是示出根据实施例的针对N元组的基于上下文的算术解码方法的流程图。
图16的方法可对应于图3和图12的算术解码设备101的操作。
在操作S1601,算术解码设备101可确定当前帧是否是重设帧。当当前帧是重设帧时,算术解码设备101可执行上下文重设。当当前帧不是重设帧时,算术解码设备101可映射上下文。特别地,算术解码设备101可将先前帧的长度调整为当前帧的长度以映射上下文,从而在当前帧的长度与先前帧的长度不同的情况下可在两帧之间映射频率索引。可按照帧单位执行操作S1601到S1603。
在操作S1604,算术解码设备101可对上下文模式解码以确定MSB上下文。随后,在操作S1605,算术解码设备101可确定N元组上下文。在这种情况下,可估计初始LSB比特深度的lev0。
在操作S1606,算术解码设备101可基于N元组的上下文(pki)和FD/wLPT对转义码进行解码。每当转义码被解码时,可更新lev0,当与转义码不同的编码被解码时,算术解码设备101可在操作S1609对MSB执行解码。
在操作S1607,算术解码设备101可确定与将被当前解码的MSB对应的MSB上下文。在操作S1608,算术解码设备101可基于N元组上下文和MSB上下文确定合适的概率模型。
在操作S1609,算术解码设备101可基于概率模型对MSB执行解码。
在操作S1610,算术解码设备101可对与从转义码的解码获得的LSB的比特深度对应的比特进行解码。在操作S1611,算术解码设备101可通过MSB和LSB产生量化样本。在操作S1612,算术解码设备101可更新上下文以对下一N元组进行解码。在操作S1613,算术解码设备101可增加频率索引,并对N元组执行解码。
图17是示出根据实施例的针对N元组的基于上下文的算术编码方法的流程图。
图17的方法可对应于图2和图11的算术编码设备100的操作。
在操作S1701,算术编码设备100可确定当前帧是否为重设帧。当当前帧是重设帧时,算术编码设备100可执行上下文重设。当当前帧不是重设帧时,算术编码设备100可映射上下文。特别地,算术编码设备100可将先前帧的长度调整为当前帧的长度以映射上下文,从而在当前帧的长度与先前帧的长度不同的情况下可在两帧之间映射频率索引。可按照帧单位执行操作S1601到S1603。
可按照帧单位执行操作S1701和S1703。
在操作S1704,算术编码设备100可对上下文模式进行编码以确定MSB上下文。
在操作S1705,算术编码设备100可针对当前N元组确定N元组上下文。在这种情况下,可估计初始LSB比特深度的lev0。
在操作S1706,算术编码设备100可基于N元组的上下文(pki)和FD/wLPT对转义码执行编码。每当转义码被编码时,可更新lev0,当与转义码不同的模式被编码时,算术编码设备100可在操作S1709对MSB执行编码。
在操作S1707,算术编码设备100可确定与将被当前编码的MSB对应的MSB上下文。在操作S1708,算术编码设备100可基于N元组上下文和MSB上下文确定合适的概率模型。
在操作S1709,算术编码设备100可基于概率模型对MSB执行编码。
在操作S1710,算术编码设备100可对与从转义码的解码获得的LSB的比特深度对应的比特进行编码。在操作S1711,算术编码设备100可通过MSB和LSB产生量化样本,并且在操作S1712,算术编码设备100可更新上下文以对下一N元组进行编码。
在操作S1713,算术编码设备100可增加频率索引,并对下一N元组执行解码。
图18示出根据实施例的实施上下文模式的示例。
上下文模式可表示在使用与当前将被解码的MSB码元相邻的MSB值执行解码时将被使用的上下文的MSB值的相对位置信息。可使用MSB内容模板来表示MSB相对位置信息。在这种情况下,当对MSB执行解码时,算术解码设备101可对多个MSB上下文中的信号上下文模板索引进行解码。算术解码设备101可根据上下文模板索引确定上下文模板,从而确定MSB上下文。
上下文模板0到3可表示相对位置信息,“c”可表示当前将被解码的MSB码元,p0、p1、cp0、cp1和cp2可以是已经被解码的MSB码元。在上下文模板0的情况下,与先前帧的频率位置相同的频率位置的MSB码元和相同帧的先前频率位置的MSB码元可用作MSB上下文。
上下文模板可具有针对低频带和高频带的不同值。例如,为了同时表示上下文模板,可使用上下文模板索引。在这种情况下,可对每一个频带确定上下文模板索引。可使用核解码模式作为上下文对上下文模板索引进行算术解码。
例如,上下文模板索引可被表示为如下的等式1。
[等式1]
ctidx=(ct_l)(ct_h<<2)
0≤ct_l≤3,0≤ct_h≤3
在等式1中,ct_l和ct_h可表示低频带的上下文模板和高频带的上下文模板,并且可表示总共四种情况。ctidx可表示上下文模板索引。LSB解码单元可通过以下的等式2对LSB执行解码。
[等式2]
x∈{a0,b0,c0,d0},0≤i<lev
X表示对应于与LSB值的频率位置相同的频率位置的MSB值,l表示LSB的比特深度。另外,a0、b0、c0和d0可表示将被解码的MSB码元。
图19详细地示出根据实施例的算术编码设备的第三示例的配置。
算术编码设备100包括上下文重设单元1901、上下文映射单元1902、l元组上下文确定单元1903、MSB上下文确定单元1904、概率映射单元1905、转义码编码单元1906、MSB编码单元1907、LSB编码单元1908、上下文模板编码单元1909和上下文更新单元1910。
与图10的算术编码设备100相比,算术编码设备100还可包括l元组上下文确定单元1903。特别地,图10的算术编码设备100可执行使用N元组上下文的操作,或者算术编码设备100可执行使用l元组上下文的操作。
上下文重设单元1901和上下文映射单元1902可按照帧单位进行操作。当当前帧是重设帧时,上下文重设单元1901可执行上下文重设。当当前帧不是重设帧时,上下文映射单元1902可在当前帧的频谱长度与先前帧的频谱长度不同的情况下,将先前帧的长度对齐为当前帧的长度。
另外,上下文映射单元1902可另外映射先前帧的编码的MSB。
l元组上下文确定单元1903可使用与将被编码的当前l元组1911相邻的邻近1元组1912到1918的量化谱值确定当前l元组1911的上下文。
例如,l元组上下文确定单元1903可使用已经被编码的七个元组1912到1918来确定当前l元组1911的上下文。
L元组上下文确定单元1903可使用邻近l元组1912到1918(即,针对当前l元组1911的七个量化频谱)执行64个状态的映射。另外,l元组上下文确定单元1903可通过在训练处理中分别将0映射到0,将-1或1映射到1,将2或-2映射到2,将大于3或小于-4映射到3,来减少量化频谱信息的量。接下来,l元组上下文确定单元1903可通过将产生了映射的量化频谱的所有可能的情况中具有相似的MSB码元的产生概率的情况打包,来配置单个状态,从而产生多个状态。
可通过哈希表执行配置的映射关系。在这种情况下,l元组上下文确定单元1903可通过在训练处理中配置的哈希表中输入邻近l元组1912到1918(即,与当前l元组1911相邻的七个量化频谱),来确定状态。
另外,可在哈希表中输入另外的量化样本以确定状态。
另外,为了确定当前l元组的上下文,还可考虑核的编码模式信息。1元组上下文确定单元1903可确定核的编码模式信息是FD模式还是wLPT模式,并在训练处理中反映确定的信息。l元组上下文确定单元1903可在哈希表中输入已经编码的邻近l元组和核的编码模式信息,以确定状态。
l元组上下文确定单元1903可预测当前l元组1911(即,另外的当前量化频谱)的缩减被执行的次数,从而提取MSB信息和LSB信息。
可通过使用邻近l元组进行预测来获得缩减被执行的次数。在这种情况下,l元组上下文确定单元1903可使用七个邻近l元组1912到1918中的至少一个来预测当前l元组1911的缩减的次数。
例如,当使用与当前帧的先前频率对应的邻近l元组1917或1918执行预测时,l元组上下文确定单元1903可执行1/2缩减,直到邻近l元组1917或1918的值达到被表示为比特数的范围(所述比特数表示当前l元组1911的MSB),并且当所述值达到该范围时确定缩减被执行的次数。在这种情况下,MSB被定义为是包括符号信息的三个比特,l元组上下文确定单元1903可执行1/2缩减,直到邻近l元组1917或1918的值在-4到3的范围内,从而针对当前l元组1911预测缩减的频率。预测的缩减的频率可表示上述的lev0的估计处理。
根据实施例,l元组上下文确定单元1903可针对当前元组1911,使用与当前帧的先前频率对应的两个邻近l元组1917和1918来估计lev0。当使用多个邻近l元组时,可提高lev0的估计的精确度。
根据另一实施例,l元组上下文确定单元1903可针对当前l元组1911,使用与当前帧的先前频率对应的邻近l元组1917和1918中的至少一个来执行lev0的估计,并针对当前l元组1911,通过比较与当前帧的先前频率对应的邻近l元组中的至少一个的绝对值来确定缩减被执行的次数。
特别地,l元组上下文确定单元1903可针对当前l元组1911,将与当前帧的先前频率对应的邻近l元组中的至少一个的值改变为绝对值,并且在对改变后的绝对值执行1/2缩减的同时,当执行了缩减的值达到预定阈值时,可停止执行缩减,并可将最后被执行缩减的值确定为lev0的估计值。
例如,当MSB被定义为是包括符号信息的三个比特时,l元组上下文确定单元1903可针对当前1元组1911,计算与当前帧的先前频率对应的两个邻近l元组1917和1918中的每一个的绝对值,随后在对两个绝对值执行1/2缩减的同时,当执行了缩减的值达到4或更小时,可停止执行缩减,并且可将最后被执行缩减的值用作lev0的估计值。
另外,根据实施例,l元组上下文确定单元1903可选择性地使用单个邻近l元组1917或两个邻近l元组1917和1918来估计lev0,每一个邻近l元组均对应于关于当前l元组1911的当前帧的先前频率。
例如,如上所述,可根据核的模式估计lev0。l元组上下文确定单元1903可在FD模式的情况下使用单个邻近l元组估计lev0,并在wLPT的情况下使用两个邻近l元组估计lev0。在wLPT模式中,由于频谱相对于FD模式较为平缓,因此可针对当前l元组1911使用若干邻近l元组而不是使用单个邻近l元组来更有效地估计lev0。
另外,l元组上下文确定单元1903可基于在FD模式中执行编码时使用的工具,估计当估计lev0时使用的邻近l元组的数量。例如,作为在FD模式中执行编码时使用的工具,时域噪声整形(TNS)、时间交错MDCT(TW-MDCT)等可被使用。在这种情况下,当在FD模式中使用TW-MDCT执行编码时,l元组上下文确定单元1903可使用两个邻近l元组1917和1918估计lev0。
另外,l元组上下文确定单元1903可基于每帧发送的信息,使用单个邻近l元组1917或使用两个邻近l元组1917和1918来估计lev0。例如,l元组上下文确定单元1903可通过采用算术解码方案,根据每帧发送的邻近l元组的数量估计lev0。特别地,当执行算术解码时,l元组上下文确定单元1903可根据FD模式或wLPT模式,基于针对使用的邻近l元组的数量的频率产生概率模型,并通过将产生的概率模型应用为上下文执行算术解码。
MSB上下文确定单元1904可在特定状态的情况下产生附加的上下文,即,在l元组上下文确定单元1903中映射的全部状态中的子集。在这种情况下,当在MSB编码单元1907中对当前l元组1911的MSB进行编码时选择概率模型的处理中,产生的附加上下文可与所有状态组合。对于全部状态中的除了特定状态的剩余状态,MSB编码单元1907可仅使用全部状态选择概率模型。
例如,通过MSB上下文确定单元1904产生的MSB上下文可以是如下。将参照图22进一步描述上下文模板。
(1)邻近l元组1917或1918的MSB值,即,与当前帧中的先前频率对应的量化频谱或邻近l元组1914的MSB值,即,与先前帧中的当前频率对应的量化频谱
(2)与上下文模板组合的量化频谱的MSB值
(3)通过另外对与当前帧中的先前频率对应的邻近l元组1917或1918进行量化提取的值,或者通过另外对邻近l元组1914进行量化提取的值,即,与先前帧中的当前频率对应的量化频谱
(4)通过另外对与上下文模板组合的量化频谱进行量化提取的值
(5)通过另外对邻近l元组1912到1916进行量化提取的值,即,先前帧的量化频谱
(6)通过改变当前帧中的与先前频率对应的邻近l元组1917或1918提取的值,或通过改变邻近l元组1914提取的值,即,与先前帧中的当前频率对应的量化频谱
(7)通过改变与上下文模板组合的量化频谱提取的值
另外量化MSB上下文确定单元1904中的量化频谱的方法可以是如下。首先,MSB上下文确定单元1904可根据FD模式和wLPT模式另外对量化频谱执行量化。
其次,MSB上下文确定单元1904可另外执行量化以将特定方案确定为第一量化频谱的上下文,在所述特定方案中,-4到3被映射为-4到3,大于4被映射为3,-5或更小被映射为-4。
当使用MSB值时,MSB编码单元1907可通过从邻近l元组1912到1918中的MSB值中选择一个(即,对当前帧或先前帧执行了无损编码的量化频谱)来对当前l元组1911执行解码。
一种由MSB上下文确定单元1904改变量化频谱的方法可以是如下。
MSB上下文确定单元1904可通过基于当前l元组1911的lev0的估计值(即,针对当前帧的将进行无损编码的当前频谱)按照lev0对邻近l元组1912到1918执行缩减,来提取量化频谱值。
当使用在执行缩减之后提取的量化频谱值时,或者当量化频谱值在表示为比特数(所述比特数表示当前l元组1911的MSB)的范围之外时,MSB上下文确定单元1904可将量化频谱值设置为最小值或最大值。
当通过按照估计的lev0对将被无损编码的当前l元组1911执行1/2缩减而改变的值超过被表示为定义当前N元组1911的MSB的比特数时,转义码编码单元1905可执行转义码编码。
一种对转义码执行编码的方案可包括:(1)对指示将被解码的MSB是否是转义码的信息执行编码的方案,以及(2)对包括在MSB码元中的转义码执行编码的方案。特别地,(1)对信息执行编码的方案可将1分配给转义码,当MSB不是转义码时将0分配给转义码,并对0或1执行编码。当0被编码时,MSB编码单元1907可对当前l元组1911的MSB执行编码。(2)对转义码执行编码的方案可表示对总共九个码元中的一个码元执行编码,通过将八个MSB码元和转义码表示为相同等级的码元而获得所述九个码元。例如,转义码编码单元1905可设置0到7作为MSB码元,并将9设置为转义码,从而对九个码元编码。
当对当前l元组1911执行缩减(即,对将被当前编码的量化频谱执行预测次数的1/2缩减)时,在当前l元组1911的值在-4到3的范围内的情况下,转义码编码单元1905可不对转义码执行编码。
在当对当前l元组执行缩减时当前l元组1911的值不在-4到3的范围内的情况下,转义码编码单元1905还可对当前l元组1911执行缩减,以使得当前l元组1911的值被包括在-4到3的范围中,并对执行过一定次数的缩减的转义码执行编码。在这种情况下,执行缩减的处理中损失的数据可被包括在LSB中,LSB编码单元1908可对LSB执行编码。
概率模型单元1906可使用当前l元组1911的上下文和MSB上下文来映射最终概率模型。概率映射单元1906可使用映射表和概率表。映射概率模型的处理可以是从概率表获得当对MSB执行解码时将被应用的概率模型。特别地,当存在用于所有情况的概率模型时,可减少存储器的大小的负担。因此,为了减少存储器的大小,概率映射单元1906可使用映射表获得取决于上下文的概率模型。可通过将概率表的索引分配给与每一个概率的上下文对应的总排列来配置映射表。可由当对MSB执行解码时使用的所有概率值来配置概率表。
MSB编码单元1907可仅使用在(i)l元组上下文确定单元1903中产生的全部状态来对当前l元组1910的MSB执行编码,或者可使用在(ii)l元组上下文确定单元1903中产生的全部状态中的特定状态的子集并使用在MSB上下文确定单元1904中确定的附加上下文来选择概率模型,从而对当前l元组1910的MSB执行算术编码。
LSB编码单元1908可使用多达当前l元组1911的LSB的比特深度的剩余比特作为上下文来执行算术编码。在这种情况下,上下文可包括与当前l元组1911的当前频率对应的邻近l元组1914的MSB的符号信息(负数、0、正数)。另外,邻近l元组1914的MSB的符号信息可包括包含除了0之外的负数和正数的符号信息。然后,LSB编码单元1908可根据邻近l元组1914的MSB的符号信息来选择概率模型,并随后对LSB执行编码。
另外,LSB编码单元1908可使用基于LSB的比特深度确定的上下文和邻近l元组1914的MSB的符号信息对LSB执行编码。在这种情况下,LSB的比特深度可被表示为索引(等级)信息。
上下文模板编码单元1909可对多个上下文中的最后发送的单个上下文模板执行编码,所述多个上下文将在对当前l元组1911的MSB执行编码时被使用。所述多个上下文可表示被提取用于在MSB上下文确定单元1904中确定MSB上下文的值。上下文模板可表示邻近l元组关于将被编码的当前l元组1911的相对位置,并且可从通过上下文模板确定的位置提取将被用作MSB上下文的值。可通过比特封包方案发送上下文模板,也可通过算术编码方案发送上下文模板。可每帧执行一次上下文模板的发送。上下文模板编码单元1909可通过分配表示候选数字的比特来执行比特封包。随后,MSB上下文确定单元1904可根据上下文模板选择合适的MSB上下文。
上下文更新单元1910可更新量化样本以对下一l元组编码。接下来,MSB上下文确定单元1904可针对下一l元组使用更新的量化样本确定MSB上下文。
图20详细示出根据实施例的算术解码设备101的第三示例的配置。
图20的算术解码设备101可对应于图19的算术编码设备100,并且每一个组件的操作可以相同。
算术解码设备101包括上下文重设单元2001、上下文映射单元2002、上下文模板解码单元2003、l元组上下文确定单元2004、MSB上下文确定单元2005、概率映射单元2006、转义码解码单元2007、MSB解码单元2008、LSB解码单元2009、量化样本产生单元2010和上下文更新单元2011。
与图11的算术解码设备101相比,图20的算术解码设备101可使用l元组上下文确定单元2007。特别地,图11的算术解码设备101可执行使用N元组上下文的操作,而图20的算术解码设备101可执行使用l元组上下文的操作。
上下文重设单元2001和上下文映射单元2002可根据帧单位进行操作。当将被解码的当前帧是重设帧时,上下文重设单元2001可执行上下文重设。当将被解码的当前帧不是重设帧时,上下文映射单元2002可在当前帧的频谱长度与先前帧的频谱长度不同的情况下,将先前帧的长度对齐为当前帧的长度。另外,上下文映射单元2002可另外映射先前帧的解码的MSB值。
上下文模板解码单元2003可对多个上下文中的最后发送的单个上下文模板执行解码,所述多个上下文将在对将被解码的当前l元组2012的MSB执行解码时将被使用。所述多个上下文可表示被提取用于在MSB上下文确定单元2005中确定MSB上下文的值。上下文模板可表示邻近l元组关于将被解码的当前l元组2012的相对位置,并且可从所述相对位置提取将被用作MSB上下文的值。可通过比特封包方案发送上下文模板,也可通过算术解码方案发送上下文模板。可每帧执行一次上下文模板的发送。上下文模板解码单元2003可通过分配表示候选数字的比特来执行比特封包方案。随后,MSB上下文确定单元2005可根据上下文模板选择合适的MSB上下文。
1元组上下文确定单元2004可使用与将被解码的当前1元组2012相邻的邻近1元组2013至2019的量化的频谱值来确定当前1元组2012的上下文。例如,1元组上下文确定单元2004可使用已被解码的七个邻近1元组2013至2019来确定当前1元组2012的上下文。
1元组上下文确定单元2004可使用所述七个邻近1元组2013至2019来将邻近1元组映射到64个状态。
另外,1元组上下文确定单元2004还可对七个量化的频谱进行量化。具体地,1元组上下文确定单元2004可在训练处理中分别将0映射到0、将-1或1映射到1、将2或-2映射到2、将大于3或小于-4的数映射到3,从而减少量化的频谱的信息。随后,1元组上下文确定单元2004可通过从产生被映射的量化频谱的所有可能数量的情况中对具有相似的MSB码元的产生概率的情况进行打包(bundling)来配置单个状态,从而产生多个状态。
1元组上下文确定单元2004可通过在训练处理中配置的哈希表中输入邻近1元组2013至2019(即,与当前1元组2012相邻的七个量化的频谱)来确定状态。另外,可将另外的量化样本输入到哈希表中,从而确定状态。
另外,为了确定当前1元组2012的上下文,可进一步考虑核的编码模式信息。1元组上下文确定单元2004可确定核的编码模式信息是FD模式还是wLPT模式,并在训练处理中反映确定的信息。1元组上下文确定单元2004可在哈希表中输入已解码的邻近1元组和所述核的编码模式信息,从而确定状态。
1元组上下文确定单元2004可预测当前1元组2012(即,当前另外量化的频谱)的缩减被执行的次数,从而提取MSB信息和LSB信息。可通过使用邻近1元组执行预测来获得缩减被执行的次数。在这种情况下,1元组上下文确定单元2004可使用七个邻近1元组2013至2019中的至少一个来针对当前1元组2012预测缩减被执行的次数。
例如,当使用与当前帧的先前频率相应的邻近1元组2018或2019执行预测时,1元组上下文确定单元2004可执行1/2缩减,直到邻近1元组2018或2019的值达到被表示为比特数的范围,并在所述值达到所述范围时确定缩减被执行的次数,其中,所述比特数用于表示当前1元组2012的MSB。在这种情况下,MSB被定义为是包括符号信息的三比特,1元组上下文确定单元2004可执行1/2缩减,直到邻近1元组2013或2019的值在-4到3的范围中,从而针对当前1元组2012预测缩减的频率。预测的缩减的频率可表示上述lev0的估计处理。
根据实施例,1元组上下文确定单元2004可针对当前1元组2012使用与当前帧的先前频率相应的两个邻近1元组2018和2019来执行lev0的估计。当使用多个邻近元组时,lev0的估计的准确度可被提高。
根据另一实施例,1元组上下文确定单元2004可针对当前1元组2012使用与当前帧的先前频率相应的邻近1元组2018和2019中的至少一个来执行lev0的估计,并针对当前1元组2012通过比较与当前帧的先前频率相应的邻近1元组中的至少一个的绝对值,来确定缩减被执行的次数。具体地讲,1元组上下文确定单元2004可将针对当前1元组2012的与当前帧的先前频率相应的邻近1元组中的至少一个的值改变为绝对值,并当在1/2缩减被执行时获得的值达到预定阈值时,1元组上下文确定单元2004可停止执行缩减,以将通过最后执行缩减获得的值确定为lev0的估计值。
例如,MSB被定义为包括符号信息的三比特,1元组上下文确定单元2004可针对当前1元组2012计算与当前帧的先前频率相应的两个邻近1元组2018和2019的绝对值,然后当对所述两个绝对值执行1/2缩减时获得的值达到4或更少时,1元组上下文确定单元2004可停止执行缩减,从而使用通过最后执行缩减获得的值作为lev0的估计值。
另外,根据实施例,1元组上下文确定单元2004可针对当前1元组2012通过选择性地使用单个邻近1元组2018或两个邻近1元组2018和2019来估计lev0,其中,所述邻近1元组中的每一个与当前帧的先前频率相应。
例如,如上所示,可根据核的模式估计lev0。1元组上下文确定单元2004可在FD模式的情况下使用单个邻近1元组,并在wLPT模式的情况下使用两个邻近1元组来估计lev0。
在wLPT模式下,由于与FD模式相比频谱相对平坦,因此针对当前1元组2012,可使用若干邻近1元组而非使用单个邻近1元组来更有效地估计lev0。
另外,1元组上下文确定单元2004可基于当在FD模式下执行编码时使用的工具来估计当对lev0进行估计时使用的邻近1元组的数量。例如,作为当在FD模式下执行编码时使用的工具,可使用TNS、TW-MDCT等。在这种情况下,当在FD模式下使用TW-MDCT工具执行编码时,1元组上下文确定单元2004可使用两个邻近1元组2018和2019来估计lev0。
另外,1元组上下文确定单元2004可基于为每一帧发送的信息,使用单个邻近1元组2018或使用两个邻近1元组2018和2019来估计lev0。例如,1元组上下文确定单元2004可通过采用算术解码方案,根据为每一帧发送的邻近1元组的数量来估计lev0。具体地,1元组上下文确定单元2004可在执行算术解码时根据FD模式或wLPT模式,基于关于使用的多个邻近1元组的频率来产生概率模型,并通过应用产生的概率模型作为上下文来执行算术解码。
MSB上下文确定单元2005可在特定状态的情况下产生附加上下文,即,在1元组上下文确定单元2004中映射的全部状态的子集。在这种情况下,在当在MSB解码单元2008中对当前1元组2012的MSB进行解码时选择概率模型的处理中,产生的附加上下文可与全部状态进行组合。对于从全部状态排除特定状态以外的剩余状态,MSB解码单元2008可选择仅使用全部状态的概率模型。
例如,通过MSB上下文确定单元2005产生的MSB上下文可如下。将参照图22进一步描述上下文模板。
(1)邻近1元组2018或2019的MSB值(即,与当前帧中的先前频率相应的量化频谱)或邻近1元组2015的MSB值(即,与先前帧中的当前频率相应的量化频谱)
(2)与上下文模板组合的量化频谱的MSB值
(3)通过对与当前帧中的先前频率相应的邻近1元组2018或2019进行另外地量化而提取的值,或者通过对邻近1元组2015(即,与先前帧中的当前频率相应的量化频谱)进行另外的量化而提取的值。
(4)通过对与上下文模板组合的量化频谱进行另外地量化而提取的值
(5)通过对邻近1元组2013至2017(即,先前帧的量化频谱)进行另外地量化而提取的值
(6)通过改变与当前帧中的先前频率相应的邻近1元组2018或2019而提取的值,或通过改变邻近1元组2015(即,与先前帧中的当前频率相应的量化频谱)而提取的值
(7)通过改变与上下文模板组合的量化频谱而提取的值
在MSB上下文确定单元2005中对量化频谱进行另外地量化的方法可如下。
首先,MSB上下文确定单元2005可根据FD模式和wLPT模式对量化频谱另外地执行量化。
其次,MSB上下文确定单元2005可另外地执行量化,以将-4至3被映射至-4至3、大于4的数被映射至3、-5或更小的数被映射至-4的特定方案确定为首先量化的频谱的上下文。
当使用MSB值时,MSB解码单元2008可通过从邻近1元组2013至2019(即,当前帧或先前帧被执行了无损编码的量化的频谱)的MSB值中选择一个MSB值来对当前1元组2012执行解码。
通过MSB上下文确定单元2005改变量化频谱的方法可如下。
MSB上下文确定单元2005可基于当前1元组2012(即,针对当前帧将经受无损编码的当前频谱)的lev0的估计值,通过对邻近1元组2013至2019按lev0执行缩减,来提取量化的频谱值。
当使用在执行缩减之后提取的量化频谱值时,或者当量化频谱值在被表示为比特数的范围以外时,MSB上下文确定单元2005可将量化频谱值设置为最小值或最大值,其中,所述比特数用于表示当前1元组2012的MSB。
转义码解码单元2007可在通过对将经受无损编码的当前1元组2012按估计的lev0执行1/2缩减而改变的值超过被表示为比特数的值时,执行转义码编码,其中,所述比特数限定当前N元组2012的MSB。
对转义码执行解码的方案可包括(1)对指示将被解码的MSB是否是转义码的信息执行解码的方案,(2)对包括在MSB码元中的转义码执行解码的方案。具体地,(1)对所述信息执行解码的方案可将1分配给转义码,并在MSB不是转义码时将0分配给转义码,并对0或1执行解码。当0被解码时,MSB解码单元2008可对当前1元组2012的MSB执行解码。(2)对转义码执行解码的方案可表示这样的方案:对从通过将八个MSB码元和转义码表现为相同等级的码元而获得的总共九个码元中的一个码元执行解码。例如,转义码解码单元2007可将0至7设置为MSB码元,并将9设置为转义码,从而对九个码元进行解码。
在当对当前1元组2012执行缩减时(即,对当前将被解码的量化频谱执行预测次数的1/2缩减),在当前1元组2012的值在在-4至3的范围中的情况下,转义码解码单元2007可不对转义码执行编码。
在当对当前1元组执行缩减时当前1元组2012的值不在-4至3的范围中的情况下,转义码解码单元2007还可对当前1元组2012执行缩减以使当前1元组2012的值被包括在-4至3的范围中,并按缩减被执行的次数对转义码执行解码。在这种情况下,在执行缩减的处理中损失的数据可包括在LSB中,LSB解码单元2009可对LSB执行编码。
概率映射单元2006可使用当前1元组2012的上下文和MSB上下文来映射最终概率模型。概率映射单元2006可使用映射表和概率表。映射概率模型的处理可以是从概率表获得当对MSB执行解码时将应用的概率模型的处理。具体地,当存在用于所有情况的概率模型时,可减少对存储器大小的负担。因此,为了减小存储器的大小,概率映射单元2006可使用映射表获得取决于上下文的概率模型。可通过将所述概率表的索引分配给与每一个概率的上下文相应的总排列来配置映射表。所述概率表可由当对MSB执行解码时使用的所有概率值来配置。
MSB解码单元2008可仅使用在(i)1元组上下文确定单元2004中产生的全部状态对当前1元组2012的MSB执行解码,或者MSB解码单元2008可使用在(ii)1元组上下文确定单元2004中产生的全部状态中的特定状态的子集并使用在MSB上下文确定单元1904中确定的附加上下文来选择概率模型,从而对当前1元组2012的MSB执行算术解码。
LSB解码单元2009可使用多达当前1元组2012的LSB的比特深度的剩余比特作为上下文来执行算术解码。在这种情况下,上下文可包括与当前1元组2012的当前频率相应的邻近1元组2015的MSB的符号信息(负数、0、正数)。另外,邻近1元组2015的MSB的符号信息可包括包含除了0之外的负数和正数的符号信息。随后,LSB解码单元2008可根据邻近1元组2015的MSB的符号信息来选择概率模型,并随后对LSB执行解码。
另外,LSB解码单元2009可使用基于LSB的比特深度而确定的上下文和邻近1元组2014的MSB的符号信息来对LSB执行解码。在这种情况下,LSB的比特深度可被表现为索引(等级)信息。
量化样本产生单元2010可使用算术解码的MSB和LSB产生针对当前N元组2012的量化样本。
上下文更新单元2011可更新量化样本以对下一1元组进行解码。随后,MSB上下文确定单元2005可针对下一1元组使用更新的量化样本来确定MSB上下文。
图21示出根据实施例的1元组、MSB和LSB。
在图21的上部,基于时间和频率示出1元组。这里,1元组可表示按频率增加的顺序以连续的1编号的频谱为单位对量化的频谱打包的集合。参照图4描述N元组,然而,将参照图21进一步描述1元组。七个邻近1元组2102至2108已被编码或解码,并可在确定当前1元组2101的上下文时被使用。在这种情况下,邻近1元组2102至2106可相应于先前帧,邻近1元组2107和2108可相应于与当前1元组2101相同的当前帧。
在图21的下部,基于频率索引和比特深度示出MSB2109和LSB2110。在这种情况下,MSB2109可表示包括符号信息的MSB。根据实施例,MSB2109可被表示为可用的三比特。MSB的定义可基于***的配置而改变。
参照图21,LSB2110可表示具有比MSB2109的比特深度的更大的比特深度的比特。在这种情况下,LSB2110可具有等级的值。所述等级可以是由上下文的MSB的组合确定的值,并且“0”的比特深度可表示位于紧接MSB2109之下的LSB2110。1元组可与MSB2109相应,并可根据频率索引而被划分为码元。例如,在图21中,1元组可由单个码元配置。随后,当前1元组2101可根据将被编码或解码的频率来划分单个码元。具体地,可按码元单位对MSB2109进行解码或编码。在这种情况下,元组可与码元相应。在图21中,包括在1元组中的单个码元被示出,然而,根据***,多个码元可以是可改变的。
图22示出根据实施例的上下文模板的示例。
在图19中,MSB上下文确定单元1904可使用上下文模板确定MSB上下文。上下文模板可如图22中所示被配置。
当前1元组2201、2205、2209可表示当前将被编码的元组。邻近1元组2202、2207和2212可表示根据上下文模板被用作MSB上下文的元组。可按照算术编码方案将关于上下文模板的信息从编码设备一次发送到帧,并且可使用关于上下文模板的信息基于产生频率来确定概率模型。另外,可依据低频段和高频段来不同地确定上下文模板。
图23示出根据实施例的频谱无噪声编码的处理。
频谱无噪声编码可表示用于将量化数据从编码设备无损地发送到解码设备的编码方法。具体地,频谱无噪声编码可使用位平面编码方案发送量化数据。在这种情况下,位平面编码方案可将量化数据显示为二进制,并发送按比特单位表示的值或表示为若干比特的值。例如,当量化频谱是(3、7、1、0)时,被表示为二进制的量化频谱的(11、1001、1、0)的序列可通过位平面编码方案被发送。为了通过发送的序列恢复量化数据,还可需要指示组成该序列的每一个值被表示为2比特、4比特、1比特和1比特的信息。
表示的比特可以是与比特深度相应的信息,当表示的比特被原样发送到解码设备时,信息量可能会增加。为了防止信息量增加,编码设备可基于与量化频谱相邻的值来预测将被发送的量化频谱的比特深度,并将多达比特深度的预测值发送到解码设备。当预测的比特深度被表示为具有较大比特深度的数据时,编码设备可将剩余比特的数量和剩余比特发送到解码设备。
如图23中所示,当对(11、1001、1、0)进行编码时,采用发送包括符号信息的三比特并在预测比特深度之后发送剩余比特的频谱无噪声编码。
可基于上下文通过算术解码方案处理在传输的时候的所有数据。在这种情况下,可以以4频谱线为单位来配置4元组,并可以以单频谱线来配置1元组。在下文中,将进一步描述4元组。
当剩余比特深度被估计为1时,解码设备可预测与比特深度相应的等级信息。解码设备可对(1、2、0、0)的MSB(包括符号信息的三比特)进行解码,这被称为MSB解码。随后,解码设备可对另外的剩余比特(0比特、1比特、1比特、0比特)进行解码。这些另外的剩余比特可与转义码频率相应。随后,解码设备可根据剩余比特的数量对LSB的剩余比特进行解码,这被称为LSB解码。
图24是示出根据实施例的针对1元组的基于上下文的算术解码方法的流程图。
在操作S2401,算术解码设备101可确定当前帧是否是重设帧。在操作S2402,在当前帧是重设帧时,算术解码设备101可执行上下文重设。在操作S2403,在当前帧不是重设帧时,算术解码设备101可映射上下文。具体地,算术解码设备101可将先前帧的长度调整为当前帧的长度以映射上下文,从而在当前帧的长度与先前帧的长度不同的情况下,两帧之间的频率索引可被映射。
可以按帧单位执行操作S2401至S2403。
在操作S2404,算术解码设备101可对多个上下文中最后发送的单个上下文模板执行解码,其中,所述多个上下文将在当对当前1元组的MSB执行解码时被使用。将参照图22进一步描述上下文模板。随后,算术解码设备101可确定当前1元组的1元组上下文,并确定当前1元组的lev0。在这种情况下,算术解码设备101可估计lev0(即,初始LSB的比特深度)。确定当前1元组的1元组上下文的操作以及估计lev0的操作可参照图20的描述。
在操作S2406,算术解码设备101可基于1元组的上下文(pki)和FD/wLPT模式来对转义码执行解码。在操作S2409,每当转义码被解码,算术解码设备101都可更新lev0,并且当与转义码不同的值被解码时,算术解码设备101可对MSB执行解码。
在操作S2407,算术解码设备101可确定与当前将被解码的当前1元组的MSB相应的MSB上下文。在操作S2408,算术解码设备101可基于1元组上下文和MSB上下文确定合适的概率模型。
在操作S2409,算术解码设备101可基于概率模型对MSB执行解码。
在操作S2410,算术解码设备可对与从转义码的解码得到的LSB的比特深度相应的比特执行解码。在操作S2411,算术解码设备101可通过MSB和LSB产生量化样本。在操作S2412,算术解码设备可更新上下文以对下一1元组进行解码。在操作S2413,算术解码设备可增加频率索引,从而对下一1元组执行解码。
在这种情况下,2元组可表示N元组的示例,2元组401、402、403、404和405表示由两个频谱组成的2元组。当前2元组404可表示将被编码或解码的2元组。已经被解码和编码的4个编号的邻近2元组401、402、403和405可在确定当前2元组404的上下文时被使用。在这种情况下,邻近2元组401、403和405可相应于先前帧,邻近2元组402可相应于与当前2元组404相同的当前帧。
图25示出根据实施例的针对2元组的上下文模板。
当前2元组2501可表示当前将被编码的元组。邻近2元组2502和2503可表示根据上下文模板将被用作MSB上下文的元组。可按照算术编码方案将关于上下文模板的信息从编码设备一次发送到帧,并且可使用关于上下文模板的信息基于产生频率来确定概率模型。另外,可依据低频段和和高频段来不同地确定上下文模板。
图26详细示出根据实施例的算术解码设备100的第四示例的配置。
算术编码设备100包括上下文重设单元2601、上下文映射单元2602、2元组上下文确定单元2603、附加上下文确定单元2604、转义码编码单元2605、概率映射单元2606、MSB编码单元2607、LSB编码单元2608、上下文模板编码单元2609和上下文更新单元2610。
可按照与在上下文重设单元1901和上下文映射单元1902中的方式相同的方式来执行上下文重设单元2601和上下文映射单元2602,因此将省略对其进行的进一步描述。
2元组上下文确定单元2603可使用与将被编码的当前2元组2611相邻的邻近2元组2612至2615的量化频谱值,来确定当前2元组2611的上下文。例如,2元组上下文确定单元2603可使用已被编码的四个邻近2元组2612至2615来确定当前2元组2611的上下文。
算术编码设备100可将输入信号划分为MSB码元和剩余比特,以对MSB码元和剩余比特执行编码。具体地,算术编码设备100可将与量化频谱相应的当前2元组2611划分为绝对值和符号信息,以对所述绝对值和符号信息执行编码。在这种情况下,当前2元组2611的绝对值可被划分为MSB码元和剩余LSB,以对MSB码元和剩余LSB执行编码。可对MSB码元的绝对值执行1/2缩减,直到所述绝对值变得小于预定阈值。随后,转义码编码单元2605可按1/2缩减被执行的次数来对转义码执行编码。
剩余LSB可表示每当对MSB码元的绝对值执行1/2缩减时去除的比特。当对当前2元组2611的MSB的编码完成时,可对剩余LSB执行编码。当对与针对当前帧的所有的量化频谱相应的2元组的编码完成时,与0不同的量化频谱的符号信息可被编码。
当对MSB码元执行缩减时,预定阈值可被设置为4。当预定阈值为4时,MSB可以是0、1、2和3的四种情况。由于2元组的两个频谱被打包并被处理,因此算术编码设备100可对与当前2元组2611相应的两个量化频谱中的每一个的绝对值执行缩减,直到所述两个量化频谱中的每一个变得小于预定阈值。
算术编码设备100可使用当前2元组2611的四个邻近2元组2612至2615来执行基于文本的算术编码。具体地,2元组上下文确定单元2603可对与先前帧相应的三个邻近2元组2612至2614的量化频谱进行另外的量化,在所述三个邻近2元组2612至2614内的两个量化频谱可被表示为两比特(3*2*2=12)。2元组上下文确定单元2603可使用与单个邻近2元组2615相应的两个量化频谱来产生2元组上下文,其中,所述单个邻近2元组2615与当前帧的先前频率相应。可通过哈希表来实现产生的2元组上下文。
转义码编码单元2605可使用产生的2元组上下文对转义码执行编码。具体地,转义码编码单元2605可通过训练来配置预定数量M的概率模型,并选择M个概率模型中的一个以对选择的一个概率模型执行算术编码。
当与转义码不同的值被编码时,MSB编码单元2602可对当前2元组2611的MSB码元执行编码。
基于2元组上下文对当前2元组执行编码。
例如,MSB编码单元2607可基于通过2元组上下文确定单元2603产生的2元组上下文来对当前2元组2611的MSB码元执行编码。在这种情况下,MSB编码单元2607可基于2元组上下文将当前2元组2611的两个MSB码元打包,以对打包的两个MSB码元执行编码。例如,MSB编码单元2607可将具有值0至3的两个MSB码元表示为单个码元,从而对所述单个码元执行编码。在这种情况下,可通过总共16个码元对单个当前2元组2611执行一次算术编码。
在特定情况下基于2元组上下文对当前2元组执行编码,并在另一特定情况下基于2元组上下文和附加上下文对当前2元组执行编码。
例如,MSB编码单元2607可在特定情况下基于2元组上下文对当前2元组2611的MSB码元执行算术编码。
另外,MSB编码单元2607可在另一特定情况下基于2元组上下文和附加上下文对当前2元组2611的MSB码元执行算术编码。在这种情况下,附加上下文可表示针对当前2元组2611,与当前帧的先前频率相应的邻近2元组2615的MSB码元。
在这种情况下,MSB编码单元2607可通过将当前2元组2611表示为两个MSB码元来执行两次算术编码。当算术编码被执行两次时,将被用作附加上下文的MSB码元可以是图26的邻近2元组2602或2603。也就是说,MSB编码单元2607可针对当前2元组2611,基于上下文模板信息将邻近2元组2602或2603确定为附加上下文。
在所有情况下基于2元组上下文和附加上下文对当前2元组执行编码。
例如,MSB编码单元2607可在所有情况下基于2元组上下文和附加上下文对当前2元组2611的MSB码元执行算术编码。2元组上下文和附加上下文被如上描述,并将在此省略。
上下文模板编码单元2609可对上下文模板执行编码。可在对输入信号进行编码时发送上下文模板信息。可按照算术编码方案对上下文模板进行编码,并为每一帧发送一次上下文模板。在这种情况下,所述帧在FD编码模式的情况下可表示单帧,并在LPD编码模式的情况下表示可被编码至超帧内的TCX的帧。
上下文模板信息可被划分为将低频域和高频域以进行发送。例如,可依据频域不同地分配上下文模板信息。上下文模板信息可通过两比特被表示为低频域和高频域。在这种情况下,可表示0、1、2、3四种情况。当上下文模板信息是0时,低频域和高频域两者可具有为0的上下文模板,当上下文模板信息是1时,低频域可具有为1的上下文模板,高频域可具有为0的上下文模板。另外,当上下文模板信息是2时,低频域可具有为0的上下文模板,高频域可具有为1的上下文模板。当上下文模板信息是3时,低频域和高频域两者可具有为1的上下文模板。
例如,当继当前2元组2611之后的频谱的绝对值是0或1时,MSB编码单元2607可执行二进制算术编码,以对当前2元组2611的MSB码元进行编码。具体地,当继当前2元组2611之后的所有频率的量化频谱的绝对值是0或1时,MSB编码单元2607可执行异常处理,以对当前2元组2611的MSB执行编码。例如,由于当2元组的所***元为0时可不对转义码进行编码,并基于此,因此异常处理可被执行以对当前2元组2611的MSB执行编码。也就是说,转义码编码单元2607可在MSB编码单元2607将当前将被编码的当前2元组2611编码为0之前对转义码执行编码。
例如,在对MSB码元执行编码之后,LSB编码单元2608可基于统一的概率对当前2元组2611的剩余LSB执行编码。LSB编码单元2608可通过在比特深度单位上按2比特提取剩余LSB,来对当前2元组2611的剩余LSB执行与转义码被执行的相同次数的编码。
可存在总共四个码元,并且LSB编码单元2608可对所述四个码元执行算术编码。
对于另一示例,LSB编码单元2608可使用比特深度针对当前2元组2611对基于上下文的LSB执行编码。具体地,LSB编码单元2608可基于频率索引将当前2元组2611的剩余LSB划分为两个,并将比特深度信息用作上下文来在比特深度上按一比特对划分的剩余LSB执行算术编码。
对于另一示例,LSB编码单元2608可基于指示目前为止已编码的绝对值是否为0的信息来对当前2元组2611的剩余LSB执行编码。具体地,LSB编码单元2608可基于频率索引将待被编码的当前2元组2611的剩余LSB划分为两个,并将指示当前将被编码的绝对值是否为0的信息用作上下文来对划分的剩余LSB执行算术编码。
例如,假设当对绝对值3进行编码时,在对剩余LSB执行编码之前MSB被编码为0,并且剩余LSB11(二进制)被编码两次。
由于当对为1的剩余LSB进行编码时目前为止已编码的绝对值是0,因此LSB编码单元2608可在0的情况下通过应用概率模型来对第一剩余LSB进行编码。由于当对为1的第二剩余LSB进行编码时目前为止已编码的绝对值是包括第一剩余LSB的1,因此LSB编码单元2608可在不同于0的情况下通过应用概率模型来对第二剩余LSB进行编码。
对于另一示例,LSB编码单元2608可基于指示目前为止已编码的绝对值是否为0的信息来对当前2元组2611的剩余LSB进行编码。具体地,LSB编码单元2608可在比特深度上按2比特提取将被编码的当前2元组2611的剩余LSB,并将指示当前将被编码的绝对值是否为0的信息用作上下文来对提取的剩余LSB执行算术编码。将被编码的剩余LSB码元可以是00(2)、01(2)、10(2)和11(2)四种情况。由于用作上下文的当前2元组的绝对值为0或不为0的两种情况被考虑,因此可存在四种情况,诸如2元组的两个绝对值为0的情况、低频率值为0且高频率值不为0的情况、低频率值为0且高频率值为0的情况以及低频率值和高频率值为0的情况。然而,在低频率值和高频率值均为0的情况下,不需要对剩余LSB执行编码,因此,可将剩余三种情况用作上下文来执行算术编码。
对于另一示例,LSB编码单元2608可对符号信息进行编码。具体地,当在对量化频谱的绝对值中的每一个的编码完成之后绝对值不为0时,LSB编码单元2608可通过采用位封装方案来发送量化频谱中的每一个的符号信息。
在图26中没有描述的组件可参照图10的描述。
图27详细示出根据实施例的算术解码设备的第四示例的配置。
算术解码设备101可包括上下文重设单元2701、上下文映射单元2702、上下文模板解码单元2703、2元组上下文确定单元2704、附加上下文确定单元2705、概率映射单元2706、转义码解码单元2707、MSB解码单元2708、LSB解码单元2709、量化样本产生单元2710和上下文更新单元2711。
可按照与在上下文重设单元2001和上下文映射单元2002中的方式相同的方式来执行上下文重设单元2701和上下文映射单元2702,因此将省略对其进行的进一步描述。
2元组上下文确定单元2704可使用与将被解码的当前2元组2712相邻的邻近2元组2713至2716的量化频谱值,来确定当前2元组2712的上下文。例如,2元组上下文确定单元2703可使用已被解码的四个邻近2元组2713至2716来确定当前2元组2712的上下文。
算术解码设备101可将输入信号划分为MSB码元和剩余比特,以对MSB码元和剩余比特执行解码。具体地,算术解码设备101可将与量化频谱相应的当前2元组2712划分为绝对值和符号信息,以对所述绝对值和符号信息执行解码。在这种情况下,当前2元组2712的绝对值可被划分为MSB码元和剩余LSB,以对MSB码元和剩余LSB执行解码。可对MSB码元的绝对值执行1/2缩减,直到所述绝对值变得小于预定阈值。随后,转义码解码单元2707可按1/2缩减被执行的次数来对转义码执行解码。
剩余LSB可表示每当对MSB码元的绝对值执行1/2缩减时去除的比特。当对当前2元组2712的MSB的解码完成时,可对剩余LSB执行解码。当对与针对当前帧的所有的量化频谱相应的2元组的解码完成时,与0不同的量化频谱的符号信息可被解码。
当对MSB码元执行缩减时,预定阈值可被设置为4。当预定阈值为4时,MSB可以是0、1、2和3的四种情况。由于2元组的两个频谱被打包并被处理,因此算术解码设备101可对与当前2元组2712相应的两个量化频谱中的每一个的绝对值执行缩减,直到所述两个量化频谱中的每一个变得小于预定阈值。
算术解码设备101可使用当前2元组2712的四个邻近2元组2713至2716来执行基于文本的算术解码。具体地,2元组上下文确定单元2704可对与先前帧相应的三个邻近2元组2713至2716的量化频谱进行另外的量化,在所述三个邻近2元组2713至2716内的两个量化频谱可被表示为两比特(3*2*2=12)。2元组上下文确定单元2704可使用与单个邻近2元组2716相应的两个量化频谱来产生2元组上下文,其中,所述单个邻近2元组2716与当前帧的先前频率相应。可通过哈希表来实现产生的2元组上下文。
转义码解码单元2707可使用产生的2元组上下文对转义码执行解码。具体地,转义码解码单元2707可通过训练来配置预定数量M的概率模型,并选择M个概率模型中的一个以对选择的一个概率模型执行算术解码。
当与转义码不同的值被解码时,MSB解码单元2708可对当前2元组2712的MSB码元执行解码。
基于2元组上下文对当前2元组执行解码。
例如,MSB解码单元2708可基于通过2元组上下文确定单元2704产生的2元组上下文来对当前2元组2712的MSB码元执行解码。在这种情况下,MSB解码单元2708可基于2元组上下文将当前2元组2712的两个MSB码元打包,以对打包的两个MSB码元执行解码。例如,MSB解码单元2708可将具有值0至3的两个MSB码元表示为单个码元,从而对所述单个码元执行解码。在这种情况下,可通过总共16个码元对单个当前2元组2712执行一次算术解码。
在特定情况下基于2元组上下文对当前2元组执行解码,并在另一特定情况下基于2元组上下文和附加上下文对当前2元组执行解码。
例如,MSB解码单元2708可在特定情况下基于2元组上下文对当前2元组2712的MSB码元执行算术解码。另外,MSB解码单元2708可在另一特定情况下基于2元组上下文和附加上下文对当前2元组2712的MSB码元执行算术解码。在这种情况下,附加上下文可表示针对当前2元组2712的与当前帧的先前频率相应的邻近2元组2716的MSB码元。
在这种情况下,MSB解码单元2708可通过将当前2元组2712表示为两个MSB码元来执行两次算术解码。当算术解码被执行两次时,将被用作附加上下文的MSB码元可以是图26的邻近2元组2602或2603。也就是说,MSB解码单元2708可针对当前2元组2712,基于上下文模板信息将邻近2元组2602或2603确定为附加上下文。
如以下句法指示情况II。“i”是当前用于解码的频率索引,a0、b0是先前频率的2元组的MSB码元,a、b是当前用于解码的MSB码元。
IsMSBContext():依据作为表X+1的“pki”来返回是否使用利用附加MSB上下文的2元组编码或1元组编码的函数
arith_lut():返回用于对码字acod_m1[lut][a]或acod_m1[lut][b]进行解码所必要的累积频率表的查找表的索引的函数。
a0、b0:当前帧中的先前2元组的最高有效位平面
m:2元组的最高有效2位元平面(mostsignificant2-bit-wiseplane)的索引,其中,0<=m<=15
a、b:与量化频谱系数相应的2元组
lg:用于解码的量化系数的数量
pki:由算术解码器使用以对ng进行解码的累积频率表的索引
acod_m[][]:用于对2元组的最高有效2位元平面进行算术解码所必要的算术码字
acod_m1[][]:用于对1元组的最高有效2位元平面进行算术解码所必要的算术码字
III、在所有情况下基于2元组上下文和附加上下文对当前2元组执行解码
例如,MSB解码单元2708可在所有情况下基于2元组上下文和附加上下文对当前2元组2712的MSB码元执行算术解码。2元组上下文和附加上下文被如上描述,并在此将被省略。
如下句法指示情况III,“i”是当前用于解码的频率索引。a0、b0是先前频率的2元组的MSB码元,a、b是当前用于解码的MSB码元。“pki”表示2元组上下文,“ctxt”表示当前用于解码的MSB的上下文模板。如果解码的码元是转义码元,则基于“pki”对“esc”码元进行解码,如果解码的码元不是转义码元,则MSB码元被解码。基于“ctxt”使用附加上下文对a和b进行解码。
上下文模板解码单元2703可对上下文模板执行解码。可在对输入信号进行解码时发送上下文模板信息。可按照算术解码方案对上下文模板进行解码,并为每一帧发送一次上下文模板。在这种情况下,所述帧在FD编码模式的情况下可表示单帧,并在LPD编码模式的情况下可表示可被解码至超帧内的TCX的帧。
上下文模板信息可被划分为低频域和高频域以进行发送。例如,可依据频域不同地分配上下文模板信息。上下文模板信息可通过两比特被表示为低频域和高频域。在这种情况下,可表示0、1、2、3四种情况。当上下文模板信息是0时,低频域和高频域两者可具有为0的上下文模板,当上下文模板信息是1时,低频域可具有为1的上下文模板,高频域可具有为0的上下文模板。另外,当上下文模板信息是2时,低频域可具有为0的上下文模板,高频域可具有为1的上下文模板。当上下文模板信息是3时,低频域和高频域两者可具有为1的上下文模板。
例如,在对MSB码元执行解码之后,LSB解码单元2709可基于统一的概率对当前2元组2712的剩余LSB执行解码。LSB解码单元2709可通过在比特深度单位上按2比特提取剩余LSB来对当前2元组2712的剩余LSB执行与转义码被执行的相同次数的解码。
可存在总共四个码元,并且LSB解码单元2709可对所述四个码元执行算术解码。
对于另一示例,LSB解码单元2709可使用比特深度针对当前2元组2712对基于上下文的LSB执行解码。具体地,LSB解码单元2709可基于频率索引将当前2元组2712的剩余LSB划分为两个,并将比特深度信息用作上下文来在比特深度上按一比特对划分的剩余LSB执行算术解码。
对于另一示例,LSB解码单元2709可基于指示目前为止已解码的绝对值是否为0的信息来对当前2元组2712的剩余LSB执行解码。具体地,LSB解码单元2709可基于频率索引将待被解码的当前2元组2712的剩余LSB划分为两个,并将指示当前将被解码的绝对值是否为0的信息用作上下文来对划分的剩余LSB执行算术解码。
例如,假设当对绝对值3进行解码时,在对剩余LSB执行解码之前MSB被解码为0,并且剩余LSB11(二进制)被解码两次。
由于当对为1的剩余LSB进行解码时目前为止已解码的绝对值是0,因此LSB解码单元2709可在0的情况下通过应用概率模型来对第一剩余LSB进行解码。由于当对为1的第二剩余LSB进行解码时目前为止已解码的绝对值是包括第一剩余LSB的1,因此LSB解码单元2709可在不同于0的情况下通过应用概率模型来对第二剩余LSB进行解码。
对于另一示例,LSB解码单元2709可基于指示目前为止已解码的绝对值是否为0的信息来对当前2元组2712的剩余LSB进行解码。具体地,LSB解码单元2709可在比特单位上按2比特提取将被解码的当前2元组2712的剩余LSB。在这种情况下,将指示当前将被解码的绝对值是否为0的信息用作上下文来执行算术解码。将被编码的剩余LSB可以是00(2)、01(2)、10(2)和11(2)四种情况。由于用作上下文的当前2元组的绝对值为0或不为0的两种情况被考虑,可存在四种情况,诸如2元组的绝对值为0的情况、低频率值为0且高频率值不为0的情况、低频率值为0且高频率值为0的情况以及低频率值和高频率值为0的情况。然而,在低频率值和高频率值均为0的情况下,不需要对剩余LSB执行解码,因此,可将剩余三种情况用作上下文来执行算术解码。如上所述,按比特深度单位解码的2比特中的每一个可表示作为2元组的低频率的LSB值的1比特,并表示表示作为2元组的高频率的LSB值的1比特。
上面的描述被指示为以下句法。这里,a、b是当前用于解码的2元组的绝对值,r表示用于解码的低剩余比特。
Level:用于解码的位平面的超出最高有效2位元平面的等级
r:比最高有效2位元平面低有效的2元组的位平面
a、b:与量化频谱系数相应的2元组
acod_r[][]:“r”的算术解码所必要的算术码字
对于另一示例,LSB解码单元2709可对符号信息进行解码。具体地,当在对量化频谱的绝对值中的每一个的解码完成之后绝对值不为0时,LSB解码单元2709可通过采用位封装方案来发送量化频谱中的每一个的符号信息。
在图27中没有描述的组件可参照图11的描述。
图28是示出根据实施例的针对2元组的基于上下文的算术解码方法的流程图。
在操作S2801,算术解码设备101可确定当前帧是否是重设帧(resetframe)。在操作S2802,在当前帧是重设帧时,算术解码设备101可执行上下文重设。在操作S2803,算术解码设备101可映射上下文。具体地,算术解码设备101可将先前帧的长度调整为当前帧的长度以映射上下文,从而在当前帧的长度与先前帧的长度不同的情况下,两帧之间的频率索引可被映射。
可以按帧单位执行操作S2801至S2803。
在操作S2804,算术解码设备101可对从当执行当前2元组的MSB时将使用的多个上下文中最后发送的单个上下文模板执行解码。上下文模板可参照图20的描述。在操作S2805,算术解码设备101可确定当前2元组的2元组上下文。确定当前2元组的2元组上下文的操作可参照图28的描述。
在操作S2806,算术解码设备101可对转义码执行解码。每当转义码被解码,lev0可被更新,在操作S2809,当与转义码不同的值被解码时,算术解码设备101可对MSB执行解码。
在操作S2807,算术解码设备101可确定与当前将被解码的当前2元组的MSB相应的MSB上下文。在操作S2808,算术解码设备101可基于2元组上下文和附加上下文确定合适的概率模型。
在操作S2808,算术解码设备101可基于2元组上下文和附加上下文确定合适的概率模型
在操作S2809,算术解码设备101可基于2元组上下文对MSB执行解码。在一些情况下,算术解码设备101可仅使用2元组上下文,在其他情况下,算术解码设备101可使用2元组上下文和附加上下文两者。在操作S2810,算术解码设备101可按从转义码的解码得到的LSB的比特深度对比特执行解码。在操作S2812,算术解码设备101可更新上下文,在操作S2813,算术解码设备101可增加频率索引。当对MSB和LSB两者执行解码时,算术解码设备101可对符号信息执行解码。
在操作S2815,算术解码设备101可产生量化样本。
上述方法可被记录、存储或固定在一个或多个计算机可读非暂时性存储介质中,所述计算机可读非暂时性存储介质包括将由计算机执行的程序指令以使处理器运行或执行所述程序指令。所述介质还可单独包括程序指令、数据文件、数据结构等或数据文件、数据结构等与程序指令的组合。所述介质和程序指令可以是那些专门设计和构造的,或者它们可以是对计算机软件领域的技术人员公知和可用的种类。计算机可读介质的示例包括磁介质(例如,硬盘、软盘和磁带)、光介质(例如,CDROM盘和DVD)、磁光介质(例如,光盘)以及专门配置为存储和执行程序指令的硬件装置(例如,只读存储器(ROM)、随机存取存储器(RAM)、闪存等)。计算机可读介质还可以是分布式网络,从而程序指令可以以分布式方式被存储和执行。可由一个或多个处理器执行程序指令。计算机可读介质还可被实现在执行(如处理器处理)程序指令的至少一个专用集成电路(ASIC)或现场可编程门阵列(FPGA)中。程序指令的示例包括(例如,由编译器产生的)机器代码和包含可由计算机使用解释器执行的更高级代码的文件。描述的硬件装置可被配置用作一个或多个软件模块以执行上述操作和方法,反之亦然。
尽管已经显示和描述了一些实施例,但是本领域的技术人员应该理解,在不脱离本公开原理和范围的情况下,可以对这些实施例进行改变,本公开的范围在权利要求及其等同物中被限定。
Claims (3)
1.一种对作为两个频谱系数的组合的2元组进行无噪声解码的方法,所述方法包括:
基于先前解码的与将被解码的当前2元组相邻的频谱系数确定第一上下文;
使用从第一上下文获得的第一概率表,对当前2元组的最高有效位(MSB)进行解码;
基于指示当前2元组的每个频谱系数中的至少一个解码的高位平面是否为0的信息来确定第二上下文;
使用从第二上下文获得的第二概率表,对当前2元组的最低有效位(LSB)进行解码。
2.如权利要求1所述的方法,其中,所述无噪声解码包括算术解码。
3.存储控制至少一个处理器执行如权利要求1或2所述的方法的指令的至少一个计算机可读介质。
Applications Claiming Priority (13)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2009-0055113 | 2009-06-19 | ||
KR20090055113 | 2009-06-19 | ||
KR20090056301 | 2009-06-24 | ||
KR10-2009-0056301 | 2009-06-24 | ||
KR1020090100457A KR20100136890A (ko) | 2009-06-19 | 2009-10-21 | 컨텍스트 기반의 산술 부호화 장치 및 방법과 산술 복호화 장치 및 방법 |
KR10-2009-0100457 | 2009-10-21 | ||
KR1020090122733A KR20100136896A (ko) | 2009-06-19 | 2009-12-10 | 컨텍스트 기반의 산술 부호화 장치 및 방법과 산술 복호화 장치 및 방법 |
KR10-2009-0122733 | 2009-12-10 | ||
KR1020100000281A KR20100136898A (ko) | 2009-06-19 | 2010-01-04 | 컨텍스트 기반의 산술 부호화 장치 및 방법과 산술 복호화 장치 및 방법 |
KR10-2010-0000281 | 2010-01-04 | ||
KR10-2010-0000643 | 2010-01-05 | ||
KR1020100000643A KR101719735B1 (ko) | 2009-06-19 | 2010-01-05 | 컨텍스트 기반의 산술 부호화 장치 및 방법과 산술 복호화 장치 및 방법 |
CN201080027852.XA CN102460975B (zh) | 2009-06-19 | 2010-06-18 | 基于上下文的算术编码设备和方法以及基于上下文的算术解码设备和方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080027852.XA Division CN102460975B (zh) | 2009-06-19 | 2010-06-18 | 基于上下文的算术编码设备和方法以及基于上下文的算术解码设备和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105491378A true CN105491378A (zh) | 2016-04-13 |
CN105491378B CN105491378B (zh) | 2019-03-15 |
Family
ID=43510806
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610032446.1A Active CN105491378B (zh) | 2009-06-19 | 2010-06-18 | 基于上下文的算术解码设备和方法 |
CN201610031675.1A Active CN105427867B (zh) | 2009-06-19 | 2010-06-18 | 基于上下文的算术解码设备和方法 |
CN201080027852.XA Active CN102460975B (zh) | 2009-06-19 | 2010-06-18 | 基于上下文的算术编码设备和方法以及基于上下文的算术解码设备和方法 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610031675.1A Active CN105427867B (zh) | 2009-06-19 | 2010-06-18 | 基于上下文的算术解码设备和方法 |
CN201080027852.XA Active CN102460975B (zh) | 2009-06-19 | 2010-06-18 | 基于上下文的算术编码设备和方法以及基于上下文的算术解码设备和方法 |
Country Status (10)
Country | Link |
---|---|
US (3) | US9171550B2 (zh) |
EP (3) | EP3843278A1 (zh) |
JP (1) | JP5635603B2 (zh) |
KR (5) | KR20100136890A (zh) |
CN (3) | CN105491378B (zh) |
BR (2) | BRPI1015554B1 (zh) |
CA (2) | CA2923285C (zh) |
MX (1) | MX2011013579A (zh) |
RU (2) | RU2493652C2 (zh) |
WO (1) | WO2010147436A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110517666A (zh) * | 2019-01-29 | 2019-11-29 | 腾讯科技(深圳)有限公司 | 音频识别方法、***、机器设备和计算机可读介质 |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100136890A (ko) | 2009-06-19 | 2010-12-29 | 삼성전자주식회사 | 컨텍스트 기반의 산술 부호화 장치 및 방법과 산술 복호화 장치 및 방법 |
MX2012004569A (es) | 2009-10-20 | 2012-06-08 | Fraunhofer Ges Forschung | Codificador de audio, decodificador de audio, metodo para codificar informacion de audio, metodo para decodificar informacion de audio y programa de computacion que usa la deteccion de un grupo de valores espectrales previamente decodificados. |
WO2011086066A1 (en) * | 2010-01-12 | 2011-07-21 | Fraunhofer Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder, audio decoder, method for encoding and audio information, method for decoding an audio information and computer program using a modification of a number representation of a numeric previous context value |
EP2591470B1 (en) * | 2010-07-08 | 2018-12-05 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Coder using forward aliasing cancellation |
CA2806000C (en) * | 2010-07-20 | 2016-07-05 | 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 an optimized hash table |
US8976861B2 (en) | 2010-12-03 | 2015-03-10 | Qualcomm Incorporated | Separately coding the position of a last significant coefficient of a video block in video coding |
US9042440B2 (en) | 2010-12-03 | 2015-05-26 | Qualcomm Incorporated | Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding |
US20120163456A1 (en) | 2010-12-22 | 2012-06-28 | Qualcomm Incorporated | Using a most probable scanning order to efficiently code scanning order information for a video block in video coding |
US10499059B2 (en) | 2011-03-08 | 2019-12-03 | Velos Media, Llc | Coding of transform coefficients for video coding |
US9106913B2 (en) | 2011-03-08 | 2015-08-11 | Qualcomm Incorporated | Coding of transform coefficients for video coding |
RU2464649C1 (ru) * | 2011-06-01 | 2012-10-20 | Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." | Способ обработки звукового сигнала |
US9167253B2 (en) | 2011-06-28 | 2015-10-20 | Qualcomm Incorporated | Derivation of the position in scan order of the last significant transform coefficient in video coding |
CN104025190B (zh) | 2011-10-21 | 2017-06-09 | 三星电子株式会社 | 能量无损编码方法和设备、音频编码方法和设备、能量无损解码方法和设备、以及音频解码方法和设备 |
GB2513111A (en) | 2013-04-08 | 2014-10-22 | Sony Corp | Data encoding and decoding |
US9176973B1 (en) | 2013-06-14 | 2015-11-03 | Timmes, Inc. | Recursive-capable lossless compression mechanism |
EP2830055A1 (en) | 2013-07-22 | 2015-01-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Context-based entropy coding of sample values of a spectral envelope |
BR112016007515B1 (pt) | 2013-10-18 | 2021-11-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Método de codificação de segmento de sinal de áudio, codificador de segmento de sinal de áudio, e, terminal de usuário. |
EP3163877A4 (en) * | 2014-06-29 | 2018-03-07 | LG Electronics Inc. | Method and apparatus for performing arithmetic coding on basis of concatenated rom-ram table |
EP2980794A1 (en) | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder and decoder using a frequency domain processor and a time domain processor |
WO2016017238A1 (ja) * | 2014-07-28 | 2016-02-04 | 日本電信電話株式会社 | 符号化方法、装置、プログラム及び記録媒体 |
EP2980795A1 (en) | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoding and decoding using a frequency domain processor, a time domain processor and a cross processor for initialization of the time domain processor |
US9252805B1 (en) * | 2015-03-28 | 2016-02-02 | International Business Machines Corporation | Parallel huffman decoder |
US20160360236A1 (en) * | 2015-06-04 | 2016-12-08 | Mediatek Inc. | Method and Apparatus for Entropy Transcoding |
CN108496221B (zh) * | 2016-01-26 | 2020-01-21 | 杜比实验室特许公司 | 自适应量化 |
US10419781B2 (en) * | 2016-09-20 | 2019-09-17 | Qualcomm Incorporated | Storing and retrieving high bit depth image data |
US10194147B2 (en) | 2017-01-19 | 2019-01-29 | Google Llc | DC coefficient sign coding scheme |
US11227615B2 (en) * | 2017-09-08 | 2022-01-18 | Sony Corporation | Sound processing apparatus and sound processing method |
WO2019091576A1 (en) | 2017-11-10 | 2019-05-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits |
EP3483884A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Signal filtering |
EP3483886A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Selecting pitch lag |
EP3483878A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio decoder supporting a set of different loss concealment tools |
EP3483880A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Temporal noise shaping |
WO2019091573A1 (en) | 2017-11-10 | 2019-05-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for encoding and decoding an audio signal using downsampling or interpolation of scale parameters |
EP3483883A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio coding and decoding with selective postfiltering |
EP3483882A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Controlling bandwidth in encoders and/or decoders |
EP3483879A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Analysis/synthesis windowing function for modulated lapped transformation |
GB2574873A (en) * | 2018-06-21 | 2019-12-25 | Nokia Technologies Oy | Determination of spatial audio parameter encoding and associated decoding |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1681213A (zh) * | 2004-03-10 | 2005-10-12 | 三星电子株式会社 | 无损音频编码/解码方法和装置 |
CN1684371A (zh) * | 2004-02-27 | 2005-10-19 | 三星电子株式会社 | 无损音频解码/编码方法和装置 |
US20080094259A1 (en) * | 2004-07-14 | 2008-04-24 | Agency For Science, Technology And Research | Context-Based Encoding and Decoding of Signals |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06133284A (ja) | 1992-10-15 | 1994-05-13 | Sony Corp | エンコーダ及びデコーダ |
US5798719A (en) * | 1994-07-29 | 1998-08-25 | Discovision Associates | Parallel Huffman decoder |
GB9509831D0 (en) * | 1995-05-15 | 1995-07-05 | Gerzon Michael A | Lossless coding method for waveform data |
US5801649A (en) | 1995-08-03 | 1998-09-01 | Seagate Technology, Inc. | Matched spectral null encoder/decoder |
KR100261254B1 (ko) | 1997-04-02 | 2000-07-01 | 윤종용 | 비트율 조절이 가능한 오디오 데이터 부호화/복호화방법 및 장치 |
KR100261253B1 (ko) | 1997-04-02 | 2000-07-01 | 윤종용 | 비트율 조절이 가능한 오디오 부호화/복호화 방법및 장치 |
KR100335611B1 (ko) * | 1997-11-20 | 2002-10-09 | 삼성전자 주식회사 | 비트율 조절이 가능한 스테레오 오디오 부호화/복호화 방법 및 장치 |
KR100335609B1 (ko) | 1997-11-20 | 2002-10-04 | 삼성전자 주식회사 | 비트율조절이가능한오디오부호화/복호화방법및장치 |
KR100274213B1 (ko) * | 1997-11-21 | 2000-12-15 | 윤종용 | Rll(2,25)코드를 이용한 7/13 채널코딩 및 채널디코딩방법 |
FI104133B1 (fi) * | 1997-11-28 | 1999-11-15 | Nokia Mobile Phones Ltd | Koodaus- ja modulointimenetelmä ja laite sen soveltamiseksi |
US6289128B1 (en) | 1998-09-30 | 2001-09-11 | Ricoh Co., Ltd. | Method and apparatus for sharing a least significant bit of encoded data between multiple numeric data values |
JP3684128B2 (ja) | 2000-02-18 | 2005-08-17 | キヤノン株式会社 | 算術符号化/復号化方法ならびに算術符号化/復号化装置 |
US6400289B1 (en) * | 2000-03-01 | 2002-06-04 | Hughes Electronics Corporation | System and method for performing lossless data compression and decompression |
JP2003304160A (ja) * | 2002-04-11 | 2003-10-24 | Sony Corp | Mq−coder方式の算術符号化/復号装置並びに方法 |
AU2003235868A1 (en) | 2002-05-10 | 2003-11-11 | Asahi Kasei Kabushiki Kaisha | Speech recognition device |
GB2388502A (en) | 2002-05-10 | 2003-11-12 | Chris Dunn | Compression of frequency domain audio signals |
KR20040085545A (ko) | 2003-03-31 | 2004-10-08 | 삼성전자주식회사 | 통신 시스템에서 오류 정정 부호의 복호 장치 및 방법 |
US20040208169A1 (en) * | 2003-04-18 | 2004-10-21 | Reznik Yuriy A. | Digital audio signal compression method and apparatus |
US7426462B2 (en) | 2003-09-29 | 2008-09-16 | Sony Corporation | Fast codebook selection method in audio encoding |
KR100571824B1 (ko) * | 2003-11-26 | 2006-04-17 | 삼성전자주식회사 | 부가정보 삽입된 mpeg-4 오디오 bsac부호화/복호화 방법 및 장치 |
JP2005184232A (ja) | 2003-12-17 | 2005-07-07 | Sony Corp | 符号化装置、プログラム、およびデータ処理方法 |
SE526226C2 (sv) | 2003-12-19 | 2005-08-02 | Ericsson Telefon Ab L M | Bildbehandling |
US7392195B2 (en) * | 2004-03-25 | 2008-06-24 | Dts, Inc. | Lossless multi-channel audio codec |
US7788106B2 (en) | 2005-04-13 | 2010-08-31 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Entropy coding with compact codebooks |
US7991610B2 (en) | 2005-04-13 | 2011-08-02 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Adaptive grouping of parameters for enhanced coding efficiency |
KR100818268B1 (ko) | 2005-04-14 | 2008-04-02 | 삼성전자주식회사 | 오디오 데이터 부호화 및 복호화 장치와 방법 |
JP2007028531A (ja) | 2005-07-21 | 2007-02-01 | Fuji Xerox Co Ltd | 画像符号化装置及び画像符号化方法 |
KR20070037945A (ko) * | 2005-10-04 | 2007-04-09 | 삼성전자주식회사 | 오디오 신호의 부호화/복호화 방법 및 장치 |
US7372378B2 (en) | 2005-12-01 | 2008-05-13 | Nvidia Corporation | Efficient decoding of n-tuple variable bit length symbols |
KR101237413B1 (ko) | 2005-12-07 | 2013-02-26 | 삼성전자주식회사 | 오디오 신호의 부호화 및 복호화 방법, 오디오 신호의부호화 및 복호화 장치 |
JP2007214814A (ja) | 2006-02-08 | 2007-08-23 | Sony Corp | 復号化方法、復号化プログラムおよび復号化装置 |
JP4745865B2 (ja) | 2006-02-28 | 2011-08-10 | 富士通セミコンダクター株式会社 | 符号化装置および方法 |
US7246462B1 (en) * | 2006-03-06 | 2007-07-24 | Grois Inventors Corp, Inc. | Reusable device for release of caught fishing accessories |
JP2008268384A (ja) * | 2007-04-17 | 2008-11-06 | Nec Lcd Technologies Ltd | 液晶表示装置 |
KR100889750B1 (ko) * | 2007-05-17 | 2009-03-24 | 한국전자통신연구원 | 오디오 신호의 무손실 부호화/복호화 장치 및 그 방법 |
WO2009027606A1 (fr) * | 2007-08-24 | 2009-03-05 | France Telecom | Codage/decodage par plans de symboles, avec calcul dynamique de tables de probabilites |
US7623047B2 (en) | 2007-10-30 | 2009-11-24 | Hewlett-Packard Development Company, L.P. | Data sequence compression |
BRPI0910796B1 (pt) | 2008-07-11 | 2021-07-13 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E. V. | Codificador de áudio e decodificador de áudio |
WO2010106631A1 (ja) * | 2009-03-17 | 2010-09-23 | キーパー=スミス エル・エル・ピー | 画像表示システム、画像表示装置、画像提供装置およびその方法 |
KR20100136890A (ko) | 2009-06-19 | 2010-12-29 | 삼성전자주식회사 | 컨텍스트 기반의 산술 부호화 장치 및 방법과 산술 복호화 장치 및 방법 |
-
2009
- 2009-10-21 KR KR1020090100457A patent/KR20100136890A/ko unknown
- 2009-12-10 KR KR1020090122733A patent/KR20100136896A/ko unknown
-
2010
- 2010-01-04 KR KR1020100000281A patent/KR20100136898A/ko unknown
- 2010-01-05 KR KR1020100000643A patent/KR101719735B1/ko active IP Right Grant
- 2010-06-17 US US12/801,632 patent/US9171550B2/en active Active
- 2010-06-18 WO PCT/KR2010/003975 patent/WO2010147436A2/en active Application Filing
- 2010-06-18 CN CN201610032446.1A patent/CN105491378B/zh active Active
- 2010-06-18 BR BRPI1015554-6A patent/BRPI1015554B1/pt active IP Right Grant
- 2010-06-18 MX MX2011013579A patent/MX2011013579A/es active IP Right Grant
- 2010-06-18 CN CN201610031675.1A patent/CN105427867B/zh active Active
- 2010-06-18 JP JP2012515996A patent/JP5635603B2/ja active Active
- 2010-06-18 BR BR122020024930-7A patent/BR122020024930B1/pt active IP Right Grant
- 2010-06-18 CA CA2923285A patent/CA2923285C/en active Active
- 2010-06-18 EP EP21158260.6A patent/EP3843278A1/en active Pending
- 2010-06-18 EP EP21158261.4A patent/EP3843279A1/en active Pending
- 2010-06-18 CN CN201080027852.XA patent/CN102460975B/zh active Active
- 2010-06-18 RU RU2011151607/08A patent/RU2493652C2/ru active
- 2010-06-18 EP EP10789763.9A patent/EP2443750A4/en not_active Ceased
- 2010-06-18 CA CA2765863A patent/CA2765863C/en active Active
-
2012
- 2012-05-04 US US13/464,529 patent/US8412533B2/en active Active
-
2013
- 2013-06-27 RU RU2013129559A patent/RU2649288C2/ru active
-
2015
- 2015-10-26 US US14/922,958 patent/US9959879B2/en active Active
-
2017
- 2017-03-20 KR KR1020170034922A patent/KR101882948B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1684371A (zh) * | 2004-02-27 | 2005-10-19 | 三星电子株式会社 | 无损音频解码/编码方法和装置 |
CN1681213A (zh) * | 2004-03-10 | 2005-10-12 | 三星电子株式会社 | 无损音频编码/解码方法和装置 |
US20080094259A1 (en) * | 2004-07-14 | 2008-04-24 | Agency For Science, Technology And Research | Context-Based Encoding and Decoding of Signals |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110517666A (zh) * | 2019-01-29 | 2019-11-29 | 腾讯科技(深圳)有限公司 | 音频识别方法、***、机器设备和计算机可读介质 |
US11900917B2 (en) | 2019-01-29 | 2024-02-13 | Tencent Technology (Shenzhen) Company Limited | Audio recognition method and system and machine device |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102460975B (zh) | 基于上下文的算术编码设备和方法以及基于上下文的算术解码设备和方法 | |
RU2628162C2 (ru) | Аудио кодер, аудио декодер, способ кодирования и декодирования аудио информации и компьютерная программа, определяющая значение поддиапазона контекста на основе нормы ранее декодированных спектральных значений | |
RU2591663C2 (ru) | Аудио кодер, аудио декодер, способ кодирования аудио информации, способ декодирования аудио информации и компьютерная программа, использующая обнаружение группы ранее декодированных спектральных значений | |
CN102460570B (zh) | 用于对音频信号进行编码和解码的方法及设备 | |
CN102334160B (zh) | 音频编码器,音频解码器,编码和解码音频信号的方法 | |
KR101573829B1 (ko) | 오디오 인코더, 오디오 디코더, 오디오 정보를 인코딩하기 위한 방법, 오디오 정보를 디코딩하기 위한 방법 및 최적화된 해시 테이블을 사용하는 컴퓨터 프로그램 | |
JPH0990989A (ja) | 変換符号化方法および変換復号化方法 | |
RU2574848C2 (ru) | Аудио кодер, аудио декодер, способ кодирования аудио информации, способ декодирования аудио информации и компьютерная программа, использующая хэш-таблицу, которая описывает значимые значения состояния и границы интервала |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |