估计JPEG压缩位图量化步长的方法及系统与流程

文档序号:14718073发布日期:2018-06-16 02:03阅读:1206来源:国知局
估计JPEG压缩位图量化步长的方法及系统与流程

本发明涉及一种估计JPEG压缩位图量化步长的方法及系统。



背景技术:

JPEG有损压缩技术能够有效去除图像的冗余信息,具有较高的文件压缩率和细节保真度,且提供了在二者间权衡的机制(通过选择不同的压缩质量因子),因此在图像摄取设备中广泛应用。随图像编辑技术的发展,JPEG图像的内容有可能被恶意篡改而用于不法目的,并在篡改后以位图(Bitmap)形式重新保存。这些伪造的位图如果不能被正确辨别,可能会造成严重的社会危害:如见于新闻报道可能会误导公众舆论,用作法庭证据可能导致假案错案。仅靠人眼从海量位图中辨别哪些经过篡改既效率低下,也不切实际。目前可行的解决方案是一种计算机自动检测篡改的技术。

不少学者已对位图的篡改检测技术进行了广泛深入的研究,提出了多种方法。这些方法通常都需要获知待检测位图整幅乃至各个局部的压缩历史信息,即需要获知位图是否经过JPEG压缩,以及如果经过压缩,估计压缩时使用何种量化参数。JPEG压缩位图检测方法及系统能否做到精细准确,直接影响着具体的篡改检测方法和系统的性能。因此,通过检测位图(Bitmap)是否经过JPEG压缩和估计压缩位图的量化参数能够为位图的篡改检测提供可靠的压缩历史信息。

在整个JPEG压缩和解压缩过程中,DCT与IDCT,编码与解码是两对无损操作,只有图像信息的丢失主要由量化导致。换言之,量化操作会在JPEG图像上留下量化效应。经JPEG压缩的位图存在量化效应,而未经JPEG压缩的位图则不存在。因此,通过检测量化效应,可鉴别一幅位图是否经过JPEG压缩,而估计JPEG压缩位图量化步长是检测量化效应的常用方法。

然而,现有估计JPEG压缩位图量化步长的方法有如下缺点:(1)只利用了部分DCT系数而非全部系数,因此并没有充分利用所有可用信息来估计量化步长,估计准确率不高;(2)阈值的选取,难以确定一个最优阈值对不同图像乃至同一幅图像的不同频率都适用。



技术实现要素:

有鉴于此,有必要提供一种估计JPEG压缩位图量化步长的方法及系统,其能够克服现有估计方法的缺点,为位图的篡改检测提供依据。

本发明提供一种估计JPEG压缩位图量化步长的方法,该方法包括如下步骤:a.对输入的JPEG压缩位图进行DCT变换,得到对应的DCT系数矩阵;b.对上述得到的DCT系数矩阵,根据不同的频率抽取得到DCT系数序列;c.对得到的每个DCT系数序列,计算量化误差函数;d.根据所述量化误差函数,对上述每个DCT系数序列计算函数g(u;Cij);e.遍历所有频率获得每个g(u;Cij)最小值的位置,以得到量化步长的估计值。

其中,所述步骤c具体包括:设每一个系数序列Cij共有N个系数,计算量化误差函数如下:

上式中||表示取绝对值,xk是系数序列Cij的第k个元素,q是量化步长的可能取值,一般令1≤q≤M。f(q;Cij)是以Cij为参数,以q为自变量的函数。

所述步骤c具体包括:设每一个系数序列Cij共有N个系数,计算量化误差函数如下:

上式中||表示取绝对值,xk是系数序列Cij的第k个元素,q是量化步长的可能取值,一般令1≤q≤M。f(q;Cij)是以Cij为参数,以q为自变量的函数。

所述步骤c具体包括:设每一个系数序列Cij共有N个系数,计算量化误差函数如下:

上式中||表示取绝对值,xk是系数序列Cij的第k个元素,q是量化步长的可能取值,一般令1≤q≤M。f(q;Cij)是以Cij为参数,以q为自变量的函数。

所述计算函数g(u)为:g(u;Cij)=f(u;Cij)-max1≤x≤u-1f(x;Cij)。

本发明还提供一种估计JPEG压缩位图量化步长的系统,包括变换模块、抽取模块、计算模块及估计模块,其中:所述变换模块用于对输入的JPEG压缩位图进行DCT变换,得到对应的DCT系数矩阵;所述抽取模块用于对上述得到的DCT系数矩阵,根据不同的频率抽取得到DCT系数序列;所述计算模块用于对得到的每个DCT系数序列,计算量化误差函数;所述计算模块还用于根据所述量化误差函数,对上述每个DCT系数序列计算函数g(u;Cij);所述估计模块用于遍历所有频率得到每个g(u;Cij)最小值的位置,以得到量化步长的估计值。

其中,所述的计算模块具体用于:设每一个系数序列Cij共有N个系数,计算量化误差函数如下:

上式中||表示取绝对值,xk是系数序列Cij的第k个元素,q是量化步长的可能取值,一般令1≤q≤M。f(q;Cij)是以Cij为参数,以q为自变量的函数。

所述的计算模块具体用于:设每一个系数序列Cij共有N个系数,计算量化误差函数如下:

上式中||表示取绝对值,xk是系数序列Cij的第k个元素,q是量化步长的可能取值,一般令1≤q≤M。f(q;Cij)是以Cij为参数,以q为自变量的函数。

所述的计算模块具体用于:设每一个系数序列Cij共有N个系数,计算量化误差函数如下:

上式中||表示取绝对值,xk是系数序列Cij的第k个元素,q是量化步长的可能取值,一般令1≤q≤M。f(q;Cij)是以Cij为参数,以q为自变量的函数。

所述计算函数g(u)为:g(u;Cij)=f(u;Cij)-max1≤x≤u-1f(x;Cij)。

本发明能够克服现有估计方法的缺点,为位图的篡改检测提供依据。本发明的有益效果包括:(1)无需凭借经验人为设定阈值,避免引入不合适的参数设定。(2)利用了全部DCT系数进行量化步长估计。(3)不涉及困难的数学运算,计算复杂度低,易于实现。

附图说明

图1为本发明估计JPEG压缩位图量化步长的方法的流程图;

图2为本发明函数g(u;Cij)一个示例的示意图。

图3为本发明估计JPEG压缩位图量化步长的系统的硬件架构图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步详细的说明。

参阅图1所示,是本发明估计JPEG压缩位图量化步长的方法较佳实施例的作业流程图。

步骤S1,对输入的JPEG压缩位图进行DCT变换,得到对应的DCT系数矩阵。具体而言:

对输入的JPEG压缩位图,进行8x8分块的DCT变换,得到对应的DCT系数矩阵。

步骤S2,对上述得到的DCT系数矩阵,根据不同的频率抽取得到DCT系数序列。具体包括:

由于一共有8x8=64个频率,将同一频率的所有系数抽取出来构成一个系数序列,因此一共可以获得64个系数序列,记为Cij,0≤i,j≤7。

步骤S3,对得到的每个DCT系数序列,计算量化误差函数。具体而言:

设每一个系数序列Cij共有N个系数,计算量化误差函数如下:

上式中||表示取绝对值,xk是系数序列Cij的第k个元素,q是量化步长的可能取值,一般令1≤q≤M。f(q;Cij)是以Cij为参数,以q为自变量的函数。

在本发明的其他实施例中,所述量化误差函数还可以为:

步骤S4,根据所述量化误差函数,对上述每个DCT系数序列计算函数g(u;Cij)。具体而言:

本实施例计算函数g(u)如下:

若u=1,则令g(u;Cij)=f(u;Cij)。上式的物理含义:将f(u;Cij)减去它前面所有值的最大值。f(u;Cij)的总体趋势是随着u的增大而变大,但会在量化步长及其倍数或约数的地方取局部最小值。因此,函数g(u;Cij)会在量化步长的位置出现一个最小值,通过检测这个最小值,就可以得到量化步长的估计值。

g(u;Cij)的一个示例如附图2所示。g(u;Cij)在频率(i,j)=(2,2)时的曲线如图所示。当曲线取最小值时,对应的x坐标为12,即12就是该频率要估计的量化步长。

步骤S5,遍历所有频率得到每个g(u;Cij)最小值的位置,即为量化步长的估计值。具体而言:

本实施例遍历所有频率0≤i,j≤7,计算g(u;Cij),分别找出g(u;Cij)在不同频率下最小值对应的位置,即得到JPEG压缩位图量化步长估计值qij。所述量化步长估计值qij一共64个,为8x8的矩阵。

参阅图3所示,是本发明估计JPEG压缩位图量化步长的系统10的硬件架构图。该系统包括变换模块101、抽取模块102、计算模块103及估计模块104。

所述变换模块101用于对输入的JPEG压缩位图进行DCT变换,得到对应的DCT系数矩阵。具体而言:

对输入的JPEG压缩位图,进行8x8分块的DCT变换,得到对应的DCT系数矩阵。

所述抽取模块102用于对上述得到的DCT系数矩阵,根据不同的频率抽取得到DCT系数序列。具体包括:

由于一共有8x8=64个频率,将同一频率的所有系数抽取出来构成一个系数序列,因此一共可以获得64个系数序列,记为Cij,0≤i,j≤7。

所述计算模块103用于对得到的每个DCT系数序列,计算量化误差函数。具体而言:

设每一个系数序列Cij共有N个系数,计算量化误差函数如下:

上式中||表示取绝对值,xk是系数序列Cij的第k个元素,q是量化步长的可能取值,一般令1≤q≤M。f(q;Cij)是以Cij为参数,以q为自变量的函数。

在本发明的其他实施例中,所述量化误差函数还可以为:

所述计算模块103还用于根据所述量化误差函数,对上述每个DCT系数序列计算函数g(u;Cij)。具体而言:

本实施例计算函数g(u)如下:

若u=1,则令g(u;Cij)=f(u;Cij)。上式的物理含义:将f(u;Cij)减去它前面所有值的最大值。f(u;Cij)的总体趋势是随着u的增大而变大,但会在量化步长及其倍数或约数的地方取局部最小值。因此,函数g(u;Cij)会在量化步长的位置出现一个最小值,通过检测这个最小值,就可以得到量化步长的估计值。g(u;Cij)的一个示例如附图2所示。

所述估计模块104用于遍历所有频率得到每个g(u;Cij)最小值的位置,即为量化步长的估计值。具体而言:

本实施例遍历所有频率0≤i,j≤7,计算g(u;Cij),分别找出g(u;Cij)在不同频率下最小值对应的位置,即得到JPEG压缩位图量化步长估计值qij。所述量化步长估计值qij一共64个,为8x8的矩阵。

本发明的函数g(u;Cij)利用了f(u;Cij)总体趋势的信息,直接通过找到g(u;Cij)的最小值即可估计出量化步长,无需凭经验人为地设定阈值。同时,g(u;Cij)的计算利用了Cij系数序列的全部系数,从信息利用率角度看,本发明对系数的利用更加充分。

虽然本发明参照当前的较佳实施方式进行了描述,但本领域的技术人员应能理解,上述较佳实施方式仅用来说明本发明,并非用来限定本发明的保护范围,任何在本发明的精神和原则范围之内,所做的任何修饰、等效替换、改进等,均应包含在本发明的权利保护范围之内。

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