KR20120036790A - 재생장치, 집적회로, 기록매체 - Google Patents

재생장치, 집적회로, 기록매체 Download PDF

Info

Publication number
KR20120036790A
KR20120036790A KR1020117006144A KR20117006144A KR20120036790A KR 20120036790 A KR20120036790 A KR 20120036790A KR 1020117006144 A KR1020117006144 A KR 1020117006144A KR 20117006144 A KR20117006144 A KR 20117006144A KR 20120036790 A KR20120036790 A KR 20120036790A
Authority
KR
South Korea
Prior art keywords
stream
stereoscopic
playback
output mode
information
Prior art date
Application number
KR1020117006144A
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 KR20120036790A publication Critical patent/KR20120036790A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • 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
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/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/322Indexing; 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 used signal is digitally coded
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/178Metadata, e.g. disparity information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/189Recording image signals; Reproducing recorded image signals
    • 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
    • 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

Abstract

재생장치는 기록매체에 기록된 스트림 선택테이블에 따라서 그래픽스 스트림을 재생한다. 프로시저 수단은 캐퍼빌리티 레지스터에 나타낸 재생능력에 따라서 현재 스트림 번호에 대응하는 그래픽스의 재생타입을 결정한다. 그래픽스 스트림의 재생타입에는 평면 시 그래픽스 스트림을 이용한 재생을 실행하는 제 1 재생타입과, 좌측 눈 용 그래픽스 스트림 및 우측 눈 용 그래픽스 스트림의 세트를 이용하여 입체 시 재생을 실행하는 제 2 재생타입이 있고, 캐퍼빌리티 레지스터는 좌측 눈 용 그래픽스 스트림 및 우측 눈 용 그래픽스 스트림의 세트를 이용한 입체 시 재생을 실행하는 능력이 그래픽스 디코더에 존재하는가 여부를 나타낸다.

Description

재생장치, 집적회로, 기록매체{PLAYBACK DEVICE, INTEGRATED CIRCUIT, RECORDING MEDIUM}
본 발명은 3D 영상 및 2D 영상 재생기술의 기술분야에 속하는 발명이다.
2D 영상이란 표시장치의 표시화면을 X-Y 평면으로 파악하여, 이 X-Y 평면상의 화소로 표현되는 화상이며, 평면 시 화상이라고도 불린다.
대조적으로 3D 영상이란 표시장치의 화면에서의 X-Y 평면상의 화소에 Z축 방향의 깊이를 더한 화상이다. 3D 영상은 좌측 눈으로 시청해야 할 레프트 뷰 영상과 우측 눈으로 시청해야 할 라이트 뷰 영상을 모두 재생하여, 이들 레프트 뷰 영상, 라이트 뷰 영상으로 입체 시 효과를 발휘함으로써 사용자에 의한 시청에 제공된다. 3D 영상에서의 화소 중 정의 Z축 좌표를 갖는 것을 사용자는 표시장치의 화면보다 앞에 있다고 느끼고, 부의 Z축 좌표를 갖는 것을 화면보다 안쪽에 존재한다고 느낀다.
광디스크에 3D 영상을 저장하는 경우에는 2D 영상이 저장된 광디스크만을 재생할 수 있는 재생장치(이하, 「2D 재생장치」라고 한다)와의 재생호환성이 요구된다. 3D 영상을 저장한 광디스크를 2D 재생장치가 3D 영상을 2D 영상으로 재생할 수 없는 경우 동일한 콘텐츠를 3D용 디스크와 2D용 디스크의 2종류를 제작할 필요가 있어서 고비용이 되어 버린다. 따라서, 3D 영상이 저장된 광디스크는 2D 재생장치에서는 2D 영상으로 재생하고, 2D 영상과 3D 영상을 재생할 수 있는 재생장치(이하, 「2D/3D 재생장치」)에서는 2D 영상 또는 3D 영상으로 재생할 수 있을 것이 요구된다.
3D 영상이 저장된 광디스크에서의 재생호환성을 확보하는 기술의 선행기술로는 이하의 특허문헌 1에 기재된 것이 있다.
특허문헌 1 : 일본국 특허 제 3935507호 공보
그러나 동화상에 대하여 입체 시 효과를 실행하는 경우 자막이나 GUI를 나타내는 그래픽스에 대해서도 뭔가 입체 시 효과의 실현이 요구된다. 이들 자막이나 GUI는 통상 동화상과 합성해서 표시된다. 동화상이 입체 시 효과를 실현할 수 있으나 자막이나 GUI가 평면 시 재생인 채로 표시되는 것은 양자의 정합이 취해지지 않기 때문이다.
매뉴팩처(재생장치의 제조주체이다)가 재생장치를 설계할 때의 자막이나 GUI를 나타내는 그래픽스의 취급으로는 그래픽스의 입체 시 효과를 항상 보장하는 설계사상과 그래픽스의 입체 시 효과를 보장하지 않는 설계사상이 있다.
그래픽스의 입체 시 효과를 항상 보장하는 설계사상에서는 이하의 문제가 있다. 즉, 동화상의 입체 시 효과의 실현만으로도 하드웨어의 설계나 평가, 품질관리가 큰일인데 그래픽스의 입체 시 기능을 재생장치에 추가해서 그것의 품질관리를 실행하는 것은 매뉴팩처의 입장에서는 많은 부담이 된다.
따라서, 자막이나 GUI를 나타내는 그래픽스에 대해서도 입체 시 효과를 항상 보장한다고 하는 재생장치의 설계사상에서는 제품의 저가격화를 도모할 수 없다는 문제가 있다.
그래픽스의 입체 시 효과를 보장하지 않는 설계사상이란 이하의 것이다. 그래픽스에 대해서는 동화상과 같이 본격적인 입체 시 효과가 필요하지 않고, 플레인 메모리의 오프셋 제어에 의해 간단하게 깊이감을 가져오는 것만으로도 충분한 경우도 많다. 따라서 그래픽스의 재생부에 대해서는 오프셋 제어에 의해 간이한 입체 시 효과를 실현하도록 재생장치를 채용한다는 설계사상에 따르면 입체 시 효과가 가능한 재생장치의 저가격화를 추진할 수 있다. 그러나 그래픽스 중에는 영화작품 중의 캐릭터를 동화상과 동기하여 동작시키는 것과 같은 타입의 것이 있다. 오프셋 제어를 항상 채용한다고 하는 설계사상에서는 이러한 캐릭터를 평면적으로 표시시킬 수밖에 없어서 입체 시 효과가 싸구려 같은 것이 된다. 이러한 싸구려 같음을 벗어날 수 없으면 재생장치를 고급 기종으로 판매하기는 곤란해진다.
따라서 사상의 어느 한쪽에 치우치면 어느 쪽도 상술한 것과 같은 폐해가 발생한다. 또, 재생장치가 고급 기종만이 되거나 저가격의 기종만이 되어서 시장에서의 제품의 충실화를 방해하여 입체 시 재생의 실현이 가능한 재생장치의 보급을 방해한다.
본 발명의 목적은 고품위의 입체 시 효과 기능을 갖는 기종, 고품위의 입체 시 효과 기능을 갖지 않는 기종이라고 하는 복수 기종을 시장에 투입하여 제품 라인업의 충실화를 도모할 수 있는 재생장치를 제공하는 것이다.
상기 과제를 해결하기 위한 재생장치는, 상기 스트림 선택테이블에 등록되어 있는 스트림 번호 중 재생 대상인 그래픽스 스트림에 대응하는 스트림 번호를 저장하는 스트림 번호 레지스터와, 상기 재생장치의 그래픽스 재생능력을 나타내는 캐퍼빌리티 레지스터를 구비하고, 그래픽스 스트림의 재생타입에는 평면 시 그래픽스 스트림을 이용한 재생을 실행하는 제 1 재생타입과, 좌측 눈 용 그래픽스 스트림과 우측 눈 용 그래픽스 스트림의 쌍을 이용하여 입체 시 재생을 실행하는 제 2 재생타입이 있으며, 상기 캐퍼빌리티 레지스터는 좌측 눈 용 그래픽스 스트림과 우측 눈 용 그래픽스 스트림의 쌍을 이용한 입체 시 재생을 실행하는 능력이 재생장치에 존재하는가 여부를 나타내고 있고, 상기 캐퍼빌리티 레지스터에 나타나는 재생능력에 따라서 상기 스트림 번호 레지스터에 저장된 스트림 번호에 대응하는 그래픽스 스트림의 재생타입을 선택하는 것을 특징으로 한다.
그래픽스의 입체 시 효과의 실현성의 여부가 캐퍼빌리티 플래그에 나타나 있고, 확장 스트림 선택테이블에서 입체 시 효과가 가능하다고 설정되어 있는 그래픽스 스트림에 대해서는 이 그래픽스의 입체 시 효과를 실시하는가 여부가 이 캐퍼빌리티 플래그에 의해 조건이 부여되므로, 매뉴팩처는 비록 기록매체에 입체 시 효과를 갖는 그래픽스 스트림이 기록되어 있었다고 하더라도 캐퍼빌리티 플래그를 「캐퍼빌리티 없음」으로 설정함으로써 이러한 그래픽스 스트림의 입체 시 효과에 브레이크를 걸어서 품질관리를 하기 쉬운 평면 시 그래픽스 스트림을 이용한 입체 시 재생을 대신 실행할 수 있다.
이렇게 함으로써 고품위의 입체 시 효과 기능을 갖는 기종, 이러한 입체 시 효과 기능을 갖지 않는 기종이라고 하는 복수 기종의 재생장치를 시장에 투입하여 제품 라인업의 충실화를 도모할 수 있다.
이상이 해결하려고 하는 과제 난에서 설명한 기술적 과제의 해결을 도모하는 기술적 사상의 창작이다. 임의적이기는 하지만 상기 재생장치는 이하와 같은 추가적인 기술적 과제의 해결을 도모하는 것이라도 좋다.
(추가적 기술적 과제 1)
현행의 재생장치에서 주류로 되어 있는 것은 입체 시 시청용의 안경을 장착하여 표시장치를 시청한다고 하는 것이다. 이러한 시청 스타일로 입체 시를 즐기기 위해서는 입체 시의 영화작품이 기록된 기록매체를 재생장치에 장전(裝塡)한 뒤에 안경을 쓴다고 하는 2개의 동작이 필요하므로 입체 시 재생의 시청을 즐기기까지 시간이 걸려서, 이들 동작을 하고 있는 동안에 「입체 시 영상이 지금부터 시작된다」라고 하는 고양감(高揚感)이 없어져 버리는 경우도 있다.
본 발명의 목적은 「입체 시 영상이 지금부터 시작된다」라고 하는 고양감이 존재하는 동안에 입체 시 재생을 개시할 수 있는 재생장치를 제공하는 것이다.
상기 과제를 해결할 수가 있는 재생장치는, 상기 재생장치에 접속되어 있는 표시장치에 입체 시 표시능력이 존재하는가 여부를 나타내는 캐퍼빌리티 레지스터와, 자기(自機)의 출력 모드를 저장하고 있는 모드 레지스터를 구비하고, 복수의 조건이 성립하는가 여부를 판정하여, 복수의 조건이 성립한 경우에 상기 모드 레지스터에 입체 시 출력 모드를 설정하며, 상기 복수의 조건 중 제 1 조건은 상기 캐퍼빌리티 레지스터가 상기 재생장치에 접속되어 있는 표시장치에 입체 시 표시능력이 존재한다는 것을 나타내고 있는 것이고, 상기 복수의 조건 중 제 2 조건은 기록매체에 기록된 출력 모드의 초기치가 입체 시 출력 모드인 취지를 나타내는 것이며, 디스크 판독 시에 상기 제 1 조건과 상기 제 2 조건이 성립하는가 여부의 판정을 실행하여, 상기 제 1 조건과 상기 제 2 조건이 성립한 경우 상기 모드 레지스터에 입체 시 출력 모드를 설정하는 것을 특징으로 한다.
기록매체에서의 출력 모드의 초기치가 입체 시 재생이 가능하다는 취지를 나타내는 경우 재생장치가 입체 시 재생의 재생능력이 존재하는 것을 요건으로 디스크 장전과 동시에 재생장치가 입체 시 출력 모드가 된다. 따라서 초기치가 입체 시 재생이 가능하다는 취지를 나타내는 경우 기록매체를 장전하고 바로 안경을 쓰는 것에 의해 입체 시 재생에 의한 가상 현실감에 빠질 수 있다.
(추가적인 기술적 과제 2)
현행의 평면 시 용 재생장치에서의 스트림 선택 순서에 대해서는 스트림 선택 프로시저라는 제어프로그램이 확립되어 있다. 입체 시 재생장치에서는 입체 시 출력 모드와 평면 시 출력 모드의 전환을 보장할 필요가 있으나, 출력 모드의 선택 순서가 이러한 스트림 선택 프로시저와 양립하지 않는 것이면 제어프로그램의 개발에 소요되는 시간이 배증(倍增)해 버린다고 하는 문제가 있다.
본 발명의 목적은 평면 시 용의 재생장치에서의 스트림 선택 프로시저와 친화성이 높은 모드 설정을 실현할 수 있는 재생장치를 제공하는 것이다.
상기 과제를 해결할 수 있는 재생장치는, 상기 재생장치에 접속되어 있는 표시장치에 입체 시 표시능력이 존재하는가 여부를 나타내는 캐퍼빌리티 레지스터와, 자기의 출력 모드를 저장하고 있는 모드 레지스터를 구비하고, 복수의 조건이 성립하는가 여부를 판정하여, 복수의 조건이 성립한 경우에 상기 모드 레지스터에 입체 시 출력 모드를 설정하며, 상기 기록매체에는 재생경로를 나타내는 플레이리스트정보가 기록되어 있고, 상기 복수의 조건 중 제 1 조건은 상기 캐퍼빌리티 레지스터가 상기 재생장치에 접속되어 있는 표시장치에 입체 시 표시능력이 존재한다는 것을 나타내고 있는 것이며, 상기 복수의 조건 중 제 2 조건은 재생하는 플레이리스트정보가 입체 시 용의 확장 스트림 선택테이블을 포함하는 것이고, 상기 확장 스트림 선택테이블은 입체 시 재생 모드에서 상기 재생장치가 선택 가능한 엘리멘터리 스트림을 스트림 번호와 대응시켜서 나타내는 리스트이며, 플레이리스트 재생 개시시에 상기 모드 레지스터에 저장되어 있는 출력 모드가 입체 시 출력 모드의 경우 상기 제 1 조건과 상기 제 2 조건이 성립하는가 여부의 판정을 실행하고, 상기 제 1 조건과 상기 제 2 조건이 성립한 경우 상기 모드 레지스터에 저장되어 있는 입체 시 출력 모드를 유지하는 것을 특징으로 한다.
평면 시 용의 스트림 선택테이블과는 별도로 입체 시 용의 확장 스트림 선택테이블이 현재의 플레이리스트정보에 존재하는 것을 요건으로 출력 모드를 전환하므로 플레이리스트정보를 기준으로 한 기존의 스트림 선택 프로시저에 큰 개변을 부가하는 일 없이 평면 시 출력 모드, 입체 시 출력 모드 중 적절한 모드를 선택할 수 있다.
(추가적인 기술적 과제 3)
플레이리스트의 재생 중에는 플레이리스트를 구성하는 플레이아이템 간의 심리스 접속이 배려되어 있고, 그 재생의 품위에 편집자에 의한 세심한 주의가 기울여지고 있다. 그러나 플레이리스트의 재생의 도중에 출력 모드가 입체 시 출력 모드에서 평면 시 출력 모드로 전환하거나, 또 평면 시 출력 모드에서 입체 시 출력 모드로 전환하거나 하면 이 플레이리스트 단위로 편집자에 의해 보장되고 있는 재생의 품위가 손상된다고 하는 우려가 있다.
본 발명의 목적은 플레이리스트 단위로 편집자에 의해 보장되고 있는 재생의 품위가 손상되지 않는 재생장치를 제공하는 것이다.
상기 과제를 해결할 수 있는 재생장치는 상기 모드 레지스터에 저장되어 있는 출력 모드가 평면 시 출력 모드이면 상기 복수의 조건이 성립한다고 하더라도 모드 레지스터에 저장되어 있는 평면 시 출력 모드를 유지하는 것을 특징으로 한다.
플레이리스트 재생 중은 입체 시 출력 모드와 평면 시 출력 모드의 전환을 금지하므로 플레이리스트의 재생의 도중에 평면 시로부터 입체 시로 전환하는 것에 의한 표시화상의 갑작스러운 혼란(interruption)의 발생을 회피할 수 있다.
(추가적인 기술적 과제 4)
플레이리스트의 재생 중에는 플레이리스트를 구성하는 플레이아이템 간의 심리스 접속이 배려되어 있고, 그 재생의 품위에 편집자에 의한 세심한 주의가 기울여지고 있다. 그러나 사용자로부터의 요구에 의해 플레이리스트의 재생의 도중에 출력 모드가 입체 시 출력 모드에서 평면 시 출력 모드로 전환하거나, 또 평면 시 출력 모드에서 입체 시 출력 모드로 전환하거나 하면 이 플레이리스트 단위로 편집자에 의해 보장되고 있는 재생의 품위가 손상된다고 하는 우려가 있다.
본 발명의 목적은 플레이리스트 단위로 편집자에 의해 보장되고 있는 재생의 품위가 손상되지 않는 재생장치를 제공하는 것이다.
상기 과제를 해결할 수 있는 재생장치는 플레이리스트의 재생 중이면 상기 모드 레지스터에 저장되어 있는 출력 모드를 유지하는 것을 특징으로 한다.
플레이리스트의 재생의 도중에 평면 시로부터 입체 시로 전환하는 것에 의한 표시화상의 갑작스러운 혼란의 발생을 회피할 수 있다.
(추가적인 기술적 과제 5)
앞으로 주류가 되는 입체 시 표시형식은 안경을 착용하는 것이지만, 가까운 장래에 맨눈의 입체 시가 가능하게 되는 것과 같은 표시장치가 시장에 투입되는 것은 충분히 생각할 수 있다. 이와 같은 맨눈의 입체 시를 실시할 수 있는 표시장치가 시장에 투입되면 재생장치에서의 제어프로그램에 큰 개변이 강요된다. 그러면 또다시 제어프로그램을 개발할 수밖에 없어서 매뉴팩처의 부담이 배증한다. 또 맨눈의 입체 시가 가능한 표시장치의 개발시기는 현 단계에서는 예측할 수는 없으며, 이와 같은 장래성을 근거로 재생장치의 개발계획을 입안하는 것은 불가능에 가깝다.
본 발명의 목적은 맨눈의 입체 시가 가능한 표시장치에 접속되었다고 하더라도 제어프로그램에 큰 개변을 부가하지 않아도 되는 재생장치를 제공하는 것이다.
상기 과제를 해결할 수 있는 재생장치는 상기 재생장치에 접속되어 있는 표시장치에 입체 시 표시능력이 존재하는가 여부를 나타내는 캐퍼빌리티 레지스터와, 자기의 출력 모드를 저장하고 있는 모드 레지스터를 구비하고, 소정의 조건이 성립하는가 여부를 판정하여, 소정의 조건이 성립한 경우에 상기 모드 레지스터에 입체 시 출력 모드를 설정하며, 상기 입체 시 표시능력을 갖는 표시장치에는 입체 시 영상을 볼 때에 입체 시 안경의 착용이 필요한 것과 불필요한 것이 있고, 상기 캐퍼빌리티 레지스터는 필요 여부 플래그를 포함하며, 상기 필요 여부 플래그는 상기 재생장치에 접속되어 있는 표시장치에 입체 시 표시능력이 존재하는 경우에는 입체 시 영상을 볼 때에 입체 시 안경의 착용이 필요한가 여부를 나타내고, 상기 필요 여부 플래그가 입체 시 영상을 볼 때에 입체 시 안경의 착용이 불필요하다는 취지를 나타내고 있는 경우에는 상기 소정의 조건을 만족한다고 판정하여, 상기 모드 레지스터에 입체 시 출력 모드를 설정하는 것을 특징으로 한다.
상기 재생장치에 의하면 맨눈의 입체 시가 가능한 표시장치에 접속되어 있는 경우 맨눈의 입체 시가 가능한 입체 시 표시장치, 또는 맨눈의 입체 시가 불가능한 입체 시 표시장치의 어느 쪽이 접속상대가 될 가능성이 있어도 적절한 출력 모드의 선택을 실현할 수 있다.
(추가적인 기술적 과제 6)
입체 시 재생은 긴 역사를 갖지만, 종래의 입체 시 재생은 영상에 충분한 해상도를 확보할 수 없었던 점에서 영화작품의 주류가 될 수 없었다고 하는 경위가 있다. 재생장치의 접속상대가 되는 표시장치의 표시능력에 의해 입체 시 재생의 품위가 크게 바뀌면 종래의 입체 시 재생과 동일한 전철을 밟을 우려가 있다.
본 발명의 목적은 영상이나 표시장치의 해상도에 의해 품위가 크게 바뀌는 일이 없다는 보장을 가져올 수 있는 재생장치를 제공하는 것이다.
상기 과제를 해결할 수 있는 재생장치는, 상기 재생장치에 접속되어 있는 표시장치에 입체 시 표시능력이 존재하는가 여부를 나타내는 캐퍼빌리티 레지스터와, 자기의 출력 모드를 저장하고 있는 모드 레지스터를 구비하고, 소정의 조건이 성립하는가 여부를 판정하여, 소정의 조건이 성립한 경우에 상기 모드 레지스터에 입체 시 출력 모드를 설정하며, 상기 캐퍼빌리티 레지스터는 표시타입 플래그를 포함하고, 상기 표시타입 플래그는 상기 재생장치에 접속되어 있는 표시장치에서의 표시방식이 표준 화질의 것인가 고화질의 것인가를 나타내고, 표시장치에서의 표시방식이 표준 화질이면 상기 소정의 조건을 만족하지 않는다고 판정하는 것을 특징으로 한다.
상기 재생장치에 의하면 텔레비전이 표준 화질이어서 입체 시 재생에 필요한 화질을 확보할 수 없는 경우에는 평면 시 재생 모드의 설정을 유지할 수 있으므로, 해상도가 충분하지 않은 채로 입체 시 재생을 실현하는 것에 의한 시청자의 시각 등에의 영향을 방지할 수 있다.
(추가적인 기술적 과제 7)
상기 재생장치를 표시장치에 접속할 때 어떤 인터페이스를 통해서 양 장치를 접속하지 않으면 안 된다.
여기서, 재생장치가 입체 시 재생을 실행하는 경우에, 표시시켜야 할 픽처 데이터를 비 압축상태로 표시장치에 전송하는 전송계에서는 네고시에이션에 비디오 포맷 프레임 레이트라고 하는 파라미터가 필요하게 된다. 이유는 이하와 같다. 즉, 픽처 데이터의 비 압축 전송을 전제로 한 전송계에서는 표시장치의 각 프레임기간에 표시되어야 할 픽처 데이터를 비 압축상태인 채로 접속상대인 표시장치에 전송할 필요가 있으므로, 표시장치와 재생장치의 사이에서 수평 표시기간, 수직 표시기간과 동기 한 비 압축의 화소 데이터 전송을 실현하지 않으면 안 된다.
한편, 수평 표시기간, 수직 표시기간과 동기하여 전송해야 할 화소 데이터의 양은 화상의 비디오 포맷에 의존하므로, 표시장치 측에서 처리할 수 있는 비디오 포맷이나 프레임 레이트는 어느 것인가, 재생장치 측에서 처리할 수 있는 비디오 포맷이나 프레임 레이트는 어느 것인가와 같은 정보를 서로 교환하여 쌍방이 처리할 수 있는 프레임 레이트, 비디오 포맷 중 최선의 것을 결정할 필요가 있다.
그러나 재생장치에서의 프레임 레이트, 비디오 포맷의 처리능력은 기록매체에 기록되어 있는 비디오 스트림의 프레임 레이트, 비디오 포맷에 의존하는 것이며, 타이틀이 선택되어서 재생되어야 할 플레이리스트가 정해지지 않으면 이들 정보를 취득할 수 없다.
따라서, 디스크가 장전된 단계에서는 디스크에 기록되어 있는 복수의 비디오 스트림 중 어느 것이 재생 대상이 될지는 정해지지 않고, 또 플레이리스트의 선택을 기다려서 이들 프레임 레이트나 포맷을 표시장치에 전달하여 네고시에이션을 개시하려고 하면 표시장치에 의한 입체 시 영상의 표시 개시가 지연되어서 실제의 입체 시 재생이 좀처럼 개시되지 않는다고 하는 사태가 발생한다. 구체적으로는 이 네고시에이션에 의해 발생하는 기동지연은 5초 정도의 오더가 된다.
본 발명의 목적은 기록매체 장전시에서의 네고시에이션에 의한 기동 지연을 해소할 수 있는 기록매체를 제공하는 것이다.
상기 과제를 해결할 수가 있는 기록매체는, 인덱스테이블이 기록된 기록매체로, 상기 인덱스테이블은 애플리케이션정보를 포함하고, 상기 애플리케이션정보는 초기 출력 모드 정보와 포맷 프레임 레이트 정보를 포함하며, 상기 초기 출력 모드 정보는 재생장치에 우선적으로 설정되는 출력 모드가 평면 시 출력 모드인지 입체 시 출력 모드인가를 나타내는 정보이며, 상기 포맷 프레임 레이트 정보는 기록매체를 삽입시에 재생장치의 출력 모드 정보로 이용할 수 있는 영상 포맷 및 프레임 레이트를 나타내는 것을 특징으로 한다.
상기 기록매체에서는 인덱스테이블에 애플리케이션정보가 존재하고 있고, 이 애플리케이션정보는 네고시에이션에 필요한 파라미터로 비디오 포맷, 비디오 레이트의 정보를 포함하므로, 인덱스테이블의 판독 후에, 퍼스트 플레이 타이틀의 재생처리와 동시에 상대 측 기기와의 네고시에이션을 개시할 수 있다. 퍼스트 플레이 타이틀의 재생처리와 상대 측 기기의 네고시에이션을 병렬로 실행할 수 있으므로 기동 지연은 약 절반의 시간에까지 감소시킬 수 있다.
(추가적인 기술적 과제 8)
또, 상기 재생장치가 비디오 스트림을 저장한 스트림 파일의 랜덤 액세스를 실현하는 경우 기록매체에 기록된 엔트리 맵을 단서로 해서 GOP의 선두 위치를 특정한다.
엔트리 맵은 비디오 스트림의 기록시에 GOP의 선두에 해당하는 픽처 데이터를 포인팅하는 엔트리를 엔트리 맵에 추가해 감으로써 생성된다.
메인 뷰 비디오 스트림에서 메인 트랜스포트 스트림을 생성하는 동시에, 서브 뷰 비디오 스트림에서 서브 트랜스포트 스트림을 생성하여, 이들을 입체 시 인터리브드 스트림 파일로 기록하는 경우 확장 엔트리 맵에서의 엔트리에 의해 포인팅되어 있는 픽처 데이터와 기본 엔트리 맵에서의 엔트리에 의해 포인팅되어 있는 픽처 데이터가 다른 익스텐트의 쌍을 배치되는 경우가 있다.
메인 뷰 비디오 스트림 및 서브 뷰 스트림에서의 각각의 픽처 데이터는 그 정보량이 프레임마다 다르다. 프레임마다 정보량이 다른 메인 뷰 비디오 스트림을 포함하는 메인 트랜스포트 스트림 및 서브 뷰 스트림을 포함하는 서브 트랜스포트 스트림을 리드 버퍼의 언더 플로를 초래하지 않는 고정 길이로 분할하여 기록매체에 기록하려고 하면 프레임마다 정보량이 서로 다르므로 기본 엔트리 맵에서 포인팅되어 있는 베이스 뷰 픽처 데이터와 확장 엔트리 맵에서 포인팅되어 있는 서브 뷰 픽처 데이터가 동일한 페어 영역이 되지 않고, 이들이 다른 페어 영역에 귀속해 버리는 일도 있을 수 있다.
베이스 뷰 픽처 데이터와 서브 뷰 픽처 데이터가 다른 페어 영역에 귀속한 경우 이들 베이스 뷰 픽처 데이터 및 서브 뷰 픽처 데이터의 랜덤 액세스를 실행하려고 하면 임의의 재생시각에 대응하는 픽처 데이터의 세트를 디코더에 보내기 때문에 다른 익스텐트의 쌍을 액세스하여 이들에 기록되어 있는 픽처 데이터의 세트를 판독할 필요가 발생한다. 랜덤 액세스시마다 다른 익스텐트의 쌍을 액세스한다는 것은 광 픽업의 시크의 다발을 초래하여 재생 개시의 지연을 가져온다.
본 발명의 목적은 베이스 뷰 픽처 데이터, 서브 뷰 픽처 데이터의 세트 액세스할 때의 지연을 없앨 수 있는 기록매체를 제공하는 것이다.
상기 과제를 해결하는 기록매체는, 스트림 파일과 스트림 관리파일이 기록된 기록매체로, 상기 스트림 파일은 복수의 픽처 데이터에 의해 구성되는 비디오 스트림을 포함하고, 상기 스트림 관리파일은 엔트리 맵을 포함하며, 상기 엔트리 맵은 픽처 데이터의 어드레스를 재생시각에 대응시켜서 나타내는 엔트리를 포함하고, 상기 픽처 데이터에는 입체 시 영상의 메인 뷰를 구성하는 메인 뷰 픽처 데이터와 입체 시 영상의 서브 뷰를 구성하는 서브 뷰 픽처 데이터가 있으며, 상기 엔트리 맵에는 평면 시 영상의 재생시에 사용되는 기본 엔트리 맵과 입체 시 영상의 재생시에 상기 기본 엔트리 맵과 함께 사용되는 확장 엔트리 맵이 있고, 대응하는 확장 엔트리 맵은 기본 엔트리 맵의 엔트리와 동일한 시각의 엔트리를 갖는 것을 특징으로 한다.
또, 상기 스트림 파일은 메인 뷰 스트림을 구성하는 익스텐트와 서브 뷰 스트림을 구성하는 익스텐트를 교호로 배치함으로써 구성되는 입체 시 인터리브 파일이고, 메인 뷰 스트림을 구성하는 익스텐트 중 식별번호 i에 의해 특정되는 i번째의 익스텐트가 기본 엔트리 맵의 엔트리에 의해 나타나는 메인 뷰 픽처 데이터를 포함한 경우 서브 뷰 스트림을 구성하는 익스텐트 중 상기 식별번호 i와 동일한 식별번호 i에 의해 특정되는 i번째의 익스텐트는 확장 엔트리 맵의 상기 기본 엔트리 맵의 상기 엔트리와 동일한 시각의 엔트리에 의해 나타나는 서브 뷰 픽처 데이터를 포함하는 것을 특징으로 한다.
상기 기록매체에서는 메인 트랜스포트 스트림에서의 GOP 및 서브 트랜스포트 스트림에서의 GOP를 기록매체에 기록할 때 확장 엔트리 맵의 엔트리는 서브 뷰 픽처 데이터이며, 동일한 재생시각에 재생되어야 할 베이스 뷰 픽처 데이터가 기본 엔트리 맵의 엔트리에 의해 포인팅되고 있는 것만을 포인팅하도록 하고 있다.
기본 엔트리 맵의 엔트리에 의해 포인팅되고 있는 픽처 데이터와 확장 엔트리 맵의 엔트리에 의해 포인팅되고 있는 픽처 데이터가 동일한 익스텐트의 쌍에 존재하므로 엔트리 맵, 확장 엔트리 맵을 단서로 해서 익스텐트를 액세스하면 베이스 뷰의 GOP, 서브 뷰의 GOP를 종합해서 재생할 수 있다. 이에 의해 재생 개시의 지연을 해소할 수 있다.
도 1은 패키지 매체인 기록매체, 플레이어 기기인 재생장치, 표시장치, 안경에 의해 구성되는 홈시어터 시스템을 나타낸다.
도 2는 사용자의 얼굴을 좌측에 나타내고, 우측에 대상물인 공룡의 골격을 좌측 눈으로 본 경우의 예와 대상물인 공룡의 골격을 우측 눈으로 본 경우의 예를 나타내고 있다.
도 3은 입체 시를 위한 베이스 뷰 비디오 스트림, 디펜던트 뷰 비디오 스트림의 내부 구성의 일 예를 나타낸다.
도 4는 제 1 실시형태에 관한 기록매체에서의 내부 구성을 나타낸다.
도 5는 메인 TS 및 서브 TS의 내부 구성을 나타낸다.
도 6은 플레이리스트정보의 내부 구성을 나타낸다.
도 7은 기본 스트림 선택테이블의 일 예를 나타낸다.
도 8은 확장 스트림 선택테이블의 내부 구성을 나타낸다.
도 9는 확장 스트림 선택테이블에서의 스트림 등록 열을 나타낸다.
도 10은 기본 스트림 선택테이블, 확장 스트림 선택테이블에 의해 메인 TS, 서브 TS로부터 어떤 ES가 다중 분리되는가를 나타낸다.
도 11은 2D 출력 모드, 3D 출력 모드에서의 스트림 번호의 할당 변화를 나타낸다.
도 12는 재생장치의 내부 구성을 나타낸다.
도 13은 PG 디코더의 내부 구성을 나타낸다.
도 14는 텍스트 자막 디코더의 내부 구성을 나타낸다.
도 15는 IG 디코더의 디코더 모델을 나타낸다.
도 16은 디코더 모델의 출력을 합성하여, 3D-LR 방식에서 출력하기 위한 회로 구성을 나타낸다.
도 17은 이들 디코더 모델의 출력을 합성하여, 1plane+Offset 모드 방식에서 출력하기 위한 회로 구성을 나타내고 있다.
도 18은 레지스터세트(203)의 내부 구성과 재생제어부를 나타내는 도면이다.
도 19는 PSR24의 비트 할당을 나타낸다.
도 20은 플레이리스트 재생순서를 나타낸다.
도 21은 PG test ST 스트림에 대한 Procedure when playback condition is changed에 대한 처리순서를 나타내는 플로차트이다.
도 22는 현재 플레이아이템에 대해 최적인 PG_텍스트 자막 스트림을 선택하는 처리순서를 나타내는 플로차트이다.
도 23은 세트 입체 시 스트림 커멘드(SetstreamSSCommand)에 의해 스트림 변화가 요구된 경우에 실행해야 할 Procedure when stream change is requested의 처리순서를 나타내는 플로차트이다.
도 24는 세트 스트림 커멘드, 또는 스트림 번호 변경을 요구하는 사용자조작에 의해 스트림 변화가 요구된 경우에 실행해야 할 Procedure when stream change is requested의 처리순서를 나타내는 플로차트이다.
도 25는 현재 IG 스트림의 결정 및 현재 IG 스트림의 재생타입 결정의 처리순서를 나타내는 플로차트이다.
도 26은 결합 스트림 등록 열에 의해 어떤 패킷 식별자가 다중 분리부에 출력되는가를 나타낸다.
도 27은 결합 스트림 등록 열에 의해 어떤 패킷 식별자가 다중 분리부에 출력되는가를 나타낸다.
도 28은 레지스터세트(203)의 내부 구성과 재생제어부(210)를 나타내는 도면이다.
도 29는 출력 모드의 선택모델 상태천이를 나타낸다.
도 30은 Initialization의 처리순서를 나타낸다.
도 31은 Procedure when playback condition is changed의 처리순서를 나타낸다.
도 32는 3D 출력 모드 실현을 위한 플레이어설정 레지스터의 비트 할당을 나타낸다.
도 33은 BD-J 오브젝트의 내부 구성의 일 예를 나타내는 도면이다.
도 34는 BD-J 타이틀에서의 출력 모드 설정의 처리순서를 나타내는 플로차트이다.
도 35는 이니셜 HAVi 디바이스 컨피규레이션 셀렉션의 비헤이뷰어(behavior)의 일 예를 나타내는 플로차트이다.
도 36은 PSR23의 비트 할당을 나타낸다.
도 37은 PSR23에서의 입체 시 재생 캐퍼빌리티의 판정순서를 나타내는 플로차트이다.
도 38은 인덱스테이블을 설명하기 위한 설명도이다.
도 39는 디스크 인서트 시의 처리순서를 나타내는 플로차트이다.
도 40은 표시장치와 재생장치 사이의 교환을 나타내는 도면이다.
도 41은 익스텐트와 파일 2D/파일 베이스, 파일 디펜던트의 대응관계를 나타낸다.
도 42는 입체 시 인터리브드 스트림 파일과 파일 2D/파일 베이스의 관계를 나타낸다.
도 43은 입체 시 인터리브드 스트림 파일, 파일 2D, 파일 베이스의 상호관계를 나타낸다.
도 44는 2D 플레이리스트, 3D 플레이리스트를 나타낸다.
도 45는 클립정보파일의 내부 구성을 나타낸다.
도 46은 클립정보파일과 플레이리스트와 입체 시 인터리브드 스트림 파일의 관계를 나타낸다.
도 47은 클립 베이스 정보, 클립 디펜던트 정보의 내부 구성을 나타내는 도면이다.
도 48은 기본 엔트리 맵과 확장 엔트리 맵을 나타내는 도면이다.
도 49는 확장 엔트리 맵에서 허용되지 않는 엔트리를 나타낸다.
도 50은 플레이아이템의 재생순서를 나타낸다.
도 51은 입체 시 인터리브드 스트림 파일 구성하는 데이터블록으로부터 ATC 시퀀스가 어떻게 복원되는가를 나타낸다.
도 52는 ATC 시퀀스의 복원이 어떻게 이루어지는가를 나타내는 도면이다.
도 53은 베이스 뷰 클립정보에서의 익스텐트 스타트포인트정보의 일 예와 디펜던트 뷰 클립정보에서의 익스텐트 스타트포인트정보의 일 예를 나타낸다.
도 54는 ATC 시퀀스 1, 2에서의 임의의 데이터블록의 소스 패킷 번호를 설명하기 위한 도면이다.
도 55는 ATC 시퀀스의 복원순서를 나타낸다.
도 56은 광디스크의 기록방법을 나타낸다.
도 57은 오서링 행정의 처리순서를 나타내는 플로차트이다.
도 58은 AV 파일 기입 공정의 처리순서를 나타낸다.
도 59는 기본 엔트리 맵, 확장 엔트리 맵의 작성순서를 나타내는 플로차트이다.
도 60은 BD-J 애플리케이션, BD-J 오브젝트, 무비 오브젝트, 인덱스테이블의 작성순서를 나타내는 플로차트이다.
도 61은 다층화된 광디스크의 내부 구성을 나타낸다.
도 62는 파일시스템을 전제로 한 광디스크의 애플리케이션 포맷을 나타낸다.
도 63은 2D/3D 재생장치의 구성을 나타내고 있다.
도 64는 본 발명에 관한 기록매체의 사용행위에 대한 형태, BD-ROM의 내부 구성, 인덱스파일의 내부 구성을 나타내는 도면이다.
도 65는 AV 클립의 구성, 각 스트림이 AV 클립에서 어떻게 다중화되어 있는가를 모식적으로 나타내는 도면이다.
도 66은 PES 패킷 열에 비디오 스트림 및 오디오 스트림이 어떻게 저장되는가를 더 상세하게 나타내고, AV 클립에서의 TS 패킷과 소스 패킷 구조를 나타내는 도면이다.
도 67은 PMT의 데이터 구성, 클립정보파일의 내부 구성을 나타내는 도면이다.
도 68은 스트림 속성정보의 내부 구성, 엔트리 맵의 내부 구성을 나타내는 도면이다.
도 69는 플레이리스트의 내부 구성, 플레이아이템의 내부 구성을 나타내는 도면이다.
도 70은 2D 재생장치의 내부 구성, 플레이어 변수를 설명하는 도면이다.
도 71은 시스템 타깃 디코더의 내부 구성을 나타내는 도면이다.
도 72는 대응 3D 방식을 식별하는 시스템 파라미터를 설명하는 도면이다.
도 73은 대응 3D 방식을 식별하는 시스템 파라미터의 자동 취득의 모습을 설명하는 도면이다.
도 74는 2D 플레이리스트와 3D 플레이리스트의 재생을 전환하는 데이터구조를 나타내는 도면이다.
도 75는 2D 플레이리스트와 3D 플레이리스트의 재생을 전환하는 플로를 나타내는 도면이다.
도 76은 3D 영상과 2D 영상을 동시 출력하는 경우를 설명하는 도면이다.
도 77은 2D/3D 표시형식을 나타내는 시스템 파라미터 상태천이를 설명하는 도면이다.
도 78은 2D/3D 표시형식을 나타내는 시스템 파라미터 상태천이의 초기화 플로를 나타내는 도면이다.
도 79는 2D/3D 표시형식을 나타내는 시스템 파라미터 상태천이의 타이틀 변경 플로, 2D/3D 표시형식을 나타내는 시스템 파라미터 상태천이의 플레이리스트 변경 플로를 나타내는 도면이다.
도 80은 2D/3D 표시형식을 나타내는 시스템 파라미터 상태천이의 2D/3D 전환 플로를 나타내는 도면이다.
도 81은 2D/3D 표시형식을 나타내는 시스템 파라미터 상태천이의 Movie Title의 경우를 나타내는 도면이다.
도 82는 2D/3D 표시형식을 나타내는 시스템 파라미터 상태천이의 Java Title의 경우를 나타내는 도면이다.
도 83은 2D/3D 표시형식을 나타내는 시스템 파라미터 상태천이의 타이틀 전환의 경우를 나타내는 도면이다.
도 84는 스트림 재생 개시까지의 HDMI 인증을 효율화하는 방법의 설명도이다.
도 85는 2D/3D 재생장치로 3D 영상 재생을 설명하는 도면이다.
도 86은 2D 영상 스트림인 경우의 타임 맵의 설명도이다.
도 87은 3D 영상 스트림이 독립한 2개의 스트림인 경우의 타임 맵의 설명도이다.
도 88은 3D 영상 스트림이 1개의 트랜스포트 스트림인 경우의 타임 맵의 설명도이다.
도 89는 3D 영상 스트림이 1개의 트랜스포트 스트림인 경우의 타임 맵의 설명도이다.
도 90은 자막 그래픽스의 오프셋정보와 유효 무효 전환의 설명도이다.
도 91은 2D/3D 표시형식을 나타내는 시스템 파라미터 상태천이의 초기화 플로를 나타내는 도면이다.
도 92는 입체 시의 설명도이다.
도 93은 2D/3D 재생장치를 집적회로를 이용하여 실현한 구성 예이다.
도 94는 스트림 처리부의 대표적인 구성을 나타내는 기능 블록도이다.
도 95는 스위칭부가 DMAC인 경우의 스위칭부(53) 주변의 개념도이다.
도 96은 AV 출력부의 대표적인 구성을 나타내는 기능 블록도이다.
도 97은 AV 출력부 또는 재생장치의 데이터 출력부분을 상세하게 나타낸 구성 예이다.
도 98은 집적회로에서의 제어버스 및 데이터버스의 배치를 나타낸 도면이다.
도 99는 집적회로에서의 제어버스 및 데이터버스의 배치를 나타낸 도면이다.
도 100은 표시장치를 집적회로를 이용하여 실현한 구성 예이다.
도 101은 표시장치에서의 AV 출력부의 대표적인 구성을 나타내는 기능 블록도이다.
도 102는 재생장치에서의 동작순서를 간단하게 나타낸 플로차트이다.
도 103은 재생장치에서의 동작순서를 상세하게 나타낸 플로차트이다.
상기 과제해결수단을 구비한 기록매체는 콘텐츠를 매장에서 판매하기 위한 패키지 매체로 실시할 수 있다. 또, 이 기록매체에 대응하는 재생장치는 패키지 매체를 재생하기 위한 플레이어 기기로 실시할 수가 있고, 이 기록매체에 대응하는 집적회로는 당해 플레이어 기기에 포함되는 시스템 LSI로 실시할 수 있다.
도 1은 패키지 매체인 기록매체, 플레이어 기기인 재생장치, 표시장치, 안경에 의해 구성되는 홈시어터 시스템을 나타낸다. 동 도면 (a)에 나타낸 것과 같이, 상기 패키지 매체인 기록매체(100), 플레이어 기기인 재생장치(200)는 표시장치(300), 3D 안경(400), 리모컨(500)과 함께 홈시어터 시스템을 구성하고, 사용자에 의한 사용에 제공된다.
기록매체(100)는 상기 홈시어터 시스템에 예를 들어 영화작품을 공급한다. 이 영화작품에는 입체 시 영상을 구성하는 것이 있다. 여기서 입체 시 영상은 적어도 2개의 시점 영상으로 구성된다. 시점 영상이란 어떤 편향성을 가진 영상을 말하며, 상기 2개의 시점 영상은 메인 뷰 영상과 서브 뷰 영상으로 구성된다. 기록매체(100)에는 도 1에 나타낸 것과 같이 디스크형의 것, 메모리카드형의 것 등 여러 타입이 존재하지만, 특별히 언급되지 않는 한 이후의 설명에서 말하는 「기록매체」는 디스크 매체로 한다.
재생장치(200)는 표시장치(300)와 접속되며, 기록매체(100)를 재생한다. 재생장치는 메인 뷰 영상을 나타내는 메인 뷰 비디오 스트림, 서브 뷰 영상을 나타내는 서브 뷰 비디오 스트림을 재생하므로 2D 출력 모드, 3D 출력 모드라고 하는 2개의 출력 모드를 구비하고 있으며, 이들의 상호 전환을 가능하게 하는 2D/3D 재생장치(플레이어)이다.
표시장치(300)는 텔레비전이며, 영화작품의 재생 영상을 표시하거나 메뉴 등을 표시함으로써 대화적인 조작환경을 사용자에게 제공한다. 본 실시형태의 표시장치(300)는 3D 안경(400)을 사용자가 착용함으로써 입체 시를 실현하는 것이지만, 표시장치(300)가 렌티큘러 방식의 것이면 3D 안경(400)은 불필요해진다.
3D 안경(400)은 액정셔터를 구비하고, 계시 분리방식(繼時分離方式) 또는 편광안경방식에 의한 시차 화상을 사용자에게 시청하게 한다. 시차 화상이란 우측 눈에 들어오는 영상과 좌측 눈에 들어오는 영상으로 구성되는 1세트의 영상이며, 각각의 눈에 대응한 픽처만이 사용자의 눈에 들어오도록 해서 입체 시를 실행하게 한다. 동 도면 (b)는 좌측 눈 용 영상의 표시시를 나타낸다. 화면상에 좌측 눈 용의 영상이 표시되고 있는 순간에 앞에서 설명한 3D 안경(400)은 좌측 눈에 대응하는 액정셔터를 투과로 하고, 우측 눈에 대응하는 액정셔터는 차광한다. 동 도면 (c)는 우측 눈 용 영상의 표시시를 나타낸다. 화면상에 우측 눈 용의 영상이 표시되고 있는 순간에 방금 전과는 반대로 우측 눈에 대응하는 액정셔터를 투광으로 하고, 좌측 눈에 대응하는 액정셔터를 차광한다.
리모컨(500)은 AV재생을 위한 조작항목을 접수하기 위한 기기이다. 또 리모컨(500)은 계층화된 GUI에 대한 조작을 사용자로부터 접수하는 기기이며, 이러한 조작 접수를 위해 리모컨(500)은 GUI를 구성하는 메뉴를 호출하는 메뉴 키, 메뉴를 구성하는 GUI 부품의 포커스를 이동시키는 화살표 키, 메뉴를 구성하는 GUI 부품에 대하여 확정조작을 실행하는 결정 키, 계층화된 메뉴를 보다 상위의 것으로 되돌리기 위한 리턴키, 수치 키를 구비한다.
도 1의 홈시어터 시스템에서 3D 출력 모드에서의 화상 표시를 표시장치(300)에 실행하게 하는 재생장치의 출력 모드를 「3D 출력 모드」라고 한다. 2D 출력 모드에서의 화상 표시를 표시장치(300)에 실행하게 하는 재생장치의 출력 모드를 「2D 출력 모드」라고 한다.
이상이 기록매체 및 재생장치의 사용형태에 대한 설명이다.
(제 1 실시형태)
제 1 실시형태의 특징은 우측 눈 용의 그래픽스 스트림, 좌측 눈 용의 그래픽스 스트림을 이용한 입체 시를 실현할 수 있는가 여부의 캐퍼빌리티를 재생장치에서의 레지스터에 설정하고 있는 점이다.
이후의 설명에서 메인 뷰 및 서브 뷰는 시차 화상 방식을 실현하는 것으로 한다. 시차 화상 방식(3D-LR 모드라고 한다)은 우측 눈에 들어오는 영상과 좌측 눈에 들어오는 영상을 각각 준비하고, 각각의 눈에 대응한 픽처만이 들어가도록 해서 입체 시를 실행하는 방법이다. 도 2는 사용자의 얼굴을 좌측에 그리고, 우측에는 대상물인 공룡의 골격을 좌측 눈으로 보았을 경우의 예와 대상물인 공룡의 골격을 우측 눈으로 보았을 경우의 예를 나타내고 있다. 우측 눈 및 좌측 눈의 투광, 차광이 반복되면 사용자의 뇌 안에서는 눈의 잔상반응에 의해 좌우의 장면의 중첩이 이루어져서 얼굴의 중앙의 연장선상에 입체 영상이 존재한다고 인식할 수 있다.
이와 같은 입체 시를 실현하기 위한 비디오 스트림의 부호화방식으로 MPEG4-MVC 방식에 의한 것을 이용한다. 이후의 설명에서 MPEG4-MVC에서의 「베이스 뷰 비디오 스트림」이 메인 뷰 비디오 스트림이고, MPEG4-MVC에서의 「디펜던트 뷰 비디오 스트림」이 서브 뷰 비디오 스트림인 것으로 한다.
MPEG-4 MVC 베이스 뷰 비디오 스트림은 view_id가 0인 서브 비트 스트림이고, view_id가 0인 뷰 컴포넌트의 시퀀스이다. MPEG-4 MVC 베이스 뷰 비디오 스트림은 MPEG-4 AVC 비디오 스트림의 제약을 준수한다.
MPEG-4 MVC 디펜던트 뷰 비디오 스트림은 view_id가 1인 서브 비트 스트림이고, view_id가 1인 뷰 컴포넌트의 시퀀스이다.
뷰 컴포넌트(view component)란 한 개의 프레임기간에서 입체 시 재생을 위해서 동시에 재생되는 복수의 픽처 데이터의 각각의 것을 말한다. 시점 간의 상관성을 이용한 압축 부호화는 베이스 뷰 비디오 스트림 및 디펜던트 뷰 비디오 스트림의 뷰 컴포넌트를 픽처 데이터로 이용하여, 픽처 간의 상관성을 이용한 압축 부호화를 실현함으로써 이루어진다. 1개의 프레임기간에 할당된 베이스 뷰 비디오 스트림의 뷰 컴포넌트와 디펜던트 뷰 비디오 스트림의 뷰 컴포넌트의 세트가 1개의 액세스유닛을 구성하게 되며, 이 액세스유닛의 단위로 랜덤 액세스가 가능하게 된다.
베이스 뷰 비디오 스트림 및 디펜던트 뷰 비디오 스트림은 모두 개개의 뷰 컴포넌트를 「픽처」로 한 GOP 구조를 갖고 있으며, 클로즈드 GOP, 오픈 GOP로 구성된다. 클로즈드 GOP는 IDR 픽처와 이 IDR 픽처에 이어지는 B픽처와 P픽처로 구성된다. 오픈 GOP는 Non-IDR I픽처와 Non-IDR I픽처에 이어지는 B픽처와 P픽처로 구성된다.
Non-IDR I픽처, P픽처, B픽처는 다른 픽처와의 프레임 상관성에 의거하여 압축 부호화되어 있다. B픽처란 Bidirectionally predictive(B) 형식의 슬라이스 데이터로 이루어지는 픽처를 말하고, P픽처란 Predictive(P) 형식의 슬라이스 데이터로 이루어지는 픽처를 말한다. B픽처에는 refrenceB(Br) 픽처와 nonrefrenceB(B) 픽처가 있다.
클로즈드 GOP는 IDR 픽처가 선두에 배치된다. 표시 순서에서 IDR 픽처는 선두가 되지 않으나, IDR 픽처 이외의 다른 픽처(B픽처, P픽처)는 클로즈드 GOP보다 앞의 GOP에 존재하는 픽처와 의존관계를 가질 수 없다. 이와 같이 클로즈드 GOP는 의존관계를 완결시키는 역할을 가진다.
도 3은 입체 시를 위한 베이스 뷰 비디오 스트림, 디펜던트 뷰 비디오 스트림의 내부 구성의 일 예를 나타낸다.
본 도면의 제 2 단째는 베이스 뷰 비디오 스트림의 내부 구성을 나타낸다. 이 스트림에는 픽처 타입이 I1, P2, Br3, Br4, P5, Br6, Br7, P9고 하는 뷰 컴포넌트가 포함되어 있다. 이들 뷰 컴포넌트는 Decode Time Stamp(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에 따라서 디코드 된다. 제 3 단째는 우측 눈 화상을 나타낸다. 이렇게 해서 디코드 된 뷰 컴포넌트 P1, P2, B3, B4, P5, B6, B7, P8을 PTS에 따라서 P1, B3, B4, P2, B6, B7, P5의 순서로 재생함으로써 우측 눈 화상이 재생되게 된다.
제 5 단째는 3D 안경(400) 상태를 어떻게 변화시키는지를 나타낸다. 이 제 5단째에 나타낸 것과 같이 좌측 눈 화상의 시청시에는 우측 눈의 셔터를 닫고, 우측 눈 화상의 시청시에는 좌측 눈의 셔터를 닫고 있음을 알 수 있다.
베이스 뷰 비디오 스트림의 비디오 프레임과 디펜던트 뷰 스트림의 비디오 프레임을 1/48초의 표시 주기에서 「B」- 「D」- 「B」- 「D」와 같이 교호로 출력하는 모드를 「B-D프레젠테이션 모드」라고 한다.
또, B-D프레젠테이션 모드에는 L화상, R화상을 이용하여 입체 시 효과를 실현하는 3D-LR 방식 외에 2D화상과 심도 정보를 이용하여 입체 시 효과를 실현하는 3D-Depth 방식이 있다.
베이스 뷰 비디오 스트림의 비디오 프레임과 디펜던트 뷰 스트림의 비디오 프레임을 교호로 출력하는 것이 아니라, 출력 모드를 3D 모드에 유지한 채로 동일한 비디오 프레임을 2회 이상 반복해서 출력한다고 하는 처리를 실행하는 재생타입을 B-B프레젠테이션 모드라고 한다. B-B프레젠테이션 모드에서는 단독 재생 가능한 베이스 뷰 비디오 스트림의 비디오 프레임만이 「B」-「B」-「B」-「B」와 같이 반복해서 출력된다.
이상의 B-D프레젠테이션 모드, B-B프레젠테이션 모드가 재생장치의 출력 모드의 기본이 되지만, 이들 모드 이외에도 재생장치에는 1plane+Offset 모드라고 하는 출력 모드가 존재한다.
1plane+Offset 모드(3D-Offset 모드라고도 한다)는 플레인 메모리의 후단에 시프트부를 포함하여 시프트부를 기능하게 함으로써 입체 시를 실현하는 출력 모드이다. 플레인 오프셋부는 레프트 뷰 기간 및 라이트 뷰 기간의 각각에서 플레인 메모리에서의 라인 단위의 화소의 좌표를 좌측 방향 또는 우측 방향으로 시프트시키고, 우측 눈 시선 및 좌측 눈 시선의 결상점을 앞 방향 또는 안쪽 방향으로 변위시킴으로써 깊이감을 변화시킨다. 구체적으로는 레프트 뷰 기간에 좌측 방향, 라이트 뷰 기간에 우측 방향으로 화소 좌표를 변화시키면 두 눈의 시선의 결상점은 앞이 되고, 레프트 뷰 기간에 우측 방향, 라이트 뷰 기간에 좌측 방향으로 화소 좌표를 변화시키면 두 눈의 시선의 결상점은 앞이 된다.
이러한 플레인 시프트에서는 입체 시를 위한 플레인 메모리가 1 플레인으로 충분하므로 간단하게 입체 시 영상을 만들어 내는데 최적이다. 이 플레인 시프트에서는 평면적인 영상이 앞에 오거나 안쪽으로 끌려 들어가거나 하는 입체 시 영상을 만들어내는 것에 지나지 않으므로 메뉴나 자막의 입체 시 효과에는 적합하지만 캐릭터나 물체의 입체 시 효과의 실현에는 약간 어딘지 부족하다. 캐릭터의 얼굴의 움푹한 곳이나 요철 등을 재현할 수 없기 때문이다.
1plane+Offset 모드를 지원하는 경우 재생장치의 구성은 이하와 같이 된다. 그래픽스의 재생을 위해 재생장치에는 플레인 메모리와 CLUT부, 합성부가 존재하고 있고, 이 CLUT부, 합성부의 사이에 시프트부가 포함된다. 그리고, 시프트부는 디펜던트 뷰 비디오 스트림의 액세스유닛 구조에 포함된 오프셋 시퀀스에서의 오프셋을 이용하여 상술한 것과 같은 화소의 좌표변화를 실현한다. 이렇게 함으로써 1plane+Offset 모드에서의 화소의 돌출 정도는 MVC 비디오 스트림과 치밀하게 동기 한 것이 된다. 이 1plane+Offset 모드 중에는 1plane+Zero Offset 모드가 있다. 1plane+Zero Offset 모드는 팝업메뉴가 온인 경우 오프셋 값을 제로로 하고, 팝업메뉴에만 입체 시 효과를 부여하는 표시 모드이다.
오프셋 시퀀스에 의한 시프트 제어의 대상이 되는 플레인 메모리는 소정의 레이어 모델을 구성하는 복수의 플레인 메모리이다. 플레인 메모리란 엘리멘터리 스트림을 디코드함으로써 얻어진 한 화면 분의 화소 데이터를 라인 단위로 저장해 두고, 수평 동기 신호, 수직 동기 신호에 따라서 이들의 화소 데이터를 출력하기 위한 메모리이다. 개개의 플레인 메모리는 비디오 디코더, PG 디코더, IG 디코더의 디코드에 의해 얻어진 1 화면 분의 화소 데이터를 저장한다.
소정의 레이어 모델은 좌측 눈 비디오 플레인 및 우측 눈 비디오 플레인의 계층, PG 플레인의 계층, IG/BD-J 플레인의 계층으로 구성되고, 각 계층의 플레인 메모리의 저장 내용을 비디오 플레인→PG 플레인→IG/BD-J 플레인의 순으로 레이어 합성하는 것을 의도한 것이다.
상기 레이어 합성은 플레인 메모리의 레이어 모델에서 2개의 계층의 플레인 메모리에 저장되어 있는 화소 데이터의 화소 값을 중첩시키는 처리를 레이어 모델에서의 2개의 계층의 모든 조합에 대하여 실행함으로써 이루어진다. 이하, 각 계층의 플레인 메모리에 대하여 설명한다.
좌측 눈 비디오 플레인은 뷰 컴포넌트를 디코드함으로써 얻어지는 한 화면 분의 화소 데이터 중 좌측 눈 용의 픽처 데이터를 구성하는 것을 저장할 수 있는 플레인 메모리이다. 우측 눈 비디오 플레인은 뷰 컴포넌트를 디코드함으로써 얻어지는 한 화면 분의 화소 데이터 중 우측 눈 용의 픽처 데이터를 구성하는 것을 저장할 수 있는 플레인 메모리이다.
프레젠테이션 그래픽스(PG) 플레인이란 파이프라인 식으로 동작하는 그래픽스 디코더가 디코드 처리를 실행함으로써 얻어진 그래픽스의 저장에 이용되는 플레인 메모리이다. IG/BD-J 플레인이란 어느 동작 모드에서는 IG 플레인으로 기능하고, 다른 동작 모드에서는 BD-J 플레인으로 기능하는 플레인 메모리이다. 인터렉티브 그래픽스(IG) 플레인이란 대화적인 처리를 전제로 해서 동작하는 그래픽스 디코더가 디코드를 실시함으로써 얻어진 그래픽스의 저장에 이용되는 플레인 메모리이다. BD-J 플레인은 오브젝트 지향 프로그래밍 언어의 애플리케이션이 묘사 처리를 실행함으로써 얻은 묘사 이미지 그래픽스의 저장에 이용할 수 있는 플레인 메모리이다. IG 플레인과 BD-J 플레인은 배타적인 것이며, 어느 일방이 이용되고 있는 경우 타방은 이용되지 않으므로 IG 플레인과 BD-J 플레인은 1개의 플레인 메모리를 겸용하고 있다.
상기 레이어 모델에서 비디오 플레인에 대해서는 베이스 뷰 용의 비디오 플레인과 디펜던트 뷰 용의 비디오 플레인이 존재하지만, IG/BD-J 플레인, PG 플레인에 대해서는 베이스 뷰 용, 디펜던트 뷰 용의 각각에 대하여 플레인 메모리가 존재하는 것은 아니다. 따라서 IG/BD-J 플레인, PG 플레인이 시프트 제어의 대상이 된다.
이상이 3D 출력 모드에 대한 설명이다. 이어서, 본 실시형태에 관한 기록매체의 내부 구성에 대하여 설명한다.
도 4는 제 1 실시형태에 관한 기록매체에서의 내부 구성을 나타낸다. 본 도면 (a)에 나타낸 것과 같이, 제 1 실시형태에 관한 기록매체에는 「인덱스테이블」, 「동작 모드 오브젝트의 프로그램 파일」, 「플레이리스트정보 파일」, 「스트림 정보 파일」, 「스트림 파일」이 기록되어 있다.
<인덱스테이블>
인덱스테이블은 기록매체 전체에 관한 관리정보이며, 재생장치로의 기록매체 삽입 후에 인덱스테이블이 최초로 판독됨으로써 재생장치에서 기록매체가 고유하게 인식된다.
<동작 모드 오브젝트의 프로그램 파일>
동작 모드 오브젝트의 프로그램 파일은 재생장치를 동작시키기 위한 제어프로그램을 저장하고 있다. 이 프로그램에는 커멘드에 의해 기술된 것과 오브젝트 지향의 컴파일러언어에 의해 기술된 것이 있다. 전자의 프로그램은 커멘드 베이스의 동작 모드에서 복수의 내비게이션 커멘드를 일괄처리작업(batch job)으로 재생장치에 공급하고, 이들 내비게이션 커멘드에 의거하여 재생장치를 동작시킨다. 이 커멘드 베이스의 동작 모드를 「HDMV 모드」라고 한다.
후자의 프로그램은 오브젝트 지향형의 컴파일러언어 베이스의 동작 모드에서 클래스 구조체의 인스턴스인 바이트코드 애플리케이션을 재생장치에 공급하고, 이 인스턴스에 의거하여 재생장치를 동작시킨다. 클래스 구조체의 인스턴스에는 바이트코드 애플리케이션의 하나인 Java(TM) 애플리케이션을 이용할 수 있다. 오브젝트 지향형 컴파일러언어 베이스의 동작 모드를 「BD-J 모드」라고 한다.
<스트림 파일>
스트림 파일은 비디오 스트림, 1개 이상의 오디오 스트림, 그래픽스 스트림을 다중화함으로써 얻어진 트랜스포트 스트림을 저장하고 있다. 스트림 파일에는 2D 전용의 것과 2D-3D 겸용의 것이 있다. 2D 전용의 스트림 파일은 통상의 트랜스포트 스트림 형식이며, 2D-3D 겸용의 스트림 파일은 입체 시 인터리브드 스트림 파일의 파일 형식을 갖는다.
입체 시 인터리브드 스트림 파일 형식이란 베이스 뷰 스트림을 포함하는 메인의 트랜스포트 스트림(메인 TS)의 익스텐트와 디펜던트 뷰 비디오 스트림을 포함하는 서브 트랜스포트 스트림(서브 TS)의 익스텐트를 인터리브 형식으로 교호로 배치한 것이다.
스트림 파일에 저장되는 메인 TS는 복수 종별의 PES 스트림을 관리 및 제어하기 위한 정보로 유럽 디지털 방송 규격에 규정된 패킷 관리정보(PCR, PMT, PAT)를 구비하고 있다.
PCR(Program_Clock_Reference)은 ATS의 시간 축인 ATC(Arrival Time Clock)와 PTS?DTS의 시간 축인 STC(System Time Clock)의 동기를 취하기 위해서 그 PCR 패킷이 디코더에 전송되는 ATS에 대응하는 STC 시간의 정보를 갖는다.
PMT(Program_map_table)는 스트림 파일 중에 포함되는 영상?음성?그래픽스 등의 각 스트림의 PID와 각 PID에 대응하는 스트림의 속성정보를 갖고, 또 TS에 관한 각종 디스크립터를 갖는다. 디스크립터에는 스트림 파일의 카피를 허가?불허가를 지시하는 카피컨트롤정보 등이 있다.
PAT(Program Association Table)는 TS 중에 이용되는 PMT의 PID가 무엇인가를 나타내고, PAT 자신의 PID 배열로 등록된다.
이들의 PCR, PMT, PAT는 유럽 디지털방송 규격에서 한 개의 방송 프로그램(Program)을 구성하는 퍼셜 TS를 규정하는 역할을 갖고, 재생장치는 유럽 디지털 방송 규격에서 한 개의 방송 프로그램을 구성하는 퍼셜 TS를 취급하는 것과 같이 TS를 디코더에 의한 처리에 제공할 수 있다. 이는, 유럽 디지털방송 규격의 단말장치와 기록매체 재생장치의 호환성을 의도한 것이다.
메인 TS에서의 익스텐트 및 서브 TS에서의 익스텐트의 세트는 재생시에 더블 버퍼를 언더플로 시키지 않는 데이터 사이즈로 설정되어 있고, 재생장치는 이들의 익스텐트의 세트를 중단되지 않게 판독해 갈 수 있다.
이상이 스트림 파일에 대한 설명이다.
<스트림 정보 파일>
스트림 정보 파일은 스트림 파일에서의 트랜스포트 스트림 내의 임의의 소스 패킷에 대한 랜덤 액세스나 다른 트랜스포트 스트림과의 중단 없는 재생을 보장한다. 이 스트림 정보 파일을 통함으로써 스트림 파일은 「AV 클립」으로 관리되게 된다. 스트림 정보 파일은 AV 클립에서의 스트림의 부호화형식, 프레임 레이트, 비트 레이트, 해상도 등의 정보나, GOP의 선두 위치의 소스 패킷 번호를 프레임기간의 프레젠테이션 타임스탬프와 대응시켜서 나타내는 기본 엔트리 맵을 갖고 있으므로, 스트림 파일의 액세스에 앞서 이 스트림 정보 파일을 메모리에 로드해 두면, 액세스하려고 하는 스트림 파일 중의 트랜스포트 스트림이 어떤 것인가를 파악할 수 있어서 랜덤 액세스의 실행을 보장할 수 있다. 스트림 정보 파일에는 2D 스트림 정보 파일과 3D 스트림 정보 파일이 있고, 3D 스트림 정보 파일은 베이스 뷰를 위한 클립정보(클립 베이스 정보)와 디펜던트 뷰를 위한 클립정보(클립 디펜던트 정보)와 입체 시 용의 확장 엔트리 맵을 포함한다.
클립 베이스 정보는 베이스 뷰를 위한 익스텐트 스타트포인트정보를 포함하고, 클립 디펜던트 정보는 디펜던트 뷰를 위한 익스텐트 스타트포인트정보를 포함한다. 베이스 뷰를 위한 익스텐트 스타트포인트정보는 복수의 소스 패킷 번호로 구성된다. 각각의 소스 패킷 번호는 메인 TS에서의 익스텐트의 분할 위치가 몇 패킷째에 존재하는가를 나타낸다. 디펜던트 뷰를 위한 익스텐트 스타트포인트정보도 복수의 소스 패킷 번호로 구성되고, 서브 TS에서의 분할위치가 몇 패킷에 존재하는가를 나타낸다. 이들의 익스텐트 스타트포인트정보를 이용함으로써 입체 시 인터리브드 스트림 파일은 메인 TS를 구성하는 ATC 시퀀스(1)과 서브 TS를 구성하는 ATC 시퀀스(2)로 분할되게 된다. 「ATC 시퀀스」란 소스 패킷의 배열이며, 그 Arrival_Time_Stamp가 참조하고 있는 Arrival_Time_Clock에 불연속점(no arrival time-base discontinutiy)이 존재하지 않는 것을 말한다. ATC 시퀀스는 ATC의 타임스탬프가 연속하고 있는 소스 패킷 열이므로 재생장치의 어라이벌 타임 클록을 계시하는 클록 카운터가 계시를 실행하고 있는 동안 ATC 시퀀스를 구성하는 각 소스 패킷은 연속적인 소스패킷 디 패킷타이징 처리 및 연속적인 패킷 필터링 처리에 제공되게 된다.
ATC 시퀀스가 소스 패킷의 배열인데 비하여 STC 시간 축에서의 타임스탬프가 연속하고 있는 TS 패킷의 배열을 STC 시퀀스라고 한다. 「STC 시퀀스」란 TS 패킷의 배열로, TS의 시스템 기준 시각인 STC(System Time Clock)의 불연속점(system time-base discontinuity)을 갖지 않는 것을 말한다. STC의 불연속점이란 디코더가 STC를 얻기 위해 참조하는 PCR(Program Clock Reference)을 운반하는 PCR 패킷의 불연속 정보(discontinuity_indicator)가 ON인 점이다. STC 시퀀스는 STC의 타임스탬프가 연속하고 있는 TS 패킷 열이므로 재생장치의 시스템 타임 클록을 계시하는 클록 카운터가 계시를 실행하고 있는 동안 STC 시퀀스를 구성하는 각 TS 패킷은 재생장치 내에 존재하는 디코더의 연속적인 디코드 처리에 제공되게 된다.
확장 엔트리 맵은 GOP 선두의 프레임기간을 나타내는 프레젠테이션 타임스탬프에 대응시켜서 디펜던트 뷰 비디오 스트림에서의 GOP 선두의 뷰 컴포넌트의 선두 위치가 되는 액세스유닛 딜리미터의 소스 패킷 번호를 나타낸다.
한편, 3D 스트림 정보 파일에서의 기본 엔트리 맵은 2D 스트림 정보 파일과의 호환을 가지면서도 GOP 선두의 프레임기간을 나타내는 프레젠테이션 타임스탬프에 대응시켜서 베이스 뷰 비디오 스트림에서의 GOP 선두의 뷰 컴포넌트의 선두 위치가 되는 액세스유닛 딜리미터의 소스 패킷 번호를 나타낸다.
<플레이리스트정보 파일>
플레이리스트정보 파일은 재생장치에 플레이리스트를 재생시키기 위한 정보를 저장한 파일이다. 「플레이리스트」란 트랜스포트 스트림(TS)의 시간 축 상에서 재생구간을 규정하는 동시에, 이 재생구간끼리의 재생순서를 논리적으로 지정함으로써 규정되는 재생경로이며, TS 중 어느 것을 어느 부분만큼 재생하고, 어떤 순서로 장면을 전개해 갈지를 규정하는 역할을 갖는다. 플레이리스트정보는 이러한 플레이리스트의 「형태」를 정의한다. 플레이리스트정보에 의해 정의되는 재생경로는 이른바 「멀티패스」이다. 멀티패스는 주가 되는 TS에 대하여 정의된 재생경로(메인패스)와 종이 되는 스트림에 대하여 정의된 재생경로(서브패스)를 묶은 것이다. 이 멀티패스에서 베이스 뷰 비디오 스트림의 재생경로를 규정하고, 서브패스에서 디펜던트 뷰 비디오 스트림의 재생경로를 규정하면 입체 시를 재생하기 위한 비디오 스트림의 조합을 매우 적합하게 규정할 수 있다.
오브젝트 지향 프로그래밍 언어 베이스의 애플리케이션이 이 플레이리스트정보를 재생하는 프레임 워크 플레이어 인스턴스의 생성을 명함으로써 멀티패스에 의한 AV재생을 개시시킬 수 있다. 프레임 워크 플레이어 인스턴스란 미디어 프레임 워크 플레이어 클래스를 기초로 해서 가상 머신의 히프메모리 상에 생성되는 실제의 데이터이다. 또, 커멘드 베이스의 프로그램이 이 플레이리스트정보를 인수로 지정한 재생 커멘드를 발행함으로써 멀티패스에 의한 재생을 개시할 수도 있다.
플레이리스트정보는 1개 이상의 플레이아이템정보를 포함한다. 플레이아이템정보란 비디오 스트림의 재생시간 축 중 In_Time이 되는 시점과 Out_Time이 되는 시점의 세트를 1개 이상 정의하는 재생구간정보이다.
플레이리스트정보는 플레이아이템정보-스트림 정보-트랜스포트 스트림과 같은 계층 구조를 갖고 있으며, 트랜스포트 스트림 및 스트림 정보의 세트와 플레이아이템정보의 비율에 대해서는 1 대 다의 관계로 해서 1개의 트랜스포트 스트림을 복수의 플레이아이템정보로부터 다중 참조할 수 있다. 따라서, 어느 플레이리스트를 위해서 작성된 트랜스포트 스트림을 뱅크 필름(bank film)으로 채용하고, 이것을 복수의 플레이리스트정보 파일에서의 플레이아이템정보로부터 참조함으로써 영화작품의 변형을 효율 좋게 작성할 수 있다(또, 뱅크 필름이란 영화 업계의 용어이며, 복수의 장면에서 돌려가면서 사용되는 영상 내용이다).
일반적으로는 플레이리스트고 하는 단위는 사용자로부터 인식되지 않으므로 스트림 파일로부터 파생한 복수의 변형(예를 들어 극장 공개판이나 TV 방영판)이 플레이리스트로 인식된다.
플레이리스트정보에는 2D 플레이리스트정보와 3D 플레이리스트정보가 있고, 이러한 차이는 3D 플레이리스트정보 내에 베이스 뷰 인디케이터와 입체 시 스트림 번호 테이블이 존재하는 것이다.
「입체 시 스트림 번호 테이블」이란 3D 출력 모드에서만 재생해야 할 엘리멘터리 스트림의 스트림 엔트리 및 스트림 속성을 스트림 번호에 대응시켜서 나타내는 테이블이다.
「베이스 뷰 인디케이터」는 시점 간의 상관성을 이용한 압축 부호화의 기초가 되는 베이스 뷰 비디오 스트림을 좌측 눈 및 우측 눈의 어느 쪽으로 표시되어야하는가를 나타내는 정보이다. 이 플레이리스트정보에서의 베이스 뷰 인디케이터를 변화시킴으로써 베이스 뷰 비디오 스트림을 좌측 눈 및 우측 눈 용 중 어느 쪽으로 하는가 하는 할당을 플레이리스트의 레벨로 변화시킬 수 있다.
스트림의 구조에 의거하지 않는 플레이리스트의 레벨로 상기 할당을 변화시킬 수 있으므로 화상 중의 물체의 위치 및 각도가 베이스 뷰=좌측 눈, 디펜던트 뷰=우측 눈 용과 같이 설정되어 있는 플레이리스트가 존재하는 경우 이 플레이리스트와는 다른 버전으로서 베이스 뷰=우측 눈 용, 디펜던트 뷰=좌측 눈과 같이 설정되어 있는 플레이리스트를 작성할 수 있다.
플레이리스트의 레벨로 베이스 뷰, 디펜던트 뷰에 대한 좌측 눈, 우측 눈 용의 할당을 역전시키면 입체 시 효과를 역전시킬 수 있다. 예를 들어 화면의 앞에 대상물이 출현하는 것과 같은 입체 시 효과를 의도한 플레이리스트가 이미 작성되어 있는 경우 이러한 플레이리스트와는 별도로 화면의 안쪽에 대상물이 출현하는 것과 같은 입체 시 효과를 의도한 플레이리스트를 작성할 수 있다. 따라서 3D 플레이리스트에서는 입체 시 효과가 다른 플레이리스트의 변형을 간단하게 작성할 수 있다고 하는 효과를 얻을 수 있다.
도 4 (b)는 메인 TS의 내부 구성을 나타내고, 동 도면 (c)는 서브 TS의 내부 구성을 나타낸다. 동 도면 (b)에 나타낸 것과 같이 메인 TS는 1개의 베이스 뷰 비디오 스트림과 32개의 좌측 눈 PG 스트림, 32개의 좌측 눈 용 IG 스트림, 32개의 오디오 스트림을 포함하는 것으로 한다. 동 도면 (c)에 나타낸 것과 같이 서브 TS는 1개의 디펜던트 뷰 비디오 스트림과 32개의 우측 눈 PG 스트림, 32개의 우측 눈 용 IG 스트림을 포함하는 것으로 한다.
다음에 TS의 내부 구성에 대하여 설명한다.
TS에 다중화되는 엘리멘터리 스트림(ES)은 비디오 스트림, 오디오 스트림, 프레젠테이션 그래픽스 스트림, 인터렉티브 그래픽스 스트림이 있다.
?비디오 스트림
베이스 뷰 비디오 스트림은 픽처 인 픽처 애플리케이션에서의 프라이머리 비디오 스트림을 구성한다. 픽처 인 픽처 애플리케이션은 이 프라이머리 비디오 스트림 외에 세컨더리 비디오 스트림으로 구성된다. 프라이머리 비디오 스트림이란 픽처 인 픽처 애플리케이션에서 친 화면이 되는 픽처 데이터로 구성되는 비디오 스트림이다. 대조적으로 세컨더리 비디오 스트림이란 픽처 인 픽처에서 자 화면으로 친 화면의 일부에 삽입되는 픽처 데이터로 구성되는 비디오 스트림이다.
프라이머리 비디오 스트림을 구성하는 픽처 데이터와 세컨더리 비디오 스트림을 구성하는 픽처 데이터는 디코드 후, 각각의 플레인 메모리에 저장된다. 세컨더리 비디오 스트림을 구성하는 픽처 데이터를 저장하는 플레인 메모리의 전단에는 세컨더리 비디오 스트림을 구성하는 픽처 데이터의 스케일링 변경 및 표시 좌표의 위치 결정을 실행하는 구성요소(Scalling&Positioning)가 존재한다.
?오디오 스트림
오디오 스트림에는 프라이머리 오디오 스트림, 세컨더리 오디오 스트림의 2 종류가 있다. 프라이머리 오디오 스트림은 믹싱 재생을 실행하는 경우 주 음성이 되어야 할 오디오 스트림이고, 세컨더리 오디오 스트림은 믹싱 재생을 실행하는 경우 부 음성이 되어야 할 오디오 스트림이다. 세컨더리 오디오 스트림은 이 믹싱을 위한 다운 샘플링을 위한 정보, 게인 제어를 위한 정보가 존재한다.
?프레젠테이션 그래픽스 스트림(PG 스트림)
PG 스트림은 디코더에 파이프라인을 채용함으로써 영상과의 치밀한 동기를 실현할 수 있고, 자막 표시에 적합한 그래픽스 스트림이며, 2D PG 스트림과 입체 시 PG 스트림이라고 하는 2개의 종류가 있다. 입체 시 PG 스트림에는 좌측 눈 PG 스트림 및 우측 눈 PG 스트림이라고 하는 2종류의 것이 있다.
2D PG 스트림은 최대 32개, 좌측 눈 PG 스트림은 최대 32개, 우측 눈 PG 스트림도 최대 32개 정의할 수가 있다. 이들 PG 스트림에는 각각 다른 패킷 식별자가 부여되어 있으며, 다중 분리부에 재생해야 할 패킷 식별자를 지시함으로써 이들 PG 스트림 중 원하는 것이 재생에 제공되게 된다.
파이프라인에 의한 디코드 동작의 실현에 의해 동화상과의 치밀한 동기를 실현하므로 PG 스트림의 용도는 자막과 같은 문자 재생에 한정되지 않는다. 영화작품의 마스코트 캐릭터를 표시하고, 이것을 동화상과 동기 시키면서 동작시키는 등, 치밀한 동기가 필요한 그래픽스 재생이면 어떤 것도 PG 스트림에 의한 재생 대상으로 채용할 수 있다.
스트림 파일에 다중화되지 않으나, 자막을 나타내는 스트림에는 PG 스트림 외에 텍스트 자막(textST) 스트림이라는 것이 있다. textST 스트림은 자막의 내용을 캐릭터 코드로 나타낸 스트림이다.
PG 스트림, 텍스트 자막 스트림은 이들 종류가 구별되는 일 없이 동일한 스트림 종별로 하고, 이들 PG 스트림 및 텍스트 자막 스트림은 동일한 스트림 등록 열에 등록된다. 그리고, 스트림 선택의 프로시저를 실행할 때에 스트림 등록 열에서의 스트림 등록의 순위에 따라서 재생되어야 할 PG 스트림 또는 텍스트 자막 스트림이 정해진다. PG 스트림, 텍스트 자막 스트림은 스트림 종이 구별되는 일 없이 스트림 선택의 프로시저에 제공되므로 이들 PG 스트림 및 텍스트 자막 스트림을 1개의 스트림 종별, 즉 「PG_텍스트 자막 스트림(생략해서 자막 스트림이라고 하는 경우도 있다)」이라고 하는 종별로 취급한다.
2D용의 PG_텍스트 자막 스트림은 1plane+Offset 모드에서 재생된다. 이후의 설명에서는 2D PG_텍스트 자막 스트림을 1plane+OffsetPG_텍스트 자막 스트림으로 설명한다.
?인터렉티브 그래픽스(IG) 스트림
IG 스트림은 대화조작의 정보를 구비함으로써 비디오 스트림의 재생 진행에 수반하여 메뉴를 표시하거나, 또 사용자조작에 따라서 팝업메뉴를 표시할 수 있는 그래픽스 스트림이다.
IG 스트림도 PG 스트림과 마찬가지로 2D IG 스트림과 입체 시 IG 스트림이라고 하는 2개의 종류가 있다. IG 스트림의 제어정보(대화 제어 세그먼트라고 한다)는 사용자 인터페이스 모델을 규정하는 정보(User_interface_model)를 갖고 있으며, 편집자는 이 사용자 인터페이스 모델 정보를 설정함으로써 비디오 스트림의 재생 진행에 수반하여 메뉴를 표시하는가(Always 온이라고 한다), 사용자조작에 따라서 팝업메뉴를 표시하는가(팝업메뉴 온) 중 어느 하나를 지정할 수 있다.
IG 스트림이 대화조작의 정보를 갖는 의의는 이하와 같다. Java 가상 머신이 애플리케이션으로부터의 요구에 따라서 플레이리스트 재생의 개시를 재생제어의 주체인 재생제어엔진에 지시하는 경우 Java 가상 머신은 재생제어엔진에 재생을 명한 후, 플레이리스트 재생을 개시한 취지의 응답을 애플리케이션에 되돌린다. 즉, 재생제어엔진에 의한 플레이리스트 재생이 계속되고 있는 동안 Java 가상 머신은 실행 종료 대기는 되지 않는다. 왜냐하면 Java 가상 머신은 이른바 이벤트 드리븐형의 동작 주체이며, 재생제어엔진이 플레이리스트의 재생을 실행하고 있는 동안도 동작을 실행할 수 있기 때문이다.
한편, HDMV 모드에서 커멘드 인터프리터가 플레이리스트 재생을 재생제어엔진에 명하는 경우 플레이리스트 재생이 종료할 때까지 그 플레이리스트 재생의 실행 종료 대기가 된다. 재생제어엔진에 의한 재생이 계속되고 있는 동안 커멘드 실행부는 대화적인 처리를 실행할 수는 없다. 이 커멘드 인터프리터 대신에 그래픽스 디코더가 대화적인 동작을 실행한다. 그래픽스 디코더에 대화적인 동작을 실행하게 하기 위하여 IG 스트림에는 버튼 부재를 이용한 대화적인 조작을 규정하는 제어정보가 포함되어 있다.
? 각 스트림 종별에서 허용되는 표시 모드
3D 표시 모드의 어느 것이 허용될지는 스트림 종별에 의해 다르다. 프라이머리 비디오 스트림의 3D 표시 모드에는 B-D프레젠테이션 모드, B-B프레젠테이션 모드와 같은 2개의 출력 모드가 허용된다. 프라이머리 비디오 스트림에서 B-B프레젠테이션 모드가 허용되는 것은 팝업메뉴가 온으로 되어 있는 경우만이다. B-D프레젠테이션 모드로 재생되는 경우에서의 프라이머리 비디오 스트림의 유형을 「입체 시 B-D 재생타입」이라고 한다. B-B프레젠테이션 모드로 재생되는 경우에서의 프라이머리 비디오 스트림의 유형을 입체 시 B-B재생타입이라고 한다.
PG 스트림의 3D 표시 모드에는 B-D프레젠테이션 모드, 1plane+Offset 모드, 1plane+Zero Offset 모드라고 하는 3개의 출력 모드가 허용된다. PG 스트림에서 1plane+Zero Offset 모드가 허용되는 것은 팝업메뉴가 온으로 되어 있는 경우만이다. B-D프레젠테이션 모드로 재생되는 경우에서의 PG 스트림의 유형을 「입체 시 재생타입」이라고 한다. 1plane+Offset 모드로 재생되는 경우에서의 PG 스트림, PG_텍스트 자막 스트림의 유형을 1plane+Offset 타입이라고 한다. 1plane+Zero Offset 모드로 재생되는 경우에서의 PG 스트림, PG_텍스트 자막 스트림의 유형을 1plane+Zero Offset 타입이라고 한다.
텍스트 자막 스트림의 3D 표시 모드에는 1plane+Offset 모드, 1plane+Zero Offset 모드라고 하는 2개의 출력 모드가 허용된다. 텍스트 자막 스트림에서 1plane+Zero Offset 모드가 허용되는 것은 팝업메뉴가 온으로 되어 있는 경우만이다.
IG 스트림의 3D 표시 모드에는 B-D프레젠테이션 모드, 1plane+Offset 모드, 1plane+Zero Offset 모드라고 하는 3개의 출력 모드가 허용된다. IG 스트림에서 1plane+Zero Offset 모드가 허용되는 것은 팝업메뉴가 온으로 되어 있는 경우만이다. 이후의 설명에서는 특별히 언급하지 않는 한 3D 출력 모드의 실행시에는 픽처 인 픽처는 사용할 수 없는 것으로 한다. 픽처 인 픽처 및 3D 출력 모드는 모두 비 압축의 픽처 데이터를 저장하기 위한 비디오 플레인을 2개 필요로 하기 때문이다. 또, 특별히 언급하지 않는 이상 3D 출력 모드에서는 사운드 믹싱도 사용할 수 없는 것으로 한다.
이어서, 메인 TS 및 서브 TS의 내부 구성에 대하여 설명한다. 도 5는 메인 TS 및 서브 TS의 내부 구성을 나타낸다.
동 도면 (a)는 메인 TS의 내부 구성을 나타낸다. 메인 TS는 이하의 소스 패킷에 의해 구성되어 있다.
0x0100의 패킷 ID를 갖는 소스 패킷은 Program_Map_Table을 구성하고, 0x1001의 패킷 ID를 갖는 TS 패킷은 PCR을 구성한다.
0x1011의 패킷 ID를 갖는 소스 패킷 열은 프라이머리 비디오 스트림을 구성한다.
0x1200에서 0x121F의 패킷 ID를 갖는 소스 패킷 열까지는 32개의 2D PG 스트림을 구성한다.
0x1400에서 0x141F의 패킷 ID를 갖는 소스 패킷 열까지는 32개의 2D IG 스트림을 구성한다.
0x1100의 패킷 식별자를 갖는 소스 패킷 열로부터 0x111F의 패킷 식별자를 갖는 소스 패킷 열까지는 프라이머리 오디오 스트림을 구성한다.
이들 소스 패킷의 패킷 식별자를 다중 분리부에 지시함으로써 메인 TS에 다중화되어 있는 복수의 ES 중 원하는 것을 분리하여 디코더에 제공할 수 있다.
도면 (b)는 서브 TS의 내부 구성을 나타낸다. 서브 TS는 이하의 소스 패킷에 의해 구성되어 있다.
Ox1012의 패킷 식별자를 갖는 소스 패킷 열은 디펜던트 뷰 비디오 스트림을 구성한다.
0x1220의 패킷 식별자를 갖는 소스 패킷 열로부터 0x123F의 패킷 ID를 갖는 소스 패킷 열까지는 32개의 좌측 눈 PG 스트림을 구성한다.
Ox1240의 패킷 식별자를 갖는 소스 패킷 열로부터 0x125F의 패킷 식별자를 갖는 소스 패킷 열까지는 32개의 우측 눈 PG 스트림을 구성한다.
0x1420의 패킷 식별자를 갖는 소스 패킷 열로부터 0x143F의 패킷 ID를 갖는 소스 패킷 열까지는 32개의 좌측 눈 용 IG 스트림을 구성한다.
Ox1440의 패킷 식별자를 갖는 소스 패킷 열로부터 0x145F의 패킷 식별자를 갖는 소스 패킷 열은 32개의 우측 눈 용 IG 스트림을 구성한다.
이상이 스트림 파일에 대한 설명이다. 이어서, 플레이리스트정보의 상세에 대하여 설명한다.
상술한 것과 같은 멀티패스를 정의하기 위해 도 6과 같은 내부 구성을 갖는다. 도 6은 플레이리스트정보의 내부 구성을 나타낸다. 동 도면 (a)에 나타낸 것과 같이 플레이리스트정보는 「메인패스정보」, 「서브패스정보」, 「플레이리스트 마크정보」, 「익스텐션 데이터」를 포함한다. 이하, 이들의 구성요소에 대하여 설명한다.
1) 메인패스정보는 1개 이상의 주가 되는 재생구간정보로 구성된다. 도 6 (b)는 메인패스정보 및 서브패스정보의 내부 구성을 나타내는 도면이며, 본 도면에 나타낸 것과 같이 메인패스정보는 1개 이상의 주가 되는 재생구간정보로 구성된다. 서브패스정보는 1개 이상의 종이 되는 재생구간정보로 구성된다.
주가 되는 재생구간정보는 플레이아이템정보로 불리며, TS의 재생시간 축 중 In_Time이 되는 시점과 Out_Time이 되는 시점의 세트를 1개 이상 정의함으로써 논리적인 재생구간을 정의하는 정보이다. 재생장치에는 현재의 플레이아이템의 번호를 저장하는 플레이아이템번호 레지스터를 포함하고, 복수의 플레이리스트정보 중에서 이 플레이아이템번호 레지스터에 저장되어 있는 것이 현재의 재생 대상이 된다.
도 6 (c)는 플레이아이템정보의 내부 구성을 나타낸다. 본 도면에 나타낸 것과 같이 「스트림 참조정보」, 「인 타임아웃 타임 정보」, 「접속상태정보」, 「기본 스트림 선택테이블」을 포함한다.
스트림 참조정보는 플레이아이템을 구성하는 트랜스포트 스트림을 「AV 클립」으로 관리하고 있는 스트림 정보 파일을 나타내는 「스트림 정보 파일 네임 정보(clip_information_file_name)」, 그 TS에서의 부호화방식을 나타내는 「클립 부호화방식 식별자(Clip_codec_indentifier)」, 당해 TS의 STC 시퀀스에서 인 타임 및 아웃 타임이 설정되어 있는 STC 시퀀스가 어느 것인가를 나타내는 「STC 식별자 레퍼런스(STC_ID_referrence)」를 포함한다.
이상이 플레이아이템정보에 대한 설명이다.
2) 종이 되는 재생구간정보는 서브패스정보로 불리며, 복수의 서브 플레이아이템정보로 구성된다. 도 6 (d)는 서브 플레이아이템의 내부 구성을 나타낸다. 본 도면에 나타낸 것과 같이, 서브 플레이아이템정보는 STC 시퀀스의 시간 축에 인 타임과 아웃 타임의 세트를 규정함으로써 서브패스를 구성하는 재생구간을 정의하는 정보이며, 「스트림 참조정보」, 「인 타임아웃 타임 정보」, 「싱크로 플레이아이템 레퍼런스」, 「싱크로 개시시각정보」를 포함한다.
「스트림 참조정보」는 플레이아이템정보와 마찬가지로 「스트림 정보 파일 네임 정보」 「클립 부호화방식 식별자」, 「STC 식별자 레퍼런스」를 포함한다.
「인 타임아웃 타임 정보(SubPlayItem_In_Time, SubPlayItem_Out_Time)」는 STC 시퀀스 시간 축에서의 서브 플레이아이템의 시작점과 STC 시퀀스 시간 축 상에서의 서브 플레이아이템의 종료점을 나타낸다.
「싱크로 플레이아이템 레퍼런스(Sync_PlayItem_Id)」는 플레이아이템 중 본 서브 플레이아이템이 동기해야할 것을 고유하게 지정하는 정보이다. 서브 플레이아이템 인 타임은 이 동기 플레이아이템 참조자로 지정된 플레이아이템의 재생시간 축 상에 존재한다.
「싱크로 개시시각정보(Sync_Start_PTS_of_PlayItem)」는 동기 플레이아이템 참조자로 지정된 플레이아이템의 STC 시퀀스의 시간 축 중 서브 플레이아이템 인 타임으로 지정된 서브 플레이아이템의 시작점이 어느 시점에 사상(寫像) 되는가를 나타낸다.
3) 플레이리스트 마크정보는 재생구간 고유의 마크포인트를 정의하는 정보이며, 재생구간을 나타내는 참조자와 디지털 스트림의 시간 축에서 마크포인트가 어디에 있는가를 나타내는 타임스탬프와 마크포인트의 속성을 나타내는 속성정보를 포함하고, 상기 속성정보는 플레이리스트 마크정보에 의해 정의된 마크포인트가 링크 포인트인지 엔트리 마크인가를 나타낸다.
링크 포인트는 링크 커멘드에 의한 링크가 가능하지만, 쳅터 스킵 조작이 사용자에 의해 이루어진 경우의 선택 대상은 되지 않는 마크포인트이다.
엔트리 마크는 링크 커멘드에 의한 링크가 가능하고, 또한 쳅터 스킵 조작이 사용자에 의해 이루어진 경우의 선택 대상이 되는 마크포인트이다.
IG 스트림의 버튼 정보 내에 포함된 링크 커멘드는 플레이리스트 마크정보를 개재한 간접 참조의 형식으로 선두검색 위치를 지정하고 있다.
<기본 스트림 선택테이블(STreamNumber_table)>
상기 기본 스트림 선택테이블은 플레이리스트를 구성하는 복수의 플레이아이템 중 그 기본 스트림 선택테이블을 포함하고 있는 것이 현재 플레이아이템이 된 때, 멀티패스의 메인패스에 참조되고 있는 AV 클립에 다중화되어 있는 ES 및 멀티패스의 서브패스에 참조되고 있는 AV 클립에 다중화되어 있는 ES 중 어느 것의 재생을 허가하는가를 복수의 스트림 종별마다 규정하는 테이블이다. 여기에서의 스트림 종별이란 픽처 인 픽처에서의 프라이머리 비디오 스트림, 픽처 인 픽처에서의 세컨더리 비디오 스트림, 사운드 믹싱에서의 프라이머리 오디오 스트림, 사운드 믹싱에서의 세컨더리 오디오 스트림, PG_텍스트 자막 스트림, IG 스트림이라고 하는 종별을 말하고, 기본 스트림 선택테이블은 이들 스트림 종별마다 재생을 허가해야 할 스트림을 등록할 수 있다. 구체적으로는 기본 스트림 선택테이블은 스트림 등록의 배열로 구성된다. 여기서 스트림 등록이란 기본 스트림 선택테이블이 귀속하고 있는 플레이아이템이 현재 플레이아이템이 된 때, 재생을 허가해야 할 ES가 어떤 스트림인가를 그 스트림 번호에 대응시켜서 나타내는 것이며, 스트림 등록은 논리적인 스트림 번호에 스트림 엔트리 및 스트림 속성의 조합을 대응시킨다고 하는 데이터구조로 되어 있다.
스트림 등록에서의 스트림 번호는 1, 2, 3과 같은 정수 치로 표현되고, 스트림 번호의 최대 수는 대응하는 스트림 종별의 스트림 개수가 된다.
재생장치에는 이 스트림 종별마다 스트림 번호 레지스터가 존재하고 있고, 여기에 저장된 스트림 번호에서 지시되는 ES가 현재 재생 대상이 되어 있는 ES, 즉 현재 스트림이 된다.
이 스트림 엔트리 내에 재생해야 할 ES의 패킷 식별자가 기술된다. 스트림 엔트리 내에 재생해야 할 ES의 패킷 식별자를 기술할 수 있으므로 스트림 등록에서의 스트림 번호를 재생장치의 스트림 번호 레지스터에 저장하고, 스트림 등록에서의 스트림 엔트리 내의 패킷 식별자에 의거하여 재생장치의 PID 필터에 패킷 필터링을 재생장치에 실행시킨다. 이렇게 함으로써 기본 스트림 선택테이블에서 재생이 허가된 ES의 TS 패킷이 디코더에 출력되어서 ES의 재생이 이루어지게 된다.
기본 스트림 선택테이블에서의 이들의 스트림 등록은 스트림 번호의 순서에 따라서 나열되어 있고, 스트림 번호의 순서에 의거한 스트림 등록의 순위는 「재생장치가 재생할 수 있다」, 「스트림의 언어속성이 재생장치의 언어설정과 일치한다」의 조건을 만족하는 스트림이 복수 존재하는 경우 스트림 등록 열에서의 스트림 번호의 순위에 의해 선택 대상이 되는 스트림이 결정된다.
이렇게 함으로써 기본 스트림 선택테이블에서의 스트림 등록 중에 재생장치가 재생할 수 없는 것이 존재하는 경우 이들 스트림은 재생으로부터 제외되게 되며, 또 「재생장치가 재생할 수 있다」, 「스트림의 언어속성이 재생장치의 언어설정과 일치한다」라는 조건을 만족하는 스트림이 복수 존재하는 경우는 그들 중 어느 것을 우선적으로 선택해야할 것인가고 하는 지침을 편집자는 재생장치에 전달할 수 있다.
「재생장치가 재생할 수 있다」, 「스트림의 언어속성이 재생장치의 언어설정과 일치한다」라고 하는 조건을 만족하는 스트림이 존재하는가 여부의 판정이나, 「재생할 수 있다」, 「스트림의 언어속성이 재생장치의 언어설정과 일치한다」라는 조건을 만족하는 스트림 중 어느 것을 선택할 것인가의 선택 순서는 스트림 선택 프로시저라고 불린다. 스트림 선택 프로시저는 현재 플레이아이템이 새로운 것으로 전환된 때, 또 사용자로부터 스트림 전환이 요구된 때에 실행된다.
현재 플레이아이템이 새로운 것으로 전환되는 등 재생장치 상태변화가 발생한 때 상술한 것과 같은 판정이나 선택을 실행하여 재생장치의 스트림 번호 레지스터에 스트림 번호를 설정하는 일련의 순서를 「상태 변화시에 실행해야 할 프로시저」라고 한다. 스트림 번호 레지스터는 스트림 종별마다 존재하므로 상기 프로시저는 스트림 종별마다 실행되게 된다.
스트림 전환요구가 사용자에 의해 이루어진 경우 상술한 것과 같은 판정이나 선택을 실행하여 재생장치의 스트림 번호 레지스터에 스트림 번호를 설정하는 일련의 순서를 「스트림 변화가 요구된 때의 프로시저」라고 한다.
디스크가 장전된 때에 스트림 번호 레지스터를 스트림 등록 열에서의 초기치로 설정해 두는 순서를 「초기화」라고 한다.
기본 스트림 선택테이블에서의 스트림 등록 열은 서브 플레이아이템정보에 의해 지정되어 있는 스트림과 플레이아이템정보에 의해 지정되어 있는 스트림에 일률적으로 우선 순서를 부여하고 있으므로, 비디오 스트림과는 다중화되어 있지 않은 스트림이어도 서브 플레이아이템정보에 의해 지정되어 있으면 비디오 스트림과 동기 재생해야 할 스트림의 선택시의 선택의 대상이 된다.
그리고, 서브 플레이아이템정보에서 지정된 스트림을 재생장치가 재생할 수 있고, 또한 서브 플레이아이템정보에서 지정된 스트림의 우선 순서가 비디오 스트림과 다중화된 그래픽스 스트림의 우선 순서보다 높은 경우는 비디오 스트림과 다중화된 스트림 대신에 서브 플레이아이템정보에 의해 지정된 스트림을 재생에 제공할 수 있다.
기본 스트림 선택테이블에서의 스트림 번호의 용도를 설명한다. 기본 스트림 선택테이블에 기재된 스트림 번호는 세트 스트림 커멘드의 오퍼랜드에 사용할 수 있다.
세트 스트림 커멘드란 오퍼랜드에 지정된 스트림 번호를 현재 스트림 번호로 스트림 번호 레지스터로 설정하여 현재 스트림의 전환을 재생장치에 명하는 커멘드이며, 커멘드 베이스의 프로그램이 스트림의 전환을 재생장치에 실행시킬 때에 이용된다.
또, 스트림 체인지 UO의 인수나 세트 스트림 API의 인수에도 사용할 수 있다. 스트림 체인지 UO는 인수로 지정된 스트림 번호를 현재 스트림 번호로 스트림 번호 레지스터에 설정하여 현재 스트림의 전환을 재생장치에 명하는 사용자조작 이벤트이다.
세트 스트림 API는 인수로 지정된 스트림 번호를 현재 스트림 번호로 스트림 번호 레지스터에 설정하여 현재 스트림의 전환을 재생장치에 명하는 API이며, 오브젝트 지향 프로그래밍 언어 베이스의 프로그램이 스트림 전환을 재생장치에 실행시킬 때에 이용된다.
도 7은 기본 스트림 선택테이블의 일 예를 나타낸다. 동 도면 (a)는 스트림 종별로 프라이머리 비디오 스트림, 세컨더리 비디오 스트림, PG 스트림, IG 스트림, 세컨더리 비디오 스트림, 세컨더리 오디오 스트림과 같은 종별이 존재하는 경우에 기본 스트림 선택테이블에 설치되는 복수의 스트림 등록 열을 나타낸다. 동 도면 (b)는 기본 스트림 선택테이블에 의해, 메인 TS, 서브 TS에서 어떤 ES가 분리되는가를 나타낸다. 동 도면 좌측은 메인 TS, 서브 TS를 나타내고, 한가운데는 기본 스트림 선택테이블과 다중 분리부를 나타낸다. 우측은 기본 스트림 선택테이블에 의거하여 분리되는 프라이머리 비디오 스트림, 프라이머리 오디오 스트림, PG 스트림, IG 스트림, 세컨더리 비디오 스트림, 세컨더리 오디오 스트림을 나타낸다.
이어서, 익스텐션 데이터의 상세한 것에 대하여 설명한다.
MVC 비디오 스트림을 플레이리스트정보가 참조하는 경우 확장 스트림 선택테이블은 플레이리스트정보 파일의 익스텐션 데이터에서의 데이터블록에 저장되어야 한다.
디스크 상의 MVC 비디오 스트림을 플레이리스트정보가 참조하는 경우 서브패스정보의 확장 정보(서브패스 블록 익스텐션)는 플레이리스트정보 파일에서의 익스텐션 데이터의 데이터블록에 저장되어야 한다.
2D 재생장치는 플레이리스트 파일에서의 익스텐션 데이터에 조우한 때, 미지의 익스텐션 데이터를 무시하지 않으면 안 된다.
<확장 스트림 선택테이블(STreamNumber_table_StereoScopic(SS))>
확장 스트림 선택테이블은 입체 시 출력 모드에서만 스트림 선택테이블과 함께 사용되는 스트림 선택테이블이며, 플레이아이템의 재생이나 이에 관련하는 서브패스가 재생되고 있을 때 선택할 수 있는 ES를 정의한다.
상기 확장 스트림 선택테이블은 입체 시 출력 모드에서만 재생을 허가해야 할 ES를 나타내고, 스트림 등록 열을 포함한다. 스트림 등록 열에서의 개개의 스트림 등록정보는 스트림 번호와 그 스트림 번호에 대응하는 스트림 엔트리와 스트림 속성을 포함한다. 확장 스트림 선택테이블은 입체 시 출력 모드 고유의 확장을 의미하므로, 각 플레이아이템정보에 확장 스트림 선택테이블(STN_table_SS)이 관련되어 있는 플레이리스트를 「3D 플레이리스트」라고 한다.
확장 스트림 선택테이블에서의 스트림 엔트리는 재생장치가 입체 시 출력 모드로 설정되어 있는 경우에 대응하는 스트림 번호가 재생장치에서의 스트림 번호 레지스터에 설정된 때 재생장치가 다중 분리에 이용해야 할 패킷 식별자를 나타낸다. 여기서, 기본 스트림 선택테이블과의 차이는 확장 스트림 선택테이블에서의 스트림 등록 열은 스트림 선택 프로시저의 대상이 되지 않는 점이다. 즉, 기본 스트림 선택테이블에서의 스트림 등록 열에서의 스트림 등록정보는 개개의 ES의 우선 순서로 해석되고, 어느 하나의 스트림 등록정보 내의 스트림 번호가 스트림 번호 레지스터에 기입된다. 그러나 확장 스트림 선택테이블에서의 스트림 등록 열은 스트림 선택 프로시저의 대상은 되지 않고, 확장 스트림 선택테이블에서의 스트림 등록정보는 어느 하나의 스트림 번호가 스트림 번호 레지스터에 저장된 때 그 스트림 번호에 대응하는 스트림 엔트리 및 스트림 속성을 인출한다고 하는 목적에만 이용된다.
2D 출력 모드에서 3D 출력 모드로 출력 모드가 전환된 때, 대상이 되는 스트림 선택테이블이 기본 스트림 선택테이블에서 확장 스트림 선택테이블로 전환되었으므로 스트림 선택 프로시저를 실행하게 되면 스트림 번호의 동일성을 유지하지 못하고, 나아가서는 언어속성의 동일성도 없어질 가능성이 있다.
2D 출력 모드에서 3D 출력 모드로의 전환시에 언어속성을 비롯한 스트림 속성의 동일성을 유지하기 위해 확장 스트림 선택테이블의 용도를 상기의 것으로 제한하고 있다.
확장 스트림 선택테이블에서의 스트림 번호의 용도를 설명한다. 확장 스트림 선택테이블에 기재된 스트림 번호는 세트 스트림 커멘드나 세트 입체 시 스트림 커멘드의 오퍼랜드에 사용할 수 있다.
세트 입체 시 스트림 커멘드란 오퍼랜드로 지정된 입체 시를 위한 스트림 번호를 현재 스트림 번호로 스트림 번호 레지스터에 설정하고, 현재 스트림의 전환을 재생장치에 명하는 커멘드이며, 커멘드 베이스의 프로그램이 입체 시 스트림으로의 전환을 재생장치에 실행시킬 때 이용된다.
또, 스트림 체인지 UO의 인수나 세트 스트림 API의 인수에도 사용할 수 있다.
상기 확장 스트림 선택테이블은 디펜던트 뷰 비디오 스트림의 스트림 등록 열, PG 스트림의 스트림 등록 열, IG 스트림의 스트림 등록 열로 구성된다.
확장 스트림 선택테이블에서의 스트림 등록 열은 스트림 선택테이블에서의 동일한 스트림 종별의 스트림 등록 열에 결합된다. 이 결합은 스트림 선택테이블에서의 프라이머리 비디오 스트림의 스트림 등록 열에 확장 스트림 선택테이블에서의 디펜던트 뷰 비디오 스트림의 스트림 등록 열을 결합하고, 스트림 선택테이블에서의 PG 스트림의 스트림 등록 열에 확장 스트림 선택테이블에서의 PG 스트림의 스트림 등록 열을 결합하며, IG 스트림의 스트림 등록 열에 확장 스트림 선택테이블에서의 IG 스트림의 스트림 등록 열을 결합함으로써 이루어진다.
상기의 결합이 이루어지면 결합 후의 스트림 선택테이블 중 기본 스트림 선택테이블에서의 스트림 등록 열에 대하여 상기 프로시저가 실행된다.
도 8은 확장 스트림 선택테이블의 내부 구성을 나타낸다. 확장 스트림 선택테이블은 확장 스트림 선택테이블의 전체 길이(length), 팝업 기간 고정 오프셋(Fixed_offset_during_Popup), 각 플레이아이템에서의 각각의 스트림 종별에 대응하는 스트림 등록 열로 구성된다.
여기서 플레이아이템 #1~#N이라고 하는 N개의 플레이아이템이 존재하는 경우 플레이아이템 #1~#N의 각각에 대응하는 스트림 등록 열이 확장 스트림 선택테이블에 설치된다. 각 플레이아이템에 대응하는 스트림 등록 열은 디펜던트 뷰 스트림 등록 열, PG 스트림 등록 열, IG 스트림 등록 열이다.
「Fixed_offset_during_Popup」은 팝업 기간 고정 오프셋이며, IG 스트림에 의한 팝업메뉴가 온으로 설정되어 있는 경우 비디오나 PG_텍스트 자막 스트림의 재생타입을 제어한다. 이 「Fixed_offset_during_Popup」필드는 IG 스트림에서의 user_interface_model 필드가 온, 즉 팝업메뉴의 사용자 인터페이스가 온으로 설정되어 있는 경우에 온으로 설정된다. IG 스트림에서의 user_interface_model 필드가 오프, 즉 AlwaysON의 사용자 인터페이스로 설정되어 있는 경우에 오프로 설정된다.
팝업 기간 고정 오프셋 「=0」, 즉 IG 스트림의 사용자 인터페이스에서 팝업메뉴가 오프로 설정되어 있는 경우 비디오 스트림은 B-D프레젠테이션 모드가 된다. 입체 시 PG 스트림은 입체 시 재생타입이 된다. 1plane+Offset 모드의 재생시에 PG_텍스트 자막 스트림은 1plane+Offset 모드가 된다.
팝업 기간 고정 오프셋 「1」, 즉 IG 스트림의 팝업메뉴가 온인 경우 비디오 스트림은 B-B프레젠테이션 모드가 된다. 입체 시 PG 스트림은 1plane+Offset 모드가 되고, 1plane+Offset용의 PG 스트림은 1plane+Zero offset 재생타입으로 재생된다.
1plane+Offset 모드에서 PG_텍스트 자막 스트림은 1plane+Zero offset가 된다.
「오프셋 시퀀스 개수정보(도면 중의 number_of_offset_sequence)」는 디펜던트 뷰 스트림에서의 오프셋 시퀀스의 개수를 나타낸다.
확장 스트림 선택테이블에서의 이값은 디펜던트 뷰 스트림에 포함되는 오프셋 시퀀스의 개수와 동일하게 된다.
도 9는 확장 스트림 선택테이블에서의 스트림 등록 열을 나타낸다.
도 9 (a)는 디펜던트 뷰 비디오 스트림의 스트림 등록 열의 내부 구성을 나타낸다. 디펜던트 뷰 스트림의 스트림 등록 열은 v(x) 개의 SS_dependet_view_block으로 구성된다. 여기서, v(x)란 플레이아이템정보#x의 기본 스트림 선택테이블에서 재생이 허가되어 있는 프라이머리 비디오 스트림의 개수이다. 도면 중의 인출 선은 디펜던트 뷰 스트림의 스트림 등록 열의 내부 구성을 클로즈업해서 나타내고 있다. 인출 선에 나타낸 것과 같이, SS_dependet_view_block은 스트림 번호와 스트림 엔트리와 스트림 속성과 오프셋 시퀀스 수(number_of_offset_sequence)로 구성된다.
스트림 엔트리는 디펜던트 뷰 비디오 스트림의 재생 패스가 귀속하고 있는 서브패스를 지정하는 서브패스 식별자 레퍼런스(ref_to_Subpath_id)와, 디펜던트 뷰 비디오 스트림이 저장되어 있는 스트림 파일을 지정하는 스트림 파일 레퍼런스(ref_to_subClip_entry_id)와, 당해 스트림 파일에서의 디펜던트 뷰 비디오 스트림의 패킷 식별자(ref_to_stream_PID_subclip)를 포함한다.
「스트림 속성」은 디펜던트 뷰 비디오 스트림의 언어속성을 포함한다.
「오프셋 시퀀스 수(number_of_offset_sequence)」는 디펜던트 뷰 비디오 스트림 내에 존재하는 오프셋의 개수를 나타낸다.
도 9 (a)에서 디펜던트 뷰 비디오 스트림의 스트림 등록 열은 데이터구조상 복수의 디펜던트 뷰 비디오 스트림에 대한 스트림 등록정보를 설치하는 것으로 되어 있다. 통상, 베이스 뷰 비디오 스트림의 개수는 1개이므로 디펜던트 뷰 비디오 스트림에서의 스트림 등록정보의 개수도 유일하게 1개가 된다.
도 9 (b)는 PG 스트림의 스트림 등록 열의 내부 구성을 나타낸다. PG 스트림의 스트림 등록 열은 P(x) 개의 스트림 등록정보로 구성된다. 여기서, P(x)란 플레이아이템정보#x의 기본 스트림 선택테이블에서 재생이 허가되어 있는 PG 스트림의 개수이다.
도면 중의 인출 선은 스트림 등록 열의 공통의 내부 구성을 클로즈업해서 나타내고 있다.
「PG_텍스트 자막 오프셋 시퀀스 ID 레퍼런스 정보(PGtextST_offset_ sequence_id_ref)」는 PG_텍스트 자막 스트림 오프셋 시퀀스 레퍼런스 정보이며, 1plane+Offset 모드의 PG_텍스트 자막 스트림에 대한 오프셋 시퀀스를 지시한다.
오프셋 메타데이터는 디펜던트 뷰 비디오 스트림의 액세스유닛에 의해 공급된다. 재생장치는 이 필드에 의해 제공된 오프셋을 1plane+Offset 모드 타입의 프레젠테이션 그래픽스(PG) 플레인에 적용하지 않으면 안 된다.
이 필드가 부정 값(FF)인 경우 재생장치는 PG 스트림 플레인 메모리에 이 오프셋을 적용하지 않는다.
「입체 시 PG 존부(存否) 플래그(is_SS_PG)」는 PG 스트림에서의 좌측 눈 용 IG의 스트림 엔트리, 우측 눈 용 IG의 스트림 엔트리, 스트림 속성의 유효성과 존재를 지시한다. 입체 시 PG 스트림에서의 구조가 존재하지 않는 경우 이 필드는 0으로 설정되어야 한다. 입체 시 PG 스트림에서의 구조가 존재하는 경우 이 필드는 1로 설정되어야 한다.
「좌측 눈 스트림 엔트리」는 좌측 눈 PG 스트림의 재생 패스가 귀속하고 있는 서브패스를 지정하는 서브패스 식별자 레퍼런스(ref_to_Subpath_id)와, 좌측 눈 PG 스트림이 저장되어 있는 스트림 파일을 지정하는 스트림 파일 레퍼런스(ref_to_subClip_entry_id)와, 당해 스트림 파일에서의 좌측 눈 PG 스트림의 패킷 식별자(ref_to_stream_PID_subclip)를 포함한다.
「우측 눈 스트림 엔트리」는 우측 눈 PG 스트림의 재생 패스가 귀속하고 있는 서브패스를 지정하는 서브패스 식별자 레퍼런스(ref_to_Subpath_id)와, 우측 눈 PG 스트림이 저장되어 있는 스트림 파일을 지정하는 스트림 파일 레퍼런스(ref_to_subClip_entry_id)와, 당해 스트림 파일에서의 우측 눈 PG 스트림의 패킷 식별자(ref_to_stream_PID_subclip)를 포함한다. 확장 스트림 선택테이블의 스트림 등록정보에서의 stream_entry_for_depentdent_view에 의해 참조되고 있는 스트림 파일이 기본 스트림 선택테이블의 스트림 엔트리에 의해 참조되고 있는 스트림 파일과 다른 경우 우측 눈 PG 스트림을 저장하고 있는 스트림 파일을 다시 판독하지 않으면 안 된다.
「공통 스트림 속성」은 좌측 눈 PG 스트림 및 우측 눈 PG 스트림의 언어속성을 포함한다.
입체 시 PG_텍스트 자막 오프셋 시퀀스 레퍼런스 정보(SS_PG_textST_offset_sequence_id_ref)」는 PG_텍스트 자막 스트림용의 오프셋 시퀀스를 참조하기 위한 레퍼런스 정보이며, PG_텍스트 자막 스트림을 위한 오프셋 시퀀스를 지시한다. 재생장치는 이 필드에 의해 제공된 오프셋을 PG 플레인에 적용하지 않으면 안 된다.
이 필드가 부정 값(FF)인 경우 재생장치는 PG 스트림 플레인 메모리에 이 오프셋을 적용하지 않는다.
도 9 (c)는 IG 스트림의 스트림 등록 열의 내부 구성을 나타낸다. IG 스트림의 스트림 등록 열은 I(x) 개의 스트림 등록정보로 구성된다. 여기서, I(x)란 플레이아이템정보#x의 기본 스트림 선택테이블에서 재생이 허가되어 있는 IG 스트림의 개수이다. 도면 중의 인출 선은 스트림 등록 열의 공통의 내부 구성을 클로즈업해서 나타내고 있다.
「IG 오프셋 시퀀스 ID 레퍼런스 정보(IG_offset_sequence_id_ref)」는 인터렉티브 그래픽스 오프셋 시퀀스 레퍼런스이며, 1plane+Offset 모드의 IG 스트림의 시퀀스 ID의 레퍼런스이다. 이값은 오프셋 시퀀스에 정의되어 있는 오프셋 시퀀스 ID를 지시한다. 상술한 것과 같이, 오프셋 메타데이터는 디펜던트 뷰 비디오 스트림에 의해 공급된다. 재생장치는 이 필드에 의해 제공된 오프셋을 1plane+Offset 모드 타입의 IG 스트림에 적용하지 않으면 안 된다.
이 필드가 부정 값(FF)인 경우 재생장치는 인터렉티브 그래픽스 플레인에 이 오프셋을 적용하지 않는다.
「B-B모드시의 오프셋방향정보(IG_Plane_offset_direction_during_ BB_video)」는 B-B프레젠테이션 모드에서 팝업메뉴의 사용자 인터페이스로 IG 스트림이 재생되고 있는 동안 1plane+Offset 모드에서의 인터렉티브 그래픽스(IG) 플레인에서의 오프셋방향을 지시한다.
값 「0」으로 프런트 설정, 즉 플레인 메모리는 TV와 시청자의 사이에 존재하고, 레프트 뷰 기간에서 플레인은 우측 방향으로, 라이트 뷰 기간에서 플레인은 좌측 방향으로 시프트된다.
값 「=1」로 비하인드 설정, 즉 플레인 메모리는 TV 또는 스크린의 배후에 존재하고, 레프트 플레인은 좌측 방향으로, 라이트 플레인은 우측 방향으로 시프트된다.
「B-B모드시의 오프셋 값 정보(IG_Plane_offset_value_during_BB_video)」는 B-B프레젠테이션 모드로 팝업메뉴의 사용자 인터페이스에 의해 IG 스트림이 재생되고 있는 동안 1plane+Offset 모드에서의 IG 플레인의 오프셋 값을 화소 단위로 지시한다.
「입체 시 IG 존부 플래그(is_SS_IG)」는 IG 스트림에서의 좌측 눈 용 IG의 스트림 엔트리, 우측 눈 용 IG의 스트림 엔트리, 스트림 속성의 유효성과 존재를 지시한다. 입체 시 IG 스트림의 데이터구조가 존재하지 않는 경우 이 필드는 값 0으로 설정되어야 한다. 재생이 허가되어 있는 IG 스트림이 입체 시 IG 스트림인 경우 이 필드는 값 1로 설정되어야 한다.
「좌측 눈 스트림 엔트리」는 좌측 눈 용 IG 스트림의 재생 패스가 귀속하고 있는 서브패스를 지정하는 서브패스 식별자 레퍼런스(ref_to_Subpath_id)와, 좌측 눈 용 IG 스트림이 저장되어 있는 스트림 파일을 지정하는 스트림 파일 레퍼런스(ref_to_subClip_entry_id)와, 당해 스트림 파일에서의 좌측 눈 용 IG 스트림의 패킷 식별자(ref_to_stream_PID_subclip)를 포함한다.
「우측 눈 스트림 엔트리」는 우측 눈 용 IG 스트림의 재생 패스가 귀속하고 있는 서브패스를 지정하는 서브패스 식별자 레퍼런스(ref_to_Subpath_id)와, 우측 눈 용 IG 스트림이 저장되어 있는 스트림 파일을 지정하는 스트림 파일 레퍼런스(ref_to_subClip_entry_id)와, 당해 스트림 파일에서의 우측 눈 용 IG 스트림의 패킷 식별자(ref_to_stream_PID_subclip)를 포함한다. 확장 스트림 선택테이블의 스트림 등록정보에서의 stream_entry_for_depentdent_view에 의해 참조되고 있는 스트림 파일이 기본 스트림 선택테이블의 스트림 엔트리에 의해 참조되고 있는 스트림 파일과 다른 경우 우측 눈 용 IG 스트림을 저장하고 있는 스트림 파일을 다시 판독하지 않으면 안 된다.
「공통 스트림 속성」은 좌측 눈 용 IG 스트림 및 우측 눈 IG 스트림의 언어속성을 포함한다.
「입체 시 IG 오프셋 시퀀스 레퍼런스 정보」는 입체 시 타입의 IG 스트림을 위한 오프셋 시퀀스 ID의 레퍼런스이며, 디펜던트 뷰 비디오 스트림의 오프셋 메타데이터에서의 오프셋 시퀀스를 지시한다. 재생장치는 이 필드에 의해 제공된 오프셋을 입체 시 타입의 IG 플레인에 적용하지 않으면 안 된다.
이 필드가 부정 값(FF)인 경우 재생장치는 IG 플레인에 이 오프셋을 적용하지 않는다.
PG_텍스트 자막 스트림용의 오프셋 시퀀스의 레퍼런스 정보 및 IG 스트림용의 오프셋 시퀀스의 레퍼런스 정보는 스트림 번호에 대응시켜서 스트림 등록정보에 기재되어 있으므로, 장치 상태의 변화시나 스트림 변경 요구의 발생시에 스트림 선택 프로시저가 실행되고, 장치 측의 언어설정에 따른 스트림 번호가 스트림 번호 레지스터에 설정된 경우 그 새로운 스트림 번호에 대응한 레퍼런스에 의해 지시되는 오프셋 시퀀스가 비디오 디코더로부터 시프트부에 공급되게 된다. 이렇게 함으로써 재생장치에서의 언어설정에 따른 최적의 오프셋 시퀀스가 시프트부에 공급되므로 1plane+Offset 모드에서의 그래픽스의 깊이를 재생장치의 언어설정에 따른 최적의 것으로 할 수 있다.
확장 스트림 선택테이블에서의 제한에 대하여 설명한다.
입체 시 디펜던트 뷰 블록에서의 스트림 엔트리는 플레이리스트에서 변화해서는 안 된다.
입체 시 디펜던트 뷰 블록에서의 스트림 엔트리의 타입이 서브패스에 의해 사용되는 ES타입(스트림 타입=2)이면, 서브패스 ID레퍼런스와 서브 클립 엔트리 ID레퍼런스(ref_to_subclip_entry_id)는 플레이리스트에서 변화하지 않는다.
스트림 엔트리, 베이스 뷰를 위한 스트림 엔트리, 디펜던트 뷰를 위한 스트림 엔트리의 타입으로 허가되는 ES의 타입은 플레이아이템에 의해 사용되는 AV 클립 내의 ES(스트림 타입 「=1」), 서브패스에 의해 사용되는 AV 클립 내의 ES(스트림 타입=2)의 2개 타입뿐이다.
입체 시 디펜던트 뷰 블록에서의 스트림 속성의 스트림 부호화방식은 「0x20」으로 설정된다.
도 10은 기본 스트림 선택테이블, 확장 스트림 선택테이블에 의해 메인 TS, 서브 TS로부터 어떤 ES가 다중 분리되는가를 나타낸다.
본 도면의 한가운데는 다중 분리부를 나타내고, 그 상측에는 기본 스트림 선택테이블과 확장 스트림 선택테이블의 세트를 나타낸다. 좌측에는 메인 TS, 서브 TS, 우측에는 다중 분리되는 베이스 뷰 비디오 스트림, 디펜던트 뷰 비디오 스트림, 좌측 눈 PG 스트림, 우측 눈 PG 스트림, 좌측 눈 용 IG 스트림, 우측 눈 용 IG 스트림, 프라이머리 오디오 스트림을 나타낸다.
도 11은 2D 출력 모드, 3D 출력 모드에서의 스트림 번호의 할당 변화를 나타낸다.
세로 란은 프라이머리 비디오 스트림 #1이라고 하는 스트림 번호, 프라이머리 오디오 스트림 #1,#2라고 하는 스트림 번호, PG_텍스트 자막 스트림 #1,#2,#3이라고 하는 스트림 번호, IG 스트림 #1, #2라고 하는 스트림 번호를 나타내고 있다.
좌측의 점선 틀로만 둘러싸이는 ES는 2D 출력 모드에서만 다중 분리의 대상이 되는 ES이며, 스트림 선택테이블(STN_table)에 의해 재생이 허가되어 있는 것을 나타낸다.
우측의 점선 틀로만 둘러싸이는 ES는 3D 출력 모드에서 다중 분리의 대상이 되는 ES이며, 확장 스트림 선택테이블(STN_table_SS)에 의해 재생이 허가되어 있는 것을 나타낸다.
좌측 및 우측의 점선 틀의 쌍방으로 둘러싸이는 ES는 2D 출력 모드 및 3D 출력 모드에서 다중 분리의 대상이 되는 ES를 나타낸다.
비디오 스트림 #1의 스트림 번호에만 착안하면 MPEG4-MVC 베이스 뷰 비디오 스트림은 좌우 양쪽의 점선 틀로 둘러싸이므로 2D 출력 모드 및 3D 출력 모드의 쌍방에서 재생 대상으로 되어 있음을 알 수 있다. 그러나 MPEG4-MVC 디펜던트 뷰 비디오 스트림은 우측의 점선 틀로만 둘러싸여 있으므로 3D 출력 모드에서만 재생되는 것을 알 수 있다.
프라이머리 오디오 스트림 #1,#2의 스트림 번호에 착안하면 오디오 스트림은 좌우 양쪽의 점선 틀로 둘러싸이므로 2D 출력 모드 및 3D 출력 모드의 쌍방에서 재생 대상으로 되어 있음을 알 수 있다.
PG_텍스트 자막 스트림에 착안하면 PG 스트림 #1, PG 스트림 #2은 2DPG 스트림이고, 좌우의 점선 틀에 의해 둘러싸여 있다. 이는, PG 스트림 #1, PG 스트림 #2가 2D 출력 모드, 3D 출력 모드의 쌍방에서 재생 대상으로 되어 있음을 알 수 있다. 한편, 좌측 눈 PG 스트림, 우측 눈 PG 스트림은 우측의 점선 틀로만 둘러싸여 있으므로 3D 출력 모드에서만 재생되는 것을 알 수 있다.
또, IG 스트림에 착안하면 IG 스트림 #1, IG 스트림 #2는 2DIG 스트림이며, 좌우의 점선 틀에 의해 둘러싸여 있다. 이는, IG 스트림 #1, IG 스트림 #2가 2D 출력 모드 및 3D 출력 모드에서 재생 대상으로 되어 있음을 알 수 있다. 한편, 좌측 눈IG 스트림, 우측 눈 IG 스트림은 우측의 점선 틀로만 둘러싸여 있으므로 3D 출력 모드에서만 재생되는 것을 알 수 있다.
이상으로부터 3D 출력 모드에서 비디오 스트림이라고 하는 스트림 종별에서는 디펜던트 뷰 비디오 스트림이 재생 대상으로 부가되는 것을 알 수 있다.
또, 3D 출력 모드에서 PG 스트림이라고 하는 스트림 종별에서는 재생 대상이 좌측 눈 PG 스트림 및 우측 눈 PG 스트림이 추가되어 있고, 3D 출력 모드에서 IG 스트림이라고 하는 스트림 종별에서는 좌측 눈 IG 스트림 및 우측 눈 IG 스트림이 추가되어 있음을 알 수 있다. 좌측 눈 PG 스트림 및 우측 눈 PG 스트림이 재생 대상으로 부가되어 있는 것은 3D 출력 모드에서 좌측 눈 PG 스트림 및 우측 눈 PG 스트림을 이용하여 입체 시 재생을 실현하기 위해서이다. 좌측 눈 IG 스트림 및 우측 눈 IG 스트림이 재생 대상으로 부가되어 있는 것은 3D 출력 모드에서 좌측 눈 IG 스트림 및 우측 눈 IG 스트림을 이용하여 입체 시 재생을 실현하기 위해서이다.
이상이 기록매체에 대한 설명이다. 이어서, 재생장치의 상세에 대하여 설명한다.
도 12는 재생장치의 내부 구성을 나타낸다. 본 도면에 나타낸 것과 같이 재생장치는 판독부(201), 메모리(202), 레지스터세트(203), 디코더(204), 다중 분리부(205), 플레인 메모리 세트(206), 시프트부(207), 레이어 합성부(208), 송수신부(209), 재생제어부(210)로 구성된다. 본 도면의 내부 구성은 과제 해결 수단을 구비한 재생장치를 실행하기 위한 필요 최저한의 구성요소를 기술한 것에 지나지 않는다. 더 상세한 내부 구성에 대해서는 후단의 실시형태에서 설명한다.
판독부(201)는 기록매체로부터 인덱스테이블, 프로그램 파일, 플레이리스트정보 파일, 스트림 정보 파일, 스트림 파일을 판독한다. 판독부(201)는 입체 시 인터리브드 스트림 파일의 판독시에 3D 스트림 정보 파일에서의 클립 베이스 정보 내의 익스텐트 스타트포인트정보와 클립 디펜던트 정보 내의 익스텐트 스타트포인트정보를 이용하여 입체 시 인터리브드 스트림 파일을 메인 TS에 대응하는 ATC 시퀀스(1)와 서브 TS에 대응하는 ATC 시퀀스(2)로 분할하고, ATC 시퀀스(1)과 ATC 시퀀스(2)를 다른 리드 버퍼에 저장한다고 하는 처리를 실행한다. 이 분할은 클립 디펜던트 정보에서의 익스텐트 스타트포인트정보에 나타낸 소스 패킷 번호의 패킷 수만큼 입체 시 인터리브드 스트림 파일로부터 소스 패킷을 인출하여 ATC 시퀀스(1)에 추가한다고 하는 처리와, 클립 베이스 정보에서의 익스텐트 스타트포인트정보에 나타낸 소스 패킷 번호의 패킷 수만큼 입체 시 인터리브드 스트림 파일로부터 소스 패킷을 인출하여 ATC 시퀀스(2)에 추가한다고 하는 처리를 반복함으로써 이루어진다.
메모리(202)는 플레이리스트정보에 포함되는 기본 스트림 선택테이블과 확장 스트림 선택테이블을 결합함으로써 얻어진 결합 스트림 등록 열을 저장한다.
레지스터세트(203)는 재생장치가 동작을 실행하기 위한 여러 레지스터로 구성된다.
스트림 종별마다의 디코더(204)는 비디오 디코더(211), PG 디코더(212), 텍스트 자막 디코더(213), IG 디코더(214), 오디오 디코더로 구성된다.
다중 분리부(205)는 소스 패킷을 TS 패킷으로 변환하는 소스 디패킷다이저, 패킷 필터링을 실행하는 PID 필터를 구비하고, 3D 플레이리스트정보의 기본 스트림 선택테이블의 스트림 엔트리에 기술되어 있는 패킷 식별자를 갖는 소스 패킷을 TS 패킷으로 변환한 후에 디코더에 출력하고, 3D 플레이리스트정보의 입체 시 스트림 선택테이블의 스트림 엔트리에 기술되어 있는 패킷 식별자를 갖는 소스 패킷을 TS 패킷으로 변환한 후에 디코더에 출력한다. 기본 스트림 선택테이블의 복수의 엔트리 및 확장 스트림 선택테이블의 복수의 엔트리 중 어느 패킷 식별자를 이용하는가는 플레이어 상태 레지스터 중 스트림 번호 레지스터의 설정에 따른다. 스트림 번호 레지스터란 현재의 스트림 번호를 저장하고 있는 레지스터이다.
플레인 메모리 세트(206)는 복수의 플레인 메모리로 구성된다.
이들 플레인 메모리는 레이어 모델을 구성하고 있고, 개개의 플레인 메모리의 저장 내용은 레이어 합성에 제공된다. 플레인 메모리 세트는 좌측 눈 용 플레인 메모리, 우측 눈 용 플레인 메모리를 포함하고, 개개의 액세스유닛의 베이스 뷰의 뷰 컴포넌트를 디코드함으로써 얻어진 비 압축의 픽처 데이터, 디펜던트 뷰의 뷰 컴포넌트를 디코드함으로써 얻어진 비 압축의 픽처 데이터가 이들 좌측 눈 용 플레인 메모리, 우측 눈 용 플레인 메모리에 기입된다. 이 기입은 개개의 액세스유닛의 프레젠테이션 타임스탬프에 나타난 재생 개시시각의 도래시에 이루어진다.
좌측 눈 용의 플레인 메모리, 우측 눈 용의 플레인 메모리 중 어느 쪽에 디코드 후의 픽처 데이터를 기입하는가는 플레이리스트정보에서의 베이스 뷰 인디케이터에 따른다. 베이스 뷰 인디케이터가 베이스 뷰 비디오 스트림을 「좌측 눈 용」으로 지정하고 있으면, 베이스 뷰 비디오 스트림의 뷰 컴포넌트가 되는 픽처 데이터가 좌측 눈 용 플레인 메모리에 기입되고, 디펜던트 뷰 비디오 스트림의 뷰 컴포넌트가 되는 픽처 데이터가 우측 눈 용의 플레인 메모리에 기입된다.
베이스 뷰 인디케이터가 베이스 뷰 비디오 스트림을 「우측 눈 용」으로 지정하고 있으면, 베이스 뷰 비디오 스트림의 뷰 컴포넌트인 픽처 데이터가 우측 눈 용의 플레인 메모리에 기입되고, 디펜던트 뷰 비디오 스트림의 뷰 컴포넌트인 픽처 데이터가 좌측 눈 용의 플레인 메모리에 기입된다. 그리고 이들 뷰 컴포넌트는 순차 표시장치에 출력된다. 구체적으로 말하면 한 개의 프레임기간에서 좌측 눈 용 플레인 메모리의 픽처 데이터와 우측 눈 용 플레인 메모리의 픽처 데이터를 동시에 출력한다.
시프트부(207)는 화소의 좌표의 시프트를 실행한다.
레이어 합성부(208)는 복수의 플레인 메모리에서의 레이어 합성을 실행한다.
송수신부(209)는 홈시어터 시스템에서의 다른 기기와 인터페이스를 개재하여 접속된 때, 네고시에이션 페이즈(phase)를 거쳐 데이터 전송 페이즈로 이행하여 데이터 전송을 실시한다.
이 네고시에이션 페이즈는 상대 측 기기의 캐퍼빌리티(디코드 능력, 재생능력, 표시주파수를 포함한다)를 파악하여 플레이어설정 레지스터에 설정해 두고, 이후의 전송을 위한 전송방식을 정하는 것이며, 서로의 장치의 정당성을 서로 확인하는 상호 인증 페이즈를 포함한다. 이 네고시에이션 페이즈를 거쳐 레이어 합성이 이루어진 픽처 데이터에서의 1 라인 분의 비 압축?평문 형식의 화소 데이터를 표시장치에서의 수평 동기 기간에 따라서 표시장치에 높은 전송 레이트로 전송한다. 한편, 표시장치에서의 수평 귀선 시간 및 수직 귀선 시간에서 재생장치와 접속된 다른 장치(표시장치뿐만 아니라 앰프, 스피커를 포함한다)에 비 압축?평문형식의 오디오 데이터를 전송한다. 이렇게 함으로써 표시장치, 앰프, 스피커고 하는 기기는 비 압축?평문 형식의 픽처 데이터, 비 압축?평문 형식의 오디오 데이터를 수신할 수 있어서 재생 출력을 실현할 수 있다. 또, 상대 측 기기에 디코드 능력이 존재하는 경우 비디오 스트림, 오디오 스트림의 패스 스루 전송(pass-through transfer)이 가능해진다. 패스스루 전송에서는 비디오 스트림, 오디오 스트림을 압축?암호화 형식인 채로 전송할 수 있다.
재생제어부(210)는 비디오 스트림의 시간 축에서의 임의의 시점으로부터의 랜덤 액세스를 실행한다. 구체적으로는 비디오 스트림의 시간 축에서의 임의의 시점으로부터의 재생이 명해진 경우 3D 스트림 정보 파일에서의 기본 엔트리 맵과 확장 엔트리 맵을 이용하여 그 임의의 시점에 대응하는 액세스유닛의 소스 패킷 번호를 서치한다. 이러한 액세스유닛은 베이스 뷰 비디오 스트림의 뷰 컴포넌트 및 디펜던트 뷰 비디오 스트림의 뷰 컴포넌트의 세트를 포함하는 것이며, 상기 서치에 의해 당해 액세스유닛에 대한 액세스유닛 딜리미터를 저장한 소스 패킷의 소스 패킷 번호가 특정된다. 이러한 소스 패킷 번호로부터의 판독 및 디코드를 실행함으로써 랜덤 액세스가 이루어진다. 3D 플레이리스트 재생시에는 3D 플레이리스트정보의 메인패스정보에서 규정되어 있는 인 타임, 아웃 타임과 서브패스정보에서 규정되어 있는 인 타임, 아웃 타임을 이용하여 메인 TS, 서브 TS의 각각에 대하여 랜덤 액세스를 실행함으로써 플레이리스트 재생을 개시한다.
비디오 디코더(211)는 디코더 세트(204)에서의 디코더 중 대표적인 디코더이며, 디펜던트 뷰 비디오 스트림을 구성하는 뷰 컴포넌트를 프리로드 한 후, 베이스 뷰 비디오 스트림 내의 클로즈 GOP의 선두에 위치하는 디코더 리프레시를 의도한 픽처 타입(IDR 타입)의 뷰 컴포넌트를 디코드한다. 이 디코드시에 코디드 데이터 버퍼, 디코드 데이터 버퍼를 전부 클리어 한다. 이렇게 하여 IDR 타입의 뷰 컴포넌트를 디코드한 후, 이 뷰 컴포넌트와의 상관성에 의거하여 압축 부호화되고 있는 베이스 뷰 비디오 스트림의 후속의 뷰 컴포넌트 및 디펜던트 뷰 비디오 스트림의 뷰 컴포넌트를 디코드한다. 디코드에 의해 당해 뷰 컴포넌트에 대한 비 압축의 픽처 데이터가 얻어지면, 디코드 데이터 버퍼에 저장하고, 이러한 픽처 데이터를 참조 픽처로 한다.
이 참조 픽처를 이용하여 베이스 뷰 비디오 스트림의 후속의 뷰 컴포넌트 및 디펜던트 뷰 비디오 스트림의 뷰 컴포넌트에 대하여 모션 보상(motion compensation)을 실시한다. 모션 보상에 의해 베이스 뷰 비디오 스트림의 후속의 뷰 컴포넌트 및 디펜던트 뷰 비디오 스트림의 뷰 컴포넌트에 대하여 비 압축의 픽처 데이터가 얻어지면 이들을 디코드 데이터 버퍼에 저장하고 참조 픽처로 한다. 이상의 디코드는 개개의 액세스유닛의 디코드 타임스탬프에 나타나 있는 디코드 개시시각이 도래할 때에 이루어진다.
이하, PG 디코더(212), 텍스트 자막 디코더(213), IG 디코더(214)와 이들의 디코더의 디코드의 대상이 되는 스트림의 내부 구성에 대하여 설명한다.
PG 스트림에서의 디코더의 구성은 1plane+Offset 방식을 채용하는 경우 1 디코더+1플레인 구성이 된다. 3D-LR 방식을 채용하는 경우 2디코더+2플레인 구성이 된다.
마찬가지로 IG 스트림에서의 디코더 구성은 3D-LR 방식을 채용하는 경우 2 디코더+2플레인 구성이 된다. 한편, 1plane+Offset 방식을 채용하는 경우 1디코더+1플레인 구성이 된다.
텍스트 자막 스트림에서의 디코더 구성에서는 3D-LR 방식이 존재하지 않고, 1plane+Offset 모드인 경우 1디코더+1플레인 구성이 된다.
먼저, PG 스트림의 내부 구성과 PG 스트림을 디코드하는 PG 디코더의 내부 구성에 대하여 설명한다.
좌측 눈 용 PG 스트림, 우측 눈 용 PG 스트림은 모두 복수의 디스플레이 세트를 포함한다. 디스플레이 세트란 한 개의 화면 표시를 구성하는 기능 세그먼트의 집합이다. 기능 세그먼트는 약 2K 바이트의 PES 패킷의 페이로드에 저장되어서 디코더에 공급되고, DTS, PTS를 이용하여 재생제어가 이루어지는 처리 단위이다.
디스플레이 세트에는 이하의 유형이 있다.
A. 에포크 스타트의 디스플레이 세트(Epoch-start display set)
에포크 스타트의 디스플레이 세트란 그래픽스 디코더에서의 콤포지션 버퍼, 코드 데이터 버퍼, 그래픽스 플레인을 리셋하여 메모리 관리를 개시시키는 기능 세그먼트의 집합이며, 화면 구성에 필요한 기능 세그먼트를 모두 포함하고 있다.
B. 노멀 케이스의 디스플레이 세트
노멀 케이스의 디스플레이 세트란 그래픽스 디코더에서의 콤포지션 버퍼, 코드 데이터 버퍼, 그래픽스 플레인의 메모리 관리를 계속한 채로 화면 구성을 실행하는 디스플레이 세트이며, 선행하는 디스플레이 세트로부터의 차분이 되는 기능 세그먼트를 포함하고 있다.
C. 애퀴지션 포인트의 디스플레이 세트(Acquisition-point display set)
애퀴지션 포인트의 디스플레이 세트란 화면 구성에 필요한 기능 세그먼트를 모두 포함하는 디스플레이 세트이지만 그래픽스 디코더에서의 콤포지션 버퍼, 코드 데이터 버퍼, 그래픽스 플레인의 메모리 관리를 리셋시키지 않는 디스플레이 세트이다. 이 애퀴지션 포인트의 디스플레이 세트에는 앞의 디스플레이 세트와는 다른 내용의 기능 세그먼트가 존재해도 좋다.
D. 에포크 컨티뉴의 디스플레이 세트(Epoch-continue display set)
에포크 컨티뉴의 디스플레이 세트란 PG 스트림의 재생을 허가하고 있는 플레이아이템과 그 직전의 플레이아이템의 접속 형태가 클린 브레이크를 수반하는 심리스 접속(CC=5)인 경우 재생장치에서의 콤포지션 버퍼, 코드 데이터 버퍼, 오브젝트 버퍼, 그래픽스 플레인에서의 메모리 관리를 그대로 계속시키는 취지를 나타낸다. 이때, 오브젝트 버퍼, 그래픽스 플레인 상에 얻어진 그래픽스 오브젝트는 폐기되는 일없이 오브젝트 버퍼, 그래픽스 플레인 상에서 존속한다.
좌측 눈 용과 우측 눈 용에서는 STC 시퀀스에서의 재생시간 축의 동일 시점에 이들 디스플레이 세트의 시작점?종료점이 할당되어 있다. 그리고, 좌측 눈 용 PG 스트림과 우측 눈 용 PG 스트림에서는 시간 축 상의 동일한 시점에 존재하는 디스플레이 세트의 유형은 동일하게 되어 있다. 즉, 좌측 눈 용 측의 디스플레이 세트가 에포크 스타트의 디스플레이 세트이면 STC 시퀀스의 시간 축에서 동일한 시점의 우측 눈 용 측의 디스플레이 세트는 에포크 스타트의 디스플레이 세트가 된다.
또, 좌측 눈 용 측의 디스플레이 세트가 애퀴지션 포인트의 디스플레이 세트이면 STC 시퀀스의 시간 축에서 동일한 시점의 우측 눈 용 측의 애퀴지션 포인트의 디스플레이 세트도 에포크 스타트의 디스플레이 세트가 된다.
각 디스플레이 세트는 복수의 기능 세그먼트를 포함한다. 이 복수의 기능 세그먼트에는 이하의 것이 있다.
(1) 오브젝트 정의 세그먼트
오브젝트 정의 세그먼트는 그래픽스 오브젝트를 정의하는 기능 세그먼트이다. 그래픽스 정의 세그먼트는 코드값과 그 코드값의 런렝스를 이용함으로써 그래픽스 오브젝트를 정의하고 있다.
(2) 팰릿 정의 세그먼트(Pallet definition segment)
팰릿 정의 세그먼트는 각 코드값과 휘도, 적색 차?청색 차의 대응관계를 나타낸 팰릿 데이터를 포함한다. 좌측 눈 용 그래픽스 스트림의 팰릿 정의 세그먼트와 우측 눈 용 그래픽스 스트림의 팰릿 정의 세그먼트는 코드값과 휘도 및 색 차이의 대응관계가 동일한 내용으로 설정되어 있다.
(3) 윈도 정의 세그먼트
윈도 정의 세그먼트는 비 압축의 그래픽스 오브젝트를 화면상에 전개하기 위한 플레인 메모리에서 윈도로 불리는 직사각형 프레임을 정의하는 기능 세그먼트이다. 그래픽스 오브젝트의 묘사는 이 플레인 메모리의 내부에서 제한되어 있으며, 이 윈도의 외부에서는 그래픽스 오브젝트의 묘사는 실시할 수 없다.
플레인 메모리의 일부를 그래픽스의 표시를 위한 윈도로 지정하므로 재생장치는 플레인 전체의 그래픽스 묘사를 실시할 필요는 없다. 어느 한정된 크기의 윈도에 대해서만 그래픽스 묘사를 실행하면 좋다. 표시용의 평면 중 윈도 이외의 부분의 묘사를 생략할 수 있으므로 재생장치 측의 소프트웨어의 부담은 훨씬 가벼워진다.
(4) 화면구성 세그먼트
화면구성 세그먼트는 그래픽스 오브젝트를 이용한 화면 구성을 규정하는 기능 세그먼트이며, 그래픽스 디코더에서의 콤포지션 컨트롤러에 대한 복수의 제어 항목을 포함한다. 화면구성 세그먼트는 그래픽스 스트림에서의 디스플레이 세트의 상세를 규정하는 동시에 그래픽스 오브젝트를 이용한 화면 구성을 규정하는 기능 세그먼트이다. 이러한 화면 구성에는 Cut-In/Out, Fade-In/Out, Color Change, Scroll, Wipe-In/Out이라고 하는 것이 있으며, 화면구성 세그먼트에 의한 화면 구성을 수반함으로써 어느 자막을 서서히 소거하면서 다음의 자막을 표시시킨다고 하는 표시 효과가 실현 가능하게 된다.
(5) 엔드 세그먼트
1개의 디스플레이 세트에 속하는 복수의 기능 세그먼트의 최후미에 위치하는 기능 세그먼트이다. 재생장치는 화면구성 세그먼트에서 이 엔드 세그먼트까지가 1개의 디스플레이 세트를 구성하는 기능 세그먼트로 해석한다.
PG 스트림에서 디스플레이 세트의 개시시점은 화면구성 세그먼트를 저장한 PES 패킷의 DTS에 의해 특정되며, 디스플레이 세트의 종료시점은 화면구성 세그먼트를 저장한 PES 패킷의 PTS에 의해 특정된다.
좌측 눈 용 그래픽스 스트림 및 우측 눈 용 그래픽스 스트림은 패킷타이즈드 엘리멘터리 스트림(PES)이며, 화면구성 세그먼트는 PES 패킷에 저장되고, 화면구성 세그먼트를 저장한 PES 패킷의 PTS는 화면구성 세그먼트가 속하는 디스플레이 세트에 의한 표시를 언제 실행하는가를 나타낸다.
화면구성 세그먼트를 저장한 PES 패킷의 PTS의 값은 좌측 눈 용 비디오 스트림과 우측 눈 용 비디오 스트림에서 동일한 내용으로 되어 있다.
?PG 디코더의 디코더 모델
PG 디코더는 PG 스트림으로부터 판독되는 기능 세그먼트를 저장하는 「코디드 데이터 버퍼」와, 화면구성 세그먼트를 디코드하여 그래픽스 오브젝트를 얻는 「스트림 그래픽스 프로세서」와, 디코드에 의해 얻어진 그래픽스 오브젝트를 저장하는 「오브젝트 버퍼」와, 화면구성 세그먼트를 저장하는 「콤포지션 버퍼」와, 콤포지션 버퍼에 저장된 화면구성 세그먼트를 해독하고, 이들 화면구성 세그먼트에서의 제어 항목에 의거하여 오브젝트 버퍼에 얻어진 그래픽스 오브젝트를 이용하여 그래픽스 플레인 상에서 화면 구성을 실행하는 「콤포지션 컨트롤러」를 포함한다.
이 그래픽스 플레인의 전단에는 기능 세그먼트를 구성하는 TS 패킷의 입력 속도를 조정하기 위한 트랜스포트 버퍼가 존재한다.
그래픽스 디코더의 후단에는 그래픽스 플레인과 팰릿 정의 세그먼트에 의거하여 그래픽스 플레인에 저장된 그래픽스 오브젝트를 구성하는 화소 코드를 휘도?색 차이로 변환하는 CLUT부와 플레인 시프트를 위한 시프트부가 존재한다.
PG 스트림에서의 파이프라인은 그래픽스 디코더에 있는 디스플레이 세트에 속하는 오브젝트 정의 세그먼트를 디코드하여 그래픽스 오브젝트를 오브젝트 버퍼에 기입하는 처리와, 선행하는 디스플레이 세트에 속하는 오브젝트 정의 세그먼트를 디코드함으로써 얻어진 그래픽스 오브젝트를 오브젝트 버퍼로부터 플레인 메모리에 기입하는 처리를 동시에 실행함으로써 이루어진다.
도 13은 PG 디코더의 내부 구성을 나타낸다. 동 도면 (a)는 1plane+Offset 모드 방식으로 표시하기 위한 디코더 모델이다. 동 도면 (b)는 LR 방식의 데이터를 표시하는 경우의 디코더 모델이다.
본 도면에서 PG 디코더의 본체에 해당하는 부분은 검은 프레임으로 둘러싸고, PG 디코더 후단에 해당하는 부분은 일점 쇄선으로 둘러싸고 있다.
동 도면 (a)에서는 PG 디코더는 1 디코더 구성으로 되어 있고, 그래픽스 플레인도 1 플레인 구성으로 되어 있다. 그러나 그래픽스 플레인의 출력이 좌측 눈 용, 우측 눈 용의 각각으로 나누어져 있고, 개개의 좌측 눈 용 출력, 우측 눈 용 출력에 대하여 시프트부가 부가된다.
동 도면 (b)에서는 트랜스포트 버퍼 - PG 디코더 - 그래픽스 플레인 - CLUT부가 2세트 존재하고 있고, 좌측 눈 용 스트림, 우측 눈 용 스트림을 각각 독립해서 처리할 수 있다.
오프셋 시퀀스는 우측 눈 용 비디오 스트림에 포함되어 있으므로 플레인 오프셋 형식에서는 PG 디코더는 1 디코더 구성이 되고, 이 1개의 PG 디코더의 출력이 좌측 눈 용과 우측 눈 용으로 전환된다.
PG 디코더의 2D/3D 전환시의 동작은 이하와 같다.
1. 1plane+Offset 모드와 2D 모드의 상호 전환시는 심리스로 전환된다. 이는 Offset를 무효화함으로써 이루어진다.
2. 3D-LR 모드와 2D 모드에서는 PID 전환이 수반되므로 일단 자막이 사라진다. 이는 스트림 전환과 동일하다.
이상이 PG 디코더에 대한 설명이다. 이어서, 텍스트 자막 디코더의 상세에 대하여 설명한다.
?텍스트 자막 디코더의 디코더 모델
텍스트 자막 스트림은 복수의 자막 기술 데이터로 구성된다.
텍스트 자막 디코더는 자막 기술 데이터로부터 텍스트 코드와 제어정보를 분리하는 「자막 프로세서」와, 자막 기술 데이터로부터 분리된 텍스트 코드를 저장하는 「관리정보 버퍼」와, 폰트 데이터를 이용하여 관리정보 버퍼 내의 텍스트 코드를 비트 맵에 전개하는 「텍스트 렌더(text render)」와, 전개에 의해 얻어진 비트 맵을 저장하는 「오브젝트 버퍼」와, 자막 기술 데이터로부터 분리된 제어정보를 이용하여 시간 축에 따른 텍스트 자막 재생의 제어를 실행하는 「묘사 제어부」를 포함한다.
텍스트 자막 디코더의 전단에는 폰트 데이터의 프리로드를 실행하는 「폰트프리로드 버퍼」, 텍스트 자막 스트림을 구성하는 TS 패킷의 입력 속도를 조정하는 「TS버퍼」, 플레이아이템의 재생에 앞서 텍스트 자막 스트림을 프리로드 해 두기 위한 「자막 프리로드 버퍼」가 존재한다.
그래픽스 디코더의 후단에는 「그래픽스 플레인」과, 팰릿 정의 세그먼트에 의거하여 그래픽스 플레인에 저장된 그래픽스 오브젝트를 구성하는 화소 코드를 휘도?색 차이로 변환하는 「CLUT부」와, 플레인 시프트를 위한 시프트부가 존재한다.
도 14는 텍스트 자막 디코더의 내부 구성을 나타낸다. 동 도면 (a)는 1plane+Offset 모드에서의 텍스트 자막 디코더의 디코더 모델을 나타내고, 동 도면 (b)는 3D-LR 방식에서의 텍스트 자막 디코더의 디코더 모델을 나타낸다. 본 도면에서 텍스트 자막 디코더 본체에 해당하는 부분은 검은 프레임으로 둘러싸고, 텍스트 자막 디코더의 후단에 해당하는 부분은 일점 쇄선으로 둘러싸고 있다. 텍스트 자막 디코더의 전단에 해당하는 부분은 점선 프레임으로 둘러싸고 있다.
동 도면 (a)에서는 그래픽스 플레인의 출력이 좌측 눈 용, 우측 눈 용의 각각으로 나누어져 있고, 개개의 좌측 눈 용 출력, 우측 눈 용 출력에 대하여 시프트부가 부가된다.
동 도면 (b)에서는 좌측 눈 용의 그래픽스 플레인과 우측 눈 용의 그래픽스 플레인이 존재하고 있고, 텍스트 자막 디코더에 의해 전개된 비트 맵을 이들 각각의 그래픽스 플레인에 기입한다.
텍스트 자막 스트림은 PG 스트림과 달리 그래픽스 데이터를 비트 맵으로 보내는 것이 아니라, 폰트 데이터와 문자 코드를 보냄으로써 렌더링 엔진으로 자막을 생성하므로 자막의 입체 시는 1plane+Offset 모드에 의해 실현된다.
이상이 텍스트 자막 스트림 및 텍스트 자막 디코더에 대한 설명이다. 이어서, IG 스트림의 내부 구성과 IG 디코더의 구성에 대하여 설명한다.
?IG 스트림
좌측 눈 용 IG 스트림, 우측 눈 용 IG 스트림은 모두 복수의 디스플레이 세트를 포함하고, 각 디스플레이 세트는 복수의 기능 세그먼트를 포함한다. 디스플레이 세트에는 PG 스트림과 마찬가지로 에포크 스타트의 디스플레이 세트, 노멀 케이스의 디스플레이 세트, 애퀴지션 포인트의 디스플레이 세트, 에포크 컨티뉴의 디스플레이 세트가 존재한다.
이들 디스플레이 세트에 속하는 복수의 기능 세그먼트에는 이하의 종류가 있다.
(1) 오브젝트 정의 세그먼트
이 오브젝트 정의 세그먼트는 PG 스트림의 것과 동일하다. 단 IG 스트림의 그래픽스 오브젝트는 페이지의 인 이펙트(in-effect), 아웃 이펙트(out-effect), 버튼 부재의 노멀 상태, 셀렉티드 상태, 액티브 상태를 정의하는 것이다. 오브젝트 정의 세그먼트는 버튼 부재의 동일한 상태를 정의하는 것끼리, 동일한 효과 영상을 구성하는 것끼리 그룹화되어 있다. 동일한 상태를 정의하는 오브젝트 정의 세그먼트를 모은 그룹을 그래픽스 데이터 집합이라고 한다.
(2) 팰릿 정의 세그먼트
팰릿 정의 세그먼트는 PG 스트림의 것과 동일하다.
(3) 대화 제어 세그먼트
대화 제어 세그먼트는 복수의 페이지 정보를 포함하고, 복수의 페이지 정보는 멀티 페이지 메뉴의 화면 구성을 규정하는 정보이며, 각 페이지 정보는 이펙트 시퀀스와 복수의 버튼 정보와 팰릿 식별자의 참조치를 포함한다.
버튼 정보는 그래픽스 오브젝트를 버튼 부재의 1 상태로 표시시킴으로써 멀티 페이지 메뉴를 구성하는 각 페이지 상에서 대화적인 화면 구성을 실현하는 정보이다.
이펙트 시퀀스는 그래픽스 오브젝트를 이용하여 페이지 정보에 대응하는 페이지의 표시에 앞서서 재생되는 인 이펙트, 또는 당해 페이지의 표시 후에 재생되는 아웃 이펙트를 구성하는 것이며, 이펙트 정보를 포함한다.
이펙트 정보는 인 이펙트 또는 아웃 이펙트를 재생할 때의 개개의 화면 구성을 규정하는 정보이며, 그래픽스 플레인 상의 윈도 정의 세그먼트에서 정의된 윈도(부분영역)에서 어떤 화면 구성을 실행해야하는가를 규정하는 화면 구성 오브젝트와, 동 영역에서의 다음의 화면 구성과의 시간 간격을 나타내는 이펙트 기간 정보를 포함한다.
이펙트 시퀀스에서의 화면 구성 오브젝트는 PG 스트림의 화면구성 세그먼트와 동일한 제어 내용을 규정한다. 오브젝트 정의 세그먼트 중 상기 인 이펙트에 이용되는 그래픽스 오브젝트를 정의하는 것은 그래픽스 데이터 열에서 버튼 부재에 이용되는 그래픽스 오브젝트를 정의하는 오브젝트 정의 세그먼트보다 앞에 배치되어 있다.
페이지 정보에서의 각 버튼 정보는 그래픽스 오브젝트를 버튼 부재의 1 상태로서 표시시킴으로써 멀티 페이지 메뉴를 구성하는 각 페이지 상에서 대화적인 화면 구성을 실현하는 정보이다. 상기 버튼 정보는 세트 버튼 페이지 커멘드를 포함하고, 세트 버튼 페이지 커멘드는 대응하는 버튼 부재가 액티브 상태가 된 때, 퍼스트 페이지 이외의 다른 페이지를 현재 페이지로 설정하는 처리를 재생장치에 실행하게 하는 커멘드이다.
IG 스트림의 재생시에 플레인 시프트에서의 오프셋을 페이지마다 변경시키고 싶은 경우에는 버튼 정보에 오프셋을 변경하는 내비게이션 커멘드를 내장해 두고, 해당하는 버튼 정보에서 내비게이션 커멘드의 오토 액티베이트(auto-activate)를 규정해 둔다. 이에 의해, IG 스트림의 스트림 등록정보에 규정되어 있는 오프셋의 값이나 방향을 자동으로 변경할 수 있도록 한다.
(4) 엔드 세그먼트
1개의 디스플레이 세트에 속하는 복수의 기능 세그먼트의 최후미에 위치하는 기능 세그먼트이다. 대화 제어 세그먼트에서 이 엔드 세그먼트까지가 1개의 디스플레이 세트를 구성하는 기능 세그먼트로 해석된다.
좌측 눈 용 그래픽스 스트림과 우측 눈 용 그래픽스 스트림에서 동일하게 되는 대화 제어 세그먼트의 제어 항목에는 버튼 근접정보, 셀렉션 타임아웃 타임스탬프, 사용자 타임아웃 듀레이션, 콤포지션 타임아웃 정보가 있다.
1. 버튼 근접정보
버튼 근접정보는 어느 버튼이 셀렉티드 상태로 되어 있고, 상하 좌우 방향의 어느 것을 지시하는 키 조작이 있었을 경우 어느 버튼을 셀렉티드 상태로 해야 하는가를 지정하는 정보이다.
2. 셀렉션 타임아웃 타임스탬프
셀렉션 타임아웃 타임스탬프는 현재 페이지에서의 버튼 부재를 자동으로 활성화하여 세트 버튼 페이지 커멘드를 재생장치에 실행시키기 위한 타임아웃 시간을 나타낸다.
3. 사용자 타임아웃 듀레이션
사용자 타임아웃 듀레이션은 현재 페이지를 퍼스트 페이지로 되돌리고, 퍼스트 페이지만이 표시되어 있는 상태로 하기 위한 타임아웃 시간을 나타낸다.
4. 콤포지션 타임아웃 정보
콤포지션 타임아웃 정보는 대화 제어 세그먼트에 의한 대화적인 화면 표시를 종료시키는 시간을 나타낸다. IG 스트림에서 디스플레이 세트의 개시시점은 대화 제어 세그먼트를 저장한 PES 패킷의 DTS에 의해 특정되고, 디스플레이 세트의 종료시점은 대화 제어 세그먼트의 콤포지션 타임아웃시각에 의해 특정된다. 좌측 눈 용, 우측 눈 용에서는 이들 DTS와 콤포지션 타임아웃시각은 동일 시점으로 설정된다.
?IG 디코더의 디코더 모델
IG 디코더는 IG 스트림으로부터 판독되는 기능 세그먼트를 저장하는 「코디드 데이터 버퍼」와, 화면구성 세그먼트를 디코드하여 그래픽스 오브젝트를 얻는 「스트림 그래픽스 프로세서」와, 디코드에 의해 얻어진 그래픽스 오브젝트를 저장하는 「오브젝트 버퍼」와, 화면구성 세그먼트를 저장하는 「콤포지션 버퍼」와, 콤포지션 버퍼에 저장된 화면구성 세그먼트를 해독하고, 이들 화면구성 세그먼트에서의 제어 항목에 의거하여 오브젝트 버퍼에 얻어진 그래픽스 오브젝트를 이용하여 그래픽스 플레인 상에서 화면 구성을 실행하는 「콤포지션 컨트롤러」를 포함한다.
이 그래픽스 플레인의 전단에는 기능 세그먼트를 구성하는 TS 패킷의 입력 속도를 조정하기 위한 「트랜스포트 버퍼」가 존재한다.
그래픽스 디코더의 후단에는 「그래픽스 플레인」과, 팰릿 정의 세그먼트에 의거하여 그래픽스 플레인에 저장된 그래픽스 오브젝트를 구성하는 화소 코드를 휘도?색 차이로 변환하는 「CLUT부」와, 플레인 시프트를 위한 「시프트부」가 존재한다.
도 15는 IG 디코더의 디코더 모델을 나타낸다. 본 도면에서는 IG 디코더 본체에 해당하는 부분은 검은 프레임으로 둘러싸고, 그래픽스 디코더 후단에 해당하는 부분은 일점 쇄선으로 둘러싸고 있다. IG 디코더의 전단에 해당하는 부분은 점선 프레임으로 둘러싸고 있다.
도 15 (a)는 2D 형식의 IG 스트림을 1plane+Offset 모드 방식에 의해 LR 형식으로 표시하기 위한 디코더 모델이다. 동 도면 (b)는 IG 스트림의 디코더 모델이지만 LR 방식의 데이터를 표시하는 경우의 디코더 모델이다.
이들 디코더에서는 메뉴 그래픽스의 심도 정보를 프로그램에서 제어하기 위해 시스템 파라미터의 값을 오프셋에 반영하기 위한 회로를 포함하고 있다.
동 도면 (b)는 2 디코더 모델이며, 커멘드에 의해 offset치의 변경이 가능해진다. 따라서 메뉴의 심도 정보를 커멘드로 바꿀 수 있다. Offset치는 좌우 다른 값도 부여된다. 한편, Depth 방식의 경우 Offset는 무효가 된다.
그래픽스 디코더에서의 콤포지션 컨트롤러는 대화화면에 존재하는 버튼 부재 중 현재 버튼이 되는 것을 셀렉티드 상태에 대응하는 그래픽스 데이터 집합의 그래픽스 데이터를 이용하여 표시하고, 그 이외의 버튼 부재를 노멀 상태에 대응하는 그래픽스 데이터 집합을 이용하여 표시함으로써 대화화면의 초기 표시를 실현한다.
상하좌우의 4방향의 어느 것을 지정하는 취지의 사용자조작이 있었을 경우 현재 버튼의 주변에 위치하는 노멀 상태의 버튼 부재 중 사용자조작에 의해 지정된 방향에 존재하는 것의 번호를 버튼 번호 레지스터에 기입하고, 당해 기입에 의해 새롭게 현재 버튼이 된 버튼 부재를 노멀 상태에서 셀렉티드 상태로 변화시킨다.
대화화면에서 셀렉티드 상태로 되어 있는 버튼 부재를 액티브 상태로 변화시키는 취지의 사용자조작이 있었을 경우 당해 액티브 상태를 구성하는 그래픽스 데이터를 그래픽스 데이터 집합으로부터 인출하여 표시에 제공함으로써 대화화면의 갱신을 실현한다.
이러한 대화화면의 갱신은 좌측 눈 용, 우측 눈 용에서 공통으로 실행할 필요가 있으므로 2 디코더 모델에서 콤포지션 컨트롤러를 좌측 눈 용의 그래픽스 디코더와 우측 눈 용의 그래픽스 디코더에서 공통화하는 것이 바람직하다.
이 경우 입체 시 IG 스트림에서의 좌측 눈 용?우측 눈 용의 내비게이션 커멘드는 동일화하고, 3D용과 2D용의 그래픽스 오브젝트의 버튼 구성을 동일하게 함으로써 상호 전환을 실현한다.
2D IG 스트림과 입체 시 IG 스트림에서는 내비게이션 커멘드 및 버튼 정보의 속성?수 등이 동일하면 그래픽스 오브젝트의 표시만의 전환이 가능해진다. 3D-LR 모드에서 L화상만으로의 전환에서는 재 로드 없이 전환이 가능하나, 표시위치가 치우칠 가능성이 있다. 어느 쪽을 채용하는가의 타이틀 제작자의 의도를 플래그에 표시해두고, 이 플래그에 의거하여 재생장치가 전환을 실행하는 것이 바람직하다.
이하에 모드 전환시의 유의사항을 정리했다.
?1plane+Offset 모드와 2D 모드의 전환에서는 재 로드는 발생하지 않는다. 이는 IG 스트림의 로드는 필요하지 않고, Offset의 무효화만이 되기 때문이다.
?3D-LR 모드와 2D 모드의 전환에서 스트림이 다르므로 재 로드가 발생한다.
이상이 IG 스트림 및 IG 디코더에 대한 설명이다. 이어서, 플레인 메모리의 상세에 대하여 설명한다.
1plane+Offset 모드 방식에서의 플레인 메모리 구성에 대하여 설명한다.
플레인 메모리의 레이어 합성은 플레인 메모리의 레이어 모델에서 계층 간의 플레인 메모리에 저장되어 있는 화소 데이터의 화소 값을 중첩시킨다고 하는 처리를 레이어 모델에서의 계층 간의 모든 조합에 대해서 실행함으로써 이루어진다. 합성부(208)에 의한 레이어 합성은 플레인 메모리의 레이어 모델에서 2개의 계층의 플레인 메모리에 저장되어 있는 화소 데이터의 화소 값을 중첩시킨다고 하는 처리를 레이어 모델에서의 2개의 계층의 모든 조합에 대하여 실행함으로써 이루어진다.
계층 간의 중첩은 어느 계층에 위치하는 플레인 메모리의 라인 단위의 화소 값에 투과율 α을 가중으로 곱하는 동시에, 그 하위 계층에 위치하는 플레인 메모리의 라인 단위의 화소 값에 (1-투과율 α)라고 하는 가중을 곱하고, 이들 휘도의 가중이 부여된 화소 값 끼리 가산하며, 가산 결과를 그 계층에서의 라인 단위의 화소의 화소 값으로 하는 처리이다. 이 계층 간의 중첩을 레이어 모델의 인접하는 2 계층에 위치하는 라인 단위의 화소끼리에서 반복해서 실행함으로써 상기 레이어 합성은 실현된다.
플레인 메모리의 후단은 상술한 것과 같은 CLUT부, 시프트부 외에 레이어 합성을 실현하기 위하여 개개의 화소 값에 등가율을 곱셈하기 위한 곱셈부, 화소끼리의 가산을 실행하기 위한 가산부를 포함한다.
도 16은 디코더 모델의 출력을 합성하여 3D-LR 방식으로 출력하기 위한 회로 구성을 나타낸다. 비디오 플레인, PG 플레인, IG 플레인의 레이어 모델은 검은 프레임으로 둘러싸고, 플레인 메모리의 후단에 해당하는 부분은 일점 쇄선으로 둘러싸고 있다. 본 도면으로부터도 명백한 것과 같이, 상술한 것과 같은 레이어 모델은 2세트 존재하고 있음을 알 수 있다. 또, 플레인 메모리의 후단에 해당하는 부위도 2세트 존재하고 있음을 알 수 있다.
레이어 모델, 플레인 메모리의 후단이 2세트 존재함으로써 3D-LR 방식에서의 플레인 메모리 구성은 비디오 플레인, PG 플레인, IG 플레인의 각각이 좌측 눈 용과 우측 눈 용으로 나누어져 있고, 이러한 플레인 메모리의 출력을 레이어 합성을 좌측 눈 용, 우측 눈 용의 각각에 대하여 실행하도록 되어 있다.
도 17은 이들 디코더 모델의 출력을 합성하여, 1plane+Offset 모드 방식으로 출력하기 위한 회로구성을 나타내고 있다.
좌측 눈 비디오 플레인, 우측 눈 비디오 플레인, PG 플레인, IG 플레인의 레이어 모델은 검은 프레임으로 둘러싸고, 플레인 메모리의 후단에 해당하는 부분은 일점 쇄선으로 둘러싸고 있다. 본 도면으로부터도 명백한 것과 같이, 상술한 것과 같은 레이어 모델은 1세트만이 존재하고 있음을 알 수 있다. 또, 플레인 메모리의 후단에 해당하는 부위는 2세트 존재하고 있다.
1plane+Offset 모드 방식에서는 비디오 플레인은 좌측 눈 용의 것과 우측 눈 용의 것이 준비되어 있다. PG 플레인, IG 플레인에 대해서는 좌측 눈 용, 우측 눈 용의 각각으로 나누어져 있지 않고, 좌측 눈 용, 우측 눈 용에서 공통의 1매의 플레인 메모리만이 존재한다. 그리고, 이들 좌측 눈 용 출력, 우측 눈 용 출력의 각각에 대하여 상술한 것과 같은 레이어 합성이 이루어지게 되어 있다.
재생장치는 B-D프레젠테이션 모드, 1plane+Offset 모드의 쌍방을 지원할 필요가 있으므로 재생장치의 하드웨어 구성으로는 기본적으로 2디코더+2플레인의 구성이 되어 있고, 1plane+Offset 모드, 2D 출력 모드에 재생장치가 전환된 때 1디코더+1플레인의 세트 중 일방을 무효화하여 1디코더+1플레인 구성이 된다.
이상의 디코더 모델을 1 디코더 구성으로 하는가, 2 디코더 구성으로 하는가, 플레인 모델을 1 플레인 구성으로 하는가, 2 플레인 구성으로 하는가는 재생장치를 제조하는 매뉴팩처가 자유롭게 정할 수 있다. 물론 설계상은 2 디코더 구성, 2 플레인 구성으로 해 두고, 고급 기종으로 판매하는 경우에는 입체 시 PG의 재생능력이 있고, 입체 시 IG의 재생능력이 있음으로 설정하고, 염가 기종으로 판매하는 경우에는 입체 시 PG의 재생능력이 없고, 입체 시 IG의 재생능력이 없음으로 설정함으로써 라인업의 충실을 도모할 수 있다. 이와 같은 입체 시 PG의 재생능력 유무의 컨피규레이션, 입체 시 IG의 재생능력 유무의 컨피규레이션은 레지스터세트에 존재한다.
이하, 레지스터세트에 대하여 설명한다.
레지스터세트는 복수의 플레이어 상태 레지스터, 복수의 플레이어설정 레지스터로 구성된다. 개개의 플레이어 상태 레지스터, 플레이어설정 레지스터는 모두 언어 길이가 32 비트의 레지스터이며, 32 비트 길이의 레지스터의 각각에는 레지스터 번호가 부여되고, 이 레지스터 번호를 이용하여 액세스해야 할 레지스터가 특정된다.
각 레지스터의 한 언어(32 비트)를 구성하는 각 비트 데이터의 비트 위치는 b0~b31로 불린다. 최상위 비트는 b31, 최하위 비트는 b0라고 한다. 그리고 32비트 중 bx 비트째의 비트 위치에서 by 비트째의 비트 위치까지의 비트 범위는 [bx:by]고 하는 표기로 표현된다.
소정의 레지스터 번호의 플레이어설정 레지스터/플레이어 상태 레지스터에 저장되어 있는 32 비트 길이의 비트 열로, 임의의 비트 범위 [bx:by]의 것의 값은 프로그램이 동작을 실행할 때의 동작 시스템의 환경 변수(시스템 파라미터 또는 플레이어 변수라고 한다)로 취급된다. 재생제어를 실행하는 프로그램은 시스템 프로퍼티(system property)나 애플리케이션 프로그래밍 인터페이스(API)를 통해서 시스템 파라미터를 취득할 수 있다. 또, 특별히 금지되지 않은 한 이들 플레이어 상태 레지스터, 플레이어설정 레지스터의 값을 프로그램은 재기록할 수 있다. 오브젝트 지향 프로그램 언어 베이스의 프로그램에 대해서는 시스템 파라미터의 취득이나 재기록에 대하여 정당한 권한이 부여되고 있는 것이 요건이 된다.
플레이어 상태 레지스터는 재생장치의 MPU가 산술 연산이나 비트 연산을 실시할 때, 그 피 연산자가 되는 수치를 저장해 두기 위한 하드웨어 자원이며, 광디스크가 장전된 때 초기치가 설정되고, 또 현재 플레이아이템의 변경 등 재생장치 상태가 변화했을 때 그 저장 값의 유효성이 판정되는 레지스터이다. 이 저장 값으로는 현재의 타이틀번호, 현재의 플레이리스트 번호, 현재의 플레이아이템번호, 현재의 스트림 번호, 현재의 쳅터 번호 등이 있다. 광디스크의 장전시에 초기치가 저장되므로 이 저장치는 일시적인 것이며, 광디스크가 이젝트 되거나 또 재생장치의 전원이 끊어지면 이 저장치는 유효성을 잃는다.
플레이어설정 레지스터는 전원 대책이 시행되고 있는 점이 플레이어 상태 레지스터와는 다르다. 전원 대책이 시행되고 있으므로 재생장치의 전원 차단시에 그 저장 값이 불휘발성의 메모리에 퇴피(退避)되고, 재생장치의 전원 투입시에 그 저장 값이 복귀된다. 재생장치의 제조주체(매뉴팩처)가 재생장치의 출하시에 정한 재생장치의 각종 컨피규레이션이나 사용자가 셋업 순서에 따라서 설정한 각종 컨피규레이션, 그리고 재생장치가 TV 시스템이나 스테레오, 앰프 등의 홈시어터 시스템의 기기와 접속된 때에 접속상대가 되는 기기와의 네고시에이션에 의해 판명된 상대 측 기기의 캐퍼빌리티가 플레이어설정 레지스터에 설정된다.
도 18은 레지스터세트(203)의 내부 구성과 재생제어부를 나타내는 도면이다.
본 도면의 좌측에는 레지스터세트(203)의 내부 구성을 나타내고 있다. 우측에는 재생제어부의 내부 구성을 나타내고 있다.
각각의 레지스터 번호가 할당된 플레이어 상태 레지스터, 플레이어설정 레지스터는 어떤 것인가를 나타낸다.
PSR0은 IG 스트림을 위한 스트림 번호 레지스터이며, 현재의 IG 스트림 번호를 저장한다.
PSR2는 PG 스트림을 위한 스트림 번호 레지스터이며, 현재의 PG 스트림 번호를 저장한다.
PSR24는 「Player Capability for 3D」의 설정이다. 이것은 재생장치에 입체 시 재생을 실행하는 능력이 존재하는가 여부를 나타낸다.
한편, 재생제어부는 레지스터세트(203)에서의 PSR24와 메모리에서의 현재 플레이리스트정보의 스트림 선택테이블을 참조하여 현재 플레이리스트에서의 현재 PG 스트림 번호, 현재 IG 스트림 번호를 고유하게 정하는 스트림 선택 프로시저가 존재한다. 이 스트림 선택 프로시저는 「Initialization」, 「Procedure when playback condition changed」가 존재한다.
도 19는 PSR24의 비트 할당을 나타낸다. PSR24는 재생장치의 3D 캐퍼빌리티를 나타낸다. 기록매체에서의 프로그램은 PSR24의 값을 변화시킬 수 없다.
b0은 입체 시 1280×720 50p 비디오 표시 캐퍼빌리티를 나타낸다. 입체 시 1280×720 50p 비디오 표시 캐퍼빌리티는 「0」으로 설정된 때 1280×720/50Hz 프로그래시브 비디오를 표시하는 처리능력을 재생장치가 가지고 있지 않은 취지를 나타낸다. 「1」로 설정된 때 1280×720/50Hz 프로그래시브 비디오를 재생하는 재생능력을 재생장치가 가지고 있는 취지를 나타낸다.
b2는 입체 시 PG 캐퍼빌리티를 나타낸다. 입체 시 PG 캐퍼빌리티는 「0」으로 설정됨으로써 입체 시 PG를 재생하는 능력을 재생장치가 가지고 있지 않은 취지를 나타낸다. 「1」로 설정됨으로써 입체 시 PG를 재생하는 능력을 재생장치가 가지고 있는 취지를 나타낸다.
b3은 입체 시 IG 캐퍼빌리티를 나타낸다. 입체 시 IG 캐퍼빌리티는 「0」으로 설정됨으로써 재생장치가 입체 시 IG를 재생하는 능력을 가지고 있지 않다는 취지를 나타낸다. 「1」로 설정됨으로써 재생장치가 입체 시 IG를 재생하는 능력을 가지고 있는 취지를 나타낸다.
b5는 3D 출력 모드에서의 BD-J 모드의 캐퍼빌리티를 나타낸다. 이 b5가 「1」로 설정되었을 경우 3D 출력 모드에서 재생장치는 BD-J 모드를 처리할 수 있는 취지를 나타낸다. b5가 「0」으로 설정되었을 경우 3D 출력 모드에서 재생장치는 BD-J 모드를 처리할 수 없는 취지를 나타낸다. PSR24의 b5의 용법에 대해서는 본 실시형태의 주목적에서 벗어나므로 후단의 실시형태에서 설명한다.
이 PSR24에서는 IG, PG의 각각에 대하여 입체 시 재생의 여부를 설정할 수 있으므로 IG 디코더, PG 디코더 각각을 2 디코더로 구성하고, IG, PG 각각을 입체 시 대응하는 컨피규레이션이 가능하게 되며, 또 IG, PG를 2 디코더 구성으로 하면서 IG만을 입체 시 대응, PG는 1plane+Offset 대응으로 제한한다고 하는 컨피규레이션도 가능해진다. 반대로 PG만을 입체 시 대응, IG는 1plane+Offset 대응으로 제한한다고 하는 컨피규레이션이 가능해진다.
또, 재생장치를 저가격 기종으로 판매하기 위하여 IG 디코더, PG 디코더의 각각을 2 디코더로 구성해 두면서도 IG, PG의 각각을 1plane+Offset 대응으로 제한한다고 하는 컨피규레이션도 가능해진다. 2 디코더 모델이라고 하는 공통 구성으로 구성해 두고, 기종의 등급에 따라서 IG의 입체 시의 여부, PG의 입체 시의 여부를 변경할 수 있으므로 매뉴팩처가 재생장치를 제품화할 때의 라인업의 충실을 도모할 수 있게 된다.
또, PG, IG의 쌍방, 어느 일방을 1 디코더로 구성한 경우 입체 시 재생의 여부가 명시되어 있음으로써 비록 재생해야 할 플레이리스트가 입체 시 대응의 것이라도 재생타입이 잘못해서 입체 시 PG, 입체 시 IG로 설정되는 것을 방지할 수 있다.
이상의 재생제어는 도 20에서 도 25까지의 플로차트에 나타낸 처리순서를 오브젝트 지향형 컴파일러언어로 기술하여 컴퓨터에 실행시킴으로써 실현될 수 있다.
도 20은 플레이리스트 재생순서를 나타낸다. 본 플로차트는 스텝 S1에서 현재 플레이아이템번호를 1로 설정한 후, 스텝 S2~스텝 S6의 처리를 반복하는 루프를 구성한다. 이 루프에서는 Procedure when playback condition is changed에 의해 스트림 번호를 결정하고(스텝 S2), 스트림 번호에 대응하는 ES를 저장한 스트림 파일을 오픈하여 소스 패킷 열을 판독하며(스텝 S3), 판독된 소스 패킷 열 중 스트림 번호에 대응하고 있는 것의 다중 분리를 지시하고(스텝 S4), 판독된 소스 패킷을 플레이아이템의 인 타임에서 아웃 타임까지, 서브 플레이아이템의 인 타임에서 아웃 타임까지 재생하도록 디코더에 명한다(스텝 S5)고 하는 처리를 현재 플레이아이템번호가 최종 번호가 될 때까지 반복하는 것이다. 여기서 최종 번호가 아니면(스텝 S6에서 No) 현재 플레이아이템번호가 증가되어서 스텝 S2로 이행한다.
이때, 스텝 S7에서 스트림 선택 요구가 있었는지 여부를 판정하고, 만약 요구가 있으면 요구된 스트림 번호를 x로 하고, Procedure when stream change is requested를 실행한다(스텝 S8). 최종 번호이면 처리를 종료한다(스텝 S6에서 Yes).
<현재 PG 스트림의 결정 및 현재 PG 스트림의 재생타입 결정>
PSR2의 PG_텍스트 자막 스트림 번호에 의해 참조되는 PG_텍스트 자막 스트림은 출력 모드(PSR22), PSR24에서의 입체 시 PG 캐퍼빌리티와 is_SS_PG를 이용하여 선택된다.
도 21은 PGtestST 스트림에 대한 Procedure when playback condition is changed에 대한 처리순서를 나타내는 플로차트이다. 본 플로차트 중 스텝 S11~스텝 S22의 처리는 3D 출력 모드 및 2D 출력 모드의 공통 처리가 된다. 스텝 S23~스텝 S26이 3D 출력 모드 특유의 처리가 된다.
스텝 S11에서 PSR2로부터 현재 PG_텍스트 자막 스트림 번호를 취득하고, 스텝 S12에서 현재 PG_텍스트 자막 스트림 번호는 PG 스트림에 대한 것인가 텍스트 자막 스트림에 대한 것인가를 판정한다. 스텝 S13은 현재 PG_텍스트 자막 스트림 번호에 대응하는 PG 스트림이 조건 (A), 조건 (B)를 만족하는가 여부를 체크한다.
여기서 조건 (A), 조건 (b)는 이하와 같이 규정된다.
조건 (A) : 현재 PG_텍스트 자막 스트림 번호로부터 특정되는 PG 스트림을 디코드하는 능력이 재생장치에 존재한다.
조건 (B) : 특정된 언어를 재생하는 능력이 재생장치에 존재한다.
한편, 스텝 S14에서는 현재 PG_텍스트 자막 스트림 번호에 대응하는 텍스트 자막 스트림이 조건 (A), 조건 (B)를 만족하는가 여부를 체크하는 것이다.
조건 (A) : 현재 PG_텍스트 자막 스트림 번호의 텍스트 자막 스트림의 캐릭터 코드를 비트 맵에 전개하는 능력이 재생장치에 존재할 것. 이러한 재생능력은 레지스터세트(23)에서의 PSR30에 나타나 있다.
조건 (B) : 현재 PG_텍스트 자막 스트림 번호의 텍스트 자막 스트림의 언어특성을 지원하는 능력이 재생장치에 존재할 것.
여기서, 어느 언어의 자막이 텍스트 자막 스트림으로 표현되고 있는 경우 그 언어의 텍스트 자막 스트림을 「디코드할 수 있다」라고 할 수 있으려면 그 언어에서의 문자 코드를 비트 맵에 전개하는 능력과 그 언어의 특성을 지원하는 지원능력이 재생장치 측에 존재할 필요가 있다.
영어, 일본어, 아라비아어를 예로 들어 보면, 영어의 자막 표시는 「가로쓰기」, 「커닝(kerning)」, 「합자?로고타이프(double letter/logotype)」이라는 기능이 지원되어서 비로소 언어특성이 지원되고 있다고 판단할 수 있다.
일본어의 자막 표시는 「가로쓰기」, 「세로쓰기」, 「행말금칙(prohibit line breaks after certain characters)」, 「루비(characters in smaller size)」라고 하는 기능이 지원되어서 비로소 언어특성이 지원되고 있다고 판단할 수 있다.
아라비아어의 자막 표시는 「오른쪽에서부터 왼쪽의 묘사」, 「합자?로고타이프」라고 하는 기능이 지원되어서 비로소 언어특성이 지원되고 있다고 판단할 수 있다.
어느 언어의 텍스트 자막 스트림을 비트 맵에 전개할 수 있고, 그 언어의 특성을 지원할 수 있는 경우 상기 조건 (A), 조건 (b)는 만족되고 있다고 할 수 있다. 그 언어의 텍스트 자막 스트림을 비트 맵으로 전개할 수 있지만, 그 언어의 특성을 지원할 수 없는 경우 상기 조건 (b)는 만족되지 않고, 조건 (A)만이 만족되고 있다고 할 수 있다.
언어별 지원능력은 레지스터세트에서의 PSR48~61의 각 비트에 있어서 언어별로 설정되어 있다. 구체적으로는 PSR48~61에는 IS0639-2/T에서 규정된 3 바이트의 언어 코드의 각각에 대응하는 플래그가 존재하고 있고, 이들 플래그에 각 언어 코드에 대응하는 텍스트 자막의 표시능력의 유무가 설정되어 있다.
IS0639-2/T에서 규정된 3 바이트의 언어 코드에서「ita」라고 하는 3 바이트의 코드는 이탈리아어를 나타내고, 「jpn」이라고 하는 3 바이트의 코드는 일본어를 나타낸다. 「jav」라고 하는 3 바이트의 코드는 자바어를 나타낸다. IS0639-2/T에서 규정된 언어 코드는 이와 같은 3 바이트의 코드에 의해 430 언어를 망라하므로, 현재 PG_텍스트 자막 스트림의 결정에서 스트림 번호 테이블에 기재된 텍스트 자막 스트림을 디코드할 수 있는가 여부의 판정시에 이 PSR48~61에서의 플래그를 참조한다. 이렇게 함으로써 소수파의 언어라도 디코드할 수 있는가 여부를 적격으로 판단할 수 있게 된다.
이상의 판정을 거친 후 스텝 S15를 실행한다. 스텝 S15는 재생장치는 조건 (Z)를 만족하는가 여부를 판정하는 것이다.
여기서 조건 (Z)란 언어특성의 지원이 없는 비 지원언어의 자막을 재생하는 것을 사용자가 의도하고 있는 것이며, 이러한 의도는 레지스터세트에서의 PSR30에 나타나 있다.
그 후 스텝 S16의 판정 스텝을 실행한다. 이것은, 현재 플레이아이템의 스트림 선택테이블에서의 PG_텍스트 자막 스트림의 개수가=0인가 여부를 판정하는 것이다. 스트림 선택테이블에 재생이 허가되어 있는 PG_텍스트 자막 스트림이 존재하지 않는 경우 PSR2에서의 PG_텍스트 자막 스트림의 번호를 유지한다(스텝 S17).
현재 스트림 선택테이블에서 재생이 허가되어 있는 PG_텍스트 자막 스트림이 적어도 1개 존재하는 경우 스텝 S18을 실행한다. 이는, 현재 PG_텍스트 자막 스트림 번호의 유효성을 묻는 스텝이며, 현재 PG_텍스트 자막 스트림 번호가 스트림 선택테이블에서의 stream_entry의 총수 이하이고, 또한 조건 (A), 조건 (B)를 만족하는가 여부를 판정한다.
만약 스텝 S18에서 만족하지 않는다고 판정되었으면 스텝 S20의 판정을 실행한다. 이는, 현재 PG_텍스트 자막 스트림 번호가 스트림 선택테이블에서의 stream_entry의 총수 이하이고, 또한 조건 (A) (Z)를 만족하는가 여부를 판정하는 것이다. 만약 만족하면 PSR2에는 비 지원언어의 텍스트 자막의 PG_텍스트 자막 스트림 번호가 설정되어 있으나, 사용자는 비 지원언어의 재생을 의도하고 있으므로 PSR2를 변화시키지 않는다(스텝 S21). 스텝 S20에서 만족하지 않는다고 판정되었으면 현재 플레이아이템에 대하여 최적의 스트림을 선택한다(스텝 S22).
이후의 스텝 S23~스텝 S25는 3D 출력 모드 특유의 처리이다. 구체적으로는 3D 출력 모드에서는 PSR2의 PG 스트림 번호에 의해 특정되는 PG 스트림의 is_SS_PG를 확장 스트림 선택테이블에서의 스트림 등록정보로부터 취득하고(스텝 S23), 취득한 is_SS_PG 플래그가 「1」이고, 또한 PSR24에서의 b2의 입체 시 PG 캐퍼빌리티가 「1」인가 여부를 판정한다(스텝 S24). 스텝 S24가 Yes이면 재생타입을 좌측 눈 PG 스트림 및 우측 눈 PG 스트림을 이용하는 입체 시 PG로 한다(스텝 S25).
재생타입을 입체 시 PG로 한 경우 확장 스트림 선택테이블에서의 복수의 스트림 등록정보 중 PSR2에 저장된 현재 스트림의 스트림 번호에 대응하는 것의 우측 눈 스트림 엔트리 및 좌측 눈 스트림 엔트리 내의 패킷 식별자 레퍼런스를 이용하여 입체 시 재생을 실행한다. 구체적으로는 PSR2에 저장된 현재 스트림의 스트림 번호에 대응하는 것의 우측 눈 스트림 엔트리 및 좌측 눈 스트림 엔트리 내의 패킷 식별자 레퍼런스로 지시되고 있는 패킷 식별자의 TS 패킷의 다중 분리를 다중 분리부에 실행하게 한다.
스텝 S24가 No이면 재생타입을 1plane+OffsetPG로 한다(스텝 S26). 재생타입을 1plane+OffsetPG로 한 경우 확장 스트림 선택테이블에서의 복수의 스트림 등록정보 중 PSR2에 저장된 현재 스트림의 스트림 번호에 대응하는 것의 PG_텍스트 자막 오프셋 시퀀스 ID 레퍼런스 정보에 의해 지시되고 있는 오프셋 시퀀스를 이용하여 1plane+Offset 모드에서의 PG 재생을 실행한다.
여기서 오프셋 시퀀스에 대하여 설명한다. 1plane+Offset 모드에 이용되는 오프셋 시퀀스는 디펜던트 뷰 비디오 스트림의 비디오 액세스유닛 내에 복수 존재한다.
디펜던트 뷰 비디오 스트림의 비디오 액세스유닛은 비디오 액세스유닛 딜리미터, 시퀀스 파라미터 세트, 픽처 파라미터 세트, MVC 스케일러블 네스팅 SEI 메시지, 퍼스트 뷰 컴포넌트, 시퀀스 종단코드, 스트림 종단코드를 배열함으로써 구성된다. 그리고 이 MVC 스케일러블 네스팅 SEI 메시지 중에 사용자데이터 컨테이너가 존재한다. 사용자데이터 컨테이너는 언레지스터드 사용자데이터(미등록 사용자데이터)이며, 클로즈드 캡션 정보(closed caption information), GOP 구조 맵, 오프셋 메타데이터라고 하는 3개의 종류가 있다. 이들 종류 중 어느 것인가는 컨테이너 중의 type_indicator에 명시된다.
오프셋 메타데이터는 PG 플레인, IG 플레인, BD-J 플레인을 위한 시퀀스 리스트이며, 입체 시 재생 모드에서 프레젠테이션 그래픽스_텍스트 자막, IG/BD-J 플레인이 1plane+Offset 모드로 재생되고 있는 동안에서의 오프셋 설정에 이용된다. 구체적으로는 픽처 데이터와 합성해야 할 그래픽스를 1plane+Offset 모드로 재생하는 경우에서의 PG 플레인, IG 플레인, BD-J 플레인에 대한 오프셋 제어를 나타낸다.
오프셋 메타데이터는 디펜던트 뷰 액세스유닛의 부호화순서에서의 각 GOP의 선두의 비디오 컴퍼넌트의 MVC 스케일러블 네스팅 SEI 메시지에 저장되어야 한다. 오프셋 메타데이터의 내부에 상술한 복수의 오프셋 시퀀스가 존재한다. 오프셋 시퀀스는 그룹 오브 픽처에 속하는 각 픽처 데이터와 그래픽스를 합성하는 경우에서의 제어 파라미터를 그룹 오브 픽처에서의 프레임기간마다 나타내는 파라미터 시퀀스이며, number_of_displayed_frames_in_GOP에 나타내는 개수의 제어 파라미터로 구성된다. 이 제어 파라미터는 플레인 오프셋방향정보와 플레인 오프셋 값으로 구성된다.
플레인 오프셋방향정보(Plane_offset_direction)는 플레인에서의 오프셋방향을 지시한다. 값 「0」으로 프런트 설정, 즉, 플레인 메모리는 TV와 시청자의 사이에 존재하고, 레프트 뷰 기간에서 플레인은 우측 방향으로, 라이트 뷰 기간에서 플레인은 좌측 방향으로 시프트된다. 값=1로 비하인드 설정, 즉, 플레인 메모리는 TV 또는 스크린의 배후에 존재하고, 레프트 뷰 기간에서 플레인은 좌측 방향으로, 라이트 뷰 기간에서 플레인은 우측 방향으로 시프트된다. 플레인 오프셋방향정보가 프런트 설정을 나타내는 경우 3차원 좌표계에서의 제어 파라미터의 Z축 좌표는 정(正)의 좌표가 된다. 플레인 오프셋방향정보가 비하인드 설정을 나타내는 경우 3차원 좌표계에서의 제어 파라미터의 Z축 좌표는 부(負)의 좌표가 된다.
플레인 오프셋 값(Plane_offset_value)는 그래픽스를 구성하는 화소의 수평방향의 변위량의 지정이며, 플레인의 오프셋 값을 화소 단위로 지시한다.
PG의 재생타입이 1plane+OffsetPG로 설정되면, 디펜던트 뷰 비디오 스트림의 SEI 메시지에 저장되어 있는 복수의 오프셋 시퀀스 중 현재 스트림 번호의 스트림 등록정보 내의 PG_텍스트 자막 오프셋 시퀀스 ID 레퍼런스 정보에 의해 지시되고 있는 오프셋 시퀀스를 비디오 디코더로부터 인출하여 시프트부에 공급한다.
이상이 PG_텍스트 자막 스트림에서의 Procedure when playback condition is changed에 대한 설명이다.
도 22는 현재 플레이아이템에 대하여 최적의 PG_텍스트 자막 스트림을 선택하는 처리순서를 나타내는 플로차트이다.
스텝 S30에서 모든 PG_텍스트 자막 스트림에 대하여 조건 (a)~조건 (c)를 만족하는가 여부를 체크한다.
체크 대상이 되는 PG 스트림을 PG 스트림 i로 한 경우 조건 (a)~조건 (c)는 이하와 같이 규정된다.
조건 (a) : PG 스트림 i를 디코드하는 능력이 재생장치에 존재한다.
조건 (b) : PG 스트림 i의 PG_language_code가 재생장치에서의 언어설정과 일치하고 있다. 여기서, 재생장치에서의 언어설정은 레지스터세트에서의 PSR17에 나타나 있다.
체크 대상이 되는 텍스트 자막 스트림을 텍스트 자막 스트림 i로 한 경우 조건 (a)~조건 (c)는 이하와 같이 규정된다.
조건 (a) : 텍스트 자막 스트림 i의 캐릭터 코드를 비트 맵에 전개하는 능력이 재생장치에 존재할 것.
조건 (b) : 텍스트 자막 스트림 i의 언어속성을 지원하는 능력이 재생장치에 존재할 것.
조건 (c) : 텍스트 자막 스트림 i의 textST_language_code가 재생장치에서의 언어설정과 일치하고 있을 것.
이상의 체크를 거친 후, 스텝 S31에서는 재생장치가 앞의 플로차트에서 설명한 조건 (Z) (: 비 지원언어의 재생)을 만족하는가 여부를 판정한다. 만족하지 않는 경우 스텝 S32에서 조건 (a)~조건 (c)를 만족하는 PG_텍스트 자막 스트림이 존재하는가를 판정한다. 존재한다면 조건 (a)~조건 (c)를 만족하는 PG_텍스트 자막 스트림 중 대응하는 스트림 엔트리가 스트림 선택테이블에서 선두 순위에 위치하는 것을 선택하고, 선택한 PG_텍스트 자막 스트림 번호를 PSR2에 설정한다(스텝 S33).
조건 (a)~조건 (c)를 만족하는 PG_텍스트 자막 스트림이 존재하지 않으면 스텝 S34에서 보다 완화된 조건을 만족하는 PG_텍스트 자막 스트림이 존재하는가 여부를 판정한다. 완화된 조건이란 조건 (a), 조건 (B)를 만족하는 것이며, 이것을 만족하는 PG_텍스트 자막 스트림이 존재하는가가 스텝 S34에서 판정된다. 존재하면 조건 (a), 조건 (B)를 만족하는 PG_텍스트 자막 스트림 중 대응하는 스트림 엔트리가 스트림 선택테이블에서 선두 순위에 위치하는 것을 선택하고, 선택한 PG_텍스트 자막 스트림 번호를 PSR2에 설정한다(스텝 S36).
존재하지 않으면 0xFFF인 PG_텍스트 자막 스트림 번호를 PSR2에 설정한다(스텝 S35). 스텝 S31에서 조건 (Z)를 만족한다고 판정되면 스텝 S37에서 다른 완화된 조건을 만족하는 PG_텍스트 자막 스트림이 존재하는가를 판정한다. 다른 완화된 조건이란 조건 (a), 조건 (c)를 만족하는 것이며, 스텝 S37에서는 이들을 만족하는 PG_텍스트 자막 스트림이 존재하는가 여부가 판정된다.
만약 존재하면 조건 (a), 조건 (c)를 만족하는 PG_텍스트 자막 스트림 중 대응하는 스트림 엔트리가 스트림 선택테이블의 최초에 위치하는 것을 선택하고, 선택한 것의 PG_텍스트 자막 스트림 번호를 PSR2에 설정한다(스텝 S38).
존재하지 않는 경우 스텝 S39에서 조건 (a)를 만족하는 PG_텍스트 자막 스트림이 존재하는가를 판정한다. 존재하는 경우 조건 (a)를 만족하는 PG_텍스트 자막 스트림 중 대응하는 스트림 엔트리가 스트림 선택테이블에서 선두 순위에 위치하는 것을 선택하고, 선택한 것의 PG_텍스트 자막 스트림 번호를 PSR2에 설정한다(스텝 S40). 존재하지 않는 경우 0xFFF를 PSR2에 설정한다(스텝 S35).
이상이 최적의 PG_텍스트 자막 스트림의 선택 순서에 대한 설명이다.
도 23은 세트 입체 시 스트림 커멘드(SetstreamSSCommand)에 의해 스트림 변화가 요구된 경우에 실행해야 할 Procedure when stream change is requested의 처리순서를 나타내는 플로차트이다.
스텝 S41에서는 세트 입체 시 스트림 커멘드에서 오퍼랜드로 지정된 번호 X는 PG 스트림에 대한 스트림 번호를 의미하는가, 텍스트 자막 스트림에 대한 스트림 번호를 의미하는가를 판정한다. 스텝 S42는 번호 X에 대응하는 PG 스트림(PGx)이 이하의 조건 (A), 조건 (B)를 만족하는가 여부를 체크한다.
조건 (A) : 번호 X로부터 특정되는 PG 스트림을 디코드하는 능력이 재생장치에 존재할 것.
조건 (B) : 특정된 PG 스트림의 속성이 되는 언어가 재생장치의 언어속성에 일치할 것.
스텝 S43은 번호 X에 대응하는 텍스트 자막 스트림(textSTx)이 이하의 조건 (A), 조건 (B)를 만족하는가 여부를 체크한다.
조건 (A) : 번호 X에 대응하는 텍스트 자막 스트림 X의 캐릭터 코드를 비트 맵에 전개하는 능력이 재생장치에 존재할 것.
조건 (B) : 번호 X에 대응하는 텍스트 자막 스트림 X의 언어속성을 지원하는 능력이 재생장치에 존재할 것.
스텝 S44에서는 재생장치는 조건 (Z)를 만족하는가 여부를 체크하고, 스텝 S45의 판정을 실행한다. 이 판정은 번호가 스트림 선택테이블에서의 stream_entry의 총수 이하이며, 또한 조건 (A) (B)를 만족하는가 여부를 판정한다. 만약 만족한다면, 번호 X에 해당하는 PG_텍스트 자막 스트림 번호의 PG_텍스트 자막 스트림을 선택하고, PSR2에 설정한다(스텝 S46).
스텝 S45에서 만족하지 않는다고 판정되면 스텝 S47의 판정을 실행한다. 이 판정은 번호가 스트림 선택테이블에서의 stream_entry의 총수 이하이며, 또한 조건 (A) (Z)를 만족하는가 여부를 판정하는 것이다. 만족한다면 번호 X에 해당하는 PG_텍스트 자막 스트림을 선택하고, 그 PG_텍스트 자막 스트림 번호를 PSR2에 설정한다(스텝 S48).
만족하지 않으면 스텝 S49의 판정을 실행한다. 이 판정은 번호 X가 0xFFF인가 여부를 판정하는 것이다. 0xFFF가 아니면 스트림 선택테이블에 재생이 허가되어 있는 PG_텍스트 자막 스트림이 존재하지 않는 것으로 하고, PSR2의 값을 유지한다(스텝 S50).
0xFFF이면 현재 플레이아이템에 대하여 최적의 PG_텍스트 자막 스트림을 선택한다(스텝 S51). 이 최적의 PG_텍스트 자막 스트림의 선택은 도 22에 나타낸 것 것과 동일하다.
이후의 스텝 S52~스텝 S55는 3D 출력 모드 특유의 처리이다. 구체적으로는 PG 스트림 번호 X에 의해 특정되는 PG 스트림 X의 is_SS_PG를 확장 스트림 선택테이블에서의 스트림 등록정보로부터 취득하고(스텝 S52), 취득한 is_SS_PG 플래그가 「1」이고, 또한 PSR24에서의 입체 시 PG 캐퍼빌리티가 「1」인가 여부를 판정한다(스텝 S53). 스텝 S53가 Yes이면 재생타입을 입체 시 PG로 한다(스텝 S54). 스텝 S53가 No이면 재생타입을 1plane+Offset로 한다(스텝 S55).
도 24는 세트 스트림 커멘드, 또는 스트림 번호 변경을 요구하는 사용자조작에 의해 스트림 변화가 요구된 경우에 실행해야 할 Procedure when stream change is requested의 처리순서를 나타내는 플로차트이다. 본 플로차트에서는 스텝 S56에서 세트 스트림 커멘드의 오퍼랜드에서 지정된 스트림 번호, 또는 스트림 번호 변경을 요구하는 사용자조작에서 지정된 스트림 번호를 번호 X에 설정한 후에 스텝 S41~스텝 S55의 처리를 실행한다. 이 스텝 S41~스텝 S55의 처리내용은 도 23과 동일한 것이므로 동일한 참조부호를 부여하고 그 설명을 생략한다.
<현재 IG 스트림의 결정 및 현재 IG 스트림의 재생타입 결정>
PSR0의 IG 스트림 번호에 의해 참조되는 IG 스트림은 PSR22에서의 출력 모드와 PSR24에서의 입체 시 PG 캐퍼빌리티와 is_SS_IG를 이용하여 선택된다.
도 25는 현재 IG 스트림의 결정 및 현재 IG 스트림의 재생타입 결정의 처리순서를 나타내는 플로차트이다.
도 25 (a)는 플레이아이템이 변화하고, 재생장치의 재생상태가 변화한 경우에서의 현재 IG 스트림 결정을 위한 Procedure when playback condition is changed를 나타낸다. 본 플로차트 중 스텝 S61~스텝 S65는 2D 출력 모드 및 3D 출력 모드의 공통의 스텝이며, 스텝 S64~스텝 S67는 3D 출력 모드 특유의 스텝이다.
스텝 S61는 스트림 선택테이블에서의 entry 수가 0인가 여부의 판정이며, 만약 0이면 PSR0의 값을 유지한다(스텝 S64).
스텝 S62는 스트림 선택테이블에서의 entry 수는 0이 아닌 경우에 PSR0보다 스트림 선택테이블의 entry 수가 많은가를 판정하는 것이다. 만약 스텝 S62가 Yes이면 PSR0를 유지한다(스텝 S65). 만약 PSR0의 값이 entry 수보다 큰 경우 PSR0에 1을 설정한다(스텝 S63). 이후의 스텝 S64~스텝 S67는 3D 출력 모드 특유의 스텝이다. 3D 출력 모드에서는 PSR0의 IG 스트림 번호에 의해 특정되는 IG 스트림의 is_SS_IG를 확장 스트림 선택테이블에서의 스트림 등록정보로부터 취득하고(스텝 S64), 취득한 is_SS_IG플래그가 「1」이고, 또한 PSR24에서의 b3에 나타난 입체 시 IG 캐퍼빌리티가 「1」인가 여부를 판정한다(스텝 S65). 스텝 S65가 Yes이면 재생타입을 입체 시 IG로 한다(스텝 S66). 재생타입을 입체 시 IG로 한 경우 확장 스트림 선택테이블에서의 복수의 스트림 등록정보 중 PSR0에 저장된 현재 스트림의 스트림 번호에 대응하는 것의 우측 눈 스트림 엔트리 및 좌측 눈 스트림 엔트리 내의 패킷 식별자 레퍼런스를 이용하여 입체 시 재생을 실행한다. 구체적으로는 PSR0에 저장된 현재 스트림의 스트림 번호에 대응하는 것의 우측 눈 스트림 엔트리 및 좌측 눈 스트림 엔트리 내의 패킷 식별자 레퍼런스에서 지시된 패킷 식별자의 TS 패킷의 다중 분리를 다중 분리부에 실행하게 한다.
스텝 S65가 No이면 재생타입을 1plane+OffsetIG로 한다(스텝 S67). 재생타입을 1plane+OffsetIG로 한 경우 확장 스트림 선택테이블에서의 복수의 스트림 등록정보 중 PSR0에 저장된 현재 스트림의 스트림 번호에 대응하는 것의 입체 시 IG 오프셋 시퀀스 ID 레퍼런스 정보에 의해 지시되고 있는 오프셋 시퀀스를 이용하여 1plane+Offset 모드에서의 IG 재생을 실행한다. 구체적으로는 디펜던트 뷰 스트림의 SEI 메시지에 저장되어 있는 복수의 오프셋 시퀀스 중 입체 시 IG 오프셋 시퀀스 ID 레퍼런스 정보에 의해 지시되고 있는 오프셋 시퀀스를 비디오 디코더로부터 인출하고 시프트부에 공급한다.
도 25 (b)는 세트 입체 시 스트림 커멘드(SetstreamSSCommand), 세트 스트림 커멘드 및 스트림 번호 변경을 요구하는 사용자조작에 의해 스트림 변화가 요구된 경우에서의 PSR0의 설정 순서를 나타내는 플로차트이다.
세트 입체 시 스트림 커멘드(SetstreamSSCommand), 세트 스트림 커멘드 및 스트림 번호 변경을 요구하는 사용자조작에 의해 스트림 변화가 요구된 경우 커멘드의 오퍼랜드나 사용자조작으로 지정된 스트림 번호를 번호 X로 한다.
본 플로차트에서의 스텝 S71는 번호 X보다 스트림 선택테이블의 entry 수가 많은가를 판정하는 것이다. 만약 X가 이 조건을 만족한다면 PSR0에 X를 설정한다(스텝 S74). 만약 X가 entry 수보다 큰 경우는 PSR0에 1을 설정한다(스텝 S72). 3D 출력 모드에서는 PSR0의 IG 스트림 번호에 의해 특정되는 IG 스트림의 is_SS_IG를 확장 스트림 선택테이블에서의 스트림 등록정보로부터 취득하고(스텝 S73), 취득한 is_SS_IG 플래그가 「1」이고, 또한 PSR24에서의 입체 시 IG 캐퍼빌리티가 「1」인가 여부를 판정한다(스텝 S74). 스텝 S74가 Yes이면 재생타입을 입체 시 IG로 한다(스텝 S75). 스텝 S74가 No이면 재생타입을 1plane+Offset로 한다(스텝 S76).
도 26은 결합 스트림 등록 열에 의해 어떤 패킷 식별자가 다중 분리부에 출력되는가를 나타낸다.
동 도면 (a)는 동작 예의 제재로 이용하는 결합 스트림 등록 열을 나타낸다. 결합 스트림 등록 열은 기본 스트림 선택테이블에서의 3개의 스트림 등록정보와 확장 스트림 선택테이블에서의 3개의 스트림 등록정보로 구성되는 것이다. 기본 스트림 선택테이블에서의 3개의 스트림 등록정보는 각각 스트림 번호 「1」, 「2」, 「3」의 스트림 번호를 갖고, 3개의 스트림 등록정보에서의 스트림 속성은 영어, 일본어, 중국어의 언어속성을 가지고 있다.
확장 스트림 선택테이블에서의 3개의 스트림 등록정보는 각각 스트림 번호 「1」, 「2」, 「3」의 스트림 번호를 갖고, 3개의 스트림 등록정보에서의 스트림 속성은 영어, 일본어, 중국어의 언어속성을 가지고 있다. 기본 스트림 선택테이블에서의 스트림 등록정보와 확장 스트림 선택테이블에서의 스트림 등록정보는 스트림 엔트리에서의 패킷 식별자가 다르며, 확장 스트림 선택테이블에서의 스트림 등록정보는 B-D프레젠테이션 모드를 위한 좌측 눈 PG 스트림을 위한 패킷 식별자, 우측 눈 PG 스트림을 위한 패킷 식별자를 포함한다.
동 도면 (b)는 언어설정이 중국어이며, 출력 모드가 2D 출력 모드로 설정된 재생장치에 이러한 결합 스트림 등록 열이 공급되었을 경우의 스트림 번호의 설정과 패킷 식별자의 출력을 나타낸다.
도면 중의 a1, a2, a3를 부여한 화살표는 언어설정의 일치 판정, 스트림 번호 레지스터에의 스트림 번호의 설정, 다중 분리부로의 패킷 식별자의 출력을 모식적으로 나타낸 것이다.
프로시저에서 스트림 번호=3의 스트림 등록정보에서 재생장치 측의 언어설정과 스트림 속성의 일치가 판정되고, 이 스트림 번호=3의 스트림 등록정보에 포함되는 스트림 번호가 스트림 번호 레지스터에 기입된다. 이때, 기본 스트림 선택테이블에서의 스트림 엔트리에서의 패킷 식별자가 다중 분리부에 출력된다. 이렇게 함으로써 기본 스트림 선택테이블에서의 스트림 번호=3의 스트림 등록정보에서의 스트림 엔트리의 패킷 식별자에 의해 특정되는 TS 패킷이 디코더에 출력되게 된다.
도 26 (c)는 언어설정이 중국어이고, 재생타입이 입체 시 PG로 설정된 재생장치에 이러한 결합 스트림 등록 열이 공급되었을 경우의 스트림 번호의 설정과 패킷 식별자의 출력을 나타낸다.
도면 중의 a4, a5, a6을 부여한 화살표는 언어설정의 일치 판정, 스트림 번호 레지스터에 대한 스트림 번호의 설정, 다중 분리부로의 패킷 식별자의 출력을 모식적으로 나타낸 것이다.
스트림 선택 프로시저에서 스트림 번호=3의 스트림 등록정보에서 재생장치 측의 언어설정과 스트림 속성의 일치가 판정되고, 이 스트림 번호=3의 스트림 등록정보에 포함되는 스트림 번호가 스트림 번호 레지스터에 기입된다. 이때, 기본 스트림 선택테이블에서의 스트림 엔트리에서의 패킷 식별자가 다중 분리부에 출력된다. 이렇게 함으로써 확장 스트림 선택테이블에서의 스트림 번호=3의 스트림 등록정보에서의 스트림 엔트리에 저장된 패킷 식별자의 세트에 의해 특정되는 2계통의 TS 패킷이 디코더에 출력되게 된다.
도 27은 결합 스트림 등록 열에 의해 어떤 패킷 식별자가 다중 분리부에 출력되는가를 나타낸다.
도 27 (a)는 동작 예의 제재로 이용하는 결합 스트림 등록 열을 나타낸다. 결합 스트림 등록 열은 기본 스트림 선택테이블에서의 3개의 스트림 등록정보와 확장 스트림 선택테이블에서의 3개의 스트림 등록정보로 구성되는 것이다. 기본 스트림 선택테이블에서의 3개의 스트림 등록정보는 각각 스트림 번호 「1」, 「2」, 「3」의 스트림 번호를 갖고, 3개의 스트림 등록정보에서의 스트림 속성은 모두 중국어의 언어속성을 가지고 있다.
확장 스트림 선택테이블에서의 3개의 스트림 등록정보는 각각 스트림 번호 「1」, 「2」, 「3」의 스트림 번호를 갖고, 3개의 스트림 등록정보에서의 스트림 속성도 중국어의 언어속성을 가지고 있다. 기본 스트림 선택테이블에서의 스트림 등록정보와 확장 스트림 선택테이블에서의 스트림 등록정보는 스트림 엔트리에서의 패킷 식별자가 다르며, 확장 스트림 선택테이블에서의 스트림 등록정보는 B-D프레젠테이션 모드를 위한 좌측 눈 PG 스트림을 위한 패킷 식별자, 우측 눈 PG 스트림을 위한 패킷 식별자를 포함한다.
동 도면 (b)는 언어설정이 중국어이며, 출력 모드가 2D 출력 모드로 설정된 재생장치에 이러한 결합 스트림 등록 열이 공급되었을 경우의 스트림 번호의 설정과 패킷 식별자의 출력을 나타낸다.
도면 중의 a1, a2, a3을 부여한 화살표는 언어설정의 일치 판정, 스트림 번호의 설정, 패킷 식별자의 출력을 모식적으로 나타낸 것이다.
스트림 선택 프로시저에서 스트림 번호=3의 스트림 등록정보에서 재생장치 측의 언어설정과 스트림 속성의 일치가 판정되고, 이 스트림 번호=「1」이 스트림 번호 레지스터에 기입된다. 이때, 기본 스트림 선택테이블에서의 스트림 엔트리에서의 패킷 식별자가 다중 분리부에 출력된다. 이렇게 함으로써 기본 스트림 선택테이블에서의 스트림 번호 「1」의 스트림 등록정보에서의 스트림 엔트리의 패킷 식별자에 의해 특정되는 TS 패킷이 디코더에 출력되게 된다.
(c)는 언어설정이 중국어이며, 재생타입이 1plane+Offset 타입으로 설정된 재생장치에 이러한 결합 스트림 등록 열이 공급되었을 경우의 스트림 번호의 설정과 패킷 식별자의 출력을 나타낸다.
도면 중의 a4, a5, a6을 부여한 화살표는 언어설정의 일치 판정, 스트림 번호의 설정, 패킷 식별자의 출력을 모식적으로 나타낸 것이다.
프로시저에서 스트림 번호 「1」의 스트림 등록정보에서 재생장치 측의 언어설정과 스트림 속성의 일치가 판정되고, 이 스트림 번호 「1」의 스트림 등록정보에 포함되는 스트림 번호가 스트림 번호 레지스터에 기입된다. 이때, 기본 스트림 선택테이블에서의 스트림 엔트리에서의 패킷 식별자가 다중 분리부에 출력된다. 이렇게 함으로써 확장 스트림 선택테이블에서의 스트림 번호 「1」의 스트림 등록정보에서의 스트림 엔트리에 저장된 패킷 식별자의 세트에 의해 특정되는 2 계통의 TS 패킷이 디코더에 출력되게 된다.
이상과 같이 본 실시형태에 의하면 그래픽스의 입체 시 효과의 실현성의 여부가 캐퍼빌리티 플래그에 나타나 있고, 확장 스트림 선택테이블에서 입체 시 효과가 가능하다고 설정되어 있는 그래픽스 스트림에 대해서는 이 그래픽스의 입체 시 효과를 실시하는가 여부가 이 캐퍼빌리티 플래그에 의해 조건이 부여되므로, 매뉴팩처는 비록 기록매체에 입체 시 효과를 갖는 그래픽스 스트림이 기록되어 있었다고 하더라도 캐퍼빌리티 플래그를 「캐퍼빌리티 없음」으로 설정함으로써 이러한 그래픽스 스트림의 입체 시 효과에 브레이크를 걸어서 품질관리를 실행하기 쉬운 오프셋 제어를 대신해서 실행할 수 있다.
이렇게 함으로써 고품위의 입체 시 효과 기능을 갖는 기종, 이와 같은 입체 시 효과 기능을 갖지 않는 기종이라고 하는 복수 기종의 재생장치를 시장에 투입하여 제품 라인업의 충실화를 도모할 수 있다.
(제 2 실시형태)
제 1 실시형태에서는 입체 시 IG, 입체 시 PG의 처리능력의 유무, IG, PG의 재생타입을 스트림 선택 프로시저로 정했으나, 본 실시형태에서는 재생장치에서의 출력 모드를 모드 선택 프로시저로 결정한다고 하는 실시형태이다.
이러한 모드 선택 프로시저는 타이틀의 선택시에 실행된다. 여기서 본 명세서의 타이틀은 적어도 1개의 동작 모드 오브젝트를 필수의 구성요소로 한다. 동작 모드 오브젝트란 어느 모드에서의 타이틀 재생시의 재생장치의 거동의 상세를 규정하는 동작 관리테이블이다. 그리고, 이 타이틀에는 HDMV 타이틀, BD-J 타이틀이라고 하는 종별이 있다.
「HDMV 타이틀」이란 HDMV 모드로 재생되어야 할 타이틀이며, 무비 오브젝트와 무비 오브젝트 내의 재생 커멘드로 재생되는 플레이리스트(플레이리스트정보, 클립정보, 스트림 파일)로 구성된다.
「무비 오브젝트」란 인덱스테이블에서 HDMV 타이틀의 타이틀번호에 대응된 동작 모드 오브젝트이며, 내비게이션 커멘드 열로 구성되는 배치 프로그램(batch program)에 리쥼(resume)의 여부를 나타내는 리쥼 플래그, 메뉴 콜을 마스크하는가 여부를 나타내는 플래그, 타이틀 서치를 마스크하는가 여부를 나타내는 플래그를 대응시킴으로써 구성되어 있다.
「BD-J 타이틀」이란 BD-J 모드로 재생되어야 할 타이틀이며, 클래스 아카이브 파일과 BD-J 오브젝트로 구성된다.
「클래스 아카이브 파일」은 바이트코드 애플리케이션의 클래스 구조체의 파일(클래스 파일)을 디지털 증명서 매니페스트 파일, 디스크 서명 시그네이처 파일, 디스크 서명 암호키 파일, 퍼미션 리퀘스트 파일과 일괄해서 아카이브한 파일이다. 애플리케이션의 로드는 이 클래스 아카이브 파일을 일괄해서 이루어지며, 클래스 로드시에 디지털 증명서, 디스크 서명, 디스크 서명 암호키를 이용한 애플리케이션의 정당성의 검증을 할 수 있도록 되어 있다. 또, 퍼미션 리퀘스트 파일이 존재하므로 애플리케이션에 의한 동작을 일정한 권한이 부여된 것으로 한정할 수 있다.
클래스 아카이브 파일에 아카이브되는 바이트코드 애플리케이션은 오브젝트 지향 프로그래밍 언어의 소스코드를 이용하여 기술된 클래스 구조체를 컴파일함으로써 얻어진 실행 형식의 프로그램이며, 기기에 의존하지 않는 코드(바이트코드)에 의해 구성되는 것을 말한다. 본 실시형태에서의 바이트코드 애플리케이션은 이벤트 드리븐이며, 이벤트에 의해 상태천이가 이루어진다. 상태천이 상태에는 「로디드」, 「포즈」, 「액티브」 「디스트로이드(destroyed)」라고 한 4개 상태가 있고, 바이트코드 애플리케이션에는 애플리케이션의 동작의 트리거가 되는 키 이벤트가 미리 등록되어 있다. 바이트코드 애플리케이션의 동작의 트리거가 되는 키 이벤트의 등록은 xlet 인터페이스의 이벤트 리스너에 의해 이루어진다. 이상이 클래스 아카이브 파일에 대한 설명이다.
이어서, BD-J 모드의 동작 모드 오브젝트인 BD-J 오브젝트의 상세에 대하여 설명한다.
「BD-J 오브젝트」는 BD-J 모드에서의 재생장치의 거동의 상세를 규정한다. 그 거동의 상세에는 대응하는 타이틀이 현재 타이틀이 된 때의 애플리케이션의 클래스 로드(1), 대응하는 타이틀이 현재 타이틀이 된 때의 애플리케이션 시그널링(2), 당해 애플리케이션 시그널링에 의해 기동된 애플리케이션이 GUI 처리를 실행할 때의 HAVi 디바이스 컨피규레이션(3), 당해 현재 타이틀에서의 플레이리스트 액세스(4), 대응하는 타이틀이 현재 타이틀이 되었을 경우의 클래스 아카이브 파일의 캐시 인?캐시 아웃(5), 기동된 애플리케이션의 트리거가 되는 이벤트를 키에 할당한다고 하는 이벤트 할당(6)이 있다.
「클래스 로드」란 클래스 아카이브 파일에 아카이브되고 있는 클래스 파일의 인스턴스를 플랫폼의 히프 영역에 생성하는 처리이며, 「애플리케이션 시그널링」은 클래스 파일의 인스턴스인 애플리케이션을 자동 기동시킬지 여부, 또는 애플리케이션의 생존 구간을 타이틀 바운더리로 하는가 디스크 바운더리로 하는가를 규정하는 제어이다. 타이틀 바운더리란 타이틀의 종료와 동시에 애플리케이션인 스레드를 히프 영역으로부터 소멸시킨다고 하는 관리이며, 디스크 바운더리란 디스크 이젝트와 동시에 애플리케이션인 스레드를 히프 영역으로부터 소멸시키는 관리이다. 반대로 디스크 이젝트가 이루어져도 스레드를 히프 영역으로부터 삭제하지 않는 제어를 「디스크 언바운더리」라고 한다. 「HAVi 디바이스 컨피규레이션」은 애플리케이션이 GUI 처리를 실행할 때의 그래픽스 플레인의 해상도나 문자 표시에 이용하는 폰트 등을 규정하는 것이다.
「플레이리스트 액세스」란 기동된 애플리케이션이 재생을 명할 수 있는 플레이리스트나 타이틀 선택시에 자동으로 재생해야 할 플레이리스트의 지정이다.
「클래스 아카이브 파일의 캐시 인」이란 클래스 로드의 대상이 되는 클래스 아카이브 파일을 캐시에 선 판독하는 처리이며, 「클래스 아카이브 파일의 캐시 아웃」이란 캐시에 존재하는 클래스 아카이브 파일을 캐시로부터 삭제하는 처리이다. 「애플리케이션 구동을 위한 이벤트 할당」은 사용자가 조작 가능한 키에 애플리케이션의 이벤트 리스너에 등록되어 있는 이벤트를 할당한다고 하는 것이다.
바이트코드 애플리케이션 중 BD-J 오브젝트 내의 애플리케이션 관리테이블에 의해 애플리케이션 시그널링이 이루어지는 것을 「BD-J 애플리케이션」이라고 한다.
HDMV 타이틀을 BD-J 타이틀과 대비하면 상술한 HDMV 타이틀에서는 내비게이션 커멘드를 실행하기 위한 커멘드 인터프리터나 플레이리스트를 해독하여 재생하기 위한 재생제어엔진이라고 하는 모듈이 소프트웨어의 동작 주체가 된다.
이에 대하여 BD-J 타이틀에서는 클래스 로드를 위한 클래스 로더나 애플리케이션 시그널링을 위한 애플리케이션 매니저, HAVi 디바이스, Java 미디어 프레임 워크에 의한 플레이리스트 재생을 위한 재생제어엔진, 캐시 인?캐시 아웃 관리를 위한 캐시 매니저, 이벤트 처리를 위한 이벤트 매니저라는 소프트웨어 군, 즉, 디지털 방송의 멀티미디어 플랫폼 단말에서의 소프트웨어 군과 매우 유사한 소프트웨어 군이 동작 주체가 되므로 BD-J 타이틀로부터 HDMV 타이틀로의 전환, HDMV 타이틀에서 BD-J 타이틀로의 전환에서는 재생장치에서의 소프트웨어 구성이 크게 다른 것이 된다.
출력 모드가 전환 후의 소프트웨어의 동작 주체에 있어서 최적의 것으로 되어 있는가의 확인과 전환 후의 동작 모드에 최적의 출력 모드의 선택이라고 하는 2개의 처리를 실현하기 위하여 상기 모드 선택 프로시저를 현재 타이틀의 선택시에 실행한다.
모드 선택 프로시저의 동작 주체는 재생제어부(210)에서의 프로시저 실행부이다. 또, 출력 모드는 레지스터세트(203)에 저장된다.
도 28은 레지스터세트(203)의 내부 구성과 재생제어부(210)를 나타내는 도면이다. 본 도면의 좌측에는 레지스터세트(203)의 내부 구성을 나타내고 있다. 우측에는 재생제어부(210)의 내부 구성을 나타내고 있다.
각각의 레지스터 번호가 할당된 플레이어 상태 레지스터, 플레이어설정 레지스터는 어떤 것인가를 나타낸다.
PSR1는 오디오 스트림을 위한 스트림 번호 레지스터이며, 현재의 오디오 스트림 번호를 저장한다.
PSR2는 PG 스트림을 위한 스트림 번호 레지스터이며, 현재의 PG 스트림 번호를 저장한다.
PSR4는 1~100의 값에 설정됨으로써 현재의 타이틀번호를 나타낸다.
PSR5는 1~999의 값에 설정됨으로써 현재의 쳅터 번호를 나타내고, 0xFFFF로 설정됨으로써 재생장치에서 쳅터 번호가 무효임을 나타낸다.
PSR6은 0~999의 값에 설정됨으로써 현재 플레이리스트의 번호를 나타낸다.
PSR7은 0~255의 값에 설정됨으로써 현재 플레이아이템의 번호를 나타낸다.
PSR8은 0~OxFFFFFFFF의 값에 설정됨으로써 45KHz의 시간 정밀도를 이용하여 현재의 재생 시점(현재 PTM)을 나타낸다. 이상이 PSR에 대한 설명이다.
PSR10은 IG 스트림을 위한 스트림 번호 레지스터이며, 현재의 IG 스트림 번호를 저장한다.
PSR21은 사용자가 입체 시 재생을 실행하는 것을 의도하고 있는가 여부를 나타낸다.
PSR22는 출력 모드 값을 나타낸다.
PSR23은 「Display Capability for video」의 설정이다. 이는, 재생장치의 접속상대인 표시장치에 입체 시 재생을 실행하는 능력이 존재하는가 여부를 나타낸다.
PSR24는 「Player Capability for 3D」의 설정이다. 이는, 재생장치에 입체 시 재생을 실행하는 능력이 존재하는가 여부를 나타낸다.
한편, 프로시저 실행부는 레지스터세트(203)에서의 PSR4, PSR6, PSR21, PSR23과 현재 플레이리스트정보의 스트림 선택테이블을 참조하여 현재 플레이리스트에서의 출력 모드를 고유하게 정한다. PSR24에서의 Player Capability for 3D는 재생장치의 3D 재생에 관한 능력 전반을 의미하는 것이므로 「3D-Capability」로 간단하게 표기하는 경우가 있다.
PSR23은 출력 모드를 규정하는 것이며, 그 상태천이의 선택모델은 도 29에 나타낸 것과 같이 규정되어 있다.
도 29는 출력 모드의 선택모델의 상태천이를 나타낸다. 이 선택모델에는 2개의 일반적인 상태가 존재한다. 타원은 이 일반적인 상태, 즉, 출력 모드 값이 취할 수 있는 값인 「Invalid」, 「valid」를 모식적으로 나타낸 것이다. Invalid는 출력 모드가 무효이고, Valid는 출력 모드가 유효라는 취지를 나타낸다.
일반적인 상태는 상태천이가 일어나지 않는 한 유지된다. 상태천이에는 플레이리스트 재생의 개시, 내비게이션 커멘드나 BD-J 애플리케이션에 의해 요구된 출력 모드 변화, BD-J 타이틀로의 점프가 있다. 상태천이가 발생했을 때, 출력 모드 프리 레퍼런스를 획득하기 위한 프로시저가 실행된다.
도면 중의 화살표 jm1, jm2, jm3????jm12는 상태천이의 트리거가 되는 사상을 모식적으로 나타낸다. 본 도면에서의 상태천이에는 이하의 것이 있다.
「Load a disc」란 BD-ROM이 장전되었다고 하는 상태를 의미한다.
「Start Presentation」란 HDMV 모드에서 플레이리스트의 재생 개시(start Playlist playback)를 의미한다. BD-J 모드에서는 BD-J 타이틀로의 분기를 의미한다. 왜냐하면 BD-J 타이틀은 플레이리스트가 필수의 구성요소로 되어 있지 않으므로 BD-J 타이틀에 분기한 경우 반드시 플레이리스트의 재생이 개시된다고는 할 수 없기 때문이다.
「Jump to BD-J title」은 BD-J 타이틀로의 분기를 의미한다. 구체적으로는 인덱스테이블에서 BD-J 타이틀이 현재 타이틀이 되는 것을 말한다.
「Start Playlist Playback」은 어떤 플레이리스트를 의미하는 플레이리스트 번호가 PSR에 설정되고, 플레이리스트정보가 현재 플레이리스트정보로 메모리에 판독되는 것을 말한다.
「Change Output Mode」란 3D 출력 모드로의 전환의 권한을 갖는 BD-J 애플리케이션이 API를 호출함으로써 출력 모드를 변화하는 것을 말한다.
「Terminate presentation」이란 HDMV 모드의 경우는 플레이리스트의 재생이 종료하는 것을 말하고, BD-J 모드의 경우는 BD-J 타이틀에서 HDMV 타이틀로 점프하는 것을 말한다.
디스크가 로드된 때, 출력 모드의 상태는 일시적인 상태 「Initialization」에 천이한다. 출력 모드 셀렉션 상태는 일시적으로 「Initialization state」에 천이 한 후, invalid state로 천이한다.
Output Mode Selection의 상태는 재생 개시(Start Presentation)가 액티브가 될 때까지 Invalid에 유지된다. HDMV 모드에서 「Start Presentation」은 플레이리스트의 재생이 개시되었음을 의미한다. BD-J 모드에서 Start Presentation은 BD-J 타이틀의 재생이 개시되고, BD-J 애플리케이션이 어떤 동작을 개시했음을 의미한다. 반드시 플레이리스트의 재생이 개시되었음을 의미한다고는 할 수 없다.
Start Presentation이 액티브가 된 때, 출력 모드는 일시적인 상태인 「Procedure when playback condition is changed」에 천이한다.
출력 모드는 Procedure when playback condition is changed의 결과에 따라서 Valid에 천이한다. 출력 모드가 유효하고, Start Presentation이 종료하면 상태는 Invalid에 천이한다.
무비 오브젝트에서의 내비게이션 커멘드는 콘텐츠 공급자가 출력 모드 프리 레퍼런스를 설정하기 위해서 플레이리스트 재생의 개시에 앞서 실행되어야 한다. 무비 오브젝트에서의 내비게이션 커멘드가 실행된 때, 이 모델에서는 Invalid가 된다.
도 29의 상태천이는 모드 선택 프로시저로 불리는 규정의 순서에 의해 실현된다. 이 모드 선택 프로시저는 Initialization과 Procedure when playback condition is changed로 구성된다.
도 30은 Initialization의 처리순서를 나타낸다.
스텝 S501은 디스크 언바운드의 BD-J 애플리케이션이 동작 중인가 여부의 판정이며, 스텝 S502는 PSR23에서의 Stereoscopic Display Capability가 「Capability 있음」을 나타내고, 인덱스테이블(index.bdmv)에서의 Initial_output_mode 정보가 「입체 시 출력 모드」를 나타내는지 여부의 판정이다. Initial_output_mode 정보의 데이터구조에 대해서는 본 실시형태의 주목적에서 벗어나므로 후단의 실시형태에서 설명한다.
스텝 S501이 Yes이면 스텝 S503에서 현재의 출력 모드를 유지한다. 스텝 S501이 No, 스텝 S502가 Yes이면 스텝 S4에서 PSR22를 입체 시 출력 모드로 설정한다. 스텝 S501이 No, 스텝 S502가 No이면 스텝 S5에서 PSR22에서의 출력 모드를 2D 출력 모드로 설정한다.
이상의 Initialization에 의하면 initial_output_mode 정보가 온으로 되어 있는 경우 재생장치에 B-D프레젠테이션 모드의 재생능력이 존재하는 것을 요건으로 디스크 장전과 동시에 재생장치가 3D 출력 모드가 된다. 따라서 initial_output_mode 정보가 온이면 기록매체를 장전하고 바로 안경을 씀으로써 입체 시 재생에 의한 가상 현실감에 빠질 수 있다.
도 31은 Procedure when playback condition is changed의 처리순서를 나타낸다. 스텝 S511은 PSR22에서의 출력 모드는 2D 출력 모드인가 여부의 판정이며, 스텝 S513은 PSR23에서의 Stereoscopic Display Capability가 「Capability 있음」을 나타내고, 또한 플레이리스트에 확장 스트림 선택테이블이 존재하는가 여부의 판정이다.
스텝 S511이 Yes이면 스텝 S512에서 현재 출력 모드를 변화시키지 않다. 스텝 S511가 No, 스텝 S513가 Yes라도 현재 출력 모드를 변화시키지 않다(스텝 S512). 스텝 S511이 No, 스텝 S513이 No이면 현재 출력 모드를 2D 출력 모드로 변화시킨다(스텝 S514).
이하, 3D 출력 모드 실현을 위한 플레이어설정 레지스터의 비트 할당에 대하여 설명한다. 3D 출력 모드의 실현을 위해 이용되고 있는 레지스터는 21번, 22번, 23번, 24번의 레지스터이며, 이들의 레지스터에서의 비트 할당을 나타낸 것이 도 32이다. 도 32는 3D 출력 모드 실현을 위한 플레이어설정 레지스터의 비트 할당을 나타낸다.
동 도면 (a)는 PSR21의 비트 할당을 나타낸다. 본 도면에서 최하위 비트 b0가 출력 모드 프리레퍼런스이며, 0b로 설정됨으로써 2D 출력 모드라는 취지를 나타내고, 1b로 설정됨으로써 입체 시 출력 모드라는 취지를 나타낸다. 내비게이션 커멘드나 BD-J 애플리케이션은 이 PSR21의 값을 재기록할 수는 없다.
동 도면 (b)는 PSR22의 비트 할당을 나타낸다. PSR22에서의 b0은 현재의 출력 모드를 나타낸다. 출력 모드가 변화하면 재생장치에서의 비디오 출력은 대응해서 변화해야 한다. 출력 모드의 값은 선택모델에 의해 제어되어야 한다.
이상과 같이 본 실시형태에 의하면 재생장치 상태 변화나 사용자로부터의 스트림 전환요구가 있었다고 하더라도 출력 모드의 유효성을 유지할 수 있다.
(제 3 실시형태)
앞의 실시형태에서는 현재 타이틀의 선택시에 출력 모드를 정했으나, 본 실시형태는 BD-J 타이틀이 현재 타이틀로 선택된 때, 이 현재 타이틀에서의 출력 모드를 어떻게 결정하는지를 나타내는 실시형태이다.
이후, BD-J 오브젝트에 대하여 설명한다. 도 33은 BD-J 오브젝트의 내부 구성의 일 예를 나타내는 도면이다. 본 도면에 나타낸 것과 같이, BD-J 오브젝트는 「애플리케이션 관리테이블」, 「단말관리테이블」, 「애플리케이션 캐시정보」, 「플레이리스트 액세스정보」, 「키 인터레스트 테이블」로 구성된다.
「애플리케이션 관리테이블」은 타이틀을 바운더리로 한 애플리케이션 시그널링을 애플리케이션 매니저나 클래스 로더에 지시하는 제어테이블이며, 「단말관리테이블」은 GUI를 실현하기 위한 HAVi 컨피규레이션이나 GUI에 이용하는 폰트, 사용자조작의 마스크의 유무를 멀티미디어 홈 플랫폼(MHP)에 지시하는 관리테이블이다. 「애플리케이션 캐시정보」는 타이틀 선택시의 아카이브 파일의 캐시 인/캐시 아웃을 캐시 매니저에 지시하는 제어테이블이며, 「플레이리스트 액세스정보」타이틀 선택시에서의 플레이리스트의 자동 재생의 지정을 재생제어엔진(PCE)에 지시하는 제어테이블이다. 「키 인터레스트 테이블」은 키와 이벤트의 대응관계를 이벤트 매니저에 지시하는 제어테이블이다.
인출 선 bj1는 애플리케이션 관리테이블에서의 엔트리를 클로즈업해서 나타내고 있다. 이 인출 선에 나타낸 것과 같이, 애플리케이션 관리테이블의 엔트리는 타이틀에서 애플리케이션을 자동으로 기동시켜야 하는가(AutoStart), 다른 애플리케이션으로부터의 호출을 기다려서 기동해야 하는가(Present)라는 기동의 방법을 나타내는 「제어코드」와, 「애플리케이션 타입」과, 기동해야 할 BD-J 애플리케이션을 아카이브한 아카이브 파일의 파일명이 되는 5 자릿수의 수치를 이용하여 대상이 되는 애플리케이션을 나타내는 「애플리케이션 ID」와, 「애플리케이션 기술자」를 포함한다. 인출 선 bj2는 「애플리케이션 기술자」의 내부 구성을 클로즈업해서 나타내고 있다. 본 인출 선에 나타낸 것과 같이, 「애플리케이션 기술자」는 애플리케이션이 로드되는 경우의 「우선도」와, 애플리케이션이 타이틀 언바운드인가 여부, 디스크 바운드인가 여부를 나타내는 「바인딩 정보」와, 애플리케이션의 명칭을 나타내는 문자열과, 애플리케이션의 언어속성을 나타내는 「언어 코드」와, 애플리케이션에 대응시키는 아이콘의 소재를 가리키는 「아이콘 로케이터」와, 「애플리케이션의 프로파일 값」을 애플리케이션별로 저장하고 있다. 3D 출력 모드에 대응하는 애플리케이션에 대해서는 이 프로파일 값이=5로 설정된다. 인덱스테이블에서의 BDMV 애플리케이션정보의 입체 시 콘텐츠 존재 플래그가 1로 설정되는 것은 이 애플리케이션의 프로파일 값이=5로 설정되는 것이 요건이 된다.
인출 선 bj3은 단말관리테이블에서의 컨피규레이션 정보를 클로즈업해서 나타내고 있다. 컨피규레이션 정보는 그래픽스 플레인의 확보를 재생장치에 지시하는 정보이며, 이 인출 선 bj3에 나타낸 것과 같이, 단말관리테이블은 HD3D_1920×1080, HD3D_1280×720, HD_1920×1080, HD_1280×720, QHD_960×540, SD, SD_50HZ_720×576, SD_60HZ_720×480의 어느 하나로 설정할 수 있다.
인출 선 bj4는 플레이리스트 액세스정보에서의 자동 재생 플레이리스트를 지정하는 정보의 내부 구성을 클로즈업해서 나타내고 있다. 인출 선 bj4에 나타낸 것과 같이, 자동 재생 플레이리스트를 지정하는 정보로 3D 플레이리스트 1920×1080, 3D 플레이리스트 1280×720, 2D 플레이리스트 1920×1080, 2D 플레이리스트 1280×720, 2D 플레이리스트 720×576, 2D 플레이리스트 720×480의 지정이 가능해진다.
어느 타이틀이 선택된 때, 재생장치는 선택된 현재 타이틀에 대응하는 것의 플레이리스트 액세스정보에 의해 지정된 플레이리스트의 재생을 애플리케이션으로부터의 재생지시를 기다리지 않고 개시하고, 플레이리스트 재생의 종료보다 BD-J 애플리케이션 실행이 먼저 종료한 경우 플레이리스트의 재생을 계속해서 실시한다.
이러한 선행 재생에 의해 애플리케이션의 클래스 로드에 시간이 걸리고, 묘사 이미지가 표시되지 않아서 대화화면이 좀처럼 출력되지 않는 경우에는 플레이리스트 재생에 의한 재생 영상이 그대로 출력되므로 애플리케이션에서의 기동 지연이 현저한 경우에도 우선 플레이리스트의 재생 영상을 사용자에게 시청하게 할 수 있다. 애플리케이션의 스타팅 딜레이 동안 무엇인가가 표시되고 있는 상태로 해 둘 수 있으므로 사용자에게 안심감을 줄 수가 있다.
BD-J 애플리케이션에서 입체 시 재생의 실현에 이용할 수 있는 API에는 Java2Micro_Edition(J2ME) Personal Basis Profile(PBP1.0)와, Globally Executable MHP specification(GEM1.0.2) for package media targets가 있다. 이러한 API를 이용하면 네트워크 처리를 위한 java.net, GUI 처리를 위한 java.awt, 언어 처리를 위한 java.lang, 기록매체에 대한 I/O처리를 위한 java.io, 유틸리티인 java.util, 미디어 프레임 워크를 위한 javax.media와 같은 클래스의 메소드, 컨스트럭터(constructor), 인터페이스, 이벤트를 이용한 구조화 프로그래밍으로 3D 재생이 가능한 BD-J 타이틀의 기술이 가능해진다.
BD-J 타이틀에서의 3D 플레이리스트의 재생지시 등, 입체 시를 전제로 한 BD-J 타이틀에서 디폴트로 실시해야 할 동작은 초기 xlet 클래스의 인스턴스인 xlet 콘텍스트를 생성시키는 프로그램을 소스코드로 기술함으로써 작성할 수 있다. 이러한 xlet 콘텍스트는 인스턴스 생성시에 상태 변화를 나타내는 상태 변화 익셉션 이벤트를 보내고(throw), 그 후 재생장치에서의 플레이어 상태 레지스터, 플레이어설정 레지스터의 보유 값의 취득을 실행하며, 취득한 보유 값이 3D 재생의 능력의 존재를 나타내는 것인가 여부를 판단한 후에 3D 플레이리스트의 재생을 실행한다.
여기에서의 3D 플레이리스트의 재생은 3D 플레이리스트를 지정하는 로케이터와 javax.media에서의 매니저의 크리에이트 플레이어 메소드 「javax.media.Manager.createPlayer」를 이용하여 3D 플레이리스트의 재생을 위한 플레이어 인스턴스를 생성함으로써 이루어진다. 또, 플레이어 인스턴스를 생성할 수 없을 때의 익셉션은 javax.meia.NoPlayerEception 이벤트를 캐치 하는 catch문으로 기술할 수 있으며, 3D 플레이리스트가 없을 때의 익셉션은 java.io.IOException 이벤트를 캐치 하는 catch문으로 기술할 수 있다.
또, BD-J 모드를 위한 익스텐션 API(BD-J 익스텐션이라고 불린다)를 이용함으로써 지금까지의 실시형태에서 설명한 입체 시 재생을 위한 데이터구조, 입체 시 재생에서의 재생 단위를 이용한 제어를 실현한다. 이 BD-J 익스텐션은 java.net, java.awt, java.lang, java.io, java.util, javax.media 클래스의 메소드로부터의 인헤리티드(inherited) 메소드를 포함하고, 이들 클래스의 인터페이스를 임베디드 인터페이스(embedded interface), 슈퍼 인터페이스로 하고 있으므로 java.net, java.awt, java.lang, java.io, java.util, javax.media 클래스를 이용한 프로그래밍 기법의 연장선상에서 입체 시 재생을 전제로 한 BD-J 타이틀을 작성할 수 있다.
예를 들어 BD-J 모드를 위한 익스텐션 API는 레지스터세트의 상태 설정이나 상태 취득을 명하는 설정 취득 클래스를 포함한다. 이러한 설정 취득 클래스는 각 PSR의 보유 값을 나타내는 콘스탄트 필드(constant field)와, PSR의 보유 값의 취득을 명하는 취득 메소드와, PSR의 보유 값의 설정을 명하는 설정 메소드로 구성된다.
설정 취득 클래스의 메소드는 java.lang.object 클래스의 메소드의 인헤리티드 메소드를 포함한다. 또, 메소드 콜 시의 인수가 부정이면 java.lang 클래스의 이벤트인 java.lang.IlleghalArgumentException 이벤트를 보낸다. 본 클래스는 java.lang.object의 메소드나 이벤트를 계승하고 있으므로 프로그래머는 java.lang.object의 연장선에서 레지스터세트의 보유 값을 이용한 프로그램을 작성할 수 있다.
도 34는 BD-J 타이틀에서의 출력 모드 설정의 처리순서를 나타내는 플로차트이다.
(a)는 Procedure when BD-J Title is changed의 처리순서를 나타내는 플로차트이다. 스텝 S521에서는 PSR22로부터 출력 모드를 취득하고, 스텝 S522에서는 HAVi 디바이스 컨피규레이션 셀렉션의 동작에 의거하여 2D 출력 모드 또는 입체 시 출력 모드의 어느 것에 출력 모드를 설정한다.
(b)는 Procedure when Output Mode change is requested의 처리순서를 나타내는 플로차트이다. 스텝 S523에서는 PSR22로부터 출력 모드를 취득하고, 스텝 S524에서는 이니셜 HAVi 디바이스 컨피규레이션의 동작에 의거하여 2D 출력 모드 또는 입체 시 출력 모드의 어느 것에 출력 모드를 설정한다.
도 35는 이니셜 HAVi 디바이스 컨피규레이션 셀렉션의 동작의 일 예를 나타내는 플로차트이다. 본 플로차트는 스텝 S530, 스텝 S531, 스텝 S532, 스텝 S533, 스텝 S536의 판정 결과에 따라서 스텝 S534, 스텝 S535, 스텝 S537의 처리를 선택적으로 실행한다.
스텝 S530은 자동 재생 플레이리스트가 존재하는가 여부의 판정이다.
스텝 S531은 PSR24에서의 b5가 「1」인가 여부의 판정이다. 여기서 b5가 「1」이라는 것은 3D 출력 모드에서 BD-J 모드의 처리가 가능하다는 것을 의미한다.
스텝 S532는 직전의 표시 모드는 3D인가 여부의 판정이다. 스텝 S533은 선택된 타이틀의 자동 재생 플레이리스트가 1920×1080의 3D 플레이리스트 또는 1280×720의 3D 플레이리스트인가 여부의 판정이다.
자동 재생 플레이리스트가 존재하지 않는 경우 스텝 S537, 스텝 S538의 판정을 실행한다.
스텝 S537은 PSR24에서의 b5가 「1」인가 여부의 판정이다. 여기서 b5가 「1」이라는 것은 3D 출력 모드에서 BD-J 모드의 처리가 가능하다는 것을 의미한다.
스텝 S538는 BD-J 오브젝트에서의 HAVi 디바이스 컨피규레이션의 해상도가 HD3D_1920×1080, HD3D_1280×720인가 여부의 판정이다.
만약 스텝 S537이 Yes, 스텝 S538이 Yes이면 스텝 S535에서 표시 모드를 3D로 설정하고, BD-J 오브젝트에서의 HAVi 디바이스 컨피규레이션의 해상도에 따라서 1920×1080 또는 1280×720으로 설정한다. 만약 스텝 S537, 스텝 S538의 어느 쪽이 No이면 스텝 S536에서 표시 모드를 2D로 설정하고, 해상도를 BD-J 오브젝트에서의 HAVi 디바이스 컨피규레이션의 해상도로 설정한다.
자동 재생 플레이리스트가 존재하는 경우 스텝 S531에서 PSR24의 b5가 「1」인지, 스텝 S532에서 직전의 표시 모드가 3D인가 여부, 또는 스텝 S533에서 플레이리스트가 3D 플레이리스트에서 그 해상도가 1920×1080, 1280×720인가 여부가 판정된다. 스텝 S531, 스텝 S532, 스텝 S533의 어느 것이 No이면 스텝 S534에서 표시 모드를 2D로 설정하고, 해상도를 자동 재생 플레이리스트의 해상도로 설정한다.
스텝 S532가 Yes, 스텝 S533도 Yes로 판정되었을 경우 스텝 S535에서 표시 모드를 3D로 설정하고, 해상도를 자동 재생 플레이리스트의 해상도에 따라서 1920×1080, 또는 1280×720으로 설정한다.
이상과 같이 본 실시형태에 의하면 BD-J 오브젝트에 의거하여 HAVi 디바이스 컨피규레이션에서 규정된 해상도를 이용하여 입체 시 재생을 실현할 수 있다.
(제 4 실시형태)
본 실시형태는 재생장치에 접속된 표시장치의 입체 시 표시 캐퍼빌리티를 나타내는 플레이어설정 레지스터의 내부 구성을 보다 구체적인 것으로 해서 실행하는 경우의 개량에 관한 것이다.
도 36은 PSR23의 비트 할당을 나타낸다. PSR23은 재생장치에 접속되어 있는 표시장치의 특성 값을 나타낸다. 내비게이션 커멘드나 BD-J 애플리케이션은 PSR23의 값을 재기록할 수 없다. PSR23의 값은 표시장치가 인터페이스를 통해서 이들을 제공했을 때, 재생을 개시하기 전에 자동으로 설정된다. 이들 값을 자동 취득할 수 없는 경우 이들은 사용자에 의해 설정된다.
PSR23의 b0은 표시장치의 입체 시 표시 캐퍼빌리티를 나타낸다.
입체 시 표시 캐퍼빌리티는 「0」으로 설정된 때, 접속되어 있는 표시장치가 1920×1080/23.976Hz 프로그래시브 비디오, 또는 1920×1080/59.94Hz 프로그래시브 비디오를 표시하는 처리능력을 가지고 있지 않은 취지를 나타낸다.
「1」로 설정된 때, 접속되어 있는 표시장치가 1920×1080/23.976Hz 프로그래시브 비디오, 또는 1920×1080/59.94Hz 프로그래시브 비디오를 표시하는 처리능력을 가지고 있는 취지를 나타낸다.
PSR23의 b1는 표시장치의 입체 시 1280×720 50p 비디오 표시 캐퍼빌리티를 나타낸다.
입체 시 1280×720 50p 비디오 표시 캐퍼빌리티는 「0」으로 설정된 때, 접속되어 있는 표시장치가 1280×720/50Hz 프로그래시브 비디오를 표시하는 처리능력을 가지고 있지 않은 취지를 나타낸다. 「1」로 설정된 때, 접속되어 있는 표시장치가 1280×720/50Hz 프로그래시브 비디오를 표시하는 처리능력을 가지고 있는 취지를 나타낸다.
PSR23의 b2는 맨눈의 입체 시 여부 플래그를 나타낸다.
맨눈의 입체 시 여부 플래그(No glasses required for stereoscopic display)는 「0」으로 설정됨으로써 접속되어 있는 TV 시스템이 입체 시 출력 모드를 시청하는데 안경을 필요로 하는 취지를 나타내고, 「1」로 설정됨으로써 접속되어 있는 TV시스템이 입체 시 출력 모드를 시청하는데 안경을 필요로 하지 않는 취지를 나타낸다.
b8에서 b19까지의 화면 횡 사이즈(Horozontal display size)는 접속되어 있는 표시장치의 수평 사이즈를 cm 단위로 나타낸다. 0x000인 경우 미 정의이고, 0x001에서 0xFFE까지인 경우 접속되어 있는 표시장치의 수평 사이즈를 cm 단위로 나타낸다. 여기서 0xFFE는 4094cm의 디스플레이라는 취지를 나타낸다. 0xFFF는 수평 길이 4094cm보다 큰 디스플레이라는 취지를 나타낸다.
PSR23의 비트 할당을 이용하면 PSR23에서의 입체 시 캐퍼빌리티의 판정순서는 도 37의 플로차트에 나타내는 것이 된다.
도 37은 PSR23에서의 입체 시 재생 캐퍼빌리티의 판정순서를 나타내는 플로차트이다. 본 플로차트는 스텝 S515~스텝 S517의 판정 스텝의 판정 결과의 조합에 따라서 입체 시 재생 캐퍼빌리티가 존재하는가, 입체 시 재생 캐퍼빌리티가 존재하지 않는지의 결론을 내린다. 스텝 S515는 PSR23의 b2가 「1」인가 여부의 판정이고, 스텝 S516는 PSR23의 b0가 「1」인가 여부의 판정이다. 스텝 S517는 PSR23의 b1가 「1」인가 여부의 판정이다. 스텝 S515에서 PSR23의 b2가 「1」인 것은 안경 없이 맨눈의 입체 시가 가능하다는 것을 나타낸다. 따라서 PSR23의 b1이 「1」이면, 스텝 S516 및 스텝 S517의 판정을 거치지 않고 스텝 S518에서 입체 시 재생이 가능하다는 판정 결과를 내린다. 안경 없이 입체 시 표시를 할 수 있는 것은 입체 시 전용의 것이며, 해상도에 관계없이 입체 시 재생이 가능하다고 판정 결과를 내릴 수 있기 때문이다.
스텝 S516에서 PSR23의 b0가 「1」인 것은 1920×1080/23.976Hz 및 1280×720/59.94Hz에서의 입체 시 재생이 가능하다는 것을 나타낸다. 따라서 스텝 S515가 No라도 스텝 S516이 Yes이면, 스텝 S518에서 입체 시 재생이 가능하다는 판정 결과를 내린다.
스텝 S517에서 PSR23의 b1가 「1」인 것은 1920×1080/23.976Hz, 1280×720/59.94Hz의 입체 시 재생이 불가능해도 1280×720/50Hz에서의 입체 시 재생이 가능하다는 것을 나타낸다. 따라서 스텝 S515-스텝 S516이 No라도 스텝 S517이 Yes이면, 스텝 S518에서 입체 시 재생 가능하다는 판정 결과를 내린다.
PSR23의 b0가 「0」, PSR23의 b1가 「0」인 것은 SD화상임을 나타낸다. 따라서, 스텝 S517이 No이면 입체 시 재생이 불가능하고, 강제적으로 2D 출력을 한다.
이는, SD화상에서는 충분한 품위의 입체 시 재생을 실현할 수 없기 때문이다.
이상과 같이 본 실시형태에 의하면 재생장치에 접속된 입체 시 표시 캐퍼빌리티에 따라서 최적인 해상도와 프레임 레이트의 세트를 결정하므로 표시장치에 대한 데이터 전송을 최적의 것으로 할 수 있다.
(제 5 실시형태)
본 실시형태는 표시장치의 프레임 레이트나 해상도를 최적으로 하는 개량에 관한 것이다. 지금까지의 실시형태에서는 BD-J 오브젝트의 단말관리테이블이나 타이틀에서의 플레이리스트로부터 해상도를 결정하고 있었으나, 타이틀이 미선택의 상태에서는 해상도나 프레임 레이트는 미정인 상태였다. 이에, 본 실시형태는 인덱스테이블에 해상도나 프레임 레이트의 정보를 포함하고 있다.
인덱스테이블은 기록매체 전체에 관한 관리정보이며, 재생장치로의 기록매체 삽입 후에 인덱스테이블이 최초로 판독됨으로써 재생장치에서 기록매체가 고유하게 인식된다.
인덱스테이블은 재생장치에서의 타이틀번호 레지스터에 저장될 수 있는 복수의 타이틀번호와 동작 모드를 규정하는 동작 모드 오브젝트의 대응관계를 규정한다. 기록매체에 기록되어 있는 타이틀이란 타이틀번호에 의해 특정되는 동작 모드 오브젝트와 이 동작 모드 오브젝트로부터 재생되는 플레이리스트의 세트를 말한다. 영화작품과 타이틀의 관계는 영화작품과 그것의 복수 버전의 관계이다. 즉, 1개의 버전 밖에 없는 영화작품은 「영화작품=타이틀」이라고 하는 관계가 된다. 영화작품에 극장 공개판, 디렉터즈 커트판, TV 방영판 등, 복수의 버전이 있는 경우 영화작품에서의 개개의 버전이 1개의 타이틀이 된다.
여기서, 타이틀번호 레지스터에서의 타이틀번호는 0,1~999, 부정 값(0xFFFF)이라고 하는 번호가 있다. 타이틀번호 0은 톱 메뉴 타이틀의 타이틀번호이다. 톱 메뉴 타이틀은 사용자에 의한 메뉴 콜 조작에 의해 호출할 수 있는 타이틀이다. 부정 값(0xFFFF)의 타이틀번호는 퍼스트 플레이 타이틀의 타이틀번호이다. 퍼스트 플레이 타이틀이란 기록매체의 장전 직후에 시청자에 대한 경고나 콘텐츠 공급자에 의한 로고 표시 등을 실행하는 타이틀이다.
인덱스테이블은 각 타이틀번호의 각각에 대응한 엔트리(타이틀 인덱스)를 갖고, 개개의 타이틀 인덱스에 동작 모드를 규정하는 동작 모드 오브젝트를 기술함으로써 각각의 타이틀이 어떤 동작 모드로 동작하는지를 상세하게 규정한다.
도 38은 인덱스테이블을 설명하기 위한 설명도이다. 도 38 (a)는 인덱스테이블 파일의 내부 구성을 나타낸다. 본 도면에 나타낸 것과 같이, 인덱스테이블 파일은 복수의 타이틀 인덱스와 BDMV 애플리케이션정보를 포함한다.
도 38 (b)는 타이틀 인덱스의 공통의 데이터구조로 정의된다. 이 공통의 데이터구조는 「오브젝트 타입」과, 「무비 오브젝트 레퍼런스」와, 「오브젝트 파일 명 정보」를 포함한다. 「오브젝트 타입」은 해당하는 타이틀에 관련되어 있는 동작 모드 오브젝트가 Movie 오브젝트인지 BD-J 오브젝트인가를 나타낸다. 「오브젝트 파일 명 정보」는 타이틀에 관련된 BD-J 오브젝트의 파일 명을 나타낸다. 「무비 오브젝트 레퍼런스」는 타이틀에 관련된 무비 오브젝트의 식별자를 나타낸다.
재생장치에서 타이틀번호 레지스터의 값은 기록매체의 장전 후, 부정 값 0xFFFF→1~999→0과 같이 변화한다. 이 타이틀번호의 변화는 기록매체의 장전시에 퍼스트 플레이 타이틀의 재생을 개시하고, 퍼스트 플레이 타이틀의 재생 후에 1에서 999까지의 타이틀번호 레지스터의 타이틀번호에서 지시된 타이틀의 재생을 실행하며, 타이틀번호에서 지시된 타이틀의 재생이 종료하면 톱 메뉴 타이틀을 재생하여 사용자에 의한 선택 대기를 실시한다고 하는 것이다. 1~999의 타이틀번호를 갖는 타이틀 중 타이틀번호 레지스터에 저장되어 있는 타이틀번호와 동일한 타이틀번호를 갖는 것이 현재의 재생 대상, 즉 현재 타이틀이 된다. 타이틀번호 레지스터에 어떤 번호를 설정하는가는 톱 메뉴 타이틀에 대한 사용자조작이나 프로그램에 의한 타이틀번호 레지스터의 설정에 의해 결정된다.
도 38 (c)는 BDMV 애플리케이션정보(ApplinfoBDMV)의 내부 구성을 나타낸다. 본 도면에 나타낸 것과 같이, BDMV 애플리케이션정보는 「초기 출력 모드 프리퍼런스(initial_outputmode_preference)」, 「입체 시 콘텐츠 존부 플래그(SS_content_exist_flag)」, 「비디오 포맷정보(video_format)」, 「비디오 레이트 정보(video_rate)」로 구성된다.
「초기 출력 모드 프리퍼런스(initial_outputmode_preference)」는 디스크에서의 초기 출력 모드의 프리퍼런스이며, 「0」에서 2D 출력 모드, 「1」에서 입체 시 출력 모드를 나타낸다. 이미 제 2 실시형태에서 설명한 것과 같이, 본 초기 출력 모드 프리퍼런스가 「입체 시 출력 모드」로 설정되어 있는 경우 표시장치에 입체 시 표시능력이 존재하는 것을 전제로 하여 디스크 장전시에 재생장치는 입체 시 출력 모드로 설정된다.
「입체 시 콘텐츠 존부 플래그(SS_content_exist_flag)」는 프로파일 5 기능을 이용하고 있는가 여부를 나타낸다. 이하의 조건의 어느 것을 만족하는 경우 이 필드는 「1」로 설정된다.
- 확장 스트림 선택테이블이 포함된 3D 플레이리스트를 갖는다.
- BD-J 오브젝트에서의 애플리케이션 관리테이블 내에서 현재 시그널링되고 있는 BD-J 애플리케이션은 자신의 애플리케이션 기술자에서의 애플리케이션 프로파일 값의 세트 내에 「프로파일 5」를 포함한다. 프로파일 5란 입체 시 재생에 대응한 애플리케이션 프로파일이다. 따라서 BD-J 오브젝트에 대응하는 타이틀에 3D 플레이리스트가 존재하지 않는 경우나 플레이리스트 그 자체가 없는 경우라도 이러한 BD-J 애플리케이션이 입체 시의 재생능력을 갖는 경우 상기 입체 시 존부 플래그는 「온」으로 설정된다.
- 입체 시 출력 모드를 이용한다.
입체 시 콘텐츠 존부 플래그가 「존재하지 않는다」라고 설정되어 있는 경우 대응하는 디스크가 장전되고 있는 동안은 3D 출력 모드로 이행하는 일은 없으므로 PSR22의 모드 선택 프로시저를 실행하지 않고, PSR22를 2D 출력 모드인 채로 고정화한다. 한편, 입체 시 콘텐츠 존부 플래그가 존재한다고 설정되어 있는 경우에만 모드 선택 프로시저를 실행한다.
「비디오 포맷정보(video_format)」는 고 밴드 폭 디지털 출력 기능에서의 비디오 포맷을 4 비트의 값을 이용하여 지시한다. 디스크 삽입시에 이 비디오 포맷을 네고시에이트에 의해 정할 수 있다. 비디오 포맷정보는 퍼스트 플레이 타이틀의 재생이 이루어지고 나서 톱 메뉴 타이틀의 재생시, 또는 0~999의 타이틀번호에서 지시되는 타이틀의 재생시까지 유효하게 된다.
톱 메뉴 타이틀의 재생 후, 또는 0~999의 타이틀번호에서 지시되는 타이틀의 재생 후는 그 타이틀에서의 플레이리스트에서의 픽처나 그 타이틀에서의 메뉴의 표시 해상도가 적용되기 때문이다.
「비디오 레이트 정보(video_rate)」는 고 밴드 폭 디지털 출력 기능에서의 비디오 레이트를 지시하는 4 비트의 값이다. 디스크 삽입시에 이 비디오 레이트를 네고시에이트에 의해 정할 수가 있다. 비디오 포맷정보, 비디오 프레임 정보는 어느 쪽을 0으로 설정할 수가 있다. 어느 쪽이 0으로 설정된 경우 양 필드는 재생장치에 의해 무시된다. 「비디오 레이트」란 1초당의 프레임 수를 나타내는 단위이며, FPS(Frame Per Second)고 하는 단위계로 표현된다. 프레임기간을 파장이라고 생각하면 프레임 레이트는 「주파수」로 표현할 수가 있으며, 프레임 레이트의 표기에는 단위계로 「Hz」를 이용하는 경우도 있다. 비디오 레이트 정보는 퍼스트 플레이 타이틀의 재생이 이루어지고 나서 톱 메뉴 타이틀의 재생시, 또는 0~999의 타이틀번호에서 지시되는 타이틀의 재생시까지 유효하게 된다.
톱 메뉴 타이틀의 재생 후, 또는 0~999의 타이틀번호에서 지시되는 타이틀의 재생 후는 그 타이틀에서의 플레이리스트에서의 비디오 스트림의 비디오 레이트가 적용되기 때문이다.
이상이 기록매체에 대한 설명이다. 이어서, 재생장치의 상세에 대하여 설명한다. 재생장치가 디스크 인서트 시에 이하의 처리순서를 실행하는 점이 새롭다.
도 39는 디스크 인서트 시의 처리순서를 나타내는 플로차트이다.
인서트된 디스크로부터 인덱스테이블(Index.bdmv)을 판독하고(스텝 S501), 판독된 Index.bdmv의 BDMV 애플리케이션정보에 기재된 고 밴드 폭 디지털 출력 기능을 실행하기 위한 네고시에이션을 개시시키며(스텝 S502), 스텝 S503~스텝 S509의 루프로 이행한다. 이 루프는 퍼스트 플레이 타이틀에서의 0xFFF의 현재 타이틀번호를 타이틀번호 레지스터에 설정하고(스텝 S503), 현재 타이틀에 대응하는 타이틀 인덱스의 오브젝트 타입이 BD-J 오브젝트인가 여부를 판정하며(스텝 S504), BD-J 오브젝트가 아니면 현재 타이틀에 대응하는 타이틀 인덱스의 무비 오브젝트 레퍼런스에 의해 나타나는 무비 오브젝트를 로드하고(스텝 S505), BD-J 오브젝트라면 현재 타이틀에 대응하는 타이틀 인덱스의 오브젝트 파일명 정보에 의해 나타나는 BD-J 오브젝트를 로드하고(스텝 S506), 로드한 오브젝트에 의거하여 타이틀 재생을 개시한다(스텝 S509)고 하는 처리를 스텝 S508이 No, 스텝 S509가 Yes로 판정될 때까지 반복하는 것이다.
스텝 S503-스텝 S509의 루프는 타이틀 재생의 개시 후에 스텝 S508-스텝 S509로 이루어지는 루프로 이행한다. 본 루프에서 타이틀 재생이 종료했다고 판정된 경우(스텝 S508에서 Yes), 타이틀번호 레지스터의 현재 타이틀번호를 갱신한 후에(스텝 S510), 스텝 S504로 이행한다.
스텝 S508-스텝 S509의 루프에서 디스크 이젝트가 이루어진 경우 본 플로차트의 처리는 종료한다. 인덱스테이블에 포맷 레이트의 정보가 존재하므로 퍼스트 플레이 타이틀의 재생에 앞서 네고시에이션을 실행할 수 있다.
도 40은 표시장치와 재생장치의 사이의 교환을 나타내는 도면이다.
도 40(a)는 데이터 전송 페이즈, 네고시에이션 페이즈를 나타낸다. 좌측에 재생장치를 나타내고, 우측에 표시장치를 나타낸다. 재생장치와 표시장치의 사이의 3개의 화살표 중 선두의 것은 네고시에이션 페이즈(ph1)를 상징적으로 나타내고, 다음의 것은 23.976FPS에 의한 데이터 전송 페이즈(ph2)를 상징적으로 나타낸다. 마지막 것은 47.954FPS에 의한 데이터 전송 페이즈(ph3)를 상징적으로 나타낸다.
3D 출력 모드에서는 각 프레임에서 베이스 뷰 컴포넌트, 디펜던트 뷰 컴포넌트의 쌍방을 전송하므로 실질적으로는 표시 프레임은 배가 된다. 구체적으로는 2D 출력 모드에서 23.976FPS를 사용하고 있는 경우 3D 출력 모드에서는 47.954FPS가 된다. 그러나 본 도면의 일 예에서는 베이스 뷰 컴포넌트 및 디펜던트 뷰 컴포넌트를 결합하여 사이드 바이 사이드 방식으로 2D 출력 모드와 동일한 프레임기간 내에 전송함으로써 프레임 레이트의 변동을 발생시키지 않도록 하고 있다. 즉, 2D 출력 모드라도 프레임 레이트는 23.976FPS인 채로 전송해야 할 데이터를 베이스 뷰 컴포넌트 및 디펜던트 뷰 컴포넌트의 세트로 변경한다. 이렇게 함으로써 프레임 레이트의 변경을 초래하지 않고 , 2D 출력 모드와 3D 출력 모드의 전환시에서의 프레임 레이트의 변동을 없애도록 하고 있다.
그러나 디스크 장전 직후의 네고시에이션 페이즈에는 상호 인증이 존재하고, 이 상호 인증의 과정에서는 프레임 레이트나 비디오 포맷이 필요하게 된다. 그러나 이들 프레임 레이트나 비디오 포맷의 정보는 비디오 스트림 고유의 정보이므로 타이틀이 선택되어서 재생되어야 할 플레이리스트가 정해지지 않으면 이들 정보를 취득할 수 없다.
한편, Initialization의 프로시저에서 설명한 것과 같이, initial_output_mode 정보가 온으로 되어 있고, 재생장치에 B-D프레젠테이션 모드의 재생능력이 존재하는 경우 디스크의 장전과 동시에 3D 재생을 개시시킬 수 있다. 그러나 표시장치에 의한 네고시에이션에 시간이 걸리면, 3D 안경을 쓰고 입체 시 영상의 시청 준비를 했다고 하더라도 입체 시 영상이 표시장치에 좀처럼 표시되지 않아서 사용자의 짜증이 더해진다고 하는 바람직하지 않은 사태가 발생한다.
이에 본 실시형태에서는 상술한 것과 같이 프레임 레이트나 비디오 포맷의 정보를 디스크 장전시에 제 1로 판독되는 정보, 즉, 인덱스테이블에 설치하는 것으로 하고 있다.
동 도면 (b)는 타이밍 차트이다. 제 1 단째는 모듈 매니저의 처리를 시계열로 나타내고, 제 2 단째는 송신부의 처리를 시계열로 나타낸다.
제 2 단째에 의하면 송신부는 네고시에이션, 데이터 전송이라고 하는 2개의 페이즈를 거치는 것을 알 수 있다.
제 1 단째에 의하면 모듈 매니저는 인덱스테이블의 판독, 퍼스트 플레이 타이틀의 선택, 퍼스트 플레이 타이틀을 구성하는 동작 모드 오브젝트의 실행 및 플레이리스트 재생, 타이틀 0~999의 선택, 타이틀 0~999을 구성하는 동작 모드 오브젝트의 실행 및 플레이리스트 재생이라고 하는 5개의 페이즈를 거치는 것을 알 수 있다. 화살표 fy1, fy는 매니저로부터 송신부로의 포맷, 레이트의 지시를 모식적으로 나타낸다. 송신부로의 포맷, 레이트의 지시는 퍼스트 플레이 타이틀의 선택과 거의 동시에 이루어지고 있으므로 퍼스트 플레이 타이틀의 선택 처리와 병행하여 네고시에이션이 개시되고 있어서 데이터 전송의 개시시기가 현격히 앞당겨지고 있음을 알 수 있다.
이상과 같이 본 실시형태에 의하면 상기 기록매체에서는 인덱스테이블에 애플리케이션정보가 존재하고 있고, 이 애플리케이션정보는 인증에 필요한 파라미터로 포맷 레이트를 포함하므로 인덱스테이블의 판독 후, 퍼스트 플레이 타이틀의 재생처리와 동시에 상대 측 기기와의 상호 인증을 개시할 수 있다. 퍼스트 플레이 타이틀의 재생처리와 상대 측 기기와의 상호 인증 처리를 병렬로 실행할 수 있으므로 기동 지연은 약 절반의 시간까지 감소시킬 수 있다.
(제 6 실시형태)
본 실시형태에서는 입체 시 인터리브드 스트림 파일의 내부 구조에 대한 개량이다.
전제사항으로 UDF 파일시스템에서의 파일에 대하여 간단하게 설명한다. UDF에서의 파일은 파일엔트리에 의해 관리되고 있는 복수의 익스텐트로 구성된다. 「파일엔트리」는 「기술자 태그」와, 「ICB 태그」와, 「할당기술자」를 포함한다.
「기술자 태그」는 자신이 파일엔트리라는 취지를 나타내는 태그이다. 태그에는 파일엔트리 기술자, 스페이스 비트 맵 기술자 등의 종별이 있지만, 파일엔트리의 경우에는 기술자 태그로 파일엔트리를 나타내는 「261」이 기술된다.
「ICB 태그」는 파일엔트리 자신에 관한 속성정보를 나타낸다.
「할당기술자」는 어느 디렉터리의 아래에 있는 하위 파일을 구성하는 익스텐트의 기록위치를 나타내는 논리블록번호(LBN)를 포함한다. 할당기술자는 익스텐트 길이을 나타내는 데이터와 익스텐트의 기록위치를 나타내는 논리블록번호를 포함한다. 단, 익스텐트 길이를 나타내는 데이터의 상위 2 비트는 「0」으로 설정됨으로써 할당이 끝난 상태 또한 기록이 끝난 익스텐트라는 취지를 나타내고, 「1」로 설정됨으로써 할당이 끝난 상태 또한 미기록 익스텐트라는 취지를 나타낸다. 「0」으로 설정됨으로써 할당 식별자의 이어지는 익스텐트임을 나타낸다. 어느 디렉터리의 아래에 있는 하위 파일이 복수의 익스텐트로 분할되고 있는 경우에는 파일엔트리는 익스텐트마다 복수의 할당기술자를 갖게 된다.
상술한 것과 같은 파일엔트리의 할당 식별자를 참조함으로써 스트림 파일을 구성하는 익스텐트의 어드레스를 지 얻을 수 있다.
다음에, 본 실시형태에서 상정되어 있는 파일의 종별에 대하여 설명한다.
<입체 시 인터리브드 스트림 파일(FileSS)>
입체 시 인터리브드 스트림 파일(FileSS)은 2TS를 인터리브 형식으로 한 스트림 파일(2TS 인터리브 파일)이며, 5 자릿수의 정수치와 입체 시 재생용의 인터리브드 형식 파일이라는 취지를 나타내는 확장자(ssif)에 의해 식별된다. 입체 시 인터리브드 스트림 파일은 익스텐트 SS[n]로 구성되고, 익스텐트 SS[n](EXTSS[n])는 인덱스 번호 n에 의해 특정된다. 인덱스 번호 n는 입체 시 인터리브드 스트림 파일의 선두로부터 1개씩 증가되는 번호이다.
익스텐트 SS[n]는 디펜던트 뷰 데이터블록과 베이스 뷰 데이터블록의 세트로 구성된다.
익스텐트 SS[n]를 구성하는 베이스 뷰 데이터블록, 디펜던트 뷰 데이터블록은 파일 2D, 파일 베이스, 파일 디펜던트로부터의 크로스 레퍼런스의 대상이 된다. 크로스 레퍼런스란 기록매체에 기록된 1개의 데이터 객체를 복수의 파일의 익스텐트로 파일엔트리에 등록해 두는 것을 말한다. 본 실시형태에서는 파일 2D의 파일엔트리, 파일 베이스의 파일엔트리, 파일 디펜던트의 파일엔트리에 베이스 뷰 데이터블록, 디펜던트 뷰 데이터블록의 선두 어드레스 및 연속 길이가 등록되게 된다.
<파일 베이스(FileBase)>
파일 베이스(FileBase)는 파일 2D에 대응하는 클립정보에서의 익스텐트 스타트포인트정보에 의해 지시되는 메인 TS를 「저장하고 있다」라고 여겨지는 가상적인 스트림 파일이며, 적어도 1개의 익스텐트 1[i](EXT1[i]라고 한다)에 의해 구성된다. 익스텐트 1[i]은 파일 베이스에서의 i번째의 익스텐트이고, i는 익스텐트의 인덱스 번호이며, 파일 베이스의 선두를 0으로 해서 증가된다. 파일 베이스는 2TS 파일인 입체 시 인터리브드 스트림 파일을 1TS 파일로 취급하기 위한 가상적인 스트림 파일이며, 그 파일엔트리를 재생장치의 메모리 상에서 구축함으로써 가상적으로 생성된다.
실제의 판독시에 파일 베이스는 이 입체 시 인터리브드 스트림 파일의 파일명을 이용하여 파일 오픈을 함으로써 특정된다. 구체적으로 말하면 재생장치의 미들웨어는 입체 시 인터리브드 스트림 파일의 파일명을 이용한 파일 오픈이 콜 되었을 경우 파일 베이스의 익스텐트를 특정하는 파일엔트리를 메모리 상에서 생성하고, 파일 베이스를 가상적으로 오픈한다. 입체 시 인터리브드 스트림 파일은 「1TS만을 포함하고 있다」라고 간주할 수 있으며, 2TS의 입체 시 인터리브드 스트림 파일을 1TS의 파일 베이스로 기록매체로부터 판독할 수 있다.
B-B프레젠테이션 모드에서 베이스 뷰 데이터블록만을 판독하고 싶은 경우에는 이 파일 베이스를 구성하는 익스텐트만이 판독의 대상이 된다. B-B프레젠테이션 모드에서 B-D프레젠테이션 모드로의 모드 변경이 있다고 하더라도 판독범위를 파일 베이스를 구성하는 익스텐트의 기록 범위로부터 입체 시 인터리브드 스트림 파일을 구성하는 익스텐트의 기록영역으로 확대하면 베이스 뷰 데이터블록, 디펜던트 뷰 데이터블록의 쌍방을 판독할 수 있으므로 파일 판독의 효율성을 저하시키는 일은 없다.
<파일 디펜던트(FileDependent)>
파일 디펜던트(FileDependent)는 서브 TS를 「저장하고 있다」라고 여겨지는 스트림 파일이며, 익스텐트 2[i](EXT2[i])에 의해 구성된다. EXT2[i]는 파일 디펜던트에서의 i번째의 익스텐트이고, i는 익스텐트의 인덱스 번호이며, 파일 디펜던트의 선두를 0으로 해서 증가된다. 파일 디펜던트는 2TS 파일인 입체 시 인터리브드 스트림 파일을 서브 TS를 저장한 1TS 파일로 취급하기 위한 가상적인 스트림 파일이며, 그 파일엔트리를 재생장치의 메모리 상에서 구축함으로써 가상적으로 생성된다.
디펜던트 뷰 비디오 스트림은 입체 시 인터리브드 스트림 파일의 파일명인 5 자릿수 번호에 1을 가산한 번호가 파일명으로 부여된다. 이 파일명을 이용하여 액세스 된다. 기록매체에는 더미 파일이 기록되어 있고, 디펜던트 뷰 비디오 스트림의 식별번호인 「1을 가산한 번호」가 이 더미 파일에 부여된다. 더미 파일이란 파일명만이 존재하고 있고, 실체인 익스텐트가 존재하지 않는 파일이며, 디펜던트 뷰 비디오 스트림은 이 더미 파일에 저장되는 것으로 취급된다.
<파일 2D(File2D)>
파일 2D는 2D 출력 모드에서 재생되는 메인 TS를 저장하고 있는 1TS의 스트림 파일이며, 익스텐트 2D로 구성된다. 파일 2D는 5 자릿수의 정수치와 입체 시 재생용의 인터리브드 형식 파일이라는 취지를 나타내는 확장자(ssif)에 의해 식별된다.
도 41은 익스텐트와 파일 2D/파일 베이스, 파일 디펜던트의 대응관계를 나타낸다.
제 1 단째는 파일 2D/파일 베이스, 파일 디펜던트인 00001.m2ts, 00002.m2ts를 나타내고, 제 2 단째는 베이스 뷰 데이터블록를 저장한 익스텐트, 디펜던트 뷰 데이터블록을 저장한 익스텐트를 나타낸다. 제 3 단째는 입체 시 인터리브드 스트림 파일인 00001.ssif를 나타낸다.
점선의 화살표 h1, h2, h3, h4는 익스텐트 EXT1[i], EXT2[i]가 어느 파일에 귀속해 있는가 하는 할당 식별자에 의한 귀속 관계를 나타낸다. 화살표 h1, h2에 나타낸 귀속 관계에 의하면 익스텐트 EXT1[i], EXT1[i+1]는 파일 베이스인 00001.m2ts의 익스텐트로 등록되어 있는 것을 알 수 있다.
화살표 h3, h4에 나타낸 귀속 관계에 의하면 익스텐트 EXT2[i], EXT2[i+1]는 파일 디펜던트인 00002.m2ts의 익스텐트로 등록되어 있는 것을 알 수 있다.
화살표 h5, h6, h7, h8에 나타낸 귀속 관계에 의하면 익스텐트 EXT1[i], EXT2[i], EXT1[i+1], EXT2[i+1]는 00001.ssif의 익스텐트로 등록되어 있는 것을 알 수 있다. 이상과 같이, 익스텐트 EXT1[i], EXT1[i+1]는 00001.ssif에 귀속하는 동시에 00001.m2ts에 귀속한다고 하는 이중성을 갖고 있음을 알 수 있다. 이 「ssif」라고 하는 확장자는 StereoScopic Interleave File의 머리글자를 취한 것이며, 입체 시 재생을 위해 인터리브 형식으로 되어 있음을 나타낸다.
여기서, 파일 베이스를 구성하는 익스텐트와 파일 디펜던트를 구성하는 익스텐트의 세트로, 동일한 익스텐트 식별자로 특정되는 것을 「인터리브 익스텐트 유닛」이라고 한다. 이 도 41의 예에서 익스텐트 식별자=i로 특정되는 EXT1[i]와 EXT2[i]의 쌍이 인터리브 익스텐트 유닛[i]이 되고, 익스텐트 식별자=i+1로 특정되는 EXT1[i+1]와 EXT2[i+1]의 쌍이 인터리브 익스텐트 유닛[i+1]이 된다. 입체 시 인터리브드 스트림 파일에 대한 랜덤 액세스시에는 이 익스텐트 식별자로 특정되는 인터리브 익스텐트 유닛이 한 번에 기록매체로부터 판독되는 것을 보장하지 않으면 안 된다.
도 42는 입체 시 인터리브드 스트림 파일과 파일 2D/파일 베이스의 관계를 나타낸다.
동 도면 (a)의 제 3 단째는 인터리브드 스트림 파일의 내부 구성을 나타낸다. 입체 시 인터리브드 스트림 파일은 베이스 뷰 데이터블록을 저장한 익스텐트 EXT1[1], EXT1[2]의 각각과 디펜던트 뷰 데이터블록을 저장한 익스텐트 EXT2[1], EXT2[2]의 각각이 교호로 배치됨으로써 구성된다.
제 1 단째는 파일 2D 및 파일 베이스의 내부 구성을 나타낸다. 파일 2D/파일 베이스는 제 3 단째에서의 인터리브드 스트림 파일을 구성하는 익스텐트 중 베이스 뷰 데이터블록을 저장한 익스텐트 EXT1[1], EXT1[2]만으로 구성되어 있다. 파일 2D의 파일명은 인터리브드 스트림 파일의 파일명이 동일하지만, 확장자가 다르다.
제 2 단째는 파일 디펜던트의 내부 구성을 나타낸다. 파일 디펜던트는 제 3 단째에서의 인터리브드 스트림 파일을 구성하는 익스텐트 중 디펜던트 뷰 데이터블록를 저장하는 익스텐트 EXT2[1], EXT2[2], EXT2[2]만으로 구성되어 있다. 파일 디펜던트의 파일명은 인터리브드 스트림 파일의 파일명에 1을 가산한 것으로 되어 있으며, 또 확장자가 다르다.
3D 영상을 포함한 광디스크라고 하더라도 모든 재생장치가 3D 재생방식에 대응하고 있다고는 할 수 없으므로 2D에서의 재생이 서포트되는 것이 바람직하다. 단, 2D 재생에만 대응한 재생장치는 3D로 확장된 데이터구조 등은 판별할 수 없다. 2D 재생장치는 종래의 2D 재생방식인 상태의 판별방법에서 2D 플레이리스트 및 2D 스트림에만 액세스할 수 있을 필요가 있으므로, 베이스 뷰 비디오 스트림에 대해서는 2D 방식의 재생장치를 인식할 수 있는 파일 형식으로 저장되어 있다.
1번째의 방법은 상술한 것과 같은 플레이리스트정보의 참조, 즉 메인 TS는 2D 재생에서도 이용할 수 있도록 2D 재생방식과 동일한 파일명을 사용하고, 인터리브 형식의 스트림 파일은 확장자를 바꾸는 방법이다. 동 도면 (b)에서의 00001.m2ts 및, 00001.ssif는 일방은 2D 방식, 타방은 3D 방식이면서 동일한 파일명 「00001」에 의해 커플링 되고 있다.
플레이리스트는 메인 TS의 AV 클립 밖에 참조하지 않으므로 기존의 2D 재생장치에서는 파일 2D 밖에 재생하지 않는다. 3D 대응의 재생장치는 플레이리스트는 메인 TS가 들어간 파일 2D 밖에 참조하고 있지 않으나, 동일한 식별번호를 갖고, 확장자만이 다른 파일이 존재하는 경우에는 그 파일을 찾아내서 3D 영상을 위한 인터리브 형식의 스트림 파일로이라고 판단하고, 메인 TS와 서브 TS를 출력한다.
2번째의 방법은 폴더를 나누는 방법이다. 메인 TS는 기존의 폴더명(예:STREAM)을 갖는 폴더 내에 저장해 두지만, 서브 TS는 3D 특유의 이름을 갖는 폴더(예:SSIF)에 동일한 파일명 「00001」로 저장해 둔다. 플레이리스트가 파일을 참조할 때, 2D 재생장치에서는 STREAM 폴더 내의 파일만을 참조하지만, 3D 재생장치의 경우는「STREAM」과 SSIF 폴더 중에서 동일한 이름의 파일을 동시에 참조함으로써 메인 TS와 서브 TS를 관련 짓는 것이 가능해진다.
3번째의 방법은 식별번호에 의한 것이다. 파일 2D/파일 베이스의 식별번호가 「00001」인 경우 파일 디펜던트의 식별번호는 동 도면 (c)에 나타낸 것과 같이 이 파일 2D의 식별번호에 「1」을 가산한 번호, 즉 「0002」라고 하는 식별번호를 부여하는 등, 일정한 룰에 따라서 관련 부여를 실행하는 방법이다. 그러나 기록매체의 파일시스템에서 상술한 룰에서 명명된 파일 디펜던트는 어디까지나 실체가 없는 더미 파일로 취급된다. 이는, 파일 디펜던트의 실체는 입체 시 인터리브드 스트림 파일에 지나지 않는다는 이유에 의한다. 이렇게 관련이 부여된 파일명을 기본 스트림 선택테이블에서의 스트림 등록정보 및 확장 스트림 선택테이블에서의 스트림 등록정보에서의 스트림 엔트리의 서브 클립 엔트리 ID 레퍼런스(ref_to_subclip_entry_id)에 기술해 둔다. 한편, 재생장치에 대해서는 서브 클립 엔트리 ID 레퍼런스에 기술된 식별번호에 「1」을 가산한 식별번호의 파일명은 더미 파일의 파일명으로 인증하고, 파일 디펜던트를 가상적으로 오픈하는 처리를 실행한다. 이렇게 하면 스트림 선택 프로시저에서 상술한 것과 같은 관련부여가 이루어진 파일 디펜던트가 확실히 기록매체로부터 판독되게 된다.
클립정보파일에 대해서도 동일한 룰로 식별된다.
이상이 파일 2D, 파일 베이스, 파일 디펜던트에 대한 설명이다.
이하, 데이터블록의 상세에 대하여 설명한다.
<베이스 뷰 데이터블록>
베이스 뷰 데이터블록(B[i])은 메인 TS의 i번째의 데이터블록이다. 여기서, 메인 TS란 현재 플레이아이템정보의 클립정보파일명 정보(클립정보파일 네임 정보)를 통해서 메인패스의 기축으로 지정되고 있는 TS이다. B[i]의 「i」는 파일 베이스의 선두의 데이터블록을 0으로 해서 증가되는 인덱스 번호이다.
베이스 뷰 데이터블록에는 파일 베이스와 파일 2D에서 공통화되는 것과 파일 베이스와 파일 2D에서 공통화되어 있지 않은 것이 있다.
파일 2D 및 파일 베이스에서 공통화되는 베이스 뷰 데이터블록 및 파일 2D고유의 베이스 뷰 데이터블록은 파일 2D의 익스텐트가 되는 것이며, 재생장치에서의 버퍼 언더플로를 일으키게 하지 않는 길이로 설정되어 있다. 그리고 그 선두의 섹터 어드레스는 파일 2D의 파일엔트리에서의 할당기술자에 기술되어 있다.
파일 2D와 공통화되어 있지 않은 파일 베이스 고유의 베이스 뷰 데이터블록은 파일 2D의 익스텐트는 되지 않으므로 재생장치에서의 싱글 버퍼를 언더플로를 발생시키지 않는 길이로 설정되어 있는 것은 아니다. 더 작은 사이즈, 즉 재생장치에서의 더블 버퍼를 언더플로 시키지 않는 길이로 설정되어 있다.
또, 파일 베이스 고유의 베이스 뷰 데이터블록은 그 선두 섹터 어드레스가 파일엔트리에서의 할당기술자에 기술되어 있지 않다. 대신에 베이스 뷰 데이터블록에서의 선두 소스 패킷의 소스 패킷이 메인 TS에 대응하는 클립정보파일의 클립정보 내의 익스텐트 스타트포인트정보에 의해 포인팅되고 있다. 따라서, 파일 베이스 고유의 베이스 뷰 데이터블록의 선두 섹터 어드레스는 입체 시 인터리브드 스트림 파일의 파일엔트리에서의 할당기술자와 클립정보 내의 익스텐트 스타트포인트정보를 이용하여 도출할 필요가 있다.
<디펜던트 뷰 데이터블록>
디펜던트 뷰 데이터블록(D[i])은 서브 TS의 i번째의 데이터블록이다. 서브 TS란 현재 플레이아이템정보에 대응하는 확장 스트림 선택테이블의 스트림 등록 열에서의 스트림 엔트리에서 서브패스의 기축으로 지정되고 있는 TS이다. D[i]의 「i」는 파일 디펜던트의 선두의 데이터블록을 0으로 해서 증가되는 인덱스 번호이다.
디펜던트 뷰 데이터블록은 파일 디펜던트의 익스텐트가 되는 것이며, 재생장치에서의 더블 버퍼의 언더플로를 일으키게 하지 않는 길이로 설정되어 있다.
또, 기록매체의 연속 영역 상에서 디펜던트 뷰 데이터블록은 동일한 재생시간에 재생되어야 할 베이스 뷰 데이터블록보다 앞에 배치된다. 따라서, 입체 시 인터리브드 스트림 파일의 판독시에 디펜던트 뷰 데이터블록은 반드시 베이스 뷰 데이터블록보다 먼저 판독되게 된다.
디펜던트 뷰 데이터블록은 파일 2D와 공통화되어 있지 않으므로 그 선두 섹터 어드레스가 파일 2D의 파일엔트리에서의 할당기술자에 기술되어 있지 않다. 대신에 디펜던트 뷰 데이터블록에서의 선두 소스 패킷의 소스 패킷이 클립정보 내의 익스텐트 스타트포인트정보에 의해 포인팅되고 있다. 따라서, 디펜던트 뷰 데이터블록의 선두 섹터 어드레스는 파일 2D의 파일엔트리에서의 할당기술자와 클립정보 내의 익스텐트 스타트포인트정보를 이용하여 도출할 필요가 있다.
<익스텐트의 유형>
상술한 것과 같이, 파일 2D의 익스텐트에는 파일 베이스의 익스텐트와 공통의 것과 파일 베이스와 공통이 아닌 것이 있다.
파일 2D의 익스텐트가 B[0], B[1], B[2], B[3]2D, B[4]2D로 구성되고, 파일 베이스의 익스텐트가 B[0], B[1], B[2], B[3]ss, B[4]ss로 구성되는 것으로 한다. B[0], B[1], B[2]는 파일 베이스와 공통화되어 있는 베이스 뷰 데이터블록이다. B[3]2D, B[4]2D는 파일 베이스와 공통화되어 있지 않은 파일 2D 고유의 베이스 뷰 데이터블록이다.
또, B[3]ss, B[4]ss는 파일 2D와 공통화되어 있지 않은 파일 베이스 고유의 베이스 뷰 데이터블록이다.
B[3]2D에서의 데이터와 B[3]ss의 데이터는 bit-for-bit의 동일성을 갖는다. B[4]2D에서의 데이터와 B[4]ss의 데이터는 bit-for-bit의 동일성을 갖는다.
이들 파일 2D에서의 데이터블록 B[2], B[3]2D, B[4]2D는 롱 점프를 일으키게 하는 장소의 직전에 연속 길이가 긴 익스텐트(빅 익스텐트)를 구성한다. 파일 2D는 롱 점프의 직전에 빅 익스텐트를 형성할 수 있으므로 입체 시 인터리브드 스트림 파일을 2D 출력 모드로 재생하는 경우라도 리드 버퍼의 언더플로를 걱정할 필요는 없다.
파일 2D 및 파일 베이스는 익스텐트가 일부 다르지만 동일성을 갖고 있으므로 이들 파일 2D 및 파일 베이스를 아울러 「파일 2D/파일 베이스」라고 한다.
도 43은 입체 시 인터리브드 스트림 파일, 파일 2D, 파일 베이스의 상호관계를 나타낸다. 제 1 단째는 파일 2D를 나타내고, 제 2 단째는 기록매체 상의 데이터블록, 제 3 단째는 입체 시 인터리브드 스트림 파일, 제 4 단째는 파일 베이스, 제 5 단째는 파일 디펜던트를 나타낸다.
제 2 단째에서의 데이터블록은 상술한 D[1], B[1], D[2], B[2], D[3], B[3]ss, D[4], B[4]ss, B[3]2D, B[4]2D이다. 그리고 화살표 ex1, ex2, ex3, ex4는 데이터블록 중 B[1], B[2], B[3]2D, B[4]2D가 파일 2D의 익스텐트를 구성하고 있다고 하는 귀속 관계를 나타낸다.
화살표 ex5, ex6는 데이터블록 중 D[1], B[1], D[2], B[2], D[3], B[3]ss, D[4], B[4]ss가 입체 시 인터리브드 스트림 파일의 익스텐트를 구성하고 있다고 하는 귀속 관계를 나타낸다.
제 4 단째는 이 입체 시 인터리브드 스트림 파일을 구성하는 데이터블록 중 B[1], B[2], B[3]ss, B[4]ss가 파일 베이스의 익스텐트가 되고, 제 5 단째는 입체 시 인터리브드 스트림 파일을 구성하는 데이터블록 중 D[1], D[2], D[3], D[4]가 파일 디펜던트의 익스텐트가 되는 것을 나타낸다.
도 44는 2D 플레이리스트, 3D 플레이리스트를 나타낸다. 제 1 단째는 2D 플레이리스트정보이고, 제 2 단째는 베이스 뷰 데이터블록, 제 3 단째는 3D 플레이리스트, 제 4 단째는 디펜던트 뷰 데이터블록를 나타낸다.
화살표 rf1, rf2, rf3은 2D 플레이리스트정보의 플레이아이템정보에서의 clip_information_file_name에 기술되어 있는 파일명 00001과 확장자 m2ts를 조합하는 것에 의한 재생경로를 나타낸다. 이 경우 데이터블록 B[1], B[2], B[3]2D에 의해 베이스 뷰 측의 재생경로가 구성된다.
화살표 rf4, rf5, rf6, rf7는 3D 플레이리스트정보의 플레이아이템정보에 의해 지정되는 재생경로를 나타낸다. 이 경우 B[1], B[2], B[3]ss, B[4]ss를 이용하여 베이스 뷰 측의 재생경로가 구성된다.
화살표 rf8, rf9, rf10, rf11는 3D 플레이리스트정보의 서브 플레이아이템정보에 의해 지정되는 재생경로를 나타낸다. 이 경우 D[1], D[2], D[3], D[4]를 이용하여 디펜던트 뷰 측의 재생경로가 구성된다. 이러한 플레이아이템정보, 서브 플레이아이템정보에 의해 지정되는 재생경로를 구성하는 데이터블록은 플레이아이템정보에서의 clip_information_file_name에 기술되어 있는 파일명과 확장자 ssif를 조합하여 파일 오픈을 함으로써 판독할 수 있다.
본 도면의 3D 플레이리스트에서의 클립정보파일 네임 정보, 2D 플레이리스트에서의 클립정보파일 네임 정보는 공통의 파일명을 기술하고 있으므로 이들 3D 플레이리스트, 2D 플레이리스트를 정의하는 플레이리스트정보를 기술할 때에는 공통되는 기술로 충분하다(부호 df1, df2 참조). 따라서, 이 3D 플레이리스트를 실현하는 것과 같은 플레이리스트정보를 기술해 두면, 재생장치의 출력 모드가 입체 시 출력 모드 일 때는 3D 플레이리스트로 기능하고, 재생장치의 출력 모드가 2D 출력 모드 일 때는 2D 플레이리스트로 기능하게 된다. 본 도면의 2D 플레이리스트, 3D 플레이리스트는 1개의 플레이리스트정보를 기술해 둠으로써 이것을 해석하는 재생장치의 출력 모드에 따라서 2D 플레이리스트, 3D 플레이리스트로 해석되므로 오서링을 실행하는 사람의 수고를 경감할 수 있다.
입체 시 인터리브드 스트림 파일에 메인 TS, 서브 TS를 저장하는 경우 2D 플레이리스트의 플레이아이템정보에서의 clip_information_file_name은 파일 2D의 파일명을 기술한다. 3D 플레이리스트의 플레이아이템정보에서의 clip_information_file_name은 파일 베이스의 파일명을 기술한다. 파일 베이스는 가상적인 파일이며, 그 파일명은 입체 시 인터리브드 스트림 파일과 동일한 것이므로 입체 시 인터리브드 스트림 파일의 파일명을 플레이아이템정보에서의 clip_information_file_name에 기술해 두면 좋다. 확장 스트림 선택테이블의 스트림 등록정보에서의 ref_to_subclip_entry_id는 파일 디펜던트의 파일명을 기술한다. 파일 디펜던트의 파일명은 입체 시 인터리브드 스트림 파일의 식별번호에 1을 가산한 것이다.
이상과 같이, 베이스 뷰 데이터블록과 디펜던트 뷰 데이터블록을 1개의 입체 시 인터리브드 스트림 파일에 저장하면서도 입체 시 인터리브드 스트림 파일을 파일 2D, 파일 베이스 및 파일 디펜던트 중 어느 하나의 파일로 오픈할 수 있으므로 디코더 측에서는 입체 시 인터리브드 스트림 파일을 통상의 스트림 파일과 마찬가지로 취급할 수 있다. 따라서, 베이스 뷰 비디오 스트림, 디펜던트 뷰 비디오 스트림의 저장 방식에 적극적으로 입체 시 인터리브드 스트림 파일을 도입할 수 있다.
다음에, 클립정보파일의 상세한 내부 구조에 대하여 설명한다.
도 45는 클립정보파일의 내부 구성을 나타낸다.
동 도면 (a)는 2D의 클립정보파일, 동 도면 (b)는 3D용의 클립정보파일을 나타낸다. 이들 클립정보파일은 「클립정보」, 「시퀀스 정보」, 「프로그램 정보」, 「특징점 정보」를 포함한다.
「클립정보」는 스트림 파일에 저장되어 있는 소스 패킷 열의 각각이 어떤 AV 클립인가를 ATC 시퀀스마다 나타낸다.
「시퀀스 정보」는 스트림 파일에 저장되어 있는 1 또는 복수의 소스 패킷 열이 어떤 ATC 시퀀스인가를 나타내는 정보(ATC 시퀀스 정보)를 ATC 시퀀스마다 나타내는 구성으로 되어 있다. ATC 시퀀스 정보는 ATC의 개시점인 소스 패킷이 어디에 존재하는가를 소스 패킷 번호로 나타내는 정보, STC 시퀀스 식별자-ATC 시퀀스 식별자 간의 오프셋과, 복수의 STC 시퀀스의 각각에 대한 STC 시퀀스 정보를 포함한다. STC 시퀀스 정보는 그 STC 시퀀스에서의 PCR을 저장하고 있는 소스 패킷의 패킷 번호, 그 ATC 시퀀스 중 어디에 STC 시퀀스의 개시점인 소스 패킷이 존재하는가를 나타내는 정보, STC 시퀀스에서의 재생 개시시각, 재생 종료시각을 포함한다.
「프로그램 정보」는 클립정보파일에 의해 「AV 클립」으로 관리되고 있는 메인 TS, 서브 TS의 프로그램 구성을 나타내는 정보이며, AV 클립이 어떤 ES를 다중화한 것인가를 나타낸다. 구체적으로는 AV 클립에 다중화되어 있는 ES가 어떤 패킷 식별자를 갖고 있는가, 어떤 부호화방식인가를 나타낸다. 비디오 스트림이 MPEG2-video, MPEG4-AVC 등 중 어느 부호화방식을 이용하여 압축 부호화되고 있는가는 이 프로그램 정보 내에 명시된다.
「특징점 정보」는 AV 클립에 다중화되어 있는 복수의 ES의 특징점이 어디에 존재하는가를 ES마다 나타내는 정보이다. ES마다의 특징점을 나타내는 정보가 기본 엔트리 맵으로 불린다.
무엇이 특징점이 될지는 스트림의 종별마다 다르다. 베이스 뷰 비디오 스트림, 디펜던트 뷰 비디오 스트림인 경우는 오픈 GOP, 클로즈드 GOP의 선두에 위치하는 I픽처 타입의 뷰 컴포넌트의 선두를 나타내는 액세스유닛 딜리미터가 특징점이 된다. 오디오 스트림인 경우는 1초 간격 등, 일정기간을 두고 존재하는 오디오 프레임의 선두 위치를 나타내는 액세스유닛 딜리미터가 특징점이 되며, PG 스트림, IG 스트림인 경우는 그래픽스 스트림의 디스플레이 세트 중 표시에 필요한 모든 기능 세그먼트를 구비한 것(에포크 스타트의 디스플레이 세트, 애퀴지션 포인트의 디스플레이 세트)의 선두 위치를 나타내는 액세스유닛 딜리미터가 특징점이 된다.
또, 특징점을 어떻게 나타낼지는 ATC 시퀀스, STC 시퀀스의 각각에서 다르다. ATC 시퀀스에서 특징점은 소스 패킷 번호로 표현된다. STC 시퀀스에서는 동일한 특징점이 STC 시간 축에서의 시점을 나타내는 PTS를 이용하여 표현된다.
상기의 차이에 감안하여 ES마다의 기본 엔트리 맵은 복수의 엔트리 포인트로 구성되어 있다. 구체적으로 말하면 엔트리 맵을 구성하는 개개의 엔트리 포인트는 ATC 시퀀스에서의 특징점의 소재를 나타내는 소스 패킷 번호가 STC 시퀀스에서의 특징점의 소재를 나타내는 PTS와 대응되어 있고, 그 특징점으로의 앵글 전환이 가능한지 여부를 나타내는 플래그(is_angle_change 플래그)와 GOP 선두에 존재하는 인트라 픽처의 사이즈를 나타내는 정보(I_size)를 구비하고 있다. 멀티앵글 구간을 구성하는 인터리브 유닛의 선두에 위치하는 소스 패킷은 앵글 전환이 가능하게 되어 있으므로 인터리브 유닛의 선두 소스 패킷을 가리키는 엔트리 포인트의 is_angle_change 플래그는 반드시 온으로 설정된다. 또, 인터리브 유닛의 선두 소스 패킷을 가리키는 엔트리 포인트는 엔트리 포인트에 의해 플레이아이템정보에서의 In_Time과 대응되어 있다.
ES마다의 엔트리 맵은 이들 스트림 종별마다의 특징점의 소스 패킷 번호를 PTS에 대응시켜서 나타내고 있으므로 이 엔트리 맵을 참조함으로써 STC 시퀀스에서의 임의의 시점으로부터 그 시점에 가장 가까운 ES마다의 특징점의 소재를 나타내는 소스 패킷 번호를 도출할 수 있다.
이상이 2D용의 클립정보파일에 대한 설명이다. 이어서, 3D용의 클립정보파일의 상세에 대하여 설명한다. 3D용의 클립정보파일은 도 45 (b)의 내부 구성으로 되어 있고, 통상의 클립정보(관리정보)인 「파일 2D용의 클립정보」외에 파일 디펜던트용의 클립정보인 「클립 디펜던트 정보(베이스 뷰 관리정보)」, 파일 베이스용의 클립정보인 「클립 베이스 정보(베이스 뷰 관리정보)」가 존재한다. 이것은 이하의 이유에 의한다. 상술한 것과 같이, 입체 시 인터리브드 스트림 파일과 통상의 스트림 파일의 혼동을 피하기 위하여 입체 시 인터리브드 스트림 파일은 스트림 파일과는 다른 디렉터리에 저장된다. 그 때문에 입체 시 인터리브드 스트림 파일에는 클립정보파일을 대응시킬 수 없다. 이에, 클립 디펜던트 정보 및 클립 베이스 정보는 파일 2D에 대응하는 클립정보파일에 저장되게 된다.
2D용의 클립정보와 클립 베이스 정보 및 클립 디펜던트 정보의 차이는 클립 베이스 정보 및 클립 디펜던트 정보의 내부에 익스텐트 스타트 포인트 열을 포함한 메타데이터가 존재하는 점이다.
동 도면 (b)에서 클립 디펜던트 정보는 익스텐트 스타트 포인트 열을 포함하고, 클립 베이스 정보도 익스텐트 스타트 포인트 열을 포함한다. 특징점 정보는 기본이 되는 엔트리 맵을 포함하고, 익스텐션 데이터는 확장 엔트리 맵을 포함한다.
3D 출력 모드에서 클립정보파일은 클립 베이스 정보 파일과 클립 디펜던트 정보 파일로 분할된다.
동 도면 (c)는 클립 베이스 정보 파일을 나타낸다. 본 도면에 나타낸 것과 같이 클립 베이스 정보와 기본 엔트리 맵으로 구성된다. 클립 베이스 정보는 익스텐트 스타트포인트정보 테이블을 포함한다.
동 도면 (d)는 클립 디펜던트 정보 파일을 나타낸다. 본 도면에 의하면 클립 디펜던트 정보 파일은 클립 디펜던트 정보와 확장 엔트리 맵을 포함한다. 클립 디펜던트 정보는 익스텐트 스타트포인트정보 테이블을 포함한다.
클립정보파일용의 디렉터리(CLPI 디렉터리)에는 2D 출력 모드의 클립정보파일이 존재하고 있다. 클립 베이스 정보 파일은 3D 출력 모드에서 클립정보파일로부터 생성되고, 이 2D 출력 모드의 클립정보파일에 저장되어 있는 것으로 취급된다.
클립정보파일용의 디렉터리(CLPI 디렉터리)에는 더미의 클립정보파일이 존재하고 있고, 이 더미의 클립정보파일에는 파일 2D/파일 베이스에 대응하는 번호, 즉 파일 2D/파일 베이스의 식별번호에 「1」을 가산한 번호의 파일명이 부여되어 있다. 클립 디펜던트 정보 파일은 3D 출력 모드에서 파일 2D에 대응하는 클립정보파일로부터 생성되고, 이 더미의 클립정보파일에 저장되어 있는 것으로 취급된다. 여기서, 2D 출력 모드의 클립정보파일이 00001.clpi이면 3D 출력 모드에서 클립 베이스 정보 파일은 00001.clpi에 저장되어 있는 것으로 취급되고, 3D 출력 모드에서 클립 디펜던트 정보 파일은 00002.clpi에 저장되어 있는 것으로 취급된다.
<익스텐트 스타트 포인트>
익스텐트 스타트 포인트에 대하여 설명한다.
상술한 것과 같이, 입체 시 인터리브드 스트림 파일은 2개의 클립 AV 스트림(BDAV MPEG2 트랜스포트 스트림)으로 구성된다. 익스텐트 스타트포인트정보 테이블의 쌍은 입체 시 인터리브드 스트림 파일을 2개의 AV 스트림으로 분할할 수 있다. 익스텐트 스타트포인트정보 테이블은 이하와 같이 공급된다.
(1) 익스텐트 스타트포인트정보 테이블은 서브패스 타입=8의 서브패스를 포함하는 플레이리스트의 플레이아이템에 의해 참조되는 클립정보에 저장되어서 재생장치에 공급된다. 서브패스 타입=8의 서브패스란 온 디스크 타입의 Out-of-MUX 디펜던트 뷰 비디오 스트림 재생 패스이다.
(2) 다른 익스텐트 스타트포인트정보 테이블은 서브패스 타입=8의 서브패스를 포함하는 플레이리스트의 서브 플레이아이템에 의해 참조되는 클립정보에 저장되어서 재생장치에 공급된다.
만약 플레이아이템정보에 멀티앵글 구간을 구성하고 있고, 멀티앵글 구간이 존재한다는 것을 나타내는 플래그("is_multiangle" flag)가 「온」으로 설정된 경우 익스텐트 스타트포인트정보 테이블의 쌍은 각각 앵글 ID치에 의해 참조되는 클립정보 및 서브 클립 엔트리 ID치에 의해 참조되는 클립정보에 저장되어서 재생장치에 공급된다.
클립정보파일에서의 익스텐트 스타트포인트정보 테이블의 데이터구조에 대하여 설명한다. ext_data_entry() 내의 익스텐션 데이터에서의 ID1치와 ID2치는 각각 0x0002, 0x0004로 설정되어야 한다.
익스텐트 스타트포인트정보 테이블을 갖는 클립정보파일은 이하의 2개의 조건을 만족할 필요가 있다.
(a) 서브패스 타입=8의 서브패스를 포함한 플레이리스트의 플레이아이템에 의해 참조되어야 한다.
(b) 서브패스 타입=8의 서브패스에서의 서브 플레이아이템에 의해 참조되어야 한다. 여기서, 서브패스 타입=8이란 온 디스크 타입의 Out-of-MUX 디펜던트 뷰 비디오 스트림 재생 패스를 말한다.
도 46은 클립정보파일과 플레이리스트와 입체 시 인터리브드 스트림 파일의 관계를 나타낸다. 우측은 입체 시 인터리브드 스트림 파일을 나타내고, 좌측은 클립정보파일을 나타낸다. 가운데는 제 1 단째에 파일 베이스를 나타내고, 제 2 단째에 클립 베이스 정보 파일, 제 3 단째에 3D 플레이리스트, 제 4 단째에 클립 디펜던트 정보 파일, 제 5 단째에 파일 디펜던트를 나타낸다.
화살표 bk1, bk2는 우측에서의 스트림 파일을 분할함으로써 파일 베이스, 파일 디펜던트가 얻어지는 것을 나타낸다.
좌측에서의 클립정보파일은 특징점 정보, 익스텐션 데이터, 클립 베이스 정보, 클립 디펜던트 정보를 포함한다. 화살표 bk3, bk4는 클립 베이스 정보에서의 익스텐트 스타트포인트정보 테이블, 클립 디펜던트 정보에서의 익스텐트 스타트포인트정보 테이블이 입체 시 인터리브드 스트림 파일을 분할할 수 있음을 모식적으로 나타낸다.
도 47은 클립 베이스 정보, 클립 디펜던트 정보의 내부 구성을 나타내는 도면이다. 본 도면 (a)에 나타낸 것과 같이, 클립 베이스 정보, 클립 디펜던트 정보는 대응하는 AV 클립이 어떤 스트림의 유형에 속하는가를 나타내는 「클립 스트림 타입 정보」와, 대응하는 AV 클립에 의해 구성되는 애플리케이션이 무비 애플리케이션, 타임 베이스 슬라이드 쇼 애플리케이션, 브라우저블 슬라이드 쇼 애플리케이션 등 어떤 유형에 속하는가를 나타내는 「애플리케이션 타입」과, 재생장치에서 소스 패킷이 소스 패킷 디패킷다이저를 통과한 후, AV 클립에서의 TS 패킷이 어느 정도의 전송 레이트로 전송되는가를 나타내는 「TS 리코딩 레이트」와, 대응하는 AV 클립을 구성하는 소스 패킷 수를 나타내는 「소스 패킷 수」와, 앞의 AV 클립을 구성하는 ATC 시퀀스의 ATC의 차분인 「ATC 차분치」와, 「익스텐트 스타트포인트정보 테이블」로 구성된다.
동 도면 (b)는 익스텐트 스타트포인트정보 테이블의 내부 구성을 나타낸다. 본 도면에 나타낸 것과 같이, 익스텐트 스타트포인트정보 테이블은 number_of_extent_start_points와 number_of_extent_start_points개의 SPN_start_point로 구성된다.
number_of_extent_start_points는 관련하는 AV스트림 파일에 귀속하는 익스텐트의 개수를 나타낸다. 클립 베이스 정보에서의 익스텐트 스타트포인트정보 테이블과 클립 디펜던트 정보에서의 익스텐트 스타트포인트정보 테이블의 쌍은 number_of_extent_start_points가 동일한 값이 된다.
SPN_extent_start(SPN_extent_start[0]~SPN_extnet_start[number_of_extent_start_point])는 number_of_extent_start_point+1개의 SPN_extent_start로 구성된다. SPN_extent_start는 익스텐트 식별자[익스텐트_id]에 의해 지시되고, AV스트림 파일에서의 익스텐트_id번째의 익스텐트가 개시하는 소스 패킷의 소스 패킷 번호를 나타내는 32 비트의 값이다.
다음에 클립정보파일의 익스텐션 데이터에 대하여 설명한다. 익스텐션 데이터에는 확장 엔트리 맵이 존재한다. 확장 엔트리 맵은 기본 엔트리 맵과 마찬가지로 복수의 엔트리 포인트로 구성되어 있다. 구체적으로 말하면 확장 엔트리 맵을 구성하는 개개의 엔트리 포인트는 ATC 시퀀스에서의 특징점의 소재를 나타내는 소스 패킷 번호가 STC 시퀀스에서의 특징점의 소재를 나타내는 PTS와 대응되어 있고, 그 특징점으로의 앵글 전환이 가능한지 여부를 나타내는 플래그(is_angle_change 플래그)와, GOP 선두에 존재하는 인트라 픽처의 사이즈를 나타내는 정보(I_size)를 구비하고 있다. 그러나 확장 엔트리 맵에는 이하의 제한이 확장 엔트리 맵에 부가되어 있는 점이 다르다.
확장 엔트리 맵 내에 MPEG4-MVC 뷰 컴포넌트를 위한 엔트리가 존재하는 경우 확장 엔트리 맵에서의 PTS와 동일한 뷰 컴포넌트에 대응하는 엔트리가 확장 엔트리 맵에 존재하지 않으면 안 된다.
애플리케이션 타입이 1, 8의 2개의 클립정보파일이고, 입체 시 인터리브드 스트림 파일에 대응하는 것이 존재하는 경우 이하의 조건이 만족되어야 한다. 즉, 애플리케이션 타입 「=1」의 클립정보(프라이머리 비디오 스트림이라고 하는 애플리케이션 타입의 클립정보이다)의 익스텐트 ID치에 의해 지시되는 익스텐트가 베이스 뷰 비디오 스트림의 PTS_EP_Start에 의해 참조되는 소스 패킷을 갖는 경우 애플리케이션 타입=8의 클립정보의 동일한 익스텐트 ID치에 의해 지시되는 익스텐트는 디펜던트 뷰 스트림의 동일한 값의 PTS_EP_Start에 의해 참조되는 소스 패킷을 포함하지 않으면 안 된다.
도 48은 기본 엔트리 맵과 확장 엔트리 맵을 나타내는 도면이다. 본 도면에서 제 5 단째는 디펜던트 뷰 데이터블록과 베이스 뷰 데이터블록의 복수의 세트를 나타낸다. 제 4 단째는 디펜던트 뷰 데이터블록 및 베이스 뷰 데이터블록을 구성하는 소스 패킷 열을 나타낸다. 제 1 단째는 PTS에서 특정되는 뷰 컴포넌트를 나타낸다. 그리고 제 2 단째는 기본 엔트리 맵을 나타내고, 제 3 단째는 확장 엔트리 맵을 나타낸다.
익스텐트 ID=1의 익스텐트 스타트 포인트에 의해 지시되는 익스텐트[1]가 베이스 뷰 비디오 스트림의 PTS_EP_Start=t1의 엔트리에 의해 참조되는 SPN=n1의 소스 패킷[n1]을 갖는 경우 애플리케이션 타입=8의 클립정보의 동일한 익스텐트 ID인 익스텐트 ID=1의 익스텐트 스타트 포인트에 의해 지시되는 익스텐트[1]는 디펜던트 뷰 스트림의 동일한 값의 엔트리인 PTS_EP_Start=t1의 엔트리에 의해 참조되는 SPN=n11의 소스 패킷[n11]을 포함한다.
이상과 같이 베이스 뷰 비디오 스트림의 GOP(i)의 선두에 위치하는 소스 패킷과 디펜던트 뷰 비디오 스트림의 GOP(i)의 선두에 위치하는 소스 패킷이 동일한 인터리브 익스텐트 유닛에 속하는 경우 베이스 뷰 비디오 스트림의 GOP(i) 선두의 소스 패킷 및 디펜던트 뷰 비디오 스트림의 GOP(i)의 선두 소스 패킷을 포인팅하는 엔트리가 기본 엔트리 맵 및 확장 엔트리 맵의 쌍방에 추가된다. 따라서 이 경우 기본 엔트리 맵 및 확장 엔트리 맵의 쌍방을 이용하면 베이스 뷰 비디오 스트림의 GOP(i) 및 디펜던트 뷰 비디오 스트림의 GOP(i)의 연속 판독을 보장할 수 있다.
도 49는 확장 엔트리 맵에서 허용되지 않는 엔트리를 나타낸다.
베이스 뷰 비디오 스트림의 PTS_EP_Start=x의 엔트리에 의해 참조되는 SPN=x의 소스 패킷[x]이 익스텐트 ID=x에서 참조되는 파일 베이스 익스텐트의 선두에 존재하고 있고, PTS_EP_Start=x의 엔트리에 의해 참조되는 SPN=y의 소스 패킷[y]이 익스텐트 ID 「=j」에서 참조되는 파일 디펜던트 익스텐트의 선두에 존재하고 있어서 i와 j가 다른 것으로 한다.
익스텐트 ID=i의 클립 디펜던트의 익스텐트 스타트 포인트에 의해 지시되는 익스텐트[i]는 베이스 뷰 비디오 스트림의 동일한 값의 엔트리인 PTS_EP_Start=x의 엔트리에 의해 참조되는 SPN=x의 소스 패킷을 포함하고 있다고는 말할 수 없으므로 확장 엔트리 맵에는 PTS_EP_Start=x의 엔트리를 추가할 수 없다.
베이스 뷰 비디오 스트림의 GOP(i)의 선두에 위치하는 소스 패킷과 디펜던트 뷰 비디오 스트림의 GOP(i)의 선두에 위치하는 소스 패킷이 다른 인터리브 익스텐트 유닛에 속하는 경우 GOP(i) 선두의 소스 패킷을 포인팅하는 엔트리를 기본 엔트리 맵 및 확장 엔트리 맵의 어디에도 추가하지 않는다. 이 경우 랜덤 액세스의 액세스처로부터 베이스 뷰 비디오 스트림의 GOP(i) 및 디펜던트 뷰 비디오 스트림의 GOP(i)가 제외되므로 액세스 성능의 저하를 방지할 수 있다.
도 50은 플레이아이템의 재생순서를 나타낸다.
스텝 S201은 현재 출력 모드가 3D 출력 모드인가 여부의 판정이며, 현재 출력 모드가 2D 출력 모드이면 스텝 S203~스텝 S206을 실행한다.
스텝 S203에서 현재 플레이아이템의 Clip_Information_file_name에 기술되어 있는 「XXXXX」과, 확장자 「m2ts」로 지정되어 있는 스트림 파일을 오픈하고, 스텝 S204에서 비디오 스트림의 패킷 ID에 대응하는 엔트리 포인트를 이용하여 현재 PlayItem.In_Time 및 현재 PlayItem.Out_Time을 Start_SPN[i] 및 End_SPN[i]로 변환한다.
스텝 S205에서는 패킷 ID[i]의 TS 패킷[i]을 Start_SPN[i]로부터 End_SPN[i]까지 판독하기 위한 판독범위[i]에 속하는 익스텐트를 특정하고, 스텝 S206에서 판독범위[i]에 속하는 익스텐트를 연속적으로 판독하도록 기록매체의 드라이브에 지시한다.
현재 출력 모드가 입체 시 출력 모드이면 스텝 S300~스텝 S60의 루프로 이행한다.
스텝 S300에서 현재 플레이아이템의 Clip_Information_file_name에 기술되어 있는 「XXXXX」과, 확장자「ssif」로 지정되어 있는 스트림 파일을 오픈하고, 스텝 S301에서 현재 플레이아이템정보의 베이스 뷰 인디케이터에 따라서 베이스 뷰 비디오 스트림을 레프트 뷰 비디오 플레인 및 라이트 뷰 비디오 플레인의 어느 일방에 할당하고, 디펜던트 뷰 비디오 스트림을 레프트 뷰 비디오 플레인 및 라이트 뷰 비디오 플레인의 타방에 할당한다.
스텝 S302에서 베이스 뷰 비디오 스트림에 대응하는 기본 엔트리 맵을 이용하여 현재 PlayItem.In_Time 및 현재 PlayItem.Out_Time을 Start_SPN[i] 및 End_SPN[i]으로 변환한다.
스텝 S303에서는 디펜던트 뷰 비디오 스트림에 대응하는 확장 엔트리 맵을 이용하여 SubPlayItemIn_Time, SubPlayItemOut_Time을 Start_SPN[j], End_SPN[j]으로 변환한다(스텝 S304).
베이스 뷰 비디오 스트림을 구성하는 TS 패킷[i]을 Start_SPN[i]로부터 End_SPN[i]까지 판독하기 위한 판독범위[i]에 속하는 익스텐트를 특정하고(스텝 S305), 패킷 ID[j]의 TS 패킷[j]을 Start_SPN[j]로부터 End_SPN[j]까지 판독하기 위한 판독범위에 속하는 익스텐트를 특정한다(스텝 S306). 그리고 스텝 S307에서 판독범위[i],[j]에 속하는 익스텐트를 어드레스의 오름순으로 정렬하고, 스텝 S308에서 정렬된 어드레스를 이용하여 판독범위[i],[j]에 속하는 익스텐트를 연속적으로 판독하도록 드라이브에 지시한다. 그 후, 소스 패킷 열이 판독되면, 스텝 S309에서 베이스 뷰의 ATC 시퀀스, 디펜던트 뷰의 ATC 시퀀스를 각각 복원하고, 베이스 뷰 용의 PID 필터, 디펜던트 뷰 용의 PID 필터에 보낸다.
이상과 같이 본 실시형태에 의하면 상기 기록매체에서는 메인 TS에서의 GOP 및 서브 TS에서의 GOP를 기록매체에 기록할 때, 확장 엔트리 맵에서의 엔트리는 디펜던트 뷰 픽처 데이터이며, 동일한 재생시각에 재생되어야 할 베이스 뷰 픽처 데이터가 기본 엔트리 맵의 엔트리에 의해 포인팅되고 있는 것만을 포인팅하도록 하고 있다.
기본 엔트리 맵의 엔트리에 의해 포인팅되고 있는 픽처 데이터와 확장 엔트리 맵의 엔트리에 의해 포인팅되고 있는 픽처 데이터가 동일한 익스텐트의 쌍으로 존재하므로 기본 엔트리 맵, 확장 엔트리 맵을 단서로 해서 익스텐트를 액세스하면 베이스 뷰의 GOP, 디펜던트 뷰의 GOP를 종합해서 재생할 수 있다. 이에 의해, 재생 개시의 지연을 해소할 수 있다.
(제 7 실시형태)
본 실시형태는 입체 시 슬라이드 쇼의 애플리케이션을 실현하는 개량에 관한 것이다.
슬라이드 쇼는 정지화면으로 구성되어 있으므로 영화보다 고정밀도의 랜덤 액세스가 요구된다. 고정밀의 랜덤 액세스란 1매 처, 10매 처와 같이 「한 장의 픽처」를 액세스 단위로 한 랜덤 액세스이다. 비디오 스트림의 엔트리 맵은 1초 간격과 같이 1초 정도의 시간 정밀도를 갖고, 이 1초고 하는 시간 간격에는 20~30매의 픽처가 포함될 수 있다. 따라서, 상술한 엔트리 맵을 이용하여 픽처 정밀도에서의 랜덤 액세스를 실현하려고 하면 엔트리 맵의 참조만으로는 충분하지 않고, 스트림에 대한 해석이 필요하게 된다.
여기에서의 「스트림의 해석」이란 엔트리 맵에 기재되어 있는 엔트리 위치로부터 픽처의 헤더를 인출하고, 이 헤더로부터 픽처의 사이즈를 판독하며, 그 사이즈에 의거하여 다음의 픽처의 기록위치를 특정한다고 하는 처리를 몇 번이나 반복해서 원하는 픽처의 기록 위치까지 더듬어 간다고 하는 것이다. 이러한 해석은 스트림에 대한 고빈도의 액세스를 수반하는 것이므로 엔트리 위치로부터 3매 처, 5매 처의 픽처를 판독하는 것만으로도 상당한 시간이 걸린다. 픽처 정밀도의 랜덤 액세스에 상당한 시간이 걸리므로 사용자조작에 즉응하여 전후의 픽처를 표시시키거나 10매 전후의 픽처를 표시시킬 수 있는 기능을 슬라이드 쇼에 추가하려고 해도 제작자 측이 기대하는 것과 같은 유용성이 되지 않는다.
슬라이드 쇼에 대한 엔트리 포인트는 비디오 스트림에서의 픽처마다의 엔트리 어드레스를 재생시각에 대응시켜서 나타내고 있다. 그리고, 플레이리스트 마크정보는 개개의 픽처 데이터를 지정하도록 하고 있다.
이와 같이 개개의 픽처 데이터가 엔트리 포인트와 플레이리스트 마크정보에 의해 지시되면, 1매 처, 3매 처와 같이 픽처 정밀도의 랜덤 액세스가 요구되었다고 하더라도 비디오 스트림의 해석을 수반하는 일 없이 픽처 정밀도의 랜덤 액세스를 실현할 수 있다.
시간 축 상의 임의의 시점으로부터 비디오 스트림 상의 기록 위치를 도출할 수 있고, 또 1매 처, 3매 처고 하는 픽처 정밀도에서의 랜덤 액세스를 실현할 수 있으므로 사용자조작에 즉응하여 전후의 픽처를 표시시키거나 수 매 전후의 픽처를 표시시킬 수 있는 애플리케이션을 제작할 수 있다.
지금까지의 실시형태에서 입체 시 재생이 가능한 비디오 스트림은 인터리브 형식으로 하고 있었으나, 이와 같이 인터리브 형식으로 하면 슬라이드 쇼를 구성하는 픽처 데이터는 L-L-L, R-R-R과 같은 순으로 배열되게 된다. 이와 같은 순서의 모든 픽처 데이터가 슬라이드 쇼를 구성하고 있고, 개개의 픽처 데이터가 엔트리 포인트에 의해 지시되면 엔트리 포인트는 00:00→00:01→00:02,00:00→00:01→00:02과 같은 순으로 배열되게 된다.
엔트리 맵에서의 엔트리 포인트는 그 재생시각이 오름순이 되도록 나열되지 않으면 안 되어서 엔트리 맵에 대한 제약에 위반한다. 이에, AV 클립의 애플리케이션 타입이 슬라이드 쇼인 경우의 특유의 제한으로 레프트 뷰 스트림을 구성하는 픽처 데이터 및 라이트 뷰 스트림을 구성하는 픽처 데이터를 1TS화하기로 한다. 이와 같이, 1TS화하면 레프트 뷰 스트림을 구성하는 픽처 데이터 및 라이트 뷰 스트림을 구성하는 픽처 데이터를 L-R-L-R-L-R고 하는 순으로 배열할 수 있고, 그리고 이들 픽처 데이터의 엔트리 포인트에 대해서는 그 엔트리 포인트에서의 재생시각이 00:00→00:00→00:01→00:01→00:02→00:02→00:03,00:03이 되도록 배열할 수 있다.
1매의 슬라이드를 이루는 픽처 데이터를 시간 순으로 배열하고, 그 후에 다중화를 실시함으로써 다중화된 픽처 데이터의 그룹이 기록매체의 연속영역에 기록되게 된다.
베이스 뷰 정지화상 데이터, 디펜던트 뷰 정지화상 데이터가 다중화된 트랜스포트 스트림에서 베이스 뷰 정지화상인 픽처 데이터의 선두인 액세스유닛 딜리미터는 디펜던트 뷰 정지화상인 픽처 데이터의 선두보다 선행하고 있고, 또한 디펜던트 뷰 정지화상인 픽처 데이터의 후미는 상기 베이스 뷰 정지화상의 다음에 재생되어야 할 베이스 뷰 정지화상의 픽처 데이터에서의 선두를 나타내는 액세스유닛 딜리미터보다 선행하고 있다. 그리고, 이들 베이스 뷰 정지화상의 픽처 데이터의 선두인 액세스유닛 딜리미터를 저장한 소스 패킷, 디펜던트 뷰 정지화상의 픽처 데이터의 선두인 액세스유닛 딜리미터를 저장한 소스 패킷은 자신 이외의 픽처 데이터를 포함하고 있지 않다. 즉, 베이스 뷰 정지화상을 나타내는 픽처 데이터, 디펜던트 뷰 정지화상을 나타내는 픽처 데이터는 완결한 상태로 베이스 뷰 - 디펜던트 뷰 - 베이스 뷰 - 디펜던트 뷰의 순으로 기록영역에 나열되어 있다.
레프트 뷰의 픽처 데이터, 라이트 뷰의 픽처 데이터를 다중화하고 있는 것은 이하의 이유에 의한다. 픽처 데이터를 한 개의 익스텐트로 기록매체에 기록하려고 하면 최소 익스텐트 길이를 만족할 수 없다. 최소 익스텐트 길이를 만족하기 위해 복수의 픽처 데이터를 상술한 것과 같이 시간 순서로 배치한 후에 다중화하고, 다중화된 TS를 기록한다. 이렇게 함으로써 최소 익스텐트 길이을 만족하도록 TS를 분할해서 기록하는 것이 가능해진다.
대조적으로 사이즈가 비교적 작으므로 1매의 정지화상을 표시하기 위한 데이터를 블록(block)으로 배치한 쪽이 판독 효율이 오르게 된다.
이상이 슬라이드 쇼를 구성하는 경우에서의 스트림 파일의 개량에 대한 설명이다. 이어서, 엔트리 맵에서의 개량의 상세에 대하여 설명한다.
확장 엔트리 맵의 엔트리는 디펜던트 뷰 픽처 데이터이며, 동일한 재생시각에 재생되어야 할 베이스 뷰 픽처 데이터가 기본 엔트리 맵의 엔트리에 의해 포인팅되고 있는 것만 포인팅한다. 슬라이드 쇼에서는 베이스 뷰 비디오 스트림에서의 모든 픽처를 지시하도록 엔트리 맵을 설정하므로 상술한 제약에 의해 디펜던트 뷰 비디오 스트림에서의 모든 픽처가 확장 엔트리 맵에 의해 지시되게 된다.
이렇게 하여 베이스 뷰 비디오 스트림에서의 픽처 데이터의 재생 시점이 엔트리 시각으로 기본 엔트리 맵에 의해 지정되고, 디펜던트 뷰 비디오 스트림에서의 픽처 데이터의 재생 시점이 엔트리 시각으로 확장 엔트리 맵에 의해 지정되므로 베이스 뷰 비디오 스트림을 구성하는 픽처 데이터, 디펜던트 뷰 비디오 스트림을 구성하는 픽처 데이터 중 어느 것을 랜덤 액세스의 액세스 처에 선택하는 경우에도 선행하는 IDR 픽처를 경유한다고 하는 우회의 오버헤드가 발생할 일은 없다.
이상과 같이 본 실시형태에 의하면 스트림 해석을 실행하는 일 없이 임의의 L화상의 픽처 데이터, R화상의 픽처 데이터의 세트를 판독하여 재생에 제공할 수 있으므로 사용자의 스킵 조작에 따라서 임의의 픽처 데이터를 랜덤 액세스할 수 있는 슬라이드 쇼 애플리케이션을 용이하게 실현할 수 있다.
(제 8 실시형태)
본 실시형태는 입체 시 인터리브드 스트림 파일을 구성하는 데이터블록에서 ATC 시퀀스를 복원하기 위한 개량에 관한 것이다. 도 51은 입체 시 인터리브드 스트림 파일을 구성하는 데이터블록에서 ATC 시퀀스가 어떻게 복원되는가를 나타낸다.
제 4 단째는 입체 시 인터리브드 스트림 파일을 구성하는 복수의 데이터블록을 나타내고, 제 3 단째는 메인 TS, 서브 TS에 다중화되는 소스 패킷 열을 나타낸다.
제 2 단째는 디펜던트 뷰를 구성하는 STC 시퀀스(2), 엔트리 맵, 디펜던트 뷰를 구성하는 ATC 시퀀스(2)의 세트를 나타내고, 제 1 단째는 베이스 뷰를 구성하는 STC 시퀀스(1), 엔트리 맵, 베이스 뷰를 구성하는 ATC 시퀀스(1)의 세트를 나타낸다. 제 3 단째부터 제 2 단째, 제 1 단째로의 화살표는 입체 시 인터리브드 스트림 파일에 인터리브화되고 있는 2개의 TS(메인 TS, 서브 TS)의 데이터블록에서 ATC 시퀀스(1), ATC 시퀀스(2)가 복원되는 것을 모식적으로 나타낸다. 이들 ATC 시퀀스는 클립정보에서의 엔트리 맵에 의해 STC 시퀀스와의 대응이 취해진다.
이상이 본 실시형태에 관한 기록매체에 대한 설명이다. 이어서, 재생장치의 상세에 대하여 설명한다.
본 실시형태에서의 재생장치의 판독부는 2개의 기록매체로부터의 소스 패킷 입력을 접수하는 구성으로 되어 있고, 2개의 기록매체의 각각을 액세스하기 위한 2개의 드라이브, 이들 2개의 드라이브로부터 입력된 소스 패킷을 일단 저장하고 디코더에 출력하기 위한 2개의 리드 버퍼를 포함한다. 그리고, 2개의 드라이브와 2개의 리드 버퍼의 사이에 ATC 시퀀스 복원부가 존재한다. 이 ATC 시퀀스 복원부는 1개의 기록매체로부터 판독된 인터리브드 스트림 파일 내의 소스 패킷으로부터 베이스 뷰를 구성하는 ATC 시퀀스와 디펜던트 뷰 스트림을 구성하는 ATC 시퀀스를 분리하고, 2개의 리드 버퍼의 각각에 기입하는 것이다. 이렇게 함으로써 재생장치는 베이스 뷰 비디오 스트림을 구성하는 ATC 시퀀스, 디펜던트 뷰 스트림을 구성하는 ATC 시퀀스가 각각 다른 기록매체로부터 판독된 것처럼 처리할 수 있다.
도 52는 ATC 시퀀스의 복원이 어떻게 이루어지는가를 나타내는 도면이다. 동 도면 (a)는 ATC 시퀀스 복원부를 구비한 판독부의 내부 구성을 나타낸다. 상술한 것과 같이 2개의 드라이브와 2개의 리드 버퍼의 사이에 ATC 시퀀스 복원부가 개재되어 있다. 도면 중의 화살표 B0은 1개의 드라이브로부터의 소스 패킷 입력을 상징적으로 나타낸 것이며, 화살표 B1는 베이스 뷰 비디오 스트림을 구성하는 ATC 시퀀스(1)의 기입, 화살표 D1는 디펜던트 뷰 스트림을 구성하는 ATC 시퀀스(2)의 기입을 모식적으로 나타낸다.
도 52(b)는 ATC 시퀀스 복원부에 의해 얻어진 2개의 ATC 시퀀스가 어떻게 취급되는가를 나타낸다. 도면 중의 한가운데에 다중 분리부 내에 존재하는 PID 필터를 나타낸다. 좌측은 ATC 시퀀스 복원부에 의해 얻어진 2개의 ATC 시퀀스를 나타낸다. 우측은 이들 2개의 ATC 시퀀스를 다중 분리함으로써 얻어진 베이스 뷰 비디오 스트림, 디펜던트 뷰 비디오 스트림, 좌측 눈 PG 스트림, 우측 눈 PG 스트림, 베이스 뷰 IG 스트림, 디펜던트 뷰 IG 스트림을 나타낸다.
도 53은 베이스 뷰 클립정보에서의 익스텐트 스타트포인트정보의 일 예와 디펜던트 뷰 클립정보에서의 익스텐트 스타트포인트정보의 일 예를 나타낸다. (a)는 베이스 뷰 클립정보의 익스텐트 스타트포인트정보와 디펜던트 뷰 클립정보의 익스텐트 스타트포인트정보를 나타낸다.
(b)는 ATC 시퀀스(1)를 구성하는 베이스 뷰 데이터블록 B[0], B[1], B[2]????B[n], ATC 시퀀스(2)를 구성하는 디펜던트 뷰 데이터블록 D[0], D[1], D[2]????D[n]를 나타낸다. (c)는 디펜던트 뷰 데이터블록의 소스 패킷 수, 베이스 뷰 데이터블록의 소스 패킷 수를 나타낸다.
(d)는 입체 시 인터리브드 스트림 파일에 포함되는 복수의 데이터블록을 나타낸다.
동 도면 (b)에 나타낸 것과 같이, ATC 시퀀스(2)가 디펜던트 뷰 데이터블록 D[0], D[1], D[2]????D[n]로 구성된다고 하면 ATC 시퀀스(2)에서의 디펜던트 뷰 데이터블록 D[0], D[1], D[2]????D[n]의 상대 소스 패킷 수인 0, b1, b2, b3, b4???bn이 파일 디펜던트의 익스텐트 스타트포인트정보의 SPN_extent_start에 기재된다.
ATC 시퀀스(1)가 베이스 뷰 데이터블록 B[0], B[1], B[2]????B[n]에 의해 구성된다고 하면 베이스 뷰 데이터블록의 상대 소스 패킷 수인 0, a1, a2, a3, a4???an이 파일 베이스의 익스텐트 스타트포인트정보의 SPN_extent_start에 기재된다.
동 도면 (c)는 입체 시 인터리브드 스트림 파일에서의 임의의 디펜던트 뷰 데이터블록 D[x], 임의의 베이스 뷰 데이터블록 b[x]의 소스 패킷 수이다. 디펜던트 뷰 데이터블록 D[x]의 선두 소스 패킷 번호가 bx이고, 디펜던트 뷰 데이터블록 D[x+1]의 선두 소스 패킷 번호가 bx+1인 경우 D[x]를 구성하는 소스 패킷 수는 bx+1-bx가 된다.
마찬가지로 베이스 뷰 데이터블록 B[x]의 선두 소스 패킷 번호가 ax이고, 베이스 뷰 데이터블록 B[x+1]의 선두 소스 패킷 번호가 ax+1인 경우 B[n]를 구성하는 소스 패킷 수는 ax+1-ax가 된다.
입체 시 인터리브드 스트림 파일에서의 최후의 베이스 뷰 데이터블록 B[n]의 선두 소스 패킷 번호가 an이고, ATC 시퀀스(1)에서의 소스 패킷의 개수가 number_of_source_packet1인 경우 B[n]를 구성하는 소스 패킷 수는 number_of_source_packet1-an가 된다.
입체 시 인터리브드 스트림 파일에서의 최후의 베이스 뷰 데이터블록 D[n]의 선두 소스 패킷 번호가 bn이고, ATC 시퀀스(2)에서의 소스 패킷의 개수가 number_of_source_packet2인 경우 D[n]를 구성하는 소스 패킷 수는 number_of_source_packet2-bn가 된다.
그렇다면 디펜던트 뷰 데이터블록의 선두 소스 패킷 번호, 베이스 뷰 데이터블록의 선두 소스 패킷 번호는 (d)에 나타낸 것과 같이 된다.
입체 시 인터리브드 스트림 파일에서 D[0]의 선두 SPN는 「0」, B[0]의 선두 SPN는 「b1」이 된다.
D[1]의 선두 SPN에 대해서는 선행하는 D[0]의 소스 패킷 수 b1와 B[0]의 소스 패킷 수 a1의 합이 되므로 「b1+a1」가 된다.
B[1]의 선두 SPN에 대해서는 선행하는 D[0]의 소스 패킷 수 b1와, B[0]의 소스 패킷 수 a1와, 선행하는 D[1]의 소스 패킷 수 b2-b1의 합이 되므로 「b2+a1(=b1+a1+b2-b1)」가 된다.
D[2]의 선두 SPN에 대해서는 선행하는 D[0]의 소스 패킷 수 b1와, B[0]의 소스 패킷 수 a1와, 선행하는 D[1]의 소스 패킷 수 b2-b1와, B[1]의 소스 패킷 수 a2-a1의 합이 되므로 「b2+a2(=b1+a1+b2-b1+a2-a1)」가 된다.
B[2]의 선두 SPN에 대해서는 선행하는 D[0]의 소스 패킷 수 b1와, B[0]의 소스 패킷 수 a1와, 선행하는 D[1]의 소스 패킷 수 b2-b1와, B[1]의 소스 패킷 수 a2-a1와, D[2]의 소스 패킷 수 b3-b2의 합이 되므로 「b3+a2(=b1+a1+b2-b1+a2-a1+b3-b2)」가 된다.
도 54는 ATC 시퀀스 1, 2에서의 임의의 데이터블록의 소스 패킷 번호를 설명하기 위한 도면이다.
동 도면 (a)의 ATC 시퀀스(2)에서 bx의 소스 패킷 번호에 존재하는 D[x]의 입체 시 인터리브드 스트림 파일에서의 소스 패킷 번호를 구하는 경우를 생각한다. 이 경우 D[x]의 선두 소스 패킷 번호는 D[0], B[0], D[1], B[1], D[2], B[2]????D[x-1], B[x-1]의 상대 소스 패킷 수의 소스 패킷 수의 총합이 되므로 동 도면 (b)에 나타낸 것과 같이 「bx+ax」가 된다.
동 도면 (a)의 ATC 시퀀스(1)에서 ax의 소스 패킷 번호에 존재하는 B[x]의 입체 시 인터리브드 스트림 파일에서의 소스 패킷 번호를 구하는 경우를 생각한다. 이 경우 동 도면 (b)에 나타낸 것과 같이 B[x]의 선두 소스 패킷 번호는 D[0], B[0], D[1], B[1], D[2], B[2]????D[x-1], B[x-1], D[x]의 상대 소스 패킷 수의 소스 패킷 수의 총합이 되므로 「bx+1+ax」가 된다.
동 도면 (c)는 상기 베이스 뷰 데이터블록을 익스텐트로 하는 파일 베이스와, 상기 디펜던트 뷰 데이터블록을 익스텐트로 하는 파일 디펜던트를 나타낸다.
B[x]에 해당하는 파일 베이스의 익스텐트인 EXT1[x]의 선두 LBN 및 연속 길이 및 D[x]에 해당하는 파일 디펜던트의 익스텐트인 EXT2[x]의 선두 LBN 및 연속 길이는 이하와 같이 구해진다.
D[x]의 선두 소스 패킷 번호로부터 LBN을 구하기 위해서는 ((bx+ax)*192/2048)고 하는 계산으로 소스 패킷을 LBN으로 변환한다. 마찬가지로 B[x]의 선두 소스 패킷 번호로부터 LBN를 구하기 위해서는 ((bx+1+ax)*192/2048)고 하는 계산으로 소스 패킷을 LBN으로 변환한다. 여기서 「192」는 소스 패킷 사이즈를 바이트 수로 나타낸 것이며, 「2048」은 섹터 사이즈(논리블록 사이즈)를 바이트 수로 나타낸 것이다. 이들 LBN에 가장 가까운 입체 시 인터리브드 스트림 파일의 익스텐트의 LBN은 상기 변환에 의해 얻어진 LBN을 함수 SSIF_LBN(file_offset)의 인수인 file_offset에 이용함으로써 산출된다. 함수 SSIF_LBN는 file_offset로부터 SSIF의 할당기술자를 더듬어서 file_offset에 해당하는 LBN를 돌려주는 함수이다.
이렇게 함으로써 EXT2[x]의 선두 LBN는 SSIF_LBN((bx+ax)*192/2048)가 되고, EXT1[x]의 선두 LBN는 SSIF_LBN((bx+1+ax)*192/2048)가 된다.
한편, EXT2[x]의 연속 길이는 (SSIF_LBN((bx+1+ax)*192/2048) -SSIF_LBN((bx+ax)*192/2048))가 된다. EXT1[x]의 연속 길이는 (SSIF_LBN((bx+1+ax+1)*192/2048)-SSIF_LBN((bx+1+ax)*192/2048))가 된다. 이들 선두 LBN 및 연속 길이를 나타내는 파일엔트리를 메모리 상에서 생성하면 파일 베이스, 파일 디펜던트를 가상적으로 얻을 수 있다.
이들 2개의 PID 필터에 의한 다중 분리는 제 1 실시형태에 나타낸 기본 스트림 선택테이블, 확장 스트림 선택테이블에 의한다. 이 ATC 시퀀스 복원부는 도 55의 처리를 하드웨어 자원에 실행시키는 프로그램을 작성함으로써 실현된다. 도 55는 ATC 시퀀스 복원순서를 나타낸다.
스텝 S91는 베이스 뷰 용의 ATC 시퀀스를 ATC 시퀀스(1)로 하고, 디펜던트 뷰 용의 ATC 시퀀스를 ATC 시퀀스(2)로 한다. 스텝 S92에서는 변수 x를 1로 초기화한다. 이 변수 x는 디펜던트 뷰 데이터블록, 베이스 뷰 데이터블록을 지시한다. 이후, 스텝 S94~스텝 S96의 루프를 반복한다.
변수 x에 의해 지시되는 소스 패킷 번호 bx가 베이스 뷰 데이터블록의 최후의 수치 n에 의해 지시되는 소스 패킷 번호 bn인가 여부를 판정하고(스텝 S93), 만약 그렇지 않으면 소스 패킷 번호 bx+ax에 의해 지시되는 소스 패킷(bx+ax)으로부터 bx+1+ax에 의해 지시되는 소스 패킷(bx+1+ax)의 직전의 패킷까지를 ATC 시퀀스(2)에 추가하며(스텝 S94), 소스 패킷(bx+1+ax)으로부터 소스 패킷(bx+1+ax+1)의 직전의 패킷까지를 ATC 시퀀스(1)에 추가하고(스텝 S95), 변수 x를 증가시킨다(스텝 S96)고하는 처리를 스텝 S93가 Yes로 판정될 때까지 반복한다.
스텝 S93가 Yes로 판정되면, 소스 패킷 번호 bn로부터(number_of_source_packet2-bn) 개의 소스 패킷을 ATC 시퀀스(2)에 추가하고(스텝 S97), 소스 패킷 번호 an로부터(number_of_source_packet1-an) 개의 소스 패킷을 ATC 시퀀스(1)에 추가한다(스텝 S98).
이상과 같이, ATC 시퀀스 1, 2가 복원되면, 베이스 뷰 데이터블록의 선두 LBN 및 연속 길이를 섹터 수로 나타내는 파일엔트리를 메모리 상에서 생성하고, 파일 베이스를 가상적으로 오픈한다(스텝 S99). 마찬가지로, 디펜던트 뷰 데이터블록의 선두 LBN 및 연속 길이를 섹터 수로 나타내는 파일엔트리를 메모리 상에서 생성하고, 파일 디펜던트를 가상적으로 오픈한다(스텝 S100).
<파일 베이스를 오픈하는 것의 기술적 의의>
여기서 임의의 시점으로부터의 랜덤 액세스를 실시할 때, 스트림 파일 내의 섹터 서치를 실시할 필요가 있다. 섹터 서치란 임의의 시점으로부터의 랜덤 액세스를 실시할 때, 그 시점에 대응하는 소스 패킷의 소스 패킷 번호를 특정하고, 그 소스 패킷 번호의 소스 패킷을 포함하는 섹터로부터 파일 리드를 실시한다고 하는 처리이다.
입체 시 인터리브드 스트림 파일은 한 개의 익스텐트가 크므로 섹터 서치의 탐색 범위가 넓고, 임의의 시점으로부터의 랜덤 액세스가 명해진 때 판독 처가 되는 섹터의 특정에 상당한 처리 시간을 필요로 하는 경우가 있다.
이것은, 인터리브 스트림 파일은 베이스 뷰 비디오 스트림을 구성하는 데이터블록, 디펜던트 뷰 스트림을 구성하는 데이터블록이 인터리브 배치되어서 한 개의 긴 익스텐트를 구성하고 있고, 인터리브 스트림 파일의 파일엔트리의 할당기술자는 그 긴 익스텐트의 선두 어드레스를 나타내고 있는 것에 지나지 않는다는 이유에 의한다.
이것에 대하여 파일 베이스는 길이가 짧은 복수의 익스텐트로 구성되어 있고, 개개의 익스텐트의 선두 어드레스가 할당기술자에 나타나 있으므로 섹터 서치 시의 탐색 범위가 좁고, 임의의 시점으로부터의 랜덤 액세스가 명해진 때, 판독 처가 되는 섹터의 특정이 단시간에 완료한다.
즉, 베이스 뷰 비디오 스트림을 구성하는 데이터블록이 파일 베이스의 익스텐트로 관리되고 있고, 데이터블록의 선두 어드레스가 파일 베이스에 대응하는 파일엔트리에서의 할당기술자에 명기되어 있으므로, 랜덤 액세스 위치를 포함하고 있는 익스텐트의 선두 어드레스로부터 섹터 서치를 개시하면 조기에 랜덤 액세스 위치가 되는 소스 패킷을 포함한 섹터에까지 도달할 수 있다.
이와 같이 베이스 뷰 비디오 스트림을 구성하는 데이터블록을 파일 베이스의 익스텐트로 관리하고, 각 익스텐트의 선두 어드레스 및 연속 길이를 파일 베이스에 대한 파일엔트리의 할당기술자에 나타내 둠으로써 베이스 뷰 비디오 스트림에서의 임의의 시점으로부터의 랜덤 액세스가 고속이 된다.
구체적인 섹터 서치의 순서는 이하의 것이 된다. 베이스 뷰 비디오 스트림에 대응하는 엔트리 맵을 이용함으로써 임의의 시점에 대응하는 랜덤 액세스 위치인 소스 패킷 번호를 도출한다.
다음에, 베이스 뷰 비디오 스트림에 대응하는 클립정보 내의 익스텐트 스타트 포인팅 정보를 이용함으로써 랜덤 액세스 위치가 되는 소스 패킷 번호를 포함 하고 있는 익스텐트가 어느 것인가를 특정한다.
또, 파일 베이스에 대응하는 파일엔트리의 할당기술자를 참조하면 랜덤 액세스 위치가 되는 소스 패킷 번호를 포함하고 있는 익스텐트의 선두 섹터 어드레스를 특정할 수 있다. 그 선두 섹터 어드레스에 파일 포인터를 설정하고, 파일 리드를 실행하며, 판독된 소스 패킷에 대한 패킷 해석을 실행함으로써 랜덤 액세스 위치가 되는 소스 패킷 번호의 소스 패킷을 특정한다. 그리고 특정된 소스 패킷 번호의 소스 패킷을 판독한다. 이에 의해, 메인 TS에 대한 랜덤 액세스가 효율적으로 실행되게 된다. 서브 TS도 마찬가지이다.
이상과 같이 본 실시형태에 의하면 익스텐트 스타트포인트정보에 의거하여 인터리브드 스트림 파일에서의 베이스 뷰 비디오 스트림의 익스텐트, 디펜던트 뷰 비디오 스트림의 익스텐트를 익스텐트 스타트포인트정보에 의거하여 정렬한 후에 다중 분리부, 디코더에 제공하므로 디코더나 프로그램은 베이스 뷰 비디오 스트림을 저장한 파일 베이스 디펜던트 뷰 비디오 스트림을 저장한 파일 디펜던트고 하는 2개의 파일이 기록매체에 가상적으로 존재하는 것으로 취급할 수 있다.
입체 시를 위한 베이스 뷰 비디오 스트림, 디펜던트 뷰 비디오 스트림을 인터리브 스트림 파일로 기록매체 하면서도 베이스 뷰 비디오 스트림 및 디펜던트 뷰 비디오 스트림의 단체 액세스를 가능하게 하므로 재생장치의 처리의 효율성을 향상시킬 수 있다.
(제 9 실시형태)
본 실시형태에서는 지금까지의 실시형태에 나타낸 기록매체를 만드는 방법, 즉, 기록방법의 형태에 대하여 설명한다.
본 실시형태에 관한 기록방법은 스트림 파일인 AV 파일, 스트림 파일 이외의 파일인 비 AV 파일을 실시간으로 작성하고, 기록매체에서의 AV 데이터 기록영역, 비 AV 데이터 기록영역에 직접 기입한다고 하는 실시간 리코딩으로 실현할 수 있다. 그뿐만 아니라 볼륨 영역에 기록해야 할 비트 스트림의 전체상을 사전에 작성하고, 이 비트 스트림을 기초로 원반 디스크를 작성하며, 이 원반 디스크를 프레스함으로써 광디스크를 양산한다고 하는 프리 포맷 리코딩도 포함한다. 본 실시형태에 관한 기록매체는 실시간 리코딩에 의한 기록방법 및 프리 포맷 리코딩에 의한 기록방법에 의해서도 특정되는 것이기도 하다.
실시간 리코딩 기술에 의해 기록방법을 실현하는 경우 당해 기록방법을 실행하는 기록장치는 실시간으로 AV 클립을 작성하고, BD-RE 또는 BD-R, 하드디스크, 반도체 메모리카드에 기록한다.
이 경우 AV 클립은 아날로그 입력 신호를 기록장치가 실시간으로 인코드함으로써 얻어진 TS라도 좋고, 기록장치가 디지털 입력한 TS를 퍼셜화함으로써 얻어진 TS라도 좋다. 실시간 리코딩을 실행하는 기록장치는 비디오 신호를 인코드하여 비디오 스트림을 얻는 비디오 인코더와, 오디오 신호를 인코드하여 오디오 스트림을 얻는 오디오 인코더와, 비디오 스트림, 오디오 스트림 등을 다중화하여 MPEG2-TS를 얻는 멀티플렉서와, MPEG2-TS형식의 디지털 스트림을 구성하는 TS 패킷을 소스 패킷으로 변환하는 소스 패킷다이저를 구비하고, 소스 패킷 형식으로 변환된 MPEG2 디지털 스트림을 AV 클립 파일에 저장하고 BD-RE, BD-R 등에 기입한다. 디지털 스트림이 기입과 동시에, 기록장치의 제어부는 메모리 상에서 클립정보나 플레이리스트정보를 생성하는 처리를 실행한다. 구체적으로는 사용자에 의해 녹화 처리가 요구된 때, 제어부는 AV 클립의 스트림 파일 및 클립정보파일을 BD-RE, BD-R상에 구축한다.
그리고, 장치 외부로부터 입력되는 TS에서 비디오 스트림에서의 GOP의 선두 위치가 검출되거나 인코더에 의해 비디오 스트림의 GOP가 생성되면, 기록장치의 제어부는 이 GOP에서 선두에 위치하는 인트라 픽처의 PTS와 이 GOP의 선두 부분을 저장한 소스 패킷의 패킷 번호를 취득하고, 이 PTS 및 패킷 번호의 세트를 EP_PTS 엔트리 및 EP_SPN 엔트리의 세트로 클립정보파일의 엔트리 맵에 추기한다. 이후, GOP가 생성될 때마다 EP_PTS 엔트리 및 EP_SPN 엔트리의 세트를 클립정보파일의 엔트리 맵에 추기해 간다. 이때, GOP의 선두가 IDR 픽처인 경우는 「온」으로 설정된 is_angle_change 플래그를 EP_PTS 엔트리 및 EP_SPN 엔트리의 세트에 추가한다. GOP의 선두가 IDR 픽처가 아닌 경우는 「오프」로 설정된 is_angle_change 플래그를 EP_PTS 엔트리 및 EP_SPN 엔트리의 세트에 추가한다.
또, 클립정보파일에서의 스트림의 속성정보에 대해서는 기록되어야 할 스트림의 속성에 따라서 설정한다. 이상과 같이 AV 클립, 클립정보가 생성되어서 BD-RE, BD-R에 기입되면, 이 클립정보 내의 기본 엔트리 맵을 개재하여 재생경로를 정의하는 플레이리스트정보를 생성하고, BD-RE, BD-R에 기입한다. 이와 같은 처리를 실행간 리코딩 기술에서 실행함으로써 AV 클립 - 클립정보 - 플레이리스트정보고 하는 계층 구조를 BD-RE, BD-R상에 얻을 수 있다.
이상이 실시간 리코딩에 의한 기록방법을 실행하는 기록장치이다. 이어서, 프리 포맷 리코딩에 의한 기록방법에 대하여 설명한다.
프리 포맷 리코딩에 의한 기록방법은 오서링 행정을 포함하는 것과 같은 광디스크의 제조방법이 된다.
도 56은 광디스크의 기록방법을 나타낸다. 동 도면 (a)는 프리 포맷 리코딩에 의한 기록방법을 나타내는 플로차트이고, 광디스크의 제조방법의 처리순서를 나타낸다. 광디스크의 제조방법은 오서링 스텝, 서명 스텝, 미디어 키 취득 스텝, 미디어 키 암호 스텝, 물리 포맷 스텝, 식별자 매입 스텝, 마스터링 스텝, 리플리케이션 스텝을 포함한다.
오서링 스텝 S201은 광디스크의 볼륨 영역의 전체상을 나타내는 비트 스트림을 작성한다.
서명 스텝 S202는 광디스크의 제조시에 AACS LA에 대하여 서명 요구를 실시한다. 구체적으로는 비트 스트림의 1 스텝을 추출하고, AACS LA에 송부한다. 여기서, AACS LA는 차세대의 디지털 가전기기에서의 저작물 보호기술에 관한 라이선스를 관리하는 단체이다. 오서링 장치를 이용하여 광디스크의 오서링을 실행하는 오서링 사이트 및 마스터링 장치를 이용하여 마스터링을 실행하는 마스터링 사이트는 AACS LA에 의해 라이선스의 제공을 받는다. 또, 미디어 키, 무효화 정보를 관리한다. 그리고, AACS LA로부터 서명된 비트 스트림의 일부분을 취득한다.
미디어 키 취득 스텝 S203은 AACS LA로부터 미디어 키를 취득한다. 미디어 키는 항상 고유의 것이 사용되는 것은 아니고 지금까지 제조된 광디스크의 매수가 일정 매수까지 달하면 새로운 것으로 갱신된다. 미디어 키를 갱신함으로써 특정의 메이커나 기기를 배제할 수 있고, 만일 암호키가 깨지더라도 무효화 정보를 이용함으로써 그 자체를 무효화할 수 있다.
미디어 키 암호화 스텝 S204는 미디어 키 취득 스텝에 의해 취득한 미디어 키를 이용하여 비트 스트림의 암호화에 이용한 키를 암호화한다.
물리 포맷 스텝 S205는 비트 스트림에 대하여 물리 포맷을 실행한다.
식별자 매입 스텝 S206은 광디스크에 수록되는 비트 스트림에 일반의 기기에서는 검출할 수 없는 고유한 식별자를 디지털 워터마크(electronic watermark)로 매입한다. 이에 의해, 부정한 마스터링에 의한 해적판의 양산을 막을 수 있다.
마스터링 스텝 S207은 광디스크의 원반을 제작한다. 먼저, 유리 기판상에 포토레지스트 층을 형성하고, 당해 포토레지스트 층에 대하여 원하는 홈이나 피트에 대응하도록 레이저광을 조사하여 노광하고, 현상 처리를 실행한다. 이 홈이나 피트는 8-16 변조된 비트 스트림의 각 비트치를 나타내는 것이다. 그 후, 이와 같은 레이저 커팅에 의해 홈이나 피트에 대응한 요철이 형성된 포토레지스트를 기초로 해서 광디스크의 원반을 제작한다.
리플리케이션 스텝 S208은 광디스크의 원반을 이용하여 그 복제인 광디스크를 대량생산 한다.
동 도면 (b)는 광디스크를 대량생산 하는 것이 아니라 일반 사용자가 PC를 사용하여 BD-R, BD-RE 등에 지금까지의 실시형태에서 설명한 각종 파일을 기록하는 경우의 프리 포맷 리코딩에 의한 기록방법의 처리순서를 나타낸다. 동 도면 (a)과 비교하면 동 도면 (b)에 의한 기록방법에서는 물리 포맷(스텝 S205), 마스터링(스텝 S207), 리플리케이션(스텝 S208)이 존재하지 않고, 대신에 각 파일의 기입 행정(스텝 S209)이 존재한다.
다음에 오서링 행정에 대하여 설명한다.
도 57은 오서링 행정의 처리순서를 나타내는 플로차트이다.
스텝 S101에서 메인 TS 및 서브 TS에 대한 릴 세트(reel sets)를 정의한다. 「릴」이란 엘리멘터리 스트림의 소재가 되는 데이터를 저장한 파일이며, 오서링 시스템에서는 로컬 네트워크상의 드라이브 상에 존재한다. 3D 카메라에 의해 촬영된 L화상이나 R화상, 촬영시에 녹음된 음성이나 그 후의 애프터 리코딩으로 수록된 음성, 언어마다의 자막, 메뉴를 데이터화한 것이 이들 릴에 해당한다. 「릴 세트」란 1개의 TS에 다중화되어야 할 엘리멘터리 스트림의 집합을 나타낸 소재 파일에 대한 링크 군이다. 여기에서는 메인 TS, 서브 TS의 각각에 대하여 릴 세트가 정의된다.
스텝 S102에서 플레이아이템, 서브 플레이아이템의 원형을 정의하고, 플레이아이템, 서브 플레이아이템의 재생순서를 정의함으로써 메인패스, 서브패스의 원형을 정의한다. 플레이아이템의 원형의 정의는 평면 시 출력 모드에서 그 플레이아이템으로 재생을 허가해야 할 릴의 지정과 In_Time/Out_Time의 지정을 GUI를 통해서 접수함으로써 이루어진다. 서브 플레이아이템의 원형의 정의는 입체 시 출력 모드에서 그 서브 플레이아이템에 대응하는 플레이아이템으로 재생을 허가해야 할 릴의 지정과 In_Time/Out_Time의 지정을 GUI를 통해서 접수함으로써 이루어진다.
재생을 허가해야 할 릴의 지정은 릴 세트에서의 소재 파일의 링크 중 재생을 허가해야할 것을 체크 박스로 체크한다고 하는 GUI로 구성된다. 이때, 각 릴에 대응시켜서 수치 입력란을 표시한다. 그리고, 이 수치 입력란에 의해 각 릴에 대한 우선 순위를 접수하고, 이것을 릴에 대응하는 우선 순위로 한다. 이상의 재생을 허가해야 할 릴의 설정과 우선 순위의 설정으로부터 스트림 선택테이블, 확장 스트림 선택테이블이 생성되게 된다.
In_Time 및 Out_Time의 지정은 GUI상에서 베이스 뷰 비디오 스트림 또는 디펜던트 뷰 비디오 스트림의 시간 축을 도형화하여 표시하고, 도형화된 시간 축에서 슬라이드 바를 이동시켜서 그 슬라이드 바의 위치 설정을 사용자로부터 접수한다고 하는 처리를 기록장치가 실행함으로써 이루어진다.
플레이아이템, 서브 플레이아이템의 재생순서의 정의는 GUI상에서 플레이아이템의 In_Time에서의 픽처를 썸네일(thumbnail)화해서 표시하고, 이 썸네일에 대하여 재생순서를 설정한다고 하는 조작을 기록장치가 사용자로부터 접수함으로써 이루어진다.
스텝 S103에서는 릴 세트에서 지정된 소재 파일을 인코드함으로써 복수의 엘리멘터리 스트림을 얻는다. 이들 복수의 엘리멘터리 스트림은 베이스 뷰 비디오 스트림, 디펜던트 뷰 비디오 스트림과, 이들 베이스 뷰 비디오 스트림, 디펜던트 뷰 비디오 스트림과 다중화되어야 할 오디오 스트림, PG 스트림, IG 스트림이 있다.
스텝 S104에서는 인코드에 의해 얻어진 엘리멘터리 스트림 중 베이스 뷰 비디오 스트림과 동일한 릴 세트에 속하는 것을 당해 베이스 뷰 비디오 스트림과 다중화함으로써 1개의 메인 TS를 얻는다.
스텝 S105에서는 인코드에 의해 얻어진 엘리멘터리 스트림 중 디펜던트 뷰 비디오 스트림과 동일한 릴 세트에 속하는 것을 당해 디펜던트 뷰 비디오 스트림과 다중화함으로써 1개의 서브 TS를 얻는다.
스텝 S106에서는 인코드 및 다중화 시에 설정된 파라미터를 기초로 클립정보파일의 원형을 생성한다.
스텝 S107에서는 플레이아이템의 원형을 기초로 플레이아이템정보, 서브 플레이아이템정보를 생성하고, 이들 플레이아이템정보, 서브 플레이아이템정보에 재생순서를 정의함으로써 메인패스정보, 서브패스정보를 생성해서 플레이리스트정보를 정의한다.
플레이아이템정보의 작성에서는 메인 TS에 다중화된 엘리멘터리 스트림 중 플레이아이템의 기본 구조에서 평면 시 출력 모드로 재생해야 한다고 규정된 것을 재생 가능하게 설정하기 위하여 플레이아이템정보 내에 스트림 선택테이블을 생성한다. 또, 베이스 뷰 비디오 스트림에서의 재생구간을 규정하기 위하여 상술한 편집 작업으로 규정된 In_Time, Out_Time를 플레이아이템정보에 기재한다.
서브 플레이아이템정보의 작성에서는 서브 TS에 다중화된 엘리멘터리 스트림 중 플레이아이템의 기본 구조에서 입체 시 출력 모드로 재생해야 한다고 규정된 것을 재생 가능하게 설정하기 위하여 플레이리스트정보의 익스텐션 데이터 내에 확장 스트림 선택테이블을 생성한다. 플레이아이템정보, 서브 플레이아이템정보는 클립정보파일 내의 정보를 기초로 정의되므로 클립정보파일의 원형을 기초로 해서 설정된다.
스텝 S108에서는 메인 TS, 서브 TS, 클립정보파일의 원형, 플레이리스트정보의 원형을 소정의 애플리케이션 포맷에 따른 디렉터리 파일 군으로 변환한다.
이상의 과정을 얻어서 메인 TS, 서브 TS, 클립정보, 플레이아이템정보, 서브 플레이아이템정보가 생성되면, 메인 TS, 서브 TS를 각각 독립한 스트림 파일로 변환하고, 클립정보를 클립정보파일로 변환하며, 플레이아이템정보 및 서브 플레이아이템정보를 플레이리스트정보 파일로 변환함으로써 기록매체에 기록되어야 할 일련의 파일 세트를 얻는다.
그 후, 비디오 스트림의 인코드 행정의 실행시에 상기 변환으로 얻은 플레인 오프셋 값, 오프셋방향정보를 각 GOP의 메타데이터에 기재하면 오프셋 시퀀스는 인코드의 과정에서 작성해 둘 수 있다.
도 58은 AV 파일 기입 공정의 처리순서를 나타낸다. 실시간 리코딩에 의한 기록방법이나 마스터링, 리플리케이션에 수반하여 기록방법의 실시에서는 AV 파일의 기입을 본 도면의 플로차트에 의해 실현한다.
스텝 S401에서 xxxxx.ssif를 구축하고, 기록장치의 메모리 상에 파일엔트리를 작성한다. 스텝 S402는 비어있는 연속 섹터 영역을 확보할 수 있었는지 여부의 판정이며, 확보할 수 있었다면 스텝 S403에서 비어있는 연속 섹터 영역에 디펜던트 뷰 데이터블록을 구성하는 소스 패킷 열을 EXT2[i]만 기입하고, 그 후 스텝 S404~스텝 S408을 실행한다. 확보할 수 없는 경우는 스텝 S409에서 예외 처리를 한 후에 기록방법을 종료한다.
스텝 S404~스텝 S408은 스텝 S407이 No로 판정될 때까지 스텝 S404~스텝 S406, 스텝 S408의 처리를 반복하는 루프를 구성하고 있다.
스텝 S405는 비어있는 연속 섹터 영역에 베이스 뷰 데이터블록을 구성하는 소스 패킷 열을 EXT1[i]만 기입한다. 스텝 S406은 소스 패킷 열이 기입된 선두 어드레스 및 연속 길이를 나타내는 할당 식별자를 파일엔트리에 추기하여 익스텐트로 등록한다. 이에 수반하여 기입된 소스 패킷 열의 선두 소스 패킷 번호를 가리키는 익스텐트 스타트포인트정보를 클립 베이스 정보, 클립 디펜던트 정보 내의 메타데이터에 추기한다.
스텝 S407은 루프의 종료 조건을 규정하는 것이며, 베이스 뷰 데이터블록, 디펜던트 뷰 데이터블록에 미 기입의 소스 패킷이 존재하는가 여부의 판정을 실행한다. 존재하면 스텝 S408로 이행하고 루프를 계속한다. 존재하지 않으면 스텝 S410으로 이행한다.
스텝 S408은 연속 섹터 영역이 존재하는가 여부의 판정이며, 존재하면 스텝 S403로 이행하고, 존재하지 않으면 스텝 S402까지 돌아온다.
스텝 S410에서는 xxxxx.ssif를 클로즈하고, 파일엔트리를 기록매체에 기입한다. 스텝 S411에서는 xxxxx.m2ts를 구축하고, 메모리에 xxxxx.m2ts의 파일엔트리-를 생성한다. 스텝 S412에서는 파일 2D에서 고유가 되는 베이스 뷰 데이터블록의 선두 어드레스 및 연속 길이를 나타내는 할당기술자를 xxxxx.m2ts의 파일엔트리에 추기한다. 스텝 S413에서는 xxxxx.m2ts를 클로즈하고, 파일엔트리를 기입한다.
스텝 S404는 EXTSS+EXT2D의 범위 내에 롱 점프의 발생 지점이 존재하는가 여부의 판정이다. 여기에서의 롱 점프의 발생 지점은 층 경계인 것으로 한다. EXTSS+EXT2D의 범위 내에 층 경계가 존재하는 경우 스텝 S420에서 베이스 뷰 데이터블록을 복제하고, 베이스 뷰 데이터블록 B[i]ss와 베이스 뷰 데이터블록 B[i]2D를 롱 점프 발생 지점의 직전까지 기입하고, 그 후 스텝 S406으로 이행한다. 이들이 파일 2D의 익스텐트, 파일 베이스의 익스텐트가 된다.
이하, EXT2D, EXT1[n], EXT2[n], EXTss[n]의 구체적인 값을 설명한다.
EXT2D의 하한치는 2D 출력 모드의 재생시에 각 베이스 뷰 데이터블록에서 다음의 베이스 뷰 데이터블록까지의 점프기간 중에서 재생장치에서의 리드 버퍼의 버퍼 언더플로가 생기지 않도록 결정된다.
n번째의 베이스 뷰 데이터블록에서 (n+1)번째의 베이스 뷰 데이터블록까지의 점프가 시간 Tjump2D(n)를 필요로 하고, 각 베이스 뷰 데이터블록이 리드 버퍼에 속도 Rud2D로 판독되고, 또한 리드 버퍼로부터 비디오 디코더에 상기 베이스 뷰 데이터블록이 평균 속도 Rbext2D로 전송될 때, EXT2D의 하한치는 이하의 조건 1의 식으로 나타낸다.
<조건 1>
EXT2D의 하한치 ≥(Rud2D×Rbext2D)/(Rud2D-Rbext2D)×Tjump2D(n)
베이스 뷰 데이터블록 B[n]ss에 대응하는 익스텐트를 EXT1[n]인 것으로 한다. 이 경우 EXT1[n]의 하한치는 B-D프레젠테이션 모드의 재생시에 각 베이스 뷰 데이터블록에서 다음의 디펜던트 뷰 데이터블록까지의 점프기간과, 당해 디펜던트 뷰 데이터블록에서 다음의 베이스 뷰 데이터블록까지의 점프기간을 통해서 더블 버퍼의 언더플로를 일으키지 않도록 결정된다.
여기에서의 더블 버퍼는 리드 버퍼 1, 리드 버퍼 2로 구성되는 것으로 한다. 리드 버퍼 1은 2D 재생장치의 리드 버퍼와 동일한 것이다.
B-D프레젠테이션 모드의 재생에서 n번째의 베이스 뷰 데이터블록에서 p번째의 디펜던트 뷰 데이터블록까지의 점프가 시간 TFjump3D(n)를 필요로 하고, p번째의 디펜던트 뷰 데이터블록에서 (n+1)번째의 베이스 뷰 데이터블록까지의 점프가 시간 TBjump3D(n)를 필요로 하는 것으로 한다.
그리고 각 베이스 뷰 데이터블록이 리드 버퍼 1에 속도 Rud3D로 판독되고,각 디펜던트 뷰 데이터블록이 리드 버퍼 2에 속도 Rud3D로 판독되며, 또한 리드 버퍼 1에서 비디오 디코더에 상기 베이스 뷰 데이터블록이 평균 속도 Rbext3D로 전송될 때, EXT1[n]의 하한치는 이하의 조건 2의 식으로 나타낸다. 빅 익스텐트의 연속 길이는 이 하한치, 또는 이 하한치를 웃도는 값으로 설정된다.
<조건 2>
EXT1[n]의 하한치 ≥(Rud3D×Rbext3D)/(Rud3D-Rbext3D)
×(TFjump3D(n)+EXT2[n]/(Rud3D+TBjump3D(n)))
EXT2의 하한치는 B-D프레젠테이션 모드의 재생시에 각 디펜던트 뷰 익스텐트에서 다음의 베이스 뷰 익스텐트까지의 점프기간과, 당해 베이스 뷰 익스텐트에서 다음의 디펜던트 뷰 익스텐트까지의 점프기간을 통해서 재생장치에서의 더블 버퍼에 언더플로를 일으키지 않도록 결정되고 있다.
(n+1)번째의 베이스 뷰 데이터블록에서 (p+1)번째의 디펜던트 뷰 데이터블록까지의 점프가 시간 TFjump3D(n+1)를 필요로 하고, 또한 리드 버퍼 2에서 디코더에 상기 디펜던트 뷰 스트림 파일이 평균 속도 Rdext3D로 전송될 때, EXT2[n]의 하한치는 이하의 조건 3의 식으로 나타낸다.
<조건 3>
EXT2[n]의 하한치 ≥(Rud3D×Rbext3D)/(Rud3D-Rdext3D)
×(TBjump3D(n)+EXT1[n+1]/(Rud3D+TFjump3D(n+1)))
<EXTSS의 구체적인 값>
어느 익스텐트의 판독에서 다음의 익스텐트로의 점프시에 그 점프의 직전의 버퍼 점유량은 충분한 것이 아니면 안 된다. 그렇다면 입체 시 인터리브드 스트림 파일의 판독시의 리드 버퍼는 1개의 익스텐트에 의해 충전될 필요가 있고, 버퍼 언더플로의 발생을 피하지 않으면 안 된다.
그러나 EXTSS는 익스텐트에서 익스텐트로의 점프기간 Tjump 만이 아니고 Tdiff에 의거하여 정할 필요가 있다. 여기서 Tdiff는 EXTss에서의 디펜던트 뷰 데이터블록의 프리로드와 EXTssnext에서의 디펜던트 뷰 데이터블록의 프리로드에 수반하는 지연 시간을 의미한다. 이하에 Tdiff의 의미에 대하여 해설하면 입체 시 인터리브드 스트림 파일의 판독시에 선두의 디펜던트 뷰 데이터블록을 프리로드 하고 있는 동안은 재생을 개시할 수 없다.
EXTss에서는 이 디펜던트 뷰 데이터블록의 프리로드에 필요한 기간만큼 재생이 지연되므로 EXTss에서 선두의 디펜던트 뷰의 데이터블록의 프리로드에 필요한 시간은 재생이 그만큼 지연되어 버린다고 하는 「지연 기간」이 된다.
반대로 EXTssnext에서는 EXTss에서 EXTssnext로의 점프의 직후에 선두의 디펜던트 뷰 데이터블록의 프리로드가 이루어지므로 그 사이만큼 비디오 디코더의 재생 개시가 지연되어도 좋게 된다. 즉 EXTssnext의 재생시에 선두의 디펜던트 뷰 데이터블록의 프리로드가 이루어지는 기간은 비디오 디코더 재생 개시가 유예되는 「유예기간」이 된다.
이상을 근거로 Tdiff는 디펜던트 뷰 데이터블록의 유예기간에서 지연 기간을 뺀 값으로 해서 도출되게 된다. 구체적으로는 이하의 식을 만족하도록 산출된다.
Tdiff=ceil[((S1stEXT1[i]EXTSSnext]-S1stEXT1[i]EXTSS)x1000x8)/Rud72]
여기서 Tdiff는 S1stEXT2[i]EXTss의 판독기간과 S1stEXT2[i]EXTssnext의 판독기간의 차분을 의미하고, S1stEXT2[i]EXTss는 EXTss의 최초에 위치하는 EXT2[i]의 사이즈이며, S1stEXT2[i]EXTssNEXT는 EXTssNEXT의 최초에 위치하는 EXT2[i]의 사이즈이다. EXTssnext는 입체 시 인터리브드 스트림 파일에서의 익스텐트이며, EXTss의 직후에 위치하고, EXTss와 심리스로 재생되는 것이다.
이 Tdiff와 EXTssnext로의 점프 시간(Tjump)을 이용하면 각 익스텐트에서의 평균 비트 레이트에 의거한 최소 익스텐트 사이즈인 Sextss는 이하의 조건 4를 만족하는 값으로 산출된다.
<조건 4>
SextSS[Byte]≥ceil[(Tjump+Tdiff×Rud72)/(1000×8))×(Rextss×192)/(Rud72×188-Rextss×192)]
여기서, Rud72는 입체 시 출력 모드에서의 BD-ROM 드라이브로부터의 데이터 레이트이다.
Rextss는 EXTss의 평균 비트 레이트이며, 이하의 식으로부터 도출된다.
Rextss=ceil[Nsp×188×8/(ATCDextss/27000000)]
ATCDextss=ATCstart_extssnext-ATCstart_extss
ATCDextss=ATClast_extss - ATCstart_extss + ceil(27000000x188x8/min(Rts1, Rts2))
ATCDextss는 EXTss의 ATC 기간이다.
ATCstart_EXTSS는 EXTss에서의 소스 패킷 열의 ATC 필드에 의해 지시되는 최소의 ATC치이다.
ATCstart_EXTssnext는 EXTssnext에서의 소스 패킷 열의 ATC 필드에 의해 지시되는 최소의 ATC치이다.
ATClast_EXTSS는 EXTss에서의 소스 패킷 열의 ATC 필드에 의해 지시되는 최대의 ATC치이다.
Nsp는 메인 TS, 서브 TS에서의 소스 패킷이며, ATCDexss의 범위 내에 있는 ATC에 대응하는 ATC치를 갖는 것의 개수이다.
Rts1는 메인 TS에서의 TS 리코딩 레이트의 값이며, 그 최대치는 48Mbps이다.
Rts2는 서브 TS에서의 TS 리코딩 레이트의 값이며, 그 최대치는 48Mbps이다.
2개의 플레이아이템을 연속적으로 재생 존재하는 경우 EXTss는 Previous 플레이아이템(플레이아이템 1)에 의해 사용되는 ATC 시퀀스의 최초의 데이터 바이트를 포함한다.
?EXTss는 조건 4에서 정의된 최소 익스텐트 사이즈 이상의 사이즈를 갖는다.
?EXTss가 Previous 플레이아이템에 의해 사용되는 ATC 시퀀스의 최초의 데이터 바이트인 경우 Previous 플레이아이템의 커넥션 컨디션 정보는 =5, =6으로 설정되지 않는다. 이 경우 EXTss의 사이즈를 만족하지 않아도 좋다.
EXTss는 현재 플레이아이템(플레이아이템 2)에 의해 사용되는 ATC 시퀀스의 데이터 바이트를 포함한다.
?EXTss는 조건 4에서 정의된 최소 익스텐트 사이즈 이상의 사이즈를 갖는다.
?EXTss가 플레이아이템 2에 의해 사용되는 ATC 시퀀스의 최후의 데이터 바이트인 경우 플레이아이템 2의 커넥션 컨디션 정보는 =5, =6으로 설정되지 않는다. 이 경우 EXTss의 사이즈를 만족하지 않아도 좋다.
<베이스 뷰 데이터블록, 디펜던트 뷰 데이터블록의 기록의 상세>
메인 TS에서의 GOP 및 서브 TS에서의 GOP를 기록매체에 기록할 때 확장 엔트리 맵에서의 확장 엔트리 맵의 엔트리는 디펜던트 뷰 픽처 데이터이며, 동일한 재생시각에 재생되어야 할 베이스 뷰 픽처 데이터가 기본 엔트리 맵의 엔트리에 의해 포인팅되고 있는 것만을 포인팅하도록 하고 있다.
그와 같은 포인팅을 실현할 수 있도록 기록처리를 이하와 같이 실시한다.
기록 처리시에 디펜던트 뷰 데이터블록 및 베이스 뷰 데이터블록의 경계와 디펜던트 뷰 GOP 및 베이스 뷰 GOP의 경계의 일치를 시도한다. 이 경계 일치는 서브 TS에서의 GOP(i)의 선두 비디오 액세스유닛의 액세스유닛 딜리미터를 디펜던트 뷰 데이터블록의 경계로 분할하고, 메인 TS에서의 GOP(i)의 선두 비디오 액세스유닛의 액세스유닛 딜리미터를 베이스 뷰 데이터블록의 경계로 분할함으로써 이루어진다. 이 분할시에는 앞에서 설명한 익스텐트 길이의 제약을 만족하지 않으면 안 된다.
분할시에 베이스 뷰 데이터블록, 디펜던트 뷰 데이터블록의 어느 하나가 재생장치의 더블 버퍼를 언더플로시키지 않는 익스텐트 길이의 제약을 만족하지 않는 경우 서브 TS에서의 GOP(i)의 선두 비디오 액세스유닛의 액세스유닛 딜리미터의 직전 및 메인 TS에서의 GOP(i)의 선두 비디오 액세스유닛의 액세스유닛 딜리미터의 직전의 어딘가에 패딩 패킷을 삽입합으로써 상기 경계 일치를 시도한다.
상술한 수법으로 경계 일치에 성공한 경우 디펜던트 뷰 GOP의 선두 액세스유닛의 액세스유닛 딜리미터를 저장한 소스 패킷의 소스 패킷 번호를 포인팅하는 엔트리를 확장 엔트리 맵에 추가한다. 그와 동시에, 베이스 뷰 GOP의 선두 액세스유닛의 액세스유닛 딜리미터를 저장한 소스 패킷의 소스 패킷을 포인팅하는 엔트리를 기본 엔트리 맵에 추가한다.
패딩 패킷 삽입에 의한 경계 일치에 성공하지 않고, 디펜던트 뷰 GOP의 선두 액세스유닛의 액세스유닛 딜리미터를 저장한 소스 패킷이 디펜던트 뷰 데이터블록의 도중에 위치한 경우 이러한 소스 패킷을 포인팅하는 것과 같은 엔트리를 확장 엔트리 맵에 추가하지 않는다. 마찬가지로, 베이스 뷰 GOP의 선두 액세스유닛의 액세스유닛 딜리미터를 저장한 소스 패킷이 베이스 뷰 데이터블록의 도중에 위치한 경우 이러한 소스 패킷을 포인팅하는 것과 같은 엔트리를 확장 엔트리 맵에 추가하지 않는다.
이러한 엔트리를 확장 엔트리 맵에서 제외함으로써 베이스 뷰, 디펜던트 뷰의 세트가 반드시 기본 엔트리 맵, 확장 엔트리 맵의 엔트리에 의해 포인팅되고 있는 것이 보장되게 된다.
베이스 뷰 데이터블록, 디펜던트 뷰 데이터블록의 기록 후에 엔트리 맵을 생성한다고 하는 처리는 기록된 입체 시 인터리브드 스트림 파일로부터 GOP 선두를 검출하고, 이 GOP 선두를 포인팅하는 엔트리를 엔트리 맵에 추가해 간다고 하는 처리로 실현된다. GOP 선두 검출 및 엔트리 추가에 의해 기본 엔트리 맵, 확장 엔트리 맵을 작성해 가는 순서를 도 54를 참조하면서 설명한다.
도 59는 기본 엔트리 맵 및 확장 엔트리 맵의 작성순서를 나타내는 플로차트이다.
스텝 S601에서 기본 엔트리 맵 및 확장 엔트리 맵의 양식을 메모리 상에 생성하고, 스텝 S602~스텝 S610의 루프로 이행한다. 이 루프에서 변수 x는 GOP를 지시하는 것이며, 이러한 루프에서는 변수 x를 1에 초기화하고(스텝 S602), GOP(x)의 선두를 특정하며(스텝 S603), GOP의 선두 PTS(x)에 대응하는 SPN(x)를 특정한다(스텝 S604). 이후, 스텝 S605, 스텝 S607의 판정을 실행한다. 스텝 S605는 SPN(x)가 EXT1[i]의 선두인가 여부의 판정이며, 선두가 아니면 스텝 S606~스텝 S609를 스킵한다. 선두이면 스텝 S606에서 PTS(x)에 대응하는 SPN(y)를 선두에 갖는 EXT2[j]를 특정한다.
스텝 S607은 EXT1[i]를 특정하는 변수 i가 EXT2[j]를 특정하는 변수 j와 일치하는가 여부의 판정이며, 일치하지 않으면 이후의 처리를 스킵한다. 일치하면 PTS(x)-SPN(x)의 세트를 나타내는 EP_entry(x)를 기본 엔트리 맵에 추가하고(스텝 S608), PTS(x)-SPN(y)의 세트를 나타내는 EP_entry(x)를 확장 엔트리 맵에 추가한다(스텝 S609).
스텝 S610은 변수 x가 최후의 GOP를 지시한 것인가 여부의 판정이며, 최후가 아니면 변수 x를 증가하여 스텝 S603으로 이행한다.
<인덱스테이블의 생성방법>
제 6 실시형태에서 설명한 인덱스테이블은 이하와 같이 생성할 수 있다. 도 55의 플로차트에서 베이스 뷰 비디오 스트림, 디펜던트 뷰 비디오 스트림, 클립정보파일, 플레이리스트정보 파일을 작성함으로써 기록매체에 기록해야 할 각 플레이리스트의 표시주파수가 판명된다. 이들 중, 퍼스트 플레이 타이틀로 사용되는 플레이리스트의 해상도?표시주파수, 또는 타이틀번호 0~999로 지시되는 타이틀의 플레이리스트의 해상도?표시주파수를 인덱스테이블의 BDMV 애플리케이션정보에서의 비디오 포맷정보 및 프레임 레이트 정보로 설정한다. 이렇게 함으로써 플레이리스트 재생시에 적용해야 할 해상도?표시주파수가 인덱스테이블에서 설정되게 된다.
도 60은 BD-J 애플리케이션, BD-J 오브젝트, 무비 오브젝트, 인덱스테이블의 작성순서를 나타내는 플로차트이다. 스텝 S701은 플레이리스트에 대한 플레이어 인스턴스의 생성을 재생장치에 명하는 소스 프로그램을 오브젝트 지향 프로그래밍으로 작성하고, 스텝 S702에서는 이렇게 작성된 소스 프로그램의 컴파일이나 아카이브화를 실행하고, BD-J 애플리케이션을 작성한다.
스텝 S703은 BD-J 오브젝트의 작성 행정이고, 스텝 S704는 플레이리스트 재생을 명하는 커멘드를 이용하여 무비 오브젝트를 기술한다. 스텝 S705에서는 타이틀번호와 BD-J 오브젝트의 대응부여를 기술함으로써 인덱스테이블을 작성하고, 스텝 S706에서는 퍼스트 플레이 타이틀로 하는 플레이리스트를 선택한다. 스텝 S707에서는 퍼스트 플레이 타이틀에서의 플레이리스트의 비디오 포맷, 비디오 레이트를 나타내는 BDMV 애플리케이션정보를 작성하고, 스텝 S708에서는 타이틀 인덱스, BDMV 애플리케이션정보를 포함하는 인덱스테이블을 작성한다. 스텝 S709에서는 BD-J 오브젝트, BD-J 애플리케이션, 무비 오브젝트, 인덱스테이블을 기록매체에 기입한다.
이상의 기록으로 작성할 수 있는 기록매체에 대하여 설명한다.
도 61은 다층화된 광디스크의 내부 구성을 나타낸다.
제 1 단째는 다층화된 광디스크의 일 예를 나타내고, 제 2 단째는 각 기록층 상에 존재하는 나선 트랙을 수평방향으로 연장하여 나타내는 도면이다. 이들 기록층에서의 나선 트랙은 1개의 연속하는 볼륨 영역으로 취급된다. 볼륨 영역은 최 내주에 위치하는 리드인, 최 외주에 위치하는 리드아웃, 그 사이에 존재하는 제 1 기록층의 기록영역, 제 2 기록층의 기록영역, 제3 기록층의 기록영역으로 구성된다. 이들 제 1 기록층의 기록영역, 제 2 기록층의 기록영역, 제3 기록층의 기록영역은 1개의 연속한 논리 어드레스 공간을 구성한다.
볼륨 영역은 선두에서부터 광디스크를 액세스하는 단위로 일련번호가 할당되어 있고, 이 번호를 논리 어드레스라고 한다. 광디스크로부터의 데이터의 판독은 논리 어드레스를 지정함으로써 실시한다. 여기서, BD-ROM과 같이 판독 전용 디스크의 경우에는 기본적으로 논리 어드레스가 연속하고 있는 섹터는 광디스크 상의 물리적인 배치에서도 연속하고 있다. 즉, 논리 어드레스가 연속하고 있는 섹터의 데이터는 시크를 실행하지 않고 판독할 수 있다. 다만, 기록층의 경계에서는 논리 어드레스가 연속하고 있다고 하더라도 연속적인 판독은 할 수 없다. 따라서, 층 경계의 논리 어드레스는 미리 기록장치에 등록되어 있는 것으로 한다.
볼륨 영역은 리드인 영역의 직후에 파일시스템 관리정보가 기록되어 있고, 이것에 이어서 파일시스템 관리정보에서 관리되는 파티션 영역이 존재한다. 파일시스템이란 디스크 상의 데이터를 디렉터리 또는 파일로 불리는 단위로 표현하는 구조이며, BD-ROM의 경우에서는 UDF(Universal Disc Format)에 의해 기록된다. 일상 사용하고 있는 PC(퍼스널 컴퓨터)의 경우에도 FAT 또는 NTFS로 불리는 파일시스템을 통함으로써 디렉터리나 파일이라고 하는 구조로 하드 디스크에 기록된 데이터가 컴퓨터상에서 표현되어 유용성을 높이고 있다. 이 파일시스템에 의해, 통상의 PC와 동일하게 기록되고 있는 논리데이터를 디렉터리, 파일구조를 사용하여 판독하는 것이 가능하게 되어 있다.
제 4 단째는 파일시스템에서 관리되는 파일시스템 영역에서의 영역 할당을 나타낸다. 파일시스템 영역 중 내주 측에는 비 AV데이터 기록영역이 존재한다. 비 AV데이터 기록영역의 직후에는 AV데이터 기록영역이 존재한다. 제 5 단째는 이들 비 AV데이터 기록영역 및 AV데이터 기록영역의 기록 내용을 나타낸다. AV데이터 기록영역에는 AV 파일을 구성하는 익스텐트가 존재한다. 비 AV데이터 기록영역에는 AV 파일 이외의 비 AV 파일을 구성하는 익스텐트가 존재한다.
도 62는 파일시스템을 전제로 한 광디스크의 애플리케이션 포맷을 나타낸다.
BDMV 디렉터리는 BD-ROM에서 취급하는 TS나 관리정보 등의 데이터가 기록되어 있는 디렉터리이다. BDMV 디렉터리의 아래에는 「PLAYLIST 디렉터리」, 「CLIPINF 디렉터리」, 「STREAM 디렉터리」, 「BDJO 디렉터리」, 「JAR 디렉터리」라고 불리는 5개의 서브 디렉터리가 존재하고, BDMV 디렉터리에는 「index.bdmv」, 「MovieObject.bdmv」의 2종류의 파일이 배치되어 있다.
「index.bdmv(파일명 고정)」는 인덱스테이블을 저장하고 있다.
「MovieObject.bdmv(파일명 고정)」는 1개 이상의 무비 오브젝트를 저장하고 있다. 무비 오브젝트는 커멘드 인터프리터를 제어 주체로 한 동작 모드(HDMV 모드)에서 재생장치가 실시해야 할 제어순서를 규정하는 프로그램 파일이며, 1개 이상의 커멘드와 GUI에 대한 메뉴 콜, 타이틀 콜이 사용자에 의해 이루어진 경우 이들 콜을 마스크 하는가 여부를 규정하는 마스크 플래그를 포함한다.
「BDJO 디렉터리」에는 확장자 bdjo가 부여된 프로그램 파일(xxxxx.bdjo[「xxxxx」는 가변, 확장자 「bdjo」는 고정])이 존재한다. 이 프로그램 파일은 BD-J 모드에서 재생장치가 실시해야 할 제어 순서를 규정하는 BD-J 오브젝트를 저장하고 있다.
이 Java(등록상표) 애플리케이션의 실체에 해당하는 것이 BDMV 디렉터리 아래의 JAR 디렉터리에 저장된 Java(등록상표) 아카이브 파일(YYYYY.jar)이다.
애플리케이션은 예를 들어 Java(등록상표) 애플리케이션이며, 가상 머신의 히프 영역(워크 메모리라고도 불린다)에 로드된 1개 이상의 xlet 프로그램으로 이루어진다. 이 워크 메모리에 로드된 xlet 프로그램 및 데이터로부터 애플리케이션은 구성되게 된다.
「PLAYLIST 디렉터리」에는 확장자 mpls가 부여된 플레이리스트정보 파일(xxxxx.mpls[「xxxxx」는 가변, 확장자 「mpls」는 고정])이 존재한다.
「CLIPINF 디렉터리」에는 확장자 clpi가 부여된 클립정보파일(xxxxx.clpi [「xxxxx」는 가변, 확장자「clpi」는 고정])이 존재한다.
이상의 디렉터리에 존재하는 파일을 구성하는 익스텐트는 비 AV데이터 영역에 기록된다.
「STREAM 디렉터리」는 스트림 파일을 저장하고 있는 디렉터리이며, 본 디렉터리에는 xxxxx.m2ts([「xxxxx」는 가변, 확장자 「m2ts」는 고정])고 하는 형식으로 스트림 파일이 저장된다.
상술한 것과 같은 파일은 파티션 영역에서 물리적으로 연속하는 복수의 섹터 상에 형성된다. 파티션 영역은 「파일 세트 기술자가 기록된 영역」, 「종단 기술자가 기록된 영역」, 「ROOT 디렉터리영역」, 「BDMV 디렉터리영역」, 「JAR 디렉터리영역」, 「BDJO 디렉터리영역」, 「PLAYLIST 디렉터리영역」, 「CLIPINF 디렉터리영역」, 「STREAM 디렉터리영역」으로 구성되고, 파일시스템에 의해 액세스 되는 영역이다. 이후, 이러한 영역에 대하여 설명한다.
「파일 세트 기술자」는 디렉터리영역 중 ROOT 디렉터리의 파일엔트리가 기록되어 있는 섹터를 가리키는 논리블록번호(LBN)를 포함한다. 「종단 기술자」는 파일 세트 기술자의 종단을 나타낸다.
다음에, 디렉터리영역의 상세에 대하여 설명한다. 상술한 것과 같은 복수의 디렉터리영역은 모두 공통의 내부 구성을 가지고 있다. 즉, 「디렉터리영역」은 「파일엔트리」와, 「디렉터리 파일」과, 「하위 파일에 대한 파일 기록영역」으로 구성된다.
「파일엔트리」는 「기술자 태그」와, 「ICB 태그」와, 「할당기술자」를 포함한다.
「기술자 태그」는 자신이 파일엔트리인 취지를 나타내는 태그이다.
「ICB 태그」는 파일엔트리 자신에 관한 속성정보를 나타낸다.
「할당기술자」는 디렉터리 파일의 기록 위치를 나타내는 논리블록번호(LBN)를 포함한다. 이상이 파일엔트리에 대한 설명이다. 이어서, 디렉터리 파일의 상세에 대하여 설명한다.
「디렉터리 파일」은 「하위 디렉터리에 대한 파일식별기술자」와, 「하위 파일의 파일식별기술자」를 포함한다.
「하위 디렉터리의 파일식별기술자」는 자신의 아래에 있는 하위 디렉터리를 액세스하기 위한 참조정보이며, 그 하위 디렉터리를 나타내는 식별정보와, 그 하위 디렉터리의 디렉터리 명의 길이와, 하위 디렉터리의 파일엔트리가 어느 논리블록번호에 기록되고 있는가를 나타내는 파일엔트리 어드레스와, 그 하위 디렉터리의 디렉터리 명으로 구성된다.
「하위 파일의 파일식별기술자」는 자신의 아래에 있는 파일을 액세스하기 위한 참조정보이며, 그 하위 파일을 나타내는 식별정보와, 그 하위 파일명의 길이와, 하위 파일에 대한 파일엔트리가 어느 논리블록번호에 기록되고 있는가를 나타내는 파일엔트리 어드레스와, 하위 파일의 파일 명으로 구성된다.
이들 디렉터리의 디렉터리 파일에서의 파일식별기술자에는 하위 디렉터리 및 하위 파일의 파일엔트리가 어느 논리블록에 기록되어 있는가가 나타나 있으므로, 이 파일식별기술자를 더듬어 가면 ROOT 디렉터리의 파일엔트리로부터 BDMV 디렉터리의 파일엔트리에 도달할 수 있고, 또 BDMV 디렉터리의 파일엔트리로부터 PLAYLIST 디렉터리의 파일엔트리에 도달할 수 있다. 마찬가지로 JAR 디렉터리, BDJO 디렉터리, CLIPINF 디렉터리, STREAM 디렉터리의 파일엔트리에도 도달할 수 있다.
「하위 파일의 파일 기록영역」이란 어느 디렉터리의 아래에 있는 하위 파일의 실체가 기록되어 있는 영역이며, 당해 하위 파일에 대한 「파일엔트리」와 1개 이상의 「익스텐트」가 기록되어 있다.
본원의 주목적이 되는 스트림 파일은 그 파일이 귀속하는 디렉터리의 디렉터리영역 내에 존재하는 파일 기록영역이며, 디렉터리 파일에서의 파일식별기술자 및 파일엔트리에서의 할당 식별자를 더듬어 감으로써 액세스할 수 있다.
(제 10 실시형태)
본 실시형태에서는 지금까지의 실시형태에서 설명한 재생장치의 기능을 통합한 2D/3D 재생장치의 내부 구성에 대하여 설명한다.
도 63은 2D/3D 재생장치의 구성을 나타내고 있다. 2D/3D 재생장치는 BD-ROM 드라이브(1), 리드 버퍼(2a), 리드 버퍼(2b), 스위치(3), 시스템 타깃 디코더(4), 플레인 메모리 세트(5a), 플레인 합성부(5b), HDMI 송수신부(6), 재생제어부(7), 메모리, 레지스터세트(203), 프로그램 실행부(11), 프로그램 메모리(12), HDMV 모듈(13), BD-J플랫폼(14), 미들웨어(15), 모드 관리 모듈(16), 사용자이벤트 처리부(17), 로컬 스토리지(18), 비휘발성 메모리(19)로 구성되어 있다.
BD-ROM 드라이브(1)는 2D 재생장치와 마찬가지로 재생제어부(7)로부터의 요구를 기초로 BD-ROM 디스크로부터 데이터를 판독하지만, BD-ROM 디스크로부터 판독된 AV 클립은 리드 버퍼(2a)나 리드 버퍼(2b)에 전송된다.
3D 영상을 재생할 때에는 재생제어부(7)로부터는 베이스 뷰 데이터블록과 디펜던트 뷰 데이터블록을 익스텐트 단위로 교호로 판독하는 취지를 지시하는 판독요구가 보내진다. BD-ROM 드라이브(1)는 베이스 뷰 데이터블록을 구성하는 익스텐트를 리드 버퍼(2a)에 판독하고, 디펜던트 뷰 데이터블록을 구성하는 익스텐트를 리드 버퍼(2b)에 판독한다. 3D 영상을 재생할 때에는 베이스 뷰 데이터블록과 디펜던트 뷰 데이터블록의 양쪽을 동시에 판독할 필요가 있으므로 2D 재생장치의 BD-ROM 드라이브 이상의 스피드 성능이 요구된다.
리드 버퍼(2a)는 BD-ROM 드라이브(1)가 판독한 베이스 뷰 데이터블록의 데이터를 저장하는 듀얼 포트 메모리 등으로 구성된 버퍼이다.
리드 버퍼(2b)는 BD-ROM 드라이브(1)가 판독한 디펜던트 뷰 데이터블록의 데이터를 저장하는 듀얼 포트 메모리 등으로 구성된 버퍼이다.
스위치(3)는 리드 버퍼에 대한 데이터 입력 원을 BD-ROM 드라이브(1) 또는 로컬 스토리지(18) 중 어느 하나로 전환하기 위한 스위치이다.
시스템 타깃 디코더(4)는 리드 버퍼(2a)에 판독된 소스 패킷과 리드 버퍼(2b)에 판독된 소스 패킷에 대하여 다중 분리 처리를 실행하고 스트림의 디코드 처리를 실행한다.
플레인 메모리 세트(5a)는 복수의 플레인 메모리로 구성된다. 플레인 메모리에는 레프트 뷰 비디오 플레인, 라이트 뷰 비디오 플레인, 세컨더리 비디오 플레인, IG 플레인, PG 플레인이라고 하는 것이 있다.
플레인 합성부(5b)는 지금까지의 실시형태에서 설명한 플레인 합성을 실행한다. 텔레비전 등으로 출력하는 경우에는 3D의 방식에 맞춘 출력을 한다. 셔터 안경을 이용하여 교호로 좌측 눈 이미지?우측 눈 이미지를 재생하는 것이 필요한 경우는 그대로 출력하고, 예를 들어 렌티큘러의 텔레비전에 출력하는 경우는 임시 버퍼를 준비하고, 먼저 전송되는 좌측 눈 이미지를 임시 버퍼에 저장하고, 우측 눈 이미지가 전송된 후에 동시에 출력한다.
HDMI 송수신부(6)는 예를 들어 HDMI 규격(HDMI:High Definition Multimedia Interface)에서 제 1 실시형태에 설명한 네고시에이션 페이즈를 실행한다. 네고시에이션 페이즈에서는 입체 시 표시에 대응하고 있는가에 관한 정보, 평면 표시 가능한 해상도에 관한 정보, 입체 표시 가능한 해상도에 관한 정보를 텔레비전으로부터 수신할 수 있다.
재생제어부(7)는 재생 엔진(7a), 재생제어엔진(7B)를 포함하고, 3D 플레이리스트의 재생이 프로그램 실행부(11) 등에서 명해지면, 3D 플레이리스트 중에서 재생 대상이 되는 플레이아이템의 베이스 뷰 데이터블록을 특정하고, 그 플레이아이템과 동기하여 재생되는 3D용의 서브패스의 서브 플레이아이템의 디펜던트 뷰 데이터블록을 특정한다. 그 후, 대응하는 클립정보파일의 엔트리 맵을 해석하고, 어느 쪽의 익스텐트로부터 먼저 익스텐트가 배치되어 있는가를 나타내는 익스텐트 개시 타입에 의거하여 재생 개시 지점에서 베이스 뷰 데이터블록의 익스텐트와 디펜던트 뷰 데이터블록의 익스텐트를 교호로 판독하도록 BD-ROM 드라이브(1)에 요구한다. 재생 개시할 때에는 최초의 익스텐트를 리드 버퍼(2a)나 리드 버퍼(2b)에 다 판독한 후에 리드 버퍼(2a)와 리드 버퍼(2b)로부터 시스템 타깃 디코더(4)에 전송을 개시한다.
재생 엔진(7a)는 AV재생 기능을 실행한다. AV재생 기능이란 DVD 재생장치, CD 재생장치로부터 답습한 기능 군이며, 재생 개시, 재생 정지, 일시정지, 일시정지의 해제, 정지화상 기능의 해제, 재생속도를 즉치로 지정한 빨리 감기, 재생속도를 즉치로 지정한 되감기, 음성 전환, 세칸더리 비디오용의 픽처 데이터 전환, 앵글 전환이라고 하는 처리이다.
재생제어엔진(7b)는 HDMV 모드의 동작 주체인 커멘드 인터프리터, BD-J 모드의 동작 주체인 Java 플랫폼으로부터의 함수 호출에 따라서 플레이리스트의 재생 기능을 실행한다. 플레이리스트 재생 기능이란 상술한 AV재생 기능 중 재생 개시나 재생 정지를 현재 플레이리스트를 구성하는 현재 플레이리스트정보, 현재 클립정보에 따라서 실행하는 것을 말한다.
메모리는 현재 플레이리스트정보나 현재 클립정보를 저장해 두기 위한 메모리이다. 현재 플레이리스트정보란 BD-ROM 또는 빌트인 미디어 드라이브, 리무버블 미디어 드라이브로부터 액세스할 수 있는 복수의 플레이리스트정보 중 현재 처리 대상으로 되어 있는 것을 말한다. 현재 클립정보란 BD-ROM 또는 빌트인 미디어 드라이브, 리무버블 미디어 드라이브로부터 액세스할 수 있는 복수의 클립정보 중 현재 처리 대상으로 되어 있는 것을 말한다.
재생상태/설정 레지스터(Player Status/Setting Register) 세트(10)는 지금까지의 실시형태에서 설명한 재생상태 레지스터, 재생 설정 레지스터 외에 프로그램 파일이 이용하는 임의의 정보를 저장할 수 있는 범용 레지스터를 포함한다.
프로그램 실행부(11)는 BD프로그램 파일에 저장된 프로그램을 실행하는 프로세서이다. 저장된 프로그램에 따라서 동작을 실행하여 다음과 같은 제어를 한다. (1) 재생제어부(7)에 대하여 플레이리스트 재생을 명령한다. (2) 시스템 타깃 디코더에 대하여 메뉴나 게임의 그래픽스를 위한 PNG?JPEG를 전송해서 화면에 표시한다. 이들은 프로그램의 작성에 따라서 자유롭게 실시할 수 있고, 어떻게 제어하는가는 오서링 공정에 의한 BD-J 애플리케이션의 프로그래밍 공정에 의해 정해진다.
프로그램 메모리(12)는 현재 동적 시나리오를 저장해 두고, HDMV 모드의 동작 주체인 HDMV 모듈, BD-J 모드의 동작 주체인 Java 플랫폼에 의한 처리에 제공되는 메모리이다. 현재 동적 시나리오란 BD-ROM에 기록되어 있는 Index.bdmv, BD-J 오브젝트, 무비 오브젝트 중 현재 실행 대상으로 되어 있는 것을 말한다. 또 프로그램 메모리(12)는 히프 메모리를 포함한다.
히프 메모리는 시스템 애플리케이션의 바이트코드, BD-J 애플리케이션의 바이트코드, 시스템 애플리케이션이 이용하는 시스템 파라미터, BD-J 애플리케이션이 이용하는 애플리케이션 파라미터가 배치되는 스택영역이다.
HDMV 모듈(13)은 커멘드 인터프리터를 구비하고, 무비 오브젝트를 구성하는 내비게이션 커멘드를 해독해서 실행함으로써 HDMV 모드의 제어를 실행한다.
BD-J플랫폼(14)은 BD-J 모드의 동작 주체인 Java 플랫폼이고, Java2Micro_Edition(J2ME) Personal Basis Profile(PBP1.0)와 Globally Executable MHP specification(GEM1.0.2) for package media targets를 풀 실장하고 있으며, 클래스 로더, 바이트코드 인터프리터, 애플리케이션 매니저로 구성된다.
클래스 로더는 시스템 애플리케이션의 하나이며, JAR 아카이브 파일에 존재하는 클래스 파일로부터 바이트코드를 판독하고, 히프 메모리(31)에 저장함으로써 BD-J 애플리케이션의 로드를 실시한다.
바이트코드 인터프리터는 이른바 Java 가상 머신이며, 히프 메모리에 저장되어 있는 BD-J 애플리케이션을 구성하는 바이트코드, 시스템 애플리케이션을 구성하는 바이트코드를 네이티브 코드로 변환하고, MPU에 실행시킨다.
애플리케이션 매니저는 시스템 애플리케이션의 하나이고, BD-J 오브젝트 내의 애플리케이션 관리테이블에 의거하여 BD-J 애플리케이션을 기동하거나 BD-J 애플리케이션을 종료하거나 하는 등, BD-J 애플리케이션의 애플리케이션 시그널링을 실시한다. 이상으로 BD-J플랫폼부의 내부 구성에 대한 설명을 마친다.
미들웨어(15)는 내장 소프트웨어를 위한 오퍼레이팅 시스템이며, 커널, 디바이스 드라이버로 구성된다. 커널은 BD-J 애플리케이션으로부터의 애플리케이션 프로그래밍 인터페이스(API)의 콜에 따라서 재생장치 특유의 기능을 BD-J 애플리케이션에 제공한다. 또, 할당신호에 의해 할당 핸들러부를 기동하는 등의 하드웨어 제어를 실현한다.
모드 관리 모듈(16)은 BD-ROM 또는 빌트인 미디어 드라이브, 리무버블 미디어 드라이브로부터 판독된 Index.bdmv를 보유하고, 모드 관리 및 분기 제어를 실행한다. 모드 관리 모듈에 의한 모드 관리란 동적 시나리오를 BD-J플랫폼(22), HDMV 모듈의 어느 것으로 실행시키는가 하는 모듈의 할당이다.
사용자이벤트 처리부(17)는 리모컨을 통한 사용자조작에 응답하여 프로그램 실행부(16)나 재생제어부(7)에 처리의 실행을 의뢰한다. 예를 들어 리모컨으로 버튼을 눌렀을 경우 그 버튼에 포함되는 커멘드를 실행하도록 프로그램 실행부(16)에 의뢰한다. 예를 들어 리모컨으로 빨리 감기?되감기 버튼이 눌렸을 경우에는 재생제어부(7)에 현재 재생하고 있는 플레이리스트의 AV 클립에 대한 빨리 감기?되감기 처리의 실행을 명령한다.
로컬 스토리지(18)는 하드 디스크를 액세스하기 위한 빌튼인 미디어 드라이브, 반도체 메모리카드를 액세스하기 위한 리무버블 미디어 드라이브를 구비하고, 다운로드해 온 추가 콘텐츠나 애플리케이션이 사용하는 데이터 등의 보존에 이용된다. 추가 콘텐츠의 보존 영역은 BD-ROM마다 구분되어 있고, 또 애플리케이션이 데이터의 보유에 사용할 수 있는 영역은 애플리케이션마다 구분되어 있다.
비휘발성 메모리(19)는 판독 기입 가능한 메모리 등의 기록매체이며, 전원이 공급되지 않아도 기록내용을 보유할 수 있는 매체, 예를 들어 플래시 메모리, FeRAM 등이다. 이것은 레지스터세트(203)에서의 기억 내용의 백업에 이용된다.
(제 11 실시형태)
이후의 실시형태는 본원의 우선권 주장의 기초가 된 특허 출원의 원서에 첨부한 명세서 및 도면에 기재된 발명과 동일 발명(이하, 본 발명이라고 한다)을 실행하기 위한 형태이다.
우선 먼저, 본 발명에 관한 기록매체의 실시 행위 중 사용행위에 대한 형태를 설명한다. 도 64 (a)는 본 발명에 관한 기록매체의 사용행위에 대한 형태를 나타내는 도면이다. 본 도면에서 본 발명에 관한 기록매체는 BD-ROM(101)이다. 이 BD-ROM(101)은 재생장치(102), 텔레비전(103), 리모컨(104)에 의해 형성되는 홈시어터 시스템에 영화작품을 공급한다고 하는 용도에 제공된다.
이상이 본 발명에 관한 기록매체의 사용 형태에 대한 설명이다.
다음에 본 발명에 관한 기록매체인 BD-ROM의 2D 영상을 저장하기 위한 데이터구조에 대하여 설명한다.
도 64 (b)는 BD-ROM의 구성을 나타내는 도면이다.
본 도면의 제 4 단째에 BD-ROM(101)을 나타내고, 제 3 단째에 BD-ROM상의 트랙을 나타낸다. 본 도면의 트랙, BD-ROM(101)의 내주에서부터 외주에 걸쳐서 나선 형상으로 형성되고 있는 트랙을 횡 방향으로 연장하여 묘사하고 있다. BD-ROM(101)은 다른 광디스크, 예를 들어 DVD나 CD 등과 마찬가지로 그 내주에서 외주를 향해서 나선 형상으로 기록영역을 갖고, 내주의 리드 인과 외주의 리드아웃의 사이에 논리데이터를 기록할 수 있는 볼륨 영역을 가지고 있다. 볼륨 영역은 선두에서부터 광디스크를 액세스하는 단위로 일련 번호가 할당되어 있고, 이 번호를 논리 어드레스라고 한다. 광디스크로부터의 데이터의 판독은 논리 어드레스를 지정함으로써 실시한다. 여기에서는 논리 어드레스는 광디스크 상의 물리적인 배치에서도 연속하고 있다고 정의한다. 즉, 논리 어드레스가 연속하고 있는 데이터는 시크를 실행하지 않고 판독하는 것이 가능하다. 또, 리드 인의 안쪽에는 BCA(Burst Cutting Area)로 불리는 드라이브로 밖에 판독할 수 없는 특별한 영역이 있다. 이 영역은 애플리케이션에서 판독할 수 없으므로 예를 들어 저작권 보호기술 등에 이용되는 일이 자주 있다.
볼륨 영역에는 선두에서부터 파일시스템의 볼륨 정보가 기록되고, 이어서 영상 데이터 등의 애플리케이션 데이터가 기록되어 있다. 파일시스템이란 디스크 상의 데이터를 디렉터리 또는 파일로 불리는 단위로 표현하는 구조이며, BD-ROM(101)의 경우에는 UDF(Universal Disc Format)에 의해 기록된다. 일상 사용하고 있는 PC(퍼스널 컴퓨터)의 경우에도 FAT 또는 NTFS로 불리는 파일시스템을 통함으로써 디렉터리나 파일이라고 하는 구조로 하드 디스크에 기록된 데이터가 컴퓨터상에서 표현되어 유용성을 높이고 있다. 이 파일시스템에 의해, 통상의 PC와 마찬가지로 기록되어 있는 논리데이터를 디렉터리, 파일구조를 사용하여 판독하는 것이 가능해진다.
BD-ROM(101) 상의 디렉터리, 파일구조는 루트 디렉터리(ROOT) 아래에 BDMV 디렉터리가 놓여져 있다. BDMV 디렉터리는 BD-ROM(101)로 취급하는 AV콘텐츠나 관리정보 등의 데이터가 기록되어 있는 디렉터리이다. BDMV 디렉터리의 아래에는 타이틀을 구성하는 인덱스테이블이 정의된 인덱스파일(index.bdmv), PLAYLIST 디렉터리, CLIPINF 디렉터리, STREAM 디렉터리, BDJO 디렉터리, JAR 디렉터리가 존재한다. 영상?음성과 같은 AV콘텐츠가 다중화되어서 저장된 AV 클립(XXX.M2TS), AV 클립의 관리정보를 저장한 클립정보파일(XXX.CLPI), AV 클립의 논리적인 재생경로를 정의한 플레이리스트 파일(YYY.MPLS), 동적인 시나리오를 정의하기 위한 프로그램이 저장된 BD프로그램 파일(AAA.PROG)은 각각 앞에서 설명한 STREAM 디렉터리, CLIPINF 디렉터리, PLAYLIST 디렉터리의 아래에 배치된다.
이하에 BDMV 디렉터리의 아래에 놓이는 각 파일의 데이터구조에 대하여 설명한다.
우선 인덱스파일(Index.bdmv)에 대하여 설명한다. 인덱스파일은 도 64 (c)에 나타내는 인덱스테이블을 갖는다. 인덱스테이블은 BD-ROM에 저장되는 모든 타이틀, 탑 메뉴, FirstPlay고 하는 타이틀 구성을 정의하는 최상위 층의 테이블이다. 이 테이블에는 모든 타이틀, 탑 메뉴, FirstPlay로부터 최초로 실행되는 프로그램 파일이 지정되어 있다. BD-ROM의 재발생하는 타이틀 또는 메뉴가 호출될 때마다 인덱스테이블을 참조하고, 소정의 BD프로그램 파일을 실행한다. 여기서, FirstPlay란 콘텐츠 공급자에 의해 설정되는 것으로, 디스크 투입시에 자동 실행되는 BD프로그램 파일이 설정되어 있다. 또, 탑 메뉴는 리모컨에서의 사용자조작으로 「메뉴에 돌아간다」와 같은 커멘드가 실행될 때, 호출되는 무비 오브젝트, BDJ 오브젝트가 지정되어 있다.
BD프로그램 파일(AAA.PRG)은 타이틀로부터 지정, 실행되는 프로그램이 저장되어 있다. 프로그램의 파일은 복수이고, 프리픽스(AAA)가 프로그램을 식별하는데 사용된다. 여기서 사용되는 프로그램은 블루레이의 경우는 커멘드 내비게이션으로 불리는 독자 사양의 인터프리터 방식의 프로그램이 사용되지만, 언어 방식은 본 발명의 본질은 아니므로 Java나 JavaScrip과 같은 범용의 프로그래밍 언어라도 상관없다. 이 프로그램에 의해 재생되는 플레이리스트가 지정된다.
이어서, AV 클립(XXX.M2TS)과 클립정보파일(XXX.CLPI)에 대하여 설명한다.
AV 클립은 MPEG-2 트랜스포트 스트림 형식의 디지털 스트림이다.
도 65 (a)는 AV 클립의 구성을 나타내는 도면이다. 본 도면에 나타낸 것과 같이, AV 클립은 비디오 스트림, 오디오 스트림, 프레젠테이션 그래픽스 스트림(PG), 인터렉티브 그래픽스 스트림 중 1개 이상을 다중화함으로써 얻어진다. 비디오 스트림은 영화의 주 영상 및 부 영상을, 오디오 스트림(IG)은 영화의 주 음성부분과 그 주 음성과 믹싱하는 부 음성을, 프레젠테이션 그래픽스 스트림은 영화의 자막을 각각 나타내고 있다. 여기서 주 영상은 화면에 표시되는 통상의 영상을 나타내고, 부 영상은 주 영상 중에 작은 화면으로 표시하는 영상이다. 또, 인터렉티브 그래픽스 스트림은 화면상에 GUI 부품을 배치함으로써 작성되는 대화화면을 나타내고 있다. 비디오 스트림은 MPEG-2, MPEG-4 AVC, 또는 SMPTE VC-1 등의 방식을 사용하여 부호화 기록되어 있다. 오디오 스트림은 돌비 AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD, 또는 리니어 PCM 등의 방식에서 압축?부호화 기록되고 있다.
비디오 스트림의 구성에 대하여 설명한다. MPEG-2, MPEG-4 AVC, SMPTE VC-1등의 동화상 압축 부호화에서는 동화상의 공간 방향 및 시간 방향의 용장성을 이용하여 데이터량의 압축을 실시한다. 시간 방향의 용장성을 이용하는 방법으로 픽처간 예측 부호화가 이용된다. 픽처 간 예측 부호화에서는 어느 픽처를 부호화할 때 표시시간 순으로 전방 또는 후방에 있는 픽처를 참조 픽처로 한다. 그리고, 그 참조 픽처로부터의 모션량을 검출하고, 모션 보상을 실시한 픽처와 부호화 대조의 픽처의 차분치에 대하여 공간 방향의 용장도(冗長度)를 제거함으로써 데이터량의 압축을 실시한다.
여기에서는 참조 픽처를 갖지 않고 부호화 대상 픽처만을 이용하여 픽처 내 예측 부호화를 실행하는 픽처를 I픽처라고 한다. 픽처란 프레임 및 필드의 양자를 포함하는 1개의 부호화의 단위이다. 또, 이미 처리가 완료된 1매의 픽처를 참조하여 픽처 간 예측 부호화하는 픽처를 P픽처라고 하고, 이미 처리가 완료된 2매의 픽처를 동시에 참조하여 픽처 간 예측 부호화하는 픽처를 B픽처라고 하며, B픽처 중에서 다른 픽처로부터 참조되는 픽처를 Br픽처라고 한다. 또, 프레임 구조의 경우의 프레임, 필드 구조의 필드를 여기에서는 비디오 액세스유닛이라고 한다.
AV 클립에 포함되는 각 스트림은 PID에 의해 식별된다. 예를 들어 영화의 영상에 이용하는 비디오 스트림에 배열 x1011가, 오디오 스트림에 배열 x1100로부터 0x111F까지가, 프레젠테이션 그래픽스에 배열 x1200로부터 0x121F까지가, 인터렉티브 그래픽스 스트림에 배열 x1400로부터 0x141F까지가, 영화의 부 영상에 이용하는 비디오 스트림에 배열 x1B00로부터 0x1B1F까지가, 주 음성과 믹싱하는 부 음성에 이용하는 오디오 스트림에 배열 x1A00로부터 0x1A1F가 각각 할당되어 있다.
도 65 (b)는 AV 클립이 어떻게 다중화되는가를 모식적으로 나타내는 도면이다. 우선, 복수의 비디오 프레임으로 이루어지는 비디오 스트림(501), 복수의 오디오 프레임으로 이루어지는 오디오 스트림(504)을 각각 PES 패킷 열(502 및 505)로 변환하고, TS 패킷(503 및 506)으로 변환한다. 마찬가지로, 프레젠테이션 그래픽스 스트림(507) 및 인터렉티브 그래픽스(510)의 데이터를 각각 PES 패킷 열(508 및 511)로 변환하고, 또 TS 패킷(509 및 512)으로 변환한다. AV 클립(513)은 이들 TS 패킷을 1개의 스트림에 다중화함으로써 구성된다.
도 66 (a)는 PES 패킷 열에 비디오 스트림이 어떻게 저장되는가를 더 상세하게 나타내고 있다. 본 도면에서의 제 1 단째는 비디오 스트림의 비디오 프레임 열을 나타낸다. 제 2 단째는 PES 패킷 열을 나타낸다. 본 도면의 화살표 yy1, yy2, yy3, yy4에 나타낸 것과 같이, 비디오 스트림에서의 복수의 Video Presentation Unit인 I픽처, B픽처, P픽처는 픽처마다 분할되고, PES 패킷의 페이로드에 저장된다. 각 PES 패킷은 PES 헤더를 갖고, PES 헤더에는 픽처의 표시 시각인 PTS(Presentation Time-Stamp)나 픽처의 복호 시각인 DTS(Decoding Time-Stamp)가 저장된다.
도 66 (b)는 AV 클립에 최종적으로 기입되는 TS 패킷의 형식을 나타내고 있다. TS 패킷은 스트림을 식별하는 PID 등의 정보를 갖는 4Byte의 TS헤더와 데이터를 저장하는 184Byte의 TS 페이로드로 구성되는 188Byte 고정 길이의 패킷이며, 앞에서 설명한 PES 패킷은 분할되어서 TS 페이로드에 저장된다. BD-ROM의 경우 TS 패킷에는 4Byte의 TP_Extra_Header가 부여되어서 192Byte의 소스 패킷을 구성하고, AV 클립에 기입된다. TP_Extra_Header에는 ATS(Arrival_Time_Stamp) 등의 정보가 기재된다. ATS는 당해 TS 패킷의 후술하는 시스템 타깃 디코더(1503)의 PID 필터로의 전송 개시시각을 나타낸다. AV 클립에는 도 66 (b) 하단에 나타낸 것과 같이, 소스 패킷이 나열되게 되며, 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 클립에 관한 각종 디스크립터를 갖는다. 디스크립터에는 AV 클립의 카피를 허가?불허가를 지시하는 카피컨트롤정보 등이 있다. PCR는 ATS의 시간 축인 ATC(Arrival Time Clock)와 PTS?DTS의 시간 축인 STC(System Time Clock)의 동기를 취하기 위해 그 PCR 패킷이 디코더에 전송되는 ATS에 대응하는 STC 시간의 정보를 갖는다.
도 67 (a)는 PMT의 데이터구조를 상세하게 설명하는 도면이다. PMT의 선두에는 그 PMT에 포함되는 데이터의 길이 등을 기재한 PMT 헤더가 배치된다. 그 뒤에는 AV 클립에 관한 디스크립터가 복수 배치된다. 앞에서 설명한 카피컨트롤정보 등이 디스크립터로 기재된다. 디스크립터의 뒤에는 AV 클립에 포함되는 각 스트림에 관한 스트림 정보가 복수 배치된다. 스트림 정보는 스트림의 압축 코덱 등을 식별하기 위해 스트림 타입, 스트림의 PID, 스트림의 속성정보(프레임 레이트, 어스펙트비 등)가 기재된 스트림 디스크립터로 구성된다. 스트림 디스크립터는 AV 클립에 존재하는 스트림의 수만큼 존재한다.
클립정보파일은 도 67 (b)에 나타낸 것과 같이 AV 클립의 관리정보이며, AV 클립과 1 대 1로 대응하고, 클립정보, 스트림 속성정보와 엔트리 맵으로 구성된다.
클립정보는 도 67 (b)에 나타낸 것과 같이 시스템 레이트, 재생 개시시각, 재생 종료시각으로 구성되어 있다. 시스템 레이트는 AV 클립의 후술하는 시스템 타깃 디코더의 PID 필터로의 최대 전송 레이트를 나타낸다. AV 클립 중에 포함되는 ATS의 간격은 시스템 레이트 이하가 되도록 설정되어 있다. 재생 개시시각은 AV 클립의 선두의 비디오 프레임의 PTS이며, 재생 종료시각은 AV 클립의 종단의 비디오 프레임의 PTS에 1 프레임 분의 재생간격을 더한 것이 설정된다.
스트림 속성정보는 도 68 (a)에 나타낸 것과 같이 AV 클립에 포함되는 각 스트림에 대한 속성정보가 PID마다 등록된다. 속성정보는 비디오 스트림, 오디오 스트림, 프레젠테이션 그래픽스 스트림, 인터렉티브 그래픽스 스트림마다 다른 정보를 갖는다. 비디오 스트림 속성정보는 그 비디오 스트림이 어떤 압축 코덱으로 압축되었는지, 비디오 스트림을 구성하는 개개의 픽처 데이터의 해상도가 어느 정도인지, 어스펙트 비는 어느 정도인지, 프레임 레이트는 어느 정도인지 등의 정보를 갖는다. 오디오 스트림 속성정보는 그 오디오 스트림이 어떤 압축 코덱으로 압축되었는지, 그 오디오 스트림에 포함되는 채널 수는 무엇인지, 무슨 언어에 대응하는지, 샘플링 주파수가 어느 정도인지 등의 정보를 갖는다. 이들 정보는 플레이어가 재생하기 전의 디코더의 초기화 등에 이용된다.
엔트리 맵은 도 68 (b)에 나타낸 것과 같이 엔트리 맵 헤더 정보(1101)와 AV 클립 내에 포함되는 비디오 스트림의 각 I픽처의 표시시각을 나타내는 PTS와 각 I픽처가 개시하는 AV 클립의 SPN이 기재된 테이블 정보이다. 여기에서는 테이블의 하나의 행으로 나타내는 쌍이 되는 PTS와 SPN의 정보를 엔트리 포인트로 부르기로 한다. 또, 선두를 0으로 각 엔트리 포인트마다 증가한 값을 엔트리 포인트 ID(이하 EP_ID)라고 한다. 이 엔트리 맵을 이용함으로써 재발생하는 비디오 스트림의 시간 축 상의 임의의 지점에 대응하는 AV 클립의 파일 위치를 특정할 수 있게 된다. 예를 들어 빨리 감기?되감기의 특수 재생 시에는 엔트리 맵에 등록되는 I픽처를 특정해서 선택하여 재생함으로써 AV 클립을 해석하는 일 없이 효율적으로 처리를 실행할 수 있다. 또, 엔트리 맵은 AV 클립 내에 다중화되는 각 비디오 스트림마다 만들어지고, PID로 관리된다. 또, 엔트리 맵에는 선두에 엔트리 맵 헤더 정보(1101)가 저장되고, 여기에는 당해 엔트리 맵이 나타내는 비디오 스트림의 PID나 엔트리 포인트 수 등의 정보가 저장된다.
다음에, 플레이리스트 파일(YYY.MPLS)에 대하여 설명한다.
플레이리스트는 AV 클립의 재생경로를 나타내는 것이다. 도 69 (a)에 나타낸 것과 같이 플레이리스트는 1개 이상의 플레이아이템(1201)으로 구성되고, 각 플레이아이템은 AV 클립에 대한 재생구간을 나타낸다. 각 플레이아이템(1201)은 각각 플레이아이템 ID에 의해 식별되고, 플레이리스트 내에서 재생되어야 할 순서로 기술되어 있다. 또, 플레이리스트는 재생 개시점을 나타내는 엔트리 마크(1202)를 포함하고 있다. 엔트리 마크(1202)는 플레이아이템에서 정의되는 재생구간 내에 대하여 부여할 수 있고, 도 69 (a)에 나타낸 것과 같이 플레이아이템에 대하여 재생 개시점이 될 수 있는 위치에 부여되며, 선두검색 재생에 이용된다. 예를 들어 영화 타이틀에서 엔트리 마크(1202)를 챕터의 선두가 되는 위치에 부여함으로써 챕터 재생하는 것이 가능해진다. 또, 일련의 플레이아이템의 재생경로를 메인패스(1205)로 여기에서는 정의한다.
플레이아이템의 내용에 대해 도 69 (b)를 이용하여 설명한다. 플레이아이템에는 재생하는 클립정보(1301)와 재생 개시시각(1302) 및 재생 종료시각(1303), 커넥션 컨디션(1310), 스트림 선택테이블(1305)이 포함되어 있다. 재생 개시시각과 재생 종료시각은 시간 정보이므로 재발생하는 클립정보파일의 엔트리 맵을 참조하여 지정된 재생 개시시각 및 재생 종료시각에 대응하는 SPN를 취득하고, 판독 개시 위치를 특정하여 재생처리를 실행한다.
커넥션 컨디션(1310)은 전방 플레이아이템과 접속 타입을 나타내고 있다. 플레이아이템의 커넥션 컨디션(1310)이 「1」의 경우는 플레이아이템이 가리키는 AV 클립은 그 플레이아이템의 앞의 플레이아이템이 가리키는 AV 클립과 심리스 접속이 보증되지 않음을 나타낸다. 플레이아이템의 커넥션 컨디션(1310)이 「5」나 「6」의 경우는 플레이아이템이 가리키는 AV 클립은 그 플레이아이템의 앞의 플레이아이템이 가리키는 AV 클립과 심리스로 접속되는 것이 보증된다. 커넥션 컨디션(1310)이 「5」의 경우는 플레이아이템 사이에 STC의 연속성이 중단되어 있어도 좋고, 즉 접속 전 플레이아이템의 AV 클립 종단의 비디오 표시 시각보다 접속 후 플레이아이템의 AV 클립 선두의 비디오 표시 시각 개시시각은 불연속이어도 좋다. 단, 접속 전 플레이아이템의 AV 클립을 후술하는 시스템 타깃 디코더(1503)의 PID 필터에 입력한 후에 이어서, 접속 후 플레이아이템의 AV 클립을 시스템 타깃 디코더(1503)의 PID 필터에 입력해서 재생했을 때 시스템 타깃 디코더(1503)의 디코드가 파탄하지 않도록 AV 클립을 작성할 필요가 있다. 또, 접속 전 플레이아이템의 AV 클립의 오디오의 종단 프레임과 접속 후 플레이아이템의 오디오의 선두 프레임은 재생시간 축에서 중첩되지 않으면 안 되는 등의 제약조건이 있다. 또, 커넥션 컨디션(1310)이 「6」의 경우는 접속 전 플레이아이템의 AV 클립과 접속 후 플레이아이템의 AV 클립을 결합했을 때 1개의 AV 클립으로 재생할 수 없으면 안 된다. 즉, 접속 전 플레이아이템의 AV 클립과 접속 후 플레이아이템의 AV 클립 간에 STC는 연속하고, 또 ATC도 연속한다.
스트림 선택테이블(1305)은 복수의 스트림 엔트리(1309)로 이루어지고, 스트림 엔트리(1309)는 스트림 선택 번호(1306), 스트림 패스 정보(1307), 스트림 식별정보(1308)로 이루어진다. 스트림 선택 번호(1306)는 스트림 선택테이블에 포함되는 스트림 엔트리(1309)의 선두에서부터 순서대로 증가되는 번호이며, 플레이어에서의 스트림 식별을 위해서 이용된다. 스트림 패스 정보(1307)는 스트림 식별정보(1308)에 의해 나타나는 스트림이 어느 AV 클립에 다중화되어 있는가를 나타내는 정보이며, 예를 들어 「메인패스」이면 해당하는 플레이아이템의 AV 클립을 나타내고, 「서브패스 ID=1」이면 그 서브패스 ID가 나타내는 서브패스에서 해당하는 플레이아이템의 재생구간에 대응하는 서브 플레이아이템의 AV 클립을 나타낸다. 서브패스에 대해서는 다음 섹션에서 설명한다. 스트림 식별정보(1308)는 PID 등의 정보이며, 참조하는 AV 클립에 다중화되어 있는 스트림을 나타낸다. 또, 스트림 엔트리(1309)에는 각 스트림의 속성정보도 동시에 기록되어 있다. 여기서 속성정보란 각 스트림의 성질을 나타내는 정보로, 예를 들어 오디오, 프레젠테이션 그래픽스, 인터렉티브 그래픽스의 경우에는 언어속성 등이 포함된다.
플레이리스트는 도 69 (c)에 나타낸 것과 같이 1개 이상의 서브패스를 가질 수 있다. 서브패스는 플레이리스트에 등록되는 순으로 ID가 할당되고, 서브패스 ID로 서브패스를 식별하기 위해서 사용된다. 서브패스는 메인패스와 동기하여 재생되는 일련의 재생경로를 나타낸다. 서브 플레이아이템은 플레이아이템과 마찬가지로 재생하는 클립정보(1301)와 재생 개시시각(1302) 및 재생 종료시각(1303)을 갖고, 서브 플레이아이템의 재생 개시시각(1302)과 재생 종료시각(1303)은 메인패스와 동일한 시간 축으로 나타낸다. 예를 들어 플레이아이템 #2의 스트림 선택테이블(1305)에 등록되어 있는 어느 스트림 엔트리(1309)가 서브패스 ID=0으로 프레젠테이션 그래픽스(1)를 나타내는 경우에는 서브패스 ID=0의 서브패스 중에서 플레이아이템 #2의 재생구간에 동기하여 재생하는 서브 플레이아이템 #2의 AV 클립 중에 다중화되는 프레젠테이션 그래픽스(1)가 플레이아이템 #2 재생구간에 재생되게 된다. 또, 서브 플레이아이템에는 플레이아이템의 커넥션 컨디션과 동일한 의미를 갖는 SP 커넥션 컨디션이라고 하는 필드가 존재한다. SP 커넥션 컨디션이 「5」또는 「6」의 서브 플레이아이템 경계의 AV 클립은 커넥션 컨디션 「5」또는 「6」과 동일한 상기 조건을 지킬 필요가 있다.
이상이 본 발명에 관한 기록매체인 BD-ROM의 2D 영상을 저장하기 위한 데이터구조이다.
이어서, 본 발명에 관한 2D 영상을 저장하는 BD-ROM을 재생하는 재생장치(2D 재생장치)에 대하여 설명한다.
도 70(a)는 2D 재생장치(1500)의 구성을 나타내고 있다. 2D 재생장치(1500)는 BD-ROM 드라이브(1501), 리드 버퍼(1502), 시스템 타깃 디코더(1503), 프로그램 기록 메모리(1504), 관리정보 기록 메모리(1505), 프로그램 실행부(1506), 재생제어부(1507), 플레이어 변수(1508), 사용자이벤트 처리부(1509), 플레인 가산부(1510)로 구성되어 있다.
BD-ROM 드라이브(1501)는 재생제어부(1507)로부터의 요구를 기초로 BD-ROM 디스크로부터 데이터를 판독한다. BD-ROM 디스크로부터 판독된 AV 클립은 리드 버퍼(1502)에, 인덱스파일, 플레이리스트 파일, 클립정보파일은 관리정보 메모리(1505)에, 무비 오브젝트 파일은 프로그램 메모리(1504)에 각각 전송된다.
리드 버퍼(1502)는 BD-ROM 드라이브를 사용하여 판독한 데이터를, 관리정보 메모리(1505)는 인덱스파일, 플레이리스트 파일, 클립정보파일의 관리정보를, 프로그램 기록 메모리(1504)는 무비 오브젝트 파일을 저장하는 메모리 등으로 구성된 버퍼이다.
시스템 타깃 디코더(1503)는 리드 버퍼(1502)에 판독된 소스 패킷에 대하여 다중 분리 처리를 실행하고, 스트림의 디코드 처리를 실행한다. AV 클립에 포함되는 스트림의 디코드에 필요한 코덱 종류나 스트림 속성 등의 정보는 재생제어부(1507)로부터 전송된다. 시스템 타깃 디코더(1503)는 디코드한 주 영상 비디오 스트림, 부 영상 비디오 스트림, 인터렉티브 그래픽스 스트림, 프레젠테이션 그래픽스 스트림을 각각의 플레인 메모리인 주 영상 플레인, 부 영상 플레인, 인터렉티브 그래픽스 플레인(IG 플레인), 프레젠테이션 그래픽스 플레인(PG 플레인)에 기입한다. 또, 시스템 타깃 디코더(1503)는 디코드한 주 음성 스트림, 부 음성 스트림을 믹싱하여 스피커 등에 출력한다. 또, 시스템 타깃 디코더(1503)는 프로그램 실행부(1506)로부터 전송되는 메뉴 등에 표시하기 위한 JPEG, PNG 등의 그래픽스 데이터를 디코드하고, 이미지 플레인에 기입하는 처리를 실행한다. 시스템 타깃 디코더(1503)의 상세에 대하여는 후술한다.
사용자이벤트 처리부(1509)는 리모컨을 통한 사용자조작에 응답해서 프로그램 실행부(1506)나 재생제어부(1507)에 처리의 실행을 의뢰한다. 예를 들어 리모컨으로 버튼을 눌렀을 경우에는 그 버튼에 포함되는 커멘드를 실행하도록 프로그램 실행부(1506)에 의뢰한다. 예를 들어 리모컨으로 빨리 감기?되감기 버튼이 눌러진 경우에는 재생제어부(1507)에 현재 재생하고 있는 플레이리스트의 AV 클립에 대한 빨리 감기?되감기 처리의 실행을 명령한다.
재생제어부(1507)는 BD-ROM 드라이브(1501)와 시스템 타깃 디코더(1503)를 제어하여 AV 클립의 재생을 제어하는 기능을 갖는다. 재생제어부(1507)는 프로그램 실행부(1506)로부터의 재생 명령이나 사용자이벤트 처리부(1509)로부터의 통지에 의거하여 플레이리스트정보를 해석해서 AV 클립의 재생처리를 제어한다. 또, 재생제어부(1507)는 플레이어 변수(1508)의 설정이나 참조를 하여 재생동작을 실행한다.
플레이어 변수(1508)는 플레이어 상태를 나타내는 시스템 파라미터(SPRM)와 일반 용도로 사용 가능한 제네럴 파라미터(GPRM)가 있다.
도 70(b)는 시스템 파라미터(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) : 시청제한용 나라정보
SPRM(13) : 시청제한레벨
SPRM(14) : 플레이어 설정치(비디오)
SPRM(15) : 플레이어 설정치(오디오)
SPRM(16) : 음성 스트림용 언어 코드
SPRM(17) : 음성 스트림용 언어 코드
SPRM(18) : 자막 스트림용 언어 코드
SPRM(19) : 자막 스트림용 언어 코드
SPRM(20) : 플레이어 리젼 코드
SPRM(21) : 2D/3D 출력 모드의 사용자 우선 선택
SPRM(22) : 현재의 2D/3D 출력 모드
SPRM(23) : 디스플레이의 3D 영상 표시능력
SPRM(24) : 3D 영상 재생능력
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프로그램 파일에 넣을 수 있다.
또, 재생제어부(1507)는 시스템 파라미터 상태를 체크하면서 재생한다. 또, SPRM(1), SPRM(2), SPRM(21), SPRM(22)는 각각 음성 스트림 번호, 자막 스트림 번호, 부 영상 스트림, 부 음성 스트림의 번호를 나타내고, 이들 값은 앞에서 설명한 스트림 선택 번호(606)에 대응한다. 예를 들어 프로그램 실행부(1506)에 의해 음성 스트림 번호 SPRM(1)가 변경된 것으로 한다. 재생제어부(1507)는 현재 재생하고 있는 플레이아이템의 스트림 선택테이블(605) 중에서 스트림 선택 번호(606)와 비교하여 일치하는 스트림 엔트리(609)를 참조하고, 재생하는 음성 스트림을 전환한다. 이와 같이 해서 어느 음성?자막?부 영상 스트림을 재생하는가 여부를 전환한다.
프로그램 실행부(1506)는 BD프로그램 파일에 저장된 프로그램을 실행하는 프로세서이다. 저장된 프로그램에 따라서 동작을 실행하여 다음과 같은 제어를 실행한다. (1) 재생제어부(1506)에 대하여 플레이리스트 재생을 명령한다. (2) 시스템 타깃 디코더에 대하여 메뉴나 게임의 그래픽스를 위한 PNG?JPEG를 전송해서 화면에 표시한다. 이들은 프로그램의 작성에 따라서 자유롭게 실시할 수 있으며, 어떻게 제어하는가는 오서링 공정에 의한 BD프로그램 파일의 프로그래밍 공정에 의해 정해진다.
플레인 가산부는 주 영상 플레인, 부 영상 플레인, 인터렉티브 그래픽스 플레인, 프레젠테이션 그래픽스 플레인, 이미지 플레인을 순시에 중첩하고, TV 등의 화면에 표시한다.
다음에, 도 71을 참조하면서 시스템 타깃 디코더(1503)에 대하여 설명한다.
소스 디 패킷다이저는 시스템 타깃 디코더(1503)에 전송되는 소스 패킷을 해석하고, TS 패킷을 인출하여 PID 필터에 송출한다. 이 송출시에 각 소스 패킷의 ATS에 따라서 디코더로의 입력 시각을 조정한다. 구체적으로는 ATC 카운터가 생성하는 ATC의 값과 소스 패킷의 ATS 값이 동일하게 된 순간에 AV 클립의 기록 레이트에 따라서 그 TS 패킷만을 PID 필터에 전송한다.
PID 필터는 소스 디 패킷다이저로부터 출력된 TS 패킷 중 TS 패킷의 PID가 재생에 필요한 PID에 일치하는 것을 PID에 따라서 주 영상 비디오 디코더, 부 영상 비디오 디코더, IG 디코더, PG 디코더, 음성 디코더, 부 음성 디코더에 전송한다. 예를 들어 BD-ROM의 경우에는 TS 패킷에 포함되는 PID가 0x1011인 경우는 주 영상 비디오 디코더에, PID가 0x1B00에서 0x1B1F인 경우는 부 영상 비디오 디코더에, PID가 0x1100에서 0x111F인 경우는 주 음성 디코더에, PID가 0x1A00에서 0x1A1F인 경우는 부 음성 디코더에, PID가 0x1200에서 0x121F인 경우는 PG 디코더에, PID가 0x1400에서 0x141F인 경우는 IG 디코더에 전송된다.
주 영상 비디오 디코더는 TB(TransportStreamBuffer) (1701), MB(Multiplexing Buffer) (1702), EB(ElementaryStreamBuffer) (1703), 압축 영상 디코더(1704), DPB(Decoded Picture Buffer) (1705)로 구성된다.
TB(1701)는 비디오 스트림을 포함하는 TS 패킷이 PID 필터(1702)로부터 출력된 때, TS 패킷인 채로 일단 축적되는 버퍼이다.
MB(1702)는 TB(1701)에서 EB(1702)에 비디오 스트림을 출력할 때 일단 PES 패킷을 축적해 두기 위한 버퍼이다. TB(1701)에서 MB(1702)에 데이터가 전송될 때 TS 패킷의 TS헤더는 제거된다.
EB(1703)는 부호화 상태에 있는 픽처(I픽처, B픽처, P픽처)가 저장되는 버퍼이다. MB(1702)에서 EB(1703)에 데이터가 전송될 때 PES 헤더가 제거된다.
압축 영상 디코더(1704), 비디오 엘리멘터리 스트림의 개개의 비디오 액세스유닛을 소정의 복호 시각(DTS) 마다 디코드함으로써 프레임/필드 화상을 작성한다. AV 클립에 다중화되는 비디오 스트림의 압축 부호화형식에는 MPEG2, MPEG4AVC, VC1 등이 있으므로 스트림의 속성에 따라서 압축 영상 디코더(1704)의 디코드 방법은 전환된다. 압축 영상 디코더(1704)는 디코드 된 프레임/필드 화상은 DPB(1705)에 전송하고, 표시 시각(PTS)의 타이밍에 대응하는 프레임/필드 화상을 주 영상 플레인에 기입한다.
DPB(1705)는 복호된 프레임/필드 화상을 일시적으로 보유해 두는 버퍼이다. 압축 영상 디코더(1704)가 픽처 간 예측 부호화된 P픽처나 B픽처 등의 비디오 액세스유닛을 디코드할 때 이미 디코드 된 픽처를 참조하기 위해서 이용한다.
부 영상 비디오 디코더는 주 영상 비디오 디코더와 동일한 구성을 갖고, 입력되는 부 영상 비디오 스트림의 디코드를 실행하여 표시 시각(PTS)의 타이밍에 픽처를 부 영상 플레인에 기입한다.
IG 디코더는 소스 패킷다이저로부터 입력되는 TS 패킷으로부터 인터렉티브 그래픽스 스트림을 추출하여 디코드하고, 비 압축의 그래픽스 데이터를 표시 시각(PTS)의 타이밍에 IG 플레인에 기입한다.
PG 디코더는 소스 패킷다이저로부터 입력되는 TS 패킷으로부터 프레젠테이션 그래픽스 스트림을 추출하여 디코드하고, 비 압축의 그래픽스 데이터를 표시 시각(PTS)의 타이밍에 PG 플레인에 기입한다.
주 음성 디코더는 완충 버퍼를 갖고, 버퍼에 데이터를 축적하면서 TS 헤더, PES 헤더 등의 정보를 제거하여 음성 스트림의 디코드 처리를 실행하고, 비 압축의 LPCM 상태의 오디오 데이터를 얻어서 재생시각(PTS)의 타이밍에 음성 믹서에 출력한다. AV 클립에 다중화되는 오디오 스트림의 압축 부호화형식에는 AC3, DTS 등이 있으므로 스트림의 속성에 따라서 압축 음성의 복호화 방식을 전환한다.
부 음성 디코더는 주 음성 디코더와 동일한 구성을 갖고, 입력되는 부 음성 스트림의 디코드를 실행하여 표시 시각의 타이밍에 비 압축의 LPCM 상태의 오디오 데이터를 음성 믹서에 출력한다. AV 클립에 다중화되는 오디오 스트림의 압축 부호화형식에는 DolbyDigitalPlus, DTS-HD LBR 등이 있으므로 스트림의 속성에 따라서 압축 음성의 복호화 방식을 전환한다.
음성 믹서는 주 음성 디코더로부터 출력되는 비 압축 음성 데이터와 부 음성 디코더로부터 출력되는 비 압축 음성 데이터를 믹싱(소리의 중첩)해서 스피커 등에 출력한다.
이미지 프로세서는 프로그램 실행부로부터 전송되는 그래픽스 데이터(PNG?JPEG)를 디코드하고, 프로그램 실행부로부터 지정되는 표시 시각에 따라서 이미지 플레인에 출력한다.
이상이 본 발명에 관한 2D 재생장치의 구성이다.
(3D 재생의 원리)
다음에, 도 92를 이용하여 가정용 디스플레이로 입체 시를 실행하는 원리를 설명한다. 입체 시를 실현하는 수법으로는 홀로그래피 기술을 이용하는 방법과 시차 화상을 이용하는 방식의 크게 2개가 있다.
우선, 첫 번째의 홀로그래피 기술의 특징으로는 인간이 통상 물체를 인식하는 것과 완전히 똑같이 물체를 입체로 재현할 수 있지만, 동화상 생성에 관해서는 기술적인 이론은 확립해 있으나 홀로그래피용의 동화상을 실시간으로 생성하는 방대한 연산량을 수반하는 컴퓨터 및 1mm의 사이에 수천 개의 선을 그을 수 있을 정도의 해상도를 갖는 디스플레이 디바이스가 필요하지만, 현재의 기술에서의 실현은 매우 어렵고, 상용으로서 실용화되고 있는 예는 거의 없다.
두 번째의 시차 화상을 이용한 방식에서 우측 눈에 들어오는 영상과 좌측 눈에 들어오는 영상을 각각 준비하고, 각각의 눈에 대응한 픽처만이 들어가도록 해서 입체 시를 실행하는 방법이다. 도 92에서 사용자가 얼굴의 중앙의 연장선상에 있는 비교적 작은 입방체를 보고 있는 모습을 위에서부터 본 도면이며, 우측 상단의 도면은 좌측 눈이 보았을 경우의 예를 나타내고 있고, 우측 하단의 도면은 동일한 입방체를 우측 눈이 보았을 경우의 예를 나타내고 있다.
이 방식의 이점은 단지 우측 눈 용과 좌측 눈 용의 2개의 시점의 영상을 준비하는 것만으로 입체 시를 실현할 수 있는 것에 있으며, 기술적으로는 좌우의 각각의 눈에 대응한 도면을 어떻게 해서 대응한 눈에만 보일 수가 있을까의 관점으로부터 몇 개의 기술이 실용화되고 있다.
하나는 계시 분리방식이라고 불리는 것으로, 디스플레이 상에 좌측 눈 용 및 우측 눈 용으로 시간 축 방향으로 교호로 표시되는 영상을 사용자는 계시형 스테레오 안경(액정셔터 부착)을 통해 관찰함으로써 눈의 잔상 반응에 의해 좌우의 신을 중첩해서 입체 영상으로 인식한다. 더 상세하게는 디스플레이 상에는 좌측 눈 용의 영상이 표시되고 있는 순간에는 앞에서 설명한 계시형 스테레오 안경은 좌측 눈에 대응하는 액정셔터를 투과로 하고, 우측 눈에 대응하는 액정셔터는 차광 한다. 디스플레이 상에 우측 눈 용의 영상이 표시되고 있는 순간에는 방금 전과는 반대로 우측 눈에 대응하는 액정셔터를 투과로 하고, 좌측 눈에 대응하는 액정셔터를 차광한다. 이 방식에서는 좌우의 영상을 시간 축 방향으로 교호로 표시시키기 위해서, 예를 들어 통상의 2차원의 영화이면 1초에 24매의 영상을 표시시키는데 대해 좌우의 영상을 합해서 1초에 48매의 영상을 표시시킬 필요가 있다. 따라서, 이 방식에서는 한 화면의 재기록이 비교적 빠른 디스플레이에서 매우 적합하지만 1초간에 소정의 회수 재기록이 가능한 디스플레이이면 한정되지 않는다.
또, 다른 방법으로는 방금 전의 계시 분리방식에서는 좌우의 픽처를 시간 축 방향으로 교호로 출력하고 있던 것에 비해, 한 화면 중의 종 방향으로 좌측 눈 용의 픽처와 우측 눈 용의 픽처를 동시에 교호로 나열하고, 디스플레이 표면에 렌티큘러 렌즈라고 불리는 볼록한 형상의 렌즈를 통해서 좌측 눈 용의 픽처를 구성하는 화소는 좌측 눈에만 결상하고, 우측 눈 용의 픽처를 구성하는 화소는 우측 눈에만 결상하도록 함으로써 좌우의 눈에 시차가 있는 픽처를 보이게 해서 3D로 볼 수 있는 방식이다. 또, 렌티큘러 렌즈뿐만이 아니라 동일한 기능을 갖게 한 디바이스, 예를 들어 액정 소자를 이용해도 좋고, 또 좌측 눈 용의 화소에는 종 편광의 필터, 우측 눈 용의 화소에는 횡 편광의 필터를 설치하고, 시청자는 좌측 눈 용으로는 종 편광, 우측 눈 용에는 횡 편광의 필터를 설치한 편광 안경을 이용하여 디스플레이를 보는 것에 의해 입체 시가 가능해진다.
이 시차 화상을 이용한 입체 시는 이미 유원지의 놀이도구 등에서 일반적으로 사용되고 있고, 기술적으로도 확립되어 있으므로 가정에서의 실용화에 가장 가까운 것이라고 할 수 있다. 또, 시차 화상을 이용한 입체 시를 위한 방법은 이 그 밖에 비접촉 모드 색 분리 방식 등 다양한 기술이 제안되고 있으며, 본 실시형태에 서는 계시 분리방식 또는 편광 안경 방식을 예로 이용하여 설명하지만 시차 화상을 이용하는 한 이들 2 방식에 한정되는 것은 아니다.
본 실시형태에서는 입체 시에 사용하는 시차 화상을 정보기록매체에 저장하는 방법을 설명한다. 여기에서는 좌측 눈 용의 화면이 저장된 영상을 「좌측 눈 영상」, 우측 눈 용의 화면이 저장된 영상을 「우측 눈 영상」, 양쪽의 영상을 「3D 영상」이라고 부르기로 한다. (2D/3D표시의 전환)
다음에 본 발명에 관한 기록매체인 BD-ROM의 3D 영상을 저장하기 위한 데이터구조에 대하여 설명한다.
데이터구조의 기본부분은 3D 영상을 저장하기 위한 데이터구조와 동일하고, 확장 또는 다른 부분을 중심으로 설명한다. 3D 영상을 저장한 BD-ROM에 대하여 2D 영상만을 재생할 수 있는 재생장치를 2D 재생장치, 2D 영상과 3D 영상을 모두 재생할 수 있는 재생장치를 2D/3D 재생장치로 설명한다.
재생장치의 상태를 나타내는 시스템 파라미터(SPRM)에는 재생장치가 2D 재생장치인지 2D/3D 재생장치인가를 식별하기 위한 플래그가 준비되어 있다. 여기에서는 도 72를 예로 하여 SPRM(24)이 플레이어의 3D 재생능력을 나타내는 3D-Capability 파라미터 군으로 하여 설명한다.
3D 재생능력은 비디오 영상의 3D 표시능력과 그래픽스의 3D 표시능력을 각각 판정할 수 있게 되어 있다. 비디오 영상의 3D 표시능력이란 스테레오 영상 방식의 2 화면 분의 좌우 영상을 각각 디코드해서 표시할 수 있는 능력이다. 그래픽스의 3D 표시능력이란 좌측 눈 용 그래픽스와 우측 눈 용 그래픽스의 2개의 그래픽스를 독립해서 디코드하여 플레인 상에 묘사하는 능력이다.
또, 비디오 영상의 표시능력에 관해서는 해상도와 프레임 레이트 마다 세분화하여 재생능력을 나타내는 것도 가능하다. 1920x1080/59.94i의 비디오 포맷의 3D 영상의 표시능력 등 개별적으로 식별하는 것이 가능하면 LSI의 성능에 맞춰서 대응 가능한 3D표시를 프로그램이 검출 가능하게 된다.
또, 시스템 파라미터의 값을 BD-ROM상의 JAVA 프로그램으로부터 액세스하는 경우에는 플레이어의 시스템 프로퍼티로 액세스하는 것도 가능하다.
또, 도 73과 마찬가지로 디스플레이와 플레이어가 HDMI와 같이 디스플레이의 성능?대응방식을 플레이어에 송신할 수 있는 전송방식에 의해 접속되고 있는 경우 디스플레이의 3D 대응 범위를 SPRM(23)에 자동으로 설정해도 좋다. 또, 디스플레이의 성능을 전송할 수 없는 경우에는 사용자가 수동으로 설정해도 좋다.
디스플레이로부터 대응방식을 취득할 수 있는 경우에는 단순한 대응방식 외에 디스플레이의 사이즈, 해상도, 디스플레이로부터 시청하는 사람까지의 거리 등 3D 재생에 영향을 주는 정보를 취득하고, 시스템 파라미터에 저장해 둠으로써 다음에 설명하는 프로그램에 의한 최적인 재생방식의 선택에 활용하는 것도 가능하다.
도 74는 인덱스파일(Index.bdmv)과 BD프로그램 파일(001.PRG)의 관계를 나타내고 있다. 3D 영상을 저장한 BD-ROM에는 2D 영상을 재생하는 경로가 기재된 2D 플레이리스트(2601)와 3D 방식 1 영상을 재생하는 경로가 기재된 3D 플레이리스트(2602), 3D 방식 2 영상을 재생하는 경로가 기재된 3D 플레이리스트(2603)가 준비되어 있다. 사용자로부터 타이틀이 선택되고 실행된 BD프로그램 파일은 프로그램 중에서 재생장치가 3D 영상 재생에 대응하고 있는가, 대응하고 있는 경우에 사용자가 3D 영상 재생을 선택하고 있는가를 조사하여 재생할 플레이리스트를 전환한다. 3D 재생방식을 복수 상정하는 경우에는 각각 대응한 방식의 플레이리스트를 준비해 두고, 플레이어가 BD-ROM에 저장된 플레이리스트에 대응하고 있는 경우에는 대응한 3D 플레이리스트를 선택하고, 대응하고 있지 않은 경우에는 2D 플레이리스트를 선택한다.
예를 들어, 3D 방식 1이 2 화면 스테레오 재생방식, 3D 방식 2가 사이드?바이?사이드 방식이고, 플레이어가 사이드?바이?사이드 방식에만 대응하고 있는 경우 프로그램은 그 플레이어로 재생 가능한 사이드?바이?사이드 방식의 3D 플레이리스트 005.MPLS를 선택해서 재생한다.
또, BD-ROM에 저장되어 있는 프로그램은 오서링 측이 작성하는 것이며, 복수의 3D 형식에 플레이어가 대응하고 있는 경우 어느 3D 재생방식을 우선적으로 선택하는가는 오서링 측의 의지에 의존한다.
또, FirstPlay와 같이 디스크 삽입시에 먼저 최초로 재생되는 플레이리스트는 안전을 위해 반드시 어느 플레이어에서도 재생되는 2D 영상으로 구성되는 것이 바람직하다.
도 75는 BD프로그램 파일의 프로그램에서의 2D 플레이리스트와 3D 플레이리스트의 선택 플로를 나타내고 있다.
S2701에서 SPRM(24)의 값을 체크하고, 값이 0인 경우에는 해당 재생장치는 2D 재생장치이므로 2D 플레이리스트를 재생하고, 값이 1인 경우에는 S2702로 진행된다.
S2702에서 사용자에게 2D 영상의 재생을 희망하는지 3D 영상의 재생을 희망하는지를 메뉴 화면을 표시하여 문의한다. 사용자의 리모컨 등에서의 선택의 결과, 2D 영상의 재생을 희망하는 경우는 2D 플레이리스트를 재생하고, 3D 영상의 재생을 희망하는 경우는 S2703로 진행된다.
S2703에서 디스플레이가 3D 영상의 재생에 대응하고 있는가를 체크한다. 예를 들어 HDMI으로 결선(結線)을 하여 재생장치가 디스플레이에 대하여 3D 영상 재생에 대응하고 있는가 여부를 문의한다. 3D 영상의 재생에 대응하고 있지 않은 경우에는 2D 플레이리스트를 재생하지만, 사용자에 대하여 텔레비전 측의 준비가 갖추어져 있지 않은 취지를 메뉴 화면 등에 제시해도 좋다. 3D 영상의 재생에 대응하고 있는 경우에는 3D 플레이리스트를 재생한다.
종래의 아날로그 방식에서는 3D 영상에 대응하고 있지 않으므로 3D 영상은 출력할 수 없다. 플레이어가 3D 영상 재생 중은 도 76과 같이 아날로그 출력에 「3D 영상 재생 중입니다. 3D 대응 디스플레이로 봐 주세요.」등의 메시지를 표시하고, 사용자가 잘못된 단자에 접속하거나 대응하고 있지 않은 디스플레이에 접속하고 있음을 알리기 위한 메시지를 표시한다.
접속되어 있는 디스플레이가 2D 디스플레이만인 경우에는 자동으로 2D 플레이리스트에 재생을 전환해도 좋다. 플레이어에 2D 디스플레이와 3D 디스플레이가 접속되어 있고, 동시에 출력하고 있는 경우에는 2D 디스플레이 측에 3D 영상의 좌측 눈 영상이나 우측 눈 영상의 어느 하나만을 출력한다. 어느 영상을 아날로그용으로 출력하는가는 플레이리스트 등에 저장된 2D 출력 우선 영상 정보에 따른다. 이 구조에 의해 2D와 3D를 동시에 출력하는 경우 2D와 3D용의 영상을 동시에 디코드하거나 2D와 3D용의 플레이리스트를 독립해서 취급할 수 없어도 동시에 디스플레이에 출력하는 것이 가능해진다.
마찬가지로, OSD(시스템 내장 메뉴) 표시를 실시할 때, 3D 디스플레이에는 3D 대응의 OSD 표시를 실행하지만, 아날로그 출력과 같이 2D 밖에 대응하지 않는 출력에는 전용의 2D 영상, 또는 좌측 눈 영상만/우측 눈 영상만을 출력한다.
3D용의 출력과 2D용의 출력이 곤란한 경우에는 리모컨에 서브 디스플레이를 설치하고, 그쪽에 표시해도 좋다.
도 77은 플레이어의 2D/3D 출력을 나타내는 시스템 파라미터에 부정한 값이 설정되어서 영상이 표시되지 않게 되는 것을 회피하기 위한 프로그램에 관한 설명이다. 점선 사각형은 처리를 나타내고 있고, 타원은 프로그램 동작을 나타내며, 이 시스템 파라미터 상태, 화살표는 프로그램이 동작하는 타이밍이 병기되어 있다.
이 프로그램은 디스크 삽입시, 타이틀 전환시, PlayList 전환시, 사용자 요구에 의해 표시형식 전환시에 각각의 판정 논리로 시스템 파라미터의 값이 유효한 값 이외에는 변경되지 않는 것을 보증한다. 이 프로그램은 각 플레이어 상에 내장되어 있다.
타이틀에는 2 종류 존재하고, AV를 관리하는 PlayList가 재생 중에만 애플리케이션이 유효한 Movie title과, PlayList가 재생되어 있지 않아도 Java 프로그램으로부터 화면을 묘사할 수 있는 Java title이 있다.
도면 중의 화살표와 프로그램이 동작하는 타이밍에는 Movie title시에만 동작하는 것과, Java title시에만 동작하는 것과, 타이틀의 종류에 관계없이 동작하는 것이 있다.
시스템 파라미터의 값이 「Invalid」란 시스템 파라미터의 값이 출력에 반영되어 있지 않은 상태이며, 비록 시스템 파라미터의 값이 변경되어도 2D/3D의 출력은 전환되지 않는다. 이 경우의 동작은 부정이라도 좋다.
이에 대하여, 「Valid」란 시스템 파라미터의 값이 출력에 반영되어 있는 상태이며, 시스템 파라미터가 2D를 나타내는 제 2 기록매체 출력이고, 3D를 나타내는 배속 재생 출력이다. 또, 전환 시에는 HDMI의 재인증 등이 발생하므로 시스템 파라미터의 값의 변경과 출력 형식의 전환에 다소의 타임 래그가 있어도 좋다.
디스크 삽입시에는 「Initialization」로 묘사되고 있는 도 78, 도 91로 나타내느 프로그램이 처리된다. 접속되어 있는 디스플레이가 안경을 필요로 하지 않고 입체 시 할 수 있는(렌티큘러 등) 것이면 자동으로 출력 모드를 3D로 해도 좋다.
Java title로 전환 될 때에는 「Procedure when title is changed」로 묘사되어 있는 도 79 (a)에서 나타내는 프로그램이 처리된다. SD 화질에서는 충분히 입체 영상을 표현할 수 없으므로 Java 관리정보가 SD해상도를 설정하는 경우에는 자동으로 2D 모드로 전환해도 좋다.
PlayList 재생 개시시에는 「Procedure when playback condition is changed」로 묘사되어 있는 도 79 (b)에서 나타내는 프로그램이 처리된다.
2D/3D 출력의 전환시에는 「Procedure when title change is requested」로 묘사되어 있는 도 80에서 나타내는 프로그램이 처리된다.
도 81은 도 77의 설명도 중 Movie title의 경우만을 추출한 것이다.
도 82는 도 77의 설명도 중 Java title의 경우만을 추출한 것이다.
도 83은 도 77의 설명도 중 타이틀 전환의 경우만을 추출한 것이다.
(HDMI 인증의 사전 처리)
도 84는 재생 개시시의 영상 표시까지의 시간을 단축하는 방법에 대하여 설명하고 있다.
재생 개시시의 처리로는 플레이어에 디스크가 삽입되고, AV를 재생할 준비나 프로그램 실행 환경의 기동을 기다리며, 프로그램에 따라서 재생할 PlayList를 선택하고, 재생할 비디오 스트림이 결정되고 나서 비디오의 해상도와 프레임 레이트를 검출하여 HDMI의 인증을 실행하고, TV와의 접속이 확립된 후에 AV의 재생을 개시한다.
HDMI 인증에는 시간이 걸리므로 재생 개시까지 상당한 시간을 기다리게 될 염려가 있다.
이에, 도 84 (a)에 나타낸 것과 같이 재생할 PlayList가 결정되기 전에 최초로 판독되는 내비게이션 데이터의 일부에 HDMI 인증에 필요한 비디오 해상도와 프레임 레이트 등의 정보를 기록해 두고, 도 84 (b)에 나타낸 것과 같이 AV를 재생할 준비나 프로그램 실행 환경의 기동처리와 병행하여 HDMI 인증을 실시해 두면, PlayList 선택 후, 바로 재생을 개시하는 것이 가능해진다.
사전에 오서링되어서 만들어진 콘텐츠가 기록되어 있는 BD-ROM의 경우 디스크 재생 중의 PlayList에 포함되는 비디오 해상도와 프레임 레이트를 맞추어 두는 것도 가능하므로, 사전에 HDMI 인증을 완료해 두면 PlayList 재생 개시시에 대기 시간을 단축하는 효과를 얻을 수 있다.
또, 비록 PlayList에 따라서는 비디오 해상도나 프레임 레이트가 다르다고 하더라도 최초로 재생되는 PlayList나 본편의 PlayList는 오서링 시점에서 알고 있으므로 그 PlayList에 포함되는 비디오의 해상도와 프레임 레이트에서 사전에 인증을 마쳐 두면 역시 PlayList 재생 개시시에 대기 시간을 단축하는 효과를 얻을 수 있다.
(특수 재생에서의 영상 데이터 판독)
3D 영상이 저장된 디스크에서 재생 호환성을 확보하기 위한 디스크와 재생장치의 종래 예로는 도 85에 나타내는 것과 같은 방법이 알려져 있다. 디스크에는 좌측 눈 용의 화면이 저장된 2D/좌측 눈 영상 비디오 스트림과 우측 눈 용의 화면이 저장된 우측 눈 영상 비디오 스트림이 저장되어 있다.
각 AV스트림은 디스크 상에 몇 개의 익스텐트로 분할되어서 교호로 디스크 상에 배치되어 있다. 연속해서 재생하므로 인접하는 2D/좌측 눈 AV스트림의 익스텐트와 우측 눈 AV스트림의 익스텐트는 동일한 재생시간을 갖고 있으며, 인터리브 배치되고 있거나 양 스트림이 1개의 스트림으로서 다중화되어 있다.
2D/좌측 눈 AV스트림이 배치된 익스텐트는 각각을 순차 재생한 경우에 심리스 재생할 수 있도록 디스크의 시크 성능이나 판독 속도를 기초로 배치되어 있다. 디스크는 2D 재생장치에 장전되면 2D/좌측 눈 AV스트림이 재생되어서 2D 영상을 출력한다. 한편, 디스크가 3D 재생장치에 장전되고, 사용자가 3D 재생을 선택한 경우에는 2D/좌측 눈 AV스트림과 우측 눈 AV스트림이 익스텐트 단위로 교호로 판독된다. 즉, 드라이브의 시크가 발생하지 않도록 연속적으로 판독된다. 판독된 AV스트림은 2D/좌측 눈 영상 비디오 스트림은 좌측 눈 용 영상 디코더에, 우측 눈 영상 비디오 스트림은 우측 눈 용 영상 디코더에 입력되고, 각각 양 스트림을 복호하여, 예를 들어 좌측 눈 화면?우측 눈 화면이 교호로 텔레비전에 출력된다. 이 출력화상을 1/48초마다 우측 눈과 좌측 눈의 셔터가 전환되는 입체 안경으로 보면 입체 영상으로 보인다. 이러한 구성으로 함으로써 3D 영상이 저장된 디스크를 2D 재생장치에서는 2D 영상으로 재생하고, 2D/3D 재생장치에서는 3D 영상으로 재생할 수 있다.
통상 재생을 실행하는 경우는 재생할 스트림 파일을 지정하고 선두로부터 연속해서 판독하면 좋지만, 빨리 감기와 같이 영상의 부분 구간을 고속으로 전환하여 판독하는 경우는 판독 위치를 나타낸 내비게이션 정보가 필요하다. 특히 고속으로 빨리 감는 경우는 I픽처만을 판독하고, 다음에 표시해야 할 I픽처에 시크하는 것을 반복하므로 I픽처의 위치를 효율적으로 판독하기 위한 내비게이션 정보가 필요하다.
도 86은 2D 영상의 경우의 내비게이션 정보를 나타내고 있고, I픽처의 개시 어드레스와 사이즈를 저장한 타임 맵이 그것에 해당한다.
2D/좌측 눈 용 스트림과 우측 눈 용 스트림이 다른 파일 또는 다른 트랜스포트 스트림에 다중화되어 있는 경우는 각각 독립한 개별의 타임 맵을 갖고 있으면 좋고, 빨리 감기 재생시에 동일한 시각의 영상을 각각 판독하여 표시하면 좋다.
또, 도 87에 나타낸 것과 같이 빨리 감기 등의 특수 재생시에도 좌측 눈 용 영상과 우측 눈 용 영상은 쌍이 아니면 입체로 보이지 않으므로 동일한 시각의 영상을 판독하여 표시할 필요가 있다. 따라서, 각각의 타임 맵의 시각이 다른 경우에는 빨리 감기 중의 입체 영상 표시는 곤란하므로 타임 맵의 시각을 맞추어 둘 필요가 있다.
2D/좌측 눈 용 스트림과 우측 눈 용 스트림이 동일한 트랜스포트 스트림에 다중화되어 있는 경우는 개별적으로 타임 맵을 만드는 방법과 좌측 눈 용?우측 눈 용의 쌍 별로 1개의 타임 맵을 만드는 방법이 있다.
도 88은 개별적으로 타임 맵을 갖는 경우이다. 1개의 트랜스포트 스트림에 다중화되어 있지만 판독 방법은 2개로 나누어져 있는 경우와 동일하다. 판독 영역이 중첩되는 경우는 연속으로 판독하기 위한 개선 등은 필요하다.
도 89는 좌측 눈 용?우측 눈 용 쌍 별로 1개의 타임 맵을 만드는 경우이다. 쌍마다 엔트리를 등록하므로 좌측 눈 용과 우측 눈 용의 I픽처의 시각은 동일하다. 좌측 눈 용 I픽처의 선두 어드레스와 우측 눈 용 I픽처의 선두 어드레스 중 앞에 있는 것의 어드레스를 등록하고, 좌측 눈 용 I픽처의 종단 어드레스와 우측 눈 용 I픽처의 종단 어드레스 중 뒤에 있는 것의 어드레스와 방금 전의 선두 어드레스의 거리를 사이즈로 등록한다. 이 방법의 경우 어느 엔트리를 판독할 때 좌측 눈 용과 우측 눈 용의 픽처는 반드시 쌍으로 되어 있는 이점이 있지만, 각각의 I픽처의 거리가 떨어져 있는 경우 사이에 다른 픽처의 영상이 포함되어 버려서 여분의 판독이 발생할 가능성이 있다. 단, 시크하는 시간보다 불필요한 데이터를 판독하여 버리는 편이 시간 효율이 좋은 경우도 있으므로 이쪽의 방식이 효과적인 경우도 있다.
(자막?그래픽스의 합성)
도 90은 자막 또는 그래픽스 데이터의 이용에 대하여 설명하는 도면이다.
2D용의 자막 데이터와 3D용의 좌측 눈 용 자막데이터, 우측 눈 용 자막데이터가 각각 다른 경우 2D의 자막데이터의 용량에 대하여 약 3배의 그래픽스 데이터 용량이 필요하여 디스크의 용량을 압박한다. 대책으로 2D용의 자막을 좌측 눈 용과 우측 눈 용으로 표시 위치를 바꿔서 영상에 대하여 시차를 생기게 하여 떠오르게 하거나 들어가게 보이는 방법과, 3D용으로 만든 좌측 눈 용 영상과 우측 눈 영상 중 2D표시의 경우는 일측에만 표시하는 방법이 생각된다. 전자는 2D의 그래픽스 데이터 사이즈와 거의 동일하고, 후자는 약 2배의 데이터량으로 해결된다.
어느 경우도 3D 좌측 눈 용 자막데이터와 2D용 자막데이터는 그래픽스로서는 동일한 것이며, 표시형식이 2D표시의 경우는 오프셋 없음, 3D표시의 경우는 오프셋 있음으로 표시한다.
또, 오프셋 데이터는 자막?그래픽스 데이터에 설정되어 있어도 좋고, 내비게이션 정보로부터 부여되어도 좋으며, 영상 데이터에 매입되어 있어서 각 프레임마다 또는 GOP 단위마다 설정되어 있어도 좋다.
(제 13 실시형태)
본 실시형태에서는 지금까지의 실시형태에 대하여 설명된 구조의 데이터를 재생하는 재생장치에 관하여 집적회로(803)를 이용하여 실현한 구성 예에 대하여 설명한다.
도 93은 집적회로(803)를 이용하여 구성된 재생장치를 나타내는 도면이다.
매체 IF부(801)는 매체로부터 데이터를 수신하고(판독하고), 집적회로(803)에 전송한다. 또, 매체 IF부(801)는 앞에서 설명한 실시형태에서 설명한 구조의 데이터를 매체로부터 수신한다. 매체 IF부(801)는 예를 들어 매체가 광디스크나 하드 디스크의 경우는 디스크 드라이브, 매체가 SD카드나 USB 메모리 등의 반도체 메모리인 경우는 카드 IF, 매체가 CATV 등을 포함한 방송파의 경우는 CAN 튜너나 Si튜너, 매체가 이더넷(ethernet) (등록상표), 무선 LAN, 무선 공중회선 등의 네트워크의 경우는 네트워크 IF 등이다.
메모리(802)는 매체로부터 수신한(판독한) 데이터를 일단 저장하거나 집적회로(803)에서의 처리 도중의 데이터를 일시적으로 저장하는 메모리로, 예를 들어 SDRAM(Synchronous Dynamic Random Access Memory), DDRx SDRAM(Double-Date-Ratex Synchronous Dynamic Random Access Memory;x=1, 2,3???) 등이 이용된다. 또, 메모리(802)는 임의의 개수 구비하고 있으면 좋고, 필요에 따라서 단수라도 복수라도 상관없다.
집적회로(803)는 매체 IF부(801)로부터 전송된 데이터에 대하여 영상?음성 처리를 실행하는 시스템 LSI로, 스트림 처리부(805), 주 제어부(806), 신호처리부(807), AV 출력부(808), 메모리 제어부(809) 등으로 구성된다.
주 제어부(806)는 타이머 기능이나 할당 기능을 갖는 프로세서 코어를 갖고, 프로세서 코어는 프로그램 메모리 등에 저장된 프로그램에 따라서 집적회로(803) 전체의 제어를 실행한다. 또, 프로그램 메모리 등에는 미리 OS 등의 기본 소프트가 저장되어 있다.
스트림 처리부(805)는 주 제어부(806)의 제어하에 매체로부터 매체 IF부(801) 경유로 전송된 데이터를 수신하고, 집적회로(803) 내의 데이터버스를 경유하여 메모리(802)에 저장하거나, 수신한 데이터를 영상계 데이터(비디오/그래픽스(PG, IG)), 음성계 데이터로 분리한다. 앞에서 설명한 것과 같이, 매체 상의 데이터는 레프트 뷰 비디오 스트림을 포함하는 2D/L용의 AV 클립과 라이트 뷰 비디오 스트림을 포함하는 R용의 AV 클립이 몇 개의 익스텐트로 분할된 상태로 교호로 배치된 것이다. 따라서, 주 제어부(806)는 집적회로(803)가 레프트 뷰 스트림을 포함한 좌측 눈 용 데이터를 수신한 경우는 메모리(802)의 제 1 영역에 데이터가 저장되도록 제어하고, 라이트 뷰 비디오 스트림을 포함한 우측 눈 용 데이터를 수신한 경우는 메모리(802)의 제 2 영역에 데이터가 저장되도록 제어한다. 여기서, 좌측 눈 용 데이터는 좌측 눈 용 익스텐트에 속해 있고, 우측 눈 용 데이터는 우측 눈 용 익스텐트에 속해 있다. 또, 메모리(802)에서의 제 1, 제 2 영역은 단일의 메모리가 논리적으로 영역 분할된 것이어도 좋고, 물리적으로 다른 메모리라도 좋다. 또, 본 실시형태에서는 레프트 뷰 비디오 스트림을 포함한 좌측 눈 용 데이터를 메인 뷰 데이터, 라이트 뷰 비디오 스트림을 포함한 우측 눈 용 데이터를 서브 뷰 데이터로 설명을 계속하지만, 우측 눈 용 데이터가 메인 뷰 데이터, 좌측 눈 용 데이터가 서브 뷰 데이터라도 상관없다. 또, 그래픽스 스트림은 메인 뷰 데이터 및 서브 뷰 데이터의 어느 일방, 또는 양쪽 모두에 다중화되어 있다.
신호처리부(807)는 주 제어부(806)의 제어하에 스트림 처리부(805)가 분리한 영상계 데이터, 음성계 데이터에 대하여 적절한 방식으로 디코드한다. 영상계 데이터는 MPEG-2, MPEG-4 AVC, MPEG4-MVC, SMPTE VC-1 등의 방식을 사용하여 부호화 기록되어 있고, 또 음성계 데이터는 돌비 AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD, 리니어 PCM 등의 방식으로 압축?부호화 기록되어 있으므로 신호처리부(807)는 이들에 대응한 방식으로 디코드한다. 또, 신호처리부(807)의 모델은 예를 들어 제 1 실시형태의 도 12에서의 각종 디코더가 그것에 해당한다.
메모리 제어부(809)는 집적회로(803) 내의 각 기능 블록에서 메모리(802)로의 액세스를 조정한다.
AV 출력부(808)는 주 제어부(806)의 제어하에 신호처리부(807)에서 디코드 된 영상계 데이터를 중첩하거나 영상계 데이터의 포맷 변환 등을 하여 집적회로(803) 외로 출력한다.
도 94는 스트림 처리부(805)의 대표적인 구성을 나타내는 기능 블록도이다. 스트림 처리부(805)는 디바이스?스트림 IF부(851), 다중 분리부(852), 스위칭부(853) 등을 구비한다.
디바이스?스트림 IF부(851)는 매체 IF부(801)와 집적회로(803) 사이의 데이터 전송용 인터페이스이며, 예를 들어 매체가 광디스크나 하드 디스크의 경우는 SATA(Serial Advanced Technology Attachment), ATAPI(Advanced Technology Attachment Packet Interface), PATA(Parallel Advanced Technology Attachment), 매체가 SD카드나 USB 메모리 등의 반도체 메모리의 경우는 카드 IF, 매체가 CATV 등을 포함하는 방송파 등의 경우는 튜너 IF, 매체가 이더넷(ethernet), 무선 LAN, 무선 공중회선 등의 네트워크의 경우는 네트워크 IF 등이다. 또, 매체의 종류에 따라서는 디바이스?스트림 IF부(851)가 매체 IF부(801)의 기능의 일부를 대신해도 상관없고, 매체 IF부(801)가 집적회로(803)에 내장되어 있어도 상관없다.
다중 분리부(852)는 매체로부터 전송된 영상?음성을 포함한 재생 데이터를 영상계 데이터와 음성계 데이터로 분리한다. 앞에서 설명한 각 익스텐트는 영상?음성?PG(자막)?IG(메뉴) 등의 각 소스 패킷으로 구성되어 있고(단, 서브 뷰 데이터는 음성을 포함하지 않는 경우도 있다), 각 소스 패킷에 포함되어 있는 PID(식별자)에 따라서 영상계?음성계의 각 TS 패킷으로 분리하고, 신호처리부(807)에 전송한다. 처리가 완료된 데이터는 직접 또는 일단 메모리(802)에 저장된 후, 신호처리부(807)에 전송된다. 또, 다중 분리부(852)의 모델은 예를 들어 제 1 실시형태의 다중 분리부를 구성하는 소스 디패킷다이저, PID 필터가 그것에 해당한다.
스위칭부(853)는 디바이스?스트림 IF부(851)가 좌측 눈 용 데이터를 수신한 때에는 메모리(802)의 제 1 영역에 저장되도록, 우측 눈 용 데이터를 수신한 때에는 메모리(802)의 제 2 영역에 저장되도록 출력 처(저장 처)를 전환한다. 여기서, 스위칭부(853)는 예를 들어 DMAC(Direct Memory Access Controller)이다. 도 95는 스위칭부(853)가 DMAC인 경우의 스위칭부(853) 주변의 개념도이다. DMAC는 주 제어부(806)의 제어하에 디바이스?스트림 IF부가 수신한 데이터와 그 데이터 저장 처 어드레스를 메모리 제어부(809)에 대하여 송신한다. 구체적으로는, 디바이스?스트림 IF부가 좌측 눈 용 데이터를 수신한 때는 어드레스 1(제 1 저장영역)을, 우측 눈 용 데이터를 수신한 때는 어드레스 2(제 2 저장영역)를 메모리 제어부(809)에 송신함으로써 수신 데이터에 의해 그 출력 처(저장 처)를 전환하고 있다. 메모리 제어부(809)는 DMAC로부터 보내져 온 저장 처 어드레스에 따라서 메모리(802)에 데이터를 저장한다. 또, 주 제어부(806) 대신에 스위칭부(853)를 제어하는 전용의 회로를 설치해도 상관없다.
여기에서는 스트림 처리부(805)의 대표적인 구성으로 디바이스?스트림 IF부(851), 다중 분리부(852), 스위칭부(853)에 대하여 설명했지만, 수신한 암호화 데이터나 키 데이터 등을 복호 하는 암호 엔진부, 매체~재생장치 사이의 기기인증 프로토콜 등의 실행 제어나 비밀키를 보유하는 시큐어 관리부, 다이렉트 메모리 액세스용의 컨트롤러 등을 더 구비하고 있어도 좋다. 지금까지는 매체로부터 수신한 데이터를 메모리(802)에 저장할 때에 스위칭부(853)가 좌측 눈 용 데이터?우측 눈 용 데이터 등에 의해서 저장 처를 전환하는 경우에 대하여 설명해 왔지만, 매체로부터 수신한 데이터를 일단 메모리(802)에 저장한 후, 다중 분리부(852)에 데이터를 전송할 때 좌측 눈 용 데이터?우측 눈 용 데이터를 분리해도 좋다.
도 96은 AV 출력부(808)의 대표적인 구성을 나타내는 기능 블록도이다. AV 출력부(808)는 화상 중첩부(881)와 비디오 출력 포맷 변환부(882), 오디오?비디오 출력 IF부(883) 등을 구비한다.
화상 중첩부(881)는 디코드 된 영상계의 데이터를 중첩한다. 구체적으로는 레프트 뷰 비디오 데이터 또는 라이트 뷰 비디오 데이터와, PG(자막), IG(메뉴)를 픽처 단위로 중첩한다. 화상 중첩부(801)의 모델은 예를 들어 도 16 등이다. 앞에서 설명한 것과 같이, 그래픽스 스트림의 재생타입에는 평면 시 그래픽스 스트림을 이용한 제 1의 재생방법과, 좌측 눈 용의 그래픽스 스트림과 우측 눈 용의 그래픽스 스트림의 쌍을 이용한 입체 시 재생을 실행하는 제 2의 재생방법이 있고, 어느 재생방법을 선택하는가는 매체 중에 존재하는 데이터와 그것을 재생하는 재생장치의 재생능력의 조합에 의해 정해진다. 구체적으로는 매체는 그래픽스 스트림에 좌측 눈 용 그래픽스 스트림과 우측 눈 용 그래픽스 스트림의 쌍이 존재하는가 여부를 나타내는 식별플래그를 가지고 있다. 또, 재생장치는 메모리(802) 중에 좌측 눈 용 그래픽스 스트림과 우측 눈 용 그래픽스 스트림의 쌍을 이용한 입체 시 재생을 실행하는 능력이 있는가 여부를 나타내는 정보를 갖고 있으며, 식별플래그가 좌측 눈 용 그래픽스 스트림과 우측 눈 용 그래픽스 스트림의 쌍이 존재한다는 것을 나타내고, 또한 재생장치가 좌측 눈 용 그래픽스 스트림과 우측 눈 용 그래픽스 스트림의 쌍을 이용한 입체 시 재생을 실행하는 능력이 있는 경우에 제 2의 재생방법이 선택되고, 그 이외는 제 1의 재생방법이 선택된다. 제 2의 재생방법이 선택된 때는 레프트 뷰 비디오 데이터와 대응하는 좌측 눈 용 그래픽스 데이터가 중첩되고, 라이트 뷰 비디오 데이터와 대응하는 우측 눈 용 그래픽스 데이터가 중첩된다. 또, 제 1의 재생방법이 선택된 때는 평면 시 그래픽스 데이터에는 수평 좌표의 +방향 또는 -방향의 오프셋이 부여되고, 레프트 뷰 비디오 데이터는 +방향으로 오프셋이 부여된 대응하는 평면 시 그래픽스 데이터와 중첩되고, 라이트 뷰 비디오 데이터는 -방향으로 오프셋이 부여된 대응하는 평면 시 그래픽스 데이터가 중첩된다. 또, 오프셋 제어를 위한 정보는 서브 뷰 스트림에 포함되어 있다.
비디오 출력 포맷 변환부(882)는 디코드 된 영상계 데이터에 대하여 확대 또는 축소하는 리사이즈 처리, 주사방식을 프로그래시브 방식 및 인터레이스 방식의 일방에서 타방으로 변환하는 IP변환처리, 노이즈를 제거하는 노이즈 축소처리, 프레임 레이트를 변환하는 프레임 레이트 변환처리 등을 필요에 따라서 실시한다.
오디오?비디오 출력 IF부(883)는 화상 중첩이나 포맷 변환된 영상계 데이터와 디코드 된 음성계 데이터에 대하여 데이터 송신 형식에 맞춰서 인코드 등을 실시한다. 또, 후술하는 것과 같이 오디오?비디오 출력 IF부(883)는 일부 집적회로(803) 외에 구비되어 있어도 상관없다.
도 97은 AV 출력부(808) 또는 재생장치의 데이터 출력부분을 더 상세하게 나타낸 구성 예이다. 본 실시형태에서의 집적회로(803) 및 재생장치는 복수의 영상계 데이터, 음성계 데이터의 데이터 송신 형식에 대응하고 있다. 도 96에서의 오디오?비디오 출력 IF부(883)는 아날로그 비디오 출력 IF부(883a), 아날로그 오디오 출력 IF부(883c), 디지털 오디오?출력 IF부(883b)에 대응한다.
아날로그 비디오 출력 IF부(883a)는 화상중첩처리나 출력 포맷 변환 처리된 영상계 데이터를 아날로그 영상신호형식으로 변환?인코드하고 출력한다. 예를 들어 NTSC, PAL, SECAM의 3 방식의 어느 것에 대응한 콤포지트(composite) 비디오 인코더, S영상신호(Y/C분리)용 인코더, 컴포넌트 영상신호용 인코더나 DAC(D/A 컨버터) 등이 그것에 해당한다.
디지털 오디오?비디오 출력 IF부(883b)는 디코드 된 음성계 데이터와 화상중첩처리나 출력 포맷 변환된 영상계 데이터를 일체화하고, 더 암호화한 후, 데이터 송신규격에 맞춰서 인코드해서 출력한다. 예를 들어 HDMI(High-Definition Multimedia InterFace) 등이 그것에 해당한다.
아날로그 오디오 출력 IF부(883c)는 디코드 된 음성계 데이터를 D/A 변환하여 아날로그 음성 데이터를 출력하는 오디오 DAC 등이 그것에 해당한다.
이들 영상계 데이터 및 음성계 데이터의 송신 형식은 표시장치?스피커 측이 서포트하고 있는 데이터 수신장치(데이터 입력 단자)에 의존해서 전환하거나, 또 사용자의 선택에 의해 송신 형식을 전환하는 것이 가능하다. 또, 단일의 송신 형식만이 아니라 병행하여 복수의 송신 형식으로 동일한 콘텐츠에 대응한 데이터를 송신하는 것도 가능하다.
여기에서는 AV 출력부(808)의 대표적인 구성으로 화상 중첩부(881), 비디오 출력 포맷 변환부(882), 오디오?비디오 출력 IF부(883)에 대하여 설명했지만, 필터 처리, 화면 합성, 곡선 묘사, 3D표시 등의 그래픽스 처리를 실행하는 그래픽스 엔진부 등을 더 구비하고 있어도 좋다.
이상이 본 실시형태에서의 재생장치의 구성에 대한 설명이다. 또, 앞에서 설명한 집적회로(803)에 포함되는 각 기능 블록은 모두가 내장되어 있지 않아도 좋고, 역으로 도 93의 메모리(802)가 집적회로(803)에 내장되어 있어도 좋다. 또, 본 실시형태에서는 주 제어부(806)와 신호처리부(807)는 다른 기능 블록으로 설명해 왔지만, 주 제어부(806)가 신호처리부(807)의 처리의 일부를 실시해도 상관없다.
또, 예를 들어 도 100과 같이 본 실시형태에서의 재생장치의 처리를 표시장치에서 실시해도 상관없다. 그때, 매체 IF부(801)가 수신한 데이터는 집적회로(803)에 의해 신호 처리되며, 처리된 영상계 데이터는 표시 구동부(8010)를 경유하여 표시 패널(811)을 통해서 출력되고, 처리된 음성계 데이터는 스피커(812)를 통해서 출력된다. 여기서, AV 출력부(808)는 예를 들어 도 101과 같이 구성되고, 집적회로(803) 내부 또는 외부의 비디오 출력 IF부(884) 및 오디오 출력 IF부(885)를 통해서 데이터 전송이 이루어진다. 또, 비디오 출력 IF부(884) 및 오디오 출력 IF부(885)를 각각 복수 구비하고 있어도 좋고, 비디오와 오디오 공통의 IF부를 구비하고 있어도 좋다.
또, 집적회로(803)에서의 제어버스나 데이터버스의 경로는 각 처리 블록의 처리순서나 처리내용에 의해 임의에 배치되지만, 예를 들어 도 98과 같이 각 처리 블록끼리를 직접 연결하도록 데이터버스를 배치해도 좋고, 도 99와 같이 각 처리 블록끼리를 메모리(802) (메모리 제어부(809))를 개재하여 연결하도록 데이터버스를 배치해도 좋다.
또, 집적회로(803)는 복수의 칩을 하나의 패키지에 밀봉하고, 외관상 하나의 LSI로 한 다중 칩?모듈이어도 상관없다.
또, LSI 제조 후에 프로그램할 수 있는 FPGA(Field Programmable Gate Array)나, LSI 내부의 회로 셀의 접속이나 설정을 재구성 가능한 리컨피규러블?프로세서를 이용해도 좋다.
다음에 이상과 같이 구성된 재생장치의 동작에 대하여 설명한다.
도 102는 매체로부터 데이터를 수신하고(판독), 디코드한 후에 영상신호 및 음성 신호로서 출력하는 재생동작순서를 간단하게 나타낸 플로차트이다.
S801 : 매체로부터 데이터를 수신한다(판독한다) (매체 IF부(801), 스트림 처리부(805)).
S802 : S801에서 수신된(판독된) 데이터를 각종 데이터(영상계 데이터?음성계 데이터)로 분리한다(스트림 처리부(805)).
S803 : S802에서 분리된 각종 데이터를 적절한 형식으로 디코드한다(신호처리부(807)).
S804 : S803에서 디코드 처리된 각종 데이터 중 영상계의 것에 대하여 중첩 처리를 실행한다(AV 출력부(808)).
S805 : S802~S804에서 처리된 영상계 데이터 및 음성계 데이터를 출력한다(AV 출력부(808)).
도 103은 더 상세하게 재생동작순서를 나타낸 플로차트이다. 각 동작?처리는 주 제어부(806)의 제어하에 이루어진다.
S901 : 스트림 처리부(805)의 디바이스?스트림 IF부(851)는 매체 IF부(801)를 통해서 매체에 저장되어서 재생되는 데이터 이외의 데이터를 재생하기 위해서 필요한 데이터(PLAYLIST, CLIPINF 등)를 수신하고(판독), 메모리(802)에 저장한다(매체 IF부(801), 디바이스 IF부(851), 메모리 제어부(809), 메모리(802)).
S902 : 주 제어부(806)는 수신된 CLIPINF에 포함되는 스트림 속성정보로부터 매체에 저장되어 있는 영상 데이터 및 음성 데이터의 압축 형식을 인식하고, 대응하는 디코드 처리를 할 수 있도록 신호처리부(807)의 초기화를 실시한다(주 제어부(806)).
S903 : 스트림 처리부(805)의 디바이스?스트림 IF부(851)는 매체 IF부(801)를 통해서 매체에 저장되어 있는 영상?음성 등 재생되는 데이터를 수신하고(판독), 스위칭부(853), 메모리 제어부(809)를 경유하여 메모리(802)에 저장한다. 또, 데이터는 익스텐트 단위로 수신하고(판독되고), 좌측 눈 용 데이터를 수신한(판독한) 때에는 제 1 영역에, 우측 눈 용 데이터를 수신한(판독한) 때에는 제 2 영역에 저장되도록 주 제어부(806)가 스위칭부(853)를 제어하고, 스위칭부(853)가 데이터의 출력 처(저장 처)를 전환한다(매체 IF부(801), 디바이스 IF부(851), 주 제어부(806), 스위칭부(853), 메모리 제어부(809), 메모리(802)).
S904 : 메모리(802)에 저장된 데이터는 스트림 처리부(805)의 다중 분리부(852)에 전송되며, 다중 분리부(852)는 스트림 데이터를 구성하는 소스 패킷에 포함되는 PID에 따라서 영상계(주 영상, 부 영상, PG(자막), IG(메뉴)), 음성계(음성, 부 음성)의 어느 것인가를 인식하고, TS 패킷 단위로 신호처리부(807)의 대응하는 각 디코더에 전송한다(다중 분리부(852)).
S905 : 신호처리부(807)의 각 디코더는 전송되어 온 TS 패킷에 대하여 적절한 방식으로 디코드 처리를 실행한다(신호처리부(807)).
S906 : 신호처리부(807)에서 디코드 된 영상계 데이터 중 레프트 뷰 비디오 스트림 및 라이트 뷰 비디오 스트림에 대응하는 데이터를 표시장치(4)에 맞춰서 리사이즈 한다(비디오 출력 포맷 변환부(882)).
S907 : S906에서 리사이즈된 비디오 스트림과 PG(자막)?IG(메뉴)가 중첩된다(화상 중첩부(881)).
S908 : S907에서 중첩된 영상 데이터에 대하여 주사 방식의 변환인 IP변환을 실시한다(비디오 출력 포맷 변환부(882)).
S909 : 지금까지의 처리를 실행한 영상계 데이터 및 음성계 데이터에 대하여 표시장치?스피커(4)의 데이터 출력 방식, 또는 표시장치?스피커(4)로의 데이터 송신 방식에 따라서 인코드나 D/A변환 등을 실시한다. 예를 들어 영상계 데이터?음성계 데이터를 각각 아날로그 또는 디지털 출력에 대응하기 위해서 처리를 실행한다. 영상계 데이터의 아날로그 출력으로는 콤퍼짓 영상신호나 S영상신호나 컴포넌트 영상신호등을 서포트하고 있다. 또, 영상계?음성계 데이터의 디지털 출력은 HDMI를 서포트하고 있다(오디오?비디오 출력 IF부(883)).
S910 : S909에서 처리된 영상계 데이터 및 음성계 데이터를 표시장치?스피커(4)에 송신, 출력한다(오디오?비디오 출력 IF부(883), 표시장치?스피커(4)).
이상이 본 실시형태에서의 재생장치의 동작순서의 설명이다. 또, 처리마다 처리 결과를 메모리(802)에 일단 저장해도 상관없다. 또, 도 100의 표시장치로 재생처리를 실행한 경우도 기본적으로 동일한 동작순서이며, 도 93의 재생장치의 각 기능 블록에 대응하는 기능 블록이 동일한 처리를 실행한다. 또, 본 동작순서에서는 비디오 출력 포맷 변환부(882)에서 리사이즈 처리 및 IP변환 처리를 실행하는 경우에 대하여 설명했지만, 필요에 따라서 처리를 생략해도 상관없고, 또 다른 처리(노이즈 축소 처리, 프레임 레이트 변환 처리 등)를 실시해도 상관없다. 또, 가능한 것에 대해서는 처리순서를 변경해도 상관없다.
(비고)
이상, 본원의 출원 시점에서 출원인이 알 수 있는 최선의 실시형태에 대하여 설명했지만, 이하에 나타내는 기술적 토픽에 대해서는 한층 더 개량이나 변경 실시를 부가할 수 있다. 각 실시형태에서 설명한 것과 같이 실시하는가, 이러한 개량?변경을 부가하는가 여부는 모두 임의적이고, 실행하는 사람의 주관에 의한 것임에 유의하기 바란다.
(광디스크의 재생)
BD-ROM 드라이브는 반도체 레이저, 콜리메이트 렌즈, 빔 스플리터, 대물렌즈, 집광렌즈, 광검출기를 갖는 광학 헤드를 구비한다. 반도체 레이저로부터 출사된 광 빔은 콜리메이트 렌즈, 빔 스플리터, 대물렌즈를 통해서 광디스크의 정보 면에 집광된다.
집광 된 광 빔은 광디스크 상에서 반사/회절 되어서 대물렌즈, 빔 스플리터, 집광렌즈를 거쳐서 광검출기에 집광 된다. 광검출기에 집광 된 광의 광량에 따라서 재생신호를 생성한다.
(기록매체의 변형)
각 실시형태에서의 기록매체는 광디스크, 반도체 메모리카드 등, 패키지 미디어 전반을 포함하고 있다. 본 실시형태의 기록매체는 미리 필요한 데이터가 기록된 광디스크(예를 들어 BD-ROM, DVD-ROM 등의 기존의 판독 가능한 광디스크)를 예에 설명을 하지만, 이것에 한정될 필요는 없고, 예를 들어 방송 또는 네트워크를 경유하여 배신(配信)된 본 발명의 실시에 필요한 데이터를 포함하는 3D 콘텐츠를 광디스크에 기입하는 기능을 갖는 단말장치(예를 들어 왼쪽에 기재한 기능은 재생장치에 내장되어 있어도 좋고, 재생장치와는 다른 장치라도 좋다)를 이용하여 기입 가능한 광디스크(예를 들어 BD-RE, DVD-RAM 등의 기존의 기입 가능한 광디스크)에 기록하고, 이 기록한 광디스크를 본 발명의 재생장치에 적용해도 본 발명의 실시는 가능하다.
(반도체 메모리카드 기록장치 및 재생장치의 실시형태)
각 실시형태에서 설명한 데이터구조를 반도체 메모리에 기록하는 기록장치 및 재생하는 재생장치의 실시형태에 대하여 설명한다.
우선, 전제가 되는 기술로 BD-ROM에 기록되어 있는 데이터의 저작권 보호의 구조에 대하여 설명한다.
BD-ROM에 기록된 데이터 중 예를 들어 저작권의 보호, 데이터의 비닉성의 향상의 관점으로부터 데이터의 일부가 필요에 따라서 암호화되고 있는 경우가 있다.
예를 들어 BD-ROM에 기록된 데이터 중 암호화되고 있는 데이터는 예를 들어 비디오 스트림에 대응하는 데이터, 오디오 스트림에 대응하는 데이터, 또는 이들을 포함하는 스트림에 대응하는 데이터이다.
이후, BD-ROM에 기록된 데이터 중 암호화되고 있는 데이터의 해독에 대하여 설명한다.
반도체 메모리카드 재생장치에서는 BD-ROM 내의 암호화된 데이터를 해독하기 위해서 필요한 키에 대응하는 데이터(예를 들어 디바이스 키)가 미리 재생장치에 기억되어 있다.
한편, BD-ROM에는 암호화된 데이터를 해독하기 위해서 필요한 키에 대응하는 데이터(예를 들어 상술한 디바이스 키에 대응하는 MKB(미디어 키 블록))와, 암호화된 데이터를 해독하기 위한 키 자체를 암호화한 데이터(예를 들어 상술한 디바이스 키 및 MKB에 대응하는 암호화 타이틀 키)가 기록되고 있다. 여기서, 디바이스 키, MKB 및 암호화 타이틀 키는 쌍으로 되어 있고, 또 BD-ROM상의 통상 카피할 수 없는 영역(BCA로 불리는 영역)에 기입된 식별자(예를 들어 볼륨 ID)와도 대응부여가 이루어져 있다. 이 조합이 정당하지 않으면 암호의 해독을 할 수 없는 것으로 한다. 조합이 정당한 경우에만 암호 해독에 필요한 키(예를 들어 상술한 디바이스 키, MKB 및 볼륨 ID를 기초로 암호화 타이틀 키를 복호해서 얻어지는 타이틀 키)를 도출할 수 있고, 이 암호 해독에 필요한 키를 이용하여 암호화된 데이터의 해독이 가능해진다.
장전된 BD-ROM을 재생장치에서 재생하는 경우 예를 들어 BD-ROM 내의 암호화 타이틀 키, MKB와 쌍으로 되어 있는(또는 대응한다) 디바이스 키가 재생장치 내에 없으면 암호화된 데이터는 재생이 이루어지지 않는다. 왜냐하면 암호화된 데이터의 해독에 필요한 키(타이틀 키)는 키 자체가 암호화되어서(암호화 타이틀 키) BD-ROM상에 기록되어 있고, MKB와 디바이스 키의 조합이 정당하지 않으면 암호의 해독에 필요한 키를 도출할 수 없기 때문이다.
반대로 암호화 타이틀 키, MKB, 디바이스 키 및 볼륨 ID의 조합이 정당하면 예를 들어 상술한 암호 해독에 필요한 키(디바이스 키, MKB 및 볼륨 ID를 기초로 암호화 타이틀 키를 복호해서 얻어지는 타이틀 키)를 이용하여 비디오 스트림이 디코더에 의해 디코드 되고, 오디오 스트림이 오디오 디코더에 의해 디코드 되도록 재생장치는 구성되어 있다.
이상이 BD-ROM에 기록되어 있는 데이터의 저작권 보호의 구조이지만, 이 구조는 BD-ROM에 반드시 한정되는 것은 아니며, 예를 들어 판독/기입 가능한 반도체 메모리(예를 들어 SD 카드 등의 휴대성을 갖는 반도체 메모리카드)에 적용한 경우에도 실시가 가능하다.
반도체 메모리카드 재생장치의 재생순서에 대하여 설명한다. 광디스크에서는 예를 들어 광디스크 드라이브를 개재하여 데이터를 판독하도록 구성하고 있던 것에 대해, 반도체 메모리카드를 이용한 경우에는 반도체 메모리카드 내의 데이터를 판독을 위한 I/F를 개재하여 데이터를 판독하도록 구성하면 좋다.
더 상세하게는 재생장치의 슬롯에 반도체 메모리카드가 삽입되면, 반도체 메모리카드 I/F를 경유하여 재생장치와 반도체 메모리카드가 전기적으로 접속된다. 반도체 메모리카드에 기록된 데이터는 반도체 메모리카드 I/F를 개재하여 판독하도록 구성하면 좋다.
(수신장치로서의 실시형태)
각 실시형태에서 설명한 재생장치는 본 실시형태에서 설명한 데이터에 상응하는 데이터(배신 데이터)를 전자 배신 서비스의 배신 서버로부터 수신하고, 반도체 메모리카드에 기록하는 단말장치로 실현할 수 있다.
이러한 단말장치는 각 실시형태에서 설명한 재생장치가 그와 같은 동작을 실행할 수 있도록 구성되어 있어도 좋고, 본 실시형태의 재생장치와는 별도로 반도체 메모리에 배신 데이터를 기억하는 전용의 단말장치에서 실행하는 것과 같은 형태여도 좋다. 여기에서는 재생장치가 행하는 예에 대하여 설명한다. 또, 기록 처의 반도체 메모리로 SD카드를 예로 설명한다.
재생장치가 구비하는 슬롯에 삽입된 SD 메모리카드에 배신 데이터를 기록하는 경우 먼저 배신 데이터를 축적하는 배신 서버에 배신 데이터의 송신을 요구한다. 이때, 재생장치는 삽입한 SD 메모리카드를 고유하게 식별하기 위한 식별정보(예를 들어 개개의 SD 메모리카드 고유의 식별번호, 보다 구체적으로는 예를 들어 SD 메모리카드의 시리얼 번호 등)를 SD 메모리카드로부터 판독하고, 판독한 식별정보를 배신 요구와 함께 배신 서버에 송신한다.
이 SD 메모리카드를 고유하게 식별하기 위한 식별정보는 예를 들어 상술한 볼륨 ID에 상당한다.
한편, 배신 서버에서는 배신하는 데이터 중 필요한 데이터(예를 들어 비디오 스트림, 오디오 스트림 등)가 암호 해독에 필요한 키(예를 들어 타이틀 키)를 이용하여 암호의 해제를 할 수 있도록 암호화가 이루어져서 서버상에 저장되고 있다.
예를 들어 배신 서버는 비밀키를 보유하고 있고, 반도체 메모리카드의 고유의 식별번호의 각각 대하여 다른 공개키 정보가 동적으로 생성할 수 있도록 구성되어 있다.
또, 배신 서버는 암호화된 데이터의 해독에 필요한 키(타이틀 키) 자신에 대하여 암호화를 할 수 있도록 구성되어 있다(즉, 암호화 타이틀 키를 생성할 수 있도록 구성되어 있다).
생성되는 공개키 정보는 예를 들어 상술한 MKB, 볼륨 ID 및 암호화 타이틀 키에 상당하는 정보를 포함한다. 암호화된 데이터는 예를 들어 반도체 메모리 고유의 식별번호, 후술하는 공개키 정보에 포함되는 공개키 본체 및 재생장치에 미리 기록된 디바이스 키의 조합이 정당하면 암호 해독에 필요한 키(예를 들어 디바이스 키, MKB 및 반도체 메모리 고유의 식별번호를 기초로 암호화 타이틀 키를 복호해서 얻어지는 타이틀 키)를 얻어지며, 이 얻어진 암호 해독에 필요한 키(타이틀 키)를 이용하여 암호화된 데이터의 해독을 할 수 있는 것이다.
다음에, 재생장치는 수신한 공개키 정보와 배신 데이터를 슬롯에 삽입한 반도체 메모리카드의 기록영역에 기록한다.
다음에, 반도체 메모리카드의 기록영역에 기록한 공개키 정보와 배신 데이터에 포함되는 데이터 중 암호화한 데이터를 복호하여 재생하는 방법의 일 예에 대하여 설명을 한다.
수신한 공개키 정보는 예를 들어 공개키 본체(예를 들어 상술한 MKB 및 암호화 타이틀 키), 서명 정보, 반도체 메모리카드의 고유의 식별번호 및 무효로 해야 할 디바이스에 관한 정보를 나타내는 디바이스 리스트가 기록되어 있다.
서명 정보에는 예를 들어 공개키 정보의 해시치를 포함한다.
디바이스 리스트에는 예를 들어 부정하게 재생이 이루어질 가능성이 있는 디바이스에 관한 정보가 기재되어 있다. 이것은 예를 들어 재생장치에 미리 기록된 디바이스 키, 재생장치의 식별번호, 또는 재생장치가 구비하는 디코더의 식별번호와 같이 부정하게 재생될 가능성이 있는 장치, 장치에 포함되는 부품, 또는 기능(프로그램)이라고 하는 것을 고유하게 특정하기 위한 정보이다.
반도체 메모리카드의 기록영역에 기록한 배신 데이터 중 암호화된 데이터의 재생에 관하여 설명한다.
먼저, 공개키 본체를 이용하여 암호화한 데이터를 복호하기 전에 복호 키 본체를 기능시켜도 좋은지 여부에 관한 체크를 한다.
구체적으로는 (1) 공개키 정보에 포함되는 반도체 메모리 고유의 식별정보와 반도체 메모리카드에 미리 기억되어 있는 고유의 식별번호가 일치하는가 여부의 체크 (2) 재생장치 내에서 산출한 공개키 정보의 해시치와 서명 정보에 포함되는 해시치가 일치하는지의 체크 (3) 공개키 정보에 포함되는 디바이스 리스트에 나타난 정보에 의거하여 재생을 실행하는 재생장치가 부정한 재생이 가능한가 여부의 체크(예를 들어 공개키 정보에 포함되는 디바이스 리스트에 나타나는 디바이스 키와 재생장치에 미리 기억된 디바이스 키가 일치하는가 여부의 체크)를 실시한다. 이러한 체크를 실행하는 차례는 어떤 순서로 이루어져도 좋다.
상술한 (1)~(3)의 체크에서 공개키 정보에 포함되는 반도체 메모리 고유의 식별정보와 반도체 메모리에 미리 기억되어 있는 고유의 식별번호가 일치하지 않고, 재생장치 내에서 산출한 공개키 정보의 해시치와 서명 정보에 포함되는 해시치가 일치하지 않고, 또는 재생을 실행하는 재생장치가 부정하게 재생될 가능성이 있다고 판단하는 것 중의 어느 것을 만족하면 재생장치는 암호화된 데이터의 해독이 이루어지지 않도록 제어한다.
또, 공개키 정보에 포함되는 반도체 메모리카드의 고유의 식별정보와 반도체 메모리카드에 미리 기억되어 있는 고유의 식별번호가 일치하고, 또한 재생장치 내에서 산출한 공개키 정보의 해시치와 서명 정보에 포함되는 해시치가 일치하며, 또한 재생을 실행하는 재생장치가 부정하게 재생될 가능성이 없다고 판단하면 반도체 메모리 고유의 식별번호, 공개키 정보에 포함되는 공개키 본체 및 재생장치에 미리 기록된 디바이스 키의 조합이 정당하다고 판단하고, 암호 해독에 필요한 키(디바이스 키, MKB 및 반도체 메모리 고유의 식별번호를 기초로 암호화 타이틀 키를 복호해서 얻어진 타이틀 키)를 이용하여 암호화된 데이터의 해독을 실시한다.
예를 들어 암호화된 데이터가 비디오 스트림, 오디오 스트림인 경우 비디오 디코더는 상술한 암호 해독에 필요한 키(암호화 타이틀 키를 복호해서 얻어지는 타이틀 키)를 이용하여 비디오 스트림을 복호하고(디코드하고), 오디오 디코더는 상술한 암호 해독에 필요한 키를 이용하여 오디오 스트림을 복호한다(디코드한다).
이와 같이 구성함으로써 전자 배신시에 부정하게 이용될 가능성이 있는 재생장치, 부품, 기능(프로그램) 등을 알고 있는 경우 이들을 식별하기 위한 정보를 디바이스 리스트에 나타내고 배신하도록 하면 재생장치 측이 디바이스 리스트에 나타나 있는 것을 포함하는 것과 같은 경우에는 공개키 정보(공개키 본체)를 이용한 복호를 억제할 수 있도록 할 수 있으므로 반도체 메모리 고유의 식별번호, 공개키 정보에 포함되는 공개키 본체 및 재생장치에 미리 기록된 디바이스 키의 조합이 비록 정당하다고 하더라도 암호화된 데이터의 해독이 이루어지지 않도록 제어할 수 있으므로 부정한 장치상에서의 배신 데이터의 이용을 억제하는 것이 가능해진다.
또, 반도체 메모리카드에 미리 기록되어 있는 반도체 메모리카드의 고유의 식별자는 비닉성의 높은 기록영역에 저장하는 것과 같은 구성을 채용하는 것이 바람직하다. 왜냐하면 반도체 메모리카드에 미리 기록되어 있는 고유의 식별번호(예를 들어 SD 메모리카드를 예로 하면 SD 메모리카드의 시리얼 번호 등)는 개찬이 이루어지면 불법카피가 용이하게 이루어져 버린다. 왜냐하면 복수의 반도체 메모리카드에는 각각 다른 고유의 식별번호가 할당되어 있지만, 이 고유의 식별번호가 동일하게 되도록 개찬이 이루어져 버리면 상술한 (1)의 판정이 의미를 이루지 않게 되어 개찬이 이루어진 수에 상당하는 불법카피가 이루어져 버릴 가능성이 있기 때문이다.
따라서, 반도체 메모리카드의 고유의 식별번호고 하는 정보는 비닉성이 높은 기록영역에 기록하는 것과 같은 구성을 채용하는 것이 바람직하다.
이와 같은 구성을 실현하기 위해서, 예를 들어 반도체 메모리카드는 반도체 메모리카드의 고유의 식별자고 하는 비닉성의 높은 데이터를 기록하기 위한 기록영역을 통상의 데이터를 저장하는 기록영역(제 1 기록영역이라 한다)과는 다른 기록영역(제 2 기록영역이라 한다)에 설치할 것 및 이 제 2 기록영역으로의 액세스를하기 위한 제어회로를 설치하는 동시에, 제 2 기록영역으로의 액세스에는 제어회로를 개재해서만 액세스할 수 있는 것과 같은 구성으로 한다.
예를 들어 제 2 기록영역에 기록되어 있는 데이터는 암호화가 이루어져서 기록되어 있고, 제어회로는 예를 들어 암호화된 데이터를 복호하기 위한 회로가 포함되어 있다. 제어회로에 제 2 기록영역으로의 데이터의 액세스가 있는 경우에는 암호를 복호하고, 복호 한 데이터를 돌려주도록 구성하면 좋다. 또는 제어회로는 제 2 기록영역에 기록되어 있는 데이터의 저장 장소의 정보를 보유하고 있고, 데이터의 액세스의 요구가 있으면 대응하는 데이터의 저장 장소를 특정하고, 특정한 저장 장소로부터 판독한 데이터를 돌려주는 것과 같은 구성으로 해도 좋다.
재생장치상에서 동작하는 애플리케이션으로, 전자 배신을 이용하여 반도체 메모리카드에 기록을 요구하는 애플리케이션은 메모리카드 I/F를 개재하여 제어회로에 제 2 기록영역에 기록된 데이터(예를 들어 반도체 메모리 고유의 식별번호)로의 액세스 요구를 발행하면 요구를 수신한 제어회로는 제 2 기록영역에 기록된 데이터를 판독하여 재생장치상에서 동작하는 애플리케이션에 돌려준다. 이 반도체 메모리카드의 고유의 식별번호와 함께 필요한 데이터의 배신 요구를 배신 서버에 요구하고, 배신 서버로부터 보내지는 공개키 정보 및 대응하는 배신 데이터를 제 1 기록영역에 기록하도록 구성하면 좋다.
또, 재생장치상에서 동작하는 애플리케이션으로, 전자 배신을 이용하여 반도체 메모리카드에 기록을 요구하는 애플리케이션은 메모리카드 I/F를 개재하여 제어회로에 제 2 기록영역에 기록된 데이터(예를 들어 반도체 메모리 고유의 식별번호)로의 액세스 요구를 발행하기 전에 애플리케이션의 개찬이 이루어져 있지 않은가를 사전에 체크하는 것이 바람직하다. 개찬의 체크에는 예를 들어 기존의 X.509 사양에 준거한 디지털 증명서를 이용한 체크 등을 이용해도 좋다.
또, 반도체 메모리카드의 제 1 기록영역에 기록된 배신 데이터로의 액세스는 반도체 메모리카드가 갖는 제어회로를 반드시 개재하여 액세스할 필요는 없다.
본 발명에 관한 정보기록매체는 3D 영상을 저장하고 있으나, 2D 영상을 재생하는 장치와 3D 영상을 재생하는 장치의 어디에서도 재생할 수 있으므로 호환성을 의식하지 않고 3D 영상을 저장한 영화 타이틀 등의 동화상 콘텐츠를 시장에 공급할 수 있고, 영화 시장이나 민생기기 시장을 활성화시킬 수 있다. 따라서 본 발명에 관한 기록매체, 재생장치는 영화산업이나 민생기기산업에서 높은 이용 가능성을 갖는다.
100 기록매체
200 재생장치
300 표시장치
400 3D안경

Claims (18)

  1. 기록매체에 기록된 그래픽스 스트림을 재생하는 재생장치로,
    상기 기록매체에는 상기 재생장치가 선택 가능한 그래픽스 스트림을 스트림 번호와 대응시켜서 나타내는 스트림 선택테이블이 기록되어 있고,
    상기 재생장치는,
    상기 스트림 선택테이블에 등록되어 있는 스트림 번호 중 재생 대상인 그래픽스 스트림에 대응하는 스트림 번호를 저장하는 스트림 번호 레지스터와,
    상기 재생장치의 그래픽스 재생능력을 나타내는 캐퍼빌리티 레지스터(capability register)를 구비하고,
    그래픽스 스트림의 재생타입에는 평면 시 그래픽스 스트림을 이용한 재생을 실행하는 제 1 재생타입과, 좌측 눈 용 그래픽스 스트림과 우측 눈 용 그래픽스 스트림의 쌍을 이용하여 입체 시 재생을 실행하는 제 2 재생타입이 있으며,
    상기 캐퍼빌리티 레지스터는 좌측 눈 용 그래픽스 스트림과 우측 눈 용 그래픽스 스트림의 쌍을 이용한 입체 시 재생을 실행하는 능력이 재생장치에 존재하는가 여부를 나타내고 있고,
    상기 캐퍼빌리티 레지스터에 나타나는 재생능력에 따라서 상기 스트림 번호 레지스터에 저장된 스트림 번호에 대응하는 그래픽스 스트림의 재생타입을 선택하는 것을 특징으로 하는 재생장치.
  2. 제 1 항에 있어서,
    상기 재생장치는,
    상기 캐퍼빌리티 레지스터가 좌측 눈 용 그래픽스 스트림과 우측 눈 용 그래픽스 스트림의 쌍을 이용한 입체 시 재생을 실행하는 능력이 재생장치에 존재하지 않음을 나타내는 경우 상기 제 1 재생타입을 선택하는 것을 특징으로 하는 재생장치.
  3. 제 1 항에 있어서,
    상기 기록매체에는 입체 시 재생 모드에서 상기 재생장치가 선택 가능한 그래픽스 스트림을 스트림 번호와 대응시켜서 나타내는 확장 스트림 선택테이블이 기록되어 있고,
    상기 확장 스트림 선택테이블은 식별플래그를 포함하며,
    상기 식별플래그는,
    입체 시 재생 모드에서 상기 재생장치가 선택 가능한 그래픽스 스트림에 좌측 눈 용 그래픽스 스트림과 우측 눈 용 그래픽스 스트림의 쌍이 존재하는가 여부를 나타내고,
    상기 재생장치는,
    상기 식별플래그가 좌측 눈 용 그래픽스 스트림과 우측 눈 용 그래픽스 스트림의 쌍이 존재한다는 취지를 식별플래그가 나타내고 있고, 또한 상기 캐퍼빌리티 레지스터가 좌측 눈 용 그래픽스 스트림과 우측 눈 용 그래픽스 스트림의 쌍을 이용한 입체 시 재생을 실행하는 능력이 재생장치에 존재한다는 것을 나타내는 경우 상기 제 2 재생타입을 선택하는 것을 특징으로 하는 재생장치.
  4. 제 3 항에 있어서,
    그래픽스 스트림에는 프레젠테이션 그래픽스 스트림과 인터렉티브 그래픽스 스트림이 있는 것을 특징으로 하는 재생장치.
  5. 평면 시 영상의 재생에 이용되는 메인 뷰 비디오 스트림과, 상기 메인 뷰 비디오 스트림과 조합되어서 입체 시 영상의 재생에 이용되는 서브 뷰 비디오 스트림과, 그래픽스 스트림과, 식별플래그를 포함하는 데이터를 재생하는 재생장치에 탑재되는 반도체 집적회로로,
    상기 메인 뷰 비디오 스트림은 메인 뷰 트랜스포트 스트림으로서 다중화된 후 복수의 메인 뷰 데이터 군으로 분할되고,
    상기 서브 뷰 비디오 스트림은 서브 뷰 트랜스포트 스트림으로서 다중화된 후 복수의 서브 뷰 데이터 군으로 분할되며,
    상기 스트림 데이터에서는 상기 메인 뷰 데이터 군과 상기 서브 뷰 데이터 군은 교호로 배치되고 있고,
    상기 그래픽스 스트림은 상기 메인 뷰 트랜스포트 스트림 및 상기 서브 뷰 트랜스포트 스트림 중 어느 일방 또는 양방에 다중화되어 있으며, 상기 메인 뷰 데이터 군과 서브 뷰 데이터 군의 적어도 어느 하나는 그래픽스 데이터를 포함하고,
    상기 그래픽스 스트림의 재생타입에는 평면 시 그래픽스 스트림을 이용한 재생을 실행하는 제 1 재생타입과 좌측 눈 용의 그래픽스 스트림과 우측 눈 용의 그래픽스 스트림의 쌍을 이용한 입체 시 재생을 실행하는 제 2 재생타입이 있으며,
    상기 식별플래그는 입체 시 재생 모드에서 상기 그래픽스 스트림에 좌측 눈 용 그래픽스 스트림과 우측 눈 용 그래픽스 스트림의 쌍이 존재하는가 여부를 나타내고,
    상기 반도체 집적회로는,
    상기 반도체 집적회로의 제어를 실행하는 주 제어부와,
    상기 스트림 데이터를 수신하여, 상기 반도체 집적회로의 내부 또는 외부에 설치된 메모리에 일단 저장한 후, 비디오 데이터와 그래픽스 데이터로 다중 분리하는 스트림 처리부와,
    상기 비디오 데이터와 상기 그래픽스 데이터를 각각 디코드하는 신호처리부와, 디코드 된 상기 비디오 데이터를 출력하는 AV 출력부를 구비하고 있으며,
    상기 스트림 처리부는 수신한 상기 스트림 데이터의 저장 처를 상기 메모리 내의 제 1 영역과 제 2 영역 사이에서 스위칭하는 스위칭부를 구비하고 있고,
    상기 주 제어부는 상기 메인 뷰 데이터 군에 속해 있는 데이터를 상기 제 1 영역에 저장하도록 상기 스위칭부를 제어하고, 상기 서브 뷰 데이터 군에 속해 있는 데이터를 상기 제 2 영역에 저장하도록 상기 스위칭부를 제어하며,
    상기 메모리 내의 제 3 영역에는 상기 좌측 눈 용 그래픽스 스트림과 우측 눈 용 그래픽스 스트림의 페어를 이용한 입체 시 재생을 실행하는 능력이 상기 재생장치에 존재하는가 여부를 나타내는 정보가 저장되어 있고,
    상기 주 제어부는 상기 좌측 눈 용 그래픽스 스트림과 우측 눈 용 그래픽스 스트림의 쌍을 이용한 입체 시 재생을 실행하는 능력이 상기 재생장치에 존재하는가 여부를 나타내는 정보와 상기 식별플래그에 따라서 상기 그래픽스 스트림의 재생타입을 선택하며,
    상기 AV 출력부는 선택된 재생타입에 따라서 상기 디코드 된 비디오 데이터와 상기 그래픽스 데이터를 중첩하여, 중첩된 데이터를 출력하는 것을 특징으로 하는 반도체 집적회로.
  6. 기록매체를 재생하는 재생장치로,
    상기 재생장치에 접속되어 있는 표시장치에 입체 시 표시능력이 존재하는가 여부를 나타내는 캐퍼빌리티 레지스터와,
    자기(自機)의 출력 모드를 저장하고 있는 모드 레지스터를 구비하고,
    복수의 조건이 성립하는가 여부를 판정하여, 복수의 조건이 성립한 경우에 상기 모드 레지스터에 입체 시 출력 모드를 설정하며,
    상기 복수의 조건 중 제 1 조건은 상기 캐퍼빌리티 레지스터가 상기 재생장치에 접속되어 있는 표시장치에 입체 시 표시능력이 존재한다는 것을 나타내고 있는 것이고,
    상기 복수의 조건 중 제 2 조건은 기록매체에 기록된 출력 모드의 초기치가 입체 시 출력 모드라는 취지를 나타내는 것이며,
    디스크 판독 시에 상기 제 1 조건과 상기 제 2 조건이 성립하는가 여부의 판정을 실행하여, 상기 제 1 조건과 상기 제 2 조건이 성립한 경우 상기 모드 레지스터에 입체 시 출력 모드를 설정하는 것을 특징으로 하는 재생장치.
  7. 기록매체를 재생하는 재생장치로,
    상기 재생장치에 접속되어 있는 표시장치에 입체 시 표시능력이 존재하는가 여부를 나타내는 캐퍼빌리티 레지스터와,
    자기의 출력 모드를 저장하고 있는 모드 레지스터를 구비하고,
    복수의 조건이 성립하는가 여부를 판정하여, 복수의 조건이 성립한 경우에 상기 모드 레지스터에 입체 시 출력 모드를 설정하며,
    상기 기록매체에는 재생경로를 나타내는 플레이리스트정보가 기록되어 있고,
    상기 복수의 조건 중 제 1 조건은 상기 캐퍼빌리티 레지스터가 상기 재생장치에 접속되어 있는 표시장치에 입체 시 표시능력이 존재한다는 것을 나타내고 있는 것이며,
    상기 복수의 조건 중 제 2 조건은 재생하는 플레이리스트정보가 입체 시 용의 확장 스트림 선택테이블을 포함하는 것이고,
    상기 확장 스트림 선택테이블은 입체 시 재생 모드에서 상기 재생장치가 선택 가능한 엘리멘터리 스트림을 스트림 번호와 대응시켜서 나타내는 리스트이며,
    플레이리스트 재생 개시시에 상기 모드 레지스터에 저장되어 있는 출력 모드가 입체 시 출력 모드인 경우에는 상기 제 1 조건과 상기 제 2 조건이 성립하는가 여부의 판정을 실행하고, 상기 제 1 조건과 상기 제 2 조건이 성립한 경우 상기 모드 레지스터에 저장되어 있는 입체 시 출력 모드를 유지하는 것을 특징으로 하는 재생장치.
  8. 제 7 항에 있어서,
    상기 재생장치는 상기 모드 레지스터에 저장되어 있는 출력 모드가 평면 시 출력 모드이면, 상기 복수의 조건이 성립했다고 하더라도 모드 레지스터에 저장되어 있는 평면 시 출력 모드를 유지하는 것을 특징으로 하는 재생장치.
  9. 제 7 항에 있어서,
    상기 재생장치는 플레이리스트의 재생 중이면 상기 모드 레지스터에 저장되어 있는 출력 모드를 유지하는 것을 특징으로 하는 재생장치.
  10. 기록매체를 재생하는 재생장치로,
    상기 재생장치에 접속되어 있는 표시장치에 입체 시 표시능력이 존재하는가 여부를 나타내는 캐퍼빌리티 레지스터와,
    자기의 출력 모드를 저장하고 있는 모드 레지스터를 구비하고,
    소정의 조건이 성립하는가 여부를 판정하여, 소정의 조건이 성립한 경우에 상기 모드 레지스터에 입체 시 출력 모드를 설정하며,
    상기 입체 시 표시능력을 갖는 표시장치에는 입체 시 영상을 볼 때에 입체 시 안경의 착용이 필요한 것과 불필요한 것이 있고,
    상기 캐퍼빌리티 레지스터는 필요 여부 플래그를 포함하고, 상기 필요 여부 플래그는 상기 재생장치에 접속되어 있는 표시장치에 입체 시 표시능력이 존재하는 경우, 입체 시 영상을 볼 때 입체 시 안경의 착용이 필요한가 여부를 나타내며,
    상기 필요 여부 플래그가 입체 시 영상을 볼 때에 입체 시 안경의 착용이 불필요하다는 취지를 나타내고 있는 경우에는 상기 소정의 조건을 만족한다고 판정하고, 상기 모드 레지스터에 입체 시 출력 모드를 설정하는 것을 특징으로 하는 재생장치.
  11. 기록매체를 재생하는 재생장치로,
    상기 재생장치에 접속되어 있는 표시장치에 입체 시 표시능력이 존재하는가 여부를 나타내는 캐퍼빌리티 레지스터와,
    자기의 출력 모드를 저장하고 있는 모드 레지스터를 구비하고,
    소정의 조건이 성립하는가 여부를 판정하여, 소정의 조건이 성립한 경우에 상기 모드 레지스터에 입체 시 출력 모드를 설정하며,
    상기 캐퍼빌리티 레지스터는 표시타입 플래그를 포함하고, 상기 표시타입 플래그는 상기 재생장치에 접속되어 있는 표시장치에서의 표시방식이 표준 화질의 것인가 고화질의 것인가를 나타내고, 표시장치에서의 표시방식이 표준 화질이면 상기 소정의 조건을 만족하지 않는다고 판정하는 것을 특징으로 하는 재생장치.
  12. 제 11 항에 있어서,
    상기 표시타입 플래그는 제 1 플래그와 제 2 플래그로 구성되며,
    상기 제 1 플래그는 온으로 설정됨으로써 표시장치에서의 표시가능방식이 1920×1080/23.976Hz 입체 시 또는 1280×720/59.94Hz 입체 시라는 취지를 나타내고, 오프로 설정됨으로써 그렇지 않다는 취지를 나타내며,
    상기 제 2 플래그는 온으로 설정됨으로써 표시장치에서의 표시가능방식이 1280×720/50Hz 입체 시라는 취지를 나타내고, 오프로 설정됨으로써 그렇지 않다는 취지를 나타내며,
    표시장치가 표준 화질에 대응한다는 취지는 제 1 플래그 및 제 2 플래그가 오프로 설정됨으로써 표현되는 것을 특징으로 하는 재생장치.
  13. 인덱스테이블이 기록된 기록매체로,
    상기 인덱스테이블은 애플리케이션정보를 포함하고,
    상기 애플리케이션정보는,
    초기 출력 모드 정보와 포맷 프레임 레이트 정보를 포함하고,
    상기 초기 출력 모드 정보는 재생장치에 우선적으로 설정되는 출력 모드가 평면 시 출력 모드인가 입체 시 출력 모드인가를 나타내는 정보이며,
    상기 포맷 프레임 레이트 정보는 기록매체를 삽입시에 재생장치의 출력 모드 정보로 이용할 수 있는 영상 포맷 및 프레임 레이트를 나타내는 것을 특징으로 하는 기록매체.
  14. 인덱스테이블이 기록된 기록매체를 재생하는 재생장치로,
    상기 인덱스테이블은 애플리케이션정보를 포함하고,
    상기 애플리케이션정보는,
    초기 출력 모드 정보와 포맷 프레임 레이트 정보를 포함하며,
    상기 초기 출력 모드 정보는 재생장치에 의한 출력 모드의 초기설정이 평면 시 출력 모드인가 입체 시 출력 모드인가를 나타내는 정보이고,
    상기 포맷 프레임 레이트 정보는 재생장치에 의한 재생 출력에서 채용할 수 있는 영상 포맷 및 프레임 레이트를 나타내며,
    상기 재생장치는,
    상기 기록매체를 삽입시에 상기 포맷 프레임 레이트 정보를 판독하여 재생장치의 출력 모드 정보로 이용하는 것을 특징으로 하는 재생장치.
  15. 스트림 파일과 스트림 관리파일이 기록된 기록매체로,
    상기 스트림 파일은 복수의 픽처 데이터에 의해 구성되는 비디오 스트림을 포함하고,
    상기 스트림 관리파일은 엔트리 맵을 포함하며,
    상기 엔트리 맵은 픽처 데이터의 어드레스를 재생시각에 대응시켜서 나타내는 엔트리를 포함하고,
    상기 픽처 데이터에는 입체 시 영상의 메인 뷰를 구성하는 메인 뷰 픽처 데이터와 입체 시 영상의 서브 뷰를 구성하는 서브 뷰 픽처 데이터가 있으며,
    상기 엔트리 맵에는 평면 시 영상의 재생시에 사용되는 기본 엔트리 맵과 입체 시 영상의 재생시에 상기 기본 엔트리 맵과 함께 사용되는 확장 엔트리 맵이 있고,
    대응하는 확장 엔트리 맵은 기본 엔트리 맵의 엔트리와 동일 시각의 엔트리를 갖는 것을 특징으로 하는 기록매체.
  16. 제 15 항에 있어서,
    상기 스트림 파일은 메인 뷰 스트림을 구성하는 익스텐트와 서브 뷰 스트림을 구성하는 익스텐트를 교호로 배치함으로써 구성되는 입체 시 인터리브 파일이고,
    메인 뷰 스트림을 구성하는 익스텐트 중 식별번호 i에 의해 특정되는 i번째의 익스텐트가 기본 엔트리 맵의 엔트리에 의해 나타나는 메인 뷰 픽처 데이터를 포함하는 경우,
    서브 뷰 스트림을 구성하는 익스텐트 중 상기 식별번호 i와 동일한 식별번호 i에 의해 특정되는 i번째의 익스텐트는 확장 엔트리 맵의 상기 기본 엔트리 맵의 상기 엔트리와 동일 시각의 엔트리에 의해 나타나는 서브 뷰 픽처 데이터를 포함하는 것을 특징으로 하는 기록매체.
  17. 스트림 파일과 스트림 관리파일이 기록된 기록매체를 재생하는 재생장치로,
    상기 스트림 파일은 복수의 픽처 데이터에 의해 구성되는 비디오 스트림을 포함하고,
    상기 스트림 관리파일은 엔트리 맵을 포함하며,
    상기 엔트리 맵은 픽처 데이터의 어드레스를 재생시각에 대응시켜서 나타내는 엔트리를 포함하고,
    기록매체에 기록된 상기 픽처 데이터와 상기 엔트리 맵을 기록매체로부터 판독하는 판독수단과,
    상기 픽처 데이터를 디코드함으로써 영상의 재생을 실행하는 재생수단을 구비하고,
    상기 판독수단은 상기 픽처 데이터 중 엔트리 맵의 엔트리에 의해서 나타내고 있는 것의 랜덤 액세스를 실행하며,
    상기 픽처 데이터에는 입체 시 영상의 메인 뷰를 구성하는 메인 뷰 픽처 데이터와 입체 시 영상의 서브 뷰를 구성하는 서브 뷰 픽처 데이터가 있고,
    상기 엔트리 맵에는 평면 시 영상의 재생시에 사용되는 기본 엔트리 맵과 입체 시 영상의 재생시에 상기 기본 엔트리 맵과 함께 사용되는 확장 엔트리 맵이 있으며,
    확장 엔트리 맵은 기본 엔트리 맵의 엔트리와 동일 시각의 엔트리를 갖는 것을 특징으로 하는 재생장치.
  18. 제 17 항에 있어서,
    상기 스트림 파일은 메인 뷰 스트림을 구성하는 익스텐트와 서브 뷰 스트림을 구성하는 익스텐트를 교호로 배치함으로써 구성되는 입체 시 인터리브 파일이고,
    메인 뷰 스트림을 구성하는 익스텐트 중 식별번호 i에 의해 특정되는 i번째의 익스텐트가 기본 엔트리 맵의 엔트리에 의해 나타나는 메인 뷰 픽처 데이터를 포함하는 경우,
    서브 뷰 스트림을 구성하는 익스텐트 중 상기 식별번호 i와 동일한 식별번호 i에 의해 특정되는 i번째의 익스텐트는 확장 엔트리 맵의 상기 기본 엔트리 맵의 상기 엔트리와 동일 시각의 엔트리에 의해 나타나는 서브 뷰 픽처 데이터를 포함하는 것을 특징으로 하는 재생장치.
KR1020117006144A 2009-06-11 2010-06-10 재생장치, 집적회로, 기록매체 KR20120036790A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2009-140055 2009-06-11
JP2009140055 2009-06-11

Publications (1)

Publication Number Publication Date
KR20120036790A true KR20120036790A (ko) 2012-04-18

Family

ID=43308702

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117006144A KR20120036790A (ko) 2009-06-11 2010-06-10 재생장치, 집적회로, 기록매체

Country Status (11)

Country Link
US (1) US8593511B2 (ko)
EP (1) EP2343906B1 (ko)
JP (3) JP4724257B2 (ko)
KR (1) KR20120036790A (ko)
CN (1) CN102160389B (ko)
BR (1) BRPI1004351A2 (ko)
MX (1) MX2011002795A (ko)
RU (1) RU2011110045A (ko)
TW (1) TW201112233A (ko)
WO (1) WO2010143441A1 (ko)
ZA (1) ZA201101977B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10554944B2 (en) 2015-01-09 2020-02-04 Sony Corporation Playing apparatus, playing method, information processing apparatus, and information processing method

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101506217B1 (ko) * 2008-01-31 2015-03-26 삼성전자주식회사 스테레오스코픽 영상의 부분 데이터 구간 재생을 위한스테레오스코픽 영상 데이터스트림 생성 방법과 장치, 및스테레오스코픽 영상의 부분 데이터 구간 재생 방법과 장치
US10448083B2 (en) 2010-04-06 2019-10-15 Comcast Cable Communications, Llc Streaming and rendering of 3-dimensional video
US11711592B2 (en) 2010-04-06 2023-07-25 Comcast Cable Communications, Llc Distribution of multiple signals of video content independently over a network
WO2012077981A2 (ko) 2010-12-07 2012-06-14 삼성전자 주식회사 컨텐츠를 구성하는 데이터를 송신하는 송신 장치와 그 데이터를 수신하여 처리하는 수신 장치 및 그 방법
KR101831775B1 (ko) * 2010-12-07 2018-02-26 삼성전자주식회사 멀티미디어 컨텐츠를 송수신하는 송신 장치 및 수신 장치와, 그 재생 방법
US9204123B2 (en) * 2011-01-14 2015-12-01 Comcast Cable Communications, Llc Video content generation
JP5914888B2 (ja) * 2011-04-28 2016-05-11 パナソニックIpマネジメント株式会社 高画質化に関わる記録媒体、再生装置、記録装置、符号化方法、復号化方法
JP2012249045A (ja) * 2011-05-27 2012-12-13 Sony Corp 再生装置、再生方法、およびプログラム
CN103181172B (zh) * 2011-08-24 2015-11-25 松下电器产业株式会社 记录介质、再现装置、记录装置及记录方法
EP2751992B1 (en) * 2011-08-29 2016-01-06 Sony Corporation Transmission apparatus, ait transmission method and reception apparatus
EP2597876A1 (en) 2011-11-24 2013-05-29 Koninklijke Philips Electronics N.V. Interlaced 3D video
WO2013101602A1 (en) * 2011-12-26 2013-07-04 Intel Corporation Techniques for managing three-dimensional graphics display modes
US20140078256A1 (en) * 2011-12-28 2014-03-20 Panasonic Corporation Playback device, transmission device, playback method and transmission method
US9066082B2 (en) * 2013-03-15 2015-06-23 International Business Machines Corporation Forensics in multi-channel media content
JP6255760B2 (ja) * 2013-07-16 2018-01-10 ソニー株式会社 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム
WO2015129033A1 (ja) * 2014-02-28 2015-09-03 三菱電機株式会社 ディスク再生装置
CN110572605B (zh) * 2014-06-20 2022-01-07 松下知识产权经营株式会社 再现方法及再现装置及存储介质
EP3370233B1 (en) 2014-09-10 2022-08-10 Panasonic Intellectual Property Corporation of America Recording medium and playback device
CN111933189B (zh) * 2014-09-12 2022-01-04 松下电器(美国)知识产权公司 再现装置以及再现方法
JP2020022179A (ja) * 2014-11-04 2020-02-06 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 再生方法、プログラムおよび再生装置
CN110971886B (zh) * 2014-11-04 2021-12-03 松下电器(美国)知识产权公司 再现方法、再现装置以及记录介质
JPWO2016194563A1 (ja) * 2015-06-02 2018-03-22 ソニー株式会社 送信装置、送信方法、メディア処理装置、メディア処理方法および受信装置
CA2995978A1 (en) 2015-08-18 2017-02-23 Magic Leap, Inc. Virtual and augmented reality systems and methods
US10733456B2 (en) 2015-12-21 2020-08-04 A9.Com, Inc. Sharing video footage from audio/video recording and communication devices
US10650247B2 (en) 2015-12-21 2020-05-12 A9.Com, Inc. Sharing video footage from audio/video recording and communication devices
AU2016377664B2 (en) 2015-12-21 2021-01-07 Amazon Technologies, Inc. Sharing video footage from audio/video recording and communication devices
US11546612B2 (en) * 2021-06-02 2023-01-03 Western Digital Technologies, Inc. Data storage device and method for application-defined data retrieval in surveillance systems
CN115291850B (zh) * 2022-08-11 2023-03-07 广州芯德通信科技股份有限公司 基于java语言的自定义交互数据的管理方法、系统、存储介质

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4739418A (en) * 1985-03-20 1988-04-19 Victor Company Of Japan, Ltd. Information signal recording disc recorded with stereoscopic television signal
JPH01109990A (ja) * 1987-10-23 1989-04-26 Sanyo Electric Co Ltd 立体ビデオディスクレコーダ
JPH07298307A (ja) 1994-04-28 1995-11-10 Canon Inc 画像記録再生装置
US6502199B2 (en) 1995-09-29 2002-12-31 Matsushita Electric Industrial Co., Ltd. Method and an apparatus for reproducing bitstream having non-sequential system clock data seamlessly therebetween
TW436777B (en) 1995-09-29 2001-05-28 Matsushita Electric Ind Co Ltd A method and an apparatus for reproducing bitstream having non-sequential system clock data seamlessly therebetween
EP2101495B1 (en) 1996-02-28 2012-12-26 Panasonic Corporation High-resolution optical disk for recording stereoscopic video, optical disk reproducing device and optical disk recording device
US6573819B1 (en) 1996-12-04 2003-06-03 Matsushita Electric Industrial Co., Ltd. Optical disc for high resolution and three-dimensional image recording, optical disc reproducing device, and optical disc recording device
EP1708487B1 (en) 1997-08-29 2013-05-08 Panasonic Corporation Method and apparatus for reading a high-resolution optical video disc
WO2002009444A1 (en) * 2000-07-21 2002-01-31 Matsushita Electric Industrial Co., Ltd. Signal transmission system
EP1501316A4 (en) * 2002-04-25 2009-01-21 Sharp Kk METHOD FOR GENERATING MULTIMEDIA INFORMATION, AND DEVICE FOR REPRODUCING MULTIMEDIA INFORMATION
JP3975147B2 (ja) * 2002-10-01 2007-09-12 パイオニア株式会社 情報記録媒体、情報記録装置及び方法、情報再生装置及び方法、情報記録再生装置及び方法、記録又は再生制御用のコンピュータプログラム、並びに制御信号を含むデータ構造
JP2004274125A (ja) 2003-03-05 2004-09-30 Sony Corp 画像処理装置および方法
JP4086718B2 (ja) 2003-06-10 2008-05-14 キヤノン株式会社 情報処理方法及び情報処理装置
US7552450B1 (en) * 2003-09-30 2009-06-23 Microsoft Corporation Systems and methods for enabling applications via an application programming interface (API) to interface with and configure digital media components
WO2005074394A2 (en) * 2004-02-10 2005-08-18 Lg Electronics Inc. Recording medium having a data structure for managing various data and recording and reproducing methods and apparatuses
KR100890312B1 (ko) 2004-06-18 2009-03-26 파나소닉 주식회사 재생장치, 기록매체, 재생방법
JP4349249B2 (ja) * 2004-10-06 2009-10-21 株式会社日立製作所 画像再生装置及び画像再生方法
JP2006135747A (ja) 2004-11-08 2006-05-25 Canon Inc 三次元画像変換装置ならびに制御方法
KR100657322B1 (ko) * 2005-07-02 2006-12-14 삼성전자주식회사 로컬 3차원 비디오를 구현하기 위한 인코딩/디코딩 방법 및장치
JP5011842B2 (ja) * 2006-06-22 2012-08-29 株式会社ニコン 画像再生装置
JP2008124963A (ja) * 2006-11-15 2008-05-29 Matsushita Electric Ind Co Ltd 3次元画像データ用画像ファイルの画像ファイル生成装置及び画像再生装置
KR101430279B1 (ko) 2007-03-02 2014-08-14 파나소닉 주식회사 재생장치, 시스템 lsi, 초기화방법
EP2211347B1 (en) 2007-11-01 2013-01-16 Panasonic Corporation Recording medium, reproducing device, recording device, reproducing method, and recording method
JP2009135686A (ja) * 2007-11-29 2009-06-18 Mitsubishi Electric Corp 立体映像記録方法、立体映像記録媒体、立体映像再生方法、立体映像記録装置、立体映像再生装置
KR20180130012A (ko) * 2007-12-18 2018-12-05 코닌클리케 필립스 엔.브이. 디스플레이 인터페이스를 통한 입체 이미지 데이터의 전송
BRPI0902887A2 (pt) 2008-01-17 2015-09-22 Panasonic Corp meio de gravação no qual um vídeo 3d é gravado, meio de gravação para gravação de um vídeo 3d e dispoisitivo de reprodução e método para reprodução de um vídeo 3d
WO2010013382A1 (ja) 2008-07-31 2010-02-04 三菱電機株式会社 映像符号化装置、映像符号化方法、映像再生装置、映像再生方法、映像記録媒体、及び映像データストリーム
US8050533B2 (en) 2008-09-30 2011-11-01 Panasonic Corporation Recording medium on which 3D video is recorded, playback apparatus for playing back 3D video, and system LSI
WO2010076846A1 (ja) 2008-12-29 2010-07-08 パナソニック株式会社 記録媒体、再生装置、及び集積回路
US20100303437A1 (en) 2009-05-26 2010-12-02 Panasonic Corporation Recording medium, playback device, integrated circuit, playback method, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10554944B2 (en) 2015-01-09 2020-02-04 Sony Corporation Playing apparatus, playing method, information processing apparatus, and information processing method

Also Published As

Publication number Publication date
CN102160389A (zh) 2011-08-17
ZA201101977B (en) 2012-04-25
JP4724257B2 (ja) 2011-07-13
TW201112233A (en) 2011-04-01
EP2343906B1 (en) 2016-08-10
JP2011160431A (ja) 2011-08-18
WO2010143441A1 (ja) 2010-12-16
US20110164121A1 (en) 2011-07-07
US8593511B2 (en) 2013-11-26
JPWO2010143441A1 (ja) 2012-11-22
JP5497679B2 (ja) 2014-05-21
EP2343906A1 (en) 2011-07-13
JP2011155657A (ja) 2011-08-11
BRPI1004351A2 (pt) 2020-06-23
JP4724255B1 (ja) 2011-07-13
EP2343906A4 (en) 2014-01-22
CN102160389B (zh) 2013-03-27
RU2011110045A (ru) 2013-07-20
MX2011002795A (es) 2011-04-11

Similar Documents

Publication Publication Date Title
JP4724255B1 (ja) 再生装置
JP5451667B2 (ja) 3d映像を再生するための半導体集積回路
EP2400771B1 (en) Recording medium, reproduction device, and integrated circuit
US8121461B2 (en) Playback device, integrated circuit, recording medium
WO2010095381A1 (ja) 記録媒体、再生装置、集積回路
KR20110074823A (ko) 3d 영상에 관한 기록매체, 재생장치, 시스템 lsi, 재생방법, 안경 및 표시장치
KR20110126518A (ko) 기록매체, 재생장치 및 집적회로

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid