KR101268327B1 - 기록매체, 재생장치, 기록방법, 재생방법 - Google Patents

기록매체, 재생장치, 기록방법, 재생방법 Download PDF

Info

Publication number
KR101268327B1
KR101268327B1 KR1020077025227A KR20077025227A KR101268327B1 KR 101268327 B1 KR101268327 B1 KR 101268327B1 KR 1020077025227 A KR1020077025227 A KR 1020077025227A KR 20077025227 A KR20077025227 A KR 20077025227A KR 101268327 B1 KR101268327 B1 KR 101268327B1
Authority
KR
South Korea
Prior art keywords
stream
time
information
packet
main
Prior art date
Application number
KR1020077025227A
Other languages
English (en)
Other versions
KR20070121813A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=37086991&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101268327(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 파나소닉 주식회사 filed Critical 파나소닉 주식회사
Publication of KR20070121813A publication Critical patent/KR20070121813A/ko
Application granted granted Critical
Publication of KR101268327B1 publication Critical patent/KR101268327B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • GPHYSICS
    • 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
    • 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
    • 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
    • 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/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • 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
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • 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/10527Audio or video recording; Data buffering arrangements
    • 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/1217Formatting, e.g. arrangement of data block or words on the record carriers on 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/2508Magnetic discs
    • G11B2220/2516Hard disks
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/40Combinations of multiple record carriers
    • G11B2220/45Hierarchical combination of record carriers, e.g. HDD for fast access, optical discs for long term storage or tapes for backup
    • G11B2220/455Hierarchical combination of record carriers, e.g. HDD for fast access, optical discs for long term storage or tapes for backup said record carriers being in one device and being used as primary and secondary/backup media, e.g. HDD-DVD combo device, or as source and target media, e.g. PC and portable player
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/806Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal
    • H04N9/8063Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal using time division multiplex of the PCM audio and PCM video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • H04N9/8227Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being at least another television signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/87Regeneration of colour television signals
    • H04N9/8715Regeneration of colour television signals involving the mixing of the reproduced video signal with a non-recorded signal, e.g. a text signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Abstract

BD-ROM에는 PlayList 정보가 기록되어 있다. PlayList 정보는 MainPath 정보와 SubPath 정보를 포함하고, 상기 MainPath 정보는, 복수의 AVClip 중 하나를 MainClip으로 지정하고, 그 MainClip에 대하여 주가 되는 재생구간을 정의하고 있다. 상기 SubPath 정보는, 복수의 AVClip 중 다른 것을 SubClip으로 지정하고, 그 SubClip에 대하여 상기 주가 되는 재생구간과 동기해야 할 종이 되는 재생구간을 정의하고 있다. PlayList 정보는 STN_table를 포함하고, STN_table은 SubClip 및 SubClip에 다중화된 복수의 엘리멘터리 스트림 중 재생이 허가되어 있는 것을 나타내고 있다. 그리고 STN_table에서 재생이 허가되어 있는 복수의 엘리멘터리 스트림을 포함하고, 재생이 허가되어 있지 않은 엘리멘터리 스트림을 포함하지 않는 AVClip의 단위시간(1초)당 총 사이즈는, 예를 들어 48Mbit 이하로 억제되어 있다.
PlayList 정보, MainPath 정보, SubPath 정보, 동기, STN_table, 엘리멘터리 스트림, 48Mbit

Description

기록매체, 재생장치, 기록방법, 재생방법{RECORDING MEDIUM, REPRODUCING DEVICE, RECORDING METHOD, AND REPRODUCING METHOD}
본 발명은 Out-of-MUX 프레임 워크 기술분야에 속하는 발명이다.
Out-of-MUX 프레임 워크(framework)는 BD-ROM 등의 판독 전용 기록매체(Read-only recording medium)에 기록되어 있는 디지털 스트림과, 재기록 가능한 기록매체(rewritable recording medium)인 로컬 스토리지(local storage)에 기록되어 있는 디지털 스트림을 동시에 판독해서, 디코더에 공급하여, 동기재생을 시키는 기술이다.
여기서 BD-ROM에 기록되어 있는 디지털 스트림이 영화작품의 본편을 구성하는 것이고, 로컬 스토리지에 기록되어 있는 디지털 스트림이 영화감독의 커멘터리(commentary)를 구성하는 경우, 상술한 Out-of-MUX 프레임 워크를 실현함으로써, BD-ROM상의 본편과 로컬 줄거리지 상의 커멘터리를 재생에 제공하여 BD-ROM의 내용 확충을 도모할 수 있다. 또, 판독 전용 기록매체의 선행기술로는 이하의 특허문헌에 기재되어 있는 것이 있다.
특허문헌 1 : 일본국 특개평 8-83478호 공보
그런데 상술한 Out-of-MUX 프레임 워크에서는 BD-ROM에 기록된 스트림과 로 컬 스토리지에 기록된 스트림을 동시에 판독하고, 이들 스트림을 구성하는 TS패킷을 디코더에 공급하지 않으면 안 된다. 이 디코더로의 공급에 어느 정도의 대역이 필요한가를 검토하면, 이들 BD-ROM으로부터의 공급 비트 레이트가 48Mbps, 로컬 스토리지로부터의 공급 비트 레이트가 48Mbps인 경우, 최악의 경우에 96Mbit(48Mbit+48Mbit)의 데이터 공급이 상술한 동시 판독의 기간 내에서 발생할 가능성이 있다. 이러한 최악의 경우의 발생을 생각한다면, 96Mbps라는 비트 레이트로 TS패킷을 공급할 수 있도록 장치 내의 대역을 높이지 않으면 안 된다. 또, 그것이 불가능하다면, 디코더 내에 큰 버퍼를 설치해 두고, 당해 공급이 한 시점에 집중하지 않도록, TS패킷의 선 판독(prior read operation)을 디코더가 행하도록 할 필요가 있다. 그러나 상술한 동시 판독의 기간이 짧으면 몰라도, 2시간이라는 영화의 재생이라면 버퍼의 용량이 부족하여 충분한 선 판독을 행할 수 없다.
충분한 선 판독이 행해지지 않으므로, 선 판독을 위한 버퍼에 언더 플로(underflow)가 발생하면, 비디오 또는 오디오의 결락이 발생하므로 재생품질이 현저하게 저하한다. 그렇다고 해서 높은 비트 레이트로 디코더에 데이터를 공급하게 하면 재생장치의 저가격화를 크게 방해하는 결과가 된다.
본 발명이 목적은, 높은 대역을 필요로 하지 않으면서, 다른 기록매체로부터 공급된 디지털 스트림을 디코더에 공급할 수 있는 기록매체를 제공하는 것에 있다.
상기 목적을 달성하기 위해, 본 발명에 관한 기록매체는, 플레이리스트 정보(playlist information)가 기록된 기록매체로, 상기 플레이리스트 정보는 메인 패스 정보(main-path information)와 서브 패스 정보(sub-path information)를 포함하고, 상기 메인 패스 정보는 복수의 디지털 스트림(digital stream)의 하나를 메인 스트림으로 지정하고, 그 메인 스트림에 대하여 주가 되는 재생구간(primary playback section)을 정의하는 정보이며, 상기 서브 패스 정보는 복수의 디지털 스트림의 나머지 중 하나의 디지털 스트림을 서브 스트림으로 지정하고, 그 서브 스트림에 대하여 상기 주가 되는 재생구간과 동기 해야 할 종이 되는 재생구간(secondary playback section)을 정의하는 정보이고, 상기 메인 패스 정보는 스트림 테이블(stream table)을 포함하며, 상기 스트림 테이블은 메인 스트림에 다중화된 적어도 하나의 엘리멘터리 스트림(elementary stream) 및 서브 스트림에 다중화된 적어도 하나의 엘리멘터리 스트림 중 동시에 재생하는 것이 허가되어 있는 조합을 하나 이상 나타내고, 스트림 테이블은 복수의 스트림 엔트리를 포함하며, 각 스트림 엔트리에는 상기 엘리멘터리 스트림을 구성하는 TS 패킷으로서 동시 재생이 허가되어 있는 것의 패킷 식별자가 기재되어 있고, 상기 메인 스트림 및 서브 스트림은 TS 패킷 열이며, 각 TS 패킷에는 어라이벌 타임스탬프(Arrival_Time_Stamp)가 부가되어 있고, 복수의 TS 패킷으로서 스트림 테이블에 있어서 동시에 재생하는 것이 허가되어 있는 엘리멘터리 스트림을 구성하는 것의 단위 시간당의 총 데이터 사이즈는 48 M 비트 이하이며, 단위 시간당의 총 데이터 사이즈는 어라이벌 타임 클록(Arrival_Time_Clock) 시간 축 상에 있어서 1초의 시간 폭을 갖는 확인 프레임(verification frame)인 윈도(Window)에 의해서 둘러싸이는 범위 내에서 산출되고, 당해 윈도의 개시점이 어라이벌 타임 클록 시간 축에서의 어느 시점에 존재하였다고 해도 윈도에 의해 둘러싸이는 범위 내의 총 데이터 사이즈가 48 M 비트 이하로 되어 있는 것을 특징으로 한다.
스트림 테이블에서, 재생이 허가되어 있는 복수의 엘리멘터리 스트림의 단위시간당 총 데이터 사이즈는 소정 값 이하이며, 최악의 경우에도 단위 시간당 전송해야 할 TS패킷의 양은 소정의 상한치를 초과하지 않는다.
예를 들어, 단위시간이 1초이고, 소정의 상한치가 48Mbit인 경우, 스트림의 동시 판독을 위해 TS패킷의 공급량이 국소적으로 96Mbit까지 상승했어도 "1초당 비트 양이 48Mbit 이하"로 제한되므로 최악의 경우에 해당하는 96Mbit의 데이터 공급량이 0.5초 이상 계속되는 일은 없다.
스트림의 재생시간 축 상의 어느 시점에서도 「최악의 경우가 0.5초 이상 계속되지 않는다」는 보장이 있으므로, 96Mbit×0.5초의 사이즈의 TS패킷을 항상 선 판독하여 디코더에 공급하도록 재생장치를 구성해 두면, 디코더 내의 버퍼의 언더 플로를 회피할 수 있다.
「96Mbit×0.5초」를 상한치로 한 선 판독에 의해 언더 플로를 발생시키지 않고 TS패킷을 안정적으로 디코더에 공급할 수 있으므로, Out-of-MUX 프레임 워크 실현을 위한 동시 판독이 품질상의 문제로 파급될 우려는 없어진다. 밴드 폭(bandwidth)을 높이지 않고, BD-ROM만을 대상으로 한 재생장치에서 Out-of-MUX 프레임 워크를 실현할 수 있으므로, Out-of-MUX 프레임 워크를 실현하는 재생장치를 저렴한 가격으로 시장에 공급할 수 있다.
또, 「1초당 48Mbps 이하」라는 제한이 있으므로, 재생장치는 상술한 바와 같은 "항상 선 판독을 한다"라는 단순한 제어를 실행하고 있으면, 최악의 경우가 되는 데이터의 공급이 발생하였다고 해도 언더 플로의 발생을 피할 수 있다. 최악의 경우가 되는 데이터 공급이 언제 발생할지를 예측하는 예측처리 등의 장착을 생략할 수 있으므로 재생장치를 용이하게 개발할 수 있다.
도 1은 본 발명에 관한 기록매체의 사용행위에 대한 예를 나타내는 도면이다.
도 2는 BD-ROM의 내부 구성을 나타내는 도면이다.
도 3은 확장자 .m2ts가 부여된 파일이 어떻게 구성되어 있는가를 모식적으로 나타내는 도면이다.
도 4는 PES 패킷 열에 비디오 스트림 및 오디오 스트림이 어떻게 저장되어 있는가를 더욱 상세하게 나타내는 도면이다.
도 5는 비디오나 오디오가 프로그램 스트림, 트랜스포트 스트림에 어떻게 다중화되는지를 나타내는 도면이다.
도 6은 트랜스포트 스트림의 상세를 나타내는 도면이다.
도 7은 PAT, PMT 패킷의 내부 구성을 나타내는 도면이다.
도 8은 AVClip을 구성하는 TS패킷이 어떠한 과정을 거쳐서 BD-ROM에 기록되는지를 나타낸다.
도 9는 얼라인드 유닛의 내부 구성을 나타내는 도면이다.
도 10은 Clip 정보의 내부 구성을 나타내는 도면이다.
도 11은 영화의 비디오 스트림에 대한 EP_map 설정을 나타내는 도면이다.
도 12는 PlayList 정보의 데이터 구조를 나타내는 도면이다.
도 13은 AVClip과 PlayList 정보의 관계를 나타내는 도면이다.
도 14는 로컬 스토리지(200)의 내부 구성을 나타내는 도면이다.
도 15는 Out-of-MUX 애플리케이션을 구성하는 프라이머리 TS 및 세컨더리 TS가 BD-ROM 재생장치의 내부 구성에서 디코더에 어떻게 공급되는가를 나타내는 도면이다.
도 16은 PlayList 정보의 데이터 구조를 나타내는 도면이다.
도 17은 Subpath 정보의 내부 구성을 클로즈업하여 나타내는 도면이다.
도 18은 로컬 스토리지(200) 상의 SubClip과, 로컬 스토리지(200) 상의 PlayList 정보와, BD-ROM 상의 MainClip과의 대응을 나타내는 도면이다.
도 19(a)는 STN_table의 내부 구성을 나타내는 도면이다.
도 19(b)는 비디오 스트림에 대응한 Stream_attribute를 나타내는 도면이다.
도 19(c)는 오디오 스트림에 대응한 Stream_attribute를 나타내는 도면이다.
도 19(d)는 비디오 스트림에서의 Stream_entry를 나타내는 도면이다.
도 20은 BD-ROM에서 판독된 TS패킷과, 로컬 스토리지에서 판독된 TS패킷을 나타내고, 이들 TS패킷 중 디코더에 공급되는 것을 나타낸다.
도 21 (a)~(d)는 Window의 시프트를 나타내는 도면이다.
도 22는 BD-ROM에서 판독된 TS패킷, 로컬 스토리지에서 판독된 TS패킷의 데이터량의 시간적 추이를 나타내는 그래프이다.
도 23 (a), (b)는 각 Window의 전송 허용량과, Window에서의 디코더로의 공급량을 대비하여 나타내는 도면이다.
도 24는 Out-of-MUX 애플리케이션을 구성하는 PlayItem, SubPlayItem의 접속상태를 나타내는 도면이다.
도 25는 도 24에 나타낸 PlayItem의 connection_condition 정보, SubPlayItem의 sp_connection_condition 정보가 "=5"로 설정되어 있는 경우의 PlayItem에서의 In_Time 및 Out_Time과, SubPlayItem에서의 In_Time 및 Out_Time의 관계를 나타내는 도면이다.
도 26은 PlayItem의 In_Time에서 Out_Time까지에 존재하는 부분을 재생하는 경우에, 참조 되어야 할 STC 값, SubPlayItem의 In_Time에서 Out_Time까지에 존재 하는 부분을 재생하는 경우에 참조 되어야 할 STC 값을 나타낸다.
도 27은 이전 PlayItem에 참조 되어 있는 MainClip, 현재 PlayItem에 참조 되어 있는 SubClip에서 TS1, TS2가 어떻게 특정되는지를 나타내는 도면이다.
도 28은 CC=5 및 SP_CC=5의 상세를 나타내는 도면이다.
도 29는 이전 PlayItem 및 현재 PlayItem에서 지정되는 복수의 비디오 프레젠테이션 유닛과, 복수의 오디오 프레젠테이션 유닛과, STC 시간 축의 관계를 나타내는 도면이다.
도 30은 본 발명에 관한 재생장치의 내부 구성을 나타내는 도면이다.
도 31은 PlayList 정보에 의거한 재생순서의 플로차트이다.
도 32는 SubPlayItem에서의 심리스 접속을 나타내는 플로차트이다.
도 33은 제 2 실시 예에 관한 편집 시스템의 내부 구성을 나타내는 도면이다.
도 34는 프라이머리 TS 및 세컨더리 TS에 대한 검증 순서를 나타내는 플로차트이다.
도 35는 동종의 엘리멘터리 스트림이 복수 존재하는 경우의 프라이머리 TS 및 세컨더리 TS에 대한 검증 순서를 나타내는 플로차트이다.
도 36은 CC=6의 상세한 설명을 나타내는 도면이다.
도 37은 PlayItem과 SubPlayItem의 상관을 나타내는 도면이다.
도 38은 ATC 시간 축에 존재하는 복수의 TS패킷이 어떻게 다중화되는가를 모식적으로 나타내는 도면이다.
도 39는 오디오에 더하여 자막(PG)이나 메뉴(IG)도 교체되는 경우, 프라이머리 TS를 구성하는 복수의 TS패킷과, 세컨더리 TS를 구성하는 복수의 TS패킷이 어떻게 다중화되는지를 모식적으로 나타내는 도면이다.
도 40은 오디오 믹싱 애플리케이션을 구성하는 프라이머리 TS 및 세컨더리 TS가 BD-ROM 재생장치의 내부 구성에서 디코더에 어떻게 공급되는지를 나타내는 도면이다.
도 41은 제 5 실시 예에 관한 재생장치의 내부 구성을 나타내는 도면이다.
도 42는 오디오 믹싱을 나타내는 플레이리스트에서 지정되는 PlayItem과 SubPlayItem의 상관을 나타낸 도면이다.
도 43은 극장 공개 판과 디렉터스 컷(director's cut)의 양쪽을 구성하는 PlayList 정보의 일 예를 나타내는 도면이다.
(부호의 설명)
1a BD-ROM 드라이브 1b, 1c 리드 버퍼
1a, 1b, 1c ATC 카운터
2a, 2d Source Depacketizer
2c,d ATC 카운터 3a, 3c STC 카운터
3b, 3d PID 필터r 4 비디오 디코더
5 비디오 플레인 6 트랜스포트 버퍼
7 엘리멘터리 버퍼 8 오디오 디코더
10a, 10b, 10c, 10d 스위치
11 인터랙티브 그래픽스 디코더
12 인터랙티브 그래픽스 플레인
13 프레젠테이션 그래픽스 디코더
14 프레젠테이션 그래픽스 플레인
17 합성부 21 메모리
22 컨트롤러 23 PSR 세트
24 PID 변환부 25 네트워크부
26 조작 접수부 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)을 재생하는 기능을 갖는다. 또, 영화 배급자의 서버(700)로부터 네트워크를 통해서 다운로드 한 콘텐츠를 로컬 스토리지(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의 내주로부터 외주에 걸쳐서 나선형상으로 형성되어 있는 트랙을 횡 방향으로 연장하여 묘사하고 있다. 이 트랙은 리드인 영역과 볼륨 영역과 리드 아웃 영역으로 이루어진다. 본 도면의 볼륨 영역은 물리 층, 파일시스템 층, 응용 층이라고 하는 계층 모델(layer model)을 갖는다.
디렉터리 구조를 이용하여 BD-ROM의 응용 층 포맷(애플리케이션 포맷)을 표현하면 도면 중의 제 1 단째와 같이 된다. 이 제 1 단째에서, BD-ROM에는 루트 디렉터리(Root directary)의 아래에 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은 MPEG2-Transport Stream 형식의 디지털 스트림이다. 이 디지털 스트림은 디지털화된 영상 및 디지털화된 음성을(제 1 단째) PES 패킷으로 이루어지는 엘리멘터리 스트림으로 변환하고(상 2 단째), 다시 TS패킷으로 변환하며(상 3 단째), 마찬가지로 자막 계의 프레젠테이션 그래픽스 스트림(Presentation Graphics(PG) 스트림) 및 대화 계의 인터렉티브 그래픽스 스트림(Interactive Graphics(IG) 스트림)을(하 1 단째, 하 2 단째) TS패킷으로 변환하고(하 3 단째), 이들을 다중화함으로써 구성된다.
이하, 이들 비디오 스트림, 오디오 스트림, PG 스트림, IG 스트림에 대하여 설명한다.
<비디오 스트림>
비디오 스트림은 영화작품의 동화상을 구성하는 스트림으로, SD화상, HD화상인 픽처 데이터로 구성된다. 비디오 스트림에는 VC-1의 비디오 스트림, MPEG4-AVC의 비디오 스트림, MPEG2-Video의 비디오 스트림이라는 형식이 존재한다. MPEG4-AVC의 비디오 스트림에서는 IDR픽처, I픽처, P픽처, B픽처에 PTS, DTS라는 타임 스탬프(time stamp)가 부여되고, 이 픽처 단위로 재생제어가 이루어진다. 이와 같이, PTS, DTS가 부여되고 재생제어의 단위가 되는 비디오 스트림의 한 단위를 "비디오 프레젠테이션 유닛(Video Presentation Unit)"이라고 한다.
<오디오 스트림>
오디오 스트림은 영화작품의 음성을 나타내는 스트림으로, LPCM 오디오 스트림, DTS-HD 오디오 스트림, DD/DD+오디오 스트림이나 DD/MLP 오디오 스트림과 같은 형식이 존재한다. 오디오 스트림에서의 오디오 프레임에 타임 스탬프가 부여되고, 이 오디오 프레임 단위로 재생제어가 이루어진다. 이와 같이, 타임 스탬프가 부여되고 재생제어의 단위가 되는 오디오 스트림의 한 단위를 "오디오 프레젠테이션 유닛(Audio Presentation Unit)"이라고 한다.
<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에 의한 페이지 제어를 수반함으로써 어떤 자막을 서서히 소거하면서 다음 자막을 표시한다고 하는 표시효과를 실현할 수 있다.
<IG 스트림>
IG 스트림은 대화제어를 실현하는 그래픽스 스트림이다. IG 스트림에서 정의되는 대화제어는 DVD 재생장치상의 대화제어와 호환성이 있는 대화제어이다. 이러한 IG 스트림은 ICS(Interactive Composition Segment), PDS(Palette Definition Segment), ODS(Object Definition Segment)라고 불리는 기능 세그먼트로 이루어진다. ODS(Object Definition Segment)는 그래픽스 오브젝트를 정의하는 기능 세그먼 트이다. 이 그래픽스 오브젝트가 복수 모여서 대화화면상의 버튼이 묘사된다. PDS(Palette Definition Segment)는 그래픽스 오브젝트의 묘사시의 발색을 정의하는 기능 세그먼트이다. ICS(Interactive Composition Segment)는 사용자 조작에 따라서 버튼의 상태를 변화시키는 상태변화를 실현하는 기능 세그먼트이다. ICS는 버튼에 대해 확정조작이 이루어졌을 때 실행해야 할 버튼 커멘드(button commend)를 포함한다.
여기서 AVClip은 하나 이상의 "STC_Sequence"로 구성된다. "STC_Sequence"는 AV 스트림의 시스템 기준 시각인 STC(System Time Clock)의 불연속 점(system time-base discontinuity)이 존재하지 않는 구간을 말한다. STC의 불연속 점은 디코더가 STC를 얻기 위해 참조하는 PCR(Program Clock Reference)를 운반하는 PCR 패킷의 불연속 정보(discontinuity_indicator)가 ON인 점이다.
도 4는 PES 패킷 열에 비디오 스트림 및 오디오 스트림이 어떻게 저장되는지를 더 상세하게 나타내고 있다. 본 도면에서의 제 1 단째는 비디오 스트림을 나타내고, 제 3 단째는 오디오 스트림을 나타낸다. 제 2 단째는 PES 패킷 열을 나타낸다. 본 도면의 화살표 yy1, yy2, yy3, yy4에 나타낸 바와 같이, 비디오 스트림에서의 복수의 비디오 프레젠테이션 유닛인 IDR, B픽처, P픽처는 복수로 분할되고, 각각의 분할부분이 PES 패킷의 페이 로드(payload, 도면 중의 V#1, V#2, V#3, V#4)에 저장되는 것을 알 수 있다. 또, 오디오 스트림을 구성하는 오디오 프레젠테이션 유닛인 오디오 프레임은 화살표 aa1, aa2에 나타낸 바와 같이, 각각의 PES 패킷의 페이 로드(도면 중의 A#1, A#2)에 저장되어 있는 것을 알 수 있다.
도 5는 비디오나 오디오가 프로그램 스트림, 트랜스포트 스트림(transport stream)에 어떻게 다중화되는가를 나타내고 있다. 하단은 비디오 스트림과 오디오 스트림을 저장한 복수의 PES 패킷(도면 중의 V#1, V#2, V#3, V#4, A#1, A#2)을 나타낸다. 비디오 스트림 및 오디오 스트림은 별개의 PES 패킷에 저장된다는 것을 본 도면으로부터 알 수 있다. 상단은 하단의 PES 패킷을 저장한 프로그램 스트림 및 트랜스포트 스트림을 나타낸다. 프로그램 스트림에 다중화되는 경우에 PES 패킷은 1팩으로 취합된다. 트랜스포트 스트림에 다중화되는 경우에는 PES 패킷은 분할되고, 각각의 분할부분은 복수의 TS패킷의 페이 로드에 저장된다. BD-ROM에서의 저장방식은 전자의 프로그램 스트림이 아니라 후자의 트랜스포트 스트림과 같이 된다. 도 5에서는 그렇게 되어 있지 않으나, 트랜스포트 스트림에 사용되는 비디오 PES 패킷은 하나의 프레임 또는 쌍이 되는 2개의 필드를 저장하는 것이 일반적이다.
도 6은 트랜스포트 스트림의 상세를 나타내는 도면이다. 본 도면에서의 제 1 단째는 MPEG2 트랜스포트 스트림을 구성하는 복수의 TS패킷 열이고, 제 2 단째는 TS패킷의 내부 구성을 나타낸다. 이 제 2 단째에 도시한 바와 같이, 하나의 TS패킷은 "헤더", "적용 필드(adaptation field)"와 "페이로드"로 구성된다. 인출선 th1은 TS패킷 헤더의 구성을 클로즈업하고 있다. 이 인출 선으로 나타낸 바와 같이, TS패킷 헤더에는 PES 패킷의 선두를 저장하고 있다는 것을 나타내는 「유닛 개시표시(payload_unit_start_indicator)」, 트랜스포트 스트림에 다중화되는 엘리멘터리 스트림의 종별을 나타내는 「PID(Packet Identifier)」, TS패킷에 적용 필드가 존재하고 있는가 여부를 나타내는 「적용 필드 제어」 등이 존재한다.
인출선 th2는 적용 필드의 내부 구성을 클로즈업하고 있다. 적용 필드는 TS패킷 헤더의 적용 필드 제어가 "1"로 설정되어 있는 경우에 TS패킷에 대하여 부여된다. 구체적으로는, 비디오, 오디오의 프레임 선두이며, 엔트리 포인트(entry point)임을 나타내는 「랜덤 액세스 표시(random_access_indicator)」, T-STD(Transport System Target Decoder)의 STC(System Time Clock)를 부여하는「PCR(Program Clock Refernece)」등이 이 적용 필드에 저장된다.
도 7은 PAT, PMT 패킷의 내부 구성을 나타내는 도면이다. 이들 패킷은 트랜스포트 스트림의 프로그램 구성을 기술하는 것이다.
본 도면에서의 인출선 hm1은 트랜스포트 스트림에 존재하는 PID=0의 TS패킷의 구성을 클로즈업하고 있다. 이러한 TS패킷은 PAT(Program Association Table)패킷이라고 불리고, 트랜스포트 스트림 전체의 프로그램 구성을 나타낸다. PAT 패킷의 PID는 항상 "0"이다. PAT 패킷에는 PAS(Program Association Section)가 저장된다. 인출선 hm2는 PAS의 내부 구성을 클로즈업하고 있다. 이 인출 선에 나타낸 바와 같이, PAS는 program_number(프로그램 번호)와, program map table(PMT의 PID)을 대응시켜서 나타내고 있다. 인출선 hm3은 트랜스포트 스트림에 존재하는 PID=0x100의 TS패킷의 구성을 클로즈업하고 있다. 이러한 TS패킷은 PMT 패킷이라고 불린다. 인출선 hm4에 나타낸 바와 같이, PMT 패킷의 PMS는 그 PMS에 대응하는 프로그램에 포함되는 스트림 종별을 나타내는 「stream_type」과 그 스트림의 PID인 「elementary_PID」를 포함한다. 본 도면의 예에서는, 프로그램 번호 #1의 프로그램은 PID=0x100의 PMT를 가지고 있고, PID=0x200과 0x201을 갖는 MPEG2 비디오와 ADTS 오디오가 이 프로그램 번호 #1의 프로그램을 구성하고 있다는 것을 알 수 있다. 이와 같이 하여, 항상 PID=0인 PAT에서 PMT의 PID를 취득하고, 이 PMT의 PID에서 PMT 패킷을 취득하여, PMS를 참조함으로써 트랜스포트 스트림 중의 프로그램과 그 구성 스트림의 PID나 스트림 타입을 얻을 수 있다.
이어서, 이상과 같이 구성된 AVClip이 BD-ROM에 어떻게 기록되는가를 설명한다. 도 8은 AVClip을 구성하는 TS패킷이 어떠한 과정을 거쳐서 BD-ROM에 기록되는가를 나타낸다. 본 도면의 제 1 단째에 AVCip을 구성하는 TS패킷을 나타낸다.
AVClip을 구성하는 188 바이트의 TS패킷은, 제 2 단째에 나타낸 바와 같이, 4 바이트의 TS_extra_header(도면 중의 해칭부(hatch portion))가 부여되어서 192 바이트 길이의 소스 패킷(source packet)이 된다. 이 TS_extra_header는 당해 TS패킷의 디코더 입력 시각정보를 나타내는 Arrival_Time_Stamp를 포함한다. ATS 헤더를 TS패킷별로 부여하여 스트림을 형성하는 이유는 TS패킷별로 디코더(STD)로 입력되는 입력시각을 부여하기 위해서이다. 디지털 방송에서는 트랜스포트 스트림은 고정 비트 레이트로 취급된다. 따라서, NULL 패킷이라 불리는 더미(dummy)의 TS패킷을 다중화하여 고정 비트 레이트로 한 트랜스포트 스트림을 방송하고 있다. 광 디스크와 같은 한정된 기록용량의 기록매체에 스트림을 기록할 때에는 고정 비트 레이트의 기록방식은 쓸데없이 용량을 소비하므로 적합하지 않다. 따라서 BD-ROM에서는 NULL 패킷을 기록하지 않는다. 그 대신 가변 비트 레이트의 기록방식에 대응하기 위하여 개개의 TS패킷에 ATS를 부여 상태에서 트랜스포트 스트림을 기록한다. 이 ATS를 이용함으로써 TS패킷별로 디코더 입력시각을 복원할 수 있고, 가변 비트 레이트의 기록방식에 대응할 수 있다. 이하, ATS 헤더와 TS패킷의 1쌍을 소스 패킷이라고 부른다.
AVClip을 구성하는 소스 패킷은 제 3 단째에서의 AVClip에서 하나 이상의 "ATC_Sequence"를 구성한다. "ATC_Sequence"는 소스 패킷의 배열이며, 그 Arrival_Time_Stamp가 참조하고 있는 Arrival_Time_Clock에 불연속점(no arrival time-base discontinuity)이 존재하지 않는 것을 말한다. 다시 말하면, 그 Arrival_Time_Stamp가 참조하고 있는 Arrival_Time_Clock에 연속성이 존재하는 소스 패킷 열을 "ATC_Sequence"라고 한다.
이러한 ATC_Sequence가 AVClip이 되고, xxxxx.m2ts라고 하는 파일 명으로 BD-ROM에 기록된다.
이러한 AVClip은, 통상의 컴퓨터 파일과 마찬가지로, 하나 이상의 파일 익스텐트(file extent)로 분할되어 BD-ROM상의 영역에 기록된다. 제 4 단째는 AVClip이 어떻게 BD-ROM에 기록되는가를 모식적으로 나타낸다. 이 제 4 단째에서 파일을 구성하는 각 파일 익스텐트는 미리 정해진 Sexetent 이상의 데이터 길이를 갖는다.
AVClip을 복수의 익스텐트로 분할하여 기록하는 경우의 익스텐트 1개당 최소 데이터 길이 Sexetent를 검토한다.
여기서 BD-ROM에서 광 픽업의 점프에 필요한 시간은,
Tjump=Taccess+Toverhead
에 의해 얻을 수 있다.
Taccess는 점프 거리(점프하는 물리어드레스의 거리)에 따라서 주어지는 시 간이다.
BD-ROM으로부터 판독된 TS패킷은 리드 버퍼라고 불리는 버퍼에 저장된 상태에서 디코더에 출력되나, 리드 버퍼에의 입력이 Rud라고 하는 비트 레이트로 행해지고, ECC 블록에서의 섹터 수를 Secc로 한 경우,
Toverhead는,
Toverhead≤(2×Secc×8)/Rud=20m초
라고 하는 계산으로 얻을 수 있다.
BD-ROM에서 판독된 TS패킷은, 소스 패킷의 상태로 리드 버퍼에 저장된 다음, TS_Recording_rate라고 하는 전송 레이트로 디코더에 공급된다.
TS_Recording_rate라고 하는 전송 레이트에서의 디코더로의 TS패킷 공급이 끊어지지 않게 하기 위해서는, Tjump 동안 리드 버퍼에서 디코더로의 TS패킷의 출력이 계속되고 있을 필요가 있다. 여기서, 리드 버퍼로부터의 출력은 TS패킷이 아니라 소스 패킷의 상태로 이루어지므로, TS패킷의 소스 패킷과의 사이즈 비를 192/188로 한 경우, Tjump 동안 (192/188×TS_Recording_rate)라고 하는 전송 레이트에 의해 리드 버퍼로부터의 소스 패킷 출력이 계속되고 있을 필요가 있다.
따라서 리드 버퍼가 언더 플로 하지 않기 위한 버퍼 축적량은,
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개당 최소 데이터 길이 Sexetent는,
Sexetent=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)
가 된다.
따라서,
Sexetent≥(Tjump×Rud/1000×8)×(TS_Recording_rate×192/(Rud×188-TS_Recording_rate×192))
가 된다.
AVClip을 구성하는 각 파일 익스텐트는 디코더의 언더 플로를 일으키지 않도 록 산출된 Sextent 이상의 데이터 길이를 가짐으로써 AVClip을 구성하는 각 파일 익스텐트가 BD-ROM상에서 이산적으로 위치되었어도 재생시에 디코더로의 TS패킷의 공급이 끊어지지 않고 연속적으로 판독되게 된다.
상술한 파일 익스텐트는 소스 패킷을 32개 모은 얼라인드 유닛(Aligned Unit, 6KByte의 데이터 사이즈)을 최소 단위로 구성되어 있다. 따라서, BD에서의 스트림 파일(XXXXX.AVClip)의 파일 사이즈는 항상 6KByte의 배수가 된다.
도 9는 얼라인드 유닛의 내부 구성을 나타내는 도면이다. 얼라인드 유닛은 32개의 소스 패킷으로 구성되고, 연속하는 3개의 섹터에 기록된다. 32개의 소스 패킷으로 이루어지는 그룹은 6144 바이트(=32×192)이고, 이는 3개의 섹터 사이즈 6144 바이트(=2048×3)와 일치한다. BD-ROM에서의 섹터는 32개 단위로 에러정정부호가 부가되며, ECC 블록을 구성한다. 재생장치는 얼라인드 유닛 단위로 BD-ROM을 액세스하는 한 32개의 완결된 소스 패킷을 얻을 수 있다. 이상이 BD-ROM에 대한 AVClip의 기록의 프로세스이다. BD-ROM에 기록되고, 고화질의 비디오 스트림이 다중화되어 있는 AVClip을 이하, "MainClip"이라고 한다. 이에 대하여, 로컬 스토리지에 기록되고, MainClip과 동시에 재생되는 AVClip을 "SubClip"이라고 한다.
BD-ROM에 기록되어 있는 MainClip에 대하여 다중분리를 행함으로써 파셜 트랜스포트 스트림(partial transport stream)이 얻어진다. 이 파셜 트랜스포트 스트림은 각각의 엘리멘터리 스트림에 대응하는 것이다. MainClip을 다중분리함으로써 얻어지는 파셜 트랜스포트 스트림으로서, 하나의 엘리멘터리 스트림에 대응하는 것을 "프라이머리 TS(primary TS)"라고 한다.
<BD-ROM의 구성 2. Clip 정보>
이어서 확장자 .clpi가 부여된 파일에 대하여 설명한다. 확장자 .clpi가 부여된 파일(00001.clpi,00002.clpi)은 Clip정보를 저장하고 있다. Clip정보는 각각의 AVClip에 대한 관리정보이다. 도 10은 Clip정보의 내부 구성을 나타내는 도면이다. 본 도면의 좌측에 나타낸 바와 같이, Clip정보는,
ⅰ) AVClip에 대한 정보를 저장한 『ClipInfo()』
ⅱ) ATC Sequence, STC Sequence에 관한 정보를 저장한 『Sequence Info()』
ⅲ) Program Sequence에 관한 정보를 저장한 『Program Info()』
ⅳ) 『Characteristic Point Info(CPI())』로 이루어진다.
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 Sequence 정보를 설치해 두는 의의는 프로그램 내용의 변화점을 미리 재생장치에 통지하기 위해서이다. 여기에서의 프로그램 내용의 변화 점이란 비디오 스트림의 PID가 변화하거나 비디오 스트림의 종류가 SD화상에서 HD화상으로 변화하고 있는 점 등을 말한다.
이어서 Characteristic Point Info에 대하여 설명한다. 도면 중의 인출선 cu2는 CPI의 구성을 클로즈업하고 있다. 인출선 cu2에 나타낸 바와 같이, CPI는 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는 액세스 유닛(Non-IDR I픽처, IDR 픽처)의 SPN_EP_start 및 PTS_EP_start의 상위 비트를 나타내는 역할을 하고, EP_Low는 액세스 유닛(Non-IDR I픽처, IDR픽처)의 SPN_EP_start 및 PTS_EP_start의 하위 비트를 나타내는 역할을 한다.
도면 중의 인출선 cu4는 EP_High의 내부 구성을 클로즈업하고 있다. 이 인출 선에 나타낸 바와 같이, EP_High(ⅰ)는 EP_Low에 대한 참조 값인 『ref_to_EP_Low_id[id]』와, 액세스 유닛(Non-IDR I픽처, IDR픽처)의 PTS의 상위 비트를 나타내는 『PTS_EP_High[ⅰ]』와, 액세스 유닛(Non-IDR I픽처, IDR픽처)의 SPN의 상위비트를 나타내는 『SPN_EP_High[ⅰ]』로 이루어진다. 여기서 ⅰ는 임의의 EP_High를 식별하기 위한 식별자이다.
도면 중의 인출선 cu5는 EP_Low의 구성을 클로즈업하고 있다. 인출선 cu5에 나타낸 바와 같이, EP_Low는 대응하는 액세스 유닛이 IDR 픽처인지 여부를 나타내는 『is_angle_change_point(EP_Low_id)』와, 대응하는 액세스 유닛의 사이즈를 나타내는 『I_end_position_offset(EP_Low_id)』와, 대응하는 액세스 유닛(Non-IDR I 픽처, IDR픽처)의 PTS의 하위 비트를 나타내는 『PTS_EP_Low(EP_Low_id)』와, 대응하는 액세스 유닛(Non-IDR I픽처, IDR픽처)의 SPN의 하위 비트를 나타내는 『SPN_EP_Low(EP_Low_id)』로 이루어진다. 여기서 EP_Low_id는 임의의 EP_Low를 식별하기 위한 식별자이다.
<Clip 정보의 설명 2. EP_map>
이하, 구체 예를 통해서 EP_map에 대하여 설명한다. 도 11은 영화의 비디오 스트림에 대한 EP_map 설정을 나타내는 도면이다. 제 1 단째는 표시 순으로 배치된 복수의 픽처(MPEG4-AVC에 규정된 IDR픽처, I픽처, B픽처, P픽처)를 나타내고, 제 2 단째는 그 픽처에서의 시간 축을 나타낸다. 제 4 단째는 BD-ROM상의 TS패킷 열을 나타내고, 제 3 단째는 EP_map의 설정을 나타낸다.
제 2 단째의 시간 축에서 시점 t1~t7에 액세스 유닛이 되는 IDR 픽처 및 I픽처가 존재하는 것으로 한다. 그리고 이들 t1~t7의 시간간격이 1초 정도라고 하면, 영화에 이용되는 비디오 스트림에서의 EP_map은 t1~t7을 엔트리 시각(PTS_EP_start)으로 나타내고, 이에 대응시켜서 엔트리 위치(SPN_EP_start)를 나타내도록 설정된다.
<PlayList 정보>
이어서, PlayList 정보에 대하여 설명한다. 확장자 "mpls"가 부여된 파일(00001.mpls)은 PlayList(PL) 정보를 저장한 파일이다.
도 12는 PlayList 정보의 데이터 구조를 나타내는 도면이다. 본 도면에서, 인출선 mp1에 나타낸 바와 같이, PlayList 정보는 MainPath를 정의하는 MainPath 정보(MainPath())와, 챕터를 정의하는 PlayListMark 정보(PlayListMark())를 포함한다.
<PlayList 정보의 설명 1. MainPath 정보>
먼저, MainPath에 대하여 설명한다. MainPath는 주 영상인 비디오 스트림이나 오디오 스트림에 대하여 정의되는 재생경로이다.
MainPath는, 화살표 mp1로 나타낸 바와 같이, 복수의 PlayItem 정보#1…#m으로부터 정의된다. PlayItem 정보는 MainPath를 구성하는 하나의 논리적인 재생구간을 정의한다. PlayItem 정보의 구성은 인출선 hs1에 의해 클로즈업되어 있다. 이 인출 선에 나타내는 바와 같이, PlayItem 정보는 재생구간의 IN점 및 Out점이 속하는 AVClip의 재생구간정보의 파일 명을 나타내는 『Clip_Information_file_name』과, AVClip의 부호화방식을 나타내는 『Clip_codec_identifier』과, PlayItem이 멀티앵글을 구성하는지 여부를 나타내는 『is_multi_angle』과, 이 PlayItem(현재 PlayItem)과, 그 하나 전의 PlayItem(이전 PlayItem)의 접속상태를 나타내는 『connection_condition』과, 이 PlayItem이 대상으로 하고 있는 STC_Sequence를 고유하게(uniquely) 나타내는 『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』의 세트로 구성된다.
도 13은 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)에 대하여 설명한다. 도 14는 로컬 스토리지(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에 대하여 다중분리를 함으로써 파셜 트랜스포트 스트림이 얻어진다. SubClip을 다중분리함으로써 얻어지는 파셜 트랜스포트 스트림을 "세컨더리 TS(secondary TS)"라고 한다. 이러한 세컨더리 TS는 Out_of_MUX 애플리케이션을 구성하는 것이다. 이하 Out_of_MUX 애플리케이션에 대하여 설명한다.
(Out-of-MUX 애플리케이션)
Out-of-MUX 애플리케이션은, 예를 들어 BD-ROM상의 프라이머리 TS와, 네트워크 등을 통해서 취득하여 로컬 스토리지에 기록된 세컨더리 TS의 2개의 TS를 동시에 재생선택함으로써, 이 2개의 TS 사이에서 다양한 엘리멘터리 스트림의 조합을 가능하게 하는 애플리케이션이다.
도 15는 Out-of-MUX 애플리케이션을 구성하는 프라이머리 TS 및 세컨더리 TS 가 BD-ROM 재생장치의 내부 구성에서 디코더에 어떻게 공급되는지를 나타내는 도면이다. 본 도면에서는 BD-ROM 재생장치의 내부 구성 중 BD-ROM 드라이브 장치, 로컬 스토리지 및 네트워크부를 좌측에 나타내고, 디코더를 우측에 나타낸다. 한가운데에 스트림의 다중분리를 하는 PID Filter을 나타낸다. 그리고 본 도면에서의 프라이머리 TS(Video1,Audio1(English),Audio2(Spanish), PG1(English Subtitle), IG1(English Menu)), 세컨더리 TS(Audio2(Japanese),Audio3(Korean), PG2(Japanese Subtitle), PG3(Korean Subtitle), IG2(Japanese Menu), IG3(Korean Menu))는 각각 BD-ROM과 로컬 스토리지에서 공급되는 트랜스포트 스트림을 나타낸다. 디스크 단일체에는 영어(Audio1)와 스페인어(Audio2)밖에 기록되어 있지 않으므로, 일본어 더빙 등을 이 디스크에서 선택할 수는 없다. 그러나 콘텐츠 공급자가 제공하는 일본어 더빙(Audio2)이 들어간 세컨더리 TS를 로컬 스토리지에 다운로드 하면, 일본어 더빙 음성(Audio2)과, 일본어 자막(PG2) 및 일본어 메뉴 화면(IG2)을 디코더에 보낼 수 있다. 이렇게 함으로써 사용자는 일본어 더빙 음성(Audio2)과, 일본어 자막(PG2)을 일본어 메뉴 화면(IG2)에서 선택하여 영상(Video1)과 함께 재생할 수 있다.
Out-of-MUX 애플리케이션은 동시에 재생되는 2개의 TS 중에 저장된 엘리멘터리 스트림의 종류별로 하나까지(다시 말해, 프라이머리 TS와 세컨더리 TS에 저장되어 있는 비디오 1개, 오디오 1개, 자막 1개, 메뉴 1개까지)라고 하는 제한 하에서 사용자가 자유롭게 음성 및 자막을 선택할 수 있다.
모든 BD-ROM 재생장치는 프라이머리 TS 단일체를 디코드할 수 있는 능력은 가지나, 2개의 TS를 동시에 디코드하는 능력은 없다. 따라서 Out-of-MUX 애플리케이션을 제한 없이 도입한 경우에는 하드웨어의 대규모화나 소프트웨어를 많이 추가하지 않으면 안 되므로, BD-ROM 재생장치의 비용상승으로 연결된다. 따라서 Out-of-MUX 애플리케이션의 실현시에는 프라이머리 TS만을 디코드할 수 있는 리소스 상에서 Out_of_MUX의 애플리케이션을 실현할 수 있을지 여부가 관건이 된다.
엘리멘터리 스트림의 종류별로 하나까지 재생을 허가한다고 하는 제한은 프라이머리 TS의 엘리멘터리 스트림을 세컨더리 TS의 엘리멘터리 스트림으로 「교체한다」고 생각하면 된다. 그렇게 함으로써, 1개의 TS를 디코드하는 리소스 상에서 Out_of_MUX 애플리케이션을 실현할 수 있고, 디코더 측의 비용상승을 억제할 수 있다. 본 도면의 예에서는 프라이머리 TS의 오디오, 자막(PG), 메뉴(IG) 스트림을 세컨더리 TS의 그것들과 교체하고 있다.
세컨더리 TS는, 상술한 바와 같은 로컬 스토리지인 내장 HDD 외에, 플래시 메모리나 일차 기억 메모리, 네트워크 경유의 HDD나 직접 네트워크를 통한 스트리밍 등으로부터 입력되는 경우도 있다. 설명의 편의상, 세컨더리 TS는 도 1에 나타낸 바와 같은 내장형의 HDD에서 공급되는 것으로 한다.
<로컬 스토리지(200)의 구성 2. Clip 정보>
로컬 스토리지 상에 존재하는 Clip 정보(00003.clpi, 00004.cpli)는 기본적으로는 BD-ROM에 기록되어 있는 것과 동일한 데이터 구조를 갖는다. 여기서 로컬 스토리지상의 Clip 정보의 TS_Recording_Rate는 BD-ROM으로부터의 AVClip 판독과 동일한 비트 레이트로 설정되어 있다. 즉, SubClip의 Clip 정보에 기술된 TS_Recording_Rate와 MainClip의 Clip 정보에 기술된 TS_Recording_Rate는 동일하다. 반대로, MainClip의 TS_Recording_Rate의 값과 SubClip의 TS_Recording_Rate가 다르면, 각각의 Source De-packetizer에서 버퍼에 보낼 때까지의 데이터 레이트가 어느 쪽의 TS를 보내는가에 따라서 다르게 되므로, Out-of-MUX 애플리케이션은 하나의 입력 TS로 가정할 수 있다고 하는 가정이 성립되지 않게 된다.
또, 2개의 TS 사이에서 재생되어야 할 엘리멘터리 스트림은 자유롭게 선택되므로, 프라이머리 TS의 오디오가 선택되면 Source De-packetizer에서 디코더 내의 버퍼까지가 프라이머리 TS용의 비트 레이트에 설정되고, 세컨더리 TS의 오디오가 선택되면 Source De-packetizer에서 디코더 내의 버퍼까지가 세컨더리 TS를 위한 비트 레이트가 설정되게 되어서, 재생장치 모델의 처리나 검증이 번잡해져 버리기 때문이다.
<로컬 스토리지(200)의 구성 2. PlayList 정보>
이어서, 로컬 스토리지(200) 상의 PlayList 정보에 대하여 설명한다. 확장자 "mpls"가 부여된 파일(00002.mpls)은 MainPath 및 Subpath라고 불리는 2종류의 재생경로를 묶은 것을 PlayList(PL)로 정의하는 정보이다. 도 16은 PlayList 정보의 데이터 구조를 나타내는 도면이며, 본 도면에 도시한 바와 같이, PlayList 정보는 MainPath를 정의하는 MainPath 정보(MainPath())와, 챕터를 정의하는 PlayListMark정보(PlayListMark())와, Subpath를 정의하는 Subpath 정보(Subpath())로 이루어진다. 이러한 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 정보는, 도면 중의 화살표 hc1에 나타낸 바와 같이 『Clip_ information_file_name』, 『Clip_codec_identifier』, 『SP_connection_condition』, 『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의 부호화 방식을 나타낸다.
『SP_connection_condition』은 이 SubPlayItem(현재 SubPlayItem)과, 그 하나 앞의 SubPlayItem(이전 SubPlayItem)의 접속상태를 나타낸다.
『ref_to_STC_id[0]』은 이 PlayItem이 대상으로 하고 있는 STC_Sequence를 고유하게 나타낸다.
『SubPlayItem_In_time』은 SubClip의 재생 시간 축 상에서의 SubPlayItem의 시작점을 나타내는 정보이다.
『SubPlayItem_Out_time』은 SubClip의 재생시간 축 상에서의 SubPlayItem의 종료 점을 나타내는 정보이다.
『sync_PlayItem_id』는 MainPath를 구성하는 PlayItem 중 본 SubPlayItem이 동기해야 할 것을 고유하게 지정하는 정보이다. SubPlayItem_In_time은 이 sync_PlayItem_id에 의해 지정된 PlayItem의 재생시간 축 상에 존재한다.
『sync_start_PTS_of_PlayItem』은 sync_PlayItem_id에 의해 지정된 PlayItem의 재생시간 축 상에서 SubPlayItem_In_time에 의해 지정된 SubPlayItem의 시작점이 어디에 존재하는가를 나타낸다.
<SubPath 정보에 대한 상세 2. 3자의 관계>
여기에서의 3자란, 로컬 스토리지(200) 상의 SubClip, 로컬 스토리지(200) 상의 PlayList 정보, BD-ROM 상의 MainClip의 3자를 말한다.
도 18은 로컬 스토리지(200) 상의 SubClip과, 로컬 스토리지(200) 상의 PlayList 정보와, BD-ROM 상의 MainClip과의 대응을 나타내는 도면이다. 본 도면에서 제 1 단째는 로컬 스토리지(200) 상에 존재하는 SubClip을 나타낸다. 이 제 1 단째에 나타낸 바와 같이, 로컬 스토리지(200) 상의 SubClip 내의 세컨더리 TS에는 오디오 스트림, PG 스트림, IG 스트림이라는 종별이 있다. 이들 중 어느 하나가 SubPath로서 동기 재생에 제공되게 된다.
제 2 단째는 PlayList 정보에 의해 정의되는 2개의 시간 축을 나타낸다. 제 2 단째 중 하측의 시간 축은 PlayItem 정보에 의해 정의되는 PlayList 시간 축을 나타내고, 상측의 시간 축은 SubPlayItem에 의해 정의되는 SubPlayItem 시간 축을 나타낸다.
본 도면에 도시한 바와 같이, SubPlayItem 정보의 SubPlayItem_Clip_ information_file_name은 SubClip을 저장한 .m2ts 파일 중 어느 것을 재생구간의 대상으로서 선택하는가 라고 하는, SubClip 선택의 역할을 담당하고 있다는 것을 알 수 있다.
그리고 SubPlayItem.IN_time, SubPlayItem.Out_time은 SubClip상의 재생구간의 시작점 및 종료 점을 정의한다고 하는 역할을 하고 있다는 것을 알 수 있다.
화살표 Sync_PlayItem_Id는 어느 PlayItem과의 동기를 의도하고 있는가 라는 동기지정의 역할을 담당하고, sync_start_PTS_of_PlayItem은 PlayList 시간 축 상에서의 SubPlayItem_In_time의 위치를 결정하는 역할을 담당한다.
이상이 SubPath 정보에 대한 설명이다.
<STN_table>
이 로컬 스토리지(200) 상의 PlayList 정보에서 특징적인 것은 STN_table이다. 이하, 로컬 스토리지(200) 상의 PlayList 정보에 대하여 설명한다.
STN_table은 PlayItem 정보의 Clip_information_file_name에 의해 지정되어 있는 MainClip에 다중화된 복수의 엘리멘터리 스트림 및 SubPlayItem 정보의 Clip_information_file_name에 의해 지정된 SubClip에 다중화되어 있는 복수의 엘리멘터리 스트림 중 동시에 재생하도록 허가되어 있는 조합을 하나 이상 나타내는 테이블이다. PlayList 정보에서의 STN_Table에서 동시에 재생하도록 허가되어 있는 복수의 엘리멘터리 스트림은 소위 "시스템 스트림(system stream)"을 구성하게 된 다.
구체적으로 말하면, STN_table은 MainClip에 다중화되어 있는 복수의 엘리멘터리 스트림 및 SubClip에 다중화되어 있는 엘리멘터리 스트림의 각각에 대한 Stream_entry를 Stream_attribute와 대응시킴으로써 구성된다.
도 19 (a)는 STN_table의 내부 구성을 나타내는 도면이다. 본 도면에 도시한 바와 같이, STN_table은 STN_table에서의 entry와 attribute와의 세트(entry-attribute)를 복수 포함하며, 이들 entry-attribute의 세트의 개수(number_ of_video_stream_entries, number_of_audio_stream_entries, number_of_PG_stream_ entries, number_of_IG_stream_entries)를 나타내는 데이터 구조로 되어 있다.
entry-attribute의 세트는, 도면 중의 괄호기호 "{"로 나타낸 바와 같이, PlayItem에서 재생 가능한 비디오 스트림, 오디오 스트림, PG 스트림, IG 스트림의 각각에 대응하고 있다.
entry-attribute의 상세에 대하여 설명한다.
도 19 (b)는 비디오 스트림에 대응한 Stream_attribute를 나타내는 도면이다.
비디오 스트림에서의 Stream_attribute는 비디오 스트림의 표시방식을 나타내는 『Video_format』과 비디오 스트림의 표시 주파수를 나타내는 『frame_rate』 등을 포함한다.
도 19 (c)는 오디오 스트림에 대응한 Stream_attribute를 나타내는 도면이다.
오디오 스트림에서의 Stream_attribute는 오디오 스트림의 부호화방식을 나타내는 『stream_coding_type』과, 대응하는 오디오 스트림의 채널 구성을 나타내는 『audio_presentation_type』과, 대응하는 오디오 스트림의 샘플링 주파수를 나타내는 『Sampling_frequency』와, 오디오 스트림의 언어속성을 나타내는 『audio_language_code』로 이루어진다.
도 19 (d)는 비디오 스트림에서의 Stream_entry를 나타내는 도면이다. 본 도면에 나타낸 바와 같이, 비디오 스트림의 Stream_entry는 비디오 스트림의 다중분리에 이용되는 PID를 나타내는 「ref_to_Stream_PID_of_Main_Clip」을 포함한다.
MainClip에서, 다중화되어 있는 오디오 스트림, IG 스트림, PG 스트림의 Stream_attribute는 도 19 (d)의 형식으로 되어 있다.
<재생이 허가되어 있는 엘리멘터리 스트림의 데이터량의 제한>
STN_table은 BD-ROM에서 판독되는 엘리멘터리 스트림, 로컬 스토리지에서 판독되는 엘리멘터리 스트림 중 재생이 허가되어 있는 것을 나타내나, 이러한 STN_table이 무제한으로 엘리멘터리 스트림의 재생을 허가하고 있다고 하면 디코더 시스템의 파탄을 초래할 우려가 있다.
그 이유는 이하와 같다. MPEG2의 디코더 시스템 표준에 의하면, 하나의 트랜스포트 스트림에서의 ATC 시간 축의 TS패킷 간에는 오버랩이 존재해서는 안 된다. 이것은 디코더 시스템에서 올바르게 디코드 처리를 행하게 하기 위한 기본원칙이다. 한편, BD-ROM에서의 스트림의 재생이 허가되는 동시에 로컬 스토리지에서의 스트림의 재생이 허가되어 있고, BD-ROM으로부터의 AVClip 재생과 로컬 스토리지로부 터의 AVClip의 재생을 동시에 실행하는 경우, BD-ROM으로부터의 TS패킷과 로컬 스토리지로부터의 TS패킷에 오버랩이 생겨버린다.
그래서 본 실시 예에서는 디코드 엘리멘터리 스트림에 이하와 같은 제한을 부과하고 있다.
디코드 엘리멘터리 스트림이란, STN_table에서 재생이 허가되어 있고, 동시에 재생하기 위해서 선택된 비디오 스트림, 오디오 스트림, PG 스트림, IG 스트림이다. 디코드 엘리멘터리 스트림에는 로컬 스토리지로부터 판독되는 것과 BD-ROM으로부터 판독되는 것 양자가 있다.
디코드 엘리멘터리 스트림에 부과되는 제한이란, STN_table에서 동시 재생이 허가되어 있는 엘리멘터리 스트림을 포함하고, 재생이 허가되어 있지 않은 엘리멘터리 스트림을 포함하지 않는 AVClip(MainClip, SubClip)을 구성하는 TS패킷(Decoding TS패킷)의 1초당 비트 양은 48Mbit 이하가 된다고 하는 것이다.
이 1초라고 하는 단위시간은, "Window"라고 불리며, ATC Sequence의 시간 축 상의 임의의 위치에 놓인다. 즉, 디코드 엘리멘터리 스트림에서의 비트 양은 어떤 1초의 기간에서도 이 48Mbit 이하라고 하는 조건을 만족할 필요가 있다.
도 20은 BD-ROM에서 판독된 TS패킷과 로컬 스토리지에서 판독된 TS패킷을 나타내며, 이들 TS패킷 중 디코더에 공급되는 것을 나타낸다. 본 도면의 제 1 단째는 BD-ROM에서 판독된 복수의 TS패킷, 제 3 단째는 로컬 스토리지에서 판독된 복수의 TS패킷을 나타낸다. 이들 제 1 단째, 제 3 단째의 TS패킷 중 해칭이 부가된 것이 디코드 엘리멘터리 스트림을 구성하는 TS패킷(Decoding TS패킷)이다. 본 도면에서 의 제 2 단째는 제 1 단째에 나타낸 Decoding TS패킷 및 제 3 단째에 나타낸 Decoding TS패킷 중 1초라고 하는 기간에 속하는 것을 나타낸다. 상술한 바와 같이, MPEG2의 디코더 시스템 표준에 의하면, 하나의 트랜스포트 스트림에서의 ATC 시간 축의 TS패킷 사이에는 오버랩이 존재해서는 안 된다. 그러나 본 도면에 의하면 ATC 시간 축에서 TS패킷 간의 오버랩(rp1, rp2, rp3)이 발생하고 있다는 것을 알 수 있다. 이와 같이, Window라고 하는 단위시간에서 TS패킷 동작의 오버랩이 허용되고 있는 것이다. 그러나 MPEG2의 디코더 시스템 표준에는 없는 다른 요건이 부과되어 있다. 그것이 상술한 1 Window당 48Mbit 이하라고 하는 제한이다. 제 4 단째는 이 제 2 단째에 나타낸 Decoding TS패킷이 만족해야 할 조건을 수식으로 나타내고 있다. 이 수식의 의미는 상술한 Decoding TS패킷의 개수를 비트 수로 환산한 값(TS패킷의 바이트 수인 188을 곱해서, 비트 수 8로 나타낸 값)이 48Mbit 이하가 된다고 하는 것이다.
임의의 1초라고 하는 기간에서 Decoding TS패킷에 이상과 같은 조건을 부과하는 것이 본 실시 예에서의 비트 양의 제한이다. Out_of_MUX 애플리케이션을 위한 편집시에는, 소스 패킷 열에서 이러한 Window를 1 패킷씩 시프트 시키면서, 1초라고 하는 기간 내의 Decoding TS패킷의 비트 수가 48Mbit 이하라고 하는 제한을 만족하는가 여부를 확인한다. 만약, 제한을 만족하면 다음의 TS패킷으로 Window를 시프트 시키고, 제한을 만족하지 않으면 BD-ROM 규격에 위반하고 있다고 단정한다. 그리고 이러한 시프트를 반복한 결과, Window의 Out_Time이 최후의 소스 패킷에 도달하면, 당해 소스 패킷은 BD-ROM 규격에 정합(整合)하는 것으로 판정을 내린다.
<Window의 시프트>
TS패킷 각각에는 27MHz의 시간 정밀도를 갖는 ATS가 부여되어 있다. ATC 시간 축 상의 좌표는 1/27,000,000초라고 하는 시간 정밀도를 가지나, 이 ATC 시간 축 상의 각 좌표에 ATS가 존재한다고는 할 수 없다. ATC 시간 축에는 ATS가 전혀 존재하지 않는 기간이나 ATS가 존재하는 기간이 불규칙하게 나타난다. ATS의 출현에 변화가 있으므로, Window를 시프트 함에 있어서, In_Time으로부터 1초 후에 ATS가 존재하지 않는 경우에 Window의 Out_Time을 어떻게 조정하는가가 문제가 된다.
Window의 Out_Time은 원칙적으로 In_Time의 1초 후로 설정된다. 여기서 ATC 시간 축에서 In_Time의 1초 후에 해당하는 좌표에 ATS가 존재하면 In_Time+1초의 좌표를 Out_Time으로 한다. 만약, In_Time의 1초 후에 해당하는 좌표에 ATS가 존재하지 않으면, In_Time+1초 이후로서, ATS가 처음으로 나타나는 ATC 시간 축의 좌표를 Out_Time으로 한다. ATS의 공백기간을 고려하면서 Out_Time을 조정하여 Window를 시프트하므로, Window가 시프트 할 때마다 다른 비트 값이 산출된다. In_Time을 1 TS패킷씩 시프트하고, 이에 따라 Out_Time을 조정함으로써, ATC 시간 축에서의 비트 값의 천이를 치밀하게 계산해 갈 수 있다.
도 21은 Window의 시프트를 나타내는 도면이다. (a)~(d) 각각 중, 상단은 검증(verification)의 대상이 되는 소스 패킷 열을 나타내고 하단은 Window의 In_Time 및 Out_Time을 나타낸다. 동 도면 (a)에서는 Window의 In_Time은 소스 패킷#i를 지정하고 있다. 이 Window의 In_Time으로부터 1초 후에 존재하는 TS패킷#j가 Window의 Out_Time으로 설정된다.
동 도면 (b)에서는 Window의 In_Time은 소스 패킷#i+1을 지정하고 있다. 한편, 이 Window의 In_Time으로부터 1초 후에는 소스 패킷#j+1에 해당하는 좌표에는 소스 패킷의 ATS가 존재하지 않는다. 이 (b)에서의 Window의 Out_Time은 TS패킷 #j를 초과한 것이 되나, TS패킷#j의 직후에 소스 패킷이 존재하지 않으므로, (b)의 Window에서의 비트 레이트는 (a)의 Window에서의 비트 레이트보다 적어진다. 그렇게 되면 (b)의 Window는 확인할 값어치가 없어지게 된다. 그래서, Out_Time의 조정에 의해 Window의 In_Time으로부터 1초 이후에 처음으로 나타나는 TS패킷#j+2를 Window의 Out_Time으로 한다. Out_Time을 이와 같이 설정하면 (b)의 Window는 확인할 값어치가 있게 된다.
동 도면 (c)에서는 Window의 In_Time은 소스 패킷#i+2를 지정하고 있다. 한편, 이 Window의 In_Time으로부터 1초 후에는 소스 패킷#j+2가 위치하고 있다. 이 (c)의 Window는 TS패킷의 수가 (b)의 Window에서의 수와 변화가 없으므로 확인할 필요가 없다. 따라서, 이 (c)에서는 확인이 행해지지 않고, Window의 In_Time을 더 시프트 시킨다.
동 도면 (d)에서는 Window의 In_Time은 소스 패킷#i+3을 지정하고 있다. 한편, 이 Window_In_Time으로부터 1초 후에는 소스 패킷#j+3에 해당하는 위치에는 소스 패킷이 존재하지 않는다. 그러므로 상술한 바와 같은 Out_Time의 조정을 행하여, Window의 In_Time으로부터 1초 이후에 처음으로 나타나는 TS패킷 #j+4를 Window의 Out_Time으로 한다. 이렇게 함으로써 Window 내의 TS패킷 수는 (b)와 달라지게 되며, 확인할 값어치가 있다.
이상과 같은 Window 시프트를 수반하는 비트 양 확인을 편집시에 실행함으로써, 로컬 스토리지 및 BD-ROM에서 TS패킷이 판독되어 디코더에 공급되었다고 해도 언더 플로 또는 오버플로를 초래하지 않는다는 보장이 가능하게 된다.
이상의 Window 시프트에 의한 보장을 도 22~도 26의 구체 예를 참조하면서 설명한다.
도 22의 제 1 단째는 BD-ROM에서 판독된 TS패킷 및 로컬 스토리지에서 판독된 TS패킷의 데이터량의 시간적 추이를 나타내는 그래프이다. 횡축은 시간 축이고, 종축은 시간 축 상의 각 시점에서의 전송량을 나타낸다. 이 그래프에서 BD-ROM 및 로컬 스토리지로부터의 판독시의 비트 양은 점선의 곡선과 같이 추이 한다.
도 22의 제 2 단째는 BD-ROM에서 판독된 TS패킷, 로컬 스토리지에서 판독된 TS패킷 중 디코더에 공급되는 TS패킷의 합계 데이터량을 나타낸다. 합계 전송량의 시간적 추이는 실선의 곡선에 나타낸 바와 같이 된다. 이 합계 데이터량은 STN_table에서 허가된 스트림에 속하는 TS패킷의 합계량이 된다. 최악의 경우에는 합계 전송량이 96Mbit 가까이 되며, 이 데이터량의 TS패킷이 공급될 것으로 생각된다. 그래프의 시간 축을 7개의 Window로 분할하고, 각각의 Window에서의 공급량과 Window별 전송허용량을 대비한다.
도 22의 제 3단째는 도 22의 제 2 단째에서의 그래프를 1초라고 하는 기간으로 구분한 것이며, 도 23 (a), (b)는 각 Window의 전송 허용량과 Window에서 디코더로 공급되는 공급량을 대비하여 나타내는 도면이다. Window에서의 전송 허용량은 1초당 48Mbit이고, 0.5초로 환산하면 96Mbit가 된다. 도면 중의 패턴 pn1의 해칭은 디코더로 공급되는 데이터 공급량을 나타낸다. 도면 중의 패턴 pn2의 해칭은 Window별 전송 허용량을 나타낸다. 패턴 pn1의 해칭이 부가된 부분의 면적이 어느 Window에서도 패턴 pn2의 해칭이 부가된 부분의 면적 이하로 되어 있다. 이것은 BD-ROM 및 로컬 스토리지로부터의 데이터 공급량이 어느 Window에서도 Window에서의 전송 허용량 이하로 억제되어 있다는 것을 의미한다.
ATC 시간 축 상의 어느 시점에서도 1초당 디코더로 전송되는 전송 허용량은 48Mbit 이하가 되므로, 비록 국소적으로 디코더로 전송하는 전송 허용량이 96Mbit 가까이 되었다고 해도, 48Mbit=96Mbit×0.5초의 계산에 의해, 이러한 96Mbit에서의 전송이 0.5초 계속되는 경우는 있을 수 없다. 따라서 디코더가 이 피크가 도래하기 전에 BD-ROM과 로컬 스토리지에서 디코더로의 선 판독(prier read operation)을 행하면, 디코더 내 버퍼의 언더 플로 또는 오버플로가 발생하는 경우는 발생하는 일은 없다.
Window에서의 전송 허용량, 즉, 1초당 48Mbit라고 하는 수치는 MPEG에 준거한 디코더가 버퍼에 선 판독할 수 있는 수치를 기준으로 정한 것이다. 버퍼에 선 판독할 수 있는 데이터량이 더 큰 경우에는, 1초당 데이터량을 더 크게 하거나, Window의 시간 길이를 더 길게 할 수 있다. 이로부터, 본 발명에 관한 수치범위는 1초당 48Mbit라고 하는 것에 한정되는 것은 아니다.
이상이 STN_table에서 재생이 허가되어 있는 세컨더리 TS에서의 데이터량 제한에 대한 설명이다.
<connection_condition 정보, sp_connection_condition 정보의 설정>
이어서, Out_of_MUX 애플리케이션을 실현하는 경우의 PlayItem에서의 connection_condition 정보 및 SubPlayItem에서의 sp_connection_condition 정보의 설정에 대하여 설명한다. connection_condition 정보의 필드 수 및 sp_connection_ condition 정보의 필드 수는 "1", "5", "6"의 수를 취할 수 있고, 각각 다음과 같은 의미가 있다.
connection_condition=1(CC=1) : 이 PlayItem(현재 PlayItem)과 직전의 PlayItem(이전 PlayItem)은 심리스 접속(seamless connection)된다는 보증이 없다. 즉, 프리즈(freeze)하여 재생이 도중에 끊어지는 것이 허용된 접속형태(비 심리스 접속(non-seamless connection))이다.
connection_condition=5(CC=5) : 현재 PlayItem 측의 MainClip에 다중화되어 있는 비디오 스트림, PG 스트림, IG 스트림과, 이전 PlayItem 측의 MainClip에 다중화되어 있는 비디오 스트림, PG 스트림, IG 스트림과 심리스 접속된다는 보증이 있다. 한편, MainClip에 다중화되어 있는 오디오 스트림에 대해서는 그렇지 않다.
connection_condition=6(CC=6) : 현재 PlayItem과 이전 PlayItem에 속하는 각각의 TS 스트림은 논리적으로 연속하고(시간 축이 연속해 있고, 부호화방식도 연속해 있다), 오디오 스트림, 비디오 스트림 모두 심리스 접속된다는 보증이 있다.
SubPlayItem#n 내에 기술된 sp_connection_condition 정보는 다음과 같이 정의할 수 있다.
sp_connection_condition정보(SP_CC=1) : 이 SubPlayItem(현재 SubPlayItem) 과 직전의 SubPlayItem(이전 SubPlayItem)은 심리스 접속된다는 보증이 없다.
sp_connection-condition정보(SP_CC=5) : 현재 SubPlayItem 측의 SubClip에 다중화되어 있는 PG 스트림, IG 스트림과, 이전 SubPlayItem 측의 SubClip에 다중화되어 있는 PG 스트림 및 IG 스트림이 심리스 접속된다는 보증이 있다. 한편, SubClip에 다중화되어 있는 오디오 스트림에 대해서는 그렇지 않다.
sp_connection_condition정보(SP_CC=6) : 현재 SubPlayItem과, 이전 SubPlayItem에 속하는 각각의 TS 스트림은 논리적으로 연속해 있고(시간 축이 연속해 있고, 부호화 방식도 연속해 있다), 심리스 접속된다는 보증이 있다.
Out_of_MUX 애플리케이션을 실현하는 PlayItem에 대하여 설정되어야 할 SubPlayItem은 SubPlayItem 내의 비디오 스트림이나 오디오 스트림, 또는 PG 스트림이나 IG 스트림이 PlayItem 내에 있었다고 해도 부정합을 일으키지 않도록 해야 한다. 따라서, 완전히 동일한 접속조건이 된다. 즉, PlayItem#1, PlayItem#2가 CC=1로 접속되면, 그에 대응하는 SubPlayItem#1, SubPlayItem#2도 CC=1로 접속된다.
마찬가지로, PlayItem#1, PlayItem#2가 CC=5로 접속되면, 그에 대응하는 SubPlayItem#1, SubPlayItem#2도 CC=5의 조건을 만족하면서 접속된다.
이하, 도 24, 도 25, 도 26을 참조하면서 Out_of_MUX 애플리케이션을 구성하는 PlayItem 및 SubPlayItem의 In_Time 및 Out_Time의 관계와, connection_condition 정보의 상세에 대하여 설명한다.
<In_Time 및 Out_Time의 관계>
도 24는 Out_of_MUX를 구성하는 PlayItem, SubPlayItem의 접속상태를 나타내는 도면이다. 본 도면에서의 제 1 단째는 SubClip 시간 축이고, 제 2 단째, 제 3 단째는 SubPlayItem 시간 축, PlayList 시간 축이다. 제 4 단째는 MainClip 시간 축이다. 본 도면에서 PlayItem 측의 connection_condition 정보가 "=5"인 경우, SubPlayItem 측의 connection_condition정보도 SP_CC=5가 된다.
도 25는 도 24에 나타낸 PlayItem의 connection_condition 정보, SubPlayItem의 sp_connection_condition 정보가 "=5"로 설정되어 있는 경우의 PlayItem에서의 In_Time 및 Out_Time과, SubPlayItem에서의 In_Time 및 Out_Time의 관계를 나타내는 도면이다. 제 1 단째, 제 4 단째는 도 24와 동일하다. 도 24에 나타낸 2개의 PlayItem(PlayItem정보#1, PlayItem정보#2) 중, PlayItem 정보#1의 In_Time은 시각 t1을 나타내고, Out_Time은 시각 t2를 나타낸다. PlayItem정보#2의 In_Time은 시각 t3, PlayItem정보#2의 Out_Time은 시각 t4를 나타낸다.
PlayItem 측의 접속상태가 CC=5로 설정되어 있으면, SubPlayItem에서의 Sync_Start_Pts_of_PlayItem은 PlayItem의 In_Time과 동일한 시점을 나타낸다. 그리고 SubPlayItem에서의 In_Time 및 Out_Time은 PlayItem의 In_Time 및 Out_Time과 동일한 시각을 나타낸다. 이와 같이, PlayItem의 connection_condition정보가 "=5"인 경우, SubPlayItem의 sp_connection_condition정보도 "=5"로 설정되고, 또한, PlayItem의 In_Time 및 Out_Time은 SubPlayItem의 In_Time 및 Out_Time과 동일한 시점을 나타낸다.
PlayItem의 In_Time 및 Out_Time, SubPlayItem의 In_Time 및 Out_Time은 각 각 비디오 프레젠테이션 유닛 및 오디오 프레젠테이션 유닛의 PTS를 참조하고 있다. PlayItem의 In_Time 및 Out_Time과, SubPlayItem의 In_Time 및 Out_Time이 일치하고 있다고 하는 것은 PlayItem의 In_Time 및 Out_Time에서 참조되는 비디오 프레젠테이션 유닛 및 오디오 프레젠테이션 유닛의 PTS 값이 SubPlayItem의 In_Time 및 Out_Time에서 참조되는 비디오 프레젠테이션 유닛 및 오디오 프레젠테이션 유닛의 PTS 값과 동일하다는 것을 의미한다. 그렇다면, 프라이머리 TS 및 세컨더리 TS는, 시간 길이가 동일하고, 편집시에 비디오 프레젠테이션 유닛 및 오디오 프레젠테이션 유닛의 PTS가 동일하게 되도록 인코드 될 필요가 있다. 이와 같이 프라이머리 TS 및 세컨더리 TS를 작성해 두는 것도 CC=5, SP_CC=5를 실현할 때의 조건이 된다.
<동기재생시에 참조해야 할 STC 값>
도 26은 PlayItem의 In_Time에서부터 Out_Time까지에 존재하는 부분을 재생하는 경우에 참조 되어야 할 STC 값, SubPlayItem의 In_Time에서 Out_Time까지에 존재하는 부분을 재생하는 경우에 참조 되어야 할 STC 값을 나타낸다. 제 2 단째, 제 3 단째는 앞에서 설명한 도면과 동일하다. 제 1 단째는 SubPlayItem의 In_Time에서부터 Out_Time까지에 존재하는 부분을 재생하는 경우에 참조 되어야 할 STC 값을 그래프 형식으로 나타내고 있다. 제 4 단째도 PlayItem의 In_Time에서 Out_Time까지에 존재하는 부분을 재생하는 경우에 참조 되어야 할 STC 값을 그래프 형식으로 나타내고 있다. 제 1 단째에서의 횡축은 시간 축이고, 종축은 시간 축 상의 각 시점에서의 STC 값을 나타낸다. 제 1 단째에서의 STC 값은 SubPlayItem정보#1의 In_Time에서 Out_Time까지의 기간에서의 단조증가 zk1과, SubPlayItem정보#2의 In_Time에서 Out_Time까지의 기간에서의 단조증가 zk2로 이루어진다. 제 4 단째에서의 STC 값은 PlayItem정보#1의 In_Time에서 Out_Time까지의 기간에서의 단조증가 zk3과, PlayItem정보#2의 In_Time에서 Out_Time까지의 기간에서의 단조증가 zk4로 이루어진다.
PlayItem의 In_Time은 SubPlayItem의 In_Time과 동일한 시점을 나타내므로, 상술한 그래프에서 STC의 초기치는 동일하고, 도중의 시점에서도 동일해진다. 즉, PlayItem의 In_Time에서 Out_Time까지에 존재하는 임의의 시점 i의 소스 패킷을 디코더에 공급할 때에 참조해야 할 STC 값인 STC2(i)는 SubPlayItem의 In_Time에서 Out_Time까지에 존재하는 동일한 시점 i의 소스 패킷을 디코더에 공급할 때에 참조해야 할 STC 값인 STC(i)과 동일하게 된다. STC 값이 동일하면, 장치 내의 STC 카운터는 동일한 클록 값을 생성하여 다중분리부에 공급하면 되므로, 재생장치에서의 제어가 간략화된다.
만일, 상술한 도 25, 도 26의 제어에 반해서, 하나의 PlayItem에 대하여 2개 이상의 SubPlayItem을 준비한 경우, 그 SubPlayItem의 경계에서 영상이나 음성이 도중에 끊어져 버려서, PlayItem의 도중에서 재생이 일시정지하는 등의 불편이 발생한다. 또, Out_of_MUX 애플리케이션에서 프라이머리 TS를 세컨더리 TS로 교체하는 처리를 실현하는 경우, 이 교체 전후에서 STC 시간 축을 절환(switching) 할 필요가 있으므로 재생장치에서의 동기제어가 복잡해진다. 한편, PlayItem 또는 SubPlayItem의 In_Time 및 Out_Time을 함께 연속적인 STC 시간 축에 정의한 경우, 상술한 바와 같은 e도중에서 끊어지거나 트랜스포트 스트림 교체의 문제를 피할 수 있다. 이러한 사정에서, 하나의 PlayItem에 대하여 동일한 개시 점, 동일한 종료 점을 SubPlayItem이 가지게 하는 것이다.
<In_Time 및 Out_Time의 오차>
여기서, PlayItem에서의 In_Time 및 Out_Time과, SubPlayItem에서의 In_Time 및 Out_Time과의 일치는 완전히 일치할 것을 요구하는 것은 아니며, 다소의 오차를 허용한다는 취지이다. 이 In_Time 및 Out_Time간의 오차에 대하여 설명한다.
PlayItem의 In_Time 및 Out_Time이 되는 STC 시각은 PlayItem이 비디오 프레임에 대해서 설정된다. 이에 대해서 SubPlayItem에서는 오디오 프레임에 대해서 설정되게 된다. 왜냐하면, SubPlayItem은 커멘터리(commentary)가 주용도이며 비디오 스트림이 다중화되지 않는 경우가 많기 때문이다. 이 경우, 엄밀하게는 각각의 프레젠테이션 유닛의 재생시간 길이의 차이에서 개시/종료시각이 일치하지 않는다. 따라서 최저라도 1프레임 미만의 오차를 인정할 필요가 있다. PlayItem#n과 SubPlayItem#n의 개시/종료시각에 관해서, 어느 것도 동일한 STC 시간 축에 대해서,
|(PlayItem#n.Out-PlayItem#n.In)-(SubPlayItem#n.Out_Time-SubPlayItem #n.In_time)|≤PlayItem#n 중에서 최소의 재생시간을 갖는 비디오의 1 프로그래시브 프레임(progressive frame) 또는 2 인터레이스 필드(interace filed)의 재생시간 ≤1/60초
로도 규정한다. 상기 좌변의 값은 PlayItem#n 중에서 최대의 재생시간을 갖 는 비디오의 1 프로그래시브 프레임 또는 2 인터레이스 필드의 재생시간(≤1/25초)으로 해도 되고, 1초 이하 등으로 하여도 된다.
이상이 PlayItem, SubPlayItem에서의 In_Time 및 Out_Time의 관계에 관한 설명이다.
다음에 connection_condition 정보, sp_connection_condition 정보에 대하여 자세히 설명한다. CC=5, SP_CC=5의 조건을 만족하기 위해서는, AV 스트림의 레벨, 트랜스포트 스트림의 레벨, 비디오 프레젠테이션 유닛 및 오디오 프레젠테이션 유닛의 레벨, 엘리멘터리 스트림의 레벨 모두에서 이하에 설명하는 조건을 만족할 필요가 있다.
<AV 스트림의 레벨>
현재 PlayItem의 connection_condition 정보 및 sp_connection_condition정보가 "5"로 설정되어 있다는 것은 이전 PlayItem(Previous PlayItem)에서 재생되는 AV 스트림의 종료 점과 현재 PlayItem에서 재생되는 AC 스트림의 개시 점 사이에 "Clean Break"가 존재한다는 것을 의미한다.
Clean Break를 실현하려면, 이전 PlayItem에서 재생되는 AVClip과 현재 PlayItem에서 재생되는 AV 스트림이 이하의 요건을 만족하지 않으면 안 된다.
(1) 이전 PlayItem에 지정되어 있는 MainClip의 종료 점에 불필요한 액세스 유닛이 존재하지 않고, PTS를 갖는 불필요한 액세스 유닛이 이전 PlayItem의 Out_Time 이후에서 배제되어 있을 것.
마찬가지로, 이전 SubPlayItem(Previous SubPlayItem)에 지정되어 있는 SubClip의 종료 점에 불필요한 액세스 유닛이 존재하지 않고, PTS를 갖는 불필요한 액세스 유닛이 이전 SubPlayItem의 Out_Time 이후에서 배제되어 있을 것.
(2) 현재 PlayItem에서 지정되는 AV 스트림의 개시 점에서 PTS를 갖는 불필요한 액세스 유닛이 현재 PlayItem의 In_Time의 앞에서 제거되어 있을 것. 그리고 MainClip의 최초의 오디오 프레젠테이션 유닛이 STC 시간 축의 In_Time에서 재생되는 Sample를 포함하고 있을 것.
마찬가지로, 현재 SubPlayItem(Current SubPlayItem)에서 지정되는 AV 스트림의 개시 점에서 PTS를 갖는 불필요한 액세스 유닛이 현재 SubPlayItem의 In_Time의 앞에서 제거되어 있을 것. 그리고 SubClip의 최초의 오디오 프레젠테이션 유닛이 STC 시간 축의 In_Time에 재생되는 Sample를 포함하고 있을 것.
(3) 이전 PlayItem에서 지정되는 MainClip을 구성하는 모든 소스 패킷이 현재 PlayItem에서 지정되는 MainClip의 선두 패킷이 보내어지기 전에 디코더 시스템에 포함되도록 다중화될 것.
마찬가지로, 이전 SubPlayItem에서 지정되는 SubClip의 모든 데이터가 현재 SubPlayItem에서 지정되는 SubClip의 선두 패킷이 보내어지기 전에 디코더 시스템에 포함되도록 다중화될 것.
이상이 AV 스트림에서 만족해야 할 조건에 대한 설명이다. 이어서 트랜스포트 스트림의 레벨에서 만족해야 할 조건에 대하여 설명한다.
<트랜스포트 스트림의 레벨>
여기서 CC=5에서 심리스 접속의 대상이 되는 2개의 프라이머리 TS를 프라이 머리 TS1, 프라이머리 TS2라고 한다. SP_CC=5에서 심리스 접속의 대상이 되는 2개의 프라이머리 TS를 세컨더리 TS1, 세컨더리 TS2라고 한다.
도 27은 이전 PlayItem, 이전 SubPlayItem에서 참조되어 있는 AVClip, 현재 PlayItem, 현재 SubPlayItem에 참조되어 있는 AVClip에서 TS1, TS2가 어떻게 특정되는가를 나타내는 도면이다. 본 도면에서의 제 4 단째는 프라이머리 TS1, 프라이머리 TS2를 나타내고, 제 3 단째는 이전 PlayItem 측의 MainClip1, 현재 PlayItem 측의 MainClip2를 나타낸다. 제 1 단째는 세컨더리 TS1, 세컨더리 TS2를 나타내고, 제 2 단째는 이전 SubPlayItem 측의 SubClip1, 현재 SubPlayItem 측의 SubClip2를 나타낸다.
프라이머리 TS1은 MainClip1에서 해칭이 부가된 데이터로 구성된다. MainClip1에서의 해칭이 부가된 데이터는 이전 PlayItem에서의 In_Time에 대한 디코드를 개시할 수 있는 소스 패킷에서 시작한다. 이러한 소스 패킷은 In_Time이 참조하고 있는 비디오 프레젠테이션 유닛 및 오디오 프레젠테이션 유닛의 선두에 위치하는 것이다. 그리고 해칭이 부가된 데이터는 MainClip1의 최후의 패킷에서 종료한다.
프라이머리 TS2는 MainClip2에서 해칭이 부가된 데이터로 구성된다. MainClip2에서 해칭이 부가된 데이터는 MainClip2의 최초의 소스 패킷에서 시작한다. 그리고 MainClip에서 해칭이 부가된 데이터는 현재 PlayItem에 대한 디코드를 종료하는 소스 패킷에서 종료한다. 이러한 소스 패킷은 현재 PlayItem의 Out_Time에서 참조되는 비디오 프레젠테이션 유닛 및 오디오 프레젠테이션 유닛의 말미에 위치하는 소스 패킷이다.
세컨더리 TS1은 SubClip1에서 해칭이 부가된 데이터로 구성된다. SubClip1에서의 해칭이 부가된 데이터는 이전 SubPlayItem에서의 In_Time에 대한 디코드를 개시할 수 있는 소스 패킷에서 시작한다. 이러한 소스 패킷은 In_Time이 참조하고 있는 비디오 프레젠테이션 유닛 및 오디오 프레젠테이션 유닛의 선두에 위치하는 것이다. 그리고 해칭이 부가된 데이터는 SubClip1의 최후의 패킷에서 종료한다.
세컨더리 TS2는 SubClip2에서 해칭이 부가된 데이터로 구성된다. SubClip2에서 해칭이 부가된 데이터는 SubClip2의 최초의 소스 패킷에서 시작한다. 그리고 SubClip에서 해칭이 부가된 데이터는 현재 PlayItem에 대한 디코드를 종료하는 소스 패킷에서 종료한다. 이러한 소스 패킷은 현재 SubPlayItem의 Out_Time에서 참조되는 비디오 프레젠테이션 유닛 및 오디오 프레젠테이션 유닛의 말미에 위치하는 소스 패킷이다.
이상의 설명으로부터 CC=5, SP_CC=5에서 접속해야 할 2개의 트랜스포트 스트림이 MainClip, SubClip 내에 어떻게 배치되는지를 알 수 있다. 이전 PlayItem 측의 MainClip은 이전 PlayItem의 Out_Time에서 참조되는 비디오 프레젠테이션 유닛 및 오디오 프레젠테이션 유닛에서 종료하고 있지 않으면 안 되고, 현재 PlayItem 측의 MainClip도 현재 PlayItem의 In_Time에서 참조되는 비디오 프레젠테이션 유닛 및 오디오 프레젠테이션 유닛에서 시작하지 않으면 안 된다. 이 관계는 이전 SubPlayItem과 동일하고, 이전 SubPlayItem 측의 SubClip은 이전 SubPlayItem의 Out_Time에서 참조되는 오디오 프레젠테이션 유닛에서 종료하고 있지 않으면 안 되 며, 현재 SubPlayItem 측의 SubClip도 현재 SubPlayItem의 In_Time에서 참조되는 오디오 프레젠테이션 유닛에서 시작하지 않으면 안 된다. 이것은, 상술한 바와 같이, 이전 SubPlayItem의 Out_Time에서 참조되는 비디오 프레젠테이션 유닛 및 오디오 프레젠테이션 유닛 이후에 여분의 오디오 프레젠테이션 유닛이 존재해서는 안 되기 때문이다. 한편, 이전 SubPlayItem 측의 SubClip은 이전 SubPlayItem의 In_Time에서 참조되는 오디오 프레젠테이션 유닛에서 시작할 필요는 없으며, 현재 SubPlayItem 측의 SubClip도 현재 SubPlayItme의 Out_Time에서 참조되는 오디오 프레젠테이션 유닛에서 종료할 필요는 없다.
이상의 도 24, 도 27로부터, 프라이머리 TS 및 세컨더리 TS는 동일한 시간 길이로 구성되고, 비디오 프레젠테이션 유닛 및 오디오 프레젠테이션 유닛의 PTS 값이 동일한 값이 되도록 작성되지 않으면 안 된다. 또한, 이전 PlayItem 측의 MainClip, 이전 PlayItem 측의 SubClip은 Out_Time에 해당하는 비디오 프레젠테이션 유닛 및 오디오 프레젠테이션 유닛에서 종료되도록 다중화되지 않으면 안 되고, 현재 PlayItem 측의 MainClip, 현재 PlayItem 측의 SubClip은 In_Time에 해당하는 비디오 프레젠테이션 유닛 및 오디오 프레젠테이션 유닛에서 개시되도록 다중화되지 않으면 안 된다.
그리고 이들 트랜스포트 스트림은 이하의 조건을 만족할 필요가 있다.
· TS1과 TS2에서의 프로그램 수가 하나일 것
· 비디오 스트림의 수가 하나일 것
· 오디오 스트림의 수가 동일할 것
· 이전 PlayItem에서의 STN_table과 현재 PlayItem에서의 STN_table은 동일한 내용이 될 것
· 각각의 PlayItem에서의 트랜스포트 스트림의 재생기간은 3초일 것
이상이 CC=5, SP_CC=5에서 2개의 스트림을 접속함에 있어서 트랜스포트 스트림의 레벨에서 만족해야 할 조건이다. 이어서 비디오 프레젠테이션 유닛 및 오디오 프레젠테이션 유닛의 레벨에서 만족해야 할 조건에 대하여 설명한다.
<비디오 프레젠테이션 유닛 및 오디오 프레젠테이션 유닛의 레벨>
CC=5는 본래 각각인 프라이머리 TS1인 비디오 스트림의 최후의 비디오 프레젠테이션 유닛의 개시시각과 프라이머리 TS2인 비디오 스트림의 최초의 비디오 프레젠테이션 유닛의 종료시각을 일치시키는 것을 말한다. 비디오 프레젠테이션 유닛의 종료시각 및 개시시각을 일치시키려고 하면, 이러한 비디오 프레젠테이션 유닛과 동기재생해야 할 오디오 프레젠테이션 유닛의 취급이 문제가 된다. 왜냐하면, 비디오와 오디오는 샘플링 주파수가 다르고, 비디오 프레젠테이션 유닛 및 오디오 프레젠테이션 유닛의 시간 길이는 일치하지 않기 때문이다.
도 28은 CC=5 및 SP_CC=5의 상세를 나타내는 도면이다. 제 1 단째~제 3 단째는 SubPlayItem에서의 connection_condition을 나타내고, 제 4 단째~제 7 단째는 PlayItem에서의 sp_connection_condition을 나타낸다. 제 4 단째는 TS1, TS2에서의 복수의 비디오 프레젠테이션 유닛을 나타내고, 제 5 단째는 TS1에서의 오디오 프레젠테이션 유닛 및 TS2에서의 오디오 프레젠테이션 유닛을 나타낸다. 제 6 단째는 MainClip에서의 STC의 값을 나타낸다. 제 7 단째는 MainClip에서의 소스 패킷 열을 나타낸다.
본 도면에서, 해칭이 부가되어 있는 것은 TS1측의 비디오 프레젠테이션 유닛, 오디오 프레젠테이션 유닛 및 소스 패킷이고, 해칭이 부가되어 있지 않은 것은 TS2 측의 비디오 프레젠테이션 유닛, 오디오 프레젠테이션 유닛 및 소스 패킷이다.
본 도면에서, CC=5란, 비디오 프레젠테이션 유닛의 경계를 일치시키는 것이나(제 4 단째), MainClip의 ATC에 갭(gap)이 있고(제 7 단째), MainClip의 오디오 프레젠테이션 유닛에서 오버랩이 존재하는(제 5 단째) 상태를 말한다. SP_CC=5란, SubClip의 ATC에서 갭이 있고(제 1 단째), SubClip의 오디오 프레젠테이션 유닛에서 오버랩이 존재하는(제 2 단째) 상태를 말한다.
상술한 비디오 프레젠테이션 유닛의 경계는, TS1 측에서 보면, 제 4 단째에서의 최후의 비디오 프레젠테이션 유닛의 종료 점 PTS1(1stEnd)+Tpp에 해당하고, TS2 측에서 보면, 제 4 단째에서의 비디오 프레젠테이션 유닛의 개시 점 PTS2(2ndSTART)에 해당한다.
TS1 중 경계시점 T4에 일치하는 오디오 프레젠테이션 유닛의 종료 점을 T5a, TS2 중 시점 T4에 일치하는 오디오 프레젠테이션 유닛의 개시 점을 T3a로 한 경우, MainClip에서의 오버랩은, 오디오 프레젠테이션 유닛은 T3a에서 T5a까지가 된다.
또, 본 도면에서 SubClip의 오디오 프레젠테이션 유닛은 MainClip의 오디오 프레젠테이션 유닛보다 길게 되어 있다. 이것은, SubClip에서의 오디오 스트림은 네트워크를 통해서 공급되는 사정상 샘플링 주파수는 낮게 설정되어 있고, 따라서 오디오 프레젠테이션 유닛 1개당 시간 길이가 길어지기 때문이다. 이 제 1 단째에 서의 소스 패킷 열에서도 제 7 단째와 마찬가지로 갭이 존재하며, 제 2 단째에서의 오디오 프레젠테이션 유닛에서도 제 4 단째와 동일한 오버랩이 존재하고 있다. SubClip의 TS1에서의 오디오 프레젠테이션 유닛 중 경계시점 T4에 일치하는 오디오 프레젠테이션 유닛의 종료 점을 T5b, SubClip의 TS2에서의 Audio Presentation Unit 중 시점 T4에 일치하는 오디오 프레젠테이션 유닛의 개시 점을 T3b로 한 경우, 오버랩은 T3b에서 T5b까지가 된다.
이 도면에서, CC=5, SP_CC=5를 실현하려면, 비디오 프레젠테이션 유닛, 오디오 프레젠테이션 유닛 및 패킷의 레벨에서 이하의 4개의 조건을 만족하지 않으면 안 된다는 것을 알 수 있다.
(1) TS1에서의 오디오 스트림의 최후의 오디오 프레젠테이션 유닛은 이전 PlayItem, 이전 SubPlayItem에서 지정되는 TS1에서의 최후의 비디오의 픽처의 표시기간의 종료기간에 동일한 재생시각을 갖는 샘플을 포함한다.
(2) TS2에서의 오디오 스트림의 최초의 오디오 프레젠테이션 유닛은 현재 PlayItem, 현재 SubPlayItem에서 지정되는 TS2의 최초의 픽처의 표시기간의 선두와 동일한 재생시각을 갖는 샘플을 포함한다.
(3) 접속점의 오디오 프레젠테이션 유닛 열에서 갭이 존재하지 않는다. 이것은 접속점에서 오디오 프레젠테이션 유닛 열의 오버랩이 발생해도 좋다는 것을 의미한다. 그러나 이러한 오버랩은 2개의 오디오 프레임 재생기간보다 짧은 크기가 아니면 안 된다.
(4) TS2의 최초의 패킷은 PAT를 포함하고, 하나 이상의 PMT가 그 직후에 후 속하여도 된다. PMT가 TS패킷의 페이로드보다 크면 PMT는 2 패킷 이상이 되는 경우도 있다. PMT를 저장한 TS패킷에는 PCR이나 SIT가 존재해도 된다.
<In_Time 및 Out_Time과 비디오 프레젠테이션 유닛과의 관계>
도 29는 이전 PlayItem 및 현재 PlayItem에서 지정되는 복수의 비디오 프레젠테이션 유닛과, 복수의 오디오 프레젠테이션 유닛과, STC 시간 축과의 관계를 나타내는 도면이다. 제 1 단째는 이전 PlayItem이 참조하고 있는 TS1에 귀속하는 복수의 비디오 프레젠테이션 유닛과 현재 PlayItem이 참조하고 있는 TS2에 귀속하는 복수의 비디오 프레젠테이션 유닛을 나타내고, 제 2 단째는 이전 SubPlayItem이 참조하고 있는 타임 스탬프에 귀속되어 있는 복수의 오디오 프레젠테이션 유닛과 현재 SubPlayItem이 참조하고 있는 TS2에 귀속하는 복수의 오디오 프레젠테이션 유닛을 나타낸다. 제 3 단째는 이전 SubPlayItem의 TS1에서의 STC 시간 축과 현재 SubPlayItem의 TS2에서의 STC 시간 축을 나타낸다. 제 2 단째에 나타내는 TS1에서의 오디오 프레젠테이션 유닛 및 TS2에서의 오디오 프레젠테이션 유닛 중, TS2에 속하는 오디오 프레젠테이션 유닛의 개시 점 T3b에서부터 TS2에 해당하는 오디오 프레젠테이션 유닛의 종료시각 T5b까지가 오버랩이 된다는 것은 도 28에 나타낸 바와 같다. 그리고 현재 SubPlayItem의 In_Time, 이전 SubPlayItem의 Out_Time은 각각 비디오 프레젠테이션 유닛의 경계인 시점 T4를 지정하고 있다. 현재 PlayItem의 In_Time, SubPlayItem의 Out_Time도 또한 비디오 프레젠테이션 유닛의 경계인 시점 T4를 지정하고 있으므로, PlayItem의 In_Time 및 Out_Time은 SubPlayItem의 In_Time 및 Out_Time과 일치하게 된다. 이와 같이 이전 SubPlayItem의 In_Time, 현 재 SubPlayItem의 Out_Time은 BD-ROM과는 다른 기록매체에 기록되어 있음에도 불구하고 MainClip에서의 비디오 프레젠테이션 유닛의 경계와 일치하고, 또한, 이전 PlayItem의 Out_Time 및 현재 PlayItem의 In_Time과 일치하고 있음을 알 수 있다.
이상이 비디오 프레젠테이션 유닛 및 오디오 프레젠테이션 유닛 레벨의 조건에 대한 상세이다.
<엘리멘터리 스트림의 레벨>
이어서, CC=5, SP_CC=5 실현을 위해, 엘리멘터리 스트림 레벨에서의 부호화 조건에 대하여 설명한다.
각각의 엘리멘터리 스트림의 레벨에서는 이하의 부호화 조건을 만족할 필요가 있다.
(1) 비디오 스트림
· 심리스 접속의 전후에서 비디오의 해상도나 프레임 레이트가 변하지 않을 것
· 심리스 접속 직전의 비디오 스트림은 sequence_end_code(MPEG-2 Video시), end_of_sequence_rbsq(MPEG-4 AVC시)에서 완료할 것
(2) 오디오 스트림
· 동일한 PID를 갖는 오디오 스트림의 부호화 방식이 변하지 않을 것, 샘플링 주파수나 양자화 비트 수, 채널 수 등이 변하지 않을 것
(3) PG 스트림
a) TS1 및 TS2에서의 PG 스트림의 수가 동일하다.
b) TS1에서의 PG 스트림은 End of Display Set으로 불리는 기능 세그먼트로 종료할 것
c) TS1에서의 최후의 PCS를 운반하는 PES 패킷의 PTS는 이전 PlayItem, 이전 SubPlayItem의 Out_Time에 해당하는 재생시각보다 빠른 시점을 나타낸다.
d) TS2의 PG 스트림은 Epoch Start, Epoch Continue 타입의 Display Set에서 시작하지 않으면 안 된다.
e) TS2에서의 최초의 PCS를 운반하는 PES 패킷의 PTS는 현재 PlayItem, 현재 SubPlayItem의 In_Time에 해당하는 재생시각과 같거나 더 늦은 시점을 나타낸다.
f) TS2으로부터 소스 패킷이 이어지고, TS1으로부터의 소스 패킷의 인출은 동일한 시스템 시간 축의 STC1, STC2로 정의할 수 있으며, 이들 DTS 값/PTS 값에는 중복이 존재하지 않는다.
(4) IG 스트림
a) TS1 및 TS2에서의 IG 스트림의 수가 동일하다.
b) TS1에서의 IG 스트림이 End of Display Set로 불리는 기능 세그먼트에서 종료할 것
c) TS1에서의 최후의 ICS를 운반하는 PES 패킷의 PTS는 이전 PlayItem 및 이전 SubPlayItem의 Out_Time에 해당하는 재생시각보다 빠른 시점을 나타낸다.
d) TS2의 IG 스트림은 Epoch Start, Epoch Continue 타입의 Display Set에서 시작하지 않으면 안 된다.
e) TS2에서의 최초의 ICS를 운반하는 PES 패킷의 PTS는 현재 PlayItem 및 현 재 SubPlayItem의 In_Time에 해당하는 재생시각과 동일하거나 더 늦은 시점을 나타낸다.
f) TS2로부터의 소스 패킷이 이어지고, TS1으로부터의 소스 패킷의 인출은 동일한 시스템 시간 축의 STC1, STC2로 정의할 수 있으며, 이들 DTS 값/PTS 값에는 중복이 존재하지 않는다.
이전 PlayItem과 현재 PlayItem을 CC=5로 접속하고, 이전 SubPlayItem과 현재 SubPlayItem을 SP_CC=5로 접속하려면, 이상의 AV 스트림의 레벨, 트랜스포트 스트림의 레벨, 비디오 프레젠테이션 유닛 및 오디오 프레젠테이션 유닛의 레벨, 엘리멘터리 스트림의 레벨의 전부에서의 조건을 만족하지 않으면 안 된다.
이상이 로컬 스토리지(200)의 구성인 PlayList 정보에 대한 설명이다.
이상으로 본 발명에 관한 기록매체에 대한 설명을 마친다. 이어서 본 발명에 관한 재생장치에 대하여 설명한다.
도 30은 본 발명에 관한 재생장치의 내부 구성을 나타내는 도면이다. 본 발명에 관한 재생장치는 본 도면에 나타내는 내부에 의거하여 공업적으로 생산된다. 본 발명에 관한 재생장치는 주로 시스템 LSI와 드라이브 장치라고 하는 2개의 파트로 이루어지고, 이들 파트를 장치의 캐비닛 및 기판에 실장(mounting) 함으로써 공업적으로 생산할 수 있다. 시스템 LSI는 재생장치의 기능을 담당하는 다양한 처리부를 집적한 집적회로이다. 이렇게 생산되는 재생장치는 BD-ROM 드라이브(1a), 리드 버퍼(1b, 1c), ATC 카운터(2a, 2c), 소스 디패킷타이저(Source Depacketizer, 2b, 2d), ATC 카운터(2c, 2d), STC 카운터(3a, 3c), PID 필터(3b, 3d), 비디오 디 코더(4), 트랜스포트 버퍼(TB)(4a), 멀티플렉스드 버퍼(Multiplexed Buffer(MB), 4b), Coded Picture 버퍼(CPB)(4c), 비디오 디코더(4d), Re-order 버퍼(4e), 스위치(4f), 비디오 플레인(5), 오디오 디코더(9), 트랜스포트 버퍼(6), 엘리멘터리 버퍼(7), 디코더(8), 스위치(10a, 10b, 10c, 10d), 인터랙티브 그래픽스 디코더(11), 트랜스포트 버퍼(TB)(11a), 코디드 데이터 버퍼(Coded Data Buffer(CDB), 11b), 스트림 그래픽스 프로세서(Stream Graphics Processor(SGP), 11c), 오브젝트 버퍼(11d), 컴포지션 버퍼(11e), 그래픽스 컨트롤러(11f), 인터랙티브 그래픽스 플레인(Interactive Graphics plane, 12), 프레젠테이션 그래픽스 디코더(Presentation Graphics Decoder, 13), 트랜스포트 버퍼(TB)(13a), Coded Data Buffer(CDB)(13b), 스트림 그래픽스 프로세서(SGP)(13c), 오브젝트 버퍼(13d), Composition Buffer(13e), 그래픽스 컨트롤러(13f), 프레젠테이션 그래픽스 플레인(14), 트랜스포트 버퍼(15a), 엘리멘터리 버퍼(15b), 디코더(15c), 트랜스포트 버퍼(16a), 엘리멘터리 버퍼(16b), 디코더(16c), 합성부(17), 메모리(21), 컨트롤러(22), PSR 세트(23), PID 변환부(24), 네트워크부(25), 조작 접수부(26), 로컬 스토리지(200)로 구성된다.
BD-ROM 드라이브(1a)는 BD-ROM의 로딩/이젝트를 행하고, BD-ROM 디스크에 대한 액세스를 실행한다.
리드 버퍼(RB) 1b는 BD-ROM에서 판독된 소스 패킷 열을 축적한다.
리드 버퍼(RB) 1c는 LastPlay 타이틀에서 판독된 소스 패킷 열을 축적한다.
ATC 카운터(2a)는 프라이머리 TS를 구성하는 소스 패킷 중 재생구간의 최초 에 위치하는 소스 패킷의 ATS를 이용하여 리셋 되고, 이후 소스 디패킷타이저(2b)에 ATC를 출력한다.
소스 디패킷타이저(2b)는 프라이머리 TS를 구성하는 소스 패킷에서 TS패킷을 인출하여 송출한다. 이 송출시에 각 TS패킷의 ATS에 따라서 디코더로 입력하는 입력시각을 조정한다. 구체적으로는, ATC 카운터(2a)가 생성하는 ATC 값과 소스 패킷의 ATS 값이 동일하게 된 순간에 TS_Recording_Rate에서 그 TS패킷만을 PID 필터(3b)에 전송한다.
ATC 카운터(2c)는 세컨더리 TS를 구성하는 소스 패킷 중 재생구간의 최초에 위치하는 소스 패킷의 ATS를 이용하여 리셋 되고, 이후 소스 디패킷타이저(2d)에 ATC를 출력해간다.
소스 디패킷타이저(Source De-packetizer)(2d)는 세컨더리 TS를 구성하는 소스 패킷에서 TV 패킷을 인출하여 송출한다. 이 송출시에 ATS에 따라서 디코더로 입력하는 입력시각을 조정한다. 구체적으로는, ATC 카운터(2c)가 생성하는 ATC의 값과 소스 패킷의 ATS 값이 동일하게 된 순간에 TS_Recording_Rate에서 그 TS패킷만을 PID Filter(3d)에 전송한다.
STC 카운터(3a)는 프라이머리 TS의 PCR에 의해 리셋 되며, STC를 출력한다.
PID 필터(3b)는 MainClip용의 다중분리부이며, 소스 디패킷타이저(2b)에서 출력된 소스 패킷 중 PID 변환부(24)에서 통지된 PID 참조 값을 갖는 것을 각각 비디오 디코더(4), 오디오 디코더(9), 인터랙티브 그래픽스 디코더(11), 프레젠테이션 그래픽스 디코더(13)에 출력한다. 각 디코더는 PID 필터(3b)를 경유한 엘리멘터 리 스트림을 수신하고, 프라이머리 TS의 PCR(STC 1시간 축)에 따라서 디코더에서 재생 처리를 행한다. 이와 같이 PID 필터(3b)를 통과하여 각 디코더에 입력되는 엘리멘터리 스트림은 프라이머리 TS의 PCR에 따라서 디코드 및 재생되게 된다.
STC 카운터(3c)는 세컨더리 TS의 PCR에 의해 리셋 되고, STC를 출력한다. PID 필터(3d)는 이 STC를 참조하여 다중분리를 행한다.
PID 필터(3d)는 SubClip용의 다중분리부이며, 소스 디패킷타이저(2d)에서 출력된 소스 패킷 중 PID 변환부(24)에서 통지된 PID 참조 값을 갖는 것을 각각 오디오 디코더(9), 인터랙티브 그래픽스 디코더(11), 프레젠테이션 그래픽스 디코더(13)에 출력한다. 이와 같이 PID 필터(3d)를 통과하여 각 디코더에 입력되는 엘리멘터리 스트림은 세컨더리 TS의 PCR에 따라서 디코드 및 재생되게 된다.
기록매체의 설명에서 서술한 바와 같이, PlayItem에서의 In_Time 및 Out_Time은 SubPlayItem에서의 In_Time 및 Out_Time과 일치하고 있으므로, ATC 카운터(2a)와 ATC 카운터(2c)가 동일한 값(시각)을 가지면, 프라이머리 TS와 세컨더리 TS의 양쪽의 시간 축이 일치하게 되어, Out_of_MUX 애플리케이션을 구성하는 프라이머리 TS 및 세컨더리 TS를 1개의 스트림으로 취급할 수 있다. 그리고 디코더로 입력되는 입력시각을 나타내는 ATC 시간 축과 디코더 표준 시간 축을 나타내는 STC 시간 축을 동기시킬 수 있다.
ATC 시간 축의 동기에 의해 상술한 2개의 소스 디패킷타이저는 각각 BD-ROM에서 판독된 소스 패킷, 로컬 스토리지에서 판독된 소스 패킷을 처리할 수 있다.
STC 시간 축의 동기에 의해 STC 카운터(3a, c)는, 동일한 시각을 계시하면, 2개의 TS를 하나의 TS로 처리할 수 있다. 재생장치에서의 디코더는 하나의 STC 시간 축에서 동작하므로, 통상의 프라이머리 TS만의 재생시와 다른 바가 없으며, STC 시간의 관리를 공통화할 수 있다. 비디오 디코더(4), IG 디코더(11), PG 디코더(13), 시스템 디코더(15c, 16c), 오디오 디코더(9)의 전부가 동일한 STC 시간 축에서 동작하게 하는 것은, 재생장치 개발의 관점에서 보면, BD-ROM의 재생만을 행하는 통상의 재생장치와 제어 면에서 일절 바뀌는 부분이 없으므로 바람직한 제한이 된다. 또한, 편집시에는 하나의 TS의 입력 타이밍을 제어하여 버퍼 상태를 관측하면 되므로, 편집시의 검증도 용이해진다.
비디오 디코더(4)는 PID 필터(3b)에서 출력된 복수의 PES 패킷을 복호하여 비 압축형식의 픽처를 얻어서 비디오 플레인(5)에 기록하는 것이고, 트랜스포트 버퍼(4a), 멀티플렉스드 버퍼(4b), 엘리멘터리 버퍼(4c), 디코더(4d), Re-order Buffer(4e), 스위치(4f)로 구성된다.
트랜스포트 버퍼(TB)(4a)는 비디오 스트림에 귀속하는 TS패킷이 PID 필터(3b)에서 출력되었을 때에 일단 축적되는 버퍼이다.
멀티플렉스드 버퍼(MB)(4b)는 트랜스포트 버퍼(4a)에서 엘리멘터리 버퍼(4c)에 비디오 스트림을 출력할 때에 일단 PES 패킷을 축적해 두기 위한 버퍼이다.
엘리멘터리 버퍼(EB)(4c)는 부호화 상태에 있는 픽처(I픽처, B픽처, P픽처)가 저장되는 버퍼이다.
디코더(DEC.)(4c)는 비디오 엘리멘터리 스트림의 각각의 프레임 화상을 소정의 복호시각(DTS)별로 디코드함으로써 복수의 프레임 화상을 얻고, 비디오 플레 인(5)에 기록한다.
Re-order Buffer(4e)는 복호된 픽처의 순서를 부호화 순서로부터 표시순서로 교체하기 위한 버퍼이다.
스위치(4f)는 부호화 순서에서 표시순서로 픽처의 순서의 교체를 실현하는 스위치이다.
비디오 플레인(5)는 비 압축형식의 픽처를 저장해 두기 의한 플레인이다. 플레인은 재생장치에서 한 화면 분의 화소 데이터를 저장해 두기 위한 메모리 영역이다. 비디오 플레인(5)에서의 해상도는 1920×1080이고, 이 비디오 플레인(5)에 저장된 픽처 데이터는 16비트의 YUV 값으로 표현된 화소 데이터에 의해 구성된다.
오디오 디코더(9)는 트랜스포트 버퍼(6), 엘리멘터리 버퍼(7) 및 디코더(8)로 구성되고, 오디오 스트림의 디코드를 행한다.
트랜스포트 버퍼(6)는 PID 필터(3b)에서 출력된 TS패킷을 선입 선출방식으로 저장하고, 오디오 디코더(8)에 제공한다.
엘리멘터리 버퍼(7)는 PID 필터(3b)에서 출력된 TS패킷 중 재생되어야 할 오디오 스트림의 PID를 갖는 TS패킷만을 선입 선출방식으로 저장하고, 오디오 디코더(8)에 제공한다.
디코더(8)는 트랜스포트 버퍼(6)에 저장된 TS패킷을 PES 패킷으로 변환하고, 이 PES 패킷에 대하여 디코드 처리를 행하여, 비 압축상태의 LPCM 상태의 오디오 데이터를 얻어서 출력한다. 이에 의해 오디오 스트림에서의 디지털 출력이 이루어진다.
스위치 10a는 BD-ROM에서 판독된 TS패킷 및 로컬 스토리지(200)에서 판독된 TS패킷 중 어느 하나를 선택적으로 비디오 디코더(4)에 공급한다.
스위치 10b는 BD-ROM에서 판독된 TS패킷 및 로컬 스토리지(200)에서 판독된 TS패킷 중 어느 하나를 선택적으로 인터랙티브 그래픽스 디코더(11)에 공급한다.
스위치 10c는 BD-ROM에서 판독된 TS패킷 및 로컬 스토리지에서 판독된 TS패킷 중 어느 하나를 선택적으로 프레젠테이션 그래픽스 디코더(13)에 공급한다.
인터랙티브 그래픽스(IG) 디코더(11)는 BD-ROM(100) 또는 로컬 스토리지(200)에서 판독된 IG 스트림을 디코드하여 비압축 그래픽스를 IG 플레인에 기록하는 것으로, 트랜스포트 버퍼(TB)(11a), Coded Data Buffer(CDB)(11b), 스트림 그래픽스 ㅍ프프로세서(SGP)(11c), 오브젝트 버퍼(11d), 컴포지션 버퍼(11e), 그래픽스 컨트롤러(Ctrl)(11f)로 구성된다.
트랜스포트 버퍼(TB)(11a)는 IG 스트림에 귀속하는 TS패킷이 일단 축적되는 버퍼이다.
Coded Data Buffer(CDB)(11b)는 IG 스트림을 구성하는 PES 패킷이 저장되는 버퍼이다.
스트림 그래픽스 프로세서(SGP)(11c)는 그래픽스 데이터를 저장한 PES 패킷을 디코드하고, 디코드에 의해 얻어진 인덱스 컬러(index color)로 이루어지는 비 압축상태의 비트맵을 그래픽스 오브젝트로 오브젝트 버퍼(11d)에 기록한다.
오브젝트 버퍼(11d)는 스트림 그래픽스 프로세서(11c)의 디코드에 의해 얻어진 그래픽스 오브젝트가 배치된다.
컴포지션 버퍼(11e)는 그래픽스 데이터 묘사를 위한 제어정보가 배치되는 메모리이다.
그래픽스 컨트롤러(Ctrl)(11f)는 컴포지션 버퍼(11e)에 배치된 제어정보를 해독하고, 해독결과에 따라서 제어를 한다.
인터랙티브 그래픽스(IG) 플레인(12)은 IG 디코더(10)에 의한 디코드에 의해 얻어진 비 압축 그래픽스가 기록된다.
프레젠테이션 그래픽스(PG) 디코더(13)는 BD-ROM 또는 로컬 스토리지(200)에서 판독된 PG 스트림을 디코드하여 비압축 그래픽스를 프레젠테이션 그래픽스 플레인(14)에 기록한다. PG 디코더(13)는 트랜스포트 버퍼(TB)(13a), Coded Data Buffer(CDB)(13b), 스트림 그래픽스 프로세서(SGP)(13c), 오브젝트 버퍼(OB)(13d), 컴포지션 버퍼(CB)(13e), 그래픽스 컨트롤러(Ctrl)(13f)로 구성된다.
트랜스포트 버퍼(TB)(13a)는 PG 스트림에 귀속하는 TS패킷이 PID 필터(4)에서 출력되었을 때에 일단 축적되는 버퍼이다.
Coded Data Buffer(CDB)(13b)는 PG 스트림을 구성하는 PES 패킷이 저장되는 버퍼이다.
스트림 그래픽스 프로세서(SGP)(13c)는 그래픽스 데이터를 저장한 PES 패킷(ODS)을 디코드하고, 디코드에 의해 얻어진 인덱스 컬러로 이루어지는 비 압축상태의 비트맵을 그래픽스 오브젝트로 오브젝트 버퍼(13d)에 기록한다.
오브젝트 버퍼(OB)(13d)는 스트림 그래픽스 프로세서(13c)의 디코드에 의해 얻어진 그래픽스 오브젝트가 배치된다.
컴포지션 버퍼(CB)(13e)는 그래픽스 데이터 묘사를 위한 제어정보(PCS)가 배치되는 메모리이다.
그래픽스 컨트롤러(Ctrl)(13f)는 컴포지션 버퍼(13e)에 배치된 PCS를 해독하고, 해독결과에 의거한 제어를 한다.
프레젠테이션 그래픽스(PG) 플레인(14)은 한 화면 분의 영역을 갖는 메모리이고, 한 화면 분의 비 압축 그래픽스를 저장할 수 있다.
시스템 디코더(15)는 세컨더리 TS에서의 시스템 제어 패킷(PAT나 PMT)을 처리하여 디코더 전체를 제어한다.
트랜스포트 버퍼(15a)는 프라이머리 TS에 존재하는 시스템 제어 패킷(PAT나 PMT)을 저장한다.
엘리멘터리 버퍼(15b)는 시스템 제어 패킷을 디코더(15c)에 공급한다.
디코더(15c)는 엘리멘터리 버퍼(15b)에 저장된 시스템 제어 패킷을 디코드한다.
트랜스포트 버퍼(16a)는 세컨더리 TS에 존재하는 시스템 제어 패킷을 저장한다.
엘리멘터리 버퍼(16b)는 세컨더리 TS에서의 시스템 제어 패킷을 디코더(16c)에 공급한다.
디코더(16c)는 엘리멘터리 버퍼(16b)에 저장된 시스템 제어 패킷을 디코드한다.
메모리(21)는 현재 PlayList 정보나 현재 Clip 정보를 저장해두기 위한 메모 리이다. 현재 PlayList 정보는 BD-ROM에 기록되어 있는 복수의 PlayList 정보 중 현재 처리대상으로 되어 있는 것을 말한다. 현재 Clip 정보는 BD-ROM/로컬 스토리지에 기록되어 있는 복수의 Clip 정보 중 현재 처리대상으로 되어 있는 것을 말한다.
컨트롤러(22)는 플레이리스트 재생(현재 PlayList 정보에 따른 재생제어이다)을 실행함으로써 BD-ROM의 재생제어를 실현한다. 또, 상술한 바와 같은 ATS, STC의 제어도 행한다. 이 제어시에 컨트롤러(22)는 1초라고 하는 시간적 범위에서 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 Filter(3d)에 지시한다.
네트워크부(25)는 본 재생장치에서의 통신기능을 실현하는 것으로, URL이 지정되면, 그 URL에 해당하는 웹사이트와의 TCP 커넥션 및 FTP 커넥션 등을 확립한다. 이러한 커넥션 확립에 의해 웹사이트로부터의 다운로드를 실행한다.
조작 접수부(26)는, 리모컨에 대하여 이루어진 조작을 사용자로부터 접수하고, 그러한 조작을 나타내는 사용자 조작정보(User Operation information)를 컨트롤러(22)에 통지한다.
이상이 재생장치의 내부 구성이다. 이하, 재생장치에서의 컨트롤러(22)의 실장에 대하여 설명한다. 컨트롤러(22)는 도 31, 도 32에 도시한 플로차트의 처리순서를 CPU가 실행하도록 하는 프로그램을 작성하여 명령 ROM에 기록하고, CPU에 공급함으로써 재생장치에 실장 할 수 있다.
도 31은 PlayList 정보에 의거한 재생순서의 플로차트이다. 본 플로차트는 PlayList 정보를 구성하는 .mpls 파일을 판독하고(스텝 S11), PlayList 정보에서의 선두의 PlayItem을 현재 PlayItem으로 한 후에(스텝 S12), 이 현재 PlayItem에 대하여 스텝 S13~스텝 S25의 처리를 반복하는 루프구조로 되어 있다. 이 루프구조는 스텝 S23을 종료조건으로 한 것으로, 현재 PlayItem의 In_Time에 대응하는 액세스 유닛에서 현재 PlayItem의 Out_Time에 대응하는 액세스 유닛까지의 판독을 BD-ROM 드라이브에 명령하고(스텝 S13), 현재 PlayItem에 이전 PlayItem에 존재하는가 여부를 판정하며(스텝 S14), 판정결과에 따라서 스텝 S15의 처리, 스텝 S16~스텝 S21의 처리를 선택적으로 실행한다. 구체적으로는, 현재 PlayItem에 이전 PlayItem이 없으면(스텝 S14에서 No), PlayItem_In_Time에서부터 PlayItem_Out_Time까지의 재생을 디코더에 명령한다(스텝 S15).
현재 PlayItem에 이전 PlayItem이 있으면(스텝 S14에서 Yes), 현재 PlayItem이 CC=5인지 여부를 판정하고(스텝 S16), CC=5이면(스텝 S16에서 Yes) 스텝 S17~스 텝 S20의 처리를 행한다.
상술한 이전 PlayItem이 존재하는 경우, 프라이머리 TS에서의 ATC_Sequence가 절환되게 된다. 이 절환에서 ATC_delta1라고 불리는 프라이머리 TS용의 오프셋 값을 산출하고(스텝 S17), 그때까지의 ATC_Sequence에서의 ATC 값(ATC1)에 ATC_delta1를 가산함으로써 새로운 ATS_Sequence의 ATC 값(ATC2)을 얻는다(스텝 S18).
또, 상술한 이전 PlayItem이 존재하는 경우, 프라이머리 TS에서의 STC_Sequence가 절환되게 된다. 이 절환에서 STC_delta1라고 불리는 오프셋 값을 구하고(스텝 S19), 그때까지의 STC_Sequence에서의 STC 값(STC1)에 STC_delta1를 가산함으로써(스텝 S20) 새로운 STC_Sequence의 STC 값(STC2)을 구한다.
그리고 Audio Overrap의 뮤트(mute)를 오디오 디코더(9)에 지시한 다음, PlayItem_In_Time에서 PlayItem_Out_Time까지의 재생을 디코더에 명령한다(스텝 S21). 현재 PlayItem이 CC=5가 아니면 CC=1, CC=6의 처리를 행한다.
스텝 S15, 스텝 S16~스텝 S21 중 어느 하나의 처리를 실행하면 스텝 S25의 처리를 실행한다. 스텝 S25는 현재 PlayItem과 동기재생해야 할 SubPlayItem이 존재하는가 여부를 서치하는 처리이다. 여기서 SubPath 정보를 구성하는 각 SubPlayItem은 Sync_PlayItem_Id라는 정보를 갖고 있고, 현재 PlayItem과 동기재생해야 할 SubPlayItem은 이 Sync_PlayItem_Id가 현재 PlayItem에 설정되어 있다. 그러므로 스텝 S25에서는 현재 PlayItem을 Sync_PlayItem_Id에 지정한 SubPlayItem이 SubPath 정보를 구성하는 복수의 SubPlayItem 중에 존재하는지 여부를 서치한다.
만약 존재하지 않는 경우, 스텝 S22로 이행한다. 스텝 S22는 AVClip 시간 축에서의 현재의 재생시점(현재 PTM(Presentation Time))이 현재 PlayItem의 Out_Time에 도달하였는가 여부를 판정한다(스텝 S22). 도달하면, 스텝 S23으로 이행한다. 스텝 S23은 현재 PlayItem이 PlayList 정보에서의 최후의 PlayItem이 되었는가 여부의 판정이고, 최후의 PlayItem이 아니면, PlayList 정보에서의 다음의 PlayItem을 현재 PlayItem으로 하고(스텝 S24), 스텝 S13으로 이행한다. 이상의 처리에 의해 PlayList 정보에서의 모든 PlayItem에 대하여 스텝 S13~스텝 S24의 처리가 행해지게 된다.
도 32는 SubPlayItem에서의 심리스 접속을 나타내는 플로차트이다.
스텝 S25에서 현재 PlayItem을 Sync_PlayItem_Id에 지정한 SubPlayItem이 존재한다고 판정된 경우, 그 SubPlayItem을 현재 SubPlayItem으로 설정하고(스텝 S31), SubPlayItem의 In_Time에 상당하는 액세스 유닛에서 Out_Time에 상당하는 액세스 유닛까지의 판독을 로컬 스토리지(200)에 명령한다(스텝 S32). 그리고 현재 PlayItem에 이전 SubPlayItem이 존재하는가 여부를 판정하고(스텝 S33), 판정결과에 따라서 스텝 S34 및 스텝 S35의 처리, 스텝 S36~스텝 S41의 처리를 선택적으로 실행한다. 구체적으로는, 현재 PlayItem에 이전 SubPlayItem이 없으면(스텝 S33에서 No), 현재 PTM이 Sync_Start_Pts_of_PlayItem에 도달하는 것을 기다려서(스텝 S34), 도달하면, SubPlayItem_In_Time에서부터 SubPlayItem_Out_Time까지의 재생을 디코더에 명령한다(스텝 S35).
현재 PlayItem에 이전 SubPlayItem이 있으면(스텝 S33에서 Yes), 현재 PlayItem이 SP_CC=5인가 여부를 판정하고(스텝 S36), SP_CC=5이면(스텝 S36에서 Yes) 스텝 S37~스텝 S41의 처리를 행한다.
상술한 이전 PlayItem이 존재하는 경우, ATC_Sequence가 절환되게 된다. 이 절환에서 ATC_delta2라고 불리는 세컨더리 TS를 위한 오프셋 값을 산출하고(스텝 S37), 그때까지의 ATC_Sequence에서의 ATC 값(ATC1)에 ATC_delta2를 가산함으로써 새로운 ATC_Sequence의 ATC 값(ATC2)을 얻는다(스텝 S38).
ATC_delta는 지금까지 판독되어 있는 트랜스포트 스트림(TS1)의 최후의 TS패킷의 입력시점 T1에서 새롭게 판독된 트랜스포트 스트림(TS2)의 최초의 TS패킷의 입력시점 T2까지의 오프셋을 말하고, "ATC_delta≥N1/TS_recording_rate"라고 하는 계산식으로 부여된다. 여기서 N1은 TS1의 최후의 비디오 PES 패킷에 후속하는 TS패킷의 패킷 수이다.
또, 상술한 이전 PlayItem이 존재하는 경우에는 STC_Sequence도 절환되게 된다. 이 절환에서 STC_delta2를 구하고(스텝 S39), 그때까지의 STC_Sequence에서의 STC 값(STC1)에 STC_delta2를 가산함으로써(스텝 S40) 새로운 STC_Sequence의 STC 값(STC2)을 구한다.
선행 STC_Sequence에서 최후에 재생되는 픽처의 표시개시시각을 PTS1(1stEND), 픽처의 표시기간을 Tpp로 하고, 후속 STC_Sequence에서 최초에 표시되는 픽처의 개시시각을 PTS2(2ndSTART)로 한 경우, CC=5에서는 PTS1(1stEND)+Tpp의 시각과 PTS2(2ndSTART)의 시각을 일치시킬 필요가 있으므로, STC_delta2는,
STC_delta2=PTS1(1stEND)+Tpp-PTS2(2ndSTART)
의 계산식으로 산출된다.
그리고 Audio Overrap의 뮤트를 오디오 디코더(9)에 지시한 후에, PlayItem_In_Time에서 PlayItem_Out_Time까지의 재생을 디코더에 명령한다(스텝 S41).
컨트롤러(22)는 상술한 바와 같이 STC의 변경처리를 행하나, 재생장치의 일반적인 실장에서 이 변경처리는 디코더가 프리런 상태(free-run state)에 있는 경우에 이루어진다. 프리런 상태는 디코더가 STC와의 동기제어를 행하고 있지 않은 상태를 말한다. 그 후, STC 시간 축을 설정할 수 있는 상태까지 STC가 복귀하면, 디코더는 프리런 상태에서 STC와의 동기제어로 이행한다. 한편, 스텝 S36에서 현재 PlayItem이 CC=5가 아니라고 판정되면(스텝 S36에서 No), CC=1, CC=6의 처리를 행한다.
이상과 같이 본 실시 예에 의하면, Window라고 불리는 1초당 전송 허용량은 48Mbit 이하로 제한되어 있으므로, 이 1초라고 하는 기간에 전송 허용량이 국소적으로 96Mbit까지 상승했다고 해도, 96Mbit×0.5초의 사이즈의 TS패킷을 디코더에 선 판독해 두면, 디코더 내의 버퍼가 언더 플로 또는 오버플로 하는 일은 없다. 디지털 스트림에서의 어느 기간에도 데이터량은 「96Mbit×0.5초」 이하이며, 언더 플로 또는 오버플로가 발생하지 않고 TS패킷을 공급할 수 있으므로, 비디오 또는 오디오의 결락을 피할 수 있다. 이에 의해 Out_of_MUX 프레임 워크 실현을 위한 동시 판독이 품질상의 문제에 파급될 우려는 없어진다.
또, PlayItem에서의 In_Time 및 Out_Time과 SubPlayItem에서의 In_Time 및 Out_Time이 일치하고 있고, PlayItem 측의 접속상태가 CC=5이면, SubPlayItem 측의 접속상태도 SP_CC=5가 되므로, PlayItem이 절환되었다고 해도, 다중분리부를 재설정하지 않고, PlayItem에서 PlayItem으로의 절환과 SubPlayItem에서 SubPlayItem으로의 절환을 동시에 실행할 수 있다. 다중분리부가 참조하는 STC 시간 축을 동기시키면서 PlayList 정보에 의거한 재생처리를 진행시켜 갈 수 있다.
(제 2 실시 예)
본 실시 예에서는 앞의 실시 예에서 설명한 BD-ROM의 제작에 대하여 상세하게 설명한다. 앞의 실시 예에 관한 BD-ROM은 이하의 공정을 순차적으로 실행함으로써 만들 수 있다.
<BD-ROM의 기록공정>
먼저, BD-ROM을 어떤 줄거리(outline)로 재생시킬지를 결정하는 기획을 하고(기획공정), 동화상 수록, 음성수록 등의 소재작성을 행하며(소재작성 공정), 기획공정에서 작성된 줄거리로부터 볼륨 구성정보를 작성한다(시나리오 작성공정).
볼륨 구성정보는 추상적인 기술을 이용하여 광 디스크의 응용 층의 포맷을 나타내는 정보이다.
그 후, 비디오 소재, 오디오 소재, 자막 소재, 메뉴 소재 각각을 인코드함으로써 엘리멘터리 스트림을 얻는다(소재 인코드 공정). 그 후, 복수의 엘리멘터리 스트림의 다중화를 행한다(다중화 공정).
그렇게 다중화가 이루어지면, 다중화된 스트림 및 볼륨 구성정보를 BD-ROM의 응용 층 포맷에 적합하게 하는 작업을 행하고, BD-ROM의 볼륨 영역에 기록해야 할 데이터의 전체 상(일반적으로 볼륨 데이터라고 한다)을 얻는다(포매팅 공정).
여기서 본 발명에 관한 기록매체의 응용 층 포맷은 프로그래밍 언어로 기술된 클래스 구조체(class structuer)의 인스턴스(instance)이고, BD-ROM 규격에 규정된 구문(構文)에 의거하여 클래스 구조체의 인스턴스를 기술함으로써 Clip 정보, PlayList 정보 등을 작성할 수 있다. 이 경우, 테이블 형식의 데이터는 프로그래밍 언어의 for문을 이용하여 정의할 수 있고, 그 외에 특정 조건하에서만 필요한 데이터는 if문을 이용하여 정의할 수 있다.
이러한 적합처리(fitting process) 후에 볼륨 데이터가 얻어지면, 볼륨 데이터를 재생해 봐서 시나리오 작성공정의 결과가 정당한가 여부의 확인을 행한다(시뮬레이션 공정). 이 시뮬레이션 공정에서는 BD-ROM 플레이어 모델의 버퍼 상태의 시뮬레이션을 행하는 것이 바람직하다.
마지막으로 프레스 공정을 행한다. 이 프레스 공정에서는 볼륨 이미지를 물리 데이터 열로 변환하고, 이 물리 데이터 열을 이용해서 원반 커팅을 행하여 디스크 원반을 작성한다. 또한, 프레스 공정에 의해 작성된 원반으로부터 BD-ROM을 제조한다. 이 제조는 주로 기판성형, 반사막 형성, 보호막 코팅, 접착, 레벨의 인쇄와 같은 여러 공정으로 이루어진다.
이상의 공정을 거쳐서 각 실시 예에서 설명한 기록매체(BD-ROM)를 만들 수 있다.
<추가 콘텐츠의 작성공정>
영화작품을 BD-ROM 콘텐츠와 추가 콘텐츠로 구성하는 경우에는 상술한 기획 공정에서 포매팅 공정까지를 실행한다. 그렇게 하여 하나의 볼륨 데이터를 구성하는 AVClip, Clip 정보, PlayList 정보가 얻어지면, 이들 중 이미 BD-ROM에 의해 공급되었어야 할 것을 제외하고, 나머지를 추가 콘텐츠로 하여, 아카이브 프로그램(archiver program) 등에 의해서 하나의 파일로 종합한다. 이러한 처리를 거쳐서 추가 콘텐츠가 얻어지면, 이러한 추가 콘텐츠를 WWW서버에 공급하여, 재생장치로부터의 요구에 따라서 재생장치에 송출한다.
앞의 실시 예에서 설명한 검증(verification)은 AVClip, Clip 정보 alc PlayList 정보가 완성되고, PlayList 정보 내의 STN_table에 의해 재생해야 할 엘리멘터리 스트림이 확정된 단계, 즉, 포매팅 공정에서 실행된다. 이하, 이와 같은 애플리케이션 포맷을 작성하는 편집 시스템(authoring system)에 대하여 설명한다.
<편집 시스템>
도 33은 제 2 실시 예에 관한 편집 시스템의 내부 구성을 나타내는 도면이다. 본 도면에 도시한 바와 같이, 편집 시스템은 입력장치(51), 인코드 장치(52), 서버장치(53), 소재 스토리지(54), BD 구성정보 스토리지(55), 클라이언트 장치(56~58), 멀티플렉서(60), BD 시나리오 컨버터(61), 포맷터(formatter, 62), 검증기(Verifier, 63)로 구성된다.
입력장치(51)는 HD화상 및 SD화상이 수납된 비디오 카세트를 장착하고, 이 비디오 카세트를 재생하여 재생신호를 인코드 장치(52)에 출력한다.
인코드 장치(52)는 입력장치(51)에서 출력된 재생신호를 인코드하여 비디오 스트림 및 오디오 스트림과 같은 엘리멘터리 스트림을 얻는다. 이렇게 얻어진 엘리 멘터리 스트림은 LAN을 통해서 서버장치(53)에 출력되어, 서버장치(53) 내의 소재 스토리지(54)에 기록된다.
서버장치(53)는 소재 스토리지(54), BD 구성정보 스토리지(55)와 같은 2개의 드라이브 장치로 이루어진다.
소재 스토리지(54)는 서버장치(53)의 내장 디스크 장치이고, 인코드 장치(52)의 인코드에 의해 얻어진 엘리멘터리 스트림을 순차적으로 저장한다. 소재 스토리지(54)는 HDstream 디렉터리, SDstream 디렉터리와 같은 2개의 디렉터리를 가지며, HD화상을 인코드함으로써 얻어진 엘리멘터리 스트림은 HDstream 디렉터리에 기록된다.
BD 구성정보 스토리지(55)는 BD 볼륨 구성정보가 저장되는 드라이브 장치이다.
멀티플렉서(60)는 소재 스토리지(54) 내의 HDstream 디렉터리, SDstream 디렉터리에 저장되어 있는 엘리멘터리 스트림 중 BD 볼륨구성정보에 의해 지정되어 있는 것을 판독하고, 이것을 BD 볼륨구성정보에 따라서 다중화함으로써 다중화 스트림인 AVClip을 얻는다.
BD 시나리오 컨버터(61)는 BD 구성정보 스토리지(55)에 저장되어 있는 BD 볼륨 구성정보를 BD-ROM 애플리케이션 포맷으로 변환함으로써 BD 시나리오를 얻는다.
포맷터(62)는 멀티플렉서(60)에 의해 얻어진 Clip, BD 시나리오 컨버터(61)에 의해 얻어진 BD 시나리오를 BD-ROM의 응용 층 포맷에 적응시킨다. 이렇게 적응된 BD 시나리오로부터 BD-ROM의 원반이나 로컬 스토리지에 저장되어야 할 다운로드 용 콘텐츠가 얻어진다.
검증부(63)는, 시나리오 컨버터(61)가 생성한 PlayList 정보 내의 STN_table을 참조하여, 멀티플렉서(60)가 얻은 BD-ROM용의 프라이머리 TS 및 로컬 줄거리지 용의 세컨더리 TS가 Out_of_MUX 애플리케이션을 실현하기 위한 제한을 만족하는가 여부를 판정한다.
이상이 편집시스템의 내부 구성이다. 이하, 편집 시스템에서의 검증부(63)의 실장에 대하여 설명한다.
<검증부(63) 실장을 위한 처리순서>
검증부(63)는 도 34, 도 35에 도시한 플로차트의 처리순서를 CPU에 실행시키는 프로그램을 작성하여 명령 ROM에 기록하고, CPU에 공급함으로써 편집 시스템 내에 실장 할 수 있다.
도 34는 프라이머리 TS 및 세컨더리 TS에 대한 검증순서(verification procedure)를 나타내는 플로차트이다. 본 플로차트는 스텝 S1에서 소스 패킷 열에서의 최초의 소스 패킷의 ATS를 현재 Window의 In_Time에 설정한 다음에, 스텝 S2~스텝 S7의 처리를 반복하는 루프 구조를 갖는다. 이 루프 구조는 현재 Window의 In_Time으로부터 1초 이후에 존재하는 ATS를 현재 Window의 Out_Time에 설정하고(스텝 S2), 현재 Window의 In_Time에서 Out_Time까지에 존재하는 TS패킷 수를 카운트하며(스텝 S3), In_Time에서부터 현재 Window에서의 비트 수를 계산하며(스텝 S4), 그 비트 수가 48Mbit 이하인가 여부를 판정하는 처리(스텝 S5)를 스텝 S6이 Yes로 판정될 때까지 반복하는 것이다. 이 스텝 S6은 현재 Window의 Out_Time이 ATC 시간 축에서의 최후의 소스 패킷에 도달하였는가 여부의 판정이고, 만약 스텝 S6이 No이면, 소스 패킷 열에서의 다음의 ATS를 현재 Window의 In_Time으로 하고(스텝 S7), 스텝 S2~스텝 S6의 처리를 반복한다. 어떤 Window에서 스텝 S5가 No로 판정되었다면 BD-ROM 규격에 위반되는 것으로 판정된다(스텝 S9). 모든 Window에서 스텝 S5가 Yes로 판정되고, 스텝 S6이 Yes로 판정되었으면, BD-ROM 규격에 적합한 것으로 판정된다(스텝 S8).
프라이머리 TS 및 세컨더리 TS는 이상의 검증을 거치고 있으므로, 프라이머리 TS 및 세컨더리 TS가 각각 BD-ROM 및 로컬 스토리지로부터 공급되는 경우에도 상술한 바와 같은 제한을 항상 만족하게 된다.
비디오 스트림, 오디오 스트림, PG 스트림, IG 스트림의 각각에 동종의 엘리멘터리 스트림이 복수 존재하는 경우, 도 35의 순서로 검증을 행하는 것이 바람직하다. 도 35에 나타낸 검증 순서는 도 34에서의 스텝 S3~스텝 S4를 스텝 S81~스텝 S83으로 치환한 것이다.
이 스텝 S81~스텝 S83은 현재 Window가 하나 결정될 때마다 STN_table에서 재생이 허가되어 있는 엘리멘터리 스트림을 구성하는 TS패킷 중 현재 Window에 속하는 TS패킷의 비트 레이트를 엘리멘터리 스트림별로 산출하고(스텝 S81), 복수의 비디오 스트림, 복수의 오디오 스트림, 복수의 PG 스트림, 복수의 IG 스트림 중 산출된 비트 레이트가 가장 높은 것을 선택하며(스텝 S82), 비디오 스트림의 비트 레이트의 최대값, 오디오 스트림의 비트 레이트의 최대값, PG 스트림의 비트 레이트의 최대값, IG 스트림의 비트 레이트의 최대값을 합계하여(스텝 S83), 그 합계량이 48Mbit 이하인가를 판정하는 것이다(스텝 S5).
동종의 엘리멘터리 스트림은 Out_of_MUX 애플리케이션에서는 반드시 배타적으로 선택되므로, 상술한 판정에 의해 검증을 행하는 것이 더 합리적이다.
검증은 비트 레이트가 국소적으로 높은 개소, 즉 로컬 피크의 출력 개소에서의 비트 값을 확인하는 것도 유효하다. 로컬 피크의 출현 개소는 이하와 같다.
(1) Window의 In_Time이 가리키는 TS패킷의 선두
(2) Window의 In_Time이 가리키는 TS패킷의 종료
(3) Window의 Out_Time이 가리키는 TS패킷의 선두
(4) Window의 Out_Time이 가리키는 TS패킷의 종료
이러한 개소에서의 비트 양을 중점적으로 확인함으로써 편집에서의 검증 작업을 더 간략화할 수 있다.
이상과 같이 본 실시 예에 의하면, 세컨더리 TS의 재생을 허가한 STN_table을 작성했을 때, 그 STN_table에 의거한 재생처리에서 언더 플로 또는 오버플로가 발생할지 여부를 편집 단계에서 미리 검증해 둘 수 있다.
(제 3 실시 예)
본 실시 예는 PlayItem 간, SubPlayItem 간의 접속에 CC=6이라는 새로운 유형을 설치하는 실시 예이다.
CC=6은 Progressive PlayList 정보를 구성하는 복수의 PlayItem 정보간의 접속상태를 규정한다. Progressive PlayList 정보는 스트리밍을 전제로 하여 재생되어야 할 복수의 AVClip을 하나의 재생경로로 지정해 가기 위한 플레이리스트 정보 이다.
<Progressive PlayList 정보>
Progressive PlayList 정보는 다운로드/스트리밍 하는 세컨더리 TS를 단편적인 파일로 분할함으로써 캐쉬 사이즈(cache size)를 작게 하거나, 모든 파일의 다운로드를 기다리지 않고 재생을 개시할 수 있다고 하는 편리성이 있다.
스트리밍을 전제로 한 콘텐츠는 짧은 길이의 많은 AVClip에 의해 규정되어 있으므로, Progressive PlayList 정보는 이들 복수의 AVClip의 각각에 대응하는, 많은 PlayItem 정보로 구성된다. 한편, 작은 단위로 분할된 AVClip은 스트리밍을 위해서 분할된 것으로서, STC, ATC에 불연속 점이 존재하지 않는다. 따라서 CC=5가 아닌 다른 상태로 이러한 AVClip 간의 접속상태를 규정해 둘 필요가 있다. 이렇게 규정된 접속상태를 CC=6이라고 한다.
<CC=6에서 만족해야 할 조건>
CC=6인 경우, 2개의 PlayItem으로부터 지정되는 TS1, TS2와, 2개의 SubPlayItem으로부터 지정되는 TS1, TS2는 이하의 조건을 만족할 필요가 있다.
1) TS2에서의 비디오 스트림은 GOP에서 시작해야 한다.
2) TS2의 오디오 스트림과 동일한 PID를 갖는 TS1의 오디오 스트림에서 접속점에서의 오디오 프레젠테이션 유닛 열에 갭이 존재하지 않는다.
TS1의 오디오 스트림은 불완전한 오디오 스트림으로 종료해도 된다. 그리고 TS2에서의 동일한 PID를 갖는 오디오 스트림은 불완전한 오디오 프레젠테이션 유닛으로 시작해도 된다. 복수의 PlayItem 및 복수의 SubPlayItem에 의거하여 이들 TS1, TS2를 재생시키면, 2개의 오디오 프레젠테이션 유닛에서 하나의 완결된 오디오 프레젠테이션 유닛이 얻어진다.
CC=6에서는 실제로는 스트림이 연속해 있으므로, CC=5 때와 같은 비디오만이 심리스 접속되며, 오디오가 불연속적으로 연결되거나, 뮤트되거나 하는 것과 같은 일은 없으며, 모든 엘리멘터리 스트림이 심리스 접속된다.
이상과 같이 CC=6은 논리적으로 연속해 있는 스트림을 스트리밍의 사정상 복수의 부분으로 분할한 경우의 분할경계를 의미한다. 단, BD-ROM에 기록되어야 할 스트림은 32개의 소스 패킷으로 구성될 필요가 있으므로, 하나의 SubPlayItem을 구성하는 하나의 스트림 파일은 모두 6KByte의 배수로 되어 있을 필요가 있다.
<CC=6의 상세>
도 36은 CC=6의 상세한 설명을 나타내는 도면이다. 제 1 단째는 1개의 연속된 ATC/STC 시간을 가지며 부호화 방식도 연속하고 있는 스트림을 저장한 파일(20000.m2ts)을 나타낸다. 제 2 단째는 3개의 스트림을 저장한 3개의 파일(20001.m2ts,20002.m2ts, 20003.m2ts)을 나타낸다. 이들 3개의 파일은 제 1 단째에서의 1개의 스트림을 얼라인드 유닛(6KByte) 단위로 구분함으로써 얻어진 3개의 프라이머리 TS를 저장하고 있다.
도 37은 PlayItem과 SubPlayItem의 상관을 나타내는 도면이다. 제 1 단째는 PlayList 정보에서의 3개의 PlayItem(PlayItem 정보#1, PlayItem 정보#2, PlayItem 정보#3)을 나타낸다. 이들 3개의 PlayItem은 프라이머리 TS를 지정하고 있고, PlayItem 정보#1과 PlayItem 정보#2 사이는 CC=1로 설정되며, PlayItem 정보#2와 PlayItem 정보#3 사이는 CC=5로 설정되어 있다. 제 2 단째는 PlayList 정보에서의 3개의 SubPlayItem(SubPlayItem#1, SubPlayItem#2, SubPlayItem#3)을 나타낸다. 이들 3개의 SubPlayItem은 세컨더리 TS를 지정하고 있고, SubPlayItem#1과 SubPlayItem#2 사이는 CC=1로 설정되며, SubPlayItem#2와 SubPlayItem#3 사이는 CC=5로 설정되어 있다. 제 3 단째는 Progressive PlayList 정보에서의 9개의 SubPlayItem (SubPlayItem#1, SubPlayItem#2, SubPlayItem#3~SubPlayItem#9)을 나타낸다. 이들 9개의 SubPlayItem은 세컨더리 TS를 지정하고 있고, SubPlayItem#3과 SubPlayItem#4 사이는 CC=1로 설정되며, SubPlayItem#6과 SubPlayItem#7 사이는 CC=5로 설정되고, 그 이외는 CC=6으로 설정되어 있다. Progressive PlayList의 SubPlayItem은 CC=6으로 접속되나, PlayItem이 CC=1, CC=5로 접속되는 타이밍에는 PlayItem과 마찬가지로 CC=1, CC=5의 조건을 만족하면서 접속된다.
이상과 같이 본 실시 예에 의하면, PlayItem 및 SubPlayItem에서의 접속상태에 CC=6과 같은 새로운 유형을 도입함으로써 Progressive PlayList 정보를 구성하는 AVClip을 짧게 구분하여, 스트리밍으로 공급한다고 하는 처리를 실현할 수 있다.
(제 4 실시 예)
제 1 실시 예에서는 각 Window에서의 비트 양을 어떻게 제한할지에 대하여 설명하였으나, 본 실시 예에서는 이러한 제한을 만족하기 위해 어떻게 다중화를 행하면 되는가를 제안한다.
<비디오+오디오의 다중화>
도 38은 프라이머리 TS를 구성하는 오디오가 세컨더리 TS를 구성하는 오디오로 교체되는 경우, 프라이머리 TS를 구성하는 복수의 TS패킷과 세컨더리 TS를 구성하는 복수의 TS패킷이 어떻게 다중화되는가를 모식적으로 나타낸 도면이다.
도 38은 ATC 시간 축에 존재하는 복수의 TS패킷이 어떻게 다중화되는지를 모식적으로 나타내는 도면이다. 제 1 단째는 프라이머리 TS를 나타낸다. 프라이머리 TS는 V, A1, A2(비디오 1개, 오디오 2개)를 저장한 TS패킷이다. 이들 TS패킷은 2종류의 3개의 엘리멘터리 스트림을 다중화하여 얻은 것이다.
제 2 단째는 세컨더리 TS를 나타낸다. 세컨더리 TS는 1종류의 2개의 오디오 A3, A4를 저장한 TS패킷으로 이루어진다. 이들 세컨더리 TS의 TS패킷이 다중화되는 시간대(p3)는 디코더로 입력되는 입력시간 축을 나타내는 ATC 시간 축 상에서 프라이머리 TS의 오디오 패킷이 다중화된 시간대(p1)와, 프라이머리 TS를 구성하는 TS패킷이 전송되지 않은 시간대(p2)로 이루어진다.
이와 같이 다중화되면, 각종 엘리멘터리 스트림 중 어느 것이 선택되어도 디코드해야 할 엘리멘터리 스트림의 비트 레이트의 합이 프라이머리 TS의 허용 최대 비트 레이트(48Mbps)를 초과하지 않는다는 보증을 할 수 있다. 도 38의 상술한 일 예는 가장 간단한 예로, 세컨더리 TS에 오디오밖에 없는 경우이다.
<비디오+오디오+PG 스트림+IG 스트림의 다중화>
도 39는, 오디오에 더하여, 자막(PG 스트림)이나 메뉴(IG 스트림)도 교체되는 경우에, 프라이머리 TS를 구성하는 복수의 TS패킷과 세컨더리 TS를 구성하는 복수의 TS패킷이 어떻게 다중화되는지를 모식적으로 나타내는 도면이다.
본 도면에서 세컨더리 TS의 패킷의 전송이 허가되는 시간대(k3)는,
1) 프라이머리 TS에서의 동종의 패킷의 전송시간대(k1)
2) 프라이머리 TS의 무 전송시간대(k2)
의 합이다.
세컨더리 TS에 저장되어 있는 다른 스트림 종별(Video, IG, PG 등)에 대해서도 상기 1), 2)의 룰은 마찬가지로 적용되므로, 각 스트림 모두 최초에는 자신과 동일한 종류의 스트림의 전송시간대에서 세컨더리 TS 내에 다중화가 가능한가가 판단되고, 이것만으로 부족한 경우에는, 2)의 프라이머리 TS의 무 전송시간대를 이용하여 다중화되는 것이 효율적이다.
<멀티플렉서(60)의 처리>
본 실시 예에 관한 멀티플렉서(60)의 처리에 대하여 구체적으로 설명한다.
상술한 바와 같은 다중화를 실현할 때의 멀티플렉서(60)는 디코더 모델에서 프라이머리 TS를 재생할 때의 버퍼 상태를 시뮬레이션하여, 프라이머리 TS에서의 각 패킷의 전송시간대나 프라이머리 TS의 무 전송시간대를 검출한다. 이들의 시간대를 검출하면, 세컨더리 TS를 구성하는 각 PES 패킷이 동종의 패킷의 전송시간대나 무 전송시간대에 전송되도록 세컨더리 TS를 구성하는 각 PES 패킷을 TS패킷으로 변환하여, 각 TS패킷에 관련 ATS를 부가한다. 이렇게 하여 부가된 ATS는 동종의 패킷의 전송시간대나 무 전송시간대를 나타내므로, 세컨더리 TS를 구성하는 각 PES 패킷은, 도 39에 도시한 바와 같이, 프라이머리 TS에서의 동종의 패킷의 전송시간대나 무 전송시간대에 디코더에 보내지게 된다.
<DVD에 의한 공급>
로컬 스토리지에서 공급되는 엘리멘터리 스트림을 트랜스포트 스트림 형식이 아닌 프로그램 스트림 형식으로 하는 경우, 멀티플렉서(60)는 엘리멘터리 스트림을 구성하는 PES 패킷을 팩(pack)으로 변환하고, 각 팩의 TS 헤더에 SCR(System Clock Reference)을 부가한다. 이렇게 부가된 SCR도 ATS와 마찬가지로 동종의 패킷의 전송시간대나 무 전송시간대를 나타내므로, 세컨더리 PS(로컬 스토리지에서 공급되는 프로그램 스트림)을 구성하는 각 PES 패킷은, 도 39에 나타낸 바와 같이, 프라이머리 TS(BD-ROM에서 공급되는 프로그램 스트림)에서의 동종의 패킷의 전송시간대나 무 전송시간대에 디코더에 보내지게 된다. 로컬 스토리지에서 공급되는 엘리멘터리 스트림을 프로그램 스트림 형식으로 하는 경우, 동종의 패킷의 전송시간대나 무 전송시간대를 팩(PES 패킷)과 같은 큰 시간단위로 표현하므로, 편집시의 부담은 매우 작으며, 실현이 용이해진다. 이는 DVD 재생장치에서 Out_of_MUX 애플리케이션을 실현할 때의 이점이 된다.
이상과 같이 본 실시 예에 의하면, 프라이머리 TS에서의 동종의 패킷의 전송기간 및 프라이머리 TS에서의 무 전송기간을 세컨더리 TS를 구성하는 패킷의 입력기간에 선택하여 다중화를 행하므로, 제 1 실시 예에서 설명한 비트 양 제한을 만족하기가 쉬워진다. 이러한 다중화를 제 2 실시 예에서 설명한 편집시스템상에서 실현함으로써 Out_of_MUX 애플리케이션을 실현하는 영화작품을 제작하기가 쉬워진다. 이에 의해, 재생시의 오버플로가 발생하지 않는다는 보장을 편집의 단계에서 용이하게 행할 수 있다.
(제 5 실시 예)
본 실시 예에서는 오디오 믹싱 애플리케이션(audio mixing application)의 상세한 설명을 행한다. 본 애플리케이션은 하나의 종별에 대해 하나의 엘리멘터리 스트림이라고 하는 Out_of_MUX의 규정의 예외가 되는 애플리케이션이다. 어떤 점이 예외인가하면, 오디오 믹싱 애플리케이션은 프라이머리 TS에 해당하는 오디오 스트림과 세컨더리 TS에 해당하는 오디오 스트림을 동시에 선택하여, 프라이머리 TS의 음성과 세컨더리 TS의 음성의 2개의 음성을 동시에 디코드하는 점이 예외가 된다.
도 40은 오디오 믹싱 애플리케이션을 구성하는 프라이머리 TS 및 세컨더리 TS가 BD-ROM 재생장치의 내부 구성에서 디코더에 어떻게 공급되는가를 나타내는 도면이다. 본 도면에서는 BD-ROM 재생장치의 내부 구성 중 BD-ROM 드라이브(1a), 로컬 스토리지(200), 네트워크부(25)를 좌측에 나타내고, 각 디코더를 우측에 나타낸다. 한가운데에 스트림의 다중분리를 행하는 PID 필터를 나타낸다. 그리고 본 도면에서의 프라이머리 TS(Video1, Audio1(English), Audio2(Spanish), PG1(English Subtitle), IG1(English Menu)), 세컨더리 TS(Audio3(Commentary), PG2(Japanese Subtitle), PG3(Korean Subtitle), PG4(Chinese Subtitle), IG2(English Menu))는 각각 BD-ROM 및 로컬 스토리지에서 공급되는 트랜스포트 스트림을 나타낸다. 디스크 단일체에는 영어(Audio1)와 스페인어(Audio2)밖에 기록되어 있지 않으므로, 영화감독의 커멘터리 음성은 이 디스크에서는 선택할 수 없다. 그러나 콘텐츠 공급자가 제공하는 Audio3(Commentary)이 들어간 세컨더리 TS를 로컬 스토리지에 다운로드 하면, 영어음성(Audio1)과 Audio3(Commentary)를 디코더에 보낼 수 있다. 이들 영어음성(Audio1)과 Audio3(Commentary)를 디코더가 믹싱하여 출력하면, 사용자는 커멘터리가 부가된 영어음성을 영상(Video1)과 함께 재생시킬 수 있다.
Out_of_MUX 애플리케이션과의 차이는 2개의 오디오 스트림을 동시에 디코드하는 점만이다. 어떤 프라이머리 TS에 대해서도 디스크 발매 후에 감독의 커멘터리 음성을 부가하는 것 등과 같은 경우가 있을 수 있으므로, 프라이머리 TS에 대해서 비트 레이트를 제한 등은 바람직하지 않으며, Out_of_MUX와 마찬가지로 세컨더리 TS에 대한 제한을 도입한다. 오디오 믹싱에서는, 각 엘리멘터리 스트림(비디오, 오디오, 자막, 메뉴)의 디코드에 더하여 오디오를 디코드할 필요가 있으므로, 오디오 디코더는 2개의 리소스를 필수로 한다.
<프라이머리, 세컨더리 오디오 스트림의 구성>
오디오 믹싱 애플리케이션을 실현할 때에 프라이머리 TS에 속하게 되는 오디오 스트림을 프라이머리 오디오 스트림이라고 하고, 세컨더리 TS에 속하게 되는 오디오 스트림을 세컨더리 오디오 스트림이라고 한다. 이들 프라이머리 오디오 스트림 및 세컨더리 오디오 스트림에 대하여 설명한다.
프라이머리 오디오 스트림은 32개 존재하며, 이들은 0x1100에서 0x111F까지의 PID를 갖는다. 한편, 세컨더리 오디오 스트림도 또한 프라이머리 오디오 스트림과 마찬가지로 32개 존재하며, 0x1A00에서 0x1A1F까지의 PID를 갖는다.
세컨더리 오디오 스트림이 프라이머리 오디오 스트림과 다른 점은 세컨더리 오디오 스트림의 오디오 프레임에 "다운믹싱 정보(downmixing information)"와 "게인 제어정보(gain control information)"로 이루어지는 메타데이터(metadata)를 포 함하는 점이다.
"다운믹싱 정보"는 다운 믹싱을 위한 정보이다. 다운 믹싱은 음성의 재생 채널 수를 부호화 채널 수보다 적게 하는 변환이며, 다운믹싱 정보는 다운믹싱을 위한 변환계수 행렬을 규정함으로써 이 다운믹싱을 재생장치가 행하도록 한다. 5.1ch의 음성 스트림을 2ch로 재생하는 것 등이 다운믹싱의 일 예이다.
"게인 제어정보"는 프라이머리 오디오 스트림 측의 음성출력시의 게인을 높이거나 낮추는 정보이나, 여기서는 낮추는 것만으로도 좋다. 이와 같이 세컨더리 오디오 스트림의 메타데이터는 동시에 재생되는 프라이머리 오디오 스트림의 출력을 실시간으로 낮출 수 있다. 프라이머리 오디오(primary audio)와 세컨더리 오디오(secondary audio)를 중첩하는 경우에는, 사전에 믹싱되는 프라이머리 오디오와 세컨더리 오디오의 쌍을 알고 있으므로, 2개의 오디오의 게인을 실시간으로 제어할 필요는 없으며, 프라이머리 오디오의 게인만을 낮추고 세컨더리 오디오의 게인을 그대로 믹싱(중첩)하는 것으로 충분하다. 이러한 메타데이터를 배치함으로써, 프라이머리 오디오 스트림의 재생출력의 음량과 세컨더리 오디오 스트림의 재생출력의 음량이 합쳐져서 스피커를 파손시켜버리게 되는 사태를 피할 수 있다. 이상이 본 실시 예에서의 오디오 스트림에 대한 설명이다. 이어서, 본 실시 예에서의 PlayList에서의 개량에 대하여 설명한다.
<오디오 믹싱 애플리케이션을 실현하기 위한 STN_table>
동종의 엘리멘터리 스트림을 동시에 디코더에 의해 디코드하도록 하게 되므로, 본 실시 예에서의 PlayList 정보에는 재생이 허가되어 있는 복수의 프라이머리 오디오 스트림과 복수의 세컨더리 오디오 스트림의 조합이 각 PlayItem의 STN_table에 나타나 있다.
이하, 본 실시 예에서의 STN_table에 대하여 설명한다. 오디오 믹싱 애플리케이션을 실현하기 위해서, STN_table에는 세컨더리 오디오 스트림에서의 Stream_entry와 Stream_attribute의 쌍이 프라이머리 오디오 스트림에서의 Stream_entry와 Stream_attribute의 쌍과는 별도로 존재한다. 그리고 세컨더리 오디오 스트림에서의 Stream_entry와 Stream_attribute의 쌍이 Comb_info_Secondary_audio_Primary_audio와 대응되어 있다.
(Combo_info_Secondary_audio_Primary_audio)
Combo_info_Secondary_audio_Primary_audio는 그 세컨더리 오디오 스트림의 재생출력을 믹싱할 수 있는 하나 이상의 프라이머리 오디오 스트림을 고유하게 지정한다. 이에 의해, 소정의 속성을 가지는 프라이머리 오디오 스트림의 재생시에는 세컨더리 오디오 스트림을 믹싱하지 않고, 그 이외의 속성을 가지는 프라이머리 오디오 스트림의 재생시에만 세컨더리 오디오 스트림을 믹싱한다고 하는, 음성속성에 따른 믹싱의 여부를 편집시에 설정해 둘 수 있다.
(sp_connection_condition 정보)
또, PlayList 정보에서 SubPlayItem의 sp_connection_condition 정보는 PlayItem 정보의 connection_condition 정보와 동일한 값으로 설정된다. 따라서 PlayItem 정보의 connection_condition 정보가 "=5"이면 SubPlayItem 정보의 sp_connection_condition 정보도 SP_CC=5로 설정된다. 또, SubPlayItem 정보의 In_Time 및 Out_Time은 PlayItem 정보의 In_Time 및 Out_Time과 동일한 시점을 가리킨다.
이상이 본 실시 예에서의 기록매체의 개량이다. 이어서 본 실시 예에 관한 재생장치의 내부 구성에 대하여 설명한다.
<재생장치의 내부 구성>
도 41은 제 5 실시 예에 관한 재생장치의 내부 구성을 나타내는 도면이다. 본 도면에 도시한 바와 같이, TB6, TB7, 오디오 디코더(8)는 오디오 믹싱 프로세서(Audio Mixing Processor, 점선으로 둘러싸인 부분)로 치환되어 있다. 이 오디오 믹싱 프로세서는 프라이머리 TS와 세컨더리 TS로부터 2개의 음성 스트림을 입력하고, 동시에 디코드하여 믹싱하는 것이다. 그 외의 구성은 Out_of_MUX 애플리케이션을 실현하기 위한 내부 구성과 동일하다. 이하, 오디오 믹싱 프로세서에 대하여 설명한다. 오디오 믹싱 프로세서는 트랜스포트 버퍼(6a, 6b), EB(7a, 7b), 프리로드 버퍼(7c), 오디오 디코더(8a, 8b), 믹서(9a, 9b)로 구성된다.
트랜스포트 버퍼(6a)는 PID 필터(3b)에서 출력된 오디오 스트림의 PID를 갖는 TS패킷을 선입 선출방식으로 저장하고, 오디오 디코더(8a)에 제공한다.
트랜스포트 버퍼(6b)는 PID 필터(3d)에서 출력된 오디오 스트림의 PID를 갖는 TS패킷만을 선입 선출방식으로 저장하고, 오디오 디코더(8b)에 제공한다.
EB(7a)는 버퍼(6a)에 저장된 TS패킷을 변환함으로써 얻어지는 PES 패킷을 저장하는 버퍼이다.
EB(7b)는 버퍼(6a)에 저장된 TS패킷을 변환함으로써 얻어지는 PES 패킷을 저 장하는 버퍼이다.
프리로드 버퍼(7c)는 BD-ROM/로컬 스토리지에서 판독된 파일 sound.bdmv를 프리로드해 두기 위한 메모리이다. 파일 sound.bdmv는 메뉴에 대한 조작으로 출력해야 할 오디오 데이터를 저장한 파일이다.
오디오 디코더(8a)는 프라이머리 TS를 구성하는 PES 패킷에 대하여 디코드 처리를 행하여, 비 압축상태인 LPCM 상태의 오디오 데이터를 얻어서 출력한다. 이에 의해 오디오 스트림에서의 디지털 출력이 이루어진다.
오디오 디코더(8b)는 세컨더리 TS를 구성하는 PES 패킷에 대하여 디코드 처리를 행하여, 비 압축상태인 LPCM 상태의 오디오 데이터를 얻어서 출력한다. 이에 의해 오디오 스트림에서의 디지털 출력이 이루어진다.
믹서(9a)는 오디오 디코더(8a)에서 출력되는 LPCM 상태의 디지털 오디오와 오디오 디코더(8b)에서 출력되는 LPCM 상태의 디지털 오디오를 믹싱한다.
믹서(9b)는 믹서(9a)에서 출력되는 LPCM 상태의 디지털 오디오와 버퍼(7c)에 저장되어 있는 사운드 데이터를 믹싱한다. 이 사운드 믹서(9b)에 의한 믹싱은 클릭 음의 발음을 의도한 것과 같은 내비게이션 커맨드(navigation commend)를 컨트롤러(22)가 해독함으로써 이루어진다.
이상이 본 실시 예에 관한 재생장치에 대한 설명이다.
<오디오 믹싱 애플리케이션에 대한 검증>
상술한 바와 같이, 오디오 믹싱 애플리케이션은 프라이머리 오디오 스트림과 세컨더리 오디오 스트림으로 구성되므로, 제 2 실시 예에서 설명한 것과 같은 검증 은 프라이머리 오디오 스트림 및 세컨더리 오디오 스트림이 동시에 판독된 경우를 상정하여 실행된다. 구체적으로 말하면, MainClip, SubClip이 기준으로 하고 있는 ATC 시간 축에서 하나씩 Window를 시프트 해 간다. 이 스프트의 순서는 도 35의 플로차트에 도시한 것과 동일하다. 그리고 ATS에 나타내는 ATC 시간 축의 각 좌표에서, 비디오 스트림, 복수의 프라이머리 오디오 스트림, 복수의 세컨더리 오디오 스트림, 복수의 PG 스트림, 복수의 IG 스트림 중 산출된 비트 레이트가 가장 높은 것을 선택하고, 비디오 스트림의 비트 레이트의 최대값, 프라이머리 오디오 스트림의 비트 레이트의 최대값, 세컨더리 오디오 스트림의 비트 레이트의 최대값, PG 스트림의 비트 레이트의 최대값, IG 스트림의 비트 레이트의 최대값을 합계하여 그 합계량이 48Mbit 이하인가를 판정한다. 48Mbit를 초과하고 있으면 BD-ROM 규격에 위반하고 있는 것으로 판정결과를 내린다.
이상과 같이 본 실시 예에 의하면, BD-ROM과 로컬 스토리지 쌍방에서 프라이머리 오디오 스트림과 세컨더리 오디오 스트림을 동시에 판독하여, 프라이머리 오디오 스트림용의 디코더 및 세컨더리 오디오 스트림용의 디코더에 공급하는 경우에도 1초당 비트 양이 소정의 상한을 초과하지 않는다고 하는 보장을 할 수 있다. 이러한 보장을 함으로써 오디오 믹싱 애플리케이션을 효율적으로 작성할 수 있다. 따라서, 오디오 믹싱 애플리케이션을 실현하는 추가 콘텐츠를 로컬 스토리지에 다운로드 하여, 로컬 스토리지에서 디코더에 공급한다고 하는 공급상태가 가능해지므로, BD-ROM의 출하 후에 커멘터리를 추가하는 공급방법을 용이하게 실현할 수 있다.
(제 6 실시 예)
제 1 실시 예에서는, PlayItem에서의 In_Time 및 Out_Time과, SubPlayItem에서의 In_Time 및 Out_Time을 일치시킴으로써 PlayItem간의 접속점 및 SubPlayItem의 접속점을 일치시켰으나, 본 실시 예는, 오디오 믹싱을 실현하기 위해서 이 접속점의 일치를 요구하지 않고, 어느 정도의 시간 차를 인정한다.
이 시간 차를 인정하는 경우에는 다른 제한이 필요해진다. PlayItem과 SubPlayItem간의 심리스 접속에서 상술한 STC의 변경처리를 행하나, 이 변경처리는 디코더가 프리 런 상태(free-run state)에 있는 경우에 이루어진다. 이 경우, 심리스 접속에서는 STC가 복귀할 때까지 디코더는 동기제어로 이행할 수 없으므로, STC 변경을 수반하는 심리스 접속은 실장의 사정상 빈번하게는 받아들일 수 없다. 따라서, PlayItem과 SubPlayItem의 양쪽에서 연속하는 CC=5의 접속점은 소정의 시간 간격(예를 들어, 3초 정도)을 두고 일어나도록 제한되어야 한다.
도 42는 오디오 믹싱을 나타내는 플레이리스트에 지정되는 PlayItem과 SubPlayItem의 상관을 나타내는 도면이다. 도 42의 제 1 단째는 PlayList 정보에서의 3개의 PlayItem(PlayItem정보#1, PlayItem정보#2, PlayItem정보#3)을 나타낸다. 이들 3개의 PlayItem은 프라이머리 TS를 지정하고 있고, PlayItem정보#1과 PlayItem정보#2 사이는 CC=1로 설정되며, PlayItem정보#2와 PlayItem정보#3 사이는 CC=5로 설정되어 있다. 도 42의 제 2 단째는 PlayList 정보에서의 3개의 SubPlayItem(SubPlayItem#1, SubPlayItem#2, SubPlayItem#3)을 나타낸다. 이들 3개의 SubPlayItem은 세컨더리 TS를 지정하고 있고, SubPlayItem#1과 SubPlayItem#2 사이는 CC=1로 설정되며, SubPlayItem#2와 SubPlayItem#3 사이는 SP_CC=5로 설정되어 있다. 도 42의 제 3 단째는 Progressive PlayList 정보에서의 9개의 SubPlayItem(SubPlayItem#1, SubPlayItem#2, SubPlayItem#3~SubPlayItem#9)를 나타낸다. 이들 9개의 SubPlayItem은 세컨더리 TS를 지정하고 있고, SubPlayItem#3과 SubPlayItem#4 사이는 SP_CC=1로 설정되며, SubPlayItem#4와 SubPlayItem#5 사이는 SP_CC=5로 설정되고, 그 이외는 SC=6으로 설정되어 있다.
본 도면에서 제 2 단째의 SubPlayItem#3의 개시는 제 1 단째에서의 PlayItem#3의 개시 점보다 3초 전이다. 마찬가지로, 제 3 단째의 SubPlayItem#5의 개시 점은 제 1 단째에서의 PlayItem#3의 개시 점보다 3초 전이다.
PlayItem과 SubPlayItem의 STC 시간 축 절환을 위한 시간 간격은 3초로 되어 있으므로, STC 시간 축의 변경이 지나치게 빈번해 지는 일은 없다.
또, CC=1의 타이밍은 PlayItem에 맞춰서 SP_CC=1로 접속된다. 이것은 CC=1의 비 심리스 접속시에 SubPlayItem만이 재생을 연속해서 계속한 경우에 PlayItem과 SubPlayItem의 동기재생이 어긋나는 것을 방지하기 위해서이기도 하다.
PlayItem의 도중에 SubPlayItem을 SP_CC=5로 접속한다고 하는 접속형태는 1장의 디스크에 극장공개 판과 디렉터스 컷(director's cut) 양쪽을 수록할 때에 유익해진다.
도 43의 제 1 단째는 극장공개 판과 디렉터스 컷 양쪽을 구성하는 PlayList 정보의 일 예를 나타낸다. 이 PlayList 정보 중 PlayItem#1, PlayItem#2, PlayItem#4로 구성되는 것이 디렉터스 컷이고, PlayItem#1, PlayItem#3, PlayItem#4로 구성되는 것이 극장공개 판이다. 이와 같이, PlayItem#1과 PlayItem#4는 어느 버전에서도 공유할 수 있으므로 효과적으로 타이틀을 작성할 수 있다. 서로 다른 영상이 전체에 비하여 짧으므로 효과적으로 디스크 전체의 데이터 용량을 억제할 수 있다. 도 43의 제 2 단째는 본 도면의 제 1 단째에서의 PlayItem#1, PlayItem#2, PlayItem#4에 대응하는 커멘터리를 하나의 SubPlayItem으로 정의하고, PlayItem#1, PlayItem#3, PlayItem#4에 대응하는 커멘터리를 다른 SubPlayItem으로 정의하는 일 예를 나타낸다. 이 경우, 2개의 SubPlayItem 각각에서 PlayItem정보#1, PlayItem정보#4에 대응하는 커멘터리를 준비해 둘 필요가 있어서, 데이터 용량의 면에서 어려움이 많다.
도 43의 제 3 단째는 PlayItem정보#1, PlayItem정보#2, PlayItem정보#3, PlayItem정보#4의 각각에 대응하는 SubPlayItem(SubPlayItem#1, SubPlayItem#2, SubPlayItem#3, SubPlayItem#4)을 정의하는 일 예를 나타낸다. 그리고 SubPlayItem#1과 SubPlayItem#2 및 SubPlayItem#3과의 사이, SubPlayItem#2 및 SubPlayItem#3과 SubPlayItem#4와의 사이는 CC=5로 접속하는 것으로 한다. 이들 접속점은 PlayItem에서의 접속점과 3초의 시간 간격을 둔다. 즉, PlayItem#1이 종료하기 3초 전에 커멘터리 쪽은 SubPlayItem#2와 SubPlayItem#3에 CC=5(또는 CC=6)를 사용하여 분기시키고 있다.
또, PlayItem#2와 PlayItem#3이 종료한 3초 후에 CC=5(또는 CC=6)를 사용하여 SubPlayItem#4로 분기한다. SubPlayItem#2와 SubPlayItem#3의 개시 및 SubPlayItem#4의 개시는 PlayItem#2와 PlayItem#3의 개시 및 PlayItem#4의 개시로 부터 3초의 시간 간격을 두고 있다. 이상의 시간 간격을 둠으로써 STC 시간 축의 변경이 지나치게 빈번해지는 일은 없다.
엄밀하게는, CC=5는 SubPlayItem#3에서 SubPlayItem#4로의 복귀시에만(ATC/STC 시간 축이 리셋 되는 심리스 접속) 필요하고, 그 외에는 CC=6으로 대용이 가능하다.
이상과 같이 본 실시 예에 의하면, PlayItem의 In_Time 및 Out_Time과 SubPlayItem의 In_Time 및 Out_Time이 일치하고 있지 않으므로, ATC 카운터(2a와 2c) 및 STC 카운터(3a)와 STC 카운터(3c)의 동기는 불필요해져서, 재생장치의 설계의 여지를 넓힐 수 있다.
(제 7 실시 예)
제 6 실시 예에서는, 프라이머리 오디오 스트림 및 세컨더리 오디오 스트림을 BD-ROM 및 로컬 스토리지에서 동시에 판독하여 디코더에 공급하는 경우에, 프라이머리 오디오 스트림 및 세컨더리 오디오 스트림을 비트 양 제한의 대상으로 하였으나, 본 실시 예에서는 픽쳐 인 픽쳐(Picture in Picture, PiP) 재생 애플리케이션을 실현하는 경우에서의 비트 양의 제한에 대하여 설명한다.
PiP 재생은, PlayList 정보의 MainPath 정보에 의해 동화상을 구성하는 MainClip이 지정되어 있고, PlayList 정보의 SubPlayItem 정보에 의해 다른 동화상을 구성하는 SubClip이 지정되어 있는 경우, 전자의 동화상(프라이머리 비디오)과 후자의 동화상(세컨더리 비디오)을 동일한 화면 내에 표시하는 것을 말한다. 여기서 프라이머리 비디오(Primary Video)는 HD화상으로 구성되고, 세컨더리 비디 오(Secondary Video)는 SD화상으로 구성된다. HD화상은 1920×1080이라고 하는 해상도를 가지며, 필름소재와 마찬가지로 3750(또는 3753이나 3754) 클록의 프레임 간격을 갖는다. SD화상은 720×480이라고 하는 해상도를 가지며, NTSC 소재와 마찬가지로 1501 클록의 표시간격, 또는 PAL 소재와 마찬가지로 1800 클록의 프레임 간격을 갖는다.
SD화상의 해상도는 HD화상의 해상도의 약 1/4 정도이므로, HD화상인 프라이머리 비디오와 SD화상인 세컨더리 비디오를 동일한 화면상에 표시하면, 세컨더리 비디오는 프라이머리 비디오에 대하여 약 1/4 정도의 크기가 된다.
여기서, 세컨더리 비디오는 감독이나 출연자만이 등장하고 있는 동화상이며, 프라이머리 비디오에서의 영상내용을 가리키는 것과 같은 연기를 하고 있는 것으로 한다. 관련 동화상이 세컨더리 비디오라면, 관련 세컨더리 비디오의 영상 내용을 프라이머리 비디오의 영상 내용과 조합함으로써 영화작품 본편의 재생 영상의 내용을 감독이나 출연자가 가리키면서 해설하고 있는 것과 같은 즐거운 화면연출을 실현할 수 있다.
<본 실시 예에서의 PlayList 정보>
세컨더리 비디오용의 비디오 스트림(세컨더리 비디오 스트림)은 PlayList 정보의 SubPath 정보에서의 복수의 SubPlayItem 정보에 지정된다. 이러한 SubPlayItem 정보에는 PiP_Position과 PiP_Size라고 하는 정보요소가 신규로 추가된다.
"PiP_Position"은 프라이머리 비디오 재생을 위한 화면 플레인 상의 X좌표 및 Y좌표를 이용하여 세컨더리 비디오의 재생 영상이 배치되어야 할 위치를 나타낸다.
"PiP_Size"는 세컨더리 비디오 재생 영상의 세로 사이즈 및 가로 사이즈를 나타낸다.
또, 본 실시 예에서 SubPlayItem의 sp_connection_condition 정보가 "=5"로 설정되어 있다고 하는 것은, 현재 SubPlayItem 측의 SubClip에 다중화되어 있는 세컨더리 비디오 스트림과 이전 SubPlayItem 측의 SubClip에 다중화되어 있는 세컨더리 비디오 스트림이 심리스 접속된다고 하는 보증이 있는 것을 의미한다. 이러한 SubPlayItem의 sp_connection_condition 정보는 PlayItem 정보의 connection_ condition 정보와 동일한 값으로 설정되므로, PlayItem 정보의 connection_condition 정보가 "=5"이면, SubPlayItem 정보의 sp_connection_condition 정보도 "=5"로 설정되지 않으면 안 된다. 즉, PlayItem 측의 프라이머리 비디오 스트림이 심리스 접속되면, SubPlayItem 측의 세컨더리 비디오 스트림도 심리스 접속되지 않으면 안 된다. 또, SubPlayItem 정보의 In_Time 및 Out_Time은 PlayItem 정보의 In_Time 및 Out_Time과 동일한 시점을 가리키지 않으면 안 된다.
이상이 본 실시 예에서의 기록매체의 개량이다.
<본 실시 예에서의 재생장치의 개량>
이어서, 재생장치의 개량에 대하여 설명한다. 세컨더리 비디오 스트림의 디코드를 행하기 위해서 본 실시 예에 관한 재생장치의 하드웨어 구성에는 비디오 스 트림을 디코드하기 위한 구성요소가 한 쌍 더 추가되어 있다. 여기서 비디오 스트림을 디코드하기 위한 구성요소는 트랜스포트 버퍼, 멀티플렉스드 버퍼, 엘리멘터리 버퍼, 디코더, 비디오 플레인이며, 이들은 세컨더리 비디오 스트림을 디코드한다. 그 외에, 본 실시 예에 관한 재생장치에는 이하의 스콜러(Scaller) 및 합성부가 추가되어 있다.
스콜러는 SubPlayItem 정보의 PiP_Size에 나타내는 가로세로의 크기에 의거하여 세컨더리 비디오 플레인 상에 얻어진 재생 영상을 확대 또는 축소한다.
합성부는 스콜러에 의해 확대 또는 축소된 재생 영상과 비디오 디코더에 의해 얻어진 재생 영상을 합성함으로써 PiP 재생을 실현한다. 합성부에 의한 프라이머리 비디오의 재생 영상과 세컨더리 비디오의 재생 영상의 합성은 SubPlayItem 정보에 규정되어 있는 PiP_Position에 따라서 이루어진다. 이렇게 함으로써 프라이머리 비디오의 재생 영상과 세컨더리 비디오의 재생 영상이 합성된 합성 영상이 재생되게 된다. 이 합성부에 의한 합성에서는 크로마키 합성(chroma-key synthesis), 레이어 합성(layer synthesis) 등이 가능하며, 세컨더리 비디오에서의 배경을 제거하고, 인물 부분을 추출한 상태에서 프라이머리 비디오의 재생 영상에 합성하는 것도 가능하다. 이상이 본 실시 예에 관한 재생장치에 대한 설명이다.
<PiP 애플리케이션에 대한 검증>
PiP 재생의 실현시에 프라이머리 TS인 비디오 스트림(프라이머리 비디오 스트림)과 세컨더리 TS인 비디오 스트림(세컨더리 비디오 스트림)을 동시에 판독하여 디코더에 공급하는 경우, 프라이머리 비디오 스트림과 세컨더리 비디오 스트림을 비트 양을 제한하기 위한 검증의 대상으로 한다.
구체적으로 말하면, ATC 시간 축에서 Window를 시프트시킨 때에, ATC에 나타나는 ATC 시간 축의 각 좌표에서 프라이머리 비디오 스트림, 세컨더리 비디오 스트림, 복수의 프라이머리 오디오 스트림, 복수의 세컨더리 오디오 스트림, 복수의 PG 스트림, 복수의 IG 스트림 중 산출된 비트 레이트가 가장 높은 것을 선택하고, 프라이머리 비디오 스트림의 비트 레이트의 최대값, 세컨더리 비디오 스트림의 비트 레이트의 최대값, 프라이머리 오디오 스트림의 비트 레이트의 최대값, 세컨더리 오디오 스트림의 비트 레이트의 최대값, PG 스트림의 비트 레이트의 최대값, IG 스트림의 비트 레이트의 최대값을 합계하여 그 합계량이 48Mbit 이하인가를 판정한다.
이상과 같이 본 실시 예에 의하면, BD-ROM과 로컬 스토리지 쌍방에서 프라이머리 비디오 스트림과 세컨더리 비디오 스트림을 동시에 판독하여 각각에 대응하는 디코더에 공급하는 경우에도, 1초당 비트 양이 소정의 상한을 초과하지 않는다고 하는 보장을 할 수 있다. 이러한 보장을 함으로써 PiP 애플리케이션을 효율적으로 작성할 수 있다.
(비고)
이상, 본원의 출원시점에서 출원인이 알 수 있는 최선의 실시 예에 대하여 설명하였으나, 이하에 제시하는 기술적 토픽에 대해서는 개량이나 변경실시를 더 부가할 수 있다. 각 실시 예에서 설명한 바와 같이 실시하거나, 이들의 개량 및 변경을 할지 여부는 모두 임의적이며, 실시하는 자의 주관에 의한다는 점을 유의하기 바란다.
(In_Time 및 Out_Time)
도 27에서는, TS1의 최후의 비디오 프레젠테이션 유닛을 이전 PlayItem의 Out_Time으로 선택하고, TS2의 최초의 비디오 프레젠테이션 유닛을 이전 PlayItem 및 이전 SubPlayItem의 In_Time으로 선택하였으나, TS1의 도중의 비디오 프레젠테이션 유닛을 이전 PlayItem의 Out_Time으로 선택하고, TS2의 도중의 비디오 프레젠테이션 유닛을 현재 PlayItem 및 현재 SubPlayItem의 In_Time으로 선택하여도 된다. 이 경우, PlayItem 및 현재 SubPlayItemd은 심리스 접속할 수 없으며, CC=1, SP_CC=1로 접속하여야 한다.
(PlayList 정보 전체)
2개의 PlayItem 사이를 CC=5로 접속하려고 하는 경우, 하나의 PlayList 정보에 속하는 모든 PlayItem 정보 및 모든 SubPlayItem 정보는 CC=5로 접속하지 않으면 안 된다.
(디코더에 공급하는 데이터 공급량)
Out_of_MUX에서 디코더에 공급하는 데이터 공급량은 반드시 커지는 것은 아니다. 예를 들어, 프라이머리 오디오 스트림이 MainClip이고, CBR의 DD(Dolby Digital)와 VBR의 MLP로 구성되어 있어서, 이 MLP가 로컬 스토리지에서 공급된 CBR의 DD로 치환되는 것으로 한다. 이 경우, 디코더에 공급하는 데이터 공급량은 오히려 저하한다. 이와 같은 점이 명백하다면 검증을 생략해도 된다.
(재생시간 차)
CC=5, SP_CC=5를 실현함에 있어서 하나의 PlayItem 중에서의 각 비디오 스트 림/오디오 스트림의 재생시간 차도 작은 것이 바람직하다. 이 차도 비디오 1프레임 분(分)(1/60~1/25초)으로 해도 되고, 1초 이하 등으로 해도 되며, 전체의 재생시간에 대한 비율(1% 이하 등)이어도 되고, 이들 2개를 조합한 것이어도 된다. 하나의 SubPlayItem 중에서의 각 비디오/오디오 엘리멘터리 스트림의 재생시간 차도 이와 마찬가지이다.
하나의 PID에 2개의 엘리멘터리 스트림을 저장하는 경우에는, 동일한 PID에 저장되는 2개의 스트림의 재생시간 길이의 차는 재생시간이 짧은 스트림 측의 최소 재생단위(1프레임)의 재생시간 길이 미만인 것이 바람직하다. 이와 같은 경우에 해당하는 것은 Dolby Digital(AC-3)과 MLP(Meridian Lossless Packing)이 하나의 엘리멘터리 스트림에 저장되어서 BD-ROM에 기록되는 경우이다.
(추가 콘텐츠에 대한 처리)
로컬 스토리지(200)에 다운로드 된 추가 콘텐츠는 몇 개월, 몇 년이 경과하면 자동으로 소거되도록 재생장치를 초기 설정해 두는 것이 바람직하다.
(PID의 대용)
오디오 믹싱 애플리케이션의 실현시에 프라이머리 오디오 스트림과 세컨더리 오디오 스트림의 구별에 PID를 이용하였으나, MPEG2-PS를 사용하는 경우에는 PES 패킷 헤더의 stream_id를 각각 다른 것으로 하는 것이 바람직하다.
또, 프라이머리 오디오 스트림과 세컨더리 오디오 스트림은 2개의 음성 스트림이 하나의 디멀티 플렉서에서도 변별할 수 있도록 시스템 스트림 레벨에서 구별되어 있으면 좋다. 또는, 2개의 스트림을 하나로 멀티플렉싱을 하는 경우에 일측 PID가 중복하지 않도록 다른 쪽 PID와 대치해 두어도 좋다.
(프리로드)
클릭 음을 위한 오디오 데이터(파일 sound.bdmv)의 프리로드는 BD-ROM의 로딩시나 타이틀 절환시에 행하는 것이 바람직하다. 왜냐하면, AVClip의 재생 중에 파일 sound.bdmv를 판독하려고 하면, AVClip과는 다른 파일을 판독하기 위한 광 픽업의 씨크(seek)가 발생하기 때문이다. 한편, BD-ROM의 장착시나 타이틀 절환시에는 AVClip의 재생이 계속되고 있는 희귀하므로, 이러한 타이밍에 파일 sound.bdmv를 판독함으로써, 기기의 응답성을 높여서 AVClip 재생이 도중에 잘 끊어지지 않게 할 수 있다.
(Java(TM) 플랫폼)
각 실시 예에 관한 재생장치에 Java(TM) 2Micro_Edition(J2ME) Personal Basis Profile(PBP 1.0)과 Globally Executable MHP specification(GEM1.0.2) for package media targets를 풀 실장(fully mounting) 함으로써 Java(TM) 플랫폼을 구성하고, BD-J 애플리케이션을 재생장치에 실행시켜도 된다. 그리고 이 애플리케이션의 실행시에 Out_of_MUX 프레임 워크를 재생장치에 실행시켜도 된다.
(타이틀)
BD-ROM의 장착이나 사용자 조작, 장치의 상태에 따라서 타이틀을 선택하는 "모듈 매니저"를 재생장치에 설치하는 것이 바람직하다. BD-ROM 재생장치 내의 디코더는 이 "모듈 매니저"에 의한 타이틀 선택에 따라서 플레이리스트 정보에 의거한 AVClip의 재생을 행한다.
애플리케이션 매니저는 "모듈 매니저"가 타이틀의 선택을 행한 때에 이전 타이틀에 대응하는 애플리케이션 관리 테이블(AMT)과 현재 타이틀에 대응하는 AMT를 이용하여 시그널링(signaling)을 실행한다. 이 시그널링은 이전 타이틀에 대응하는 AMT에는 기재되어 있으나 현재 타이틀에 대응하는 AMT에는 기재되어 있지 않은 애플리케이션의 동작을 종료시키고, 이전 타이틀에 대응하는 AMT에는 기재되어 있지 않으며 현재 타이틀에 대응하는 AMT에는 기재되어 있는 애플리케이션의 동작을 개시한다고 하는 제어를 행한다.
(로컬 스토리지 내의 디렉터리 구성)
각 실시 예에서 설명한 로컬 스토리지 내의 각 영역은 BD-ROM에서의 디스크 루트 증명서(disk's 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)에 규정되는 것이 바람직하다.
(실장해야 할 패키지)
BD-ROM 재생장치를 Java(TM) 플랫폼으로 실시할 때에는 이하의 BD-J Exetention을 재생장치에 실장하는 것이 바람직하다. BD-J Extention은 GEM[1.0.2]를 초월하는 기능을 Java(TM) 플랫폼에 부여하기 위해 특화된 다양한 패키지를 포함하고 있다. BD-J Extention에 공급되는 패키지에는 이하의 것이 있다.
· org.bluray.media
이 패키지는 Java(TM) Media FrameWork에 추가해야할 특수기능을 제공한다. 앵글, 음성, 자막의 선택에 대한 제어가 이 패키지에 추가된다.
· org.bluray.ti
이 패키지는 GEM[1.0.2]에서의 "서비스"를 "타이틀"로 맵핑(mapping)하여 동작하기 위한 API, BD-ROM에서 타이틀 정보를 문의하는 기구 및 새로운 타이틀을 선택하는 기구를 포함한다.
· org.bluray.application
이 패키지는 애플리케이션의 생존구간을 관리하기 위한 API를 포함하다. 또, 애플리케이션을 실행시킬 때의 시그널링에 필요한 정보를 문의하는 API를 포함한다.
· org.bluray.ui
이 패키지는 BD-ROM에 특화된 키 이벤트를 위한 정수를 정의하며, 영상재생과의 동기를 실현하는 클래스를 포함한다.
· org.bluray.vfs
이 패키지는 데이터의 소재에 관계없이 데이터를 심리스 재생하므로, BD-ROM 에 기록된 콘텐츠(on-disc 콘텐츠)와 BD-ROM에 기록되어 있지 않은 로컬 스토리지 상의 콘텐츠(off-disc 콘텐츠)를 바인딩하는 기구(Binding Scheme)를 제공한다.
Binding Scheme는 BD-ROM상의 콘텐츠(AVClip, 자막, BD-J 애플리케이션)와 로컬 스토리지 상의 관련 콘텐츠를 관련짓는 것이다. 이 Binding Scheme는 콘텐츠의 소재에 관계없이 심리스 재생을 실현한다.
(버티컬 패키지(Virtual Package))
버티컬 패키지를 생성시키는 처리를 BD-ROM 재생장치가 행하도록 해도 된다. 이것은 재생장치가 버티컬 패키지정보를 생성함으로써 이루어진다. 버티컬 패키지정보는 BD-ROM에서의 볼륨관리정보를 확장한 정보이다. 여기서, 볼륨관리정보는 어떤 기록매체 상에 존재하는 디렉터리 파일 구조를 규정하는 정보이며, 디렉터리에 대한 디렉터리 관리정보와 파일에 대한 파일 관리정보로 이루어진다. 버티컬 패키지정보는 BD-ROM의 디렉터리 파일 구조를 나타내는 볼륨 관리정보에 새로운 파일 관리정보를 추가함으로써 BD-ROM에서의 디렉터리 파일 구조의 확장을 도모한 것이다.
(제어순서의 실현)
각 실시 예에서 플로차트를 인용하여 설명한 제어순서나 기능적인 구성요소에 의한 제어순서는 하드웨어 자원을 이용하여 구체적으로 실현되어 있으므로 자연법칙을 이용한 기술적 사상의 창작이라고 할 수 있고, "프로그램 발명"으로서의 성립요건을 만족한다.
· 본 발명에 관한 프로그램의 생산형태
본 발명에 관한 프로그램은 컴퓨터가 실행할 수 있는 실행형식의 프로그램(오브젝트 프로그램)이며, 실시 예에서 설명한 플로차트의 각 스텝이나 기능적 구성요소의 각각의 순서를 컴퓨터에 실행시키는 하나 이상의 프로그램 코드로 구성된다. 여기서 프로그램 코드는 프로세서의 네이티브 코드(native code)나 JAVA(TM) 바이트 코드와 같이 다양한 종류가 있다. 또, 프로그램 코드에 의한 각 스텝의 실현에는 다양한 형태가 있다. 외부 함수를 이용하여 각 스텝을 실현할 수 있는 경우, 이 외부 함수를 호출하는 호출문이 프로그램 코드가 된다. 또, 하나의 스텝을 실현하는 프로그램 코드가 각각 오브젝트 프로그램에 귀속하는 경우도 있다. 명령 종(種)이 제한되어 있는 RISC 프로세서에서는 산술연산명령이나 논리연산명령, 분기명령 등을 조합함으로써 플로차트의 각 스텝이 실현되는 경우도 있다.
본 발명에 관한 프로그램은 이하와 같이 하여 만들 수 있다. 먼저, 소프트웨어 개발자는 프로그래밍 언어를 이용하여 각 플로차트나 기능적인 구성요소를 실현하는 소스 프로그램을 기술한다. 이 기술시에 소프트웨어 개발자는 프로그래밍 언어의 구문에 따라서 클래스 구조체나 변수, 배열변수, 외부 함수의 호출을 이용하여 각 플로차트나 기능적인 구성요소를 구현하는 소스 프로그램을 기술한다.
기술된 소스 프로그램은 파일로 컴파일러(compiler)에 주어진다. 컴파일러는 이들 소스 프로그램을 번역하여 오브젝트 프로그램을 생성한다.
컴파일러에 의한 번역은 구문해석, 최적화, 자원할당, 코드생성과 같은 과정으로 이루어진다. 구문해석에서는 소스 프로그램의 자구해석, 구문해석 및 의미해석을 행하여, 소스 프로그램을 중간 프로그램으로 변환하다. 최적화에서는 중간 프 로그램에 대하여 기본 블록화, 제어 플로 해석, 데이터 플로 해석과 같은 작업을 행한다. 자원할당에서는 타깃이 되는 프로세서의 명령 세트에 대한 적합을 도모하기 위하여, 중간 프로그램 중의 변수를 타깃이 되는 프로세서가 갖고 있는 레지스터 또는 메모리에 할당한다. 코드 생성에서는 중간 프로그램 내의 각 중간명령을 프로그램 코드로 변환하여 오브젝트 프로그램을 얻는다.
오브젝트 프로그램이 생성되면, 프로그래머는 이들에 대하여 링커(linker)를 기동한다. 링커는 이들 오브젝트 프로그램이나 관련하는 라이브러리 프로그램을 메모리 공간에 할당하고, 이들을 하나로 결합하여 로드 모듈(load module)을 생성한다. 이렇게 생성되는 로드 모듈은 컴퓨터에 의한 판독을 전제로 한 것이며, 각 플로차트에 나타낸 처리순서나 기능적인 구성요소의 처리순서를 컴퓨터에 실행시키는 것이다. 이상의 처리를 거쳐서 본 발명에 관한 프로그램을 만들 수 있다.
본 발명에 관한 프로그램은 이하와 같이 사용할 수 있다. 본 발명에 관한 프로그램을 내장 프로그램(embedded program)으로 사용하는 경우, 프로그램에 해당하는 로드 모듈을 기본 입출력 프로그램(BIOS)이나 다양한 미들웨어(오퍼레이션 시스템)와 함께 명령 ROM에 기록한다. 이러한 명령 ROM을 제어부에 포함시켜서, CPU가 실행하도록 함으로써 본 발명에 관한 프로그램을 재생장치의 제어 프로그램으로 사용할 수 있다.
재생장치가 하드디스크 내장 모델인 경우는, 기본 입출력 프로그램(BIOS)이 명령 ROM에 포함되어 있고, 다양한 미들웨어(오퍼레이션 시스템)가 하드 디스크에 프리인스톨(preinstall) 되어 있다. 또, 하드디스크에서 시스템을 기동하기 위한 부트 ROM이 재생장치에 설치되어 있다. 이 경우, 로드 모듈만을 휴대형 기록매체(transportable recording medium)나 네트워크를 통해서 재생장치에 공급하여, 하나의 애플리케이션으로서 하드디스크에 인스톨 한다. 그렇게 하면, 재생장치는 부트 ROM에 의한 부트스트랩(bootstrap)을 행하고, 오퍼레이션 시스템을 기동한 상태에서, 하나의 애플리케이션으로서 당해 애플리케이션을 CPU에 실행시켜서 본 발명에 관한 프로그램을 사용한다.
하드디스크 모델의 재생장치에서는 본 발명의 프로그램을 하나의 애플리케이션으로 사용할 수 있으므로, 본 발명에 관한 프로그램을 단일체로 양도하거나 대여하거나 네트워크를 통해서 공급할 수 있다.
(컨트롤러(22))
컨트롤러(22)는 하나의 시스템 LSI로 실현할 수 있다.
시스템 LSI는 고밀도 기판상에 베어 칩(bare chip)을 실장하여 패키징한 것을 말한다. 복수 개의 베어 칩을 고밀도 기판상에 실장하여 패키징함으로써, 마치 하나의 LSI와 같은 외형 구조를 복수 개의 베어 칩이 가지게 하는 것도 시스템 LSI에 포함된다(이와 같은 시스템 LSI를 멀티 칩 모듈이라 한다).
여기서, 패키지의 종별에 착안하면, 시스템 LSI에는 QFP(Quad Flat Package), PGA(Pin Grid Array)라고 하는 종류가 있다. QFP는 패키지의 네 측면에 핀이 장착된 시스템 LSI이다. PGA는 밑면 전체에 많은 핀이 장착된 시스템 LSI다.
이들 핀은 다른 회로와의 인터페이스로서의 역할을 하고 있다. 시스템 LSI에서의 핀에는 이러한 인터페이스의 역할이 존재하므로, 시스템 LSI에서의 이들 핀에 다른 회로를 접속함으로써 시스템 LSI는 재생장치의 중핵으로서의 역할을 한다.
시스템 LSI에 패키징 되는 베어 칩은 "프런트 앤드부(front end unit)", "백 앤드부(back end unit)", "디지털 처리부"로 이루어진다. "프런트 앤드부"는 아날로그 신호를 디지털화하는 부분이고, "백 앤드부"는 디지털 처리의 결과 얻어진 데이터를 아날로그화하여 출력하는 부분이다.
각 실시 예에서 내부 구성도에서 도시한 각 구성요소는 이 디지털 처리부 내에 실장된다.
먼저, "내장 프로그램으로서의 사용"에서 설명한 바와 같이, 명령 ROM에는 프로그램에 해당하는 로드 모듈이나 기본 입출력 프로그램(BIOS), 다양한 미들웨어(오퍼레이션 시스템)가 기록된다. 본 실시 예에서 특히 창작한 것은 이 프로그램에 해당하는 로드 모듈 부분이므로, 프로그램에 해당하는 로드 모듈을 저장한 명령 ROM을 베어 칩으로 패키징함으로써 본 발명에 관한 시스템 LSI는 생산할 수 있다.
구체적인 실장에 대해서는 SoC 실장이나 SiP 실장을 이용하는 것이 바람직하다. SoC(System on chip) 실장은 1 칩 상에 복수의 회로를 인쇄하는(burn) 기술이다. SiP(System in Package) 실장은 복수의 칩을 수지 등으로 하나의 패키지로 하는 기술이다. 이상의 과정을 거쳐서 본 발명에 관한 시스템 LSI는 각 실시 예에 제시한 재생장치의 내부 구성도를 기초로 작성할 수 있다.
또, 상술한 바와 같이 하여 생성되는 집적회로는 집적도의 차이에 따라서 IC, LSI, 슈퍼 LSI, 울트라 LSI로 호칭이 되는 경우도 있다.
또, 각 기록재생장치의 구성요소의 일부 또는 전부를 하나의 칩으로 구성하 여도 된다. 집적회로화는 상술한 SoC 실장이나 SiP 실장에 한정되는 것은 아니며, 전용회로 또는 범용 프로세스로 실현하여도 된다. LSI 제조 후에 프로그램할 수 있는 FPGA(Field Programmable Gate Array)나 LSI 내부의 회로 셀의 접속이나 설정을 재구성할 수 있는 리컨피규러블 프로세서(reconfigurable processor)를 이용하는 것을 생각할 수 있다. 또, 반도체 기술의 진보 또는 파생하는 기술에 의해 LSI를 치환하는 집적회로화 기술이 등장하면, 당연히 그 기술을 이용하여 기능 블록의 집적회로화를 해도 된다. 예를 들어, 바이오 기술의 적응 등이 가능성이 있을 수 있다.
본 발명에 관한 기록매체 및 재생장치는 상기 실시 예에 내부 구성이 개시되어 있고, 이 내부 구성에 의거하여 양산하는 것이 명백하므로, 자질에서 공업상 이용할 수 있다. 이 점으로부터 본 발명에 관한 재생장치는 산업상 이용가능성을 갖는다.

Claims (21)

  1. 플레이리스트 정보(playlist information)가 기록된 기록매체로,
    상기 플레이리스트 정보는 메인 패스 정보(main-path information)와 서브 패스 정보(sub-path information)를 포함하고,
    상기 메인 패스 정보는 복수의 디지털 스트림(digital stream)의 하나를 메인 스트림으로 지정하고, 그 메인 스트림에 대하여 주가 되는 재생구간(primary playback section)을 정의하는 정보이며,
    상기 서브 패스 정보는 복수의 디지털 스트림의 나머지 중 하나의 디지털 스트림을 서브 스트림으로 지정하고, 그 서브 스트림에 대하여 상기 주가 되는 재생구간과 동기 해야 할 종이 되는 재생구간(secondary playback section)을 정의하는 정보이고,
    상기 메인 패스 정보는 스트림 테이블(stream table)을 포함하며,
    상기 스트림 테이블은 메인 스트림에 다중화된 적어도 하나의 엘리멘터리 스트림(elementary stream) 및 서브 스트림에 다중화된 적어도 하나의 엘리멘터리 스트림 중 동시에 재생하는 것이 허가되어 있는 조합을 하나 이상 나타내고,
    스트림 테이블은 복수의 스트림 엔트리를 포함하며, 각 스트림 엔트리에는 상기 엘리멘터리 스트림을 구성하는 TS 패킷으로서 동시 재생이 허가되어 있는 것의 패킷 식별자가 기재되어 있고,
    상기 메인 스트림 및 서브 스트림은 TS 패킷 열이며, 각 TS 패킷에는 어라이벌 타임스탬프(Arrival_Time_Stamp)가 부가되어 있고,
    복수의 TS 패킷으로서 스트림 테이블에 있어서 동시에 재생하는 것이 허가되어 있는 엘리멘터리 스트림을 구성하는 것의 단위 시간당의 총 데이터 사이즈는 48 M 비트 이하이며,
    단위 시간당의 총 데이터 사이즈는 어라이벌 타임 클록(Arrival_Time_Clock) 시간 축 상에 있어서 1초의 시간 폭을 갖는 확인 프레임(verification frame)인 윈도(Window)에 의해서 둘러싸이는 범위 내에서 산출되고, 당해 윈도의 개시점이 어라이벌 타임 클록 시간 축에서의 어느 시점에 존재하였다고 해도 윈도에 의해 둘러싸이는 범위 내의 총 데이터 사이즈가 48 M 비트 이하로 되어 있는 것을 특징으로 하는 기록매체.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 플레이리스트 정보에 따라서 주가 되는 재생구간이 정의된 메인 스트림과 종이 되는 재생구간이 정의된 서브 스트림을 재생하는 재생장치로,
    상기 플레이리스트 정보는 복수의 디지털 스트림 각각에 대하여 재생구간을 정의하는 정보이고, 메인 패스 정보 및 서브 패스 정보를 포함하며,
    상기 메인 패스 정보는 복수의 디지털 스트림의 하나를 메인 스트림으로 지정하고, 그 메인 스트림에 대하여 주가 되는 재생구간을 정의하는 정보이며,
    상기 서브 패스 정보는 복수의 디지털 스트림의 나머지 중 하나의 디지털 스트림을 서브 스트림으로 지정하고, 그 서브 스트림에 대하여 상기 주가 되는 재생구간과 동기 해야 할 종이 되는 재생구간을 정의하는 정보이고,
    상기 메인 패스 정보는 스트림 테이블을 포함하며,
    상기 스트림 테이블은 메인 스트림에 다중화된 적어도 하나의 엘리멘터리 스트림 및 서브 스트림에 다중화된 적어도 하나의 엘리멘터리 스트림 중 동시에 재생하는 것이 허가되어 있는 조합을 하나 이상 나타내고,
    상기 스트림 테이블은 복수의 스트림 엔트리를 포함하며, 각 스트림 엔트리에는 상기 엘리멘터리 스트림을 구성하는 TS 패킷으로서 동시 재생이 허가되어 있는 것의 패킷 식별자가 기재되어 있고,
    상기 메인 스트림 및 서브 스트림은 TS 패킷 열이며, 각 TS 패킷에는 어라이벌 타임스탬프가 부가되어 있고,
    제 1 기록매체에 기록되어 있는 메인 스트림 중 주가 되는 재생구간에 대응하는 부분을 구성하는 TS 패킷을 메인 패스 정보에 따라서 판독하는 제 1 판독부와,
    제 2 기록매체에 기록되어 있는 서브 스트림 중 종이 되는 재생구간에 대응하는 부분을 구성하는 TS 패킷을 서브 패스 정보에 따라서 판독하는 제 2 판독부와,
    제 1 판독부 및 제 2 판독부에 의해 판독된 TS 패킷 중 플레이리스트 정보에서의 스트림 테이블에서 재생이 허가되어 있는 것을 선택하고, 선택된 TS 패킷을 제 1 디코더 및 제 2 디코더에 출력하는 제 1 및 제 2 필터부와,
    제 1 판독부 및 제 2 판독부에서 제 1 및 제 2 필터부로의 TS 패킷 출력을 각 TS 패킷에 부가된 어라이벌 타임스탬프에 나타내는 시점에 실행하는 제 1 및 제 2 소스 디패킷타이저를 구비하고,
    복수의 TS 패킷으로서 스트림 테이블에 있어서 동시에 재생하는 것이 허가되어 있는 엘리멘터리 스트림을 구성하는 것의 단위 시간당의 총 데이터 사이즈는 48 M 비트 이하이며,
    단위 시간당의 총 데이터 사이즈는 어라이벌 타임 클록 시간 축 상에 있어서 1초의 시간 폭을 갖는 확인 프레임인 윈도에 의해서 둘러싸이는 범위 내에서 산출되고, 당해 윈도의 개시점이 어라이벌 타임 클록 시간 축에서의 어느 시점에 존재하였다고 해도 윈도에 의해 둘러싸이는 범위 내의 총 데이터 사이즈가 48 M 비트 이하로 되어 있는 것을 특징으로 하는 재생장치.
  6. 삭제
  7. 삭제
  8. 삭제
  9. 애플리케이션 데이터(application data)를 기록매체에 기록하는 기록방법으로,
    애플리케이션 데이터를 생성하는 스텝,
    애플리케이션 데이터가 기록된 기록매체를 얻는 스텝을 구비하고,
    애플리케이션 데이터는 플레이리스트 정보와 디지털 스트림을 포함하며,
    상기 플레이리스트 정보는 메인 패스 정보와 서브 패스 정보를 포함하고,
    상기 메인 패스 정보는 복수의 디지털 스트림의 하나를 메인 스트림으로 지정하고, 그 메인 스트림에 대하여 주가 되는 재생구간을 정의하는 정보이며,
    상기 서브 패스 정보는 복수의 디지털 스트림의 나머지 중 하나의 디지털 스트림을 서브 스트림으로 지정하고, 그 서브 스트림에 대하여 상기 주가 되는 재생구간과 동기해야 할 종이 되는 재생구간을 정의하는 정보이며,
    상기 플레이리스트 정보는 스트림 테이블을 포함하고,
    상기 스트림 테이블은 메인 스트림에 다중화된 적어도 하나의 엘리멘터리 스트림 및 서브 스트림에 다중화된 적어도 하나의 엘리멘터리 스트림 중 동시에 재생하는 것이 허가되어 있는 조합을 하나 이상 나타내고,
    상기 스트림 테이블은 복수의 스트림 엔트리를 포함하며, 각 스트림 엔트리에는 상기 엘리멘터리 스트림을 구성하는 TS 패킷으로서 동시 재생이 허가되어 있는 것의 패킷 식별자가 기재되어 있고,
    상기 메인 스트림 및 서브 스트림은 TS 패킷 열이며, 각 TS 패킷에는 어라이벌 타임스탬프가 부가되어 있고,
    복수의 TS 패킷으로서 스트림 테이블에 있어서 동시에 재생하는 것이 허가되어 있는 엘리멘터리 스트림을 구성하는 것의 단위 시간당의 총 데이터 사이즈는 48 M 비트 이하이며,
    단위 시간당의 총 데이터 사이즈는 어라이벌 타임 클록 시간 축 상에 있어서 1초의 시간 폭을 갖는 확인 프레임인 윈도에 의해서 둘러싸이는 범위 내에서 산출되고, 당해 윈도의 개시점이 어라이벌 타임 클록 시간 축에서의 어느 시점에 존재하였다고 해도 윈도에 의해 둘러싸이는 범위 내의 총 데이터 사이즈가 48 M 비트 이하로 되어 있는 것을 특징으로 하는 기록방법.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 플레이리스트 정보에 따라서 주가 되는 재생구간이 정의된 메인 스트림과 종이 되는 재생구간이 정의된 서브 스트림을 재생하는 재생방법으로,
    상기 플레이리스트 정보는 복수의 디지털 스트림 각각에 대하여 재생구간을 정의하는 정보이고, 메인 패스 정보와 서브 패스 정보를 포함하며,
    상기 메인 패스 정보는 복수의 디지털 스트림의 하나를 메인 스트림으로 지정하고, 그 메인 스트림에 대하여 주가 되는 재생구간을 정의하는 정보이며,
    상기 서브 패스 정보는 복수의 디지털 스트림의 나머지 중 하나의 디지털 스트림을 서브 스트림으로 지정하고, 그 서브 스트림에 대하여 상기 주가 되는 재생구간과 동기 해야 할 종이 되는 재생구간을 정의하는 정보이고,
    상기 메인 패스 정보는 스트림 테이블을 포함하며,
    상기 스트림 테이블은 메인 스트림에 다중화된 적어도 하나의 엘리멘터리 스트림 및 서브 스트림에 다중화된 적어도 하나의 엘리멘터리 스트림 중 동시에 재생하는 것이 허가되어 있는 조합을 하나 이상 나타내고,
    상기 스트림 테이블은 복수의 스트림 엔트리를 포함하며, 각 스트림 엔트리에는 상기 엘리멘터리 스트림을 구성하는 TS 패킷으로서 동시 재생이 허가되어 있는 것의 패킷 식별자가 기재되어 있고,
    상기 메인 스트림 및 서브 스트림은 TS 패킷 열이며, 각 TS 패킷에는 어라이벌 타임스탬프가 부가되어 있고,
    제 1 기록매체에 기록되어 있는 메인 스트림 중 주가 되는 재생구간에 대응하는 부분을 구성하는 TS 패킷을 메인 패스 정보에 따라서 판독하는 제 1 판독 스텝과,
    제 2 기록매체에 기록되어 있는 서브 스트림 중 종이 되는 재생구간에 대응하는 부분을 구성하는 TS 패킷을 서브 패스 정보에 따라서 판독하는 제 2 판독 스텝과,
    제 1 판독스텝 및 제 2 판독스텝에 의해 판독된 TS 패킷 중 플레이리스트 정보에서의 스트림 테이블에서 재생이 허가되어 있는 것을 선택하고, 선택된 TS 패킷을 제 1 디코드 스텝 및 제 2 디코드 스텝에 출력하는 제 1 및 제 2 필터스텝과,
    제 1 판독스텝 및 제 2 판독스텝으로부터의 TS 패킷 출력을 각 TS 패킷에 부가된 어라이벌 타임스탬프에 나타내는 시점에 실행하는 제 1 및 제 2 소스 디패킷타이즈텝을 구비하고,
    복수의 TS 패킷으로서 스트림 테이블에 있어서 동시에 재생하는 것이 허가되어 있는 엘리멘터리 스트림을 구성하는 것의 단위 시간당의 총 데이터 사이즈는 48 M 비트 이하이며,
    단위 시간당의 총 데이터 사이즈는 어라이벌 타임 클록 시간 축 상에 있어서 1초의 시간 폭을 갖는 확인 프레임인 윈도에 의해서 둘러싸이는 범위 내에서 산출되고, 당해 윈도의 개시점이 어라이벌 타임 클록 시간 축에서의 어느 시점에 존재하였다고 해도 윈도에 의해 둘러싸이는 범위 내의 총 데이터 사이즈가 48 M 비트 이하로 되어 있는 것을 특징으로 하는 재생방법.
  15. 제 1 항에 있어서,
    상기 서브 스트림을 구성하는 TS 패킷에 부가된 어라이벌 타임스탬프와 상기 메인 스트림을 구성하는 TS 패킷에 부가된 어라이벌 타임스탬프는 어라이벌 타임 클록 시간 축에 있어서 오버랩이 발생하고 있는 것을 특징으로 하는 기록매체.
  16. 제 1 항에 있어서,
    상기 메인 스트림 및 서브 스트림은 비트 레이트의 검증을 복수의 어라이벌 타임스탬프에서 나타내는 각 좌표 상에서 실행한 후에 기록되어 있고,
    상기 검증은,
    메인 스트림 및 서브 스트림을 구성하는 TS 패킷 중 최초의 것에 부가된 어라이벌 타임스탬프의 시각에 윈도의 시점이 존재하는 상태를 초기상태로 하고,
    메인 스트림 및 서브 스트림을 구성하는 TS 패킷 중 최후의 것에 부가된 어라이벌 타임스탬프의 시각에 윈도의 종점이 도달한 상태를 최종상태로 하여,
    초기상태에서 최종상태가 되기까지 윈도의 시점 및 종점의 좌표를 복수의 어라이벌 타임스탬프에서 나타내는 각 좌표 상에서 이동시켜 가며, 그 이동시마다 이 윈도 내에 포함되는 TS 패킷 사이즈의 총 합이 48M 비트 이하가 되는 것을 확인하는 작업인 기록매체.
  17. 제 1 항에 있어서,
    TS 패킷 사이즈의 총 합은 스트림 테이블에서 동시 재생이 허가되어 있는 각각의 엘리멘터리 스트림에서 TS 패킷의 최대 비트 레이트를 선택하고, 선택된 최대 비트 레이트를 합계함으로써 산출되는 것을 특징으로 하는 기록매체.
  18. 제 5 항에 있어서,
    제 1 기록매체는 판독 전용의 광디스크이고, 제 2 기록매체는 재기록 가능한 기록매체이며,
    상기 서브 스트림은 플레이리스트정보와 함께 재기록 가능한 기록매체의 소정의 영역에 기록되어 있고,
    상기 소정의 영역은 판독 전용형 광디스크와의 조합으로 가상적인 패키지를 구축하기 위해 판독 전용형의 광디스크와 관련시킨 영역이며,
    상기 제 1 판독부 및 제 2 판독부는 판독 전용의 기록매체로부터의 TS 패킷의 판독과 재기록 가능한 기록매체로부터의 TS 패킷의 판독을 동시에 실행하는 것을 특징으로 하는 재생장치.
  19. 제 5 항에 있어서,
    서브 스트림을 구성하는 TS 패킷에 부가된 어라이벌 타임스탬프와 메인 스트림을 구성하는 TS 패킷에 부가된 어라이벌 타임스탬프는 어라이벌 타임 클록 시간 축에 있어서 오버랩이 발생하고 있고,
    제 1 및 제 2 소스 디패킷타이저에서 제 1 및 제 2 필터부로의 TS 패킷의 출력은 어라이벌 타임스탬프에 나타내는 시간 축 상의 좌표에 의거하여 이루어지는 것을 특징으로 하는 재생장치.
  20. 제 5 항에 있어서,
    상기 메인 스트림 및 서브 스트림은 비트 레이트의 검증작업을 복수의 어라이벌 타임스탬프에서 나타내는 각 좌표 상에서 실행한 후에 기록되어 있고,
    상기 검증은,
    메인 스트림 및 서브 스트림을 구성하는 TS 패킷 중 최초의 것에 부가된 어라이벌 타임스탬프의 시각에 윈도의 시점이 존재하는 상태를 초기상태로 하고,
    메인 스트림 및 서브 스트림을 구성하는 TS 패킷 중 최후의 것에 부가된 어라이벌 타임스탬프의 시각에 윈도의 종점이 도달한 상태를 최종상태로 하여,
    초기상태에서 최종상태가 되기까지 윈도의 시점 및 종점을 복수의 어라이벌 타임스탬프에서 나타내는 각 좌표로 이동시켜 가며, 그 이동시마다 이 윈도 내에 포함되는 TS 패킷 사이즈의 총 합이 48 M 비트 이하가 되는 것을 확인하는 작업인 재생장치.
  21. 제 5 항에 있어서,
    TS 패킷 사이즈의 총 합은 스트림 테이블에서 동시 재생이 허가되어 있는 각각의 엘리멘터리 스트림에서 TS 패킷의 최대 비트 레이트를 선택하고, 선택된 최대 비트 레이트를 합계함으로써 산출되는 것을 특징으로 하는 재생장치.
KR1020077025227A 2005-04-07 2006-04-07 기록매체, 재생장치, 기록방법, 재생방법 KR101268327B1 (ko)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
JP2005111425 2005-04-07
JP2005111426 2005-04-07
JPJP-P-2005-00111428 2005-04-07
JP2005111428 2005-04-07
JPJP-P-2005-00111426 2005-04-07
JP2005111427 2005-04-07
JP2005111429 2005-04-07
JPJP-P-2005-00111429 2005-04-07
JPJP-P-2005-00111427 2005-04-07
JPJP-P-2005-00111425 2005-04-07

Publications (2)

Publication Number Publication Date
KR20070121813A KR20070121813A (ko) 2007-12-27
KR101268327B1 true KR101268327B1 (ko) 2013-05-28

Family

ID=37086991

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077025227A KR101268327B1 (ko) 2005-04-07 2006-04-07 기록매체, 재생장치, 기록방법, 재생방법

Country Status (9)

Country Link
US (5) US8059942B2 (ko)
EP (3) EP1873773B1 (ko)
JP (5) JP4676492B2 (ko)
KR (1) KR101268327B1 (ko)
CN (2) CN102034513B (ko)
BR (1) BRPI0607028A2 (ko)
CA (1) CA2602713C (ko)
TW (1) TWI393124B (ko)
WO (3) WO2006109718A1 (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1873773B1 (en) * 2005-04-07 2011-11-30 Panasonic Corporation Recording medium, reproducing device, recording method and reproducing method
US20070250323A1 (en) * 2006-04-21 2007-10-25 Ivan Dimkovic Apparatus and Method for Encoding and Decoding Plurality of Digital Data Sets
JP4779797B2 (ja) * 2006-05-10 2011-09-28 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP4552889B2 (ja) * 2006-05-10 2010-09-29 ソニー株式会社 記録装置、記録方法および記録プログラム、ならびに、撮像装置および撮像方法
JP4690965B2 (ja) * 2006-08-11 2011-06-01 株式会社東芝 データ記録再生装置
CN101536505B (zh) * 2006-11-16 2011-09-07 富士通半导体股份有限公司 Gop间管理装置
JP2008199527A (ja) * 2007-02-15 2008-08-28 Sony Corp 情報処理装置および情報処理方法、プログラム、並びに、プログラム格納媒体
JP2008199528A (ja) * 2007-02-15 2008-08-28 Sony Corp 情報処理装置および情報処理方法、プログラム、並びに、プログラム格納媒体
JP4321628B2 (ja) 2007-05-31 2009-08-26 ソニー株式会社 記憶装置、記憶方法および記憶プログラム、ならびに、データ処理装置、データ処理方法およびデータ処理プログラム
JP4750759B2 (ja) * 2007-06-25 2011-08-17 パナソニック株式会社 映像音声再生装置
KR100933003B1 (ko) * 2008-06-20 2009-12-21 드리머 Bd-j 기반 채널 서비스 제공 방법 및 이를 실현시키기위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
EP2395772A3 (en) * 2008-09-30 2013-09-18 Panasonic Corporation Glasses and display device
KR20110126514A (ko) * 2009-02-19 2011-11-23 파나소닉 주식회사 기록매체, 재생장치, 집적회로
PL2433429T3 (pl) * 2009-05-18 2019-03-29 Koninklijke Philips N.V. Punkty wejścia trójwymiarowego odtwarzania 3d ze zmienioną prędkością
WO2010137261A1 (ja) * 2009-05-25 2010-12-02 パナソニック株式会社 記録媒体、再生装置、集積回路、再生方法、プログラム
US8332529B1 (en) * 2009-05-29 2012-12-11 Adobe Systems Incorporated Media content including introduced code
JP4984181B2 (ja) * 2009-06-22 2012-07-25 ソニー株式会社 再生装置および再生方法
DK2453661T3 (en) * 2009-07-10 2017-10-30 Panasonic Ip Man Co Ltd PLAYBACK, RECORDING PROCEDURE AND SYSTEM, INCLUDING A RECORDING MEDIUM AND PLAYBACK
CN102577408B (zh) 2009-09-30 2015-04-15 夏普株式会社 使用了信息记录介质的再现方法、信息记录再现装置和三维化装置以及信息记录装置
JP2011151784A (ja) * 2009-12-25 2011-08-04 Panasonic Corp 動画像多重化装置、映像音声記録装置及び動画像多重化方法
KR20120028546A (ko) * 2010-09-15 2012-03-23 삼성전자주식회사 전송 스트림에 대한 트릭 모드 제어 방법 및 이를 수행하는 전송 스트림 전송 장치
US8989280B2 (en) * 2011-06-30 2015-03-24 Cable Television Laboratories, Inc. Frame identification
US20130084053A1 (en) * 2011-10-04 2013-04-04 Utc Fire & Security Corporation System to merge multiple recorded video timelines
US9281011B2 (en) * 2012-06-13 2016-03-08 Sonic Ip, Inc. System and methods for encoding live multimedia content with synchronized audio data
KR20140029991A (ko) * 2012-08-31 2014-03-11 삼성전자주식회사 프로그래시브 플레이리스트 재생 장치 및 재생 방법, 기록 장치 및 기록 방법, 이를 위한 정보저장매체
RU2665873C1 (ru) 2013-01-21 2018-09-04 Долби Лэборетериз Лайсенсинг Корпорейшн Оптимизация громкости и динамического диапазона через различные устройства воспроизведения
WO2014179003A1 (en) * 2013-04-30 2014-11-06 Dolby Laboratories Licensing Corporation System and method of outputting multi-lingual audio and associated audio from a single container
TWM487509U (zh) 2013-06-19 2014-10-01 杜比實驗室特許公司 音訊處理設備及電子裝置
EP3044876B1 (en) 2013-09-12 2019-04-10 Dolby Laboratories Licensing Corporation Dynamic range control for a wide variety of playback environments
US10231001B2 (en) 2016-05-24 2019-03-12 Divx, Llc Systems and methods for providing audio content during trick-play playback
US20200210855A1 (en) * 2018-12-28 2020-07-02 Robert Bosch Gmbh Domain knowledge injection into semi-crowdsourced unstructured data summarization for diagnosis and repair
US11947696B2 (en) * 2021-07-16 2024-04-02 EMC IP Holding Company LLC File system content obfuscation in high security environments

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004127396A (ja) 2002-10-01 2004-04-22 Pioneer Electronic Corp 情報記録媒体、情報記録装置及び方法、情報再生装置及び方法、情報記録再生装置及び方法、記録又は再生制御用のコンピュータプログラム、並びに制御信号を含むデータ構造

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0385972A (ja) 1989-08-30 1991-04-11 Toshiba Corp ディジタル撮像方法及びその装置
US5448440A (en) 1994-06-16 1995-09-05 Minnesota Mining And Manufacturing Company Data storage device with roller lubricant that provides excellent drag force characteristics
TW436777B (en) 1995-09-29 2001-05-28 Matsushita Electric Ind Co Ltd A method and an apparatus for reproducing bitstream having non-sequential system clock data seamlessly therebetween
JP2002093125A (ja) 1997-09-17 2002-03-29 Matsushita Electric Ind Co Ltd 光ディスク、ビデオデータ編集装置、編集プログラムを記録したコンピュータ読み取り可能な記録媒体、光ディスクの再生装置、再生プログラムを記録したコンピュータ読み取り可能な記録媒体
CA2247626C (en) 1997-09-17 2011-05-24 Matsushita Electric Industrial Co., Ltd. Optical disc, video data editing apparatus, computer-readable recording medium storing an editing program, reproduction apparatus for the optical disc, and computer-readable recording medium storing an reproduction program
JP3997367B2 (ja) * 1998-04-30 2007-10-24 ソニー株式会社 記録再生装置および方法、並びに記録媒体
DE69933379T2 (de) 1998-12-14 2007-08-23 Koninklijke Philips Electronics N.V. Aufzeichnungsträger, und gerät und verfahren zum abspielen eines aufzeichnungsträgers, und herstellungsverfahren eines aufzeichnungsträgers
EP1198133A4 (en) * 2000-04-21 2004-10-06 Sony Corp INFORMATION PROCESSING DEVICE AND METHOD, PROGRAM AND RECORDED MEDIUM
KR100795255B1 (ko) 2000-04-21 2008-01-15 소니 가부시끼 가이샤 정보 처리 장치 및 방법, 프로그램과 기록 매체
JP4682434B2 (ja) 2000-04-21 2011-05-11 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
WO2001082611A1 (fr) * 2000-04-21 2001-11-01 Sony Corporation Procede et appareil de traitement d'informations, support enregistre, et programme
CA2728972C (en) 2001-03-08 2013-11-19 Sony Corporation Data reproduction apparatus and method for reproducing a data stream using discontinuities of time clocks
CN100370821C (zh) 2002-04-10 2008-02-20 索尼株式会社 数据记录装置、数据记录方法、程序存储介质以及程序
KR100582953B1 (ko) * 2002-06-05 2006-05-23 엘지전자 주식회사 기록매체의 기록 스트림 관리방법
JP3923979B2 (ja) 2002-08-30 2007-06-06 富士通株式会社 Rom−ram媒体及び、その記憶装置
JP4348920B2 (ja) 2002-09-24 2009-10-21 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
TWI315867B (en) 2002-09-25 2009-10-11 Panasonic Corp Reproduction apparatus, optical disc, recording medium, and reproduction method
EP1408505A1 (en) * 2002-10-11 2004-04-14 Deutsche Thomson-Brandt Gmbh Method and apparatus for synchronizing data streams containing audio, video and/or other data
WO2004049329A1 (ja) * 2002-11-28 2004-06-10 Matsushita Electric Industrial Co., Ltd. データ処理装置
TWI271721B (en) 2003-01-20 2007-01-21 Lg Electronics Inc Recording medium having data structure for managing reproduction of still pictures recorded thereon and recording and reproducing methods and apparatuses
KR100920655B1 (ko) * 2003-03-03 2009-10-09 엘지전자 주식회사 고밀도 광디스크의 스틸 픽처 관리방법
JP3657946B2 (ja) 2003-03-25 2005-06-08 株式会社東芝 情報記録媒体、情報記録/再生方法、および情報記録/再生装置
JPWO2004114658A1 (ja) * 2003-06-18 2006-07-27 松下電器産業株式会社 再生装置、プログラム、再生方法。
TW200739525A (en) * 2003-06-30 2007-10-16 Matsushita Electric Ind Co Ltd Recording medium, reproduction apparatus, recording method, program, and reproduction method
CN1833439A (zh) 2003-08-08 2006-09-13 松下电器产业株式会社 数据处理装置和数据处理方法
KR20050036277A (ko) 2003-10-15 2005-04-20 엘지전자 주식회사 고밀도 광디스크의 네비게이션 정보 관리방법
KR20050066264A (ko) * 2003-12-26 2005-06-30 엘지전자 주식회사 고밀도 광디스크의 메뉴 구성방법 및 실행방법과기록재생장치
EP1728251A1 (en) * 2004-03-17 2006-12-06 LG Electronics, Inc. Recording medium, method, and apparatus for reproducing text subtitle streams
ATE450041T1 (de) * 2004-03-26 2009-12-15 Lg Electronics Inc Aufzeichnungsmedium und verfahren und vorrichtung zum wiedergeben eines auf dem aufzeichnungsmedium aufgezeichneten textuntertitelstroms
CN101916579A (zh) * 2004-07-22 2010-12-15 松下电器产业株式会社 用于执行应用程序同步重放的重放装置
KR20070039951A (ko) * 2004-08-17 2007-04-13 엘지전자 주식회사 기록매체 및 로컬스토리지에 기록된 데이터를 재생하는방법 및 장치
EP1873773B1 (en) * 2005-04-07 2011-11-30 Panasonic Corporation Recording medium, reproducing device, recording method and reproducing method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004127396A (ja) 2002-10-01 2004-04-22 Pioneer Electronic Corp 情報記録媒体、情報記録装置及び方法、情報再生装置及び方法、情報記録再生装置及び方法、記録又は再生制御用のコンピュータプログラム、並びに制御信号を含むデータ構造

Also Published As

Publication number Publication date
EP1873776A1 (en) 2008-01-02
EP1873776A4 (en) 2009-09-30
EP1873773A4 (en) 2009-10-14
WO2006109718A1 (ja) 2006-10-19
TWI393124B (zh) 2013-04-11
JP4676493B2 (ja) 2011-04-27
WO2006109716A1 (ja) 2006-10-19
EP1873773A1 (en) 2008-01-02
JP4944237B2 (ja) 2012-05-30
EP1873775A4 (en) 2009-10-14
JP4774469B2 (ja) 2011-09-14
JPWO2006109716A1 (ja) 2008-11-13
EP1873773B1 (en) 2011-11-30
US8548298B2 (en) 2013-10-01
JP2011081897A (ja) 2011-04-21
CN102005228A (zh) 2011-04-06
US20090154904A1 (en) 2009-06-18
US20090185791A1 (en) 2009-07-23
JP2011090771A (ja) 2011-05-06
CA2602713A1 (en) 2006-10-19
KR20070121813A (ko) 2007-12-27
US8059942B2 (en) 2011-11-15
EP1873775A1 (en) 2008-01-02
JP4676492B2 (ja) 2011-04-27
US8116613B2 (en) 2012-02-14
TW200703250A (en) 2007-01-16
US20090097821A1 (en) 2009-04-16
JP4414460B2 (ja) 2010-02-10
JPWO2006109718A1 (ja) 2008-11-13
US20120106926A1 (en) 2012-05-03
WO2006109717A1 (ja) 2006-10-19
BRPI0607028A2 (pt) 2009-07-28
US7991270B2 (en) 2011-08-02
CA2602713C (en) 2014-05-13
US20120002943A1 (en) 2012-01-05
JPWO2006109717A1 (ja) 2008-11-13
EP1873776B1 (en) 2011-11-30
CN102034513B (zh) 2013-04-17
CN102034513A (zh) 2011-04-27
CN102005228B (zh) 2013-04-10

Similar Documents

Publication Publication Date Title
KR101268327B1 (ko) 기록매체, 재생장치, 기록방법, 재생방법
KR101121363B1 (ko) 재생장치, 재생방법, 기록방법
US7844355B2 (en) Stream reproduction device and stream supply device
US20100092156A1 (en) Recording medium, playback apparatus, method and program
CN101156209B (zh) 记录媒体、再现装置、记录方法、再现方法
US20090055744A1 (en) Recording medium, reproducing device, recording device, system lsi, method, and program
RU2415483C2 (ru) Устройство воспроизведения

Legal Events

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

Payment date: 20160418

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180418

Year of fee payment: 6