KR100821019B1 - 부호화 장치, 부호화 방법, 및 기록 매체 - Google Patents

부호화 장치, 부호화 방법, 및 기록 매체 Download PDF

Info

Publication number
KR100821019B1
KR100821019B1 KR1020017016424A KR20017016424A KR100821019B1 KR 100821019 B1 KR100821019 B1 KR 100821019B1 KR 1020017016424 A KR1020017016424 A KR 1020017016424A KR 20017016424 A KR20017016424 A KR 20017016424A KR 100821019 B1 KR100821019 B1 KR 100821019B1
Authority
KR
South Korea
Prior art keywords
stream
time
encoding
clip
video
Prior art date
Application number
KR1020017016424A
Other languages
English (en)
Other versions
KR20020022135A (ko
Inventor
모또끼 가또
도시야 하마다
Original Assignee
소니 가부시끼 가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니 가부시끼 가이샤 filed Critical 소니 가부시끼 가이샤
Publication of KR20020022135A publication Critical patent/KR20020022135A/ko
Application granted granted Critical
Publication of KR100821019B1 publication Critical patent/KR100821019B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • 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
    • 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/036Insert-editing
    • 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
    • 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]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • GPHYSICS
    • 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/36Monitoring, i.e. supervising the progress of recording or reproducing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/127Prioritisation of hardware or computational resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/213Read-only discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs
    • 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/2545CDs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/7921Processing of colour television signals in connection with recording for more than one processing mode

Landscapes

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

Abstract

AV 스트림을 부호화하여 기록할 때, 그 AV 스트림의 속성 정보로서 time_controlled_flag를 1로 세트할 때, AV 스트림의 시간 경과와 AV 스트림의 데이터 바이트량과의 관계가 소정의 오차 범위 내에서 비례한다. AV 스트림 파일의 time_controlled_flag가 1로 세트되어 있는 경우, 그 스트림이 있는 시간만큼 부분적으로 스트림을 소거하면, 소거한 시간만큼 상기 스트림의 TS_average_rate로 나타내는 비트 레이트로 기록 가능한 빈 영역을 디스크 상에 작성할 수 있다.
인식 기록, 비인식 기록, 후 기록, 프로그램, 버퍼, 오디오 스트림, 전송 스트림, 캐릭터 문자

Description

부호화 장치, 부호화 방법, 및 기록 매체{ENCODING DEVICE, ENCODING METHOD, AND RECORDED MEDIUM}
본 발명은 부호화 장치 및 방법, 기록 매체와 프로그램에 관한 것으로, 특히, 기록 매체에 기록되어 있는 데이터의 내용의 관리 정보를 파일화하여 기록하는 부호화 장치 및 장법, 기록 매체와 프로그램에 관한 것이다.
최근, 기록 재생 장치로부터 착탈 가능한 디스크형의 기록 매체로서, 각종 광 디스크가 제안되고 있다. 이러한 기록 가능한 광 디스크는 수 GB의 대용량 미디어로서 제안되고 있어, 비디오 신호 등의 AV(Audio Visual) 신호를 기록하는 미디어로서의 기대가 높다. 이 기록 가능한 광 디스크에 기록하는 디지털의 AV 신호의 소스(공급원)로서는 CS 디지털 위성 방송이나 BS 디지털 방송이 있고, 또한 장래는 디지털 방식의 지상파 텔레비전 방송 등도 제안되고 있다.
여기서, 이들의 소스로부터 공급되는 디지털 비디오 신호는 통상 MPEG(Moving Picture Experts Group)2 방식으로 화상 압축되어 있는 것이 일반적이다. 또한, 기록 장치에는 그 장치 고유의 기록 레이트가 정해져 있다. 종래의 가정용 영상 축적 미디어로, 디지털 방송 유래의 디지털 비디오 신호를 기록하는 경우, 아날로그 기록 방식이면 디지털 비디오 신호를 디코드 후, 대역 제한을 하여 기록한다. 혹은, MPEG1 Video, MPEG2 Video, DV 방식을 비롯한 디지털 기록 방식이면, 한번 디코드된 후에 그 장치 고유의 기록 레이트·부호화 방식으로 재차 인코드되어 기록된다.
그러나, 이러한 기록 방법은 공급된 비트 스트림을 한번 디코드하고, 그 후에 대역 제한이나 재차 인코드를 행하여 기록하기 때문에, 화질의 열화를 수반한다. 화상 압축된 디지털 신호의 기록을 하는 경우, 입력된 디지털 신호의 전송 레이트가 기록 재생 장치의 기록 레이트를 넘지 않은 경우에는 공급된 비트 스트림을 디코드나 재차 인코드하지 않고, 그대로 기록하는 방법이 가장 화질의 열화가 적다. 단, 화상 압축된 디지털 신호의 전송 레이트가 기록 매체로서의 디스크의 기록 레이트를 넘는 경우에는 기록 재생 장치에서 디코드한 후, 전송 레이트가 디스크의 기록 레이트의 상한 이하가 되도록 재차 인코드를 하여 기록할 필요는 있다.
또한, 입력 디지털 신호의 비트 레이트가 시간에 따라 증감하는 가변 레이트 방식으로 전송되고 있는 경우에는, 회전 헤드가 고정 회전수이기 때문에 기록 레이트가 고정 레이트로 되는 테이프 기록 방식에 비하여, 버퍼에 데이터를 1회 축적하고, 버스트적으로 기록을 할 수 있는 디스크 기록 장치가 기록 매체의 용량을 보다 낭비없이 이용할 수 있다.
이상과 같이, 디지털 방송이 주류를 이루는 장래에 있어서는 데이터 스트리머와 같이 방송 신호를 디지털 신호 그대로, 디코드나 재차 인코드하지 않고 기록하고, 기록 매체로서 디스크를 사용한 기록 재생 장치가 요구된다고 예측된다.
상술한 바와 같이 기록 매체의 용량이 증대됨으로써, 그 기록 매체에는 많은 데이터(이 경우 프로그램에 관련된 영상이나 음성 등)를 기록할 수 있게 된다. 따라서, 1장의 디스크에 많은 프로그램이 기록됨으로써, 사용자가 이들 디스크 내에 기록되어 있는 많은 프로그램으로부터 시청하고 싶은 하나의 프로그램을 선택하는 등의 조작이 번잡하게 된다. 그래서, 사용자가 디스크의 재생 시에 간편하게 기록되어 있는 데이터를 확인하여, 원하는 프로그램(데이터)을 선택할 수 있도록 할 필요가 있다는 문제가 있었다.
<발명의 개시>
본 발명의 목적은 이러한 상황을 감안하여 이루어진 것으로, 기록 매체에 기록되어 있는 데이터의 내용의 관리 정보를 파일화하여 기록함으로써, 기록 매체에 기록되어 있는 데이터 내용 및 재생 정보를 적절하게 관리할 수 있도록 하는 것에 있다.
본 발명에 따른 부호화 장치는, 영상 데이터를 가변 레이트로 부호화하는 부호화기와, 시간 경과에 대하여 영상 부호화 데이터량이 거의 비례하도록 제어하는 제어부를 갖는다.
제어부는 단위 시간당의 영상 부호화 데이터 발생량이 소정량에 미치지 못했을 때는 스터핑 바이트를 부호화하도록 제어할 수 있다.
제어부는 각각의 픽쳐를 부호화할 때에 발생하는 데이터량에 따라 스터핑 바이트를 부호화하는지의 여부를 판정할 수 있다.
제어부는, VBV 버퍼가 오버 플로우되지 않도록 스터핑 바이트를 부호화하도록 제어할 수 있다.
제어부는, 시간 경과에 대하여 부호화 데이터량이 거의 비례하도록 부호화하는 부호화 모드와 통상의 부호화 모드 중 어느 한쪽으로 부호화되도록 제어할 수 있다.
제어부는, 부호화 모드가 시간 경과에 대하여 부호화 데이터량이 거의 비례하도록 부호화하는 모드인지의 여부를 나타내는 부가 정보를 생성할 수 있다.
본 발명에 따른 부호화 방법은, 영상 데이터를 가변 레이트로 부호화하는 부호화 단계와, 시간 경과에 대하여 영상 부호화 데이터량이 거의 비례하도록 제어하는 제어 단계를 포함한다.
본 발명에 따른 기록 매체의 프로그램은, 영상 데이터를 가변 레이트로 부호화하는 부호화 단계와, 시간 경과에 대하여 영상 부호화 데이터량이 거의 비례하도록 제어하는 제어 단계를 포함한다.
본 발명에 따른 프로그램은, 영상 데이터를 가변 레이트로 부호화하는 부호화 단계와, 시간 경과에 대하여 영상 부호화 데이터량이 거의 비례하도록 제어하는 제어 단계를 실행시킨다.
본 발명에 따른 부호화 장치 및 방법, 기록 매체 및 프로그램에서는, 영상 데이터가 가변 레이트로 부호화되고, 시간 경과에 대하여 영상 부호화 데이터량이 거의 비례하도록 제어된다.
본 발명에 따른 기록 매체는, 영상 데이터와, 영상 데이터에 대응하는 오디오 데이터를 포함하는 AV 스트림 파일과, AV 스트림 파일의 기록 모드를 나타내는 플래그가 기록되어 있다.
플래그는 time_controlled_flag로 할 수 있다.
플래그는 기록하고 나서의 시간 경과에 대하여 파일 사이즈가 비례하도록 하여 기록되는 모드인 것을 나타내도록 할 수 있다.
본 발명에 따른 기록 매체에서는, 영상 데이터와, 영상 데이터에 대응하는 오디오 데이터를 포함하는 AV 스트림 파일과, AV 스트림 파일의 기록 모드를 나타내는 플래그가 기록되어 있다.
본 발명의 또 다른 목적, 특징이나 이점은 후술하는 본 발명의 실시예나 첨부하는 도면에 기초하는 보다 상세한 설명에 의해 분명해질 것이다.
도 1은 본 발명을 적용한 기록 재생 장치의 구성을 나타내는 도면.
도 2는 기록 재생 장치(1)에 의해 기록 매체에 기록되는 데이터의 포맷에 대하여 설명하는 도면.
도 3은 Real PlayList와 Virtual PlayList에 대하여 설명하는 도면.
도 4의 A~C는 Real PlayList의 작성에 대하여 설명하는 도면.
도 5의 A~C는 Real PlayList의 삭제에 대하여 설명하는 도면.
도 6의 A 및 B는 어셈블 편집에 대하여 설명하는 도면.
도 7은 Virtual PlayList에 서브 패스를 설치하는 경우에 대해 설명하는 도면.
도 8은 PlayList의 재생 순서의 변경에 대하여 설명하는 도면.
도 9는 PlayList 상의 마크와 Clip 상의 마크에 대하여 설명하는 도면.
도 10은 메뉴 썸네일에 대하여 설명하는 도면.
도 11은 PlayList에 부가되는 마크에 대하여 설명하는 도면.
도 12는 클립에 부가되는 마크에 대하여 설명하는 도면.
도 13은 PlayList, Clip, 썸네일 파일의 관계에 대하여 설명하는 도면.
도 14는 디렉토리 구조에 대하여 설명하는 도면.
도 15는 info.dvr의 신택스를 나타내는 도면.
도 16은 DVR Volume의 신택스를 나타내는 도면.
도 17은 ResumeVolume의 신택스를 나타내는 도면.
도 18은 UIAppInfoVolume의 신택스를 나타내는 도면.
도 19는 Charactersetvalue의 테이블을 나타내는 도면.
도 20은 TabldOfPlayList의 신택스를 나타내는 도면.
도 21은 TableOfPlayList의 다른 신택스를 나타내는 도면.
도 22는 MakersPrivateData의 신택스를 나타내는 도면.
도 23은 xxxxx.rpls와 yyyyy.vpls의 신택스를 나타내는 도면.
도 24의 A~C는 PlayList에 대하여 설명하는 도면.
도 25는 PlayList의 신택스를 나타내는 도면.
도 26은 PlayList_type의 테이블을 나타내는 도면.
도 27은 UIAppinfoPlayList의 신택스를 나타내는 도면.
도 28의 A~C는 도 27에 도시한 UIAppinfoPlayList의 신택스 내의 플래그에 대하여 설명하는 도면.
도 29는 PlayItem에 대하여 설명하는 도면.
도 30은 PlayItem에 대하여 설명하는 도면.
도 31은 PlayItem에 대하여 설명하는 도면.
도 32는 PlayItem의 신택스를 나타내는 도면.
도 33은 IN_time에 대하여 설명하는 도면.
도 34는 OUT_time에 대하여 설명하는 도면.
도 35는 Connection_Condition의 테이블을 나타내는 도면.
도 36의 A~D는 Connection_Condition에 대하여 설명하는 도면.
도 37은 BridgeSequenceInfo를 설명하는 도면.
도 38은 BridgeSequenceInfo의 신택스를 나타내는 도면.
도 39는 SubPlayItem에 대하여 설명하는 도면.
도 40은 SubPlayItem의 신택스를 나타내는 도면.
도 41은 SubPath_type의 테이블을 나타내는 도면.
도 42는 PlayListMark의 신택스를 나타내는 도면.
도 43은 Mark_type의 테이블을 나타내는 도면.
도 44는 Mark_time_stamp를 설명하는 도면.
도 45는 zzzzz.clip의 신택스를 나타내는 도면.
도 46은 ClipInfo의 신택스를 나타내는 도면.
도 47은 Clip_stream_type의 테이블을 나타내는 도면.
도 48은 offset_SPN에 대하여 설명하는 도면.
도 49는 offset_SPN에 대하여 설명하는 도면.
도 50의 A 및 B는 STC 구간에 대하여 설명하는 도면.
도 51은 STC_Info에 대하여 설명하는 도면.
도 52는 STC_info의 신택스를 나타내는 도면.
도 53은 ProgramInfo를 설명하는 도면.
도 54는 ProgramInfo의 신택스를 나타내는 도면.
도 55는 VideoCodingInfo의 신택스를 나타내는 도면.
도 56은 Video_format의 테이블을 나타내는 도면.
도 57은 frame_rate의 테이블을 나타내는 도면.
도 58은 display_aspect_ratio의 테이블을 나타내는 도면.
도 59는 AudioCodingInfo의 신택스를 나타내는 도면.
도 60은 audio_coding의 테이블을 나타내는 도면.
도 61은 audio_component_type의 테이블을 나타내는 도면.
도 62는 sampling_frequency의 테이블을 나타내는 도면.
도 63은 CPI에 대하여 설명하는 도면.
도 64는 CPI에 대하여 설명하는 도면.
도 65는 CPI의 신택스를 나타내는 도면.
도 66은 CPI_type의 테이블을 나타내는 도면.
도 67은 비디오 EP_map에 대하여 설명하는 도면.
도 68은 EP_map에 대하여 설명하는 도면.
도 69는 EP_map에 대하여 설명하는 도면.
도 70은 EP_map의 신택스를 나타내는 도면.
도 71은 EP_type values의 테이블을 나타내는 도면.
도 72는 EP_map_for_one_stream_PID의 신택스를 나타내는 도면.
도 73은 TU_map에 대하여 설명하는 도면.
도 74는 TU_map의 신택스를 나타내는 도면.
도 75는 ClipMark의 신택스를 나타내는 도면.
도 76은 mark_type의 테이블을 나타내는 도면.
도 77은 mark_type_stamp의 테이블을 나타내는 도면.
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
도 78은 menu.thmb와 mark.thmb의 신택스를 나타내는 도면.
도 79은 Thumbnail의 신택스를 나타내는 도면.
도 80은 thumbnail_picture_format의 테이블을 나타내는 도면.
도 81A 및 81B는 tn_block에 대하여 설명하는 도면.
도 82은 DVR MPEG2의 전송 스트림의 구조에 대하여 설명하는 도면.
도 83은 DVR MPEG2의 전송 스트림의 레코더 모델을 나타내는 도면.
도 84는 DVR MPEG2의 전송 스트림의 플레이어 모델을 나타내는 도면.
도 85은 소스 패킷(source packet)의 신택스를 나타내는 도면.
도 86는 TP_extra_header의 신택스를 나타내는 도면.
도 87는 copy permission indicator의 테이블을 나타내는 도면.
도 88은 심리스(seamless) 접속에 대하여 설명하는 도면.
도 89은 심리스 접속에 대하여 설명하는 도면.
도 90은 심리스 접속에 대하여 설명하는 도면.
도 91은 심리스 접속에 대하여 설명하는 도면.
도 92는 심리스 접속에 대하여 설명하는 도면.
도 93은 오디오 오버랩에 대하여 설명하는 도면.
도 94는 BridgeSequence를 사용한 심리스 접속에 대하여 설명하는 도면.
도 95는 BridgeSequence를 사용하지 않는 심리스 접속에 대하여 설명하는 도면.
도 96은 DVR STD 모델을 나타내는 도면.
도 97은 복호 및 표시를 위한 타이밍 차트.
도 98은 도 1의 AV 인코더의 동작을 설명하는 도면.
도 99는 비디오 가변 비트 레이트 부호화하여 AV 스트림을 기록하는 동작을 설명하는 흐름도.
도 100은 Video Buffering Verifier를 설명하는 도면.
도 101은 VBV 제어를 설명하는 도면.
도 102는 VBV 제어를 설명하는 도면.
도 103은 가변 비트 레이트를 제어하는 경우의 예를 나타내는 도면.
도 104는 가변 비트 레이트 제어의 경우의 예를 나타내는 도면.
도 105는 도 99의 단계 S21의 상세를 설명하는 흐름도.
도 106은 도 105의 단계 S205의 상세를 설명하는 흐름도.
도 107은 AV 스트림의 시간 경과와 AV 스트림의 데이터 바이트량과의 관계를 설명하는 도면.
도 108은 비디오를 가변 비트 레이트로 부호화하여 AV 스트림을 기록하는 동작을 설명하는 흐름도.
도 109는 도 108의 단계 S400의 상세를 설명하는 흐름도.
도 110은 AV 스트림의 시간 경과와 AV 스트림의 데이터 바이트량과의 관계가, 비례하는 것을 보증하는 부호화 모드를 설명하는 흐름도.
도 111은 미니마이즈의 조작의 예를 나타내는 도면.
도 112는 미니마이즈일 때 IN_time 앞의 불필요한 스트림 데이터를 소거하는 예를 나타내는 도면.
도 113은 미니마이즈일 때 OUT_time 뒤의 불필요한 스트림 데이터를 소거하는 예를 설명하는 도면.
도 114는 EP_map의 작성의 동작예를 나타내는 흐름도.
도 115는 매체를 설명하는 도면.
<발명을 실시하기 위한 최량의 형태>
이하에, 본 발명이 적용된 부호화 장치 및 방법, 기록 매체와 프로그램에 대하여 도면을 참조하여 설명한다. 도 1은 본 발명을 적용한 기록 재생 장치(1)의 내부 구성예를 나타내는 도면이다. 우선, 외부로부터 입력된 신호를 기록 매체에 기록하는 동작을 행하는 부분의 구성에 대하여 설명한다. 기록 재생 장치(1)는 아날로그 데이터, 또는, 디지털 데이터를 입력하고, 기록할 수 있는 구성으로 되어 있다.
단자(11)에는 아날로그의 비디오 신호가, 단자(12)에는 아날로그의 오디오 신호가 각각 입력된다. 단자(11)에 입력된 비디오 신호는 해석부(14)와 AV 인코더(15)로 각각 출력된다. 단자(12)에 입력된 오디오 신호는 AV 인코더(15)로 출력된다. 해석부(14)는 입력된 비디오 신호로부터 장면 전환 등의 특징점을 추출한다.
AV 인코더(15)는 입력된 비디오 신호와 오디오 신호를 각각 부호화하고, 부호화 비디오 스트림(V), 부호화 오디오 스트림(A) 및 AV 동기 등의 시스템 정보(S)를 멀티플렉서(16)로 출력한다.
부호화 비디오 스트림은, 예를 들면, MPEG(Moving Picture Expert Group)2 방식에 의해 부호화된 비디오 스트림으로, 부호화 오디오 스트림은, 예를 들면, MPEG1 방식에 의해 부호화된 오디오 스트림이나, 돌비 AC3 방식(상표)에 의해 부호화된 오디오 스트림 등이다. 멀티플렉서(16)는 입력된 비디오 및 오디오의 스트림을 입력 시스템 정보에 기초하여 다중화하여, 스위치(17)를 통해 다중화 스트림 해석부(18)와 소스 패킷타이저(source packetizer; 19)로 출력한다.
다중화 스트림은, 예를 들면, MPEG2 전송 스트림이나 MPEG2 프로그램 스트림이다. 소스 패킷타이저(19)는 입력된 다중화 스트림을, 이 스트림을 기록시키는 기록 매체(100)의 어플리케이션 포맷에 따라 소스 패킷으로 구성되는 AV 스트림을 부호화한다. AV 스트림은 ECC(오류 정정) 부호화부(20), 변조부(21)에서 소정의 처리가 실시되어, 기입부(22)로 출력된다. 기입부(22)는 제어부(23)로부터 출력되는 제어 신호에 기초하여, 기록 매체(100)에 AV 스트림 파일을 기입한다(기록한다).
디지털 인터페이스 또는 디지털 텔레비전 튜너로부터 입력되는 디지털 텔레비전 방송 등의 전송 스트림은 단자(13)에 입력된다. 단자(13)에 입력된 전송 스트림의 기록 방식에는 2가지가 있으며, 이들은 트랜스페어런트하게 기록하는 방식과, 기록 비트 레이트를 저하시키는 등의 목적을 위해 재차 인코드를 행한 후에 기록하는 방식이다. 기록 방식의 지시 정보는 사용자 인터페이스로서의 단자(24)로부터 제어부(23)에 입력된다.
입력 전송 스트림을 트랜스페어런트하게 기록하는 경우, 단자(13)에 입력된 전송 스트림은 스위치(17)를 통해 다중화 스트림 해석부(18)와, 소스 패킷타이저(19)로 출력된다. 이 이후의 기록 매체(100)로 AV 스트림이 기록되기까지의 처리는 상술한 입력 오디오 신호와 비디오 신호를 부호화하여 기록하는 경우와 동일한 처리이기 때문에, 그에 대한 설명은 생략한다.
입력 전송 스트림을 재차 인코드한 후에 기록하는 경우, 단자(13)에 입력된 전송 스트림은 디멀티플렉서(26)에 입력된다. 디멀티플렉서(26)는 입력된 전송 스트림에 대하여 디멀티플렉스 처리를 실시하고, 비디오 스트림(V), 오디오 스트림(A) 및 시스템 정보(S)를 추출한다.
디멀티플렉서(26)에 의해 추출된 스트림(정보) 중, 비디오 스트림은 AV 디코더(27)로, 오디오 스트림과 시스템 정보는 멀티플렉서(16)로 각각 출력된다. AV 디코더(27)는 입력된 비디오 스트림을 복호하고, 그 재생 비디오 신호를 AV 인코더(15)로 출력한다. AV 인코더(15)는 입력 비디오 신호를 부호화하고, 부호화 비디오 스트림(V)을 멀티플렉서(16)로 출력한다.
한편, 디멀티플렉서(26)로부터 출력되어, 멀티플렉서(16)에 입력된 오디오 스트림과 시스템 정보 및 AV 인코더(15)로부터 출력된 비디오 스트림은 입력 시스템 정보에 기초하여 다중화되어, 다중화 스트림으로서 다중화 스트림 해석부(18)와 소스 패킷타이저(19)로 스위치(17)를 통해 출력된다. 이 이후의 기록 매체(100)에 AV 스트림이 기록되기까지의 처리는 상술한 입력 오디오 신호와 비디오 신호를 부호화하여 기록하는 경우와 동일한 처리이기 때문에, 그에 대한 설명은 생략한다.
본 실시예의 기록 재생 장치(1)는 AV 스트림의 파일을 기록 매체(100)에 기록함과 함께, 그 파일을 설명하는 어플리케이션 데이터 베이스 정보도 기록한다. 어플리케이션 데이터 베이스 정보는 제어부(23)에 의해 작성된다. 제어부(23)로의 입력 정보는 해석부(14)로부터의 동화상의 특징 정보, 다중화 스트림 해석부(18)로부터의 AV 스트림의 특징 정보 및 단자(24)로부터 입력되는 사용자로부터의 지시 정보이다.
해석부(14)로부터 공급되는 동화상의 특징 정보는, 입력 동화상 신호 중의 특징적인 화상(클립마크)에 관계하는 정보를 생성한다. 예를 들면, 입력 비디오 신호 중의 프로그램의 개시점, 장면 전환점, 커머셜(CM)의 개시·종료점 등의 지정 정보(마크)이며, 또한, 그 지정 장소의 화상의 정보도 포함된다.
다중화 스트림 해석부(18)로부터의 AV 스트림의 특징 정보는, 기록되는 AV 스트림의 부호화 정보에 관계되는 정보로, 에를 들면, AV 스트림 내의 I픽쳐의 타임 스탬프와 어드레스 정보, AV 스트림의 부호화 파라미터, AV 스트림 중의 부호화 파라미터의 변화점 정보, 비디오 스트림 중의 특징적인 화상에 관계하는 정보(마크)이다.
단자(24)로부터의 사용자의 지시 정보는 AV 스트림 중, 사용자가 지정한 재생 구간의 지정 정보, 그 재생 구간의 내용을 설명하는 캐릭터 문자, 사용자가 좋아하는 장면으로 세트하는 북 마크나 리쥼점의 정보 등이다.
제어부(23)는 상기한 입력 정보에 기초하여, AV 스트림의 데이터 베이스(Clip), AV 스트림의 재생 구간(PlayItem)을 그룹화한 것(PlayList)의 데이터 베이스, 기록 매체(100)의 기록 내용의 관리 정보(info.dvr) 및 썸네일 화상의 정보를 작성한다. 이들 정보로 구성되는 어플리케이션 데이터 베이스 정보는 AV 스트림과 마찬가지로 하여, ECC 부호화부(20), 변조부(21)에서 처리되어, 기입부(22)에 입력된다. 기입부(22)는 제어부(23)로부터 출력되는 제어 신호에 기초하여, 기록 매체(100)에 데이터 베이스 파일을 기록한다.
상술한 어플리케이션 데이터 베이스 정보에 대한 상세는 후술한다.
이와 같이 하여 기록 매체(100)에 기록된 AV 스트림 파일(화상 데이터와 음성 데이터의 파일)과, 어플리케이션 데이터 베이스 정보가 재생부(3)에 의해 재생되는 경우, 우선, 제어부(23)는 판독부(28)에 대하여 기록 매체(100)로부터 어플리 케이션 데이터 베이스 정보를 판독하도록 지시한다. 그리고, 판독부(28)는 기록 매체(100)로부터 어플리케이션 데이터 베이스 정보를 판독하고, 그 어플리케이션 데이터 베이스 정보는 복조부(29), ECC 복호부(30)의 복조와 오류 정정 처리를 거쳐, 제어부(23)에 입력된다.
제어부(23)는 어플리케이션 데이터 베이스 정보에 기초하여, 기록 매체(100)에 기록되어 있는 PlayList의 일람을 단자(24)의 사용자 인터페이스로 출력한다. 사용자는 PlayList의 일람으로부터 재생하고자 하는 PlayList를 선택하고, 재생이 지정된 PlayList에 관한 정보가 제어부(23)에 입력된다. 제어부(23)는 그 PlayList의 재생에 필요한 AV 스트림 파일의 판독을 판독부(28)에 지시한다. 판독부(28)는 그 지시에 따라, 기록 매체(100)로부터 대응하는 AV 스트림을 판독하여 복조부(29)로 출력한다. 복조부(29)에 입력된 AV 스트림은 소정의 처리가 실시됨으로써 복조되며, 다시 ECC 복호부(30)의 처리를 거쳐 소스 디패킷타이저(31)로 출력된다.
소스 디패킷타이저(31)는 기록 매체(100)로부터 판독되어 소정의 처리가 실시된 어플리케이션 포맷의 AV 스트림을 디멀티플렉서(26)가 처리 가능한 스트림으로 변환한다. 디멀티플렉서(26)는 제어부(23)에 의해 지정된 AV 스트림의 재생 구간(PlayItem)을 구성하는 비디오 스트림(V), 오디오 스트림(A) 및 AV 동기 등의 시스템 정보(S)를 AV 디코더(27)로 출력한다. AV 디코더(27)는 비디오 스트림과 오디오 스트림을 복호하고, 재생 비디오 신호와 재생 오디오 신호를 각각 대응하는 단자(32)와 단자(33)로부터 출력한다.
또한, 사용자 인터페이스로서의 단자(24)로부터 랜덤 액세스 재생이나 특수 재생을 지시하는 정보가 입력된 경우, 제어부(23)는 AV 스트림의 데이터 베이스(Clip)의 내용에 기초하여, 기록 매체(100)로부터의 AV 스트림의 판독 위치를 결정하고, 그 AV 스트림의 판독을 판독부(28)에 지시한다. 예를 들면, 사용자에 의해 선택된 PlayList를 소정의 시각으로부터 재생하는 경우, 제어부(23)는 지정된 시각에 가장 가까운 타임 스탬프를 갖는 I픽쳐로부터의 데이터를 판독하도록 판독부(28)에 지시한다.
또한, 사용자에 의해 고속 재생(Fast-forward playback)이 지시된 경우, 제어부(23)는 AV 스트림의 데이터 베이스(Clip)에 기초하여, AV 스트림 중의 I픽쳐 데이터를 순차적으로 연속하여 판독하도록 판독부(28)에 지시한다.
판독부(28)는 지정된 랜덤 액세스 포인트로부터 AV 스트림의 데이터를 판독하고, 판독된 데이터는 후단의 각 부의 처리를 거쳐 재생된다.
다음으로, 사용자가 기록 매체(100)에 기록되어 있는 AV 스트림의 편집을 행하는 경우를 설명한다. 사용자가 기록 매체(100)에 기록되어 있는 AV 스트림의 재생 구간을 지정하여 새로운 재생 경로를 작성하고자 하는 경우, 예를 들면, 프로그램 A라는 가요 프로그램으로부터 가수 A의 부분을 재생하고, 그 후 계속해서, 프로그램 B라는 가요 프로그램의 가수 A의 부분을 재생하고자 하는 재생 경로를 작성하고자 하는 경우, 사용자 인터페이스로서의 단자(24)로부터 재생 구간의 개시점(인점)과 종료점(아웃점)의 정보가 제어부(23)에 입력된다. 제어부(23)는 AV 스트림의 재생 구간(PlayItem)을 그룹화한 것(PlayList)의 데이터 베이스를 작성한다.
사용자가 기록 매체(100)에 기록되어 있는 AV 스트림의 일부를 소거하고자 하는 경우, 사용자 인터페이스로서의 단자(24)로부터 소거 구간의 인점과 아웃점의 정보가 제어부(23)에 입력된다. 제어부(23)는 필요한 AV 스트림 부분만을 참조하도록 PlayList의 데이터 베이스를 변경한다. 또한, AV 스트림이 불필요한 스트림 부분을 소거하도록 기입부(22)에 지시한다.
사용자가 기록 매체(100)에 기록되어 있는 AV 스트림의 재생 구간을 지정하여 새로운 재생 경로를 작성하고자 하는 경우에 대해, 또한, 각각의 재생 구간을 이음매 없이(심리스) 접속하고자 하는 경우에 대해 설명한다. 이러한 경우, 제어부(23)는 AV 스트림의 재생 구간(PlayItem)을 그룹화한 것(PlayList)의 데이터 베이스를 작성하고, 또한, 재생 구간의 접속점 부근의 비디오 스트림의 부분적인 재차 인코드와 재차 다중화를 행한다.
우선, 단자(24)로부터 재생 구간의 인점의 픽쳐의 정보와, 아웃점의 픽쳐의 정보가 제어부(23)로 입력된다. 제어부(23)는 판독부(28)에 인점측 픽쳐와 아웃점측의 픽쳐를 재생하기 위해 필요한 데이터의 판독을 지시한다. 그리고, 판독부(28)는 기록 매체(100)로부터 데이터를 판독하고, 그 데이터는 복조부(29), ECC 복호부(30), 소스 디패킷타이저(31)를 거쳐, 디멀티플렉서(26)로 출력된다.
제어부(23)는 디멀티플렉서(26)에 입력된 데이터를 해석하여, 비디오 스트림의 재차 인코드 방법(picture_coding_type의 변경, 재차 인코드하는 부호화 비트량의 할당)과, 재차 다중화 방식을 결정하고, 그 방식을 AV 인코더(15)와 멀티플렉서(16)에 공급한다.
다음으로, 디멀티플렉서(26)는 입력된 스트림을 비디오 스트림(V), 오디오 스트림(A) 및 시스템 정보(S)로 분리한다. 비디오 스트림은 AV 디코더(27)에 입력되는 데이터와 멀티플렉서(16)에 입력되는 데이터가 있다. 전자의 데이터는 재차 인코드하기 위해 필요한 데이터로, 이것은 AV 디코더(27)에서 복호되고, 복호된 픽쳐는 AV 인코더(15)에서 재차 인코드되어 비디오 스트림으로 된다. 후자의 데이터는 재차 인코드를 하지 않고, 오리지널 스트림으로부터 복사되는 데이터이다. 오디오 스트림, 시스템 정보에 대해서는 직접적으로 멀티플렉서(16)에 입력된다.
멀티플렉서(16)는, 제어부(23)로부터 입력된 정보에 기초하여, 입력 스트림을 다중화하여 다중화 스트림을 출력한다. 다중화 스트림은 ECC 부호화부(20), 변조부(21)에서 처리되어, 기입부(22)에 입력된다. 기입부(22)는 제어부(23)로부터 공급되는 제어 신호에 기초하여, 기록 매체(100)에 AV 스트림을 기록한다.
이하, 어플리케이션 데이터 베이스 정보나, 그 정보에 기초하는 재생, 편집의 조작에 관한 설명을 한다. 도 2는 어플리케이션 포맷의 구조를 설명하는 도면이다. 어플리케이션 포맷은 AV 스트림의 관리를 위해 PlayList와 Clip의 2개의 층을 갖는다. Volume Information은 디스크 내의 모든 Clip과 PlayList의 관리를 행한다. 여기서는, 하나의 AV 스트림과 그 부속 정보의 쌍을 하나의 오브젝트라고 생각하고, 이것을 Clip이라 한다. AV 스트림 파일은 Clip AV stream file이라 생각하고, 이 부속 정보는 Clip Information file이라 한다.
하나의 Clip AV Stream file는 MPEG2 전송 스트림을 어플리케이션 포맷에 의해 규정되는 구조로 배치한 데이터를 저장한다. 일반적으로, 파일은 바이트 열로서 처리되지만, Clip AV stream file의 콘텐츠는 시간축 상에 전개되고, Clip 중의 엔트리 포인트(I픽쳐)는 주로 시간 베이스로 지정된다. 소정의 Clip로의 액세스 포인트의 타임 스탬프가 제공되었을 때, Clip Information file는 Clip AV stream file 중에서 데이터의 판독을 개시하기 위한 어드레스 정보를 찾는데 도움이 된다.
PlayList에 대하여, 도 3을 참조하여 설명한다. PlayList는 Clip 내에서 사용자가 보고자 하는 재생 구간을 선택하고, 이것을 간단하게 편집할 수 있도록 하기 위해 설치되어 있다. 하나의 PlayList는 Clip 내의 재생 구간의 집합이다. 소정의 Clip 내의 하나의 재생 구간은 PlayItem이라 하고, 그것은 시간축 상의 인점(IN)과 아웃점(OUT)의 쌍으로 나타낸다. 따라서, PlayList는 복수의 PlayItem이 모여서 구성된다.
PlayList에는 2개의 타입이 있다. 하나는 Real PlayList이고, 다른 하나는 Virtual PlayList이다. Real PlayList는 그것이 참조하고 있는 Clip의 스트림 부분을 공유하고 있다. 즉, Real PlayList는 그것이 참조하고 있는 Clip의 스트림 부분에 상당하는 데이터 용량을 디스크 내에서 점유하고, Real PlayList가 소거된 경우, 그것이 참조하고 있는 Clip의 스트림 부분의 데이터도 소거된다.
Virtual PlayList는 Clip의 데이터를 공유하지 않는다. 따라서, Virtual PlayList가 변경 또는 소거되었다고 해도, Clip의 내용에는 어떠한 변화도 생기지 않는다.
다음으로, Real PlayList의 편집에 대하여 설명한다. 도 4의 A는 Real PlayList의 작성(create)에 관한 도면으로, AV 스트림이 새로운 clip으로서 기록되 는 경우, 그 Clip 전체를 참조하는 Real PlayList가 새롭게 작성되는 조작이다.
도 4의 B는 Real PlayList의 분할(divide)에 관한 도면으로, Real PlayList가 원하는 점에서 나누어져, 2개의 Real PlayList로 분할되는 조작이다. 이 분할 조작은, 예를 들면, 하나의 PlayList에 의해 관리되고 있는 하나의 클립 내에 2개의 프로그램이 관리되도록 한 경우에, 사용자가 각각의 프로그램으로서 다시 등록(기록)하고자 할 때에 행해진다. 이 조작에 의해, Clip의 내용이 변경되지는 않는다(Clip 자체가 분할되지는 않는다).
도 4의 C는 Real PlayList의 결합(combine)에 관한 도면으로, 2개의 Real PlayList를 결합하여, 하나의 새로운 Real PlayList로 하는 조작이다. 이 결합 조작은, 예를 들면, 사용자가 2개의 프로그램을 하나의 프로그램으로서 다시 등록하고자 할 때에 행해진다. 이 조작에 의해, Clip이 변경되지는 않는다(Clip 자체가 하나로 되지는 않는다).
도 5의 A는 Real PlayList 전체의 삭제(delete)에 관한 도면으로, 소정의 Real PlayList 전체를 소거하는 조작이 행해진 경우, 삭제된 Real PlayList가 참조하는 Clip의 대응하는 스트림 부분도 삭제된다.
도 5의 B는 Real PlayList의 부분적인 삭제에 관한 도면으로, Real PlayList의 원하는 부분이 삭제된 경우, 대응하는 PlayItem이 필요한 Clip의 스트림 부분만을 참조하도록 변경된다. 그리고, Clip의 대응하는 스트림 부분은 삭제된다.
도 5의 C는 Real PlayList의 최소화(Minimize)에 관한 도면으로, Real PlayList에 대응하는 PlayItem을 Virtual PlayList에 필요한 Clip의 스트림 부분만 을 참조하도록 하는 조작이다. Virtual PlayList에 있어서 불필요한 Clip의 대응하는 스트림 부분은 삭제된다.
상술한 바와 같은 조작에 의해, Real PlayList가 변경되어, 그 Real PlayList가 참조하는 Clip의 스트림 부분이 삭제된 경우, 그 삭제된 Clip을 사용하고 있는 Virtual PlayList가 존재하고, 그 Virtual PlayList에서 삭제된 Clip에 의해 문제가 생길 가능성이 있다.
그와 같은 문제가 생기지 않도록, 사용자에게 삭제 조작에 대하여, 「그 Real PlayList가 참조하고 있는 Clip의 스트림 부분을 참조하고 있는 Virtual P layList가 존재하고, 만약 그 Real PlayList가 소거되면, 그 Virtual PlayList도 또한 소거되게 되지만, 그래도 괜찮습니까?」라는 메시지 등을 표시시킴으로써, 확인(경고)을 재촉한 후에, 사용자의 지시에 의해 삭제 처리를 실행하거나, 또는, 캔슬한다. 또는, Virtual PlayList를 삭제하는 대신에, Real PlayList에 대하여 최소화 조작이 행해지도록 한다.
다음으로 Virtual PlayList에 대한 조작에 대하여 설명한다. Virtual PlayList에 대하여 조작이 행해졌다고 해도, Clip의 내용이 변경되지는 않는다. 도 6의 A 및 B는 어셈블(Assemble) 편집(IN-OUT 편집)에 관한 도면으로, 사용자가 보고자 원하는 재생 구간의 PlayItem을 작성하고, Virtual PlayList를 작성하는 조작이다. PlayItem간의 심리스 접속이 어플리케이션 포맷에 의해 서포트되고 있다(후술).
도 6의 A에 도시한 바와 같이, 2개의 Real PlayList(1, 2)와, 각각의 Real Play List에 대응하는 Clip(1, 2)가 존재하고 있는 경우에, 사용자가 Real PlayList1 내의 소정 구간(In1 내지 Out1까지의 구간: PlayItem(1))을 재생 구간으로서 지시하고, 계속해서 재생하는 구간으로서 Real PlayList(2) 내의 소정 구간(In2 내지 Out2까지의 구간: PlayItem(2))을 재생 구간으로서 지시했을 때, 도 6의 B에 도시한 바와 같이, PlayItem(1)과 PlayItem(2)으로 구성되는 하나의 Virtual PlayList가 작성된다.
다음으로, Virtual PlayList의 재편집(Re-editing)에 대하여 설명한다. 재편집에는 Virtual PlayList 중의 인점이나 아웃점의 변경, Virtual PlayList로의 새로운 PlayItem의 삽입(insert)이나 추가(append), Virtual PlayList 중의 PlayItem의 삭제 등이 있다. 또한, Virtual PlayList 그 자체를 삭제할 수도 있다.
도 7은 Virtual PlayList로의 오디오의 후기록(Audio dubbing(post recording))에 관한 도면으로, Virtual PlayList로의 오디오의 후기록을 서브 패스로서 등록하는 조작이다. 이 오디오의 후기록은 어플리케이션 포맷에 의해 서포트되고 있다. Virtual PlayList의 메인 패스의 AV 스트림에 부가적인 오디오 스트림이 서브 패스로서 부가된다.
Real PlayList와 Virtual PlayList에서 공통의 조작으로서, 도 8에 도시한 바와 같은 PlayList의 재생 순서의 변경(Moving)이 있다. 이 조작은 디스크(볼륨) 내에서의 PlayList의 재생 순서의 변경으로, 어플리케이션 포맷에 있어서 정의되는 Table Of PlayList(도 20 등을 참조하여 후술함)에 의해 서포트된다. 이 조작에 의해, Clip의 내용이 변경되지는 않는다.
다음으로, 마크(Mark)에 대하여 설명한다. 마크는 Clip 및 PlayList 내의 하이라이트나 특징적인 시간을 지정하기 위해 부가되어 있다. Clip에 부가되는 마크는 AV 스트림의 내용에 기인하는 특징적인 장면을 지정하는, 예를 들면, 프로그램 검색점이나 장면 전환점 등이다. ClipMark는 도 1의 에를 들면 해석부(14)에 의해 생성된다. PlayList를 재생할 때, 그 PlayList가 참조하는 Clip의 마크를 참조하여, 사용할 수 있다.
PlayList에 부가되는 마크는 주로 사용자에 의해 세트되는, 예를 들면, 북 마크나 리쥼점 등이다. Clip 또는 PlayList에 마크를 세트하는 것은 마크의 시각을 나타내는 타임 스탬프를 마크 리스트에 추가함으로써 행해진다. 또한, 마크를 삭제하는 것은 마크 리스트 중에서 그 마크의 타임 스탬프를 제거하는 것이다. 따라서, 마크의 설정이나 삭제에 의해, AV 스트림은 어떠한 변경도 되지 않는다.
다음으로, 썸네일에 대하여 설명한다. 썸네일은 Volume, PlayList 및 Clip에 부가되는 정지 화상이다. 썸네일에는 2개의 종류가 있으며, 하나는 내용을 나타내는 대표 화상으로서의 썸네일이다. 이것은 주로 사용자가 커서(도시되지 않음) 등을 조작하여 보고자 하는 것을 선택하기 위한 메뉴 화면에서 사용되는 것이다. 다른 하나는 마크가 가리키고 있는 장면을 나타내는 화상이다.
Volume과 각 PlayList는 대표 화상을 갖을 수 있도록 할 필요가 있다. Volume의 대표 화상은 디스크(기록 매체(100), 이하, 기록 매체(100)는 디스크 형상의 것으로 하고, 간단하게 디스크로 기술함)를 기록 재생 장치(1)의 소정의 장소 에 세트하였을 때에, 그 디스크의 내용을 나타내는 정지 화상을 최초로 표시하는 경우 등에 이용되는 것을 상정하고 있다. PlayList의 대표 화상은 PlayList를 선택하는 메뉴 화면에서, PlayList의 내용을 나타내기 위한 정지 화상으로서 이용되는 것을 상정하고 있다.
PlayList의 대표 화상으로서, PlayList의 최초의 화상을 썸네일(대표 화상)로 하는 것이 고려되지만, 반드시 재생 시각 0의 선두의 화상이 내용을 나타내는 데에 있어서 최적의 화상이라고는 할 수 없다. 그래서, PlayList의 썸네일로서, 임의의 화상을 사용자가 설정할 수 있도록 한다. 이상 volume을 나타내는 대표 화상으로서의 썸네일과, PlayList를 나타내는 대표 화상으로서의 썸네일의 2종류의 썸네일을 메뉴 썸네일이라 한다. 메뉴 썸네일은 빈번하게 표시되기 때문에, 디스크로부터 고속으로 판독될 필요가 있다. 이 때문에, 모든 메뉴 썸네일을 하나의 파일에 저장하는 것이 효율적이다. 메뉴 썸네일은 반드시 볼륨 내의 동화상으로부터 추출한 픽쳐일 필요는 없고, 도 10에 도시한 바와 같이, 퍼스널 컴퓨터나 디지털 스틸 카메라로부터 수신한 화상이라도 무방하다.
한편, Clip과 PlayList에는 여러개의 마크를 붙일 필요가 있고, 마크 위치의 내용을 알기 위해 마크점의 화상을 용이하게 볼 수 있도록 할 필요가 있다. 이러한 마크점을 나타내는 픽쳐를 마크 썸네일(Mark Thumbnails)이라 한다. 따라서, 썸네일의 기초가 되는 화상은 외부로부터 수신한 화상보다 마크점의 화상을 추출한 것이 주가 된다.
도 11은 PlayList에 붙여지는 마크와, 그 마크 썸네일의 관계에 대하여 나타 내는 도면이고, 도 12는 Clip에 붙여지는 마크와, 그 마크 썸네일의 관계에 대하여 나타내는 도면이다. 마크 썸네일은 메뉴 썸네일과 달리 PlayList의 상세를 나타낼 때에 서브 메뉴 등으로 사용되기 때문에, 짧은 액세스 시간에서 판독되는 것이 요구되지 않는다. 그 때문에, 썸네일이 필요하게 될 때마다, 기록 재생 장치(1)가 파일을 개방하고, 그 파일의 일부를 판독함으로써 다소 시간이 걸리더라도 문제가 되지는 않는다.
또한, 볼륨 내에 존재하는 파일 수를 줄이기 위해, 모든 마크 썸네일은 하나의 파일에 저장하는 것이 좋다. PlayList는 메뉴 썸네일 1개와 복수의 마크 썸네일을 갖을 수 있지만, Clip은 직접 사용자가 선택할 필요성이 없기(통상, PlayList 경유로 지정하기) 때문에, 메뉴 썸네일을 마련할 필요는 없다.
도 13은 상술한 것을 고려한 경우의 메뉴 썸네일, 마크 썸네일, PlayList 및 Clip의 관계에 대하여 나타낸 도면이다. 메뉴 썸네일 파일에는 PlayList마다 마련된 메뉴 썸네일이 파일로 되어 있다. 메뉴 썸네일 파일에는 디스크에 기록되어 있는 데이터의 내용을 대표하는 볼륨 썸네일이 포함되어 있다. 마크 썸네일 파일은 각 PlayList마다와 각 Clip마다 작성된 썸네일이 파일로 되어 있다.
다음으로, CPI(Characteristic Point Information)에 대하여 설명한다. CPI는 Clip 인포메이션 파일에 포함되는 데이터로, 주로 그것은 Clip으로의 액세스 포인트의 타임 스탬프가 제공되었을 때, Clip AV stream file 중에서 데이터의 판독을 개시해야 할 데이터 어드레스를 찾아내기 위해 이용된다. 본 실시예에서는 2종류의 CPI를 이용한다. 하나는 EP_map이고, 다른 하나는 TU_map이다.
EP_map은 엔트리 포인트(EP) 데이터의 리스트로, 이것은 엘리먼트리 스트림 및 전송 스트림으로부터 추출된 것이다. 이것은 AV 스트림 중에서 디코드를 개시해야 할 엔트리 포인트의 장소를 찾아내기 위한 어드레스 정보를 갖는다. 하나의 EP 데이터는 프레젠테이션 타임 스탬프(PTS)와, 그 PTS에 대응하는 액세스 유닛의 AV 스트림 중의 데이터 어드레스의 쌍으로 구성된다.
EP_map은 주로 2개의 목적을 위해 사용된다. 첫번째는 PlayList 중에서 프레젠테이션 타임 스탬프에 의해 참조되는 액세스 유닛의 AV 스트림 중의 데이터 어드레스를 찾아내기 위해 사용된다. 두번째는 제1 포워드 재생이나 제1 리버스 재생를 위해 사용된다. 기록 재생 장치(1)가 입력 AV 스트림을 기록하는 경우, 그 스트림의 신택스를 해석할 수 있을 때, EP_map이 작성되어 디스크에 기록된다.
TU_map은 디지털 인터페이스를 통해 입력되는 전송 패킷의 도착 시각에 기초한 타임 유닛(TU) 데이터의 리스트를 갖는다. 이것은 도착 시각 베이스의 시간과 AV 스트림 중의 데이터 어드레스와의 관계를 제공한다. 기록 재생 장치(1)가 입력 AV 스트림을 기록하는 경우, 그 스트림의 신택스를 해석할 수 없을 때, TU_map이 작성되어 디스크에 기록된다.
본 실시예에서는, 셀프 인코드의 스트림 포맷(SESF)을 정의한다. SESF는 아날로그 입력 신호를 부호화하는 목적 및 디지털 입력 신호(예를 들면 DV)를 디코드하고 나서 MPEG2 전송 스트림으로 부호화하는 경우에 이용된다.
SESF는 MPEG-2 전송 스트림 및 AV 스트림에 대한 엘리먼트리 스트림의 부호화 제한을 정의한다. 기록 재생 장치(1)가 SESF 스트림을 인코드하여, 기록하는 경우, EP_map이 작성되어 디스크에 기록된다.
디지털 방송의 스트림은 다음에 나타내는 방식 중 어느 하나가 이용되어 기록 매체(100)에 기록된다. 우선, 디지털 방송의 스트림을 SESF 스트림으로 변환 코딩한다. 이 경우, 기록된 스트림은 SESF에 준거해야 한다. 이 경우, EP_map이 작성되어 디스크에 기록되어야 한다.
혹은, 디지털 방송 스트림을 구성하는 엘리먼트리 스트림을 새로운 엘리먼트리 스트림으로 변환 코딩하고, 그 디지털 방송 스트림의 규격화 조직이 정하는 스트림포맷에 준거한 새로운 전송 스트림으로 재차 다중화한다. 이 경우, EP_map이 작성되어 디스크에 기록되어야 한다.
예를 들면, 입력 스트림이 ISDB(일본의 디지털 BS 방송의 규격 명칭) 준거의 MPEG-2 전송 스트림이고, 그것이 HDTV 비디오 스트림과 MPEG AAC 오디오 스트림을 포함하게 한다. HDTV 비디오 스트림을 SDTV 비디오 스트림으로 변환 코딩하고, 그 SDTV 비디오 스트림과 오리지널의 AAC 오디오 스트림을 TS로 재차 다중화한다. SDTV 스트림으로 기록되는 전송 스트림은 모두 ISDB 포맷에 준거해야 한다.
디지털 방송의 스트림이 기록 매체(100)에 기록될 때의 다른 방식으로서, 입력 전송 스트림을 트랜스페어런트하게 기록하는(입력 전송 스트림을 전혀 변경시키지 않고 기록하는) 경우로, 그 때에 EP_map이 작성되어 디스크에 기록된다.
또는, 입력 전송 스트림을 트랜스페어런트하게 기록하는(입력 전송 스트림을 전혀 변경시키지 않고 기록하는) 경우로, 그 때에 TU_map이 작성되어 디스크에 기록된다.
다음으로 디렉토리와 파일에 대하여 설명한다. 이하, 기록 재생 장치(1)를 DVR(Digital Video Recording)로 간단하게 기술한다. 도 14는 디스크 상의 디렉토리 구조의 일례를 나타내는 도면이다. DVR의 디스크 상에 필요한 디렉토리는, 도 14에 도시한 바와 같이, "DVR" 디렉토리를 포함하는 root 디렉토리, "PLAYLIST" 디렉토리, "CLIPINF" 디렉토리, "M2TS" 디렉토리 및 "DATA" 디렉토리를 포함하는 "DVR" 디렉토리이다. root 디렉토리의 아래에 이들 이외의 디렉토리를 작성하도록 해도 되지만, 이들은 본 실시예의 어플리케이션 포맷에서는 무시되도록 한다.
"DVR" 디렉토리 아래에는 DVR 어플리케이션 포맷에 의해 규정되는 모든 파일과 디렉토리가 저장된다. "DVR" 디렉토리는 4개의 디렉토리를 포함한다. "PLAYLIST" 디렉토리 아래에는 Real PlayList와 Virtual PlayList의 데이터 베이스 파일이 놓인다. 이 디렉토리는 PlayList가 하나도 없어도 존재한다.
"CLIPINF" 디렉토리 아래에는 Clip의 데이터 베이스가 놓인다. 이 디렉토리도 Clip이 하나도 없어도 존재한다. "M2TS" 디렉토리 아래에는 AV 스트림 파일이 놓인다. 이 디렉토리는 AV 스트림 파일이 하나도 없어도 존재한다. "DATA" 디렉토리는 디지털 TV 방송 등의 데이터 방송의 파일이 저장된다.
"DVR" 디렉토리는 다음에 나타내는 파일을 저장한다. "info.dvr" 파일은 DVR 디렉토리 아래에 작성되고, 어플리케이션층의 전체적인 정보를 저장한다. DVR 디렉토리 아래에는 단 하나의 info.dvr이 있어야만 한다. 파일명은 info.dvr로 고정되도록 한다. "menu.thmb" 파일은 메뉴 썸네일 화상에 관련되는 정보를 저장한다. DVR 디렉토리 아래에는 0 또는 하나의 메뉴 썸네일이 있어야만 한다. 파일명 은 memu.thmb로 고정되도록 한다. 메뉴 썸네일 화상이 하나도 없는 경우, 이 파일은 존재하지 않아도 된다.
"mark.thmb" 파일은 마크 썸네일 화상에 관련되는 정보를 저장한다. DVR 디렉토리 아래에는 0 또는 하나의 마크 썸네일이 있어야만 한다. 파일명은 mark.thmb로 고정되도록 한다. 메뉴 썸네일 화상이 하나도 없는 경우, 이 파일은 존재하지 않아도 된다.
"PLAYLIST" 디렉토리는 2종류의 PlayList 파일을 저장하는 것으로, 그들은 Real PlayList와 Virtual PlayList이다. "xxxxx.rpls" 파일은 하나의 Real PlayList에 관련되는 정보를 저장한다. 각각의 Real PlayList마다 하나의 파일이 작성된다. 파일명은 "xxxxx.rpls"이다. 여기서, "xxxxx"는 5개의 0 내지 9까지의 숫자이다. 파일 확장자는 "rpls"이어야 한다.
"yyyyy.vpls" 파일은 하나의 Virtual PlayList에 관련되는 정보를 저장한다. 각각의 Virtual PlayList마다 하나의 파일이 작성된다. 파일명은 "yyyyy.vpls"이다. 여기서, "yyyyy"는 5개의 0 내지 9까지의 숫자이다. 파일 확장자는 "vpls"이어야 한다.
"CLIPINF" 디렉토리는 각각의 AV 스트림 파일에 대응하여, 1개의 파일을 저장한다. "zzzzz.dip" 파일은 하나의 AV 스트림 파일(Clip AV stream file 또는 Bridge-Clip AV stream file)에 대응하는 Clip Information file이다. 파일명은 "zzzzz.dip"이고, "zzzzz"는 5개의 0 내지 9까지의 숫자이다. 파일 확장자는 "dip"이어야 한다.
"M2TS" 디렉토리는 AV 스트림의 파일을 저장한다. "zzzzz.m2ts" 파일은 DVR 시스템에 의해 처리되는 AV 스트림 파일이다. 이것은 Clip AV stream file 또는 Bridge-Clip AV stream이다. 파일명은 "zzzzz.m2ts"이고, "zzzzz"는 5개의 0 내지 9까지의 숫자이다. 파일 확장자는 "m2ts"이어야 한다.
"DATA" 디렉토리는 데이터 방송으로부터 전송되는 데이터를 저장하는 것이고, 데이터란, 예를 들면, XML file나 MHEG 파일 등이다.
다음으로, 각 디렉토리(파일)의 신택스와 시맨틱스를 설명한다. 우선, "info.dvr" 파일에 대하여 설명한다. 도 15는 "info.dvr" 파일의 신택스를 나타내는 도면이다. "info.dvr" 파일은 3개의 오브젝트로 구성되고, 그들은 DVRVolume(), TableOfPlayLists() 및 MakerPrivateData()이다.
도 15에 도시한 info.dvr의 신택스에 대하여 설명하면, TableOfPlayLists_Start_address는 info.dvr 파일의 선두의 바이트로부터의 상대 바이트 수를 단위로 하여, TableOfPlayList()의 선두 어드레스를 나타낸다. 상대 바이트 수는 0부터 카운트된다.
MakerPrivateData_Start_address는 info.dvr 파일의 선두의 바이트로부터의 상대 바이트 수를 단위로 하여, MakerPrivateData()의 선두 어드레스를 나타낸다. 상대 바이트 수는 0부터 카운트된다. padding_word(패딩 워드)는 info.dvr의 신택스에 따라 삽입된다. N1과 N2는 0 또는 임의의 양의 정수이다. 각각의 패딩 워드는 임의의 값을 취하도록 해도 된다.
DVRVolume()는 볼륨(디스크)의 내용을 기술하는 정보를 저장한다. 도 16은 DVRVolume()의 신택스를 나타내는 도면이다. 도 16에 도시한 DVR Volume()의 신택스를 설명하면, version_number는 이 DVRVolume()의 버전 번호를 나타내는 4개의 캐릭터 문자를 나타낸다. version_number는 ISO646에 따라 "0045"로 부호화된다.
length는 이 length 필드의 직후부터 DVRVolume()의 최후까지의 DVRVolume()의 바이트 수를 나타내는 32비트의 부호없는 정수로 나타낸다.
ResumeVolume()는 볼륨 중에서 마지막으로 재생한 Real PlayList 또는 Virtual PlayList의 파일명을 기억하고 있다. 단, Real PlayList 또는 Virtual PlayList의 재생을 사용자가 중단했을 때의 재생 위치는 PlayListMark()에 있어서 정의되는 resume-mark에 저장된다.
도 17은 ResumeVolume()의 신택스를 나타내는 도면이다. 도 17에 도시한 ResumeVolume()의 신택스를 설명하면, valid_flag는, 이 1비트의 플래그가 1로 세트되어 있는 경우, resume_PlayList_name 필드가 유효인 것을 나타내고, 이 플래그가 0으로 세트되어 있는 경우, resume_PlayList_name 필드가 무효인 것을 나타낸다.
resume_PlayList_name의 10바이트의 필드는 리쥼되어야 하는 Real PlayList 또는 Virtual PlayList의 파일명을 나타낸다.
도 16에 도시한 DVRVolume()의 신택스 내의 UIAppInfoVolume은 볼륨에 대한 사용자 인터페이스 어플리케이션의 파라미터를 저장한다. 도 18은 UIAppInfoVolume의 신택스를 나타내는 도면으로, 그 시맨틱스를 설명하면, character_set의 8비트의 필드는 Volume_name 필드로 부호화되어 있는 캐릭터 문자 의 부호화 방법을 나타낸다. 그 부호화 방법은 도 19에 도시한 값에 대응한다.
name_length의 8비트 필드는 Volume_name 필드 중에 나타내는 볼륨명의 바이트 길이를 나타낸다. Volume_name의 필드는 볼륨의 명칭을 나타낸다. 이 필드 중의 좌측으로부터 name_length수의 바이트 수가 유효한 캐릭터 문자로, 그것은 볼륨의 명칭을 나타낸다. Volume_name 필드 중에서, 이들 유효한 캐릭터 문자 후의 값은 어떤 값이 들어가도 된다.
Volume_protect_flag는 볼륨 중의 콘텐츠를 사용자에게 제한하지 않고 보여주는 것이 좋은지의 여부를 나타내는 플래그이다. 이 플래그가 1로 세트되어 있는 경우, 사용자가 정확하게 PIN 번호(패스워드)를 입력할 수 있었을 때에만, 그 볼륨의 콘텐츠를 사용자에게 보여주는 것(재생되는 것)이 허가된다. 이 플래그가 0으로 세트되어 있는 경우, 사용자가 PIN 번호를 입력하지 않아도, 그 볼륨의 콘텐츠를 사용자에게 보여주는 것이 허가된다.
처음에, 사용자가 디스크를 플레이어에 삽입한 시점에서, 혹시 이 플래그가 0으로 세트되어 있거나, 또는, 이 플래그가 1로 세트되어 있어도 사용자가 PIN 번호를 정확하게 입력할 수 있다면, 기록 재생 장치(1)는 그 디스크 중의 PlayList의 일람을 표시시킨다. 각각의 PlayList의 재생 제한은 volume_protect_flag와는 무관계하며, 그것은 UIAppInfoPlayList() 중에 정의되는 playback_control_flag에 의해 나타낸다.
PIN은 4개의 0 내지 9까지의 숫자로 구성되고, 각각의 숫자는 ISO/IEC646에 따라 부호화된다. ref_thumbnail_index의 필드는 볼륨에 부가되는 썸네일 화상의 정보를 나타낸다. ref_thumbnail_index 필드가 OxFFFF가 아닌 값인 경우, 그 볼륨에는 썸네일 화상이 부가되어 있고, 그 썸네일 화상은 menu.thum 파일 중에 저장되어 있다. 그 화상은 menu.thum 파일 중에서 ref_thumbnail_index의 값을 이용하여 참조된다. ref_thumbnail_index 필드가 OxFFFF인 경우, 그 볼륨에는 썸네일 화상이 부가되어 있지 않은 것을 나타낸다.
다음으로, 도 15에 도시한 info.dvr의 신택스 내의 TableOfPlayLists()에 대하여 설명한다. TableOfPlayLists()는 PlayList(Real PlayList와 Virtual PlayList)의 파일명을 저장한다. 볼륨에 기록되어 있는 모든 PlayList 파일은 TableOfPlayList() 중에 포함된다. TableOfPlayLists()는 볼륨 중의 PIayList의 디폴트의 재생 순서를 나타낸다.
도 20은 TableOfPlayLists()의 신택스를 나타내는 도면으로, 그 신택스에 대하여 설명하면, TableOfPlayLists의 version_number는 이 TableOfplayLists의 버전 번호를 나타내는 4개의 캐릭터 문자를 나타낸다. version_number는 ISO646에 따라 "0045"로 부호화되어야 한다.
length는 이 length 필드의 직후부터 TableOfPlayLists()의 최후까지의 TableOfPlayLists()의 바이트 수를 나타내는 32비트의 부호없는 정수이다. number_of_PlayLists의 16비트의 필드는 PlayLisLfile_name를 포함하는 for_loop의 루프 횟수를 나타낸다. 이 숫자는 볼륨에 기록되어 있는 PlayList의 수와 동일해야 한다. PlayList_file_name의 10바이트의 숫자는 PlayList의 파일명을 나타낸다.
도 21은 TableOfPlayLists()의 신택스의 다른 예의 구성을 나타내는 도면이다. 도 21에 도시한 신택스는 도 20에 도시한 신택스에 UIAppinfoPlayList(후술)를 포함시킨 구성으로 되어 있다. 이와 같이, UIAppinfoPlayList를 포함시킨 구성으로 함으로써, TableOfPlayLists를 판독하는 것만으로 메뉴 화면을 작성하는 것이 가능해진다. 여기서는, 도 20에 도시한 신택스를 이용하는 것으로 하여 이하의 설명을 한다.
도 15에 도시한 info.dvr의 신택스 내의 MakersPrivateData에 대하여 설명한다. MakersPrivateData는 기록 재생 장치(1)의 메이커가 각 사의 특별한 어플리케이션을 위해, MakersPrivateData() 내에 메이커의 프라이비트 데이터를 삽입할 수 있도록 마련되어 있다. 각 메이커의 프라이비트 데이터는 이것을 정의한 메이커를 식별하기 위해 표준화된 maker_ID를 갖는다. MakersPrivateData()는 1개 이상의 maker_ID를 포함해도 된다.
소정의 메이커가 프라이비트 데이터를 삽입하고자 할 때에, 이미 다른 메이커의 프라이비트 데이터가 MakersPrivateData()에 포함되어 있는 경우, 다른 메이커는 이미 있는 오래된 프라이비트 데이터를 소거하는 것은 아니라, 새로운 프라이비트 데이터를 MakersPrivateData() 내에 추가하도록 한다. 이와 같이, 본 실시예에서는, 복수의 메이커의 프라이비트 데이터가 하나의 MakersPrivateData()에 포함되는 것이 가능하도록 한다.
도 22는 MakersPrivateData의 신택스를 나타내는 도면이다. 도 22에 도시한 MakersPrivateData의 신택스에 대하여 설명하면, version_number는 이 MakersPrivateData()의 버전 번호를 나타내는 4개의 캐릭터 문자를 나타낸다. version_number는 ISO646에 따라 "0045"로 부호화되어야 한다. length는 이 length 필드의 직후부터 MakersPrivateData()의 최후까지의 MakersPrivateData()의 바이트 수를 나타내는 32비트의 부호없는 정수를 나타낸다.
mpd_blocks_start_address는 MakersPrivateData()의 선두의 바이트로부터의 상대 바이트 수를 단위로 하여, 최초의 mpd_block()의 선두 바이트 어드레스를 나타낸다. 상대 바이트 수는 0부터 카운트된다. number_of_maker_entries는 MakersPrivateData() 내에 포함되어 있는 메이커 프라이비트 데이터의 엔트리 수를 제공하는 16비트의 부호없는 정수이다. MakersPrivateData() 내에 동일한 maker_ID의 값을 갖는 메이커 프라이비트 데이터가 2개 이상 존재해서는 안된다.
mpd_block_size는 1024바이트를 단위로 하여, 하나의 mpd_block의 크기를 제공하는 16비트의 부호없는 정수이다. 예를 들면, mpd_block_size=1이면, 그것은 하나의 mpd_block의 크기가 1024바이트인 것을 나타낸다. number_of_mpd_blocks는 MakersPrivateData() 내에 포함되는 mpd_block의 수를 제공하는 16비트의 부호없는 정수이다. maker_ID는 그 메이커 프라이비트 데이터를 작성한 DVR 시스템의 제조 메이커를 나타내는 16비트의 부호없는 정수이다. maker_ID로 부호화되는 값은 이 DVR 포맷의 라이센서에 의해 지정된다.
maker_model_code는 그 메이커 프라이비트 데이터를 작성한 DVR 시스템의 모델 번호 코드를 나타내는 16비트의 부호없는 정수이다. maker_model_code로 부호화되는 값은 이 포맷의 라이센스를 받은 제조 메이커에 의해 설정된다. start_mpd_block_number는 그 메이커 프라이비트 데이터가 개시되는 mpd_block의 번호를 나타내는 16비트의 부호없는 정수이다. 메이커 프라이비트 데이터의 선두 데이터는 mpd_block의 선두에 위치하여야 한다. start_mpd_block_number는 mpd_block의 for-loop 내의 변수 j에 대응한다.
mpd_length는 바이트 단위로 메이커 프라이비트 데이터의 크기를 나타내는 32비트의 부호없는 정수이다. mpd_block는 메이커 프라이비트 데이터가 저장되는 영역이다. MakersPrivateData() 내의 모든 mpd_block는 동일한 사이즈이어야 한다.
다음으로, Real PlayList file와 Virtual PlayList file에 대하여, 바꾸어 말하면, xxxxx.rpls와 yyyyy.vpls에 대하여 설명한다. 도 23은 xxxxx.rpls(Real PlayList), 또는, yyyyy.vpls(Virtual PlayList)의 신택스를 나타내는 도면이다. xxxxx.rpls와 yyyyy.vpls는 동일한 신택스 구성을 갖는다. xxxxx.rpls와 yyyyy.vpls는 각각 3개의 오브젝트로 구성되고, 그들은 PlayList(), PlayListMark() 및 MakerPrivateData()이다.
PlayListMark_Start_address는 PlayList 파일의 선두의 바이트로부터의 상대 바이트 수를 단위로 하여, PlayListMark()의 선두 어드레스를 나타낸다. 상대 바이트 수는 0부터 카운트된다.
MakerPrivateData_Start_address는 PlayList 파일의 선두의 바이트로부터의 상대 바이트 수를 단위로 하여, MakerPrivateData()의 선두 어드레스를 나타낸다. 상대 바이트 수는 0부터 카운트된다.
padding_word(패딩 워드)는 PlayList 파일의 신택스에 따라 삽입되고, N1과 N2는 0 또는 임의의 양의 정수이다. 각각의 패딩 워드는 임의의 값을 취하도록 해도 된다.
여기서, 이미 간단하게 설명하였지만, PlayList에 대하여 다시 설명한다. 디스크 내에 있는 모든 Real PlayList에 의해 Bridge-Clip(후술)을 제외한 모든 Clip 내의 재생 구간이 참조되어야 한다. 또한, 2개 이상의 Real Play List가 이들 PlayItem으로 나타내는 재생 구간을 동일한 Clip 내에서 오버랩시켜서는 안된다.
도 24를 참조하여 더 설명하면, 도 24의 A에 도시한 바와 같이, 모든 Clip은 대응하는 RealPlayList가 존재한다. 이 규칙은, 도 24의 B에 도시한 바와 같이, 편집 작업이 행해진 후에 있어서도 지켜진다. 따라서, 모든 Clip은 어느 하나의 Real PlayList를 참조함으로써, 반드시 시청하는 것이 가능하다.
도 24의 C에 도시한 바와 같이, Virtual PlayList의 재생 구간은 Real PlayList의 재생 구간 또는 Bridge-Clip의 재생 구간 중에 포함되어 있어야 한다. 어떤 Virtual PlayList에도 참조되지 않는 Bridge-Clip이 디스크 중에 존재해서는 안된다.
RealPlayList는 PlayItem의 리스트를 포함하지만, SubPlayItem을 포함해서는 안된다. Virtual PlayList는 PlayItem의 리스트를 포함하고, PlayList() 중에 도시되는 CPI_type이 EP_map type이고, 또한 PlayList_type이 0(비디오와 오디오를 포함하는 PlayList)인 경우, Virtual PlayList는 하나의 SubPlayItem을 포함할 수 있다. 본 실시예에서의 PlayList()에서는 SubPlayItem은 오디오의 후기록의 목적만으로 사용되고, 그리고, 하나의 Virtual PlayList가 갖는 SubPlayItem의 수는 0 또는 1이어야 한다.
다음으로, PlayList에 대하여 설명한다. 도 25는 PlayList의 신택스를 나타내는 도면이다. 도 25에 도시한 PlayList의 신택스를 설명하면, version_number는 이 PlayList()의 버전 번호를 나타내는 4개의 캐릭터 문자이다. version_number는 ISO646에 따라 "0045"로 부호화되어야 한다. length는 이 length 필드의 직후부터 PlayList()의 최후까지의 PlayList()의 바이트 수를 나타내는 32비트의 부호없는 정수이다. PlayList_type은 이 PlayList의 타입을 나타내는 8비트의 필드이고, 그 일례를 도 26에 도시한다.
CPI_type은 1비트의 플래그로, PlayItem() 및 SubPlayItem()에 의해 참조되는 Clip의 CPI_type의 값을 나타낸다. 하나의 PlayList에 의해 참조되는 모든 Clip은 이들의 CPI() 중에 정의되는 CPI_type의 값이 동일해야만 한다. number_of_PayItems는 PlayList 중에 있는 PlayItem의 수를 나타내는 16비트의 필드이다.
소정의 PlayItem()에 대응하는 PlayItem_id는 PlayItem()을 포함하는 for-loop 중에서 그 PlayItem()이 나타나는 순서에 의해 정의된다. PlayItem_id는 0부터 개시된다. number_of_SubPlayItems는 PlayList 중에 있는 SubPlayItem의 수를 나타내는 16비트의 필드이다. 이 값은 0 또는 1이다. 부가적인 오디오 스트림의 패스(오디오 스트림 패스)는 서브 패스의 일종이다.
다음으로, 도 25에 도시한 PlayList의 신택스의 UIAppInfoPlayList에 대하여 설명한다. UIAppInfoPlayList는 PlayList에 대한 사용자 인터페이스 어플리케이션의 파라미터를 저장한다. 도 27은 UIAppInfoPlayList의 신택스를 나타내는 도면이다. 도 27에 도시한 UIAppInfoPlayList의 신택스를 설명하는 데 있어서, character_set는 8비트의 필드로, PlayList_name 필드에 부호화되어 있는 캐릭터 문자의 부호화 방법을 나타낸다. 그 부호화 방법은 도 19에 도시한 테이블에 준거하는 값에 대응한다.
name_length는 8비트 필드로, PlayList_name 필드 중에 나타내는 PlayList명의 바이트 길이를 나타낸다. PlayList_name의 필드는 PlayList의 명칭을 나타낸다. 이 필드 중의 좌측으로부터 name_length수의 바이트 수가 유효한 캐릭터 문자로, 그것은 PlayList의 명칭을 나타낸다. PlayList_name 필드 중에서, 이들 유효한 캐릭터 문자 뒤의 값은 어떤 값이 들어가도 무방하다.
record_time_and_date는 PlayList가 기록되었을 때의 일시를 저장하는 56비트의 필드이다. 이 필드는 년/월/일/시/분/초에 대하여, 14개의 숫자를 4비트의 Binary Coded Decimal(BCD)로 부호화한 것이다. 예를 들면, 2001/12/23:01:02:03은 "0x20011223010203"으로 부호화된다.
duration은 PlayList의 총 재생 시간을 시간/분/초의 단위로 나타낸 24비트의 필드이다. 이 필드는 6개의 숫자를 4비트의 Binary Coded Decimal(BCD)로 부호화한 것이다. 예를 들면, 01:45:30은 "0x014530"으로 부호화된다.
valid_period는 PlayList가 유효인 기간을 나타내는 32비트의 필드이다. 이 필드는 8개의 숫자를 4비트의 Binary Coded Decimal(BCD)로 부호화한 것이다. 예를 들면, 기록 재생 장치(1)는 이 유효 기간이 지난 PlayList를 자동 소거하도록 이용된다. 예를 들면, 2001/05/07은 "0x20010507"로 부호화된다.
maker_id는 그 PlayList를 마지막으로 갱신한 DVR 플레이어(기록 재생 장치(1))의 제조자를 나타내는 16비트의 부호없는 정수이다. maker_id로 부호화되는 값은 DVR 포맷의 라이센서에 의해 할당된다. maker_code는 그 PlayList를 마지막으로 갱신한 DVR 플레이어의 모델 번호를 나타내는 16비트의 부호없는 정수이다. maker_code로 부호화되는 값은 DVR 포맷의 라이센스를 받은 제조자에 의해 결정된다.
playback_control_flag의 플래그가 1로 세트되어 있는 경우, 사용자가 정확하게 PIN 번호를 입력할 수 있는 경우에만 그 PlayList는 재생된다. 이 플래그가 0으로 세트되어 있는 경우, 사용자가 PIN 번호를 입력하지 않아도, 사용자는 그 PlayList를 시청할 수 있다.
write_protect_flag는, 도 28A에 테이블을 도시한 바와 같이, 1로 세트되어 있는 경우, write_protect_flag를 제외하고, 그 PlayList의 내용은 소거 및 변경되지 않는다. 이 플래그가 0으로 세트되어 있는 경우, 사용자는 그 PlayList를 자유롭게 소거 및 변경할 수 있다. 이 플래그가 1로 세트되어 있는 경우, 사용자가 그 PlayList를 소거, 편집, 또는 덧씌우기하기 전에, 기록 재생 장치(1)는 사용자에게 재확인하도록 하는 메시지를 표시시킨다.
write_protect_flag가 0으로 세트되어 있는 Real PlayList가 존재하고, 또 한, 그 Rea1 PlayList의 Clip를 참조하는 Virtual PlayList가 존재하며, 그 Virtual PlayList의 write_protect_flag가 1로 세트되어 있어도 된다. 사용자가 Real PlayList를 소거하고자 하는 경우, 기록 재생 장치(1)는 그 Real PlayList를 소거하기 전에 상기 Virtual PlayList의 존재를 사용자에게 경고하거나, 또는, 그 Real PlayList를 "최소화"한다.
is_played_flag는, 도 28B에 도시한 바와 같이, 플래그가 1로 세트되어 있는 경우, 그 PlayList는 기록되고 나서 한번은 재생된 것을 나타내고, 0으로 세트되어 있는 경우, 그 PlayList는 기록되고 나서 한번도 재생된 적이 없는 것을 나타낸다.
archive는, 도 28C에 도시한 바와 같이, 그 PlayList가 오리지널인지, 복사된 것인지를 나타내는 2비트의 필드이다. ref_thumbnail_index의 필드는 PlayList를 대표하는 썸네일 화상의 정보를 나타낸다. ref_thumbnail_index 필드가 OxFFFF가 아닌 값의 경우, 그 PlayList에는 PlayList를 대표하는 썸네일 화상이 부가되어 있고, 그 썸네일 화상은 menu.thum 파일 중에 저장되어 있다. 그 화상은 menu.thum 파일 중에서 ref_thumbnail_index의 값을 이용하여 참조된다. ref_thumbnail_index 필드가 OxFFFF인 경우, 그 PlayList에는 PlayList를 대표하는 썸네일 화상이 부가되어 있지 않다.
다음으로, PlayItem에 대하여 설명한다. 하나의 PlayItem()은 기본적으로 다음의 데이터를 포함한다. Clip의 파일명을 지정하기 위한 Clip_information_file_name, Clip의 재생 구간을 특정하기 위한 IN_time와 OUT_time의 쌍, PlayList()에 있어서 정의되는 CPI_type이 EP_map type인 경우, IN_time와 OUT_time이 참조하는 부분의 STC_sequence_id 및 선행하는 PlayItem과 현재의 PlayItem과의 접속 상태를 나타내는 부분의 connection_condition이다.
PlayList가 2개 이상의 PlayItem으로 구성될 때, 이들 PlayItem은 PlayList의 글로벌 시간축 상에, 시간의 갭 또는 오버랩없이 일렬로 나란히 배열된다. PlayList()에 있어서 정의되는 CPI_type이 EP_map type이고, 또한, 현재의 PlayItem이 BridgeSequence()를 갖지 않을 때, 그 PlayItem에서 정의되는 IN_time와 OUT_time의 쌍은 STC_sequence_id에 의해 지정되는 동일한 STC 연속 구간 상의 시간을 가리키고 있어야 한다. 이러한 예를 도 29에 도시한다.
도 30은 PlayList()에 있어서 정의되는 CPI_type이 EP_map type이고, 또한 현재의 PlayItem이 BridgeSequence()를 갖을 때, 다음에 설명하는 규칙이 적용되는 경우를 나타내고 있다. 현재의 PlayItem에 선행하는 PlayItem의 IN_time(도 30에서 IN_time1로 나타내고 있는 것)는 선행하는 PlayItem의 STC_sequence_id에 의해 지정되는 STC 연속 구간 상의 시간을 가리키고 있다. 선행하는 PlayItem의 OUT_time(도 30에서 OUT_time1로 나타내고 있는 것)는 현재의 PlayItem의 BridgeSequenceInfo() 중에서 지정되는 Bridge_Clip 중의 시간을 가리키고 있다. 이 OUT_time은 후술하는 부호화 제한에 따라야 한다.
현재의 PlayItem의 IN_time(도 30에서 IN_time2로 나타내고 있는 것)는 현재의 PlayItem의 BridgeSequenceInfo() 중에서 지정되는 Bridge_Clip 중의 시간을 가리키고 있다. 이 IN_time도 후술하는 부호화 제한에 따라야 한다. 현재의 PlayItem의 PlayItem의 OUT_time(도 30에서 OUT_time2로 나타내고 있는 것)는 현재 의 PlayItem의 STC_sequence_id에 의해 지정되는 STC 연속 구간 상의 시간을 가리키고 있다.
도 31에 도시한 바와 같이, PlayList()의 CPI_type이 TU_map type인 경우, PlayItem의 IN_time와 OUT_time의 쌍은 동일한 Clip AV 스트림 상의 시간을 가리키고 있다.
PlayItem의 신택스는 도 32에 도시한 바와 같다. 도 32에 도시한 PlayItem의 신택스를 설명하면, Clip_Information_file_name의 필드는 Clip Information file의 파일명을 나타낸다. 이 Clip Information file의 ClipInfo()에 있어서 정의되는 Clip_stream_type은 Clip AV stream을 나타내고 있어야 한다.
STC_sequence_id는 8비트의 필드로, PlayItem이 참조하는 STC 연속 구간의 STC_sequence_id를 나타낸다. PlayList() 중에서 지정되는 CPI_type이 TU_map type인 경우, 이 8비트 필드는 어떠한 의미도 갖지 않고, 0으로 세트된다. IN_time은 32비트 필드로, PlayItem의 재생 개시 시각을 저장한다. IN_time의 시맨틱스는, 도 33에 도시한 바와 같이, PlayList()에 있어서 정의되는 CPI_type에 따라 다르다.
OUT_time은 32비트 필드로, PlayItem의 재생 종료 시각을 저장한다. OUT_time의 시맨틱스는, 도 34에 도시한 바와 같이, PlayList()에서 정의되는 CPI_type에 따라 다르다.
Connection_Condition은, 도 35에 도시한 바와 같은 선행하는 PlayItem과, 현재의 PlayItem 사이의 접속 상태를 나타내는 2비트의 필드이다. 도 36의 A~D는 도 35에 도시한 Connection_Condition의 각 상태에 대하여 설명하는 도면이다.
다음으로, BridgeSequenceInfo에 대하여, 도 37을 참조하여 설명한다. BridgeSequenceInfo()는 현재의 PlayItem의 부속 정보로, 다음에 나타내는 정보를 갖는다. Bridge-Clip AV stream 파일과 그것에 대응하는 Clip Information file(도 45)를 지정하는 Bridge_Clip_Information_file_name를 포함한다.
또한, 선행하는 PlayItem이 참조하는 Clip AV stream 상의 소스 패킷의 어드레스로, 이 소스 패킷에 계속해서 Bridge-Clip AV stream 파일의 최초의 소스 패킷이 접속된다. 이 어드레스는 RSPN_exit_from_previous_Clip라 한다. 또한 현재의 PlayItem이 참조하는 Clip AV stream 상의 소스 패킷의 어드레스로, 이 소스 패킷 전에 Bridge-Clip AV stream 파일의 최후의 소스 패킷이 접속된다. 이 어드레스는 RSPN_enter_to_current_Clip라 한다.
도 37에서, RSPN_arrival_time_discontinuity는 the Bridge-Clip AV stream 파일 중에서 도착 타임 베이스의 불연속점이 있는 부분의 소스 패킷의 어드레스를 나타낸다. 이 어드레스는 ClipInfo()(도 46) 중에서 정의된다.
도 38은 BridgeSequenceinfo의 신택스를 나타내는 도면이다. 도 38에 도시한 BridgeSequenceinfo의 신택스를 설명하면, Bridge_Clip_Information_file_name의 필드는, Bridge-Clip AV stream 파일에 대응하는 Clip Information file의 파일명을 나타낸다. 이 Clip Information file의 ClipInfo()에서 정의되는 Clip_stream_type은 'Bridge-Clip AV stream'을 나타내고 있어야 한다.
RSPN_exit_from_previous_Clip의 32비트 필드는 선행하는 PlayItem이 참조하 는 Clip AV stream 상의 소스 패킷의 상대 어드레스로, 이 소스 패킷에 계속해서 Bridge-Clip AV stream 파일의 최초의 소스 패킷이 접속된다. RSPN_exit_from_previous_Clip은 소스 패킷 번호를 단위로 하는 크기로, 선행하는 PlayItem이 참조하는 Clip AV stream 파일의 최초의 소스 패킷으로부터 ClipInfo()에 있어서 정의되는 offset_SPN의 값을 초기 값으로 하여 카운트된다.
RSPN_enter_to_current_Clip의 32비트 필드는 현재의 PlayItem이 참조하는 Clip AV stream 상의 소스 패킷의 상대 어드레스로, 이 소스 패킷 전에 Bridge-Clip AV stream 파일의 최후의 소스 패킷이 접속된다. RSPN_exit_from_previous_Clip은 소스 패킷 번호를 단위로 하는 크기로, 현재의 PlayItem이 참조하는 Clip AV stream 파일의 최초의 소스 패킷으로부터 ClipInfo()에서 정의되는 offset_SPN의 값을 초기 값으로 하여 카운트된다.
다음으로, SubPlayItem에 대하여, 도 39를 참조하여 설명한다. SubPlayItem()의 사용은 PlayList()의 CPI_type이 EP_map type인 경우만 허용된다. 본 실시예에서는, SubPlayItem은 오디오의 후기록의 목적을 위해서만 사용되게 한다. SubPlayItem()은 다음에 나타내는 데이터를 포함한다. 우선, PlayList 중의 sub path가 참조하는 Clip를 지정하기 위한 Clip_information_file_name를 포함한다.
또한, Clip 중의 sub path의 재생 구간을 지정하기 위한 SubPath_IN_time와 SubPath_OUT_time를 포함한다. 또한, main path의 시간축 상에서 sub path가 재생 개시하는 시간을 지정하기 위한 sync_PlayItem_id와 sync_start_PTS_of_PlayItem을 포함한다. sub path에 참조되는 오디오의 Clip AV stream은 STC 불연속점(시스템 타임 베이스의 불연속점)을 포함해서는 안된다. sub path에 사용되는 Clip의 오디오 샘플의 클럭은 main path의 오디오 샘플의 클럭에 동기되어 있다.
도 40은 SubPlayItem의 신택스를 나타내는 도면이다. 도 40에 도시한 SubPlayItem의 신택스를 설명하면, Clip_Information_file_name의 필드는 Clip Information file의 파일명을 나타내고, 그것은 PlayList 중에서 sub path에 의해 사용된다. 이 Clip Information file의 ClipInfo()에서 정의되는 Clip_stream_type은 Clip AV stream을 나타내고 있어야 한다.
SubPath_type의 8비트의 필드는 sub path의 타입을 나타낸다. 여기서는, 도 41에 도시한 바와 같이, '0x00'밖에 설정되어 있지 않고, 다른 값은 장래를 위해 확보되어 있다.
sync_PlayItem_id의 8비트의 필드는 main path의 시간축 상에서 sub path가 재생 개시하는 시각이 포함되는 PlayItem의 PlayItem_id를 나타낸다. 소정의 PlayItem에 대응하는 PlayItem_id의 값은 PlayList()에 있어서 정의된다(도 25 참조).
sync_start_PTS_of_PlayItem의 32비트의 필드는 main path의 시간축 상에서 sub path가 재생 개시하는 시각을 나타내고, sync_PlayItem_id로 참조되는 PlayItem 상의 PTS(Presentation Time Stamp)의 상위 32비트를 나타낸다. SubPath_IN_time의 32비트 필드는 sub path의 재생 개시 시각을 저장한다. SubPath_IN_time은 sub path 중에서 최초의 프레젠테이션 유닛에 대응하는 33비트 길이의 PTS의 상위 32비트를 나타낸다.
SubPath_OUT_time의 32비트 필드는 Sub path의 재생 종료 시각을 저장한다. SubPath_OUT_time은 다음 식에 의해 산출되는 Presentation_end_TS의 값의 상위 32비트를 나타낸다.
Presentation_end_TS=PTS_out+AU_duration
여기서, PTS_out는 Subpath의 최후의 프레젠테이션 유닛에 대응하는 33비트 길이의 PTS이다. AU_duration은 Subpath의 최후의 프레젠테이션 유닛의 90㎑ 단위의 표시 기간이다.
다음으로, 도 23에 도시한 xxxxx.rpls와 yyyyy.vpls의 신택스 내의 PlayListMark()에 대하여 설명한다. PlayList에 대한 마크 정보는 이 PlayListMark에 저장된다. 도 42는 PlayListMark의 신택스를 나타내는 도면이다. 도 42에 도시한 PlayListMark의 신택스에 대하여 설명하면, version_number는 이 PlayListMark()의 버전 번호를 나타내는 4개의 캐릭터 문자이다. version_number는 ISO646에 따라 "0045"로 부호화되어야 한다.
length는 이 length 필드의 직후부터 PlayListMark()의 최후까지의 PlayListMark()의 바이트 수를 나타내는 32비트의 부호없는 정수이다. number_of_PlayList_marks는 PlayListMark 중에 저장되어 있는 마크의 개수를 나타내는 16비트의 부호없는 정수이다. number_of_PlayList_marks는 0이라도 무방하다. mark_type은 마크의 타입을 나타내는 8비트의 필드로, 도 43에 도시한 테이블에 따라 부호화된다.
mark_time_stamp의 32비트 필드는 마크가 지정된 포인트를 나타내는 타임 스탬프를 저장한다. mark_time_stamp의 시맨틱스는 도 44에 도시한 바와 같이, PlayList()에서 정의되는 CPI_type에 따라 다르다. PlayItem_id는 마크가 놓여져 있는 부분의 PlayItem을 지정하는 8비트의 필드이다. 소정의 PlayItem에 대응하는 PlayItem_id의 값은 PlayList()에 있어서 정의된다(도 25 참조).
character_set의 8비트의 필드는 mark_name 필드에 부호화되어 있는 캐릭터 문자의 부호화 방법을 나타낸다. 그 부호화 방법은, 도 19에 도시한 값에 대응한다. name_length의 8비트 필드는 mark_name 필드 중에 나타내는 마크명의 바이트 길이를 나타낸다. mark_name의 필드는 마크의 명칭을 나타낸다. 이 필드 중의 좌측으로부터 name_length수의 바이트 수가 유효한 캐릭터 문자로, 그것은 마크의 명칭을 나타낸다. mark_name 필드 중에서, 이들 유효한 캐릭터 문자 뒤의 값은 어떠한 값이 설정되어도 무방하다.
ref_thumbnail_index의 필드는 마크에 부가되는 썸네일 화상의 정보를 나타낸다. ref_thumbnail_index 필드가 0xFFFF가 아닌 값인 경우, 그 마크에는 썸네일 화상이 부가되어 있고, 그 썸네일 화상은 mark.thmb 파일 중에 저장되어 있다. 그 화상은 mark.thmb 파일 중에서 ref_thumbnail_index의 값을 이용하여 참조된다(후술). ref_thumbnail_index 필드가 0xFFFF인 경우, 그 마크에는 썸네일 화상이 부가되어 있지 않은 것을 나타낸다.
다음으로, Clip information file에 대하여 설명한다. zzzzz.dip(Clip information file 파일)은 도 45에 도시한 바와 같이 6개의 오브젝트로 구성된다. 이들은 ClipInfo(), STC-Info(), ProgramInfo(), CPI(), ClipMark() 및 MakerPrivateData()이다. AV 스트림(Clip AV 스트림 또는 BridgE-Clip AV stream)과 그것에 대응하는 Clip Information 파일은 동일한 숫자 열의 "zzzzz"가 사용된다.
도 45에 도시한 zzzzz.dip(Clip information file 파일)의 신택스에 대하여 설명하면, ClipInfo_Start_address는 zzzzz.dip 파일의 선두의 바이트로부터의 상대 바이트 수를 단위로 하여, ClipInfo()의 선두 어드레스를 나타낸다. 상대 바이트 수는 0부터 카운트된다.
STC_Info_Start_address는 zzzzz.dip 파일의 선두의 바이트로부터의 상대 바이트 수를 단위로 하여, STC_Info()의 선두 어드레스를 나타낸다. 상대 바이트 수는 0부터 카운트된다. ProgramInfo_Start_address는 zzzzz.dip 파일의 선두의 바이트로부터의 상대 바이트 수를 단위로 하여, ProgramInfo()의 선두 어드레스를 나타낸다. 상대 바이트 수는 0부터 카운트된다. CPI_Start_address는 zzzzz.dip 파일의 선두의 바이트로부터의 상대 바이트 수를 단위로 하여, CPI()의 선두 어드레스를 나타낸다. 상대 바이트 수는 0부터 카운트된다.
ClipMark_Start_address는 zzzzz.dip 파일의 선두의 바이트로부터의 상대 바이트 수를 단위로 하여, ClipMark()의 선두 어드레스를 나타낸다. 상대 바이트 수는 0부터 카운트된다. MakerPrivateData_Start_address는 zzzzz.dip 파일의 선두의 바이트로부터의 상대 바이트 수를 단위로 하여, MakerPrivateData()의 선두 어드레스를 나타낸다. 상대 바이트 수는 0부터 카운트된다. padding_word(패딩 워 드)는 zzzzz.dip 파일의 신택스에 따라 삽입된다. N1, N2, N3, N4 및 N5는 0 또는 임의의 양의 정수이어야 한다. 각각의 패딩 워드는 임의의 값이 취해지도록 해도 된다.
다음으로, ClipInfo에 대하여 설명한다. 도 46은 ClipInfo의 신택스를 나타내는 도면이다. ClipInfo()는 그것에 대응하는 AV 스트림 파일(Clip AV 스트림 또는 Bridge-Clip AV 스트림 파일)의 속성 정보를 저장한다.
도 46에 도시한 ClipInfo의 신택스에 대하여 설명하면, version_number는 이 ClipInfo()의 버전 번호를 나타내는 4개의 캐릭터 문자이다. version_number는 ISO646에 따라 "0045"로 부호화되어야 한다. length는 이 length 필드의 직후부터 ClipInfo()의 최후까지의 ClipInfo()의 바이트 수를 나타내는 32비트의 부호없는 정수이다. Clip_stream_type의 8비트의 필드는, 도 47에 도시한 바와 같이, Clip Information 파일에 대응하는 AV 스트림의 타입을 나타낸다. 각각의 타입의 AV 스트림의 스트림 타입에 대해서는 후술한다.
offset_SPN의 32비트의 필드는 AV 스트림(Clip AV 스트림 또는 Bridge-Clip AV 스트림) 파일의 최초의 소스 패킷에 대한 소스 패킷 번호의 오프셋 값을 제공한다. AV 스트림 파일이 최초로 디스크에 기록될 때, 이 offset_SPN은 0이어야 한다.
도 48에 도시한 바와 같이, AV 스트림 파일의 처음 부분이 편집에 의해 소거되었을 때, offset_SPN은 0 이외의 값을 취해도 된다. 본 실시에에서는, offset_SPN을 참조하는 상대 소스 패킷 번호(상대 어드레스)가 종종 RSPN_xxx(xn은 변형되며 예를 들면 RSPN_EP_start)의 형식으로 신택스 중에 기술되어 있다. 상대 소스 패킷 번호는 소스 패킷 번호를 단위로 하는 크기로, AV 스트림 파일의 최초의 소스 패킷으로부터 offset_SPN의 값을 초기 값으로 하여 카운트된다.
AV 스트림 파일의 최초의 소스 패킷으로부터 상대 소스 패킷 번호로 참조되는 소스 패킷까지의 소스 패킷의 수(SPN_xxx)는 다음 식으로 산출된다.
SPN_xxx=RSPN_xxx-offset_SPN
도 48은 offset_SPN이 4인 경우의 예를 나타낸다.
TS_recording_rate는 24비트의 부호없는 정수로, 이 값은 DVR 드라이브(기입부(22))로 또는 DVR 드라이브(판독부(28))로부터의 AV 스트림이 필요한 입출력의 비트 레이트를 제공한다. record_time_and_date는 Clip에 대응하는 AV 스트림이 기록되었을 때의 일시를 저장하는 56비트의 필드로, 년/월/일/시/분/초에 대하여, 14개의 숫자를 4비트의 Binary Coded Decimal(BCD)로 부호화한 것이다. 예를 들면, 2001/12/23:01:02:03은 "0x20011223010203"으로 부호화된다.
duration은 Clip의 총 재생 시간을 도착 타입 클럭에 기초한 시간/분/초의 단위로 나타낸 24비트의 필드이다. 이 필드는 6개의 숫자를 4비트의 Binary Coded Decimal(BCD)로 부호화한 것이다. 예를 들면, 01:45:30은 "0x014530"으로 부호화된다.
time_controlled_flag의 플래그는 AV 스트림 파일의 기록 모드를 나타낸다. 이 time_controlled_flag가 1인 경우, 기록 모드는 기록하고 나서의 시간 경과에 대하여 파일 사이즈가 비례하도록 하여 기록되는 모드인 것을 나타내고, 다음 식으 로 나타내는 조건을 충족시켜야 한다.
TS_average_rate*192/188*(t-start_time)-α<=size_clip(t)
<=TS_average_rate*192/188*(t-start_time)+α
여기서, TS_average_rate는 AV 스트림 파일의 전송 스트림의 평균 비트 레이트를 bytes/second의 단위로 나타낸 것이다.
또한, 상기 식에서, t는 초 단위로 나타내는 시간을 나타내고, start_time은 AV 스트림 파일의 최초의 소스 패킷이 기록되었을 때의 시각으로, 초 단위로 나타낸다. size_clip(t)는 시각 t에서의 AV 스트림 파일의 사이즈를 바이트 단위로 나타낸 것으로, 예를 들면, start_time로부터 시각 t까지 10개의 소스 패킷이 기록된 경우, size_clip(t)는 10*192바이트이다. α는 TS_average_rate에 의존하는 상수이다.
time_controlled_flag가 0으로 세트되어 있는 경우, 기록 모드는 기록 시간 경과와 AV 스트림의 파일 사이즈가 비례하도록 제어하고 있지 않은 것을 나타낸다. 예를 들면, 이것은 입력 전송 스트림을 트랜스페어런트하게 기록하는 경우이다.
TS_average_rate는 time_controlled_flag가 1로 세트되어 있는 경우, 이 24비트의 필드는 상기 식에서 이용하고 있는 TS_average_rate의 값을 나타낸다. time_controlled_flag가 0으로 세트되어 있는 경우, 이 필드는 어떠한 의미도 갖지 않고 0으로 세트되어야 한다. 예를 들면, 가변 비트 레이트의 전송 스트림은 다음에 나타내는 수순에 의해 부호화된다. 우선 전송 레이트를 TS_recording_rate의 값으로 세트한다. 다음으로, 비디오 스트림을 가변 비트 레이트로 부호화한다. 그리고, 널(nall) 패킷을 사용하지 않는 것에 의해, 간헐적으로 전송 패킷을 부호화한다.
RSPN_arrival_time_discontinuity의 32비트 필드는 Bridge-Clip AV stream 파일 상에서 도착 타임 베이스의 불연속이 발생하는 장소의 상대 어드레스이다. RSPN_arrival_time_discontinuity는 소스 패킷 번호를 단위로 하는 크기로, Bridge-Clip AV stream 파일의 최초의 소스 패킷으로부터 ClipInfo()에 있어서 정의되는 offset_SPN의 값을 초기 값으로 하여 카운트된다. 그 Bridge-Clip AV stream 파일 중에서의 절대 어드레스는 상술한
SPN_xxx=RSPN_xxx-offset_SPN
에 기초하여 산출된다.
reserved_for_system_use의 144비트의 필드는 시스템용으로 준비되어 있다. is_format_identifier_valid의 플래그가 1일 때, format_identifier의 필드가 유효인 것을 나타낸다. is_original_network_ID_valid의 플래그가 1인 경우, original_network_ID의 필드가 유효인 것을 나타낸다. is_transport_stream_ID_valid의 플래그가 1인 경우, transport_stream_ID의 필드가 유효인 것을 나타낸다. is_service_ID_valid의 플래그가 1인 경우, service_ID의 필드가 유효인 것을 나타낸다.
is_country_code_valid의 플래그가 1일 때, country_code의 필드가 유효인 것을 나타낸다. format_identifier의 32비트 필드는 전송 스트림 중에서 registration deascriotor(ISO/IEC13818-1로 정의되어 있음)가 갖는 format_identifier의 값을 나타낸다. original_network_ID의 16비트 필드는 전송 스트림 중에서 정의되어 있는 original_network_ID의 값을 나타낸다. transport_stream_ID의 16비트 필드는 전송 스트림 중에서 정의되어 있는 transport_stream_ID의 값을 나타낸다.
service_ID의 16비트 필드는, 전송 스트림 중에서 정의되어 있는 service_ID의 값을 나타낸다. country_code의 24비트의 필드는 ISO3166에 의해 정의되는 국가 코드를 나타낸다. 각각의 캐릭터 문자는 ISO8859-1로 부호화된다. 예를 들면, 일본은 "JPN"으로 나타내고, "0x4A 0x50 0x4E"로 부호화된다. stream_format_name는 전송 스트림의 스트림 정의를 하고 있는 포맷 기관의 명칭을 나타내는 ISO-646의 16개의 캐릭터 코드이다. 이 필드 중의 무효한 바이트는 값 '0xFF'가 세트된다.
format_identifier, original_network_ID, transport_stream_ID, service_ID, country_code 및 stream_format_name는 전송 스트림의 서비스 프로바이더를 나타내는 것으로, 이에 따라, 오디오나 비디오 스트림의 부호화 제한, SI(서비스 인포메이션)의 규격이나 오디오 비디오 스트림 이외의 프라이비트 데이터 스트림의 스트림 정의를 인식할 수 있다. 이들 정보는, 디코더가 그 스트림을 디코드할 수 있는지의 여부, 그리고 디코드할 수 있는 경우에 디코드 개시 전에 디코더 시스템의 초기 설정을 행하기 위해 이용하는 것이 가능하다.
다음으로, STC_Info에 대하여 설명한다. 여기서는, MPEG-2 전송 스트림 중에서 STC의 불연속점(시스템 타임 베이스의 불연속점)을 포함하지 않는 시간 구간 을 STC_sequence라 하고, Clip 중에서 STC_sequence는 STC_sequence_id의 값에 의해 특정된다. 도 50의 A 및 B는 연속적인 STC 구간에 대하여 설명하는 도면이다. 동일한 STC_sequence 중에서 동일한 STC의 값은 결코 나타나지 않는다(단, 후술하는 바와 같이, Clip의 최대 시간 길이는 제한되어 있음). 따라서, 동일한 STC_sequence 중에서 동일한 PTS의 값도 또한 결코 나타나지 않는다. AV 스트림이 N(N>0)개의 STC 불연속점을 포함하는 경우, Clip의 시스템 타임 베이스는 (N+1)개의 STC_sequence로 분할된다.
STC_Info는 STC의 불연속(시스템 타임 베이스의 불연속)이 발생하는 장소의 어드레스를 저장한다. 도 51을 참조하여 설명한 바와 같이, RSPN_STC_start가 그 어드레스를 나타내고, 최후의 STC_sequence를 제외한 k번째(k>=0)의 STC_sequence는 k번째의 RSPN_STC_start로 참조되는 소스 패킷이 도착한 시각으로부터 시작하여, (k+1)번째의 RSPN_STC_start로 참조되는 소스 패킷이 도착한 시각에서 종료된다. 최후의 STC_sequence는 최후의 RSPN_STC_start로 참조되는 소스 패킷이 도착한 시각에서 시작하여, 최후의 소스 패킷이 도착한 시각에서 종료된다.
도 52는 STC_Info의 신택스를 나타내는 도면이다. 도 52에 도시한 STC_Info의 신택스에 대하여 설명하면, version_number는 이 STC_Info()의 버전 번호를 나타내는 4개의 캐릭터 문자이다. version_number는 ISO646에 따라 "0045"로 부호화되어야 한다.
length는 이 length 필드의 직후부터 STC_Info()의 최후까지의 STC_Info()의 바이트 수를 나타내는 32비트의 부호없는 정수이다. CPI()의 CPI_type이 TU_map type를 나타내는 경우, 이 length 필드는 0을 세트해도 된다. CPI()의 CPI_type이 EP_map type를 나타내는 경우, num_of_STC_sequences는 1 이상의 값이어야 한다.
num_of_STC_sequences의 8비트의 부호없는 정수는 Clip 중에서의 STC_sequence의 수를 나타낸다. 이 값은 이 필드에 계속되는 for-loop의 루프 횟수를 나타낸다. 소정의 STC_sequence에 대응하는 STC_sequence_id는 RSPN_STC_start를 포함하는 for-loop 중에서, 그 STC_sequence에 대응하는 RSPN_STC_start의 나타나는 순서에 의해 정의되는 것이다. STC_sequence_id는 0부터 개시된다.
RSPN_STC_start의 32비트 필드는 AV 스트림 파일 상에서 STC_sequence가 개시하는 어드레스를 나타낸다. RSPN_STC_start는 AV 스트림 파일 중에서 시스템 타임 베이스의 불연속점이 발생하는 어드레스를 나타낸다. RSPN_STC_start는 AV 스트림 중에서 새로운 시스템 타임 베이스의 최초의 PCR을 갖는 소스 패킷의 상대 어드레스로 해도 된다. RSPN_STC_start는 소스 패킷 번호를 단위로 하는 크기로, AV 스트림 파일의 최초의 소스 패킷으로부터 ClipInfo()에 있어서 정의되는 offset_SPN의 값을 초기 값으로 하여 카운트된다. 그 AV stream 파일 중에서의 절대 어드레스는 이미 상술한
SPN_xxx=RSPN_xxx-offset_SPN
에 의해 산출된다.
다음으로, 도 45에 도시한 zzzzz.clip의 신택스 내의 ProgramInfo에 대하여 설명한다. 도 53을 참조하면서 설명하면, 여기서는 Clip 중에서 다음의 특징을 갖 는 시간 구간을 program_sequence라 한다. 우선, PCR_PID의 값이 변화되지 않는다. 다음으로, 비디오 엘리먼트리 스트림의 수가 변화되지 않는다. 또, 각각의 비디오 스트림에 대한 PID의 값과 그 VideoCodingInfo에 의해 정의되는 부호화 정보가 변화되지 않는다. 또한, 오디오 엘리먼트리 스트림의 수가 변화되지 않는다. 또, 각각의 오디오 스트림에 대한 PID의 값과 그 AudioCodingInfo에 의해 정의되는 부호화 정보가 변화되지 않는다.
program_sequence는 동일한 시각에서 단지 하나의 시스템 타임 베이스를 갖는다. program_sequence는 동일한 시각에서 단지 하나의 PMT를 갖는다. ProgramInfo()는 program_sequence가 개시하는 장소의 어드레스를 저장한다. RSPN_program_sequence_start가 그 어드레스를 나타낸다.
도 54는 ProgramInfo의 신택스를 나타내는 도면이다. 도 54에 도시한 Program Info의 신택스를 설명하면, version_number는 이 ProgramInfo()의 버전 번호를 나타내는 4개의 캐릭터 문자이다. version_number는 ISO646에 따라 "0045"로 부호화되어야 한다.
length는 이 length 필드의 직후부터 ProgramInfo()의 최후까지의 ProgramInfo()의 바이트 수를 나타내는 32비트의 부호없는 정수이다. CPI()의 CPI_type이 TU_map type를 나타내는 경우, 이 length 필드는 0으로 세트되어도 된다. CPI()의 CPI_type이 EP_map type를 나타내는 경우, number_of_programs는 1 이상의 값이어야 한다.
number_of_program_sequences의 8비트의 부호없는 정수는 Clip 중에서의 Program_sequence의 수를 나타낸다. 이 값은 이 필드에 계속되는 for-loop의 루프 횟수를 나타낸다. Clip 중에서 program_sequence가 변화되지 않은 경우, number_of_program_sequences는 1을 세트해야 한다. RSPN_program_sequence_start의 32비트 필드는 AV 스트림 파일 상에서 프로그램 시퀀스가 개시되는 장소의 상대 어드레스이다.
RSPN_program_sequence_start는 소스 패킷 번호를 단위로 하는 크기로, AV 스트림 파일의 최초의 소스 패킷으로부터 ClipInfo()에서 정의되는 offset_SPN의 값을 초기 값으로 하여 카운트된다. 그 AV 스트림 파일 중에서의 절대 어드레스는
SPN_xxx=RSPN_xxx-offset_SPN
에 의해 산출된다. 신택스의 for-loop 중에서 RSPN_program_sequence_start 값은 승순으로 나타내어야 한다.
PCR_PID의 16비트 필드는 그 program_sequence에 유효한 PCR 필드를 포함하는 전송 패킷의 PID를 나타낸다. number_of_Videos의 8비트 필드는 video_stream_PID와 VideoCodingInfo()를 포함하는 for-loop의 루프 횟수를 나타낸다. number_of_audios의 8비트 필드는 audio_stream_PID와 AudioCodingInfo()를 포함하는 for-loop의 루프 횟수를 나타낸다. video_stream_PID의 16비트 필드는 그 program_sequence에 유효한 비디오 스트림을 포함하는 전송 패킷의 PID를 나타낸다. 이 필드에 계속되는 VideoCodingInfo()는 그 video_stream_PID로 참조되는 비디오 스트림의 내용을 설명해야 한다.
audio_stream_PID의 16비트 필드는 그 program_sequence에 유효한 오디오 스 트림을 포함하는 전송 패킷의 PID를 나타낸다. 이 필드에 계속되는 AudioCodingInfo()는 그 audio_stream_PID로 참조되는 비디오 스트림의 내용을 설명해야 한다.
또, 신택스의 for-loop 중에서 video_stream_ID의 값이 나타나는 순서는, 그 program_sequence에 유효한 PMT 중에서 비디오 스트림의 PID가 부호화되어 있는 순서와 동일해야 한다. 또한, 신택스의 for-loop 중에서 audio_stream_ID의 값이 나타나는 순서는 그 program_sequence에 유효한 PMT 중에서 오디오 스트림의 PID가 부호화되어 있는 순서와 동일해야 한다.
도 55는 도 54에 도시한 Programinfo의 신택스 내의 VideoCodingInfo의 신택스를 나타내는 도면이다. 도 55에 도시한 VideoCodingInfo의 신택스를 설명하면, video_format의 8비트 필드는, 도 56에 도시한 바와 같이, ProgramInfo() 중의 video_stream_PID에 대응하는 비디오 포맷을 나타낸다.
frame_rate의 8비트 필드는, 도 57에 도시한 바와 같이, ProgramInfo() 중의 video_stream_PID에 대응하는 비디오의 프레임 레이트를 나타낸다. display_aspect_ratio의 8비트 필드는, 도 58에 도시한 바와 같이, ProgramInfo() 중의 video_stream_PID에 대응하는 비디오의 표시 어스펙트비를 나타낸다.
도 59는 도 54에 도시한 Programinfo의 신택스 내의 AudioCodingInfo의 신택스를 나타내는 도면이다. 도 59에 도시한 AudioCodingInfo의 신택스를 설명하면, audio_coding의 8비트 필드는, 도 60에 도시한 바와 같이, ProgramInfo() 중의 audio_stream_PID에 대응하는 오디오의 부호화 방법을 나타낸다.
audio_component_type의 8비트 필드는, 도 61에 도시한 바와 같이, ProgramInfo() 중의 audio_stream_PID에 대응하는 오디오의 컴포넌트 타입을 나타낸다. sampling_frequency의 8비트 필드는, 도 62에 도시한 바와 같이, ProgramInfo() 중의 audio_stream_PID에 대응하는 오디오의 샘플링 주파수를 나타낸다.
다음으로, 도 45에 도시한 zzzzz.clip의 신택스 내의 CPI(Characteristic Point Information)에 대하여 설명한다. CPi는 AV 스트림 중의 시간 정보와 그 파일 중의 어드레스를 관련시키기 위해 있다. CPI에는 2개의 타입이 있으며, 이들은 EP_map과 TU_map이다. 도 63에 도시한 바와 같이, CPI() 중의 CPI_type이 EP_map type인 경우, 그 CPI()는 EP_map을 포함한다. 도 64에 도시한 바와 같이, CPI() 중의 CPI_type이 TU_map type인 경우, 그 CPI()는 TU_map을 포함한다. 하나의 AV 스트림은 하나의 EP_map 또는 하나의 TU_map을 갖는다. AV 스트림이 SESF 전송 스트림인 경우, 그것에 대응하는 Clip은 EP_map을 갖지 않으면 안된다.
도 65는 CPI의 신택스를 나타내는 도면이다. 도 65에 도시한 CPI의 신택스를 설명하면, version_number는 이 CPI()의 버전 번호를 나타내는 4개의 캐릭터 문자이다. version_number는 ISO646에 따라 "0045"로 부호화되어야 한다. length는 이 length 필드의 직후부터 CPI()의 최후까지의 CPI()의 바이트 수를 나타내는 32비트의 부호없는 정수이다. CPI_type은, 도 66에 도시한 바와 같이, 1비트의 플래그로, Clip의 CPI의 타입을 나타낸다.
다음으로, 도 65에 도시한 CPI의 신택스 내의 EP_map에 대하여 설명한다. EP_map에는 2개의 타입이 있으며, 그것은 비디오 스트림용의 EP_map과 오디오 스트림용의 EP_map이다. EP_map 중의 EP_map_type이 EP_map의 타입을 구별한다. Clip이 하나 이상의 비디오 스트림을 포함하는 경우, 비디오 스트림용의 EP_map이 사용되어야 한다. Clip이 비디오 스트림을 포함하지 않고, 하나 이상의 오디오 스트림을 포함하는 경우, 오디오 스트림용의 EP_map이 사용되어야 한다.
비디오 스트림용의 EP_map에 대하여 도 67을 참조하여 설명한다. 비디오 스트림용의 EP_map은 stream_PID, PTS_EP_start 및 RSPN_EP_start라는 데이터를 갖는다. stream_PID는 비디오 스트림을 전송하는 전송 패킷의 PID를 나타낸다. PTS_EP_start는 비디오 스트림의 시퀀스 헤더로부터 시작하는 액세스 유닛의 PTS를 나타낸다. RSPN_EP_start는 AV 스트림 중에서 PTS_EP_start에 의해 참조되는 액세스 유닛의 제1 바이트째를 포함하는 소스 패킷의 어드레스를 나타낸다.
EP_map_for_one_stream_PID()라고 하는 서브 테이블은 동일한 PID를 갖는 전송 패킷에 의해 전송되는 비디오 스트림마다 작성된다. Clip 중에 복수의 비디오 스트림이 존재하는 경우, EP_map은 복수의 EP_map_for_one_stream_PID()를 포함해도 된다.
오디오 스트림용의 EP_map은 stream_PID, PTS_EP_start 및 RSPN_EP_start라는 데이터를 갖는다. stream_PID는 오디오 스트림을 전송하는 전송 패킷의 PID를 나타낸다. PTS_EP_start는 오디오 스트림의 액세스 유닛의 PTS를 나타낸다. RSPN_EP_start는 AV 스트림 중에서 PTS_EP_start로 참조되는 액세스 유닛의 제1 바이트째를 포함하는 소스 패킷의 어드레스를 나타낸다.
EP_map_for_one_stream_PID()라는 서브 테이블은 동일한 PID를 갖는 전송 패킷에 의해 전송되는 오디오 스트림마다 작성된다. Clip 중에 복수의 오디오 스트림이 존재하는 경우, EP_map은 복수의 EP_map_for_one_stream_PID()를 포함해도 된다.
EP_map와 STC_Info의 관계를 설명하면, 하나의 EP_map_for_one_stream_PID()는 STC의 불연속점에 상관없이 하나의 테이블에 작성된다. RSPN_EP_start의 값과 STC_Info()에 있어서 정의되는 RSPN_STC_start의 값을 비교함으로써, 각각의 STC_sequence에 속하는 EP_map의 데이터의 경계를 알 수 있다(도 68을 참조). EP_map은 동일한 PID로 전송되는 연속된 스트림의 범위에 대하여, 하나의 EP_map_for_one_stream_PID를 갖지 않으면 안된다. 도 69에 도시한 바와 같은 경우, Program#1과 program#3은 동일한 비디오 PID를 갖지만, 데이터 범위가 연속되지 않기 때문에, 각각의 프로그램마다 EP_map_for_one_stream_PID를 갖지 않으면 안된다.
도 70은 EP_map의 신택스를 나타내는 도면이다. 도 70에 도시한 EP_map의 신택스를 설명하면, EP_type은 4비트의 필드로, 도 71에 도시한 바와 같이, EP_map의 엔트리 포인트 타입을 나타낸다. EP_type은 이 필드에 계속되는 데이터 필드의 시맨틱스를 나타낸다. Clip이 하나 이상의 비디오 스트림을 포함하는 경우, EP_type은 0('video')으로 세트되어야 한다. 또는, Clip이 비디오 스트림을 포함하지 않고, 하나 이상의 오디오 스트림을 포함하는 경우, EP_type은 1('audio')로 세트되어야 한다.
number_of_stream_PIDs의 16비트의 필드는 EP_map() 중의 number_of_stream_PIDs를 변수로 갖는 for-loop의 루프 횟수를 나타낸다. stream_PID(k)의 16비트의 필드는 EP_map_for_one_stream_PID(num_EP_entries(k))에 의해 참조되는 k번째의 엘리먼트리 스트림(비디오 또는 오디오 스트림)을 전송하는 전송 패킷의 PID를 나타낸다. EP_type이 0('video')인 경우, 그 엘리먼트리 스트림은 비디오 스트림이어야 한다. 또한, EP_type이 1('audio')인 경우, 그 엘리먼트리 스트림은 오디오 스트림이어야 한다.
num_EP_entries(k)의 16비트의 필드는 EP_map_for_one_stream_PID(num_EP_entries(k))에 의해 참조되는 num_EP_entries(k)를 나타낸다. EP_map_for_one_stream_PID_Start_address(k)의 32비트의 필드는 EP_map() 중에서 EP_map_for_one_stream_PID(num_EP_entries(k))가 시작되는 상대 바이트 위치를 나타낸다. 이 값은 EP_map()의 제1 바이트째로부터의 크기로 나타낸다.
padding_word는 EP_map()의 신택스에 따라 삽입되어야 한다. X와 Y는 0 또는 임의의 양의 정수이어야 한다. 각각의 패딩 워드는 임의의 값을 취해도 된다.
도 72는 EP_map_for_one_stream_PID의 신택스를 나타내는 도면이다. 도 72에 도시한 EP_map_for_one_stream_PID의 신택스를 설명하면, PTS_EP_start의 32비트의 필드의 시맨틱스는 EP_map()에서 정의되는 EP_type에 따라 다르다. EP_type이 0('video')인 경우, 이 필드는 비디오 스트림의 시퀀스 헤더에서 시작되는 액세스 유닛의 33비트 정밀도의 PTS의 상위 32비트를 갖는다. EP_type이 1('audio')인 경우, 이 필드는 오디오 스트림의 액세스 유닛의 33비트 정밀도의 PTS의 상위 32비트를 갖는다.
RSPN_EP_start의 32비트의 필드의 시맨틱스는 EP_map()에서 정의되는 EP_type에 따라 다르다. EP_type이 0('video')인 경우, 이 필드는 AV 스트림 중에서 PTS_EP_start에 의해 참조되는 액세스 유닛의 시퀀스 헤더의 제1 바이트째를 포함하는 소스 패킷의 상대 어드레스를 나타낸다. 또는, EP_type이 1('audio')인 경우, 이 필드는 AV 스트림 중에서 PTS_EP_start에 의해 참조되는 액세스 유닛의 오디오 프레임의 제1 바이트째를 포함하는 소스 패킷의 상대 어드레스를 나타낸다.
RSPN_EP_start는 소스 패킷 번호를 단위로 하는 크기로, AV 스트림 파일의 최초의 소스 패킷으로부터 ClipInfo()에서 정의되는 offset_SPN의 값을 초기 값으로 하여 카운트된다. 그 AV 스트림 파일 중에서의 절대 어드레스는
SPN_xxx=RSPN_xxx-offset_SPN
에 의해 산출된다. 신택스의 for-loop 중에서 RSPN_EP_start의 값은 승순으로 나타내야 한다.
다음으로, TU_map에 대하여, 도 73을 참조하여 설명한다. TU_map은 소스 패킷의 도착 타임 클럭(도착 시각 베이스의 시계)에 기초하여, 하나의 시간축을 작성한다. 그 시간축은 TU_map_time_axis라 한다. TU_map_time_axis의 원점은 TU_map() 중의 offset_time에 의해 나타낸다. TU_map_time_axis는 offset_time로부터 일정한 단위로 분할된다. 그 단위를, time_unit이라 한다.
AV 스트림 중의 각각의 time_unit 중에서 최초의 완전한 형태의 소스 패킷의 AV 스트림 파일 상의 어드레스가 TU_map에 저장된다. 이들 어드레스를 RSPN_time_unit_start라 한다. TU_map_time_axis 상에서, k(k>=0)번째의 time_unit가 시작되는 시각은 TU_start_time(k)라 한다. 이 값은 다음 식에 기초하여 산출된다.
TU_start_time(k)=offset_time+k*time_unit_size
TU_start_time(k)는 45㎒의 정밀도를 갖는다.
도 74는 TU_map의 신택스를 나타내는 도면이다. 도 74에 도시한 TU_map의 신택스를 설명하면, offset_time의 32비트 길이의 필드는 TU_map_time_axis에 대한 오프셋 타임을 제공한다. 이 값은 Clip 중의 최초의 time_unit에 대한 오프셋 시각을 나타낸다. offset_time은 27㎒ 정밀도의 도착 타임 클럭으로부터 도출되는 45㎑ 클럭을 단위로 하는 크기이다. AV 스트림이 새로운 Clip으로서 기록되는 경우, offset_time은 0으로 세트되어야 한다.
time_unit_size의 32비트 필드는 time_unit의 크기를 제공하는 것으로, 그것은 27㎒ 정밀도의 도착 타임 클럭으로부터 도출되는 45㎒ 클럭을 단위로 하는 크기이다. time_unit_size는 1초 이하(time_unit_size<=45000)로 하는 것이 좋다. number_of_time_unit_entries의 32비트 필드는 TU_map() 중에 저장되어 있는 time_unit의 엔트리 수를 나타낸다.
RSPN_time_unit_start의 32비트 필드는 AV 스트림 중에서 각각의 time_unit가 개시되는 장소의 상대 어드레스를 나타낸다. RSPN_time_unit_start는 소스 패킷 번호를 단위로 하는 크기로, AV stream 파일의 최초의 소스 패킷으로부터 ClipInfo()에 있어서 정의되는 offset_SPN의 값을 초기 값으로 하여 카운트된다. 그 AV stream 파일 중에서의 절대 어드레스는
SPN_xxx=RSPN_xxx-offset_SPN
에 의해 산출된다. 신택스의 for-loop 중에서 RSPN_time_unit_start의 값은 승순으로 나타내야 한다. (k+1)번째의 time_unit 중에 소스 패킷이 아무것도 없는 경우, (k+1)번째의 RSPN_time_unit_start는 k번째의 RSPN_time_unit_start와 같아야 한다.
도 45에 도시한 zzzzz.clip의 신택스 내의 ClipMark에 대하여 설명한다. ClipMark는 클립에 대한 마크 정보로, ClipMark 중에 저장된다. 이 마크는 기록기(기록 재생 장치(1))에 의해 세트되는 것으로, 사용자에 의해 세트되는 것이 아니다.
도 75는 ClipMark의 신택스를 나타내는 도면이다. 도 75에 도시한 ClipMark의 신택스를 설명하면, version_number는 이 ClipMark()의 버전 번호를 나타내는 4개의 캐릭터 문자이다. version_number는 ISO646에 따라 "0045"로 부호화되어야 한다.
length는 이 length 필드의 직후부터 ClipMark()의 최후까지의 ClipMark()의 바이트 수를 나타내는 32비트의 부호없는 정수이다. number_of_Clip_marks는 0이라도 무방하다. mark_type은 마크의 타입을 나타내는 8비트의 필드로, 도 76에 도시한 테이블에 따라 부호화된다.
mark_time_stamp는 32비트 필드로, 마크가 지정된 포인트를 나타내는 타임 스탬프를 저장한다. mark_time_stamp의 시맨틱스는, 도 77에 도시한 바와 같이, PlayList() 중의 CPI_type에 따라 다르다.
STC_sequence_id는 CPI() 중의 CPI_type이 EP_map type를 나타내는 경우, 이 8비트의 필드는 마크가 놓여져 있는 부분의 STC 연속 구간의 STC_sequence_id를 나타낸다. CPI() 중의 CPI_type이 TU_map type를 나타내는 경우, 이 8비트의 필드는 어떠한 의미도 갖지 않고, 0으로 세트된다. character_set의 8비트의 필드는 mark_name 필드에 부호화되어 있는 캐릭터 문자의 부호화 방법을 나타낸다. 그 부호화 방법은 도 19에 나타내는 값에 대응한다.
name_length의 8비트 필드는 Mark_name 필드 중에 나타내는 마크명의 바이트 길이를 나타낸다. mark_name의 필드는 마크의 명칭을 나타낸다. 이 필드 중의 좌측으로부터 name_length수의 바이트 수가 유효한 캐릭터 문자로, 그것은 마크의 명칭을 나타낸다. mark_name 필드 중에서, 이들 유효한 캐릭터 문자 뒤의 값은 어떤 값이 들어가도 무방하다.
ref_thumbnail_index의 필드는 마크에 부가되는 썸네일 화상의 정보를 나타낸다. ref_thumbnail_index 필드가 0xFFFF가 아닌 값인 경우, 그 마크에는 썸네일 화상이 부가되어 있고, 그 썸네일 화상은 mark.thmb 파일 중에 저장되어 있다. 그 화상은 mark.thmb 파일 중에서 ref_thumbnail_index의 값을 이용하여 참조된다. ref_thumbnail_index 필드가 0xFFFF인 경우, 그 마크에는 썸네일 화상이 부가되어 있지 않다.
MakersPrivateData에 대해서는, 도 22를 참조하여 이미 설명하였기 때문에, 그 설명은 생략한다.
다음으로, 썸네일 인포메이션(Thumbnail Information)에 대하여 설명한다. 썸네일 화상은 menu.thmb 파일 또는 mark.thmb 파일로 저장된다. 이들 파일은 동일한 신택스 구조로, 단 하나의 Thumbnail()을 갖는다. menu.thmb 파일은 메뉴 썸네일 화상 즉 Volume을 대표하는 화상 및 각각의 PlayList를 대표하는 화상을 저장한다. 모든 메뉴 썸네일은 단 하나의 menu.thmb 파일로 저장된다.
mark.thmb 파일은 마크 썸네일 화상, 즉 마크점을 나타내는 픽쳐를 저장한다. 모든 PlayList 및 Clip에 대한 모든 마크 썸네일은 단지 하나의 mark.thmb 파일로 저장된다. 썸네일은 빈번히 추가, 삭제되기 때문에, 추가 조작과 부분 삭제 조작은 용이하게 고속으로 실행할 수 있어야 한다. 이 이유 때문에, Thumbnail()은 블록 구조를 갖는다. 화상의 데이터는 몇 개의 부분으로 분할되고, 각 부분은 하나의 tn_block으로 저장된다. 하나의 화상 데이터는 연속된 tn_block으로 저장된다. tn_block의 열에는 사용되고 있지 않은 tn_block가 존재해도 된다. 하나의 썸네일 화상의 바이트 길이는 가변이다.
도 78은 menu.thmb와 mark.thmb의 신택스를 나타내는 도면이고, 도 79는 도 78에 도시한 menu.thmb와 mark.thmb의 신택스 내의 Thumbnail의 신택스를 나타내는 도면이다. 도 79에 도시한 Thumbnail의 신택스에 대하여 설명하면, version_ number는 이 Thumbnail()의 버전 번호를 나타내는 4개의 캐릭터 문자이다. version_number는 ISO646에 따라 "0045"로 부호화되어야 한다.
length는 이 length 필드의 직후부터 Thumbnail()의 최후까지의 MakersP rivateData()의 바이트 수를 나타내는 32비트의 부호없는 정수이다. tn_blocks_start_address는 Thumbnail()의 선두의 바이트로부터의 상대 바이트 수를 단위로 하여, 최초의 tn_block의 선두 바이트 어드레스를 나타내는 32비트의 부호없는 정수이다. 상대 바이트 수는 0부터 카운트된다. number_of_thumbnails는 Thumbnail() 중에 포함되어 있는 썸네일 화상의 엔트리 수를 제공하는 16비트의 부호없는 정수이다.
tn_block_size는 1024바이트를 단위로 하여, 하나의 tn_block의 크기를 제공하는 16비트의 부호없는 정수이다. 예를 들면, tn_block_size=1이면, 그것은 하나의 tn_block의 크기가 1024바이트인 것을 나타낸다. number_of_tn_blocks는 이 Thumbnail() 중의 tn_block의 엔트리 수를 나타내는 116비트의 부호없는 정수이다. thumbnail_index는 이 thumbnail_index 필드로부터 시작되는 for_loop 1회분의 썸네일 정보로 나타내는 썸네일 화상의 인덱스 번호를 나타내는 16비트의 부호없는 정수이다. thumbnail_index로서, 0xFFFF라는 값을 사용해서는 안된다. thumbnail_index는 UIAppInfoVolume(), UIAppInfoPlayList(), PlayListMark() 및 ClipMark() 중의 ref-thumbnail_index에 의해 참조된다.
thumbnail_picture_format는 썸네일 화상의 픽쳐 포맷을 나타내는 8비트의 부호없는 정수로, 도 80에 도시한 바와 같은 값을 취한다. 표 중의 DCF와 PNG는 "menu.thmb" 내에서만 허용된다. 마크 썸네일은 값 "0x00"(MPEG-2 Video I-picture)을 취해야만 한다.
picture_data_size는 썸네일 화상의 바이트 길이를 바이트 단위로 나타내는 32비트의 부호없는 정수이다. start_tn_block_number은 썸네일 화상의 데이터가 시작되는 tn_block의 tn_block 번호를 나타내는 16비트의 부호없는 정수이다. 썸네일 화상 데이터의 선두는 tn_block의 선두와 일치해야 한다. tn_block 번호는 0부터 시작하여, tn_block의 for-loop 중의 변수 k의 값에 관계된다.
x_picture_length는 썸네일 화상의 프레임 화면의 수평 방향의 픽셀 수를 나타내는 16비트의 부호없는 정수이다. y_picture_length는 썸네일 화상의 프레임 화면의 수직 방향의 픽셀 수를 나타내는 16비트의 부호없는 정수이다. tn_block는 썸네일 화상이 저장되는 영역이다. Thumbnail() 중의 모든 tn_block는 동일한 사이즈(고정 길이)로, 그 크기는 tn_block_size에 의해 정의된다.
도 81A 및 도 81B는 썸네일 화상 데이터가 어떻게 tn_block에 저장되는지를 모식적으로 나타낸 도면이다. 도 81A 및 도 81B와 같이, 각 썸네일 화상 데이터는 tn_block의 선두로부터 시작하여, tn_block를 넘는 크기인 경우에는 연속하는 다음의 tn_block를 사용하여 저장된다. 이와 같이 함으로써, 가변 길이인 픽쳐 데이터가 고정 길이의 데이터로서 관리하는 것이 가능해지고, 삭제 편집에 대하여 간편한 처리로 대응할 수 있게 된다.
다음으로, AV 스트림 파일에 대하여 설명한다. AV 스트림 파일은 "M2TS" 디렉토리(도 14)에 저장된다. AV 스트림 파일에는 2개의 타입이 있으며, 그들은 Clip AV 스트림과 Bridge-Clip AV 스트림 파일이다. 이들 AV 스트림은 모두 이 이후에 정의되는 DVR MPEG-2 전송 스트림 파일의 구조이어야 한다.
우선, DVR MPEG-2 전송 스트림에 대하여 설명한다. DVR MPEG-2 전송 스트림 의 구조는, 도 90에 도시한 바와 같이 되어 있다. AV 스트림 파일은 DVR MPEG-2 전송 스트림의 구조를 갖는다. DVR MPEG-2 전송 스트림은 정수개의 Aligned unit로 구성된다. Aligned unit의 크기는 6144바이트(2048*3바이트)이다. Aligned unit는 소스 패킷의 제1 바이트째로부터 시작된다. 소스 패킷은 192바이트 길이이다. 하나의 소스 패킷은 TP_extra_header와 전송 패킷으로 이루어진다. TP_extra_header는 4바이트 길이이고, 또한 전송 패킷은 188바이트 길이이다.
하나의 Aligned unit는 32개의 소스 패킷으로 이루어진다. DVR MPEG-2 전송 스트림 중의 최후의 Aligned unit도 또한 32개의 소스 패킷으로 이루어진다. 따라서, DVR MPEG-2 전송 스트림은 Aligned unit의 경계에서 종단한다. 디스크에 기록되는 입력 전송 스트림의 전송 패킷의 수가 32의 배수가 아닐 때, 널 패킷(PID=0x1FFF의 전송 패킷)을 갖는 소스 패킷을 최후의 Aligned unit에 사용해야 한다. 파일 시스템은 DVR MPEG-2 전송 스트림에 여분의 정보를 부가해서는 안된다.
도 83은 DVR MPEG-2 전송 스트림의 레코더 모델을 나타낸다. 도 83에 도시한 레코더는 레코딩 프로세스를 규정하기 위한 개념상의 모델이다. DVR MPEG-2 전송 스트림은 이 모델에 따른다.
MPEG-2 전송 스트림의 입력 타이밍에 대해 설명한다. 입력 MPEG-2 전송 스트림은 전체 전송 스트림 또는 부분 전송 스트림이다. 입력되는 MPEG-2 전송 스트림은 ISO/IEC13818-1 또는 ISO/IEC13818-9에 따라야 한다. MPEG-2 전송 스트림의 i번째의 바이트는 T-STD(ISO/IEC 13818-1로 규정되는 Transport stream system target decoder)(51)와 소스 패킷타이저(sourse packetizer)(54)로 시각 t(i)에서 동시에 입력된다. Rpk는 전송 패킷의 입력 레이트의 순간적인 최대치이다.
27㎒ PLL(52)은 27㎒ 클럭의 주파수를 발생한다. 27㎒ 클럭의 주파수는 MPEG-2 전송 스트림의 PCR(Program Clock Reference)의 값에 동기된다. 도착 타임 클럭 카운터(53)는 27㎒의 주파수의 펄스를 카운트하는 2진 카운터이다. Arrival_time_clock(i)는 시각 t(i)에서의 도착 타임 클럭 카운터의 카운트 값이다.
소스 패킷타이저(54)는 모든 전송 패킷에 TP_extra_header를 부가하여, 소스 패킷을 작성한다. Arrival_time_stamp는 전송 패킷의 제1 바이트째가 T-STD와 소스 패킷타이저의 양방에 도착하는 시각을 나타낸다. Arrival_time_stamp(k)는 다음 식으로 나타낸 바와 같이 Arrival_time_clock(k)의 샘플치이고, 여기서, k는 전송 패킷의 제1 바이트째를 나타낸다.
arrival_time_stamp(k)=arrival_time_clock(k)%230
2개의 연속하여 입력되는 전송 패킷의 시간 간격이 230/27000000초(약40초) 이상으로 되는 경우, 그 2개의 전송 패킷의 arrival_time_stamp의 차분은 230/27000000초가 되도록 세트되어야 한다. 레코더는 그와 같이 되는 경우에 구비되어 있다.
스무징 버퍼(55)는 입력 전송 스트림의 비트 레이트를 스무징한다. 스무징 버퍼는 오버플로우해서는 안된다. Rmax는 스무징 버퍼가 비어 있지 않을 때의 스무징 버퍼로부터의 소스 패킷의 출력 비트 레이트이다. 스무징 버퍼가 비어 있을 때, 스무징 버퍼로부터의 출력 비트 레이트는 0이다.
다음으로, DVR MPEG-2 전송 스트림의 레코더 모델의 파라미터에 대하여 설명한다. Rmax라는 값은 AV 스트림 파일에 대응하는 ClipInfo()에서 정의되는 TS_recording_rate에 의해 부여된다. 이 값은, 다음 식에 의해 산출된다.
Rmax=TS_recording_rate*192/188
TS_recording_rate의 값은 바이트/초를 단위로 하는 크기이다.
입력 전송 스트림이 SESF 전송 스트림인 경우, Rpk는 AV 스트림 파일에 대응하는 ClipInfo()에서 정의되는 TS_recording_rate와 같아야 한다. 입력 전송 스트림이 SESF 전송 스트림이 아닌 경우, 이 값은 MPEG-2 전송 스트림의 기술자, 예를 들면 maximum_bitrate_descriptor나 partial_transport_stream_descriptor 등에서 정의되는 값을 참조하여도 된다.
스무징 버퍼의 크기는, 입력 전송 스트림이 SESF 전송 스트림인 경우, 스무징 버퍼의 크기는 0이다. 입력 전송 스트림이 SESF 전송 스트림이 아닌 경우, 스무징 버퍼의 크기는 MPEG-2 전송 스트림의 기술자, 예를 들면 smoothing_buffer_descriptor, short_smoothing_buffer_descriptor, partial_transport_stream_descriptor 등에서 정의되는 값을 참조하여도 된다.
기록기(레코더) 및 재생기(플레이어)는 충분한 사이즈의 버퍼를 준비해야 한다. 디폴트 버퍼의 기본 사이즈는 1536바이트이다.
다음으로, DVR MPEG-2 전송 스트림의 플레이어 모델에 대하여 설명한다. 도 84는 DVR MPEG-2 전송 스트림의 플레이어 모델을 나타내는 도면이다. 이것은 재생 프로세스를 규정하기 위한 개념 상의 모델이다. DVR MPEG-2 전송 스트림은 이 모델에 따른다.
27㎒ X-tal61은 27㎒의 주파수를 발생한다. 27㎒ 주파수의 오차 범위는, +/-30ppm(27000000+/-810㎐)이 아니면 안된다. 도착 타임 클럭 카운터(62)는 27㎒의 주파수의 펄스를 카운트하는 2진 카운터이다. Arrival_time_clock(i)은 시각 t(i)에서의 도착 타임 클럭 카운터의 카운트 값이다.
스무징 버퍼(64)에서, Rmax는 스무징 버퍼가 충만 상태가 아닐 때의 스무징 버퍼에의 소스 패킷의 입력 비트 레이트이다. 스무징 버퍼가 충만 상태일 때 스무징 버퍼로의 입력 비트 레이트는 0이다.
MPEG-2 전송 스트림의 출력 타이밍을 설명하면, 현재의 소스 패킷의 arrival_time_stamp가 arrival_time_clock(i)의 LSB 30비트의 값과 같을 때, 그 소스 패킷의 전송 패킷은 스무징 버퍼로부터 방출된다. Rpk는 전송 패킷 레이트의 순간적인 최대치이다. 스무징 버퍼는 언더플로우해서는 안된다.
DVR MPEG-2 전송 스트림의 플레이어 모델의 파라미터에 대해서는, 상술한 DVR MPEG-2 전송 스트림의 레코더 모델의 파라미터와 동일하다.
도 85는 소스 패킷(source packet)의 신택스를 나타내는 도면이다. tranㅇsport_packet()은 ISO/IEC 13818-1로 규정되는 MPEG-2 전송 패킷이다. 도 85에 도시한 소스 패킷의 신택스 내의 TP_Extra_header의 신택스를 도 86에 도시한다. 도 86에 도시한 TP_Extra_header의 신택스에 대하여 설명하면, copy_permission_indicator는 전송 패킷의 페이로드의 복사 제한을 나타내는 정수이다. 복사 제한은 복사 가능(copy free), 더 이상의 복사 제한(no more copy), 일회 복사 제한(copy once), 또는 복사 금지(copy prohibited)로 할 수 있다. 도 87은 copy_permission_indicator의 값과, 이들에 의해 지정되는 모드의 관계를 나타낸다.
copy_permission_indicator는 모든 전송 패킷에 부가된다. IEEE1394 디지털 인터페이스를 사용하여 입력 전송 스트림을 기록하는 경우, copy_permission_indicator의 값은 IEEE1394 아이소크로너스 패킷 헤더(isochronous packet header) 중의 EMI(Encryption Mode Indicator)의 값에 관련시켜도 된다. IEEE1394 디지털 인터페이스를 사용하지 않고 입력 전송 스트림을 기록하는 경우, copy_permission_indicator의 값은 전송 패킷 중에 매립된 CCI의 값에 관련시켜도 된다. 아날로그 신호 입력을 셀프 인코드하는 경우, copy_permission_indicator의 값은 아날로그 신호의 CGMS_A의 값에 관련시켜도 무방하다.
arrival_time_stamp는, 다음 식
arrival_time_stamp(k)=arrival_time_clock(k)% 230
에서, arrival_time_stamp에 의해 지정되는 값을 갖는 정수값이다.
Clip AV 스트림의 정의를 하는데 있어서, Clip AV 스트림은 상술한 바와 같은 정의가 되는 DVR MPEG-2 전송 스트림의 구조를 갖지 않으면 안된다. arrival_time_clock(i)은, Clip AV 스트림의 중에서 연속하여 증가해야만 된다. Clip AV 스트림 중에 시스템 타임 베이스(STC 베이스)의 불연속점이 존재하였다고 해도, 그 Clip AV 스트림의 arrival_time_ clock(i)은 연속하여 증가해야만 된다.
Clip AV 스트림의 중의 개시와 종료 사이의 arrival_time_clock(i)의 차분의 최대치는 26시간이 아니면 안된다. 이 제한은, MPEG2 전송 스트림 중에 시스템 타임 베이스(STC 베이스)의 불연속점이 존재하지 않는 경우에, Clip AV 스트림 중에서 동일한 값의 PTS(Presentation Time Stamp)가 절대로 나타나지 않는다는 사실을 보증한다. MPEG2 시스템 규격은, PTS의 랩어라운드(wraparound) 주기를 233/90000초(약 26.5 시간)로 규정하고 있다.
Bridge-Clip AV 스트림의 정의를 하기 위해, Bridge-Clip AV 스트림은, 상술한 바와 같은 정의가 되는 DVR MPEG-2 전송 스트림의 구조를 갖지 않으면 안된다. Bridge-Clip AV 스트림은, 하나의 도착 타임 베이스의 불연속점을 포함해야 한다. 도착 타임 베이스의 불연속점의 전후의 전송 스트림은 후술하는 부호화의 제한에 따라야 하고, 또한 후술하는 DVR-STD 에 따라야 한다.
본 실시예에서는, 편집에서의 PlayItem 사이의 비디오와 오디오의 심리스 접속을 지원한다. PlayItem 사이를 심리스 접속으로 하는 것은, 플레이어/레코더에 "데이터의 연속 공급"과 "심리스 복호 처리"를 보증한다. "데이터의 연속 공급"이란, 파일 시스템이 디코더에 버퍼의 언더플로우를 초래하지 않도록 필요한 비트 레이트로 데이터를 공급하는 것을 보증할 수 있는 것이다. 데이터의 실시간성을 보증하여, 데이터를 디스크로부터 판독할 수 있도록 데이터가 충분한 크기의 연속된 블록 단위로 저장되도록 한다.
"심리스 복호 처리"란, 플레이어가 디코더의 재생 출력에 일시 중지(pause) 나 끊김(gap)을 유발시키지 않고, 디스크에 기록된 오디오 비디오 데이터를 표시할 수 있는 것이다.
심리스 접속되어 있는 PlayItem이 참조하는 AV 스트림에 대하여 설명한다. 선행하는 PlayItem과 현재의 PlayItem의 접속이, 심리스 표시할 수 있도록 보증되어 있는지의 여부는 현재의 PlayItem에서 정의되어 있는 connection_condition 필드로부터 판단할 수 있다. PlayItem 사이의 심리스 접속은 Bridge-Clip을 사용하는 방법과 사용하지 않는 방법이 있다.
도 88은 Bridge-Clip을 사용하는 경우의 선행하는 PlayItem과 현재의 PlayItem의 관계를 나타내고 있다. 도 88에서는, 플레이어가 판독하는 스트림 데이터를, 그림자를 넣어 나타내고 있다. 도 88에 도시한 TS1은 Clip1(Clip AV 스트림)의 그림자를 넣은 스트림 데이터와 Bridge-Clip의 RSPN_arrival_time_discontinuity 보다 이전의 그림자를 넣은 스트림 데이터로 이루어진다.
TS1의 Clip1의 그림자를 넣은 스트림 데이터는, 선행하는 PlayItem의 IN_time(도 88에서 IN_time1로 도시되어 있음)에 대응하는 프레젠테이션 유닛을 복호하기 위해 필요한 스트림의 어드레스로부터, RSPN_exit_from_previous_Clip으로 참조되는 소스 패킷까지의 스트림 데이터이다. TS1에 포함되는 Bridge-Clip의 RSPN_arrival_time_discontinuity 보다 이전의 그림자를 넣은 스트림 데이터는, Bridge-Clip의 최초의 소스 패킷으로부터 RSPN_arrival_time_discontinuity로 참조되는 소스 패킷의 직전의 소스 패킷까지의 스트림 데이터이다.
또한, 도 88에서의 TS2는, Clip2(Clip AV 스트림)의 그림자를 넣은 스트림 데이터와 Bridge-Clip의 RSPN_arrival_time_discontinuity 이후의 그림자를 넣은 스트림 데이터로 이루어진다. TS2에 포함되는 Bridge-Clip의 RSPN_arrival_time_discontinuity 이후의 그림자를 넣은 스트림 데이터는, RSPN_arrival_time_discontinuity로 참조되는 소스 패킷으로부터, Bridge-Clip의 최후의 소스 패킷까지의 스트림 데이터이다. TS2의 Clip2의 그림자를 넣은 스트림 데이터는, RSPN_enter_to_current_Clip으로 참조되는 소스 패킷으로부터, 현재의 PlayItem의 OUT_time(도 88에서 OUT_time2로 도시되어 있음)에 대응하는 프레젠테이션 유닛을 복호하기 위해 필요한 스트림의 어드레스까지의 스트림 데이터이다.
도 89는 Bridge-Clip을 사용하지 않은 경우의 선행하는 PlayItem과 현재의 PlayItem의 관계를 나타내고 있다. 이 경우, 플레이어가 판독하는 스트림 데이터는, 그림자를 넣어 나타내고 있다. 도 89에서의 TS1은, Clip1(Clip AV 스트림)의 그림자를 붙인 스트림 데이터로 이루어진다. TS1의 Clip1의 그림자를 넣은 스트림 데이터는 선행하는 PlayItem의 IN_time(도 89에서 IN_time1로 도시되어 있음)에 대응하는 프레젠테이션 유닛을 복호하기 위해 필요한 스트림의 어드레스로부터 시작되어 Clip1의 최후의 소스 패킷까지의 데이터이다. 또한, 도 89에서의 TS2는, Clip2(Clip AV 스트림)의 그림자를 붙인 스트림 데이터로 이루어진다.
TS2의 Clip2의 그림자를 넣은 스트림 데이터는, Clip2의 최초의 소스 패킷으로부터 시작하여, 현재의 PlayItem의 OUT_time(도 89에서 OUT_ime2로 도시되어 있음)에 대응하는 프레젠테이션 유닛을 복호하기 위해 필요한 스트림의 어드레스까지 의 스트림 데이터이다.
도 88과 도 89에서, TS1과 T2는 소스 패킷의 연속한 스트림이다. 다음으로, TS1과 TS2의 스트림 규정과, 이들 사이의 접속 조건에 대하여 고려한다. 우선, 심리스 접속을 위한 부호화 제한에 대하여 고려한다. 전송 스트림의 부호화 구조의 제한으로서, 우선, TS1과 TS2 중에 포함되는 프로그램의 수는 1이어야 한다. TS1과 TS2 중에 포함되는 비디오 스트림의 수는 1이어야 한다. TS1과 TS2 중에 포함되는 오디오 스트림의 수는 2 이하이어야 한다. TS1과 TS2 중에 포함되는 오디오 스트림의 수는 같아야 한다. TS1 및/또는 TS2 중에, 상기 이외의 엘리먼트리 스트림 또는 프라이비트 스트림이 포함되어 있어도 무방하다.
비디오 비트 스트림의 제한에 대하여 설명한다. 도 90은 픽쳐의 표시 순서에서 나타내는 심리스 접속의 예를 나타내는 도면이다. 접속점에서 비디오 스트림을 심리스하게 표시할 수 있기 위해서는, OUT_time1(Clip1의 OUT_time) 뒤와 IN_time2(Clip2의 IN_time)의 앞에 표시되는 불필요한 픽쳐는 접속점 부근의 Clip의 부분적인 스트림을 재차 인코드하는 프로세스에 의해 제거되어야 한다.
도 90에 도시한 바와 같은 경우에서, BridgeSequence를 사용하여 심리스 접속을 실현하는 예를, 도 99에 도시한다. RSPN_arriva1_time_discontinuity 보다 앞의 Bridge-Clip의 비디오 스트림은, 도 90의 Clip1의 OUT_time1에 대응하는 픽쳐까지의 부호화 비디오 스트림으로 이루어진다. 그리고, 그 비디오 스트림은 선행하는 Clip1의 비디오 스트림에 접속되고, 하나의 연속으로 MPEG2 규격에 따른 엘리먼트리 스트림이 되도록 재차 인코드되어 있다.
마찬가지로 하여, RSPN_arrival_time_discontinuity 이후의 Bridge-Clip의 비디오 스트림은, 도 90의 Clip2의 IN_time2에 대응하는 픽쳐 이후의 부호화 비디오 스트림으로 이루어진다. 그리고, 그 비디오 스트림은 정확하게 디코드 개시할 수 있어, 이것에 후속되는 Clip2의 비디오 스트림에 접속되고, 하나의 연속으로 MPEG2 규격에 따른 엘리먼트리 스트림이 되도록 재차 인코드되어 있다. Bridge-Clip를 만들기 위해서는, 일반적으로 여러장의 픽쳐는 재차 인코드해야 하고, 그 이외의 픽쳐는 오리지널의 Clip으로부터 복사할 수 있다.
도 90에 도시한 예의 경우에 BridgeSequence를 사용하지 않고 심리스 접속을 실현하는 예를 도 92에 도시한다. Clip1의 비디오 스트림은, 도 90의 OUT_time1에 대응하는 픽쳐까지의 부호화 비디오 스트림으로 이루어지고, 그것은 하나의 연속으로 MPEG2 규격에 따른 엘리먼트리 스트림이 되도록 재차 인코드되어 있다. 마찬가지로 하여, Clip2의 비디오 스트림은 도 90의 Clip2의 IN-time2에 대응하는 픽쳐 이후의 부호화 비디오 스트림으로 이루어지고, 그것은 하나의 연속으로 MPEG2 규격에 따른 엘리먼트리 스트림이 되도록 재차 인코드되어 있다.
비디오 스트림의 부호화 제한에 대하여 설명하면, 우선, TS1과 TS2의 비디오 스트림의 프레임 레이트는 같아야 한다. TS1의 비디오 스트림은 sequence_end_code로 종단해야 한다. TS2의 비디오 스트림은, Sequence Header, G0P Header, 그리고 I-픽쳐로 개시해야 한다. TS2의 비디오 스트림은, 클로즈드 G0P로 개시해야 한다.
비트 스트림 중에서 정의되는 비디오 프레젠테이션 유닛(프레임 또는 필드) 은 접속점을 두어 연속이어야 한다. 접속점에서, 프레임 또는 필드의 갭이 있어서는 안된다. 접속점에서, 상한의 필드 시퀀스는 연속이여야만 한다. 3-2 풀다운을 사용하는 인코드의 경우에는, "top_field_first" 및 "repeat_first_field" 플래그를 재기입할 필요가 있을지도 모르며, 또는 필드 갭의 발생을 방지하기 위해 국소적으로 재차 인코드하도록 하여도 좋다.
오디오 비트 스트림의 부호화 제한에 대하여 설명하면, TS1과 TS2의 오디오의 샘플링 주파수는 동일해야만 한다. TS1과 TS2의 오디오의 부호화 방법(예: MPEG1 레이어2, AC-3, SESF LPCM, AAC)은 동일해야만 한다.
다음으로, MPEG-2 전송 스트림의 부호화 제한에 대하여 설명하면, TS1의 오디오 스트림의 최후의 오디오 프레임은, TS1의 최후의 표시 픽쳐의 표시 종료 시각과 같은 표시 시각을 갖는 오디오 샘플을 포함하고 있어야 한다. TS2의 오디오 스트림의 최초의 오디오 프레임은 TS2의 최초의 표시 픽쳐의 표시 개시 시각과 동일한 표시 시각을 갖는 오디오 샘플을 포함하고 있어야 한다.
접속점에서, 오디오 프레젠테이션 유닛의 시퀀스에 갭이 있어서는 안된다. 도 93에 도시한 바와 같이, 2 오디오 프레임 구간 미만의 오디오 프레젠테이션 유닛의 길이로 정의되는 오버랩이 있어도 된다. TS2의 엘리먼트리 스트림을 전송하는 최초의 패킷은 비디오 패킷이어야 한다. 접속점에서의 전송 스트림은 후술하는 DVR-STD에 따라야 한다.
Clip 및 Bridge-Clip의 제한에 대하여 설명하면, TS1과 TS2는 각각에 라이벌 타임 베이스의 불연속점을 포함해야 한다.
이하의 제한은, Bridge-Clip을 사용하는 경우에만 적용된다. TS1의 최후의 소스 패킷과 TS2의 최초의 소스 패킷의 접속점에서만, Bridge-Clip AV 스트림은 단 하나의 도착 타임 베이스의 불연속점을 갖는다. ClipInfo()에서 정의되는 RSPN_arrival_time_discontinuity가 그 불연속점의 어드레스를 나타내며, 그것은 TS2의 최초의 소스 패킷을 참조하는 어드레스를 나타내야 한다.
BridgeSequenceInfo()에서 정의되는 RSPN_exit_from_previous_Clip에 의해 참조되는 소스 패킷은 Clip1 중의 어떤 소스 패킷이어도 된다. 그것은, Aligned unit의 경계일 필요는 없다. BridgeSequenceInfo()에서 정의되는 RSPN_enter_to_current_Clip에 의해 참조되는 소스 패킷은, Clip2 중의 어떤 소스 패킷이어도 된다. 그것은, Aligned unit의 경계일 필요는 없다.
PlayItem의 제한에 대하여 설명하면, 선행하는 PlayItem의 OUT_time(도 88,도 89에서 도시되는 OUT_time1)은, TS1의 최후의 비디오 프레젠테이션 유닛의 표시 종료 시각을 나타내야 한다. 현재의 PlayItem의 IN_time(도 88, 도 89에서 도시되는 IN_time2)은 TS2의 최초의 비디오 프레젠테이션 유닛의 표시 개시 시각을 나타내야 한다.
Bridge_Clip을 사용하는 경우의 데이터 할당의 제한에 대하여, 도 94를 참조하여 설명하면, 심리스 접속은 파일 시스템에 의해 데이터의 연속 공급이 보증되도록 만들어야 한다. 이것은 Clip1(Clip AV 스트림 파일)과 Clip2(C1ip AV 스트림 파일)에 접속되는 Bridge-Clip AV 스트림을 데이터 할당 규정을 충족시키도록 배치함으로써 행해야만 한다.
RSPN_exit_from_previous_Clip 이전의 Clip1(Clip AV 스트림 파일)의 스트림 부분이 하프 프래그먼트(half fragment) 이상의 연속 영역에 배치되어 있도록, RSPN_exit_from_previous_Clip이 선택되어야 한다. Bridge_Clip AV 스트림의 데이터 길이는 하프 프래그먼트 이상의 연속 영역에 배치되도록, 선택되어야 한다. RSPN_enter_to_current_Clip 이후의 Clip2(Clip AV 스트림 파일)의 스트림 부분이 하프 프래그먼트 이상의 연속 영역에 배치되어 있도록, RSPN_enter_to_current-Clip이 선택되어야 한다.
Bridge-Clip을 사용하지 않고 심리스 접속하는 경우의 데이터 할당의 제한에 대하여, 도 95를 참조하여 설명하면, 심리스 접속은 파일 시스템에 의해 데이터의 연속 공급이 보증되도록 만들어야 한다. 이것은, Clip1(Clip AV 스트림 파일)의 최후의 부분과 Clip2(Clip AV 스트림 파일)의 최초의 부분을, 데이터 할당 규정을 충족시키도록 배치함으로써 행해야 한다.
Clip1(Clip AV 스트림 파일)의 최후의 스트림 부분이 하프 프래그먼트 이상의 연속 영역에 배치되어야 한다. Clip2(Clip AV 스트림 파일)의 최초의 스트림 부분이, 하프 프래그먼트 이상의 연속 영역에 배치되어야 한다.
다음으로, DVR-STD에 대하여 설명한다. DVR-STD는 DVR MPEG2 전송 스트림의 생성 및 검증 시에서의 디코드 처리를 모델화하기 위한 개념 모델이다. 또한, DVR-STD는 상술한 심리스 접속된 2개의 PlayItem에 의해 참조되는 AV 스트림의 생성 및 검증 시에서의 디코드 처리를 모델화하기 위한 개념 모델이기도 하다.
DVR-STD 모델을 도 96에 도시한다. 도 96에 도시한 모델에는, DVR MPEG-2 전송 스트림 플레이어 모델이 구성 요소로서 포함되어 있다. n, TBn, MBn, EBn, TBsys, Bsys, Rxn, Rbxn, Rxsys, Dn, Dsys, On 및 Pn(k)의 표기 방법은 ISO/IEC13818-1의 T-STD에 정의되어 있는 것과 동일하다. 즉, 다음에 설명하는 바와 같다. n은 엘리먼트리 스트림의 인덱스 번호이다. TBn은 엘리먼트리 스트림n의 전송 버퍼이다.
MBn은 엘리먼트리 스트림 n의 다중 버퍼이다. 비디오 스트림에 대해서만 존재한다. EBn은 엘리먼트리 스트림 n의 엘리먼트리 스트림 버퍼이다. 비디오 스트림에 대해서만 존재한다. TBsys는 복호 중의 프로그램의 시스템 정보를 위한 입력 버퍼이다. Bsys는 복호 중의 프로그램의 시스템 정보를 위한 시스템 타깃 디코더 내의 메인 버퍼이다. Rxn은 데이터가 TBn으로부터 제거되는 전송 레이트이다. Rbxn은 PES 패킷 페이로드가 MBn으로부터 제거되는 전송 레이트이다. 비디오 스트림에 대해서만 존재한다.
Rxsys는 데이터가 TBsys로부터 제거되는 전송 레이트이다. Dn은 엘리먼트리 스트림 n의 디코더이다. Dsys는 복호 중의 프로그램의 시스템 정보에 관한 디코더이다. On은 비디오 스트림 n의 re_ordering buffer이다. Pn(k)는 엘리먼트리 스트림 n의 k번째의 프레젠테이션 유닛이다.
DVR-STD의 디코딩 프로세스에 대하여 설명한다. 단일의 DVR MPEG-2 전송 스트림을 재생하고 있는 동안에는, 전송 패킷을 TBl, TBn 또는 TBsys의 버퍼로 입력하는 타이밍은 소스 패킷의 arrival_time_stamp에 의해 결정된다. TB1, MB1, EB1, TBn, Bn, TBsys 및 Bsys의 버퍼링 동작의 규정은, ISO/IEC 13818-1에 규정되어 있 는 T-STD와 동일하다. 복호 동작과 표시 동작의 규정도 또한, ISO/IEC 13818-1에 규정되어 있는 T-STD와 동일하다.
심리스 접속된 PlayItem을 재생하고 있는 동안의 디코딩 프로세스에 대하여 설명한다. 여기서는, 심리스 접속된 PlayItem에 의해 참조되는 2개의 AV 스트림의 재생에 대하여 설명을 하도록 하고, 이후의 설명에서는, 상술한(예를 들면, 도 88에 도시한) TS1과 TS2의 재생에 대하여 설명한다. TS1은 선행하는 스트림이고, TS2는 현재의 스트림이다.
도 97은, 임의의 AV 스트림(TS1)으로부터 그것에 심리스하게 접속된 다음의 AV 스트림(TS2)으로 이행할 때의 전송 패킷의 입력, 복호, 표시의 타이밍차트를 나타낸다. 소정의 AV 스트림(TS1)으로부터 그것에 심리스하게 접속된 다음의 AV 스트림(TS2)으로 이행하는 동안에는, TS2의 도착 타임 베이스의 시간축(도 97에서 ATC2로 나타냄)은 TS1의 도착 타임 베이스의 시간축(도 97에서 ATC1로 나타냄)과 동일하지 않다.
또한, TS2의 시스템 타임 베이스의 시간축(도 97에서 STC2로 나타냄)은, TS1의 시스템 타임 베이스의 시간축(도 97에서 STC1로 나타냄)과 동일하지는 않다. 비디오의 표시는 심리스하게 연속되어 있는 것이 요구된다. 오디오의 프레젠테이션 유닛의 표시 시간에는 오버랩이 있어도 무방하다.
DVR-STD로의 입력 타이밍에 대하여 설명한다. 시각 T1까지의 시간, 즉, TS1의 최후의 비디오 패킷이 DVR-STD의 TB1에 입력 종료할 때까지는 DVR-STD의 TB1, TBn 또는 TBsys의 버퍼로의 입력 타이밍은 TS1의 소스 패킷의 arrival_time_stamp 에 의해 결정된다.
TS1의 남은 패킷은 TS_recording_rate(TS1)의 비트 레이트로 DVR-STD의 TBn또는 TBsys의 버퍼로 입력되어야 한다. 여기서, T8_recording_rate(TS1)는 Clip1에 대응하는 ClipInfo()에서 정의되는 TS_recording_rate의 값이다. TS1의 최후의 바이트가 버퍼로 입력되는 시각은 시각 T2이다. 따라서, 시각 T1 내지 T2까지의 구간에서는, 소스 패킷의 arrival_time_stamp는 무시된다.
N1을 TS1의 최후의 비디오 패킷에 계속되는 TS1의 전송 패킷의 바이트 수로 하면, 시각 T1 내지 T2까지의 시간 DT1은, N1 바이트가 TS_recording_rate(TS1)의 비트 레이트로 입력 종료하기 위해 필요한 시간이며, 다음 식에 의해 산출된다.
ΔT1=T2-T1=N1/TS_recording_rate
(TS1) 시각 T1 내지 T2까지의 사이는 RXn과 RXsys의 값은 모두, TS_recording_rate(TS1)의 값으로 변화한다. 이 규칙 이외의 버퍼링 동작은 T-STD 와 동일하다.
T2의 시각에서, 도착 타임 클럭 카운터는 TS2의 최초의 소스 패킷의 arrival_time_stamp의 값으로 리세트된다. DVR-STD의 TB1, TBn 또는 TBsys의 버퍼에의 입력 타이밍은 TS2의 소스 패킷의 arrival_time_stamp에 의해 결정된다. RXn과 RXsys는 모두 T-STD에서 정의되어 있는 값으로 변화한다.
부가적인 오디오 버퍼링 및 시스템 데이터 버퍼링에 대하여 설명하면, 오디오 디코더와 시스템 디코더는 시각 T1 내지 T2까지의 구간의 입력 데이터를 처리할 수 있도록, T-STD로 정의되는 버퍼량 외에 부가적인 버퍼량(약 1초분의 데이터량) 이 필요하다.
비디오의 프레젠테이션 타이밍에 대하여 설명하면, 비디오 프레젠테이션 유닛의 표시는 접속점을 통해 갭없이 연속이어야 한다. 여기서, STC1은 TS1의 시스템 타임 베이스의 시간축(도 97에서는 STC1로 도시되어 있음)으로 하고, STC2는 TS2의 시스템 타임 베이스의 시간축(도 97에서는 STC2로 도시되어 있음. 정확하게는, STC2는 TS2의 최초의 PCR이 T-STD에 입력한 시각에서 개시함)으로 한다.
STC1과 STC2의 사이의 오프셋은 다음과 같이 결정된다. PTSlend는 TS1의 최후의 비디오 프레젠테이션 유닛에 대응하는 STC1 상의 PTS이고, PTS2start는, TS2의 최초의 비디오 프레젠테이션 유닛에 대응하는 STC2 상의 PTS이고, Tpp는 TS1의 최후의 비디오 프레젠테이션 유닛의 표시 기간으로 하면, 2개의 시스템 타임 베이스의 사이의 오프셋 STC-delta는 다음 식에 의해 산출된다.
STC_delta=PTS1end+Tpp-PT82start
오디오의 프레젠테이션의 타이밍에 대하여 설명하면, 접속점에서, 오디오 프레젠테이션 유닛의 표시 타이밍의 오버랩이 있어도 되고, 그것은 0 내지 2 오디오 프레임 미만이다 (도 97에 도시되어 있는 "audio overlap"을 참조). 어느 한쪽의 오디오 샘플을 선택하는가 하는 점과, 오디오 프레젠테이션 유닛의 표시를 접속점의 후의 보정된 타임 베이스에 재동기하는 것은, 플레이어측에 의해 설정되는 것이다.
DVR-STD의 시스템 타임 클럭에 대하여 설명하면, 시각 T5에서, TS1의 최후의 오디오 프렌젠테이션 유닛이 표시된다. 시스템 타임 클럭은, 시각 T2 내지 T5의 사이에 오버랩하고 있어도 된다. 이 구간에서는, DVR-STD는 시스템 타임 클럭을 오래된 타임 베이스의 값(STC1)과 새로운 타임 베이스의 값(STC2) 사이에서 전환한다. STC2의 값은 다음 식에 의해 산출된다.
STC2=STC1-STC_delta
버퍼링의 연속성에 대하여 설명한다. STC11video_end는, TS1의 최후의 비디오 패킷의 최후의 바이트가 DVR-STD의 TB1로 도착할 때의 시스템 타임 베이스 STC1상의 STC의 값이다. STC22video_start는, TS2의 최초의 비디오 패킷의 최초의 바이트가 DVR-STD의 TB1로 도착할 때의 시스템 타임 베이스 STC2 상의 STC의 값이다. STC21video_end는 STC11video_end의 값을 시스템 타임 베이스 STC2 상의 값으로 환산한 값이다. STC21video_end는 다음 식에 의해 산출된다.
STC21video_end=STC11video_end-STC_delta
DVR-STD에 따르기 위해, 다음의 2개의 조건을 충족시키는 것이 요구된다. 우선, TS2의 최초의 비디오 패킷의 TB1로의 도착 타이밍은, 다음에 나타내는 부등식을 충족하여야 한다. 그리고, 다음에 나타내는 부등식을 충족하여야 한다.
STC22video_start>STC21video_end+ΔT1
상기 부등식이 충족되도록, Clip1 및, 또는, Clip2의 부분적인 스트림을 재차 인코드 및, 또는, 재차 다중화할 필요가 있는 경우에는, 그 필요에 따라 행해진다.
다음으로, STC1과 STC2를 동일한 시간축 상에 환산한 시스템 타임 베이스의 시간축 상에서, TS1로부터의 비디오 패킷의 입력과 그것에 계속되는 TS2로부터의 비디오 패킷의 입력은, 비디오 버퍼를 오버플로우 및 언더 플로우시켜서는 안된다.
이러한 신택스, 데이터 구조, 규칙에 기초함으로써, 기록 매체에 기록되어 있는 데이터의 내용, 재생 정보 등을 적절하게 관리할 수가 있기 때문에, 사용자가 재생 시에 적절하게 기록 매체에 기록되어 있는 데이터의 내용을 확인하거나, 원하는 데이터를 간편하게 재생할 수 있도록 할 수 있다.
다음에, 도 46에 도시한 ClipInfo의 신택스 중에 있는 time_controlled_flag를 1로 세트하는 경우의 AV 스트림 파일의 기록에 대하여, 상세한 내용을 설명한다. time_controlled_flag를 1로 세트하는 경우, AV 스트림의 시간 경과와 AV 스트림의 데이터 바이트량이, 다음의 관계에 있는 것을 나타낸다. 즉, AV 스트림의 시간 경과와 AV 스트림의 데이터 바이트량과의 관계가, 소정의 오차의 범위 내에서 비례하는 것을 보증한다.
Figure 112001034014287-pct00116
상기한 수학식은, 도 46의 ClipInfo의 time_controlled_flag의 설명 중에서 나타낸 식과 비교하여, 형식이 조금 다르지만 본질적으로는 동일하다.
여기서, TS_average_rate는, AV 스트림 파일(DVR 전송 스트림 파일)의 평균 비트 레이트를 바이트/초의 단위로 표시한 것으로, ClipInfo 내의 동일 명칭의 필드에 의해 나타낸다. 또한, t는 AV 스트림 파일의 최초의 소스 패킷으로부터의 도착 타임 베이스의 경과 시각을 초 단위로 나타낸다. AV_file_size(t)는 시각 t에 서의 AV 스트림 파일의 사이즈를 바이트 단위로 표시한 것이다. α는 소정의 일정한 값으로서, 예를 들면, 300초이다.
TS_average_rate는 기록기의 어플리케이션에 의해 소정의 값으로 결정한다. 예를 들면, 장시간 녹화 모드(LP 모드), 표준 녹화 모드(SP 모드), 고화질 녹화 모드(HQ 모드) 등의 기록 모드에 따라, 각각의 모드에 맞는 TS_average_rate 값을 결정한다.
수학식 1을 충족시키도록, AV 스트림 파일이 기록되어 있는 경우, 그 스트림이 있는 시간분만큼 부분적으로 스트림을 소거하면, 소거한 시간 분만큼 상기 스트림의 TS_average_rate로 나타내는 비트 레이트로 기록 가능한 빈 영역을 디스크 상에 만들 수 있는 것을 보증할 수 있다. 예를 들면, SP 모드의 AV 스트림 파일이 있는 시간분만큼 부분적으로 스트림을 소거하면, 소거한 시간 분만큼, 동일한 SP 모드로 기록 가능한 빈 영역을 디스크 상에 만들 수 있다.
도 98은 AV 스트림의 시간 경과와 AV 스트림의 데이터 바이트량과의 관계가, 소정의 오차의 범위 내에서 비례하도록, 가변 비트 레이트를 제어하는 경우의, 도 1의 기록 재생 장치(1)의 AV 인코더(15)의 동작을 설명하는 블록도이다. 도 9와 도 1에서, 동일한 번호가 붙여져 있는 블록은 동일한 것이다.
우선, 사용자 인터페이스(24)를 통해 사용자로부터 LP, SP 모드 등의 기록 모드가 제어부(23)에 입력된다. 제어부(23)는 기록 모드에 따라 기록하는 AV 스트림(DVR 전송 스트림)의 다중화 비트 레이트, 및 비디오 부호화의 평균 비트 레이트를 설정한다 (도 99의 흐름도의 단계 S20 참조).
제어부(23)는, time_controlled_flag르 1로 세트하고, 다중화 스트림의 평균 비트 레이트를 TS_average_rate로 하고, 또한 다중화 비트 레이트를 TS_recording_ rate로 한다. 제어부(23)는 time_controlled_flag, TS_recording_rate와 TS_average_rate를 ClipInfo에 설정한 Clip Information 파일의 데이터 베이스를 출력한다. Clip Information파일은, 도 1에서 설명한 바와 같이 ECC 부호화부(20)의 처리를 통해 기록 매체에 기록된다.
아날로그의 비디오 입력을 인코드하는 경우에는, 단자(11)로부터 비디오가 입력된다. 또는, 디지털 방송 입력의 비디오를 변환 코딩하는 경우에는, AV 디코더(27)로부터의 비디오가 입력된다. 입력 비디오는, 비디오 인코더(151)로 입력된다. 제어부(23)는 소정 시간 당 비디오에 대한 할당 부호화 비트량을 계산하여, 그것을 비디오 인코더에 지정한다. 비디오 인코더(115)는 소정 시간 당 비디오를 인코드하여, 실제로 발생한 부호화 비트량을 제어부(23)에 입력한다. 예를 들면, 소정 시간의 크기는 비디오의 GOP로서, 0.5초이다. 제어부(23)는 인코더로부터 입력되는 실제로 발생한 부호화 비트량의 인코드 개시 후의 누계치에 기초하여, AV 스트림의 시간 경과와 AV 스트림의 데이터 바이트량의 관계가, 소정의 오차의 범위 내에서 비례하도록, 비디오 부호화의 가변 비트 레이트를 제어하여, 다음의 소정 시간 당 비디오에 대한 할당 부호화 비트량을 계산한다. 또한, 이 때, 제어부(23)가 인코더로부터 비디오의 부호화 난이도(움직임 벡터 예측의 예측 잔차의 크기, DCT 계수의 양자화 스케일의 크기 등)가 공급될 수 있으면, 보다 고화질인 가변 비트 레이트를 실현할 수 있다. 즉, 비디오의 부호화 난이도가 높을 수록, 소정 시 간 당 비디오에 대한 할당 부호화 비트량을 크게 하도록 제어한다.
비디오 인코더(115)는, 비디오 스트림을 멀티플렉서(16)에 입력한다. 멀티플렉서(16)로는 또한, 오디오 스트림과 AV 동기 등의 시스템 정보(S)가 입력된다. 또한, 오디오 입력의 인코드 처리의 흐름 및 AV 동기 등의 시스템 정보(S)에 대해서는, 도 1의 설명과 동일하다.
멀티플렉서(16)는 비디오 및 오디오 스트림을, 소정의 다중화 비트 레이트의 전송 스트림으로 다중화한다. 이 때, 비디오와 오디오의 패킷화는, MPEG2 전송 스트림의 시스템 타깃 디코더(T-STD)를 방해하지 않도록 제어해야 한다. T-STD의 제한에 의해 비디오의 액세스 유닛(부호화된 I, P, B의 픽쳐) 및 오디오의 액세스 유닛(오디오 프레임)을 패킷화할 수 없는 경우, 멀티플렉서(16)는 널 패킷(패킷 I D가, 0x1FFF인 패킷)을 발생하지 않도록 다중화한다. 이 다중화 제어에 의해, 연속하는 전송 패킷의 시간 간격은 불규칙하게 되어, 패킷은 간헐적으로 발생한다.
멀티플렉서(16)로부터 출력되는 전송 패킷은, 소스 패킷타이저(19)에 입력된다. 소스 패킷타이저(19)는, 각 전송 패킷에 도착 타임 스탬프를 부가하여, 소스 패킷화한다. 그리고, 소스 패킷 열을 앞에서부터 채워, AV 스트림 파일을 생성한다. AV 스트림 파일은, 도 1에서 설명한 바와 같이 ECC 부호화부(20)의 처리를 통해 기록 매체에 기록된다.
도 99는 AV 스트림의 시간 경과와 AV 스트림의 데이터 바이트량과의 관계가, 소정의 오차의 범위 내에서 비례하는 것을 보증하는 부호화 모드(time_con trolled_flag=1)에서, 비디오를 가변 비트 레이트로 부호화하여, AV 스트림을 기록 하는 동작을 설명하는 흐름도이다.
단계 S20에서, 제어부(23)는 전송 스트림의 다중화 비트 레이트 T8_recording_rate 및 비디오 부호화의 평균 비트 레이트를 설정한다.
비디오 부호화의 평균 비트 레이트는, TS_average_rate로부터, 오디오 부호화의 일정한 비트 레이트와 다중화의 오버헤드의 비트 레이트를 뺀 값으로 한다. 여기서, TS_average_rate는, 기록기의 어플리케이션(LP, SP 모드 등)에 의해 소정의 값으로 결정된다.
TS_recording_rate는 비디오의 가변 비트 레이트 부호화의 최대 비트 레이트에, 오디오 부호화의 일정한 비트 레이트와 다중화의 오버헤드의 비트 레이트를 더한 값보다도 큰 값이다.
단계 S21에서, 제어부(23)는 비디오 스트림을, 사전에 설정한 소정의 시간 구간마다 소정의 평균 비트 레이트가 보증되도록, 가변 비트 레이트로 인코드하도록 비디오 인코더(151)를 제어한다.
단계 S22에서, 제어부(23)는 전송 패킷화하는 엘리먼트리 스트림이 없는 경우에 널 패킷을 발생하지 않도록 멀티플렉서(16)를 제어한다. 이 다중화 제어에 의해, 연속하는 2개의 전송 패킷의 시간 간격은 불규칙하게 되어, 패킷은 간헐적으로 발생한다.
단계 S23에서, 제어부(23)는 각 전송 패킷에 도착 타임 스탬프를 부가하여, 소스 패킷화하도록, 소스 패킷타이저(19)를 제어하고, 그리고, 소스 패킷 열을 앞에서부터 채워, AV 스트림 파일로서 기록하도록 제어한다.
다음에, 비디오의 가변 비트 레이트 부호화를 하는 경우의 MPEG의 VBV (Video Buffering Verifier)의 제어 방법에 대하여 설명한다. VBV는 MPEG이 규정하는 이론적인 디코더 모델이다 (도 100을 참조). MPEG 비디오 인코더는, VBV를 정확하게 동작시키도록 비디오 스트림을 인코드해야 한다. 이에 따라, 인코드 방법을 제한한다 (주로 양자화 제어 및 픽쳐의 비트량의 제한). VBV가 갖는 버퍼를 VBV 버퍼라고 부른다. 이것은 현실의 디코더에 이론 상으로 최저로 필요한 버퍼 사이즈이다. MPEG2 메인 프로파일 메인 레벨의 경우, VBV 버퍼 사이즈는 1.75Mbits이다.
가변 비트 레이트 시의 MPEG의 VBV는, 일반적으로, 도 101에 도시한 방법이 널리 알려져 있다. 즉, 도 101은, VBV 버퍼가 비어 있을 때는, 버퍼에의 입력 비트 레이트가 VBR(Variable Bit-Rate, 가변 비트 레이트)의 최대 비트 레이트이고, VBV 버퍼의 비트 점유량이 충만된 경우에는, 버퍼에의 입력 비트 레이트가 0이 되는 경우의 VBV 제어를 설명하는 도면이다. 도 101에서, 우측 상승선의 기울기는, VBR의 최대 비트 레이트를 나타내며, VBV 버퍼에 빈 부분이 있을 때는, VBR의 최대 비트 레이트로 버퍼 점유량이 증가한다. 또한, VBV 버퍼의 비트 점유량이 충만한 경우에는, 버퍼로의 입력 비트 레이트가 0으로 되어, 버퍼 점유량은 변하지 않는다. 횡축은 시간 축이고, T1은 하나의 디코드 시각을 나타내며, 시각 T1에서 도시하는 T1의 시각의 픽쳐가 순시로 디코드되어, 버퍼 점유량이 감소한다. 이후, 소정의 시간 간격에서 마찬가지로 하여, 픽쳐가 디코드되어, 버퍼 점유량이 감소한다. 이 도 101에서 도시한 방법에서는, 비디오 인코더가 비디오 스트림 중에 스터핑 바이트를 발생하는 일은 없다.
이것에 대하여, 본 발명에서는, VBV를 도 102에 도시한 바와 같이 제어한다. 즉, 소정의 시간(예를 들면, GOP)마다 비트 레이트를 변경하는 가변 비트 레이트에 있어서, 소정의 시간 내에서는 CBR(Constant Bit-Rate, 고정 비트 레이트)의 VBV 제어를 행한다. 도 102는, GOP(예를 들면, 0.5초의 비디오 시퀀스) 내에서 CBR의 경우의 VBV 제어를 나타낸다. 즉, VBV 버퍼에의 입력 비트 레이트가, 현재의 GOP의 부호화 비트 레이트이고, VBV 버퍼가 오버 플로우하지 않도록 스터핑 바이트를 삽입하는 경우의 VBV 제어를 설명하는 도면이다.
스터핑 바이트를 삽입하는지의 여부의 판단과, 삽입하는 경우의 스터핑 바이트의 량의 계산은, 다음의 수순으로 행한다. 이하의 설명에서,
VBV_BUFFER_SIZE=1.75*1024*1024 bit
gop_bit_rate: GOP 마다의 비트 레이트 [bit/second]
로 한다.
(1) 현재, 부호화하는 픽쳐의 최저 비트량의 계산
도 102의 시각 d1의 픽쳐를 예로서 설명한다. 우선, 시각 d1의 픽쳐를 VBV가 디코드하기 직전의 VBV 버퍼의 비트 점유량 vbv_b를 얻는다. 다음에, 비트 점유량 vbv_b에, 시각 d1로부터 그 다음의 픽쳐의 디코드 시각 d2까지의 동안(tau)에 비트 레이트 gop_bit-rate로 입력되는 비트량을 더한 값 tmp를 계산한다. 현재, 부호화하는 픽쳐의 최저 비트량 min_picture_bit는, tmp과 VBV_BUFFER_SIZE로 다음과 같이 계산할 수 있다.
tmp=vbv_b+gop_bit_rate*tau
min_picture_bit=tmp-VBV_BUFFER_SIZE
(2) picture의 부호화 후에, 바이트 스터핑이 필요한지의 체크
현재의 픽쳐의 실제의 부호화 비트 gen_picture_bit가, min_picture_bit보다 작은 경우에는, 다음에 나타내는 계산식으로 나타내는 크기의 스터핑 바이트를 발생한다. 현재 부호화한 픽쳐 뒤에 num_stuffing_byte의 수의 스터핑 바이트를 비디오 인코더가 부호화한다. 하나의 스터핑 바이트는, 8비트의 "'0000 0000"의 부호이다.
if(gen_picture_bit<min_picture_bit)
num_stuffing_byte=(min_picture_bit-gen_picture_bit+4)/8
이 도 10에서 도시한 방법에서는, 비디오 인코더가 소정 시간의 비디오에 할당된 비트량을 사용하도록 제어하는 것을 목적으로 하여, VBV 버퍼로의 입력 비트 레이트가 현재의 GOP의 부호화 비트 레이트이고, VBV 버퍼가 오버 플로우하지 않도록 비디오 인코더가 스터핑 바이트를 발생한다.
도 102에 도시한 VBV 제어는, 본 발명의 개념인, AV 스트림의 시간 경과와 AV 스트림의 데이터 바이트량과의 관계가 도 103에 도시한 바와 같이, 소정의 오차 범위 내에서 비례하는 것을 보증하는 데에 유효하다. 도 101에 도시한 VBV 제어를 사용하면, 입력 비디오 중에 긴 시간의 정지 화상이 있으면, 도 103의 관계를 보증할 수 없게 된다. 즉, 정지 화상은 정보량이 비교적 작기 때문에, 그 정보량보다도 부호화의 할당 비트량을 크게 해도, 실제로 부호화하여 발생하는 비트량은 임의의 비교적 작은 값으로 포화되어 버린다. 따라서, 이 경우, AV 스트림의 시간 경과와 AV 스트림의 데이터 바이트량의 관계가 도 104에 도시한 바와 같이, 비례하지 않는다. 이러한 경우라도, 도 102에 도시한 VBV 제어를 사용하면, 비디오 인코더가 소정 시간의 비디오에 할당된 비트량을 사용하도록 제어하는 것을 목적으로 하여, VBV 버퍼로의 입력 비트 레이트가 현재의 GOP의 부호화 비트 레이트이고, VBV 버퍼가 오퍼 플로우하지 않도록 비디오 인코더가 스터핑 바이트를 발생하기 때문에, AV 스트림의 시간 경과와 AV 스트림의 데이터 바이트량과의 관계가 도 103에 도시한 바와 같이, 소정의 오차 범위 내에서 거의 비례하는 것을 보증할 수 있다.
도 104의 경우, 정지 화상 부분의 시간 부분의 AV 스트림을 소거하여도, 그 부분이 차지하는 데이터 바이트량은, 평균 비트 레이트에 소거 시간을 곱한 데이터 사이즈보다도 작기 때문에, 소거한 시간만큼 상기 스트림의 TS_average_rate로 나타내는 비트 레이트로 기록 가능한 빈 영역을 디스크 상에 만들 수 없다. 한편, 도 103의 경우, AV 스트림의 있는 시간만큼 부분적으로 스트림을 소거하면, 소거한 시간 만큼 상기 스트림의 TS_average_rate로 나타내는 비트 레이트로 기록 가능한 빈 영역을 디스크 상에 만들 수 있다.
도 105는, 상술한 도 99의 단계 S21의 처리에서의, 비디오의 가변 비트 레이트 제어 처리의 상세를 설명하는 흐름도이다.
단계 S200에서, VBR의 여유량 s_now에 초기값 SV1을 세트한다. 본 발명의 가변 비트 레이트 제어는, AV 스트림의 시간 경과와 AV 스트림의 데이터 바이트량과의 관계가 소정의 오차 범위 내에서 비례하는 것을 보증하기 위해서, VBR의 여유 량 sv_now가 0부터 최대치 SVMAX가 되도록 제어한다.
예를 들면, 상기한 수학식 1에서, α=300초인 경우, SV1, SVMAX는 다음의 값이 된다. 여기서, 비디오의 평균 부호화 비트 레이트는, 도 99의 단계 S20에서 결정된 값이다 (도 107을 참조).
SV1=(비디오의 평균 부호화 비트 레이트*300
SVMAX=SV1*2
단계 S201에서, 현 GOP의 부호화의 할당 비트 b_alloc를 계산한다.
단계 S202에서, 이하의 부등식이 성립하는지의 여부를 조사한다. 이 단계에서는 VBR의 여유량이 마이너스가 되지 않는지의 여부를 체크한다.
sv_ nov+b_av-b_alloc > = 0
여기서, b_av는, 비디오의 평균 부호화 비트 레이트로부터 계산되는, GOP당부호화의 할당 비트량의 평균값이다. GOP의 시간 길이를, 0.5초라고 하면 b_av는 다음의 값이다.
b_av=(비디오의 평균 비트 레이트)*0.5
단계 S202에서 Yes인 경우에는, 단계 S203으로 진행한다. 단계 S02에서 No인 경우에는, 단계 S204로 진행하여, b_alloc를 b_av로 하고, 단계 205로 진행한다.
단계 S203에서는, 이하의 부등식이 성립하는지의 여부를 조사한다. 이 단계에서는, VBR의 여유량이 최대치 SVMAX를 넘는지의 여부를 체크한다.
sv_nov+b_av-b_alloc <= SVMAX
단계 S203에서 Yes인 경우에는, 단계 S205로 진행한다. 단계 S203에서 No인 경우에는, 단계 S204로 진행하고, b_alloc을 b_av로 하여, 단계 S205로 진행한다.
단계 S205에서, 현재의 GOP를 인코드한다. 그리고, 현재의 GOP를 할당 비트량 b_alloc으로 인코드하여, 그 때의 VBV 제어는, VBR 버퍼로의 입력 비트 레이트를 현재의 GOP의 부호화 비트 레이트로 하고, VBR 버퍼가 오버 플로우하지 않도록 스터핑 바이트를 삽입하도록 제어한다. 이 처리의 상세에 대해서는, 도 106에서 설명한다.
단계 S206에서, VBR의 여유량 sv_now를 다음 식과 같이 갱신한다. 여기서, b_gen은, 단계 S205에서, 현재의 GOP를 인코드한 결과로서 얻어진 현 GOP의 부호화 비트량이다.
sv_nov+=b_av-b_gen
단계 S207에서, 현 GOP가 최후의 GOP인지를 조사한다. 단계 S207에서, Yes인 경우에는, 처리를 종료한다. 단계 S207에서, No인 경우에는, 단계 S201로 되돌아간다.
도 106은, 상술한 도 105의 단계 S205의 처리에서의, VBV 제어의 처리의 상세를 설명하는 흐름도이다.
단계 S300에서, 다음 식과 같이 현 GOP에 할당된 부호화 비트량을 부호화 비트 레이트 gop_bit_rate로 변환한다.
gop_bit_rate=b_alloc/(15/ 29.97)
단계 S301에서, 현 GOP 중에서, 현재 부호화하는 픽쳐의 최저 비트량 min_picture_bit를 다음 식에 의해 계산한다.
tmp=vbv_b+gop_bit_rate*tau
min_picture_bit=tmp-VBV_BUFFER_SIZE
여기서, vbv_b는 VBV가, 현재 부호화하는 픽쳐를 디코드하기 직전의 VBV 버퍼의 비트 점유량이다 (도 102 참조).
tau는, 현재 부호화하는 픽쳐의 디코드 시각과 그 다음의 픽쳐의 디코드 시각의 차이다 (도 102 참조).
VBV_BUFFER_SIZE는 VBV 버퍼 사이즈로서, MPEG2 MP@ML인 경우, 1.75 Mbit이다.
단계 S302에서, 현재의 픽쳐를 인코드하여, 그 발생 비트량 gen_picture_bit를 얻는다.
단계 S303에서, 다음의 부등식을 조사한다.
gen_picture_bit < min_picture_bit
단계 S303에서 Yes인 경우에는, 단계 S304로 진행한다. 단계 S303에서 No인 경우에는, 단계 S305로 진행한다.
단계 S304에서, 현재 부호화한 픽쳐 후에 num_stuffing_byte의 수의 스터핑 바이트를 비디오 인코더가 현재 부호화하여, 이들을 부호화 픽쳐 뒤에 부가한다 (도 102 참조).
num_stuffing_byte=(min_picture_bit-gen-picture_bit+4)/8
단계 S305에서, GOP의 최후의 픽쳐인지의 여부를 조사한다. 단계 S305에서, Yes인 경우에는, 처리를 종료한다. 단계 S305에서, No인 경우에는, 단계 S301로 되돌아간다.
이상과 같이 하여, 비디오 스트림의 가변 비트 레이트 부호화를 제어하여, AV 스트림 파일을 생성함으로써, AV 스트림의 시간 경과와 AV 스트림의 데이터 바이트량과의 관계가 소정의 오차의 범위 내에서 비례하는 것을 보증할 수 있다. 이에 따라, 그 스트림의 있는 시간만큼 부분적으로 스트림을 소거하면, 소거한 시간 분만큼 상기 스트림의 TS_average_rate로 나타내는 비트 레이트로 기록 가능한 빈 영역을 디스크 상에 만들 수 있는 것을 보증할 수 있다.
다음에, 비교를 위해, AV 스트림의 시간 경과와 AV 스트림의 데이터 바이트량과의 관계가 비례하는 것을 보증하지 않는 부호화 모드(time_controlled_flag=0)에서의 AV 스트림의 기록 방법의 예를 두개 나타낸다.
첫번째의 time_controlled_flag=0인 경우의 예는, 디지털 방송의 AV 스트림(프로그램)의 전송을 트랜스페어런트하게 기록하는 경우이다. 디지털 방송이 통계 다중을 이용하여 있는 경우, 일반적으로, 그 중의 AV 스트림은 가변 비트 레이트이다. 일반적으로, 이 경우의 AV 스트림의 시간 경과와 AV 스트림의 데이터 바이트량과의 관계가 비례하는 것은 보증되지 않기 때문에, 이 AV 스트림을 트랜스페어런트하게 기록하여 클립을 작성한 경우, 그 클립의 time_controlled_flag를 0으로 세트한다.
두번째의 time_controlled_flag=0의 경우의 예는, 비디오를 가변 비트 레이트 부호화하는 경우에, 비디오 스트림을, 사전에 설정한 소정의 시간 구간마다 소 정의 평균 비트 레이트 이하가 되도록, 가변 비트 레이트로 인코드하는 경우이다. 이것은, 도 101에서 설명한 바와 같이, 비디오 부호화의 VBV 제어가, VBV 버퍼에 빈 부분이 있을 때는, 버퍼에의 입력 비트 레이트를 가변 비트 레이트의 최대 비트 레이트로 하고, VBV 버퍼의 비트 점유량이 충만된 경우에는, 버퍼에의 입력 비트 레이트를 0으로 하는 경우이다. 도 108과 도 109를 참조하여, 이 경우의 AV 스트림의 기록 방법을 설명한다.
도 108은, AV 스트림의 시간 경과와 AV 스트림의 데이터 바이트량과의 관계가 비례하는 것을 보증하지 않는 부호화 모드(time_controlled_flag=0)에서, 비디오를 가변 비트 레이트의 부호화하여, AV 스트림을 기록하는 동작을 설명하는 플로우차트를 나타낸다.
단계 S400 이외는, 도 99과 동일하다.
단계 S400에서, 비디오 스트림을, 사전에 설정한 소정의 시간 구간마다 소정의 평균 비트 레이트 이하가 되도록, 가변 비트 레이트로 인코드하도록 비디오 인코더(151)를 제어한다.
도 109는, 전술한 도 108의 단계 S400의 처리에서의, 비디오의 가변 비트 레이트 제어 처리의 상세를 설명하는 흐름도이다.
단계 S500에서, VBR의 여유량 sv_now에 초기값 SV1을 세트한다. 이 경우의 가변 비트 레이트 제어는, VBR의 여유량 sv_nov가 음의 값이 되지 않도록 제어를 행한다.
단계 S501에서, 현 GOP의 부호화의 할당 비트 b_alloc을 계산한다. 단계 S502에서, 이하의 부등식이 성립하는지의 여부를 조사한다. 이 단계 S는, VBR의 여유량이 마이너스가 되지 않는지의 여부를 체크한다.
sv_now+b_av-b_alloc>=0
여기서, b_av는, 비디오의 평균 부호화 비트 레이트로부터 계산되는, GOP당 부호화의 할당 비트량의 평균값이다. GOP의 시간 길이를, 0.5초로 하면 b_av는 다음의 값이다.
b_av=(비디오의 평균 비트 레이트)*0.5
단계 S502에서 Yes인 경우에는, 단계 S504로 진행한다. 단계 S502에서 No인 경우에는, 단계 S504로 진행하여, b_alloc을 b_av로 하고, 단계 S504로 진행한다.
단계 S504에서, 현재의 GOP를 인코드한다. 그리고, 현재의 GOP를 할당 비트량 b_alloc으로 인코드하고, 그 때의 VBV 제어는, VBV 버퍼에 빈 부분이 있을 때는, 버퍼에의 입력 비트 레이트를 VBR(Variable Bit-Rate)의 최대 비트 레이트로 하고, VBV 버퍼의 비트 점유량이 충만된 경우에는, 버퍼에의 입력 비트 레이트를 0으로 한다 (도 101 참조). 이 단계 S504에서는, 비디오 스트림에 스터핑 바이트를 부호화하지 않는다.
단계 S505에서, VBR의 여유량 sv_nov를 다음 식과 같이 갱신한다. 여기서, b_gen은, 단계 S504에서, 현재의 GOP를 인코드한 결과로서, 얻어진 현 GOP의 부호화 비트량이다.
sv_nov+=b_av-b_gen
단계 S506에서, 현 GOP가 최후의 GOP인지의 여부를 조사한다. 단계 S506에 서, Yes인 경우에는, 처리를 종료한다. 단계 S506에서, No인 경우에는, 단계 S501로 되돌아간다.
상기한 도 108 및 도 109의 기록 방법의 경우, 상술한 바와 같이 AV 스트림의 시간 경과와 AV 스트림의 데이터 바이트량과의 관계가 소정의 오차 범위 내에서 비례하는 것을 보증하지 않는다. 예를 들면, 입력 비디오 중에 긴 시간의 정지 화상이 있으면, AV 스트림의 시간 경과와 AV 스트림의 데이터 바이트량과의 관계가 도 104에 도시한 바와 같이 된다. 즉, 정지 화상은 정보량이 비교적 작기 때문에, 그 정보량보다도 부호화의 할당 비트량을 크게 해도, 실제로 부호화하여 발생하는 비트량은 임의의 비교적 작은 값으로 포화되어 버린다. 따라서, 이 경우, AV 스트림의 시간 경과와 AV 스트림의 데이터 바이트량의 관계가, 비례하지 않는다.
한편, 비디오 인코더가 소정 시간의 비디오에 할당된 비트량을 사용하도록 제어하는 것을 목적으로 하여, VBV 버퍼에의 입력 비트 레이트가 현재의 GOP의 부호화 비트 레이트이고, VBV 버퍼가 오버 플로우하지 않도록 비디오 인코더가 스터핑 바이트를 발생하도록 제어하면, AV 스트림의 시간 경과와 AV 스트림의 데이터 바이트량과의 관계가 소정의 오차 범위 내에서 거의 비례하는 것을 보증할 수 있다.
또한, AV 스트림의 시간 경과와 AV 스트림의 데이터 바이트량과의 관계가 비례하는 것을 보증하는 부호화 모드(time_controlled_flag=1)를 간단히 실현하는 방법으로서, 전송 스트림을 다중화할 때 널 패킷을 삽입하여, 일정 비트 레이트의 전송 스트림을 기록하는 것도 고려된다. 이것은, 주로 테이프 기록 매체(D-VHS 등) 에서 이용되고 있는 부호화 방법이다. 여기서, 널 패킷은, 그 패킷 ID(PID)가 0x1FFF로 세트되어 있는, 정보로서는 아무런 의미를 갖지 않는 전송 패킷이다.
도 99의 방법과 비교하는 참고를 위해, 도 110에, 소정의 일정 비트 레이트의 전송 스트림을 부호화함으로써, AV 스트림의 시간 경과와 AV 스트림의 데이터 바이트량과의 관계가, 비례하는 것을 보증하는 부호화 모드의 흐름도를 나타낸다.
단계 S600에서, 전송 스트림의 다중화 비트 레이트 및 비디오 부호화의 비트 레이트를 설정한다. 단계 S601에서, 비디오 스트림을, 소정의 일정한 비트 레이트, 또는, 그 비트 레이트 이하로, 인코드한다.
단계 S602에서, 전송 패킷화하는 엘리먼트리 스트림이 없는 경우에 널 패킷정보로서는 의미를 갖지 않는 전송 패킷을 발생하여 다중화하여, 소정의 일정한 다중화 비트 레이트의 전송 스트림을 부호화한다.
단계 S603에서, 각 전송 패킷에 도착 타임 스탬프를 부가하여, 소스 패킷화한다. 소스 패킷을 기록 매체에 기록한다.
상기한 기록 방법에서 AV 스트림을 클립으로서 기록한 경우, 그 클립의 time _controlIed_flag는 1로 세트된다. 그러나, 이 방법은, 널 패킷을 사용하기 위해서, 비디오 부호화에 효율적으로 부호 비트를 사용하지 않기 때문에, 도 99의 부호화 방법보다도 비디오의 화질이 열화되는 문제가 있다 (이것에 대해서는, 예를 들면 특원평11-220727의 종래의 기술란에 자세히 기술되어 있다). 그 때문에, 본 발명으로서는 상기한 도 110의 기록 방법을 추천하지 않는다.
다음에, AV 스트림 파일의 있는 시간만큼 부분적으로 스트림을 소거하는 방 법에 대하여 설명한다.
도 111은, 오리지널의 AV 스트림 파일과, 그 스트림이 부분적인 재생 범위의 스트림을 소거하는 편집을 행한 후의 AV 스트림 파일의 예를 나타낸다. 편집 전에, Virtual PlayList는, 오리지널 AV 스트림 상의 IN_time과 OUT_time을 가리키고 있도록 한다. 이 때, Virtual PlayList가 사용하지 않은 스트림 부분을 소거하는 편집(미니마이즈 편집)을 한 경우, 그것은 오리지널 AV 스트림을 도 111에 도시한 편집 후의 스트림으로 바꾼다. 오리지널 AV 스트림의 선두로부터 X점까지의 데이터와, Y점부터 최후까지의 데이터가 소거된다. 이하의 설명에서는, 이 X점과 Y점을 결정하는 방법의 예를 설명한다.
도 112는, AV 스트림의 내용을 해석하지 않고, IN점 앞의 불필요한 데이터를 소거하는 방법을 설명하는 도면이다. PlayList는 오리지널 AV 스트림 상의 IN점을 가리킨다. 또한, 그 AV 스트림의 EP_map을 도시한다. IN점이 가리키는 픽쳐를 디코드하기 위해서는, 어드레스 ISA2로부터 개시하는 I 픽쳐가 필요하다.
또한, X점 뒤에, PAT, PMT 및 PCR 패킷이 필요하다. RSPN_EP_start=ISA1의 PTS는 pts1이고, RSPN_EP_start=ISA2의 PTS는 pts2이다. Pts1과 pts2의 시스템 타임 베이스의 시간 차가 100msec 이상으로 되면, 어드레스 ISA1과 ISA2 사이에는 PAT, PMT 및 PCR 패킷이 존재한다 (적어도, SESF, DVB, ATSC, ISDB의 경우에는 그렇다).
따라서, X점은 어드레스 ISA1의 앞에 결정된다. 그리고, X점은 얼라인트 유닛의 경계이어야만 한다. 기록 장치는, AV 스트림의 내용을 해석하지 않고, X점을 EP_map을 사용하여 다음의 단계에서 결정할 수 있다.
(S1) 시스템 타임 베이스 상에서 INtime의 PTS에 가장 가깝고, 또한 그보다도 과거의 표시 시각인 PTS의 값을 갖는 SPN_EP_start를 찾아낸다.
(S2) 단계 S1에서 찾아낸 SPN_EP_start의 PTS의 값보다도 적어도 100msec 과거의 표시 시각인 PTS의 값을 갖는 SPN_EP_start를 찾아낸다.
(S3) X점은 단계 S2에서 찾아낸 SPN_EP_start보다도 앞에 결정된다. 그리고, X점은 얼라인트 유닛의 경계이어야만 한다.
이 방법은, X점을 결정하기 위해 AV 스트림의 데이터를 판독하고, 그 내용의 해석을 필요로 하지 않기 때문에, 간단하다. 그러나, 편집 후의 AV 스트림은, 그 PlayList의 재생에는 불필요한 데이터를 남기게 되는 경우가 있다. 만일, X점을 결정하기 위해 AV 스트림의 데이터를 판독하고, 그 내용을 해석하면, 그 PlayList의 재생에는 불필요한 데이터를보다 효율적으로 소거할 수 있다.
도 113은, AV 스트림의 내용을 해석하지 않고, OUT점 뒤의 불필요한 데이터를 소거하는 방법을 설명하는 도면이다. PlayList는 오리지널 AV 스트림 상의 OUT점을 가리킨다. 또한, 그 AV 스트림의 EP_map을 도시한다.
SPN_EP_start=ISA4로부터 개시하는 비디오 시퀀스는 다음에 나타내는 것을 전제로 한다.
I2 BO B1 P5 …
여기서, I, P, B는 각각 I 픽쳐, P 픽쳐 그리고 B 픽쳐를 나타낸다. 숫자는 표시 순서를 나타낸다. 이 처리에서, 기록 장치가 AV 스트림의 내용을 해석하지 않는 경우, 기록 장치는 OUT_time의 PTS가 참조하는 부분의 픽쳐의 정보(픽쳐 코딩 타입, 임시 참조 정보 등)를 알 수 없다. OUT_time의 PTS는 픽쳐 B0 또는 B1을 참조하고 있을지도 모른다 (기록 장치가 AV 스트림의 내용을 해석하지 않는 경우, 이 점을 알 수 없다). 이 경우, 픽쳐 B0, B1을 디코드하기 위해서는 I2가 필요하다. I2의 PTS는 OUT_time의 PTS보다도 크다 (OUT_time < pts4, 여기서 pts4는 I2의 PTS이다). I2의 PTS는 OUT_time의 PTS보다도 크지만, B0, B1을 위해 I2가 필요하다.
따라서, Y점은 도면에 도시한 어드레스 ISA5의 후에 결정된다. I8A5는, EP_map 중에서 ISA4의 직후에 있는 SPN_EP_start의 값이다. Y점은 또 얼라인드 유닛의 경계이어야만 한다.
기록 장치는, AV 스트림의 내용을 해석하지 않고, Y점을 EP_map을 사용하여 다음 단계에서 결정할 수 있다.
(S1) 시스템 타임 베이스 상에서 OUT time의 PTS에 가장 가깝고, 또한 그것보다도 미래의 표시 시각인 PTS의 값을 갖는 SPN_EP_start를 찾아낸다.
(S2) 단계 S1에서 찾아낸 SPN_EP_start의 직후에 있는 SPN_EP_start를 찾아낸다.
(S3) Y점은, 단계 S2에서 찾아낸 SPN_EP_start보다도 뒤에 결정된다. 그리고, Y점은 얼라인트 유닛의 경계이어야만 한다.
이 방법은, Y점을 결정하기 위해 AV 스트림의 데이터를 판독하여, 그 내용의 해석을 필요로 하지 않기 때문에, 간단하다. 그러나, 편집 후의 AV 스트림은, 그 PlayList의 재생에는 불필요한 데이터를 남겨 버리는 경우가 있다. 만일, Y 점을 결정하기 위해 AV 스트림의 데이터를 판독하여, 그 내용을 해석하면, 그 PlayList의 재생에는 불필요한 데이터를보다 효율적으로 소거할 수 있다.
다음에, EP_map의 작성의 동작 예를 도 114의 흐름도를 이용하여 설명한다. 이 처리는 도 1의 기록 재생 장치의 다중화 스트림 해석부(18)에서 행해진다.
단계 S11에서 스트림 해석부(18)는 기록하는 AV 프로그램의 비디오의 PID를 세트한다. 전송 스트림 중에 복수의 비디오가 포함되어 있는 경우에는, 각각의 비디오 PID를 세트한다.
단계 S12에서 스트림 해석부(18)는 비디오의 전송 패킷을 수신한다.
단계 S13에서 스트림 해석부는, 전송 패킷의 페이로드(패킷 헤더에 계속되는 데이터부)가 PES 패킷의 제1 바이트째로부터 개시하고 있는지를 조사한다 (PES 패킷은, MPEG2으로 규정되어 있는 패킷으로, 엘리먼트리 스트림을 패킷화하는 것이다). 이것은, 전송 패킷 헤더에 있는 "payload_unit_start_indicator"의 값을 조사함으로써 알 수 있고, 이 값이 1인 경우, 전송 패킷의 페이로드가 PES 패킷의 제1 바이트째로부터 개시한다. 단계 S13에서 No인 경우에는, 단계 S12로 되돌아가고, Yes인 경우에는, 단계 S14로 진행한다.
단계 S14에서 스트림 해석부는, PES 패킷의 페이로드가, MPEG 비디오의 sequence_header_code(32비트 길이로 "0x000001B3"의 부호)의 제1 바이트째로부터 개시하고 있는지의 여부를 조사한다. 단계 S14로 No인 경우에는, 단계 S12로 되돌아가고, Yes인 경우에는, 단계 S15로 진행한다.
단계 S15로 진행한 경우, 현재의 전송 패킷을 엔트리 포인트로 한다. 단계 S16에서 스트림 해석부는, 상기 패킷의 패킷 번호와 상기 sequence_header_code로부터 개시하는 I 픽쳐의 PTS와 그 엔트리 포인트가 속하는 비디오의 PID를 취득하여, 제어부(23)로 입력한다. 제어부(23)는 EP_map을 작성한다.
단계 S17에서, 현재의 패킷이 마지막으로 입력되는 전송 패킷인지의 여부를 판정한다. 최후의 패킷이 아닌 경우, 단계 S12로 되돌아간다. 최후의 패킷인 경우, 처리를 종료한다.
상술한 일련의 처리는, 하드웨어에 의해 실행시킬 수도 있지만, 소프트웨어에 의해 실행시킬 수도 있다. 일련의 처리를 소프트웨어에 의해 실행시키는 경우에는, 그 소프트웨어를 구성하는 프로그램이 전용 하드웨어에 내장되어 있는 컴퓨터, 또는, 각종의 프로그램을 인스톨함으로써, 각종의 기능을 실행하는 것이 가능한, 예를 들면 범용 퍼스널 컴퓨터 등에, 기록 매체로부터 인스톨된다.
이 기록 매체는, 도 115에 도시한 바와 같이, 컴퓨터와는 별도로, 사용자에게 프로그램을 제공하기 위해 배포되는, 프로그램이 기록되어 있는 자기 디스크(221: 플로피 디스크를 포함함), 광 디스크(222)(CD-ROM(Compact Disk-Read Only Memory), DVD(Digital Versatile Disk)를 포함함), 광 자기 디스크(223)(MD (Mini-Disk)를 포함함), 혹은 반도체 메모리(224) 등으로 이루어지는 패키지 미디어에 의해 구성되는 것뿐만 아니라, 컴퓨터에 사전에 내장된 상태에서 사용자에게 제공되는, 프로그램이 기억되어 있는 ROM(202)이나 기억부(208)가 포함되는 하드디스크 등으로 구성된다.
또, 본 명세서에서, 매체에 의해 제공되는 프로그램을 기술하는 단계는, 기 재된 순서에 따라서, 시계열적으로 행해지는 처리는 물론, 반드시 시계열적으로 처리되지 않더라도, 병렬적 혹은 개별로 실행되는 처리도 포함하는 것이다.
또한, 본 명세서에서, 시스템이란, 복수의 장치에 의해 구성되는 장치 전체를 나타내는 것이다.
이상과 같이, AV 스트림을 부호화하여 기록할 때, 그 AV 스트림의 속성 정보로서, time_controlled_flag, TS_average_rate를 기록한다. time_controlled_flag를 1로 세트하는 경우, AV 스트림의 시간 경과와 AV 스트림의 데이터 바이트량과의 관계가 소정의 오차의 범위 내에서 비례하는 것을 보증한다. 또한, TS_average_rate는, AV 스트림 파일(전송 스트림)의 평균 비트 레이트를 바이트/초의 단위로 표시한 것이다. TS_average_rate는, 기록기의 어플리케이션에 의해 소정의 값으로 결정한다. 예를 들면, 장시간 녹화 모드(LP 모드), 표준 녹화 모드(SP 모드), 고화질 녹화 모드(HQ 모드) 등의 기록 모드에 따라 각각의 모드의 TS_average_rate의 값을 결정한다.
AV 스트림 파일의 time_controlled_flag가 1로 세트되어 있는 경우, 그 스트림의 있는 시간만큼 부분적으로 스트림을 소거하면, 소거한 시간만큼 상기 스트림의 TS_average_rate로 나타내는 비트 레이트로 기록 가능한 빈 영역을 디스크 상에 만들 수 있는 것을 보증할 수 있다. 예를 들면, SP 모드의 AV 스트림 파일의 있는 시간만큼 부분적으로 스트림을 소거하면, 소거한 시간만큼, 동일한 SP 모드로 기록 가능한 빈 영역을 디스크 상에 만들 수 있다.
time_controlled_flag를 1로 세트하는 경우, 다음과 같이 하여 AV 스트림을 부호화한다.
(1) 전송 스트림의 다중화 비트 레이트 및 비디오 부호화의 평균 비트 레이트를 설정한다.
(2) 비디오 스트림을, 사전에 설정한 소정의 시간 구간마다 소정의 평균 비트 레이트가 보증되도록, 가변 비트 레이트로 인코드한다. 여기서, MPEG 비디오 부호화의 VBV(Video Buffering Verifier) 제어는, 비디오 인코더가 소정 시간의 비디오에 할당된 비트량을 사용하도록 제어하는 것을 목적으로 하여, VBV 버퍼에의 입력 비트 레이트가 현재의 부호화 비트 레이트이고, VBV 버퍼가 오버 플로우하지 않도록 비디오 인코더가 스터핑 바이트를 발생하도록 한다.
(3) 전송 패킷화하는 엘리먼트리 스트림이 없는 경우에 널 패킷을 발생하지 않도록 다중화의 제어를 한다.
(4) 각 전송 패킷에 도착 타임 스탬프를 부가하여, 소스 패킷화하고, 그리고, 소스 패킷 열을 앞에서부터 채워, AV 스트림 파일로서 기록한다.
이와 같이 하여, AV 스트림을 부호화하여 기록함으로써, 그 스트림의 있는 시간만큼 부분적으로 스트림을 소거하면, 소거한 시간만큼 상기 스트림의 TS_average_rate로 나타내는 비트 레이트로 기록 가능한 빈 영역을 디스크 상에 만들 수 있는 것을 보증할 수 있다.

Claims (11)

  1. 영상 데이터를 부호화하는 부호화 장치에 있어서,
    상기 영상 데이터를 가변 레이트로 부호화하는 부호화기와,
    시간 경과에 대하여 부호화 영상 데이터의 발생량이 소정의 오차 범위 내에서 비례하는 것을 보증하는 부호화 모드 및 시간 경과에 대하여 부호화 영상 데이터의 발생량이 비례하는 것을 보증하지 않는 부호화 모드를 적어도 갖고, 해당 부호화 모드에 따라 상기 부호화기에서의 부호화 영상 데이터의 발생량을 제어하는 제어부를 포함하는 부호화 장치.
  2. 제1항에 있어서,
    상기 제어부는, 단위 시간당의 부호화 영상 데이터의 발생량이 부호화하는 픽쳐의 최저 비트량에 미치지 못할 때는 스터핑 바이트를 부호화하도록 제어하는 부호화 장치.
  3. 제2항에 있어서,
    상기 제어부는, 각각의 픽쳐를 부호화할 때에 발생하는 부호화 영상 데이터의 발생량에 따라 스터핑 바이트를 부호화하는지의 여부를 판정하는 부호화 장치.
  4. 제2항에 있어서,
    상기 제어부는, VBV 버퍼가 오버 플로우되지 않도록 스터핑 바이트를 부호화하도록 제어하는 부호화 장치.
  5. 제1항에 있어서,
    상기 제어부는, 발생하는 부호화 영상 데이터의 발생량이 상기 가변 레이트의 여유량이 0인 상태와 상기 가변 레이트의 여유량이 최대인 상태의 범위 내에서 시간 경과에 비례하도록 부호화기를 제어하는 부호화 장치.
  6. 제5항에 있어서,
    상기 제어부는, 상기 부호화 모드가 시간 경과에 대하여 부호화 영상 데이터의 발생량이 소정의 오차 범위 내에서 비례하는 것을 보증하는 부호화 모드인지의 여부를 나타내는 부가 정보를 생성하는 부호화 장치.
  7. 영상 데이터를 부호화하는 부호화 장치의 부호화 방법에 있어서,
    상기 영상 데이터를 가변 레이트로 부호화하는 부호화 단계와,
    시간 경과에 대하여 부호화 영상 데이터의 발생량이 소정의 오차 범위 내에서 비례하는 것을 보증하는 부호화 모드 및 시간 경과에 대하여 부호화 영상 데이터의 발생량이 비례하는 것을 보증하지 않는 부호화 모드를 적어도 갖고, 해당 부호화 모드에 따라 상기 부호화 장치에서의 부호화 영상 데이터의 발생량을 제어하는 제어 단계
    를 포함하는 부호화 방법.
  8. 영상 데이터를 부호화하는 부호화 장치를 제어하는 프로그램이 기록되어 있는 기록 매체에 있어서,
    상기 영상 데이터를 가변 레이트로 부호화하는 부호화 단계와,
    시간 경과에 대하여 부호화 영상 데이터의 발생량이 소정의 오차 범위 내에서 비례하는 것을 보증하는 부호화 모드 및 시간 경과에 대하여 부호화 영상 데이터의 발생량이 비례하는 것을 보증하지 않는 부호화 모드를 적어도 갖고, 해당 부호화 모드에 따라 상기 부호화 장치에서의 부호화 영상 데이터의 발생량을 제어하는 제어 단계
    를 포함하는 컴퓨터가 판독 가능한 프로그램이 기록되어 있는 기록 매체.
  9. 삭제
  10. 영상 데이터가 기록되어 있는 기록 매체에 있어서,
    상기 영상 데이터와, 상기 영상 데이터에 대응하는 오디오 데이터를 포함하는 AV 스트림 파일과,
    상기 AV 스트림 파일의 파일 사이즈가 시간 경과에 대하여 소정의 오차 범위 내에서 비례하는 것을 보증하는 부호화 모드로 부호화되었는지의 여부를 나타내는 플래그가 기록되어 있는 기록 매체.
  11. 제10항에 있어서,
    상기 플래그는 time_controlled_flag인 기록 매체.
KR1020017016424A 2000-04-21 2001-04-20 부호화 장치, 부호화 방법, 및 기록 매체 KR100821019B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JPJP-P-2000-00183770 2000-04-21
JP2000183770 2000-04-21
JPJP-P-2000-00268042 2000-09-05
JP2000268042 2000-09-05

Publications (2)

Publication Number Publication Date
KR20020022135A KR20020022135A (ko) 2002-03-25
KR100821019B1 true KR100821019B1 (ko) 2008-04-08

Family

ID=26594225

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020017016424A KR100821019B1 (ko) 2000-04-21 2001-04-20 부호화 장치, 부호화 방법, 및 기록 매체
KR1020017016426A KR100806432B1 (ko) 2000-04-21 2001-04-20 정보 처리 장치 및 방법, 프로그램과 기록 매체

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020017016426A KR100806432B1 (ko) 2000-04-21 2001-04-20 정보 처리 장치 및 방법, 프로그램과 기록 매체

Country Status (7)

Country Link
US (2) US7646967B2 (ko)
EP (2) EP2546833A3 (ko)
JP (4) JP5008161B2 (ko)
KR (2) KR100821019B1 (ko)
CN (3) CN101867835B (ko)
MX (1) MXPA01013110A (ko)
WO (2) WO2001082605A1 (ko)

Families Citing this family (125)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1243141B1 (en) * 1999-12-14 2011-10-19 Scientific-Atlanta, LLC System and method for adaptive decoding of a video signal with coordinated resource allocation
KR100537392B1 (ko) * 2001-06-15 2005-12-19 샤프 가부시키가이샤 데이터 기록 방법, 데이터 편집 방법 및 데이터 복호 방법, 및 그 장치, 및 기록 매체
KR100598285B1 (ko) 2001-06-21 2006-07-07 엘지전자 주식회사 멀티채널 스트림 기록장치 및 방법과, 그에 따른 기록매체
KR20020097454A (ko) 2001-06-21 2002-12-31 엘지전자 주식회사 멀티채널 스트림 기록장치 및 방법과, 그에 따른 기록매체
JP4409792B2 (ja) * 2001-06-22 2010-02-03 ソニー株式会社 データ伝送装置および方法、記録媒体並びにプログラム
JP2003032602A (ja) * 2001-07-11 2003-01-31 Pioneer Electronic Corp 画像編集装置及び方法、画像記録再生装置並びにコンピュータプログラム
JP3716920B2 (ja) 2001-10-16 2005-11-16 ソニー株式会社 記録媒体再生装置および方法、記録媒体、並びにプログラム
CN100530410C (zh) 2001-11-29 2009-08-19 夏普株式会社 数据记录方法、数据显示方法和记录装置
JP2003169292A (ja) 2001-11-30 2003-06-13 Victor Co Of Japan Ltd アフレコ装置、コンピュータプログラム、記録媒体、伝送方法及び再生装置
KR100563668B1 (ko) 2001-12-22 2006-03-28 엘지전자 주식회사 재기록 가능 고밀도 기록매체의 더빙 오디오 기록방법
KR100563667B1 (ko) 2001-12-24 2006-03-28 엘지전자 주식회사 재기록 가능 기록매체에의 정지영상 기록방법
US7274857B2 (en) * 2001-12-31 2007-09-25 Scientific-Atlanta, Inc. Trick modes for compressed video streams
KR100563670B1 (ko) 2002-01-28 2006-03-28 엘지전자 주식회사 재기록 가능 고밀도 기록매체의 정지영상 기록방법
KR100563685B1 (ko) * 2002-02-25 2006-03-28 엘지전자 주식회사 재기록 가능 기록매체의 재생리스트 관리방법
KR100880627B1 (ko) * 2002-04-25 2009-01-30 엘지전자 주식회사 멀티 더빙 오디오 스트림의 기록 및 재생 관리방법
KR20030087193A (ko) 2002-05-07 2003-11-14 엘지전자 주식회사 멀티 채널 방송 스트림의 기록 관리방법
US7657152B2 (en) * 2002-05-28 2010-02-02 Panasonic Corporation Broadcast playback and/or recording apparatus
JP3833571B2 (ja) * 2002-05-28 2006-10-11 富士通株式会社 データ復号器およびデータ復号化方法
KR100930354B1 (ko) * 2002-06-18 2009-12-08 엘지전자 주식회사 대화형 광디스크 장치에서의 콘텐츠 정보 재생방법과,콘텐츠 제공서버에서의 콘텐츠 정보 제공방법
KR100582957B1 (ko) * 2002-06-21 2006-05-23 엘지전자 주식회사 비디오 데이터의 재생을 관리하기 위한 데이터 구조를 갖는기록 매체
AU2003241198B2 (en) * 2002-06-21 2009-09-03 Lg Electronics Inc. Recording medium having data structure for managing reproduction of video data recorded thereon
KR20040000290A (ko) 2002-06-24 2004-01-03 엘지전자 주식회사 고밀도 광디스크의 멀티 경로 데이터 스트림 관리방법
US7889968B2 (en) 2002-06-24 2011-02-15 Lg Electronics Inc. Recording medium having data structure for managing reproduction of multiple reproduction path video data for at least a segment of a title recorded thereon and recording and reproducing methods and apparatuses
KR100550695B1 (ko) * 2002-06-24 2006-02-08 엘지전자 주식회사 다중 재생 경로 비디오 데이터의 재생을 관리하기 위한데이터 구조를 갖는 기록 매체와 그에 따른 기록 및 재생방법 및 장치
EP1516332A4 (en) 2002-06-24 2009-07-22 Lg Electronics Inc RECORDING MEDIUM WITH A DATA STRUCTURE FOR MANAGING THE REPRODUCTION OF MULTI-TITLE VIDEO DATA RECORDED THEREFROM AND PLAYBACK PROCESSES AND DEVICES
CA2459070C (en) 2002-06-28 2013-10-22 Lg Electronics Inc. Recording medium having data structure for managing reproduction of multiple playback path video data recorded thereon and recording and reproducing methods and apparatuses
JP4312151B2 (ja) 2002-06-28 2009-08-12 エルジー エレクトロニクス インコーポレーテッド 多重経路データの記録及び再生を管理するためのデータ構造を有する記録媒体と、それによって記録し、再生する方法及び装置
KR100607949B1 (ko) * 2002-09-11 2006-08-03 삼성전자주식회사 계층화된 정보 구조를 이용한 멀티미디어 데이터 기록장치, 재생 장치 및 그 정보저장매체
JP3858151B2 (ja) * 2002-10-01 2006-12-13 パイオニア株式会社 情報記録媒体、情報記録装置及び方法、情報再生装置及び方法、情報記録再生装置及び方法、記録又は再生制御用のコンピュータプログラム、並びに制御信号を含むデータ構造
AU2003269518B2 (en) * 2002-10-14 2009-08-13 Lg Electronics Inc. Recording medium having data structure for managing reproduction of multiple audio streams recorded thereon and recording and reproducing methods and apparatuses
KR100672111B1 (ko) * 2002-10-15 2007-01-19 엘지전자 주식회사 기록된 복수의 그래픽 스트림의 재생을 관리하기 위한데이터 구조를 갖는 기록 매체, 그에 따른 기록 및 재생방법 및 장치
AU2003276759A1 (en) 2002-11-08 2004-06-07 Lg Electronics Inc. Method and apparatus for recording a multi-component stream and a high-density recording medium having a multi-component stream recorded theron and reproducing method and apparatus of said recording medium
US7720356B2 (en) 2002-11-12 2010-05-18 Lg Electronics Inc Recording medium having data structure for managing reproduction of multiple reproduction path video data recorded thereon and recording and reproducing methods and apparatuses
US7783160B2 (en) 2002-11-20 2010-08-24 Lg Electronics Inc. Recording medium having data structure for managing reproduction of interleaved multiple reproduction path video data recorded thereon and recording and reproducing methods and apparatuses
US7664372B2 (en) 2002-11-20 2010-02-16 Lg Electronics Inc. Recording medium having data structure for managing reproduction of multiple component data recorded thereon and recording and reproducing methods and apparatuses
US7366733B2 (en) * 2002-12-13 2008-04-29 Matsushita Electric Industrial Co., Ltd. Method and apparatus for reproducing play lists in record media
US20050055375A1 (en) * 2002-12-13 2005-03-10 Yasuyuki Torii Recording and reproducing system, recording apparatus, reproducing apparatus, record medium, recording and reproducing method, recording method, reproducing method, program and record medium
US20050111831A1 (en) * 2002-12-13 2005-05-26 Chiyoko Matsumi Recording and reproducing system, recording and reproducing method, program and record medium
KR100520115B1 (ko) * 2002-12-27 2005-10-10 삼성전자주식회사 플레이리스트 관리 장치 및 방법
DE602004013430T2 (de) * 2003-02-19 2009-06-04 Panasonic Corp., Kadoma Aufzeichnungsmedium, wiedergabevorrichtung, aufzeichnungsverfahren, programm und wiedergabeverfahren
US7693394B2 (en) 2003-02-26 2010-04-06 Lg Electronics Inc. Recording medium having data structure for managing reproduction of data streams recorded thereon and recording and reproducing methods and apparatuses
US7809775B2 (en) * 2003-02-27 2010-10-05 Lg Electronics, Inc. Recording medium having data structure for managing playback control recorded thereon and recording and reproducing methods and apparatuses
RU2369919C2 (ru) 2003-02-28 2009-10-10 Эл Джи Электроникс Инк. Носитель записи со структурой данных для управления воспроизведением в произвольном порядке/с перемешиванием записанных на нем видеоданных и способы и устройства записи и воспроизведения
KR20050106594A (ko) * 2003-03-14 2005-11-10 인터디지탈 테크날러지 코포레이션 타임슬롯화된 데이터 전송을 위한 개선된 자동 이득 제어메카니즘
US7224664B2 (en) 2003-03-25 2007-05-29 Lg Electronics Inc. Recording medium having data structure for managing reproduction of data streams recorded thereon and recording and reproducing methods and apparatuses
US7620301B2 (en) 2003-04-04 2009-11-17 Lg Electronics Inc. System and method for resuming playback
KR100977918B1 (ko) 2003-04-23 2010-08-24 파나소닉 주식회사 기록매체, 재생장치, 기록방법, 재생방법
JP4228767B2 (ja) * 2003-04-25 2009-02-25 ソニー株式会社 再生装置、再生方法、再生プログラムおよび記録媒体
KR100954999B1 (ko) * 2003-06-02 2010-04-27 엘지전자 주식회사 고밀도 광디스크의 부가 콘텐츠 데이터 관리 및 재생방법
US20040252966A1 (en) * 2003-06-10 2004-12-16 Holloway Marty M. Video storage and playback system and method
JP3931843B2 (ja) 2003-06-13 2007-06-20 株式会社日立製作所 記録媒体および再生方法
BRPI0412839A (pt) 2003-07-24 2006-09-26 Lg Electronics Inc mìdia de gravação que tem uma estrutura de dados para gerenciar reprodução de dados de subtìtulo de texto gravado nela e métodos e aparelhos de gravação e reprodução
KR20050012328A (ko) 2003-07-25 2005-02-02 엘지전자 주식회사 고밀도 광디스크의 프레젠테이션 그래픽 데이터 관리 및재생방법과 그에 따른 고밀도 광디스크
JP2005057657A (ja) * 2003-08-07 2005-03-03 Canon Inc 画像処理装置
US7966642B2 (en) * 2003-09-15 2011-06-21 Nair Ajith N Resource-adaptive management of video storage
CN101714394B (zh) * 2003-10-03 2012-07-11 夏普株式会社 记录再现装置和服务器装置
US7945141B2 (en) * 2003-10-06 2011-05-17 Samsung Electronics Co., Ltd. Information storage medium including event occurrence information, and apparatus and method for reproducing the information storage medium
TW200518070A (en) 2003-10-10 2005-06-01 Matsushita Electric Ind Co Ltd Recording medium, reproduction device, program, and reproduction method
JP4464101B2 (ja) * 2003-10-10 2010-05-19 キヤノン株式会社 トランスポートストリーム編集方法及び装置
KR100848437B1 (ko) * 2003-10-10 2008-07-28 샤프 가부시키가이샤 콘텐츠 재생 장치, 콘텐츠 재생 장치의 제어 방법, 콘텐츠 기록 매체, 및 컴퓨터 판독 가능한 기록 매체
KR20050035678A (ko) 2003-10-14 2005-04-19 엘지전자 주식회사 광디스크 장치의 부가 데이터 재생방법 및 장치와, 이를위한 광디스크
KR20050036277A (ko) 2003-10-15 2005-04-20 엘지전자 주식회사 고밀도 광디스크의 네비게이션 정보 관리방법
KR20050048848A (ko) 2003-11-20 2005-05-25 엘지전자 주식회사 고밀도 광디스크의 플레이리스트 생성방법, 관리방법 및재생방법과 기록재생장치
KR20050052790A (ko) * 2003-12-01 2005-06-07 엘지전자 주식회사 고밀도 광디스크 및 고밀도 광디스크의 파일 관리방법 및재생방법과 기록재생장치
JP2007518205A (ja) * 2004-01-06 2007-07-05 エルジー エレクトロニクス インコーポレーテッド テキスト・サブタイトル・ストリームの再生・記録のための記録媒体、方法及び装置
KR20050072255A (ko) * 2004-01-06 2005-07-11 엘지전자 주식회사 고밀도 광디스크의 서브타이틀 구성방법 및 재생방법과기록재생장치
CA2553708C (en) * 2004-02-06 2014-04-08 Sony Corporation Information processing device, information processing method, program, and data structure
BRPI0418524A (pt) * 2004-02-10 2007-05-15 Lg Electronics Inc meio fìsico de gravação, método e aparelho para gravar e reproduzir um estrutura de dados
EP1716573A1 (en) * 2004-02-10 2006-11-02 LG Electronic Inc. Recording medium having a data structure for managing data streams associated with different languages and recording and reproducing methods and apparatuses
US7587405B2 (en) * 2004-02-10 2009-09-08 Lg Electronics Inc. Recording medium and method and apparatus for decoding text subtitle streams
EP1716566A1 (en) * 2004-02-10 2006-11-02 LG Electronic Inc. Recording medium having a data structure for managing font information for text subtitles and recording and reproducing methods and apparatuses
KR20070028326A (ko) * 2004-02-10 2007-03-12 엘지전자 주식회사 기록매체 및 텍스트 서브타이틀 스트림 디코딩 방법과 장치
KR20050089353A (ko) * 2004-03-04 2005-09-08 엘지전자 주식회사 고밀도 광디스크와 그에 따른 데이터 파일 구성 방법 및재생 방법과 장치
WO2005076601A1 (en) * 2004-02-10 2005-08-18 Lg Electronic Inc. Text subtitle decoder and method for decoding text subtitle streams
US20050196146A1 (en) * 2004-02-10 2005-09-08 Yoo Jea Y. Method for reproducing text subtitle and text subtitle decoding system
JP2007531183A (ja) * 2004-02-10 2007-11-01 エルジー エレクトロニクス インコーポレーテッド 多様なデータストリームを管理するためのデータ構造を有する記録媒体、記録再生方法及び装置
RU2377669C2 (ru) * 2004-02-10 2009-12-27 ЭлДжи ЭЛЕКТРОНИКС ИНК. Носитель записи, имеющий структуру данных для управления различными данными, и способ и устройство записи и воспроизведения
KR20060129067A (ko) * 2004-02-26 2006-12-14 엘지전자 주식회사 기록매체 및 텍스트 서브타이틀 스트림 기록 재생 방법과장치
KR100662902B1 (ko) * 2004-03-09 2007-01-02 삼성전자주식회사 Dvi 규격의 디지털 신호를 출력할 수 있는 광재생장치및 그 재생방법
WO2005088634A1 (en) 2004-03-17 2005-09-22 Lg Electronics Inc. Recording medium, method, and apparatus for reproducing text subtitle streams
CN1934642B (zh) 2004-03-18 2012-04-25 Lg电子株式会社 用于再现记录在记录介质上的文本字幕流的记录介质以及方法和设备
US7617242B2 (en) * 2004-03-30 2009-11-10 Panasonic Corporation Method and apparatus for reproducing play lists in record media
US20050232601A1 (en) * 2004-04-02 2005-10-20 Hiroshi Kase Data recording and reproducing apparatus, data recording and reproducing method and recording medium
US20050219980A1 (en) * 2004-04-02 2005-10-06 Hiroshi Kase Data recording and reproducing apparatus, data recording and reproducing method and recording medium
US20050220442A1 (en) * 2004-04-02 2005-10-06 Hiroshi Kase Data recording and reproducing apparatus, data recording and reproducing method and recording medium
CN1943237A (zh) * 2004-04-15 2007-04-04 皇家飞利浦电子股份有限公司 无需重新编码为多媒体段的无缝连接创建桥接剪辑
CN100544419C (zh) 2004-04-16 2009-09-23 松下电器产业株式会社 用于在记录介质上记录信息的方法、再现设备
CN101815212B (zh) * 2004-04-16 2013-01-02 松下电器产业株式会社 重放装置以及记录方法
KR20060047266A (ko) * 2004-04-26 2006-05-18 엘지전자 주식회사 기록매체, 기록매체의 재생방법과 재생장치
EP1596396A1 (en) * 2004-05-15 2005-11-16 Deutsche Thomson-Brandt Gmbh Method for splitting a data stream
JP4608953B2 (ja) * 2004-06-07 2011-01-12 ソニー株式会社 データ記録装置、方法およびプログラム、データ再生装置、方法およびプログラム、ならびに、記録媒体
US20050276548A1 (en) * 2004-06-10 2005-12-15 Jiang Fu Transcoding closed captioning data from broadcast DTV onto DVD
US8600217B2 (en) * 2004-07-14 2013-12-03 Arturo A. Rodriguez System and method for improving quality of displayed picture during trick modes
CN100395842C (zh) * 2004-12-10 2008-06-18 上海乐金广电电子有限公司 Dvd设备的编码装置及其方法
KR101151303B1 (ko) * 2004-12-29 2012-06-08 엘지전자 주식회사 데이터 패킷의 도착시각을 결정하는 방법 및 장치
KR100782810B1 (ko) * 2005-01-07 2007-12-06 삼성전자주식회사 확장 검색 기능을 제공하기 위한 메타데이터가 기록된 저장매체를 재생하는 방법 및 장치
TWI323456B (en) * 2005-01-07 2010-04-11 Samsung Electronics Co Ltd Storage medium storing metadata for providing enhanced search function
CN102270482A (zh) 2005-01-28 2011-12-07 松下电器产业株式会社 记录介质、程序和再现方法
JP2006302346A (ja) * 2005-04-15 2006-11-02 Toshiba Corp 情報記録媒体、情報記録方法、情報再生方法、情報記録装置、情報再生装置
WO2006115060A1 (ja) * 2005-04-22 2006-11-02 Sony Corporation 記録装置および記録方法、再生装置および再生方法、プログラム、並びに記録媒体
US7912219B1 (en) 2005-08-12 2011-03-22 The Directv Group, Inc. Just in time delivery of entitlement control message (ECMs) and other essential data elements for television programming
JP2007074549A (ja) * 2005-09-08 2007-03-22 Toshiba Corp 情報記録媒体、情報記録方法、情報再生方法、情報記録装置、情報再生装置
US8989084B2 (en) 2005-10-14 2015-03-24 Qualcomm Incorporated Methods and apparatus for broadcasting loading information corresponding to neighboring base stations
JP4784371B2 (ja) * 2006-04-06 2011-10-05 ソニー株式会社 記録装置、記録方法および記録プログラム
JP4591405B2 (ja) * 2006-05-10 2010-12-01 ソニー株式会社 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム
JP4229144B2 (ja) * 2006-06-23 2009-02-25 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
KR101034832B1 (ko) 2006-11-16 2011-05-17 후지쯔 세미컨덕터 가부시키가이샤 Gop간 관리 장치
JP5239170B2 (ja) * 2007-02-28 2013-07-17 富士ゼロックス株式会社 画像処理システム及びプログラム
US20090033791A1 (en) * 2007-07-31 2009-02-05 Scientific-Atlanta, Inc. Video processing systems and methods
JP4751868B2 (ja) * 2007-10-04 2011-08-17 ルネサスエレクトロニクス株式会社 光ディスク再生装置
US8223151B2 (en) * 2008-01-25 2012-07-17 Tektronix, Inc. Mark extension for analysis of long record length data
US8300696B2 (en) * 2008-07-25 2012-10-30 Cisco Technology, Inc. Transcoding for systems operating under plural video coding specifications
JP2011151784A (ja) * 2009-12-25 2011-08-04 Panasonic Corp 動画像多重化装置、映像音声記録装置及び動画像多重化方法
JP2012249019A (ja) * 2011-05-26 2012-12-13 Sony Corp 記録装置、記録方法、再生装置、再生方法、プログラム、および記録再生装置
JP2013115552A (ja) * 2011-11-28 2013-06-10 Sony Corp 情報処理装置、情報処理方法、並びにプログラム
JP5999405B2 (ja) * 2011-11-28 2016-09-28 ソニー株式会社 情報処理装置、情報処理方法、並びにプログラム
US10372758B2 (en) * 2011-12-22 2019-08-06 Tivo Solutions Inc. User interface for viewing targeted segments of multimedia content based on time-based metadata search criteria
TWI540886B (zh) * 2012-05-23 2016-07-01 晨星半導體股份有限公司 音訊解碼方法及音訊解碼裝置
TWI447718B (zh) * 2012-09-03 2014-08-01 Mstar Semiconductor Inc 產生略縮圖之方法與裝置
US9888115B2 (en) 2013-02-28 2018-02-06 Lennard A. Gumaer Media device and method of using a media device
US9998750B2 (en) 2013-03-15 2018-06-12 Cisco Technology, Inc. Systems and methods for guided conversion of video from a first to a second compression format
JP6461638B2 (ja) * 2014-02-21 2019-01-30 日本放送協会 受信機
WO2017187807A1 (ja) * 2016-04-28 2017-11-02 ソニー株式会社 情報処理端末装置
DE102017127428B4 (de) * 2016-11-22 2023-11-09 Hyundai Motor Company Verfahren und Vorrichtung zum Wiedergeben von Inhalten basierend auf einer Präsentationszeit im Fahrzeugnetzwerk
CN112115072B (zh) * 2020-09-03 2022-06-17 清华大学 时序图的处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0846907A (ja) * 1994-07-27 1996-02-16 Hitachi Ltd ディスク記録装置
JPH0946691A (ja) * 1995-07-31 1997-02-14 Victor Co Of Japan Ltd 情報蓄積出力方法及び情報蓄積出力装置
JPH09135412A (ja) * 1995-11-08 1997-05-20 Canon Inc 記録再生装置
JPH11205740A (ja) * 1998-01-09 1999-07-30 Toshiba Corp 圧縮記録装置及び方法

Family Cites Families (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3344607B2 (ja) 1993-10-04 2002-11-11 松下電器産業株式会社 光ディスク、再生装置および再生方法
JP2873781B2 (ja) 1994-08-17 1999-03-24 株式会社グラフィックス・コミュニケーション・ラボラトリーズ 動画像符号量制御方法と装置
JP3119116B2 (ja) 1995-06-07 2000-12-18 株式会社日立製作所 ディジタル映像信号の出力回路、記録装置及び再生装置
US6002834A (en) 1995-02-24 1999-12-14 Hitachi, Ltd. Optical disk having table relating sector address and time and optical disk reproducing apparatus
JP3329979B2 (ja) * 1995-02-24 2002-09-30 株式会社日立製作所 光ディスク及び光ディスク再生装置
JPH08280012A (ja) 1995-04-08 1996-10-22 Sony Corp データ記録方法及び装置、データ再生方法及び装置、記録媒体、データ伝送方法及び装置
US5612900A (en) * 1995-05-08 1997-03-18 Kabushiki Kaisha Toshiba Video encoding method and system which encodes using a rate-quantizer model
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
JPH09139937A (ja) 1995-11-14 1997-05-27 Fujitsu Ltd 動画ストリーム変換装置
JP3536493B2 (ja) 1995-12-13 2004-06-07 ソニー株式会社 オーサリングシステム,このシステムで使用される符号化装置及び多重化装置並びに多重ビットストリームを生成する方法
US5872598A (en) * 1995-12-26 1999-02-16 C-Cube Microsystems Scene change detection using quantization scale factor rate control
JPH09233374A (ja) 1996-02-20 1997-09-05 Sony Tektronix Corp 放送用録画再生システム
JP4112644B2 (ja) 1996-02-28 2008-07-02 パイオニア株式会社 情報記録媒体、情報記録装置及び情報記録方法並びに情報再生装置及び情報再生方法
JP3719758B2 (ja) 1996-03-19 2005-11-24 パイオニア株式会社 情報記録装置及び方法並びに情報再生装置及び方法
JPH09312656A (ja) 1996-03-21 1997-12-02 Sony Corp 伝送装置およびその方法
JPH1023069A (ja) 1996-07-02 1998-01-23 Sony Corp 伝送装置及び伝送方法
JP3216531B2 (ja) 1996-07-24 2001-10-09 三菱電機株式会社 再多重化装置および再多重化方法
KR19980017222A (ko) * 1996-08-30 1998-06-05 배순훈 디브이디 시스템의 화상 스캔 방법
US5838876A (en) 1996-09-24 1998-11-17 Sony Corporation Frame-accurate edit and playback in digital stream recording
JP3151173B2 (ja) 1996-09-25 2001-04-03 松下電器産業株式会社 画像圧縮符号化装置及び方法
EP0875856B1 (en) 1996-09-27 2003-05-02 Matsushita Electric Industrial Co., Ltd. Multimedia stream editing and authoring system involving verification of editing instructions
US5917830A (en) * 1996-10-18 1999-06-29 General Instrument Corporation Splicing compressed packetized digital video streams
JPH10133700A (ja) 1996-10-31 1998-05-22 Sanyo Electric Co Ltd 圧縮符号化データの記録方法
JPH10145735A (ja) 1996-11-05 1998-05-29 Toshiba Corp 復号装置および画像/音声再生方法
KR19990067618A (ko) * 1996-11-29 1999-08-25 이데이 노부유끼 편집시스템과방법
JP4363671B2 (ja) 1997-03-20 2009-11-11 ソニー株式会社 データ再生装置及びデータ再生方法
JP3791114B2 (ja) 1997-04-30 2006-06-28 ソニー株式会社 信号再生装置及び方法
JP3356004B2 (ja) * 1997-05-30 2002-12-09 日本ビクター株式会社 可変レート符号化装置及び方法
CA2247637A1 (en) * 1997-09-17 1999-03-17 Matsushita Electric Industrial Co., Ltd. Video data editing apparatus, optical disc for use as a recording medium of a video data editing apparatus, and computer-readable recording medium storing an editing program
EP1193708B1 (en) * 1997-09-17 2006-03-29 Matsushita Electric Industrial Co., Ltd. Optical disc, recording apparatus, and computer-readable recording medium
JPH1196730A (ja) 1997-09-17 1999-04-09 Matsushita Electric Ind Co Ltd 光ディスク及びその編集装置、再生装置
CN1309252C (zh) * 1997-09-17 2007-04-04 松下电器产业株式会社 将视频数据记录在光盘的设备和方法
JPH11103441A (ja) 1997-09-26 1999-04-13 Matsushita Electric Ind Co Ltd クリップ表示方法とその表示装置
JP4296604B2 (ja) 1997-10-03 2009-07-15 ソニー株式会社 符号化ストリームスプライシング装置及び方法、並びに符号化ストリーム生成装置及び方法
JPH11122623A (ja) 1997-10-15 1999-04-30 Mega Chips Corp 画像符号化装置
US6697566B2 (en) * 1997-10-17 2004-02-24 Sony Corporation Encoded signal characteristic point recording apparatus
EP0917149A3 (en) 1997-10-21 2001-03-21 Sony Corporation Information processing apparatus, information processing method, presentation medium and recording medium
JP3276596B2 (ja) 1997-11-04 2002-04-22 松下電器産業株式会社 動画像編集装置
JPH11149717A (ja) 1997-11-19 1999-06-02 Toshiba Corp デコード処理方法及び装置
TW385436B (en) 1997-12-12 2000-03-21 Toshiba Corp Digital recording system using variable recording rate
JPH11259992A (ja) 1998-03-10 1999-09-24 Toshiba Corp 情報記録媒体と情報記録装置と情報編集装置とディジタル放送記録装置
JP4615637B2 (ja) 1998-03-20 2011-01-19 パイオニア株式会社 情報記録再生装置
EP0953977B1 (en) * 1998-05-01 2003-03-26 Samsung Electronics Co., Ltd. Recording medium for storing real time recording/reproduction information
JP4207304B2 (ja) 1998-05-19 2009-01-14 ソニー株式会社 情報入力装置および方法、情報出力装置および方法、並びに記録媒体
JPH11355772A (ja) 1998-06-10 1999-12-24 Victor Co Of Japan Ltd 映像信号符号化装置
JP3383587B2 (ja) 1998-07-07 2003-03-04 株式会社東芝 静止画像連続情報記録方法と光ディスクと光ディスクの情報再生装置と情報再生方法
JP3356691B2 (ja) * 1998-07-07 2002-12-16 株式会社東芝 情報記録媒体とその記録方法及び再生方法
JP2000059326A (ja) 1998-08-11 2000-02-25 Sony Corp 送出ログファイル作成方法およびデータ送出装置
TW463165B (en) * 1998-09-07 2001-11-11 Thomson Brandt Gmbh Method for addressing a bitstream to be recorded or being recorded on a storage medium
EP0986062A1 (en) 1998-09-07 2000-03-15 Deutsche Thomson-Brandt Gmbh Method for addressing a bit stream recording
EP0991072A1 (en) 1998-09-07 2000-04-05 Deutsche Thomson-Brandt Gmbh Method for addressing a bit stream recording
JP4207099B2 (ja) 1998-09-29 2009-01-14 ソニー株式会社 画像編集装置及びその方法
JP2000149502A (ja) 1998-11-10 2000-05-30 Sony Corp 編集データ作成装置
CA2289958C (en) 1998-11-19 2003-01-21 Tomoyuki Okada Information recording medium, apparatus and method for recording or reproducing data thereof
EP1021048A3 (en) * 1999-01-14 2002-10-02 Kabushiki Kaisha Toshiba Digital video recording system and its recording medium
WO2000046803A1 (fr) 1999-02-05 2000-08-10 Kabushiki Kaisha Toshiba Procede permettant de creer des trains de donnees et procede permettant d'effectuer des suppressions partielles
MY128112A (en) * 1999-03-10 2007-01-31 Matsushita Electric Ind Co Ltd Optical disc, optical disc recording and reproducing apparatus, and optical disc recording and reproducing method
WO2000055854A1 (fr) * 1999-03-17 2000-09-21 Kabushiki Kaisha Toshiba Procede d'enregistrement de donnees en fluxet de leur structure
US6493005B1 (en) * 1999-03-30 2002-12-10 Sony Corporation On screen display
EP1091588A4 (en) 1999-04-23 2004-08-11 Sony Corp IMAGE ENCODER AND METHOD
JP4389365B2 (ja) * 1999-09-29 2009-12-24 ソニー株式会社 トランスポートストリーム記録装置および方法、トランスポートストリーム再生装置および方法、並びにプログラム記録媒体
JP4328989B2 (ja) * 1999-11-24 2009-09-09 ソニー株式会社 再生装置、再生方法、並びに記録媒体
JP3942792B2 (ja) 2000-03-28 2007-07-11 パイオニア株式会社 映像編集方法及び装置、並びにそのための記憶媒体
JP4168569B2 (ja) 2000-03-31 2008-10-22 松下電器産業株式会社 映像編集装置
GB0007870D0 (en) * 2000-03-31 2000-05-17 Koninkl Philips Electronics Nv Methods and apparatus for making and replauing digital video recordings, and recordings made by such methods
JP4517266B2 (ja) * 2000-04-21 2010-08-04 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
WO2001082608A1 (fr) * 2000-04-21 2001-11-01 Sony Corporation Appareil et procede de traitement des informations, programme et support enregistre

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0846907A (ja) * 1994-07-27 1996-02-16 Hitachi Ltd ディスク記録装置
JPH0946691A (ja) * 1995-07-31 1997-02-14 Victor Co Of Japan Ltd 情報蓄積出力方法及び情報蓄積出力装置
JPH09135412A (ja) * 1995-11-08 1997-05-20 Canon Inc 記録再生装置
JPH11205740A (ja) * 1998-01-09 1999-07-30 Toshiba Corp 圧縮記録装置及び方法

Also Published As

Publication number Publication date
US8634700B2 (en) 2014-01-21
JP2011050082A (ja) 2011-03-10
EP1198132A4 (en) 2010-07-28
CN101867835B (zh) 2013-09-11
JP2011050081A (ja) 2011-03-10
CN1199446C (zh) 2005-04-27
WO2001082604A1 (en) 2001-11-01
JP5500398B2 (ja) 2014-05-21
KR20020026195A (ko) 2002-04-06
JP2011135589A (ja) 2011-07-07
JP5008161B2 (ja) 2012-08-22
CN101867835A (zh) 2010-10-20
US20100080534A1 (en) 2010-04-01
MXPA01013110A (es) 2002-06-04
CN1383677A (zh) 2002-12-04
US20030103604A1 (en) 2003-06-05
EP2546833A3 (en) 2014-08-20
EP2546833A2 (en) 2013-01-16
CN1383678A (zh) 2002-12-04
JP5047371B2 (ja) 2012-10-10
WO2001082605A1 (en) 2001-11-01
KR20020022135A (ko) 2002-03-25
JP5008160B2 (ja) 2012-08-22
KR100806432B1 (ko) 2008-02-21
US7646967B2 (en) 2010-01-12
EP1198132A1 (en) 2002-04-17
JP2012191658A (ja) 2012-10-04

Similar Documents

Publication Publication Date Title
KR100821019B1 (ko) 부호화 장치, 부호화 방법, 및 기록 매체
KR100948439B1 (ko) 정보 처리 장치와 방법, 및 기록 매체
KR100746821B1 (ko) 정보 처리 장치와 방법, 기록매체
KR100795255B1 (ko) 정보 처리 장치 및 방법, 프로그램과 기록 매체
JP4517267B2 (ja) 記録装置および方法、再生装置および方法、プログラム、並びに記録媒体
JP4682434B2 (ja) 情報処理装置および方法、記録媒体、並びにプログラム
JP4355988B2 (ja) 情報処理装置、情報処理方法、プログラム記録媒体、プログラム、および情報記録媒体
JP2002159004A (ja) 符号化装置および方法、記録媒体、並びにプログラム

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130322

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140324

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee