变长码编解码方法和系统转让专利

申请号 : CN201110174332.8

文献号 : CN102231832B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 魏伟徐昕邵冬英呼大明郑海鸥何畅

申请人 : 北京瀚景锦河科技有限公司

摘要 :

本发明涉及视频编解码技术,具体地说,涉及一种变长码编解码方法,所述方法包括:编码端对信息流进行编码时以第一类变长码作为起始变长码,采用第一类变长码和第二类变长码交替进行编码得到第一编码流;编码端指定标准信息,按照预定规则省略所述第一编码流中的变长码对应的信息为所述标准信息的变长码,得到第二编码流并输出至解码端;解码端按照预定规则恢复所述第二编码流中被省略的变长码,并对恢复后的编码流进行第一类变长码和第二类变长码交替解码得到解码后的信息。本发明进一步公开了一种变长码编解码系统。根据本发明,可提高编解码效率,减少传输最多达50%的变长码。

权利要求 :

1.一种变长码编解码方法,其特征在于,所述方法包括:

编码端对信息流进行编码时以第一类变长码作为起始变长码,采用第一类变长码和第二类变长码交替进行编码得到第一编码流,所述第一类变长码和第二类变长码具有不同的前导符;

编码端指定标准信息,按照预定规则省略所述第一编码流中的变长码对应的信息为所述标准信息的变长码,得到第二编码流并输出至解码端;

解码端按照预定规则恢复所述第二编码流中被省略的变长码,并对恢复后的编码流进行第一类变长码和第二类变长码交替解码得到解码后的信息;所述预定规则为:编码端在对第一编码流中的变长码进行省略时,要依次对第一编码流中的变长码进行判断,判断其表示的信息是否为所述指定的标准信息;若不是,则保留该变长码;若是,则省略当前变长码,且保留下一个变长码,即跳过对下一个变长码的处理,然后继续对之后的变长码进行判断;解码端在对第二编码流中对被省略的变长码进行恢复时,若所述第二编码流中的第一个变长码为第二类变长码,则表明所述第一个变长码之前存在被省略的变长码,在所述第一个变长码之前根据所述标准信息采用第一类变长码恢复该被省略的变长码;若解码端连续接收到两个第一类变长码或第二类变长码,则表明在所述两个变长码之间存在被省略的变长码,若连续接收到的是两个第一类变长码,根据所述标准信息采用第二类变长码恢复该被省略的变长码,若连续接收到的是两个第二类变长码,则根据所述标准信息采用第一类变长码恢复该被省略的变长码。

2.根据权利要求1所述的变长码编解码方法,其特征在于,所述预定规则为:编码端依次判断第一编码流中的变长码对应的信息是否为所述标准信息;

若不是,则保留该变长码;

若是,则省略当前变长码,且保留下一个变长码;

解码端对第二编码流进行解码时,若所述第二编码流中的第一个变长码为第二类变长码,则在所述第一个变长码之前根据所述标准信息采用第一类变长码恢复被省略的变长码;

若解码端连续接收到两个第一类变长码,则在其间根据所述标准信息采用第二类变长码恢复被省略的变长码,若连续接收到两个第二类变长码,则在其间根据所述标准信息采用第一类变长码恢复被省略的变长码。

3.根据权利要求1所述的变长码编解码方法,其特征在于,所述标准信息为编码端根据所述信息流的统计特性预测的出现概率最大的信息。

4.根据权利要求1所述的变长码编解码方法,其特征在于,所述第一类变长码的前导符为至少一个0,所述第二类变长码的前导符为至少一个1。

5.根据权利要求1所述的变长码编解码方法,其特征在于,所述第一类变长码的前导符为至少一个1,所述第二类变长码的前导符为至少一个0。

6.一种变长码编解码系统,该编解码系统包括编码端和解码端,其特征在于,所述编码端包括:设置单元,用于设置起始变长码为第一类变长码或第二类变长码;

标准信息指定单元,用于指定标准信息;

编码单元,用于对信息流采用第一类变长码和第二类变长码交替进行编码得到第一编码流;

省略单元,用于按照预定规则省略所述第一编码流中的对应信息为所述标准信息的变长码得到第二编码流;

所述解码端包括:

恢复单元,用于按照预定规则恢复所述第二编码流中被省略的变长码;

解码单元,用于对恢复后的编码流进行第一类和第二类变长码交替解码;编码端在对第一编码流中的变长码进行省略时,要依次对第一编码流中的变长码进行判断,判断其表示的信息是否为所述指定的标准信息;若不是,则保留该变长码;若是,则省略当前变长码,且保留下一个变长码,即跳过对下一个变长码的处理,然后继续对之后的变长码进行判断;解码端在对第二编码流中对被省略的变长码进行恢复时,若所述第二编码流中的第一个变长码为第二类变长码,则表明所述第一个变长码之前存在被省略的变长码,在所述第一个变长码之前根据所述标准信息采用第一类变长码恢复该被省略的变长码;若解码端连续接收到两个第一类变长码或第二类变长码,则表明在所述两个变长码之间存在被省略的变长码,若连续接收到的是两个第一类变长码,根据所述标准信息采用第二类变长码恢复该被省略的变长码,若连续接收到的是两个第二类变长码,则根据所述标准信息采用第一类变长码恢复该被省略的变长码。

7.根据权利要求6所述的系统,其特征在于,所述预定规则为:

编码端依次判断第一编码流中的变长码对应的信息是否为所述标准信息;

若不是,则保留该变长码;

若是,则省略当前变长码,且保留下一个变长码;

解码端对第二编码流进行解码时,若所述第二编码流中的第一个变长码为第二类变长码,则在所述第一个变长码之前根据所述标准信息采用第一类变长码恢复被省略的变长码;

若解码端连续接收到两个第一类变长码,则在其间根据所述标准信息采用第二类变长码恢复被省略的变长码,若连续接收到两个第二类变长码,则在其间根据所述标准信息采用第一类变长码恢复被省略的变长码。

8.根据权利要求6所述的系统,其特征在于,所述标准信息为编码端根据信息流的统计特性预测的出现概率最大的信息。

9.根据权利要求6所述的系统,其特征在于,所述第一类变长码的前导符为至少一个

0,所述第二类变长码的前导符为至少一个1。

10.根据权利要求6所述的系统,其特征在于,所述第一类变长码的前导符为至少一个

1,所述第二类变长码的前导符为至少一个0。

说明书 :

变长码编解码方法和系统

技术领域

[0001] 本发明涉及视频编解码技术,具体地说,涉及一种变长码编解码方法和系统。

背景技术

[0002] 数字视频是经过压缩编码后传输和保存的,编码方式直接影响视频压缩性能。现有的视频压缩编码标准例如MPEG-1、MPEG-2、MPEG-4、H.261、H.263、H.264、VC-1、AVS等都是基于预测和变换的混合编码系统,在编码端逐帧输入图像,各帧图像被划分为固定尺寸子块进行压缩编码,子块是编解码的基本单元,对各子块首先进行运动估计和补偿,产生运动矢量(MV)和预测残差,以去除图像的时间相关性;对预测残差进行正交变换和量化,以去除图像的空间相关性;对MV、量化后变换系数和其它相关信息进行熵编码,以去除统计相关性,形成最终的压缩编码数据流传送到解码端。在解码端进行熵解码、反量化、反正交变换和运动补偿等操作恢复视频图像。
[0003] 上述过程中,熵编码是视频编码中的核心技术。熵编码技术主要包括两类:变长编码和算术编码,其中变长编码由于其简单和高效在视频编码标准中被广泛采用。变长编码中一般采用两种类型的码字(Codeword)结构:[M zeros][1][INFO]或[M ones][0][INFO]。其中,[M zeros]或[M ones]为前导符,[1]或[0]为识别符,[INFO]为信息符。在此结构中,识别符前后的前导符和信息符的符号位数相同或保持确定关系,Codeword和[INFO]之间也保持确定的一对一关系,编码端和解码端均按此标准约定的固定关系分别进行编码信息得到Codeword、解码Codeword得到信息,从而保证编解码的一致性。
[0004] 在视频压缩编码中,需要进行熵编码的信息主要有编码模式、MV、量化后变换系数和其它相关信息,这些信息都有较强的统计相关性,有效利用统计相关性可以较大地提升编解码效率,如何利用码字的统计相关性来提高编解码效率一直是熵编码研究的重点。
[0005] 在提高编解码效率方面,目前所采取的重要手段之一是利用所传信息的统计特性和预测技术来减少传输的码字的长度。以使用DPCM传输技术传输声音信号为例,统计分析表明连续两个声音信号的采样值相同的概率最大,因此在编码端可以通过传输当前采样值与前一采样值的差值的方法来减少传输的码字长度,在解码端可以通过将当前值与前一采样值相加来解码原始信息。
[0006] 如表1所示,原始信息为实际的声音信号采样值,DPCM信息即为当前采样值与前一采样值的差值,以(2*|D|+S)表示传输值,其中D为DPCM值,S为符号位,当D≥0时S=0,D<0时S=1,再由表2的Codeword和[INFO]对应关系即可得到变长码编码码字。
[0007] 表1:DPCM传输声音信号
[0008]
[0009] 尽管现有技术中已经利用所传信息的统计特性和预测技术来提高编解码效率,但是由于在现有的变长编码技术中,对于任何[INFO]总是采用一种固定类型的变长码进行编码,例如码字结构为[M zeros][1][INFO]的变长码,为保证信息的完整性需要对所有信息进行编码和传输,因此并没有彻底地减少所传输的变长码。因此,需要一种能够进一步减少传输的变长码的方法,以进一步提高编解码效率。

发明内容

[0010] 本发明的目的是,采用一种新的变长码编解码方法,可省去出现概率较大的或特定的变长码的传输,从而提高编解码效率。
[0011] 根据本发明,提供一种变长码编解码方法,所述方法包括:
[0012] 编码端对信息流进行编码时以第一类变长码作为起始变长码,采用第一类变长码和第二类变长码交替进行编码得到第一编码流,所述第一类变长码和第二类变长码具有不同的前导符;
[0013] 编码端指定标准信息,按照预定规则省略所述第一编码流中的变长码对应的信息为所述标准信息的变长码,得到第二编码流并输出至解码端;
[0014] 解码端按照预定规则恢复所述第二编码流中被省略的变长码,并对恢复后的编码流进行第一类变长码和第二类变长码交替解码得到解码后的信息。
[0015] 优选地,所述预定规则为:
[0016] 编码端依次判断第一编码流中的变长码对应的信息是否为所述标准信息;
[0017] 若不是,则保留该变长码;
[0018] 若是,则省略当前变长码,且保留下一个变长码;
[0019] 解码端对第二编码流进行解码时,若所述第二编码流中的第一个变长码为第二类变长码,则在所述第一个变长码之前根据所述标准信息采用第一类变长码恢复被省略的变长码。
[0020] 若解码端连续接收到两个第一类变长码,则在其间根据所述标准信息采用第二类变长码恢复被省略的变长码,若连续接收到两个第二类变长码,则在其间根据所述标准信息采用第一类变长码恢复被省略的变长码。
[0021] 优选地,所述标准信息为编码端根据所述信息流的统计特性预测的出现概率最大的信息。
[0022] 优选地,所述第一类变长码的前导符为至少一个0,所述第二类变长码的前导符为至少一个1。
[0023] 优选地,所述第一类变长码的前导符为至少一个1,所述第二类变长码的前导符为至少一个0。
[0024] 根据本发明,提供一种编解码系统,该编解码系统包括编码端和解码端,其中,所述编码端包括:
[0025] 设置单元,用于设置起始变长码为第一类变长码或第二类变长码;
[0026] 标准信息指定单元,用于指定标准信息;
[0027] 编码单元,用于对信息流采用第一类变长码和第二类变长码交替进行编码得到第一编码流;
[0028] 省略单元,用于按照预定规则省略所述第一编码流中的对应信息为所述标准信息的变长码得到第二编码流;
[0029] 所述解码端包括:
[0030] 恢复单元,用于按照预定规则恢复所述第二编码流中被省略的变长码;
[0031] 解码单元,用于对恢复后的编码流进行第一类和第二类变长码交替解码。
[0032] 优选地,所述预定规则为:
[0033] 编码端依次判断第一编码流中的变长码对应的信息是否为所述标准信息;
[0034] 若不是,则保留该变长码;
[0035] 若是,则省略当前变长码,且保留下一个变长码;
[0036] 解码端对第二编码流进行解码时,若所述第二编码流中的第一个变长码为第二类变长码,则在所述第一个变长码之前根据所述标准信息采用第一类变长码恢复被省略的变长码;
[0037] 若解码端连续接收到两个第一类变长码,则在其间根据所述标准信息采用第二类变长码恢复被省略的变长码,若连续接收到两个第二类变长码,则在其间根据所述标准信息采用第一类变长码恢复被省略的变长码。
[0038] 优选地,所述标准信息为编码端根据信息流的统计特性预测的出现概率最大的信息。
[0039] 优选地,所述第一类变长码的前导符为至少一个0,所述第二类变长码的前导符为至少一个1。
[0040] 优选地,所述第一类变长码的前导符为至少一个1,所述第二类变长码的前导符为至少一个0。
[0041] 根据本发明的技术方案,编码端在编码时使用交替的两类变长码进行熵编码,并按照预定规则省去发送出现概率较大的变长码,解码端在解码时按照预定规则恢复被省略的变长码,从而正确进行解码,本发明提供的编解码方法在保证编解码的一致性,保证编码和解码正确地实现的基础上,可提高编解码效率,减少发送最多达50%的变长码。

附图说明

[0042] 图1示出根据本发明实施例的一种变长码编解码方法流程图。
[0043] 图2示出根据本发明实施例的编解码系统的结构图。

具体实施方式

[0044] 下面结合附图和具体实施方式对本发明做进一步阐述。
[0045] 图1示出根据本发明实施例的编解码方法流程图。
[0046] 在步骤S11中,编码端对信息流进行编码时以第一类变长码作为起始变长码,采用第一类变长码和第二类变长码交替进行编码得到第一编码流。根据本发明实施例,所述第一类变长码和第二类变长码具有不同的前导符。
[0047] 本发明实施例以H.264标准的变长编码为例,变长码的码字结构为[M zeros][1][INFO]或[M ones][0][INFO]。即根据本发明实施例,所述第一类变长码和第二类变长码的码字结构为分别为[M zeros][1][INFO]和[M ones][0][INFO],或分别为[M ones][0][INFO]和[M zeros][1][INFO]。以对信息0~27编码为例,传统方法的变长码的码字表示以及本发明所述的两类变长码的码字表示如表2所示。
[0048] 表2:[INFO]与Codeword
[0049]
[0050] 以对信息流1 1 1 1 2 3 4 5进行编解码为例,通过步骤S11,当以[M zeros][1][INFO]为第一类变长码的码字结构,以[M ones][0][INFO]为第二类变长码的码字结构,则编码端得到第一编码流:011 101 011 101 00100 00101001 10 00111。
[0051] 在步骤S12中,编码端指定标准信息,按照预定规则省略所述第一编码流中的对应信息为所述标准信息的变长码,得到第二编码流并输出至解码端。
[0052] 优选地,在本发明实施例中,编码端指定的标准信息是根据所述信息流的统计特性预测的出现概率最大的信息。
[0053] 在步骤S13中,解码端按照预定规则恢复所述第二编码流中被省略的变长码,并对恢复后的编码流进行第一类变长码和第二类变长码交替解码得到解码后的信息。
[0054] 在本发明实施例中,上述步骤S12与S13中所述的预定规则例如可以是如下所述的规则。
[0055] 编码端在对第一编码流中的变长码进行省略时,要依次对第一编码流中的变长码进行判断,判断其表示的信息是否为所述指定的标准信息;若不是,则保留该变长码;若是,则省略当前变长码,且保留下一个变长码,即跳过对下一个变长码的处理,然后继续对之后的变长码进行判断。解码端在对第二编码流中对被省略的变长码进行恢复时,若所述第二编码流中的第一个变长码为第二类变长码,则表明所述第一个变长码之前存在被省略的变长码,在所述第一个变长码之前根据所述标准信息采用第一类变长码恢复该被省略的变长码;若解码端连续接收到两个第一类变长码或第二类变长码,则表明在所述两个变长码之间存在被省略的变长码,若连续接收到的是两个第一类变长码,根据所述标准信息采用第二类变长码恢复该被省略的变长码,若连续接收到的是两个第二类变长码,则根据所述标准信息采用第一类变长码恢复该被省略的变长码。
[0056] 下面继续以步骤S11中所举的对信息流1 1 1 1 2 3 4 5进行编解码的实例为例进一步对步骤S12与S13进行说明。
[0057] 通过步骤S12,编码端根据信息流的统计特性,指定标准信息为1,编码端对步骤S11得到的第一编码流011 101 011 101 00100 00101 00110 00111中的变长码依次进行判断:依次将各变长码对应的信息与标准信息进行比较,当变长码对应的信息等于标准信息1时,省略该变长码,并保留下一个变长码,得到第二编码流:101 101 00100 00101001100 0111。
[0058] 通过步骤S13,解码端对上述第二编码流101 101 00100 00101 0011000111中被省略的变长码进行恢复,判断所述第二编码流中的第一个变长码101为第二类变长码,则在其之前根据所述标准信息1,采用第一类变长码恢复被省略的变长码011。解码端连续接收到两个第二类变长码101、101,则在所述两个变长码之间根据所述标准信息1用第一类变长码恢复被省略的变长码011。恢复后的编码流为011 101 011 101 00100 0010100110 00111,对其进行解码得到1 1 1 1 2 3 4 5。
[0059] 上述实例与现有技术方案相比较,现有技术方案传输的编码需要使用28比特,本发明的技术方案使用26比特,节省了7.1%的码字。
[0060] 尽管本发明所列举的具体实施方式均以H.264标准的变长编码为例,但本发明并不限于H.264标准的变长编码。本发明不限定可变长码的具体结构,只需交织使用具有不同的前导符的变长码,例如交织使用前导符为至少一个“0”的变长码或前导符为至少一个“1”的变长码,可以适用于现行的各种编解码方法,也可以开发出适合需求的其它编解码方法,在保证编解码一致的前提下得到更高的编解码效率。
[0061] 图2示出根据本发明实施例的变长码编解码系统的结构图。该编解码系统包括编码端和解码端,编码端包括:设置单元,用于设置起始变长码为第一类变长码或第二类变长码;标准信息指定单元,用于指定标准信息;编码单元,用于对信息流采用第一类变长码和第二类变长码交替进行编码得到第一编码流;省略单元,用于按照预定规则省略所述第一编码流中的对应信息为所述标准信息的变长码得到第二编码流;解码端包括:恢复单元,用于按照预定规则恢复所述第二编码流中被省略的变长码;解码单元,用于对恢复后的编码流进行第一类和第二类变长码交替解码。
[0062] 在本发明实施例中,所述预定规则例如可以是:编码端在对第一编码流中的变长码进行省略时,要依次对第一编码流中的变长码进行判断,判断其表示的信息是否为所述指定的标准信息;若不是,则保留该变长码;若是,则省略当前变长码,且保留下一个变长码,即跳过对下一个变长码的处理,然后继续对之后的变长码进行判断。解码端在对第二编码流中对被省略的变长码进行恢复时,若所述第二编码流中的第一个变长码为第二类变长码,则表明所述第一个变长码之前存在被省略的变长码,在所述第一个变长码之前根据所述标准信息采用第一类变长码恢复该被省略的变长码;若解码端连续接收到两个第一类变长码或第二类变长码,则表明在所述两个变长码之间存在被省略的变长码,若连续接收到的是两个第一类变长码,根据所述标准信息采用第二类变长码恢复该被省略的变长码,若连续接收到的是两个第二类变长码,则根据所述标准信息采用第一类变长码恢复该被省略的变长码。
[0063] 在本发明实施例中,编码端指定的标准信息优选地可以是根据所述信息流的统计特性预测的出现概率最大的信息。
[0064] 以上借助实施例对本发明进行了具体说明。应当理解,本发明的上述描述是示例性的而非限制性的。本领域技术人员通过阅读本说明书,在不偏离本发明精神的情况下可以对本发明进行修改和变型。本发明的保护范围仅由所附权利要求限定。