KR20100121574A - 재생장치, 기록장치, 재생방법 및 기록방법 - Google Patents

재생장치, 기록장치, 재생방법 및 기록방법 Download PDF

Info

Publication number
KR20100121574A
KR20100121574A KR1020097016807A KR20097016807A KR20100121574A KR 20100121574 A KR20100121574 A KR 20100121574A KR 1020097016807 A KR1020097016807 A KR 1020097016807A KR 20097016807 A KR20097016807 A KR 20097016807A KR 20100121574 A KR20100121574 A KR 20100121574A
Authority
KR
South Korea
Prior art keywords
stream
playitem
sub
playback
current
Prior art date
Application number
KR1020097016807A
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 KR20100121574A publication Critical patent/KR20100121574A/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/87Regeneration of colour television signals
    • H04N9/8715Regeneration of colour television signals involving the mixing of the reproduced video signal with a non-recorded signal, e.g. a text signal
    • 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
    • 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 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00855Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a step of exchanging information with a remote server
    • G11B20/00869Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a step of exchanging information with a remote server wherein the remote server can deliver the content to a receiving device
    • 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/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/213Read-only discs
    • 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/2541Blu-ray discs; Blue laser DVR discs
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • 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/782Television signal recording using magnetic recording on tape
    • H04N5/783Adaptations for reproducing at a rate different from the recording rate
    • 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
    • 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
    • H04N9/8047Transformation 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 using transform coding
    • 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
    • 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)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

재생장치는 플레이리스트를 재생한다. 현재 플레이아이템이 변화할 때마다 현재 플레이아이템에 있어서 최적의 서브 스트림을 현재 서브 스트림으로서 결정한다. 이 선택 시에 현재 서브 플레이아이템을 특정한다.
현재 서브 플레이아이템에 의해서 참조되어 있는 클립 파일이 다운로드가 완료되어, 로컬 스토리지에서 Enable 상태로 되어 있으면 플레이아이템의 재생을 진행하나, 현재 서브 플레이아이템에 의해서 참조되어 있는 클립 파일이 기록매체에서 Missing 상태로 되어 있거나 또는 무효상태로 되어 있으면 DataStarved 이벤트를 출력함으로써 플레이아이템의 재생을 정지한다.
현재, 플레이아이템, 최적, 서브, 스트림, 다운로드, 재생, 정지

Description

재생장치, 기록장치, 재생방법 및 기록방법{PLAYBACK DEVICE, RECORDING DEVICE, PLAYBACK METHOD, AND RECORDING METHOD}
본 발명은 플레이리스트 재생기술의 기술분야에 속하는 발명이다.
플레이리스트는 논리적인 재생경로를 정의하기 위한 정보이며, 콘텐츠 저장을 위한 다양한 애플리케이션 포맷에서는 이 플레이리스트가 하나의 정해진 재생단위가 된다. 일반적으로 플레이리스트는 플레이아이템 및 서브 플레이아이템으로 구성된다. 플레이아이템은 주가 되는 동화상을 구성하는 비디오 스트림의 시간 축에서 인 점(in point) 및 아웃 점(out point)의 세트를 지정함으로써 정의되는 논리적인 재생구간이다.
서브 플레이아이템은 서브 스트림의 시간 축에서 인 점 및 아웃 점의 세트를 지정함으로써 정의되는 논리적인 재생구간이다. 여기서, 서브 스트림은 비디오 스트림과는 다중화되어 있지 않으나 비디오 스트림과 함께 재생되는 오디오 스트림, 자막 스트림, 비디오 스트림을 말한다.
ROM 디스크의 기록내용과 다른 기록매체의 기록내용을 조합하여 가상패키지를 구축하는 경우, 네트워크를 통해서 다운로드 되는 서브 스트림의 재생구간을 서브 플레이아이템에 의해서 정의할 수 있다. 여기서, 플레이리스트에서의 플레이아 이템에서 ROM 디스크에 기록되어 있는 AV 스트림의 재생구간을 정의하고, 플레이리스트에서의 서브 플레이아이템에서 다운로드 될 서브 스트림의 재생구간을 정의함으로써, 당해 플레이리스트는 광 디스크에는 없는 새로운 자막·음성과 동화상과의 조합을 실현할 수 있다.
이 가상적인 패키지를 생성하는 기술의 선행기술로는 이하의 특허문헌 1에 기재된 것이 있다.
특허문헌 1 : 일본국 특개 2006-109494호 공보
그런데 ROM 디스크로부터의 판독에는 54Mbps라는 비트 레이트를 확보할 수 있다. 그러나 일반적인 사용자의 가정 내에서는 스트리밍 재생 시에 보장되는 비트 레이트가 베스트 에포트(best effort)인 경우가 많아서 ROM 디스크로부터의 스트림 재생과 같이 항상 일정한 높이의 비트 레이트를 확보할 수 없다.
스트리밍 재생을 위한 비트 레이트가 제약되어 있는 상황 하에서 많은 서브 플레이아이템을 포함하고 있는 플레이리스트를 재생하려고 하는 경우를 생각한다.
예를 들어, 본편 영상의 특정한 신(scene)에서 어떤 플레이아이템에는 10개의 서브 플레이아이템이 부속되어 있고, 이들 서브 플레이아이템이 옵션으로 취급되는 10개국의 언어를 지원(support)하고 있는 케이스를 상정한다. 그리고 각각의 서브 플레이아이템에 의해서 참조되어 있는 클립 파일이 10M 바이트의 데이터 사이즈를 갖는 것이라고 하면, 1개의 플레이아이템의 재생을 개시하기 위해서는 본편인 플레이아이템에 의해서 참조되어 있는 AV 클립과는 별개로 "10개국의 언어×10M 바이트 = 100M 바이트"의 파일의 다운로드가 완료되어야 한다. 이 경우, 클립 파일의 다운로드를 담당하는 애플리케이션이 10개의 서브 플레이아이템에 의해서 참조되어 있는 합계 100M 바이트의 클립 파일의 다운로드를 먼저 하고, 플레이아이템에 의해서 참조되어 있는 클립 파일의 다운로드를 뒤로 미루면, 비트 레이트가 제한되어 있는 상황 하에서는 플레이아이템에 의해서 참조되어 있는 클립 파일의 공급이 늦어져서 재생의 진행이 지연될 우려가 있다.
이것을 피하기 위해서, 메인패스에 의해서 참조되어 있는 클립 파일의 다운로드를 먼저 하고, 서브 플레이아이템에 의해서 참조되어 있는 클립 파일의 다운로드를 뒤로 미루면, 사용자가 서브 플레이아이템에 의해 참조되어 있는 클립 파일 내의 엘리멘터리 스트림을 재생 대상으로 선택하고 있는 경우에는 재생 대상이 되는 엘리멘터리 스트림을 디코더에 공급할 수가 없으며, 자막, 음성, 동화상 중 어느 하나가 누락된 채로 재생이 진행될 우려가 있다.
이와 같이 많은 서브 플레이아이템이 존재하고 있어서 다운로드해야 할 클립 파일이 많아지면 이들 중 어느 것을 우선해서 다운로드를 해야 하는가라는 지침을 애플리케이션에 부여할 수 없게 되므로, 비트 레이트가 제한되어 있는 상황 하에서는 재생의 끊어짐이 현저해지거나, 자막, 음성, 동화상 중 어느 하나가 누락된 채로 재생이 진행될 우려가 있다.
또한, 사용자는 ROM 디스크로부터의 스트림 판독인지 네트워크로부터의 스트림 공급인지를 의식하고 있지 않으므로, 재생내용의 일부가 누락된 경우에는 재생장치가 고장인 것으로 착각하여 제조업자의 상담창구에 상품의 불만을 호소할 가능성이 있다. 서브 플레이아이템을 구성하는 클립 파일의 다운로드 절차는 재생장치에서의 내장 프로그램이 아니라 영화작품의 제작자가 작성한 애플리케이션 프로그램에 의해서 이루어지는 것이 일반적이다. 영화작품의 제작자가 작성한 애플리케이션 프로그램이 때때로 서브 플레이아이템을 구성하는 클립 파일의 다운로드를 우선하였으므로 제조업자가 상술한 것과 같은 불만에 말려드는 것은 제조업자에게 있어서는 바람직한 일은 아니다.
본 발명의 목적은 많은 서브 플레이아이템이 존재하고 있어서 다운로드해야할 클립 파일이 많이 존재하는 경우에, 이들 중 어느 것을 우선해서 다운로드해야 하는가라는 지침을 애플리케이션에 부여할 수 있는 재생장치를 제공하는 것이다.
상기 과제를 해결하기 위해서 본 발명의 재생장치는, 플레이리스트를 재생하는 재생장치로, 플레이리스트는 복수의 플레이아이템과 복수의 서브 플레이아이템을 포함하고, 상기 플레이아이템은 메인 스트림을 포함하는 클립 파일과 당해 클립 파일에서의 재생구간을 규정하는 정보이고, 상기 서브 플레이아이템은 서브 스트림을 포함하는 클립 파일과 당해 클립 파일에서의 재생구간을 플레이아이템과 동기할 재생구간으로서 규정하는 정보이며, 상기 서브 플레이아이템이 참조하는 클립 파일은 전송로를 통해서 전송되는 클립 파일이고, 서브 스트림은 플레이아이템이 참조하고 있는 클립 파일과는 다중화되어 있지 않으며, 플레이리스트에 포함되는 플레이아이템을 재생하는 재생수단과, 복수의 플레이아이템 중 재생대상으로 되어 있는 것을 현재 플레이아이템으로 특정하는 특정수단과, 현재 플레이아이템이 변화할 때마다 현재 플레이아이템에 있어서 최적인 서브 플레이아이템을 현재 서브 플레이아이템으로 결정하는 결정수단과, 상기 현재 플레이아이템과 동기하여 재생할 현재 서브 스트림을 가리키는 서브 스트림 레지스터를 구비하며, 상기 현재 서브 플레이아이템은 현재 플레이아이템과 동기할 재생구간을 규정하는 서브 플레이아이템으로서, 상기 서브 스트림 레지스터가 가리키는 서브 스트림의 재생구간을 규정하는 것이며, 상기 재생수단은 재생장치가 액세스 가능한 기록매체에 현재 서브 플레이아이템에 의해서 참조되어 있는 클립 파일이 존재하면 플레이아이템의 재생을 진행하고, 현재 서브 플레이아이템에 의해서 참조되어 있는 클립 파일이 기록매체에 존재하지 않거나 또는 인식불능인 상태로 되어 있으면 플레이아이템의 재생을 정지하는 것을 특징으로 한다.
상기 재생장치에 의하면, 현재 서브 플레이아이템에 의해서 참조되어 있는 클립 파일로서 현재 서브 스트림을 포함하는 것이 기록매체에 존재하지 않는 경우에는 일률적으로 재생이 정지되게 된다.
다시 말해, 현재 서브 플레이아이템 정보에 의해서 참조되어 있는 클립 파일로서 현재 서브 스트림을 포함하는 것만 기록매체에 구비되어 있으면 재생의 진행을 계속할 수 있으므로, 우선적으로 다운로드해야 할 클립 파일은 메인 스트림을 포함하는 클립 파일 및 현재 서브 플레이아이템 정보에 의해서 참조되어 있는 클립 파일로서 현재 서브 스트림을 포함하는 클립 파일이 된다.
따라서, 애플리케이션이 이들 클립 파일을 우선적으로 다운로드 하고, 다른 서브 플레이아이템에서 참조되는 클립 파일의 다운로드를 뒤로 미루면, ROM 디스크와 비교하여 충분한 비트 레이트를 확보할 수 없게 되더라도 서브 플레이아이템을 많이 포함하는 플레이리스트의 재생을 계속할 수 있다.
서브 플레이아이템이 많이 존재한다고 하더라도 이들 중 현재 서브 플레이아이템 정보에 의해서 참조되어 있는 클립 파일로서 현재 서브 스트림을 포함하는 것만 구비되어 있으면 재생을 계속할 수 있으므로, 무엇을 우선으로 해서 다운로드해야하는가 라고 하는 지침을 애플리케이션에 부여할 수 있다. 따라서, 애플리케이션은 "어떤 플레이아이템의 재생이 이루어지고 있는 기간에, 다음에 현재 서브 플레이아이템 정보가 돼어야 할 서브 플레이아이템에 의해서 참조되어 있는 클립 파일을 다운로드 한다"고하는 룰로 다운로드를 하면, 비록 서브 플레이아이템이 많이 존재해서 비트 레이트가 제한되어 있다고 하더라도 재생을 계속하게 할 수 있다. 다운로드를 해야 할 클립 파일의 우선순서를 관리할 수 있으므로 자막, 음성, 동화상 중 어느 하나가 누락된 채로 재생이 진행할 우려가 없어지며, 또, 스트림 공급이 지연됨에 따른 재생진행의 끊어짐을 최소한으로 막을 수 있다.
더 상세하게 설명하면, 상기 룰에 의해 다운로드를 하는 경우, 클립 파일의 다운로드에 필요한 비트 레이트 B는 아래의 계산으로 나타내게 된다.
비트 레이트 B = (넥스트 플레이아이템에 대응하는 클립 파일의 데이터 사이즈 + 넥스트 서브 플레이아이템에 대응하는 클립 파일의 데이터 사이즈) / 현재 플레이아이템의 재생시간
여기서, 「넥스트 플레이아이템」은 플레이아이템의 다음에 재생될 플레이아이템이고, 「넥스트 서브 플레이아이템」은 현재 서브 플레이아이템 정보의 다음에 재생될 서브 플레이아이템을 규정하는 서브 플레이아이템이다.
다운로드에 필요로 하는 비트 레이트는 상술한 것과 같은 값으로 충분하므로, 비트 레이트가 제한되어 있어도 재생의 중단을 필요 최저한으로 할 수 있다.
또, 현재 서브 플레이아이템 정보에 의해서 참조되는 클립 파일이 인식할 수 없는 상태이면 재생진행을 정지시킨다고 하는 처리를 하면, ROM 디스크로부터의 스트림 공급인가 다운로드에 의한 스트림 공급인가를 사용자에게 인식시키는 일은 없어진다. 서브 플레이아이템에 의한 재생이 누락된 상황에서 재생 내용이 어떻게 되는지를 검증할 필요가 없어지며, 편집 시의 부담도 경감한다.
재생장치는 재생에 필요 최저한의 클립 파일의 다운로드만을 다운로드하여 재생할 수 있으므로 사용자는 불필요하게 클립 파일의 다운로드를 기다릴 필요가 없이 플레이리스트의 재생을 계속할 수 있다.
도 1은 재생장치(101)의 사용행위에 대한 형태의 일 예를 나타내는 도면이다.
도 2는 플레이리스트의 일 예를 나타내는 도면이다.
도 3은 동작 예의 제재가 되는 플레이리스트의 일 예를 나타내는 도면이다.
도 4는 도 3에 나타낸 플레이리스트가 어떻게 해서 재생되는지를 나타낸다.
도 5는 재생장치(101)의 구성의 일 예를 나타내는 도면이다.
도 6은 시스템 파라미터(SPRM)의 일람이다.
도 7은 스트리밍 라이크 재생기능을 모식적으로 나타내는 도면이다.
도 8은 서브 플레이아이템을 수반한 경우의 스트리밍 라이크 재생진행의 일 예를 나타내는 도면이다.
도 9는 재생위치가 플레이아이템 #2에 도달하려고 하는 상태의 일 예를 나타내는 도면이다.
도 10은 자막절환이 사용자에 의해서 요구되었으므로 현재의 재생시점이 서브패스(ID=#0)의 10003.m2ts를 참조하고 있는 서브 플레이아이템 #3에서 서브패스(ID=#1)의 20003.m2ts를 참조하고 있는 서브 플레이아이템 #3으로 변화한 경우를 상정한 도면이다.
도 11은 챕터 점프(chapter jump)가 있었으므로 플레이아이템 #3이 현재 플레이아이템이 되고, 서브 플레이아이템 #3이 현재 서브 플레이아이템 정보가 된 것을 상정한 도면이다.
도 12는 BD-J 애플리케이션의 처리순서를 나타내는 플로차트이다.
도 13은 AV 클립 다운로드의 처리순서를 나타내는 플로차트이다.
도 14는 플레이리스트 재생처리의 처리순서를 나타내는 플로차트이다.
도 15는 현재 서브 플레이아이템의 결정순서를 나타내는 플로차트이다.
도 16은 프로그레시브 속성 AV 클립제어의 처리순서를 나타내는 플로차트이다.
도 17은 재생정지 리커버리 처리의 처리순서를 나타내는 플로차트이다.
도 18은 현재 플레이아이템이 플레이아이템 #1이고, 현재 서브 플레이아이템 정보가 서브패스(ID=1)의 서브 플레이아이템 #1인 경우에 다운로드를 요구할 클립 파일을 나타낸다.
도 19는 현재 플레이아이템이 플레이아이템 #2이고, 현재 서브 플레이아이템 정보가 서브패스(ID=1)의 서브 플레이아이템 #2인 경우에 다운로드를 요구할 클립 파일을 나타낸다.
도 20은 현재 플레이아이템이 플레이아이템 #3이고, 현재 서브 플레이아이템 정보가 서브패스(ID=1)의 서브 플레이아이템 #3인 경우에 다운로드를 요구할 클립 파일을 나타낸다.
도 21은 AV 클립의 구성의 일 예를 나타내는 도면이다.
도 22는 AV 클립이 어떻게 다중화되는지를 모식적으로 나타내는 도면이다.
도 23은 PES 패킷 열에 비디오 스트림이 어떻게 저장되는지를 더 상세하게 나타내고 있다.
도 24는 AV 클립에 최종적으로 기록되는 TS패킷의 형식을 나타내는 도면이다.
도 25는 PMT의 데이터 구조를 상세하게 설명하는 도면이다.
도 26은 클립정보 파일의 일 예를 나타내는 도면이다.
도 27은 스트림 속성정보의 일 예를 나타내는 도면이다.
도 28은 엔트리 맵의 일 예를 나타내는 도면이다.
도 29는 시스템 타깃 디코더(13)의 내부 구성의 일 예를 나타내는 도면이다.
도 30은 플레이리스트 정보의 데이터 구조의 일 예를 나타내는 도면이다.
도 31은 서브패스 정보의 내부 구성을 클로즈업하여 나타내는 도면이다.
도 32는 STN_table의 전체 구성의 일 예를 나타내는 도면이다.
도 33은 도 32에 나타낸 STN_table의 전체 구성 중 세컨더리 비디오 스트림에 대한 stream_entry의 일 예를 나타내는 도면이다.
도 34(a)는 프라이머리 비디오 스트림에서의 Stream_entry 및 Stream_attribute의 일 예를 나타내는 도면이다.
도 34(b)는 세컨더리 비디오 스트림에서의 Stream_entry를 나타낸다.
도 35(a)는 PSR14의 비트 할당(bit assignment)의 일 예를 나타내는 도면이다.
도 35(b)는 PSR29의 비트 할당의 일 예를 나타내는 도면이다.
도 36은 재생제어엔진의 내부 구성의 일 예를 나타내는 도면이다.
도 37은 현재 세컨더리 비디오 스트림을 결정하기 위한 처리순서를 나타내는 플로차트이다.
도 38은 현재 플레이아이템에 대해 최적의 현재 세컨더리 비디오 스트림을 결정하는 처리순서를 나타내는 플로차트이다.
도 39는 순차형(sequential-type) 스테레오 고글의 일 예를 나타내는 도면이다.
도 40은 입체시를 위한 프라이머리 비디오 스트림, 세컨더리 비디오 스트림의 내부 구성의 일 예를 나타내는 도면이다.
도 41은 시스템 타깃 디코더(13)의 내부 구성의 일 예를 나타내는 도면이다.
도 42는 Primary_audio_stream_entry, Secondary_audio_stream_entry의 내부 구성과, Comb_info_Secondary_video_Secondary_audio의 내부 구성의 일 예를 나타 내는 도면이다.
도 43(a)은 PSR1의 비트 할당의 일 예를 나타내는 도면이다.
도 43(b)은 PER14의 비트 할당의 일 예를 나타내는 도면이다.
도 44는 현재 플레이아이템 변화시에서의 현재 프라이머리 오디오 스트림 결정순서를 나타내는 플로차트이다.
도 45는 세컨더리 오디오 스트림의 스트림 선택 프로시저의 처리순서를 나타내는 플로차트이다.
도 46은 현재 플레이아이템에 대하여 최적의 현재 세컨더리 오디오 스트림을 선택하는 순서를 나타내는 플로차트이다.
도 47은 STN_table 중 PGtextST 스트림에 특히 관련이 있는 것을 추출하여 묘사한 도면이다.
도 48(a)은 현재 PGtextST 스트림의 스트림 번호가 취할 수 있는 수치범위의 일 예를 나타내는 도면이다.
도 48(b)는 PSR2의 비트 할당의 일 예를 나타내는 도면이다.
도 49는 현재 플레이아이템 변화시에서의 현재 PGtextST 스트림의 결정순서를 나타내는 플로차트이다.
도 50은 현재 플레이아이템에 대하여 최적의 현재 PGTextST 스트림을 선택하는 처리순서를 나타내는 플로차트이다.
도 51은 BD-ROM의 구성의 일 예를 나타내는 도면이다.
도 52는 인덱스 파일의 내부 구성의 일 예를 나타내는 도면이다.
도 53은 로컬 스토리지(103)에 저장되는 업 데이트 키트의 내부 구성의 일 예를 나타내는 도면이다.
도 54는 머지 관리정보 파일의 내용과, 그 내용을 기초로 BD-ROM의 파일과 업 데이트 키트의 파일로부터 가상패키지를 구축하는 과정의 일 예를 나타내는 도면이다.
도 55는 편집 시스템의 일 예를 나타내는 도면이다.
도 56은 ROM 디스크 이미지, 업 데이트 키트 이미지의 작성방법에 대하여 설명하는 도면이다.
(부호의 설명)
100 BD-ROM
102 WWW 서버
103 로컬 스토리지
104 텔레비전
이하, 상기 과제 해결수단을 구비한 재생장치 및 기록장치의 실시 예에 대하여 도면을 참조하면서 설명한다.
(제 1 실시 예)
이후, 상기 재생장치 및 기록장치의 실시 예에 대하여 설명한다. 우선 먼저, 재생장치의 실시행위 중 사용행위에 대한 예를 설명한다. 도 1은 재생장치(101)의 사용행위에 대한 형태의 일 예를 나타내는 도면이다. 본 도면에 나타낸 바와 같이, 재생장치(101)는 제 1 기록매체의 일 예인 BD-ROM(100), WWW 서버(102), 로컬 스토리지(103), 텔레비전(104)과 함께 사용자에 의한 사용에 제공된다.
BD-ROM(100)은 영화작품이 기록된 기록매체이다.
재생장치(101)는 텔레비전(103)과 함께 홈시어터 시스템을 구축하여 BD-ROM(100)을 재생한다. 이러한 기록장치는 기록매체에 대해서 데이터를 다운로드 하여 기록하는 기능을 가진 것이며, 기록장치로서의 기능을 겸비하고 있다.
WWW 서버(102)는 영화 배급자의 공식 사이트를 운영하는 서버장치이며, BD-ROM(100)에 기록된 영화작품의 부분적인 치환이나 추가를 실현하는 파일 세트(업 데이트 키트(update kit))를 인터넷 등을 통해서 사용자에게 공급한다.
로컬 스토리지(103)는 재생장치에 장착되며, 영화 배급자의 WWW 서버(102)로부터 분배된 콘텐츠를 저장하는 기억장치로 이용된다. 따라서 네트워크를 통해서 다운로드 되어서 로컬 스토리지에 저장된 콘텐츠와 BD-ROM(100)에 기록된 콘텐츠를 조합시켜서 BD-ROM(100)의 콘텐츠를 확장 및 갱신할 수 있다.
텔레비전(104)은 영화작품의 재생영상을 표시하거나 메뉴 등을 표시함으로써 대화적인 조작환경을 사용자에게 제공한다.
이상이 재생장치의 사용 예에 대한 설명이다. 이어서, 재생장치가 재생의 대상으로 하고 있는 플레이리스트에 대하여 설명한다.
도 2는 플레이리스트의 일 예를 나타내는 도면이다. 플레이리스트는 「메인패스」와 하나 이상의 「서브패스」로 구성된다.
「메인패스」는 하나 이상의 플레이아이템으로 구성된다.
「서브패스」는 메인패스와 함께 재생되는 일련의 재생경로를 나타내며, 플레이리스트에 등록되는 순서대로 ID(서브패스 ID)가 할당된다. 서브패스 ID는 서브패스를 식별하기 위해서 사용된다. 서브패스에는 메인패스의 재생에 동기하여 재생되는 동기형, 메인패스의 재생에 비 동기로 재생이 가능한 비 동기형이 있으며, 그 타입은 서브패스 타입에 기재된다. 서브 플레이아이템은 하나 이상의 서브 플레이아이템 정보로 구성된다. 서브패스 타입이 동기형인 경우에는 서브 플레이아이템의 재생개시시각과 재생종료시각은 메인패스와 동일한 시간 축으로 나타내나, 서브패스 타입이 비 동기형인 경우에는 서브 플레이아이템의 재생개시시각과 재생종료시각은 메인패스와 다른 시간 축으로 나타낸다.
또, 「플레이아이템」은 스트림 번호 테이블을 포함한다. 스트림 번호 테이블은 플레이아이템에서 재생이 허가되어 있는 엘리멘터리 스트림의 스트림 번호를 나타내는 정보이다. 플레이리스트 정보, 플레이아이템 정보, 서브 플레이아이템 정보, 스트림 번호 테이블의 상세에 대해서는 나중에 설명하는 실시 예에서 설명한다.
이후의 동작 예의 설명에서는 아래와 같은 플레이리스트를 제재로서 선택한다.
도 3은 동작 예의 제재가 되는 플레이리스트의 일 예를 나타내는 도면이다.
제재가 되는 플레이리스트는 하나의 메인패스와 2개의 서브패스(서브패스(ID=0), 서브패스(ID=1))로 구성된다. 메인패스는 5개의 플레이아이템 #1, #2, #3, #4, #5를 포함하고, ID=0의 서브패스는 5개의 서브 플레이아이템 #1, #2, #3, #4, #5를 포함한다. ID=1의 서브패스는 5개의 서브 플레이아이템 #1, #2, #3, #4, #5를 포함한다.
어느 서브패스도 동기형이며, 각각 다른 언어의 자막 데이터인 프레젠테이션 그래픽스 스트림(presentation graphics stream)이 다중화된 AV 클립을 참조하고 있다. 플레이리스트에서 이용되는 AV 클립은 모두 로컬 스토리지에 저장된 업 데이트 키트의 콘텐츠이며, 프로그래시브 속성이 부여되어 있다. 프로그래시브 속성(progressive attribute)이란 플레이리스트의 재생 시에 미리 로컬 스토리지에 저장되어 있을 필요는 없으며, 당해 AV 클립을 참조하고 있는 서브 플레이아이템이 현재 서브 플레이아이템 정보가 되기 직전에 로컬 스토리지에 저장되어 있으면 충분한 AV 클립의 속성을 말한다.
5개의 플레이아이템 #1, #2, #3, #4, #5는 각각 00001.m2ts, 00002.m2ts, 00003.m2ts, 00004.m2ts, 00005.m2ts를 참조하고 있다.
ID=0의 서브패스에서의 서브 플레이아이템 #1, #2, #3, #4, #5는 각각 10001.m2ts, 10002.m2ts, 10003.m2t, 10004.m2ts, 10005.m2ts를 참조하고 있다.
ID=1의 서브패스에서의 서브 플레이아이템 #1, #2, #3, #4, #5는 각각 20001.m2ts, 20002.m2ts, 20003.m2ts, 20004.m2ts, 20005.m2ts를 참조하고 있다.
메인패스의 각 플레이아이템은 도면 중 우측 상단과 같은 스트림 번호 테이블을 갖는다. 이 스트림 번호 테이블은 스트림 번호 1, 2, 3이 할당된 3개의 엔트리를 갖는다. 이들 3개의 엔트리는 메인패스의 플레이아이템 정보에 의해서 참조되는 프라이머리 비디오 스트림, 서브 플레이아이템(서브패스 ID=0)에 의해서 참조되 는 AV 클립에 포함되어 있는 프레젠테이션 그래픽스 스트림(PG #1), 서브 플레이아이템(서브패스 ID=1)에 의해서 참조되는 AV 클립에 포함되어 있는 프레젠테이션 그래픽스 스트림(PG #2)의 재생을 허가하는 것이다.
현재가 되는 자막 스트림 번호가 "2"인 때에 해당하는 스트림 엔트리는 서브패스 ID=0으로 나타내는 PG #1이므로, 플레이아이템의 재생과 동기하여 서브패스 ID=0의 PG #1이 재생된다.
도 4는 도 3에 나타낸 플레이리스트가 어떻게 해서 재생되는가를 나타낸다. 본 도면에서의 우측은 WWW 서버(102)를 나타내고, 좌측은 재생장치(101)를 나타낸다. 한가운데는 인터넷, 인트라넷 등의 전송로를 나타낸다. 도 3에서의 00001.m2ts, 00002.m2ts, 00003.m2ts, 00004.m2ts, 00005.m2ts는 텔레비전(103)에 존재한다. 이들 AV 클립 중 00001.m2ts,10001.m2ts는 WWW 서버(102)에 대하여 다운로드 요구를 송신함으로써 WWW 서버(102)로부터 재생장치(101)로 전송되어 있음을 알 수 있다.
서버장치의 데이터 베이스에서 AV 클립은 00001.m2ts, 00002.m2ts, 00003.m2ts, 00004.m2ts, 00005.m2ts라고 하는 파일명과는 다른 파일명의 파일에 저장되어서 관리된다. 이는 가상패키지 구축의 대상이 되는 파일은 매니페스트 파일(manifest file)에 의해서 별명(別名)으로 액세스 될 수 있기 때문이다.
이하, 재생장치(101)가 플레이리스트의 재생, 다운로드 요구 및 다운로드를 하기 위한 구성요소에 대하여 설명한다. 이들 처리를 위한 구성요소에는 BD-J 애플리케이션과 BD-J 오브젝트가 있다. 이하, 이들의 구성요소에 대하여 설명한다.
<BD-J 애플리케이션>
「BD-J 애플리케이션」은 Java 2 Micro_Edition(J2ME) Personal Basis Profile(PBP 1.0)과, Globally Excecutable MHP specification(GEM1.0.2) for package media targets를 풀 실장한 플랫폼 부에서 타이틀을 생존구간으로 한 애플리케이션 시그널링에 의해서 기동이 되는 Java(TM) 애플리케이션이다. BD-J 애플리케이션은 플레이리스트 정보를 재생하는 JMF 플레이어 인스턴스(instance)의 생성을 Java(TM) 가상 머신에 명함으로써 플레이리스트의 재생을 개시시킨다. JMF(Java Media Frame work) 플레이어 인스턴스는 JMF 플레이어 클래스를 기초로 하여 가상 머신의 히프 메모리 상에 생성되는 실제 데이터를 말한다.
JMF A"BD://00001.mpls";는 00001.mpls라고 하는 파일의 플레이리스트를 재생하는 플레이어 인스턴스의 생성을 Java(TM) 가상 머신에 명하는 메소드이다. A.play는 JMF 플레이어 인스턴스에 재생을 명하는 메소드이다. 이러한 JMF 플레이어 인스턴스의 생성은 JMF 라이브러리에 의거하여 이루어진다.
JMF 인스턴스를 생성한 후, 플레이리스트의 재생 시에 필요한 AV 클립의 다운로드를 WWW 서버(102)에 대하여 요구한다. 다운로드 시에 WWW 서버(102) 상의 AV 클립을 취득하기 위한 커넥션은 java.net라고 불리는 Java 소프트웨어 라이브러리의 openConnection 메소드를 사용하여 확립할 수 있다. 서버상의 파일의 URL이 http://xxx.com/vp_data/00001.m2ts인 경우에서의 커넥션 접속의 용례(用例)를 아래에 나타낸다. 용례 : new java.net.URL(http://xxx.com/vp_data/00001.m2ts. openConnection()
상술한 것과 같은 플레이리스트의 재생 및 AV 클립의 다운로드에 앞서 BD-J 애플리케이션은 GUI 프레임 워크를 이용하여 사용자 조작을 접수한다. Java(TM) 애플리케이션에서의 GUI 프레임 워크는 GEM1.0.2에서 규정된 HAVi 프레임 워크를 포함하고, GEM1.0.2에서의 리모트 컨트롤 내비게이션 기구를 포함한다.
이에 의해서 Java(TM) 애플리케이션은 HAVi 프레임 워크에 의거한 버튼표시, 텍스트 표시, 온라인 표시(BBS의 내용)라고 하는 표시를 동화상의 표시와 조합시킨 화면표시를 실현할 수 있으며, 리모트 컨트롤을 이용하여 상술한 것과 같은 플레이리스트의 재생 및 AV 클립의 다운로드를 실현할 수 있다. BD-J 애플리케이션을 구성하는 일련의 파일은 Http://Java(TM).sun.com/j2se/1.4.2/docs/guide/ jar/jar.html에 기재된 사양에 준한 Java(TM) 아카이브 파일로 변환된다. Java(TM) 아카이브 파일은 ZIP 파일의 형식을 Java(TM)으로 특화한 것이며, 시판되고 있는 ZIP 전개 소프트웨어에 의해서 내용을 확인할 수 있다.
<BDJ 오브젝트>
BDJ 오브젝트는 애플리케이션 관리 테이블(ApplicationManagementTable())을 포함하며, BD-ROM 재생 시에 타이틀 절환(switching)에 수반하는 애플리케이션 시그널링을 플랫폼 부에 실행시키는 데이터를 말한다. 더 구체적으로 말하면, ApplicationManagementTable()은 실행해야 할 BD-J 애플리케이션을 나타내는 application_id와 BD-J 애플리케이션을 기동할 때의 제어를 나타내는 application_control_code를 포함한다. application_control_code는 타이틀 선택 후에서의 애플리케이션의 최초의 실행상태를 규정하고 있으며, 또, application_control_code는 BD-J 애플리케이션을 가상 머신에 로드하여 자동으로 개시할지(AUTOSTART), BD-J 애플리케이션을 가상 머신에 로드하나 자동개시는 하지 않을지(PRESENT)를 규정할 수 있다.
이어서, 재생장치의 내부 구성에 대하여 설명한다.
도 5는 재생장치(101)의 구성의 일 예를 나타내는 도면이다. 재생장치(101)는 BD-ROM 드라이브(10), 리드 버퍼(11), 리드 버퍼(12), 시스템 타깃 디코더(13), BD-J 실행부(14), 네트워크 인터페이스(15), 가상패키지 제어부(16), 상태 관리부(17), 사용자 이벤트 처리부(18), 재생엔진(19), 재생제어엔진(20), HDMI 송수신부(21), 히프 메모리(22), 가상 머신 인터프리터(23), PSR 세트(24)로 구성되어 있다. 이후, 이들 구성요소에 대하여 설명한다.
<BD-ROM 드라이브(10)>
BD-ROM 드라이브(10)는 BD-ROM 디스크로부터 데이터를 판독하고, 리드 버퍼(11)에 데이터를 축적한다.
<리드 버퍼(11)>
리드 버퍼(11)는 BD-ROM 드라이브를 사용하여 판독한 데이터를 일시적으로 저장하는 메모리 등으로 구성된 버퍼이다.
<리드 버퍼(12)>
리드 버퍼(12)는 로컬 스토리지로부터 판독한 데이터를 일시적으로 저장하는 메모리 등으로 구성된 버퍼이다.
<시스템 타깃 디코더(13)>
시스템 타깃 디코더(13)는 리드 버퍼(11)에 판독된 소스 패킷이나 리드 버퍼(12)에 판독된 소스 패킷에 대하여 다중분리 처리를 하고, 각 스트림을 디코드하여 재생하는 처리를 한다. 또, BD-J 실행부(14)로부터 메뉴 등을 표시하기 위한 JPEG, PNG 등의 그래픽스 데이터를 디코드하여 재생하는 처리를 한다. 시스템 타깃 디코더(13)의 상세에 대해서는 후술한다.
<BD-J 실행부(14)>
BD-J 실행부(14)는 가상패키지 제어부(16)에서 전송되는 BD-J 애플리케이션을 실행하는 프로그램 처리 엔진이다. BD-J 애플리케이션의 프로그램에 따른 동작을 하여 다음과 같은 제어를 한다. (1) 가상패키지 제어부(16)에 대하여 플레이리스트를 재생한다. (2) 인터넷 등의 WWW 서버로부터 업 데이트 키트를 로컬 스토리지로 축적한다. (3) BD-ROM과 업 데이트 키트를 조합시켜서 가상패키지의 구축을 명령한다. (4) 플레이어 변수에 값을 세트 한다. (5) 시스템 타깃 디코더에 대하여 메뉴나 게임의 그래픽스를 위한 PNG·JPEG를 전송하여 화면에 표시한다. 이들은 프로그램의 제작에 따라서 자유롭게 할 수 있으며, 어떻게 제어하는가는 편집공정에 의한 BD-J 애플리케이션의 프로그래밍 공정에 의해서 결정된다.
<네트워크 인터페이스(15)>
네트워크 인터페이스(15)는 재생장치에서의 통신기능을 실현하는 것이며, URL 지정이 BD-J 애플리케이션으로부터 부여되면 그 URL에 해당하는 web 사이트와의 TCP 커넥션, FTP 커넥션 등을 확립한다.
이러한 커넥션의 확립에 의해 web 사이트로부터의 다운로드를 Java(TM) 애플 리케이션에 행하게 한다.
<가상패키지 제어부(16)>
가상패키지 제어부(16)는 BD-ROM 드라이브(10), 로컬 스토리지(103)를 제어하여 가상패키지를 구축하고, 플레이어의 재생을 제어하는 기능을 갖는다. 가상패키지는 BD-ROM 디스크에 기록된 콘텐츠와, 로컬 스토리지(103)에 저장된 차분 데이터와, 로컬 스토리지(103)에 저장된 머지 관리정보를 기초로 하여 BD-ROM 상의 콘텐츠를 메모리 상에서 조합시킨 가상적인 BD-ROM 패키지이다. 구축된 가상패키지는 BD-ROM의 데이터 구조와 동일한 형식을 갖는다. 가상패키지를 구축하는 타이밍은 디스크가 삽입된 때나 BD-J 실행부(14)의 가상패키지 구축명령이 실행된 때 등이 있다. 가상패키지 제어부(16)는 가상패키지가 구축된 후에는 BD-J 실행부의 재생명령이나 사용자 이벤트 처리부로부터의 통지에 의거하여 플레이리스트 정보를 통해서 AV 클립의 재생처리를 제어한다. 또, 가상패키지 제어부(16)는 플레이어 변수의 설정이나 참조를 하여 재생동작을 한다.
<상태 관리부(17)>
상태 관리부(17)는 BD-ROM 또는 로컬 스토리지에 존재하는 각각의 AV 클립이 Missing 상태, Enable 상태, Disable 상태 중 어느 것인지를 관리하고, 플레이리스트의 재생을 정지시킬지 여부의 제어를 한다.
Missing 상태는 플레이아이템 정보, 서브 플레이아이템 정보로부터 참조되고 있는 AV 클립이 BD-ROM 또는 로컬 스토리지에 존재하지 않는 상태를 의미한다.
Enable 상태는 가상패키지 제어부(16)에서의 재생이 가능한 상태를 의미하 고, BD-J 애플리케이션의 API에 의해 제어된다. Enable 상태로 세트하는 API가 실행된 경우에는 AV 클립은 판독전용 속성이 되며, 가상패키지 제어부(16)에서의 AV 클립의 재생이 가능해진다.
Disable 상태는 Enable 상태의 반대를 의미하며, 가상패키지 제어부(16)는 해당 AV 클립의 재생을 할 수 없다. BD-J 애플리케이션에 의해 AV 클립에 대해서 Enable 상태로 한 번도 세트되지 않은 경우에는 그 AV 클립은 Disable 상태이다. 만약, BD-J 애플리케이션이 Enable 상태의 AV 클립을 삭제 또는 오버라이트(overwrite) 등을 하고 싶은 경우에는 Disable 상태로 API를 한번 사용하여 천이해서 실행한다.
이들 중 Missing 상태로 되어 있는 AV 클립, Disable 상태로 되어 있는 AV 클립을 합쳐서 Unavailable 클립이라고 한다.
플레이리스트의 재생을 정지시킬지 여부의 제어란, 현재 서브 플레이아이템 정보가 변화한 경우에 현재 서브 플레이아이템 정보에 의해 참조되어 있는 AV 클립이 Unavailable 클립인지 여부를 판정하여, Unavailable 클립이면 DataStarved 이벤트를 JMF 플레이어 인스턴스 및 재생제어엔진에 통지하여, JMF 플레이어 인스턴스 및 재생제어엔진을 재생상태에서 정지상태로 천이시킨다고 하는 것이다.
<사용자 이벤트 처리부(18)>
사용자 이벤트 처리부(18)는 리모컨을 통한 사용자 조작에 응답하여 BD-J 실행부(14)나 가상패키지 제어부(16)에 처리의 실행을 의뢰한다. 예를 들어, 리모컨에서 버튼을 누른 경우에는 그 버튼에 포함되는 커맨드를 실행하도록 BD-J 실행 부(14)에 의뢰한다. 예를 들어, 리모컨에서 빨리 감기, 되감기 버튼이 눌려진 경우에는 가상패키지 제어부(16)에 현재 재생하고 있는 플레이리스트의 AV 클립에 대한 빨리 감기, 되감기 처리의 실행을 명령한다.
<재생엔진(19)>
재생엔진(19)은 AV 재생기능을 실행한다. 재생장치(102)의 AV 재생기능은 DVD 플레이어, CD 플레이어로부터 답습한 전통적인 기능 군이며, 재생개시(Play), 재생정지(Stop), 일시정지(Pause On), 일시정지의 해제(Pause Off), Still 기능의 해제(Still off), 속도지정 부(付) 빨리 감기(Forward Play(speed)), 속도지정부 되감기(Backward Play(speed)), 음성 절환(Audio Change), 세컨더리 비디오 절환(Subtitle Change), 앵글 절환(Angle Change)과 같은 기능이다. AV 재생기능을 실현하기 위해서 재생엔진(19)은 AV 클립 중 원하는 시각에 해당하는 부분의 디코드를 행하도록 시스템 타깃 디코더를 제어한다.
<재생제어엔진(20)>
재생제어엔진(20)은 플레이리스트에 대한 재생제어기능을 실행한다. 플레이리스트에 대한 재생제어기능은 재생엔진(19)이 행하는 AV 재생기능 중 재생개시나 재생정지를 현재 플레이리스트 정보 및 클립정보에 따라서 행하게 하는 것을 말한다.
<HDMI 송수신부(21)>
HDMI 송수신부(21)는 HDMI(HDMI : High Definition Multimedia Interface)를 통해서 접속된 다른 기기로부터 그 기기에 관한 정보를 수신하는 동시에, 시스템 타깃 디코더의 디코드에 의해서 얻어진 디지털 비 압축 비디오를 LPCM이나 압축된 오디오 데이터와 함께 HDMI를 통해서 접속된 다른 기기에 송신한다.
<히프 메모리(22)>
히프 메모리(22)는 BD-J 실행부(14)를 위해서 확보되는 스택 메모리(stack memory)이며, BD-J 애플리케이션에 의해서 생성된 JMF 플레이어 인스턴스 및 BD-J 애플리케이션에 대하여 클래스 로더를 행함으로써 생성되는 바이트코드가 저장된다. 이들은 스레드(thread)의 형태를 이루며, 선입선출방식으로 가상 머신 인터프리터(23)에 의한 실행에 제공된다.
<가상 머신 인터프리터(23)>
기상 머신 인터프리터(23)는 히프 메모리(22)에 저장된 바이트 코드를 CPU가 실행 가능한 네이티브 코드(native code)로 변환하여 CPU에 실행시킨다.
<PSR 세트(24)>
PSR 세트(24)는 플레이어 변수를 저장하고 있는 플레이어 세팅 레지스터(Player Setting Register), 플레이어 스테이터스 레지스터(Player State Register)이다. 플레이어 변수는 플레이어의 상태를 나타내는 시스템 파라미터(SPRM)와 일반 용도로 사용 가능한 제너럴 파라미터(general parameters) (GPRM)가 있다.
도 6은 시스템 파라미터(SPRM)의 일람이다.
SPRM(0) : 언어코드
SPRM(1) : 프라이머리 오디오 스트림 번호
SPRM(2) : 자막 스트림 번호
SPRM(3) : 앵글 번호
SPRM(4) : 타이틀 번호
SPRM(5) : 챕터 번호
SPRM(6) : 프로그램 번호
SPRM(7) : 셀 번호
SPRM(8) : 선택 키 정보
SPRM(9) : 내비게이션 타이머
SPRM(10) : 재생시각정보
SPRM(11) : 가라오케용 믹싱모드
SPRM(12) : 패런털(parental)용 국가 정보
SPRM(13) : 패런털 레벨
SPRM(14) : 플레이어 설정값(비디오)
SPRM(15) : 플레이어 설정값(오디오)
SPRM(16) : 음성 스트림용 언어코드
SPRM(17) : 음성 스트림용 언어코드(확장)
SPRM(18) : 자막 스트림용 언어코드
SPRM(19) : 자막 스트림용 언어코드(확장)
SPRM(20) : 플레이어 지역코드
SPRM(21) : 세컨더리 비디오 스트림 번호
SPRM(22) : 세컨더리 오디오 스트림 번호
SPRM(23) : 재생상태
SPRM(24) : 예비
SPRM(25) : 예비
SPRM(26) : 예비
SPRM(27) : 예비
SPRM(28) : 예비
SPRM(29) : 예비
SPRM(30) : 예비
SPRM(31) : 예비
SPRM(10)은 AV 클립에 속하는 각 픽처 데이터가 표시될 때마다 갱신된다. 즉, 재생장치가 새로운 픽처 데이터를 표시하게 하면 그 새로운 픽터 데이터의 표시시각(PTS)을 나타내는 값으로 SPRM(10)은 갱신된다. 이 SPRM(10)을 참조하면 현재의 재생시점을 얻을 수 있다.
SPRM(16)의 음성 스트림용 언어코드나 SPRM(18)의 자막 스트림용 언어코드는 플레이어의 OSD 등으로 설정할 수 있는 항목이며, 플레이어의 디폴트의 언어코드를 나타낸다. 예를 들어, SPRM(16)의 음성 스트림용 언어코드가 영어이면 플레이리스트를 재생한 후에 플레이아이템의 스트림 선택 테이블 중에서 동일한 언어코드를 갖는 스트림 엔트리를 탐색해서, 그 음성 스트림을 선택하여 재생하는 기능을 BD-ROM 디스크 중의 BD-J 애플리케이션에 포함시킬 수 있다. 이들 SPRM은 각각이 32비 트의 언어 길이를 갖는 레지스터에 저장된다. SPRM을 특정하는 괄호 내의 수치는 기본적으로는 대응하는 레지스터의 레지스터 번호를 의미한다(단, SPRM(21), SPRM(22)은 대응하는 레지스터의 레지스터 번호를 의미하고 있는 것은 아니다).
<스트리밍 라이크 재생기능>
다음에, 도 7을 이용하면서 가상패키지를 이용한 스트리밍 라이크 재생기능(streaming-like play function)에서의 가상패키지 제어부(16)의 재생천이에 대하여 설명한다. 도 7은 스트리밍 라이크 재생기능을 모식적으로 나타내는 도면이다.
스트리밍 라이크 재생기능이란, 플레이아이템 정보 또는 서브 플레이아이템 정보에 의해서 참조되어 있는 AV 클립으로서 프로그래시브 속성이 부여되어 있는 것을 당해 플레이아이템 정보 또는 서브 플레이아이템 정보가 현재 플레이아이템 또는 현재 서브 플레이아이템 정보가 되기 직전에 로컬 스토리지에 저장하도록, 재생동작과 다운로드 동작을 병렬로 행하는 것을 말한다.
도 7의 상단은 플레이리스트를 나타내며, 5개의 플레이아이템은 각각 00001.m2ts, 00002.m2ts, 00003.m2ts, 00004.m2ts, 00005.m2ts를 참조하나, 이들은 모두 로컬 스토리지에 저장된 업 데이트 키트의 콘텐츠이며, 프로그래시브 속성이 부여되어 있다. 이중, 00001.m2ts, 00002.m2ts는 이미 다운로드가 완료되었으며, BD-J 애플리케이션에 의해 Enable 상태로 세트되어 있다. 00003.m2ts, 00004.m2ts, 00005.m2ts는 아직 다운로드 되어 있지 않거나, 또는 다운로드는 되어 있으나 Disable 상태임을 나타낸다. 가상패키지 제어부(16)는 플레이리스트의 선두 플레이 아이템에서부터 순서대로 재생하는 경우에는, 도 7의 상단과 같이 재생위치가 플레이아이템 #1, 플레이아이템 #2에 존재하는 경우에는 재생이 방해를 받는 일은 없다. 이들 플레이아이템의 플레이아이템 정보는 Enable 상태인 AV 클립을 참조하고 있기 때문이다. 따라서, 플레이아이템 #3까지 재생이 진행한다.
도 7의 중단은 도 7의 상단에서부터 재생위치가 더 진행한 도면을 나타내며, 재생위치가 플레이아이템 #3으로 천이하기 전에 00003.m2ts의 다운로드가 완료하여, BD-J 애플리케이션에 의해 Enable 상태로 세트 되었음을 나타낸다. 따라서, 재생은 플레이아이템 #3까지 진행한다.
도 7의 하단은 도 7의 중단으로부터 재생위치가 더 진행한 도면을 나타내며, 재생위치가 플레이아이템 #4로 천이한 때에 참조하는 00004.m2ts가 아직 다운로드가 되어 있지 않거나 Disable 상태임을 나타낸다. 이 경우, DataStarved 이벤트가 출력되게 된다. BD-J 애플리케이션은 DataStarved 이벤트를 수신한 후에는 00004.m2ts의 다운로드를 완료시키고, Enable 상태로 천이시켜서, DataStarved 이벤트를 수신한 지점에서 재생개시를 한다고 하는 제어 등에 의해서 리커버(recover)를 도모한다.
이상과 같이 스트리밍 라이크 재생에서는 다음의 재생위치에 있는 플레이아이템의 AV 클립이 미리 다운로드 되고 Enable 상태로 세트 되는 한 재생진행이 방해받는 일은 없다.
도 8은 서브 플레이아이템을 수반하는 경우의 스트리밍 라이크 재생진행의 일 예를 나타내는 도면이다.
제 3 단째는 재생이 어디까지 진행하였는가를 모식적으로 나타내는 화살표를 도 3의 플레이리스트에 대해서 부가한 것이다.
제 1 단째는 JMF 플레이어 인스턴스의 상태를 나타내고, 제 2 단째는 재생제어엔진의 상태를 나타낸다. 제 3 단째는 제재가 되는 플레이리스트를 나타낸다. 제 1 단째에 의하면 JMF 플레이어 인스턴스는 재생상태로 되어 있으나, DataStarved 이벤트가 출력되면 정지상태가 된다. DataStarved 이벤트는 재생할 데이터가 결핍되어 있다는 것을 나타내는 이벤트이며, 이 DataStarved 이벤트를 수신한 JMF 플레이어 인스턴스 및 재생제어엔진은 정지상태로 천이하게 된다. JMF 플레이어 인스턴스 및 재생제어엔진의 동작을 정지시키므로 DataStarved 이벤트는 "재생정지 이벤트"라고도 불린다.
제 2 단째에 의하면 재생제어엔진은 재생상태로 되어 있으나, DataStarved 이벤트가 출력되면 JMF 플레이어 인스턴스와 함께 정지상태가 된다. 즉, JMF 플레이어 인스턴스 및 재생제어엔진은 DataStarved 이벤트를 트리거로 하여 재생상태에서 정지상태로 절환되어 있음을 알 수 있다.
도 8에서는 서브 플레이아이템(패스ID=0)에 속하는 서브 플레이아이템 #1이 현재 서브 플레이아이템 정보로 되어 있으므로, 재생은 플레이아이템 #1, SubPlayItem #1까지 진행한다. 플레이아이템 #2에서는 대응하는 서브 플레이아이템 #2에 의해서 참조되어 있는 20002.m2ts가 Unavailable 클립이므로, 현재 서브 플레이아이템이 서브 플레이아이템 #2가 되면 DataStarved 이벤트를 출력하고 재생을 정지할 수밖에 없다.
도 9는 재생위치가 플레이아이템 #2에 도달하려고 하고 있는 상태의 일 예를 나타내는 도면이다. 본 도면의 예에서는 현재의 재생위치인 플레이아이템 #2에 대응하는 서브패스 ID=0의 서브 플레이아이템 #2는 Enable 상태의 AV 클립을 참조하고 있다. 그러나 서브패스 ID=1의 서브 플레이아이템 #2는 아직 다운로드 되어 있지 않거나 Disable 상태의 AV 클립을 참조하고 있다. SPRM(2)이 나타내는 것은 서브패스 ID=0의 서브 플레이아이템 #2이므로 서브패스 ID=1의 서브 플레이아이템 #2의 AV 클립이 Enable 상태로 되어 있지 않아도 가상패키지 제어부(16)는 재생을 계속할 수 있다.
20002.m2ts가 Unavailable 클립이라도 재생이 방해받지 않으므로 재생은 플레이아이템 #3까지 진행한다. 플레이아이템 #4에서는 대응하는 서브 플레이아이템 #4에 의해 참조되고 있는 10004.m2ts가 Unavailable 클립이 되므로 현재 플레이아이템 정보가 플레이아이템 #4가 된 시점에서 재생이 중단한다.
이상의 점으로부터 다음과 같이 말할 수 있다. 즉, 플레이아이템 #2의 재생구간에 대응하는 모든 서브패스(ID=0, ID=1)의 서브 플레이아이템으로부터 참조되는 AV 클립을 다운로드 하려고 하면 다운로드의 대상이 되는 AV 클립은 10001.m2ts, 10002.m2ts, 10003.m2ts, 10004.m2ts, 10005.m2ts, 20001.m2ts, 20002.m2ts, 20003.m2ts, 20004.m2ts, 20005.m2ts가 되므로, 가상패키지 제어부(16)는 서브패스의 수만큼 AV 클립의 다운로드를 기다리지 않으면 안 된다. 그 경우, 서브패스의 수가 증가하면 사용자는 플레이리스트의 재생을 한 후에 많은 시간을 기다리지 않으면 안 되게 된다.
한편, 상술한 것과 같은 동작에서는 서브 플레이아이템에서는 프라이머리 오디오 스트림 번호 SPRM(1), 자막 스트림 번호 SPRM(2), 세컨더리 비디오 스트림 번호 SPRM(21), 세컨더리 오디오 스트림 번호 SPRM(22)에 의해서 지정되는 스트림을 포함하는 AV 클립이 모두 Enable 상태라면 다른 서브패스의 서브 플레이아이템의 AV 클립이 Enable 상태가 될 때까지 기다릴 필요없이 재생을 속행할 수 있다. 이렇게 함으로써 사용자는 불필요한 AV 클립의 다운로드를 기다리지 않고 플레이리스트의 재생을 계속할 수 있다.
도 10은 자막 절환이 사용자에 의해서 요구되었으므로 현재의 재생시점이 서브패스(ID=#0)의 10003.m2ts를 참조하고 있는 서브 플레이아이템 #3에서 서브패스(ID=#1)의 20003.m2ts를 참조하고 있는 서브 플레이아이템 #3으로 변화한 경우를 상정한 도면이다.
사용자 조작 등에 의해서 SPRM(2)을 3으로 변경한 경우 재생할 자막은 서브패스 ID=1의 서브 플레이아이템 #3이 된다. 서브 플레이아이템 #3이 참조하고 있는 20003.m2ts는 Unavailable 클립이므로 이 절환과 동시에 DataStarved 이벤트가 출력되게 된다. 이상과 같이, 자막 절환이 요구된 경우, 절환 처의 자막 스트림을 포함하고 있는 AV 클립이 다운로드 되어 있지 않거나 Disable 상태라면 가상패키지 제어부(16)는 재생을 정지하고, DataStarved 이벤트를 BD-J 애플리케이션에 통지한다.
도 11은 챕터 점프가 있었으므로, 플레이아이템 #3이 현재 플레이아이템이 되고 서브 플레이아이템 #3이 현재 서브 플레이아이템 정보가 되었음을 상정한 도 면이다. 서브 플레이아이템 #3에 의해서 참조되어 있는 20003.m2ts는 Unavailable 클립이므로 DataStarved 이벤트를 발생하여 재생을 정지상태로 한다.
Unavailable 클립을 참조하고 있는 서브 플레이아이템이 현재 서브 플레이아이템 정보로 된 때에 재생이 정지상태가 되므로, 다운로드 시에는 다음의 플레이아이템 및 다음의 서브 플레이아이템에 의해 참조되고 있는 클립 파일로서 재생대상이 되는 현재 스트림을 포함한 것을 우선적으로 다운로드 하면 재생을 계속할 수 있다.
이상과 같이 챕터 점프 등의 점프재생에서는 프라이머리 오디오 스트림 번호 SPRM(1), 자막 스트림 번호 SPRM(2), 세컨더리 비디오 스트림 번호 SPRM(21), 세컨더리 오디오 스트림 번호 SPRM(22) 중 어느 하나의 스트림 번호가 SubPlayItem에 대응하고 있으며, 그 서브 플레이아이템이 아직 다운로드 되어 있지 않거나 Disable 상태인 AV 클립을 참조할 때에 가상패키지 제어부(16)는 DataStarved 이벤트를 BD-J 애플리케이션에 통지하게 된다. 이와 같은 가상패키지 제어부(16)의 재생동작을 정의함으로써 마찬가지로 최소의 AV 클립의 다운로드에 의해 재생을 계속할 수 있다.
도 12는 BD-J 애플리케이션의 처리순서를 나타내는 플로차트이다.
스텝 S1에서, 로딩 된 BD-ROM에 대응하는 업 데이트 키트를 로컬 스토리지의 BUDA(Biding Unit Data Area) 디렉터리에 다운로드 한다. 스텝 S2에서는 업 데이트 키트 내의 Missing 상태를 지정한 가상패키지 구축요구를 발행한다.
이후, 스텝 S3~스텝 S8의 루프를 실행한다. 이 루프는 플레이리스트를 선택 하여 JMF 플레이어 인스턴스를 구축하고(스텝 S3), 플레이리스트 정보에서의 선두의 플레이아이템을 현재 플레이아이템으로 설정하며(스텝 S4), 현재 플레이아이템에서의 Clip_Information_file_name에서 지정되어 있는 AV 클립을 선택하고(스텝 S5), AV 클립을 다운로드 하여(스텝 S6), 가상 머신 내에서 이하의 3개의 스레드를 가상 머신 내에 세워서, 이들의 처리를 병렬로 실행한다(스텝 S7)고 하는 처리를 반복하는 것이다.
(1) 플레이리스트 재생
(2) 프로그래시브 속성 AV 클립 제어
(3) DataStarved 이벤트 리커버리 처리
이들 3개의 처리의 실행이 종료하면 3개의 스레드를 종료시키고 스텝 S3으로 되돌아간다.
도 13은 AV 클립 다운로드의 처리순서를 나타내는 플로차트이다. 스텝 S11에서 WWW상의 서버장치로부터 BUDA 디렉터리에 AV 클립을 다운로드 하도록 네트워크 인터페이스에 지시하고, 스텝 S12에서 AV 클립을 Missing 상태에서 Disable 상태로 변경한다. 스텝 S13에서 다운로드가 이루어지는 것을 기다려서, 다운로드가 이루어지면 스텝 S14에서 검증을 하여, 정상이면 스텝 S15에서 AV 클립을 Enable 상태로 한다.
도 14는 플레이리스트 재생처리의 처리순서를 나타내는 플로차트이다. 스텝 S21에서 현재 서브 플레이아이템 정보를 결정하고, 스텝 S22~스텝 S24의 루프로 이행한다. 스텝 S22 ~ 스텝 S24의 루프는 현재 플레이아이템의 Clip_Information_2file_name에서 지정되어 있는 AV 클립이 Unavailable 클립인가 여부를 판정하여(스텝 S22), Unavailable 클립이 아니면 AV 클립을 구성하는 소스 패킷 중 현재 플레이아이템의 In_Time에서 Out_Time까지의 것을 BD-ROM에서 판독하는 처리(스텝 S23), 현재 서브 플레이아이템 정보의 Clip_Information_file_ name에서 지정되어 있는 AV 클립이 Unavailable 클립인지 여부를 판정하여(스텝 S24), Unavailable 클립이 아니면 AV 클립을 구성하는 소스 패킷 중 현재 플레이아이템의 In_Time에서 Out_Time까지의 것을 로컬 스토리지로부터 판독하는 처리(스텝 S25), 판독된 소스 패킷 중 현재 플레이아이템의 STN_table에서 재생이 허가되어 있는 것을 디코더에 출력하는 처리(스텝 S26), 현재 플레이아이템이 최후의 플레이아이템인지 여부를 판정하는 처리(스텝 S27), 현재 플레이아이템을 변경하는 처리(스텝 S28)를 반복하는 것이다. 이 루프의 종료조건은 플레이리스트 내에 다음의 플레이아이템이 없는 것으로 판정되는 것이다(스텝 S27에서 Yes).
스텝 S29에서, 현재 플레이아이템의 Clip_Information_file_name에서 지정되어 있는 AV 클립 또는 현재 서브 플레이아이템 정보의 Clip_Information_file_ name에서 지정되어 있는 AV 클립이 Unavailable 클립이면 DataStarved 이벤트를 발생하여 재생제어엔진 및 JMF 플레이어 인스턴스를 정지상태로 하고, 그 후 재개를 기다린다(스텝 S30).
도 15는 현재 서브 플레이아이템 정보의 결정순서를 나타내는 플로차트이다. 스텝 S31에서 프로시저(procedure)에 따라서 현재 프라이머리 오디오 스트림을 결정하여 SPRM(1)에 설정하고, 스텝 S32에서 프로시저에 따라서 현재 세컨더리 오디 오 스트림을 결정하여 SPRM(14)에 설정한다. 스텝 S33에서 현재 세컨더리 비디오 스트림을 결정하여 SPRM(21)에 설정하고, 스텝 S34에서 현재 PG 텍스트 자막 스트림을 결정하여 SPRM(2)에 설정한다.
그리고 현재 프라이머리 오디오 스트림, 현재 세컨더리 오디오 스트림, 현재 프라이머리 비디오 스트림, 현재 PG 텍스트 자막 스트림을 Clip_Information_ file_name에서 참조하고 있는 모든 서브 플레이아이템을 현재 서브 플레이아이템으로 설정한다.
도 16은 프로그래시브 속성 AV 클립 제어의 처리순서를 나타내는 플로차트이다.
스텝 S41에서 현재 플레이아이템의 다음의 플레이아이템(next playitem)에서의 Clip_Information_file_name에서 지정되어 있는 AV 클립을 선택하고, 스텝 S42에서 넥스트 플레이아이템을 Sync_PlayItem_Id에 기술되어 있는 서브 플레이아이템(next sub-playitem)을 특정한다. 스텝 S43에서 넥스트 서브 플레이아이템의 Clip_Information_file_name에 기술되어 있는 서브 플레이아이템(next sub-playitem)을 특정한다. 스텝 S43에서 넥스트 서브 플레이아이템의 Clip_Inforamtion_file_name에서 지정되어 있는 AV 클립으로서 PSR에서의 현재 스트림 번호에 대응하는 엘리멘터리 스트림을 포함하는 AV 클립을 선택한다.
스텝 S44에서는 선택된 AV 클립이 로컬 스토리지에 존재하고 있는가 여부를 판정하여, 존재하지 않으면 스텝 S45에서 선택된 AV 클립의 다운로드를 한다. 스텝 S46에서는 삭제할 AV 클립의 선택을 하고, 삭제할 AV 클립이 존재하는지 여부를 판 정한다(스텝 S47). 존재하면 AV 클립의 삭제를 한다(스텝 S48). 스텝 S49에서는 현재 플레이아이템, 현재 서브 플레이아이템 정보가 변화하는 것을 기다리고, 변화하면 플레이리스트의 재생이 종료하였는지 여부를 판정한 후에 스텝 S41로 이행한다(스텝 S50).
도 17은 재생정지 리커버리 처리의 처리순서를 나타내는 플로차트이다. 스텝 S61은 DataStarved 이벤트의 취득 대기를 구성하는 루프이고, DataStarved 이벤트가 이루어지면, 스텝 S62는 DataStarved 이벤트를 취득한 AV 클립의 다운로드가 완료하는 것을 기다리는 사상(事象)완료 대기루프이다. 스텝 S63은 DataStarved 이벤트를 취득한 재생위치에서부터의 플레이리스트 재생을 개시하고, 스텝 S64에서는 플레이리스트의 재생이 종료하였는지 여부를 판정한다.
다음에 AV 클립에서의 현재의 재생위치와 다운로드의 대상이 되는 AV 클립의 관계를 설명한다.
도 18은 현재 플레이아이템이 플레이아이템 #1이고, 현재 서브플레이아이템 정보가 서브패스(ID=1)의 서브 플레이아이템 #1인 경우에 다운로드를 요구할 클립 파일을 나타낸다. 로컬 스토리지에서는 현재 플레이아이템을 구성하는 00001.m2ts 및 현재 서브 플레이아이템 정보를 구성하는 20001.m2ts가 Enable 상태로 되어 있을 필요가 있다. 이 경우, 넥스트 플레이아이템은 플레이아이템 #2, 넥스트 서브 플레이아이템은 서브 플레이아이템 정보 #2가 되므로, 현재 플레이아이템 및 현재 서브 플레이아이템 정보의 재생 중에 다운로드를 요구할 클립 파일은 넥스트 플레이아이템을 구성하는 00002.m2ts 및 넥스트 서브 플레이아이템을 구성하는 20002.m2ts가 된다.
도 19는 현재 플레이아이템이 플레이아이템 #2이고, 현재 서브 플레이아이템 정보가 서브패스(ID=1)인 서브 플레이아이템 #2인 경우에 다운로드를 요구할 클립 파일을 나타낸다. 로컬 스토리지에서는 현재 플레이아이템을 구성하는 00002.m2ts 및 현재 서브 플레이아이템 정보를 구성하는 20002.m2ts가 Enable 상태로 되어 있을 필요가 있다. 이 경우, 넥스트 플레이아이템은 플레이아이템 #3, 넥스트 서브 플레이아이템은 서브 플레이아이템 정보 #3이 되므로, 현재 플레이아이템 및 현재 서브 플레이아이템 정보의 재생 중에 다운로드를 요구할 클립 파일은 넥스트 플레이아이템을 구성하는 00003.m2ts 및 넥스트 서브 플레이아이템을 구성하는 20003.m2ts가 된다.
도 20은 현재 플레이아이템이 플레이아이템 #3이고, 현재 서브 플레이아이템 정보가 서브패스(ID=1)인 서브 플레이아이템 #3인 경우에 다운로드를 요구할 클립 파일을 나타낸다. 로컬 스토리지에서는 현재 플레이아이템을 구성하는 00003.m2ts 및 현재 서브 플레이아이템 정보를 구성하는 20003.m2ts가 Enable 상태로 되어 있을 필요가 있다. 이 경우, 넥스트 플레이아이템은 플레이아이템 #4, 넥스트 서브 플레이아이템은 서브 플레이아이템 정보 #4가 되므로, 현재 플레이아이템 및 현재 서브 플레이아이템 정보의 재생 중에 다운로드를 요구할 클립 파일은 넥스트 플레이아이템을 구성하는 00004.m2ts 및 넥스트 서브 플레이아이템을 구성하는 20004.m2ts가 된다.
서브패스가 동기형인 경우, 현재 서브 플레이아이템 정보의 재생시간 길이는 현재 플레이아이템의 재생시간 길이와 동일하므로, 이상의 다운로드에서는 현재 플레이아이템의 재생 계속 중에 넥스트 플레이아이템 및 넥스트 서브 플레이아이템을 구성하는 클립 파일의 다운로드를 실현하면 좋다.
따라서, 다운로드에 필요한 비트 레이트 B는 아래의 계산으로 나타내는 것이 된다.
비트 레이트 B = 넥스트 플레이아이템을 구성하는 클립 파일의 데이터 사이즈 + 넥스트 서브 플레이아이템을 구성하는 클립 파일의 데이터 사이즈 / 현재 플레이아이템의 재생시간
이와 같이 현재 플레이아이템 및 현재 서브 플레이아이템 정보의 재생 중에 넥스트 플레이아이템에 의해서 참조되는 AV 클립과 넥스트 서브 플레이아이템에 의해서 참조되는 AV 클립을 다운로드해 두면, 필요 최저한의 AV 클립은 로컬 스토리지에 저장되므로 DataStaeved 이벤트의 발생에 의해서 재생진행이 방해받는 일은 없다.
이상과 같이 본 실시 예에 의하면, 복수의 서브패스로 구성되는 플레이리스트를 재생하는 상태에서, 재생장치에 내장되는 어떤 스트림이 선택되어 있는가를 나타내는 플레이어 변수를 참조하여, 재생에 필요하지 않은 AV 클립은 다운로드가 완료되어 있지 않은 상태에서도 재생을 계속할 수 있게 되어서 효율적인 스트리밍 라이크 재생을 실현할 수 있다.
<비고>
제 1 실시 예 중 이하에 설명하는 기술적 토픽에 대해서는 개량이나 변경실 시를 더 부가할 수 있다. 제 1 실시 예에서 설명한 것과 같이 실시하는가, 이들 개량 및 변경을 실시하는가 여부는 모두 임의적이며, 실시하는 자의 주관에 의한다는 점을 유의하기 바란다.
<플레이리스트 재생의 전처리>
플레이리스트 재생의 전처리에서는 SPRM(16)의 음성 스트림용 언어코드나 SPRM(18)의 자막 스트림용 언어코드에 기재된 언어코드를 갖는 음성 스트림이나 자막 스트림을 포함하는 AV 클립을 우선적으로 다운로드해야 한다. 이와 같은 구성으로 함으로써 사용자가 플레이리스트의 재생에서 이용할 가능성이 큰 AV 클립을 다운로드 대상으로 선택할 수 있다.
<BD-ROM과의 병용>
메인패스가 디스크에 저장되어 있는 본편 영상을 나타내는 경우에는 현재의 재생위치 이후의 서브 플레이아이템에서 이용되는,
현재의 프라이머리 오디오 스트림 번호 SPRM(1),
자막 스트림 번호 SPRM(2),
세컨더리 비디오 스트림 번호 SPRM(21),
세컨더리 오디오 스트림 번호 SPRM(22)가 나타내는 스트림 번호에 대응하는 스트림을 포함하는 AV 클립을 축차 현재의 재생위치에서부터 가까운 순으로 순차적으로 결정하는 것이 바람직하다.
이와 같이 함으로써 본편 영상을 보는 동안에 사용자는 자막이나 음성을 바꾸는 일은 좀처럼 없으므로, 사용자에게 대기시간을 주지 않고 플레이리스트의 재 생을 실현할 수 있다.
<본편 재생의 중단 방지>
본편 재생 중에 자막·음성·세컨더리 비디오·세컨더리 오디오의 다운로드가 지연되므로, DataStarved 이벤트가 발행되어서 일시적으로 본편 재생이 정지해버린다고 하는 상태를 피하기 위해서는 다음과 같은 처리를 BD-J 애플리케이션에 준비해 둔다. 그것은 예를 들어 현재의 프라이머리 오디오 스트림 번호 SPRM(1)에서 그 스트림 번호에 대응하는 스트림을 포함하는 AV 클립이 아직 Enable 상태로 되어 있지 않은 경우에는, 그 AV 클립을 포함하는 서브 플레이아이템에 도달하기 전에 BD-J 애플리케이션이 SPRM(1)을 「어떤 스트림도 선택되어 있지 않다」 고하는 특수 값이나, 이미 Enable 상태로 되어 있거나 또는 디스크 상에 존재하는 AV 클립의 스트림 번호를 결정하도록 재기록을 한다(이 경우, 미리 이런 상황을 상정하여 더미의 콘텐츠를 디스크 상에 준비해 두어도 좋다). 이와 같은 구성으로 함으로써 BD-J 애플리케이션은 DataStarved 이벤트를 발행시키지 않는 제어가 가능해진다. 상기의 처리는 일본어 음성을 영어 음성으로 절환하는 사용자 조작에 의한 스트림 절환에 대해서도 동일하다고 할 수 있다. 스트림 절환 SPRM(1)의 재기록이 실제로 발생하기 전에 BD-J 애플리케이션이 그것을 금지함으로써 본편 재생의 일시적인 재생정지를 방지할 수 있다.
(제 2 실시 예)
AV 클립(XXX.M2TS)과 클립정보 파일(XXX.CLPI), 시스템 타깃 디코더에 대하여 설명한다.
<AV 클립의 내부 구성>
AV 클립은 MPEG-2 트랜스포트 스트림 형식의 디지털 스트림이다.
도 21은 AV 클립의 구성의 일 예를 나타내는 도면이다. 본 도면에 나타낸 것과 같이 AV 클립은 비디오 스트림, 오디오 스트림, 프레젠테이션 그래픽스 스트림(PG), 인터랙티브 그래픽스 스트림 중 하나 이상을 다중화함으로써 얻어진다. 비디오 스트림은 영화의 프라이머리 비디오 및 세컨더리 비디오를, 오디오 스트림은 영화의 프라이머리 오디오 부분과 그 프라이머리 오디오와 믹싱하는 세컨더리 오디오를, 프레젠테이션 그래픽스 스트림은 영화의 자막을 각각 나타내고 있다. 여기서, 프라이머리 비디오는 화면에 표시되는 통상의 영상을 나타내고, 세컨더리 비디오는 프라이머리 비디오 중에 작은 화면으로 표시하는 영상을 말한다. 또, 인터렉티브 그래픽스 스트림은 화면상에 GUI 부품을 배치함으로써 작성되는 대화화면을 나타내고 있다. AV 클립에 포함되는 각 스트림은 PID에 의해서 식별된다. 예를 들어, 영화의 영상에 이용하는 비디오 스트림에는 0x1011가, 오디오 스트림에는 0x1100에서 0x111F까지가, 프레젠테이션 그래픽스에는 0x1200에서 0x121F까지가, 인터렉티브 그래픽스 스트림에는 0x1400에서 0x141F까지가, 영화의 세컨더리 비디오에 이용하는 비디오 스트림에는 0x1B00에서 0x1B1F까지가, 프라이머리 오디오와 믹싱하는 세컨더리 오디오에 이용하는 오디오 스트림에는 0x1A00에서 0x1A1F가 각각 할당되어 있다.
<AV 클립에서의 다중화>
도 22는 AV 클립이 어떻게 다중화되는지를 모식적으로 나타내는 도면이다. 먼저, 비디오 스트림 및 오디오 스트림을(제 1 단째), 각각 PES 패킷 열로 변환하고(제 2 단째), TS 패킷 열로 변환한다(제 3 단째). 마찬가지로 프레젠테이션 그래픽스 스트림 및 인터렉티브 그래픽스(제 7 단째)를 각각 PES 패킷 열로 변환하고(엘리멘터리 스트림), TS 패킷 열로 다시 변환한다(제 5 단째). AV 클립(제 4 단째)은 이들의 TS 패킷을 하나의 스트림으로 다중화함으로써 구성된다.
도 23은 PES 패킷 열에 비디오 스트림이 어떻게 저장되는지를 더욱 상세하게 나타내고 있다. 본 도면에서의 제 1 단째는 비디오 스트림의 비디오 프레임 열을 나타낸다. 제 2 단째는 PES 패킷 열을 나타낸다. 제 3 단째는 이들 PES 패킷 열을 변환함으로써 얻어지는 TS 패킷 열을 나타낸다. 본 도면의 화살표 yy1, yy2, yy3, yy4에 나타내는 것과 같이, 비디오 스트림에서의 복수의 Video Presentation Unit인 I픽처, B픽처, P픽처는 픽쳐마다 분할되어 PES 패킷의 페이로드에 저장된다. 각 PES 패킷은 PES 헤더를 가지며, PES 헤더에는 픽처의 표시시각인 PTS(Presentation Time-Stamp)나 픽처의 복호시각인 DTS(Decoding Time-Stamp)가 저장된다.
<TS 패킷 열>
도 24는 AV 클립에 최종적으로 기록되는 TS 패킷의 형식을 나타내고 있다. 제 1 단째는 TS 패킷 열을 나타내고, 제 2 단째는 소스 패킷 열을 나타낸다. 제 3 단째는 AV 클립을 나타낸다.
제 1 단째에 나타내는 것과 같이, TS 패킷은 스트림을 식별하는 PID 등의 정보를 갖는 4Byte의 「TS 헤더」와 데이터를 저장하는 184Byte의 「TS 페이로드」로 나누어지는 고정 길이의 패킷이며, 앞서 설명한 PES 패킷은 분할되어서 TS 페이로 드에 저장된다.
제 2 단째에 의하면, TS 패킷에는 4Byte의 TP_Extra_Header가 부여되고, 192Byte의 소스 패킷으로 변환된 상태에서 AV 클립에 기록된다. TP_Extra_Header에는 ATS(Arrival_Time_Stamp) 등의 정보가 기재된다. ATS는 당해 TS 패킷의 PID 필터로의 전송개시시각을 나타낸다. AV 클립에는 제 3 단째에 나타내는 것과 같이 소스 패킷이 배열되게 되며, AV 클립의 선두에서부터 증가하는 번호는 SPN(소스 패킷 넘버)이라고 불린다.
AV 클립에 포함되는 TS 패킷에는 영상·음성·자막 등의 각 스트림 이외에도 PAT(Program Association Table), PMT(Program Map Table), PCR(Program Clock Reference) 등이 있다. PAT는 AV 클립 중에 이용되는 PMT의 PID가 무엇인가를 나타내며, PAT 자신의 PID 배열로 등록된다. PMT는 AV 클립 중에 포함되는 영상·음성·자막 등의 각 스트림의 PID와 각 PID에 대응하는 스트림의 속성정보를 가지며, 또 AV 클립에 관한 각종 디스크립터(descriptor)를 갖는다. 디스크립터에는 AV 클립의 복제를 허가 및 불허가를 지시하는 복제 컨트롤 정보 등이 있다. PCR은 ATS의 시간 축인 ATS(Arrival Time Clock)와 PTS·DTS의 시간 축인 STC(System Time Clock)의 동기를 취하기 위해서 그 PCR 패킷이 디코더에 전송되는 ATS에 대응하는 STC 시간의 정보를 갖는다.
도 25는 PMT의 데이터 구조를 상세하게 설명하는 도면이다. PMT의 선두에는 그 PMT에 포함되는 데이터의 길이 등을 기재한 「PMT 헤더」가 배치된다. 그 뒤에는 AV 클립에 관한 「디스트립터」가 배치된다. 상술한 복제컨트롤정보 등이 디스 크립터로서 기재된다. 디스크립터의 뒤에는 AV 클립에 포함되는 각 스트림에 관한 「스트림 정보 #1~#N」이 복수 배치된다. 스트림 정보는 스트림의 압축 코덱 등을 식별하기 위해서 스트림 타입, 스트림의 PID, 스트림의 속성정보(프레임 레이트, 아스팩트비 등)가 기재된 스트림 디스트립터로 구성된다. 스트림 디스트립터는 AV 클립에 존재하는 스트림의 수만큼 존재한다. 이상이 AV 클립에 대한 설명이다. 이어서, 클립정보 파일의 상세에 대하여 설명한다.
<클립정보 파일>
도 26은 클립정보 파일의 일 예를 나타내는 도면이다. 클립정보 파일은 본 도면에 나타낸 바와 같이 AV 클립의 관리정보이며, AV 클립과 1 대 1로 대응하고, 스트림 속성정보와 엔트리 맵으로 구성된다.
도 27은 스트림 속성정보의 일 예를 나타내는 도면이다. 스트림 속성정보는 본 도면에 나타내는 것과 같이 AV 클립에 포함되는 각 스트림에 대한 속성정보가 PID별로 등록된다. 속성정보는 비디오 스트림, 오디오 스트림, 프레젠테이션 그래픽스 스트림, 인터렉티브 그래픽스 스트림마다 다른 정보를 갖는다.
「비디오 스트림 속성정보」는 그 비디오 스트림이 어떠한 압축 코덱(codec)으로 압축되었는가, 비디오 스트림을 구성하는 각각의 픽처 데이터의 해상도가 어느 정도인가, 애스팩스 비는 어느 정도인가, 프레임 레이트는 어느 정도인가 등의 정보를 갖는다.
「오디오 스트림 속성정보」는 그 오디오 스트림이 어떤 압축 코덱으로 압축되었는가, 그 오디오 스트림에 포함되는 채널 수는 무엇인가, 어떤 언어에 대응하 는가, 샘플링 주파수가 어느 정도인가 등의 정보를 갖는다. 이들 정보는 재생기가 재생하기 전의 디코더의 초기화 등에 이용된다.
도 28은 엔트리 맵의 일 예를 나타내는 도면이다.
엔트리 맵은 본 도면에 나타내는 것과 같이 AV 클립 내에 포함되는 비디오 스트림의 각 프레임 내 부호화 화상(이하, I픽처라고 한다)의 표시시각을 나타내는 PTS와 각 I픽처가 개시하는 AV 클립의 SPN이 기재된 테이블 정보이다.
여기에서는 테이블의 하나의 행으로 나타내는 쌍이 되는 PTS와 SPN의 정보를 엔트리 포인트라고 하기로 한다. 또, 선두를 0으로 하여 각 엔트리 포인트마다 증가한 값을 엔트리 포인트 ID(이하, EP_ID)라 한다. 이 엔트리 맵을 이용함으로써 재생기는 비디오 스트림의 시간 축 상의 임의의 지점에 대응하는 AV 클립의 파일위치를 특정할 수 있게 된다. 예를 들어, 빨리 감기·되감기의 특수재생 시에는 엔트리 맵에 등록되는 I픽처를 특정해서 선택하여 재생함으로써 AV 클립을 해석하지 않고 효율적으로 처리를 할 수 있다. 또, 엔트리 맵은 AV 클립 내에 다중화되는 각 비디오 스트림별로 구축되고, PID에 의해 관리된다.
이상이 AV 클립, 클립정보 파일에 대한 설명이다. 이어서, 시스템 타깃 디코더(13)의 상세에 대하여 설명한다.
도 29는 시스템 타깃 디코더(13)의 내부 구성의 일 예를 나타내는 도면이다. 본 도면에 나타내는 것과 같이, 시스템 타깃 디코더(13)는 소스 디패킷타이저(Source Depacketizer)(32a, b), PID 필터(33a, b), 프라이머리 비디오 디코더(34), 프라이머리 비디오 플레인(35), 세컨더리 비디오 디코더(36), 세컨더리 비 디오 플레인(37), PG 디코더(38), PG 플레인(39), IG 디코더(40), IG 플레인(41), 프라이머리 오디오 디코더(42), 세컨더리 오디오 디코더(43), 음성 믹서(44), BD-J 프로세서(45), BD-J 플레인(46), 가산부(47)로 구성된다.
소스 디패킷타이저(32a, b)는 시스템 타깃 디코더(13)에 전송되는 소스 패킷을 해석하고, TS패킷을 인출하여 PID 필터에 송출한다. 이 송출시에 각 소스 패킷의 ATS에 따라서 디코더로의 입력시각을 조정한다. 구체적으로는, ATC 카운터가 생성하는 ATC 값과 소스 패킷의 ATS 값이 동일해지게 된 순간에 AV 클립의 기록 레이트에 따라서 그 TS패킷만을 PID 필터에 전송한다.
PID 필터(33a, b)는 소스 디패킷타이저에서 출력된 TS 패킷 중 TS 패킷의 PID가 재생에 필요한 PID에 일치하는 것을 PID에 따라서 프라이머리 비디오 디코더, 세컨더리 비디오 디코더, IG 디코더, PG 디코더, 음성 디코더, 세컨더리 오디오 디코더에 전송한다. 예를 들어 BD-ROM인 경우에는, TS 패킷에 포함되는 PID가 0x1011인 경우에는 프라이머리 비디오 디코더에, PID가 0x1B00에서 0x1B1F인 경우에는 세컨더리 비디오 디코더(2505)에, PID가 0x1100에서 0x111F인 경우에는 프라이머리 오디오 디코더에, PID가 0x1A00에서 0x1A1F인 경우에는 세컨더리 오디오 디코더에, PID가 0x1200에서 0x121F인 경우에는 PG 디코더(2507)에, PID가 0x1400에서 0x141F인 경우에는 IG 디코더(2506)에 전송된다.
도 28과 같이 소스 디패킷타이저와 PID 필터는 각각 2개를 가지며, 하나는 리드 버퍼(11)로부터 전송되는 AV 클립을, 하나는 리드 버퍼(12)로부터 전송되는 AV 클립을 처리한다. 서브패스 타입이 동기형인 경우에는 메인패스에서 참조되는 AV 클립과 서브패스에서 참조되는 AV 클립은 동기를 취하면서 재생한다. 서브패스 타입이 비 동기형인 경우에는 메인패스에서 참조되는 AV 클립과 서브패스에서 참조되는 AV 클립은 비 동기로 재생한다.
프라이머리 비디오 디코더(34)는 완충 버퍼를 가지며, 버퍼 데이터를 축적하면서, TS 헤더, PES 헤더 등의 정보를 제거하고, 부호화 상태에 있는 픽처(I픽처, B픽처, P픽처)를 인출하며, 비디오 스트림의 각각의 프레임 화상을 소정의 복호시각(DTS) 마다 디코드함으로써 복수의 프레임 화상을 작성하고, 표시시각(PTS)의 타이밍에 프라이머리 비디오 플레인(35)에 기록한다. AV 클립에 다중화되는 비디오 스트림의 압축부호화 형식에는 MPEG2, MPEG4 AVC, VC1 등이 있으므로, 스트림의 속성에 따라서 압축 영상의 부호화 방식을 절환한다.
프라이머리 비디오 플레인(35)은 프라이머리 비디오 디코더(34)에 의해서 얻어진 프레임 화상이 저장된다.
세컨더리 비디오 디코더(36)는 프라이머리 비디오 디코더(35)와 동일한 구성을 가지며, 입력되는 세컨더리 비디오 스트림의 디코드를 행하고, 표시시각(PTS)의 타이밍에 픽처를 세컨더리 비디오 플레인에 기록한다.
세컨더리 비디오 플레인(37)은 세컨더리 비디오 디코더(36)에 의해서 얻어진 프레임 화상이 저장된다.
PG 디코더(38)는 소스 디패킷타이저에서 입력되는 TS 패킷에서 프레젠테이션 그래픽스 스트림을 추출해서 디코드하여 비 압축의 그래픽스 데이터를 표시시각(PTS)의 타이밍에 PG 플레인에 기록한다.
PG 플레인(39)은 비 압축의 그래픽스 데이터가 저장된다.
IG 디코더(40)는 소스 디패킷타이저에서 입력되는 TS 패킷에서 인터렉티브 그래픽스 스트림을 추출해서 디코드하여 비 압축의 그래픽스 데이터를 표시시각(PTS)의 타이밍에 IG 플레인에 기록한다.
IG 플레인(41)에는 비 압축의 그래픽스 데이터가 저장된다.
프라이머리 오디오 디코더(42)는 완충 버퍼를 가지며, 버퍼에 데이터를 축적하면서, TS 헤더, PES 헤더 등의 정보를 제거하고, 음성 스트림 디코드 처리를 하여 비 압축의 LPCM 상태의 오디오 데이터를 얻어서 재생시각(PTS)의 타이밍에 음성 믹서에 출력한다. AV 클립에 다중화되는 오디오 스트림의 압축 부호화 형식에는 AC3, DTS 등이 있으므로, 스트림의 속성에 따라서 압축음성의 복호화 방식을 절환한다.
세컨더리 오디오 디코더(43)는 프라이머리 오디오 디코더와 동일한 구성을 가지며, 입력되는 세컨더리 오디오 스트림의 디코드를 하여 표시시각의 타이밍에 비 압축의 LPCM 상태의 오디오 데이터를 음성 믹서에 출력한다. AV 클립에 다중화되는 오디오 스트림의 압축부호화 형식에는 DolbyDigitalPlus, DTS-HD, LBR 등이 있으므로, 스트림의 속성에 따라서 압축음성의 복호화 방식을 절환한다.
음성 믹서(44)는 프라이머리 오디오 디코더에서 출력되는 비 압축 음성 데이터와 세컨더리 오디오 디코더에서 출력되는 비 압축 음성 데이터를 믹싱(음의 중첩)을 하여 스피커 등에 출력한다.
BD-J 프로세서(45)는 BD-J 실행부에서 전송되는 PNG 형식 또는 JPEG 형식의 그래픽스 데이터를 디코드하여, BD-J 애플리케이션에서 지정되는 표시시각에 따라서 BD-J 플레인에 출력한다.
BD-J 플레인(46)에는 BD-J 프로세서(45)에 의해서 디코드 된 그래픽스 데이터가 저장된다.
가산부(47)는 프라이머리 비디오 플레인, 세컨더리 비디오 플레인, IG 플레인, PG 플레인, BD-J 플레인에 기록된 데이터를 순간에 중첩하여 TV 등의 화면에 표시한다.
이상과 같이 본 실시 예에 의하면, BD-ROM 플레이어 모델에 준거한 내부 구성을 실현함으로써 플레이리스트의 재생을 실현할 수 있다.
(제 3 실시 예)
본 실시 예에서는 플레이리스트 정보의 상세한 데이터 구조와 현재 세컨더리 비디오 스트림의 결정방법을 설명한다.
도 30은 플레이리스트 정보의 데이터 구조를 나타내는 도면이며, 본 도면에 나타내는 것과 같이, 플레이리스트 정보는 MainPath를 정의하는 MainPath 정보(MainPath())와 Subpath를 정의하는 서브패스 정보(Subpath())를 포함한다.
<플레이리스트 정보의 설명 1. 서브패스 정보>
MainPath가 프라이머리 비디오인 MainClip에 정의되는 재생경로인데 대해, Subpath는 Mainpath와 동기할 SubClip에 대해서 정의되는 재생경로이다.
도 31은 서브패스 정보의 내부 구성을 클로즈업하여 나타내는 도면이다. 본 도면에서의 화살표 hc0에 나타낸 바와 같이 각 Subpath는 서브패스의 유형을 나타 내는 SubPath_type와 하나 이상의 SubPlayItem 정보(…SubPlayItem()…)를 포함한다.
도면 중의 인출 선 hc1은 SubPlayItem 정보의 구성을 클로즈업하고 있다.
SubPlayItem은 메인패스에서 분리한 하나 이상의 엘리멘터리 스트림 재생 패스를 정의하며, 당해 패스를 메인패스와 어떻게 동기화를 하는가 라고 하는 유형을 표현하기 위해서 사용된다. SubPlayItem에서 사용되는 것이 The Primary audio/PG/IG/Secondary audio/ Secondary video의 서브패스이면 이들 SubPlayItem은 PlayList 중의 PlayItem을 사용하고 있는 메인패스와 동기하게 된다. 이 엘리멘터리 스트림 재생을 위한 서브패스에 의해서 사용되는 엘리멘터리 스트림은 MainPath 측의 PlayItem에 의해서 사용되는 MainClip에서 분리한 Clip, 즉 SubClip에 다중화된다.
이후, SubPlayItem의 내부 구성에 대하여 설명한다. SubPlayItem 정보는 도면 중의 화살v표 hc1에 나타낸 바와 같이 『Clip_information_file_name』, 『Clip_codec_identifier』, 『ref_to_STC_id[0]』, 『SubPlayItem_In_time』, 『SubPlayItem_Out_time』, 『sync_PlayItem_id』, 『sync_start_PTS_of_PlayItem』으로 이루어진다.
『Clip_information_file_name』은 클립정보의 파일 명을 기술함으로써 SubPlayItem에 대응하는 SubClip을 고유하게(uniquely) 지정하는 정보이다.
『Clip_codec_identifier』은 AVClip의 부호화 방식을 나타낸다.
『ref_to_STC_id[0]』은 이 PlayItem이 대상으로 하고 있는 STC_Sequence를 고유하게 나타낸다.
『SubPlayItem_In_time』은 SubClip의 재생 시간 축 상에서의 SubPlayItem의 시작점을 나타내는 정보이다.
『SubPlayItem_Out_time』은 SubClip의 재생시간 축 상에서의 SubPlayItem의 종료 점을 나타내는 정보이다.
『sync_PlayItem_id』는 MainPath를 구성하는 PlayItem 중 본 SubPlayItem이 동기해야 하는 것을 고유하게 지정하는 정보이다. SubPlayItem_In_time은 이 sync_PlayItem_id에 의해 지정된 PlayItem의 재생시간 축 상에 존재한다.
『sync_start_PTS_of_PlayItem』은 sync_PlayItem_id에 의해 지정된 PlayItem의 재생시간 축 상에서 SubPlayItem_In_time에 의해 지정된 SubPlayItem의 시작점이 어디에 존재하는가를 45㎑의 시간 정밀도로 나타낸다. 어떤 SubPlayItem이 세컨더리 비디오 스트림 상의 재생구간을 정의하고 있고, 그 SubPlayItem의 sync_start_PTS_of_PlayItem이 PlayItem 시간 축에서의 한 시점을 나타내고 있는 경우, 그 SubPlayItem은 "동기 픽처 인 픽처"를 실현하게 된다.
또, 이 Sync_start_PTS_of_PlayItem에는 부정 값(0xFFF)을 설정할 수도 있다. 이 부정 값은 Sync_PlayItem_Id에 의해 지정된 PlayItem의 시간 축에서 사용자에 의해서 로크 조작(lock operation)이 이루어진 시점을 Sync_PlayItem_Id에 의해서 지정된 PlayItem과의 동기시점으로 정한다고 하는 취지를 나타낸다. Sync_start_PTS_of_PlayItem이 부정 값으로 설정되어 있고, 또한 SubPlayItem이 세컨더리 비디오 스트림의 재생을 의도하고 있는 경우, 이러한 SubPlayItem은 "비 동 기 픽처 인 픽처"를 실현하게 된다.
이상이 SubPath 정보에 대한 설명이다.
<STN_table>
플레이리스트 정보에서 특징적인 것은 STN_Table이다.
STN_table은 PlayItem 정보의 Clip_Information_file_name에서 지정되어 있는 AV 클립에 다중화된 복수의 엘리멘터리 스트림, SubPlayItem 정보의 Clip_Information_file_name에서 지정되어 있는 Out_of_MUX 스트림 중 재생이 가능한 것을 나타내는 테이블이다. 구체적으로 말하면, STN_table은 MainClip에 다중화되어 있는 복수의 In_MUX 스트림, SubClip에 다중화되어 있는 Out_of_MUX 스트림의 각각에 대한 Stream_entry를 Stream_attribute와 대응시킴으로써 구성된다.
도 32는 STN_table의 전체 구성의 일 예를 나타내는 도면이다. 도 33은 도 32에 나타낸 STN_table의 전체 구성 중 세컨더리 비디오 스트림에 대한 stream_entry의 일 예를 나타내는 도면이다. 본 도면에 나타낸 바와 같이, STN_table은 n개의 Secondary_video_stream_entry「Secondary_video_stream_entry [1] ~ Secondary_video_stream_entry[n]」과, 세컨더리 비디오 스트림의 개수 「number_of_Secondary_video_stream_entries(=n)」으로 구성된다.
인출 선 hs1은 Secondary_video_stream_entry[1]의 내부 구성을 클로즈업하여 나타내고 있다. 즉, Secondary_video_stream_entry[1]~Secondary_video_ stream_entry[n]은 동일한 클래스 구조체로부터 생성한 복수의 인스턴스이며, 그 내부 구성은 모두 이 인출 선 hs1에 나타내는 것과 동일하게 된다. 그리고 Secondary_video_stream_entry에서의 괄호 [] 내의 수치는 Secondary_video_ stream_entry가 STN_table에서 몇 번째에 위치하는가 라고 하는 Secondary_ video_stream_entry의 순위를 나타낸다.
인출 선 hs1에 나타낸 바와 같이, Secondary_video_stream_entry[1]은 Secondary Video Stream Number=1에 대응하는 PID를 재생장치에 제시하는 「Stream_entry」와, Secondary Video Stream Number=1에 대응하는 비디오 속성을 나타내는 「Stream_attribute」와, Secondary Video Stream Number=1의 설정 시에 재생이 가능해지는 세컨더리 오디오 스트림을 나타내는 「Comb_info_ Secondary_Video_Secondary_Audio」와, Secondary Video Stream Number=1의 설정 시에 재생이 가능해지는 PG 스트림 또는 텍스트 자막 스트림을 나타내는 「Comb_info_Secondary_Video_PiP_PG_textST()」로 이루어진다.
인출 선 hs2에 나타낸 바와 같이, Secondary_video_stream_entry[2]은 Secondary Video Stream Number=2에 대응하는 PID를 재생장치에 제시하는 「Stream_entry」, Secondary Video Stream Number=2에 대응하는 비디오 속성을 나타내는 「Stream_attribute」, Secondary Video Stream Number=2의 설정 시에 재생이 가능해지는 세컨더리 오디오 스트림을 나타내는 「Comb_info_Secondary_ Video_Secondary_Audio」, Secondary Video Stream Number=2의 설정 시에 재생이 가능해지는 PG 스트림 또는 텍스트 자막 스트림을 나타내는 「Comb_info_ Secondary_Video_PiP_PG_textST()」로 이루어진다.
인출 선 hs3에 대해서도 마찬가지이다. 이상과 같이 STn_table에서 x번째에 위치하는 Secondary_video_stream_entry[n]은 세컨더리 비디오 스트림 번호가 x로 설정된 때에 그 x에 대응하는 세컨더리 비디오 스트림의 PID는 무엇인가, 그 세컨더리 비디오 스트림의 비디오 속성은 어떤 것인가, 어떠한 세컨더리 오디오 스트림, PGTextST 스트림과 조합할 수 있는가를 재생장치에 지시한다.
자막을 나타내는 스트림에는 지금까지의 실시 예에서 설명한 프레젠테이션 그래픽스 스트림 외에 텍스트 코드에 의해서 표현된 텍스트 자막 스트림이 있다. 여기에서의 PG 텍스트 자막 스트림은 프레젠테이션 그래픽스 스트림과 텍스트 자막 스트림을 합쳐서 부르는 명칭이다. 또, 픽처 인 픽처에 사용되는 PG 텍스트 자막 스트림을 PiP_PG_텍스트 자막 스트림이라고 한다.
도 34(a)는 프라이머리 비디오 스트림에서의 Stream_entry 및 Stream_attribute의 일 예를 나타내는 도면이다. Stream_entry는 프라이머리 비디오 스트림을 구성하는 PES 패킷의 패킷 식별자를 나타내는 『ref_to_ stream_PID_of_mainClip』을 포함한다.
Stream_attribute는 비디오 스트림의 표시방식을 나타내는 『Video_format』과 비디오 스트림의 표시 주파수를 나타내는 『Frame_rate』를 포함한다.
도 34(b)는 세컨더리 비디오 스트림에서의 Stream_entry를 나타낸다. 본 도면에 나타낸 바와 같이, 세컨더리 비디오 스트림의 Stream_entry는 세컨더리 비디오 스트림을 참조하고 있는 SubPath 정보를 나타내는 『ref_to_Sub_Path_id』와 세컨더리 비디오 스트림을 구성하는 PES 패킷의 패킷 식별자를 나타내는 『ref_to_stream_PID_of_mainClip』을 포함한다.
이상이 본 실시 예에서의 기록매체의 상세에 대한 설명이다.
이후, PSR1, PSR14, PSR31에 대하여 설명한다. PSR에서의 언어 길이는 32비트이다. PSR의 1 어(one word, 32비트)를 구성하는 각 비트 데이터의 비트 위치를 이후에서는 b0~b31이라 한다. 이 표시법에서는 PSR의 최상위 비트는 b31, 최하위 비트는 b0으로 표시하게 된다.
<PSR14>
도 35(a)는 PSR14의 비트 할당의 일 예를 나타내는 도면이다.
본 도면에 의하면, 32비트 길이의 PSR14에서의 b8~b15는 세컨더리 비디오 스트림의 스트림 번호이며, 현재 PlayItem의 STN_table에 entry가 기술되어 있는 복수의 세컨더리 비디오 스트림 중 하나를 특정한다. PSR14의 설정 값이 변화하면 재생장치는 이 변화 후의 세컨더리 비디오 스트림을 재생한다. PSR14에서의 세컨더리 비디오 스트림의 스트림 번호는 초깃값으로 0xFF가 설정되어 있으며, 재생장치에 의해서 1~32의 값으로 설정될 수 있다. 이 0xFF는 부정 값이며, 세컨더리 비디오 스트림이 존재하고 있지 않다고 하는 취지 또는 세컨더리 비디오 스트림이 선택되어 있지 않다고 하는 취지를 나타낸다. 1~32의 설정 값은 세컨더리 비디오 스트림의 스트림 번호로서 해석된다.
PSR14의 b31은 disp_v_flag이고, 세컨더리 비디오를 재생하는 능력이 재생장치에 존재하는지(1b:Presentation od Secondary Video is enable), 세컨더리 비디오를 재생하는 능력이 재생장치에 존재하지 않는지(0b:Presentation of Secondary Video is disable)를 나타낸다.
<PSR29>
도 35(b)는 PSR29의 비트 할당의 일 예를 나타내는 도면이다.
PSR29의 b0은 HD_Secondary_video_Capability이고, HDTV 대응의 세컨더리 비디오를 재생하는 능력이 재생장치에 존재하는지(1b: HD Secondary Video is capable), HDTV 대응의 세컨더리 비디오를 재생하는 능력이 재생장치에 존재하지 않는지(0b: HD Secondary Video is incapable)를 나타낸다.
PSR29의 b1은 50&25㎐_video_Capability이고, 50&25㎐ 비디오, 즉 PAL 방식의 비디오를 재생하는 능력이 재생장치에 존재하는지(1b: 50&25㎐ Video is capable), 50&25㎐ 비디오를 재생하는 능력이 재생장치에 존재하지 않는지(0b: 50&25㎐ Video is incapable)를 나타낸다.
이상이 PSR 세트(23)에 대한 설명이다.
도 36은 재생제어엔진의 내부 구성의 일 예를 나타내는 도면이다. 본 도면에 나타낸 바와 같이, 재생제어엔진부는 프로시저 실행부(48), PID 변환부(49)를 포함한다.
프로시저 실행부(48)는 어떤 PlayItem 정보로부터 다른 PlayItem 정보로의 절환이 발생한 경우 또는 스트림 번호를 절환한다고 하는 취지의 조작이 사용자에 의해서 이루어진 경우, 소정의 스트림 선택 프로시저를 실행하여 PSR14에 새로운 세컨더리 비디오 스트림의 스트림 번호를 기록한다. 재생장치는 PSR14에 기록된 스트림 번호에 따라서 세컨더리 비디오 스트림을 재생하므로, 이러한 PSR14의 설정을 통해서 세컨더리 비디오 스트림이 선택되게 된다.
PlayItem 정보의 절환 시에 스트림 선택 프로시저를 실행하는 것은, STN_Table은 PlayItem 정보마다 존재하므로, 어떤 PlayItem 정보에서는 재생이 가능했던 세컨더리 비디오 스트림이 다른 PlayItem 정보에서 재생이 불가능해지는 경우가 있을 수 있기 때문이다.
PID 변환부(49)는 PSR 세트(23)에 저장되어 있는 스트림 번호를 STN_Table에 의거하여 PID 참조 값으로 변환하고, 변환결과인 PID 참조 값을 PID Filter(33a), PID Filter(33b)에 지시한다.
도 37은 현재 세컨더리 비디오 스트림을 선택하기 위한 스트림 선택 프로시저의 처리순서를 나타내는 플로차트이다.
스텝 S71에서는 PSR14에 설정된 번호의 세컨더리 비디오 스트림이 아래의 조건 (A), 조건 (B)를 만족하는지 여부를 확인한다.
조건 (A) : Video format, frame_rate와, HD Secondary Video Capability나 50&25㎐ Video Capability의 비교에서는 PSR14에 저장된 번호에 의해 정해지는 세컨더리 비디오 스트림의 재생능력이 재생장치에 존재하고 있다.
조건 (B) : 세컨더리 비디오 스트림에서의 SubPath_Type는 "=6(비 동기 픽처 인 픽처)"이다.
여기서, Video format, frame_rate는 STN_table에서 세컨더리 비디오 스트림에 대한 stream_attribute에 기재되어 있다. 또, HD Secondary Video Capability나 50&25㎐ Video Capability의 유무는 PSR29의 b0, b1에 표시되어 있다. 이들 STN_table에 의한 설정과 PSR29의 b1의 값을 비교함으로써 조건 (A)를 구비하고 있 는지 여부의 판단이 이루어진다.
스텝 S71의 실행 후에 스텝 S72, 스텝 S73을 실행한다.
스텝 S72는 현재 플레이아이템의 STN_table에서의 세컨더리 비디오 스트림의 STN_table에서의 Stream_entry의 개수가 0인지 여부를 판정하는 판정스텝이다. 여기서 세컨더리 비디오 스트림의 STN_table에서의 Stream_entry의 개수가 0이라는 것은 재생이 허가되어 있는 세컨더리 비디오 스트림이 하나도 존재하지 않음을 의미한다. 만약 0인 경우 PSR14의 세컨더리 비디오 스트림 번호를 유지한다(스텝 S73). 현재 플레이아이템에서 재생이 허가되어 있는 세컨더리 비디오 스트림이 존재하지 않는 이상 PSR14의 현상의 값을 유지해야 하기 때문이다.
스텝 S74는 스텝 S73이 0이 아니라고 판정된 경우에 실행되는 판정스텝이며, PSR14에 저장된 번호 X가 STN_table에서의 stream_entry의 총 수 이하이고, 또한, 조건 (A)를 만족하는지 여부를 판정한다. 이 스텝 S74가 Yes라고 판정되면 현재 플레이아이템에 대하여 최적의 현재 세컨더리 비디오 스트림을 선택한다(스텝 S75).
만약, 스텝 S74에서 No라고 판정되었으면 스텝 S76의 판정스텝을 실행한다. 이 판정스텝은 조건 (B)를 만족하는지 여부를 판정하는 것이다. 조건 (B)를 만족하면 스텝 S78에서의 PSR14에 0xFF를 설정하다. 이 0xFF는 PSR14에서의 세컨더리 비디오 스트림 번호는 Valid이나, 세컨더리 비디오 스트림은 비 선택임을 의미하는 값이다. 비 동기 픽처 인 픽처의 실행 시에 이러한 값을 PSR14로 설정해 두면 사용자 조작이 있는 경우에 현재 스트림의 결정순서가 실행되게 된다. 그러나 만약, PSR14의 스트림 번호가 Invalid이면 비록 사용자 조작이 이루어졌다고 하더라도 현 재 스트림의 결정순서는 실행되지 않으며, 아무리 시간이 흘러도 세컨더리 비디오 스트림이 재생되지 않는다고 하는 사태에 빠진다. 이를 피하기 위해서 비 동기 픽처 인 픽처의 실행 시에는 PSR14에 0xFF를 설정하는 것으로 하고 있다.
조건 (B)는 만족하지 않으나 유효한 세컨더리 비디오 스트림 번호가 이미 PSR14에 존재한다면 이것을 변화시키지 않는다(스텝 S77).
이상이 세컨더리 비디오 스트림에서의 스트림 선택 프로시저에 대한 설명이다.
도 38은 현재 플레이아이템에 대해서 최적의 현재 세컨더리 비디오 스트림을 선택하는 처리순서를 나타내는 플로차트이다.
스텝 S81~스텝 S83에서는 이하의 조건 (a), 조건 (b)가 만족되어 있는가의 확인을 STN_table에서의 모든 stream_entry에 기술되어 있는 스트림에 대하여 실행한다.
조건 (a) : 세컨더리 비디오 스트림에 대한 Video format, frame_rate와, HD Secondary Video Capability나 50&25㎐ Video Capability의 비교에서는 PSR14에 저장된 번호에 의해서 정해지는 세컨더리 비디오 스트림의 재생능력이 재생장치에 존재하고 있다.
조건 (b) : 세컨더리 비디오 스트림에서의 SubPath_Type는 "=6(비 동기 픽처 인 픽처)"이다.
이상과 같은 확인이 STN_table에서 재생이 허가되어 있는 모든 세컨더리 비디오 스트림에 대해서 이루어지면 스텝 S84의 판정스텝을 실행한다.
스텝 S84는 조건 (a)를 만족하는 세컨더리 비디오 스트림이 하나도 존재하지 않는지 여부의 판정이며, 만약 그렇다면 0xFFF를 세컨더리 비디오 스트림에 대한 스트림 번호로 PSR14에 설정한다(스텝 S85).
만약, 세컨더리 비디오 스트림이 하나라도 존재하면 스텝 S84는 Yes가 되며, 스텝 S86은 실행되게 된다. 스텝 S86은 조건 (a)를 만족하는 세컨더리 비디오 스트림이며, STN_table에서 선두순위로 되어 있는 것은 조건 (b)를 만족하는지 여부를 판정한다. 만약, 조건 (b)를 만족하면 스텝 S87에서 0xFF가 되는 세컨더리 비디오 스트림 번호를 PSR에 설정한다.
조건 (b)를 만족하지 않는다면 조건 (a)를 만족하는 세컨더리 비디오 스트림 중 대응하는 stream_Entry가 STN_table에서 선두순위에 위치하는 것을 선택하고, 선택한 세컨더리 비디오 스트림의 스트림 번호를 PSR14에 설정한다(스텝 S88).
현재 세컨더리 비디오 스트림에서의 재생구간이 SubPlayItem에 의해서 상정되어 있으면 현재 세컨더리 비디오 스트림에서의 재생구간을 규정하고 있는 서브 플레이아이템은 현재 서브 플레이아이템으로서 특정되게 된다.
이들 순서를 거쳐서 현재 플레이아이템에 있어서 최적의 현재 세컨더리 비디오 스트림이 PSR14에 저장되게 된다. 이상이 최적의 현재 세컨더리 비디오 스트림 번호를 선택하기 위한 선택순서이다.
이상과 같이 본 실시 예에 의하면, BD-ROM이나 로컬 스토리지에 기록되어 있는 세컨더리 비디오 스트림 중에 재생불능인 것이 존재한다고 하더라도 다음의 스트림을 선택한다고 하는 순서를 실행함으로써 「자신이 재생할 수 있는 것을 픽처 인 픽처에 이용한다」고하는 선택의 여지가 생긴다. 따라서, 세컨더리 비디오의 총 사이즈 자체에 편차가 있고, 재생장치에서의 세컨더리 비디오의 재생능력의 유무에 편차가 있었다고 하더라도, 무엇인가의 세컨더리 비디오를 재생장치에 표시시켜서 픽처 인 픽처를 실행시킬 수 있다.
그렇게 하여 선택된 세컨더리 비디오에 대응하는 세컨더리 비디오 스트림을 포함하고 있는 AV 클립이 서브 플레이아이템에 의해서 참조되어 있는 경우, 이러한 AV 클립이 Unavailable 클립이면 재생이 중단하게 된다. 따라서, 현재 세컨더리 비디오 스트림을 포함하고 있는 AV 클립으로서 서브 플레이아이템 정보로부터 참조되고 있는 것의 다운로드를 서두르면 재생이 중단하는 일은 없으므로 원활한 재생진행을 확보할 수 있다.
(제 4 실시 예)
재생될 플레이리스트가 입체시(stereoscopic view) 영상용 플레이리스트인 경우의 개량이다.
입체시를 실현하는 방법으로는 홀로그래피 기술(holography technology)을 이용하는 방법과 시차 화상(parallax image)을 이용하는 방식이 있다.
먼저, 첫 번째인 홀로그래피 기술의 특징으로는 인간이 통상 물체를 인식하는 것과 완전히 동일하게 물체를 입체로 재현할 수 있으나, 동화상 생성에 관해서는 기술적인 이론은 확립하고 있지만, 홀로그래피용의 동화상을 실시간으로 생성하는 방대한 연산량을 수반하는 컴퓨터 및 1㎜ 사이에 수천 개의 선을 그릴만큼의 해상도를 갖는 디스플레이 디바이스가 필요하나 현재의 기술에서의 실현은 매우 어려 우며, 상용으로 실용화되어 있는 예는 거의 없다.
두 번째는 시차 화상을 이용한 방식이다. 이 방식의 이점은 고작 오른쪽 눈 용과 왼쪽 눈 용의 2개의 시점의 영상을 준비하는 것만으로 입체시를 실현할 수 있다는 점에 있으며, 기술적으로는 좌우의 각각의 눈에 대응한 그림을 어떻게 해서 대응하는 눈에만 보이게 할 수 있는가의 관점에서 계시 분리방식을 비롯한 몇 개의 기술이 실용화되어 있다.
이 입체시를 실현하기 위해서 제 1 실시 예에서 설명한 재생장치, 텔레비전을 포함한 홈시어터 시스템에는 계시형 스테레오 고글(sequential-type stereo goggle)이 존재한다.
도 39는 계시형 스테레오 고글의 일 예를 나타내는 도면이다. 본 도면 (a)는 입체시를 실현할 수 있는 홈시어터 시스템을 나타낸다. 본 도면의 홈시어터 시스템에는 텔레비전(104)의 부속품으로 계시형 스테레오 고글(105)이 존재한다.
본 도면 (b)는 계시형 스테레오 고글(105)을 사용자가 장착한 상태를 나타낸다. 계시형 스테레오 고글(105)은 액정셔터를 구비하며, 계시 분리방식에 의한 시차 화상을 사용자에게 시청하게 한다. 시차 화상은 오른쪽 눈에 들어가는 영상과 왼쪽 눈에 들어가는 영상으로 구성되는 한 세트의 영상이며, 각각의 눈에 대응한 픽처만이 사용자의 눈에 들어가도록 해서 입체시를 행하게 한다.
계시 분리방식(sequential segregation method)은 왼쪽 운용 영상 및 오른쪽 눈 용 영상을 시간 축 방향으로 교대로 표시시켜서, 눈의 잔상반응에 의해서 좌우의 신을 뇌 안에서 중첩시켜서 입체영상으로 인식하게 하는 방법이다. 본 도면 (c) 는 평면시를 실현하는 경우의 계시형 고글(105)의 상태를 나타낸다. 평면시를 실현하는 경우에는 양쪽 눈의 액정셔터가 투광상태가 된다. 본 도면 (d)는 왼쪽 눈 용 영상을 표시할 때를 나타낸다. 디스플레이 상에 왼쪽 눈 용 영상이 표시되고 있는 순간에 상술한 계시형 스테레오 고글(105)은 왼쪽 눈에 대응하는 액정셔터를 투과로 하고 오른쪽 눈에 대응하는 액정셔터는 차광한다. 본 도면 (e)는 오른쪽 눈 용 영상을 표시할 때를 나타낸다. 디스플레이 상에 오른쪽 눈 용 영상이 표시되고 있는 순간에 앞에서와는 반대로 오른쪽 눈에 대응하는 액정셔터를 투과로 하고 왼쪽 눈에 대응하는 액정셔터를 차광한다.
이 방식에서는 좌우의 영상을 시간 축 방향으로 교대로 표시하기 위해서, 예를 들어 통상의 2차원의 영화라면 1초에 24장의 영상을 표시시키는데 반해서, 좌우의 영상을 합해서 1초에 48장의 영상을 표시시킬 필요가 있다. 따라서 이 방식에서는 한 화면의 재기록이 비교적 빠른 디스플레이에서 바람직하나, 1초 동안에 소정의 횟수를 재기록할 수 있는 디스플레이라면 한정되지 않는다.
또, 다른 방법으로는, 앞에서의 계시형 스테레오 고글(105)에서는 좌우의 픽처를 시간 축 방향으로 교대로 출력하고 있던 것에 비해, 한 화면 중의 종 방향으로 왼쪽 눈 용의 픽처와 오른쪽 눈 용의 픽처를 동시에 교대로 배열하고, 디스플레이 화면에 렌티큘러 렌즈(lenticular lens)라고 불리는 볼록한 렌즈를 통해서 왼쪽 눈 용의 픽처를 구성하는 화소는 왼쪽 눈에만 결상하고, 오른쪽 눈 용의 픽처를 구성하는 화소는 오른쪽 눈에만 결상하도록 함으로써 좌우의 눈에 시차(視差)가 있는 픽처를 보이게 해서 입체시를 실현하도록 방식이 있다. 또, 렌티큘러 렌즈만이 아 니라, 동일한 기능을 가지게 한 디바이스, 예를 들어 액정소자를 이용하여도 좋으며, 또, 왼쪽 눈 용의 화소에는 종(縱) 편광의 필터, 오른쪽 눈 용의 화소에는 횡(橫) 편광의 필터를 설치하고, 시청자는 왼쪽 눈 용에는 종 편광, 오른쪽 눈 용에는 횡 편광의 필터를 설치한 편광안경을 이용하여 디스플레이를 봄으로써 입체시가 가능해진다.
이 시차 화상을 이용한 입체시는 이미 유원지의 놀이기구 등에서 일반적으로 사용되고 있으며, 기술적으로도 확립되어 있으므로, 가정에서의 실용화에 가장 가까운 것이라고 할 수 있다. 또, 시차 화상을 이용한 입체시를 위한 방법은 이 외에도 2색 분리방식 등 다양한 기술이 제안되어 있으며, 본 실시 예에서는 계시 분리방식 또는 편광 안경방식을 예로 이용하여 설명하나, 시차 화상을 이용하는 한 이들 2가지 방식에 한정되는 것은 아니다.
본 실시 예에서는 입체시에 사용하는 시차 화상을 정보기록매체에 저장하는 방법을 설명한다. 여기서는 왼쪽 눈 용의 화면이 저장된 영상을 「왼쪽 눈 영상」, 오른쪽 눈 용의 화면이 저장된 영상을 「오른쪽 눈 영상」, 양쪽의 영상을 「입체시 영상」이라고 부르기로 한다.
<프라이머리 비디오 스트림, 세컨더리 비디오 스트림의 개량>
본 실시 예에서의 프라이머리 비디오 스트림은 평면시 재생장치에서는 평면시 영상으로서 재생되고, 평면시/입체시 영상재생장치에서 입체시 영상을 재생할 때의 왼쪽 눈 영상으로서 재생되는 비디오 스트림이다. 이 비디오 스트림을 평면시/왼쪽 눈 시청용 비디오 스트림이라 한다.
본 실시 예에서의 세컨더리 비디오 스트림은 오른쪽 눈 시청용 비디오 스트림이 저장되어 있다. 오른쪽 눈 시청용 비디오 스트림은 평면시/입체시 재생장치에서 입체시 영상을 재생할 때의 오른쪽 눈 용의 영상으로 재생되는 비디오 스트림이다. 오른쪽 눈 시청용 비디오 스트림은 프라이머리 비디오 스트림의 PID와 다른 0x1012가 할당되어 있다. 이어서, 평면시/왼쪽 눈 시청용 비디오 스트림과 오른쪽 눈 시청용 비디오 스트림의 구조에 대하여 설명한다.
단, 좌우의 시점에서는 동일한 피사체를 보기 때문에 영상의 상관이 크므로, 시점 간의 픽처 사이에 예측 부호화를 함으로써 오른쪽 눈 용 비디오 스트림은 평면시/왼쪽 눈 시청용 비디오 스트림에 비해서 데이터량을 대폭으로 삭감할 수 있다. 또, 평면시/왼쪽 눈 시청용 비디오 스트림의 프레임 레이트는 평면시/왼쪽 눈 시청용 비디오 스트림 단체(單體)로 평면시 재생장치가 재생한 때의 프레임 레이트이며, 그 값이 GOP 헤더에 저장된다.
도 40은 입체시를 위한 프라이머리 비디오 스트림, 세컨더리 비디오 스트림의 내부 구성의 일 예를 나타내는 도면이다.
본 도면의 제 2 단째는 프라이머리 비디오 스트림의 내부 구성을 나타낸다. 이 프라이머리 비디오 스트림에는 픽처 데이터 I1, P2, Br3, Br4, P5, Br6, Br7, P9라고 하는 픽처 데이터가 포함되어 있다. 이들 픽처 데이터는 DTS에 따라서 디코드 된다. 제 1 단째는 오른쪽 눈 화상을 나타낸다. 그렇게 하여 디코드 된 픽처 데이터 I1, P2, Br3, Br4, P5, Br6, Br7, P9를 PTS에 따라서 I1, Br3, Br4, P2, Br6, Br7, P5의 순서로 재생함으로써 오른쪽 눈 화상이 재생되게 된다.
제 4 단째는 세컨더리 비디오 스트림의 내부 구성을 나타낸다. 이 세컨더리 비디오 스트림은 P1, P2, B3, B4, P5, B6, B7, P8이라고 하는 픽처 데이터가 포함되어 있다. 이들 픽처 데이터는 DTS에 따라서 디코드 된다. 제 1 단째는 왼쪽 눈 화상을 나타낸다. 그렇게 하여 디코드 된 픽터 데이터 P1, P2, B3, B4, P5, B6, B7, P8을 PTS에 따라서 P1, B3, B4, P2, B6, B7, P5의 순서로 재생함으로써 왼쪽 눈 화상이 재생되게 된다.
제 5 단째는 계시형 고글(105)의 상태를 어떻게 변화시키는지를 나타낸다. 이 제 5 단째에 나타낸 것과 같이 왼쪽 눈 화상의 시청 시에는 오른쪽 눈의 셔터를 닫고, 오른쪽 눈 화상의 시청 시에는 왼쪽 눈의 셔터를 닫고 있음을 알 수 있다.
이들 프라이머리 비디오 스트림, 세컨더리 비디오 스트림은 시간방향의 용장성(redundancy)을 이용한 픽처 간 예측 부호화에 더하여, 시점 간의 용장성을 이용한 픽처 간 예측 부호화에 의해서 압축되어 있다. 오른쪽 눈 시청용 비디오 스트림의 픽처는 평면시/왼쪽 눈 시청용 비디오 스트림의 동일한 표시시각의 픽처를 참조하여 압축되어 있다.
예를 들어, 오른쪽 눈 시청용 비디오 스트림의 선두 P 픽처는 평면시/왼쪽 눈 시청용 비디오 스트림의 I 픽처를 참조하고, 오른쪽 눈 시청용 비디오 스트림의 B 픽처는 평면시/왼쪽 눈 시청용 비디오 스트림의 Br 픽처를 참조하며, 오른쪽 눈 시청용 비디오 스트림의 두 번째의 P 픽처는 평면시/왼쪽 눈 시청용 비디오 스트림의 P 픽처를 참조하고 있다.
<비디오 액세스 유닛>
평면시/왼쪽 눈 시청용 비디오 스트림과 오른쪽 눈 시청용 비디오 스트림의 각 비디오 액세스 유닛에 할당하는 표시시각(PTS)과 디코드 시각(DTS)의 관계는 도 40의 시간 축에 나타내는 것과 같다. 평면시/왼쪽 눈 시청용 비디오 스트림에서의 각 픽처 데이터의 DTS와 오른쪽 눈 시청용 비디오 스트림에서의 각 픽처 데이터의 DTS는 시간 축 상에서 교호가 되도록 설정되며, 평면시/왼쪽 눈 시청용 비디오 스트림에서의 각 픽처 데이터의 PTS와 오른쪽 눈 시청용 비디오 스트림에서의 각 픽처 데이터의 PTS도 시간 축 상에서 교호가 되도록 설정된다. 이는 픽처 간 예측 부호화의 참조관계에 있는 평면시/왼쪽 눈 시청용과 오른쪽 눈 시청용의 픽처의 디코드 순서, 표시순서를 교대로 설정함으로써 실현할 수 있다.
또, 평면시/왼쪽 눈 시청용의 프레임과 다음의 오른쪽 눈 시청용의 프레임 간의 DTS의 시간간격은 평면시/왼쪽 눈 시청용의 1프레임의 표시시간 간격의 절반이 되도록 설정한다. 마찬가지로, 평면시/왼쪽 눈 시청용의 프레임과 다음의 오른쪽 눈 시청용의 프레임 간의 PTS의 시간간격은 평면시/왼쪽 눈 시청용의 1프레임의 표시간격의 절반이 되도록 설정한다.
<입체시 표시지연>
평면시/왼쪽 눈 시청용 비디오 스트림의 픽처와 동일한 표시시각의 오른쪽 눈 시청용 비디오 스트림의 픽처의 PTS의 간격의 차분을 입체시 표시지연이라고 한다. 입체시 표시지연은 평면시/왼쪽 눈 시청용 비디오 스트림의 1프레임의 표시간격의 절반의 값이 된다.
<입체시 플레이리스트>
입체시 플레이리스트에는 오른쪽 눈 시청용을 저장하기 위한 서브패스가 준비되어 있다. 서브패스는 오른쪽 눈 시청용을 저장하는 복수의 AV 클립을 참조하고 있으며, 메인패스와 시간 축 상에서 동기하도록 설정된다. 이 구조에 의해서 평면시 플레이리스트와 입체시 플레이리스트에서 평면시/왼쪽 눈 시청용이 저장된 AV 클립을 공유할 수 있으며, 입체시 플레이리스트에서는 왼쪽 눈 영상과 오른쪽 눈 시청용을 시간 축 상에서 동기시켜서 관련지을 수 있다.
입체시 플레이리스트와 평면시 플레이리스트를 구별하기 위해서 플레이리스트 정보에는 입체시 플래그가 존재한다. 입체시 플래그는 플레이리스트 정보 내의 스트림 번호 테이블에서 세컨더리 비디오 스트림의 재생이 허가되어 있어서 세컨더리 비디오 스트림을 재생함에 따른 입체시가 가능한지 여부를 나타낸다.
이상이 기록매체의 개량이다. 이어서, 재생장치의 상세에 대하여 설명한다. 본 실시 예에서의 재생장치는 프라이머리 비디오 플레인(35)이 2D/왼쪽 눈 영상 플레인(61)과 오른쪽 눈 시청용 플레인(62)으로 치환되어 있다. 그리고 q13이 z41과 같은 내부 구성을 갖는다.
도 41은 시스템 타깃 디코더(13)의 내부 구성의 일 예를 나타내는 도면이다. 본 도면의 내부 구성 중 세컨더리 비디오 디코더, IG 디코더, PG 디코더, 프라이머리 오디오 디코더, 세컨더리 오디오 디코더, 음성믹서, 이미지 프로세서의 구성은 제 1 실시 예에서 설명한 평면시용의 재생장치와 동일하므로 생략한다.
소스 디패킷타이저(32a)는 리드 버퍼(11)에 축적된 소스 패킷을 해석하고, TS 패킷을 인출하여 PID 필터(33a)에 송출한다.
소스 디패킷타이저(32b)는 리드 버퍼(11)에 축적된 소스 패킷을 해석하고, TS 패킷을 인출하여 PID 필터(34b)에 송출한다. 이 송출 시에 각 소스 패킷의 ATS에 따라서 디코더로의 입력시각을 조정한다. 구체적으로는 ATC 카운터가 생성하는 ATC의 값과 소스 패킷의 ATS 값이 동일하게 된 순간에 AV 클립의 기록 레이트에 따라서 그 TS 패킷만을 PID 필터에 전송한다.
PID 필터(33a)는 소스 디패킷타이저(32a)에서 출력된 TS 패킷 중 TS 패킷의 PID가 재생에 필요한 PID에 일치하는 것을 PID에 따라서 3D 비디오 디코더의 TB(31), 세컨더리 비디오 디코더, IG 디코더, PG 디코더, 음성 디코더, 세컨더리 오디오 디코더에 전송한다. 또, PID 필터(34)는 소스 디패킷타이저(32a)에서 출력된 TS 패킷 중 TS 패킷의 PID가 재생에 필요한 PID에 일치하는 것을 PID에 따라서 3D 비디오 디코더의 TB(51)에 전송한다.
3D 비디오 디코더(50)는 TB(51), EB(53), TB(58), M(59), 디코더(54), DPB(55), 버퍼 스위치(56), 픽처 스위치(57), EB(60)로 구성된다.
TB(51)는 2D/왼쪽 눈 영상 비디오 스트림을 포함하는 TS 패킷이 PID 필터(33)에서 출력된 때에 TS 패킷인 상태로 일단 축적되는 버퍼이다.
MB(52)는 TB(51)에서 EB(53)에 비디오 스트림을 출력할 때에 일단 PES 패킷을 축적해 두기 위한 버퍼이다. TB(51)에서 MB(52)에 데이터가 전송될 때에 TS 패킷의 TS 헤더는 제거된다.
EB(53)은 부호화 상태에 있는 비디오 액세스 유닛이 저장되는 버퍼이다. MB(52)에서 EB(53)에 데이터가 전송될 때에 PES 헤더가 제거된다.
TB(58)는 오른쪽 눈 시청용 비디오 스트림을 포함하는 TS 패킷이 PID 필터(34)에서 출력된 때에 TS 패킷인 상태로 일단 축적되는 버퍼이다.
MB(59)는 TB(58)에서 EB(60)에 비디오 스트림을 출력할 때에 일단 PES 패킷을 축적해 두기 위한 버퍼이다. TB(58)에서 MB(59)에 데이터가 전송될 때에 TS 패킷의 TS 헤더는 제거된다.
EB(60)는 부호화 상태에 있는 비디오 액세스 유닛이 저장되는 버퍼이다. MB(59)에서 EB(60)에 데이터가 전송될 때에 PES 헤더가 제거된다.
디코더(54)는 비디오 엘리멘터리 스트림의 각각의 비디오 액세스 유닛을 소정의 복호시각(DTS)으로 디코드함으로써 프레임/필드 화상을 작성한다. AV 클립에 다중화되는 비디오 스트림의 압축부호화 형식에는 MPEG2, MPEG4AVC, VC1 등이 있으므로, 스트림의 속성에 따라서 디코더(54)의 디코드 방법은 절환된다. 디코더(54)는 디코드 된 프레임/필드 화상을 DPB(55)에 전송하고, 표시시각(PTS)의 타이밍에 대응하는 프레임/필드 화상을 픽처 스위치에 전송한다.
DPB(55)는 복호 된 프레임/필드 화상을 일시적으로 유지해두는 버퍼이다. 디코더(54)가 픽처 간 예측 부호화된 P 픽처나 B 픽처 등의 비디오 액세스 유닛을 디코드할 때에 이미 디코드 된 픽처를 참조하기 위해서 이용한다.
버퍼 스위치(56)는 EB와 EB에 축적된 픽처를 비디오 액세스 유닛에 할당된 복호시각(DTS)의 타이밍에 디코더(54)에 전송한다. 또, 디코더(54)가 비디오 액세스 유닛을 디코드할 때에 취득한 디코드 스위치 정보를 사용하여 다음의 액세스 유닛을 EB, EB의 어디에서 추출할지를 결정하여도 좋다. 또, 2D/왼쪽 눈 영상 비디오 스트림과 오른쪽 눈 시청용 비디오 스트림의 DTS는 시간 축 상에서 픽처 단위로 교대로 오도록 설정되어 있으므로, 예를 들어 DTS를 무시하고 앞당겨서 디코드하는 디코더(54)의 경우에는 픽처 단위로 비디오 액세스 유닛을 디코더(54)에 전송하여도 좋다.
픽처 스위치(57)는 디코더(54)로부터 전송된 디코드가 완료된 프레임/필드 화상이 2D/왼쪽 눈 영상의 스트림인 경우에는 2D/왼쪽 눈 영상 플레인(61)에, 오른쪽 눈 시청용의 스트림인 경우에는 오른쪽 눈 시청용 플레인(62)에 즉시 기록한다.
이상이 시스템 타깃 디코더에 대한 설명이다. 이어서, 본 실시 예에서의 가상패키지 제어부(16)의 개량에 대하여 설명한다.
가상패키지 제어부(16)는 입체시 플래그가 오프로 설정되어 있으면, 어떤 세컨더리 비디오 스트림을 포함하고 있는 AV 클립이 다운로드 되지 않았어도 DataStarved 이벤트를 출력하지 않는다. 따라서, 세컨더리 비디오 스트림이 다운로드 되어 있지 않아도 JMF 플레이어 인스턴스 및 재생제어엔진은 재생을 정지하지 않는다.
반대로, 입체시 플래그가 온으로 설정되어 있으면, 현재 세컨더리 비디오 스트림이 서브 플레이아이템에 대응하고 있고, 그 서브 플레이아이템이 아직 다운로드 되어 있지 않은 AV 클립이나 Disable 상태인 AV 클립을 참조하고 있는 경우, 가상패키지 제어부(16)는 DataStarved 이벤트를 재생제어엔진 및 JMF 플레이어 인스턴스에 통지한다. 이에 의해서 재생이 정지한다.
또, 계시형 고글(105)이 제거되고, 재생장치(101)의 설정이 "입체시 오프"인 경우에도 세컨더리 비디오 스트림을 저장한 AV 클립의 다운로드를 기다리지 않고 재생을 진행한다.
이상과 같이 본 실시 예에 의하면, 입체시가 오프로 설정되어 있는 경우, 세컨더리 비디오 스트림을 포함하는 AV 클립의 다운로드를 기다리지 않고 플레이아이템의 재생을 진행시킬 수 있다.
(제 5 실시 예)
본 실시 예에서는 현재 프라이머리 오디오 스트림, 현재 세컨더리 오디오 스트림을 선택하기 위한 상세한 데이터 구조와 재생장치에서의 구성에 대하여 설명한다.
도 42는 Primary_audio_stream_entry, Secondary_audio_stream_entry의 내부 구성과 Comb_info_Secondary_video_Secondary_audio의 내부 구성의 일 예를 나타내는 도면이다. 도면 중의 인출 선 ha1, ha2는 Primary_audio_stream_entry, Secondary_audio_stream_entry의 내부 구성을 클로즈업하고 있다. 이들 내부 구성은 모두 공통이며, stream_entry와 stream_attribute로 이루어진다.
인출 선 ha3은 Stream_entry의 내부 구성을 클로즈업하여 나타내고 있다. 이 인출 선에 나타낸 것과 같이, 프라이머리 오디오 스트림 및 세컨더리 오디오 스트림의 Stream_entry는 세컨더리 오디오 스트림을 참조하고 있는 SubPath 정보를 나타내는 『ref_to_Sub_Path_id』, 프라이머리 오디오 스트림 및 세컨더리 오디오 스트림이 다중화되어 있는 SubClip을 나타내는 『ref_to_Sub_Clip_entry_id』, 프라이머리 오디오 스트림 및 세컨더리 오디오 스트림을 구성하는 PES 패킷의 PID에 대 한 참조 값을 나타내는 『ref_to_stream_PID_of_Sub_Clip』를 포함한다.
인출 선 ha4은 Stream_attribute의 내부 구성을 클로즈업하여 나타내고 있다. 이 인출 선에 나타낸 것과 같이, 프라이머리 오디오 스트림, 세컨더리 오디오 스트림에서의 Stream_attribute는 오디오 스트림의 부호화 방식을 나타내는 『stream_coding_type』, 대응하는 오디오 스트림의 채널 구성을 나타내는 『audio_presentation_type』, 대응하는 오디오 스트림의 샘플링 주파수를 나타내는 『Sampling_frequency』, 오디오 스트림의 언어속성을 나타내는 『audio_language code』로 이루어진다.
이 세컨더리 오디오 스트림에 대응하는 정보로 세컨더리 비디오 스트림용의 stream_entry에는 인출 선 ha5에 나타낸 것과 같이 Comb_info_Secondary_ video_Secondary_audio가 존재한다.
인출 선 ha6은 Comb_info_Secondary_video_Secondary_audio의 내부 구성을 클로즈업하여 나타내고 있다. Comb_info_Secondary_video_Secondary_audio는 각 Secondary 비디오 스트림별로 조합이 가능한 세컨더리 오디오 스트림의 총 수를 나타내는 「nubmer_of_Secondary_audio_stream_ref_entries」와, 세컨더리 비디오 스트림의 재생 시에 조합할 수 있는 세컨더리 오디오 스트림의 스트림 번호를 나타내는 「Secondary_audio_stream_id_ref[0]~[n]」으로 이루어진다.
이상과 같이 STN_table에는 프라이머리 비디오 스트림의 음성이 되는 프라이머리 오디오 스트림의 stream_entry, 세컨더리 비디오 스트림의 음성이 되는 세컨더리 오디오 스트림의 stream_entry의 각각이 있으며, 또, 세컨더리 비디오 스트림 의 stream_entry에는 세컨더리 비디오 스트림과의 조합을 의도한 세컨더리 오디오 스트림이 세컨더리 비디오 스트림별로 기술되어 있음(Comb_info_Secondary_ video_Secondary_audio)을 알 수 있다.
이상이 오디오 스트림 재생을 위한 기록매체의 특징이다. 다음에, 오디오 스트림 재생을 위한 재생장치의 특징에 대하여 설명한다.
음성재생을 위한 구성으로 재생장치에는 현재 프라이머리 오디오 스트림의 스트림 번호와 현재 세컨더리 오디오 스트림의 스트림 번호에 대하여 설명한다.
<PSR1>
도 43(a)은 PSR1의 비트 할당의 일 예를 나타내는 도면이다.
본 도면에 의하면, 32비트 길이의 PSR1의 하위 8비트(b0~b7)는 프라이머리 오디오 스트림 번호이며, 현재 PlayItem의 STN_table에 entry가 기술되어 있는 복수의 프라이머리 오디오 스트림 중 하나를 특정한다. PSR1의 설정 값이 변화하면 재생장치는 이 변화 후의 프라이머리 오디오 스트림을 재생한다. PSR1은 초깃값으로 0xFF가 설정되어 있으며, 재생장치에 의해서 1~32의 값으로 설정될 수 있다. 이 0xFF는 부정 값이며, 프라이머리 오디오 스트림이 존재하지 않는다고 하는 취지, 또는 프라이머리 오디오 스트림이 선택되어 있지 않다고 하는 취지를 나타낸다. 1~32의 설정 값은 프라이머리 오디오 스트림의 스트림 번호로 해석된다.
<PSR14>
도 43(b)은 PSR14의 비트 할당의 일 예를 나타내는 도면이다.
본 도면에 의하면, 32비트 길이의 PSR14에서의 하위 8비트(b0~b7)은 세컨더 리 오디오 스트림 번호이며, 현재 PlayItem의 STN_table에 entry가 기술되어 있는 복수의 세컨더리 오디오 스트림 중 하나를 특정한다. PSR14의 설정 값이 변화하면 재생장치는 이 변화 후의 세컨더리 오디오 스트림을 재생한다. PSR14는 초깃값으로 0xFF가 설정되어 있고, 재생장치에 의해서 1~32의 값으로 설정될 수 있다. 이 0xFF는 부정 값이며, 세컨더리 오디오 스트림이 존재하지 않는다고 하는 취지 또는 세컨더리 오디오 스트림이 선택되어 있지 않다고 하는 취지를 나타낸다. 1~32의 설정 값은 세컨더리 오디오 스트림의 스트림 번호로 해석된다.
도 44는 현재 플레이아이템 변화 시에서의 현재 프라이머리 오디오 스트림 결정순서를 나타내는 플로차트이다. 스텝 S96, 스텝 S97은 STN_table에 나타내는 모든 프라이머리 오디오 스트림에 대하여 스텝 S98을 반복하는 루프처리를 형성하고 있다. 이 루프처리에서 처리대상이 되는 각각의 프라이머리 오디오 스트림을 프라이머리 오디오 스트림 i라 한다. 스텝 S98은 프라이머리 오디오 스트림 i가 3개의 조건 (a) (b) (c)를 만족하는지를 확인한다.
조건 (a)는 프라이머리 오디오 스트림 i를 재생하는 능력이 재생장치에 존재하는 것이며, 이를 만족하는지 여부의 판정은 PSR15와 프라이머리 오디오 스트림 i의 stream_coding_type의 비교에 의해서 이루어진다.
조건 (b)는 프라이머리 오디오 스트림 i의 언어속성이 덱 정보(deck inforamtion)와 동일한 것이다. 덱 정보란 재생장치의 언어설정을 나타내는 정보이며, 조건 (b)를 만족하는지 여부의 판정은 STN_table에 기술된 프라이머리 오디오 스트림 i의 Audio_language_code가 PSR16의 설정 값과 동일한지 여부의 비교에 의 해 이루어진다.
조건 (c)는 프라이머리 오디오 스트림 i의 채널 속성이 서라운드이며, 이를 재생하는 능력이 재생장치에 존재하는 것이다. 이를 만족하는지 여부의 판정은 PSR15와, AudioStream의 audio_presentation_type, stream_coding_type의 비교에 의해서 이루어진다.
이들 복수의 조건 중 「프라이머리 오디오 스트림 i가 어느 것과 어느 것을 만족하는가」, 또는 「몇 개의 조건을 만족하는가」라고 하는 만족하는 조건의 패턴에 의해 본 플로차트는 프라이머리 오디오 스트림에 우선순위를 부여한다.
이상의 처리를 프라이머리 오디오 스트림의 전부에 대하여 반복하면 스텝 S99~스텝 S103의 처리를 한다. 스텝 S99는 (a)를 만족하는 프라이머리 오디오 스트림이 존재하지 않는가 여부의 판정이다. 만약 존재하지 않으면 부정값(0xFF)을 PSR1에 설정한다(스텝 S104).
스텝 S100은 조건 (a) (b) (c) 전부를 만족하는 프라이머리 오디오 스트림이 존재하는지 여부의 판정이다. 만약 존재하면 조건 (a) (b) (c)를 만족하는 프라이머리 오디오 스트림의 번호를 PSR1에 설정한다(스텝 S105).
여기서 문제가 되는 것이 조건 (a)(b)(c)를 만족하는 프라이머리 오디오 스트림이 복수 존재하는 경우이다. 조건 (a)~조건 (c)가 모두 만족하게 되므로 동일한 우선순위가 되어버려서 우열을 가릴 수 없게 된다. 이 경우, 스텝 S105에서는 STN_table에서의 entry의 순서에 따라서 각 스트림에서의 순위가 정해진다. 즉, 코덱-언어속성-채널속성이 동일한 프라이머리 오디오 스트림에 대해서는 STN_table에 서의 entry의 순위를 참조함으로써 가장 우선순위가 높은 프라이머리 오디오 스트림이 선택되게 된다.
STN_table에서의 기술 순서를 바꿈으로써 편집 담당자는 재생 시에 어떤 스트림을 우선적으로 재생시키고 어떤 스트림을 나중에 재생시키는가의 선택제어를 편집 시에 규정할 수 있다.
스텝 S101은 조건 (a)(b)(c) 전부를 만족하는 프라이머리 오디오 스트림이 존재하지 않는 경우에 조건 (a)(b)를 만족하는 프라이머리 오디오 스트림이 존재하는지 여부의 판정이다. 만약 존재하면 조건 (a)(b)를 만족하는 프라이머리 오디오 스트림 중 STN_table에서의 엔트리 순위가 가장 높은 것을 PSR1에 설정한다(스텝 S106).
스텝 S102는 조건 (a)(b)(c) 전부를 만족하는 프라이머리 오디오 스트림 또는 조건 (a)(b)를 만족하는 프라이머리 오디오 스트림이 존재하지 않는 경우에 조건 (a)(c)를 만족하는 프라이머리 오디오 스트림이 존재하는가 여부의 판정이다. 만약 존재하면 조건 (a)(c)를 만족하는 프라이머리 오디오 스트림 중 STN_table에서의 엔트리 순위가 가장 높은 것을 PSR1에 설정한다(스텝 S107).
스텝 S103은 조건 (a)(b)(c) 전부, 조건 (a)(b), 조건 (a)(c)를 만족하는 프라이머리 오디오 스트림이 존재하지 않는 경우에 (a)를 만족하는 프라이머리 오디오 스트림이 존재하는가 여부의 판정이다. 만약 존재하면 (a)를 만족하는 프라이머리 오디오 스트림 중 STN_table에서의 엔트리 순위가 가장 높은 것을 PSR1에 설정한다(스텝 S108).
현재 프라이머리 오디오 스트림에서의 재생구간이 SubPlayItem에 의해서 규정되어 있으면 현재 프라이머리 오디오 스트림에서의 재생구간을 규정하고 있는 서브 플레이아이템이 현재 서브 플레이아이템으로서 특정되게 된다.
이상이 현재 프라이머리 오디오 스트림을 선택하기 위한 스트림 선택 프로시저이다.
이어서, 세컨더리 오디오 스트림을 선택하기 위한 스트림 선택 프로시저의 처리순서에 대하여 설명한다.
도 45는 세컨더리 오디오 스트림의 스트림 선택 프로시저의 처리순서를 나타내는 플로차트이다. 스텝 S111에서 PSR14에서 세컨더리 오디오 스트림 번호를 취득하고, 스텝 S112에서 취득한 번호의 세컨더리 오디오 스트림이 조건 (A)를 만족하는지 여부를 판정한다.
조건 (A) : Comb_info_secondary_video_Secondary_audio에 규정된 세컨더리 오디오 스트림 번호와 PSR14에서 취득한 세컨더리 오디오 스트림 번호의 비교에서는 어느 번호의 세컨더리 오디오 스트림과 현재 세컨더리 비디오 스트림의 조합이 허가되어 있다.
이 판정을 거친 후에 스텝 S113을 실행한다. 스텝 S113에서는 현재 플레이아이템에서의 세컨더리 오디오 스트림의 STN_table에서의 Stream_entry의 개수가 0인지 여부를 판정하는 것이다. 만약 STN_table에서의 Stream_entry의 개수가 0이면 PSR14의 세컨더리 오디오 스트림 번호를 유지한다(스텝 S116). 만약 STN_table에서의 Stream_entry의 개수가 0이 아니면 스텝 S114의 판정을 한다.
스텝 S114에서는 세컨더리 오디오 스트림 번호가 현재 플레이아이템에서의 STN_table의 stream_entry 수 이하이고 또한 조건 (A)를 만족하는지 여부를 판정한다. 만약 만족하면 유효한 세컨더리 오디오 스트림 번호가 이미 PSR14에 존재하는 것으로 생각되므로 이를 변화시키지 않는다(스텝 S117). 만족하지 않는다면 현재 플레이아이템에 대하여 최적의 현재 세컨더리 오디오 스트림을 선택한다(스텝 S115).
이상이 세컨더리 오디오 스트림에서의 스트림 선택 절차에 대한 설명이다.
도 46은 현재 플레이아이템에 대하여 최적의 현재 세컨더리 오디오 스트림을 선택하는 순서를 나타내는 플로차트이다.
스텝 S121~스텝 S123은 임의의 스트림에 대하여 이하의 조건이 만족되고 있는지 여부의 확인을 STN_table에서의 모든 stream_entry에 기술되어 있는 스트림에 대하여 실행한다.
조건 (a) : Comb_info_secondary_video_Secondary_audio에 규정된 세컨더리 오디오 스트림 번호와 세컨더리 오디오 스트림 i의 번호의 비교에서는 세컨더리 오디오 스트림 i와 현재 세컨더리 비디오 스트림의 조합이 허가되어 있다.
조건 (b) : 현재 프라이머리 오디오 스트림의 audio_lnaguage_code와 세컨더리 오디오 스트림의 audio_language_code가 일치하고 있다.
이상의 확인을 STN_table에서 재생이 허가되어 있는 모든 세컨더리 오디오 스트림에 대하여 실행하면 스텝 S124를 실행한다.
스텝 S124는 조건 (a)를 만족하는 세컨더리 오디오 스트림이 존재하는가 여 부를 판정하는 판정스텝이다. 존재하지 않으면 0xFF가 되는 세컨더리 오디오 스트림 번호를 PSR14에 설정한다(스텝 S125).
조건 (a)를 만족하는 세컨더리 오디오 스트림이 존재하면 스텝 S126의 판정을 실행한다. 이는 조건 (a) 및 조건 (b)를 만족하는 세컨더리 오디오 스트림이 적어도 하나 존재하는지 여부를 판정한다고 하는 것이다. 존재한다면 조건 (a) 및 조건 (b)를 만족하는 스트림 중 대응하는 Stream_Entry가 STN_table에서 최초로 위치하는 것을 선택하고, 선택한 세컨더리 오디오 스트림의 세컨더리 오디오 스트림 번호를 PSR14에 설정한다(스텝 S127).
조건 (a) 및 조건 (b)를 만족한 세컨더리 오디오 스트림이 존재하지 않으면 스텝 S128의 판정을 실행한다. 이는 조건 (a)를 만족하는 세컨더리 오디오 스트림이 존재하는지 여부를 판정하는 것이다. 만약 존재하면 조건 (a)를 만족하는 세컨더리 오디오 스트림 중 대응하는 Stream_Entry가 STN_table에서 선두순위에 위치하는 것을 선택하고, 선택한 세컨더리 오디오 스트림의 세컨더리 오디오 스트림 번호를 PSR14에 설정한다(스텝 S129).
현재 세컨더리 오디오 스트림에서의 재생구간이 SubPlayItem에 의해서 규정되어 있으면 현재 세컨더리 오디오 스트림에서의 재생구간을 규정하고 있는 서브 플레이아이템이 현재 서브 플레이아이템으로서 특정되게 된다.
이상과 같이 본 실시 예에 의하면, 프라이머리 비디오 스트림용의 프라이머리 오디오 스트림, 세컨더리 비디오 스트림용의 세컨더리 오디오 스트림으로 각각의 재생을 허가할지를 STN_table에 규정해두고, 이 STN_table에 존재하는 stream_entry에서 프라이머리 오디오 스트림, 세컨더리 오디오 스트림을 각각 하나 선택하여 이들의 믹싱 출력을 하므로, 픽처 인 픽처의 실행 시에 본편의 음성에 영화감동에 의한 코멘터리가 부가된 합성음성을 들을 수 있다.
그렇게 선택된 프라이머리 오디오 스트림, 세컨더리 오디오 스트림을 포함하고 있는 AV 클립이 서브 플레이아이템에 의해서 참조되어 있는 경우, 이러한 AV 클립이 Unavailable 클립이면 재생이 중단하게 된다. 따라서, 현재 프라이머리 오디오 스트림, 현재 세컨더리 오디오 스트림을 포함하고 있는 AV 클립이고, 서브 플레이아이템 정보로부터 참조되고 있는 것의 다운로드를 서두르면 재생이 중단하는 일은 없으므로 원활한 재생진행을 확보할 수 있다.
(제 5 실시 예)
본 실시 예에서는 현재 자막 스트림을 선택하기 위한 데이터 구조와 재생장치에서의 개량을 설명한다.
먼저, STN_table에서의 자막을 위한 stream_entry에 대하여 설명한다. 프라이머리 오디오 스트림, 세컨더리 오디오 스트림은 각각 프라이머리 비디오 스트림, 세컨더리 비디오 스트림에 할당되었으나, 자막에는 프레젠테이션 그래픽스 스트림, 텍스트 자막 스트림이라고 하는 구별은 있으나, 프라이머리 비디오 스트림용, 세컨더리 비디오 스트림용이라고 하는 명확한 구별은 존재하지 않는다.
이후, PGtexttST 스트림에 대한 stream_entry에 대하여 설명한다. 도 47은 STN_table 중, PGtextST 스트림에 특히 관련이 있는 것을 추출하여 묘사한 도면이다. 이 도면에 의하면, STN_table 중, 자막 표시에 특히 관련된 것은 「 number_of_PG_textST_streams_entries[1]~[n]」,「number_of_PiP_textST_stream_entries_plus」, 「PGtextST_stream_entry」, 「Secondary_video_Stream_entry」 내의 「Comb_info_Secondary_video_PiP_PG_textST」임을 알 수 있다.
「number_of_PG_textST_streams_entries」는 픽처 인 픽처를 실행하고 있지 않은 경우에 선택의 대상이 되는 PGtextST 스트림의 개수를 나타낸다.
「number_of_PiP_textST_stream_entries_plus」은 픽처 인 픽처 애플리케이션을 위해서 STN_table에 정의되어 있는 number_of_PG_textST_streams_entries에 추가할 프레젠테이션 그래픽스 스트림 및 텍스트 자막 스트림의 개수를 나타낸다. 이 number_of_PG_textST_streams_entries와 number_of_PiP_PG_textST_stream_ entries_plus의 합은 255 이하가 된다.
여기서, number_of_PG_textST_streams_entries가 n1인 경우에는 1에서 n1까지의 스트림 번호의 범위가 PG 텍스트 자막 스트림의 범위가 되나, number_of_PiP_PG_textST_stream_entries_plus가 n2이면 픽처 인 픽처의 실행 시에 1에서 n1+n2까지의 스트림 번호의 범위가 PG 텍스트 자막 스트림의 범위가 된다. 즉, number_of_PiP_PG_textST_stream_sntries_plus가 STN_table에 기술되어 있으면, PGtextST 스트림의 스트림 번호의 범위는 number_of_PiP_PG_textST_ stream_entries_plus에 기술된 개수만큼 확대되게 된다.
비(非) 픽처 인 픽처 시에는 PGtextST 스트림에 대한 stream_entry 중 1에서 n1까지의 것이 선택의 대상이 되며, 픽처 인 픽처 시에는 PGtextST 스트림에 대한 Stream_entry 중 1에서 n1+n2까지의 것이 선택의 대상이 된다. 미리 말해두지만, 픽처 인 픽처가 행해지는 경우라도 프라이머리 비디오의 자막, 세컨더리 비디오의 자막이 각각 재생되는 것은 아니다. 픽처 인 픽처에서 표시되는 것은 프라이머리 비디오용의 자막, 세컨더리 비디오용의 자막 중 어느 하나이다. 이는 프라이머리 비디오용, 세컨더리 비디오용의 자막을 따로따로 BD-ROM에 기록해 둔다고 하면 재생장치에는 그래픽스용의 디코더가 2개 필요해져서 하드웨어 비용의 증대를 초래하고(ⅰ), 세컨더리 비디오용으로 자막을 축소해서 표시하였다고 하더라도 보기 힘들게 될 뿐(ⅱ)이라고 하는 2가지의 이유에 의한다.
인출 선 hp1은 PG_textST_Stream_entry의 내부 구성을 클로즈업해서 나타내고 있다. 이 인출 선에 나타낸 것과 같이, PG_textST_Stream_entry는 Stream_entry, Stream_attribute를 갖고 있으며, Stream_entry 중에 재생이 허가되어 있는 PGtextST 스트림의 PID가 존재한다.
인출 선 hp2는 「Secondary_video_Stream_entry[1]」의 내부 구성을 클로즈업해서 나타내고 있다. 이 내부 구성에서의 Comb_info_Secondary_ video_PiP_PG_textST에는 PGtextST 스트림 중 세컨더리 비디오 스트림과의 조합이 허가되어 있는 것을 고유하게 나타내고 있다.
인출 선 hp3은 Comb_info_Secondary_video_PiP_PG_textST의 내부 구성을 나타낸다. Comb_info_Secondary_video_PiP_PG_textST는 각 세컨더리 비디오 스트림별로 조합이 가능한 PiP_PG_텍스트 자막 스트림의 총 수를 나타내는 「number_of_PiP_PG_textST_stream_ref_entries」와, 재생 시에 조합할 수 있는 PiP_PG_텍스트 자막 스트림의 스트림 번호를 나타내는 「PiP_PG_textST_ stream_id_ref[0]~[n]」으로 이루어진다.
이상이 본 실시 예에서의 기록매체의 개량이다. 이어서, 본 실시 예에서의 재생장치에 대한 개량에 대하여 설명한다. 자막재생을 위한 구성으로 재생장치에는 픽처 인 픽처 실행 시에서의 현재 PGTextST 스트림의 스트림 번호와 픽처 인 픽처 비 실행시에서의 현재 PGTextST 스트림의 스트림 번호가 각각 따로따로 PSR 세트 23에 저장되어 있다.
도 48(a)은 현재 PGtextST 스트림의 스트림 번호가 취급할 수 있는 수치범위의 일 예를 나타내는 도면이다. 비 픽처 인 픽처 실행시에서 현재 PGtextST 스트림의 스트림 번호는 STN_table에 기재된 PiP_PG_text_ST_stream_number을 n1로 하면 본 도면의 상단에 나타낸 바와 같이 1에서 n1까지의 값을 취한다.
한편, 픽처 인 픽처 실행시에서의 현재 PGtextST 스트림 번호는 PiP_PG_TextST 스트림 번호라고 하며, STN_table에 기재된 PG_text_ST_steream_ number를 n1, STN_table에 기재된 number_of_PiP_PG_textST_stream_entries_plus를 n2로 하면, 본 도면의 하단에 나타낸 것과 같이, PiP_PG_textST 스트림 번호는 1에서 n1+n2까지의 값을 취한다.
도 48(b)은 PSR2의 비트 할당의 일 예를 나타내는 도면이다. 이후, PSR2에서의 각 비트의 의미에 대하여 설명한다.
· disp_s_flag :
PSR2의 b31은 disp_s_flag이며, 그 1비트의 설정 값은 아래와 같이 해석된다.
0b :「PG textST 스트림」과 「PiP PG textST 스트림」의 양쪽을 표시하는 것은 불가능하다는 것을 나타낸다.
1b : 「PG textST 스트림」과 「PiP PG textST 스트림」의 양쪽을 표시하는 것이 가능하다는 것을 나타낸다.
disp_s_flag가 오프로 되어 있는 경우에는 PG 텍스트 자막 스트림 선택을 위한 프로시저를 실행하지 않는다. PSR2에서의 disp_s_flag가 오프로 되어 있으면 현재 PG 텍스트 자막 스트림이 존재하지 않으므로 도 34의 스텝 S34, 스텝 S35에서는 PG 텍스트 자막 스트림만을 포함하고 있는 AV 클립은 다운로드의 선택대상에서 제외한다. PG 텍스트 자막 스트림만을 포함하고 있는 AV 클립의 다운로드를 생략할 수 있으므로 자막이 오프로 되어 있으면 PG 텍스트 자막 스트림만을 포함하고 있는 AV 클립이 다운로드 되지 않았더라도 재생을 진행시켜 갈 수 있다. 이에 의해서 어떤 플레이아이템에서 다음의 플레이아이템의 절환을 고속으로 실현할 수 있다.
· PiP_PG_textST_valid_flag :
PSR2의 b30은 PiP_PG_textST_valid_flag이며, 그 1비트의 설정 값은 아래와 같이 해석된다.
0b : 현재 플레이아이템의 표시 중에 세컨더리 비디오 스트림이 표시되어 있는 경우에는 PSR2에서 정의된 PG TextST Stream Number가 이용된다.
1b : 현재 플레이아이템의 표시 중에 세컨더리 비디오 스트림이 표시되어 있는 경우에는 PSR2에서 정의된 PiP PG TextST Stream Number가 이용된다.
현재 플레이아이템의 표시 중에 세컨더리 비디오 스트림이 표시되어 있지 않 은 경우에는 PiP_PG_textST_valid_flag는 BD-ROM 재생장치의 표시에 영향을 주지 않는다. 이 경우, PSR2에서 정의된 PG TextST Stream Number가 이용된다.
· PG TextST Stream Number :
PSR2의 b0~b11은 PG TextST Stream Number이며, 그 12비트의 설정 값은 아래와 같이 해석된다.
현재 플레이아이템의 표시 중에 세컨더리 비디오 스트림이 표시되어 있지 않은 경우(세컨더리 비디오 스트림은 표시되어 있지 않은 경우란, PSR14의 disp_v_flag는 0b로 설정되어 있는 상태를 말한다), PSR2에서의 PG TextST Stream Number의 값은 현재 플레이아이템의 STN_table에서의 PG TextST 스트림 항목 중에서 PG 스트림과 TextST 스트림 중 어느 것이 표시되는지를 특정하기 위해서 이용된다.
· PiP PG TextST Stream Number :
PSR2의 b16~b27은 PiP PG TextST Stream Number이며, 그 12비트의 설정 값은 아래와 같이 해석된다.
현재 플레이아이템의 표시 중에 세컨더리 비디오 스트림이 표시되어 있고, PSR2의 PiP_PG_textST_valid_flag가 1b로 설정되어 있는 경우(여기서, 세컨더리 비디오 스트림의 표시 시는, PSR14의 disp_v_flag는 1b로 설정되고, 현재 플레이아이템의 표시 중에 PSR14에 의해서 결정된 세컨더리 비디오 스트림이 표시되는 경우를 말한다), PSR2에서의 PiP PG TextST Stream Number 값은 현재 플레이아이템이 STN_table에서의 PG TextST 스트림 항목 중에서 PG 스트림과 TextST 스트림의 어느 것이 표시되는지를 특정하기 위해서 이용된다.
도 49는 현재 플레이아이템의 변화시의 현재 PGtextST 스트림의 결정순서를 나타내는 플로차트이다.
여기서, 비 픽처 인 픽처를 위한 PGtextST 스트림의 스트림 번호 및 그 취급은 픽처 인 픽처를 위한 PGtextST 스트림의 선택을 간략하게 한 것에 지나지 않으므로 설명을 생략한다. 본 실시 예에서는 픽처 인 픽처를 위한 PGtextST 스트림 번호에 대하여 설명한다.
스텝 S151에서 PSR2에서 현재 PiP_PG_TextST 스트림 번호를 취득하고, 스텝 S152에서 현재 PiP_PG_TextST 스트림 번호는 프레젠테이션 그래픽스 스트림에 대한 것인지 텍스트 자막 스트림에 대한 것인지를 판정한다. 스텝 S153은 현재 PiP_PG_TextST 스트림 번호에 대응하는 프레젠테이션 그래픽스 스트림이 조건 (A), 조건 (B), 조건 (C)를 만족하는지 여부를 확인한다.
여기서, 조건 (A), 조건 (B), 조건 (C)는 아래와 같이 결정된다.
조건 (A) : 현재 PiP_PG_TextST 스트림 번호에서 특정되는 프레젠테이션 그래픽스 스트림을 디코드하는 능력이 재생장치에 존재한다.
조건 (B) : 특정된 언어를 재생하는 능력이 재생장치에 존재한다.
조건 (C) : PSR14에서의 세컨더리 비디오 스트림 번호와 comb_info_ Secondary_video_PiP_textST()에 의한 PG 텍스트 자막 스트림 번호의 비교에서는 현재 세컨더리 비디오 스트림과 현재 PiP_PG_textST 스트림 번호에서 특정되는 PG 텍스트 자막 스트림의 조합이 허가되어 있다.
한편, 스텝 S154에서는 현재 PiP_PG_TextST 스트림 번호에 대응하는 텍스트 자막 스트림이 조건 (A), 조건 (B), 조건 (C)를 만족하는지 여부를 확인하는 것이다.
조건 (A) : 현재 PiP_PG_TextST 스트림 번호의 텍스트 자막 스트림의 캐릭터 코드를 비트맵으로 전개하는 능력이 재생장치에 존재한다. 이러한 재생능력은 PSR 세트(23)에서의 PSR30에 나타나 있다.
조건 (B) : 현재 PiP_PG_TextST 스트림 번호의 텍스트 자막 스트림의 언어속성을 지원하는 능력이 재생장치에 존재한다. 이러한 지원 능력은 PSR 세트(23)에서의 PSR48~61에 나타나 있다.
조건 (C) : PSR14에서의 세컨더리 비디오 스트림 번호와 comb_info_Secondary_video_PiP_textST()에 의한 PG 텍스트 자막 스트림 번호의 비교에서는 PSR14에 저장되어 있는 현재 세컨더리 비디오 스트림과 현재 PiP_PG_TextST 스트림 번호에서 특정되는 PG 텍스트 자막 스트림의 조합이 허가되어 있다.
여기서, 어떤 언어의 자막이 텍스트 자막 스트림으로 표현되어 있는 경우, 그 언어의 텍스트 자막 스트림을 "디코드할 수 있다"고 할 수 있는 것은 그 언어에서의 문자코드를 비트맵으로 전개하는 능력과 그 언어의 특성을 지원하는 지원 능력이 재생장치 측에 존재할 필요가 있다.
영어, 일본어, 아랍어를 예를 들어 보면, 영어의 자막표시는 "가로쓰기", "커닝(kerning)", "합자(double letter)·로고(logotype)"라고 하는 기능이 지원되 어야 비로소 언어특성이 지원되었다고 판단할 수 있다.
일본어의 자막표시는 "가로쓰기", "세로쓰기", "행말금칙(prohibition of line breaks after certain characters)", "루비(characters in smaller size)"라고 하는 기능이 지원됨으로써 비로소 언어특성이 지원되었다고 판단할 수 있다.
아랍어의 자막표시는 "우에서 좌로의 묘사", "합자·로고"라고 하는 기능이 지원되어야 비로소 언어특성이 지원되었다고 판단할 수 있다.
어떤 언어의 텍스트 자막 스트림을 비트맵으로 전개할 수 있고, 그 언어의 특성을 지원할 수 있는 경우에는 상기 조건 (A), 조건 (B)는 만족되었다고 말할 수 있다. 그 언어의 텍스트 자막 스트림을 비트맵으로 전개할 수 있으나, 그 언어의 특성을 지원할 수 없는 경우에는 상기 조건 (B)는 만족되지 않고, 조건 (A)만이 만족되었다고 말할 수 있다.
이상의 판정을 거친 후 스텝 S155를 실행한다. 스텝 S155는 재생장치는 조건 (Z)를 만족하는지 여부를 판정하는 것이다.
여기서 조건 (Z)는 비 지원 언어(unsupportedlanguage)의 자막을 재생하는 것을 사용자가 의도하고 있는 것이며, 이러한 의도는 PSR 세트(23)에서의 PSR30에 나타내고 있다.
그 후 스텝 S156의 판정스텝을 실행한다. 이는 현재 플레이아이템의 STN_table에서의 number_of_PG_textST_streams_entries와 number_of_PiP_PG_ textST_stream_entries_plus와의 합이 =0인지 여부를 판정하는 것이다. STN_table에 재생이 허가되어 있는 PGTextST 스트림이 존재하지 않는 경우, PSR2에서의 PGTextST 스트림의 번호를 유지한다(스텝 S157). 현재 STN_table에서 재생이 허가되어 있는 PGTextST 스트림이 적어도 하나 존재하는 경우, 스텝 S158을 실행한다. 이는 현재 PiP_PG_TextST 스트림 번호의 유효성을 묻는 스텝이며, 현재 PiP_PG_TextST 스트림 번호가 STN_table에서의 stream_entry의 총 수 이하이며 또한 조건 (A), 조건 (B), 조건 (C)를 만족하는지 여부를 판정한다.
만약 만족한다면 유효한 PiP_PG_TextST 스트림 번호가 이미 PSR2에 존재하므로 이를 변화시키지 않는다(스텝 S159).
만약 스텝 S158에서 만족하지 않는다고 판정되면 스텝 S160의 판정을 실행한다. 이는 현재 PiP_PG_TextST 스트림 번호가 STN_table에서의 stream_entry의 총 수 이하이고 또한 조건 (A)를 만족하는지 여부를 판정하는 것이다. 만약 만족하면 PSR2에는 비 지원언어의 텍스트 자막의 PiP_PG_TextST 스트림 번호가 설정되어 있으나 사용자는 비 지원언어의 재생을 의도하고 있으므로 PSR2를 변화시키지 않는다(스텝 S161). 스텝 S160에서 만족되지 않는다고 판정되었으면 현재 플레이아이템에 대하여 최적의 현재 PG 텍스트 자막 스트림을 선택한다(스텝 S162).
이상이 PGTextST 스트림에서의 스트림 선택 프로시저에 대한 설명이다.
도 50은 현재 플레이아이템에 대하여 최적의 현재 PGTextST 스트림을 선택하는 처리순서를 나타내는 플로차트이다.
스텝 S190에서 모든 PGTextST 스트림에 대하여 조건 (a)~조건 (d)를 만족하는지 여부를 확인한다.
확인대상이 되는 프레젠테이션 그래픽스 스트림을 프레젠테이션 그래픽스 스 트림 i로 한 경우 조건 (a)~조건 (d)는 아래와 같이 규정된다.
조건 (a) : 프레젠테이션 그래픽스 스트림 i를 디코드하는 능력이 재생장치에 존재한다.
조건 (b) : 프레젠테이션 그래픽스 스트림 i에서 특정된 언어를 재생하는 능력이 재생장치에 존재한다.
조건 (c) : PSR14에서의 세컨더리 비디오 스트림 번호와 comb_info_ Secondary_video_PiP_textST()에 의한 PG 텍스트 자막 스트림 번호의 비교에서는 현재 세컨더리 비디오 스트림과 프레젠테이션 그래픽스 스트림 i의 조합이 허가되어 있다.
조건 (d) : 프레젠테이션 그래픽스 스트림 i의 PG_language_code가 덱 정보와 일치하고 있다. 여기서, 덱 정보란 재생장치 내의 덱 정보에서의 언어설정을 나타내는 것이며, 구체적으로는 PSR 세트(23)에서의 PSR17을 나타낸다.
확인대상이 되는 텍스트 자막 스트림을 텍스트 자막 스트림 i로 한 경우 조건 (a)~조건 (d)는 아래와 같이 규정된다.
조건 (a) : 텍스트 자막 스트림 i의 캐릭터 코드를 비트맵으로 전개하는 능력이 재생장치에 존재한다.
조건 (b) : 텍스트 자막 스트림 i의 언어속성을 지원하는 능력이 재생장치에 존재한다.
조건 (c) : PSR14에서의 세컨더리 비디오 스트림 번호와 comb_info_ Secondary_video_PiP_textST()에 의한 PG 텍스트 자막 스트림 i의 번호의 비교에서 는 현재 세컨더리 비디오 스트림과 PiP_PG_TextST 스트림 번호에서 특정되는 텍스트 자막 스트림 i의 조합이 허가되어 있다.
조건 (d) : 텍스트 자막 스트림 i의 textST_language_code가 재생장치 내의 덱 정보에서의 언어설정과 일치하고 있다.
이상의 확인을 거친 후에 스텝 S191에서는 재생장치가 앞의 플로차트에서 설명한 조건(Z)(:비 지원언어의 재생)을 만족하는지 여부를 판정한다. 만족하지 않는 경우에는 스텝 S192에서 조건 (a)~조건 (d)를 만족하는 PGTextST 스트림이 존재하는지 여부를 판정한다. 존재하면 조건 (a)~조건 (d)를 만족하는 PGTextST 스트림 중 대응하는 Stream_Entry가 STN_table에서 선두순위에 위치하는 것을 선택하고, 선택한 PiP_PG_TextST 스트림 번호를 PSR2에 설정한다(스텝 S193).
존재하지 않으면 스텝 S194에서 더 완화된 조건을 만족하는 PGTextST 스트림이 존재하는지 여부를 판정한다. 완화된 조건은 조건 (a), 조건 (b), 조건 (c)의 3개를 만족하는 것이며, 이것을 만족하는 PGTextST 스트림이 존재하는지가 스텝 S194에서 판정된다. 존재한다면 조건 (a), 조건 (b), 조건 (c)를 만족하는 PiPPGTextST 스트림 중 대응하는 Stream_Entry가 STN_table에서 선두순위에 위치하는 것을 선택하고, 선택한 PiP_PG_TextST 스트림 번호를 PSR2에 설정한다(스텝 S196).
존재하지 않으면 0xFFF인 PiP_PG_TextST 스트림 번호를 PSR2에 설정한다(스텝 S195). 스텝 S191에서 조건 (Z)를 만족한다고 판정되면 스텝 S197에서 다른 완화된 조건을 만족하는 PGTextST 스트림이 존재하는지를 판정한다. 다른 완화된 조 건은 조건 (a), 조건 (c), 조건 (d)를 만족하는 것이며, 스텝 S198에서는 이들을 만족하는 PGTextST 스트림이 존재하는지 여부가 판정된다.
만약 존재한다면 조건 (a), 조건(c), 조건 (d)를 만족하는 PiP_PGTextST 스트림 중 대응하는 Stream_Entry가 STN_table의 최초에 위치하는 것을 선택하고, 선택한 것의 PiP_PG_TextST 스트림 번호를 PSR2에 설정한다(스텝 S198).
존재하지 않는 경우 스텝 S199에서 조건 (a), 조건 (c)를 만족하는 PGTextST 스트림이 존재하는지 여부를 판정한다. 존재하는 경우 조건 (a), 조건 (c)을 만족하는 PiP_PGtextST 스트림 중 대응하는 Stream_Entry가 STN_Table에서 선두순위에 위치하는 것을 선택하고, 선택한 것의 PiP_PG_TextST 스트림 번호를 현재 PiP_PG_TextST 스트림의 스트림 번호로 PSR2에 설정한다(스텝 S200). 존재하지 않는 경우에는 0xFFF를 PSR2에 설정한다(스텝 S201).
현재 PiP_PG_TextST 스트림 번호에서의 재생구간은 반드시 SubPlayItem에 의해서 규정되어 있으므로, 현재 PiP_PG_TextST 스트림 번호에서의 재생구간을 규정하고 있는 서브 플레이아이템은 현재 서브 플레이아이템으로서 특정되게 된다.
이상이 현재 PGTextST 스트림의 선택순서에 대한 설명이다.
이상과 같이 본 실시 예에 의하면, 픽처 인 픽처가 유효한 경우, number_of_PG_textST_streams_entries와 number_of_PiP_PG_textST_stream_ entries_plus를 합한 수치범위 중에서 PiP_PG_TextST 스트림 번호가 선택되고, 이 PiP_PG_TextST 스트림 번호에 대응하는 프레젠테이션 그래픽스 스트림 또는 텍스트 자막 스트림을 재생하므로, 어떤 때에는 프라이머리 비디오 스트림에 적합한 자막 을 동화상과 동시에 재생시키고, 또 어떤 때에는 세컨더리 비디오 스트림에 적합한 자막을 동화상과 함께 재생시킬 수 있어서 자막선택의 폭을 확대할 수 있다.
그렇게 선택된 자막에 대응하는 텍스트 자막 스트림을 포함하고 있는 AV 클립이 서브 플레이아이템에 의해서 참조되어 있는 경우, 이러한 AV 클립이 Unavailable 클립이면 재생이 중단하게 된다. 따라서, 현재 텍스트 자막 스트림을 포함하고 있는 AV 클립으로서 서브 플레이아이템 정보로부터 참조되고 있는 것의 다운로드를 서두르면 재생이 중단하는 일은 없으므로 원활한 재생진행을 확보할 수 있다.
(제 6 실시 예)
본 실시 예에서는 가상패키지의 구축에 대하여 상세하게 설명한다.
우선 먼저 가상패키지의 기본부분이 되는 BD-ROM의 데이터 구조에 대하여 설명한다.
도 51은 BD-ROM의 구성의 일 예를 나타내는 도면이다.
본 도면의 제 4 단째에 BD-ROM(100)을 나타내고, 제 3 단째에 BD-ROM 상의 트랙(202)을 나타낸다. 본 도면의 트랙(202)은 BD-ROM(100)의 내주에서 외주에 걸쳐서 나선형상으로 형성되어 있는 트랙(202)을 횡 방향으로 연장하여 묘사하고 있다. BD-ROM(100)은 다른 광 디스크, 예를 들어 DVD나 CD 등과 마찬가지로 그 내주에서 외주를 향해서 나선 형상으로 기록영역을 가지며, 내주의 리드 인과 외주의 리드 아웃 간에 논리데이터를 기록할 수 있는 논리 어드레스 공간을 갖고 있다. 또, 리드 인의 내측에는 BCA(Burst Cutting Area)라고 불리는 드라이브로밖에 판독 할 수 없는 특별한 영역이 있다. 이 영역은 애플리케이션에서 판독할 수 없으므로 예를 들어 저작권 보호기술 등에 이용되는 일이 자주 있다.
「논리 어드레스 공간」에는 선두에서부터 파일 시스템의 볼륨정보가 기록되고, 이어서 영상 데이터 등의 애플리케이션 데이터가 기록되어 있다. 파일 시스템이란 디스크 상의 데이터를 디렉터리 또는 파일이라고 하는 단위로 표현하는 구조이며, BD-ROM(100)의 경우에는 UDF(Universal Disc Format)에 의해서 기록된다. 평소에 사용하고 있는 PC(퍼스널 컴퓨터)의 경우에도 FTA 또는 NTFS라고 하는 파일 시스템을 통해서 디렉터리나 파일이라고 하는 구조로 하드디스크에 기록된 데이터가 컴퓨터상에서 표현되어 유용성을 높이고 있다. 이 파일 시스템에 의해서 통상의 PC와 동일하게 기록되어 있는 논리 데이터를 디렉터리, 파일 구조를 사용하여 판독할 수 있게 되어 있다.
BD-ROM(100) 상의 디렉터리, 파일 구조는 루트 디렉터리(ROOT)의 바로 아래에 BDMV 디렉터리가 위치하고 있다. BDMV 디렉터리는 BD-ROM(100)에서 취급하는 AV 콘텐츠나 관리정보 등의 데이터가 기록되어 있는 디렉터리이다. BDMV 디렉터리의 바로 아래에는 타이틀을 구성하는 인덱스 테이블이 정의된 인덱스 파일(index.bdmv), 동적인 시나리오를 정의하는 무비 오브젝트 파일(MovieObject.bdmv)과, PLAYLIST 디렉터리, CLIPINF 디렉터리, STREAM 디렉터리, BDJO 디렉터리, JAR 디렉터리가 존재한다.
이들 디렉터리에는 영상 및 음성이라고 하는 AV 콘텐츠가 다중화되어서 저장된 AV 클립(XXX.M2TS), AV 클립의 관리정보를 저장한 클립정보파일(XXX.CLPI), AV 클립의 논리적인 재생경로를 정의한 플레이리스트 파일(YYY.MPLS)이 존재한다.
이들 외에도 아래의 파일이 존재한다. 즉, 어느 JAR 파일을 실행할지 및 그 실행방법에 대하여 정의한 BDJ 오브젝트 파일(BBB.BDJO)과 BD-J 애플리케이션을 저장한 JAR 파일(AAA. JAR)이 존재한다. 이들 파일은 각각 앞에서 설명한 STREAM 디렉터리, CLIPINF 디렉터리, PLAYLIST 디렉터리, BDJO 디렉터리, JAR 디렉터리의 아래에 배치된다.
이하에 BDMV 디렉터리의 아래에 배치되는 각 파일의 데이터 구조에 대하여 설명한다. 먼저, 인덱스 파일(Index.bdmv)에 대하여 설명한다. 인덱스 파일은 인덱스 테이블을 갖는다.
도 52는 인덱스 파일의 내부 구성의 일 예를 나타내는 도면이다.
「인덱스 테이블」은 BD-ROM에 저장되는 모든 타이틀, 톱 메뉴, FirstPlay라고 하는 타이틀 구성을 정의하는 최상위층의 테이블이다. 이 테이블에는 모든 타이틀, 톱 메뉴, FirstPlay에서 최초로 실행되는 무비 오브젝트 파일에 포함되는 무비 오브젝트가 지정되어 있다. BD-ROM의 재생기는 타이틀 또는 메뉴가 호출될 때마다 인덱스 테이블을 참조하여 소정의 무비 오브젝트 또는 BDJ 오브젝트를 실행한다. 여기서, FirstPlay는 콘텐츠 공급자에 의해서 설정되는 것으로, 디스크 투입 시에 자동으로 실행되는 무비 오브젝트 또는 BDJ 오브젝트가 설정되어 있다. 또, 톱 메뉴는 리모컨에서의 사용자 조작에 의해서 「메뉴로 되돌아간다」와 같은 커맨드가 실행된 때에 호출되는 무비 오브젝트, BDJ 오브젝트가 지정되어 있다. 프로그래시브 속성으로 재생될 플레이리스트는 반드시 BD-J 오브젝트에 의해서 재생되지 않으 면 안 된다.
이상이 가상패키지의 전제가 되는 BD-ROM의 데이터 구조이다.
다음에, 도 53을 참조하면서 로컬 스토리지(103)에 저장되는 업 데이트 키트의 데이터 구조에 대하여 설명한다.
도 53은 로컬 스토리지(103)에 저장되는 업 데이트 키트의 내부 구성의 일 예를 나타내는 도면이다.
로컬 스토지리(103)에 저장되는 업 데이트 키트는 본 도면에 나타낸 것과 같이 추가 콘텐츠 저장 디렉터리, OrgID 디렉터리, DiscID 디렉터리와, 머지 관리정보 파일(MERGE.XML), 서명정보 파일(MERGE.SF), 추가 콘텐츠 데이터 파일(CCC.MPL,VVV.M2T, VVV.CLP 등)을 포함한다. 추가 콘텐츠 영역 루트 디렉터리는 로컬 스토리지(103)의 루트 디렉터리의 바로 아래에 존재하며, 추가 콘텐츠 영역의 루트를 나타내는 디렉터리로, 디렉터리 명 배포매체 문자 이내의 고정값(BD_BUDA)이다.
「OrgID 디렉터리」는 BD-ROM 기록 층 상의 BD 관리정보(인덱스 파일)에 기재되어 있는 영화작품의 공급자를 특정하는 32bit의 식별자(OrganizationID)를 16진 표기로 나타낸 8 문자의 이름의 디렉터리이다. 또, OrganizationID의 선두의 연속하는 0은 디렉터리의 이름에서 생략한다. 예를 들어, OrganizationID가 0x0000001A인 경우는 디렉터리의 이름은 "1A"가 된다.
「DiscID 디렉터리」는 BD-ROM 기록 층 상의 BD 관리정보(인덱스 파일)에 기재되어 있는 BD-ROM 기록 층을 특정하는 128bit의 식별자(DiscID)를 선두에서부터 32bit씩 4분할하고, 각각을 16진 표기로 나타낸 디렉터리이다. 또, OrganizationID와 마찬가지로 DiscID의 선두의 연속하는 0은 디렉터리의 이름에서 생략한다.
DiscID 디렉터리의 바로 아래에는 머지 관리정보 파일, 서명정보 파일, 추가 콘텐츠 데이터 파일이 존재한다.
「머지 관리정보 파일(MERGE.XML)」은 가상패키지를 구성하기 위한 로컬 스토리지에 기록되는 각 파일저장 위치정보와 가상패키지 상에서 이들의 파일로 액세스하기 위한 가상패스정보로 구성되며, DiscID 디렉터리의 바로 아래에 보존된다.
「서명정보 파일」은 머지 관리정보 파일에 대한 공급자의 전자적인 서명을 나타내는 파일이며, MERGE.SF라고 하는 파일명으로 DiscID 디렉터리의 바로 아래에 보존된다. 전자적인 서명은 일반적으로 개찬방지가 필요한 정보에 대하여 해시 값을 계산하고, 해시 값을 어떠한 비밀 키를 이용하여 암호화한 것을 이용한다. 본 실시 예의 서명정보 파일에서는 BD-ROM 기록 층 상에 있는 머지 증명서 중의 공개 키에 대응하는 비밀 키를 이용하여 머지 관리정보 파일의 해시 값이 암호화되어 있다.
「머지 증명서」는 머지 관리정보 파일의 인증에 이용하는 증명서로, 공급자가 공개하는 공개 키가 포함된다. 공급자가 제공하는 머지 증명서는 BD-ROM 기록 층 상에 bd.cert라고 하는 파일명으로 보존되어 있다. 머지 증명서의 파일 형식의 일 예로는 X.509를 이용할 수 있다.
「추가 콘텐츠 데이터 파일」은 BD-ROM 기록 층에 기록된 오리지널 콘텐츠에 대하여 추가/갱신하는 파일 군이다. 여기에는 플레이리스트 파일, AV 클립 등이 기 록된다.
도 54는 머지 관리정보 파일의 내용과, 그 내용을 기초로 BD-ROM의 파일과 업 데이트 키트의 파일로부터 가상패키지를 구축하는 과정의 일 예를 나타내는 도면이다.
도 54의 좌측 상단은 BD-ROM의 디렉터리·파일 구성을 나타낸다. 본 도면의 좌측 하단에는 업 데이트 키트의 디렉터리·파일 구성을 나타낸다.
도 54의 우측 하단은 머지 관리정보 파일의 내용을 나타낸다. 매니페스트 파일은 가상패키지를 구성하는 로컬 스토리지에서의 「로컬 스토리지 패스」, 가상패키지 상에서 이들 파일에 액세스하기 위한 「가상패키지 패스」, 「프로그래시브 속성」으로 구성된다. 프로그래시브 속성은 가상패키지를 구축하기 전에 그 파일이 없어도 좋음을 나타낸다.
로컬 스토리지 패스의 일 예로 본 도면에서는 1/1/CCC.MPL, 1/1/VVV.M2T, 1/1/VVV.CLP, 1/1/SSS/M2T, 1/1/SSS/CLP가 기술되어 있다. BD_BUMF 디렉터리에서 추가 콘텐츠 데이터 파일로의 패스가 명기되어 있다.
한편, 가상패키지 패스로 BDMV/PLAYLIST/CCC.MPLS, BDMV/STREAM/VVV.M2TS, BDMV/CLIPINF/VVV.CLPI, BDMV/STREAM/SSS,M2TS, BDMV/CLIPINF/SSS.CLPI가 기술되어 있다.
도 54의 우측 상단은 이 매니페스트 파일에 의해서 생성되는 가상패키지를 나타낸다. 로컬 스토리지 패스에서 1/1/CCC.MPL, 1/1/VVV.M2T, 1/1/VVV.CLP, 1/1/SSS.M2T, 1/1/SSS.CLP에 존재하는 파일이 BDMV/PLAYLIST/CCC.MPLS, BDMV/STREAM/VVV.M2TS, BDMV/CLIPINF/VVV.CLPI, BDMV/STREAM/SSS.M2TS, BDMV/CLIPINF/SSS.CLPI에 배치되도록 가상적으로 디렉터리·파일 구성이 변경된다. 이렇게 함으로써 BD-ROM에는 없는 VVV.CLPI, VVV.M2TS, SSS.CLPI, SSS.M2TS가 가상패키지에서는 존재하는 것과 같이 취급되게 된다.
머지 관리정보에 의거하여 가상패키지가 생성되면 로컬 스토리지 상의 이들 파일은 이 머지 관리정보에서의 패스정보로 액세스할 수 있다. 이때, 프로그래시브 속성이 부여되어 있는 SSS.M2TS에서는 가상패키지가 구축되기 전에 로컬 스토지리에 다운로드가 완료되어 있을 필요는 없다. 가상패키지가 구축된 후에 필요한 단계에서 다운로드 하여도 좋다.
따라서, 업 데이트 키트의 다운로드 시에 로컬 스토리지로의 기록 순서는 머지 관리정보 파일 → 플레이리스트 정보 → 복수의 클립정보 → 복수의 AV 클립이다. 여기서, 플레이리스트 정보-복수의 클립정보의 기록이 완료한 단계에서 가상패키지의 구축은 가능해진다. 왜냐하면, AV 클립을 Disable 상태로 취급하면 충분하기 때문이다.
이상과 같이 본 실시 예에 의하면 서브 플레이아이템을 가상적인 파일 시스템을 통해서 시스템 타깃 디코더에 공급할 수 있다.
(제 6 실시 예)
본 실시 예에서는 PG 스트림 플레이리스트를 실현하는 업 데이트 키트를 작성하기 위한 편집 시스템에 대한 설명이다. 본 도면에 나타낸 것과 같이, 편집 시스템은 스토리지(300a, b), 소재 제작부(301), 시나리오 생성부(302), BD-J 제어 부(303), 다중화 처리부(304), 포맷 처리부로 구성된다.
도 55는 편집 시스템의 일 예를 나타내는 도면이다.
스토리지(300a, b, c)는 각각 ROM 시나리오 데이터, ROM 디스크 이미지의 버전 1(Ver.1), ROM 디스크 이미지의 버전 2(ver. 2)를 저장하고 있다.
소재 제작부(301)는 비디오 스트림, 오디오 스트림, 프레젠테이션 그래픽스 스트림, 인터렉티브 그래픽스 스트림 등의 각 스트림을 작성한다. 소재 제작부(301)는 비 압축의 비트맵 등의 화상 이미지를 MPEG4-AVC나 MPEG2 등의 압축방식에 따라서 부호화함으로써 비디오 스트림을 작성한다. 또, 소재 제작부(301)는 비 압축의 LinearPCM 음성 등을 AC3 등의 압축방식에 따라서 부호화함으로써 오디오 스트림을 작성한다. 소재 제작부(301)는 자막 이미지와 표시 타이밍 및 페이드 인(fade in)/페이드 아웃(fade out) 등의 자막의 결과를 포함한 자막정보파일을 기초로 자막 스트림인 프레젠테이션 그래픽스 스트림을 작성한다. 소재 제작부(301)는 메뉴에 사용하는 비트맵 이미지와 메뉴에 배치되는 버튼의 천이나 표시효과를 기재한 메뉴 파일을 기초로 해서 메뉴화면을 구성하는 인터렉티브 그래픽스 스트림을 작성한다.
시나리오 생성부(302)는 소재 제작부(301)에서 작성한 각 스트림의 정보나 편집 스태프로부터의 GUI를 경유한 조작에 따라서 시나리오를 작성한다. 여기서 말하는 시나리오는 인덱스 파일, 무비 오브젝트 파일, 플레이리스트 파일 등의 파일이 그에 해당한다. 또, 시나리오 생성부(302)는 다중화 처리를 실현하기 위한 각 AV 클립이 어느 스트림에서 구성되는지를 기술한 파라미터 파일을 작성한다.
BD-J 제작부(303)는 BD-J 애플리케이션을 프로그래밍하는 수단이다. GUI 등의 사용자 인터페이스를 통해서 사용자로부터의 요구에 따라서 BD-J 애플리케이션 프로그램의 소스코드를 작성하여 BD-J 애플리케이션을 작성한다.
다중화 처리부(304)는 ROM 시나리오 데이터에 기술되어 있는 비디오, 오디오, 자막, 버튼 등의 복수의 스트림을 다중화하여 MPEG2-TS 형식의 AV 클립을 작성한다. 이때, AV 클립과 쌍이 되는 클립정보 파일도 동시에 작성한다. 다중화 처리부(304)에 의한 클립정보 파일 내의 생성은 아래의 방법으로 이루어진다. 다중화 처리부(304)는 AV 클립을 작성하는 동시에 엔트리 맵을 작성한다. 더 구체적으로는, 소재 제작부(301)에서 생성된 각 스트림에서 포함되는 비디오 스트림이 MPEG2이면 I픽처, MPEG4-AVC라면 I픽처나 IDR 픽처, VC-1이라면 I픽처가 어디에 존재하는가를 검출하여, 앞에서 설명한 각 픽처의 표시시각과 MPEG2-TS로 되어 있는 AV 클립의 몇 패킷째의 소스 패킷에 앞에서 설명한 각 픽처의 선두 데이터가 들어있는가를 대응시킨 엔트리 포인트를 엔트리 맵에 등록해 둔다. AV 클립에 포함되는 비디오 스트림이 프라이머리 비디오, 세컨더리 비디오의 2종류가 있는 경우에는 어느 쪽의 엔트리 맵도 동시에 작성해 간다. 다중화 처리부(304)는 스스로 생성한 엔트리 맵과, AV 클립에 포함되는 스트림별 음성속성, 영상속성 등을 나타내는 속성정보를 쌍으로 해서 클립정보 파일을 작성한다.
포맷 처리부(305)는 시나리오 생성부(302)에서 생성한 ROM 시나리오 데이터와, BD-J 제작부(303)에서 제작한 BD-J 애플리케이션, 다중화 처리부(2604)에서 생성한 AV 클립이나 클립정보 파일, 지금까지의 실시 예에서 설명한 포맷으로 파일이 나 디렉터리를 배치하고, UDF의 포맷으로 디스크 이미지를 생성한다. 생성한 디스크 이미지를 BD-ROM 프레스용 데이터로 변환하고, 이 데이터에 대하여 프레스 공정을 행함으로써 BD-ROM의 제조가 가능해진다.
업 데이트 키트를 작성하기 위해서는 2개의 디스크 이미지를 준비한다. 하나는 BD-ROM에 저장되는 디스크 이미지이며, 다른 하나는 가상패키지 구축 후의 디스크 이미지이다.
차분 추출부(306)는 스토리지(300a, b)에 저장된 2개의 ROM 디스크 이미지를 비교하여 차분 데이터를 추출한다. 예를 들어, 오리지널 디스크 이미지에 없었던 파일이나 바이너리(binary) 비교하여 업 데이트 되어 있는 파일 등을 추출한다.
업 데이트 키트 제작부(307)는 차분 추출부(306)를 기초로 앞에서 설명한 업 데이트 키트의 데이터 포맷에 맞도록 머지 관리정보 파일이나 서명정보 파일을 작성하고, 파일 및 디렉터리를 배치한다.
도 56은 ROM 디스크 이미지, 업 데이트 키트 이미지의 작성방법에 대하여 설명한다.
스텝 S211에서 소재 제작부(301)는 비디오 스트림, 오디오 스트림, IG 스트림, PG 스트림을 생성한다.
스텝 S212에서 시나리오 생성부(302)는 인덱스 파일, 무비 오브젝트 파일, 플레이리스트 파일 등 재생 시나리오를 기술하는 ROM 시나리오 데이터를 작성한다.
스텝 S213에서 BD-J 제작부(303)는 BD-J 애플리케이션의 프로그램을 작성한다.
스텝 S214에서 다중화 처리부(304)는 ROM 시나리오 데이터를 기초로 AV 클립과 클립정보파일을 작성한다.
스텝 S215에서 포맷 처리부(307)는 ROM 시나리오 데이터, 변형 AV 클립, 클립정보 파일, 복원 바이트코드 데이터를 지금까지의 실시 예에서 설명한 파일·디렉터리 구조로 재배열하여 ROM 디스크 이미지를 작성한다.
스텝 S221에서 차분 추출부(306)는 2개의 디스크 이미지를 비교하여 차분 데이터를 추출한다.
스텝 S222에서 업 데이트 키트 제작부(307)는 인덱스 파일, 무비 오브젝트 파일, 플레이리스트 파일 등 재생 시나리오를 기술하는 ROM 시나리오 데이터를 작성한다.
스텝 S223에서 BD-J 제작부(303)는 BD-J 애플리케이션의 프로그램을 작성한다.
스텝 S224에서 다중화 처리부(304)는 ROM 시나리오 데이터를 기초로 AV 클립과 클립정보 파일을 작성한다.
스텝 S225에서 포맷 처리부(307)는 차분 데이터를 업 데이트 키트의 데이터 포맷에 맞도록 변환한다. 스텝 S226에서 머지 관리정보 파일이나 서명정보 파일을 작성하고, 업 데이트 키트 내에 배치한다.
(비고)
이상, 본원의 출원시점에서 출원인이 알 수 있는 가장 바람직한 실시 예에 대하여 설명하였으나, 아래에서 설명하는 기술적 토픽에 대해서는 개량이나 변경실 시를 더 부가할 수 있다. 각 실시 예에서 설명한 것과 같이 실시하거나 이들 개량 및 변경을 실시할지 여부는 모두 임의적이며, 실시하는 자의 주관에 의한 것임을 유의하기 바란다.
(프로그래밍 언어의 적용범위)
상기 실시 예에서는 가상 머신의 프로그래밍 언어로 Java(TM)을 이용하였으나, Java(TM)이 아니라 UNIX(TM) OS 등으로 사용되고 있는 B-shell이나 Perl Script, ECMA Script 등 다른 프로그래밍 언어라도 좋다.
(실시간 레코딩)
재생장치(101)는 실시간 레코딩을 함으로써 클립 파일을 로컬 스토리지에 기록하여도 좋다. 이때, AV 스트림은 아날로그 입력신호를 기록장치가 셀프 인코드함으로써 얻어진 트랜스포트 스트림이어도 좋고, 기록장치가 디지털 입력한 트랜스포트 스트림을 세분화함으로써 얻어지는 트랜스포트 스트림이라도 좋다.
실시간 레코딩 시에 상기 장치는 AV 스트림의 기록과 함께 메모리 상에서 클립정보나 플레이리스트 정보를 생성하는 처리를 하나, 이때, 상술한 각 실시 예에 기재한 클립정보, 플레이리스트 정보를 메모리 상에서 생성한다. 그리고 AV 스크림의 기록을 종료한 후에 생성된 클립정보, 플레이리스트 정보를 기록매체에 기록한다. 이렇게 함으로써 편집 시스템을 이용하지 않고도 가정용의 기록장치나, 기록장치로서의 기능을 구비한 퍼스널 컴퓨터로 각 실시 예에서 설명한 클립정보, 플레이리스트 정보를 작성할 수 있다. 그렇게 작성된 AV 스트림, 클립정보, 플레이리스트 정보를 바꿔쓰기가 안 되는 기록매체에 기록하여도 좋다.
(AV 재생의 대상)
AV 재생의 대상은 디지털 스트림, 맵 정보, 플레이리스트 정보로 구성되는 콘텐츠이면 BD-ROM에 규정된 것에 한정되는 것은 아니다. 디지털 스트림은 MPEG2, MPEG4-AVC 등의 부호화 방식으로 부호화된 비디오 스트림, 오디오 스트림을 다중화함으로써 얻어진 다중화 스트림이며, DVD Video-Recording에서는 VOB라고 불린다.
맵 정보는 상술한 비디오 스트림에서의 액세스 유닛(독립 복호 가능한 재생단위를 말한다)의 어드레스 정보와 비디오 스트림의 재생시간 축에서의 재생시각과의 대응을 나타내는 정보이며, DVD Video-Recording에서는 Time Map으로 불린다.
플레이리스트 정보는 개시 점인 시각정보와 종료 점인 시각정보의 세트에 의해서 하나 이상의 재생구간을 정의하는 정보이다.
(제어순서의 실현)
각 실시 예에서 플로차트를 인용하여 설명한 제어순서나 기능적인 구성요소에 의한 제어순서는 하드웨어 자원을 이용하여 구체적으로 실현되어 있으므로 자연법칙을 이용한 기술적 사상의 창작이라고도 할 수 있으며, "프로그램의 발명"으로서의 성립요건을 만족한다.
· 클립 파일의 다운로드나 DataStarved 이벤트의 출력을 하는 애플리케이션 프로그램의 생산 예
클립 파일의 다운로드나 DataStarved 이벤트의 출력을 하는 애플리케이션 프로그램은 아래와 같이 해서 만들 수 있다. 우선 먼저, 소프트웨어 개발자는 프로그래밍 언어를 이용하여 각 플로차트나 기능적인 구성요소를 실현하는 소스 프로그램 을 기술한다. 이 기술 시에 소프트웨어 개발자는 프로그래밍 언어의 구문에 따라서 클래스 구조체나 변수, 배열변수, 외부함수의 콜을 이용하여 각 플로차트나 기능적인 구성요소를 구현하는 소스 프로그램을 기술한다. 이때, Java 언어에서의 프로그램을 위한 다양한 API 콜을 사용한다.
기술된 소스 프로그램은 파일로서 컴파일러(compiler)에 공급된다. 컴파일러는 이들 소스 프로그램을 번역해서 오브젝트 프로그램을 생성한다.
컴파일러에 의한 번역은 구문해석, 최적화, 자원할당, 코드생성이라는 과정으로 이루어진다. 구문해석에서는 소스 프로그램의 자구(字句)해석, 구문해석 및 의미해석을 하고, 소스 프로그램을 중간 프로그램으로 변환한다. 최적화에서는 중간 프로그램에 대하여 기본 블록화, 제어 플로 해석, 데이터 플로 해석이라는 작업을 한다. 자원할당에서는 타깃이 되는 프로세서의 명령 세트로의 적합을 도모하기 위해서 중간 프로그램 중의 변수를 타깃이 되는 프로세서의 프로세서가 갖고 있는 레지스터 또는 메모리에 할당한다. 코드 생성에서는 중간 프로그램 내의 각 중간명령을 프로그램 코드로 변환하여 오브젝트 프로그램을 얻는다.
여기서 생성된 오브젝트 프로그램은 각 실시 예에서 설명한 플로차트의 각 스텝이나 기능적 구성요소의 각각의 순서를 컴퓨터에 실행하게 하는 하나 이상의 프로그램 코드로 구성된다. 여기서 프로그램 코드는 프로세서의 네이티브 코드, JAVA 바이트 코드와 같이 다양한 종류가 있다. 프로그램 코드에 의한 각 스텝의 실현에는 여러 가지 형태가 있다. 외부함수를 이용하여 각 스텝을 실현할 수 있는 경우, 이 외부함수를 콜하는 콜 문이 프로그램 코드가 된다. 또, 하나의 스텝을 실현 하는 프로그램 코드가 각각의 오브젝트 프로그램에 귀속하는 경우도 있다. 명령 종류가 제한되어 있는 RISC 프로세서에서는 산술연산명령이나 논리연산명령, 분기명령 등을 조합함으로써 플로차트의 각 스텝을 실현하여도 좋다.
오브젝트 프로그램이 생성되면 프로그래머는 이에 대하여 링커(linker)를 기동한다. 링커는 이들의 오브젝트 프로그램이나 관련된 라이브러리 프로그램(library program)을 메모리 공간에 할당하고, 이것을 하나로 결합하여 로드 모듈을 생성한다. 이렇게 생성된 로드 모듈은 컴퓨터에 의한 판독을 전제로 한 것이며, 각 플로차트에 나타낸 처리순서나 기능적인 구성요소의 처리순서를 컴퓨터에 실행시키는 것이다. 이상의 처리를 거쳐서 클립 파일의 다운로드나 DataStarved 이벤트의 출력을 하는 애플리케이션 프로그램을 만들 수 있다. 이렇게 작성한 프로그램을 컴퓨터 판독이 가능한 기록매체에 기록하여 사용자에게 공급하여도 좋다.
(시스템 LSI화)
재생장치(101)를 구성하는 하드웨어 중 기구적인 구성요소(BD 드라이브), 대용량의 메모리에 의해서 실장되는 구성요소(비디오 플레인, 그래픽스 플레인)를 제외한 논리소자를 주요부로 하는 시스템 타깃 디코더나 BD-J 처리부의 부분을 일체화하여 시스템 LSI로 구성하는 것이 바람직하다. 왜냐하면, 논리소자를 주요부로 하는 부분은 고밀도로 집적화할 수 있기 때문이다.
시스템 LSI는 고밀도 기판상에 베어 칩(bare chip)을 실장하여 패키징한 것을 말한다. 복수 개의 베어 칩을 고밀도 기판상에 실장하여 패키징함으로써 마치 하나의 LSI와 같은 외형 구조를 복수 개의 베어 칩이 가지게 하는 것도 시스템 LSI 에 포함된다(이와 같은 시스템 LSI를 멀티 칩 모듈이라 한다).
여기서, 패키지의 종별에 착안하면, 시스템 LSI에는 QFP(Quad Flat Package), PGA(Pin Grid Array)라고 하는 종류가 있다. QFP는 패키지의 네 측면에 핀이 장착된 시스템 LSI이다. PGA는 밑면 전체에 많은 핀이 장착된 시스템 LSI다.
이들 핀은 다른 회로와의 인터페이스로서의 역할을 하고 있다. 시스템 LSI에서의 핀에는 이러한 인터페이스의 역할이 존재하므로, 시스템 LSI에서의 이들 핀에 다른 회로를 접속함으로써 시스템 LSI는 재생장치의 중핵으로서의 역할을 한다.
이러한 시스템 LSI는 재생장치(101)는 물론 TV나 게임, 퍼스널 컴퓨터, 원 세그먼트 휴대전화(one-segment mobile) 등 영상재생을 취급하는 다양한 기기에 포함할 수 있어서 재생장치의 용도를 크게 확대할 수 있다.
엘리멘터리 버퍼나 비디오 디코더, 오디오 디코더, 그래픽스 디코더를 일체의 시스템 LSI로 하는 경우, 시스템 LSI의 아키텍처는 Uniphier 아키텍처에 준거하게 하는 것이 바람직하다.
Uniphier 아키텍처에 준거한 시스템 LSI는 이하의 회로 블록으로 구성된다.
· 데이터 병렬 프로세서(DPP)
이는 복수의 요소 프로세서가 동일하게 동작하는 SIMD형 프로세서이며, 각 요소 프로세서에 내장되어 있는 연산기를 하나의 명령으로 동시에 동작시킴으로써 픽처를 구성하는 복수의 요소에 대한 디코드 처리의 병렬화를 도모한다.
· 명령 병렬 프로세서(IPP)
이는 명령 RAM, 명령 캐시, 데이터 RAM, 데이터 캐시로 이루어지는 「Local Memory Controller」, 명령 페치부(fetch unit), 디코더, 실행 유닛, 레지스터 파일로 이루어지는 「Processing unit부」, 복수의 애플리케이션의 병렬실행을 Processing Unit부에 실행하게 하는 「Virtual Multi Processor Unit부」로 구성된다.
· MPU 블록
이는 ARM 코어, 외부버스 인터페이스(Bus Control Unit: BCU), DMA 컨트롤러, 타이머, 벡터 할당 컨트롤러라고 하는 주변회로, UART, GPIO(General Purpose Input Output), 동기 시리얼 인터페이스 등의 주변 인터페이스로 구성된다.
· 스트림 I/O 블록
이는 USB 인터페이스나 ATA Packet 인터페이스를 통해서 외부버스 상에 접속된 드라이브 장치, 하드 리무버블 미디어 드라이브 장치, SD 메모리 카드 드라이브 장치와의 데이터의 입출력을 한다.
· AVI/O 블록
이는 오디오 입출력, 비디오 입출력, OSD 컨트롤러로 구성되며, 텔레비전, AV 앰프와의 데이터 입출력을 한다.
· 메모리 제어 블록
이는 외부버스를 통해서 접속된 SD-RAM의 판독 및 기록을 실현하는 블록이며, 각 블록 간의 내부접속을 제어하는 내부버스 접속부, 시스템 LSI 외부에 접속된 SD-RAM과의 데이터 전송을 하는 액세스 제어부, 각 블록으로부터의 SD-RAM의 액세스 요구를 조정하는 액세스 스케줄부로 이루어진다.
구체적인 생산순서의 상세는 이하의 것이 된다. 먼저, 각 실시 예에서 설명한 구성도를 기초로 시스템 LSI로 할 부분의 회로도를 작성하고, 회로소자나 IC, LSI를 이용하여 구성도에서의 구성요소를 구현화한다.
그렇게 각 구성요소를 구현화해 가면, 회로소자나 IC, LSI 간을 접속하는 버스나 그 주변회로, 외부와의 인터페이스 등을 규정한다. 또한, 접속선, 전원 라인, 접지라인, 클록 신호 선 등도 규정해간다. 이 규정 시에 LSI의 스펙을 고려하여 각 구성요소의 동작 타이밍을 조정하거나 각 구성요소에 필요한 밴드 폭을 보증하는 등의 조정을 부가하면서 회로도를 완성해간다.
회로도가 완성하면 실장설계를 한다. 실장설계란 회로설계에 의해서 작성된 회로도 상의 부품(회로소자나 IC, LSI)을 기판상의 어디에 배치할지, 또는 회로도 상의 접속 선을 기판상에 어떻게 배선할지를 결정하는 기판 레이아웃의 작성작업이다.
이렇게 실장설계가 이루어지고, 기판상의 레이아웃이 확정되면, 실장설계 결과를 CAM 데이터로 변환하여 NC공작기계 등의 설비에 출력한다. NC공작기계는 이 CAM 데이터를 기초로 SoC 실장이나 SiP 실장을 한다. SoC(System on chip) 실장은 1 칩 상에 복수의 회로를 인쇄하는 기술이다. SiP(System in Package) 실장은 복수의 칩을 수지 등으로 하나의 패키지로 하는 기술이다. 이상의 과정을 거쳐서 본 발명에 관한 시스템 LSI는 각 실시 예에 제시한 재생장치(101)의 내부 구성도를 기초로 작성할 수 있다.
또, 상술한 바와 같이 하여 생성되는 집적회로는 집적도의 차이에 따라서 IC, LSI, 슈퍼 LSI, 울트라 LSI로 호칭이 되는 경우도 있다.
FPGA를 이용하여 시스템 LSI를 실현한 경우에는, 다수의 로직 엘리멘트가 격자 형상으로 배치되어 있으며, LUT(Look Up Table)에 기재되어 있는 입출력의 조합에 의거하여 종 및 횡의 배선을 연결함으로써 각 실시 예에서 설명한 하드웨어의 구성을 실현할 수 있다. LUT는 SRAM에 기억되어 있으며, 이러한 SRAM의 내용은 전원 단에 의해서 소멸하므로 이러한 FPGA의 이용 시에는 구성정보의 정의에 의해서 각 실시 예에서 설명한 하드웨어의 구성을 실현하는 LUT를 SRAM에 기록하게 할 필요가 있다.
본 발명의 재생장치는 스트리밍 라이크 재생기능을 효율적으로 행하여, 사용자에게 긴 다운로드 시간을 주지 않고도 완료되므로, 더 매력적인 영화 타이틀 등의 동화상 콘텐츠를 시장에 공급할 수 있어서, 영화시장이나 민생기기시장을 활성화시킬 수 있다. 따라서, 본 발명의 재생장치는 영화산업이나 민생기기산업에서 높은 이용 가능성을 갖는다.

Claims (11)

  1. 플레이리스트를 재생하는 재생장치로,
    플레이리스트는 복수의 플레이아이템과 복수의 서브 플레이아이템을 포함하고,
    상기 플레이아이템은 메인 스트림을 포함하는 클립 파일과 당해 클립 파일에서의 재생구간을 규정하는 정보이며,
    상기 서브 플레이아이템은 서브 스트림을 포함하는 클립 파일과 당해 클립 파일에서의 재생구간을 플레이아이템과 동기할 재생구간으로서 규정하는 정보이며,
    상기 서브 플레이아이템이 참조하는 클립 파일은 전송로를 통해서 전송되는 클립 파일이고, 서브 스트림은 플레이아이템이 참조하고 있는 클립 파일과는 다중화되어 있지 않으며,
    플레이리스트에 포함되는 플레이아이템을 재생하는 재생수단과,
    복수의 플레이아이템 중 재생대상으로 되어 있는 것을 현재 플레이아이템으로서 특정하는 특정수단과,
    현재 플레이아이템이 변화할 때마다 현재 플레이아이템에 있어서 최적인 서브 플레이아이템을 현재 서브 플레이아이템으로서 결정하는 결정수단과,
    상기 현재 플레이아이템과 동기하여 재생할 현재 서브 스트림을 가리키는 서브 스트림 레지스터를 구비하고,
    상기 현재 서브 플레이아이템은,
    현재 플레이아이템과 동기할 재생구간을 규정하는 서브 플레이아이템으로서, 상기 서브 스트림 레지스터가 가리키는 서브 스트림의 재생구간을 규정하는 것이며,
    상기 재생수단은,
    재생장치가 액세스 가능한 기록매체에 현재 서브 플레이아이템에 의해서 참조되어 있는 클립 파일이 존재하면 플레이아이템의 재생을 진행하고, 현재 서브 플레이아이템에 의해서 참조되어 있는 클립 파일이 기록매체에서 존재하지 않거나 또는 인식불능인 상태로 되어 있으면 플레이아이템의 재생을 정지하는 것을 특징으로 하는 재생장치.
  2. 제 1 항에 있어서,
    서브 스트림에는 오디오 스트림, 비디오 스트림, 자막 스트림이라고 하는 종별이 있으며,
    서브 스트림 레지스터는 서브 스트림의 종별마다 스트림 번호를 보유하는 번호 레지스터를 구비하고, 각 번호 레지스터는 스트림 번호를 보유함으로써 서브 스트림의 종별마다의 현재 서브 스트림을 가리키며,
    상기 현재 서브 플레이아이템은,
    번호 레지스터가 가리키는 현재 서브 스트림을 저장한 클립 파일을 참조하고 있는 서브 플레이아이템인 것을 특징으로 하는 재생장치.
  3. 제 1 항에 있어서,
    상기 재생장치는,
    기록매체에서의 클립 파일의 상태를 관리하는 관리수단을 구비하고,
    상기 클립 파일은,
    애플리케이션이 서버장치에 대하여 다운로드를 요구함으로써 전송로를 통해서 재생장치에 송신되며,
    상기 재생수단에 의한 재생개시는,
    애플리케이션이 플레이리스트 정보에 대하여 플레이어 인스턴스를 생성함으로써 이루어지고,
    상기 재생수단의 정지는,
    현재 서브 플레이아이템에 의해서 참조되어 있는 클립 파일이 기록매체에서 존재하지 않거나 또는 인식불능인 상태로 되어 있는 경우, 관리수단이 재생수단 및 플레이어 인스턴스에 재생정지를 지시하는 이벤트를 출력함으로써 이루어지는 것을 특징으로 하는 재생장치.
  4. 제 1 항에 있어서,
    플레이아이템에서 참조되는 클립 파일은 비디오 스트림을 포함하고,
    서브 스트림은 상기 비디오 스트림과 동기하여 재생함으로써 입체시(立體視)를 사용자에게 행하는 서브 비디오 스트림이며,
    플레이리스트는 입체시 세팅정보를 포함하고, 입체시 세팅정보는 입체시를 온으로 할지 오프로 할지를 나타내며,
    입체시 세팅정보가 입체시 오프를 나타내고 있는 경우, 재생수단은 서브 플레이아이템에서 참조되고 있는 클립 파일로서 서브 비디오 스트림을 포함하는 클립 파일이 상기 기록매체에 존재하지 않거나 또는 인식불능인 상태로 되어 있다고 하더라도 재생을 정지하지 않으며,
    재생수단이 재생을 정지하는 것은 플레이리스트에서의 입체시 세팅정보가 입체시 온을 나타내고 있는 경우로서 현재 서브 플레이아이템에 의해서 참조되어 있는 클립 파일이 상기 기록매체에 존재하지 않거나 또는 인식불능인 상태로 되어 있는 경우에 한정되는 것을 특징으로 하는 재생장치.
  5. 제 1 항에 있어서,
    서브 스트림은 자막 스트림이고,
    상기 서브 스트림 레지스터는 자막의 온/오프의 설정을 더 포함하며,
    상기 재생수단은,
    상기 서브 스트림 레지스터가 자막 오프를 나타내고 있는 경우, 자막 스트림을 포함하는 어느 하나의 클립 파일이 기록매체에 존재하지 않거나 또는 인식불능인 상태라고 하더라도 재생을 정지하지 않으며,
    재생을 정지하는 것은 상기 서브 스트림 레지스터가 자막 온을 나타내고 있는 경우로서 현재 서브 플레이아이템에 의해서 참조되어 있는 클립 파일이 기록매체에 존재하지 않거나 또는 인식불능인 상태로 되어 있는 경우에 한정되는 것을 특 징으로 하는 재생장치.
  6. 제 1 항에 있어서,
    플레이아이템 정보는 재생이 가능한 서브 스트림을 나타내는 스트림 번호 테이블을 포함하고,
    상기 스트림 번호 테이블은 복수의 서브 스트림 엔트리를 포함하며,
    복수의 서브 스트림 엔트리는 플레이아이템과 동기하여 재생할 수 있는 복수의 서브 스트림을 나타내는 정보이고,
    각각의 서브 스트림 엔트리는 동기 재생이 가능한 서브 스트림과 서브 플레이아이템 정보의 대응관계로 나타내는 정보이며, 스트림 번호 테이블에서의 서브 스트림 엔트리의 순서는 서브 스트림의 우선순위를 나타내고,
    현재 서브 스트림은,
    동기 재생이 가능한 복수의 서브 스트림 중 대응하는 서브 스트림 엔트리의 우선순위가 최고위(最高位)의 것인 것을 특징으로 하는 재생장치.
  7. 제 1 항에 있어서,
    상기 재생장치는 덱 정보(deck information)를 저장하는 세팅 레지스터를 구비하고,
    덱 정보는 재생장치에서의 언어설정을 나타내며,
    상기 결정수단은,
    재생이 허가되어 있는 서브 스트림 중 덱 정보에 나타내는 언어설정과 합치하는 언어속성을 갖는 것을 현재 서브 스트림으로 결정하는 것을 특징으로 하는 재생장치.
  8. 플레이리스트의 재생시에 참조되는 클립 파일을 기록매체에 기록하는 기록장치로,
    플레이리스트는 복수의 플레이아이템과 복수의 서브 플레이아이템을 포함하고,
    상기 플레이아이템은 메인 스트림을 포함하는 클립 파일과 당해 클립 파일에서의 재생구간을 규정하는 정보이며,
    상기 서브 플레이아이템은 서브 스트림을 포함하는 클립 파일과 당해 클립 파일에서의 재생구간을 플레이아이템과 동기할 재생구간으로서 규정하는 정보이고,
    상기 서브 플레이아이템이 참조하는 클립 파일은 전송로를 통해서 전송되는 클립 파일이며, 서브 스트림은 플레이아이템이 참조하고 있는 클립 파일과는 다중화되어 있지 않고,
    클립 파일을 전송로를 통해서 수신하여 기록매체에 기록하는 기록수단과,
    기록매체에 기록된 클립 파일의 상태를 관리하는 관리수단과,
    플레이리스트에 포함되는 플레이아이템을 재생하는 재생수단과,
    복수의 플레이아이템 중 재생대상으로 되어 있는 것을 현재 플레이아이템으로 특정하는 특정수단과,
    현재 플레이아이템이 변화할 때마다 현재 플레이아이템에 있어서 최적인 서브 플레이아이템을 현재 서브 플레이아이템으로서 결정하는 결정수단과,
    상기 현재 플레이아이템과 동기하여 재생할 현재 서브 스트림을 가리키는 서브 스트림 레지스터를 구비하고,
    상기 현재 서브 플레이아이템은,
    현재 플레이아이템과 동기할 재생구간을 규정하는 서브 플레이아이템으로서 상기 서브 스트림 레지스터가 가리키는 서브 스트림의 재생구간을 규정하는 것이며,
    상기 재생수단은,
    재생장치가 액세스 가능한 기록매체에 현재 서브 플레이아이템에 의해서 참조되어 있는 클립 파일이 존재하면 플레이아이템의 재생을 진행하고, 현재 서브 플레이아이템에 의해서 참조되어 있는 클립 파일이 기록매체에서 존재하지 않거나 또는 인식불능인 상태로 되어 있으면 플레이아이템의 재생을 정지하는 것을 특징으로 하는 기록장치.
  9. 제 8 항에 있어서,
    애플리케이션은 현재 플레이아이템의 재생이 이루어지고 있는 기간 내에 플레이리스트 정보에 포함되는 복수의 서브 플레이아이템 정보 중 현재 서브 플레이아이템의 다음 순위가 되는 것을 넥스트 서브 플레이아이템으로서 특정하고, 넥스트 서브 플레이아이템에 의해서 참조되어 있는 클립 파일의 다운로드를 서버장치에 대하여 요구하며,
    상기 기록수단에 의해서 기록매체에 기록되는 클립 파일은 넥스트 서브 플레이아이템 정보에 의해서 참조되어 있는 클립 파일인 것을 특징으로 하는 기록장치.
  10. 플레이리스트를 재생하는 재생방법으로,
    플레이리스트는 복수의 플레이아이템과 복수의 서브 플레이아이템을 포함하고,
    상기 플레이아이템은 메인 스트림을 포함하는 클립 파일과 당해 클립 파일에서의 재생구간을 규정하는 정보이며,
    상기 서브 플레이아이템은 서브 스트림을 포함하는 클립 파일과 당해 클립 파일에서의 재생구간을 플레이아이템과 동기할 재생구간으로서 규정하는 정보이고,
    상기 서브 플레이아이템이 참조하는 클립 파일은 전송로를 통해서 전송되는 클립 파일이고, 서브 스트림은 플레이아이템이 참조하고 있는 클립 파일과는 다중화되어 있지 않으며,
    플레이리스트에 포함되는 플레이아이템을 재생하는 재생스텝과,
    복수의 플레이아이템 중 재생대상으로 되어 있는 것을 현재 플레이아이템으로 특정하는 특정스텝과,
    현재 플레이아이템이 변화할 때마다 현재 플레이아이템에 있어서 최적인 서브 플레이아이템을 현재 서브 플레이아이템으로 결정하는 결정스텝과,
    상기 현재 플레이아이템과 동기하여 재생할 현재 서브 스트림을 가리키는 스 텝을 가지며,
    상기 현재 서브 플레이아이템은,
    현재 플레이아이템과 동기할 재생구간을 규정하는 서브 플레이아이템으로서 현재 서브 스트림의 재생구간을 규정하는 것이며,
    상기 재생스텝은,
    액세스 가능한 기록매체에 현재 서브 플레이아이템에 의해서 참조되어 있는 클립 파일이 존재하면 플레이아이템의 재생을 진행하고, 현재 서브 플레이아이템에 의해서 참조되어 있는 클립 파일이 기록매체에서 존재하지 않거나 또는 인식불능인 상태로 되어 있으면 플레이아이템의 재생을 정지하는 것을 특징으로 하는 재생방법.
  11. 플레이리스트의 재생시에 참조되는 클립 파일을 기록매체에 기록하는 기록방법으로,
    플레이리스트는 복수의 플레이아이템과 복수의 서브 플레이아이템을 포함하고,
    상기 플레이아이템은 메인 스트림을 포함하는 클립 파일과 당해 클립 파일에서의 재생구간을 규정하는 정보이며,
    상기 서브 플레이아이템은 서브 스트림을 포함하는 클립 파일과 당해 클립 파일에서의 재생구간을 플레이아이템과 동기할 재생구간으로서 규정하는 정보이고,
    상기 서브 플레이아이템이 참조하는 클립 파일은 전송로를 통해서 전송되는 클립 파일이고, 서브 스트림은 플레이아이템이 참조되고 있는 클립 파일과는 다중화되어 있지 않으며,
    클립 파일을 전송로를 통해서 수신하여 기록매체에 기록하는 기록스텝과,
    기록매체에 기록된 클립 파일의 상태를 관리하는 관리스텝과,
    플레이리스트에 포함되는 플레이아이템을 재생하는 재생스텝과,
    복수의 플레이아이템 중 재생대상으로 되어 있는 것을 현재 플레이아이템으로 특정하는 특정스텝과,
    현재 플레이아이템이 변화할 때마다 현재 플레이아이템에 있어서 최적인 서브 플레이아이템을 현재 서브 플레이아이템으로 결정하는 결정스텝과,
    상기 현재 플레이아이템과 동기하여 재생할 현재 서브 스트림을 가리키는 스텝을 가지며,
    상기 현재 서브 플레이아이템은,
    현재 플레이아이템과 동기할 재생구간을 규정하는 서브 플레이아이템으로서 현재 서브 스트림의 재생구간을 규정하는 것이며,
    상기 재생스텝은,
    현재 서브 플레이아이템에 의해서 참조되어 있는 클립 파일이 기록매체에 존재하면 플레이아이템의 재생을 진행하고, 현재 서브 플레이아이템에 의해서 참조되어 있는 클립 파일이 기록매체에 존재하지 않거나 또는 인식불능인 상태로 되어 있으면 플레이아이템의 재생을 정지하는 것을 특징으로 하는 기록방법.
KR1020097016807A 2008-02-15 2009-02-09 재생장치, 기록장치, 재생방법 및 기록방법 KR20100121574A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US2905408P 2008-02-15 2008-02-15
US61/029,054 2008-02-15

Publications (1)

Publication Number Publication Date
KR20100121574A true KR20100121574A (ko) 2010-11-18

Family

ID=40955219

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097016807A KR20100121574A (ko) 2008-02-15 2009-02-09 재생장치, 기록장치, 재생방법 및 기록방법

Country Status (9)

Country Link
US (1) US8849088B2 (ko)
EP (1) EP2242269A4 (ko)
JP (1) JP5281021B2 (ko)
KR (1) KR20100121574A (ko)
CN (1) CN101682744B (ko)
BR (1) BRPI0902891A2 (ko)
MX (1) MX2009010856A (ko)
RU (1) RU2516463C2 (ko)
WO (1) WO2009101787A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8515052B2 (en) 2007-12-17 2013-08-20 Wai Wu Parallel signal processing system and method
JP5314915B2 (ja) * 2008-04-10 2013-10-16 アルパイン株式会社 車載ビデオ再生装置
PL2362671T3 (pl) * 2008-07-25 2014-05-30 Koninklijke Philips Nv Obsługa napisów przez wyświetlacz 3D
KR100972541B1 (ko) * 2008-07-28 2010-07-28 드리머 Bd-j 기반 컨텐츠 제공 방법 및 이를 실현시키기 위한프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
US9754625B2 (en) * 2008-07-31 2017-09-05 Warner Bros. Entertainment Inc. Generation and use of user-selected scenes playlist from distributed digital content
TWI389001B (zh) * 2009-06-01 2013-03-11 Mstar Semiconductor Inc 檔案系統及檔案系統轉換方法
WO2010143820A2 (ko) * 2009-06-08 2010-12-16 엘지전자 주식회사 3차원 pip 영상 제공 장치 및 그 방법
CN102577408B (zh) 2009-09-30 2015-04-15 夏普株式会社 使用了信息记录介质的再现方法、信息记录再现装置和三维化装置以及信息记录装置
WO2011040414A1 (ja) * 2009-09-30 2011-04-07 シャープ株式会社 情報記録媒体、情報記録媒体を用いた再生方法及び記録方法、情報記録再生装置、並びに、3次元化ユニット及び情報記録装置
WO2011074070A1 (ja) * 2009-12-15 2011-06-23 パイオニア株式会社 画像出力装置
US20110157302A1 (en) * 2009-12-30 2011-06-30 Ati Technologies Ulc Three-dimensional video display system with multi-stream sending/receiving operation
DK2526671T3 (en) * 2010-01-18 2017-02-27 ERICSSON TELEFON AB L M (publ) METHODS AND DEVICES FOR HTTP MEDIA FLOW DISTRIBUTION
JP2011205481A (ja) * 2010-03-26 2011-10-13 Sharp Corp 立体映像視聴具及び立体映像表示システム
US8771064B2 (en) 2010-05-26 2014-07-08 Aristocrat Technologies Australia Pty Limited Gaming system and a method of gaming
WO2012123982A1 (ja) * 2011-03-11 2012-09-20 日立コンシューマエレクトロニクス株式会社 記録装置/方法/媒体、再生装置/方法
US8681170B2 (en) 2011-05-05 2014-03-25 Ati Technologies Ulc Apparatus and method for multi-streaming for more than three pixel component values
KR20140029991A (ko) * 2012-08-31 2014-03-11 삼성전자주식회사 프로그래시브 플레이리스트 재생 장치 및 재생 방법, 기록 장치 및 기록 방법, 이를 위한 정보저장매체
WO2016157860A1 (ja) * 2015-03-27 2016-10-06 パナソニックIpマネジメント株式会社 録画再生装置、および番組情報の表示方法
CN106411969B (zh) * 2015-07-28 2019-10-08 广州酷狗计算机科技有限公司 歌单生成方法及装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2340314C (en) * 1996-12-04 2003-07-08 Mitsuaki Oshima Optical disk for high resolution and three-dimensional video recording, optical disk reproduction apparatus, and optical disk recording apparatus
KR100973862B1 (ko) 2002-09-25 2010-08-03 파나소닉 주식회사 재생장치, 광 디스크, 기록매체, 재생방법
JP4558498B2 (ja) 2002-11-20 2010-10-06 エルジー エレクトロニクス インコーポレイティド 記録されたスチールイメージの再生を管理するためのデータ構造を有する記録媒体、それによる記録及び再生方法及び装置
JP4228767B2 (ja) 2003-04-25 2009-02-25 ソニー株式会社 再生装置、再生方法、再生プログラムおよび記録媒体
CN101714394B (zh) * 2003-10-03 2012-07-11 夏普株式会社 记录再现装置和服务器装置
KR100982517B1 (ko) 2004-02-02 2010-09-16 삼성전자주식회사 이벤트 정보가 포함된 동영상 데이터가 기록된 저장 매체 및 재생 장치
EP1758119B1 (en) * 2004-05-11 2018-08-15 Panasonic Intellectual Property Management Co., Ltd. Reproducer, program, and reproducing method
CN101299345B (zh) * 2004-06-18 2012-09-26 松下电器产业株式会社 再现装置、程序、再现方法
BRPI0514432A (pt) * 2004-08-17 2008-06-10 Lg Electronics Inc método e aparelho para reproduzir dados gravados em meio de gravação
WO2006073260A2 (en) * 2005-01-07 2006-07-13 Lg Electronics Inc. Method and apparatus for reproducing data from recording medium using local storage
CN101151675B (zh) * 2005-01-28 2012-09-19 松下电器产业株式会社 播放装置
JP2006244655A (ja) * 2005-03-04 2006-09-14 Matsushita Electric Ind Co Ltd 再生装置および再生方法
CN101156206B (zh) * 2005-04-07 2010-12-29 松下电器产业株式会社 记录媒体、再现装置、记录方法、再现方法
JP4923751B2 (ja) * 2005-08-30 2012-04-25 ソニー株式会社 再生装置、並びに記録媒体及びその製造方法
JP2007074608A (ja) * 2005-09-09 2007-03-22 Hitachi Ltd 再生装置および再生方法
JP4815962B2 (ja) * 2005-09-12 2011-11-16 ソニー株式会社 再生装置および再生方法、プログラム、並びに、プログラム格納媒体

Also Published As

Publication number Publication date
EP2242269A4 (en) 2014-05-07
JPWO2009101787A1 (ja) 2011-06-09
US8849088B2 (en) 2014-09-30
MX2009010856A (es) 2009-11-02
US20090208189A1 (en) 2009-08-20
EP2242269A1 (en) 2010-10-20
RU2516463C2 (ru) 2014-05-20
WO2009101787A1 (ja) 2009-08-20
CN101682744B (zh) 2013-01-30
RU2009138027A (ru) 2011-04-20
JP5281021B2 (ja) 2013-09-04
BRPI0902891A2 (pt) 2015-09-22
CN101682744A (zh) 2010-03-24

Similar Documents

Publication Publication Date Title
JP5281021B2 (ja) 再生装置、記録装置、再生方法および記録方法
JP5914888B2 (ja) 高画質化に関わる記録媒体、再生装置、記録装置、符号化方法、復号化方法
JP5406044B2 (ja) 個別販売に用いられる記録媒体、記録装置、再生装置、それらの方法
JP4733772B2 (ja) 記録媒体、再生装置、集積回路、再生方法、記録方法、記録媒体再生システム
JP5596830B2 (ja) 旧来のフォーマットとの互換を維持しつつも、記録内容を編集することができる記録媒体、記録装置
CN102685435B (zh) 再现装置、记录方法
JP5291026B2 (ja) 3d映像を再生する再生装置、および配信装置
WO2010038409A1 (ja) 再生装置、記録媒体、及び集積回路
JP5032510B2 (ja) 再生装置、記録方法、プログラム
KR20120036790A (ko) 재생장치, 집적회로, 기록매체
KR20120036791A (ko) 3d 영상을 재생하기 위한 정보기록매체 및 재생장치
KR20110036882A (ko) 기록매체, 재생장치, 집적회로, 재생방법, 프로그램
WO2010103827A1 (ja) 再生装置、再生方法、記録媒体、アプリケーション、及びオーサリング装置
JP5451745B2 (ja) 再生装置、集積回路、再生方法、アプリケーションプログラム、記録媒体、記録装置、及び記録方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application