CN108111858A - 一种图片压缩方法及装置 - Google Patents

一种图片压缩方法及装置 Download PDF

Info

Publication number
CN108111858A
CN108111858A CN201611062367.1A CN201611062367A CN108111858A CN 108111858 A CN108111858 A CN 108111858A CN 201611062367 A CN201611062367 A CN 201611062367A CN 108111858 A CN108111858 A CN 108111858A
Authority
CN
China
Prior art keywords
picture
compression
lossy compression
obtains
lossy
Prior art date
Application number
CN201611062367.1A
Other languages
English (en)
Other versions
CN108111858B (zh
Inventor
梁宇轩
Original Assignee
腾讯科技(深圳)有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Priority to CN201611062367.1A priority Critical patent/CN108111858B/zh
Publication of CN108111858A publication Critical patent/CN108111858A/zh
Application granted granted Critical
Publication of CN108111858B publication Critical patent/CN108111858B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding

Abstract

本发明实施例公开了一种图片压缩方法及装置,用于提高图片压缩率。本发明实施例方法包括:获取多个图片;针对所述多个图片中的每个图片进行有损压缩获得有损压缩图片,对所述有损压缩图片进行无损压缩获得目标压缩图片。本发明实施例能够采用有损压缩和无损压缩混合压缩的方式,在不影响视觉效果的情况下,提高图片压缩比率。

Description

一种图片压缩方法及装置

技术领域

[0001]本发明涉及移动互联网领域,尤其涉及一种图片压缩方法及装置。

背景技术

[0002]随着移动端的发展,移动端页面需求开发量越来越多。而从传统pc网页开发迁移 过来的过程中开发者没有较多的关注和优化移动端图片,造成移动端页面载入速度不够 快,有较大的优化空间,而移动端图片的大小对于移动端网页的载入速度是至关重要的一 个衡量标准。

[0003] 对于移动端开发的图片处理来说,都会涉及到图片的压缩。目前的图片压缩方式 主要有两种:一是在photo shop中选定图片的质量数值,以一个较低的质量保存图片;二是 采用单个的图片压缩工具无损压缩图片,以保证图片质量和压缩率。

[0004] 采用目前的图片压缩处理方式压缩率仍然较低,例如:对PNG图片格式而言,压缩 的极限仅约压缩10 %。

发明内容

[0005] 本发明实施例提供了一种图片压缩方法及装置,能够提高图片压缩率。

[0006] 第一方面,本发明实施例提供了一种图片压缩方法,该方法包括:

[0007] 获取多个图片;针对所述多个图片中的每个图片,对所述图片进行有损压缩获得 有损压缩图片,对所述有损压缩图片进行无损压缩获得目标压缩图片。

[0008] 第二方面,本发明实施例提供了一种图片压缩装置,该装置包括:

[0009] 图片获取单元,用于获取多个图片;

[0010] 有损压缩单元,用于针对所述多个图片中的每个图片,对所述图片进行有损压缩 获得有损压缩图片;

[0011] 无损压缩单元,用于对所述有损压缩图片进行无损压缩获得目标压缩图片。

[0012] 第三方面,本发明实施例提供了一种服务器,该服务器包括处理器和存储器,其 中,存储器用于存储应用程序,处理器用于执行所述应用程序以执行以下步骤:获取多个图 片;针对所述多个图片中的每个图片,对所述图片进行有损压缩获得有损压缩图片,对所述 有损压缩图片进行无损压缩获得目标压缩图片。

[0013] 第四方面,本发明实施例还提供了一种存储介质,所述存储介质用于存储应用程 序,该应用程序执行时包括第一方面的图片压缩方法中的步骤。

[0014] 从以上技术方案可以看出,本发明实施例具有以下优点:

[0015] 本发明实施例中,能够一次获取多个图片,针对多个图片中的每个图片,先进行有 损压缩获得有损压缩图片,再对有损压缩图片进行无损压缩获得目标压缩图片。本发明实 施例能够采用有损压缩和无损压缩混合压缩的方式,在不影响视觉效果的情况下,提高图 片压缩比率,从而提升移动端页面打开速度。

附图说明

[0016] 图1为本发明实施例中图片压缩方法流程图;

[0017] 图2为本发明实施例中用户终端与服务器之间的信息交互示意图;

[0018]图3为本发明实施例中通过网页导入图片流程示意图;

[0019]图4为本发明实施例中多个图片压缩服务器应用场景示意图;

[0020]图5为本发明实施例中一个图片压缩服务器应用场景示意图;

[0021]图6为本发明实施例中通过网页上传图片的一种界面示意图;

[0022] 图7为本发明实施例中通过网页上传图片的一种界面示意图;

[0023] 图8为本发明实施例中JPG格式图片有损压缩方法流程图;

[0024] 图9为本发明实施例中PNG格式图片有损压缩方法流程图;

[0025]图10为本发明实施例中图片压缩装置功能模块结构不意图;

[0026]图11为本发明实施例中服务器设备硬件结构示意图。

具体实施方式

[0027] 为了使本发明的技术方案及有益效果更加清楚,以下结合附图及实施例,对本发 明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用 于限定本发明。

[0028]图片的大小会直接影响内存的占用以及页面的载入速度,而受移动端设备性能以 及流量的影响,相比传统的PC网页端,移动端页面对图片的大小要求更高。因此,在移动端 网页或应用程序开发过程中,需要对原始图片进行压缩以降低图片的大小,同时压缩后的 图片的质量需要满足移动终端中图片的呈现视觉效果。

[0029] 本发明使用有损压缩和无损压缩结合的方式压缩各种图片格式。能将PNG 24格式 的图片压缩成肉眼在移动端识别不出差异的PNG 8格式的低质量高清晰度图片,让PNG 8格 式的图片也完美支持透明。让JPG格式的图片文件压缩成质量为30左右的,肉眼识别不出差 异的用于移动端的图片。整体压缩率能达到70%左右,最多可达到90%以上,能够极大提高 图片压缩比率。

[0030]需要说明的是,在移动终端的网页或APP中使用的图片格式一般采用的是PNG格式 或JPG格式,但还可以使用其他图片格式,例如WebP格式、GIF格式、JBIG格式、BMP格式等图 片格式。本发明实施例中的图片压缩方法主要以PNG格式、JPG格式的图片压缩为例进行介 绍,但本发明实施例中的图片压缩方法同样适用于除PNG格式、JPG格式以外的其他格式的 图片的压缩。 _

[0031] 结合图1,下面对本发明实施例中的图片压缩方法进行详细介绍。该方法的执行主 体为服务器,该服务器可以为远程服务器或本地服务器,服务器上存储有程序代码,该服务 器的处理器执行程序代码以实现本发明实施例中的图片压缩方法。

[0032] 101、获取多个图片;

[0033] 服务器获取多个需要压缩的图片。

[0034] 可选的,服务器获取图片的方式可以为:由服务器提供图片上传网页,用户可以通 过该网页上传需要压缩的图片至服务器。

[0035]此种方式下的应用场景图如图2所示,其中包括服务器和用户终端,服务器和用户 终端之间通过网络连接。用户终端为用户所在的终端设备,该终端设备可以为个人电脑 (Personal Computor,PC)、平板电脑、手机等终端设备;服务器可以为远程服务器或本地服 务器。

[0036]具体的应用场景为:用户终端上的用户打开图片上传网页,将需要压缩的图片通 过网页网上至服务器,由服务器执行图片的压缩,压缩完成后,服务器再将经过压缩的图片 发送回用户终端。

[0037] 具体的,服务器通过网页获取用户上传的需要压缩的图片的过程包括:服务器通 过html5拖拽应用程序接口(html5drag API)获取用户上传的多个图片文件或压缩包文件, 从所述多个图片文件或所述压缩包文件中获得所述多个需要压缩的图片。下面结合图3、图 4和图5进行详细介绍。

[0038] 图3为服务器侧获取图片的流程示意图。

[0039] 301、获取通过html5drag API批量拖入的图片文件或压缩包;

[0040] 服务器提供图片上传网页,该网页提供以html5为载体的图片拖拽上传功能。当用 户将需要压缩的图片文件退拽至上传界面时,此时触发网页调用html5拖拽应用程序接口 (html5drag API)获取用户上传的文件。

[0041] 可选的,用户每拖拽一次,上传的文件可以是单个的图片,也可以是多个图片,还 可以是包含多个图片的压缩包文件。

[0042] 302、调用html5filereader api读取文件名及后缀分析出不同的文件格式;

[0043] 之后,网页调用html5filereader api读取拖拽的图片文件或压缩包中的图片的 图片格式。具体的,如果是若是图片文件,则直接读取图片文件名和后缀分析出图片文件的 格式,若是压缩包,则解压压缩包,从压缩包中获取图片文件,根据图片文件名和后缀分析 出图片文件的格式。

[0044] 303、调用html5filereader api将拖拽的图片文件或压缩包上传到服务器。

[0045] 分析芫格式后,再调用html5filereader api将图片文件或压缩包中的图片上传 到服务器。

[0046] 可选的,可以按照图片的格式的不同,将不同格式的图片上传至不同的服务器进 行处理。

[0047] 如图4所示,N个用户终端(用户终端1、用户终端2……用户终端N)通过网络与多个 图片压缩服务器连接,不同的服务器上存储有对不同格式的图片的压缩应用程序,例如:A 服务器上存储有压缩JPG格式图片的应用程序,用于压缩JPG格式的图片;B服务器上存储有 压缩PNG格式图片的应用程序,用于压缩PNG格式的图片;C服务器上存储有压缩除JPG和PNG 格式以外的图片(例如WebP格式、GIF格式、JBIG格式、BMP格式等图片格式)的应用程序,用 于压缩除JPG和PNG格式以外的图片。当用户N在用户终端N上上传的图片中包括JPG、PDF图 片时,上传时,会将JPG格式的图片发送至服务器A,将PNG格式的图片发送至服务器B。

[0048]可选的,还可以按照图片的格式的不同,将不同格式的图片或发送至同一台服务 器中的不同应用程序接口,由不同的应用程序对不同格式的图片进行压缩处理。

[0049] 如图5所示,N个用户终端(用户终端1、用户终端2……用户终端N)通过网络与同一 个图片压缩服务器A连接,该服务器A上存储有对不同格式的图片的压缩应用程序,包括:用 于压缩JPG格式图片的应用程序、用于压缩PNG格式图片的应用程序、用于压缩其他格式的 图片的应用程序(例如:WebP格式、GIF格式、JBIG格式、BMP格式等图片格式)。当用户1在用 户终端1上上传的图片中包括JPG、PDF图片时,上传时,会将JPG格式的图片发送至服务器A, 将PNG格式的图片同样发送至服务器A。

[0050] 为了便于理解,图6至图7示出了通过网页上传待压缩的图片的界面元素的一种示 意图。

[0051] 上传界面示意图如图6所示,包括以下元素:待上传文件呈现区域a、发送按钮b、拖 拽上传区域c。

[0052] 拖拽过程的界面示意图如图7所示,将图片文件拖拽上传至上传界面后,图片开始 上传,上传完后,将图片文件缓存于用户终端本地。

[0053] 待需要压缩的图片文件或压缩文件上传完成后,用户点击“发送”按钮时,再将图 片文件上传至服务器。

[0054] 需要说明的是,图6至图7为本发明实施例中的通过网页上传待压缩的图片的界面 一种元素示意图,并不对本发明构成限定,上传过程以及上传界面中的具体元素可以根据 实际的产品功能需求及UI设计进行调整,例如:无需“发送”按钮,而是需要压缩的文件上传 完成后,服务器即可获得该需要压缩的文件。

[0055]可选的,服务器获取图片的方式除了通过网页获取外,还可以是:用户将需要压缩 的图片文件或压缩包存储至服务器能访问的某个文件目录,服务器通过执行应用程序,从 该文件目录下获取所述需要压缩的图片文件或压缩包。

[0056]同样,在此种情况下,若是图片文件,则直接读取图片文件名和后缀分析出图片文 件的格式,若是压缩包,则解压压缩包,从压缩包中获取图片文件,根据图片文件名和后缀 分析出图片文件的格式。

[0057] 102、对每个图片进行有损压缩获得有损压缩图片;

[0058]服务器在获取到多个图片后,对每个图片进行压缩,压缩的步骤包括有损压缩和 无损压缩。

[0059]下面对JPG格式和PNG格式的有损压缩进行介绍。、

[0060]有损压缩的原理为将图片中重要的信息和不重要的信息分开,过滤掉不重要的信 息,再重新编码保存。

[0061]结合图8,本发明实施例中的JPG格式的有损压缩包括以下几个步骤:

[0062] 801、对所述图片进行颜色模式转换及采样获得YCbCr图像数据;

[0063]本发明可以采用JPEG算法对JPG格式的图片进行有损压缩。

[00M]想要用JPEG基本压缩法处理全彩色图像,得先把RGB颜色模式图像数据,转换为 YCbCr颜色模式的数据。RGB色彩系统是最常用的表示颜色的方式,开部采用的是YCbCr色彩 系统,YCbCr能区分图片中重要的信息和不重要的信息,其中Y代表亮度,(^和&则代表色 度、饱和度。对于人眼来说,图像中明暗的变化更容易被感知到。

[0065] 802、对所述YCbCr图像数据进行离散余弦变换(Discrete cosine Transform, DCT)获得频率数据;

[0066] DCT变换是指将一组光强数据转换成频率数据,以便得知强度变化的情形。若对高 频的数据做些修饰,再转回原来形式的数据时,显然与原始数据有些差异,但是人的眼睛却 是不容易辨认出来。

[0067] 在将RGB颜色模式图像数据转换成YCbCr颜色模式的数据后,每一个8*8的图像块, 在数据上表现为3个8*8的矩阵,之后,再对这三个矩阵做DCT转换,获得频率数据,每一个8* 8的图像块都变成了三个8*8的浮点数矩阵,分别表示Y,Cr,Cb数据。

[0068] 803、对所述频率数据进行量化获得量化后的数据; _9]图像数据转换为频率数据后,再接受一项量化程序,才能进入编码阶段。量化阶段 需要两个8*8矩阵数据,一个是专门处理亮度的频率系数,另一个则是针对色度的频率系 数,将频率系数除以量化矩阵的值,取得与商数最近的整数,即完成量化。

[0070] 当频率系数经过量化后,将频率系数由浮点数转变为整数,以便于执行最后的编 码。不过,经过量化阶段后,所有数据只保留整数近似值,也就损失了一些数据内容,以确保 在可以损失一部分精度的情况下,利用更少的空间存储这些浮点数。

[0071] 804、通过对所述量化后的数据进行编码,获得所述有损压缩图片;

[0072] 在获得量化后的数据后,再进行编码。可选的,编码可以采用哈弗曼编码 (Huffman)编码。

[0073] 经过编码后,可以将JPG文件编码为适用于移动终端的质量的低体积的图片,其 中,适用于移动终端的质量一般质量为30左右即可。

[0074] 结合图9,本发明实施例中的PNG格式的有损压缩包括以下几个步骤:

[0075] 901、对图片进行颜色模式转换及采样获得YCbCr图像数据;

[0076] RGB色彩系统是最常用的表示颜色的方式,JPEG采用的是YCbCr色彩系统。想要用 JPEG基本压缩法处理全彩色图像,得先把RGB颜色模式图像数据,转换为YCbCr颜色模式的 数据。Y代表亮度,Cb和Cr则代表色度、饱和度。

[0077] 人的眼晴对低频的数据比对高频的数据具有更高的敏感度,事实上,人的眼睛对 亮度的改变也比对色彩的改变要敏感得多,也就是说Y成份的数据是比较重要的。既然Cb成 份和Cr成份的数据比较相对不重要,就可以只取部分数据来处理,以增加压缩的比例。JPEG 通常有两种采样方式:YUV411和YUV422,它们所代表的意义是Y、Cb和Cr三个成份的数据取 样比例。

[0078] 902、分析YCbCr图像数据中每个像素的相邻颜色值;

[0079] PNG格式的图片具有根据左、上的相邻像素推测像素的能力,通过遍历扫描二进制 数据分析推测记录每个像素的相邻颜色值。

[0080] 903、去除每个像素的相邻颜色值的多余色获得去除相近色值后的图像数据;

[0081] 根据分析每个像素的相邻颜色值的结果,去除和本定位像素颜色相近的颜色值, 即去除多余色,以获得去除相近色值后的图像数据。

[0082] 904、将去除相近色值后的图像数据减至8位色值;

[0083] PNG格式的图片根据图片大小的不同有32位、24位、8位等多种形式,其中8位色值 的PNG图片体积最小。因此,将去除相近色值后的图像数据模糊匹配颜色值为仅8位的颜色。

[0084] 905、通过对8位色值图像数据编码,获得有损压缩图片。

[0085] 在将图像数据减至8位色值后,再进行编码。

[0086] 可选的,编码可以采用哈弗曼(Huffman)编码,还可以使用其他的编码算法。

[0087] 在有损压缩过程中,对JPG格式图片的量化步骤803以及对PNG格式图片的去除多 余色步骤903和减至8位色值的步骤904是过滤掉了图片信息中不重要的部分,因此会有图 片信息的损失,能够提高压缩的比例,但又不会影响图片在移动终端的呈现效果。

[0088] 103、对有损压缩图片进行无损压缩获得目标压缩图片。

[0089] 为了能够进一步提高压缩比例,在对图片进行有损压缩后,再进行无损压缩。

[0090] 无损压缩与有损压缩的区别在于,不去除多余的颜色值。

[0091]无损压缩算法可行的基本原理是,任意一个非随机文件都含有重复数据,这些重 复数据可以通过用来确定字符或短语出现概率的统计建模技术来压缩。统计模型可以用来 为特定的字符或者短语生成代码,基于它们出现的频率,配置最短的代码给最常用的数据。 这些技术包括熵编码(entropy encoding)、游程编码(run-length encoding)以及字典压 缩。运用这些技术以及其它技术,一个8-bit长度的字符或者字符串可以用很少的bit来表 示,从而大量的重复数据被移除。

[0092] 本发明实施例中,在获得有损压缩图片后,可以再通过无损压缩算法对图片进行 无损压缩。无损压缩算法包括但不限于如下几种:

[0093] 1、哈弗曼编码

[0094] 哈弗曼编码对较高出现概率的符号使用较短编码,较低出现概率的符号使用较长 的编码。

[0095] 2、游长编码

[0096] 游长编码利用图像中的重复像素值,把重复出现的多个字符替换为重复次数外加 字符。该方法主要的思想在于使用一个起始像素代表具有相同值的一连续像素串,用一整 数代表这个串的长度。游长编码非常适合数据重复度比较高的数据。

[0097]下面是游长编码的一个简单例子:

[0098] 输入:

[0099] AAABBCCCCDEEEEEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

[0100] 输出:

[0101] 3A2B4C1D6E38A

[0102] 3、游长编码+哈弗曼编码

[0103]先对原始图像进行游长编码压缩,然后再对压缩图像使用哈弗曼编码再压缩。 [0104] 4、算术编码(arithmetic code)

[0105]算术编码是对具有变化长度的符号块分配变化长度的编码。一个基本的计算 arithmetic code算法如下:

[0106]计算输入数据里面不同字符的个数。这个数字记为base b (比如base 2代表2—进 制)。

[0107]按字符出现的顺序分别给每一个字符分配一个〇到匕之间的值。

[0108]使用步骤2中德值,把输入中的字符替换为对应的数字(编码)。

[0109]把步骤3中得到的结果从b进制转化为2进制。

[0110]如果解码需要的话,记录输入的字符总个数。

[0111]下面是一个编码操作的例子,输入为” ABCDAABD” :

[0112]找到共有4个不冋的字符输入,base = 4,length = 8。

[0113]按出现顺序为不同的字符赋值:A=0,B = 1,C=2,D = 3。

[0114]用编码替换字符,得到“〇.〇123〇0134”,注意最前面的”〇•”是为了得到小数而加上 去的。最后的4表示base = 4。

[0115]把“0.012300134”从4进制转化为2进制,得到“0_011011000001112”。最后的2表示 base — 2 〇

[0116] 在结果中标识输入的总字符数为8。

[0117]假设字符为8个bit表示,输入共需要糾个bit空间,然而对应的算术编码只有15个 bit,压缩比为24%,效果显著。

[0118] 5、串表压缩(Lempel-Ziv_Welch,LZW)编码

[0119] LZW编码是一种基于字典算法的压缩方法,实际上是一种用地址来指代信息的方 法,一个像素序列若经常出现的话,就可以表示为一个索引信息。

[0120] 6、JPEG无损压缩模式

[0121] JPEG无损压缩模式将预测过程与哈弗曼编码或算术编码相结合,假设在一幅图像 中,像素X的相邻像素a,b,c己经已知,可以用JPEG标准中白用的8个方程式来预测X的像素 值,再将像素的预测值与实际输入值的差距进行哈夫曼编码或算术编码就达到了压缩图像 的目的。

[0122] 7、简单线性迭代聚类(simple linear iterative cluster,SLIC)算法

[0123] SLIC算法的思想是先将输入的图像分解为几个不同的部分,然后再用JBIG压缩这 些部分。图像在经过处理后分为三个部分:差错图像数据部分,不连续索引图像数据部分和 高位种子数据部分,前两个采用JBJG标准编码,第三部分不经压缩直接存储。

[0124] 8、LZ77 算法

[0125] LZ77是典型的基于字典的压缩算法,LZ77算法通过使用编码器或者解码器中己经 出现过的相应匹配数据信息替换当前数据从而实现压缩功能。这个匹配信息使用称为长 度-距离对的一对数据进行编码,它等同于“每个给定长度个字符都等于后面特定距离字符 位置上的未压缩数据流。”

[0126]在无损压缩过程中,对经过有损压缩的图片进一步通过无损压缩算法编码,从而 能够进一步降低图片的大小。

[0127]可选的,在对多个图片中的每个图片进行压缩,获得每个图片对应的目标压缩图 片,从而获得多个目标压缩图片后,可以导出压缩后的文件。

[0128]导出的过程可以是:在获得多个目标压缩图片后,将所述多个目标压缩图片下载 至系统预设的目标文件目录,例如:系统预设的目标文件目录为:D: \我的文S\D〇wnl〇ads。 [0129]具体的,在获得多个目标压缩图片后,遍历压缩后的目标压缩图片,采用PHP的方 式将多个目标压缩图片压缩成ZIP压缩包或RAR压缩包,再将压缩包自动下载至系统预设的 目标文件目录。

[0130]可选的,经过压缩后的每个图片可以按原图片的文件格式输出。可选的,用户也可 以设定输出的图片的文件格式,按照用户设定的图片文件格式输出。

[0131]本发明实施例中,通过对移动端的各种格式图片进行有损压缩后再进行无损压 缩,能够完整优化压缩移动端各种格式图片,提高各种格式的图片的压缩比率。例如:使jpg 格式的图片优化为质量在30左右的图片并再次使用无损压缩;使png图片模拟为8位颜色值 图片,压缩前和压缩后在视觉呈现上在移动端分辨不出差异。采用本发明实施例中的有损 压缩与无损压缩混合压缩的方式,使得图片平均压缩率达7〇%。从而能够缩小移动端图片 的大小,提升用户在移动终端打开页面的速度。

[0132]进一步,本发明实施例并不是单个单个的处理图片,而是通过html5优化工具能够 将各种格式图片批量导入,批量对图片进行压缩处理,并将压缩后的各种格式图片批量导 出,因此,本发明实施例能够提高图片压缩效率,解决移动端开发压缩图片繁琐,效率低的 问题。

[0133]以上是对本发明实施例中的方法实施例的介绍,下面从功能模块角度对本发明实 施例中的图片压缩装置进行介绍。

[0134]本发明实施例中的图片压缩装置,具体实现对应于上述图片压缩方法的功能。所 述功能可以通过硬件实现,也可以通过硬件执行相应的软件程序实现,硬件和软件包括一 个或多个与上述功能相对应的单元模块,所述单元模块可以是软件和/或硬件。

[0135]从功能模块结构角度来说,本发明实施例中的图片压缩装置所具有的功能还可以 通过专用集成电路(英文:application-specific integrated circuit,简称:ASIC)实现, 或可编程逻辑器件(英文programmable logic device,简称:PLD)实现。上述PLD可以是复 杂可编程逻辑器件(英文:complex programmable logic device,简称:CPLD),FPGA,通用 阵列逻辑(英文:generic array logic,简称:GAL)或其任意组合。

[0136]具体的,如图10所示,本发明实施例中的图片压缩装置包括:

[0137] 图片获取单元1001,用于获取多个图片;

[0138] 有损压缩单元1002,用于针对多个图片中的每个图片,对图片进行有损压缩获得 有损压缩图片;

[0139]无损压缩单元1003,用于对有损压缩图片进行无损压缩获得目标压缩图片。

[0140] 可选的,在一些具体的实施中,该装置还包括:

[0141]下载单元1004,用于获得多个图片对应的多个目标压缩图片,将多个目标压缩图 片下载至目标文件目录。

[0142]可选的,在一些具体的实施中,若图片格式为JPG格式,则有损压缩单元1002具体 用于:

[0143] 对图片进行颜色模式转换及采样获得YCbCr图像数据;对YCbCr图像数据进行离散 余弦变换DCT获得频率数据;对频率数据进行量化获得量化后的数据;通过对量化后的数据 进行编码,获得有损压缩图片。

[0144] 可选的,在一些具体的实施中,若图片格式为PNG格式,则有损压缩单元1002具体 用于:

[0145] 对图片进行颜色模式转换及采样获得YCbCr图像数据;分析YCbCr图像数据中每个 像素的相邻颜色值,去除每个像素的相邻颜色值的多余色获得去除相近色值后的图像数 据;将去除相近色值后的图像数据减至8位色值,获得8位色值的图像数据;通过对8位色值 图像数据编码,获得有损压缩图片。

[0146] 可选的,在一些具体的实施中,无损压缩单元1003,具体用于通过无损压缩算法对 有损压缩图片进行无损压缩获得目标压缩图片,无损压缩算法包括哈弗曼编码、游长编码、 算术编码、串表压缩编码、JPEG无损压缩、简单线性迭代聚类SLIC算法或LZ77算法中的一种 或多种。

[0147] 可选的,在一些具体的实施中,图片获取单元1001,具体用于通过html5拖拽应用 程序接口获取用户上传的多个图片文件或压缩包文件;从多个图片文件或压缩包文件中获 得多个图片。

[0148] 本发明实施例中的图片获取单元1001、有损压缩单元1002、无损压缩单元1003以 及下载单元1004之间的信息交互请参阅上述方法实施例(图1至图9所示的实施例)中的描 述,具体此处不再赘述。

[0149]此外,本发明还提供一种计算机存储介质,该介质存储有应用程序,该程序执行时 包括上述图片压缩方法(图1到图9所示的实施例)中的部分或者全部步骤。

[0150]在实际应用中,本发明实施例中的计算机存储介质具体可以是服务器中的存储 器,具体由服务器中的处理器执行所述存储器中存储的应用程序来实现本发明实施例中的 图片压缩方法。下面从硬件结构的角度对本发明实施例中的服务器进行介绍。

[0151]图11是本发明实施例提供的一种服务器结构示意图,该服务器11〇〇可因配置或性 能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing uni ts,CPU) 1122 (例如,一个或一个以上处理器)和存储器1130。其中,存储器1130上存储有 一个或一个以上存储应用程序1142、数据1144和一个或一个以上操作系统1141,存储在存 储器1130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器 中的一系列指令操作。更进一步地,中央处理器1122可以设置为与存储器1130通信,在服务 器1100上执行存储器1130中的一系列指令操作。

[0152] 其中,操作系统 1141 可以是例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM等等。

[0153] 服务器1100还可以包括一个或一个以上电源1126,一个或一个以上有线或无线网 络接口 1150,一个或一个以上输入输出接口 1158。

[0154]上述实施例中由服务器所执行的步骤可以基于该图11所示的服务器结构。

[0155]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统, 装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

[0156] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以 通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的 划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件 可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或 讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦 合或通信连接,可以是电性,机械或其它的形式。

[0157] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显 示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个 网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目 的。

[0158] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以 是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单 元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

[0159] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用 时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上 或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式 体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机 设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全 部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程 序代码的介质。

[0160]以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前 述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前 述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些 修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精祌和范围。

Claims (12)

1. 一种图片压缩方法,其特征在于,包括: 获取多个图片; 针对所述多个图片中的每个图片,对所述图片进行有损压缩获得有损压缩图片,对所 述有损压缩图片进行无损压缩获得目标压缩图片。
2. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 获得所述多个图片对应的多个目标压缩图片; 将所述多个目标压缩图片下载至目标文件目录。
3. 根据权利要求1或2所述的方法,其特征在于,若所述图片格式为JPG格式,则所述对 所述图片进行有损压缩获得有损压缩图片包括: 对所述图片进行颜色模式转换及采样获得YCbCr图像数据; 对所述YCbCr图像数据进行离散余弦变换DCT获得频率数据; 对所述频率数据进行量化获得量化后的数据; 通过对所述量化后的数据进行编码,获得所述有损压缩图片。
4. 根据权利要求1或2所述的方法,其特征在于,若所述图片格式为PNG格式,则所述对 所述图片进行有损压缩获得有损压缩图片包括: 对所述图片进行颜色模式转换及采样获得YCbCr图像数据; 分析所述YCbCr图像数据中每个像素的相邻颜色值,去除每个像素的相邻颜色值的多 余色获得去除相近色值后的图像数据; 将所述去除相近色值后的图像数据减至8位色值,获得8位色值的图像数据; 通过对所述8位色值图像数据编码,获得所述有损压缩图片。
5. 根据权利要求1或2所述的方法,其特征在于,对所述有损压缩图片进行无损压缩获 得目标压缩图片包括: 通过无损压缩算法对所述有损压缩图片进行无损压缩获得所述目标压缩图片,所述无 损压缩算法包括哈弗曼编码、游长编码、算术编码、串表压缩编码、jpeg无损压缩、简单线性 迭代聚类SLIC算法或LZ77算法中的一种或多种。
6. 根据权利要求1或2所述的方法,其特征在于,所述获取多个图片包 通过html5拖拽应用程序接口获取用户上传的多个图片文件或压缩包文件; 从所述多个图片文件或所述压缩包文件中获得所述多个图片。
7. —种图片压缩装置,其特征在于,包括: 图片获取单元,用于获取多个图片; _ 有损压缩单元,用于针对所述多个图片中的每个图片,对所述图片进行有损压缩获得 有损压缩图片; 无损压缩单元,用于对所述有损压缩图片进行无损压缩获得目标压缩图片。
8. 根据权利要求7所述的装置,其特征在于,所述装置还包括: 下载单元,用于获得所述多个图片对应的多个目标压缩图片,将所述多个目标压缩图 片下载至目标文件目录。
9. 根据权利要求7或8所述的装置,其特征在于, 若所述图片格式为JPG格式,则所述有损压缩单元具体用于:对所述图片进行颜色模式 转换及采样获得YCbCr图像数据;对所述YCbCr图像数据进行离散余弦变换DCT获得频率数 据;对所述频率数据进行量化获得量化后的数据;通过对所述量化后的数据进行编码,获得 所述有损压缩图片。
10. 根据权利要求7或8所述的装置,其特征在于, 若所述图片格式为PNG格式,则所述有损压缩单元具体用于:对所述图片进行颜色模式 转换及采样获得YCbCr图像数据;分析所述YCbCr图像数据中每个像素的相邻颜色值,去除 每个像素的相邻颜色值的多余色获得去除相近色值后的图像数据;将所述去除相近色值后 的图像数据减至8位色值,获得8位色值的图像数据;通过对所述8位色值图像数据编码,获 得所述有损压缩图片。
11. 根据权利要求7或8所述的装置,其特征在于, 所述无损压缩单元,具体用于通过无损压缩算法对所述有损压缩图片进行无损压缩获 得所述目标压缩图片,所述无损压缩算法包括哈弗曼编码、游长编码、算术编码、串表压缩 编码、JPEG无损压缩、简单线性迭代聚类SLIC算法或LZ77算法中的一种或多种。
12. 根据权利要求7或8所述的装置,其特征在于, 所述图片获取单元,具体用于通过html5拖拽应用程序接口获取用户上传的多个图片 文件或压缩包文件;从所述多个图片文件或所述压缩包文件中获得所述多个图片。
CN201611062367.1A 2016-11-24 2016-11-24 一种图片压缩方法及装置 CN108111858B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611062367.1A CN108111858B (zh) 2016-11-24 2016-11-24 一种图片压缩方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611062367.1A CN108111858B (zh) 2016-11-24 2016-11-24 一种图片压缩方法及装置

Publications (2)

Publication Number Publication Date
CN108111858A true CN108111858A (zh) 2018-06-01
CN108111858B CN108111858B (zh) 2020-06-05

Family

ID=62204541

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611062367.1A CN108111858B (zh) 2016-11-24 2016-11-24 一种图片压缩方法及装置

Country Status (1)

Country Link
CN (1) CN108111858B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109815237A (zh) * 2019-01-18 2019-05-28 清华大学 针对最短路的图数据冗余边识别方法、压缩方法及装置

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1610377A (zh) * 2004-11-16 2005-04-27 浙江大学 用于压缩16位彩色图像的颜色空间变换的方法
CN1694486A (zh) * 2004-04-30 2005-11-09 微软公司 多级图像的适应性压缩
CN101068352A (zh) * 2007-06-08 2007-11-07 中兴通讯股份有限公司 一种网络图像的压缩方法和系统
CN101217668A (zh) * 2008-01-14 2008-07-09 浙江大学 基于块分类的混合图像压缩方法
CN101888545A (zh) * 2010-05-27 2010-11-17 北京华信新媒技术有限公司 一种低码率信源压缩编码方法
CN101996055A (zh) * 2009-08-10 2011-03-30 佳能株式会社 数据处理装置和数据处理方法
CN102088604A (zh) * 2011-02-10 2011-06-08 深圳创维数字技术股份有限公司 一种影片缩略图的压缩方法及压缩装置
CN102202217A (zh) * 2010-03-22 2011-09-28 北京中星微电子有限公司 一种jpeg编码方法和设备
CN102957906A (zh) * 2011-08-29 2013-03-06 广州九游信息技术有限公司 图像分类压缩方法和系统
CN103209326A (zh) * 2013-03-29 2013-07-17 惠州学院 一种png图片的压缩方法
CN103826028A (zh) * 2012-11-19 2014-05-28 腾讯科技(深圳)有限公司 一种无损压缩图片的方法和装置
US20140212033A1 (en) * 2011-12-05 2014-07-31 Guangzhou Ucweb Computer Technology Co., Ltd. Image compression mehtod, image compression device and mobile terminal
CN104142924A (zh) * 2013-05-06 2014-11-12 中国移动通信集团福建有限公司 一种动画图片格式的压缩方法和装置
CN105491398A (zh) * 2014-09-19 2016-04-13 腾讯科技(深圳)有限公司 图片处理方法、图片处理装置以及图片处理平台
CN106027608A (zh) * 2016-05-05 2016-10-12 武汉斗鱼网络科技有限公司 一种图片上传方法、客户端及服务器

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1694486A (zh) * 2004-04-30 2005-11-09 微软公司 多级图像的适应性压缩
CN1610377A (zh) * 2004-11-16 2005-04-27 浙江大学 用于压缩16位彩色图像的颜色空间变换的方法
CN101068352A (zh) * 2007-06-08 2007-11-07 中兴通讯股份有限公司 一种网络图像的压缩方法和系统
CN101217668A (zh) * 2008-01-14 2008-07-09 浙江大学 基于块分类的混合图像压缩方法
CN101996055A (zh) * 2009-08-10 2011-03-30 佳能株式会社 数据处理装置和数据处理方法
CN102202217A (zh) * 2010-03-22 2011-09-28 北京中星微电子有限公司 一种jpeg编码方法和设备
CN101888545A (zh) * 2010-05-27 2010-11-17 北京华信新媒技术有限公司 一种低码率信源压缩编码方法
CN102088604A (zh) * 2011-02-10 2011-06-08 深圳创维数字技术股份有限公司 一种影片缩略图的压缩方法及压缩装置
CN102957906A (zh) * 2011-08-29 2013-03-06 广州九游信息技术有限公司 图像分类压缩方法和系统
US20140212033A1 (en) * 2011-12-05 2014-07-31 Guangzhou Ucweb Computer Technology Co., Ltd. Image compression mehtod, image compression device and mobile terminal
CN103826028A (zh) * 2012-11-19 2014-05-28 腾讯科技(深圳)有限公司 一种无损压缩图片的方法和装置
CN103209326A (zh) * 2013-03-29 2013-07-17 惠州学院 一种png图片的压缩方法
CN104142924A (zh) * 2013-05-06 2014-11-12 中国移动通信集团福建有限公司 一种动画图片格式的压缩方法和装置
CN105491398A (zh) * 2014-09-19 2016-04-13 腾讯科技(深圳)有限公司 图片处理方法、图片处理装置以及图片处理平台
CN106027608A (zh) * 2016-05-05 2016-10-12 武汉斗鱼网络科技有限公司 一种图片上传方法、客户端及服务器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109815237A (zh) * 2019-01-18 2019-05-28 清华大学 针对最短路的图数据冗余边识别方法、压缩方法及装置
CN109815237B (zh) * 2019-01-18 2021-01-05 清华大学 针对最短路的图数据冗余边识别方法、压缩方法及装置

Also Published As

Publication number Publication date
CN108111858B (zh) 2020-06-05

Similar Documents

Publication Publication Date Title
US10127498B2 (en) Utilizing spatial probability models to reduce computational resource and memory utilization
Douak et al. Color image compression algorithm based on the DCT transform combined to an adaptive block scanning
US10701374B2 (en) Digital image recompression
US7415154B2 (en) Compression of palettized color images with variable length color codes
RU2321063C2 (ru) Система и способ последовательного преобразования и кодирования цифровых данных
US6009201A (en) Efficient table-lookup based visually-lossless image compression scheme
KR100868716B1 (ko) 컬러 이미지 인코딩을 위한 방법, 시스템 및 소프트웨어제품
US20120076401A1 (en) Image classification employing image vectors compressed using vector quantization
Starosolski New simple and efficient color space transformations for lossless image compression
KR20060047631A (ko) 멀티-레벨 이미지의 적응 압축 용이 방법
KR101461209B1 (ko) 2d 매트릭스들에 인코딩 파라미터들을 저장하는 이미지 압축을 위한 방법 및 장치
JP5111583B2 (ja) デジタル病理スライドの染色による最適化圧縮
Wiseman The still image lossy compression standard-JPEG
WO2011112726A1 (en) Real-time multi-block lossless recompression
CN103582883A (zh) 具有组格式的可变长度数据的改进型编码和解码
WO1997007599A1 (en) Data compression method
CN106170921B (zh) 涉及符号压缩的数据的源编码和解码方法及装置
JP2015509294A (ja) 標準低品質(ウェブ)画像フォーマットを用いた高品質(医療)画像の符号化
Artusi et al. JPEG XT: A compression standard for HDR and WCG images [standards in a nutshell]
CN102821279A (zh) 一种保留alpha通道的图片压缩方法
CN103458460B (zh) 对信号数据进行压缩和解压缩的方法和装置
JP6703032B2 (ja) 後方互換性拡張画像フォーマット
Wang et al. Hybrid image coding based on partial fractal mapping
US20130114910A1 (en) Method for compressing/decompressing a three-dimensional mesh
JP2012511870A (ja) 単一命令複数ティスパッチ命令を使用するリモートデスクトッププロトコル圧縮アクセラレーション

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant