KR20050013050A - 동화상 데이터 재생 장치 - Google Patents
동화상 데이터 재생 장치Info
- Publication number
- KR20050013050A KR20050013050A KR10-2003-7014884A KR20037014884A KR20050013050A KR 20050013050 A KR20050013050 A KR 20050013050A KR 20037014884 A KR20037014884 A KR 20037014884A KR 20050013050 A KR20050013050 A KR 20050013050A
- Authority
- KR
- South Korea
- Prior art keywords
- file
- information
- random access
- data
- moving picture
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- 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/005—Reproducing at a different information rate from the information rate of recording
-
- 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/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
-
- 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/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
- G11B27/105—Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/4147—PVR [Personal Video Recorder]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
- H04N21/42661—Internal components of the client ; Characteristics thereof for reading from or writing on a magnetic storage medium, e.g. hard disk drive
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/78—Television signal recording using magnetic recording
- H04N5/781—Television signal recording using magnetic recording on disks or drums
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/84—Television signal recording using optical recording
- H04N5/85—Television signal recording using optical recording on discs or drums
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/907—Television signal recording using static stores, e.g. storage tubes or semiconductor memories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
- H04N9/8042—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/82—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
- H04N9/8205—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
동화상 데이터 재생 장치(200)는, MP4 파일을 취득하는 파일 입력부(201), 취득한 입력 MP4 파일을 일시 기억하는 영역을 갖는 데이터 파일 일시 기억부(202), 입력 MP4 파일을 독출하여 파일 헤더 정보를 해석하는 데이터 파일 해석부(203), 데이터 파일 해석부(203)의 해석 결과에 근거하여 데이터 파일 일시 기억부(202)로부터 엔티티 데이터를 독출하고 이 엔티티 데이터를 복호화하는 데이터 복호화부(204), 복호화된 엔티티 데이터를 재생하고 이 엔티티 데이터를 표시 장치로 출력하는 데이터 재생부(205), 데이터 파일 해석부(203)의 해석 결과에 근거하여 생성된 랜덤 액세스 정보를 테이블로 변형시키는 RA 정보 테이블 작성부(206), RA 정보 테이블과 입력 완료된 MP4 파일을 통합시켜 새로운 MP4 파일을 출력하는 파일 출력부(207), 및 출력된 MP4 파일을 기억하는 파일 기억부(208)로 구성된다.
Description
최근의 네트워크 기술의 발달에 따라, 인터넷과 같은 광역 통신망 상의 서버 장치로부터 파일을 다운로드함으로써 동화상 데이터를 재생하는 동화상 데이터 재생 장치가 발달하였다. 특히, "멀티미디어" 용어가 많이 사용되는 요즘에는, 음성 데이터와 텍스트 데이터 등의 미디어 데이터가 파일에 포함되어 있어, 동화상 데이터 재생 장치가 음성 트랙과 텍스트 트랙 등의 각종 트랙을 동시에 재생하도록 요구되는 경우가 많다.
이 동화상 데이터 재생 장치는, 부호화된 화상 데이터 등을 포함하는 파일을 MPEG-4(Moving Picture Experts Group) 등의 압축 부호화 방법에 근거하여 이 장치에 가져오고, 화상 데이터 등을 복화화하여 재생한다. 이 때, 화상 데이터, 음성 데이터 및 텍스트 데이터가 혼합되어 있으면, 이 동화상 데이터 재생 장치는, 화상 데이터를 음성 데이터에서 분리하고, 각각의 데이터를 합성하며, 이 데이터를 복호화하여 재생한다.
한편, MP4 파일 포맷은 다운로드용 파일을 배송하는 서버 장치의 파일 포맷으로서 주목받고 있다. 본 명세서에서는, 파일 포맷의 예로서 MP4 파일 포맷이 설명된다.
이 MP4 파일 포맷은 1999년에 MPEG(Moving Picture Experts Group)에 의해 제정되었다. 이 MP4 파일 포맷에 근거하여 생성된 MP4 파일은 다수의 박스로 구성된 계층적 박스 구조를 갖는다. 그리고 부호화된 화상 데이터, 음성 데이터 등은 다중화되어 엔티티(entity) 데이터를 기억하는 박스에 기억된다. 동화상 데이터 재생 장치에 의해 받아들여진 MP4 파일에 있어서, 다중화된 화상 데이터, 음성 데이터 등이 이 장치에서 서로 분리되어 복호화된다. 동화상 데이터 재생 장치가 화상 데이터와 음성 데이터를 복호화할 때 사용되는 처리 유닛을 "프레임"이라고 부르며, 각각의 데이터는 다수의 프레임으로 구성되어 있다.
그러나, 초기에 제정된 MP4 파일 포맷은, 동화상 데이터 재생 장치가 MP4 파일의 다운로드를 완료하기 전에 동화상 데이터의 재생을 개시하는 재생 방법, 즉, 소위 의사-스트리밍(pseudo-streaming) 재생에는 적합하지 않다는 문제를 갖고 있다. 이 문제의 원인은, 파일에 포함되는 화상 데이터와 음성 데이터에 대해서, 각각의 화상 프레임과 음성 프레임의 크기 등에 필요한 정보, 다중화 명령 등의 다중화 분리를 수행하는 정보, 예를 들면 각각의 화상 프레임과 음성 프레임의 프리젠테이션 시간 정보의 동기 재생을 수행하는데 필요한 정보를, 파일의 선두 부분에 위치되는 파일 헤더가 전부 기억하는 파일 구조의 특징 때문이다.
즉, 전술한 초기에 제정된 MP4 파일 포맷의 파일 구조에 의해, 동화상 데이터 재생 장치가 파일 헤더부의 다운로드를 완료할 때까지 MP4 파일에 포함된 동화상 데이터의 재생을 개시할 수 없다. 초기에 제정된 MP4 파일 포맷은 또한 파일 헤더 크기가 클수록 다운로드 시간이 길어지는 문제가 있다. 특히, 장시간(long-time) 데이터를 가진 파일의 경우에, 큰 파일 헤더부 때문에 데이터를 다운로드하는데 많은 시간이 걸리므로, 동화상 데이터 재생 장치는 재생을 개시하기 전에 많은 시간이 필요하다.
이러한 문제를 해결하기 위해서, 다중화 분리와 동기 재생 정보, 및 화상 데이터와 음성 데이터 등의 엔티티 데이터가 번갈이 배치될 수 있는 새로운 MP4 파일 포맷이 제안되어 표준화가 진행중이다.
도 1은 현재 표준화하의 전술한 종래의 MP4 파일 포맷의 구성을 도시하는 도면이다.
MP4 파일(100)은, 화상 데이터와 음성 데이터의 부호화 방법 등의 파일 전체의 속성 정보(헤더 정보)를 기억하는 무비 박스(101), 화상 데이터와 음성 데이터 등의 엔티티 데이터를 기억하는 무비 데이터 박스(102), 및 무비 프래그먼트 칼럼(movie fragment column)(103)으로 구성되고, 다수의 박스를 포함하는 계층적 박스 구조를 갖고 있으며, MP4 파일(100)이 무비 프래그먼트 칼럼(103)을 포함하는 것 이외는, 전술한 초기에 제정된 MP4 파일과 동일하다.
이 무비 프래그먼트 칼럼(103)은, 규정 시간부에 의해 분리된 무비 프래그먼트(104)의 반복 배치를 포함하고, MP4 파일의 확장자로 불린다. 한편, 전술한 무비 박스(101)와 무비 데이터 박스(102)는 MP4 파일의 프라임 데이터 영역으로 불린다. 전술한 규정 시간부는 항상 일정한 것은 아니며, 예를 들면, 부호화 장치가 복호화 장치의 버퍼 메모리 용량을 고려하여 시간을 조정할 수 있고, 이 경우, 그 결과, 전술한 규정 시간부는 개략적으로 일정하게 될 수 있다.
무비 프래그먼트(104)는 전술한 규정 시간부 등에 포함된 동화상 데이터에 관한 다중화 분리 정보와 동기 재생 정보 등을 기억하는 무비 프래그먼트 박스(105), 및 전술한 규정 시간부 등에 포함된 동화상 데이터의 엔티티 데이터를 기억하는 프래그먼트 데이터 박스(106)에 포함된다.
무비 프래그먼트 박스(105)는 전술한 규정 시간부 등에 포함된 동화상 데이터에 관한 다중화 분리 정보와 동기 재생 정보 및 무비 프래그먼트(104)의 헤더 정보를 기억하는 박스이다. 이 무비 프래그먼트 박스(105)는 화상 트랙과 음성 트랙 중의 어느 하나의 트랙에 관한 데이터의 다중화 분리 정보와 동기 재생 정보를 기억하는 트랙 프래그먼트 박스(107)를 포함한다. 즉, 무비 프래그먼트 박스(105)에 포함된 트랙 프래그먼트 박스(107)의 수는 하나의 무비 프래그먼트(104)에 포함된 트랙 종류의 동일 수 이상이며, 하나의 무비 프래그먼트(104)가 화상 데이터와 음성 데이터를 포함하는 경우, 적어도 2개의 트랙 프래그먼트 박스(107)가 준비된다. 여기서 이용되는 "트랙 종류의 동일 수 이상"은, 예를 들면, 화상 트랙에 관한 다중화 분리 정보와 동기 재생 정보를 기억하는 2개의 트랙 프래그먼트 박스(107)와, 음성 트랙에 관한 다중화 분리 정보와 동기 재생 정보를 기억하는 하나의 트랙 프래그먼트 박스(107), 총 3개의 트랙 프래그먼트 박스(107)가 준비되는 경우로, 하나의 트랙에 대해 다수의 트랙 프래그먼트 박스(107)가 준비되는 경우를 의미한다.
이 트랙 프래그먼트 박스(107)는 전술한 규정 시간부보다 작은 유닛으로 분리된 다수의 트랙 런 박스(track run box)(108)를 포함하고, 트랙 런 박스(108)는 다수의 엔트리(entry)(109)를 또한 포함하고 있다.
엔트리(109)는 복호화의 처리부로서 프레임에 대한 정보, 즉, 다중화 분리 정보와 동기 재생 정보를 기입하는 필드 그룹이다. 화상 트랙에 관한 트랙 프래그먼트 박스(107)에 포함된 트랙 런 박스(108)에서, 화상 프레임이 인트라 부호화된 프레임(소위 인트라 프레임)인지 아닌지를 나타내는 정보가 엔트리(109)의 필드에 존재될 수 있다. 일반적으로, 화상 데이터가, 일정 수의 화상 프레임당 이들 인트라 프레임이 반복 배치되는 구조를 갖는 경우가 많으며, 이 구조와 같이 반복 배치되는 하나의 유닛을 GOP(Group Of Picture)라고 부른다. 그리고, GOP부에 의해 엔트리(109)가 트랙 런 박스(108)에 포함된다고 생각할 수 있다.
또한, 이 엔트리(109)에서는 동기 샘플 플래그가 1로 설정되어 각각의 데이터간의 동기 재생을 수행할 수 있고, 이 경우, 동기 샘플 플래그 정보가 엔트리(109) 필드에 존재하고, 본 명세서는 화상 프레임이 인트라 프레임인 것을 나타내는 정보가 기억되는 것을 의미한다.
프래그먼트 데이터 박스(106)은 대응하는 무비 프래그먼트 박스(105)에서 지정된 프레임의 엔티티 데이터를 기억하는 박스로, 여기에 프레임을 구성하는 샘플들이 기억된다.
이들 박스의 각각이 박스 헤더부(110)와 박스 데이터 기억부(111)로 구성되어 있는 MP4 파일을 구성한다. 박스 헤더부(110)에서는, 적어도 박스 크기에 대한정보를 기억하는 박스 크기(112)와 박스 종류를 식별하는 문자열을 기억하는 박스 종류(113)가 포함된다. 또한, 박스 데이터 기억부(111)에는, 하나 이상의 하위 박스가 포함될 수 있거나, 또는 하나 이상의 필드 기억 정보가 포함될 수 있다.
이와 같이, 무비 프래그먼트 칼럼(103)은, 규정 시간부에 의해 분리된 화상 데이터와 음성 데이터에 관한 다중화 분리 정보와 동기 재생 정보를 기억하는 무비 프래그먼트 박스(105), 및 대응하는 엔티티 데이터를 기억하는 프래그먼트 데이터 박스(106)에 포함된 무비 프래그먼트(104)의 반복 배치의 구조를 갖는다. 즉, 전술한 초기에 제정된 MP4 파일에 있어서, 다중화 분리 정보, 동기 재생 정보 등이 모두 규정 시간부에 의해 분리되지 않고 무비 박스에 기억되고, 엔티티 데이터가 모두 무비 데이터 박스에 기억되어, 이것이 전술한 바와 같이 헤더 정보를 기억하는 무비 박스(101)의 크기가 커지는 이유이고, 화상 데이터와 음성 데이터를 기억하는 무비 데이터 박스(102)의 개시 부분을 파악하는데 많은 시간이 걸리는 문제가 생긴다. 이 문제를 해결하기 위해서, 이 MP4 파일에 있어서, 확장자로서 무비 프래그먼트 칼럼(103)이 제정되어 여기에 화상 데이터와 음성 데이터의 큰 부분을 기억하는 것이 가능하여, 무비 박스(101)의 크기를 감소시키고, 재생 개시의 시간을 단축시킬 수 있다.
그러나, 전술한 파일 구조를 갖는 MP4 파일 포맷을 이용할 때, 랜덤 액세스를 수행하는 동화상 데이터 재생 장치를 갖는 것이 곤란하다는 문제가 있다. 여기서 이용되는 "랜덤 액세스"는 재생 위치를 10초 후의 위치로 이동시켜, 빨리감기 재생을 수행하는 등의 처리 기능을 의미한다. 이 문제가 더 설명된다.
동화상 데이터 재생 장치는, 랜덤 액세스 수행시, 사용자 인터페이스를 통해 사용자로부터 랜덤 액세스 재생 요구를 수신하고, 이 요구에 따라 MP4 파일에 포함된 화상 데이터 등의 재생 개시 위치(복호화 개시 위치)를 결정하며, 화상 데이터 등을 복호화하여 재생하는 것이 요구된다.
또한, 일반적으로 MPEG-4 등의 고효율 압축 부호화 방법에 의해 생성된 화상 데이터 등은 인트라 프레임들과 상호 부호화한 프레임들(소위 예측 프레임)의 화상 프레임들로 구성된다.
이 예측 프레임이 복호화된 화상 프레임의 데이터에 근거하여 복호화하는 프레임이므로, 예측 프레임을 랜덤 액세스에 의한 재생 개시 위치로서 설정하는 것이 정확하게 재생하는 것을 불가능하게 만들어, 재생된 화상의 일그러짐과 같은 문제가 발생한다. 따라서, 인트라 프레임이 랜덤 액세스에 의한 재생 개시로서 설정되어야 한다.
따라서, 예를 들면, 재생 위치를 10초 후의 위치로 이동시키는 랜덤 액세스 요구가 입력될 때, 동화상 데이터 재생 장치는 복호화중의 화상 데이터를 포함하여 모든 화상 프레임을 기억하는 무비 프래그먼트 박스(105)를 해석하고, 10초 후에 복호화되는 화상 프레임과, 그 사이의 화상 프레임들이, 화상 데이터를 포함하는 각 트랙 프래그먼트 박스(107)를 더 해석한 다음에, 각 트랙 런 박스(108)를 더 해석해야 한다. 동화상 데이터 재생 장치는, 이와 같은 매우 작은 유닛까지 매우 많은 박스들을 해석한 후, 재생 기간을 계수하고, 랜덤 액세스 수행 후의 재생 개시 위치인 10초 전방의 화상 프레임을 결정한다. 또한, 동화상 데이터 재생 장치는10초 전방의 화상 프레임이 인트라 프레임인지 아닌지를 판정한다. 인트라 프레임이 아니면, 동화상 데이터 재생 장치는 가장 근접한 인트라 프레임을 발견하여 이것을 랜덤 액세스 수행 후의 재생 개시 위치의 화상 프레임으로서 이용한다.
이와 같이, 종래의 MP4 파일 포맷에서는, 랜덤 액세스 수행시에 동화상 데이터 재생 장치의 대량의 업무부담 때문에, 동화상 데이터 재생 장치가 랜덤 액세스 수행 후의 재생 개새 위치를 결정하는 데 많은 시간이 걸리고, 마지막으로 그 시간 동안 사용자를 대기하게 하는 문제가 있다.
그리고, 종래의 MP4 파일 포맷에 있어서, 종래의 MP4 파일 포맷의 목적중 하나가 인터넷 상의 서버 장치들로부터 다운로드하는 화상 프레임들을 재생하는 의사-스트리밍 재생의 파일 포맷을 이용하는 것이기 때문에, 재생 위치를 완전히 다운로드된 부분으로 재생할 수 있는 반면에 재생 위치를 완전히 다운로드되지 않는 부분으로 변경할 수 없다. 따라서, MP4 파일의 데이터 재생에 있어서, 동화상 데이터 재생 장치가 먼저 MP4 파일을 다운로드하여 재생한 후에 재현할 때 랜덤 액세스가 자주 이용되는 것을 생각할 수 있다.
또한 종래의 MP4 파일 포맷이 다운로드 배송에 이용되는 것을 생각할 수 있으므로, 전화시간 및 요금의 관점에서 MP4 파일의 크기를 감소시키는 것이 바람직하다. 특히, 다운로드된 데이터의 양에 비례하여 요금이 결정되는 이동 통신 시스템에 대해서는, 파일 크기가 가능한 한 최소화되어 전화 요금이 비교적 비싸지 않아야 된다는 문제가 있다.
따라서, 본 발명은, 이들 문제 및 사정을 고려하여 이루어진 것으로, 다운로드되는 파일의 크기를 확대시키지 않고 화상 데이터, 음성 데이터 등에 의해 다중화된 파일의 랜덤 액세스 처리를 신속하게 수행할 수 있는 동화상 데이터 재생 장치를 제공하는 것을 목적으로 하고 있다.
본 발명은, 화상 데이터, 음성 데이터 등의 다중화한 파일을 재생하는 장치에 관한 것으로, 특히 재생 위치의 변경 또는 빨리감기(fast forward) 재생 등의 랜덤 액세스 재생을 용이하게 하는 기술에 관한 것이다.
도 1은 종래의 MP4 파일의 파일 구조를 도시하는 도면,
도 2는 본 발명의 제1 실시예에 관한 동화상 데이터 재생 장치의 구성을 도시하는 블록도,
도 3은 본 발명의 제1 실시예에 관한 동화상 데이터 재생 장치에 의해 생성된 MP4 파일의 파일 구조를 도시하는 도면,
도 4는 본 발명의 제1 실시예에 관한 동화상 데이터 재생 장치가 랜덤 액세스 정보 테이블을 작성하는 처리 수순을 도시하는 플로 차트,
도 5는 랜덤 액세스 정보 테이블을 도시하는 도면으로, 도 5a는 테이블에 포함된 데이터를 도시하는 도면이고, 도 5b는 테이블의 데이터 구조를 도시하는 도면,
도 6은 본 발명의 제1 실시예의 제1 변형에 관한 동화상 데이터 재생 장치에 의해 생성된 MP4 파일의 파일 구조를 도시하는 도면,
도 7은 본 발명의 제1 실시예의 제2 변형에 관한 동화상 데이터 재생 장치의 구성을 도시하는 블록도,
도 8은 본 발명의 제1 실시예의 제3 변형에 관한 동화상 데이터 재생 장치의 구성을 도시하는 블록도,
도 9는 MP4 파일과 랜덤 액세스 정보 테이블간의 관계를 도시하는 도면으로, 도 9a는 본 발명의 제1 실시예에 관한 동화상 데이터 재생 장치에 의해 생성된 파일을 도시하는 도면이고, 도 9b는 본 발명의 제1 실시예의 제2 변형에 관한 동화상 데이터 재생 장치에 의해 생성된 파일을 도시하는 도면이고, 도 9c는 본 발명의 제1 실시예의 제3 변형에 관한 동화상 데이터 재생 장치에 의해 생성된 파일을 도시하는 도면,
도 10은 본 발명의 제2 실시예에 관한 동화상 데이터 재생 장치의 구성을 도시하는 블록도,
도 11은 본 발명의 제2 실시예의 제1 변형에 관한 동화상 데이터 재생 장치의 구성을 도시하는 블록도,
도 12는 본 발명의 제2 실시예의 제2 변형에 관한 동화상 데이터 재생 장치의 구성을 도시하는 블록도,
도 13은 본 발명의 제3 실시예에 관한 동화상 데이터 재생 장치의 구성을 도시하는 블록도,
도 14는 본 발명의 제3 실시예의 파일 구조를 도시하는 도면,
도 15는 본 발명의 제3 실시예에 관한 동화상 데이터 재생 장치에 의한 랜덤 액세스 처리를 도시하는 도면으로, 도 15a는 제1 처리 방법을 도시하는 도면이고, 도 15b는 제2 처리 방법을 도시하는 도면,
도 16은 도 15a에 근거한 동화상 데이터 재생 장치의 처리 수순을 도시하는 플로 차트,
도 17은 본 발명의 제4 실시예에 관한 동화상 데이터 재생 장치에 의해 생성된 MP4 파일의 파일 구조를 도시하는 도면,
도 18은 본 발명의 제4 실시예에 관한 동화상 데이터 재생 장치에 의한 랜덤 액세스 정보의 취득 수순을 도시하는 플로 차트,
도 19는 본 발명의 제4 실시예에 관한 동화상 데이터 재생 장치에 의한 랜덤 액세스 정보의 취득 수순을 도시하는 도면으로, 도 19a는 제1 취득 수순을 도시하는 도면이고, 도 19b는 제2 취득 수순을 도시하는 도면,
도 20은 본 발명에 관한 동화상 데이터 재생 장치의 응용예를 도시하는 도면이다.
전술한 목적을 달성하기 위해서, 음성 데이터와 텍스트 데이터 중의 적어도 하나와 화상 데이터를 포함하는 파일을 재생하는 본 발명의 동화상 데이터 재생 장치는, 동화상 데이터 재생 장치가, 파일을 동화상 데이터 재생 장치에 입력하는 파일 입력부, 파일을 일시 기억하는 영역을 갖는 파일 일시 기억부, 파일 일시 기억부에 기억된 입력 파일을 독출한 후에 입력 파일에 포함된 화상 데이터, 음성 데이터, 또는 텍스트 데이터의 분리와 동기 재생의 파일 헤더 정보를 해석하는 동작 가능한 파일 해석부, 파일 해석부에 의해 해석된 파일 헤더 정보에 근거하여, 파일 일시 기억부에 기억된 입력 파일에 포함된 화상 데이터, 음성 데이터 또는 텍스트 데이터를 독출하여 복호화하는 동작 가능한 복호화부, 복호화부에 의해 복호화된 화상 데이터, 음성 데이터 또는 텍스트 데이터를 재생하여 이 데이터를 표시 장치로 출력하는 재생부, 파일 해석부에 의해 해석된 파일 헤더 정보에 근거하여 화상 데이터, 음성 데이터 또는 텍스트 데이터에 랜덤 액세스하기 위한 랜덤 액세스 정보를 생성하는 동작 가능한 랜덤 액세스 정보 생성부, 랜덤 액세스 정보 생성부에 의해 생성된 랜덤 액세스 정보를 참조하여 입력 파일의 해석 위치를 변경시키는 해석 위치 변경 명령을 파일 해석부로 출력하는 동작 가능한 재생 위치 제어부를 포함한다. 상기 파일 해석부는, 재생 위치 제어부에 의해 출력된 해석 위치 변경 명령에 근거하여 파일 일시 기억부에 기억된 입력 파일의 독출 위치를 변경하고, 입력 파일에 포함된 화상 데이터, 음성 데이터 또는 텍스트 데이터에 대한 파일 헤더 정보를 해석한다.
이들 특징의 덕택으로, 이 장치는, 제1 파일 재생시에 개별적으로 복호화 가능한 프레임들에 대한 헤더 정보의 위치를 나타내는 정보, 즉, 랜덤 액세스 정보를 생성할 수 있기 때문에 신속한 랜덤 액세스 재생을 실현할 수 있다.
여기서 랜덤 액세스 정보 생성부는 입력 파일에 포함된 미디어 데이터에 대해 각각 랜덤 액세스 정보를 생성할 수 있다. 그렇게 함으로써, 입력 파일에 있어서 각종 트랙들이 다중화되는 경우에, 각 트랙에 대한 랜덤 액세스 정보를 참조함으로써 신속한 랜덤 액세스 처리의 유효성이 달성된다.
또한, 본 발명의 동화상 데이터 재생 장치는, 랜덤 액세스 정보 생성부에 의해 생성된 랜덤 액세스 정보를 포함하는 파일들을 출력하는 동작 가능한 파일 출력부를 포함하고, 랜덤 액세스 정보 생성부는 입력 파일들이 계층적 박스 구조를 가질 때 입력 파일에 포함된 각각의 미디어 데이터에 대해 랜덤 액세스 정보를 기입하기 위한 제1 계층적 층(hierarchical layer)과 이 제1 계층적 층이 통합되는 제2 계층적 층을 생성하고, 제2 계층적 층을 입력 파일에 통합함으로써 파일 출력부가 랜덤 액세스 정보와 함께 파일들을 출력하는 것이 바람직하다.
이와 같이, 제1 파일 재생시에 생성되는 랜덤 액세스 정보가 파일로서 출력되고 있기 때문에, 다음 재생시의 랜덤 액세스 재생을 신속하게 하는데에 기여할 수 있는 장치를 실현할 수 있다.
또한, 파일 출력부는, 입력 파일에 통합된 제2 계층적 층의 개시 위치를 나타내는 위치 정보를 생성하고, 이 위치 정보를 입력 파일에 통합시키며, 랜덤 액세스 정보와 함께 파일들을 출력할 수 있다.
이 경우, 랜덤 액세스 정보가 기억된 부분을 신속히 독출할 수 있어, 랜덤 액세스 재생을 보다 빠르게 한다.
본 발명은 동화상 데이터 재생 장치로서 뿐만 아니라 이 동화상 데이터 재생 장치의 특징부들이 단계들로서 이용되는 동화상 데이터 재생 방법 및 이들 단계를 실행하는 컴퓨터를 갖는 프로그램으로서 구현될 수 있다는 것에 유의한다. 이러한 프로그램의 경우, 프로그램이 CD-ROM 등의 기억 매체와 인터넷 등의 전송 매체를 통해 배송될 수 있다는 것은 물론이다.
이하에 본 발명의 실시예가 도면을 참조하여 상세히 설명된다.
(제1 실시예)
도 2는 본 발명의 제1 실시예에 관한 동화상 데이터 재생 장치의 구성을 도시하는 블록도이다.
이 동화상 데이터 재생 장치(200)는, MPEG-4 등의 압축 부호화 방법에 의해 부호화된 화상 데이터, 음성 데이터 등을 복호화하여 재생하는 장치로서, 장치에 MP4 파일을 받아들이는 파일 입력부(201), 장치에 받아들여진 MP4 파일을 일시 기억하는 데이터 파일 일시 기억부(202), MP4 파일의 헤더 정보를 독출하여 해석하는 데이터 파일 해석부(203), MP4 파일에 포함된 엔티티 데이터를 복호화하는 데이터 복호화부(204), 복호화된 엔티티 데이터를 재생하여 디스플레이 등의 표시 장치로 출력하는 데이터 재생부(205), 랜덤 액세스를 신속히 수행하기 위해서 랜덤 액세스 정보 테이블(이하 "RA 정보 데이블"이라고 부름)을 작성하는 랜덤 액세스 정보 테이블 작성부(206), 입력 완료된 MP4 파일과 RA 정보 데이블을 다중화하여 새로운 MP4 파일을 출력하는 파일 출력부(207), 및 출력된 MP4 파일을 기억하는 파일 기억부(208)를 가지고 있다.
파일 입력부(201)는, 인터넷 상의 서버 장치에 기억되어 있는 MP4 파일을 동화상 데이터 재생 장치에 다운로드하여 받아들이는 동작 가능한 처리부로서, 인터넷 등을 통해 서버와 통신하는 통신 인터페이스 등에 의해서 구현된다. 이 파일 입력부(201)는, MP4 파일을 파일 헤드부터 순서대로 다운로드하여 받아들이고, 데이터 파일 일시 기억부(202)에 이 파일을 순서대로 기억하게 한다.
데이터 파일 일시 기억부(202)는, 파일 입력부(201)에 의해 받아들여진 MP4 파일을 일시 기억하는 동작 가능한 기억부로서, RAM(Random Access Memory), 하드 디스크 등의 기억 장치에 의해서 구현된다.
데이터 파일 해석부(203)는, 데이터 파일 일시 기억부(202)에 기어되어 있는 MP4 파일의 헤더 정보를 독출하여 해석하는 동작 가능한 처리부로서, CPU와 메모리에 의해서 구현된다. 여기서 말하는 MP4 파일의 파일 헤더 정보는, 무비 박스에 포함된 파일 전체의 헤더 정보와, 무비 프래그먼트 박스에 포함된 다중화 분리 정보, 동기 재생 정보 등의 무비 프래그먼크 헤더 정보를 의미한다. 또한, 이 데이터 파일 해석부(203)는, 프레임 인터페이스 위치와 프리젠테이션 시간에 대한 정보 등의 화상 데이터 등을 복호화하는데 필요한 복호화 명령 정보를 MP4 파일 헤더 정보 해석의 결과에 근거하여 데이터 복호화부(204)로 출력한다. 또한, 이 데이터 파일 해석부(203)는 랜덤 액세스 정보(이하 "RA 정보"라고 부름)를 MP4 파일 헤더 정보 해석의 결과에 근거하여 RA 정보 테이블 작성부(206)로 출력한다.
데이터 복호화부(204)는, 데이터 파일 해석부(203)로부터 받아들인 복호화 명령 정보에 근거하여 데이터 파일 일시 기억부(202)에 기억되어 있는 MP4 파일의 화상 데이터, 음성 데이터 등과 같은 엔티티 데이터를 독출하여 복호화하는 동작 가능한 처리부로서, CPU와 메모리를 갖는 디코더에 의해서 구현된다.
데이터 재생부(205)는, 데이터 복호화부(204)에 의해 복호화된 엔티티 데이터를 재생하여 디스플레이 등의 표시 장치 또는 스피커로 출력하는 동작 가능한 유닛으로, DSP(Digital Signal Processor) 등의 마이크로프로세서, VRAM(Video Random Access Memory)를 갖는 칩, 또는 비디오 카드 등에 의해서 구현된다.
RA 정보 테이블 작성부(206)는, 데이터 파일 해석부(203)로부터 받아들인 RA 정보에 근거하여 RA 정보 테이블을 작성하는 동작 가능한 처리부로서, CPU와 메모리에 의해서 구현된다. 여기서 말하는 RA 정보는 랜덤 액세스 후의 재생 개시 위치가 되는 프레임의 헤더 정보에 관한 위치 정보와 시간 정보이고, RA 정보 테이블은 통합된 RA 정보의 테이블이다. RA 정보와 RA 정보 테이블의 상세한 설명은 후술된다.
파일 출력부(207)는, 다운로드 후에 데이터 파일 일시 기억부(202)에 기억되어 있는 MP4 파일, 즉, 이 장치에 입력된 MP4 파일을 독출하고, RA 정보 테이블 작성부(206)로부터 RA 정보 테이블을 받아들여 RA 정보 테이블을 입력 완료된 MP4 파일의 말미에 추가하고, 입력 완료된 MP4 파일과 RA 정보 테이블을 다중화하여 새로운 MP4 파일을 출력하는 동작 가능한 처리부로서, CPU와 메모리에 의해서 구현된다.
파일 기억부(208)는, 파일 출력부(207)에 의해 출력된 MP4 파일을 기억하는 동작 가능한 기억부로서, 하드 디스크, 광자기 디스크 등의 기억 장치, SD 메모리 카드 등의 기억 매체 등에 의해서 구현된다.
여기서, 이 동화상 데이터 재생 장치(200)에 의해 출력된 MP4 파일의 구조가 설명된다.
도 3은 이 제1 실시예에 관한 동화상 데이터 재생 장치(200)에 의해 생성된 MP4 파일의 파일 구조를 도시하는 도면이다.
도 3에 도시된 바와 같이, 동화상 데이터 재생 장치(200)에 의해 생성된 MP4 파일(300)은, 무비 박스(301), 무비 데이터 박스(302), 무비 프래그먼트 칼럼(303) 및 RA 정보 테이블(310)로 구성되어 있고, MP4 파일(300)은, 주로 이 MP4파일(300)이 RA 정보 테이블(310)을 갖고 있다는 점에서 종래의 MP4 파일(100)과 다르다.
이 MP4 파일(300)은, MP4 파일(300)의 무비 박스(301), 무비 데이터 박스(302), 및 무비 프래그먼트 칼럼(303)이 파일 입력부(201)를 통해서 동화상 데이터 재생 장치(200)에 의해 순서대로 받아들여진 다음에, 동화상 데이터 재생 장치(200)의 파일 출력부(207)에서 RA 정보 테이블(310)의 부분이 추가된다.
즉, 동화상 데이터 재생 장치(200)에 입력된 MP4 파일은 동화상 데이터 재생 장치(200)의 파일 입력부(201)에 의해 받아들여지는 단계에서 종래의 MP4 파일(100)과 동일한 구조를 갖는다.
이 MP4 파일(300)의 생성 프로세스를 설명하기 위해서, 도 3은 특히 도 1과 다른 프래그먼트 칼럼(303)을 포함하는 계층적 박스 구조를 도시한다.
무비 프래그먼트 칼럼(303)은 반복적으로 배치되는 다수의 무비 프래그먼트(304)이고, 무비 프래그먼트(304)는 무비 프래그먼트 박스(305)와 프래그먼트 데이터 박스(306)가 번갈아 배치된다. 무비 프래그먼트 박스(305)의 종류를 나타내는 "moof"의 문자열은 이 박스가 무비 프래그먼트 박스(305)라는 것을 식별하는 무비 프래그먼트 박스(305)의 박스 헤더에 포함된다. 또한, 도면에서는 정보가 기억되지 않았지만 이 종류를 나타내는 문자열 직전의 위치에 이 박스의 크기에 대한 정보가 기억된다. "moof" 이외에, 파일의 헤드로부터 각 무비 프래그먼트 박스(305)의 순위 위치를 나타내는 번호가 무비 프래그먼트 박스(305)의 박스 헤더부에 포함되어 있다.
또한, 트랙 프래그먼트 박스(307)의 종류를 나타내는 "traf"의 문자열이 이 박스가 트랙 프래그먼트 박스(307)인 것을 식별하는 무비 프래그먼트 박스(305)의 박스 데이터 기억부에 포함된 트랙 프래그먼트 박스(307)의 박스 헤더부에 포함된다. 또한, 이 박스의 크기에 대한 정보가 이 종류를 나타내는 문자열 직전의 위치에 기억된다. 트랙의 트랙 번호 정보가 트랙 프래그먼트 박스(307)의 박스 헤더부에 포함되어 각 트랙을 식별한다. 전술한 바와 같이, 트랙 프래그먼트 박스(307)는 일종의 헤더 데이터이고, 프래그먼트 데이터 박스(306)에는 지정된 데이터가 기억된다. 즉, 무비 프래그먼트 박스(305)에 기억된 트랙 프래그먼트 박스(307)의 순위 위치를 나타내는 정보가 나타내어지지 않고, 동화상 데이터 재생 장치(200)는 트랙 프래그먼트 박스(307)의 수를 출현할 때마다 계수한다.
트랙 런 박스(308)의 종류를 나타내는 "trun"의 문자열은 트랙 프래그먼트 박스(307)의 박스 데이터 기억부에 포함된 트랙 런 박스(308)의 박스 헤더부에 포함되고, 이 박스의 크기에 대한 정보가 이 종류를 나타내는 문자열 직전 위치에 기억된다. 또한, 트랙 런 박스(308)의 박스 데이터 기억부에 포함된 엔트리(309) 필드에는, 엔트리(309)에 의해 지시된 화상 데이터와 음성 데이터 등의 최소 유닛의 표시 구간 정보와 프레임이 인트라 프레임인지 아닌지를 나타내는 정보가 포함된다. 무비 박스(301)에서는 파일 작성 장치가 화상 샘플 전체에 관한 동기 샘플 플래그 정보의 디폴트 값을 기억하는 경우가 있고, 트랙 프래그먼트 박스(307)에서는 파일 작성 장치가 박스에 포함된 샘플에 관한 동기 샘플 플래그 정보와 구간 길이 정보의 디폴트 값을 기억하는 경우가 있다.
샘플이 인트라 프레임인 것을 나타내는 정보는 트랙 런 박스(308)에 포함된 제1 엔트리(309)가 샘플이 인트라 프레임인 것을 나타낼 때 트랙 런 박스(308) 필드에 기억되는 반면에, 현재의 엔트리(309)의 각각에 대한 동기 샘플 플래그 정보는 엔트리(309)에 의해 지시된 샘플이 동기 프레임일 때 엔트리(309) 필드에 기억된다.
프래그먼트 데이터 박스(306)의 종류를 나타내는 "mdat"의 문자열은, 이 박스가 프레임 데이터 박스(306)인 것을 나타내는 프레임 데이터 박스(306)의 박스 헤더부에 포함된다. 이 박스의 크기에 대한 정보가 이 종류를 나타내는 문자열 직전 위치에 기억된다. 또한, 무비 프래그먼트 박스(305)에 포함된 각 엔트리(309)에 의해 나타내어진 프레임들을 구성하는 샘플들이 기입 순서대로 프래그먼트 데이터 박스(306)의 박스 데이터 기억부에 포함된다.
도 3에서, 동기 샘플 플래그(S1)는 제1 무비 프래그먼트 박스(305)의 제1 트랙 프래그먼트 박스(307)에 포함된 제1 트랙 런 박스(308)의 제1 엔트리(309)에 존재하고, 동기 샘플 플래그(S2)는 제2 무비 프래그먼트 박스(305)의 제1 트랙 프래그먼트 박스(307)에 포함된 제1 트랙 런 박스(308)의 제2 엔트리(309)에 존재한다. 그러므로, 동기 샘플 플래그(S1)에 대한 동기 샘플 플래그 정보는 제1 트랙 런 박스(308)의 필드에 존재하고, 동기 샘플 플래그(S2)에 대한 동기 샘플 플래그 정보는 세트 엔트리(309)의 필드에 존재한다. 또한, 동기 샘플 플래그(S1)는 제1 프래그먼트 데이터 박스(306)에 포함된 제1 샘플이 인트라 프레임(I1)인 것을 나타내고 있다.
즉, 랜덤 액세스 후의 재생 개시 위치가 되는 프레임들의 헤더 정보가 이들 동기 샘플 플래그들을 포함하는 엔트리(309)에 기억되므로, 동화상 데이터 재생 장치(200)는 이들 엔트리(309)에 대한 위치 정보와 시간 정보를 통합하여 RA 정보 테이블(310)을 작성한다.
이하에 RA 정보 테이블(310)의 작성 프로세스가 도 4를 참조하여 설명된다.
도 4는 이 제1 실시예에 관한 동화상 데이터 재생 장치가 RA 정보 테이블을 작성하는 처리 순서를 도시하는 플로 차트이다.
먼저, 데이터 파일 해석부(203)는, 무비 프래그먼트(304)에 포함된 제1 무비 프래그먼트 박스(305)를 독출하고(S10), 다음에 무비 프래그먼트 박스(305)에 포함된 제1 트랙 프래그먼트 박스(307)를 독출한다(S11). 데이터 파일 해석부(203)는 박스 계층의 하위층으로 진행되어 제1 트랙 프래그먼트 박스(307)에 포함된 제1 트랙 런 박스(308)를 독출한다(S12).
데이터 파일 해석부(203)는 동기 샘플 플래그 정보가 이 트랙 런 박스(308) 필드에 존재하는지를 해석 판단한다(S13).
동기 샘플 플래그 정보가 이 트랙 런 박스(308) 필드에 존재하는 경우에, 데이터 파일 해석부(203)는 동기 샘플 플래그의 위치 정보와 시간 정보를 RA 정보 로서 RA 정보 테이블 작성부(206)로 출력하고, RA 정보 테이블 작성부(206)는 이 정보를 RA 정보 테이블(310)에 추가한다(S14).
한편, 동기 샘플 플래그 정보가 트랙 런 박스(308) 필드에 존재하지 않는 경우에, 데이터 파일 해석부(203)는 박스 계층의 하위층으로 진행되어 제1 트랙 런박스(308)에 포함된 엔트리(309)를 순서대로 독출한다(S15).
데이터 파일 해석부(203)는 순서대로 독출된 엔트리(309)의 필드에 동기 샘플 플래그 정보가 기억되어 있는지를 해석 판단한다(S16).
동기 샘플 플래그 정보가 엔트리(309) 필드에 존재하면, 전술한 동기 샘플 플래그 정보가 트랙 런 박스(308)에 존재하는 경우와 같이, RA 정보 테이블 작성부(206)는 데이터 파일 해석부(203)에 의해 RA 정보로서 출력된 동기 샘플 플래그의 위치 정보와 시간 정보를 RA 정보 테이블(310)에 추가한다(S14).
한편, 동기 샘플 플래그 정보가 엔트리(309) 필드에 존재하지 않으면, RA 정보로서 동기 샘플 플래그의 위치 정보와 시간 정보가 RA 정보 테이블 작성부(206)로 보내져 이 정보가 RA 정보 테이블(310)에 추가될 때와 동시에, 데이터 파일 해석부(203)는 다음 트랙 런 박스(308)를 독출한다.
트랙 프래그먼트 박스(307)가 트랙 런 박스(308)를 포함하면, 동화상 데이터 재생 장치(200)는 S12~S14의 수순을 반복한다. 트랙 프래그먼트 박스(307)가 트랙 런 박스(308)를 포함하지 않으면, 데이터 파일 해석부(203)는 다음 트랙 프래그먼트 박스(307)를 독출한다(S17).
마찬가지로, 무비 프래그먼트 박스(305)가 트랙 프래그먼트 박스(307)를 포함하면, 동화상 재생 장치(200)는 S11~S17의 수순을 반복한다. 무비 프래그먼트 박스(305)가 트랙 프래그먼트 박스(307)를 포함하지 않으면, 데이터 파일 해석부(203)는 다음 무비 프래그먼트 박스(305)를 독출한다(S18).
그 후, 다음 무비 프래그먼트 박스(305)에 의해, 동화상 데이터 재생장치(200)는 S11~S18의 수순을 반복한다. 다음 무비 프래그먼트 박스(305)없이, RA 정보 테이블 작성부(206)는 데이터 파일 해석부(203)로부터 RA 정보 앤드 정보를 수신하여, 작성된 RA 정보 테이블(310)을 파일 출력부(207)로 출력한다(S19). 마지막으로, RA 정보 테이블(310)은 파일 출력부(207)에 의해 박스 구조로 변형되어 입력 완료된 MP4 파일의 말미와 결합되어 새로운 MP4 파일(300)의 부분으로서 출력된다(S20).
전술한 바와 같이, 무비 샘플 전체에 대한 동기 샘플 플래그 정보의 디폴트 값이 무비 박스(301)에 기억되고 샘플들에 대한 동기 샘플 플래그 정보와 구간 길이 정보의 디폴트 값이 트랙 프래그먼트 박스(307)에 기억되어 있으면, 동화상 데이터 재생 장치(200)는 이들 디폴트 값을 취득하여 메모리에 기억한다. 트랙 런 박스(308)가 생략되면, 동화상 데이터 재생 장치(200)는, 트랙 프래그먼트 박스(307)를 참조한 다음에 무비 박스(301)를 참조하여, 이들 디폴트 값을 이용하는 RA 정보 테이블(310)을 작성한다.
이하에 이 프로세스로 작성된 RA 정보 테이블(310)에 포함된 정보와 데이터 구조가 도 5를 참조하여 설명된다.
도 5a는 RA 정보 테이블(310)의 데이터 내용을 도시하는 도면이다.
RA 정보 테이블(310)은, 테이블에 기억된 RA 정보 수와 동일한 라인 수를 갖고, 하나의 RA 정보가 라인마다 기입되는 구조를 갖는다. 각 라인은 랜덤 액세스 샘플의 위치와 프리젠테이션 시간을 제공하고 간단히 "RA 엔트리"라고 부른다.
RA 정보의 라인(RA 엔트리)은, 동기 샘플 플래그 정보와 함께 RA 엔트리에의해 지시된 프레임의 프리젠테이션 시간을 나타내는 시간(311), 엔트리(309)를 포함하는 "moof"의 시작과 파일의 시작간의 바이트 오프셋을 제공하는 "moof"의 개시 위치(312), 박스 종류가 "traf"이고 각 "moof"(312)에 엔트리(309)를 포함하는 트랙 프래그먼트 박스(307)의 순위 위치를 나타내는 "traf" 번호(313), 박스 종류가 "trun"이고 각 "traf"에 엔트리(309)를 포함하는 트랙 런 박스(308)의 순위 위치를 나타내는 "trun" 번호(314), 각 "trun"의 종류의 엔트리(309)의 순위 위치를 나타내는 엔트리 번호(315), 엔트리(309)에 의해 지시된 샘플의 바이트 오프셋을 제공하는 데이터의 개시 위치(316)의 필드들로 구성되어 있다.
도 5b는 RA 정보 테이블(310)의 데이터 구조를 도시하는 도면이다.
전술한 바와 같이, RA 정보 테이블(310)은 파일 출력부(207)에 의해 박스 구조로 변형된다(도 4의 S20).
박스 구조로 변형된 RA 정보 테이블(310)은 MP4 파일(300)에 포함된 다른 박스들과 같이 박스 헤더부(317)와 박스 데이터 기억부(318)를 포함한다. 박스 헤더부(317)는 적어도 박스 크기 정보를 기억하는 박스 크기(317a)와 박스 종류를 식별하는 문자열을 기억하는 박스 종류(317b)를 포함하고, 예를 들면 이들 필드에는 각각 4 바이트가 할당된다. 이 박스 헤더부(317)는 RA 정보 테이블(310)의 버전과 플래그 정보를 나타내는 버전 플래그 정보를 기억할 수 있다.
RA 정보 테이블(310)에 포함된 RA 정보의 수를 나타내는 RA 정보 테이블에 포함된 샘플 플래그의 수(319)는 박스 헤더부(317) 다음에 위치된 박스 데이터 기억부(318)에 포함되고, 샘플 플래그의 수(319) 다음에, RA 정보를 구성하는311~316의 필드가 한 줄로 늘어서 있다. 다음 데이터 길이가 다음 필드들에 할당된다고 가정하여 설명한다. 이 RA 정보를 구성하는 필드들에 대해서, 샘플 플래그의 수(319) 필드에 4 바이트, 시간(311)에 4 바이트, "moof"의 개시 위치(312)에 4 바이트, "traf" 번호(313)에 1 바이트, "trun" 번호(314)에 1 바이트, 엔트리 번호(315)에 2 바이트, 데이터의 개시 위치(316)에 4 바이트가 할당된다고 가정하여 설명한다. 그러나, 데이터 길이를 짧게 할당되어 데이터 양을 감소시킬 수 있거나 또는 RA 정보 테이블은 데이터 길이는 나타내는 정보를 기억할 수 있다.
이와 같이, 이 제1 실시예에 관한 동화상 데이터 재생 장치(200)는, 제1 파일 재생 단계, 즉, MP4 파일을 다운로드하여 재생하는 단계에서 파일을 재생할 때 인트라 프레임 등의 랜덤 액세스에 의한 재생 개시 위치가 되는 프레임의 헤더 정보에 대한 위치 정보와 시간 정보를 추출한다. 동화상 데이터 재생 장치(200)는 위치 정보 등을 통합하여 이 정보를 다운로드 완료하여 새로운 MP4 파일을 출력한 후 MP4 파일의 말미에 추가한다. 즉, 동화상 재생 장치(200)는, 제1 파일 재생 단계에서 랜덤 액세스를 신속히 수행하기 위한 정보를 생성하여 출력하기 때문에, 다운로드 후의 재생에 있어서 랜덤 액세스 재생을 신속하게 하는데 기여할 수 있다.
다음에, 제1 실시예의 제1 변형이 설명된다.
전술한 제1 실시예의 동화상 데이터 재생 장치(200)에서는, 데이터 파일 해석부(203)가 RA 정보 테이블이 작성되는 RA 정보 테이블 작성부(206)로 RA 정보를 출력한다.
이에 반해, 제1 변형에서, 전술한 제1 실시예의 장치와 매우 유사한 구조의동화상 데이터 재생 장치에서는, 데이터 파일 해석부가 화상 트랙용 RA 정보와 음성 트랙용 RA 정보와 같은 각각의 트랙용 RA 정보를 RA 정보 테이블 작성부로 출력하여, RA 정보 작성부에서 각각의 트랙용 RA 정보 테이블이 작성된다.
따라서, 제1 변형에 관한 동화상 데이터 재생 장치에 의해 생성된 MP4 파일의 구조는 전술한 동화상 데이터 재생 장치(200)에 의해 생성된 MP4 파일과 다르다. 이하에, 제1 변형에 관한 동화상 데이터 재생 장치에 의해 생성된 MP4 파일의 구조와 생성 프로세스가 설명된다.
도 6은 이 제1 실시예의 제1 변형에 관한 동화상 데이터 재생 장치에 의해 생성된 MP4 파일의 파일 구조를 도시하는 도면이다.
이 MP4 파일(400)은, 무비 박스(401), 무비 데이터 박스(402), 무비 프래그먼트 칼럼(403) 및 RA 정보 테이블 칼럼(410)을 포함하고, 이 파일은 MP4 파일(400)이 다수의 RA 정보 테이블을 포함한다는 점에서 전술한 MP4 파일(300)과 다르다.
이 MP4 파일(400)의 구조는 동화상 데이터 재생 장치에 받아들여질 때의 종래의 MP4 파일(100)과 동일하다.
RA 정보 테이블 칼럼(410)은, 반복적으로 배치되는 다수의 RA 정보 테이블을 포함하는 박스 구조로 변형된다. 즉, 이 RA 정보 테이블 칼럼(410)은 MP4 파일(400)의 다른 박스들와 같이 박스 헤더부(411)와 박스 데이터 기억부(412)를 포함한다. RA 정보 테이블 칼럼(410)의 선두에 위치된 박스 헤더부(411)는 적어도 박스의 크기 정보를 기억하는 박스 크기(411a)와 박스 종류를 나타내는 문자열을기억하는 박스 종류(411b)를 포함하고, 예를 들면, 이들 필드에는 각각 4 바이트가 할당된다. 이 박스 헤더부(411)에는 RA 정보 테이블 칼럼(410)의 버전과 플래그 정보를 나타내는 버전 플래그 정보가 포함될 수 있다.
RA 정보 테이블 칼럼(410)에 포함된 RA 정보 테이블의 수를 나타내는 RA 정보 테이블의 수(413)는 박스 헤더부(411) 다음에 위치된 박스 데이터 기억부(412)에 포함되고, 예를 들면, 박스 데이터 기억부(412)에는, 화상 트랙용 RA 정보 테이블(414M), 음성 트랙용 RA 정보 테이블(414A) 및 텍스트 트랙용 RA 정보 테이블(414T) 등의 각각의 트랙에 대해 작성된 RA 정보 테이블이 포함된다.
각각의 트랙에 대해 작성된 RA 정보 테이블의 구조는 트랙 종류에 상관없이 동일하거나 또는 트랙 종류간에 변화될 수 있다. 화상 트랙용 RA 정보 테이블(414M)과 음성 트랙용 RA 정보 테이블(414A)을 참조하여, RA 정보 테이블의 구조가 트랙 종류에 상관없이 동일하다고 가정하여 설명된다.
화상 트랙용 RA 정보 테이블(414M)은 화상 트랙에 대한 RA 정보가 통합된 테이블이다. 이 화상 트랙용 RA 정보 테이블(414M)의 헤드는 RA 정보 테이블이 어느 트랙인가를 나타내는 고유의 문자열을 기억하는 필드인 트랙 ID(415M)를 포함한다. 이 트랙 ID(415M)의 다음에 오는 테이블에는 샘플 플래그의 수(416M) 필드가 포함되고, 그 다음에, RA 엔트리(417M)가 위치된다. RA 엔트리(417M)는 전술한 제1 실시예의 RA 정보 테이블(310)의 "시간(311)~"데이터의 개시 위치(316)""의 통합 필드를 포함하는 필드 그룹을 의미한다.
한편, 음성 트랙용 RA 정보 테이블(414A)은 음성 트랙에 대한 RA 정보를 통합하는 테이블이다. 이 음성 트랙용 RA 정보 테이블(414A)은 화상 트랙용 RA 정보 테이블(414M)과 같이 헤드에 트랙 ID(415A)를 포함한다. 이 트랙 ID(415A)의 다음에 오는 테이블에는 샘플 플래그의 수(416A)가 포함되고, 그 다음에, RA 엔트리(417A)가 위치된다.
도 6에 도시되는 바와 같이, RA 정보 테이블(414M 및 414A)은, 화상 트랙용 RA 정보 테이블(414M)의 RA 엔트리(417M)와 음성 트랙용 RA 정보 테이블(414A)의 RA 엔트리(417A) 등의 한쌍의 동일 순서의 RA 엔트리의 동기 재생이 수행되도록 작성된다.
또한, 일반적으로, 음성 트랙의 경우에는, 복호화된 프레임의 데이터가 화상 트랙의 예측 프레임의 데이터와 달리 음성 트랙이 복호화될 때를 참조하지 않게 되고 임의의 음성 프레임이 복호화 및 재생의 개시 위치가 될 수 있다. 이것은 테이블에 추가된 정보가 항상 샘플이 인트라 프레임이라는 것을 나타내는 "엔트리"로 한정되지 않기 때문이다. 따라서, 예를 들면, 음성 프레임의 재생 시간의 간격이 일정한 규칙이 가능하며, 음성 트랙에 대한 RA 정보는 이 규칙에 따라 위치된 음성 프레임의 헤더 정보에 대한 시간 정보와 위치 정보가 되어야 한다.
만약 그렇지 않으면, 화상 프레임의 재생 시간을 음성 프레임의 재생 시간에 동조시킴으로써 화상 트랙용 RA 정보 테이블(414M)의 RA 엔트리(417M) 필드에 기억된 재생 시간값에 재생 시간의 음성 프레임이 가장 가까운 규칙이 가능하다. 화상 프레임의 샘플 레이트가 음성 프레임과 다르기 때문에, 화상 프레임의 재생 시간은 항상 음성 프레임과 동일한 것은 아니다. 그러나, 이 규칙에 따르면, 참고를 위해근사시킨 재생 시간과 "moof"의 개시 위치를 RA 엔트리(417M 및 417A)에 기입할 수 있어, 화상 프레임의 재생 시간과 음성 프레임의 재생 시간간의 시간 지체가 있더라도 랜덤 액세스 후의 화상 데이터의 재생 개시 시간과 음성 데이터의 개시 시간을 개략적으로 동기화시킬 수 있다.
또한, 음성 트랙에 대한 RA 정보는 화상 프레임에 동기하여 재생된 음성 프레임의 헤더 정보에 대한 시간 정보와 위치 정보일 수 있다.
즉, 예를 들면, 음성 트랙용 RA 정보 테이블(414A)에 포함된 샘플 플래그 수(416A) 뒤에, 소정의 규칙에 따라 배치된 음성 프레임의 재생 시간을 나타내기 위한 필드, 화상 프레임에 동기하여 재생된 음성 프레임에 대응하는 헤더의 위치 정보를 나타내기 위한 필드를 위치시키거나, 또는 이들 필드를 번갈아 배치시킬 수 있다.
이와 같이, 제1 변형에 관한 동화상 데이터 재생 장치는, 화상 트랙용 RA 정보 테이블과 음성 트랙용 RA 정보 테이블과 같은 각각의 트랙용 RA 정보 테이블을 포함하는 MP4 파일을 생성할 수 있으므로, 이 장치에 의해 받아들여진 MP4 파일에 각종 트랙이 다중화되더라도 다운로드 후의 재생시 랜덤 액세스 재생을 신속하게 하는데 기여할 수 있다.
다음에, 제1 실시예의 제2 및 제3 변형을 이하에 설명한다.
전술한 제1 실시예에서는, 동화상 데이터 재생 장치(200)가 이 장치에 의해 받아들여진 MP4 파일의 말미에 RA 정보 테이블(310)을 추가함으로써 MP4 파일(300)을 생성한다. 이에 반해, 제2 변형에서는, MP4 파일과 RA 정보 테이블 파일이 이장치에 받아들인 MP4 파일로부터 분리하여 행하여진다.
따라서, 제2 변형의 동화상 데이터 재생 장치의 구성요소는 전술한 동화상 데이터 재생 장치(200)와 다르다. 주로 제2 변형의 동화상 데이터 재생 장치와 동화상 데이터 재생 장치(200)간의 차이에 초점을 맞추어 제2 변형의 동화상 데이터 재생 장치를 설명한다.
도 7은 제1 실시예의 제2 변형의 동화상 데이터 재생 장치의 구성을 도시하는 도면이다.
이 제2 변형의 동화상 데이터 재생 장치(200B)는 주로 RA 정보 테이블 파일 출력부(219)와 RA 정보 테이블 파일 기억부(220)가 구비되어 있다는 점에서 동화상 데이터 재생 장치(200)와 다르다.
RA 정보 테이블 파일 출력부(219)는, RA 정보 테이블 작성부(216)에 의해 출력된 RA 정보 테이블을 받아들이고, RA 정보를 박스 구조로 변형시킨 다음에 파일로 변형시켜, RA 정보 테이블 파일을 출력하는 동작 가능한 유닛이다. 이 유닛은 CPU와 메모리에 의해서 구현된다.
RA 정보 테이블 파일 기억부(220)는, RA 정보 테이블 파일 출력부(219)에 의해 출력된 RA 정보 테이블 파일을 기억하는 동작 가능한 기억부로서, 하드 디스크, 광자기 디스크 등의 기억 장치, SD 메모리 카드 등의 기억 매체에 의해서 구현된다.
이 구성 때문에, 동화상 데이터 재생 장치(200B)는 RA 정보 테이블 파일과 MP4 파일을 분리하여 생성할 수 있어, MP4 파일 기억부(218)에 기억되는 MP4 파일을 파일 크기를 최소로 유지하면서 다른 동화상 데이터 재생 장치 등으로 재전송할 수 있다. 또한, 예를 들면, 플렉시블 디스크 등의 용이하게 휴대 가능한 기억 매체를 사용하여 다른 동화상 데이터 재생 장치에 RA 정보 테이블 파일만을 복사함으로써, RA 정보 테이블 파일의 애플리케이션 영역이 확장될 수 있다.
출력되는 MP4 파일과 RA 정보 테이블 파일간의 관계를 나타낼 필요가 있기 때문에, 예를 들면, RA 정보 테이블 파일에 MP4 파일과 동일한 파일명의 다른 확장자를 제공함으로써 이 관계를 나타내는 규칙을 규정하여 이 규칙에 따라 RA 정보 테이블 파일 출력부(219)에서 RA 정보 테이블 파일을 출력하는 것이 타당하다. 보다 구체적으로, 예를 들면, 파일이 MP4 파일인 것을 나타내기 위한 확장자가 ".mp4"이고 파일이 RA 정보 테이블 파일인 것을 나타내기 위한 확장자가 ".rat"일 때, MP4 파일을 "aaa.mp4"로 출력하고 RA 정보 테이블 파일을 "aaa.rat"로 출력하는 것이 타당하다.
이와 달리, 제3 변형에서는, RA 정보 테이블 파일, MP4 파일, 및 관련 관리 파일이 입력 MP4 파일로부터 생성된다.
따라서, 제3 변형의 동화상 데이터 재생 장치는 동화상 데이터 재생 장치(200B)와 다르다. 주로 제3 변형의 동화상 데이터 재생 장치와 동화상 데이터 재생 장치(200B)간의 차이에 초점을 맞추어 제3 변형의 동화상 데이터 재생 장치를 설명한다.
도 8은 제1 실시예의 제3 변형의 동화상 데이터 재생 장치의 구성을 도시하는 블록도이다.
이 동화상 데이터 재생 장치(200C)는 주로 파일 정보 관리부(231)와 관리 파일 기억부(232)가 구비되어 있다는 점에서 동화상 데이터 재생 장치(200B)와 다르다.
파일 정보 관리부(231)는, 키보드 등의 입력 장치를 통해 사용자에 의해 동화상 데이터 재생 장치(200C)에 입력된 파일명 순서에 따라 출력되도록 MP4 파일명과 RA 정보 테이블 파일명을 결정하고, MP4 파일명 정보를 MP4 파일 출력부(227)로 출력하고, RA 정보 테이블 파일명 정보를 RA 정보 테이블 파일 출력부(229)로 출력하며, 양 파일에 관련하는 규칙을 파일로 변형시켜 이 파일을 관련 관리 파일로서 출력하는 동작 가능한 유닛이다. 파일 정보 관리부(231)는 CPU와 메모리에 의해서 구현된다.
관리 파일 기억부(232)는, 파일 정보 관리부(231)에 의해 출력된 관련 관리 파일을 기억하는 동작 가능한 기억부로서, 하드 디스크, 광자기 디스크 등의 기억 장치, SD 메모리 카드 등의 기록 매체에 의해서 구현된다.
이 구성에 때문에, 동화상 데이터 재생 장치(200C)는 RA 정보 테이블 파일과 MP4 파일을 분리하여 생성할 때 양 파일에 관련하는 규칙에 관한 개별 파일을 생성할 수 있으므로, 사용자가 파일명을 결정할 수 있다.
이와 같이, 제1 실시예와 그 변형들의 동화상 데이터 재생 장치에 의해 생성되는 RA 정보 테이블과 MP4 파일을 관련시키는 패턴은 다수가 있다.
도 9a ~ 도 9c는 MP4 파일과 RA 정보 테이블의 관계를 도시하는 도면이다.
도 9a는 제1 실시예의 동화상 재생 장치(200)에 의해 생성된 파일을 도시하는 도면이다. 제1 실시예의 동화상 재생 장치(200)를 사용함으로써, 도 1에 도시된 구조를 갖는 MP4 파일(100)이 이 장치에 의해 받아들여질 때, RA 정보 테이블(310)이 이 파일의 말미에 추가되고, 이 파일이 RA 정보 테이블(310)이 통합된 새로운 MP4 파일(300)로서 출력된다.
도 9b는 제2 변형의 동화상 데이터 재생 장치(200B)에 의해 생성된 파일을 도시하는 도면이다. 동화상 데이터 재생 장치(200B)를 사용함으로써, 도 1에 도시된 구조를 갖는 MP4 파일(100)이 이 장치에 의해 받아들여질 때, 도 1에 도시된 MP4 파일(100)의 구조와 매우 유사한 구조의 MP4 파일(320)이 출력되고, 분리하여, RA 정보 테이블 파일(321)이 출력된다. 이 경우, 전술한 바와 같이, RA 정보 테이블 파일(321)명은 이것을 출력 MP4 파일(320)과 관련시키는 소정의 규칙에 따라 결정된다.
도 9c는 제3 변형의 동화상 데이터 재생 장치(200C)에 의해 생성된 파일을 도시하는 도면이다. 동화상 데이터 재생 장치(200C)를 사용함으로써, 도 1에 도시된 구조의 MP4 파일(100)이 이 장치에 의해 받아들여질 때, 도 1에 도시된 MP4 파일(100)의 구조와 매우 유사한 구조의 MP4 파일(330)이 출력되고, 분리하여, RA 정보 테이블 파일(331)과 관련 관리 파일(332)이 출력된다. 이 경우, 관련 관리 파일(332)은 전술한 바와 같이 RA 정보 테이블 파일(331)을 출력 MP4 파일(330)과 관련시키므로, 관련 관리 파일(332)은 RA 정보 테이블 파일(331)과 출력 MP4 파일(330)을 중재하는 역할을 한다.
전술한 바와 같이, 제1 실시예 및 그 변형들의 동화상 데이터 재생 장치는제1 파일 재생시 신속히 랜덤 액세스를 수행하는 정보를 생성하므로, 이 장치는 랜덤 액세스 재생을 신속하게 하는데 기여할 수 있다.
(제2 실시예)
다음에, 본 발명의 제2 실시예가 첨부 도면을 참조하여 설명된다.
전술한 제1 실시예에서는 RA 정보 테이블을 작성하여 랜덤 액세스 처리를 신속하게 하는 동화상 데이터 재생 장치에 대해서 설명되었지만, 이 제2 실시예에서는 작성된 RA 정보 테이블을 이용하는 동화상 데이터 재생 장치에 대해서 설명된다. 따라서, 이 제2 실시예의 동화상 데이터 재생 장치의 구성요소는 제1 실시예의 동화상 데이터 재생 장치(200)와 다르다. 다음에 차이점에 초점을 맞추어 설명한다.
도 10은 본 발명의 제2 실시예의 동화상 데이터 재생 장치의 구성을 도시하는 블록도이다.
이 동화상 데이터 재생 장치(500)는, 재생 위치 제어부(507)를 구비하고 있고, 동화상 데이터 재생 장치(500)가 파일 출력부와 파일 기억부 중 어느 쪽도 갖지 않는다는 점에서 제1 실시예의 동화상 데이터 재생 장치(200)와 다르다.
재생 위치 제어부(507)는, 랜덤 액세스 후의 재생 위치를 지시하는 해석 위치 명령 정보를 출력하는 동작 가능한 유닛으로, CPU와 메모리에 의해서 구현된다. 키보드 또는 마우스 등의 입력 장치를 통해 사용자에 의해 입력된 동화상 데이터 재생 장치(500)로의 재생 위치 변경 명령(랜덤 액세스 명령)에 따라, 이 재생 위치 제어부(507)는 RA 정보 테이블을 참조하여 랜덤 액세스 후의 재생 위치를 결정하고해석 위치 명령 정보를 데이터 파일 해석부(503)로 출력한다.
제1 실시예와 달리, 데이터 파일 해석부(503)는 해석 위치 명령 정보에 따라 MP4 파일의 헤더 정보를 해석하고 이 결과에 근거하여 복호화 명령 정보를 데이터 복호화부(504)로 출력한다.
또한, 모든 RA 정보를 통합하여 RA 정보 테이블을 작성하여 출력하는 RA 정보 테이블 작성부(506)를 갖는 것이 가능하고, 이 유닛이 소정 수의 RA 정보를 통합한 다음에 소정 간격으로 위치된 RA 정보 테이블을 순서대로 출력하게 하여 이 유닛이 다운로드 재생하는 동안 RA 정보를 이용할 수 있는 것이 바람직하다.
이 구성의 동화상 데이터 재생 장치(500)가 RA 정보를 파일로서 출력하지 않기 때문에, MP4 파일이 다운로드되면서 랜덤 액세스를 수행하고 재생된 또는 다운로드된 MP4 파일이 데이터 파일 일시 기억부(502)에 기억되는 것이 가능하다. 이것은, 동화상 데이터 재생 장치(500)의 외부 기억 장치로의 다운로드된 MP4 파일의 출력이 제한되는 경우를 위해서이고, 데이터 파일 일시 기억부(502)의 MP4 파일이 삭제될 때, 대응 RA 정보 테이블도 포기된다. MP4 파일의 다운로드된 부분에는 데이터가 없으므로, 랜덤 액세스에 의해 그 부분으로 건너뛸 수 없다. 그러나, MP4 파일이 다운로드되어 재생되는 동안에는 랜덤 액세스에 의해 다운로드된 부분으로 건너뛸 수 있다.
이와 같이, 제1 파일 재생 단계에서 파일 재생시, 제2 실시예의 동화상 데이터 재생 장치(500)는, 프레임들의 헤더 정보에 대한 위치 정보와 시간 정보 등이 랜덤 액세스에 의한 재생 개시 위치가 되는 RA 정보 테이블을 작성하고, 이 테이블에 기재된 정보를 참조하여 랜덤 액세스 재생을 수행하므로, 신속한 랜덤 액세스 재생을 실현할 수 있다.
다음에, 제2 실시예의 제1 변형이 설명된다.
전술한 제2 실시예에서는, 동화상 데이터 재생 장치(500)에 있어서, 작성된 RA 정보 테이블도, 다운로드 후의 MP4 파일도 파일로서 출력되지 않는다.
이에 반해, 제1 변형에서는, 동화상 데이터 재생 장치에 있어서, 작성된 RA 정보 테이블과 다운로드 후의 MP4 파일이 파일로서 출력된다.
따라서, 제1 변형의 동화상 데이터 재생 장치의 구성요소는 동화상 데이터 재생 장치(500)와 다르다. 다음에 그 차이점에 초점을 맞추어 제1 변형의 동화상 데이터 재생 장치(500)가 설명된다.
도 11은 제2 실시예의 제1 변형의 동화상 데이터 재생 장치의 구성을 도시하는 블록도이다.
이 동화상 데이터 재생 장치(500A)는 주로 동화상 데이터 재생 장치(500A)가 파일 출력부(518)와 파일 기억부(519)를 구비하고 있다는 점에서 전술한 제2 실시예의 동화상 데이터 재생 장치(500)와 다르다.
파일 출력부(518)는, 이 장치에 입력된 MP4 파일을 독출하고, RA 정보 테이블 작성부(516)에서 통합된 RA 정보 전체와 함께 RA 정보 테이블을 수신하고, RA 정보를 입력 MP4 파일의 말미에 추가하며, 입력 MP4 파일과 RA 정보 테이블을 다중화시켜 새로운 MP4 파일을 출력하는 동작 가능한 유닛으로, 이 파일 출력부(518)는 CPU와 메모리에 의해서 구현된다.
파일 기억부(519)는, 파일 출력부(518)에 의해 출력된 MP4 파일을 기억하는 동작 가능한 기억부로서, 하드 디스크, 광자기 디스크 등의 기억 매체, SD 메모리 카드 등의 기록 매체에 의해서 구현된다.
그리고, RA 정보 테이블 작성부(516)는, 전술한 동화상 데이터 재생 장치(500)의 RA 정보 테이블 작성부(506)와 같이, 소정 수의 RA 정보를 통합하고, 소정 간격으로 RA 정보 테이블을 작성하여 이 정보를 재생 위치 제어부(517)로 출력하며, RA 정보를 통합하여 통합된 RA 정보 전체와 함께 RA 정보 테이블을 파일 출력부(518)로 출력한다.
RA 정보 테이블 작성부(516)는, 소정 수의 RA 정보를 통합하고, 소정 간격으로 RA 정보 테이블을 작성하여 이 정보를 재생 위치 제어부(517)로 출력할 수 있고, 파일 출력부(518)는 통합된 RA 정보 전체와 함께 RA 정보 테이블을 작성하고 이 정보를 입력 완료된 MP4 파일의 말미에 추가할 수 있다.
통합되는 RA 정보의 구성은 전술한 제1 실시예의 RA 정보 테이블(310) 또는 전술한 제1 실시예의 제1 변형의 RA 정보 테이블(410)과 동일하다.
이와 같이, 제1 변형의 동화상 데이터 재생 장치(500A)는, 프레임들의 헤더 정보에 대한 위치 정보와 시간 정보가 랜덤 액세스에 의한 재생 개시 위치가 되는 RA 정보 테이블을 작성할 수 있고 제1 파일 재생 단계에서 파일을 재생할 때 테이블에 기억된 정보를 이용하여 랜덤 액세스 재생을 수행할 수 있기 때문에 신속한 랜덤 액세스 재생을 실현할 수 있다. 또한, 이 장치는, 다운로드 완료 후에 신속한 랜덤 액세스 재생을 수행하기 위한 정보를 파일로서 출력할 수 있으므로, 제2실시예와 달리 MP4 파일 다운로드 후에 데이터 파일 일시 기억부(512)에서 MP4 파일이 삭제된 후라도 랜덤 액세스 재생을 신속하게 하는데 기여할 수 있다.
다음에, 제2 실시예의 제2 변형이 설명된다.
전술한 제2 실시예의 제1 변형에서는, 동화상 데이터 재생 장치(500 및 500A)에서 RA 정보 테이블이 작성된다.
이에 반해, 제2 변형에서는, 동화상 데이터 재생 장치가, 미리 작성된 RA 정보 테이블들을 독출하여 이것들을 랜덤 액세스 재생에 이용하기 때문에 RA 정보 테이블을 작성하지 않는다.
따라서, 제2 변형의 동화상 데이터 재생 장치의 구성요소는 전술한 동화상 데이터 재생 장치(500 및 500A)와 다르다. 다음에 그 차이점에 초점을 맞추어 제2 변형의 동화상 데이터 재생 장치에 대해서 설명한다.
도 12는 제2 실시예의 제2 변형의 동화상 데이터 재생 장치의 구성을 도시하는 블록도이다.
이 동화상 데이터 재생 장치(500B)는, 주로, 동화상 데이터 재생 장치(500B)가 RA 정보 테이블 파일 기억부(527)를 구비하고 있지만, RA 정보 테이블 작성부 등을 구비하지 않는다는 점에서, 전술한 제2 실시예 및 제1 변형의 동화상 데이터 재생 장치(500 및 500A)와 다르다.
RA 정보 테이블 파일 기억부(527)는, 예를 들면, 전술한 제1 실시예의 제2 변형의 동화상 데이터 재생 장치(200B)에서 미리 작성된 RA 정보 테이블 파일을 기억하는 동작 가능한 기억부로서, 하드 디스크 등의 기억 장치 또는 SD 메모리 카드와 플렉시블 디스크 등의 기록 용이하게 휴대 가능한 기록 매체에 의해서 구현된다.
재생 위치 제어부(526)는, 키보드 또는 마우스 등의 입력 장치를 통해 동화상 데이터 재생 장치(500B)에 입력된 사용자로부터의 랜덤 액세스 명령을 추종하고, RA 정보 테이블 파일 기억부(527)로부터 RA 정보 테이블들을 독출하고, 이 정보를 참조하여, 랜덤 액세스에 의한 재생 위치를 판단하며, 해석 위치 명령 정보를 데이터 파일 해석부(523)로 출력한다.
동화상 데이터 재생 장치(500B)의 구성 때문에, 다운로드되어 재생되는 MP4 파일에 관한 RA 정보 테이블 파일이 미리 작성되었을 때 RA 정보 테이블들을 작성할 필요가 없으므로, 랜덤 액세스 재생을 신속하게 할 수 있다. 이 경우, RA 정보 파일이 RA 정보 모두를 포함하더라도 MP4 파일에 다운로드되지 않은 부분의 데이터가 없기 때문에, 랜덤 액세스에 의해 다운로드된 부분으로만 건너뛸 수 있다.
지금까지 설명된 바와 같이, 제2 실시예 또는 그 변형들의 동화상 데이터 재생 장치는 제1 파일을 재생할 때 신속한 랜덤 액세스를 수행하기 위한 정보를 생성하고 미리 생성된 정보를 독출하여 이 정보를 이용하므로, 신속한 랜덤 액세스 재생을 수행할 수 있다.
(제3 실시예)
다음에, 본 발명의 제3 실시예가 도면을 참조하여 설명된다.
전술한 제1 실시예에는 주로 RA 정보 테이블들을 작성하는 동화상 데이터 재생 장치에 대해서 설명되어 있고, 전술한 제2 실시예에는 주로 RA 정보 테이블들을이용하는 동화상 데이터 재생 장치에 대해서 설명되어 있다. 즉, 전술한 제1과 제2 실시예에는, 신속한 랜덤 액세스를 실현하기 위해서, RA 정보 테이블들을 박스 구조로 변형하거나 또는 박스 구조로 작성된 RA 정보 테이블을 이용하는 동화상 데이터 재생 장치가 설명되어 있다.
이에 반해, 제3 실시예의 동화상 데이터 재생 장치는, 각각의 트랙에 대해 RA 정보를 기억하는 박스들 및 이들 박스를 모두 하나에 기억하는 박스를 생성시킨다. 따라서, 제3 실시예의 동화상 데이터 재생 장치의 구성요소는 전술한 제1과 제2 실시예의 동화상 데이터 재생 장치와 다르다. 다음에 그 차이점에 초점을 맞추어 설명한다.
도 13은 본 발명의 제3 실시예의 동화상 데이터 재생 장치의 구성을 도시하는 블록도이다.
이 동화상 데이터 재생 장치(600)는 주로 동화상 데이터 재생 장치(600)가 RA 정보 기억 박스 작성부(606)를 구비한다는 점에서 전술한 제1과 제2 실시예의 동화상 데이터 재생 장치와 다르다.
RA 정보 기억 박스 작성부(606)는, 데이터 파일 해석부(603)로부터 RA 정보를 수신하고, 각각에 트랙에 대해 RA 정보를 기억하는 트랙 RA 정보 기억 박스들을 작성시키는 유닛으로서, CPU, 메모리 등에 의해서 구현된다. 이 트랙 RA 정보 기억 박스들과 RA 정보 기억 박스의 상세한 설명은 후술된다.
재생 위치 제어부(607)는, 키보드 또는 마우스 등의 입력 장치를 통해 동화상 데이터 재생 장치(600)에 입력된 사용자로부터의 랜덤 액세스 명령을 추종하고,RA 정보 기억 박스 작성부(606)로부터 RA 정보 박스를 독출하고, 이 정보를 참조하여, 랜덤 액세스에 의한 재생 위치를 판단하며, 해석 위치 명령 정보를 데이터 파일 해석부(603)로 출력한다.
또한, 파일 출력부(608)는, 장치에 입력된 MP4 파일을 독출하고, RA 정보 기억 박스 작성부(606)로부터 RA 정보 기억 박스를 수신하고, 입력 완료된 MP4 파일과 RA 정보 기억 박스를 통합하여, 새로운 MP4 파일을 출력한다.
재생 위치 제어부(607)는, RA 정보 기억 박스 작성부(606)의 인-프로세스(in-process) RA 정보 기억 박스들을 독출할 수 있어 MP4 파일을 다운로드하여 재생하는 동안에 RA 정보 기억 박스들을 이용할 수 있게 한다.
다음에, 이 동화상 데이터 재생 장치(600)에 의해 생성되는 MP4 파일의 구조에 대해서 설명한다.
도 14는 본 발명의 제3 실시예의 동화상 데이터 재생 장치(600)에 의해 생성되는 MP4 파일의 파일 구조를 도시하는 도면이다.
도 14에 도시되는 바와 같이, 이 MP4 파일(700)은, 무비 박스(701), 무비 데이터 박스(702), 무비 프래그먼트 칼럼(703) 및 RA 정보 기억 박스(704)로 구성되고, MP4 파일(700)이 RA 정보 기억 박스(704)를 포함하는 점에서 MP4 파일(300)과 다르다.
이 MP4 파일(700)은, 동화상 데이터 재생 장치(600)에 의해서 받아들여지는 단계에서는 종래의 MP4 파일(100)과 동일한 구조를 갖는다.
RA 정보 기억 박스(704)는, 트랙 RA 정보 기억 박스(706) 모두를 하나에 기억하기 위한 박스로, 박스 헤더부(705)와 박스 데이터 기억부들을 포함하고, 이 박스 데이터 기억부들에는 다수의 트랙 RA 정보 기억 박스(706)가 포함되어 있다.
이 RA 정보 기억 박스(704)의 박스 헤더부(705)는 적어도 RA 정보 기억 박스(704)의 크기 정보를 기억하기 위한 박스 크기 필드와 RA 정보 기억 박스(704)의 박스 종류를 나타내는 문자열로서, 예를 들면, "mfra"의 문자열을 기억하기 위한 박스 종류 필드를 포함한다. 또한, 이 박스 헤더부(705)는 RA 정보 기억 박스(704)의 버전과 플래그 정보를 나타내는 버전 플래그 정보 또는 박스에 포함된 트랙 RA 정보 기억 박스(706)의 수를 나타내는 정보를 기억하는 필드를 포함할 수 있다. 예를 들면, 각각의 필드에 4 바이트가 할당된다.
트랙 RA 정보 기억 박스(706)는, 화상 트랙 RA 정보 기억 박스 등의 각각의 트랙에 대한 RA 정보 등을 기억하는 박스로, MP4 파일(700)의 다른 박스들과 같이, 트랙 ID(708), 박스에 포함된 샘플 플래그의 수(709) 및 다수의 RA 정보가 기억되는 박스 데이터 기억부들과 박스 헤더부(707)를 포함하고 있다.
이 트랙 RA 정보 기억 박스(706)의 박스 헤더부(707)는 적어도 트랙 RA 정보 기억 박스(706)의 크기 정보를 기억하는 박스 크기 필드와 트랙 RA 정보 기억 박스(706)의 박스 종류를 식별하기 위한 문자열로서, 예를 들면, "tfra"의 문자열을 기억하는 박스 종류 필드를 포함하고 있다.
트랙 RA 정보 기억 박스(706)의 박스 데이터 기억부는, RA 정보가 추적되는 트랙 ID(708) 필드, 트랙 RA 정보 기억 박스(706)의 RA 정보의 수를 나타내기 위한 박스에 포함된 샘플 플래그의 수(709) 필드, 및 RA 정보를 작성하는 필드로 구성되어 있다.
트랙 ID(708) 필드 및 박스에 포함된 샘플 플래그의 수(709) 필드가 박스 헤더부(709)에 포함될 수 있고, 또한, 트랙 RA 정보 기억 박스(706)에 대한 버전 플래그 정보가 박스 헤더부(707)에 포함될 수 있다.
RA 정보를 작성하는 필드는 전술한 제1 및 제2 실시예의 경우에 나타내어진 것과 동일한 구조를 갖고, 할당된 바이트는 고정된 길이이다. 한편, 예를 들면, RA 정보를 작성하는 필드를 제외하고 트랙 RA 정보 기억 박스(706)의 각각의 필드에 4 바이트가 할당된다.
여기서는 동화상 데이터 재생 장치(600)에 의한 랜덤 액세스 재생 방법이 도 15 및 도 16을 참조하여 설명된다.
도 15a는 제3 실시예의 동화상 데이터 재생 장치(600)에 의한 랜덤 액세스 재생 방법을 도시하는 도면이고, 도 16은 도 15a에 근거한 동화상 데이터 재생 장치의 처리 수순을 도시하는 플로 차트이다.
먼저, 도 16에 도시되는 바와 같이, 동화상 데이터 재생 장치(600)의 재생 위치 제어부(607)가 사용자로부터 랜덤 액세스 명령의 입력을 수신할 때(S50), 이 장치는 RA 정보 기억 박스 작성부(606)로부터 RA 정보 기억 박스의 독출을 시도한다(S51).
이 때, RA 정보 기억 박스 작성부(606)에 RA 정보 기억 박스가 없으면, 즉 도 15a에 도시된 경우 1의 경우에, 재생 위치 제어부(607)는 모든 트랙에 대해 RA 정보가 MP4 파일에 포함되어 있지 않은지를 판단한다. 따라서, 재생 위치제어부(607)는 데이터 파일 해석부(603)에 고속 재생으로 재생 위치를 이동시키는 명령의 출력을 지시한다(S57). 여기서 고속 재생으로 재생 위치를 이동시키는 것은, MP4 파일의 헤더 정보를 해석하고, 순서대로 재생 구간 복호화 프레임들을 계수하고, 종래의 재생 위치 변경과 같으나 통상보다 빠른 재생 속도로 랜덤 액세스 후의 재생 개시 위치로 되는 프레임으로 이동시키는 것을 의미한다.
그 후, 데이터 파일 해석부(603)는 변경 후의 재생 위치에 대한 복호화 명령 정보를 데이터 복호화부(604)로 출력하고, 데이터 재생부(605)는 데이터 복호화부(604)에 의해 복호화된 엔티티 데이터를 재생한다(S58). 이 경우, 변경 후의 재생 위치가 항상 인트라 프레임이 아니므로, 변경 후의 데이터 재생이 적절히 복호화될 수 있는 것을 확신할 수 없다. 부적절한 복호화를 피하기 위해서, 랜덤 액세스 기능의 이용을 포기하고 통상 재생 속도를 유지하는 것이 가능하다.
한편, RA 정보 기억 박스 작성부(606)에 RA 정보 기억 박스가 있으면, 재생 위치 제어부(607)는 RA 정보 기억 박스에 포함된 트랙 RA 정보 기억 박스들의 독출을 시도한다(S52). 이 때, RA 정보 기억 박스에 트랙 RA 정보 기억 박스가 없으면, 즉, 도 15a에 도시된 경우 2의 경우에, 재생 위치 제어부(607)는 모든 트랙에 대해 RA 정보가 MP4 파일에 포함되어 있지 않은지를 판단한다. 따라서, 재생 위치 제어부(607)는 고속 재생으로 재생 위치를 이동시키는 명령을 데이터 파일 해석부(603)로 출력한다(S57).
그 후, 데이터 파일 해석부(603)는 변경 후의 재생 위치에 대한 복호화 명령 정보를 데이터 복호화부(604)로 출력하고, 데이터 재생부(605)는 데이터복호화부(604)에 의해 복호화된 엔티티 데이터를 재생한다(S58).
이에 반해, 트랙 RA 정보 기억 박스가 있으면, 재생 위치 제어부(607)는 트랙 RA 정보 기억 박스에 포함된 엔티티 정보의 독출을 시도한다(S53).
이 때 엔트리가 없으면, 즉, 도 15a에 도시된 경우 3의 경우에, 재생 위치 제어부(607)는 트랙에 관한 샘플들 모두로부터 랜덤 액세스를 수행할 수 있는지를 판단한다. 따라서, 재생 위치 제어부(607)는 재생 위치 변경 명령을 데이터 파일 해석부(603)로 출력하여 랜덤 액세스 명령에 의해 시간이 지정 시간에 가장 근접한 샘플을 재생 개시 위치로서 지정한다(S55). 데이터 파일 해석부(603)는, 시간이 랜덤 액세스 명령에 의해 지정된 시간에 가장 근접한 샘플을 변경 후의 재생 위치로서 지정된 MP4 파일의 헤더 정보에 포함된 프레임들의 재생 구간을 계수하고(S56), 복호화 명령 정보를 데이터 복호화부(604)로 출력한다.
그 후, 데이터 복호화부(604)는 엔티티 데이터를 복호화하고, 데이터 재생부(605)는 복호화된 엔티티 데이터를 재생한다(S58). 이 경우, 임의의 샘플로부터 랜덤 액세스를 수행하는 것이 가능하므로, 변경 후의 데이터의 적절한 복호화와 재생이 확보된다.
한편, 엔트리 정보가 있으면, 즉, 도 15a에 도시된 경우 4의 경우에, 재생 위치 제어부(607)는 엔트리 정보에 기재된 샘플만으로부터 랜덤 액세스가 수행될 수 있는지를 판단한다.
따라서, 재생 위치 제어부(607)는, 트랙 RA 정보 기억 박스에서 랜덤 액세스 명령에 의해 지정된 시간에 대응하는 엔트리 정보를 검색하고, 랜덤 액세스 후의재생 개시 위치를 결정하며, 해석 위치 명령 정보를 데이터 파일 해석부(603)로 출력한다(S54).
그 후, 데이터 파일 해석부(603)는 해석 위치 명령 정보에 근거하여 복호화 명령 정보를 데이터 복호화부(604)로 출력하고, 데이터 재생부(605)는 데이터 복호화부(604)에 의해 복호화된 엔티티 데이터를 재생한다(S58).
도 15a에 도시된 경우 3의 구체적인 예와 같이, 음성 트랙과 같은 임의의 샘플로부터 랜덤 액세스를 수행하는 것이 가능하면, 트랙 RA 정보 기억 박스에 엔트리 정보를 기억하지 않는 것이 RA 정보 기억 박스의 크기를 감소시키는 경우가 있는 것을 생각할 수 있다. 또한, 도 15a에 도시된 경우 1과 2의 구체적인 예와 같이, RA 정보 기억 박스를 작성하는 프로세스에서 독출할 수 없는 제한이 설정되는 경우가 있는 것을 생각할 수 있다. 이 경우, 재생 위치 제어부(607)는 재생 위치를 이동시키는 명령을 데이터 파일 해석부(603)에 고속 재생으로 출력한다(S57). RA 정보 기억 박스가 작성된 후에 랜덤 액세스 명령을 수신하는 유닛을 가질 수도 있기 때문에 여기에 재생 위치를 변경시키는 명령의 출력과 랜덤 액세스의 수행을 스킵하는 재생 위치 제어부(607)를 가질 수 있다.
도 15b는 제3 실시예의 동화상 데이터 재생 장치(600)에 의한 랜덤 액세스 재생의 제2 방법을 도시하는 도면이다.
이 제2 방법은, 재생 위치 제어부(607)에 의한 프로세스에서 경우 2와 3가 도 15a에 도시된 제1 방법과 다르다.
도 15b에 도시된 경우 2에서, 재생 위치 제어부(607)는 임의의 샘플로부터랜덤 액세스를 수행하는 것이 가능한지를 판단한다. 따라서, 재생 위치 제어부(607)는 재생 위치를 이동시키는 명령을 데이터 파일 해석부(603)로 출력하여 시간이 랜덤 액세스 명령에 의해 지정된 시간에 가장 근접하는 샘플이 재생 개시 위치로서 간주될 수 있다.
또한, 도 15b에 도시된 경우 3에서, 재생 위치 제어부(607)는 임의의 샘플로부터 랜덤 액세스를 수행하는 것이 불가능한지 또는 트랙에 관한 파일 헤드에서 샘플로부터만 재생하는 것이 가능하지를 판단한다. 따라서, 재생 위치 제어부(607)는, 예를 들면, 사용자로부터의 랜덤 액세스 명령을 수신하지 않거나, 또는 파일의 헤드로 이동할 때만 사용자로부터 랜덤 액세스 명령의 수신하여, 단지 파일의 선두로 이동하는 재생 위치를 이동시키는 명령을 데이터 파일 해석부(603)로 출력한다.
이와 같이, 동화상 데이터 재생 장치(600)가 RA 정보 기억 박스 등의 존재 또는 부재에 응답하여 랜덤 액세스 재생 방법이 수순을 변경할 수 있으므로, 트랙 RA 정보 기억 박스 또는 엔트리 정보의 구성요소는 자유로이 설정될 수 있다. 또한, RA 정보가 RA 정보 기억 박스로부터 추출될 수 없는 문제에 유연하게 대처할 수 있다.
지금까지 설명된 바와 같이, 제3 실시에의 동화상 데이터 재생 장치는, 각각의 트랙에 대해 RA 정보를 기억하는 박스들 및 이들 박스 모두를 하나에 기억하는 박스를 작성하여 출력할 수 있으므로, 랜덤 액세스 재생을 신속하게 하는데에 기여할 수 있다. 또한, 이들 박스에 기억된 RA 정보를 이용하여 랜덤 액세스 재생을 수행함으로써 신속한 랜덤 액세스 재생을 실현할 수 있다.
(제4 실시예)
다음에, 본 발명의 제4 실시예가 설명된다.
전술한 제3 실시예에는 RA 정보 기억 박스를 MP4 파일의 말미에 추가한 후 새로운 MP4 파일을 출력하는 동화상 데이터 재생 장치가 설명되어 있다.
이에 대비하여, 제4 실시예의 동화상 데이터 재생 장치도 이 RA 정보 기억 박스로의 액세스를 용이하게 하는 정보를 포함하는 MP4 파일을 출력한다. 따라서, 제4 실시예의 동화상 데이터 재생 장치에 의해서 출력된 MP4 파일의 구조는 전술한 제3 실시예의 동화상 데이터 재생 장치와 다르다. 아래에 그 차이점에 초점을 맞추어 설명한다. 제4 실시예의 동화상 데이터 재생 장치의 구성요소가 제3 실시예의 동화상 데이터 재생 장치와 매우 유사하므로, 도 13이 이 장치의 블록도 대신에 참조를 위해 이용된다.
도 17은 제4 실시예의 동화상 데이터 재생 장치에 의해 생성된 MP4 파일의 파일 구조를 도시하는 도면이다.
이 MP4 파일(710)은, 무비 박스(711), 무비 데이터 박스(712), 무비 프래그먼트 박스 칼럼(713) 및 RA 정보 기억 박스(714)로 구성되어 있다. 이 점에서, MP4 파일(710)은 전술한 제3 실시예의 MP4 파일(700)과 동일하지만 MP4 파일(710)의 RA 정보 기억 박스(714)가 RA 정보 기억 오프셋 박스(717)를 포함하는 점에서 MP4 파일(710)은 MP4 파일(700)과 다르다.
이 MP4 파일(710)의 구조는 또한 동화상 데이터 재생 장치에 입력되는 단계에서 종래의 MP4 파일(100)과 동일하다.
이 RA 정보 기억 오프셋 박스(717)는 RA 정보 기억 박스(714)가 개시하는 MP4 파일(710)의 헤드 또는 말미로부터의 바이트 위치를 나타내는 RA 정보 기억 박스의 오프셋 정보를 기억하는 박스이고, RA 정보 기억 오프셋 박스(717)는 MP4 파일(710)을 구성하는 다른 박스들과 같이 박스 헤더부와 박스 데이터 기억부들을 포함하고 있다.
이 RA 정보 기억 오프셋 박스(717)의 박스 헤더는 적어도 이 박스의 크기 정보를 나타내는 박스 크기(718) 필드 및 이 박스의 박스 종류를 나타내는 문자열로서, 예를 들면 "mfro" 의 문자열을 나타내는 박스 종류(719) 필드를 포함하고, 예를 들면, 각각의 필드에 4 바이트가 할당된다.
또한, RA 정보 기억 오프셋 박스(717)의 박스 데이터 기억부는 RA 정보 기억 박스의 오프셋 정보를 기입하는 RA 정보 기억 박스 오프셋 정보(720) 필드를 포함하고, 예를 들면, 이 필드에 4 바이트가 할당된다. 이 오프셋 정보(720)를 RA 정보 기억 박스(714)의 크기 정보로 간주함으로써 동화상 데이터 재생 장치는 MP4 파일(710)의 말미에서 오프셋 정보(720)로 역으로 독출 가능하고 RA 정보 기억 박스(714)에 용이하게 액세스 가능하다. 즉, 이 오프셋 정보(720) "mfro"는 RA 정보 기억 박스(714) "mfra"의 크기를 제공한다. 파일의 끝에 이 오프셋 정보(720)가 위치될 때, 동화상 데이터 재생 장치는 파일의 말미로부터 스캔함으로써 "mfra" 박스를 용이하게 찾는 것이 가능하다.
먼저, 예를 들면, RA 정보 기억 박스 작성부(606)에서 RA 정보 기억 박스(714)가 작성될 때, 이 RA 정보 기억 오프셋 박스(717)의 윤곽이 생성되고, 파일 출력부(608)에서 RA 정보 기억 박스(714)가 입력 MP4 파일의 말미에 추가될 때 박스 내부의 필드에 기억된 정보에 의해 RA 정보 기억 오프셋 박스(717)가 생성된다.
이 박스의 버전 정보 등을 나타내는 필드가 박스 종류(719) 필드 다음의 RA 정보 기억 오프셋 박스(717)에 기억되는 경우가 있지만, 제4 실시예는 RA 정보 기억 오프셋 박스(717)가, 박스 크기(718) 필드, 박스 종류(719) 및 오프셋 정보(72) 필드의 3개의 필드를 포함하고, 이들 필드의 크기는 총 12 바이트로 고정되는 경우이다.
여기서 제4 실시예의 동화상 데이터 재생 장치가 RA 정보를 취득하는 수순이 설명된다.
도 18은 제4 실시예의 동화상 데이터 재생 장치에 의한 RA 정보 취득 수순을 도시하는 플로 차트이다.
통상 동화상 데이터 재생 장치는, RA 정보 이외에 다른 정보를 취득할 때라도, MP4 파일을 독출할 때, 순서대로 파일의 헤드에 위치된 박스에 기억된 정보를 취득한다. 한편, 동화상 데이터 재생 장치는 또한 MP4 파일의 말미를 검색하여 말미로부터 역으로 박스에 기억된 정보를 취득할 수 있다.
MP4 파일(710)의 말미에 RA 정보 기억 박스(714)가 위치되므로, 동화상 데이터 재생 장치는 RA 정보 기억 박스(714)의 오프셋 정보가 MP4 파일(710)의 말미로부터 기억되는 박스를 검색한다(S60).
여기서 오프셋 정보가 기억되는 박스, 즉, RA 정보 기억 오프셋 박스(717)및 RA 정보 기억 오프셋 박스(717)에 포함된 RA 정보 기억 박스 오프셋 정보(720)가 발견되는 경우에(S61), 동화상 데이터 재생 장치는 오프셋 정보에 근거하여 RA 데이터의 개시 위치로, 즉, RA 정보 기억 박스(714)의 선두로 독출 위치를 이동시킨다(S62).
동화상 데이터 재생 장치는, 오프셋 정보가 RA 정보와 일치하는지 아닌지를 판정, 즉, 오프셋 정보의 정확성을 테스트한다(S62). 이 때, 동화상 데이터 재생 장치는 오프셋 정보에 의해 변경된 파일 독출 위치가 RA 정보 기억 박스(714)의 개시 위치와 일치하는지를 판정한다. 이 테스트는 추후 도면을 참조하여 더 설명된다.
그 다음 동화상 데이터 재생 장치는 RA 정보 기억 박스(714)의 헤드로부터 순서대로 박스에 기억된 RA 데이터를 취득한다(S64).
한편, RA 정보 기억 오프셋 박스(717)가 발견되지 않을 때, RA 정보 기억 오프셋 박스(717)가 발견되지만 RA 정보 기억 오프셋 박스(717)에 포함된 RA 정보 기억 박스 오프셋 박스(717)가 발견되지 않을 때(S61), 또는 오프셋 정보가 RA 데이터와 일치하지 않을 때(S63), 동화상 데이터 재생 장치는 파일의 헤드에 위치된 박스에 기억된 정보를 순서대로 취득하는 통상 정보 취득 방법을 채용하고, RA 정보 기억 박스(714)로부터 RA 데이터를 취득한다(S65).
여기에 전술한 오프셋 정보의 정확성에 대한 테스트가 도면을 참조하여 설명된다.
도 19a는 제4 실시예의 동화상 데이터 재생 장치에 의한 RA 정보의 제1 취득수순을 도시하는 도면이다.
먼저, 동화상 데이터 재생 장치는 MP4 파일(710)의 말미를 검색하여 말미로부터 역으로 박스에 기억된 정보를 취득한다(S70).
도 19a에서, RA 정보 기억 박스 오프셋 정보(720) 필드에 "240" 바이트의 하나의 오프셋 정보가 기억되지만, 이 단계에서는 "240" 바이트 수가 RA 정보 기억 박스의 하나의 오프셋 정보라는 확신을 얻을 수 없다. 따라서, 동화상 데이터 재생 장치는 더 되돌아가서 박스에 기억된 정보를 취득하고(S71) 테스트에 의해 이 수가 RA 정보 기억 박스의 하나의 오프셋 정보인지 아닌지를 판정한다.
여기서 제4 실시예는 RA 정보 기억 오프셋 박스(717)의 크기가 총 12 바이트로 고정되는 경우이므로, 동화상 데이터 재생 장치는, 위치가 MP4 파일(710)의 말미로부터 12 바이트 후방인 박스 크기(718) 필드에 "12"의 하나의 크기 정보가 기억되는 것과, 박스 종류(719) 필드에 "mfro"의 문자열이 기억되는 것을 확인하면, 다음 4 바이트 필드가 RA 정보 기억 박스 오프셋 정보(720)인 것을 판정한다.
즉, 동화상 데이터 재생 장치는 이 단계에서 이전에 취득한 "240" 바이트의 정보가 RA 정보 기억의 하나의 오프셋 정보라는 것을 판단할 수 있다.
다음에, 동화상 데이터 재생 장치는 RA 정보 기억 박스의 오프셋 정보의 이 "240" 바이트를 추종하고 독출 위치를 MP4 파일(710)의 말미로부터 240 바이트 후방 위치로 변경시킨다(S72).
동화상 데이터 재생 장치는, 독출 위치를 변경시킨 후, MP4 파일(710)의 말미까지 박스에 기억된 정보를 취득하고(S73) 전술한 오프셋 정보의 정확성을 테스트한다.
여기서 동화상 데이터 재생 장치가 RA 정보 기억 박스(714)의 박스 헤더부 필드(715)에 기억된 "mfra"의 문자열을 취득할 때, 동화상 데이터 재생 장치는 독출중인 박스가 RA 정보 기억 박스(714)인가를 판정한다.
다음에, 동화상 데이터 재생 장치는 각각의 트랙 RA 정보 기억 박스(716)에 대해 RA 정보 기억 박스(714)에 기억된 트랙 RA 정보 기억 박스(716)의 박스 헤더부의 필드에 기억된 박스 크기 정보를 취득한다. 크기가 각각 "110" 바이트인 두개의 트랙 RA 정보 기억 박스(716)가 도 19a에 도시되어 있다.
그 후, 동화상 데이터 재생 장치는 모든 트랙 RA 정보 기억 박스(716)의 총 바이트 크기("110" 바이트 + "110" 바이트), 이전에 취득된 RA 정보 기억 오프셋 박스(717)("12" 바이트), 및 RA 정보 기억 박스(714)의 박스 헤더부(715)에 할당된 필드("4" 바이트 + "4" 바이트)가 RA 정보 기억 박스(714)의 박스 헤더부(715) 필드에 기억된 박스 크기 정보("240" 바이트)와 일치하는지 아닌지를 판정한다.
전술한 오프셋 정보의 정확성은 이들 테스트를 통해서 판정되고, 이들 테스트를 통과 후, 동화상 데이터 재생 장치는 오프셋 정보를 정확하다고 간주하는 RA 정보 기억 박스(714)에 기억된 RA 정보를 취득한다(S74).
그런데. RA 정보 기억의 오프셋 정보가 기억되는 장소로서, 전술한 RA 정보 기억 오프셋 박스(717)에 정보를 기억하는 대신에, 예를 들면, 전체 MP4 파일의 헤더 정보를 기억하는 무비 박스에 기억할 수 있다.
이 경우, 동화상 데이터 재생 장치에 의한 랜덤 액세스 정보의 취득 수순이아래에 나타내어진다.
도 19b는 제4 실시예의 동화상 데이터 재생 장치에 의한 RA 정보의 제2 취득 수순을 도시하는 도면이다.
먼저, 동화상 데이터 재생 장치는 MP4 파일(720)의 헤드에 위치된 무비 박스(721)에 기억된 정보를 취득한다(S80). 동화상 데이터 재생 장치가 무비 박스(721)에 기억된 RA 정보 기억 박스 오프셋 정보(721a) 필드에 기억된 "xxx" 바이트의 정보를 취득할 때(S81), 동화상 데이터 재생 장치는 독출 위치를 MP4 파일의 헤드로부터 떨어진 "xxx" 바이트 위치로 이동시킨다(S82).
동화상 데이터 재생 장치는, 독출 위치를 변경시킨 후, MP4 파일(720)의 말미까지 박스에 기억된 정보를 취득하고(S83) 전술한 오프셋 정보의 정확성을 테스트한다.
여기서 동화상 데이터 재생 장치가 RA 정보 기억 박스(724)의 박스 헤더부(725)의 필드에 기억된 "mfra"의 문자열을 취득할 때, 동화상 데이터 재생 장치는 독출중인 박스가 RA 정보 기억 박스(724)라고 판단하여, 전술한 오프셋 정보의 정확성을 판정한다.
동화상 데이터 재생 장치는, 이들 테스트 통과 후, 오프셋 정보를 정확하다고 간주하고, RA 정보 기억 박스(724)에 기억된 트랙 RA 정보 기억 박스 등의 RA 정보(726)를 취득한다(S84).
이와 같이, RA 정보 기억 박스의 오프셋 정보가 기억되는 위치로서, 무비 박스(721)가 사용될 수도 있다.
지점까지 설명된 바와 같이, 제4 실시예의 동화상 데이터 재생 장치가 RA 정보 박스의 개시 위치를 나타내는 오프셋 정보를 생성하여 출력하기 때문에, 이 오프셋 정보를 이용함으로써 RA 정보 기억 박스 독출을 신속하게 할 수 있으므로, 신속한 랜덤 액세스 재생을 실현할 수 있다.
(응용예)
본 발명의 응용예가 도 20을 참조하여 설명된다.
도 20은 본 발명의 동화상 데이터 재생 장치에 대한 응용예를 도시하는 도면이다.
본 발명의 동화상 데이터 재생 장치는 인터넷 등의 통신 회선을 통해 MP4 파일을 송수신할 수 있는 동화상 배송 시스템에 사용될 수 있다.
도 20에 도시되는 바와 같이, 이 동화상 배송 시스템은, 서버(801), 통신망(802), 휴대 전화(803), 및 퍼스널 컴퓨터(804)로 구성되어 있다.
여기서, 휴대 전화(803) 및 퍼스널 컴퓨터(804)는 본 발명의 동화상 데이터 재생 장치에 해당한다.
즉, 휴대 전화(803) 또는 퍼스널 컴퓨터(804)는 화상 데이터, 음성 데이터 등이 통신망(802)을 통해 다중화된 MP4 파일을 배송하는 서버 장치(801)로부터 MP4 파일을 다운로드한다.
도 20에 도시되는 바와 같이, 퍼스널 컴퓨터(804)에 의해 재생 가능한 MP4 파일은 다중화된 화상 데이터, 음성 데이터 및 텍스트 데이터를 포함하고, 퍼스널 컴퓨터(804)는 이 MP4 파일을 다운로드하여 재생중인 동화상을 디스플레이에 표시하면서 재생한다.
이 때, 퍼스널 컴퓨터(804)는, 선두부터 순서대로 MP4 파일을 다운로드하고, 이 파일을 메모리 또는 퍼스널 컴퓨터(804) 자체에 장착된 하드 디스크에 일시적으로 기억하고, CPU 등을 사용하여 메모리 등에 기억된 헤더 정보로부터 RA 정보를 생성하며, RA 정보를 RA 정보 테이블 또는 RA 정보 기억 박스에 통합시킴으로써 R A 정보 테이블 또는 RA 정보 기억 박스를 작성한다.
동시에, 퍼스널 컴퓨터(804)는 MP4 파일을 재생하면서 MP4 파일 전체의 헤더 정보와 순서대로 생성되는 RA 정보를 메모리 등에 기억시킨다.
여기서, 예를 들면, 사용자가 마우스 등을 사용하여 디스플레이의 하부에 위치된 바(805)를 좌측으로 이동시킬 때, 즉, 사용자가 재생 위치를 역으로 하는 동작을 실행시킬 때, 퍼스널 컴퓨터(804)는, 신속한 랜덤 액세스를 수행하고, 이동 후의 바의 위치로부터 동화상의 재생을 개시하며, MP4 파일 전체의 헤더 정보와 생성된 RA 정보를 참조하여 동화상을 디스플레이에 표시시킬 수 있다.
이와 같이, 예를 들면, 본 발명은 동화상 배송 시스템에서 실현될 수 있고, 이 동화상 데이터 재생 장치가 신속한 랜덤 액세스 재생을 수행하는 정보를 생성하고 이 정보를 이용하여 랜덤 액세스 재생을 수행하기 때문에, 사용자는 재생되는 동화상을 스트레스를 느끼지 않고 즐길 수 있다.
여기에 부가 정보를 제공하기 위해서, 미리 CD-ROM 등과 같은 기록 매체로부터 RA 정보 기억 박스를 포함하는 MP4 파일을 퍼스널 컴퓨터(804)가 독출하여 재생하는 경우에, 퍼스널 컴퓨터(804)는 MP4 파일을 재생하면서 먼저 MP4 파일 전체의헤더 정보를 기억하는 무비 박스 및 RA 정보 기억 박스를 독출하고 이들 박스를 메모리에 그대로 기억시킨다. 그 후, 사용자로부터 랜덤 액세스 명령을 수신하면, 퍼스널 컴퓨터(804)는 메모리 등에 포함된 이들 박스를 참조하여 해석함으로써 또는 메모리 등에 포함된 이들 박스의 해석 결과로서 취득된 정보를 참조함으로써 전술한 방식과 같이 신속한 랜덤 액세스를 수행한다.
지금까지 본 발명의 동화상 데이터 재생 장치에 대해 각각의 실시예 등에 기초하여 설명되어 있고, 본 발명은 이들 실시예 등으로 한정되는 것은 아니다.
예를 들면, 전술한 각각의 실시예에서는 동화상 데이터 재생 장치에 입력되는 동화상 파일로서 MP4 파일이 설명되지만, MP4 파일을 MPEG-2 전송 스트림 파일 등과 같은 다른 종류의 파일이 대체할 수 있다.
또한, 전술한 각각의 실시예에서는 다운로드에 의해 MP4 파일이 동화상 데이터 재생 장치에 입력되지만, MP4 파일을 기억하는 광자기 디스크 등의 기록 매체를 독출함으로써 MP4 파일이 동화상 데이터 재생 장치에 입력될 수 있다.
그리고, 전술한 각각의 실시예에서는 RA 정보 기억 테이블들과 RA 정보 기억 박스가 MP4 파일에 통합되어 출력될 때, RA 정보 기억 테이블들과 RA 정보 기억 박스가 MP4 파일의 말미에 추가되지만, 이것들을 추가하는 위치는 전술한 장소로 한정되지 않고, 예를 들면, RA 정보 테이블이 무비 박스에 기억될 수 있다.
또한, 전술한 각각의 실시예에서는 RA 정보를 구성하는 각각의 필드에 할당된 바이트 수가 고정된 길이로 지정되지만, MP4 파일의 크기에 따라 유연하게 가변 길이로서 지정될 수 있다. 예를 들면, 각각의 필드의 바이트 길이를 지정하는 필드를 도 5에 도시된 데이터 구조에 추가하여, 이들 "traf" 번호, "trun" 번호, 및 "엔트리" 번호의 각각의 필드에 대해 1~4 바이트의 비트 길이를 선택할 수 있고, 또한, MP4 파일의 크기가 클 때 각 필드에 2 바이트를 할당할 수 있다.
본 발명의 동화상 데이터 재생 장치는, 화상 데이터, 음성 데이터 등이 다중화된 파일을 독출할 수 있는 재생 장치로서 사용될 수 있고, 특히 동화상 배송 시스템에서 수신과 재생 장치가 될 수 있는 퍼스널 컴퓨터 또는 휴대 전화로서 사용될 수 있다.
Claims (32)
- 음성 데이터와 텍스트 중의 적어도 하나와 화상 데이터가 다중화된 파일을 재생하는 동화상 데이터 재생 장치에 있어서, 상기 동화상 데이터 재생 장치는,상기 파일을 취득하는 동작 가능한 파일 입력부;상기 파일 입력부에 의해 취득된 입력 파일을 일시 기억하는 영역을 갖는 파일 일시 기억부;상기 입력 파일을 독출하여, 상기 입력 파일에 포함된 화상 데이터, 음성 데이터, 또는 텍스트 데이터의 분리와 동기 재생의 파일 헤더 정보를 해석하는 동작 가능한 파일 해석부;상기 파일 해석부에 의해 해석된 파일 헤더 정보에 근거하여, 상기 파일 일시 기억부에 기억된 입력 파일에 포함된 화상 데이터, 음성 데이터 또는 텍스트 데이터를 독출하여 복호화하는 동작 가능한 복호화부;상기 복호화부에 의해 복호화된 화상 데이터, 음성 데이터 또는 텍스트 데이터를 재생하고 이 데이터를 표시 장치로 출력하는 재생부;상기 파일 해석부에 의해 해석된 파일 헤더 정보에 근거하여 상기 입력 파일에 포함된 화상 데이터, 음성 데이터 또는 텍스트 데이터에 랜덤 액세스하기 위한 랜덤 액세스 정보를 생성하는 동작 가능한 랜덤 액세스 정보 생성부;상기 랜덤 액세스 정보 생성부에 의해 생성된 랜덤 액세스 정보를 참조하여 상기 입력 파일의 해석 위치를 변경시키는 해석 위치 변경 명령을 상기 파일 해석부로 출력하는 동작 가능한 재생 위치 제어부를 포함하고,상기 파일 해석부는, 상기 재생 위치 제어부에 의해 출력된 해석 위치 변경 명령에 근거하여 상기 파일 일시 기억부에 기억된 입력 파일의 독출 위치를 변경하고, 변경 후의 독출 위치로부터, 상기 입력 파일에 포함된 화상 데이터, 음성 데이터 또는 텍스트 데이터의 파일 헤더 정보를 해석하는, 동화상 데이터 재생 장치.
- 제1항에 있어서, 상기 랜덤 액세스 정보는 상기 입력 파일에 포함된 동화상 데이터의 인트라 프레임에 대한 파일 헤더 정보를 독출하기 위한 위치 정보인, 동화상 데이터 재생 장치.
- 제2항에 있어서, 상기 파일 헤더 정보를 독출하기 위한 위치 정보는 상기 입력 파일이 계층 구조를 가지고 ID 번호가 각 계층 구조에 할당될 때 파일 헤더 정보의 위치를 나타내는 ID 번호들인, 동화상 데이터 재생 장치.
- 제2항에 있어서, 상기 랜덤 액세스 정보는 인트라 프레임에 대한 재생 시간의 정보를 더 포함하는, 동화상 데이터 재생 장치.
- 제2항에 있어서, 상기 랜덤 액세스 정보는 인트라 프레임에 대한 개시 위치의 정보를 더 포함하는, 동화상 데이터 재생 장치.
- 제2항에 있어서, 상기 랜덤 액세스 정보는 파일 헤더 정보를 독출하기 위한 다수의 위치 정보를 포함하는, 동화상 데이터 재생 장치.
- 제1항에 있어서, 상기 랜덤 액세스 정보 생성부는 상기 입력 파일에 포함된 화상 데이터, 음성 데이터 및 텍스트 데이터의 각각의 미디어 데이터에 대해서 랜덤 액세스 정보를 생성하는, 동화상 데이터 재생 장치.
- 제7항에 있어서, 상기 랜덤 액세스 정보가 상기 입력 파일에 포함된 음성 데이터에 관한 것이면, 상기 랜덤 액세스 정보는 소정의 규칙에 따라 음성 데이터 프레임들에 대한 파일 헤더 정보를 독출하기 위한 다수의 위치 정보를 포함하는, 동화상 데이터 재생 장치.
- 제8항에 있어서, 상기 랜덤 액세스 정보는 상기 입력 파일에 포함된 화상 데이터의 인트라 프레임의 재생 시간에 가장 근접한 재생 시간으로 음성 데이터 프레임들에 대한 파일 헤더 정보를 독출하기 위한 다수의 위치 정보를 포함하는, 동화상 데이터 재생 장치.
- 제1항에 있어서, 상기 동화상 데이터 재생 장치는,상기 랜덤 액세스 정보 생성부에 의해 생성된 랜덤 액세스 정보를 포함하는 파일을 출력하는 동작 가능한 파일 출력부를 더 포함하는, 동화상 데이터 재생 장치.
- 제10항에 있어서, 입력 파일이 계층 구조를 가질 때, 상기 랜덤 액세스 정보 생성부는, 상기 입력 파일에 포함된 각각의 미디어 데이터에 대해 랜덤 액세스 정보를 기입하기 위한 제1 계층적 층 및 상기 제1 계층적 층이 통합되는 제2 계층적 층을 생성하고,상기 파일 출력부는 상기 제2 계층적 층을 상기 입력 파일에 통합시킴으로써 랜덤 액세스 정보를 포함하는 파일을 출력하는, 동화상 데이터 재생 장치.
- 제11항에 있어서, 상기 파일 출력부는, 입력 파일에 통합된 상기 제2 계층적 층의 개시 위치를 나타내는 위치 정보를 생성하고, 이 위치 정보를 출력 파일에 통합시키고, 이 파일을 랜덤 액세스 정보와 함께 출력하는, 동화상 데이터 재생 장치.
- 제12항에 있어서, 상기 제2 계층적 층의 개시 위치를 나타내는 위치 정보는 상기 제2 계층적 층의 말미에 기억되는, 동화상 데이터 재생 장치.
- 제13항에 있어서, 상기 제2 계층적 층의 개시 위치를 나타내는 위치 정보는 상기 제2 계층적 층의 바이트 크기인, 동화상 데이터 재생 장치.
- 제14항에 있어서, 상기 재생 위치 제어부는, 상기 제2 계층적 층의 개시 위치를 나타내는 위치 정보를 참조하여 독출 위치를 이동시키고, 랜덤 액세스 정보를 취득하는, 동화상 데이터 재생 장치.
- 제15항에 있어서, 상기 재생 위치 제어부는, 상기 제2 계층적 층의 개시 위치를 나타내는 위치 정보를 참조하여 독출 위치를 이동시키고, 독출 위치가 상기 제2 계층적 층의 개시 위치인 것을 확인한 다음에, 랜덤 액세스 정보를 취득하는, 동화상 데이터 재생 장치.
- 제12항에 있어서, 상기 제2 계층적 층의 개시 위치를 나타내는 위치 정보는 파일 헤더 정보를 기입하는 필드에 기억되는, 동화상 데이터 재생 장치.
- 제11항에 있어서, 상기 파일 출력부는, 입력 파일의 말미에 상기 제2 계층적 층을 두고, 상기 제2 계층적 층을 입력 파일에 통합시키는, 동화상 데이터 재생 장치.
- 제11항에 있어서, 상기 재생 위치 제어부는, 입력 파일이, 제2 계층적 층, 제1 계층적 층, 및 랜덤 액세스 정보를 포함하는지 아닌지를 판정하고,상기 재생 위치 제어부는, 제2 계층적 층이 포함되지 않거나 또는 제2 계층적 층이 포함되지만 제1 계층적 층이 포함되지 않을 때, 해석 위치 변경 명령을 출력하지 않고,상기 재생 위치 제어부는, 제1 계층적 층과 제2 계층적 층이 포함될 때, 해석 위치 변경 명령을 출력하는, 동화상 데이터 재생 장치.
- 제10항에 있어서, 상기 파일 출력부는, 상기 랜덤 액세스 정보 생성부에 의해 생성된 랜덤 액세스 정보를 상기 파일 일시 기억부에 기억된 입력 파일에 다중화하고, 랜덤 액세스 정보를 포함하는 파일을 출력하는, 동화상 데이터 재생 장치.
- 제10항에 있어서, 상기 파일 출력부는, 상기 랜덤 액세스 정보 생성부에 의해 생성된 랜덤 액세스 정보를 포함하는 파일, 상기 파일 일시 기억부에 기억된 입력 파일, 및 랜덤 액세스 정보와의 파일의 관련 정보와 입력 파일을 포함하는 파일을 출력하는, 동화상 데이터 재생 장치.
- 음성 데이터와 텍스트 데이터 중의 적어도 하나와 화상 데이터가 다중화된 파일을 재생하는 동화상 데이터 재생 방법에 있어서, 상기 동화상 데이터 재생 방법은,상기 파일을 취득하는 파일 입력 단계;상기 파일 입력 단계에서 취득된 입력 파일을 일시 기억하는 기억 영역에 기억하는 파일 일시 기억 단계;상기 기억 영역에 포함된 입력 파일을 독출하여, 상기 입력 파일에 포함된화상 데이터, 음성 데이터, 또는 텍스트 데이터의 분리와 동기 재생의 파일 헤더 정보를 해석하는 파일 해석 단계;상기 파일 해석 단계에서 해석된 파일 헤더 정보에 근거하여 상기 기억 영역에 기억된 입력 파일에 포함된 화상 데이터, 음성 데이터 또는 텍스트 데이터를 독출하여 복호화하는 복호화 단계;상기 복호화 단계에서 복호화된 화상 데이터, 음성 데이터 또는 텍스트 데이터를 재생하고 이 데이터를 표시 장치로 출력하는 재생 단계;상기 파일 해석 단계에서 해석된 파일 헤더 정보에 근거하여 랜덤 액세스 정보를 생성하여 상기 입력 파일에 포함된 화상 데이터, 음성 데이터 또는 텍스트 데이터에의 랜덤 액세스를 수행하는 랜덤 액세스 정보 생성 단계;상기 랜덤 액세스 정보 생성 단계에서 생성된 랜덤 액세스 정보를 참조하여 입력 파일의 해석 위치가 변경되어야 하는 것을 명령하는 해석 위치 변경 명령을 상기 파일 해석 단계로 출력하는 재생 위치 제어 단계를 포함하고,상기 파일 해석 단계에서는, 상기 재생 위치 제어 단계에서 출력된 해석 위치 변경 명령에 근거하여, 상기 기억 영역에 기억된 입력 파일의 독출 위치가 변경되고, 입력 파일에 포함된 화상 데이터, 음성 데이터 또는 텍스트 데이터의 파일 헤더 정보가 해석되는, 동화상 데이터 재생 방법.
- 제22항에 있어서, 상기 동화상 데이터 재생 방법은,상기 랜덤 액세스 정보 단계에서 생성된 랜덤 액세스 정보를 포함하는 파일을 출력하는 파일 출력 단계를 더 포함하는, 동화상 데이터 재생 방법.
- 제23항에 있어서, 상기 랜덤 액세스 정보 생성 단계에서는, 입력 파일이 계층 구조를 가질 때, 상기 입력 파일에 포함된 각각의 미디어 데이터에 대해 랜덤 액세스 정보를 기입하기 위한 제1 계층적 층과 상기 제1 계층적 층이 통합되는 제2 계층적 층이 생성되고,상기 파일 출력 단계에서는, 제2 계층적 층이 입력 파일에 통합되고, 랜덤 액세스 정보를 포함하는 파일이 출력되는, 동화상 데이터 재생 방법.
- 제24항에 있어서, 상기 파일 출력 단계에서는, 입력 파일에 통합된 제2 계층적 층의 개시 위치를 나타내는 위치 정보가 생성되고, 상기 위치 정보가 입력 파일에 통합되며, 랜덤 액세스 정보를 포함하는 파일이 출력되는, 동화상 데이터 재생 방법.
- 제25항에 있어서, 상기 재생 위치 제어 단계에서는, 제2 계층적 층의 개시 위치를 나타내는 위치 정보를 참조하여 독출 위치가 이동되고, 랜덤 액세스 정보가 취득되는, 동화상 데이터 재생 방법.
- 제22항에 있어서, 상기 랜덤 액세스 정보 생성 단계에서 생성된 랜덤 액세스 정보는 상기 입력 파일에 포함된 화상 데이터의 인트라 프레임에 대한 파일 헤더정보를 독출하기 위한 위치 정보인, 동화상 데이터 재생 방법.
- 제22항에 있어서, 상기 랜덤 액세스 정보 생성 단계에서는,상기 입력 파일에 포함된 각각의 미디어 데이터에 대해 랜덤 액세스 정보가 생성되는, 동화상 데이터 재생 방법.
- 동화상 데이터 재생 장치의 프로그램에 있어서, 상기 프로그램은,음성 데이터와 텍스트 데이터 중의 적어도 하나와 화상 데이터가 다중화된 파일을 취득하는 파일 입력 단계;상기 파일 입력 단계에서 취득된 입력 파일을 일시 기억하는 기억 영역에 일시 기억하는 파일 일시 기억 단계;상기 기억 영역에 포함된 입력 파일을 독출하여, 상기 입력 파일에 포함된 화상 데이터, 음성 데이터, 또는 텍스트 데이터의 분리와 동기 재생의 파일 헤더 정보를 해석하는 파일 해석 단계;상기 파일 해석 단계에서 해석된 파일 헤더 정보에 근거하여 상기 기억 영역에 기억된 입력 파일에 포함된 화상 데이터, 음성 데이터 또는 텍스트 데이터를 독출하여 복호화하는 복호화 단계;상기 복호화 단계에서 복호화된 화상 데이터, 음성 데이터 또는 텍스트 데이터를 재생하고 이 데이터를 표시 장치로 출력하는 재생 단계;상기 파일 해석 단계에서 해석된 파일 헤더 정보에 근거하여 랜덤 액세스 정보를 생성하여 상기 입력 파일에 포함된 화상 데이터, 음성 데이터 또는 텍스트 데이터에의 랜덤 액세스를 수행하는 랜덤 액세스 정보 생성 단계;상기 랜덤 액세스 정보 생성 단계에서 생성된 랜덤 액세스 정보를 참조하여 입력 파일의 해석 위치가 변경되어야 하는 것을 명령하는 해석 위치 변경 명령을 상기 파일 해석 단계로 출력하는 재생 위치 제어 단계를 포함하고,상기 파일 해석 단계에서는, 상기 재생 위치 제어 단계에서 출력된 해석 위치 변경 명령에 근거하여, 기억 영역에 기억된 입력 파일의 독출 위치가 변경되고, 입력 파일에 포함된 화상 데이터, 음성 데이터 또는 텍스트 데이터의 파일 헤더 정보가 해석되는, 동화상 데이터 재생 장치의 프로그램.
- 컴퓨터 독출 가능한 파일을 기억 매체에 기억하는 기억 매체에 있어서, 상기 파일은,화상 데이터, 음성 데이터 및 텍스트 데이터 중의 적어도 하나의 미디어 데이터;상기 미디어 데이터의 분리와 동기 재생의 헤더 정보; 및상기 미디어 데이터를 구성하는 프레임들의 개별적으로 복호화 가능한 프레임들에 대한 헤더 정보의 위치 정보가 통합되는 랜덤 액세스 정보를 포함하는, 기억 매체.
- 제30항에 있어서, 상기 파일은,상기 미디어 데이터 중 2개 이상의 미디어 데이터; 및이들 미디어 데이터에 각각 대응하는 랜덤 액세스 정보를 더 포함하는, 기억 매체.
- 제31항에 있어서, 계층 구조를 갖는 상기 파일은,상기 미디어 데이터의 각각에 대해 랜덤 액세스 정보를 기입하기 위한 제1 계층적 층과 상기 제1 계층적 층이 통합되는 제2 계층적 층; 및상기 제2 계층적 층의 개시 위치를 나타내는 위치 정보를 포함하는, 기억 매체.
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002154345 | 2002-05-28 | ||
JPJP-P-2002-00154345 | 2002-05-28 | ||
JPJP-P-2002-00201989 | 2002-07-10 | ||
JP2002201989 | 2002-07-10 | ||
JP2002201990 | 2002-07-10 | ||
JPJP-P-2002-00201990 | 2002-07-10 | ||
JPJP-P-2002-00306072 | 2002-10-21 | ||
JP2002306072 | 2002-10-21 | ||
PCT/JP2003/006320 WO2003101114A1 (en) | 2002-05-28 | 2003-05-21 | Moving picture data reproducing device with improved random access |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20050013050A true KR20050013050A (ko) | 2005-02-02 |
Family
ID=29587779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2003-7014884A KR20050013050A (ko) | 2002-05-28 | 2003-05-21 | 동화상 데이터 재생 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20040146285A1 (ko) |
EP (1) | EP1508245A1 (ko) |
KR (1) | KR20050013050A (ko) |
CN (1) | CN1547852A (ko) |
AU (1) | AU2003232637A1 (ko) |
WO (1) | WO2003101114A1 (ko) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2003250959A1 (en) * | 2002-07-18 | 2004-02-09 | Vega Grieshaber Kg | Bus station with an integrated bus monitor function |
JP4182932B2 (ja) * | 2004-08-04 | 2008-11-19 | ソニー株式会社 | 記録装置および方法、再生装置および方法、記録再生装置および方法、並びにプログラム |
JP2006221714A (ja) * | 2005-02-09 | 2006-08-24 | Toshiba Corp | 符号化ディジタルオーディオ再生装置 |
JP4706278B2 (ja) * | 2005-02-24 | 2011-06-22 | ソニー株式会社 | 情報処理システム、再生端末装置および再生方法、情報処理装置および方法、並びにプログラム |
JP5082209B2 (ja) | 2005-06-27 | 2012-11-28 | 株式会社日立製作所 | 送信装置、受信装置、及び映像信号送受信システム |
JP4213697B2 (ja) * | 2005-08-31 | 2009-01-21 | 株式会社東芝 | 動画ストリームの画像再生装置及び方法 |
JP4994623B2 (ja) * | 2005-08-31 | 2012-08-08 | 富士通株式会社 | テキスト編集・再生装置、コンテンツ編集・再生装置及びテキスト編集・再生方法 |
US8788933B2 (en) * | 2005-12-01 | 2014-07-22 | Nokia Corporation | Time-shifted presentation of media streams |
JP4944484B2 (ja) * | 2006-04-20 | 2012-05-30 | キヤノン株式会社 | 再生装置、再生方法及びプログラム |
MX2008013185A (es) * | 2006-05-03 | 2008-10-21 | Ericsson Telefon Ab L M | Metodo y aparato para la reconstruccion de medios a partir de una representacion de medios. |
US9623284B2 (en) * | 2008-02-20 | 2017-04-18 | Karsten Manufacturing Corporation | Systems and methods for storing and analyzing golf data, including community and individual golf data collection and storage at a central hub |
US9438861B2 (en) * | 2009-10-06 | 2016-09-06 | Microsoft Technology Licensing, Llc | Integrating continuous and sparse streaming data |
BR112012010772A2 (pt) | 2009-11-06 | 2020-09-08 | Telefonaktiebolaget Lm Ericsson (Publ) | método e dispositivo para prover conteúdo de mídia para fluxo contínuo, método de renderização de conteúdo de mídia, e, terminal de usuário |
JP5652642B2 (ja) * | 2010-08-02 | 2015-01-14 | ソニー株式会社 | データ生成装置およびデータ生成方法、データ処理装置およびデータ処理方法 |
KR101711009B1 (ko) * | 2010-08-26 | 2017-03-02 | 삼성전자주식회사 | 영상 저장장치, 영상 재생장치, 영상 저장방법, 영상 제공방법, 저장매체 및 촬영장치 |
US9185468B2 (en) * | 2010-12-20 | 2015-11-10 | Google Technology Holdings LLC | MP4 container file formats and methods of processing MP4 container files |
JP2013051607A (ja) * | 2011-08-31 | 2013-03-14 | Canon Inc | データ処理装置、方法および制御プログラム |
JP6045222B2 (ja) * | 2012-06-28 | 2016-12-14 | 株式会社Nttドコモ | 動画像予測復号装置、方法及びプログラム |
CN102883188A (zh) * | 2012-10-16 | 2013-01-16 | 北京千橡网景科技发展有限公司 | 实时下载播放mp4文件的方法和*** |
JP6498882B2 (ja) * | 2013-07-22 | 2019-04-10 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 蓄積方法、再生方法、蓄積装置、および再生装置 |
ES2613978T3 (es) * | 2013-12-26 | 2017-05-29 | Telefonica Digital España, S.L.U. | Un método y un sistema para la transmisión por secuencias suave de contenidos de medios en una red de entrega de contenidos distribuida |
US9355147B2 (en) | 2014-02-13 | 2016-05-31 | International Business Machines Corporation | Access plan for a database query |
WO2015182492A1 (ja) * | 2014-05-30 | 2015-12-03 | ソニー株式会社 | 情報処理装置および情報処理方法 |
KR20170012229A (ko) * | 2014-05-30 | 2017-02-02 | 소니 주식회사 | 정보 처리 장치 및 정보 처리 방법 |
CN104333801B (zh) * | 2014-11-28 | 2018-04-13 | 北京奇艺世纪科技有限公司 | 一种mp4媒体文件传输方法、播放方法、装置及*** |
US10432686B1 (en) * | 2016-06-13 | 2019-10-01 | Amazon Technologies, Inc. | Streaming media file management |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5809201A (en) * | 1994-06-24 | 1998-09-15 | Mitsubishi Denki Kabushiki Kaisha | Specially formatted optical disk and method of playback |
JP3329979B2 (ja) * | 1995-02-24 | 2002-09-30 | 株式会社日立製作所 | 光ディスク及び光ディスク再生装置 |
JP3146937B2 (ja) * | 1995-07-13 | 2001-03-19 | 日本ビクター株式会社 | 高能率符号化された動画像情報から早送り,早戻し画像を再生する再生方法 |
CN1159917C (zh) * | 1999-10-07 | 2004-07-28 | 汤姆森特许公司 | 在数字视频***中生成特技模式的方法和设备 |
IL132859A (en) * | 1999-11-10 | 2008-07-08 | Nds Ltd | Data stream processing system |
US7212726B2 (en) * | 2000-09-15 | 2007-05-01 | International Business Machines Corporation | System and method of processing MPEG streams for file index insertion |
US7139470B2 (en) * | 2001-08-17 | 2006-11-21 | Intel Corporation | Navigation for MPEG streams |
-
2003
- 2003-05-21 KR KR10-2003-7014884A patent/KR20050013050A/ko not_active Application Discontinuation
- 2003-05-21 EP EP03755276A patent/EP1508245A1/en not_active Withdrawn
- 2003-05-21 WO PCT/JP2003/006320 patent/WO2003101114A1/en not_active Application Discontinuation
- 2003-05-21 AU AU2003232637A patent/AU2003232637A1/en not_active Abandoned
- 2003-05-21 US US10/475,319 patent/US20040146285A1/en not_active Abandoned
- 2003-05-21 CN CNA038007916A patent/CN1547852A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
AU2003232637A1 (en) | 2003-12-12 |
US20040146285A1 (en) | 2004-07-29 |
CN1547852A (zh) | 2004-11-17 |
WO2003101114A1 (en) | 2003-12-04 |
EP1508245A1 (en) | 2005-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20050013050A (ko) | 동화상 데이터 재생 장치 | |
US7139470B2 (en) | Navigation for MPEG streams | |
JP5142453B2 (ja) | 再生装置 | |
JP4598627B2 (ja) | コンテンツ編集装置及びその再生装置 | |
US20050223034A1 (en) | Metadata for object in video | |
US20080104123A1 (en) | Data structure of metadata and reproduction method of the same | |
US20090007208A1 (en) | Program, data processing method, and system of same | |
WO2004004334A1 (ja) | 多重化装置および逆多重化装置 | |
US7697815B2 (en) | Video playback unit, video delivery unit and recording medium | |
JP2006115052A (ja) | コンテンツ検索装置とその入力装置、コンテンツ検索システム、コンテンツ検索方法、プログラム及び記録媒体 | |
JP2004201266A (ja) | 画像データ再生装置 | |
JP2004282703A (ja) | データ処理装置 | |
US7664373B2 (en) | Program, data processing method, and system of same | |
JP2002304420A (ja) | 視聴覚コンテンツ配信システム | |
JP4114868B2 (ja) | 多重化装置および多重化方法 | |
JP3894362B2 (ja) | 複数動画像の閲覧装置および記録媒体 | |
JP3581085B2 (ja) | 二次コンテンツ生成システム及びその方法並びに二次コンテンツ生成プログラムを記録した記録媒体 | |
JPWO2010134479A1 (ja) | 動画表示装置 | |
JP2006074759A (ja) | 複数動画像の閲覧装置および配信装置 | |
JP2003244612A (ja) | 動画処理装置および動画処理プログラム、記録媒体 | |
KR100813957B1 (ko) | 확장 검색 및 이벤트 발생 기능을 제공하기 위한 메타정보가 기록된 저장매체, 재생 장치 및 그 재생 방법 | |
JP2001243228A (ja) | 動画フレーム検索装置、動画フレームの検索方法、及び、そのための処理を記録した記録媒体 | |
JP2009065534A (ja) | 再生装置、再生方法、プログラムおよび記録媒体 | |
KR101299501B1 (ko) | 미디어 파일 포맷, 미디어 파일 재생 방법, 및 미디어 파일재생 장치 | |
JP2005051630A (ja) | プログラム、データ処理方法およびその装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |