视频帧压缩方法及装置与流程

文档序号:11844761
视频帧压缩方法及装置与流程

本发明涉及视频编码技术领域,尤其涉及一种视频帧压缩方法及装置。



背景技术:

现有技术中,在视频编解码过程中需要频繁地读取内存中的图像数据,这一过程需要占用大量的系统带宽和资源,为了节省系统带宽及资源,通常是先利用预测编码技术对待存储的图像数据进行压缩,并将压缩后的图像数据存储到内存中,以便于后续的使用。

例如,可以利用DPCM(Differential Pulse Code Modulation,差分脉冲编码调制)技术对图像数据进行压缩,具体为:对于图像数据的像素数据块,首先根据图像的空间相关性,通过周边位置的像素值对当前位置的像素值进行预测,其中周边位置的像素值称为预测值,当前位置的实际像素值与预测值之间的差值称为残差值,然后,采用变长编码方式对得到的残差数据进行编码,从而实现对图像数据的压缩。变长编码方式是指将数据进行分组,并根据分组中数据的大小选用特定长度的bit来表示信息,其中,变长编码方式包括有符号变长编码和无符号变长编码,即对于[-2N,2N-1]之间的有符号数据可以用N+1bit来表示,对于[0,2N-1]之间的无符号数据可以用N bit来表示。

在实现本发明的过程中,发明人发现现有技术中至少存在如下技术问题:

上述图像数据的压缩方式是采用固定的预设模板对当前位置的像素值进行预测(例如,规定以左边的像素值作为当前位置像素值的预测值),但是由于数据是随机的,所以任何预设模板都难以很好地匹配所有的情况,可见上述图像像素值预测方式的精确性不高,进而会导致残差数据的均值偏离或产生绝对值过大的残差数据,即得到的残差数据中的相邻的像素数据间仍存在较强的相关性,从而限制了图像数据压缩率的提高。



技术实现要素:

本发明提供一种视频帧压缩方法及装置,其能够为视频帧中的像素提供更 精确的预测值,以减小现有压缩方式中残差值的绝对值,从而进一步提高视频帧的压缩率。

一方面,本发明提供一种视频帧压缩方法,所述方法包括:

对视频帧进行区域划分;

根据当前像素所属的区域,确定所述当前像素所对应的至少一种预测方式;

根据所述至少一种预测方式,确定所述当前像素所对应的最佳预测值;

将所述当前像素的像素值与所述最佳预测值进行作差,得到所述当前像素对应的残差值,并对所述残差值进行压缩处理。

另一方面,本发明提供一种视频帧压缩装置,所述装置包括划分模块、第一确定模块、第二确定模块、预测模块以及压缩模块,其中,

所述划分模块,用于对视频帧进行区域划分;

所述第一确定模块,用于根据当前像素所属的区域,确定所述当前像素所对应的至少一种预测方式;

所述第二确定模块,用于根据所述至少一种预测方式,确定所述当前像素所对应的最佳预测值;

所述预测模块,用于将所述当前像素的像素值与所述最佳预测值进行作差,得到所述当前像素对应的残差值;

所述压缩模块,用于对所述残差值进行压缩处理。

本发明提供的具有自适应特性的视频帧压缩方法及装置,对视频帧进行区域划分;根据当前像素所属的区域,确定所述当前像素所对应的至少一种预测方式;根据所述至少一种预测方式,确定所述当前像素所对应的最佳预测值;将所述当前像素的像素值与所述最佳预测值进行作差,得到所述当前像素对应的残差值,并对所述残差值进行压缩处理。与现有技术相比,其能够为所述视频帧中的像素提供更精确的预测值,以减小现有压缩方式中残差值的绝对值,从而进一步提高视频帧的压缩率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本发明视频帧压缩方法一实施例的流程示意图;

图2为本发明视频帧压缩方法另一实施例的流程示意图;

图3为以4×4大小的视频帧为例,阐述上述实施例中所述视频帧的区域划分示意图;

图4为本发明视频帧压缩装置一实施例的结构示意图;

图5为本发明视频帧压缩装置另一实施例的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供一种视频帧压缩方法,所述方法包括:

S11、对视频帧进行区域划分。

S12、根据当前像素所属的区域,确定所述当前像素所对应的至少一种预测方式。

S13、根据所述至少一种预测方式,确定所述当前像素所对应的最佳预测值。

S14、将所述当前像素的像素值与所述最佳预测值进行作差,得到所述当前像素对应的残差值,并对所述残差值进行压缩处理。

本发明实施例提供的视频帧压缩方法,对视频帧进行区域划分;根据当前像素所属的区域,确定所述当前像素所对应的至少一种预测方式;根据所述至少一种预测方式,确定所述当前像素所对应的最佳预测值;将所述当前像素的像素值与所述最佳预测值进行作差,得到所述当前像素对应的残差值,并对所述残差值进行压缩处理。与现有技术相比,其能够为所述视频帧中的像素提供更精确的预测值,以减小现有压缩方式中残差值的绝对值,从而进一步提高视频帧的压缩率。

如图2所示,本发明实施例提供一种视频帧压缩方法,所述方法包括:

S21、对视频帧进行区域划分;

区域划分的具体方法为:根据所述视频帧的各个像素是否具有左相邻像素和/或上相邻像素,将所述视频帧划分为第一区域、第二区域、第三区域和第四区域。

这里,以4×4大小的视频帧为例,具体的划分方式如图3所示,由图3可知,所述第一区域B1内的像素不具有左相邻像素和上相邻像素,所述第二区域B2内的像素不具有左相邻像素,所述第三区域B3内的像素不具有上相邻像素,所述第四区域B4内的像素具有左相邻像素和上相邻像素。

S22、确定当前像素的至少一个预测方式;

具体地,根据当前像素所属的区域,确定所述当前像素所对应的至少一种预测方式。

例如,当所述视频帧由M×N个像素构成,所述像素的像素值为A[i][j](i和j分别表示列和行,且i=0、1、…、M-1,j=0、1、…、N-1)时,

若所述当前像素属于所述第一区域,则对所述当前像素不进行预测,并保留所述当前像素的像素值A[0][0];

若所述当前像素属于所述第二区域且所述当前像素与所述第一区域内的像素相邻,则确定所述当前像素具有一种预测方式,所述预测方式对应的预测值为A[0][0];

若所述当前像素属于所述第二区域且所述当前像素与所述第一区域内的像素不相邻,则确定所述当前像素具有两种预测方式,所述两种预测方式对应的预测值分别为A[0][j-1]和2*A[0][j-1]-A[0][j-2];

若所述当前像素属于所述第三区域且所述当前像素与所述第一区域内的像素相邻,则确定所述当前像素具有两种预测方式,所述两种预测方式对应的预测值分别为A[0][0]和A[0][1];

若所述当前像素属于所述第三区域且所述当前像素与所述第一区域内的像素不相邻,则确定所述当前像素具有三种预测方式,所述三种预测方式对应的预测值分别为A[i-1][0]、A[i-1][1]和2*A[i-1][0]-A[i-2][0];

若所述当前像素属于所述第四区域,则确定所述当前像素具有三种预测方 式,所述三种预测方式对应的预测值分别为A[i-1][j]、A[i][j-1]和(A[i-1][j]+A[i][j-1]+1)/2。

上述列举了设置多种预测方式的一种情况,但是为当前像素提供多种预测方式的方法不仅仅限于此。

S23、得到当前像素的至少一个预测值;

具体地,根据所述至少一种预测方式,得到所述当前像素对应的至少一个预测值。

S24、确定当前像素的最佳预测值;

具体地,将所述当前像素的像素值分别与所述至少一个预测值进行比较,以确定所述当前像素所对应的最佳预测值,其中,所述最佳预测值为所述至少一个预测值中与所述当前像素的像素值最接近的一个预测值。

S25、得到当前像素的残差值;

具体地,将所述当前像素的像素值与所述最佳预测值进行作差,得到所述当前像素对应的残差值。

S26、对所述残差值进行压缩处理。

具体地,所述对所述残差值进行压缩处理为对所述第一区域内像素的像素值以及所述第一区域以外的各个像素对应的残差值进行变长压缩编码。

其中,变长压缩编码是指将待进行压缩编码数据进行分组,并根据分组中数据的大小选用特定长度的bit来表示信息,其中,所述变长压缩编码包括有符号变长压缩编码和无符号变长压缩编码,即对于[-2N,2N-1]之间的有符号数据可以用N+1bit来表示,对于[0,2N-1]之间的无符号数据可以用N bit来表示。

较佳地,在步骤S25与步骤S26之间还可包括步骤:标记当前像素的实际预测方式;

具体地,按照以下标记方式对所述当前像素的实际预测方式进行标记:

若所述当前像素有一种预测方式,则不标记所述当前像素的实际预测方式;

若所述当前像素有两种预测方式,则使用1个比特标记所述当前像素的实际预测方式;

若所述当前像素有三种预测方式,则使用1或2个比特标记所述当前像素 的实际预测方式,其中,当所述当前像素的实际预测方式与其左相邻像素的实际预测方式相同时使用1个比特标记所述当前像素的实际预测方式;当所述当前像素的实际预测方式与其左相邻像素的实际预测方式不相同时使用2个比特标记所述当前像素的实际预测方式。

由此可见,与现有技术相比,由于在对所述当前像素的实际预测方式进行标记时,采用的是自适应的标记方式,即当所述当前像素的实际预测方式与其左相邻像素的实际预测方式相同时仅使用1个比特标记所述当前像素的实际预测方式,以实现使用尽量少的比特来标记预测方式,从而进一步提高视频帧的压缩率。

但是,对所述当前像素的实际预测方式进行标记的方式不仅仅限于此。

其中,所述视频帧的各个像素按照自左向右、自上而下地顺序进行预测。

下面将以4×4大小的视频帧为例,阐述上述视频帧压缩方法。

如图3所示,为所述4×4大小的视频帧的分区示意图,其中所述视频帧的各个像素及其像素值为Aij和A[i][j](i为列坐标,取值为0、1、2、3,j为行坐标,取值为0、1、2、3),根据所述各个像素的相邻像素情况,即是否具有左相邻像素或上相邻像素,将所述视频帧划分为第一区域B1、第二区域B2、第三区域B3和第四区域B4。

1)所述第一区域B1内的像素A00

由于所述第一区域B1内的像素A00不具有左相邻像素和上相邻像素,故对于所述像素A00不进行预测,而是直接保留其原像素值A[0][0]。

2)所述第二区域B2内的像素A01、A02和A03

像素A01具有一种预测方式,所述像素A01采用所述预测方式得到的预测值为A[0][0],此时,由于只具有一种预测方式,所以不需要额外的比特对像素A01的实际预测方式进行标记;

像素A02具有两种预测方式,所述像素A02采用所述两种预测方式得到的两个预测值分别为A[0][1]和2*A[0][1]-A[0][0],并将所述像素A02的像素值A[0][2]分别与上述两个预测值进行比较,并将与A[0][2]最接近的一个预测值作为最佳预测值,而且使用1个比特标记所述像素A02的实际预测方式,例如,可以使用 1B表示确定A[0][1]作为A02最佳预测值,0B表示确定2*A[0][1]-A[0][0]作为A02的最佳预测值;

像素A03具有两种预测方式,所述像素A03采用所述两种预测方式得到的两个预测值分别为A[0][2]和2*A[0][2]-A[0][1],并将所述像素A03的像素值A[0][3]分别与上述两个预测值进行比较,并将与A[0][3]最接近的一个预测值作为最佳预测值,而且使用1个比特标记所述像素A03的实际预测方式,例如,可以使用1B表示确定A[0][2]作为A03的最佳预测值,0B表示确定2*A[0][2]-A[0][1]作为A03的最佳预测值。

3)所述第三区域B3内的像素A10、A20和A30

像素A10具有两种预测方式,所述像素A10采用所述两种预测方式得到的两个预测值分别为A[0][0]和A[0][1],并将所述像素A10的像素值A[1][0]分别与上述两个预测值进行比较,并将与A[1][0]最接近的一个预测值作为最佳预测值,而且使用1个比特标记所述像素A10的实际预测方式,例如,可以使用1B表示确定A[0][0]作为A10最佳预测值,0B表示确定A[0][1]作为A10的最佳预测值;

像素A20具有三种预测方式,所述像素A20采用所述三种预测方式得到的三个预测值分别为A[1][0]、A[1][1]和2*A[1][0]-A[0][0],并将所述像素A20的像素值A[2][0]分别与上述三个预测值进行比较,并将与A[2][0]最接近的一个预测值作为最佳预测值,由于A20具有三种预测方式,当采用二进制来标记上述三种预测方式时,很容易想到可以使用2个比特来标记A20的实际预测方式,为了进一步提供视频帧的压缩率,这里还提供了另一种标记方式,即自适应的标记方式:可以使用1个或2个比特标记A20的实际预测方式,具体地,当所述当前像素的实际预测方式与其左相邻像素的实际预测方式相同时使用1个比特标记所述当前像素值的实际预测方式;当所述当前像素的实际预测方式与其左相邻像素的实际预测方式不相同时使用2个比特标记所述当前像素的实际预测方式。

例如,假设11B表示采用左相邻像素值作为当前像素的最佳预测值,10B表示采用左下相邻像素值作为当前像素的最佳预测值。

情形一、像素A10采用其左相邻像素值A[0][0]作为最佳预测值:

若像素A20采用其左相邻像素值A[1][0]作为最佳预测值,根据上述假设是 应该使用11B表示确定A[1][0]作为像素A20的最佳预测值,这里注意到A20的实际预测方式与其左相邻像素A10的实际预测方式相同,即均是采用左相邻像素值作为当前像素的最佳预测值,这里可以使用0B代替11B来表示确定A[1][0]作为像素A20的最佳预测值;

若像素A20采用其左下相邻像素值A[1][1]作为最佳预测值,根据上述假设是应该使用10B表示确定A[1][1]作为像素A20的最佳预测值;

若像素A20采用2*A[1][0]-A[0][0]作为最佳预测值,由于已经采用0B来表示确定A[1][0]作为像素A20的最佳预测值,即11B未被占用,因而可以使用11B表示确定2*A[1][0]-A[0][0]作为像素A20的最佳预测值。

情形二、像素A10采用其左下相邻像素值A[0][1]作为最佳预测值:

若像素A20采用其左相邻像素值A[1][0]作为最佳预测值,根据上述假设是应该使用11B表示确定A[1][0]作为像素A20的最佳预测值;

若像素A20采用其左下相邻像素值A[1][1]作为最佳预测值,根据上述假设是应该采用10B表示确定A[1][1]作为像素A20的最佳预测值,这里注意到A20的实际预测方式与其左相邻像素A10的实际预测方式相同,即均是采用左下相邻像素值作为当前像素的最佳预测值,这里可以使用0B代替10B来表示确定A[1][1]作为像素A20的最佳预测值;

若像素A20采用2*A[1][0]-A[0][0]作为最佳预测值,由于已经采用0B来表示确定A[1][1]作为像素A20的最佳预测值,即10B未被占用,因而可以使用10B表示确定2*A[1][0]-A[0][0]作为像素A20的最佳预测值。

类似地,所述像素A30具有三种预测方式,所述像素A30采用所述三种预测方式得到的三个预测值分别为A[2][0]、A[2][1]和2*A[2][0]-A[1][0],并将所述像素A30的像素值A[3][0]分别与上述三个预测值进行比较,并将与A[3][0]最接近的一个预测值作为最佳预测值。

例如,假设11B表示采用左相邻像素值作为当前像素的最佳预测值,10B表示采用左下相邻像素值作为当前像素的最佳预测值。

情形一、像素A20采用其左相邻像素值A[1][0]作为最佳预测值:

若像素A30采用其左相邻像素值A[2][0]作为最佳预测值,根据上述假设是 应该使用11B表示确定A[2][0]作为像素A30的最佳预测值,这里注意到A30的实际预测方式与其左相邻像素A20的实际预测方式相同,即均是采用左相邻像素值作为当前像素的最佳预测值,这里可以使用0B代替11B来表示确定A[2][0]作为像素A30的最佳预测值;

若像素A30采用其左下相邻像素值A[2][1]作为最佳预测值,根据上述假设是应该使用10B表示确定A[2][1]作为像素A30的最佳预测值;

若像素A30采用2*A[2][0]-A[1][0]作为最佳预测值,由于已经采用0B来表示确定A[2][0]作为像素A30的最佳预测值,即11B未被占用,因而可以使用11B表示确定2*A[2][0]-A[1][0]作为像素A30的最佳预测值。

情形二、像素A20采用其左下相邻像素值A[1][1]作为最佳预测值:

若像素A30采用其左相邻像素值A[2][0]作为最佳预测值,根据上述假设是应该使用11B表示确定A[2][0]作为像素A30的最佳预测值;

若像素A30采用其左下相邻像素值A[2][1]作为最佳预测值,根据上述假设是应该使用10B表示确定A[2][1]作为像素A30最佳预测值,这里注意到A30的实际预测方式与其左相邻像素A20的实际预测方式相同,即均是采用左下相邻像素值作为当前像素的最佳预测值,这里可以使用0B代替10B来表示确定A[2][1]作为像素A30的最佳预测值;

若像素A30采用2*A[2][0]-A[1][0]作为最佳预测值,由于已经采用0B来表示确定A[2][1]作为像素A30最佳预测值,即10B未被占用,因而可以使用10B表示确定2*A[2][0]-A[1][0]作为像素A30的最佳预测值。

情形三、像素A20采用2*A[1][0]-A[0][0]作为最佳预测值:

若像素A30采用其左相邻像素值A[3][0]作为最佳预测值,根据上述假设是应该使用11B表示确定A[2][0]作为像素A30的最佳预测值;

若像素A30采用其左下相邻像素值A[2][1]作为最佳预测值,根据上述假设是应该10B表示确定A[2][1]作为像素A30的最佳预测值;

若像素A30采用2*A[2][0]-A[1][0]作为最佳预测值,这里注意到A30的实际预测方式与其左相邻像素A20的实际预测方式相同,因而可以采用0B来表示确定2*A[2][0]-A[1][0]作为像素A30的最佳预测值。

4)所述第四区域B4内的像素A11和A21

对于所述第四区域B4内的像素值,其中各个像素均具有左相邻像素值且具有上相邻像素值,这里以像素A11和A21为例进行说明。

像素A11具有三种预测方式,所述像素A11采用所述三种预测方式得到的三个预测值分别为A[0][1]、A[1][0]和(A[0][1]+A[1][0]+1)/2,并将所述像素A11的像素值A[1][1]分别与上述三个预测值进行比较,并将与A[1][1]最接近的一个预测值作为最佳预测值。

例如,假设11B表示采用左相邻像素值作为当前像素的最佳预测值,10B表示采用上相邻像素值作为当前像素的最佳预测值。

考虑到像素A01只能采用A[0][0]作为最佳像素值。

若像素A11采用其左相邻像素值A[0][1]作为最佳预测值,根据上述假设是应该使用11B表示确定A[0][1]作为像素A11的最佳预测值;

若像素A11采用其上相邻像素值A[1][0]作为最佳预测值,根据上述假设是应该使用10B表示确定A[1][0]作为像素A11的最佳预测值,这里注意到A11的实际预测方式与其左相邻像素A01的实际预测方式相同,即均是采用上相邻像素值作为当前像素的最佳预测值,这里可以使用0B代替10B来表示确定A[1][0]作为像素A11的最佳预测值;

若像素A11采用(A[0][1]+A[1][0]+1)/2作为最佳预测值,由于已经采用0B来表示确定A[1][0]作为像素A11的最佳预测值,即10B未被占用,因而可以使用10B表示确定(A[0][1]+A[1][0]+1)/2作为像素A11的最佳预测值。

像素A21具有三种预测方式,所述像素A21采用所述三种预测方式得到的三个预测值分别为A[1][1]、A[2][0]和(A[1][1]+A[2][0]+1)/2,并将所述像素A21的像素值A[2][1]分别与上述三个预测值进行比较,并将与A[2][1]最接近的一个预测值作为最佳预测值。

例如,假设11B表示采用左相邻像素值作为当前像素的最佳预测值,10B表示采用上相邻像素值作为当前像素的最佳预测值。

情形一、像素A11采用其左相邻像素值A[0][1]作为最佳预测值:

若像素A21采用其左相邻像素值A[1][1]作为最佳预测值,根据上述假设是 应该11B表示确定A[1][1]作为像素A21的最佳预测值,这里注意到A21的实际预测方式与其左相邻像素A11的实际预测方式相同,即均是采用左相邻像素值作为当前像素的最佳预测值,这里可以使用0B代替11B来表示确定A[1][1]作为像素A21的最佳预测值;

若像素A21采用其上相邻像素值A[2][0]作为最佳预测值,根据上述假设是应该使用10B表示确定A[2][0]作为像素A21的最佳预测值;

若像素A21采用(A[1][1]+A[2][0]+1)/2作为最佳预测值,由于已经采用0B来表示确定A[1][1]作为像素A21的最佳预测值,即11B未被占用,因而可以使用11B表示确定(A[0][1]+A[1][0]+1)/2作为像素A21的最佳预测值。

情形二、像素A11采用其上相邻像素值A[1][0]作为最佳预测值:

若像素A21采用其左相邻像素值A[1][1]作为最佳预测值,根据上述假设是应该11B表示确定A[1][1]作为像素A21的最佳预测值;

若像素A21采用其上相邻像素值A[2][0]作为最佳预测值,根据上述假设是应该使用10B表示确定A[2][0]作为像素A21的最佳预测值,这里注意到A21的实际预测方式与其左相邻像素A11的实际预测方式相同,即均是采用上相邻像素值作为当前像素的最佳预测值,这里可以使用0B代替10B来表示确定A[2][0]作为像素A21的最佳预测值;

若像素A21采用(A[1][1]+A[2][0]+1)/2作为最佳预测值,由于已经采用0B来表示确定A[2][0]作为像素A21的最佳预测值,即10B未被占用,因而可以使用10B表示确定(A[1][1]+A[2][0]+1)/2作为像素A21的最佳预测值。

情形三、像素A11采用(A[0][1]+A[1][0]+1)/2作为最佳预测值:

若像素A21采用其左相邻像素值A[1][1]作为最佳预测值,根据上述假设是应该使用11B表示确定A[1][1]作为像素A21的最佳预测值;

若像素A21采用其上相邻像素值A[2][0]作为最佳预测值,根据上述假设是应该使用10B表示确定A[2][0]作为像素A21的最佳预测值;

若像素A21采用(A[1][1]+A[2][0]+1)/2作为最佳预测值,这里注意到A21的实际预测方式与其左相邻像素A11的实际预测方式相同,因而可以采用0B来表示确定(A[1][1]+A[2][0]+1)/2作为像素A21的最佳预测值。

同理,得到所述第四区域B4的其他像素的最佳预测值。

进而获得所述第一区域B1以外的其他像素对应的残差值,并对所述像素A00和其他像素对应的残差值进行变长压缩编码。

本发明实施例提供的视频帧压缩方法,与现有技术相比,一方面,其能够为所述视频帧中的像素提供更精确的预测值,以减小现有压缩方式中残差值的绝对值,从而进一步提高视频帧的压缩率;另一方面,由于在对所述当前像素的实际预测方式进行标记时,采用的是自适应的标记方式,即当所述当前像素值的实际预测方式与其左相邻像素的实际预测方式相同时仅使用1个比特标记所述当前像素的实际预测方式,以实现使用尽量少的比特来标记预测方式,从而进一步提高视频帧的压缩率。

如图4所示,本发明实施例提供一种视频帧压缩装置,所述装置包括所述装置包括划分模块41、第一确定模块42、第二确定模块43、预测模块44以及压缩模块45,其中,

所述划分模块41,用于对视频帧进行区域划分;

具体地,所述划分模块41,用于根据所述视频帧的各个像素是否具有左相邻像素或上相邻像素,将所述视频帧划分为第一区域、第二区域、第三区域和第四区域。

所述第一确定模块42,用于根据当前像素所属的区域,确定所述当前像素所对应的至少一种预测方式;

具体地,当所述视频帧由M×N个像素构成,所述像素的像素值为A[i][j](i和j分别表示列和行,且i=0、1、…、M-1,j=0、1、…、N-1)时,所述第一确定模块,用于当所述当前像素属于所述第一区域时,对所述当前像素不进行预测,并保留所述当前像素的像素值A[0][0];

当所述当前像素属于所述第二区域且所述当前像素与所述第一区域内的像素相邻时,确定所述当前像素具有一种预测方式,所述预测方式对应的预测值为A[0][0];

当所述当前像素属于所述第二区域且所述当前像素与所述第一区域内的像素不相邻时,确定所述当前像素具有两种预测方式,所述两种预测方式对应的 预测值分别为A[0][j-1]和2*A[0][j-1]-A[0][j-2];

当所述当前像素属于所述第三区域且所述当前像素与所述第一区域内的像素相邻时,确定所述当前像素具有两种预测方式,所述两种预测方式对应的预测值分别为A[0][0]和A[0][1];

当所述当前像素属于所述第三区域且所述当前像素与所述第一区域内的像素不相邻时,确定所述当前像素具有三种预测方式,所述三种预测方式对应的预测值分别为A[i-1][0]、A[i-1][1]和2*A[i-1][0]-A[i-2][0];

当所述当前像素属于所述第四区域时,确定所述当前像素具有三种预测方式,所述三种预测方式对应的预测值分别为A[i-1][j]、A[i][j-1]和(A[i-1][j]+A[i][j-1]+1)/2。

所述第二确定模块43,用于根据所述至少一种预测方式,确定所述当前像素所对应的最佳预测值;

所述预测模块44,用于将所述当前像素的像素值与所述最佳预测值进行作差,得到所述当前像素对应的残差值;

所述压缩模块45,用于对所述残差值进行压缩处理。

具体地,所述压缩模块45,用于对所述第一区域内像素的像素值以及所述第一区域以外的各个像素对应的残差值进行变长压缩编码。

其中,变长压缩编码是指将待进行压缩编码数据进行分组,并根据分组中数据的大小选用特定长度的bit来表示信息,其中,所述变长压缩编码包括有符号变长压缩编码和无符号变长压缩编码,即对于[-2N,2N-1]之间的有符号数据可以用N+1bit来表示,对于[0,2N-1]之间的无符号数据可以用N bit来表示。

本发明实施例提供的具有自适应特性的视频帧压缩装置,对视频帧进行区域划分;根据当前像素所属的区域,确定所述当前像素所对应的至少一种预测方式;根据所述至少一种预测方式,确定所述当前像素所对应的最佳预测值;将所述当前像素的像素值与所述最佳预测值进行作差,得到所述当前像素对应的残差值,并对所述残差值进行压缩处理。与现有技术相比,其能够为所述视频帧中的像素提供更精确的预测值,以减小现有压缩方式中残差值的绝对值,从而进一步提高视频帧的压缩率。

进一步地,如图5所示,所述装置还包括标记模块46,其中,

所述标记模块46,用于按照以下方式对所述当前像素的实际预测方式进行标记:当所述当前像素有一种预测方式时不标记所述当前像素的实际预测方式;当所述当前像素有两种预测方式时使用1个比特标记所述当前像素的实际预测方式;当所述当前像素有三种预测方式时使用1或2个比特标记所述当前像素的实际预测方式,其中,当所述当前像素的实际预测方式与其左相邻像素的实际预测方式相同时使用1个比特标记所述当前像素的实际预测方式;当所述当前像素的实际预测方式与其左相邻像素的实际预测方式不相同时使用2个比特标记所述当前像素的实际预测方式。

由此可见,与现有技术相比,由于在对所述当前像素的实际预测方式进行标记时,采用的是自适应的标记方式,即当所述当前像素值的实际预测方式与其左相邻像素的实际预测方式相同时仅使用1个比特标记所述当前像素值的实际预测方式,以实现使用尽量少的比特来标记预测方式,从而进一步提高视频帧的压缩率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

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