照片同步方法和装置制造方法

文档序号:7822959阅读:160来源:国知局
照片同步方法和装置制造方法
【专利摘要】本发明提出一种照片同步方法和装置,该照片同步方法包括对要同步的照片按照拍摄时间进行排序,得到排序后的照片;从所述排序后的照片中确定出连续拍摄的照片,所述连续拍摄的照片是指相邻照片的拍摄时间的差值和/或照片相似度满足预设条件的照片;获取所述连续拍摄的照片对应的数据包,所述数据包是:照片的完整数据文件,或者,相邻照片的照片数据文件之间的差值数据压缩包;向服务端发送所述数据包,以使所述服务端根据所述数据包获取所述连续拍摄的照片,并根据所述连续拍摄的照片获取所述要同步的照片。该方法可以有效降低每张照片的平均上传时间。
【专利说明】照片同步方法和装置

【技术领域】
[0001]本发明涉及数据处理【技术领域】,尤其涉及一种照片同步方法和装置。

【背景技术】
[0002]现有的各种云存储服务,如百度云、115网盘等,为了方便用户,都会提供自动同步用户本地设备上的照片到云端的客户端工具。
[0003]现有技术中,同步一张照片需要将照片对应的完整的数据文件上传到服务端。但是,随着各种移动设备以及专业相机的摄像头像素的不断高清化,拍摄出来的照片的对应的数据文件也变得越来越大,相应地同步一张照片所需的时间也越来越长。


【发明内容】

[0004]本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
[0005]为此,本发明的一个目的在于提出一种照片同步方法,该方法可以有效降低每张照片的平均上传时间。
[0006]本发明的另一个目的在于提出一种照片同步装置。
[0007]为达到上述目的,本发明第一方面实施例提出的照片同步方法,包括:对要同步的照片按照拍摄时间进行排序,得到排序后的照片;从所述排序后的照片中确定出连续拍摄的照片,所述连续拍摄的照片是指相邻照片的拍摄时间的差值和/或照片相似度满足预设条件的照片;获取所述连续拍摄的照片对应的数据包,所述数据包是:照片的完整数据文件,或者,相邻照片的照片数据文件之间的差值数据压缩包;向服务端发送所述数据包,以使所述服务端根据所述数据包获取所述连续拍摄的照片,并根据所述连续拍摄的照片获取所述要同步的照片。
[0008]本发明第一方面实施例提出的照片同步方法,通过获取连续拍摄的照片的数据包,该数据包包括差值数据压缩包,并将差值数据压缩包发送给服务端,由于差值数据压缩包的数据量远小于完整数据文件,因此可以降低数据传输的数据量,从而有效降低每张照片的平均上传时间。
[0009]为达到上述目的,本发明第二方面实施例提出的照片同步方法,包括:接收客户端发送的数据包,所述数据包是客户端连续拍摄的照片对应的数据包,所述数据包是:照片的完整数据文件,或者,相邻照片的照片数据文件之间的差值数据压缩包;根据所述数据包,获取所述连续拍摄的照片;根据所述连续拍摄的照片获取要同步的照片。
[0010]本发明第二方面实施例提出的照片同步方法,通过接收客户端发送的数据包,数据包中包括差值数据压缩包,由于差值数据压缩包的数据量远小于完整数据文件,因此可以降低数据传输的数据量,从而有效降低每张照片的平均上传时间。
[0011]为达到上述目的,本发明第三方面实施例提出的照片同步装置,包括:排序模块,用于对要同步的照片按照拍摄时间进行排序,得到排序后的照片;确定模块,用于从所述排序后的照片中确定出连续拍摄的照片,所述连续拍摄的照片是指相邻照片的拍摄时间的差值和/或照片相似度满足预设条件的照片;获取模块,用于获取所述连续拍摄的照片对应的数据包,所述数据包是:照片的完整数据文件,或者,相邻照片的照片数据文件之间的差值数据压缩包;发送模块,用于向服务端发送所述数据包,以使所述服务端根据所述数据包获取所述连续拍摄的照片,并根据所述连续拍摄的照片获取所述要同步的照片。
[0012]本发明第三方面实施例提出的照片同步装置,通过获取连续拍摄的照片的数据包,该数据包包括差值数据压缩包,并将差值数据压缩包发送给服务端,由于差值数据压缩包的数据量远小于完整数据文件,因此可以降低数据传输的数据量,从而有效降低每张照片的平均上传时间。
[0013]为达到上述目的,本发明第四方面实施例提出的照片同步装置,包括:接收模块,用于接收客户端发送的数据包,所述数据包是客户端连续拍摄的照片对应的数据包,所述数据包是:照片的完整数据文件,或者,相邻照片的照片数据文件之间的差值数据压缩包;处理模块,用于根据所述数据包,获取所述连续拍摄的照片;获取模块,用于根据所述连续拍摄的照片获取要同步的照片。
[0014]本发明第四方面实施例提出的照片同步装置,通过接收客户端发送的数据包,数据包中包括差值数据压缩包,由于差值数据压缩包的数据量远小于完整数据文件,因此可以降低数据传输的数据量,从而有效降低每张照片的平均上传时间。
[0015]本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

【专利附图】

【附图说明】
[0016]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0017]图1是本发明一实施例提出的照片同步方法的流程示意图;
[0018]图2是本发明另一实施例提出的照片同步方法的流程示意图;
[0019]图3是本发明另一实施例提出的照片同步方法的流程示意图;
[0020]图4是本发明另一实施例提出的照片同步装置的结构示意图;
[0021]图5是本发明另一实施例提出的照片同步装置的结构示意图;
[0022]图6是本发明另一实施例提出的照片同步装置的结构示意图;
[0023]图7是本发明另一实施例提出的照片同步装置的结构示意图。

【具体实施方式】
[0024]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
[0025]图1是本发明一实施例提出的照片同步方法的流程示意图,该方法包括:
[0026]Sll:对要同步的照片按照拍摄时间进行排序,得到排序后的照片。
[0027]本实施例的执行主体可以是客户端。
[0028]其中,要同步的照片可以是用户拍摄的所有尚未进行同步的照片。
[0029]拍摄时间可以从照片的数据文件的文件头中读取。其中,每种照片的文件格式,例如jpg、png等,都有对应的标准编码格式协议,根据对应的协议可以从文件头中读取拍摄时间。
[0030]具体的,可以按照拍摄时间从前到后的顺序对照片进行排序。
[0031]例如,经过该步骤,得到排序后的照片是:P1; P2,…,Pn。
[0032]S12:从所述排序后的照片中确定出连续拍摄的照片,所述连续拍摄的照片是指相邻照片的拍摄时间的差值和/或照片相似度满足预设条件的照片。
[0033]连续拍摄的照片例如用户针对同一个造型或姿势连续拍摄的多张照片。
[0034]具体的,在排序后的照片中,如果相邻照片的拍摄时间的差值小于或等于预设的第一阈值,和/或,相邻照片的相似度数值大于或等于预设的第二阈值,则该相邻照片属于连续拍摄的照片,对后续两个相邻照片可以依此类推,得到至少一组的连续拍摄的照片。
[0035]其中,预设的第一阈值例如几秒、十几秒或者几十秒,不超过I分钟。或者,预设的第二阈值例如是95%。
[0036]可选的,所述连续拍摄的照片是从所述排序后的照片中得到的至少一组的已确定的连续拍摄的照片,所述从所述排序后的照片中确定出连续拍摄的照片,包括:
[0037]确定当前遍历的照片,其中,所述当前遍历的照片是当前处理的照片中排序在第一张的照片,所述当前处理的照片的初始值是排序后的照片;
[0038]确定包含当前遍历的照片的连续拍摄的照片,得到已确定的一组连续拍摄的照片;
[0039]将所述排序后的照片中除所述已确定的一组连续拍摄的照片之外的照片确定为当前处理的照片;
[0040]对所述当前处理的照片重复执行上述遍历处理,直至从所述排序后的照片中得到至少一组的已确定的连续拍摄的照片。
[0041]进一步的,所述确定包含当前遍历的照片的连续拍摄的照片,包括:
[0042]进行第一判断和第二判断,其中,所述第一判断是指:判断Ppk和IVk+1的拍摄时间的差值是否在预设的第一阈值内,所述第二判断是指:判断IVk和Ppk+1的相似度数值是否在预设的第二阈值内,其中,P」是当前遍历的照片,O ( k〈N-j,N是排序后的照片的总张数;
[0043]如果所述第一判断的判断结果和所述第二判断的判断结果都为是,则设置k =k+Ι,重复执行所述第一判断和所述第二判断;
[0044]如果所述第一判断的判断结果和所述第二判断的判断结果中的至少一项为否,则确定数组[Pp Ppk]对应的照片为连续拍摄的照片。
[0045]例如,经过该步骤,得到k+Ι张连续拍摄的照片列表Pj, PJ+1, PJ+k,其中,I ^ j ^ j+k ^ n, k ^ O0
[0046]S13:获取所述连续拍摄的照片对应的数据包,所述数据包是:照片的完整数据文件,或者,相邻照片的照片数据文件之间的差值数据压缩包。
[0047]可选的,所述获取所述连续拍摄的照片对应的数据包,包括:
[0048]获取Pj的完整数据文件;
[0049]计算P#+1的完整数据文件和的完整数据文件之间的差值数据,并根据预设的压缩算法,对所述差值数据进行压缩,得到Ppm+1对应的差值数据压缩包,其中,O ( m〈k。
[0050]其中,可以采用图像差值计算方法得到差值数据,并采用文本压缩算法,例如LZ77算法或者游程编码(Run Length Encoding, RLE)等算法,对差值数据进行压缩,得到差值数据压缩包。
[0051]S14:向服务端发送所述数据包,以使所述服务端根据所述数据包获取所述连续拍摄的照片,并根据所述连续拍摄的照片获取所述要同步的照片。
[0052]例如,发送P」的完整数据文件,PJ+ffl+1对应的差值数据压缩包给服务端。
[0053]服务端具体可以是指云端。
[0054]由于客户端发送的数据包可能是完整数据文件,也可能是差值数据压缩包,为了方便服务端识别,可以在发送数据包的同时携带参数信息,以方便服务端识别。
[0055]所述数据包还包括如下参数:
[0056]第一参数,用于标识所述数据包是否是差值数据压缩包的参数;
[0057]第二参数,用于标识所述数据包的参数;
[0058]第三参数,用于在所述数据包是差值数据压缩包时,标识与所述数据包进行差值运算的数据包的参数。
[0059]本实施例通过获取连续拍摄的照片的数据包,该数据包包括差值数据压缩包,并将差值数据压缩包发送给服务端,由于差值数据压缩包的数据量远小于完整数据文件,因此可以降低数据传输的数据量,从而有效降低每张照片的平均上传时间。
[0060]图2是本发明另一实施例提出的照片同步方法的流程示意图,该方法包括:
[0061]S21:接收客户端发送的数据包,所述数据包是客户端连续拍摄的照片对应的数据包,所述数据包是:照片的完整数据文件,或者,相邻照片的照片数据文件之间的差值数据压缩包。
[0062]本实施例的执行主体可以是服务端,具体可以是云端。
[0063]连续拍摄的照片例如用户针对同一个造型或姿势连续拍摄的多张照片。
[0064]客户端在获取连续拍摄的照片后,可以获取该连续拍摄的照片的数据文件,之后,可以根据相邻的两个连续拍摄的照片的数据文件,得到差值文件,对差值文件进行压缩,得到差值数据压缩包。具体处理流程可以参见上述实施例中对客户端的描述。
[0065]S22:根据所述数据包,获取所述连续拍摄的照片。
[0066]可选的,所述数据包还可以包括如下参数:
[0067]第一参数,用于标识所述数据包是否是差值数据压缩包的参数;
[0068]第二参数,用于标识所述数据包的参数;
[0069]第三参数,用于在所述数据包是差值数据压缩包时,标识与所述数据包进行差值运算的数据包的参数。
[0070]在获取上述参数后,可以根据接收的数据以及上述参数获取每个照片的完整数据文件,从而获取连续拍摄的照片。
[0071]可选的,所述根据所述数据包,获取所述连续拍摄的照片,包括:
[0072]根据所述第一参数判断所述数据包是完整数据文本或者差值数据压缩包;
[0073]如果所述数据包是完整数据文件,则对应保存第二参数与所述完整数据文件;
[0074]如果所述数据包是差值数据压缩包,根据预设的压缩算法对所述差值数据压缩包进行解压缩,获取差值数据;以及根据所述第三参数确定与所述数据包进行差值运算的数据包,并获取所述进行差值运算的数据包的完整数据文件;并根据所述差值数据和所述完整数据文件,获取所述数据包对应的完整数据文件,并对应保存第二参数与所述数据包对应的完整数据文件。
[0075]进一步的,所述获取所述进行差值运算的数据包的完整数据文件,包括:
[0076]根据所述第三参数确定所述进行差值运算的数据包的第二参数;
[0077]根据预先保存的第二参数与完整数据文件之间的对应关系,确定所述进行差值运算的数据包的完整数据文件。
[0078]S23:根据所述连续拍摄的照片获取要同步的照片。
[0079]其中,要同步的照片是客户端要同步的照片,可以是用户拍摄的所有尚未进行同步的照片。
[0080]可选的,所述根据所述连续拍摄的照片获取要同步的照片,包括:
[0081]对所述连续拍摄的照片进行按序组合,得到要同步的照片。
[0082]例如,获取连续拍摄的照片后,会获取照片的拍摄时间,根据该拍摄时间进行按序组合,得到要同步的照片。
[0083]本实施例通过接收客户端发送的数据包,数据包中包括差值数据压缩包,由于差值数据压缩包的数据量远小于完整数据文件,因此可以降低数据传输的数据量,从而有效降低每张照片的平均上传时间。
[0084]图3是本发明另一实施例提出的照片同步到云端的方法的流程示意图,本实施例以同步客户端的照片到云端为例,该方法包括:
[0085]S301:对要同步的照片按照拍摄时间进行排序,得到排序后的照片。
[0086]其中,要同步的照片可以是用户拍摄的所有尚未进行同步的照片。
[0087]拍摄时间可以从照片的数据文件的文件头中读取。其中,每种照片的文件格式,例如jpg、png等,都有对应的标准编码格式协议,根据对应的协议可以从文件头中读取拍摄时间。
[0088]具体的,可以按照拍摄时间从前到后的顺序对照片进行排序。
[0089]例如,经过该步骤,得到排序后的照片是:P1; P2,…,Pn。
[0090]本实施例以排序后的照片列表P1, P2,…,Ρη,η>1为例。
[0091]S302:确定当前遍历的照片,其中,所述当前遍历的照片是当前处理的照片中排序在第一张的照片,所述当前处理的照片的初始值是排序后的照片。
[0092]例如,假设当前遍历的照片是Pj, Pj的初始值是Pp
[0093]S303:对当前遍历的照片及排序在其后面的照片进行第一判断和第二判断。
[0094]其中,所述第一判断是指:判断Ppk和IVk+1的拍摄时间的差值是否在预设的第一阈值内,所述第二判断是指:判断Ppk和Ppk+1的相似度数值是否在预设的第二阈值内,其中,P」是当前遍历的照片,O ( k〈N-j,N是排序后的照片的总张数。
[0095]可选的,预设的第一阈值例如几秒、十几秒或者几十秒,优选为不超过I分钟。或者,预设的第二阈值例如为95%。
[0096]S304:获取第一判断的判断结果和第二判断的判断结果,如果所述第一判断的判断结果和所述第二判断的判断结果都为是,则执行步骤S305。如果所述第一判断的判断结果和所述第二判断的判断结果中的至少一项为否,则执行步骤S306以及后续步骤。
[0097]例如,获取Ppk和P>k+1的拍摄时间的差值是否在预设的第一阈值内,以及Ppk和PJ+k+1的相似度数值是否在预设的第二阈值内,其中,P」是当前遍历的照片,O ( k〈N-j,N是排序后的照片的总张数。
[0098]S305:设置k = k+Ι,重复执行步骤S303。
[0099]例如,当Pj+k和Pj+k+1的拍摄时间的差值在预设的第一阈值内,并且,Pj+k和Pj+k+1的相似度数值在预设的第二阈值内时,设置k = k+1。
[0100]S306:确定数组[Pp PJ+k]对应的照片为连续拍摄的照片。
[0101]例如,当Ppk和IVk+1的拍摄时间的差值不在预设的第一阈值内,和/或,Ppk和Pj+k+i的相似度数值在不超过预设的第二阈值,则确定Pp pJ+1,…,pJ+k是一组连续拍摄的照片。
[0102]在确定出连续拍摄的照片后,需要考虑如何上传相应的数据包给云端。对应PpPj+1,…,Pj+k这一组连续拍摄的照片,可以采用如下方式上传数据包:
[0103]S307:获取Pj的完整数据文件,并将Pj的完整数据文件发送给云端。
[0104]S308:设置m,其中m的初始值是O。
[0105]S309:计算Pj+D1+1的完整数据文件和Pj+D1的完整数据文件之间的差值数据,并根据预设的压缩算法,对所述差值数据进行压缩,得到p?+1对应的差值数据压缩包,并将差值数据压缩包发送给云端。
[0106]其中,可以采用图像差值算法得到差值数据,根据预设的压缩算法得到差值数据压缩包,预设的压缩算法例如LZ77算法、RLE算法等。
[0107]S310:更新m = m+1,并判断更新后的m是否等于k,若是,则执行步骤S311,否则重复执行步骤S309-S310。
[0108]通过上述处理,客户端发送给云端的数据包是:照片Pj的完整数据文件,或者,PJ+m+1的完整数据文件和Pp111的完整数据文件之间的差值数据压缩包,O ( m〈k。
[0109]在确定出Ρ」,Ρ」+1,…,Pj+k是一组连续拍摄的照片后,可以重新确定Pj+k+1为当前遍历的照片并按照上述流程进行处理,直至所有照片对应的数据包都被发送给云端。
[0110]本实施例以确定出一组连续拍摄的照片后,发送给云端一组照片对应的数据包为例,可以理解的是,也可以先将排序后的照片划分为至少一组的连续拍摄的照片,再获取对应的数据包,之后再传输数据包。
[0111]所述数据包还可以包括如下参数:
[0112]第一参数,用于标识所述数据包是否是差值数据压缩包的参数。
[0113]第二参数,用于标识所述数据包的参数。
[0114]第三参数,用于在所述数据包是差值数据压缩包时,标识与所述数据包进行差值运算的数据包的参数。
[0115]具体的,第一参数可以表示为A,第二参数可以表示为B,第三参数可以表示为C。
[0116]S311:云端接收客户端发送的数据包。
[0117]其中,云端接收的数据包是完整数据文件或者差值数据压缩包,且接收的数据包中还包括上述的参数A, B, Co
[0118]S312:根据所述第一参数判断所述数据包是完整数据文件或者差值数据压缩包,如果所述数据包是完整数据文件,则执行步骤S313,如果所述数据包是差值数据压缩包,则执行步骤S314。
[0119]例如,根据用于标识所述数据包是否是差值数据压缩包的参数A来进行判断。
[0120]S313:对应保存第二参数与所述完整数据文件。
[0121]可以将接收到的数据文件直接保存到存储系统中,并与第二参数对应保存。例如,保存BI对应第一完整数据文件。
[0122]S314:云端对数据压缩包进行逆向处理,根据差值数据压缩包获取对应的完整数据文件,并将获取的完整数据文件对应第二参数保存。
[0123]具体地,根据预设的压缩算法对所述差值数据压缩包进行解压缩,获取差值数据;
[0124]预设的压缩算法可以具体如LZ77算法、RLE算法等。
[0125]例如,对第一差值数据压缩包进行解压缩,得到第一差值数据。
[0126]根据所述第三参数确定与所述数据包进行差值运算的数据包,并获取所述进行差值运算的数据包的完整数据文件;
[0127]例如,根据第三参数获取与第一差值数据进行差值运行的数据包的参数是BI,则根据预先保存的B与完整数据文件的对应关系,可以获取第一完整数据文件;
[0128]根据所述差值数据和所述完整数据文件,获取所述数据包对应的完整数据文件,并对应保存第二参数与所述数据包对应的完整数据文件;
[0129]例如,获取第一差值数据和第一完整数据文件后,将第一差值数据和第一完整数据进行相加后,得到第二完整数据文件,假设第一差值数据压缩包对应的第二参数是B2,则对应保存B2和第二完整数据文件。
[0130]S315:云端获取要同步的照片。
[0131]云端在根据接收的数据包获取对应的完整数据文件后,可以根据完整数据文件中的拍摄时间,对完整数据文件对应的照片进行排序,得到客户端要同步的照片。
[0132]本实施例中,客户端通过对连续拍摄的照片非首张照片发送差值数据压缩包由于两张连续拍摄的照片之间相似度很高,因此其差值数据中大部分字节都是O或数值很小的值,其中存在大量值相同的字节,因此进行文本压缩时可以做到非常高的压缩比,使得第一张照片之后的所有照片的上传都只需要上传数据量远远小于该照片的原始数据文件的差值数据压缩包,从而大大降低数据包在网络上的传输时间,而在整个云端同步过程中,网络传输时间一般都是远大于客户端本地或云端对差值数据的计算与处理所耗的时间。
[0133]图4是本发明另一实施例提出的照片同步装置的结构示意图,该装置40包括排序模块41、确定模块42、获取模块43以及发送模块44。
[0134]排序模块41用于对要同步的照片按照拍摄时间进行排序,得到排序后的照片。
[0135]本实施例的执行主体可以是客户端。
[0136]其中,要同步的照片可以是用户拍摄的所有尚未进行同步的照片。
[0137]拍摄时间可以从照片的数据文件的文件头中读取。其中,每种照片的文件格式,例如jpg、png等,都有对应的标准编码格式协议,根据对应的协议可以从文件头中读取拍摄时间。
[0138]具体的,可以按照拍摄时间从前到后的顺序对照片进行排序。
[0139]例如,经过该步骤,得到排序后的照片是:P1; P2,…,Pn。
[0140]确定模块42用于从所述排序后的照片中确定出连续拍摄的照片,所述连续拍摄的照片是指相邻照片的拍摄时间的差值和/或照片相似度满足预设条件的照片。
[0141]连续拍摄的照片例如用户针对同一个造型或姿势连续拍摄的多张照片。
[0142]具体的,在排序后的照片中,如果相邻照片的拍摄时间的差值小于或等于预设的第一阈值,和/或,相邻照片的相似度数值大于或等于预设的第二阈值,则该相邻照片属于连续拍摄的照片,对后续两个相邻照片可以依此类推,得到至少一组的连续拍摄的照片。
[0143]其中,预设的第一阈值例如几秒、十几秒或者几十秒,不超过I分钟。或者,预设的第二阈值例如是95%。
[0144]一个实施例中,参见图5,所述连续拍摄的照片是从所述排序后的照片中得到的至少一组的已确定的连续拍摄的照片,所述确定模块42包括:
[0145]第一单元421,用于确定当前遍历的照片,其中,所述当前遍历的照片是当前处理的照片中排序在第一张的照片,所述当前处理的照片的初始值是排序后的照片。
[0146]例如,假设当前遍历的照片是的初始值是Pp
[0147]第二单元422,用于确定包含当前遍历的照片的连续拍摄的照片,得到已确定的一组连续拍摄的照片。
[0148]另一个实施例中,所述第二单元422具体用于:
[0149]进行第一判断和第二判断,其中,所述第一判断是指:判断Ppk和IVk+1的拍摄时间的差值是否在预设的第一阈值内,所述第二判断是指:判断IVk和Ppk+1的相似度数值是否在预设的第二阈值内,其中,P」是当前遍历的照片,O ( k〈N-j,N是排序后的照片的总张数;
[0150]如果所述第一判断的判断结果和所述第二判断的判断结果都为是,则设置k =k+Ι,重复执行所述第一判断和所述第二判断;
[0151]例如,当Ppk和IVk+1的拍摄时间的差值在预设的第一阈值内,并且,Ppk和IVk+1的相似度数值在预设的第二阈值内时,设置k = k+1。
[0152]如果所述第一判断的判断结果和所述第二判断的判断结果中的至少一项为否,则确定数组[Pp Ppk]对应的照片为连续拍摄的照片。
[0153]例如,当Pj+k和Pj+k+1的拍摄时间的差值不在预设的第一阈值内,和/或,Pj+k和IVk+i的相似度数值在不超过预设的第二阈值,则确定Pp pJ+1,…,pJ+k是一组连续拍摄的照片。
[0154]第三单元423,用于将所述排序后的照片中除所述已确定的一组连续拍摄的照片之外的照片确定为当前处理的照片;
[0155]第四单元424,用于对所述当前处理的照片重复执行上述遍历处理,直至从所述排序后的照片中得到至少一组的已确定的连续拍摄的照片。
[0156]例如,经过该步骤,得到k+Ι张连续拍摄的照片列表Pj, PJ+1, PJ+k,其中,
I^ j ^ j+k ^ n, k ^ O0
[0157]获取模块43用于获取所述连续拍摄的照片对应的数据包,所述数据包是:照片的完整数据文件,或者,相邻照片的照片数据文件之间的差值数据压缩包。
[0158]另一个实施例中,所述获取模块43具体用于:
[0159]获取Pj的完整数据文件;
[0160]计算P#+1的完整数据文件和的完整数据文件之间的差值数据,并根据预设的压缩算法,对所述差值数据进行压缩,得到Ppm+1对应的差值数据压缩包,其中,O ( m〈k。
[0161]其中,可以采用图像差值计算方法得到差值数据,并采用文本压缩算法,例如LZ77算法或者游程编码(Run Length Encoding, RLE)等算法,对差值数据进行压缩,得到差值数据压缩包。
[0162]发送模块44用于向服务端发送所述数据包,以使所述服务端根据所述数据包获取所述连续拍摄的照片,并根据所述连续拍摄的照片获取所述要同步的照片。
[0163]例如,发送P」的完整数据文件,PJ+ffl+1对应的差值数据压缩包给服务端。
[0164]服务端具体可以是指云端。
[0165]由于客户端发送的数据包可能是完整数据文件,也可能是差值数据压缩包,为了方便服务端识别,可以在发送数据包的同时携带参数信息,以方便服务端识别。
[0166]所述数据包还包括如下参数:
[0167]第一参数,用于标识所述数据包是否是差值数据压缩包的参数;
[0168]第二参数,用于标识所述数据包的参数;
[0169]第三参数,用于在所述数据包是差值数据压缩包时,标识与所述数据包进行差值运算的数据包的参数。
[0170]具体的,第一参数可以表示为A,第二参数可以表示为B,第三参数可以表示为C。
[0171]本实施例通过获取连续拍摄的照片的数据包,该数据包包括差值数据压缩包,并将差值数据压缩包发送给服务端,由于差值数据压缩包的数据量远小于完整数据文件,因此可以降低数据传输的数据量,从而有效降低每张照片的平均上传时间。
[0172]图6是本发明另一实施例提出的照片同步装置的结构示意图,该装置60包括接收模块61、处理模块62以及获取模块63。
[0173]接收模块61用于接收客户端发送的数据包,所述数据包是客户端连续拍摄的照片对应的数据包,所述数据包是:照片的完整数据文件,或者,相邻照片的照片数据文件之间的差值数据压缩包。
[0174]本实施例的执行主体可以是服务端,具体可以是云端。
[0175]连续拍摄的照片例如用户针对同一个造型或姿势连续拍摄的多张照片。
[0176]客户端在获取连续拍摄的照片后,可以获取该连续拍摄的照片的数据文件,之后,可以根据相邻的两个连续拍摄的照片的数据文件,得到差值文件,对差值文件进行压缩,得到差值数据压缩包。具体处理流程可以参见上述实施例中对客户端的描述。
[0177]处理模块62用于根据所述数据包,获取所述连续拍摄的照片。
[0178]可选的,所述数据包还可以包括如下参数:
[0179]第一参数,用于标识所述数据包是否是差值数据压缩包的参数;
[0180]第二参数,用于标识所述数据包的参数;
[0181]第三参数,用于在所述数据包是差值数据压缩包时,标识与所述数据包进行差值运算的数据包的参数。
[0182]具体的,第一参数可以表示为A,第二参数可以表示为B,第三参数可以表示为C。
[0183]在获取上述参数后,可以根据接收的数据以及上述参数获取每个照片的完整数据文件,从而获取连续拍摄的照片。
[0184]一个实施例中,参见图7,所述处理模块62包括:
[0185]第一单元621,用于根据所述第一参数判断所述数据包是完整数据文本或者差值数据压缩包。
[0186]例如,根据用于标识所述数据包是否是差值数据压缩包的参数A来进行判断。
[0187]第二单元622,用于如果所述数据包是完整数据文件,则对应保存第二参数与所述完整数据文件。
[0188]可以将接收到的数据文件直接保存到存储系统中,并与第二参数对应保存。例如,保存BI对应第一完整数据文件。
[0189]第三单元623,用于如果所述数据包是差值数据压缩包,根据预设的压缩算法对所述差值数据压缩包进行解压缩,获取差值数据;以及根据所述第三参数确定与所述数据包进行差值运算的数据包,并获取所述进行差值运算的数据包的完整数据文件;并根据所述差值数据和所述完整数据文件,获取所述数据包对应的完整数据文件,并对应保存第二参数与所述数据包对应的完整数据文件。
[0190]另一个实施例中,所述第三单元623具体用于:
[0191]根据所述第三参数确定所述进行差值运算的数据包的第二参数;
[0192]根据预先保存的第二参数与完整数据文件之间的对应关系,确定所述进行差值运算的数据包的完整数据文件。
[0193]具体地,根据预设的压缩算法对所述差值数据压缩包进行解压缩,获取差值数据;
[0194]预设的压缩算法可以具体如LZ77算法、RLE算法等。
[0195]例如,对第一差值数据压缩包进行解压缩,得到第一差值数据。
[0196]根据所述第三参数确定与所述数据包进行差值运算的数据包,并获取所述进行差值运算的数据包的完整数据文件;
[0197]例如,根据第三参数获取与第一差值数据进行差值运行的数据包的参数是BI,则根据预先保存的B与完整数据文件的对应关系,可以获取第一完整数据文件;
[0198]根据所述差值数据和所述完整数据文件,获取所述数据包对应的完整数据文件,并对应保存第二参数与所述数据包对应的完整数据文件;
[0199]例如,获取第一差值数据和第一完整数据文件后,将第一差值数据和第一完整数据进行相加后,得到第二完整数据文件,假设第一差值数据压缩包对应的第二参数是B2,则对应保存B2和第二完整数据文件。
[0200]获取模块63用于根据所述连续拍摄的照片获取要同步的照片。
[0201]其中,要同步的照片是客户端要同步的照片,可以是用户拍摄的所有尚未进行同步的照片。
[0202]另一个实施例中,所述获取模块63具体用于:
[0203]对所述连续拍摄的照片进行按序组合,得到要同步的照片。
[0204]例如,获取连续拍摄的照片后,会获取照片的拍摄时间,根据该拍摄时间进行按序组合,得到要同步的照片。
[0205]本实施例通过接收客户端发送的数据包,数据包中包括差值数据压缩包,由于差值数据压缩包的数据量远小于完整数据文件,因此可以降低数据传输的数据量,从而有效降低每张照片的平均上传时间。
[0206]需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0207]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属【技术领域】的技术人员所理解。
[0208]应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0209]本【技术领域】的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0210]此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0211]上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0212]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0213]尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
【权利要求】
1.一种照片同步方法,其特征在于,包括: 对要同步的照片按照拍摄时间进行排序,得到排序后的照片; 从所述排序后的照片中确定出连续拍摄的照片,所述连续拍摄的照片是指相邻照片的拍摄时间的差值和/或照片相似度满足预设条件的照片; 获取所述连续拍摄的照片对应的数据包,所述数据包是:照片的完整数据文件,或者,相邻照片的照片数据文件之间的差值数据压缩包; 向服务端发送所述数据包,以使所述服务端根据所述数据包获取所述连续拍摄的照片,并根据所述连续拍摄的照片获取所述要同步的照片。
2.根据权利要求1所述的方法,其特征在于,所述连续拍摄的照片是从所述排序后的照片中得到的至少一组的已确定的连续拍摄的照片,所述从所述排序后的照片中确定出连续拍摄的照片,包括: 确定当前遍历的照片,其中,所述当前遍历的照片是当前处理的照片中排序在第一张的照片,所述当前处理的照片的初始值是排序后的照片; 确定包含当前遍历的照片的连续拍摄的照片,得到已确定的一组连续拍摄的照片;将所述排序后的照片中除所述已确定的一组连续拍摄的照片之外的照片确定为当前处理的照片; 对所述当前处理的照片重复执行上述遍历处理,直至从所述排序后的照片中得到至少一组的已确定的连续拍摄的照片。
3.根据权利要求2所述的方法,其特征在于,所述确定包含当前遍历的照片的连续拍摄的照片,包括: 进行第一判断和第二判断,其中,所述第一判断是指:判断IV1JPiVw的拍摄时间的差值是否在预设的第一阈值内,所述第二判断是指:判断Ppk和ρ@+1的相似度数值是否在预设的第二阈值内,其中,P」是当前遍历的照片,O ( k〈N-j,N是排序后的照片的总张数; 如果所述第一判断的判断结果和所述第二判断的判断结果都为是,则设置k = k+Ι,重复执行所述第一判断和所述第二判断; 如果所述第一判断的判断结果和所述第二判断的判断结果中的至少一项为否,则确定数组[Pp Ppk]对应的照片为连续拍摄的照片。
4.根据权利要求3所述的方法,其特征在于,所述获取所述连续拍摄的照片对应的数据包,包括: 获取P」的完整数据文件; 计算p,_+m+1的完整数据文件和P?的完整数据文件之间的差值数据,并根据预设的压缩算法,对所述差值数据进行压缩,得到Ppm+1对应的差值数据压缩包,其中,O ( m〈k。
5.根据权利要求1所述的方法,其特征在于,所述数据包还包括如下参数: 第一参数,用于标识所述数据包是否是差值数据压缩包的参数; 第二参数,用于标识所述数据包的参数; 第三参数,用于在所述数据包是差值数据压缩包时,标识与所述数据包进行差值运算的数据包的参数。
6.一种照片同步方法,其特征在于,包括: 接收客户端发送的数据包,所述数据包是客户端连续拍摄的照片对应的数据包,所述数据包是:照片的完整数据文件,或者,相邻照片的照片数据文件之间的差值数据压缩包; 根据所述数据包,获取所述连续拍摄的照片; 根据所述连续拍摄的照片获取要同步的照片。
7.根据权利要求6所述的方法,其特征在于,所述数据包还包括如下参数: 第一参数,用于标识所述数据包是否是差值数据压缩包的参数; 第二参数,用于标识所述数据包的参数; 第三参数,用于在所述数据包是差值数据压缩包时,标识与所述数据包进行差值运算的数据包的参数。
8.根据权利要求7所述的方法,其特征在于,所述根据所述数据包,获取所述连续拍摄的照片,包括: 根据所述第一参数判断所述数据包是完整数据文本或者差值数据压缩包; 如果所述数据包是完整数据文件,则对应保存第二参数与所述完整数据文件; 如果所述数据包是差值数据压缩包,根据预设的压缩算法对所述差值数据压缩包进行解压缩,获取差值数据;以及根据所述第三参数确定与所述数据包进行差值运算的数据包,并获取所述进行差值运算的数据包的完整数据文件;并根据所述差值数据和所述完整数据文件,获取所述数据包对应的完整数据文件,并对应保存第二参数与所述数据包对应的完整数据文件。
9.根据权利要求8所述的方法,其特征在于,所述获取所述进行差值运算的数据包的完整数据文件,包括: 根据所述第三参数确定所述进行差值运算的数据包的第二参数; 根据预先保存的第二参数与完整数据文件之间的对应关系,确定所述进行差值运算的数据包的完整数据文件。
10.根据权利要求6所述的方法,其特征在于,所述根据所述连续拍摄的照片获取要同步的照片,包括: 对所述连续拍摄的照片进行按序组合,得到要同步的照片。
11.一种照片同步装置,其特征在于,包括: 排序模块,用于对要同步的照片按照拍摄时间进行排序,得到排序后的照片; 确定模块,用于从所述排序后的照片中确定出连续拍摄的照片,所述连续拍摄的照片是指相邻照片的拍摄时间的差值和/或照片相似度满足预设条件的照片; 获取模块,用于获取所述连续拍摄的照片对应的数据包,所述数据包是:照片的完整数据文件,或者,相邻照片的照片数据文件之间的差值数据压缩包; 发送模块,用于向服务端发送所述数据包,以使所述服务端根据所述数据包获取所述连续拍摄的照片,并根据所述连续拍摄的照片获取所述要同步的照片。
12.根据权利要求11所述的装置,其特征在于,所述连续拍摄的照片是从所述排序后的照片中得到的至少一组的已确定的连续拍摄的照片,所述确定模块包括: 第一单元,用于确定当前遍历的照片,其中,所述当前遍历的照片是当前处理的照片中排序在第一张的照片,所述当前处理的照片的初始值是排序后的照片; 第二单元,用于确定包含当前遍历的照片的连续拍摄的照片,得到已确定的一组连续拍摄的照片; 第三单元,用于将所述排序后的照片中除所述已确定的一组连续拍摄的照片之外的照片确定为当前处理的照片; 第四单元,用于对所述当前处理的照片重复执行上述遍历处理,直至从所述排序后的照片中得到至少一组的已确定的连续拍摄的照片。
13.根据权利要求12所述的装置,其特征在于,所述第二单元具体用于: 进行第一判断和第二判断,其中,所述第一判断是指:判断IV1JPiVw的拍摄时间的差值是否在预设的第一阈值内,所述第二判断是指:判断Ppk和ρ@+1的相似度数值是否在预设的第二阈值内,其中,P」是当前遍历的照片,O ( k〈N-j,N是排序后的照片的总张数; 如果所述第一判断的判断结果和所述第二判断的判断结果都为是,则设置k = k+Ι,重复执行所述第一判断和所述第二判断; 如果所述第一判断的判断结果和所述第二判断的判断结果中的至少一项为否,则确定数组[Pp Ppk]对应的照片为连续拍摄的照片。
14.根据权利要求13所述的装置,其特征在于,所述获取模块具体用于: 获取P」的完整数据文件; 计算P,_+m+1的完整数据文件和P?的完整数据文件之间的差值数据,并根据预设的压缩算法,对所述差值数据进行压缩,得到P?+1对应的差值数据压缩包,其中,O ( m〈k。
15.根据权利要求11所述的装置,其特征在于,所述数据包还包括如下参数: 第一参数,用于标识所述数据包是否是差值数据压缩包的参数; 第二参数,用于标识所述数据包的参数; 第三参数,用于在所述数据包是差值数据压缩包时,标识与所述数据包进行差值运算的数据包的参数。
16.一种照片同步装置,其特征在于,包括: 接收模块,用于接收客户端发送的数据包,所述数据包是客户端连续拍摄的照片对应的数据包,所述数据包是:照片的完整数据文件,或者,相邻照片的照片数据文件之间的差值数据压缩包; 处理模块,用于根据所述数据包,获取所述连续拍摄的照片; 获取模块,用于根据所述连续拍摄的照片获取要同步的照片。
17.根据权利要求16所述的装置,其特征在于,所述数据包还包括如下参数: 第一参数,用于标识所述数据包是否是差值数据压缩包的参数; 第二参数,用于标识所述数据包的参数; 第三参数,用于在所述数据包是差值数据压缩包时,标识与所述数据包进行差值运算的数据包的参数。
18.根据权利要求17所述的装置,其特征在于,所述处理模块包括: 第一单元,用于根据所述第一参数判断所述数据包是完整数据文本或者差值数据压缩包; 第二单元,用于如果所述数据包是完整数据文件,则对应保存第二参数与所述完整数据文件; 第三单元,用于如果所述数据包是差值数据压缩包,根据预设的压缩算法对所述差值数据压缩包进行解压缩,获取差值数据;以及根据所述第三参数确定与所述数据包进行差值运算的数据包,并获取所述进行差值运算的数据包的完整数据文件;并根据所述差值数据和所述完整数据文件,获取所述数据包对应的完整数据文件,并对应保存第二参数与所述数据包对应的完整数据文件。
19.根据权利要求18所述的装置,其特征在于,所述第三单元具体用于: 根据所述第三参数确定所述进行差值运算的数据包的第二参数; 根据预先保存的第二参数与完整数据文件之间的对应关系,确定所述进行差值运算的数据包的完整数据文件。
20.根据权利要求16所述的装置,其特征在于,所述获取模块具体用于: 对所述连续拍摄的照片进行按序组合,得到要同步的照片。
【文档编号】H04N1/00GK104469069SQ201410774006
【公开日】2015年3月25日 申请日期:2014年12月15日 优先权日:2014年12月15日
【发明者】朱建庭, 郭杏荣 申请人:北京百度网讯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1