向计算终端提供图片数据的方法及服务器的制作方法

文档序号:7866708阅读:111来源:国知局
专利名称:向计算终端提供图片数据的方法及服务器的制作方法
技术领域
本发明涉及图像处理领域,具体涉及一种向计算终端提供图片数据的方法及服务器。
背景技术
随着移动设备的高速发展,移动设备的类型和功能也越来越丰富。目前,多数移动设备都提供有图片浏览功能,因此,越来越多的人通过移动设备来浏览图片。但是,由于移动设备本身的局限性,例如,硬件配置和网络带宽远不如一些固定设备(例如PC机),因此,采用移动设备浏览图片,尤其是浏览一些数据量较大的图片时,很容易出现图片加载缓慢甚至加载失败的情形。而且,由于图片的数据量较大,与浏览文字相比,浏览图片需要消耗更多的网络流量,但目前很多移动设备的网络流量都是有限度的,所以,频繁浏览图片很容易造成网络流量超出限度,从而为用户增加很多额外的资费。

发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的向计算终端提供图片数据的方法和相应的服务器。依据本发明的一个方面,提供了一种向计算终端提供图片数据的方法,包括步骤接收计算终端发送的图片访问请求,图片访问请求包括要访问的图片信息以及计算终端的网络类型信息;根据计算终端的网络类型信息确定是否对图片进行格式转换;当确定对图片进行格式转换时,获取与图片访问请求中的图片信息相对应的原始图片数据,根据预定的格式转换规则将原始图片数据转换为预定格式的图片数据,其中,预定格式的图片数据的字节数小于原始图片数据的字节数;以及将预定格式的图片数据发送给计算终端。可选地,图片访问请求还包括计算终端的终端类型信息;以及该方法还包括根据计算终端的终端类型信息来确定是否对图片进行格式转换。根据本发明的另一方面,提供了一种向计算终端提供图片数据的服务器,包括网络接口,适于接收计算终端发送的图片访问请求,图片访问请求包括要访问的图片信息以及计算终端的网络类型信息,并且将服务器所生成的预定格式的图片数据传输给计算终端;类型判定器,适于根据计算终端的网络类型信息确定是否对图片进行格式转换;图片处理器,适于当类型判定器确定对图片进行格式转换时,获取与图片访问请求中的图片信息相对应的原始图片数据,根据预定的格式转换规则将原始图片数据转换为预定格式的图片数据,其中,预定格式的图片数据的字节数小于原始图片数据的字节数;以及图片存储器,适于存储图片信息相对应的原始图片数据。可选地,图片访问请求还包括计算终端的终端类型信息,类型判定器还适于根据计算终端的终端类型信息来确定是否对图片进行格式转换。根据本发明的向计算终端提供图片数据的方法和相应的服务器,可以根据计算终端的终端类型信息来确定对图片进行格式转换,以便减少图片数据的字节数,由此解决了
4移动终端访问图片时由于数据量较大而导致加载速度慢且消耗网络流量多的问题,取得了能够使移动终端快速地加载图片,且降低了图片访问时的流量消耗的有益效果。另外,根据本发明的方法和服务器,还可以根据计算终端的网络类型来确定对图片进行格式转换,当计算终端通过低速网络或者费用较高的网络访问图片时,可以减少图片数据传输量,从而解决了移动终端访问图片时加载速度慢且消耗网络流量多的问题,取得了能够使移动终端快速地加载图片,且降低了图片访问时的流量消耗的有益效果。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式



通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中图I示出了根据本发明一个实施例的向计算终端提供图片数据的方法流程图;图2示出了本发明一个实施例中百度的logo在格式转换前后的效果示意图;图3示出了根据本发明提供的向计算终端提供图片数据的服务器以及与该服务器相连的计算终端的示意图。
具体实施例方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。图I示出了根据本发明一个实施例的向计算终端提供图片数据的方法流程图。如图I所示,该方法始于步骤S110,在步骤SllO中,接收计算终端发送的图片访问请求,该图片访问请求中包括要访问的图片信息以及计算终端的终端类型信息。可选地,步骤SllO可通过如下方式实现当计算终端的用户需要通过计算终端访问图片时,通常会通过计算终端上安装的浏览器点击某个超链接或输入某个搜索词等方式,从而由浏览器触发计算终端向提供服务的服务器等设备发送图片访问请求,该图片访问请求中至少需要包含用户要访问的图片信息,以便服务器能够找到该图片并提供给用户,以及计算终端的终端类型信息,以便于服务器了解计算终端的终端类型。可选地,计算终端发送的图片访问请求基于HTTP协议构造,而用于指示计算终端的终端类型信息的字段包含在HTTP协议的用户代理(user-agent,以下简称UA)部分中。也就是说,计算终端每次要访问图片时发送的图片访问请求中都包含UA信息。为了便于理解本发明,下面先简单介绍一下UA信息的具体内容。UA是一个特殊的字符串头,该字符串头中可以包含一系列有关于计算终端的相关信息,例如,计算终端所使用的操作系统及版本、CPU类型、浏览器类型及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。通常情况下,UA的标准格式为浏览器标识;操作系统标识;加密等级标识;浏
5览器语言;渲染引擎标识;版本信息,其中,浏览器标识是形如Mozilla/5. O或Opera/7. 54等标记浏览器产品的字串;常见的操作系统标识包括FreeBSD、Linux、Mac、Solaris以及Windows等;加密等级标识例如用“N”表示无安全加密、用“ I ”表示弱安全加密以及“U”表示强安全加密等;浏览器语言即为浏览器的首选项的常规标签里的语言选项中指定的语言;渲染引擎例如可以为Presto渲染引擎,格式为=Presto/版本号;浏览器版本信息中显不浏览器的真实版本信息,格式为Version/版本号。在UA所包含的上述一系列信息中,与本发明最相关的是能够反映计算终端的终端类型的信息,例如,操作系统标识。通过操作系统标识可以很方便地识别出计算终端的终端类型。目前,市场上主流的移动终端的操作系统一般采用ios (苹果操作系统)或Android (google安卓操作系统),因此,如果操作系统为上述两种类型,则可以确定出计算终端的终端类型为移动终端。例如,Android用户访问网页时发送的图片访问请求中包含的 UA 信息形如 Mozilla/5. O (Linux;U; Android 3. I; zh-cn;GT-P7310 Build/HMJ37)AppleffebKit/534. 13(KHTML, like Gecko)Version/4.0 Mobile Safari/534. I,其中,“Android”字段明确表示出发送该图片访问请求的计算终端设备所采用的操作系统为Android系统,因此,表示该计算终端的终端类型为移动终端;Iph0ne用户访问网页时发送的图片访问请求中包含的UA信息形如Mozilla/5. 0(iPhone;CPU iPhone OS 5_0like Mac OS X)AppleffebKit/534. 46(KHTML, like Gecko)Version/5. I Mobile/9A334Safari/7534. 48. 3,其中,“ iPhone”字段明确表示出发送该图片访问请求的计算终端设备所采用的是iPhone设备,其对应的操作系统为iOS系统,因此,也表示该计算终端的终端类型为移动终端。另外,为了进一步提高类型判断的准确性,还可以进一步结合UA中的其他信息,例如版本信息等进行综合判断。上面描述的采用UA信息来指示计算终端的终端类型的方式只是一种示意性的方式,在实际情况中还可以采用其他多种方式来指示计算终端的终端类型,例如,也可以直接在图片访问请求中设置一个字段,专门用于指示终端类型。执行完上述步骤SllO之后,在步骤S120中,根据计算终端的终端类型信息确定是否对图片进行格式转换。在本实施例中对图片进行格式转换的主要目的是为了改变图片数据的字节数,以利于网络传输。而且,由于不同类型的计算终端之间的软硬件差异,导致其浏览图片时的性能也不完全相同,因此,可以根据计算终端的终端类型的特点来确定是否对图片进行格式转换。例如,移动终端的屏幕尺寸相对较小、分辨率相对较低,而且通常情况下,移动终端的硬件配置以及处理速度都比不上固定终端。所以,当计算终端的终端类型为移动终端时,可以确定对图片进行格式转换,以便减少图片数据的字节数,从而降低用户流量资费,缩短图片在移动终端上的加载耗时。由于固定终端(例如台式PC机)的屏幕尺寸较大,分辨率也相对较高,而且硬件配置以及处理速度通常都较好,所以,当计算终端的终端类型为固定终端时,可以不必对图片进行格式转换,以便保证图片质量。具体地,为了在步骤S120中方便地确定对于各种类型的计算终端是否执行格式转换,可以事先设置并存储一个终端类型与是否格式转换之间的对照表,通过查找该对照表,确定相应的终端类型是否需要进行格式转换。在步骤S130中,当确定对图片进行格式转换时,获取与图片访问请求中的图片信息相对应的原始图片数据,根据预定的格式转换规则将原始图片数据转换为预定格式的图片数据,其中,预定格式的图片数据的字节数小于原始图片数据的字节数。在本实施例中,可以通过图片存储器来存储图片信息相对应的原始图片数据,通过访问该图片存储器获取与图片访问请求中的图片信息相对应的原始图片数据。其中,该图片存储器可以是一台单独的服务器,专门用于存储图片数据,也可以是若干台服务器,每台服务器存储部分图片数据。具体地,预定的格式转换规则是事先根据图片格式的特点设置好的。设置格式转换规则的目的主要是为了将字节数较多的图片格式转换为字节数较少的图片格式,以便于网络传输。其中,在设置格式转换规则时,可以根据各种图片格式的特点设置一个转换表格,当图片访问请求中所请求的图片信息相对应的原始图片数据的格式在该转换表格中有记载时,直接根据该表格确定转换后的图片数据格式。将原始图片数据转换为预定格式的图片数据之后,在步骤S140中,将步骤S130中生成的预定格式的图片数据发送给计算终端。通过上面的方式就可以根据计算终端的类型特点,对要访问的原始图片数据进行一定的格式转换,以便减少原始图片数据的字节数,以达到节省用户的访问时间,减少网络流量的效果。下面详细介绍一下步骤S130中对图片进行格式转换的具体原理和实现方式。首先,简单介绍一下有关图像的基本概念。图像由像素组成,像素是图像中的最小信息单元,可以使用不同的颜色模型来描述像素,在计算机图形上,RGB颜色模型是最经常使用的一种颜色模型。在RGB颜色模型中,采用包含红(R)、绿(G)和蓝(B)的数量的方式来描述一个像素。R、G和B被称为成分(又称为通道),每种通道的强度值的范围在0-255之间。将不同的强度的通道组合在一起,就可以获得不同的颜色。比如红色是rgb(255,0,0)或者十六进制的#FF0000,蓝色是rgb (O, O, 255)或者十六进制的#0000FF,灰色的阴影有着三个相同的颜色值,比如,rgb (238,238,238)或者十六进制的#EEEEEE。当使用RGB颜色模型时,可以在一个图形中使用多于1600万种(255*255*255或224可以得到16,777,216种组合)不同的颜色。通常把能够支持这么多种颜色的图像格式叫做真彩色图像格式,例如JPEG和真彩色类型的PNG都属于真彩色图像格式。为了节约存储空间,在真彩色图像格式的基础上又提出了调色板图像格式。调色板图像格式所采用的一项技术就是将图像中那些唯一的颜色提取出来建立一个列表,这个列表通常叫做调色板(也可以称为索引)。有了这个颜色列表,就可以通过将调色板中的条目和每个像素重新匹配,达到重新绘制整个图片的目的。由于调色板图像格式利用索引技术节约了存储空间,因此,在本发明实施例中,当用户发送的图片访问请求中的图片信息相对应的原始图片数据为真彩色图像格式时,可以按照预定的格式转换规则将其转换为调色板图像格式的数据,以达到减少字节数的目的。另外,当用户发送的图片访问请求中的图片信息相对应的原始图片数据为单帧图像互换格式GIF格式时,可以按照预定的格式转换规则将原始图片数据转换为可移植网络图形PNG8格式的图片数据;当用户发送的图片访问请求中的图片信息相对应的原始图片数据为多帧GIF格式时,可以按照预定的格式转换规则维持原始图片数据的格式不变。具体原因在于,PNG8格式除了不支持动画功能以外,几乎包含了 GIF格式的所有功能,而且
7PNG8格式还支持alpha透明格式(即RGBA格式,其中的A代表alpha透明),更重要的是,PNG8格式的压缩比通常要高于GIF格式的压缩比,因此,对于一幅GIF格式的图片数据,转换为PNG8格式的图片数据之后,字节数将明显减少,且图片质量还不会产生明显变化。由于PNG8格式的上述特点,可以用来处理单帧GIF格式的图片数据。而对于多帧GIF格式的图片数据,由于PNG8格式不支持动画,因此,在本实施例中为了保留多帧GIF格式的动画效果,可以不对多帧GIF格式的图片数据进行转换。图2示出了百度的logo在格式转换前后的效果示意图。其中,左边的图是GIF格式的原始图片数据,字节数为1630B,右边的图是转换后的PNG8格式的图片数据,字节数为1431B。由此可见,经过格式转换之后,图片的字节数减少了约12%,但是图片质量并无明显改变。具体地,可以通过Imagemagick作为处理工具进行图片格式的转换,或者,也可以采用其它的软件来完成图片格式的转换。在上面主要描述了将单帧GIF格式转换为PNG8格式的转换方式。对于除单帧GIF格式之外的其他格式的图片数据,由于色彩一般比较丰富,通常大于256色,而PNG8最多只能支持256种颜色,如果将其他格式的图片数据(例如png、jpg格式)强制转换为PNG8格式,可能会对图片造成明显的色彩失真。因此,本实施例中对于其他格式的图片数据可以不进行转换。当然,如果在对图片色彩要求不高的情况下,也可以将其他格式的图片数据转换SPNGS格式的图片数据。除了上面描述的将单帧GIF格式转换为PNG8格式的转换方式之外,本领域技术人员还可以根据实际情况灵活确定其他的格式转换方式,只要能够实现转换后缩小字节数以利于网络传输的目的即可。下面结合GIF文件的结构特点介绍一下如何判定一个GIF文件是单帧GIF格式的文件还是多帧GIF格式的文件。一个GIF文件的结构可分为文件头(File Header)、GIF数据流(GIF DataStream)和文件终结器(Trailer)三个部分。文件头包含GIF文件署名(Signature)和版本号(Version) ;GIF数据流由控制标识符、图象块(Image Block)和其他的一些扩展块组成;文件终结器只有一个值为0X3B的字符(”;”)表示文件结束。表I示出了一个GIF文件的组成结构表I
8
权利要求
1.一种向计算终端提供图片数据的方法,包括步骤 接收计算终端发送的图片访问请求,所述图片访问请求包括要访问的图片信息以及计算终端的网络类型信息; 根据所述计算终端的网络类型信息确定是否对图片进行格式转换; 当确定对图片进行格式转换时,获取与所述图片访问请求中的图片信息相对应的原始图片数据,根据预定的格式转换规则将所述原始图片数据转换为预定格式的图片数据,其中,所述预定格式的图片数据的字节数小于所述原始图片数据的字节数;以及 将所述预定格式的图片数据发送给所述计算终端。
2.如权利要求I所述的方法,其中所述图片访问请求还包括所述计算终端的终端类型 信息;以及所述方法还包括 根据所述计算终端的终端类型信息来确定是否对图片进行格式转换。
3.如权利要求I或者2所述的方法,其中所述计算终端的网络类型信息包括下列中的一种或者多种GPRS、CDMA、3G、4G、WIFI和有线链接网络。
4.如权利要求I所述的方法,所述计算终端的终端类型信息包括下列中的一种或者多种便携式计算设备、PDA、平板计算设备、智能手机移动终端、膝上型计算机以及台式计算机;或者, 所述计算终端的终端类型信息包括计算终端的屏幕大小,和/或计算终端的屏幕的长宽比。
5.如权利要求1-4中任一个所述的方法,所述图片访问请求基于HTTP协议,而用于指示计算终端的终端类型信息的字段包含在HTTP协议的用户代理部分中。
6.如权利要求5的方法,其中所述计算终端的网络类型信息以参数形式包含在所述图片访问请求中。
7.如权利要求1-6中任一个所述的方法,所述预定的格式转换规则包括 当确定所述原始图片数据的数据格式为单帧图像互换格式GIF时,将所述原始图片数据的数据格式转换为可移植网络图形PNG8格式的图片数据。
8.如权利要求7所述的方法,根据GIF文件结构中的图像标识符来确定该GIF文件是否为单帧图像互换格式GIF。
9.一种向计算终端提供图片数据的服务器,包括 网络接口,适于接收计算终端发送的图片访问请求,所述图片访问请求包括要访问的图片信息以及计算终端的网络类型信息,并且将服务器所生成的预定格式的图片数据传输给所述计算终端; 类型判定器,适于根据所述计算终端的网络类型信息确定是否对图片进行格式转换; 图片处理器,适于当所述类型判定器确定对图片进行格式转换时,获取与所述图片访问请求中的图片信息相对应的原始图片数据,根据预定的格式转换规则将所述原始图片数据转换为预定格式的图片数据,其中,所述预定格式的图片数据的字节数小于所述原始图片数据的字节数。
10.如权利要求9所述的服务器,其中, 所述图片访问请求还包括所述计算终端的终端类型信息, 所述类型判定器还适于根据所述计算终端的终端类型信息来确定是否对图片进行格式转换。
11.如权利要求9或10所述的服务器,其中所述计算终端的网络包括下列网络类型中一种或者多种GPRS、CDMA、3G、4G和WIFI网络和有线链接网络。
12.如权利要求10所述的服务器,所述计算终端包括下列终端类型中的一种或者多种便携式计算设备、PDA、平板计算设备、智能手机移动终端、膝上型计算机以及台式计算机;或者, 所述计算终端的终端类型信息包括计算终端的屏幕大小,和/或计算终端的屏幕的长宽比。
13.如权利要求9-12中任一个所述的服务器,所述图片访问请求基于HTTP协议,而用于指示计算终端的终端类型信息的字段包含在HTTP协议的用户代理部分中。
14.如权利要求13的服务器,其中所述计算终端的网络类型信息以参数形式包含在所述图片访问请求中。
15.如权利要求10-14中任一个所述的服务器,所述预定的格式转换规则包括 当图像处理器确定所述原始图片数据的数据格式为单帧图像互换格式GIF时,将所述原始图片数据的数据格式转换为可移植网络图形PNG8格式的图片数据。
16.如权利要求15所述的服务器,所述图像处理器根据GIF文件结构中的图像标识符来确定该GIF文件是否为单帧图像互换格式GIF。
17.如权利要求9-16中任一个所述的服务器,还包括 图片存储器,适于存储所述图片信息相对应的原始图片数据。
全文摘要
本发明公开了一种向计算终端提供图片数据的方法及服务器,该方法包括接收计算终端发送的图片访问请求,图片访问请求包括要访问的图片信息以及计算终端的网络类型信息;根据计算终端的网络类型信息确定是否对图片进行格式转换;当确定对图片进行格式转换时,获取与图片访问请求中的图片信息相对应的原始图片数据,根据预定的格式转换规则将原始图片数据转换为预定格式的图片数据,其中,预定格式的图片数据的字节数小于原始图片数据的字节数;将预定格式的图片数据发送给计算终端。由此解决了移动终端访问图片时由于数据量较大而导致加载速度慢且消耗网络流量多的问题,能够使移动终端快速地加载图片,且降低了图片访问时的流量消耗。
文档编号H04N21/2343GK102932671SQ20121048900
公开日2013年2月13日 申请日期2012年11月26日 优先权日2012年11月26日
发明者吕本伟, 杨涛 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1