CN104954813B - 图片的传输方法、装置和系统 - Google Patents

图片的传输方法、装置和系统 Download PDF

Info

Publication number
CN104954813B
CN104954813B CN201410468586.4A CN201410468586A CN104954813B CN 104954813 B CN104954813 B CN 104954813B CN 201410468586 A CN201410468586 A CN 201410468586A CN 104954813 B CN104954813 B CN 104954813B
Authority
CN
China
Prior art keywords
picture
data
transmitted
coding
terminal
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201410468586.4A
Other languages
English (en)
Other versions
CN104954813A (zh
Inventor
黄志海
邹方明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Tencent Computer Systems Co Ltd
Original Assignee
Shenzhen Tencent Computer Systems Co Ltd
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 Shenzhen Tencent Computer Systems Co Ltd filed Critical Shenzhen Tencent Computer Systems Co Ltd
Priority to CN201410468586.4A priority Critical patent/CN104954813B/zh
Publication of CN104954813A publication Critical patent/CN104954813A/zh
Application granted granted Critical
Publication of CN104954813B publication Critical patent/CN104954813B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种图片的传输方法、装置和系统。其中,该方法包括:生成待传输图片的数据流,其中,数据流包括待传输图片的预设传输数据容量和待传输图片的图片数据,预设传输数据容量小于待传输图片的总数据容量,图片数据包括N层图片编码数据,每层图片编码数据包括待传输图片的各个像素的像素信息;将预设传输数据容量发送至服务器;从第一层图片编码数据起逐层发送图片编码数据至服务器,直至接收到服务器发送的确认信号,其中,确认信号用于指示服务器已接收到待传输图片中数据容量为预设传输数据容量的图片数据。采用本发明,解决了现有技术中图片传输的成功率低的问题,实现了提高图片传输成功率的效果。

Description

图片的传输方法、装置和系统
技术领域
本发明涉及数据传输领域,具体而言,涉及一种图片的传输方法、装置和系统。
背景技术
现有技术中,各种即时通讯的应用程序或者图片社交分享应用中经常会使用的图片的传输,现有技术中主要采用两种方法传输图片:一种是采用传统的图片格式(如JPEG/PNG)保存图片,即时应用程序的交互发送方把整个图片数据传输到服务器,接收方从服务器上下载整个图片数据,全部图片数据下载完成之后,展示给目标用户(如接收方的操作者);另一种是使用Google推出的WEBP格式保存图片,WEBP格式可以对网页图档有效进行压缩,同时不影响图片格式兼容与实际清晰度,使用该种格式可以加快图片的上传和下载速度,在该种方法中发送和接收的过程与第一种方法相同,均是全部数据上传完成之后才确认上传成功,全部数据从服务器全部下载完成之后,才确认下载成功。
上述的第一种方法为现有技术中的最基本的传图方法,但是如果图片文件尺寸比较大,传输的时间就会很长,图片传输的效率很低,用户在收发过程中需等待时间很久;第二种方法,由于WEBP压缩格式更高效,可以减少约30%的图片文件的尺寸,在进行图片传输时可以减少传输时间。但是,WEBP格式平均压缩计算开销是JPEG的5倍以上,而且还不是国际标准,WEBP格式未被广泛支持,除了Android系统原生支持外,其他的系统都需要引入第三方编解码库,这样就会增加APP(即应用程序)运行不稳定的因素以及安装文件大小。此外,这两种传图方式,还存在一个共同的问题,就是图片必须完整地发送完毕或者接收完毕,哪怕只剩下1% 的数据没传输,整个传输过程都不会成功。在使用移动设备进行传图时,移动设备所处的网络环境复杂多变,并且现有的网络环境很不稳定,使用上述的方法传图传图的成功率很低。
针对上述图片传输的成功率低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种图片的传输方法、装置和系统,以至少解决图片传输的成功率低的技术问题。
根据本发明实施例的一个方面,提供了一种图片的传输方法,该方法包括:生成待传输图片的数据流,其中,数据流包括待传输图片的预设传输数据容量和待传输图片的图片数据,预设传输数据容量小于待传输图片的总数据容量,图片数据包括N层图片编码数据,每层图片编码数据包括待传输图片的各个像素的像素信息,将第一层图片编码数据至第i层图片编码数据叠加得到的图片的分辨率比将第一层图片编码数据至第i+1层图片编码数据叠加得到的图片的分辨率低,1<i≤N,i为自然数;将预设传输数据容量发送至服务器;从第一层图片编码数据起逐层发送图片编码数据至服务器,直至接收到服务器发送的确认信号,其中,确认信号用于指示服务器已接收到待传输图片中数据容量为预设传输数据容量的图片数据。
根据本发明实施例的一个方面,提供了一种图片的传输装置,该装置包括:第一生成模块,用于生成待传输图片的数据流,其中,数据流包括待传输图片的预设传输数据容量和待传输图片的图片数据,预设传输数据容量小于待传输图片的总数据容量,图片数据包括N层图片编码数据,每层图片编码数据包括待传输图片的各个像素的像素信息,将第一层图片编码数据至第i层图片编码数据叠加得到的图片的分辨率比将第一层图片编码数据至第i+1层图片编码数据叠加得到的图片的分辨率低,1<i≤N,i 为自然数;第一上传模块,用于将预设传输数据容量发送至服务器;第二上传模块,用于从第一层图片编码数据起逐层发送图片编码数据至服务器,直至接收到服务器发送的确认信号,其中,确认信号用于指示服务器已接收到待传输图片中数据容量为预设传输数据容量的图片数据。
根据本发明实施例的另一个方面,提供了一种图片的传输方法,该方法包括:接收待传输图片的预设传输数据容量,并从第一层图片编码数据起逐层接收图片编码数据,其中,预设传输数据容量小于待传输图片的总数据容量,待传输图片的图片数据包括N层图片编码数据,每层图片编码数据包括待传输图片的各个像素的像素信息,将第一层图片编码数据至第i层图片编码数据叠加得到的图片的分辨率比将第一层图片编码数据至第i+1层图片编码数据得到的图片的分辨率低,1<i≤N,i为自然数;在接收图片编码数据的过程中,实时记录已接收到待传输图片中的数据容量;判断已接收到待传输图片中的数据容量是否为预设传输数据容量;在已接收到待传输图片中的数据容量为预设传输数据容量时,判断出待传输图片上传成功。
根据本发明实施例的再一个方面,提供了一种图片的传输装置,该装置包括:接收模块,用于接收待传输图片的预设传输数据容量,并从第一层图片编码数据起逐层接收图片编码数据,其中,预设传输数据容量小于待传输图片的总数据容量,待传输图片的图片数据包括N层图片编码数据,每层图片编码数据包括待传输图片的各个像素的像素信息,将第一层图片编码数据至第i层图片编码数据叠加得到的图片的分辨率比将第一层图片编码数据至第i+1层图片编码数据得到的图片的分辨率低,1<i≤N,i为自然数;记录模块,用于在接收图片编码数据的过程中,实时记录已接收到待传输图片中的数据容量;判断模块,用于判断已接收到待传输图片中的数据容量是否为预设传输数据容量;结果确认模块,用于在已接收到待传输图片中的数据容量为预设传输数据容量时,判断出待传输图片上传成功。
根据本发明实施例的再一个方面,提供了一种图片的传输系统,该系统包括:第一终端,用于生成待传输图片的数据流,其中,数据流包括待传输图片的预设传输数据容量和待传输图片的图片数据,图片数据包括N层图片编码数据,在将预设传输数据容量发送至服务器之后,从第一层图片编码数据起逐层发送图片编码数据至服务器,其中,预设传输数据容量小于待传输图片的总数据容量,每层图片编码数据包括待传输图片的各个像素的像素信息,将第一层图片编码数据至第i层图片编码数据叠加得到的图片分辨率比将第一层图片编码数据至第i+1层图片编码数据得到的图片的分辨率低,1<i≤N,i为自然数;服务器,与第一终端连接,用于在接收图片数据的过程中,实时记录已接收到待传输图片中的数据容量,判断已接收到待传输图片中的数据容量是否为预设传输数据容量,在已接收到待传输图片中的数据容量为预设传输数据容量时,判断出待传输图片上传成功。
采用本发明实施例,在将待传输图片的图片编码数据逐层上传至服务器的过程中,若接收到服务器发送的确认信号,即可确认待传输图片上传成功,则停止上传图片编码数据,上述的确认信号是用于指示服务器已接收到待传输图片中数据容量为预设传输数据容量的图片数据的信号,预设传输数据容量是小于待传输图片的总数据容量的,这样,在尚未完全将待传输图片上传至服务器,即可确认上传成功。通过上述实施例,不用将待传输图片的整个图片数据全部上传完成,即可确认待传输图片上传成功,缩短了图片传输的时间;在网络不稳定或者设备不稳定的情况下,只要上传完成预设传输数据容量,则认为上传成功,大大地提高了上传图片的成功率。解决了现有技术中图片传输的成功率低的问题,实现了提高图片传输成功率的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发 明的不当限定。在附图中:
图1是根据本发明实施例的应用图片的传输方法的环境示意图;
图2是根据本发明实施例的图片的传输方法的流程图;
图3是根据本发明实施例的基线式图片展示过程的示意图;
图4是根据本发明实施例的渐进式图片展示过程的示意图;
图5是根据本发明实施例的不同比例的图片展示效果的示意图;
图6是根据本发明实施例的一种可选的图片的传输方法的系统结构图;
图7是根据本发明实施例的图片的传输装置的示意图;
图8是根据本发明实施例的一种可选的图片的传输方法的流程图;
图9是根据本发明实施例的一种可选的图片的传输装置的示意图;
图10是根据本发明实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或 设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种图片的传输方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
可选地,在本实施例中,上述图片的传输方法可以应用于如图1所示的第一终端101、服务器102和第二终端103所构成的硬件环境中。如图1所示,第一终端101通过网络或数据线与服务器102连接,向服务器102上传图片;服务器102可以通过网络或数据线与第二终端103连接,第二终端103可以从服务器102上下载第一终端上传的图片。
上述网络包括但不限于:广域网、城域网或局域网。在本发明实施例中,上述的第一终端和第二终端可以为移动终端、个人电脑上,具体地,第一终端和第二终端可以为智能手机、平板电脑、PDA等任何的可以实现图片上传功能的终端。
根据本发明实施例,提供了一种图片的传输方法,如图2所示,该方法包括如下步骤:
步骤S202:生成待传输图片的数据流。
其中,数据流包括待传输图片的预设传输数据容量和待传输图片的图片数据,预设传输数据容量小于待传输图片的总数据容量,图片数据包括N层图片编码数据,每层图片编码数据包括待传输图片的各个像素的像素信息,将第一层图片编码数据至第i层图片编码数据叠加得到的图片的分辨率比将第一层图片编码数据至第i+1层图片编码数据叠加得到的图片的分辨率低,1<i≤N,i为自然数。
步骤S204:将预设传输数据容量发送至服务器。
步骤S206:从第一层图片编码数据起逐层发送图片编码数据至服务器,直至接收到服务器发送的确认信号。
其中,确认信号用于指示服务器已接收到待传输图片中数据容量为预设传输数据容量的图片数据。
采用本发明实施例,待传输图片的图片数据中的N层图片编码数据携带有待传输图片的像素的像素信息,从第一层图片编码数据开始发送图片数据,若将接收到的图片编码数据逐层叠加,待传输图片的分辨率逐渐增高(从模糊到清晰)。在将待传输图片的图片编码数据逐层上传至服务器的过程中,若接收到服务器发送的确认信号,即可确认待传输图片上传成功,则停止上传图片编码数据,上述的确认信号是用于指示服务器已接收到待传输图片中数据容量为预设传输数据容量的图片数据的信号,预设传输数据容量是小于待传输图片的总数据容量的,这样,在尚未完全将待传输图片上传至服务器,即可确认上传成功。通过上述实施例,不用将整个待传输图片的图片数据全部上传完成,即可确认待传输图片上传成功,确认上传成功时得到的图片的是轮廓完整且可识别的图片,缩短了图片传输的时间;在网络不稳定或者设备不稳定的情况下,只要上传完成预设传输数据容量,则认为上传成功,大大地提高了上传图片的成功率。解决了现有技术中图片传输的成功率低的问题,实现了提高图片传输成功率的效果。
上述实施例中的将预设传输数据容量和图片数据上传至服务器可以通过如下方法实现:按照流式传输方式依序将预设传输数据容量和图片数据上传至服务器。也即上述实施例中的将预设传输数据容量发送至服务器,并从第一层图片编码数据起逐层发送图片编码数据至服务器。
其中,流式传输方式即为将数据流按照顺序发送的方式,具体地,数据流按先主后次的顺序像水流一样在网络中传输,传输进行过程实时处理响应。具体到本发明实施例中,先上传预设传输数据容量,在上传完成预设传输数据容量之后,上传剩余的图片编码数据。
在上述实施例中,采用流式传输方式,数据按先主后次的顺序像水流一样在网络中传输,传输进行过程实时处理响应,服务器可以实时向发送方(即图1中示出的第一终端)确认收到的待传输图片的数据容量,接收到特定的数据容量(即上述实施例中的预设传输数据容量)之后,向第一终端发送确认信号,该确认信号指示服务器已接收到待传输图片中数据容量为预设传输数据容量的图片数据。
具体地,在将图片数据上传至服务器的过程中,服务器可以实时记录已接收到的待传输图片的数据容量,并将该已接收到的待传输图片的数据容量实时反馈给第一终端,第一终端根据服务器反馈的已接收到的待传输图片的数据容量计算上传进度,并在该第一终端的应用程序的第一界面上显示该上传进度。
其中,上传进度为100%,表示服务器已接收到的待传输图片的数据容量为预设传输数据容量。上述的服务器可以为中间服务器,该中间服务器可以用于待传输图片的中间存储。
根据本发明的上述实施例,若接收到服务器发送的确认信号,则确认待传输图片上传成功,在确认待传输图片上传成功之后,在第一终端的应用程序的第一界面上显示待传输图片上传成功的第一提示信息。
上述实施例中的第一终端可以为移动终端。可选地,上述实施例中的图片的传输方法可以应用于即时通讯应用程序,例如,微信、QQ等。
下面以将图片的传输方法应用于微信为例,详细介绍本发明。
第一终端的用户在微信的应用界面(即上述实施例中的第一界面)发起传输图片的请求,在确定待传输图片之后,第一终端生成待传输图片的数据流,该数据流中包括待传输图片的图片数据和待传输图片的预设传输数据容量。在启动图片传输之后,采用流式传输方式将预设传输数据容量和图片数据依序上传给服务器,服务器在接收图片数据的过程中实时向第一终端确认已接收到待传输图片中的数据容量,在已接收到的待传输图片 中的数据容量为预设传输长度时,认为待传输图片接收成功,向第一终端发送确认信号,确认已接收到的待传输图片中的数据容量为预设传输长度,第一终端接收到确认信号,在微信的上传图片的进度条中显示上传(或发送)成功。
在本发明的上述实施例中,在接收到服务器发送的确认信号之后,传输方法还可以包括:将第j+1层图片编码数据至第N层图片编码数据逐层上传至服务器,其中,第j层图片编码数据为接收到确认信号时发送的最后一层图片编码数据,1<j<N,j为自然数。
具体地,在服务器已接收到的待传输图片的数据容量为预设传输数据容量时,确认待传输图片上传成功,然后,继续上传图片数据中尚未上传至服务器的数据。也即,在确认上传成功的情况下,转到后台继续发送待传输图片的图片数据中剩余的图片编码数据,剩余图片编码数据即为尚未上传的数据。
通过上述实施例,在上传预设传输数据容量之后即向用户通知已经上传成功,然后继续将全部的待传输图片的图片数据上传成功,缩短了传图的时间,提高了传输图片的成功率,这样,第一终端的用户体验到发图的时间缩小了,发图过程变快了,在解决上述技术问题的同时提高了用户体验。
在本发明的上述实施例中,生成待传输图片的数据流可以包括:使用第一终端的网络状态确定传输因子,其中,第一终端为上传待传输图片的终端;将待传输图片的总数据容量和传输因子之积作为预设传输数据容量;根据待传输图片的预设传输数据容量和待传输图片的图片数据生成数据流。
具体地,使用第一终端的网络状态确定传输因子可以包括:获取第一终端当前使用的网络类型数据和网络信号强度;从数据表中读取网络类型和网络信号强度指向的传输因子,其中,数据表为二维数据表,一个网络类型数据和一个网络信号强度确定一个传输因子。
在使用第一终端上传待传输图片时,最少传输预设传输数据容量,该预设传输数据容量为最小传输数据容量(MTS,Minimal Transport Size)。MTS与待传输图片的图片总数据容量(TS,Total Size)的比值,称为传输因子Q。公式如下:Q=MTS/TS,或者写成:MTS=TS×Q。
由于第一终端的数据传输速率与第一终端所处的网络环境相关,好坏网络的传输速率可能相差上百倍,在待传输图片的总数据容量不变的前提下,第一终端的用户等待待传输图片的传输的时间也将相差上百倍。为了适应不同的网络环境,在本发明的上述实施例中可以通过第一终端所处的网络的网络状态确定传输因子,然后使用传输因子和图片总数据容量确定待传输图片的MTS。
可选地,网络状态可以使用两个维度的数据来确定网络的传输质量:网络类型数据和网络信号强度。其中,网络类型数据可以包括:WiFi和4G、3G以及2G等网络类型的描述数据;网络信号强度可以使用数据来确定(如80、90以及100),可以使用文字描述来确定网络信号强度(如:强、中、弱),根据网络类型数据和网络信号强度的不同组合,确定传输因子。在上述实施例中还可以结合不同的应用程序对图片质量要求确定传输因子。
具体地,可以通过查数据表得到传输因子,表1提供了一种可选的确定传输因子的数据表。
表1
如表1所示,传输因子使用了字母代码A、B、C、D、E和F来表示,在使用字母代码(如A、B、C、D、E和F)表示的情况下,可以通过数值表查表得到每个字母代码代表的传输因子的值,如,A=1.0、B=0.9、C=0.8、D=0.7、E=0.6、F=0.5。
在实际应用中还可以直接使用传输因子的值代替字母代码,如表2所示。
表2
通过本发明上述实施例中的传输因子确定方法,一个TS=100KB的待传输图片,在WiFi强信号网络中,MTS=100*1.0=100KB;而在2G中等信号网络下,MTS=100*0.7=70KB,MTS减少了30%,结合上述的图片的传输方法,可以减少30%的用户等待时间。
上述实施例中的,预设传输数据容量MTS是待传输图片的最小应该传输的数据容量,而不是最终传输的总数据容量,通过上述实施例,在服务器确认传输成功之后,在网络不中断的条件下,第一终端还是可以将整个待传输图片的完整的图片数据完全发送至服务器,以便第二终端获得更加清晰的待传输图片。
在本发明的上述实施例中,在即时通讯应用程序的应用场景中,第一 终端生成的数据流中可以包括元数据,该元数据中可以包括:第一终端的第一标识、第二终端的第二标识、待传输图片的总长度以及预设传输长度。其中,第一终端可以为上传(或接收)待传输图片的终端,第二终端可以为下载(或接收)待传输图片的终端,在即时通讯应用程序为微信的情况下,第一标识和第二标识可以分别为微信号。
具体地,第一终端可以将第一标识、第二标识、预设传输数据容量、待传输图片的总数据容量作为元数据放在数据流的最前面,将待传输图片的图片数据放在元数据的后面。按照流式传输方式传输待传输图片时,先发送元数据,在发送完成元数据之后,再发送图片数据。在这个过程中,由于元数据的数据容量很小,在待传输图片的传输过程中不会影响传输速率。
进一步地,在第一终端将元数据发送完成之后,发送图片数据,服务器接收图片数据,并不断向第一终端确认已接收到的待传输图片的数据容量,同时对元数据进行解析,得到第一终端的第一标识、第二终端的第二标识、待传输图片的总数据容量以及预设传输长度。
根据本发明的上述实施例,生成待传输图片的数据流可以包括:对所述待传输图片进行渐进式图片编码得到N层图片编码数据;将N层图片编码数据作为待传输图片的图片数据。
通过上述实施例可以将待传输图片的格式转换为渐进式JPEG格式,得到格式为渐进式JPEG格式的图片;将格式为渐进式JPEG格式的图片的图片数据作为待传输图片的图片数据。通过上述的渐进式编码,可以得到N层图片编码数据,从第一层图片编码数据开始叠加可以得到分辨率逐渐增高的图片,也即逐层叠加得到的图片可以从模糊到清晰。
其中,JPEG图片压缩格式具有良好的压缩性能,JPEG格式有两种编码方式:基线式(baseline)和渐进式(progressive)。基线式的编码方式是图片从上到下,从左到右地进行处理和编码,如图3所示。渐进式编码方式是先全局后局部,先轮廓再细节的编码方法,如图4所示。
可选地,渐进式JPEG格式属于JPEG国际标准的一部分,在Android、iOS和WindowsPhone三大移动操作系统自带的JPEG编解码库都直接支持,无需引入第三方编解码库。
具体地,渐进式编码得到的文件数据容量(也可以称之为数据长度或数据大小)比基线式编码略小一些,且具有更友好的图片展示过程,不会出现如图3所示的半张图片情况。
在本发明的上述实施例中,图片的传输方法中使用的可以是渐进式JPEG格式的图片。
进一步地,渐进式JPEG格式图片可以被用来有选择性地控制传输的数据量,提高传输的成功率。在网络条件较差的情况下,可以丢弃图片的部分不重要细节,换取传图功能的可用性。图5是接收到原图片一定比例数据的图片展示效果,图中分别示出了接收到原始图片20%、60%、80%以及100%的数据容量的图片的展示效果。
从图5中可知,接收到待传输图片的图片数据越多,待传输图片的展示越清晰。在20%的时候,还看不清楚图片中的文字,到了60%的时候,文字已清晰可见,再到80%以及100%,图片细节更清楚,但如果没有多张图片仔细比较,已看不出图片差异。
在该实施例中,在接收到用户的发送图片请求,并确认待传输图片之后,判断待传输图片的格式是否为渐进式JPEG格式;在待传输图片的格式不为渐进式JPEG格式的情况下,将待传输图片的格式转换为渐进式JPEG格式,得到渐进式JPEG格式的图片,并将渐进式JPEG格式的图片的图片数据作为待传输图片的格式的图片数据,生成数据流;在待传输图片的格式为渐进式JPEG格式的情况下,直接根据待传输图片的格式的图片数据生成数据流。
通过上述实施例,采用渐进式(progressive)JPEG格式的图片,对图片不是传统的自上而下先左再右的编码过程,而是先轮廓后细节的编码过 程,在接收到的图片数据的数据量逐渐变大的过程中,待传输图片的展示从模糊逐渐清晰;并且在上述实施例中采用了流式传输方式,图片数据按先主后次的顺序像水流一样在网络中传输,传输进行过程实时处理响应:服务器实时向第一终端确认收到的待传输图片的数据容量,在接收到特定长度之后确认发送成功,还可以通过第二终端,第二终端实时将收到的数据(即上述的预设传输数据容量的数据)展示在第二界面上。整个图片的传输过程,无论是对于第一终端还是对于第二终端,图片传输的时间都很短,对于使用第一终端和第二终端的用户来讲,需要等待时间也会大大缩小。
需要进一步说明的是,在将预设传输数据容量和图片数据上传至服务器之后,传输方法还可以包括:服务器实时记录已接收到待传输图片中的数据容量;在已接收到待传输图片中的数据容量为预设传输数据容量时,生成确认信号和通知信号;将确认信号发送至第一终端,其中,第一终端为上传待传输图片的终端;以及将通知信号发送至第二终端,其中,通知信号用于通知第二终端接收待传输图片。
可选地,在将通知信号发送至第二终端之后,传输方法还可以包括:在接收到第二终端的查看待传输图片的信息之后,将已接收到待传输图片中的数据容量发送至第二终端。
根据上述实施例,在第一终端按照流式传输方式将预设传输数据容量和图片数据上传至服务器,服务器首先接收到的是预设传输数据容量,在待传输图片的图片数据上传至服务器的过程中,服务器实时记录已接收到待传输图片中的数据容量,并且实时比较已接收到待传输图片中的数据容量与预设传输数据容量,在已接收到待传输图片中的数据容量为预设传输数据容量时,生成确认信号和通知信号,然后将确认信号发送至上传待传输图片的第一终端,并将通知信号发送至第二终端,通知第二终端接收待传输图片。
具体地,在将通知信号发送至第二终端之后,传输方法还可以包括: 在接收到第二终端的查看待传输图片的信息之后,将已接收到待传输图片中的数据容量发送至第二终端。
下面结合图6详细介绍本发明。
如图6所示,该方法可以通过如下步骤实现:
步骤S601:第一终端对待传输图片进行预处理得到渐进式JPEG格式的图片。
其中,上述实施例中的预处理即为上述的格式转换的处理。
具体地,可以在确认待传输图片之后,判断待传输图片的格式是否为渐进式JPEG格式。如果是,则不对待传输图片进行格式处理;如果不是,则对待传输图片进行格式转换。
进一步地,渐进式JPEG格式属于JPEG国际标准的一部分,在Android、iOS和WindowsPhone三大移动操作系统自带的JPEG编解码库都直接支持,无需引入第三方编解码库。
步骤S602:第一终端生成待传输图片的数据流。
具体地,可以将第一终端101(如发送方终端)的第一标识(如UIN,用户编码)、第二终端103(如接收方终端)的第二标识、待传输图片的图片总数据容量,预设传输数据容量(如MTS长度)等数据作为元数据组织在数据流的最前面,将渐进式JPEG格式的图片的图片数据组织在元数据的后面。
步骤S603:第一终端向服务器发送数据流至服务器。
具体地,上述步骤可以按照流式传输方式传输数据流,更具体地,先发送元数据,然后发送图片数据。在服务器102接收图片数据的过程中,实时地向第一终端确认已接收到的待传输图片的数据容量(如图片数据的长度),同时对元数据进行解析处理,得到第一终端的第一标识、第二终端的第二标识,待传输图片的图片总数据容量,以及预设传输数据容量(即 上述实施例中的MTS长度)。
步骤S604:服务器已接收到待传输图片中的数据容量为预设传输数据容量时,生成确认信号和通知信号,将确认信号发送给第一终端,将通知信号发送给第二终端。
具体地,当服务器收到的待传输图片中的数据容量为预设传输数据容量时,认为待传输图片接收成功,向第一终端发送确认信号,确认已收到MTS数据容量;同时向第二终端发送通知信号,通知第二终端(接收方)收到一张新图片(即上述实施例中的待传输图片)。
其中,服务器102可以通过设置在第二终端的消息通知中心1031传输通知信号。
进一步地,第一终端接收到确认信号之后,可以向第一终端的第一界面上显示发送成功的消息;第二终端收到通知信号之后,在第二终端的第二界面上显示有新图片的消息。
根据本发明的上述实施例,在第二终端接收到确认信号并向第一终端的第一界面上显示发送成功的消息之后,转到后台继续发送待传输图片中的尚未上传至服务器的剩余数据。
通过上述实施例,缩短了图片传输的时间,提高了图片传输的成功率。并且第一终端(即发送方终端)的用户也会体验到发图时间缩小了,发图过程变快了。
需要进一步说明的是,如果发送方此时网络正常,图片数据将被全部发送完毕;如果发送方此时网络不稳定导致无法发送更多数据,发送过程也属于成功结束。
步骤S605:第二终端在收到新图片的通知信号之后,向服务器发送查看该图片的请求,服务器将已接收到待传输图片中的数据容量发送至第二终端。
步骤S606:第二终端的第二界面上展示该接收到的服务器已接收到待传输图片中的数据容量。
具体地,如果第二终端的用户立刻查看该待传输图片,将看到MTS数据容量对应的图片;如果用户没有立刻查看,而是过一段时间后查看图片,服务器可能已收到更多甚至完整的图片数据,用户将看到更清晰的图片。
在本发明的上述实施例中,第二终端在展示图片时无需等到接收到完整图片才展示给用户,收到多少就展示多少,用户无需等待,直接看到一个从模糊到清晰变化的图片,大大缩小收图等待时间。
通过本发明上述实施例,传图过程中,待传输图片的图片数据无需完整发送,只要发送的数据容量达到特定阀值,即可认为发送成功;传图过程中,中转服务器无需接收完整图片数据,只要收到的数据容量达到特定阀值,即可通知接收方有新图片;不同的网络环境,使用不同的传输因子,自动适配动态变化的网络质量;使用传输因子计算图片在特定网络条件下的所需发送的最小阈值;传输数据将收发双方的标识信息以及按先主后次的方式组织成数据流;数据的收发都采用流式传输的控制,中转服务器实时确认已接收数据的长度。使用流式数据传输过程,结合渐进式的图片数据格式,能够解决移动设备所处网络复杂多变,传输通道不稳定的问题,提高传图的成功率,同时既能减少发送图片的等待时间,又能减少接收方查看图片的等待时间,提升整个传图过程的用户体验。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根 据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述图片的传输装置,如图7所示,该装置可以包括:第一生成模块10、第一上传模块30以及第二上传模块50。
其中,第一生成模块,用于生成待传输图片的数据流;第一上传模块,用于将预设传输数据容量发送至服务器;第二上传模块,用于从第一层图片编码数据起逐层发送图片编码数据至服务器,直至接收到服务器发送的确认信号,其中,确认信号用于指示服务器已接收到待传输图片中数据容量为预设传输数据容量的图片数据。
其中,数据流包括待传输图片的预设传输数据容量和待传输图片的图片数据,预设传输数据容量小于待传输图片的总数据容量,图片数据包括N层图片编码数据,每层图片编码数据包括待传输图片的各个像素的像素信息,将第一层图片编码数据至第i层图片编码数据叠加得到的图片的分辨率比将第一层图片编码数据至第i+1层图片编码数据叠加得到的图片的分辨率低,1<i≤N,i为自然数。
采用本发明实施例,待传输图片的图片数据中的N层图片编码数据携带有待传输图片的像素的像素信息,从第一层图片编码数据开始发送图片数据,若将接收到的图片编码数据逐层叠加,待传输图片的分辨率逐渐增高(从模糊到清晰)。在将待传输图片的图片编码数据逐层上传至服务器的过程中,若接收到服务器发送的确认信号,即可确认待传输图片上传成 功,则停止上传图片编码数据,上述的确认信号是用于指示服务器已接收到待传输图片中数据容量为预设传输数据容量的图片数据的信号,预设传输数据容量是小于待传输图片的总数据容量的,这样,在尚未完全将待传输图片上传至服务器,即可确认上传成功。通过上述实施例,不用将整个待传输图片的图片数据全部上传完成,即可确认待传输图片上传成功,确认上传成功时得到的图片的是轮廓完整且可识别的图片,缩短了图片传输的时间;在网络不稳定或者设备不稳定的情况下,只要上传完成预设传输数据容量,则认为上传成功,大大地提高了上传图片的成功率。解决了现有技术中图片传输的成功率低的问题,实现了提高图片传输成功率的效果。
上述实施例中的将预设传输数据容量和图片数据上传至服务器可以通过如下方法实现:按照流式传输方式依序将预设传输数据容量和图片数据上传至服务器。也即上述实施例中的将预设传输数据容量发送至服务器,并从第一层图片编码数据起逐层发送图片编码数据至服务器。
其中,流式传输方式即为将数据流按照顺序发送的方式,具体地,数据流按先主后次的顺序像水流一样在网络中传输,传输进行过程实时处理响应。具体到本发明实施例中,先上传预设传输数据容量,在上传完成预设传输数据容量之后,上传图片数据。
在上述实施例中,采用流式传输方式,数据按先主后次的顺序像水流一样在网络中传输,传输进行过程实时处理响应,服务器可以实时向发送方(即图1中示出的第一终端)确认收到的待传输图片的数据容量,接收到特定的数据容量(即上述实施例中的预设传输数据容量)之后,向第一终端发送确认信号,该确认信号指示服务器已接收到待传输图片中数据容量为预设传输数据容量的图片数据。
具体地,在将图片数据上传至服务器的过程中,服务器可以实时记录已接收到的待传输图片的数据容量,并将该已接收到的待传输图片的数据容量实时反馈给第一终端,第一终端根据服务器反馈的已接收到的待传输 图片的数据容量计算上传进度,并在该第一终端的应用程序的第一界面上显示该上传进度。
其中,上传进度为100%,表示服务器已接收到的待传输图片的数据容量为预设传输数据容量。上述的服务器可以为中间服务器,该中间服务器可以用于待传输图片的中间存储。
根据本发明的上述实施例,若接收到服务器发送的确认信号,则确认待传输图片上传成功,在确认待传输图片上传成功之后,在第一终端的应用程序的第一界面上显示待传输图片上传成功的第一提示信息。
上述实施例中的第一终端可以为移动终端。可选地,上述实施例中的图片的传输方法可以应用于即时通讯应用程序,例如,微信、QQ等。
下面以将图片的传输方法应用于微信为例,详细介绍本发明。
第一终端的用户在微信的应用界面(即上述实施例中的第一界面)发起传输图片的请求,在确定待传输图片之后,第一终端生成待传输图片的数据流,该数据流中包括待传输图片的图片数据和待传输图片的预设传输数据容量。在启动图片传输之后,采用流式传输方式将预设传输数据容量和图片数据依序上传给服务器,服务器在接收图片数据的过程中实时向第一终端确认已接收到待传输图片中的数据容量,在已接收到的待传输图片中的数据容量为预设传输长度时,认为待传输图片接收成功,向第一终端发送确认信号,确认已接收到的待传输图片中的数据容量为预设传输长度,第一终端接收到确认信号,在微信的上传图片的进度条中显示上传(或发送)成功。
根据本发明的上述实施例,传输装置还可以包括:第三上传模块,用于在接收到服务器发送的确认信号之后,将第j+1层图片编码数据至第N层图片编码数据逐层上传至服务器,其中,第j层图片编码数据为接收到确认信号时发送的最后一层图片编码数据,1<j<N,j为自然数。
具体地,在服务器已接收到的待传输图片的数据容量为预设传输数据 容量时,确认待传输图片上传成功,然后,继续上传图片数据中尚未上传至服务器的数据。也即,在确认上传成功的情况下,转到后台继续发送待传输图片的图片数据中的剩余的图片编码数据数据,剩余图片编码数据数据即为尚未上传的图片编码数据。
通过上述实施例,在上传预设传输数据容量之后即向用户通知已经上传成功,然后继续将全部的待传输图片的图片数据上传成功,缩短了传图的时间,提高了传输图片的成功率,这样,第一终端的用户体验到发图的时间缩小了,发图过程变快了,在解决上述技术问题的同时提高了用户体验。
在本发明的上述实施例中,第一生成模块可以包括:第一确定子模块,用于使用第一终端的网络状态确定传输因子,其中,第一终端为上传待传输图片的终端;计算模块,用于将待传输图片的总数据容量和传输因子之积作为预设传输数据容量;生成子模块,用于根据待传输图片的预设传输数据容量和待传输图片的图片数据生成数据流。
具体地,第一确定子模块可以包括:第一获取模块,用于获取第一终端当前使用的网络类型数据和网络信号强度;读取模块,用于从数据表中读取网络类型和网络信号强度指向的传输因子,其中,数据表为二维数据表,一个网络类型数据和一个网络信号强度确定一个传输因子。
在使用第一终端上传待传输图片时,最少传输预设传输数据容量,该预设传输数据容量为最小传输数据容量(MTS,Minimal Transport Size)。MTS与待传输图片的图片总数据容量(TS,Total Size)的比值,称为传输因子Q。公式如下:Q=MTS/TS,或者写成:MTS=TS×Q。
由于第一终端的数据传输速率与第一终端所处的网络环境相关,好坏网络的传输速率可能相差上百倍,在待传输图片的总数据容量不变的前提下,第一终端的用户等待待传输图片的传输的时间也将相差上百倍。为了适应不同的网络环境,在本发明的上述实施例中可以通过第一终端所处的网络的网络状态确定传输因子,然后使用传输因子和图片总数据容量确定 待传输图片的MTS。
可选地,网络状态可以使用两个维度的数据来确定网络的传输质量:网络类型数据和网络信号强度。其中,网络类型数据可以包括:WiFi和4G、3G以及2G等网络类型的描述数据;网络信号强度可以使用数据来确定(如80、90以及100),可以使用文字描述来确定网络信号强度(如:强、中、弱),根据网络类型数据和网络信号强度的不同组合,确定传输因子。在上述实施例中还可以结合不同的应用程序对图片质量要求确定传输因子。
上述实施例中的,预设传输数据容量MTS是待传输图片的最小应该传输的数据容量,而不是最终传输的总数据容量,通过上述实施例,在服务器确认传输成功之后,在网络不中断的条件下,第一终端还是可以将整个待传输图片的完整的图片数据完全发送至服务器,以便第二终端获得更加清晰的待传输图片。
在本发明的上述实施例中,在即时通讯应用程序的应用场景中,第一终端生成的数据流中可以包括元数据,该元数据中可以包括:第一终端的第一标识、第二终端的第二标识、待传输图片的总长度以及预设传输长度。其中,第一终端可以为上传(或接收)待传输图片的终端,第二终端可以为下载(或接收)待传输图片的终端,在即时通讯应用程序为微信的情况下,第一标识和第二标识可以分别为微信号。
具体地,第一终端可以将第一标识、第二标识、预设传输数据容量、待传输图片的总数据容量作为元数据放在数据流的最前面,将待传输图片的图片数据放在元数据的后面。按照流式传输方式传输待传输图片时,先发送元数据,在发送完成元数据之后,再发送图片数据。在这个过程中,由于元数据的数据容量很小,在待传输图片的传输过程中不会影响传输速率。
进一步地,在第一终端将元数据发送完成之后,发送图片数据,服务器接收图片数据,并不断向第一终端确认已接收到的待传输图片的数据容 量,同时对元数据进行解析,得到第一终端的第一标识、第二终端的第二标识、待传输图片的总数据容量以及预设传输长度。
根据本发明的上述实施例,第一生成模块可以包括:编码模块,用于对所述待传输图片进行渐进式图片编码得到N层图片编码数据;第二确定子模块,用于将N层图片编码数据作为待传输图片的图片数据。
通过上述实施例可以将待传输图片的格式转换为渐进式JPEG格式,得到格式为渐进式JPEG格式的图片;将格式为渐进式JPEG格式的图片的图片数据作为待传输图片的图片数据。通过上述的渐进式编码,可以得到N层图片编码数据,从第一层图片编码数据开始叠加可以得到分辨率逐渐增高的图片,也即逐层叠加得到的图片可以从模糊到清晰。
其中,渐进式JPEG格式属于JPEG国际标准的一部分,在Android、iOS和WindowsPhone三大移动操作系统自带的JPEG编解码库都直接支持,无需引入第三方编解码库。
通过上述实施例,采用渐进式(progressive)JPEG格式的图片,对图片不是传统的自上而下先左再右的编码过程,而是先轮廓后细节的编码过程,在接收到的图片数据的数据量逐渐变大的过程中,待传输图片的展示从模糊逐渐清晰;并且在上述实施例中采用了流式传输方式,图片数据按先主后次的顺序像水流一样在网络中传输,传输进行过程实时处理响应:服务器实时向第一终端确认收到的待传输图片的数据容量,在接收到特定长度之后确认发送成功,还可以通过第二终端,第二终端实时将收到的数据(即上述的预设传输数据容量的数据)展示在第二界面上。整个图片的传输过程,无论是对于第一终端还是对于第二终端,图片传输的时间都很短,对于使用第一终端和第二终端的用户来讲,需要等待时间也会大大缩小。
需要进一步说明的是,传输装置还可以包括:第一接收模块,用于在将预设传输数据容量和图片数据上传至服务器之后,服务器实时记录已接收到待传输图片中的数据容量;第二生成模块,用于在已接收到待传输图 片中的数据容量为预设传输数据容量时,生成确认信号和通知信号;第一发送模块,用于将确认信号发送至第一终端,其中,第一终端为上传待传输图片的终端;以及第二发送模块,用于将通知信号发送至第二终端,其中,通知信号用于通知第二终端接收待传输图片。
具体地,传输装置还可以包括:第三发送模块,用于在将通知信号发送至第二终端之后,在接收到第二终端的查看待传输图片的信息之后,将已接收到待传输图片中的数据容量发送至第二终端。
根据上述实施例,在第一终端按照流式传输方式将预设传输数据容量和图片数据上传至服务器,服务器首先接收到的是预设传输数据容量,在待传输图片的图片数据上传至服务器的过程中,服务器实时记录已接收到待传输图片中的数据容量,并且实时比较已接收到待传输图片中的数据容量与预设传输数据容量,在已接收到待传输图片中的数据容量为预设传输数据容量时,生成确认信号和通知信号,然后将确认信号发送至上传待传输图片的第一终端,并将通知信号发送至第二终端,通知第二终端接收待传输图片。
具体地,在将通知信号发送至第二终端之后,传输方法还可以包括:在接收到第二终端的查看待传输图片的信息之后,将已接收到待传输图片中的数据容量发送至第二终端。
本实施例中所提供的各个模块与方法实施例对应步骤所提供的使用方法相同、应用场景也可以相同。当然,需要注意的是,上述模块涉及的方案可以不限于上述实施例一中的内容和场景,且上述模块可以运行在计算机终端或移动终端,可以通过软件或硬件实现。
实施例3
根据本发明实施例,提供了一种图片的传输方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情 况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本发明实施例,提供了一种图片的传输方法,如图8所示,该方法包括如下步骤:
步骤S802:接收待传输图片的预设传输数据容量,并从第一层图片编码数据起逐层接收图片编码数据。
其中,预设传输数据容量小于待传输图片的总数据容量,待传输图片的图片数据包括N层图片编码数据,每层图片编码数据包括待传输图片的各个像素的像素信息,将第一层图片编码数据至第i层图片编码数据叠加得到的图片的分辨率比将第一层图片编码数据至第i+1层图片编码数据得到的图片的分辨率低,1<i≤N,i为自然数。
步骤S804:在接收图片编码数据的过程中,实时记录已接收到待传输图片中的数据容量。
步骤S806:判断已接收到待传输图片中的数据容量是否为预设传输数据容量。
步骤S808:在已接收到待传输图片中的数据容量为预设传输数据容量时,判断出待传输图片上传成功。
采用本发明实施例,待传输图片的图片数据中的N层图片编码数据携带有待传输图片的像素的像素信息,从第一层图片编码数据开始发送图片数据,若将接收到的图片编码数据逐层叠加,待传输图片的分辨率逐渐增高(从模糊到清晰)。在将待传输图片的图片编码数据逐层上传至服务器的过程中,若接收到服务器发送的确认信号,即可确认待传输图片上传成功,则停止上传图片编码数据,上述的确认信号是用于指示服务器已接收到待传输图片中数据容量为预设传输数据容量的图片数据的信号,预设传输数据容量是小于待传输图片的总数据容量的,这样,在尚未完全将待传输图片上传至服务器,即可确认上传成功。通过上述实施例,不用将整个待传输图片的图片数据全部上传完成,即可确认待传输图片上传成功,确 认上传成功时得到的图片的是轮廓完整且可识别的图片,缩短了图片传输的时间;在网络不稳定或者设备不稳定的情况下,只要上传完成预设传输数据容量,则认为上传成功,大大地提高了上传图片的成功率。解决了现有技术中图片传输的成功率低的问题,实现了提高图片传输成功率的效果。
上述实施例中的将预设传输数据容量和图片数据上传至服务器可以通过如下方法实现:按照流式传输方式依序将预设传输数据容量和图片数据上传至服务器。也即上述实施例中的将预设传输数据容量发送至服务器,并从第一层图片编码数据起逐层发送图片编码数据至服务器。
其中,流式传输方式即为将数据流按照顺序发送的方式,具体地,数据流按先主后次的顺序像水流一样在网络中传输,传输进行过程实时处理响应。具体到本发明实施例中,先上传预设传输数据容量,在上传完成预设传输数据容量之后,上传剩余的图片编码数据。
在上述实施例中,采用流式传输方式,数据按先主后次的顺序像水流一样在网络中传输,传输进行过程实时处理响应,服务器可以实时向发送方(即图1中示出的第一终端)确认收到的待传输图片的数据容量,接收到特定的数据容量(即上述实施例中的预设传输数据容量)之后,向第一终端发送确认信号,该确认信号指示服务器已接收到待传输图片中数据容量为预设传输数据容量的图片数据。
具体地,在将图片数据上传至服务器的过程中,服务器可以实时记录已接收到的待传输图片的数据容量,并将该已接收到的待传输图片的数据容量实时反馈给第一终端,第一终端根据服务器反馈的已接收到的待传输图片的数据容量计算上传进度,并在该第一终端的应用程序的第一界面上显示该上传进度。
其中,上传进度为100%,表示服务器已接收到的待传输图片的数据容量为预设传输数据容量。上述的服务器可以为中间服务器,该中间服务器可以用于待传输图片的中间存储。
根据本发明的上述实施例,若接收到服务器发送的确认信号,则确认待传输图片上传成功,在确认待传输图片上传成功之后,在第一终端的应用程序的第一界面上显示待传输图片上传成功的第一提示信息。
上述实施例中的第一终端可以为移动终端。可选地,上述实施例中的图片的传输方法可以应用于即时通讯应用程序,例如,微信、QQ等。
下面以将图片的传输方法应用于微信为例,详细介绍本发明。
第一终端的用户在微信的应用界面(即上述实施例中的第一界面)发起传输图片的请求,在确定待传输图片之后,第一终端生成待传输图片的数据流,该数据流中包括待传输图片的图片数据和待传输图片的预设传输数据容量。在启动图片传输之后,采用流式传输方式将预设传输数据容量和图片数据依序上传给服务器,服务器在接收图片数据的过程中实时向第一终端确认已接收到待传输图片中的数据容量,在已接收到的待传输图片中的数据容量为预设传输长度时,认为待传输图片接收成功,向第一终端发送确认信号,确认已接收到的待传输图片中的数据容量为预设传输长度,第一终端接收到确认信号,在微信的上传图片的进度条中显示上传(或发送)成功。
根据本发明的上述实施例,传输方法还可以包括:在已接收到待传输图片中的数据容量为预设传输数据容量时,生成确认信号和通知信号;将确认信号发送至第一终端,其中,第一终端为上传待传输图片的终端;以及将通知信号发送至第二终端,其中,通知信号用于通知第二终端接收待传输图片。
具体地,在传输待传输图片之前,如果将待传输图片不为渐进式JPEG格式,则将待传输图片的格式转换为渐进式JPEG格式(可以通过上述实施例中进行渐进式图片编码实现),得到格式为渐进式JPEG格式的图片;将格式为渐进式JPEG格式的图片的图片数据作为待传输图片的图片数据。
可选地,渐进式JPEG格式属于JPEG国际标准的一部分,在Android、iOS和WindowsPhone三大移动操作系统自带的JPEG编解码库都直接支持,无需引入第三方编解码库。
通过上述实施例,采用渐进式(progressive)JPEG格式的图片,对图片不是传统的自上而下先左再右的编码过程,而是先轮廓后细节的编码过程,在接收到的图片数据的数据量逐渐变大的过程中,待传输图片的展示从模糊逐渐清晰;并且在上述实施例中采用了流式传输方式,图片数据按先主后次的顺序像水流一样在网络中传输,传输进行过程实时处理响应:服务器实时向第一终端确认收到的待传输图片的数据容量,在接收到特定长度之后确认发送成功,还可以通过第二终端,第二终端实时将收到的数据(即上述的预设传输数据容量的数据)展示在第二界面上。整个图片的传输过程,无论是对于第一终端还是对于第二终端,图片传输的时间都很短,对于使用第一终端和第二终端的用户来讲,需要等待时间也会大大缩小。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所 述的方法。
实施例4
根据本发明实施例,还提供了一种用于实施上述图片的传输装置,如图7所示,该装置可以包括:接收模块20、记录模块40、判断模块60以及结果确认模块80。
其中,接收模块20,用于接收待传输图片的预设传输数据容量,并从第一层图片编码数据起逐层接收图片编码数据;记录模块40,用于在接收图片编码数据的过程中,实时记录已接收到待传输图片中的数据容量;判断模块60,用于判断已接收到待传输图片中的数据容量是否为预设传输数据容量;结果确认模块80,用于各在已接收到待传输图片中的数据容量为预设传输数据容量时,判断出待传输图片上传成功。
其中,预设传输数据容量小于待传输图片的总数据容量,待传输图片的图片数据包括N层图片编码数据,每层图片编码数据包括待传输图片的各个像素的像素信息,将第一层图片编码数据至第i层图片编码数据叠加得到的图片的分辨率比将第一层图片编码数据至第i+1层图片编码数据得到的图片的分辨率低,1<i≤N,i为自然数。
采用本发明实施例,待传输图片的图片数据中的N层图片编码数据携带有待传输图片的像素的像素信息,从第一层图片编码数据开始发送图片数据,若将接收到的图片编码数据逐层叠加,待传输图片的分辨率逐渐增高(从模糊到清晰)。在将待传输图片的图片编码数据逐层上传至服务器的过程中,若接收到服务器发送的确认信号,即可确认待传输图片上传成功,则停止上传图片编码数据,上述的确认信号是用于指示服务器已接收到待传输图片中数据容量为预设传输数据容量的图片数据的信号,预设传输数据容量是小于待传输图片的总数据容量的,这样,在尚未完全将待传输图片上传至服务器,即可确认上传成功。通过上述实施例,不用将整个待传输图片的图片数据全部上传完成,即可确认待传输图片上传成功,确认上传成功时得到的图片的是轮廓完整且可识别的图片,缩短了图片传输的时间;在网络不稳定或者设备不稳定的情况下,只要上传完成预设传输数据容量,则认为上传成功,大大地提高了上传图片的成功率。解决了现有技术中图片传输的成功率低的问题,实现了提高图片传输成功率的效果。
上述实施例中的将预设传输数据容量和图片数据上传至服务器可以通过如下方法实现:按照流式传输方式依序将预设传输数据容量和图片数据上传至服务器。也即上述实施例中的将预设传输数据容量发送至服务器,并从第一层图片编码数据起逐层发送图片编码数据至服务器。
根据本发明的上述实施例,传输装置还可以包括:生成模块,用于在已接收到待传输图片中的数据容量为预设传输数据容量时,生成确认信号和通知信号;第一发送模块,用于将确认信号发送至第一终端,其中,第一终端为上传待传输图片的终端;以及第二发送模块,用于将通知信号发送至第二终端,其中,通知信号用于通知第二终端接收待传输图片。
其中,待传输图片为渐进式JPEG格式的图片。
具体地,在传输待传输图片之前,如果将待传输图片不为渐进式JPEG格式,则将待传输图片的格式转换为渐进式JPEG格式(可以通过上述实施例中进行渐进式图片编码实现),得到格式为渐进式JPEG格式的图片;将格式为渐进式JPEG格式的图片的图片数据作为待传输图片的图片数据。
通过上述实施例,采用渐进式(progressive)JPEG格式的图片,对图片不是传统的自上而下先左再右的编码过程,而是先轮廓后细节的编码过程,在接收到的图片数据的数据量逐渐变大的过程中,待传输图片的展示从模糊逐渐清晰;并且在上述实施例中采用了流式传输方式,图片数据按先主后次的顺序像水流一样在网络中传输,传输进行过程实时处理响应:服务器实时向第一终端确认收到的待传输图片的数据容量,在接收到特定长度之后确认发送成功,还可以通过第二终端,第二终端实时将收到的数据(即上述的预设传输数据容量的数据)展示在第二界面上。整个图片的 传输过程,无论是对于第一终端还是对于第二终端,图片传输的时间都很短,对于使用第一终端和第二终端的用户来讲,需要等待时间也会大大缩小。
本实施例中所提供的各个模块与方法实施例对应步骤所提供的使用方法相同、应用场景也可以相同。当然,需要注意的是,上述模块涉及的方案可以不限于上述实施例一中的内容和场景,且上述模块可以运行在计算机终端或移动终端,可以通过软件或硬件实现。
实施例5
本发明的实施例还提供了一种图片的传输系统。可选地,在本实施例中,上述系统可以执行图片的传输方法,该系统可以位于图1所示的网络中。
该系统可以包括:第一终端,用于生成待传输图片的数据流,其中,数据流包括待传输图片的预设传输数据容量和待传输图片的图片数据,图片数据包括N层图片编码数据,在将预设传输数据容量发送至服务器之后,从第一层图片编码数据起逐层发送图片编码数据至服务器,其中,预设传输数据容量小于待传输图片的总数据容量,每层图片编码数据包括待传输图片的各个像素的像素信息,将第一层图片编码数据至第i层图片编码数据叠加得到的图片分辨率比将第一层图片编码数据至第i+1层图片编码数据得到的图片的分辨率低,1<i≤N,i为自然数;服务器,与第一终端连接,用于在接收图片数据的过程中,实时记录已接收到待传输图片中的数据容量,判断已接收到待传输图片中的数据容量是否为预设传输数据容量,在已接收到待传输图片中的数据容量为预设传输数据容量时,判断出待传输图片上传成功。
采用本发明实施例,待传输图片的图片数据中的N层图片编码数据携带有待传输图片的像素的像素信息,从第一层图片编码数据开始发送图片数据,若将接收到的图片编码数据逐层叠加,待传输图片的分辨率逐渐增高(从模糊到清晰)。在将待传输图片的图片编码数据逐层上传至服务器 的过程中,若接收到服务器发送的确认信号,即可确认待传输图片上传成功,则停止上传图片编码数据,上述的确认信号是用于指示服务器已接收到待传输图片中数据容量为预设传输数据容量的图片数据的信号,预设传输数据容量是小于待传输图片的总数据容量的,这样,在尚未完全将待传输图片上传至服务器,即可确认上传成功。通过上述实施例,不用将整个待传输图片的图片数据全部上传完成,即可确认待传输图片上传成功,确认上传成功时得到的图片的是轮廓完整且可识别的图片,缩短了图片传输的时间;在网络不稳定或者设备不稳定的情况下,只要上传完成预设传输数据容量,则认为上传成功,大大地提高了上传图片的成功率。解决了现有技术中图片传输的成功率低的问题,实现了提高图片传输成功率的效果。
上述实施例中的将预设传输数据容量和图片数据上传至服务器可以通过如下方法实现:按照流式传输方式依序将预设传输数据容量和图片数据上传至服务器。也即上述实施例中的将预设传输数据容量发送至服务器,并从第一层图片编码数据起依次发送图片数据至服务器。
根据本发明上述实施例,服务器还用于在已接收到待传输图片中的数据容量为预设传输数据容量时,生成确认信号和通知信号,并将确认信号发送至第一终端,以及将通知信号发送至第二终端;传输系统还可以包括:第二终端,与服务器连接,用于接收通知信号,并按照通知信号下载待传输图片。
具体地,在传输待传输图片之前,如果将待传输图片不为渐进式JPEG格式,则将待传输图片的格式转换为渐进式JPEG格式(可以通过上述实施例中进行渐进式图片编码实现),得到格式为渐进式JPEG格式的图片;将格式为渐进式JPEG格式的图片的图片数据作为待传输图片的图片数据。
通过上述实施例,采用渐进式(progressive)JPEG格式的图片,对图片不是传统的自上而下先左再右的编码过程,而是先轮廓后细节的编码过 程,在接收到的图片编码数据的数据量逐渐变大的过程中,待传输图片的展示从模糊逐渐清晰;并且在上述实施例中采用了流式传输方式,图片数据按先主后次的顺序像水流一样在网络中传输,传输进行过程实时处理响应:服务器实时向第一终端确认收到的待传输图片的数据容量,在接收到特定长度之后确认发送成功,还可以通过第二终端,第二终端实时将收到的数据(即上述的预设传输数据容量的数据)展示在第二界面上。整个图片的传输过程,无论是对于第一终端还是对于第二终端,图片传输的时间都很短,对于使用第一终端和第二终端的用户来讲,需要等待时间也会大大缩小。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
实施例6
本发明的实施例还提供了一种终端或服务器。可选地,在本实施例中,上述终端可以执行图片的传输方法,上述实施例中的同源图像的校验装置可以设置在该终端或服务器上。
图10是根据本发明实施例的一种终端的结构框图。如图10所示,该终端可以包括:一个或多个(图中仅示出一个)处理器201、存储器203、以及传输装置205,如图10所示,该终端还可以包括输入输出设备207和天线209。
其中,存储器203可用于存储软件程序以及模块,如本发明实施例中的图片的传输方法、装置和系统对应的程序指令/模块,处理器201通过运行存储在存储器203内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的图片的传输方法。存储器203可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器203可进一步包括相对于处理器201远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移 动通信网及其组合。
上述的传输装置205用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置205包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置205为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器203用于存储应用程序。
处理器201可以通过传输装置205调用存储器203存储的应用程序,以执行下述步骤:生成待传输图片的数据流;将预设传输数据容量发送至服务器;从第一层图片编码数据起逐层发送图片编码数据至服务器,直至接收到服务器发送的确认信号。
其中,确认信号用于指示服务器已接收到待传输图片中数据容量为预设传输数据容量的图片数据。
其中,数据流包括待传输图片的预设传输数据容量和待传输图片的图片数据,预设传输数据容量小于待传输图片的总数据容量,图片数据包括N层图片编码数据,每层图片编码数据包括待传输图片的各个像素的像素信息,将第一层图片编码数据至第i层图片编码数据叠加得到的图片的分辨率比将第一层图片编码数据至第i+1层图片编码数据叠加得到的图片的分辨率低,1<i≤N,i为自然数。
采用本发明实施例,待传输图片的图片数据中的N层图片编码数据携带有待传输图片的像素的像素信息,从第一层图片编码数据开始发送图片数据,若将接收到的图片编码数据逐层叠加,待传输图片的分辨率逐渐增高(从模糊到清晰)。在将待传输图片的图片编码数据逐层上传至服务器的过程中,若接收到服务器发送的确认信号,即可确认待传输图片上传成功,则停止上传图片编码数据,上述的确认信号是用于指示服务器已接收到待传输图片中数据容量为预设传输数据容量的图片数据的信号,预设传 输数据容量是小于待传输图片的总数据容量的,这样,在尚未完全将待传输图片上传至服务器,即可确认上传成功。通过上述实施例,不用将整个待传输图片的图片数据全部上传完成,即可确认待传输图片上传成功,确认上传成功时得到的图片的是轮廓完整且可识别的图片,缩短了图片传输的时间;在网络不稳定或者设备不稳定的情况下,只要上传完成预设传输数据容量,则认为上传成功,大大地提高了上传图片的成功率。解决了现有技术中图片传输的成功率低的问题,实现了提高图片传输成功率的效果。
上述实施例中的将预设传输数据容量和图片数据上传至服务器可以通过如下方法实现:按照流式传输方式依序将预设传输数据容量和图片数据上传至服务器。也即上述实施例中的将预设传输数据容量发送至服务器,并从第一层图片编码数据起逐层发送图片编码数据至服务器。
在本发明的上述实施例中,处理器还用于执行下述操作:对所述待传输图片进行渐进式图片编码得到N层图片编码数据;将N层图片编码数据作为待传输图片的图片数据。
通过上述实施例可以将待传输图片的格式转换为渐进式JPEG格式,得到格式为渐进式JPEG格式的图片;将格式为渐进式JPEG格式的图片的图片数据作为待传输图片的图片数据。通过上述的渐进式编码,可以得到N层图片编码数据,从第一层图片编码数据开始叠加可以得到分辨率逐渐增高的图片,也即逐层叠加得到的图片可以从模糊到清晰。
可选地,渐进式JPEG格式属于JPEG国际标准的一部分,在Android、iOS和WindowsPhone三大移动操作系统自带的JPEG编解码库都直接支持,无需引入第三方编解码库。
通过上述实施例,采用渐进式(progressive)JPEG格式的图片,对图片不是传统的自上而下先左再右的编码过程,而是先轮廓后细节的编码过程,在接收到的图片编码数据的数据量逐渐变大的过程中,待传输图片的展示从模糊逐渐清晰;并且在上述实施例中采用了流式传输方式,图片数 据按先主后次的顺序像水流一样在网络中传输,传输进行过程实时处理响应:服务器实时向第一终端确认收到的待传输图片的数据容量,在接收到特定长度之后确认发送成功,还可以通过第二终端,第二终端实时将收到的数据(即上述的预设传输数据容量的数据)展示在第二界面上。整个图片的传输过程,无论是对于第一终端还是对于第二终端,图片传输的时间都很短,对于使用第一终端和第二终端的用户来讲,需要等待时间也会大大缩小。
在本发明的上述实施例中,处理器还用于执行下述操作:接收待传输图片的预设传输数据容量,并从第一层图片编码数据起逐层接收图片编码数据;在接收图片编码数据的过程中,实时记录已接收到待传输图片中的数据容量;判断已接收到待传输图片中的数据容量是否为预设传输数据容量;在已接收到待传输图片中的数据容量为预设传输数据容量时,判断出待传输图片上传成功。
其中,预设传输数据容量小于待传输图片的总数据容量,待传输图片的图片数据包括N层图片编码数据,每层图片编码数据包括待传输图片的各个像素的像素信息,将第一层图片编码数据至第i层图片编码数据叠加得到的图片的分辨率比将第一层图片编码数据至第i+1层图片编码数据得到的图片的分辨率低,1<i≤N,i为自然数。
采用本发明实施例,待传输图片的图片数据中的N层图片编码数据携带有待传输图片的像素的像素信息,从第一层图片编码数据开始发送图片数据,若将接收到的图片编码数据逐层叠加,待传输图片的分辨率逐渐增高(从模糊到清晰)。在将待传输图片的图片编码数据逐层上传至服务器的过程中,若接收到服务器发送的确认信号,即可确认待传输图片上传成功,则停止上传图片编码数据,上述的确认信号是用于指示服务器已接收到待传输图片中数据容量为预设传输数据容量的图片数据的信号,预设传输数据容量是小于待传输图片的总数据容量的,这样,在尚未完全将待传输图片上传至服务器,即可确认上传成功。通过上述实施例,不用将整个 待传输图片的图片数据全部上传完成,即可确认待传输图片上传成功,确认上传成功时得到的图片的是轮廓完整且可识别的图片,缩短了图片传输的时间;在网络不稳定或者设备不稳定的情况下,只要上传完成预设传输数据容量,则认为上传成功,大大地提高了上传图片的成功率。解决了现有技术中图片传输的成功率低的问题,实现了提高图片传输成功率的效果。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
需要进一步说明的是,寄存区域为系统的内存和系统处理器中的寄存器。
本领域普通技术人员可以理解,图10所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图10其并不对上述电子装置的结构造成限定。例如,终端200还可包括比图10中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图10所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例7
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述的存储介质存储用于执行图片的传输方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于实施例6所示的终端上。
可选地,在本实施例中,上述存储介质可以位于网络中的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
步骤S1:生成待传输图片的数据流。
其中,数据流包括待传输图片的预设传输数据容量和待传输图片的图片数据,预设传输数据容量小于待传输图片的总数据容量,图片数据包括N层图片编码数据,每层图片编码数据包括待传输图片的各个像素的像素信息,将第一层图片编码数据至第i层图片编码数据叠加得到的图片的分辨率比将第一层图片编码数据至第i+1层图片编码数据叠加得到的图片的分辨率低,1<i≤N,i为自然数。
步骤S3:将预设传输数据容量发送至服务器。
步骤S5:从第一层图片编码数据起逐层发送图片编码数据至服务器,直至接收到服务器发送的确认信号。
其中,确认信号用于指示服务器已接收到待传输图片中数据容量为预设传输数据容量的图片数据。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
步骤S2:接收待传输图片的预设传输数据容量,并从第一层图片编码数据起逐层接收图片编码数据。
其中,预设传输数据容量小于待传输图片的总数据容量,待传输图片的图片数据包括N层图片编码数据,每层图片编码数据包括待传输图片的各个像素的像素信息,将第一层图片编码数据至第i层图片编码数据叠加得到的图片的分辨率比将第一层图片编码数据至第i+1层图片编码数据得到的图片的分辨率低,1<i≤N,i为自然数。
步骤S4:在接收图片编码数据的过程中,实时记录已接收到待传输图片中的数据容量。
步骤S6:判断已接收到待传输图片中的数据容量是否为预设传输数据容量。
步骤S8:在已接收到待传输图片中的数据容量为预设传输数据容量时,判断出待传输图片上传成功。
采用本发明实施例,待传输图片的图片数据中的N层图片编码数据携带有待传输图片的像素的像素信息,从第一层图片编码数据开始发送图片数据,若将接收到的图片编码数据逐层叠加,待传输图片的分辨率逐渐增高(从模糊到清晰)。在将待传输图片的图片编码数据逐层上传至服务器的过程中,若接收到服务器发送的确认信号,即可确认待传输图片上传成功,则停止上传图片编码数据,上述的确认信号是用于指示服务器已接收到待传输图片中数据容量为预设传输数据容量的图片数据的信号,预设传输数据容量是小于待传输图片的总数据容量的,这样,在尚未完全将待传输图片上传至服务器,即可确认上传成功。通过上述实施例,不用将整个待传输图片的图片数据全部上传完成,即可确认待传输图片上传成功,确认上传成功时得到的图片的是轮廓完整且可识别的图片,缩短了图片传输的时间;在网络不稳定或者设备不稳定的情况下,只要上传完成预设传输数据容量,则认为上传成功,大大地提高了上传图片的成功率。解决了现有技术中图片传输的成功率低的问题,实现了提高图片传输成功率的效果。
上述实施例中可以按照流式传输方式依序将预设传输数据容量和图片数据上传至服务器。
可选地,在本实施例中,存储介质还可以存储用于执行以下步骤的程序代码:在已接收到待传输图片中的数据容量为预设传输数据容量时,生成确认信号和通知信号;将确认信号发送至第一终端,其中,第一终端为上传待传输图片的终端;以及将通知信号发送至第二终端,其中,通知信 号用于通知第二终端接收待传输图片。
其中,待传输图片为渐进式JPEG格式的图片。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的, 作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围

Claims (20)

1.一种图片的传输方法,其特征在于,包括:
生成待传输图片的数据流,其中,所述数据流包括所述待传输图片的预设传输数据容量和所述待传输图片的图片数据,所述预设传输数据容量小于所述待传输图片的总数据容量,所述图片数据包括N层图片编码数据,每层所述图片编码数据包括所述待传输图片的各个像素的像素信息,将第一层所述图片编码数据至第i层所述图片编码数据叠加得到的图片的分辨率比将所述第一层所述图片编码数据至第i+1层所述图片编码数据叠加得到的图片的分辨率低,1<i≤N,i为自然数;
将所述预设传输数据容量发送至服务器;
从第一层所述图片编码数据起逐层发送所述图片编码数据至所述服务器,直至接收到所述服务器发送的确认信号,
其中,所述确认信号用于指示所述服务器已接收到所述待传输图片中数据容量为所述预设传输数据容量的图片数据。
2.根据权利要求1所述的传输方法,其特征在于,在接收到所述服务器发送的确认信号之后,所述传输方法还包括:
将第j+1层所述图片编码数据至第N层所述图片编码数据逐层上传至所述服务器,
其中,第j层所述图片编码数据为接收到所述确认信号时发送的最后一层所述图片编码数据,1<j<N,j为自然数。
3.根据权利要求1所述的传输方法,其特征在于,所述生成待传输图片的数据流包括:
使用第一终端的网络状态确定传输因子,其中,所述第一终端为上传所述待传输图片的终端;
将所述待传输图片的总数据容量和所述传输因子之积作为所述预设传输数据容量;
根据所述待传输图片的预设传输数据容量和所述待传输图片的图片数据生成所述数据流。
4.根据权利要求3所述的传输方法,其特征在于,使用第一终端的网络状态确定传输因子包括:
获取所述第一终端当前使用的网络类型数据和网络信号强度;
从数据表中读取所述网络类型和所述网络信号强度指向的所述传输因子,
其中,所述数据表为二维数据表,一个所述网络类型数据和一个所述网络信号强度确定一个所述传输因子。
5.根据权利要求1至4中任意一项所述的传输方法,其特征在于,所述生成待传输图片的数据流包括:
对所述待传输图片进行渐进式图片编码得到所述N层图片编码数据;
将所述N层图片编码数据作为所述待传输图片的图片数据。
6.根据权利要求1至4中任意一项所述的传输方法,其特征在于,在将所述预设传输数据容量和所述图片数据上传至服务器之后,所述传输方法还包括:
所述服务器实时记录已接收到所述待传输图片中的数据容量;
在所述已接收到所述待传输图片中的数据容量为所述预设传输数据容量时,生成所述确认信号和通知信号;
将所述确认信号发送至第一终端,其中,所述第一终端为上传所述待传输图片的终端;以及
将所述通知信号发送至第二终端,其中,所述通知信号用于通知所述第二终端接收所述待传输图片。
7.根据权利要求6所述的传输方法,其特征在于,在将所述通知信号发送至第二终端之后,所述传输方法还包括:
在接收到所述第二终端的查看所述待传输图片的信息之后,将已接收到所述待传输图片中的数据容量发送至所述第二终端。
8.一种图片的传输装置,其特征在于,包括:
第一生成模块,用于生成待传输图片的数据流,其中,所述数据流包括所述待传输图片的预设传输数据容量和所述待传输图片的图片数据,所述预设传输数据容量小于所述待传输图片的总数据容量,所述图片数据包括N层图片编码数据,每层所述图片编码数据包括所述待传输图片的各个像素的像素信息,将第一层所述图片编码数据至第i层所述图片编码数据叠加得到的图片的分辨率比将所述第一层所述图片编码数据至第i+1层所述图片编码数据得到的图片的分辨率低,1<i≤N,i为自然数;
第一上传模块,用于将所述预设传输数据容量发送至服务器;
第二上传模块,用于从第一层所述图片编码数据起逐层发送所述图片编码数据至所述服务器,直至接收到所述服务器发送的确认信号,
其中,所述确认信号用于指示所述服务器已接收到所述待传输图片中数据容量为所述预设传输数据容量的图片数据。
9.根据权利要求8所述的传输装置,其特征在于,所述传输装置还包括:
第三上传模块,用于在接收到所述服务器发送的确认信号之后,将第j+1层所述图片编码数据至第N层所述图片编码数据逐层上传至所述服务器,
其中,第j层所述图片编码数据为接收到所述确认信号时发送的最后一层所述图片编码数据,1<j<N,j为自然数。
10.根据权利要求8所述的传输装置,其特征在于,所述第一生成模块包括:
第一确定子模块,用于使用第一终端的网络状态确定传输因子,其中,所述第一终端为上传所述待传输图片的终端;
计算模块,用于将所述待传输图片的总数据容量和所述传输因子之积作为所述预设传输数据容量;
生成子模块,用于根据所述待传输图片的预设传输数据容量和所述待传输图片的图片数据生成所述数据流。
11.根据权利要求10所述的传输装置,其特征在于,所述第一确定子模块包括:
第一获取模块,用于获取所述第一终端当前使用的网络类型数据和网络信号强度;
读取模块,用于从数据表中读取所述网络类型和所述网络信号强度指向的所述传输因子,
其中,所述数据表为二维数据表,一个所述网络类型数据和一个所述网络信号强度确定一个所述传输因子。
12.根据权利要求8至11中任意一项所述的传输装置,其特征在于,所述第一生成模块包括:
编码模块,用于对所述待传输图片进行渐进式图片编码得到所述N层图片编码数据;
第二确定子模块,用于将所述N层图片编码数据作为所述待传输图片的图片数据。
13.根据权利要求8至11中任意一项所述的传输装置,其特征在于,所述传输装置还包括:
第一接收模块,用于在将所述预设传输数据容量和所述图片数据上传至服务器之后,所述服务器实时记录已接收到所述待传输图片中的数据容量;
第二生成模块,用于在所述已接收到所述待传输图片中的数据容量为所述预设传输数据容量时,生成所述确认信号和通知信号;
第一发送模块,用于将所述确认信号发送至第一终端,其中,所述第一终端为上传所述待传输图片的终端;以及
第二发送模块,用于将所述通知信号发送至第二终端,其中,所述通知信号用于通知所述第二终端接收所述待传输图片。
14.根据权利要求13所述的传输装置,其特征在于,所述传输装置还包括:
第三发送模块,用于在将所述通知信号发送至第二终端之后,在接收到所述第二终端的查看所述待传输图片的信息之后,将已接收到所述待传输图片中的数据容量发送至所述第二终端。
15.一种图片的传输方法,其特征在于,包括:
接收待传输图片的预设传输数据容量,并从第一层图片编码数据起逐层接收图片编码数据,其中,所述预设传输数据容量小于所述待传输图片的总数据容量,所述待传输图片的图片数据包括N层图片编码数据,每层所述图片编码数据包括所述待传输图片的各个像素的像素信息,将第一层所述图片编码数据至第i层所述图片编码数据叠加得到的图片的分辨率比将第一层所述图片编码数据至第i+1层所述图片编码数据得到的图片的分辨率低,1<i≤N,i为自然数;
在接收所述图片编码数据的过程中,实时记录已接收到所述待传输图片中的数据容量;
判断所述已接收到所述待传输图片中的数据容量是否为所述预设传输数据容量;
在所述已接收到所述待传输图片中的数据容量为所述预设传输数据容量时,判断出所述待传输图片上传成功。
16.根据权利要求15所述的传输方法,其特征在于,所述传输方法还包括:
在所述已接收到所述待传输图片中的数据容量为所述预设传输数据容量时,生成确认信号和通知信号;
将所述确认信号发送至第一终端,其中,所述第一终端为上传所述待传输图片的终端;以及
将所述通知信号发送至第二终端,其中,所述通知信号用于通知所述第二终端接收所述待传输图片。
17.一种图片的传输装置,其特征在于,包括:
接收模块,用于接收待传输图片的预设传输数据容量,并从第一层图片编码数据起逐层接收图片编码数据,其中,所述预设传输数据容量小于所述待传输图片的总数据容量,所述待传输图片的图片数据包括N层图片编码数据,每层所述图片编码数据包括所述待传输图片的各个像素的像素信息,将第一层所述图片编码数据至第i层所述图片编码数据叠加得到的图片的分辨率比将第一层所述图片编码数据至第i+1层所述图片编码数据得到的图片的分辨率低,1<i≤N,i为自然数;
记录模块,用于在接收所述图片编码数据的过程中,实时记录已接收到所述待传输图片中的数据容量;
判断模块,用于判断所述已接收到所述待传输图片中的数据容量是否为所述预设传输数据容量;
结果确认模块,用于各在所述已接收到所述待传输图片中的数据容量为所述预设传输数据容量时,判断出所述待传输图片上传成功。
18.根据权利要求17所述的传输装置,其特征在于,所述传输装置还包括:
生成模块,用于在所述已接收到所述待传输图片中的数据容量为所述预设传输数据容量时,生成确认信号和通知信号;
第一发送模块,用于将所述确认信号发送至第一终端,其中,所述第一终端为上传所述待传输图片的终端;以及
第二发送模块,用于将所述通知信号发送至第二终端,其中,所述通知信号用于通知所述第二终端接收所述待传输图片。
19.一种图片的传输系统,其特征在于,包括:
第一终端,用于生成待传输图片的数据流,其中,所述数据流包括所述待传输图片的预设传输数据容量和所述待传输图片的图片数据,所述图片数据包括N层图片编码数据,在将所述预设传输数据容量发送至服务器之后,从第一层所述图片编码数据起逐层发送所述图片编码数据至所述服务器,
其中,所述预设传输数据容量小于所述待传输图片的总数据容量,每层所述图片编码数据包括所述待传输图片的各个像素的像素信息,将第一层所述图片编码数据至第i层所述图片编码数据叠加得到的图片分辨率比将第一层所述图片编码数据至第i+1层所述图片编码数据得到的图片的分辨率低,1<i≤N,i为自然数;
服务器,与所述第一终端连接,用于在接收所述图片数据的过程中,实时记录已接收到所述待传输图片中的数据容量,判断所述已接收到所述待传输图片中的数据容量是否为所述预设传输数据容量,在所述已接收到所述待传输图片中的数据容量为所述预设传输数据容量时,判断出所述待传输图片上传成功。
20.根据权利要求19所述的传输系统,其特征在于,
所述服务器还用于在所述已接收到所述待传输图片中的数据容量为所述预设传输数据容量时,生成确认信号和通知信号,并将所述确认信号发送至所述第一终端,以及将所述通知信号发送至第二终端;
所述传输系统还包括:所述第二终端,与所述服务器连接,用于接收所述通知信号,并按照所述通知信号下载所述待传输图片。
CN201410468586.4A 2014-09-15 2014-09-15 图片的传输方法、装置和系统 Active CN104954813B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410468586.4A CN104954813B (zh) 2014-09-15 2014-09-15 图片的传输方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410468586.4A CN104954813B (zh) 2014-09-15 2014-09-15 图片的传输方法、装置和系统

Publications (2)

Publication Number Publication Date
CN104954813A CN104954813A (zh) 2015-09-30
CN104954813B true CN104954813B (zh) 2017-06-06

Family

ID=54169104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410468586.4A Active CN104954813B (zh) 2014-09-15 2014-09-15 图片的传输方法、装置和系统

Country Status (1)

Country Link
CN (1) CN104954813B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106850146B (zh) * 2017-02-23 2020-12-01 广州林邦信息科技有限公司 图片传输方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004140654A (ja) * 2002-10-18 2004-05-13 Nec Engineering Ltd 画像データ転送方法及びシステム
CN1599403A (zh) * 2003-09-16 2005-03-23 联发科技股份有限公司 逐进式结合图像专家组解码方法及相关装置
CN101098311A (zh) * 2006-06-29 2008-01-02 腾讯科技(深圳)有限公司 一种即时通信中图片实时传输方法及其装置
CN103870561A (zh) * 2014-03-06 2014-06-18 网宿科技股份有限公司 网络图片处理方法及系统
CN103942307A (zh) * 2014-04-18 2014-07-23 网宿科技股份有限公司 一种基于图片流的前端加速方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004140654A (ja) * 2002-10-18 2004-05-13 Nec Engineering Ltd 画像データ転送方法及びシステム
CN1599403A (zh) * 2003-09-16 2005-03-23 联发科技股份有限公司 逐进式结合图像专家组解码方法及相关装置
CN101098311A (zh) * 2006-06-29 2008-01-02 腾讯科技(深圳)有限公司 一种即时通信中图片实时传输方法及其装置
CN103870561A (zh) * 2014-03-06 2014-06-18 网宿科技股份有限公司 网络图片处理方法及系统
CN103942307A (zh) * 2014-04-18 2014-07-23 网宿科技股份有限公司 一种基于图片流的前端加速方法

Also Published As

Publication number Publication date
CN104954813A (zh) 2015-09-30

Similar Documents

Publication Publication Date Title
CN111464627B (zh) 数据处理方法、边缘服务器、中心服务器及处理系统
CN102970331B (zh) 图片提供系统
CN104580158B (zh) 一种分布式平台文件与内容分发方法及系统
US11412270B2 (en) Method and apparatus for processing multimedia file, storage medium, and electronic apparatus
CN107292808A (zh) 图像处理方法、装置及图像协处理器
CN104767756B (zh) 设备信息处理方法、客户端装置和服务端装置
CN101930439B (zh) 一种适配各种型号手机的网站处理装置及其应用
CN110831039A (zh) 多路并发系统中的数据传输方法及传输服务器
CN107302711A (zh) 媒体资源的处理系统
CN108694029A (zh) 终端屏幕显示处理方法、装置及存储介质
CN106982158A (zh) 运动轨迹的分享方法和装置
CN113191479A (zh) 联合学习的方法、系统、节点及存储介质
CN104919863B (zh) 用于无线数据通信的子信道检测
CN107295610A (zh) 一种网络接入方法、相关设备和系统
CN107528767A (zh) 会话的处理方法和装置
CN104954813B (zh) 图片的传输方法、装置和系统
US20230269410A1 (en) Method, device and system for transmitting data stream and computer storage medium
CN109963106A (zh) 一种视频图像处理方法、装置、存储介质及终端
CN106682899A (zh) 一种通过手机确认网上交易安全的方法及其系统
CN106534131A (zh) 一种数据处理方法、装置和配送平台
CN107872683B (zh) 一种视频数据处理方法、装置、设备及存储介质
CN108112052A (zh) 终端的网络共享方法、装置、空气调节器及存储介质
CN107087169A (zh) 一种压缩方法、uvc视频设备及电子设备
CN107528875A (zh) 文件的下载方法和装置
CN112188562A (zh) 中继基站的多播调度方法和装置、存储介质及电子装置

Legal Events

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