限制分叉树的划分大小的取值范围的数据压缩方法和装置制造方法及图纸

技术编号:37786452 阅读:14 留言:0更新日期:2023-06-09 09:16
本发明专利技术提供了一种在图像的序列和视频编码的树状结构划分中,每帧图像允许对分叉树在生成过程中所产生的划分的大小的取值范围进行限制,从而起到减小每帧图像的实际的取值范围,减少编码划分的大小所需要消耗的比特数,提升编码效率的作用。提升编码效率的作用。

【技术实现步骤摘要】
限制分叉树的划分大小的取值范围的数据压缩方法和装置
[0001] 本申请是下列原申请的的分案申请:原申请的申请日:2019

06

30原申请的申请号:2019105822607原申请的专利技术创造名称:分层规定子集对编码参数进行编码的数据压缩方法和装置(办理登记手续时的名称:对图像的序列进行压缩的编码方法及装置、解码方法及装置)


[0002]本专利技术涉及一种对数据进行压缩的编码及解码(也称译码)系统,特别是对取值范围有限的数据集的编码及解码的方法和装置。

技术介绍

[0003][0004]随着人类社会进入大数据、云计算、移动计算、云

移动计算、超高清(4K)和特超高清(8K)视频图像分辨率、4G/5G通讯、虚拟现实的时代,对各种原始数据,包括大数据、图像数据、视频数据、音频数据、语音数据、神经网络数据,进行超高压缩比和极高质量的数据压缩成为必不可少的技术。
[0005] 很大一类的数据压缩问题可以归结为对数据集Y = {y=f(x):x ∈X }的压缩问题,其中,∈表示“属于”;集合X是Y或f的定义域,由所有的x组成, x称为X的一个元素;集合Y由所有的y=f(x)组成,y=f(x)称为Y的一个元素,通常是一个数值(一维即有一个分量的数值或多维即有多个分量的数值)或者等价于一个数值或者表示为一个数值;f是定义在X上的一种对应关系,也称对应法则或函数关系或简称函数,对X中的每一个x,都存在唯一的y=f(x)与x相对应。不同的x可能对应相同的y=f(x),即x1∈X,x2∈X,x1与x2是X中不同的元素,但f(x1)和f(x2)有相等的数值。数据集Y的另一种等价的表示法是对每一个x ∈X都存在与x相对应的y=f(x) ∈Y。
[0006] 对数据集Y的压缩问题实际上就是用尽可能少的比特数来表示Y的所有元素f(x)。记表示每个f(x)所消耗的比特数为b(x),则表示Y的所有元素f(x)所需要消耗的总比特数B
total
等于所有b(x)之和,即B
total = ∑
x∈X
b(x),其中∑表示求和运算而∑的下标
x∈X
表示对X中所有的x进行b(x)的求和运算。
[0007] 数据集Y的元素(即数据)y的数值称为元素y所取的数值,简称为y的数值或取值。y所允许取到的互不相同的数值的全体组成Y的取值范围,记为R={r[k]:k = 0~K

1},其中,当i ≠ j时,r[i] ≠ r[j]。显然,K是取值范围R的大小,即R的元素的个数。
[0008] b(x)和B
total
都与Y的取值范围R的大小K有直接关联。例如,当K=2
b
并且R的元素都用长度为b的定长二进制码(也就是位数即比特数等于b的二进制码)来表示的情形,所有的b(x)都等于b=log2(K),因此,B
total = N
×
b = N
×
log2(K),其中N是X中元素的个数。显然,当K增大时,B
total
也将增大。由此可见,数据压缩的效果与数据的取值范围的大小有直接关联。
[0009]在现有技术中,在对一个数据集Y进行数据压缩时,其取值范围R是固定不变的,所以取值范围的大小K也是固定不变的。当K较大时,每编码或解码一个数据y,都要使用和消耗较多的比特数,使得编码效率的提高变得很困难。
[0010] 数据集及其定义域和取值范围的第一例,在图像和视频数据的压缩中,通常将一帧图像划分为编码块,每个编码块都用一个块编号来表示,对编码块逐个进行编码(及相应的解码)。如果一个编码块是帧内编码块,则使用帧内预测模式来指定对该帧内编码块进行哪一种帧内预测。帧内编码的每一种帧内预测模式都用一个帧内预测模式编号来表示。在这种情形,数据集Y = {y=f(x):x ∈X }中的定义域X是图像或图像序列即视频中所有帧内编码块或其块编号的集合,而取值范围R则是所有帧内预测模式或其编号的集合。显然,本例中,取值范围R的大小K表示一共有K种预定的帧内预测模式。在HEVC国际视频编码标准中,K=35。在目前正在制定中的下一代国际视频编码标准中,K可能增加到65。
[0011] 数据集及其定义域和取值范围的第二例,在图像和视频数据的压缩中,对一个编码块,通常还需要进行颜色变换(也称颜色转换或色彩变换或色彩转换),以消除像素的分量间的相关性。为适应图像和视频中不同区域往往具有特有的颜色特性和独特的颜色相关性的情形,颜色变换也同样有很多种,分别用颜色变换模式来代表。对一个编码块进行编码及解码时,使用颜色变换模式来指定对该编码块进行哪一种颜色变换。每一种颜色变换模式都用一个颜色变换模式编号来表示。在这种情形,数据集Y = {y=f(x):x ∈X }中的定义域X是图像或视频中所有编码块或其块编号的集合,而取值范围R则是所有颜色变换模式或其编号的集合。显然,本例中,取值范围R的大小K表示一共有K种预定的颜色变换模式。在现有技术中,实际用到的颜色变换种类常常有100多种,即K>100。
[0012] 数据集及其定义域和取值范围的第三例,在图像和视频数据的压缩中,常常使用串匹配或称串预测的技术,将一个编码块分为多个像素串,分别进行以串为单位的匹配或预测。每个串都有串编码参数包括串长度、偏移量(即当前串与参考串之间的位置偏移量)来表征。在一个编码块内,每个串有一个串序号。在这种情形,数据集Y = {y=f(x):x ∈X }中的定义域X是图像或视频中所有串匹配编码块或其块编号与该编码块内的串或其串序号的组合,即所有二维组合(编码块或其块编号,块内的串或其串序号)的集合,而取值范围R则是串编码参数所允许取的可能的值的集合。例1:设一个编码块的像素数是N(常见的N是64,256,1024,4096,16384),则串长度这个串编码参数所允许取的可能的值是1,2,
……
,N

1,N,总共有N个值,所以Y的取值范围R的大小K等于N。例2:设参考串被限制在图像的一个预定区域内,则偏移量这个串编码参数所允许取的可能的值就是使参考串落在所述预定区域内的偏移量的值。
[0013] 数据集及其定义域和取值范围的第四例,在图像和视频数据的压缩中,常常使用块匹配或称块预测的技术,对于一个当前编码块,使用帧间或帧内的一个参考块来匹配(也称预测)当前编码块。每个当前编码块都用参考块所在帧(简称参考帧)的帧编号(简称参考帧编号)和运动矢量来表示参考块的位置。在这种情形,数据集Y = {y=f(x):x ∈X }中的定义域X是图像或视频中所有块匹配编码块或其块编号的集合,而取值范围R则是参考帧或其编号和运动矢量所允许取的可能的值的集合。如:设参考块被限制在若干帧的若干预定区域内,则参考帧或其编号和运动矢量所允许取的可能的值就是使参考块落在所述预定区域内的参考帧或其编号和运动矢量的值。

技术实现思路
...

【技术保护点】

【技术特征摘要】
1. 一种对图像的序列进行压缩的编码方法或装置,其特征在于至少包括完成下列功能的步骤或模块:1)图像序列中的各编码树单元按照首先一次或多次递归的四分叉或无分叉结构继而一次或多次递归的三分叉或二分叉或无分叉结构被划分成编码块,编码树单元按照一次或多次递归的四分叉结构被划分所产生的分割的尺寸即宽或高是2的幂,用其以2为底的对数partSizeInBit来表示,对当前编码中的图像序列,规定所述partSizeInBit的取值范围R是从编码块的最小尺寸的以2为底的对数MinCuSizeInBit至编码树单元的尺寸的以2为底的对数CtuSizeInBit之间的整数或其一个子集或一部分整数,即partSizeInBit是满足MinCuSizeInBit ≤ partSizeInBit≤ CtuSizeInBit的整数或其一个子集或一部分整数,其中MinCuSizeInBit和CtuSizeInBit是所述图像序列中的两个预定常数;2)对所述图像序列中的一帧图像或一个条带slice或一个片块tile进行编码时,所述图像或所述条带或所述片块内的所述partSizeInBit的取值范围是所述取值范围R的一个如下规定的取值子范围:从编码树单元按照一次或多次递归的四分叉结构被划分所产生的分割的最小尺寸的以2为底的对数crMinQtSizeInBit至编码树单元的尺寸的以2为底的对数CtuSizeInBit之间的整数即partSizeInBit满足crMinQtSizeInBit ≤ partSizeInBit≤ CtuSizeInBit,其中crMinQtSizeInBit是一个等于或大于MinCuSizeInBit的整数,允许各所述图像或所述条带或所述片块有各自的crMinQtSizeInBit;3)产生至少含可用于直接或间接或直接间接混合地表示或导出各所述图像或所述条带或所述片块的各自的取值子范围的信息的压缩数据码流。2.一种对图像的序列进行压缩的编码方法或装置,其特征在于至少包括完成下列功能的步骤或模块:1)图像序列中的各编码树单元按照首先一次或多次递归的四分叉或无分叉结构继而一次或多次递归的三分叉或二分叉或无分叉结构被划分成编码块,编码树单元按照一次或多次递归的四分叉结构被划分所产生的分割的尺寸即宽或高是2的幂,用其以2为底的对数partSizeInBit来表示,对当前编码中的图像序列,规定所述partSizeInBit的取值范围R是从编码块的最小尺寸的以2为底的对数MinCuSizeInBit至编码树单元的尺寸的以2为底的对数CtuSizeInBit之间的整数或其一个子集或一部分整数,
即partSizeInBit是满足MinCuSizeInBit ≤ partSizeInBit≤ CtuSizeInBit的整数或其一个子集或一部分整数,其中MinCuSizeInBit和CtuSizeInBit是所述图像序列中的两个预定常数;2)对所述图像序列中的一帧图像或一个条带slice或一个片块tile进行编码时,所述图像或所述条带或所述片块内的所述partSizeInBit的取值范围是所述取值范围R的一个如下规定的取值子范围:从编码树单元按照一次或多次递归的四分叉结构被划分所产生的分割的最小尺寸的以2为底的对数crMinQtSizeInBit至编码树单元的尺寸的以2为底的对数CtuSizeInBit之间的整数即partSizeInBit满足crMinQtSizeInBit ≤ partSizeInBit≤ CtuSizeInBit,其中crMinQtSizeInBit是一个等于或大于MinCuSizeInBit的整数,允许各所述图像或所述条带或所述片块有各自的crMinQtSizeInBit;3)产生至少含可用于直接或间接或直接间接混合地表示或导出各所述图像或所述条带或所述片块的各自的取值子范围的信息的压缩数据码流;所述压缩数据码流至少含可用于直接或间接或直接间接混合地表示或导出crMinQtSizeInBit的值的信息;所述直接地表示或导出crMinQtSizeInBit的值的信息由压缩数据码流中的一个或多个位串即比特串所组成;所述间接地表示或导出crMinQtSizeInBit的值的信息是从其他编码参数和/或编码变量和/或压缩数据码流的其他语法元素导出的信息;所述直接间接混合地表示或导出crMinQtSizeInBit的值的信息是部分直接即由压缩数据码流中的一个或多个位串所组成,部分间接即从其他编码参数和/或编码变量和/或压缩数据码流的其他语法元素导出,混合地表示或导出的信息;所述直接地表示或导出crMinQtSizeInBit的值的信息是存在于统称为编码区块的各所述图像或所述条带或所述片块的头信息中的下列语法元素:编码区块最小四分叉划分尺寸减去编解码块最小尺寸cr_MinQtSizeInBit_minus_MinCuSizeInBit从cr_MinQtSizeInBit_minus_MinCuSizeInBit的值cr_MinQtSizeInBit_minus_MinCuSizeInBit计算crMinQtSizeInBit的值以及编码树单元按照一次或多次递归的四分叉结构被划分所产生的分割的最小尺寸crMinQtSize的方式如下:crMinQtSizeInBit = MinCuSizeInBit + cr_MinQtSizeInBit_minus_MinCuSizeInBitcrMinQtSize = (1 << crMinQtSizeInBit),其中<<是2进制位左移运算;至少当partSizeInBit大于crMinQtSizeInBit时,压缩数据码流至少含可用于直接或间接或直接间接混合地表示或导出是否进行下一次四分叉结构划分的信息;所述直接地表示或导出是否进行下一次四分叉结构划分的信息由压缩数据码流中的一个或多个位串即比特串所组成;所述间接地表示或导出是否进行下一次四分叉结构划分
的信息是从其他编码参数和/或编码变量和/或压缩数据码流的其他语法元素导出的信息;所述直接间接混合地表示或导出是否进行下一次四分叉结构划分的信息是部分直接即由压缩数据码流中的一个或多个位串所组成,部分间接即从其他编码参数和/或编码变量和/或压缩数据码流的其他语法元素导出,混合地表示或导出的信息;所述直接地表示或导出是否进行下一次四分叉结构划分的信息是下列语法元素:四分叉划分标志qt_split_flagqt_split_flag的值qt_split_flag为
‘1’
表示进行下一次四分叉结构划分;qt_split_flag的值qt_split_flag为
‘0’
表示终止四分叉结构划分。3.一种对图像的序列进行压缩的解码方法或装置,其特征在于至少包括完成下列功能的步骤或模块:1)图像序列中的各编码树单元按照首先一次或多次递归的四分叉或无分叉结构继而一次或多次递归的三分叉或二分叉或无分叉结构被划分成解码块,编码树单元按照一次或多次递归的四分叉结构被划分所产生的分割的尺寸即宽或高是2的幂,用其以2为底的对数partSizeInBit来表示,对当前解码中的图像序列,规定所述partSizeInBit的取值范围R是从解码块的最小尺寸的以2为底的对数MinCuSizeInBit至编码树单元的尺寸的以2为底的对数CtuSizeInBit之间的整数或其一个子集或一部分整数,即partSizeInBit是满足MinCuSizeInBit ≤ partSizeInBit≤ CtuSizeInBit的整数或其一个子集或一部分整数,其中MinCuSizeInBit和CtuSizeInBit是所述图像序列中的两个预定常数;2)对所述图像序列中的一帧图像或一个条带slice或一个片块tile进行解码时,所述图像或所述条带或所述片块内的所述partSizeInBit的取值范围是所述取值范围R的一个如下规定的取值子范围:从编码树单元按照一次或多次递归的四分叉结构被划分所产生的分割的最小尺寸的以2为底的对数crMinQtSizeInBit至编码树单元的尺寸的以2为底的对数CtuSizeInBit之间的整数即partSizeInBit满足crMinQtSizeInBit ≤ partSizeInBit≤ CtuSizeInBit,其中crMinQtSizeInBit是一个等于或大于MinCuSizeInBit的整数,允许各所述图像或所述条带或所述片块有各自的crMinQtSizeInBit;3)解析压缩数据码流,至少获得可用于直接或...

【专利技术属性】
技术研发人员:林涛
申请(专利权)人:上海天荷电子信息有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1