一种移动端即时通讯中的图片压缩方法

文档序号:7795430阅读:202来源:国知局
一种移动端即时通讯中的图片压缩方法
【专利摘要】本发明提供了一种移动端即时通讯中的图片压缩方法,该方法应用于包括至少一个发送客户端、至少一个接收客户端、以及服务器系统,所述方法包括如下步骤:a)所述发送客户端判断需要发送的图片的大小是否超过阈值,是则进入步骤c;否则进入步骤b;b)所述发送客户端以原尺寸向服务器系统传送图片,所述方法结束;c)所述发送客户端将要发送的图片进行压缩前的快照预处理;d)所述发送客户端将预处理后的图片进行压缩;e)所述发送客户端经服务器系统向接收客户端转发经过步骤d处理后的图片,同时在发送客户端显示该处理后的图片;f)所述接收客户端收到处理后的图片,在其客户端上显示图片。
【专利说明】—种移动端即时通讯中的图片压缩方法
【技术领域】
[0001]本发明涉及图像处理领域,特别是一种移动端即时通讯中的图片压缩方法。
【背景技术】
[0002]即时通讯服务是一种可以让使用者在网络上建立某种私人聊天室的实时通讯服务。目前,即时通讯服务已经在互联网上得到了广泛的应用和认可。用户通过即时通讯工具,能够实现即时对话,增进了用户与好友之间的互动,增强了交流趣味性。最开始的即时通讯软件只能发送文本消息,然而现在文本消息已经远远不能满足用户的需求。用户除了通过即时通讯工具进行在线文字、视频聊天,还可以通过传送图片等方式与好友进行交流。
[0003]随着移动互联网技术、移动终端应用的不断发展,应用于诸如手机、平台电脑等移动端的即时通讯应用程序的使用变得越来越普遍。然而,由于移动端的通信网络经常是传输速率较低的网络,在传输数据量较大的场合下往往速度较慢,体验不好。特别是,在很多时候用户聊天过程中传送图片消息时,由于传送的图片尺寸过大,导致图片传输时间过长,影响了即时通讯的实时性,使用户的即时通讯体验变得不好。此外,由于移动端受屏幕尺寸所限,只能呈现有限尺寸大小的图片文件,因此在移动端的即时通讯中若传输尺寸过大的图片,也会为用户带来不必要的流量的浪费。
[0004]为了克服上述缺陷,现有的一种处理方法为,先利用例如JPEGEncoderMP等图片压缩技术对图片进行压缩处理,然后再进行图片传送。然而,对于移动端的显示屏来说,通过这种方式处理后的图片仍然过大,即在移动端即时通讯中无法利用应用于PC端的压缩要求来处理图片。
[0005]因此,需要一种移动端即时通讯中的图片压缩方法,来更高效地压缩图片,提高用户体验。

【发明内容】

[0006]本发明的目的是提供一种移动端即时通讯中的图片压缩方法。所述方法应用于包括至少一个发送客户端、至少一个接收客户端、以及服务器系统,所述发送客户端以及接收客户端分别和所述服务器系统之间通过网络连接,所述方法包括如下步骤:a)所述发送客户端判断需要发送的图片的大小是否超过阈值,是则进入步骤c ;否则进入步骤b ;b)所述发送客户端以原尺寸向服务器系统传送图片,所述方法结束;c)所述发送客户端将要发送的图片进行压缩前的快照预处理;d)所述发送客户端将预处理后的图片进行压缩;e)所述发送客户端经服务器系统向接收客户端转发经过步骤d处理后的图片,同时在发送客户端显示该处理后的图片;f)所述接收客户端收到处理后的图片,在其客户端上显示图片。
[0007]优选地,所述步骤a中的所述阈值根据所述发送客户端当前接入的网络状况或网络类型进行设定。
[0008]优选地,所述步骤c中的快照预处理是将原始的图片在所设定的分辨率下进行快照方式的抓取处理。[0009]优选地,所述分辨率是200dpi至300dpi。
[0010]优选地,所述步骤c中的快照预处理应用于flash环境中时,通过将压缩之前的原始图片放入sprite对象中,再使用位图的draw方法画出图片,实现所述快照预处理。
[0011]优选地,所述步骤d中将图片压缩成以二进制流形式存储的图片。
[0012]优选地,在所述步骤d进行压缩时将目标图片的尺寸调制至适配于在移动终端上的app应用对话框内进行显示。
[0013]优选地,采用JPEGEncoderMP压缩方式对图片进行压缩,得到图片的二进制流ByteArray0
[0014]利用本发明,能够在即时通讯中使移动端大尺寸图片压缩到一个理想状态,明显节约用户在移动状态下的手机流量,同时也为后续的图片上传节约了服务器的存储空间及传输时间,从而减少硬件的投入。
【专利附图】

【附图说明】
[0015]参考随附的附图,本发明更多的目的、功能和优点将通过本发明实施方式的如下描述得以阐明,其中:
[0016]图1示意性示出了根据本发明的产品的系统框图。
[0017]图2示意性示出了本发明的移动端即时通讯中的图片压缩方法的流程图。
【具体实施方式】
[0018]通过参考示范性实施例,本发明的目的和功能以及用于实现这些目的和功能的方法将得以阐明。然而,本发明并不受限于以下所公开的示范性实施例;可以通过不同形式来对其加以实现。说明书的实质仅仅是帮助相关领域技术人员综合理解本发明的具体细节。
[0019]在下文中,将参考附图描述本发明的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
[0020]图1示意性示出了应用根据本发明的移动端即时通讯中的图片压缩方法的系统框图。如图1所示:
[0021]应用本发明的移动端即时通讯中的图片压缩方法的系统100包括发送客户端110、接收客户端120、以及服务器系统130。发送客户端110以及接收客户端120分别和服务器系统130之间通过网络进行数据传输。出于示意性的目的,图1仅示出了两个客户端,即发送客户端110和接收客户端120,然而,可以理解的是在其他实施方式中,由于根据本发明的移动端即时通讯中的图片压缩方法可应用于多方会话(即群会话),因此系统100可以包括更多的客户端。
[0022]所述网络例如包括诸如内联网之类的局域网(“LAN”)和诸如互联网之类的广域网(“WAN”)。网络可被配置为支持利用多种协议设置格式的信息的传输。另外,网络可以是公共网络、专用网络或其组合。网络还可以利用任何一种或多种类型的物理介质来实现,其中包括与多个服务提供商相关联的有线通信路径和无线通信路径。无线通信方式例如WiFi或WLAN、GPRS、蜂窝网络,例如GSM网络、3G网络、LTE网络或CDMA网络等等。
[0023]发送客户端110以及接收客户端120优选以移动APP软件或web的方式运行在具有移动和计算功能的硬件终端上。所述移动APP是针对移动终端这种移动连接到互联网的业务或者无线网卡业务而开发的应用程序。所述硬件终端可以是智能电话、个人数字助理(PDA)、平板电脑、游戏机、多功能移动终端或者包括计算功能和数据通信能力的任何其他便携式设备。
[0024]发送客户端110可以经服务器系统130向接收客户端120发送即时消息。特别地,当发送的即时消息为图片时,发送客户端110通过图片压缩方法对图像进行压缩,向服务器系统130传送压缩后的图片,同时在本地显示该压缩后的图片。
[0025]服务器系统130用于将来自发送客户端110的即时消息(包括图片消息)向接收客户端120进行转发。
[0026]接受客户端120显示来自服务器系统130转发的即时消息。
[0027]图2示意性示出了本发明的移动端即时通讯中的图片压缩方法的流程图。如图2所示:
[0028]步骤210,发送客户端110判断需要发送的图片的大小是否超过阈值,是则进入步骤230 ;否则进入步骤220。
[0029]所述阈值可以根据发送客户端当前接入的网络状况或网络类型进行设定,例如在WiFi网络下设定的阈值可以较大,例如图片的文件大小为3M网络下可以将阈值设定得较小,例如图片的文件大小为1M。
[0030]步骤220,发送客户端110以原尺寸向服务器系统传送图片,方法结束。
[0031]步骤230,发送客户端110将图片进行压缩前的快照预处理。具体地,即将原始的图片在所设定的分辨率下进行快照方式的抓取处理,以处理为适于压缩算法进行压缩的格式。抓取的方式可以以所设定的显示分辨率进行,例如以200dpi至300dpi的分辨率进行抓取,以便在发送给接收客户端后具有良好的显示效果。
[0032]本发明的方法尤其适用于flash应用环境。根据本发明的一个实施例,当步骤230应用于flash环境中时,可以通过将压缩之前的原始图片放入sprite对象(flash中用户界面(UI)组件的逻辑基类)中,再使用位图(bitmap)的draw方法画出图片。其中,位图(bitmap)是flash对bitmap格式的图片的一种支持;
[0033]步骤240,发送客户端110将预处理后的图片进行压缩。压缩方式可以选用本领域常用的压缩算法,其目的是进一步将图片的文件大小缩小,以便于移动设备借助网络传输。优选地,将图片压缩成以二进制流形式存储的图片。更优选地,可以在压缩时将目标图片的尺寸调制至适配于在移动终端上的app应用对话框内进行显示。例如,可以设定为压缩后的图片大小为3cm*3cm的大小范围内。
[0034]根据本发明的一个实施例,当步骤240应用于flash环境中时,可以利用JPEGEncoderIMP压缩方式对图片进行压缩,得到图片的二进制流ByteArray。其中,JPEGEncoderIMP是在工具包JPEGEncoder的基础上利用f IashlO中提供的数据结构vector改写的增加了异步压缩的功能工具包,ByteArray是flash提供的对二进制流支持的一个数据类型。另外,JPEGEncoder是flash提供的把DisplayObject压缩成二进制流的一个工具包,而DisplayObject是址flash中可以显示的对象,比如loader, button, image
坐寸ο
[0035]步骤250,发送客户端110经服务器系统130向接收客户端120转发经过步骤240处理后的图片,同时在发送客户端110显示该处理后的图片。[0036]步骤260,接收客户端120收到处理后的图片,在其客户端上显示图片。
[0037]利用本发明,能够在即时通讯中使移动端大尺寸图片压缩到一个理想状态,明显节约用户在移动状态下的手机流量,同时也为后续的图片上传节约了服务器的存储空间及传输时间,从而减少硬件的投入。
[0038]结合这里披露的本发明的说明和实践,本发明的其他实施例对于本领域技术人员都是易于想到和理解的。说明和实施例仅被认为是示例性的,本发明的真正范围和主旨均由权利要求所限定。
【权利要求】
1.一种用于移动端即时通讯中的图片压缩方法,所述方法应用于包括至少一个发送客户端、至少一个接收客户端、以及服务器系统,所述发送客户端以及接收客户端分别和所述服务器系统之间通过网络连接,所述方法包括如下步骤: a)所述发送客户端判断需要发送的图片的大小是否超过阈值,是则进入步骤c;否则进入步骤b ; b)所述发送客户端以原尺寸向服务器系统传送图片,所述方法结束; c)所述发送客户端将要发送的图片进行压缩前的快照预处理; d)所述发送客户端将预处理后的图片进行压缩; e)所述发送客户端经服务器系统向接收客户端转发经过步骤d处理后的图片,同时在发送客户端显示该处理后的图片; f)所述接收客户端收到处理后的图片,在其客户端上显示图片。
2.如权利要求1所述的方法,其中所述步骤a中的所述阈值根据所述发送客户端当前接入的网络状况或网络类型进行设定。
3.如权利要求1所述的方法,其中所述步骤c中的快照预处理是将原始的图片在所设定的分辨率下进行快照方式的抓取处理。
4.如权利要求3所述的方法,其中所述分辨率是200dpi至300dpi。
5.如权利要求1所述的方法,其中所述步骤c中的快照预处理应用于flash环境中时,通过将压缩之前的原始图片放入sprite对象中,再使用位图的draw方法画出图片,实现所述快照预处理。
6.如权利要求1所述的方法,其中所述步骤d中将图片压缩成以二进制流形式存储的图片。
7.如权利要求1所述的方法,其中在所述步骤d进行压缩时将目标图片的尺寸调制至适配于在移动终端上的app应用对话框内进行显示。
8.如权利要求6所述的方法,其中采用JPEGEncoderIMP压缩方式对图片进行压缩,得到图片的二进制流ByteArray。
【文档编号】H04N19/112GK103796013SQ201410022139
【公开日】2014年5月14日 申请日期:2014年1月17日 优先权日:2014年1月17日
【发明者】马健 申请人:五八同城信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1