KR100882470B1 - 미디어 파일 편집 방법 - Google Patents
미디어 파일 편집 방법 Download PDFInfo
- Publication number
- KR100882470B1 KR100882470B1 KR1020070114721A KR20070114721A KR100882470B1 KR 100882470 B1 KR100882470 B1 KR 100882470B1 KR 1020070114721 A KR1020070114721 A KR 1020070114721A KR 20070114721 A KR20070114721 A KR 20070114721A KR 100882470 B1 KR100882470 B1 KR 100882470B1
- Authority
- KR
- South Korea
- Prior art keywords
- media file
- editing
- file
- edit
- inode
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2508—Magnetic discs
- G11B2220/2516—Hard disks
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
본 발명은 미디어 파일의 편집방법과 삭제 방법에 관한 것이다. 상기 방법은 원본 미디어 파일의 데이터 블록 정보를 재배치하는 방법과 원본 미디어 파일의 데이터 정보를 공유하기 위한 편집파일관리자, 바이트맵, 바이트맵 포인터블록을 사용하는 것을 특징으로 한다.
미디어 파일 편집 방법은, 원본 미디어 파일을 캐싱하는 단계; 편집 미디어 파일을 생성하는 단계; 편집파일관리자, 바이트맵, 바이트맵 포인터블록을 설정하는 단계; 아이노드 블록 포인터를 재설정하는 단계; 편집파일관리자, 바이트맵, 바이트맵 포인터블록, 아이노드를 재설정하는 단계를 구비하여 편집하게 된다.
미디어 파일 삭제 방법은, 삭제할 미디어 파일의 아이노드를 캐싱하는 단계; 편집파일관리자, 바이트맵, 바이트맵 포인터블록을 재설정하는 단계; 삭제할 미디어 파일의 아이노드를 삭제하는 단계를 구비하여 삭제하게 된다.
본 발명의 방법에 의할 때 편집 및 삭제에 걸리는 시간이 단축되고 공유되는 파일을 쉽게 관리할 수 있다. 따라서, 고화질 동영상과 같은 대용량 멀티 미디어 파일을 고속으로 편집 및 관리할 수 있다.
미디어 파일, 아이노드, 데이터 블록, 편집파일관리자, 바이트맵
Description
본 발명은 미디어 파일의 편집 방법 및 삭제 방법에 관한 것으로, 상세하게는 리눅스 환경에서 대용량 멀티 미디어 파일을 고속으로 편집 및 삭제할 수 있는 방법에 관한 것이다.
디지털 기술의 발전과 디지털 캠코더와 같은 장비의 대중화로 인하여, 오늘날 누구나 쉽게 영상물을 촬영하고 디지털화 하여 저장할 수 있다. 특히 이런 장비들은 고화질의 미디어 컨텐츠를 제공하는데, 이는 대용량을 갖는 파일의 형태로 저장된다. 영상 촬영 후 이런 대용량 파일에서, 필요한 부분만을 편집하여 저장하는 것이 미디어 컨텐츠를 만드는 일반적인 과정이라고 볼 수 있다. 또한, 영상 촬영을 하지 않아도 원본 미디어 컨텐츠에서 필요한 부분만을 편집, 저장하여 디지털 미디어 컨텐츠를 만들 수도 있다. 따라서, 개인적으로 또는 방송이나 홍보를 위한 사업적으로, 대용량 미디어 파일 편집기술은 디지털 컨텐츠의 보관 및 유통과 관련 필수적이라고 할 수 있다.
특히, 영상 화질과 관련해서 같은 내용을 촬영했더라도 고화질일수록 미디어 파일의 용량은 커지게 된다. 최근 Full HD(high definition)급 고화질의 미디어 파일의 시청이 가능한 TV 및 미디어 플레이어가 보급되면서, Full HD급의 대용량 컨텐츠가 점차 활발히 유통되고 있다. 미디어 파일의 용량이 커질수록 이를 편집하는데 더 많은 시간이 걸린다. 따라서, 대용량 미디어 파일의 효과적인 편집기술이 필요하게 된다.
도 1은 종래의 기술에 따른 미디어 파일의 편집방법을 순차적으로 설명하는 흐름도이다. 도 1을 참조하면 원본 미디어 파일의 편집하고자 하는 시작 지점과 종료 지점을 설정한다(단계 100). 설정 후에, 시작 지점부터 종료 지점까지 해당되는 파일을 복사한다(단계 110). 이렇게 복사한 파일을 원본 미디어 파일과 다른 영역에 저장(단계 120) 후에, 원본 미디어 파일을 삭제한다(단계 130).
상기와 같은 종래의 기술에 따른 편집방법은, 먼저 편집을 위한 미디어 파일을 생성해야 한다. 그 후, 원본 미디어 파일의 편집하고자 하는 부분을 그대로 복사하여 이를 저장하게 된다. 파일을 복사하는 것은 데이터를 읽고 쓰는 과정을 수반하게 된다. 그런데 이러한 편집 미디어 파일의 생성과 복사를 위해 데이터를 읽고 쓰는 과정은 상당한 시간이 요구되며, 편집 미디어 파일의 저장이 완료된 후 원본 미디어 파일을 삭제하는데 이러한 삭제과정 역시 상당한 시간이 소요되는 문제가 있다.
또한, 상기의 종래 기술은 원본 미디어 파일의 편집하고자 하는 부분만을 복사하고 원본 미디어 파일을 삭제하는 것으로, 상기 편집이 이루어지면 편집 미디어 파일만 존재한다. 따라서 원본 미디어 파일의 다른 부분을 편집하고자 한다면, 다 시 원본 미디어 파일을 불러온 후 상기 종래 기술에 의한 방법의 편집을 다시 수행해야 한다. 이는 동일한 원본 미디어 파일을 여러 번 불러오는 번거로운 과정을 수반하는 문제가 있다. 그리고, 여러 번 편집과정이 이루어진 후 개별 편집 미디어 파일의 데이터를 저장할 별도의 용량을 디스크내에서 확보해야 하는 문제가 있다.
전술한 문제점을 해결하기 위한 본 발명의 목적은 대용량 편집 미디어 파일의 데이터 저장을 위한 별도의 저장공간 없이 고속으로 편집 및 삭제할 수 있는 방법을 제공하는 것이다.
전술한 기술적 과제를 달성하기 위한 본 발명의 특징은 미디어 파일을 고속으로 편집하는 방법에 관한 것으로서, 상기 미디어 파일 편집 방법은,
(a) 원본 미디어 파일 및 원본 미디어 파일의 아이노드를 캐싱하고, 편집하고자 하는 편집구간을 외부로부터 입력받는 단계,
(b) 편집 미디어 파일 생성 및 편집 미디어 파일의 아이노드를 생성하는 단계,
(c) 원본 미디어 파일 및 편집 미디어 파일의 관리를 위한 편집파일관리자가 이미 생성되었는지 확인하는 단계,
(d) 상기 (c) 단계에서 편집파일관리자가 생성되지 않은 경우, 편집파일관리자를 생성하고 설정한 후 미디어 파일을 편집하는 단계를 구비하고, 상기 (d) 의 미디어 파일 편집 단계는,
(d1) 상기 원본 미디어 파일을 참조하여, 원본 미디어 파일의 데이터 블록 공유 회수 확인을 위한 바이트맵 및 바이트맵 포인터블록을 생성하고 설정하는 단계,
(d2) 상기 편집구간을 참조하여, 상기 편집 미디어 파일의 아이노드 블록 포인터를 재설정하는 단계,
(d3) 상기 편집 미디어 파일을 참조하여 상기 바이트맵을 재설정하는 단계,
(d4) 상기 편집파일관리자, 바이트맵, 바이트맵 포인터블록을 저장하는 단계,
(d5) 상기 원본 미디어 파일 및 편집 미디어 파일의 아이노드를 재설정하고 저장하는 단계,
를 구비하여 미디어 파일을 편집하게 된다.
본 발명의 다른 특징은, 상기 편집파일관리자등을 이용하여 원본 미디어 파일의 데이터 정보를 공유하는 미디어 파일을 삭제하는 단계에 관한 것으로서, 상기 미디어 파일을 삭제하는 단계는,
(a) 삭제할 미디어 파일의 아이노드를 캐싱하는 단계,
(b) 원본 미디어 파일 및 편집 미디어 파일의 관리를 위한 편집파일관리자에 기록된 삭제할 미디어 파일을 참조하여, 원본 미디어 파일의 데이터 블록 공유 회수 확인을 위한 바이트맵을 재설정하는 단계,
(c) 상기 편집파일관리자의 새이름으로 저장된 회수 값 '1' 감소하고 아이노드 저장영역에서 해당 아이노드를 삭제하고, 편집파일관리자를 재설정하는 단계,
(d) 상기 편집파일관리자의 새이름으로 저장된 회수 값이 '0' 인지 확인하는 단계,
(e) 상기 (d) 단계에서 상기 편집파일관리자의 새이름으로 저장된 회수 값이 '0' 이 아닌 경우, 상기 편집파일관리자, 바이트맵, 바이트맵 포인터블록을 저장하고, 삭제할 미디어 파일의 아이노드를 삭제하는 단계,
를 구비하여 미디어 파일을 삭제하게 된다.
본 발명에 따른 미디어 파일 편집 및 삭제 방법은 원본 미디어 파일의 데이터 블록 정보를 재설정하는 방법과 원본 미디어 파일의 공유되는 데이터 블록 정보를 관리하는 편집파일관리자 등을 사용함으로써 편집 및 삭제에 걸리는 시간이 단축되고 공유되는 파일을 쉽게 관리할 수 있는 효과를 얻을 수 있다.
또한, 본 발명에 따른 편집 방법은 편집 미디어 파일의 데이터를 저장할 별도의 저장공간이 필요 없으므로, 디스크의 용량을 효과적으로 확보할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 따른 미디어 파일의 편집 방법 및 삭제 방법을 구체적으로 설명한다. 특히 대용량 미디어 파일의 편집 및 삭제와 관련해서, 고화질의 동영상 파일이 여기에 해당된다고 볼 것이다.
본 발명에 있어 미디어 파일이란, 컴퓨터나 각종 미디어 플레이어로 동작시킬 수 있는 사진과 같은 이미지 파일, 음악과 같은 오디오 파일, 비디오와 같은 동영상 파일 등을 의미한다. 편집 미디어 파일이란, 원본 미디어 파일로부터 편집되어 새로이 저장되는 파일을 의미한다.
본 발명은 원본 미디어 파일로부터 새로운 편집 미디어 파일을 생성하는 편집 방법과 미디어 파일을 삭제하는 방법에 관한 것이다. 또한, 원본 미디어 파일을 여러번 편집 및 삭제하는 경우에 원본 미디어 파일의 데이터 정보를 공유하고, 편집 미디어 파일의 정보를 별도로 기록 저장하는 편집파일관리자 등을 이용하는 방법에 관한 것이다. 이하, 미디어 파일 편집 방법을 설명한 후에 삭제 방법을 설명한다.
도 2는 본 발명의 바람직한 실시예에 따른 미디어 파일의 편집 방법을 설명하는 흐름도이다. 먼저 원본 미디어 파일 및 원본 미디어 파일의 아이노드를 캐싱 (caching)하고, 편집자로부터 원본 미디어 파일의 편집하고자 하는 편집구간을 외부로부터 입력받는다(단계 200). 캐싱(caching)이란, 명령어 또는 데이터를 캐시 기억장치 또는 디스크 캐시에 일시적으로 저장하는 것을 의미한다. 캐시(cache)는 컴퓨터의 성능을 향상시키기 위한 소형 고속기억장치 또는 주기억장치의 일부를 의미한다. 캐싱은 데이터 등을 읽고 쓰는데 있어서 처리 속도를 중앙처리장치(CPU)의 속도에 가깝게 빠르게 함으로써 데이터 등의 처리 속도를 향상시킬 수 있다.
다음, 편집 미디어 파일을 생성하고 편집 미디어 파일의 아이노드를 생성한다(단계 210). 도 3은 리눅스 환경에서 사용되는 아이노드의 구조를 도시한 그림이다. 리눅스 환경의 파일에 있어서, 아이노드는 파일의 모드상태, 사용자 정보, 용량, 데이터 블록의 정보 등과 같은 파일에 대한 모든 정보를 담고 있는 자료 구조를 말한다. 모든 파일에는 그 파일의 정보를 담고 있는 아이노드가 존재하게 된다.
다음, 파일의 관리를 위한 편집파일관리자가 이미 생성되었는지 확인한다(단계 220). 편집파일관리자에 대해서는 후술하는 단계 230 에서 설명한다. 상기 편집파일관리자가 이미 생성되었는지 확인할 수 있는 방법은 상기 아이노드 구조체의 예약된 필드(reserved field)를 확인하는 것이다. 도 3을 참조하면, 아이노드 구조체가 있고 예약된 필드인 l_i_reserved2[0] 필드와 l_i_reserved2[1] 필드 등이 도시되어 있다. 이러한 예약된 필드는 리눅스 환경에서, 파일의 성격에 따라 특정 운영체제의 부가적인 정보를 기록할 필요가 있는 경우, 이를 기록하기 위하여 존재하게 된다. 만약 l_i_reserved2[0] 필드에 편집파일관리자 블록의 주소가 기록되어 있다면, 본 발명의 방법에 의한 편집파일관리자가 이미 생성된 것으로 볼 수 있다.
만약, 상기 단계 220 에서 편집파일관리자가 생성되지 않았다면, 본 발명의 편집 및 삭제 방법을 위한 편집파일관리자를 생성하고 설정한다(단계 230). 이는 디스크내 임의의 영역에, 4K byte(4096 byte)인 하나의 데이터 블록으로 저장된다. 도 4는 본 발명의 방법을 위한 상기 편집파일관리자의 구조를 도시한 그림이다. 도 4를 참조하면, 상기 편집파일관리자에는 새이름으로 저장된 회수, 그룹(group)수, 아이노드 번호 저장영역, 원본 미디어 파일의 데이터블록이 속한 그룹 번호 저장영역 등을 포함하는 정보가 기록된다. 4 byte 크기 단위로 정보가 기록되며, 특히 아이노드 번호 저장영역과 원본 미디어 파일의 데이터 블록이 속한 그룹 번호 저장영역은 512 byte 가 할당되어 있으므로, 상기 두 영역에는 128 개의 아이노드 번호와 그룹 번호가 기록될 수 있다.
본 발명과 관련하여 데이터의 저장과 관련된 데이터 블록과 그룹(group)에 대해 설명한다. 리눅스 환경에서 파일의 데이터 저장방법으로 데이터 블록 구조를 사용한다. 개별 데이터 블록의 크기는 일반적으로 4K byte 이다. 그리고 리눅스 환경에서, 특히 Ext2 파일 시스템에서는 상기 데이터 블록들의 집합인 그룹 단위로 데이터를 저장한다. 개별 그룹의 크기는 일반적으로 128M byte(134,217,728 byte)이다. 따라서, 개별 그룹은 32,768 개의 데이터 블록들로 구성되어 있다.
상기 편집파일관리자에는 원본 미디어 파일의 데이터 정보가 그룹단위로 저장되어 있고, 원본 미디어 파일의 데이터를 공유한 파일의 정보가 기록, 저장된다. 이는 원본 미디어 파일을 여러 번 편집 및 삭제하는 경우에, 원본 미디어 파일의 데이터 정보를 공유하고 이러한 데이터 정보를 공유하는 편집 미디어 파일의 관리를 별도로 하기 위함이다. 도 4를 참조하면 편집파일관리자의 첫 번째 영역에는 새이름으로 저장된 회수를 기록한다. 원본 미디어 파일의 데이터 정보를 공유하는 새로운 편집 미디어 파일을 만드는 경우마다 회수가 '1'씩 증가하며, 편집 미디어 파일을 삭제하는 경우에는 '1'씩 감소한다. 편집파일관리자의 구조상 128개의 아이노드 번호를 저장할 수 있으므로 상기 새이름으로 저장할 수 있는 회수는 최대 128 까지 기록할 수 있다. 상기 편집 파일관리자의 두 번째 영역에는 원본 미디어 파일의 데이터를 그룹 단위로 나누고 그 그룹의 수를 기록한다. 그룹을 나누고 각 그룹에 그룹 번호를 설정하는데, 그룹 번호가 중복되지 않도록 설정한다. 편집파일관리자의 구조상 128개의 그룹번호를 저장할 수 있고, 각 그룹의 크기는 128M byte 이므로 원본 미디어 파일의 크기가 16G byte 이하인 경우에만 상기 편집파일관리자를 이용한 방법을 사용할 수 있다.
상기와 같이 편집파일관리자를 생성한 후에, 편집파일관리자의 각 해당영역에 대응되는 값을 설정한다. 만약 원본 미디어 파일의 아이노드 번호가 14 이고, "1,2,5,11,32" 의 그룹 번호를 갖는 5개의 그룹이 있고, 첫 번째로 편집하게 되는 편집 미디어 파일의 아이노드 번호가 50 이라고 가정한다. 이러한 경우, 편집파일관리자의 새이름으로 저장한 회수 값에는 '1' 을 기록하고, 그룹수 에는 '5'를 기록하고, 아이노드 번호 저장영역에는 원본 및 편집 미디어 파일의 아이노드 번호인 "14,50" 을 기록하고, 그룹번호 저장영역에는 "1,2,5,11,32" 를 기록한다. 도 5는 상기 경우의 결과를 예시적으로 도시한 것이다.
상기 편집파일관리자를 생성하고 설정한 후에, 상기 원본 미디어 파일을 참조하여 원본 미디어 파일의 데이터 블록 공유 회수 확인을 위한 바이트맵 및 바이트맵 포인터블록을 생성하고 설정한다(단계 240). 리눅스 환경에서는 파일의 데이터 저장방법으로 데이터 블록 구조를 사용하고, 상기 데이터 블록의 사용 여부를 별도로 표시하는데, 이를 블록비트맵(block bitmap) 이라고 한다. 이는 해당 블록의 사용 여부를 '0' 또는 '1' 로 표시하는 하나의 비트(bit)로, 사용 유무만 표시할 뿐이다. 본 발명에서는 원본 미디어 파일의 정보가 여러 번 공유되어 편집 미디어 파일을 만들 수 있으므로, 원본 미디어 파일의 데이터 정보가 얼마나 공유되었는지 관리를 위한 별도의 표시방법으로 바이트맵(Bytemap)을 사용한다. 상기 바이트맵에는 원본 미디어 파일의 데이터 블록 공유 회수를 기록한다. 비트단위가 아닌 바이트단위 이므로 바이트맵의 하나의 영역은 최대 '256' 까지 기록할 수 있다.
하나의 그룹은 128M byte 이고, 이는 32,768 개의 4K byte 데이터 블록으로 구성되어 있다. 따라서 그룹의 32,768 개의 데이터 블록의 사용 여부를 비트맵으로 나타내기 위해서는 32,768 bit가 필요하고 이는 4K byte(4096 byte)의 영역이 필요하다. 이러한 하나의 그룹에 대해서 바이트맵으로 나타내려면 비트단위 대신 바이 트 단위가 사용되고, 1byte는 8bit 이므로 바이트맵을 위해서 32K byte의 영역이 필요하다. 따라서, 디스크 내의 모든 데이터 블록에 대해서 바이트맵으로 사용하면, 블록비트맵을 사용하는 경우보다 많은 용량이 바이트맵을 저장하는데 사용된다. 그러므로 편집과 관련된 바이트맵이 저장된 블록의 포인터를 저장하는 데이터 블록을 별도로 갖는다. 이러한 데이터 블록이 바이트맵 포인터블록 이다. 바이트맵 포인터블록 주소는 아이노드의 예약된 필드인 l_i_reserved2[1] 영역에 저장된다.
도 6은 편집파일관리자에 저장된 한 그룹에 대해서, 그 그룹에 속한 데이터블록에 대해 바이트맵 포인터블록으로 지정하는 것을 예시적으로 도시한 그림이다. 도 6을 참조하면 하나의 그룹에 대해서 8개의 4 byte 영역으로 바이트맵의 물리적주소(physical address)가 저장되어 있다. 상기 설명한 바와 같이, 하나의 그룹에 속하는 데이터 블록을 비트 단위로 나타내기 위해서는 4K byte의 데이터 블록이 필요하고 이러한 데이터 블록의 주소를 저장하기 위해서는 4 byte 가 필요하다. 따라서, 하나의 그룹에 속하는 데이터 블록을 바이트 단위로 나타내기 위해서는 해당 바이트맵을 지정하기 위해 8개의 4 byte 영역이 필요하다. 도 7은 바이트맵 포인터블록의 하나의 4 byte 영역이 바이트맵을 지정하는 것을 예시적으로 도시한 그림이다. 도 7을 참조하면, 바이트맵 포인터 블록의 하나의 영역이 4K byte 의 데이터 블록인 바이트맵을 지정한다. 지정된 바이트맵의 각 1 byte 에는 원본 미디어 파일의 데이터 블록 공유 회수가 기록된다.
상기 바이트맵과 바이트맵 포인터블록을 생성하고 원본 미디어 파일을 참조하여 바이트맵과 바이트맵 포인터블록을 설정한다. 원본 미디어 파일의 데이터 블 록이 속하는 그룹의 블록비트맵을 스캔하여 바이트맵을 작성한다. 도 8은 원본 미디어 파일의 블록비트맵으로부터 바이트맵을 작성하는 것을 예시적으로 도시한 도표이다.
다음, 상기 200 단계의 편집구간을 참조하여, 상기 편집 미디어 파일의 아이노드 블록 포인터를 재설정한다(단계 250). 먼저 편집 미디어 파일의 편집구간을 재설정한다. 도 9는 상기 편집구간을 재설정하는 것을 예시적으로 도시한 그림이다. 도 9를 참조하면 편집자가 선택한 지점이 있고, 그 지점에 따른 저장구간이 있다. '저장구간1' 과 '저장구간2' 의 결합으로 편집구간을 재설정하려고 한다. 그런데, 편집 미디어 파일의 데이터는 4K byte 크기의 데이터 블록들의 결합으로 구성되어 있다. 따라서 상기 선택지점이 해당하는 데이터 블록의 경계가 아닌 중간에 있는 경우, 그 블록에는 편집에 불필요한 데이터가 포함될 수 있다. 그러나 이러한 4K byte 이하의 데이터 손실은 편집에 있어 큰 문제가 되지 않는다. 특히 초당 60개의 프레임으로 구성되는 HD급 동영상 화질의 경우에, 한 프레임의 크기는 30K byte 정도이다. 따라서 4K byte 이하의 데이터 손실은 편집 동영상에 있어 백분의 일초의 영향도 미치지 않는다. 도 9를 참조하면, '선택지점1' 과 '선택지점2' 를 포함하는 데이터 블록은 편집구간에서 제외하고 재설정하였다. 상기 재설정된 편집구간에 대해서 편집 미디어 파일의 아이노드 블록 포인터를 재설정한다.
도 10은 편집 미디어 파일의 아이노드 블록 포인터를 재설정하는 것을 예시적으로 도시한 그림이다. 도 10을 참조하면 원본 및 편집 미디어 파일의 아이노드에 12개의 직접 블록(direct block)과 3개의 간접 블록(indirect block)이 있다. 상기 직접 블록과 간접 블록에 데이터 블록의 포인터를 기록하는 것을, 아이노드 블록 포인터를 설정하는 것이라고 한다. 직접 블록에는, 직접 데이터 블록에 대한 포인터가 기록된다. 상기 직접 블록을 모두 다 사용한 경우에는 간접 블록을 사용한다. 간접(Indirect) 블록에는, 아이노드의 외부에 할당된 블록을 지정하는 포인터가 기록되며, 상기 지정된 아이노드 외부에 할당된 블록에는, 데이터 블록의 포인터들을 기록한다. 이중 간접(Double Indirect) 블록에는 아이노드의 외부에 할당된 블록을 지정하는 포인터가 기록되며, 외부에 할당된 블록이 한번 더 다른 블록을 지정하고, 이렇게 2번 지정된 블록에 데이터 블록의 포인터를 기록한다. 삼중 간접(Triple Indirect) 블록에는, 아이노드 외부에 할당된 블록을 3번 지정 후, 그 블록에 데이터 블록의 포인터를 기록한다.
도 10을 참조하여, 편집 미디어 파일의 아이노드를 재설정하는 것을 설명한다. 원본 미디어 파일의 데이터가 4K byte 블록 단위로 데이터01, 데이터02, 데이터n 등의 순서로 되어있고, 이에 대한 데이터 블록에 대한 포인터가 원본 미디어 파일 아이노드의 직접 블록과 간접 블록에 기록되어 있다. 원본 미디어 파일이 편집되어 데이터02, 데이터m 등이 삭제되는 경우, 남아있는 데이터01, 데이터03 등의 데이터 블록에 대한 포인터가 편집 미디어 파일 아이노드의 직접 블록과 간접 블록에 기록된다. 상기의 방법에 의할 경우에, 원본 미디어 파일의 아이노드의 블록 포인터만 변경하여 재설정하는 것이므로, 데이터를 새로 읽고 쓰는 방법에 의해 편집하는 것보다 편집하는데 소요되는 시간을 크게 절약할 수 있다.
다음, 상기 편집 미디어 파일을 참조하여 해당 데이터블록에 대한 상기 바이 트맵을 재설정한다(단계 260). 도 11은 상기 재설정 과정을 예시적으로 도시한 도표이다. 도 11을 참조하면 상기의 단계 240 에서 생성한 바이트맵에 편집 미디어 파일의 바이트맵을 참조하여 각 해당하는 영역값에 '1'을 더해서 재설정하였다. 여기서 바이트맵의 각 값은 원본 미디어 파일 데이터 블록 공유 회수를 의미한다.
다음, 상기 편집파일관리자, 바이트맵, 바이트맵 포인터블록을 저장한다(단계 270). 상기 편집과정을 통해 최종적으로 설정된 편집파일관리자, 바이트맵, 바이트맵 포인터 블록을 저장한다.
다음, 상기 원본 미디어 파일 및 편집 미디어 파일의 아이노드를 재설정하고 저장한다(단계 280). 원본 및 편집 미디어 파일의 아이노드의 l_i_reserved2[0] 영역에는 편집파일관리자 블록의 주소를 기록하고 l_i_reserved2[1] 영역에는 바이트맵 포인터블록의 주소를 기록한다. 도 12는 상기 편집과정이 이루어진 후의 결과를 예시적으로 도시한 그림이다.
만약, 단계 220 에서 편집파일관리자가 이미 생성되었을 경우에 편집방법을 설명한다. 먼저 상기 편집파일관리자를 재설정한다. 이미 생성된 편집파일관리자에 새이름으로 저장된 회수 값을 '1' 증가시키고, 새로운 편집 미디어 파일의 아이노드 번호를 기록하는 재설정 과정을 수행한다.
다음, 상기 편집구간을 참조하여 상기 편집 미디어 파일의 아이노드 블록 포인터를 재설정한다(단계 250).
다음, 상기 편집 미디어 파일을 참조하여 상기 바이트맵을 재설정한다(단계 260).
다음, 상기 편집파일관리자, 바이트맵, 바이트맵 포인터블록을 저장한다(단계 270).
다음, 상기 원본 미디어 파일 및 편집 미디어 파일의 아이노드를 재설정하고 저장한다(단계 280).
이하, 미디어 파일의 삭제 방법에 대해서 설명한다.
도 13은 본 발명의 바람직한 실시예에 따른 미디어 파일의 삭제 방법을 설명하는 흐름도이다. 먼저 삭제할 미디어 파일의 아이노드를 캐싱(caching)한다(단계 1300). 다음, 파일의 관리를 위한 편집파일관리자가 이미 생성되었는지 확인한다(단계 1310). 만약, 편집파일관리자가 생성되지 않았다면 파일시스템에 의해 미디어 파일을 삭제한다(단계 1315). 편집파일관리자가 없다는 것은 본 발명에 의한 편집 및 삭제 방법과 관련이 없으므로, 일반적인 리눅스 환경의 파일시스템, 특히 Ext2 파일 시스템에 의하여 파일을 삭제한다. 상기 편집파일관리자의 생성 유무는, 상기 캐싱한 삭제할 미디어 파일 아이노드의 l_i_reserved2[0] 영역을 확인하는 것으로 알 수 있다. 상기 영역에 편집파일관리자 블록의 주소가 기록되어있다면 이미 편집파일관리자가 생성된 것으로 볼 수 있다. 이하, 편집파일관리자 블록이 이미 생성된 이후의 삭제 방법에 대해 설명한다.
만약, 상기 1310 단계에서 편집파일관리자가 생성되었다면, 삭제할 미디어 파일을 참조하여, 원본 미디어 파일의 데이터 블록 공유 회수 확인을 위한 바이트맵을 재설정한다(단계 1320). 삭제할 미디어 파일의 아이노드로부터 데이터 블록을 참조하여 상기 바이트맵을 재설정한다. 도 14는 본 발명에 의한 미디어 파일 삭제 방법으로 바이트맵이 재설정 되는 것을 예시적으로 도시한 도표이다. 도 14를 참조하면 삭제 전 바이트맵 과 삭제할 파일의 바이트맵 그리고 재설정 후의 바이트맵이 도시되어 있다. 삭제 전 바이트맵의 각 영역의 값에서, 삭제할 파일의 바이트맵의 해당 영역 값만큼 감소시킨다. 재설정이 이루어진, 삭제 후 바이트맵의 각 영역 값은 원본 미디어 파일의 데이터 블록 공유 회수를 나타낸다.
만약 상기 1320 단계에서 바이트맵 값이 '0' 이면, 데이터 블록의 사용현황을 나타내는 블록 비트맵 값을 '0' 으로 설정한다. 이는 원본 미디어 파일의 데이터 블록을 공유하는 블록이 없다는 것으로, 해당되는 데이터 블록을 실제로 삭제하는 것을 의미한다.
다음, 상기 편집파일관리자의 새이름으로 저장된 회수 값 '1' 감소 및 아이노드 저장영역에서 해당 아이노드를 삭제하고, 편집파일관리자를 재설정한다(단계 1330). 도 15는 상기 삭제 과정이 수행되는 경우 편집파일관리자를 재설정하는 과정을 예시적으로 도시한 그림이다. 아이노드 번호가 14인 파일을 삭제 하는 경우, 새이름으로 저장한 회수를 '1' 감소시키고 삭제할 미디어 파일의 아이노드 번호를 삭제하여 편집파일관리자를 재설정한다.
다음, 상기 편집파일관리자의 새이름으로 저장된 회수 값이 '0' 인지 확인한다(단계 1340). 만약 새이름으로 저장된 회수 값이 '0' 이라면, 이는 원본 미디어 파일의 데이터 블록을 공유하는 파일이 없다는 것을 의미한다.
만약 상기 편집파일관리자의 새이름으로 저장된 회수 값이 '0' 이 아니면, 상기 편집파일관리자, 바이트맵, 바이트맵 포인터블록을 저장한다(단계 1350). 도 16은 상기 삭제 과정이 수행되는 경우 편집파일과리자를 재설정하는 과정을 예시적으로 도시한 그림이다. 아이노드 번호가 14인 파일을 삭제하는 경우에도 원본 미디어 파일의 데이터 블록을 공유하는, 아이노드 번호가 "50,71" 인 파일이 존재한다. 상기 재설정된 편집파일관리자와 상기 1320 단계에서 재설정된 바이트맵과 바이트맵 포인터블록을 저장한다.
다음, 삭제할 미디어 파일의 아이노드를 삭제한다(단계 1360). 리눅스 환경의 파일시스템은 파일에 대한 아이노드 구조체의 사용여부를 아이노드 비트맵으로 표시한다. 아이노드 비트맵에는 아이노드의 사용 여부에 따라 '0' 또는 '1' 로 표시한다. 상기 삭제할 미디어 파일의 아이노드를 삭제하는 경우, 아이노드 비트맵에서 삭제할 미디어 파일의 아이노드가 해당되는 영역의 값을 '0'으로 설정하며, 이때 파일의 삭제가 완성된다.
만약 상기 1340 단계에서 편집파일관리자의 새이름으로 저장된 회수 값이 '0' 이면, 최종적으로 존재하는 미디어 파일의 아이노드를 재설정 하고 저장한다(단계 1343). 도 15를 참조하면 아이노드 번호가 14인 파일이 삭제되면 새이름으로 저장된 회수 값은 '0' 이고, 아이노드 번호가 50인 파일만 남게 된다. 상기와 같이 남아있는 미디어 파일의 아이노드를 재설정한다. 새이름으로 저장된 회수 값이 '0' 이라는 것은 더 이상 공유되는 블록이 없다는 것이므로, 데이터 블록의 공유를 위한 편집파일관리자와 바이트맵 포인터블록 등이 필요없다. 따라서 아이노드의 편집파일관리자 블록의 주소를 위한 l_i_reserved2[0] 필드와 바이트맵 포인터 블록의 주소를 위한 l_i_reserved2[1] 필드를 '0' 으로 설정하고 저장한다.
다음, 상기 편집파일관리자, 바이트맵, 바이트맵 포인터블록을 삭제한다(단계 1347). 상기 최종적으로 존재하는 파일만 남고 더 이상 공유되는 파일이 없으므로, 본 발명을 위해 디스크내에 별도로 생성했던 편집파일관리자, 바이트맵, 바이트맵 포인터블록을 삭제한다.
다음, 삭제할 미디어 파일의 아이노드를 삭제한다(단계 1360). 이때 파일의 삭제가 완성된다.
이상에서 본 발명에 대하여 그 바람직한 실시예를 중심으로 설명하였으나, 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 그리고, 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명에 따른 미디어 파일 편집 방법 및 삭제 방법은 디지털 컨텐츠의 제작, 유통과 관련된 미디어사업 및 방송사업 분야에서 널리 사용될 수 있다.
도 1은 종래의 기술에 따른 미디어 파일을 편집하는 방법을 순차적으로 설명하는 흐름도이다.
도 2는 본 발명의 바람직한 실시예에 따른 미디어 파일을 편집하는 방법을 순차적으로 설명하는 흐름도이다.
도 3은 본 발명의 바람직한 실시예에 따른 아이노드의 구조체를 예시적으로 도시한 그림이다.
도 4는 본 발명의 바람직한 실시예에 따른 편집파일관리자를 예시적으로 도시한 그림이다.
도 5는 본 발명의 바람직한 실시예에 따른 편집파일관리자에 기록된 결과를 예시적으로 도시한 그림이다.
도 6은 본 발명의 바람직한 실시예에 따른 바이트맵 포인터블록을 지정하는 것을 예시적으로 도시한 그림이다.
도 7은 본 발명의 바람직한 실시예에 따른 바이트맵을 지정하는 것을 예시적으로 도시한 그림이다.
도 8은 본 발명의 바람직한 실시예에 따른 바이트맵을 작성하는 것을 예시적으로 도시한 그림이다.
도 9는 본 발명의 바람직한 실시예에 따른 편집구간을 재설정하는 것을 예시적으로 도시한 그림이다.
도 10은 본 발명의 바람직한 실시예에 따른 편집 미디어 파일 아이노드 블록 포인터 재설정하는 과정을 예시적으로 도시한 그림이다.
도 11은 본 발명의 바람직한 실시예에 따른 편집 과정에서 바이트맵을 재설정하는 것을 예시적으로 도시한 그림이다.
도 12는 본 발명의 바람직한 실시예에 따른 편집과정이 이루어진 후의 결과를 예시적으로 도시한 그림이다.
도 13은 본 발명의 바람직한 실시예에 따른 미디어 파일을 편집하는 방법을 순차적으로 설명하는 흐름도이다.
도 14는 본 발명의 바람직한 실시예에 따른 삭제 과정에서 바이트맵을 재설정하는 것을 예시적으로 도시한 그림이다.
도 15는 본 발명의 바람직한 실시예에 따른 삭제 과정에서 새이름으로 저장된 회수 값이 '0' 인 경우, 편집파일관리자를 재설정하는 것을 예시적으로 도시한 그림이다.
도 16은 본 발명의 바람직한 실시예에 따른 삭제 과정에서 새이름으로 저장된 회수 값이 '0' 이 아닌 경우, 편집파일관리자를 재설정하는 것을 예시적으로 도시한 그림이다.
Claims (6)
- 미디어 파일을 편집하는 방법에 있어서,(a) 원본 미디어 파일 및 원본 미디어 파일의 아이노드를 캐싱하고, 편집하고자 하는 편집구간을 외부로부터 입력받는 단계;(b) 편집 미디어 파일 생성 및 편집 미디어 파일의 아이노드를 생성하는 단계;(c) 원본 미디어 파일 및 편집 미디어 파일의 관리를 위한 편집파일관리자가 이미 생성되었는지 확인하는 단계;(d) 상기 (c) 단계에서 편집파일관리자가 생성되지않은 경우, 편집파일관리자를 생성하고 설정한 후 미디어 파일을 편집하는 단계를 구비하고, 상기 (d) 의 미디어 파일 편집 단계는,(d1) 상기 원본 미디어 파일을 참조하여, 원본 미디어 파일의 데이터 블록 공유 회수 확인을 위한 바이트맵 및 바이트맵 포인터블록을 생성하고 설정하는 단계;(d2) 상기 편집구간을 참조하여, 상기 편집 미디어 파일의 아이노드 블록 포인터를 재설정하는 단계;(d3) 상기 편집 미디어 파일을 참조하여 상기 바이트맵을 재설정하는 단계;(d4) 상기 편집파일관리자, 바이트맵, 바이트맵 포인터블록을 저장하는 단계;(d5) 상기 원본 미디어 파일 및 편집 미디어 파일의 아이노드를 재설정하고 저장하는 단계;를 포함하는 것을 특징으로 하는 미디어 파일 편집 방법.
- 제 1항에 있어서, 상기 미디어 파일 편집 방법은 (e) 편집파일관리자가 이미 생성된 경우, 상기 편집파일관리자를 재설정한 후 미디어 파일을 편집하는 단계를 더 구비하고, 상기 (e) 의 미디어 파일 편집 단계는,(e1) 상기 편집구간을 참조하여, 상기 편집 미디어 파일의 아이노드 블록 포인터를 재설정하는 단계;(e2) 상기 편집 미디어 파일을 참조하여 상기 바이트맵을 재설정하는 단계;(e3) 상기 편집파일관리자, 바이트맵, 바이트맵 포인터블록을 저장하는 단계;(e4) 상기 원본 미디어 파일 및 편집 미디어 파일의 아이노드를 재설정하고 저장하는 단계;를 포함하는 것을 특징으로 하는 미디어 파일 편집 방법.
- 제 1항 또는 제 2항에 있어서, 상기 편집파일관리자는 데이터 블록의 구조체로 구성되고 상기 편집파일관리자는 새로운 편집 미디어 파일이 생성되어 새이름으로 저장된 회수, 그룹(group)수, 아이노드 번호 저장영역, 원본 미디어 파일의 데이터블록이 속한 그룹 번호 저장영역에 대한 정보를 포함하는 것을 특징으로 하는 미디어 파일 편집 방법.
- 제 1항 또는 제 2항에 있어서, 상기 바이트맵에는 원본 미디어 파일의 데이터 블록 공유회수를 바이트(byte)단위로 표시하는 것을 특징으로 하는 미디어 파일 편집 방법.
- 제3항에 있어서, 상기 미디어 파일 편집 방법은 (f) 상기 미디어 파일의 삭제 단계를 더 구비하고, 상기 (f)의 상기 미디어 파일의 삭제 단계는,(f1) 삭제할 미디어 파일의 아이노드를 캐싱하는 단계;(f2) 원본 미디어 파일의 관리를 위한 편집파일관리자에 기록된 삭제할 미디어 파일을 참조하여, 원본 미디어 파일의 데이터 블록 공유 회수 확인을 위한 바이트맵을 재설정하는 단계;(f3) 상기 편집파일관리자의 새이름으로 저장된 회수에 대한 값을 '1'만큼 감소시키고 아이노드 저장영역에서 해당 아이노드를 삭제하고, 편집파일관리자를 재설정하는 단계;(f4) 상기 편집파일관리자의 새이름으로 저장된 회수에 대한 값이 '0' 인지 확인하는 단계; 및(f5) 상기 (f4) 단계에서 상기 편집파일관리자의 새이름으로 저장된 회수 값이 '0' 이 아닌 경우, 상기 편집파일관리자, 바이트맵, 바이트맵 포인터블록을 저장하고, 삭제할 미디어 파일의 아이노드를 삭제하는 단계;를 구비하는 미디어 파일 편집 방법.
- 제 5항에 있어서, 상기 미디어 파일 삭제 단계는 (g) 편집파일관리자의 새이름으로 저장된 회수에 대한 값이 '0' 인 경우, 미디어 파일의 아이노드를 재설정 하고 저장한 후 미디어 파일을 삭제하는 단계를 더 구비하고, 상기 (g) 단계의 미디어 파일 삭제 단계는,(g1) 상기 편집파일관리자, 바이트맵, 바이트맵 포인터블록을 삭제하는 단계; 및(g2) 삭제할 미디어 파일의 아이노드를 삭제하는 단계;를 구비하는 것을 특징으로 하는 미디어 파일 편집 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070114721A KR100882470B1 (ko) | 2007-11-12 | 2007-11-12 | 미디어 파일 편집 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070114721A KR100882470B1 (ko) | 2007-11-12 | 2007-11-12 | 미디어 파일 편집 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100882470B1 true KR100882470B1 (ko) | 2009-02-09 |
Family
ID=40681248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070114721A KR100882470B1 (ko) | 2007-11-12 | 2007-11-12 | 미디어 파일 편집 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100882470B1 (ko) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980013818A (ko) * | 1996-08-03 | 1998-05-15 | 구자홍 | 대용량 데이타 처리에 적합한 연속매체용 화일 시스템 및 화일 구성방법 |
KR20020092550A (ko) * | 2001-06-04 | 2002-12-12 | 한국전자통신연구원 | 대용량 파일 저장 시스템 및 그를 이용한 동적 다단계아이노드의 데이터 블록 추가 및 삭제 방법 |
KR20060116626A (ko) * | 2005-05-11 | 2006-11-15 | 주식회사 휴맥스 | 디지털 방송 수신기에서의 파일 편집 방법 |
-
2007
- 2007-11-12 KR KR1020070114721A patent/KR100882470B1/ko not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980013818A (ko) * | 1996-08-03 | 1998-05-15 | 구자홍 | 대용량 데이타 처리에 적합한 연속매체용 화일 시스템 및 화일 구성방법 |
KR20020092550A (ko) * | 2001-06-04 | 2002-12-12 | 한국전자통신연구원 | 대용량 파일 저장 시스템 및 그를 이용한 동적 다단계아이노드의 데이터 블록 추가 및 삭제 방법 |
KR20060116626A (ko) * | 2005-05-11 | 2006-11-15 | 주식회사 휴맥스 | 디지털 방송 수신기에서의 파일 편집 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4537083B2 (ja) | データ処理装置及びその制御方法 | |
JP4076078B2 (ja) | ファイル管理方法 | |
GB2383859A (en) | Memory controller managing a file allocation table for a memory card | |
JPH03232029A (ja) | メモリカードの記憶管理方式 | |
JPH1069420A (ja) | 情報記録装置、情報記録再生装置、情報記録方法および情報再生方法 | |
US20080005206A1 (en) | Method for automatically managing disk fragmentation | |
US20110238893A1 (en) | Flash based memory comprising a flash translation layer and method for storing a file therein | |
US7389038B1 (en) | Multimedia information recording device and method for recording multimedia information file on recording medium | |
WO2009150810A1 (ja) | アクセス装置、及び残容量算出方法 | |
US8416658B2 (en) | Recording apparatus and recording method for data and file system information | |
US7865061B2 (en) | Recording apparatus for recording data to recording medium with a Plurality of clusters | |
JP2008193345A (ja) | 編集装置及び編集方法 | |
US8825723B2 (en) | Methods and devices for managing and editing files in a file system | |
JP4478218B2 (ja) | データ記録装置及びデータ記録媒体 | |
KR102094786B1 (ko) | 파일 시스템 및 상기 파일 시스템을 이용한 파일 저장 방법 | |
KR100882470B1 (ko) | 미디어 파일 편집 방법 | |
JP2004206810A (ja) | データ管理方法、データ管理装置、データ管理プログラム、データ管理プログラムを格納したコンピュータ読み取り可能な記憶媒体 | |
US7835614B2 (en) | Data recording method, data recording apparatus, and data recording medium | |
US8565584B2 (en) | Editing apparatus and editing method | |
JP2013118510A (ja) | 画像処理装置及び画像処理方法 | |
JP2004171311A (ja) | データ管理装置、データ管理方法、記録媒体、データ管理プログラム、データ管理プログラムを格納したコンピュータ読み取り可能な記憶媒体 | |
KR20090041478A (ko) | 미디어 파일 편집 방법 | |
JP4289403B2 (ja) | 編集装置及び編集方法 | |
KR100393083B1 (ko) | 정지화를 기록 및/또는 재생하는 방법 | |
JPH05113922A (ja) | データ記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130125 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20140127 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20150130 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20160420 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20170217 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |