CN117785809A - Cr3文件修复方法、装置、设备及存储介质 - Google Patents

Cr3文件修复方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117785809A
CN117785809A CN202311755889.XA CN202311755889A CN117785809A CN 117785809 A CN117785809 A CN 117785809A CN 202311755889 A CN202311755889 A CN 202311755889A CN 117785809 A CN117785809 A CN 117785809A
Authority
CN
China
Prior art keywords
information
data
file
block
data block
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.)
Pending
Application number
CN202311755889.XA
Other languages
English (en)
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 Ruan Niu Technology Group Co ltd
Original Assignee
Shenzhen Ruan Niu Technology Group 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 Ruan Niu Technology Group Co ltd filed Critical Shenzhen Ruan Niu Technology Group Co ltd
Priority to CN202311755889.XA priority Critical patent/CN117785809A/zh
Publication of CN117785809A publication Critical patent/CN117785809A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及计算机领域,公开了一种CR3文件修复方法、装置、设备及存储介质。该方法包括:获取参考CR3文件及损坏CR3文件,并读取参考CR3文件,获取参考CR3文件中的数据块;获取损坏CR3文件的数据流信息块,并根据数据流信息块,获取jpg大小信息、jpg偏移信息、craw大小信息、craw偏移信息;根据jpg大小信息及jpg偏移信息,得到jpeg图像数据,并根据craw大小信息及craw偏移信息,得到craw图像数据;按照预设媒体格式规则,将数据块、子数据块、jpeg图像数据、craw图像数据组合,得到修复后的CR3文件。在本发明实施例中,能将损坏的CR3文件恢复成原有格式,提高CR3文件修复准确率。

Description

CR3文件修复方法、装置、设备及存储介质
技术领域
本发明涉及计算机领域,尤其涉及一种CR3文件修复方法、装置、设备及存储介质。
背景技术
随着计算机、网络的普及,图像文件已经被越来越广泛的使用。CR3文件是一种相机原始图像格式,主要用于存储拍摄的RAW格式图像,在CR3图像文件在使用过程中,不可避免的会受到各种情况的干扰,都会使图像文件受到损坏,从而造成相应的应用程序,在某些情况下,这些损坏是不可逆转的,这时就需要对图像文件进行修复还原,使之能够正常浏览。
当前修复损坏CR3文件一般是提取内部残留的缩略图图像数据,但此方法的CR3文件修复准确率低。
发明内容
本发明的主要目的在于解决CR3文件修复准确率低的技术问题。
本发明第一方面提供了一种CR3文件修复方法,所述CR3文件修复方法包括:
获取参考CR3文件及损坏CR3文件,并读取所述参考CR3文件,获取所述参考CR3文件中的数据块,所述数据块包括子数据块;
获取所述损坏CR3文件的数据流信息块,并根据所述数据流信息块,获取jpg大小信息、jpg偏移信息、craw大小信息、craw偏移信息;
根据所述jpg大小信息及所述jpg偏移信息,得到jpeg图像数据,并根据所述craw大小信息及所述craw偏移信息,得到craw图像数据;
按照预设媒体格式规则,将所述数据块、所述子数据块、jpeg图像数据、craw图像数据组合,得到修复后的CR3文件。
可选的,在本发明第一方面的第一种实现方式中,所述读取所述参考CR3文件,获取所述参考CR3文件中的数据块包括:
根据所述参考CR3文件,读取所述参考CR3文件中的文件头数据块及cr3格式缩略图数据块;
根据所述文件头数据块的大小信息,读取媒体信息数据块;
根据所述媒体信息数据块中的子数据块,读取媒体负载数据块。
可选的,在本发明第一方面的第二种实现方式中,所述根据所述媒体信息数据块中的子数据块,读取媒体负载数据块包括:
获取所述媒体信息数据块的唯一标识值;
判断所述唯一标识值是否合法,若合法,则根据所述媒体信息数据块,读取所述媒体信息数据块中的子数据块;
根据所述媒体信息数据块中的子数据块,读取媒体负载数据块。
可选的,在本发明第一方面的第三种实现方式中,所述判断所述唯一标识值是否合法,若合法,则根据所述媒体信息数据块,读取所述媒体信息数据块中的子数据块包括:
判断所述唯一标识值是否合法,若合法,则根据所述媒体信息数据块,读取所述媒体信息数据块中的缩略图数据块,更新读取缩略图数据块后的偏移位置;
根据所述偏移位置,读取所述媒体信息数据块中的信息共享数据块的类型字段;
验证所述类型字段是否合法,若合法,则读取所述媒体信息数据块中的数据流信息块。
可选的,在本发明第一方面的第四种实现方式中,所述验证所述类型字段是否合法,若合法,则读取所述媒体信息数据块中的数据流信息块包括:
验证所述类型字段是否合法,若合法,则读取所述媒体信息数据块中的第一数据流信息块,所述第一数据流信息块包括压缩jpeg数据;
根据读取所述第一数据流信息块后的偏移位置,读取所述媒体信息数据块中的第二视数据信息块,所述第二数据流信息块包括预览图数据;
根据读取所述第二数据流信息块后的偏移位置,读取所述媒体信息数据块中的第三数据流信息块,所述第三数据流信息块包括原图数据块;
根据读取所述第三数据流信息块后的偏移位置,读取所述媒体信息数据块中的第四数据流信息块,所述第四数据流信息块包括双向像素图数据。
可选的,在本发明第一方面的第五种实现方式中,所述根据所述获取所述损坏CR3文件的数据流信息块,并根据所述数据流信息块,获取jpg大小信息、jpg偏移信息、craw大小信息、craw偏移信息包括:
获取所述损坏CR3文件的数据流信息块,所述数据流信息块有多个;
获取第一预设标识符以及第二预设标识符,所述第一预设标识符是首个数据流信息块出现的预设标识符,所述第二预设标识符是最后一个数据流信息块出现的预设标识符,
根据所述第一预设标识符以及所述第二预设标识符,获取jpg大小信息、jpg偏移信息、craw大小信息、craw偏移信息。
可选的,在本发明第一方面的第六种实现方式中,所述根据所述第一预设标识符以及所述第二预设标识符,获取jpg大小信息、jpg偏移信息、craw大小信息、craw偏移信息包括:
获取所述第一预设标识符的偏移位置,并根据所述第一预设标识符的偏移位置,得到jpg大小信息、jpg偏移信息;
获取所述第二预设标识符的偏移位置,并根据所述第一预设标识符的偏移位置及所述第二预设标识符的偏移位置,得到craw大小信息、craw偏移信息。
本发明第二方面提供了一种CR3文件修复设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述CR3文件修复设备执行上述的CR3文件修复方法。
本发明的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的CR3文件修复方法。
在本发明实施例中,获取参考CR3文件及损坏CR3文件,并读取所述参考CR3文件,获取所述参考CR3文件中的数据块,所述数据块包括子数据块;获取所述损坏CR3文件的数据流信息块,并根据所述数据流信息块,获取jpg大小信息、jpg偏移信息、craw大小信息、craw偏移信息;根据所述jpg大小信息及所述jpg偏移信息,得到jpeg图像数据,并根据所述craw大小信息及所述craw偏移信息,得到craw图像数据;按照预设媒体格式规则,将所述数据块、所述子数据块、jpeg图像数据、craw图像数据组合,得到修复后的CR3文件。本发明中,获取参考CR3文件中的各数据块,以及损坏CR3文件中的jpeg图像数据、craw图像数据,然后将各数据块、jpeg图像数据、craw图像数据组合,得到修复后的CR3文件,能将损坏的CR3文件恢复成原有格式,提高CR3文件修复准确率。
附图说明
图1为本发明实施例中CR3文件修复方法的一个实施例示意图;
图2为本发明实施例中CR3文件修复装置的一个实施例示意图;
图3为本发明实施例中CR3文件修复设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种CR3文件修复方法、装置、设备及存储介质。
下面将参照附图更详细地描述本发明公开的实施例。虽然附图中显示了本发明公开的某些实施例,然而应当理解的是,本发明公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本发明公开的附图及实施例仅用于示例性作用,并非用于限制本发明公开的保护范围。
在本发明公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中CR3文件修复方法的一个实施例包括:
S100,获取参考CR3文件及损坏CR3文件,并读取参考CR3文件,获取参考CR3文件中的数据块;
在本实施例中,用户通过终端发送文件修复请求至服务器,服务器接收文件修复请求,获取参考CR3文件及损坏CR3文件,其中,参考CR3文件和损坏CR3文件使用同设备拍摄,CR3文件中需要有文件头数据块(ftyp box)及cr3格式缩略图数据块(prew data box)、媒体信息数据块(moov box)、媒体负载数据块(mdat box)等基本数据块,从参考CR3文件中读取这些数据块,某些数据块中包括子数据块。
S200,获取损坏CR3文件的数据流信息块,并根据数据流信息块,获取jpg大小信息、jpg偏移信息、craw大小信息、craw偏移信息。
在本实施例中,从头遍历搜索CR3损坏文件中ASCII码为“CRAW”出现的偏移位置,CRAW是数据流信息块(trak box)中出现图像数据偏移信息跟数据大小附近最佳的标识符,遍历搜索损坏文件中ASCII码为“CTMD”出现的偏移位置,记录为CTMD的偏移位置,CTMD是最后一个trak box中会出现的内容,通过CTMD标识符,能缩小搜索craw大小信息、craw偏移信息的范围,基于CRAW偏移位置和CTMD偏移位置,得到jpg大小信息、jpg偏移信息、craw大小信息、craw偏移信息。
S300,根据jpg大小信息及jpg偏移信息,得到jpeg图像数据,并根据craw大小信息及craw偏移信息,得到craw图像数据。
在本实施例中,根据jpg数据起始偏移位置和数据大小,捕获损坏CR3文件中分辨率为6000x4000的jpeg图像数据,暂存;根据craw数据起始偏移位置和数据大小,捕获损坏CR3文件中craw图像数据,暂存。
S400,按照媒体格式规则,将数据块、子数据块、jpeg图像数据、craw图像数据组合,得到修复后的CR3文件。
在本实施例中,将损坏文件中jpg跟craw数据的大小信息,反向推导从参考文件中获取的各个偏移数据块(co64box)中代表图像数据的偏移信息进行更新;将从损坏CR3文件中捕获到的高分辨率jpeg数据和craw图像数据,与从参考CR3文件解析到的各个box按照ISO基本媒体格式规则组装成修复后的完整CR3文件。
在本发明第一方面一种可选的实施方式中,根据参考CR3文件,获取参考CR3文件中的数据块包括:
根据参考CR3文件,读取参考CR3文件中的文件头数据块及cr3格式缩略图数据块;根据文件头数据块的大小信息,读取媒体信息数据块;根据媒体信息数据块中的子数据块,读取媒体负载数据块。
在本实施例中,依据ISO基本媒体格式规则,在CR3参考文件头起始开始读取ftypbox,前4字节为该box的size,继续读4个字节为该box type,与ASCII码值为‘ftyp’进行匹配验证数据合法性,根据size大小,读取剩下数据,并更新读取偏移指针位置;根据更新的偏移位置,读取moov box;根据ISO基本媒体格式规则,依据moov box中的trak box获取的co64box与大小数据块(stsz box)中含有的偏移位置及大小去解析读取媒体负载数据块(mdat box);根据ISO基本媒体格式规则,解析读取cr3检验数据块(xpacket data box)的size、type、uuid、data字段,判断uuid值是否匹配0xbe7acfcb97a942e89c71999491e3afac,若合法则暂存该box,其中Xpacket data box是一个cr3格式的一个特殊box类型,里面包含着独特的uuid值用来检验合法性;根据ISO基本媒体格式规则,解析读取cr3高分辨率缩略图数据块(prew data box)的size、type、uuid、version、count字段以及PRVW box的所有内容,PRVW box包含jpeg的数据,判断uuid值是否匹配0xeaf42b5e1c984b88b9fbb7dc406e4d16,若合法则暂存该box,其中Prew data box是cr3格式的另外一个特殊box,包含了一张更大分辨率的jpeg格式缩略图数据以及这张缩略图的宽度、高度等信息,PRVW box是嵌套在prew data box中的子box,包含实际的jpeg数据(缩略图)。
在本发明第一方面一种可选的实施方式中,根据媒体信息数据块中的子数据块,读取媒体负载数据块包括:
获取媒体信息数据块的唯一标识值;判断唯一标识值是否合法,若合法,则根据媒体信息数据块,读取媒体信息数据块中的子数据块;根据媒体信息数据块中的子数据块,读取媒体负载数据块。
在本实施例中,读取ftyp box后,根据更新的取偏移指针位置,按照ISO规则,读取对应的size、type,验证type类型是否是moov,若合法则跳过8个字节,读取16个字节大小的唯一标识(uuid),验证uuid值是否为0x855c0b687820f11e08111f4ce462b6a48,若数据合法则暂存该数据;根据moov box特征,继续读取CNCV box、CCTP box、CTBO box、free box、CMT1box、CMT2box、CMT3box、CMT4box,并依次验证type字段是否合法,合法则暂存数据,更新读取偏移指针位置,其中,CNCV box代表包含Cannon Compressor Verion信息的box、CCTP box代表包含Canon Compressor Table Pointers信息的box、CTBO box代表CanonTrak Binary Offset信息的box、free box是用来占位的空box、CMT1box代表含有CanonMetadata in TIFF format,Exif IFD0信息的box、CMT2box代表含有Canon Metadata inTIFF format,Exif IFD信息的box、CMT3box代表含有Canon Metadata in TIFF format,Canon Makernotes信息的box、CMT4box代表含有Canon Metadata in TIFF format,ExifGPS IFD信息的box。
在本发明第一方面一种可选的实施方式中,判断唯一标识值是否合法,若合法,则根据媒体信息数据块,读取媒体信息数据块中的子数据块包括:
判断唯一标识值是否合法,若合法,则根据媒体信息数据块,读取媒体信息数据块中的缩略图数据块,更新读取缩略图数据块后的偏移位置;根据偏移位置,读取媒体信息数据块中的信息共享数据块的类型字段;验证类型字段是否合法,若合法,则读取媒体信息数据块中的数据流信息块。
在本实施例中,moov box的uuid值是否合法,若合法,则根据读取CNCV box、CCTPbox、CTBO box、free box、CMT1box、CMT2box、CMT3box、CMT4box后更新的偏移位置,继续读取缩略图数据块(THMB box)的size与type字段,验证type值是否为ASCII码‘THMB’,合法则继续向下读取4个字节,暂存为version和flag,接着依次读各2个字节,分别保存为thumb的width和height字段,继续向下读取4个字节,暂存为thumb的jpg size,跳过4个字节,开始读取thumb的jpg数据,读取数据长度参考thumb的jpg size,最后对thumb的jpg size进行对4取余,如若不能4字节对齐,则要读取相应位占位符0x00,如果发现需要有占位符,则再读取4个字节,暂存为未知数据块,更新偏移读取指针,如果不需要则直接更新指针;根据更新的偏移位置,匹配信息共享数据块(mvhd box),验证type字段为ASCII码值‘mvhd’合法后暂存该字段,更新偏移指针;根据更新的偏移位置,读取trak box。
在本发明第一方面一种可选的实施方式中,验证类型字段是否合法,若合法,则读取媒体信息数据块中的数据流信息块包括:
验证类型字段是否合法,若合法,则读取媒体信息数据块中的第一数据流信息块,第一数据流信息块包括压缩jpeg数据;根据读取第一数据流信息块后的偏移位置,读取媒体信息数据块中的第二数据流信息块,第二数据流信息块包括预览图数据;根据读取第二数据流信息块后的偏移位置,读取媒体信息数据块中的第三数据流信息块,第三数据流信息块包括原图数据块;根据读取第三数据流信息块后的偏移位置,读取媒体信息数据块中的第四数据流信息块,第四数据流信息块包括双向像素图数据。
在本实施例中,有四个trak box,验证mvhd box的type字段是否合法,若合法,则读取第一数据流信息块(第一个trak box)的内容,搜索第一数据流信息块的data中出现的stsz和co64字段出现的偏移位置,读取对应box的数据,暂存,stsz box包含有embeddedjpeg(压缩jpeg)的大小,co64box包含有embedded jpeg的偏移位置,更新读取偏移指针和第一数据流信息块内容;读取第二数据流信息块(第二个trak box)的内容,搜索第二数据流信息块的data中出现的stsz和co64字段出现的偏移位置,读取对应box的数据,暂存,stsz box包含有crx preview(紧凑型裸数据——预览图)的大小,co64box包含有crxpreview的偏移位置,更新读取偏移指针和第二数据流信息块内容;读取第三数据流信息块(第三个trak box)的内容,搜索第三数据流信息块的data中出现的stsz和co64字段出现的偏移位置,读取对应box的数据,暂存,stsz box包含有crx main image(紧凑型裸数据——原图)的大小,co64box包含有crx main image的偏移位置,更新读取偏移指针和第三数据流信息块的内容;读取第四数据流信息块(第四个trak box)的内容,搜索第四数据流信息块的data中出现的stsz和co64字段出现的偏移位置,读取对应box的数据,暂存,stsz box包含有dual pixel delta image(双向像素图)的大小,co64box包含有dual pixel deltaimage的偏移位置,更新读取偏移指针和第四数据流信息块的内容。
在本发明第一方面一种可选的实施方式中,根据获取损坏CR3文件的数据流信息块,并根据数据流信息块,获取jpg大小信息、jpg偏移信息、craw大小信息、craw偏移信息包括:
获取损坏CR3文件的数据流信息块,数据流信息块有多个;获取第一预设标识符以及第二预设标识符,第一预设标识符是首个数据流信息块出现的预设标识符,第二预设标识符是最后一个数据流信息块出现的预设标识符,根据第一预设标识符以及第二预设标识符,获取jpg大小信息、jpg偏移信息、craw大小信息、craw偏移信息。
在本实施例中,从头遍历搜索损坏CR3文件中ASCII码为第一预设标识符,即“CRAW”出现的偏移位置,读取该偏移位置的前4个字节数据,判断值是否与0x00000070匹配,若不匹配,则基于第一预设标识符出现的偏移位置继续向下搜索,继续匹配,直到找到,该偏移位置标记为jpeg craw offset,其中,第一预设标识符是trak box中出现图像数据偏移信息跟数据大小附近最佳的标识符;从头遍历搜索损坏CR3文件中ASCII码为第一预设标识符出现的偏移位置,读取该偏移位置的前4个字节数据,判断值是否与0x000000e4匹配,若不匹配,则基于第一预设标识符出现的偏移位置继续向下搜索,继续匹配,直到找到,该偏移位置标记为crx craw offset;遍历搜索损坏文件中ASCII码为第二预设标识符,即“CTMD”出现的偏移位置,记录为第二预设标识符的偏移位置;基于第一预设标识符及第二预设标识符的偏移位置,得到jpg大小信息、jpg偏移信息、craw大小信息、craw偏移信息。
在本发明第一方面一种可选的实施方式中,根据第一预设标识符以及第二预设标识符,获取jpg大小信息、jpg偏移信息、craw大小信息、craw偏移信息包括:
获取第一预设标识符的偏移位置,并根据第一预设标识符的偏移位置,得到jpg大小信息、jpg偏移信息;获取第二预设标识符的偏移位置,并根据第一预设标识符的偏移位置及第二预设标识符的偏移位置,得到craw大小信息、craw偏移信息。
在本实施例中,针对损坏文件,在获取的jpeg craw offset与获取的crx crawoffset区间搜索ASCII码为“stsz”出现的偏移位置,记为jpg stsz offset;针对损坏文件,在获取的jpeg craw offset与获取的crx craw offset区间搜索ASCII码为“co64”出现的偏移位置,记为jpg co64offset;针对损坏文件,在获取的crx craw offset与获取的第二预设标识符偏移位置区间搜索ASCII码为“stsz”出现的偏移位置,记为main stsz offset;针对损坏文件,在获取的crx craw offset与获取的第二预设标识符偏移位置区间搜索ASCII码为“co64”出现的偏移位置,记为main co64offset;根据ISO基本媒体格式规则,解析获取的jpg stsz offset处解析读取stsz box数据,得到trak0box中包含的jpg数据大小信息,暂存;根据ISO基本媒体格式规则,解析获取的jpg co64offset处解析读取co64box数据,得到trak0box中包含的jpg数据偏移信息,暂存;根据ISO基本媒体格式规则,解析获取的main stsz offset处解析读取stsz box数据,得到trak2box中包含的craw数据大小信息,暂存;根据ISO基本媒体格式规则,解析获取的main co64offset处解析读取co64box数据,得到trak2box中包含的craw数据偏移信息,暂存。
参见图2,本发明第二方面提供了一种CR3文件修复装置,所述CR3文件修复装置包括:
数据块获取模块100,用于获取参考CR3文件及损坏CR3文件,并读取参考CR3文件,获取参考CR3文件中的数据块,数据块包括子数据块;
图像信息获取模块200,用于获取损坏CR3文件的数据流信息块,并根据数据流信息块,获取jpg大小信息、jpg偏移信息、craw大小信息、craw偏移信息;
损坏图像获取模块300,用于根据jpg大小信息及jpg偏移信息,得到jpeg图像数据,并根据craw大小信息及craw偏移信息,得到craw图像数据;
文件修复模块400,用于按照预设媒体格式规则,将数据块、子数据块、jpeg图像数据、craw图像数据组合,得到修复后的CR3文件。
在本发明第二方面一种可选的实施方式中,数据块获取模块100还用于根据参考CR3文件,读取参考CR3文件中的文件头数据块及cr3格式缩略图数据块;根据文件头数据块的大小信息,读取媒体信息数据块;根据媒体信息数据块中的子数据块,读取媒体负载数据块。
在本发明第二方面一种可选的实施方式中,数据块获取模块100还用于获取媒体信息数据块的唯一标识值;判断唯一标识值是否合法,若合法,则根据媒体信息数据块,读取媒体信息数据块中的子数据块;根据媒体信息数据块中的子数据块,读取媒体负载数据块。
在本发明第二方面一种可选的实施方式中,数据块获取模块100还用于判断唯一标识值是否合法,若合法,则根据媒体信息数据块,读取媒体信息数据块中的缩略图数据块,更新读取缩略图数据块后的偏移位置;根据偏移位置,读取媒体信息数据块中的信息共享数据块的类型字段;验证类型字段是否合法,若合法,则读取媒体信息数据块中的数据流信息块。
在本发明第二方面一种可选的实施方式中,数据块获取模块100还用于验证类型字段是否合法,若合法,则读取媒体信息数据块中的第一数据流信息块,第一数据流信息块包括压缩jpeg数据;根据读取第一数据流信息块后的偏移位置,读取媒体信息数据块中的第二视数据信息块,第二数据流信息块包括预览图数据;根据读取第二数据流信息块后的偏移位置,读取媒体信息数据块中的第三数据流信息块,第三数据流信息块包括原图数据块;根据读取第三数据流信息块后的偏移位置,读取媒体信息数据块中的第四数据流信息块,第四数据流信息块包括双向像素图数据。
在本发明第二方面一种可选的实施方式中,图像信息获取模块200还用于获取损坏CR3文件的数据流信息块,数据流信息块有多个;获取第一预设标识符以及第二预设标识符,第一预设标识符是首个数据流信息块出现的预设标识符,第二预设标识符是最后一个数据流信息块出现的预设标识符,根据第一预设标识符以及第二预设标识符,获取jpg大小信息、jpg偏移信息、craw大小信息、craw偏移信息。
在本发明第二方面一种可选的实施方式中,获取第一预设标识符的偏移位置,并根据第一预设标识符的偏移位置,得到jpg大小信息、jpg偏移信息;获取第二预设标识符的偏移位置,并根据第一预设标识符的偏移位置及第二预设标识符的偏移位置,得到craw大小信息、craw偏移信息。
图3是本发明实施例提供的一种CR3文件修复设备的结构示意图,该CR3文件修复设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对CR3文件修复设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在CR3文件修复设备500上执行存储介质530中的一系列指令操作。
基于CR3文件修复设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如Windows Serve,Mac OS X,Unix,Linux,Free BSD等等。本领域技术人员可以理解,图3示出的CR3文件修复设备结构并不构成对基于CR3文件修复设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述CR3文件修复方法的步骤。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (10)

1.一种CR3文件修复方法,其特征在于,所述CR3文件修复方法包括:
获取参考CR3文件及损坏CR3文件,并读取所述参考CR3文件,获取所述参考CR3文件中的数据块,所述数据块包括子数据块;
获取所述损坏CR3文件的数据流信息块,并根据所述数据流信息块,获取jpg大小信息、jpg偏移信息、craw大小信息、craw偏移信息;
根据所述jpg大小信息及所述jpg偏移信息,得到jpeg图像数据,并根据所述craw大小信息及所述craw偏移信息,得到craw图像数据;
按照预设媒体格式规则,将所述数据块、所述子数据块、jpeg图像数据、craw图像数据组合,得到修复后的CR3文件。
2.根据权利要求1所述的CR3文件修复方法,其特征在于,所述读取所述参考CR3文件,获取所述参考CR3文件中的数据块包括:
根据所述参考CR3文件,读取所述参考CR3文件中的文件头数据块及cr3格式缩略图数据块;
根据所述文件头数据块的大小信息,读取媒体信息数据块;
根据所述媒体信息数据块中的子数据块,读取媒体负载数据块。
3.根据权利要求2所述的CR3文件修复方法,其特征在于,所述根据所述媒体信息数据块中的子数据块,读取媒体负载数据块包括:
获取所述媒体信息数据块的唯一标识值;
判断所述唯一标识值是否合法,若合法,则根据所述媒体信息数据块,读取所述媒体信息数据块中的子数据块;
根据所述媒体信息数据块中的子数据块,读取媒体负载数据块。
4.根据权利要求3所述的CR3文件修复方法,其特征在于,所述判断所述唯一标识值是否合法,若合法,则根据所述媒体信息数据块,读取所述媒体信息数据块中的子数据块包括:
判断所述唯一标识值是否合法,若合法,则根据所述媒体信息数据块,读取所述媒体信息数据块中的缩略图数据块,更新读取缩略图数据块后的偏移位置;
根据所述偏移位置,读取所述媒体信息数据块中的信息共享数据块的类型字段;
验证所述类型字段是否合法,若合法,则读取所述媒体信息数据块中的数据流信息块。
5.根据权利要求4所述的CR3文件修复方法,其特征在于,所述验证所述类型字段是否合法,若合法,则读取所述媒体信息数据块中的数据流信息块包括:
验证所述类型字段是否合法,若合法,则读取所述媒体信息数据块中的第一数据流信息块,所述第一数据流信息块包括压缩jpeg数据;
根据读取所述第一数据流信息块后的偏移位置,读取所述媒体信息数据块中的第二视数据信息块,所述第二数据流信息块包括预览图数据;
根据读取所述第二数据流信息块后的偏移位置,读取所述媒体信息数据块中的第三数据流信息块,所述第三数据流信息块包括原图数据块;
根据读取所述第三数据流信息块后的偏移位置,读取所述媒体信息数据块中的第四数据流信息块,所述第四数据流信息块包括双向像素图数据。
6.根据权利要求1所述的CR3文件修复方法,其特征在于,所述根据所述获取所述损坏CR3文件的数据流信息块,并根据所述数据流信息块,获取jpg大小信息、jpg偏移信息、craw大小信息、craw偏移信息包括:
获取所述损坏CR3文件的数据流信息块,所述数据流信息块有多个;
获取第一预设标识符以及第二预设标识符,所述第一预设标识符是首个数据流信息块出现的预设标识符,所述第二预设标识符是最后一个数据流信息块出现的预设标识符;
根据所述第一预设标识符以及所述第二预设标识符,获取jpg大小信息、jpg偏移信息、craw大小信息、craw偏移信息。
7.根据权利要求6所述的CR3文件修复方法,其特征在于,所述根据所述第一预设标识符以及所述第二预设标识符,获取jpg大小信息、jpg偏移信息、craw大小信息、craw偏移信息包括:
获取所述第一预设标识符的偏移位置,并根据所述第一预设标识符的偏移位置,得到jpg大小信息、jpg偏移信息;
获取所述第二预设标识符的偏移位置,并根据所述第一预设标识符的偏移位置及所述第二预设标识符的偏移位置,得到craw大小信息、craw偏移信息。
8.一种CR3文件修复装置,其特征在于,所述CR3文件修复包括:
数据块获取模块,用于获取参考CR3文件及损坏CR3文件,并读取所述参考CR3文件,获取所述参考CR3文件中的数据块,所述数据块包括子数据块;
图像信息获取模块,用于获取所述损坏CR3文件的数据流信息块,并根据所述数据流信息块,获取jpg大小信息、jpg偏移信息、craw大小信息、craw偏移信息;
损坏图像获取模块,用于根据所述jpg大小信息及所述jpg偏移信息,得到jpeg图像数据,并根据所述craw大小信息及所述craw偏移信息,得到craw图像数据;
文件修复模块,用于按照预设媒体格式规则,将所述数据块、所述子数据块、jpeg图像数据、craw图像数据组合,得到修复后的CR3文件。
9.一种CR3文件修复设备,其特征在于,所述CR3文件修复设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述CR3文件修复设备执行如权利要求1-7中任一项所述的CR3文件修复方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的CR3文件修复方法。
CN202311755889.XA 2023-12-18 2023-12-18 Cr3文件修复方法、装置、设备及存储介质 Pending CN117785809A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311755889.XA CN117785809A (zh) 2023-12-18 2023-12-18 Cr3文件修复方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311755889.XA CN117785809A (zh) 2023-12-18 2023-12-18 Cr3文件修复方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN117785809A true CN117785809A (zh) 2024-03-29

Family

ID=90382592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311755889.XA Pending CN117785809A (zh) 2023-12-18 2023-12-18 Cr3文件修复方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117785809A (zh)

Similar Documents

Publication Publication Date Title
US9031329B1 (en) Photo forensics using image signatures
Gloe Forensic analysis of ordered data structures on the example of JPEG files
US7667742B2 (en) Image pickup and reproducing apparatus
CN102880726B (zh) 一种图像过滤方法及系统
KR20020055601A (ko) 촬영 이미지 관리장치 및 그룹명 결정 방법
CN104679830A (zh) 一种文件处理方法和装置
CN107943520B (zh) 应用堆栈信息获取方法及装置、堆栈信息解析方法及装置
CN117667481A (zh) Nef文件修复方法、装置、设备及存储介质
Gangwar et al. Authentication of digital image using exif metadata and decoding properties
CN103763480A (zh) 获取视频配音的方法及设备
CN112286706B (zh) 安卓应用的应用信息远程快速获取方法及相关设备
CN117785809A (zh) Cr3文件修复方法、装置、设备及存储介质
CN1670726A (zh) 一种检查机群文件系统中垃圾文件的方法
CN114581853A (zh) 图像匹配方法、系统、设备及介质
CN104380288A (zh) 图像检索系统以及图像检索方法
CN112905546A (zh) 已删除文件的恢复方法、装置、设备及存储介质
CN110689133B (zh) 一种训练机器学习引擎的方法、系统及相关装置
Hong et al. An approach for the similar file detection with GPS information
CN114168079B (zh) 一种识别磁盘删除的tiff类型数据的方法、装置及相关组件
CN103312792A (zh) 从外接存储设备中读取文件的方法及系统
CN117762662A (zh) png文件修复方法、装置、设备及存储介质
CN112437327A (zh) 实时全景直播拼接方法及系统
CN112308098A (zh) 一种图像处理方法及装置
CN117708062A (zh) Heic文件的修复方法、设备及存储介质
CN115495469B (zh) 海图文件的更新方法、装置及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination