一种基于视频编码模式的方向变换方法与流程

文档序号:12498304阅读:318来源:国知局
一种基于视频编码模式的方向变换方法与流程

本发明属于视频压缩编码的技术领域,具体地涉及一种与视频相关的基于预测模式的方向变换的帧内编解码方法。



背景技术:

从MPEG-2,H.263,MPEG-4到H.264/AVC,编码效率更高的技术一直是人们追求的更高目标。近些年来,随着大量的高清视频与日剧增,一种更高效率的编码框架--HEVC应运而生。

HEVC采用了许多新的技术,其中重要的一项技术为基于编码单元的自适应四叉树分割,最大的编码单元为64×64,其作为树根分割为4个32×32的编码单元,而且每一个32×32的编码单元可以继续分割,直至4×4的编码单元。对每一个编码单元,对其进行不同的预测得到不同的残差单元(变换单元)。每一个残差单元(变换单元)需要进行变换以及量化操作,根据RDO从这些不同的预测模式选取最优的预测模式以及分割模式。

尽管HEVC比H.264/AVC得到50%以上的增益,然而,由于预测时使用此编码单元周围的像素值对当前预测单元进行预测,仅仅利用到像素之间的局部相关性,并没有利用到像素之间的非局部信息,所以利用序列间的非局部信息提高压缩效率成为近些年研究的一个热点。

研究人员利用外部图像的相关性对图像压缩进行了一次探索性的尝试。对一副高分辨的图像I进行下采样之后得到低分辨率图像D,对D进行压缩,同时在解码端将压缩过的低分辨率图像D进行上采样,得到高分辨率图像然而由于压缩之前对原始图像进行的下采样操作造成了信息的损失,通过简单的三次线性差值很难得到高质量的高分辨率图像,那么利用与外部的图像数据库进行匹配,对其增强重构得到了高质量的高分辨率图像匹配时利用了与外部的图像数据库的SIFT特征的相关性。但此种方法对大量数据库的需求成为了弊端,一旦数据库与所压缩的图像相关性不强,那么并不能对一些图像的细节信息进行很好的恢复。

众所周知,KLT能够最大化使信号能量集中,而DCT在信号满足一阶马尔科夫模型能够很好的逼近KLT。但是DCT是固定的变换,而且并非所有信号均满足一阶马尔科夫模型,所以近些年来,KLT对于一类数据的表达能力再次被人们得到重视,所以如何设计满足一类数据的KLT便成为研究的课题之一。而基于编码模式的方向变换(MDDT)便是根据预测方向将相关性较强的一类数据共同使用一个KLT,从而得到更优的压缩效率。MDDT最早在H.264/AVC上提出,其方法观察到使用同一个预测模式的残差数据有相似的方向性,如图1,这种具有相似方向性的数据可以用来生成一组分离的KLT,在编码端,通过对传统DCT进行RDO选取更好的变换。

MDDT提供了一种理念,其以后的离线变换的一些研究中对其进行了改进。基于编码模式的稀疏变换(MDST)产生了更加鲁棒的行和列变换,解决了当外点存在于训练数据集中时MDDT不够高效的问题。另外,一些研究人员观察到即使使用同一个预测模式的残差数据仍旧有很多残差之间并不存在很强的相关性,如图2所示,对于均为垂直预测模式下的残差块,其方向性仍旧区分很大。RDOT通过对同一个模式的残差数据更好的分类,对同一个预测模式的残差使用更多的变换,从而提高了编码效率。同时,将MDDT中的分离KLT变为非分离KLT也成为了改进MDDT的途径之一。

尽管基于MDDT的改进方法都取得了一定的增益,但是,MDDT,MDST,RDOT均为离线训练,其预定义的变换并不能适应于越来越多的不同分辨率下以及各种各样的视频序列。而且,不同的视频序列残差块像素之间的相关性也不尽相同,这造成了预定义的变换训练时需要的数据集的包容性变得至关重要。然而对于KLT变换,其训练集自身内部的差异性越大,得到的KLT变换越接近于DCT变换。那么,如何使训练集满足同一类特性同时生成与其相关的变换变得至关重要。

基于信号的自适应变换(SDT)采用在线训练的方法。对于每一个编码单元,SDT通过模版匹配(TM)在已重构的序列中找出与当前残差块有高度相关性的数据集,得到基于此编码单元的自适应KLT,从而改进编码效率。此种方法避免了训练集的预选取造成的当训练集与当前编码单元相关性较弱的问题。尽管如此,在编码时,由于对每一块编码单元均使用TM进行逐像素搜索,其编码复杂度较高。



技术实现要素:

本发明的技术解决问题是:克服现有技术的不足,提供一种基于视频编码模式的方向变换方法,其能够根据当前序列不同模式的残差的统计特性,使得残差数据在变换之后能量更加集中,从而得到更小的码流,提升编码效率。

本发明的技术解决方案是:这种基于视频编码模式的方向变换方法,该方法包括编码和解码,在编码端,首先对其进行数据的收集,对其进行训练,得到KLT集合;在编码时,通过RDO在KLT和DCT中选取对于当前编码单元更好的变换方法;在解码端,首先对传输到解码端的字典进行解码,再进行整个视频的解码。

本发明充分地利用了同一个视频序列中非局部信息之间的相关性,从而得到性能更好的KLT集合,同时避免了过高的计算复杂度。本发明中,对于同一模式下,不同块大小的残差块进行训练得到非分离或分离的KLT集合,此KLT集合能够使其对于当前序列的残差块能量更加集中,在量化之后得到更小的码流,从而提升了编码效率。

附图说明

图1示出了残差绝对值量级标准化分布。

图2示出了使用垂直预测模式下的残差块。

图3是根据本发明的基于视频编码模式的方向变换方法的流程图。

图4是根据本发明的编码的一个优选实施例的流程图。

图5是根据本发明的解码的一个优选实施例的流程图。

图6示出了相同序列以及不同序列之间残差的像素间的相关性。

具体实施方式

如图3所示,这种基于视频编码模式的方向变换方法,该方法包括编码和解码,在编码端,首先对其进行数据的收集,对其进行训练,得到KLT集合;在编码时,通过RDO在KLT和DCT中选取对于当前编码单元更好的变换方法;在解码端,首先对传输到解码端的字典进行解码,再进行整个视频的解码。

本发明充分地利用了同一个视频序列中非局部信息之间的相关性,从而得到性能更好的KLT集合,同时避免了过高的计算复杂度。本发明中,对于同一模式下,不同块大小的残差块进行训练得到非分离或分离的KLT集合,此KLT集合能够使其对于当前序列的残差块能量更加集中,在量化之后得到更小的码流,从而提升了编码效率。

优选地,所述编码包括以下步骤:

(1)数据的收集:通过HEVC压缩得到需要训练的残差集,其根据QP、块大小、模式进行分类,得到每一类的残差数据集;

(2)变换的生成:在全I帧编码时,对QP数据集进行训练,分别得到每一种块大小的每一种模式的KLT,从而形成KLT集合;形成的分数非分离KLT将其使用尺度为210进行放大变为整型KLT,而分离KLT使用尺度为25进行放大变为整型KLT,作为需要传输的变换;

(3)变换的使用:在RDO对KLT集和DCT进行比较时,在使用量化前,根据当前模式选取的扫描方法对其进行排序,使扫描时先扫到统计意义上能量更加集中的系数;对其量化,得到需要传输的码流;对其量化过的码流进行反量化,反量化之后的数据,根据排序方法,使其符合扫描的顺序,进而反变换,得到重建的图像;

(4)变换的传输:传输KLT时,将KLT写入到二进制码流,从而对此二进制码流使用行程编码进行压缩。

优选地,所述解码包括以下步骤:

(5)解码得到整型KLT集合,读取二进制码流,将其转化为整型KLT集合;

(6)根据解码出来的标识位,来选取DCT或者KLT集合中的对应此块大小以及模式的KLT,对于选取KLT的已反量化的残差的系数,根据扫描方式对其进行排序,从而对此得到的量化之后的残差块进行反变换重构。

优选地,所述步骤(2)中,对大小为32×32的残差块采用分离KLT的同时对其他大小的残差块采用非分离KLT,并对大小为16×16的残差块所对应的256×256的变换采用了降维技术,从而在KLT集合传输中使用的码流更小。

优选地,所述步骤(3)中,编写一个标识位来区别选中的变换,0代表DCT,1代表KLT集合。

优选地,所述步骤(4)中,使用WINRAR进行压缩。

具体做法如下:

由于之前的离线训练变换方法其中的训练集固定造成与当前需要编码的序列之间的不相关性,使得离线训练的变换对于相关性不强的视频序列并没有得到很好的效果,而同一个视频序列之间相同预测模式下残差数据之间的相关性要比不同视频序列之间相同预测模式下残差数据之间的相关性要强很多,在此,定义了像素间的相关性(Correlat ion coeffi c i ent),

为了更好地观察像素间的在空域上的相关性,像素间的曼哈顿距离(Manhattan distance)作为统计的标尺。

通过图6,即使使用同一预测模式,相同序列的残差像素间的相关性达到一致的特性,而对于不同序列,其残差像素间的相关性有所差异。同时,其生成的KLT变换也不尽相同,RaceHorses以及BasketballDrill的序列不同预测模式训练得到的非分离KLT变换也有很大不同,存在差异性。

因此,本发明提出了一种基于视频编码模式的方向变换,本发明充分地利用了同一个视频序列中非局部信息之间的相关性,从而得到性能更好的KLT集合,同时避免了过高的计算复杂度。本发明中,对于同一模式下,不同块大小的残差块进行训练得到非分离或分离的KLT集合,此KLT集合能够使其对于当前序列的残差块能量更加集中,从而在量化之后得到更小的码流,从而提升了编码效率。

本发明利用了同一个视频的非局部信息,从而得到对当前序列残差块具有更好变换的KLT集合,提升了编码效率。其编码端以及解码端的示意图如图3。

在编码端,本发明首先对其进行数据的收集,对其进行训练,得到KLT集合,在编码时,通过RDO在此KLT和DCT中选取对于当前编码单元更好的变换方法。在解码端,首先对传输到解码端的字典进行解码,之后再进行整个视频的解码工作。

在此发明中,数据的收集、变换的生成、变换的使用、变换的传输为其主要组成部分。

数据的收集:对于当前序列片段首先使用HEVC框架进行压缩,得到其关于当前量化步长(QP)的每一种块大小的每一个预测模式下的数据集。

变换的生成:非分离的KLT变换与分离的KLT变换相比,能够使得残差块的能量更加集中,同时却带来更高的计算复杂度以及传输时所需要的更多码流。对于N×N的编码块,其非分离的KLT变换系数的个数为N4,那么对于4×4以及8×8的块,这样的规模可以接受,然而,对于16×16大小的残差块,其规模为256×256,如果对于此大小的块需要传输的变换的规模太大,从而会抵消掉引入16×16变换带来的增益。幸运的是,256×256的非分离字典中并不是所有的变换基元均在变换当中占据主导作用,在此减少256×256的规模变为256×32,从而减少传输所需的额外开销的同时,基本保持了此变换的原本的变换特性。

然而对于32×32的块,对于每一个基元的长度为1024,即使利用对16×16块的处理方法其规模仍旧很大,所以对于32×32的块,本发明采用两种方法:1.不使用KLT;2.使用更小规模的分离KLT。

变换的使用:在HEVC框架中通过RDO在DCT和KLT集中选取编码效率更高的变换。

变换的传输:采用行程编码技术对其进行传输,比如WINRAR。

此发明已经在HEVC的HM12.1版本中被证明对于全I帧编码时能够得到很高的增益效果,如表1。

表1

在此编码框架中,测试了前150帧的实验结果(每150帧可以作为一个变换生成的单元),在图表中,“直到16×16”表示在此方法中,仅仅对4×4、8×8、16×16训练了非分离的KLT集,“直到32×32”表示在此方法中,不仅对小于32×32的三种大小的块采用非分离的KLT变换,而且对32×32大小的残差块采用了分离的KLT变换。对此发明与SDT进行了比较,在表中,很明显可以看到,相较于HEVC的标准,得到了更高的压缩效率。

对于序列BasketballDrill,采用“直到16×16”方法时,在较高码率下,此发明达到接近1db的增益。

对于块大小为4×4的残差块,不同的模式采用的KLT集合的个数也做了统计。在不具备方向信息的模式0(Planar模式)和模式1(DC模式),KLT集合被选中的概率仍旧接近于50%。

整个测试序列集对于不同大小选取KLT集合所占的百分比如表2,

表2

观察到,对于4×4、8×8、16×16大小的残差块,选取KLT集合作为变换所占的百分比均超过了50%,且8×8大小的残差块比较DCT更加倾向与选取KLT集合中的变换。

图4为本发明编码端实施例的结构示意图,具体包括:

1.首先通过HEVC压缩得到需要训练的残差集,其根据QP、块大小、模式进行分类,得到每一类的残差数据集。

2.由于在全I帧编码时,QP已经固定,对此数据集进行训练,分别得到每一种块大小的每一种模式的KLT,从而形成KLT集合。在此步骤中,形成的分数非分离KLT将其使用尺度为210进行放大变为整型KLT,而分离KLT由于对于当前编码块有行变换和列变换,使用尺度为25进行放大变为整型KLT,作为需要传输的变换。

3.在RDO对KLT集和DCT进行比较时,由于训练的KLT均具有将能量集中而且按照递减的次数排列的特性,所以在使用量化前,根据当前模式选取的扫描方法对其进行排序,使扫描时先扫到统计意义上能量更加集中的系数。之后对其量化,得到需要传输的码流。为了编解码匹配,在此对其量化过的码流进行反量化,反量化之后的数据,仍旧根据排序方法,使其符合扫描的顺序,进而反变换,得到重建的图像。同时,需要编写一个标识位来区别选中的哪种变换,在此发明中,0代表DCT,1代表KLT集合。

4.传输KLT时,需要先将KLT写入到二进制码流,从而对此二进制码流使用行程编码进行压缩,比如WINRAR。

图5为本发明解码端的流程示意图,具体包括:

5.先解码得到整型KLT集合,读取二进制码流,将其转化为整型KLT集合。

6.根据解码出来的标识位,来选取DCT或者KLT集合中的对应此块大小以及模式的KLT,对于选取KLT的已反量化的残差的系数,首先根据扫描方式对其进行排序,从而对此得到的量化之后的残差块进行反变换重构。

以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1