KR101568680B1 - Data restoration method using data fragment classification - Google Patents

Data restoration method using data fragment classification Download PDF

Info

Publication number
KR101568680B1
KR101568680B1 KR1020140089780A KR20140089780A KR101568680B1 KR 101568680 B1 KR101568680 B1 KR 101568680B1 KR 1020140089780 A KR1020140089780 A KR 1020140089780A KR 20140089780 A KR20140089780 A KR 20140089780A KR 101568680 B1 KR101568680 B1 KR 101568680B1
Authority
KR
South Korea
Prior art keywords
data
fragment
frame
fragments
image frame
Prior art date
Application number
KR1020140089780A
Other languages
Korean (ko)
Inventor
이상진
박정흠
Original Assignee
고려대학교 산학협력단
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 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Priority to KR1020140089780A priority Critical patent/KR101568680B1/en
Application granted granted Critical
Publication of KR101568680B1 publication Critical patent/KR101568680B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents

Abstract

The present invention relates to a data restoration method using data fragment classification. More preferably, the data restoration method includes: a step of an input unit for receiving input of restoration target data which are damaged and need to be restored; a step of a fragment classification unit for classifying fragments, related to the restoration target data, among data fragments pre-stored in a recording medium; a step of a fragment reassembling unit for reassembling fragments, which are irregularly fragmented, among the classified fragments; and a step of an image frame extraction unit for extracting an image frame with respect to the restoration target data based on the result of reassembling the fragments. According to the data restoration method using data fragments, data can be restored in an easy manner even when data fragments to be restored are irregularly fragmented as an image frame is extracted by classifying data fragments, related to data fragments to be restored, and reassembling the classified data fragments.

Description

데이터 파편 분류를 이용한 데이터 복원 방법{Data restoration method using data fragment classification}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data restoration method,

본 발명은 데이터 파편 분류를 이용한 데이터 복원 방법에 관한 것으로, 특히 저장매체 내 삭제되거나, 손상된 데이터를 용이하게 복원할 수 있는 데이터 파편 분류를 이용한 데이터 복원 방법에 관한 것이다.
The present invention relates to a data restoration method using data fragment classification, and more particularly, to a data restoration method using data fragment classification that can easily restore deleted or damaged data in a storage medium.

IT 기술이 급격하게 발전함에 따라, 다양한 분야에서 IT 기술이 융합되어 널리 사용되고 있다. 특히, 많은 사람들이 언제 어디서나 유무선 인터넷에 접속하여 디지털 기기를 이용함에 따라, 보다 많은 멀티 미디어 데이터를 저장매체에 저장하는 다양한 기술이 요구되고 있다. As IT technology develops rapidly, IT technology is converged and widely used in various fields. In particular, as many people access the wired and wireless Internet anytime and anywhere and use digital devices, various technologies for storing more multimedia data in a storage medium are required.

특히, 저장매체를 효과적으로 사용하기 위해서는 데이터를 체계적으로 저장, 삭제, 수정 등의 관리하는 파일 시스템이 요구된다. In particular, in order to effectively use a storage medium, a file system for managing data such as storing, deleting, and modifying data is required.

도 1은 종래기술에 따라 파일 시스템을 이용하여 디지털 기기에서 저장매체 내 데이터를 기록하는 방법을 나타낸 도면이다.1 is a diagram illustrating a method of recording data in a storage medium in a digital device using a file system according to the related art.

도 1(a)에 도시된 바와 같이, 파일 시스템이 사용하는 메타 데이터 영역에는 데이터 또는 파일의 이름, 크기, 위치 등의 부가 정보가 저장되고, 실제 데이터는 저장소 영역에 저장된다. As shown in FIG. 1 (a), additional information such as name, size, and location of data or a file is stored in a metadata area used by the file system, and actual data is stored in a storage area.

이처럼 파일 시스템에서는 데이터를 저장매체에 기록하기 위해 특정 크기의 단위를 사용하는데, 이를 데이터 파편(fragment)이라고 한다. 예를 들어, 하나의 파일(File 1)이 총 5개의 데이터 파편(3, 4, 5, 6, 7)으로 구성되고, 모든 파편이 연속적으로 저장되었다면, 메타 데이터 영역의 정보를 이용하여 3 → 4 → 5 → 6 → 7번 파편의 순서대로 접근하여 상기 파일 1의 내용을 확인한다. In this way, a file system uses a unit of a certain size to write data to a storage medium, which is called a data fragment. For example, if one file (File 1) consists of a total of five data fragments (3, 4, 5, 6, 7) and all fragments are stored consecutively, 4, 5, 6, 7, and 7 are accessed in order, and the contents of the file 1 are confirmed.

또는 다른 파일(File 2)이 총 3개의 데이터 파편(11, 25, 17)으로 구성되고, 모든 파편이 불연속적으로 단편화되어 저장된 경우에도 메타 데이터 영역의 정보를 이용할 수 있으며, 11 → 25 → 17번 파편의 순서로 접근하여 내용을 확인한다.Or the other file (File 2) is composed of three data fragments 11, 25, and 17, and information of the metadata area can be used even if all fragments are discontinuously fragmented and stored. Confirm the contents by accessing the order of fragments.

하지만 이때, 상기 도 1(a)에 저장된 두 개의 파일(File 1, File 2)이 임의의 값으로 데이터영역을 덮어쓰는 완전 삭제인 경우를 제외하고, 일반적으로 삭제된 경우에는 도 1(b)에 도시된 바와 같이, 저장소 영역의 실제 데이터는 그대로 유지됨에 따라, 메타 데이터 영역의 속성값이 초기화되거나 변경되지 않는 경우에는 해당 정보를 탐색하여 파일을 복구한다.However, in this case, except for the case where the two files (File 1, File 2) stored in FIG. 1 (a) are overwritten by overwriting the data area with an arbitrary value, The actual data of the storage area is maintained as it is, and if the attribute value of the metadata area is not initialized or changed, the corresponding information is searched to recover the file.

만약, 도 1(c)에 도시된 것처럼, 메타 데이터 영역이 유실되는 경우에는 파일이 저장된 파편들의 위치 정보를 확인할 수 없기 때문에 저장소영역 전체에 대해서 파일의 시작 파편을 탐지한 후, 데이터의 유효 크기를 계산하거나 내부 포맷 구조를 검증하는 방식을 이용하여 파일을 복구한다. If the metadata region is lost as shown in FIG. 1 (c), since the location information of the fragments in which the file is stored can not be confirmed, the start fragment of the file is detected with respect to the entire storage region, Or to verify the internal format structure.

하지만 이러한 파일 복구 방법은 일반적으로 삭제된 파일을 구성하는 데이터 파편 전체가 연속적으로 존재해야만 정상적인 파일 상태로 복구가 가능하기 때문에, 만약 데이터 파편이 불연속적으로 단편화된 경우에는 정상 상태로의 파일 복구가 어려운 문제점이 발생했다. However, since such a file recovery method generally restores a normal file state only when the entire data fragment constituting the deleted file exists continuously, if the data fragment is discontinuously fragmented, the file recovery to the normal state is performed There was a difficult problem.

특히, 동영상 파일의 경우에는 다수의 파편 집합이 불연속적으로 조각나서 저장될 가능성이 높아 파일이 삭제되고 메타 데이터 영역이 유실되는 경우에는 복구가 어렵게 된다. 이처럼 동영상 파일의 생성과 관련하여 최근 스마트폰, 태블릿, CCTV, 블랙박스 등의 디지털 기기가 널리 사용되고, 이러한 상기 디지털 기기에서는 플래시 메모리 기반의 저장매체를 주고 사용하고 있다. 이러한 플래시 메모리의 경우에는, 저장 메커니즘의 특성상 데이터 파편들의 단편화가 매우 많이 발생할 수 있어, 데이터 파편이 불연속적으로 단편화되는 경우의 정상 상태로의 파일 복구 방법이 요구되고 있다.
In particular, in the case of a moving image file, it is highly likely that a large number of fragments are discontinuously fragmented and stored, thereby making it difficult to recover the file if the file is deleted and the metadata area is lost. Recently, digital devices such as a smart phone, a tablet, a CCTV, and a black box have been widely used in connection with generation of a moving image file. In such a digital device, a storage medium based on a flash memory is used and used. In the case of such a flash memory, a fragmentation of data fragments may occur very much due to the nature of the storage mechanism, and a method of recovering a file to a normal state in the case where data fragments are discontinuously fragmented is required.

KR 10-2001-0064801 (전자문서 백업/복구 장치 및 그 방법, 한국전기통신공사) 2001.07.11.KR 10-2001-0064801 (Electronic document backup / recovery device and its method, Korea Telecommunication Corporation) 2001.07.11.

상기와 같은 종래 기술의 문제점을 해결하기 위해, 본 발명은 복원하고자 하는 데이터와 관련있는 데이터 파편을 분류하고, 분류 결과에 기초하여 데이터 파편을 재조립하여 영상 프레임을 추출함으로써, 데이터 파편이 불연속적으로 단편화되는 경우에도 용이하게 복원할 수 있는 데이터 파편 분류를 이용한 데이터 복원 방법을 제공하고자 한다.
In order to solve the problems of the prior art as described above, the present invention classifies data fragments related to data to be restored, extracts image frames by reassembling data fragments based on the classification result, Which can be easily restored even when the fragment is fragmented into a plurality of data fragments.

위와 같은 과제를 해결하기 위한 본 발명의 한 실시 예에 따른 데이터 파편 분류를 이용한 데이터 복원 방법은 입력부가 복원하고자 하는 복원 대상 데이터를 입력받는 단계; 파편분류부가 저장매체 내 기저장된 데이터 파편 중 상기 복원 대상 데이터와 관련된 파편을 분류하는 단계; 파편재조립부가 분류한 파편 중 불연속적으로 조각난 파편들을 재조립하는 단계; 및 영상프레임추출부가 상기 파편들을 재조립한 결과에 기초하여 상기 복원 대상 데이터에 대한 영상 프레임을 추출하는 단계;를 포함한다. According to an aspect of the present invention, there is provided a method for restoring data using data fragment classification, the method comprising: receiving restoration target data to be restored by an input unit; Classifying fragments related to the data to be restored among the previously stored data fragments in the storage medium; Reassembling the discontinuously fragmented fragments of the sorted fragments; And extracting an image frame for the restoration object data based on a result of reassembling the fragments of the image frame extracting unit.

특히, 파편의 분류를 위한 기준 파편의 크기를 설정하는 것을 더 포함하는 입력부가 대상 데이터를 입력받는 단계를 포함할 수 있다. In particular, the method may further include receiving input data of an input unit further including setting a size of a reference fragment for classifying the fragment.

특히, 상기 저장매체의 종류에 따라 섹터, 클러스터, 블록, 페이지 중 적어도 하나에 해당하는 저장 단위인 기준 파편의 크기를 포함할 수 있다.In particular, the size of the reference fragment, which is a storage unit corresponding to at least one of a sector, a cluster, a block, and a page, may be included according to the type of the storage medium.

보다 바람직하게는 상기 복원 대상 데이터의 영상 프레임에 대한 바이트 단위의 검색을 통해 분류하고자 하는 파편의 유형을 식별하는 과정; 식별된 파편의 유형에 기초하여 상기 복원 대상 데이터와 관련된 파편이 저장매체 내 기저장된 데이터 파편 중에 존재하는지 검색하는 과정; 및 검색된 파편에 기초하여 상기 복원 대상 데이터에 대한 파편 맵을 생성하는 과정; 을 포함하는 파편분류부가 상기 복원 대상 데이터와 관련된 파편을 분류하는 단계를 포함할 수 있다. More preferably, the method further comprises a step of identifying a type of a fragment to be classified through a search of the image frame of the restoration target data in units of bytes. Searching for a fragment associated with the data to be restored in the data fragment stored in the storage medium based on the type of the identified fragment; And generating a fragment map for the restoration object data based on the retrieved fragment; And a step of classifying the fragment related to the restoration object data.

보다 바람직하게는 상기 파편의 유형을 식별하는 과정을 수행하기 전, 해쉬 알고리즘에 기초하여 상기 복원 대상 데이터 내 중복되는 파편을 제거하는 과정;을 더 포함하는 파편분류부가 상기 복원 대상 데이터와 관련된 파편을 분류하는 단계를 포함할 수 있다. More preferably, the method further includes a step of removing overlapping fragments in the restoration object data based on the hash algorithm before performing the process of identifying the type of the fragment, And sorting.

특히, 상기 파편의 유형이 키 프레임(Key-frame), 델타 프레임(delta-frame), 디코딩 정보, 랜덤 중 적어도 하나인 복원 대상 데이터의 영상 프레임에 대한 바이트 단위의 검색을 통해 분류하고자 하는 파편의 유형을 식별하는 과정을 포함할 수 있다. Particularly, it is preferable that the type of the fragments to be classified through the search of the image frame of the restoration object data, which is at least one of key frame, delta-frame, decoding information and random, And identifying the type.

보다 바람직하게는 상기 파편의 유형이 키 프레임 또는 델타 프레임인 경우, 상기 키 프레임 또는 델타 프레임의 헤더 영역에 저장된 메타 정보에 기초하여 영상 프레임의 시작 부분이 포함된 파편을 분류하는 것을 더 포함하는 복원 대상 데이터의 영상 프레임에 대한 바이트 단위의 검색을 통해 분류하고자 하는 파편의 유형을 식별하는 과정을 포함할 수 있다. Further comprising classifying the fragment containing the beginning of the video frame based on the meta information stored in the header area of the key frame or delta frame if the type of the fragment is a key frame or a delta frame, And identifying the type of the fragment to be classified through the search of the image frame of the object data in byte units.

보다 바람직하게는 상기 복원 대상 데이터에 대한 파편 맵을 입력받는 과정; 상기 복원 대상 데이터의 헤더 영역에 저장된 메타 정보의 유효성을 검증하는 과정; 상기 복원 대상 데이터의 영상 프레임에 대한 구조를 검증하는 과정; 및 상기 파편의 메타 정보에 대한 유효성 및 영상 프레임의 구조에 대한 검증 결과에 기초하여 영상 프레임 체인을 재조립하는 과정; 을 포함하는 파편재조립부가 분류한 파편 중 불연속적으로 조각난 파편들을 재조립하는 단계를 포함할 수 있다. More preferably, receiving a fragment map for the restoration object data; Verifying validity of meta information stored in a header area of the restoration target data; A step of verifying a structure of an image frame of the restoration target data; And reassembling the image frame chain based on the validity of the fragment information and the verification result of the structure of the image frame. May include reassembling the discontinuously fragmented debris of the sorted debris.

보다 바람직하게는 상기 영상 프레임 체인에 대한 메타 정보가 존재하는지 검색하는 과정; 상기 영상 프레임 체인에 대한 메타 정보가 존재하는 경우, 상기 메타 정보를 획득하는 과정; 추출하고자 하는 영상 프레임의 이름을 설정하는 과정; 및 획득한 상기 메타 정보에 기초하여 이미지 파일 형태의 영상 프레임을 추출하는 과정; 을 포함하는 영상프레임추출부가 상기 파편들을 재조립한 결과에 기초하여 상기 복원 대상 데이터에 대한 영상 프레임을 추출하는 단계를 포함할 수 있다. More preferably, searching for meta information of the image frame chain exists; Acquiring the meta information when the meta information of the image frame chain exists; Setting a name of an image frame to be extracted; Extracting an image frame of an image file type based on the obtained meta information; And extracting an image frame for the restoration object data based on a result of reassembling the fragments.

특히, 상기 이미지 파일을 시계열 순으로 나열하여 동영상 파일 형태의 영상 프레임을 추출하는 과정;을 더 포함하는 영상프레임추출부가 상기 파편들을 재조립한 결과에 기초하여 상기 복원 대상 데이터에 대한 영상 프레임을 추출하는 단계를 포함할 수 있다. And extracting image frames in the form of a moving picture file by arranging the image files in a time series order, extracting image frames of the restoration object data based on a result of reassembling the fragments .

보다 바람직하게는 상기 영상 프레임 체인에 대한 메타 정보가 존재하지 않는 경우, 상기 영상 프레임 체인의 데이터를 디코딩하여 이미지 파일 형태의 영상 프레임을 추출하는 과정; 추출된 상기 이미지 파일에 대하여 이미지 프로세싱 기법을 적용하여 적어도 하나의 이미지 집합을 분류하는 과정; 을 더 포함하는 영상프레임추출부가 상기 파편들을 재조립한 결과에 기초하여 상기 복원 대상 데이터에 대한 영상 프레임을 추출하는 단계를 포함할 수 있다. More preferably, decoding the data of the image frame chain and extracting an image frame of an image file type when meta information about the image frame chain does not exist; Classifying at least one image set by applying an image processing technique to the extracted image file; And extracting an image frame for the restoration object data based on a result of reassembling the fragments.

특히, 파일 시스템의 비할당 영역, 미사용 영역, 단일 파일의 비할당 영역, 미사용 영역, 손상된 파일, 로우 덤프(raw dump) 중 적어도 하나인 복원 대상 데이터를 포함할 수 있다. In particular, it may include restoration target data which is at least one of a file system unassigned area, an unused area, a unassigned area of a single file, an unused area, a damaged file, and a raw dump.

특히, 시간, 장소, GPS 정보, 카메라 번호, 속도, 컨테이너 메타 정보, NAL 헤더 정보, 슬라이스 헤더 정보, 프레임 메타 정보(시간, 장소, GPS 정보, 카메라 번호, 속도 등) 중 적어도 하나를 포함하는 복원 대상 데이터의 메타 정보를 포함할 수 있다.
In particular, a restoration process including at least one of time, place, GPS information, camera number, speed, container meta information, NAL header information, slice header information, frame meta information (time, place, GPS information, camera number, And may include meta information of the target data.

본 발명의 데이터 파편 분류를 이용한 데이터 복원 방법은 복원하고자 하는 데이터 파편과 관련있는 데이터 파편을 분류하고, 분류된 데이터 파편을 재조립하여 영상 프레임을 추출함으로써, 복원하고자 하는 데이터 파편이 불연속적으로 단편화되더라도 데이터를 용이하게 복원할 수 있는 효과가 있다.
The data reconstruction method using the data fragment classification according to the present invention classifies data fragments related to data fragments to be reconstructed and extracts image frames by reassembling the classified data fragments so that data fragments to be reconstructed are discontinuously fragmented The data can be easily restored.

도 1은 종래기술에 따른 디지털 기기에서 저장매체 내 데이터를 기록하는 방법을 나타낸 도면이다.
도 2는 본 발명의 일 실시 예에 따른 데이터 파편 분류를 이용한 데이터 복원 방법을 나타낸 순서도이다.
도 3은 본 발명의 복원 대상 데이터와 관련된 파편 분류 단계의 세부 과정을 나타낸 순서도이다.
도 4는 연속적 및 비연속적으로 저장된 파편 분류의 예를 나타낸 도면이다.
도 5는 MP4 컨테이너 파일에 포함된 H.264 영상프레임 구조의 예를 나타낸 도면이다.
도 6은 데이터 파편 분류 결과를 나타낸 도면이다.
도 7은 영상 프레임 체인 재조립 단계의 세부 과정을 나타낸 순서도이다.
도 8은 단일 슬라이스 및 다중 슬라이스를 사용하는 영상 프레임 체인 구조를 나타낸 도면이다.
도 9는 영상 프레임 체인의 재조립을 위한 검증 체계를 개략적으로 나타낸 도면이다.
도 10은 영상 프레임 체인의 재조립을 위한 검증 체계 중 메타 정보 검증과정의 알고리즘을 나타낸 도면이다.
도 11은 영상 프레임 체인의 재조립을 위한 검증 체계 중 영상 데이터 구조 검증을 나타낸 도면이다.
도 12는 단일 슬라이스 및 다중 슬라이스를 사용하는 영상 프레임 체인 재조립 과정을 나타낸 도면이다.
도 13은 영상프레임추출부의 파편들을 재조립한 결과에 기초하여 복원 대상 데이터에 대한 영상 프레임을 추출하는 과정의 세부과정을 나타낸 순서도이다.
도 14는 영상 프레임과 관련된 메타 정보 관리 유형을 나타낸 도면이다.
도 15는 이미지 파일 내 메타 정보를 저장하는 유형을 나타낸 도면이다.
1 is a diagram illustrating a method of recording data in a storage medium in a digital device according to the related art.
2 is a flowchart illustrating a data restoration method using data fragment classification according to an embodiment of the present invention.
FIG. 3 is a flowchart illustrating a detailed procedure of a fragment classification step related to the restoration object data of the present invention.
Fig. 4 is a diagram showing an example of fragment classification stored continuously and discontinuously.
5 is a diagram illustrating an example of an H.264 video frame structure included in an MP4 container file.
6 is a diagram showing a result of data fragment classification.
7 is a flowchart showing a detailed procedure of the image frame chain reassembling step.
8 is a diagram illustrating a structure of an image frame chain using a single slice and multiple slices.
Figure 9 is a schematic representation of a verification scheme for reassembly of an image frame chain.
10 is a diagram illustrating an algorithm of a meta information verification process among verification schemes for reassembling the image frame chain.
11 is a diagram illustrating a verification of a video data structure in a verification scheme for reassembling a video frame chain.
12 is a view illustrating a process of reassembling an image frame chain using a single slice and multiple slices.
13 is a flowchart illustrating a detailed process of extracting an image frame for restoration target data based on a result of reassembling fragments of the image frame extracting unit.
14 is a diagram illustrating a meta information management type related to an image frame.
15 is a diagram showing a type of storing meta information in an image file.

이하, 본 발명을 바람직한 실시 예와 첨부한 도면을 참고로 하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 여기에서 설명하는 실시 예에 한정되는 것은 아니다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT Hereinafter, the present invention will be described in detail with reference to preferred embodiments and accompanying drawings, which will be easily understood by those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein.

이하, 도 2를 참조하여 본 발명에 따른 데이터 파편 분류를 이용한 데이터 복원 방법에 대하여 자세히 살펴보도록 한다. Hereinafter, a data restoration method using the data fragment classification according to the present invention will be described in detail with reference to FIG.

도 2는 본 발명의 일 실시 예에 따른 데이터 파편 분류를 이용한 데이터 복원 방법을 나타낸 순서도이다.2 is a flowchart illustrating a data restoration method using data fragment classification according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 본 발명의 데이터 파편 분류를 이용한 데이터 복원 방법은 입출력장치, 프로세서 및 저장매체 등의 하드웨어 수단을 통해 구현되는데, 먼저, 입력부가 입출력장치를 통해 복원하고자 하는 복원 대상 데이터를 입력받는다(S110). 이때, 상기 입력부가 입력받는 상기 복원 대상 데이터는 파일 시스템의 비할당 영역, 미사용 영역, 단일 파일의 비할당 영역, 미사용 영역, 손상된 파일, 로우 덤프(raw dump) 중 적어도 하나이며, 임의의 바이트 스트림 형태로 이루어질 수 있다. As shown in FIG. 2, the data restoration method using the data fragment classification according to the present invention is implemented through hardware means such as an input / output device, a processor, and a storage medium. First, (S110). At this time, the restoration target data to which the input unit is input is at least one of an unassigned area, an unused area, a unassigned area, a unused area, a damaged file, and a raw dump of a file system, . ≪ / RTI >

특히, 상기 파일 시스템에서는 데이터를 저장매체에 기록하기 위해 특정 크기의 단위를 사용하여 저장하는데, 이때, 사용되는 특정 크기의 단위를 데이터 파편(fragment)이라고 할 수 있다. Particularly, in the file system, a unit of a specific size is used to store data in a storage medium. In this case, a specific size unit used may be referred to as a data fragment.

또한, 상기 입력부가 데이터 파편의 분류를 위해 기준 파편의 크기 또한 설정할 수 있는데, 이때, 설정되는 상기 기준 파편의 크기는 저장매체 또는 파일 시스템의 종류에 따라 섹터(sector), 클러스터(cluster), 블록(block), 페이지(page) 중 적어도 하나에 해당하는 것으로서, 최소 저장 단위를 나타낸다. 이처럼, 데이터 파편의 크기를 최소 저장 단위로 설정함으로써, 데이터가 조각난 채로 저장되더라도 단편화가 발생한 경계를 신속하고 용이하게 파악할 수 있도록 한다. In addition, the size of the reference fragment may be set for the classification of the data fragment of the input unit. In this case, the size of the reference fragment to be set may be a sector, a cluster, a block, or a page, and represents a minimum storage unit. Thus, by setting the size of the data fragment to the minimum storage unit, the boundary where the fragmentation occurs can be quickly and easily grasped even if the data is stored in a fragmented state.

이에 더하여, 미리 확보된 영상 프레임의 디코딩 정보가 존재하는 경우에는 상기 디코딩 정보를 기본값으로 입력하여 복원 대상 데이터의 스트림에서 디코딩 정보를 검색하지 못하는 경우에도 데이터의 복원이 가능하도록 한다. In addition, when there is decoding information of a previously reserved image frame, the decoding information is input as a default value, so that data can be restored even if decoding information can not be retrieved from the stream of the restoration object data.

이어서, 프로세서 내에서 구동되는 파편분류부가 저장매체 내 기저장된 데이터 파편 중 앞서 입력받은 복원 대상 데이터와 관련된 파편을 분류한다(S120). Then, the fragment classifier, which is driven in the processor, classifies fragments related to the previously input restoration object data among the previously stored data fragments in the storage medium (S120).

특히, 이하 파편의 유형을 식별하는 과정을 수행하기에 앞서, 해쉬 알고리즘에 기초하여 상기 복원 대상 데이터 내 중복되는 파편을 제거하는 과정을 수행할 수 있으며, 이러한 복원 대상 데이터 내 중복되는 파편을 먼저 제거하는 과정은 생략될 수도 있다. Particularly, it is possible to perform a process of removing duplicated fragments in the restoration target data based on the hash algorithm before performing the process of identifying the type of fragments, May be omitted.

도 3은 본 발명의 복원 대상 데이터와 관련된 파편 분류 단계의 세부 과정을 나타낸 순서도이다.FIG. 3 is a flowchart illustrating a detailed procedure of a fragment classification step related to the restoration object data of the present invention.

도 3에 도시된 바와 같이, 파편분류부가 상기 복원 대상 데이터의 영상 프레임에 대해 바이트 단위의 검색을 통해 분류하고자 하는 파편의 유형을 먼저 식별한다(S121). 이때, 식별되는 파편의 유형은 키 프레임(Key-frame), 델타 프레임(delta-frame), 디코딩 정보, 랜덤 중 적어도 하나일 수 있다. As shown in FIG. 3, the fragment classifier first identifies the type of fragment to be searched for in the byte unit search for the image frame of the restoration object data (S121). At this time, the type of the identified fragment may be at least one of a key-frame, a delta-frame, decoding information, and random.

먼저, 상기 키 프레임은 이미지 전체를 저장하는 프레임으로서, 디코딩을 위해 다른 프레임이 요구되지 않으며, 비디오 코덱에 따라 I-frame(Intra-coded frame) 또는 IDR(Instantaneous Decoding Refresh) 프레임으로 표현될 수 있다. First, the key frame is a frame for storing an entire image, and no other frame is required for decoding. The key frame can be represented by an I-frame (Intra-coded frame) or an IDR (Instantaneous Decoding Refresh) frame according to a video codec .

또한, 델타 프레임은 상기 키 프레임과 달리, 디코딩을 위해 자신의 이전 또는 이후에 프레임이 요구되며, 비디오 코덱에 따라 P-frame(Predicted frame), B-frame(Bi-predictive frame) 또는 non-IDR 프레임으로 나타낼 수 있다. 특히, 상기 키 프레임 또는 델타 프레임의 헤더(header)영역에는 각 프레임의 메타정보가 저장되는데, 이와 같이 저장된 각 프레임의 메타정보를 이용하여 영상 프레임의 시작 부분이 포함된 파편을 분류할 수 있다. 예를 들면, H.264 비디오 코덱의 경우에는 헤더 영역에 NAL (Network Abstraction Layer) 헤더와 Slice 헤더가 프레임의 메타정보로서 포함된다. Unlike the key frame, the delta frame requires a previous or later frame to be decoded, and a P-frame (Predicted frame), a B-frame (Bi-predictive frame) Frame. In particular, meta information of each frame is stored in a header area of the key frame or the delta frame. The fragments including the beginning part of the image frame can be classified using the meta information of each frame. For example, in the case of the H.264 video codec, a network abstraction layer (NAL) header and a slice header are included in the header area as meta information of a frame.

이어서, 디코딩 정보는 압축 저장된 영상 프레임의 데이터를 압축 해제하여 가시적인 정보를 획득하기 위해 필수적으로 요구되는 설정 정보를 나타낸다. 이에 따라, 어떤 파편 내 디코딩 정보가 포함되어 있다면, 해당 파편을 디코딩 정보가 포함된 파편으로 분류하고, 영상의 디코딩에 활용하도록 한다. 이러한 디코딩 정보는 비디오 코덱에 따라 저장되는 형태가 다양한데, 예를 들어, H.264 비디오 코덱의 경우에는 SPS(Sequence parameter set)와 PPS(Picture parameter set) 정보로 저장된다. Next, the decoding information represents setting information that is indispensably required to decompress the data of the compressed and stored image frame to obtain visible information. Accordingly, if any fragmented decoding information is included, the fragment is classified into fragments including decoding information, and utilized for decoding of the image. For example, in the case of the H.264 video codec, the decoded information is stored as SPS (Sequence Parameter Set) and PPS (Picture Parameter Set) information.

넷째, 랜덤 파편은 특정 시그니처(signature)값이 존재하지 않는 데이터 스트림이 높은 난수성(randomness)을 갖는 경우에 해당된다. 일반적으로 비디오 코덱에서는 영상 프레임을 압축 저장하므로, 데이터 스트림의 난수성이 높은데, 키 프레임 또는 델타 프레임의 크기가 큰 경우에 있어서, 1개 이상의 랜덤 파편에 영상 데이터의 중간 영역이 저장될 수 있다.Fourth, a random fragment corresponds to a case in which a data stream without a specific signature value has a high randomness. Generally, a video codec compresses and stores an image frame. Therefore, the data stream has high randomness. In the case where a key frame or a delta frame is large, an intermediate region of the image data can be stored in one or more random fragments.

이와 같이 식별된 파편의 유형에 기초하여 입력받은 상기 복원 대상 데이터와 관련된 데이터 파편이 저장매체 내 기저장된 데이터 파편 중에 존재하는지 검색한다(S122). In operation S122, it is determined whether the data fragment related to the input restore object data exists in the stored data fragment in the storage medium based on the type of the extracted fragment.

이하에서는 MP4 컨테이너 파일에 포함된 H.264 영상 데이터의 파편이 연속적이거나, 또는 불연속적으로 저장된 경우를 예로 들어 자세히 살펴보도록 한다. Hereinafter, a case in which fragments of H.264 image data included in the MP4 container file are continuously or discontinuously stored will be described in detail as an example.

도 4(a)는 연속적으로 저장된 데이터 파편 분류의 예를 나타낸 도면이다.4 (a) is a diagram showing an example of data fragments continuously stored.

도 4(a)에 도시된 바와 같이, 비디오 데이터를 저장하는 방식에 따라 일부 차이가 존재하지만, 일반적으로 디코딩 정보는 별도로 관리되며 영상 프레임이 연속적으로 존재하는 형태로 저장된다. 이와 같이 저장된 영상 프레임에 대하여 데이터 파편의 유형을 식별해 본 결과, 1번 파편에서 H.264의 디코딩 정보가 발견되었고, 2번 파편의 중간 지점에서 키 프레임의 시작 부분이 발견되었다. 또한 3번 파편은 알려진 시그니처값이 발견되지 않았고 데이터 스트림의 난수성이 높아 랜덤으로 분류되었다. 또한 4번 파편에서 델타 프레임의 시작 부분이 발견되었고, 5번 파편은 난수성이 높아 랜덤으로 분류되었다. As shown in FIG. 4 (a), there are some differences according to the method of storing video data, but generally, decoding information is separately managed and stored in a form in which video frames are continuously present. As a result of identifying the type of data fragment for the stored image frame, decoding information of H.264 was found in the first fragment, and the beginning of the key frame was found at the middle point of the second fragment. Also, fragment # 3 was randomly classified because no known signature value was found and the data stream was highly random. In addition, the beginning of the delta frame was found in the fourth fragment, and the fifth fragment was randomly classified as high in water.

이와 달리, MP4 컨테이너 파일에 포함된 H.264 영상 데이터의 파편이 불연속적으로 조각난 채로 저장된 경우를 살펴보도록 한다. On the other hand, let us examine the case where fragments of H.264 image data contained in the MP4 container file are stored discontinuously and fragmented.

도 4(b)에 도시된 바와 같이, 데이터 파편의 유형을 식별해 본 결과, 1번 파편에서 델타 프레임의 시작 부분이 발견되었고, 2번 파편의 중간 지점에서 키 프레임의 시작 부분이 발견되었다. 또한 3번 파편에서 H.264의 디코딩 정보가 발견되었으며, 4번과 5번 파편은 알려진 시그니처값이 발견되지 않았고 데이터 스트림의 난수성이 높아 랜덤으로 분류되었다.As shown in Fig. 4 (b), by identifying the type of the data fragment, the beginning of the delta frame was found in the first fragment, and the beginning of the key frame was found in the middle of the second fragment. In addition, H.264 decoding information was found in the third fragment, and the fourth and fifth fragments were randomly classified because the known signature value was not found and the data stream was highly random.

특히, 영상 프레임의 헤더 정보를 이용하여 키 프레임과 델타 프레임의 시작 파편을 분류할 수 있다. 이때, 영상 프레임의 데이터가 저장되는 컨테이너 파일(MP4, AVI, MKV 등) 또는 비디오 코덱(H.264, MPEG-4 visual 등)에 따라 이용 가능한 헤더 정보의 종류에 차이가 존재하지만, 이러한 헤더 정보는 영상 프레임의 시작 부분을 효과적으로 탐지하기 위해 사용할 수 있으며, 뿐만 아니라, 단편화된 데이터 파편의 재조립 과정에서도 유용하게 활용될 수 있다. Particularly, header fragments of key frames and delta frames can be classified using header information of image frames. At this time, there is a difference in the kinds of header information available according to the container file (MP4, AVI, MKV, etc.) in which data of the image frame is stored or the video codec (H.264, MPEG-4 visual, etc.) Can be used to effectively detect the beginning of an image frame, and can also be useful in the process of reassembling fragmented data fragments.

예를 들어, H.264 비디오 코덱으로 생성된 영상 데이터의 경우에는 헤더 영역에 NAL (Network Abstraction Layer) 헤더와 슬라이스 (Slice) 헤더가 포함된다. For example, in the case of image data generated by the H.264 video codec, a header field includes a network abstraction layer (NAL) header and a slice header.

이때, 상기 NAL은 H.264 코덱에서 데이터를 저장하기 위해 사용하는 단위로서, 디코딩 정보와 각 프레임(또는 픽처)들이 독립적인 NAL 구조로 존재한다. In this case, the NAL is a unit used for storing data in the H.264 codec, and the decoding information and each frame (or pictures) exist in an independent NAL structure.

표 1은 다양한 형태의 NAL을 나타낸 표이다. Table 1 is a table showing various types of NAL.

NAL 타입NAL type 설명Explanation NAL 헤더 값
(8비트)
NAL header value
(8 bits)
1One Coded slice of a non-IDR pictureCoded slice of a non-IDR picture 델타-프레임Delta-frame 0x01, 0x21, 0x41, 0x610x01, 0x21, 0x41, 0x61 55 Coded slice of an IDR pictureCoded slice of an IDR picture 키-프레임Key-frame 0x25, 0x45, 0x650x25, 0x45, 0x65 66 Supplemental enhancement informationSupplemental enhancement information 부가 정보Additional Information 0x060x06 77 Sequence parameter set (SPS)Sequence parameter set (SPS) 디코딩 정보Decoding information 0x27, 0x47, 0x670x27, 0x47, 0x67 88 Picture parameter set(PPS)Picture parameter set (PPS) 디코딩 정보Decoding information 0x28, 0x48, 0x680x28, 0x48, 0x68

상기 표 1에 기재된 바와 같이, 키-프레임, 델타-프레임 그리고 디코딩 정보(SPS, PPS)가 기본적으로 사용된다. Key-frame, delta-frame and decoding information (SPS, PPS) are basically used as shown in Table 1 above.

또한 슬라이스(Slice)는 하나의 NAL 구조에 저장되는 영상 데이터의 저장 단위를 나타내며, 비디오 코덱에서 픽처(Picture, 가시적인 이미지)를 구성하는 요소이다. 일반적으로 픽처와 슬라이스가 1:1로 구성되어 하나의 NAL 구조에 하나의 픽처가 포함된다. 하지만, 만약 하나의 픽처가 다수의 슬라이스로 구성되는 경우에는 하나의 NAL 구조에 저장되는 슬라이스에 픽처의 일부분만이 포함된다. Slice represents a storage unit of image data stored in one NAL structure, and is a component constituting a picture (Picture, visible image) in a video codec. Generally, pictures and slices are composed of 1: 1, and one picture is included in one NAL structure. However, if one picture is composed of a plurality of slices, only a part of the picture is included in the slice stored in one NAL structure.

표 2는 H.264 비디오 코덱에서 사용하는 슬라이스 타입의 값을 나타낸다. Table 2 shows the slice type values used in the H.264 video codec.

슬라이스 타입Slice type 설명Explanation 0, 1, 3, 5, 6, 80, 1, 3, 5, 6, 8 델타-슬라이스Delta-slice 2, 4, 7, 92, 4, 7, 9 키-슬라이스Key-slice

상기 표 2에 기재된 바와 같이, H.264 비디오 코덱에서 사용하는 슬라이스 타입의 값은 키 슬라이스 또는 델타 슬라이스로 나누어진다. 이때, 사용되는 슬라이스 타입은 NAL 구조에 포함되는 형태이므로, 정상적인 영상 데이터라면 NAL 타입과 슬라이스 타입이 서로 일치해야 하며, 이러한 특성을 통해 데이터의 파편 분류 시, 정확성을 높일 수 있다. As shown in Table 2, the value of the slice type used in the H.264 video codec is divided into a key slice or a delta slice. At this time, since the slice type used is included in the NAL structure, if the image data is normal, the NAL type and the slice type must coincide with each other.

도 5는 MP4 컨테이너 파일에 포함된 H.264 영상프레임의 구조를 나타낸 도면이다.5 is a diagram illustrating a structure of an H.264 video frame included in an MP4 container file.

도 5에 도시된 바와 같이, H.264 데이터가 MP4 컨테이너 파일에 포함되는 경우에는 각 NAL 구조의 앞부분에 해당 NAL의 프레임 길이 정보가 4 바이트 길이로 존재함에 따라, 분류 및 재조립 단계에서 추가적인 메타정보로서 활용할 수 있다.5, when the H.264 data is included in the MP4 container file, since the frame length information of the corresponding NAL is 4 bytes long at the beginning of each NAL structure, It can be utilized as information.

특히, 하나의 NAL 구조가 갖는 길이와 관련하여, 데이터와 인코딩 설정에 따라 다양하지만, 현재 널리 사용되는 해상도인 320p, 480p, 720p, 1080p 등에서는 대부분 200 킬로바이트(KB) 이내이기 때문에 값의 검증 범위를 줄임으로써 분류의 정확도를 높일 수 있다. In particular, since the length of one NAL structure varies depending on the data and encoding settings, it is usually within 200 kilobytes (KB) in 320p, 480p, 720p, and 1080p, The accuracy of the classification can be increased.

4 바이트의 길이 정보 이후로는 곧바로 NAL 헤더와 슬라이스 헤더가 위치한다. 표준에 규정된 문법에 따라 헤더 영역을 해석하여 각 필드의 값을 획득하고 검증한다. NAL 구조 내의 각 필드는 비트(bit) 단위로 구분되는데, 도 5에 기재된 u(count)는 count 만큼의 비트를 읽는 것을 나타내고, ue(v)는 Exp-Golomb code를 의미하며, 정해진 문법에 따라서 가변 길이의 비트를 읽는다. 이때, count는 비트 1이 나오기 전까지의 비트 0의 개수를 나타내고, 상기 count 개수만큼 비트 0을 제거하며, 상기 ue(v)는 하기의 수학식 1과 같이 정의될 수 있다. After 4 bytes of length information, the NAL header and the slice header are immediately located. The header field is interpreted according to the grammar defined in the standard to obtain and verify the value of each field. Each field in the NAL structure is divided in units of bits. U (count) in FIG. 5 indicates reading of a count of bits, ue (v) means Exp-Golomb code, Read variable length bits. In this case, count represents the number of bits 0 before the bit 1 is outputted, and bit 0 is removed by the count number, and the ue (v) can be defined as Equation (1).

[수학식 1][Equation 1]

ue(v) = u(count+1) - 1u (v) = u (count + 1) - 1

슬라이스 헤더에 존재하는 매크로 블록의 시작 위치(first_mb_in_slice) 값은 픽처와 슬라이스의 관계(1:1 관계이면 0)에 의해 결정되고, 슬라이스 타입(slice_type)은 표 2를 통해 의미를 확인할 수 있다. 또한, 디코딩 정보를 통해 획득한 값(log2_max_frame_num_minus4)으로 계산되는 프레임 번호(frame_num) 필드는 현재 프레임의 번호를 나타내는데, 키 프레임은 0번이며 다음 키 프레임 이전까지 존재하는 델타 프레임들에 대해서는 순차적으로 증가하는 번호가 부여된다.The value of the start position (first_mb_in_slice) of the macroblock existing in the slice header is determined by the relation between the picture and the slice (0 if the relation is 1: 1), and the meaning of the slice type (slice_type) can be confirmed through Table 2. The frame number field (frame_num) calculated by the value (log2_max_frame_num_minus4) obtained through the decoding information indicates the current frame number. The key frame is 0, and the delta frames existing until the next key frame are sequentially incremented Are assigned.

이때, 앞서 설명한 각 필드 값이 모두 유효한 범위를 가져야하며, 슬라이스는 NAL 구조에 포함되는 형태이므로 NAL 타입이 키 프레임이면 슬라이스 타입도 키 슬라이스여야 검증을 통과할 수 있다. In this case, each of the above-described field values must have a valid range, and since the slice is included in the NAL structure, if the NAL type is a key frame, the slice type must pass the key slice to pass the verification.

도 5(a)는 MP4 컨테이너 파일 내부에 연속적으로 저장된 H.264 영상프레임을 나타낸 도면으로서, 파편 분류 단계에서 활용되는 주요 정보를 나타낸다. 파편 분류 시, 도 5(a)와 같은 입력 파편에 대하여 바이트 단위 검색을 수행할 때 [프레임 길이][NAL 헤더][슬라이스 헤더] 영역이 정상적으로 탐지되면, 이를 영상프레임 파편으로 분류한다.5 (a) shows H.264 image frames continuously stored in the MP4 container file, and shows important information utilized in the fragment classification step. In the fragment classification, when the [frame length] [NAL header] [slice header] area is normally detected when a byte unit search is performed on the input fragment as shown in FIG. 5 (a), it is classified into image frame fragments.

한편 H.264 영상 데이터가 MP4 컨테이너 파일에 포함되지 않고 H.264 로우(raw) 저장 형식으로 존재하는 경우에는 각각의 NAL 구조 앞부분에 길이 정보가 아닌 syncword(0x00000001)가 위치한다. 따라서 로우 저장 형식인 경우에도 syncword와 NAL/슬라이스 헤더의 문법을 검증함으로써 효과적으로 탐지가 가능하다.On the other hand, if the H.264 video data is not included in the MP4 container file but exists in the H.264 raw storage format, the syncword (0x00000001) instead of the length information is placed in front of each NAL structure. Therefore, even in the case of the row storage format, it is possible to detect effectively by checking the syntax of syncword and NAL / slice header.

뿐만 아니라, NAL 타입(nal_unit_type), 슬라이스 타입(slice_type), 프레임 번호(frame_num), 매크로블록의 시작 위치(first_mb_in_slice) 등의 필드는 이후의 재조립 단계에서도 활용된다. In addition, fields such as a NAL type (nal_unit_type), a slice type (slice_type), a frame number (frame_num), and a start position (first_mb_in_slice) of a macroblock are utilized in a subsequent reassembling step.

특히, H.264의 디코딩 정보는 SPS와 PPS NAL 구조에 저장된다. 도 5(b)는 MP4 컨테이너 파일에 포함된 H.264 디코딩 정보 영역을 상세하게 나타낸 도면으로서, SPS와 PPS NAL의 저장 구조를 확인할 수 있다. 도 5(b)에서 확인할 수 있는 것처럼 MP4 컨테이너에서 H.264 디코딩 정보를 관리하는 avcC 항목의 문법 검증과 함께 SPS 이후에 연속적으로 PPS가 존재하는 구조를 검색함으로써 매우 효과적으로 발견할 수 있다.In particular, H.264 decoding information is stored in the SPS and PPS NAL structures. 5B is a detailed view of the H.264 decoding information area included in the MP4 container file, and the storage structure of SPS and PPS NAL can be confirmed. As can be seen in FIG. 5 (b), the grammar verification of the avcC item managing the H.264 decoding information in the MP4 container can be very effectively detected by searching the structure in which the PPS is continuously present after the SPS.

또한, SPS NAL은 1바이트의 NAL 헤더와 디코딩 정보로 구성되며, 특히 영상 프레임의 번호를 확인하기 위한 값인 log2_max_frame_num_minus4 필드가 존재한다. 또한 PPS NAL은 1바이트의 NAL 헤더와 디코딩 정보로 구성된다.In addition, the SPS NAL consists of a 1-byte NAL header and decoding information. In particular, there is a log2_max_frame_num_minus4 field for checking the number of a video frame. The PPS NAL consists of a 1-byte NAL header and decoding information.

추가적으로 동일한 인코딩 설정으로 생성된 영상 데이터는 동일한 디코딩 정보(H.264의 경우 SPS, PPS)를 갖기 때문에 전체 분류 대상 데이터 파편에서 디코딩 정보가 발견되지 않더라도 사용자가 정의하여 디코딩에 활용할 수도 있다. In addition, since the image data generated by the same encoding setting has the same decoding information (SPS, PPS in the case of H.264), even if decoding information is not found in the entire classification target data fragment, the user can define it and utilize it for decoding.

다시 도 3으로 돌아가서, 검색된 파편에 기초하여 상기 복원 대상 데이터에 대한 파편 맵을 생성한다(S123).Referring back to FIG. 3, a fragment map for the restoration object data is generated based on the retrieved fragment (S123).

도 6은 저장매체 내 저장된 데이터의 파편 분류 결과를 나타낸 도면으로서, 도 6(a)는 저장매체 내 기저장된 데이터 파편 분류 결과를 나타내고, 도 6(b)는 H.264 영상 데이터 관련된 파편 분류 결과를 나타낸다. 상술한 4개의 파편 유형 즉, 키 프레임, 델타 프레임, 디코딩 정보, 랜덤과 같이 특별한 시그니처 정보가 발견되지 않은 Unknown 파편이 이후의 재조립 과정에서 핵심적으로 활용되며, 다양한 유형의 파편을 식별할수록 효율성과 정확성을 높일 수 있다.6 (a) and 6 (b) illustrate the result of classification of the data stored in the storage medium. FIG. 6 (a) . Unknown fragments that do not have any special signature information such as key fragments, delta frames, decoding information, and randomness are used as key elements in subsequent reassembly processes. Accuracy can be increased.

다시 도 2로 돌아가서, 프로세서에서 구동되는 파편재조립부가 분류한 파편 중 불연속적으로 조각난 파편들을 재조립하여 영상 프레임 체인을 생성한다(S130). Referring back to FIG. 2, the fragment reassembly unit driven by the processor reconstructs discontinuously fragmented fragments of the classified fragments to generate an image frame chain (S130).

도 7은 영상 프레임 체인 재조립 단계의 세부 과정을 나타낸 순서도이다.7 is a flowchart showing a detailed procedure of the image frame chain reassembling step.

도 7에 도시된 바와 같이, 파편재조립부가 파편분류부로부터 상기 복원 대상 데이터에 대해 생성한 파편 맵을 입력받는다(S131). As shown in Fig. 7, the debris remapping unit receives the debris map generated from the debris classifying unit for the restoration object data (S131).

이후, 상기 복원 대상 데이터의 헤더 영역에 저장된 메타 정보의 유효성을 검증한다(S132). 이때, 상기 복원 대상 데이터의 메타 정보는 컨테이너 메타 정보, NAL 헤더 정보, 슬라이스 헤더 정보, 프레임 메타 정보 중 적어도 하나를 포함할 수 있다. 이때, 상기 프레임 메타 정보는 시간, 장소, GPS 정보, 카메라 번호, 속도 중 적어도 하나를 포함할 수 있다.Then, the validity of the meta information stored in the header area of the restoration target data is verified (S132). At this time, the meta information of the restoration target data may include at least one of container meta information, NAL header information, slice header information, and frame meta information. At this time, the frame meta information may include at least one of time, place, GPS information, camera number, and speed.

이어서, 상기 복원 대상 데이터의 영상 프레임에 대한 구조를 검증한다(S133). Next, the structure of the video frame of the restoration target data is verified (S133).

상기 파편의 메타 정보에 대한 유효성 및 영상 프레임의 구조에 대한 검증 결과에 기초하여 영상 프레임 체인을 생성한다(S134). 이때, 생성되는 영상프레임 체인(chain)은 하기의 표 3과 같이 정의할 수 있다.The image frame chain is generated based on the validity of the fragment meta information and the verification result of the structure of the image frame (S134). In this case, the generated image frame chain can be defined as shown in Table 3 below.

프레임 체인(1) = 키-프레임[0] | 델타-프레임 [1] | 델타- 프레임
[2] ... 델타-프레임 [N-1]
프레임 체인 (2) = 키-프레임 [0] | 델타-프레임 [1] | 델타-프레임
[2] ... 델타-프레임 [N-1]
...
프레임 체인 (M) = 키-프레임 [0] | 델타-프레임 [1] | 델타-프레임 [2] ... 델타-프레임 [N-1]
Frame chain (1) = key-frame [0] | Delta-frames [1] | Delta-frame
[2] ... delta-frame [N-1]
Frame chain (2) = key-frame [0] | Delta-frames [1] | Delta-frame
[2] ... delta-frame [N-1]
...
Frame chain (M) = key-frame [0] | Delta-frames [1] | Delta-frame [2] ... delta-frame [N-1]
* 가정 1: 영상 데이터의 평균 프레임 속도 = N 프레임/sec
* 가정 2: 픽처: 슬라이스 = 1:1 (슬라이스 헤더의 매크로블록 시작 위치 값이 항상 0)
* 기호 의미: (체인 번호), [프레임 번호]
Assumption 1: Average frame rate of image data = N frames / sec
Assumption 2: Picture: Slice = 1: 1 (the value of the start position of the macroblock in the slice header is always 0)
* Symbol Meaning: (Chain No.), [Frame No.]

영상 프레임 체인의 재조립하는 단계는 앞서 상술한 분류 단계를 통해 획득한 각각의 키 프레임에 대하여 가능한 모든 파편을 재조립해서 영상 프레임 체인을 구성한다. 이때, 보다 효율적으로 재조립을 수행하기 위해, 먼저 전체 파편 맵(도 6(a))에서 영상프레임과 관련이 있는 파편들만으로 별도의 파편 맵(도 6(b))을 구성하는 과정을 수행한다.In the reassembling step of the image frame chain, the image frame chain is constructed by reassembling all possible fragments for each key frame obtained through the classification step described above. At this time, in order to perform the reassembly more efficiently, a process of constructing a separate fragment map (FIG. 6 (b)) is performed by only the fragment related to the image frame in the entire fragment map (FIG. 6 .

이하에서는 각각의 키 프레임에 대한 영상프레임 체인 재조립 과정을 설명하기에 앞서 단일 및 다중 슬라이스를 사용하는 영상프레임 체인의 개념에 대하여 간략히 설명하도록 한다.Hereinafter, the concept of the image frame chain using single and multiple slices will be briefly described before reassembling the image frame chain for each key frame.

도 8(a)은 단일 슬라이스를 사용하는 영상 프레임 체인 구조를 나타낸 도면이다.8 (a) shows a structure of a video frame chain using a single slice.

도 8(a) 에 도시된 바와 같이, 픽처와 슬라이스가 1:1의 관계이기 때문에 프레임과 슬라이스도 1:1로 대응이 되는 형태를 갖는 것을 알 수 있다. 이처럼, 각각의 픽처가 하나의 프레임(=슬라이스)에 저장됨에 따라, 매크로 블록 시작 위치 값(first_mb_in_slice, 줄여서 first_mb로 표시)이 항상 0이 된다. 그리고 프레임 번호(frame_num)는 키-프레임 (0)으로부터 다음 키 프레임이 나오기 전까지의 델타 프레임에 대해서 순차적으로 증가하는 값(1이상)을 갖는다. 도 8(a)에서는 영상 데이터의 평균 프레임 속도가 초당 30프레임이기 때문에 델타 프레임이 평균적으로 29번까지의 번호를 부여받게 된다. As shown in Fig. 8 (a), since the picture and the slice have a 1: 1 relationship, it can be seen that the frame and the slice also have a 1: 1 correspondence. Thus, as each picture is stored in one frame (= slice), the macroblock start position value (first_mb_in_slice, abbreviated as first_mb) is always zero. The frame number (frame_num) has a value (1 or more) sequentially increasing from the key-frame (0) to the delta frame before the next key frame. 8A, since the average frame rate of the image data is 30 frames per second, the delta frames are numbered up to 29 times on average.

이어서, 다중 슬라이스를 사용하는 영상 프레임 체인 구조를 살펴보도록 한다. Next, an image frame chain structure using multiple slices will be described.

도 8(b)는 다중 슬라이스를 사용하는 영상 프레임 체인 구조를 나타낸 도면이다.8 (b) is a diagram showing a structure of an image frame chain using multiple slices.

도 8(b)에 도시된 바와 같이, 픽처와 슬라이스가 1:N의 관계이므로, 프레임과 슬라이스 또한 1:N의 형태를 갖는 것을 알 수 있다. 이에 따라, 각 픽처가 여러 개의 슬라이스에 나뉘어져 저장되면서 각 슬라이스의 매크로 블록 시작 위치 값(first_mb)이 하나의 프레임 내에서 순차적으로 증가한다. 그리고 프레임 번호(frame_num)는 (0)으로부터 다음 키 프레임이 나오기 전까지의 델타 프레임에 대해서 순차적으로 증가하는 값(1이상)을 갖는데, 하나의 프레임이 여러 개의 슬라이스로 구성되기 때문에 동일한 프레임에 속한 슬라이스들은 모두 같은 프레임 번호를 부여받게 되는 특징이 있다.As shown in Fig. 8 (b), since a picture and a slice have a 1: N relationship, it can be seen that a frame and a slice also have a 1: N form. Accordingly, as each picture is divided into a plurality of slices and stored, the macroblock start position value (first_mb) of each slice is sequentially increased in one frame. The frame number (frame_num) has a value (1 or more) that sequentially increases from a (0) to a delta frame before the next key frame. Since one frame is composed of a plurality of slices, Are all given the same frame number.

단일 슬라이스 또는 다중 슬라이스 환경에 따라서 영상 프레임 체인의 재조립 수행 과정의 복잡성이 일부 달라질 수 있지만, 상술한 주요 특징들을 활용하여 파편의 유효성을 검증할 수 있다.Depending on the single slice or multi-slice environment, the complexity of the reassembly process of the image frame chain can vary in some ways, but the validity of the fragments can be verified using the key features described above.

이러한 영상프레임 체인 재조립은 각각의 키 프레임을 기준으로 수행된다. Such image frame chain reassembly is performed based on each key frame.

하나의 H.264 키 프레임을 기준으로 영상 프레임 체인의 재조립을 위한 검증 체계는 도 9를 통해 개략적으로 확인할 수 있다. A verification scheme for reassembling the image frame chain based on one H.264 key frame can be schematically shown in FIG.

영상 프레임 체인의 재조립을 위한 검증 단계는 먼저, 메타 정보 검증을 수행하고, 이어서 영상 데이터 구조 검증을 수행한다. In the verification step for the reassembly of the image frame chain, first, meta information verification is performed, and then, image data structure verification is performed.

도 10은 영상 프레임 체인의 재조립을 위한 검증 체계 중 메타 정보 검증과정의 알고리즘을 나타낸 도면이다. 10 is a diagram illustrating an algorithm of a meta information verification process among verification schemes for reassembling the image frame chain.

도 10에 도시된 바와 같이, 먼저 본 검증과정에서는 컨테이너 메타정보, NAL 헤더 정보, 슬라이스 헤더 정보와 같은 다양한 메타정보의 유효성을 검증한다. As shown in FIG. 10, in the verification process, validity of various meta information such as container meta information, NAL header information, and slice header information is verified.

이러한 첫 번째 검증과정은 메타 정보를 이용하기 때문에 각 영상프레임의 시작 부분이 존재하는 파편에 대해서만 수행하였다면, 이어지는 영상 데이터의 구조 검증과정은 모든 후보 데이터 파편에 대해서 영상 데이터 구조를 검증한다. The first verification process uses meta information. Therefore, if only the fragment having the beginning of each image frame is performed, the structure verification process of the image data verifies the image data structure for all the candidate data fragments.

도 11은 영상 프레임 체인의 재조립을 위한 검증 체계 중 영상 데이터 구조 검증을 나타낸 도면이다.11 is a diagram illustrating a verification of a video data structure in a verification scheme for reassembling a video frame chain.

도 11에 도시된 바와 같이, 이러한 영상 데이터 구조 검증은 압축 영상을 디코딩(decoding)하는 과정에서의 문법 체크를 통해 수행된다. 만약 유효한 데이터 파편이라면 디코더에 입력된 모든 바이트 스트림이 처리되지만, 유효하지 않는 데이터 파편이라면 중간에 오류가 발생한다. As shown in FIG. 11, the verification of the video data structure is performed through a grammar check in a process of decoding a compressed image. If it is a valid data fragment, all byte streams input to the decoder are processed, but if it is an invalid data fragment, an error occurs in the middle.

예를 들어, 도 9에서는 1번 파편에 존재하는 키 프레임의 시작 부분에 대해 검증을 수행한 결과, 상술한 메타 정보 검증 및 영상 데이터의 구조 검증을 통해 영상 프레임 체인의 첫 번째 파편으로 판별되었다. 또한 2, 3번 파편은 영상 데이터의 중간 부분으로 영상 데이터의 구조 검증만을 수행하여 이에 대한 유효성을 확인하였다. 한편 4번 파편에는 델타 프레임의 시작 부분이 저장되어있지만 첫 번째 메타정보 검증을 통과하지 못하여 영상 프레임 체인에 포함되지 못하였으며, 5번 파편이 유효성이 검증되어, 체인에 포함되었다. 이러한 메타 정보 검증과 영상 데이터 구조 검증의 2중 검증 체계를 통해 효과적인 검증과 영상 프레임의 재조립이 수행될 수 있다.For example, in FIG. 9, the first fragment of the image frame chain is identified through the verification of the meta information and the structure verification of the image data as a result of the verification of the beginning of the key frame existing in the first fragment. Also, the second and third fragments were only validated for the structural verification of the image data as the middle part of the image data. On the other hand, the 4th fragment contains the beginning of the delta frame but fails to pass the first meta information verification and is not included in the image frame chain. The 5th fragment is validated and included in the chain. The validation of the meta information and the verification of the image data structure can be performed effectively and the reassembly of the image frame can be performed.

도 12(a)는 단일 슬라이스를 사용하는 영상 프레임 체인 재조립 과정을 나타낸 도면이다. 12 (a) shows a process of reassembling a video frame chain using a single slice.

도 12(a)에 도시된 바와 같이, 데이터 파편 분류의 결과에 기초하여 키 프레임의 시작 부분인 파편 2를 기준으로 영상 프레임 체인의 재조립을 시도한다. 파편 2에 대한 메타정보 검증 결과, 프레임 번호와 매크로 블록 시작 위치가 0 이었으며 전체 프레임의 길이가 30α인 것을 확인할 수 있는데, 현재 파편에 포함된 프레임의 길이가 9α이기 때문에 나머지 21α에 대한 재조립이 요구된다. 이때 재조립이 요구되는 21α는 1개 파편(16α) 이상의 길이이기 때문에 다음 이어지는 파편은 랜덤 파편이 되어야 한다. 먼저 파편 3에 대해서 영상 데이터 구조 검증을 시도하였지만 중간 과정에서 오류가 발생되었으며, 다음으로 파편 4는 전체 16α 길이의 데이터에 대해서 정상 디코딩이 성공하여 검증을 통과하였다. 또한 파편 4 이후에도 키 프레임의 끝 부분 5α 길이가 재조립이 필요한 상황이기 때문에 다음 후보 파편들에 대한 검증을 시도하여 델타 프레임 시작 위치가 5α 이후이면서 프레임 번호가 1이고 매크로블록 시작 위치가 0인 파편 1을 발견하였다. 또한, 추가적으로 파편 1에 포함된 프레임 번호가 1인 델타 프레임의 길이가 27α인데 현재 파편에 포함된 프레임의 길이가 11α이기 때문에 나머지 16α에 대한 재조립이 요구된다. 이때 재조립이 요구되는 16α는 1개 파편 이상의 길이이기 때문에 다음 이어지는 파편은 랜덤 파편이 되어야 하고, 파편 3의 전체 데이터에 대해서 정상 디코딩이 성공하여 검증을 통과하였다. 이와 같이 상술한 방법을 통해 각각의 키 프레임을 기준으로 모든 델타 프레임을 재조립하여 영상 프레임 체인을 구성할 수 있다.As shown in Fig. 12 (a), based on the result of the data fragment classification, an attempt is made to reassemble the image frame chain based on the fragment 2 which is the beginning of the key frame. As a result of the meta information verification for fragment 2, it can be confirmed that the frame number and the start position of the macroblock are 0, and the length of the entire frame is 30α. Since the length of the frame included in the current fragment is 9α, Is required. At this time, 21α required for reassembly is longer than one fragment (16α), so the next fragment should be a random fragment. First, we attempted to verify the image data structure for fragment 3, but an error occurred in the intermediate process. Next, fragment 4 successfully passed the verification for normal 16α data. Also, since the end portion 5α of the key frame needs to be reassembled after the fragment 4, it is tried to verify the next candidate fragments so that a fragment having a delta frame start position after 5α, a frame number of 1, 1 < / RTI > In addition, the delta frame with frame number 1 included in fragment 1 has a length of 27 alpha, and since the length of the frame included in the current fragment is 11 alpha, reassembly for the remaining 16 alpha is required. At this time, since 16α which is required to be reassembled is longer than one fragment, the following fragment should be a random fragment, and normal decoding of all the fragment 3 data has succeeded and passed verification. In this way, all the delta frames can be reassembled based on the respective key frames through the above-described method, thereby constructing the image frame chain.

도 12(b)는 다중 슬라이스를 사용하는 영상 프레임 체인 재조립 과정을 나타낸 도면이다. 12 (b) is a view illustrating a process of reassembling the image frame chain using multiple slices.

도 12(b)에 도시된 바와 같이, 프레임과 슬라이스가 1:2의 관계이기 때문에 동일한 프레임 번호이면서 매크로블록 시작 위치가 0 이상인 슬라이스가 존재할 수 있다. 이외에는 도 12(a)와 동일한 구조이기 때문에 자세한 설명은 생략한다.As shown in Fig. 12 (b), since a frame and a slice have a 1: 2 relationship, a slice having the same frame number and a macroblock start position of 0 or more may exist. 12 (a), a detailed description thereof will be omitted.

다시 도 2로 돌아가서, 프로세서 내부에서 구동되는 영상프레임추출부가 파편들을 재조립한 결과에 기초하여 복원 대상 데이터에 대한 영상 프레임을 추출한다(S140). Returning to FIG. 2, the image frame extraction unit extracts the image frame for the restoration object data based on the result of reassembling the fragments (S140).

도 13은 영상프레임추출부의 파편들을 재조립한 결과에 기초하여 복원 대상 데이터에 대한 영상 프레임을 추출하는 과정의 세부과정을 나타낸 순서도이다.13 is a flowchart illustrating a detailed process of extracting an image frame for restoration target data based on a result of reassembling fragments of the image frame extracting unit.

도 13에 도시된 바와 같이, 먼저 상기 영상 프레임 체인에 대한 메타 정보가 존재하는지 검색한다(S141). As shown in FIG. 13, first, it is determined whether meta information about the image frame chain exists (S141).

만약, 상기 영상 프레임 체인에 대한 메타 정보가 존재하는 경우, 상기 메타 정보를 획득한다(S142). If meta information for the image frame chain exists, the meta information is obtained (S142).

이어서, 추출하고자 하는 영상 프레임의 이름을 설정한다(S143). Next, the name of an image frame to be extracted is set (S143).

앞서 획득한 상기 메타 정보에 기초하여 이미지 파일 형태의 영상 프레임을 추출한다(S144). And extracts image frames in the form of an image file based on the meta information obtained in step S144.

이에 더하여 추출한 이미지 파일을 시계열 순으로 나열하여 동영상 파일을 생성한다(S145). In addition, the extracted image files are listed in a time series order to generate a moving image file (S145).

만약, 상기 과정 S141에서 상기 영상 프레임 체인에 대한 메타 정보가 존재하지 않는 경우, 상기 영상 프레임 체인의 데이터를 디코딩하여 이미지 파일 형태의 영상 프레임을 추출한다(S146). If there is no meta information for the image frame chain in step S141, the image data of the image frame chain is decoded to extract an image frame in step S146.

이후, 추출된 상기 이미지 파일에 대하여 이미지 프로세싱 기법을 적용하여 내용이 유사한 적어도 하나의 이미지 집합을 분류한다(S147). Thereafter, the image processing method is applied to the extracted image file to classify at least one image set having similar contents (S147).

이러한 영상 프레임 추출 과정을 통해 단일 파편 또는 재조립된 영상 프레임 체인으로부터 의미있는 정보를 획득하여 편리하고 직관적인 확인이 가능하다. Through this image frame extraction process, meaningful information can be obtained from a single fragment or a reassembled image frame chain, and convenient and intuitive confirmation is possible.

상술한 바와 같이, 영상프레임 파편이 성공적으로 재조립되면 각 영상 프레임의 내용을 가시적으로 확인할 수 있다. 하지만, 대상 데이터 스트림 내에 수천 내지 수만 개의 영상 프레임이 존재한다면, 이를 일일이 확인하는데 매우 오랜 시간이 소요될 수 있는데, 이하에서는 각각의 영상 프레임을 효과적으로 추출하는 방법에 대하여 자세히 살펴보도록 한다. As described above, when the image frame fragments are successfully reassembled, the contents of each image frame can be visually confirmed. However, if there are thousands to tens of thousands of image frames in the target data stream, it may take a very long time to check them one by one. Hereinafter, a method of effectively extracting each image frame will be described in detail.

영상 프레임을 추출하는 과정에 있어서, 가장 먼저 단일 파편 또는 재조립된 영상 프레임 체인과 관련이 있는 메타정보의 유무를 확인한다. 상기 영상 프레임과 관련된 메타정보의 예로는 카메라 번호, 촬영 시간, 촬영 장소, 기타 부가정보 등이 있으며, 영상데이터 생성 장치별로 이와 같은 메타정보를 관리하는 방식이 다양하게 존재할 수 있다. In the process of extracting an image frame, first, the existence of meta information related to a single debris or a reassembled image frame chain is checked. Examples of the meta information related to the image frame include a camera number, a photographing time, a photographing place, and other additional information, and there are various methods of managing such meta information by each image data generating apparatus.

도 14는 영상 프레임과 관련된 메타 정보 관리 유형을 나타낸 도면이다. 14 is a diagram illustrating a meta information management type related to an image frame.

영상 프레임의 메타정보를 관리하는 방식은 크게 두 가지로 나누어지는데, 도 14(a)에 도시된 바와 같이, 저장 구조를 해석하여 메타정보를 획득할 수 있으며, 각 영상 프레임의 메타정보를 별도로 관리하는 경우도 존재하지만, MP4와 같은 컨테이너 파일에 영상 데이터가 포함되는 경우에는 메타정보를 따로 저장하지 않는 것이 일반적이다. 하지만 이를 대신하여, CCTV, 자동차 블랙박스 등과 같은 임베디드 동영상 촬영 시스템에서는 감시, 기록의 목적으로 메타 정보를 텍스트 형태로 이미지 파일 자체에 포함하기도 한다. 도 14(b)는 이미지 파일 내에 메타 정보가 포함되는 유형의 예를 나타낸 것으로서, 광학 문자 인식(OCR, Optical Character Recognition) 기술을 활용하여 이미지 파일 내의 메타정보를 추출할 수 있으며, 촬영 시간, GPS 정보, 카메라 번호, 속도 등이 정보가 주로 저장된다. A method of managing meta information of an image frame is divided into two types. As shown in FIG. 14 (a), meta information can be obtained by analyzing the storage structure, and meta information of each image frame is separately managed However, when image data is included in a container file such as MP4, it is general not to store meta information separately. However, embedded video recording systems such as CCTV, automobile black box, etc., may include meta information in the form of text in the image file itself for monitoring and recording purposes. FIG. 14B shows an example of a type in which meta information is included in an image file. Meta information in an image file can be extracted using optical character recognition (OCR) Information such as information, camera number, speed, etc. is mainly stored.

만약, 영상 프레임에 대한 메타정보가 존재하는 경우에는 상기 메타 정보를 이용하여 해당 영상 프레임의 이름을 결정한다. 촬영 시간, 카메라 번호 등의 형태로 영상 프레임의 이름을 결정한 후에 가시적인 이미지 파일로 추출함으로써, 영상 프레임들이 단편화되어 불연속적으로 존재하더라도 시간적으로 연속적으로 내용을 확인할 수 있도록 한다.If there is meta information about the image frame, the name of the corresponding image frame is determined using the meta information. The name of the image frame is determined in the form of a photographing time, a camera number, and the like, and then extracted into a visible image file so that the image frames can be continuously checked in time even if they are fragmented and discontinuous.

또한 영상 프레임의 이름 설정을 통해 시간적으로 연속적인 이미지를 획득할 수 있을 뿐만 아니라, 여러 장의 이미지를 합쳐서 하나의 재생 가능한 동영상 파일 형태로 재구성함으로써 내용 확인의 편리성과 직관성을 높일 수도 있다.In addition, it is possible not only to acquire continuous images temporally through the name setting of image frames, but also to reconfigure a plurality of images into a single playable video file, thereby enhancing the convenience and intuitiveness of content confirmation.

한편 영상프레임에 대한 메타정보가 존재하지 않는 경우에는 이름을 결정할 기준이 없기 때문에 이름 설정 없이 가시적인 이미지 파일로의 추출만을 수행한다. 추출된 여러 이미지 파일들을 육안으로 확인할 수도 있지만, 이미지 처리(image processing) 기법을 활용하여 내용이 유사한 이미지 집합으로 분류하면 보다 효율성을 높일 수 있다.On the other hand, when there is no meta information about the image frame, since there is no criterion for determining the name, only extraction into a visible image file is performed without setting a name. Although the extracted image files can be visually checked, it is possible to improve efficiency by classifying the image into a similar image group using image processing.

아울러 본 발명에서는 H.264 비디오 코덱으로 생성된 영상 데이터를 위주로 설명하였지만, 통상의 지식을 가진 자라면 MPEG-4 visual, HEVC 등 다양한 코덱으로 생성된 영상 데이터에 대해서도 본 발명에서 제안하는 분류, 재조립, 그리고 추출 단계의 기술적 사상을 벗어나지 않는 범위 내에서 적용이 가능할 것이다. Although the present invention has been described with reference to the image data generated by the H.264 video codec, the image data generated by various CODECs such as MPEG-4 visual, HEVC, Assembly, and extraction steps of the present invention.

또한, 이러한 데이터 파편 분류를 이용한 데이터 복원 방법은 컴퓨터로 실행하기 위한 프로그램이 기록된 컴퓨터 판독가능 기록매체에 저장될 수 있다. 이때, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, DVD±ROM, DVD-RAM, 자기 테이프, 플로피 디스크, 하드 디스크(hard disk), 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 장치에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.In addition, the data restoration method using the data fragment classification may be stored in a computer-readable recording medium on which a program for execution by a computer is recorded. At this time, the computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer readable recording medium include ROM, RAM, CD-ROM, DVD 占 ROM, DVD-RAM, magnetic tape, floppy disk, hard disk, optical data storage, and the like. In addition, the computer-readable recording medium may be distributed to network-connected computer devices so that computer-readable codes can be stored and executed in a distributed manner.

본 발명의 데이터 파편 분류를 이용한 데이터 복원 방법은 복원하고자 하는 데이터 파편과 관련있는 데이터 파편을 분류하고, 분류된 데이터 파편을 재조립하여 영상 프레임을 추출함으로써, 복원하고자 하는 데이터 파편이 불연속적으로 단편화되더라도 데이터를 용이하게 복원할 수 있는 효과가 있다.The data restoration method using the data fragment classification according to the present invention classifies data fragments related to the data fragments to be restored and extracts the image frames by reassembling the classified data fragments so that the data fragments to be restored are discontinuously fragmented The data can be easily restored.

상기에서는 본 발명의 바람직한 실시 예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 본 발명의 기술 사상 범위 내에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 첨부된 특허청구범위에 속하는 것은 당연하다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, Do.

Claims (14)

입력부가 복원하고자 하는 복원 대상 데이터를 입력받는 단계;
파편분류부가 저장매체 내 기저장된 데이터 파편 중 상기 복원 대상 데이터와 관련된 파편을 분류하는 단계;
파편재조립부가 분류한 파편 중 불연속적으로 조각난 파편들을 상기 복원 대상 데이터의 메타 정보와 프레임 구조에 대한 검증을 이용하여 재조립하는 단계; 및
영상프레임추출부가 상기 파편들을 재조립한 결과에 기초하여 상기 복원 대상 데이터에 대한 영상 프레임을 추출하는 단계;
를 포함하는 데이터 파편 분류를 이용한 데이터 복원 방법.
Receiving input data to be restored by the input unit;
Classifying fragments related to the data to be restored among the previously stored data fragments in the storage medium;
Reassembling the fragments which are discontinuously fragmented among the fragments classified by the fragment reassembling section using the meta information of the restoration object data and the verification of the frame structure; And
Extracting an image frame for the restoration object data based on a result of reassembling the fragments of the image frame extracting unit;
Wherein the data fragment classification includes at least one of the following:
제1항에 있어서,
상기 입력부가 대상 데이터를 입력받는 단계는
파편의 분류를 위한 기준 파편의 크기를 설정하는 것을 더 포함하는 것을 특징으로 하는 데이터 파편 분류를 이용한 데이터 복원 방법.
The method according to claim 1,
The step of receiving the input unit data
Further comprising setting a size of a reference fragment for classifying the fragment.
제2항에 있어서,
상기 기준 파편의 크기는
상기 저장매체의 종류에 따라 섹터, 클러스터, 블록, 페이지 중 적어도 하나에 해당하는 저장 단위인 것을 특징으로 하는 데이터 파편 분류를 이용한 데이터 복원 방법.
3. The method of claim 2,
The size of the reference fragment is
Wherein the storage unit is a storage unit corresponding to at least one of a sector, a cluster, a block, and a page according to a type of the storage medium.
제1항에 있어서,
상기 파편분류부가 상기 복원 대상 데이터와 관련된 파편을 분류하는 단계는
상기 복원 대상 데이터의 영상 프레임에 대한 바이트 단위의 검색을 통해 분류하고자 하는 파편의 유형을 식별하는 과정;
식별된 파편의 유형에 기초하여 상기 복원 대상 데이터와 관련된 파편이 저장매체 내 기저장된 데이터 파편 중에 존재하는지 검색하는 과정; 및
검색된 파편에 기초하여 상기 복원 대상 데이터에 대한 파편 맵을 생성하는 과정;
을 포함하는 것을 특징으로 하는 데이터 파편 분류를 이용한 데이터 복원 방법.
The method according to claim 1,
The step of classifying the fragment related to the restoration object data by the fragment classifier
Identifying a type of a fragment to be classified through a search for a video frame of the restoration target data in byte units;
Searching for a fragment associated with the data to be restored in the data fragment stored in the storage medium based on the type of the identified fragment; And
Generating a fragment map for the restoration object data based on the retrieved fragment;
The method of claim 1, further comprising:
제4항에 있어서,
상기 파편분류부가 상기 복원 대상 데이터와 관련된 파편을 분류하는 단계는
상기 파편의 유형을 식별하는 과정을 수행하기 전, 해쉬 알고리즘에 기초하여 상기 복원 대상 데이터 내 중복되는 파편을 제거하는 과정;
을 더 포함하는 것을 특징으로 하는 데이터 파편 분류를 이용한 데이터 복원 방법.
5. The method of claim 4,
The step of classifying the fragment related to the restoration object data by the fragment classifier
Removing the duplicated fragments in the restoration object data based on the hash algorithm before performing the process of identifying the type of the fragment;
The method of claim 1, further comprising:
제4항에 있어서,
상기 복원 대상 데이터의 영상 프레임에 대한 바이트 단위의 검색을 통해 분류하고자 하는 파편의 유형을 식별하는 과정은
상기 파편의 유형이 키 프레임(Key-frame), 델타 프레임(delta-frame), 디코딩 정보, 랜덤 중 적어도 하나인 것을 특징으로 하는 데이터 파편 분류를 이용한 데이터 복원 방법.
5. The method of claim 4,
The process of identifying the type of fragment to be classified through the search of the image frame of the restoration target data in byte units
Wherein the type of the fragment is at least one of a key-frame, a delta-frame, decoding information, and random.
제6항에 있어서,
상기 복원 대상 데이터의 영상 프레임에 대한 바이트 단위의 검색을 통해 분류하고자 하는 파편의 유형을 식별하는 과정은
상기 파편의 유형이 키 프레임 또는 델타 프레임인 경우, 상기 키 프레임 또는 델타 프레임의 헤더 영역에 저장된 메타 정보에 기초하여 영상 프레임의 시작 부분이 포함된 파편을 분류하는 것을 더 포함하는 것을 특징으로 하는 데이터 파편 분류를 이용한 데이터 복원 방법.
The method according to claim 6,
The process of identifying the type of fragment to be classified through the search of the image frame of the restoration target data in byte units
Further comprising classifying fragments including a beginning portion of an image frame based on meta information stored in a header region of the key frame or delta frame if the type of the fragment is a key frame or a delta frame Data Reconstruction Method Using Fragment Classification.
제7항에 있어서,
상기 파편재조립부가 분류한 파편 중 불연속적으로 조각난 파편들을 상기 복원 대상 데이터의 메타 정보와 프레임 구조에 대한 검증을 이용하여 재조립하는 단계는
상기 복원 대상 데이터에 대한 파편 맵을 입력받는 과정;
상기 복원 대상 데이터의 헤더 영역에 저장된 메타 정보의 유효성을 검증하는 과정;
상기 복원 대상 데이터의 영상 프레임에 대한 구조를 검증하는 과정; 및
상기 파편의 메타 정보에 대한 유효성 및 영상 프레임의 구조에 대한 검증 결과에 기초하여 영상 프레임 체인을 재조립하는 과정;
을 포함하는 것을 특징으로 하는 데이터 파편 분류를 이용한 데이터 복원 방법.
8. The method of claim 7,
Wherein the step of reassembling the fragmentally fragmented fragments among the fragments classified by the fragment reassembling section using the meta information of the restoration object data and the verification of the frame structure
Receiving a fragment map for the restoration object data;
Verifying validity of meta information stored in a header area of the restoration target data;
A step of verifying a structure of an image frame of the restoration target data; And
Reassembling the image frame chain based on the validity of the fragmentation meta information and the verification result of the structure of the image frame;
The method of claim 1, further comprising:
제8항에 있어서,
상기 영상프레임추출부가 상기 파편들을 재조립한 결과에 기초하여 상기 복원 대상 데이터에 대한 영상 프레임을 추출하는 단계는
상기 영상 프레임 체인에 대한 메타 정보가 존재하는지 검색하는 과정;
상기 영상 프레임 체인에 대한 메타 정보가 존재하는 경우, 상기 메타 정보를 획득하는 과정;
추출하고자 하는 영상 프레임의 이름을 설정하는 과정; 및
획득한 상기 메타 정보에 기초하여 이미지 파일 형태의 영상 프레임을 추출하는 과정;
을 포함하는 것을 특징으로 하는 데이터 파편 분류를 이용한 데이터 복원 방법.
9. The method of claim 8,
The step of extracting an image frame for the restoration target data based on a result of the image frame extracting unit reassembling the fragments
Searching whether the meta information of the image frame chain exists;
Acquiring the meta information when the meta information of the image frame chain exists;
Setting a name of an image frame to be extracted; And
Extracting an image frame of an image file type based on the acquired meta information;
The method of claim 1, further comprising:
제9항에 있어서,
상기 영상프레임추출부가 상기 파편들을 재조립한 결과에 기초하여 상기 복원 대상 데이터에 대한 영상 프레임을 추출하는 단계는
상기 이미지 파일을 시계열 순으로 나열하여 동영상 파일 형태의 영상 프레임을 추출하는 과정;
을 더 포함하는 것을 특징으로 하는 데이터 파편 분류를 이용한 데이터 복원 방법.
10. The method of claim 9,
The step of extracting an image frame for the restoration target data based on a result of the image frame extracting unit reassembling the fragments
Extracting image frames in the form of a moving picture file by arranging the image files in a time series order;
The method of claim 1, further comprising:
제9항에 있어서,
상기 영상프레임추출부가 상기 파편들을 재조립한 결과에 기초하여 상기 복원 대상 데이터에 대한 영상 프레임을 추출하는 단계는
상기 영상 프레임 체인에 대한 메타 정보가 존재하지 않는 경우, 상기 영상 프레임 체인의 데이터를 디코딩하여 이미지 파일 형태의 영상 프레임을 추출하는 과정;
추출된 상기 이미지 파일에 대하여 이미지 프로세싱 기법을 적용하여 적어도 하나의 이미지 집합을 분류하는 과정;
을 더 포함하는 것을 특징으로 하는 데이터 파편 분류를 이용한 데이터 복원 방법.
10. The method of claim 9,
The step of extracting an image frame for the restoration target data based on a result of the image frame extracting unit reassembling the fragments
Decoding the data of the image frame chain and extracting an image frame of an image file type when meta information about the image frame chain does not exist;
Classifying at least one image set by applying an image processing technique to the extracted image file;
The method of claim 1, further comprising:
제1항에 있어서,
상기 복원 대상 데이터는
파일 시스템의 비할당 영역, 미사용 영역, 단일 파일의 비할당 영역, 미사용 영역, 손상된 파일, 로우 덤프(raw dump) 중 적어도 하나인 것을 특징으로 하는 데이터 파편 분류를 이용한 데이터 복원 방법.
The method according to claim 1,
The restoration object data
Wherein the data fragment is at least one of an unassigned area, an unused area, a unassigned area, a unused area, a damaged file, and a raw dump of a file system.
제1항에 있어서,
상기 복원 대상 데이터는
컨테이너 메타 정보, NAL 헤더 정보, 슬라이스 헤더 정보, 프레임 메타 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 데이터 파편 분류를 이용한 데이터 복원 방법.
The method according to claim 1,
The restoration object data
Container meta information, NAL header information, slice header information, frame meta information Wherein the data fragment classification includes at least one of the following:
제1항 내지 제13항 중 어느 한 항에 따른 방법을 컴퓨터로 실행하기 위한 프로그램이 기록된 컴퓨터 판독가능 기록매체. A computer-readable recording medium on which a program for executing a method according to any one of claims 1 to 13 is recorded.
KR1020140089780A 2014-07-16 2014-07-16 Data restoration method using data fragment classification KR101568680B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140089780A KR101568680B1 (en) 2014-07-16 2014-07-16 Data restoration method using data fragment classification

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140089780A KR101568680B1 (en) 2014-07-16 2014-07-16 Data restoration method using data fragment classification

Publications (1)

Publication Number Publication Date
KR101568680B1 true KR101568680B1 (en) 2015-11-12

Family

ID=54610106

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140089780A KR101568680B1 (en) 2014-07-16 2014-07-16 Data restoration method using data fragment classification

Country Status (1)

Country Link
KR (1) KR101568680B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114257840A (en) * 2021-11-26 2022-03-29 厦门市美亚柏科信息股份有限公司 Method and system for repairing Matroska format video
KR20240018293A (en) 2022-08-02 2024-02-13 대한민국(관리부서: 행정안전부 국립과학수사연구원장) System for video restoration according to time information and method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008243138A (en) 2007-03-29 2008-10-09 Hitachi Ltd Storage system and data restoration method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008243138A (en) 2007-03-29 2008-10-09 Hitachi Ltd Storage system and data restoration method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114257840A (en) * 2021-11-26 2022-03-29 厦门市美亚柏科信息股份有限公司 Method and system for repairing Matroska format video
CN114257840B (en) * 2021-11-26 2024-03-19 厦门市美亚柏科信息股份有限公司 Repairing method and system for Matroska format video
KR20240018293A (en) 2022-08-02 2024-02-13 대한민국(관리부서: 행정안전부 국립과학수사연구원장) System for video restoration according to time information and method thereof

Similar Documents

Publication Publication Date Title
Pal et al. The evolution of file carving
Na et al. Frame-based recovery of corrupted video files using video codec specifications
US10212440B2 (en) Virtual frame buffer system and method
US9204103B1 (en) Technique for parallel, distributed video processing
US10977298B2 (en) Identifying media components
Poisel et al. Advanced file carving approaches for multimedia files.
CN101807208B (en) Method for quickly retrieving video fingerprints
US9411690B2 (en) Security surveillance apparatus with networking and video recording functions and failure detecting and repairing method for storage device thereof
KR101489523B1 (en) Method to transmit video data in a data stream and associated metadata
JP2018523886A (en) Analysis apparatus, analysis method, and program
De Bock et al. JPGcarve: an advanced tool for automated recovery of fragmented JPEG files
Tang et al. Recovery of heavily fragmented JPEG files
US20120163475A1 (en) Fast matching system for digital video
Yang et al. A security carving approach for AVI video based on frame size and index
Sari et al. A review of graph theoretic and weightage techniques in file carving
Poisel et al. Roadmap to approaches for carving of fragmented multimedia files
KR101568680B1 (en) Data restoration method using data fragment classification
Park et al. Data fragment forensics for embedded DVR systems
KR20200041650A (en) Method and apparatus for recovering damaged mp4 video file based on meta information of reference video
Alghafli et al. Identification and recovery of video fragments for forensics file carving
Casey et al. Design tradeoffs for developing fragmented video carving tools
US9436551B2 (en) Method for codec-based recovery of a video using a cluster search
Altinisik et al. Automatic generation of H. 264 parameter sets to recover video file fragments
Luck et al. An integrated approach to recovering deleted files from NAND flash data
Yannikos et al. Automating video file carving and content identification

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181025

Year of fee payment: 4