CN103024383A - 一种基于hevc框架的帧内无损压缩编码方法 - Google Patents
一种基于hevc框架的帧内无损压缩编码方法 Download PDFInfo
- Publication number
- CN103024383A CN103024383A CN2012105438136A CN201210543813A CN103024383A CN 103024383 A CN103024383 A CN 103024383A CN 2012105438136 A CN2012105438136 A CN 2012105438136A CN 201210543813 A CN201210543813 A CN 201210543813A CN 103024383 A CN103024383 A CN 103024383A
- Authority
- CN
- China
- Prior art keywords
- prediction
- pixel
- frame
- coding
- error
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
公开了一种时间复杂度较低、预测准确度较高、提高压缩比的基于HEVC框架的无损压缩编码方法。利用HEVC框架本身,可以实现依据图像平坦程度来自适应的分割编码单元,并决定最佳的分割方案,选择最优的预测模式。利用DPCM差分编码进行初步预测,对于纹理复杂的区域只用差分编码可能会使预测误差较大,因此,对该区域采用误差补偿的方式对预测值进行修正,通过这两种方法的结合可以获得降低时间复杂度,提高预测准确度的有效的折中。残差的分布特点依赖于预测模式,因此根据预测模式决定残差的扫描顺序,可以使熵编码更加有效。
Description
技术领域
本发明属于数字图像无损压缩编码的技术领域,具体地涉及一种基于HEVC(High Efficiency Video Coding,高效视频编码)框架的帧内无损压缩编码方法。
背景技术
在数字图像压缩中,广泛的采用压缩技术来减少其中的数据量。传统的压缩编码是基于信息论的理论,认为一般的信息中存在冗余,比如,时间冗余,空间冗余,结构冗余,心理冗余,统计冗余等,通过去除各种冗余信息来达到压缩的目的。经典压缩编码的方法有预测编码、变换编码、统计编码(熵编码)等。预测编码和变换编码是当前图像编码器最常用的技术,预测和变换的目的是尽最大努力去除图像中的空间冗余,然后再使用统计编码进行压缩。
预测编码用相邻的已知像素或图像块来预测当前像素或图像块,然后将当前像素的原始值和预测值做差,对残差进行变换、量化、熵编码。预测编码的关键在于预测方法的选取,这与图像信号的概率分布有很大关系。预测编码有线性和非线性预测两种。线性预测编码又称为差分脉冲编码调制(Differential Pulse Code Modulation),其优点是算法简单,易于硬件实现,缺点是对信道噪声及误码很敏感,会产生误码扩散,使图像质量大大下降。为了使用更有效的编码预测误差,通常需要建立一个能够去除预测残差中的结构冗余的上下文模型。
变换编码将给定的图像变换到频域,使大量的信息用较少的数据来表示。通常利用正交变换将图像从空间域变换到频率域,图像经过变换后不丢失任何信息,而且变换前后能量相等。变换后能量大部分集中在低频部分,高频部分的系数较小,对变换域系数进行量化、熵编码,这样通过去除高频部分达到压缩的目的。
统计编码,也被称为熵编码,根据信息码字出现的概率分布,寻找概率与码字长度的最优匹配进行编码。这是一种无损压缩方法,解码后能无失真的恢复原始图像。统计编码把待压缩的数据流看作是简单的数字序列,并不关心这些数据的具体语义。常用的统计编码有游程编码、哈夫曼编码和算术编码。
压缩技术一般分为有损压缩和无损压缩。对于类似互联网中的图像采用有损压缩可以获得更好的效率。无损压缩技术也有一些应用领域,比如医学图像,遥感,指纹等。在过去的若干年间,提出了很多图像无损压缩模式,为了达到无损压缩的目的,需要在这种模式中将变换量化模块关闭,对于熵编码,使用类似于有损编码中的相同的模块。
即将到来的HEVC标准是H.264的继续,HEVC框架采用混合编码结构,用来组织输入的图像,其中包括编码单元CU(Coding Unit),预测单元PU(Prediction Unit),变换单元TU(Transform Unit)。CU是用于分割图像的基本单元,和H.264中宏块的概念很类似,不同的是,宏块大小是固定的,而CU是可以自适应改变大小的。它的形状是正方形的,最小为8x8,64x64是最大CU(即LCU,Largest Coding Unit)。CU允许递归分割成四个大小一样的块,这个过程就为基于内容自适应的块分割提供了方便。
预测单元PU,是用于预测过程中保存信息的基本单元,每个CU可以有一个或者多个PU。变换单元是用于变换和量化时的基本单元。它也是正方形的,对于亮度块,即Y分量,大小从4x4到32x32,每个CU有一个或者多个TU。
无损压缩技术从简单的线性预测发展到非线性预测,提高了预测的准确度,但是无疑会增加时间复杂度。大多传统的无损压缩方法是逐像素进行的,这样需要为每个像素选择一个预测模式,这种方法不够灵活,也会带来很高的复杂度。
发明内容
本发明的技术解决问题是:克服现有技术的不足,提供一种时间复杂度较低、预测准确度较高、提高压缩比的基于HEVC框架的帧内无损压缩编码方法。
本发明的技术解决方案是:这种基于HEVC框架的帧内无损压缩编码方法,包括以下步骤:
(1)基于HEVC框架、根据图像平滑程度来自适应调整编码单元CU的大小;
(2)对当前预测单元PU进行差分预测编码DPCM;
(3)进行率失真优化RDO,选择最优分割方案以及最优预测模式;
(4)统计建模,对每个像素进行模型的计算和统计,得出每个模型的数量以及残差之和;
(5)计算当前PU的当前预测像素所邻近的像素的残差能量值,残差能量值是邻近像素残差的绝对值之和,如果该残差能量值大于预定值则执行步骤(6),否则执行步骤(7);
(6)进行误差补偿,则建立模型,并求出该模型的平均误差,对预测值进行修正;
(7)根据预测模式与扫描模式的映射表,确定扫描顺序;
(8)对扫描完成的残差进行熵编码;
(9)向解码端输出编码后的码流文件;
(10)在解码端,对码流文件进行熵解码,解析出残差信息、预测模式;
(11)利用DPCM进行插值预测;
(12)对每个像素建立模型,统计每种模型的数量以及残差的和;
(13)计算预测后每个像素所邻近像素的残差的能量和是否大于指定值,如果大于则执行步骤(14),否则执行步骤(15);
(14)用统计建模的结果求出残差平均值,对预测值进行修正;
(15)重建图像,即用预测值和解码出的残差进行求和。
由于该方法根据图像的平滑程度进行自适应的分割图像块,即,平滑的地方分割较大的块,可以节省码流,复杂的地方进行细分,可以获得较高的预测准确度;在实际的自然图像中很多图像块纹理方向几乎相同,我们以块为单位来选择最优的预测模式,那么对于块中的所有像素只需要编码一个预测模式即可,因此这样就会节省码率,而且由于线性预测本身比较简单,相对于非线性预测来说,时间复杂度也较低。而对于纹理较复杂的区域,我们进行误差补偿,来弥补线性预测带来的误差;这样就取得了时间复杂度和预测准确度的平衡,从而可以进一步提高压缩比。
附图说明
图1示出了根据本发明的基于HEVC框架的帧内无损压缩编码方法的流程图;
图2示出了根据本发明的步骤(2)的帧内预测角度定义;
图3是图2中的帧内预测方向和预测模式的映射图;
图4是根据本发明的差分预测编码的一个优选实施例;
图5示出了当前像素的邻近像素。
具体实施方式
如图1所示,这种基于HEVC框架的帧内无损压缩编码方法,包括以下步骤:
(1)基于HEVC框架、根据图像平滑程度来自适应调整编码单元CU的大小;
(2)对当前预测单元PU进行差分预测编码DPCM;
(3)进行率失真优化RDO,选择最优分割方案以及最优预测模式;
(4)统计建模,对每个像素进行模型的计算和统计,得出每个模型的数量以及残差之和;
(5)计算当前PU的当前预测像素所邻近的像素的残差能量值,残差能量值是邻近像素残差的绝对值之和,如果该残差能量值大于预定值则执行步骤(6),否则执行步骤(7);
(6)进行误差补偿,建立模型,并求出该模型的平均误差,对预测值进行修正;
(7)根据预测模式与扫描模式的映射表,确定扫描顺序;
(8)对扫描完成的残差进行熵编码;
(9)向解码端输出编码后的码流文件;
(10)在解码端,对码流文件进行熵解码,解析出残差信息、预测模式;
(11)利用DPCM进行插值预测;
(12)对每个像素建立模型,统计每种模型的数量以及残差的和;
(13)计算预测后每个像素所邻近像素的残差的能量和是否大于指定值,如果大于则执行步骤(14),否则执行步骤(15);
(14)用统计建模的结果求出残差平均值,对预测值进行修正;
(15)重建图像,即用预测值和解码出的残差进行求和。
由于该方法根据图像的平滑程度进行自适应的分割图像块,即,平滑的地方分割较大的块,可以节省码流,复杂的地方进行细分,获得较高的预测精度;在实际的自然图像中很多图像块纹理方向几乎相同,我们以块为单位来选择最优的预测模式,那么对于块中的所有像素只需要编码一个预测模式即可,因此这样就会节省码率,而且由于线性预测本身比较简单,相对于非线性预测来说,时间复杂度也较低,而对于纹理较复杂的区域,我们进行误差补偿,来弥补线性预测带来的误差;这样就取得了时间复杂度和预测准确度的平衡,从而可以进一步提高压缩比。
优选地,步骤(2)中的差分预测编码与帧内预测的33个有角度的预测模式融合,角度预测的角度范围在[-135,45],[-45,45]定义为近似垂直方向,[135,-45]定义为近似水平方向,如果是近似垂直方向采用逐行预测,如果是近似水平方向采用逐列预测。
优选地,步骤(6)中的误差补偿包括如下步骤:
(6.1)计算参数e,如果预测模式接近垂直方向,则采用公式(1),
如果预测模式接近水平方向,则采用公式(2)
e=|X(I,J-1)-X(I-1,J-1)| (1)
e=|X(I-2,J)-X(I-1,J)| (2)
其中X(I,J)为当前要预测的像素;
(6.2)通过公式(3)-(5)计算能量E
dh=|X(I,J-1)-X(I,J-2)|+|X(I-1,J-1)-X(I-1,J)| (3)
+|X(I-1,J)-X(I-1,J+1)|
dv=|X(I,J-1)-X(I-1,J-1)|+|X(I-2,J)-X(I-1,J)| (4)
+|X(I-2,J+1)-X(I-1,J+1)|
E=dh+dv+2e (5);
(6.3)把E量化为8个等级,量化值为5,15,25,42,60,85,140;
(6.4)如果当前像素预测值大于某个相邻像素,那么二者的关系就记为1,否则记为0,这一系列0和1组成的序列记为S;
(6.5)构造模型M=(E,S),每个像素有一个M,通过统计每种模型的个数以及对应的能量值,通过求均值得到每种模型的平均误差,利用得出的平均误差来补偿当前像素的预测值。
优选地,步骤(7)中的扫描方式包括Zig-Zag扫描、水平扫描和垂直扫描。
下面我们举例编码一幅图,首先进行分割,因为如果不分割整幅图而一起处理,数据量很大,所以基于内容或者说是基于图像平滑程度来分割,可以使码率最小。基本的结构单位是编码单元CU,一般先分割为64x64的CU,然后对当前CU进行预测,这个过程中会尝试所有的分割方案,找到一种最优的分割,衡量的方法就是采用率失真优化(RDO,Rate DistortionOptimization)。
在有损压缩中,编码器的过程一般由预测、变换、量化、熵编码组成,对预测残差的变换使得低频信息集中到图像的左上角,高频信息幅值很小,再进行量化操作可以使得很多小幅值的高频信息都变成0,这样可以有效的达到压缩的目的。但是,我们做无损编码器,没有变换量化模块,因为这会引入误差,就不是无损压缩了,所以预测的残差会直接传递给熵编码模块,因此,无损编码器主要包括两部分,预测和熵编码。想要达到提高压缩比的目的,就要修改预测或者熵编码,本方法中保留了HEVC中的熵编码模块,只修改预测,因此如何预测,是本文的重点。
因为我们压缩的对象是图像,所以就相当于视频压缩中的帧内压缩,对应的也就是帧内预测。帧内预测包括两部分,首先对PU也就是预测单元逐像素的进行DPCM,差分编码预测,然后判断当前像素邻近像素预测准确度是否达到要求(衡量的标准就是计算邻近像素预测残差绝对值之和是否大于设定的阈值),如果准确度不够,那么我们在施加第二种预测方法,也就是误差补偿,对预测结果进行修正。预测后的结果要和原始图像做差,得到一个残差块,因为它用一个二维矩阵表示,所以要采用一定的扫描顺序,使其变成一维的。然后对这个一维的向量进行熵编码。当然对于逐像素编码来说,前面的已经编码完成的像素会作为后面像素的已知像素,也就是说后面的像素在预测的时候,可以利用前面已编码像素的信息,用它们来进行预测。
然后进行DPCM差分预测编码:
HEVC帧内预测采用35个预测模式,包括planar(双线性插值预测),DC(均值预测)以及33有角度的预测模式(如图2所述)。预测针对的结构对象是PU,预测单元,也就是以PU为单位进行预测,HEVC中规定,PU是在CU基础上进行划分的,在CU上最多再分割一次,也就是最小的PU大小是4x4。传统的预测,通过相邻PU来进行,也就是通过使用PU左边、上边像素(不属于当前PU,但是已编码)作为参考来进行预测。然而,如果当前像素距离参考像素比较远时,预测误差势必会受到影响,而且如果当前块中纹理方向有多个,HEVC帧内预测方法不能随预测方向的改变进行相应变化。
为了解决HEVC帧内编码中的这两个问题,我们将DPCM(差分编码)方法融合到HEVC帧内预测中,在预测过程中,邻近已编码的像素可以作为参考像素。在编码的过程中,当前像素从邻近像素进行预测,而不是从邻近的PU来预测,这里除了第一行或者第一列使用相邻PU进行预测,其他行列使用前一行或者前一列进行预测。这里planar和DC预测不作变动,采用HEVC原始方案,主要针对有角度的预测模式。角度预测的角度范围在[-135,45],我们将这些角度分为水平和垂直两大部分,以-45度为界限,[-45,45]认为是近似垂直方向,[135,-45]为近似水平方向,之所以分为两部分,是因为需要根据方向选择是逐行预测还是逐列预测,这个问题在HEVC原始方案中是不需要的,因为原方案中使用其他PU来预测,而我们的方法中采用逐像素,当前像素需要利用前面像素的信息,因此预测的顺序至关重要。如果是近似垂直方向,我们采用逐行预测,如果是近似水平方向我们采用逐列预测。
图4中X为当前PU中的像素,C、R为相邻PU的像素。这里我们以大小为4x4的PU为例,说一下如何使用DPCM进行预测。
这里我们仅以垂直方向为例。如果预测角度为0,也就是垂直方向,那么PU的第0行使用上面PU的最后一行进行预测,预测值X(0,J)=C(J),J=0..,3。而其他行用该行的上面相邻的一行作为参考,也就是预测值X(I,J)=X(I-1,J)I=1,2,3,J=0,..3。
如果预测角度在[0,45],PU的第0行和第3列使用上面像素进行预测。I=1,2,3,X(I,J)J=0,1,2,预测的方法和第0行一样,不同的就是参考像素变为上面当前像素的上面一行像素。预测角度在[-45,0],第0行和第0列使用HEVC中的方法预测。要预测其他的行,即I=1,2,3,X(I,J)J=1,2,3,预测值的计算方法和计算第0行的预测值相同,除了参考像素变为I-1行的像素。
然后进行误差建模:
DPCM预测方法比较适用于图像中平滑纹理的区域。然而,对于很多图像或者一个图像的很多区域来说,可能没有清晰的纹理。这样的区域可以通过计算当前像素周围像素的残差绝对值的和来识别,这里我们把残差绝对值之和称为能量。我们可以设置一个阈值,如果能量小于阈值,我们认为这个区域纹理比较明显,单纯采用DPCM预测就可以很好的进行预测,相反,如果能量大于阈值,我们认为此区域中没有清晰的纹理,就需要进行误差补偿。
如图5所示,假设X(I,J)为当前要预测的像素,我们计算当前像素邻近像素的能量,也就是临近像素的残差绝对值之和,如果大于阈值,那么当前像素就需要进行二次预测,也就是误差补偿,这里通过实验,我们设置阈值为15。
误差补偿的方法分为两部分:能量部分和结构部分。首先,梯度的定义
dh=|X(I,J-1)-X(I,J-2)|+|X(I-1,J-1)-X(I-1,J)|
+|X(I-1,J)-X(I-1,J+1)|
dv=|X(I,J-1)-X(I-1,J-1)|+|X(I-2,J)-X(I-1,J)|
+|X(I-2,J+1)-X(I-1,J+1)|
能量的定义如下
E=dh+dv+2e
如果预测模式接近垂直方向,方程为
e=|X(I,J-1)-X(I-1,J-1)|
如果预测模式接近水平方向,方程为
e=|X(I-2,J)-X(I-1,J)|
我们把E量化为8个等级,量化值为5,15,25,42,60,85,140。
我们定义结构为当前像素的预测值和邻近像素的大小关系,分别用0,1表示。然后,这一系列0和1组成的序列可以用一个整数表示,记为S。比如说,当前像素预测值大于某个相邻像素,那么他们的关系就记为1,否则标记为0。
通过E和S可以构成一个模型,记为M=(E,S)。对于每个像素都会有一个M,我们通过统计每种模型的个数以及对应的能量值,通过求均值可以得到每种模型的平均误差,我们就是利用得出的平均误差来补偿当前像素的预测值。
然后进行扫描:
在一个块中,在熵编码之前,我们需要按照一定的顺序对残差进行扫描。传统的编码通过量化系数的分布特性决定使用Zig-Zag扫描顺序。然而,在关闭变换量化以后,残差的分布特点和量化系数有很大变化,量化系数能量主要集中在左上角,但是残差没有经过变换量化,所以分布也没有那种规律,一般就是和预测方向相关的,比如说,水平预测的话,由于按列进行预测,那么后面列的像素都是参考前列的像素,那么很大程度上,残差分布也是水平方向的比较接近,因此可以采用水平方式扫描,因此基于残差分布的这种特性,就要根据预测方向来自适应的选择扫描方式。根据这种特点,我们可以得到三种扫描方式,Zig-Zag扫描,水平扫描和垂直扫描。
现在具体说明一个实施例,具体包括:
1.首先将HEVC中编、解码端的变换、量化部分关闭
因为变换量化会引入误差,不能无失真重建,因此为了实现无损,需要将这两部分关闭。实现的方法很简单,因为整个系统是有序的,比如,有损压缩编码端的实现是这样,一幅图片先经过预测,然后和原始图像求差,对残差再进行变换、量化、熵编码,解码端就是逆过程。而现在要去掉变换量化,需要进行两步操作,一个是去掉变换量化,另一个是将残差直接进行熵编码。
关闭变换量化,可以将对应的代码进行注释,并对配置文件进行修改,需要将量化系数qp设置为0,之前有一些针对变换做后处理的比如SAO,ALF,现在也不需要了也关闭,设置为0。
2.然后对PU进行DPCM预测
直接将HEVC中原方案进行替换,HEVC中预测有35中模式,保留planar,DC,改变的是33种有角度预测,将这33种预测模式分为水平和垂直两部分,水平部分逐行预测,垂直部分逐列预测。对于这两部分,又分为几种情况,会根据方向选择用哪两个像素还进行插值,如果0度,也就是绝对垂直或水平,就用上面一行或者左边一列的像素预测;如果0到45度,垂直方向,就用上面和右上方像素来预测,-45度到0度就用上面和左上方像素来预测。对于第一行或者第一列需要利用相邻PU像素来预测,其他的行、列就利用前一行或者前一列预测。当然有些边界情况,比如再进行垂直方向0到45度预测时,需要使用上面和右上方像素,对于最后一列,除了第一行外都没有像素可以参考,这时我们可以简单处理,就用上面像素进行预测,不会有太大影响。
3.进行误差补偿
预测之后,将预测值和原始值进行做差,对当前像素邻近的若干像素的残差绝对值求和,把绝对值和成为能量,通过邻近像素预测的准确度来衡量当前像素的预测准确度。如果当前像素邻近像素能量较大,说明上一步预测不够准确,原因可能就是选择的预测模式对这一区域不太匹配,这样的话,我们推断用这一预测模式来预测当前像素也不够准确,因此对当前像素预测值就进行修正,就需要进行误差补偿。误差补偿采用统计建模的方式。模型由两部分构成,一部分成为结构信息,一部分为能量信息。结构信息由当前像素预测值与邻近若干像素的大小关系构成,用一系列的0,1构成一个整数来描述结构信息。用水平和垂直方向梯度和与相邻两个像素的误差构成,量化8级。这样每个像素根据能量和结构信息可以归到某种模型中,并记录每种模型像素的个数,以及误差和,当当前预测像素属于某种模型,那么我们用这种模型对应的误差和除以个数,得出的就是这种模型的平均误差,再用当前像素的预测值加上平均误差就是修正后的预测值。
4.自适应扫描
由于图像用二维矩阵表示,而熵编码编码对象是一维序列,因此要对预测残差进行一定顺序扫描,实现降维目标。在有损模式中,由于存在变换量化,量化系数的分布特点是低频信息集中于左上角,而无损模式中不进行变换量化,直接对预测残差进行熵编码,于是残差不具有和有损模式量化系数相似的分布特性,残差分布是均匀的,因此需要调整扫描方式。因为我们调整了预测方法,尤其是方向性预测使得和预测方向一致的像素比较接近,原始值,预测值都类似,因此残差也比较接近,因为我们扫描的顺序依据预测方向来进行可能会提高熵编码效率,但是因为扫描只有水平或者垂直扫描,因此我们只把方向很接近水平或者垂直方向的才进行扫描改变,其他的还采用Z扫描。
5.解码端相对于编码端要简单。解码过程由熵解码和预测组成,因为通过解析码流文件可以得到残差图像,预测模式等信息,需要做的就是利用DCPM方法求出预测值,然后根据当前像素邻近的像素残差能量是否超过阈值来约定是否进行误差补偿,如果需要的话还要利用统计建模获得当前像素对应模型的平均误差,来修正预测值。然后,已修正的预测值和残差相加便得到了原始图像。
本发明的有益效果如下:
为了验证上述所提到的方案的有效性,我们对比较常用的测试图像进行试验,和现在比较主流的无损压缩以及预测方法进行对比,主要比较的是图像的压缩比,通过BPP来衡量,BPP表示bitper pixel,即,每个像素需要编码的比特数,使用平均BPP来衡量编码效率,BPP越小,说明编码一个像素使用的比特数越少,压缩效率就越高,反之,则说明压缩效率比较低。
我们提出的帧内无损编码模型在HEVC参考软件HM4.0上进行实现。HM的配置将量化系数设为0,有损编码中存在变换,因此如属于变换的后处理的功能,如去方块滤波,就需要关闭。
在第一个实验中,我们将DPCM预测算法与现有的几个预测方法进行比较。包括HEVC自带的预测方法,GAP(自适应梯度预测),EDP(边缘检测预测),TEM(模板匹配)等。
表1
表1是多种预测方法的压缩效率的对比表。从表2中可以看出,HEVC中原始的方案压缩比最低,因为在原方案中就是简单的将变换量化模块关闭,将预测残差直接熵编码,而预测这个关键部分还是沿用有损模式中,以块为单位选择预测模式,并且预测块中的像素都采用相邻PU的像素作为参考,因此压缩效率比较低。其他方法比HEVC中原方案有很大提高,而其他几种方法都是逐像素进行预测,说明了逐像素预测的有效性。这几种方法在压缩效率上比较接近,差别很小。
BPP | CALIC | Proposal |
splash | 3.75 | 3.70 |
flower | 3.60 | 3.60 |
Finger | 7.50 | 7.37 |
Pens | 4.00 | 3.96 |
monarch | 3.33 | 3.29 |
yacht | 4.00 | 3.95 |
Fingerprint | 5.00 | 4.39 |
Average | 4.46 | 4.32 |
表2
表2是CALIC方法和本发明的方法的压缩效率的对比表。在第二个实验中,我们将DPCM插值预测,误差补偿,自适应扫描结合起来,和CALIC算法进行比较,平均BPP比CALIC高出3.1%。说明我们的方法:基于HEVC框架,充分利用框架自身提供的自适应递归分割,DPCM线性插值预测与误差补偿相结合的计算准确度大大提高,再加上自适应扫描,进一步减小了熵编码时的统计冗余,这种组合的压缩效率是很高的。当然我们太多的考虑时间复杂度的问题,首先对于图片压缩,时间复杂度相对于压缩比来说是次要因素,再者DPCM线性预测时间复杂度还是比较小的,我们可以通过调整是否进行误差补偿设置的阈值,来调整时间复杂度,这样更灵活一些。
以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。
Claims (4)
1.一种基于HEVC框架的帧内无损压缩编码方法,其特征在于:包括以
下步骤:
(1)基于HEVC框架、根据图像平滑程度来自适应调整编码单元CU的大小;
(2)对当前预测单元PU进行差分预测编码DPCM;
(3)进行率失真优化RDO,选择最优分割方案以及最优预测模式;
(4)统计建模,对每个像素进行模型的计算和统计,得出每个模型的数量以及残差之和;
(5)计算当前PU的当前预测像素所邻近的像素的残差能量值,残差能量值是邻近像素残差的绝对值之和,如果该残差能量值大于预定值则执行步骤(6),否则执行步骤(7);
(6)进行误差补偿,则建立模型,并求出该模型的平均误差,对预测值进行修正;
(7)根据预测模式与扫描模式的映射表,确定扫描顺序;
(8)对扫描完成的残差进行熵编码;
(9)向解码端输出编码后的码流文件;
(10)在解码端,对码流文件进行熵解码,解析出残差信息、预测模式;
(11)利用DPCM进行插值预测;
(12)对每个像素建立模型,统计每种模型的数量以及残差的和;
(13)计算预测后每个像素所邻近像素的残差的能量和是否大于指定值,如果大于则执行步骤(14),否则执行步骤(15);
(14)用统计建模的结果求出残差平均值,对预测值进行修正;
(15)重建图像,即用预测值和解码出的残差进行求和。
2.根据权利要求1所述的基于HEVC框架的帧内无损压缩编码方法,其特征在于:步骤(2)中的差分预测编码与帧内预测的33个有角度的预测模式融合,角度预测的角度范围在[-135,45],[-45,45]定义为近似垂直方向,[135,-45]定义为近似水平方向,如果是近似垂直方向采用逐行预测,如果是近似水平方向采用逐列预测。
3.根据权利要求2所述的基于HEVC框架的帧内无损压缩编码方法,其特征在于:步骤(6)中的误差补偿包括如下步骤:
(6.1)计算参数e,如果预测模式接近垂直方向,则采用公式(1),如果预测模式接近水平方向,则采用公式(2)
e=|X(I,J-1)-X(I-1,J-1)| (1)
e=|X(I-2,J)-X(I-1,J)| |(2)
其中X(I,J)为当前要预测的像素;
(6.2)通过公式(3)-(5)计算能量E
dh=|X(I,J-1)-X(I,J-2)|+|X(I-1,J-1)-X(I-1,J)| (3)
+|X(I-1,J)-X(I-1,J+1)|
dv=|X(I,J-1)-X(I-1,J-1)|+|X(I-2,J)-X(I-1,J)| (4)
+|X(I-2,J+1)-X(I-1,J+1)|
E=dh+dv+2e (5);
(6.3)把E量化为8个等级,量化值为5,15,25,42,60,85,140;
(6.4)如果当前像素预测值大于某个相邻像素,那么二者的关系就记为1,否则记为0,这一系列0和1组成的序列记为S;
(6.5)构造模型M=(E,S),每个像素有一个M,通过统计每种模型的个数以及对应的能量值,通过求均值得到每种模型的平均误差,利用得出的平均误差来补偿当前像素的预测值。
4.根据权利要求3所述的基于HEVC框架的帧内无损压缩编码方法,其特征在于:步骤(7)中的扫描方式包括Zig-Zag扫描、水平扫描和垂直扫描。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210543813.6A CN103024383B (zh) | 2012-12-14 | 2012-12-14 | 一种基于hevc框架的帧内无损压缩编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210543813.6A CN103024383B (zh) | 2012-12-14 | 2012-12-14 | 一种基于hevc框架的帧内无损压缩编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103024383A true CN103024383A (zh) | 2013-04-03 |
CN103024383B CN103024383B (zh) | 2016-02-10 |
Family
ID=47972456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210543813.6A Active CN103024383B (zh) | 2012-12-14 | 2012-12-14 | 一种基于hevc框架的帧内无损压缩编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103024383B (zh) |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103248895A (zh) * | 2013-05-14 | 2013-08-14 | 芯原微电子(北京)有限公司 | 一种用于hevc帧内编码的快速模式估计方法 |
CN103297781A (zh) * | 2013-06-07 | 2013-09-11 | 安科智慧城市技术(中国)有限公司 | 一种基于纹理方向的hevc帧内编码方法、装置和系统 |
CN103338374A (zh) * | 2013-06-21 | 2013-10-02 | 华为技术有限公司 | 图像处理方法及装置 |
CN103402090A (zh) * | 2013-07-29 | 2013-11-20 | 北京汉邦高科数字技术股份有限公司 | 一种基于霍夫曼无损压缩算法的改进方法 |
CN104202605A (zh) * | 2014-08-18 | 2014-12-10 | 山东大学 | 一种通过降低分辨率预测高清图像编码单元cu的划分方式的方法及其实现装置 |
CN104506871A (zh) * | 2014-11-23 | 2015-04-08 | 北京工业大学 | 一种基于hevc的3d视频快速编码方法 |
GB2519094A (en) * | 2013-10-01 | 2015-04-15 | Sony Corp | Data encoding and decoding |
CN105306940A (zh) * | 2015-10-27 | 2016-02-03 | 北京中星微电子有限公司 | 一种视频编解码样值偏移补偿中边界补偿模式处理方法 |
CN105379287A (zh) * | 2013-07-09 | 2016-03-02 | 佳能株式会社 | 图像编码设备、图像编码方法和程序、以及图像解码设备、图像解码方法和程序 |
WO2016205999A1 (en) * | 2015-06-23 | 2016-12-29 | Mediatek Singapore Pte. Ltd. | Adaptive coding group for image/video coding |
CN106507111A (zh) * | 2016-11-17 | 2017-03-15 | 上海兆芯集成电路有限公司 | 使用残差补偿的视频编码方法以及使用该方法的装置 |
CN106534874A (zh) * | 2016-11-18 | 2017-03-22 | 上海兆芯集成电路有限公司 | 纹理砖压缩及解压缩方法以及使用该方法的装置 |
CN106791844A (zh) * | 2016-12-19 | 2017-05-31 | 中国科学院半导体研究所 | 一种图像无损压缩装置及方法 |
CN106791843A (zh) * | 2016-12-19 | 2017-05-31 | 中国科学院半导体研究所 | 一种图像无损压缩系统及方法 |
WO2018076827A1 (zh) * | 2016-10-26 | 2018-05-03 | 北京大学深圳研究生院 | 视频编码中帧内编码的码率估计方法 |
CN108055540A (zh) * | 2017-12-21 | 2018-05-18 | 上海富瀚微电子股份有限公司 | 近似熵率的低码率hevc编码算法 |
CN108172168A (zh) * | 2017-12-22 | 2018-06-15 | 深圳市华星光电半导体显示技术有限公司 | 一种补偿表压缩方法 |
CN108881908A (zh) * | 2018-05-28 | 2018-11-23 | 北方工业大学 | 视频编码中基于编码单元纹理复杂度的快速分块 |
CN109451315A (zh) * | 2018-11-19 | 2019-03-08 | 西安科锐盛创新科技有限公司 | 带宽压缩中复杂纹理的双模式选择预测方法 |
CN109547783A (zh) * | 2018-10-26 | 2019-03-29 | 西安科锐盛创新科技有限公司 | 基于帧内预测的视频压缩方法及其设备 |
CN109561301A (zh) * | 2018-10-26 | 2019-04-02 | 西安科锐盛创新科技有限公司 | 一种视频压缩中的预测方法 |
CN109587493A (zh) * | 2018-10-26 | 2019-04-05 | 西安科锐盛创新科技有限公司 | 一种视频压缩中的预测方法 |
CN109600608A (zh) * | 2018-10-26 | 2019-04-09 | 西安科锐盛创新科技有限公司 | 带宽压缩中复杂纹理的双模式选择预测方法 |
CN109660793A (zh) * | 2018-10-26 | 2019-04-19 | 西安科锐盛创新科技有限公司 | 用于带宽压缩的预测方法 |
US10652550B2 (en) | 2017-12-22 | 2020-05-12 | Shenzhen China Star Optoelectronics Semiconductor Display Technology Co., Ltd. | Compensation table compressing method |
CN111491163A (zh) * | 2019-01-29 | 2020-08-04 | 索尼公司 | 基于对图像块的像素域预处理操作的图像块编码 |
CN111586405A (zh) * | 2020-04-24 | 2020-08-25 | 中南大学 | 一种多功能视频编码中基于alf滤波的预测模式快速选择方法 |
WO2020244022A1 (zh) * | 2019-06-03 | 2020-12-10 | Tcl华星光电技术有限公司 | 补偿表压缩方法、显示器制造设备和存储器 |
CN112313955A (zh) * | 2018-06-27 | 2021-02-02 | 奥兰治 | 对表示至少一个图像的数据流进行编码和解码的方法和装置 |
CN113784140A (zh) * | 2021-09-15 | 2021-12-10 | 深圳市朗强科技有限公司 | 一种数学无损编码方法及设备 |
WO2022151330A1 (zh) * | 2021-01-15 | 2022-07-21 | 华为技术有限公司 | 一种图像处理的方法及相关装置 |
CN116934431A (zh) * | 2023-09-19 | 2023-10-24 | 贵昌集团有限公司 | 一种电子商务数据智能管理系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931815A (zh) * | 2006-04-07 | 2010-12-29 | 微软公司 | 基于纹理水平的量化调整 |
CN102301720A (zh) * | 2009-01-29 | 2011-12-28 | 松下电器产业株式会社 | 图像编码方法以及图像解码方法 |
CN102355579A (zh) * | 2011-02-24 | 2012-02-15 | 中兴通讯股份有限公司 | 一种预测模式的编码或解码方法及装置 |
CN102447907A (zh) * | 2012-01-31 | 2012-05-09 | 北京工业大学 | 一种针对hevc的视频序列的编码方法 |
CN102484707A (zh) * | 2009-07-04 | 2012-05-30 | Sk电信有限公司 | 图像编码/解码方法和装置 |
-
2012
- 2012-12-14 CN CN201210543813.6A patent/CN103024383B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931815A (zh) * | 2006-04-07 | 2010-12-29 | 微软公司 | 基于纹理水平的量化调整 |
CN102301720A (zh) * | 2009-01-29 | 2011-12-28 | 松下电器产业株式会社 | 图像编码方法以及图像解码方法 |
CN102484707A (zh) * | 2009-07-04 | 2012-05-30 | Sk电信有限公司 | 图像编码/解码方法和装置 |
CN102355579A (zh) * | 2011-02-24 | 2012-02-15 | 中兴通讯股份有限公司 | 一种预测模式的编码或解码方法及装置 |
CN102447907A (zh) * | 2012-01-31 | 2012-05-09 | 北京工业大学 | 一种针对hevc的视频序列的编码方法 |
Cited By (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103248895A (zh) * | 2013-05-14 | 2013-08-14 | 芯原微电子(北京)有限公司 | 一种用于hevc帧内编码的快速模式估计方法 |
CN103248895B (zh) * | 2013-05-14 | 2016-06-08 | 芯原微电子(北京)有限公司 | 一种用于hevc帧内编码的快速模式估计方法 |
CN103297781B (zh) * | 2013-06-07 | 2016-02-17 | 安科智慧城市技术(中国)有限公司 | 一种基于纹理方向的hevc帧内编码方法、装置和系统 |
CN103297781A (zh) * | 2013-06-07 | 2013-09-11 | 安科智慧城市技术(中国)有限公司 | 一种基于纹理方向的hevc帧内编码方法、装置和系统 |
CN103338374A (zh) * | 2013-06-21 | 2013-10-02 | 华为技术有限公司 | 图像处理方法及装置 |
WO2014201862A1 (zh) * | 2013-06-21 | 2014-12-24 | 华为技术有限公司 | 图像处理方法及装置 |
US10021427B2 (en) | 2013-06-21 | 2018-07-10 | Huawei Technologies Co., Ltd. | Image processing method and apparatus |
CN103338374B (zh) * | 2013-06-21 | 2016-07-06 | 华为技术有限公司 | 图像处理方法及装置 |
US10666963B2 (en) | 2013-07-09 | 2020-05-26 | Canon Kabushiki Kaisha | Image coding apparatus, image coding method, and program, and image decoding apparatus, image decoding method and program |
CN105379287A (zh) * | 2013-07-09 | 2016-03-02 | 佳能株式会社 | 图像编码设备、图像编码方法和程序、以及图像解码设备、图像解码方法和程序 |
CN103402090A (zh) * | 2013-07-29 | 2013-11-20 | 北京汉邦高科数字技术股份有限公司 | 一种基于霍夫曼无损压缩算法的改进方法 |
GB2519070A (en) * | 2013-10-01 | 2015-04-15 | Sony Corp | Data encoding and decoding |
US10939103B2 (en) | 2013-10-01 | 2021-03-02 | Sony Corporation | Data encoding and decoding |
GB2519177A (en) * | 2013-10-01 | 2015-04-15 | Sony Corp | Data encoding and decoding |
GB2519094A (en) * | 2013-10-01 | 2015-04-15 | Sony Corp | Data encoding and decoding |
CN104202605A (zh) * | 2014-08-18 | 2014-12-10 | 山东大学 | 一种通过降低分辨率预测高清图像编码单元cu的划分方式的方法及其实现装置 |
CN104506871A (zh) * | 2014-11-23 | 2015-04-08 | 北京工业大学 | 一种基于hevc的3d视频快速编码方法 |
WO2016205999A1 (en) * | 2015-06-23 | 2016-12-29 | Mediatek Singapore Pte. Ltd. | Adaptive coding group for image/video coding |
CN105306940B (zh) * | 2015-10-27 | 2019-10-18 | 中星技术股份有限公司 | 一种视频编解码样值偏移补偿中边界补偿模式处理方法 |
CN105306940A (zh) * | 2015-10-27 | 2016-02-03 | 北京中星微电子有限公司 | 一种视频编解码样值偏移补偿中边界补偿模式处理方法 |
US10917646B2 (en) | 2016-10-26 | 2021-02-09 | Peking University Shenzhen Graduate School | Intra code-rate predicting with rate distortion optimization method in video coding |
WO2018076827A1 (zh) * | 2016-10-26 | 2018-05-03 | 北京大学深圳研究生院 | 视频编码中帧内编码的码率估计方法 |
CN106507111A (zh) * | 2016-11-17 | 2017-03-15 | 上海兆芯集成电路有限公司 | 使用残差补偿的视频编码方法以及使用该方法的装置 |
CN106534874A (zh) * | 2016-11-18 | 2017-03-22 | 上海兆芯集成电路有限公司 | 纹理砖压缩及解压缩方法以及使用该方法的装置 |
CN106534874B (zh) * | 2016-11-18 | 2019-11-29 | 上海兆芯集成电路有限公司 | 纹理砖压缩及解压缩方法以及使用该方法的装置 |
CN106791843B (zh) * | 2016-12-19 | 2019-09-24 | 中国科学院半导体研究所 | 一种图像无损压缩系统及方法 |
CN106791843A (zh) * | 2016-12-19 | 2017-05-31 | 中国科学院半导体研究所 | 一种图像无损压缩系统及方法 |
CN106791844A (zh) * | 2016-12-19 | 2017-05-31 | 中国科学院半导体研究所 | 一种图像无损压缩装置及方法 |
CN106791844B (zh) * | 2016-12-19 | 2019-09-03 | 中国科学院半导体研究所 | 一种图像无损压缩装置及方法 |
CN108055540A (zh) * | 2017-12-21 | 2018-05-18 | 上海富瀚微电子股份有限公司 | 近似熵率的低码率hevc编码算法 |
CN108055540B (zh) * | 2017-12-21 | 2019-12-13 | 上海富瀚微电子股份有限公司 | 近似熵率的低码率hevc编码算法 |
US10652550B2 (en) | 2017-12-22 | 2020-05-12 | Shenzhen China Star Optoelectronics Semiconductor Display Technology Co., Ltd. | Compensation table compressing method |
WO2019119572A1 (zh) * | 2017-12-22 | 2019-06-27 | 深圳市华星光电半导体显示技术有限公司 | 一种补偿表压缩方法 |
CN108172168B (zh) * | 2017-12-22 | 2019-11-15 | 深圳市华星光电半导体显示技术有限公司 | 一种补偿表压缩方法 |
CN108172168A (zh) * | 2017-12-22 | 2018-06-15 | 深圳市华星光电半导体显示技术有限公司 | 一种补偿表压缩方法 |
CN108881908B (zh) * | 2018-05-28 | 2022-07-01 | 北方工业大学 | 视频编码中基于编码单元纹理复杂度的快速分块 |
CN108881908A (zh) * | 2018-05-28 | 2018-11-23 | 北方工业大学 | 视频编码中基于编码单元纹理复杂度的快速分块 |
CN112313955A (zh) * | 2018-06-27 | 2021-02-02 | 奥兰治 | 对表示至少一个图像的数据流进行编码和解码的方法和装置 |
CN109600608A (zh) * | 2018-10-26 | 2019-04-09 | 西安科锐盛创新科技有限公司 | 带宽压缩中复杂纹理的双模式选择预测方法 |
CN109587493A (zh) * | 2018-10-26 | 2019-04-05 | 西安科锐盛创新科技有限公司 | 一种视频压缩中的预测方法 |
CN109660793B (zh) * | 2018-10-26 | 2021-03-16 | 西安科锐盛创新科技有限公司 | 用于带宽压缩的预测方法 |
CN109561301B (zh) * | 2018-10-26 | 2020-08-11 | 苏州龙盈软件开发有限公司 | 一种视频压缩中的预测方法 |
CN109547783A (zh) * | 2018-10-26 | 2019-03-29 | 西安科锐盛创新科技有限公司 | 基于帧内预测的视频压缩方法及其设备 |
CN109587493B (zh) * | 2018-10-26 | 2020-08-28 | 北京宏达一甲教育科技有限公司 | 一种视频压缩中的预测方法 |
CN109660793A (zh) * | 2018-10-26 | 2019-04-19 | 西安科锐盛创新科技有限公司 | 用于带宽压缩的预测方法 |
CN109561301A (zh) * | 2018-10-26 | 2019-04-02 | 西安科锐盛创新科技有限公司 | 一种视频压缩中的预测方法 |
CN109547783B (zh) * | 2018-10-26 | 2021-01-19 | 陈德钱 | 基于帧内预测的视频压缩方法及其设备 |
CN109600608B (zh) * | 2018-10-26 | 2021-01-26 | 西安科锐盛创新科技有限公司 | 带宽压缩中复杂纹理的双模式选择预测方法 |
CN109451315B (zh) * | 2018-11-19 | 2020-10-13 | 吉林建筑大学 | 带宽压缩中复杂纹理的双模式选择预测方法 |
CN109451315A (zh) * | 2018-11-19 | 2019-03-08 | 西安科锐盛创新科技有限公司 | 带宽压缩中复杂纹理的双模式选择预测方法 |
CN111491163A (zh) * | 2019-01-29 | 2020-08-04 | 索尼公司 | 基于对图像块的像素域预处理操作的图像块编码 |
CN111491163B (zh) * | 2019-01-29 | 2022-10-28 | 索尼公司 | 基于对图像块的像素域预处理操作的图像块编码 |
WO2020244022A1 (zh) * | 2019-06-03 | 2020-12-10 | Tcl华星光电技术有限公司 | 补偿表压缩方法、显示器制造设备和存储器 |
CN111586405A (zh) * | 2020-04-24 | 2020-08-25 | 中南大学 | 一种多功能视频编码中基于alf滤波的预测模式快速选择方法 |
CN111586405B (zh) * | 2020-04-24 | 2022-03-29 | 中南大学 | 一种多功能视频编码中基于alf滤波的预测模式快速选择方法 |
WO2022151330A1 (zh) * | 2021-01-15 | 2022-07-21 | 华为技术有限公司 | 一种图像处理的方法及相关装置 |
CN113784140A (zh) * | 2021-09-15 | 2021-12-10 | 深圳市朗强科技有限公司 | 一种数学无损编码方法及设备 |
CN113784140B (zh) * | 2021-09-15 | 2023-11-07 | 深圳市朗强科技有限公司 | 一种数学无损编码方法及设备 |
CN116934431A (zh) * | 2023-09-19 | 2023-10-24 | 贵昌集团有限公司 | 一种电子商务数据智能管理系统 |
CN116934431B (zh) * | 2023-09-19 | 2023-12-05 | 贵昌集团有限公司 | 一种电子商务数据智能管理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103024383B (zh) | 2016-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103024383B (zh) | 一种基于hevc框架的帧内无损压缩编码方法 | |
USRE49565E1 (en) | Apparatus for encoding an image | |
Song et al. | Neural network-based arithmetic coding of intra prediction modes in HEVC | |
KR20190016984A (ko) | 인트라 예측 정보 부호화 방법 및 장치 | |
JP5490404B2 (ja) | 画像復号装置 | |
WO2014190468A1 (en) | Video encoder for images | |
MX2012000614A (es) | Metodo y aparato de codificacion y decodificacion de imagen que utilizan gran unidad de transformacion. | |
KR20110114524A (ko) | 화상 예측 부호화 장치, 방법 및 프로그램, 화상 예측 복호 장치, 방법 및 프로그램, 및 부호화·복호 시스템 및 방법 | |
CN108605132A (zh) | 选择扫描顺序的方法和装置 | |
TWI833073B (zh) | 使用內預測之寫碼技術 | |
CN104702959A (zh) | 一种视频编码的帧内预测方法及系统 | |
CN102065293B (zh) | 一种基于空间域预测编码的图像压缩方法 | |
CN108605133A (zh) | 选择扫描顺序的方法和装置 | |
CN104488268A (zh) | 具有增加数量的可能编码模式的空间预测 | |
CN112534814B (zh) | 视频编码中的系数上下文建模方法和设备 | |
CN102045554A (zh) | 视频和图像的空域预测方法及装置 | |
KR20100044333A (ko) | 동영상 부호화 장치 및 이를 위한 영상 신호의 2차원 정렬 변환 장치 및 방법, 및 이를 위한 기록 매체 | |
Ding et al. | Context-based adaptive zigzag scanning for image coding | |
JP2012023514A (ja) | 適応的に直交変換係数の走査順序を決定する符号化装置及び復号装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |