首页> 中国专利> 用以对符号编码的方法、用以对符号解码的方法、用以将符号从发射机发送至接收机的方法、编码器、解码器、及用以将符号从发射机发送至接收机的系统

用以对符号编码的方法、用以对符号解码的方法、用以将符号从发射机发送至接收机的方法、编码器、解码器、及用以将符号从发射机发送至接收机的系统

摘要

在一种用于将符号编码的方法中,该符号是否可由第一码本的码字编码被决定。若为是,用于该符号的合适码字从该第一码本选择。否则,指示该符号不可由该第一码本的码字编码的码字被从该第一码本选择且该符号被分成复数第一子符号,且该第一子符号中的至少一个子符号的码字从第二码本选择。又,描述了一种用于解码的对应方法。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-08-27

    授权

    授权

  • 2011-08-24

    实质审查的生效 IPC(主分类):H03M7/30 申请日:20090630

    实质审查的生效

  • 2011-07-13

    公开

    公开

说明书

技术领域

本发明与将符号编码/解码的领域有关,且更加特别地,与一种用于将包括多个值的符号编码的方法、一种用于将包括多个值且由一个或多个码字编码的符号解码的方法、及一种用于将符号从发射机发送至接收机的方法、一种用于执行根据本发明的方法的计算机过程、编码器、解码器及用于将符号从发射机发送至接收机的系统有关。更加特别地,本发明的实施例与一种新的熵编码/解码方法有关,该新的熵编码/解码方法系基于霍夫曼编码且使用多维码字,以利用相邻符号间的统计相关性及使码长更佳地适应符号概率。

背景技术

在本技艺领域中,用于将信号编码的各种方法在编码音频及视频信号上为众所周知且用于在电信环境中的编码过程。对应解码方法同样是已知的。例如,在音频编码领域,AAC/MP3使用根据如下文献的改良型(或堆栈式)霍夫曼编码:Henke,Robert,“Simulation eines Audiocodierverfahrens für professionelle Anwendungen”,Diplomarbeit,Friedrich-AlexanderErlangen-Nürnberg,Erlangen 1992,Brandenburg,Karlheinz;Henke,Robert,“Near-Lossless Coding of High Quality Digital Audio:First Results”,ICAS SP-93,IEEE International Conference on Acoustics,Speech,and Signal Processing,第1卷,1993年4月27-30日,第193-196页,以及EP 0 393 526 A。

霍夫曼编码用来编码量化频谱系数。频谱系数可通过滤波器组或转换的方式从时域信号获得。在最先进的音频编码中,MDCT典型地用作转换(MDCT=修正型离散余弦转换)。针对量化,典型地使用纯量量化器(scalar quantizer)。在霍夫曼码用来编码量化频谱值的情况下,单个或多个量化频谱值被称为符号。映射到霍夫曼码的符号被限制在至最大绝对值(LAV)的值范围内,这由Huffman,D.A.,“A Method for the Construction of Minimum-Redundancy Codes”,Proceedings of the IRE,1952年9月,第40卷,期号9,第1098-1101页来描述。例如,在AAC编码中,在符号超过LAV的情况下,该符号不被映射到单码字,而是映射到两码字的序列。其中的码字之一是发出存在额外码字的信号的所谓的“脱离序列”。第二码字是所谓的“尾码字(terminating codeword)”。在解码器端,符号可使用该序列中的所有码字(即脱离码字及尾码字)只被解码。尾码字典型地使用修正型哥伦布码(Golomb-Code)被游程编码且将最大绝对值与编码符号的值之间的差值以信号方式发送。符号的维度被限制为最大值四,即针对一个符号最多四个相邻频谱系数被组合。因此,符号的维度指示了被组合成一个符号的值的数目,然后该符号的码字被确定以发送到解码器。脱离机制用于每频谱系数而非每符号,即在一个频谱系数超过LAV而其余频谱系数不超过该LAV的情况下,脱离机制只被用于超过该LAV的频谱系数。

在根据ITU-T视频编码规范ITU-T H.263(01/2005)的视频编码领域中,使用到维霍夫曼编码(VLC=可变长度编码)与脱离机制的组合。此机制用来以类似于在音频编码方法中所进行的方式对量化的DCT(DCT=离散余弦转换)系数进行编码。在电信领域,ITU-T传真规范(ITU-T Rec.T.4(07/2003))描述改良型霍夫曼编码的使用,即使用霍夫曼编码来编码游程。在游程超过LAV的情况下,发送所谓“组合基干码(make-up-code)”。通过这一组合基干码,可以表示64的整倍数。在游程大于63的情况下,下一较小组合基干码被发送。与原始游程的差值被发送作为尾码字。

上述基于霍夫曼编码的先前技术方法限制符号的维度及值的范围以保持对内存要求低。此外,需要使霍夫曼码本或码字表保持小,使得码字包括不超过预定限制的长度,使得码字的发送可根据目前状态来完成。在单值超过值范围的情况下,脱离机制用于这些单符号。

由于限制符号维度,码长一般不是最佳的。对于二进制霍夫曼编码而言,只有(1/2)n的符号概率p可使用霍夫曼编码进行最佳地编码,因为所产生的码长l被限制为整数值。若H(p)是符号的熵,以下限制适用:H(p)≤l≤H(p)+1。此限制的负效应可通过增加符号维度到N来缓和:1/N·H(p)≤l≤H(p)+1/N。然而,特别是对于低数据率而言,具有大于0.5的概率的多维符号可能发生,且这些符号的最佳符号维度例如会是16。然而,每子符号具有四个值的16维度表格将需要内存以储存416=4294967296=232个码字及码长,此将对内存需求具有重大影响。同样地,对于许多码字而言,码长将超过可接受范围。

若要被编码的符号具有统计相关性,则多符号码字是有益的。这些统计相关性可能例如由频率转换及使用分析窗口的特性产生。

对于两个统计不相关符号而言,导致最佳码长度L(a|b)=L(a)+L(b)的b接在a的后的条件概率是P(a|b)=P(a)·P(b),该最佳码长度是多个单符号的最佳码字的和,而对于统计相关符号而言,条件概率将是不同的。例如,若符号b接在符号a之后的概率高,则条件概率P(a|b)>P(a)·P(b)将大于统计不相关情况,因此最佳码长度L(a|b)<L(a)+L(b)将短于两个不相关最佳码长L(a)与L(b)的和。

所使用码本的维度越高,可获得的相关性概率P(a|b|c|...)级度就越高。

发明内容

本发明的一个目的是提供一种用于将符号编码及解码的改良方法,其中该方法允许足够好地利用符号中的相邻值之间的统计相关性。

此目的通过根据权利要求1、7和12所述的方法、通过根据权利要求13所述的计算机过程、通过根据权利要求14所述的编码器、通过根据权利要求15所述的解码器、及通过根据权利要求16所述的系统来解决。

本发明提供一种用于将包括多个值的符号编码的方法,该方法包括以下步骤:

(a)确定是否能够通过第一码本的码字对所述符号编码;

(b)如果所述符号能够由所述第一码本的码字编码,则从所述第一码本选择与所述符号相关联的码字;以及

(c)如果所述符号不能够由所述第一码本的码字编码,则:

从所述第一码本选择对所述符号不能够由所述第一码本的码字编码进行指示的码字,

将所述符号分成多个第一子符号,以及

从第二码本选择针对所述第一子符号中至少一个子符号的码字。

根据本发明的第一方面,用于编码的方法包括步骤(d),根据该步骤(d),针对不能够由来自所述第二码本的码字编码的每个第一子符号,将所述第一子符号分成多个第二子符号,以及,从第三码本选择针对所述第二子符号中至少一个子符号的码字,其中在步骤(c),针对该第一子符号中的每个子符号,从第二码本选择码字,且在步骤(d),从第二码本选择指示第一子符号不可由第二码本的码字编码的码字,且针对该第二子符号中的每个子符号,从第三码本选择码字。

根据本发明的第二方面,在步骤(c),从第一码本被选择的码字还指示第一子符号中哪些包括预定值组合,且在步骤(c),对于不包括该预定值组合的那些第一子符号,从第二码本选择码字。

本发明进步提供一种用于将包括多个值且由一个或多个码字编码的符号解码的方法,该方法包括:

(a)确定第一码字是否能够使用第一码本完全表示所述符号。

(b)如果所述第一码字能够使用所述第一码本完全表示所述符号,则使用所述第一码字从所述第一码本选择所述符号;以及

(c)如果所述第一码字不能够使用所述第一码本完全表示所述符号,则:

选择第二码本,以对包括多个子符号的符号中的第一子符号进行解码,以及

使用第二码字,从所述第二码本选择针对第一子符号中的至少一个子符号的条目。

根据本发明的第一方面,用于解码的方法包括步骤(d),根据该步骤(d),若第二码本不可完全表示该第一子符号中的一个子符号,选择第三码本用于对包括多个第二子符号的一个第一子符号中的多个第二子符号解码,且使用第三码字针对该第二子符号中的至少一个子符号,从第三码本选择条目,其中在步骤(c),第一码本针对第一码字指示符号不可从该第一码本被解码,且针对该第一子符号中的每个子符号,从第二码本选择条目,且在步骤(d)第二码本针对第一子符号的第二码字指示第一子符号不可由该第二码本解码,且针对该第二子符号中的每个子符号,从第三码本选择条目。

根据本发明的第二方面,在步骤(c),第一码本针对第一码字指示符号不可从该第一码本被解码,及该第一子符号中哪些包括预定的值组合,且在步骤(c),针对不包括该预定值组合的那些子符号,从第二码本选择条目。

本发明的实施例提供允许扩展符号维度而内存要求只有微小增加的弹性、层级式的多维霍夫曼编码方案。这通过引入只具有有限值范围和(一般而言)多维脱离序列的多维符号来实现。这些脱离机制可被施加到单或多个子符号。所有不可被直接编码的子符号用逸出码标示,且执行新的编码步骤。此过程被层级式地重复,直到所有子符号被编码。例如,对于下层级步骤而言,相同码字维度的值范围增加,或相同值范围的码字维度减小,或值的码字范围增加且码字维度减小。

本发明方法优于传统方法,因为符号维度的增加容许码长较佳适应符号概率,且容许较佳利用相邻子符号之间的统计相关性。此外,可利用不在值范围内的相邻子符号之间的统计相关性。

使用多维脱离序列将进一步减少多维码本的内存要求。例如考虑到16维码本经由脱离序列来直接表示值0及不为0的值,码字的数目将是216=65536,然而若有4个相邻符号的脱离序列,且每符号的脱离序列有相继4维码本,将使条目的数目仅减少为24+24=16。

若由于码本有限范围,符号的组合不可直接用多维码本表示,则多维脱离序列将考虑到利用存在于较低维度子符号中的低阶统计相关性。

本发明的实施例用于熵编码、音频/视频编码及电信领域。

附图说明

图1是表示根据本发明的实施例的编码器架构的流程图;

图2显示用于根据本发明的实施例的编码方案的不同码字表(码本),其中,图2(a)是用于16维符号(16维符号=由16个值组成的符号)的码字表,图2(b)是用于8维符号的码字表,图2(c)是用于4维符号的码字表;

图3示意使用图2的码字表的编码方案;

图4示意根据本发明的另一实施例的编码方案;

图5示意用于图4的编码方案的位准0的码字表的示例;

图6是表示根据本发明的实施例的解码器架构的流程图;

图7示意使用图2的码字表解码架构;

图8示意根据图6的实施例的用于编码符号的解码架构;

图9是使用根据本发明的实施例的编码方案的示范性编码器的方框图;

图10是使用根据本发明的实施例的解码架构的示例性解码器的方框图;及

图11示意用于将符号从发射机发送到接收机的系统。

具体实施方式

在下文中,本发明的实施例根据显示流程图与方框图的图式予以描述。只要示意装置的方框图的图式被涉及,值得注意的是,在这些图式中也予以示意一种方法,其中方块功能与方法步骤相对应。

图1是表示根据本发明的实施例的编码器架构操作的流程图。在步骤S100,编码方法开始且编码位准(encoding level)L被设定为0。提供具有维度N的符号Y(L,m),其中维度N指示该符号包括N个值,且m指示在位准L处的子符号索引,其中m<M,其中M指示目前位准的子符号的数目。通过在位准处划分符号Y来获得子符号。在步骤S100,M被设定为1,且相对应地m被设定为0,使得在流程开始被提供的用于编码的符号是原始符号Y(0,0)=(S0,S1,...,SN)。

在步骤S102,码本维度I被设定为N,即码本或码字表被选择用于编码n维符号Y。

在步骤S104,检查符号Y(L,m)是否可由具有维度I的目前码本来完全表示。在这是可能的的情况下,在步骤S106从码本选择可被发送到例如解码器或可被储存的合适码字C(L,m)。在步骤S107,确定是否选择了用于在目前编码位准L的所有符号Y(L,m)的码字。在用于所有符号的码字被选择的情况下,编码过程完成且结束。否则将m增加(m++)1,即选择位准L的下个符号(子符号)被且该方法返回到步骤S104。

在符号Y(L,m)不可由来自码本的码字表示的情况下,方法继续到步骤S108,其中从包括至少一个脱离机制的码本选择码字。在步骤S110,确定目前位准的哪些子符号没有被表示,且这些子符号了确定“新”符号。在“非编码”子符号剩下的情况下,这表示编码器使用新码本,该新码本具有较目前码本低的维度。在步骤S112,新符号的维度J被确定,1≤J≤N。在步骤S114,选择新码本,且新码本的维度I被选择为1≤I≤J。

在步骤S114,在同一维度的多个子符号将使用例如相同码本来编码的情况下,码本的维度可被保持为先前维度,这在下文中予以进一步详细地描述。在这种情况下,在步骤S116确定符号的维度不超过此位准的码本维度,且方法返回到步骤S104。

备选地,在步骤S114,新码本的维度I可被选择为小于新符号的维度J的值。例如,新码本的维度可被设定为新符号的维度J的一半。在这种情况下,在步骤S116确定新符号的维度J超过新码本的维度I,使得在步骤S118,将位准增加1(level++)且符号被分成多个子符号,以适合在步骤S114所选择的码本维度I。同样地,指示先前(子)符号所分成的子符号的数目的M增加。然后该方法返回到步骤S104,且针对下一位准L的所有子符号,步骤S104到步骤S118被重复,使得通过上述层级式流程,最终由而后可被发送的一个或多个码字来对符号编码。

在下文中,编码方案的实施例参考图2及图3进行进一步详细地描述。层级式架构包括16维、8维、4维及1维码字,对于具有16个相邻“0”的符号具有概率0.5的情况而言,该层级式架构是最佳的。图2示出了不同的码字表。图2(a)示出了16维符号的码字表。16维码字如下:

16维码字

  符号  码字  ESC16  0  CW16:16x,0’  10  CW16:15x,0’,1x,(+/-)1’  11 VZ XXXX

其中

·VZ:值的符号(1位)

·XXXX:对值“1”在符号中的位置进行编码的4个位

这产生了在图2(a)中所示的码字表。

图2(b)示出了8维符号的码字表,且8维码字如下:

8维码字

  符号  码字  ESC8  0

  CW8:8x,0’  10  CW8:7x,0’,1x,(+/-)1’  11 VZ XXX

其中

·VZ:值的符号(1位)

·XXX:对值“1”在符号中的位置进行编码的3个位

这产生在图2(b)中所示的码字表。

图2(c)表示4维符号的码字表。对于4维符号S=(S0,S1,S2,S3)而言,各自的码字S如下:

·在Sn(n=0,1,2,3)的所有值在[-1;1]中的情况下,符号S=(S0,S1,S2,S3)可被直接表示,

·在Sn的一些值不在[-1;1]中的情况下,不在[-1;1]中的Sn的那些值由逸出字(ESC4)表示,及

·在Sn的所有值都不在[-1;1]中的情况下,符号S=(S0,S1,S2,S3)单一地由逸出字(ESC4)表示。

例如,符号S=(-1,0,0,-1)将直接由来自图2(c)的码字表的码字CW4直接表示,符号S=(-2,3,4,-5)将只由码字CW4=ESC4表示,且符号S=(-1,3,0,-5)将由码字CW4=(-1,ESC4,0,ESC4)表示。

最终可获得的1维符号每个都通过对应的1维(1-dimensional)或1维(1-dim)码字来进行编码,该对应的1维(1-dimensional)或1维(1-dim)码字被用来通过例如游程编码对1维(1-dimensional)或1维(1-dim)符号进行直接编码。

根据上述码本或码字表,将对16维符号编码。在步骤S100(参见图1),L被设定为0、m被设定为0、且N被设定为16且M被设定为1。在步骤S100所表示的符号(即,符号Y(0,0))包括16个值S0...S15。码本维度I也被设定为16,即使用在图2(a)中所示的码字表。

在步骤S104,针对16维符号,确定码本条目是否是可利用的。若是这样的话,在步骤S106选择对应码字,以及例如对其进行发送,使得编码过程结束。在这种情况下,编码过程完成。

在步骤S104确定对于16维符号而言没有码本条目可利用的情况下,在步骤S108选择且发送逸出字。因此,如在步骤S110所确定的,尚未由发送码字表示的子符号全部是16个子符号,并且在步骤S112中,新符号的维度保持为16,即J=16。在步骤S114,选择具有维度8的新码本。因为在步骤S116码本的此维度较新符号的维度J小,该方法分支到步骤S118,其中16维符号被再分成两个8维符号或子符号,M被设定为指示现在存在两个子符号的值2,且位准L被增加(level++)到位准1。

然后针对位准1的所有子符号,即针对在步骤S118处原始符号所分成的两个子符号(即,两个8维符号),重复步骤S104-S118。然后在步骤S104,再次检查两个8维符号是否可被直接编码,亦即,针对每8维符号,在图2(b)中所示的码字表中是否包括对应码字。若是这样的话,则在步骤S108处选择且发送针对每8维符号的对应码字。然后编码过程完成。否则,即在第一及/或第二8维符号不可由来自8维码本的码字表示的情况下,从该码本选择且发送合适的逸出字。

然后,在步骤S114,选择具有维度4的新码本,且在步骤S118,将尚未被编码的一个(或多个)8维符号分成两个4维符号且重复步骤S104-S118。然后,如果可应用,将检查4维符号是否可被直接编码,即相对应的4维码字是否被包括在图2(c)中所示的码字表中。如果是这样的话,在步骤S108选择且发送对应码字。否则,可针对整个4维符号或针对其多个子符号,发送逸出字。与该其它情况对应,4维符号可被逸出为整个符号,且而后可被再分成四个1维符号,使用如下所述的编码方案在下一编码步骤中对该四个1维符号进行编码:Henke,Robert的“Simulation eines Audiocodierverfahrens für professionelle Anwendungen”,diplomarbeit,Friedrich-Alexander Erlangen-Nürnberg,Erlangen 1992,Brandenburg,Karlheinz;Henke,Robert的“Near-Lossless Coding of High Quality Digital Audio:First Results”,ICAS SP-93,IEEE International Conference on Acoustics,Speech,and Signal Processing,第1卷,1993年4月27-30日,第193-196页,以及EP 393 526 A。同样地,可以例如只针对第一及第四子符号发送基于子符号的逸出码,而可用4维码字直接编码第二及第三子符号。一旦所有符号可由脱离与终止序列(terminating sequence)表示,编码过程即完成。

现将根据用于编码16维符号Y(0,0)=(0,0,0,-1,0,0,0,0,4,0,-1,-5,-4,4,7,5)的一个示例对以上实施例进行进一步详细地描述。

位准0:

在位准0,码本的维度I被设定为16,且子符号M的数目被设定为1,索引m相应地被设定为0,使得Y(0,0)具有如也在图3的100所示意性地示出的以上形式。在步骤S104,如其在图2(a)中所示出的,确定符号Y(0,0)是否可由来自16维码本的码字完全表示。从图2(a)可看出的是,没有对应码字用于符号Y(0,0),即,超出了可用码字的范围。因此,所选码字C(0,0)是针对脱离序列ESC16的码字。此码字在步骤S108被选择且被发送。因此没有由码字C(0,0)表示的剩余符号是S0-S15

位准1:

根据在图1所示的步骤S112,现在确定新符号的维度J是否保持为16。因为在步骤S108,选择了针对ESC16的码字,已知的是,具有与目前维度对应的维度J的符号不可由目前码本编码,使得在步骤S114,选择具有维度I=8的新码本。更加特别地,选择如图2(b)中所示的码本或码字表,因为在步骤S116确定了维度J超过新码本的维度I,在步骤S118,位准被增加到位准1(level++),如在图3的102及104所示的,在图3中所示的符号100被分成第一8维符号Y(1,0)及第二8维符号Y(1,1),且M被设定为2,指示现在存在两个子符号。因此,符号被再分以适合新码本的维度I:

Y(1,0)=S0...S7:(0,0,0,-1,0,0,0,0)

Y(1,1)=S8...S15:(4,0,-1,-5,-4,4,7,5)

针对两个符号102及104,现在向前重复步骤104。针对Y(1,0),确定是否可由来自8维码本的码字对其进行表示,使得在步骤S106选择且发送在图3中的位准1所指示的对应码字C(1,0)。因此,选择针对(0,0,0,-1,0,0,0,0)的码字CW8,即码字“11 1 100”。

因为在步骤S107确定没有针对目前位准的所有符号来选择码字,方法返回到步骤S104,且同样确定针对第二8维符号Y(1,1),(4,0,-1,-5,-4,4,7,5)不可由来自图2(b)中所示的8维码本的8维码字表示。因此,如在图3中的位准1所示的,选择指示脱离序列ESC8的码字,即码字“0”,且根据步骤S108对其进行发送。且尚未由码字表示的其余符号是符号S8-S15,即(4,0,-1,-5,-4,4,7,5)。

位准2:

在步骤S112,新符号的维度被设定为8,即与目前位准的尚未被编码符号的数目对应。再者,因为在步骤S108选择了针对ESC8的码字,已知的是,不可由目前码本对具有与目前维度对应的维度J的符号进行编码,使得在步骤S114,选择具有维度I=4的新码本。经由步骤S116及步骤S118,位准被增加到位准2(level++),将没有被来自8维码本的码字完全表示的位准1的符号104分成两个4维符号106及108,即符号Y(2,0)及Y(2,1),且M被设定为2,指示存在位准2的两个子符号。因此,符号被再分,以适合新码本的维度I:

Y(2,0)=S8...S11:(4,0,-1,-5)

Y(2,1)=S12...S15:(-4,4,7,5)

在步骤S104,检查符号Y(2,0)是否可由图2(c)的4维码本完全表示。然而,符号Y(2,0)不可由单个码字完全表示,因为不是符号Y(2,0)的所有值都与1、0或-1不同,符号Y(2,0)由码字C(2,0)表示,码字C(2,0)与在其中通过脱离序列来表示符号“4”、“-5”的码字相对应,产生码字CW4=(ESC4,0,-1,ESC4)。在步骤S108选择且发送此码字。

在步骤S110,所确定的是,在目前位准L=2,没有码字被选择的子符号(即S12-S15)依然存在。此新符号的维度J是4,即与目前维度一致(步骤112),因此在步骤S114,码本的维度被保持且该方法继续经由步骤S116返回到步骤S104,而不分割新码字。因此,针对Y(2,1),在步骤S104确定其是否可由来自图2(c)的表格的码字表示。因为符号(-4,4,7,5)不可由4维码本表示且因为此符号的所有值都不是-1、0或1,在步骤S108只发送脱离序列作为码字C(2,1)=ESC4。

在步骤S110,来自位准2的尚未由码字表示的子符号被确定为符号S8、S11、S12、S13、S14及S15。在步骤S114,选择下一个较低维度码本,即1维码本。经由步骤S116及步骤S118,来自位准2的其余符号被分成如在图3的参考记号110到120所指示的多个单符号,即符号被再分,以适合新码本的维度I:

Y(3,0)=S8:(4)

Y(3,1)=S11:(-5)

Y(3,2)=S12:(-4)

Y(3,3)=S13:(4)

Y(3,4)=S14:(7)

Y(3,5)=S15:(5)

使用上述编码方案之一对符号Y(3,0)到Y(3,5)中的每个符号编码。因此,整个符号现已由在各个编码位准期间所选择的对应码字编码,且这些所选码字可被组合来以编码形式表示符号。

现将根据图4及图5描述使用本发明编码方案的另一实施例。只使用16维码字及4维码字,其中16维码字可表示16个相邻“0”的子符号(值)或发送信息,基本4维符号中的子符号(值)或发送信息只由“0”组成或包含不等于“0”的符号。在16维码字中存在不等于“0”的子符号的情况下,这些符号由4维码字表示。如在图4中所示的,在位准0,在步骤S200,包括子符号0-15的符号被提出来用于编码(也参见图1的步骤S100)。在步骤S202,检查整个符号的16个相邻子符号是否可由16维码字表示,即这些子符号是否全部是“0”(也参见图1的步骤S104)。若是这样的话,选择且传送第一码字CW1,且编码过程完成(也参见图1的步骤S106及步骤S107)。在步骤S202指示出步骤S200所提供的符号的所有子符号或值不都是“0”的情况下,输出第二码字CW2(也参见图1的步骤S108)。确定一些符号保持没有被编码(也参见图1的步骤S110),新符号的维度也被设定为4(也参见图1的步骤S112),且选择4维码本(也参见图1的步骤S114)。因为码本的维度及新符号的维度不相同的,将符号划分(也参见图1的步骤S116及步骤S118)成子符号的四个组,如在步骤S204及步骤S210所指示的,位准增加到位准1且M被设定为4。

被选择且被发送的码字CW2不仅通过例如脱离机制指示必须发送额外的信息,而且包括如下信息,即在步骤S204到步骤S210所示的4维符号中的哪些只由“0”子符号/值组成及在步骤S204到步骤S210的4维符号中的哪些包括不等于“0”的子符号。因此码字CW2指示必须只针对包括不等于“0”的子符号的4维符号来发送额外码字。在步骤S212到步骤S218,确定在步骤S204到步骤S210所示的对应子符号是否只包括“0”。在步骤S212确定子符号只包括“0”的情况下,不需要另外的动作。否则(参见图1的步骤S104),输出码字CW3、CW4、CW5、CW6中的一个或多个(参见图1的步骤S106及步骤S107)。

因此,在码字CW2以信号方式发送有包括不等于“0”的值的子符号剩下的情况下,针对这些4维符号中的每个4维符号,发送码字CW3、CW4、CW5及/或CW6,这在图4中的位准1示出了。这些字可以是尾码字或可包括脱离机制。因此,通过码字CW3-CW6,可对对应的子符号解码。备选地,期望以类似于上述关于第一实施例所述的方式,即使用4维码字表及1维码字表来对位准1的子符号编码。

图5示出了可用于对在图4中所示的在位准0的符号进行编码的码字表的示例。具有特定值的第一码字CW1在所有符号值都为“0”的情况下被使用。否则,使用码字CW2,指示不是所有符号都为“0”且包括额外的信息,即四个子符号中的哪些只包括“0”,这可通过为项xn提供“0”来表示。否则,在子符号包括“0”以外的值的情况下,对应的位置xn可使用“1”来编码。

在下文中,将根据第一实施例的符号对根据本发明的上述第二实施例用于编码过程的一个示例进行描述。

位准0:

符号的维度是16且在步骤S200提供符号Y(0,0)=(0,0,0,-1,0,0,0,0,4,0,-1,-5,-4,4,7,5)。在步骤S204,检查是否可用来自在图5中所示的码本的码字表示符号Y(0,0)。确定没有码字是可用,因此发送指示不是符号的所有值都为“0”的码字CW2。此外,包括了这样的信息:子符号0-3、4-7、8-9及12-15中的哪些只包括“0”或包括不同于“0”的值的信息。在步骤S204所提供的第一子符号是符号(0,0,0,-1),第二子符号是(0,0,0,0),第三子符号是(4,0,-1,-5)且第四子符号是(-4,4,7,5)。因此,根据图5的码字CW2是“11 1011”,指示符号作为整体也不包括不等于“0”的值且子符号4-7只包括“0”。

位准1:

码字的维度现被选择为4且由具有“1”的码字2所指示的那些子符号需要进步编码。因此,第一、第三及第四子符号分别由码字CW3、CW5及CW6编码作为步骤S212的输出,步骤S212指示在步骤S204所提供的子符号包括不等于“0”的符号。

在下文中,根据本发明的解码架构的实施例将予以描述。图6是表示本发明的解码架构实施例的流程图。在解码器端,在步骤S300接收比特流,且用于解码的位准被设定为0。解码器知晓以编码形式被接收的符号的维度且在步骤S302将码本的维度I设定为符号的维度N。假设表示需被解码的符号的所有码字是存在的或在解码器端被接收。在步骤S304,解码下一个码字,且在步骤S306确定符号是否由解码的码字C(L,m)完全表示,且在确实如此的情况下,在步骤S308,使用该码字从本码本选择条目,因此产生符号。在步骤S309,确定目前位准的所有码字是否都被解码(这表示整个符号被解码)。若这是事实的话,解码过程完成。否则,该方法返回到用于解码目前位准的下一个码字的步骤S304。

在与码本中的码字相关联的条目指示该码字不表示整个符号的情况下,该方法继续到步骤S310。在步骤S310,根据与码字C(L,m)相关联的条目解码符号(例如脱离序列被解码,这指示额外码字将接着),且在步骤S312,确定目前位准的多少子符号尚未由码字表示。在步骤S314,新符号的维度被设定介于1与N之间。在步骤S316,如果必要的话,选择新码本维度I,且新维度介于1与新符号的维度之间。因此,在多个特定维度的子符号需要被解码的情况下,在步骤S316码本保持相同维度,使得在步骤S318确定符号不超过码本维度,使得针对相同位准的其余子符号,可被执行解码。否则,在选择具有较小维度的新码本的情况下,在步骤S318确定其余符号超过码本维度,使得在步骤S320,增加位准与M,且确定原始符号被分成多个子符号,然后针对该多个子符号,将接收下一个码本且通过重复步骤S304-S316对其进行解码。

现将根据一个示例,更加特别地根据使用图2的码字表所给出的示例对上述解码方案予以描述。在图7中,假设解码器包括解码器缓存器130,该解码器缓存器130被提供用于接收根据上述实施例中被编码的原始符号的对应的子符号或值。

位准0:

在解码器端,在步骤S300,位准L被设定为0且解码器知晓需解码符号的维度N是16,使得新码本的维度I在步骤S302也被设定为16。在步骤S304,接收码字C(0,0),码字C(0,0)指示了对符号Y(0,0)进行指示的脱离机制ESC16不可由来自图2(a)的16维码本的码字表示。因此,在缓存器130中的用于S0-S15的所有位置保持空,因为没有解码值是可用的。因此,需解码的其余符号是全部16个符号S0-S15。在步骤S314,码本的维度被切换到8。因为需解码的其余符号与下一个码本的维度是不同的,在步骤S320,位准被增加到位准1,且确定在下一个位准,两个码字被接收到。

位准1:

在步骤S304,接收码字C(1,0),且在步骤S306,确定此码字完全表示位准1的第一8维子符号,使得与CW8相关联的条目从表格被选择,从而将对应的值装入(populate)S0-S7的缓存器位置,在上述示例中如由在图7中的位准1的阴影域所指示的具有值(0,0,0,-1,0,0,0,0)。然后在步骤S309确定不是位准1的所有码字都已被解码,使得该方法返回到用于解码位准1的下一个码字C(1,1)的步骤S304。码字C(1,1)指示脱离机制,即在图7中所示的ESC8。因此,在步骤S308确定符号不可被解码且其余符号是符号S8-S15,使得缓存器130中的对应缓存器位置保持空,如由在图7的位准1所示的非阴影位置所指示的。

在步骤S312,确定位准1的8个子符号不可被表示,且在步骤S316,选择4维码本,该码本的维度小于其余符号的数目,使得在步骤S318,该方法继续到位准被增加的步骤S320。

位准2:

在步骤S304,接收可被部分解码为符号S9的下一个码字C(2,0):位准2的第一码字,直接表示S10,且发送针对符号S8及S11的逸出码,使得在步骤S310,缓存器位置S9及S10被填充,而缓存器位置S8及S11保持空。位准1的8维符号只被部分解码且其余符号是符号S8及S11。然而,在步骤S316保持码字维度,使得在步骤S304,接收并解码下一个码字C(2,1),C(2,1)指示符号S12-S15都没有被表示,因为只发送了脱离机制。因此,在步骤S312确定符号S12-S15剩下。

位准3:

因为不存在第二位准码字,码本的维度被切换到1,通过在步骤S304接收并解码的直接表示对应符号的对应码字,在位准3对且尚未被解码的所有符号进行解码,从而如图7中所示装入到整个解码器缓存器130,且从而产生整个解码的符号。

解码码字C(3,0)完全表示S8(与在位准2针对S8发送的信息结合)

解码码字C(3,1)完全表示S11(与在位准2针对S11发送的信息结合)

解码码字C(3,2)完全表示S12

解码码字C(3,3)完全表示S13

解码码字C(3,4)完全表示S14

解码码字C(3,5)完全表示S15

关于位准3解码,值得注意的是,码字C(3,0)、C(3,1)与码字C(3,2)-C(3,5)之间的基本差异是,首先提到的码字使符号重建基于来自第二位准的码字C(2,0),而稍后提到的码字不如此。在上述示例中,码字C(2,0)以信号方式对符号S8及S11超过+/-1进行发送。在码字C(2,1)中,以信号方式对符号S12-S15都未被分解进行发送,即所有必要信息将经由码字C(3,2)-C(3,5)来发送。

在上述编码器/解码器方法中,用于在步骤S316所选择的针对其余符号的特定数目的码本维度是固定的,且在编码器端与在解码器端两者是同步的。例如,在上述示例中,如果在位准0处其余(即未被解码的符号)的数目是16,则码本维度被切换到8。当其余未被解码的符号的数目是8时,维度以类似方式被切换到4。再者,由编码器提供的码字的顺序和被解码的码字顺序在编码器/解码器端是固定的,即对每位准的所有码字或每码字的所有位准进行编码/解码。

图8示意了基于对依照图4的实施例进行编码的符号进行解码的、依照本发明的解码方案。在步骤S300,位准被设定为0,且码本的维度被设定为16,选择即图5的码本。在步骤S304,接收第一码字C(0,0)被,该码字是码字CW2(111011)。这指示16维符号的所有符号不都是“0”。然而,第二子符号组(即子符号4-7)是0,而所有其它子符号组包括不为0的值。因此,在步骤S306,确定符号Y(0,0)不可被完全解码,然而,在步骤S310,所确定的是符号可被部分解码,使得在解码器缓存器位置S4-S7,如在图8中由缓存器130的阴影部分所指示的引入“0”。

确定其余子符号(即符号S0-S3及S8-S15),且在步骤S316码本被切换到4维码本且紧接着接收并解码的三个码字,并通过码字CW3、CW5及CW6表示对应的符号S0-S3、S8-S11及S12-S15,从而装入如在图8的位准1所示的其余解码器缓存器位置。使用来自位准0的码字C(0,0)的额外信息,完成在位准1处的解码,从该信息已知在位准1所接收的码字针对哪些子符号组使用。

在下文中,参考示意根据本发明的实施例的编码器及解码器架构的示例性编码器及解码器操作的图9及图10。

根据图9所示的示例性编码器,单声信号、立体声信号或多通道信号输入公共预处理阶段200。公共预处理阶段200具有联合立体声功能、环绕功能及/或带宽扩展功能。在阶段200的输出,有输入到一个或多个开关202的单声通道、立体声通道或多通道。当级200有两个或多个输出,例如当级200输出立体声信号或多通道信号时,可对级200的各个输出提供开关202。举例言之,立体声信号的第一通道可为语音通道,立体声信号的第二通道可为音乐通道。于这样的情况下,同一个时间瞬间在两个通道之间,判决级204中的判决可不同。开关202通过判决级204控制。判决级包括鉴别器,及接收输入级200的信号,或由级200输出的信号作为输出信号。另外,判决级204也可接收包括在该单声信号、立体声信号或多通道信号中的边带信息,或该边带信息至少与这样的信号关联,此处存在着例如在初始产生单声信号、立体声信号或多通道信号时产生的信息。

在一个实施例中,判决级并未控制预处理级200,级204与级200间的箭头不存在。于又一个实施例中,级200的处理通过判决级204控制至某个程度,以便基于该判决选择于级200的一项或多项参数。但如此不影响级200中的一般算法,使得级200中的主要功能处于作用状态,而与级204中的判决无关。

判决级204致动开关202以便将公共预处理级的输出信号馈至图9上分支处所示意的频率编码部204或图9下分支处所示意的LPC域编码部206。

于一个实施例中,开关202在两个编码分支206、208间切换。于其它实施例中,可有其它的编码分支,诸如第三编码分支,或甚至第四编码分支或甚至更多编码分支。于有三个编码分支的一个实施例中,第三编码分支可类似于第二编码分支,但包括与第二分支208的激励编码器210不同的激励编码器。于这样的实施例中,第二分支包括LPC级212及基于码本的激励编码器210(例如ACELP);及第三分支包括LPC级以及关于LPC级输出信号的频谱表示工作的激励编码器。

频域编码分支包括频谱变换块214,可被配置为将该公共预处理级输出信号变换成频谱域。频谱变换块可包括MDCT算法、QMF、FFT算法、子波分析或滤波器组(例如,具有特定数目的滤波器组通道的临界取样的滤波器组),在此,本滤波器组的子频带信号可为实数值信号或复数值信号。频谱变换块214的输出使用频谱音频编码器216编码,频谱音频编码器216可依照本发明的实施例的编码方案工作。

下编码分支208包括源模型分析器诸如LPC 212,其输出两种信号。一种信号为LPC信息信号,用于控制LPC合成滤波器的滤波特性。该LPC信息被传输至解码器。另一个LPC级212输出信号为激励信号或LPC域信号,其被输入至激励编码器210。激励编码器210可依照本发明的实施例的编码方案工作。

在判决级204中的判决可以是信号自适应性的,以使得判决级204进行音乐/语音鉴别,并使得判决级204控制开关202,使得音乐信号输入上分支206,而语音信号输入下分支208。于一个实施例中,判决级202将其判决信息馈入输出比特流,因此解码器可使用本判决信息来进行正确解码运算。

这样的解码器示例描述于图10。于传输后,将通过频谱音频编码器216输出的信号输入至频谱音频解码器218。将频谱音频解码器218的输出输入至时域变换器220。将图5的激励编码器210的输出信号输入至输出LPC域信号的激励解码器222。解码器218和222可依照本发明的实施例的解码方案工作。将该LPC域信号输入至LPC合成级224,LPC合成级224接收由相对应的LPC分析级212所产生的LPC信息作为额外的输入信号。将时域变换器220的输出信号及/或LPC合成级224的输出信号输入至开关226。开关226经由开关控制信号来控制,该开关控制信号例如由判决级202所产生,或由外部提供,例如由原始单声信号、立体声信号或多通道信号的形成器来提供。

开关226的输出信号为完全单声信号,随后将其输入至公共后处理级228,公共后处理级228执行联合立体声处理或带宽扩展处理等。另外,开关的输出信号也可为立体声信号或多通道信号。当预处理包括将通道减至二通道时,其为立体声信号。当通道减至三通道或根本没有通道减少而只进行频谱带复制时,其甚至可为多通道信号。

取决于该公共后处理级的特定功能,输出单声信号、立体声信号或多通道信号,当该公共后处理级228执行带宽扩展操作时,具有比输入块228的信号更大的带宽。

于一个实施例中,开关226在两个解码分支218、220与222、224之间切换。于又一实施例中,可有额外的解码分支,诸如第三解码分支或甚至第四解码分支或甚至更多解码分支。于有三个解码分支的实施例中,第三解码分支可类似第二解码分支,但包括与于第二分支222、224的激励解码器222不同的激励解码器。于这样的实施例中,第二分支包括LPC级224及基于码本的激励解码器(例如,以ACELP的形式);而第三分支包括LPC级以及在LPC级224输出信号的频谱表示上进行操作的激励解码器。

于另一个实施例中,该公共预处理级包括环绕/立体声块,其产生联合立体声参数及单声输出信号作为输出信号,该单声输出信号通过将具有两个或多个通道的输入信号降混(downmix)而产生。通常,在该块200输出处的信号可以是有更多通道的信号,但因降混操作,在该块200输出处的通道数目将小于输入该块200的通道数目。在本实施例中,频率编码分支包括频谱变换级及随后连接的量化/编码级。该量化/编码级可包括由诸如AAC编码器的近代频域编码器所知的任一项功能。此外,可经由心理声学模型来控制该量化/编码级的量化操作,该心理声学模型产生心理声学信息(例如,对该频率的心理声学遮蔽阈值),此处本信息被输入到该级中。优选使用MDCT操作进行频谱变换,更优选地,使用时间翘曲的MDCT操作,此处强度或通常为可控制在零至高翘曲强度之间的翘曲强度。在零翘曲强度中,MDCT操作为技艺界已知的直通式MDCT操作。LPC域编码器包括ACELP核,计算音高增益、音高滞后及/或码本信息诸如码本索引及码增益。

优选地本发明不限于以上情况。而是本发明方法也可用于传统的MP3或AAC编码器与解码器。

图11示意用于将信号从发射机发送至接收机的系统。在图11中所示的系统包括发射机300,该发射机300包括例如在图9中所示的编码器的编码器302。一般地,编码器302根据上述实施例操作,即在发射机300的输入端304接收的输入信号包括符号S,该符号S根据上述实施例被编码器302编码,以在该发射机的输出端306提供包括一个或多个码字CW的输出信号。该系统包括例如网络308的通讯链路,包括码字CW的信号经由该通讯链路被发送至接收机310。接收机310包括用于接收输入信号的输入312,该输入信号包括被提供给解码器314的多个码字。该解码器314例如可以是在图10中所示的解码器或根据本发明的实施例操作的任何其它类型的解码器。如上所述,解码器314可操作以根据所接收的码字CW产生符号S,该符号S经由接收机310的输出316在输出信号中被输出。解码符号可用于进一步的处理,如产生音频信号、视频信号或各种各样的信号。

在上述实施例中,描述了特定的码本配置,然而,本发明不限于这些实施例。而是可使用不同的码本配置。

在另一个实施例中,这样的配置可包括具有较低维度的码字,而由第二码本的码字表示的值的范围大于由第一码本表示的值的范围。

在又一个实施例中,后续的码本可包括具有较低维度的码字,其中由第二码本及第一码本的码字表示的值的范围是相同的。

在再一个实施例中,第二码本可包括与第一码本的码字具有相同维度的码字,其中由第二码本表示的值的范围大于由第一码本表示的值的范围。

在用于对量化的频谱值进行编码/解码的编码/解码的方案的背景中对上述实施例进行描述。然而,本发明不限于这种环境,而是任何类型的信息信号可根据本发明的原理被编码/解码。

尽管一些方面已在装置的背景中予以描述,然而显然的是,这些方面也表示对应方法的描述,其中方块或装置与方法步骤或方法步骤的特征对应。类似地,在方法步骤的背景中所述的方面也表示对应方块或对应装置的条目或特征的描述。

依据某些实现需求,本发明的实施例可用硬件或软件实施。可使用其上储存有与可编程计算机系统协同工作(或可与可编程计算机系统协同工作),使得对应的方法被执行的电气可读控制信号的数字储存媒体来执行该实现,例如软式磁盘、DVD、CD、ROM、PROM、EPROM、EEPROM或闪存。根据本发明的一些实施例包括具有可与可编程计算机系统协同工作,使得于此所述的其中方法被执行的电气可读控制信号的数据载体。

一般地,本发明的实施例可被实施为具有在计算机程序产品在计算机上执行时可操作以执行其中的一种方法的程序代码的计算机程序产品。程序代码例如可被储存在机器可读载体上。其它实施例包括被储存在机器可读载体上且用于执行于此所述的其中一种方法的计算机程序。因此,本发明方法的实施例从而是具有用于在计算机程序在计算机上执行时执行于此所述的其中一种方法的程序代码的计算机程序。发明方法的另一个实施例从而是包括其上记录有用于执行于此所述的其中一种方法的计算机程序的数据载体(或数字储存媒体、或计算机可读媒体)。发明方法的又一个实施例从而是表示用于执行于此所述的其中一种方法的计算机程序的数据流或信号序列。该数据流或信号序列例如可被组配以经由数据通讯连接体,例如经由因特网来传送。再一个实施例包括例如计算机、或可编程逻辑装置的被组配以或适于执行于此所述的其中一种方法的处理装置。另一个实施例包括其上安装有用于执行于此所述的其中一种方法的计算机程序的计算机。

在一些实施例中,可编程逻辑装置(例如现场可编程门阵列)可用来执行于此所述的方法功能中的一些或全部。在一些实施例中,现场可编程门阵列可与微处理器协同工作,以执行于此所述的其中一种方法。一般地,优选地由任何的硬件装置来执行方法。

上述实施例针对本发明的原理只是说明性的。需理解的是,于此所述配置及细节的修改与变化对于其它在本技艺领域中具有通常知识者而言将是显而易见的。因此,其目的是只受即将要求权利的专利申请的范围所限制,而不受由描述及解释这里的实施例所呈现的特定细节所限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号