编码输入位序列的方法和设备以及相应解码方法和设备的制作方法

文档序号:7520378阅读:191来源:国知局
专利名称:编码输入位序列的方法和设备以及相应解码方法和设备的制作方法
技术领域
本发明涉及编码和解码位序列的技术领域。
背景技术
位序列来自于,例如,编码像音频、视频、它们的组合那样的数字多媒体内容或伴随着这样内容的辅助信息。或者,这样的位序列可能来自于编码代表规定三维网格模型的顶点的位置的几何数据的带符号整数。进一步编码这样的位序列,以便实现编码内容和/ 或辅助信息的紧凑表示对于有效使用存储容量和传输带宽是至关重要的。每个位序列也可以理解成由与1的游程交替着的0的游程组成,其中,只要游程既不是位序列的第一个游程也不是最后一个游程,则每个游程是前面和后面都紧接着每一个具有不同位值的位的另一个游程的一个或多个等值位的连续子序列。在位序列中,第一可能位值的位和不同第二可能位值的位通常以明显不同的频率出现,例如,0比1更有可能出现,或反过来。然后,位序列的熵小于包含在位序列中的位数。如果是这样,则在位序列中存在可以通过无损压缩除去的冗余。将熵编码方法用于位序列的无损压缩是众所周知的。基本上,存在三种类型的熵编码方法(1)像Huffman编码那样的可变长度编码(VLC) ; (2)算术编码;以及(3)像 Lempel-Ziv压缩或Lempel-Ziv-Welch压缩那样的基于字典压缩。熵编码的效果是,压缩位序列的熵与包含在压缩位序列中的位数之差小于压缩之前位序列的熵与包含在位序列中的位数之差。人们正在技术上努力改进编码。

发明内容
为了取得这样的进步,本发明提出了按照权利要求1编码0和1同等频繁出现的输入位序列的方法以及按照权利要求7的相应设备。所述编码0和1同等频繁出现的输入位序列的方法包含如下步骤的依次或至少部分并行执行通过交换输入位序列的位而生成其它位序列,其中在所述输入位序列中只有前面紧接着具有预定位值的位的那些位才被交换;以及压缩编码所述其它位序列。对于具有长于两个位的游程长度L和由所述预定位值的位组成的游程,有L-I个位被交换成其它位值,而只有一个位被交换成所述预定位值。因此,在交换之后,所述预定位值的出现频率降低,而所述其它位值的出现频率升高,这可以用于在编码步骤中节约位速率。在所述编码输入位序列的方法的一个实施例中,所述其它位序列包含主位和进一步位,其中所述主位等于所述输入位序列的主位,而所述进一步位是使用接收所述输入位序列的紧随其后位的位对作为输入的M)R(异或)门的输出确定的。本发明进一步提出了包含编码位序列的位流或存储媒体,所述编码位序列是按照权利要求1的方法或从属于权利要求1的权利要求之一的方法编码的。
并且,本发明提出了按照权利要求9解码输出位序列的方法以及按照权利要求15 的相应设备。所述解码输出位序列的方法包含如下步骤的依次或至少部分并行执行解码其它位序列;以及通过交换所述其它位序列的位而生成所述输出位序列,其中在所述输出位序列中所述交换位前面紧接着具有预定位值的位。在所述解码输出位序列的方法的一个实施例中,所述输出位序列包含与所述其它位序列的主位相等的主位,而所述输出位序列的进一步位是使用接收位对作为输入的M)R 门的输出位确定的,每个位对包含所述其它位序列的一个位和所述输出位序列的一个各自紧接其前输出位。存在其中编码的输入位序列和/或解码的输出位序列可以是带符号整数的二进制表示的序列的位面的进一步实施例,所述带符号整数代表规定至少一种三维网格模型的顶点的位置的几何数据,所述二进制表示包含符号位。每个进一步实施例可以包含所述符号位只包含在非零整数的二进制表示中的特征。在更进一步的实施例中,所述二进制表示包含所述整数的绝对值的可变长度代码。在再进一步的实施例中,将基于上下文的二进制算术编码和基于上下文的二进制算术解码分别用于编码和解码其它位序列。


本发明的示范性实施例例示在附图中,并且在如下描述中作更详细说明。在这些图形中图1描绘了示范性输入位序列以及从示范性输入位序列中生成的示范性其它位序列;图2描绘了带有M)R门和延迟模块的示范性第一位交换模块;以及图3描绘了带有进一步XOR门的示范性第二位交换模块。
具体实施例方式在图1中,描绘了长度为30个位的示范性输入位序列IBS。在IBS中0和1同等频繁地出现,也就是说,在IBS中存在15个0和15个1。示范性输入位序列IBS的熵可以按下式计算H(B) = -15*log2(15/3o)-15*log2 (15/30) =30因此,似乎需要30个位来表示IBS。但是,可以从示范性输入位序列IBS中形成熵减少了的示范性其它位序列0BS,其中可以从熵减少了的示范性其它位序列OBS中重构示范性输入位序列IBS。示范性其它序列OBS可以使用,例如,示范性第一位交换模块FLPl形成。并且,例如,通过使用示范性第二位交换模块FLP2,可以从示范性其它位序列OBS中重构示范性输入位序列IBS。模块FLPl详细描绘在图2中,和模块FLP2详细描绘在图3中。示范性第一位交换模块FLPl实现如下方法(a)接收所述输入位序列IBS的位并将它用作当前位;(b)输出具有与所述输入位序列的所述主位相等的值的位;(C)接收所述输入位序列IBS的下一个位;(d)如果当前位具有在本例中是1的预定可能位值,则输出具有与下一个位的值不同的值的位,否则,输出具有下一个位的值的位;以及(e)重复步骤 (c)和(d),直到到达位序列的末端,其中所述下一个位用作当前位。在OBS中,对于紧接在1前面的IBS的每个0都有一个1。并且,对于紧接在1前面的IBS的每个1,在OBS中都有一个0。由于IBS包含紧接在1之后的10个0和只包含紧接在1之后的5个1,所以0和 1在IBS中和在OBS中以不同频率出现。也就是说,在OBS中,只有10个0但有20个1。因此,OBS的熵是H(OBS) = -IO^log2 (10/30) -20*log2 (20/30) = 27. 5489这种熵的减少可以用在进一步编码的进一步压缩步骤中,以便所需位数更好地近似于二进制序列OBS的总熵。在图2中更详细地描绘了示范性第一位交换模块FLP1。所述示范性第一位交换模块FLPl的架构包含M)R门M)R,它包含第一和第二输入端1附和IN2。在每个时步中,XOR 门XOR在它的输入端mi和IN2上接收两个位,在它的输出端上输出一个输出位。输出位反映输入位是否具有相同位值。如果输入M)R门XOR中的位彼此相等,则输出两个可能位值的第一个位值的位,否则,输出位具有两个可能位值的第二个位值。也就是说,XOR门XOR 实现异或运算。描绘在图2中的示范性编码架构进一步包含延迟模块RM。所述延迟装置包含为一个时步缓存在某个时步中输入)(0R门XOR的第一输入端口 mi的位的缓冲器。然后,在下一个时步中,将缓冲位输入M)R门XOR的第二输入端口 IN2中,同时将输入位序列IBS中紧接在缓冲位之后的紧接其后位输入XOR门XOR的第一输入端口 mi中。按照第一种配置,可以将M)R门XOR配置成,如果没有东西输入第二输入端口 IN2 中,那么M)R门XOR的输出等于第一输入端口 mi上的输入,如果没有东西输入第一输入端口 mi中,那么与在第二输入端IN2上输入的东西无关,XOR门XOR没有输出。这是保证其它位序列OBS的主位等于输入位序列IBS的主位,以及在到达输入位序列IBS的末端之后终止将位输出成其它位序列OBS的容易方式。按照第二种配置,可以将M)R门XOR配置成,如果没有东西输入第二输入端口 IN2 中,那么与在第一输入端口 mi上输入的东西无关,XOR门XOR没有输出,如果没有东西输入第一输入端口 mi中,那么XOR门XOR的输出等于第二输入端口 IN2上的输入。这是实现本发明的益处的另一种容易方式。然后,包含可替代配置M)R门XOR的示范性第一位交换模块FLPl实现如下方法(a)接收所述输入位序列IBS的位并将它用作当前位;(b)接收所述输入位序列IBS的下一个位;(c)如果当前位具有在本例中是1的预定可能位值,则输出具有与下一个位的值不同的值的位,否则,输出具有下一个位的值的位;(d)重复步骤(b)和(c),直到接收到位序列的最后一位,其中所述下一个位被用作当前位;以及(e)输出最后接收位。在图3中更详细地描绘了示范性第二位交换模块FLP2。所述示范性第二位交换模块FLP2的架构包含进一步的XOR门M)R,它等效于第一位交换模块FLPl的XOR门M)R。也就是说,实现对进一步M)R门XOR的输入的XOR运算。
与第一位交换模块FLPl中的M)R门XOR的第一种配置相对应,可以将进一步XOR 门XOR配置成,如果没有东西输入第二输入端口 IN2中,那么M)R门XOR的输出等于第一输入端口 mi上的输入,如果没有东西输入第一输入端口 mi中,那么与在第二输入端IN2上输入的东西无关,XOR门XOR没有输出。与第一位交换模块FLPl中的M)R门XOR的第二种配置相对应,可以将M)R门XOR 配置成,如果没有东西输入第二输入端口 IN2中,那么与在第一输入端口 mi上输入的东西无关,XOR门XOR输出预定位值,如果没有东西输入第一输入端口 mi中,那么XOR门XOR的输出等于第二输入端口 IN2上的输入。XOR门XOR的第二种配置导致其它位序列OBS的最后一位包含有关输入位序列 IBS从两个可能位值的第一个位值开始还是从第二个位值开始的信息。第二交换模块FLP2不同于第一交换模块FLPl之处在于,将进一步M)R门XOR的输出提供给进一步M)R门XOR的第二输入端口 IN2。输入位序列可以代表带符号整数的二进制表示的位面,所述带符号整数可以代表,例如,三维网格模型的顶点的(x,y,z)坐标,所述二进制表示包含符号位和整数的绝对值的可变长度代码。也就是说,每个二进制表示的第一位指示所述二进制表示所代表的带符号整数是否等于0。例如,如果各自整数是0,则第一位是1,否则,第一位是0。如果是这样,各自二进制表示只包含这个零指示位。对于每个非零带符号整数,相应二进制表示进一步至少包含第二位和第三位,其中第二位指示非零整数的符号。例如,如果各自带符号整数非负,则第二位是1,否则,第二位是0。第三位-与一个或多个进一步位一起包含在所述相应二进制表示的其余部分中-代表各自非零带符号整数的绝对值的可变长度代码。可变长度代码可以是 Golomb-Code,例如,Golomb-Rice-Code、Exp-Golomb_Code、或 Hybrid-Golomb-Code,或任何其它双射可变长度代码。由于所述绝对值大于或等于1,所以可以形成,例如,每一个减1的绝对值的 Hybrid_Go1omb—Co de 0第一位面可以包含代表同一模型的顶点坐标的所有二进制表示的所有第一位,第二位面可以包含代表该同一模型的顶点坐标的所有二进制表示的所有第二位。也就是说,第一位面包括包含在网格模型的顶点坐标中的每个零或非零带符号整数的一个位。第二位面包括包含在网格模型的顶点坐标中的每个非零带符号整数的一个位。也就是说,在第二位面中,只有在带符号整数的序列中被零分开的二进制表示的第二位可以紧随在彼此之后。第三位面和进一步的位面可以分别由第三位或进一步的位形成。表1示范性地描绘了示范性带符号整数和代码的序列
索绝对值'4: 志A t- 何-fJ 标志(Alw-D 的《 合 €wIomh R 码0101111011220101O O0140150160170180190110-400001111-400001112-400001113-300001014101权利要求
1.一种编码0和1同等频繁出现的输入位序列(IBQ的方法,所述方法包含如下步骤的依次或至少部分并行执行-通过交换输入位序列(IBQ的位而生成其它位序列(0BQ,其中在所述输入位序列 (IBS)中只有前面紧接着具有预定位值的位的那些位被交换;以及-压缩编码所述其它位序列(OBS)。
2.按照权利要求1所述的方法,其中,所述其它位序列(0BQ包含与所述输入位序列 (IBS)的主位相等的主位,而所述其它位序列(0BQ的进一步位是使用接收所述输入位序列(IBS)的紧随其后位的位对作为输入的M)R门O(OR)的输出确定的。
3.按照权利要求1或2所述的方法,其中,所述输入位序列(IBS)是带符号整数的二进制表示的序列的位面,所述带符号整数代表规定至少一种三维网格模型的顶点的位置的几何数据,所述二进制表示包含符号位。
4.按照权利要求3所述的方法,其中,所述符号位只包含在非零整数的二进制表示中。
5.按照权利要求3或4所述的方法,其中,所述二进制表示包含所述整数的绝对值的可变长度代码。
6.按照前面权利要求之一所述的方法,其中,将基于上下文的二进制算术编码用于编码其它位序列(OBS)。
7.一种编码0和1同等频繁出现的输入位序列(IBQ的设备,包含-适用于实现M)R门O(OR)的部件,所述M)R门O(OR)包含适用于接收所述输入位序列(IBS)的紧随其后位的位对作为输入的两个输入端、和输出其它位序列(OBS)的进一步位的输出端;-将一个位加入所述其它位序列(0BQ中的部件,其中加入位是与所述输入位序列 (IBS)的主位相等的主位或与所述输入位序列(IBQ的最后位相等的最后位;以及-压缩编码所述其它位序列的部件。
8.一种包含编码位序列的位流或存储媒体,所述编码位序列是按照权利要求1-6之一的方法编码的。
9.一种解码输出位序列的方法,所述方法包含如下步骤的依次或至少部分并行执行-解码其它位序列(0BQ ;以及-通过交换所述其它位序列(0BQ的位生成所述输出位序列,其中在所述输出位序列中所述交换位前面紧接着具有预定位值的位。
10.按照权利要求9所述的方法,所述输出位序列包含与所述其它位序列(OBS)的主位相等的主位,而所述输出位序列的进一步位是使用接收位对作为输入的M)R门O(OR)的输出位确定的,每个位对包含所述其它位序列(0BQ的一个位和所述输出位序列的一个各自紧接其前输出位。
11.按照权利要求9或10所述的方法,其中,所述输出位序列是带符号整数的二进制表示的序列的位面,所述带符号整数代表规定至少一种三维网格模型的顶点的位置的几何数据,所述二进制表示包含符号位。
12.按照权利要求11所述的方法,其中,所述符号位只包含在非零整数的二进制表示中。
13.按照权利要求11或12所述的方法,其中,所述二进制表示包含所述整数的绝对值的可变长度代码。
14.按照前面权利要求9至13之一所述的方法,其中,将基于上下文的二进制算术解码用于解码其它位序列(OBS)。
15.一种解码输出位序列的设备,所述设备包含 -解码其它位序列(OBS)的部件;-适用于实现M)R门O(OR)的部件,所述M)R门O(OR)包含适用于接收所述其它位序列(OBS)的位的第一输入端和与所述M)R门O(OR)的输出端连接的第二输入端,所述输出端用于输出所述输出位序列的位;以及-将进一步位加入所述输出位序列中的部件,其中所述进一步位是与所述其它位序列 (OBS)的主位相等的主位或与所述其它位序列(0BQ的最后位相等的最后位。
全文摘要
本发明在编码和解码位序列的领域中做出。本发明提出了压缩编码0和1同等频繁出现的输入位序列(IBS)的设备,包含适用于接收输入位序列(IBS)的紧随其后位的位对作为输入和用于输出其它位序列(OBS)的进一步位的XOR门(XOR);将一个位加入所述其它位序列(OBS)中的部件,其中加入位是与输入位序列(IBS)的主位相等的主位或与输入位序列(IBS)的最后位相等的最后位;以及编码其它序列的部件。XOR门(XOR)将输入位序列(IBS)变换成0和1的出现频率比输入位序列(IBS)更不均衡的其它位序列(OBS)。
文档编号H03M5/14GK102388538SQ201080015658
公开日2012年3月21日 申请日期2010年3月30日 优先权日2009年4月9日
发明者滕军, 蔡康颖, 陈志波, 陈衢清 申请人:汤姆森特许公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1