CN101308657B - 一种基于先进音频编码器的码流合成方法 - Google Patents
一种基于先进音频编码器的码流合成方法 Download PDFInfo
- Publication number
- CN101308657B CN101308657B CN2007101484562A CN200710148456A CN101308657B CN 101308657 B CN101308657 B CN 101308657B CN 2007101484562 A CN2007101484562 A CN 2007101484562A CN 200710148456 A CN200710148456 A CN 200710148456A CN 101308657 B CN101308657 B CN 101308657B
- Authority
- CN
- China
- Prior art keywords
- subband
- code book
- code
- coding
- book
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000002194 synthesizing effect Effects 0.000 title claims abstract description 14
- 238000001228 spectrum Methods 0.000 claims abstract description 51
- 238000013139 quantization Methods 0.000 claims abstract description 9
- 238000012545 processing Methods 0.000 claims abstract description 7
- 230000003595 spectral effect Effects 0.000 claims description 4
- 238000011002 quantification Methods 0.000 abstract description 4
- 238000001308 synthesis method Methods 0.000 abstract 2
- 108091026890 Coding region Proteins 0.000 abstract 1
- 230000015572 biosynthetic process Effects 0.000 abstract 1
- 238000003786 synthesis reaction Methods 0.000 abstract 1
- 230000000694 effects Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000000052 comparative effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000010521 absorption reaction Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000003467 diminishing effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种基于先进音频编码器的码流合成方法,包含如下步骤:A、量化编码:对待编码的码流进行量化编码处理,得到多个编码子带;B、码书合并:计算各编码子带使用不同码书时的参考比特消耗值,确定各编码子带使用的码书:按编码顺序,对于第一个编码子带,选择各码书中参考比特消耗值最小的码书作为使用码书;对于第一个编码子带之后的每一个编码子带,若当前编码子带的量化谱不全为0,选择各码书中使当前编码子带与上一编码子带的总参考比特消耗值最小的码书作为使用码书;C、码流合成:对各编码子带,选择步骤B中确定的使用码书进行编码,完成码流合成处理。本发明减少了熵编码的比特开销,提高了先进音频编码器的编码效率。
Description
技术领域
本发明涉及MPEG-4(运动图像专家组制定的一种动态图像标准)的先进音频编码(Advanced Audio Coding,AAC),具体地说涉及一种基于先进音频编码器的码流合成方法。
背景技术
音频编码技术是诸如数字音频广播,互联网的传播音乐和音频通讯等多媒体应用技术的核心,这些应用极大地受益于音频编码器压缩性能的提高。感知音频编码器作为有损变换域编码的一种,是现代的主流音频编码器。感知音频编码器依赖于人耳的听觉感知特性研究,对编码噪声进行感知整形,以较高的编码压缩比获得较低感知质量下降的编码效果。在感知音频编码算法中,音频信号的变换域谱经过量化后,需要使用熵编码器对量化谱进行编码,以减少信息冗余。作为一种感知音频编码器,在MPEG-4AAC中,量化以子带为单位,子带中的MDCT(改进的离散余弦变换)谱经量化后得到整数量化谱,整数量化谱以子带为单位使用霍夫曼码书进行熵编码。MPEG-4AAC中霍夫曼码书包含码字码书HWk和码长码书HLk,k代表码书序号,取1到11,代表11种不同性质的霍夫曼码书,它们列于表1中。对码字码书检索得到霍夫曼码字,对码长码书检索得到霍夫曼码字的长度,即码长。
表1MPEG-4AAC中霍夫曼码书及其性质
码书序号 | 符号 | 维数 | 最大绝对值 | 总个数 |
1 | 有 | 4 | 1 | 81 |
2 | 有 | 4 | 1 | 81 |
3 | 无 | 4 | 2 | 81 |
4 | 无 | 4 | 2 | 81 |
5 | 有 | 2 | 4 | 81 |
6 | 有 | 2 | 4 | 81 |
7 | 无 | 2 | 7 | 64 |
8 | 无 | 2 | 7 | 64 |
9 | 无 | 2 | 12 | 169 |
10 | 无 | 2 | 12 | 169 |
11 | 无 | 2 | 15 | 289 |
表1中,有符号代表该码书直接对整数量化谱编码;无符号代表该码书仅对整数量化谱的绝对值编码。n维码书代表n个整数量化谱对应一个霍夫曼码字;最大绝对值代表能使用该码书编码的子带中整数量化谱最大绝对值。对熵编码码长进行检索,首先求得子带中整数量化谱的最大绝对值tmax,依次将子带中相邻的四个整数量化谱组成四维矢量[t1 t2 t3 t4]作为索引去查找,累加求得不同码书熵编码所需码长的总数,其中,有符号码书的索引要加上最大绝对值作为偏移,而无符号码书的索引则加上1,四维码书使用[t1 t2 t3 t4]作为每一维的索引检索,二维码书使用[t1 t2],[t3 t4]分别检索两次。传统的检索码书的流程根据tmax判断如下:
tmax=1,检索1,2,3,4,5,6,7,8,9,10,11号码书
tmax=2,检索3,4,5,6,7,8,9,10,11号码书
2<tmax□4,检索5,6,7,8,9,10,11号码书
4<tmax□7,检索7,8,9,10,11号码书
7<tmax□12,检索9,10,11号码书
12<tmax□15,检索11号码书
16£tmax,检索11号码书,启动溢出保护机制其中的溢出保护机制,在tmax 316时先以16替代大于16的整数谱t作为索引进行检索,然后在这个霍夫曼码字后面,为大于等于16的索引依次添加逃避序列。逃避序列(escape sequence)由以下三部分组成:
[escape_prefix][escape_separator][escape_word]
其中[escape_prefix]是N个‘1’,[escape_separator]是一个‘0’,[escape_word]是一个N+4比特的无符号整型数,t满足t=2N+4+[escape_word],增加比特数为2int[log2(t+1)+1]-5。
通过检索码长得到第n子带整数量化谱使用m号码书的比特消耗参考值,并以码书号和整数量化谱的子带号为行列参数,将比特消耗参考值记录在参考比特消耗矩阵refBits(m,n)中。refBits作为确定每个子带最终使用的码书序号的依据。AAC的码流合成需要额外的比特存储每个子带使用的码书序号,从第一个子带开始,它用4个比特表示码书序号,用5个比特表示连续使用该序号码书的子带数,如果连续使用该序号码书的子带数达到或超过31,那么再增加5个比特用于表示连续子带数减去31的数值。这样,通常情况下,只增加9比特用于表示码书序号的开销。实际上,因为子带量化谱最大值不尽相同,且同子带使用不同码书,其量化谱熵编码消耗的比特数差别很大,子带使用同一个码书不能在码流合成时节约比特开销,确定每个子带的最优子带序号,对使用同一个码书的连续子带进行合并,是一个复杂的优化过程。传统的做法有,不考虑优化,为每个子带选择比特消耗最小的码书;固定长度码书合并,强制另相邻的三个或多个子带使用比特消耗最少的同一个码书等。这些方法消耗的比特数仍较多,影响了熵编码的效率。
发明内容
本发明所要解决的技术问题是提供一种基于先进音频编码器的码流合成方法,能够更好的优化码书合并过程,从而提高码流合成效果,进而提高整个音频编码器的性能。
为了解决上述技术问题,本发明采用如下技术方案:
一种基于先进音频编码器的码流合成方法,包含如下步骤:
A、量化编码:对待编码的码流进行量化编码处理,得到多个编码子带;
B、码书合并:计算各编码子带使用不同码书时的参考比特消耗值,确定各编码子带使用的码书:按编码顺序,对于第一个编码子带,选择各码书中参考比特消耗值最小的码书作为使用码书;对于第一个编码子带之后的每一个编码子带,若当前编码子带的量化谱不全为0,选择各码书中使当前编码子带与上一编码子带的总参考比特消耗值最小的码书作为使用码书;
C、码流合成:对各编码子带,选择步骤B中确定的使用码书进行编码,完成码流合成处理。
所述步骤B中第一个编码子带之后的每一个编码子带选择码书是通过如下原则确定:
获取当前编码子带使用各码书的参考比特消耗值,若参考比特消耗值最小的码书与上一编码子带使用的码书相同,当前编码子带使用该码书,否则,按以下三种方式分别计算当前编码子带与上一编码子带的总参考比特消耗值并按照使当前编码子带与上一编码子带的总参考比特消耗值最小的方式选择使用码书:
1)取上一编码子带已选码书作为当前编码子带的候选码书,总参考比特消耗值等于两个编码子带的参考比特消耗值之和;
2)在除上一编码子带已选码书外的其他所有码书中,选择使得两个编码子带的参考比特消耗值之和最小的码书作为当前编码子带和上一编码子带的共同候选码书,总参考比特消耗值等于两个编码子带的参考比特消耗值之和,如果上一编码子带和上上一编码子带使用的是同一码书,总参考比特消耗值等于两个编码子带的参考比特消耗值之和加上码书切换开销。
3)选择当前编码子带参考比特消耗值最小的码书作为候选码书,总参考比特消耗值等于上一编码子带和当前编码子带的参考比特消耗值之和加上码书切换开销。
所述步骤B的码书合并过程中,若一个编码子带或多个连续编码子带的量化谱全为0,统计该编码子带或该多个连续编码子带采用前一个不全为0的编码子带使用的码书进行编码的参考比特消耗值或参考比特消耗值之和,若该参考比特消耗值或参考比特消耗值之和大于码书切换开销,所述编码子带或多个连续编码子带使用0号码书编码;否则,使用前一个不全为0的编码子带使用的码书编码。
所述参考比特消耗值预存于二维数组refBits中,refBits(m,n)为数组refBits中第m行第n列的元素值,其表示第n子带的整数量化谱使用m号码书的参考比特消耗值,refBits(m,n)的初始值置为最大65535。
若当前编码子带的整数量化谱全为0,该子带对应的码书参考比特消耗值为refBits(m,n)=bwsfb(n)*CW0(m),其中,bwsfb和CW0为一维数组,bwsfb(n)为数组bwsfb中第n个元素值,其表示编码子带n的带宽,CW0(m)为数组CW0中第m个元素值,其表示用码书m编码0值的整数量化谱所消耗的每谱线比特数。
还包括数组预处理,所述数组预处理利用如下公式进行:若refBits(m,n+1)=65535,则refBits(m,n)=refBits(m,n)+C,其中refBits(m,n)为当前编码子带的参考比特消耗值,refBits(m,n+1)为下一编码子带的参考比特消耗值,C为码书切换开销。
所述一维数组CW0=[0.250.750.2510.520.52.50.532]。
所述码书为霍夫曼码书,包含11个序号的码书。
所述参考比特消耗值是通过以编码子带的整数量化谱为索引检索所述霍夫曼码书得到的。
本发明通过保证编码时总参考比特消耗值最小的原则,对每一个编码子带,都选择其与前一编码子带的总参考比特消耗值最小时使用的码书确定各编码子带使用的码书,利用这种一阶回溯的方式优化了码流合成中的码书合并过程,从而减少了比特开销,提高了码流合成的效果,进而提高了先进音频编码器的编码效率。
进一步的,在编码子带的整数量化谱全为0时,比较编码子带采用前一编码子带使用的码书和采用0号码书两种情况下的不同总参考比特消耗值,并选择使总参考比特消耗值更小的码书作为整数量化谱全为0的编码子带编码时所采用的码书。
更进一步的,对参考比特消耗值数组进行预处理,对后向孤立的数组单元(即后列为65535)加上码书切换开销,通过考虑了一阶后向的情况,提高了码书合并的优化效果。
附图说明
图1是本发明具体实施方式的处理流程图;
图2是在100帧80kbps立体声编码下,现有技术中的各种码书合并方法与本发明具体实施方式采用的码书合并方法相对于最小值比特消耗的比特消耗比较效果;
图3是在100帧128kbps立体声编码下,现有技术中的各种码书合并方法与本发明具体实施方式采用的码书合并方法相对于最小值比特消耗的比特消耗比较效果;
图4是在100帧192kbps立体声编码下,现有技术中的各种码书合并方法与本发明具体实施方式采用的码书合并方法相对于最小值比特消耗的比特消耗比较效果;
图5是在100帧256kbps立体声编码下,现有技术中的各种码书合并方法与本发明具体实施方式采用的码书合并方法相对于最小值比特消耗的比特消耗比较效果;
图6是不同比特多种类型音频编码下,现有技术中的各种码书合并方法与本发明具体实施方式采用的码书合并方法相对于最小值比特消耗的比特消耗比较效果。
具体实施方式
下面对照附图结合具体实施方式对本发明作详细说明。
如图1,MPEG-4AAC的码流合成,需要对待编码的码流进行量化处理后形成的多个编码子带选择不同的码书进行编码,这称为码书合并过程。码书合并是否优化,直接影响到码流合成的效果,从而影响到整个编码器的编码效率。本方法的具体实施方式的处理过程包括:
一、量化编码:对待编码的码流进行量化编码处理,得到多个编码子带;
二、码书合并:
1、预置二维数组refBits(m,n),n表示待编码的码流量化编码后得到的整数量化谱的第n个编码子带,m表示编码时各编码子带使用的码书序号;refBits(m,n)代表第n子带的整数量化谱使用m号码书的参考比特消耗值;数组中的各值的初始值置为最大值65535。本实施例中采用霍夫曼码书,包括11个序号的码书。
2、计算所有编码子带在各码书中的参考比特消耗值并将其存放于二维数组refBits(m,n)。
3、当某子带不用编码时(即该子带的量化谱全为0),该子带对应的码书参考比特消耗值为refBits(m,n)=bwsfb(n)*CW0(m),其中,bwsfb(n)为当前编码子带n的带宽,CW0(m)为用码书m编码0值的整数量化谱所消耗的每谱线比特数,这称为零子带跳跃规避原则。
4、对数组进行预处理,考虑码书切换需要增加C比特的开销。预处理的方法是:若refBits(m,n+1)=65535,则refBits(m,n)=refBits(m,n)+C。即若后面的子带没有用到当前子带的码书,当前子带对应的码书的参考比特消耗值加C。码书切换开销C用4个比特表示码书序号,用5个比特表示连续使用该序号码书的子带数。
5、通过一阶回溯码书合并方法,选择比特开销最小的码书组合。
5.1按编码顺序,对于第一个编码子带,在霍夫曼码书的11个序号的码书中选择参考比特消耗值最小的码书。
5.2对于第一个编码子带之后的每一个编码子带,分量化谱全为0与不全为0两种情况;
5.3当前子带k的量化谱不全为0的情况:
5.3.1若各序号码书中使得当前子带参考比特消耗值最小的码书与上一子带取的码书相同,则选择该序号码书作为当前子带使用的码书。
5.3.2否则,计算以下三种候选方式的当前子带和上一子带的总参考比特消耗值,选择其中总参考比特消耗值最小的一种方式:
5.3.2.1取上一个子带已经选择的码书作为当前子带的候选码书(两个子带用同一个码书),总参考比特消耗值等于两个子带的参考比特消耗值之和。
5.3.2.2当前子带与上一个子带取同一个候选码书,遍历除了上一个子带已选的码书外的所有其他序号的码书,选择他们两个参考比特消耗值之和最小的码书作为两个子带的共同候选码书(两个子带用同一个码书)。此种情况下,上一子带使用的候选码书发生了改变,所以若上一个子带与上上一个子带用的是同一个码书,总参考比特消耗值还要加上码书切换的开销C。
5.3.2.3在各序号码书中选择使当前子带参考比特消耗值最小的码书作为候选码书(两个子带用不同码书),总参考比特消耗值等于上一子带的参考比特消耗值加上当前子带的最小参考比特消耗值,再加上码书切换开销C。
5.4当前子带k的量化谱全为0的情况:
5.4.1对于此种情况,现有技术中一般直接采用0号码书,但这样的选择造成码书切换,从而增加了码书切换开销。而本实施例采用前一个子带(量化谱不全为0)的码书以避免码书切换。用前一个子带的码书量化0值的整数谱所消耗的比特数作为当前子带的参考比特消耗值,zeroBits=refBits[BookIndex(k-1),k],BookIndex(k-1)表示前一子带的码书。
5.4.2若随后子带k+1的量化谱还是0,还是拿前一个量化谱不全为0的子带的码书来量化,用该码书量化0值的整数谱所消耗的比特数作为当前子带的参考比特消耗值。同时累加参考比特消耗值,即计算连续多个量化谱为0的编码子带的参考比特消耗值之和。zeroBits=zeroBits+refBits[BookIndex(k-1),k+1]。zeroBits是用k-1子带的码书来对随后连续的量化谱全为0的子带进行编码的总参考比特消耗值。
5.4.3重复5.4.2步直到子带的量化谱不全为0。
5.4.4若zeroBits>C,用0号码书对量化谱全为0的子带进行编码,C为码书切换的开销比特。
5.4.5若zeroBits<=C,用k-1子带的码书来对随后连续的量化谱全为0的子带进行编码。
5.4.6若子带k+1的量化谱不全为0,即只是当前子带k一个编码子带的量化谱全为0,则若当前子带k的参考比特消耗值大于码书切换开销,当前子带k使用0号码书编码;否则,使用前一个不全为0的编码子带使用的码书编码。
5.5重复5.3步,直到所有子带完成熵编码。
三、码流合成:对各编码子带,选择步骤B中确定的使用码书进行编码,完成码流合成处理。
下面对上述步骤中的几个处理步骤作进一步说明。
a、计算参考比特消耗值
本发明实施例中,使用霍夫曼码书进行各编码子带的参考比特消耗值的计算。AAC中的霍夫曼码书一共有11个,其规格如表1,另外有0号码书用来表示量化谱全为0时使用的码书,所谓0号码书,实质上是一虚拟码书,用来指代该子带不进行编码。计算量化谱的比特消耗,计算过程为:首先求得子带中整数量化谱的最大绝对值tmax,依次将子带中相邻的四个整数量化谱组成四维矢量[t1 t2 t3 t4]作为索引去查找,累加求得不同码书熵编码所需码长的总数,其中,有符号码书的索引要加上最大绝对值作为偏移,而无符号码书的索引则加上1。检索方法为:
codeLen1=Huf_Len1[t1+1][t2+1][t3+1][t4+1]
codeLen2=Huf_Len2[t1+1][t2+1][t3+1][t4+1]
codeLen5=Huf_Len5[t1+4][t2+4]+Huf_Len5[t3+4][t4+4]
codeLen6=Huf_Len6[t1+4][t2+4]+Huf_Len6[t3+4][t4+4]
t1=|t1|,t2=|t2|,t3=|t3|,t4=|t4|
signLen=!!t1+!!t2+!!t3+!!t4
codeLen3=Huf_Len3[t1][t2][t3][t4]+signLen (1)
codeLen4=Huf_Len4[t1][t2][t3][t4]+signLen
codeLen7=Huf_Len7[t1][t2]+Huf_Len7[t3][t4]+signLen
codeLen8=Huf_Len8[t1][t2]+Huf_Len8[t3][t4]+signLen
codeLen9=Huf_Len9[t1][t2]+Huf_Len9[t3][t4]+signLen
codeLen10=Huf_Len10[t1][t2]+Huf_Len10[t3][t4]+signLen
codeLen11=Huf_Len11[t1][t2]+Huf_Len11[t3][t4]+signLen
!!运算符的运算原则是若t10,!!t=1,若t=0,!!t=0;
检索码书的流程根据tmax判断如下:
溢出保护机制,tmax 316时先以16替代大于16的整数谱t作为索引进行检索,然后在这个霍夫曼码字后面,为大于等于16的索引依次添加逃避序列。逃避序列(escape sequence)由以下三部分组成:
[escape_prefix][escape_separator][escape_word]
其中[escape_prefix]是N个‘1’,[escape_separator]是一个‘0’,[escape_word]是一个N+4比特的无符号整型数,t满足t=2N+4+[escape_word],增加比特数为2int[log2(t+1)+1]-5。
检索码长得到的第n子带整数量化谱使用m号码书的比特消耗参考值,记录在参考比特消耗矩阵refBits(m,n)中,没有计算到的记为65535。当前子带的参考比特消耗值为
sfbbit(n)=sfLen(n)+min(refBits(m,n)),m=1,2L,11(2)
b、零子带跳跃规避
为避免在不进行编码的子带发生多次码书序号切换,增加额外开销,在不需要对当前子带量化谱编码时,refBits相应的那一列的11个码书的参考比特消耗值为bwsfb(k)×[0.250.750.2510.520.52.50.532],上述值为查找码表所得,并在参考码书索引bookIndex中记录bookIndex(k)=0,其余子带的参考码书索引均为12。如表2中,其中第12、13子带的对应例为8×[0.250.750.2510.520.52.50.532],其中,8为第12、13子带的带宽值。
c.参考比特消耗值的预处理
对refBits做预处理,如果refBits单元后向孤立(后列是65535),那该单元加上9(短块编码为7,长短块指AAC处理加窗的长短)。以表2为例,第2列的1、2、3、4行,第10列3、4行,第3列5、6、7、8行和第8列5、6、7、8行属于后向孤立单元。处理后的refBits见表3,表中经过加黑处理的数值对应的行号为各子带使用不同序号的码书进行编码时参考比特消耗值最少的码书的对应序号。
表2码书的比特开销数
表3码书的比特开销数
d.一阶回溯码书合并
预处理后,从第一个子带开始,码书索引为最小值的行号(若有相同,取行号大者),即BookIndex(1)=m,refBits[m,1]=min(refBits[11 to1,1]),如表3,BookIndex(1)=6。
如前述原则,子带C2应用规则5.3.1,取BookIndex(2)=6,子带C3应用规则5.3.2.2,取BookIndex(3)=6,子带C4应用规则5.3.2.2,取BookIndex(4)=10,并把BookIndex(3)修改成10、C5应用规则5.3.1,,BookIndex(5)=10,对于子带12、13,根据步骤5.4,用0号码书进行编码BookIndex(12)=0,BookIndex(13)=0。
按照以上步骤确定了各编码子带使用的码书后,对各编码子带进行熵编码,完成码流合成。
本发明基于一阶回溯技术,以简单高效的码书合并方法求得优化的子带的码书序号,从而可以减少熵编码时的比特开销,提高了码流合成的效果,进而提高了整个音频编码器的编码效率。
以Megal AAC编码器作为测试平台来验证本发明的有效性,Megal AAC编码器为应用本发明的码流合成方法实现的MPEG-4AAC编码器。测试对8段44100Hz采样,16比特量化的立体声剪辑进行,每段剪辑持续11.63秒,剪辑曲目见表3,每次测试结果取8段剪辑的平均值。测试在载有一颗主频为1.86GHz的Intel E6300处理器的工作站上进行。编码测试的平均码率设定为80kbps,128kbps,192kbps,256kbps共4组。分别采用全部选取最小值合并,强制3子带合并,强制6子带合并,强制9子带合并和本实施例的码书合并分别计算每一帧的熵编码消耗值,其中提供给码书合并算法的参考比特消耗值是相同的。
表4测试剪辑
图2,3,4,5分别为剪辑1的前100帧分别在80kbps,128kbps,192kbps,256kbps码率编码时,强制3子带合并,强制6子带合并,强制9子带合并和本方法分这四种码书合并算法相对于最小值合并比特消耗的每一帧之比。图6是这8个剪辑分别在80kbps,128kbps,192kbps,256kbps码率编码时,强制3子带合并,强制6子带合并,强制9子带合并和本实施例这四种码书合并算法相对于最小值比特消耗之比的平均值。从实验数据可以得到本实施例相对于各种码书合并算法提高编码器的效率达10%到15%,这在中低码率尤为明显。
Claims (7)
1.一种基于先进音频编码器的码流合成方法,其特征在于,包含如下步骤:
A、量化编码:对待编码的码流进行量化编码处理,得到多个编码子带;
B、码书合并:计算各编码子带使用不同码书时的参考比特消耗值,确定各编码子带使用的码书:按编码顺序,对于第一个编码子带,选择各码书中参考比特消耗值最小的码书作为使用码书;对于第一个编码子带之后的每一个编码子带,若当前编码子带的量化谱不全为0,选择各码书中使当前编码子带与上一编码子带的总参考比特消耗值最小的码书作为使用码书,具体包括:获取当前编码子带使用各码书的参考比特消耗值,若参考比特消耗值最小的码书与上一编码子带使用的码书相同,当前编码子带使用该码书,否则,按以下三种方式分别计算当前编码子带与上一编码子带的总参考比特消耗值并按照使当前编码子带与上一编码子带的总参考比特消耗值最小的方式选择使用码书:
1)取上一编码子带已选码书作为当前编码子带的候选码书,总参考比特消耗值等于两个编码子带的参考比特消耗值之和;
2)在除上一编码子带已选码书外的其他所有码书中,选择使得两个编码子带的参考比特消耗值之和最小的码书作为当前编码子带和上一编码子带的共同候选码书,总参考比特消耗值等于两个编码子带的参考比特消耗值之和,如果上一编码子带和上上一编码子带使用的是同一码书,总参考比特消耗值等于两个编码子带的参考比特消耗值之和加上码书切换开销。
3)选择当前编码子带参考比特消耗值最小的码书作为候选码书,总参考比特消耗值等于上一编码子带和当前编码子带的参考比特消耗值之和加上码书切换开销;
若一个编码子带或多个连续编码子带的量化谱全为0,统计该编码子带或该多个连续编码子带采用前一个不全为0的编码子带使用的码书进行编码的参考比特消耗值或参考比特消耗值之和,若该参考比特消耗值或参考比特消耗值之和大于码书切换开销,所述编码子带或多个连续编码子带使用0号码书编码;否则,使用前一个不全为0的编码子带使用的码书编码。
C、码流合成:对各编码子带,选择步骤B中确定的使用码书进行编码,完成码流合成处理。
2.如权利要求1所述的码流合成方法,其特征在于,所述参考比特消耗值预存于二维数组refBits中,refBits(m,n)为数组refBits中第m行第n列的元素值,其表示第n子带的整数量化谱使用m号码书的参考比特消耗值,refBits(m,n)的初始值置为最大65535。
3.如权利要求2所述的码流合成方法,其特征在于,若当前编码子带的整数量化谱全为0,该子带对应的码书参考比特消耗值为refBits(m,n)=bwsfb(n)*CW0(m),其中,bwsfb和CW0为一维数组,bwsfb(n)为数组bwsfb中第n个元素值,其表示编码子带n的带宽,CW0(m)为数组CW0中第m个元素值,其表示用码书m编码0值的整数量化谱所消耗的每谱线比特数。
4.如权利要求3所述的码流合成方法,其特征在于,还包括数组预处理,所述数组预处理利用如下公式进行:若refBits(m,n+1)=65535,则refBits(m,n)=refBits(m,n)+C,其中refBits(m,n)为当前编码子带的参考比特消耗值,refBits(m,n+1)为下一编码子带的参考比特消耗值,C为码书切换开销。
5.如权利要求4所述的码流合成方法,其特征在于,所述一维数组CW0=[0.25 0.75 0.251 0.5 2 0.5 2.5 0.5 3 2]。
6.如权利要求1所述的码流合成方法,其特征在于,所述码书为霍夫曼码书,包含11个序号的码书。
7.如权利要求6所述的码流合成方法,其特征在于,所述参考比特消耗值是通过以编码子带的整数量化谱为索引检索所述霍夫曼码书得到的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101484562A CN101308657B (zh) | 2007-05-16 | 2007-08-21 | 一种基于先进音频编码器的码流合成方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710074479 | 2007-05-16 | ||
CN200710074479.3 | 2007-05-16 | ||
CN2007101484562A CN101308657B (zh) | 2007-05-16 | 2007-08-21 | 一种基于先进音频编码器的码流合成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101308657A CN101308657A (zh) | 2008-11-19 |
CN101308657B true CN101308657B (zh) | 2011-10-26 |
Family
ID=40125070
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101484543A Expired - Fee Related CN101308661B (zh) | 2007-05-16 | 2007-08-21 | 一种基于先进音频编码器的量化器码率失真控制方法 |
CN2007101484562A Active CN101308657B (zh) | 2007-05-16 | 2007-08-21 | 一种基于先进音频编码器的码流合成方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101484543A Expired - Fee Related CN101308661B (zh) | 2007-05-16 | 2007-08-21 | 一种基于先进音频编码器的量化器码率失真控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN101308661B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8781822B2 (en) | 2009-12-22 | 2014-07-15 | Qualcomm Incorporated | Audio and speech processing with optimal bit-allocation for constant bit rate applications |
KR101569060B1 (ko) * | 2011-04-05 | 2015-11-13 | 니폰 덴신 덴와 가부시끼가이샤 | 부호화 방법, 복호 방법, 부호화 장치, 복호 장치, 프로그램, 기록 매체 |
CN107480572B (zh) * | 2017-08-15 | 2020-06-23 | 北京安云世纪科技有限公司 | 一种利用通用服务识别编码数据的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5420639A (en) * | 1993-04-01 | 1995-05-30 | Scientific-Atlanta, Inc. | Rate adaptive huffman coding |
CN1284791A (zh) * | 1999-04-20 | 2001-02-21 | 松下电器产业株式会社 | 编码器 |
US6198412B1 (en) * | 1999-01-20 | 2001-03-06 | Lucent Technologies Inc. | Method and apparatus for reduced complexity entropy coding |
US6542863B1 (en) * | 2000-06-14 | 2003-04-01 | Intervideo, Inc. | Fast codebook search method for MPEG audio encoding |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003066998A (ja) * | 2001-08-28 | 2003-03-05 | Mitsubishi Electric Corp | 音響信号符号化装置 |
CN100370836C (zh) * | 2004-08-02 | 2008-02-20 | 华为技术有限公司 | 基于率失真优化的运动预测方法 |
-
2007
- 2007-08-21 CN CN2007101484543A patent/CN101308661B/zh not_active Expired - Fee Related
- 2007-08-21 CN CN2007101484562A patent/CN101308657B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5420639A (en) * | 1993-04-01 | 1995-05-30 | Scientific-Atlanta, Inc. | Rate adaptive huffman coding |
US6198412B1 (en) * | 1999-01-20 | 2001-03-06 | Lucent Technologies Inc. | Method and apparatus for reduced complexity entropy coding |
CN1284791A (zh) * | 1999-04-20 | 2001-02-21 | 松下电器产业株式会社 | 编码器 |
US6542863B1 (en) * | 2000-06-14 | 2003-04-01 | Intervideo, Inc. | Fast codebook search method for MPEG audio encoding |
Also Published As
Publication number | Publication date |
---|---|
CN101308661B (zh) | 2011-07-13 |
CN101308657A (zh) | 2008-11-19 |
CN101308661A (zh) | 2008-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101223582B (zh) | 一种音频编码方法、音频解码方法及音频编码器 | |
CN101223570B (zh) | 获得用于数字媒体的高效编码的频带的频率分段 | |
US7433824B2 (en) | Entropy coding by adapting coding between level and run-length/level modes | |
US9390720B2 (en) | Entropy encoding and decoding using direct level and run-length/level context-adaptive arithmetic coding/decoding modes | |
US7761290B2 (en) | Flexible frequency and time partitioning in perceptual transform coding of audio | |
KR101130355B1 (ko) | 넓은-뜻의 지각적 유사성을 이용하는 디지털 미디어 스펙트럼 데이터의 효과적인 코딩 | |
KR101238239B1 (ko) | 인코더 | |
CN102081927B (zh) | 一种可分层音频编码、解码方法及系统 | |
EP2272063B1 (en) | Method and apparatus for selective signal coding based on core encoder performance | |
WO2007027006A1 (en) | Method and apparatus to extract important spectral component from audio signal and low bit-rate audio signal coding and/or decoding method and apparatus using the same | |
US20100274555A1 (en) | Audio Coding Apparatus and Method Thereof | |
MX2007009887A (es) | Esquema de codificador/descodificador de multicanal casi transparente o transparente. | |
CN103778918A (zh) | 音频信号的比特分配的方法和装置 | |
CN103544957A (zh) | 音频信号的比特分配的方法和装置 | |
WO2012052802A1 (en) | An audio encoder/decoder apparatus | |
CN101308657B (zh) | 一种基于先进音频编码器的码流合成方法 | |
AU2014286765B2 (en) | Signal encoding and decoding methods and devices | |
CN101562015A (zh) | 音频处理方法及装置 | |
CN101771416B (zh) | 位平面编码和解码方法、通信系统及相关设备 | |
HK1152790B (zh) | 通過在級別和行程長度/級別模式之間的自適應編碼的熵編碼 | |
HK1154302B (zh) | 通過電平和掃瞄寬度/電平模式之間的自適應編碼的熵編碼 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |