Nothing Special   »   [go: up one dir, main page]

KR20120036791A - 3d 영상을 재생하기 위한 정보기록매체 및 재생장치 - Google Patents

3d 영상을 재생하기 위한 정보기록매체 및 재생장치 Download PDF

Info

Publication number
KR20120036791A
KR20120036791A KR1020117007329A KR20117007329A KR20120036791A KR 20120036791 A KR20120036791 A KR 20120036791A KR 1020117007329 A KR1020117007329 A KR 1020117007329A KR 20117007329 A KR20117007329 A KR 20117007329A KR 20120036791 A KR20120036791 A KR 20120036791A
Authority
KR
South Korea
Prior art keywords
stream
video
file
plane
subtitle
Prior art date
Application number
KR1020117007329A
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 KR20120036791A publication Critical patent/KR20120036791A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/445Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
    • 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/30Indexing; 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 the same track as the main recording
    • G11B27/3027Indexing; 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 the same track as the main recording 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
    • 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/183On-screen display [OSD] information, e.g. subtitles or menus
    • 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
    • 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
    • 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
    • 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
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/775Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/7921Processing of colour television signals in connection with recording for more than one processing mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/806Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal
    • H04N9/8063Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal using time division multiplex of the PCM audio and PCM video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • H04N9/8211Transformation 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 a sound signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

입체 시 영상과 함께 자막을 표시할 때의 화면의 이용효율향상을 도모한다. 자막마다 비디오 시프트 모드로 설정되어 있고, 입체 시 영상을 재생하는 경우에는 자막의 비디오 시프트 모드에 따라 영상 플레인을 상 방향 또는 하 방향으로 시프트하여 크로핑하고, 상하에 있는 검은 테두리를 상 또는 하로 모음으로써 자막의 표시영역을 확보한다.

Description

3D 영상을 재생하기 위한 정보기록매체 및 재생장치{INFORMATION RECORDING MEDIUM AND PLAYBACK DEVICE FOR PLAYING BACK 3D IMAGES}
본 발명은 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호 공보
그런데 영화작품 등에서는 자막데이터가 광디스크에 저장되고 있고, 재생시에 자막은 통상 동화상과 합성해서 표시된다. 여기서 자막문자는 극중의 대사나 내레이션이 길면 화면상에서 많은 표시영역을 차지하게 된다. 그리고 화면상의 많은 표시영역을 자막이 점유하고 있는 상태에서 점프의 정도가 큰 비디오 재생이 이루어지면 자막이 비디오의 입체표시와 중첩되어서 매우 보기 힘든 입체 시 영상이 재생되어 버린다. 여기서 자막 문자의 배치위치를 화면의 구석으로 치우치게 함으로써 비디오의 입체표시와 자막이 겹치지 않게 하는 것도 생각할 수 있으나, 비디오는 비디오 스트림의 시간 축 중 복수의 재생구간의 어디서부터 재생되는가에 의해 입체 시 효과가 크게 다르고, 또 자막 문자는 언어에 의해 문자 양이 크게 바뀌는 경우가 많으므로, 화면의 어느 한쪽의 구석을 일률적으로 자막 표시영역으로서 고정화해 버리면 화면의 이용효율이 저하하여 버린다. 그렇다면, 사비를 투자해서 고가의 대화면 3D TV를 구입했다고 해도 사용자는 생각한 만큼 입체 시 효과를 즐길 수 없는 경우가 발생한다.
본 발명의 목적은 화면의 이용효율이 내려감에 따른 입체 시 효과의 저하를 피할 수 있는 기록매체를 제공하는 것이다.
본 발명의 기록매체는 입체 시 화상을 구성하는 비디오 스트림과 플레이리스트정보와 복수의 자막 스트림이 기록된 기록매체이며, 플레이리스트정보는 스트림 선택테이블과 부가정보를 포함하여, 스트림 선택테이블은 평면 시 재생 모드에 대해서 재생을 허가해야 할 자막 스트림의 스트림 번호를 스트림 엔트리 및 스트림 속성에 대응시켜서 가리켜, 부가정보는 스트림 선택테이블에서의 스트림 번호에 대응 붙일 수 있고 있어 영역확보 플래그를 포함하여, 영역확보 플래그는 재생장치가 입체 시 재생 모드로 설정되어 있는 경우의 자막의 표시영역이 비디오 플레인의 상단인가, 또는 하단인가를 나타내고, 자막의 표시영역이 비디오 플레인 상단인 것이 영역확보 플래그에 의해 나타나는 경우, 비디오 스트림은 재생장치에 의해 비디오 플레인의 아래방향에 시프트 해 묘화되어 자막의 표시영역이 비디오 플레인 하단인 것이 영역확보 플래그에 의해 나타나는 경우, 비디오 스트림은 재생장치에 의해 비디오 플레인의 윗방향에 시프트 해 묘화되는 것을 특징으로 한다.
자막의 표시영역 확보를 규정하는 영역확보 플래그를 포함하는 부가정보는 스트림 번호에 대응시켜서 재생구간마다 스트림 선택테이블에 기재되어 있으므로, 재생구간의 변화시나 스트림 변경요구의 발생시에 스트림 선택 프로시저가 실행되어서 장치 측의 언어설정에 따른 스트림 번호가 스트림 번호 레지스터에 설정된 경우, 그 새로운 스트림 번호에 대응한 부가정보에 의해서 지시되는 영역확보 플래그가 재생장치에 제공되게 된다. 이와 같이 함으로써 어느 재생구간에서는 상단에 자막의 표시영역이 확보되고, 다른 재생구간에서는 하단에 자막의 표시영역이 확보되는 제어를 실현할 수 있다.
특히 영화작품의 영상에서는 시네마스코프 사이즈(1 : 2.35)의 어스펙트 비가 일반적이고, BD-ROM 등의 광디스크에 영상을 저장하는 경우에는 어스펙트 비는 변경하지 않고 본편 영상을 16 : 9의 HD 영상의 중앙에 배치하며, 화면 상하에 검은 테두리(black frame)를 삽입하는 것이 일반적이다. 그러므로 상기 구성에 의하면 영상의 상하에 있는 검은 테두리를 비디오 플레인 위 또는 아래에 모은 넓은 자막 표시영역에 자막을 표시하는 것이 가능해지므로, 화면의 이용효율을 향상시킬 수 있고, 입체 시 효과를 향상시킬 수 있다.
(추가적 기술적 과제)
메인 뷰 영상과 서브 뷰 영상의 시차에 의해 입체 시 효과를 실현하는 3D 영상에서는 표시장치의 화면사이즈에 따라서 시차가 변화해 버리므로, 화면사이즈의 차이에 따라서 화상의 깊이에도 차이가 발생한다. 그러므로 화면사이즈가 큰 표시장치에서의 시청을 상정해서 제작된 3D 영상을 화면사이즈가 작은 표시장치로 시청하게 되면 제작자가 의도한 것보다 깊이감의 부족하여 박력이 없는 영상이 되어 버린다. 반대로 화면사이즈가 작은 표시장치에서의 시청을 상정해서 제작된 3D 영상을 화면사이즈가 큰 표시장치로 시청하게 되면 과잉의 깊이감이 발생하여 눈동자에 피로를 발생시킬 우려가 있다.
본 발명의 목적은 제작시의 상정과는 다른 화면사이즈로 3D 영상을 시청함에 따른 악영향의 발생을 방지할 수 있는 기록매체를 제공하는 것이다.
상기 과제를 해결할 수 있는 기록매체는, 메인 뷰 비디오 스트림과 서브 뷰 비디오 스트림 및 메타데이터가 기록된 기록매체로, 상기 메인 뷰 비디오 스트림은 입체 시 영상의 메인 뷰를 구성하는 픽쳐 데이터를 포함하고, 상기 서브 뷰 비디오 스트림은 입체 시 영상의 서브 뷰를 구성하는 픽쳐 데이터를 포함하며, 상기 메타데이터는 복수의 표시장치의 화면사이즈정보에 대응하는 오프셋 보정 값을 포함하고, 상기 오프셋 보정 값은 상기 메인 뷰를 구성하는 픽쳐 데이터가 묘화(rendering)되는 메인 뷰 비디오 플레인 및 상기 서브 뷰를 구성하는 픽쳐 데이터가 묘화되는 서브 뷰 비디오 플레인의 적어도 일방을 수평좌표의 우 방향 및 좌 방향으로 이동시키는 오프셋을 규정하는 것을 특징으로 한다.
표시하는 화면사이즈에 따른 화면사이즈정보에 규정되고 있는 오프셋을 픽쳐 데이터에게 주어 이동시킴으로써 입체 시 영상에 화면사이즈에 따른 적절한 시차를 줄 수 있다. 그러므로 상기 구성에 의하면 제작시의 상정과는 다른 화면사이즈로 3D 영상을 시청하는 것에 의한 악영향의 발생을 방지할 수 있다.
도 1은 패키지매체인 기록매체, 플레이어 기기인 재생장치, 표시장치, 안경에 의해 구성되는 홈시어터시스템을 나타낸다.
도 2는 사용자의 얼굴을 좌측으로 나타내고, 우측에는 대상물인 공룡의 골격을 좌측 눈으로 본 경우의 예와 대상물인 공룡의 골격을 우측 눈으로 본 경우의 예를 나타내고 있다.
도 3은 입체 시 용 베이스 뷰 비디오 스트림, 디펜던트 뷰 비디오 스트림의 내부 구성의 일 예를 나타낸다.
도 4는 본편 영상에 이용되지 않는 검은 테두리를 상하에 채워서, 자막데이터를 그 검은 테두리에 표시하는 컨셉을 설명하는 도면이다.
도 5는 제 1 실시형태에 관한 기록매체에서의 내부 구성을 나타낸다.
도 6은 메인 TS 및 서브 TS의 내부 구성을 나타낸다.
도 7은 플레이리스트정보의 내부 구성을 나타낸다.
도 8은 기본 스트림 선택테이블의 일 예를 나타낸다.
도 9는 확장 스트림 선택테이블의 내부 구성을 나타낸다.
도 10은 확장 스트림 선택테이블에서의 스트림 등록 열을 나타낸다.
도 11은 video_shift_mode가 Keep에 설정되어 있는 경우의 플레인 합성을 나타낸다.
도 12의 (a)는 video_shift_mode가 Up에 설정되어 있는 경우의 플레인 합성을 나타내고, (b)는 video_shift_mode가 Down에 설정되어 있는 경우의 플레인 합성을 나타낸다.
도 13은 비디오 시프트 모드를 확장 스트림 선택테이블에 추가하는 경우의 그래픽스 스트림의 스트림 선택테이블에의 등록 순의 제약을 설명하는 도면이다.
도 14는 기본 스트림 선택테이블, 확장 스트림 선택테이블에 의해 메인 TS, 서브 TS로부터 어떤 ES가 다중분리되는가를 나타낸다.
도 15는 2D 출력 모드, 3D 출력 모드에서의 스트림 번호의 할당 변화를 나타낸다.
도 16은 재생장치의 내부 구성을 나타낸다.
도 17은 PG 디코더의 내부 구성을 나타낸다.
도 18은 텍스트 자막 디코더의 내부 구성을 나타낸다.
도 19는 IG 디코더의 디코더 모델을 나타낸다.
도 20은 디코더 모델의 출력을 합성하여 3D-LR방식으로 출력하기 위한 회로구성을 나타낸다.
도 21은 이들 디코더 모델의 출력을 합성하여 1 plane+Offset 모드 방식으로 출력하기 위한 회로구성을 나타내고 있다.
도 22는 디코더 모델의 출력을 합성하여 상단 측 2D자막 재생 모드 방식 및 하단 측 2D자막 재생 모드 방식으로 출력하기 위한 회로구성을 나타낸다.
도 23은 레지스터 세트(203)의 내부 구성과 재생제어부를 나타내는 도면이다.
도 24는 PSR24의 비트 할당을 나타낸다.
도 25는 PSR32의 비트 할당을 나타낸다.
도 26은 플레이리스트 재생순서를 나타낸다.
도 27은 PGtestST 스트림에 대한 Procedure when playback condition is changed에 대한 처리순서를 나타내는 플로차트이다.
도 28] 상하단 재생타입 결정 처리순서를 나타내는 플로차트이다.
도 29는 현재 플레이아이템에 대해서 최적의 PG_텍스트 자막 스트림을 선택하는 처리순서를 나타내는 플로차트이다.
도 30은 세트 입체 시 스트림 커멘드(SetstreamSSCommand)에 의해 스트림 변화가 요구된 경우에 실행해야 할 Procedure when stream change is requested의 처리순서를 나타내는 플로차트이다.
도 31은 세트 스트림 커멘드, 또는 스트림 번호 변경을 요구하는 사용자조작에 의해 스트림 변화가 요구된 경우에 실행해야 할 Procedure when stream change is requested의 처리순서를 나타내는 플로차트이다.
도 32는 현재 IG스트림의 결정 및 현재 IG스트림의 재생타입 결정의 처리순서를 나타내는 플로차트이다.
도 33은 결합 스트림 등록 열에 의해 어떤 패킷 식별자가 다중분리부에 출력되는가를 나타낸다.
도 34는 결합 스트림 등록 열에 의해 어떤 패킷 식별자가 다중분리부에 출력되는가를 나타낸다.
도 35는 제 1 실시형태의 변형 예에 관한 확장 스트림 선택테이블의 스트림 등록 열을 나타낸다.
도 36은 디코더 모델의 출력을 합성하여 상단 측 2D자막 재생 모드 방식 및 하단 측 2D자막 재생 모드 방식으로 출력하기 위한 회로구성을 나타낸다.
도 37은 각 플레인의 세로축 방향의 시프트량을 나타내는 시스템 파라미터를 설명하는 도면이다.
도 38은 비디오 시프트 모드에 따라서 PG 플레인을 시프트 & 크로핑 방법을 설명하는 도면이다.
도 39는 상단 측 2D자막 재생 모드 및 하단 측 2D자막 재생 모드에서의 플레인 합성에 의해 잘라내어 지지 않은 영역에 자막데이터를 배치하기 위한 제약조건을 설명하는 도면이다.
도 40은 TV의 화면사이즈에 의한 깊이 간의 영향의 출력 오프셋 보정 값의 기능을 설명하는 도면이다.
도 41은 플레이리스트 파일에 저장되는 텔레비전의 인치 수와 출력 오프셋 보정 값의 테이블을 설명하는 도면이다.
도 42는 최적 사이즈 이상의 텔레비전에서 영상을 표시하는 경우의 화면 예이다.
도 43은 출력 오프셋 보정 값을 적용하기 위한 2D/3D 재생장치의 구성을 설명하는 도면이다.
도 44는 출력 오프셋 보정 값과 출력 오프셋 보정 값 알파를 적용하는 구성을 설명하는 도면이다.
도 45는 익스텐트와 파일 2D/파일 베이스, 파일 디펜던트의 대응관계를 나타낸다.
도 46은 입체 시 인터리브드 스트림 파일과 파일 2D/파일 베이스의 관계를 나타낸다.
도 47은 입체 시 인터리브드 스트림 파일, 파일 2D, 파일 베이스의 상호 관계를 나타낸다.
도 48은 2D 플레이리스트, 3D 플레이리스트를 나타낸다.
도 49는 클립정보 파일의 내부 구성을 나타낸다.
도 50] 클립정보 파일과 플레이리스트 및 입체 시 인터리브드 스트림 파일의 관계를 나타낸다.
도 51은 클립베이스정보, 클립 디펜던트 정보의 내부 구성을 나타내는 도면이다.
도 52는 기본 엔트리 맵과 확장 엔트리 맵을 나타내는 도면이다.
도 53은 확장 엔트리 맵에서 허용되지 않는 엔트리를 나타낸다.
도 54는 플레이아이템의 재생순서를 나타낸다.
도 55는 입체 시 인터리브드 스트림 파일을 구성하는 데이터블록으로부터 ATC 시퀀스가 어떻게 복원되는가를 나타낸다.
도 56은 ATC 시퀀스의 복원이 어떻게 이루어지는가를 나타내는 도면이다.
도 57은 베이스 뷰 클립정보에서의 익스텐트 스타트포인트 정보의 일 예와 디펜던트 뷰 클립정보에서의 익스텐트 스타트포인트 정보의 일 예를 나타낸다.
도 58은 ATC 시퀀스 1, 2에서의 임의의 데이터블록의 소스 패킷 번호를 설명하기 위한 도면이다.
도 59는 ATC 시퀀스의 복원순서를 나타낸다.
도 60은 2D/3D 재생장치의 재생환경을 설명하는 도면이다.
도 61은 3D 영상으로부터 2D 영상의 재생에서 프레임 레이트 전환을 발생시키지 않고 일방의 영상을 출력하는 모습을 설명하는 도면이다.
도 62는 BD 등에서 이용되는 자막?메뉴용 스트림의 상관을 설명하는 도면이다.
도 63은 보다 원활한 2D/3D 영상 표시를 실현하기 위한 처리를 설명하는 도면이다.
도 64는 광디스크의 기록방법을 나타낸다.
도 65는 오서링 행정의 처리순서를 나타내는 플로차트이다.
도 66은 AV파일 기입공정의 처리순서를 나타낸다.
도 67은 기본 엔트리 맵, 확장 엔트리 맵의 작성 순서를 나타내는 플로차트이다.
도 68은 BD-J애플리케이션, BD-J오브젝트, 무비 오브젝트, 인덱스테이블의 작성순서를 나타내는 플로차트이다.
도 69는 다층화된 광디스크의 내부 구성을 나타낸다.
도 70은 파일시스템을 전제로 한 광디스크의 애플리케이션 포맷을 나타낸다.
도 71은 2D/3D 재생장치의 구성을 나타내고 있다.
도 72는 본 발명에 관한 기록매체의 사용행위에 대한 형태, BD-ROM의 내부 구성, 인덱스 파일의 내부 구성을 나타내는 도면이다.
도 73은 AV클립의 구성, 각 스트림이 AV클립에 대해서 어떻게 다중화되어 있는가를 모식적으로 나타내는 도면이다.
도 74는 PES 패킷 열에 비디오 스트림 및 오디오 스트림이 어떻게 저장되는가를 더 상세하게 나타내며, AV클립에서의 TS패킷과 소스 패킷 구조를 나타내는 도면이다.
도 75는 PMT의 데이터 구성, 클립정보 파일의 내부 구성을 나타내는 도면이다.
도 76은 스트림 속성정보의 내부 구성, 엔트리 맵의 내부 구성을 나타내는 도면이다.
도 77은 플레이리스트의 내부 구성, 플레이아이템의 내부 구성을 나타내는 도면이다.
도 78은 2D 재생장치의 내부 구성, 플레이어 변수를 설명하는 도면이다.
도 79는 시스템 타깃 디코더의 내부 구성을 나타내는 도면이다.
도 80은 입체 시의 설명도이다.
도 81은 프레젠테이션 그래픽스 스트림의 데이터구조를 설명하는 도면이다.
도 82는 프레젠테이션 그래픽스 스트림의 디코드처리를 설명하는 도면이다.
도 83은 비디오 상향이동시 시프트 값과 비디오 하향이동시 시프트 값의 플레이리스트의 저장방법을 설명하는 도면이다.
도 84는 검은 테두리를 상하에 모으는 비디오 시프트를 실행하는 경우의 2D/3D 재생장치 내의 플레인 합성의 구성을 설명하는 도면이다.
도 85는 비디오 시프트 모드를 스트림 선택정보의 스트림 부가정보에 추가한 플레이리스트의 구성을 설명하는 도면이다.
도 86은 비디오 시프트 모드를 스트림 선택정보의 스트림 부가정보에 추가한 경우의 플레인 합성의 방법을 설명하는 도면이다.
도 87은 상단은 본편 영상을 한가운데가 아니라 조금 위쪽에 배치하여 비디오 스트림을 작성하는 방법을 설명하는 도면이고, 하단은 PG의 스트림의 투명색을 동적으로 변경하여 검은 테두리를 작성하는 방법을 설명하는 도면이다.
도 88은 각 익스텐트에 1개 이상의 엔트리포인트가 있다고 규정하는 경우의 구성을 설명하는 도면이다.
도 89는 오프셋 메타데이터를 AV스트림 정보 파일에 저장하는 방법을 설명하는 도면이다.
도 90은 오프셋 메타데이터를 엔트리포인트마다 저장하는 방법을 설명하는 도면이다.
도 91은 오프셋 메타데이터를 플레이리스트에 저장하는 방법을 설명하는 도면이다.
도 92는 오프셋 메타데이터를 플레이리스트에 저장하는 경우에 앞의 플레이아이템과 동일한 경우에는 오프셋 메타데이터를 저장하지 않는 방법을 설명하는 도면이다.
도 93은 오프셋 메타데이터를 플레이리스트에 저장하는 경우에 동일한 오프셋 메타데이터를 갖는 플레이아이템에 대해서는 하나의 오프셋 메타데이터만으로 끝나도록 하기 위한 저장방법을 설명하는 도면이다.
도 94는 플레이아이템 단위로 도는 헤더와 오프셋 메타데이터를 나누어서 저장하는 플레이리스트를 나타내는 도면이다.
도 95는 2 플레인 L/R방식의 그래픽스의 좌측 눈 용 자막을 2D표시 용 자막으로 표시한 케이스를 설명하는 도면이다.
도 96은 2D표시 용 자막 및 1 plane+Offset 방식 자막과 2 플레인 L/R방식의 좌측 눈 용 PG를 공용화하기 위한 2 플레인 L/R방식용의 PG의 오프셋 값을 설명하는 도면이다.
도 97은 점프재생의 고속화를 위한 2D/3D 재생경로를 분리하는 구성을 설명하는 도면이다.
도 98] 입체 시 영상을 재생하기 위한 BD-ROM에서의 인덱스 파일의 일 예를 나타내는 도면이다.
도 99는 BD 프로그램 파일의 프로그램에서의 2D 플레이리스트와 3D 플레이리스트의 선택 플로를 나타내고 있다.
도 100은 2D/3D 재생장치를 집적회로를 이용해서 실현된 구성 예이다.
도 101은 스트림 처리부의 대표적인 구성을 나타내는 기능 블록도이다.
도 102는 스위칭부가 DMAC인 경우의 스위칭부(53) 주변의 개념도이다.
도 103은 AV출력부의 대표적인 구성을 나타내는 기능 블록도이다.
도 104는 AV출력부 혹은 재생장치의 데이터 출력부분을 상세하게 나타낸 구성 예이다.
도 105는 집적회로에서의 제어버스 및 데이터버스의 배치를 나타내는 도면이다.
도 106은 집적회로에서의 제어버스 및 데이터버스의 배치를 나타내는 도면이다.
도 107은 표시장치를 집적회로를 이용해서 실현한 구성 예이다.
도 108은 표시장치에서의 AV출력부의 대표적인 구성을 나타내는 기능 블록도이다.
도 109는 재생장치에서의 동작순서를 간단하게 나타내는 플로차트이다.
도 110은 재생장치에서의 동작순서를 상세하게 나타내는 플로차트이다.
상기 과제해결수단을 구비한 기록매체는 콘텐츠를 매장에서 판매하기 위한 패키지매체로서 실시할 수 있다. 또, 이 기록매체에 대응하는 재생장치는 패키지매체를 재생하기 위한 플레이어 기기로서 실시할 수 있고, 이 기록매체에 대응하는 집적회로는 당해 플레이어 기기에 내장되는 시스템 LSI로서 실시할 수 있다.
도 1은 패키지매체인 기록매체, 플레이어 기기인 재생장치, 표시장치, 안경에 의해 구성되는 홈시어터시스템을 나타낸다. 동 도면 (a)에 나타내는 것과 같이, 상기 패키지매체인 기록매체(100), 플레이어 기기인 재생장치(200)는 표시장치(300), 3D안경(400), 리모컨(500)과 함께 홈시어터시스템을 구성하며, 사용자에 의한 사용에 제공된다.
기록매체(100)는 상기 홈시어터시스템에 예를 들어 영화작품을 공급한다. 이 영화작품에는 입체 시 영상을 구성하는 것이 있다. 여기서 입체 시 영상은 적어도 2개의 시점 영상으로 구성된다. 시점 영상이란 어떤 편향성을 가진 영상이며, 상기 2개의 시점 영상은 메인 뷰 영상과 서브 뷰 영상으로 구성된다. 기록매체(100)에는 도 1에 나타내는 것과 같이 디스크형인 것, 메모리 카드형인 것 등 다양한 타입이 존재하지만, 특별히 한정하지 않는 한 이후의 설명에서는 설명하는 "기록매체"는 디스크 매체로 한다.
재생장치(200)는 표시장치(300)와 접속되어서 기록매체(100)를 재생한다. 재생장치는 메인 뷰 영상을 나타내는 메인 뷰 비디오 스트림, 서브 뷰 영상을 나타내는 서브 뷰 비디오 스트림을 재생하기 위해서 2D 출력 모드, 3D 출력 모드라고 하는 2개의 출력 모드를 구비하고 있고, 이들의 상호 전환을 가능으로 하는 2D/3D 재생장치(player)이다.
표시장치(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 실시형태의 특징은 우측 눈 용의 그래픽스 스트림, 좌측 눈 용의 그래픽스 스트림을 이용한 입체 시를 실현할 수 있는가 여부의 캐퍼빌리티(capability)를 재생장치에서의 레지스터에 설정하고 있는 점이다.
이후의 설명에서 메인 뷰 및 서브 뷰는 시차 화상 방식을 실현하는 것으로 한다. 시차 화상 방식(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인 뷰 컴포넌트의 시퀀스이다.
뷰 컴포넌트란 한 개의 프레임기간에 있어서 입체 시 재생을 위해서 동시에 재생되는 복수의 픽쳐 데이터의 각각의 것을 말한다. 시점(視點) 간의 상관성을 이용한 압축부호화는 베이스 뷰 비디오 스트림 및 디펜던트 뷰 비디오 스트림의 뷰 컴포넌트를 픽쳐 데이터로서 이용하여, 픽쳐 간의 상관성을 이용한 압축부호화를 실현함으로써 이루어진다. 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프레젠테이션 모드가 재생장치의 출력 모드의 기본이 되지만, 이들 모드 이외에도 재생장치에는 1 plane+Offset 모드, 상단 측 2D자막 재생 모드, 하단 측 2D자막 재생 모드라고 하는 출력 모드가 존재한다.
1 plane+Offset 모드(3D-Offset 모드라고도 한다)는 플레인 메모리의 후단에 시프트부를 내장하여, 시프트부를 기능시킴으로써 입체 시를 실현하는 출력 모드이다. 플레인 오프셋부는 레프트 뷰 기간 및 라이트 뷰 기간의 각각에서 플레인 메모리에서의 라인 단위의 화소의 좌표를 좌 방향 또는 우 방향으로 시프트시켜서, 우측 눈 시선 및 좌측 눈 시선의 결상점을 앞쪽방향 또는 안쪽방향으로 변위시킴으로써 깊이감을 변화시킨다. 구체적으로는 레프트 뷰 기간에 좌 방향, 라이트 뷰 기간에 우 방향으로 화소 좌표를 변화시키면 두 눈의 시선의 결상점은 앞쪽이 되고, 레프트 뷰 기간에 우 방향, 라이트 뷰 기간에 좌 방향으로 화소 좌표를 변화시키면 두 눈의 시선의 결상점은 앞쪽이 된다.
이와 같은 플레인 시프트에서는 입체 시를 위한 플레인 메모리가 1 플레인으로 충분하므로, 간단하게 입체 시 영상을 만들어 내는데 최적이다. 이 플레인 시프트에서는 평면적인 영상이 앞쪽에 오거나, 안쪽으로 들어가거나 하는 입체 시 영상을 만들어내는 것에 지나지 않으므로, 메뉴나 자막의 입체 시 효과에는 적합하지만, 캐릭터나 물체의 입체 시 효과의 실현에는 어딘가 약간 부족하다. 캐릭터의 얼굴의 움푹한 곳이나 요철 등이 재현될 수 없기 때문이다.
1 plane+Offset 모드를 지원하는 경우의 재생장치의 구성은 이하와 같이 된다. 그래픽스의 재생을 위해서 재생장치에는 플레인 메모리와 CLUT부, 합성부가 존재하고 있고, 이 CLUT부와 합성부의 사이에 시프트부가 내장되게 된다. 그리고 시프트부는 디펜던트 뷰 비디오 스트림의 액세스유닛 구조에 내장된 오프셋 시퀀스에서의 오프셋을 이용해서 상술한 것과 같은 화소의 좌표변화를 실현한다. 이와 같이 함으로써 1 plane+Offset 모드에서의 화소의 점프의 정도는 MVC 비디오 스트림과 치밀하게 동기한 것이 된다. 이 1 plane+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 플레인이 시프트 제어의 대상이 된다.
상단 측 2D자막 재생 모드는 비디오 플레인 메모리의 후단에 시프트부를 조 내장하여, 시프트부를 기능시킴으로써 비디오 프레임의 상단에 2D자막의 표시영역을 확보하는 출력 모드이며, 하단 측 2D자막 재생 모드는 시프트부를 기능시킴으로써 비디오 스트림의 하단에 2D자막의 표시영역을 확보하는 출력 모드이다. 플레인 오프셋부는 상단 측 2D자막 재생 모드에서는 레프트 뷰 기간 및 라이트 뷰 기간의 각각에서 비디오 플레인 메모리에 저장된 픽쳐 데이터의 화소의 좌표를 아래방향에 시프트시켜, 하단 측 2D자막 재생 모드에서는 레프트 뷰 기간 및 라이트 뷰 기간의 각각에서 비디오 플레인 메모리에 저장된 픽쳐 데이터의 화소의 좌표를 윗 방향으로 시프트 시킨다.
상단 측 2D자막 재생 모드, 하단 측 2D자막 재생 모드를 지원하는 경우, 재생장치의 구성은 이하와 같이 된다. 비디오 프레임 및 그래픽스의 재생을 위해서 재생장치에는 플레인 메모리와 합성부가 존재하고 있고, 비디오 플레인 메모리와 합성부의 사이에 시프트부를 내장할 수 있다. 그리고 시프트부는 그래픽스 스트림의 스트림 등록 열에 내장된 오프셋을 이용해서 상술한 것과 같은 화소의 좌표변화를 실현한다.
상단 측 2D자막 재생 모드, 하단 측 2D자막 재생 모드에서의 사용에 적절한 비디오 프레임은 도 4 (a)에 나타내는 것과 같이 어스펙트 비 16:9, 해상도 1920×1080의 픽셀의 화면 중앙에 어스펙트 비 2.35:1, 해상도 1920x818 픽셀의 시네마스코프 사이즈의 화상이 배치되고, 시네마스코프 사이즈의 화상의 상하에 1920×131 픽셀의 검은 테두리가 배치된 것이다. 이와 같은 비디오 프레임이 저장된 비디오 플레인 메모리에서 화소의 좌표를 윗 방향 또는 아래 방향으로 시프트 하여, 시프트에 의해 생긴 공백영역에 흑색의 데이터를 저장함으로써, 동 도면 (b), (c)에 나타내는 것과 같이 원래의 비디오 프레임의 상하단에 존재한 검은 테두리를 상단 혹은 하단에 정리한다. 이와 같이 함으로써 자막을 표시하는데 충분한 크기의 검은 테두리를 준비할 수 있다.
이상이 3D 출력 모드에 대한 설명이다. 이어서, 본 실시형태에 관한 기록매체의 내부 구성에 대해서 설명한다.
도 5는 제 1 실시형태에 관한 기록매체에서의 내부 구성을 나타낸다. 본 도면 (a)에 나타내는 것과 같이, 제 1 실시형태에 관한 기록매체에는 「인덱스테이블」, 「동작 모드 오브젝트의 프로그램 파일」, 「플레이리스트정보 파일」, 「스트림 정보 파일」, 「스트림 파일」이 기록되어 있다.
<인덱스테이블>
인덱스테이블은 기록매체 전체에 관한 관리정보이며, 재생장치에 기록매체를 삽입한 후에 인덱스테이블이 최초로 판독됨으로써 재생장치에서 기록매체가 일의적으로(uniquely) 인식된다.
<프로그램 파일>
동작 모드 오브젝트의 프로그램 파일은 재생장치를 동작시키기 위한 제어프로그램을 저장하고 있다. 이 프로그램에는 커멘드에 의해 기술된 것과 오브젝트 지향의 컴파일러 언어에 의해 기술된 것이 있다. 전자의 프로그램은 커멘드 베이스의 동작 모드에서 복수의 내비게이션 커멘드를 일괄처리 작업으로서 재생장치에 공급하여, 이들 내비게이션 커멘드에 의거해서 재생장치를 동작시킨다. 이 커멘드 베이스의 동작 모드를 "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개의 트랜스포트 스트림을 복수의 플레이아이템정보로부터 다중 참조할 수 있다. 따라서, 어느 플레이리스트를 위해서 작성된 트랜스포트 스트림을 뱅크필름으로서 채용하여, 이것을 복수의 플레이리스트정보 파일에서의 플레이아이템정보로부터 참조함으로써 영화작품의 변형을 효율 좋게 작성할 수 있다(뱅크필름이란 영화업계의 용어이며, 복수의 신에서 돌려가면서 사용하는 영상 내용이다).
일반적으로는 플레이리스트라고 하는 단위는 사용자로부터 인식되지 않으므로, 스트림 파일로부터 파생한 복수의 바리에이션(예를 들어 극장 공개판이나 TV방영판)이 플레이리스트로서 인식된다.
플레이리스트정보에는 2D 플레이리스트정보와 3D 플레이리스트정보가 있고, 이들의 차이는 3D 플레이리스트정보 내에 베이스 뷰 인디케이터와 입체 시 스트림 번호 테이블이 존재하는 것이다.
「입체 시 스트림 번호 테이블」이란 3D 출력 모드에서만 재생해야 할 엘리멘터리 스트림의 스트림 엔트리 및 스트림 속성을 스트림 번호에 대응시켜서 나타내는 테이블이다.
「베이스 뷰 인디케이터」는 시점 간의 상관성을 이용한 압축부호화의 기초가 되는 베이스 뷰 비디오 스트림이 좌측 눈 및 우측 눈의 어느 쪽으로서 표시되어야 하는가를 나타내는 정보이다. 이 플레이리스트정보에서의 베이스 뷰 인디케이터를 변화시킴으로써 베이스 뷰 비디오 스트림을 좌측 눈 및 우측 눈 용 중 어느 쪽으로 하는가의 할당을 플레이리스트의 레벨에서 변화시킬 수 있다.
스트림의 구조에 의거하지 않는 플레이리스트의 레벨에서 상기 할당을 변화시킬 수 있으므로, 화상 중의 물체의 위치 및 각도가 베이스 뷰=좌측 눈, 디펜던트 뷰=우측 눈 용과 같이 설정되어 있는 플레이리스트가 존재하는 경우, 이 플레이리스트와는 별도의 버전으로서 베이스 뷰=우측 눈 용, 디펜던트 뷰=좌측 눈과 같이 설정되어 있는 플레이리스트를 작성할 수 있다.
플레이리스트의 레벨에서 베이스 뷰, 디펜던트 뷰에 대한 좌측 눈, 우측 눈 용의 할당을 역전시키면 입체 시 효과를 역전시킬 수 있다. 예를 들어 화면의 앞쪽에 대상물이 출현하는 것과 같은 입체 시 효과를 의도한 플레이리스트가 이미 작성되어 있는 경우, 이 플레이리스트와 별도로, 화면의 안쪽에 대상물이 출현하는 것과 같은 입체 시 효과를 의도한 플레이리스트를 작성할 수 있다. 따라서 3D 플레이리스트에서는 입체 시 효과가 다른 플레이리스트의 변형을 간단하고도 쉽게 작성할 수 있다고 하는 효과를 발휘한다.
도 5 (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_텍스트 자막 스트림은 1 plane+Offset 모드, 상단 측 2D자막 재생 모드, 하단 측 2D자막 재생 모드에 대해서 재생된다.
? 인터랙티브 그래픽스(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프레젠테이션 모드, 1 plane+Offset 모드, 1plane+Zero Offset 모드, 상단 측 2D자막 재생 모드, 하단 측 2D자막 재생 모드라고 하는 5개의 출력 모드가 허용된다. PG스트림에서 1plane+Zero Offset 모드가 허용되는 것은 팝업메뉴가 온이 되어 있는 경우만이다. B-D프레젠테이션 모드로 재생되는 경우에서의 PG스트림의 유형을 "입체 시 재생타입"이라고 한다. 1 plane+Offset 모드로 재생되는 경우에서의 PG스트림, PG_텍스트 자막 스트림의 유형을 1 plane+Offset 타입이라고 한다. 1plane+Zero Offset 모드로 재생되는 경우에서의 PG스트림, PG_텍스트 자막 스트림의 유형을 1plane+Zero Offset 타입이라고 한다. 상단 측 2D자막 재생 모드로 재생되는 경우에서의 PG스트림, PG_텍스트 자막 스트림의 유형을 "상단 측 2D자막 재생타입"이라고 한다. 하단 측 2D자막 재생 모드로 재생되는 경우에서의 PG스트림, PG_텍스트 자막 스트림의 유형을 "하단 측 2D자막 재생타입"이라고 한다.
텍스트 자막 스트림의 3D 표시모드에는 1 plane+Offset 모드, 1plane+Zero Offset 모드, 상단 측 2D자막 재생 모드, 하단 측 2D자막 재생 모드라고 하는 4개의 출력 모드가 허용된다. 텍스트 자막 스트림에서 1plane+Zero Offset 모드가 허용되는 것은 팝업메뉴가 온이 되어 있는 경우만이다.
IG스트림의 3D 표시모드에는 B-D프레젠테이션 모드, 1 plane+Offset 모드, 1plane+Zero Offset 모드라고 하는 3개의 출력 모드가 허용된다. IG스트림에서 1plane+Zero Offset 모드가 허용되는 것은 팝업메뉴가 온이 되어 있는 경우만이다. 이후의 설명에서는 특별히 한정하지 않는 한 3D 출력 모드 실행시에는 픽처 인 픽처는 사용할 수 없는 것으로 한다. 픽처 인 픽처 및 3D 출력 모드는 어느 쪽도 비 압축의 픽쳐 데이터를 저장하기 위한 비디오 플레인을 2개 필요로 하기 때문이다. 또 특별히 한정하지 않는 이상 3D 출력 모드에서는 사운드 믹싱도 사용할 수 없는 것으로 한다.
이어서, 메인 TS 및 서브 TS의 내부 구성에 대해서 설명한다. 도 6은 메인 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스트림을 구성한다.
이상이 스트림 파일에 대한 설명이다. 이어서, 플레이리스트정보의 상세에 대하여 설명한다.
상술한 것과 같은 멀티패스를 정의하기 위해서 도 7과 같은 내부 구성을 갖는다. 도 7은 플레이리스트정보의 내부 구성을 나타낸다. 동 도면 (a)에 나타내는 것과 같이 플레이리스트정보는 「메인 패스 정보」, 「서브패스 정보」, 「플레이리스트 마크정보」, 「익스텐션 데이터」를 포함한다. 이하, 이들 구성요소에 대해서 설명한다.
1) 메인 패스 정보는 1개 이상의 주된 재생구간정보로 구성된다. 도 7 (b)는 메인 패스 정보 및 서브패스 정보의 내부 구성을 나타내는 도이며, 본 도면에 나타내는 것과 같이 메인 패스 정보는 1개 이상의 주된 재생구간정보로 구성된다. 서브패스 정보는 1개 이상의 종의 재생구간정보로 구성된다.
주된 재생구간정보는 플레이아이템정보로 불리며, TS의 재생시간 축 중 In_Time이 되는 시점과 Out_Time이 되는 시점의 조를 1개 이상 정의함으로써 논리적인 재생구간을 정의하는 정보이다. 재생장치에는 현재의 플레이아이템의 번호를 저장하는 플레이아이템번호 레지스터를 포함하며, 복수의 플레이리스트정보 중 이 플레이아이템번호 레지스터에 저장되어 있는 것이 현재의 재생대상이 된다.
도 7 (c)는 플레이아이템정보의 내부 구성을 나타낸다. 본 도면에 나타내는 것과 같이 「스트림 참조정보」, 「인 타임 아웃 타임 정보」, 「접속상태정보」, 「기본 스트림 선택테이블」을 포함한다.
스트림 참조정보는 플레이아이템을 구성하는 트랜스포트 스트림을 "AV클립"으로서 관리하고 있는 스트림 정보 파일을 나타내는 「스트림 정보 파일 네임 정보(clip_information_file_name)」, 그 TS에서의 부호화방식을 나타내는 「클립 부호화방식 식별자(Clip_codec_indentifier)」, 당해 TS의 STC 시퀀스에서 인 타임 및 아웃 타임이 설정되어 있는 STC 시퀀스가 어느 것인가를 나타내는 「STC 식별자 레퍼런스(STC_ID_referrence)」를 포함한다.
이상이 플레이아이템정보에 대한 설명이다.
2) 종의 재생구간정보는 서브패스 정보로 불리며, 복수의 서브 플레이아이템정보로 구성된다. 도 7 (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이며, 오브젝트 지향 프로그래밍언어 베이스의 프로그램이 스트림 전환을 재생장치에 실행시킬 때에 이용된다.
도 8은 기본 스트림 선택테이블의 일 예를 나타낸다. 동 도면 (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스트림의 스트림 등록 열을 결합함으로써 이루어진다.
상기의 결합이 이루어지면 결합 후의 스트림 선택테이블 중 기본 스트림 선택테이블에서의 스트림 등록 열에 대해서 상기 프로시저가 실행된다.
도 9는 확장 스트림 선택테이블의 내부 구성을 나타낸다. 확장 스트림 선택테이블은 확장 스트림 선택테이블의 전체 길이(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스트림은 입체 시 재생타입이 된다. 1 plane+Offset 모드의 재생시에 있어서 PG_텍스트 자막 스트림은 1 plane+Offset 모드가 된다.
팝업기간 고정 오프셋 "1", 즉, IG스트림의 팝업메뉴가 온인 경우 비디오 스트림은 B-B프레젠테이션 모드가 된다. 입체 시 PG스트림은 1 plane+Offset 모드가 되고, 1 plane+Offset용의 PG스트림은 1plane+Zero offset 재생타입으로서 재생된다.
1 plane+Offset 모드에서 PG_텍스트 자막 스트림은 1plane+Zero offset가 된다.
도 10은 확장 스트림 선택테이블에서의 스트림 등록 열을 나타낸다.
도 10 (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)」는 디펜던트 뷰 비디오 스트림 내에 존재하는 오프셋의 개수를 나타낸다.
「오프셋 시퀀스 개수 정보(도면 중의 number_of_offset_sequence)」는 디펜던트 뷰 스트림에서의 오프셋 시퀀스의 개수를 나타낸다.
확장 스트림 선택테이블에서의 이 값은 디펜던트 뷰 스트림에 포함되는 오프셋 시퀀스의 개수와 같아진다.
도 10 (a)에서 디펜던트 뷰 비디오 스트림의 스트림 등록 열은 데이터구조상 복수의 디펜던트 뷰 비디오 스트림에 대한 스트림 등록정보를 설치하는 것으로 되어 있다. 통상 베이스 뷰 비디오 스트림의 개수는 1개이므로 디펜던트 뷰 비디오 스트림에서의 스트림 등록정보의 개수도 단 1개가 된다.
도 10 (b)는 PG스트림의 스트림 등록 열의 내부 구성을 나타낸다. PG스트림의 스트림 등록 열은 P(x)개의 스트림 등록정보로 구성된다. 여기서, P(x)란 플레이아이템정보 #x의 기본 스트림 선택테이블에서 재생이 허가되어 있는 PG스트림의 개수이다.
도면 중의 인출선은 스트림 등록 열의 공통의 내부 구성을 클로즈업해서 나타내고 있다.
「PG_텍스트 자막 오프셋 시퀀스 ID레퍼런스 정보(PGtextST_offset_ sequence_id_ref)」는 PG_텍스트 자막 스트림 오프셋 시퀀스 레퍼런스 정보이며, 1 plane+Offset 모드의 PG_텍스트 자막 스트림에 대한 오프셋 시퀀스를 지시한다.
오프셋 메타데이터는 디펜던트 뷰 비디오 스트림의 액세스유닛에 의해 공급된다. 재생장치는 이 필드에 의해 제공된 오프셋을 1 plane+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스트림 플레인 메모리에 이 오프셋을 적용하지 않는다.
「비디오 시프트 모드(video_shift_mode)」는 자막의 표시영역의 확보 처리를 규정하는 영역확보 플래그이며, 자막의 표시영역을 비디오 플레인의 상단 또는 하단에 확보하는가 여부와 자막의 표시영역이 비디오 플레인의 상단 및 하단의 어느 쪽인가를 지시한다. 자막의 표시영역을 비디오 플레인의 상단 또는 하단에 확보하지 않는 경우 비디오 시프트 모드는 "Keep"로 설정된다. video_shift_mode가 Keep로 설정되어 있는 경우에는 도 11에 나타내는 것과 같이 비디오 플레인 메모리에 저장된 픽쳐 데이터를 상하 방향으로 시프트 시키지 않고, 그대로 PG스트림 플레인 메모리에 저장된 자막과 합성된다.
PG_텍스트 자막 스트림의 자막 표시영역이 비디오 플레인의 하단이면 비디오 시프트 모드는 "Up"으로 설정되고, PG_텍스트 자막 스트림의 자막 표시영역이 비디오 플레인의 상단이면 비디오 시프트 모드는 "Down"으로 설정된다.
video_shift_mode가 Up으로 설정되어 있는 PG스트림은 디코드에 의해 얻어지는 자막이 화면의 하단에 존재하고 있으므로, 도 12의 것(a)에 나타내는 것과 같이, 비디오 플레인 메모리에 저장된 픽쳐 데이터를 윗 방향으로 시프트시켜서, PG스트림 플레인 메모리에 저장된 자막과 합성함으로써, 입체 시 영상에 자막이 함몰되어 표시되는 것을 방지할 수 있다. video_shift_mode가 Down으로 설정되어 있는 PG스트림은 디코드에 의해 얻어지는 자막이 화면의 상단에 존재하고 있으므로, 도 12의 것(b)에 나타내는 것과 같이, 비디오 플레인 메모리에 저장된 픽쳐 데이터를 아래 방향으로 시프트시켜서, PG스트림 플레인 메모리에 저장된 자막과 합성함으로써, 입체 시 영상에 자막이 함몰되어 표시되는 것을 방지할 수 있다.
도 10 (c)는 IG스트림의 스트림 등록 열의 내부 구성을 나타낸다. IG스트림의 스트림 등록 열은 I(x)개의 스트림 등록정보로 구성된다. 여기서, I(x)란 플레이아이템정보 #x의 기본 스트림 선택테이블에서 재생이 허가되어 있는 IG스트림의 개수이다. 도면 중의 인출선은 스트림 등록 열의 공통의 내부 구성을 클로즈업해서 나타내고 있다.
「IG오프셋 시퀀스 ID레퍼런스 정보(IG_offset_sequence_id_ref)」는 인터랙티브 그래픽스 오프셋 시퀀스 레퍼런스이며, 1 plane+Offset 모드의 IG스트림의 시퀀스 ID의 레퍼런스이다. 이 값은 오프셋 시퀀스에 정의되어 있는 오프셋 시퀀스 ID를 지시한다. 상술한 것과 같이, 오프셋 메타데이터는 디펜던트 뷰 비디오 스트림에 의해 공급된다. 재생장치는 이 필드에 의해 제공된 오프셋을 1 plane+Offset 모드 타입의 IG스트림에 적용하지 않으면 안 된다.
이 필드가 부정 값(FF)인 경우 재생장치는 인터랙티브 그래픽스 플레인에 이 오프셋을 적용하지 않는다.
「B-B모드시의 오프셋 방향 정보(IG_Plane_offset_direction_during_ BB_video)」는 B-B프레젠테이션 모드에서 팝업메뉴의 사용자 인터페이스이며, IG스트림이 재생되고 있는 동안 1 plane+Offset 모드에서의 인터랙티브 그래픽스(IG) 플레인에서의 오프셋 방향을 지시한다.
값 "0"으로 프런트 설정, 즉, 플레인 메모리는 TV와 시청자와의 사이에 존재하고, 레프트 뷰 기간에 있어서 플레인은 우 방향으로, 라이트 뷰 기간에 있어서 플레인은 좌 방향으로 시프트 된다.
값 "=1"로 비하인드 설정, 즉, 플레인 메모리는 TV 또는 스크린의 배후에 존재하고, 레프트 플레인은 좌 방향으로, 라이트 플레인은 우 방향으로 시프트 된다.
「B-B모드시의 오프셋 값 정보(IG_Plane_offset_value_during_BB_video)」는 B-B프레젠테이션 모드에서 팝업메뉴의 사용자 인터페이스에 의해 IG스트림이 재생되고 있는 동안 1 plane+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스트림용의 오프셋 시퀀스의 레퍼런스 정보는 스트림 번호에 대응시켜서 스트림 등록정보에 기재되어 있으므로, 장치 상태의 변화시나 스트림 변경요구의 발생시에 스트림 선택 프로시저가 실행되어서 장치 측의 언어설정에 따른 스트림 번호가 스트림 번호 레지스터에 설정된 경우 그 새로운 스트림 번호에 대응한 레퍼런스에 의해 지시되는 오프셋 시퀀스가 비디오 디코더로부터 시프트부에 공급되게 된다. 이와 같이 함으로써 재생장치에서의 언어설정에 따른 최적의 오프셋 시퀀스가 시프트부에 공급되므로, 1 plane+Offset 모드에서의 그래픽스의 깊이를 재생장치의 언어설정에 따른 최적의 것으로 할 수 있다.
확장 스트림 선택테이블에서의 제한에 대해서 설명한다.
입체 시 디펜던트 뷰 블록에서의 스트림 엔트리는 플레이리스트에서 변화해서는 안 된다.
입체 시 디펜던트 뷰 블록에서의 스트림 엔트리의 타입이 서브패스에 의해 사용되는 ES타입(스트림 타입=2)이면 서브패스 ID레퍼런스와 서브 클립 엔트리 ID레퍼런스(ref_to_subclip_entry_id)는 플레이리스트에서 변화하지 않는다.
스트림 엔트리, 베이스 뷰를 위한 스트림 엔트리, 디펜던트 뷰를 위한 스트림 엔트리의 타입으로서 허용되는 ES의 타입은 플레이아이템에 의해 사용되는 AV클립 내의 ES (스트림 타입"=1"), 서브패스에 의해 사용되는 AV클립 내의 ES(스트림 타입=2)의 2개 타입뿐이다.
입체 시 디펜던트 뷰 블록에서의 스트림 속성의 스트림 부호화방식은 "0x20"에 설정된다.
도 14는 기본 스트림 선택테이블, 확장 스트림 선택테이블에 의해 메인 TS, 서브 TS로부터 어떤 ES가 다중분리되는가를 나타낸다.
본 도면의 한가운데에는 다중분리부를 나타내고, 그 상측에는 기본 스트림 선택테이블과 확장 스트림 선택테이블의 조를 나타낸다. 좌측에는 메인 TS, 서브 TS, 우측에는 다중분리되는 베이스 뷰 비디오 스트림, 디펜던트 뷰 비디오 스트림, 좌측 눈 PG스트림, 우측 눈 PG스트림, 좌측 눈 용 IG스트림, 우측 눈 용 IG스트림, 프라이머리 오디오 스트림을 나타낸다.
도 15는 2D 출력 모드, 3D 출력 모드에서의 스트림 번호의 할당의 변화를 나타낸다.
종란은 프라이머리 비디오 스트림 #1이라고 하는 스트림 번호, 프라이머리 오디오 스트림 #1, #2라고 하는 스트림 번호, PG_텍스트 자막 스트림 #1, #2, #3이라고 하는 스트림 번호, IG스트림 #1, #2라고 하는 스트림 번호를 나타내고 있다.
좌측의 점선 틀에만 둘러싸이는 ES는 2D 출력 모드에서만 다중분리의 대상이 되는 ES이며, 스트림 선택테이블(STN_table)에 의해 재생이 허가되어 있는 것을 나타낸다.
우측의 점선 틀에만 둘러싸이는 ES는 3D 출력 모드에서 다중분리의 대상이 되는 ES이며, 확장 스트림 선택테이블(STN_table_SS)에 의해 재생이 허가되어 있는 것을 나타낸다.
좌측 및 우측의 점선 틀의 쌍방으로 둘러싸이는 ES는 3D 출력 모드에서 다중분리의 대상이 되는 ES를 나타낸다.
비디오 스트림 #1의 스트림 번호인 만큼 주목하면 MPEG4-MVC 베이스 뷰 비디오 스트림은 좌우 양쪽 모두의 점선범위에 둘러싸이므로, 2D 출력 모드 및 3D 출력 모드의 쌍방에서 재생대상이 되어 있는 것을 알 수 있다. 그러나, MPEG4-MVC 디펜던트 뷰 비디오 스트림은 우측의 점선범위에만 둘러싸여 있으므로 3D 출력 모드에서만 재생되는 것을 알 수 있다.
프라이머리 오디오 스트림 #1, #2의 스트림 번호에 주목하면 오디오 스트림은 좌우 양쪽 모두의 점선범위에 둘러싸이므로, 2D 출력 모드 및 3D 출력 모드의 쌍방에서 재생대상이 되고 있음을 알 수 있다.
PG_텍스트 자막 스트림에 주목하면 PG스트림 #1, PG스트림 #2는 2D PG 스트림이며, 좌우의 점선범위에 의해 둘러싸여 있다. 이것은 PG스트림 #1, PG스트림 #2가 2D 출력 모드 및 3D 출력 모드의 쌍방에서 재생대상이 되고 있음을 알 수 있다. 한편, 좌측 눈 PG스트림, 우측 눈 PG스트림은 우측의 점선범위에만 둘러싸여 있으므로 3D 출력 모드에서만 재생되는 것을 알 수 있다.
또, IG스트림에 주목하면 IG스트림 #1, IG스트림 #2는 2D IG 스트림이며, 좌우의 점선범위에 의해 둘러싸여 있다. 이것은 IG스트림 #1, IG스트림 #2가 2D 출력 모드만으로 재생대상이 되고 있음을 알 수 있다. 한편, 좌측 눈 IG스트림, 우측 눈 IG스트림은 우측의 점선범위에만 둘러싸여 있으므로 3D 출력 모드에서만 재생되는 것을 알 수 있다.
이상으로부터, 3D 출력 모드에서 비디오 스트림이라고 하는 스트림 종별에서는 디펜던트 뷰 비디오 스트림이 재생대상으로서 부가되는 것을 알 수 있다.
또 3D 출력 모드에서 PG스트림이라고 하는 스트림 종별에서는 재생대상이 좌측 눈 PG스트림 및 우측 눈 PG스트림이 추가되고 있고, 3D 출력 모드에서 IG스트림이라고 하는 스트림 종별에서는 좌측 눈 IG스트림 및 우측 눈 IG스트림이 추가되고 있는 것을 알 수 있다. 좌측 눈 PG스트림 및 우측 눈 PG스트림이 재생대상으로서 부가되고 있는 것은 3D 출력 모드에서 좌측 눈 PG스트림 및 우측 눈 PG스트림을 이용해서 입체 시 재생을 실현하기 위해서이다. 좌측 눈 IG스트림 및 우측 눈 IG스트림이 재생대상으로서 부가되고 있는 것은 3D 출력 모드에서 좌측 눈 IG스트림 및 우측 눈 IG스트림을 이용해서 입체 시 재생을 실현하기 위해서이다.
이상이 기록매체에 대한 설명이다. 이어서, 재생장치의 상세에 대하여 설명한다.
도 16은 재생장치의 내부 구성을 나타낸다. 본 도면에 나타내는 것과 같이 재생장치는 판독부(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), IG 디코더(213), 오디오 디코더(214)로 구성된다.
다중분리부(205)는 소스 패킷을 TS패킷으로 변환하는 소스 디 패킷타이저, 패킷 필터링을 실행하는 PID 필터를 구비하며, 3D 플레이리스트정보의 기본 스트림 선택테이블의 스트림 엔트리에 기술되어 있는 패킷 식별자를 갖는 소스 패킷을 TS패킷으로 변환한 다음에 디코더에 출력하고, 3D 플레이리스트정보의 입체 시 스트림 선택테이블의 스트림 엔트리에 기술되어 있는 패킷 식별자를 갖는 소스 패킷을 TS패킷으로 변환한 다음에 디코더에 출력한다. 기본 스트림 선택테이블의 복수의 엔트리 및 확장 스트림 선택테이블의 복수의 엔트리 중 어느 것의 패킷 식별자를 이용하는가는 플레이어상태 레지스터 중 스트림 번호 레지스터의 설정에 따른다. 스트림 번호 레지스터란 현재의 스트림 번호를 저장하고 있는 레지스터이다.
플레인 메모리세트(206)는 복수의 플레인 메모리로 구성된다.
이들 플레인 메모리는 레이어 모델을 구성하고 있고, 개개의 플레인 메모리의 저장 내용은 레이어 합성에 제공된다. 플레인 메모리세트는 좌측 눈 용 플레인 메모리, 우측 눈 용 플레인 메모리를 포함하며, 개개의 액세스유닛의 베이스 뷰의 뷰 컴포넌트를 디코드함으로써 얻은 비 압축의 픽쳐 데이터, 디펜던트 뷰의 뷰 컴포넌트를 디코드함으로써 얻은 비 압축의 픽쳐 데이터가 이들 좌측 눈 용 플레인 메모리, 우측 눈 용 플레인 메모리에 기입된다. 이 기입은 개개의 액세스유닛의 프레젠테이션 타임스탬프에 나타내고 있는 재생개시시각의 도래시에 이루어진다.
좌측 눈 용의 플레인 메모리, 우측 눈 용 플레인 메모리 중 어느 쪽에 디코드 후의 픽쳐 데이터를 기입하는가는 플레이리스트정보에서의 베이스 뷰 인디케이터에 따른다. 베이스 뷰 인디케이터가 베이스 뷰 비디오 스트림을 "좌측 눈 용"으로서 지정하고 있으면 베이스 뷰 비디오 스트림의 뷰 컴포넌트가 되는 픽쳐 데이터가 좌측 눈 용 플레인 메모리에 기입되고, 디펜던트 뷰 비디오 스트림의 뷰 컴포넌트가 되는 픽쳐 데이터가 우측 눈 용의 플레인 메모리에 기입된다.
베이스 뷰 인디케이터가 베이스 뷰 비디오 스트림을 "우측 눈 용"으로서 지정하고 있으면 베이스 뷰 비디오 스트림의 뷰 컴포넌트인 픽쳐 데이터가 우측 눈 용의 플레인 메모리에 기입되고, 디펜던트 뷰 비디오 스트림의 뷰 컴포넌트인 픽쳐 데이터가 좌측 눈 용의 플레인 메모리에 기입된다. 그리고 이들 뷰 컴포넌트는 순차 표시장치에 출력된다. 구체적으로 말하면, 한 개의 프레임기간에 있어서 좌측 눈 용 플레인 메모리의 픽쳐 데이터와 우측 눈 용 플레인 메모리의 픽쳐 데이터를 동시에 출력한다.
시프트부(207)는 화소의 좌표의 시프트를 실행한다.
레이어 합성부(208)는 복수의 플레인 메모리에서의 레이어 합성을 실행한다.
송수신부(209)는 홈시어터시스템에서의 다른 기기와 인터페이스를 개재시켜 접속된 때에 네고시에이션 페이즈를 거쳐서 데이터전송 국면으로 이행하여 데이터 전송을 실행한다.
이 네고시에이션 페이즈는 상대 측 기기의 캐퍼빌리티(디코드능력, 재생 능력, 표시 주파수를 포함한다)를 파악하여 플레이어설정 레지스터에 설정해 두고, 이후의 전송을 위한 전송방식을 정하는 것이며, 상호 장치의 정당성을 서로 확인하는 상호인증 페이즈를 포함한다. 이 네고시에이션 페이즈를 거쳐서 레이어 합성이 이루어진 픽쳐 데이터에서의 1라인 분의 비 압축?평문 형식의 화소 데이터를 표시장치에서의 수평동기기간에 따라서 표시장치에 높은 전송 레이트로 전송한다. 한편, 표시장치에서의 수평 귀선 시간 및 수직 귀선 시간에서 재생장치와 접속된 다른 장치(표시장치뿐만 아니라 앰프, 스피커를 포함한다)에, 비 압축?평문 형식의 오디오 데이터를 전송한다. 이와 같이 함으로써 표시장치, 앰프, 스피커와 같은 기기는 비 압축?평문 형식의 픽쳐 데이터, 비 압축?평문 형식의 오디오 데이터를 수신할 수 있어서 재생 출력을 실현할 수 있다. 또, 상대 측 기기에 디코드 능력이 존재하는 경우에 비디오 스트림, 오디오 스트림의 패스 스루 전송(pass-through transfer)이 가능해진다. 패스 스루 전송에서는 비디오 스트림, 오디오 스트림을 압축?암호화 형식인 채로 전송할 수 있다.
재생제어부(210)는 비디오 스트림의 시간 축에서의 임의의 시점으로부터의 랜덤 액세스를 실행한다. 구체적으로는 비디오 스트림의 시간 축에서의 임의의 시점으로부터의 재생을 명할 수 있은 경우, 3D스트림 정보 파일에서의 기본 엔트리 맵과 확장 엔트리 맵을 이용해서 그 임의의 시점에 대응하는 액세스유닛의 소스 패킷 번호를 서치한다. 이 액세스유닛은 베이스 뷰 비디오 스트림의 뷰 컴포넌트 및 디펜던트 뷰 비디오 스트림의 뷰 컴포넌트의 조를 포함하는 것이며, 상기 서치에 의해 당해 액세스유닛에 대한 액세스유닛 딜리미터를 저장한 소스 패킷의 소스 패킷 번호가 특정된다. 이 소스 패킷 번호로부터의 판독 및 디코드를 실행함으로써 랜덤 액세스가 이루어진다. 3D 플레이리스트 재생해서는 3D 플레이리스트정보의 메인 패스 정보에서 규정되어 있는 인 타임, 아웃 타임과 서브패스 정보에서 규정되어 있는 인 타임, 아웃 타임을 이용해서 메인 TS, 서브 TS의 각각 대해서 랜덤 액세스를 실행함으로써 플레이리스트 재생을 개시한다.
비디오 디코더(211)는 디코더 세트(204)에서의 디코더 중 대표적인 디코더이며, 디펜던트 뷰 비디오 스트림을 구성하는 뷰 컴포넌트를 프리로드 한 다음에 베이스 뷰 비디오 스트림 내의 클로즈 GOP의 선두에 위치하는 디코더 리플레시를 의도한 픽쳐 타입(IDR 타입)의 뷰 컴포넌트를 디코드한다. 이 디코드에 있어서 코디드 데이터 버퍼, 디코드 데이터 버퍼를 모두 클리어 한다. 이렇게 해서 IDR 타입의 뷰 컴포넌트를 디코드한 후, 이 뷰 컴포넌트와의 상관성에 의거하여 압축부호화되어 있는 베이스 뷰 비디오 스트림의 후속의 뷰 컴포넌트 및 디펜던트 뷰 비디오 스트림의 뷰 컴포넌트를 디코드한다. 디코드에 의해 당해 뷰 컴포넌트에 대한 비 압축의 픽쳐 데이터를 얻어지면 디코드 데이터 버퍼에 저장하고, 이 픽쳐 데이터를 참조 픽쳐로 한다.
이 참조 픽쳐를 이용해서 베이스 뷰 비디오 스트림의 후속의 뷰 컴포넌트 및 디펜던트 뷰 비디오 스트림의 뷰 컴포넌트에 대해서 모션 보상을 실행한다. 모션 보상에 의하여 베이스 뷰 비디오 스트림의 후속의 뷰 컴포넌트 및 디펜던트 뷰 비디오 스트림의 뷰 컴포넌트에서 비 압축의 픽쳐 데이터를 얻으면 이들을 디코드 데이터 버퍼에 저장하여 참조 픽쳐로 한다. 이상의 디코드는 개개의 액세스유닛의 디코드 타임스탬프에 나타내고 있는 디코드 개시시각이 도래한 때에 이루어진다.
이하, PG 디코더(212), 텍스트 자막 디코더(213), IG 디코더(214)와 이들 디코더의 디코드의 대상이 되는 스트림의 내부 구성에 대해서 설명한다.
PG스트림에서의 디코더의 구성은 1 plane+Offset 방식을 채용하는 경우 1 디코더+1 플레인 구성이 된다. 3D-LR방식을 채용하는 경우 2 디코더+2 플레인 구성이 된다.
마찬가지로, IG스트림에서의 디코더 구성은 3D-LR방식을 채용하는 경우 2 디코더+2 플레인 구성이 된다. 한편, 1 plane+Offset 방식을 채용하는 경우 1 디코더+1 플레인 구성이 된다.
텍스트 자막 스트림에서의 디코더 구성에서는 3D-LR방식이 존재하지 않으며, 1 plane+Offset 모드인 경우 1 디코더+1 플레인 구성이 된다.
먼저, PG스트림의 내부 구성과 PG스트림을 디코드하는 PG 디코더의 내부 구성에 대해서 설명한다.
좌측 눈 용 PG스트림, 우측 눈 용 PG스트림은 어느 쪽도 복수의 디스플레이 세트를 포함한다. 디스플레이 세트란 한 개의 화면 표시를 구성하는 기능 세그먼트의 집합이다. 기능 세그먼트는 약 2K바이트의 PES 패킷의 페이로드에 저장되어 디코더에 공급되며 DTS, PTS를 이용해서 재생제어가 이루어지는 처리 단위이다.
디스플레이 세트에는 이하의 유형이 있다.
A. 에포크 스타트의 디스플레이 세트
에포크 스타트의 디스플레이 세트란 그래픽스 디코더에서의 콤포지션 버퍼, 코드 데이터 버퍼, 그래픽스 플레인을 리셋하여 메모리 메니지먼트를 개시시키는 기능 세그먼트의 집합이며, 화면구성에 필요한 기능 세그먼트를 모두 포함하고 있다.
B. 노멀 케이스의 디스플레이 세트
노멀 케이스의 디스플레이 세트란 그래픽스 디코더에서의 콤포지션 버퍼, 코드 데이터 버퍼, 그래픽스 플레인의 메모리 메니지먼트를 계속한 채로 화면구성을 실행하는 디스플레이 세트이며, 선행하는 디스플레이 세트로부터의 차분이 되는 기능 세그먼트를 포함하고 있다.
C. 애커지션 포인트(Acquisition-point)의 디스플레이 세트
애커지션 포인트의 디스플레이 세트란 화면구성에 필요한 기능 세그먼트를 모두 포함하는 디스플레이 세트이나, 그래픽스 디코더에서의 콤포지션 버퍼, 코드 데이터 버퍼, 그래픽스 플레인의 메모리 메니지먼트를 리셋시키지 않는 디스플레이 세트이다. 이 애커지션 포인트의 디스플레이 세트에는 앞의 디스플레이 세트와는 다른 내용의 기능 세그먼트가 존재해도 괜찮다.
D. 에포크 컨티뉴(Epoch-continue )의 디스플레이 세트
에포크 컨티뉴의 디스플레이 세트란 PG스트림의 재생을 허가하고 있는 플레이아이템과 그 직전의 플레이아이템과의 접속형태가 클린 브레이크(clean break)를 수반하는 심리스 접속(CC=5)인 경우에 재생장치에서의 콤포지션 버퍼, 코드 데이터 버퍼, 오브젝트 버퍼, 그래픽스 플레인에서의 메모리 메니지먼트를 그대로 계속시키는 취지를 나타낸다. 이때, 오브젝트 버퍼, 그래픽스 플레인 상에 얻어진 그래픽스 오브젝트는 폐기되는 일 없이 오브젝트 버퍼, 그래픽스 플레인 상에서 존속한다.
좌측 눈 용과 우측 눈 용은 STC 시퀀스에서의 재생시간 축의 동일 시점에 이들 디스플레이 세트의 시점?종점을 할당되어 있다. 그리고 좌측 눈 용 PG스트림과 우측 눈 용 PG스트림은 시간 축 상의 같은 시점에 존재하는 디스플레이 세트의 유형은 동일하게 되어 있다. 즉 좌측 눈 용 측의 디스플레이 세트가 에포크 스타트의 디스플레이 세트이면 STC 시퀀스의 시간 축에서 동일 시점의 우측 눈 용 측의 디스플레이 세트는 에포크 스타트의 디스플레이 세트가 된다.
또, 좌측 눈 용 측의 디스플레이 세트가 애커지션 포인트의 디스플레이 세트이면 STC 시퀀스의 시간 축에서 동일 시점의 우측 눈 용 측의 애커지션 포인트의 디스플레이 세트도 에포크 스타트의 디스플레이 세트가 된다.
각 디스플레이 세트는 복수의 기능 세그먼트를 포함한다. 이 복수의 기능 세그먼트에는 이하의 것이 있다.
(1) 오브젝트 정의 세그먼트
오브젝트 정의 세그먼트는 그래픽스 오브젝트를 정의하는 기능 세그먼트이다. 그래픽스 정의 세그먼트는 코드값과 그 코드값의 런랭스를 이용함으로써 그래픽스 오브젝트를 정의하고 있다.
(2) 팰릿 정의 세그먼트
팰릿 정의 세그먼트는 각 코드값과 휘도, 적색 차?청색 차의 대응관계를 나타낸 팰릿데이터를 포함한다. 좌측 눈 용 그래픽스 스트림의 팰릿 정의 세그먼트와 우측 눈 용 그래픽스 스트림의 팰릿 정의 세그먼트는 코드값과 휘도 및 색 차와의 대응관계가 동일한 내용으로 설정되어 있다.
(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스트림에서의 파이프라인은 그래픽스 디코더 있는 디스플레이 세트에 속하는 오브젝트 정의 세그먼트를 디코드해 그래픽스 오브젝트를 오브젝트 버퍼에 기입하는 처리와 선행하는 디스플레이 세트에 속하는 오브젝트 정의 세그먼트를 디코드함으로써 얻은 그래픽스 오브젝트를 오브젝트 버퍼로부터 플레인 메모리에 기입하는 처리를 동시에 실행함으로써 이루어진다.
도 17은 PG 디코더의 내부 구성을 나타낸다. 동 도면 (a)는 1 plane+Offset 모드 방식으로 표시하기 위한 디코더 모델이다. 동 도면 (b)는 LR방식의 데이터를 표시하는 경우의 디코더 모델이다.
본 도면에서 PG 디코더의 본체에 해당하는 부분은 검은 프레임으로 둘러싸고, 그래픽스 디코더 후단에 해당하는 부분은 일점 쇄선으로 둘러싸고 있다.
동 도면 (a)에서는 PG 디코더는 1 디코더 구성으로 되어 있고, 그래픽스 플레인도 1 플레인 구성으로 되어 있다. 그러나 그래픽스 플레인의 출력이 좌측 눈 용, 우측 눈 용의 각각으로 나누어져 있고, 개개의 좌측 눈 용 출력, 우측 눈 용 출력에 대하여 시프트부가 부가된다.
동 도면 (b)에서는 트랜스포트 버퍼 - 그래픽스 디코더 - 그래픽스 플레인 - CLUT부가 2세트 존재하고 있고, 좌측 눈 용 스트림, 우측 눈 용 스트림을 각각 독립적으로 처리할 수 있다.
오프셋 시퀀스는 우측 눈 용 비디오 스트림에 포함되어 있으므로 플레인 오프셋 형식에서는 그래픽스 디코더는 1 디코더 구성이 되고, 이 1개의 그래픽스 디코더의 출력이 좌측 눈 용과 우측 눈 용으로 전환할 수 있다.
PG 디코더의 2D/3D 전환시의 동작은 이하와 같다.
1. 1plane+Offset 모드와 2D모드의 상호 전환시는 심리스로 전환할 수 있다. 이것은 Offset을 무효화함으로써 이루어진다.
2. 3D-LR모드와 2D모드에서는 PID 전환이 수반되므로 일단 자막이 사라진다. 이것은 스트림 전환과 동일하다.
이상이 PG 디코더에 대한 설명이다. 이어서, 텍스트 자막 디코더의 상세에 대하여 설명한다.
?텍스트 자막 디코더의 디코더 모델
텍스트 자막 스트림은 복수의 자막 기술 데이터로 구성된다.
텍스트 자막 디코더는 자막 기술 데이터로부터 텍스트 코드와 제어정보를 분리하는 「자막 프로세서」와, 자막 기술 데이터로부터 분리된 텍스트 코드를 저장하는 「관리정보 버퍼」와, 폰트 데이터를 이용하여 관리정보 버퍼 내의 텍스트 코드를 비트 맵에 전개하는 「텍스트 렌더」와, 전개에 의해 얻어진 비트 맵을 저장하는 「오브젝트 버퍼」와, 자막 기술 데이터로부터 분리된 제어정보를 이용하여 시간 축에 따른 텍스트 자막 재생의 제어를 실행하는 「묘사 제어부」를 포함한다.
텍스트 자막 디코더의 전단에는 폰트 데이터의 프리로드를 실행하는 「폰트 프리로드 버퍼」, 텍스트 자막 스트림을 구성하는 TS패킷의 입력 속도를 조정하는 「TS버퍼」, 플레이아이템의 재생에 앞서 텍스트 자막 스트림을 프리로드 해 두기 위한 「자막 프리로드 버퍼」가 존재한다.
그래픽스 디코더의 후단에는 「그래픽스 플레인」과 팰릿 정의 세그먼트에 의거하여 그래픽스 플레인에 저장된 그래픽스 오브젝트를 구성하는 화소 코드를 휘도?색 차이로 변환하는 「CLUT부」와, 플레인 시프트를 위한 시프트부가 존재한다.
도 18은 텍스트 자막 디코더의 내부 구성을 나타낸다. 동 도면 (a)는 1 plane+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부」와, 플레인 시프트를 위한 「시프트부」가 존재한다.
도 19는 IG 디코더의 디코더 모델을 나타낸다. 본 도면에서는 IG 디코더 본체에 해당하는 부분은 검은 프레임으로 둘러싸고, 그래픽스 디코더 후단에 해당하는 부분은 일점 쇄선으로 둘러싸고 있다. IG 디코더의 전단에 해당하는 부분은 점선 프레임으로 둘러싸고 있다. 도 19 (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부, 시프트부 외에 레이어 합성을 실현하기 위하여 개개의 화소 값에 등가율을 곱셈하기 위한 곱셈부, 화소끼리의 가산을 실행하기 위한 가산부를 포함한다.
도 20은 디코더 모델의 출력을 합성하여 3D-LR 방식으로 출력하기 위한 회로구성을 나타낸다. 비디오 플레인, PG 플레인, IG 플레인의 레이어 모델은 검은 프레임으로 둘러싸고, 플레인 메모리의 후단에 해당하는 부분은 일점 쇄선으로 둘러싸고 있다. 본 도면으로부터도 명백한 것과 같이, 상술한 것과 같은 레이어 모델은 2세트 존재하고 있음을 알 수 있다. 또, 플레인 메모리의 후단에 해당하는 부위도 2세트 존재하고 있음을 알 수 있다.
레이어 모델, 플레인 메모리의 후단이 2세트 존재함으로써 3D-LR 방식에서의 플레인 메모리 구성은 비디오 플레인, PG 플레인, IG 플레인의 각각이 좌측 눈 용과 우측 눈 용으로 나누어져 있고, 이러한 플레인 메모리의 출력을 레이어 합성을 좌측 눈 용, 우측 눈 용의 각각에 대하여 실행하도록 되어 있다.
도 21은 이들 디코더 모델의 출력을 합성하여, 1plane+Offset 모드 방식으로 출력하기 위한 회로구성을 나타내고 있다.
좌측 눈 비디오 플레인, 우측 눈 비디오 플레인, PG 플레인, IG 플레인의 레이어 모델은 검은 프레임으로 둘러싸고, 플레인 메모리의 후단에 해당하는 부분은 일점 쇄선으로 둘러싸고 있다. 본 도면으로부터도 명백한 것과 같이, 상술한 것과 같은 레이어 모델은 1세트만이 존재하고 있음을 알 수 있다. 또, 플레인 메모리의 후단에 해당하는 부위는 2세트 존재하고 있다.
1plane+Offset 모드 방식에서는 비디오 플레인은 좌측 눈 용의 것과 우측 눈 용의 것이 준비되어 있다. PG 플레인, IG 플레인에 대해서는 좌측 눈 용, 우측 눈 용의 각각으로 나누어져 있지 않고, 좌측 눈 용, 우측 눈 용에서 공통의 1매의 플레인 메모리만이 존재한다. 그리고, 이들 좌측 눈 용 출력, 우측 눈 용 출력의 각각에 대하여 상술한 것과 같은 레이어 합성이 이루어지게 되어 있다.
도 22는 디코더 모델의 출력을 합성하여 상단 측 2D자막 재생 모드 방식 및 하단 측 2D자막 재생 모드 방식으로 출력하기 위한 회로구성을 나타낸다.
상단 측 2D자막 재생 모드 방식 및 하단 측 2D자막 재생 모드 방식에서는 비디오 플레인은 좌측 눈 용의 것과 우측 눈 용의 것이 준비되어 있다. PG 플레인, IG 플레인에 대해서는 좌측 눈 용, 우측 눈 용의 각각으로 나누어져 있지 않고, 좌측 눈 용, 우측 눈 용에서 공통의 1매의 플레인 메모리만이 존재한다. 그리고 좌측 눈 용, 우측 눈 용의 각각의 비디오 플레인에 대하여 후술하는 재생장치의 비디오 시프트 모드를 나타내는 레지스터(PSR32)의 설정에 따라 상 방향 또는 하 방향으로 131 픽셀만 화소가 시프트 된 후, PG 플레인의 좌측 눈 용 출력, 우측 눈 용 출력의 각각이 레이어 합성되게 되어 있다.
재생장치는 B-D프레젠테이션 모드, 1plane+Offset 모드, 상단 측 2D자막 재생 모드 방식 및 하단 측 2D자막 재생 모드의 전부를 지원할 필요가 있으므로 재생장치의 하드웨어 구성으로는 기본적으로 2 디코더+2 플레인의 구성이 되어 있고, 1plane+Offset 모드, 2D 출력 모드, 상단 측 2D자막 재생 모드 방식 및 하단 측 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 시스템이나 스테레오, 앰프 등의 홈시어터 시스템의 기기와 접속된 때에 접속상대가 되는 기기와의 네고시에이션에 의해 판명된 상대 측 기기의 캐퍼빌리티가 플레이어설정 레지스터에 설정된다.
도 23은 레지스터세트(203)의 내부 구성과 재생제어부를 나타내는 도면이다.
본 도면의 좌측에는 레지스터세트(203)의 내부 구성을 나타내고 있다. 우측에는 재생제어부의 내부 구성을 나타내고 있다.
각각의 레지스터 번호가 할당된 플레이어 상태 레지스터, 플레이어설정 레지스터는 어떤 것인가를 나타낸다.
PSR0은 IG 스트림을 위한 스트림 번호 레지스터이며, 현재의 IG 스트림 번호를 저장한다.
PSR2는 PG 스트림을 위한 스트림 번호 레지스터이며, 현재의 PG 스트림 번호를 저장한다.
PSR24는 「Player Capability for 3D」의 설정이다. 이것은 재생장치에 입체 시 재생을 실행하는 능력이 존재하는가 여부를 나타낸다.
한편, 재생제어부는 레지스터세트(203)에서의 PSR24와 메모리에서의 현재 플레이리스트정보의 스트림 선택테이블을 참조하여 현재 플레이리스트에서의 현재 PG 스트림 번호, 현재 IG 스트림 번호를 고유하게 정하는 스트림 선택 프로시저가 존재한다. 이 스트림 선택 프로시저는 「Initialization」, 「Procedure when playback condition changed」가 존재한다.
도 24는 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로 설정되는 것을 방지할 수 있다.
이상의 재생제어는 도 26에서 도 32까지의 플로차트에 나타낸 처리순서를 오브젝트 지향형 컴파일러언어로 기술하여 컴퓨터에 실행시킴으로써 실현될 수 있다.
도 26은 플레이리스트 재생순서를 나타낸다. 본 플로차트는 스텝 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를 이용하여 선택된다.
도 27은 PGtestST 스트림에 대한 Procedure when playback condition is changed에 대한 처리순서를 나타내는 플로차트이다. 본 플로차트 중 스텝 S11~스텝 S22의 처리는 3D 출력 모드 및 2D 출력 모드의 공통 처리가 된다. 스텝 S23~스텝 S28이 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~스텝 S28은 3D 출력 모드 특유의 처리이다. 구체적으로는 3D 출력 모드에서는 먼저 상하단 재생타입 결정 처리가 실행된다(스텝 S23). 상하단 재생타입 결정 처리에서 재생타입이 상단 측 2D자막 재생 및 하단 측 2D자막 재생의 어느 하나의 타입으로 설정되지 않은 경우(스텝 S24:No), PSR2의 PG스트림 번호에 의해 특정되는 PG스트림의 is_SS_PG를 확장 스트림 선택테이블에서의 스트림 등록정보로부터 취득하고(스텝 S25), 취득한 is_SS_PG 플래그가 "1"이고, 또한 PSR24에서의 b2의 입체 시 PG캐퍼빌리티가 "1"인가 여부를 판정한다(스텝 S26). 스텝 S26이 Yes이면 재생타입을 좌측 눈 PG스트림 및 우측 눈 PG스트림을 이용하는 입체 시 PG로 한다(스텝 S27).
재생타입을 입체 시 PG로 한 경우 확장 스트림 선택테이블에서의 복수의 스트림 등록정보 중 PSR2에 저장된 현재 스트림의 스트림 번호에 대응하는 것의 우측 눈 스트림 엔트리 및 좌측 눈 스트림 엔트리 내의 패킷 식별자 레퍼런스를 이용하여 입체 시 재생을 실행한다. 구체적으로는 PSR2에 저장된 현재 스트림의 스트림 번호에 대응하는 것의 우측 눈 스트림 엔트리 및 좌측 눈 스트림 엔트리 내의 패킷 식별자 레퍼런스로 지시되고 있는 패킷 식별자의 TS 패킷의 다중 분리를 다중 분리부에 실행하게 한다.
스텝 S26이 No이면 재생타입을 1plane+OffsetPG로 한다(스텝 S28). 재생타입을 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에 대한 설명이다.
도 28은 상하단 재생타입 결정 처리순서를 나타내는 플로차트이다.
상하단 재생타입 결정 처리에서는 PSR2의 PG스트림 번호에 의해 특정되는 PG스트림의 video_shift_mode를 확장 스트림 선택테이블에서의 스트림 등록 정보로부터 취득하고(스텝 S101), 취득한 video_shift_mode가 "Down"이고, 또한 PSR32에서의 재생장치의 비디오 시프트 모드가 "Down"인가 여부를 판정한다(스텝 S102).
스텝 S102가 Yes이면 재생타입을 상단 측 2D자막 재생으로 한다(스텝 S103). 재생타입을 상단 측 2D자막 재생으로 한 경우, 상단 측 2D자막 재생 모드에서의 PG재생을 실행한다. 구체적으로는 PSR2에 저장된 현재 스트림의 스트림 번호에 대응하는 스트림 엔트리 내의 패킷 식별자 레퍼런스로 지시되고 있는 패킷 식별자의 TS패킷의 다중분리를 다중분리부에 실시하게 하는 동시에, 시프트부에 우측 눈 용 및 좌측 눈 용의 비디오 플레인에 저장되어 있는 픽쳐 데이터를 131 픽셀 하 방향으로 시프트시킨다.
스텝 S102가 No이면 스텝 S101에서 취득한 video_shift_mode가 "Up"이고, 또한 PSR32에서의 재생장치의 비디오 시프트 모드가 "Up"인가 여부를 판정한다(스텝 S104). 스텝 S104가 Yes이면 재생타입을 하단 측 2D자막 재생으로 한다(스텝 S105). 재생타입을 하단 측 2D자막 재생으로 한 경우, 하단 측 2D자막 재생 모드에서의 PG재생을 실행한다. 하단 측 2D자막 재생 모드에서는 시프트부에 우측 눈 용 및 좌측 눈 용의 비디오 플레인에 저장되어 있는 픽쳐 데이터를 131 픽셀 상 방향으로 시프트시킨다.
이상이 상하단 재생타입 결정 처리에 대한 설명이다.
도 29는 현재 플레이아이템에 대해서 최적인 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_텍스트 자막 스트림의 선택 순서에 대한 설명이다.
도 30은 세트 입체 시 스트림 커멘드(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_텍스트 자막 스트림의 선택은 도 29에 나타낸 것 것과 동일하다.
이후의 스텝 S52~스텝 S57은 3D출력 모드 특유의 처리이다. 구체적으로는 상하단 재생 타입 결정 처리가 실행된다(스텝 S52). 상하단 재생 타입 결정 처리에서 재생 타입이 상단 측 2D자막 재생 및 하단 측 2D자막 재생의 어느 쪽의 타입으로 설정되지 않은 경우(스텝 S53:No), PG스트림 번호 X에 의해서 특정되는 PG스트림 X의 is_SS_PG를 확장 스트림 선택 테이블에서의 스트림 등록 정보로부터 취득하고(스텝 S54), 취득한 is_SS_PG플래그가 "1"이고, 또한 PSR24에서의 입체시 PG 케이퍼빌리티가 "1"인가 여부를 판정한다(스텝 S55). 스텝 S55가 Yes이면 재생 타입을 입체시 PG로 한다(스텝 S56). 스텝 S55가 No이면 재생 타입을 1plane+Offset으로 한다(스텝 S57).
도 31은 세트 스트림 커멘드, 또는 스트림 번호 변경을 요구하는 사용자조작에 의해 스트림 변화가 요구된 경우에 실행해야 할 Procedure when stream change is requested의 처리순서를 나타내는 플로차트이다. 본 플로차트에서는 스텝 S58에서 세트 스트림 커멘드의 오퍼랜드로 지정된 스트림 번호, 또는 스트림 번호 변경을 요구하는 사용자조작으로 지정된 스트림 번호를 번호 X에 설정한 후에 스텝 S41~스텝 S57의 처리를 실행한다. 이 스텝 S41~스텝 S57의 처리내용은 도 30과 동일한 것이므로 동일한 참조부호를 부여하고 그 설명을 생략한다.
<현재 IG 스트림의 결정 및 현재 IG 스트림의 재생타입 결정>
PSR0의 IG 스트림 번호에 의해 참조되는 IG 스트림은 PSR22에서의 출력 모드와 PSR24에서의 입체 시 PG 캐퍼빌리티와 is_SS_IG를 이용하여 선택된다.
도 32는 현재 IG 스트림의 결정 및 현재 IG 스트림의 재생타입 결정의 처리순서를 나타내는 플로차트이다.
도 32 (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). 만약 PSR1의 값이 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 레퍼런스 정보에 의해 지시되고 있는 오프셋 시퀀스를 비디오 디코더로부터 인출하고 시프트부에 공급한다.
도 32 (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).
도 33은 결합 스트림 등록 열에 의해 어떤 패킷 식별자가 다중 분리부에 출력되는가를 나타낸다.
동 도면 (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 패킷이 디코더에 출력되게 된다.
(c)는 언어설정이 중국어이며, 재생타입이 입체시 PG로 설정된 재생장치에 이러한 결합 스트림 등록 열이 공급되었을 경우의 스트림 번호의 설정과 패킷 식별자의 출력을 나타낸다.
도면 중의 a4, a5, a6을 부여한 화살표는 언어설정의 일치 판정, 스트림 번호 레지스터에 대한 스트림 번호의 설정, 다중 분리부로의 패킷 식별자의 출력을 모식적으로 나타낸 것이다.
스트림 선택 프로시저에서 스트림 번호=3의 스트림 등록정보에서 재생장치 측의 언어설정과 스트림 속성의 일치가 판정되고, 이 스트림 번호=3의 스트림 등록정보에 포함되는 스트림 번호가 스트림 번호 레지스터에 기입된다. 이때, 기본 스트림 선택테이블에서의 스트림 엔트리에서의 패킷 식별자가 다중 분리부에 출력된다. 이렇게 함으로써 확장 스트림 선택테이블에서의 스트림 번호=3의 스트림 등록정보에서의 스트림 엔트리에 저장된 패킷 식별자의 세트에 의해 특정되는 2 계통의 TS 패킷이 디코더에 출력되게 된다.
도 34는 결합 스트림 등록 열에 의해 어떤 패킷 식별자가 다중 분리부에 출력되는가를 나타낸다.
동 도면 (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 패킷이 디코더에 출력되게 된다.
이상과 같이 본 실시형태에 의하면, 자막의 표시영역 확보를 규정하는 비디오 시프트 모드가 스트림 번호에 대응되어서 확장 스트림 선택테이블에 기재되어 있으므로 재생구간의 변화시나 스트림 변경요구의 발생시에 스트림 선택 프로시저가 실행되고, 새로운 스트림 번호가 스트림 번호 레지스터에 설정된 경우, 그 새로운 스트림 번호에 대응한 비디오 시프트 모드가 재생장치에 제공되게 된다. 이와 같이 함으로써 어느 재생구간에서는 상단에 자막의 표시영역이 확보되고, 다른 재생구간에서는 하단에 자막의 표시영역이 확보되는 제어를 실현할 수 있다.
특히 영화작품의 영상에서는 시네마스코프 사이즈(1:2.35)의 어스펙트 비가 일반적이고, BD-ROM 등의 광디스크에 영상을 저장하는 경우에는 어스펙트 비는 변경하지 않고 본편 영상을 16:9의 HD영상의 중앙에 배치하고, 화면 상하에 검은 테두리를 삽입하는 것이 일반적이다. 따라서, 상기 구성에 의하면 본편 영상의 상하에 있는 검은 테두리를 비디오 플레인의 상단 또는 하단에 모은 넓은 자막 표시영역에 자막을 표시하는 것이 가능해지므로 화면의 이용효율을 향상시킬 수 있어서 입체 시 효과를 향상시킬 수 있다.
(변형 예)
본 실시의 형태의 변형 예로 픽쳐 데이터와 자막을 합성할 때, 비디오 플레인 메모리에 저장된 픽쳐 데이터뿐만 아니라 PG 플레인 메모리에 저장된 자막에 대해서도 상 방향 또는 하 방향으로 시프트시키는 방법에 대하여 설명한다.
도 35는 본 변형 예에 관한 확장 스트림 선택테이블의 스트림 등록 열을 나타낸다. 동 도면 (b)는 PG스트림의 스트림 등록 열의 내부 구성을 나타낸다.
본 변형 예에서는 PG스트림의 스트림 등록정보에 「비디오가 위로 이동할 때의 PG시프트 값(PG_v_shift_value_for_Up)」 및 「비디오가 아래로 이동할 때의 PG시프트 값(PG_v_shift_value_for_Down)」가 추가되어 있다.
「비디오가 위로 이동할 때의 PG시프트 값(PG_v_shift_value_for_Up)」은 비디오 시프트 모드가 "Up"로 설정되어 있고, 비디오 플레인의 하단에 PG_텍스트 자막 스트림의 자막 표시영역을 확보하는 경우에 PG 플레인 메모리에 저장되어 있는 자막데이터를 아래 방향으로 시프트시키는 시프트량이다.
「비디오가 아래로 이동할 때의 PG시프트 값(PG_v_shift_value_for_Down)」은 비디오 시프트 모드가 "Down"으로 설정되어 있고, 비디오 플레인의 상단에 PG_텍스트 자막 스트림의 자막 표시영역을 확보하는 경우에 PG 플레인 메모리에 저장되어 있는 자막데이터를 상 방향으로 시프트시키는 시프트량이다.
이들 값은 도 37에 나타낸 PSR33로 설정된다. PSR33에는 플레인마다 비디오가 상 방향으로 시프트하는 경우의 플레인 시프트량과 비디오가 하 방향으로 시프트 하는 경우의 플레인 시프트량이 준비되어 있다. 예를 들어, PG 플레인에는 PG_shift_value_for_UP, PG_shift_value_for_Down가 준비되어 있다. 이값은 스트림 전환에 의해 선택된 현재의 PG스트림에 대한 PG_v_shift_value_for_Up, PG_v_shift_value_for_Down이 확장 스트림 선택테이블에서의 스트림 등록정보로부터 취득되어서 설정된다.
도 36은 디코더 모델의 출력을 합성하고, 상단 측 2D자막 재생 모드 방식 및 하단 측 2D자막 재생 모드 방식으로 출력하기 위한 회로구성을 나타낸다. 본 변형 예에서 상단 측 2D자막 재생 모드 방식 및 하단 측 2D자막 재생 모드 방식에서는 좌측 눈 용, 우측 눈 용의 각각의 비디오 플레인에 대하여 PSR32의 설정에 따라 상 방향 또는 하 방향으로 131 픽셀만큼 화소가 시프트되는 동시에, PG 플레인의 좌측 눈 용 출력, 우측 눈 용 출력의 각각에 대해서도 PSR33에 설정된 PG_ shift_value_for_Up 또는 PG_ shift_value_for_Down의 값에 따라 화소가 하 방향 또는 상 방향으로 시프트되어서 각각이 레이어 합성되게 되어 있다.
구체적으로는 PSR32의 video_shift_mode가 Up으로 설정되어 있는 경우, 도 38(a)에 나타내는 것과 같이, 비디오 플레인 메모리로부터 출력되는 픽쳐가 상 방향으로 131 픽셀만큼 시프트되고, PG 플레인으로부터 출력되는 자막이 PSR33의 PG_ shift_value_for_Up으로 설정된 픽셀 수만큼 하 방향으로 시프트되며, 이것들이 레이어 합성된다. 한편, PSR32의 video_shift_mode가 Down으로 설정되어 있는 경우, 도 38(b)에 나타내는 것과 같이, 비디오 플레인 메모리로부터 출력되는 픽쳐가 하 방향으로 131 픽셀만큼 시프트되고, PG 플레인으로부터 출력되는 자막이 PSR33의 PG_shift_value_for_Down으로 설정된 픽셀 수만큼 하 방향으로 시프트되며, 이것들이 레이어 합성된다.
이때, 본 변형 예에서는 도 39에 나타내는 것과 같이 video_shift_mode가 Up, Down의 경우에는 플레인을 시프트함으로써 절취되는 영역이 발생하므로, 절취되는 영역에 자막데이터가 존재하지 않게 제약하면 좋다. 즉, 도 39의 우측에 나타내는 것과 같이, 점선으로 둘러싸인 영역 이외는 절취될 가능성이 있으므로 여기에서는 자막데이터가 표시되지 않도록 PG의 표시 위치를 제약한다. 영역의 좌표는 (0,PG_v_shfit_value_for_Down), (0,height+PG_v_sfhit_value_for_Up), (width, PG_v_shfit_value_for_Down), (width,height+PG_v_sfhit_value_for_Up)로 나타낸다. 예를 들어 PG_v_sfhit_value_for_Up이 ?a, 예를 들어 PG_v_sfhit_value_for_Down이 +b로 하면, 영역은 (0,b), (0,height-a), (width,b), (width,height-a)된다. PG의 제약으로는 표시 위치가 상기 영역을 넘지 않을 것, 표시 위치에 표시하는 오브젝트의 사이즈를 부가한 것이 상기 영역을 넘지 않을 것, 윈도의 표시 위치가 상기 영역을 넘지 않을 것, 윈도의 표시 위치에 윈도 사이즈를 부가한 것이 상기 영역을 넘지 않을 것, 등이 있다. 이와 같이 제약함으로써 자막이 빠져서 표시되는 것을 방지할 수 있다.
(제 2 실시형태)
다음에 본 발명의 제 2 실시형태에 대하여 설명한다.
본 실시형태에서는 2D/3D 재생장치에 접속되는 텔레비전의 화면사이즈에 따라 적절한 깊이를 갖는 3D 영상을 실현하기 위한 방법에 대하여 설명한다.
시차 화상을 이용하는 3D 영상의 경우에는 도 40의 좌측에 나타내는 것과 같이 화면사이즈가 3D 영상의 깊이감에 영향을 미친다. 이는 좌측 눈 용 영상과 우측 눈 용 영상의 차분치가 텔레비전 화면의 사이즈에 의해 변화하기 때문이다. 예를 들어, 도 40의 좌측에 기재한 것과 같이 50 인치에 최적인 깊이를 얻을 수 있도록 좌측 눈 용 영상과 우측 눈 용 영상을 작성한 경우, 50 인치에서는 최적의 시청이 가능하지만 50 인치보다 작은 텔레비전에서는 좌측 눈 용 영상과 우측 눈 용 영상의 차분치가 작아지므로 박력이 없는 깊이감이 없는 영상이 되어 버린다. 반대로 50 인치보다 큰 텔레비전에서는 좌측 눈 용 영상과 우측 눈 용 영상의 차분치가 지나치게 커져서 눈이 지치는 요인이 되어 버린다. 이에, 도 40의 우측에 기재한 것과 같이 텔레비전에 출력하는 좌측 눈 용 플레인과 우측 눈 용 플레인에 대하여 화면사이즈를 보정하기 위한 오프셋 값을 적용하는 것이 바람직하다.
예를 들어, 도 40과 같이 50 인치에 최적화되어 있는 경우에는 32 인치의 경우는 깊이감을 늘리는 방향으로 오프셋 값을 부여하여 텔레비전에 출력하고, 100 인치의 경우는 깊이감을 줄이는 방향으로 오프셋 값을 부여하여 텔레비전에 출력한다. 또, 플레인에 오프셋 값을 부여한다는 것은 플레인에 대하여 1 플레인+오프셋 방식과 마찬가지로, 플레이어로부터 출력되는 최종 플레인을 오프셋 값에 의해 수평 방향으로 시프트하고, 크로핑하는 것을 의미한다. 이 최종적인 플레이어의 출력 플레인에 대해서 적용하는 오프셋 값을 출력 오프셋 보정 값으로 한다. 이후에 구체적인 방법에 대해서 설명한다.
먼저, 데이터구조에 대하여 설명한다. 데이터구조의 기본 부분은 지금까지의 실시의 형태에서 설명한 3D 영상을 저장하기 위한 데이터구조와 동일하므로 확장 또는 다른 부분을 중심으로 설명한다.
인덱스 파일, 플레이리스트 파일, AV스트림 정보 파일 등의 파일에 도 41 (a)에 기재한 것과 같은 테이블이 저장되어 있다. 이 테이블에는 텔레비전의 인치 수와 출력 오프셋 보정 값이 쌍으로 된 화면사이즈정보가 복수 등록되어 있다. 또,도 41 (a)에서는 인치 수는 10 인치마다 구분되어 있으나, 몇 인치마다 구분할지는 소정의 규격 등에 의해 결정되어도 좋고, 사용자가 설정할 수 있도록 해도 좋다. 또, 도 41 (a)과 같은 테이블이 규격으로 몇 개 준비되고, 인덱스 파일, 플레이리스트 파일, AV스트림 정보 파일 등에는 그 테이블의 참조 ID만이 등록되어 있는 것으로 해도 좋다. 또, 도 41 (b)에 나타내는 것과 같이, 인치 수에 따라 출력 오프셋 값이 결정되는 함수가 준비되어 있어도 좋다.
또, 텔레비전의 인치 수와 출력 오프셋 보정 값이 쌍의 테이블 외에, 해당 콘텐츠가 몇 인치를 타깃으로 만들어졌는가를 나타내는 최적 TV 사이즈(assumed_TV_size_when authoring)의 값을 넣어도 좋다. 이값을 사용함으로써 다양한 보정 처리가 가능하다. 예를 들어, 최적의 사이즈 이상의 텔레비전으로 표시하는 경우에는 도 42에 나타내는 것과 같이, 그 최적인 사이즈로 영상을 화면 중앙에 표시시키고, 사선으로 나타내는 주위의 영역에는 검은 테두리를 표시하는 등의 처리를 실행할 수 있다.
다음에, 본 실시의 형태에 관한 재생장치에 대하여 설명한다. 재생장치는 도 43에 나타내는 것과 같이, 출력 오프셋 보정 값이 저장되는 시스템 파라미터 PSR35와 출력 오프셋 보정 값 적용부를 갖는다. PSR35에는 재생제어부에 의해 HDMI 케이블등을 통해서 접속하는 텔레비전의 화면사이즈(인치 수)가 취득되고, 이 화면사이즈에 대응하는 출력 오프셋 보정 값이 도 41에서 설명한 테이블을 바탕으로 특정되어서 저장된다. 출력 오프셋 보정 값 적용부는 PSR35의 값을 참조하여 플레인 가산부에서 합성된 좌측 눈 영상과 우측 눈 영상의 플레인에 대하여 PSR35의 값으로 오프셋을 인가한다.
또, PSR35에는 출력 오프셋 보정 값을 저장한다고 했지만, PSR35에는 화면사이즈를 저장하고, 출력 오프셋 보정 값 적용부가 도 41에서 설명한 테이블을 참조하여 출력 오프셋 보정 값을 특정해도 좋다.
또, 보는 사람에 따라 출력 오프셋 보정 값을 조정하도록 해도 좋다. 예를 들어, 어린 아이의 경우, 좌우의 눈의 간격이 좁으므로 좌측 눈 영상과 우측 눈 영상의 차분치는 작은 편이 바람직하다. 이에, 출력 오프셋 보정 값을 보정하기 위한 「출력 오프셋 보정 값 알파」를 준비한다. 출력 오프셋 보정 값 적용부는 출력 오프셋 보정 값에 「출력 오프셋 보정 값 알파」를 곱한 값으로 오프셋 보정 처리를 실행한다. 구체적으로는 도 44에 기재한 것과 같은 구성으로 실현된다. 도 44에는 출력 오프셋 보정 값 알파의 값을 저장하는 PSR36가 준비되어 있다. 재생제어부 또는 프로그램 실행 수단은 PSR36에 메뉴 화면이나 플레이어의 OSD 화면 등을 통해서 값을 설정한다. 예를 들어, 아이의 시청용으로 깊이를 약하게 하고 싶은 경우에는 1보다 큰 값을 설정하면 깊이를 약하게 할 수 있다. 출력 오프셋 보정 값 적용부는 PSR35와 PSR36을 참조하여 출력 오프셋 보정 값과 출력 오프셋 보정 값 알파의 값을 곱한 값으로 플레인에 대하여 오프셋을 적용한다. 이와 같이 함으로써 사용자의 취향에 맞춰서 깊이감을 조정할 수 있다.
또, 「출력 오프셋 보정 값 알파」의 값은 BD 프로그램에 의한 메뉴 화면에서 3D의 깊이에 대하여 「약하다」 「보통」 「강하다」의 모드에서 선택하여 설정하도록 메뉴를 구성해도 좋다.
또, 「출력 오프셋 보정 값 알파」는 비디오 스트림의 SEI 메시지, PMT 패킷의 디스크립터, 플레이아이템마다 등에 저장하여 장면에 따라 값을 바꾸도록 해도 괜찮다. 이에 의하여, 깊이가 큰 장면에서는 「출력 오프셋 보정 값 알파」를 크게 하는 등의 대응을 할 수 있다.
또, 본 실시의 형태에서는 텔레비전의 화면사이즈에 따라 출력 오프셋량 보정 값을 바꾸는 것으로 했지만, 시청 거리에 따라 출력 오프셋 보정 값이나 출력 오프셋 보정 값 알파를 바꾸도록 해도 좋다. 이 경우에는 3D시청에 이용하는 안경이 화면과의 거리를 계측하여 그 거리를 텔레비전이 취득하고, 텔레비전으로부터 재생장치에 HDMI 케이블 경유로 통지하도록 해도 좋다.
또, 본 실시의 형태에서는 텔레비전의 화면사이즈에 따라 출력 오프셋량 보정 값을 바꾸는 것으로 했지만 프로젝터에서는 화면사이즈를 알 수 없으므로 프로젝터는 다음과 같이 텔레비전 사이즈를 측정해도 좋다. 1번째의 방법은 프로젝터로부터 스크린에 적외선 등의 레이저를 출력하고, 스크린으로부터의 플래시백에 의해 거리를 계측하고, 렌즈의 광학계 파라미터로부터 화면사이즈를 계산해도 좋다. 다른 하나의 방법은 프로젝터인 사이즈의 「선분」을 표시하고, 스크린에 투영된 그 선분의 길이를 사용자가 계측하여 프로젝터의 OSD를 통해서 그 계측한 선분의 길이를 입력하도록 해도 좋다. 스크린에 투영된 선분의 크기에 따라 프로젝터는 화면사이즈를 계산할 수 있다.
이상과 같이 본 실시형태에 의하면, 영상을 표시하는 화면사이즈에 따라 좌측 눈 용 영상과 우측 눈 용 영상의 차분치를 변화시키는 오프셋 처리를 실시함으로써 화면사이즈에 따른 최적의 입체 시 효과를 얻을 수 있도록 한다.
(제 3 실시형태)
본 실시형태에서는 입체 시 인터리브드 스트림 파일의 내부 구조에 대한 개량이다.
전제사항으로 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)에 의해 식별된다.
도 45는 익스텐트와 파일 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의 머리글자를 취한 것이며, 입체 시 재생을 위하여 인터리브 형식으로 되어 있는 것을 나타낸다.
여기서, 파일 베이스를 구성하는 익스텐트와 파일 디펜던트를 구성하는 익스텐트의 세트로, 동일한 익스텐트 식별자로 특정되는 것을 "인터리브 익스텐트 유닛"이라고 한다. 이 도 45의 예에서 익스텐트 식별자=i로 특정되는 EXT1[i]와 EXT2[i]의 쌍이 인터리브 익스텐트 유닛[i]이 되고, 익스텐트 식별자=i+1로 특정되는 EXT1[i+1]와 EXT2[i+1]의 쌍이 인터리브 익스텐트 유닛[i+1]이 된다. 입체 시 인터리브드 스트림 파일에 대한 랜덤 액세스시에는 이 익스텐트 식별자로 특정되는 인터리브 익스텐트 유닛이 한 번에 기록매체로부터 판독되는 것을 보장하지 않으면 안 된다.
도 46은 입체 시 인터리브드 스트림 파일과 파일 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방식의 재생장치를 인식할 수 있는 것과 같은 파일 형식으로 저장되어 있다.
첫 번째 방법은 상술한 것과 같은 플레이리스트정보의 참조, 즉, 메인 TS는 2D 재생에서도 이용할 수 있도록 2D 재생 방식과 동일한 파일명을 사용하고, 인터리브 형식의 스트림 파일은 확장자를 바꾸는 방법이다. 동 도면 (b)에서의 00001.m2ts 및 00001.ssif는 일방은 2D방식, 타방은 3D방식이면서 동일한 파일명"00001"에 의해 커플링 되고 있다.
플레이리스트는 메인 TS의 AV클립 밖에 참조하지 않으므로 기존의 2D 재생장치에서는 파일 2D 밖에 재생하지 않는다. 3D대응의 재생장치는 플레이리스트는 메인 TS가 들어간 파일 2D 밖에 참조하고 있지 않지만, 동일한 식별번호를 갖고, 확장자만 다른 파일이 존재하는 경우는 그 파일을 찾아내고, 3D 영상을 위한 인터리브 형식의 스트림 파일이라고 판단하여 메인 TS와 서브 TS를 출력한다.
두 번째 방법은 폴더를 나누는 방법이다. 메인 TS는 기존의 폴더명(예:STREAM)을 갖는 폴더 내에 저장해 두지만, 서브 TS는 3D특유의 이름을 갖는 폴더(예:SSIF)에 동일한 파일명 「00001」으로 저장해 둔다. 플레이리스트가 파일을 참조할 때, 2D 재생장치에서는 「STREAM」폴더 내의 파일만을 참조하지만, 3D 재생장치의 경우는 「STREAM」와「SSIF」폴더 중에서 동일한 이름의 파일을 동시에 참조함으로써 메인 TS와 서브 TS를 관련시키는 가능해진다.
세 번째 방법은 식별번호에 의한 것이다. 파일 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/파일 베이스」라고 한다.
도 47은 입체 시 인터리브드 스트림 파일, 파일 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]가 파일 디펜던트의 익스텐트가 되는 것을 나타낸다.
도 48은 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, 파일 베이스 및 파일 디펜던트 중 어느 하나의 파일로 오픈할 수 있으므로 디코더 측에서는 입체 시 인터리브드 스트림 파일을 통상의 스트림 파일과 마찬가지로 취급할 수 있다. 따라서, 베이스 뷰 비디오 스트림, 디펜던트 뷰 비디오 스트림의 저장 방식에 적극적으로 입체 시 인터리브드 스트림 파일을 도입할 수 있다.
다음에, 클립정보파일의 상세한 내부 구조에 대하여 설명한다.
도 49는 클립정보파일의 내부 구성을 나타낸다.
동 도면 (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용의 클립정보파일은 도 49 (b)의 내부 구성으로 되어 있고, 통상의 클립정보(관리정보)인 「파일 2D용의 클립정보」외에 파일 디펜던트용의 클립정보인 「클립 디펜던트 정보(베이스 뷰 관리정보)」, 파일 베이스용의 클립정보인 「클립 베이스 정보(베이스 뷰 관리정보)」가 존재한다. 이것은 이하의 이유에 의한다. 상술한 것과 같이, 입체 시 인터리브드 스트림 파일과 통상의 스트림 파일의 혼동을 피하기 위하여 입체 시 인터리브드 스트림 파일은 스트림 파일과는 다른 디렉터리에 저장된다. 그 때문에 입체 시 인터리브드 스트림 파일에는 클립정보파일을 대응시킬 수 없다. 이에, 클립 디펜던트 정보 및 클립 베이스 정보는 파일 2D에 대응하는 클립정보파일에 저장되게 된다.
2D용의 클립정보와 클립 베이스 정보 및 클립 디펜던트 정보의 차이는 클립 베이스 정보 및 클립 디펜던트 정보의 내부에 익스텐트 스타트 포인트 열을 포함한 메타데이터가 존재하는 점이다.
동 도면 (b)에서 클립 디펜던트 정보는 익스텐트 스타트 포인트 열을 포함하고, 클립 베이스 정보도 익스텐트 스타트 포인트 열을 포함한다. 특징점 정보는 확장 엔트리 맵을 포함하고, 익스텐션 데이터는 확장 엔트리 맵을 포함한다.
3D 출력 모드에서 클립정보파일은 클립 베이스 정보 파일과 클립 디펜던트 정보 파일로 분할된다.
동 도면 (c)는 클립 베이스 정보 파일을 기초로 생성되는 클립 베이스 정보 파일을 나타낸다. 클립 베이스 정보와 기본 엔트리 맵으로 구성된다. 클립 베이스 정보는 익스텐트 스타트포인트정보를 포함한다.
동 도면 (d)는 클립 디펜던트 정보 파일은 클립 디펜던트 정보와 확장 엔트리 맵을 포함한다. 클립 디펜던트 정보는 익스텐트 스타트포인트정보를 포함한다.
클립정보파일용의 디렉터리(CLPI 디렉터리)에는 2D 출력 모드의 클립정보파일이 존재하고 있다. 클립 베이스 정보 파일은 3D 출력 모드에서 클립정보파일로부터 생성되고, 이 2D 출력 모드의 클립정보파일에 저장되어 있는 것으로 취급된다.
클립정보파일용의 디렉터리(CLPI 디렉터리)에는 더미의 클립정보파일이 존재하고 있고, 이 더미의 클립정보파일에는 파일 디펜던트에 대응하는 번호, 즉 파일 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의 서브패스를 포함하는 플레이리스트의 서브 플레이아이템에 의해 참조되는 클립정보에 저장되어서 재생장치에 공급된다.
만약 플레이아이템정보에 멀티앵글 구간을 구성하고 있고, 멀티앵글 구간이 존재한다는 것을 나타내는 플래그(flug_is_multiangle_flag)가 「온」으로 설정된 경우 익스텐트 스타트포인트정보 테이블의 쌍은 각각 앵글 ID치에 의해 참조되는 클립정보 및 서브 클립 엔트리 ID치에 의해 참조되는 클립정보에 저장되어서 재생장치에 공급된다.
클립정보파일에서의 익스텐트 스타트포인트정보 테이블의 데이터구조에 대하여 설명한다. ext_data_entry() 내의 익스텐션 데이터에서의 ID1치와 ID2치는 각각 0x0002, 0x0004로 설정되어야 한다.
익스텐트 스타트포인트정보를 갖는 클립정보파일은 이하의 2개의 조건을 만족할 필요가 있다.
(a) 서브패스 타입=8의 서브패스를 포함한 플레이리스트의 플레이아이템에 의해 참조되어야 한다.
(b) 서브패스 타입=8의 서브패스에서의 서브 플레이아이템에 의해 참조되어야 한다. 여기서, 서브패스 타입=8이란 온 디스크 타입의 Out-of-MUX 디펜던트 뷰 비디오 스트림 재생 패스를 말한다.
도 50은 클립정보파일과 플레이리스트와 입체 시 인터리브드 스트림 파일의 관계를 나타낸다. 우측은 입체 시 인터리브드 스트림 파일을 나타내고, 좌측은 클립정보파일을 나타낸다. 가운데는 제 1 단째에 파일 베이스를 나타내고, 제 2 단째에 클립 정보 파일, 제 3 단째에 3D 플레이리스트, 제 4 단째에 클립 디펜던트 정보 파일, 제 5 단째에 파일 디펜던트를 나타낸다.
화살표 bk1, bk2는 우측에서의 스트림 파일을 분할함으로써 파일 베이스, 파일 디펜던트가 얻어지는 것을 나타낸다.
좌측에서의 클립정보파일은 특징점 정보, 익스텐션 데이터, 클립 베이스 정보, 클립 디펜던트 정보를 포함한다. 화살표 bk3, bk4는 클립 베이스 정보에서의 익스텐트 스타트포인트정보, 클립 디펜던트 정보에서의 익스텐트 스타트포인트정보가 입체 시 인터리브드 스트림 파일을 분할할 수 있음을 모식적으로 나타낸다.
익스텐트 스타트포인트에 대하여 설명한다.
클립정보 파일에서의 익스텐트 스타트포인트 정보에서 ext_data_entry() 내의 익스텐션 데이터에서의 ID1치와 ID2치는 각각 0x0002, 0x0004로 설정되지 않으면 안 된다.
익스텐트 스타트포인트 정보를 갖는 클립정보 파일은 이하의 2개의 조건을 만족할 필요가 있다.
i. 서브 패스 타입=8의 서브패스를 포함하는 플레이리스트의 플레이아이템에 의해 참조되어야 한다.
ii. 서브 패스 타입=8의 서브패스에서의 서브 플레이아이템에 의해 참조되어야 한다. 여기서, 서브 패스 타입=8은 온 디스크 타입의 Out-of-MUX 디펜던트 뷰 비디오 스트림 재생패스를 말한다.
입체 시 인터리브드 스트림 파일은 2개의 클립 AV스트림(BDAV MPEG2 트랜스포트 스트림)으로 구성된다. 익스텐트 스타트포인트 정보의 쌍은 입체 시 인터리브드 스트림 파일을 2개의 AV스트림으로 분할한다. 익스텐트 스타트포인트 정보는 이하와 같이 공급된다.
(1) 익스텐트 스타트포인트 정보 테이블은 서브 패스 타입=8의 서브패스를 포함하는 플레이리스트의 플레이아이템에 의해 참조되는 클립정보에 저장되어서 재생장치에 공급된다
(2) 다른 익스텐트 스타트포인트 정보 테이블은 서브 패스 타입=8의 서브패스를 포함하는 플레이리스트의 서브 플레이아이템에 의해 참조되는 클립정보에 저장되어서 재생장치에 공급된다.
만약 플레이아이템에서의 이즈 멀티앵글 플래그(“is_multiangle” flag)가 1로 설정된 경우, 익스텐트 스타트포인트 정보 테이블의 쌍은 각각 앵글 ID치에 의해 참조되는 클립정보 및 서브 클립 엔트리 ID치에 의해 참조되는 클립정보에 저장되어서 재생장치에 공급된다.
도 51은 클립베이스정보, 클립 디펜던트 정보의 내부 구성을 나타내는 도면이다. 본 도면 (a)에 나타내는 것과 같이 클립베이스정보, 클립 디펜던트 정보는 대응하는 AV클립이 어떤 스트림의 유형에 속하는가를 나타내는 「클립 스트림 타입 정보」와, 대응하는 AV클립에 의해 구성되는 애플리케이션이 무비 애플리케이션, 타임 베이스 슬라이드 쇼 애플리케이션, 브라우저블 슬라이드 쇼 애플리케이션 등 어떤 유형에 속하는가를 나타내는 「애플리케이션 타입」과, 재생장치에서 소스 패킷이 소스 패킷 디패킷다이저를 통과한 후, AV클립에서의 TS패킷이 어느 정도의 전송 레이트로 전송되는가를 나타내는 「TS리코딩 레이트」와, 대응하는 AV클립을 구성하는 소스 패킷 수를 나타내는 「소스 패킷 수」와, 앞의 AV클립을 구성하는 ATC 시퀀스의 ATC의 차분인 「ATC 차분치」로 구성된다.
동 도면 (b)는 익스텐트 스타트포인트 정보 테이블의 내부 구성을 나타낸다. 본 도면에 나타내는 것과 같이 익스텐트 스타트포인트 정보 테이블은 number_pf_extent_start_points와 number_pf_extent_start_points개의 SPN_start_point로 구성된다.
number_pf_extent_start_points는 관련하는 AV스트림 파일에 귀속하는 익스텐트의 개수를 나타낸다. 클립베이스정보에서의 익스텐트 스타트포인트 정보와 클립 디펜던트 정보에서의 익스텐트 스타트포인트 정보의 쌍은 number_pf_extent_start_points가 동일한 값이 된다.
SPN_extent_start(SPN_extent_start[0]~SPN_extent_start[number_of_extent_start_point])는 number_of_extent_start_point+1개의 SPN_extent_start로 구성된다. SPN_extent_start는 익스텐트 식별자[extent_id]에 의해 지시되고, AV스트림 파일에서의 extent_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에 의해 참조되는 소스 패킷을 포함하지 않으면 안 된다.
도 52는 기본 엔트리 맵과 확장 엔트리 맵을 나타내는 도면이다. 본 도면에서 제 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)의 연속 판독을 보장할 수 있다.
도 53은 확장 엔트리 맵에서 허용되지 않는 엔트리를 나타낸다.
베이스 뷰 비디오 스트림의 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)가 제외되므로 액세스 성능의 저하를 방지할 수 있다.
도 54는 플레이아이템의 재생순서를 나타낸다.
스텝 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를 종합해서 재생할 수 있다. 이에 의하여 재생개시의 지연을 해소할 수 있다.
또, 도 88(a)에 나타내는 것과 같이, 각 익스텐트에 1개 이상의 엔트리포인트가 존재하는 것으로 규정해도 좋다. 이와 같이 규정함으로써 도 88(b)과 같이 엔트리포인트로부터 다음의 엔트리 포인트까지의 간격이 길어지는 것을 방지하고, 인터럽트 재생 등의 처리가 지연되는 양을 억제할 수 있다.
(제 4 실시형태)
본 실시형태는 입체 시 인터리브드 스트림 파일을 구성하는 데이터블록에서 ATC 시퀀스를 복원하기 위한 개량에 관한 것이다. 도 55는 입체 시 인터리브드 스트림 파일을 구성하는 데이터블록에서 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 시퀀스가 각각 다른 기록매체로부터 판독된 것처럼 처리할 수 있다.
도 56은 ATC 시퀀스의 복원이 어떻게 이루어지는가를 나타내는 도면이다. 동 도면 (a)는 ATC 시퀀스 복원부를 구비한 판독부의 내부 구성을 나타낸다. 상술한 것과 같이 2개의 드라이브와 2개의 리드 버퍼의 사이에 ATC 시퀀스 복원부가 개재되어 있다. 도면 중의 화살표 B0는 1개의 드라이브로부터의 소스 패킷 입력을 상징적으로 나타낸 것이며, 화살표 B1은 베이스 뷰 비디오 스트림을 구성하는 ATC 시퀀스(1)의 기입, 화살표 D1은 디펜던트 뷰 스트림을 구성하는 ATC 시퀀스(2)의 기입을 모식적으로 나타낸다.
도 56(b)는 ATC 시퀀스 복원부에 의해 얻어진 2개의 ATC 시퀀스가 어떻게 취급되는가를 나타낸다. 도면 중의 한가운데에 다중분리부 내에 존재하는 PID 필터를 나타낸다. 좌측은 ATC 시퀀스 복원부에 의해 얻어진 2개의 ATC 시퀀스를 나타낸다. 우측은 이들 2개의 ATC 시퀀스를 다중분리함으로써 얻어지는 베이스 뷰 비디오 스트림, 디펜던트 뷰 비디오 스트림, 좌측 눈 PG스트림, 우측 눈 PG스트림, 베이스 뷰 IG스트림, 디펜던트 뷰 IG스트림을 나타낸다.
도 57은 베이스 뷰 클립정보에서의 익스텐트 스타트포인트 정보의 일 예와 디펜던트 뷰 클립정보에서의 익스텐트 스타트포인트 정보의 일 예를 나타낸다. (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)"가 된다.
도 58은 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 시퀀스 복원부는 도 59의 처리를 하드웨어 자원에 실행시키는 프로그램을 작성함으로써 실현된다. 도 59는 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개의 파일이 기록매체에 가상적으로 존재하는 것으로 취급할 수 있다.
입체 시를 위한 베이스 뷰 비디오 스트림, 디펜던트 뷰 비디오 스트림을 인터리브 스트림 파일로 기록매체 하면서도 베이스 뷰 비디오 스트림 및 디펜던트 뷰 비디오 스트림의 단체 액세스를 가능하게 하므로 재생장치의 처리의 효율성을 향상시킬 수 있다.
(제 5 실시형태)
본 실시의 형태에서는 BD-ROM에 저장된 3D콘텐츠를 재생하는데 있어서의 HDIM 출력의 과제, 초 해상도 방법, 고 프레임 레이트화 방법에 대하여 설명한다.
(HDMI 출력) 먼저, 3D표시/안경 방식 식별에 관해서 도 60을 사용하여 설명한다. 3D표시 가능한 플레이어에 복수의 TV가 접속되어 있는 경우에는 개개의 TV가 3D시청을 위해서는 안경이 필요한지, 또 필요한 경우에는 어느 방식의 안경이 필요한지를 HDMI와 같은 I/F를 경유하여 플레이어에 통지하는 것이 바람직하다. 예를 들어, BD 플레이어에서는 접속 처의 TV가 3D시청에는 액티브 셔터가 부착된 안경이 필요하다고 알 수 있으면 3D 재생개시 전에 액티브 셔터가 부착된 안경이 필요하다는 메시지를 시청자에게 통지하도록 프로그래밍하는 일도 가능해진다. 그 때문에, HDMI와 같은 I/F는 TV가 3D로 표시할 때 안경이 필요한지 여부, 또 필요한 경우에는 어느 방식의 안경이 필요한지(애너글리프인지, 원 편향인지, 액티브 셔터인지 등)를 식별하기 위한 정보를 플레이어에 통지할 수 있도록 E-EDID나 InfoFrame 등에 의해 접속하고 있는 기기 사이에서 공유할 수 있는 것이 바람직하다. 또, TV와 안경간의 통신 기능이 있으면, 안경의 위치 정보(구체적으로는 TV화면 중앙에서 연장하는 수직선과 안경의 수평/수직 각도와 거리)를 플레이어에 돌려줌으로써 3D 영상을 각 사용자마다 적절히 변경시키는 것도 가능하다. 또, TV-1이 2D전용 TV이고, TV-2가 3D대응 TV인 경우에는 TV-1용의 출력으로는 TV-2에 출력하는 우측 눈 영상 혹은 좌측 눈 영상만을 추출하여 출력할지, 「TV-2에서 3D 재생중」이나 「TV-1에서는 3D시청 할 수 없습니다」 등과 같은 3D시청이 TV-1에서는 할 수 없다고 하는 메시지를 표시하는 것이 바람직하다. 또, 도 61에 나타내는 것과 같이, 3D 영상을 재생 중에 2D 영상으로 전환하는 경우에 3D 영상의 프레임 레이트인 채로 일 측의 영상을 이중으로 출력하는 것이 바람직하다. 프레임 레이트의 변경이 일어나면 HDMI의 인증이 필요하게 되는 등의 지연이 발생하기 때문이다. 그러나, 3D 영상을 표시하는 경우, 안경에 의해 사용자의 시야가 어두워지는 것을 고려하여 텔레비전은 휘도를 올린 영상이 되어 있어서 2D 영상을 표시하는데 적절한 처리가 되어 있지 않을 가능성이 있다. 이에, 도 61의 2D더빙 재생이라고 기재한 구간과 같이 일 측의 영상을 2중으로 출력하는 경우에는 HDMI상에 영상을 출력할 때, 동시에 그 영상이 2D 영상의 재생을 의도하고 있음을 의미하는 플래그를 텔레비전에 전송한다. 이에 의하여, TV측에서는 전송되어 오는 영상이 2D 영상인 것을 판단할 수 있으므로 2D 영상 재생에 적절한 화상처리 등의 제어를 실행하는 것이 가능하다. 다음에, BD 등으로 이용되는 자막?메뉴용 스트림의 상관을 도 62를 사용하여 설명한다. 플레이어가 동시에 2D 출력과 3D 출력을 할 필요가 있는 경우, BD-ROM에서 사용되는 Presentation Graphics(PG라고 하고, 자막용의 스트림), Interactive Graphics stream(IG라고 하고, 메뉴용의 스트림)은 2D 영상용, 3D 영상용에서 다른 도안이 되기 위한 개별의 PID가 부여되고, 별개로 디코드할 필요가 있다. 그러나, 시청자가 2D표시의 TV를 보면서 조작하는지 3D표시의 TV를 보면서 조작하는지에서 차이가 나오지 않게 하기 위해서 2D용의 스트림(C)과 3D용의 좌측 눈/우측 눈 용의 스트림(L, R)의 모두가 표시되는 도안과 그 도안의 표시 위치를 제외하고 모든 정보가 일치하고 있는 것이 바람직하다. 예를 들어, PG이면 C, L, R 사이에서 동일한 표시 시간에 동일한 자막(C, L, R 사이에 자막의 도안과 표시 위치만이 다르다)이 표시되도록 스트림이 기록되고 있는 것이 바람직하다. 또, IG에 관해서는 대응하는 C, L, R의 스트림 사이에 동일한 메뉴 조작을 실현될 수 있도록 메뉴의 페이지 구성, 버튼 간의 천이, 실행시의 버튼 커멘드 등이 동일한 메뉴(C, L, R 사이에 버튼의 도안과 표시 위치만이 다르다)이도록 스트림이 기록되고 있는 것이 바람직하다. 이것은 TV-1에서의 2D시청자 및 TV-2에서의 3D시청자가 동일한 자막?메뉴를 볼 수 있고, 또한 어느 TV로부터도 메뉴를 제어할 수 있도록 하기 위해서 필요하다. 플레이어는 2D/3D의 동시 출력 시에는 도 62와 같이 L, R, C을 따로따로 합성하여 2D용 영상 출력과 3D용 영상 출력을 생성해도 좋다. 또, 도면에서는 IG 디코더 밖에 기재하고 있지 않지만, PG 디코더에 대해서도 동일하다. 또, 2D 영상 출력에는 3D에서의 L영상을 이용했지만 R영상을 이용해도 좋다.
(초 해상도) 다음에, 더 원활한 2D/3D 영상 표시를 실현하기 위한 처리에 대해서 도 63을 사용하여 설명한다. L1, R1, L2, R2,…로 이어지는 좌측 눈(Ln), 우측 눈(Rn) 영상이 연속하는 입력을 기초로 2D표시하는 TV에서는 L1, L2, L3,…로 좌측 눈 용 영상만, 또는 R1, R2, R3,…로 우측 눈 용 영상만으로 어느 한쪽만을 표시한다. 따라서 지금까지는 우측 눈?좌측 눈 영상을 동시에 촬영하고 있는 경우, L2의 영상은 종래이면 그 시간적으로 앞의 영상(L1)과 시간적으로 뒤의 영상(L3)을 이용하여 고화질화 되는 것뿐이었다. 그러나, L2의 영상은 L1, L3 등보다 반대쪽 눈의 영상 R1, R2, R3 쪽이 더 관련성이 높은 영상을 포함하는 경우가 있다고 생각된다. 따라서, 2D표시하는 경우에도 표시하지 않는 쪽의 영상을 참조함으로써 더 좋게 고화질화하는 것이 가능해진다. 고화질화의 수법에 대해서는 여기에서는 묻지 않지만, 2D표시를 하면서도 고화질화 처리에서는 표시하지 않는 쪽의 한쪽 눈 영상(결국은 양 눈 영상)을 이용하고 있는 것이 정밀도가 높은 고화질화를 위해서 매우 중요하다. 이 경우, 시청자에게는 2D표시이지만 플레이어와 TV의 사이는 3D로 접속될 필요가 있다. HDMI와 같은 I/F에서도 3D로 접속 인증하고, L/R의 양 눈 영상을 플레이어가 출력하도록 전환 제어시키는 것이 필요하다. 또, L1, R1, L2, R2,…로 이어지는 좌측 눈(Ln), 우측 눈(Rn) 영상이 연속하는 입력을 기초로 3D표시하는 TV에서도 각각의 영상을 고화질화할 때 양 눈 영상을 이용하는 것이 효과적이라고 생각된다. 또, L/R의 카메라의 광학 파라미터(카메라 사이의 각도, 초점거리 등)를 스트림에 기록해 둠으로써 고화질화 처리를 실행하는 프레임을 정밀도 높게 예측하는 것도 가능하다.
(고 프레임 레이트화) 다음에, 더 원활한 2D/3D 영상 표시를 실현하기 위한 처리에 대하여 마찬가지로 도 63을 사용해서 설명한다. 특히 3D표시에서는 시분할 표시 방식에서 우측 눈?좌측 눈의 영상이 교대로 표시되는 경우도 많고, 표시의 프레임 레이트가 낮은 것에 의한 안정 피로를 일으키는 일이 많다. 또, 요즈음의 TV대화면화에 의해 영상 소재 자체의 프레임 사이에서의 영상 변화량이 큰 경우에는 저 프레임 레이트에 의한 피로를 낳기 쉽다. 따라서 3D로 재생하는 경우에는 일반적으로 영상 소재의 2배, 3배라고 하는 프레임 레이트로 표시를 실행하는 것이 일반이다. 그러나 표시를 배속, 3배속 구동으로 해도 표시되고 있는 영상 자체가 동일하므로 여전히 대화면 시청시에는 프레임 사이의 영상 변화량에 의한 문제가 남는다. 예를 들어, 배속 표시를 실행하는 경우, L1, R1, L1, R1, L2, R2, L2, R2,…로 2회씩 표시를 실행하지만, 2번째의 L1, R1의 표시에서는 고화질화 회로를 통함으로써 시간 분해능을 올린 영상(L1, L2의 중간 영상과 R1, R2의 중간 영상)을 표시함으로써 상기 피로를 경감하는 것이 가능해진다. 환언하면, 소재 영상의 샘플링 주파수(프레임 레이트)보다 높은 샘플링 주파수에서 중간 영상을 생성하고, 3D표시함으로써 대화면에서의 3D시청에서도 안정 피로를 경감하여 시청시키는 것이 가능해진다.
또, 우측 눈?좌측 눈의 양 눈 시차를 표시함으로써 입체 표시를 실행하는 시청자에게 안경을 필요로 하는 TV의 경우, 우측 눈?좌측 눈의 시차 영상이 시청자의 양 눈 간격보다 커지면 입체로서 결상하지 않으므로 시청자의 안정 피로나 3D 시크니스(3D sickness)를 일으키는 과제가 있다. 따라서, 사용되고 있는 안경 중에서 제일 작은 안경, 즉 시청자 중에서 제일 작은 양 눈 간격 이상으로 우측 눈?좌측 눈의 시차 영상이 어긋나지 않도록 우측 눈?좌측 눈의 전체 영상을 좌우에 시프트해서 표시하는 것이 TV의 표시처리로 바람직하다. BD의 인터랙티브 메뉴 화면에서 시청자의 연령이나 입체 강도 등을 시청자에게 입력 또는 선택시킴으로써 적절한 양 눈 시차를 표시할 수 있도록 플레이어 측이 영상 출력시에 우측 눈?좌측 눈의 전체 영상을 좌우에 시프트해서 출력 처리해도 좋다.
(제 6 실시형태)
본 실시형태에서는 지금까지의 실시형태에 나타낸 기록매체를 만드는 방법, 즉, 기록방법의 형태에 대해서 설명한다.
본 실시형태에 관한 기록방법은 스트림 파일인 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상에 얻을 수 있다.
이상이 실시간 리코딩에 의한 기록방법을 실행하는 기록장치이다. 이어서, 프리포맷 리코딩에 의한 기록방법에 대하여 설명한다.
프리포맷 리코딩에 의한 기록방법은 오서링 행정을 포함하는 것과 같은 광디스크의 제조방법이 된다.
도 64는 광디스크의 기록방법을 나타낸다. 동 도면 (a)는 프리포맷 리코딩에 의한 기록방법을 나타내는 플로차트이고, 광디스크의 제조방법의 처리순서를 나타낸다. 광디스크의 제조방법은 오서링 스텝, 서명 스텝, 미디어 키 취득 스텝, 미디어 키 암호 스텝, 물리 포맷 스텝, 식별자 매입 스텝, 마스터링 스텝, 리플리케이션 스텝(replication step)을 포함한다.
오서링 스텝 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)이 존재한다.
다음에 오서링 행정에 대하여 설명한다.
도 65는 오서링 행정의 처리순서를 나타내는 플로차트이다.
스텝 S101에서 메인 TS 및 서브 TS에 대한 릴 세트를 정의한다. "릴"이란 엘리멘터리 스트림의 소재가 되는 데이터를 저장한 파일이며, 오서링 시스템에서는 로컬 네트워크상의 드라이브 상에 존재한다. 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에서의 픽쳐를 썸네일화하여 표시하고, 이 썸네일에 대하여 재생순서를 설정한다고 하는 조작을 기록장치가 사용자로부터 접수함으로써 이루어진다.
스텝 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의 메타데이터에 기재하면 오프셋 시퀀스는 인코드의 과정에서 작성해 둘 수 있다.
도 66은 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리코딩 레이트의 값이며, 그 최대치는 48 Mbps이다.
Rts2는 서브 TS에서의 TS리코딩 레이트의 값이며, 그 최대치는 48 Mbps이다.
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 선두 검출 및 엔트리 추가에 의하여 기본 엔트리 맵, 확장 엔트리 맵을 작성해 가는 순서를 도 58 참조하면서 설명한다.
도 67은 기본 엔트리 맵 및 확장 엔트리 맵의 작성 순서를 나타내는 플로차트이다.
스텝 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으로 이행한다.
<인덱스테이블의 생성 방법>
제 3 실시형태에서 설명한 인덱스테이블은 이하와 같이 해서 생성할 수 있다. 도 59의 플로차트에서 베이스 뷰 비디오 스트림, 디펜던트 뷰 비디오 스트림, 클립정보 파일, 플레이리스트정보 파일을 작성함으로써 기록매체에 기록해야 할 각 플레이리스트의 표시 주파수가 판명된다. 이들 중, 퍼스트 플레이 타이틀로 사용되는 플레이리스트의 해상도?표시 주파수, 또는 타이틀 번호 0~999로 지시되는 타이틀의 플레이리스트의 해상도?표시 주파수를 인덱스테이블의 BDMV 애플리케이션 정보에서의 비디오 포맷 정보 및 프레임 레이트 정보로 설정한다. 이와 같이 함으로써 플레이리스트 재생시에 적용해야 할 해상도?표시 주파수가 인덱스테이블에서 설정되게 된다.
도 68은 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애플리케이션, 무비 오브젝트, 인덱스테이블을 기록매체에 기입한다.
이상의 기록으로 작성할 수 있는 기록매체에 대하여 설명한다.
도 69는 다층화된 광디스크의 내부 구성을 나타낸다.
제 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 파일을 구성하는 익스텐트가 존재한다.
도 70은 파일시스템을 전제로 한 광디스크의 애플리케이션 포맷을 나타낸다.
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개 이상의 「익스텐트」가 기록되어 있다.
본원의 주목적이 되는 스트림 파일은 그 파일이 귀속하는 디렉터리의 디렉터리영역 내에 존재하는 파일 기록영역이며, 디렉터리 파일에서의 파일식별기술자 및 파일엔트리에서의 할당 식별자를 더듬어 감으로써 액세스할 수 있다.
(제 7 실시형태)
본 실시형태에서는 지금까지의 실시형태에서 설명한 재생장치의 기능을 통합한 2D/3D 재생장치의 내부 구성에 대하여 설명한다.
도 71은 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)에서의 기억 내용의 백업에 이용된다.
(제 8 실시형태)
이후의 실시형태는 본원의 우선권 주장의 기초가 된 특허 출원의 원서에 첨부한 명세서 및 도면에 기재된 발명과 동일 발명(이하, 본 발명이라고 한다)을 실행하기 위한 형태이다.
우선 먼저, 본 발명에 관한 기록매체의 실시 행위 중 사용행위에 대한 형태를 설명한다. 도 72 (a)는 본 발명에 관한 기록매체의 사용행위에 대한 형태를 나타내는 도면이다. 본 도면에서 본 발명에 관한 기록매체는 BD-ROM(101)이다. 이 BD-ROM(101)은 재생장치(102), 텔레비전(103), 리모컨(104)에 의해 형성되는 홈시어터 시스템에 영화작품을 공급한다고 하는 용도에 제공된다.
이상이 본 발명에 관한 기록매체의 사용 형태에 대한 설명이다.
다음에 본 발명에 관한 기록매체인 BD-ROM의 2D 영상을 저장하기 위한 데이터구조에 대하여 설명한다.
도 72 (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)에 대하여 설명한다. 인덱스파일은 도 72 (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 트랜스포트 스트림 형식의 디지털 스트림이다.
도 73 (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가 각각 할당되어 있다.
도 73 (b)는 AV 클립이 어떻게 다중화되는가를 모식적으로 나타내는 도면이다. 우선, 복수의 비디오 프레임으로 이루어지는 비디오 스트림(501), 복수의 오디오 프레임으로 이루어지는 오디오 스트림(504)을 각각 PES 패킷 열(502 및 505)로 변환하고, TS 패킷(503 및 506)으로 변환한다. 마찬가지로, 프레젠테이션 그래픽스 스트림(507) 및 인터렉티브 그래픽스(510)의 데이터를 각각 PES 패킷 열(508 및 511)로 변환하고, 또 TS 패킷(509 및 512)으로 변환한다. AV 클립(513)은 이들 TS 패킷을 1개의 스트림에 다중화함으로써 구성된다.
도 74 (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)가 저장된다.
도 74 (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 클립에는 도 74 (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 시간의 정보를 갖는다.
도 75 (a)는 PMT의 데이터구조를 상세하게 설명하는 도면이다. PMT의 선두에는 그 PMT에 포함되는 데이터의 길이 등을 기재한 PMT 헤더가 배치된다. 그 뒤에는 AV 클립에 관한 디스크립터가 복수 배치된다. 앞에서 설명한 카피컨트롤정보 등이 디스크립터로 기재된다. 디스크립터의 뒤에는 AV 클립에 포함되는 각 스트림에 관한 스트림 정보가 복수 배치된다. 스트림 정보는 스트림의 압축 코덱 등을 식별하기 위해 스트림 타입, 스트림의 PID, 스트림의 속성정보(프레임 레이트, 어스펙트비 등)가 기재된 스트림 디스크립터로 구성된다. 스트림 디스크립터는 AV 클립에 존재하는 스트림의 수만큼 존재한다.
클립정보파일은 도 75 (b)에 나타낸 것과 같이 AV 클립의 관리정보이며, AV 클립과 1 대 1로 대응하고, 클립정보, 스트림 속성정보와 엔트리 맵으로 구성된다.
클립정보는 도 75 (b)에 나타낸 것과 같이 시스템 레이트, 재생 개시시각, 재생 종료시각으로 구성되어 있다. 시스템 레이트는 AV 클립의 후술하는 시스템 타깃 디코더의 PID 필터로의 최대 전송 레이트를 나타낸다. AV 클립 중에 포함되는 ATS의 간격은 시스템 레이트 이하가 되도록 설정되어 있다. 재생 개시시각은 AV 클립의 선두의 비디오 프레임의 PTS이며, 재생 종료시각은 AV 클립의 종단의 비디오 프레임의 PTS에 1 프레임 분의 재생간격을 더한 것이 설정된다.
스트림 속성정보는 도 76 (a)에 나타낸 것과 같이 AV 클립에 포함되는 각 스트림에 대한 속성정보가 PID마다 등록된다. 속성정보는 비디오 스트림, 오디오 스트림, 프레젠테이션 그래픽스 스트림, 인터렉티브 그래픽스 스트림마다 다른 정보를 갖는다. 비디오 스트림 속성정보는 그 비디오 스트림이 어떤 압축 코덱으로 압축되었는지, 비디오 스트림을 구성하는 개개의 픽처 데이터의 해상도가 어느 정도인지, 어스펙트 비는 어느 정도인지, 프레임 레이트는 어느 정도인지 등의 정보를 갖는다. 오디오 스트림 속성정보는 그 오디오 스트림이 어떤 압축 코덱으로 압축되었는지, 그 오디오 스트림에 포함되는 채널 수는 무엇인지, 무슨 언어에 대응하는지, 샘플링 주파수가 어느 정도인지 등의 정보를 갖는다. 이들 정보는 플레이어가 재생하기 전의 디코더의 초기화 등에 이용된다.
엔트리 맵은 도 76 (b)에 나타낸 것과 같이 엔트리 맵 헤더 정보(1101)와 AV 클립 내에 포함되는 비디오 스트림의 각 I픽처의 표시시각을 나타내는 PTS와 각 I픽처가 개시하는 AV 클립의 SPN이 기재된 테이블 정보이다. 여기에서는 테이블의 하나의 행으로 나타내는 쌍이 되는 PTS와 SPN의 정보를 엔트리 포인트로 부르기로 한다. 또, 선두를 0으로 각 엔트리 포인트마다 증가한 값을 엔트리 포인트 ID(이하 EP_ID)라고 한다. 이 엔트리 맵을 이용함으로써 재생기는 비디오 스트림의 시간 축 상의 임의의 지점에 대응하는 AV 클립의 파일 위치를 특정할 수 있게 된다. 예를 들어 빨리 감기?되감기의 특수 재생 시에는 엔트리 맵에 등록되는 I픽처를 특정해서 선택하여 재생함으로써 AV 클립을 해석하는 일 없이 효율적으로 처리를 실행할 수 있다. 또, 엔트리 맵은 AV 클립 내에 다중화되는 각 비디오 스트림마다 만들어지고, PID로 관리된다. 또, 엔트리 맵에는 선두에 엔트리 맵 헤더 정보(1101)가 저장되고, 여기에는 당해 엔트리 맵이 나타내는 비디오 스트림의 PID나 엔트리 포인트 수 등의 정보가 저장된다.
다음에, 플레이리스트 파일(YYY.MPLS)에 대하여 설명한다.
플레이리스트는 AV 클립의 재생경로를 나타내는 것이다. 도 77 (a)에 나타낸 것과 같이 플레이리스트는 1개 이상의 플레이아이템(1201)으로 구성되고, 각 플레이아이템은 AV 클립에 대한 재생구간을 나타낸다. 각 플레이아이템(1201)은 각각 플레이아이템 ID에 의해 식별되고, 플레이리스트 내에서 재생되어야 할 순서로 기술되어 있다. 또, 플레이리스트는 재생 개시점을 나타내는 엔트리 마크(1202)를 포함하고 있다. 엔트리 마크(1202)는 플레이아이템에서 정의되는 재생구간 내에 대하여 부여할 수 있고, 도 77 (a)에 나타낸 것과 같이 플레이아이템에 대하여 재생 개시점이 될 수 있는 위치에 부여되며, 선두검색 재생에 이용된다. 예를 들어 영화 타이틀에서 엔트리 마크(1202)를 챕터의 선두가 되는 위치에 부여함으로써 챕터 재생하는 것이 가능해진다. 또, 일련의 플레이아이템의 재생경로를 메인패스(1205)로 여기에서는 정의한다.
플레이아이템의 내용에 대해 도 77 (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)에는 각 스트림의 속성정보도 동시에 기록되어 있다. 여기서 속성정보란 각 스트림의 성질을 나타내는 정보로, 예를 들어 오디오, 프레젠테이션 그래픽스, 인터렉티브 그래픽스의 경우에는 언어속성 등이 포함된다.
플레이리스트는 도 77 (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 재생장치)에 대하여 설명한다.
도 78 (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)가 있다.
도 78 (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 등의 화면에 표시한다.
다음에, 도 79를 참조하면서 시스템 타깃 디코더(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 재생의 원리)
다음에, 도 80을 이용하여 가정용 디스플레이로 입체 시를 실행하는 원리를 설명한다. 입체 시를 실현하는 수법으로는 홀로그래피 기술을 이용하는 방법과 시차 화상을 이용하는 방식의 크게 2개가 있다.
우선, 첫 번째의 홀로그래피 기술의 특징으로는 인간이 통상 물체를 인식하는 것과 완전히 똑같이 물체를 입체로 재현할 수 있지만, 동화상 생성에 관해서는 기술적인 이론은 확립해 있으나 홀로그래피용의 동화상을 실시간으로 생성하는 방대한 연산량을 수반하는 컴퓨터 및 1mm의 사이에 수천 개의 선을 그을 수 있을 정도의 해상도를 갖는 디스플레이 디바이스가 필요하지만, 현재의 기술에서의 실현은 매우 어렵고, 상용으로서 실용화되고 있는 예는 거의 없다.
두 번째의 시차 화상을 이용한 방식에서 우측 눈에 들어오는 영상과 좌측 눈에 들어오는 영상을 각각 준비하고, 각각의 눈에 대응한 픽처만이 들어가도록 해서 입체 시를 실행하는 방법이다. 도 80에서 사용자가 얼굴의 중앙의 연장선상에 있는 비교적 작은 입방체를 보고 있는 모습을 위에서부터 본 도면이며, 우측 상단의 도면은 좌측 눈이 보았을 경우의 예를 나타내고 있고, 우측 하단의 도면은 동일한 입방체를 우측 눈이 보았을 경우의 예를 나타내고 있다.
이 방식의 이점은 단지 우측 눈 용과 좌측 눈 용의 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 재생장치로 설명한다.
이하에, 입체 시 영상을 재생하기 위해서 BD-ROM에서의 인덱스 파일(Index.bdmv)에 대하여 설명한다. 도 98은 입체 시 영상을 재생하기 위해서 BD-ROM에서의 인덱스 파일의 일 예를 나타내는 도면이다. 동 도면의 예에서는 플레이리스트로 2D 영상을 재생하는 경로가 기재된 2D 플레이리스트(2601)와 입체 시 영상을 재생하는 경로가 기재된 3D 플레이리스트(2602)가 준비되어 있다. 사용자로부터 타이틀이 선택되고 실행된 BD 프로그램 파일은 프로그램 중에서 재생장치가 입체 시 영상 재생에 대응하고 있는가, 또 입체 시 영상 재생에 대응하고 있는 경우에 사용자가 입체 시 영상 재생을 선택하고 있는가를 조사하여 재생하는 플레이리스트를 전환한다.
또, 인덱스 파일에는 「3D존재 플래그」와「2D/3D기호 플래그」가 준비되어 있다. 3D존재 플래그는 타이틀 상에 3D 영상을 재생하기 위한 플레이리스트가 존재하는지 여부를 식별하는 플래그이며, 이것이 FALSE의 경우는 2D/3D 재생장치는 입체 시 영상 재생의 준비를 실행할 필요가 없으므로 HDMI 인증 등의 처리를 생략함으로써 고속으로 처리를 실행할 수 있다. 2D/3D기호 플래그는 플레이어와 텔레비전이 2D에서도 3D에서도 재생 가능한 상태에서 콘텐츠 공급자가 2D로 재생해 주었으면 하는지, 3D로 재생해 주었으면 하는지를 나타내는 식별자이다. 이 플래그가 「3D」를 나타내는 경우는 2D로 천이할 필요가 없으므로 HDMI 인증을 빨리 실시할 수 있다. 일반적으로 플레이어와 텔레비전의 HDMI의 인증에서는 프레임 레이트 등의 비디오 스트림 속성이 다르면 크게 지연이 발생한다. 따라서, 2D 영상의 재생에 한 번 천이 한 후 3D 영상의 재생에 천이하는 경우에는 큰 지연이 발생하게 된다. 이에, 이와 같이 2D/3D기호 플래그를 이용함으로써 2D 영상의 재생 천이를 생략할 수 있으면 HDMI 인증의 지연 시간을 회피할 수 있다.
또, 「3D존재 플래그」와「2D/3D기호 플래그」는 인덱스 파일 전체에 대하여 설정하는 것이 아니라 타이틀마다 설정할 수 있어도 좋다.
도 99는 BD 프로그램 파일의 프로그램에서의 2D 플레이리스트와 3D 플레이리스트의 선택 플로를 나타내고 있다.
S2701에서 PSR24의 값을 체크하고, 값이 0의 경우는 해당 재생장치는 2D 재생장치이므로 2D 플레이리스트를 재생하고, 값이 1의 경우는 S2702로 진행한다.
S2702에서 사용자에게 2D 영상의 재생을 희망하는지 3D 영상의 재생을 희망하는지를 메뉴 화면을 표시해서 문의한다. 사용자의 리모컨 등에서 선택의 결과, 2D 영상의 재생을 희망하는 경우는 2D 플레이리스트를 재생하고, 3D 영상의 재생을 희망하는 경우는 S2703로 진행한다.
S2703에서 디스플레이가 3D 영상의 재생에 대응하고 있는가를 체크한다. 예를 들어 HDMI으로 결선(結線)을 하여 재생장치가 디스플레이에 대하여 3D 영상 재생에 대응하고 있는가 여부를 문의한다. 3D 영상의 재생에 대응하고 있지 않은 경우에는 2D 플레이리스트를 재생하지만, 사용자에 대하여 텔레비전 측의 준비가 갖추어져 있지 않은 취지를 메뉴 화면 등에 제시해도 좋다. 3D 영상의 재생에 대응하고 있는 경우에는 3D 플레이리스트를 재생한다.
또, 2D 재생장치에는 PSR13에 시청제한레벨을 설정할 수 있고, 이에 의하여 적절한 연령 이상의 사용자만이 해당 BD-ROM 디스크를 재생할 수 있도록 제어할 수 있다고 했지만, 이에 더하여 2D/3D 재생장치에는 3D 시청제한레벨 PSR30이 준비되어 있다. 3D 시청제한레벨에는 PSR13과 마찬가지로 2D/3D 재생장치를 이용하는 사용자의 연령이 저장된다. BD-ROM 디스크의 타이틀의 BD 프로그램 파일은 PSR13에 더하여 이 PSR30을 사용하여 재생할지 여부를 판단한다. PSR30은 3D 영상 재생에 관한 시청제한레벨이므로 2D 영상 재생에서는 PSR13에 의해 시청제한레벨이 제어된다. 이와 같이 2개의 시청제한레벨을 설치함으로써 성장 중인 어린 아이에 대한 신체적인 영향을 생각하여, 예를 들어 「어린 아이에게는 3D 영상은 보여 주고 싶지 않지만 2D 영상은 보여줘도 좋다」라고 하는 것 같은 제어를 실행할 수 있다. 예를 들어, 도 99의 플로에 S2703에서 YES가 된 후에 PSR30을 참조하여 재생하는 플레이리스트를 선택하도록 해도 좋다.
또, PSR30에는 PSR13과 마찬가지로 연령 정보를 저장한다고 했지만 PSR30에는 단지 3D 영상을 금지하는지 여부를 설정할 수 있도록 해도 좋다.
또, 「사용자가 2D/3D의 어느 쪽을 선호하여 재생할지」를 나타내는 정보를 마찬가지로 시스템 파라미터(여기에서는 PSR31로 한다)에 설정한다. PSR31에는 사용자가 2D/3D 재생장치의 OSD등을 통해서 사용자가 2D/3D의 어느 쪽을 우선해서 재생하고 싶은가를 설정한다. 디스플레이가 3D 영상 재생에 대응하고 있는 경우에는 PSR31의 정보를 사용하며, 만약 3D 영상을 우선하는 경우에는 2D 영상에 천이할 필요가 없으므로 HDMI 인증을 빨리 실시할 수 있어서 3D 영상의 재생 처리를 빨리 실시할 수 있다. 또, BD 프로그램이 이 PSR31을 참조하여 2D를 재생하는지 3D를 재생하는지를 결정함으로써 사용자의 취향에 맞은 재생 처리가 가능해진다.
또, BD 프로그램이 PSR31을 참조하여 BD 프로그램이 표시하는 메뉴의 디폴트 선택 버튼을 결정해도 좋다. 예를 들어, 「2D 영상을 재생할지」, 「3D 영상을 재생할지」의 분기를 재촉하는 메뉴의 경우에는 PSR31의 값이 「2D」이면 「2D 영상 재생」의 버튼에 커서를 맞추고, PSR31의 값이 「3D」이면 「3D 영상 재생」의 버튼에 커서를 맞춘다.
또, 「사용자가 2D/3D의 어느 쪽을 선호하여 재생할지」는 재생하는 사용자마다 다르므로 2D/3D 재생장치에 누가 보고 있는가를 특정하는 수단이 있으면, 현재 보고 있는 사용자에 맞춰서 PSR31을 설정해도 좋다. 예를 들어, 2D/3D 재생장치를 가족 3명(아버지, 어머니, 아이)이 사용하는 것을 상정하고, 2D/3D 재생장치는 각 사용자마다 어카운트를 관리하고 있는 케이스가 있다. 이 경우, 로그인하고 있는 사용자에 따라 PSR31을 갱신함으로써 실제로 사용하고 있는 사람의 취향에 따른 제어를 실행할 수 있다.
또, 「사용자가 2D/3D의 어느 쪽을 선호하여 재생할지」를 나타내는 정보를 2D나 3D의 2택이 아니라 레벨을 설치해도 좋다. 예를 들어, 「항상 2D」, 「어느 쪽인가 하면 2D」, 「어느 쪽인가 하면 3D」, 「항상 3D」의 4 단계로 나누어도 좋다. 이와 같이 함으로써 보다 사용자의 취향에 맞도록 2D/3D 재생장치의 재생 처리를 실행할 수 있다. 예를 들어, 재생장치의 상태를 나타내는 시스템 파라미터인 PSR25를 설정하는 것과 같은 케이스에서는 PSR31이 「항상 2D」이면 항상 PSR25도 2D모드를 설정하고, PSR31가 「항상 3D」이면 항상 PSR25도 3D모드(L/R모드나 DEPTH 모드)를 설정하도록 한다.
다음에, 도 81을 이용하면서 프레젠테이션 그래픽스의 구성에 대하여 설명한다. 도 81과 같이 표시하는 자막 엔트리는 복수의 자막데이터 엔트리로 구성된다. 각 자막데이터 엔트리는 콤포지션 정보, 윈도 정보, 팰릿 정보, 오브젝트 정보로 구성된다. 콤포지션 정보는 자막데이터의 화면구성을 정의하는 정보이며, 오브젝트의 크로핑 정보, 크로핑된 오브젝트의 표시 위치, 참조하는 윈도를 특정하는 윈도 ID, 참조하는 팰릿을 특정하는 팰릿 ID, 참조하는 팰릿을 특정하는 오브젝트 ID가 저장된다. 윈도 정보에는 윈도 ID와 함께 디코더가 묘사하는 영역을 정의하는 윈도 영역이 저장된다. 오브젝트 정보에는 오브젝트 ID와 함께 그래픽스 이미지가 저장되어 있다. 그래픽스 이미지는 256색의 인덱스 컬러로 구성된 이미지 데이터이며, 런랭스 압축 등의 압축 방법을 이용해서 압축되어 있다. 팰릿 정보에는 팰릿 ID와 함께 오브젝트에 이용되는 색의 테이블 정보(CLUT)가 저장된다. 테이블은 256색이 저장 가능하며, 하나하나의 색은 컬러 ID로 참조할 수 있다. 컬러 ID는 0에서부터 255까지의 값을 취하지만 255는 고정의 무색 투명이 할당되어 있다.
도 82는 프레젠테이션 그래픽스의 디코드 처리의 흐름을 설명하는 도면이다. 먼저, STEP1에서 각 자막데이터 엔트리는 콤포지션 정보의 참조 오브젝트 ID에 의해 지정되는 압축된 그래픽스 이미지를 디코드한다. 다음에 STEP2에서 콤포지션 정보의 크로핑 정보를 이용하여 그래픽스 이미지를 크로핑하여 필요한 데이터만을 잘라낸다. 다음에 STEP3에서 콤포지션 정보의 표시 위치에 따라서 그래픽스 플레인으로의 표시 위치를 결정한다. 다음에 STEP4에서 콤포지션 정보의 참조 윈도 ID로 지정되는 윈도 정보의 윈도 영역의 범위만 그래픽스 플레인에 오브젝트 데이터를 묘사한다. 다음에 STEP5에서 콤포지션 정보의 참조 팰릿 ID에 의해 지정되는 팰릿 정보를 이용하여 그래픽스 플레인에 색을 첨가해서 표시를 실행한다. 또, 표시를 실행하는 타이밍은 콤포지션 정보가 저장되는 PES 패킷의 PTS의 타이밍에 이루어진다.
다음에, 자막 표시의 개량에 대하여 설명한다.
PG 플레인에 1 plane+Offset 방식을 채용하는 경우, 자막데이터를 작성할 때에는 비디오 영상의 깊이에 맞춰서 오프셋 메타데이터를 조정할 필요가 있으므로 데이터 작성이 곤란하다고 하는 과제가 있었다.
이에, 이하에서는 화면 중에서 영화의 본편 영상에 이용되지 않는 검은 테두리를 이용해서 그 검은 테두리 영역을 위쪽 혹은 아래 쪽에 모으고, 거기에 자막데이터를 표시하는 방법에 대해서 설명한다.
비디오 스트림에 삽입되는 검은 테두리는 쓸데없는 영역이 되므로 여기에 자막을 표시해도 좋지만, 도 4 (a)의 우측 도면에 나타내는 것과 같이 상하에는 각각 131 픽셀의 검은 테두리밖에 없으므로 자막데이터를 넣기에는 약간 작다. 이에, 도 4 (b), (c)와 같이 본편 영상을 위 또는 아래에 시프트 하고, 시프트 한 영역에 흑색을 삽입함으로써 상하에 있는 검은 테두리를 위 또는 아래에 모은다. 이와 같이 함으로써 자막데이터를 넣기에 충분한 크기의 검은 테두리를 준비할 수 있다.
그러면, 다음에 이 컨셉을 실현하기 위한 데이터구조에 대하여 설명한다.
데이터구조의 기본 부분은 지금까지의 실시의 형태에서 설명한 3D 영상을 저장하기 위한 데이터구조와 동일하므로 확장 또는 다른 부분을 중심으로 설명한다. 또, 이후에서는 PG에 대한 설명을 하지만 이 방법은 PG를 IG나 부 영상에 치환함으로써 동일하게 적용 가능하다.
도 83은 3D 플레이리스트의 플레이아이템의 구성을 나타내고 있고, 스트림 선택테이블에서의 PG스트림의 스트림 부가정보(1311)에 「비디오 상 방향 이동시 시프트 값(PG_v_shift_value_for_Up)」, 「비디오 하 방향 이동시 시프트 값(PG_v_shift_value_for_Down)」이 포함된다. 「비디오 상 방향 이동시 시프트 값(PG_v_shift_value_for_UP)」는 주 영상 플레인이 상 방향으로 시프트 했을 경우(검은 테두리가 아래 쪽에 모이는 경우)의 PG 플레인의 시프트량이고, 「비디오 하 방향 이동시 시프트 값(PG_v_shift_value_for_Down)」는 주 영상 플레인이 하 방향으로 시프트 했을 경우(검은 테두리가 아래 쪽에 모이는 경우)의 PG 플레인의 시프트량이다. 2D/3D 재생장치는 이값에 의거하여 PG 플레인의 시프트량을 조정한다. 플레인의 합성방법에 대한 상세는 후술한다.
다음에, 2D/3D 재생장치에 대해서 설명한다. 도 84는 2D/3D 재생장치 내의 플레인 합성의 구성을 나타내고 있다. 여기에서는 대표로 PG 플레인을 예로 설명하지만, 부 영상 플레인, IG 플레인, 이미지 플레인 등의 어느 플레인에도 적용할 수 있다.
도 84에 나타내는 2D/3D 재생장치 내의 플레인 합성에는 2D/좌측 눈 영상 플레인과 우측 눈 영상 플레인의 크로핑 처리를 실행하는 영상 플레인 크로핑부(9701), 비디오의 시프트 모드를 기재하는 PSR32, PG 플레인의 크로핑 처리를 실행하는 PG 플레인 크로핑부(9702), PG 플레인 등 각 플레인의 시프트량을 기재한PSR33이 포함된다.
도 25 (a)의 PSR32는 비디오의 시프트 모드(video_shift_mode)를 나타내는 2D/3D 재생장치의 시스템 파라미터이다. PSR32의 video_shift_mode에는 Keep, Up, Down의 3개의 모드가 존재하고, PSR32의 값이 0이면 Keep, PSR32의 값이 1이면 Up, SRPM(32)의 값이 2이면 Down을 나타낸다. 영상 플레인 크로핑부(9701)는 PSR32에 기록된 비디오의 시프트 모드에 따라서 영상 플레인의 크로핑 처리를 실행한다. PSR32의 값은 BD 프로그램의 API나 커멘드를 통해서 설정된다.
PSR32가 Keep을 나타내는 경우에는 도 25 (b)의 (1)에 나타내는 것과 같이, 영상 플레인 크로핑부(9701)는 2D/좌측 눈 영상 플레인과 우측 눈 영상 플레인은 변경하지 않고 그대로 다른 플레인과의 중첩 처리에 진행된다. PSR32가 Up을 나타내는 경우에는 도 25 (b)의 (2)에 나타내는 것과 같이, 영상 플레인 크로핑부(9701)는 2D/좌측 눈 영상 플레인과 우측 눈 영상 플레인을 각각의 플레인을 상 방향으로 어긋하게 해서 상 영역의 검은 테두리를 잘라내고, 하 영역에 검은 테두리를 삽입하여 플레인과의 중첩 처리에 진행된다. 이에 의해 검은 테두리를 플레인의 하 방향으로 모을 수 있다. 또, PSR32가 Down을 나타내는 경우에는 도 25 (b)의 (3)에 나타내는 것과 같이, 영상 플레인 크로핑부(9701)는 2D/좌측 눈 영상 플레인과 우측 눈 영상 플레인을 각각 플레인을 하 방향으로 어긋하게 해서 하 영역의 검은 테두리를 잘라내고, 상 영역에 검은 테두리를 삽입해서 플레인과의 중첩 처리하러 진행된다. 이에 의해 검은 테두리를 플레인의 상 방향에 모을 수 있다.
도 36은 각 플레인의 종축 방향의 시프트량을 나타내는 시스템 파라미터(여기에서는 PSR33으로 한다)이다. PSR33의 시프트량은 플레인마다 비디오가 상 방향으로 시프트 하는 경우의 플레인 시프트량과 비디오가 하 방향으로 시프트 하는 경우의 플레인 시프트량이 준비되어 있다. 예를 들어, PG 플레인에는 PG_shift_value_for_UP, PG_shift_value_for_Down이 준비되어 있다. 이값은 스트림 전환에 의하여 플레이리스트에 설정된 값(PG_v_shift_value_for_Up, PG_v_shift_value_for_Down)에 의하여 PSR33의 값은 갱신된다. 또, PSR33는 BD 프로그램의 API나 커멘드를 통해서 설정해도 좋다.
도 84에 기재한 PG 플레인 크로핑부(9702)는 PSR33의 PG 플레인의 시프트량에 따라 플레인의 시프트를 실행한다. PG 플레인 크로핑부(9702)의 시프트 처리 및 영상 플레인과의 합성 처리에 대해서는 도 11과 도 38에 기재되어 있다. 도 11에 나타내는 것과 같이 PSR32의 video_shift_mode가 Keep의 경우에는 PG 플레인 크로핑부(9702)는 처리를 실행하지 않고 그대로 영상 플레인과의 합성 처리를 실행한다. 도 38 (a)에 나타내는 것과 같이 PSR32의 video_shift_mode가 Up의 경우에는 PG 플레인 크로핑부(9702)는 PSR33에 저장된 PG_shift_value_for_Up의 값을 사용하여 PG 플레인의 시프트 처리를 실행하고, 플레인을 돌출하는 개소를 잘라서 영상 플레인과 중첩한다. 이와 같이 함으로써 자막의 표시 위치를 2D 재생시보다 아래쪽으로 가지고 갈 수 있고, 아래쪽에 만들어지는 검은 테두리의 영역에 자막을 적절한 위치에 표시하는 것이 가능해진다. 도 38 (b)에 나타내는 것과 같이 PSR32의 video_shift_mode가 Down의 경우에는 PG 플레인 크로핑부(9702)는 PSR33에 저장된 PG_shift_value_for_Down의 값을 사용하여 PG 플레인의 시프트 처리를 실행하고, 플레인을 돌출하는 개소를 잘라서 영상 플레인과 중첩한다. 이와 같이 함으로써 자막의 표시 위치를 2D 재생시보다 위쪽에 가지고 갈 수 있고, 위쪽에 만들어지는 검은 테두리의 영역에 자막을 적절한 위치에 표시하는 것이 가능해진다.
또, 도 84에는 돌출을 제어하는 횡축 방향의 오프셋 처리(1 플레인+오프셋 방식)를 생략하고 있으나, 횡축 방향의 오프셋 값에 의한 크로핑 처리의 구조가 추가되고 있어도 좋다. 이와 같이 함으로써 검은 테두리에 표시하는 자막이어도 돌출을 갖게 할 수 있다.
또, 도 84과 같은 검은 테두리에 표시하는 자막의 경우에는 횡축 방향의 오프셋 값은 고정적으로 해도 좋다. 이 경우에는 도 83의 부가정보에 x축 방향의 시프트량을 정의하고, 그 값을 PSR33과 동일한 방법으로 PSR에 저장하며, 그 값을 사용하여 횡축 방향의 오프셋 처리를 실행해도 좋다. 이와 같이 함으로써 데이터 작성을 간단하고 쉽게 실시할 수 있다.
또, 도 84에서 설명한 플레인 합성의 구성에서는 Y축 방향의 시프트량을 PSR33에 저장한다고 했지만, 시스템 파라미터를 설치하지 않고 PG 플레인 크로핑부(9702)가 직접 플레이리스트를 참조하는 구성으로 해도 좋다.
또, video_shift_mode가 Up 또는 Down의 경우의 영상 플레인의 시프트량은 상하에 있는 검은 테두리의 사이즈(도 4의 예에서는 131 픽셀) 고정으로 해도 좋지만, 오서 또는 사용자가 좋을 대로 설정할 수 있어도 좋다. 새롭게 시스템 파라미터를 준비하고, 거기에 시프트량을 저장하여 BD 프로그램이나 플레이어 OSD에 의해 설정할 수 있어도 좋다.
또, 도 84에서 설명한 플레인 합성의 구성에서는 PSR33에 저장된 값을 사용하여 플레인 전체를 시프트 하는 처리를 설명했지만, PG의 콤포지션 정보에 저장되는 표시 위치에 추가되는 값으로 이용해도 좋다. 예를 들어, PG의 콤포지션 정보의 표시 위치가 (x, y)인 경우, video_shift_mode가 Keep의 경우에는 PG 디코더는 해당 자막데이터 엔트리를 (x,y+PG_shift_value_for_UP)의 위치에 표시한다. 이와 같이 구성함으로써 플레인을 시프트 하는 것보다도 처리를 가볍게 할 수 있다. 또, 이와 같이 이용하는 경우는 PG_shift_value_for_UP을 콤포지션 정보에 저장해도 좋다.
또, 도 39에 나타내는 것과 같이 video_shift_mode가 Up, Down의 경우에는 플레인을 시프트 함으로써 절취되는 영역이 발생하므로 절취되는 영역에 자막데이터가 존재하지 않게 제약하면 좋다. 즉, 도 39의 우측에 나타내는 것과 같이, 점선으로 둘러싼 영역 이외는 절취될 가능성이 있으므로 여기에는 자막 데이터가 표시되지 않게 PG의 표시 위치를 제약한다. 영역의 좌표는 (0, PG_v_shfit_value_for_Down), (0, height+PG_v_sfhit_value_for_Up), (width, PG_v_shfit_value_for_Down), (width, height+PG_v_sfhit_value_for_Up)로 나타낸다. 예를 들어 PG_v_sfhit_value_for_Up이 ?a, 예를 들어 PG_v_sfhit_value_for_Down이 +b라고 하면, 영역은 (0, b), (0, height-a), (width, b), (width, height-a)가 된다. PG의 제약으로는 표시 위치가 상기 영역을 넘지 않을 것, 표시 위치에 표시하는 오브젝트의 사이즈를 더한 것이 상기 영역을 넘지 않을 것, 윈도의 표시 위치가 상기 영역을 넘지 않을 것, 윈도의 표시 위치에 윈도 사이즈를 더한 것이 상기 영역을 넘지 않을 것 등이 있다. 이와 같이 제약함으로써 자막이 빠져서 표시되는 것을 방지할 수 있다.
또, 도 85에 나타내는 것과 같이 video_shift_mode를 스트림 선택정보의 스트림 부가정보(1311)에 추가해도 좋다. 이 경우에는 2D/3D 재생장치의 플레인 합성 처리의 구성은 도 86과 같이 된다. 도 86에는 PSR34가 추가되어 있다. 이것은 비디오 시프트를 할지 여부의 On/Off를 나타내는 플래그를 저장한다. 즉, PSR34이 1이면 비디오 시프트를 하는 것을 의미하고, 0이면 비디오 시프트를 하지 않는 것을 의미한다. 비디오 시프트의 On/Off의 플래그인 PSR34는 프로그램 실행부에 의해 메뉴 등에 의해 제어한다. 플레이어의 OSD 등에 의한 사용자 오퍼레이션에 의해 설정할 수 있어도 좋다. PSR32에는 비디오 시프트 모드가 저장되지만, 이값은 PG의 스트림의 선택에 의하여 선택된 자막 스트림의 부가정보를 바탕으로 설정된다. 영상 플레인 크로핑부(9701)는 PSR34가 On의 경우에는 PSR32로 설정된 video_shift_mode에 의거하여 영상 플레인의 크로핑 처리를 실행한다. PSR34가 Off의 경우에는 크로핑 처리를 실행하지 않는다. 이와 같이 구성함으로써 자막마다 적절한 video_shift_mode를 설정할 수 있다.
또, 도 85에 나타내는 것과 같이 video_shift_mode를 스트림 선택정보의 스트림 부가정보(1311)에 저장하는 경우에는 스트림 선택테이블에 등록되는 PG스트림의 순서를 video_shift_mode가 동일한 속성의 것이 모이도록 실시한다. 2D/3D 재생장치의 리모컨에는 일반적으로 자막 변환 버튼이 붙어 있고, 사용자가 자막 변환 버튼을 누를 때마다 스트림 선택테이블에 등록되어 있는 자막 스트림의 순서로 순차적으로 바뀌는 사용자 오퍼레이션이 정의되어 있다. 사용자가 이 리모컨의 자막 변환 버튼에 의하여 자막을 바꾸는 경우, 비디오 플레인이 위, 아래로 빈번하게 움직이면 영상을 보기 어려워져서 사용자에 대하여 불쾌감을 주게 된다. 따라서, 스트림 선택테이블에 등록하는 PG스트림의 순서는 도 13에 나타내는 것과 동일한 video_shift_mode가 연속하도록 모이게 해서 나열한다. 예를 들어, 도 13의 예에서는 자막 엔트리 1~3는 video_shift_mode=Keep이고, 자막 엔트리 4~5는 video_shift_mode=Up이며, 자막 엔트리 6~9는 video_shift_mode=Down으로 되어 있다. 이와 같이 동일한 비디오 시프트 모드의 자막을 모아서 나열함으로써 빈번하게 비디오 플레인이 시프트 하는 것을 방지할 수 있다.
또, video_shift_mode가 Keep, Up, Down으로 천이하는 경우에 순시에 바뀌면 사용자에 대하여 부자연스러운 인상을 주게 된다. 따라서, Keep, Up, Down이 천이하는 경우에는 매끄러운 효과를 바꾸어서 천이하는 것이 바람직하다. 또, 이 경우 PG 플레인의 시프트 처리는 비디오 플레인의 시프트가 완료하고 나서 적용하는 것이 바람직하다.
또, 본 실시의 형태에서는 동적으로 검은 테두리를 위나 아래의 영역에 모으는 방법을 설명했지만, 도 87 상단과 같이 본편 영상을 한가운데가 아니라 조금 위쪽에 배치하여 비디오 스트림을 작성하고, 아래 쪽에 검은 테두리를 넉넉하게 배치하고 이 영역을 자막 표시에 이용하도록 해도 좋다. 이와 같이 함으로써 자막 표시를 위해서 검은 테두리를 동적으로 변경하지 않아 좋으므로 비디오가 상하로 이동하는 일이 없어서 사용자에게 위화감을 주지 않는다.
또, 도 81의 도면을 이용해서 설명한 것처럼 PG의 스트림의 팰릿 정보에는 컬러 ID=255는 무색 투명의 색이 고정으로 할당되지만, 이값을 2D/3D 재생장치가 제어하여 검은 테두리 자막을 만들도록 해도 좋다. 구체적으로는 시스템 파라미터 PSR37에 컬러 ID=255의 색의 값을 저장하고, 2D/3D 재생장치는 PSR37에 따라 PG 플레인의 컬러 ID=255의 색을 변경하도록 한다. 이와 같이 함으로써 도 87 하단의 좌측 도면과 같이 자막의 배경색을 컬러 ID=255로 해 두면 통상은 투명색으로 배경이 비쳐 보이지만, 도 87 하단의 우측 도면과 같이 컬러 ID=255를 투과도가 없는 색으로 변경하면 자막의 배경색을 바꾸는 것이 가능하다. PSR37의 값은 BD 프로그램의 메뉴 화면 등에서 설정 가능하다.
(제 9 실시형태)
본 실시형태에서는 앞에서 설명한 실시형태에서 설명된 구조의 데이터를 재생하는 재생장치에 관해서 집적회로(3)를 이용해서 실현한 구성 예(도 100)에 대해서 설명한다.
매체 IF부(1)는 매체로부터 데이터를 수신하고(판독하고), 집적회로(3)에 전송한다. 또, 매체 IF부(1)는 앞에서 설명한 실시형태에서 설명한 구조의 데이터를 매체로부터 수신한다. 매체 IF부(1)는 예를 들어 매체가 광디스크나 하드 디스크의 경우는 디스크 드라이브, 매체가 SD카드나 USB 메모리 등의 반도체 메모리인 경우는 카드 IF, 매체가 CATV 등을 포함한 방송파의 경우는 CAN 튜너나 Si튜너, 매체가 이더넷(ethernet), 무선 LAN, 무선 공중회선 등의 네트워크의 경우는 네트워크 IF 등이다.
메모리(2)는 매체로부터 수신한(판독한) 데이터를 일단 저장하거나 집적회로(3)에서의 처리 도중의 데이터를 일시적으로 저장하는 메모리로, 예를 들어 SDRAM(Synchronous Dynamic Random Access Memory), DDRx SDRAM(Double-Date-Ratex Synchronous Dynamic Random Access Memory;x=1,2,3???) 등이 이용된다. 또, 메모리(2)는 임의의 개수 구비하고 있으면 좋고, 필요에 따라서 단수라도 복수라도 상관없다.
집적회로(3)는 매체 IF부(1)로부터 전송된 데이터에 대하여 영상?음성 처리를 실행하는 시스템 LSI로, 주 제어부(6), 스트림 처리부(5), 신호처리부(7), 메모리 제어부(9), AV 출력부(8) 등으로 구성된다.
주 제어부(6)는 타이머 기능이나 할당 기능을 갖는 프로세서 코어를 갖고, 프로세서 코어는 프로그램 메모리 등에 저장된 프로그램에 따라서 집적회로(3) 전체의 제어를 실행한다. 또, 프로그램 메모리 등에는 미리 OS 등의 기본 소프트가 저장되어 있다.
스트림 처리부(5)는 주 제어부(6)의 제어하에 매체로부터 매체 IF부(1) 경유로 전송된 데이터를 수신하고, 집적회로(3) 내의 데이터버스를 경유하여 메모리(2)에 저장하거나, 수신한 데이터를 영상계 데이터, 음성계 데이터로 분리한다. 앞에서 설명한 것과 같이, 매체 상의 데이터는 레프트 뷰 비디오 스트림을 포함하는 2D/L용의 AV 클립과 라이트 뷰 비디오 스트림을 포함하는 R용의 AV 클립이 몇 개의 익스텐트로 분할된 상태로 교호로 배치된 것이다. 따라서, 주 제어부(6)는 집적회로(3)가 레프트 뷰 스트림을 포함한 좌측 눈 용 데이터를 수신한 경우는 메모리(2)의 제 1 영역에 데이터가 저장되도록 제어하고, 라이트 뷰 비디오 스트림을 포함한 우측 눈 용 데이터를 수신한 경우는 메모리(2)의 제 2 영역에 데이터가 저장되도록 제어한다. 여기서, 좌측 눈 용 데이터는 좌측 눈 용 익스텐트에 속해 있고, 우측 눈 용 데이터는 우측 눈 용 익스텐트에 속해 있다. 또, 메모리(2)에서의 제 1, 제 2 영역은 단일의 메모리가 논리적으로 영역 분할된 것이어도 좋고, 물리적으로 다른 메모리라도 좋다. 또, 본 실시형태에서는 레프트 뷰 비디오 스트림을 포함한 좌측 눈 용 데이터를 메인 뷰 데이터, 라이트 뷰 비디오 스트림을 포함한 우측 눈 용 데이터를 서브 뷰 데이터로 설명을 계속하지만, 우측 눈 용 데이터가 메인 뷰 데이터, 좌측 눈 용 데이터가 서브 뷰 데이터라도 상관없다. 또, 매체 중, 그래픽스 스트림은 메인 뷰 데이터 및 서브 뷰 데이터의 어느 일방, 또는 양쪽 모두에 다중화되어 있거나, 단독의 스트림으로 존재한다.
신호처리부(7)는 주 제어부(6)의 제어하에 스트림 처리부(5)가 분리한 영상계 데이터, 음성계 데이터에 대하여 적절한 방식으로 디코드한다. 영상계 데이터는 MPEG-2, MPEG-4 AVC, MPEG4-MVC, SMPTE VC-1 등의 방식을 사용하여 부호화 기록되어 있고, 또 음성계 데이터는 돌비 AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD, 리니어 PCM 등의 방식으로 압축?부호화 기록되어 있으므로 신호처리부(7)는 이들에 대응한 방식으로 디코드한다. 또, 신호처리부(7)의 모델은 예를 들어 제 1 실시형태의 도 16에서의 각종 디코더가 그것에 해당한다.
메모리 제어부(9)는 집적회로(3) 내의 각 기능 블록에서 메모리(2)로의 액세스를 조정한다.
AV 출력부(8)는 주 제어부(6)의 제어하에 신호처리부(7)에서 디코드 된 영상계 데이터를 중첩하거나 영상계 데이터의 포맷 변환 등을 하여 집적회로(3) 외로 출력한다.
도 101은 스트림 처리부(5)의 대표적인 구성을 나타내는 기능 블록도이다. 스트림 처리부(5)는 디바이스?스트림 IF부(51), 다중 분리부(52), 스위칭부(53) 등을 구비한다.
디바이스?스트림 IF부(51)는 매체 IF부(1)와 집적회로(3) 사이의 데이터 전송용 인터페이스이며, 예를 들어 매체가 광디스크나 하드 디스크의 경우는 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부(51)가 매체 IF부(1)의 기능의 일부를 대신해도 상관없고, 매체 IF부(1)가 집적회로(3)에 내장되어 있어도 상관없다.
다중 분리부(52)는 매체로부터 전송된 영상?음성을 포함한 재생 데이터를 영상계 데이터와 음성계 데이터로 분리한다. 앞에서 설명한 각 익스텐트는 영상?음성?PG(자막)?IG(메뉴) 등의 각 소스 패킷으로 구성되어 있고(단, 서브 뷰 데이터는 음성을 포함하지 않는 경우도 있다), 각 소스 패킷에 포함되어 있는 PID(식별자)에 따라서 영상계?음성계의 각 TS 패킷으로 분리하고, 신호처리부(7)에 전송한다. 처리가 완료된 데이터는 직접 또는 일단 메모리(2)에 저장된 후, 신호처리부(7)에 전송된다. 또, 다중 분리부(52)의 모델은 예를 들어 제 8 실시형태의 도 79에서의 소스 디패킷다이저, PID 필터가 그것에 해당한다. 또, 메인 뷰 데이터나 서브 뷰 데이터에 다중화되어 있지 않은 단독의 스트림으로 존재하는 그래픽스 스트림은 다중분리부(52)를 통하지 않고 신호처리부(7)에 전송된다.
스위칭부(53)는 디바이스?스트림 IF부(51)가 좌측 눈 용 데이터를 수신한 때에는 메모리(2)의 제 1 영역에 저장되도록, 우측 눈 용 데이터를 수신한 때에는 메모리(2)의 제 2 영역에 저장되도록 출력 처(저장 처)를 전환한다. 여기서, 스위칭부(53)는 예를 들어 DMAC(Direct Memory Access Controller)이다. 도 102는 스위칭부(53)가 DMAC인 경우의 스위칭부(53) 주변의 개념도이다. DMAC는 주 제어부(6)의 제어하에 디바이스?스트림 IF부가 수신한 데이터와 그 데이터 저장 처 어드레스를 메모리 제어부(9)에 대하여 송신한다. 구체적으로는, 디바이스?스트림 IF부가 좌측 눈 용 데이터를 수신한 때는 어드레스 1(제 1 저장영역)을, 우측 눈 용 데이터를 수신한 때는 어드레스 2(제 2 저장영역)를 메모리 제어부(9)에 송신함으로써 수신 데이터에 의해 그 출력 처(저장 처)를 전환하고 있다. 메모리 제어부(9)는 DMAC로부터 보내져 온 저장 처 어드레스에 따라서 메모리(2)에 데이터를 저장한다. 또, 주 제어부(6) 대신에 스위칭부(53)를 제어하는 전용의 회로를 설치해도 상관없다.
여기에서는 스트림 처리부(5)의 대표적인 구성으로 디바이스?스트림 IF부(51), 다중 분리부(52), 스위칭부(53)에 대하여 설명했지만, 수신한 암호화 데이터나 키 데이터 등을 복호 하는 암호 엔진부, 매체~재생장치 사이의 기기인증 프로토콜 등의 실행 제어나 비밀키를 보유하는 시큐어 관리부, 다이렉트 메모리 액세스용의 컨트롤러 등을 더 구비하고 있어도 좋다. 지금까지는 매체로부터 수신한 데이터를 메모리(2)에 저장할 때에 스위칭부(53)가 좌측 눈 용 데이터?우측 눈 용 데이터 등에 의해서 저장 처를 전환하는 경우에 대하여 설명해 왔지만, 매체로부터 수신한 데이터를 일단 메모리(2)에 저장한 후, 다중 분리부(52)에 데이터를 전송할 때 좌측 눈 용 데이터?우측 눈 용 데이터를 분리해도 좋다.
도 103은 AV 출력부(8)의 대표적인 구성을 나타내는 기능 블록도이다. AV 출력부(8)는 화상 중첩부(81)와 비디오 출력 포맷 변환부(82), 오디오?비디오 출력 IF부(83) 등을 구비한다.
화상 중첩부(81)는 디코드 된 영상계의 데이터를 중첩한다. 구체적으로는 레프트 뷰 비디오 데이터 또는 라이트 뷰 비디오 데이터와, PG(자막), IG(메뉴)를 픽처 단위로 중첩한다. 화상 중첩부(81)의 모델은 예를 들어 제 1 실시형태, 도 20-도 22 등이다. 보다 구체적으로는 디코드 된 비디오 데이터 및 자막데이터는 메모리(2) 중의 각 플레인에 묘사되는 데이터를 저장하는 영역에 저장된다. 여기서, 플레인은 메모리(2) 중의 영역이기도 하고, 가상적인 공간이기도 하다. 화상 중첩부(81)는 레프트 뷰 플레인과 대응하는 자막 플레인, 라이트 뷰 플레인과 대응하는 자막 플레인을 중첩한다. 그리고 레프트 뷰 플레인 및 라이트 뷰 플레인은 중첩하는 자막데이터(스트림)에 대응한 영역확보 플래그에 의거하여 영역확보 플래그가 나타내는 자막데이터의 표시영역에 자막데이터가 중첩 되도록 자막데이터와 중첩 된다(예를 들어, 제 1 실시형태, 도 12 등). 즉, 영역확보 플래그가 나타내는 자막데이터의 표시영역이 상단인 경우는 레프트 뷰 플레인 및 라이트 뷰 플레인은 수직 좌표의 하 방향으로 시프트 되어서 자막데이터와 중첩되고, 영역확보 플래그가 나타내는 자막데이터의 표시영역이 하단인 경우는 레프트 뷰 플레인 및 라이트 뷰 플레인은 수직 좌표의 상 방향으로 시프트 되어서 자막데이터와 중첩된다.
비디오 출력 포맷 변환부(82)는 디코드 된 영상계 데이터에 대하여 확대 또는 축소하는 리사이즈 처리, 주사 방식을 프로그래시브 방식 및 인터레이스 방식의 일방에서 타방으로 변환하는 IP변환 처리, 노이즈를 제거하는 노이즈 축소 처리, 프레임 레이트를 변환하는 프레임 레이트 변환 처리 등을 필요에 따라서 실시한다.
오디오?비디오 출력 IF부(83)는 화상 중첩이나 포맷 변환된 영상계 데이터와 디코드 된 음성계 데이터에 대하여 데이터 송신 형식에 맞춰서 인코드 등을 실시한다. 또, 후술하는 것과 같이 오디오?비디오 출력 IF부(83)는 일부 집적회로(3) 외에 구비되어 있어도 상관없다.
도 104는 AV출력부(8) 또는 재생장치의 데이터 출력 부분을 더 상세하게 나타낸 구성 예이다. 본 실시의 형태에서의 집적회로(3) 및 재생장치는 복수의 영상계 데이터, 음성계 데이터의 데이터 송신 형식에 대응하고 있다. 도 103에서의 오디오?비디오 출력 IF부(83)는 아날로그 비디오 출력 IF부(83a), 아날로그 오디오 출력 IF부(83c), 디지털 오디오?출력 IF부(83b)에 대응한다.
아날로그 비디오 출력 IF부(83a)는 화상중첩처리나 출력 포맷 변환 처리된 영상계 데이터를 아날로그 영상신호형식으로 변환?인코드하고 출력한다. 예를 들어 NTSC, PAL, SECAM의 3 방식의 어느 것에 대응한 콤포지트(composite) 비디오 인코더, S영상신호(Y/C분리)용 인코더, 컴포넌트 영상신호용 인코더나 DAC(D/A 컨버터) 등이 그것에 해당한다.
디지털 오디오?비디오 출력 IF부(83b)는 디코드 된 음성계 데이터와 화상중첩처리나 출력 포맷 변환된 영상계 데이터를 일체화하고, 더 암호화한 후, 데이터 송신규격에 맞춰서 인코드해서 출력한다. 예를 들어 HDMI(High-Definition Multimedia InterFace) 등이 그것에 해당한다.
아날로그 오디오 출력 IF부(83c)는 디코드 된 음성계 데이터를 D/A 변환하여 아날로그 음성 데이터를 출력하는 오디오 DAC 등이 그것에 해당한다.
이들 영상계 데이터 및 음성계 데이터의 송신 형식은 표시장치?스피커(4) 측이 지원하고 있는 데이터 수신장치(데이터 입력 단자)에 의존해서 전환하거나, 또 사용자의 선택에 의해 송신 형식을 전환하는 것이 가능하다. 또, 단일의 송신 형식만이 아니라 병행하여 복수의 송신 형식으로 동일한 콘텐츠에 대응한 데이터를 송신하는 것도 가능하다.
여기에서는 AV 출력부(8)의 대표적인 구성으로 화상 중첩부(81), 비디오 출력 포맷 변환부(82), 오디오?비디오 출력 IF부(83)에 대하여 설명했지만, 필터 처리, 화면 합성, 곡선 묘사, 3D표시 등의 그래픽스 처리를 실행하는 그래픽스 엔진부 등을 더 구비하고 있어도 좋다.
이상이 본 실시형태에서의 재생장치의 구성에 대한 설명이다. 또, 앞에서 설명한 집적회로(3)에 포함되는 각 기능 블록은 모두가 내장되어 있지 않아도 좋고, 역으로 도 100의 메모리(2)가 집적회로(3)에 내장되어 있어도 좋다. 또, 본 실시형태에서는 주 제어부(6)와 신호처리부(7)는 다른 기능 블록으로 설명해 왔지만, 주 제어부(6)가 신호처리부(7)의 처리의 일부를 실시해도 상관없다.
또, 예를 들어 도 107과 같이 본 실시형태에서의 재생장치의 처리를 표시장치에서 실시해도 상관없다. 그때, 매체 IF부(1)가 수신한 데이터는 집적회로(3)에 의해 신호 처리되며, 처리된 영상계 데이터는 표시 구동부(10)를 경유하여 표시 패널(11)을 통해서 출력되고, 처리된 음성계 데이터는 스피커(12)를 통해서 출력된다. 여기서, AV 출력부(8)는 예를 들어 도 108과 같이 구성되고, 집적회로(3) 내부 또는 외부의 오디오 출력 IF부(85) 및 비디오 출력 IF부(84)를 통해서 데이터 전송이 이루어진다. 또, 오디오 출력 IF부(85) 및 비디오 출력 IF부(84)를 각각 복수 구비하고 있어도 좋고, 비디오와 오디오 공통의 IF부를 구비하고 있어도 좋다.
또, 집적회로(3)에서의 제어버스나 데이터버스의 경로는 각 처리 블록의 처리순서나 처리내용에 의해 임의로 배치되지만, 예를 들어 도 105와 같이 각 처리 블록끼리를 직접 연결하도록 데이터버스를 배치해도 좋고, 도 106과 같이 각 처리 블록끼리를 메모리(2) (메모리 제어부(9))를 개재하여 연결하도록 데이터버스를 배치해도 좋다.
또, 집적회로(3)는 복수의 칩을 하나의 패키지에 밀봉하고, 외관상 하나의 LSI로 한 다중 칩?모듈이어도 상관없다.
또, LSI 제조 후에 프로그램할 수 있는 FPGA(Field Programmable Gate Array)나, LSI 내부의 회로 셀의 접속이나 설정을 재구성 가능한 리컨피규러블?프로세서를 이용해도 좋다.
다음에 이상과 같이 구성된 재생장치의 동작에 대하여 설명한다.
도 109는 매체로부터 데이터를 수신하고(판독), 디코드한 후에 영상신호 및 음성 신호로서 출력하는 재생동작순서를 간단하게 나타낸 플로차트이다.
S1 : 매체로부터 데이터를 수신한다(판독한다) (매체 IF부(1), 스트림 처리부(5)).
S2 : S1에서 수신된(판독된) 데이터를 각종 데이터(영상계 데이터?음성계 데이터)로 분리한다(스트림 처리부(5)).
S3 : S2에서 분리된 각종 데이터를 적절한 형식으로 디코드한다(신호처리부(7)).
S4 : S3에서 디코드 처리된 각종 데이터 중 영상계의 것에 대하여 중첩 처리를 실행한다(AV 출력부(8)).
S6 : S2~S5에서 처리된 영상계 데이터 및 음성계 데이터를 출력한다(AV 출력부(8)).
도 110은 더 상세하게 재생동작순서를 나타낸 플로차트이다. 각 동작?처리는 주 제어부(6)의 제어하에 이루어진다.
S101 : 스트림 처리부(5)의 디바이스?스트림 IF부(51)는 매체 IF부(1)를 통해서 매체에 저장되어서 재생되는 데이터 이외의 데이터를 재생하기 위해서 필요한 데이터(PLAYLIST, CLIPINF 등)를 수신하고(판독), 메모리(2)에 저장한다(매체 IF부(1), 디바이스 IF부(51), 메모리 제어부(9), 메모리(2)).
S102 : 주 제어부(6)는 수신된 CLIPINF에 포함되는 스트림 속성정보로부터 매체에 저장되어 있는 영상 데이터 및 음성 데이터의 압축 형식을 인식하고, 대응하는 디코드 처리를 할 수 있도록 신호처리부(7)의 초기화를 실시한다(주 제어부(6)).
S103 : 스트림 처리부(5)의 디바이스?스트림 IF부(51)는 매체 IF부(1)를 통해서 매체에 저장되어 있는 영상?음성 등 재생되는 데이터를 수신하고(판독), 스위칭부(53), 메모리 제어부(9)를 경유하여 메모리(2)에 저장한다. 또, 데이터는 익스텐트 단위로 수신하고(판독되고), 좌측 눈 용 데이터를 수신한(판독한) 때에는 제 1 영역에, 우측 눈 용 데이터를 수신한(판독한) 때에는 제 2 영역에 저장되도록 주 제어부(6)가 스위칭부(53)를 제어하고, 스위칭부(53)가 데이터의 출력 처(저장 처)를 전환한다(매체 IF부(1), 디바이스 IF부(51), 주 제어부(6), 스위칭부(53), 메모리 제어부(9), 메모리(2)).
S104 : 메모리(2)에 저장된 데이터는 스트림 처리부(5)의 다중 분리부(52)에 전송되며, 다중 분리부(52)는 스트림 데이터를 구성하는 소스 패킷에 포함되는 PID에 따라서 영상계(주 영상, 부 영상, PG(자막), IG(메뉴)), 음성계(음성, 부 음성)의 어느 것인가를 인식하고, TS 패킷 단위로 신호처리부(7)의 대응하는 각 디코더에 전송한다(다중 분리부(52)).
S105 : 신호처리부(7)의 각 디코더는 전송되어 온 TS 패킷에 대하여 적절한 방식으로 디코드 처리를 실행한다(신호처리부(7)).
S106 : 신호처리부(7)에서 디코드 된 영상계 데이터 중 레프트 뷰 비디오 스트림 및 라이트 뷰 비디오 스트림에 대응하는 데이터를 표시장치(4)에 맞춰서 리사이즈 한다(비디오 출력 포맷 변환부(82)).
S107 : S106에서 리사이즈된 비디오 스트림과 PG(자막)?IG(메뉴), 텍스트 자막이 중첩된다(화상 중첩부(81)).
S108 : S107에서 중첩된 영상 데이터에 대하여 주사 방식의 변환인 IP변환을 실시한다(비디오 출력 포맷 변환부(82)).
S109 : 지금까지의 처리를 실행한 영상계 데이터 및 음성계 데이터에 대하여 표시장치?스피커(4)의 데이터 출력 방식, 또는 표시장치?스피커(4)로의 데이터 송신 방식에 따라서 인코드나 D/A변환 등을 실시한다. 예를 들어 영상계 데이터?음성계 데이터를 각각 아날로그 또는 디지털 출력에 대응하기 위해서 처리를 실행한다. 영상계 데이터의 아날로그 출력으로는 콤퍼짓 영상신호나 S영상신호나 컴포넌트 영상신호 등을 지원하고 있다. 또, 영상계?음성계 데이터의 디지털 출력은 HDMI를 지원하고 있다(오디오?비디오 출력 IF부(83)).
S110 : S109에서 처리된 영상계 데이터 및 음성계 데이터를 표시장치?스피커(4)에 송신, 출력한다(오디오?비디오 출력 IF부(83), 표시장치?스피커(4)).
이상이 본 실시형태에서의 재생장치의 동작순서의 설명이다. 또, 처리마다 처리 결과를 메모리(2)에 일단 저장해도 상관없다. 또, 도 107의 표시장치로 재생처리를 실행한 경우도 기본적으로 동일한 동작순서이며, 도 100의 재생장치의 각 기능 블록에 대응하는 기능 블록이 동일한 처리를 실행한다. 또, 본 동작순서에서는 비디오 출력 포맷 변환부(82)에서 리사이즈 처리 및 IP변환 처리를 실행하는 경우에 대하여 설명했지만, 필요에 따라서 처리를 생략해도 상관없고, 또 다른 처리(노이즈 축소 처리, 프레임 레이트 변환 처리 등)를 실시해도 상관없다. 또, 가능한 것에 대해서는 처리순서를 변경해도 상관없다.
(비고)
이상, 본원의 출원 시점에서 출원인이 알 수 있는 최선의 실시형태에 대하여 설명했지만, 이하에 나타내는 기술적 토픽에 대해서는 한층 더 개량이나 변경 실시를 부가할 수 있다. 각 실시형태에서 설명한 것과 같이 실시하는가, 이러한 개량?변경을 부가하는가 여부는 모두 임의적이고, 실행하는 사람의 주관에 의한 것임에 유의하기 바란다.
(오프셋 메타데이터)
각 실시형태에서 설명한 오프셋 메타데이터는 지금까지 설명한 형식에 한정되지 않고 다른 데이터 형식에서도 실현할 수 있다. 이하에 오프셋 메타데이터의 다른 데이터 형식을 열거한다.
도 89는 오프셋 메타데이터의 제 1의 데이터 형식을 설명하는 도면이다.
제 1의 데이터 형식에서는 오프셋 메타데이터를 클립정보 파일에 저장한다. 이 경우에는 도 89 (a)에 나타내는 것과 같이 PTS와 복수의 offset_id의 오프셋량을 하나의 엔트리로 한 테이블 정보를 가지도록 해도 좋다. 구체적인 syntax는 도 89 (b)에 기록되어 있다.
도 90은 오프셋 메타데이터의 제 2의 데이터 형식을 설명하는 도면이다. 각 실시형태에서 설명한 오프셋 메타데이터는 각 GOP의 선두의 액세스유닛에 저장되고, 해당 GOP 내의 프레임에 적용되는 것으로 했다. 제 2의 데이터 형식에서는 클립정보 파일에 오프셋 메타데이터를 저장하는 경우, 도 90 (a)에 나타내는 것과 같이 엔트리포인트마다 다음의 엔트리포인트까지의 오프셋 메타데이터를 저장한다. 구체적인 syntax는 도 90 (b)에 나타내는 것과 같이 엔트리포인트의 ID인 EP_ID에 대응된 구성으로 되어 있다. 이와 같이 구성하면 EP_ID에 의해 PTS를 특정할 수 있으므로, 도 89의 데이터 형식에 비해 PTS의 값을 저장할 필요가 없으므로 데이터량을 압축할 수 있다. 또, 이와 같은 구성으로 하면 비디오 스트림의 액세스 유닛과 클립정보 파일의 양쪽에 오프셋 메타데이터를 저장하는 경우에 저장되어 있는 오프셋 메타데이터가 동일하다는 것의 검증이 용이하다.
도 91은 오프셋 메타데이터의 제 3의 데이터 형식을 설명하는 도면이다. 각 실시의 형태에서는 오프셋 메타데이터에 오프셋 시퀀스 ID 마다 오프셋 시퀀스를 저장하고, PG스트림마다 참조 오프셋 시퀀스 ID를 사용하여 오프셋 값을 참조하는 것으로 했지만, 제 3의 데이터 형식에서는 이와 같은 오프셋 메타데이터를 플레이리스트정보 파일에 저장한다. 도 91 (a)는 플레이리스트정보 파일에 저장하는 오프셋 메타데이터의 syntax를 나타내고 있다. 최초의 루프 11201은 플레이아이템의 루프이다. number_of_offsets[playitem]는 플레이아이템 중의 오프셋 엔트리 수를 나타낸다. number_of_offset_id[playitem]는 오프셋 시퀀스 ID의 수를 나타낸다. 2번째의 루프 11202는 플레이아이템 중의 오프셋 엔트리의 루프이다. 하나의 루프 내의 정보를 오프셋 엔트리로 한다. offset_frame_number는 플레이아이템 선두로부터의 비디오 프레임 수를 나타낸다. offset_frame_number는 PTS라도 좋지만, 프레임 수로 함으로써 데이터량을 압축할 수 있다. offset_frame_duration는 다음의 오프셋 엔트리까지의 오프셋 값이 삽입되는 간격을 나타낸다. number_of_suboffsets는 offset_frame_number[i]로부터 다음의 오프셋 엔트리까지의 간격에 삽입되는 오프셋 값의 수를 의미한다. 도 91 (b)에 offset_frame_number[i], offset_frame_duration[i], number_of_suboffsets[i]의 관계를 나타내고 있다. 오프셋 값은 11203의 루프로 나타내는 것과 같이 오프셋 ID 마다 오프셋 값이 저장된다. 또, offset_frame_number는 1개 앞의 오프셋 엔트리로부터의 차분 비디오 프레임 수로 해도 좋다.
도 92는 오프셋 메타데이터의 제 4의 데이터 형식을 설명하는 도면이다. 제 4의 데이터 형식은 오프셋 메타데이터를 플레이리스트정보 파일에 저장하는 다른 형식이며, 도 92 (a)에 나타내는 것과 같이 앞의 플레이아이템과 동일한지 여부를 나타내는 플래그(is_same_as_previous_playitem)를 추가하고 있다. BD-ROM의 루프 하는 동화상 메뉴를 작성하는 경우에는 도 92 (b)과 같이 동일한 클립을 참조하는 플레이아이템을 마치 무한 루프 하듯이 다수의 플레이아이템을 플레이리스트 내에서 반복하는 구성이 취해진다. 이 경우에는 동일한 오프셋 메타데이터를 플레이아이템 수만큼 준비하면 데이터량이 지나치게 증가해 버려서 2D/3D 재생장치의 메모리량의 증가가 필요하다. 이에, is_same_as_previous_playitem이 1의 경우에는 2D/3D 재생장치는 1개 앞의 플레이아이템의 오프셋 메타데이터 정보를 참조함으로써 데이터량의 삭감이 가능해진다.
도 93은 오프셋 메타데이터의 제 5의 데이터 형식을 설명하는 도면이다.
제 5의 데이터 형식은 오프셋 메타데이터를 플레이리스트정보 파일에 저장하는 또 다른 형식이며, 도 93에 나타내는 것과 같이 동일한 오프셋 메타데이터를 사용하는 플레이아이템으로의 참조 ID(ref_playitem_id_of_same_offset_metadata)를 추가하고 있다. 2D/3D 재생장치는 ref_playitem_id_of_same_offset_metadata가 무효를 나타내는 0xFFFF가 아닌 경우에는 ref_playitem_id_of_same_offset_metadata가 가리키는 플레이아이템과 동일한 오프셋 메타데이터를 적용한다. 이와 같이 함으로써 동일한 오프셋 메타데이터를 갖는 복수 플레이아이템에 대해서 하나의 오프셋 메타데이터만을 정의하면 좋아지므로 데이터량을 압축할 수 있다.
도 94는 오프셋 메타데이터의 제 6의 데이터 형식을 설명하는 도면이다.
제 6의 데이터 형식은 오프셋 메타데이터를 플레이리스트정보 파일에 저장하는 또 다른 형식이다.
이 데이터 형식에서는 도 94에 나타내는 것과 같이, 플레이아이템 단위로 루프 하는 헤더와 오프셋 메타데이터를 저장하는 영역을 나누고 있다. 플레이아이템과 오프셋 메타데이터는 offset_block_id로 관련되어 있다. 이에 의해 동일한 오프셋 메타데이터를 사용하는 복수의 플레이아이템이 있는 경우에 1개의 오프셋 메타데이터를 정의하면 좋아지므로 데이터량을 압축할 수 있다. 또, 헤더에는 해당 오프셋 메타데이터가 저장되는 파일의 어드레스 값(start_address)을 저장해도 좋다. 이와 같이 함으로써 플레이아이템 단위에서의 액세스가 용이하게 된다.
또, 도 89에서 도 94에 나타낸 syntax에서는 오프셋 메타데이터의 엔트리를 offset_direction, offset_value로 7 bit로 하고 있으나, 어느 일련의 오프셋 메타데이터에 대한 차분의 형태로 오프셋 메타데이터를 준비해도 좋다. 이렇게 함으로써 offset_direction, offset_value를 작게 할 수 있다.
또, 그 외의 데이터 형식으로 오프셋 메타데이터를 오디오 워터마크의 기술을 사용하여 오디오 스트림 상에 매입해도 좋다. 또는 비디오 워터마크의 기술을 사용하여 비디오 스트림에 매입해도 좋다.
(PG스트림)
자막의 개수를 줄여서 스트림의 대역 증가를 억제하기 위해서는 1개의 PG스트림을 1 plane+Offset 방식에서 사용하는 PG스트림과 2 플레인 L/R방식에서 사용하는 좌우 어느 일방의 PG스트림으로 공용하는 것이 유효하다.
그러나 이와 같이 구성한 경우에는 도 95에 나타내는 것과 같이 좌측 눈 용 그래픽스 및 우측 눈 용 그래픽스의 차가 크고 깊이가 강한(사용자 측에 돌출되어 있다) 장소와 좌측 눈 용 그래픽스 및 우측 눈 용 그래픽스의 차가 작고 깊이가 약한 장소가 천이하는 경우, 각 그래픽스는 좌우로 움직임을 수반하게 된다. 도 95의 예에서 예를 들어 깊이가 약한 장면으로부터 깊이가 강한 장면으로 자막데이터를 움직이는 경우에는 좌측 눈 용 그래픽스는 우 방향에, 우측 눈 용 그래픽스는 좌 방향에 어긋나게 된다. 이 좌측 눈 용 그래픽스를 2D표시용이나 1 plane+Offset 방식의 자막에 이용했을 경우에는 마찬가지로 좌측으로 어긋나게 되어서 사용자에게 부자연스러운 인상을 주게 된다.
이에, 2D표시용 자막 및 1 plane+Offset 방식 자막을 위화감 없이 표시하기 위해서 도 96과 같이 표시 위치가 고정되도록 콤포지션 정보의 표시 위치를 설정한다. 또, 2 플레인 L/R방식의 좌측 눈 용 PG로 표시하기 위한 오프셋(l_offset)을 콤포지션 정보에 별도로 준비한다. 그리고 2 플레인 L/R방식으로 표시하는 경우에는 2D/3D 재생장치는 콤포지션 정보의 표시 위치에 상기 오프셋 값을 더하여 표시한다. 이와 같이 구성함으로써 2D표시 자막, 1 plane+Offset 방식 자막, 2 플레인 L/R방식의 좌측 눈 용 자막을 동일한 스트림을 이용하도록 한 경우에도 어느 표시 모드로 표시해도 위화감 없이 표시하는 것이 가능해진다.
(점프재생의 고속화)
도 97 (a)는 FileBase와 FileDependent의 익스텐트가 인터리브되고 있는 구성을 나타내고 있고, 디스크 상의 데이터 영역 R[2]의 선두에 부가되어 있는 삼각형은 FileDependent의 엔트리포인트의 디스크 상의 위치, 디스크 상의 데이터 영역 L[2]의 선두에 부가되어 있는 삼각형은 FileBase 엔트리포인트의 디스크 상의 위치를 나타낸다. 이때, 2D/3D 재생장치는 해당 엔트리포인트로부터 점프 재생을 실행하는 것과 같은 경우에는 디스크 상의 데이터 영역인 R[2]의 데이터를 판독하고, 그 후, L[2]를 판독하면서 디코드를 개시하게 된다. R[2]의 데이터 판독이 완료할 때까지 다음의 L[2]를 판독할 수 없으므로 디코드를 개시할 수 없다.
이에, 엔트리포인트까지의 판독으로부터 재생까지의 시간을 단축하기 위해서 도 97 (b)과 같은 구성으로 한다. 도 97 (b)에서는 File2D는 디스크 상의 데이터 영역의 L[0], L[1], L[2]for2D, L[3]을 가리키고, FileSS는 디스크 상의 데이터 영역의 L[0], L[1], L[2]for3D, L[3]을 가리키며, L[2]for2D와 L[2]for3D는 동일한 데이터가 되도록 구성된다. 이와 같이 함으로써 재생경로는 다르지만 동일한 데이터를 판독할 수 있다. 또, 도 97 (b)에서는 L[2]for3D와 대응하는 우측 눈 AV클립의 데이터는 작은 단위로 인터리브되고 있다(화살표 10701의 범위). 이와 같이 구성함으로써 2D/3D 재생장치가 해당 엔트리포인트로부터 재생개시를 실행하는 경우에는 선두의 FileDependent의 익스텐트는 도 97 (a)에 나타내는 구성보다 작게 할 수 있으므로 엔트리포인트로의 점프로부터 디코드 개시까지의 시간을 빠르게 할 수 있다.
(부가정보)
부가정보는 이하의 정보요소를 포함하는 확장 스트림 선택테이블로 플레이리스트정보의 확장 정보 필드 내에 포함되어도 좋다.
「상단대 영역 존부 플래그(upper end region flag)」는 PG_텍스트 자막 스트림의 재생시에서의 상단대 영역 확보가 존재하는가 여부를 지시하는 플래그이다.
「상단대 영역 스트림 엔트리」는 PG_텍스트 자막 스트림의 재생패스가 귀속하고 있는 서브패스를 지정하는 서브패스 식별자 레퍼런스(ref_to_Subpath_id)와, PG_텍스트 자막 스트림이 저장되어 있는 스트림 파일을 지정하는 스트림 파일 레퍼런스(ref_to_subClip_entry_id)와, 당해 스트림 파일에서의 PG_텍스트 자막 스트림의 패킷 식별자(ref_to_stream_PID_subclip)를 포함한다.
「상단대 영역 깊이 레퍼런스 정보」는 상단대 영역에서 자막을 표시시키는 경우의 PG_텍스트 자막 스트림용의 오프셋 시퀀스를 참조하기 위한 레퍼런스 정보이며, 상단대 영역에서 자막을 표시시키는 경우의 PG_텍스트 자막 스트림을 위한 오프셋 시퀀스를 지시한다. 재생장치는 이 필드에 의해 제공된 오프셋을 PG 플레인에 적용하지 않으면 안 된다.
「하단대 영역 존부 플래그」는 PG_텍스트 자막 스트림의 재생시에서의 하단대 영역이 존재하는지 여부를 지시하는 플래그이다.
「하단대 영역 스트림 엔트리」는 PG_텍스트 자막 스트림의 재생패스가 귀속하고 있는 서브패스를 지정하는 서브패스 식별자 레퍼런스(ref_to_Subpath_id)와, PG_텍스트 자막 스트림이 저장되어 있는 스트림 파일을 지정하는 스트림 파일 레퍼런스(ref_to_subClip_entry_id)와, 당해 스트림 파일에서의 PG_텍스트 자막 스트림의 패킷 식별자(ref_to_stream_PID_subclip)를 포함한다.
「하단대 영역 깊이 레퍼런스 정보」는 하단대 영역에서 자막을 표시시키는 경우의 PG_텍스트 자막 스트림용의 오프셋 시퀀스를 참조하기 위한 레퍼런스 정보이며, 하단대 영역에서 자막을 표시시키는 경우의 PG_텍스트 자막 스트림을 위한 오프셋 시퀀스를 지시한다. 재생장치는 이 필드에 의해 제공된 오프셋을 PG 플레인에 적용하지 않으면 안 된다.
(광디스크의 재생)
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 (11)

  1. 입체 시 화상을 구성하는 비디오 스트림과 플레이리스트정보와 복수의 자막 스트림이 기록된 기록매체로,
    플레이리스트정보는 스트림 선택테이블과 부가정보를 포함하고,
    스트림 선택테이블은 평면 시 재생 모드에서 재생을 허가해야 할 자막 스트림의 스트림 번호를 스트림 엔트리 및 스트림 속성에 대응시켜서 나타내며,
    부가정보는 스트림 선택테이블에서의 스트림 번호에 대응되어 있고, 영역확보 플래그를 포함하며,
    영역확보 플래그는 재생장치가 입체 시 재생 모드로 설정되어 있는 경우의 자막의 표시영역이 비디오 플레인의 상단인가 또는 하단인가를 나타내고,
    자막의 표시영역이 비디오 플레인의 상단인 것이 영역확보 플래그에 의해 나타나는 경우, 비디오 스트림은 재생장치에 의해 비디오 플레인의 하 방향으로 시프트해서 묘사되며,
    자막의 표시영역이 비디오 플레인의 하단인 것이 영역확보 플래그에 의해 나타나는 경우, 비디오 스트림은 재생장치에 의해 비디오 플레인의 상 방향으로 시프트해서 묘사되는 것을 특징으로 하는 기록매체.
  2. 제 1 항에 있어서,
    비디오 플레인의 하 방향 또는 상 방향의 시프트량을 규정하는 시프트 제어정보를 포함하는 것을 특징으로 하는 기록매체.
  3. 제 1 항에 있어서,
    상기 스트림 선택테이블에서의 스트림 엔트리의 스트림 번호는 복수의 자막 스트림을 선택할 때의 각 자막 스트림의 우선순서를 나타내는 것을 특징으로 하는 기록매체.
  4. 제 3 항에 있어서,
    자막의 표시영역이 비디오 플레인의 상단임을 나타내는 영역확보 플래그를 포함하는 복수의 부가정보는 연속하는 스트림 번호에 대응되어 있고,
    자막의 표시영역이 비디오 플레인의 하단임을 나타내는 영역확보 플래그를 포함하는 복수의 부가정보는 다른 연속하는 스트림 번호에 대응되어 있는 것을 특징으로 하는 기록매체.
  5. 입체 시 화상을 구성하는 비디오 스트림과 플레이리스트정보와 복수의 자막 스트림이 기록된 기록매체를 재생하는 재생장치로,
    플레이리스트정보는 스트림 선택테이블과 부가정보를 포함하고,
    스트림 선택테이블은 평면 시 재생 모드에서 재생을 허가해야 할 자막 스트림의 스트림 번호를 스트림 엔트리 및 스트림 속성에 대응시켜서 나타내며,
    부가정보는 스트림 선택테이블에서의 스트림 번호에 대응되어 있고, 영역확보 플래그를 포함하며,
    영역확보 플래그는 재생장치가 입체 시 재생 모드로 설정되어 있는 경우의 자막의 표시영역이 비디오 플레인의 상단인가 또는 하단인가를 나타내고,
    상기 재생장치는,
    현재의 재생 모드가 평면 시 재생 모드, 입체 시 재생 모드의 어디 쪽인지를 나타내는 모드 기억부와,
    현재 스트림 번호를 저장하고 있는 스트림 번호 레지스터와,
    현재 스트림 번호에 대응하는 부가정보의 영역확보 플래그가 자막의 표시영역은 비디오 플레인의 상단인 것을 나타내고 있는가, 또는 하단인 것을 나타내고 있는가를 저장하고 있는 영역확보 레지스터와,
    비디오 스트림을 디코드하는 비디오 디코더와,
    디코드에 의해 얻어진 픽쳐를 저장하는 비디오 플레인과,
    복수의 자막 스트림 중 현재 스트림 번호에 대응하는 것을 디코드하고, 디코드에 의해 얻어진 자막을 비디오 플레인에 합성하는 자막 디코더를 구비하며,
    영역확보 레지스터가 자막의 표시영역은 비디오 플레인의 상단임을 나타내고 있는 경우, 비디오 스트림을 비디오 플레인의 하 방향으로 시프트 하여 묘사하고,
    영역확보 레지스터가 자막의 표시영역은 비디오 플레인의 하단임을 나타내고 있는 경우, 비디오 스트림을 비디오 플레인의 상 방향으로 시프트 하여 묘사하며,
    상기 자막 디코더는,
    현재 스트림 번호에 대응하는 부가정보의 영역확보 플래그가 나타내는 표시영역에 자막 스트림의 디코드에 의해 얻어진 자막을 기입하는 것을 특징으로 하는 재생장치.
  6. 메인 뷰 비디오 스트림과 서브 뷰 비디오 스트림과 메타데이터가 기록된 기록매체로,
    상기 메인 뷰 비디오 스트림은 입체 시 영상의 메인 뷰를 구성하는 픽쳐 데이터를 포함하고,
    상기 서브 뷰 비디오 스트림은 입체 시 영상의 서브 뷰를 구성하는 픽쳐 데이터를 포함하며,
    상기 메타데이터는 복수의 표시장치의 화면사이즈 정보에 대응하는 오프셋 보정 값을 포함하고,
    상기 오프셋 보정 값은 상기 메인 뷰를 구성하는 픽쳐 데이터가 묘사되는 메인 뷰 비디오 플레인 및 상기 서브 뷰를 구성하는 픽쳐 데이터가 묘사되는 서브 뷰 비디오 플레인의 적어도 일방을 수평좌표의 우 방향 및 좌 방향으로 이동시키는 오프셋을 규정하는 것을 특징으로 하는 기록매체.
  7. 제 6 항에 있어서,
    상기 메인 뷰 비디오 플레인 및 상기 서브 뷰 비디오 플레인의 적어도 일방에는 그래픽스 데이터가 묘사된 그래픽스 플레인이 중첩되어 있고,
    상기 오프셋 보정 값은 그래픽스 플레인이 중첩된 메인 뷰 비디오 플레인 및 상기 서브 뷰 비디오 플레인의 적어도 일방을 수평좌표의 우 방향 및 좌 방향으로 이동시키는 오프셋을 규정하는 것을 특징으로 하는 기록매체.
  8. 메인 뷰 비디오 스트림과 서브 뷰 비디오 스트림과 메타데이터가 기록된 기록매체를 재생하는 재생장치로,
    상기 메인 뷰 비디오 스트림은 입체 시 영상의 메인 뷰를 구성하는 픽쳐 데이터를 포함하고,
    상기 서브 뷰 비디오 스트림은 입체 시 영상의 서브 뷰를 구성하는 픽쳐 데이터를 포함하며,
    상기 메타데이터는 복수의 표시장치의 화면사이즈 정보에 대응하는 오프셋 보정 값을 포함하고,
    상기 오프셋 보정 값은 상기 메인 뷰를 구성하는 픽쳐 데이터가 묘사되는 메인 뷰 비디오 플레인 및 상기 서브 뷰를 구성하는 픽쳐 데이터가 묘사되는 서브 뷰 비디오 플레인의 적어도 일방을 수평좌표의 우 방향 및 좌 방향으로 이동시키는 오프셋을 규정하고,
    상기 재생장치는,
    상기 메인 뷰 비디오 스트림 및 상기 서브 뷰 비디오 스트림을 디코드함으로써 메인 뷰를 구성하는 픽쳐 데이터 및 서브 뷰를 구성하는 픽쳐 데이터를 얻는 비디오 디코더와,
    상기 메인 뷰를 구성하는 픽쳐 데이터가 묘사되는 메인 뷰 비디오 플레인과,
    상기 서브 뷰를 구성하는 픽쳐 데이터가 묘사되는 서브 뷰 비디오 플레인을 갖고,
    상기 메타데이터로부터 접속되고 있는 표시장치의 화면사이즈에 의거한 오프셋 보정 값을 추출하고, 메인 뷰 비디오 플레인 및 서브 뷰 비디오 플레인의 적어도 일방을 수평좌표의 우 방향 및 좌 방향으로 이동시키는 것을 특징으로 하는 재생장치.
  9. 제 8 항에 있어서,
    상기 메인 뷰 비디오 플레인 및 상기 서브 뷰 비디오 플레인의 적어도 일방에는 그래픽스 데이터가 묘사된 그래픽스 플레인이 중첩되어 있고,
    그래픽스 플레인이 중첩된 메인 뷰 비디오 플레인 및 서브 뷰 비디오 플레인의 적어도 일방을 수평좌표의 우 방향 및 좌 방향으로 이동시키는 것을 특징으로 하는 재생장치.
  10. 제 8 항에 있어서,
    상기 재생장치는 접속되고 있는 표시장치로부터 취득한 화면사이즈를 저장하는 설정 레지스터를 구비하는 것을 특징으로 하는 재생장치.
  11. 평면 시 영상의 재생에 이용되는 메인 뷰 비디오 스트림과, 상기 메인 뷰 비디오 스트림과 조합되어서 입체 시 영상의 재생에 이용되는 서브 뷰 비디오 스트림과, 플레이리스트정보와, 복수의 자막 스트림을 포함한 데이터를 수신하여 영상 신호 처리를 실행하는 반도체 집적회로로,
    상기 플레이리스트정보는 각 상기 복수의 자막 스트림에 대응한 영역확보 플래그를 포함하고,
    영역확보 플래그는 자막의 표시영역이 비디오 플레인의 상단인가 또는 하단인가를 나타내며,
    상기 메인 뷰 비디오 스트림은 메인 뷰 트랜스포트 스트림으로 다중화된 후, 복수의 메인 뷰 데이터 군으로 분할되고,
    상기 서브 뷰 비디오 스트림은 서브 뷰 트랜스포트 스트림으로 다중화된 후, 복수의 서브 뷰 데이터 군으로 분할되며,
    상기 데이터에서 상기 메인 뷰 데이터 군과 상기 서브 뷰 데이터 군은 교호로 배치되어 있고,
    상기 데이터에서 상기 각 복수의 자막 스트림은 상기 메인 뷰 트랜스포트 스트림 또는 상기 서브 뷰 트랜스포트 스트림에 다중화되어 있거나 또는 단독의 스트림으로 존재하며,
    상기 반도체 집적회로는,
    상기 반도체 집적회로의 제어를 실행하는 주 제어부와,
    상기 데이터를 수신하고, 상기 반도체 집적회로의 내부 또는 외부에 설치된 메모리에 일단 저장한 후, 비디오 데이터와 자막데이터에 다중분리하는 스트림 처리부와,
    상기 비디오 데이터와 다중분리된 자막데이터 또는 단독으로 존재하는 자막 스트림 중의 자막데이터를 각각 디코드하는 신호 처리부와,
    디코드 된 상기 비디오 데이터를 출력하는 AV출력부를 구비하고 있고,
    상기 스트림 처리부는 수신한 상기 데이터 중 상기 메인 뷰 데이터 군과 상기 서브 뷰 데이터 군이 교호로 배치된 데이터의 저장 처를 상기 메모리 내의 제 1 영역과 제 2 영역의 사이에서 바꾸는 스위칭부를 구비하고 있으며,
    상기 주 제어부는 상기 메인 뷰 데이터 군에 속해 있는 데이터를 상기 제 1 영역에 저장하도록 상기 스위칭부를 제어하고, 상기 서브 뷰 데이터 군에 속해 있는 데이터를 상기 제 2 영역에 저장하도록 상기 스위칭부를 제어하며,
    상기 디코드 된 비디오 데이터 중 상기 메인 뷰 데이터 군에 속해 있는 데이터는 상기 메모리 내의 제 3 영역에 저장되고, 상기 제 3 영역은 상기 메인 뷰 비디오 플레인에 대응하고 있으며,
    상기 디코드 된 비디오 데이터 중 상기 서브 뷰 데이터 군에 속해 있는 데이터는 상기 메모리 내의 제 4 영역에 저장되고, 상기 제 4 영역은 상기 서브 뷰 비디오 플레인에 대응하고 있으며,
    상기 디코드 된 자막데이터는 상기 메모리 내의 제 5 영역에 저장되고, 상기 제 5 영역은 자막 플레인에 대응하고 있으며,
    상기 AV출력부는 상기 디코드 된 비디오 데이터와 상기 디코드 된 자막데이터를 중첩하는 화상 중첩부를 구비하고 있고,
    상기 화상 중첩부는 상기 영역확보 플래그가 나타내는 자막의 표시영역이 비디오 플레인의 상단인 경우에는 상기 메인 뷰 비디오 플레인 및 상기 서브 뷰 비디오 플레인을 수직 좌표의 하 방향으로 시프트시켜서, 상기 영역확보 플래그가 나타내는 자막데이터의 표시영역에 자막이 중첩되도록 상기 디코드 된 비디오 데이터와 상기 디코드 된 자막데이터를 중첩하며,
    상기 화상 중첩부는 상기 영역확보 플래그가 나타내는 자막의 표시영역이 비디오 플레인의 하단인 경우에는 상기 메인 뷰 비디오 플레인 및 상기 서브 뷰 비디오 플레인을 수직 좌표의 상 방향으로 시프트시켜서, 상기 영역확보 플래그가 나타내는 자막데이터의 표시영역에 자막이 중첩되도록 상기 디코드 된 비디오 데이터와 상기 디코드 된 자막데이터를 중첩하는 것을 특징으로 하는 반도체 집적회로.
KR1020117007329A 2009-06-17 2010-06-16 3d 영상을 재생하기 위한 정보기록매체 및 재생장치 KR20120036791A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009144568 2009-06-17
JPJP-P-2009-144568 2009-06-17

Publications (1)

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

Family

ID=43356178

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117007329A KR20120036791A (ko) 2009-06-17 2010-06-16 3d 영상을 재생하기 위한 정보기록매체 및 재생장치

Country Status (13)

Country Link
US (1) US8121460B2 (ko)
EP (1) EP2445224B1 (ko)
JP (3) JP4733785B2 (ko)
KR (1) KR20120036791A (ko)
CN (1) CN102172033B (ko)
BR (1) BRPI1005171A2 (ko)
DK (1) DK2445224T3 (ko)
ES (1) ES2634941T3 (ko)
MX (1) MX2011003076A (ko)
RU (1) RU2520325C2 (ko)
TW (1) TW201130287A (ko)
WO (1) WO2010146847A1 (ko)
ZA (1) ZA201101979B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101361108B1 (ko) * 2013-02-05 2014-02-13 한국과학기술원 Dibr 3d영상 저작권 보호를 위한 워터마킹 시스템 및 그 방법
KR20200123786A (ko) * 2018-02-22 2020-10-30 돌비 인터네셔널 에이비 Mpeg-h 3d 오디오 스트림에 내장된 보조 미디어 스트림들의 처리를 위한 방법 및 장치

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8737810B2 (en) * 2002-11-15 2014-05-27 Thomson Licensing Method and apparatus for cropping of subtitle elements
US8074248B2 (en) 2005-07-26 2011-12-06 Activevideo Networks, Inc. System and method for providing video content associated with a source image to a television in a communication network
US9031381B2 (en) * 2006-07-20 2015-05-12 Panopto, Inc. Systems and methods for generation of composite video from multiple asynchronously recorded input streams
WO2008088741A2 (en) 2007-01-12 2008-07-24 Ictv, Inc. Interactive encoded content system including object models for viewing on a remote device
US9826197B2 (en) 2007-01-12 2017-11-21 Activevideo Networks, Inc. Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
US20110013888A1 (en) * 2009-06-18 2011-01-20 Taiji Sasaki Information recording medium and playback device for playing back 3d images
TW201130289A (en) * 2009-07-14 2011-09-01 Panasonic Corp Image reproducing apparatus
US9025933B2 (en) 2010-02-12 2015-05-05 Sony Corporation Information processing device, information processing method, playback device, playback method, program and recording medium
WO2011155212A1 (ja) * 2010-06-11 2011-12-15 富士フイルム株式会社 立体画像表示装置、立体撮像装置、及び方法
WO2012017603A1 (ja) * 2010-08-06 2012-02-09 パナソニック株式会社 再生装置、集積回路、再生方法、プログラム
KR20120017649A (ko) * 2010-08-19 2012-02-29 삼성전자주식회사 디스플레이장치 및 그 제어방법
US8942543B1 (en) * 2010-10-06 2015-01-27 Verint Video Solutions Inc. Systems, methods, and software for improved video data recovery effectiveness
US9021541B2 (en) 2010-10-14 2015-04-28 Activevideo Networks, Inc. Streaming digital video between video devices using a cable television system
JP5306544B2 (ja) 2010-11-05 2013-10-02 富士フイルム株式会社 画像処理装置、画像処理プログラム、画像処理方法、及び記憶媒体
JP5673172B2 (ja) * 2011-02-09 2015-02-18 ソニー株式会社 電子機器、電子機器における立体画像情報送信方法、および電子機器における立体画像情報受信方法
JP2012178706A (ja) * 2011-02-25 2012-09-13 Toshiba Corp 映像表示方法および映像表示装置
US9516379B2 (en) 2011-03-08 2016-12-06 Qualcomm Incorporated Buffer management in video codecs
JP2012209942A (ja) * 2011-03-14 2012-10-25 Panasonic Corp 3次元映像処理装置および3次元映像処理方法
WO2012138660A2 (en) 2011-04-07 2012-10-11 Activevideo Networks, Inc. Reduction of latency in video distribution networks using adaptive bit rates
JP2012220888A (ja) * 2011-04-13 2012-11-12 Nikon Corp 撮像装置
JP5052683B1 (ja) * 2011-04-19 2012-10-17 株式会社東芝 電子機器および映像表示方法
US20120281073A1 (en) * 2011-05-02 2012-11-08 Cisco Technology, Inc. Customization of 3DTV User Interface Position
US9338474B2 (en) 2011-09-23 2016-05-10 Qualcomm Incorporated Reference picture list construction for video coding
CN103067680A (zh) * 2011-10-21 2013-04-24 康佳集团股份有限公司 一种2d转3d视频格式下的osd显示方法及系统
US9218109B2 (en) 2011-10-28 2015-12-22 Panasonic Corporation Recording medium, playback device, recording device, playback method and recording method for editing recorded content while maintaining compatibility with old format
CN102521805B (zh) * 2011-11-30 2013-07-24 华中科技大学 基于帧间信息的视频文字处理方法
US10409445B2 (en) * 2012-01-09 2019-09-10 Activevideo Networks, Inc. Rendering of an interactive lean-backward user interface on a television
KR101872859B1 (ko) * 2012-01-20 2018-06-29 엘지전자 주식회사 디스플레이 장치 및 그 제어방법
US9800945B2 (en) 2012-04-03 2017-10-24 Activevideo Networks, Inc. Class-based intelligent multiplexing over unmanaged networks
US9123084B2 (en) 2012-04-12 2015-09-01 Activevideo Networks, Inc. Graphical application integration with MPEG objects
WO2013183947A1 (ko) * 2012-06-05 2013-12-12 엘지전자 주식회사 3d 방송 서비스를 위한 방송 신호 처리 방법 및 장치
JP2015524233A (ja) * 2012-06-19 2015-08-20 トムソン ライセンシングThomson Licensing 向上したプレイリストコンテンツ選択システムおよび方法
US9756282B2 (en) * 2012-11-20 2017-09-05 Sony Corporation Method and apparatus for processing a video signal for display
KR20140099146A (ko) * 2013-02-01 2014-08-11 한국전자통신연구원 다중 영상 기반 방송 서비스를 위한 다중 영상의 기준 pcr 결정 방법 및 그 장치
WO2014145921A1 (en) 2013-03-15 2014-09-18 Activevideo Networks, Inc. A multiple-mode system and method for providing user selectable video content
US9219922B2 (en) 2013-06-06 2015-12-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
US9326047B2 (en) 2013-06-06 2016-04-26 Activevideo Networks, Inc. Overlay rendering of user interface onto source video
US9294785B2 (en) 2013-06-06 2016-03-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
CN103699584B (zh) * 2013-12-06 2017-11-24 福建星网视易信息系统有限公司 一种终端播放方法及系统
US10475227B1 (en) * 2014-02-28 2019-11-12 Ansys, Inc. Systems and methods for three dimensional computation and visualization using a parallel processing architecture
US9788029B2 (en) 2014-04-25 2017-10-10 Activevideo Networks, Inc. Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks
KR101530826B1 (ko) 2014-08-18 2015-06-24 정관호 360도 공간영상 재생방법 및 그 시스템
CN104965693A (zh) * 2014-08-29 2015-10-07 腾讯科技(深圳)有限公司 一种视频处理的方法和系统
EP3118854B1 (en) 2014-09-10 2019-01-30 Panasonic Intellectual Property Corporation of America Recording medium, playback device, and playback method
JP6471915B2 (ja) * 2014-09-12 2019-02-20 ソニー株式会社 再生装置、再生方法、情報処理装置、情報処理方法、プログラム
JP2016081553A (ja) * 2014-10-17 2016-05-16 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 記録媒体、再生方法、および再生装置
JP2016100039A (ja) * 2014-11-17 2016-05-30 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 記録媒体、再生方法、および再生装置
WO2016079925A1 (ja) * 2014-11-17 2016-05-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 記録媒体、再生方法、および再生装置
US10225600B2 (en) * 2015-04-13 2019-03-05 Sony Corporation Transmission device, transmission method, reproduction device and reproduction method
GB2557194A (en) * 2016-11-29 2018-06-20 Sony Corp A decoder, encoder, computer program and method
US10958890B2 (en) * 2017-03-31 2021-03-23 Samsung Electronics Co., Ltd. Method and apparatus for rendering timed text and graphics in virtual reality video
EP3988187B1 (en) 2017-04-11 2023-10-18 Dolby Laboratories Licensing Corporation Layered augmented entertainment experiences
CN110383811A (zh) * 2018-06-29 2019-10-25 深圳市大疆创新科技有限公司 图像处理方法及装置、第一电子设备和图像处理系统

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08331456A (ja) * 1995-05-31 1996-12-13 Philips Japan Ltd 字幕移動装置
CN1286327C (zh) 1996-02-28 2006-11-22 松下电器产业株式会社 光盘重放装置及光盘记录装置
JPH10150608A (ja) * 1996-11-19 1998-06-02 Sanyo Electric Co Ltd デジタル放送システムのユーザ側端末
JP4356202B2 (ja) * 2000-06-29 2009-11-04 パナソニック株式会社 映像信号処理装置
EP1529400A4 (en) * 2002-07-16 2009-09-23 Korea Electronics Telecomm DEVICE AND METHOD FOR ADAPTING A TWO-DIMENSIONAL AND THREE-DIMENSIONAL STEREOSCOPIC VIDEO SIGNAL
JP2004112169A (ja) * 2002-09-17 2004-04-08 Victor Co Of Japan Ltd 色調整装置及び色調整方法
ATE517413T1 (de) * 2003-04-09 2011-08-15 Lg Electronics Inc Aufzeichnungsmedium mit datenstruktur zur verwaltung der wiedergabe von textuntertiteldaten und verfahren und vorrichtungen zum aufzeichnen und wiedergeben
US20040213542A1 (en) * 2003-04-22 2004-10-28 Hiroshi Hamasaka Apparatus and method to reproduce multimedia content for a multitude of resolution displays
JP2005123775A (ja) * 2003-10-15 2005-05-12 Sony Corp 再生装置、再生方法、再生プログラムおよび記録媒体
KR100619053B1 (ko) * 2003-11-10 2006-08-31 삼성전자주식회사 서브 타이틀을 기록한 정보저장매체 및 그 처리장치
CN1700329B (zh) * 2004-01-29 2010-06-16 索尼株式会社 再现装置、再现方法、再现程序和记录介质
RU2351997C2 (ru) * 2004-02-10 2009-04-10 ЭлДжи ЭЛЕКТРОНИКС ИНК. Носитель информации с наличием структуры данных для управления различными потоками данных и способы и устройства записи и воспроизведения
JP4673885B2 (ja) * 2004-03-26 2011-04-20 エルジー エレクトロニクス インコーポレイティド 記録媒体及びテキストサブタイトルストリームの再生方法及びその装置
KR20060047266A (ko) * 2004-04-26 2006-05-18 엘지전자 주식회사 기록매체, 기록매체의 재생방법과 재생장치
JP4692950B2 (ja) * 2004-06-11 2011-06-01 ソニー株式会社 データ処理装置およびデータ処理方法、プログラムおよびプログラム記録媒体、並びにデータ記録媒体
JP2007004896A (ja) * 2005-06-23 2007-01-11 Toshiba Corp 情報記憶媒体、情報転送方法、情報再生方法、及び情報記録方法
JP2007316613A (ja) * 2006-04-26 2007-12-06 Matsushita Electric Ind Co Ltd 字幕表示制御装置
US8711203B2 (en) * 2006-10-11 2014-04-29 Koninklijke Philips N.V. Creating three dimensional graphics data
CN101842840B (zh) 2007-11-01 2012-03-07 松下电器产业株式会社 记录媒体、再现装置、记录装置、再现方法及记录方法
JP2009135686A (ja) * 2007-11-29 2009-06-18 Mitsubishi Electric Corp 立体映像記録方法、立体映像記録媒体、立体映像再生方法、立体映像記録装置、立体映像再生装置
JP4946874B2 (ja) * 2008-01-09 2012-06-06 ソニー株式会社 再生装置および再生方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101361108B1 (ko) * 2013-02-05 2014-02-13 한국과학기술원 Dibr 3d영상 저작권 보호를 위한 워터마킹 시스템 및 그 방법
KR20200123786A (ko) * 2018-02-22 2020-10-30 돌비 인터네셔널 에이비 Mpeg-h 3d 오디오 스트림에 내장된 보조 미디어 스트림들의 처리를 위한 방법 및 장치

Also Published As

Publication number Publication date
JP5451667B2 (ja) 2014-03-26
US8121460B2 (en) 2012-02-21
JP2011120301A (ja) 2011-06-16
CN102172033B (zh) 2013-07-17
CN102172033A (zh) 2011-08-31
JP5491437B2 (ja) 2014-05-14
DK2445224T3 (en) 2017-08-21
WO2010146847A1 (ja) 2010-12-23
ES2634941T3 (es) 2017-09-29
MX2011003076A (es) 2011-04-19
BRPI1005171A2 (pt) 2019-07-02
EP2445224A4 (en) 2013-12-04
ZA201101979B (en) 2012-04-25
RU2520325C2 (ru) 2014-06-20
TW201130287A (en) 2011-09-01
EP2445224A1 (en) 2012-04-25
RU2011120907A (ru) 2013-07-27
JPWO2010146847A1 (ja) 2012-11-29
JP4733785B2 (ja) 2011-07-27
EP2445224B1 (en) 2017-05-03
US20110150421A1 (en) 2011-06-23
JP2011120302A (ja) 2011-06-16

Similar Documents

Publication Publication Date Title
JP5451667B2 (ja) 3d映像を再生するための半導体集積回路
JP5497679B2 (ja) 半導体集積回路
JP5416073B2 (ja) 半導体集積回路
JP5291026B2 (ja) 3d映像を再生する再生装置、および配信装置
WO2010143439A1 (ja) 再生装置、集積回路、記録媒体
US20110013888A1 (en) Information recording medium and playback device for playing back 3d images
WO2010095410A1 (ja) 記録媒体、再生装置、集積回路
KR20110126514A (ko) 기록매체, 재생장치, 집적회로
KR20110074823A (ko) 3d 영상에 관한 기록매체, 재생장치, 시스템 lsi, 재생방법, 안경 및 표시장치

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