KR101351795B1 - 클러스터 검색을 통한 동영상 복구 방법 및 그 기록매체 - Google Patents

클러스터 검색을 통한 동영상 복구 방법 및 그 기록매체 Download PDF

Info

Publication number
KR101351795B1
KR101351795B1 KR1020120002862A KR20120002862A KR101351795B1 KR 101351795 B1 KR101351795 B1 KR 101351795B1 KR 1020120002862 A KR1020120002862 A KR 1020120002862A KR 20120002862 A KR20120002862 A KR 20120002862A KR 101351795 B1 KR101351795 B1 KR 101351795B1
Authority
KR
South Korea
Prior art keywords
cluster
cluster group
frame
decoding
index information
Prior art date
Application number
KR1020120002862A
Other languages
English (en)
Other versions
KR20130081826A (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 KR1020120002862A priority Critical patent/KR101351795B1/ko
Priority to PCT/KR2012/005940 priority patent/WO2013015614A2/ko
Priority to US14/234,414 priority patent/US9436551B2/en
Publication of KR20130081826A publication Critical patent/KR20130081826A/ko
Application granted granted Critical
Publication of KR101351795B1 publication Critical patent/KR101351795B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 영상프레임의 인덱스 정보를 토대로 조각난 동영상 데이터를 결합하여 하나의 영상프레임으로 복구할 수 있는 방법에 관한 것으로, 저장매체의 클러스터를 복호화하여 독립적인 프레임이 포함되어 이루어진 하나 이상의 클러스터군을 생성하는 복호화단계; 저장매체의 클러스터를 복호화하여 하나 이상의 인덱스정보를 검색하는 인덱스정보검색단계; 및 상기 복호화단계를 통해 생성된 클러스터군 중에서 상기 인덱스정보에 포함된 하나의 클러스터군을 영상프레임으로 형성시키거나 또는 복수의 클러스터군을 연결하여 영상프레임으로 형성시키는 영상프레임형성단계를 포함하고, 상기 영상프레임형성단계는 기준클러스터군과 연결클러스터군을 연결한 후 상기 기준클러스터군의 마지막 프레임부터 다시 복호화를 수행하는 재복호화단계를 포함하는 것을 특징으로 한다.
본 발명의 클러스터 검색을 통한 동영상 복구 방법 및 그 기록매체에 따르면, 저장매체에 조각나서 저장된 동영상 데이터가 일부라도 남아있으면 영상프레임의 복원 과정에서 얻을 수 있는 인덱스 정보를 토대로 조각난 동영상 데이터들의 순서를 찾아 결합하여 하나의 영상프레임으로 복구할 수 있는 효과가 있다.

Description

클러스터 검색을 통한 동영상 복구 방법 및 그 기록매체{Method for Restoring Moving Picture by Cluster Searching and the Medium}
본 발명은 클러스터 검색을 통한 동영상 복구 방법 및 그 기록매체에 관한 것으로, 더욱 상세하게는 저장매체에 조각난 동영상 데이터가 일부라도 남아있으면 영상프레임의 복원 과정에서 얻을 수 있는 인덱스 정보를 토대로 조각난 동영상 데이터를 결합하여 하나의 영상프레임으로 복구할 수 있는 클러스터 검색을 통한 동영상 복구 방법 및 그 기록매체에 관한 것이다.
일반적으로 파일을 저장매체(10)에 기록하기 위해서는 도 1에 도시한 바와 같이, 파일시스템영역(11)에는 데이터의 크기, 시작위치, 파일의 조각정보 등이 들어가고, 실제 데이터는 데이터영역(13)에 저장된다.
상기 저장매체(10)에 저장된 파일의 실제 데이터가 데이터영역(13)의 3번, 4번, 21번 및 30번 클러스터에 나누어 저장되었다면, 운영체제는 상기 저장매체(10)에 저장된 파일을 읽기 위해 파일시스템영역(11)에서 파일의 정보를 획득하여 3->4->21->30번 클러스터 순으로 읽음으로써 파일을 로딩할 수가 있다.
상기 저장매체(10)에 저장된 파일을 삭제하게 되면, 데이터영역(13)에 저장된 실제 데이터는 지워지지 않고, 파일시스템영역(11)에서 파일에 대한 정보 중 1바이트(byte)를 지움으로써 파일을 삭제한 것으로 처리하게 된다.
따라서, 파일을 삭제했더라도, 파일시스템영역(11)이 다른 정보로 덮어 쓰여지지 않았고, 데이터영역(13)도 다른 정보로 덮여 쓰여지지 않았다면 운영체제가 삭제되지 않은 파일을 읽는 것과 같은 방법으로 파일을 로딩함으로써 삭제된 파일에 대한 복원이 가능하다.
그러나, 삭제된 파일이 존재했던 파일시스템영역(11) 또는 데이터영역(13)이 다른 데이터로 덮여 쓰이면, 삭제된 파일에 대한 복원이 되지 않는 문제점이 있었다.
아울러, 동영상 파일인 경우는 용량이 커 조각나서 저장되며, 삭제된 후 저장매체(10)의 사용과정에서 동영상 데이터의 일부분이 덮어 쓰인 경우가 많고, 파일시스템영역(11) 및 데이터영역(13)의 사용 공간이 많기 때문에 정보가 손실되는 경향이 높아 파일시스템 정보를 이용한 전체 데이터의 복원시 데이터 복원이 되지 않는 문제점이 있었다.
대한민국 공개특허공보 공개번호 제10-2006-0019275호
본 발명은 전술한 문제점을 해결하기 위해 안출된 것으로서 저장매체에 조각나서 저장된 동영상 데이터가 일부라도 남아있으면 영상프레임의 복원 과정에서 얻을 수 있는 인덱스 정보를 토대로 조각난 동영상 데이터들의 순서를 찾아 결합하여 하나의 영상프레임으로 복구할 수 있는 클러스터 검색을 통한 동영상 복구 방법을 제공하는 것이다.
전술한 목적을 달성하기 위한 본 발명의 클러스터 검색을 통한 동영상 복구 방법은 저장매체의 클러스터를 복호화하여 독립적인 프레임이 포함되어 이루어진 하나 이상의 클러스터군을 생성하는 복호화단계; 저장매체의 클러스터를 복호화하여 하나 이상의 인덱스정보를 검색하는 인덱스정보검색단계; 상기 복호화단계를 통해 생성된 클러스터군 중에서 상기 인덱스정보에 포함된 하나의 클러스터군을 영상프레임으로 형성시키거나 또는 복수의 클러스터군을 연결하여 영상프레임으로 형성시키는 영상프레임형성단계를 포함하고, 상기 영상프레임형성단계는 기준클러스터군과 연결클러스터군을 연결한 후 상기 기준클러스터군의 마지막 프레임부터 다시 복호화를 수행하는 재복호화단계를 포함하는 것을 특징으로 한다.
상기 영상프레임형성단계에서는 상기 복호화단계를 통해 생성된 클러스터군 중에서 독립적인 프레임의 정보가 상기 인덱스정보에 포함된 기준클러스터가 검출되도록 한 후, 상기 기준클러스터군을 제외한 클러스터군을 이루는 독립적인 프레임의 정보가 상기 인덱스정보에 포함된 연결클러스터군이 검출되도록 하여, 상기 기준클러스터군과 연결클러스터군이 연결됨으로써 영상프레임이 형성될 수 있다.
상기 복호화단계에서는 클러스터에 대한 복호화 수행 중 에러가 발생되면, 다음 프레임부터 다시 복호화가 수행되도록 할 수 있다.
상기 복호화단계에서는 복호화된 프레임과 각각의 프레임의 임시인덱스정보를 저장하는 저장단계를 포함할 수 있다.
삭제
상기 재복호화단계에서는 복호화 수행 중 에러가 발생되면, 상기 기준클러스터군과 연결클러스터군 사이로 클러스터를 확장하여 복호화가 수행되도록 하는 확장단계를 포함할 수 있다.
상기 확장단계에서 확장될 수 있는 클러스터의 크기는 상기 기준클러스터군에서 정상적으로 복호화되지 않은 마지막 프레임의 크기와, 상기 연결클러스터군에서 정상적으로 복호화되지 않은 첫 프레임의 크기와, 상기 기준클러스터군과 연결클러스터군 사이에서 확장되어야할 크기를 모두 더한 값이 상기 기준클러스터군에서 정상적으로 복호화되었을 때의 마지막 프레임의 크기와 작거나 같을 수 있다.
영상프레임형성단계에서는 기준클러스터군과 연결클러스터군을 모두 연결 후 인덱스정보를 결합하여 완전한 영상으로 생성되도록 할 수 있다.
상기 인덱스정보검색단계 후에 상기 복호화단계가 이루어질 수 있다.
상기 인덱스정보검색단계에서는 인덱스정보가 검색되지 않으면 상기 복호화단계를 통해 생성된 클러스터군 중에서 하나의 기준클러스터군에 상기 기준클러스터군을 제외한 임의의 클러스터군을 각각 연결 후 복호화하여 정상적인 복호화가 이루어지는 클러스터군을 연결클러스터군으로 검출하는 검출단계를 포함할 수 있다.
상기 검출단계에서는 정상적인 복호화가 이루어질 때까지 상기 기준클러스터군과 임의의 클러스터군 사이에 클러스터를 확장하여 복호화가 수행되도록 하며, 확장될 수 있는 클러스터의 크기는 상기 기준클러스터군에서 정상적으로 복호화되지 않은 마지막 프레임 및 상기 연결클러스터군에서 정상적으로 복호화되지 않은 첫 프레임과 현재까지 복구된 프레임 중에서 최대 크기를 갖는 프레임을 비교하여 결정될 수 있다.
이상에서 설명한 바와 같은 본 발명의 클러스터 검색을 통한 동영상 복구 방법에 따르면, 저장매체에 조각나서 저장된 동영상 데이터가 일부라도 남아있으면 영상프레임의 복원 과정에서 얻을 수 있는 인덱스 정보를 토대로 조각난 동영상 데이터들의 순서를 찾아 결합하여 하나의 영상프레임으로 복구할 수 있는 효과가 있다.
도 1은 저장매체에 파일이 저장되는 상태를 도시한 예시도이며,
도 2는 본 발명의 일실시예에 따른 동영상 복구 방법을 설명하기 위하여 저장매체를 도시한 예시도이며,
도 3은 본 발명의 일실시예에 따른 복호화를 설명하기 위하여 도시한 예시도이며,
도 4는 본 발명의 일실시예에 따른 복호화를 통해 클러스터군이 생성된 상태를 도시한 예시도이며,
도 5는 본 발명의 일실시예에 따른 클러스터군에서 프레임을 복구하는 과정을 설명하기 위하여 도시한 예시도이며,
도 6은 본 발명의 일실시예에 따른 동영상 복구 방법에 따라 복구된 영상프레임을 도시한 예시도이며,
도 7은 본 발명의 일실시예에 따른 클러스터 검색을 통한 동영상 복구 방법을 도시한 플로우차트이다.
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 상세히 설명하기 위하여, 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세하게 설명한다.
도 2는 본 발명의 일실시예에 따른 동영상 복구 방법을 설명하기 위하여 저장매체를 도시한 예시도이며, 도 3은 본 발명의 일실시예에 따른 복호화를 설명하기 위하여 도시한 예시도이며, 도 4는 본 발명의 일실시예에 따른 복호화를 통해 클러스터군이 생성된 상태를 도시한 예시도이며, 도 5는 본 발명의 일실시예에 따른 클러스터군에서 프레임을 복구하는 과정을 설명하기 위하여 도시한 예시도이며, 도 6은 본 발명의 일실시예에 따른 동영상 복구 방법에 따라 복구된 영상프레임을 도시한 예시도이며, 도 7은 본 발명의 일실시예에 따른 클러스터 검색을 통한 동영상 복구 방법을 도시한 플로우차트이다.
본 발명의 일실시예에 따른 동영상 복구 방법으로써, 조각난 파일이 다른 파일에 의해 일부 클러스터가 덮어 씌어졌더라도 저장매체(100)에 동영상데이터가 일부라도 존재한다면, 복호화(Decoding)를 하여 영상프레임을 복원할 수 있다.
그리고, 복원과정에서 얻을 수 있는 인덱스정보와 복원된 영상프레임 크기를 비교하여 흩어져 있는 영상프레임 조각들의 순서를 찾아 결합하여 하나의 동영상 파일로 만들 수 있다.
본 발명은 도 7에 도시한 바와 같이, 비활성 클러스터 복호화단계(단계 S110), 클러스터군 생성단계(단계 S120), 기준클러스터군 검출단계(단계 S130), 인덱스 정보 검색단계(단계 S140), 인덱스 정보(단계 S150)에 따른 연결 클러스터군 검출단계(단계 S170), 영상프레임 형성단계(단계 S180)가 포함되어 이루어진다.
인덱스 정보가 존재하지 않으면, 클러스터군 조합단계(단계 S160)가 포함된다.
먼저, 도 2에 도시한 바와 같이, 데이터가 저장되어 사용되는 공간인 활성클러스터(150)와 데이터가 저장된 후 삭제된 공간인 비활성클러스터(110)가 포함되어 이루어진 저장매체(100)에서, 비활성클러스터(110) 전체에 걸쳐 복호화를 수행한다(단계 S110).
복호화는 저장매체(100)의 첫번째 비활성 클러스터부터 마지막 비활성 클러스터까지 수행될 수도 있다.
참고로, 동영상 프레임은 코덱에 의해 가변길이부호화(Variable Length Coding)가 되어 있기 때문에 프레임의 일부가 손상될 시 복호화가 정상적으로 되지 않는다.
예를 들어, 복호화는 도 3에 도시한 바와 같이, 미리 코드북이 설정된 상태에서, 상기 코드북에 존재하지 않는 데이터가 존재하면 에러가 발생 되어 복호화가 진행되지 않게 된다.
이때는 이후 데이터를 버리고 통상 프레임의 시작코드가 있는 다음 프레임부터 다시 정상적으로 복호화가 수행되도록 한다.
비활성클러스터(110)에 대한 복호화가 완료되면, 독립적인 프레임이 포함되어 이루어진 하나 이상의 클러스터군이 생성된다(단계 S120).
예를 들어 도 4에 도시한 바와 같이, i번째 프레임, i+1번째 프레임, i+2번째 프레임, i+3번째 프레임으로 이루어진 제1클러스터군(111)과, j-1번째 프레임, j번째 프레임, j+1번째 프레임, j+2번째 프레임으로 이루어진 제2클러스터군(113)과, k번째 프레임, k+1번째 프레임으로 이루어진 제3클러스터군(115)이 형성될 수 있다.
미설명 부호 1111은 mp4, 3gp, avi, mov, h.264 등의 영상의 규격을 나타내는 타입 정보이며, 1135는 프레임의 위치정보, 크기정보 등을 나타내는 인덱스 정보이다.
상기 제1클러스터군(111)은 5번 클러스터부터 복호화 수행 중에 11번째 클러스터에서 에러가 발생되어 i번째 프레임, i+1번째 프레임, i+2번째 프레임까지 복호화가 되고, i+3번째 프레임은 복호화가 되지 않은 형태이다.
제2클러스터군(113)은 20번째 클러스터에서 에러가 발생되고 25번 클러스터까지 복호화가 수행되어 j번째 프레임, j+1번째 프레임, j+2번째 프레임까지 복호화가 되고, j-1번째 프레임은 복호화가 되지 않은 형태이다.
제3클러스터군(115)는 28번 클러스터부터 복호화 수행 중에 29번째 클러스터에서 에러가 발생되어 k번째 프레임까지 복호화가 되고, k+1번째 프레임은 복호화가 되지 않은 형태이다.
비활성 클러스터를 복호화하는 중에 복호화된 프레임 및 에러가 발생되어 복호화되지 않은 프레임, 각각의 프레임의 크기정보, 각각의 프레임의 위치정보 등의 임시인덱스정보는 상기 저장매체(100)에 저장될 수 있다.
제1클러스터군(111)에서 i번째 프레임은 1500 바이트(byte)의 크기를 가지면서 5번, 6번, 7번 및 8번 클러스터의 일부에 위치하는 것으로 저장된다.
i+1번째 프레임은 1200 바이트의 크기를 가지면서 8번의 일부, 9번 및 10번 클러스터의 일부에 위치하는 것으로 저장된다.
i+2번째 프레임은 610 바이트의 크기를 가지면서 10번의 일부 및 11번 클러스터의 일부에 위치하는 것으로 저장된다.
i+3번째 프레임은 171 바이트의 크기를 가지면서 11번 클러스터의 일부에 위치하는 것으로 저장된다.
제2클러스터군(113)에서 j-1번째 프레임은 420 바이트의 크기를 가지면서 20번 클러스터의 일부에 위치하는 것으로 저장된다.
j번째 프레임은 716 바이트의 크기를 가지면서 20번의 일부, 21번 및 22번 클러스터의 일부에 위치하는 것으로 저장된다.
j+1번째 프레임은 884 바이트의 크기를 가지면서 22번 및 23번 클러스터의 일부에 위치하는 것으로 저장된다.
j+2번째 프레임은 816 바이트의 크기를 가지면서 23번의 일부, 24번 및 25번 클러스터의 일부에 위치하는 것으로 저장된다.
제3클러스터군(115)에서 k번째 프레임은 862 바이트의 크기를 가지면서 28번의 일부 및 29번 클러스터의 일부에 위치하는 것으로 저장된다.
k+1번째 프레임은 29번 클러스터의 일부에 위치하는 것으로 저장된다.
이어서, 비활성 클러스터(110)의 전체를 검색하여, 상기 기준클러스터군에 속해 있는 프레임들의 크기가 연속적으로 나열되어 있는 인덱스 정보를 찾는다.
상기 인덱스 정보 또한 하나 이상으로 검색될 수 있다.
이렇게 클러스터군이 생성되고, 인덱스 정보가 검색되면, 상기 클러스터군을 이루는 프레임 정보와 상기 인덱스 정보에 포함된 프레임 정보를 비교하여, 상기 인덱스 정보에 나열된 순서대로 클러스터군을 나열시키면 하나의 영상 프레임으로 복원이 된다.
예를 들어, 상기 제1클러스터군(111), 제2클러스터군(113) 및 제3클러스터군(115)을 각각 이루는 프레임 중에서, 상기 인덱스 정보에 포함된 프레임 정보와 상기 제1클러스터군(111)에 포함된 프레임 및 상기 제2클러스터군(113)에 포함된 프레임이 동일하다면, 상기 제1클러스터군(111)과 제2클러스터군(113)을 나열시켜 하나의 영상 프레임으로 복원시킬 수가 있다.
상기 클러스터군이 복수로 생성되고, 상기 인덱스 정보도 복수로 검색되면,서로 각각 비교를 하여 인덱스 정보에 나열된 순서대로 클러스터군을 나열시키면 복수의 영상 프레임으로 복원될 수도 있다.
상기에서는 클러스터에 대한 복호화 후에 인덱스 정보를 검색하는 것으로 설명하였으나 이에 한정되는 것은 아니고, 인덱스 정보를 먼저 검색 후에 클러스터에 대한 복호화를 수행할 수도 있다.
한편, 상술한 바와 같이 복호화된 클러스터군이 생성되면, 이 중에서 복구할 영상이 사용자에 의해 선택되도록 한 후 선택된 영상이 포함된 클러스터군이 검출되도록 할 수도 있다(단계 S130).
복구할 영상이 어떤 것인지 사용자가 선택하게 하기 위해, 복호화된 영상을 화면상에 보여주고, 복구할 영상에 해당하는 장면을 선택하도록 하는 것이다.
이때 사용자의 선택을 용이하게 하기 위해, 독립적인 부호화 및 복호화가 가능한 프레임인 인트라(Intra) 프레임만을 보여주고 선택하도록 할 수가 있다.
복호화 프로그램을 통해 복호화된 이미지를 확인할 수가 있다.
이렇게 하여, 사용자가 선택한 프레임이 있는 클러스터군이 존재하면, 이것은 이미 복구된 클러스터군에 해당되므로 이후 과정은 복구된 클러스터군에 연결할 클러스터군을 찾는 것이다.
상술한 복구된 클러스터군 중 사용자가 선택한 복구되기 원하는 프레임이 있는 클러스터군을 기준클러스터군이라 하고, 상기 기준클러스터군에 연결할 클러스터군을 연결클러스터군이라 한다.
예를 들어, 상술한 바와 같이 제1클러스터군(111), 제2클러스터군(113) 및 제3클러스터군(115)이 생성된 후 상기 제1클러스터군(111)이 기준클러스터군으로 검출되었다면, 그 외 제2클러스터군(113)과 제3클러스터군(115)이 상기 제1클러스터군(111)에 연결될 수 있는 연결클러스터군의 후보에 해당될 수 있다.
한편, 상술한 예시에서는 상기 기준클러스터군이 제1클러스터군(111)으로 검출되었지만, 사용자가 복구를 원하는 영상의 선택에 따라 제1클러스터군(111)외에 제2클러스터군(113) 또는 제3클러스터군(115)이 기준클러스터군으로 검출될 수 있다.
사용자의 선택 없이 복구된 클러스터군 중 어느 하나가 기준클러스터군으로 될 수도 있다.
이어서, 비활성 클러스터(110)의 전체를 검색하여, 상기 기준클러스터군에 속해 있는 프레임들의 크기가 연속적으로 나열되어 있는 인덱스 정보를 찾는다(단계 S140).
이하에서는 도 5에 도시한 바와 같이, 기준클러스터군으로 검출된 제1클러스터군(111)의 프레임들의 크기가 포함된 인덱스 정보(1135)가 25번 클러스터에 위치하고 있는 것으로 설명한다.
본 발명에서는 기준클러스터군을 먼저 검출한 후 인덱스 정보(1135)를 검색하는 단계로 이루어지는 것을 설명하였으나, 인덱스 정보(1135)를 먼저 검색한 후 상기 인덱스 정보(1135)에 포함된 프레임으로 이루어진 기준클러스터군을 검출하는 단계로 이루어질 수도 있다.
본 발명에서는 인덱스 정보(1135)의 예시로써, 완전한 영상프레임은 7개의 프레임으로 이루어졌다는 것을 나타내었다.
이어서, 인덱스 정보(1135)가 존재하면, 상기 기준클러스터군에 포함된 프레임 정보와 인덱스 정보(1135)에 저장된 프레임 정보를 비교한다(단계 S150).
예를 들면, 도 5에 도시한 바와 같이, 기준클러스터군인 제1클러스터군(111)과 상기 인덱스 정보(1135)를 비교하면, i번째 프레임, i+1번째 프레임, i+2번째 프레임의 크기 정보와 상기 인덱스 정보(1135)에서의 1번째 샘플, 2번째 샘플, 3번째 샘플의 크기가 각각 동일하다는 것을 알 수가 있다.
따라서, 상기 인덱스 정보(1135)는 상기 기준클러스터군에 포함된 프레임정보로 이루어졌다는 것을 알 수가 있다.
이어서, 상기 인덱스 정보(1135)에서 기준클러스터군에 해당되는 프레임 정보를 제외한 프레임 정보가 포함된 연결클러스터군이 검출된다(단계 S170).
예를 들어, 상기 인덱스 정보(1135)에 나타난 바와 같이, 1번째 내지 3번째 샘플에 해당하는 정보는 기준클러스터군에 해당되므로, 이를 제외한 4번째 내지 7번째 샘플에 해당하는 연결클러스터군이 검색된다.
따라서, 상기 제1기준클러스터군(111)을 제외한 제2클러스터군(113)과 제3클러스터군(115)을 상기 인덱스 정보(1135)와 비교한 결과, 제2클러스터군(113)의 j번째 프레임, j+1번째 프레임, j+2번째 프레임의 크기와, 인덱스 정보(1135)에서의 5번째 샘플, 6번째 샘플, 7번째 샘플이 동일하므로, 제2클러스터군(113)이 상기 제1클러스터군(111)에 연결될 연결클러스터군으로 된다.
이어서, 영상 프레임을 형성하기 위해 기준클러스터군과 연결클러스터군이 연결된다(단계 S180).
따라서, 영상 프레임을 형성하기 위해 상기 제1클러스터군(111)과 제2클러스터군(113)이 연결될 수 있다.
한편, 영상 프레임을 형성하기 위해 기준클러스터군과 연결클러스터군이 연결된 후 상기 기준클러스터군의 마지막 프레임부터 다시 복호화를 수행 중 기준클러스터군과 연결클러스터군 사이에 연결시켜야 할 데이터가 부족하여 에러가 발생될 수 있다.
이때는 상기 기준클러스터군과 연결클러스터군 사이로 클러스터를 확장시키면서 복호화가 수행되도록 한다.
예를 들어, 상기 제1클러스터군(111)과 제2클러스터군(113)을 연결한 후 상기 기준클러스터군의 마지막 프레임부터 다시 복호화가 수행될 때, 제1클러스터군(111)과 제2클러스터군(113) 사이에서 에러가 발생된다.
제1클러스터군(111)과 제2클러스터군(113)을 연결한 후 상기 인덱스 정보(1135)와 비교하면, 4번째 샘플에 해당하는 프레임이 존재하지 않기 때문이다.
따라서, 제1클러스터군(111)의 뒷부분 또는 제2클러스터군(113)의 앞부분을 확장시켜, 4번째 샘플과 동일한 크기로 확장한 후 상기 제1클러스터군(111)과 제2클러스터군(113)이 연결되어야 한다.
4번째 샘플의 크기는 1615 바이트이고, 제1클러스터군(111)의 뒷부분에서 i+3번째 프레임의 크기는 171 바이트이고, 제2클러스터군(113)의 앞부분에서 j-1번째 프레임의 크기는 420 바이트이므로, 4번째 샘플과 i+3번째 프레임 및 j-1번째 프레임의 크기를 합한 것을 비교하면 1024 바이트가 부족하게 된다.
한 개의 클러스터의 크기를 512 바이트라고 설정하였다면 두 개의 클러스터가 더 있어야 상기 4번째 샘플과 동일하게 된다.
참고로, 클러스터의 크기는 저장매체(100)의 종류에 따라 다르게 설정될 수 있다.
이 상황에서 확장해 볼 수 있는 경우의 수는 3가지가 있게 된다.
제1클러스터군(111) 뒤에 2개의 클러스터를 확장 또는 제2클러스터군(113) 앞에 2개의 클러스터 확장 또는 제1클러스터군(111) 뒤에 1개, 제2클러스터군(113) 앞에 1개의 클러스터를 각각 확장시키는 3 가지 방법이 있다.
상기 3가지 방법으로 각각 연결 후 4번째 샘플에 해당하는 프레임이 정상적으로 복호화가 완료되면 이 경우가 정상적인 확장이 된 경우이다.
본 발명에서는 도 5에 도시한 바와 같이, 제2클러스터군(113) 앞에 2개 클러스터 확장 즉, 11번 클러스터와 20번 클러스터 사이에 18, 19번 클러스터를 확장함으로써 4번째 샘플에 해당하는 프레임이 정상적으로 복호화되었다.
이렇게 함으로써 i+3번째 프레임, 18번 클러스터, 19번 클러스터, j-1번째 프레임의 크기가 합쳐져서 4번째 샘플의 크기에 해당 되게 된다.
이렇게 하여, 타입정보(1111), 제1클러스터군(111), 제2클러스터군(113), 인덱스 정보(1135)를 결합하여 완전한 동영상 프레임이 형성되도록 한다.
따라서, i번째 프레임이 제1프레임, i+1번째 프레임이 제2프레임, i+2번째 프레임이 제3프레임, i+3번째 프레임과 18번 클러스터와 19번 클러스터와 j-1번째 프레임이 제4프레임, j번째 프레임이 제5프레임, j+1번째 프레임이 제6프레임, j+2번째 프레임이 제7프레임이 된다.
본 발명에서는 기준클러스터군 이후에 연결클러스터군을 연결하는 것으로 설명하였으나 이에 한정되는 것은 아니고, 기준클러스터군이 동영상 프레임의 시작 부분이 아니라면 기준클러스터군 앞 부분에 상술한 바와 같은 방식으로 연결클러스터군이 연결될 수도 있다.
동영상 데이터뿐만 아니라 음성 데이터도 같은 방법으로 복구할 수 있다.
한편, 선택 클러스터군을 검출 후 인덱스 정보를 검색하였는데, 상기 인덱스 정보(1135)가 다른 파일에 의해 덮어써져 존재하지 않을 수도 있다(단계 S150).
이 경우에는 비활성 클러스터(110)의 전체를 검색하여 복호화을 수행하다 에러가 발생되는 부분을 클러스터군의 끝으로 판단하고 연결될 가능성이 있는 클러스터군 각각을 모두 연결한다(단계 S160).
이렇게 하여 복호화가 정상적으로 되는 클러스터를 연결클러스터군으로 검출함으로써 동영상 데이터를 복구할 수 있다.
따라서, 제1클러스터군(111)이 기준클러스터군으로 검출되었지만, 인덱스 정보(1135)가 없어서, 연결클러스터군을 찾을 수 없다면, 상기 기준클러스터군에 연결되어야 할 연결클러스터군 후보는 모든 클러스터군이 된다.
따라서, 상기 제1클러스터군(111)에 제2클러스터군(113) 또는 제3클러스터군(115)을 각각 연결한 후 복호화를 수행하여 정상적으로 복호화가 이루어지는 임의의 클러스터군이 연결클러스터군으로 검출될 수가 있다.
기준클러스터군과 임의의 연결클러스터군 사이에 연결시켜야 할 데이터가 부족하여 복호화가 이루어지지 않으면, 정상적인 복호화가 수행될 때까지 상기 기준클러스터군과 임의의 클러스터군 사이에 클러스터를 한 개씩 확장한다.
이때, 확장될 수 있는 클러스터의 한계치는 상기 기준클러스터군에서 정상적으로 복호화되지 않은 마지막 프레임의 크기 및 상기 연결클러스터군에서 정상적으로 복호화되지 않은 첫 프레임의 크기를 합한 것과 현재까지 복구된 프레임의 최대 크기를 비교하여 하여 수 배 내에서 결정될 수 있다.
그러나, 인덱스 정보(1135)가 없으므로, 어떤 클러스터군이 연결될지는 사전에 예측할 수 없으며 부족한 데이터를 구성하기 위해 기준클러스터군의 뒤와 연결후보클러스터군의 앞으로 얼마나 데이터 확장을 해야할지도 예측이 되지 않는다.
따라서, 임의의 클러스터군을 정한 후, 확장의 한계치는 미리 정해 놓은 클러스터의 크기의 배수 만큼으로 두고, 이 확장의 한계치하에 나타날 수 있는 모든 경우로 확장을 한 후 프레임을 복호화를 했을 때 정상적이면 그 클러스터를 연결클러스터로 결정될 수 있다.
확장의 한계치는 복구될 모든 프레임들의 크기의 최대값 보다는 작다.
확장과 연결을 하는 단계에서는 그 최대값을 알 수 없지만, 한계치를 두지 않으면 확장을 할 수 있는 경우의 수가 무한정 늘어나기 때문에 한계치를 정해 두어야 한다.
영상의 복잡도에 따라 부호화된 프레임의 크기는 서로 다르지만, 부호화시 부호화기가 비트량조절(Rate Control)을 통해 프레임의 크기를 유사하게 맞추려고 하기 때문에 임의의 프레임이 다른 프레임보다 수십 배나 크기가 큰 경우는 거의 드물다.
따라서 현재까지 복구된 프레임의 최대크기를 기준으로 확장하고자 하는 부족한 데이터의 크기를 수 배로 한정을 해도 무방하며, 확장의 크기도 이에 준해서 결정된다.
이러한 방법으로 기준클러스터군에 맞는 클러스터군을 연결하여 갱신된 기준클러스터군을 생성하고 다시 여기에 맞는 클러스터군을 연결하는 식으로 반복적으로 수행된다.
이어서, 모든 클러스터군에 대해 한계치까지 반복 확장했는데도 복호화 중 에러가 발생되면, 연결되어야 할 클러스터군이 다른 파일에 의해 덮어쓰기가 된 경우이다.
이 경우에는 아직 복구되지 않은 다른 프레임들의 크기들을 복구된 클러스터를 제외한 클러스터군의 프레임과 비교하여 같은 것을 찾은 후 이들 중 복구하고자하는 장면을 사용자가 다시 선택하도록 한 후 상기 인덱스 정보 검색단계부터 다시 수행되도록 한다.
본 발명에 따른 단계 S110 내지 단계 S180에 따른 클러스터 검색을 통한 동영상 복구 방법을 프로그램화하여 컴퓨터가 읽을 수 있도록 시디롬, 메모리, ROM, EEPROM 등의 기록매체에 저장시킬 수도 있다.
이상의 설명에서는 본 발명의 바람직한 실시예를 제시하여 설명하였으나, 본 발명이 반드시 이에 한정되는 것은 아니며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경할 수 있음을 쉽게 알 수 있을 것이다.
100: 저장매체 111: 제1클러스터군
113: 제2클러스터군 115: 제3클러스터군

Claims (15)

  1. (a) 저장매체(100)의 클러스터를 복호화하여 독립적인 프레임이 포함되어 이루어진 하나 이상의 클러스터군을 생성하는 복호화단계;
    (b) 저장매체(100)의 클러스터를 복호화하여 하나 이상의 인덱스정보를 검색하는 인덱스정보검색단계; 및
    (c) 상기 복호화단계를 통해 생성된 클러스터군 중에서 상기 인덱스정보에 포함된 하나의 클러스터군을 영상프레임으로 형성시키거나 또는 복수의 클러스터군을 연결하여 영상프레임으로 형성시키는 영상프레임형성단계를 포함하고,
    상기 영상프레임형성단계는 기준클러스터군과 연결클러스터군을 연결한 후 상기 기준클러스터군의 마지막 프레임부터 다시 복호화를 수행하는 재복호화단계를 포함하는 것을 특징으로 하는 클러스터 검색을 통한 동영상 복구 방법.
  2. 제1항에 있어서, 상기 영상프레임형성단계에서는 상기 복호화단계를 통해 생성된 클러스터군 중에서 독립적인 프레임의 정보가 상기 인덱스정보에 포함된 기준클러스터군이 검출되도록 한 후, 상기 기준클러스터군에 연결되는 나머지 연결클러스터군이 검출되도록 하여, 상기 기준클러스터군과 연결클러스터군이 연결됨으로써 영상프레임이 형성되는 것을 특징으로 하는 클러스터 검색을 통한 동영상 복구 방법.
  3. 제1항 또는 제2에 있어서, 상기 복호화단계에서는 클러스터에 대한 복호화 수행 중 에러가 발생되면, 다음 프레임부터 다시 복호화가 수행되도록 하는 것을 특징으로 하는 클러스터 검색을 통한 동영상 복구 방법.
  4. 제1항 또는 제2항에 있어서, 상기 복호화단계에서는 복호화된 프레임과 각각의 프레임의 임시인덱스정보를 저장하는 저장단계를 포함하는 것을 특징으로 하는 클러스터 검색을 통한 동영상 복구 방법.
  5. 삭제
  6. 제1항에 있어서, 상기 재복호화단계에서는 복호화 수행 중 에러가 발생되면, 상기 기준클러스터군과 연결클러스터군 사이로 클러스터를 확장하여 복호화가 수행되도록 하는 확장단계를 포함하는 것을 특징으로 하는 클러스터 검색을 통한 동영상 복구 방법.
  7. 제6항에 있어서, 상기 확장단계에서 확장될 수 있는 클러스터의 크기는 상기 기준클러스터군에서 정상적으로 복호화되지 않은 마지막 프레임의 크기와, 상기 연결클러스터군에서 정상적으로 복호화되지 않은 첫 프레임의 크기와, 상기 기준클러스터군과 연결클러스터군 사이에서 확장되어야할 크기를 모두 더한 값이 상기 기준클러스터군에서 정상적으로 복호화되었을 때의 마지막 프레임의 크기와 작거나 같은 것을 특징으로 하는 클러스터 검색을 통한 동영상 복구 방법.
  8. 제1항에 있어서, 상기 영상프레임형성단계에서는 기준클러스터군과 연결클러스터군을 모두 연결 후 인덱스정보를 결합하여 완전한 영상으로 생성되도록 하는 것을 특징으로 하는 클러스터 검색을 통한 동영상 복구 방법.
  9. 제1항 또는 제2항에 있어서, 상기 인덱스정보검색단계 후에 상기 복호화단계가 이루어지는 것을 특징으로 하는 클러스터 검색을 통한 동영상 복구 방법.
  10. 제1항에 있어서, 상기 인덱스정보검색단계에서는 인덱스정보가 검색되지 않으면 상기 복호화단계를 통해 생성된 클러스터군 중에서 하나의 기준클러스터군에 나머지 클러스터군을 각각 연결 후 복호화하여 정상적인 복호화가 이루어지는 클러스터군을 연결클러스터군으로 검출하는 검출단계를 포함하는 것을 특징으로 하는 클러스터 검색을 통한 동영상 복구 방법.
  11. 제10항에 있어서, 상기 검출단계에서는 정상적인 복호화가 이루어질 때까지 상기 기준클러스터군과 임의의 클러스터군 사이에 클러스터를 확장하여 복호화가 수행되도록 하며, 확장될 수 있는 클러스터의 크기는 상기 기준클러스터군에서 정상적으로 복호화되지 않은 마지막 프레임 및 상기 연결클러스터군에서 정상적으로 복호화되지 않은 첫 프레임과 현재까지 복구된 프레임 중에서 최대 크기를 갖는 프레임을 비교하여 결정되는 것을 특징으로 하는 클러스터 검색을 통한 동영상 복구 방법.
  12. 제1항, 제2항, 제6항, 제7항, 제8항, 제10항 또는 제11항 중 어느 한 항의 클러스터 검색을 통한 동영상 복구 방법 및 그 기록매체를 실행하는 프로그램이 기록되어 컴퓨터로 읽을 수 있는 기록매체.
  13. 제3항의 클러스터 검색을 통한 동영상 복구 방법 및 그 기록매체를 실행하는 프로그램이 기록되어 컴퓨터로 읽을 수 있는 기록매체.
  14. 제4항의 클러스터 검색을 통한 동영상 복구 방법 및 그 기록매체를 실행하는 프로그램이 기록되어 컴퓨터로 읽을 수 있는 기록매체.
  15. 제9항의 클러스터 검색을 통한 동영상 복구 방법 및 그 기록매체를 실행하는 프로그램이 기록되어 컴퓨터로 읽을 수 있는 기록매체.
KR1020120002862A 2011-07-25 2012-01-10 클러스터 검색을 통한 동영상 복구 방법 및 그 기록매체 KR101351795B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020120002862A KR101351795B1 (ko) 2012-01-10 2012-01-10 클러스터 검색을 통한 동영상 복구 방법 및 그 기록매체
PCT/KR2012/005940 WO2013015614A2 (ko) 2011-07-25 2012-07-25 코덱 기반 및 클러스터 검색을 통한 동영상 복구 방법
US14/234,414 US9436551B2 (en) 2011-07-25 2012-07-25 Method for codec-based recovery of a video using a cluster search

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120002862A KR101351795B1 (ko) 2012-01-10 2012-01-10 클러스터 검색을 통한 동영상 복구 방법 및 그 기록매체

Publications (2)

Publication Number Publication Date
KR20130081826A KR20130081826A (ko) 2013-07-18
KR101351795B1 true KR101351795B1 (ko) 2014-01-20

Family

ID=48993347

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120002862A KR101351795B1 (ko) 2011-07-25 2012-01-10 클러스터 검색을 통한 동영상 복구 방법 및 그 기록매체

Country Status (1)

Country Link
KR (1) KR101351795B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101632689B1 (ko) * 2014-09-16 2016-06-23 상명대학교서울산학협력단 멀티미디어 조각파일의 복구방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010047092A (ko) * 1999-11-17 2001-06-15 이채홍 하드 디스크의 조각난 데이터 복원 방법 및 이를 저장한컴퓨터가 판독 가능한 기록 매체
US20050177777A1 (en) * 2004-01-23 2005-08-11 Seaburg Gunnar P. Cluster-based disk backup and restoration
US7539707B2 (en) * 2003-11-13 2009-05-26 Commvault Systems, Inc. System and method for performing an image level snapshot and for restoring partial volume data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010047092A (ko) * 1999-11-17 2001-06-15 이채홍 하드 디스크의 조각난 데이터 복원 방법 및 이를 저장한컴퓨터가 판독 가능한 기록 매체
US7539707B2 (en) * 2003-11-13 2009-05-26 Commvault Systems, Inc. System and method for performing an image level snapshot and for restoring partial volume data
US20050177777A1 (en) * 2004-01-23 2005-08-11 Seaburg Gunnar P. Cluster-based disk backup and restoration

Also Published As

Publication number Publication date
KR20130081826A (ko) 2013-07-18

Similar Documents

Publication Publication Date Title
Pal et al. The evolution of file carving
US9024799B2 (en) Data transmission apparatus and method thereof and data reception apparatus and method thereof
JP5313916B2 (ja) テクスチャ合成を利用した映像の符号化、復号化の方法及び装置
KR101727860B1 (ko) 문서 파일의 복구 장치 및 그 방법
EP3154202B1 (en) Encoding program, encoding method, encoding device, decoding program, decoding method, and decoding device
KR20150036679A (ko) 이미지를 암호화 하고 복호화 하기 위한 방법, 장치 및 시스템
US20180121364A1 (en) Storage tier with compressed forward map
US9933958B2 (en) Data storage device and data maintenance method thereof
US10193579B2 (en) Storage control device, storage system, and storage control method
Sari et al. A review of graph theoretic and weightage techniques in file carving
CN101859586A (zh) 动画索引附加方法以及动画再生装置
CN1954602A (zh) 录像再生编辑装置
KR101351795B1 (ko) 클러스터 검색을 통한 동영상 복구 방법 및 그 기록매체
US9436551B2 (en) Method for codec-based recovery of a video using a cluster search
JP4893956B2 (ja) 符号化装置、復号化装置、符号化方法及びプログラム
CN113507625B (zh) 一种自适应视频修复方法
JP5778595B2 (ja) データ圧縮方法及び装置
KR101556300B1 (ko) 리눅스 파일 시스템에서의 파일 복원 장치 및 방법
EP1643764A1 (en) Video reproducing apparatus
KR101741186B1 (ko) 부분 복구가능 부호의 검증이 가능한 데이터 분산 저장 장치 및 방법
CN104699727A (zh) 一种数据存储方法和装置
KR102264920B1 (ko) 영상 식별 장치, 그 방법 및 컴퓨터 프로그램이 기록된 기록매체
KR101568680B1 (ko) 데이터 파편 분류를 이용한 데이터 복원 방법
JP2010262703A (ja) リニアpcmオーディオデータと圧縮符号化データのデータ判別装置
CN110322903B (zh) 使用预测数据位置来增加存储面密度

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant