KR101375067B1 - 기록매체, 재생장치, 재생방법, 프로그램 - Google Patents

기록매체, 재생장치, 재생방법, 프로그램 Download PDF

Info

Publication number
KR101375067B1
KR101375067B1 KR1020087005102A KR20087005102A KR101375067B1 KR 101375067 B1 KR101375067 B1 KR 101375067B1 KR 1020087005102 A KR1020087005102 A KR 1020087005102A KR 20087005102 A KR20087005102 A KR 20087005102A KR 101375067 B1 KR101375067 B1 KR 101375067B1
Authority
KR
South Korea
Prior art keywords
stream
video stream
secondary video
picture
video
Prior art date
Application number
KR1020087005102A
Other languages
English (en)
Other versions
KR20080033488A (ko
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 KR20080033488A publication Critical patent/KR20080033488A/ko
Application granted granted Critical
Publication of KR101375067B1 publication Critical patent/KR101375067B1/ko

Links

Images

Classifications

    • 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/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1262Formatting, e.g. arrangement of data block or words on the record carriers with more than one format/standard, e.g. conversion from CD-audio format to R-DAT format
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/11Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information not detectable on the record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4335Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
    • 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
    • H04N5/45Picture in picture, e.g. displaying simultaneously another television channel in a region of the screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/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
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1264Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
    • G11B2020/1288Formatting by padding empty spaces with dummy data, e.g. writing zeroes or random data when de-icing optical discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/213Read-only discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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
    • 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/8233Transformation 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 character code signal

Abstract

로컬 기억장치(200)에 복수의 비디오 스트림과 STN_table이 기록된다. 복수의 비디오 스트림 각각은 프라이머리 비디오 스트림과 함께 재생될 세컨더리 비디오 스트림이며, 친 화상과 자 화상으로 구성된 픽처 인 픽처에서 표시될 자 화상을 나타내는 픽처 데이터를 포함한다. STN_table에서, 재생이 허가된 세컨더리 비디어 스트림의 엔트리가 우선 순서로 기술된다.
합성, 프라이머리, 세컨더리, PIP, 엔트리, 우선, BDROM

Description

기록매체, 재생장치, 재생방법, 프로그램{RECORDING MEDIUM, PLAYBACK APPATATUS, METHOD AND PROGRAM}
본 발명은 픽처 인 픽처(Picture In Picture) 기술분야에 속하는 발명이다.
픽처 인 픽처란, 주 화면 위에 부 화면을 중첩한 합성 영상을 표시하는 기술로, 주 화면상의 부 화면의 위치를 변화시키고, 합성 영상의 표시 및 비 표시의 스위칭을 실현한다.
DVD 플레이어의 표준 모델의 구성은 이하의 문헌 1에 기재되어 있다.
특허문헌 1 : 일본국 특허 제2813245호
이와 같은 픽처 인 픽처를 DVD-Video 규격의 애플리케이션 포맷으로 실현하기 위해서는 비디오 스트림이 2개 이상 필요해진다. 왜냐하면, DVD-Video 플레이어의 표준 모델은 복수의 비디오 스트림을 동시에 디코드하여, 시간 및 위치를 지정한 상태에서, 2개 이상의 비디오를 중첩해서 표시하는 기능을 갖도록 설계한 것은 아니기 때문이다. 가령, 합성 영상과 그렇지 않은 영상을 스위칭하거나 합성 영상의 위치를 바꾸기 위해서, 합성이 이루어진 스트림, 합성이 이루어지지 않은 스트림, 그리고 합성위치가 다른 스트림을 개별로 DVD-Video에 기록한 상태에서, 이들의 선택 재생을 DVD-Video 플레이어에 명령할 필요가 있다.
한편, BD-ROM에서도 영상이 SDTV 대응에서 HDTV 대응이 되고, 데이터량이 증가하였으므로, 합성이 이루어진 스트림, 합성이 이루어지지 않은 스트림, 그리고 합성위치가 다른 스트림을 개별로 BD-ROM에 기록하려고 하면 전체 데이터 사이즈가 커져서, 픽처 인 픽처 실현을 위한 비디오 스트림이 BD-ROM에 모두 넣을 수 없다. 그러므로 BD-ROM 규격에서는, BD-ROM 플레이어의 표준 모델이 복수의 비디오 스트림을 동시에 디코드하고, 그 결과 얻어진 2개의 비 압축 비디오를 중첩시키는 기능을 구비하여 왔다.
이와 같은 기능이 표준 모델에 존재하므로, BD-ROM에는 프라이머리(primary) 비디오를 구성하는 프라이머리 비디오 스트림 및 세컨더리(secondary) 비디오를 구성하는 세컨더리 비디오 스트림을 개별로 기록해두면 된다. 이 경우, 프라이머리 비디오에 해당하는 부분을 중복해서 BD-ROM에 기록할 수 없으므로, 이와 같은 기록형식은 데이터 사이즈의 관점에서 유리하다. 또, 미리 영상이 내장되어 있지 않기 때문에, 세컨더리 비디오의 합성 위치 및 시간을 프로그램이나 사용자의 조작에 의해 스위칭할 수 있어서, 범용성의 향상이라는 효과가 있다.
그러나 BD-ROM의 프라이머리 비디오는 HDTV 대응으로 작성된 것이 많은데 대해 세컨더리 비디오는 50프레임/초의 인터레이스 방식(50i), 60프레임/초의 인터레이스 방식(60i)으로 작성되는 경우가 있다. 왜냐하면, 세컨더리 비디오 스트림은 작은 윈도로 화면 중에 표시되므로, 프라이머리 비디오의 절반 이하의 해상도라도 좋기 때문이다. 그러나 50i, 60i를 재생할 수 있는가 여부는 재생장치에 따라서 차이가 있다. 왜냐하면, 50i는 PAL방식이고 60i는 NTSC방식이며, 이들을 재생하는 능 력은 그 방송권역의 재생장치에는 존재하나, 그 이외의 방송권역의 재생장치에는 존재하지 않는 것이 통상이기 때문이다. 따라서 예를 들어 세컨더리 비디오가 PAL방식으로 작성된 경우에는, 이 세컨더리 비디오를 기록한 기록매체가 NTSC방식의 방송권역의 재생장치에 장전되면 당해 재생장치는 픽처 인 픽처를 실행할 수 없다.
또, 세컨더리 비디오를 HDTV 대응으로 작성한 경우에도 재생장치에 따라서는 세컨더리 비디오를 디코드할 수 없게 되는 경우가 있다. 왜냐하면, BD-ROM 재생장치의 표준 모델은 프라이머리 비디오용 비디오 디코더와 세컨더리 비디오용의 비디오 디코더를 각각 구비할 것이 예정되어 있으나, 세컨더리 비디오용 디코더에까지 HDTV 영상의 디코드 기능을 요구하는 것은 재생장치의 하드웨어의 구성을 간략화할 여지를 박탈하게 되어, 제품의 저가격화에 방해가 되기 때문이다.
이상과 같이, 영상소재의 종별 및 재생장치의 능력에 따라서 픽처 인 픽처를 실행할 수 있거나 또는 실현할 수 없게 되는 것은 영화작품을 제작하는 제작자 및 재생장치를 제작하는 제조업체의 입장에서 새로운 불안요인이 될지도 모른다.
본 발명의 목적은 재생장치가 디코드할 수 있는 소재의 종별에 차이가 있다고 하더라도 픽처 인 픽처를 확실하게 재생장치가 실현할 수 있는 기록매체를 제공하는 것이다.
상기 목적을 달성하기 위해서 본 발명은, 복수의 비디오 스트림 및 테이블이 기록된 기록매체로, 상기 복수의 비디오 스트림 각각은 프라이머리 비디오 스트림과 함께 재생되는 세컨더리 비디오 스트림이며, 픽처 인 픽처를 구성하는 친 화상(parent image) 및 자 화상(child image) 중 자 화상으로 표시되어야 하는 픽처 데이터를 포함하고, 상기 테이블에는 상기 복수의 세컨더리 비디오 스트림 중 재생이 허가되어 있는 것의 엔트리가 기술되어 있고, 프라이머리 비디오 스트림 및 세컨더리 비디오 스트림은 복수의 패킷으로 구성되며, 세컨더리 비디오 스트림을 구성하는 패킷에 부여되어 있는 패킷 식별자는 상위 필드 및 하위 필드로 이루어지며, 당해 상위 필드는 프라이머리 비디오 스트림을 구성하는 패킷의 패킷 식별자의 상위 필드와 다른 값을 저장하고 있고, 상기 테이블에서의 엔트리는 세컨더리 비디오 스트림을 구성하는 패킷의 패킷 식별자를 포함하는 것을 특징으로 하고 있다.
프라이머리 비디오 스트림 중에 재생 불능인 비디오 스트림이 존재하였다고 해도, 다음의 스트림을 선택하는 절차를 실행함으로써 "자신이 재생할 수 있는 것을 픽처 인 픽처에 이용한다"는 선택의 여지가 생긴다. 따라서 재생장치에서의 세컨더리 비디오의 재생능력의 유무에 차이가 있었다고 해도, 뭔가 다른 세컨더리 비디오를 재생장치에 표시하도록 하여 픽처 인 픽처를 실행하도록 할 수 있다.
재생장치의 차이에 의해 픽처 인 픽처가 실행되거나 또는 실행되지 않는다고 하는 품질의 차이를 해소할 수 있으므로, 재생장치 제작자는 픽처 인 픽처를 실현할 수 있는 재생장치를 안심하고 제작하여 보급할 수 있다.
도 1은 본 발명에 따른 기록매체의 사용행위에 대한 형태를 나타낸다.
도 2는 BD-ROM의 내부 구조를 나타낸다.
도 3은 확장자 m2ts가 부여된 파일이 어떻게 구성되어 있는가를 모식적으로 나타내는 도면이다.
도 4는 AVClip을 구성하는 TS패킷이 어떤 과정을 거쳐서 BD-ROM에 기록되는가를 나타낸다.
도 5는 BD-ROM의 물리적 단위와 하나의 파일 익스텐트를 구성하는 Source 패킷의 대응관계를 나타내는 도면이다.
도 6은 AVClip에 다중화되는 엘리멘터리 스트림을 나타내는 도면이다.
도 7은 BD-ROM에 기록되어 있는 엘리멘터리 스트림에서의 PID 할당 맵을 나타내는 도면이다.
도 8은 픽처 인 픽처의 일 예를 나타내는 도면이다.
도 9는 Clip 정보의 내부 구성을 나타내는 도면이다.
도 10은 영화의 비디오 스트림에 대한 EP_map 설정을 나타내는 도면이다.
도 11은 PlayList 정보의 데이터 구조를 나타내는 도면이다.
도 12는 AVClip과 PlayList 정보의 관계를 나타내는 도면이다.
도 13은 로컬 기억장치(200)의 내부 구성을 나타내는 도면이다.
도 14는 SubClip에 다중화되는 엘리멘터리 스트림을 나타내는 도면이다.
도 15는 BD-ROM에서의 PID 할당 맵을 나타내는 도면이다.
도 16은 PlayList 정보의 데이터 구조를 나타낸다.
도 17은 SubPath 정보의 내부 구성을 클로즈업하여 나타내는 도면이다.
도 18은 로컬 기억장치(200) 상의 SubClip, 로컬 기억장치(200) 상의 PlayList 정보 및 BD-ROM 상의 MainClip의 대응관계를 나타낸다.
도 19는 STN_table의 전체 구성을 나타내는 도면이다.
도 20은, 도 19에 나타낸 STN_table의 전체 구성 내에서, 세컨더리 비디오 스트림에서의 stream_entries를 나타낸다.
도 21 (a)는 프라이머리 비디오 스트림에서의 Stream_entry 및 Stream_attribute를 나타내는 도면이다.
도 21 (b)는 세컨더리 비디오 스트림에서의 Stream_entry를 나타낸다.
도 22는 본 발명의 재생장치의 내부 구성을 나타낸다.
도 23은 재생장치의 출력단의 구성을 나타내는 도면이다.
도 24는 컨트롤러(22)를 기능적으로 표현한 도면이다.
도 25 (a)는 PSR14의 비트 할당을 나타내는 도면이다.
도 25 (b)는 PSR29의 비트 할당을 나타내는 도면이다.
도 26은 PSR14에서의 세컨더리 비디오 스트림 번호가 취할 수 있는 상태천이를 나타내는 도면이다.
도 27은 세컨더리 비디오 스트림에서의 "Procedure when playback condition is changed"의 처리순서를 나타내는 플로차트이다.
도 28은 현재 PlayItem에 대해 최적인 스트림을 선택하는 처리순서를 나타내는 플로차트이다.
도 29는 세컨더리 비디오 스트림에서의 "Procedure when stream changed is requested"의 처리순서를 나타내는 플로차트이다.
도 30은 PiP_metadata의 내부 구성을 나타내는 도면이다.
도 31은 pip_horizontal_position 및 pip_vertical_position이 비디오 플레인에서 어떤 좌표를 취할 수 있는가를 나타낸다.
도 32는 pip_timeline_type = 1인 경우에 pip_metadata_time_stamp가 시간 축 상에 어떻게 배치되는가를 나타내는 도면이다.
도 33은 pip_timeline_type = 2인 경우에 pip_metadata_time_stamp가 시간 축 사에 어떻게 배치되는가를 나타내는 도면이다.
도 34는 pip_timeline_type = 3인 경우에 pip_metadata_time_stamp가 시간 축 상에 어떻게 배치되는가를 나타내는 도면이다.
도 35는 픽처 인 픽처에 의거한 재생제어의 순서를 나타내는 플로차트이다.
도 36은 픽처 인 픽처에 의거한 재생제어의 순서를 나타내는 플로차트이다.
도 37은 하나의 PlayItem으로 이루어지는 MainPath와 2개의 SubPlayItem으로 이루어지는 SubPath와의 관계를 나타내는 도면이다.
도 38은 PlayList 정보에 의거한 재생순서의 플로차트이다.
도 39는 SubPlayItem에서의 심리스 접속(seamless connection)의 처리순서를 나타내는 플로차트이다.
도 40은 SubPlayItem에서의 심리스 접속의 처리순서를 나타내는 플로차트이다.
도 41은 Primary_audio_stream_entry 및 Secondary_audio_stream_entry의 내부 구성과 Comb_info_Secondary_video_Secondary_audio의 내부 구성을 나타내는 도면이다.
도 42 (a)는 PSR1의 비트 할당을 나타내는 도면이다.
도 42 (b)는 PSR14의 비트 할당을 나타내는 도면이다.
도 43은 PSR14에서의 세컨더리 오디오 스트림 번호가 취득하는 상태천이를 나타내는 도면이다.
도 44는 세컨더리 오디오 스트림의 "Procedure when playback condition is changed"의 처리순서를 나타내는 플로차트이다.
도 45는 현재 PlayItem에 대해서 최적의 세컨더리 오디오 스트림을 선택하는 순서를 나타내는 플로차트이다.
도 46은 세컨더리 오디오 스트림에 대한 처리순서를 나타내는 플로차트이다.
도 47은 STN_table 중 PGtextST 스트림에 특히 관련이 있는 것을 보여주는 도면이다.
도 48 (a)는 현재 PGTextST 스트림의 스트림 번호가 취할 수 있는 수치범위를 나타내는 도면이다.
도 48 (b)는 PSR2의 비트 할당을 나타내는 도면이다.
도 49는 픽처 인 픽처용 PGtestST 스트림의 스트림 번호인 PiP_PG_TextST 스트림 번호가 이루는 상태천이를 나타내는 도면이다.
도 50은 PGtestST 스트림에 대한 "Procedure when Stream change is requested"의 처리순서를 나타내는 플로차트이다.
도 51은 현재 PlayItem에 대해서 최적인 PGTexTST 스트림을 선택하는 처리순서를 나타내는 플로차트이다.
도 52는 PGTextST 스트림에 대한 "Procedure when stream changed is requested"의 처리순서를 나타내는 플로차트이다.
도 53은 제 6 실시 예의 편집시스템의 내부 구성을 나타내는 도면이다.
도 54는 포맷팅공정에서의 처리의 흐름에 나타내는 도면이다.
도 55는 프라이머리 비디오 스트림 및 세컨더리 비디오 스트림이 어떻게 다 중화되는가를 나타내는 도면이다.
도 56은 다중화된 소스 패킷 열이 프라이머리 비디오 스트림 및 세컨더리 비디오 스트림에서 어느 GOP에 귀속하는가에 대한 귀속관계를 나타내는 도면이다.
도 57은 프라이머리 비디오에 대해서만 설정된 EP_map을 나타내는 도면이다.
도 58은 프라이머리 비디오와 세컨더리 비디오 각각에 대해서 설치된 EP_map을 나타내는 도면이다.
도 59는 PLayList 정보에 존재하는 PlayListMark 정보를 나타낸다.
도 60은 세컨더리 비디오 스트림이 존재하는 위치를 챕터로 지정한 PlayListMark 정보를 나타내는 도면이다.
도 61 (a)는 프라이머리 비디오 및 세컨더리 비디오를 구성하는 비디오 필드를 나타내는 도면이다.
도 61 (b)는 합성할 비디오 필드가 동 위상이 되는 경우를 나타낸다.
도 61 (c)는 합성할 비디오 필드가 역 위상이 되는 경우를 나타낸다.
도 62 (a)는 프라이머리 비디오에서의 비디오 필드의 우수 라인과 세컨더리 비디오에서의 비디오 필드의 우수 라인이 일치하고 있는 픽처 인 픽처 화상을 나타낸다.
도 62 (b)는 프라이머리 비디오에서의 비디오 필드의 우수 라인과 세컨더리 비디오에서의 비디오 필드의 기수 라인이 일치하고 있는 픽처 인 픽처 화상을 나타낸다.
도 63은 프라이머리 비디오를 구성하는 복수의 비디오 필드 중 임의의 하나 인 비디오 필드 Fx와 세컨더리 비디오를 구성하는 복수의 비디오 필드 중 임의의 하나인 비디오 필드 Fy를 합성하여 출력하는 경우, 이 비디오 필드 Fy의 배치위치 및 표시시점을 어떻게 조정하는가를 나타낸다.
도 64는 세컨더리 비디오의 필드 Fy를 동 위상의 프라이머리 비디오의 필드와 동시에 표시하는 케이스를 나타내는 도면이다.
도 65는 세컨더리 비디오의 필드 Fy를 역 위상의 프라이머리 비디오의 필드와 동시에 표시하는 케이스를 나타내는 도면이다.
도 66은 세컨더리 비디오의 필드 중 프라이머리 비디오의 필드의 우수 라인에 표시하는 케이스를 나타내는 도면이다.
도 67은 세컨더리 비디오의 필드 중 프라이머리 비디오의 필드의 기수 라인에 표시하는 케이스를 나타내는 도면이다.
[참조부호의 설명]
1a BD-ROM 드라이브
1b, c 리드 버퍼(read buffer)
1a, b, c ATC 카운터
2a, d 소스 디패킷타이저
2c, d ATC 카운터
3a, c STC 카운터
3b, d PID 필터
4a 트랜스포트 버퍼
4c 엘리멘터리 버퍼
4d 비디오 디코더
4e 재정렬 버퍼
4f 복호 픽처 버퍼
4g 비디오 플레인
5a 트랜스포트 버퍼
5c 엘리멘터리 버퍼
5d 비디오 디코더
5e 재정렬 버퍼
5f 복호 픽처 버퍼
5g 비디오 플레인
6a, b 트랜스포트 버퍼
7a, b 버퍼
8a, b 오디오 디코더
9a 믹서
11a 트랜스포트 버퍼
11b 인터랙티브 그래픽스 디코더
11c 인터랙티브 그래픽스 플레인
12a 트랜스포트 버퍼
12b 버퍼
12c 텍스트 기반 서브타이틀 디코더
13a 트랜스포트 버퍼
13b 프레젠테이션 그래픽스 디코더
13c 프레젠테이션 그래픽스 플레인
21 메모리
22 컨트롤러
23 PSR 세트
24 PID 변환부
25 네트워크부
26 조작접수부
41 플레이리스트 처리부
42 프로시저 실행부
43 PiP 제어부
44 믹싱 제어부
100 BD-ROM
200 로컬 기억장치
300 재생장치
400 텔레비전
500 AV 앰프
(제 1 실시 예)
이하, 본 발명의 기록매체의 실시 예에 대해서 설명한다. 먼저, 본 발명의 기록매체의 실시행위 중 사용행위에 대한 형태를 설명한다. 도 1은 본 발명의 기록매체의 사용행위에 대한 형태를 나타내는 도면이다. 도 1에서 본 발명의 기록매체는 로컬 기억장치(200)이다. 로컬 기억장치(200)는 재생장치(300), 텔레비전(400), AV 앰프(500), 스피커(600)로 구성되는 홈시어터시스템에 영화작품을 공급하는 용도로 사용된다.
이하, BD-ROM(100), 로컬 기억장치(200), 재생장치(300)에 대해서 설명한다.
BD-ROM(100)은 영화작품이 기록된 기록매체이다.
로컬 기억장치(200)는 재생장치에 내장되며, 영화 배급자의 서버로부터 분배되는 콘텐츠를 저장하는데 이용되는 하드디스크이다.
재생장치(300)는 네트워크 대응형 디지털 가전기기이며, BD-ROM(100)을 재생하는 기능을 갖는다. 또, 영화 배급자의 서버장치로부터 네트워크를 통해서 다운로드 한 콘텐츠를 로컬 기억장치(200)에 저장하며, 이와 같이 하여 로컬 기억장치(200)에 기록된 콘텐츠와 BD-ROM(100)에 기록된 콘텐츠를 조합시켜서 BD-ROM(100)의 콘텐츠를 확장/갱신을 할 수 있다. BD-ROM(100)에 기록된 콘텐츠를 로컬 기억장치(200)에 기록된 콘텐츠와 조합시켜서 BD-ROM(100)에 기록되어 있지 않은 데이터를 마치 기록되어 있는 것과 같이 취급하는 기술을 "가상 패키지"(virtual package)라고 한다.
이상이 본 발명의 기록매체의 사용형태에 대한 설명이다.
이어서 본 발명의 기록매체의 생산행위에 대해서 설명한다. 본 발명의 기록매체는 파일시스템상에서의 개량에 의해 실현할 수 있다.
<BD-ROM의 개요>
도 2는 BD-ROM의 내부 구성을 나타내는 도면이다. 본 도면의 제 4단째에 BD-ROM을 나타내고, 제 3단째에 BD-ROM 상의 트랙을 나타낸다. 본 도면의 트랙은 BD-ROM의 내주에서 외주에 걸쳐서 나선형상으로 형성되어 있는 트랙을 횡 방향으로 잡아 늘여서 묘사하고 있다. 이 트랙은 리드인(lead-in) 영역과 볼륨영역 및 리드 아웃(lead-out) 영역으로 이루어진다. 본 도면의 볼륨 영역은 물리 층과 파일시스템 층 및 응용 층이라는 계층모델을 갖는다. 디렉터리 구조를 이용하여 BD-ROM의 응용 층 포맷(애플리케이션 포맷)을 표현하면 도면 중의 제 1단째와 같이 된다. 이 제 1단째에서 BD-ROM에는 루트(Root) 디렉터리의 하부에 BDMV 디렉터리가 있다.
이 BDMV 디렉터리 아래에는 PLAYLIST 디렉터리, CLIPINF 디렉터리 및 STREAM 디렉터리라고 불리는 3개의 서브디렉터리가 더 존재한다.
PLAYLIST 디렉터리에는 확장자 mpls가 부여된 파일(00001.mpls)이 있다.
CLIPINF 디렉터리에는 확장자 clpi가 부여된 파일(00001.clpi, 00002.clpi)가 있다.
STREAM 디렉터리에는 확장자 m2ts가 부여된 파일(00001.m2ts, 00002.m2ts)이 있다.
이상의 디렉터리 구조에 의해 서로 다른 종별의 복수의 파일이 BD-ROM 상에 배치되어 있음을 알 수 있다.
<BD-ROM의 구성 1: AVClip>
먼저, 확장자 m2ts가 부여된 파일에 대해서 설명한다. 도 3은 확장자 m2ts가 부여된 파일이 어떻게 구성되어 있는가를 모식적으로 나타내는 도면이다. 확장자 m2ts가 부여된 파일(00001.m2ts, 00002.m2ts)은 AVClip을 저장하고 있다. AVClip은 MPEG 2-Transport Stream 형식의 디지털 스트림이다. 이 디지털 스트림은, 디지털화된 영상 및 디지털화된 음성(상 1단째)을 PES 패킷으로 이루어지는 엘리멘터리 스트림(elementary stream)(상 2단째)으로 변환하고, 다시 TS 패킷(상 3단째)으로 변환하며, 유사하게 자막 등의 프레젠테이션 그래픽스 스트림(Presentation Graphics(PG) Stream) 및 대화 목적의 인터랙티브 그래픽스 스트림(Interactive Graphics(IG) Stream)(하 1단째, 하 2단째)을 TS패킷으로 변환하여, 이들을 다중화함으로써 구성된다.
이어서, 상기와 같이 구성된 AVClip이 BD-ROM에 어떻게 기록되는가를 설명한다. 도 4는 AVClip을 구성하는 TS패킷이 어떤 과정을 거쳐서 BD-ROM에 기록되는가를 나타낸다. 본 도면의 제 1단째에 AVClip을 구성하는 TS패킷을 나타낸다.
AVClip을 구성하는 188 바이트의 TS패킷은, 제 2단째에 도시하는 것과 같이, 4 바이트의 TS_extra_header(도면 중의 해칭부)가 붙어서 192 바이트 길이의 Source 패킷이 된다. 이 TS_extra_header는 당해 TS패킷의 디코더 입력시각정보를 나타내는 Arrival_Time_Stamp를 포함한다.
AVClip을 구성하는 Source 패킷은 제 3단째에서의 AVClip에서 하나 이상의 "ATC_Sequence"을 구성한다. "ATC_Sequence"란, Source 패킷의 배열로, ATC_Sequence에 포함된 Arrival_Time_Stamp가 참조하고 있는 Arrival_Time_Clock에 도달 시간-베이스 불연속성(arrival time-base discontinuity)이 존재하지 않는 것을 말한다. 다시 말해, ATC_Sequence에 포함된 Arrival_Time_Stamp가 참조하고 있는 Arrival_Time_Clock에 연속성이 존재하는 Source 패킷 열을 "ATC_Sequence"라고 한다.
이와 같은 ATC_Sequence가 AVClip이 되며, xxxxx.m2ts라는 파일 명으로 BD-ROM에 기록된다.
이와 같은 AVClip은 통상의 컴퓨터 파일과 마찬가지로 하나 이상의 파일 익스텐트(extent)로 분할되어 BD-ROM 상의 영역에 기록된다. 제 4단째는 AVClip이 어떻게 BD-ROM에 기록되는가를 모식적으로 나타낸다. 이 제 4단째에서 파일을 구성하는 각 파일 익스텐트는 미리 정해진 Sextent 이상의 데이터 길이를 갖는다.
Sextent는, AVClip을 복수의 익스텐트로 분할하여 기록하는 경우, 각 파일 익스텐트의 최소 데이터 길이이다.
여기서 광 픽업이 BD-ROM의 한 위치로 점프하는데 요하는 시간은,
Tjump = Taccess + Toverhead
에 의해 주어진다.
"Taccess"는 점프 거리(목적지로 점프하는 물리어드레스의 거리)에 따라서 주어지는 시간이다.
BD-ROM에서 판독된 TS패킷은 리드 버퍼라고 불리는 버퍼에 저장된 다음에 디코더에 출력된다. 리드 버퍼에의 입력이 Rud라고 하는 비트율로 이루어지고, ECC 블록에서의 섹터 수를 Secc로 한 경우,
Toverhead ≤ (2 × Secc × 8)/Rud = 20㎳
라는 계산에 의해 주어진다.
BD-ROM에서 판독된 TS패킷은 Source 패킷 상태로 리드 버퍼에 저장된 다음 TS_Recording_rate라고 하는 전송률로 디코더에 공급된다.
TS패킷이 디코더에 공급되는 동안 TS_Recording_rate의 전송률을 유지하기 위해서, Tjump 동안 리드 버퍼에서 디코더로 공급되는 TS패킷의 출력이 계속되고 있을 필요가 있다. 여기서, 리드 버퍼로부터의 출력은 TS패킷이 아니라 Source 패킷 상태로 이루어지므로, TS패킷의 Source 패킷과의 사이즈 비를 192/188로 한 경우, Tjump 동안 (192/188 × TS_Recording_rate)라는 전송률에 의해 리드 버퍼로부터의 Source 패킷의 출력을 계속하고 있을 필요가 있다.
따라서 리드 버퍼가 언더플로(under-flow) 하지 않기 위한 버퍼 축적량은,
Boccupied ≥ (Tjump/1000 × 8) × ((192/188) × TS_Recording_rate)
가 된다.
리드 버퍼에 입력되는 입력 레이트는 Rud, 리드 버퍼로부터의 출력 레이트는 TS_Recording_rate × (192/188)이므로, 리드 버퍼에 축적되는 축적 레이트는 "(입력 레이트) - (출력 레이트)"의 계산에 의해 주어지며, "(Rud - TS_Recording_rate) × (192/188)"이 된다.
이 Boccupied를 리드 버퍼에 축적하는데 요하는 시간 Tx는,
Tx = Boccupied/(Rud - TS_Recording_rate × (192/188))
이 된다.
BD-ROM으로부터의 판독에는 이 시간 Tx에서 비트율 Rud로 TS패킷 입력을 계속할 필요가 있으므로, AVClip을 복수의 익스텐트로 분할하는 경우 익스텐트 1개당 최소 데이터 길이 Sextent는,
Sextent = Rud × Tx
= Rud × Boccupied/(Rud - TS_Recording_rate × (192/188))
≥ Rud × (Tjump/1000 × 8)((192/188) × TS_Recording_rate)
/(Rud - TS_Recording_rate × (192/188))
≥ (Rud × Tjump/1000 × 8) × TS_Recording_rate × 192
/(Rud × 188 - TS_Recording_rate × 192)
가 된다.
따라서,
Sextent≥ (Tjump × Rud/1000 × 8)×
(TS_Recording_rate × 192/(Rud × 188 - TS_Recording_rate × 192))
가 된다.
AVClip을 구성하는 각 파일 익스텐트가 디코더의 언더플로를 일으키지 않도록 산출된 Sextent 이상의 데이터 길이를 갖는다면, AVClip을 구성하는 각 파일 익스텐트가 BD-ROM 상에서 이산적으로 위치되었다고 해도, 재생시에 디코더에 대한 TS패킷의 공급이 도중에 끊어지지 않고 연속적으로 판독되게 된다.
도 5는 BD-ROM의 물리적 단위와 하나의 파일 익스텐트를 구성하는 Source 패 킷의 대응관계를 나타내는 도면이다. 제 2단째에 도시한 것과 같이 BD-ROM 상에는 복수의 섹터가 형성되어 있다. 파일 익스텐트를 구성하는 Source 패킷에는, 제 1단째에 도시한 것과 같이, 32개 단위로 테이블화 되어서 연속하는 3개의 섹터에 기록된다. 32개의 Source 패킷으로 이루어지는 테이블은 6144 바이트(= 32×192)이며, 이는 3개의 섹터 사이즈 6144 바이트(= 2048×3)와 일치한다. 3개의 섹터로 수렴된 32개의 Source 패킷을 "Aligned Unit"이라고 하며, BD-ROM에 기록은 Aligned Unit 단위로 이루어진다.
제 3단째에서 섹터는 32개 단위로 에러정정부호가 부가되어 ECC블록을 구성한다. 재생장치는 Aligned Unit 단위로 BD-ROM을 액세스하는 한 32개의 완결된 Source 패킷을 얻을 수 있다. 이상이 BD-ROM에 대한 AVClip의 기록 프로세스이다.
MainClip에 다중화된 엘리멘터리 스트림에 대해서 더 상세하게 설명한다.
도 6은 MainClip에 다중화되는 엘리멘터리 스트림을 나타내는 도면이다. MainClip의 STC_Sequence에 다중화되는 엘리멘터리 스트림은, 0x1011의 PID를 갖는 프라이머리 비디오 스트림, 0x1100에서 0x1111F까지의 PID를 갖는 프라이머리 오디오 스트림, 0x1200에서 0x121F까지의 PID를 갖는 32개의 PG 스트림, 0x1400에서 0x141F까지의 PID를 갖는 32개의 IG 스트림 및 0x1B00에서 0x1B1F까지의 PID를 갖는 32개의 세컨더리 비디오 스트림이다.
이하, 이들 비디오 스트림, 오디오 스트림, PG 스트림 및 IG 스트림에 대해서 설명한다.
<프라이머리 비디오 스트림>
프라이머리 비디오 스트림은 영화작품의 본 편을 구성하는 스트림이며, SD화상, HD화상인 픽처 데이터로 구성된다. 비디오 스트림에는 VC-1의 비디오 스트림, MPEG4-AVC의 비디오 스트림, MPEG2-Video의 비디오 스트림이라는 형식이 존재한다. MPEG4-AVC의 비디오 스트림에서는 IDR픽처, I픽처, P픽처, 및 B픽처에 PTS, DTS라는 타임스탬프가 부가되고, 이 픽처 단위로 재생제어가 이루어진다. 이와 같이, PTS, DTS가 부가되어서 재생제어의 단위가 된다. 비디오 스트림의 1 단위를 "Video Presentation Unit"이라고 한다.
<세컨더리 비디오 스트림>
센컨더리 비디오 스트림은 영화작품의 해설 등을 구성하는 스트림이며, 이 센컨더리 비디오 스트림의 재생 영상을 프라이머리 비디오 스트림의 재생 영상 내에 합성함으로써 픽처 인 픽처가 실행된다. 비디오 스트림에는 VC-1 비디오 스트림, MPEG4-AVC 비디오 스트림, 또는 MPEG2-Video 비디오 스트림이라는 형식이 존재하며, "Video Presentation Unit"을 갖는다. 세컨더리 비디오 스트림의 포맷에는 525/60 비디오 포맷, 625/50 비디오 포맷, 1920×1080 포맷, 1280×720 포맷이 있다.
도 8은 픽처 인 픽처의 일 예를 나타내는 도면이다. 본 도면에서 소정의 시점 tp에 도달할 때까지는 프라이머리 비디오만이 재생되고 있다. 그리고 시점 tp에 도달하고 나서는 프라이머리 비디오에 세컨더리 비디오가 중첩된 영상이 재생되고 있다는 것을 알 수 있다. 이와 같이 세컨더리 비디오 스트림은, 그 각각이 프라이머리 비디오의 각 픽처에 중첩되어 있는 복수의 픽처로 구성된다. 도 6에 도시한 세컨더리 비디오 스트림과 같이, 프라이머리 비디오 스트림이 다중화된 AVClip과 동일한 AVClip에 다중화되는 세컨더리 비디오 스트림을 "In_MUX_secondary 비디오 스트림"이라고 한다. 세컨더리 비디오 스트림 이외에, 프라이머리 비디오 스트림과 동일한 AVClip에 다중화되는 엘리멘터리 스트림 전반을 "In_MUX 스트림"이라고 한다.
<프라이머리 오디오 스트림>
프러이머리 오디오 스트림은 영화작품의 주 음성 트랙을 위한 스트림이며, LPCM 오디오 스트림 포맷, DTS-HD 오디오 스트림 포맷, DD/DD + 오디오 스트림 포맷이나 DD/MLP 오디오 스트림 포맷이라고 하는 형식이 존재한다. 오디오 스트림에서의 오디오 프레임에 타임 스탬프가 부가되며, 이 오디오 프레임 단위로 재생제어가 이루어진다. 이와 같이, 타임 스탬프가 부가되어서 재생제어의 단위가 된다. 오디오 스트림의 1 단위를 "Audio Presentation Unit"이라고 한다. 또한, BD-ROM에는 기록되어 있지 않으나, 영화작품의 부 음성 트랙을 위한 오디오 스트림을 세컨더리 오디오 스트림이라고 한다.
<PG 스트림>
PG 스트림은 언어별로 자막을 구성하는 그래픽스 스트림이며, 영어, 일본어, 프랑스어와 같이 복수 언어에 대한 스트림이 존재한다. PG 스트림은 PCS(Presentation Control Segment), PDS(Pallet Define Segment), WDS(Window Define Segment), ODS(Object Define Segment)라는 일련의 기능 세그멘트로 이루어진다. ODS(Object Define Segment)는 자막인 그래픽스 오브젝트(graphics object) 를 정의하는 기능 세그먼트이다.
WDS(Window Define Segment)는 화면에서의 그래픽스 오브젝트의 묘화(描畵) 영역을 정의하는 기능 세그먼트이고, PDS(Pallet Define Segment)는 그래픽스 오브젝트의 묘화에 있어서 색을 규정하는 기능 세그먼트이다. PCS(Presentation Control Segment)는 자막 표시에서의 페이지 제어를 규정하는 기능 세그먼트이다. 이와 같은 페이지 제어에는 Cut-In/Out, Fade-In/Out, Color Change, Scroll, Wipe-In/Out이라는 것이 있고, PCS에 의한 페이지 제어를 수반함으로써 어떤 자막을 서서히 소거하면서 다음 자막을 표시하도록 하는 표시효과를 실현할 수 있게 된다.
프라이머리 비디오 스트림과 동일한 AVClip에 다중화되어 있지 않으나, 자막을 나타내는 스트림에는 프레젠테이션 그래픽스 스트림 외에 텍스트 자막(textST) 스트림이라고 하는 것이 있다. textST 스트림은 자막의 내용을 캐릭터 코드로 나타낸 스트림이다. 이 프레젠테이션 그래픽스 스트림과 textST 스트림의 쌍은 BD-ROM 규격에서 "PGTextST 스트림"이라고 부른다.
<IG 스트림>
IG 스트림은 대화제어를 실현하는 그래픽스 스트림이다. IG 스트림에 의해 정의되는 대화제어는 DVD 재생장치상의 대화제어와 호환성이 있는 대화제어이다. 이와 같은 IG 스트림은 ICS(Interactive Composition Segment), PDS(Pallet Definition Segment), ODS(Object Definition Segment)라고 불리는 기능 세그멘트로 이루어진다. ODS(Object Definition Segment)는 그래픽스 오브젝트를 정의하는 기능 세그먼트이다. 이 그래픽스 오브젝트가 복수 모여서 대화 화면상의 버튼이 묘화된다. PDS(Pallet Definition Segment)는 그래픽스 오브젝트의 묘화에 있어서의 색을 규정하는 기능 세그먼트이다. ICS(Interactive Composition Segment)는 사용자 조작에 따라서 버튼의 상태를 변화시키는 상태변화를 실현하는 기능 세그먼트이다. ICS는 버튼에 대해서 확정 조작이 이루어진 때에 실행할 버튼 커맨드를 포함한다.
도 7은 BD-ROM에 기록되어 있는 엘리멘터리 스트림에서의 PID 할당 맵을 나타내는 도면이다. PID 할당 맵의 좌측 난은 PID가 취할 수 있는 값의 복수의 범위를 나타낸다. 우측 난은 각 범위에 할당되는 엘리멘터리 스트림을 나타낸다. 이 기술법에 따라서 도면을 참조하면, 본 도면으로부터 이하의 것을 도출할 수 있다. 즉, PID가 취할 수 있는 값 중 0x0100의 범위는 Program_map에 할당되고, 0x1001의 범위는 PRC에, 0x1011의 범위는 프라이머리 비디오 스트림에, 0x1100에서 0x111F까지의 범위는 프라이머리 오디오 스트림에, 0x1200에서 0x121F까지의 범위는 PG 스트림에, 0x1400에서 0x141F까지의 범위는 IG 스트림에, 0x1B00에서 0x1B1F까지의 범위는 IN_MUX_세컨더리 비디오 스트림에 할당되어 있다.
이 PID 할당 맵으로부터도 알 수 있는 바와 같이, 프라이머리 비디오 스트림에 할당되어 있는 범위와 세컨더리 비디오 스트림에 할당되어 있는 범위가 다르다는 것을 알 수 있다.
픽처 인 픽처를 구성할 세컨더리 비디오 스트림의 PES 패킷은 그 상위 바이트가 프라이머리 비디오 스트림의 PES 패킷의 PID의 상위 바이트와 다르므로, 프라 이머리 비디오 스트림 및 세컨더리 비디오 스트림이 하나의 AVClip에 다중화되었다고 해도 PID의 상위 바이트를 참조함으로써 이들을 구성하는 PES 패킷을 각각 별도로 디코더에 공급할 수 있다.
<BD-ROM의 구성 2: Clip 정보>
이어서 확장자 "clpi"가 부여된 파일에 대해서 설명한다. 확장자 "clpi"가 부여된 파일(00001.clpi, 00002.clpi)은 Clip 정보를 저장하고 있다. Clip 정보는 개개의 AVClip에 대한 관리정보이다. 도 9는 Clip 정보의 내부 구성을 나타내는 도면이다. 본 도면의 좌측에 도시한 바와 같이 Clip 정보는,
ⅰ) AVClip에 대한 정보를 저장한 "ClipInfo()",
ⅱ) ATC Sequence, STC Sequence에 관한 정보를 저장한 "Sequence Info()"
ⅲ) Program Sequence에 관한 정보를 저장한 "Program Info()"
ⅳ) "Characteristic Point Info()"로 이루어진다.
ClipInfo에는 이 Clip 정보가 참조하는 AVClip의 애플리케이션 타입(application_type)이 있다. 이와 같은 ClipInfo를 참조함으로써 애플리케이션 타입에 따라서 MainClip인가 SubClip인가, 동화상을 포함하고 있는가 정지화상(슬라이드 쇼)를 포함하고 있는가 등을 식별할 수 있다. 또, ClipInfo에는 상술한 TS_recording_rate가 기술되어 있다.
Sequence Info는 AVClip에 포함되는 하나 이상의 STC-Sequence, ATC-Sequence에 대한 정보이다. 이들 정보를 설치해두는 이유는 STC, ATC의 불연속점을 미리 재생장치에 통지하기 위해서이다. 즉, 이와 같은 불연속점이 존재하면 AVClip 내에서 동일한 값의 PTS, ATS가 출현할 가능성이 있어서, 재생시에 결함이 발생한다. STC, ATC가 연속하고 있는 것이 트랜스포트 스트림 중 어디에서부터 어디까지인가를 나타내기 위해서 Sequence Info가 제공된다.
Program Info는 콘텐츠가 일정한 프로그램의 구간(즉, "Program Sequence")을 나타내는 정보이다. "Program"은 동기 재생을 위한 시간 축을 서로 공유하는 엘리멘터리 스트림의 집합이다. Program Sequence를 설치해두는 이유는 Program 콘텐츠의 변화 점을 미리 재생장치에 통지하기 위해서이다. 여기에서의 Program 콘텐츠의 변화 점이란 비디오 스트림의 PID가 변화하거나, 비디오 스트림의 종류가 SD화상에서 HD화상으로 변화하고 있는 점 등을 말한다.
이어서, Characteristic Point Info에 대해서 설명한다. 도면 중의 인출 선 cu2는 CPI의 구성을 클로즈업하고 있다. 인출 선 cu2로 도시한 것과 같이, CIP는 Ne개의 EP_map_for_one_stream_PID(EP_map_for_one_stream_PID[0]~EP_map_for_one_ stream_PID[Ne-1])으로 이루어진다. 이들 EP_map_for_one_stream_PID는 AVClip에 속하는 개개의 엘리멘터리 스트림에 대한 EP_map이다. EP_map은 하나의 엘리멘터리 스트림 상에서 Access Unit이 존재하는 엔트리 위치의 패킷 번호(SPN_EP_start)를 엔트리 시각(PTS_EP_start)과 대응시켜서 나타내는 정보이다. 도면 중의 인출 선 cu3은 EP_map_for_one_stream_PID의 내부 구성을 클로즈업하고 있다.
이들에 의하면, EP_map_for_one_stream_PID는 Nc개의 EP_High(EP_High(0)~EP_ High(Nc-1)와 Nf개의 EP_Low(EP_Low(0)~EP_Low(Nf-1)로 이루어짐을 알 수 있다. 여기서, EP_High는 Access Unit(Non-IDR I 픽처, IDR 픽처) 의 SPN_EP_start 및 PTS_EP_start의 상위 비트를 표시하는 역할을 가지며, EP_Low는 Access Unit(Non-IDR I 픽처, IDR 픽처)의 SPN_EP_start 및 PTS_EP_start의 하위 비트를 표시하는 역할을 갖는다.
도면 중의 인출 선 cu4는 EP_High의 내부 구성을 클로즈업하고 있다. 이 인출 선으로 나타내는 바와 같이, EP_High(i)는 EP_Low에 대한 참조 값인 "ref_to_EP_Low_id[i]"와, Access Unit(Non-IDR I 픽처, IDR 픽처)의 PTS의 상위 비트를 나타내는 "PTS_EP_High[i]" 및 Access Unit(Non-IDR I 픽처, IDR 픽처)의 SPN의 상위 비트를 나타내는 "SPN_EP_High[i]"로 이루어진다. 여기서, i는 임의의 EP_High를 식별하기 위한 식별자이다.
도면 중의 인출 선 cu5는 EP_Low의 구성을 클로즈업하고 있다. 인출 선 cu5로 나타내는 것과 같이, EP_Low는 대응하는 Access Unit이 IDR 픽처인가 여부를 나타내는 "is_angle_change_point(EP_Low_id)"와, 대응하는 Access Unit의 사이즈를 나타내는 "I_end_position_offset(EP_Low_id)"와, 대응하는 Access Unit(Non-IDR I 픽처, IDR 픽처)의 PTS의 하위 비트를 나타내는 "PTS_EP_Low(EP_Low_id)"와, 대응하는 Access Unit(Non-IDR I 픽처, IDR 픽처)의 SPN의 하위 비트를 나타내는 "SPN_EP_Low(EP_Low_id)"로 이루어진다. 여기서, EP_Low_id는 임의의 EP_Low를 식별하기 위한 식별자이다.
<Clip 정보의 설명 2: EP_map>
이하, 구체 예를 통해서 EP_map에 대해서 설명한다. 도 10은 영화의 비디오 스트림에 대한 EP_map 설정을 나타내는 도면이다. 제 1단째는 표시 순서로 배치된 복수의 픽처(MPEG4-AVC에 규정된 IDR 픽처, I픽처, B픽처, P픽처)를 나타내며, 제 2단째는 그 픽처에서의 시간 축을 나타낸다. 제 4단째는 BD-ROM 상의 TS패킷 열을 나타내고, 제 3단째는 EP_map의 설정을 나타낸다.
제 2단째의 시간 축에서, 시점 t1~t7에 Access Unit이 되는 IDR 픽처 및 I픽처가 존재하는 것으로 한다. 그리고 이들 t1~t7의 시간간격이 1초 정도로 하면, 영화에 이용되는 비디오 스트림에서의 EP_map은 t1~t7을 엔트리 시각(PTS_EP_start)으로 나타내고, 이에 대응시켜서 엔트리 위치(SPN_EP_start)를 나타내도록 설정된다.
<PlayList 정보>
이어서, PlayList 정보에 대해서 설명한다. 확장자 "mpls"가 부여된 파일(00001.mpls)은 PlayList(PL)를 저장한 파일이다.
도 11은 PlayList 정보의 데이터 구조를 나타내는 도면이다. 본 도면에서 인출 선 mp1으로 나타내는 것과 같이, PlayList 정보는 MainPath를 정의하는 MainPath 정보(MainPath())와, 챕터를 정의하는 PlayListmark 정보(PlayListMa가())와, 기타 확장 데이터(Extention Data)를 포함한다.
<PlayList 정보의 설명 1: MainPath 정보>
먼저 MainPath에 대해서 설명한다. MainPath는 프라이머리 비디오와 같은 비디오 스트림 및 오디오 스트림에 대해서 정의되는 재생경로이다.
MainPath는 화살표 mp1으로 표시된 것과 같이 복수의 PlayItem 정보 #1 …… #n으로 정의된다. PlayItem 정보는 MainPath를 구성하는 하나의 논리적인 재생구간 을 정의한다. PlayItem 정보의 구성은 인출 선 hs1에 의해 클로즈업되어 있다.
이 인출 선으로 도시한 것과 같이, PlayItem 정보는, 재생구간의 In 점 및 Out 점이 속하는 AVClip의 재생구간정보의 파일명을 나타내는 "Clip_Information_file_name", AVClip의 부호화방식을 나타내는 "Clip_codec_identifier", PLayItem이 멀티 앵글을 구성하는가 여부를 나타내는 "is_multi_angle", 현재의 PlayItem(currentPlayItem)과 그 하나 앞의 PlayItem(PreviousPlayItem)과의 접속상태를 나타내는 "connection_condition", 현재의 PlayItem이 대상으로 하고 있는 STC_Sequence를 고유하게 나타내는 "ref_to_STC_id[0]", 재생구간의 시점을 나타내는 시각정보 "In_time", 재생구간의 종점을 나타내는 시각정보 "Out_time", 현재의 PlayItem에서 마스크 해야 할 사용자 조작이 어디인가를 나타내는 "UO_mask_table", 현재의 PlayItem의 도중에서의 랜덤 액세스를 허가하는가 여부를 나타내는 "PlayItem_random_access_flag", 현재의 PlayItem의 재생종료 후에 최종 픽처의 정지표시를 계속하는가 여부를 나타내는 "Still_mode", 및 "STN_table"로 구성된다. 이 중 재생경로를 구성하는 것은 재생구간의 시점을 나타내는 "In_time", 재생구간의 종점을 나타내는 "Out_time"의 쌍이며, 재생경로 정보는 이 "In_time" 및 "Out_time"의 쌍으로 구성된다.
도 12는 AVClip과 PlayList 정보의 관계를 나타내는 도면이다. 제 1단째는 PlayList 정보가 갖는 시간 축(PlayList 시간 축)을 나타낸다. 제 2단째에서부터 제 5단째까지는 EP_map에 의해 참조되고 있는 비디오 스트림을 나타낸다.
PlayList정보는 PlayItem 정보 #1, #2라는 2개의 PlayItem 정보를 포함하고 있고, 이들 PlayItem 정보 #1, #2의 In_time 및 Out_time에 의해 2개의 재생구간이 정의된다. 이들 재생구간을 배열시키면 AVClip 시간 축과는 다른 시간 축이 정의된다. 이것이 제 1단째에 나타내는 PlayList 시간 축이다. 이와 같이, PlayItem 정보의 정의에 의해 AVClip과는 다른 재생경로의 정의가 가능해진다.
이상이 BD-ROM(100)에 대한 설명이다.
<로컬 기억장치(200)>
이어서, 본 발명의 기록매체인 로컬 기억장치(200)에 대해서 설명한다. 도 13은 로컬 기억장치(200)의 내부 구성을 나타내는 도면이다. 본 도면에 도시하는 바와 같이, 본 발명의 기록매체는 응용 층에 대한 개량에 의해 생산할 수 있다.
본 도면의 제 4단째에 로컬 기억장치(200)를 나타내고, 제 3단째에 로컬 기억장치(200) 상의 트랙을 나타낸다. 본 도면의 트랙은 로컬 기억장치(200)의 내주에서 외주에 걸쳐서 나선형상으로 형성되어 있는 트랙을 횡 방향으로 잡아 늘여서 묘화하고 있다. 이 트랙은 리드인 영역과 볼륨 영역 및 리드 아웃 영역으로 이루어진다. 본 도면의 볼륨 영역은 물리 층, 파일시스템 층 및 응용 층이라는 계층모델을 갖는다. 디렉터리 구조를 이용하여 로컬 기억장치(200)의 응용 층 포맷(애플리케이션 포맷)을 표현하면 도면 중의 제 1단째와 같이 된다.
본 도면의 디렉터리구조에서 루트 디렉터리의 아래에는 "organization #1"이라는 디렉터리가 있고, 그 아래에는 "disc #1"이라는 서브디렉터리가 있다. 디렉터리 "organization #1"은 영화작품의 특정 공급자에게 할당된 디렉터리이다. "disc #1"는 그 공급자가 제공한 BD-ROM의 각각에 할당된 디렉터리이다.
특정 공급자에 대응하는 디렉터리에 각 BD-ROM에 대응하는 디렉터리를 설치함으로써 각 BD-ROM에 대한 다운로드 데이터가 개별로 저장된다. 이 서브디렉터리의 아래에 BD-ROM에 저장되어 있던 것과 마찬가지로 PlayList 정보(00002.mpls), Clip 정보(00003.clpi, 00004.clpi), AVClip(00003.m2ts, 00004.m2ts)이 저장되어 있다.
이어서, 로컬 기억장치(200)의 구성요소가 되는 PlayList 정보, Clip 정보, 및 AVClip에 대해서 설명한다.
<로컬 기억장치(200)의 구성 1: AVClip>
로컬 기억장치(200) 상의 AVClip(00003.m2ts, 00004.m2ts)은 SubClip을 구성한다. SubClip에는 비디오 스트림, 오디오 스트림, PG 스트림 및 IG스트림이라는 4종류의 엘리멘터리 스트림이 다중화되어 있다. 이와 같이 AVClip에 다중화된 엘리멘터리 스트림에는 어떤 것이 있는가를 상세히 설명한다.
도 14는 SubClip이 되는 STC-Sequence에 다중화되는 엘리멘터리 스트림을 나타내는 도면이다. SubClip에 다중화되는 엘리멘터리 스트림은, 0x1800의 PID를 갖는 textST 스트림, 0x1A00에서 0x1A1F까지의 PID를 갖는 프라이머리 오디오 스트림, 0x1B00에서 0x1B1F까지의 PID를 갖는 32개의 Out_of_MUX_Secondary 비디오 스트림, 0x1200에서 0x121F까지의 PID를 갖는 32개의 PG 스트림, 0x1400에서 0x141F까지의 PID를 갖는 32개의 IG 스트림이다. 도 14에 도시한 세컨더리 비디오 스트림과 같이, 프라이머리 비디오 스트림이 다중화되는 AVClip과 다른 AVClip에 다중화되는 세컨더리 비디오 스트림을 "Out_of_MUX_Secondary 비디오 스트림"이라고 한 다. 또, 세컨더리 비디오 스트림 이외에, 프라이머리 비디오 스트림과 다른 AVClip에 다중화되는 엘리멘터리 스트림 전반을 "Out_of_MUX_Secondary 스트림"이라고 한다.
도 15는 SubClip에 다중화된 엘리멘터리 스트림에서의 PID 할당 맵을 나타내는 도면이다. PID 할당 맵의 좌측 난은 PID가 취할 수 있는 값의 복수의 범위를 나타낸다. 우측 난은 각 범위에 할당되는 엘리멘터리 스트림을 나타낸다. 이 기술법에 따라서 도면을 참조하면, 본 도면로부터 이하의 것을 도출할 수 있다. 즉, PID가 취할 수 있는 값 중 0x0100의 범위는 Program_map에 할당되고, 0x1001의 범위는 PRC에, 0x1200에서 0x121F까지의 범위는 PG 스트림에, 0x1400에서 0x141F까지의 범위는 IG 스트림에, 0x1800의 범위는 text_ST 스트림에, 0x1A00에서 0x1A41F까지의 범위는 세컨더리 오디오 스트림에 할당되어 있다. 0x1B00에서 0x1B1F까지의 범위는 세컨더리 비디오 스트림에 할당되어 있다.
<로컬 기억장치(200)의 구성 2: PlayList 정보>
이어서, 로컬 기억장치(200)의 PlayList 정보에 대해서 설명한다. 확장자 "mpls"가 부여된 파일(00002.mpls)은 MainPath, SubPath라고 불리는 2종류의 재생경로를 묶어 만들어진 그룹을 PlayList(PL)로서 정의하는 정보이다. 도 16은 PlayList 정보의 데이터 구조를 나타내는 도면이며, 본 도면에 도시하는 바와 같이, PlayList 정보는 MainPath를 정의하는 MainPath 정보(MainPath())와, 챕터를 정의하는 PlayListMark 정보(PlayListMark())와, SubPath를 정의하는 SubPath 정보(SubPath())와, 기타 확장데이터(Extention_Data)로 이루어진다. 이 PlayList 정 보의 내부 구성 및 PlayItem 정보의 내부 구성은 BD-ROM에서와 동일하므로 설명을 생략한다. 이하, SubPath 정보에 대해서 설명한다.
<PlayList 정보의 설명 1: SubPath 정보>
MainPath가 프라이머리 비디오인 MainClip에 정의되는 재생경로인데 대해 SubPath는 MainPath와 동기하여야 할 SubClip에 대해서 정의되는 재생경로이다.
도 17은 SubPath 정보의 내부 구성을 클로즈업하여 나타내는 도면이다. 본 도면에서, 화살표 hc0으로 나타내는 것과 같이, 각 SubPath는 SubClip의 유형을 나타내는 SubPath_type과 하나 이상의 SubPlayItem 정보(…SubPlayItem()…)를 포함한다.
도면 중의 인출 선 hc1은 SubPlayItem 정보의 구성을 클로즈업하고 있다.
SubPlayItem은 MainPath로부터 분리한 하나 이상의 엘리멘터리 스트림 재생경로를 정의하며, 이들 재생경로가 MainPath와 어떻게 동기하는가를 보여주는 유형을 표현하는데 사용된다. SubPlayItem이 프라이머리 오디오, PG, IG, 세컨더리 ㅇ오디오, 및 세컨더리 비디오의 서브패스를 사용하는 경우, 이들 SubPlayItem은 PlayList 중의 PlayItem을 사용하고 있는 MainPath와 동기하게 된다. 이 엘리멘터리 스트림 재생용 SubPath에 의해서 사용되는 엘리멘터리 스트림은 MainPath 측의 PlayItem에 의해서 사용되는 MainClip으로부터 분리한 Clip, 즉, SubClip에 다중화된다.
이하, SubPlayItem의 내부 구성에 대해서 설명한다. SubPlayItem 정보는, 도면 중의 화살표 hc1로 나타내는 것과 같이, "Clip_information_file_name", "Clip_codec_identifier", "ref_to_STC_id[0]", "SubPlayItem_In_time", "SubPlayItem_Out_time", "sync_PlayItem_id", "sync_start_PTS_of_PlayItem"으로 이루어진다.
"Clip_information_file_name"은 Clip 정보의 파일명을 기술함으로써 SubPlayItem에 대응하는 SubClip을 고유하게 지정하는 정보이다.
"Clip_codec_identifier"는 AVClip의 부호화방식을 나타낸다.
"ref_to_STC_id[0]"는 이 SubPlayItem이 대상으로 하고 있는 STC_Sequence를 고유하게 나타낸다.
"SubPlayItem_In_time"은 SubClip의 재생시간 축 상에서의 SubPlayItem의 개시점을 나타내는 정보이다.
"SubPlayItem_Out_time"은 SubClip의 재생시간 축 상에서의 SubPlayItem의 종료점을 나타내는 정보이다.
"sync_PlayItem_id"는 MainPath를 구성하는 PlayItem 중 본 SubPlayItem이 동기하여야 하는 PlayItem을 고유하게 지정하는 정보이다. SubPlayItem_In_time은 이 sync_PlayItem_id에 의해 지정된 PlayItem의 재생시간 축 상에 존재한다.
"sync_start_PTS_of_PlayItem"은 sync_PlayItem_id에 의해 지정된 PlayItem의 재생시간 축 상에서 SubPlayItem_In_time에 의해 지정된 SubPlayItem의 개시점이 어디에 존재하는가를 45㎑의 시간 정밀도로 나타낸다. 어느 SubPlayItem이 세컨더리 비디오 스트림 상의 재생구간을 정의하고 있고 그 SubPlayItem의 sync_start_PTS_of_PlayItem이 PlayItem 시간 축에서의 하나의 시점을 나타내고 있 는 경우, 그 SubPlayItem은 "동기 픽처 인 픽처"를 실현하는 것이 된다.
또, 이 sync_start_PTS_of_PlayItem에는 부정 값(0xFFF)을 설정할 수도 있다. 이 부정 값은, sync_PlayItem_id에 의해 지정된 PlayItem의 시간 축 상에서, 사용자가 잠금 조작(lock operation)을 수행한 시점이 sync_PlayItem_id에 의해 지정된 PlayItem과의 동기 점이 되도록 한다. sync_start_PTS_of_PlayItem이 부정 값으로 설정되어 있고 SubPlayItem이 세컨더리 비디오 스트림의 재생을 의도하고 있는 경우, 이와 같은 SubPlayItem은 "비 동기 픽처 인 픽처"를 실현하는 것이 된다.
<SubPath 정보에 대한 상세 1: SubPath_type>
이상이 SubPath 정보에 대한 설명이다. 이어서 SubPath_type에 대해서 설명한다. SubPath_type은 0에서 255까지의 값으로 설정됨으로써 SubPath 정보에 의해 정의되는 SubPath가 어떤 재생경로인가를 나타낸다. SubPath_type에 의해 표현되는 재생경로의 3개의 전형을 이하에 설명한다.
SubPath_Type = 5
: Out_of_mux and Syncronous type of Picture in Picture presentation Path
이 경우 SubPlayItem은 Out_of_mux와 동기하여 재생되는 픽처 인 픽처 재생경로를 정의하는 것이 된다. 그 경로에 의해 사용되는 엘리멘터리 스트림은, MainPath 측의 PlayItem에 의해서 사용되는 MainClip으로부터 분리한 Clip, 즉, SubClip에 다중화된다.
SubPath_Type = 6
: Out_of_mux and Asyncronous type of Picture in Picture presentation Path
이 경우 SubPlayItem은 Out_of_mux 스트림과 비 동기로 재생되는 픽처 인 픽처 재생경로를 정의하는 것이 된다. 즉, 그 경로에 의해 사용되는 엘리멘터리 스트림은, PlayItem에 의해서 사용되는 다른 Clip과는 다른 Clip, 즉, SubClip에 다중화된다. SubPath_Type = 6인 경우, SubPath는 하나의 SubPlayItem만을 포함한다.
SubPlayItem의 SubPath_Type이 "6"으로 설정되면 sync_PlayItem_id 및sync_start_PTS_of_PlayItem은 Invalid가 되며, 이들은 각각 0x0000, 0x00000000으로 설정된다.
SubPath_Type = 7
: In_MUX and Syncronous type of Picture in Picture presentation Path
이 경우 SubPlayItem은 In_MUX 스트림과 동기하여 재생하는 픽처 인 픽처 재생경로를 정의한다. 즉, SubPath_Type = 7에 설정된 경우, 당해 경로에 의해서 사용되는 엘리멘터리 스트림은 동기 재생하여야 할 PlayItem에 의해서 사용되는 엘리멘터리 스트림과 동일한 Clip에 다중화되게 된다.
이상이 SubPath_typedp 대한 설명이다.
<SubPath 정보에 대한 상세 2: 3자의 관계>
여기에서의 3자는 로컬 기억장치(200) 상의 SubClip, 로컬 기억장치(200) 상의 PlayList 정보, 및 BD-ROM 상의 MainClip을 말한다.
도 18은 로컬 기억장치(200) 상의 SubClip, 로컬 기억장치(200) 상의 PlayList 정보 및 BD-ROM 상의 MainClip의 대응관계를 나타내는 도면이다. 본 도면에서 제 1단째는 로컬 기억장치(200) 상에 존재하는 SubClip을 나타낸다. 이 제 1단째에 나타내는 것과 같이, 로컬 기억장치(200) 상의 SubClip은 세컨더리 비디오 스트림, 세컨더리 오디오 스트림, PG 스트림, IG 스트림이라는 종별이 있다. 이들 중 어느 하나가 SubPath로서 동기 재생에 제공되게 된다.
제 2단째는 PlayList 정보에 의해 정의되는 2개의 시간 축을 나타낸다. 제 2단째 중 하측의 시간 축은 PlayItem 정보에 의해 정의되는 PlayItem 시간 축을 나타내고, 상측의 시간 축은 SubPlayItem에 의해 정의되는 SubPlayItem 시간 축을 나타낸다.
본 도면에 도시한 바와 같이, SubPlayItem 정보의 SubPlayItem_Clip_ information_file_name은, STREAM 디렉터리에 저장된 .m2ts 파일에 다중화된 Out_of_MUX 스트림 중 재생구간 지정의 대상으로 하나의 Out_of_MUX 스트림을 선택하는 SubClip 선택의 역할을 담당하고 있음을 알 수 있다.
그리고 SubPlayItem_In_time 및 SubPlayItem_Out_time은 SubClip 상의 재생구간의 개시점 및 종료점을 정의하는 역할을 하고 있음을 알 수 있다.
화살표 Sync_PlayItem_Id는 어느 PlayItem이 SubPlayItem과 동기되는 지를 지정하는 역할을 담당하고, sync_start_PTS_of_PlayItem은 PlayItem 시간 축 상에서의 SubPlayItem_In_time의 시점을 결정하는 역할을 담당한다.
이상이 SubPath에 대한 설명이다.
<STN_table>
BD-ROM 및 로컬 기억장치(200)에서의 PlayList 정보에서 특징적인 것은 STN_table이다. 이하, 로컬 기억장치(200) 상의 PlayList 정보에 대해서 설명한다.
STN_table은, PlayItem 정보의 Clip_information_file_name으로 지정되어 있는 AVClip에 다중화된 복수의 엘리멘터리 스트림 및 SubPlayItem 정보의 Clip_information_file_name으로 지정되어 있는 Out_of_MUX 중, 재생 가능한 것을 나타내는 테이블이다. 구체적으로는, STN_table에는 MainClip에 다중화되어 있는 복수의 In_MUX 스트림 및 SubClip에 다중화되어 있는 Out_of_MUX 스트림 각각에 대한 Stream_entry를 Stream_attribute와 대응시켜서 구성된다.
도 19는 STN_table의 전체 구성을 나타내는 도면이다. 도 20은 도 19에 도시한 STN_table의 전체 구성 중 세컨더리 비디오 스트림에 대한 steam_entry를 나타내는 도면이다. 본 도면에 도시한 것과 같이, STN_table에는 n개의 Secondary_video_stream_entry(Secondary_video_stream_entry[1] ~ Secondary_video_stream_entry[n])과 세컨더리 비디오 스트림의 개수(number_of_video_stream_ entries)(=n)로 구성된다.
인출 선 hs1은 Secondary_video_stream_entry[1]의 내부 구성을 클로즈업하여 나타내고 있다. 즉, Secondary_video_stream_entry[1] ~ Secondary_video_ stream_entry[n]은 동일한 클래스 구조체로부터 생성한 복수의 인스턴스(instance)이며, 그 내부 구성은 어느 것도 이 인출 선 hs1로 나타낸 것과 동일하다. 그리고 Secondary_video_stream_entry에서의 대괄호 [] 내의 수치는 Secondary_video_stream_entry가 STN_table에서 몇 번째에 위치하는가 라고 하는 Secondary_video_stream_entry의 순위를 나타낸다.
인출 선 hs1로 나타낸 것과 같이, Secondary_video_stream_entry[1]은, Secondary Video Stream Number = 1에 대응하는 PID를 재생장치에 제시하는 "Stream_entry", Secondary Video Stream Number = 1에 대응하는 비디오 속성을 나타내는 "Stream_attribute", Secondary Video Stream Number = 1의 설정시에 재생 가능하게 되는 세컨더리 오디오 스트림을 나타내는 "Comb_info_Secondary_ Video_Secondary_Audio", 및 Secondary Video Stream Number = 1의 설정시에 재생이 가능해지는 PG 스트림 또는 textST 스트림을 나타내는 "Comb_info_Secondary_ Video_PiP_PG_textST()"로 이루어진다.
인출 선 hs2로 나타내는 것과 같이, Secondary_video_stream_entry[2]는, Secondary Video Stream Number = 2에 대응하는 PID를 재생장치에 제시하는 "Stream_entry", Secondary Video Stream Number = 2에 대응하는 비디오 속성을 나타내는 "Stream_attribute", Secondary Video Stream Number = 2의 설정시에 재생 가능하게 되는 세컨더리 오디오 스트림을 나타내는 "Comb_info_Secondary_ Video_Secondary_Audio", 및 Secondary Video Stream Number = 2의 설정시에 재생이 가능해지는 PG 스트림 또는 textST 스트림을 나타내는 "Comb_info_Secondary_ Video_PiP_PG_textST()"로 이루어진다.
인출 선 hs3에 대해서도 동일하다. 이상과 같이, STN_table에서 x번째에 위치하는 Secondary_video_stream_entry[x]는 세컨더리 비디오 스트림 번호가 x에 설정된 때, 그 x에 대응하는 세컨더리 비디오 스트림의 PID는 무엇이고, 그 세컨더리 비디오 스트림의 비디오 속성은 어떤 것이며, 어떤 세컨더리 오디오 스트림 및 PGTextST 스트림과의 조합이 가능한가를 재생장치에 지시한다.
도 21 (a)는 프라이머리 비디오 스트림에서의 Stream_entry 및 Stream_attribute를 나타내는 도면이다. Stream_entry는 프라이머리 비디오 스트림을 구성하는 PES 패킷의 패킷 식별자를 나타내는 "ref_to_stream_PID_of_mainClip"을 포함한다.
Stream_attribute는 비디오 스트림의 표시방식을 나타내는 "Video_format"과, 비디오 스트림의 표시 주파수를 나타내는 "frame_rate"를 포함한다.
도 21 (b)는 세컨더리 비디오 스트림에서의 Stream_entry를 나타낸다. 본 도면에 도시하는 바와 같이, 세컨더리 비디오 스트림의 Stream_entry는 세컨더리 비디오 스트림을 참조하고 있는 SubPath 정보를 나타내는 "ref_to_Sub_Path_id"와, 세컨더리 비디오 스트림을 구성하는 PES 패킷의 패킷 식별자를 나타내는 "ref_to_stream_PID_of_mainClip"을 포함한다.
이상이 본 발명의 기록매체에 대한 설명이다. 또한, BD-ROM에는 이들 구성요소 외에 가령 Movie Object, BD-J Object, Index.bdmv라는 구성요소가 존재한다.
Movie Object는 DVD-Video에서 사용되는 유사한 기술(description)로 동적인 제어순서를 재생장치에 명령하는 것이고, BD-J Object는 JavaTM 애플리케이션에 의한 기술로 동적인 제어순서를 재생장치에 명령하는 것이다. Index.bdmv는 타이틀과 Movie Object 및 BD-J Object의 대응관계를 규정하는 테이블이다.
이들 구성요소는 본 발명이 주안점으로 하는 것이 아니므로 본 실시 예에서는 기재를 생략하고 있다. 이상으로 본 발명의 기록매체에 대한 설명을 마친다.
<재생장치>
도 22는 본 발명의 재생장치의 내부 구성을 나타낸다. 본 발명의 재생장치는 본 도면에 도시한 내부 구조에 의거하여 상업적으로 생산된다. 본 발명의 재생장치는 주로 시스템 LSI와 드라이브 장치라는 2개 부분으로 이루어지며, 이들 부분을 장치의 캐비닛 및 기판에 실장 함으로써 상업적으로 생산할 수 있다. 이렇게 하여 생산되는 재생장치는 BD-ROM 드라이브(1a), 리드 버퍼(1b, 1c), ATC 카운터(2a, 2c), 소스 디패킷타이저(Source De-packetizer)(2b, 2d), STC 카운터(3a, 3c), PID 필터(3b, 3d), 트랜스포트 버퍼(TB)(4a), 엘리멘터리 버퍼(EB)(4c), 비디오 디코더(4d), 재정렬 버퍼(re-order buffer)(4e), 디코디드 픽처 버퍼(4f), 비디오 플레인(4g), 트랜스포트 버퍼(TB)(5a), 엘리멘터리 버퍼(EB)(5c), 비디오 디코더(5d), 재정렬 버퍼(5e), 디코디드 픽처 버퍼(5f), 비디오 플레인(5g), 버퍼(6a, 6b), 버퍼(7a, 7b), 오디오 디코더(8a, 8b), 믹서(9a), 스위치(10a, 10b, 10c, 10d, 10e), 트랜스포트 버퍼(TB)(11a), 인터랙티브 그래픽스 디코더(11b), 인터랙티브 그래픽스 플레인(11c), 트랜스포트 버퍼(12a), 버퍼(12b), 텍스트 기반 서브타이틀 디코더(12c), 트랜스포트 버퍼(TB)(13a), 프레젠테이션 그래픽스 디코더(13b), 프레젠테이션 그래픽스 플레인(13c), 메모리(21), 컨트롤러(22), PSR 세트(23), PIP 변환부(24), 네트워크부(25), 조작접수부(26), 로컬 기억장치(200)로 구성되어 있다. 또한, 본 도면에서는 재생장치의 출력단에 대해서는 도시하고 있지 않다. 출력단에 대해서는 별도의 도면에서 내부 구성을 제시하여 설명하는 것으로 한다.
BD-ROM 드라이브(1a)는 BD-ROM의 로딩/이젝트를 행하며, BD-ROM 디스크에 대한 액세스를 실행한다.
리드 버퍼(RB)(1b)는 BD-ROM으로부터 판독된 소스 패킷 열을 축적한다.
리드 버퍼(RB)(1c)는 로컬 기억장치(200)로부터 판독된 소스 패킷 열을 축적한다.
ATC 카운터(2a)는 MainClip을 구성하는 소스 패킷 중 재생구간의 최초에 위치하는 소스 패킷의 ATS를 이용하여 리셋 되고, 이후 소스 디패킷타이저(2b)에 ATC를 출력해 간다.
소스 디패킷타이저(2b)는 MainClip을 구성하는 소스 패킷에서 TS 패킷을 인출하여 송출한다. 이 송출에서 각 TS 패킷의 ATS에 따라서 디코더에 입력하는 입력시각을 조정한다. 구체적으로는, ATC 카운터(2a)가 생성하는 ATC 값과 소스 패킷의 ATS 값이 동일하게 된 순간에 TS_Recording_Rate에서 그 TS 패킷만을 PID 필터(3b)에 전송한다.
ATC 카운터(2c)는 SubClip을 구성하는 소스 패킷 중 재생구간의 최초에 위치하는 소스 패킷의 ATS를 이용해서 리셋 되고, 이후 소스 디패킷타이저(2d)에 ATC를 출력해 간다.
소스 디패킷타이저(2d)는 SubClip을 구성하는 소스 패킷에서 TS 패킷을 인출하여 송출한다. 이 송출에서 ATS에 따라서 디코더에 입력하는 입력시각을 조정한다. 구체적으로는, ATC 카운터(2c)가 생성하는 ATC 값과 소스 패킷의 ATS 값이 동 일하게 된 순간에 TS_Recording_Rate에서 그 TS 패킷만을 PID 필터(3d)에 전송한다.
STC 카운터(3a)는 MainClip의 PCR에 의해 리셋 되며, STC를 출력한다.
PID 필터(3b)는 MainClip용 다중 분리부이며, 소스 디패킷타이저(2b)에서 출력된 소스 패킷 중 PID 변환부(24)로부터 통지된 PID 참조 값을 갖는 것을 각각 비디오 디코더(4d), 비디오 디코더(5d), 오디오 디코더(8a), 인터랙티브 그래픽스 디코더(11b), 프레젠테이션 그래픽스 디코더(13b)에 출력한다. 각 디코더는 PID 필터(3b)를 경유한 엘리멘터리 스트림을 수신하여 MainClip의 PCR에 따라서 디코더에서 재생 처리를 한다. 이와 같이 PID 필터(3b)를 통과해서 각 디코더에 입력되는 엘리멘터리 스트림은 MainClip의 PCR에 따라서 디코드 및 재생에 제공되게 된다.
STC 카운터(3c)는 SubClip의 PCR에 의해서 리셋 되며, STC를 출력한다. PID 필터(3d)는 이 STC를 참조해서 다중분리를 한다.
PID 필터(3d)는 SubClip용 다중 분리부이며, 소스 디패킷타이저(2d)에서 출력된 소스 패킷 중 PID 변환부(24)로부터 통지된 PID 참조 값을 갖는 것을 각각 비디오 디코더(4d), 비디오 디코더(5d), 오디오 디코더(8b), 인터랙티브 그래픽스 디코더(11b), 프레젠테이션 그래픽스 디코더(13b)에 출력한다. 이와 같이 PID 필터(3d)를 통과해서 각 디코더에 입력되는 엘리멘터리 스트림은 SubClip의 PCR에 따라서 디코드 및 재생에 제공되게 된다.
트랜스포트 버퍼(TB)(4a)는 프라이머리 비디오 스트림에 귀속하는 TS 패킷이 PID 필터(3b)에서 출력된 때에 일단 축적되는 버퍼이다.
엘리멘터리 버퍼(EB)(4c)는 부호화 상태에 있는 픽처(I픽처, B픽처, P픽처)가 저장되는 버퍼이다.
디코더(Dec)(4d)는 프라이머리 비디오를 구성하는 개개의 픽처를 소정의 복호 시각(DTS)별로 디코드함으로써 복수 프레임의 화상을 얻어서 비디오 플레인(4)에 기록한다.
디코디드 픽처 버퍼(4e)는 디코더(4d)의 디코드에 의해 얻어진 비 압축의 픽처를 저장해두는 버퍼이다.
재정렬 버퍼(4f)는 복호된 픽처의 순서를 복호 순서에서 표시순서로 바꾸기 위한 버퍼이다.
프라이머리 비디오 플레인(4g)는 프라이머리 비디오를 구성하는 1 픽처분의 화소 데이터를 저장해두기 위한 메모리 영역이다. 화소 데이터는 16비트의 YUV값으로 표현되며, 비디오 플레인(4g)는 1920×1080이라는 해상도에 해당하는 화소 데이터를 저장하고 있다.
트랜스포트 버퍼(TB)(5a)는 세컨더리 비디오 스트림에 귀속하는 TS 패킷이 PID필터(3b)로부터 출력된 때에 일단 축적되는 버퍼이다.
엘리멘터리 버퍼(EB)(5c)는 부호화 상태에 있는 픽처(I픽처, B픽처, P픽처)가 저장되는 버퍼이다.
디코더(Dec)(5d)는 세컨더리 비디오를 구성하는 개개의 픽처를 소정의 복호 시각(DTS)별로 디코드함으로써 복수 프레임의 화상을 얻어서 비디오 플레인(5)에 기록한다.
디코디드 픽처 버퍼(5e)는 디코더(5d)의 디코드에 의해 얻어진 비 압축의 픽처를 저장해두는 버퍼이다.
재정렬 버퍼(5f)는 복호된 픽처의 순서를 복호 순서에서 표시순서로 바꾸기 위한 버퍼이다.
세컨더리 비디오 플레인(5g)는 세컨더리 비디오를 구성하는 1 픽처분의 화소 데이터를 저장해두기 위한 메모리 영역이다. 화소 데이터는 16비트의 YUV값으로 표현되며, 세컨더리 비디오는 1920×1080이라는 해상도에 해당하는 화소 데이터를 저장하고 있다.
버퍼(6a)는 멀티플렉서(3a)로부터 출력되는 TS패킷 중 프라이머리 비디오를 구성하는 것을 선입선출 방식으로 저장하고, 오디오 디코더(7a)에 제공한다.
버퍼(6b)는 멀티플렉서(3b)로부터 출력되는 TS패킷 중 세컨더리 비디오를 구성하는 것을 선입선출 방식으로 저장하고, 오디오 디코더(7b)에 제공한다.
오디오 디코더(7a)는 버퍼(6a)에 저장된 TS패킷을 PES패킷으로 변환하고, 이 PES패킷에 대해서 디코드처리를 하여, 비 압축상태의 LPCM 상태의 오디오 데이터를 얻어서 출력한다. 이에 의해 프라이머리 비디오 스트림의 디지털 출력이 이루어진다.
오디오 디코더(7b)는 버퍼(6b)에 저장된 TS패킷을 PES패킷으로 변환하고, 이 PES패킷에 대해서 디코드처리를 하여, 비 압축상태의 LPCM 상태의 오디오 데이터를 얻어서 출력한다. 이에 의해 세컨더리 비디오 스트림의 디지털 출력이 이루어진다.
믹서(9a)는 오디오 디코더(7a)에서 출력되는 LPCM상태의 디지털 오디오와 오 디오 디코더(7b)에서 출력되는 LPCM상태의 디지털 오디오를 믹싱한다.
스위치(10a)는 BD-ROM에서 판독된 TS패킷, 로컬 기억장치(200)에서 판독된 TS패킷 중 어느 하나를 선택적으로 세컨더리 비디오 디코더(5d) 측에 공급한다.
스위치(10b)는 BD-ROM에서 판독된 TS패킷, 로컬 기억장치(200)에서 판독된 TS패킷 중 어느 하나를 선택적으로 프레젠테이션 그래픽스 디코더(13b) 측에 공급한다.
스위치(10c)는 BD-ROM에서 판독된 TS패킷, 로컬 기억장치(200)에서 판독된 TS패킷 중 어느 하나를 선택적으로 인터랙티브 그래픽스 디코더(11b) 측에 공급한다.
스위치(10d)는 디멀티플렉서(3a)에 의해 다중분리가 이루어진 프라이머리 오디오 스트림을 구성하는 TS패킷, 디멀티플렉서(3b)에 의해 다중분리가 이루어진 프라이머리 오디오 스트림을 구성하는 TS패킷 중 어느 하나를 오디오 디코더(8a)에 공급하는가를 스위칭하는 스위치이다.
스위치(10e)는 디멀티플렉서(3a)에 의해 다중분리가 이루어진 세컨더리 오디오 스트림을 구성하는 TS패킷, 디멀티플렉서(3b)에 의해 다중분리가 이루어진 세컨더리 오디오 스트림을 구성하는 TS패킷 중 어느 하나를 오디오 디코더(8b)에 공급하는가를 스위칭하는 스위치이다.
트랜스포트 버퍼(TB)(11a)는 IG스트림에 귀속하는 TS패킷이 일단 축적되는 버퍼이다.
인터랙티브 그래픽스(IG) 디코더(11b)는 BD-ROM(100) 또는 로컬 기억장 치(200)에서 판독된 IG스트림을 디코드하여 비 압축 그래픽스를 IG 플레인(12)에 기록한다.
인터랙티브 그래픽스(IG) 플레인(11c)은 IG디코더(11b)에 의한 디코드에 의해 얻어진 비 압축 그래픽스를 구성하는 화소 데이터가 기록된다.
트랜스포트 버퍼(TB)(12a)는 textST 스트림에 귀속하는 TS패킷이 일단 축적되는 버퍼이다.
버퍼(TB)(12b)는 textST 스트림을 구성하는 PES패킷이 일단 축적되는 버퍼이다.
텍스트 기반 서브타이틀 디코더(12c)는 BD-ROM(100) 또는 로컬 기억장치(200)에서 판독된 textST 스트림에서 캐릭터 코드를 이용하여 표현되어 있는 자막을 비트맵으로 전개해서 PG플레인(13c)에 기록한다. 이 전개에는 BD-ROM(100) 또는 로컬 기억장치(200)에 저장되어 있는 폰트 데이터가 이용되므로, textST 스트림의 디코드하기 위해서는 사전에 관련 코드를 판독해 둘 필요가 있다.
트랜스포트 버퍼(TB)(13a)는 PG스트림에 귀속하는 TS패킷이 일단 축적되는 버퍼이다.
프레젠테이션 그래픽스(PG) 디코더(13b)는 BD-ROM(100) 또는 로컬 기억장치(200)에서 판독된 PG스트림을 디코드하여 비 압축 그래픽스를 프레젠테이션 그래픽스 플레인(14)에 기록한다. PG디코더(13b)에 의한 디코드에 의해 자막이 화면상에 나타나게 된다.
프레젠테이션 그래픽스(PG) 플레인(13c)은 1 화면 분의 영역을 갖는 메모리 이며, 1 화면 분의 비 압축 그래픽스를 저장할 수 있다.
메모리(21)는 현재의 PlayList 정보 및 현재의 Clip 정보를 저장해 두기 위한 메모리이다. 현재 PlayList 정보란 BD-ROM에 기록되어 있는 복수의 PlayList 정보 중 현재 처리대상으로 되어 있는 것을 말한다. 현재 Clip 정보란 BD-ROM/로컬 기억장치에 기록되어 있는 복수의 Clip 정보 중 현재 처리대상으로 되어 있는 것을 말한다.
컨트롤러(22)는 플레이리스트 재생(현재 PlayList 정보에 따른 재생제어)을 실행함으로써 BD-ROM의 재생제어를 실현한다.
PSR세트(23)는 재생장치에 내장된 레지스터이며, 64개의 Player Setting/Status Register(PSR)와 4096개의 General Purpose Register(GPR)로 이루어진다. Player Setting/Status Register의 설정 값(PSR) 중 PSR4~PSR8은 현재의 재생시점을 표현하는데 사용된다.
PID변환부(24)는 PSR세트(23)에 저장되어 있는 스트림 번호를 STN_table에 의거하여 PID 참조 값으로 변환해서, 변환결과의 PID 참조 값을 PID필터(3b), PID필터(3d)에 통보한다.
네트워크부(25)는 본 재생장치에서의 통신기능을 실현하는 것이며, URL이 지정되면 그 URL에 해당하는 웹서버와의 TCP 커넥션, FTP 커넥션 등을 확립한다. 이 커넥션의 수립에 의해 웹서버로부터의 다운로드를 실행한다.
조작접수부(26)는 리모컨에 대해서 이루어진 조작을 사용자로부터 접수하고, 그 조작을 나타내는 사용자 조작정보(user operation information)를 컨트롤러(22) 에 통지한다. 이 사용자 조작정보로부터 사용자가 선택을 원하는 스트림 번호(번호 X)가 특정된다.
이상이 재생장치의 내부 구성이다. 이어서, 재생장치의 출력단의 내부 구성에 대해서 설명한다. 도 23은 재생장치의 출력단의 구성을 나타내는 도면이다. 본 도면에 도시한 바와 같이, 재생장치의 출력단은 1-α3 승산부(15a), 스케일링·포지션닝부(Scaling·Positioning unit)(15b), α3 승산부(15c), 가산부(15d), 1-α1 승산부(15e), α1 승산부(15f), 가산부(15g), 1-α2 승산부(15h), α2 승산부(15i), 가산부(15j), HDMI송수신부(16)로 구성된다.
1-α3 승산부(15a)는 비디오 디코더(4g)에 저장되어 있는 비 압축의 디지털 픽처를 구성하는 화소의 휘도에 투과율 1-α3을 곱한다.
스케일링·포지션닝부(15b)는 비디오 플레인(5g)에 저장되어 있는 비 압축의 디지털 픽처를 확대·축소하는 처리(Scaling)를 실시하고, 또, 배치위치를 변경하는 처리(Positioning)를 한다. 이 확대·축소는 메타 데이터(metadata)의 PiP_scale에 의거하고, 배치위치의 변경은 메타 데이터의 PiP_horizontal_ position과 PiP_vertical_position에 의거한다.
α3 승산부(15c)는 스케일링·포지션닝부(15b)에 의해 스케일링 및 포지션닝이 실시된 비 압축의 픽처를 구성하는 화소의 휘도에 대해 투과율 α3을 곱한다.
가산부(15d)는 α3 승산부(15c)에 의해 화소마다 투과율 α3이 곱해진 비 압축 디지털 픽처를 1-α3 승산부(15a)에 의해 화소마다 1-α3이 곱해진 비 압축 디지털 픽처와 합성하여 합성 픽처를 얻는다.
1-α1 승산부(15e)는 가산부 15d에 의해 합성된 디지털 픽처를 구성하는 화소의 휘도에 투과율 1-α1을 곱한다.
α1 승산부(15f)는 프레젠테이션 그래픽스 디코더(13c)에 저장되어 있는 비 압축 그래픽스를 구성하는 화소의 휘도에 투과율 α1을 곱한다.
가산부(15g)는 1-α1 승산부(15e)에 의해 화소마다 투과율 1-α1이 곱해진 비 압축 디지털 픽처와 α1 승산부(15f)에 의해 화소마다 α1이 곱해진 비 압축 디지털 픽처를 합성하여 합성 픽처를 얻는다.
1-α2 승산부(15h)는 가산부(15g)에 의해 합성된 디지털 픽처를 구성하는 화소의 휘도에 투과율 1-α2을 곱한다.
α2 승산부(15i)는 인터랙티브 그래픽스 디코더(11c)에 저장되어 있는 비 압축 그래픽스를 구성하는 화소의 휘도에 투과율 α2를 곱한다.
가산부(15j)는 1-α2승산부(15h)에 의해 화소마다 투과율 1-α2이 곱해진 비 압축 디지털 픽처와 α2 승산부(15i)에 의해 화소마다 α2가 곱해진 비 압축 디지털 픽처를 합성하여 합성 픽처를 얻는다.
HDMI송수신부(16)는 HDMI(HDMI: High Definition Multimedia Interface)를 개재하여 접속된 다른 기기로부터 그 기기에 관한 정보를 수신하는 동시에, 가산부(15j)의 합성에 의해 얻어진 디지털 비 압축 비디오를 믹서(9a)에 의해 합성된 오디오 데이터와 함께 HDMI를 개재하여 접속된 다른 기기에 송신한다.
이상이 본 실시 예의 재생장치의 하드웨어 구성이다. 이어서, 본 실시 예의 재생장치의 소프트웨어 구성에 대해서 설명한다.
도 22에 도시한 컨트롤러(22)를 기능적으로 표현하면 도 24와 같이 된다. 도 24는 컨트롤러(22)를 기능적으로 표현한 도면이며, 본 도면에 도시한 바와 같이, 컨트롤러(22)는 플레이리스트 처리부(41), 프로시저 실행부(procedure execution unit, 42), PiP제어부(43) 및 믹싱 제어부(44)로 구성된다.
이들 구성요소의 처리는 PSR세트(23)에 의거한다. 이하 PSR1, PSR14, PSR31에 대해서 설명한다. PSR에서의 워드 길이(word length)는 32비트이다. PSR의 1워드(32비트)를 구성하는 각 비트 데이터의 비트 위치를 이하에서는 b0~b31이라고 하는 것으로 한다. 이 방식에서는 PSR의 최상위 비트는 b31, 최하위 비트는 b0이 된다.
<PSR14>
도 25 (a)는 PSR14의 비트 할당을 나타내는 도면이다.
본 도면에 의하면, 32비트 길이의 PSR14에서의 b8~b15는 세컨더리 비디오 스트림의 스트림 번호이고, 현재 PlayItem의 STN_table에 엔트리가 기술되어 있는 복수의 세컨더리 비디오 스트림 중 하나를 특정한다. PSR14의 설정 값이 변화하면 재생장치는 이 변화 후의 세컨더리 비디오 스트림을 재생한다. PSR14에서의 세컨더리 비디오 스트림의 스트림 번호는 초기치로 0xFF가 설정되어 있고, 재생장치에 의해 1~32의 값으로 설정될 수 있다. 이 0xFF는 부정 값이며, 세컨더리 비디오 스트림이 존재하지 않는다는 취지, 또는 세컨더리 비디오 스트림이 선택되어 있지 않다는 취지를 나타낸다. 1~32의 설정치는 세컨더리 비디오 스트림의 스트림 번호로 해석된다.
PSR14의 b21은 disp_v_flag이며, 세컨더리 비디오를 재생할 능력이 재생장치에 존재하는가(1b: Presentation of Secondary Video is enable), 세컨더리 비디오를 재생할 능력이 재생장치에 존재하지 않는가(0b: Presentation of Secondary Video is disable)를 나타낸다.
<PSR29>
도 25 (b)는 PSR29의 비트 할당을 나타내는 도면이다.
PSR29의 b0는 HD_Secondary_video_Capability이며, HDTV 대응의 세컨더리 비디오를 재생하는 능력이 재생장치에 존재하는가(1b: HD Secondary video is capable), HDTV 대응의 세컨더리 비디오를 재생하는 능력이 재생장치에 존재하지 않는가(0b: HD Secondary video is incapable)를 나타낸다. 여기서 HDTV란 1920×1080의 해상도를 갖는 비디오 또는 1280×720의 해상도를 갖는 비디오를 말하며, 이 비디오를 디코드하여 출력할 수 있는 능력이 존재하는가 여부가 본 비트에 제시되어 있다.
PSR29의 b1은 50&25㎐_video_Capability이며, 50&25㎐ 비디오, 즉, 50프레임/초의 PAL방식의 비디오 스트림 또는 25프레임/초의 PAL방식의 비디오 스트림을 재생하는 능력이 재생장치에 존재하는가(b1: 50&25㎐ Video is capable), 50&25㎐ 비디오를 재생하는 능력이 재생장치에 존재하지 않는가(b0: 50&25㎐ Video is incapable)를 나타낸다.
이상이 PSR 세트(23)에 대한 설명이다.
이하, 플레이리스트 처리부(41) 및 프로시저 실행부(42)에 대해서 설명을 시 작한다.
PiP제어부(43)에 대해서는 그 처리가 다양하므로 제 2 실시 예에서 다시 설명하는 것으로 한다. 믹싱 제어부(44)에 대해서는 본 실시 예의 주안점과의 관련이 적으므로 제 4 실시 예에서 다시 설명한다.
<기능 구성의 상세 1: 플레이리스트 처리부>
플레이리스트 처리부(41)는 PL 재생을 실현하는 것이며, PlayItem 정보의 In_time에 해당하는 위치에서 Out_time에 해당하는 위치까지 프라이머리 비디오 스트림을 재생한다. 이와 동기하여 SubPlayItem 정보의 Sub_PlayItem_In_time에 해당하는 위치에서 Sub_PlayItem_Out_time에 해당하는 위치까지의 세컨더리 비디오 스트림의 재생을 비디오 디코더(5b)가 행하도록 한다.
<기능 구성의 상세 2: 프로시저 실행부(42)>
프로시저 실행부(42)는, 어느 PlayItem 정보에서 다른 PlayItem 정보로의 스위칭이 발생한 경우 또는 스트림 번호를 스위칭한다는 취지의 조작이 사용자에 의해 이루어진 경우, 소정의 스트림 선택 프로시저를 실행해서 PSR14에 새로운 세컨더리 비디오 스트림의 스트림 번호를 기록한다. 재생장치는 PSR14에 기록된 스트림 번호에 따라서 세컨더리 비디오 스트림을 재생하므로, PSR14의 설정을 통해서 세컨더리 비디오 스트림이 선택되게 된다.
PlayItem 정보의 스위칭시에 스트림 선택 프로시저를 실행하는 것은, STN_table은 PlayItem 정보마다 존재하므로, 어떤 PlayItem 정보에서는 재생 가능이었던 세컨더리 비디오 스트림이 다른 PlayItem 정보에서는 재생 불가가 되는 경 우가 있을 수 있기 때문이다.
이 프로시저 실행부(42)에 의해 PSR14는 도 26에 도시한 것과 같은 상태천이를 한다. 도 26은 PSR14에서의 세컨더리 비디오 스트림 번호가 취할 수 있는 상태천이를 나타내는 도면이다. 본 도면에서 Valid는 PSR14의 값이 PlayItem의 STN_table에 기술된 엔트리 수 이하이고, 디코드 가능한 것을 의미한다.
Invalid는, (a) PSR14의 세컨더리 비디오 스트림 번호가 0이거나, (b) PlayItem의 STN_table에 기술된 엔트리 수 이상이거나, 또는 (c) PlayItem의 STN_table에 기술된 엔트리 수가 1~32의 값이어도 디코드할 수 없다는 것을 의미한다.
도 26에서의 점선 틀은 상태천이 시에 있어서 PSR의 값을 결정하는 순서를 모식적으로 나타낸다. PSR14에서의 세컨더리 비디오 스트림 번호의 설정 프로시저는 "Procedure when playback condition is changed(재생조건이 변경될 때의 프로시저)", "Procedure when Stream change is requested(스트림 변경이 요청될 때의 프로시저)"를 포함한다.
"Procedure when playback condition is changed"는, 어떤 이벤트(event)가 재생장치에 발생하여 재생장치의 상태가 변화한 때에 실행해야 할 프로시저를 나타낸다.
"Procedure when Stream change is requested"는 스트림의 변경을 요구한 때에 실행해야 할 프로시저를 나타낸다.
이들 점선 틀에 도시된 "Procedure when playback condition is changed" 및 "Procedure when Stream change is requested"는 스트림 선택 프로시저이며, 후에 플로차트를 참조하여 상세히 설명한다.
도 26에서의 화살표는 PSR14에 저장된 세컨더리 비디오 스트림 번호가 취할 수 있는 상태의 천이를 상징적으로 나타낸다.
상태천이를 의미하는 화살표에 첨부된 주석은 각 상태천이의 트리거가 되는 이벤트를 의미한다. 즉, 본 도면에서는 "Load Disc", "Change a Stream", "Start PlayList playback", "Cross a PlayItem boundary", "Terminate Playlist playback"과 같은 이벤트가 발생한 때에 PSR14에서의 세컨더리 비디오 스트림 번호의 상태천이가 이루어지게 된다. 이들 기법을 이해하고 도 26을 참조하면, Invalid → Invalid의 상태천이시 또는 Valid → Invalid의 상태천이 시에는 상술한 프로시저는 실행되고 있지 않음을 알 수 있다. 이에 대해 Invalid → Valid 사이의 상태천이 또는 Valid → Valid 사이의 상태천이는 모두 점선 틀을 경유하고 있다. 즉, PSR14의 세컨더리 비디오 스트림 번호를 Valid이도록 설정하는 경우, 상술한 "Procedure when playback condition is changed" 또는 "Procedure when Stream change is requested"이 수행된다.
이하, 상태천이의 트리거가 되는 이벤트에 대해서 설명한다.
이벤트 "Load Disc"란 재생장치에 BD-ROM이 로딩 되었다는 것을 의미한다. 이와 같은 로딩 시, PSR14에서의 세컨더리 비디오 스트림 번호는 일단 부정 값(0xFF)으로 설정된다.
이벤트 "Start PlayList playback"은 PL에 의거 재생처리를 개시하였다는 것 을 의미한다. 이와 같은 이벤트의 발생 시, "Procedure when playback condition is changed"가 실행되며, PSR14에서의 세컨더리 비디오 스트림 번호가 Valid로 이행하고 있음을 알 수 있다.
이벤트 "Terminate PlayList playback"는 PL에 의거한 재생처리를 종료하였다는 것을 의미한다. 이와 같은 이벤트의 발생시, "Procedure when playback condition is changed"는 실행되지 않으며, PSR14에서의 세컨더리 비디오 스트림 번호가 Invalid로 이행하고 있다.
이벤트 "Change a Stream"는 사용자에 의해 스트림의 변경요구가 이루어졌다는 것을 의미한다. PSR14에서의 세컨더리 비디오 스트림 번호가 Invalid인 경우 이와 같은 이벤트가 발생하면(도 26에 cj1로 표시), PSR14는 그 요구된 값으로 설정된다. 이렇게 하여 설정된 값이 유효한 스트림 번호를 나타내고 있었다고 해도, 이 PSR14의 설정 값은 Invalid인 값으로 취급된다. 즉, 이벤트 "Change a Stream"에 의한 상태천이에서는 PSR이 Invalid에서 Valid로 바뀌는 일은 없다.
한편, PSR14에서의 세컨더리 비디오 스트림 번호가 Valid인 경우 이와 같은 이벤트 "Change a Stream"이 발생하면(도 26에서 cj2로 표시), "Procedure when Stream change is requested"의 실행에 의해 설정되는 값은 사용자가 희망한 값이 되지 않는 경우도 있을 수 있다. 왜냐하면, "Procedure when Stream change is requested"는 무효한 값을 배제하는 기능을 가지기 때문이다. PSR14가 Valid인 경우 이벤트 "Change a Stream"이 발생하면, PSR14는 Valid에서 Invalid로 상태천이를 하는 일은 있을 수 없다. 이는, PSR14에서의 세컨더리 비디오 스트림 번호가 Invalid가 되지 않도록 "Procedure when Stream change is requested" 측에서 보증하기 때문이다.
이벤트 "Cross a PlayItem Boundary"란 어떤 PlayItem의 경계를 통과하였다는 것을 의미한다. 여기서 PlayItem의 경계란 연속하는 2개의 PlayItem 중 선행하는 측의 종단과 후속되는 측의 선단의 사이를 의미한다. PSR14에서의 세컨더리 비디오 스트림 번호가 Valid인 경우 이와 같은 이벤트가 발생하면, "Procedure when playback condition is changed"가 실행됨을 알 수 있다. 그리고 "Procedure when playback condition is changed"의 실행 후, PSR14에서의 세컨더리 비디오 스트림 번호의 상태는 Valid로 복귀하거나 Invalid로 이행함을 알 수 있다. STN_table은 PlayItem마다 존재하고 있고, PlayItem이 바뀌면 재생 가능한 엘리멘터리 스트림도 바뀐다. PlayItem의 재생 개시시마다 "Procedure when playback condition is changed"를 실행하여 PlayItem별로 최적의 설정 값을 PSR14에 설정한다고 하는 것이 본 상태천이의 취지이다.
도 27은 세컨더리 비디오 스트림에서의 "Procedure when playback condition is changed"의 처리순서를 나타내는 플로차트이다.
스텝 S 51에서는 PSR14에 설정된 번호의 세컨더리 비디오 스트림이 이하의 조건 (A), (B)를 만족하는가 여부를 체크한다.
조건 (A): Video format 및 frame_rate와, HDTV Secondary Video Capability 또는 50&25㎐ Video Capability의 비교에 기초하여, 재생장치는 PSR14에 저장된 번호에 의해 정해지는 세컨더리 비디오 스트림을 재생할 수 있다.
조건 (B): 세컨더리 비디오 스트림에서의 SubPath_Type은 "6(즉, 비 동기 픽처 인 픽처)"이다.
"HD Secondary Video Capability"란 HDTV 대응의 비디오 스트림을 디코드하여 재생 출력하는 능력을 의미하고, "50&25㎐ Video Capability"란 50프레임/초 또는 25프레임/초의 픽처 열을 디코드하여 재생 출력하는 능력을 의미한다. 또, "Video format", "frame_rate"는 STN_table에서 세컨더리 비디오 스트림에 대한 stream_attribute에 기재되어 있다. 또, "HD Secondary Video Capability" 또는 "50&25㎐ Video Capability"의 유무는 PSR29의 b0, b1에 제시되어 있다. 이들 STN_table에 의한 설정과 PSR29의 b1의 값을 참조함으로써 조건 (A)를 구비하고 있는가 여부의 판단이 이루어진다.
스텝 S 51의 실행 후에 스텝 S 52, 스텝 S 53을 실행한다.
스텝 S 52는 현재 PlayItem의 STN_table에서의 세컨더리 비디오 스트림의 STN_table에서의 Stream_entry의 개수가 0인가 여부를 판정하는 판정스텝이다. 여기서, 세컨더리 비디오 스트림의 STN_table에서의 Stream_entry의 개수가 0이라는 것은 재생이 허가되어 있는 세컨더리 비디오 스트림이 하나도 존재하지 않는다는 것을 의미한다. 만일 0인 경우에는 PSR14의 세컨더리 비디오 스트림 번호를 유지한다(스텝 S 53). 현재 PlayItem에서 재생이 허가되어 있는 세컨더리 비디오 스트림이 존재하지 않는 이상 PSR14의 현재의 값을 유지해야 하기 때문이다.
스텝 S 54는 스텝 S 53이 0이 아니라고 판정된 경우에 실행되는 판정스텝이며, PSR14에 저장된 번호 x가 STN_table에서의 Stream_entry의 총 수 이하이면서, 또한, 조건 (A)를 만족하는가 여부를 판정한다. 이 스텝 S 54가 YES로 판정되면 후술하는 도 28의 플로차트의 순서를 실행함으로써 현재 PlayItem에 대해서 최적인 스트림을 선택한다(스텝 S 55).
만일 스텝 S 54에서 NO로 판정되면 스텝 S 56의 판정스텝을 실행한다. 이 판정스텝은 조건 (B)를 만족하는가 여부를 판정하는 스텝이다. 조건 (B)를 만족하면 스텝 S 58에서의 PSR14에 0xFE를 설정한다. 이 0xFE는, PSR14에서의 세컨더리 비디오 스트림 번호가 Valid이지만 세컨더리 비디오 스트림이 선택되지 않았다는 것을 의미하는 값이다. 비 동기 픽처 인 픽처의 실행시에 이와 같은 값을 PSR14에 설정해 두면, 사용자 조작이 이루어졌다고 해도 "Procedure when Stream change is requested"는 실행되지 않으며, 계속해서 세컨더리 비디오 스트림이 재생되지 않는 사태에 빠지게 된다. 이와 같은 사태를 피하기 위해서 비 동기 픽처 인 픽처의 실행시에는 PSR14에 0xFE를 설정하는 것으로 하고 있다.
조건 (B)를 만족하지 않으나 유효한 세컨더리 비디오 스트림 번호가 이미 PSR14에 존재하면 이 번호는 변화시키지 않는다(스텝 S 57).
이상이 세컨더리 비디오 스트림에서의 "Procedure when playback condition is changed"에 대한 설명이다.
도 28은 현재 PlayItem에 대해 최적인 스트림을 선택하는 처리순서를 나타내는 플로차트이다.
스텝 S 61 내지 스텝 S 63에서는 이하의 조건 (a), (b)를 만족하고 있는가의 체크를 STN_table에서의 모든 stream_entry에 기술되어 있는 스트림에 대해서 실행 한다.
조건 (a): 세컨더리 비디오 스트림에 대한 Video format 및 frame_rate와, HD Secondary Video Capability 또는 50&25㎐ Video Capability의 비교에 기초하여, 재생장치가 PSR14에 저장된 번호에 의해 정해지는 세컨더리 비디오 스트림을 재생할 수 있다.
조건 (b): 세컨더리 비디오 스트림에서의 SubPath_type이 "6(비 동기 픽처 인 픽처)"이다.
이상과 같은 체크가 STN_table에서 재생이 허가되어 있는 모든 세컨더리 비디오 스트림에 대해서 이루어지면 스텝 S 64의 판정스텝을 실행한다.
스텝 S 64는 조건 (a)를 만족하는 세컨더리 비디오 스트림이 하나도 존재하지 않는가 여부에 대한 판정이며, 만일 그렇다면 0xFFF를 세컨더리 비디오 스트림에 대한 스트림 번호로서 PSR14에 설정한다(스텝 S 65).
만일 세컨더리 비디오 스트림이 하나라도 존재하면 스텝 S 64가 YES가 되며, 스텝 S 66이 실행되게 된다. 스텝 S 66에서, 조건 (a)를 만족하는 세컨더리 비디오 스트림으로서, STN_table에서 선두 위치로 되어 있는 것이 조건 (b)를 만족하는가 여부를 체크한다. 만일 조건 (b)를 만족하면 스텝 S 67에서 세컨더리 비디오 스트림 번호로 0xFE를 PSR에 설정한다.
조건 (b)를 만족하지 않으면, 조건 (a)를 만족하는 세컨더리 비디오 스트림 중, 대응하는 Stream_entry가 STN_table에서 선두 위치에 위치하는 세컨더리 비디오 스트림을 선택하고, 선택한 세컨더리 비디오 스트림의 스트림 번호를 PSR14에 설정한다(스텝 S 68). 이들 순서를 거쳐서 현재 PlayItem에서 최적인 세컨더리 비디오 스트림이 PSR14에 저장된다. 이상이 최적의 스트림 번호를 선택하기 위한 선택 프로시저이다.
도 29는 세컨더리 비디오 스트림에 대한 "Procedure when Stream change is requested"의 처리순서를 나타내는 플로차트이다.
조작접수부(26)에 대해 이루어진 사용자 조작에 의해 세컨더리 비디오 스트림 번호 x가 특정되었다고 하자. 이 경우, 스텝 S 71에서는 번호 x의 세컨더리 비디오 스트림이 이하의 조건 (A), (B)를 만족하는가 여부를 체크한다.
조건 (A): Video format 및 frame_rate와, HD Secondary Video Capability 또는 50&25㎐ Video Capabality의 비교에 기초하여, 재생장치가 PSR14에 저장된 번호에 의해 정해지는 세컨더리 비디오 스트림를 재생할 수 있다.
조건 (B): 세컨더리 비디오 스트림에서의 SubPath_Type은 "6(비 동기 픽처 인 픽처"이다.
이상의 체크를 거치면 스텝 S 72의 판정스텝을 실행한다. 스텝 S 72는 현재 PlayItem의 세컨더리 비디오 스트림의 STN_table에서의 Stream_entry의 개수가 0인가 여부를 판정하는 것이다. 만이 "0"이면 STN_table에는 재생이 허가되어 있는 스트림이 존재하지 않는 것으로 하고, PSR14에서의 세컨더리 비디오 스트림 번호를 유지한다(스텝 S 73).
만일 "0"이 아니면 스텝 S 74의 판정스텝을 실행한다. 스텝 S 74는 사용자 조작에 의해 특정된 번호 x의 세컨더리 비디오 스트림이 STN_table에서의 stream_entry의 총 수 이하이면서, 조건 (A)를 만족하는가 여부를 판정하는 것이다. 만일 조건 (A)를 만족하면 번호 x에 의해 특정되는 스트림을 선택하고, 번호 x를 PSR14에 설정한다(스텝 S 75).
스텝 S 74에서 "NO"이면 스텝 S 76의 판정스텝을 실행한다. 이 판정스텝은 번호 x가 0xFF인가 여부의 판정이다. 여기서 0xFF의 번호는 "위임번호(entrustment number)"라는 의미이며, 현재 PlayItem에서 최적인 세컨더리 비디오 스트림의 선택을 재생장치에 위임하고 있다는 것을 의미한다. 만일 0xFF가 아니면 PSR14에 저장된 세컨더리 비디오 스트림의 스트림 번호를 유지하나(스텝 S 77), 번호 x가 0xFF이면 스텝 S 78 내지 스텝 S 80의 루프처리로 돌입한다. 이 루프처리에서는 이하의 조건이 만족되고 있는가 여부의 체크를 STN_table에서의 모든 stream_entry에 기술되어 있는 세컨더리 비디오 스트림에 대해서 실행한다.
조건 (a): Video format 및 frame_rate와, HD Secondary Video Capability 또는 50&25㎐ Video Capability의 비교에 기초하여, 재생장치가 PSR14에 저장된 번호에 의해 정해지는 세컨더리 비디오 스트림을 재생할 수 있다.
루프의 실행 후, 조건 (a)를 만족하는 세컨더리 비디오 스트림이 적어도 하나 존재하는가를 스텝 S 81에서 판정하고, 만일 존재하면 조건 (a)를 만족하는 세컨더리 비디오 스트림 중 대응하는 Stream_Entry가 STN_table에서 선두 위치에 위치하는 것을 선택하고, 선택한 세컨더리 비디오 스트림의 세컨더리 비디오 스트림 번호를 PSR14에 설정한다(스텝 S 82). 이상이 세컨더리 비디오 스트림에 대한 "Procedure when Stream change is requested"의 설명이다.
이상과 같이, 본 실시 예에 의하면 BD-ROM이나 로컬 기억장치에 기록되어 있는 세컨더리 비디오 스트림 중에 재생불능인 것이 존재하였다고 해도, 다음의 스트림을 선택하는 프로시저를 실행함으로써 "자신이 재생할 수 있는 것을 픽처 인 픽처에 이용한다"는 선택의 여지가 생긴다. 따라서 세컨더리 비디오의 총 사이즈 자체에 차이가 있고, 재생장치에서의 세컨더리 비디오의 재생능력의 유무에 차이가 있다고 해도, 어떤 세컨더리 비디오를 재생장치에 표시하도록 하여 픽처 인 픽처를 실행하도록 할 수 있다.
(제 2 실시 예)
본 실시 예에서는 픽처 인 픽처를 재생장치가 실현하게 하기 위한 구체적인 데이터 구조와, 이 데이터 구조에 의거한 재생장치의 처리순서에 대해서 설명한다. 픽처 인 픽처를 재생장치가 실현하게 하기 위한 구체적인 데이터 구조는 도 11, 도 16에 도시한 mpls 파일의 내부 구성 중 extention_data에 존재하며, PiP_metadata라고 부른다. 도 30은 PiP_metadata의 내부 구성을 나타내는 도면이다. 인출 선 hm1은 PiP_metadata의 내부 구성을 클로즈업하고 있다. 이 인출 선 hm1에 나타내는 바와 같이, PiP_metadata는 number_of_metadata_block_entries, n1개의 metadata_block_ header, 및 n2개의 PiP_metadata_block으로 구성된다.
인출 선 hm2는 metadata_block_header의 내부 구성을 클로즈업하여 나타내고 있다. 즉, metadata_block_header는 동일한 클래스 구조체(class structure)로부터 생성한 복수의 인스턴스이며, 그 내부 구성은 모두 이 인출 선 hm2에 나타내는 것이 된다. 이하 metadata_block_header를 구성하는 각 필드에 대해서 설명한다.
ref_to_PlayItem_id[k]:
픽처 인 픽처의 대상이 되는 PlayItem[k]의 PlayItem_id를 나타내는 필드이다. 이 ref_to_PlayItem_id[k]에 의해 지시되는 PlayItem의 STN_table은 ref_to_secondary_video_stream_id[k]의 참조 값(secondary_video_stream_id)을 저장하는 것이어야 한다. 또, pip_metadata() 내의 ref_to_PlayItem_id는 그 값의 오름 순으로 재배열되어야 한다. 이는 현재 PlayItem이 변화한 때에 그 변화 후의 PlayItem을 지정한 ref_to_PlayItem_id를 갖는 metadata_block_header를 바로 찾아내기 위해서이다.
ref_to_secondary_video_stream_id[k]:
ref_to_PlayItem_id[k]에서 참조되는 PlayItem의 STN_table에서 정의되는 secondary_video_stream_id 값 중 이 픽처 인 픽처에서 재생에 제공하는 것을 나타내는 필드이다. 이 필드는 관련된 PiP_metadata_block[k]()을 이용하는 세컨더리 비디오 스트림을 특정하기 위해 이용된다. 상세히 설명하면, 이 secondary_video_stream_id 값을 참조하면 STN_table 내의 관련된 stream_entry()를 도출할 수 있고, 그 stream_entry를 참조함으로써 PiP_metadata_block[k]()가 이용하는 세컨더리 비디오 스트림에 대응하는 SubPath를 찾아낼 수 있다.
단, PiP_metadata()에는 ref_to_PlayItem_id[k]의 값과 ref_to_secondary_video_stream_id[k]의 값이 동일해지는 쌍(pair)이 2개 이상 존재해서는 안 된다.
pip_timeline_type[k]:
PlayItem 시간 축에서의 Sync_Start_PTS_of_PlayItem의 맵핑 포인트(mapping point)를 픽처 인 픽처 실행 타이밍의 기준으로 하는가, 또는, PlayItem의 원점을 기준으로 하는가를 나타낸다.
pip_time_line_type=1인 경우, 동기 픽처 인 픽처의 실행시에 pip_metadata_time_stamp는 ref_to_PlayItem_id[k]에 의해 참조되는 PlayItem의 시간 축을 기준으로 한다. 이 경우, ref_to_secondary_video_stream_id[k]에 의해 지정되는 SubPath의 SubPath_type은 5나 7로 설정되어야 한다.
pip_time_line_type=3인 경우, 비 동기 픽처 인 픽처의 실행시에 pip_metadata_time_stamp는 SubPath의 시간 축을 기준으로 한다는 것을 나타낸다. 이 경우, ref_to_secondary_video_stream_id[k]에 의해 지정되는 SubPath의 SubPath_type은 6으로 설정되어야 한다.
pip_time_line_type=2인 경우, 비 동기 픽처 인 픽처의 실행시에 pip_metadata_time_stamp는 ref_to_PlayItem_id[k]에 의해 참조되는 PlayItem의 타임 라인(time line)을 기준으로 한다는 것을 나타낸다. 이 경우, ref_to_secondary_video_stream_id[k]에 의해 지정되는 SubPath의 SubPath_type은 6으로 설정되어야 한다.
이상과 같이, PlayItem 측 또는 SubPlayItem 측 중 어디를 기준으로 하는 것이 이상적인가에 따라 픽처 인 픽처의 재생을 바람직하게 실현할 수 있다.
is_luma_key:
이 플래그가 1인 경우, upper_limit_luma_key 값에 따라서 대응하는 세컨더 리 비디오 스트림에 luma-keying이 적용된다. luma-keying이란 세컨더리 비디오를 구성하는 개개의 픽처에 피사체부분과 배경부분이 존재하는 경우에 각 픽처로부터 피사체부분을 골라내서 프라이머리 비디오와의 합성에 제공하는 처리이다. luma-keying이 세컨더리 비디오에 적용되는 경우, 제 1 실시 예에서 설명한 α3 승산부(15c)에서의 α3은 0이나 1로 설정된다. luma-keying이 적용되지 않는 경우에는 이 α3은 1로 설정된다.
trick_playing_flag:
이것은 프라이머리 비디오에 대한 트릭 재생(trick playback)의 실행 중에 픽처 인 픽처를 위한 윈도를 계속해서 개방하는가 폐쇄하는가에 대한 콘텐츠 공급자의 의사를 나타내는 플래그이다. 이 플래그는 동기식 픽처 인 픽처에서만 유효하다. 이 플래그가 0인 경우에는 프라이머리 비디오가 트릭 재생 중에 픽처 인 픽처를 위한 윈도(PiP 윈도)를 폐쇄할 것을 콘텐츠 공급자는 의도한다. 여기서, 트릭 재생의 의미는 재생장치의 제조자에 의해 제품별로 정의된다. 예를 들어, 그 제품은 1.2배속 Forward Play는 트릭 재생이 아니며, 2배속 이상의 Forward Play를 트릭 재생으로 정의할 수도 있다.
upper_limit_luma_key:
이것은 luma_keying용의 대응하는 세컨더리 비디오 휘도(Y)의 상한값을 지정하는 필드이다. 프라이머리 비디오 플레인과 세컨더리 비디오 플레인이 중첩된 때에 세컨더리 비디오 플레인 상에서 휘도(Y)의 값이 0 이상, upper_limit_luma_key 값 이하까지의 화소가 픽처 인 픽처의 합성시에 완전 투과하게 된다. 예를 들어, 세컨더리 비디오가 인물상과 배경으로 구성되어 있고, 이들 중 인물상만을 합성의 대상으로 하고자 하는 경우, 세컨더리 비디오를 구성하는 화소의 휘도 중 어느 값까지를 배경으로 간주하는가를 이 upper_limit_luma_key으로 설정할 수 있다.
이어서, PiP_metadata_block의 내부 구성에 대해서 설명한다. 인출 선 hm3은 PiP_metadata_block의 구성을 클로즈업하고 있다. 이 인출 선으로 나타내는 바와 같이, PiP_metadata_block[1]은 k개의 PiP_metadata_entry[1]~[k]와 number_of_ pipmetadata_entries로 이루어진다.
인출 선 hm4는 PiP_metadata_entry의 내부 구성을 클로즈업하여 나타내고 있다. 즉, PiP_metadata_entry는 동일한 크래스 구조체로부터 생성한 복수의 인스턴스이며, 그 내부 구성은 모두 pip_metadata_time_stamp[i]와 pip_composition_ metadata_()로 구성된다.
pip_metadata_time_stamp[i]:
이는 pip_composition_metadata_()가 유효한 시간간격의 개시점을 나타내는 필드이다.
최종 pip_composition_metadata_()를 제외하고, k번째의 PiP_metadata_block[k]에서의 i번째의 pip_composition_metadata_()는 pip_ metadata_time_stamp[i] 이상 pip_metadata_time_stamp[i+1] 미만의 시간간격에서 유효해진다. PiP_metadata_block[k]() 내의 최종 pip_metadata_time_stamp의 최종 pip_composition_metadata_()는 최종 pip_metadata_time_stamp 이상, ref_to_secondary_video_stream_id[k]에 의해 지정되는 SubPath의 표시 종료 미만 의 시간간격에서 유효하다. 또, 연속하는 2개의 pip_metadata_time_stamp 값 사이의 최소 시간간격은 1초를 포함한다.
pip_composition_metadata()는 이하의 필드로 구성된다.
pip_horizontal_position[i]:
이 필드는 프라이머리 비디오 플레인 상에서의 세컨더리 비디오의 좌측 상단의 화소의 수평위치를 나타낸다. 비디오 플레인의 횡 폭을 video_width로 표현한 경우, 본 pip_horizontal_position에 의해 지정되는 수평위치는 0에서 video_width-1의 범위가 된다.
pip_vertical_position[i]:
이 필드는 프라이머리 비디오 플레인 상에서의 세컨더리 비디오의 좌측 상단의 화소의 수직위치를 나타낸다. 비디오 플레인의 종 폭을 video_high로 한 경우, 본 pip_vertical_position에 의해 지정되는 수직위치는 0에서 video_high-1의 범위가 된다. 도 31은 pip_horizontal_position 및 pip_vertical_position이 비디오 플레인에서 어떤 좌표를 취할 수 있는가를 나타낸다. 본 도면은 화상의 좌상 정점을 원점으로 하고, 화상의 우측방향을 X좌표의 정방향으로 하며, 화상의 하측 방향을 Y좌표의 정방향으로 한 좌표계로 표현하고 있다. 이 좌표계에서 pip_horizontal_position은 이 좌표계의 X좌표를 나타내고, pip_vertical_position은 이 좌표계의 Y좌표를 나타내게 된다.
pip_scale[i]:
이 필드는 세컨더리 비디오 스케일링 타입(scaling type)을 나타내는 필드이 다. 스케일링 타입에는 이하의 것이 있다.
0: 예약
1: 스케일링 없음(×1)
2: 1/2 스케일링(×1/2)
3: 1/4 스케일링(×1/4)
4: 1.5배 스케일링(×1.5)
5: 풀 스크린 스케일링
이하, pip_timeline_type과 pip_metadata_time_stamp의 관계에 대해서 설명한다.
pip_timeline_type[k] = 1
이 경우, ref_to_PlayItem_id[k]에 의해 참조되는 PlayItem 시간 축 상에서의 SubPlayItem의 In_Time의 맵핑 포인트에서 시작하며, 이후, SubPlayItem의 시간 길이에 상당하는 간격에서 픽처 인 픽처는 유효해진다. 이 경우, pip_metadata_time_stamp는 이 픽처 인 픽처 유효기간에 속하는 어느 시각을 45㎑의 시간 정밀도로 표현한다. 이때, pip_metadata_time_stamp[0]은 SubPlayItem의 In-Time을 ref_to_PlayItem_id[k]에 의해 참조되는 PlayItem의 타임 라인 상에 맵핑함으로써 얻어지는 맵핑 포인트에 배치된다.
도 32는 pip_timeline_type = 1인 경우에 pip_metadata_time_stamp가 시간 축 상에 어떻게 배치되는가를 나타내는 도면이다. 본 도면에서 제 3단째는 SubPlayItem 시간 축이고, 제 2단째는 PlayItem 시간 축이다. 제 1단째는 프라이머 리 비디오를 구성하는 복수의 픽처이다.
여기서 세컨더리 비디오가 쇼핑 영상이고, 본편 중에 등장하는 여배우가 착용하고 있는 의복의 판매를 요청하는 것으로 한다. 그리고 PlayTime 시간 축에서의 시점 t1에서 화면의 좌단이 여백으로 되어 있고, 시점 t2에서 화면 우단이 여백으로 되어 있는 것으로 한다. 이 경우, pip_metadata_time_stamp[i]를 t1으로 하고, pip_horizontal_position[i], pip_vertical_position[i]를 화면 좌측에 설정해 둔다. 또, pip_metadata_time_stamp[i+1]을 시점 t2로 하고, pip_horizontal_position [i+1], pip_vertical_position[i+1]을 화면 우측에 설정한다.
그렇게 하면 쇼핑 영상은 이들 시점 t1, 시점 t2에서 여백으로 되어 있는 부분에 표시되게 된다. pip_timeline_type = 1의 경우 본편의 영상에 맞춰서 세컨더리 비디오를 배치할 수 있으므로, 본편의 시청에 방해가 되지 않는 부분에 세컨더리 비디오를 표시하게 할 수 있다.
pip_timeline_type[k] = 2
도 33은 pip_timeline_type = 2인 경우에 pip_metadata_time_stamp가 시간 축 상에 어떻게 배치되는가를 나타내는 도면이다. 본 도면에서 제 1단째, 제 2단째, 제 3단째의 의미는 도 32에서의 각 단과 동일하다.
본 도면의 제 3단째에서의 SubPath의 시간 축 상에서, SubPlayItem의 In_Time에서 시작하며, 이후, SubPlayItem의 시간 길이에 상당하는 간격에서 픽처 인 픽처는 유효해진다. pip_metadata_time_stamp는 이 픽처 인 픽처 유효기간에 속 하는 어느 시각을 45㎑의 시간 정밀도로 표현한다. 이때, pip_metadata_time_stamp[0]은 SubPlayItem 시간 축에서의 In-Time에 의해 지정된 시점에 배치된다.
SubPath 시간 축 측에 pip_metadata_time_stamp[0]을 배치하는 것은, 세컨더리 비디오에 의해 표시되는 것이 이동체이고 이를 화면의 좌단에서 우단으로 이동시키고자 하는 경우, 이 이동궤적을 규정하기 위해서이다. 왜냐하면, 이 이동궤적은 본편의 영상과 관계없이 규정하면 좋기 때문이다. 그러므로 pip_metadata_time_stamp [0]은 SubPath 정보의 재생시간 축 상에 배치되어 있다.
도 33에서, pip_metadata_time_stamp[i]가 SubPlayItem 시간 축의 t1을 가리키고 있고, pip_horizontal_position [i], pip_vertical_position[i]가 화면 좌상을 가리키고 있는 것으로 한다. 또, pip_metadata_time_stamp[i+1]이 SubPlayItem 시간 축에서의 시점 t2를 가리키고 있고, pip_horizontal_position[i+1], pip_vertical_position[i+1]이 화면 우하를 가리키고 있는 것으로 한다.
그렇게 하면 화면 좌상에의 세컨더리 비디오의 표시는 SubPlayItem 시간 축에서 pip_metadata_time_stamp[i]에 의해 지시되는 시각에 이루어진다. 그리고 화면 우하에의 세컨더리 비디오의 표시는 SubPlayItem 시간 축에서 pip_metadata_time_stamp[i+1]에 의해 지시되는 시각에 이루어진다. 여기서, Sync_Start_PTS_of_PlayItem이 0xFF인 경우에 Sync_Start_PTS_of_PlayItem은 사용자가 잠금 조작(lock operation)을 한 시점으로 해석되므로, 사용자가 잠금 조작을 하면 세컨더리 비디오는 순차 표시되어 가게 된다. 이에 의해 세컨더리 비디오 중 에 표시되는 대상물(도면 중의 유성)이 사용자 조작에 반응해서 프라이머리 비디오 내에서 활동하는 것과 같은 화면 연출을 실현할 수 있다.
pip_timeline_type[k] = 3
ref_to_PlayItem_id[k]에 의해 참조되는 PlayItem 시간 축 상에서의 PlayItem의 In_time에서부터 시작되어 Out_time에서 종료하는 시간간격에서 픽처 인 픽처가 유효해진다. pip_metadata_time_stamp는 이 픽처 인 픽처 실행기간에 속하는 어떤 시각을 45㎑의 시간 정밀도로 표현한다. 이때, pip_metadata_time_stamp[0]은 ref_to_PlayItem_id[k]에 의해 참조되는 PlayItem의 In_time에 위치하게 된다.
도 34는 pip_timeline_type = 3인 경우에 pip_metadata_time_stamp가 시간 축 상에 어떻게 배치되는가를 나타내는 도면이다. 본 도면에서의 각 단의 의미는 도 32에서의 각 단의 의미와 동일하다. 또, 프라이머리 비디오에서 여백으로 되어 있는 위치도 도 32의 여백으로 되어 있는 위치와 동일한 것으로 한다. pip_timeline_type[k] = 3이면 pip_metadata_time_stamp[0]은 PlayItem 시간 축의 원점, 즉, In_time에 의해 지시되는 시점에 배치된다. 따라서 PlayItem 시간 축의 원점을 기준으로 한 좌표를 이용해서 t1을 표현하고, pip_metadata_time_stamp[i]에 설정하며, PlayItem 시간 축의 원점을 기준으로 한 좌표를 이용해서 t2를 표현하고, pip_metadata_ time_stamp[i]에 설정하면 도 32와 동일한 화면 연출을 실현할 수 있다. pip_time_line_type = 3에 설정되면 PlayItem 시간 축의 원점을 기준으로 한 좌표에 의해 픽처 인 픽처를 실행할 기간을 규정할 수 있다.
이상이 본 실시 예에서의 기록매체의 개량이다. 이어서, 본 실시 예의 재생장치의 개량에 대해서 설명한다. 본 실시 예에서의 재생장치의 개량부분은 PiP제어부(43)가 metadata_block_header 및 PiP_metadata_block에 의거하여 재생제어를 한다는 점이다. 도 35 및 도 36은 픽처 인 픽처에 의거한 재생제어의 순서를 나타내는 플로차트이다. 이하, 이 플로차트를 참조하여 재생제어에 대해서 설명한다.
스텝 S 91은 선택 프로시저의 실행을 기다리는 이벤트 대기 루프를 구성하고 있다. 프로시저가 실행된 경우에는 스텝 S 91이 YES가 되어 스텝 S 92 이후의 처리를 실행한다. 스텝 S 92는 현재 PlayItem을 ref_to_PlayItem_id로 지정하고, PSR14에서의 세컨더리 비디오 스트림 번호에 대응하는 PID를 ref_to_secondary_ video_stream_id에 지정한 metadata_block_header가 존재하는가 여부를 판정한다.
만일 존재하면 그 metadata_block_header를 현재 metadata_block_header로 한다(스텝 S 93). 스텝 S 94 내지 스텝 S 96은 metadata_block_header의 PiP_time_line_type의 값에 따라서 스텝 S 97, 스텝 S 98, 스텝 S 99를 선택적으로 실행하는 스텝이다. metadata_block_header의 PiP_time_line_type = 1인 경우 스텝 S 94가 YES가 되며, 플레이리스트 재생시간 축에서의 Sync_Start_PTS_of_PlayItem의 맵핑 포인트에 PiP_metadata_block.PiP_metadata_time_stamp[0]을 배치한다(스텝 S 97).
metadata_block_header의 PiP_time_line_type = 2인 경우에는 스텝 S 95가 YES가 되며, SubPlayItem 시간 축에서의 SubPlayItem.In_Time에 PiP_metadata_block. PiP_metadata_time_stamp[0]을 배치한다(스텝 S 98).
metadata_block_header의 PiP_time_line_type = 3인 경우에는 스텝 S 96이 YES가 되며, PlayItem.In_Time에 PiP_metadata_block.PiP_metadata_time_stamp[0]을 배치한다(스텝 S 99).
스텝 S 100에서는 PiP_metadata_time_stamp[0]의 배치에 의거하여 PiP_metadata_time_stamp[0][1]…[n]을 STC 시간 축 상의 좌표로 변환한다. 그 후, 스텝 S 101 내지 스텝 S 105의 루프처리를 개시한다. 이 루프처리에서의 카운터 변수는 변수 i이며, 스텝 S 101에서 "0"으로 초기화된다. 이 카운터 변수는 스텝 S 103 및 스텝 S 104가 1회 실행될 때마다 스텝 S 105에서 1씩 증가한다.
스텝 S 103은 현재의 재생시점(현재 Presentation TiMe(PTM))이 PiP_metadata_block.PiP_metadata_time_stamp[i]에 도달했는가 여부의 판정이다. 만일 도달했으면 metadata_block_header.Ref_to_secondary_video_stream_id에 의해 지시되는 세컨더리 비디오를 (pip_horizontal_position, pip_vertical_position)에 의해 지시되는 좌표에 PiP_scale[i]에 의해 지시되는 크기로 표시하도록 α3 승산부(15c) 및 가산부(15d)에 지시한다(스텝 S 104).
여기서 metadata_block_header의 is_luma_key가 1로 설정되어 있으면 휘도(Y)의 값이 0 이상 upper_limit_luma_key 값 이하까지의 화소를 픽처 인 픽처의 합성시에 완전히 투과하도록 α3 승산부(15c) 및 가산부(15d)에 지시한다. 이에 의해 세컨더리 비디오에서의 인물상만을 추출해서 프라이머리 비디오와 합성할 수 있다.
루프처리의 종료요건은 스텝 S 102에서 i=number_of_pip_metadata_entry-1로 판정되는 것이다. 이 종료요건을 만족할 때까지 스텝 S 103 내지 스텝 S 105의 처리가 반복 실행된다.
또, PlayList 정보의 도중에서부터 트릭 재생을 개시하는 경우, 현재 실행되고 있는 픽처 인 픽처가 동기식 PiP이면 trick_playing_flag를 참조해서, 프라이머리 비디오에 대한 트릭 재생의 실행 중 PiP용 윈도를 계속해서 개방하는가 폐쇄하는가에 대한 콘텐츠 공급자의 의사를 확인한다. 이 플래그가 0인 경우에는 PiP 윈도를 폐쇄할 것을 콘텐츠 공급자가 의도하고 있으므로 윈도를 폐쇄한다. 이 플래그가 1인 경우에는 윈도를 개방해둘 것을 콘텐츠 공급자가 의도하고 있으므로 윈도를 개방한 상태로 한다.
이상과 같이 본 실시 에에 의하면 픽처 인 픽처를 개시할 때의 기준을 MainPath 측의 시간 축으로 할지 SubPath 측의 시간 축으로 할지를 PiP_time_line_type에 의거하여 결정한다. 따라서 프라이머리 비디오에서의 화상에 맞춰서 세컨더리 비디오의 위치를 결정할지, 사용자 조작에 반응하여 세컨더리 비디오를 이동할지 등의 편집 담당자의 의향을 재생장치의 동작에 반영할 수 있다.
(제 3 실시 예)
본 실시 예는 복수의 세컨더리 비디오 스트림 각각을 SubPlayItem과 대응시켜서, 이들 SubPlayItem으로부터 하나의 픽처 인 픽처 재생경로를 정의하는 경우의 개량에 대해서 설명한다.
이 경우, SubPlayItem 하나당의 재생구간의 길이는 대응하는 PlayItem의 재생구간의 길이보다도 짧을 수 있다. 반면에, SubPath에서의 연속적인 SubPlayItem 사이에서 시간의 오버랩을 갖는 것은 허용되지 않는다. PlayItem 간의 경계가 존재하는 경우라도, 오버랩이 되는 것은 허용되지 않는다. 한편, SubPath에서의 연속적인 SubPlayItem 사이에 시간적인 갭을 갖는 것은 허용된다. SubPath에서의 연속적인 SubPlayItem 사이에 시간적인 갭은 3초 또는 그 이상이다.
도 37은 하나의 PlayItem으로 이루어지는 MainPath와 2개의 SubPlayItem으로 이루어지는 SubPath와의 관계를 나타내는 도면이다. 제 1단째는 프라이머리 비디오 스트림을 구성하는 복수의 Video Presentation Unit을 나타낸다. 제 2단째는 sync_PlayItem_id와 sync_start_PTS_of_PlayItem의 쌍을 나타낸다. 제 3단째는 SubClip 시간 축을 나타내고, 제 4 단째는 SubPlayItem의 In_Times와 Out_Times를 나타낸다. 제 5단째는 세컨더리 비디오 스트림을 구성하는 복수의 Video Presentation Unit을 나타낸다.
제 2단째에 존재하는 sync_PlayItem_id와 sync_start_PTS_of_PlayItem의 쌍은 MainPath의 시간 축에서의 SubPlayItem_In_time과 동기하는 시간을 지정한다.
또, 제 5단째에서의 SubPlayItem_In_time에 의해 표시되는 세컨더리 비디오 측의 Video Presentation Unit vp1과 vp2 및 sync_start_PTS_of_PlayItem에 의해서 표시되는 프라이머리 비디오 측의 Video Presentation Unit vp3과 vp4는 MainPath 시간 축에서 동일 시점에 위치하게 된다.
또한, 제 3단째에서의 SubPath 시간 축 상에는 2개의 SubPlayItem (SubPlayItem #1, #2)이 정의되어 있으나, SubPath 시간 축에서 SubPlayItem #1의 Out_Time에서부터 In_Time까지에는 시간 갭(도면 중의 time gap)이 존재해도 좋다. 만일, SubPath에서의 연속적인 SubPlayItem이 시간 갭이 없이 연결되어 있으면 SubPlayItem 사이의 접속상태는 sp_connection_condition에 의해 표현되어야 한다.
도 37에서는, 제 3단째에 도시하는 것과 같이, 연속하는 2 이상의 SubPlayItem 사이에 3초라는 시간 갭이 주어져 있으므로, 세컨더리 비디오용 데이터를 제어하기 위한 과도한 부담을 컨트롤러(22)에 주지는 않는다. 이와 같은 배려가 SubPath 시간 축 측에 존재하므로 재생장치의 동작 클록(operation clock)을 증가시키지 않고도 연속한 2개의 SubPlayItem에 의거하여 SubClip을 재생하는 처리를 실현할 수 있다.
이상이 본 실시 예에서의 기록매체의 개량이다. 이어서, 본 실시 예의 재생장치의 개량에 대해서 설명한다.
본 실시 예에서의 재생장치의 개량은 플레이리스트 처리부(41)가 도 38, 도 39, 및 도 40에 도시한 플로차트의 처리순서를 실행하는 것이다.
도 38은 PlayList 정보에 의거한 재생순서의 플로차트이다. 본 플로차트는 Playlist 정보를 구성하는 .mpls 파일을 판독하고(스텝 S 11), PlayList 정보에서의 선두의 PlayItem을 현재 PlayItem으로 한 다음(스텝 S 12), 이 현재 PlayItem에 대해서 스텝 S 13 내지 스텝 S 25의 처리를 반복하는 루프구조로 되어 있다. 이 루프구조는 스텝 S 23을 종료조건으로 한 것이다. 플레이리스트 처리부(41)는 현재 PlayItem의 In_time에서 Out_time까지에 대응하여 액세스 유닛을 판독하도록 BD-ROM 드라이브에 명령하고(스텝 S 13), 현재 PlayItem에 이전의 PlayItem이 존재하는가 여부를 판정하여(스텝 S 14), 판정결과에 따라서 스텝 S 15의 처리 또는 스텝 S 16 내지 스텝 S 21의 처리를 선택적으로 실행한다. 구체적으로는, 현재 PlayItem에 이전 PlayItem이 없으면(스텝 S 14에서 No), 플레이리스트 처리부(41)는 PlayItem_In_Time에서 PlayItem_Out_Time까지의 재생을 디코더에 명령한다(스텝 S 15).
현재 PlayItem에 이전 PlayItem이 있으면(스텝 S 14에서 Yes), 현재 PlayItem에서의 Connection Condition 필드의 값이 5인가(CC = 5) 여부를 판정하고(스텝 S 16), CC = 5이면(스텝 S 16에서 Yes) 스텝 S 17 내지 스텝 S 20의 처리를 한다.
상술한 이전 PlayItem이 존재하는 경우에 MainClip에서의 ATC_Sequence가 스위치 된다. 이 ATC_Sequence에서 플레이리스트 처리부(41)는 ATC_delta 1이라 불리는 mainClip용 오프셋 값을 산출하고(스텝 S 17), 그때까지의 ATC_Sequence에서의 ATC 값(ATC1)에 ATC_delta 1을 가산함으로써 새로운 ATC_Sequence의 ATC 값(ATC2)을 얻는다(스텝 S 18).
또, 상술한 이전 PlayItem이 존재하는 경우, MainClip에서의 STC_Sequence가 스위치 된다. 이 STC_Sequence의 스위치에서 플레이리스트 처리부(41)는 STC_delta 1이라 불리는 오프셋 값을 구하고(스텝 S 19), 그때까지의 STC_Sequence에서의 STC 값(STC1)에 STC_delta 1을 가산함으로써(스텝 S 20) 새로운 STC_Sequence의 STC 값(STC2)을 구한다.
그리고 플레이리스트 처리부(41)는 Audio Overlap의 뮤트(mute)를 오디오 디코더(9)에 지시한 다음, PlayItem_In_Time에서 PlayItem_Out_Time까지의 재생을 디 코더에 명령한다(스텝 S 21). 현재 PlayItem이 CC = 5가 아니면 플레이리스트 처리부(41)는 CC = 1, CC = 6의 처리를 한다.
스텝 S 15 또는 스텝 S 16 내지 스텝 S 21 중 어느 한 처리를 실행하면 플레이리스트 처리부(41)는 스텝 S 22 내지 스텝 S 23의 처리를 한다.
스텝 S 22에서 플레이리스트 처리부(41)는 현재 PlayItem과 동기 재생하고 있는 SubPlayItem이 존재하고 있고, 현재의 재생시점(현재 PTM(Presentation TiMe))이 현재의 SubPlayItem과 다음의 SubPlayItem의 경계에 도달했는가를 판정한다. 만일 스텝 S 22가 Yes가 되면 플레이리스트 처리부(41)는 도 39의 플로차트의 스텝 S 30을 실행한다.
스텝 S 23에서 플레이리스트 처리부(41)는 AVClip 시간 축에서의 현재의 재생시점이 현재 PlayItem의 Out_Time에 도달했는가 여부를 판정한다.
만일 스텝 S 23이 Yes이면 플레이리스트 처리부(41)는 스텝 S 24로 이행한다. 스텝 S 24에서 플레이리스트 처리부(41)는 현재 PlayItem이 PlayItem 정보에서의 최종 PlayItem이 되었는가 여부를 판정한다. 만일, 최종 PlayItem이 아니면 플레이리스트 처리부(41)는 PlayList 정보에서의 다음의 PlayItem을 현재의 PlayItem으로 하고(스텝 S 25), 스텝 S 26을 거쳐서 스텝 S 13으로 이행한다. 이상의 처리에 의해 PlayList 정보에서의 모든 PlayItem에 대해서 스텝 S 13 내지 스텝 S 24의 처리가 이루어지게 된다.
도 39는 SubPlayItem에서의 심리스 접속(seamless connection)의 처리순서를 나타내는 플로차트이다.
스텝 S 29에서 PlayItem의 스위칭에 따라서 새로운 세컨더리 비디오 스트림이 선택된 경우, 스텝 S 30에서 플레이리스트 처리부(41)는 그 새로운 세컨더리 비디오 스트림에 대응하는 SubPlayItem을 선택한다.
그 후, 스텝 S 31에서 플레이리스트 처리부(41)는 스텝 S 30에서 선택된 SubPlayItem을 현재 SubPlayItem으로 설정한다.
이어, 플레이리스트 처리부(41)는 이 현재 SubPlayItem에 대해서 스텝 S 32 내지 스텝 S 41의 처리를 실행한다. 먼저, 플레이리스트 처리부(41)는 SubPlayItem의 In_Time에서 Out_Time에 대응하는 액세스 유닛을 판독하도록 로컬 기억장치(200)에 명령한다(스텝 S 32). 그리고 플레이리스트 처리부(41)는 현재 PlayItem에 이전 SubPlayItem이 존재하는가 여부를 판정하고(스텝 S 33), 판정결과에 따라서 스텝 S 34 및 스텝 S 35의 처리, 또는 스텝 S 36 내지 스텝 S 41의 처리를 선택적으로 실행한다. 구체적으로는, 현재 PlayItem에 이전 SubPlayItem이 존재하지 않으면(스텝 S 33에서 No), 플레이리스트 처리부(41)는 현재 PTM이 Sync_Start_Pts_ of_PlayItem에 도달하는 것을 기다린다(스텝 S 34). Sync_Start_Pts_of_PlayItem에 도달하면, 플레이리스트 처리부(41)는 SubPlayItem_In_Time에서 SubPlayItem_Out_Time까지의 재생을 디코더에 명령한다(스텝 S 35).
현재 PlayItem에 이전 SubPlayItem이 존재하면(스텝 S 33에서 Yes), 플레이리스트 처리부(41)는 현재 PlayItem이 SP_CC = 5인가 여부를 판정한다(스텝 S 36). SP_CC = 5이면(스텝 S 36에서 Yes), 플레이리스트 처리부(41)는 스텝 S 37 내지 스텝 S 41의 처리를 한다.
이전 SubPlayItem이 존재하는 경우, ATC_Sequence가 스위칭된다. 이 ATC_Sequence 스위칭에서, 플레이리스트 처리부(41)는 ATC_delta 2라 불리는 SubClip용 오프셋 값을 산출하고(스텝 S 37), 그때까지의 ATC_Sequence에서의 ATC 값(ATC1)에 ATC_selta 2를 가산함으로써 새로운 ATC_Sequence의 ATC 값(ATC2)을 얻는다(스텝 S 38).
ATC_delta 2는 지금까지 판독되어 있는 트랜스포트 스트림(TS1)의 최종 TS 패킷의 입력시점 T1에서 새로 판독된 트랜스포트 스트림(TS2)의 최초 TS 패킷의 입력시점 T2까지의 오프셋 값을 말한다. 이 ATC_delta는 "ATC_delta ≥ N1/TS_recording_rate"를 만족하며, 여기서, N1은 TS1의 최종 비디오 PES 패킷에 후속하는 TS 패킷의 패킷 수이다.
또한, 이전 PlayItem이 존재하는 경우에는, STC_Sequence도 스위칭된다. 이 STC_Sequence의 스위칭에서, 플레이리스트 처리부(41)는 STC_delta 2를 구하고(스텝 S 39), 그때까지의 STC_Sequence에서의 STC 값(STC1)에 STC_delta 2를 가산함으로써(스텝 S 40) 새로운 STC_Sequence의 STC 값(STC2)을 구한다.
선행 STC_Sequence에서 최후에 재생되는 픽처의 표시개시시각을 PTS1(1stEND), 픽처의 표시기간을 Tpp라 하고, 후속 STC_Sequence에서 최초에 표시되는 픽처의 개시시각을 PTS2(2ndSTART)라고 한 경우, CC = 5에서는 PTS1(1stEND) + Tpp의 시각과 PTS2(2ndSTART)의 시각을 일치시킬 필요가 있으므로, STC_delta 2는 다음 식을 산출된다.
STC_delta 2 = PTS1(1stEND) + Tpp - PTS2(2ndSTART)
그리고 플레이리스트 처리부(41)는 Audio Overlap의 뮤트를 오디오 디코더(9)에 지시한 다음, PlayItem_In_Time에서 PlayItem_Out_Time까지의 재생을 디코더에 명령한다(스텝 S 41).
컨트롤러(22)는, 상술한 바와 같이 STC의 변경 처리를 하며, 이 변경처리는 디코더가 프리 런(free-run) 상태에 있는 경우, 재생장치의 일반적인 실장에서 이루어진다. 프리 런 상태란 디코더가 STC와의 동기 제어를 하고 있지 않은 상태를 말한다. 그 후, STC 시간 축을 설정할 수 있는 상태까지 STC가 복귀하면 디코더는 프리 런 상태에서 STC와의 동기 제어로 이행한다. 한편, 스텝 S 36에서 현재 PlayItem이 CC = 5가 아니라고 판정되면(스텝 S 36에서 No) 플레이리스트 처리부(41)는 CC = 1, CC = 6의 처리를 실행한다.
도 38에서의 스텝 S 26은 PlayItem의 스위칭에 수반하여 새로운 세컨더리 비디오 스트림이 선택되었는가 여부의 판정이다. 만일 스텝 S 26이 Yes이면 플레이리스트 처리부(41)는 도 40의 스텝 S 45 내지 스텝 S 47을 실행한다.
이 스텝 S 45 내지 스텝 S 47에서는 하나의 PlayItem 내의 연속하는 2개의 SubPlayItem 중 일방의 SubPlayItem에서 타방의 SubPlayItem으로 재생이 스위칭 되었다고 해도, 플레이리스트 처리부(41)는 그 스위칭 후의 SubPlayItem을 현재 SubPlayItem으로 한다(스텝 S 45).
그리고 플레이리스트 처리부(41)는 현재 SubPlayItem의 In_Time 내지 Out_Time에 상당하는 액세스 유닛의 판독을 로컬 기억장치(200)에 명령하고(스텝 S 46), 현재 SubPlayItem_In_Time에서 현재 SubPlayItem_Out_Time까지의 재생을 디코 더에 명령한다(스텝 S 47).
이상과 같이 본 실시 예에 의하면 하나의 PlayItem 내에서 현재의 SubPlayItem과 그 직전의 SubPlayItem 사이에는 시간 갭이 마련되어 있으므로, SubPlayItem 간의 경계에서는 스텝 S 37 내지 스텝 S 41의 심리스 접속 처리가 불필요해진다. 그 결과, 심리스 접속 처리의 실행 빈도를 적게 할 수 있으므로 재생장치를 높은 클록 주파수로 동작시킬 필요가 없고 재생장치를 낮은 비용으로 제조할 수 있다.
(제 4 실시 예)
본 실시 예에서는 픽처 인 픽처에서의 음성 재생의 실현에 관한 것이다. 이 음성 재생은 PlayList 정보에서의 STN_table에 규정된다. 이하, STN_table에서의 음성에 대한 stream_entry에 대해서 설명한다. 지금까지의 설명에서 등장한 프라이머리 오디오 스트림 및 세컨더리 오디오 스트림은 각각 프라이머리 비디오 스트림 및 세컨더리 비디오 스트림에 할당된다. 즉, 프라이머리 오디오 스트림은 프라이머리 비디오 스트림용 음성으로, 세컨더리 오디오 스트림은 세컨더리 비디오 스트림용 음성으로 사용되는 것이다. 그리고 이들 프라이머리 비디오 스트림용 음성 및 세컨더리 비디오 스트림용 음성 중 어느 것에 대한 재생을 허가하는가가 STN_table의 stream_entry에 규정된다.
도 41은 Primary_audio_stream_entry 및 Secondary_audio_stream_entry의 내부 구성과 Comb_info_Secondary_video_Secondary_audio의 내부 구성을 나타내는 도면이다. 도면 중의 인출 선 ha1, ha2는 Primary_audio_stream_entry 및 Secondary_audio_stream_entry의 내부 구성을 클로즈업하고 있다. 이들의 내부 구성은 모두 공통이며, Stream_entry와 stream_attribute로 이루어진다.
인출 선 ha3은 Stream_entry의 내부 구성을 클로즈업해서 나타내고 있다. 이 인출 선으로 나타내는 바와 같이, 프라이머리 오디오 스트림 및 세컨더리 오디오 스트림의 Stream_entry는 세컨더리 오디오 스트림을 참조하고 있는 SubPath 정보를 나타내는 "ref_to_Sub_Path_id"와, 프라이머리 오디오 스트림 및 세컨더리 오디오 스트림이 다중화되어 있는 SubClip을 나타내는 "ref_to_Sub_Clip_entry_id"와, 프라이머리 오디오 스트림 및 세컨더리 오디오 스트림을 구성하는 PES 패킷의 PID에 대한 참조 값을 나타내는 "ref_to_stream_PID_of_Sub_Clip"을 포함한다.
인출 선 ha4는 stream_attribute의 내부 구성을 클로즈업해서 나타내고 있다. 이 인출 선으로 나타내는 바와 같이, 프라이머리 오디오 스트림 및 세컨더리 오디오 스트림에서의 stream_attribute는, 오디오 스트림의 부호화방식을 나타내는 "stream_coding_type", 대응하는 오디오 스트림의 채널 구성을 나타내는 "audio_presentation_type", 대응하는 오디오 스트림의 샘플링 주파수를 나타내는 "Sampling_frequency", 및 오디오 스트림의 언어속성을 나타내는 "audio_language_ code"로 이루어진다.
이 세컨더리 오디오 스트림에 대응하는 정보로 세컨더리 비디오 스트림용 Stream_entry에는, 인출 선 ha5로 나타내는 바와 같이, Comb_info_Secondary_ video_Secondary_audio가 존재한다.
인출 선 ha6은 Comb_info_Secondary_video_Secondary_audio의 내부 구성을 클로즈업하여 나타내고 있다. Comb_info_Secondary_video_Secondary_audio는, 각 세컨더리 비디오 스트림별로 조합 가능한 세컨더리 오디오 스트림의 총 수를 나타내는 "number_of_Secondary_audio_stream_ref_entries", 세컨더리 비디오 스트림의 재생시에 조합시킬 수 있는 세컨더리 오디오 스트림의 스트림 번호를 나타내는 "Secondary_audio_stream_id_ref[0]~[n]"으로 이루어진다.
이상과 같이, STN_table에는 프라이머리 비디오 스트림의 음성이 되는 프라이머리 오디오 스트림의 Stream_entry와 세컨더리 비디오 스트림의 음성이 되는 세컨더리 오디오 스트림의 Stream_entry 각각이 있다. 또, 세컨더리 비디오 스트림의 Stream_entry에는 세컨더리 비디오 스트림과의 조합을 의도한 세컨더리 오디오 스트림이 세컨더리 비디오 스트림별로 기술되어 있다(Comb_info_Secondary_video_ Secondary_audio).
이상이 오디오 스트림을 위한 기록매체의 특징이다. 다음에, 오디오 스트림의 재생을 위한 재생장치의 특징에 대해서 설명한다.
음성 재생을 위한 구성으로 재생장치에는 현재 프라이머리 오디오 스트림의 스트림 번호와 현재 세컨더리 오디오 스트림의 스트림 번호가 각각 별도로 PSR 세트(23)에 저장되어 있다.
구체적으로는, PSR 세트(23) 내의 PSR1에는 현재 프라이머리 오디오 스트림의 스트림 번호가 저장되어 있고, PSR14에는 현재 세컨더리 비디오 스트림의 스트림 번호와는 별도로 현재 세컨더리 오디오 스트림 번호가 저장되어 있다.
<PSR1>
도 42 (a)는 PSR1의 비트 할당을 나타내는 도면이다.
도 42 (a)와 같이, 32비트 길이의 PSR1의 하위 비트(b0-b7)는 프라이머리 오디오 스트림의 번호이고, 현재 PlayItem의 STN_table에 엔트리가 기술되어 있는 복수의 프라이머리 오디오 스트림 중 하나를 특정한다. PSR1의 설정 값이 변화하면 재생장치는 이 변화 후의 프라이머리 오디오 스트림을 재생한다. PSR1은 초기치로 0xFF가 설정되어 있고, 재생장치에 의해 1~32의 값으로 설정될 수 있다. 이 0xFF는 부정 값이며, 프라이머리 오디오 스트림이 존재하지 않는다는 취지를 나타낸다. PSR1이 1~32로 설정되면 이 설정 값은 프라이머리 오디오 스트림의 스트림 번호로서 해석된다.
<PSR14>
도 42 (b)는 PSR14의 비트 할당을 나타내는 도면이다.
도 42 (b)와 같이, 32비트 길이의 PSR14에서의 하위 8비트(b0-b7)는 세컨더리 오디오 스트림의 번호이며, 현재 PlayItem의 STN_table에 엔트리가 기술되어 있는 복수의 세컨더리 오디오 스트림 중 하나를 특정한다. PSR14의 설정 값이 변화하면 재생장치는 이 변화 후의 세컨더리 오디오 스트림을 재생한다. PSR14는 초기치로 0xFF가 설정되어 있고, 재생장치에 의해 1~32의 값으로 설정될 수 있다. 이 0xFF는 부정 값이며, 세컨더리 오디오 스트림이 존재하지 않는다는 취지 또는 세컨더리 오디오 스트림이 선택되어 있지 않다는 취지를 나타낸다. PSR1이 1~32로 설정되면 이 설정 값은 세컨더리 오디오 스트림의 스트림 번호로서 해석된다.
이들 세컨더리 오디오 스트림 번호는 프로시저 실행부(42)에 의해 설정되고, 프로시저 실행부(42)에 의해 갱신된다. 이 프로시저 실행부(42)에 의해 PSR14에서의 세컨더리 오디오 스트림 번호는 도 43에 도시한 것과 같은 상태천이를 한다. 도 43은 PSR14에서의 세컨더리 오디오 스트림 번호가 취득하는 상태천이를 나타내는 도면이다. 본 도면에서 Valid는 PSR14의 세컨더리 오디오 스트림 번호가 PlayItem의 STN_table에 기술된 엔트리 수 이하의 번호로 되어 있고, 또한, 디코드 가능하다는 것을 의미한다.
Invalid는, (a) PSR14의 세컨더리 오디오 스트림 번호가 0이거나, (b) PlayItem의 STN_table에 기술되어 있는 엔트리 수를 상회하는 번호로 되어 있거나, 또는 (c) PLayItem의 STN_table에 기술된 엔트리 수가 1-32의 값이었다고 해도 디코드할 수 없는 경우이다.
도 43의 점선 프레임은 상태천이시에 있어서 PSR의 값을 결정하는 순서를 모식적으로 나타낸다. PSR의 설정의 순서에는 "Procedure when playback condition is changed"와 "Procedure when Stream change is requested"가 있다. 이들의 의미는 제 1 실시 예에서 설명한 세컨더리 비디오 스트림에서의 의미와 동일하다.
또, 이들의 상태천이는 "Load Disc", "Change a Stream", "Start PlayList playback", "Cross a PlayItem boundary", 및 "Terminate PlayList playback"이라는 이벤트를 트리거로 하고 있다. 이들의 의미도 제 1 실시 예에서 설명한 세컨더리 비디오 스트림에서의 의미와 동일하다.
이어서, 세컨더리 오디오 스트림의 "Procedure when playback condition is changed"의 처리순서에 대해서 설명한다.
도 44는 세컨더리 오디오 스트림의 "Procedure when playback condition is changed"의 처리순서를 나타내는 플로차트이다. 프로시저 실행부(42)는 스텝 S 111에서 PSR14로부터 세컨더리 오디오 스트림 번호를 취득하고, 스텝 S 112에서는 취득한 번호의 세컨더리 오디오 스트림이 조건 (A)를 만족하는가 여부를 판정한다.
조건 (A): Comb_info_Secondary_video_Secondary_audio에 규정된 세컨더리 오디오 스트림 번호와 PSR14로부터 취득한 세컨더리 오디오 스트림 번호의 비교에 기초하여, 상기 번호의 세컨더리 오디오 스트림과 현재 세컨더리 비디오 스트림의 조합이 허가되어 있다.
이 판정을 거친 후에 프로시저 실행부(42)는 스텝 S 113을 실행한다. 스텝 S 113에서는 현재 PlayItem에서의 세컨더리 오디오 스트림의 STN_table에서의 Stream_entry의 개수가 0인가 여부를 판정하는 것이다. 만일, STN_table에서의 Stream_entry의 개수가 0이면 프로시저 실행부(42)는 PSR14의 세컨더리 오디오 스트림 번호를 유지한다(스텝 S 116). STN_table에서의 Stream_entry의 개수가 0이 아니면 프로시저 실행부(42)는 스텝 S 114의 판정을 한다.
스텝 S 114에서 프로시저 실행부(42)는 세컨더리 오디오 스트림 번호가 현재 PlayItem에서의 STN_table에서의 Stream_entry 수 이하이고, 또한, 조건 (A)를 만족하는가 여부를 판정한다. 스텝 S 114에서 No이면 유효한 세컨더리 오디오 스트림 번호가 이미 PSR14에 존재한다고 생각하고, 이 번호를 유지한다(스텝 S 117). 만일 스텝 S 114에서 Yes이면 프로시저 실행부(42)는 현재 PlayItem에 대해서 최적인 세컨더리 오디오 스트림을 선택한다(스텝 S 115).
이상이 세컨더리 오디오 스트림에서의 "Procedure when playback condition is changed"에 대한 설명이다.
도 45는 현재 PlayItem에 대해서 최적의 세컨더리 오디오 스트림을 선택하는 순서를 나타내는 플로차트이다.
스텝 S 121 내지 스텝 S 123에서 프로시저 실행부(42)는 임의의 스트림에 대해서 이하의 조건이 만족되고 있는가의 체크를 STN_table에서의 모든 Stream_entry에 기술되어 있는 스트림에 대해서 실행한다.
조건 (a): Comb_info_Secondary_video_Secondary_audio에 규정된 세컨더리 오디오 스트림 번호와 세컨더리 오디오 스트림 i의 번호의 비교에 기초하여, 세컨더리 오디오 스트림 i와 현재 세컨더리 비디오 스트림의 조합이 허가되어 있다.
조건 (b): 현재 프라이머리 오디오 스트림의 audio_language_code와 세컨더리 오디오 스트림의 audio_language_code가 일치하고 있다.
이상의 체크를 STN_table에서 재생이 허가되어 있는 모든 세컨더리 오디오 스트림에 대해서 실행하면 프로시저 실행부(42)는 스텝 S 124를 실행한다.
스텝 S 124는 조건 (a)를 만족하는 세컨더리 오디오 스트림이 존재하지 않는가를 판정하는 판정스텝이다. 스텝 S 124가 Yes이면 0xFF를 세컨더리 오디오 스트림의 스트림 번호로 PSR14에 설정한다(스텝 S 125).
조건 (a)를 만족하는 세컨더리 오디오 스트림이 존재하면, 프로시저 실행부(42)는 스텝 S 126의 판정을 실행한다. 스텝 S 126은 조건 (a) 및 조건 (b)를 만족하는 세컨더리 오디오 스트림이 적어도 하나 존재하는가 여부를 판정하는 것이 다. 스텝 S 126이 Yes이면, 프로시저 실행부(42)는 조건 (a) 및 조건 (b)를 만족하는 스트림 중 대응하는 Stream_entry가 STN_table에서 최초에 위치하는 것을 선택하고, 선택한 세컨더리 오디오 스트림의 세컨더리 오디오 스트림 번호를 PSR14에 설정한다(스텝 S 127).
조건 (a) 및 조건 (b)를 만족하는 세컨더리 오디오 스트림이 존재하지 않으면, 프로시저 실행부(42)는 스텝 S 128의 판정을 한다. 스텝 S 128은 조건 (a)를 만족하는 세컨더리 오디오 스트림이 존재하는가 여부를 판정하는 것이다. 스텝 S 128이 YES이면, 프로시저 실행부(42)는 조건 (a)를 만족하는 세컨더리 오디오 스트림 중 대응하는 Stream_entry가 STN_table에서 선두 위치에 위치하는 것을 선택하고, 선택한 세컨더리 오디오 스트림의 세컨더리 오디오 스트림 번호를 PSR14에 설정한다(스텝 S 129).
이상이 최적의 세컨더리 오디오 스트림의 선택순서에 대한 설명이다.
도 46은 세컨더리 오디오 스트림에 대한 처리순서를 나타내는 플로차트이다.
스텝 S 131에서 프로시저 실행부(42)는 사용자 조작에 따른 번호(번호 X)에 의해 특정되는 세컨더리 오디오 스트림이 조건 (A)를 만족하는가 여부를 체크한다.
조건 (A): Comb_info_Secondary_video_Secondary_audio에 규정된 세컨더리 오디오 스트림 번호와 번호 X에 의해 특정되는 세컨더리 오디오 스트림 번호의 비교에 기초하여, 번호 X의 세컨더리 오디오 스트림과 현재 세컨더리 비디오 스트림의 조합이 허가되어 있다.
만일 조건 (A)를 만족하면, 프로시저 실행부(42)는 스텝 S 132의 판정을 한 다. 이 스텝 S 132의 판정은 번호 X가 STN_table에서의 Stream_entry의 총 수 이하이고, 또한, 번호 X에 대응하는 세컨더리 오디오 스트림이 조건 (A)를 만족하는가 여부를 판정하는 것이다. 스텝 S 132가 YES이면, 번호 X에 의해서 특정되는 세컨더리 오디오 스트림을 선택하고, 번호 X를 PSR14에 설정한다(스텝 S 142). 스텝 S 132가 NO이면, 프로시저 실행부(42)는 스텝 S 133의 판정을 한다. 스텝 S 133은 번호 X가 0xFF인가 여부에 대한 판정이다. 이 0xFF의 의미는 제 1 실시 예에서의 번호 X의 의미와 동일하며, "위임번호"를 의미한다. 만일 번호 X가 0xFF가 아니면, PSR에서의 현재의 세컨더리 오디오 스트림 번호를 유지한다.
번호 X가 0xFF이면, 프로시저 실행부(42)는 현재 PlayItemd에 최적인 세컨더리 오디오 스트림을 선택하도록, 스텝 S 134 내지 스텝 S 136에서 이하의 조건을 만족하고 있는가에 대한 체크를 STN_table에서의 모든 Stream_entry에 기술되어 있는 세컨더리 오디오 스트림에 대해서 실행한다.
여기서, 체크의 대상이 되는 세컨더리 오디오 스트림을 세컨더리 오디오 스트림 i라고 하면 조건 (a), (b)는 다음과 같이 규정된다.
조건 (a): Comb_info_Secondary_video_Secondary_audio에 규정된 세컨더리 오디오 스트림 번호와 세컨더리 오디오 스트림 i의 번호의 비교에 기초하여, 세컨더리 오디오 스트림 i와 세컨더리 비디오 스트림의 조합이 허가되어 있다.
조건 (b): 현재 프라이머리 오디오 스트림의 audio_language_code와 세컨더리 오디오 스트림의 audio_language_code가 일치한다.
루프의 실행 후에 프로시저 실행부(42)는 스텝 S 137의 판정을 실행한다. 스 텝 S 137은 조건 (a) 및 (b)를 만족하는 스트림이 적어도 하나 존재하는가 여부의 판정이다. 스텝 S 137이 YES이면, 프로시저 실행부(42)는 스텝 S 138에서 조건 (a) 및 (b)를 만족하는 세컨더리 오디오 스트림 중 대응하는 Stream_entry가 STN_table에서 선두 위치에 위치하는 것을 선택하고, 선택한 세컨더리 오디오 스트림의 번호를 PSR14에 설정한다.
스텝 S 137이 NO이면, 프로시저 실행부(42)는 조건 (a)를 만족하는 세컨더리 오디오 스트림이 존재하는가 여부를 스텝 S 139에서 판정한다. 스텝 S 139에서 YES이면, 프로시저 실행부(42)는 스텝 S 140에서 조건 (a)를 만족하는 세컨더리 오디오 스트림 중 대응하는 Stream_entry가 STN_table에서 선두 위치에 위치하는 것을 선택하고, 선택한 세컨더리 오디오 스트림의 번호를 PSR14에 설정한다. 스텝 S 139에서 NO이면, 프로시저 실행부(42)는 PSR14의 세컨더리 오디오 스트림 번호를 유지한다(스텝 S 141).
이상이 세컨더리 오디오 스트림에 대한 "Procedure when Stream change is requested"에 대한 설명이다.
이상이 본 실시 예에서 프로시저 실행부(42)에 의해 이루어지는 절차이다. 이어서, 오디오 스트림 재생의 특징 중 하나인 믹싱 제어부(45)에 대해서 설명한다.
믹싱 제어부(45)는 오디오 디코더(8a)에 의한 프라이머리 오디오 스트림의 재생출력과 오디오 디코더(8b)에 의한 세컨더리 오디오 스트림의 재생출력을 믹싱하도록 믹서(9a)를 제어한다.
여기서, PlayItem 시간 축에서의 현재의 재생시점이 SubPlayItem 정보의 In_time에서 Out_time까지이고, 또, 현재 PlayItem 정보의 STN_table에서 세컨더리 오디오 스트림이 재생 허가로 설정되어 있는 경우에는 PSR에 저장된 스트림 번호의 세컨더리 오디오 스트림의 디코드가 오디오 디코더(7b)에 의해 이루어지고 있으므로, 믹싱 제어부(45)는 오디오 디코더(7a)의 재생출력에 대해서 오디오 디코더(7b)의 재생출력을 믹싱 하도록 믹서(9a)를 제어한다.
프라이머리 오디오 스트림에서의 속성이 서라운드인 경우, L, R, C, LS, RS, LR, RR, LFE라는 성분 중 원하는 성분만을 남기도록 다운 믹싱을 한 상태에서 세컨더리 오디오 스트림의 재생출력을 믹싱 할 수 있다. 여기서, 세컨더리 오디오 스트림이 영화감독의 해설(commentary) 음성인 경우, 세컨더리 오디오 스트림을 믹싱 할 프라이머리 오디오 스트림의 채널을 L→C→R과 같이 변화시켜 가면 영화감독이 사용자의 주위를 빙빙 돌고 있는 것과 같은 느낌을 줄 수 있다. 이와 같은 믹싱을 패닝(panning)이라고 한다. 패닝에서는 프라이머리 오디오 스트림보다도 적은 채널 수의 세컨더리 오디오 스트림(예를 들어, 모노럴(monaural))의 음성이 사용된다.
이상과 같이, 본 실시 예에 의하면, 프라이머리 비디오 스트림용 프라이머리 오드오 스트림과 세컨더리 비디오 스트림용 세컨더리 오디오 스트림으로 각각 어느 것의 재생을 허가하는가를 STN_table에 규정해 둔다. 그리고 이 STN_table에 존재하는 Stream_entry에서 프라이머리 오디오 스트림 및 세컨더리 오디오 스트림을 각각 하나 선택해서 이들을 믹싱한다. 그 결과, 픽처 인 픽처 실행시에 본 편의 음성에 영화감독에 의한 해설이 부가된 합성음성을 들을 수 있다.
예를 들어, 세컨더리 비디오가 감독 및/또는 연출자만이 등장하고 있는 동화상이고, 프라이머리 비디오에서의 영화 내용을 가리키는 연기를 하고 있는 경우, 픽처 인 픽처에 의해 이 세컨더리 비디오의 영상 내용을 세컨더리 오디오에 의한 영화감독의 해설과 조합시킴으로써 영화작품 본 편의 재생 영상의 내용을 감독 및/또는 연출자가 가리키면서 해설하고 있는 것과 같은 재미있는 화면 연출을 실현할 수 있다.
(제 5 실시 예)
본 실시 예는 픽처 인 픽처에서의 자막재생의 개량에 관한 것이다. 이 자막재생은 PlayList에서의 STN_table에 의해 규정된다. 이하, STN_table에서의 자막용 Stream_entry에 대해서 설명한다. 프라이머리 오디오 스트림 및 세컨더리 오디오 스트림은 각각 프라이머리 비디오 스트림 및 세컨더리 비디오 스트림에 할당되었지만, 자막에는 프레젠테이션 그래픽스 스트림 및 textST 스트림이라는 구별은 있으나, 프라이머리 비디오용 및 세컨더리 비디오용이라는 명확한 구별은 존재하지 않는다.
이하, PGtextST 스트림에 대한 Stream_entry에 대해서 설명한다. 도 47은 STN_table 중 PGtextST 스트림에 특히 관련이 있는 것을 보여주는 도면이다. 이 도면에 의하면, STN_table 중 자막 표시에 특히 관련되는 것은 "number_of_PG_textST_streams_entries[1]~[n]", "number_of_PiP_PG_textST_stream _entries_plus", 및 "PGtestST_stream_entry", "Secondary_video_Stream_entry" 내의 "Comb_info_Secondary_video_PiP_PG_textST"이다.
"number_of_PG_textST_streams_entries"는 픽처 인 픽처를 실행하고 있지 않은 경우에 선택의 대상이 되는 PGtextST 스트림의 개수를 나타낸다.
"number_of_PiP_PG_textST_stream_entries_plus"는 픽처 인 픽처 애플리케이션을 위해 STN_table에 정의되어 있는 number_of_PG_textST_stream_entries에 추가할 프레젠테이션 그래픽스 스트림 및 textST 스트림의 개수를 나타낸다. 이 number_of_PG_textST_stream_entries와 number_of_PiP_PG_textST_stream_entries_ plus의 합은 255 이하가 된다.
여기서, number_of_PG_textST_stream_entries가 n1인 경우 1에서 n1까지의 스트림 번호의 범위가 PGtextST 스트림의 범위가 되나, number_of_PiP_PG_textST_ stream_entries_plus가 n2이면 픽처 인 픽처의 실행시에 1에서 n1+n2까지의 스트림 번호의 범위가 PGtextST 스트림의 범위가 된다. 즉, number_of_PiP_PG_textST_ stream_entries_plus가 STN_table에 기술되어 있으면 PGtextST 스트림의 스트림 번호의 범위는 number_of_PiP_PG_textST_stream_entries_plus에 기술된 수만큼 넓어지게 된다.
픽처 인 픽처가 실행되지 않을 때에는 PGtextST 스트림에 대한 Stream_entry 중 1에서 n1까지가 선택의 대상이 되며, 픽처 인 픽처가 실행될 때에는 PGtextST 스트림에 대한 Stream_entry 중 1에서 n1+n2까지가 선택의 대상이 된다. 픽처 인 픽처가 실행되는 경우라도 프라이머리 비디오의 자막 및 세컨더리 비디오의 자막이 각각 재생되는 것은 아니다. 픽처 인 픽처에서 표시되는 것은 프라이머리 비디오용 자막 또는 세컨더리 비디오용 자막 중 어느 하나이다. 이는, (ⅰ) 프라이머리 비디 오용 및 세컨더리 비디오용 자막을 별도로 BD-ROM에 기록해두면 재생장치에는 그래픽스용 디코더가 2개 필요해지고, (ⅱ) 세컨더리 비디오용으로 자막을 축소해서 표시하였다고 해도 보기 싫게 되기 때문이라는 2가지 이유에 의한 것이다.
인출 선 hp1은 PG_testST_Stream_entry의 내부 구성을 클로즈업해서 표시하고 있다. 이 인출 선으로 나타내는 바와 같이, PG_testST_Stream_entry는 Stream_entry 및 Stream_Attribute를 가지고 있고, Stream_entry 중에 재생이 허가되어 있는 PGtestST 스트림의 PID가 존재한다.
인출 선 hp2는 "Secondary_video_Stream_entry[1]"의 내부 구성을 클로즈업해서 표시하고 있다. 이 내부 구성에서의 Comb_info_Secondary_video_PiP_PG_textST에는 PGtestST 스트림 중 세컨더리 비디오 스트림과의 조합이 허가되어 있는 것을 고유하게 나타내고 있다.
인출 선 ha3은 Comb_info_Secondary_video_PiP_PG_textST의 내부 구성을 나타낸다. Comb_info_Secondary_video_PiP_PG_textST는 각 세컨더리 비디오 스트림별로 조합 가능한 PiP_PG_textST 스트림의 총 수를 나타내는 "number_of_PiP_PG_textST_stream_ref_entries"와 재생시에 조합시킬 수 있는 PiP_PG_textST 스트림의 스트림 번호를 나타내는 "PiP_PG_textST_stream_ id_ref[0]~[n]"으로 이루어진다.
이상이 본 실시 예에서의 기록매체의 개량이다. 이어서, 본 실시 예에서의 재생장치에 대한 개량에 대해서 설명한다. 자막 재생을 위한 구성으로 재생장치에는 픽처 인 픽처 실행시의 현재 PGTextST 스트림의 스트림 번호와 픽처 인 픽처가 실행되지 않을 때의 현재 PGTextST 스트림의 스트림 번호가 각각 별도로 PSR 세트(23)에 저장되어 있다.
도 48 (a)는 현재 PGTextST 스트림의 스트림 번호가 취할 수 있는 수치범위를 나타내는 도면이다. 픽처 인 픽처가 실행되지 않을 때의 현재 PGTextST 스트림의 스트림 번호는, STN_table에 기재된 PiP_PG_text_ST_stream_number를 n1이라고 하면, 본 도면의 상단에 나타내는 바와 같이 1에서 n1까지의 값을 취한다.
한편, 픽처 인 픽처가 실행될 때의 현재 PGTestST 스트림의 스트림 번호는 PiP_PG_textST 스트림 번호라고 하며, STN_table에 기재된 PG_text_ST_stream_ number를 n1, STN_table에 기재된 number_of_PiP_PG_textST_stream_entries_plus를 n2라고 하면, 본 도면의 하단에 나타내는 바와 같이 PiP_PG_textST 스트림 번호는 1에서 n1+n2까지의 값을 취한다.
도 48 (b)는 PSR2의 비트 할당을 나타내는 도면이다. 이하, PSR2에서의 각 비트의 의미에 대해서 설명한다.
disp_s_flag
PSR2의 b31은 disp_s_flag이며, 그 1비트의 설정 값은 다음과 같이 해석된다.
0b: "PG textST 스트림"과 "PiP PG textST 스트림" 양방을 표시할 수 없다는 것을 나타낸다.
1b: "PG textST 스트림"과 "PiP PG textST 스트림" 양방을 표시할 수 있다는 것을 나타낸다.
PiP_PG_textST_valid_flag
PSR2의 b30은 PiP_PG_textST_valid_flag이며, 그 1비트의 설정 값은 다음과 같이 해석된다.
0b: 현재 PlayItem의 표시 중에 세컨더리 비디오 스트림이 표시되고 있는 경우 PSR2에서 정의된 PG TextST Stream Number가 사용된다.
1b: 현재 PlayItem의 표시 중에 세컨더리 비디오 스트림이 표시되고 있는 경우 PSR2에서 정의된 PiP PG TextST Stream Number가 사용된다.
현재 PlayItem의 표시 중에 세컨더리 비디오 스트림이 표시되고 있지 않은 때, PiP_PG_textST_valid_flag는 BD-ROM 재생장치의 표시에 영향을 주지 않는다. 이 경우, PSR2에서 정의된 PG TextST Stream Number가 사용된다.
PG TextST Stream Number:
PSR2의 b0~b11은 PG TextST Stream Number이며, 그 12비트의 설정 값은 다음과 같이 해석된다.
현재 PlayItem의 표시 중에 세컨더리 비디오 스트림이 표시되고 있지 않은 경우(세컨더리 비디오 스트림이 표시되고 있지 않은 경우란, PSR14의 disp_v_flag가 0b에 설정되어 있는 상태를 말한다), PSR2에서의 PG TextST Stream Number의 값은 현재 PlayItem의 STN_table에서의 PG TextST 스트림 항목 중에서 PG 스트림과 TextST 스트림 중 어느 하나가 표시되는가를 특정하기 위해서 사용된다.
PiP PG TextST Stream Number:
PSR2의 b16~b27은 PiP PG TextST Stream Number이며, 그 12비트의 설정 값은 다음과 같이 해석된다.
현재 PlayItem의 표시 중에 세컨더리 비디오 스트림이 표시되고 있고, PSR2의 PiP_PG_textST_valid_flag가 1b에 설정되어 있는 경우(여기서 세컨더리 비디오 스트림이 표시되고 있을 때란, PSR14의 disp_v_flag는 1b에 설정되고, 현재 PlayItem 표시 중에 PSR14에 의해 결정된 세컨더리 비디오 스트림이 표시되는 경우를 말한다), PSR2에서의 PiP PG TextST Stream Number의 값은 현재 PlayItem의 STN_table에서의 PG TextST 스트림 항목 중에서 PG 스트림과 TextST 스트림 중 어느 것이 표시되는가를 특정하기 위해 사용된다. 여기서 비 픽처 인 픽처용의 PGtextST 스트림의 스트림 번호 및 그 취급은 본 실시 예의 주안점이 아니므로 설명을 생략한다. 본 실시 예에서는 픽처 인 픽처용의 PGtextST 스트림 번호에 대해서 설명한다.
도 49는 픽처 인 픽처용 PGtextST 스트림의 스트림 번호인 PiP_PG_TextST 스트림 번호가 이루는 상태천이를 나타내는 도면이다. 본 도면에서 Valid란, PSR2에서의 PiP_PG_TextST 스트림 번호가 PlayItem의 STN_table에 기술된 엔트리 수 이하의 번호로 되어 있고, 또한, 디코드 가능한 것을 의미한다.
Invalid란, (a) PSR2에서의 PiP_PG_TextST 스트림 번호가 0이거나, (b) PlayItem의 STN_table에 기술된 엔트리 수를 상회하는 번호로 되어 있거나, 또는, (c) PlayItem의 STN_table에 기술된 엔트리 수가 1~32의 값이었다고 해도 디코드할 수 없는 경우이다.
도 49에서의 점선 프레임은 상태천이시에 PSR의 값을 결정하는 순서를 모식 적으로 나타낸다. PSR2에서의 PGTextST 스트림의 설정의 처리순서에는 "Procedure when playback condition is changed" 및 "Procedure when Stream change is requested"가 있다.
이들 점선 프레임에 도시한 "Procedure when playback condition is changed" 및 "Procedure when Stream change is requested"의 의미는 제 1 실시 예에서 설명한 세컨더리 비디오 스트림 번호에서와 동일하다.
또, 각 상태천이의 트리거가 되는 이벤트에는 "Load Disc", "Change a Stream", "Start PlayList playback", "Cross a PlayItem boundary", "Terminate PlayList playback"이 있다. 이들의 의미도 제 1 실시 예에서 설명한 세컨더리 비디오 스트림의 스트림 번호에서와 동일하다.
이어서, "Procedure when Stream change is requested"의 처리순서에 대해서 설명한다.
도 50은 PGtestST 스트림에 대한 "Procedure when Stream change is requested"의 처리순서를 나타내는 플로차트이다.
프로시저 실행부(42)는 스텝 S 151에서 PSR2로부터 현재 PiP_PG_TextST 스트림 번호를 취득하고, 스텝 S 152에서 현재 PiP_PG_TextST 스트림 번호가 프레젠테이션 그래픽스 스트림에 대한 번호인가 textST 스트림에 대한 번호인가를 판정한다. 스텝 S 153에서 프로시저 실행부(42)는 현재 PiP_PG_TextST 스트림 번호에 대응하는 프레젠테이션 그래픽스 스트림이 조건 (A), 조건 (B), 조건 (C)를 만족하는가 여부를 체크한다.
여기서 조건 (A), (B) 및 (C)는 다음과 같이 규정된다.
조건 (A): 현재 PiP_PG_TextST 스트림 번호에 의해 특정되는 프레젠테이션 그래픽스 스트림을 디코드하는 능력이 재생장치에 존재한다.
조건 (B): 특정된 언어를 재생하는 능력이 재생장치에 존재한다.
조건 (C): PSR14에서의 세컨더리 비디오 스트림 번호와 Comb_info_ Secondary_video_PiP_textST()에 의한 PGtextST 스트림 번호의 비교에 기초하여, 현재 세컨더리 비디오 스트림과 현재 PiP_PG_TextST 스트림 번호에 의해 특정되는 PGtextST 스트림의 조합이 허가되어 있다.
한편, 스텝 S 154에서는 현재 PiP_PG_TextST 스트림 번호에 대응하는 textST 스트림이 조건 (A), 조건 (B), 조건 (C)를 만족하는가 여부를 체크하는 것이다.
조건 (A): 현재 PiP_PG_TextST 스트림 번호의 textST 스트림의 캐릭터 코드를 비트맵으로 전개하는 능력이 재생장치에 존재한다. 이 재생능력은 PSR 세트(23)에서의 PSR30에 제시된다.
조건 (B): 현재 PiP_PG_TextST 스트림 번호의 textST 스트림의 언어속성을 지원하는 능력이 재생장치에 존재한다. 이 재생능력은 PSR 세트(23)에서의 PSR48~61에 제시된다.
조건 (C): PSR14에서의 세컨더리 비디오 스트림 번호와 Comb_info_ Secondary_video_PiP_textST()에 의한 PGtextST 스트림 번호의 비교에 기초하여, PSR14에 저장되어 있는 현재 세컨더리 비디오 스트림과 현재 PiP_PG_TextST 스트림 번호에 의해 특정되는 PGtextST 스트림의 조합이 허가되어 있다.
여기서, 어느 언어의 자막이 textST 스트림에 의해 표현되어 있는 경우, 그 언어의 textST 스트림을 "디코드할 수 있다"고 할 수 있기 위해서는 그 언어에서의 문자 코드를 비트맵으로 전개하는 능력과 그 언어의 특성을 지원하는 지원능력이 재생장치에 존재할 필요가 있다.
여기서, 영어, 일본어, 아리비아어를 예로 들어 보면, 영어의 자막 표시의 경우에는 재생장치가 "횡서(horizontal writing)", "간격 좁힘(kerning)", "합자/연자(double letter/ ligature)"와 같은 기능이 지원되어야만 언어특성이 지원되고 있다고 판단할 수 있다.
일본어의 자막표시의 경우에는 재생장치가 "횡서", "종서", "행말금칙(行末禁則, line end wrap)", "루비(ruby, 한자 옆에 읽는 음을 표시하는 것)"와 같은 기능이 지원되어야만 언어특성이 지원되고 있다고 판단할 수 있다.
아라비아어의 자막표시의 경우에는 재생장치가 "우측에서 좌측으로 쓰기", "합자/연자"와 같은 기능이 지원되어야만 언어특성이 지원되고 있다고 판단할 수 있다.
재생장치가 어떤 언어의 textST 스트림을 비트맵으로 전개할 수 있고, 그 언어의 특성을 지원할 수 있는 경우, 상기 조건 (A), (B)는 만족한다고 할 수 있다. 재생장치가 그 언어의 textST 스트림을 비트맵으로 전개할 수 있으나 그 언어의 특성을 지원할 수 없는 경우에는 상기 조건 (B)는 만족하지 않으며, 조건 (A)만을 만족하고 있다고 할 수 있다.
이상의 판정을 거친 후에 스텝 S 155를 실행한다. 스텝 S 155는 재생장치가 조건 (Z)를 만족하는가 여부를 판정하는 것이다.
여기서, 조건 (Z)는 지원되지 않는 언어(unsupported language)의 자막의 재생을 사용자가 의도하고 있다는 것이다. 이 의도는 PSR 세트(23)의 PSR30에 제시된다.
그 후 프로시저 실행부(42)는 스텝 S 156의 판정스텝을 실행한다. 이 스텝은 현재 PlayItem의 STN_table에서의 number_of_PG_textST_streams_entries와 number_of_PiP_PG_textST_streams_entries_plus의 합이 "0"인가 여부를 판정하는 것이다. STN_table에 재생이 허가되어 있는 PGTextST 스트림이 존재하지 않는 경우에는 프로시저 실행부(42)는 PSR2에서의 PGTextST 스트림의 번호를 유지한다(스텝 S 157). 현재 STN_table에서 재생이 허가되어 있는 PGTextST 스트림이 적어도 하나 존재하는 경우에는 프로시저 실행부(42)는 스텝 S 158을 실행한다. 이는 현재 PiP_PG_TextST 스트림 번호가 유효한가를 체크하는 스텝이며, 프로시저 실행부(42)가 현재 PiP_PG_TextST 스트림 번호가 STN_table에서의 Stream_entry의 총 수 이하이고, 또한, 현재 PiP_PG_TextST 스트림 번호가 조건 (A), (B) 및 (C)를 만족하는가 여부의 판정이다.
스텝 S 158이 YES이면, 프로시저 실행부(42)는 유효한 PiP_PG_TextST 스트림 번호가 이미 PSR2에 존재하는 것으로 인정하고, PSR2의 값을 변화시키지 않는다(스텝 S 159).
만일 스텝 S 158이 NO이면, 프로시저 실행부(42)는 스텝 S 160의 판정을 한다. 이는, 현재 PiP_PG_TextST 스트림 번호가 STN_table에서의 Stream_entry의 총 수 이하인지, 그리고 현재 PiP_PG_TextST 스트림 번호가 조건 (A)를 만족하는가 여부에 대한 판정이다. 만일 스텝 S 160이 YES이면, PSR2에는 지원되지 않는 언어의 텍스트 자막의 PiP_PG_TextST 스트림 번호가 설정되어 있으나, 사용자는 비 지원 언어의 재생을 의도하고 있으므로, 프로시저 실행부(42)는 PSR2를 변화시키지 않는다(스텝 S 161). 스텝 S 160에서 NO이면, 프로시저 실행부(42)는 현재 PlayItem에 대해서 최적인 스트림을 선택한다(스텝 S 162).
이상이 PGTextST 스트림에서의 "Procedure when playback condition is changed"에 대한 설명이다.
도 51은 현재 PlayItem에 대해서 최적인 PGTexTST 스트림을 선택하는 처리순서를 나타내는 플로차트이다.
스텝 S 190에서 프로시저 실행부(42)는 모든 PGTexTST 스트림에 대해서 조건 (a) 내지 (d)를 만족하는가 여부를 체크한다.
체크의 대상이 되는 프레젠테이션 그래픽스 스트림을 프레젠테이션 그래픽스 스트림 i로 한 경우, 조건 (a) 내지 (d)는 다음과 같이 규정된다.
조건 (a): 프레젠테이션 그래픽스 스트림 i를 디코드하는 능력이 재생장치에 존재한다.
조건 (b): 프레젠테이션 그래픽스 스트림 i에 의해 특정된 언어를 재생하는 재생능력이 재생장치에 존재한다.
조건 (c): PSR14에서의 세컨더리 비디오 스트림 번호와 Comb_info_ Secondary_video_PiP_textST()에 의한 PGtextST 스트림 번호의 비교에 기초하여, 현재 세컨더리 비디오 스트림과 프레젠테이션 그래픽스 스트림 i의 조합이 허가되어 있다.
조건 (d): 프레젠테이션 그래픽스 스트림 i의 PG_language_code가 재생장치에서의 언어설정과 일치한다.
체크의 대상이 되는 textST 스트림을 textST 스트림 i로 한 경우, 조건 (a) 내지 (d)는 다음과 같이 규정된다.
조건 (a): textST 스트림 i의 캐릭터 코드를 비트맵으로 전개하는 능력이 재생장치에 존재한다.
조건 (b): textST 스트림 i의 언어속성을 지원하는 능력이 재생장치에 존재한다.
조건 (c): PSR14에서의 세컨더리 비디오 스트림 번호와 Comb_info_ Secondary_video_PiP_textST()에 의한 PGtextST 스트림 번호의 비교에 기초하여, 현재 세컨더리 비디오 스트림과 PiP_PG_TextST 스트림 번호에 의해 특정되는 textST 스트림 i의 조합이 허가되어 있다.
조건 (d): textST 스트림 i의 textST_language_code가 재생장치에서의 언어설정과 일치한다.
이상의 판정이 완료되면 스텝 S 191에서 프로시저 실행부(42)는 앞의 플로차트에서 설명한 조건 (Z)(비 지원 언어의 재생)를 만족하는가 여부를 판정한다. 스텝 S 191이 NO이면, 스텝 S 192에서 프로시저 실행부(42)는 조건 (a) 내지 (d)를 만족하는 PGTexTST 스트림이 하나 이상 존재하는가를 판정한다. 스텝 S 192에서 YES이면 프로시저 실행부(42)는 조건 (a) 내지 (d)를 만족하는 PGTexTST 스트림 중 대응하는 Stream_entry가 STN_table에서 선두위치에 위치하는 것을 선택하고, 선택한 PiP_PG_TextST 스트림 번호를 PSR2에 설정한다(스텝 S 193).
스텝 S 192가 NO이면, 스텝 S 194에서 프로시저 실행부(42)는 보다 완화된 조건을 만족하는 PGTextST 스트림이 존재하는가를 판정한다. 여기서 완화된 조건이란 조건 (a), (b) 및 (c)를 만족하는 것이며, 스텝 S 194에서 프로시저 실행부(42)는 상기 완화된 조건을 만족하는 PGTextST 스트림이 하나 이상 존재하는가를 판정한다. 스텝 S 194가 YES이면, 프로시저 실행부(42)는 조건 (a), (b) 및 (c)를 만족하는 PiP PG TextST 스트림 중 대응하는 Stream_entry가 STN_table에서 선두위치에 위치하는 것을 선택하고, 선택한 PiP_PG_TextST 스트림 번호를 PSR2에 설정한다(스텝 S 196).
스텝 S 194가 NO이면, 프로시저 실행부(42)는 PiP_PG_TextST 스트림 번호로 0xFF를 PSR2에 설정한다(스텝 S 195). 스텝 S 191에서 조건 (Z)를 만족하는 것으로 판정되면, 스텝 S 197에서 프로시저 실행부(42)는 다른 완화된 조건을 만족하는 PGTextST 스트림이 존재하는가를 판정한다. 다른 완화된 조건이란, 조건 (a), (c) 및 (d)를 만족하는 것이며, 스텝 S 198에서 프로시저 실행부(42)는 이들을 만족하는 PGTextST 스트림이 존재하는가를 판정한다.
만일 스텝 S 197에서 YES이면, 프로시저 실행부(42)는 조건 (a), (c) 및 (d)를 만족하는 Pip_PGTextST 스트림 중 대응하는 Stream_entry가 STN_table의 최초에 위치하는 것을 선택하고, 선택한 Pip_PGTextST 스트림의 스트림 번호를 PSR2에 설 정한다(스텝 S 198).
스텝 S 197에서 NO이면, 스텝 S 199에서 프로시저 실행부(42)는 조건 (a), (c)를 만족하는 PGTextST 스트림이 존재하는가를 판정한다. 만일 스텝 S 199에서 YES이면, 프로시저 실행부(42)는 조건 (a), (c)를 만족하는 PiP_PGtestST 스트림 중 대응하는 Stream_entry가 STN_table에서 선두위치에 위치하는 것을 선택하고, 선택한 PiP_PGtextST 스트림이 스트림 번호를 PSR2에 설정한다(스텝 S 200). 스텝 S 199에서 NO이면, 프로시저 실행부(42)는 0xFF를 PSR2에 설정한다(스텝 S 201).
이상이 최적의 PGTextST 스트림의 선택순서에 대한 설명이다.
도 52는 PGTextST 스트림에 대한 "Procedure when stream changed is requested"의 처리순서를 나타내는 플로차트이다.
스텝 S 171에서 프로시저 실행부(42)는 사용자 조작에 따라서 취득한 번호 X가 프레젠테이션 그래픽스 스트림에 대한 PiP_PG_TextST 스트림 번호를 의미하는가, 또는 textST 스트림에 대한 PiP_PG_TextST 스트림 번호를 의미하는가를 판정한다. 스텝 S 172에서 프로시저 실행부(42)는 번호 X에 대응하는 프레젠테이션 그래픽스 스트림이 이하의 조건 (A), (B) 및 (C)를 만족하는가 여부를 체크한다.
조건 (A): 번호 X에 의해 특정되는 프레젠테이션 그래픽스 스트림을 디코드하는 능력이 재생장치에 존재한다.
조건 (B): 특정된 프레젠테이션 그래픽스 스트림의 속성이 되는 언어를 재생하는 능력이 재생장치에 존재한다.
조건 (C): PSR14에서의 세컨더리 비디오 스트림 번호와 Comb_info_ Secondary_video_PiP_textST()에 의한 PGtextST 스트림 번호의 비교에 기초하여, 현재 세컨더리 비디오 스트림 번호와 번호 X에 의해 특정되는 PGtextST 스트림 번호의 조합이 허가되어 있다.
스텝 S 173에서 프로시저 실행부(42)는 번호 X에 대응하는 textST 스트림이 이하의 조건 (A), (B) 및 (C)를 만족하는가를 체크한다.
조건 (A): 번호 X에 대응하는 textST 스트림의 캐릭터 코드를 비트맵으로 전개하는 능력이 재생장치에 존재한다.
조건 (B): 번호 X에 대응하는 textST 스트림의 언어속성을 지원하는 능력이 재생장치에 존재한다.
조건 (C): PSR14에서의 세컨더리 비디오 스트림 번호와 Comb_info_ Secondary_video_PiP_textST()에 의한 PGtextST 스트림 번호의 비교에 기초하여, 현재 세컨더리 비디오 스트림 번호와 번호 X에 의해 특정되는 PGtextST 스트림 번호의 조합이 허가되어 있다.
스텝 S 174에서 프로시저 실행부(42)는 재생장치가 조건 (Z)를 만족하는가 여부를 체크하고, 스텝 S 175의 판정을 한다. 이 판정은 번호가 STN_table에서의 Stream_entry의 총 수 이하이면서, 조건 (A)를 만족하는가 여부의 판정이다. 스텝 S 175가 YES이면, 프로시저 실행부(42)는 번호 X에 해당하는 PiP_PG_TextST 스트림 번호의 PGTexTST 스트림을 선택해서 그 번호를 PSR2에 설정한다(스텝 S 176).
스텝 S 175에서 NO이면, 프로시저 실행부(42)는 스텝 S 177의 판정을 실행한다. 이 판정은 번호가 STN_table에서의 Stream_entry의 총 수 이하이면서, 조건 (A), (C) 및 (Z)를 만족하는가 여부를 판정하는 것이다. 스텝 S 177이 YES이면, 프로시저 실행부(42)는 번호 X에 해당하는 PiP_PG_TextST 스트림 번호의 PGTextST 스트림을 선택해서 그 PiP_PG_TextST 스트림 번호를 PSR2에 설정한다(스텝 S 178).
만일 스텝 S 177이 NO이면, 스텝 S 179의 판정을 한다. 이 판정은 번호 X가 0xFF인가 여부를 판정하는 것이다. 스텝 S 179가 NO이면, 프로시저 실행부(42)는STN_table에 재생이 허가되어 있는 PGTextST 스트림이 존재하지 않는 것으로 판단하고, PSR2의 값을 유지한다(스텝 S 180).
번호 X가 0xFF이면, 프로시저 실행부(42)는 현재 PlayItem에 대해서 최적인 PGTextST 스트림을 선택한다(스텝 S 181). 이 최적인 PGTextST 스트림의 선택은 도 51에 도시한 것과 동일하다.
이상이 PGTextST 스트림에서의 "Procedure when stream changed is requested"에 대한 설명이다.
이상과 같이 본 실시 예에 의하면, 픽처 인 픽처가 유효한 경우, number_of_PG_TextST_streams_entries와 number_of_PiP_PG_TextST_stream_entries_ plus를 합한 수치범위 중에서 PiP_PG_TextST 스트림 번호가 선택되고, 이 PiP_PG_TextST 스트림 번호에 대응하는 프레젠테이션 그래픽스 스트림 또는 textST 스트림을 재생한다. 그 결과, 어떤 때는 프라이머리 비디오 스트림에 적합한 자막을 동화상과 함께 재생시키고, 또, 어떤 때는 세컨더리 비디오 스트림에 적합한 자막을 동화상과 함께 재생시킬 수 있어서, 자막 선택의 폭을 넓힐 수 있다.
(제 6 실시 예)
본 실시 예에서는 상기 실시 예들에서 설명한 BD-ROM의 제작 및 상업적 생산에 대해서 상세하게 설명한다.
<BD-ROM의 제작>
먼저, 기획공정을 행한다. 이 공정에서는 BD-ROM을 어떤 시나리오로 재생시키는가를 결정한다.
다음에 소재작성공정을 행한다. 이 공정은 동화상 기록, 음성 기록 등의 소재 작성을 하는 공정이다.
그 다음에 포맷공정을 행한다. 이 공정은 기회공정에서 작성된 시나리오와 소재에 의거하여 BD-ROM의 볼륨영역에 기록할 데이터의 개관(일반적으로 "볼륨데이터"라고 함)을 얻는 공정이다.
본 발명의 기록매체의 응용 층 포맷은 프로그래밍 언어로 기술된 클래스 구조체의 인스턴스이며, BD-ROM 규격에 규정된 구문에 의거하여 클래스 구조체의 인스턴스를 기술함으로써 Clip 정보, PlayList 정보 등을 작성할 수 있다. 이 경우, 테이블 형식의 데이터는 프로그램밍 언어의 "for"문을 이용하여 정의할 수 있고, 그 외에, 특정 조건하에서만 필요한 데이터는 "if"문을 이용하여 정의할 수 있다.
마지막으로 프레스공정을 행한다. 이 프레스공정에서는 볼륨 이미지를 물리데이터 열로 변환하고, 이 물리데이터 열을 이용하여 원반 커팅을 하여 디스크 원반을 작성한다.
이와 같이 하여 프레스장치에 의해 원반이 작성되면 BD-ROM을 상업적으로 대량으로 생산한다. 이 생산은 주로 기판성형, 반사막 코팅, 보호막 코팅, 라미네이 팅(laminating) 및 라벨 인쇄라는 여러 공정으로 이루어진다.
이상의 공정을 거쳐서 각 실시 예에서 설명한 기록매체(BD-ROM)를 제작할 수 있다.
<추가 콘텐츠 작성공정>
영화작품을 BD-ROM 콘텐츠와 추가 콘텐츠로 구성하는 경우에는 상술한 기획공정에서 포맷 공정까지를 실행한다. 그렇게 하여 하나의 볼륨데이터를 구성하는 AVClip, Clip 정보 및 PlayList 정보가 얻어진다. 이들 중 BD-ROM에 의해 공급할 AVClip, Clip 정보 및 PlayList 정보를 제외하고, 나머지 정보를 아카이버 프로그램(archiver program) 등에 의해 추가 콘텐츠로 하나의 파일로 정리한다. 이와 같은 처리를 거쳐서 추가 콘텐츠가 얻어지면 이 추가 콘텐츠를 www서버에 공급하고, 재생장치로부터의 요구에 따라서 재생장치에 송출한다.
<편집시스템>
상술한 복수의 공정 중 포맷공정은 BD-ROM 제작의 핵심이 되는 공정이며, 편집시스템(authoring system)이라고 불리는 전용 시스템에 의해 이루어진다. 이 시스템은 제작 스튜디오에 설치되며, 사용자에게 제공된다. 도 53은 제 6 실시 예의 편집시스템의 내부 구성을 나타내는 도면이다. 이하, 본 도면을 참조하면서 편집시스템에 대해서 설명한다.
본 도면에 도시된 바와 같이, 편집시스템은 타이틀구조 작성장치(51), 릴 세트(reel set) 작성장치(52), BD시나리오 생성장치(53), JavaTM 프로그래밍장치(54), 디스크작성장치(56), 검증장치(57), 마스터 작성부(58)와 같은 장치를 구내 네트워크를 거쳐서 서로 접속하여 구성된다.
1) 타이틀구조 작성장치(51)
이 타이틀구조 작성장치(51)는 Index.bdmv에 의해 제시되는 각 타이틀이 어떤 콘텐츠로 구성되는가를 결정한다. 이 장치에 의한 결정은 타이틀구조정보를 작성함으로써 이루어진다. 타이틀구조정보란, 트리구조를 이용하여 타이틀, Movie 오브젝트, BDJ 오브젝트 및 플레이리스트 사이의 관계를 규정하는 정보이다. 구체적으로 말하면, 타이틀구조정보는 제작하려고 하는 BD-ROM의 "디스크 명"에 대응하는 노드, 그 BD-ROM에서 Index.bdmv에 의해 재생이 가능해지는 "타이틀"에 대응하는 노드, 그 타이틀을 구성하는 "Movie 오브젝트 및 BDJ 오브젝트"에 대응하는 노드, 당해 Movie 오브젝트 및 BDJ 오브젝트를 구성하는 커맨드에 의해 재생되는 "플레이리스트"의 노드를 규정하고, 이들 노드를 에지(edge)로 연결함으로써 타이틀, Movie 오브젝트, BDJ 오브젝트 및 플레이리스트 사이의 관계를 규정한다. 타이틀구조정보에서 PlayList 정보는 00001.mpls, 00002.mpls와 같이, 파일명이 아닌, MainPlayList, MenuPlayList와 같은 추상적인 명칭으로 기재된다. 이상과 같은 트리구조를 사용자로부터의 대화 조작에 의거하여 작성해 감으로써 본 장치는 타이틀구조정보를 완성한다.
2) 릴 세트 작성장치(52)
릴 세트 작성장치(52)는 비디오, 오디오, 자막, 버튼 등 영화로서 완결되는 복수의 엘리멘터리 스트림의 관계를 결정한다. 예를 들어, 하나의 영화가 하나의 비디오, 2개의 오디오, 3개의 자막, 하나의 버튼 스트림으로 이루어지는 경우에, 이들에 의해 하나의 영화가 되는 것을 지정하고, 또, 영화 본편에 대해서, 일부분만 영상이 다른 디렉터 컷(director's cut)을 지정하거나, 복수의 앵글을 갖는 멀티 앵글을 설정하는 기능을 갖는다. 릴 세트 작성장치(52)로부터 출력되는 릴 세트 파일은 앞에서 설명한 정보를 정리한 것이다.
3) BD시나리오 생성장치(53)
BD시나리오 생성장치(53)는 메뉴 편집부(53a)와 시나리오 편집부(53b)로 구성된다.
(메뉴 편집부(53a))
메뉴 편집부(53a)는 GUI를 경유한 사용자 조작에 따라서 인터랙티브 그래픽스 스트림을 구성하는 버튼의 배치 및 버튼에 부가되는 커맨드, 버튼 애니메이션 등의 기능을 작성한다.
(시나리오 편집부(53b))
시나리오 편집부(53b)는 GUI를 경유한 사용자 조작에 따른 편집처리를 타이틀구조 작성장치(51)에 의해서 작성된 타이틀구조정보에 실시함으로써 시나리오를 작성하여 출력한다. 여기서 시나리오란, 디지털 스트림의 재생에 있어서 타이틀 단위의 재생을 재생장치가 행하게 하는 정보이며, BD-ROM에서는 IndexTable, MovieObject, PlayList로서 정의되어 있는 정보가 시나리오에 해당한다. BD-ROM 시나리오 데이터에는 스트림을 구성하는 소재정보, 재생경로정보, 메뉴화면 배치, 메뉴로부터의 천이 등을 포함하며, 사용자는 이들 정보의 검증이 완료할 때까지 시나 리오 생성장치를 이용하여 시나리오 편집작업을 한다. 이 시나리오 편집작업에서는 시나리오 편집부(53b)가 타이틀구조정보의 플레이리스트의 내용을 설정한다. 이와 같은 시나리오 편집작업에 의해 제 1 실시 예, 제 4 실시 예, 제 5 실시 예에서 설명한 STN_table 및 제 2 실시 예에서 설명한 PiP_metadata를 플레이리스트의 구성요소로서 정의함으로써, 이들 구성요소가 BD-ROM 시나리오 데이터에 포함되게 된다.
또, BD시나리오 생성장치(53)가 출력하는 BD-ROM 시나리오는 나중에 설명하는 멀티플렉서(56e)에서의 다중화를 실현하기 위한 파라미터 등도 포함된다.
또, BD시나리오 생성장치(53)는 전술한 심리스 동화상 메뉴의 데이터 구조의 시나리오를 작성할 수 있다. 사용자는 GUI를 경유한 조작에 의해서 메뉴 편집부(53a)를 이용하여 메뉴의 배경 영상으로 심리스하게 재생하고자 하는 영상을 선택한다. 시나리오 편집부(53b)는 심리스 동화상 메뉴의 데이터 구조에 적합하게 플레이리스트를 작성한다. 플레이리스트를 AVClip의 수에 맞게 PlayItem의 개수를 조정해서 BD-ROM 시나리오 데이터로 출력한다. 그때, 멀티플렉서(56e)에서 다중화를 실현하는 파라미터로 각 AVClip을 심리스하게 재생하도록 설정을 한다.
4) JavaTM 프로그래밍장치(54)
JavaTM 프로그래밍장치(54)는 ID 클래스 작성부(54a)와 JavaTM 프로그램 편집부(54b) 및 BDJ 오브젝트 작성부(54c)로 구성된다.
(ID 클래스 작성부(54a))
ID 클래스 작성부(54a)는 타이틀구조 작성장치(51)에 의해 작성된 타이틀구조정보를 이용하여 ID 클래스 소스코드를 작성한다. ID 클래스 소스코드란, JavaTM 프로그램이 최종적으로 디스크 상에 작성되는 Index.bdmv 및 PlayList 정보에 액세스하기 위한 JavaTM 클래스 라이브러리의 소스코드이다. 이 ID 클래스 소스코드로부터 컴파일되는 JavaTM 클래스 라이브러리를 ID 클래스 라이브러리라고 부르는 것으로 한다.
ID 클래스 소스코드는 플레이리스트 번호를 지정함으로써 디스크로부터 소정의 플레이리스트 파일을 판독하는 생성자(constructor)를 가지며, 이 생성자를 실행해서 작성한 인스턴스를 이용함으로써 AVClip의 재생 등이 가능하도록 설계 및 실장되어 있다. ID 클래스 라이브러리의 변수 명은 MainPlayList 및 MenuPlayList와 같이 타이틀구조정보에 의해 정의되는 플레이리스트 노드의 이름을 이용하여 정의된다. 이때 이용하는 플레이리스트 번호는 더미 번호(dummy number)라도 좋다.
(JavaTM 프로그램 편집부(54b))
JavaTM 프로그램 편집부(54b)는 GUI 등의 사용자 인터페이스를 통해서, 사용자로부터의 요구에 따라서, JavaTM 프로그램의 소스코드를 작성하고, JavaTM 프로그램 소스코드를 출력한다. JavaTM 프로그램에 의한 Index.bdmv 및 PlayList의 참조는 ID 클래스 라이브러리에 의해 이루어진다.
(BDJ 오브젝트 작성부(54c))
BDJ 오브젝트 작성부(54c)는 JavaTM 프로그램 편집부(54b) 및 ID 클래스 작성부(54a)에 의해 작성한 JavaTM 프로그램 소스코드를 기초로 하여 BDJ 오브젝트 생성정보를 작성한다. BDJ 오브젝트 생성정보란, 최종적으로 BD-ROM에 기록되어야 할 BDJ 오브젝트의 모형이 되는 정보이며, 재생할 플레이리스트를 0001.mpls, 00002.mpls와 같은 구체적인 파일명이 아니라, ID 라이브러리에 의해 정의된 변수 명을 이용하여 지정하고 있다.
5) 소재작성/임포팅장치(55)는 자막 작성부(55a), 오디오 임포팅부(55b), 비디오 임포팅부(55c) 및 JavaTM 임포팅부(55d)로 구성된다. 입력되는 비디오 소재, 오디오 소재, 자막용 소재 및 JavaTM 프로그램 소스코드 등을 BD-ROM 규격에 준거한 비디오 스트림, 오디오 스트림, 자막데이터 및 JavaTM 프로그램 소스코드 등으로 변환하고, 디스크작성장치(56)에 인계한다.
(자막 작성부(55a))
자막 작성부(55a)는 자막과 표시 타이밍 및 페이드 인/페이드 아웃 등의 자막의 효과를 포함하는 자막정보파일을 기초로 하여 BD-ROM 규격에 준거한 자막데이터를 생성하여 출력한다.
(오디오 임포팅부(55b))
오디오 임포팅부(55b)는 미리 AC-3 등으로 압축되어 있는 오디오가 입력된 경우에는, 대응하는 오디오에 대한 타이밍정보 등을 부가하거나, 여분의 데이터를 삭제하는 등의 처리를 하여 출력한다. 압축되어 있지 않은 경우에는 사용자가 지정하는 포맷으로 변환해서 출력한다.
(비디오 임포팅부(55c))
비디오 임포팅부(55c)는 미리 MPEC2, MPEC4-AVC, VC-1 등의 방식으로 압축되어 있는 비디오 스트림이 입력된 경우, 필요에 따라서 불필요한 정보를 삭제하는 등의 처리를 한 후에 출력한다. 또, 미리 압축되어 있지 않은 비 압축 비디오 파일이 입력된 경우에는, 이 비디오 파일은 비디오 인코더에 입력되어 사용자가 지정하는 파라미터에 따라서 압축된 후 출력된다.
JavaTM 임포팅부(55d)는 JavaTM 프로그래밍장치(54)에 의해서 작성된 JavaTM 프로그램 소스코드, 프로그램 부속정보, ID 클래스 소스코드 및 BDJ 오브젝트 생성정보의 데이터를 디스크작성장치(56)에 인계한다. JavaTM 임포팅부(55d)는 타이틀구조정보를 이용하여 임포트하는 JavaTM 프로그램 소스코드, 프로그램 부속정보, ID 클래스 소스코드 및 BDJ 오브젝트 생성정보와 그들의 파일 군이 어느 BDJ 오브젝트에 대응하는가에 대해서 관련부여를 하여, 타이틀구조정보의 BDJ 오브젝트 노드의 BDJ 오브젝트 생성정보를 설정한다.
6) 디스크작성장치(56)
디스크작성장치(56)는 ID 변환부(56a), 정지화상 인코더(56b), 데이터베이스 생성부(56c), JavaTM 프로그램 빌딩부(56d), 멀티플렉서(56e), 포맷부(56f), 디스크 이미지 작성부(56g)로 구성된다.
(ID 변환부(56a))
ID 변환부(56a)는 JavaTM 임포팅부(55d)에 의해서 디스크작성장치(56)에 인계된 ID 클래스 소스코드를 타이틀번호 및 플레이리스트번호로 변환한다. 또, ID 변환부(56a)는 BDJ 오브젝트 생성정보에 대해서도 BDJ 오브젝트 내에서 정의되는 플레이리스트 명이 실제의 디스크 상의 플레이리스트번호와 일치하도록 변환한다.
(정지화상 인코더(56b))
정지화상 인코더(56b)는 입력된 BD-ROM 시나리오 데이터에 정지화상 또는 정지화상이 저장되어 있는 장소가 포함되는 경우에, 입력소재에 포함되는 정지화상용 이미지 중에서 해당하는 정지화상을 선택하고, BD-ROM에 준거한 MPEG2, MPEG4-AVC, VC1 중 어느 한 형식으로 변환한다.
(데이터베이스 생성부(56c))
데이터베이스 생성부(56c)는 입력되는 BD-ROM 시나리오 데이터와 ID 변환부(56a)로부터 인계되는 BDJ 오브젝트 생성정보를 기초로 하여 BD-ROM에 준거한 시나리오 데이터의 데이터베이스를 생성한다. 여기서 말하는 "데이터베이스"란 전술한 BD-ROM에서 정의되는 Index.bdmv, Movie 오브젝트, 플레이리스트 및 BDJ 오브젝트 등의 총칭이다.
(JavaTM 프로그램 빌딩부(56d))
JavaTM 프로그램 빌딩부(56d)는 ID 변환부(56a)에 의해서 변환된 ID 클래스 소스코드와 JavaTM 프로그램 소스코드에 대해서 컴파일처리를 하여 JavaTM 프로그램을 출력한다.
(멀티플렉서(56e))
멀티플렉서(56e)는 BD-ROM 시나리오데이터에 기술되어 있는 비디오, 오디오, 자막, 메뉴를 실현하는 복수의 엘리멘터리 스트림을 다중화하여 MPEG2-TS 형식의 AVClip이라 불리는 디지털 스트림을 얻는다. 또, 멀티플렉서(56e)는 상기 AVClp을 출력하는 동시에, AVClip에 관한 정보를 갖는 Clip정보를 출력한다.
구체적으로 말하면, 멀티플렉서(56e)는 BD-ROM용으로 생성된 디지털 스트림에서, (ⅰ) 포함되는 비디오 엘리멘터리 스트림이 MPEG2이면 P 픽처가, (ⅱ) MPEG4-AVC이면 I 픽처나 IDR 픽처가, (ⅲ) VC 1이면 I 픽처가 어디에 존재하는가를 검출한다. 그리고 멀티플렉서(56e)는 상기 각 픽처의 표시시각과, MPEG2-TS로 되어 있는 AVClip의 몇 번째의 TS패킷에 전술한 각 픽처의 선두 데이터가 저장되어 있는가를 대응시킴으로써 EP_map을 생성한다. 멀티플렉서(56e)는 멀티플렉서(56e)가 생성한 EP_map과 릴 세트 파일로부터 검출되는 디지털 스트림별 음성속성 및 비디오속성을 쌍으로 하여 Clip정보를 작성한다.
EP_map이 멀티플렉서(56e)에 의해 작성되는 이유는, EP_map은 멀티플렉서에서 출력되는 MPEG2-TS 형식의 AVClip과 매우 밀접하게 관계하고 있는 정보이고, 또, BD-ROM에서의 사용을 위해 작성되는 AVClip은 파일 사이즈가 매우 커질 가능성 이 있으므로, 만일 AVClip을 작성한 후에 EP_map을 작성하려고 하면 큰 파일 사이즈의 AVClip을 다시 판독해야 할 필요가 있으므로, EP_map 작성에 요하는 시간이 필요하게 된다. 이에 대해, AVClip을 작성하면서 EP_map을 작성하면 거대한 AVClip을 2회에 걸쳐서 다시 판독할 필요가 없으므로 EP_map 작성을 위한 시간을 절감할 수 있다.
또, 멀티플렉서(56e)는 BD-ROM 시나리오 데이터에 포함되는 멀티플렉서(56e)용 파라미터를 이용하여 다중화의 방법을 바꾼다. 예를 들어, 다중화하는 대상이 되는 제1 AVClip이 제 2 AVClip과 심리스로 접속하도록 파라미터가 설정되어 있는 경우에는, 전술한 바와 같이 버퍼 모델을 붕괴시키지 않도록, 제 1 AVClip을 디코드한 후의 버퍼상태를 초기치로 하여 제 2 AVClip의 다중화를 한다.
(포맷부(56f))
포맷부(56f)는 상술한 데이터베이스, AVClip 및 javaTM 프로그램을 입력으로 하여, BD-ROM 포맷에 적합한 데이터구조로 파일의 배치처리를 한다. 포맷부(56f)는 BD-ROM의 응용 층을 규정하는 디렉터리구조를 작성하고, 각 파일을 적절한 개소에 배치한다. 이때, 포맷부(56f)는 트리구조를 정의함으로써 javaTM 프로그램과 AVClip을 관련시킨다. 이와 같이 관련을 시킴으로써 재생에 이용되는 복수의 파일은 블록이라는 단위로 카테고리 화가 이루어진다. 이상과 같은 트리구조를 사용자로부터의 대화 조작에 의해 작성해 감으로써 본 장치는 파일 간의 관련부여를 완성해 간다.
(디스크 이미지 작성부(56g))
디스크 이미지 작성부(56g)는 전술한 데이터베이스 및 AVClip을 입력으로 하여, 이들을 BD-ROM 포맷에 적합한 어드레스로 할당하여 볼륨 이미지를 얻는다.
볼륨 이미지의 작성에 있어서 디스크 이미지 작성부(56g)는 관련이 있는 파일 군이 물리적으로 연속되도록 배치하며, 이에 의해 재생할 때의 디스크의 판독을 효율적으로 할 수 있게 된다. 심리스 플래그가 온이 되어 있는 블록에 대해서는 이 블록에 속하는 AVClip이 심리스로 재생되도록 배치한다. 구체적으로 말하면, 전술한 심리스로 재생하기 위한 물리적인 배치의 조건인 최소 익스텐트 사이즈(extent size) 및 최대 점프거리를 조건으로 만족하도록 디스크 내에서의 배치를 한다.
7) 검증장치(57)
검증장치(57)는 에뮬레이터부(emulator unit)(57a)와 베리파이어부(verifier unit)(57b)로 이루어진다.
에뮬레이터부(57a)에서는 전술한 볼륨 이미지를 입력으로 하여 실제의 영화 콘텐츠를 재생하고, 제작자가 의도한 동작, 예를 들어 메뉴에서 본편 영화로의 천이가 정상적으로 이루어지고 있는가, 자막 전환 및 오디오 전환은 의도한데로 동작하고 있는가, 영화 및 오디오의 품질은 의도한 데로인가 등을 검증한다.
베리파이어부(57b)에서는 전술한 볼륨 이미지를 입력으로 하여 제작된 데이터가 BD-ROM의 규격에 준거하고 있는가 여부를 검증한다.
Out_of_MUX 스트림로 픽처 인 픽처를 실현함에 있어서는, STN_table에서 동시 재생이 허가되어 있는 복수의 엘리멘터리 스트림에서의 TS 패킷의 1초당 총 비트 양을 48Mbit 이하로 제한하여야 한다. 이 제한을 만족하고 있는가 여부를 확인 하기 위해서 베리파이어부(57b)는 ATC 시간 축 상의 임의의 1초라는 기간에서 비트 양이 이 제한 이하인가를 확인한다. 이 1초라는 단위시간은 "윈도(window)"라고 불리며, ATC Sequence의 시간 축 상의 임의의 위치에 위치한다. 즉, 복호된 엘리멘터리 스트림에서의 비트 양은 어떤 1초의 기간에서도 이 48Mbit 이하라는 조건을 만족할 필요가 있다.
편집시에는, 베리파이어부(57b)는 소스 패킷 열에서 이 윈도를 1 패킷씩 시프트 시키면서, 1초라는 기간 내의 TS 패킷의 비트 수가 48Mbit라는 제한을 만족하는가를 체크한다. 이 제한을 만족하면 베리파이어부(57b)는 다음의 TS 패킷으로 윈도를 시프트 시킨다. 만일 이 제한을 만족하지 않으면 베리파이어부(57b)는 BD-ROM 규격에 위반하고 있다고 단정한다. 이와 같은 시프트를 반복한 결과 윈도의 Out_Time이 최후의 소스 패킷에 도달하면 베리파이어부(57b)는 당해 소스 패킷이 BD-ROM 규격에 맞는다는 판정을 한다.
이와 같이 볼륨 이미지는 에뮬레이터(57a) 및 베리파이어부(57b)에서 검증되며, 에러가 발견되면 이전의 공정으로 돌아가서 작업을 다시 한다. 이들 2개의 검증과정을 거친 후, 마스터 작성부(58)를 거쳐서 BD-ROM 프레스용 데이터가 완성되며, 디스크를 제조하는 프레스공정으로 들어간다.
다음에, 도 54를 참조하면서 포맷팅 공정에서의 처리의 흐름에 대해서 설명한다.
스텝 S 301에서 사용자는 타이틀구조 작성장치(51)를 이용하여 BD-ROM의 타이틀구조를 설정한다. 이에 의해 타이틀구조정보가 작성된다.
스텝 S 302에서 사용자는 BD시나리오 생성장치(53)를 이용하여 심리스 동화상 메뉴의 구성을 갖는 시나리오 데이터를 작성한다. 이에 의해 BD-ROM 시나리오 데이터에는 심리스 동화상 메뉴용 플레이리스트가 작성된다.
스텝 S 303에서 사용자는 타이틀에 이용하는 동화상, 음성, 정지화상 및 자막정보를 준비한 후, 소재작성/임포팅장치(55)를 이용하여 디스크작성장치(56)에 대해서 임포트를 한다.
스텝 S 304에서 사용자는 JavaTM 프로그래밍장치(54)에 의해서 JavaTM 타이틀용 JavaTM 프로그램 코드, 프로그램 부가정보 및 ID 클래스 소스코드를 작성한다.
스텝 S 305에서 사용자는 JavaTM 임포팅부(55d)를 이용하여 스텝 S 304에서 작성된 JavaTM 프로그램 코드, 프로그램 부가정보 및 ID 클래스 소스코드를 디스크작성장치(56)에 임포트 한다.
스텝 S 306에서 디스크작성장치(56)는 ID 변환부(56a)를 이용해서 ID 클래스 소스코드 및 BDJ 오브젝트 생성정보에서의 기술을 실제의 디스크 상의 타이틀번호 및 플레이리스트번호로 변환한다.
스텝 S 307에서 JavaTM 프로그램 빌딩부(56d)는 스텝 S 306에서 출력된 소스코드를 이용하여 컴파일처리에 의해서 JavaTM 프로그램을 작성한다. 또한, 타이틀구조정보에 JavaTM 타이틀이 존재하지 않는 경우에는 스텝 S 306과 스텝 S 307은 스킵 할 수 있다.
스텝 S 308에서, BD-ROM 시나리오 데이터에 정지화상 또는 정지화상이 저장되어 있는 장소가 포함되는 경우에는, 정지화상 인코더(56b)는 해당하는 정지화상을 BD-ROM에 준거한 MPEG2, MPEG4-AVC, VC1 중 어느 하나의 형식으로 변환한다.
스텝 S 309에서 멀티플렉서(56e)는 BD-ROM 시나리오 데이터에 따라서 복수의 엘리멘터리 스트림의 다중화를 하여, MPEG2-TS 형식의 AVClip을 작성한다.
스텝 S 310에서 데이터베이스 생성부(56c)는 BD-ROM 시나리오 데이터에 따라서 BD-ROM에 준거한 데이터베이스정보를 작성한다.
스텝 S 311에서 포맷부(56f)는 스텝 S 307에서 작성된 JavaTM 프로그램, 스텝 S 309에서 작성된 AVClip 및 스텝 S 310에서 작성된 데이터베이스를 입력으로 하여 BD-ROM에 준거한 포맷으로 타이틀의 배치를 한다. 이때, JavaTM 프로그램과 AVClip의 관련 부여를 하여 파일관련정보를 작성한다.
스텝 S 312에서 디스크 이미지 작성부(56g)는 파일관련정보를 이용하면서, 스텝 S 311에 의해서 작성된 파일 군을 사용하여, BD-ROM 포맷에 적합한 볼륨 이미지를 작성한다.
스텝 S 313에서 검증장치(57)는 스텝 S 312에서 작성된 디스크 이미지의 검증을 한다. 에러가 발견되면 검증장치(57)는 당연히 이전 공정으로 돌아가서 작업을 다시 한다.
이하, 프라이머리 비디오 스트림 및 세컨더리 비디오 스트림의 다중화와 EP_map의 작성에 대해서 설명한다.
프라이머리 비디오 스트림을 세컨더리 비디오 스트림에 다중화할 때, 각각의 GOP 내의 각 픽처의 표시시각을 나타내는 PTS와 각 픽처의 디코드 시각을 나타내는 DTS의 값을 비교한다. 그리고 프라이머리 비디오를 구성하는 픽처와 세컨더리 비디오를 구성하는 픽처가 대략 동일한 위치에 위치하거나 혹은 근방에 배치되도록 다중화를 한다.
프라이머리 비디오 스트림 및 세컨더리 비디오 스트림이 어떻게 다중화되는가에 대해서 이하에 설명한다.
도 55의 제 1단째 및 제 2단째는 동일 ATC 시간 축에 배치된 프라이머리 비디오 스트림을 구성하는 TS 패킷 열 및 세컨더리 비디오 스트림을 구성하는 TS 패킷 열을 나타낸다.
제 1 실시 예에서 설명한 바와 같이, 프라이머리 비디오 스트림 및 세컨더리 비디오 스트림은 각각 PES 패킷 열 및 TS 패킷 열로 변환된다. 이와 같이 하여 얻어진 TS 패킷 열이 하나의 ATS 시간 축 상에 연속적으로(serially) 배치되도록 이들의 TS 패킷에 ATS를 부가해둔다.
여기서, 프라이머리 비디오 스트림을 구성하는 TS 패킷은 ATC 시간 축에서의 모든 좌표에 존재하지는 않으며, GOP 근방에 상당하는 좌표가 비어 있다. 이는 상기 빈 좌표에 프라이머리 비디오에서의 픽처와 동기 재생할 다른 종류의 데이터를 배치하기 위해서이다. 이 빈 좌표, 즉, 프라이머리 비디오 스트림의 TS 패킷에 의해 점유되어 있지 않은 좌표에 세컨더리 비디오 스트림의 TS 패킷이 배치되도록, 당해 TS 패킷에 타임스탬프를 부여한다. 제 3단째는 다중화에 의해 얻어진 트램스포트 스트림을 나타낸다.
이상과 같이, 프라이머리 비디오 측의 ATC 시간 축 상의 빈 좌표를 나타내는 ATS를 부여한 다음에 TS 패킷을 연속적으로 배열함으로써 프라이머리 비디오 스트림은 세컨더리 비디오 스트림과 다중화되게 된다. 이 다중화에서 연속적으로 배열된 각 TS 패킷은 일련번호로 식별된다. 이 일련번호를 SPN이라 하며, BD-ROM에서의 소스패킷의 위치는 이 SPN에 의해 표현된다.
이와 같이 다중화해 두면, 하나의 트랜스포트 스트림의 선두에서부터 순서대로 판독해가면 필요한 시각에 프라이머리 비디오와 세컨더리 비디오의 스트림을 인출할 수 있다. 그러나 스킵 조작이나 시간 지정의 점프 조작에 의해 스트림의 선두에서부터가 아니라 스트림의 도중에서부터 재생을 할 필요가 있는 경우에는 프라이머리 비디오 및 세컨더리 비디오의 GOP 경계를 고려할 필요가 있다.
(동기 재생)
프라이머리 비디오와 세컨더리 비디오는 엘리멘터리 스트림으로서는 별개의 스트림이나, 세컨더리 비디오 스트림을 In_MUX 스트림으로 하는 경우에는 재생 시에 하나의 트랜스포트 스트림의 선두에서부터 순서대로 판독해가면 필요한 시각에 프라이머리 비디오와 세컨더리 비디오의 스트림을 인출할 수 있다. 그러나 스킵 조작이나 시간 지정의 점프 조작에 의해 스트림의 선두에서부터가 아니라 스트림의 도중에서부터 재생을 할 필요가 있는 경우에는 프라이머리 비디오 및 세컨더리 비디오의 GOP 경계를 고려할 필요가 있다.
도 56은 다중화된 소스 패킷 열이 프라이머리 비디오 스트림 및 세컨더리 비디오 스트림에서 어느 GOP에 귀속하는가에 대한 귀속관계를 나타낸다. 본 도면에서 제 1단째의 박스(box)는 AVClip에서의 TS 패킷이 프라이머리 비디오 스트림에 포함되는 복수의 GOP 중 어디에 귀속되는가에 대한 귀속관계를 나타낸다. 이 박스에 의하면 어드레스 n1에서부터 n2의 직전의 소스 패킷은 GOP-1에 속하고, 어드레스 n2에서부터 n3 직전까지의 소스 패킷은 GOP-2에 속한다, 그리고 n3 이후의 소스 패킷은 GOP-3에 속한다.
여기서, SPN n1, n2에서부터 소스 패킷을 판독하는 경우, 세컨더리 비디오 스트림의 GOP의 선두 SPN u1, u2는 이 SPN n1, n2보다 이후이므로, 이 판독시에 프라이머리 비디오의 GOP만이 아니라 세컨더리 비디오의 GOP도 판독할 수 있어서, 픽처 인 픽처를 완성시킬 수 있다. 즉, 프라이머리 비디오의 2번째 GOP인 (프라이머리) GOP-2에서부터 재생을 개시하는 경우에 (프라이머리) GOP-2에 포함되는 최초의 패킷인 SPN=n2에서부터 재생을 개시하면 프라이머리 비디오에 동기하는 세컨더리 비디오의 2번째의 GOP인 (세컨더리) GOP-2도 판독되므로, 문제없이 프라이머리 비디오와 세컨더리 비디오를 재생 개시시부터 동기해서 재생할 수 있다.
그러나 SPN n3부터의 판독시에는 세컨더리 비디오의 GOP는 이 n3보다 앞에 존재하므로 세컨더리 비디오의 GOP를 판독할 수 없다. 즉, (프라이머리) GOP-3부터 재생을 개시하기 위해 SPN=n3부터 재생하는 경우에는, (세컨더리) GOP-3이 (프라이머리) GOP-3보다 앞에 배치되어 있으면 SPN=n3에서부터 트랜스포트 스트림을 판독하였다고 해도 (세컨더리) GOP-3에 포함되는 GOP 내의 데이터를 선두에서부터 판독 할 수 없어서, 그 GOP에 포함되는 영상을 완전하게는 디코드할 수 없을 가능성이 있다. 이 경우, 프라이머리 비디오는 GOP-3의 영상에서부터 재생이 개시되나, 세컨더리 비디오는 뒤늦게 GOP-4의 영상에서부터 시작하거나, 혹은 프라이머리 비디오의 GOP-3의 영상과 시간이 어긋난 세컨더리 비디오의 재생이 개시되게 된다.
지정된 시각 혹은 GOP에서부터 프라이머리 비디오 및 세컨더리 비디오의 재생을 개시하기 위해서는 다중화의 순서에 제한을 가하는 방법과 재생기기 측에서 판단하는 2가지 방법을 생각할 수 있다.
스트림 측에서 GOP 경계를 정렬하는 경우에는 어디에서부터 재생을 개시하는가라는 점이 중요해진다. 재생장치는 재생개시 점이 시각으로 지정된 경우, EP_map을 참조함으로써 시각정보를 SPN으로 변환하여 재생을 개시하는 위치를 특정한다.
도 57은 프라이머리 비디오에 대해서만 설정된 EP_map을 나타내는 도면이다. 제 1단째는 프라이머리 비디오 및 세컨더리 비디오로 구성되는 픽처를 나타내고, 제 2단째는 EP_map을, 제 3단째는 프라이머리 비디오 스트림 및 세컨더리 비디오 스트림에서의 GOP를 나타낸다. 이 경우, 시각정보는 프라이머리 비디오의 GOP의 재생개시시각, SPN은 GOP의 선두 어드레스가 된다. 재생기기는 이 어드레스에 나타나는 위치에서부터 데이터를 판독하므로, 세컨더리 비디오의 데이터는 프라이머리 비디오의 GOP보다 후에 시작할 필요가 있다. 이것이 다중화의 순서에 제한을 가하는 방법이다.
프라이머리 비디오와 세컨더리 비디오의 GOP의 시간적 간격을 동일하게 해두고, 반드시 프라이머리 비디오의 GOP의 선두를 세컨더리 비디오의 GOP의 선두보다 도 앞에 배치해두면, EP_map에 저장된 시각에서부터 재생하는 경우에는 어느 시각에 점프를 해도 점프한 시각에서부터 프라이머리 비디오 및 세컨더리 비디오를 일치시켜서 표시할 수 있다.
도 58은 프라이머리 비디오와 세컨더리 비디오 각각에 대해서 설치된 EP_map을 나타내는 도면이다. 제 1단째 및 제 3단째는 앞의 도면에서의 각 단과 동일하다. 제 2단째는 프라이머리 비디오 스트림 및 세컨더리 비디오 스트림 각각에 설정된 EP_map을 나타낸다. 본 도면과 같이 EP_map을 설정해두면 재생개시 점이 시각으로 주어지면 대응하는 EP_map을 프라이머리 비디오 및 세컨더리 비디오 측에서 찾을 수 있고, 시각정보에 대응하는 SPN 중 더 전방에 위치하는 어드레스에서부터 재생을 개시하면 지정한 시각의 프라이머리 비디오 및 세컨더리 비디오의 GOP를 선두에서부터 판독할 수 있게 된다. 이것이 재생기기 측에서 개시위치를 판단하는 방법이다. 각각의 EP_map에 등록하는 시각정보를 동일하게 해두면 어떤 시각을 지정한 때에 프라이머리 비디오와 세컨더리 비디오의 대응하는 개시 어드레스를 취득할 수 있다.
구체적으로 말하면, 재생장치는 프라이머리 비디오 스트림용 EP_map을 이용해서 시각정보를 프라이머리 비디오 스트림 상의 SPN으로 변환하는 동시에, 세컨더리 비디오 스트림용 EP_map을 이용해서 시각정보를 세컨더리 비디오 스트림 상의 SPN으로 변환한다.
그리고 이와 같이 하여 얻어진 SPN을 비교한다. SPN1이 SPN2보다 작으면 SPN1을 BD-ROM의 어드레스로 변환한다. SPN2가 SPN1보다 작으면 SPN2를 BD-ROM의 어드레스로 변환한다.
하나의 시간 축 정보를 프라이머리 비디오 스트림 상의 SPN 및 세컨더리 비디오 스트림 상의 SPN으로 변환해서, 이들 중 작은 쪽을 어드레스로 변환하므로, 프라이머리 비디오 스트림의 GOP의 위치가 선행하고 있는 경우에도, 세컨더리 비디오 스트림의 GOP가 선행하고 있는 경우에도 양자의 GOP를 판독할 수 있다.
또한, 프라이머리 비디오와 세컨더리 비디오가 복수 존재하는 경우, 표시할 필요가 있는 비디오 스트림의 재생개시위치 중 개시 어드레스가 빠른 것을 이용하면 되며, 표시되지 않는 것까지 대상으로 하여 어드레스를 탐색할 필요는 없다.
(제 7 실시 예)
본 실시 예는 챕터(chapter)에 의한 재생을 재생장치가 실현하도록 하는 개량에 관한 것이다. 영화 타이틀에서는 장면(scene)이나 내용별로 구분된 챕터라고 불리는 구간이 정의되어 있고, 사용자가 챕터를 지정해서, 선택한 챕터의 선두에서부터 재생을 개시할 수 있도록 만들어져 있는 경우가 많다. 이 챕터 선택이라는 애플리케이션을 픽처 인 픽처에 적용하는 방법을 생각한다.
챕터의 선두는 장면의 구분이나 내용의 변화 점이며, 챕터의 선두에서부터 재생을 하는 경우 프라이머리 비디오는 물론 세컨더리 비디오도 장면 선두의 시각에서부터 재생을 개시하는 것이 바람직하다.
도 59는 PLayList 정보에 존재하는 PlayListMark 정보를 나타낸다. 본 도면에서의 제 2단째 및 제 3단째는 프라이머리 비디오 스트림 및 세컨더리 비디오 스트림의 GOP를 나타내고, 제 1단째는 PlayListMark 정보를 나타낸다. 이 PLayListMark 정보는 복수의 챕터번호 각각에 시각정보를 대응시킴으로써 구성된다.
챕터 위치는 시각정보를 이용하여 표시되어 있으므로, 이 챕터에서 재생개시 어드레스를 특정하기 위해서는, 재생장치는 EP_map을 이용하여 전술한 방법으로 어드레스를 할당하고, 그 어드레스에서부터 데이터의 판독을 개시하면 된다.
EP_map이 프라이머리 비디오에만 설정되어 있는 경우에는 마크를 프라이머리 비디오에 대해서 설정하고, 동기 재생할 세컨더리 비디오의 위치는 프라이머리 비디오의 개시위치보다도 후방으로 해두면 된다.
(스킵 포인트)
챕터 경계와 마찬가지로, 타이틀 내의 시간 축 상의 한 점을 지정할 수 있는 마크를 사용함으로써 사용자의 스킵 조작에 의해 점프하는 점을 규정할 수도 있다. 스킵 포인트에 대한 GOP의 배치의 제약 및 스킵 포인트에서부터의 재생방법은 챕터 선두의 경우와 동일하다.
여기서, 스킵 포인트를 복수의 세컨더리 비디오에 개별로 설정하는 경우를 생각한다.
스킵 포인트가 프라이머리 비디오에 대해서 설정되어 있는 경우, 세컨더리 비디오가 표시되고 있어도, 또는 표시되고 있지 않아도, 언제나 사용자는 그 스킵 포인트를 지정해서 재생장치를 점프시킬 수 있게 된다. 영화 본편 영상의 장면의 변화 점 등에 스킵 포인트를 설정하는 경우에 해당한다. 이에 대해서, 감독의 해설 영상 등인 세컨더리 비디오에 대해서 스킵 포인트를 설정하는 경우, 대상이 되는 영상이 표시되고 있을 때 이외에 스킵 포인트가 유효해지면 사용자에게 혼란을 주게 된다.
도 60은 세컨더리 비디오 스트림이 존재하는 위치를 챕터로 지정한 PlayListMark 정보를 나타내는 도면이다. 본 도면에서 제 2, 3, 4단째는 프라이머리 비디오 스트림과 2개의 세컨더리 비디오 스트림을 나타내고, 제 1단째는 PlayListMark 정보의 내용을 나타낸다.
감독의 해설 영상인 세컨더리 비디오 스트림 #1은 도중에 해설의 내용이 바뀌므로 스킵 포인트를 설정하고 있다. 이때, 세컨더리 비디오 스트림 #1이 표시되고 있으면 사용자는 이 스킵 포인트(마크번호 2)를 지정해서 점프할 수 있으나, 세컨더리 비디오 스트림을 표시하고 있지 않거나, 세컨더리 비디오 스트림 #2를 표시하고 있는 경우에는 이 스킵 포인트로 점프할 수 없게 해 두어야 한다.
그래서 본 실시 예에서는 PlayListMark 정보에서 마크정보 각각에 "스트림 지정"이라는 필드를 대응시킨다. 마크정보는 마크번호와 대응하는 시각정보를 포함하며, 이 마크정보 각각에 스트림 지정 필드를 설치하는 것이다.
이 스트림 지정 필드가 "지정 없음(전체)"이면 세컨더리 비디오 스트림의 표시 여하에 관계없이 이 마크정보 점(mark information point)에 대한 챕터 점프가 허가된다. 이 스트림 지정 필드가 세컨더리 비디오 스트림 #1이면 세컨더리 비디오 스트림 #1의 재생시에만 이 마크정보 점에 대한 챕터 점프를 재생장치에 허가한다.
이 스트림 지정 필드가 세컨더리 비디오 스트림 #2이면 세컨더리 비디오 스트림 #2의 재생시에만 이 마크정보 점에 대한 챕터 점프를 재생장치에 허가한다. 이와 같이 함으로써 재생장치는 표시되고 있는 영상의 내용에 해당하는 스킵 포인트를 사용자가 이용할 수 있게 한다.
이와 같이 스트림 개별로 스킵 포인트를 설정하면 표시되고 있는 내용에 따라서 사용자가 적절한 위치로 점프할 수 있는 장치를 제공할 수 있다.
또한, GUI 등을 이용하여 강제적으로 마크번호를 지정하여 재생개시위치를 마크 2의 위치 등으로 이동시키고자 하는 경우에는, 세컨더리 비디오 스트림 #1이 표시되고 있지 않거나, 다른 세컨더리 비디오 스트림이 표시되고 있었다고 해도, 강제적으로 세컨더리 비디오 스트림 #1의 표시로 전환하여 그 스킵 포인트로 이동하는 것도 가능하다.
(제 8 실시 예)
본 실시 예는 프라이머리 비디오 및 세컨더리 비디오가 인터레이스 영상(interlaced video)인 경우의 개량이다. 픽처 데이터는 이하의 TOP 필드 및 Bottom 필드로 구성된다. TOP 필드는 프레임을 구성하는 라인 중 기수 번째에 나타나는 것(기수 라인)을 모은 것이다. Bottom 필드는 프레임을 구성하는 라인 중 우수 번째에 나타나는 것(우수 라인)을 모은 것을 말한다.
도 61 (a)는 프라이머리 비디오 및 세컨더리 비디오를 구성하는 비디오 필드를 나타내는 도면이다. 픽처 인 픽처에서는 프라이머리 비디오를 구성하는 비디오 필드 및 세컨더리 비디오를 구성하는 비디오 필드를 1 대 1의 비율로 합성한다. 따라서 픽처 인 픽처에서는 합성할 프라이머리 및 세컨더리 비디오 필드가 동 위상이 되는 경우와 역 위상이 되는 경우가 나타난다.
도 61 (b)는 합성할 비디오 필드가 동 위상이 되는 경우를 나타낸다. 동 위상이 되는 조합이란, 본 도면에 도시하는 바와 같이, 프라이머리 비디오와 세컨더리 비디오가 모두 TOP 필드가 되는 조합, 또는 프라이머리 비디오와 세컨더리 비디오 모두 Bottom 필드가 되는 조합을 말한다.
도 61 (c)는 합성할 비디오 필드가 역 위상이 되는 경우를 나타낸다. 동 위상이 되는 조합이란, 본 도면에 도시하는 바와 같이, 프라이머리 비디오가 TOP 필드가 되고 세컨더리 비디오가 Bottom 필드가 되는 조합, 또는 프라이머리 비디오가 Bottom 필드가 되고 세컨더리 비디오가 TOP 필드가 되는 조합을 말한다.
이상과 같은 조합이 존재할 수 있는 경우에 프라이머리 비디오 및 세컨더리 비디오를 합성하려고 하면, 도 62 (a) 및 (b)에 도시한 바와 같이, 2개의 픽처 인 픽처 영상이 나타나게 된다. 도 62 (a)는 프라이머리 비디오에서의 비디오 필드의 우수 라인과 세컨더리 비디오에서의 비디오 필드의 우수 라인이 일치하고 있는 픽처 인 픽처 화상을 나타낸다. 이와 같은 픽처 인 픽처 화상은 텔레비전에 재생출력이 가능하다.
도 62 (b)는 프라이머리 비디오에서의 비디오 필드의 우수 라인과 세컨더리 비디오에서의 비디오 필드의 기수 라인이 일치하고 있는 픽처 인 픽처 화상을 나타낸다. 이와 같은 픽처 인 픽처 화상은 텔레비전에 재생출력이 불가능하다.
재생출력이 불가능하게 되는 픽처 인 픽처 화상, 즉, 도 62 (b)의 합성화상의 발생을 피하기 위해 본 실시 예의 기록매체에서는 세컨더리 비디오의 배치위치 및 표시시점을 이하와 같이 조정하고 있다.
도 63은 프라이머리 비디오를 구성하는 복수의 비디오 필드 중 임의의 하나인 비디오 필드 Fx와 세컨더리 비디오를 구성하는 복수의 비디오 필드 중 임의의 하나인 비디오 필드 Fy를 합성하여 출력하는 경우, 이 비디오 필드 Fy의 배치위치 및 표시시점을 어떻게 조정하는가를 나타낸다.
여기서 PiP_metadata_block에서의 PiP_horizontal_position 및 PiP_vertical_ position에서 규정할 좌표를 (Px, Py)로 한 경우, 배치위치의 조정은 화살표 sd1로 나타내는 바와 같이 이 좌표 (Px, Py)를 상하로 슬라이드 함으로써 이루어진다.
재생시간 축 상의 프라이머리 비디오의 필드데이터의 표시 타이밍을 Ty로 한 경우, PiP_metadata_time_stamp에 의해 규정하는 표시시점의 조정은 화살표 sd2로 나타내는 바와 같이 이 표시타이밍을 미래 또는 과거방향으로 슬라이드 함으로써 이루어진다.
도 64는 세컨더리 비디오의 필드 Fy를 동 위상의 프라이머리 비디오의 필드와 동시에 표시하는 케이스를 나타내는 도면이다. 본 도의 케이스에서 PiP_metadata_block에서의 PiP_horizontal_position 및 PiP_vertical_ position에 의해 규정하는 좌표 (Px, Py)의 Py는 프라이머리 비디오 필드에서의 복수의 우수 라인 중 하나(도면 중의 even 1)에서 선택한다. 이렇게 함으로써 픽처 인 픽처는 재생출력이 가능한 패턴이 된다.
도 65는 세컨더리 비디오의 필드 Fy를 역 위상의 프라이머리 비디오의 필드와 동시에 표시하는 케이스를 나타내는 도면이다. 본 도의 케이스에서 PiP_metadata_block에서의 PiP_horizontal_position 및 PiP_vertical_ position에 의해 규정하는 좌표 (Px, Py)의 Py는 프라이머리 비디오 필드에서의 복수의 기수 라인 중 하나(도면 중의 odd 1)에서 선택한다. 이렇게 함으로써 픽처 인 픽처는 재생출력이 가능한 패턴이 된다.
도 66은 세컨더리 비디오의 필드 중 프라이머리 비디오의 필드의 우수 라인에 표시하는 케이스를 나타내는 도면이다. 본 도의 케이스에서 PiP_metadata_block에서의 PiP_metadata_time_stamp에 의해 규정하는 시점 Ty는 동 위상의 프라이머리 비디오의 필드가 표시되는 시점에서 선택한다. 이렇게 함으로써 픽처 인 픽처는 재생출력이 가능한 패턴이 된다.
도 67은 세컨더리 비디오의 필드 중 프라이머리 비디오의 필드의 기수 라인에 표시하는 케이스를 나타내는 도면이다. 본 도의 케이스에서 PiP_metadata_block에서의 PiP_metadata_time_stamp에 의해 규정하는 시점 Ty는 역 위상의 프라이머리 비디오의 필드가 표시되는 시점에서 선택한다. 이렇게 함으로써 픽처 인 픽처는 재생출력이 가능한 패턴이 된다.
세컨더리 비디오의 시점을 이상적으로 하고자 하는 경우라도, 세컨더리 비디오의 좌표를 이상적으로 하고자 하는 경우라도, 무엇을 이상적인 것으로 하고자 하는가에 따라서 재생출력이 가능해지는 조합을 만들 수 있다. 이에 의해 편집단계에서 재생출력이 정상적으로 이루어지는 것을 보장할 수 있다.
(제 9 실시 예)
본 실시 예는 앞의 실시 예에서 설명한 것과 같은 PiP_metadata_block에 대 한 조정이 편집시에 이루어지지 않은 경우에, 이를 재생장치 측에서 보충하는 갸량에 관한 것이다.
본 실시 예의 재생장치는 픽처 인 픽처에서의 합성패턴이 도 62 (a)에 도시한 것인가, 또는 도 62 (b)에 도시한 것인가를 체크한다. 도 62 (b)에 도시한 것이면 재생장치가 도 64 내지 도 67과 같은 수정을 하는 것이다. 이와 같이 함으로써 인스턴스를 픽처 인 픽처 하기 위한 PiP_metadata_time_stamp, PiP_horizontal_position 및 PiP_vercital_position에 대한 조정이 편집시에 이루어져 있지 않아도 픽처 인 픽처를 실행할 수 있다.
이상과 같이, 본 실시 예에 의하면 픽처 인 픽처를 실현하기 위한 조정이 편집시에 이루어져 있지 않아도 재생장치 측에서 이를 보완할 수 있다.
(제 10 실시 예)
본 실시 예는 각 실시 예의 재생장치에 패키지 매체 대상을 위해 JavaTM 2Micro_Edition(J2ME) Personal Basis Profile(PBP 1.0)과 Globally Executable MHP specification(GEM 1.0.2)를 실장함으로써 JavaTM 플랫폼을 구성하여, BD-J 재생장치가 애플리케이션을 실행하도록 하는 경우의 개량이다.
제 1 실시 예에서 설명한 바와 같이, 플레이리스트 정보에는 MainPath 정보와 SubPath 정보가 존재하며, MainPath 정보가 플라이머리 비디오 스트림을 지정하고 있고, SubPath 정보에서의 SubPlayItem이 세컨더리 비디오 스트림을 지정하고 있으므로, Java 애플리케이션이 플레이리스트를 재생하는 JMF 플레이어 인스턴스의 생성을 Java 가상머신에 명령함으로써 Java 애플리케이션은 픽처 인 픽처 재생을 재생장치가 행하게 할 수 있다. 이 생성은 JMF A "BD://00001.mpls"라고 하는 메소드(method)를 이용하여 하는 것이 바람직하다.
또한, 프라이머리 비디오 스트림에 대한 재생구간을 지정한 PlayItem 정보의 JMF 플레이어 인스턴스와 세컨더리 비디오 스트림에 대한 재생구간을 지정한 SubPlayItem 정보에 대한 JMF 플레이어 인스턴스를 Java 가상머신에 생성시켜서, 이들 2개의 플레이어 인스턴스에 의한 재생을 재생장치가 행하게 해도 좋다.
(비고)
이상, 본원의 출원시점에서 출원인이 알 수 있는 최선의 실시 예에 대해서 설명하였다. 그러나 이하에 설명하는 기술적 토픽에 대해서는 더 개량이나 변경을 부가할 수 있다. 각 실시 예에서 설명한 것과 같이 실시하거나, 이들의 개량 또는 변경을 하는가는 모두 임의적이며, 실시자의 주관에 의한 것임을 유의하기 바란다.
(타이틀)
BD-ROM의 장전이나 사용자 조작, 장치의 상태에 따라서 타이틀을 선택하는 "모듈 매니저"를 재생장치에 설치하는 것이 바람직하다. BD-ROM 재생장치 내의 디코더는 이 "모듈 매니저"에 의한 타이틀 선택에 따라서 플레이리스트 정보에 의거한 AVClip의 재생을 한다.
애플리케이션 매니저는 "모듈 매니저"가 타이틀의 선택을 할 때 이전의 타이틀에 대응하는 애플리케이션 관리테이블(ATM)과 현재 타이틀에 대응하는 ATM을 이 용하여 시그널링(signaling)을 실행한다. 이 시그널링은 이전의 타이틀에 대응하는 ATM에는 기재되어 있으나 현재 타이틀에 대응하는 ATM에는 기재되어 있지 않은 애플리케이션의 동작을 종료시키고, 이전의 타이틀에 대응하는 ATM에는 기재되어 있지 않고 현재 타이틀에 대응하는 ATM에는 기재되어 있는 애플리케이션의 동작을 개시하도록 하는 제어를 한다.
(로컬 기억장치 내의 디렉터리 구성)
각 실시 예에서 설명한 로컬 기억장치 내의 각 영역은 BD-ROM에서의 디스크 루트 증명서(disks root certificate)에 대응하는 디렉터리의 하부에 설치되는 것이 바람직하다.
디스크 루트 증명서란, 이 BD-ROM을 작성한 자가 루트 인증국으로부터 배포 받은 루트 증명서를 BD-ROM에 할당한 것이다. 디스크 루트 증명서는 예를 들어 X.509으로 부호화되어 있다. X.509의 사양은 국제전신전화자문위원회에 의해 발행되어 있고, CCITT Recommendation X.509 (1988), "The Directory - Authentication Framework"에 기재되어 있다.
또, BD-ROM 및 로컬 기억장치의 기록내용은 Advanced Access Content System(AACS)에 의해 암호화되고, 서명정보가 부가되어서, 이용권한이 퍼미션 파링(permission file)에 규정되어 있는 것이 바람직하다.
(제어순서의 실현)
각 실시 예에서 플로차트를 이용하여 설명한 제어순서 및 기능적인 구성요소에 의한 제어순서는 하드웨어 자원을 이용하여 구체적으로 실현되고 있으므로, 자 연법칙을 이용한 기술적 사상의 창작이라고 할 수 있으며, "프로그램의 발명"으로서의 성립요건을 만족한다.
· 본 발명의 프로그램의 생산형태
본 발명의 프로그램은 컴퓨터가 실행할 수 있는 실행형식의 프로그램(오브젝트 프로그램)이며, 실시 예에 제시한 플로차트의 각 스텝 및 기능적 구성요소의 개개의 순서를 컴퓨터가 실행하도록 하는 하나 이상의 프로그램 코드로 구성된다. 여기서 프로그램 코드란, 프로세서의 네이티브 코드(native code), JavaTM 바이트 코드와 같이 다양한 종류가 있다. 또, 프로그램 코드에 의한 각 스텝의 실현에는 다양한 형태가 있다. 외부 함수를 이용하여 각 스텝을 실현할 수 있는 경우에는 이 외부 함수를 호출하는 호출문이 프로그램 코드가 된다. 또, 하나의 스텝을 실현하는 프로그램 코드가 별개의 오브젝트 프로그램에 귀속되는 경우도 있다. 명령의 종류가 제한되어 있는 RISC 프로세서에서는 산술연산명령이나 논리연산명령, 분기명령 등을 조합시킴으로써 플로차트의 각 스텝이 실현되는 경우도 있다.
본 발명에서의 프로그램은 이하와 같이 하여 제작할 수 있다. 먼저, 소프트웨어 개발자는 프로그래밍 언어를 이용하여 각 플로차트 및 기능적인 구성요소를 실현하는 소스프로그램을 기술한다. 이 기술에 있어서 소프트웨어 개발자는 프로그래밍 언어의 구문에 따라서 클래스 구조체나 변수, 배열변수, 외부 함수의 호출을 이용하여 각 플로차트 및 기능적인 구성요소를 구현하는 소스프로그램을 기술한다.
기술된 소스프로그램은 파일로서 컴파일러에 보내진다. 컴파일러는 이들 소 스프로그램을 번역해서 오브젝트 프로그램을 생성한다.
컴파일러에 의한 번역은 구문해석, 최적화, 자원할당, 코드생성이라는 과정으로 이루어진다. 구문해석에서는 소스프로그램의 자구해석, 구문해석 및 의미해석을 하여, 소스프로그램을 중간프로그램으로 변환한다. 최적화에서는 중간프로그램에 대해서 기본 블록화, 제어 플로 해석, 데이터 플로 해석이라는 작업을 한다. 자원할당에서는 타깃이 되는 프로세서의 명령 세트에 대한 적합을 도모하기 위해, 중간프로그램 중의 변수를 타깃이 되는 프로세서의 프로세서가 가지고 있는 레지스터 또는 메모리에 할당한다. 코드생성에서는 중간프로그램 내의 각 중간명령을 프로그램 코드로 변환하여 오브젝트 프로그램을 얻는다.
오브젝트 프로그램이 생성되면 프로그래머는 이들에 대해서 링커를 기동한다. 링커는 이들 오브젝트 프로그램 및 관련하는 라이브러리 프로그램을 메모리공간에 할당하고, 이들을 하나로 결합하여 로드 모듈을 생성한다. 이와 같이 하여 생성되는 로드 모듈은 컴퓨터에 의한 판독을 전제로 한 것이며, 각 플로차트에 제시한 처리순서 및 기능적인 구성요소의 처리순서를 컴퓨터가 실행하게 하는 것이다. 이상의 처리를 거쳐서 본 발명의 프로그램을 제작할 수 있다.
본 발명의 프로그램은 이하와 같이 사용할 수 있다. 본 발명의 프로그램을 내장 프로그램으로 사용하는 경우, 프로그램으로서의 로드 모듈을 기본 입출력시스템(BIOS) 및 다양한 미들웨어(오퍼레이션 시스템)와 함께 명령 ROM에 기록한다. 이 명령 ROM을 제어부에 내장함으로써 본 발명의 프로그램을 재생장치의 제어프로그램으로 사용할 수 있다.
재생장치가 부트 스트랩 모듈인 경우에는 기본 입출력시스템(BIOS)이 명령 ROM에 내장되어 있고, 다양한 미들웨어(오퍼레이션 시스템)가 하드디스크 등의 2차 기록매체에 프리 인스톨 되어 있다. 또, 2차 기억매체로부터 시스템을 기동하기 위한 부트 ROM이 재생장치에 설치되어 있다. 이 경우, 로드 모듈만을 휴대형 기록매체나 네트워크를 통해서 재생장치에 공급하여, 하나의 애플리케이션으로서 2차 기록매체에 인스톨 한다. 그렇게 하면 재생장치는 부트 ROM에 의한 부트 스트랩을 행하여 오퍼레이션 시스템을 기동한 상태에서, 하나의 애플리케이션으로서 당해 애플리케이션을 CPU에 실행시켜서 본 발명의 프로그램을 사용한다.
앞에서 설명한 바와 같이, 부트 스트랩 모델의 재생장치에서는 본 발명을 하나의 애플리케이션으로서 사용할 수 있으므로, 본 발명의 프로그램을 단일체로 양도, 대여하거나, 네트워크를 통해서 공급할 수 있다.
(컨트롤러(22))
컨트롤러(22)는 1개의 시스템 LSI로서 실현할 수 있다.
시스템 LSI란, 고밀도 기판상에 베어 칩을 실장하여 패키징한 것을 말한다. 복수 개의 베어 칩을 고밀도 기판상에 실장하여 패키징함으로써 마치 하나의 LSI와 같은 외형 구조를 복수 개의 베어 칩이 가지도록 한 것도 시스템 LSI에 포함된다(이와 같은 시스템 LSI를 멀티 칩 모듈이라고 한다).
여기서 패키지의 종별에 주목하면, 시스템 LSI에는 QFP(Quad Flat Package) 타입, PGA(Pin Grid Array) 타입이라는 종류가 있다. QFP는 패키지의 4 측면에 핀이 부착된 시스템 LSI이다. PGA는 밑면 전체에 많은 핀이 부착된 시스템 LSI이다.
이들 핀은 다른 회로와의 인터페이스로서의 역할을 담당하고 있다. 시스템 LSI에서의 핀에는 이와 같은 인터페이스로서의 역할이 존재하므로, 시스템 LSI에서의 이들 핀에 다른 회로를 접속함으로써 시스템 LSI는 재생장치의 중핵으로서의 역할을 담당한다.
앞에서 "내장 프로그램"으로서의 사용에서 설명한 바와 같이, 명령 ROM에는 프로그램으로서의 로드 모듈 및 기본 입출력시스템(BIOS)과 다양한 미들웨어(오퍼레이션 시스템)가 기록된다. 본 실시 예에서 특히 창작한 것은 이 프로그램으로서의 로드 모듈 부분이므로, 프로그램으로서의 로드 모듈을 저장한 명령 ROM을 내부에 실장함으로써 본 발명의 시스템 LSI를 생산할 수 있다.
구체적인 생산순서의 상세는 이하와 같다. 먼저, 각 실시 예에 제시한 구성도를 기초로 하여 시스템 LSI로 할 부분의 회로도를 작성하고, 회로소자, IC, LSI를 사용하여 구성도에서의 구성요소를 구현한다.
이렇게 하여 각 구성요소를 구현하면 회로소자, IC, LSI 사이를 접속하는 버스 및 그 주변회로, 외부와의 인터페이스 등을 규정한다. 또한 접속 선, 전원라인, 접지라인, 블록신호 선 등도 규정한다. 이 규정에서, LSI의 스팩을 고려하여 각 구성요소의 동작 타이밍을 조정하고, 각 구성요소에 필요한 밴드 폭을 보증하는 등이 조정을 부가하면서 회로도를 완성한다.
회로도가 완성되면 실장 설계를 한다. 실장 설계란, 회로설계에 의해 작성된 회로도상의 부품(회로소자, IC, LSI)을 기판상의 어디에 배치하는가, 혹은, 회로도상의 접속 선을 기판상에 어떻게 배선하는가를 결정하는 기판 레이아웃 작업이다.
여기서 실장 설계는 자동배치와 자동배선으로 이루어진다.
CAD장치를 이용하는 경우, 이 자동배치는 "중심법"이라고 불리는 전용의 알고리즘을 이용하여 실현할 수 있다. 자동배선은 회로도 상의 부품이 핀 끼리 접속하는 접속 선을 금속 박이나 비어를 이용하여 규정한다. CAD장치를 이용하는 경우, 이 배선처리는 "메즈법(maze method)" 및 "라인 서치법(line searchmethod)"이라고 불리는 전용 알고리즘을 이용하여 실현할 수 있다.
이와 같이 하여 실장 설계가 이루어져서 기판상의 레이아웃이 확정되면, 실장 설계 결과를 CAM 데이터로 변환하여 NC 공작기계 등의 설비에 출력한다. NC 공작기계는 이 CAM 데이터를 기초로 SoC 실장 또는 SiP 실장을 한다. SoC(System on Chip) 실장이란, 1 칩 상에 복수의 회로를 형성하는 기술이다. SiP(System in Package) 실장은 복수의 칩을 수지 등에 의해 1 패키지로 하는 기술이다. 이상의 과정을 거쳐서 본 발명의 시스템 LSI를 각 실시 예에 제시한 재생장치의 내부 구성도에 의거하여 제작할 수 있다.
또한, 상술한 것과 같이 하여 생성되는 집적회로는 집적도의 차이에 따라서 IC, LSI, 슈퍼 LSI, 울트라 LSI라고 부르는 경우도 있다.
또한, 각 기록배생장치의 구성요소의 일부 또는 전부를 하나의 칩으로 구성해도 좋다. 집적회로화란, 상술한 SoC 실장이나 SiP 실장에 한정되는 것은 아니며, 전용회로 또는 범용 프로세서에 의해 실현해도 된다. LSI 제조 후에 프로그램할 수 있는 FPGA(Field Programmable Gate Array)나 LSI 내부의 회로 셀의 접속 및 설정을 재구성할 수 있는 재구성 가능 프로세서(reconfigurable processor)를 사용할 수 있다. 또한, 반도체기술의 진전 또는 파상하는 기술에 의해 LSI를 치환하는 집적회로화 기술이 등장하면 당연히 그 기술을 이용하여 기능 블록의 집적회로화를 해도 된다. 예를 들어 바이오 기술의 적응 등이 가능성으로 있을 수 있다.
(아키텍처)
본 발명의 시스템 LSI는 BD-ROM 재생장치에 설치하는 것을 상정하고 있으므로, 시스템 LSI는 유니피어 아키텍처(Uniphier architecture)에 준거하도록 하는 것이 바람직하다.
유니피어 아키텍처에 준거한 시스템 LSI는 이하의 회로 블록으로 구성된다.
· 데이터 병렬 프로세서 DPP
이것은 복수의 요소 프로세서가 동일 동작을 하는 SIM형 프로세서이며, 각 요소 프로세서에 내장되어 있는 연산기를 하나의 명령으로 동시에 동작시킴으로써 픽처를 구성하는 복수 화소에 대한 디코드 처리의 병렬화를 한다. 이와 같은 병렬화의 실현에 의해 비디오 스트림에 대한 디코드를 실현한다. 앞에서 설명한 비디오 디코더는 이 데이터 병렬 프로세서로서 실장된다.
· 명령 병렬 프로세서
이것은 명령 RAM, 명령 캐시(instruction cache), 데이터 RAM, 데이터 캐시로 이루어지는 "로컬 메모리 컨트롤러(Local Memory Controller)", 명령 페치부, 디코더, 실행 유닛, 레지스터 파일로 이루어지는 "프로세싱부", 복수 애플리케이션의 병렬 실행을 프로세싱부가 행하도록 하는 "가상 멀티 프로세서부"로 구성된다. 비디오 디코더 이외의 그래픽스 디코더 및 오디오 디코더는 이 병렬 명령 프로세서 IPP로서 시스템 LSI 내에 실장된다.
· CPU 블록
이것은 ARM 코어, 외부 버스 인터페이스(Bus Control Unit : BCU), DMA 컨트롤러, 타이머, 벡터 인터럽트 컨트롤러와 같은 주변회로, UART, GPIO(General Purpose Input Output), 동기 시리얼 인터페이스 등의 주변 인터페이스로 구성된다. 앞에 설명한 컨트롤러는 이 CPU 블록으로서 시스템 LSI에 실장된다.
· 스트림 I/O 블록
이것은 USB 인터페이스나 ATA 인터페이스를 개재하여 외부 버스 상에 접속된 BD-ROM 드라이브장치, 하드디스크 드라이브장치, SD 메모리카드 드라이브장치와의 데이터의 입출력을 한다.
· AV I/O 블록
이것은 오디오 입출력, 비디오 입출력, OSD 컨트롤러로 구성되며, 텔레비전, AV 앰프와의 데이터 입출력을 한다.
· 메모리 제어블록
이것은 외부 버스를 개재하여 접속된 SD-RAM의 판독을 실현하는 블록이며, 각 블록 간의 내부 접속을 제어하는 내부 버스 제어부, 시스템 LSI 외부에 접속된 SD-RAM과의 데이터 전송을 하는 액세스 제어부, 각 블록으로부터의 SD-RAM의 액세스 요구를 조정하는 액세스 스케줄부로 이루어진다.
이와 같은 아키텍처에 준거한 시스템 LSI의 제조에서는 IPP 및 DPP 등의 회로블록별로 레이아웃 설계를 하고, 각 회로블록의 성능을 먼저 최적화한 다음에, 각 블록을 조립하여 1 칩 레이아웃을 완성시키는 bottom-up 방식의 레이아웃 방법을 채용하는 것이 바람직하다.
본 발명의 기록매체 및 재생장치는 상기 실시 예에 내부 구성이 개시되어 있고, 이 내부 구성에 의거하여 양산되는 것이 명백하므로, 자질에 있어서 공업상 이용할 수 있으며, 이 점에서 본 발명의 재생장치는 산업상 이용 가능성이 있다.

Claims (29)

  1. 복수의 비디오 스트림 및 테이블이 기록된 기록매체로,
    상기 복수의 비디오 스트림 각각은 프라이머리 비디오 스트림과 함께 재생되는 세컨더리 비디오 스트림이며, 픽처 인 픽처를 구성하는 친 화상(parent image) 및 자 화상(child image) 중 자 화상으로 표시되어야 하는 픽처 데이터를 포함하고,
    상기 테이블에는 상기 복수의 세컨더리 비디오 스트림 중 재생이 허가되어 있는 것의 엔트리가 기술되어 있고, 프라이머리 비디오 스트림 및 세컨더리 비디오 스트림은 복수의 패킷으로 구성되며,
    세컨더리 비디오 스트림을 구성하는 패킷에 부여되어 있는 패킷 식별자는 상위 필드 및 하위 필드로 이루어지며, 당해 상위 필드는 프라이머리 비디오 스트림을 구성하는 패킷의 패킷 식별자의 상위 필드와 다른 값을 저장하고 있고,
    상기 테이블에서의 엔트리는 세컨더리 비디오 스트림을 구성하는 패킷의 패킷 식별자를 포함하는 것을 특징으로 하는 기록매체.
  2. 삭제
  3. 청구항 1에 있어서,
    기록매체에서의 테이블에는 오디오 스트림의 엔트리 및 조합정보가 더 기술되어 있고,
    조합정보는 오디오 스트림 중 세컨더리 비디오 스트림과의 재생의 조합이 허가되어 있는 복수의 것의 엔트리를 세컨더리 비디오 스트림의 패킷 식별자와 대응시켜서 나타내는 것을 특징으로 하는 기록매체.
  4. 청구항 1에 있어서,
    기록매체에서의 테이블에는 재생이 허가되어 있는 자막 스트림의 엔트리, 제 1 개수, 제 2 개수 및 조합정보가 더 기술되어 있고,
    제 1 개수는 자막 스트림 엔트리 중 픽처 인 픽처의 비 실행시에 있어서 재생이 허가되어 있는 자막 스트림 엔트리의 개수를 나타내고,
    제 2 개수는 픽처 인 픽처의 실행시에 있어서 제 1 개수에 추가하여 재생이 허가되는 자막 스트림 엔트리의 개수를 나타내며,
    상기 조합정보는 자막 스트림 중 세컨더리 비디오 스트림과의 재생의 조합이 허가되어 있는 복수의 것의 엔트리를 상기 세컨더리 비디오 스트림의 패킷 식별자와 대응시켜서 나타내는 것을 특징으로 하는 기록매체.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 재생장치로,
    기록매체에서 프라이머리 비디오 스트림 및 세컨더리 비디오 스트림을 판독하는 판독수단과,
    상기 기록매체에서 판독된 복수의 세컨더리 비디오 스트림에 대해서 소정의 순서를 3실행하여 재생할 세컨더리 비디오 스트림을 선택하는 선택수단과,
    선택된 세컨더리 비디오 스트림의 스트림 번호를 저장하는 상태레지스터와,
    프라이머리 비디오 스트림을 디코드하는 제 1 디코더와,
    세컨더리 비디오 스트림을 디코드하는 제 2 디코더와,
    프라이머리 비디오 스트림을 디코드함으로써 얻어진 픽처 중에 선택수단에 의해 선택된 세컨더리 비디오 스트림을 디코드함으로써 얻어진 픽쳐를 합성함으로써 픽처 인 픽처를 실현하는 제어부를 구비하며,
    기록매체에는 테이블이 기록되어 있고, 당해 테이블에는 재생이 허가된 세컨더리 비디오 스트림에 대한 엔트리가 기술되어 있으며,
    상기 엔트리에는 대응하는 세컨더리 비디오 스트림을 구성하는 패킷의 패킷 식별자가 기술되어 있고,
    상기 소정의 순서의 실행에 의한 세컨더리 비디오 스트림의 선택은 이 테이블에 의거하며,
    상기 재생장치는,
    스트림 테이블에 포함되는 세컨더리 비디오 스트림의 엔트리 중 상태레지스터에 저장되어 있는 스트림 번호에 대응하는 것에 기술되어 있는 패킷 식별자의 상위 필드와 기록매체로부터 판독된 세컨더리 비디오 스트림을 구성하는 패킷의 패킷 식별자의 상위 필드를 비교하여, 당해 비교에서 상위 필드가 일치하는 경우, 기록매체로부터 판독된 세컨더리 비디오 스트림을 구성하는 패킷을 제 2 비디오 디코더에 출력하는 다중분리부를 구비하는 것을 특징으로 하는 재생장치.
  15. 삭제
  16. 청구항 14에 있어서,
    상기 기록매체에는 테이블이 기록되어 있고,
    테이블에는 세컨더리 비디오 스트림에 대한 엔트리가 기술되어 있으며,
    상기 소정의 순서는, 각 세컨더리 비디오 스트림을 디코드하는 능력이 재생장치에 존재하는가 여부를 판정하고, 디코드 능력이 있다고 판정된 세컨더리 비디오 스트림 중 테이블에서의 대응하는 엔트리의 우선순위가 가장 높은 것을 선택하는 것을 특징으로 하는 재생장치.
  17. 청구항 16에 있어서,
    상기 세컨더리 비디오 스트림의 디코드 능력은 50프레임/초 또는 25프레임/초의 비디오 스트림을 디코드하여 재생출력하는 능력인 것을 특징으로 하는 재생장치.
  18. 청구항 16에 있어서,
    상기 세컨더리 비디오 스트림의 디코드 능력은 HDTV방식의 픽처를 디코드하여 재생하는 능력인 것을 특징으로 하는 재생장치.
  19. 청구항 14에 있어서,
    상기 소정의 순서는 상기 세컨더리 비디오 스트림이 비 동기타입의 재생구간에서 지정되어 있는가 여부의 판정을 포함하고,
    비 동기타입의 재생구간에서 지정되어 있는 경우에는 상기 상태레지스터에는 특별한 값이 설정되며,
    상기 특별한 값은 상태레지스터에 저장된 스트림 번호는 유효하나, 세컨더리 비디오 스트림은 비 선택이라는 취지를 나타내는 값인 것을 특징으로 하는 재생장치.
  20. 청구항 14에 있어서,
    상기 기록매체에는 프라이머리 오디오 스트림이 기록되어 있고,
    상기 기록매체에서의 세컨더리 비디오 스트림별 엔트리에는 조합정보가 대응되어 있으며,
    조합정보는 오디오 스트림 중 세컨더리 비디오 스트림과의 재생의 조합이 허가되어 있는 복수의 것의 엔트리를 세컨더리 비디오 스트림의 패킷 식별자와 대응시켜서 나타내고,
    상기 재생장치는 제 1 오디오 디코더, 제 2 오디오 디코더 및 믹싱부를 구비하며,
    상기 선택수단은, 프라이머리 오디오 스트림 중 하나를 선택하는 동시에 세컨더리 오디오 스트림 중 하나를 선택하여, 그들 프라이머리 오디오 스트림 및 세컨더리 오디오 스트림의 디코드를 제 1, 제 2 오디오 디코더에 실행시키고, 디코드 결과 얻어지는 비 압축 디지털 오디오의 믹싱을 믹싱부에 실행시키며,
    상기 픽처 인 픽처 시에 있어서 선택수단이 선택하는 세컨더리 오디오 스트림은 테이블에 엔트리가 기술되어 있는 세컨더리 오디오 스트림 중 현재 선택되어 있는 세컨더리 비디오 스트림과의 조합이 조합정보에서 허가되어 있는 오디오 스트림인 것을 특징으로 하는 재생장치.
  21. 청구항 14에 있어서,
    기록매체에서의 테이블에는 재생이 허가되어 있는 자막 스트림 엔트리, 제 1 개수, 제 2 개수 및 조합정보가 더 기술되어 있고,
    제 1 개수는 자막 스트림 엔트리 중 픽처 인 픽처의 비 실행시에 재생이 허가되어 있는 자막 스트림의 엔트리의 개수를 나타내며,
    제 2 개수는 픽처 인 픽처의 실행시에 있어서 제 1 개수에 추가하여 재생이 허가되는 자막 스트림의 엔트리의 개수를 나타내고,
    상기 재생장치는,
    자막 디코더와,
    자막 스트림 중 하나를 선택해서, 그 자막 스트림의 디코드를 자막 디코더가 실행시키는 자막 선택부를 구비하며,
    상기 픽처 인 픽처 시에 있어서 자막선택수단이 선택하는 자막 스트림은 테이블에 엔트리가 기술되어 있는 자막 스트림 중 제 1 개수와 제 2 개수를 합한 수치범위에 속하는 스트림 번호를 갖는 자막 스트림인 것을 특징으로 하는 재생장치.
  22. 청구항 21에 있어서,
    상기 조합정보는 자막 스트림 중 세컨더리 비디오 스트림과의 재생의 조합이 허가되어 있는 복수의 것의 엔트리를 세컨더리 비디오 스트림의 패킷 식별자와 대응시켜서 나타내고,
    상기 픽처 인 픽처 시에 있어서 자막선택부가 선택하는 자막 스트림은 현재의 세컨더리 비디오 스트림과의 조합이 조합정보에서 허가되어 있는 자막 스트림의 번호인 것을 특징으로 하는 재생장치.
  23. 삭제
  24. 삭제
  25. 재생장치로,
    프라이머리 비디오 스트림 및 세컨더리 비디오 스트림을 다중화함으로써 얻어지는 다중화 스트림을 기록매체에서 판독하는 판독수단과,
    프라이머리 비디오 스트림에 의해 구성되는 픽처 중에 선택수단에 의해 선택된 세컨더리 비디오 스트림에 의해 구성되는 픽처를 합성함으로써 픽처 인 픽처를 실현하는 제어부를 구비하고,
    상기 기록매체에는 복수의 엔트리 맵이 기록되어 있으며,
    복수의 엔트리 맵은 프라이머리 비디오 스트림 및 세컨더리 비디오 스트림 각각에서의 액세스 유닛의 위치와 액세스 유닛의 표시시각을 대응시켜서 나타내고 있고,
    상기 판독수단은, 점프 재생의 명령이 있은 때에, 상기 비디오 스트림에서의 액세스 유닛으로서 점프 시점에 대응하는 것을 각 엔트리 맵에서 탐색하여, 탐색된 액세스 유닛의 어드레스 중 가장 전방에 위치하는 것부터 판독을 개시하는 것을 특징으로 하는 재생장치.
  26. 애플리케이션 데이터를 기록매체에 기록하는 기록방법으로,
    애플리케이션 데이터를 생성하는 스텝과,
    애플리케이션 데이터가 기입된 기록매체를 얻는 스텝을 구비하고,
    애플리케이션 데이터는 복수의 비디오 스트림 및 테이블을 포함하며,
    상기 복수의 비디오 스트림 각각은 프라이머리 비디오 스트림과 함께 재생되는 세컨더리 비디오 스트림이며, 픽처 인 픽처를 구성하는 친 화상 및 자 화상 중 자화상으로서 표시될 픽처 데이터를 포함하고,
    상기 테이블에는 복수의 세컨더리 비디오 스트림 중 재생이 허가되어 있는 것의 엔트리가 기술되어 있고, 프라이머리 비디오 스트림 및 세컨더리 비디오 스트림은 복수의 패킷으로 구성되며,
    세컨더리 비디오 스트림을 구성하는 패킷에 부여되어 있는 패킷 식별자는 상위 필드 및 하위 필드로 이루어지며, 당해 상위 필드는 프라이머리 비디오 스트림을 구성하는 패킷의 패킷 식별자의 상위 필드와 다른 값을 저장하고 있고,
    상기 테이블에서의 엔트리는 세컨더리 비디오 스트림을 구성하는 패킷의 패킷 식별자를 포함하는 것을 특징으로 하는 기록방법.
  27. 프라이머리 비디오 스트림을 디코드함으로써 얻어진 비 압축 픽처 중에 세컨더리 비디오 스트림을 디코드함으로써 얻어진 비 압축 픽처를 합성함으로써 픽처 인 픽처를 실현하는 재생방법으로,
    기록매체에서 프라이머리 비디오 스트림 및 세컨더리 비디오 스트림을 판독하는 판독스텝과,
    기록매체로부터 판독된 복수의 세컨더리 비디오 스트림에 대해 소정의 순서를 실행하여 재생할 세컨더리 비디오 스트림을 선택하는 선택스텝과,
    프라이머리 비디오 스트림을 디코드하는 제 1 디코드 스텝과,
    세컨더리 비디오 스트림을 디코드하는 제 2 디코드 스텝과,
    프라이머리 비디오 스트림을 디코드함으로써 얻어진 픽처 중에 선택스텝에 의해 선택된 세컨더리 비디오 스트림을 디코드함으로써 얻어진 픽쳐를 합성함으로써 픽처 인 픽처를 실현하는 제어스텝을 포함하며,
    상기 기록매체에는 테이블이 기록되어 있고, 당해 테이블에는 재생이 허가된 세컨더리 비디오 스트림에 대한 엔트리가 기술되어 있으며, 상기 엔트리에는 대응하는 세컨더리 비디오 스트림을 구성하는 패킷의 패킷 식별자가 기술되어 있고,
    상기 소정의 순서의 실행에 의한 세컨더리 비디오 스트림의 선택은 이 테이블에 의거하며,
    상기 재생방법은,
    스트림 테이블에 포함되는 세컨더리 비디오 스트림의 엔트리 중 상태레지스터에 저장되어 있는 스트림 번호에 대응하는 것에 기술되어 있는 패킷 식별자의 상위필드와 기록매체로부터 판독된 세컨더리 비디오 스트림을 구성하는 패킷의 패킷 식별자의 상위필드를 비교하여, 당해 비교에서 상위필드가 일치하는 경우, 기록매체로부터 판독된 세컨더리 비디오 스트림을 구성하는 패킷을 디코드에 제공하는 것을 특징으로 하는 재생방법.
  28. 시스템 LSI로,
    기록매체로부터 프라이머리 비디오 스트림과 복수의 세컨더리 비디오 스트림이 판독되면, 기록매체로부터 판독된 복수의 세컨더리 스트림에 대해 소정의 순서를 실행하여 재생할 세컨더리 비디오 스트림을 선택하는 선택수단과,
    선택된 세컨더리 비디오 스트림의 스트림 번호를 저장하는 상태레지스터와,
    프라이머리 비디오 스트림을 디코드하는 제 1 디코더와,
    세컨더리 비디오 스트림을 디코드하는 제 2 디코더와,
    프라이머리 비디오 스트림을 디코드함으로써 얻은 픽처 중에 선택수단에 의해 선택된 세컨더리 비디오 스트림을 디코드함으로써 얻은 픽처를 합성함으로써 픽처 인 픽처를 실현하는 제어부를 구비하며,
    상기 기록매체에는 테이블이 기록되어 있고, 당해 테이블에는 재생이 허가된 세컨더리 비디오 스트림에 대한 엔트리가 기술되어 있고,
    상기 엔트리에는 대응하는 세컨더리 비디오 스트림을 구성하는 패킷의 패킷 식별자가 기술되어 있고,
    상기 소정의 순서의 실행에 의한 세컨더리 비디오 스트림의 선택은 이 테이블에 의거하며,
    상기 시스템 LSI는,
    스트림 테이블에 포함되는 세컨더리 비디오 스트림의 엔트리 중 상태레지스터에 저장되어 있는 스트림 번호에 대응하는 것에 기술되어 있는 패킷 식별자의 상위 필드와 기록매체로부터 판독된 세컨더리 비디오 스트림을 구성하는 패킷의 패킷 식별자의 상위 필드를 비교하여, 당해 비교에서 상위 필드가 일치하는 경우, 기록매체로부터 판독된 세컨더리 비디오 스트림을 구성하는 패킷을 제 2 비디오 디코더에 출력하는 다중분리부를 구비하는 것을 특징으로 하는 시스템 LSI.
  29. 프라이머리 비디오 스트림을 디코드함으로써 얻어진 비 압축 픽처 중에 세컨더리 비디오 스트림을 디코드함으로써 얻어진 비 압축 픽처를 합성함으로써 픽처 인 픽처를 컴퓨터에 실행시키는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체로,
    기록매체에서 프라이머리 비디오 스트림 및 세컨더리 비디오 스트림을 판독하는 판독스텝과,
    기록매체로부터 판독된 복수의 세컨더리 비디오 스트림에 대해 소정의 순서를 실행하여 재생할 세컨더리 비디오 스트림을 선택하는 선택스텝과,
    프라이머리 비디오 스트림을 디코드하는 제 1 디코드 스텝과,
    세컨더리 비디오 스트림을 디코드하는 제 2 디코드 스텝과,
    프라이머리 비디오 스트림을 디코드함으로써 얻어진 픽처 중에 선택스텝에 의해 선택된 세컨더리 비디오 스트림을 디코드함으로써 얻어진 픽쳐를 합성함으로써 픽처 인 픽처를 실현하는 제어스텝을 컴퓨터에 실행시키는 코드를 포함하며,
    상기 기록매체에는 테이블이 기록되어 있고, 당해 테이블에는 재생이 허가된 세컨더리 비디오 스트림에 대한 엔트리가 기술되어 있으며, 상기 엔트리에는 대응하는 세컨더리 비디오 스트림을 구성하는 패킷의 패킷 식별자가 기술되어 있고,
    상기 소정의 순서의 실행에 의한 세컨더리 비디오 스트림의 선택은 이 테이블에 의거하며,
    상기 프로그램은,
    스트림 테이블에 포함되는 세컨더리 비디오 스트림의 엔트리 중 상태레지스터에 저장되어 있는 스트림 번호에 대응하는 것에 기술되어 있는 패킷 식별자의 상위필드와 기록매체로부터 판독된 세컨더리 비디오 스트림을 구성하는 패킷의 패킷 식별자의 상위필드를 비교하여, 당해 비교에서 상위필드가 일치하는 경우, 기록매체로부터 판독된 세컨더리 비디오 스트림을 구성하는 패킷을 디코드에 제공하는 것을 특징으로 하는 컴퓨터 판독 가능한 기록매체.
KR1020087005102A 2005-08-09 2006-08-08 기록매체, 재생장치, 재생방법, 프로그램 KR101375067B1 (ko)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US70687105P 2005-08-09 2005-08-09
US70706605P 2005-08-09 2005-08-09
US70693705P 2005-08-09 2005-08-09
US70689705P 2005-08-09 2005-08-09
US60/707,066 2005-08-09
US60/706,937 2005-08-09
US60/706,897 2005-08-09
US60/706,871 2005-08-09
JPJP-P-2006-00127502 2006-05-01
JP2006127502 2006-05-01
PCT/JP2006/315991 WO2007018308A1 (en) 2005-08-09 2006-08-08 Recording medium, playback apparatus, method and program

Publications (2)

Publication Number Publication Date
KR20080033488A KR20080033488A (ko) 2008-04-16
KR101375067B1 true KR101375067B1 (ko) 2014-03-17

Family

ID=37312018

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087005102A KR101375067B1 (ko) 2005-08-09 2006-08-08 기록매체, 재생장치, 재생방법, 프로그램

Country Status (9)

Country Link
US (6) US8452165B2 (ko)
EP (6) EP2144246A3 (ko)
JP (5) JP4898890B2 (ko)
KR (1) KR101375067B1 (ko)
CN (6) CN101238518B (ko)
AR (2) AR054904A1 (ko)
AU (1) AU2006277225B2 (ko)
TW (2) TWI398857B (ko)
WO (1) WO2007018308A1 (ko)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4968506B2 (ja) * 2005-03-04 2012-07-04 ソニー株式会社 再生装置、再生方法、およびプログラム
KR20070022580A (ko) * 2005-08-22 2007-02-27 엘지전자 주식회사 데이터 재생방법 및 재생장치, 기록매체와 데이터 기록방법및 기록장치
US20070041712A1 (en) * 2005-08-22 2007-02-22 Lg Electronics Method and apparatus for reproducing data, recording medium, and method and apparatus for recording data
KR101306706B1 (ko) * 2006-11-09 2013-09-11 엘지전자 주식회사 디지털 티브이와 연결된 외부기기 자동 설정 장치 및 방법
US7957603B2 (en) * 2006-12-29 2011-06-07 Intel Corporation Digital image decoder with integrated concurrent image prescaler
KR101125286B1 (ko) * 2007-03-27 2012-03-21 삼성전자주식회사 부가 데이터 업데이트 방법 및 재생 장치
JP2010525429A (ja) * 2007-04-11 2010-07-22 トムソン ライセンシング オーサリング・ツールおよびこれを実装するための方法
CN101682769B (zh) 2007-04-12 2016-11-09 汤姆森特许公司 用于视频编码和解码的跳过-直接模式的取决于环境的合并的方法和装置
JP2009027552A (ja) * 2007-07-20 2009-02-05 Funai Electric Co Ltd 光ディスク再生装置
US8515052B2 (en) 2007-12-17 2013-08-20 Wai Wu Parallel signal processing system and method
KR101259015B1 (ko) * 2008-02-29 2013-04-29 삼성전자주식회사 재생 방법 및 장치
KR20110042331A (ko) * 2008-07-28 2011-04-26 톰슨 라이센싱 2차 채널 비디오 스트림을 이용한 고속 채널 변경 방법 및 장치
RU2525751C2 (ru) * 2009-03-30 2014-08-20 Панасоник Корпорэйшн Носитель записи, устройство воспроизведения и интегральная схема
JP4957823B2 (ja) * 2009-04-08 2012-06-20 ソニー株式会社 再生装置および再生方法
JP5829604B2 (ja) * 2009-05-18 2015-12-09 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 3dトリックプレイのためのエントリー・ポイント
WO2011068807A1 (en) * 2009-12-01 2011-06-09 Divx, Llc System and method for determining bit stream compatibility
TWI470576B (zh) * 2010-02-01 2015-01-21 Ibm 動態圖片的動畫規劃方法與裝置
CN102196227A (zh) * 2010-03-11 2011-09-21 株式会社日立制作所 视频数据处理装置
GB2478726B (en) * 2010-03-15 2013-12-25 Advanced Risc Mach Ltd Mapping between registers used by multiple instruction sets
WO2011155099A1 (ja) * 2010-06-11 2011-12-15 三菱電機株式会社 映像表示装置
JP2013538482A (ja) * 2010-07-13 2013-10-10 トムソン ライセンシング マルチメディアアプリケーションのためのピクチャ・イン・ピクチャの方法
JP6136211B2 (ja) * 2012-11-21 2017-05-31 株式会社三洋物産 遊技機
EP2779577B1 (en) * 2013-03-15 2019-05-01 Samsung Electronics Co., Ltd. Data transmitting apparatus, data receiving apparatus, data transceiving system, method for transmitting data, and method for receiving data
KR102201826B1 (ko) * 2013-03-15 2021-01-12 삼성전자주식회사 데이터 전송 장치, 데이터 수신 장치, 데이터 송수신 시스템, 데이터 전송 방법 및 데이터 수신 방법
US10356484B2 (en) 2013-03-15 2019-07-16 Samsung Electronics Co., Ltd. Data transmitting apparatus, data receiving apparatus, data transceiving system, method for transmitting data, and method for receiving data
US10063782B2 (en) 2013-06-18 2018-08-28 Motorola Solutions, Inc. Method and apparatus for displaying an image from a camera
US9508252B2 (en) * 2014-05-06 2016-11-29 Lattice Semiconductor Corporation Control target selection
CN105338281B (zh) * 2014-06-27 2018-07-31 阿里巴巴集团控股有限公司 一种视频显示方法和装置
CN105812914B (zh) * 2014-12-29 2019-01-04 Tcl集团股份有限公司 一种视频的混合多路解码方法及装置
JP6760718B2 (ja) * 2015-07-22 2020-09-23 Run.Edge株式会社 動画再生プログラム、装置、及び方法
GB2540971B (en) 2015-07-31 2018-03-14 Advanced Risc Mach Ltd Graphics processing systems
KR102446880B1 (ko) * 2015-08-17 2022-09-26 삼성디스플레이 주식회사 표시 장치 및 이의 구동 방법
US11699266B2 (en) * 2015-09-02 2023-07-11 Interdigital Ce Patent Holdings, Sas Method, apparatus and system for facilitating navigation in an extended scene
JP6551428B2 (ja) * 2017-01-24 2019-07-31 株式会社三洋物産 遊技機
JP6551429B2 (ja) * 2017-01-24 2019-07-31 株式会社三洋物産 遊技機
TWI618405B (zh) * 2017-03-23 2018-03-11 和碩聯合科技股份有限公司 多媒體錄製方法及其裝置
TWI690204B (zh) * 2017-09-27 2020-04-01 昊創世紀有限公司 將直播影片依據拍攝地點存放並顯示之方法及其系統
CN113079405B (zh) * 2021-03-26 2023-02-17 北京字跳网络技术有限公司 一种多媒体资源剪辑方法、装置、设备及存储介质
CN113436564B (zh) * 2021-06-18 2022-07-01 海信视像科技股份有限公司 一种epos的展示方法及显示设备
CN114040243B (zh) * 2021-11-04 2023-08-04 上海哔哩哔哩科技有限公司 直播间视频播放方法及装置
CN114394100B (zh) * 2022-01-12 2024-04-05 深圳力维智联技术有限公司 一种无人巡逻车控制系统及无人车

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005011273A1 (ja) 2003-06-18 2005-02-03 Matsushita Electric Industrial Co., Ltd. 再生装置、記録媒体、プログラム、再生方法
WO2005030356A2 (en) * 2003-09-26 2005-04-07 Easycare, Inc. Horse boot with high-profile protective cuff
WO2005039177A1 (ja) 2003-10-15 2005-04-28 Sony Corporation 再生装置、再生方法、再生プログラムおよび記録媒体

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63288444A (ja) * 1987-05-20 1988-11-25 Sanyo Electric Co Ltd ビデオテ−プレコ−ダ
US20020129374A1 (en) 1991-11-25 2002-09-12 Michael J. Freeman Compressed digital-data seamless video switching system
US5576843A (en) * 1993-10-29 1996-11-19 Time Warner Entertainment Co., L.P. System and method for controlling play of multiple dialog audio tracks of a software carrier
JPH08212523A (ja) 1995-02-08 1996-08-20 Sony Corp 磁気記録再生装置
US5815633A (en) * 1995-06-15 1998-09-29 Kabushiki Kaisha Toshiba Multi-scene recording medium and apparatus for reproducing data therefrom
EP0788094A4 (en) 1995-08-21 1998-06-24 Matsushita Electric Ind Co Ltd MULTIMEDIA OPTICAL DISK WHICH CAN COMPLETELY GENERATE UNEXPECTED SCENES THROUGH INTERACTIVE CONTROL, THEIR PLAYBACK DEVICE AND PLAYBACK METHOD
JP2813245B2 (ja) 1995-08-21 1998-10-22 松下電器産業株式会社 光ディスクの再生装置及び再生方法
GB9517789D0 (en) * 1995-08-31 1995-11-01 Philips Electronics Uk Ltd Interactive entertainment content control
KR100379447B1 (ko) 1996-02-12 2003-07-22 엘지전자 주식회사 타임랩스브이씨알의영상신호기록/재생장치및그방법
KR100223207B1 (ko) * 1996-09-25 1999-10-15 윤종용 다중 영상 출력 디지털 비디오 디스크 플레이어
JP3258958B2 (ja) 1997-04-28 2002-02-18 三洋電機株式会社 電子レンジ
JP3972348B2 (ja) * 1997-07-02 2007-09-05 ソニー株式会社 情報記録再生装置および方法、並びに伝送媒体
ID21786A (id) 1997-09-17 1999-07-22 Matsushita Electric Ind Co Ltd Peralatan editing data video, disk optikal untuk digunakan sebagai media perekam peralatan editing data video dan media perekam komputer yang bisa dibaca yang menyimpan program editing
CA2247629C (en) 1997-09-17 2004-06-22 Matsushita Electric Industrial Co., Ltd. Video data editing apparatus and computer-readable recording medium storing an editing program
CN1309252C (zh) 1997-09-17 2007-04-04 松下电器产业株式会社 将视频数据记录在光盘的设备和方法
CN1111861C (zh) 1998-05-06 2003-06-18 日本胜利株式会社 数字信号录取和重放设备及录取媒体
US20040255336A1 (en) 1999-03-30 2004-12-16 Gotuit Video, Inc. Methods and apparatus for simultaneous program viewing
US6753928B1 (en) 1999-11-17 2004-06-22 Thomson Licensing S.A. Method and apparatus for providing feedback during programming of a television apparatus
US6643298B1 (en) * 1999-11-23 2003-11-04 International Business Machines Corporation Method and apparatus for MPEG-2 program ID re-mapping for multiplexing several programs into a single transport stream
AU2001287258A1 (en) 2000-03-17 2001-10-03 Thomson Licensing S.A. Method and apparatus for simultaneous recording and displaying two different video programs
DE60103510T2 (de) 2000-03-17 2005-06-23 Thomson Licensing S.A., Boulogne Verfahren und vorrichtung zur gleichzeitigen aufnahme und wiedergabe von zwei verschiedenen videoprogrammen
AU2001274622A1 (en) * 2000-06-26 2002-01-08 Matsushita Electric Industrial Co., Ltd. Edit apparatus, reproduction apparatus, edit method, reproduction method, edit program, reproduction program, and digital record medium
US7139398B2 (en) * 2001-06-06 2006-11-21 Sony Corporation Time division partial encryption
US7376338B2 (en) 2001-06-11 2008-05-20 Samsung Electronics Co., Ltd. Information storage medium containing multi-language markup document information, apparatus for and method of reproducing the same
JP3873821B2 (ja) 2001-06-19 2007-01-31 ソニー株式会社 信号再生装置および信号再生方法
WO2003036460A1 (en) * 2001-10-23 2003-05-01 Samsung Electronics Co., Ltd. Information storage medium including markup document and av data, recording method, reproducing method, and reproducing apparatus therefor
JP2003249057A (ja) * 2002-02-26 2003-09-05 Toshiba Corp デジタル情報媒体を用いるエンハンスド・ナビゲーション・システム
US7466901B2 (en) 2002-04-17 2008-12-16 Samsung Electronics Co., Ltd. Recording medium containing thumbnail recorded thereon, recording apparatus and method therefor, and reproducing apparatus and method therefor
KR100963705B1 (ko) 2002-04-23 2010-06-14 톰슨 라이센싱 비디오 신호 처리 장치를 제어하기 위한 방법 및 장치
US7665110B2 (en) * 2002-05-14 2010-02-16 Lg Electronics Inc. System and method for synchronous reproduction of local and remote content in a communication network
TWI315867B (en) * 2002-09-25 2009-10-11 Panasonic Corp Reproduction apparatus, optical disc, recording medium, and reproduction method
EP1547083A1 (en) * 2002-09-26 2005-06-29 Koninklijke Philips Electronics N.V. Method and device for recording information on a record medium, record medium containing information, and method and device for reading information from a record medium"
JP2006500718A (ja) * 2002-09-26 2006-01-05 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 多重ストリーム読み出し装置及び方法
KR100920654B1 (ko) 2002-12-09 2009-10-09 엘지전자 주식회사 대화형 광디스크 장치에서의 재생 제어방법
CN100585720C (zh) * 2003-02-19 2010-01-27 松下电器产业株式会社 再现装置、记录方法、再现方法
KR20040080736A (ko) 2003-03-13 2004-09-20 삼성전자주식회사 인터랙티브 컨텐츠 동기화 장치 및 방법
KR100565060B1 (ko) 2003-03-14 2006-03-30 삼성전자주식회사 언어 정보에 따라 적응적으로 재생가능한 데이터 구조로기록된 정보저장매체, 그 재생 방법 및 장치
JP3657946B2 (ja) * 2003-03-25 2005-06-08 株式会社東芝 情報記録媒体、情報記録/再生方法、および情報記録/再生装置
US20050053361A1 (en) 2003-08-16 2005-03-10 Samsung Electronics Co., Ltd. Information storage medium having data structure for being reproduced adaptively according to player profile information, apparatus for reproducing AV data in interactive mode
US8214256B2 (en) 2003-09-15 2012-07-03 Time Warner Cable Inc. System and method for advertisement delivery within a video time shifting architecture
KR20050036277A (ko) 2003-10-15 2005-04-20 엘지전자 주식회사 고밀도 광디스크의 네비게이션 정보 관리방법
KR100788655B1 (ko) 2003-11-10 2007-12-26 삼성전자주식회사 스타일 정보를 포함하는 텍스트 기반의 서브 타이틀데이터가 기록된 저장 매체, 재생 장치 및 그 재생 방법
KR20050048848A (ko) * 2003-11-20 2005-05-25 엘지전자 주식회사 고밀도 광디스크의 플레이리스트 생성방법, 관리방법 및재생방법과 기록재생장치
CN1757074A (zh) * 2003-11-28 2006-04-05 索尼株式会社 再现设备、再现方法、再现程序、和记录介质
US7756398B2 (en) 2004-03-26 2010-07-13 Lg Electronics, Inc. Recording medium and method and apparatus for reproducing text subtitle stream for updating palette information
JP4968506B2 (ja) 2005-03-04 2012-07-04 ソニー株式会社 再生装置、再生方法、およびプログラム
KR20080036126A (ko) * 2005-07-29 2008-04-24 엘지전자 주식회사 기록매체, 데이터 재생방법 및 재생장치와 데이터 기록방법및 기록장치
JP4081772B2 (ja) 2005-08-25 2008-04-30 ソニー株式会社 再生装置および再生方法、プログラム、並びにプログラム格納媒体
JP4661514B2 (ja) 2005-10-07 2011-03-30 ソニー株式会社 画像処理装置、および、画像処理方法、プログラム、並びに、記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005011273A1 (ja) 2003-06-18 2005-02-03 Matsushita Electric Industrial Co., Ltd. 再生装置、記録媒体、プログラム、再生方法
WO2005030356A2 (en) * 2003-09-26 2005-04-07 Easycare, Inc. Horse boot with high-profile protective cuff
WO2005039177A1 (ja) 2003-10-15 2005-04-28 Sony Corporation 再生装置、再生方法、再生プログラムおよび記録媒体
JP2005123775A (ja) 2003-10-15 2005-05-12 Sony Corp 再生装置、再生方法、再生プログラムおよび記録媒体

Also Published As

Publication number Publication date
AR072992A2 (es) 2010-10-06
US8331773B2 (en) 2012-12-11
US8275234B2 (en) 2012-09-25
JP2010063131A (ja) 2010-03-18
CN101702323A (zh) 2010-05-05
CN101702323B (zh) 2011-09-07
EP2144244A3 (en) 2010-10-20
EP2144245A2 (en) 2010-01-13
US8301017B2 (en) 2012-10-30
CN101882456A (zh) 2010-11-10
JP2010063132A (ja) 2010-03-18
CN101238518A (zh) 2008-08-06
CN101702324A (zh) 2010-05-05
TWI398857B (zh) 2013-06-11
KR20080033488A (ko) 2008-04-16
US20100111502A1 (en) 2010-05-06
EP2144243A3 (en) 2010-10-20
TW200733073A (en) 2007-09-01
EP2144244B1 (en) 2019-02-20
JP4898890B2 (ja) 2012-03-21
US20100054706A1 (en) 2010-03-04
CN101702319A (zh) 2010-05-05
US20100092156A1 (en) 2010-04-15
WO2007018308A1 (en) 2007-02-15
EP2144248A3 (en) 2010-10-20
EP2144243A2 (en) 2010-01-13
EP2144246A2 (en) 2010-01-13
US20100104265A1 (en) 2010-04-29
CN101702324B (zh) 2011-11-09
JP4886834B2 (ja) 2012-02-29
JP2010068533A (ja) 2010-03-25
EP2144248A2 (en) 2010-01-13
TW200949825A (en) 2009-12-01
EP1922731A1 (en) 2008-05-21
JP4886836B2 (ja) 2012-02-29
EP2144248B1 (en) 2019-01-30
JP4886835B2 (ja) 2012-02-29
CN101702322A (zh) 2010-05-05
JP2010068532A (ja) 2010-03-25
US20100104263A1 (en) 2010-04-29
US8280232B2 (en) 2012-10-02
JP4886837B2 (ja) 2012-02-29
AU2006277225A1 (en) 2007-02-15
US8335424B2 (en) 2012-12-18
EP2144246A3 (en) 2010-11-03
US8452165B2 (en) 2013-05-28
CN101238518B (zh) 2013-03-20
EP2144245A3 (en) 2010-10-20
EP2144244A2 (en) 2010-01-13
CN101882456B (zh) 2012-11-28
AU2006277225B2 (en) 2011-06-09
JP2010068531A (ja) 2010-03-25
CN101702322B (zh) 2011-09-07
CN101702319B (zh) 2013-06-12
US20100098392A1 (en) 2010-04-22
AR054904A1 (es) 2007-07-25
TWI398858B (zh) 2013-06-11

Similar Documents

Publication Publication Date Title
KR101375067B1 (ko) 기록매체, 재생장치, 재생방법, 프로그램
US7844355B2 (en) Stream reproduction device and stream supply device
JP4537477B2 (ja) 再生装置、プログラム、再生方法、記録方法。
TWI389106B (zh) Recording medium, reproduction apparatus, reproduction method, and program
JP4870493B2 (ja) 再生装置、記録方法、再生方法、システムlsi、プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170221

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180220

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190219

Year of fee payment: 6