设截断值对一组编码参数进行编码的数据压缩方法和装置与流程

文档序号:13883286阅读:159来源:国知局
本发明涉及一种对数据进行有损或无损压缩的编码及解码系统,特别是图像和视频数据的编码及解码的方法和装置。
背景技术
::随着人类社会进入大数据、云计算、移动计算、云-移动计算、超高清(4k)和特超高清(8k)视频图像分辨率、4g/5g通讯、虚拟现实的时代,对各种数据,包括大数据、图像数据、视频数据,进行超高压缩比和极高质量的数据压缩成为必不可少的技术。数据集是由数据的样值(例如:字节、比特、像素、像素分量、空间采样点、变换域系数)组成的排列成一定空间(一维、二维、或多维)形状的有限数据的集合(例如:一个一维数据队列、一个二维数据文件、一帧图像、一个视频序列、一个变换域、一个变换块、多个变换块、一个三维场景、一个持续变化的三维场景的序列)。对数据集,特别是二维或以上数据集进行数据压缩的编码(以及相应的解码)时,通常把此数据集划分成若干具有预定形状的子集,称为编码块(从解码的角度也就是解码块,统称为编解码块),以编解码块为单位,按照预定的时间顺序,一块一块进行编码或解码。在任一时刻,正在编码中的编码块称为当前编码块。在任一时刻,正在解码中的解码块称为当前解码块。当前编码块或当前解码块统称为当前编解码块或简称为当前块。正在编码或解码中的样值称为当前编码样值或当前解码样值,简称为当前样值。对于具有一定形状(不一定限于正方形或矩形,可以是任何合理的其他形状)的一个编解码块,在很多场合需要将其划分成更精细的基元(基本单元),按照预定的时间顺序,一个基元一个基元进行编码或解码。对一个基元内的所有样值,通常施行同一类型的编码或解码操作。在任一时刻,正在编码或解码中的基元称为当前基元。对一个基元进行编码的结果是一个或多个编码参数,最后产生含这些编码参数的压缩数据码流。对一个基元进行解码就是解析所述压缩数据码流获得一个或多个编码参数,从所述一个或多个编码参数复原出重构的数据的样值。基元的例包括编解码块(整个块作为一个基元)、子块、微块、串、像素串、样值串、索引串、线条。很多常见的数据集的一个显著特点是具有很多匹配(即相似甚至完全相同)的式样。例如,图像和视频序列中通常有很多匹配的像素图样。因此,现有数据压缩技术中通常采用匹配(也称为预测或补偿)的方式,即用“预测值”(也称为“补偿值”或“参考样值”,例如“参考像素”)来匹配(也称为预测、表示、代表、补偿、近似、逼近等)当前编码或解码中样值(简称为“当前样值”)的方式来达到数据的无损或有损压缩的效果。简单地说,匹配方式的基本操作就是复制参考样值即在参考位置上的样值到当前样值的位置。因此,匹配方式或预测方式也称为复制方式。匹配方式中,已经经历过至少部分编码运算以及至少部分解码运算的重构(也称重建或复原)样值组成参考集(也称参考集空间或参考空间或参考缓存)。参考集之中的重构样值及其位置与原始数据集中的原始样值及其位置是一一对应的。在进行一个当前块的编解码时,匹配方式将当前块划分成若干匹配(也称预测)基元,一个匹配基元有一个或多个匹配(编码)参数(也称为匹配关系或复制参数或复制关系或参考关系)来表示其特征。匹配参数中最重要的一个参数是位移矢量(也称为运动矢量、位置偏移、偏移量、相对位置、位置、相对地址、地址、相对坐标、坐标、相对索引、索引等)。位移矢量表示当前基元的样值与其参考样值之间的相对位移量,相当于数据样值排列成一维数据后的一维偏移量。显然,从位移矢量可导出参考样值的参考位置所在。当前基元的位移矢量称为当前位移矢量。匹配参数的其他例:匹配类型、匹配长度、不可匹配(预测)样值,等。匹配基元的例包括编解码块、子块、微块、串、像素串、样值串、索引串、线条。数据压缩中,特别是匹配方式中,尤其在匹配基元较精细,编码参数的数目很多但取值范围很小的情形,存在消耗很多比特数对很多编码参数进行编码的问题,影响了编码效率。技术实现要素:为了解决数据压缩中,特别是匹配方式中的这一问题,本发明提供了一种设定截断值(也称最大值)对一组编码参数进行编码的数据压缩方法和装置。在本方法和装置中,一组编码参数有一个共同的截断值,采用截断码对一组编码参数中的各编码参数进行编解码。当一组编码参数中有很多编码参数的时候,设定一个共同的截断值可有效减小码字的长度,从而减少对这一组编码参数进行编码所需要的比特数,大大提高编码效率。最简单的示例:如果不设定截断值,采用码字集为{1,01,001,0001,00001,……}的传统一元码对一组取值范围为{0,1,2}的编码参数进行编解码时,对每一个取值2的编码参数,需要消耗3个比特(码字001的码字长为3)对其进行编码。如果设定截断值为2,采用码字集为{1,01,00}的截断一元码对一组取值范围为{0,1,2}的编码参数进行编解码时,对每一个取值2的编码参数,需要消耗2个比特(码字00的码字长为2)对其进行编码。可见,设定截断值后,可以节省1/3的比特数。本发明的编码方法或装置的最基本的特有技术特征是设定截断值对一组编码参数进行编码,产生至少含截断值的信息的压缩数据码流。图1是本发明的编码方法或装置的一个示意图。本发明的解码方法或装置的最基本的特有技术特征是解析压缩数据码流,获取至少截断值的信息,依据所述截断值,采用截断码对一组编码参数中的各编码参数进行解码。图2是本发明的解码方法或装置的一个示意图。根据本发明的一个方面,提供了一种数据压缩的编码方法或装置,至少包括完成下列功能和操作的步骤或模块:在对一个编码块中的一组编码参数进行编码时,设定截断值,依据所述截断值,采用截断码对一组编码参数中的各编码参数进行编码,产生至少含截断值的信息的压缩数据码流。根据本发明的另一个方面,还提供了一种数据压缩的解码方法或装置,至少包括完成下列功能和操作的步骤或模块:在对一个解码块中的一组编码参数进行解码时,解析压缩数据码流,获取至少截断值的信息,依据所述截断值,采用截断码对一组编码参数中的各编码参数进行解码。本发明适用于有损数据压缩的编码和解码,本发明也同样适用于无损数据压缩的编码和解码。本发明适用于图像数据的编码和解码,本发明也同样适用于任何一维、二维或多维数据的编码和解码。本发明中,数据压缩所涉及的数据包括下列类型的数据之一或其组合1)一维数据;2)二维数据;3)多维数据;4)图像;5)图像的序列;6)视频;7)三维场景;8)持续变化的三维场景的序列;9)虚拟现实的场景;10)持续变化的虚拟现实的场景的序列11)像素形式的图像;12)图像的变换域数据;13)二维或二维以上字节的集合;14)二维或二维以上比特的集合;15)像素的集合;16)像素分量的集合。本发明中,所述编码参数包括下列参量之一或其组合1)位移矢量;2)运动矢量;3)图像坐标;4)像素个数;5)基元个数;6)基元长度;7)串个数;8)串长度;9)不可预测像素个数个数;10)不可预测像素串长度。本发明中,在数据是图像、图像的序列、视频等的情形,编码块或解码块是图像的一个编码区域或一个解码区域,包括以下至少一种:整幅图像、图像的子图像、宏块、最大编码单元lcu、编码树单元ctu、编码单元cu、cu的子区域、预测单元pu、变换单元tu。本发明中,所述基元包括下列情形之一或其组合:编解码块、子块、微块、串、像素串、样值串、索引串、线条。以上通过若干特定的具体实例说明本发明的技术特征。本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在不背离本发明的精神下进行各种修饰或改变。以下是本发明的更多的实施细节或变体。实施或变体例1所述编码方法或装置或解码方法或装置中,所述截断码是下列码之一或其组合或以其为前缀和/或中缀和/或后缀的码:1)截断一元码;2)截断二进制码。实施或变体例2所述编码方法或装置或解码方法或装置中,所述截断值本身采用下列码之一或其组合或以其为前缀和/或中缀和/或后缀的码对所述截断值进行编解码:1)一元码;2)截断一元码;3)定长二进制码;4)截断二进制码。实施或变体例3所述编码方法或装置或解码方法或装置中,所述一组编码参数是一个编解码块中的满足一个或多个预定条件的所有编码参数。实施或变体例4所述编码方法或装置或解码方法或装置中,所述截断值存在于所述压缩数据码流的下列地方之一或若干处:1)序列参数集;通常是是序列参数集的一个直接存在或隐含推导的语法元素;2)图像参数集;通常是图像参数集的一个直接存在或隐含推导的语法元素;3)序列头;通常是序列头的一个直接存在或隐含推导的语法元素;4)图像头;通常是图像头的一个直接存在或隐含推导的语法元素;5)条带头;通常是条带头的一个直接存在或隐含推导的语法元素;6)ctu头;通常是ctu头的一个直接存在或隐含推导的语法元素;7)cu头;通常是cu头的一个直接存在或隐含推导的语法元素;8)编解码块头;通常是编解码块头的一个直接存在或隐含推导的语法元素。实施或变体例5所述编码方法或装置或解码方法或装置中,所述数据是图像数据或视频数据;所述编解码块由匹配(又称预测或补偿或复制)基元组成;所述匹配基元包括下列类型之一或其组合:匹配块、匹配子块、匹配微块、匹配串、匹配像素串、匹配样值串、匹配索引串、匹配条、匹配线条、偏移串、坐标串、不可预测像素、不可预测像素串、坐标或不可预测像素串;所述编码参数包括:连续的偏移串的个数、连续的坐标或不可预测像素串的个数、偏移串的串长度、坐标串的串长度、不可预测像素串的串长度、连续的prb串的个数、连续的srb或未匹配像素串的个数、prb串的串长度、srb串的串长度、未匹配像素串的串长度、连续的第一类串的个数、连续的第二类或第三类串的个数、第一类串的串长度、第二类串的串长度、第三类串的串长度。实施或变体例6实施或变体例5所述编码方法或装置或解码方法或装置中,所述一组编码参数和对应的截断值是下列类型的编码参数和其截断值之一:1)偏移串的串长度str_length_minus1和所述编解码块中所述偏移串的串长度的最大值str_length_minus1_max_val;即所述编解码块中所述偏移串的串长度的值都满足:0≤str_length_minus1≤str_length_minus1_max_val2)坐标串的串长度pixel_duplication_count_minus1和所述编解码块中所述坐标串的串长度的最大值pixel_duplication_count_minus1_max_val;即所述编解码块中所述坐标串的串长度的值都满足:0≤pixel_duplication_count_minus1≤pixel_duplication_count_minus1_max_val3)不可预测像素串的串长度unpredictable_pixel_num_minus1和所述编解码块中所述不可预测像素串的串长度的最大值unpredictable_pixel_num_minus1_max_val;即所述编解码块中所述不可预测像素串的串长度的值都满足:0≤unpredictable_pixel_num_minus1≤unpredictable_pixel_num_minus1_max_val4)连续的偏移串的个数offset_string_num_minus1和所述连续的偏移串的个数的最大值offset_string_num_minus1_max_val;即所述编解码块中所述连续的偏移串的个数的值都满足:0≤offset_string_num_minus1≤offset_string_num_minus1_max_val5)连续的坐标或不可预测像素串的个数coor_or_unpredictable_pixel_string_num_minus1和所述编解码块中所述连续的坐标或不可预测像素串的个数的最大值coor_or_unpredictable_pixel_string_num_minus1_max_val;即所述编解码块中所述连续的坐标或不可预测像素串的个数的值都满足:0≤coor_or_unpredictable_pixel_string_num_minus1≤coor_or_unpredictable_pixel_string_num_minus1_max_val6)prb串的串长度和所述编解码块中所述prb串的串长度的最大值;即所述编解码块中所述prb串的串长度的值都满足:0≤prb串的串长度≤prb串的串长度的最大值7)srb串的串长度和所述编解码块中所述srb串的串长度的最大值;即所述编解码块中所述srb串的串长度的值都满足:0≤srb串的串长度≤srb串的串长度的最大值8)未匹配像素串的串长度和所述编解码块中所述未匹配像素串的串长度的最大值;即所述编解码块中所述未匹配像素串的串长度的值都满足:0≤未匹配像素串的串长度≤未匹配像素串的串长度的最大值9)连续的prb串的个数和所述连续的prb串的个数的最大值;即所述编解码块中所述连续的prb串的个数的值都满足:0≤连续的prb串的个数≤连续的prb串的个数的最大值10)连续的srb或未匹配像素串的个数和所述编解码块中所述连续的srb或未匹配像素串的个数的最大值;即所述编解码块中所述连续的srb或未匹配像素串的个数的值都满足:0≤连续的srb或未匹配像素串的个数≤连续的srb或未匹配像素串的个数的最大值11)第一类串的串长度和所述编解码块中所述第一类串的串长度的最大值;即所述编解码块中所述第一类串的串长度的值都满足:0≤第一类串的串长度≤第一类串的串长度的最大值12)第二类串的串长度和所述编解码块中所述第二类串的串长度的最大值;即所述编解码块中所述第二类串的串长度的值都满足:0≤第二类串的串长度≤第二类串的串长度的最大值13)第三类串的串长度和所述编解码块中所述第三类串的串长度的最大值;即所述编解码块中所述第三类串的串长度的值都满足:0≤第三类串的串长度≤第三类串的串长度的最大值14)连续的第一类串的个数和所述连续的第一类串的个数的最大值;即所述编解码块中所述连续的第一类串的个数的值都满足:0≤连续的第一类串的个数≤连续的第一类串的个数的最大值15)连续的第二类或第三类串的个数和所述编解码块中所述连续的第二类或第三类串的个数的最大值;即所述编解码块中所述连续的第二类或第三类串的个数的值都满足:0≤连续的第二类或第三类串的个数≤连续的第二类或第三类串的个数的最大值在所述编解码块中,可设定多个截断值(即最大值),分别对应于多组编码参数。实施或变体例7实施或变体例5所述编码方法或装置或解码方法或装置中,在所述编解码块的压缩数据码流中,存在按照下列顺序出现的用斜体表示的语法元素:第一类串存在标志位如果所述第一类串存在标志位表示所述编解码块中存在第一类串,则{…………连续的第一类串的个数的最大值和/或第一类串的串长度的最大值…………}和/或按照下列顺序出现的用斜体表示的语法元素第二类串存在标志位如果所述第二类串存在标志位表示所述编解码块中存在第二类串,则{…………第二类串的串长度的最大值…………}和/或按照下列顺序出现的用斜体表示的语法元素第三类串存在标志位如果所述第三类串存在标志位表示所述编解码块中存在第三类串,则{…………第三类串的串长度的最大值…………}和/或按照下列顺序出现的用斜体表示的语法元素第二类串存在标志位第三类串存在标志位如果所述第二类串存在标志位表示所述编解码块中存在第二类串或者所述第三类串存在标志位表示所述编解码块中存在第三类串,则{…………连续的第二类或第三类串的个数的最大值…………}。实施或变体例8实施或变体例7所述编码方法或装置或解码方法或装置中,所述第一类串、第二类串、第三类串分别是:偏移串、坐标串、不可预测像素串或者prb串、srb串、未匹配像素串。实施或变体例9实施或变体例5所述编码方法或装置或解码方法或装置中,采用截断一元码对下列编码参数进行编解码:连续的偏移串的个数和/或连续的坐标或不可预测像素串的个数和/或偏移串的串长度和/或坐标串的串长度和/或不可预测像素串的串长度和/或连续的prb串的个数和/或连续的srb或未匹配像素串的个数和/或prb串的串长度和/或srb串的串长度和/或未匹配像素串的串长度和/或连续的第一类串的个数和/或连续的第二类或第三类串的个数和/或第一类串的串长度和/或第二类串的串长度和/或第三类串的串长度。实施或变体例10实施或变体例5所述编码方法或装置或解码方法或装置中,采用分段定长或截断二进制码对下列编码参数进行编解码:连续的偏移串的个数和/或连续的坐标或不可预测像素串的个数和/或偏移串的串长度和/或坐标串的串长度和/或不可预测像素串的串长度和/或连续的prb串的个数和/或连续的srb或未匹配像素串的个数和/或prb串的串长度和/或srb串的串长度和/或未匹配像素串的串长度和/或连续的第一类串的个数和/或连续的第二类或第三类串的个数和/或第一类串的串长度和/或第二类串的串长度和/或第三类串的串长度。附图说明图1是本发明的编码方法或装置的一个示意图。图2是本发明的解码方法或装置的一个示意图。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1