一种修改jpeg图像局部图像的方法及装置的制作方法

文档序号:7554299阅读:145来源:国知局
专利名称:一种修改jpeg图像局部图像的方法及装置的制作方法
技术领域
本发明涉及电子图像处理领域,特别涉及一种修改JPEG图像局部图像的方法及装置。
背景技术
随着移动终端(手机、平板电脑、PDA等)的高速发展,其搭载的相机性能越来越强,人们使用移动终端进行拍照变的越来越普遍。在传统相机中,拍摄的照片加上时间戳是一项普遍应用的技术。然而,在移动智能终端中,如果要实现该功能,需要将摄像头拍摄得到的JPEG图像解压缩成RGB图,然后进行修改。受移动终端计算性能的限制,该过程长达数秒,较长的处理时间给用户体验带来致命影响。因此,现有移动智能终端中的拍照软件很少配置该功能。

发明内容
有鉴于此, 本发明的主要目的在于提供一种修改JPEG图像局部图像的方法和装置,以实现快速修改图像局部细节的目的。根据本发明的一个方面,提供了一种修改JPEG图像局部图像的方法,其特征在于,包括以下步骤:101、使用哈夫曼解码获得量化DCT数据;102、在量化DCT数据中定位需要修改的数据块;103、对定位的需要修改的数据块进行逆量化计算,得到待修改区域DCT数据;104、对待修改区域DCT数据进行逆DCT处理,得到YUV数据;105、对YUV数据进行YUV-RGB颜色空间转换;106、对YUV数据或RGB数据进行需要的效果处理;107、将处理完的数据进行DCT计算;108、对DCT数据进行量化计算;109、将新DCT量化数据跟未修改的数据一起进行哈夫曼编码,从而得到新的JPEG图像。优选的,其特征在于,在所述步骤102中,若待处理区域位于全幅图像的左下角或者右下角,则对待修改区域起始坐标开始往后所有的数据块进行处理。优选的,其中步骤106中所述的效果处理为图像混合。根据本发明的另一个方面,提供了一种修改JPEG图像局部图像的装置,其特征在于,包括:哈夫曼解码模块,用于使用哈夫曼解码获得量化DCT数据;定位模块,用于在量化DCT数据中定位需要修改的数据块;逆量化计算模块,用于对定位的需要修改的数据块进行逆量化计算,得到待修改区域DCT数据;
逆DCT处理模块,用于对待修改区域DCT数据进行逆DCT处理,得到YUV数据;
颜色空间转换模块,用于对YUV数据进行YUV-RGB颜色空间转换;效果处理模块,用于对YUV数据或RGB数据进行需要的效果处理;DCT计算模块,用于将处理完的数据进行DCT计算;量化计算模块,用于对DCT数据进行量化计算;哈夫曼编码模块,用于将新DCT量化数据跟未修改的数据一起进行哈夫曼编码,从而得到新的JPEG图像。优选的,其特征在于,若待处理区域位于全幅图像的左下角或者右下角,则所述定位模块对待修改区域起始坐标开始往后所有的数据块进行处理。优选的,其中所述效果处理模块执行的效果处理为图像混合。由上可以看出,相对于传统处理办法,本发明提供的方法将需要进行修改的图像部分的定位处理进行了提前,从而减小了后续运算量。


图1为本发明实施例中修改JPEG图像局部图像的方法流程图。图2为本发明实施例中修改JPEG图像局部图像的装置结构示意图。
具体实施例方式下面结合附图 ,以手机为例详细介绍本发明提供的一种修改JPEG图像局部图像的方法。本发明提供的一种修改JPEG图像局部图像的方法,包括以下步骤:步骤101:使用哈夫曼解码获得量化DCT数据JPEG是一种压缩图像格式,使用哈夫曼编码进行压缩,无法直接进行修改。因此要想修改JPEG图像,必须首先进行解码。哈夫曼编码(Huffman Coding)是一种编码方式,是可变字长编码(VLC)的一种,该方法依据数据出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码。哈夫曼编码先对图像数据进行扫描,计算出各种像素出现的概率,按概率的大小指定不同长度的唯一码字,由此得到一张该图像的哈夫曼码表。编码后的图像数据记录的是每个像素的码字,而码字与实际像素值的对应关系记录在码表中。实际应用中,我们一般使用标准的JPEG码表。通过哈夫曼解码,我们可以得到图像的8x8的量化后的离散余弦变换(DiscreteCosine Transform, DCT)系数矩阵。步骤102:在量化DCT数据中定位需要修改的数据块JPEG中DU以8x8为单位,因此,根据图像的像素和需要进行修改的位置起点坐标,可以快速计算出我们需要对哪些数据块进行修改。为了最大程度降低后续步骤的数据量,可以精确到具体需要进行处理的数据块。如果待修改区域位于左下角或者右下角,为了减小索引计算量,可以对待修改区域起始点往后的所有数据块进行处理。步骤103:对定位的需要修改的数据块进行逆量化计算,得到待修改区域DCT数据JPEG编码过程中对DCT数据进行过量化处理。所谓量化,即对DCT系数矩阵中高频分量的很多近似值使用同一数字表示,大大降低了数量,同时对视觉效果的影响也很小。
将量化过后的数据再按原比例恢复为最接近原始DCT系数值的处理过程即为逆量化。该步骤中,需要对量化过的数据进行逆处理,从而得到DCT数据。步骤104:对待修改区域DCT数据进行逆DCT处理,从而得到YUV数据JPEG处理的图像以8x8的单位分割成DU,DU所对应的图像区域上各分量数据按序编组则为最小编码单元(Minimum Coding Unit, MCU)。离散余弦变换(Discrete ConsineTransform, DCT)过程是指将分割的MCU中的光强数据转换为频率数据。对逆量化计算得到数据进行逆DCT处理即可还原得到YUV图像数据。步骤105:对YUV数据进行YUV-RGB颜色空间转换YUV跟RGB是两种不同的颜色空间,针对不同的应用场景,可能需要使用不用的格式。如果应用场景需要RGB数据,则可以根据下面的公式对YUV数据进行转换:R=Y+1.13983*VG=Y - 0.39465*U - 0.58060*VB=Y+2.03211*U步骤106:对YUV数据或者RGB数据进行需要的效果处理该步骤对解码得到的待处理图像数据进行修`改,具体的修改根据不同的应用场景确定。针对最常用的时间戳功能,我们需要将待加的时间戳数据跟解码得到的图像数据进行α混合计算(a-blending)。步骤107:将处理完的数据进行DCT计算待处理区域的图像数据经过修改后,需要重新进行编码。该步骤中,对处理完的数据重新进行DCT计算,光强数据被转换为频率数据。步骤108:对DCT数据进行量化计算该步骤中,计算得到的DCT数据被量化,DCT系数矩阵中高频分量的很多近似值使
用同一数字表不。步骤109:将新DCT量化数据跟未修改的数据一起进行哈夫曼编码,从而得到新的JPEG数据该步骤中,初始哈夫曼解码得到的量化DCT数据中需要被修改的MCU被步骤108的新数据替换,然后进行哈夫曼编码,从而得到新的JPEG图像数据。在传统的处理中,没有本发明的步骤102。因此,步骤103到步骤105均是针对全幅图像的处理。步骤105处理完后,对得到的全幅RGB数据或者YUV数据直接进行处理。然后继续对修改后的全幅图像数据进行步骤107到步骤109的处理。在添加时间戳等应用场景中,一般都会在照片的左下角或者右下角进行处理。对于这种场景,本发明提供的方法将极大地降低步骤103到步骤108的运算量。以现在流行的800万像素(3264X2448)拍照为例,JPEG数据块(Data Unit, DU)大小为8X8,所以全幅图像共有408X306个数据块。如果在右下角(3000,2200)开始的位置添加时间戳,步骤103到步骤108每个步骤的计算数据量将至少减少[408X306- (408X30+33) ]/(408X306) =90.17%由上可以看出,整个处理过程的性能得到了极大地提升。此外,本发明还包含相应的修改JPEG图像局部图像,如图2所示,本发明的装置包括:哈夫曼解码模块,用于使用哈夫曼解码获得量化DCT数据;定位模块,用于在量化DCT数据中定位需要修改的数据块;其中,若待处理区域位于全幅图像的左下角或者右下角,则所述定位模块对待修改区域起始坐标开始往后所有的数据块进行处理。逆量化计算模块,用于对定位的需要修改的数据块进行逆量化计算,得到待修改区域DCT数据;逆DCT处理模块,用于对待修改区域DCT数据进行逆DCT处理,得到YUV数据;颜色空间转换模块,用于对YUV数据进行YUV-RGB颜色空间转换;效果处理模块,用于对YUV数据或RGB数据进行需要的效果处理;其中所述效果处理模块执行的效果处理例如可以为图像混合。如针对最常用的时间戳功能,我们需要将待加的时间戳数据跟解码得到的图像数据进行α混合计算(a -blending)。DCT计算模块,用于将处理完的数据进行DCT计算;量化计算模块,用于对DCT数据进行量化计算;哈夫曼编码模块,用于将新DCT量化数据跟未修改的数据一起进行哈夫曼编码,从而得到新的JPEG图像。本领域的技术人·员应该理解,本发明的方法和装置可以采用硬件、软件、或硬件和软件相结合的方式,通过微处理器、数字信号处理器、现场可编程逻辑单元、或门阵列等各种方式实现。综上所述,虽然本发明已以优选实施例披露如上,然而其并非用以限定本发明。本发明所属技术领域的普通技术人员,在不脱离本发明的精神和范围内,可作各种变动与修饰。因此,本发明的保护范围当视后附的权利要求所界定的范围为准。
权利要求
1.一种修改JPEG图像局部图像的方法,其特征在于,包括以下步骤: 101、使用哈夫曼解码获得量化DCT数据; 102、在量化DCT数据中定位需要修改的数据块; 103、对定位的需要修改的数据块进行逆量化计算,得到待修改区域DCT数据; 104、对待修改区域DCT数据进行逆DCT处理,得到YUV数据; 105、对YUV数据进行YUV-RGB颜色空间转换; 106、对YUV数据或RGB数据进行需要的效果处理; 107、将处理完的数据进行DCT计算; 108 JfDCT数据进行量化计算; 109、将新DCT量化数据跟未修改的数据一起进行哈夫曼编码,从而得到新的JPEG图像。
2.根据权利要求1所述的方法,其特征在于,在所述步骤102中,若待处理区域位于全幅图像的左下角或者右下角,则对待修改区域起始坐标开始往后所有的数据块进行处理。
3.根据权利要求1所述的方法,其中步骤106中所述的效果处理为图像混合。
4.一种修改JPEG图像局部图像的装置,其特征在于,包括: 哈夫曼解码模块,用于使用哈夫曼解码获得量化DCT数据; 定位模块,用于在量化DCT数据中定位需要修改的数据块; 逆量化计算模块,用于对定位的需要修改的数据块进行逆量化计算,得到待修改区域DCT数据; 逆DCT处理模块,用于对待修改区域DCT数据进行逆DCT处理,得到YUV数据; 颜色空间转换模块,用于对YUV数据进行YUV-RGB颜色空间转换; 效果处理模块,用于对YUV数据或RGB数据进行需要的效果处理; DCT计算模块,用于将处理完的数据进行DCT计算; 量化计算模块,用于对DCT数据进行量化计算; 哈夫曼编码模块,用于将新DCT量化数据跟未修改的数据一起进行哈夫曼编码,从而得到新的JPEG图像。
5.根据权利要求4所述的装置,其特征在于,若待处理区域位于全幅图像的左下角或者右下角,则所述定位模块对待修改区域起始坐标开始往后所有的数据块进行处理。
6.根据权利要求4所述的装置,其中所述效果处理模块执行的效果处理为图像混合。
全文摘要
本发明提供了一种修改JPEG图像局部图像的方法及装置。该方法对传统解码、修改、重新编码的流程进行了优化,使得修改JPEG图像的局部图像时需要被解码、修改、重新编码的数据量大幅度降低,从而极大地提高了对图像进行局部修改的效率。该发明对图像局部处理性能的提升,使得在移动终端中拍照的同时进行时间戳等处理变为可能。
文档编号H04N7/26GK103237207SQ20131010532
公开日2013年8月7日 申请日期2013年3月28日 优先权日2013年3月28日
发明者邓必山, 李志杰 申请人:中科创达软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1