KR20130089114A - 미디어 파일을 관리하기 위한 장치 및 그 방법 - Google Patents

미디어 파일을 관리하기 위한 장치 및 그 방법 Download PDF

Info

Publication number
KR20130089114A
KR20130089114A KR1020120010518A KR20120010518A KR20130089114A KR 20130089114 A KR20130089114 A KR 20130089114A KR 1020120010518 A KR1020120010518 A KR 1020120010518A KR 20120010518 A KR20120010518 A KR 20120010518A KR 20130089114 A KR20130089114 A KR 20130089114A
Authority
KR
South Korea
Prior art keywords
media file
file
information
media
box
Prior art date
Application number
KR1020120010518A
Other languages
English (en)
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 KR1020120010518A priority Critical patent/KR20130089114A/ko
Priority to PCT/KR2013/000809 priority patent/WO2013115584A1/ko
Publication of KR20130089114A publication Critical patent/KR20130089114A/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/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • 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
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • 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/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/309Table of contents
    • 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/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 미디어 파일을 관리 하기 위한 장치 및 그 방법에 관한 것으로, 제1 미디어 파일을 입력받는 입력부와; 제2 미디어 파일을 출력하는 출력부와; 제1 미디어 파일을 기초로 상기 제2 미디어 파일을 생성하며, 상기 제1 미디어 파일의 수정 여부에 따라 상기 제1 미디어 파일의 변경 정보 및 상기 제1 미디어 파일의 복구 정보 중 적어도 하나를 생성하는 제어부를 포함하는 미디어 파일 관리 장치를 제공한다.

Description

미디어 파일을 관리하기 위한 장치 및 그 방법{APPARATUS AND METHOD FOR MANAGING FILES}
본 발명은 미디어 파일을 관리하기 위한 장치 및 그 방법에 관한 것으로, 특히, 미디어 파일의 수정으로 인해 생성하는 서로 다른 버전의 미디어 파일을 관리하기 위한 장치 및 방법에 관한 것이다.
최근 통신기술의 비약적인 발전으로 영상, 음악과 같은 미디어 콘텐트의 제작과 사용이 증가하고 있다. 특히, UCC(User Created Contents)가 대중에게 널리 확산됨에 따라 기존의 방송국, 케이블 사업자 등 대형 콘텐트 제공자가 제공하는 미디어 콘텐트를 단순히 소비하기만 했던 환경에서 벗어나, 일반 사용자를 포함한 다양한 주체가 직접 콘텐트를 제작하고 편집하게 되면서 미디어 파일의 수정은 다양한 방법으로 빈번하게 이루어지고 있다.
도 1은 ISO(International Organization for Standardization) 기반의 미디어 파일의 논리적인 구성을 나타내는 도면이다.
도 1을 참조하면, 미디어 파일(100)은 헤더 영역(110), 메타데이터 영역(120) 및 데이터 영역(130)으로 구성된다.
헤더 영역(110)은 미디어 파일에 포함된 데이터의 기본적인 정보를 포함하는데, 일 예로 콘텐트 식별자, 콘텐트 제작자, 제작 시간 등과 같은 정보를 포함할 수 있다. 또한, 미디어 파일이 복수의 트랙 또는 스트림으로 구분되는 경우에는 트랙의 맵 구성 정보를 포함할 수 있다.
메타데이터 영역(120)은 미디어 파일에 포함된 데이터의 복수의 미디어 객체에 대한 개별적인 정보를 포함하는데, 일 예로 미디어 객체의 디코딩을 위한 다양한 프로파일 정보 및 미디어 객체의 위치에 대한 정보를 포함한다. 여기서, 미디어 객체란 콘텐트의 최소 단위로서 동영상의 경우 단위 시간마다 화면에 디스플레이 되는 하나의 이미지 프레임이 해당될 수 있으며, 음성의 경우 단위 시간마다 재생되는 하나의 오디오 프레임이 해당될 수 있다. 각각의 트랙마다 복수의 미디어 객체가 존재할 수 있으며, 이러한 미디어 객체들을 재생하는데 필요한 정보가 메타데이터 영역에 포함된다.
데이터 영역(130)은 미디어 객체가 실제로 저장되는 영역이다.
ISO 기반 미디어 파일의 물리적인 구성은 박스(Box)들로 이루어진다. 개별 박스는 관련 데이터 및 하위 박스들로 구성되거나 또는 하위 박스들로만 구성된 컨테이너(Container) 박스로서 존재할 수 있다. 일 예로, 도 1에서 도식화된 트랙(140)은 물리적으로 트랙 박스로 저장되며, 트랙 박스는 트랙 헤더 정보, 미디어 정보, 미디어 디코딩 정보 등을 저장하는 다양한 하위 박스들로 구성된 컨테이너 박스이다.
도 2 내지 도 4는 ISO 기반 미디어 파일을 관리하기 위한 패키징(Packaging) 기법을 설명하기 위한 도면이다.
일반적으로 ISO 기반 미디어 파일을 관리하기 위해서 패키징 기법을 이용하는데, 패키징 기법은 일 예로 도 2와 같이 독립적인 개체로 존재하는 개별 버전의 미디어 파일들을 디렉토리와 같은 물리적으로 동일한 컨테이너에 저장하거나 또는 도 3과 같이 관련 미디어 파일의 버전(Version) 정보 및 해당 파일의 물리적인 저장 위치를 포함하는 메타데이터를 컨테이너에 저장하는 기술이다. 이러한 파일 구조는 ZIP 또는 TAR(Tape ARchive)와 같은 패키징 프로그램을 이용하여 하나의 파일로 생성한 뒤 전송 또는 저장된다.
도 4는 패키징 기법의 다른 예로서 하나의 파일을 컨테이너를 사용하여 복수의 관련 미디어 파일들을 패키징하여 저장하는 방법을 나타내고 있다.
도 4를 참조하면, 실제 미디어 파일은 컨테이너 내부의 임의의 위치에 비트 스트림으로 저장되며, 개별 파일의 버전 정보, 파일명, 크기 정보, 컨테이너에서의 위치를 나타내는 오프셋 정보 등과 같은 메타데이터를 저장하여 단일 파일에 모든 버전의 미디어 파일을 저장한다.
지금까지 살펴본 ISO 기반의 미디어 파일은 미디어 파일이 수정되는 경우, 이전 버전의 미디어 파일과의 상호 관계를 나타내는 정보를 포함하지 않고 독립적인 개체로 저장된다. 즉, 수정 전 미디어 파일과 수정 후 미디어 파일이 물리적으로 별개의 파일로 저장되며, 수정 후 미디어 파일에는 수정된 최종 결과만이 저장될 뿐, 변경 이력 및 원본 데이터의의 복구에 필요한 데이터가 포함되지 않는다. 따라서, 미디어 파일의 변경 이력 및 데이터 복구를 위해 필요한 데이터를 찾는 것이 어려워 미디어 파일의 관리에 어려움이 있다.
본 발명은 미디어 파일을 효율적으로 관리 할 수 있는 미디어 파일 관리 장치 및 그 방법을 제공한다.
또한, 본 발명은 미디어 파일이 수정되는 경우, 미디어 파일 사이의 연관성을 알 수 있는 정보를 생성하여 미디어 파일의 수정 전/후의 상태를 용이하게 알 수 있는 미디어 파일 관리 장치 및 그 방법을 제공한다.
또한, 본 발명은 미디어 파일의 원본이 손상된 경우, 원본 파일에서 파생된 다른 미디어 파일을 이용하여 원본 파일을 용이하게 복수할 수 있는 미디어 파일 관리 장치 및 그 방법을 제공한다.
본 발명은 제1 미디어 파일을 입력받는 입력부와; 제2 미디어 파일을 출력하는 출력부와; 상기 제1 미디어 파일을 기초로 상기 제2 미디어 파일을 생성하며, 상기 제1 미디어 파일의 수정 여부에 따라 상기 제1 미디어 파일의 변경 정보 및 상기 제1 미디어 파일의 복구 정보 중 적어도 하나를 생성하는 제어부를 포함하는 미디어 파일 관리 장치를 제공한다.
또한, 본 발명은 제1 미디어 파일을 입력받는 단계와; 상기 제1 미디어 파일의 수정 여부에 따라 상기 제1 미디어 파일의 변경 정보 및 상기 제1 미디어 파일의 복구 정보 중 적어도 하나를 생성하는 단계와; 상기 제1 미디어 파일을 기초로 상기 변경 정보 및 상기 복구 정보 중 적어도 하나를 포함하는 제2 미디어 파일을 생성하는 단계를 포함하는 미디어 파일의 관리 방법을 제공한다.
본 발명은 미디어 파일이 수정되는 경우, 미디어 파일 내에 파일의 변경정보 및 원본 파일을 복구할 수 있는 정보가 포함되므로 미디어 파일을 효율적으로 관리할 수 있으며, 원본 파일을 용이하게 복구할 수 있다.
도 1은 ISO 기반의 미디어 파일의 논리적인 구성을 나타내는 도면.
도 2 내지 도 4는 ISO 기반 미디어 파일을 관리하기 위한 패키징 기법을 설명하기 위한 도면.
도 5는 본 발명의 일 실시예에 의한 미디어 파일 관리 장치(500)를 나타내는 도면.
도 6 및 도 7은 본 발명의 일 실시예에 의한 미디어 파일의 변경 정보 및 원본 파일의 복구를 위한 정보를 생성하는 방법을 나타내는 도면.
도 8 및 도 9는 본 발명의 다른 실시예에 의한 미디어 파일의 변경 정보 및 원본 파일의 복구를 위한 정보를 생성하는 방법을 나타내는 도면.
도 10 내지 도 15는 본 발명의 다른 실시예에 의한 미디어 파일의 변경 정보 및 원본 파일의 복구를 위한 정보를 생성하는 방법을 나타내는 도면.
도 16 내지 도 20b는 본 발명의 다른 실시예에 의한 미디어 파일의 변경 정보 및 원본 파일의 복구를 위한 정보를 생성하는 방법을 나타내는 도면.
도 21은 본 발명의 일 실시예에 의한 미디어 파일 관리 장치의 동작을 나타내는 도면.
이하, 본 발명의 실시예를 도면과 함께 상세히 설명한다. 본 발명을 설명함에 있어서 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.
도 5는 본 발명의 일 실시예에 의한 미디어 파일 관리 장치(500)를 나타내는 도면이다.
도 5을 참조하면, 본 발명의 일 실시예에 의한 미디어 파일 관리 장치(500)는 입력부(510), 출력부(530) 및 제어부(520)를 포함한다.
입력부(510)에 미디어 파일이 입력되면(2100), 제어부(520)는 미디어 파일의 수정이 필요 없는 경우에는 입력 미디어 파일을 이용하여 최종 미디어 파일을 생성한 후 출력부(530)를 통해 출력한다. 반면, 미디어 파일의 수정이 필요한 경우에는 미디어 파일의 변경 정보 및 원본 파일의 복구를 위한 정보를 생성하고, 생성된 정보 및 입력 미디어 파일을 이용하여 최종 미디어 파일을 생성한 후 출력부(530)를 통해 출력한다. 또한, 제어부(520)는 원본 미디어 파일이 손상된 경우, 원본 미디어 파일로부터 파생된 다른 미디어 파일에 포함되어 있는 원본 파일에 관한 정보를 이용하여 원본 파일을 복구 할 수 있다.
이하에서는 다양한 실시예를 통해 미디어 파일의 변경 정보 및 원본 파일의 복구를 위한 정보를 생성하는 방법에 대해 구체적으로 살펴보도록 한다.
도 6 및 도 7은 본 발명의 일 실시예에 의한 미디어 파일의 변경 정보 및 원본 파일의 복구를 위한 정보를 생성하는 방법을 나타내는 도면이다.
도 6을 참조하면, 본 발명의 일 실시예에 의한 미디어 파일은 prsv(preservation) 박스(600)를 포함하는데, prsv 박스(600)는 컨테이너 박스로서 ptbl(preservation table) 박스(610)와 적어도 하나의 pdat(preservation data) 박스(620)를 포함한다.
ptbl 박스(610)는 현재 파일에 포함되어 있는 모든 이전 버전의 미디어 파일에 대한 리스트를 제공하며, ISO 기반 미디어 파일의 최상위 레벨에 위치한다. 여기서, 현재 파일은 원본 파일이 수회에 걸쳐 수정된 경우, 가장 최근에 수정된 파일을 의미한다. pdat 박스(620)는 이전 버전 파일의 실제 데이터를 저장한다.
각 박스(600, 610, 620)의 상세 포맷을 살펴보면, 다음 [표 1] 내지 [표 3]과 같다.
* prsv(600)
aligned(8) class Preservation extends Box('prsv'){
}
* ptbl(610)
aligned(8) class PreservationTable extends Box('ptbl'){
unsigned int (4) offset_size;
unsigned int (32) next_preservation_ID;
unsigned int (32) preservation_entry_count;
for (i = 1; i < preservation_entry_count; ++i) {
unsigned int (32) preservation_date;
unsigned int (32) preservation_ID;
unsigned int (offset_size*8) offset_within_prsv;
}
}
- offset_size : {0, 4, 8} 중 하나의 값을 가지며, offset_within_prsv 필드의 바이트 단위의 길이를 표시.
- next_preservation_ID : 다음에 사용될 preservation_ID값으로서 최초값은 1로 설정되며, 동일한 preservion_ID를 사용하는 파일은 존재하지 않음.
- preservation_entry_count : 현재 파일에 포함된 모든 이전 버전 파일의 개수.
- preservation_date : 해당 버전의 미디어 파일이 보존된 날짜.
- preservation_ID : 해당 파일의 ID.
- offset_within_prsv : 해당 파일의 prsv 박스 내에서의 상대적인 시작 위치.
* pdat(620)
aligned(8) class PreservationData extends Box('pdat') {
unsigned int (32) preservation_ID;
bit (8) data;
}
- preservation_ID : 해당 파일의 ID.
- data : 해당 파일의 실제 데이터를 저장.
한편, 미디어 파일의 변경 정보 및 원본 파일의 복구를 위한 정보를 생성하는 방법을 살펴보면, 도 7에서 원본 파일인 버전 #1 파일(700)에서는 prsv 박스(730)내에 포함된 ptbl 박스의 next_preservation_ID 필드와 preservation_entry_count 필드는 각각 1과 0으로 설정된다. 이후 버전 #1 파일(700)을 수정하여 버전 #2 파일(710)이 생성되면, 버전 #1 파일(700)의 데이터는 버전 #2 파일(710)의 내부에 메타데이터로 저장되며, 버전 #2 파일(710)의 ptbl 박스(740)가 갱신되는데, 일예로, 버전 #2에서의 ptbl 박스(740)의 next_preservation_ID 필드와 preservation_entry_count 필드는 각각 2와 1로 갱신된다. 또한, 버전 #1 파일(700)의 데이터를 저장하기 위한 pdat 박스(750)가 새롭게 생성된다.
또한, 버전 #2 파일(710)을 수정하여 버전 #3 파일(720)을 생성하는 경우, 버전 #2 파일(710)의 데이터는 버전 #3 파일(720)의 내부에 메타데이터로 저장되고, 버전 #2 파일(710)의 데이터를 저장하기 위한 pdat 박스(760)가 버전 #3 파일(720)에 새롭게 추가되며, 버전 #3 파일(720)의 ptbl 박스(740)는 갱신된다. 일 예로 버전 #3 파일(720)의 ptbl 박스(740)의 next_preservation_ID 필드와 preservation_entry_count 필드는 각각 3과 2로 갱신된다.
도 8 및 도 9는 본 발명의 다른 실시예에 의한 미디어 파일의 변경 정보 및 원본 파일의 복구를 위한 정보를 생성하는 방법을 나타내는 도면이다.
도 8을 참조하면, 본 실시예에서도 수정 전 파일을 하나의 메타데이터로 간주하여 수정 후 파일에 저장하지만, 수정전 파일의 위치 정보를 저장하기 위해서 ISO 미디어 파일 포맷에서 정의하는 iloc(item location) 박스(810)와 iinf(item information) 박스(820)를 활용한다. 즉, prsv 박스(800)는 현재 파일에 포함된 모든 이전 버전의 파일에 대한 리스트를 제공하며, iloc 박스(810)와 iinf 박스(820)는 mdat(media data) 박스(830)에 저장된 이전 버전 파일의 데이터에 대한 위치 정보를 제공한다.
prsv 박스(800)의 상세 포맷을 살펴보면, 다음 [표 4]와 같다.
* prsv(800)
aligned(8) class Preservation extends Box('prsv') {
unsigned int (32) next_preservation_ID;
unsigned int (32) preservation_entry_count;
for (i = 1; i < preservation_entry_count; ++i) {
unsigned int (32) preservation_date;
unsigned int (32) preservation_ID;
}
}
- next_preservation_ID : 다음에 사용될 preservation_ID 값으로서 최초값은 1로 설정되며, 동일한 preservion_ID를 사용하는 파일은 존재하지 않음.
- preservation_entry_count : 현재 파일에 포함된 모든 이전 버전 파일의 개수.
- preservation_date : 해당 버전의 미디어 파일이 보존된 날짜.
- preservation_ID : 해당 파일의 ID.
한편, 미디어 파일의 변경 정보 및 원본 파일의 복구를 위한 정보를 생성하는 방법을 살펴보면, 도 9에서 원본 파일(940)로부터 두 번의 수정이 이루어진 경우, 현재 파일(950)의 prsv 박스(930)는 두 개의 이전 버전의 파일에 대한 리스트를 제공하는데, 이전 버전의 파일의 preservation_ID는 "file_2010.12.11.09.11"과 "file_2011.11.22.11.25.34"로 설정되어 있다. 이 때, preservation_ID가 "file_2010.12.11.09.11" 인 이전 버전의 파일을 추출하기 위해서는 우선 iinf 박스(910)를 검색하여 item_name이 "file_2010.12.11.09.11"로 설정된 엔트리를 검색하고 해당 엔트리의 item_ID를 추출한다(①). 이후, 검색된 item_ID (e.g., 2)를 사용하여 iloc 박스(900)에서 해당 item_ID 값을 가지는 엔트리를 검색하여 mdat 박스(920)에서의 오프셋 정보 (e.g., 0x4500)를 추출한다(②). 오프셋 정보는 mdat 박스(920)에서 이전 버전의 파일이 저장된 위치 정보를 나타내므로, mdat 박스(920)의 해당 위치에서 "file_2010.12.11.09.11" 인 이전 버전의 파일을 추출한다(③).
도 10 내지 도 15는 본 발명의 다른 실시예에 의한 미디어 파일의 변경 정보 및 원본 파일의 복구를 위한 정보를 생성하는 방법을 나타내는 도면이다.
본 실시예에서는 미디어 파일의 내부 구조 정보에 상관없이 파일 전체를 하나의 비트 스트림으로 간주하여 수정 전/후 파일에 대해서 비트 스트림 단위의 차이점과 변경 이력을 저장한다.
도 10은 미디어 파일이 수정된 경우, 수정 전/후 델타 부분을 설명하기 위한 도면인데, 여기서, 델타 부분은 수정 전 미디어 파일의 내용 중 수정 후 파일에서 삭제되거나 변경되는 부분을 의미한다.
도 10에서 버전 #2 파일(1010)은 버전 #1 파일(1000)을 수정하여 생성된 파일인데, 두 파일을 살펴보면, 버전 #1 파일(1000)의 (0x00~0x10) 부분(1040), (0x10~0x50) 부분(1045), 0xD0~0xF0 부분(1060)은 버전 #2 파일(1010)에서도 유지되지만, 버전 #1 파일(1000)의 (0x50~0xA0) 부분(1050)은 버전 #2 파일(1010)에서는 삭제되며, 버전 #1 파일(1000)의 (0xA0~0xD0) 부분(1055)은 변경되어 버전 #2 파일(1010)의 (0x70~0xA0) 부분(1070)에 저장된다. 또한, 버전 #2 파일(1010)의 (0x10~0x30) 부분(1065)과 (0xC0~0xE0) 부분은(1075) 버전 #1 파일(1000)에는 존재하지 않는 새롭게 추가된 부분이다.
델타 부분(1020)은 버전 #1 파일(1000)의 내용 중 버전 #2 파일(1010)에서 삭제되거나 변경된 부분을 나타내므로 델타 부분(1020)은 버전 #1 파일(1000)의 (0x50~0xA0) 부분(1050)과 (0xA0~0xD0) 부분(1055)을 각각 저장하기 위해 (0x00~0x50)(1080), (0x50~0x80)(1085)으로 설정된다.
변경 정보(e.g., Change History)(1030)는 현재 미디어 파일에서 수정 전 파일을 복원하기 위한 정보를 포함하는데, 구체적으로 수정 후 파일인 버전 #2 파일(1010)과 델타 부분(1020)을 이용하여 버전 #1 파일(1000)을 복원하기 위해 필요한 정보를 포함한다. 일 예로, 버전 #1 파일(1000)의 (0x00~0x10) 부분(1040)의 복구 방법을 살펴보면, 변경 정보(1030)에서 버전 #1 파일(1000)에서의 위치 및 크기 정보 (e.g., source_offset, size)를 이용하여 버전 #1 파일(1000)의 (0x00~0x10) 부분(1040)에 해당하는 엔트리(①)를 검색하고, 복원에 사용되는 데이터가 저장된 위치(e.g., source_data_location)를 확인한다. 이때, Source_data_location필드가 "0" 인 경우, source_data_offset은 버전 #2 파일(1010) 내에서의 위치 정보를 나타내며, "1" 인 경우, 델타 부분(1020)에서의 위치 정보를 나타낸다. 버전 #1 파일(1000)의 (0x00~0x10) 부분(1040)은 버전 #2 파일(1010)에서도 변경없이 사용되기 때문에 source_data_location 필드는 "0"으로 설정되어 있다. 또한, 버전 #2 파일(1010)에서의 위치가 0x00에서 시작하기 때문에 source_data_offset 역시 (0x00)으로 설정되어 있다. 따라서, 버전 #1 파일(1000)의 (0x00~0x10) 부분(1040)은 버전 #2 파일(1010)의 (0x00~0x10) 부분(1067)을 이용하여 복구될 수 있다. 또한, 버전 #1 파일(1000)의 (0x50~0xA0) 부분(1050)의 경우, 변경정보(1030)에서 source_data_location 값이 "1"로 설정되어 있기 때문에(②) 이 부분을 복원하기 위해서는 델타 부분(1020)에 저장된 데이터를 활용해야 하며, source_data_offset이 (0x00)으로 설정되어 있기 때문에 버전 #1 파일(1000)의 (0x50~0xA0) 부분(1050)은 델타 부분(1020)의 (0x00~0x50) 부분(1080)을 이용하여 복구될 수 있다.
도 11은 미디어 파일에서 델타 부분과 변경 정보를 저장하기 위해 제공되는 박스와 이들 박스간의 관계를 나타내는 도면이다.
도 11를 참조하면, 미디어 파일은 prsv 박스(1110) 및 다수의 박스들(1100, 1130)을 포함하는데, prsv 박스(1110)는 컨테이너 박스로서 pdat 박스(1120)를 포함하며 ISO 기반 미디어 파일의 최상위 레벨에 위치한다. 또한, pdat 박스(1120)는 델타 부분 및 변경 이력을 저장한다.
각 박스(1110,1120)의 상세 포맷을 살펴보면, 다음 [표 5] 및 [표 6]과 같다.
* prsv(1110)
aligned(8) class Preservation extends Box('prsv') {
unsigned int (32) preservation_date;
bit (1) is_dirty;
if (is_dirty == '1')
PreservationData();
}
- preservation_date : 수정 전 파일이 보존된 날짜.
- is_dirty : 최초 원본 파일인 경우 0으로 설정되며, 그렇지 않을 경우 1로 설정됨.
* pdat(1120)
aligned(8) class PreservationData extends Box('pdat') {
bit (8) data_delta[];
unsigned int (4) offset_size;
unsigned int (4) length_size;
unsigned int (32) change_history_entry_count;
for (i = 1; i < change_history_entry_count; ++i) {
unsigned int (offset_size*8) source_base_offset;
unsigned int (length_size*8) source_size;
unsigned int (8) preservation_vault_location;
unsigned int (offset_size*8) offset_within-preservation_valult;
}
}
- data_delta : 수정 전 파일의 내용 중 현재 파일에 포함되지 않는 부분.
- offset_size : {0, 4, 8} 중 하나의 값을 가지며 오프셋 필드 (source_base_offset, offset_within_preservation_vault)의 바이트 단위의 길이 표시.
- length_size : {0, 4, 8} 중 하나의 값을 가지며 source_size의 바이트 단위의 길이 표시.
- change_history_entry_count : 변경 이력 개수 표시.
- source_base_offset : 수정 전 파일 내에서 상대적 위치.
- source_size : offset_within_preservation_valut로부터 복사되는 데이터의 크기.
- preservation_vault_location : 수정 전 파일을 복구하기 위해 필요한 데이터가 저장된 위치. 0인 경우 현재 파일을 나타내며, 1인 경우 pdat 박스의 data_delta를 지칭함
- offset_within_preservation_vault : preservation_vault_location이 지칭하는 장소 내에서의 오프셋.
한편, 도 12 내지 15를 참조하여 미디어 파일의 변경 정보 및 원본 파일의 복구를 위한 정보를 생성하는 방법을 살펴보면, 본 실시예는 도 12에 도시된 바와같이 수정 전 파일의 델타 부분 및 변경 이력 계산하는 단계(1200), prsv 박스를 수정 후 파일에 삽입하는 단계(1210), 변경 이력 수정하는 단계(1220)를 포함한다.
먼저, 수정 전 파일의 델타 부분 및 변경 이력 계산하는 단계(1200)는 prsv 박스를 기준으로 좌측 그룹과 우측 그룹으로 나누어 별도로 계산한다. 구체적으로 도 13을 참조하여 살펴보면, 버전 #1 파일(1301)의 (0x00~0x20) 부분(1300), (0x50~0xA0) 부분(1320), (0xC0~0xF0) 부분(1330)은 버전 #2 파일(1302)에서 그대로 유지되지만, (0x20~0x40) 부분(1310)은 변경 되었으며, (0xA0~0xC0) 부분(1325)은 삭제되었고, 버전 #2 파일(1302)에서 (0x00~0x20) 부분(1340)은 새롭게 추가되었다. 변경 정보(1370)는 상술한 바와같이 버전 #1 파일(1301)의 변경 이력에 대한 정보를 포함하고 있는데, 도번 1345, 1350, 1355, 1360, 1365는 각각 버전 #1 파일(1301)에서 도번 1300, 1310, 1320, 1325, 1330의 변경 이력에 관한 정보를 포함하고 있다. 이때, 버전 #2 파일(1302)에 삽입되는 prsv 박스의 크기는 아직 확정되지 않았기 때문에 버전 #1 파일(1301)과 버전 #2 파일(1302)를 비교함에 있어 버전 #2 파일(1302)에서 prsv 박스가 위치해야 되는 부분을 기준으로 좌측 박스 그룹은 좌측 박스 그룹끼리 비교하고, 우측 박스 그룹은 우측 박스 그룹끼리 비교한다. 즉, 버전 #2 파일(1302)에서 prsv 박스가 위치해야 되는 부분을 기점으로 오른쪽에 존재하는 박스 그룹에 대한 변경 이력을 작성할 때는 도번 1340(0x00~0x20)과 같이 버전 #2 파일(1302)의 처음에서부터의 위치를 사용하는 것이 아니라 오른쪽에 존재하는 박스 그룹의 처음에서부터의 위치를 0으로 설정하여 변경 이력을 계산한다. 또한, 델타 부분(1375)은 버전 #1 파일(1301)에서 삭제되거나, 변경된 부분인 도번 1310, 1325에 관한 정보를 포함하고 있는데, 도번 1380, 1385는 각각 도번 1310, 1325에 각각 대응한다.
한편, 버전 #2 파일(1302)에서는 version #1 파일(1301)의 prsv 박스(1315)가 사용되지 않기 때문에 버전 #1 파일(1301)의 prsv 박스(1315), 즉 버전 #1 파일(1301)의 (0x40~0x50) 부분(1315)은 델타 부분(1375)에 저장되어야 한다. 이와 관련하여 도 14를 참조하여 설명하면, 델타 부분(1375)의 도번 1460은 버전 #1의 prsv 박스(1315)에 관한 정보를 저장하며, 도번 1450은 버전 #1의 prsv 박스(1315)에 관한 변경 정보를 나타내고 있다. 도번 1450에서 preservation_vault_location이 '1'이므로 버전 #1 파일(1301)의 (0x40~0x50) 부분(1315)에 대한 정보는 델타 박스(1375)의 (0x40~0x50) 부분(1460)에 저장된다. pdat(1410)에 버전 #1 파일(1301)의 prsv 박스(1315)에 관한 정보가 추가되면, 버전 #2 파일(1302)에 포함되는 prsv 박스(1110)의 위치 및 크기가 확정되며, prsv 박스(1110)를 버전 #2 파일(1302)에 삽입한다(1210).
prsv 박스(1400)를 버전 #2 파일(1302)에 삽입하면, prsv 박스(1110)의 오른쪽 부분에 위치하는 박스 그룹의 변경 이력에 대해서 버전 #2 파일(1302)의 처음부터 오프셋을 계산하여 변경 이력을 수정한다(1220). 도 15를 참조하면, 버전 #1 파일(1301)의 (0x50~0xA0) 부분(1320)에 대한 복원 정보를 보면, 도 14의 도번 1430에서는 버전 #2 파일(1302)의 pdat 박스(1410)에는 해당 부분을 복원하기 위해 사용되는 데이터의 저장 위치, 즉 offset_within_preservation_vault가 "0x20"으로 설정되어 있지만, 도 15의 도번 1500에서는 버전 #2 파일(1302)의 prsv 박스(1520)의 크기 및 위치가 확정되기 때문에 버전 #2 파일(1302)의 prsv 박스(1520)의 오른쪽에 존재하는 박스 그룹의 처음에서부터의 위치를 "0"으로 설정하여 변경 이력을 작성한 부분을 버전 #2 파일(1302)의 처음부터의 위치를 "0"으로 설정한 상태에서 계산된 값으로 수정한다. 따라서, 도 15에서는 버전 #2 파일(1302)의 padt 박스(1530)에서 도번 1500은 해당 부분을 복원하기 위해 사용되는 데이터의 저장 위치, 즉 offset_within_preservation_vault가 "0x80"으로 변경되어 있다. 이와 같은 이유로 도 14의 도번 1440은 offset_within_preservation_vault가 "0x70"으로 설정되어 있으나, 도 15의 도번 1510에서는 offset_within_preservation_vault가 "0xD0"으로 변경되어 있다. 최종적으로 버전 #1 파일(1301)의 (0x50~0xA0), (0xC0~0xF0)를 복원하고자 하는 경우에는 버전 #2 파일(1302)의 (0x80~0xD0), (0xD0~0x100)을 이용하면 된다.
도 16 내지 도 20b 는 본 발명의 다른 실시예에 의한 미디어 파일의 변경 정보 및 원본 파일의 복구를 위한 정보를 생성하는 방법을 나타내는 도면이다.
본 실시예에서는 수정 전/후의 파일의 델타 부분과 변경 이력 정보를 저장한다는 점은 앞서 설명한 방법과 유사하나, 미디어 파일을 내부 구조에 상관없이 비트 스트림으로 비교하는 것이 아니라 실제 미디어 객체가 저장되는 미디어 데이터 영역과 그 이외의 영역을 구분하여 처리한다. 즉, ISO 미디어 파일 포맷에서 실제 미디어 객체가 저장되는 박스는 mdat 박스이므로, 수정 전 파일의 mdat 박스에 대해서는 델타 부분, 변경 이력 및 mdat 박스가 위치하는 곳의 정보를 저장하고, 그 외의 모든 박스에 대해서는 원본 데이터를 비트 스트림 형태로 수정 후 파일 내부에 메타데이터로 저장한다.
도 16을 참조하면, 본 실시예에서 prsv 박스(1600)는 컨테이너 박스로서 ptbl 박스(1610)와 pdat 박스(1620)를 포함하며, pdat 박스(1620)는 pmch(preservation media data change history box)박스(1630)를 포함한다.
ptbl 박스(1610)는 현재 파일에 포함된 모든 이전 버전의 파일에 대한 리스트를 제공하며, ptbl 박스(1610)에 포함된 각각의 이전 버전의 미디어 파일에 대응하는 pdat 박스(1620)가 존재한다. pdat 박스(1620)는 해당 버전의 미디어 파일에서 mdat 박스를 제외한 모든 박스의 원본 데이터와 함께 mdat 박스의 델타 부분을 저장한다. 이 때 mdat 박스의 델타 부분은 바로 이전 버전의 미디어 파일에 존재하는 mdat 박스와의 차이 부분을 저장한다. 일 예로, 현재 미디어 파일의 버전이 3.0이고, prsv 박스(1600)에는 버전 1.0, 및 2.0 미디어 파일에 대한 정보를 저장하고 있는 경우, 두 개의 pdat 박스(1620)가 존재하며, 어느 하나의 pdat 박스(1620)는 버전 1.0 파일과 버전 2.0 파일의 mdat 박스의 차이 부분을 저장하고, 다른 pdat 박스(1620)는 버전 2.0 파일과 version 3.0 파일의 mdat 박스의 차이점을 저장한다. pmch 박스(1630)는 이전 버전의 파일에서 mdat 박스의 위치 정보와 mdat 박스에 대한 변경 이력에 관한 정보를 포함한다.
각 박스(1600, 1610, 1620, 1630)의 상세 포맷을 살펴보면, 다음 [표 7] 내지 [표 10]과 같다.
* prsv(1600)
aligned(8) class Preservation extends Box('prsv') {
}
* ptbl(1610)
aligned(8) class PreservationTable extends Box('ptbl') {
unsigned int (32) next_preservation_ID;
unsigned int (32) preservation_entry_count;
for (i = 1; i < preservation_entry_count; ++i) {
unsigned int (32) preservation_date;
unsigned int (32) preservation_ID;
}
}
- next_preservation_ID : 다음에 사용될 preservation_ID값으로서 최초값은 1로 설정되며, 동일한 preservion_ID를 사용하는 파일은 존재하지 않음.
- preservation_entry_count : 파일에 포함된 이전 버전 파일의 개수.
- preservation_date : 해당 버전의 미디어 파일이 보존된 날짜.
- preservation_ID : 해당 파일의 ID.
* pdat(1620)
aligned(8) class PreservationData extends Box('pdat') {
unsigned int (32) preservation_ID;
bit (8) metadata_box[];
bit (8) mdat_box_delta[];
PreservationMediaDataChangeHistory();
}
- preservation_ID : 해당 파일의 ID.
- metadata_box : mdat 박스를 제외한 모든 박스의 원본 데이터.
- mdat_box_delta : 이전 버전의 미디어 파일에 포함된 mdat 박스와의 차이 부분.
* pmch(1630)
aligned(8) class PreservationMediaDataChangeHistory extends Box('pmch') {
unsigned int (4) offset_size;
unsigned int (4) length_size;
unsigned int (offset_size*8) mdat_box_location;
unsigned int (length_size*8) mdat_box_size;

unsigned int (32) change_history_entry_count;
for (i = 1; i < change_history_entry_count; ++i) {
unsigned int (offset_size*8) mdat_source_offset;
unsigned int (length_size*8) mdat_source_size;
unsigned int (8) preservation_vault_location;
unsigned int (offset_size*8) offset_within_preservation_vault;
}
}
- offset_size : {0, 4, 8} 중 하나의 값을 가지며 오프셋 필드 (mdat_box_location, mdat_source_offset, offset_within_preservation_vault)의 바이트 단위의 길이 표시.
- length_size : {0, 4, 8} 중 하나의 값을 가지며 사이즈 필드(mdat_box_size, mdat_source_size)의 바이트 단위의 길이 표시.
- mdat_box_location : 이전 버전의 파일에서 mdat 박스의 위치(이전 버전 파일의 처음 위치에서부터의 오프셋)
- mdat_box_size : 이전 버전의 파일에서 mdat 박스의 크기.
- change_history_entry_count : 변경 이력 개수 표시.
- mdat_source_offset : 이전 버전의 파일의 mdat 내에서의 오프셋.
- mdat_source_size : offset_within_preservation_vault로부터 복사되는 데이터의 크기.
- preservation_vault_location : 수정 전 파일의 mdat 박스를 복구하기 위해 필요한 데이터가 저장된 위치. 0인 경우 현재 파일을 나타내며, 1인 경우 pdat 박스의 mdat_delta를 지칭함.
- offset_within_preservation_vault : preservation_vault_location이 지칭하는 장소 내에서의 오프셋.
한편, 도 17 내지 20b 를 참조하여 미디어 파일의 변경 정보 및 원본 파일의 복구를 위한 정보를 생성하는 방법을 살펴보면, 도 17에서 버전 #1 파일(1700)은 원본 미디어 파일을 나타내며, ptbl 박스(1770)의 next_preservation_ID는 최초 값으로 1로 설정되어 있다. 버전 #1 파일(1700)은 ftyp 박스(1710), moov 박스(1720), mdat 박스(1730), meta 박스(1740) 및 meco 박스(1750)를 포함하며, mdat 박스(1730)는 버전 #1 파일(1700)의 (0x10~0x55) 부분에 위치한다.
도 18은 버전 #1 파일(1700) 및 버전 #1 파일(1700)을 수정한 버전 #2 파일(1800)을 나타내는데, 버전 #2 파일(1800)은 moov 박스(1810), mdat 박스(1820) 및 meta 박스(1830)가 변경되었으며, ftyp 박스(1710)와 meco 박스(1750)는 버전 #1 파일(1700)과 동일하다. 버전 #2 파일(1800)의 mdat 박스(1820)의 수정 내용을 살펴보면, 버전 #1 파일(1700)의 (0x35~0x45) 부분(1845)은 삭제되고, 버전 #1 파일(1700)의 (0x45~0x55) 부분(1850)이 갱신되었으며, 버전 #2 파일(1800)의 mdat 박스의 (0x35~0x50) 부분(1855)과 (0x80~0xA0) 부분(1865)은 새롭게 추가된 부분이다. 버전 #1 파일(1700)에서 변경된 사항은 버전 #2 파일(1800)의 델타 박스(1894)에 저장되는데, 일 예로 도번 1885는 버전 #1 파일(1700)의 (0x35~0x45) 부분(1845)에 관한 정보를 저장하며, 도번 1890은 버전 #1 파일(1700)의 (0x45~0x55) 부분(1850)에 관한 정보를 저장한다.
한편, 버전 #2 파일(1800)의 변경 이력 정보 및 버전 #1 파일(1700)의 복원에 필요한 실제 데이터들은 pdat 박스(1875)와 pmch 박스(1880)에 저장된다. 도 18에서 pdat 박스(1875)에서 metadata_box는 버전 #1 파일의 mdat 박스를 제외한 모든 박스(1892)를 원본 그대로 저장하며, mdata_box_delta 필드 및 pmch 박스(1880)에는 버전 #1 파일(1700)의 mdat 박스를 복원하기 위해 필요한 델타 부분(1894) 및 변경 이력 정보를 각각 저장한다. 또한, pmch 박스(1880)에는 버전 #1 파일(1700)에서 mdat 박스의 크기 및 위치 정보도 저장한다.
버전 #2 파일(1800)을 수정하는 경우, 도 19 및 도 20b 를 참조하여 살펴보면, 버전 #3 파일(1900)은 버전 #2 파일(1800)에서 moov 박스(1910), mdat 박스(1915) 및 meta 박스(1920)가 변경되었으며, ftyp 박스(1710)와 meco 박스(1750)는 버전 #2 파일(1800)과 동일하다. 버전 #2 파일(1800)의 mdat 박스(1820)의 수정 내용을 살펴보면, 버전 #2 파일(1800)의 (0x30~0x50) 부분(1930)과 (0x85~0xA0) 부분(1945)은 삭제되었으며, (0x50~0x70) 부분(1935)과 (0x70~0x85) 부분(1940)은 각각 버전 #3 파일(1900)의 (0x40~0x60) 부분(1950)과 (0xA0~0xB5) 부분(1960)에 재사용되었다. 또한, 버전 #3 파일(1900)의 (0x60~0xA0) 부분(1955)은 새롭게 추가되었다. 버전 #2 파일(1800)에서 변경된 사항은 버전 #3 파일(1900)의 델타 박스(2060)에 저장되는데, 일 예로 도 20에서 도번 2030는 버전 #2 파일(1800)의 (0x30~0x50) 부분(1930)에 관한 정보를 저장하며, 도번 2040은 버전 #2 파일(1800)의 (0x85~0xA0) 부분(1945)에 관한 정보를 저장한다.
버전 #3 파일(1900)의 변경 정보를 살펴보면, 도 20b에서 버전 #2 파일(1800)을 복원하기 위해 필요한 정보는 pdat 박스(2010)에 저장되며, 새롭게 추가되는 pdat 박스(2010)에서 사용되는 Preservation_ID는 "2"로 설정된다. 또한, Preservation_ID가 "2" 인 pdat 박스(2010)에는 버전 #2 파일(1800)의 mdat 박스(1820)를 제외한 모든 박스(2050)는 원본 그대로 pdat 박스(2010)내의 metadata_box에 저장되며, mdata_box_delta 필드 및 pmch 박스(2020)에는 버전 #2 파일(1800)의 mdat 박스를 복원하기 위해 필요한 델타 부분(2060) 및 변경 이력 정보를 각각 저장한다. 또한, pmch 박스(2020)에는 버전 #2 파일(1800)에서 mdat 박스(1820)의 크기 및 위치 정보도 저장한다. 도 20a는 버전 #3 파일(1900)에 포함되어 있는 버전 #2 파일(1800)의 변경 이력 정보 및 버전 #1 파일(1700)의 복원에 필요한 실제 데이터들을 나타내고 있다.
도 21은 본 발명의 일 실시예에 의한 미디어 파일 관리 장치(500)의 동작을 나타내는 도면이다.
도 21을 참조하면, 입력부(510)에 제1 미디어 파일이 입력되면(2100) 제어부(520)는 제1 미디어 파일의 수정 여부에 따라 제1 미디어 파일의 변경 정보 및 제1 미디어 파일의 복구 정보 중 적어도 하나를 생성하고(2110), 제1 미디어 파일을 이용하여 제2 미디어 파일을 생성한다(2120). 이때, 제2 미디어 파일은 생성된 변경 정보 및 복구 정보 중 적어도 하나를 포함할 수 있다. 제2 미디어 파일을 이용하여 제3 미디어 파일을 생성하는 경우(2130의 예), 제어부(520)는 상기 제1 미디어 파일 또는 상기 제2 미디어 파일의 수정 여부에 따라 수정되는 미디어 파일에 대한 변경 정보 및 복구 정보 중 적어도 하나를 생성하며(2140), 제3 미디어 파일은 생성된 변경 정보 및 복구 정보 중 적어도 하나를 포함할 수 있다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다.
그러므로 본 발명의 범위는 설명된 실시 예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
500: 미디어 파일 관리 장치 510: 입력부
520: 제어부 530: 출력부

Claims (20)

  1. 미디어 파일 관리 장치에 있어서,
    제1 미디어 파일을 입력받는 입력부와;
    제2 미디어 파일을 출력하는 출력부와;
    상기 제1 미디어 파일을 기초로 상기 제2 미디어 파일을 생성하며, 상기 제1 미디어 파일의 수정 여부에 따라 상기 제1 미디어 파일의 변경 정보 및 상기 제1 미디어 파일의 복구 정보 중 적어도 하나를 생성하는 제어부를 포함하는 미디어 파일 관리 장치.
  2. 제1항에 있어서,
    상기 제어부는 상기 제2 미디어 파일을 기초로 제3 미디어 파일을 생성하는 경우, 상기 제1 미디어 파일 또는 상기 제2 미디어 파일의 수정 여부에 따라 수정되는 미디어 파일에 대한 변경 정보 및 복구 정보 중 적어도 하나를 생성하는 것을 특징으로 하는 미디어 파일 관리 장치.
  3. 제1항에 있어서,
    상기 제어부는 상기 제1 미디어 파일과 상기 제2 미디어 파일을 상호 비교하여 상기 변경 정보 및 상기 복구 정보 중 적어도 하나를 생성하는 것을 특징으로 하는 미디어 파일 관리 장치.
  4. 제1항에 있어서,
    상기 변경 정보는 상기 제1 미디어 파일의 보존 날짜, 상기 제2 미디어 파일 내에서의 상기 복구 정보의 위치, 상기 제1 미디어 파일이 수정 파일인 경우 수정 회수에 대응하는 이전 파일의 개수 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 미디어 파일 관리 장치.
  5. 제1항에 있어서,
    상기 변경 정보는 상기 복구 정보 및 상기 제2 미디어 파일을 이용하여 상기 제1 미디어 파일을 복구할 수 있는 정보를 포함하는 것을 특징으로 하는 미디어 파일 관리 장치.
  6. 제1항에 있어서,
    상기 변경 정보는 상기 제1 미디어 파일의 변경 이력 개수, 상기 제1 미디어 파일에 포함된 내용의 상기 제1 미디어 파일에서의 위치, 상기 제1 미디어 파일을 복구하기 위해 상기 복구 정보 및 상기 제2 미디어 파일 중 어느 하나로부터 복사되는 데이터의 크기 및 위치 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 미디어 파일 관리 장치.
  7. 제1항에 있어서,
    상기 복구 정보는 상기 제1 미디어 파일에 포함된 모든 데이터를 포함하는 것을 특징으로 하는 미디어 파일 관리 장치.
  8. 제1항에 있어서,
    상기 복구 정보는 상기 제1 미디어 파일에 포함된 내용 중 상기 제2 미디어 파일에서 삭제되거나 변경된 내용을 포함하는 것을 특징으로 하는 미디어 파일 관리 장치.
  9. 제1항에 있어서,
    상기 제어부는 상기 제1 미디어 파일에 포함된 내용 중 컨텐츠의 최소 단위인 미디어 객체에 대해서만 상기 변경 정보 및 상기 복구 정보 중 적어도 하나를 생성하는 것을 특징으로 하는 미디어 파일 관리 장치.
  10. 제9항에 있어서,
    상기 제어부는 상기 제1 미디어 파일에 포함된 내용 중 상기 미디어 객체를 제외한 내용에 대해서는 상기 제1 미디어 파일에 포함된 내용 그대로 상기 제2 미디어 파일에 포함되도록 하는 것을 특징으로 하는 미디어 파일 관리 장치.
  11. 미디어 파일을 관리하는 방법에 있어서,
    제1 미디어 파일을 입력받는 단계와;
    상기 제1 미디어 파일의 수정 여부에 따라 상기 제1 미디어 파일의 변경 정보 및 상기 제1 미디어 파일의 복구 정보 중 적어도 하나를 생성하는 단계와;
    상기 제1 미디어 파일을 기초로 상기 변경 정보 및 상기 복구 정보 중 적어도 하나를 포함하는 제2 미디어 파일을 생성하는 단계를 포함하는 미디어 파일의 관리 방법.
  12. 제11항에 있어서,
    상기 제2 미디어 파일을 기초로 제3 미디어 파일을 생성하는 단계를 더 포함하며,
    상기 제3 미디어 파일은 상기 제1 미디어 파일 또는 상기 제2 미디어 파일의 수정 여부에 따라 수정되는 미디어 파일에 대한 변경 정보 및 복구 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 미디어 파일의 관리 방법.
  13. 제11항에 있어서,
    상기 변경 정보 및 상기 복구 정보 중 적어도 하나를 생성하는 단계는 상기 제1 미디어 파일과 상기 제2 미디어 파일을 상호 비교하여 상기 변경 정보 및 상기 복구 정보 중 적어도 하나를 생성하는 단계를 포함하는 것을 특징으로 하는 미디어 파일의 관리 방법.
  14. 제11항에 있어서,
    상기 변경 정보는 상기 제1 미디어 파일의 보존 날짜, 상기 제2 미디어 파일 내에서의 상기 복구 정보의 위치, 상기 제1 미디어 파일이 수정 파일인 경우 수정 회수에 대응하는 이전 파일의 개수 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 미디어 파일의 관리 방법.
  15. 제11항에 있어서,
    상기 변경 정보는 상기 복구 정보 및 상기 제2 미디어 파일을 이용하여 상기 제1 미디어 파일을 복구할 수 있는 정보를 포함하는 것을 특징으로 하는 미디어 파일의 관리 방법.
  16. 제11항에 있어서,
    상기 변경 정보는 상기 제1 미디어 파일의 변경 이력 개수, 상기 제1 미디어 파일에 포함된 내용의 상기 제1 미디어 파일에서의 위치, 상기 제1 미디어 파일을 복구하기 위해 상기 복구 정보 및 상기 제2 미디어 파일 중 어느 하나로부터 복사되는 데이터의 크기 및 위치 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 미디어 파일의 관리 방법.
  17. 제11항에 있어서,
    상기 복구 정보는 상기 제1 미디어 파일에 포함된 모든 데이터를 포함하는 것을 특징으로 하는 미디어 파일의 관리 방법.
  18. 제11항에 있어서,
    상기 복구 정보는 상기 제1 미디어 파일에 포함된 내용 중 상기 제2 미디어 파일에서 삭제되거나 변경된 내용을 포함하는 것을 특징으로 하는 미디어 파일의 관리 방법.
  19. 제11항에 있어서,
    상기 변경 정보 및 상기 복구 정보 중 적어도 하나를 생성하는 단계는 상기 제1 미디어 파일에 포함된 내용 중 컨텐츠의 최소 단위인 미디어 객체에 대해서만 상기 변경 정보 및 상기 복구 정보 중 적어도 하나를 생성하는 것을 특징으로 하는 미디어 파일의 관리 방법.
  20. 제19항에 있어서,
    상기 제2 미디어 파일을 생성하는 단계는 상기 제1 미디어 파일에 포함된 내용 중 상기 미디어 객체를 제외한 내용에 대해서는 상기 제1 미디어 파일에 포함된 내용 그대로 상기 제2 미디어 파일에 포함하는 것을 특징으로 하는 미디어 파일의 관리 방법.
KR1020120010518A 2012-02-01 2012-02-01 미디어 파일을 관리하기 위한 장치 및 그 방법 KR20130089114A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120010518A KR20130089114A (ko) 2012-02-01 2012-02-01 미디어 파일을 관리하기 위한 장치 및 그 방법
PCT/KR2013/000809 WO2013115584A1 (ko) 2012-02-01 2013-01-31 미디어 파일 관리 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120010518A KR20130089114A (ko) 2012-02-01 2012-02-01 미디어 파일을 관리하기 위한 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR20130089114A true KR20130089114A (ko) 2013-08-09

Family

ID=48905552

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120010518A KR20130089114A (ko) 2012-02-01 2012-02-01 미디어 파일을 관리하기 위한 장치 및 그 방법

Country Status (2)

Country Link
KR (1) KR20130089114A (ko)
WO (1) WO2013115584A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3342039B2 (ja) * 1992-06-12 2002-11-05 富士通株式会社 ファイルを管理する処理装置
US7058667B2 (en) * 2000-12-27 2006-06-06 Microsoft Corporation Method and system for creating and maintaining version-specific properties in a file
KR101295377B1 (ko) * 2007-03-07 2013-08-08 엘지전자 주식회사 파일 포맷을 구성하는 방법과 상기 파일 포맷을 가지는파일을 포함한 방송 신호를 처리하는 장치 및 방법
KR20090017170A (ko) * 2007-08-14 2009-02-18 삼성전자주식회사 미디어 파일 관리 방법 및 장치
JP2010231656A (ja) * 2009-03-27 2010-10-14 Nippon Telegraph & Telephone West Corp ファイル管理装置

Also Published As

Publication number Publication date
WO2013115584A1 (ko) 2013-08-08

Similar Documents

Publication Publication Date Title
CN105359507B (zh) 再现装置、再现方法和记录介质
CA2562867C (en) Reproducing apparatus, reproducing method, program, program storage medium, data delivery system, data structure, and manufacturing method of recording medium
US9792390B2 (en) Metadata/content re-association system and method
US10382835B2 (en) Apparatus and method for verifying the integrity of video file
US9788084B2 (en) Content-object synchronization and authoring of dynamic metadata
CN107979621A (zh) 一种视频文件的存储、定位播放方法及装置
US20200192866A1 (en) Connecting storyboard system to editorial system
ZA200608777B (en) Reproduction device and reproduction method, program and program storage medium, data distribution system, data structure, and method for manufacturing recording medium
CN110740391B (zh) 一种修复mp4损坏文件的方法
US8401370B2 (en) Application tracks in audio/video containers
CN114007112A (zh) 一种针对MP4视频文件中mdat box数据错误的修复方法
KR101681835B1 (ko) 실감 효과 미디어 데이터 파일 구성 방법 및 장치, 실감 효과 미디어 데이터 파일 재생 방법 및 장치 및 실감 효과 미디어 데이터 파일 구조
US20150269967A1 (en) Fast and smart video trimming at frame accuracy on generic platform
CA2528967C (en) Recording apparatus, information recording medium and recording method
KR20130089114A (ko) 미디어 파일을 관리하기 위한 장치 및 그 방법
KR20040033766A (ko) 인터넷상에서 비디오 메타 데이터를 이용하여 비디오요약과 동영상 부가정보를 서비스하는 방법
KR101995270B1 (ko) 비디오 데이터를 재생하는 방법 및 장치
CN103137162A (zh) 信息处理器、信息处理方法和程序
CN104869338A (zh) 一种音视频文件转存及检索方法
CN117544738B (zh) Rsv文件的播放修复方法、设备及存储介质
WO2001076241A2 (en) Video processing and/or recording
WO2015056842A1 (ko) 실감 효과 미디어 데이터 파일 구성 방법 및 장치, 실감 효과 미디어 데이터 파일 재생 방법 및 장치 및 실감 효과 미디어 데이터 파일 구조
KR101732803B1 (ko) 실감 효과 미디어 데이터 파일 구성 방법 및 장치, 실감 효과 미디어 데이터 파일 재생 방법 및 그 장치
JP2004064155A (ja) 映像データ管理方法、映像データ管理プログラムおよび映像データ管理システム
CN103959385A (zh) 信息处理设备、信息处理方法及程序

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20120201

PG1501 Laying open of application
PC1203 Withdrawal of no request for examination
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid