整数序列编码方法、承载编码的整数序列的存储设备和信号以及整数序列解码方法.pdf

上传人:e2 文档编号:1097664 上传时间:2018-03-31 格式:PDF 页数:21 大小:974.96KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910132186.5

申请日:

2009.04.23

公开号:

CN101567695A

公开日:

2009.10.28

当前法律状态:

授权

有效性:

有权

法律详情:

专利权人的姓名或者名称、地址的变更IPC(主分类):H03M 7/40变更事项:专利权人变更前:汤姆森许可贸易公司变更后:汤姆逊许可公司变更事项:地址变更前:法国布洛涅-比郎库尔变更后:法国伊西莱穆利诺|||专利权的转移IPC(主分类):H03M 7/40变更事项:专利权人变更前权利人:汤姆逊许可公司变更后权利人:特艺(中国)科技有限公司变更事项:地址变更前权利人:法国伊西莱穆利诺变更后权利人:100000 北京市海淀区学清路8号科技财富中心A座8层登记生效日:20141124|||授权|||实质审查的生效IPC(主分类):H03M 7/40申请日:20090423|||公开

IPC分类号:

H03M7/40; H03M13/00

主分类号:

H03M7/40

申请人:

汤姆森许可贸易公司

发明人:

陈衢清; 陈志波; 滕 军

地址:

法国布洛涅-比郎库尔

优先权:

2008.4.25 EP 08305130.0

专利代理机构:

中科专利商标代理有限责任公司

代理人:

罗松梅

PDF下载: PDF下载
内容摘要

本发明涉及一种对整数序列进行编码的方法、一种承载这种编码的序列的存储设备和信号、以及一种对这种编码的序列进行解码的方法。所述方法包括以下步骤:识别整数序列中的连续子序列,其中所述子序列包括在被可变长度编码时具有相同前缀的相关整数以及独立的最后整数;以及借助于指示所述连续子序列中相关整数的数目的码、前缀指示的码、以及连续子序列中的整数的可变长度码的后缀,形成连续子序列的码。因此,如果连续子序列中的n个整数中的每个整数都是以相同前缀来编码的,则无需对这些整数使用n个独立前缀,而对该连续子序列使用单个前缀就足够了。

权利要求书

1、  一种对整数序列进行编码的方法,所述方法包括以下步骤:
-识别整数序列中的连续子序列,其中所述子序列包括在可变长度码中具有相同前缀的相关整数以及独立的最后整数,以及
-借助于指示所述连续子序列中相关整数的数目的码、针对前缀指示的码、以及连续子序列中的整数的可变长度码的后缀,形成连续子序列的码。

2、
  根据权利要求1所述的方法,其中,所述前缀指示指示所述相同前缀,所述相同前缀也是独立的最后整数的可变长度码的前缀。

3、
  根据权利要求1所述的方法,其中,所述相同前缀是缺省前缀,所述前缀指示指示另一前缀,所述另一前缀是独立的最后整数的可变长度码的前缀。

4、
  根据权利要求3所述的方法,还包括:
-将所述缺省前缀的二进制表示包括在修改后的二进制序列中。

5、
  根据前述权利要求之一所述的方法,所述整数序列与由编码的有效载荷值组成的序列相关,所述整数指示承载所述编码的有效载荷值的数据字段的长度。

6、
  一种对与帧的图像条中包括的宏块相关联的不同类型的整数值语法元素进行编码的方法,所述方法包括:
-根据语法元素的类型来对所述语法元素进行排序;
-形成由单一类型的语法元素组成的序列;以及
-根据权利要求1~4之一来对由单一类型的语法元素组成的序列进行编码。

7、
  一种对与帧的图像条中包括的宏块相关联的不同类型的整数值语法元素进行编码的方法,所述方法包括:
-根据语法元素的类型来对所述语法元素进行排序;
-形成由单一类型的语法元素组成的序列;以及
-将由单一类型的语法元素组成的序列编码为根据权利要求5所述的由编码的有效载荷值组成的序列。

8、
  一种承载编码的整数对的信号或存储介质,所述编码的整数对中的一个整数指示出现次数而另一整数指示前缀,其中所述编码的整数对在由所述信号或所述存储介质另外承载的编码的有效载荷整数所组成的多个后缀之前,所述后缀的数目与所述出现次数成正比,并且,能够借助于所指示的前缀,根据所述后缀中至少最后一个后缀来对所述编码的值中的至少最后一个编码的值进行解码。

9、
  根据权利要求8所述的信号或存储介质,其中,能够借助于缺省前缀,根据其他后缀来对其他编码的有效载荷整数进行解码。

10、
  一种根据包括编码的前缀、编码的出现次数、以及多个编码的后缀在内的码序列来对整数序列进行解码的方法,所述编码的后缀的数目与所述出现次数成正比,所述方法包括以下步骤:
-对所述前缀进行解码;
-对所述数量进行解码;
-根据后缀来对整数进行解码,其中,
-借助于所述前缀,根据所述后缀中的最后的后缀来对所述整数中的最后的整数进行解码,以及
-借助于其余前缀,根据其他后缀来对其他整数进行解码。

11、
  根据权利要求10所述的方法,其中,所述其余前缀等于所述前缀。

12、
  根据权利要求11所述的方法,其中,所述其余前缀是缺省前缀。

13、
  根据权利要求10~12之一所述的方法,其中,序列中的编码的整数指示有效载荷数据字段序列的有效载荷数据字段大小。

14、
  根据权利要求13所述的方法,其中,所述有效载荷数据字段承载与帧的图像条中包括的宏块相关联的不同类型的编码的语法元素。

15、
  根据权利要求10~12之一所述的方法,其中,所述编码的整数是单一类型的编码的语法元素,并且与编码的视频帧序列中的帧图像条的宏块相关联。

说明书

整数序列编码方法、承载编码的整数序列的存储设备和信号以及整数序列解码方法
技术领域
本发明涉及对整数序列进行编码的方法,以及承载编码的整数序列的信号和存储介质。本发明还涉及对编码的整数序列进行解码的方法。
背景技术
在可变长度编码(VLC)中,利用前缀(prefix)和后缀(suffix)来对整数进行编码。例如,后缀包括可变数目的比特,这些比特承载二进制编码后的有效载荷数据。前缀包括一元码(unary code),表示包含在相应后缀中的比特数。一元码利用相应数目的等值比特来表示数。因此,用于对整数进行编码的比特中有一半用于前缀。
整数序列包含许多连续的整数子序列,所述整数子序列由缺省值及其后的单次出现的具有其他值的整数组成,所述序列可以由每个所述其他值的可变长度码及其之前的游程(run)(即在编码的其他值之前在连续子序列中所述缺省值出现的次数)的可变长度码表示来表示。可选地,该码之前可以是所述缺省值的可变长度码表示。这称为游程幅值编码(run-level coding)。
如果连续子序列中的整数不都具有公共的缺省值,而仅在每个子序列内具有相同或恒定的值,则每个子序列可以由相应恒定值的可变长度码及其之前的、所述相应恒定值的游程的可变长度码表示来表示。这称为游程长度编码(run-length coding)。
目前正在努力提高与任意整数序列相关的编码效率。
发明内容
通过一种对整数序列进行编码的方法实现了高效的整数序列编码,该方法包括权利要求1的特征。
所述方法包括以下步骤:识别整数序列中的连续子序列,其中所述子序列包括在被可变长度编码时具有相同前缀的相关整数以及独立的最后整数;以及借助于指示所述连续子序列中相关整数的数目的码、前缀指示的码、以及连续子序列中的整数的可变长度码的后缀,形成连续子序列的码。
因此,如果连续子序列中的n个整数中的每个整数都是以相同前缀来编码的,则无需对这些整数使用n个独立前缀,而对该连续子序列使用单个前缀就足够了。因此,可以以更少的比特来对子序列进行编码。
在实施例中,所述前缀指示指示所述相同前缀,所述相同前缀也是独立的最后整数的可变长度码的前缀。
在另一实施例中,所述相同前缀是缺省前缀,所述前缀指示指示另一前缀,所述另一前缀是独立的最后整数的可变长度码的前缀。
在另一实施例中,所述方法还包括:将所述缺省前缀的二进制表示包括在修改后的二进制序列中。
在另一实施例中,所述整数序列与由编码的有效载荷值组成的序列相关,所述整数指示承载所述编码的有效载荷值的数据字段的长度。
本发明还涉及一种对与帧的图像条中包括的宏块相关联的不同类型的整数值语法元素进行编码的方法,所述方法包括:根据语法元素的类型来对所述语法元素进行排序;形成由单一类型的语法元素组成的序列;以及根据权利要求1-4中任一项来对由单一类型的语法元素组成的序列进行编码。
在对整数值语法元素进行编码的所述方法的另一实施例中,所述方法包括:根据语法元素的类型来对所述语法元素进行排序;形成由单一类型的语法元素组成的序列;以及将由单一类型的语法元素组成的序列编码为根据权利要求5所述的由编码的有效载荷值组成的序列。
本发明还涉及一种承载编码的整数对的信号或存储介质,所述编码的整数对中的一个整数指示出现次数而另一整数指示前缀,其中所述编码的整数对在由所述信号或所述存储介质另外承载的编码的有效载荷整数所组成的多个后缀之前,所述后缀的数目与所述出现次数成正比,并且,能够借助于所指示的前缀,根据所述后缀中至少最后一个后缀来对所述编码的值中的至少最后一个编码的值进行解码。
在所述信号或存储介质的实施例中,能够借助于缺省前缀,根据其他后缀来对其他编码的有效载荷整数进行解码。
在所述信号或存储介质的另一实施例中,编码的有效载荷整数是与帧的图像条中包括的宏块相关联的语法元素。
本发明还涉及一种根据包括编码的前缀、编码的出现次数、以及多个编码的后缀在内的码序列来对整数序列进行解码的方法,所述编码的后缀的数目与所述出现次数成正比,所述方法包括以下步骤:对所述前缀进行解码;对所述数量进行解码;根据后缀来对整数进行解码,其中,借助于所述前缀,根据所述后缀中的最后的后缀来对所述整数中的最后的整数进行解码,以及借助于其余前缀,根据其他后缀来对其他整数进行解码。
在所述解码方法的实施例中,所述其余前缀等于所述前缀。
在所述解码方法的另一实施例中,所述其余前缀是缺省前缀。
在所述解码方法的另一实施例中,序列中的编码的整数指示有效载荷数据字段序列的有效载荷数据字段大小。
在所述解码方法的另一实施例中,所述有效载荷数据字段承载与帧的图像条中包括的宏块相关联的不同类型的编码的语法元素。
在所述解码方法的另一实施例中,所述编码的整数是单一类型的编码的语法元素,并且与编码的视频帧序列中的帧图像条的宏块相关联。
根据附图、说明书以及权利要求,本发明的其他方面显而易见。
附图说明
在附图中说明了本发明的示例实施例,并在以下描述中更详细地解释了本发明的示例实施例。
附图中:
图1描述了整数序列示例、所述整数的Exp-Golomb码的后缀、每个所述二进制码的比特数(等于相应Exp-Golomb码的前缀长度)、Exp-Golomb码中所述比特数的游程长度和游程幅值表示、以及根据本发明方法的示例实施例的应用而得到的示例序列的最终码,
图2描述了图1的示例序列、所述整数的混合Golomb码的后缀、相应混合Golomb码的前缀长度、所述前缀长度的游程长度和游程幅值表示、以及根据本发明方法的示例实施例的应用而得到的示例序列的最终码,
图3描述了本发明方法的示例实施例的流程图,该方法针对前缀使用游程长度编码,以及
图4描述了本发明方法的示例实施例的流程图,该方法针对前缀使用游程幅值编码。
具体实施方式
以下表1表示根据在Golomb,S.W.“Run-length encodings”,IEEETrans.Inf.Theory,1966.7(12):399-401中公开的Golomb的可参数化VLC码。参数a指示码以哪个初始后缀长度开始。将该初始后缀长度延长一元前缀中零的数目。表的第一列示出了不同的参数a,第二列表示依赖于所述参数a的不同码字范围,最后一列示出了以所述码字范围来编码的值范围。


表1:exp-Golomb码
在图1中,在表的第一行中描述了示例整数序列。不存在两个连续的相同整数,因此现有技术游程长度或游程幅值编码的应用在编码效率方面不能提供任何好处。
图1中表的第二行包含以二进制形式书写的第一行中的整数,其中省略了最高有效位(MSB)。MSB是可省略的,因为从包含在最终码中的前缀可推断出MSB。因此,第二行中没有码与包含在第一行中的值1相对应。这在第二行中由[]来指示。
如从第三行可以看出的,尽管没有相同值的两个整数彼此相连,然而有连续的整数游程需要相同比特量来实现无MSB的二进制表示。
该表的第四行描述了为实现示例整数的无MSB的二进制表示所需的不同比特量的游程长度码。所述游程长度码以括号标记法来描述。括号包括一对十进制值,其中前一值表示出现次数减1(所述出现次数至少是1)。后一值表示用于无MSB的二进制表示的比特量。例如,左侧前两个括号(0,2)、(0,1)表示1个2比特的数据字段之后是1个1比特的数据字段。
该表的第五行描述了针对示例整数的无MSB的二进制表示所需的不同比特量的游程幅值码。同样地,使用括号标记法。括号包括一对十进制值,其中前一值表示缺省比特量(例如在该示例中是2个比特)的未减小的连续出现次数,后一值表示使缺省比特量的连续出现终止的不同比特量。缺省比特量的连续出现次数可能是0,所以不将其减小。在该示例中,缺省值是2。因此,前两个括号(1,1)和(6,3)表示:1个2比特(缺省比特量)的数据字段之后是1个1比特的数据字段,以及在各由2比特编码的6个数据字段组成的序列之后是3比特的数据字段。
图1中的表下方的两行表示基于Exp-Golomb编码的示例整数序列的本发明的游程长度码的示例实施例。序列的码从(0,2)的Exp-Golomb VLC表示开始。这形成了由长度为2的一个有效载荷数据字段组成的序列的前缀。出于说明原因在图1中给前缀加了下划线。这一个有效载荷数据字段承载最前面第一个整数(如以100来二进制表示的值4)的二进制表示,其中省略了MSB(因为可以从前缀中推断出MSB),从而得到由00表示的值4。然后,接着是下一前缀,同样出于说明目的将其加上了下划线。该下一前缀是由长度为1的单个有效载荷数据字段所组成的序列的前缀,因此该下一前缀根据(0,1)的Exp-Golomb VLC表示来形成。接着是1比特的所述单个有效载荷数据字段,该单个有效载荷数据字段承载以二进制表示的值3,其中同样省略了MSB。随后,与下一前缀相邻的是6个由2比特表示的整数的二进制表示以及单个由3比特表示的整数的二进制表示。以此类推。
图1的最后两行表示基于Exp-Golomb编码的示例整数序列的本发明的码的另一示例实施例。序列的码在左边从序列前缀011开始,序列前缀011是缺省值(在该另一示例中是2)的Exp-Golomb VLC表示。然后接着是表示(1,1)的1和1的Exp-Golomb VLC表示。这形成了由两个有效载荷数据字段组成的序列的前缀,其中第一有效载荷数据字段具有缺省长度2,第二有效载荷数据字段长度为1。出于说明目的在图1中将前缀加了下划线。两个有效载荷数据字段承载前两个整数的二进制表示,即将值4和3表示为00和1。然后接着是下一前缀,同样出于说明目的将其加下划线。该下一前缀是由具有缺省长度2的6个有效载荷数据字段及其后面的长度为3的单个有效载荷数据字段所组成的序列的前缀。随后与该下一前缀相邻的是6个由2比特表示的整数的二进制表示以及单个由3比特表示的整数的二进制表示。
如果序列以连续的整数子序列结束,其中每个整数都是以缺省的比特量来编码的,则最后的(游程,幅值)前缀可以将缺省值表示为幅值。等于缺省值的幅值指示了在以缺省比特量编码的下一整数游程之后整数序列的解码器终止。
以下表2表示根据在Golomb,S.W.“Run-length encodings”,IEEETrans.Inf.Theory,1966.7(12):399-401中公开的Golomb的所谓混合Golomb VLC码。

  n混合Golomb码  0   1  1   01  2   0010  3   00110  4   00111  5   000100  6   000101  7   000110  8   0001110  9   0001111  10  00001000  ... ...

表2:混合Golomb码
借助于图2来解释基于混合Golomb编码对图1的示例整数序列的编码。
图2中的表的第二行包含第一行整数的混合Golomb码的后缀,其中省略了最高有效位(MSB)。MSB是可省略的,因为从包含在最终码中的前缀可推断出MSB。因此,第二行中没有码与包含在第一行中的值1相对应。这在第二行中由[]来指示。
如根据图2的表的第三行可以看出的,尽管没有相同值的两个整数相连,然而有连续的整数游程需要相同的前缀长度,从而在混合Golomb编码中需要相同的前缀。
图2中表的第四行描述了示例整数的无MSB的混合Golomb表示所需的不同前缀的游程长度码。以括号标记法来描述所述游程长度码。括号包括一对十进制值,其中前一值表示出现次数减1(出现次数至少是1)。后一值表示混合Golomb前缀长度减1(前缀长度至少是1)。例如,左边前两个括号(1,1)和(1,2)表示具有2比特前缀的混合Golomb码的2个后缀之后是具有3比特前缀的混合Golomb码的2个后缀。
图2中表的第五行描述了对于示例整数的无MSB的混合Golomb表示所需的不同前缀的游程幅值码。同样,使用括号标记法。括号包括一对十进制值,其中前一值表示缺省前缀(在该另一示例中是3比特前缀)的未减小的连续出现次数,后一值表示使缺省比特量的所述连续出现终止的不同的前缀长度。因为所述不同的前缀长度至少是1,所以后一值比所述不同的前缀长度小1。缺省比特量的连续出现次数可能是0,所以不将其减小。在该示例中,缺省前缀长度是3。因此,前3个括号(0,1)、(0,1)和(2,1)表示:两个数据字段具有2比特前缀,这两个数据字段之前没有具有缺省前缀长度的数据字段;之后是3个数据字段的序列,其中前两个具有3个比特的缺省前缀,而第三个数据字段由2比特前缀来编码。
图2中的表下方的两行表示示例整数序列的本发明的游程长度码的示例实施例。序列的码以(1,1)的混合Golomb VLC表示开始。这形成了由无MSB的混合Golomb码的两个后缀组成的序列的前缀。出于说明目的在图1中将该前缀加了下划线。两个后缀承载第一和第二整数的二进制表示,即以混合Golomb编码将值4表示为后缀111,其中省略了MSB(因为可以从前缀中推断出MSB),从而得到了值4的表示11。以混合Golomb编码将后续值3表示为110,其中省略了MSB(因为可以从前缀中推断出MSB),从而得到了值3的表示10。然后接着是下一前缀,同样出于说明目的将其加下划线。所述下一前缀是由具有相应前缀长度2的两个后缀所组成的序列的前缀,因此该下一前缀是根据(1,2)的Exp-Gollmb VLC表示形成的。接着是所述单独两个后缀00和01,这两个后缀00和01是整数5和6的混合Golomb表示的后缀,其中同样省略了MSB。以此类推。
图2中最后两行表示基于混合Golomb编码的示例整数序列的本发明的码的示例实施例。序列的码在左边从序列前缀00110开始,序列前缀00110是缺省值(在该另一示例中是3)的混合Golomb VLC表示。然后接着是表示(0,1)的0和1的混合Golomb VLC表示。这形成了由表示序列中第一个整数值的一个后缀(即表示4的11,其中省略了MSB)组成的序列的前缀。同样,对(0,1)进行混合Golomb VLC表示,接着是10,10是整数3的混合Golomb后缀,其中省略了MSB。然后是下一前缀,同样出于说明目的将其加下划线。该下一前缀是由具有相应缺省前缀长度3的2个后缀及其后面具有相应前缀长度2的单个后缀组成的序列的前缀。随后与所述下一前缀相邻的是表示具有3比特前缀的2个整数的2个混合Golomb后缀以及表示具有2比特前缀的一个整数的后缀。以此类推。
根据结合图1和2说明的示例实施例,可以发现,游程长度编码不仅可以用于VLC编码之前的一系列符号,还可以用于一组VLC码的前缀,而与编码所基于的编码方案无关。通过本发明,去除了由一组连续VLC码的前缀中的冗余。
在H.264/AVC中,通常逐图像条(slice)地对画面进行编码。每个图像条是独立的并且包含大量宏块(MB)。具体地,在每个宏块中有许多要编码的语法元素。例如,表3示出了H.264/AVC基线属性中要编码的主要语法元素。
 语法元素  编码方法 mb_type  ue(v) coded_block_pattern  me(v) mb_qp_delta  se(v) intra4x4_pred_mode (prev_intra4x4_pred_mode_flag, rem_intra4x4_pred_mode)  u(1)  u(3) intra_chroma_pred_mode  ue(v)

 coeff_token  ce(v) trailing_ones_sign_flag  u(1) level_prefix  ce(v) level_suffix  u(v) total_zeros  ce(v) run_before  ce(v) mvd  se(v) ref  te(v)

表3:H.264/AVC基本语法元素
当entropy_coding_mode等于0时,根据表1或表2使用可变长度编码。然而,H.264/AVC VLC编码的主要缺点是,分别编码每个语法元素,而不利用不同VLC码之间的冗余。
本发明的该示例实施例包括:例如,使用结合图1所示例性描述的游程长度或游程幅值编码,在相同图像条中,对不同宏块的相同语法元素的前缀一起进行编码。
本发明的该示例实施例包括以下步骤。
步骤1:使用H.264/AVC方法对图像/视频进行编码。
步骤2:将相同图像条内的比特流重新组织成以下格式:
mb_type(MB 1),mb_type(MB 2),...,mb_type(MB n)
coded_block_pattern(MB 1),coded_block_pattern(MB2),...,coded_block_pattern(MB n)
...
run_before(MB 1),run_before(MB 2),...,run_before(MBn)
步骤3:使用游程长度编码方法或游程幅值编码方法,对相同图像条内的所有宏块的相同语法元素的所有前缀进行编码。
可以在步骤1之前执行步骤2。
表4示出了使用游程长度的mb_type的编码方法:
  for(i=0;i<total_mb_in_slice;i=i+run_mb_type_minus 1+1){     run_mb_type_minus 1  ue(v)     length_mb_type_minus 1  ue(v)        for(j=0;j<run_mb_type_minus 1+1;j++){               suffix_mb_type        }}

表4:本发明游程长度编码的示例实施例
图3描述了使用游程长度的mb_type的编码方法的所述示例的流程图。
在初始化步骤INITi中,将计数参数i初始化为0。此外,初始化空比特串。然后在步骤INITj中,将另一计数参数j初始化为0。随后,在判定步骤TEST1中,判定i是否满足或超过图像条中宏块的总数。如果是,则方法进行至步骤END(结束)。否则,方法继续进行步骤INCi,将计数参数i增大1。然后,执行判定步骤TEST2:确定与宏块(i)相关的特定语法参数的二进制表示是否包括和与宏块(i-1)相关的特定语法参数的二进制表示相同的比特量。如果是,则在方法返回判定步骤TEST1之前,在步骤INCj中使计数参数j增大1。否则,方法继续进行:在步骤VLC(j)中对计数参数j的当前值进行可变长度编码,并将所述码追加至所述比特串。然后,在步骤VLC(L(i-1)-1)中,追加对宏块(i-1)的所述特定语法参数的值进行二进制表示所需的比特数减1的可变长度码表示。在随后的步骤INITk中,将另计数参数k初始化为i-j-1。然后,在步骤BIN(SP(k))中,将宏块(k)的所述特定语法参数的值的二进制表示追加至所述比特串。该步骤之后是k增大步骤INCk。在将k增大1之后,在判定步骤TEST3中检验k是否仍然小于i。如果是,则方法返回步骤BIN(SP(k))。否则,方法返回步骤INITj。
表5中示出了使用游程幅值的mb_type的编码方法的示例:
  for(i=0;i<total_mb_in_slice;i=i+run_mb_type_default){      run_mb_type_default_length  ue(v)      length_mb_type_other_length  ue(v)         for(j=0;j<run_mb_type_default;j++){              suffix_mb_type_default length         }              suffix_mb_type_other_length  }

表5:使用游程幅值编码的本发明的示例实施例
图4描述了使用游程幅值的mb_type的编码方法的所述示例的流程图。
在初始化步骤INITi中,将计数参数i初始化为0。此外,初始化空比特串。然后,在步骤INITj中,将另一计数参数j初始化为0。随后,在判定步骤TEST1中,判定i是否满足或超过图像条中宏块的总数。如果是,则方法进行至步骤END(结束)。否则,方法继续进行步骤INCi,将计数参数i增大1。然后,执行判定步骤TEST2,确定对与宏块(i)相关的特定语法参数的二进制表示所使用的比特量是否等于缺省比特量。如果是,则在方法返回判定步骤TEST1之前在步骤INCj中将计数参数j增大1。否则,方法继续进行,在步骤VLC(j)中对计数参数j进行可变长度编码,并将所述码追加至所述比特串。然后,在步骤VLC(L(i))中,追加对宏块(i-1)的所述特定语法参数的值进行二进制表示所需的比特数的可变长度码表示。在随后的步骤INITk中,将另一计数参数k初始化为i-j-1。然后,在步骤BIN(SP(k))中,将宏块(k)的所述特定语法参数的值的二进制表示追加至所述比特串。该步骤之后是k增大步骤INCk。在将k增大1之后,在判定步骤TEST3中检验k是否仍然小于i。如果是,则方法返回步骤BIN(SP(k))。否则,方法返回步骤INITj。
还可以采用类似的方式对某些类型或所有类型的其他语法元素进行编码。
根据统计实验,这种编码方案还可以进一步提高现有熵编码方法的性能,这是因为许多连续宏块的相同语法元素经常具有相同的前缀长度,而游程长度编码可以极大地减小这种统计冗余。
在H.264/AVC编码之后,连续块的语法元素intra4x4_pred_mode的原始VLC码要求该语法元素的VCL码长度为1或4。因此,所述长度的游程幅值编码是有益的。
2D-VLC表可以用于进一步编码(游程,幅值)对。详细编码方法可以与针对MPEG-2中的DCT系数的(游程,幅值)编码方法相同。
在解码器中,首先对语法元素的前缀进行解码。如果前缀的长度是1,则没有后缀。否则,假定前缀的长度是x(1<x<=4),则其后缀的长度是4-x。针对该语法元素的VCL码的长度必须是1或4。如果在VLC码中出现“0000”,则可以将该前缀认为是5,解码器可以在没有后缀的情况下识别该前缀。
更一般地,针对一系列VLC码的前缀的其他编码方法可以是任何其他方法,例如H.264/AVC中的CAVLC,以减小该组VLC码中的冗余。
本发明引入了一些等待时间以及存储器和处理要求,而通过在无损压缩比方面实现的改进可以抵消这些影响。
示例性地,本发明涉及将一组信号编码成一系列VLC码,还涉及对一组VLC码的前缀进行编码以去除这些VLC码的前缀中的统计冗余。在示例实施例中,本发明方法对多个VLC码的前缀进行编码,这是游程长度编码,其中游程是指具有相同前缀长度的VLC码出现的次数。长度是指组成前缀的比特数。前缀由若干连续的零值比特及其后的“1”比特(可以是后缀的最高有效位)组成。或者,前缀由若干连续的“1”加上“0”构成。
取代游程长度编码,由于游程至少是1并且长度也至少是1,可以执行(游程-1)(长度-1)编码。可以通过查找2D VLC查找表来实现(游程-1,长度-1)对的编码。
可以使用一种(游程,幅值)编码来对多个VLC码的前缀进行编码。这里,游程对前缀长度取缺省值(例如1)的连续VLC码的数目进行计数。幅值表示前缀长度不同于所述缺省值的后续VLC码的前缀长度。可以通过查找如MPEG-2中的DCT系数编码之类的2D-VLC表来编码(游程,幅值)对。(游程,幅值)编码还可以使用如H.264/AVC中的CAVLC之类的其他方法。
可以通过任何一种本发明方法对图像/视频编码中相同的图像条/画面/帧内不同宏块的相同类型语法元素的码字进行编码。
将一组信号编码成一系列VLC码,然后通过游程长度编码对一对VLC码的前缀进一步编码以产生新的VLC码,然后通过游程长度编码对这些新的VLC码的前缀进一步编码。即使用游程长度编码来对多个码字的前缀进行迭代编码。

整数序列编码方法、承载编码的整数序列的存储设备和信号以及整数序列解码方法.pdf_第1页
第1页 / 共21页
整数序列编码方法、承载编码的整数序列的存储设备和信号以及整数序列解码方法.pdf_第2页
第2页 / 共21页
整数序列编码方法、承载编码的整数序列的存储设备和信号以及整数序列解码方法.pdf_第3页
第3页 / 共21页
点击查看更多>>
资源描述

《整数序列编码方法、承载编码的整数序列的存储设备和信号以及整数序列解码方法.pdf》由会员分享,可在线阅读,更多相关《整数序列编码方法、承载编码的整数序列的存储设备和信号以及整数序列解码方法.pdf(21页珍藏版)》请在专利查询网上搜索。

本发明涉及一种对整数序列进行编码的方法、一种承载这种编码的序列的存储设备和信号、以及一种对这种编码的序列进行解码的方法。所述方法包括以下步骤:识别整数序列中的连续子序列,其中所述子序列包括在被可变长度编码时具有相同前缀的相关整数以及独立的最后整数;以及借助于指示所述连续子序列中相关整数的数目的码、前缀指示的码、以及连续子序列中的整数的可变长度码的后缀,形成连续子序列的码。因此,如果连续子序列中的n。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 基本电子电路


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1