KR20060040703A - 동화상 중의 오브젝트에 관한 메타데이터 스트림의 데이터구조, 검색방법 및 재생방법 - Google Patents

동화상 중의 오브젝트에 관한 메타데이터 스트림의 데이터구조, 검색방법 및 재생방법 Download PDF

Info

Publication number
KR20060040703A
KR20060040703A KR1020067001382A KR20067001382A KR20060040703A KR 20060040703 A KR20060040703 A KR 20060040703A KR 1020067001382 A KR1020067001382 A KR 1020067001382A KR 20067001382 A KR20067001382 A KR 20067001382A KR 20060040703 A KR20060040703 A KR 20060040703A
Authority
KR
South Korea
Prior art keywords
data
vclick
stream
moving picture
attribute
Prior art date
Application number
KR1020067001382A
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 가부시끼가이샤 도시바
Publication of KR20060040703A publication Critical patent/KR20060040703A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation 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/8205Transformation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/7837Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using objects detected or recognised in the video content
    • 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/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating 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/11Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information not detectable on the record carrier
    • 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]
    • 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/34Indicating arrangements 
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42646Internal components of the client ; Characteristics thereof for reading from or writing on a non-volatile solid state storage medium, e.g. DVD, CD-ROM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • H04N21/4725End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content using interactive regions of the image, e.g. hot spots
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4828End-user interface for program selection for searching program descriptors
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • 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/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
    • 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/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation 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/8042Transformation 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/775Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation 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/806Transformation 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 with processing of the sound signal
    • H04N9/8063Transformation 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 with processing of the sound signal using time division multiplex of the PCM audio and PCM video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation 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/8205Transformation 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
    • H04N9/8227Transformation 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 the additional signal being at least another television signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

본 발명은, 동화상에 등장하는 동일 오브젝트가 복수의 데이터(억세스 유니트)로 분할되어 있는 경우에, 메타데이터를 이용한 검색의 결과가 알기 쉽게 표시되도록 한다.
본 발명의 메타데이터 스트림은, 2개의 억세스 유니트 AU에서의 오브젝트 영역 데이터에 의해 지시되는 오브젝트가 의미적으로 동일한지 어떤지를 특정하는 오브젝트 ID(object_id)와, 2개의 억세스 유니트 AU에서의 오브젝트 영역 데이터가 동일 장면의 데이터인지 어떤지를 특정하는 오브젝트 서브 ID(object_subid)를 갖는 억세스 유니트 AU를 2 이상 포함한다. 메타데이터 스트림으로부터, 오브젝트 ID에 의해 동일 오브젝트라고 판정되고 또한 오브젝트 서브 ID에 의해 동일 장면이라고 판정된 복수의 억세스 유니트 AU 중 하나를 선택하고(S8200 또는 S8206), 선택한 억세스 유니트 AU를 이용해서 오브젝트의 검색을 실시한다(S8201).

Description

동화상 중의 오브젝트에 관한 메타데이터 스트림의 데이터 구조, 검색방법 및 재생방법 {DATA STRUCTURE OF META DATA STREAM ON OBJECT IN MOVING PICTURE, AND SEARCH METHOD AND PLAYBACK METHOD THEREFORE}
본 발명은, 클라이언트장치에 있는 동화상 데이터와 클라이언트장치 혹은 네트워크상의 서버장치에 있는 메타데이터를 조합시켜 동화상 하이퍼 미디어를 실현하거나, 또 동화상에 캡션이나 추출(balloon)을 표시하거나 하는 시스템에서의 메타데이터 스트림의 데이터 구조, 검색방법 및 재생방법에 관한 것이다.
하이퍼 미디어는, 동화상, 정지화상, 음성(audio), 텍스트 등의 미디어간에 하이퍼링크라 불리는 관련성을 정의하고, 서로 또는 한쪽으로부터 다른쪽을 참조할 수 있도록 한 것이다. 예를 들면 인터넷을 사용해서 열람할 수 있는 HTML로 기술된 홈 페이지에는, 텍스트나 정지화상이 배치되어 있고, 이들 텍스트나 정지화상이 도달하는 곳에 링크가 정의되어 있다. 그리고 이들 링크를 지정함으로써 즉시 링크처인 관련 정보를 표시시킬 수가 있다. 흥미가 있는 어구를 직접 지시하면 관련 정보에 억세스할 수 있기 때문에, 조작이 용이하면서 직감적이다.
한편, 텍스트나 정지화상이 아니라 동화상을 중심으로 한 하이퍼 미디어에서는, 동화상중에 등장하는 사람이나 물건 등의 오브젝트(object: 객체)로부터 그것 을 설명하는 텍스트나 정지화상 등의 관련 콘텐츠로의 링크가 정의되어 있고, 시청자가 이 오브젝트를 지시함으로써 이들 관련 콘텐츠가 표시된다. 이 때, 동화상에 등장하는 오브젝트의 시공간적인 영역과 그 관련 콘텐츠로의 링크를 정의하기 위해서는, 동화상중의 오브젝트의 시공간적인 영역을 나타내는 데이터(오브젝트 영역 데이터)가 필요하게 된다.
오브젝트 영역 데이터로서는, 2치(値) 이상의 값을 갖는 마스크 화상 계열, MPEG-4의 임의 형상 부호화, 일본 특개 2000-285253호 공보에서 설명되어 있는 바와 같은 도형의 특징점의 궤적을 기술하는 방법, 더욱이 일본 특개 2001-111996호 공보에서 설명되어 있는 방법 등을 이용할 수가 있다. 동화상 중심의 하이퍼 미디어를 실현하기 위해서는, 상기한 데이터에 더하여 오브젝트가 지정된 때에 다른 관련 콘텐츠를 표시시킨다고 하는 동작을 기술한 데이터(동작 정보) 등이 필요하다. 이들 동화상 이외의 데이터를 동화상의 메타데이터(meta data)라고 부르기로 한다.
동화상과 메타데이터를 시청자에게 제공하는 방법으로서는, 우선 동화상과 메타데이터의 양쪽이 기록된 기록매체(비디오 CD, DVD 등)를 만드는 방법이 있다. 또, 이미 비디오 CD나 DVD로서 소유하고 있는 동화상의 메타데이터를 제공하기 위해서는, 메타데이터만을 네트워크상으로부터 다운로드, 혹은 스트리밍에 의해 전달하면 좋다. 더욱이, 동화상과 메타데이터의 양쪽의 데이터를 네트워크로 전달해도 좋다. 이 때, 메타데이터는 버퍼를 효율적으로 사용할 수 있고, 랜덤 억세스에 알맞으며, 네트워크에서의 임의의 데이터 손실(loss)에 대해 강한 형식인 것이 바람직하다.
동화상 데이터가 빈번히 전환되는 경우(예컨대, 복수의 카메라 앵글(angle)에서 캡춰된 동화상 데이터가 준비되고, 시청자가 임의의 카메라 앵글을 자유롭게 선택할 수 있는 경우의 DVD 비디오의 다중 앵글 비디오(multi-angle video)와 같이)에는, 동화상 데이터의 전환과 대응해서 메타데이터가 신속히 전환되지 않으면 안된다(일본 특개 2000-285253호 공보 및 2001-111996호 공보 참조).
시청자에게 전달되는 동화상과 관련된 네트워크상의 메타데이터에는 동화상이나 동화상중에 등장하는 오브젝트에 관한 정보가 포함되어 있기 때문에, 이 메타데이터를 오브젝트의 검색에 이용할 수가 있다. 예를 들면, 등장하는 오브젝트의 이름이나 특징에서의 검색을 가능하게 한다. 이 때, 메타데이터를 이용한 검색을 효율적으로 실시하는 것이 요망된다.
또, 이러한 메타데이터를 시청자에게 스트리밍 방식으로 전달할 때, 메타데이터는 네트워크에서의 데이터 손실(loss)에 강한 형식인 것이 바람직하다.
본 발명의 목적은, 메타데이터를 이용해서 오브젝트를 효율적으로 검색할 수 있는 메타데이터 스트림의 데이터 구조 및 이것을 이용한 검색방법을 제공하는 것이다.
본 발명의 다른 목적은, 스트리밍시의 데이터 손실에 의한 메타데이터의 일부의 결락의 영향을 저감할 수 있는 메타데이터 스트림의 데이터 구조 및 그 재생방법을 제공하는 것이다.
본 발명의 또 하나의 목적은, 데이터 사이즈가 작은 메타데이터 스트림의 데이터 구조를 제공하는 것이다.
본 발명의 일실시예에 따른 메타데이터 스트림의 데이터 구조는, 독립해서 처리가능한 데이터 단위인 억세스 유니트(access unit)를 적어도 2개 이상 포함한다. 여기서, 억세스 유니트(예를 들면, 도 4, 도 77, 도 78의 Vclick_AU)는 동화상중의 오브젝트의 시공간영역을 기술한 제1 데이터(예를 들면, 오브젝트 영역 데이터(400))와, 다른 적어도 2개의 억세스 유니트에서의 오브젝트 영역 데이터에 의해 각각 지시되는 동화상중의 오브젝트가 의미적으로 동일한지 어떤지를 특정하는 제2 데이터(예를 들면, 오브젝트 ID; object_id)를 가진다. 억세스 유니트에는 동화상의 시간축에 대해 정의되는 유효기간내에 관련된 정보로서 상기 유효기간을 특정하는 데이터(예를 들면, 402, B01/B02, C01/C02)를 포함해도 좋다.
이와 같이 각 억세스 유니트에, 의미적으로 동일한 오브젝트를 특정하는 제2 데이터(object_id)를 기술해 두고, 검색 시에는 오브젝트 ID가 같은 억세스 유니트를 검색결과에 표시시키지 않도록 한다.
억세스 유니트는, 적어도 2개의 억세스 유니트에서의 오브젝트 영역 데이터에 의해 각각 지시되는 동화상중의 오브젝트가 의미적으로 동일한 경우에, 적어도 2개의 억세스 유니트에서의 오브젝트 영역 데이터가 동화상중의 동일 장면의 데이터인지 어떤지를 특정하는 제3 데이터(예를 들면, 오브젝트 서브 ID; object_subid)를 더 가져도 좋다.
이와 같이 각 억세스 유니트에, 복수의 억세스 유니트간에서 의미적으로 동일한 오브젝트를 특정하는 오브젝트 ID와, 더욱이 각각의 오브젝트 영역 데이터가 동일 장면의 데이터인 것을 특정하는 오브젝트 서브 ID를 기술해 두고, 검색 시에는 오브젝트 ID가 같고 또한 서브 오브젝트 ID가 같은 억세스 유니트를 검색결과에 표시시키지 않도록 한다.
더욱이, 동일한 오브젝트 ID를 갖는 전후의 억세스 유니트에 기술된 오브젝트 영역이 각각 시간적으로 연속하고 있는지 어떤지를 나타내는 제4 데이터(예를 들면, continue_flag)를 준비해 두고, 억세스 유니트의 결락(missing)의 판정이나 오브젝트 영역의 보간처리를 실시하도록 해도 좋다.
더욱이, 텍스트 데이터는 적당히 압축해서 억세스 유니트에 격납되도록 하는 것이 바람직하고, 그 경우 억세스 유니트는 텍스트 데이터가 압축되어 있는지 비압축인지를 나타내는 데이터를 포함한다.
본 발명에 의하면, 오브젝트 ID(object_id)를 이용함으로써, 동일한 오브젝트 ID를 갖는 억세스 유니트의 표시를 생략하여 키워드에 의한 검색을 실시한 경우와 같이 닮은 검색결과가 다수 표시되어 버리는 일이 없어져 오브젝트의 검색이 용이하게 된다.
또, 오브젝트 ID(object_id)와 오브젝트 서브 ID(object_subid)를 병용하면, 다른 장면에 등장한 오브젝트만을 검색결과로서 표시할 수 있게 된다.
더욱이, 동일한 오브젝트 ID를 갖는 전후의 억세스 유니트에 기술된 오브젝트 영역이 각각 시간적으로 연속하고 있는지 어떤지를 나타내는 플래그를 이용함으로써, 억세스 유니트 결락으로의 대책을 세울 수 있게 된다.
텍스트 데이터를 압축함으로써 메타데이터의 데이터 사이즈를 삭감할 수 있어 전송/기록의 효율이 향상된다.
도 1은 본 발명의 일실시예에 따른 하이퍼 미디어의 표시예를 설명하는 도면.
도 2는 본 발명의 일실시예에 따른 시스템의 구성예를 나타내는 블럭도.
도 3은 본 발명의 일실시예에 따른 오브젝트 영역과 오브젝트 영역 데이터의 관계를 설명하는 도면.
도 4는 본 발명의 일실시예에 따른 오브젝트 메타데이터의 억세스 유니트의 데이터 구조예를 설명하는 도면.
도 5는 본 발명의 일실시예에 따른 Vclick 스트림의 구성방법을 설명하는 도면.
도 6은 본 발명의 일실시예에 따른 Vclick 억세스 테이블의 구성예를 설명하는 도면.
도 7은 본 발명의 일실시예에 따른 송신용 패킷의 구성예를 설명하는 도면.
도 8은 본 발명의 일실시예에 따른 송신용 패킷의 다른 구성예를 설명하는 도면.
도 9는 본 발명의 일실시예에 따른 서버·클라이언트간의 통신예를 설명하는 도면.
도 10은 본 발명의 일실시예에 따른 서버·클라이언트간의 다른 통신예를 설명하는 도면.
도 11은 본 발명의 일실시예에 따른 Vclick 스트림의 데이터 요소의 예를 설명하는 도면.
도 12는 본 발명의 일실시예에 따른 Vclick 스트림의 헤더의 데이터 요소의 예를 설명하는 도면.
도 13은 본 발명의 일실시예에 따른 Vclick 억세스 유니트(access unit: AU)의 데이터 요소의 예를 설명하는 도면.
도 14는 본 발명의 일실시예에 따른 Vclick 억세스 유니트(AU)의 헤더의 데이터 요소의 예를 설명하는 도면.
도 15는 본 발명의 일실시예에 따른 Vclick 억세스 유니트(AU)의 타임 스탬프의 데이터 요소의 예를 설명하는 도면.
도 16은 본 발명의 일실시예에 따른 Vclick 억세스 유니트(AU)의 타임 스탬프 스킵의 데이터 요소의 예를 설명하는 도면.
도 17은 본 발명의 일실시예에 따른 오브젝트 속성 정보의 데이터 요소의 예를 설명하는 도면.
도 18은 본 발명의 일실시예에 따른 오브젝트 속성 정보의 종류의 예를 설명하는 도면.
도 19는 본 발명의 일실시예에 따른 오브젝트의 이름 속성의 데이터 요소의 예를 설명하는 도면.
도 20은 본 발명의 일실시예에 따른 오브젝트의 동작(action) 속성의 데이터 요소의 예를 설명하는 도면.
도 21은 본 발명의 일실시예에 따른 오브젝트의 윤곽선 속성의 데이터 요소의 예를 설명하는 도면.
도 22는 본 발명의 일실시예에 따른 오브젝트의 점멸영역 속성의 데이터 요소의 예를 설명하는 도면.
도 23은 본 발명의 일실시예에 따른 오브젝트의 모자이크영역 속성의 데이터 요소의 예를 설명하는 도면.
도 24는 본 발명의 일실시예에 따른 오브젝트의 도장(paint)영역 속성의 데이터 요소의 예를 설명하는 도면.
도 25는 본 발명의 일실시예에 따른 오브젝트의 텍스트 정보 데이터의 데이터 요소의 예를 설명하는 도면.
도 26은 본 발명의 일실시예에 따른 오브젝트의 텍스트 속성의 데이터 요소의 예를 설명하는 도면.
도 27은 본 발명의 일실시예에 따른 오브젝트의 텍스트 하이라이트효과 속성의 데이터 요소의 예를 설명하는 도면.
도 28은 본 발명의 일실시예에 따른 오브젝트의 텍스트 하이라이트효과 속성의 엔트리의 데이터 요소의 예를 설명하는 도면.
도 29는 본 발명의 일실시예에 따른 오브젝트의 텍스트 점멸효과 속성의 데이터 요소의 예를 설명하는 도면.
도 30은 본 발명의 일실시예에 따른 오브젝트의 텍스트 점멸효과 속성의 엔트리의 데이터 요소의 예를 설명하는 도면.
도 31은 본 발명의 일실시예에 따른 오브젝트의 텍스트 스크롤효과 속성의 데이터 요소의 예를 설명하는 도면.
도 32는 본 발명의 일실시예에 따른 오브젝트의 텍스트 가라오케효과 속성의 데이터 요소의 예를 설명하는 도면.
도 33은 본 발명의 일실시예에 따른 오브젝트의 텍스트 가라오케효과 속성의 엔트리의 데이터 요소의 예를 설명하는 도면.
도 34는 본 발명의 일실시예에 따른 오브젝트의 계층(layer)속성 확장의 데이터 요소의 예를 설명하는 도면.
도 35는 본 발명의 일실시예에 따른 오브젝트의 계층속성 확장의 엔트리의 데이터 요소의 예를 설명하는 도면.
도 36은 본 발명의 일실시예에 따른 Vclick 억세스 유니트(AU)의 오브젝트 영역 데이터의 데이터 요소의 예를 설명하는 도면.
도 37은 본 발명의 일실시예에 따른 통상 재생의 개시처리순서를 나타내는 흐름도(Vclick 데이터가 서버장치에 기억되어 있는 경우).
도 38은 본 발명의 일실시예에 따른 다른 통상 재생의 개시처리순서를 나타내는 흐름도(Vclick 데이터가 서버장치에 기억되어 있는 경우).
도 39는 본 발명의 일실시예에 따른 통상 재생의 종료처리순서를 나타내는 흐름도(Vclick 데이터가 서버장치에 기억되어 있는 경우).
도 40은 본 발명의 일실시예에 따른 랜덤 억세스 재생의 개시처리순서를 나타내는 흐름도(Vclick 데이터가 서버장치에 기억되어 있는 경우).
도 41은 본 발명의 일실시예에 따른 다른 랜덤 억세스 재생의 개시처리순서를 나타내는 흐름도(Vclick 데이터가 서버장치에 기억되어 있는 경우).
도 42는 본 발명의 일실시예에 따른 통상 재생의 개시처리순서를 나타내는 흐름도(Vclick 데이터가 클라이언트장치에 기억되어 있는 경우).
도 43은 본 발명의 일실시예에 따른 랜덤 억세스 재생의 개시처리순서를 나타내는 흐름도(Vclick 데이터가 클라이언트장치에 기억되어 있는 경우).
도 44는 본 발명의 일실시예에 따른 클라이언트장치의 필터링 동작을 나타내는 흐름도.
도 45는 본 발명의 일실시예에 따른 Vclick 억세스 테이블을 이용한 Vclick 스트림중의 억세스 포인트 검색순서를 나타내는 흐름도(파트 1).
도 46은 본 발명의 일실시예에 따른 Vclick 억세스 테이블을 이용한 Vclick 스트림중의 억세스 포인트 검색순서를 나타내는 흐름도(파트 2).
도 47은 본 발명의 일실시예에 따른 Vclick_AU의 유효기간과 활성기간이 일치하고 있지 않은 예를 설명하는 도면.
도 48은 본 발명의 일실시예에 따른 NULL_AU의 데이터 구조의 예를 설명하는 도면.
도 49는 본 발명의 일실시예에 따른 NULL_AU를 이용한 경우의 Vclick_AU의 유효기간과 활성기간의 관계의 예를 설명하는 도면.
도 50은 본 발명의 일실시예에 따른 NULL_AU를 이용한 경우의 메타데이터 매니저의 처리순서의 예(파트 1)를 설명하는 도면.
도 51은 본 발명의 일실시예에 따른 NULL_AU를 이용한 경우의 메타데이터 매니저의 처리순서의 예(파트 2)를 설명하는 도면.
도 52는 본 발명의 일실시예에 따른 NULL_AU를 이용한 경우의 메타데이터 매니저의 처리순서의 예(파트 3)를 설명하는 도면.
도 53은 본 발명의 일실시예에 따른 강화된 DVD 비디오디스크의 구조의 예를 설명하는 도면.
도 54는 본 발명의 일실시예에 따른 강화된 DVD 비디오디스크내의 디렉토리 구성의 예를 설명하는 도면.
도 55는 본 발명의 일실시예에 따른 Vclick 정보의 구조예(파트 1)를 설명하는 도면.
도 56은 본 발명의 일실시예에 따른 Vclick 정보의 구조예(파트 2)를 설명하는 도면.
도 57은 본 발명의 일실시예에 따른 Vclick 정보의 구조예(파트 3)를 설명하는 도면.
도 58은 본 발명의 일실시예에 따른 Vclick 정보의 구성예를 설명하는 도면.
도 59는 본 발명의 일실시예에 따른 Vclick 정보의 기술예 1을 설명하는 도면.
도 60은 본 발명의 일실시예에 따른 Vclick 정보의 기술예 2를 설명하는 도면.
도 61은 본 발명의 일실시예에 따른 Vclick 정보의 기술예 3을 설명하는 도 면.
도 62는 본 발명의 일실시예에 따른 Vclick 정보의 기술예 4를 설명하는 도면.
도 63은 본 발명의 일실시예에 따른 Vclick 정보의 기술예 5를 설명하는 도면.
도 64는 본 발명의 일실시예에 따른 Vclick 정보의 기술예 6을 설명하는 도면.
도 65는 본 발명의 일실시예에 따른 Vclick 정보의 기술예 7을 설명하는 도면.
도 66은 본 발명의 일실시예에 따른 Vclick 정보의 다른 구성예를 설명하는 도면.
도 67은 본 발명의 일실시예에 따른 Vclick 정보파일에 의해 영어 음성용의 Vclick 스트림이 선택된 예를 설명하는 도면.
도 68은 본 발명의 일실시예에 따른 Vclick 정보파일에 의해 일본어 음성용의 Vclick 스트림이 선택된 예를 설명하는 도면.
도 69는 본 발명의 일실시예에 따른 Vclick 정보파일에 의해 영어 자막용의 Vclick 스트림이 선택된 예를 설명하는 도면.
도 70은 본 발명의 일실시예에 따른 Vclick 정보파일에 의해 일본어 자막용의 Vclick 스트림이 선택된 예를 설명하는 도면.
도 71은 본 발명의 일실시예에 따른 Vclick 정보파일에 의해 앵글 1용의 Vclick 스트림이 선택된 예를 설명하는 도면.
도 72는 본 발명의 일실시예에 따른 Vclick 정보파일에 의해 앵글 2용의 Vclick 스트림이 선택된 예를 설명하는 도면.
도 73은 본 발명의 일실시예에 따른 Vclick 정보파일에 의해 애스펙트비 16:9용의 Vclick 스트림이 선택된 예를 설명하는 도면.
도 74는 본 발명의 일실시예에 따른 Vclick 정보파일에 의해 애스펙트비 4:3의 레터박스 표시용의 Vclick 스트림이 선택된 예를 설명하는 도면.
도 75는 본 발명의 일실시예에 따른 Vclick 정보파일에 의해 애스펙트비 4:3의 팬스캔(pan scan) 표시용의 Vclick 스트림이 선택된 예를 설명하는 도면.
도 76은 본 발명의 일실시예에 따른 하이퍼 미디어의 표시예를 설명하는 도면.
도 77은 본 발명의 일실시예에 따른 오브젝트 메타데이터의 억세스 유니트의 데이터 구조예를 설명하는 도면.
도 78은 본 발명의 일실시예에 따른 오브젝트 메타데이터의 억세스 유니트의 데이터 구조예를 설명하는 도면.
도 79는 본 발명의 일실시예에 따른 Vclick 억세스 유니트의 계속시간의 데이터 구조를 설명하는 도면.
도 80은 본 발명의 일실시예에 따른 Vclick 억세스 유니트의 검색결과의 표시예를 설명하는 도면.
도 81은 본 발명의 일실시예에 따른 Vclick 억세스 유니트의 검색결과의 표 시예를 설명하는 도면.
도 82는 본 발명의 일실시예에 따른 Vclick 억세스 유니트의 검색처리의 흐름을 설명하는 도면.
도 83은 본 발명의 일실시예에 따른 Vclick 억세스 유니트의 검색결과의 표시예를 설명하는 도면.
도 84는 본 발명의 일실시예에 따른 결락한 Vclick 억세스 유니트의 판정과 보간처리의 흐름을 설명하는 도면.
도 85는 본 발명의 일실시예에 따른 결락한 Vclick 억세스 유니트의 보간방법을 설명하는 도면.
도 86은 본 발명의 일실시예에 따른 Vclick 억세스 유니트의 Vclick 억세스 유니트의 헤더의 데이터 구조를 설명하는 도면.
도 87은 본 발명의 일실시예에 따른 결락한 Vclick 억세스 유니트의 판정과 보간처리의 흐름을 설명하는 도면.
도 88은 본 발명의 일실시예에 따른 Vclick 억세스 유니트의 Vclick 억세스 유니트의 오브젝트 이름 속성의 데이터 구조를 설명하는 도면.
도 89는 본 발명의 일실시예에 따른 Vclick 억세스 유니트의 Vclick 억세스 유니트의 오브젝트 동작 속성의 데이터 구조를 설명하는 도면.
도 90은 본 발명의 일실시예에 따른 Vclick 억세스 유니트의 Vclick 억세스 유니트의 오브젝트 텍스트 정보의 데이터 구조를 설명하는 도면.
이하, 도면을 참조하면서 본 발명의 일실시예를 설명한다.
(어플리케이션의 개요)
도 1은 본 발명의 오브젝트 메타데이터를 동화상과 함께 이용함으로써 실현되는 어플리케이션(동화상 하이퍼 미디어)의 화면상의 표시예이다. 도 1a에서, 참조부호 100은 동화상의 재생윈도우, 그리고 101은 마우스 커서이다. 동화상의 재생윈도우에서 재생되는 동화상의 데이터는, 로컬에 있는 동화상 데이터 기록매체에 기록되어 있다. 참조부호 102는 동화상중에 등장하는 오브젝트의 영역이다. 유저가 오브젝트의 영역내로 마우스 커서를 이동시켜 클릭 등에 의해 오브젝트를 선택하면, 소정의 기능이 실행된다. 예를 들면 도 1b에서는, 로컬 및/또는 네트워크상에 있는 문서(클릭된 오브젝트에 관련한 정보; 103)가 표시되어 있다. 그 외, 동화상의 다른 장면으로 점프하거나 다른 동화상 파일이 재생되거나 재생모드를 변경하는 등의 기능을 실행할 수가 있다.
오브젝트의 영역(102)의 데이터 및 이 영역이 클릭 등에 의해 지정된 경우의 클라이언트장치의 동작데이터 등을 한데모아, 오브젝트 메타데이터(object meta data) 또는 Vclick 데이터라고 부르기로 한다. 오브젝트 메타데이터는 로컬에 있는 동화상 데이터 기록매체(광디스크, 하드 디스크, 반도체 메모리 등)에 동화상 데이터와 함께 기록되어 있어도 좋고, 네트워크상의 서버에 축적되어 있다가 네트워크를 매개로 클라이언트로 보내지도록 해도 좋다. 이하에서는 이 어플리케이션이 어떻게 실현될 것인지에 대해 상세하게 설명한다.
(시스템 모델)
도 2는 본 발명의 일실시예에 따른 스트리밍 장치(네트워크 대응 디스크 플레이어)의 개략 구성을 나타내는 도면이다. 이 도면을 이용해서 각 구성요소의 기능에 대해 설명한다.
참조부호 200은 클라이언트장치, 201은 서버장치, 221은 서버장치와 클라이언트장치를 연결하는 네트워크이다. 클라이언트장치(200)는, 동영상 재생엔진(203), Vclick 엔진(202), 디스크장치(230), 유저 인터페이스(240), 네트워크 매니저(208), 디스크장치 매니저(213)를 갖추고 있다. 또, 참조부호 204∼206은 동영상 재생엔진에 포함되는 장치, 207, 209∼212, 214∼218은 Vclick 엔진에 포함되는 장치, 219와 220은 서버장치에 포함되는 장치이다. 클라이언트장치(200)는 디스크장치(230)에 있는 동화상 데이터의 재생이나, HTML 등의 마크업 언어(markup language)로 기술된 문서의 표시를 실시할 수가 있다. 또, 네트워크상에 있는 문서(예를 들면, HTML)의 표시를 실시하는 것도 가능하다.
클라이언트장치(200)에 있는 동화상 데이터에 관련한 메타데이터가 서버장치(201)에 기억되어 있는 경우, 클라이언트장치(200)는 이 메타데이터와 디스크장치(230)에 있는 동화상 데이터를 이용한 재생처리를 이하와 같이 실시하는 것이 가능하다. 우선, 서버장치(201)는 클라이언트장치(200)로부터의 요구에 의해 네트워크(221)를 매개로 클라이언트장치(200)로 미디어 데이터(M1)를 보낸다. 클라이언트장치(200)에서는, 보내져 온 미디어 데이터를 동화상의 재생과 동기시켜 처리함으로써 하이퍼 미디어 등의 부가기능을 실현시킨다(여기서의 "동기"란, 물리적으로 완전한 타이밍의 일치에만 한정되지 않고, 다소의 타이밍 어긋남(오차)도 허용하고 있다).
동영상 재생엔진(203)은, 디스크장치(230)에 기억되어 있는 동화상 데이터를 재생하기 위한 엔진으로서, 장치 204, 205, 206를 가지고 있다. 참조부호 231은 동화상 데이터 기록매체로서, 구체적으로는 DVD, 비디오 CD, 비디오 테이프, 하드 디스크, 반도체 메모리 등이다. 동화상 데이터 기록매체(231)에는 디지털 및/또는 아날로그의 동화상 데이터가 기록되어 있다. 동화상 데이터에 관련한 메타데이터는, 동화상 데이터와 함께 동화상 데이터 기록매체(231)에 기록되어 있는 경우도 있다. 참조부호 205는 동화상 재생 제어용의 콘트롤러로서, Vclick 엔진(202)의 인터페이스 핸들러(207)로부터 출력되는 "제어(control)"신호에 따라, 동화상 데이터 기록매체(231)로부터의 영상/음성/부영상 데이터(D1)의 재생을 제어할 수도 있도록 구성되어 있다.
구체적으로는, 동화상 재생 콘트롤러(205)는 동화상의 재생시에 인터페이스 핸들러(207)로부터 임의의 이벤트(예를 들면 유저 지시에 의한 메뉴 콜이나 타이틀 점프)가 발생한 때에 송신되는 "제어"신호에 따라, 인터페이스 핸들러(207)에 대해 영상/음성/부영상 데이터(D1)의 재생상황을 나타내는 "트리거(trigger)"신호를 출력할 수가 있다. 이 경우(트리거신호의 출력과 동시에, 혹은 그 전후의 적당한 타이밍에서), 동화상 재생 콘트롤러(205)는 특성정보(예를 들면 플레이어로 설정되어 있는 음성 언어, 부영상 자막 언어, 재생동작, 재생위치, 각종 시간정보, 디스크의 내용 등)를 나타내는 "상태(status)"신호를 인터페이스 핸들러(207)로 출력할 수가 있다. 이러한 신호의 송수신에 의해 동화상 데이터 독출의 개시 및 정지나, 동화 상 데이터중의 소망한 위치로의 억세스가 가능하게 된다.
AV 디코더(206)는, 동화상 데이터 기록매체(231)에 기록되어 있는 영상 데이터, 음성 데이터, 및 부영상 데이터를 각각 디코드해서, 디코드된 영상 데이터(전술한 영상 데이터와 전술한 부영상 데이터를 합성한 것)와 음성 데이터를 각각 출력하는 기능을 가지고 있다. 이에 따라, 동영상 재생엔진(203)은 기존의 DVD 비디오 규격에 기초해서 제조되는 통상의 DVD 비디오 플레이어의 재생엔진과 같은 기능을 갖게 된다. 즉, 도 2의 클라이언트장치(200)는 MPEG2 프로그램 스트림 구조의 영상, 음성 등의 데이터를 통상의 DVD 비디오 플레이어와 마찬가지로 재생할 수가 있고, 이에 따라 기존의 DVD 비디오디스크(종래의 DVD 비디오 규격에 준거한 디스크)의 재생이 가능하게 된다(기존 DVD 소프트에 대한 재생 호환 확보).
인터페이스 핸들러(207)는, 동화상 재생엔진(203), 디스크장치 매니저(213), 네트워크 매니저(208), 메타데이터 매니저(210), 버퍼 매니저(211), 스크립트 인터프리터(212), 미디어 디코더(216; 메타데이터 디코더(217)를 포함한다), 레이아웃 매니저(215), AV 렌더러(218) 등의 모듈간의 인터페이스 제어를 실시한다. 또, 유저 조작(마우스, 터치 패널, 키보드 등의 입력 디바이스로의 조작)에 의한 입력 이벤트를 유저 인터페이스(240)로부터 수취하여 적절한 모듈로 이벤트를 송신한다.
인터페이스 핸들러(207)는 Vclick 억세스 테이블(후술하기로 함)을 해석하는 억세스 테이블 파서, Vclick 정보파일(후술하기로 함)을 해석하는 정보파일 파서, Vclick 엔진의 관리하는 특성을 기록해 두는 특성 버퍼, Vclick 엔진의 시스템 클록, 동영상 재생엔진에 있는 동화상 클록(204)을 복사한 동화상 클록 등을 가지고 있다.
네트워크 매니저(208)는, 네트워크를 매개로 문서(예를 들면, HTML)나 정지화상 데이터, 음성 데이터 등을 버퍼(209)에 취득하는 기능을 가지고서 인터넷 접속부(222)의 동작을 제어한다. 네트워크 매니저(212)는, 유저 조작 또는 메타데이터 매니저(210)로부터의 요구를 받은 인터페이스 핸들러(207)로부터 네트워크로의 접속이나 비접속의 지시가 오면, 인터넷 접속부(222)의 접속/비접속의 전환을 실시한다. 또, 서버장치(201)와 인터넷 접속부(222)의 네트워크 확립시에는, 제어 데이터나 미디어 데이터(오브젝트 메타데이터)의 송수신을 실시한다.
클라이언트장치(200)로부터 서버장치(201)로 송신하는 데이터로서는, 세션 구축의 요구, 세션 종료의 요구, 미디어 데이터(오브젝트 메타데이터) 송신의 요구, 상태정보(OK나 에러 등) 등이 있다. 또, 클라이언트장치의 상태정보의 송신을 실시하도록 해도 좋다. 한편, 서버장치로부터 클라이언트장치로 송신하는 데이터에는 미디어 데이터(오브젝트 메타데이터), 상태정보(OK나 에러 등)가 있다.
디스크장치 매니저(213)는, 문서(예를 들면, HTML)나 정지화상 데이터, 음성 데이터 등을 버퍼(209)에 취득하는 기능 및, 동영상 재생엔진(203)에 영상/음성/부영상 데이터(D1)를 송신하는 기능을 가지고 있다. 디스크장치 매니저(213)는, 메타데이터 매니저(210)로부터의 지시에 따라 데이터 송신 처리를 실시한다.
버퍼(209)는, 네트워크를 매개로(네트워크 매니저를 매개로) 서버장치(201)로부터 보내져 온 미디어 데이터(M1)를 일시적으로 축적한다. 또, 동화상 데이터 기록매체(231)에 미디어 데이터(M2)가 기록되어 있는 경우가 있지만, 이 경우도 이 와 같이 디스크장치 매니저를 매개로 버퍼(209)에 미디어 데이터(M2)를 축적하게 된다. 미디어 데이터에는 Vclick 데이터(오브젝트 메타데이터), 문서(예를 들면, HTML)나 이 문서에 부수하는 정지화상 데이터, 동화상 데이터 등이 포함된다.
동화상 데이터 기록매체(231)에 미디어 데이터(M2)가 기록되어 있는 경우는, 영상/음성/부영상 데이터(D1)의 재생을 개시하기 전에 미리 동화상 데이터 기록매체(231)로부터 미디어 데이터(M2)를 독출하여 버퍼(209)에 기억해 두어도 좋다. 이것은, 동화상 데이터 기록매체(231)상의 미디어 데이터(M2)와 영상/음성/부영상 데이터(D1)의 데이터 기록 위치가 다르기 때문에, 통상의 재생을 실시한 경우에는 디스크의 탐색(seek) 등이 발생하여 고른 재생(seamless playback)을 보장할 수 없게 되어 버리는 바, 이것을 회피하기 위한 수단으로 된다.
이상과 같이, 서버장치(201)로부터 다운로드한 미디어 데이터(M1)도, 동화상 데이터 기록매체(231)에 기록되어 있는 미디어 데이터(M2)와 마찬가지로, 버퍼(209)에 기억시킴으로써, 영상/음성/부영상 데이터(D1)와 미디어 데이터를 동시에 독출하여 재생하는 것이 가능하게 된다.
버퍼(209)의 기억용량에는 한계가 있다. 즉, 버퍼(209)에 기억할 수 있는 미디어 데이터(M1, M2)의 데이터 사이즈에는 한계가 있다. 이 때문에, 메타데이터 매니저(210) 및/또는 버퍼 매니저(211)의 제어(버퍼 제어)에 의해, 불필요한 데이터의 소거를 실시하는 것으로 해도 좋다.
메타데이터 매니저(210)는, 버퍼(209)에 축적된 메타데이터를 관리하고 있다가, 인터페이스 핸들러(207)로부터의 동화상의 재생에 동기시킨 적절한 타이밍("동 화상 클록"신호)을 받아, 해당하는 타임 스탬프를 갖는 메타데이터를 버퍼(209)로부터 미디어 디코더(216)로 전송한다.
또한, 해당하는 타임 스탬프를 갖는 메타데이터가 버퍼(209)에 존재하지 않는 경우는, 미디어 디코더(216)로 전송하지 않아도 좋다. 또, 메타데이터 매니저(210)는, 버퍼(209)로부터 송출한 메타데이터의 사이즈분, 또는 임의의 사이즈의 데이터를 서버장치(201), 또는 디스크장치(230)로부터 버퍼(209)로 읽어들이기 위한 제어를 실시한다. 구체적인 처리로서는, 메타데이터 매니저(210)는 인터페이스 핸들러(207)를 매개로 네트워크 매니저(208) 또는 디스크장치 매니저(213)에 대해 지정 사이즈분의 메타데이터 취득요구를 실시한다. 네트워크 매니저(208) 또는 디스크장치 매니저(213)는, 지정 사이즈분의 메타데이터를 버퍼(209)로 읽어들여, 메타데이터 취득완료 응답을 인터페이스 핸들러(207)를 매개로 메타데이터 매니저(210)에 통지한다.
버퍼 매니저(211)는, 버퍼(209)에 축적된 메타데이터 이외의 데이터(문서(예를 들면, HTML)나 이 문서에 부수하는 정지화상 데이터 및 동화상 데이터 등)의 관리를 하고 있다가, 인터페이스 핸들러(207)로부터의 동화상의 재생에 동기시킨 적절한 타이밍("동화상 클록"신호)을 받아 버퍼(209)에 축적된 메타데이터 이외의 데이터를 파서(parser; 214)나 미디어 디코더(216)로 보낸다. 버퍼 매니저(211)는 불필요하게 된 데이터를 버퍼(209)로부터 삭제해도 좋다.
파서(214)는, HTML 등의 마크업 언어로 쓰여진 문서의 구문해석을 실시해서 스크립트는 스크립트 인터프리터(212)로, 그리고 레이아웃에 관한 정보는 레이아웃 매니저(215)로 보낸다.
스크립트 인터프리터(212)는, 파서(214)로부터 입력되는 스크립트를 해석해서 실행한다. 스크립트의 실행에는, 인터페이스 핸들러(207)로부터 입력되는 이벤트나 특성의 정보를 이용할 수도 있다. 동화상중의 오브젝트가 유저에 의해 지정된 경우에는, 스크립트는 메타데이터 디코더(217)로부터 스크립트 인터프리터(212)로 입력된다.
AV 렌더러(AV renderer; 218)는, 영상/음성/텍스트 출력을 제어하는 기능을 가진다. 구체적으로는, AV 렌더러(218)는 레이아웃 매니저(215)로부터 출력되는 "레이아웃 제어"신호에 따라, 예를 들면 영상/텍스트의 표시위치, 표시사이즈나(이들과 함께 표시타이밍, 표시시간을 포함하는 경우도 있다), 음성의 크기(이들과 함께 출력타이밍, 출력시간을 포함하는 경우도 있다)를 제어하거나 지정되어 있는 모니터의 종별 및/또는 표시하는 영상의 종류에 따라, 그 영상의 화소변환을 실시한다. 제어의 대상으로 되는 영상/음성/텍스트 출력은, 동영상 재생엔진(203) 및 미디어 디코더(216)로부터의 출력이다. 게다가 AV 렌더러(218)는, 인터페이스 핸들러(207)로부터 출력되는 "AV출력 제어"신호에 따라, 동영상 재생엔진(203)으로부터 입력되는 영상/음성 데이터와 미디어 디코더로부터 입력되는 영상/음성/텍스트 데이터의 믹싱(mixing: 혼합) 또는 스위칭(switching: 전환)을 제어하는 기능을 가진다.
레이아웃 매니저(215)는, "레이아웃 제어"신호를 AV 렌더러(218)로 출력한다. "레이아웃 제어"신호는, 출력하는 동영상/정지화상/텍스트의 크기나 그 위치 에 관한 정보(표시 개시/종료/계속이라고 하는 표시시간에 관한 정보를 포함하는 경우도 있다)를 포함하고 있고, 레이아웃으로 표시해야 할 것인지를 AV 렌더러(218)에 지시하기 위한 정보로 이용되고 있다. 또, 인터페이스 핸들러(207)로부터 입력되는 유저의 클릭 등의 입력정보에 대해, 어느 오브젝트가 지정되었는지를 판정하고, 지정된 오브젝트에 대해 정의된 관련정보의 표시 등의 동작명령을 취출하도록 메타데이터 디코더(217)에 대해 지시한다. 취출된 동작명령은, 스크립트 인터프리터(212)로 보내져 실행된다.
미디어 디코더(216; 메타데이터 디코더를 포함한다)은, 동영상/정지화상/텍스트 데이터를 디코드한다. 이들 디코드된 영상 데이터, 텍스트 화상 데이터를 미디어 디코더(216)로부터 AV 렌더러(218)로 송신한다. 또, 이들 디코드 데이터는, 인터페이스 핸들러(202)로부터의 "미디어 제어"신호의 지시에 의해 디코드를 실시함과 동시에, 인터페이스 핸들러(202)로부터의 "타이밍"신호에 동기해서 디코드가 실시된다.
참조부호 219는 서버장치의 메타데이터 기록매체로서, 클라이언트장치(200)로 송신하는 메타데이터가 기록된 하드 디스크, 반도체 메모리, 자기테이프 등이다. 이 메타데이터는, 동화상 데이터 기록매체(231)에 기록되어 있는 동화상 데이터에 관련한 메타데이터이다. 이 메타데이터에는, 다음에 설명하는 오브젝트 메타데이터가 포함되어 있다. 참조부호 220은 서버의 네트워크 매니저로서, 클라이언트장치(200)와 네트워크(221)를 매개로 데이터의 송수신을 실시한다.
(EDVD 데이터 구조와 IFO 파일)
도 53은 동화상 데이터 기록매체(231)로서 강화된 DVD 비디오디스크를 이용할 때의 데이터 구조의 일례를 나타내는 도면이다. 강화된 DVD 비디오디스크의 DVD 비디오 영역은, DVD 비디오 규격과 같은 데이터 구조의 DVD 비디오 콘텐츠(MPEG2 프로그램 스트림 구조를 가진다)를 격납한다. 더욱이, 강화된 DVD 비디오디스크의 다른 기록영역은, 비디오 콘텐츠의 재생을 변화(variety)가 풍부한 것으로 할 수 있는 강화된 네비게이션(이하 ENAV와 약기한다) 콘텐츠를 격납한다. 상기 기록영역은, DVD 비디오 규격에서도 존재가 확인되고 있다.
여기서, DVD 비디오디스크의 기본적인 데이터 구조에 대해 설명한다. 즉, DVD 비디오디스크의 기록영역은, 내주로부터 순서대로 리드인(lead-in) 영역, 볼륨 스페이스, 및 리드아웃(lead-out) 영역을 포함하고 있다. 볼륨 스페이스는, 볼륨/파일 구조정보 영역, 및 DVD 비디오 영역(DVD 비디오 존)을 포함하고, 더욱이 옵션으로 다른 기록영역(그 밖의 DVD 존)을 포함할 수가 있다.
상기 볼륨/파일 구조정보 영역 2는, UDF(Universal Disk Format) 브릿지 구조를 위해 할당된 영역이다. UDF 브릿지 포맷의 볼륨은, ISO/IEC13346의 파트 2에 따라 인식되도록 되어 있다. 이 볼륨을 인식하는 스페이스는, 연속한 섹터로 이루어져, 도 53의 볼륨 스페이스의 최초의 논리섹터로부터 시작된다. 그 최초의 16논리섹터는, ISO9660로 규정되는 시스템 사용을 위해 예약되어 있다. 종래의 DVD 비디오 규격과의 호환성을 확보하기 위해서는, 이러한 내용의 볼륨/파일 구조정보 영역이 필요하게 된다.
또, DVD 비디오 영역에는, 비디오 매니저(video manager: VMG)라고 하는 관 리정보와 비디오 타이틀 세트(VTS; VTS#1∼VTS#n)라고 하는 비디오 콘텐츠가 1개 이상 기록되어 있다. VMG는 DVD 비디오 영역에 존재하는 모든 VTS에 대한 관리정보로서, 제어 데이터(VMGI), VMG 메뉴용 데이터(VMGM_VOBS; 옵션) 및 VMG의 백업 데이터를 포함하고 있다. 또, 각 VTS는 그 VTS의 제어 데이터(VTSI), VTS 메뉴용 데이터(VTSM_VOBS; 옵션), 그 VTS(타이틀)의 내용(영화 등)의 데이터( VTSTT_VOBS) 및 VTSI의 백업 데이터를 포함하고 있다. 종래의 DVD 비디오 규격과의 호환성을 확보하기 위해서는, 이러한 내용의 DVD 비디오 영역도 필요하게 된다.
각 타이틀(VTS#1∼VTS#n)의 재생 선택메뉴 등은 VMG를 이용해서 프로바이더(DVD 비디오디스크의 제작자)에 의해 미리 주어지고, 특정 타이틀(예를 들면 VTS#1) 내에서의 재생장(playback chapter) 선택메뉴나 기록내용(셀)의 재생순서 등은 VTSI를 이용해서 프로바이더에 의해 미리 주어지고 있다. 따라서, 디스크의 시청자(DVD 비디오 플레이어의 유저)는, 미리 프로바이더에 의해 준비된 VMG/VTSI의 메뉴나 VTSI내의 재생제어정보(프로그램 체인 정보(program chain information: PGCI))에 따라 그 디스크 1의 기록내용을 즐길 수가 있다. 그러나, DVD 비디오 규격에서는, 시청자(유저)가 프로바이더가 준비한 VMG/VTSI와 다른 방법으로 VTS의 내용(영화나 음악)을 재생할 수 없다.
프로바이더가 준비한 VMG/VTSI와 다른 방법으로 VTS의 내용(영화나 음악)을 재생하거나, 프로바이더가 준비한 VMG/VTSI와는 다른 내용을 부가해서 재생하거나 하는 구조를 위해 준비한 것이, 도 53의 강화된 DVD 비디오디스크이다. 이 디스크에 포함되는 ENAV 콘텐츠는, DVD 비디오 규격에 기초해서 제조된 DVD 비디오 플레 이어에서는 억세스할 수 없지만(설령 억세스할 수 있다고 해도 그 내용을 이용할 수 없다), 본 발명의 일실시예의 DVD 비디오 플레이어에서는 억세스할 수 있고 그 재생내용을 이용할 수 있도록 되어 있다.
ENAV 콘텐츠는, 음성, 정지화상, 폰트/텍스트, 동영상, 애니메이션, Vclick 데이터 등의 데이터와, 이들의 재생을 제어하기 위한 정보인 ENAV 문서(이것은 Markup/Script(마크업/스크립트) 언어로 기술되어 있다)를 포함하도록 구성된다. 이 재생을 제어하기 위한 정보에는, ENAV 콘텐츠(음성, 정지화상, 폰트/텍스트, 동영상, 애니메이션, Vclick 등으로 구성된다) 및/또는 DVD 비디오 콘텐츠의 재생방법(표시방법, 재생순서, 재생전환순서, 재생대상의 선택 등)이 마크업(Markup) 언어나 스크립트(Script) 언어를 이용하여 기술되어 있다. 예를 들면, 마크업 언어로서 HTML(Hyper Text Markup Language)/XHTML(eXtensible Hyper Text Markup Language)나 SMIL(Synchronized Multimedia Integration Language), 스크립트 언어로서 ECMA(European Computer Manufacturers Association) 스크립트나 자바스크립트(JavaScript)와 같은 스크립트 언어 등을 조합시키면서 이용할 수가 있다.
여기서, 도 53의 강화된 DVD 비디오디스크는, 다른 기록영역 이외의 내용이 DVD 비디오 규격에 따르고 있으므로, 이미 보급되어 있는 DVD 비디오 플레이어를 이용해도 DVD 비디오 영역에 기록된 비디오 콘텐츠를 재생할 수 있다(즉, 종래의 DVD 비디오디스크와 호환성이 있다). 다른 기록영역에 기록된 ENAV 콘텐츠는 종래의 DVD 비디오 플레이어에서는 재생할 수 없지만(혹은 이용할 수 없지만), 본 발명의 일실시예에 따른 DVD 비디오 플레이어에서는 재생할 수 있고 이용할 수 있다. 따라서, 본 발명의 일실시예에 따른 DVD 비디오 플레이어를 이용하여 ENAV 콘텐츠를 재생하면, 프로바이더가 미리 준비한 VMG/VTSI의 내용만으로 한정되지 않고 보다 변화가 풍부한 비디오 재생이 가능하게 된다.
특히, 도 53에 나타낸 바와 같이 ENAV 콘텐츠는 Vclick 데이터를 포함하고, 이 Vclick 데이터는 Vclick 정보파일(Vclick Info(정보)), Vclick 억세스 테이블, Vclick 스트림, Vclick 정보파일 백업(Vclick 정보 백업), Vclick 억세스 테이블 백업을 포함하여 구성된다.
Vclick 정보파일은, 후술하는 Vclick 스트림이 DVD 비디오 콘텐츠의 어느 개소(예를 들면, DVD 비디오 콘텐츠의 타이틀 전체, 장(chapter) 전체, 혹은 그 일부 등)에 부가하고 있는지를 나타내는 데이터이다. Vclick 억세스 테이블은, 후술하는 Vclick 스트림마다 존재하고, Vclick 스트림에 억세스하기 위한 테이블이다. Vclick 스트림은, 동화상중의 오브젝트의 위치정보나 오브젝트가 클릭된 때의 동작기술 등의 데이터를 포함한 스트림이다. Vclick 정보파일 백업은, 전술한 Vclick 정보파일의 백업으로, Vclick 정보파일과 항상 같은 내용의 것이다. 또, Vclick 억세스 테이블 백업은, 전술한 Vclick 억세스 테이블의 백업으로, Vclick 억세스 테이블과 항상 같은 내용의 것이다. 도 53의 예에서는 Vclick 데이터는 강화된 DVD 비디오디스크상에 기록되어 있다. 그러나, 전술한 것처럼 Vclick 데이터는 네트워크상의 서버장치에 놓여져 있는 경우도 있다.
도 54는 상술한 Vclick 정보파일, Vclick 억세스 테이블, Vclick 스트림, Vclick 정보파일 백업, Vclick 억세스 테이블 백업을 구성하기 위한 파일의 예를 나타낸다. Vclick 정보파일을 구성하는 파일(VCKINDEX.IFO)은, XML(Extensible Markup Language) 언어로 기술되어 있고, Vclick 스트림과 그 Vclick 스트림이 부가되는 DVD 비디오 콘텐츠의 위치정보(VTS 번호, 타이틀 번호, PGC 번호 등)가 기술되어 있다. Vclick 억세스 테이블은, 하나 이상의 파일로 구성되어 있고(VCKSTR01.IFO∼VCKSTR99.IFO, 또는 임의의 파일 이름), 하나의 억세스 테이블 파일은 하나의 Vclick 스트림에 대응한다.
Vclick 스트림 파일은, Vclick 스트림의 위치정보(파일의 선두로부터의 상대 바이트 사이즈)와 시간정보(대응하는 동화상의 타임 스탬프(time stamp) 혹은 파일의 선두로부터의 상대 시간정보)의 관계가 기술되어 있고, 주어진 시간에 대응하는 재생개시 위치를 검색할 수가 있다.
Vclick 스트림은, 하나 이상의 파일로 구성되어 있고(VCKSTR01.VCK∼VCKSTR99.VCK, 또는 임의의 파일 이름), 전술한 Vclick 정보파일의 기술을 참조해서 부가되는 DVD 비디오 콘텐츠와 함께 재생할 수 있다. 또, 복수의 속성이 존재하는 경우(예를 들면, 일본어용 Vclick 데이터와 영어용 Vclick 데이터 등), 속성 마다 다른 Vclick 스트림, 즉 다른 파일로서 구성하는 것도 가능하고, 각각의 속성을 멀티플렉스해서 하나의 Vclick 스트림, 즉 하나의 파일로서 구성하는 것도 가능하다. 전자(다른 속성을 복수의 Vclick 스트림으로 구성)의 경우는, 재생장치(player)에 일단 기억시킬 때의 버퍼점유용량을 줄일 수가 있다. 또, 후자(다른 속성을 하나의 Vclick 스트림으로 구성)의 경우는, 속성을 전환한 때, 파일을 전환하지 않고 하나의 파일을 재생한 채로 좋기 때문에, 전환하는 속도를 빠르게 할 수 가 있다.
여기서, Vclick 스트림과 Vclick 억세스 테이블의 관련지움은, 예를 들면 파일명으로 실시하는 것이 가능하다. 전술한 예에 있어서는, 하나의 Vclick 스트림(VCKSTRXX.VCK, XX는 01∼99)에 대해, 하나의 Vclick 억세스 테이블(VCKSTRXX.IFO, XX는 01∼99)을 할당하고 있다. 따라서, 확장자(extension) 이외의 파일명을 같은 것으로 함으로써, Vclick 스트림과 Vclick 억세스 테이블의 관련지움이 식별 가능하게 된다.
이 이외에도, Vclick 정보파일에서 Vclick 스트림과 Vclick 억세스 테이블의 관련지움을 기술함으로써(병행해서 기술함으로써), Vclick 스트림과 Vclick 억세스 테이블의 관련지움이 식별 가능하게 된다.
Vclick 정보파일 백업은 VCKINDEX.BUP 파일로 구성되어 있고, 전술한 Vclick 정보파일(VCKINDEX.IFO)과 완전히 같은 내용의 것이다. VCKINDEX.IFO가 어떠한 이유에 의해(디스크의 상처나 오염 등에 의해), 읽어들이기가 불가능한 경우, 이 VCKINDEX.BUP를 대신 읽어들임으로써, 소망한 수속을 실시할 수가 있다. Vclick 억세스 테이블 백업은 VCKSTR01.BUP∼VCKSTR99.BUP 파일로 구성되어 있고, 전술한 Vclick 억세스 테이블(VCKSTR01.IFO∼VCKSTR99.IFO)과 완전히 같은 내용의 것이다. 하나의 Vclick 억세스 테이블(VCKSTRXX.IFO, XX는 01∼99)에 대해, 하나의 Vclick 억세스 테이블 백업(VCKSTRXX.BUP, XX는 01∼99)을 할당하고 있고, 확장자(extension) 이외의 파일명을 같은 것으로 함으로써, Vclick 억세스 테이블과 Vclick 억세스 테이블 백업의 관련지움이 식별가능하게 된다. VCKSTRXX.IFO가 어 떠한 이유에 의해(디스크의 상처나 오염 등에 의해), 읽어들이기가 불가능한 경우, 이 VCKSTRXX.BUP를 대신 읽어들임으로써, 소망하는 수속을 실시할 수가 있다.
도 55∼도 57에는 Vclick 정보파일의 구성예를 나타낸다. Vclick 정보파일은 XML 언어로 구성되어 있으며, 최초로 XML 언어인 것이 선언되고, 다음에 XML 언어로 구성된 Vclick 정보파일인 것이 선언된다. 더욱이, <vclickinfo> 태그를 이용해서 Vclick 정보파일의 내용을 기술한다.
<vclickinfo>의 영역은, 0 혹은 1개의 <vmg> 태그와 0 혹은 1개 이상의 <vts> 태그로 구성된다. <vmg>의 영역은 DVD 비디오에서의 VMG 공간을 나타내고 있고, <vmg>의 영역에 기술된 Vclick 스트림은 VMG 공간의 DVD 비디오 데이터에 부가되는 것을 나타내고 있다. 또, <vts>의 영역은, DVD 비디오에서의 VTS 공간을 나타내고 있고, <vts> 태그 내에 num 속성을 부가함으로써 VTS 공간의 번호를 지정하고 있다. 예를 들면, <vts num="n">는 n번째의 VTS 공간을 나타내고 있다. <vts num="n">의 영역에 기술된 Vclick 스트림은 n번째의 VTS 공간을 구성하는 DVD 비디오 데이터에 부가되는 것을 나타내고 있다.
<vmg>의 영역은, 0 혹은 1개 이상의 <vmgm> 태그로 구성된다. <vmgm>의 영역은, VMG 공간에서의 VMG 메뉴 도메인을 나타내고 있고, <vmgm> 태그 내에 num 속성을 부가함으로써 VMG 메뉴 도메인의 번호를 지정하고 있다. 예를 들면, <vmgm num="n">는 n번째의 VMG 메뉴 도메인을 나타내고 있다. <vmgm num="n">의 영역에 기술된 Vclick 스트림은 n번째의 VMG 메뉴 도메인을 구성하는 DVD 비디오 데이터에 부가되는 것을 나타내고 있다.
더욱이, <vmgm>의 영역은, 0 혹은 1개 이상의 <pgc> 태그로 구성된다. <pgc>의 영역은, VMG 메뉴 도메인에서의 PGC(Program Chain)를 나타내고 있고, <pgc> 태그 내에 num 속성을 부가함으로써 PGC의 번호를 지정하고 있다. 예를 들면, <pmg num="n">는 n번째의 PGC를 나타내고 있다. <pgc num="n">의 영역에 기술된 Vclick 스트림은 n번째의 PGC를 구성하는 DVD 비디오 데이터에 부가되는 것을 나타내고 있다.
다음에, <vts>의 영역은 0 혹은 1개 이상의 <vts_tt> 태그와 0 혹은 1개 이상의 <vtsm> 태그로 구성된다. <vts_tt>의 영역은, VTS 공간에서의 타이틀 도메인을 나타내고 있고, <vts_tt> 태그 내에 num 속성을 부가함으로써 타이틀 도메인의 번호를 지정하고 있다. 예를 들면, <vts_tt num="n">는 n번째의 타이틀 도메인을 나타내고 있다. <vts_tt num="n">의 영역에 기술된 Vclick 스트림은 n번째의 타이틀 도메인을 구성하는 DVD 비디오 데이터에 부가되는 것을 나타내고 있다.
또, <vtsm>의 영역은, VTS 공간에서의 VTS 메뉴 도메인을 나타내고 있고, <vtsm> 태그 내에 num 속성을 부가함으로써 VTS 메뉴 도메인의 번호를 지정하고 있다. 예를 들면, <vtsm num="n">는 n번째의 VTS 메뉴 도메인을 나타내고 있다. <vtsm="n">의 영역에 기술된 Vclick 스트림은 n번째의 VTS 메뉴 도메인을 구성하는 DVD 비디오 데이터에 부가되는 것을 나타내고 있다.
더욱이, <vts_tt>의 영역 혹은 <vtsm>의 영역은 0 혹은 1개 이상의 <pgc> 태그로 구성된다. <pgc>의 영역은, 타이틀 도메인 또는 VTS 메뉴 도메인에서의 PGC(Program Chain)를 나타내고 있고, <pgc> 태그 내에 num 속성을 부가함으로써 PGC의 번호를 지정하고 있다. 예를 들면, <pmg num="n">는 n번째의 PGC를 나타내고 있다. <pgc num="n">의 영역에 기술된 Vclick 스트림은 n번째의 PGC를 구성하는 DVD 비디오 데이터에 부가되는 것을 나타내고 있다.
도 55∼도 57의 예에 있어서는, 6개의 Vclick 스트림이 DVD 비디오 콘텐츠에 부가되어 있다. 예를 들면, 최초의 Vclick 스트림은 <vmg>에서의 <vmgm num="1">에서의 <pgc num="1">에 있어서, <object> 태그를 이용해서 지정되어 있다. 이것은, VMG 공간에서의 1번째의 VMG 메뉴 도메인에서의 1번째의 PGC에 대해, <object> 태그에 의해 지정된 Vclick 스트림이 부가되는 것을 나타내고 있다.
<object> 태그에서는, "data"속성을 이용해서 Vclick 스트림이 존재하는 장소를 나타낸다. 예를 들면, 본 발명의 일실시예에 있어서는, "file://dvdrom:/dvd_enav/vclick1.vck"에 의해 Vclick 스트림이 존재하는 장소가 지정되어 있다. 여기서, "file://dvdrom:/"는 Vclick 스트림이 강화된 DVD 디스크 내에 존재하는 것을 나타내고, 더욱이 "dvd_enav/"는 디스크 중의 "DVD_ENAV"디렉토리 아래에 존재하는 것을 나타내며, "vclick1.vck"는 Vclick 스트림의 파일명을 나타내고 있다. 또, Vclick 스트림을 기술하는 <object> 태그와 Vclick 억세스 테이블을 기술하는 <object> 태그를 병기함으로써, Vclick 스트림에 대응한 Vclick 억세스 테이블의 정보를 기술할 수가 있다. <object> 태그 내에 있어서 "data"속성을 이용해서 Vclick 억세스 테이블이 존재하는 장소를 나타낸다. 예를 들면, 본 발명의 일실시예에 있어서는, "file://dvdrom:/dvd_enav/vclick1.ifo"에 의해 Vclick 억세스 테이블이 존재하는 장소가 지정되어 있다. 여기서, "file://dvdrom:/"는 Vclick 억세스 테이블이 강화된 DVD 디스크내에 존재하는 것을 나타내고, 더욱이 "dvd_enav/"는 디스크 중의 "DVD_ENAV"디렉토리 아래에 존재하는 것을 나타내며, "vclick1.ifo"는 Vclick 억세스 테이블의 파일명을 나타내고 있다.
다음의 Vclick 스트림은, <vmg>에서의 <vmgm num="n">에 있어서 <object> 태그를 이용해서 지정되어 있다. 이것은, VMG 공간에서의 1번째의 VMG 메뉴 도메인 전체에 대해, <object> 태그에 의해 지정된 Vclick 스트림이 부가되는 것을 나타내고 있다. <object> 태그에서는, "data"속성을 이용해서 Vclick 스트림이 존재하는 장소를 나타낸다. 예를 들면, 본 발명의 일실시예에 있어서는, "http//www.vclick.com/dvd_enav/vclick2.vck"에 의해 Vclick 스트림이 존재하는 장소가 지정되어 있다. 여기서, "http//www.vclick.com/dvd_enav/"는 Vclick 스트림이 외부의 서버 내에 존재하는 것을 나타내고, "vclick2.vck"는 Vclick 스트림의 파일명을 나타내고 있다.
Vclick 억세스 테이블에 관해서도 마찬가지로 <object> 태그 내에 있어서 "data"속성을 이용해서 Vclick 억세스 테이블이 존재하는 장소를 나타낸다. 예를 들면, 본 발명의 일실시예에 있어서는, "http//www.vclick.com/dvd_enav/vclick2.ifo"에 의해 Vclick 억세스 테이블이 존재하는 장소가 지정되어 있다. 여기서, "http//www.vclick.com/dvd_enav/"는 Vclick 억세스 테이블이 외부의 서버 내에 존재하는 것을 나타내고, "vclick2.ifo"는 Vclick 억세스 테이블의 파일명을 나타내고 있다.
3번째의 Vclick 스트림은, <vts num="1">에서의 <vts_tt num="1">에서의 <pgc num="1">에 있어서 <object> 태그를 이용해서 지정되어 있다. 이것은, 1번째의 VTS 공간에서의 1번째의 타이틀 도메인에서의 1번째의 PGC에 대해, <object> 태그에 의해 지정된 Vclick 스트림이 부가되는 것을 나타내고 있다. <object> 태그에서는, "data"속성을 이용해서 Vclick 스트림이 존재하는 장소를 나타낸다. 예를 들면, 본 발명의 일실시예에 있어서는, "file://dvdrom:/dvd_enav/vclick3.vck"에 의해 Vclick 스트림이 존재하는 장소가 지정되어 있다. 여기서, "file://dvdrom:/dvd_enav/"는 Vclick 스트림이 디스크 중의 "DVD_ENAV"디렉토리 아래에 존재하는 것을 나타내고, "vclick3.vck"는 Vclick 스트림의 파일명을 나타내고 있다.
4번째의 Vclick 스트림은, <vts num="1">에서의 <vts_tt num="n">에 있어서 <object> 태그를 이용해서 지정되어 있다. 이것은, 1번째의 VTS 공간에서의 n번째의 타이틀 도메인에 있어서, <object> 태그에 의해 지정된 Vclick 스트림이 부가되는 것을 나타내고 있다. <object> 태그에서는, "data"속성을 이용해서 Vclick 스트림이 존재하는 장소를 나타낸다. 예를 들면, 본 발명의 일실시예에 있어서는, "file://dvdrom:/dvd_enav/vclick4.vck"에 의해 Vclick 스트림이 존재하는 장소가 지정되어 있다. 여기서, "file://dvdrom:/dvd_enav/"는 Vclick 스트림이 디스크 중의 "DVD_ENAV"디렉토리 아래에 존재하는 것을 나타내고, "vclick4.vck"는 Vclick 스트림의 파일명을 나타내고 있다.
5번째의 Vclick 스트림은, <vts num="1">에서의 <vtsm num="1">에 있어서 <object> 태그를 이용해서 지정되어 있다. 이것은, 1번째의 VTS 공간에서의 1번째의 VTS 메뉴 도메인에 있어서, <object> 태그에 의해 지정된 Vclick 스트림이 부가되는 것을 나타내고 있다. <object> 태그에서는, "data"속성을 이용해서 Vclick 스트림이 존재하는 장소를 나타낸다. 예를 들면, 본 발명의 일실시예에 있어서는, "file://dvdrom:/dvd_enav/vclick5.vck"에 의해 Vclick 스트림이 존재하는 장소가 지정되어 있다. 여기서, "file://dvdrom:/dvd_enav/"는 Vclick 스트림이 디스크 중의 "DVD_ENAV"디렉토리 아래에 존재하는 것을 나타내고, "vclick5.vck"는 Vclick 스트림의 파일명을 나타내고 있다.
6번째의 Vclick 스트림은, <vts num="1">에서의 <vtsm num="1">에서의 <pgc num="1">에 있어서 <object> 태그를 이용해서 지정되어 있다. 이것은, 1번째의 VTS 공간에서의 1번째의 VTS 메뉴 도메인에서의 1번째의 PGC에 대해, <object> 태그에 의해 지정된 Vclick 스트림이 부가되는 것을 나타내고 있다. <object> 태그에서는, "data"속성을 이용해서 Vclick 스트림이 존재하는 장소를 나타낸다. 예를 들면, 본 발명의 일실시예에 있어서는, "file://dvdrom:/dvd_enav/vclick6.vck"에 의해 Vclick 스트림이 존재하는 장소가 지정되어 있다. 여기서, "file://dvdrom:/dvd_enav/"는 Vclick 스트림이 디스크 중의 "DVD_ENAV"디렉토리 아래에 존재하는 것을 나타내고, "vclick6.vck"는 Vclick 스트림의 파일명을 나타내고 있다.
도 58은 전술한 Vclick 정보의 기술예에서 기술된 Vclick 스트림과 DVD 비디오 콘텐츠의 관계를 나타내는 도면이다. 여기서, 1번째의 VTS 공간에서의 1번째의 VTS 메뉴 도메인에서의 1번째의 PGC에 대해, 전술한 5번째의 Vclick 스트림과 6번째의 Vclick 스트림이 부가되어 있음을 알 수 있다. 이것은, DVD 비디오 콘텐츠에 대해, 2개의 Vclick 스트림이 부가되어 있는 것을 나타내고, 예를 들면 유저에 의해 혹은 콘텐츠 프로바이더(콘텐츠 프로그래머(contents author))에 의해 전환하는 것이 가능하게 된다.
유저가 전환하는 경우는, Vclick 스트림을 전환하기 위한 "Vclick 전환버튼"이 리모트 콘트롤러(도시하지 않음)에 설치되어 있고, 이에 따라 2 혹은 그 이상의 Vclick 스트림을 자유롭게 변경할 수가 있다. 콘텐츠 프로바이더가 변경하는 경우는, 마크업 언어에 Vclick 전환을 위한 커맨드("changeVclick()")가 기술되어 있어 콘텐츠 프로바이더가 마크업 언어로 지정한 타이밍에서 커맨드를 발행하여 2 혹은 그 이상의 Vclick 스트림을 자유롭게 변경할 수가 있다.
도 59∼도 65에는 Vclick 정보파일의 다른 기술예(7개)를 나타낸다. 최초의 예(도 59)에 있어서는, 하나의 PGC(PGC#1)에 대해, 디스크상에 기록되어 있는 2개의 Vclick 스트림(Vclick 스트림#1, Vclick 스트림#2)과 서버상에 기록되어 있는 하나의 Vclick 스트림(Vclick 스트림#3)이 부가되어 있다. 이것은, 전술한 바와 같이, 유저에 의해 Vclick 스트림#1, Vclick 스트림#2, Vclick 스트림#3을 자유롭게 전환시킬 수도 있고, 콘텐츠 프로바이더에 의해 전환시킬 수도 있다.
콘텐츠 프로바이더에 의해 Vclick 스트림을 전환시키는 경우는, 예를 들면 재생장치가 Vclick 스트림#3의 재생이 지시되었지만, 재생장치가 외부 서버에 연결되어 있지 않은 경우나, 연결되어 있지만 Vclick 스트림#3이 외부 서버로부터 취득할 수 없는 경우는, 티스크상의 Vclick 스트림#1 또는 Vclick 스트림#2로 대체시킬 수가 있다. 또, <object> 태그 내의 "priority"속성은 각각의 스트림을 전환할 때의 순번을 나타내고 있고, 예를 들면 전술한 유저("Vclick 전환버튼"을 이용해서)나 콘텐츠 프로바이더(Vclick 전환을 위한 커맨드"changeVclick()"를 이용해서)가 순차 전환할 때에, "priority"속성의 순서를 참조해서 Vclick 스트림#1→Vclick 스트림#2→Vclick 스트림#3→Vclick 스트림#1→....이라고 하는 바와 같이 전환된다.
또, 콘텐츠 프로바이더는, 마크업 언어에 있어서 Vclick 전환을 위한 커맨드("changeVclick(priority)")를 이용함으로써, 콘텐츠 프로바이더가 마크업 언어로 지정한 타이밍에 커맨드를 발행해서 임의의 Vclick 스트림을 선택할 수도 있다. 예를 들면, "changeVclick(2)" 커맨드를 발행한 경우는, "priority 속성"이 "2"인 Vclick 스트림#2가 재생된다.
다음의 예(도 60)에 있어서는, 하나의 PGC(PGC#2)에 대해, 디스크상에 기록되어 있는 2개의 Vclick 스트림(Vclick 스트림#1, Vclick 스트림#2)이 부가되어 있다. 여기서, <object> 태그 내의 "audio"속성은, 오디오 스트림 번호에 대응하고 있고, 이 예에 있어서는 DVD 비디오 콘텐츠의 오디오 스트림#1이 재생되고 있는 경우는 Vclick 스트림#1(Vclick1.vck)을 동기 재생하고, 오디오 스트림#2가 재생되고 있는 경우는 Vclick 스트림#2(Vclick2.vck)를 동기 재생하는 것을 나타낸다.
예를 들면, 비디오 콘텐츠의 오디오 스트림#1이 일본어 음성, 오디오 스트 림#2가 영어 음성으로 구성되어 있는 경우, 도 68에 나타낸 바와 같이 Vclick 스트림#1을 일본어로(즉, Vclick 오브젝트의 설명의 표시가 일본어로 기술되어 있거나, 또는 Vclick 오브젝트가 클릭된 뒤의 억세스처가 일본어로 구성되어 있는 사이트나 페이지), 도 67에 나타낸 바와 같이 Vclick 스트림#2를 영어로(즉, Vclick 오브젝트의 설명의 표시가 영어로 기술되어 있거나, 또는 Vclick 오브젝트가 클릭된 뒤의 억세스처가 영어로 구성되어 있는 사이트나 페이지)를 구성함으로써, DVD 비디오 콘텐츠의 음성의 언어와 Vclick 스트림의 언어를 맞출 수가 있다. 실제로는, 재생장치는 재생장치 내의 시스템 파라미터인 SPRM(1)(오디오 스트림 번호)를 참조해서 그에 대응한 Vclick 스트림을 이 Vclick 정보파일로부터 검색해서 재생한다.
3번째의 예(도 61)에 있어서는, 하나의 PGC(PGC#3)에 대해, 디스크상에 기록되어 있는 3개의 Vclick 스트림(Vclick 스트림#1, Vclick 스트림#2, Vclick 스트림#3)이 부가되어 있다. 여기서, <object> 태그 내의 "subpic"속성은 서브 픽처 스트림 번호(부영상 번호)에 대응하고 있고, 이 예에 있어서는 DVD 비디오 콘텐츠의 서브 픽처 스트림#1이 재생되고 있는 경우는 Vclick 스트림#1(Vclick1.vck)을 동기 재생하고, 서브 픽처 스트림#2가 재생되고 있는 경우는 Vclick 스트림#2(Vclick2.vck)를 동기 재생하며, 서브 픽처 스트림#3이 재생되고 있는 경우는 Vclick 스트림#3(Vclick3.vck)을 동기 재생하는 것을 나타낸다.
예를 들면, 비디오 콘텐츠의 서브 픽처 스트림#1이 일본어 자막, 서브 픽처 스트림#3이 영어 자막으로 구성되어 있는 경우, 도 70에 나타낸 바와 같이 Vclick 스트림#1을 일본어로(즉, Vclick 오브젝트의 설명의 표시가 일본어로 기술되어 있거나, 또는 Vclick 오브젝트가 클릭된 뒤의 억세스처가 일본어로 구성되어 있는 사이트나 페이지), 도 69에 나타낸 바와 같이 Vclick 스트림#2를 영어로(즉, Vclick 오브젝트의 설명의 표시가 영어로 기술되어 있거나, 또는 Vclick 오브젝트가 클릭된 뒤의 억세스처가 영어로 구성되어 있는 사이트나 페이지)를 구성함으로써, DVD 비디오 콘텐츠의 자막의 언어와 Vclick 스트림의 언어를 맞출 수가 있다. 실제로는, 재생장치는 재생장치 내의 시스템 파라미터인 SPRM(2)(서브 픽처 스트림 번호)를 참조해서 그에 대응한 Vclick 스트림을 이 Vclick 정보파일로부터 검색해서 재생한다.
4번째의 예(도 62)에 있어서는, 하나의 PGC(PGC#4)에 대해, 디스크상에 기록되어 있는 2개의 Vclick 스트림(Vclick 스트림#1, Vclick 스트림#2)이 부가되어 있다. 여기서, <object> 태그 내의 "angle"속성은 앵글번호에 대응하고 있고, 이 예에 있어서는 비디오 콘텐츠의 앵글#1이 재생되고 있는 경우는 Vclick 스트림#1(Vclick1.vck)을 동기 재생하고(도 71), 앵글#3이 재생되고 있는 경우는 Vclick 스트림#2(Vclick2.vck)를 동기 재생하며(도 72), 앵글#2가 재생되고 있는 경우는 Vclick 스트림을 재생하지 않는 것을 나타낸다. 통상, 앵글이 다른 경우는, 인물 등의 Vclick 오브젝트를 부가하는 대상의 위치가 다르기 때문에, 앵글마다 Vclick 스트림을 구성할 필요가 있다. (하나의 Vclick 스트림에 각각의 Vclick 오브젝트 데이터를 멀티플렉스해도 좋다.) 실제로는, 재생장치는 재생장치 내의 시스템 파라미터인 SPRM(3)(앵글번호)을 참조해서 그에 대응한 Vclick 스트림을 이 Vclick 정보파일로부터 검색해서 재생한다.
5번째의 예(도 63)에 있어서는, 하나의 PGC(PGC#5)에 대해, 디스크상에 기록되어 있는 3개의 Vclick 스트림(Vclick 스트림#1, Vclick 스트림#2, Vclick 스트림#3)이 부가되어 있다. 여기서, <object> 태그 내의 "aspect"속성은 (초기) 표시 애스펙트비에 대응하고 있고, <object> 태그 내의 "display"속성은 (현재) 표시모드에 대응하고 있다.
이 예에 있어서는, DVD 비디오 콘텐츠 자체가 "16:9"의 애스펙트비로 구성되어 있고, "16:9"의 애스펙트비를 갖는 TV모니터에는 "와이드(wide)" 출력을, "4:3"의 애스펙트비를 갖는 TV모니터에는 "레터박스(lb)" 또는 "팬스캔(pan scan: ps)"출력이 허가되어 있는 예를 나타낸다. 이에 대해, Vclick 스트림은 (초기) 표시 애스펙트비가 "16:9"이고 또한 (현재) 표시모드가 "wide"일 때는 Vclick 스트림#1을 동기 재생하고(도 73), (초기) 표시 애스펙트비가 "4:3"이고 또한 (현재) 표시모드가 "lb"일 때는 Vclick 스트림#2를 동기 재생하며(도 74), (초기) 표시 애스펙트비가 "4:3"이고 또한 (현재) 표시모드가 "ps"일 때는 Vclick 스트림#3을 동기 재생한다(도 75). 예를 들면, "16:9"의 애스펙트비로 표시되어 있을 때에, 인물의 바로 옆에 표시되고 있던 Vclick 오브젝트의 추출을, "4:3"의 애스펙트비의 "레터박스"표시의 경우는 화면의 상하(의 검은 부분)에 표시하거나, "4:3"의 애스펙트비의 "팬스캔"표시의 경우는 화면의 좌우가 끊어져 버리지만, 표시가 가능한 위치로 변경하는 것이 가능하게 된다.
또, 화면의 구성에 따라, 추출의 사이즈를 작게 하거나 또는 크게 하거나, 추출 내의 문자의 사이즈를 작게 하거나 또는 크게 하는 것이 가능하게 된다. 이에 따라, DVD 비디오 콘텐츠의 표시상태에 따른 Vclick 오브젝트의 표시를 실시하는 것이 가능하게 된다. 실제로는, 재생장치는 재생장치 내의 시스템 파라미터인 SPRM(14)(비디오용의 플레이어 구성)에서의 "초기 표시 애스펙트비"와 "현재 표시모드"를 참조해서 그에 대응한 Vclick 스트림을 이 Vclick 정보파일로부터 검색해서 재생한다.
6번째의 예(도 64)에 있어서는, 하나의 PGC(PGC#6)에 대해, 디스크상에 기록되어 있는 하나의 Vclick 스트림(Vclick 스트림#1)이 부가되어 있다. 전례와 마찬가지로, <object> 태그 내의 "aspect"속성은 (초기) 표시 애스펙트비에 대응하고 있고, <object> 태그 내의 "display"속성은 (현재) 표시모드에 대응하고 있다. 이 예에 있어서는 DVD 비디오 콘텐츠 자체가 "4:3"의 애스펙트비로 구성되어 있고, "4:3"의 애스펙트비를 갖는 TV모니터에는 "통상"모드로 출력하는 경우에 Vclick 스트림이 적용된다.
마지막으로, 전술한 기능을 조합시켜 이용하는 것이 가능한 것을 나타내는 예(도 65)를 나타낸다. 하나의 PGC(PGC#7)에 대해, 디스크상에 기록되어 있는 4개의 Vclick 스트림(Vclick 스트림#1, Vclick 스트림#2, Vclick 스트림#3, Vclick 스트림#4)이 부가되어 있다. 이 예에 있어서는, DVD 비디오 콘텐츠의 오디오 스트림#1이 재생되고 또한 서브 픽처 스트림#1이 재생되고 또한 앵글#1이 재생되고 있는 경우는 Vclick 스트림#1(Vclick1.vck)을 동기 재생하고, 오디오 스트림#1이 재생되고 또한 서브 픽처 스트림#2가 재생되고 또한 앵글#1이 재생되 고 있는 경우는 Vclick 스트림#2(Vclick2.vck)를 동기 재생하며, 앵글#2가 재생되고 있는 경우는 Vclick 스트림#3(Vclick3.vck)을 동기 재생하고, 오디오 스트림#2가 재생되고 또한 서브 픽처 스트림#2가 재생되고 있는 경우는 Vclick 스트림#4(Vclick4.vck)를 동기 재생한다.
이상, 7개의 예(도 59∼도 65)에 관해, DVD 비디오 콘텐츠의 PGC와 그 속성에 대한 부가되는 Vclick 스트림의 관계를 도 66에 나타낸다.
본 발명의 일실시예에서의 재생장치(강화된 DVD 플레이어)는, DVD 비디오 콘텐츠를 재생하기 전에, Vclick 정보파일을 미리 읽어들임으로써, 혹은 적당히 참조함으로써, DVD 비디오 콘텐츠의 재생상태에 따라, 순서대로 부가하는 Vclick 스트림 파일을 변화시키는 것이 가능하게 된다. 이에 따라, Vclick 스트림을 구성함에 있어 자유도를 가질 수가 있고, 오소링의 부담을 경감하는 것이 가능하게 된다.
또, 하나의 Vclick 콘텐츠의 파일수(스트림수)를 늘리고, 그 파일 사이즈를 작게 함으로써, 재생장치에 필요하게 되는 Vclick 스트림을 격납하기 위한 영역(버퍼)을 작게 하는 것도 가능하게 된다.
또, 파일 사이즈는 커지지만, 파일수를 줄임(즉, 하나의 스트림이 복수의 Vclick 데이터를 포함한 구성으로 함)으로써, DVD 비디오 콘텐츠의 재생상태가 변화한 경우, 순조롭게 Vclick 데이터를 전환하는 것이 가능하게 된다.
(데이터 구조의 개략과 억세스 테이블)
Vclick 스트림에는, 동화상 데이터 기록매체(231)에 기록되어 있는 동화상에 등장하는 오브젝트(예를 들면, 사람, 물건 등)의 영역에 관한 데이터와 클라이언트 장치(200)에서의 오브젝트의 표시방법과 유저가 그들 오브젝트를 지정했을 때에 클라이언트장치가 취해야 할 동작의 데이터가 포함되어 있다. 이하에서는, Vclick 데이터의 구조와 그 구성요소의 개요에 대해 설명한다.
우선, 동화상에 등장하는 오브젝트(예를 들면, 사람, 물건 등)의 영역에 관한 데이터인 오브젝트 영역 데이터에 대해 설명한다.
도 3은 오브젝트 영역 데이터의 구조를 설명하는 도면이다. 참조부호 300은 1개의 오브젝트의 영역이 그리는 궤적을 X(영상의 수평방향의 좌표값), Y(영상의 수직방향의 좌표값), T(영상의 시각)의 3차원 좌표상에 표현한 것이다. 오브젝트 영역은 미리 결정된 범위 내의 시간(예를 들면 0.5초로부터 1.0초의 사이나, 2초로부터 5초의 사이 등)마다 오브젝트 영역 데이터로 변환된다. 도 3에서는 1개의 오브젝트 영역 300이 301∼305의 5개의 오브젝트 영역 데이터로 변환되어 있고, 이들 오브젝트 영역 데이터는 각각의 Vclick 억세스 유니트(AU)(후술하기로 함)에 격납된다. 이 때의 변환 방법으로서는, 예를 들면 MPEG-4의 형상 부호화나 MPEG-7의 시공간 기술자 등을 사용할 수가 있다. MPEG-4 형상 부호화나 MPEG-7 시공간 기술자는 오브젝트 영역의 시간적인 상관을 이용해서 데이터량을 삭감하는 방식이기 때문에, 도중부터 데이터를 복호할 수 없는 것이나, 어느 시각의 데이터가 결락한 경우에 주위의 시각의 데이터도 복호할 수 없게 된다고 하는 문제가 있다. 도 3과 같이 긴 시간 연속해서 동화상 중에 등장하고 있는 오브젝트의 영역을 시간방향으로 분할해서 데이터화함으로써, 랜덤 억세스를 용이하게 해서 일부의 데이터의 결락의 영향을 경감할 수가 있다. 각 Vclick_AU는 동화상 중에서 어떤 특정의 시간 구간에서만 유효하다. 이 Vclick_AU가 유효한 시간구간을 Vclick_AU의 유효기간(lifetime)이라고 부른다.
도 4는 본 발명의 일실시예로 이용하는 Vclick 스트림중의 독립해서 억세스 가능한 1단위(Vclick_AU)의 구조를 나타낸 것이다. 참조부호 400은 오브젝트 영역 데이터이다. 도 3에서 설명한 바와 같이, 여기에는 1개의 오브젝트 영역이 있는 연속한 시간구간에서의 궤적이 데이터화되어 있다. 이 오브젝트 영역이 기술되어 있는 시간구간을 그 Vclick_AU의 활성기간(active time)이라고 부른다. 통상은 Vclick_AU의 활성기간은 그 Vclick_AU의 유효기간과 동일하다. 그러나, Vclick_AU의 활성기간을 그 Vclick_AU의 유효기간의 일부로 하는 것도 가능하다
참조부호 401은 Vclick_AU의 헤더이다. 헤더(401)에는 Vclick_AU를 식별하기 위한 ID와 그 AU의 데이터 사이즈를 특정하는 데이터가 포함된다. 참조부호 402는 타임 스탬프로서, 이 Vclick_AU의 유효기간 개시의 타임 스탬프를 나타내고 있다. 통상은 Vclick_AU의 활성기간과 유효기간이 동일하기 때문에, 오브젝트 영역 데이터(400)에 기술된 오브젝트 영역이 동화상의 어느 시각에 상당하는지도 나타내고 있다. 도 3에 나타낸 바와 같이, 오브젝트 영역은 어떤 시간범위에 미치고 있기 때문에, 통상은 타임 스탬프(402)에는 오브젝트 영역의 선두의 시각을 기술해 둔다. 물론 오브젝트 영역 데이터에 기술된 오브젝트 영역의 시간간격이나 오브젝트 영역의 말미의 시각도 기술하도록 해도 좋다. 참조부호 403은 오브젝트 속성 정보로서, 예를 들면 오브젝트의 명칭, 오브젝트가 지정되었을 때의 동작기술(action description), 오브젝트의 표시속성 등이 포함된다. 이들 Vclick_AU 내의 데이터에 관해서는, 뒤에서 보다 상세하게 설명한다. Vclick_AU는 서버장치에 있어서 송신하기 쉽도록 타임 스탬프 순서로 나열하여 기록해 두는 편이 좋다
도 5는 복수의 AU를 타임 스탬프 순서로 나열하여 Vclick 스트림을 생성하는 방법을 설명하는 도면이다. 이 도면에서는, 카메라 앵글 1과 카메라 앵글 2의 2개의 카메라 앵글이 있고, 클라이언트장치로 카메라 앵글을 전환하면 표시되는 동화상도 전환되는 것을 상정하고 있다. 또, 선택가능한 언어모드에는 일본어와 영어의 2종류가 있고, 각각의 언어에 대해 따로따로 Vclick 데이터가 준비되어 있는 경우를 상정하고 있다
도 5에 있어서, 카메라 앵글 1이면서 일본어용의 Vclick_AU는 500, 501, 502이고, 카메라 앵글 2이면서 일본어용의 Vclick_AU의 AU는 503이다. 그리고 영어용의 Vclick_AU는 504와 505이다. AU(500∼505)는 각각 동화상 중의 하나의 오브젝트에 대응한 데이터이다. 즉, 도 3과 도 4에서 설명한 바와 같이, 하나의 오브젝트에 관한 메타데이터는 하나 또는 복수의 Vclick_AU로 구성되어 있다(도 5에서는 1개의 장방형이 1개의 AU를 나타내고 있다). 이 도면의 횡축은 동화상 중의 시간에 대응하고 있고, 오브젝트의 등장시간에 대응시켜 AU(500∼505)를 표시하고 있다.
각 Vclick_AU의 시간적인 분할은 임의라도 좋지만, 도 5에 예시된 바와 같이 모든 오브젝트에 대해 Vclick_AU의 분할을 가지런히 해 두면, 데이터의 관리가 용이하게 된다. 참조부호 506은 이러한 Vclick_AU(500∼705)로 구성된 Vclick 스트림이다. Vclick 스트림은, 헤더부(507)에 이어 Vclick_AU를 타임 스탬프 순서에 나열함으로써 구성된다.
선택하고 있는 카메라 앵글은 유저가 시청 중에 변경할 가능성이 높기 때문에, 이와 같이 Vclick 스트림에 다른 카메라 앵글의 Vclick_AU를 다중화해서 Vclick 스트림을 만드는 것이 좋다. 이것은, 클라이언트장치로 고속의 표시전환이 가능하기 때문이다. 예를 들면, Vclick 데이터가 서버장치(201)에 놓여저 있을 때, 복수의 카메라 앵글의 Vclick_AU를 포함한 Vclick 스트림을 그대로 클라이언트장치로 송신하면, 클라이언트장치에서는 시청 중의 카메라 앵글에 대응한 Vclick_AU가 항상 도착하고 있기 때문에, 순시적으로 카메라 앵글의 전환이 생긴다. 물론, 클라이언트장치(200)의 설정정보를 서버장치(201)로 보내고, 필요한 Vclick_AU만을 Vclick 스트림으로부터 선택해서 송신하는 것도 가능하지만, 이 경우는 서버와의 통신을 실시할 필요가 있기 때문에 다소 처리가 늦어진다(당연히, 통신에 광섬유 등의 고속수단을 이용하면 이 처리지연의 문제는 해결할 수 있다).
한편, 동화상 타이틀, DVD 비디오의 PGC, 동화상의 애스펙트비, 시청지역 등의 속성은 변경의 빈도가 낮기 때문에, 다른 Vclick 스트림으로서 작성해 두는 편이 클라이언트장치의 처리가 가벼워져 네트워크의 부가도 가벼워진다. 복수의 Vclick 스트림이 있는 경우에 어느 Vcklick 스트림을 선택해야 할 것인지는, 이미 설명한 것처럼 Vclick 정보파일을 참조해서 결정할 수 있다.
다음에, 다른 Vclick_AU의 선택방법에 대해 설명한다. 클라이언트장치가 서버장치로부터, Vclick 스트림(506)을 취득하고, 클라이언트장치 측에서 필요한 AU만을 이용하는 경우를 생각해 보자. 이 경우, 필요한 Vclick_AU를 식별하기 위한 ID가 각 AU에 할당되어 있어도 좋다. 이것을 필터 ID라고 부른다.
필요하게 되는 AU의 조건은, 예를 들면 Vclick 정보파일 중에 다음과 같이 기술된다. 덧붙여 당해 Vclick 정보파일은 동화상 데이터 기록매체(231)상에 존재해도 좋고, 서버장치(201)로부터 네트워크를 매개로 다운로드되도록 해도 좋다. Vclick 정보파일은, 통상 동화상 데이터 기록매체, 서버장치 등, Vclick 스트림과 동일한 기록매체로부터 공급된다:
<pgc num="7">
//audio/subpicture 스트림과 앵글(angle)에 의한 Vclick 스트림의 정의
<object data="file://dvdrom:/dvd_enav/vclick1.vck" audio="1" subpic="1" angle="1"/>
<object data="file://dvdrom:/dvd_enav/vclick1.vck" audio="3" subpic="2" angle="1"/>
</pgc>
여기에서는, 하나의 Vclick 스트림에 대해, 2종류의 필터링 조건이 기술되어 있다. 이것은, 클라이언트의 시스템 파라미터의 설정에 따라, 동일한 Vclick 스트림으로부터 다른 속성을 갖는 2종류의 Vclick_AU가 선택가능한 것을 나타내고 있다.
AU가 필터 ID를 가지지 않은 경우, 메타데이터 매니저(210)가 필요한 Vclick_AU를 식별하기 위해서는, AU의 타임 스탬프나 속성 등을 보아 주어진 조건에 꼭맞는 AU를 선택한다.
필터 ID를 이용하는 예를, 상기의 기술에 입각해서 설명한다. audio(음성)는 오디오 스트림 번호를 나타내고 있지만, 이것을 4비트의 수치로 표현한다. 마찬가지로, 부영상번호(subpic)와 앵글번호(angle)에, 각각 4비트의 수치를 할당한다. 이에 따라, 3개의 파라미터 상태를 12비트의 수치로 표현할 수가 있다. 즉, audio="3", subpic="2" 또한 angle="1"의 파라미터는, 16진 표기로 0x321로 표현된다. 이것을 필터 ID로서 이용한다. 즉, Vclick_AU는 12비트의 필터 ID를 Vclick_AU헤더 내에 가진다(도 14의 filtering_id 참조). 이것은, AU를 선별하는 독립한 파라미터값의 각각에 숫자를 할당하고, 당해 숫자의 조합에 의해 필터 ID를 정하는 방법이다. 덧붙여 필터 ID는 Vclick_AU 헤더 이외의 장소에 기술해도 좋다.
클라이언트장치의 필터링 동작을 도 44에 나타낸다. 우선, 메타데이터 매니저(210)가 인터페이스 핸들러(207)로부터, 동화상 클록값(T)과 필터 ID(x)를 수취한다(스텝 S4401). 데이터 매니저(210)는, 버퍼(209)에 격납되어 있는 Vclick 스트림 중에서 유효기간이 동화상 클록값(T)을 포함하는 것과 같은 Vclick_AU를 모두 찾아낸다(스텝 S4402). 이러한 AU를 찾아내기 위해서는, Vclick 억세스 테이블을 이용해서, 도 45 및 도 46과 같은 수속을 이용할 수가 있다. 메타데이터 매니저(210)는, 상기 Vclick_AU 헤더를 조사해서 x와 동일한 필터 ID를 갖는 AU만을 미디어 디코더(216)로 보낸다(스텝 S4403∼S4405).
이상의 수속에 의해, 버퍼(209)로부터 메타데이터 디코더(217)로 보내지는 Vclick_AU는 다음의 성질을 가진다:
i) 이들 모든 AU는 동일한 유효기간을 갖지만, 동화상 클록(T)은 당해 유효기간에 포함된다.
ii) 이들 모든 AU는 동일한 필터 ID(x)를 가진다.
상기 i) 및 ii)의 조건을 만족하는, 당해 오브젝트 메타데이터 스트림 중의 AU는 이들 AU 이외에는 존재하지 않는다.
상기에서는, 필터 ID는 파라미터에 할당된 것의 조합에 의해 정의되고 있었지만, Vclick 정보파일 중에서 필터 ID를 직접 지정하도록 해도 좋다. 예를 들면, IFO 파일 중에는 다음과 같이 정해져 있다:
<pgc num="5">
<param angle="1">
<object data="file://dvdrom:/dvd_enav/vclick1.vck" filter_id="3"/>
</param>
<param angle="3">
<object data="file://dvdrom:/dvd_enav/vclick2.vck" filter_id="4"/>
</param>
<param aspect="16:9" display="wide">
<object data="file://dvdrom:/dvd_enav/vclick1.vck" filter_id="2"/>
</param>
</pgc>
상기의 기술은, 각 파라미터의 지정에 의해 Vclick 스트림과 필터 ID의 값이 정해지는 것을 나타내고 있다. 필터 ID에 의한 Vclick_AU의 선별과 버퍼(209)로부터 미디어 디코더(217)로의 AU의 전송은, 도 44의 수속과 같다. 상기 Vclick 정보파일의 지정에 기초해서, 플레이어의 앵글번호가 3인 경우, "vclick2.vck"라고 하는 파일에 격납되어 있는 Vclick 스트림으로부터, 필터 ID의 값이 4와 같은 Vclick_AU만이 버퍼(209)로부터 미디어 디코더(217)로 보내진다.
서버장치(201)에 Vclick 데이터가 있는 경우, 동화상이 선두로부터 재생되는 경우에는 서버장치(201)는 Vclick 스트림을 선두로부터 순서대로 클라이언트장치로 전달하면 좋다. 그러나, 랜덤 억세스가 생긴 경우에는, Vclick 스트림의 도중부터 데이터를 전달할 필요가 있다. 이 때, Vclick 스트림 중의 소망하는 위치에 고속으로 억세스하기 위해서는, Vclick 억세스 테이블이 필요하게 된다.
도 6은 Vclick 억세스 테이블의 예이다. 이 테이블은 미리 작성되어 서버장치(201)내에 기록되어 있다. Vclick 정보파일과 같은 파일로 해 두는 것도 가능하다. 참조부호 600은 타임 스탬프의 배열로서, 동화상의 타임 스탬프가 열거되어 있다. 참조부호 601은 억세스 포인트의 배열로서, 동화상의 타임 스탬프에 대응한 Vclick 스트림의 선두로부터의 오프셋(offset)값이 열거되어 있다. 동화상의 랜덤 억세스처의 타임 스탬프에 대응한 값이 Vclick 억세스 테이블에 없는 경우는, 가까운 값의 타임 스탬프의 억세스 포인트를 참조해서, 그 억세스 포인트 주변에서 Vclick 스트림 내의 타임 스탬프를 참조하면서 송신개시장소를 탐색한다. 혹은, Vclick 억세스 테이블로부터 동화상의 랜덤 억세스처의 타임 스탬프보다 앞의 시각의 타임 스탬프를 탐색하고, 그 타임 스탬프에 대응한 억세스 포인트로부터 Vclick 스트림을 송신한다.
서버장치는 상기 Vclick 억세스 테이블을 격납하고 있다가, 이것을 클라이언트로부터의 랜덤 억세스에 따라 송신해야 할 Vclick 데이터의 검색의 편의에 이바지하기 위해 사용한다. 그러나, 서버장치가 격납하고 있는 Vclick 억세스 테이블을 클라이언트장치로 다운로드해서 Vclick 스트림의 검색을 클라이언트장치에 실시하게 하도록 해도 좋다. 특히, Vclick 스트림이 서버장치로부터 클라이언트장치로 일괄 다운로드되는 경우, Vclick 억세스 테이블도 또한 서버장치로부터 클라이언트장치로 일괄 다운로드된다.
한편, Vclick 스트림이 DVD 등의 동화상 기록매체에 기록되어 제공되는 경우도 생각할 수 있다. 이 경우도, 재생 콘텐츠의 랜덤 억세스에 따라 이용해야 할 데이터를 검색하기 위해, 클라이언트장치가 Vclick 억세스 테이블을 이용하는 것은 유효하다. 이 경우 Vclick 억세스 테이블은, Vclick 스트림과 마찬가지로, 동화상 기록매체에 기록되어 있고, 클라이언트장치는 당해 동화상 기록매체로부터 당해 Vclick 억세스 테이블을 내부의 주기억 등에 독출해서 이용한다.
동화상의 랜덤 재생 등에 수반해서 발생하는 Vclick 스트림의 랜덤 재생은, 메타데이터 디코더(217)에 의해 처리된다. 도 6의 Vclick 억세스 테이블에 대해, 타임 스탬프(time)는 동화상 기록매체에 기록된 동화상의 타임 스탬프의 형식을 갖는 시각정보이다. 예를 들면, 동화상이 MPEG-2로 압축되어 기록되어 있다면, time은 MPEG-2의 PTS의 형식을 취한다. 더욱이, 동화상이 예를 들면 DVD와 같이 타이틀이나 프로그램 체인 등의 네비게이션 구조를 갖는 경우, 그것들을 표현하는 파라 미터(TTN, VTS_TTN, TT_PGCN, PTTN 등)가 time의 형식으로 포함된다.
타임 스탬프의 값의 집합에는, 어떠한 자연적인 전 순서관계가 정의되어 있는 것이라고 가정한다. 예를 들면, PTS에 대해서는 시각으로서의 자연적인 순서관계를 도입할 수 있다. DVD의 파라미터를 포함한 타임 스탬프에 대해서도, DVD의 자연적인 재생순서에 따라 순서관계를 도입하는 것이 가능하다. Vclick 스트림은 다음의 조건을 만족시키고 있다:
i) Vclick 스트림중의 Vclick_AU는 타임 스탬프의 오름차순(ascending order)으로 나열되어 있다. 이 때, Vclick_AU의 유효기간을 다음과 같이 결정한다: 어떤 AU의 타임 스탬프값을 t로 둔다. Vclick 스트림에 있어서 당해 AU 이후에 있는 AU의 타임 스탬프값(u)에 대해, 상기 조건에 의해 u >= t라는 관계가 성립한다. 이러한 u 중에서 u≠t인 최소의 값을 t'로 둔다. 시각 t를 개시시각, 시각 t'를 종료시각으로 하는 기간을, 당해 AU의 유효기간으로 한다.
ii) Vclick_AU의 활성기간은, 앞에서 정의한 바와 같이 Vclick_AU에 포함되는 오브젝트 영역 데이터에 기술되어 있는 오브젝트 영역의 시간범위이다.
여기서, Vclick 스트림에 대해, 활성기간에 관한 다음의 제약조건을 둔다:
Vclick_AU의 활성기간은, 당해 AU의 유효기간에 포함되어 있다.
상기 i), ii)의 제약조건을 만족시키는 Vclick 스트림은, 이하에 나타낸 바와 같은 좋은 성질을 가진다: 제1로는, 아래에 설명하는 바와 같이, Vclick 스트림의 랜덤 억세스를 고속으로 실시하는 것이 가능하다. 제2로는, Vclick 스트림의 재생을 실시할 때의 버퍼처리를 단순화하는 것이 가능하게 된다. 버퍼에는 Vclick 스트림이 Vclick_AU단위로 격납되어, 큰 타임 스탬프를 갖는 AU로부터 소거되어 간다. 만일 상기 2가지의 가정이 없으면, 유효한 AU를 버퍼상에 유지해 두기 위해, 큰 버퍼와 복잡한 버퍼관리가 필요하게 된다. 이후, Vclick 스트림은, 상기 i) 및 ii)의 2조건을 만족한다고 가정하고서 설명을 실시한다.
도 6의 Vclick 억세스 테이블에 있어서, 억세스 포인트 offset은 Vclick 스트림상의 위치를 지시한다. 예를 들면, Vclick 스트림은 파일이고, offset은 당해 파일의 파일 포인터의 값을 지시한다. 타임 스탬프 time과 조로 되는 억세스 포인트 offset의 관계는 다음과 같이 되어 있다:
i) offset이 가리키는 위치는, 어떤 Vclick_AU의 선두 위치이다.
ii) 당해 AU가 갖는 타임 스탬프의 값은, time의 값 이하이다.
iii) 당해 AU보다 하나 앞에 있는 AU가 갖는 타임 스탬프의 값은, time보다 실로 작다.
Vclick 억세스 테이블에서의 time의 배열의 간격은 임의로 좋고, 균등할 필요도 없다. 그러나, 검색 등의 편의를 고려해서 균등하게 하는 것이 더 좋다.
Vclick 억세스 테이블을 이용한 구체적인 검색순서를 도 45 및 도 46에 나타낸다. Vclick 스트림이 서버장치로부터 버퍼(209)로 미리 다운로드되는 경우, Vclick 억세스 테이블도 마찬가지로 서버장치로부터 다운로드되어 버퍼(209) 내에 격납된다. Vclick 스트림과 Vclick 억세스 테이블이 모두 동화상 데이터 기록매체(231)에 축적되어 있는 경우도 마찬가지로 Vclick 스트림과 Vclick 억세스 테이블은 디스크장치(230)으로부터 로드되어 버퍼(209) 내에 격납된다.
메타데이터 매니저(210)는, 인터페이스 핸들러(207)로부터 동화상 클록(T)를 수취하면(스텝 S4501), 버퍼(209)에 격납되어 있는 Vclick 억세스 테이블의 time을 검색해서, t' <= T라는 최대의 time t'를 검색한다(스텝 S4502). 여기서의 검색의 알고리즘으로서, 예를 들면 바이너리 서치(binary search: 2진 검색)를 이용해서 고속으로 검색을 실시할 수가 있다. Vclick 억세스 테이블에 있어서, 얻어진 time t'와 조로 되는 오프셋값을 변수 h에 대입한다(스텝 S4503). 메타데이터 매니저(210)는, 버퍼(209)에 격납되어 있는 Vclick 스트림의 선두로부터 h바이트째에 존재하는 AUx를 찾아내어(스텝 S4504), x의 타임 스탬프값을 변수 t에 대입한다(스텝 S4505). 상기 조건으로부터, t는 t' 이하이기 때문에, t <= T가 성립한다.
메타데이터 매니저(210)는, x로부터 시작해서 당해 Vclick 스트림 중의 Vclick_AU를 순차적으로 조사해 가고, 다음의 AU를 재차 x로 둔다(스텝 S4506). 계속해서, 변수 h'에 x의 오프셋(offset)값을 대입하고(스텝 S4507), x의 타임 스탬프값을 변수 u에 대입한다(스텝 S4508). u > T이면(스텝 S4509 Yes), 버퍼(209)에 대해, Vclick 스트림의 오프셋(offset) h로부터 h'까지를, 미디어 디코더(216)로 보내도록 지시를 내린다(스텝 S4510∼S4511). 한편, u <= T이고(스텝 S4509 No), 또한 u > t이면(스텝 S4601 Yes), t의 값을 u로 갱신한다(즉, t = u로 한다)(스텝 S4602). 그리고, 변수 h의 값을 h'로 갱신한다(즉, h= h'로 한다)(스텝 S4603).
Vclick 스트림상에 다음의 AU가 존재하면(즉, x가 최후의 AU가 아니면)(스텝 S4604 Yes), 다음의 AU를 재차 x로 두고, 상기 수속을 반복한다(도 45의 스텝 S4506으로 리턴한다). 여기서, 만일 x가 당해 Vclick 스트림의 최후의 Vclick_AU이면(스텝 S4604 No), 버퍼(209)에 대해 Vclick 스트림의 오프셋(offset) h로부터 최후까지를, 미디어 디코더(216)로 보내도록 지시를 내린다(스텝 S4605∼S4606).
이상의 수속에 의해, 버퍼(209)로부터 미디어 디코더(216)로 보내지는 Vclick_AU는 분명하게 다음의 성질을 가진다:
i) 모든 Vclick_AU는 동일한 유효기간을 가진다. 게다가, 동화상 클록(T)은 당해 유효기간에 포함된다.
ii) 상기 i)의 조건을 만족하는, 당해 Vclick 스트림 중의 Vclick_AU는, 이들 AU 이외에는 존재하지 않는다.
Vclick 스트림에서의 Vclick_AU의 유효기간은, 당해 AU의 활성기간을 포함하고 있지만, 이들은 항상 일치하고 있는 것으로는 한정되지 않는다. 실제, 도 47에 나타낸 바와 같은 상황을 생각할 수 있다. 각각 오브젝트 1 및 오브젝트 2를 기술하는 AU#1 및 AU#2의 유효기간은, AU#3의 유효기간의 개시시각까지이다. 그러나, 각 AU의 활성기간은 유효기간과 일치하고 있지 않다.
지금, AU가 #1, #2, #3의 순서로 나열된 Vclick 스트림을 생각해 보자. 동화상 클록(T)이 지정되었다고 하자. 도 45 및 도 46에 나타낸 바와 같은 수속에 의하면, 당해 Vclick 스트림으로부터 AU#1와 AU#2가 미디어 디코더(216)로 보내진다. 미디어 디코더(216)는 수취한 Vclick_AU의 활성기간을 인식할 수 있기 때문에, 이 처리에 의해 랜덤 억세스를 실현할 수 있다. 그러나 실제로는, 오브젝트가 존재하지 않는 시각 T에 대해서도, 버퍼(209)로부터의 데이터 전송과 미디어 디코 더(216)에서의 디코드 처리가 발생하기 때문에, 계산의 효율이 저하한다고 하는 문제가 있다. 이 문제는, NULL_AU라고 부르는 특별한 Vclick_AU를 도입함으로써 해결할 수 있다.
NULL_AU의 구조를 도 48에 나타낸다. NULL_AU는, 통상의 Vclick_AU가 반드시 갖는 오브젝트 영역 데이터를 가지지 않는다. 따라서, NULL_AU는 유효기간만을 갖고, 활성기간은 존재하지 않는다. NULL_AU의 헤더에는 당해 AU가 NULL_AU인 것을 나타내는 플래그가 포함되어 있다. NULL_AU는, Vclick 스트림에 있어서, 오브젝트의 활성기간이 존재하지 않는 시간범위에 삽입할 수가 있다.
메타데이터 매니저(210)는, NULL_AU를 미디어 디코더(216)로 송출하지 않는다. NULL_AU를 도입한 경우, 도 47은 예를 들면 도 49과 같이 변화한다. 도 49의 AU#4가 NULL_AU이다. 이 경우, Vclick 스트림에 있어서, Vclick_AU는 예를 들면 AU#1', #2', #4, #3의 순서로 나열되어 있다. NULL_AU를 포함한 Vclick 스트림에 관해, 도 45 및 도 46에 상당하는 메타데이터 매니저(210)의 동작을 도 50, 도 51 및 도 52에 나타낸다.
즉, 메타데이터 매니저(210)가 인터페이스 매니저(207)로부터 동화상 클록(T)를 수취하여(스텝 S5001), t' <= T인 최대의 t'를 구하고(스텝 S5002), t'와 조가 되는 오프셋값을 변수 h에 대입한다(스텝 S5003). 계속해서, 오브젝트 메타데이터 스트림에 있어서 오프셋값 h에 있는 억세스 유니트 AU를 x로 두고(스텝 S5004), x의 타임 스탬프값을 변수 t에 격납한다(스텝 S5005). 여기서, x가 NULL_AU이면(스텝 S5006 Yes), x의 다음의 AU를 재차 x로 두고(스텝 S5007), 스텝 S5006으로 리턴한다. 여기서, x가 NULL_AU가 아니면(스텝 S5006 No), x의 오프셋값을 변수 h'에 격납한다(스텝 S5101). 이 후의 처리(도 51의 스텝 S5102∼S5105 및 도 52의 스텝 S5201∼S5206)는, 도 45의 스텝 S4508∼S4511 및 도 46의 스텝 S4601∼S4606과 동일한 처리로 된다.
다음에 서버장치·클라이언트장치간의 프로토콜에 대해 설명한다. Vclick 데이터를 서버장치(201)로부터 클라이언트장치(200)로 송신할 때에 사용하는 프로토콜로서는, 예를 들면 RTP(Real-time Transport Protocol)가 있다. RTP는 UDP/IP와의 궁합이 좋고, 리얼타임성을 중시하고 있기 때문에 패킷이 결락할 가능성이 있다. RTP를 이용하면, Vclick 스트림은 송신용 패킷(RTP 패킷)으로 분할되어 송신된다. 여기에서는 Vclick 스트림의 송신용 패킷으로의 격납방법예를 설명한다.
도 7과 도 8은 각각 Vclick_AU의 데이터 사이즈가 작은 경우와 큰 경우의 송신용 패킷 구성방법을 설명하는 도면이다. 도 7의 700은 Vclick 스트림이다. 송신용 패킷은 패킷 헤더(701)와 페이로드(payload: 유료하중)로 이루어진다. 패킷 헤더(701)에는 패킷의 시리얼 번호, 송신시각, 발신기지의 특정정보 등이 포함되어 있다. 페이로드는 송신 데이터를 격납하는 데이터 영역이다. 페이로드에 Vclick_AU(700)로부터 순서대로 취출한 Vclick_AU(702)를 격납해 간다. 페이로드에 다음의 Vclick_AU가 들어가지 않는 경우에는 나머지 부분에 패딩 데이터(703)을 삽입한다. 패딩 데이터는 데이터의 사이즈를 맞추기 위한 더미 데이터로서, 예를 들면 0값의 연속이다. 페이로드의 사이즈를 1개 또는 복수의 Vclick_AU 사이즈와 같게 할 수 있는 경우에는 패딩 데이터는 불필요하다
한편, 도 8은 페이로드에 1개의 Vclick_AU가 완전히 들어가지 않는 경우의 송신용 패킷의 구성방법이다. Vclick_AU(800)는 우선 1번째의 송신용 패킷의 페이로드에 완전히 들어가는 부분(802)만 페이로드에 격납된다. 나머지의 데이터(804)는 제2의 송신용 패킷의 페이로드에 격납되고, 페이로드의 격납 사이즈에 여분이 생기고 있으면 패딩 데이터(805)로 메운다. 하나의 Vclick_AU를 3개 이상의 패킷으로 분할하는 경우의 방법도 마찬가지이다.
RTP 이외의 프로토콜로서는, HTTP(Hypertext Transport Protocol) 또는 HTTPS를 이용할 수가 있다. HTTP는 TCP/IP와의 궁합이 좋고, 이 경우 결락한 데이터는 재발송되기 때문에 신뢰성의 높은 데이터 통신을 실시할 수 있지만, 네트워크의 처리능력(throughput)이 낮은 경우에는 데이터의 지연이 생길 우려가 있다. HTTP에서는 데이터의 결락이 없기 때문에, Vclick 스트림을 어떻게 패킷에 분할해서 격납할지를 특별히 고려할 필요는 없다.
(재생순서(네트워크))
다음에, Vclick 스트림이 서버장치(201)상에 있는 경우에서의 재생처리의 순서에 대해 설명한다.
도 37은 유저가 재생개시를 지시하고 나서 재생이 개시될 때까지의 재생개시처리순서를 나타내는 흐름도이다. 우선, 스텝 S3700에서 유저에 의해 재생개시의 지시가 입력된다. 이 입력은 인터페이스 핸들러(207)가 수취하고, 동화상 재생 콘트롤러(205)로 동화상 재생 준비의 명령을 내린다. 다음에, 분기처리 스텝 S3701로서, 이미 서버장치(201)와의 세션이 구축되어 있는지 어떤지의 판정을 실시한다. 세션이 아직 구축되어 있지 않으면 스텝 S3702로, 이미 구축되어 있으면 스텝 S3703로 처리를 옮긴다. 스텝 S3702에서는 서버와 클라이언트간의 세션을 구축하는 처리를 실시한다.
도 9는 서버·클라이언트간의 통신 프로토콜로서 RTP를 이용한 경우의 세션 구축으로부터 세션 절단까지의 통신수순예이다. 세션의 초기에 서버·클라이언트간에서 협상(negotiation)을 실시할 필요가 있지만, RTP의 경우에는 RTSP(Real Time Streaming Protocol)가 이용되는 경우가 많다. 다만, RTSP의 통신에는 고신뢰성이 요구되기 때문에, RTSP는 TCP/IP로, RTP는 UDP/IP로 통신을 실시하는 것이 바람직하다. 우선, 세션을 구축하기 위해, 클라이언트장치(도 2의 예에서는 200)는 스트리밍되는 Vclick 데이터에 관한 정보제공을 서버장치(도 2의 예에서는 201)에 요구한다(RTSP의 DESCRIBE METHOD).
여기서, 재생되는 동화상에 대응한 데이터를 전달하는 서버의 주소는, 예를 들면 동화상 데이터 기록매체에 주소정보를 기록해 두는 등의 방법으로 미리 클라이언트에 알려져 있는 것으로 한다. 서버장치는 이 응답으로서 Vclick 데이터의 정보를 클라이언트장치로 보낸다. 구체적으로는, 세션의 프로토콜 버젼, 세션 소유자, 세션명, 접속정보, 세션의 시간정보, 메타데이터명, 메타데이터 속성이라고 하는 정보가 클라이언트장치로 보내진다. 이들의 정보기술방법으로서는, 예를 들면 SDP(Session Description Protocol)를 사용한다. 다음에 클라이언트장치는 서버장치에 세션의 구축을 요구한다(RTSP의 SETUP METHOD). 서버장치는 스트리밍의 준비를 준비하고, 세션 ID를 클라이언트장치로 돌려보낸다. 여기까지의 처리가 RTP를 이용하는 경우의 스텝 S3702의 처리이다.
RTP가 아니라 HTTP가 사용되고 있는 경우의 통신규약은, 예를 들면 도 10과 같이 실시한다. 우선, HTTP보다 하위의 계층인 TCP에서의 세션구축(3 way handshake: 3방향 신호변경)을 실시한다. 여기서, 조금 전과 마찬가지로, 재생되는 동화상에 대응한 데이터를 전달하는 서버의 주소는 미리 클라이언트에 알려져 있는 것으로 한다. 이 후, 클라이언트장치의 상태(예를 들면, 제조국, 언어, 각종 파라미터의 선택상태 등)를 SDP 등을 이용해서 서버장치로 보내는 처리를 실시하도록 해도 좋다. 여기까지가 HTTP의 경우의 스텝 S3702의 처리로 된다.
스텝 S3703에서는, 서버장치와 클라이언트장치간의 세션이 구축된 상태에서, 서버에 Vclick 데이터 송신을 요구하는 처리를 실시한다. 이것은 인터페이스 핸들러가 네트워크 매니저(208)에 지시를 내리고, 네트워크 매니저(208)가 서버에 요구를 내림으로써 행해진다. RTP의 경우에는, 네트워크 매니저(208)는 RTSP의 플레이방법(PLAY METHOD)을 서버로 보냄으로써 Vclick 데이터 송신을 요구한다. 서버장치는, 지금까지 클라이언트로부터 수취한 정보와 서버장치내에 있는 Vclick 정보를 참조해서 송신해야 할 Vclick 스트림을 특정한다. 더욱이, Vclick 데이터 송신요구에 포함되는 재생개시위치의 타임 스탬프 정보와 서버장치내에 있는 Vclick 억세스 테이블을 이용해서 Vclick 스트림 중의 송신개시위치를 특정하고, Vclick 스트림을 패킷화해서 RTP에 의해 클라이언트장치로 보낸다.
한편, HTTP의 경우에는, 네트워크 매니저(208)는 HTTP의 입수방법(GET METHOD)을 송신함으로써 Vclick 데이터 송신을 요구한다. 이 요구에는, 동화상의 재생개시위치의 타임 스탬프의 정보를 포함해도 좋다. 서버장치는, RTP 때와 마찬가지의 방법에 의해 송신해야 할 Vclick 스트림과 이 스트림 중의 송신개시위치를 특정하고, Vclick 스트림을 HTTP에 의해 클라이언트장치로 보낸다.
다음에, 스텝 S3704에서는, 서버로부터 보내져 오는 Vclick 스트림을 버퍼(209)에 버퍼링하는 처리를 실시한다. 이것은, Vclick 스트림의 재생중에 서버로부터의 Vclick 스트림 송신이 너무 늦을 때 버퍼가 비워져 버리는 것을 피하기 위해 행해진다. 메타데이터 매니저(210)로부터 버퍼로 충분한 Vclick 스트림이 축적된 것이 인터페이스 핸들러에 통지되면, 스텝 S3705의 처리로 옮긴다. 스텝 S3705에서는, 인터페이스 핸들러가 콘트롤러(205)에 동화상의 재생개시명령을 내리고, 더욱이 메타데이터 매니저(210)에 Vclick 스트림의 메타데이터 디코더(217)로의 송출을 개시하도록 명령을 내린다.
도 38은 도 37과는 다른 재생개시 처리의 순서를 설명하는 흐름도이다. 도 37의 흐름도로 설명되는 처리에서는, 네트워크 상태나 서버, 클라이언트장치의 처리능력에 의해, 스텝 S3704에서의 Vclick 스트림을 일정량 버퍼링하는 처리에 시간이 걸리는 경우가 있다. 즉, 유저가 재생을 지시하고 나서 실제로 재생이 시작되까지 시간이 걸려 버리는 일이 있다. 도 38의 처리순서에서는, 스텝 S3800에서 유저가 재생개시를 지시하면, 다음의 스텝 S3801로 즉시 동화상의 재생이 개시된다. 즉, 유저로부터의 재생개시 지시를 받은 인터페이스 핸들러(207)는, 즉시 콘트롤러(205)에 재생개시 명령을 내린다. 이에 따라, 유저는 재생을 지시하고 나서 동화상을 시청할 때까지 기다리는 일이 없게 된다. 다음의 처리스텝 S3802로부터 스텝 S3805까지는, 도 37의 스텝 S3701로부터 스텝 S3704와 동일한 처리이다.
스텝 S3806에서는, 재생중의 동화상에 동기시켜 Vclick 스트림을 복호하는 처리를 실시한다. 즉, 인터페이스 핸들러(207)는, 메타데이터 매니저(210)로부터 버퍼로 일정량의 Vclick 스트림이 축적된 통지를 받으면, 메타데이터 매니저(210)에 Vclick 스트림의 메타데이터 디코더로의 송출개시를 명령한다. 메타데이터 매니저(210)는 인터페이스 핸들러로부터 재생중의 동화상의 타임 스탬프를 수취하여 버퍼에 축적된 데이터로부터 이 타임 스탬프에 해당하는 Vclick_AU를 특정해서 메타데이터 디코더로 송출한다
도 38의 처리순서에서는, 유저는 재생을 지시하고 나서 동화상을 시청할 때까지 기다리게 되는 일이 없지만, 재생개시 직후는 Vclick 스트림의 복호가 실시되지 않기 때문에, 오브젝트에 관한 표시가 실시되지 않는다거나, 오브젝트를 클릭해도 아무것도 동작이 일어나지 않는 등의 문제점이 있다
동화상의 재생중, 클라이언트장치의 네트워크 매니저(208)는 서버장치로부터 차례로 보내져 오는 Vclick 스트림을 수신해서 버퍼(209)에 축적한다. 축적된 오브젝트 메타데이터는 적절한 타이밍에 메타데이터 디코더(217)로 보내진다. 즉, 메타데이터 매니저(208)는 메타데이터 매니저(210)로부터 보내져 오는 재생중의 동화상의 타임 스탬프를 참조해서 버퍼(209)에 축적되어 있는 데이터로부터 그 타임 스탬프에 대응한 Vclick_AU를 특정하고, 이 특정된 오브젝트 메타데이터를 AU단위로 메타데이터 디코더(217)로 보낸다. 메타데이터 디코더(217)는 수취한 데이터를 복호한다. 다만, 클라이언트장치가 현재 선택하고 있는 카메라 앵글과 다른 카메 라 앵글용의 데이터의 복호는 실시하지 않도록 해도 좋다. 또, 재생중의 동화상의 타임 스탬프에 대응한 Vclick_AU가 이미 메타데이터 디코더(217)에 있는 것을 알고 있는 경우에는, 오브젝트 메타데이터를 메타데이터 디코더로 보내지 않도록 해도 좋다.
재생중의 동화상의 타임 스탬프는 순서대로 인터페이스 핸들러로부터 메타데이터 디코더(217)로 보내지고 있다. 메타데이터 디코더에서는 이 타임 스탬프에 동기시켜 Vclick_AU를 복호해 필요한 데이터를 AV 렌더러(218)로 보낸다. 예를 들면, Vclick_AU에 기술된 속성정보에 의해 오브젝트 영역의 표시가 지시되고 있는 경우에는, 오브젝트 영역의 마스크 화상이나 윤곽선 등을 생성해서 재생중의 동화상의 타임 스탬프에 맞추어 A/V 렌더러(218)로 보낸다. 또, 메타데이터 디코더는 재생중의 동화상의 타임 스탬프와 Vclick_AU의 유효시각을 비교해서, 불필요하게 된 오래된 오브젝트 메타데이터를 판정해 그 데이터를 삭제한다.
도 39는 재생정지 처리의 순서를 설명하는 흐름도이다. 스텝 S3900에서는, 유저에 의해 동화상의 재생중에 재생정지가 지시된다. 다음에, 스텝 S3901에서 동화상 재생을 정지하는 처리가 실시된다. 이것은 인터페이스 핸들러(207)가 콘트롤러(205)에 정지명령을 내림으로써 행해진다. 또, 동시에 인터페이스 핸들러는 메타데이터 매니저(210)에 오브젝트 메타데이터의 메타데이터 디코더로의 송출 정지를 명령한다.
스텝 S3902는 서버와의 세션을 절단하는 처리이다. RTP를 이용하고 있는 경우에는, 도 9에 나타낸 바와 같이 RTSP의 TEARDOWN 방법을 서버로 보낸다. TEARDOWN의 메세지를 수취한 서버장치는 데이터 송신을 중지해 세션을 종료하고, 클라이언트장치에 확인 메세지를 보낸다. 이 처리에 의해, 세션에 사용하고 있던 세션 ID가 무효로 된다. 한편, HTTP를 이용하고 있는 경우에는, 도 10에 나타내고 있는 바와 같이 HTTP의 Close 방법을 서버로 보내 세션을 종료시킨다.
(랜덤 억세스 순서(네트워크))
다음에, Vclick 스트림이 서버장치(201)상에 있는 경우에서의 랜덤 억세스 재생의 순서에 대해 설명한다.
도 40은 유저가 랜덤 억세스 재생의 개시를 지시하고 나서 재생이 개시될 때까지의 처리순서를 나타내는 흐름도이다. 우선, 스텝 S4000에서 유저에 의해 랜덤 억세스 재생의 개시 지시가 입력된다. 입력의 방법으로서는, 장(chapter) 등의 억세스 가능위치의 리스트로부터 유저가 선택하는 방법, 동화상의 타임 스탬프에 대응지워진 슬라이드바 상으로부터 유저가 일점을 지정하는 방법, 직접 동화상의 타임 스탬프를 입력하는 방법 등이 있다. 입력된 타임 스탬프는, 인터페이스 핸들러(207)가 수취하여, 동영상 재생 콘트롤러(205)에 동화상 재생준비의 명령을 내린다. 만일 이미 동화상을 재생중인 경우에는, 재생중의 동화상의 재생정지를 지시하고 나서 동화상 재생준비의 명령을 내린다. 다음에, 분기처리스텝(S4001)으로서 이미 서버장치(201)와의 세션이 구축되어 있는지 어떤지의 판정을 실시한다. 동화상을 재생중인 경우 등, 이미 세션이 구축되어 있는 경우에는, 스텝 S4002의 세션절단 처리를 실시한다. 세션이 아직 구축되어 있지 않으면, 스텝 S4002의 처리를 실시하지 않고 스텝 S4003으로 처리를 옮긴다. 스텝 S4003에서는 서버와 클라이언 트간의 세션을 구축하는 처리를 실시한다. 이 처리는 도 37의 스텝 S3702와 동일한 처리이다.
다음에 스텝 S4004에서는, 서버장치와 클라이언트장치간의 세션이 구축된 상태에서, 서버에 재생개시 위치의 타임 스탬프를 지정해 Vclick 데이터 송신을 요구하는 처리를 실시한다. 이것은 인터페이스 핸들러가 네트워크 매니저(208)에 지시를 내리고, 네트워크 매니저(208)가 서버에 요구를 내림으로써 행해진다. RTP의 경우에는, 네트워크 매니저(208)는 RTSP의 플레이방법(PLAY METHOD)을 서버로 보냄으로써 Vclick 데이터 송신을 요구한다. 이 때, Range 기술을 이용하는 등의 방법으로 재생개시 위치를 특정하는 타임 스탬프도 서버로 보낸다. 서버장치는, 지금까지 클라이언트로부터 수취한 정보와 서버장치 내에 있는 Vclick 정보를 참조해서 송신해야 할 오브젝트 메타데이터 스트림을 특정한다. 더욱이, Vclick 데이터 송신요구에 포함된 재생개시 위치의 타임 스탬프 정보와 서버장치 내에 있는 Vclick 억세스 테이블을 이용해서 Vclick 스트림중의 송신개시위치를 특정하고, Vclick 스트림을 패킷화해서 RTP에 의해 클라이언트장치로 보낸다.
한편 HTTP의 경우에는, 네트워크 매니저(208)는 HTTP의 입수방법(GET METHOD)을 송신함으로써 Vclick 데이터 송신을 요구한다. 이 요구에는, 동화상의 재생개시 위치의 타임 스탬프의 정보가 포함되어 있다. 서버장치는 RTP 때와 마찬가지로, Vclick 정보파일을 참조해서 송신해야 할 Vclick 스트림을 특정하고, 더욱이 타임 스탬프 정보와 서버장치 내에 있는 Vclick 억세스 테이블을 이용해서 Vclick 스트림중의 송신개시 위치를 특정하며, Vclick 스트림을 HTTP에 의해 클라 이언트장치로 보낸다.
다음에, 스텝 S4005에서는, 서버로부터 보내져 오는 Vclick 스트림을 버퍼(209)에 버퍼링하는 처리를 실시한다. 이것은, Vclick 스트림의 재생중에 서버로부터의 Vclick 스트림 송신이 너무 늦을 때 버퍼가 비워져 버리는 것을 피하기 위해 행해진다. 메타데이터 매니저(210)로부터 버퍼로 충분한 Vclick 스트림이 축적된 것이 인터페이스 핸들러에 통지되면, 스텝 S4006의 처리로 옮긴다. 스텝 S4006에서는, 인터페이스 핸들러가 콘트롤러(205)에 동화상의 재생개시 명령을 내리고, 더욱이 메타데이터 매니저(210)에 Vclick 스트림의 메타데이터 디코더로의 송출을 개시하도록 명령을 내린다.
도 41은 도 40과는 다른 랜덤 억세스 재생개시 처리의 순서를 설명하는 흐름도이다. 도 40의 흐름도로 설명되는 처리에서는, 네트워크 상태나 서버, 클라이언트장치의 처리능력에 의해, 스텝 S4005에서의 Vclick 스트림을 일정량 버퍼링하는 처리에 시간이 걸리는 경우가 있다. 즉, 유저가 재생을 지시하고 나서 실제로 재생이 시작되기까지 시간이 걸려 버리는 일이 있다.
이에 대해, 도 41의 처리순서에서는, 스텝 S4100에서 유저가 재생개시를 지시하면, 다음의 스텝 S4101에서 즉시 동화상의 재생이 개시된다. 즉, 유저로부터의 재생개시 지시를 받은 인터페이스 핸들러(207)는, 즉시 콘트롤러(205)에 랜덤 억세스 재생개시 명령을 내린다. 이에 따라, 유저는 재생을 지시하고 나서 동화상을 시청할 때까지 기다리게 되는 일이 없게 된다. 다음으로부터의 처리스텝 S4102로부터 스텝 S4106까지는, 도 40의 스텝 S4001로부터 스텝 S4005까지와 동일한 처 리이다.
스텝 S4107에서는, 재생중의 동화상에 동기시켜 Vclick 스트림을 복호하는 처리를 실시한다. 즉, 인터페이스 핸들러(207)는, 메타데이터 매니저(210)로부터 버퍼로 일정량의 Vclick 스트림이 축적된 통지를 수취하면, 메타데이터 매니저(210)에 Vclick 스트림의 메타데이터 디코더로의 송출개시를 명령한다. 메타데이터 매니저(210)는 인터페이스 핸들러로부터 재생중의 동화상의 타임 스탬프를 수취하여, 버퍼에 축적된 데이터로부터 이 타임 스탬프에 해당하는 Vclick_AU를 특정해 메타데이터 디코더로 송출한다.
도 41의 처리순서에서는, 유저는 재생을 지시하고 나서 동화상을 시청할 때까지 기다리게 되는 일이 없지만, 재생개시 직후는 Vclick 스트림의 복호가 실시되지 않기 때문에, 오브젝트에 관한 표시가 실시되지 않는다거나, 오브젝트를 클릭해도 아무것도 동작이 일어나지 않는 등의 문제점이 있다.
덧붙여 동화상의 재생중의 처리와 동화상 정지처리는 통상의 재생처리의 경우와 동일하기 때문에, 설명은 생략한다.
(재생순서(로컬))
다음에, Vclick 스트림이 동화상 데이터 기록매체(231)상에 있는 경우에서의 재생처리의 순서에 대해 설명한다.
도 42는 유저가 재생개시를 지시하고 나서 재생이 개시될 때까지의 재생개시처리순서를 나타내는 흐름도이다. 우선, 스텝 S4200에서 유저에 의해 재생개시의 지시가 입력된다. 이 입력은 인터페이스 핸들러(207)가 수취하고, 동영상 재생 콘 트롤러(205)에 동화상 재생준비의 명령을 내린다. 다음에, 스텝 S4201에서는 사용하는 Vclick 스트림을 특정하는 처리가 실시된다. 이 처리에서는, 인터페이스 핸들러는 동화상 데이터 기록매체(231)상에 있는 Vclick 정보파일을 참조해서 유저가 재생을 지정한 동화상에 대응하는 Vclick 스트림을 특정한다.
스텝 S4202에서는, 버퍼에 Vclick 스트림을 격납하는 처리가 실시된다. 이 처리를 실시하기 위해, 인터페이스 핸들러(207)는 우선 메타데이터 매니저(210)에 버퍼를 확보하는 명령을 내린다. 확보해야 할 버퍼의 사이즈는, 특정된 Vclick 스트림을 격납하는데 충분한 사이즈로 결정되지만, 통상은 이 사이즈를 기술한 버퍼 초기화용 문서가 동화상 데이터 기록매체(231)에 기록되어 있다. 초기화용 문서가 없을 경우에는, 미리 결정되어 있는 사이즈를 적용한다. 버퍼의 확보가 완료되면, 인터페이스 핸들러(207)는 콘트롤러(205)에 특정된 Vclick 스트림을 독출해서 버퍼에 격납하는 명령을 내린다.
Vclick 스트림이 버퍼에 격납되면, 다음에 스텝 S4203의 재생개시 처리가 실시된다. 이 처리에서는, 인터페이스 핸들러(207)가 동영상 재생 콘트롤러(205)에 동화상의 재생명령을 내리고, 동시에 메타데이터 매니저(210)에 Vclick 스트림의 메타데이터 디코더로의 송출을 개시하도록 명령을 내린다.
동화상의 재생중, 동화상 데이터 기록매체(231)로부터 독출된 Vclick_AU는 버퍼(209)에 축적된다. 축적된 Vclick 스트림은 적절한 타이밍에 메타데이터 디코더(217)로 보내진다. 즉, 메타데이터 매니저(208)는, 메타데이터 매니저(210)로부터 보내져 오는 재생중의 동화상의 타임 스탬프를 참조해서 버퍼(209)에 축적되어 있는 데이터로부터 그 타임 스탬프에 대응한 Vclick_AU를 특정하고, 이 특정된 Vclick_AU를 메타데이터 디코더(217)로 보낸다. 메타데이터 디코더(217)는 수취한 데이터를 복호한다. 다만, 클라이언트장치가 현재 선택하고 있는 카메라 앵글과 다른 카메라 앵글용의 데이터의 복호는 실시하지 않도록 해도 좋다. 또, 재생중의 동화상의 타임 스탬프에 대응한 Vclick_AU가 이미 메타데이터 디코더(217)에 있는 것을 알고 있는 경우에는, Vclick 스트림을 메타데이터 디코더로 보내지 않도록 해도 좋다.
재생중의 동화상의 타임 스탬프는 순서대로 인터페이스 핸들러로부터 메타데이터 디코더(217)로 보내지고 있다. 메타데이터 디코더에서는 이 타임 스탬프에 동기시켜 Vclick_AU를 복호하고, 필요한 데이터를 AV 렌더러(218)로 보낸다. 예를 들면, 오브젝트 메타데이터의 AU에 기술된 속성정보에 의해 오브젝트 영역의 표시가 지시되고 있는 경우에는, 오브젝트 영역의 마스크 화상이나 윤곽선 등을 생성해서 재생중의 동화상의 타임 스탬프에 맞추어 A/V 렌더러(218)로 보낸다. 또, 메타데이터 디코더는 재생중의 동화상의 타임 스탬프와 Vclick_AU의 유효시각을 비교해서, 불필요하게 된 오래된 Vclick_AU를 판정해 그 데이터를 삭제한다.
유저에 의해 동화상의 재생중에 재생정지가 지시되면, 인터페이스 핸들러(207)는 콘트롤러(205)에 동화상 재생의 정지명령과 Vclick 스트림의 독출의 정지명령을 내린다. 이 지시에 의해, 동화상의 재생이 종료한다.
(랜덤 억세스 순서(로컬))
다음에, Vclick 스트림이 동화상 데이터 기록매체(231)상에 있는 경우에서의 랜덤 억세스 재생의 처리순서에 대해 설명한다.
도 43은 유저가 랜덤 억세스 재생의 개시를 지시하고 나서 재생이 개시될 때까지의 처리순서를 나타내는 흐름도이다. 우선, 스텝 S4300에서 유저에 의해 랜덤 억세스 재생개시의 지시가 입력된다. 입력의 방법으로서는, 장 등의 억세스 가능위치의 리스트로부터 유저가 선택하는 방법, 동화상의 타임 스탬프에 대응지워진 슬라이드바 상으로부터 유저가 일점을 지정하는 방법, 직접 동화상의 타임 스탬프를 입력하는 방법 등이 있다. 입력된 타임 스탬프는, 인터페이스 핸들러(207)가 수취하여, 동영상 재생 콘트롤러(205)에 동화상의 랜덤 억세스 재생준비의 명령을 내린다.
다음에, 스텝 S4301에서는 사용하는 Vclick 스트림을 특정하는 처리가 실시된다. 이 처리에서는, 인터페이스 핸들러는 동화상 데이터 기록매체(231)상에 있는 Vclick 정보파일을 참조해서 유저가 재생을 지정한 동화상에 대응하는 Vclick 스트림을 특정한다. 더욱이, 동화상 데이터 기록매체(231)상에 있는 Vclick 억세스 테이블, 혹은 메모리상에 읽어들인 Vclick 억세스 테이블을 참조해서 동화상의 랜덤 억세스 앞에 대응하는 Vclick 스트림중의 억세스 포인트를 특정한다.
스텝 S4302는 분기처리로서, 특정된 Vclick 스트림이 현재 버퍼(209)에 읽어들여져 있는지 어떤지를 판정한다. 버퍼에 읽어들여져 있지 않은 경우에는 스텝 S4303의 처리를 실시하고 나서 스텝 S4304의 처리로 옮긴다. 현재 버퍼에 읽어들여져 있는 경우에는, 스텝 S4303의 처리는 실시하지 않고 스텝 S4304의 처리로 옮긴다. 스텝 S4304는 동화상의 랜덤 억세스 재생개시 및 Vclick 스트림의 복호개시 이다. 이 처리에서는, 인터페이스 핸들러(207)가 동영상 재생 콘트롤러(205)에 동화상의 랜덤 억세스 재생명령을 내리고, 동시에 메타데이터 매니저(210)에 Vclick 스트림의 메타데이터 디코더로의 송출을 개시하도록 명령을 내린다. 그 후는 동화상의 재생에 동기시켜 Vclick 스트림의 복호처리가 실시된다. 동화상 재생중 및 동화상 재생정지 처리에 대해서는 통상의 재생처리와 동일하기 때문에, 설명은 생략한다.
(클릭으로부터 관련정보 표시까지의 순서)
다음에, 유저가 마우스 등의 포인팅 장치(pointing device)를 사용해 오브젝트 영역 내를 클릭한 경우의 클라이언트장치의 동작에 대해 설명한다. 유저가 클릭을 실시하면, 우선 동화상 상의 클릭된 좌표위치가 인터페이스 핸들러(207)에 입력된다. 인터페이스 핸들러는 메타데이터 디코더(217)로 클릭시의 동화상의 타임 스탬프와 좌표를 보낸다. 메타데이터 디코더는 타임 스탬프와 좌표로부터, 유저에 의해 지시된 오브젝트가 어느 것인지를 특정하는 처리를 실시한다.
메타데이터 디코더에서는, 동화상의 재생에 동기시켜 Vclick 스트림을 디코드하고 있고, 따라서 클릭되었을 때의 타임 스탬프에서의 오브젝트의 영역이 생성되어 있기 때문에, 이 처리는 용이하게 실행할 수 있다. 클릭된 좌표에 복수의 오브젝트 영역이 존재하는 경우에는, Vclick_AU 내에 포함된 계층정보를 참조해서 가장 전면에 있는 오브젝트를 특정한다.
유저에 의해 지정된 오브젝트가 특정되면, 메타데이터 디코더(217)는 그 오브젝트 속성정보(403)에 기술된 액션기술(action description: 동작을 지시하는 스 크립트)을 스크립트 인터프리터(212)로 보낸다. 액션기술을 받은 스크립트 인터프리터는 그 동작내용을 해석하여 실행한다. 예를 들면, 지정된 HTML 파일의 표시를 실시하거나 지정된 동화상의 재생을 개시하거나 한다. 이들 HTML 파일이나 동화상 데이터는, 클라이언트장치(200)에 기록되어 있는 경우, 서버장치(201)로부터 네트워크를 매개로 보내져 오는 경우, 네트워크상의 다른 서버상에 존재하고 있는 경우의 어느 것이라도 좋다.
(데이터 구조의 상세)
다음에, 보다 구체적인 데이터 구조의 구성예에 대해 설명한다. 도 11은 Vclick 스트림(506)의 데이터 구조의 예이다. 각 데이터 요소의 의미는 이하와 같다:
vcs_start_code는 Vclick 스트림의 시작을 나타낸다;
data_length는 이 Vclick 스트림에서의 data_length보다 뒤의 부분의 데이터 길이를 바이트로 지정한다;;
data_bytes는 Vclick_AU의 데이터부이다. 이 부분에는 선두에 Vclick 스트림의 헤더(507)가 있고, 계속해서 1개 또는 복수의 Vclick_AU나 NULL_AU(후술하기로 함)가 나열된다
도 12는 Vclick 스트림의 헤더(507)의 데이터 구조의 예이다. 각 데이터 요소의 의미는 이하와 같다:
vcs_header_code는 Vclick 스트림의 헤더의 시작을 나타낸다;
data_length는 Vclick 스트림의 헤더 중, data_length보다 뒤의 부분의 데이 터 길이를 바이트 단위로 나타낸다;
vclick_version는 포맷의 버젼을 지정한다. 이 값은 이 사양 중에서는 01h로 한다;
bit_rate는 이 Vclick 스트림의 최대의 비트 레이트를 지정한다.
도 13은 Vclick_AU의 데이터 구조의 예이다. 각 데이터 요소의 의미는 이하와 같다:
vclick_start_code는 각 Vclick_AU의 시작을 나타낸다;
data_length는 이 Vclick_AU의 data_length보다 뒤의 부분의 데이터 길이를 바이트로 지정한다;
data_byte는 Vclick_AU의 데이터부이다. 이 부분에 헤더(401), 타임 스탬프(402), 오브젝트 속성 정보(403), 오브젝트 영역 정보(400)이 포함된다.
도 14는 Vclick_AU의 헤더(401)의 데이터 구조의 예이다. 각 데이터 요소의 의미는 이하와 같다:
vclick_header_code는 각 Vclick_AU의 헤더의 시작을 나타낸다;
data_length는, 이 Vclick_AU의 헤더에서의 data_length보다 뒤의 부분의 데이터 길이를 바이트로 지정된다;
filtering_id는 Vclick_AU의 식별 ID이다. 이 데이터는 클라이언트장치의 속성과 이 ID에 의해, 복호해야 할 Vclick_AU인지 어떤지를 판정하기 위해 사용된다;
object_id는 Vclick 데이터로 기술되는 오브젝트의 식별번호이다. object_id의 같은 값이 2개의 Vclick_AU 중에서 사용되는 경우, 양자는 의미적으로 동일한 오브젝트용의 데이터이다;
object_subid는 오브젝트의 의미적인 연속성을 나타낸다. 2개의 Vclick_AU에 대해 object_id 및 object_subid의 양쪽이 같은 경우, 양자는 연속적인 오브젝트를 의미한다;
continue_flag는 플래그이다. 이 플래그가 "1"인 경우, 이 Vclick_AU에 기술된 오브젝트 영역과 동일한 object_id를 갖는 다음의 Vclick_AU에 기술된 오브젝트 영역과는 연속하고 있는 것을 나타낸다. 그렇지 않은 경우에는 이 플래그는 "0"으로 된다;
layer(계층)는, 오브젝트의 계층값을 나타낸다. 계층값이 클수록 오브젝트가 화면상에서 앞에 있는 것을 의미한다.
도 15는 Vclick_AU의 타임 스탬프(402)의 데이터 구조의 예이다. 이 예에서는, 동화상 데이터 기록매체(204)로서 DVD를 이용하는 경우를 가정하고 있다. 이하의 타임 스탬프를 이용함으로써, DVD상의 동화상의 임의의 시각을 지정하는 것이 가능하게 되어, 동화상과 Vclick 데이터의 동기를 실현할 수 있다. 각 데이터 요소의 의미는 이하와 같다:
time_type은 DVD용 타임 스탬프의 시작을 나타낸다;
data_length는 이 타임 스탬프 중 data_length보다 뒤의 부분의 데이터 길이를 바이트로 지정한다;
VTSN은 DVD 비디오의 VTS(비디오 타이틀 세트) 번호를 나타낸다.
TTN은 DVD 비디오의 타이틀 도메인에서의 타이틀 번호를 나타낸다. DVD 플레이어의 시스템 파라미터 SPRM(4)에 스토어(store: 기억)되는 값에 상당한다;
VTS_TTN은 DVD 비디오의 타이틀 도메인에서의 VTS 타이틀 번호를 나타낸다. DVD 플레이어의 시스템 파라미터 SPRM(5)에 스토어되는 값에 상당한다;
TT_PGCN은 DVD 비디오의 타이틀 도메인에서의 타이틀 PGC(프로그램 체인) 번호를 나타낸다. DVD 플레이어의 시스템 파라미터 SPRM(6)에 스토어되는 값에 상당한다;
PTTN은 DVD 비디오의 부분 타이틀(Part_of_Title) 번호를 나타낸다. DVD 플레이어의 시스템 파라미터 SPRM(7)에 스토어되는 값에 상당한다.
CN은 DVD 비디오의 셀번호를 나타낸다;
AGLN은 DVD 비디오의 앵글번호를 나타낸다;
PTS[s .. e]는 DVD 비디오의 표시 타임 스탬프 중, s비트째로부터 e비트째까지의 데이터를 나타낸다.
도 16은 Vclick_AU의 타임 스탬프 스킵의 데이터 구조의 예이다. 타임 스탬프 스킵이 타임 스탬프 대신에 Vclick_AU에 기술되어 있는 경우, 이 Vclick_AU의 타임 스탬프가 직전의 Vclick_AU의 타임 스탬프와 동일한 것을 의미하고 있다. 각 데이터 요소의 의미는 이하와 같다:
time_type은 타임 스탬프 스킵의 시작을 나타낸다;
data_length는 이 타임 스탬프 스킵 중 data_length보다 뒤의 부분의 데이터 길이를 바이트로 지정한다. 그러나, 타임 스탬프 스킵은 time_type과data_length 만으로 구성되기 때문에, 이 값은 항상 0으로 된다.
도 17은 Vclick_AU의 오브젝트 속성 정보(403)의 데이터 구조의 예이다. 각 데이터 요소의 의미는 이하와 같다:
vca_start_code는 각 Vclick_AU의 오브젝트 속성 정보의 시작을 나타낸다;
data_length는 이 오브젝트 속성 정보 중 data_length보다 뒤의 부분의 데이터 길이를 바이트로 지정한다;
data_bytes는 오브젝트 속성 정보의 데이터부이다. 이 부분에는 1개 또는 복수의 속성이 기술된다.
다음에, 오브젝트 속성 정보(403) 내에 기술되는 속성정보의 상세(詳細)에 대해 설명한다. 도 18은 오브젝트 속성 정보(403) 중에서 기술가능한 속성의 종류의 일람이다. 최대값의 란에는, 각각의 속성에 대해, 하나의 오브젝트 메타데이터 AU 내에 기술가능한 최대의 데이터수의 예를 나타냈다.
attribute_id는 각 속성 데이터 내에 포함되는 ID로, 속성의 종류를 분별하기 위한 데이터이다. 이름 속성은 오브젝트의 이름을 특정하기 위한 정보이다. 동작 속성은 동화상중의 오브젝트 영역이 클릭된 때에, 어떠한 액션을 실시해야 할 것인지가 기술된다. 윤곽선 속성은 오브젝트의 윤곽선을 어떻게 표시시킬지의 속성을 나타낸다. 점멸영역 속성은 오브젝트 영역을 점멸해서 표시할 때의 점멸색을 특정한다. 모자이크영역 속성은 오브젝트 영역을 모자이크화해서 표시할 때의 모자이크화의 방법이 기술되어 있다. 도장(paint)영역 속성은 오브젝트 영역에 색을 칠해 표시시킬 때의 색을 특정한다.
텍스트 카테고리에 속하는 속성은, 동화상에 문자를 표시시키고자 할 때, 표시시키는 문자에 관한 속성을 정의한다. 텍스트 정보에는 표시시키는 텍스트를 기술한다. 텍스트 속성은 표시시키는 텍스트의 색이나 폰트 등의 속성을 특정한다. 하이라이트효과 속성은, 텍스트의 일부 또는 전부를 하이라이트 표시시킬 때에, 어느 문자를 어떻게 하이라이트 표시시킬지를 특정한다. 점멸효과 속성은, 텍스트의 일부 또는 전부를 점멸 표시시킬 때에, 어느 문자를 어떻게 점멸 표시시킬지를 특정한다. 스크롤효과 속성에는, 표시시키는 텍스트를 스크롤시킬 때에 어느 방향으로 어떠한 속도로 스크롤시킬지가 기술되어 있다. 가라오케효과 속성은, 텍스트의 색을 순차적으로 변경해 갈 때에, 어떠한 타이밍에서 어디의 문자의 색을 변경시킬지를 특정한다.
마지막으로, 계층확장 속성은 오브젝트의 계층값이 Vclick_AU 내에서 변화하는 경우에 계층값의 변화의 타이밍과 그 값을 정의하기 위해 이용된다. 이상의 속성의 데이터 구조에 대해, 이하에서 개개로 설명한다.
도 19는 오브젝트의 이름 속성의 데이터 구조의 예이다. 각 데이터 요소의 의미는 이하와 같다:
attribute_id는 속성데이터의 타입을 지정한다. 이름 속성에 대해서는, 이 값은 00h로 한다;
data_length는 이름 속성 데이터의 data_length보다 후의 데이터 길이를 바이트로 나타낸다;
language(언어)는, 이하의 요소(name(이름)과 annotation(주석))의 기술에 이용한 언어를 특정한다. 언어의 지정에는 ISO-639 「code for the representation of names of languages」를 이용한다;
name_length는 바이트로 name(이름) 요소의 데이터 길이를 지정한다;
name은 문자열로, 이 Vclick_AU에서 기술되어 있는 오브젝트의 이름을 나타낸다;
annotation_length는 바이트로 annotation(주석) 요소의 데이터 길이를 나타낸다;
annotation은 문자열로, 이 Vclick_AU에서 기술되어 있는 오브젝트에 관한 주석을 나타낸다.
도 20은 오브젝트의 동작 속성의 데이터 구조의 예이다. 각 데이터 요소의 의미는 이하와 같다:
attribute_id는 속성데이터의 타입을 지정한다. 동작 속성에 대해서는, 이 값은 01h로 한다;
data_length는 동작 속성 데이터 중 data_length보다 뒤의 부분의 데이터 길이를 바이트로 나타낸다;
script_language는 script(스크립트) 요소에 기술되어 있는 스크립트 언어의 종류를 특정한다;
script_length는 바이트 단위로 script 요소의 데이터 길이를 나타낸다;
script는 문자열로, 이 Vclick_AU에서 기술되어 있는 오브젝트가 유저에 의해 지정된 경우에 실행해야 할 액션을 script_language로 지정된 스크립트 언어로 기술하고 있다.
도 21은 오브젝트의 윤곽선 속성의 데이터 구조의 예이다. 각 데이터 요소의 의미는 이하와 같다:
attribute_id는 속성의 타입을 지정한다. 윤곽선 속성에 대해서는, 이 값은 02h로 한다;
data_length는 윤곽선 속성 데이터 중 data_length보다 뒤의 부분의 데이터 길이를 지정한다;
color_r, color_g, color_b, color_a는 이 오브젝트 메타데이터 AU에 기술되어 있는 오브젝트의 윤곽의 표시색을 지정한다;
color_r, color_g 및 color_b는 각각 색의 RGB 표현에서의 빨강, 초록 및 파랑의 값을 지정한다. 한편, color_a는 투명도를 나타낸다;
line_type은 이 Vclick_AU에서 기술되어 있는 오브젝트의 윤곽선의 종류(실선, 파선 등)를 지정한다;
thickness(두께)는 이 Vclick_AU에서 기술되어 있는 오브젝트의 윤곽선의 굵기를 포인트로 지정한다.
도 22는 오브젝트의 점멸영역 속성의 데이터 구조의 예이다. 각 데이터 요소의 의미는 이하와 같다:
attribute_id는 속성데이터의 타입을 지정한다. 점멸영역 속성 데이터에 대해서는, 이 값은 03h로 한다;
data_length는 점멸영역 속성 데이터 중 data_length보다 뒤의 부분의 데이 터 길이를 바이트로 지정한다;
color_r, color_g, color_b, color_a는 이 Vclick_AU에서 기술되어 있는 오브젝트의 영역의 표시색을 지정한다. color_r, color_g 및 color_b는 각각 색의 RGB 표현에서의 빨강, 초록 및 파랑의 값을 지정한다. 한편, color_a는 투명도를 나타낸다. 오브젝트 영역의 점멸은, 도장영역 속성 중에서 지정된 색과 이 속성에서 지정된 색을 교대로 표시시킴으로써 실현된다;
interval(간격)은 점멸의 시간간격을 지정한다.
도 23은 오브젝트의 모자이크영역 속성의 데이터 구조의 예이다. 각 데이터 요소의 의미는 이하와 같다:
attribute_id는 속성 데이터의 타입을 지정한다. 모자이크영역 속성 데이터에 대해서는, 이 값은 04h로 한다;
data_length는 모자이크영역 속성 데이터 중 data_length보다 뒤의 부분의 데이터 길이를 바이트로 지정한다;
mosaic_size는 모자이크 블록의 사이즈를 픽셀 단위로 지정한다;
randomness는 모자이크화한 블록의 위치를 바꿔 넣는 경우에, 어느 정도 랜덤하게 바꾸어 넣는지를 나타낸다.
도 24는 오브젝트의 도장영역 속성의 데이터 구조의 예이다. 각 데이터 요소의 의미는 이하와 같다:
attribute_id는 속성데이터의 타입을 지정한다. 도장영역 속성 데이터에 대해서는, 이 값은 05h로 한다;
data_length는 도장 속성 데이터 중 data_length보다 뒤의 부분의 데이터 길이를 바이트로 지정한다;
color_r, color_g, color_b, color_a는 이 Vclick_AU에서 기술되어 있는 오브젝트 영역의 표시색을 지정한다. color_r, color_g 및 color_b는 각각 색의 RGB 표현에서의 빨강, 초록 및 파랑의 값을 지정한다. 한편, color_a는 투명도를 나타낸다.
도 25는 오브젝트의 텍스트 정보의 데이터 구조의 예이다. 각 데이터 요소의 의미는 이하와 같다:
attribute_id는 속성데이터의 타입을 지정한다. 오브젝트의 텍스트 정보에 대해서는, 이 값은 06h로 한다;
data_length는 오브젝트의 텍스트 정보 중 data_length보다 뒤의 부분의 데이터 길이를 바이트로 지정한다;
language는 기술된 텍스트의 언어를 나타낸다. 언어의 지정방법은, 예를 들면 ISO-639 「code for the representation of names of languages」를 사용할 수가 있다;
char_code는 텍스트의 코드 종류를 특정한다. 예를 들면, UTF-8, UTF-16, ASCII, Shift JIS 등을 지정한다;
direction(방향)은 문자를 나열할 때의 방향으로서 좌방향, 우방향, 하방향, 상방향을 특정한다. 예를 들면, 영어나 프랑스어라면 통상 문자는 좌방향으로 나열된다. 한편, 아라비아어라면 우방향으로, 일본어라면 좌방향이나 하방향의 어느 쪽으로 나열한다. 다만, 언어마다 정해져 있는 나열방향 이외를 지정해도 좋다. 또, 경사방향을 지정할 수 있도록 해도 좋다;
text_length는 바이트로 timed text의 길이를 지정한다;
text는 문자열로, char_code로 지정된 문자코드를 이용해서 기술된 텍스트이다.
도 26은 오브젝트의 텍스트 속성의 데이터 구조의 예이다. 각 데이터 요소의 의미는 이하와 같다:
attribute_id는 속성데이터의 타입을 지정한다. 오브젝트의 텍스트 속성에 대해서는, 이 값은 07h로 한다;
data_length는 오브젝트의 텍스트 속성 중 data_length보다 뒤의 부분의 데이터 길이를 바이트로 지정한다;
font_length는 폰트의 기술길이를 바이트 단위로 지정한다;
font는 문자열로, 텍스트를 표시할 때에 이용하는 폰트를 지정한다;
color_r, color_g, color_b, color_a는 텍스트를 표시할 때의 표시색을 지정한다. 색은 RGB에 의해 표현된다. 또, color_r, color_g 및 color_b는 빨강, 초록 및 파랑의 값을 각각 지정한다. 또, color_a는 투과도를 나타낸다.
도 27은 오브젝트의 텍스트 하이라이트효과 속성의 데이터 구조의 예이다. 각 데이터 요소의 의미는 이하와 같다:
attribute_id는 속성데이터의 타입을 지정한다. 오브젝트의 텍스트 하이라이트효과 속성 데이터에 대해서는, 이 값은 08h로 한다;
data_length는 오브젝트의 텍스트 하이라이트효과 속성 데이터 중 data_length보다 뒤의 부분의 데이터 길이를 바이트로 지정한다;
entry(엔트리)는 이 텍스트 하이라이트효과 속성 데이터중의 highlight_effect_entry의 수를 나타낸다;
data_bytes에 entry개의 highlight_effect_endtry가 포함된다;
highlight_effect_endtry의 사양은 이하에 나타낸 바와 같다.
도 28은 오브젝트의 텍스트 하이라이트효과 속성의 엔트리의 데이터 구조의 예이다. 각 데이터 요소의 의미는 이하와 같다:
start_position은 강조되는 문자의 개시위치를 선두로부터 당해 문자까지의 문자수에 의해 지정한다;
end_position은 강조되는 문자의 종료위치를 선두로부터 당해 문자까지의 문자수에 의해 지정한다;
color_r, color_g, color_b, color_a는 강조 후의 문자의 표시색을 지정한다. 색은 RGB에 의해 표현된다. 또, color_r, color_g 및 color_b는 빨강, 초록 및 파랑의 값을 각각 지정한다. 또, color_a는 투과도를 나타낸다.
도 29는 오브젝트의 텍스트 점멸효과 속성의 데이터 구조의 예이다. 각 데이터 요소의 의미는 이하와 같다:
attribute_id는 속성데이터의 타입을 지정한다. 오브젝트의 텍스트 점멸효과 속성 데이터에 대해서는, 이 값은 09h로 한다;
data_length는 텍스트 점멸효과 속성 데이터 중 data_length보다 뒤의 부분 의 데이터 길이를 바이트로 지정한다;
entry는 이 텍스트 점멸효과 속성 데이터 중의 blink_effect_entry의 수를 나타낸다;
data_bytes에 entry개의 blink_effect_entry를 포함한다;
blink_effect_entry의 사양은 이하와 같다.
도 30은 오브젝트의 텍스트 점멸효과 속성의 엔트리의 데이터 구조의 예이다. 각 데이터 요소의 의미는 이하와 같다:
start_position은 점멸시키는 문자의 개시위치를 선두로부터 당해 문자까지의 문자수에 의해 지정한다;
end_position은 점멸시키는 문자의 종료위치를 선두로부터 당해 문자까지의 문자수에 의해 지정한다;
color_r, color_g, color_b, color_a는 점멸 문자의 표시색을 지정한다. 색은 RGB에 의해 표현된다. 또, color_r, color_g 및 color_b는 빨강, 초록 및 파랑의 값을 각각 지정한다. 또, color_a는 투과도를 나타낸다. 여기에서 지정된 색과 텍스트 속성에서 지정된 색을 교대로 표시시킴으로써 문자를 점멸시킨다;
interval은 점멸의 시간간격을 지정한다.
도 31은 오브젝트의 텍스트 스크롤효과 속성의 엔트리의 데이터 구조의 예이다. 각 데이터 요소의 의미는 이하와 같다:
attribute_id는 속성데이터의 타입을 지정한다. 오브젝트의 텍스트 스크롤효과 속성 데이터에 대해서는, 이 값은 0ah로 한다;
data_length는 텍스트 스크롤효과 속성 데이터 중 data_length보다 뒤의 부분의 데이터 길이를 바이트 단위로 지정한다;
direction은 문자를 스크롤할 방향을 지정한다. 예를 들면, 0은 오른쪽에서 왼쪽을, 1은 왼쪽에서 오른쪽을, 2는 위에서 아래를, 3은 아래에서 위를 나타낸다;
delay(지연)는, 스크롤의 속도를, 표시시키는 선두의 문자가 표시되고 나서 마지막 문자가 표시될 때까지의 시간차에 의해 지정한다.
도 32는 오브젝트의 텍스트 가라오케효과 속성의 엔트리의 데이터 구조의 예이다. 각 데이터 요소의 의미는 이하와 같다:
attribute_id는 속성 데이터의 타입을 지정한다. 오브젝트의 텍스트 가라오케효과 속성 데이터에 대해서는, 이 값은 0bh로 한다;
data_length는 텍스트 가라오케효과 속성 데이터 중 data_length보다 뒤의 부분의 데이터 길이를 바이트 단위로 지정한다;
start_time은 이 속성 데이터의 data_bytes에 포함되는 선두의 karaoke_effect_entry로 지정되는 문자열의 문자색의 변경 개시시각을 지정한다;
entry는 이 텍스트 가라오케효과 속성 데이터중의 karaoke_effect_entry의 수를 나타낸다;
data_bytes에 entry개의 karaoke_effect_entry를 포함한다;
karaoke_effect_entry의 사양은 다음에 나타낸다.
도 33은 오브젝트의 텍스트 가라오케효과 속성의 엔트리의 데이터 구조의 예이다. 각 데이터 요소의 의미는 이하와 같다:
end_time은 이 엔트리로 지정되는 문자열의 문자색의 변경종료시각을 나타낸다. 또, 이 엔트리에 계속되는 엔트리가 있는 경우에는, 다음의 엔트리로 지정되는 문자열의 문자색의 변경개시시각도 나타낸다;
start_position은 문자색을 변경해야 할 문자열의 선두문자의 위치를, 선두로부터 당해 문자까지의 문자수에 의해 지정한다;
end_position은 문자색을 변경해야 할 문자열의 최후의 문자의 위치를, 선두로부터 당해 문자까지의 문자수에 의해 지정한다.
도 34는 오브젝트의 계층속성 확장의 데이터 구조의 예이다. 각 데이터 요소의 의미는 이하와 같다:
attribute_id는 속성데이터의 타입을 지정한다. 오브젝트의 계층속성 확장 데이터에 대해서는, 이 값은 0ch로 한다;
data_length는 계층속성 확장 데이터 중 data_length보다 뒤의 부분의 데이터 길이를 바이트 단위로 지정한다;
start_time은 이 속성 데이터의 data_bytes에 포함되는 선두의 layer_extension_entry로 지정되는 계층값이 유효로 되는 개시시각을 지정한다;
entry는 이 계층속성 확장 데이터에 포함되는 layer_extension_entry의 수를 지정한다;
data_bytes에 entry개의 layer_extension_entry가 포함된다;
layer_extension_entry의 사양을 다음에 설명한다.
도 35는 오브젝트의 계층속성 확장의 엔트리의 데이터 구조의 예이다. 각 데이터 요소의 의미는 이하와 같다:
end_time은 이 layer_extension_entry로 지정되는 계층값이 무효로 되는 시각을 지정한다. 또, 이 엔트리의 다음에도 엔트리가 있는 경우에는, 다음의 엔트리로 지정되는 계층값이 유효하게 되는 개시시각도 동시에 지정한다;
layer는 오브젝트의 계층값을 지정한다.
도 36은 오브젝트 메타데이터의 AU의 오브젝트 영역 데이터(400)의 데이터 구조의 예이다. 각 데이터 요소의 의미는 이하와 같다:
vcr_start_code는 오브젝트 영역 데이터의 개시를 의미한다;
data_length는 오브젝트 영역 데이터 중 data_length보다 뒤의 부분의 데이터 길이를 바이트로 지정한다;
data_bytes는 오브젝트 영역이 기술되어 있는 데이터부이다. 오브젝트 영역의 기술에는, 예를 들면 MPEG-7의 SpatioTemporalLocator의 바이너리 포맷을 이용할 수가 있다.
(어플리케이션 이미지의 설명)
도 76은 본 발명의 오브젝트 메타데이터를 동화상과 함께 이용함으로써 실현되는 어플리케이션(동화상 하이퍼 미디어)의 도 1과는 다른 화면상의 표시예이다. 도 1에서는 동화상, 관련정보를 표시하는 윈도우는 각각 별개였지만, 도 76에서는 하나의 윈도우 A01에 동화상 A02와 관련정보 A03이 표시되어 있다. 관련정보로서 텍스트뿐만 아니라, 정지화상 A04나 A02와는 다른 동화상을 표시시키는 것도 가능하다.
(계속시간 데이터를 사용한 Vclick_AU의 유효기간 지정방법의 설명)
도 77은 도 4와는 다른 Vclick_AU의 데이터 구조의 예이다. 도 4와의 차이는, Vclick_AU의 유효기간을 특정하기 위한 데이터가 타임 스탬프뿐만 아니라, 타임 스탬프 B01과 존속시간 또는 계속시간 B02의 조합으로 되어 있는 점이다. 타임 스탬프 B01은 Vclick_AU의 유효기간의 개시시각이며, 계속시간 B02는 Vclick_AU의 유효기간의 개시시각으로부터 종료시각까지의 계속시간이다. 계속시간의 구체적인 구성은, 예를 들면 도 79와 같이 하면 좋다. 여기서, time_type은 도 79의 데이터가 계속시간을 의미하는 것을 특정하기 위한 ID이며, duration이 계속시간이다. duration은 미리 결정된 단위(예를 들면, 1밀리 세컨드나 0.1초 등)로 계속시간을 나타낸다.
이와 같이 Vclick_AU를 특정하기 위한 데이터로서 계속시간도 기술하는 것의 이점은, 처리대상의 Vclick_AU만을 보면 그 Vclick_AU의 계속시간을 알 수 있는 점이다. 따라서, 예를 들면 어떤 타임 스탬프에서 유효한 Vclick_AU를 탐색하고 있는 것과 같은 경우에, 다른 Vclick_AU의 데이터를 조사하는 일 없이 그 Vclick_AU가 탐색대상인지 어떤지를 판정할 수 있다. 다만, 도 4의 경우보다 계속시간 B02의 분량만큼 데이터 사이즈가 커진다.
도 78은 도 77과는 또 다른 Vclick_AU의 데이터 구조의 예이다. 이 예에서는, Vclick_AU의 유효기간을 특정하기 위한 데이터로서 Vclick_AU의 유효기간의 개시시각을 특정하는 타임 스탬프 C01과 종료시각을 특정하는 타임 스탬프 C02를 사용하고 있다. 이 데이터 구조를 이용하는 경우의 이점은 도 77의 데이터 구조를 이용하는 경우와 같다.
본 발명은 상기한 실시예에 한정되는 것이 아니라, 실시 단계에서는 그 요지를 일탈하지 않는 범위에서 구성요소를 여러 가지로 변형해서 구체화할 수 있다. 예를 들면, 본 발명은 현재 세계적으로 보급되어 있는 DVD-ROM 비디오뿐만 아니라, 근래 급속히 수요가 늘고 있는 녹화재생 가능한 DVD-VR(비디오 레코더)에도 적용할 수 있다. 또, 가까운 시일내에 보급이 시작될 차세대 HD-DVD의 재생계 또는 기록계에도 적용 가능하다.
또, 상기한 실시예에 개시되어 있는 복수의 구성요소를 적당하게 조합함으로써, 여러 가지의 발명을 형성할 수가 있다. 예를 들면, 실시예에 나타낸 전 구성요소로부터 몇개의 구성요소를 삭제해도 좋은 것이다. 더욱이, 다른 실시예에 따른 구성요소를 적당히 조합시켜도 좋다.
(object_subid의 이용)
지금까지 설명해 온 Vclick 데이터를 이용해서 동화상중에 등장하는 오브젝트를 검색할 수가 있다. 예를 들면, 오브젝트의 이름 속성에 포함된 name이나 annotation에는 오브젝트의 이름이나 정보가 텍스트로 기술되어 있다. 따라서, 이들 데이터에 대해 키워드에 의한 검색을 실시함으로써, 소망하는 오브젝트를 검색할 수 있다.
도 80은 Vclick 데이터를 이용한 검색의 결과를 표시한 화면예이다. 이 검색에서는, 입력된 키워드를 포함한 Vclick AU 모두를 검색대상으로 했다. 화상(8000)은 섬네일(thumbnail)로, 검색된 Vclick AU의 타임 스탬프에 대응하는 시각 의 화상이다. 섬네일 아래의 설명(8001)은, 검색된 Vclick AU중의 오브젝트의 이름 속성에 포함되어 있던 name과 annotation, 그리고 타임 스탬프이다. 이 예에서는, 섬네일이나 섬네일 아래의 설명을 클릭함으로써, 그 장면으로부터 동영상을 재생할 수가 있다.
도 80과 같이 Vclick AU 모두를 검색결과로 리스트 업한 경우, 표시되는 검색결과가 너무 많다고 하는 문제가 있다. 예를 들면, 어느 등장 인물이 10장면(scene)에 등장하고 있는 동화상에 대해 검색을 실시한다고 가정하자. 더욱이, 각 등장 장면은 평균 15개의 Vclick AU로 분할되어 있고, 이 등장 인물에 대한 Vclick AU는 합계 150개 포함되어 있는 것으로 하자. 이들 Vclick AU의 object_id는 모두 동일한 값을 가진다. 따라서, 이 등장 인물에 대응하는 키워드로 검색하면, 150개의 Vclick AU가 히트한다. 그러나, 그들 대부분은 동일한 장면에서의 등장 장면이기 때문에, 도 80과 같은 섬네일의 일람이나, 검색된 장면의 재생을 실시해도 대부분이 같은 영상으로 되어 버린다. 또, 검색의 히트수가 많아져 버리기 때문에, 검색결과 중에서 소망하는 장면을 찾기가 어렵다.
이상과 같은 유사한 검색결과가 다수 표시되어 버리는 문제점은, Vclick AU의 헤더에 포함되는 object_id를 이용함으로써 해결할 수 있다. 즉, 검색결과로부터 동일한 object_id를 갖는 Vcilck AU의 표시를 생략하도록 하면 좋다. 도 81은 그와 같이 해서 검색결과를 표시한 예이다. 다만, 이러한 방법에서는, 도 81로부터 알 수 있는 바와 같이 하나의 오브젝트에 대해 하나의 검색결과 밖에 얻을 수가 없다. 이것에서는, 검색대상으로 되어 있는 오브젝트가 몇개의 장면에 등장하는 경우에는 각각의 장면으로의 억세스를 실시할 수 없다.
이상과 같은 모든 Vclick AU를 대상으로 키워드 검색을 실시한 결과를 모두 표시하면 유사한 검색결과가 다수 표시되어 버린다고 하는 문제를 해결하고, 또 공통의 object_id를 갖는 Vclick AU의 검색결과를 생략하면 검색결과가 너무 적어진다는 현상을 회피하기 위해, object_id에 더해 더욱이 Vclick AU의 헤더에 포함되는 object_subid를 병용해서 검색을 실시한다. 이하, 그 수법에 대해 설명한다.
도 82는 object_subid를 이용한 Vclick AU의 키워드 검색의 처리를 설명하는 흐름도의 예이다. 스텝 S8200에서 초기치로서 i에 0을 대입한다. 다음에, 스텝 S8201에서 Vclick 스트림중의 i번째의 Vclick AU에 대해 키워드 검색을 실시한다. 즉, 입력된 키워드가 Vclick AU의 오브젝트의 이름 속성에 포함되는 name이나 annotation에 포함되어 있는지 어떤지를 조사한다. 이 때, 키워드 그 자체 뿐만 아니라, 키워드의 유의어가 포함되어 있는지 어떤지를 조사하는 등의 고도의 매칭을 실시해도 좋다. 또, 입력을 단순한 키워드 뿐만 아니라, 자연 언어에 의해 입력할 수 있도록 해도 좋다.
스텝 S8202는 선택처리로서, 스텝 S8201의 검색처리의 결과, i번째의 Vclick AU가 히트했는지 어떤지를 판정한다. 히트한 경우는, 스텝 S8203으로 처리를 진행한다. 히트하지 않은 경우는, 스텝 S8205의 처리로 옮긴다.
스텝 S8203는 분기처리로서, i번째의 Vclick AU의 object_id 및 object_subid가 지금까지 히트한 Vclick AU의 object_id 및 object_subid와 각각 동일한지 어떤지를 판정한다. object_id 및 object_subid의 양쪽이 각각 동일한 경우에는, 스텝 S8204의 처리로 옮겨 i번째의 Vclick AU를 검색결과에 등록하는 처리를 실시한다. 그렇지 않은 경우에는, 등록을 실시하지 않고 스텝 S8205로 옮긴다.
스텝 S8205에서는, 처리대상으로 된 i번째의 Vclick AU가 Vclick 스트림의 최후인지 어떤지를 판정한다. 최후이면 처리를 종료하고, 최후가 아니면 스텝 S8206에서 변수 i의 갱신을 실시하고, 스텝 S8201로부터의 처리를 반복한다.
Vclick AU에서는, 같은 오브젝트에 대해 같은 값의 object_id가 부여되는데 대해, object_subid는 장면까지 같을 때에 한해 같은 값을 부여한다. 따라서, 도 82의 처리를 실시하면, 장면마다 1개씩의 Vclick AU가 검색결과로서 출력된다. 도 83은 object_subid를 이용한 Vclick AU의 키워드 검색의 결과의 화면 표시예이다. 도 83으로부터도 알 수 있는 바와 같이, 이 방법에 의하면, 하나의 장면에 대해 하나의 검색결과밖에 얻을 수 없기 때문에, 검색된 오브젝트를 일람시키거나 등장 장면을 재생시키거나 했을 때에 같은 장면이 표시되는 일이 없다. 또, 검색의 히트수가 적어져 소망하는 장면이 찾기 쉬워진다.
(continue_flag의 이용)
통신 프로토콜로서 RTP를 이용한 경우, 통상의 모드에서는 데이터의 재발송이 실시되지 않기 때문에, 서버로부터 클라이언트로 전달되는 데이터의 일부가 결락하는 일이 있다. 또, 통신 프로토콜로서 신뢰성의 높은 HTTP를 이용한 경우에도, 통신로의 상황이 나쁘면 서버로부터 클라이언트로 데이터가 올바르게 전달되는데 지연이 생겨 클라이언트측의 처리에 데이터가 늦어지는 일이 생긴다. 이러한 것이 원인으로, Vclick AU의 일부가 클라이언트 측에 있어서 결락하는 경우가 있다. Vclick AU가 결락하면, 오브젝트를 지정해도 소망하는 액션이 일어나지 않는다거나, 오브젝트의 윤곽을 표시하고 있는 경우에 윤곽이 나타나거나 사라지거나 하여 보기 어렵게 되는 등의 악영향이 생긴다. 여기에서는, continue_flag를 이용함으로써 Vclick AU의 일부 결락의 영향을 저감하는 방법에 대해 설명한다.
도 84는 Vclick 스트림중의 Vclick AU가 순차적으로 입력되었을 때에, 어느 특정의 object_id의 값에 대응한 오브젝트의 데이터를 처리할 때의 처리의 흐름을 설명하는 흐름도이다. 이 처리에서는, 우선 Vclick AU의 결락을 판정하고, 더욱이 결락한 데이터의 보간처리를 실시하는지 어떤지의 판단을 실시한다.
우선, 스텝 S8400에서 초기화 처리로서 2개의 변수 flag와 TR에 0을 대입한다. 다음에 스텝 S8401에 있어서, 클라이언트가 수취한 Vclick AU를 순차적으로 취출하고, 이 스텝 이후의 처리를 실시한다. 새로운 Vclick AU가 없는 경우에는, 거기서 처리를 종료한다.
스텝 S8402에서는 처리대상의 Vclick AU의 object_id를 취출하고, 처리대상으로 되어 있는 특정의 object_id와 같은지 어떤지를 판정한다. 같은 경우에는 스텝 S8403에 있어서, 이 Vclick AU에 포함되는 오브젝트 영역 데이터(400)에 기술된 오브젝트 영역의 선두시각 TR을 취출하는 처리를 실시한다. object_id가 다른 경우에는, 스텝 S8401로 리턴한다.
스텝 S8404에서는, TR이 TL보다 큰지 어떤지를 판정한다. 여기서 TL은, 현재 처리하고 있는 Vclick AU의 직전에 처리한 동일 object_id를 갖는 Vclick AU의 오브젝트 영역 종료시각이다. TR이 TL보다 크면 결락한 Vclick AU는 없는 것으로 판단하고, 통상의 Vclick AU 복호처리(스텝 S8407)를 실시한다. 한편, TR이 TL 이하인 경우에는, 스텝 S8405로 처리를 진행시킨다.
스텝 S8405에서는, 변수 flag의 값을 조사해서 1이면 Vclick AU가 결락하고 있다고 판정하고, 스텝 S8406의 처리를 실시한다. flag의 값이 0이면, 결락한 Vclick AU는 없는 것으로 판단하고 스텝 S8407의 처리를 실시한다.
스텝 S8408는 변수의 갱신처리로서, 변수 flag에 Vclick AU의 continue_flag의 값을 대입하고, 또 이 Vclick AU에 기술된 오브젝트 영역의 종료시간을 TR에 대입하고서, 스텝 S8401로 리턴한다.
도 85는 스텝 S8406에서 행해지는 보간처리를 설명하는 도면이다. 여기에서는, 오브젝트 영역 데이터(400)로서 각 프레임에서의 오브젝트 영역이 다각형이나 타원으로 근사 표현되어 있는(예를 들면, MPEG-7의 시공간 기술자 SpatioTemporalLocator) 것이라고 가정한다. 도 85의 가로축은 시간, 세로축은 오브젝트 영역을 표현하는 다각형이 있는 정점의 X(또는 Y) 좌표값이다. 시각 TR보다 뒤의 범위 8500의 좌표값의 궤적은 현재 처리중의 Vclick AU에 기술되어 있고, 시각 TL보다 앞의 범위 8501의 좌표값의 궤적은 앞의 Vclick AU에 기술되어 있다. 시각 TL로부터 TR까지의 범위 8502의 좌표값의 궤적을 기술한 Vclick AU가 결락한 것 이 스텝 S8403까지의 처리로 판정되고 있다.
이 때, 스텝 S8404의 보간처리에서는, 시각 TL과 시각 TR에서의 좌표값을 선형으로 보간함으로써, 결락한 시각 TL로부터 TR까지의 범위의 좌표값을 생성한다. 다각형에는 복수의 정점이 있으므로, 각각의 정점의 X좌표, Y좌표에 대해 같은 처리를 실시하여, 최종적으로 결락하고 있던 시각 TL로부터 TR까지의 범위의 오브젝트 영역을 생성한다.
지금까지 continue_flag는, 그 Vclick AU에 기술된 오브젝트 영역과 동일한 object_id를 갖는 다음의 Vclick AU에 기술된 오브젝트 영역과는 시간적으로 연속하고 있는지 어떤지를 나타내는 플래그로서 정의되어 있었다. 그러나, 다음의 Vclick AU가 아니라 앞의 Vclick AU에 기술된 오브젝트 영역과의 시간적인 연속성을 나타내는 플래그라고 정의해도 같은 보간처리를 실시할 수가 있다.
이상의 처리에서는, 시간적으로 연속하는 오브젝트 영역을 기술한 복수의 Vclick AU 중, 도중의 Vclick AU가 결락한 때에 올바르게 결락 판정된다. 선두의 Vclick AU가 결락한 경우에는 보간처리는 할 수 없다. 또, 최후의 Vclick AU가 결락한 경우에는, 시간적으로 불연속인 오브젝트 영역이 뒤에 나오는 경우에 오브젝트가 없는 시간구간까지 보완해 버릴 가능성이 있다. 이러한 잘못된 보간을 피하기 위한 가장 간단한 방법은, 보간처리를 실시하는 시간간격에 상한을 마련하고, 그 상한 이상의 시간에 걸치는 보간은 실시하지 않도록 할 수 있다. 또 다른 방법은, continue_flag 하나뿐만 아니라, 도 86과 같이 continue_f_flag와 continue_b_flag와 같이 전후의 연속성을 나타내는 2개의 플래그를 포함한 Vclick AU헤더를 이용하는 방법이다.
continue_b_flag는, 이 Vclick AU에 기술된 오브젝트 영역과 동일한 object_id를 갖는 다음의 Vclick AU에 기술된 오브젝트 영역과는 시간적으로 연속하고 있는지 어떤지를 나타낸다. 연속이면 "1", 그렇지 않은 경우에는 "0"으로 된다. 한편, continue_f_flag는, 이 Vclick AU에 기술된 오브젝트 영역과 동일한 object_id를 갖는 이전의 Vclick AU에 기술된 오브젝트 영역과는 시간적으로 연속하고 있는지 어떤지를 나타낸다. 연속이면 "1", 그렇지 않은 경우에는 "0"으로 된다.
도 87은 continue_f_flag와 continue_b_flag를 이용해서 결락한 Vclick AU를 보간하는 처리예를 설명하는 흐름도이다. 도 84과의 차이는, 스텝 S8405가 스텝 S8700으로 치환된 것이다. 스텝 S8700에서는, 과거의 Vclick AU에 기술된 오브젝트 영역과의 연속성을 나타내는 continue_f_의 값도 고려해서 보간처리를 실시할지 말지를 결정한다.
(텍스트의 압축)
지금까지 설명한 Vclick AU의 데이터에는, 몇개의 텍스트 데이터가 포함되어 있다. 텍스트를 그대로 문자코드로서 데이터화하는 것은, 데이터 사이즈가 커진다고 하는 의미에서 비효율적이다. 그래서, 기술되는 텍스트가 많은 경우에는, 텍스트 데이터만을 압축하여 Vclick AU에 격납하는 편이 좋다. 도 88, 도 89, 도 90은 각각 텍스트 데이터를 압축가능한 오브젝트의 이름 속성, 오브젝트의 동작 속성, 오브젝트의 텍스트 정보의 데이터 구조예이다.
도 88의 오브젝트의 이름 속성의 데이터 구조에서는, 도 19의 데이터 구조에 더해 name_compression 데이터가 있다. 이 데이터는 뒤에 계속되는 오브젝트의 이름 데이터가 압축되어 있는지 비압축인지를 특정하고, 압축되어 있는 경우에는 그 압축방식도 특정한다. 압축되어 있는 경우, name_length는 압축된 텍스트의 데이터 사이즈를 나타내고, 압축된 텍스트 데이터는 name에 격납된다. annotation에 대해서도 마찬가지로, annotation_compression이 annotaion 데이터가 비압축인지 압축되어 있는지를 특정하고, 압축의 경우는 압축방식도 특정한다. annotation_length는 annotation의 데이터 사이즈를 특정한다.
도 89의 오브젝트의 동작 속성의 데이터 구조는, 도 20의 데이터 구조와 비교하면 script_compression 데이터가 부가되어 있다. script_compression은 script 데이터가 비압축인지 압축되어 있는지를 특정하고, 압축의 경우는 압축방식도 특정한다. script_length는 script의 데이터 사이즈를 특정한다.
도 90의 오브젝트의 텍스트 정보의 데이터 구조는, 도 25의 데이터 구조에 text_compression 데이터가 부가되어 있다. text_compression은 텍스트 데이터가 비압축인지 압축되어 있는지를 특정하고, 압축의 경우는 압축방식도 특정한다. text_length는 스크립트의 데이터 사이즈를 특정한다.

Claims (10)

  1. 동화상중의 오브젝트의 시공간영역을 기술한 제1 데이터와, 다른 적어도 2개의 억세스 유니트에서의 오브젝트 영역 데이터에 의해 각각 지시되는 동화상중의 오브젝트가 의미적으로 동일한지 어떤지를 특정하는 제2 데이터를 갖는, 독립해서 처리가능한 데이터 단위인 억세스 유니트를 2 이상 포함하여 구성된 것을 특징으로 하는 메타데이터 스트림의 데이터 구조.
  2. 청구항 1 기재의 메타데이터 스트림을 이용해서 오브젝트의 검색을 실시하는 방법에 있어서,
    상기 메타데이터 스트림으로부터 상기 제2 데이터에 의해 동일 오브젝트라고 판정된 복수의 억세스 유니트를 추출하는 스텝과,
    추출된 복수의 억세스 유니트 중 하나를 선택하는 스텝 및,
    선택된 억세스 유니트를 이용해서 상기 검색을 실시하는 스텝을 구비하여 이루어진 것을 특징으로 하는 검색방법.
  3. 청구항 1 기재의 메타데이터 스트림의 데이터 구조에 있어서, 상기 억세스 유니트의 각각이, 상기 적어도 2개의 억세스 유니트에서의 오브젝트 영역 데이터에 의해 각각 지시되는 동화상중의 오브젝트가 의미적으로 동일한 경우에, 상기 적어도 2개의 억세스 유니트에서의 상기 오브젝트 영역 데이터가 상기 동화상중의 동일 장면의 데이터인지 어떤지를 특정하는 제3 데이터를 더 갖는 것을 특징으로 하는 메타데이터 스트림의 데이터 구조.
  4. 청구항 3 기재의 메타데이터 스트림을 이용해서 오브젝트의 검색을 실시하는 방법에 있어서,
    상기 메타데이터 스트림으로부터 상기 제2 데이터에 의해 동일 오브젝트라고 판정되고 또한 상기 제3 데이터에 의해 동일 장면이라고 판정된 복수의 억세스 유니트를 추출하는 스텝과,
    추출된 복수의 억세스 유니트 중 하나를 선택하는 스텝 및,
    선택된 억세스 유니트를 이용해서 상기 검색을 실시하는 스텝을 구비하여 이루어진 것을 특징으 로하는 검색방법.
  5. 청구항 1 기재의 메타데이터 스트림의 데이터 구조에 있어서, 제1 및 제2 억세스 유니트를 포함하는 상기 억세스 유니트의 각각이, 제1 억세스 유니트에서의 상기 오브젝트 영역 데이터와 상기 동화상의 시간축상에서 연속이고, 또한 상기 제1 억세스 유니트에서의 상기 제3 데이터에 의해 의미적으로 동일한 오브젝트를 지 시하는 것이 특정되어 있는 제1 데이터를 갖는 제2 억세스 유니트가 상기 메타데이터 스트림에 포함되어 있는지 어떤지를 특정하는 제4 데이터를 더 갖는 것을 특징으로 하는 메타데이터 스트림의 데이터 구조.
  6. 청구항 5 기재의 메타데이터 스트림을 재생하는 방법에 있어서,
    상기 제1 억세스 유니트에서의 상기 제2 데이터 및 상기 제4 데이터를 이용해서 그 제1 억세스 유니트의 전후 몇개의 제2 억세스 유니트의 결락이 생기고 있는지 어떤지를 판정하는 스텝과,
    상기 제2 억세스 유니트의 결락이 생긴 경우에 그 제2 억세스 유니트의 전후의 상기 제1 억세스 유니트 및 제3 억세스 유니트로부터, 그 제2 억세스 유니트중의 제1 데이터에 의해 특정되는 오브젝트의 시공간영역을 보간하는 스텝을 구비하여 이루어진 것을 특징으로 하는 메타데이터 스트림의 재생방법.
  7. 동화상중의 오브젝트의 시공간영역을 기술한 제1 데이터와,
    다른 적어도 2개의 억세스 유니트에서의 오브젝트 영역 데이터에 의해 각각 지시되는 동화상중의 오브젝트가 의미적으로 동일한지 어떤지를 특정하는 제2 데이터,
    텍스트 데이터 및,
    그 텍스트 데이터가 압축되어 있는지 비압축인지를 나타내는 제3 데이터를 갖는, 독립해서 처리가능한 데이터 단위인 억세스 유니트를 1 이상 포함하여 구성된 것을 특징으로 하는 메타데이터 스트림의 데이터 구조.
  8. 동화상의 시간축에 대해 정의되는 유효기간을 특정하는 제1 데이터와,
    상기 동화상중의 오브젝트의 시공간영역을 기술한 오브젝트 영역 데이터와 상기 시공간영역에 관련한 표시방법을 특정하는 데이터 및 상기 시공간영역이 지정된 때에 실시하는 처리를 특정하는 데이터 중 적어도 하나를 포함한 제2 데이터,
    텍스트 데이터 및,
    그 텍스트 데이터가 압축되어 있는지 비압축인지를 나타내는 제3 데이터를 갖는, 독립해서 처리가능한 데이터 단위인 억세스 유니트를 1 이상 포함하여 구성된 것을 특징으로 하는 메타데이터 스트림의 데이터 구조.
  9. 청구항 1, 7 또는 8 기재의 데이터 구조에 채용할 수 있도록 구성된 정보매체.
  10. 청구항 1, 7 또는 8 기재의 데이터 구조를 처리하도록 구성된 데이터 처리엔 진을 갖춘 장치.
KR1020067001382A 2004-05-20 2005-05-20 동화상 중의 오브젝트에 관한 메타데이터 스트림의 데이터구조, 검색방법 및 재생방법 KR20060040703A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2004-00150963 2004-05-20
JP2004150963A JP2005332274A (ja) 2004-05-20 2004-05-20 動画像中のオブジェクトに関するメタデータストリームのデータ構造、検索方法及び再生方法

Publications (1)

Publication Number Publication Date
KR20060040703A true KR20060040703A (ko) 2006-05-10

Family

ID=35428556

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067001382A KR20060040703A (ko) 2004-05-20 2005-05-20 동화상 중의 오브젝트에 관한 메타데이터 스트림의 데이터구조, 검색방법 및 재생방법

Country Status (11)

Country Link
US (1) US20060153537A1 (ko)
EP (1) EP1763791A1 (ko)
JP (1) JP2005332274A (ko)
KR (1) KR20060040703A (ko)
CN (1) CN100440216C (ko)
AU (1) AU2005246159B2 (ko)
BR (1) BRPI0505975A (ko)
CA (1) CA2533391A1 (ko)
MX (1) MXPA06000728A (ko)
NO (1) NO20060280L (ko)
WO (1) WO2005114473A1 (ko)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716358B2 (en) 2000-09-12 2010-05-11 Wag Acquisition, Llc Streaming media buffering system
US6766376B2 (en) 2000-09-12 2004-07-20 Sn Acquisition, L.L.C Streaming media buffering system
US8595372B2 (en) 2000-09-12 2013-11-26 Wag Acquisition, Llc Streaming media buffering system
US8422865B2 (en) * 2006-10-06 2013-04-16 Via Technologies, Inc. DVD navigation systems and computer-implemented methods with check functions
JP4905103B2 (ja) * 2006-12-12 2012-03-28 株式会社日立製作所 動画再生装置
KR100961444B1 (ko) * 2007-04-23 2010-06-09 한국전자통신연구원 멀티미디어 콘텐츠를 검색하는 방법 및 장치
KR101439841B1 (ko) * 2007-05-23 2014-09-17 삼성전자주식회사 컨텐츠 데이터에 대한 부가 데이터의 검색 방법과 그 장치
JP5426843B2 (ja) * 2008-06-25 2014-02-26 キヤノン株式会社 情報処理装置、情報処理方法、プログラムおよびプログラムを格納する記憶媒体
EP2161667A1 (en) * 2008-09-08 2010-03-10 Thomson Licensing, Inc. Method and device for encoding elements
US8578272B2 (en) 2008-12-31 2013-11-05 Apple Inc. Real-time or near real-time streaming
US8156089B2 (en) 2008-12-31 2012-04-10 Apple, Inc. Real-time or near real-time streaming with compressed playlists
US8260877B2 (en) * 2008-12-31 2012-09-04 Apple Inc. Variant streams for real-time or near real-time streaming to provide failover protection
US8099476B2 (en) * 2008-12-31 2012-01-17 Apple Inc. Updatable real-time or near real-time streaming
US9190110B2 (en) 2009-05-12 2015-11-17 JBF Interlude 2009 LTD System and method for assembling a recorded composition
US11232458B2 (en) 2010-02-17 2022-01-25 JBF Interlude 2009 LTD System and method for data mining within interactive multimedia
GB201105502D0 (en) 2010-04-01 2011-05-18 Apple Inc Real time or near real time streaming
US8805963B2 (en) 2010-04-01 2014-08-12 Apple Inc. Real-time or near real-time streaming
US8560642B2 (en) 2010-04-01 2013-10-15 Apple Inc. Real-time or near real-time streaming
US8892691B2 (en) 2010-04-07 2014-11-18 Apple Inc. Real-time or near real-time streaming
TW201207642A (en) * 2010-08-09 2012-02-16 Hon Hai Prec Ind Co Ltd System and method for searching information of images
TW201207754A (en) * 2010-08-09 2012-02-16 Hon Hai Prec Ind Co Ltd System and method for importing information of images
US8843586B2 (en) 2011-06-03 2014-09-23 Apple Inc. Playlists for real-time or near real-time streaming
US8856283B2 (en) 2011-06-03 2014-10-07 Apple Inc. Playlists for real-time or near real-time streaming
CA2843766A1 (en) 2011-08-16 2013-02-21 Destiny Software Productions Inc. Script-based video rendering
US20150109457A1 (en) * 2012-10-04 2015-04-23 Jigabot, Llc Multiple means of framing a subject
US9653115B2 (en) 2014-04-10 2017-05-16 JBF Interlude 2009 LTD Systems and methods for creating linear video from branched video
US9792957B2 (en) 2014-10-08 2017-10-17 JBF Interlude 2009 LTD Systems and methods for dynamic video bookmarking
US11412276B2 (en) 2014-10-10 2022-08-09 JBF Interlude 2009 LTD Systems and methods for parallel track transitions
US20170017382A1 (en) * 2015-07-15 2017-01-19 Cinematique LLC System and method for interaction between touch points on a graphical display
US10460765B2 (en) * 2015-08-26 2019-10-29 JBF Interlude 2009 LTD Systems and methods for adaptive and responsive video
US11128853B2 (en) 2015-12-22 2021-09-21 JBF Interlude 2009 LTD Seamless transitions in large-scale video
US11164548B2 (en) 2015-12-22 2021-11-02 JBF Interlude 2009 LTD Intelligent buffering of large-scale video
US11856271B2 (en) 2016-04-12 2023-12-26 JBF Interlude 2009 LTD Symbiotic interactive video
US11050809B2 (en) 2016-12-30 2021-06-29 JBF Interlude 2009 LTD Systems and methods for dynamic weighting of branched video paths
US10257578B1 (en) 2018-01-05 2019-04-09 JBF Interlude 2009 LTD Dynamic library display for interactive videos
US11601721B2 (en) 2018-06-04 2023-03-07 JBF Interlude 2009 LTD Interactive video dynamic adaptation and user profiling
US20200296316A1 (en) 2019-03-11 2020-09-17 Quibi Holdings, LLC Media content presentation
US20200296462A1 (en) 2019-03-11 2020-09-17 Wci One, Llc Media content presentation
US11490047B2 (en) 2019-10-02 2022-11-01 JBF Interlude 2009 LTD Systems and methods for dynamically adjusting video aspect ratios
US11245961B2 (en) 2020-02-18 2022-02-08 JBF Interlude 2009 LTD System and methods for detecting anomalous activities for interactive videos
CN112417208A (zh) * 2020-11-20 2021-02-26 百度在线网络技术(北京)有限公司 目标搜索方法、装置、电子设备和计算机可读存储介质
US11882337B2 (en) 2021-05-28 2024-01-23 JBF Interlude 2009 LTD Automated platform for generating interactive videos
US11934477B2 (en) 2021-09-24 2024-03-19 JBF Interlude 2009 LTD Video player integration within websites

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3302035B2 (ja) * 1991-12-26 2002-07-15 オリンパス光学工業株式会社 カメラ
US6195497B1 (en) * 1993-10-25 2001-02-27 Hitachi, Ltd. Associated image retrieving apparatus and method
CA2168641C (en) * 1995-02-03 2000-03-28 Tetsuya Kitamura Image information encoding/decoding system
WO2000045593A1 (fr) * 1999-01-26 2000-08-03 Sony Corporation Procede d'emission et procede de reception d'informations de type images, dispositif d'emission et dispositif de reception, procede d'emission/reception et systeme d'emission/reception, et support d'enregistrement d'informations
JP3971346B2 (ja) * 2002-06-24 2007-09-05 株式会社東芝 動画像再生装置、スケジュール・データ、動画像再生方法、及びプログラム
JP2004054435A (ja) * 2002-07-17 2004-02-19 Toshiba Corp ハイパーメディア情報提示方法、ハイパーメディア情報提示プログラムおよびハイパーメディア情報提示装置
JP2004120440A (ja) * 2002-09-26 2004-04-15 Toshiba Corp サーバー装置及びクライアント装置
JP2005285209A (ja) * 2004-03-29 2005-10-13 Toshiba Corp 動画像のメタデータ
JP4304108B2 (ja) * 2004-03-31 2009-07-29 株式会社東芝 メタデータ配信装置、動画再生装置および動画再生システム
JP2005318471A (ja) * 2004-04-30 2005-11-10 Toshiba Corp 動画像のメタデータ
JP2005318472A (ja) * 2004-04-30 2005-11-10 Toshiba Corp 動画像のメタデータ
JP2005318473A (ja) * 2004-04-30 2005-11-10 Toshiba Corp 動画像のメタデータ

Also Published As

Publication number Publication date
EP1763791A1 (en) 2007-03-21
BRPI0505975A (pt) 2006-10-24
CA2533391A1 (en) 2005-12-01
AU2005246159B2 (en) 2007-02-15
CN1820269A (zh) 2006-08-16
US20060153537A1 (en) 2006-07-13
MXPA06000728A (es) 2006-05-04
JP2005332274A (ja) 2005-12-02
CN100440216C (zh) 2008-12-03
AU2005246159A1 (en) 2005-12-01
WO2005114473A1 (en) 2005-12-01
NO20060280L (no) 2007-02-19

Similar Documents

Publication Publication Date Title
AU2005246159B2 (en) Data structure of meta data stream on object in moving picture, and search method and playback method therefore
KR100676433B1 (ko) 동화상의 메타 데이터
KR100679003B1 (ko) 동화상의 메타 데이터
US7461082B2 (en) Data structure of metadata and reproduction method of the same
US20050289183A1 (en) Data structure of metadata and reproduction method of the same
US7502799B2 (en) Structure of metadata and reproduction apparatus and method of the same
KR100676432B1 (ko) 동화상의 메타 데이터
JP2005285209A (ja) 動画像のメタデータ
JP2006099671A (ja) 動画像のメタデータの検索テーブル
JP4008951B2 (ja) メタデータストリームを再生するための装置及びプログラム
US20060053150A1 (en) Data structure of metadata relevant to moving image
US7555494B2 (en) Reproducing a moving image in a media stream
JP2006005682A (ja) 動画像のメタデータのデータ構造及びその再生方法
US20060080337A1 (en) Data structure of metadata, reproduction apparatus of the metadata and reproduction method of the same
JP4133982B2 (ja) メタデータと動画像の再生装置
US20060085479A1 (en) Structure of metadata and processing method of the metadata
JP2006041844A (ja) メタデータのデータ構造及びそのメタデータの処理方法
JP2006080918A (ja) メタデータのデータ構造及びメタデータの再生装置と方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B601 Maintenance of original decision after re-examination before a trial
E801 Decision on dismissal of amendment
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20071008

Effective date: 20080507