本发明涉及网络管理领域的时隙管理技术,尤其涉及一种照片文件处理方法及终端设备。
背景技术:
终端设备,尤其是智能移动终端已非常普及,而且在移动终端应用中相机拍照功能使用率相对比较高。终端相机的功能是很多手机厂商的一大卖点,如像素越来越高、功能也越来越多、可以连拍等。多数人在旅游或出行时喜欢连拍,随的像素越来越高拍照生成的照片也越来越大。当前市场上多数手机的照相机功能像素可以达到1300万像素。拍出的照片可以非常清楚达到专业相机的水平,同时终端拍照应用拍完照片后直接保存到SD卡或内存卡中,一般使用JPEG或其它技术进行存储,大约为4MB左右。
现有技术在移动终端在连拍中都采用直接使用JPEG或其它格式进行存储,而现有终端很多都是不可以进行增加扩展存储,而且连拍的照片在一般在10张以上,这样一次连拍占用了大量的存储,按一张4MB,那么一次连拍需要40MB或更多的存储空间。可以看出,现有技术并没有对照片进行高效的压缩从而浪费了中的设备的存储空间。
技术实现要素:
有鉴于此,本发明的目的在于提供一种照片文件处理方法及终端设备,能至少解决现有技术中存在的上述问题。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供了一种照片文件处理方法,所述方法包括:
获取到照片文件,所述照片文件中至少包括图像数据;
依次从所述图像数据中读取M位图像数据,M为大于等于1的整数;
基于所述M位图像数据在数据库中进行查询,基于查询结果进行处理操作;其中,所述处理操作包括:若查询结果为所述数据库中保存有相同的M位图像数据,则获取到所述M位图像数据的标识信息,并将所述标识信息保存至照片文件对应的压缩文件;若查询结果为所述数据库中未保存有相同的M位图像数据,则将所述M位图像数据添加到所述数据库中,生成所述M位图像数据的标识信息,将所述标识信息保存至照片文件对应的压缩文件;
直至读取完所述照片文件的全部图像数据后,得到所述照片文件对应的压缩文件,并删除所述照片文件。
本发明实施例提供了一种终端设备,包括:
读取单元,用于获取到照片文件,所述照片文件中至少包括图像数据;
处理单元,用于依次从所述图像数据中读取M位图像数据,M为大于等于1的整数;基于所述M位图像数据在数据库中进行查询,基于查询结果进行处理操作;若查询结果为所述数据库中保存有相同的M位图像数据,则获取到所述M位图像数据的标识信息,并将所述标识信息保存至照片文件对应的压缩文件;若查询结果为所述数据库中未保存有相同的M位图像数据,则将所述M位图像数据添加到所述数据库中,生成所述M位图像数据的标识信息,将所述标识信息保存至照片文件对应的压缩文件;直至读取完所述照片文件的全部图像数据后,得到所述照片文件对应的压缩文件,并删除所述照片文件;
数据库,用于保存图像数据及其对应的标识信息。
本发明实施例提供了照片文件处理方法及终端设备,按照预设的步长读取照片文件中的图像数据,然后基于读取的图像数据与数据库中存储的数据进行比对,仅将数据库中没有保存过的部分图像数据添加并保存在数据库中,仅在照片文件对应的压缩文件中保存每一个部分图像数据对应的标识信息。如此,使得用户避免对多个具备重复内容的照片中的重复内容进行多次保 存,实现了对照片文件更有效的压缩,节省了终端设备的存储空间。
附图说明
图1为本发明实施例照片文件处理方法流程示意图一;
图2为本发明实施例场景示意图;
图3为本发明实施例照片文件处理方法流程示意图二;
图4为本发明实施例终端设备的组成结构示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
实施例一、
本发明实施例提供了一种照片文件处理方法,如图1所示,包括:
步骤101:获取到照片文件,所述照片文件中至少包括图像数据;
步骤102:依次从所述图像数据中读取M位图像数据,M为大于等于1的整数;
步骤103:基于所述M位图像数据在数据库中进行查询,基于查询结果进行处理操作;其中,所述处理操作包括有:若所述数据库中保存有相同的M位图像数据,则获取到所述M位图像数据的标识信息,并将所述标识信息保存至照片文件对应的压缩文件;若所述数据库中未保存有相同的M位图像数据,则将所述M位图像数据添加到所述数据库中,生成所述M位图像数据的标识信息,将所述标识信息保存至照片文件对应的压缩文件;
步骤104:直至读取完所述照片文件的全部图像数据后,得到所述照片文件对应的压缩文件,并删除所述照片文件。
本实施例描述的方法可以应用于具备图像采集功能的终端设备。本实施例中所述照片文件可以为连拍得到的多个照片中的一张照片。
本实施例中,所述照片文件中还包括:照片文件的描述信息;其中,所述照片文件的描述信息的大小是固定的,所以本实施例中只对图像数据部分 进行处理。另外,文件的描述信息根据文件格式的具体规范直接获取。
相应的,所述方法还包括:建立所述图片文件对应的压缩文件,添加所述照片文件的描述信息至所述压缩文件。
所述图像数据可以为二进制数据。
进一步地,所述依次从所述图像数据中读取M位图像数据可以包括:
将所述二进制的图像数据,转换为十六进制的N位图像数据,N为大于等于1的整数;
从所述十六进制的N为图像数据中,依次读取M位图像数据。
可以理解的是,M除了大于等于1之外,还预设为小于等于N的整数。
所述数据库,用于存储照片内容并为内容建立标识信息(ID)编码,包括ID和数据内容两列数据,其中ID编码类似数据库的自增主键并不可以重复,自动顺序累加,数据内容部分存储照片的实际数据。
所述生成标识信息的方法可以为在当前已有的最大标识信息之上加一,得到新的标识信息作为生成的标识信息。
所述依次从所述图像数据中读取M位图像数据;基于所述M位图像数据在数据库中进行查询,基于查询结果进行处理操作,包括:
从所述图像数据中读取M为图像数据,基于所述M位图像数据在数据库中进行查询,基于查询结果进行处理操作;
判断所述图像数据中是否存在未读取的图像数据,若存在,则继续读取M为图像数据,基于所述M位图像数据在数据库中进行查询,基于查询结果进行处理操作;否则,确定完成读取操作。
本实施例还提供读取图像文件的操作,具体可以包括:
获取到压缩文件;
逐个读取所述压缩文件中的至少一个标识信息;
基于所述至少一个标识信息,从所述数据库中提取所述至少一个标识信息对应的至少一组M位图像数据;
将读取到的至少一组M位图像数据,按照顺序进行组合得到照片文件。
其中,所述将读取到的至少一组M位图像数据,按照顺序进行组合得到照片文件,还包括:
将所述至少一组十六进制的M位图像数据转换为至少一组二进制的图像数据;
将转换后得到的至少一组二进制图像数据按照顺序进行组合得到照片文件。
所述压缩文件为每一个原照片文件对应一个压缩后的文件,主要存储原照片数据存储到压缩数据库后对应的ID编码。
本实施例中所述照片文件、数据库以及压缩文件之间的对应关系,可以如图2所示,有两个照片文件,分别为照片文件一和照片文件二,照片文件中的图像数据转换为二进制之后如图中所示;设置M等于8,也就是说每次从照片文件中提取8位图像数据在数据库中进行查询;假设数据库中保存有图像数据“12345670”,那么就直接从中提取其对应的标识信息“001”将001加入到照片文件一对应的压缩文件一中;再次提取图片文件一中的“23157900”,发现数据库中没有存储相同数据,就在数据库中生成标识信息002,将该部分图像数据添加到002对应的数据内容中。照片文件二的处理方式与照片文件一的处理方式相同,不做赘述。
另外,可以理解的是,本实施例中步骤104中所述删除照片文件,可以为每次完成一次遍历照片文件的操作,就将照片文件删除;或者,可以为完成所述照片文件所在的连拍得到的全部的照片文件的处理之后,再将连拍得到的全部照片文件共同删除。
具体压缩流程如图3所示:
步骤301:读取照片文件;
步骤302:创建照片文件对应的压缩文件;
步骤303:根据照片文件格式获取文件的描述信息长度以及图像数据;
这里,文件格式由文件描述信息和具体图像数据两部分组成;
其中,所述文件的描述信息的大小是固定的,所以本实施例中只对数据 部分进行数字重新编码,对文件的描述信息根据文件格式的具体规范直接获取,获取数据后转化为16进制编码,根据编码查询数据库判断是否已存有所述照片文件,如果存在,则将ID保存到压缩文件中,如果不存在,将数据内容保存到数据库中,并自动生成ID编码。
步骤304:以预设步长M读取原照片文件的二进制图像数据,并将读取到的图像数据转化为16进制编码,使用16进制编码到数据库中查询是否存在相同的数据内容,如果存在,则执行步骤305;否则,执行步骤306;
步骤305:将数据内容对应的标识信息,比如ID号,保存的到压缩文件中,执行步骤307;
步骤306:保存16进制编码到数据库中并按照顺序生成标识信息,然后执行步骤305;
步骤307:判断是否完成当前照片数据内容读取;没有完成,则返回执行步骤304;若完成,则执行步骤308;
步骤308:开始压缩其它文件,直到所有文件完成后,删除原有照片完成连拍照片的压缩。
可见,通过采用上述方案,就能够按照预设的步长读取照片文件中的图像数据,然后基于读取的图像数据与数据库中存储的数据进行比对,仅将数据库中没有保存过的部分图像数据添加并保存在数据库中,仅在照片文件对应的压缩文件中保存每一个部分图像数据对应的标识信息。如此,使得用户避免对多个具备重复内容的照片中的重复内容进行多次保存,实现了对照片文件更有效的压缩,节省了终端设备的存储空间。
实施例二、
本发明实施例提供了一种终端设备,如图4所示,包括:
读取单元41,用于获取到照片文件,所述照片文件中至少包括图像数据;
处理单元42,用于依次从所述图像数据中读取M位图像数据,M为大 于等于1的整数;基于所述M位图像数据在数据库中进行查询,基于查询结果进行处理操作;若查询结果为所述数据库中保存有相同的M位图像数据,则获取到所述M位图像数据的标识信息,并将所述标识信息保存至照片文件对应的压缩文件;若查询结果为所述数据库中未保存有相同的M位图像数据,则将所述M位图像数据添加到所述数据库中,生成所述M位图像数据的标识信息,将所述标识信息保存至照片文件对应的压缩文件;直至读取完所述照片文件的全部图像数据后,得到所述照片文件对应的压缩文件,并删除所述照片文件;
数据库43,用于保存图像数据及其对应的标识信息。
本实施例中所述照片文件可以为连拍得到的多个照片中的一张照片。
本实施例中,所述照片文件中还包括:照片文件的描述信息;其中,所述照片文件的描述信息的大小是固定的,所以本实施例中只对图像数据部分进行处理。另外,文件的描述信息根据文件格式的具体规范直接获取。
相应的,所述处理单元,用于建立所述图片文件对应的压缩文件,添加所述照片文件的描述信息至所述压缩文件。
所述图像数据可以为二进制数据。
进一步地,所述处理单元,用于将二进制的图像数据,转换为十六进制的N位图像数据,N为大于等于1的整数;从所述十六进制的N位图像数据中,依次读取M位图像数据。
可以理解的是,M除了大于等于1之外,还预设为小于等于N的整数。
所述数据库,用于存储照片内容并为内容建立标识信息(ID)编码,包括ID和数据内容两列数据,其中ID编码类似数据库的自增主键并不可以重复,自动顺序累加,数据内容部分存储照片的实际数据。
所述生成标识信息的方法可以为在当前已有的最大标识信息之上加一,得到新的标识信息作为生成的标识信息。
所述依次从所述图像数据中读取M位图像数据;基于所述M位图像数据在数据库中进行查询,基于查询结果进行处理操作,包括:
从所述图像数据中读取M为图像数据,基于所述M位图像数据在数据库中进行查询,基于查询结果进行处理操作;
判断所述图像数据中是否存在未读取的图像数据,若存在,则继续读取M为图像数据,基于所述M位图像数据在数据库中进行查询,基于查询结果进行处理操作;否则,确定完成读取操作。
本实施例还提供读取图像文件的操作,所述处理单元,用于删除所述照片文件之后,获取到压缩文件;逐个读取所述压缩文件中的至少一个标识信息;基于所述至少一个标识信息,从所述数据库中提取所述至少一个标识信息对应的至少一组M位图像数据;将读取到的至少一组M位图像数据,按照顺序进行组合得到照片文件。
所述处理单元,用于将所述至少一组十六进制的M位图像数据转换为至少一组二进制的图像数据;将转换后得到的至少一组二进制图像数据按照顺序进行组合得到照片文件。
所述压缩文件为每一个原照片文件对应一个压缩后的文件,主要存储原照片数据存储到压缩数据库后对应的ID编码。
本实施例中所述照片文件、数据库以及压缩文件之间的对应关系,可以如图2所示,有两个照片文件,分别为照片文件一和照片文件二,照片文件中的图像数据转换为二进制之后如图中所示;设置M等于8,也就是说每次从照片文件中提取8位图像数据在数据库中进行查询;假设数据库中保存有图像数据“12345670”,那么就直接从中提取其对应的标识信息“001”将001加入到照片文件一对应的压缩文件一中;再次提取图片文件一中的“23157900”,发现数据库中没有存储相同数据,就在数据库中生成标识信息002,将该部分图像数据添加到002对应的数据内容中。照片文件二的处理方式与照片文件一的处理方式相同,不做赘述。
另外,可以理解的是,本实施例中所述处理单元,可以为每次完成一次遍历照片文件的操作,就将照片文件删除;或者,可以为完成所述照片文件所在的连拍得到的全部的照片文件的处理之后,再将连拍得到的全部照片文 件共同删除。
可见,通过采用上述方案,就能够按照预设的步长读取照片文件中的图像数据,然后基于读取的图像数据与数据库中存储的数据进行比对,仅将数据库中没有保存过的部分图像数据添加并保存在数据库中,仅在照片文件对应的压缩文件中保存每一个部分图像数据对应的标识信息。如此,使得用户避免对多个具备重复内容的照片中的重复内容进行多次保存,实现了对照片文件更有效的压缩,节省了终端设备的存储空间。
本发明实施例所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、基站、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。