KR101353000B1 - 기록장치, 기록방법 및 기록 프로그램과 촬상장치,촬상방법 및 촬상 프로그램 - Google Patents

기록장치, 기록방법 및 기록 프로그램과 촬상장치,촬상방법 및 촬상 프로그램 Download PDF

Info

Publication number
KR101353000B1
KR101353000B1 KR1020077026689A KR20077026689A KR101353000B1 KR 101353000 B1 KR101353000 B1 KR 101353000B1 KR 1020077026689 A KR1020077026689 A KR 1020077026689A KR 20077026689 A KR20077026689 A KR 20077026689A KR 101353000 B1 KR101353000 B1 KR 101353000B1
Authority
KR
South Korea
Prior art keywords
recording
file
data
stream file
recording medium
Prior art date
Application number
KR1020077026689A
Other languages
English (en)
Other versions
KR20090007521A (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 KR20090007521A publication Critical patent/KR20090007521A/ko
Application granted granted Critical
Publication of KR101353000B1 publication Critical patent/KR101353000B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/10537Audio or video recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/1075Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
    • G11B2020/10759Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10935Digital recording or reproducing wherein a time constraint must be met
    • G11B2020/10944Real-time recording or reproducing, e.g. for ensuring seamless playback of AV data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/806Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal
    • H04N9/8063Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal using time division multiplex of the PCM audio and PCM video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal

Landscapes

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

Abstract

BD-ROM 규격과 호환성이 있는 클립의 관리 구조로 비디오 데이터의 기록을 가능하게 한다. 기록 개시 조작에 따라, 비디오 및 오디오 데이터가 패킷 단위로 시분할 다중 된 스트림의 기록매체로의 기록이 개시된다. 기록 정지 조작에 따라, 버퍼에 모은 스트림이 스트림 파일로서 기록매체에 기입되는 동시에, 당해 스트림 파일에 대응하는 클립 인포메이션 파일이 생성된다. 그리고, 당해 클립 인포메이션 파일 전체를 나타내는 플레이 아이템이 생성되며, 기록매체상의 기존의 플레이 리스트에 추가되는 동시에, 플레이 리스트에 대하여 플레이 아이템의 IN점에 대응하는 시각에 마크가 찍힌다. 다음으로 기록 개시 및 정지에 수반하여 생성되는 플레이 아이템도, 동일하게 하여 기존의 플레이 리스트에 또한 추가되며, IN점에 대응하는 시각에 또한 마크가 찍힌다.

Description

기록장치, 기록방법 및 기록 프로그램과 촬상장치, 촬상방법 및 촬상 프로그램{Recording device, recording method, recording program, imaging device, imaging method, and imaging program}
이 발명은, 비디오 데이터와 오디오 데이터를 다중화한 스트림 데이터를 기록매체에 기록하는데 적합한 기록장치, 기록방법 및 기록 프로그램과 촬상장치, 촬상방법 및 촬상 프로그램에 관한 것이다.
종래부터, 기록 가능하고 기록 재생장치로부터 분리 가능하게 되는 동시에, 기록용량이 비교적 크고, 비디오 데이터와 오디오 데이터로 이루어지는 AV(Audio/Video)데이터를 기록하는데 적합한 기록매체로서 4.7GB(Giga Byte)이상의 기록 용량을 가지는 DVD(Digital Versatile Disc)가 보급되고 있다. 특허 문헌「특개 2004-350251」에는, 기록 가능한 타입의 DVD에 대하여 DVD-Video 포맷으로 기록하는 촬상장치가 기재되어 있다.
이와 같은 대용량의 기록매체를, 예를 들면 비디오 카메라 장치와 같은, 기록의 개시 및 정지를 빈번히 반복하는 기록장치에 적용했을 경우에, 기록된 AV스트림의 사용자에 의한 취급, 예를 들면 기록된 AV스트림의 타이틀 관리나 편집이 용이한 기록 포맷이 요구되고 있다.
예를 들면, 비디오 데이터 및 오디오 데이터의 연속 동기(同期) 재생, 즉 실시간 재생이 보장된 재생이 필요한 소정 단위에 대하여 재생 구간이나 재생 순서를 지정하는 것이 가능한 포맷에 있어서는, 기록된 소정 단위의 AV스트림인 AV스트림 파일을, 당해 AV스트림 파일의 속성을 나타내는 파일과, 당해 소정 단위로 재생 구간 등을 지정하는 파일에 의해 관리하는 것으로, 기록매체상의 AV스트림 파일을 가공하지 않고, 당해 AV스트림 파일의 재생 구간이나 재생 순서를 자유롭게 설정한 편집을 용이하게 행할 수 있다. 이와 같은 파일 관리 형태에 있어서, 편집 처리가 가능한 기록 포맷이 요구되고 있다.
따라서, 이 발명의 목적은, 비디오 데이터와 오디오 데이터가 다중화된 AV스트림을, 타이틀 관리나 편집이 용이하도록 기록매체에 기록 가능한 기록장치, 기록방법 및 기록 프로그램과 촬상장치, 촬상방법 및 촬상 프로그램을 제공하는 것에 있다.
상술한 과제를 해결하기 위해서, 제 1의 발명은, 비디오 데이터와 오디오 데이터를 다중화하고 기록매체에 기록하는 기록장치에 있어서, 비디오 데이터 및 오디오 데이터가 입력되는 데이터 입력부와, 비디오 데이터 및 오디오 데이터의 기록 개시 및 기록 정지의 지시가 입력되는 기록 지시 입력부와, 비디오 데이터 및 오디오 데이터를 다중화하고, 다중화된 스트림을 스트림 파일로서 기록매체에 기록하는 기록부와, 기록매체에 기록되는 스트림 파일에 대하여, 적어도, 스트림 파일의 재생 시각 정보와 어드레스 정보를 대응 지은 속성 파일과, 스트림 파일에 대하여 재생 개시점과 재생 종료점을 설정함으로써 재생 구간을 지정하는 1이상의 재생 구간 데이터가 격납되며, 스트림 파일에 대한 재생 시각 정보를 나타내는 마크 정보가 격납 가능한 재생 리스트 파일을 생성하는 관리 정보 생성부와, 기록부 및 관리 정보 생성부를 제어하는 제어부를 가지고, 제어부는, 기록 지시 입력부의 지시에 근거하는 기록 개시부터 기록 정지까지의 구간에 대응하는 비디오 데이터 및 오디오 데이터를 1의 스트림 파일로서 기록매체에 기록하도록 기록부를 제어하는 동시에, 1의 스트림파일의 전체를 재생 구간으로서 지정하는 재생 구간 데이터를 생성하고, 재생 구간 데이터가 지정하는 재생 개시시각에 대응하는 시각 정보를 나타내는 마크 정보를 재생 리스트 파일에 격납하도록 관리 정보 생성부를 제어하는 것을 특징으로 하는 기록장치이다.
또, 제 2의 발명은, 비디오 데이터와 오디오 데이터를 다중화하고 기록매체에 기록하는 기록방법에 있어서, 데이터 입력부에 입력된 비디오 데이터 및 오디오 데이터의 기록 개시 및 기록 정지의 지시가 입력되는 기록 지시 입력의 스텝과, 비디오 데이터 및 오디오 데이터를 다중화하고, 다중화된 스트림을 스트림 파일로서 기록매체에 기록하는 기록 스텝과, 기록매체에 기록되는 스트림 파일에 대하여, 적어도, 스트림 파일의 재생 시각 정보와 어드레스 정보를 대응 지은 속성 파일과, 스트림 파일에 대하여 재생 개시점과 재생 종료점을 설정함으로써 재생 구간을 지정하는 1이상의 재생 구간 데이터가 격납되며, 스트림 파일에 대한 재생 시각 정보를 나타내는 마크 정보가 격납 가능한 재생 리스트 파일을 생성하는 관리 정보 생성 스텝과, 기록 스텝 및 관리 정보 생성 스텝을 제어하는 제어 스텝을 가지고 제어 스텝은, 기록 지시 입력의 스텝에 의한 지시에 근거하는 기록 개시부터 기록 정지까지의 구간에 대응하는 비디오 데이터 및 오디오 데이터를 1의 스트림 파일로서 기록매체에 기록하도록 기록 스텝을 제어하는 동시에, 1의 스트림 파일의 전체를 재생 구간으로서 지정하는 재생 구간 데이터를 생성하고, 재생 구간 데이터가 지정하는 재생 개시시각에 대응하는 시각 정보를 나타내는 마크 정보를 재생 리스트 파일에 격납하도록 관리 정보 생성 스텝을 제어하는 것을 특징으로 하는 기록방법이다.
또, 제 3의 발명은, 비디오 데이터와 오디오 데이터를 다중화하고 기록매체에 기록하는 기록방법을 컴퓨터 장치에 실행시키는 기록 프로그램에 있어서, 기록방법은, 데이터 입력부에 입력된 비디오 데이터 및 오디오 데이터의 기록 개시 및 기록 정지의 지시가 입력되는 기록 지시 입력 스텝과, 비디오 데이터 및 오디오 데이터를 다중화하고, 다중화된 스트림을 스트림 파일로서 기록매체에 기록하는 기록 스텝과, 기록매체에 기록되는 스트림 파일에 대하여, 적어도, 스트림 파일의 재생 시각 정보와 어드레스 정보를 대응 지은 속성 파일과, 스트림 파일에 대하여 재생 개시점과 재생 종료점을 설정함으로써 재생 구간을 지정하는 1이상의 재생 구간 데이터가 격납되며, 스트림 파일에 대한 재생 시각 정보를 나타내는 마크 정보가 격납 가능한 재생 리스트 파일을 생성하는 관리 정보 생성 스텝과, 기록 스텝 및 관리 정보 생성 스텝을 제어하는 제어 스텝을 가지고, 제어 스텝은, 기록 지시 입력의 스텝에 의한 지시에 근거하는 기록 개시부터 기록 정지까지의 구간에 대응하는 비디오 데이터 및 오디오 데이터를 1의 스트림파일로서 기록매체에 기록하도록 기록 스텝을 제어하는 동시에, 1의 스트림 파일의 전체를 재생 구간으로서 지정하는 재생 구간 데이터를 생성하고, 재생 구간 데이터가 지정하는 재생 개시시각에 대응하는 시각 정보를 나타내는 마크 정보를 재생 리스트 파일에 격납하도록 관리 정보 생성 스텝을 제어하는 것을 특징으로 하는 기록 프로그램이다.
또, 제 4의 발명은, 촬상부에서 피사체를 촬상하여 얻어진 비디오 데이터와, 수음부에서 음성을 수음하여 얻어진 오디오 데이터를 다중화하고 기록매체에 기록하는 촬상장치에 있어서, 피사체를 촬상하여 비디오 데이터를 출력하는 촬상부와, 음성을 수음하여 오디오 데이터를 출력하는 수음부와, 비디오 데이터 및 오디오 데이터를 다중화하고, 다중화된 스트림을 스트림 파일로서 기록매체에 기록하는 기록부와, 비디오 데이터 및 오디오 데이터의 기록매체로의 기록 개시 및 기록 정지를 지시하는 사용자 조작을 받아들이는 조작부와, 기록매체에 기록되는 스트림 파일에 대하여, 적어도, 스트림 파일의 재생 시각 정보와 어드레스 정보를 대응 지은 속성 파일과, 스트림 파일에 대하여 재생 개시점과 재생 종료점을 설정함으로써 재생 구간을 지정하는 1이상의 재생 구간 데이터가 격납되며, 스트림 파일에 대한 재생 시각 정보를 나타내는 마크 정보가 격납 가능한 재생 리스트 파일을 생성하는 관리 정보 생성부와, 조작부에 대한 사용자 조작에 따라 기록부의 동작을 제어하는 동시에, 관리 정보 생성부를 제어하는 제어부를 가지고, 제어부는, 조작부에 대한 조작에 따라, 기록 개시부터 기록정지까지의 구간에 대응하는 비디오 데이터 및 오디오 데이터를 1의 스트림 파일로서 기록매체에 기록하도록 기록부를 제어하는 동시에, 1의 스트림 파일의 전체를 재생 구간으로서 지정하는 재생 구간 데이터를 생성하고, 재생 구간 데이터가 지정하는 재생 개시시각에 대응하는 시각 정보를 나타내는 마크 정보를 재생 리스트 파일에 격납하도록 관리 정보 생성부를 제어하는 것을 특징으로 하는 촬상장치이다.
또, 제 5의 발명은, 촬상부에서 피사체를 촬상하여 얻어진 비디오 데이터와, 수음부에서 음성을 수음하여 얻어진 오디오 데이터를 다중화하고 기록매체에 기록하는 촬상장치의 촬상방법에 있어서, 촬상부에서 피사체를 촬상하여 얻어진 비디오 데이터와, 수음부에서 음성을 수음하여 얻어진 오디오 데이터를 다중화하고, 다중화된 스트림을 스트림 파일로서 기록매체에 기록하는 기록 스텝과, 조작부에 대한 비디오 데이터 및 오디오 데이터의 기록매체로의 기록 개시 및 기록 정지를 지시하는 사용자 조작을 받아들이는 스텝과, 기록매체에 기록되는 스트림 파일에 대하여, 적어도, 스트림 파일의 재생 시각 정보와 어드레스 정보를 대응 지은 속성 파일과, 스트림 파일에 대하여 재생 개시점과 재생 종료점을 설정함으로써 재생 구간을 지정하는 1이상의 재생 구간 데이터가 격납되며, 스트림 파일에 대한 재생 시각 정보를 나타내는 마크 정보가 격납 가능한 재생 리스트 파일을 생성하는 관리 정보 생성 스텝과, 조작부에 대한 사용자 조작에 따라 기록 스텝의 동작을 제어하는 동시에, 관리 정보 생성 스텝을 제어하는 제어 스텝을 가지고, 제어 스텝은, 조작부에 대한 조작에 따라, 기록 개시부터 기록 정지까지의 구간에 대응하는 비디오 데이터 및 오디오 데이터를 1의 스트림 파일로서 기록매체에 기록하도록 기록 스텝을 제어하는 동시에, 1의 스트림 파일의 전체를 재생 구간으로서 지정하는 재생 구간 데이터를 생성하고, 재생 구간 데이터가 지정하는 재생 개시시각에 대응하는 시각 정보를 나타내는 마크 정보를 재생 리스트 파일에 격납하도록 관리 정보 생성 스텝을 제어하는 것을 특징으로 하는 촬상방법이다.
또, 제 6의 발명은, 촬상부에서 피사체를 촬상하여 얻어진 비디오 데이터와, 수음부에서 음성을 수음하여 얻어진 오디오 데이터를 다중화하고 기록매체에 기록하는 촬상장치의 촬상방법을 컴퓨터 장치에 실행시키는 촬상 프로그램에 있어서, 촬상방법은, 촬상부에서 피사체를 촬상하여 얻어진 비디오 데이터와, 수음부에서 음성을 수음하여 얻어진 오디오 데이터를 다중화하고, 다중화된 스트림을 스트림 파일로서 기록매체에 기록하는 기록 스텝과, 조작부에 대한 비디오 데이터 및 오디오 데이터의 기록매체로의 기록 개시 및 기록 정지를 지시하는 사용자 조작을 받아들이는 스텝과, 기록매체에 기록되는 스트림 파일에 대하여, 적어도, 스트림 파일의 재생 시각 정보와 어드레스 정보를 대응 지은 속성 파일과, 스트림 파일에 대하여 재생 개시점과 재생 종료점을 설정함으로써 재생 구간을 지정하는 1이상의 재생 구간 데이터가 격납되며, 스트림 파일에 대한 재생 시각 정보를 나타내는 마크 정보가 격납 가능한 재생 리스트 파일을 생성하는 관리 정보 생성 스텝과, 조작부에 대한 사용자 조작에 따라 기록 스텝의 동작을 제어하는 동시에, 관리 정보 생성 스텝을 제어하는 제어 스텝을 가지고, 제어 스텝은, 조작부에 대한 조작에 따라, 기록 개시부터 기록 정지까지의 구간에 대응하는 비디오 데이터 및 오디오 데이터를 1의 스트림 파일로서 기록매체에 기록하도록 기록 스텝을 제어하는 동시에, 1의 스트림 파일의 전체를 재생 구간으로서 지정하는 재생 구간 데이터를 생성하고, 재생 구간 데이터가 지정하는 재생 개시시각에 대응하는 시각 정보를 나타내는 마크 정보를 재생 리스트 파일에 격납하도록 관리 정보 생성 스텝을 제어하는 것을 특징으로 하는 촬상 프로그램이다.
상술한 바와 같이, 제 1, 제 2 및 제 3의 발명은, 데이터 입력부에 입력된 비디오 데이터 및 오디오 데이터를 다중화하고 기록매체에 기록되는 스트림 파일에 대하여, 적어도, 스트림 파일의 재생 시각 정보와 어드레스 정보를 대응 지은 속성 파일과, 스트림 파일에 대하여 재생 개시점과 재생 종료점을 설정함으로써 재생 구간을 지정하는 1이상의 재생 구간 데이터가 격납되며, 스트림 파일에 대한 재생 시각 정보를 나타내는 마크 정보가 격납 가능한 재생 리스트 파일을 생성하고, 기록 지시 입력에 의한 지시에 근거하는 기록 개시부터 기록 정지까지의 구간에 대응하는 비디오 데이터 및 오디오 데이터를 1의 스트림 파일로서 기록매체에 기록하도록 제어하는 동시에, 1의 스트림 파일의 전체를 재생 구간으로서 지정하는 재생 구간 데이터를 생성하고, 재생 구간 데이터가 지정하는 재생 개시시각에 대응하는 시각 정보를 나타내는 마크 정보를 재생 리스트 파일에 격납하도록 제어하도록 하고 있기 때문에, 스트림 파일을, 클립을 단위로서 플레이 리스트를 이용하여 관리하는 관리 구조로 기록매체에 기록할 수 있다.
또, 제 4, 제 5 및 제 6의 발명은, 촬상부에서 피사체를 촬상하여 얻어진 비디오 데이터와, 수음부에서 음성을 수음하여 얻어진 오디오 데이터를 다중화한 스트림이 기록매체에 기록되는 스트림 파일에 대하여, 적어도, 스트림 파일의 재생 시각 정보와 어드레스 정보를 대응 지은 속성 파일과, 스트림 파일에 대하여 재생 개시점과 재생 종료점을 설정함으로써 재생 구간을 지정하는 1이상의 재생 구간 데이터가 격납되며, 스트림 파일에 대한 재생 시각 정보를 나타내는 마크 정보가 격납 가능한 재생 리스트 파일을 생성하고, 조작부에 대한 조작에 따라, 기록 개시부터 기록 정지까지의 구간에 대응하는 비디오 데이터 및 오디오 데이터를 1의 스트림 파일로서 기록매체에 기록하도록 제어하는 동시에, 1의 스트림 파일의 전체를 재생 구간으로서 지정하는 재생 구간 데이터를 생성하고, 재생 구간 데이터가 지정하는 재생 개시시각에 대응하는 시각 정보를 나타내는 마크 정보를 재생 리스트 파일에 격납하도록 제어하도록 하고 있기 때문에, 피사체를 촬상하여 얻어진 비디오 데이터 및 오디오 데이터를, 클립을 단위로서 플레이 리스트를 이용하여 관리하는 관리 구조로 기록매체에 기록할 수 있다.
상술한 바와 같이, 제 1, 제 2 및 제 3의 발명은, 데이터 입력부에 입력된 비디오 데이터 및 오디오 데이터를 다중화하여 기록매체에 기록되는 스트림 파일에 대하여, 적어도, 스트림 파일의 재생 시각 정보와 어드레스 정보를 대응 지은 속성 파일과, 스트림 파일에 대하여 재생 개시점과 재생 종료점을 설정함으로써 재생 구간을 지정하는 1이상의 재생 구간 데이터가 격납되며, 스트림 파일에 대한 재생 시각 정보를 나타내는 마크 정보가 격납 가능한 재생 리스트 파일을 생성하고, 기록 지시 입력에 의한 지시에 근거하는 기록 개시부터 기록 정지까지의 구간에 대응하는 비디오 데이터 및 오디오 데이터를 1의 스트림 파일로서 기록매체에 기록하도록 제어하는 동시에, 1의 스트림 파일의 전체를 재생 구간으로서 지정하는 재생 구간 데이터를 생성하고, 재생 구간 데이터가 지정하는 재생 개시시각에 대응하는 시각 정보를 나타내는 마크 정보를 재생 리스트 파일에 격납하도록 제어하도록 하고 있기 때문에, 스트림 파일을, 클립을 단위로서 플레이 리스트를 이용하여 관리하는 관리 구조로 기록매체에 기록할 수 있는 효과가 있다.
또, 제 4, 제 5 및 제 6의 발명은, 촬상부에서 피사체를 촬상하여 얻어진 비디오 데이터와, 수음부에서 음성을 수음하여 얻어진 오디오 데이터를 다중화한 스트림이 기록매체에 기록되는 스트림 파일에 대하여, 적어도, 스트림 파일의 재생 시각 정보와 어드레스 정보를 대응 지은 속성 파일과, 스트림 파일에 대하여 재생 개시점과 재생 종료점을 설정함으로써 재생 구간을 지정하는 1이상의 재생 구간 데이터가 격납되며, 스트림 파일에 대한 재생 시각 정보를 나타내는 마크 정보가 격납 가능한 재생 리스트 파일을 생성하고, 조작부에 대한 조작에 따라, 기록 개시부터 기록 정지까지의 구간에 대응하는 비디오 데이터 및 오디오 데이터를 1의 스트림 파일로서 기록매체에 기록하도록 제어하는 동시에, 1의 스트림 파일의 전체를 재생 구간으로서 지정하는 재생 구간 데이터를 생성하고, 재생 구간 데이터가 지정하는 재생 개시시각에 대응하는 시각 정보를 나타내는 마크 정보를 재생 리스트 파일에 격납하도록 제어하도록 하고 있기 때문에, 피사체를 촬상하여 얻어진 비디오 데이터 및 오디오 데이터를, 클립을 단위로서 플레이 리스트를 이용하여 관리하는 관리 구조로 기록매체에 기록할 수 있는 효과가 있다.
도 1은, 이 발명에 적용 가능한 AVCHD 포맷에 규정되는 데이터 모델을 개략적으로 나타내는 약선도이다.
도 2는, 인덱스 테이블을 설명하기 위한 약선도이다.
도 3은, 클립 AV스트림, 클립 정보, 클립, 플레이 아이템 및 플레이 리스트의 관계를 나타내는 UML도이다.
도 4는, 복수의 플레이 리스트로부터 동일한 클립을 참조하는 방법을 설명하기 위한 약선도이다.
도 5는, 기록매체에 기록되는 파일의 관리 구조를 설명하기 위한 약선도이다.
도 6은, 파일 "index.bdmv"의 일례의 구조를 나타내는 문맥(syntax)을 나타내는 약선도이다.
도 7은, 블록(blkIndexes())의 일례의 구조를 나타내는 문맥을 나타내는 약선도이다.
도 8은, 파일 "MovieObject.bdmv"의 일례의 구조를 나타내는 문맥을 나타내는 약선도이다.
도 9는, 블록(blkMovieObjects())의 일례의 구조를 나타내는 문맥을 나타내는 약선도이다.
도 10은, 플레이 리스트 파일 "xxxxx.mpls"의 일례의 구조를 나타내는 문맥을 나타내는 약선도이다.
도 11은, 블록(blkPlayList())의 일례의 구조를 나타내는 문맥을 나타내는 약선도이다.
도 12는, 블록(blkPlayItem())의 일례의 구조를 나타내는 문맥을 나타내는 약선도이다.
도 13a 및 도 13b는, 제 1 및 제 2의 심리스(seamless) 접속을 설명하기 위한 약선도이다.
도 14는, 블록(blkPlayListMark())의 일례의 구조를 나타내는 문맥을 나타내는 약선도이다.
도 15는, 클립 인포메이션 파일의 일례의 구조를 나타내는 문맥을 나타내는 약선도이다.
도 16은, 블록(blkClipInfo())의 일례의 구조를 나타내는 문맥을 나타내는 약선도이다.
도 17은, 블록(blkSequenceInfo())의 일례의 구조를 나타내는 문맥을 나타내는 약선도이다.
도 18은, 블록(blkProgramInfo())의 일례의 구조를 나타내는 문맥을 나타내는 약선도이다.
도 19는, 블록(blkCPI())의 일례의 구조를 나타내는 문맥을 나타내는 약선도이다.
도 20은, 블록(blkEPMap())의 일례의 구조를 나타내는 문맥을 나타내는 약선도이다.
도 21은, 블록(blkEPMapForOneStreamPID)(EP_stream_type, Nc, Nf)의 일례의 구조를 나타내는 문맥을 나타내는 약선도이다.
도 22는, 엔트리(PTSEPCoarse) 및 엔트리(PTSEPFine)의 일례의 포맷에 대하여 나타내는 약선도이다.
도 23은, 엔트리(SPNEPCoarse) 및 엔트리(SPNEPFine)의 일례의 포맷에 대하여 나타내는 약선도이다.
도 24는, 블록(blkExtensionData())의 일례의 구조를 나타내는 문맥을 나타내는 약선도이다.
도 25는, 블록(blkExtensionData())에 있어서의 각 데이터의 참조 관계를 모식적으로 나타내는 약선도이다.
도 26은, 블록(blkExtensionData())에 데이터를 기입할 때의 일례의 처리를 나타내는 플로차트이다.
도 27은, 블록(blkExtensionData())로부터 확장 데이터를 읽어낼 때의 일례의 처리를 나타내는 플로차트이다.
도 28은, 파일 "index.bdmv"내의 필드 blkExtensionData()에 있어서의 블록(DataBlock())의 일례의 구조를 나타내는 문맥을 나타내는 약선도이다.
도 29는, 블록(blkTableOfPlayList())의 일례의 구조를 나타내는 문맥을 나타내는 약선도이다.
도 30a 및 도 30b는, 가상 플레이어의 동작을 개략적으로 나타내는 플로차트이다.
도 31은, 가상 플레이어의 동작을 개략적으로 나타내는 약선도이다.
도 32는, 이 발명의 실시의 일형태에 적용 가능한 기록장치의 일례의 구성을 개략적으로 나타내는 블럭도이다.
도 33은, 이 발명의 실시의 일형태에 의한 클립의 일례의 기록방법을 나타내 는 플로차트이다.
도 34는, 이 발명의 실시의 일형태의 방법에 의해 기록된 일례의 파일 구조를 나타내는 약선도이다.
도 35는, 이 발명의 실시의 일형태의 다른 예에 의한 비디오 카메라 장치의 일례의 구성을 나타내는 블럭도이다.
〈도면의 주요부분에 대한 부호의 설명〉
10. 기록부 11. 비디오 인코더
12. 오디오 인코더 13. 멀티플렉서
14. 스트림 버퍼 15. 기록제어부
16. 관리정보처리부 17. 휘발성 메모리
18. 불휘발성 메모리 20. 기록매체
30. 제어부 31. 사용자 인포메이션부
50. 카메라부 100. 비디오 카메라장치
S10. 기록하려고 하는 데이터의 길이를 얻고, ExtDataLength(n+1)의 값으로 세트한다.
S11. 현재의 blkExtensionData()의 열거되어 있는 ext_data_entry()로부터 ExtDataLength와 ExtDataStartAddress를 조사하고, DataBlock중의 사용상황을 인식한다.
S12. DataBlock중에 ExtDataLength(n+1) 이상의 연속한 여백이 있는가?
S13. blkExtensionData()의 Length값을 크게 하고, ExtDataLength(n+1) 이상 연속한 여백 영역을 만든다.
S14. 데이터를 격납하는 영역의 선두 어드레스를 결정하고, ExtDataStartAddress(n+1)로 한다.
S15. ExtDataStartAddress(n+1)에서 나타내는 어드레스로부터, ExtDataLength(n+1)의 길이의 데이터를 기입한다.
S16. ext_data_entry()에 ExtDataLength(n+1)와 ExtDataStartAddress(n+1)를 추가한다.
S20. 읽어 들이려고 하는 데이터가 준거하는 규격으로부터, ExtDataType을 인식힌다.
S21. ExtDataType을 기본으로, 읽어 들이려고 하는 데이터의 종별로부터 ExtDataVersion을 인식한다.
S22. blkExtensionData()에 열거되어 있는 ext_data_entry()을 순으로 하나 들어 들인다.
S23. ExtDataType, ExtDataVersion이 일치했는가?
S24. ExtDataLength(i)와 ExtDataStartAddress(i)를 읽는다.
S25. ExtDataStartAddress(i)에서 나타내는 어드레스로부터, ExtDataLength(i)의 길이의 데이터를 독해한다.
S26. ext_data_entry()를 다 읽어는가?
S27. 읽어 들이려고 한 데이터는 존재하지 않는다.
S50. 기록개시조작
S51. 스트림을 기록매체에 기록
S52. 기록정지 조작인가?
S53. 스트림버퍼에 채워져 있는 스트림을 기록매체에 기입한다.
S54. 클립인포메이션파일의 작성
S55. ConnectionCondition=5로 설정.
S56. NumberOfPlayItems을 +1
S57. ClipInformationFileName, INTime, OUTTime의 설정, blkPlayItem()의 작성
S58. MarkTimeStamp를 INTime로 하고 blkPlayListMark를 하나 추가.
이하, 이 발명의 실시의 일형태를, 도면을 참조하면서 설명한다. 먼저, 이해를 용이하게 하기 위해서, 이 발명에 적용 가능한 일례의 포맷(이하, AVCHD 포맷이라고 부른다)에 대하여 설명한다. AVCHD 포맷은, 비디오 데이터와 오디오 데이터가 소정으로 다중화된 AV(Audio/Video) 스트림을 기록 가능한 기록매체에 기록하는 기록 포맷으로서 현재 제안되고 있는 것으로, 기록매체에 기록된 AV스트림을, 클립 단위로 플레이 리스트를 이용하여 관리 가능하게 하고 있다.
예를 들면, ITU-T(International Telecommunication Union-Telecommunication Standarization Sector)권고 H.264 혹은 ISO(International Organization for Standarization)/IEC(International Electrotechnical Commission) 국제 표준 14496-10(MPEG-4 파트 10) Advanced Video Coding(이하, H.264|AVC로 약칭한다)에 규정되는 부호화 방식이나, MPEG(Moving Pictures Experts Group) 비디오나 MPEG 오디오라고 하는 부호화 방식으로 부호화 되며, MPEG2 시스템즈에 따라 다중화된 비트 스트림은, 클립 AV스트림(또는 AV스트림) 이라고 칭해진다. 클립 AV스트림은, 소정의 파일 시스템에 의해 파일로서 디스크에 기록된다. 이 파일을, 클립 AV스트림 파일(또는 AV스트림 파일)이라고 칭한다.
클립 AV스트림 파일은, 파일 시스템상에서의 관리 단위이며, 사용자에게 있어서 반드시 알기 쉬운 관리 단위라고는 한정하지 않는다. 사용자의 편리성을 생각했을 경우, 복수의 클립 AV스트림 파일에 분할된 영상 콘텐츠를 하나로 정리하여 재생하는 구조나, 클립 AV스트림 파일의 일부만을 재생하는 구조, 또한, 특수 재생이나 재생하고 싶은 부분의 맨 앞 부분을 찾아내는 재생을 순조롭게 행하기 위한 정보 등을 데이터베이스로서 디스크에 기록해 둘 필요가 있다.
도 1은, 이 발명에 적용 가능한 AVCHD 포맷에 규정되는 데이터 모델을 개략적으로 나타낸다. 이 AVCHD 포맷에 의하면, 데이터 구조는, 도 1에 나타내는 바와 같이 4층의 레이어로 된다. 가장 최하층의 레이어는, 클립 AV스트림이 배치되는 레이어이다(편의상, 클립 레이어라고 부른다). 게다가 레이어는, 클립 AV스트림에 대한 재생 개소를 지정하기 때문에, 플레이 리스트(PlayList)와, 플레이 아이템(PlayItem)이 배치되는 레이어이다(편의상, 플레이 리스트 레이어라고 부른다). 또한, 게다가 레이어는, 플레이 리스트에 대하여 재생순 등을 지정하는 커멘드로 이루어지는 무비 오브젝트(Movie Object) 등이 배치되는 레이어이다(편의상, 오브젝트 레이어라고 부른다). 최상층의 레이어는, 기록매체에 격납되는 타이틀 등을 관리하는 인덱스 테이블이 배치된다(편의상, 인덱스 레이어라고 부른다).
클립 레이어에 대하여 설명한다. 클립 AV스트림은, 비디오 데이터나 오디오 데이터가 MPEG2 TS(트랜스포트 스트림)의 형식 등에 다중화된 비트 스트림이다. 이 클립 AV스트림에 관한 정보가 클립 정보(Clip Information)로서 파일에 기록된다.
또, 클립 AV스트림에는, 자막을 표시하는 그래픽스 스트림인 OB스트림(Overlay Bitmap stream)이나, 메뉴 표시 등에 이용되는 데이터(버튼 화상 데이터 등)를 스트림으로 한 MB스트림(Menu Bitmap stream) 스트림을 다중화할 수 있다.
클립 AV스트림 파일과, 대응하는 클립 정보가 기록된 클립 정보 파일을 일괄하여 오브젝트로 간주하여, 클립(Clip)이라고 칭한다. 즉, 클립은, 클립 AV스트림과 클립 정보로 구성되는, 하나의 오브젝트이다.
파일은, 일반적으로, 바이트열로서 다루어진다. 클립 AV스트림 파일의 콘텐츠는, 시간축상에 전개되며, 클립 중의 엔트리 포인트는, 주로 시간 베이스로 지정된다. 소정의 클립으로의 액세스 포인트의 타임 스탬프가 부여되었을 경우, 클립 AV스트림 파일 중에서 데이터의 읽어내기를 개시해야 할 어드레스 정보를 찾아내기 위하여, 클립 정보 파일을 이용할 수 있다.
플레이 리스트 레이어에 대하여 설명한다. 플레이 리스트는, 재생하는 AV스트림 파일의 지정과, 지정된 AV스트림 파일의 재생 개소를 지정하는 재생 개시점(IN점)과 재생 종료점(OUT점)의 모임으로 구성된다. 이 재생 개시점과 재생 종 료점의 정보를 1조로 한 것은, 플레이 아이템(PlayItem)이라고 칭해진다. 플레이 리스트는, 플레이 아이템의 집합으로 구성된다. 플레이 아이템을 재생한다고 하는 것은, 그 플레이 아이템에 참조되는 AV스트림 파일의 일부분을 재생한다고 하는 것이 된다. 즉, 플레이 아이템 중의 IN점 및 OUT점 정보에 근거하여, 클립 중의 대응하는 구간이 재생된다.
오브젝트 레이어에 대하여 설명한다. 무비 오브젝트는, 내비게이션 커멘드 프로그램과, 무비 오브젝트를 제휴하는 터미널 인포메이션을 포함한다. 내비게이션 프로그램은, 플레이 리스트의 재생을 제어하기 위한 커멘드(내비게이션 커멘드:navigation command)이다. 터미널 인포메이션은, 사용자의 플레이어에 대한 인터랙티브(interactive)인 조작을 허가하기 위한 정보를 포함하고 있다. 이 터미널 인포메이션에 근거하여, 메뉴 화면의 호출이나, 타이틀 서치라고 하는 사용자 오퍼레이션이 제어된다.
인덱스 레이어에 대하여 설명한다. 인덱스 레이어는, 인덱스 테이블(Index Table)로 이루어진다. 인덱스 테이블은, 기록매체에 기록된 콘텐츠의 타이틀을 정의하는, 톱 레벨의 테이블이다. 인덱스 테이블에 격납되어 있는 타이틀 정보에 근거하여, 플레이어에 상주되는 시스템 소프트웨어 중의 모듈 매니저에 의해 기록매체의 재생이 제어된다.
즉, 도 2에 개략적으로 나타내는 바와 같이, 인덱스 테이블 중 임의의 엔트리는, 타이틀이라고 칭해지며, 인덱스 테이블에 엔트리 되는 퍼스트 플레이백 타이틀(First PlaybackTitle), 메뉴 타이틀(MenuTitle) 및 무비 타이틀(MovieTitle # 1,#2,…)은, 모두 타이틀이다. 각 타이틀은, 무비 오브젝트에 대한 링크를 나타낸다.
이해를 용이하게 하기 위해 재생 전용의 기록매체를 예로 취하면, 예를 들면, 퍼스트 플레이백 타이틀은, 당해 기록매체에 격납되는 콘텐츠가 영화이면, 영화 본편에 앞서 그려지는 영화 회사의 선전용 영상(예고편)에 대응한다. 메뉴 타이틀은, 예를 들면 콘텐츠가 영화인 경우, 본편 재생, 챕터 서치(chapter search), 자막이나 언어 설정, 특전 영상 재생 등을 선택하기 위한 메뉴 화면에 대응한다. 또, 무비 타이틀은, 메뉴 타이틀로부터 선택되는 각 영상이다. 타이틀이 한층 더 메뉴 화면인 구성도 가능하다.
도 3은, 상술과 같은 클립 AV스트림, 클립 정보(Stream Attributes), 클립, 플레이 아이템 및 플레이 리스트의 관계를 나타내는 UML(Unified Modeling Language)도이다. 플레이 리스트는, 1 또는 복수의 플레이 아이템에 대응 지어지며, 플레이 아이템은, 1의 클립에 대응 지어진다. 1의 클립에 대하여, 각각 개시점 및/또는 종료점이 다른 복수의 플레이 아이템을 대응지을 수 있다. 1의 클립으로부터 1의 클립 AV스트림 파일이 참조 된다. 마찬가지로, 1의 클립으로부터 1의 클립 정보 파일이 참조 된다. 또, 클립 AV스트림 파일과 클립 정보 파일이란, 1 대 1의 대응 관계를 가진다. 이러한 구조를 정의함으로써, 클립 AV스트림 파일을 변경하지 않고, 임의의 부분만을 재생하는, 비파괴의 재생 순서 지정을 행하는 것이 가능하게 된다.
또, 도 4와 같이, 복수의 플레이 리스트로부터 동일한 클립을 참조할 수도 있다. 또, 1의 플레이 리스트로부터 복수의 클립을 지정할 수도 있다. 클립은, 플레이 리스트중의 플레이 아이템에 나타나는 IN점 및 OUT점에 의해, 참조 된다. 도 4의 예에서는, 클립(300)은, 플레이 리스트(310)의 플레이 아이템(320)으로부터 참조되는 동시에, 플레이 리스트(311)를 구성하는 플레이 아이템(321 및 322) 중 플레이 아이템(321)으로부터, IN점 및 OUT점에서 나타내는 구간이 참조 된다. 또, 클립(301)은, 플레이 리스트(311)의 플레이 아이템(322)에서 IN점 및 OUT점에서 나타내는 구간이 참조되는 동시에, 플레이 리스트(312)의 플레이 아이템(323 및 324) 중, 플레이 아이템(323)의 IN점 및 OUT점에서 나타나는 구간이 참조된다.
다음으로, AVCHD 포맷에 의한, 기록매체에 기록되는 파일의 관리 구조에 대하여, 도 5를 이용하여 설명한다. 파일은, 디렉토리 구조에 의해 계층적으로 관리된다. 기록매체상에는, 먼저, 1개의 디렉토리(도 5의 예에서는 루트(root) 디렉토리)가 작성된다. 이 디렉토리 아래가, 1개의 기록 재생 시스템으로 관리되는 범위로 한다.
루트 디렉토리 아래에, 디렉토리 "BDMV" 및 디렉토리 "AVCHDTN"가 놓여 진다. 디렉토리 "AVCHDTN"에는, 예를 들면 클립의 대표 화상을 소정 사이즈에 축소한 섬네일 파일이 놓여 진다. 디렉토리 "BDMV"에, 도 1을 이용하여 설명한 데이터 구조가 격납된다.
디렉토리 "BDMV"의 바로 아래에는, 파일은, 파일 "index.bdmv" 및 파일 "MovieObject.bdmv"의 2개만을 둘 수 있다. 또, 디렉토리 "BDMV" 아래에, 디렉토리 "PLAYLIST", 디렉토리 "CLIPINF", 디렉토리 "STREAM" 및 디렉토리 "BACKUP"가 놓여 진다. 디렉토리 "BACKUP"는, 각 디렉토리 및 파일의 백업이 격납된다.
파일 "index.bdmv"는, 디렉토리 "BDMV"의 내용에 대하여 기술된다. 즉, 이 파일 "index.bdmv"이 상술한 최상층의 레이어인 인덱스 레이어에 있어서의 인덱스 테이블에 대응한다. 또, 파일 "MovieObject.bdmv"는, 1개 이상의 무비 오브젝트의 정보가 격납된다. 즉, 이 파일 "MovieObject.bdmv"이 상술한 오브젝트 레이어에 대응한다.
디렉토리 "PLAYLIST"는, 플레이 리스트의 데이터베이스가 놓여 지는 디렉토리이다. 즉, 디렉토리 "PLAYLIST"는, 플레이 리스트에 관한 파일인 파일"xxxxx.mpls"를 포함한다. 파일 "xxxxx.mpls"는, 플레이 리스트의 각각에 대하여 작성되는 파일이다. 파일명에 있어서, "."(피리어드) 앞의 "xxxxx"는, 5자리수의 숫자로 되며, 피리어드의 뒤의 "mpls"는, 이 타입의 파일에 고정적으로 된 확장자이다.
디렉토리 "CLIPINF"는, 클립의 데이터베이스가 놓여 지는 디렉토리이다. 즉, 디렉토리 "CLIPINF"는, 클립 AV스트림 파일의 각각 대한 클립 인포메이션 파일인 파일 "zzzzz.clpi"를 포함한다. 파일명에 있어서, "."(피리어드)의 앞의 "zzzzz"는, 5자리수의 숫자로 되며, 피리어드의 뒤의 "clpi"는, 이 타입의 파일에 고정적으로 된 확장자(extension)이다.
디렉토리 "STREAM"는, 실체로서의 AV스트림 파일이 놓여 지는 디렉토리이다. 즉, 디렉토리 "STREAM"는, 클립 인포메이션 파일의 각각 대응하는 클립 AV스트림 파일을 포함한다. 클립 AV스트림 파일은, MPEG2(Moving Pictures Experts Group 2)의 트랜스포트 스트림(이하, MPEG2 TS로 약칭한다)으로 이루어지며, 파일명이 "zzzzz.m2ts"로 된다. 파일명에 있어서, 피리어드 앞의 "zzzzz"는, 대응하는 클립 인포메이션 파일과 동일한 것으로, 클립 인포메이션 파일과 이 클립 AV스트림 파일과의 대응 관계를 용이하게 파악할 수 있다.
또한, 디렉토리 "AVCHDTN"는, 2종류의 섬네일 파일 "thumbnail.tidx" 및 "thumbnail.tdt2"를 둘 수 있다. 섬네일 파일 "thumbnail.tidx"는, 소정의 방식으로 암호화된 섬네일 화상이 격납된다. 섬네일 파일 "thumbnail.tdt2"는, 암호화되어 있지 않은 섬네일 화상이 격납된다. 예를 들면 비디오 카메라로 사용자가 촬영한 클립에 대응하는 섬네일 화상은, 카피 프리이며 암호화할 필요가 없다고 생각되기 때문에, 이 섬네일 파일 "thumbnail.tdt2"에 격납된다.
도 5에서 나타낸 각 파일 중, 이 발명에 관계되는 깊은 것에 대하여, 보다 상세하게 설명한다. 먼저, 디렉토리 "BDMV"의 바로 아래에 놓여 지는 파일 "index.bdmv"에 대하여 설명한다. 도 6은, 이 파일 "index.bdmv"의 일례의 구조를 나타내는 문맥을 나타낸다. 여기에서는, 문맥을 컴퓨터 장치 등의 프로그램의 기술 언어로서 이용되는 C언어의 기술법에 근거하여 나타낸다. 이것은, 다른 문맥을 나타내는 도면에 있어서, 마찬가지이다.
도 6에 있어서, 필드(TypeIndicator)는, 32비트의 데이터 길이를 가지고, 이 파일이 인덱스 테이블인 것을 나타낸다. 필드(TypeIndicator2)는, 32비트의 데이터 길이를 가지고, 이 파일 "index.bdmv"의 버젼을 나타낸다. 필드(IndexesStartAddress)는, 32비트의 데이터 길이를 가지고, 이 문맥 내에 있는 블록(blkIndexes())의 개시 어드레스를 나타낸다.
필드(ExtensionDataStartAddress)는, 32비트의 데이터 길이를 가지고, 이 문맥 내에 있는 블록(blkExtensionData())의 개시 어드레스를 나타낸다. 블록(blkExtensionData())은, 소정의 확장 데이터를 격납 가능하게 하기 위한 블록이다. 필드(ExtensionDataStartAddress)는, 이 파일 "index.bdmv"의 최초의 바이트로부터의 상대 바이트수로, 블록(blkExtensionData())의 개시 어드레스를 나타낸다. 상대 바이트수는, "0"에서 개시된다. 만약, 이 필드(ExtensionDataStartAddress)의 값이 "0"이면, 이 파일 "index.bdmv" 내에, 블록(blkExtensionData())이 존재하지 않는 것을 나타낸다.
필드(ExtensionDataStartAddress)에 계속하여, 데이터 길이가 192바이트의 영역(reserved)이 배치된다. 또한, 영역(reserved)은, 바이트 얼라이먼트나, 장래적인 필드의 추가 등을 위한 영역이다. 이것은, 이하의 설명에 있어서도 마찬가지이다. 블록(blkAppInfoBDMV())은, 콘텐츠 제작자가 임의의 정보를 기술할 수 있는 블록이며, 플레이어의 동작 등에는 영향을 주지 않는다.
블록(blkIndexes())은, 이 파일 "index.bdmv"의 실질적인 내용이며, 이 블록(blkIndexes())에 기술된 내용에 의해, 디스크를 플레이어에 장전했을 때에 재생되는 퍼스트 플레이백이나, 톱 메뉴로부터 호출되는 타이틀(무비 오브젝트)이 지정된다. 인덱스 테이블에 의해 호출된 무비 오브젝트 등에 기술된 커멘드에 근거하여, 후술하는 플레이 리스트 파일이 독해된다.
도 7은, 블록(blkIndexes())의 일례의 구조를 나타내는 문맥을 나타낸다. 필드(Length)는, 32비트의 데이터 길이를 가지고, 이 필드(Length) 직후부터 이 블록(blkIndexes())의 마지막까지의 데이터 길이를 나타낸다. 계속하여, 블록(FirstPlaybackTitle()) 및 블록(MenuTitle())이 배치된다.
블록(FirstPlaybackTitle())은, 퍼스트 플레이백으로 이용되는 오브젝트에 관한 정보가 기술된다. 블록(FirstPlaybackTitle())은, 1비트의 데이터 길이를 가지는 영역(reserved)에 계속하여 고정치 "1"이 기술된다. 또한, 31비트의 데이터 길이를 가지는 영역(reserved)을 통하여 고정치 "1"이 기술된다. 그리고, 14비트의 데이터 길이를 가지는 영역(reserved)을 통하여, 16비트의 데이터 길이를 가지는 필드(FirstPlaybackTitleMobjIDRef)가 배치된다. 이 필드(FirstPlaybackTitleMobjIDRef)에 의해, 퍼스트 플레이백 타이틀로 이용되는 무비 오브젝트의 ID를 나타낸다.
무비 오브젝트의 ID는, 예를 들면, 도 8 및 도 9를 이용하여 후술하는 무비 오브젝트의 문맥에 근거하여, 무비 오브젝트의 for 루프문에 있어서 루프 변수로서 이용되는 값(mobj_id)으로 나타내진다. 이 예에서는, 필드(FirstPlaybackTitleMobjIDRef)는, 참조하는 무비 오브젝트에 대응하는 값(mobj_id)이 격납된다.
또한, 블록(blkIndexes())에 있어서의 블록(FirstPlaybackTitle()) 내의 필드(FirstPlaybackTitleMobjIDRef)는, 톱 메뉴의 무비 오브젝트를 가리키고 있어도 좋고, 타이틀을 가리키고 있어도 좋다.
블록(MenuTitle())은, 톱 메뉴로 이용되는 오브젝트에 관한 정보가 기술된 다. 블록(MenuTitle())은, 1비트의 데이터 길이를 가지는 영역(reserved)에 계속하여 고정치 "1"이 기술된다. 또한, 31비트의 데이터 길이를 가지는 영역(reserved)을 통하여 고정치 "1"이 기술된다. 그리고, 14비트의 데이터 길이를 가지는 영역(reserved)을 통하여, 16비트의 데이터 길이를 가지는 필드(MenuTitleMobjIDRef)가 배치된다. 필드(MenuTitleMobjIDRef)는, 메뉴 타이틀로 이용되는 무비 오브젝트의 ID를 나타낸다.
블록(MenuTitle()) 다음의 필드(NumberOfTitles)는, 16비트의 데이터 길이를 가지고, 사용자가 선택, 재생 가능한 타이틀 수를 나타낸다. 다음의 for 루프문에 따라, 이 필드(NumberOfTitles)에 나타나는 회수만, 값(title_id)을 인수로서 블록(MovieTitle[title_id]())이 기술된다. 블록(MovieTitle[title_id]())은, 타이틀 마다의 정보가 기술된다. 값(title_id)은, "0"에서 필드(NumberOfTitles)로 나타나는 값까지의 수치이며, 타이틀을 식별한다.
블록(MovieTitle[title_id]())에 있어서, 1비트의 데이터 길이를 가지는 영역(reserved)을 통하여 고정치 "1"이 기술되며, 또한, 46비트의 데이터 길이를 가지는 영역(reserved)을 통하여 필드(MovieTitleMobjIDRef)가 기술된다. 필드(MovieTitleMobjIDRef)는, 16비트의 데이터 길이를 가지고, 이 타이틀로 이용되는 무비 오브젝트의 ID를 나타낸다. 필드(MovieTitleMobjIDRef) 뒤에, 32비트의 데이터 길이를 가지는 영역(reserved)이 배치된다.
도 8은, 디렉토리 "BDMV" 바로 아래에 놓여 지는 파일 "MovieObject.bdmv"의 일례의 구조를 나타내는 문맥을 나타낸다. 필드(TypeIndicator)는, 32비트(4바이트)의 데이터 길이를 가지고, 이 파일이 파일 "MovieObject.bdmv"인 것을 나타낸다. 필드(TypeIndicator)는, ISO(International Organization for Standarization) 646에 규정된 부호화 방식으로 부호화 한 4 문자로 이루어지는 문자열이 기술된다. 이 도 8의 예에서는, 필드(type_indicatior)에 ISO646에 기정의 방식으로 부호화 된 4 문자의 문자열 "MOBJ"가 기술되며, 이 파일이 파일 "MovieObject.bdmv"인 것이 나타내진다.
필드(TypeIndicator2)는, 32비트(4바이트)의 데이터 길이를 가지고, 이 파일 "MovieObject.bdmv"의 버젼 번호를 나타낸다. 이 파일 "MovieObject.bdmv"에서는, 필드(TypeIndicator2)는, ISO646에 규정된 부호화 방식으로 부호화 한 4 문자의 문자열 "0100"이 아니면 안 된다.
필드(ExtensionDataStartAddress)는, 32비트의 데이터 길이를 가지고, 이 문맥내에 있는 블록(blkExtensionData())의 개시 어드레스를 나타낸다. 필드(ExtensionDataStartAddress)는, 이 파일 "MovieObject.bdmv"의 최초의 바이트로부터의 상대 바이트수로, 블록(blkExtensionData())의 개시 어드레스를 나타낸다. 상대 바이트수는, "0"에서 개시된다. 만약, 이 필드(ExtensionDataStartAddress)의 값이 "0"이면, 이 파일 "MovieObject.bdmv"내에, 블록(blkExtensionData())이 존재하지 않는 것을 나타낸다.
또한, 이 도 8에 나타내는 문맥 내의 필드(padding_word)는, 16비트의 데이터 길이를 가지고, 이 파일 "MovieObject.bdmv"의 문맥에 따라 for 루프문에 값(N1) 또는 값(N2)으로 나타나는 회수만 삽입된다. 값(N1) 또는 값(N2)은, 0 또 는 임의의 양의 정수이다. 또, 필드(padding_word)는, 임의의 값을 이용할 수 있다.
필드(ExtensionDataStartAddress)에 계속하여 데이터 길이가 224비트의 영역(reserved)이 배치되며, 그 다음으로, 이 파일 "MovieObject.bdmv" 본체인 블록(blkMovieObjects())이 격납된다.
도 9는, 블록(blkMovieObjects())의 일례의 구조를 나타내는 문맥을 나타낸다. 필드(Length)는, 32비트의 데이터 길이를 가지고, 이 필드(Length)의 직후부터 이 블록(blkMovieObjects())의 마지막까지의 데이터 길이를 나타낸다. 32비트의 데이터 길이를 가지는 영역(reserved)을 통하여 필드(NumberOfMobjs)가 배치된다. 필드(NumberOfMobjs)는, 직후의 for 루프문에 따라 격납되는 무비 오브젝트의 수를 나타낸다. for 루프문의 루프 변수로서 이용되는 값(mobj_id)으로, 무비 오브젝트가 일의로 특정된다. 값(mobj_id)은, "0"에서 시작되는 값으로, 무비 오브젝트는, for 루프 문중에 기술되는 순서에 의해 정의된다.
for 루프 문중의 블록(TerminalInfo())은, 고정치 "1"이 기술되며, 다음으로 15비트의 데이터 길이를 가지는 영역(reserved)이 배치된다. 그 다음으로, 16비트의 데이터 길이를 가지는 필드(NumberOfNavigationCommands[mobj_id])가 배치된다. 이 필드(NumberOfNavigationCommands[mobj_id])는, 값(mobj_id)에 의하여 지시되는 무비 오브젝트(MovieObject[mobj_id]())에 포함되는 내비게이션 커멘드(NavigationCommand)의 수를 나타낸다.
다음의, 값(command_id)을 루프 변수로 하는 for 루프문에 의해, 필 드(NumberOfNavigationCommands[mobj_id])에 나타나는 수만, 내비게이션 커멘드가 기술된다. 즉, 이 for 루프 문중에 배치되는 필드(NavigationCommand[mobj_id][command_id])는, 값(mobj_id)에 의하여 지시되는 블록(MovieObject[mobj_id]())에 포함되는, 값(command_id)으로 나타나는 차례의 내비게이션 커멘드(NavigationCommand)를 격납한다. 값(command_id)은, 0에서 시작되는 값으로, 내비게이션 커멘드(NavigationCommand)는, 이 for 루프 문중에 기술되는 순서로 정의된다.
도 10은, 플레이 리스트 파일 "xxxxx.mpls"의 일례의 구조를 나타내는 문맥을 나타낸다. 필드(TypeIndicator)는, 32비트(4바이트)의 데이터 길이를 가지고, 이 파일이 플레이 리스트 파일인 것을 나타낸다. 필드(TypeIndicator2)는, 32비트(4바이트)의 데이터 길이를 가지고, 이 플레이 리스트 파일의 버젼을 나타낸다. 필드(PlayListStartAddress)는, 32비트의 데이터 길이를 가지고, 이 문맥중의 블록(blkPlayList())의 개시 어드레스를 나타낸다.
필드(PlayListMarkStartAddress)는, 32비트의 데이터 길이를 가지고, 이 문맥중의 블록(blkPlayListMark())의 개시 어드레스를 나타낸다. 필드(ExtensionDataStartAddress)는, 32비트의 데이터 길이를 가지고, 이 문맥중의 블록(blkExtensionData())의 개시 어드레스를 나타낸다. 필드(ExtensionDataStartAddress)는, 블록(blkExtensionData())의 개시 어드레스를, 파일 "xxxxx.mpls"의 최초의 바이트로부터의 상대 바이트수를 나타낸 값이다. 상대 바이트수는, "0"에서 개시된다. 만약, 이 필드(ExtensionDataStartAddress)의 값이 "0"이면, 이 파일 "xxxxx.mpls"내에, 블록(blkExtensionData())이 존재하지 않는 것을 나타낸다.
160비트의 데이터 길이를 가지는 영역(reserved)을 통하여 블록(blkAppInfoPlayList())이 배치된다. 블록(blkAppInfoPlayList())은, 다음의 블록(blkPlayList())에 기술되는 플레이 리스트의 타입, 재생 제한 등의 정보가 기술된다. 블록(blkPlayList())은, 플레이 리스트가 기술된다. 블록(blkPlayListMark())은, 챕터 점프 등으로 점프 되는 포인트가 기술된다. 블록(blkExtensionData())은, 소정의 확장 데이터를 격납 가능하게 하기 위한 블록이다.
또한, 이 도 10에 나타내는 문맥 내의 필드(padding_word)는, 16비트의 데이터 길이를 가지고, 이 파일 "xxxxx.mpls"의 문맥에 따라 for 루프문에 값(N1), 값(N2) 및 값(N3)으로 나타내는 회수만 삽입된다. 값(N1), 값(N2) 또는 값(N3)은, 0 또는 임의의 양의 정수이다. 또, 필드(padding_word)는, 임의의 값을 이용할 수 있다.
도 11은, 블록(blkPlayList())의 일례의 구조를 나타내는 문맥을 나타낸다. 필드(Length)는, 32비트의 데이터 길이를 가지고, 이 필드(Length)의 직후부터 블록(blkPlayList()) 끝까지의 데이터 길이를 나타낸다. 필드(Length)에 계속하여 16비트의 데이터 길이를 가지는 영역(reserved)이 배치되며, 다음으로 필드(NumberOfPlayItems)가 배치된다. 필드(NumberOfPlayItems)는, 16비트의 데이터 길이를 가지고, 이 블록(blkPlayList())에 포함되는 플레이 아이템의 수를 나타낸 다. 필드(NumberOfSubPath)는, 이 블록(blkPlayList())에 포함되는 서브 패스의 수를 나타낸다.
다음의 for 루프문에 따라, 필드(NumberOfPlayItems)에서 나타내지는 수만, 플레이 아이템이 기술되는 블록(blkPlayItem())이 기술된다. for 루프문에 근거하는 카운트수가 블록(blkPlayItem())의 식별자(PlayItem_id)가 된다. 또한, 다음의 for 루프문에 따라, 필드(NumberOfSubPath)에 나타나는 수만, 블록(blkSubPath())이 기술된다. for 루프문에 근거하는 카운트수가 블록(blkSubPath())의 식별자(SubPath_id)가 된다.
또한, 서브 패스는, 주로 재생되는 플레이 아이템에 대응하는 메인 패스에 대하여, 서브 플레이 아이템에 대응하여 가질 수 있다. 서브 패스는, 예를 들면, 애프터레코딩용의 오디오 데이터의 지정이나, 2매의 영상을 합성할 때에, 플레이 아이템으로 지정되는 클립과 동기하여 재생하는 부영상을 지정한다고 하는 목적으로 이용된다.
도 12는, 블록(blkPlayItem())의 일례의 구조를 나타내는 문맥을 나타낸다. 필드(Length)는, 16비트의 데이터 길이를 가지고, 이 필드(Length) 직후부터 블록(blkPlayItem()) 끝까지의 데이터 길이를 나타낸다.
필드(ClipInformationFileName[0])는, 40비트(5바이트)의 데이터 길이를 가지고, 이 블록(blkPlayItem())이 참조하는 클립 인포메이션 파일의 파일명이 나타난다. 이 플레이 아이템에 있어서, 필드(ClipInformationFileName[0])에서 나타내지는 파일명의 클립 인포메이션 파일이 읽어 내어진다. 필드(ClipCodecIdentifier[0])는, 32비트(4바이트)의 데이터 길이를 가지고, 이 블록(blkPlayItem())에 의한 플레이 아이템에 있어서 이용되는 클립 AV스트림의 코덱 방식을 나타낸다.
12비트의 데이터 길이를 가지는 영역(reserved)을 통하여, 필드(ConnectionCondition)가 배치된다. 필드(ConnectionCondition)는, 4비트의 데이터 길이를 가지고, 클립간의 접속 상태에 관한 정보를 나타낸다. 기록 용도의 기록매체에 대해서는, 필드(ConnectionCondition)의 값으로서 "1", "5" 또는 "6"이 이용된다. 필드(ConnectionCondition)의 값이 "1"로, 그 클립과 다음의 클립이 심리스 접속하지 않는 것을 나타내고, 필드(ConnectionCondition)의 값이 "5" 또는 "6"으로, 그 클립과 다음의 클립이 심리스 접속하는 것을 나타낸다. 또한, 심리스 접속이란, 클립과 다음의 클립이 프레임 타이밍으로 연속적으로 재생되도록, 클립간의 재생 제어를 행하는 것을 말한다.
필드(ConnectionCondition)의 값이 "5"로, 당해 플레이 아이템이 참조하는 클립에 있어서, 오디오 데이터의 기록 길이가 비디오 데이터의 기록 길이에 대하여 길게 된다(도 13a 참조). 이것에 의해, 클립과 클립을 접속할 때에, 오디오 데이터의 페이드 아웃 처리가 가능하게 된다. 예를 들면, 사용자에 의한 기록 정지 조작에 의해 클립이 클로즈 되는 경우에, 필드(ConnectionCondition)의 값이 "5"로 된다. 이하, 이 필드(ConnectionCondition)의 값이 "5"로 나타나는 클립의 접속 방법을, 제 1의 심리스 접속이라고 부른다.
필드(ConnectionCondition)의 값이 "6"으로, 당해 플레이 아이템이 참조하는 클립에 있어서, 오디오 데이터의 기록 길이가 비디오 데이터의 기록 길이에 대하여 같든지 혹은 짧게 된다(도 13b 참조). 이것에 의해, 클립과 클립과의 접속을 심리스로 행하는 것이 가능하게 된다. 예를 들면, 사용자 조작에 따른 기록 정지 이외의 이유, 예를 들면 시스템 요인에 근거하여 클립이 클로즈 되는 경우에, 필드(ConnectionCondition)의 값이 "6"으로 된다. 이하, 이 필드(ConnectionCondition)의 값이 "6"으로 나타나는 클립의 접속 방법을, 제 2의 심리스 접속이라고 부른다.
필드(RefToSTCID[0])는, 8비트의 데이터 길이를 가지고, 시스템 타임 베이스(STC)의 불연속점에 관한 정보를 나타낸다. 필드(INTime) 및 필드(OUTTime)는, 각각 32비트의 데이터 길이를 가지고, 메인 클립 AV스트림의 재생 범위를 나타낸다. 필드(INTime)가 개시점(IN점)을 나타내고, 필드(OUTTime)가 종료점(OUT점)을 나타낸다.
블록(blkUOMaskTable())은, 사용자 입력의 접수 제한이 설정되는 테이블이다. 1비트의 데이터 길이를 가지는 플래그(PlayItemRandomAccessFlag)는, 이 블록(blkPlayItem())에 의한 플레이 아이템에 대하여 랜덤 액세스를 허가하는지 아닌지를 규정한다. 계속하여, 7비트의 데이터 길이를 가지는 영역(reserved)을 통하여 필드(StillMode)가 배치된다. 필드(StillMode)는, 8비트의 데이터 길이를 가지고, 블록(blkPlayItem())에 의한 플레이 아이템에 있어서, 마지막에 표시한 영상을 정지화면으로서 표시시키는지 아닌지를 나타낸다. 필드(StillMode)의 값이 "0x01"(바이너리)이면, if문에 근거하여, 16비트의 데이터 길이를 가지는 필드(StillTime)에 의해 정지 시간이 나타내진다. 필드(StillMode)의 값이 "0x01"이외이면, 당해 16비트의 데이터 길이를 가지는 영역이 워드 얼라이먼트를 위해서 예약된 영역(reserved)으로 된다.
블록(blkSTNTable())은, 이 블록(blkPlayItem())에 의한 플레이 아이템이 관리하고 있는 클립 AV스트림의 속성, PID 번호, 기록매체상에서의 기록위치 등이 관리된다.
도 14는, 블록(blkPlayListMark())의 일례의 구조를 나타내는 문맥을 나타낸다. 필드(Length)는, 32비트의 데이터 길이를 가지고, 이 필드(Length)의 직후부터 블록(blkPlayListMark()) 끝까지의 데이터 길이를 나타낸다.
필드(NumberOfPlayListMarks)는, 16비트의 데이터 길이를 가지고, 이 블록(blkPlayListMark())에 포함되는 플레이 리스트 마크의 수를 나타낸다. 다음의 for 루프문에 따라, 필드(NumberOfPlayListMarks)에 나타나는 수만 플레이 리스트 마크의 정보가 기술된다.
for 루프문내에 있어서, 8비트의 데이터 길이를 가지는 영역(reserve)에 계속하여 필드(MarkType)가 배치된다. 필드(MarkType)는, 8비트의 데이터 길이를 가지고, 마크의 타입을 나타낸다. 필드(RefToPlayItemID)는, 16비트의 데이터 길이를 가지고, 마크가 찍힌 플레이 아이템을 참조하는 식별정보(PlayItem_id)가 기술된다. 필드(MarkTimeStamp)는, 32비트의 데이터 길이를 가지고, 마크가 찍힌 포인트를 나타내는 타임 스탬프가 기술된다. 필드(EntryESPID)는, 16비트의 데이터 길이를 가지고, 마크에 의하여 지시되는 엘리멘터리 스트림을 포함하고 있는 TS패킷 의 PID의 값을 나타낸다. 필드(Duration)는, 45kHz의 클락을 단위로 한 계측에 의한, 32비트의 데이터 길이를 가지는 부호 없는 정수이다. 이 필드(Duration)에 격납되는 값이 "0"이면, 이 필드(Duration)는, 의미를 이루지 않는다.
도 15는, 클립 인포메이션 파일의 일례의 구조를 나타내는 문맥을 나타낸다. 필드(TypeIndicator)는, 32비트(4바이트)의 데이터 길이를 가지고, 이 파일이 클립 인포메이션 파일인 것을 나타낸다. 필드(TypeIndicator2)는, 32비트(4바이트)의 데이터 길이를 가지고, 이 클립 인포메이션 파일의 버젼을 나타낸다.
이 클립 인포메이션 파일은, 블록(blkClipInfo()), 블록(blkSequenceInfo()), 블록(blkProgramInfo()), 블록(blkCPI()), 블록(blkClipMark()) 및 블록(blkExtensionData())을 가지고, 각각 32비트의 데이터 길이를 가지는 필드(SequenceInfoStartAddress), 필드(ProgramInfoStartAddress), 필드(CPIStartAddress), 필드(ClipMarkStartAddress) 및 필드(ExtensionDataStartAddress)는, 각각 대응하는 블록의 개시 어드레스를 나타낸다.
필드(ExtensionDataStartAddress)는, 이 클립 인포메이션 파일의 최초의 바이트로부터의 상대 바이트수로, 블록(blkExtensionData())의 개시 어드레스를 나타낸다. 상대 바이트수는, "0"에서 개시된다. 만약, 이 필드(ExtensionDataStartAddress)의 값이 "0"이면, 이 파일 "index.bdmv" 내에, 블록(blkExtensionData())이 존재하지 않는 것을 나타낸다.
블록(blkClipInfo())은, 이들 개시 어드레스를 나타내는 필드에 계속하여, 96비트의 데이터 길이를 가지는 영역(reserved)의 다음부터 개시된다. 블록(blkClipInfo())은, 이 클립 인포메이션 파일이 관리하는 클립 AV스트림에 관한 정보가 기술된다. 블록(blkSequenceInfo())은, STC나 ATC(어라이벌 타임 베이스)가 연속하고 있는 순서를 정리하여 관리하는 정보가 기술된다. 블록(blkProgramInfo())은, 이 클립 인포메이션 파일에 관리되는 클립 AV스트림의 부호화 방식, 클립 AV스트림 중의 비디오 데이터의 애스펙트비 등의 정보가 기술된다. 블록(blkCPI())은, 랜덤 액세스 개시점 등의, AV스트림 중의 특징적인 개소를 나타내는 특징점 정보(CPI)에 관한 정보가 격납된다.
또, 블록(blkClipMark())은, 쳅터 위치 등의, 클립에 부착된 재생하고 싶은 부분의 맨 앞 부분을 찾아내기 위한 인덱스점(점프 포인트)이 기술된다. 블록(blkExtensionData())은, 확장 데이터를 격납할 수 있는 영역이다. 또한, 이들 블록(blkClipMark()) 및 클립 인포메이션 파일 내의 블록(blkExtensionData())은, 이 발명과의 관련성이 적기 때문에, 상세한 설명을 생략한다.
도 16은, 블록(blkClipInfo())의 일례의 구조를 나타내는 문맥을 나타낸다. 필드(Length)는, 32비트의 데이터 길이를 가지고, 이 필드(Length)의 직후부터 블록(blkClipInfo()) 끝까지의 데이터 길이를 나타낸다. 16비트의 데이터 길이를 가지는 영역(reserved)을 통하여, 필드(ClipStreamType)가 배치된다.
필드(ClipStreamType)는, 8비트의 데이터 길이를 가지고, 클립 AV스트림의 종별을 나타낸다. 이 필드(ClipStreamType)의 값은, 예를 들면 "1"로 고정적으로 된다. 필드(ApplicationType)는, 8비트의 데이터 길이를 가지고, 클립 AV스트림 (확장자가 「m2ts」의 파일)이 어떤 식의 다중화에 의하여 만들어지고 있는지를 나타낸다. 필드(ApplicationType)의 값이 "1"로, 대응하는 클립 AV스트림은, 통상의 동영상이 재생된다. 계속하여 31비트의 데이터 길이를 가지는 영역(reserved)이 배치된다.
데이터 길이가 1비트의 플래그(IsCC5)는, 플레이 리스트에 있어서의 블록(blkPlayItem())에 의하여, 대응하는 클립과 다음의 클립과의 접속을, 상술한 제 1의 심리스 접속, 즉 필드(ConnectionCondition)의 값이 "5"로 나타나는 방법으로 행하는지 아닌지를 나타낸다. 플래그(IsCC5)의 값이 "1"(바이너리치)이면, 클립간의 접속이 제 1의 심리스 접속에 의해 이루어지고 있는 것을 나타낸다.
필드(TSRecordingRate)는, 클립 AV스트림 파일의 기록 레이트를 바이트/초로 나타낸 것이다. 필드(NumberOfSourcePackets)는, 클립 AV스트림에 포함되는 패킷수를 나타낸다. 시스템에 의해 예약된 1024비트의 데이터 길이의 영역(reserved)을 통하여 블록(TSTypeInfoBlock())이 배치된다. 블록(TSTypeInfoBlock())은, 클립 AV스트림이 격납되는 패킷의 타입을 나타내는 정보가 격납된다. 이 블록(TSTypeInfoBlock())은, 이 발명과의 관련성이 적기 때문에, 상세한 설명을 생략한다.
다음의 if문 이하의 정보는, 상술의 플래그(IsCC5)의 값이 "1", 즉, 대응하는 클립과 다음의 클립과의 접속을 제 1의 심리스 접속으로 행하면 되었을 경우에 기술된다. if문 다음의 8비트의 데이터 길이를 가지는 영역(reserved)을 통하여 필드(FollowingClipStreamType)가 배치되는 필드(FollowingClipStreamType)는, 8비 트의 데이터 길이를 가지고, 이 클립 인포메이션 파일에 대응하는 클립의 다음 클립의 타입이 기술된다. 8비트의 데이터 길이를 가지는 영역(reserved)을 통하여 필드(FollowingClipInformationFileName)가 배치된다.
필드(FollowingClipInformationFileName)는, 40비트(5바이트)의 데이터 길이를 가지고, 이 클립 인포메이션 파일에 대응하는 클립의 다음 클립에 대응하는 클립 인포메이션 파일의 파일명이 기술된다. 다음 필드(ClipCodecIdentifier)는, 32비트(4바이트)의 데이터 길이를 가지고, 당해 다음 클립의 부호화 방식을 나타낸다. 이 예에서는, 필드(ClipCodecIdentifier)는, ISO646에 기정의 방식으로 부호화된 4 문자의 문자열 값 "M2TS"으로 고정적으로 된다. 다음으로 8비트의 데이터 길이를 가지는 영역(reserved)이 배치된다.
도 17은, 블록(blkSequenceInfo())의 일례의 구조를 나타내는 문맥을 나타낸다. 필드(Length)는, 32비트의 데이터 길이를 가지고, 이 필드(Length)의 직후부터 블록(blkSequenceInfo()) 끝까지의 데이터 길이를 나타낸다. 15비트의 데이터 길이를 가지는 영역(reserved)을 통하여 데이터 길이가 1비트로 고정치 "1"이 기술된다.
다음 필드(SPNATCStart)는, 32비트의 데이터 길이를 가지고, 연속한 시간에 기록된 것을 나타내는 순서(순서(ATCSequence)라고 부른다)의 개시를 패킷 번호로 나타낸다. 이 도 17의 예에서는, 필드(SPNATCStart)는, 값을 "0"으로서 클립 AV스트림 파일의 선두와 일치시키고 있다. 필드(NumberOfSTCSequence)는, 순서(ATCSequence)상의 순서(STCSequence)의 수를 나타낸다. 필 드(NumberOfSTCSequence)는, 값이 "1"이상으로 된다.
다음의 for 루프문에 따라, 필드(NumberOfSTCSequence)에 나타나는 수만, 순서(STCSequence)의 정보가 기술된다. 순서(STCSequence)는, MPEG2 TS(Transport Stream)에 있어서의 시간축의 기준인 PCR(Program Clock Reference)이 연속인 범위를 나타낸다. 순서(STCSequence)에는, 클립 내에서 일의인 번호(STC_id)가 할당된다. 이 순서(STCSequence)내에서는, 불연속이 없는 일관한 시간축을 정의할 수 있으므로, 플레이 아이템의 개시시각 및 종료시각을 일의로 정할 수 있다. 즉, 각 플레이 아이템의 개시점과 종료점은, 동일한 순서(STCSequence)로 존재하고 있지 않으면 안 된다. 이 for 루프문에 있어서는, 값(stc_id)에 의해 순서(STCSequence)가 지정된다.
필드(PCRPID[stc_id])는, 16비트의 데이터 길이를 가지고, MPEG2 TS에 있어서, PCR(Program Clock Reference)이 포함되어 있는 TS패킷의 PID를 나타낸다. 필드(SPNSTCStart[stc_id])는, 32비트의 데이터 길이를 가지고, 순서(STCSequence)의 개시를 패킷 번호로 나타낸다. 필드(PresentationStartTime) 및 필드(PresentationEndTime)는, 각각 32비트의 데이터 길이를 가지고, 클립 AV스트림 중의 유효한 범위를 나타낸다. 필드(PresentationStartTime) 및 필드(PresentationEndTime)에서 나타내지는 범위가 플레이 아이템으로부터 참조할 수 있는 범위로 된다.
도 18은, 블록(blkProgramInfo())의 일례의 구조를 나타내는 문맥을 나타낸다. 필드(Length)는, 32비트의 데이터 길이를 가지고, 이 필드(Length)의 직후부 터 블록(blkProgramInfo()) 끝까지의 데이터 길이를 나타낸다. 15비트의 데이터 길이를 가지는 영역(reserved)을 통하여, 데이터 길이가 1비트로 고정치 "1"이 기술된다.
필드(SPNProgramSequenceStart)는, 32비트의 데이터 길이를 가지고, 대응하는 클립 AV스트림 파일에 있어서, 프로그램 순서가 개시되는 소스 패킷의 번호가 기술된다. 필드(ProgramMapPID)는, 16비트의 데이터 길이를 가지고, 프로그램 순서로 적용 가능한 프로그램 맵 섹션을 포함한다고 되어 있는 TS패킷의 PID의 값을 나타낸다. 필드(NumberOfStreamsInPS)는, 8비트의 데이터 길이를 가지고, 프로그램 순서로 정의되는 엘리멘터리 스트림의 수를 나타낸다. 필드(NumberOfStreamsInPS)에 계속하여, 8비트의 데이터 길이를 가지는 영역(reserved)이 배치된다.
다음의 for 루프문에 따라, 값 [stream_index]를 루프 변수로서, 필드(NumberOfStreamsInPS)에 나타나는 수만, 필드(StreamPID[stream_index]) 및 블록(blkStreamCodingInfo(stream_index))의 조가 격납된다. 필드(StreamPID[stream_index])는, 프로그램 순서에 의하여 참조된 PMT(Program Map Table)에 기술된 엘리멘터리 스트림에 대응하는 PID의 값을 나타낸다. 다음의 블록(blkStreamCodingInfo(stream_index))은, 대응하는 필드(StreamPID[stream_index])로 나타나는 엘리멘터리 스트림의 부호화 방식에 관한 정보가 기술된다.
도 19는, 블록(blkCPI())의 일례의 구조를 나타내는 문맥을 나타낸다. MPEG 스트림과 같은, 프레임간 압축을 행하고 있는 부호화 스트림에 있어서는, 디코드 개시 가능한 개소는, GOP(Group Of Picture)의 선두 등 일부의 개소로 한정되어 있는 것이 많다. CPI(Characteristic Point Information)란, 그 디코드 가능한 개시점의 위치의 정보를 모은 데이터베이스로, 재생 시각과 파일내 어드레스가 대응 지어진 테이블로 되어 있다. 즉, CPI는, 디코드 단위의 선두 위치를 나타내는 정보가 테이블화 되어 있다.
이와 같이 데이터베이스를 정하는 것으로, 예를 들면, 임의의 시각으로부터 재생하고 싶은 경우, 재생 시각을 바탕으로 CPI를 참조함으로써 재생 위치의 파일 내 어드레스를 알 수 있다. 이 어드레스는, 디코드 단위의 선두로 되어 있기 때문에, 플레이어는, 거기에서 데이터를 읽어내어 디코드하고, 재빠르게 화상을 표시할 수 있다.
또한, 이 CPI에 격납되는, 디코드 단위의 선두 위치(이 예에서는 GOP의 선두 위치)를, EP(Entry Point)엔트리라고 칭한다.
도 19에 있어서, 필드(Length)는, 32비트의 데이터 길이를 가지고, 이 필드(Length)의 직후부터 블록(blkCPI()) 끝까지의 데이터 길이를 나타낸다. 다음의 if문에 따라, 필드(Length)의 값이 0이 아니면, 12비트의 데이터 길이를 가지는 영역(reserved)을 통하여 필드(CPIType)가 배치된다. 필드(CPIType)는, 4비트의 데이터 길이를 가지고, CPI의 종류를 나타낸다. 다음 블록(blkEPMap())은, 대응하는 클립 AV스트림 파일에 있어서의 PTS값과 바이트 어드레스와의 관련 지음을 행하는 테이블이 격납된다.
도 20은, 블록(blkEPMap())의 일례의 구조를 나타내는 문맥을 나타낸다. 8비트의 데이터 길이를 가지는 영역(reserved)을 통하여 필드(NumberOfStreamPIDEntries)가 배치된다. 필드(NumberOfStreamPIDEntries)는, 8비트의 데이터 길이를 가지고, 블록(blkEPMap())에 있어서의 블록(blkEPMapForOneStreamPID)의 엔트리수를 나타낸다. for 루프문에 따라, 값([k])을 루프 변수로서, 필드(NumberOfStreamPIDEntries)에 나타나는 수만, 엔트리 포인트에 관한 정보가 기술된다.
for 루프문 내에 있어서, 필드(StreamPID[k])는, 16비트의 데이터 길이를 가지고, 블록(blkEPMap()) 중에서 [k]번째에 엔트리 되는 블록(blkEPMapForOneStreamPID)(이하, [k]번째의 블록(blkEPMapForOneStreamPID)이라고 기술한다)에 의하여 참조되는 엘리멘터리 스트림을 전송하는 트랜스포트 패킷의 PID의 값을 나타낸다.
10비트의 데이터 길이를 가지는 영역(reserved)을 통하여 필드(EPStreamType[k])가 배치된다. 필드(EPStreamType[k])는, 4비트의 데이터 길이를 가지고, [k]번째의 블록(blkEPMapForOneStreamPID)에 의하여 참조되는 엘리멘터리 스트림의 타입을 나타낸다. 필드(NumberOfEPCoarseEntries[k])는, 16비트의 데이터 길이를 가지고, [k]번째의 블록(blkEPMapForOneStreamPID) 안에 있는 엉성한 검색용의 서브 테이블(EP coarse table)의 엔트리수를 나타낸다. 필드(NumberOfEPFineEntries[k])는, 18비트의 데이터 길이를 가지고, [k]번째의 블록(blkEPMapForOneStreamPID) 안에 있는 정밀한 검색용 서브 테이블(EP fine table)의 엔트리수를 나타낸다. 필드(EPMapForOneStreamPIDStartAddress[k])는, 32비트의 데이터 길이를 가지고, 블록(blkEPMap()) 중에서 [k]번째의 블록(blkEPMapForOneStreamPID)이 시작되는 상대 바이트 위치를 나타낸다. 이값은, 블록(blkEPMap())의 제 1바이트째부터 바이트수로 나타내진다.
상술의 for 루프문에 의한 기술 후, 16비트의 정수배의 데이터 길이를 가지는 패딩 워드를 사이에 두고 기술되는 for 루프문에 따라, 값[k]을 루프 변수로서, 필드(NumberOfStreamPIDEntries)에 나타나는 수만큼, 블록(blkEPMapForOneStreamPID)(EPStreamType[k], NumberOfEPCoarseEntries[k], NumberOfEPFineEntries[k])이 격납된다. 즉, 인수(NumberOfEPCoarseEntries[k])는, 서브 테이블(EP coarse table)에 격납되는 엔트리(PTSEPCoarse) 및 엔트리(SPNEPCoarse)의 수를 나타낸다. 마찬가지로, 인수(NumberOfEPFineEntries[k])는, 서브 테이블(EP fine table)에 격납되는 엔트리(PTSEPFine) 및 엔트리(SPNEPFine) 수를 나타낸다. 이하에서는, 인수(NumberOfEPCoarseEntries[k]) 및 인수(NumberOfEPFineEntries[k])를, 각각 적당히, 엔트리수(Nc) 및 엔트리수(Nf)라고 부른다.
도 21은, 블록(blkEPMapForOneStreamPID)(EP_stream_type, Nc, Nf)의 일례의 구조를 나타내는 문맥을 나타낸다. 블록(blkEPMapForOneStreamPID)(EP_stream_type, Nc, Nf)의 시멘틱스(semantics)를 설명하기 위하여, 먼저, 블록(blkEPMapForOneStreamPID)(EP_stream_type, Nc, Nf)에 격납되는 데이터의 바탕으로 되는 엔트리인, 엔트리(PTSEPStart) 및 엔트 리(SPNEPStart)의 의미에 대하여 설명한다.
엔트리(PTSEPStart)와 엔트리(PTSEPStart)에 관련지어진 엔트리(SPNEPStart)는, 각각 AV스트림 상의 엔트리 포인트를 가리킨다. 그리고, 엔트리(PTSEPFine)와, 엔트리(PTSEPFine)에 관련지어진 엔트리(PTSEPCoarse)는, 동일한 엔트리(PTSEPStart)로부터 유도된다. 또, 엔트리(SPNEPFine)와 엔트리(SPNEPFine)에 관련지어진 엔트리(SPNEPCoarse)는, 동일한 엔트리(SPNEPStart)로부터 유도된다.
도 22는, 엔트리(PTSEPCoarse) 및 엔트리(PTSEPFine)의 일례의 포맷에 대하여 나타낸다. PTS 즉 엔트리(PTSEPStart)는, 데이터 길이가 33비트의 값이다. MSB의 비트를 제 32비트, LSB의 비트를 제 0비트로 할 때, 이 도 22의 예에서는, 대범한 단위로 검색을 행할 때에 이용되는 엔트리(PTSEPCoarse)는, 엔트리(PTSEPStart)의 제 32비트부터 제 19비트까지의 14비트가 이용된다. 엔트리(PTSEPCoarse)에 의해, 해상도가 5.8초로, 26.5시간까지의 범위에서 검색이 가능하다. 또, 보다 정밀한 검색을 행하기 위한 엔트리(PTSEPFine)는, 엔트리(PTSEPStart)의 제 19비트부터 제 9비트까지의 11비트가 이용된다. 엔트리(PTSEPFine)에 의해, 해상도가 5.7 밀리 초로, 11.5초까지의 범위에서 검색이 가능하다. 또한, 제 19비트는, 엔트리(PTSEPCoarse)와 엔트리(PTSEPFine)로 공통되어 이용된다. 또, LSB측의 제 0비트부터 제 8비트까지의 9비트는, 이용되지 않는다.
도 23은, 엔트리(SPNEPCoarse) 및 엔트리(SPNEPFine)의 일례의 포맷에 대하여 나타낸다. 소스 패킷 번호 즉 엔트리(SPNEPStart)는, 데이터 길이가 32비트의 값이다. MSB의 비트를 제 31비트, LSB의 비트를 제 0비트로 할 때, 이 도 23의 예에서는, 대충의 단위로 검색을 행할 때에 이용되는 엔트리(SPNEPCoarse)는, 엔트리(SPNEPStart)의 제 31비트부터 제 0비트까지의 모든 비트가 이용된다. 또, 보다 정밀한 검색을 행하기 위한 엔트리(SPNEPFine)는, 엔트리(SPNEPStart)의 제 16비트부터 제 0비트까지의 17비트가 이용된다. 엔트리(SPNEPFine)에 의해, 예를 들면 대략 25MB(Mega Byte)의 AV스트림 파일까지의 범위에서, 검색이 가능하다.
또한, 소스 패킷 번호의 경우에서도, 엔트리(SPNEPCoarse)로서 MSB측의 소정 비트수의 값만 이용하도록 해도 좋다. 예를 들면, 엔트리(SPNEPCoarse)로서, 엔트리(SPNEPStart)의 제 31비트부터 제 16비트까지의 17비트를 이용하고, 엔트리(SPNEPFine)는, 엔트리(SPNEPStart)의 제 16비트부터 제 0비트까지의 17비트를 이용한다.
상술에 근거하여, 엔트리(PTSEPStart) 및 엔트리(SPNEPStart)는, 다음과 같이 정의된다.
엔트리(PTSEPStart)는, 도 22에서 나타낸 바와 같이, 데이터 길이가 33비트의 부호 없는 정수이며, AV스트림 중에서, 랜덤 액세스가 가능한 픽쳐(예를 들면 IDR(Instantaneous Decoding Refresh)픽쳐나 I(Intra)픽쳐)에서 개시하는 비디오 액세스 유니트의 33비트 길이의 PTS를 나타낸다.
엔트리(SPNEPStart)는, 도 23에서 나타낸 바와 같이, 32비트의 부호 없는 정수이며, 엔트리(PTSEPStart)에 관련지어진 비디오 액세스 유니트의 제 1바이트째를 포함하는 소스 패킷의, AV스트림 중에서 어드레스를 나타낸다. 엔트 리(SPNEPStart)는, 소스 패킷 번호의 단위로 나타내어지며, AV스트림 파일 중의 최초의 소스 패킷으로부터, 값 "0"을 초기치로서 소스 패킷마다 1씩 증가하는 값으로서 카운트 된다.
도 21을 참조하고, 블록(blkEPMapForOneStreamPID)(EP_stream_type, Nc, Nf)은, 제 1의 for 루프문에 의해 대충의 단위로의 검색을 행하기 위한 서브 테이블(EP coarse table)이 기술되며, 제 2의 for 루프문에 의해 서브 테이블(EP coarse table)의 검색 결과에 근거하여 보다 상세한 검색을 행하기 위한 서브 테이블(EP fine table)이 기술된다.
제 1의 for 루프문 직전에, 필드(EPFineTableStartAddress)가 배치된다. 필드(EPFineTableStartAddress)는, 32비트의 데이터 길이를 가지고, 최초의 제 2의 for 루프에 있어서의 필드(ReservedEPFine[EP_fine_id])의 제 1바이트째의 개시 어드레스를, 블록(blkEPMapForOneStreamPID)(EP_stream_type, Nc, Nf)의 제 1바이트째부터 상대 바이트수로 나타낸다. 상대 바이트수는, 값 "0"에서 개시한다.
제 1의 for 루프문은, 루프 변수[i]로써, 서브 테이블(EP coarse table)의 엔트리수(Nc)까지 반복되며, 엔트리수(Nc)의 조(組) 수만큼 필드(RefToEPFineID[i]), 엔트리(PTSEPCoarse[i]) 및 엔트리(PTSEPFine[i])가 격납된다. 제 1의 for 루프문에 있어서, 필드(RefToEPFineID[i])는, 18비트의 데이터 길이를 가지고, 필드(RefToEPFineID[i])에 계속하여 필드(PTSEPCoarse[i])가 나타내는 엔트리(PTSEPCoarse)에 관련지어지는 엔트리(PTSEPFine)를 가지는, 서브 테이블(EP fine table) 내의 엔트리 번호를 나타낸다. 엔트리(PTSEPFine)와, 이 엔트 리(PTSEPFine)에 관련지어지는 엔트리(PTSEPCoarse)는, 동일한 엔트리(PTSEPStart)로부터 유도된다. 필드(RefToEPFineID[i])는, 제 2의 for 루프 문중에서 기술되는 차례로 정의되는 루프 변수[EP_fine_id]의 값에 의해 주어진다.
제 1의 for 루프문 뒤에, 패딩 워드를 사이에 두고 제 2의 for 루프문에 의한 기술이 이루어진다. 제 2의 for 루프문은, 루프 변수[EP_fine_id]로써, 서브 테이블(EP fine table)의 엔트리수(Nf)까지 반복되며, 엔트리수(Nf)의 조 수만큼, 1비트의 데이터 길이를 가지는 필드(ReservedEPFine[EP_fine_id])와, 3비트의 데이터 길이를 가지는 필드(IEndPositionOffset[EP_fine_id])와, 11비트의 데이터 길이를 가지는 필드(PTSEPFine[EP_fine_id])와, 17비트의 데이터 길이를 가지는 필드(SPNEPFine[EP_fine_id])가 격납된다. 이들 중, 필드(PTSEPFine[EP_fine_id)] 및 필드(SPNEPFine[EP_fine_id])는, 루프 변수[EP_fine_id]에 근거하여 서브 테이블(EP fine table)에서 참조되는 엔트리(PTSEPFine) 및 엔트리(SPNEPFine) 각각이 격납된다.
엔트리(PTSEPCoarse) 및 엔트리(PTSEPFine)와 엔트리(SPNEPCoarse) 및 엔트리(SPNEPFine)는, 다음과 같이 유도된다. 서브 테이블(EP fine table)에, 관련하는 데이터(SPNEPStart) 값의 오름순으로 늘어서 있는 Nf개의 엔트리가 있다고 한다. 각각의 엔트리(PTSEPFine)는, 대응하는 엔트리(PTSEPStart)로부터, 다음 식(1)과 같이 유도된다.
PTSEPFine[EP_fine_id]=(PTSEPStart[EP_fine_id]>>9)/211…(1)
엔트리(PTSEPCoarse)와, 대응하는 엔트리(PTSEPFine)와의 관계는, 다음 식(2), (3)과 같다.
PTSEPCoarse[i]=(PTSEPStart[RefToEPFineID[i]]>>19)/214…(2)
PTSEPFine[RefToEPFineID[i]]=(PTSEPStart[RefToEPFineID[i]]>>9)/211…(3)
각각의 엔트리(SPNEPFine)는, 대응하는 엔트리(SPNEPStart)로부터, 다음 식(4)과 같이 유도된다.
SPNEPFine[EP_fine_id]=SPNEPStart[EP_fine_id]/217…(4)
엔트리(SPNEPCoarse)와 대응하는 엔트리(SPNEPFine)와의 관계는, 다음 식(5), (6)과 같다.
SPNEPCoarse[i]=SPNEPStart[RefToEPFineID[i]]…(5)
SPNEPFine[RefToEPFineID[i]]=SPNEPStart[RefToEPFineID[i]]/217…(6)
또한, 상술의 식(1)~(6)에 있어서, 기호 「>>x」는, 데이터의 LSB측에서 x비트를 넘는 자리수에서 비트를 이용하는 것을 의미한다.
다음으로, 확장 데이터를 격납하기 위한 블록(blkExtensionData())에 대하여 설명한다. 이 블록(blkExtensionData())은, 소정의 확장 데이터를 격납 가능하도록 정의되며, 인덱스 테이블이 격납되는 파일 "index.bdmv", 플레이 리스트가 격납되는 파일 "xxxxx.mpls" 및 클립 인포메이션 파일 "zzzzz.clpi"의 각 파일에 기술할 수 있다.
도 24는, 블록(blkExtensionData())의 일례의 구조를 나타내는 문맥을 나타낸다. 필드(Length)는, 32비트의 데이터 길이를 가지고, 이 필드(Length)의 직후부터 블록(blkExtensionData()) 마지막까지의 데이터 길이를 바이트수로 나타낸다. 이 필드(Length)가 나타내는 데이터 길이가 "0"이 아니면, if문 이하의 기술이 이루어진다.
필드(DataBlockStartAddress)는, 32비트의 데이터 길이를 가지고, 이 문맥 중의, 확장 데이터의 본체가 격납되는 블록(DataBlock())의 개시 어드레스를, 이 블록(blkExtensionData())의 선두 바이트에서 상대 바이트수로 나타낸다. 즉, 상대 바이트수는, "0"에서 개시된다. 또한, 필드(DataBlockStartAddress)는, 다음에 나타내는 32비트 얼라이먼트의 조건을 만족하지 않으면 안 된다. DataBlockStartAddress%4=0
24비트의 데이터 길이를 가지는 영역(reserved)을 통하여 필드(NumberOfExtDataEntries)가 배치된다. 필드(NumberOfExtDataEntries)는, 8비트의 데이터 길이를 가지고, 이 블록(blkExtensionData())의 블록(DataBlock())에 격납되는 확장 데이터의 엔트리수를 나타낸다. 확장 데이터의 엔트리는, 확장 데이터의 본체를 취득하기 위한 정보가 격납된다. 이 예에서는, 확장 데이터의 엔트리는, 필드(ExtDataType), 필드(ExtDataVersion), 필드(ExtDataStartAddress) 및 필드(ExtDataLength)로 이루어지는 블록(ext_data_entry())이며, 블록(blkExtensionData())에 있어서, 제 1의 for 루프문에 따라 이 필드(NumberOfExtDataEntries)에 나타나는 개수만큼, 이 블록(ext_data_entry())이 존재한다.
필드(ExtDataType)는, 16비트의 데이터 길이를 가지고, 이 블록(blkExtensionData())에 기술되는 확장 데이터가 기록장치용의 확장 데이터인 것을 나타낸다. 이 필드(ExtDataType) 값은, 확장 데이터를 식별하는 제 1의 값이며, 이 블록(blkExtensionData())을 포함하는 규격서의 라이센서(사용 인가자)가 할당한다고 정의할 수 있다. 필드(ExtDataVersion)는, 확장 데이터를 식별하는 제 2의 값이며, 이 확장 데이터의 버젼 번호를 나타내는 것이라고 정의할 수 있다. 또한, 이 블록(blkExtensionData())에 있어서, 필드(ExtDataType) 및 필드(ExtDataVersion)의 값이 동일한 블록(ext_data_entry())이 2이상, 존재해서는 안 된다.
필드(ExtDataStartAddress)는, 32비트의 데이터 길이를 가지고, 이 필드(ExtDataStartAddress)가 포함되는 확장 데이터의 엔트리(블록(ext_data_entry()))에 대응하는 확장 데이터의 개시 어드레스를 나타낸다. 필드(ExtDataStartAddress)는, 블록(blkExtensionData())의 선두 바이트로부터 상대 바이트수로, 확장 데이터(ext_data)의 개시 어드레스를 나타낸다. 또한, 필드(ExtDataStartAddress)는, 다음에 나타내는 32비트 얼라이먼트의 조건을 만족하지 않으면 안 된다. ExtDataStartAddress%4=0
필드(ExtDataLength)는, 32비트의 데이터 길이를 가지고, 이 필드(ExtDataStartAddress)가 포함되는 확장 데이터의 엔트리(블록 ext_data_entries())에 대응하는 확장 데이터의 데이터 길이를 나타낸다. 데이터 길이는, 바이트수로 나타난다.
필드(NumberOfExtDataEntries)에 나타내진 개수만큼, 확장 데이터의 엔트리(블록(ext_data_entry()))이 기술되면, 각각 16비트의 데이터 길이를 가지고 임의의 데이터열로 이루어지는 필드(padding_word)가, 2 필드를 조로서 임의의 회수(L1)만큼 반복된다. 그 후, 확장 데이터의 본체가 격납되는 블록(DataBlock())이 기술된다. 블록(DataBlock())은, 1이상의 확장 데이터가 격납된다. 각각의 확장 데이터(ext_data)는, 상술한 필드(ExtDataStartAddress) 필드(ExtDataLength)에 근거하여, 블록(DataBlock())으로부터 인출된다.
도 25는, 블록(blkExtensionData())에 있어서의 각 데이터의 참조 관계를 모식적으로 나타낸다. 필드(Length)에 의해, 필드(Length) 직후의 위치로부터 블록(blkExtensionData()) 끝까지의 데이터 길이가 나타내진다. 필드(DataBlockStartAddress)에 의해, 블록(DataBlock())의 개시 위치가 나타내진다. 필드(NumberOfExtDataEntries)로 나타내지는 개수만, 블록(ext_data_entry)이 기술된다. 마지막 블록(ext_data_entry)에서 블록(DataBlock()) 사이에는, 임의의 길이로 필드(padding_word)가 놓여 진다.
블록(DataBlock()) 내에는, 블록(ext_data_entry())에서 나타내지는 확장 데이터(ext_data)가 놓여 진다. 각각의 확장 데이터(ext_data)의 위치 및 데이터 길이는, 대응하는 블록(ext_data_entry()) 내의 필드(ExtDataStartAddress) 및 필드(ExtDataLength)에 의해 나타내진다. 따라서, 블록(DataBlock()) 내에서의 확장 데이터(ext_data)의 늘어선 순서는, 대응하는 블록(ext_data_entry())의 늘어선 순서와 일치하고 있지 않아도 좋다.
이와 같이, 확장 데이터를, 확장 데이터의 본체가 격납되는 블록(DataBlock())과, 블록(DataBlock()) 내의 확장 데이터에 대한 액세스 정보 등이 격납되는 블록(ext_data_entry())에 의한 2층 구조로 하는 것으로, 복수의 확장 데이터를 격납하는 것이 가능하게 된다.
다음으로, 상술의 확장 데이터의 일례의 작성 방법 및 읽어내는 방법에 대하여 설명한다. 도 26은, 블록(blkExtensionData())에 데이터를 기입할 때의 일례의 처리를 나타내는 플로차트이다. 이 도 26은, 블록(blkExtensionData()) 중의 (n+1) 번째의 엔트리로서, 확장 데이터를 추가하고, 블록(blkExtensionData())을 고쳐 쓰는 경우의 예이다.
먼저, 스텝(S10)에서, 기입하려고 하고 있는 확장 데이터의 데이터 길이를 취득하고, 필드(ExtDataLength[n+1])의 값으로 세트 한다. 또한, 「[n+1]」의 기술은, (n+1)번째의 엔트리 번호에 대응한다. 다음으로, 스텝(S11)에서, 현재의 블록(blkExtensionData())에 열거되어 있는 블록(ext_data_entry())의 필드(ExtDataLength) 및 필드(ExtDataStartAddress)의 값을 조사하여, 블록(DataBlock())의 사용 상황을 취득한다.
그리고, 다음의 스텝(S12)에서, 블록(DataBlock()) 중에, 기입하려고 하는 확장 데이터의 데이터 길이인 필드(ExtDataLength[n+1])에 나타나는 데이터 길이 이상의, 연속한 빈영역이 있는지 없는지가 판단된다. 만약, 있다고 판단되면, 처리는 스텝(S14)으로 이행된다.
한편, 필드(ExtDataLength[n+1])에 나타나는 데이터 길이 이상이 연속한 빈영역이 없다고 판단되면, 처리는 스텝(S13)으로 이행되며, 블록(blkExtensionData())에 있어서의 필드(Length)의 값을 크게 하고, 필드(ExtDataLength[n+1])에 나타나는 데이터 길이 이상이 연속한 빈영역을 블록(DataBlock()) 내에 만든다. 빈영역이 생기면, 처리가 스텝(S14)으로 이행된다.
스텝(S14)에서는, 확장 데이터를 기입 영역의 선두 어드레스를 결정하고, 그 선두 어드레스의 값을 필드(ExtDataStartAddress[n+1])로 한다. 다음의 스텝(S15)에서, 필드(ExtDataStartAddress[n+1])로부터, 상술의 스텝(S10)에서 세트 된 필드(ExtDataLength[n+1])의 길이의 확장 데이터(ext_data[n+1])를 기입한다.
데이터의 기입이 종료하면, 스텝(S16)에서, 블록(ext_data_entry())에 대하여, 필드(ExtDataLength[n+1])와, 필드(ExtDataStartAddress[n+1])를 추가한다.
또한, 상술에 있어서, 고쳐쓰기를 행하는 블록(blkExtensionData())은, 이미 디스크 등의 기록매체로부터 읽어 내어지며 기록장치의 메모리에 기억되어 있는 것으로 한다. 그 때문에, 스텝(S13)에 있어서의, 필드(Length) 값의 변경에 의한 블록(blkExtensionData())의 확대는, 시스템에 맡겨 지고, 시스템이 메모리 앨러케이션(allocation)을 적절히 행하는 것으로 이루어진다.
도 27은, 블록(blkExtensionData())으로부터 확장 데이터를 읽어낼 때의 일례의 처리를 나타내는 플로차트이다. 또한, 이 도 27의 플로차트에 의한 처리는, 재생 전용의 기록매체와, 기록 가능한 기록매체의 양쪽에 적용 가능한 것이다. 먼저, 최초의 스텝(S20)에서, 읽어 들이려고 하는 확장 데이터가 준거하는 규격으로 부터, 필드(ExtDataType)의 값을 취득하고, 스텝(S21)에서, 읽어들이려고 하는 확장 데이터의 종별로부터, 필드(ExtDataVersion)의 값을 취득한다.
다음의 스텝(S22)에서, 블록(blkExtensionData())에 열거되어 있는 블록(ext_data_entry())을 1개씩 차례차례, 읽어들인다. 그리고, 스텝(S23)에서, 읽어들인 블록(ext_data_entry())에 포함되는 필드(ExtDataType) 및 필드(ExtDataVersion)의 값이, 상술의 스텝(S20) 및 스텝(S21)에서 취득한 필드(ExtDataType) 및 필드(ExtDataVersion)의 값과 일치하는지 아닌지가 판단된다.
일치하고 있지 않다고 판단되면, 처리는 스텝(S26)으로 이행되며, 블록(blkExtensionData()) 내에 열거되는 블록(ext_data_entry())을 모두 다 읽었는지 아닌지가 판단된다. 모두 다 읽었다고 판단되면, 처리는 스텝(S27)으로 이행되며, 이 블록(blkExtensionData())에는, 읽어 들이려고 하는 확장 데이터가 존재하지 않는다고 하여, 일련의 처리가 종료된다. 모두 다 읽지 않았다고 판단되면, 처리는 스텝(S22)으로 되돌아가며, 다음 블록(ext_data_entry())이 읽혀진다.
상술의 스텝(S23)에 있어서, 블록(ext_data_entry())에 포함되는 필드(ExtDataType) 및 필드(ExtDataVersion)의 값이, 취득한 필드(ExtDataType) 및 필드(ExtDataVersion)의 값과 일치하고 있다고 판단되면, 처리는 스텝(S24)으로 이행된다. 여기에서는, 블록(blkExtensionData()) 중의 [i]번째의 엔트리로 일치한 것으로 한다.
스텝(S24)에서는, [i]번째의 엔트리의 블록(ext_data_entry())에서 필드(ExtDataLength[i])의 값과, 필드(ExtDataStartAddress[i])의 값을 읽어들인다. 그리고, 스텝(S25)에서, 스텝(S24)에서 읽어들인 필드(ExtDataStartAddress[i])에서 나타나는 어드레스로부터, 필드(ExtDataLength[i])에서 나타내지는 데이터 길이만큼 데이터를 읽어낸다.
다음으로, 상술한, 인덱스 파일 "index.bdmv", 무비 오브젝트 파일 "MovieObject.bdmv", 플레이 리스트 파일 "xxxxx.mpls" 및 클립 인포메이션 파일 "zzzzz.clpi"에 각각 정의 가능한, 확장 데이터를 격납하는 확장 데이터 블록(blkExtensionData())에 대하여 설명한다.
먼저, 인덱스 파일 "index.bdmv"에 대하여 정의되는 일례의 확장 데이터 블록에 대하여 설명한다. 여기에서는, 플레이 리스트마다 기록 가능한 기록매체에 특유의 속성 정보를 부가하도록 한, 일례의 확장 데이터 블록에 대하여 설명한다. 도 28은, 이 플레이 리스트 속성을 기술하기 위한, 파일 "index.bdmv"내의 필드(blkExtensionData())에 있어서의 블록(DataBlock())(도 24 참조)의 일례의 구조를 나타내는 문맥을 나타낸다. 이 도 28의 예에서는, 블록(DataBlock())이 블록(blkIndexExtensionData())으로서 기술되어 있다.
먼저, 상술의 도 24를 참조하여, 블록(blkExtensionData())에 대하여 필드(ExtDataType)를 값 "0x1000", 필드(ExtDataVersion)를 값 "0x0100"으로 한다. 이들 필드(ExtDataType) 및 필드(ExtDataVersion)에 기술된 값은, 예를 들면 재생장치 측에 있어서, 미리 ROM(Read Only Memory) 등에 기억된 테이블이 참조되어 식별된다. 블록(DataBlock()) 내의 필드(ExtDataStartAddress) 및 필드(ExtDataLength)로 나타나는 영역에, 블록(blkIndexExtensionData())이 격납된 다. 또한, 수치의 기술에 있어서 "0x"는, 그 수치가 16진표 기록되어 있는 것을 나타낸다.
블록(blkIndexExtensionData())에 있어서, 필드(TypeIndicator)는, 다음에 계속 되는 데이터의 종류를 나타내는, ISO646에 규정된 부호화 방식으로 부호화 한 4 문자로 이루어지는 문자열이 기술된다. 이 도 28의 예에서는, 필드(TypeIndicator)에 ISO646에 기정의 방식으로 부호화 된 4 문자의 문자열 "IDEX"이 기술되며, 다음에 계속 되는 데이터 종류가 「IndexExtensionData」인 것이 나타내진다.
필드(TypeIndicator)에 계속하여 32비트의 데이터 길이를 가지는 영역(reserved)이 배치되며, 그 다음에, 32비트의 데이터 길이를 가지는 필드(TableOfPlayListStartAddress)가 배치된다. 필드(TableOfPlayListStartAddress)는, 블록(blkTableOfPlayList())의, 이 블록(blkIndexExtensionData()) 선두를 기준으로 한 개시 어드레스가 나타내진다.
필드(TableOfPlayListStartAddress) 다음에, 32비트의 데이터 길이를 가지는 필드(MakersPrivateDataStartAddress)가 배치되어 블록(blkMakersPrivateData())의 이 블록(blkIndexExtensionData()) 선두를 기준으로 한 개시 어드레스가 나타내지며, 192비트의 데이터 길이를 가지는 영역(reserved)을 통하여 블록(blkUIAppInfoAVCHD())이 배치된다. 16비트의 데이터 길이를 가지는 패딩 워드(padding_word)가 값(N1)으로 나타내지는 회수만큼 반복되며, 다음으로, 블록(blkTableOfPlayLists())이 배치된다. 또한, 계속하여, 16비트의 데이터 길이를 가지는 패딩 워드(padding_word)가 값(N2)으로 나타내지는 회수만큼 반복되며 다음으로 블록(blkMakersPrivateData())이 배치된다. 이 블록(blkMakersPrivateData()) 뒤에, 16비트의 데이터 길이를 가지는 패딩 워드(padding_word)가 값(N3)으로 나타내지는 회수만큼 반복된다.
또한, 블록(blkUIAppInfoAVCHD()) 및 블록(blkMakersPrivateData())은, 이 발명과 관련성이 적기 때문에, 설명을 생략한다.
도 29는, 상술한 블록(blkTableOfPlayLists())의 일례의 구조를 나타내는 문맥을 나타낸다. 필드(Length)는, 32비트의 데이터 길이를 가지고, 이 필드(Length)의 직후부터 블록(blkTableOfPlayList())의 마지막 바이트까지의 데이터 길이를 바이트수로 나타낸다. 필드(Length)에 계속하여, 플레이백 타이틀을 재생하기 위한 플레이 리스트에 관한 정보가 기술되는 블록(blkFirstPlaybackTitlePlayLists())과, 메뉴 타이틀에 관한 정보가 기술되는 블록(blkMenuTitlePlayLists())이 배치된다. 이들 블록(blkFirstPlaybackTitlePlayLists()) 및 블록(blkMenuTitlePlayLists())은, 이 발명과 관련성이 적기 때문에, 설명을 생략한다.
다음으로, 16비트의 데이터 길이를 가지는 필드(NumberOfTitlePlayListPair)가 배치된다. 필드(NumberOfTitlePlayListPair)는, 플레이백 타이틀 및 메뉴 타이틀 이외의 타이틀을 재생하기 위한 플레이 리스트의 수가 기술된다. 다음의 for 루프문에 따라, 필드(NumberOfTitlePlayListPair)에서 나타내지는 수, 블록(blkMovieTitlePlayListPair())이 기술된다. 블록(blkMovieTitlePlayListPair())은, 필드(PlayListFileName), 필드(PlayListAttribute) 및 필드(RefToTitleID)를 포함한다. 즉, 블록(blkMovieTitlePlayListPair())은, 이 for 루프문에서 나타내는 [i]번째의 플레이 리스트에 대하여, 당해 플레이 리스트의 파일명, 당해 플레이 리스트에 부여된 속성과 당해 플레이 리스트의 참조 타이틀 ID로 이루어지는 플레이 리스트의 정보를 구조화한 것이다.
이 for 루프문에 의한 열거순서는, 기록순으로 된다. 즉, 1의 플레이 리스트가 추가되면, 필드(NumberOfTitlePlayListPair)의 값이 1만 인크리먼트(increment) 되며, 기존의 플레이 리스트의 정보 뒤에, 추가된 플레이 리스트의 정보가 추가 기록된다.
필드(PlayListFileName)는, 40비트(5바이트)의 데이터 길이를 가지고, 플레이 리스트의 파일명이 ISO646에 규정된 부호화 방식으로 부호화되어 기술된다. 필드(PlayListFileName) 다음에, 6비트의 데이터 길이를 가지는 영역(reserved)을 통하여 필드(PlayListAttribute)가 배치된다. 필드(PlayListAttribute)는, 2비트의 데이터 길이를 가지고, 당해 플레이 리스트에 부여된 속성을 나타낸다. 플레이 리스트는, 그 원인에 근거하여, 클립의 생성과 함께 생성되는 플레이 리스트에 대응하는 제 1의 종류와, 기존의 타이틀 혹은 플레이 리스트의 일부 또는 전부를 이용하여 작성되는 플레이 리스트에 대응하는 제 2의 종류와, 메뉴를 재생하기 위하여 이용하는 제 3의 종류의 3 종류로 나누어지며, 각 플레이 리스트에는, 플레이 리스트의 종류에 따라, 각각 대응하는 속성 「Real」( 제 1의 종류), 속성 「Virtual」(제 2의 종류) 및 속성 「Menu」(제 3의 종류)이 부여된다.
또한, 이하에서는 적당히, 속성 「Real」이 부여된 플레이 리스트를 리얼 플레이 리스트, 속성 「Virtual」가 부여된 플레이 리스트를 버추얼 플레이 리스트, 속성 「Menu」가 부여된 플레이 리스트를 메뉴 플레이 리스트라고 부른다.
필드(RefToTitleID)는, 동일 루프 내의 필드(PlayListFileName)에 나타나는 플레이 리스트가 작성시에 속하는 타이틀의 ID(번호)가 기술된다. 보다 구체적인 예로서는, 인덱스 파일 "index.bdmv" 내의 블록(blkIndexes())에 있어서의, 대응하는 값(title_id)이 기술된다. 또한, 당해 플레이 리스트가 퍼스트 플레이백 타이틀만으로부터 재생되는 경우, 필드(RefToTitleID)의 값은, 제 1의 고정치, 예를 들면 "0xFFFF"로 된다. 또, 당해 플레이 리스트가 메뉴 타이틀만으로부터 재생되는 경우는, 필드(RefToTitleID)의 값은, 제 2의 고정치, 예를 들면 "0xFFFE"로 된다.
다음으로, 가상 플레이어에 대하여, 개략적으로 설명한다. 상술한 바와 같이 데이터 구조를 가지는 디스크가 플레이어에 장전되면, 플레이어는, 디스크로부터 읽어내진 무비 오브젝트 등에 기술된 커멘드를, 플레이어 내부의 하드웨어를 제어하기 위한 고유의 커멘드로 변환할 필요가 있다. 플레이어는, 이러한 변환을 행하기 위한 소프트웨어를, 플레이어에 내장되는 ROM(Read Only Memory)에 미리 기억하고 있다. 이 소프트웨어는, 디스크와 플레이어를 중개하여 플레이어에 AVCHD 포맷의 규정에 따른 동작을 시키기 때문에, 가상 플레이어라고 칭해진다.
도 30a 및 도 30b는, 이 가상 플레이어의 동작을 개략적으로 나타낸다. 도 30a는, 디스크 로딩시의 동작의 예를 나타낸다. 디스크가 플레이어에 장전되어 디스크에 대한 이니셜 액세스가 이루어지면(스텝 S30), 1의 디스크에 있어서 공유적 으로 이용되는 공유 파라미터가 기억되는 레지스터가 초기화된다(스텝 S31). 그리고, 다음의 스텝(S32)으로, 무비 오브젝트 등에 기술된 프로그램이 디스크로부터 읽혀 실행된다. 또한, 이니셜 액세스는, 디스크 장전시와 같이, 디스크의 재생이 처음으로 행해지는 것을 말한다.
도 30b는, 플레이어가 정지상태로부터 사용자에 의해 예를 들면 플레이 키가 눌려져 재생이 지시된 경우의 동작의 예를 나타낸다. 최초의 정지상태(스텝 S40)에 대하여, 사용자에 의해, 예를 들면 리모트콘트롤커맨드 등을 이용하여 재생이 지시된다(UO:User Operation). 재생이 지시되면, 먼저, 레지스터 즉 공통 파라미터가 초기화되어(스텝 S41), 다음의 스텝(S42)으로, 무비 오브젝트 실행 페이즈로 이행한다.
무비 오브젝트의 실행 페이즈에 있어서의 플레이 리스트의 재생에 대하여, 도 31을 이용하여 설명한다. UO등에 의해, 타이틀 번호(#1)의 콘텐츠를 재생 개시하는 지시가 있었을 경우에 대하여 생각한다. 플레이어는, 콘텐츠의 재생 개시 지시에 따라, 상술한 도 2에 나타내는 인덱스 테이블(Index Table)을 참조하여, 타이틀(#1)의 콘텐츠 재생에 대응하는 오브젝트 번호를 취득한다. 예를 들면 타이틀(#1)의 콘텐츠 재생을 실현하는 오브젝트의 번호가 #1이었다고 하면, 플레이어는, 무비 오브젝트(#1)의 실행을 개시한다.
이 도 31의 예에서는, 무비 오브젝트(#1)에 기술된 프로그램은 2행으로 이루어지며, 1행째의 커멘드가 "Play PlayList(1)"이다고 하면, 플레이어는, 플레이 리스트(#1)의 재생을 개시한다. 플레이 리스트(#1)는, 1이상의 플레이 아이템 으로 구성되며, 플레이 아이템이 차례차례 재생된다. 플레이 리스트(#1) 중의 플레이 아이템의 재생이 종료하면, 무비 오브젝트(#1)의 실행으로 돌아와, 2행째의 커멘드가 실행된다. 도 31의 예에서는, 2행째의 커멘드가 "jump MenuTitle"이며, 이 커멘드가 실행되어 인덱스 테이블에 기술된 메뉴 타이틀(MenuTitle)을 실현하는 무비 오브젝트의 실행이 개시된다.
다음에, 이 발명의 실시의 일형태에 대하여 설명한다. 이 발명에서는, 영상 신호의 기록 개시부터 기록 종료까지를 1개의 기록 단위로서 정의하고, 이 1 기록 단위의 구간에 생성되는 비디오 데이터로 이루어지는 스트림을 1개의 스트림 파일로서 기록매체에 기록한다. 이 스트림 파일에는, 영상 신호의 기록에 수반하여 기록되는 음성신호를 포함할 수 있다. 이 1 기록 단위에 대응하는 스트림 파일에 근거하여 클립이 구성된다.
또, 이 발명의 실시의 일형태에서는, 1개의 클립을 1개의 플레이 아이템에서 참조하고, 클립이 생성될 때마다, 생성된 클립을 참조하는 플레이 아이템을 차례차례, 플레이 리스트에 대하여 추가한다. 이때, 플레이 리스트에 있어서, 플레이 아이템마다 즉 클립마다 플레이 리스트 마크를 찍는다. 그리고, 예를 들면 1의 기록매체에 1의 플레이 리스트만이 존재하도록 한다. 이것에 한정하지 않고, 디스크상에 복수의 플레이 리스트를 존재시켜도 좋다.
도 32는, 이 발명의 실시의 일형태에 적용 가능한 기록장치의 일례의 구성을 개략적으로 나타낸다. 이 기록장치는, 입력된 디지털 비디오 데이터 및 디지털 오디오 데이터를, 소정의 방식으로 압축 부호화 및 다중화한 AV스트림을 기록매체에 기록하도록 하고 있다. 압축 부호화 및 다중화의 방식으로서는, 예를 들면 상술한 AVCHD 포맷을 적용할 수 있다.
이 도 32에 예시되는 기록장치는, 외부로부터 입력되는 비디오 데이터 및 오디오 데이터를 기록매체에 기록하는, 단독의 기록장치로서 이용할 수도 있고, 광학계나 촬상소자 등을 갖춘 카메라 블록과 조합하고, 촬상한 촬상신호에 근거하는 비디오 데이터를 기록매체에 기록하는, 비디오 카메라 장치의 기록 블록으로서 이용할 수도 있다.
적용 가능한 압축 부호화나 다중화의 방식으로서는, 여러 가지로 생각된다. 예를 들면, H.264|AVC로 규정되는 방식을, 이 발명의 실시의 일형태의 압축 부호화로서 적용할 수 있다. 이것에 한정하지 않고, MPEG2 방식에 근거하여 압축 부호화를 실시하도록 해도 좋다. 또, 다중화 방식은, 예를 들면 MPEG2 시스템즈를 적용할 수 있다. 이하에서는, 비디오 데이터의 압축 부호화를 H.264|AVC로 규정되는 방식에 준하여 실시하고, 비디오 데이터 및 오디오 데이터의 다중화를, MPEG2 시스템즈에 규정되는 방식에 준하여 실시하는 것으로서 설명한다.
제어부(30)는, 예를 들면 CPU(Central Processing Unit), RAM(Random Access Memory) 및 ROM(Read Only Memory)등으로 이루어지며(도시하지 않는다), ROM에 미리 기억된 프로그램이나 데이터에 근거하여, RAM을 워크메모리로서 이용하여 이 기록장치의 기록부(10)의 각부를 제어한다. 또한, 제어부(10)와 기록부(10)의 각부를 접속하는 경로는, 번잡함을 피하기 위해서, 도 32에서는 생략하고 있다.
UI(User Interface)부(31)는, 이 기록장치의 동작을 사용자가 조작하기 위해 조작자가 소정으로 설치되며, 조작자에 대한 조작에 따른 제어신호를 출력한다. 이 제어신호는, 제어부(30)에 공급된다. 제어부(30)는, 사용자 조작에 따라 UI부(31)로부터 공급된 제어신호에 근거하여 이루어지는 프로그램 처리에 의해, 기록부(10)의 각부의 동작을 제어한다. 예를 들면, UI부(31)에 대하여 이루어진 조작에 따라, 기록장치에 의한 기록 동작의 개시 및 정지의 동작이 제어부(30)에 의해 제어된다.
베이스 밴드의 디지털 비디오 데이터가 단자(40)로부터 입력된다. 또, 당해 디지털 비디오 데이터에 수반하여, 베이스 밴드의 디지털 오디오 데이터가 단자(41)로부터 입력된다.
디지털 비디오 데이터는 단자(40)로부터 기록부(10)에 입력되며, 비디오 인코더(11)에 공급된다. 비디오 인코더(11)는, 공급된 디지털 비디오 데이터를, 소정의 방식으로서 압축 부호화한다. MPEG4AVC|H.264로 규정되는 방식에 준하여 압축 부호화가 이루어지는 이 예에서는, 예를 들면, DCT(Discrete Cosine Transform)와 화면내 예측에 의하여 프레임 내 압축을 행하는 동시에, 움직임 벡터를 이용한 프레임간 압축을 행하고, 또한 엔트로피(entropy) 부호화를 행하는 압축 효율을 높인다. 비디오 인코더(11)에서 압축 부호화 된 디지털 비디오 데이터는, MPEG4의 엘리멘터리 스트림(ES)으로서, 멀티플렉서(MUX)(13)에 공급된다.
디지털 오디오 데이터는 단자(41)로부터 기록부(10)에 입력되며, 오디오 인코더(12)에 공급된다. 오디오 인코더(12)는, 소정의 압축 부호화 방식, 예를 들면 AAC(Advanced Audio Coding)에 의해 압축 부호화된다. 오디오 데이터의 압축 부호화 방식은, AAC에 한정되는 것은 아니다. 오디오 데이터를 압축 부호화하지 않고, 베이스 밴드의 데이터인 채 이용하는 것도 생각할 수 있다. 압축 부호화된 디지털 오디오 데이터는, 멀티플렉서(13)에 공급된다.
멀티플렉서(13)는, 각각 압축 부호화 되어 공급된 디지털 비디오 데이터 및 디지털 오디오 데이터를 소정의 방식으로 다중화하고, 1개의 데이터 스트림으로서 출력한다. MPEG2 시스템즈에 준하여 다중화가 행해지는 이 예에서는, MPEG2의 트랜스포트 스트림을 이용하여, 공급된 압축 비디오 데이터 및 압축 오디오 데이터를 시분할로 다중화한다. 예를 들면, 멀티플렉서(13)는, 버퍼메모리를 가지고, 공급된 압축 비디오 데이터 및 압축 오디오 데이터를 버퍼메모리에 모은다.
버퍼메모리에 모은 압축 비디오 데이터는, 소정 사이즈마다 분할되어 헤더가 부가되고, PES(Packetized Elementary Stream) 패킷화 된다. 압축 오디오 데이터도 마찬가지로, 소정 사이즈마다 분할되어 헤더가 부가되어 PES 패킷화 된다. 헤더에는, 패킷에 격납되는 데이터의 재생 시각을 나타내는 PTS나 복호 시각을 나타내는 DTS(Decoding Time Stanp)라고 하는, MPEG2 시스템즈로 규정되는 소정의 정보가 격납된다. PES 패킷은, 한층 더 분할되어 트랜스포트 패킷(TS패킷)의 페이로드에 가득 채워진다. TS패킷의 헤더에는, 페이로드에 넣어진 데이터를 식별하기 위한 PID(Packet Identification)가 격납된다. 멀티플렉서(13)로부터 출력된 TS패킷은, 스트림 버퍼(14)에 일단 채워 넣어진다.
또한, TS패킷은, 실제로는, 멀티플렉서(13)에 있어서 또한 소정 사이즈의 헤더가 부가되어 출력된다. 이, TS패킷에 대하여 소정의 헤더를 부가한 패킷을, 소 스 패킷이라고 부른다.
기록제어부(15)는, 기록매체(20)에 대한 데이터의 기록을 제어한다. 기록매체(20)로서는, 예를 들면 기록 가능한 타입의 DVD(Digital Versatile Disc)를 이용할 수 있다. 이것에 한정하지 않고, 기록매체(20)로서 하드 디스크 드라이브를 이용해도 좋고, 반도체 메모리를 기록매체(20)에 적용하는 것도 가능하다. 또, 기록매체(20)로서, 보다 대용량을 실현한 Blu-rayDisc(블루 레이 디스크:등록상표)를 적용하는 것도 생각할 수 있다.
기록제어부(15)는, 스트림 버퍼(14)에 채워 넣어진 데이터량을 감시하고, 스트림 버퍼(14)에 소정량 이상의 데이터가 넣어지면, 스트림 버퍼(14)로부터 기록매체(20)의 기록 단위 분의 데이터를 읽어내어 기록매체(20)에 기입한다.
관리 정보처리부(16)는, 예를 들면 CPU, 워크메모리로서의 RAM 및 프로그램 소정의 데이터가 미리 기억되는 ROM으로 이루어진다(도시하지 않는다). 이것에 한정하지 않고, 관리 정보처리부(16)는, 예를 들면 제어부(30)에 있어서의 프로그램 처리로 관리 정보처리부(16)의 기능을 실현하는 것도 가능하다. 이 경우, 예를 들면 제어부(30)가 가지는 RAM이 휘발성 메모리(17)로서 이용되는 동시에, 불휘발성 메모리(18)가 제어부(30)에 접속된다.
관리 정보처리부(16)는, 기록 데이터에 근거하여, 휘발성 메모리(17)를 워크메모리로서 이용하고, 상술한 인덱스 파일 "index.bdmv", 무비 오브젝트 파일 "MovieObject.bdmv", 플레이 리스트 파일 "xxxxx.mpls" 및 클립 인포메이션 파일 "zzzzz.clpi"에 격납하기 위한 정보를 생성한다. 생성된 정보는, 소정의 타이밍으 로 기록매체(20)에 기입된다.
일례로서, 관리 정보처리부(16)는, 멀티플렉서(13)로부터 기록 데이터의 시간 정보를 취득하는 동시에, 기록제어부(15)로부터 기록 데이터의 기록매체(20)에 대한 어드레스 정보를 취득하고, 취득된 이들 시간 정보 및 어드레스 정보에 근거하여 EP_map 정보가 생성된다. 또, UI부(31)에 대한 기록 개시, 기록 종료의 조작에 따라 제어부(30)로부터 출력되는 제어신호와, 멀티플렉서(13) 및 기록제어부(15)로부터의 기록 데이터에 관한 정보에 근거하여, 플레이 리스트 파일 "xxxxx.mpls"의 생성 또는 갱신, 클립 인포메이션 파일 "zzzzz.clpi"의 생성 등이 행해진다. 또한 기록매체(20)에 대하여 신규로 기록을 할 때, 인덱스 파일 "index.bdmv"이나 무비 오브젝트 파일 "MovieObject.bdmv"의 생성 또는 갱신이 행해진다.
다음으로, 이 발명의 실시의 일형태에 의한 클립의 기록방법에 대하여 설명한다. 도 33은, 이 발명의 실시의 일형태에 의한 클립의 일례의 기록방법을 나타내는 플로차트이다. 이 플로차트에 의한 처리에 앞서, 기록매체(20)에는, 클립과, 당해 클립을 재생하기 위한 재생 제어 정보가 격납되어 파일(클립 인포메이션 파일, 플레이 리스트 파일, 무비 오브젝트 파일 및 인덱스 파일 등)이 이미 기록매체(20) 상에 기록되어 있는 것으로 한다.
스텝(S50)에서 기록 개시 조작이 행해지면, 다음 스텝(S51)으로, 클립 AV스트림의 기록매체(20)로의 기록이 개시된다.
기록 개시 조작은, 예를 들면 다음과 같이 된다. 예를 들면, UI부(31)에, 기록 개시를 지시하는 기록 개시 스위치와 기록 정지를 지시하는 기록 정지 스위치가 설치된다. 스텝(S50)에서는, 사용자에 의하여 기록 개시 스위치가 조작된다. 이 조작에 따라, 기록 개시를 지시하는 제어신호가 UI부(31)로부터 출력되며, 제어부(30)에 공급된다. 제어부(30)는, 이 기록개시를 지시하는 제어신호에 근거하여, 기록부(10)의 각부에 대하여, 단자(40)로부터 입력되는 베이스 밴드의 비디오 데이터와, 단자(41)로부터 입력되는 베이스 밴드의 오디오 데이터를 기록매체(20)에 기록하도록 제어한다.
기록 개시에 관련되는 제어부(30)의 제어의 일례로서, 기록 정지상태에서는 비디오 인코더(11) 및 오디오 인코더(12)의 동작을 정지하게 하고, 기록 개시의 지시에 따라, 이들 비디오 인코더(11) 및 오디오 인코더(12)의 동작을 개시시키는 것을 생각할 수 있다. 이것에 한정하지 않고, 멀티플렉서(13)나 스트림 버퍼(14), 기록제어부(15)의 동작의 개시, 정지를 제어하는 것으로, 기록 개시 및 정지의 제어를 행할 수도 있다.
기록 개시의 제어에 따라, 클립 AV스트림이 기록매체(20)에 기록된다(스텝 S51). 즉, 입력된 비디오 데이터 및 오디오 데이터가 비디오 인코더(11) 및 오디오 인코더(12)에서 각각 압축 부호화되며, 멀티플렉서(13)에서 패킷화 되어 TS패킷(실제로는 한층 더 소정의 헤더가 부가된 소스 패킷)으로 되어 스트림 버퍼(14)에 공급된다. 스트림 버퍼(14)에 소정량 이상의 TS패킷이 모으면, 기록제어부(15)에 의해 스트림 버퍼(14)로부터 TS패킷이 읽어 내어진다. 읽어 내진 TS패킷은, 소정으로 파일명이 첨부된 클립 AV스트림 파일에 격납되어, 기록매체(20)에 기록된 다.
예를 들면, 기록매체(20)에 이미 파일명 "00001.m2ts"인 클립 AV스트림 파일이 기록되어 있는 경우에는, 새롭게 기록되는 클립 AV스트림 파일의 파일명으로서 이미 기록되어 있는 파일과 중복하지 않은 파일명이 선택되며, 예를 들면 파일명 "00002.m2ts"로 된다.
또한, 클립 AV스트림의 기록매체(20)로의 기록에 수반하고, 관리 정보처리부(16)에 의해, 기록되는 데이터의 재생 시간과 어드레스와의 대응 관계를 나타내는 정보가 리얼타임으로 생성된다. 이 데이터는, 상술한 클립 인포메이션 파일 "zzzzz.clpi"내의 블록(blkEPMap())에 격납되는 데이터로서, 휘발성 메모리(17)에 기억된다. 당해 데이터의 백업으로서, 불휘발성 메모리(18)에도 동일한 데이터를 기억할 수도 있다.
다음의 스텝(S52)에서, 기록 정지 조작이 행해졌는지 아닌지가 판단된다. 예를 들면, 사용자에 의해 UI부(31)에 설치된 기록 정지 스위치가 조작되며, 기록이 정지되었다고 판단되면, 처리는 스텝(S53)으로 이행된다. 한편, 기록이 정지되어 있지 않으면, 처리는 스텝(S51)으로 되돌아가고, 클립 AV스트림의 기록매체(20)로의 기록이 계속된다.
스텝(S53)에서는, 기록의 정지에 수반하여, 스트림 버퍼(14)에 채워 넣어져 있는 스트림이 모두 기록매체(20)에 기입된다. 예를 들면, 기록제어부(15)는, 제어부(30)로부터의 기록 정지의 명령에 따라, 스트림 버퍼(14)에 채워 넣어져 있는 스트림(TS패킷)을 모두 읽어내고, 기록매체(20)에 기입한다.
또, 기록 정지의 명령에 따라, 예를 들면 비디오 인코더(11) 및 오디오 인코더(12)의 동작이 정지된다. 이때, 도 13a를 이용하여 설명한 제 1의 심리스 접속을 행하기 위해서, 예를 들면, 오디오 인코더(12)의 동작이 비디오 인코더(11)의 동작이 정지하고 나서 소정 시간 후에 정지되도록 제어된다.
다음의 스텝(S54)~스텝(S58)에서, 관리 정보처리부(16)에 의해, 기록매체(20)에 기입된 클립 AV스트림 파일에 관한 클립 인포메이션 파일이 생성되는 동시에, 플레이 리스트 파일의 갱신이 이루어진다.
먼저, 스텝(S54)에서, 관리 정보처리부(16)에 의해, 클립 인포메이션 파일 "zzzzz.clpi"가 생성된다. 파일명은, 예를 들면 이 클립 인포메이션 파일이 나타내는 클립 AV스트림 파일의 파일명과 대응하는 파일명으로 되며, 당해 클립 AV스트림 파일의 파일명이 "00002.m2ts"이면, 이 클립 인포메이션 파일의 파일명은, 확장자보다 앞 부분이 동일한 파일명 "00002.clpi"으로 된다.
클립 인포메이션 파일 "00002.clpi"에, 도 15~ 도 21에 예시한 각 문맥에 따라, 각 필드나 플래그의 값이 소정으로 설정되어 격납된다. 일례로서 TS패킷에 관한 정보나, 재생 시간(PTS)에 관한 정보는, 관리 정보처리부(16)에 의해, 클립의 기록중에 멀티플렉서(13)로부터 취득된 정보에 근거하여 생성된다. 또, 기록매체(20) 상의 기록 어드레스에 관한 정보는, 관리 정보처리부(16)에 의해, 클립의 기록중에 기록제어부(15)로부터 취득된 정보에 근거하여 생성된다. 시스템에 의해 고유의 값은, 예를 들면 미리 ROM(도시하지 않는다) 등에 기억되어 있는 정보에 근거한다. 게다가 재생 시간과 어드레스와의 대응 관계를 나타내는 상술한 블 록(blkEPMap())의 정보가, 클립 인포메이션 파일 "00002.clpi"의 블록(blkCPI())에 격납된다.
또, 블록(blkClipInfo()) 내의 플래그(IsCC5)는, 사용자 조작에 의해 클립의 기록이 정지되었을 경우, 값이 1(바이너리치)로 된다. 거기에 따라, 블록(blkClipInfo()) 내의 if문(도 16 참조)에서 나타나는 데이터가 소정으로 설정된다.
클립 인포메이션 파일의 작성이 완료하면, 처리는 다음의 스텝(S55)으로 이행한다. 스텝(S55)~스텝(S58)처리는, 플레이 리스트 파일에 관한 처리이다. 이 스텝(S55)~스텝(S58)처리에 의해, 이미 기록매체(20) 상에 존재하는 플레이 리스트 파일에 대하여, 새롭게 기록된 클립 AV스트림 파일 "00002.m2ts"에 대응하는 플레이 아이템이 추가된다.
먼저, 스텝(S55)에서, 플레이 리스트 파일 내의 블록(blkPlayItem())에 있어서의 필드(ConnectionCondition)의 값이 5로 설정되며, 이 클립이 다음의 클립과 제 1의 심리스 접속을 행하는 것이 나타난다(도 12 참조). 다음에 스텝(S56)에서, 플레이 아이템 파일의 필드(NumberOfPlayItems)의 값이 1만 인크리먼트 되며, 당해 플레이 리스트에 대하여 플레이 아이템이 1개, 추가되는 것이 나타난다(도 11 참조).
다음의 스텝(S57)에서, 블록(blkPlayItem())에 있어서의 필드(ClipInformationFileName), 필드(INTime) 및 필드(OUTTime)가 각각 설정되며, 클립의 기록에 수반하여 추가되는 블록(blkPlayItem())이 작성된다. 필 드(ClipInformationFileName)는, 상술의 스텝(S55)에서 작성된 클립 인포메이션 파일의 파일명 "00002.clpi"이 격납된다. 실제로는, 클립 인포메이션 파일의 확장자는 고정적으로 되어 있으므로, 피리어드의 앞 부분 "00002"가 격납된다. 필드(INTime) 및 필드(OUTTime)는, 대응하는 클립 AV스트림 파일 "00002.m2ts"에 격납되는 비디오 스트림의 선두 및 종단의 시간을 나타내는 정보이며, 예를 들면 클립 인포메이션 파일 "00002.clpi" 내의 블록(blkCPI())에 있어서의 블록(blkEPMap())의 정보에 근거한다.
다음의 스텝(S58)에서, 플레이 리스트 파일 내의 블록(blkPlayListMark())에 있어서의 필드(NumberOfPlayListMarks)의 값이 1만 인크리먼트 되며, 거기에 따라 for 루프문 내에 추가된 필드(MarkTimeStamp)의 값이, 상술의 스텝(S57)에서 블록(blkPlayItem())에 있어서의 필드(INTime)의 값으로 설정된다. 즉, 새롭게 기록된 클립의 선두에, 플레이 리스트 마크가 찍힌다.
이와 같이 하여, 새롭게 기록된 클립 AV스트림 파일 "00002.m2ts"에 대하여, 클립 인포메이션 파일 "00002.clpi"이 작성되는 동시에, 기존의 플레이 리스트 파일이 갱신된다.
또한, 상술한 스텝(S53)에 의한 스트림 버퍼(14)에 채워 넣어진 데이터의 기록매체(20)로의 기입 처리는, 스텝(S58) 처리 후에 행하도록 해도 좋다.
기록이 정지된 상태로부터, UI부(31)에 대한 기록 개시 조작을 행하는 것으로, 다시 스텝(S50)에서의 처리가 개시되며, 새로운 클립 AV스트림 파일의 기록매체(20)로의 기록과, 대응하는 클립 인포메이션 파일의 작성, 작성된 클립 인포메이 션 파일을 참조하는 플레이 아이템의 생성 및 생성된 플레이 아이템의 플레이 리스트로의 추가 처리가 동일하게 하여 행해진다.
또한, 일단 기록이 정지되고 나서 다음의 기록이 개시되는 경우, 상술한 스텝(S54)에서 작성한 클립 인포메이션 파일의 기록매체(20)로의 기입이 종료할 때까지, 다음의 클립 AV스트림 파일의 기록은, 개시하지 않게 한다.
이 경우, 기록이 정지되고 나서 다음의 기록을 개시할 수 없을 가능성이 있다. 이것을 피하기 위해서, 예를 들면 클립 인포메이션 파일을 생성하기 위해서 워크메모리로서 이용한 휘발성 메모리(17)에, 당해 클립 인포메이션 파일을 보관 유지해 두고, 예를 들면 디스크 이젝트시나 기록장치의 전원 OFF시 등 소정의 타이밍으로 휘발성 메모리(17)에 보관 유지되어 있는 클립 인포메이션 파일을 기록매체(20)에 기입하는 것을 생각할 수 있다.
또한, 여기에서는, 기록매체(20) 상에 이미 클립 AV스트림 파일과, 대응하는 클립 인포메이션 파일 및 플레이 리스트 파일이 기록되어 있는 상태로, 다음의 클립 AV스트림 파일을 기록하는 예에 대하여 설명했지만, 도 33의 플로차트를 이용하여 설명한 처리는, 기록매체(20)에 최초의 클립 AV스트림 파일을 기록할 때에도, 적용 가능한 것이다.
여기서, AVCHD 포맷에 의하면, 클립 AV스트림 파일을 참조하는 플레이 아이템이 격납되는 플레이 리스트 파일과, 당해 플레이 리스트 파일을 호출하는 커멘드가 무비 오브젝트로서 기술된 무비 오브젝트 파일과, 무비 오브젝트 파일 중의 무비 오브젝트를 타이틀로서 호출하는 인덱스 파일이 필요하게 된다. 기록매체(20) 에 대하여 최초의 클립 AV스트림 파일을 기록했을 때에, 이들 인덱스 파일 및 무비 오브젝트 파일을 자동적으로 작성되도록 할 수 있다.
도 34는, 상술의 도 33의 순서에 따라 작성된 일례의 파일 구조를 나타낸다. 일례로서 기록매체(20)에 대하여, 최초의 클립 AV스트림 파일 "00001.m2ts"가 기록되며(스텝 S50~스텝 S53), 대응하는 클립 인포메이션 파일 "00001.clpi"이 작성된다(스텝 S54).
클립 AV스트림 파일 "00001.m2ts" 및 클립 인포메이션 파일 "00001.clpi"의 기록 및 작성에 따라, 다음에, 당해 클립 인포메이션 파일 "00001.clpi"을 참조하는 플레이 아이템(#1)의 정보가 생성되는 동시에, 당해 플레이 아이템(#1)을 격납하는 플레이 리스트 파일이 작성된다(스텝 S55~스텝 S58). 또, 플레이 리스트 파일에 대하여, 플레이 아이템(#1)의 필드(INTime)에 대응하는 시각에 플레이 리스트 마크(Mark#1)가 찍힌다(스텝 S58).
또한, 최초의 클립 AV스트림 파일 "00001.m2ts"의 기록에 따라, 플레이 리스트(#1)를 호출하는 무비 오브젝트(#1)가 기술되는 무비 오브젝트 파일과, 무비 오브젝트(#1)를 타이틀(#1)로서 선택 및 재생시키기 위한 인덱스 파일을 작성하도록 할 수 있다. 무비 오브젝트 파일 및 인덱스 파일은, 템플릿을 미리 작성해 두고, 그것을 갱신하도록 할 수 있다. 이들 무비 오브젝트 파일 및 인덱스 파일의 작성에 대해서는, 이 발명의 주지와 관련성이 적기 때문에, 상세한 설명을 생략한다.
다음으로 기록 개시 조작이 이루어지면, 기록매체(20)에 대하여, 클립 AV스 트림 파일 "00002.m2ts"와, 대응하는 클립 인포메이션 파일 "00002.clpi"이 추가하여 기록된다(스텝 S50~스텝 S53 및 스텝 S54). 클립 AV스트림 파일 "00002.m2ts"및 클립 인포메이션 파일 "00002.clpi"의 기록 및 작성에 따라, 다음에, 당해 클립 인포메이션 파일 "00002.clpi"을 참조하는 플레이 아이템(#2)이 생성된다. 이 생성된 플레이 아이템(#2)은, 이미 작성되어 있는 플레이 리스트 파일에 대하여 추가된다. 또한 플레이 리스트 파일에 대하여, 플레이 아이템(#2)의 필드(INTime)에 대응하는 시각에 플레이 리스트 마크(Mark#2)가 찍힌다(스텝 S58).
이와 같이 하여, 1조의 기록 개시 조작 및 기록 정지 조작에 의해 1개의 클립 AV스트림 파일이 기록매체(20)에 기록되며, 거기에 따라, 당해 클립 AV스트림 파일에 대응하는 클립 인포메이션 파일이 작성된다. 또, 당해 클립 인포메이션 파일을 참조하는 플레이 아이템이 생성되어 기존의 플레이 리스트에 대하여 추가되며, 당해 플레이 아이템의 필드(INTime)에서 나타나는 시각에 플레이 리스트 마크가 찍힌다. 이들 일련의 처리가 기록 개시 조작 및 기록 정지 조작의 조 마다, 반복된다.
또, 도 34에 예시되는 파일 구조에서 알 수 있는 바와 같이, 기록 개시 조작 및 기록 정지 조작의 조의 반복에 의해 기록되는 복수의 클립 AV스트림 파일의 각각을 참조하는 복수의 플레이 아이템은, 1개의 플레이 리스트 파일에, 클립 AV스트림 파일의 기록에 수반하여 차례차례, 추가하여 격납된다. 이 플레이 리스트는, 무비 오브젝트 파일 내의 하나의 무비 오브젝트로부터 호출되어, 이 무비 오브젝트는, 인덱스 파일로부터 1개의 타이틀로서 선택 및 재생된다. 따라서, 일련의 기록 개시 조작 및 기록 정지 조작의 조의 반복에 의해 기록되는 복수의 클립 AV스트림 파일은, 인덱스 파일상에서, 1개의 타이틀로서 관리되게 된다.
다음으로, 이 발명의 실시의 일형태의 다른 예에 대하여 설명한다. 상술에서는, 이 발명이 단체의 기록장치에 적용된 예에 대하여 설명했다(도 32 참조). 이것에 대하여, 이 실시의 일형태의 다른 예에서는, 이 발명을, 촬상소자와, 피사체로부터의 빛을 촬상소자에 입사시키는 광학계를 가지고, 촬상소자로 촬상된 촬상 신호에 근거하여 비디오 데이터를 기록매체에 기록하도록 한, 비디오 카메라 장치에 적용했다.
도 35는, 이 발명의 실시의 일형태의 다른 예에 의한 비디오 카메라 장치(100)의 일례의 구성을 나타낸다. 비디오 카메라 장치(100)에 있어서, 기록계의 구성은, 도 31을 이용하여 설명한 기록장치의 구성을 대략 그대로 적용할 수 있으므로, 도 31과 공통되는 부분에는 동일한 부호를 붙이고, 상세한 설명을 생략한다.
도 35의 구성에 있어서, 카메라부(50)는, 영상신호에 관한 구성으로서, 광학계(51), 촬상소자(52), 촬상신호 처리부(53), 카메라 제어부(54) 및 표시부(55)를 가지고, 음성신호에 관한 구성으로서 마이크로폰(MIC)(56) 및 음성신호 처리부(57)를 가진다. 제어부(30)는, 카메라부(50)의 각부와의 사이에서 각종 제어신호나 정보의 교환을 행하고, 카메라부(50)의 동작을 제어한다. 또, 제어부(50)는, 사용자 조작에 따라 UI부(31)로부터 공급되는 제어신호에 근거하여, 카메라부(50)의 동작을 제어한다.
또한, 비디오 카메라 장치(100)로서 구성되는 경우, 기록 개시 조작 및 기록 정지 조작은, 예를 들면, UI부(31)에 설치된 단일의 기록 스위치를 이용하여, 당해 기록 스위치가 눌려질 때마다 기록 개시 및 기록 정지가 교대로 지시되도록 이루어지는 것이 일반적이다. 또, 이 비디오 카메라 장치(100)에서는, 기록매체(20)로서, Blu-rayDisc나 기록 가능한 타입의 DVD라고 하는, 디스크 기록매체를 적용하는 것으로 한다.
카메라부(50)에 있어서, 광학계(51)는, 피사체로부터의 빛을 촬상소자(52)로 이끌기 위한 렌즈계, 조리개 조정기구, 포커스 조정기구, 줌 기구, 셔터 기구 등을 갖춘다. 조리개 조정기구, 포커스 조정기구, 줌 기구 및 셔터 기구의 동작은, 제어부(30)로부터 공급되는 제어신호에 근거하여, 카메라 제어부(54)에 의해 제어된다.
촬상소자(52)는, 예를 들면 CCD(Charge Coupled Device)로 이루어지며, 광학계(51)를 통하여 조사된 빛을 광전변환에 의해 전기신호로 변환하고, 소정의 신호 처리를 실시하고 촬상신호로서 출력한다. 촬상신호 처리부(53)는, 촬상 소자로부터 출력된 촬상신호에 대하여 소정의 신호 처리를 실시하고, 베이스 밴드의 디지털 비디오 데이터로서 출력한다.
예를 들면 촬상신호 처리부(53)는, 촬상소자(52)로부터 출력된 촬상 신호에 대하여, CDS(Correlated Double Sampling)회로에 의해 화상 정보를 가지는 신호만을 프링 하는 동시에, 노이즈를 제거하고, AGC(Auto Gain Control)회로에 의해 게인을 조정한다. 그리고, A/D변환에 의해 디지털 신호로 변환한다. 또, 촬상신호 처리부(53)는, 이 디지털 신호에 대하여 검파계의 신호처리를 실시하고, R(적색), G(녹색) 및 B(청색) 각 색의 성분을 인출하고, γ보정이나 화이트 밸런스 보정 등의 처리를 행하고, 최종적으로 1개의 베이스 밴드의 디지털 비디오 데이터로서 출력한다.
또, 촬상신호 처리부(53)는, 촬상소자(52)로부터 출력된 촬상 신호의 정보를 제어부(30)에 보낸다. 제어부(30)는, 이 정보에 근거하여 광학계(51)를 제어하기 위한 제어신호를 생성하여, 카메라 제어부(54)에 공급한다. 카메라 제어부(54)는, 이 제어신호에 근거하여 포커스 조정 기구나 조리개 조정기구 등의 제어를 행한다.
또한 촬상신호 처리부(53)는, 촬상소자(52)로부터 출력된 촬상신호에 근거하여, 예를 들면 LCD(Liquid Crystal Display)를 표시 소자로서 이용한 표시부(55)에 투영하게 하는 영상신호를 생성한다.
한편, 마이크로폰(56)은, 주위의 음성을 수음하여 전기신호로 변환하여 출력한다. 마이크로폰(56)으로부터 출력된 음성신호는, 음성신호 처리부(57)에 공급된다. 음성신호 처리부(57)는, 공급된 음성신호를, 리미터를 통하고 나서 A/D변환을 실시하여 디지털 오디오 데이터로 하고, 노이즈 제거나 음질 보정 등 소정의 음성신호 처리를 실시하고 베이스 밴드의 디지털 오디오 데이터로서 출력한다.
카메라부(50)의 촬상신호 처리부(53)로부터 출력된 베이스 밴드의 디지털 비디오 데이터는, 기록부(10)의 단자(40)에 공급된다. 또, 음성신호 처리부(57)로부터 출력된 베이스 밴드의 디지털 오디오 데이터는, 기록부(10)의 단자(41)에 공급된다.
기록 정지상태에서 UI부(31)에 설치된 기록 스위치가 눌려 지면, 기록 개시를 지시하는 제어신호가 UI부(31)로부터 제어부(30)에 공급되며, 제어부(30)의 제어에 근거하여 카메라부(50)로부터 출력된 베이스 밴드의 디지털 비디오 신호 및 디지털 오디오 데이터의 기록매체(20)로의 기록이 개시된다.
즉, 이미 설명한 바와 같이, 제어부(30)의 제어에 근거하여 비디오 인코더(11) 및 오디오 인코더(12)의 동작이 개시되며, 비디오 데이터 및 오디오 데이터가 각각 비디오 인코더(11) 및 오디오 인코더(12)에서 압축 부호화 되며, 멀티플렉서(13)에서 소정으로 패킷화 되고 다중화 되어 AV스트림 데이터로 된다. AV스트림 데이터는, 스트림 버퍼(14)를 통하여, 기록제어부(15)에 공급되며, 클립 AV스트림 파일로서 기록매체(20)에 기록된다.
UI부(31)의 기록 스위치가 눌려 지면, 기록이 정지되며, 클립 인포메이션 파일의 작성이나, 플레이 리스트 파일의 갱신이 행해진다. 관리 정보처리부(16)는, 멀티플렉서(13) 및 기록제어부(15)로부터의 정보에 근거하여, 기록매체(20)에 기록되는 클립 AV스트림 파일에 대응하는 클립 인포메이션 파일을 작성한다. 또, 관리 정보처리부(16)는, 당해 클립 인포메이션 파일을 참조하는 플레이 아이템을 생성하고, 이미 플레이 리스트가 존재하는 경우에는, 생성된 플레이 아이템을 당해 플레이 리스트에 대하여 추가하는 동시에, 플레이 리스트에 대하여 플레이 리스트 마크를 찍는다.
이 상태에서 한번 더 기록 스위치가 눌려지면, 다시 기록 개시가 지시되며, 새로운 클립 AV스트림 파일의 기록매체(20)로의 기록이 개시되는 동시에, 대응하는 클립 인포메이션 파일의 작성이나, 당해 클립 인포메이션 파일을 참조하는 플레이 아이템의 생성, 생성된 플레이 아이템의 플레이 리스트로의 추가 등의 처리가 행해진다. 클립 AV스트림 파일 간의 재생은, 제 1의 심리스 접속에 의해 접속된다.
또한, 기록 정지에 수반하여 작성되는 클립 인포메이션 파일을, 작성 직후부터 기록매체(20)에 기입하는 방식의 경우는, 직전에 작성된 클립 인포메이션 파일의 기록매체(20)로의 기입이 종료할 때까지, 다음의 기록이 개시되지 않도록 제어된다.
이 실시의 일형태의 다른 예와 같이, 이 발명을 비디오 카메라 장치(100)에 적용하는 경우, 1의 기록매체(20)에 대하여, 플레이 리스트 파일은 1 파일만을 존재할 수 있도록 제한하는 것을 생각할 수 있다. 즉, 편집처리 등이 이루어지지 않는 이상, 1의 기록매체(20) 상에는, 당해 플레이 리스트의 재생을 행하기 위한 1의 타이틀 밖에 존재하지 않게 한다. 이렇게 하는 것으로, 기록매체(20)로서 디스크를 이용한 비디오 카메라 장치(100)를, 마치 종래의 자기테이프를 기록매체에 이용한 비디오 카메라 장치인 것 같이 취급할 수 있다.
즉, 이 실시의 일형태의 다른 예에 의하면, 각각 개별적으로 기록되는 클립 AV스트림 파일이 1의 플레이 리스트에 의해 관리되며, 각 클립 AV스트림 파일간의 재생이 제 1의 심리스 접속으로 접속되기 때문에, 기록매체(20)에 기록된 모든 클립 AV스트림 파일을, 자기테이프를 재생하는 경우와 같이, 연속적으로 재생할 수 있다. 또, 플레이 리스트에 대하여, 각각 개별적으로 기록되는 클립 AV스트림 파일의 선두에 대응하는 위치에 플레이 리스트 마크가 찍혀져 있기 때문에, 클립 단 위로의 검색이 용이하다.
또한, 상술에서는, 도 31에 나타내는 기록장치나 도 35에 나타내는 비디오 카메라 장치(100)의 기록부(10)가 하드웨어적으로 구성되도록 설명했지만, 이것은 이 예로 한정되지 않는다. 즉, 기록부(10)는, 소프트웨어로서 구성하는 것도 가능하다. 이 경우, 소프트웨어는, 예를 들면 제어부(30)가 가지는 도시되지 않은 ROM에 미리 기억된다. 이것에 한정하지 않고, 기록부(10)를, 퍼스널 컴퓨터 등의 컴퓨터 장치상에 구성하는 것도 가능하다. 이 경우에는, 기록부(10)를 컴퓨터 장치에 실행시키는 소프트웨어는, CD-ROM이나 DVD-ROM이라고 하는 기록매체에 기록되어 제공된다. 컴퓨터 장치가 네트워크 접속 가능한 경우, 인터넷 등의 네트워크를 통하여 당해 소프트웨어를 제공하는 것도 가능하다.

Claims (17)

  1. 비디오 데이터와 오디오 데이터를 다중화하여 기록매체에 기록하는 기록장치에 있어서,
    비디오 데이터 및 오디오 데이터가 입력되는 데이터 입력부와,
    상기 비디오 데이터 및 오디오 데이터의 기록 개시 및 기록 정지의 지시가 입력되는 기록 지시 입력부와,
    상기 비디오 데이터 및 오디오 데이터를 다중화하고, 다중화된 스트림을 스트림 파일로서 기록매체에 기록하는 기록부와,
    상기 기록매체에 기록되는 상기 스트림 파일에 대하여, 적어도, 이 스트림 파일의 재생 시각 정보와 어드레스 정보를 대응 지은 속성 파일과,
    이 스트림 파일에 대하여 재생 개시점과 재생 종료점을 설정함으로써 재생 구간을 지정하는 하나 이상의 재생 구간 데이터가 격납되며, 상기 스트림 파일에 대한 재생 시각 정보를 나타내는 마크 정보가 격납 가능한 재생 리스트 파일을 생성하는 관리 정보 생성부와,
    상기 기록부 및 상기 관리 정보 생성부를 제어하는 제어부를 가지고,
    상기 제어부는,
    상기 기록 지시 입력부의 지시에 근거하는 기록 개시부터 기록 정지까지의 구간에 대응하는 상기 비디오 데이터 및 오디오 데이터를 하나의 상기 스트림 파일로서 상기 기록매체에 기록하도록 상기 기록부를 제어하는 동시에, 이 하나의 스트림 파일 전체를 재생 구간으로서 지정하는 상기 재생 구간 데이터를 생성하고, 이 재생 구간 데이터가 지정하는 상기 스트림 파일의 선두의 위치에 대응하는 상기 마크 정보를 상기 재생 리스트 파일에 격납하도록 상기 관리 정보 생성부를 제어하는 것을 특징으로 하는 기록장치.
  2. 제 1항에 있어서,
    상기 기록 지시 입력부는, 사용자의 조작을 받아들이는 것을 특징으로 하는 기록장치.
  3. 제 2항에 있어서,
    상기 제어부는,
    상기 스트림 파일을 상기 기록매체에 기록한 직후에 대응하는 상기 속성 파일을 기록할 때, 이 속성파일의 기록이 완료할 때까지 상기 기록 지시 입력부에 대한 상기 기록 개시의 상기 조작을 받아들이지 않도록 제어하는 것을 특징으로 하는 기록장치.
  4. 제 1항에 있어서,
    상기 제어부는,
    상기 기록 지시 입력부에 의한 기록 정지의 지시에 근거하여, 기록된 상기 스트림 파일을 재생 구간으로서 지정하는 상기 재생 구간 데이터 내에, 이 스트림 파일과 이 스트림 파일에 대하여 후속하는 스트림 파일이 프레임 타이밍에 연속적으로 재생되는 것을 나타내는 정보를 설정하고 상기 재생 구간 데이터를 상기 기록매체에 기록하도록 제어하는 것을 특징으로 하는 기록장치.
  5. 제 1항에 있어서,
    상기 제어부는,
    상기 스트림 파일내에서, 상기 비디오 데이터의 선단의 재생 시각과 상기 오디오 데이터의 선단의 재생 시각이 일치하고, 상기 비디오 데이터의 종단의 재생 시각보다 상기 오디오 데이터의 종단의 재생 시각이 뒤로 되도록 상기 기록부를 제어하는 것을 특징으로 하는 기록장치.
  6. 제 1항에 있어서,
    상기 제어부는,
    새로운 상기 스트림 파일이 상기 기록매체에 기록되었을 때에는, 이 새로운 스트림 파일에 대응하는 상기 재생 구간 데이터를 상기 재생 리스트 파일에 추가하도록 상기 관리 정보 생성부를 제어하는 것을 특징으로 하는 기록장치.
  7. 제 6항에 있어서,
    상기 제어부는,
    하나의 상기 기록매체에 대하여 오직 하나의 상기 재생 리스트 파일을 생성하도록 제어하는 것을 특징으로 하는 기록장치.
  8. 비디오 데이터와 오디오 데이터를 다중화하여 기록매체에 기록하는 기록방법에 있어서,
    데이터 입력부에 입력된 비디오 데이터 및 오디오 데이터의 기록 개시 및 기록 정지의 지시가 입력되는 기록 지시 입력의 스텝과,
    상기 비디오 데이터 및 오디오 데이터를 다중화하고, 다중화된 스트림을 스트림 파일로서 기록매체에 기록하는 기록 스텝과,
    상기 기록매체에 기록되는 상기 스트림 파일에 대하여, 적어도, 이 스트림 파일의 재생 시각 정보와 어드레스 정보를 대응 지은 속성파일과,
    이 스트림 파일에 대하여 재생 개시점과 재생 종료점을 설정함으로써 재생 구간을 지정하는 하나 이상의 재생 구간 데이터가 격납되며, 상기 스트림 파일에 대한 재생 시각 정보를 나타내는 마크 정보가 격납 가능한 재생 리스트 파일을 생성하는 관리 정보 생성 스텝과,
    상기 기록 스텝 및 상기 관리 정보 생성 스텝을 제어하는 제어 스텝을 가지고,
    상기 제어 스텝은,
    상기 기록 지시 입력의 스텝에 의한 지시에 근거하는 기록 개시부터 기록 정지까지의 구간에 대응하는 상기 비디오 데이터 및 오디오 데이터를 하나의 상기 스트림 파일로서 상기 기록매체에 기록하도록 상기 기록 스텝을 제어하는 동시에, 이 하나의 스트림 파일의 전체를 재생 구간으로서 지정하는 상기 재생 구간 데이터를 생성하고, 이 재생 구간 데이터가 지정하는 상기 스트림 파일의 선두의 위치에 대응하는 상기 마크 정보를 상기 재생 리스트 파일에 격납하도록 상기 관리 정보 생성 스텝을 제어하는 것을 특징으로 하는 기록방법.
  9. 비디오 데이터와 오디오 데이터를 다중화하여 기록매체에 기록하는 기록방법을 컴퓨터 장치에 실행시키는 기록 프로그램을 기록한 기록매체에 있어서,
    상기 기록방법은,
    데이터 입력부에 입력된 비디오 데이터 및 오디오 데이터의 기록 개시 및 기록 정지의 지시가 입력되는 기록 지시 입력의 스텝과,
    상기 비디오 데이터 및 오디오 데이터를 다중화하고, 다중화된 스트림을 스트림 파일로서 기록매체에 기록하는 기록 스텝과,
    상기 기록매체에 기록되는 상기 스트림 파일에 대하여, 적어도, 이 스트림 파일의 재생 시각 정보와 어드레스 정보를 대응 지은 속성 파일과,
    이 스트림 파일에 대하여 재생 개시점과 재생 종료점을 설정함으로써 재생 구간을 지정하는 하나 이상의 재생 구간 데이터가 격납되며, 상기 스트림 파일에 대한 재생 시각 정보를 나타내는 마크 정보가 격납 가능한 재생 리스트 파일을 생성하는 관리 정보 생성 스텝과,
    상기 기록 스텝 및 상기 관리 정보 생성 스텝을 제어하는 제어 스텝을 가지고,
    상기 제어 스텝은,
    상기 기록 지시 입력의 스텝에 의한 지시에 근거하는 기록 개시부터 기록 정지까지의 구간에 대응하는 상기 비디오 데이터 및 오디오 데이터를 하나의 상기 스트림 파일로서 상기 기록매체에 기록하도록 상기 기록 스텝을 제어하는 동시에, 이 하나의 스트림 파일의 전체를 재생 구간으로서 지정하는 상기 재생 구간 데이터를 생성하고, 이 재생 구간 데이터가 지정하는 상기 스트림 파일의 선두의 위치에 대응하는 상기 마크 정보를 상기 재생 리스트 파일에 격납하도록 상기 관리 정보 생성 스텝을 제어하는 기록 프로그램을 기록한 기록매체.
  10. 촬상부에서 피사체를 촬상하여 얻어진 비디오 데이터와, 수음부(收音部)에서 음성을 수음하여 얻어진 오디오 데이터를 다중화하고 기록매체에 기록하는 촬상장치에 있어서,
    피사체를 촬상하여 비디오 데이터를 출력하는 촬상부와,
    음성을 수음하여 오디오 데이터를 출력하는 수음부와,
    상기 비디오 데이터 및 상기 오디오 데이터를 다중화하고, 다중화된 스트림을 스트림 파일로서 기록매체에 기록하는 기록부와,
    상기 비디오 데이터 및 상기 오디오 데이터의 상기 기록매체로의 기록 개시 및 기록 정지를 지시하는 사용자 조작을 받아들이는 조작부와,
    상기 기록매체에 기록되는 상기 스트림 파일에 대하여, 적어도, 이 스트림 파일의 재생 시각 정보와 어드레스 정보를 대응 지은 속성 파일과,
    이 스트림 파일에 대하여 재생 개시점과 재생 종료점을 설정함으로써 재생 구간을 지정하는 하나 이상의 재생 구간 데이터가 격납되며, 상기 스트림 파일에 대한 재생 시각 정보를 나타내는 마크 정보가 격납 가능한 재생 리스트 파일을 생성하는 관리 정보 생성부와,
    상기 조작부에 대한 사용자 조작에 따라 상기 기록부의 동작을 제어하는 동시에, 상기 관리 정보 생성부를 제어하는 제어부를 가지고,
    상기 제어부는,
    상기 조작부에 대한 조작에 따라, 상기 기록 개시부터 상기 기록 정지까지의 구간에 대응하는 상기 비디오 데이터 및 상기 오디오 데이터를 하나의 상기 스트림 파일로서 상기 기록매체에 기록하도록 상기 기록부를 제어하는 동시에, 이 하나의 스트림 파일의 전체를 재생 구간으로서 지정하는 상기 재생 구간 데이터를 생성하고, 이 재생 구간 데이터가 지정하는 상기 스트림 파일의 선두의 위치에 대응하는 상기 마크 정보를 상기 재생 리스트 파일에 격납하도록 상기 관리 정보 생성부를 제어하는 것을 특징으로 하는 촬상장치.
  11. 제 10항에 있어서,
    상기 제어부는,
    상기 스트림 파일을 상기 기록매체에 기록한 직후에 대응하는 상기 속성 파일을 기록할 때, 이 속성파일의 기록이 완료할 때까지 상기 조작부에 대한 상기 기록 개시의 상기 조작을 받아들이지 않도록 제어하는 것을 특징으로 하는 촬상장치.
  12. 제 10항에 있어서,
    상기 제어부는,
    상기 조작부에 의한 기록 정지의 지시에 근거하여, 기록된 상기 스트림 파일을 재생 구간으로서 지정하는 상기 재생 구간 데이터 내에, 이 스트림 파일과 이 스트림 파일에 대하여 후속하는 스트림 파일이 프레임 타이밍으로 연속적으로 재생되는 것을 나타내는 정보를 설정하여 상기 재생 구간 데이터를 상기 기록매체에 기록하도록 제어하는 것을 특징으로 하는 촬상장치.
  13. 제 10항에 있어서,
    상기 제어부는,
    상기 스트림 파일내에서, 상기 비디오 데이터의 선단의 재생 시각과 상기 오디오 데이터의 선단의 재생 시각이 일치하고, 상기 비디오 데이터의 종단의 재생 시각보다 상기 오디오 데이터의 종단의 재생 시각이 뒤로 되도록 상기 기록부를 제어하는 것을 특징으로 하는 촬상장치.
  14. 제 10항에 있어서,
    상기 제어부는,
    새로운 상기 스트림 파일이 상기 기록매체에 기록되었을 때에는, 이 새로운 스트림 파일에 대응하는 상기 재생 구간 데이터를 상기 재생 리스트 파일에 추가하 도록 상기 관리 정보 생성부를 제어하는 것을 특징으로 하는 촬상장치.
  15. 제 14항에 있어서,
    상기 제어부는,
    하나의 상기 기록매체에 대하여 오직 하나의 상기 재생 리스트 파일을 생성하도록 제어하는 것을 특징으로 하는 촬상장치.
  16. 촬상부에서 피사체를 촬상하여 얻어진 비디오 데이터와, 수음부에서 음성을 수음하여 얻어진 오디오 데이터를 다중화하고 기록매체에 기록하는 촬상장치의 촬상방법에 있어서,
    촬상부에서 피사체를 촬상하여 얻어진 비디오 데이터와, 수음부에서 음성을 수음하여 얻어진 오디오 데이터를 다중화하고, 다중화된 스트림을 스트림 파일로서 기록매체에 기록하는 기록 스텝과,
    조작부에 대한 상기 비디오 데이터 및 상기 오디오 데이터의 상기 기록매체로의 기록 개시 및 기록 정지를 지시하는 사용자 조작을 받아들이는 스텝과,
    상기 기록매체에 기록되는 상기 스트림 파일에 대하여, 적어도, 이 스트림 파일의 재생 시각 정보와 어드레스 정보를 대응 지은 속성 파일과,
    이 스트림 파일에 대하여 재생 개시점과 재생 종료점을 설정함으로써 재생 구간을 지정하는 하나 이상의 재생 구간 데이터가 격납되며, 상기 스트림 파일에 대한 재생 시각 정보를 나타내는 마크 정보가 격납 가능한 재생 리스트 파일을 생성하는 관리 정보 생성 스텝과,
    상기 조작부에 대한 사용자 조작에 따라 상기 기록 스텝의 동작을 제어하는 동시에, 상기 관리 정보 생성 스텝을 제어하는 제어 스텝을 가지고,
    상기 제어 스텝은,
    상기 조작부에 대한 조작에 따라, 상기 기록 개시부터 상기 기록 정지까지의 구간에 대응하는 상기 비디오 데이터 및 상기 오디오 데이터를 하나의 상기 스트림 파일로서 상기 기록매체에 기록하도록 상기 기록 스텝을 제어하는 동시에, 이 하나의 스트림 파일의 전체를 재생 구간으로서 지정하는 상기 재생 구간 데이터를 생성하고, 이 재생 구간 데이터가 지정하는 상기 스트림 파일의 선두의 위치에 대응하는 상기 마크 정보를 상기 재생 리스트 파일에 격납하도록 상기 관리 정보 생성 스텝을 제어하는 것을 특징으로 하는 촬상방법.
  17. 촬상부에서 피사체를 촬상하여 얻어진 비디오 데이터와, 수음부에서 음성을 수음하여 얻어진 오디오 데이터를 다중화하여 기록매체에 기록하는 촬상장치의 촬상방법을 컴퓨터 장치에 실행시키는 촬상 프로그램을 기록한 기록매체에 있어서,
    상기 촬상방법은,
    촬상부에서 피사체를 촬상하여 얻어진 비디오 데이터와, 수음부에서 음성을 수음하여 얻어진 오디오 데이터를 다중화하고, 다중화된 스트림을 스트림 파일로서 기록매체에 기록하는 기록 스텝과,
    조작부에 대한 상기 비디오 데이터 및 상기 오디오 데이터의 상기 기록매체로의 기록 개시 및 기록 정지를 지시하는 사용자 조작을 받아들이는 스텝과,
    상기 기록매체에 기록되는 상기 스트림 파일에 대하여, 적어도, 이 스트림 파일의 재생 시각 정보와 어드레스 정보를 대응 지은 속성 파일과,
    이 스트림 파일에 대하여 재생 개시점과 재생 종료점을 설정함으로써 재생 구간을 지정하는 하나 이상의 재생 구간 데이터가 격납되며, 상기 스트림 파일에 대한 재생 시각 정보를 나타내는 마크 정보가 격납 가능한 재생 리스트 파일을 생성하는 관리 정보 생성 스텝과,
    상기 조작부에 대한 사용자 조작에 따라 상기 기록 스텝의 동작을 제어하는 동시에, 상기 관리 정보 생성 스텝을 제어하는 제어 스텝을 가지고,
    상기 제어 스텝은,
    상기 조작부에 대한 조작에 따라, 상기 기록 개시부터 상기 기록 정지까지의 구간에 대응하는 상기 비디오 데이터 및 상기 오디오 데이터를 하나의 상기 스트림 파일로서 상기 기록매체에 기록하도록 상기 기록 스텝을 제어하는 동시에, 이 하나의 스트림 파일의 전체를 재생 구간으로서 지정하는 상기 재생 구간 데이터를 생성하고, 이 재생 구간 데이터가 지정하는 상기 스트림 파일의 선두의 위치에 대응하는 상기 마크 정보를 상기 재생 리스트 파일에 격납하도록 상기 관리 정보 생성 스텝을 제어하는 촬상 프로그램을 기록한 기록매체.
KR1020077026689A 2006-05-10 2007-04-24 기록장치, 기록방법 및 기록 프로그램과 촬상장치,촬상방법 및 촬상 프로그램 KR101353000B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006131909A JP4552889B2 (ja) 2006-05-10 2006-05-10 記録装置、記録方法および記録プログラム、ならびに、撮像装置および撮像方法
JPJP-P-2006-00131909 2006-05-10
PCT/JP2007/059345 WO2007129652A1 (ja) 2006-05-10 2007-04-24 記録装置、記録方法および記録プログラム、ならびに、撮像装置、撮像方法および撮像プログラム

Publications (2)

Publication Number Publication Date
KR20090007521A KR20090007521A (ko) 2009-01-19
KR101353000B1 true KR101353000B1 (ko) 2014-01-21

Family

ID=38667761

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077026689A KR101353000B1 (ko) 2006-05-10 2007-04-24 기록장치, 기록방법 및 기록 프로그램과 촬상장치,촬상방법 및 촬상 프로그램

Country Status (7)

Country Link
US (1) US8094996B2 (ko)
EP (1) EP2017841B1 (ko)
JP (1) JP4552889B2 (ko)
KR (1) KR101353000B1 (ko)
CN (1) CN101326583B (ko)
TW (1) TWI410962B (ko)
WO (1) WO2007129652A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4850605B2 (ja) 2006-07-18 2012-01-11 株式会社日立製作所 映像記録方法
JP5268569B2 (ja) * 2007-12-21 2013-08-21 キヤノン株式会社 記録装置及び記録方法
JP4788739B2 (ja) 2008-06-09 2011-10-05 ソニー株式会社 端末装置、情報送信方法
JP4934105B2 (ja) 2008-06-09 2012-05-16 ソニー株式会社 信号処理装置、マーク付与方法、プログラム
JP5085462B2 (ja) * 2008-08-11 2012-11-28 ソニー株式会社 情報記録装置、撮像装置、情報記録方法およびプログラム
JP5458073B2 (ja) * 2011-09-09 2014-04-02 日立コンシューマエレクトロニクス株式会社 映像記録装置及び映像記録方法
JP5610495B2 (ja) * 2013-02-04 2014-10-22 日立コンシューマエレクトロニクス株式会社 映像記録再生装置及び映像記録再生方法
CN107251551B (zh) * 2015-02-10 2020-10-13 索尼半导体解决方案公司 图像处理设备、图像捕获装置、图像处理方法和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002290917A (ja) 2001-01-16 2002-10-04 Matsushita Electric Ind Co Ltd 情報記録媒体、情報記録媒体に情報を記録、再生する装置及び方法
JP2003230104A (ja) 2001-11-30 2003-08-15 Sony Corp 情報処理装置および方法、プログラム格納媒体、プログラム、並びに情報記録媒体
JP2005216382A (ja) 2004-01-29 2005-08-11 Victor Co Of Japan Ltd デジタルオーディオ信号録音再生装置
JP2005353212A (ja) 2004-06-11 2005-12-22 Sony Corp データ処理装置およびデータ処理方法、プログラムおよびプログラム記録媒体、並びにデータ記録媒体

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6009433A (en) * 1995-04-14 1999-12-28 Kabushiki Kaisha Toshiba Information storage and information transmission media with parental control
CN100361226C (zh) * 1996-04-12 2008-01-09 松下电器产业株式会社 一种多媒体光盘及其再生装置和再生方法
JP3997367B2 (ja) * 1998-04-30 2007-10-24 ソニー株式会社 記録再生装置および方法、並びに記録媒体
US20020131761A1 (en) * 2001-01-16 2002-09-19 Kojiro Kawasaki Information recording medium, apparatus and method for recording/reproducing information to/from the medium
TW200300928A (en) * 2001-11-30 2003-06-16 Sony Corportion Information processing method and apparatus, program storage medium, program and information recording medium
CN100397882C (zh) * 2003-02-28 2008-06-25 Lg电子株式会社 具有用于管理记录其上的视频数据的随机/洗牌重现的数据结构的记录媒体以及记录和重现的方法和装置
JP3912536B2 (ja) 2003-03-25 2007-05-09 ソニー株式会社 記録方法、記録装置、記録媒体、撮像装置および撮像方法
JPWO2004095285A1 (ja) * 2003-03-28 2006-07-13 松下電器産業株式会社 記録媒体およびこれを用いる記録装置並びに再生装置
JP4323870B2 (ja) * 2003-06-10 2009-09-02 キヤノン株式会社 記録装置
KR20050091944A (ko) * 2004-03-13 2005-09-16 엘지전자 주식회사 고밀도 광디스크의 데이터 파일 구성 방법 및 재생 방법과재생 장치
WO2005081643A2 (en) * 2004-02-26 2005-09-09 Lg Electronics Inc. Recording medium and method and apparatus for reproducing and recording text subtitle streams
JP2005303943A (ja) * 2004-04-16 2005-10-27 Sony Corp 映像記録装置
US7835615B2 (en) * 2004-10-12 2010-11-16 Panasonic Corporation Data processing apparatus
EP1873773B1 (en) * 2005-04-07 2011-11-30 Panasonic Corporation Recording medium, reproducing device, recording method and reproducing method
EP3094084A1 (en) * 2005-08-10 2016-11-16 Mitsubishi Electric Corporation Recording medium, reproducing apparatus, and reproducing method
JP4715623B2 (ja) * 2006-05-08 2011-07-06 ソニー株式会社 データ記録装置及びデータ記録方法、並びにコンピュータ・プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002290917A (ja) 2001-01-16 2002-10-04 Matsushita Electric Ind Co Ltd 情報記録媒体、情報記録媒体に情報を記録、再生する装置及び方法
JP2003230104A (ja) 2001-11-30 2003-08-15 Sony Corp 情報処理装置および方法、プログラム格納媒体、プログラム、並びに情報記録媒体
JP2005216382A (ja) 2004-01-29 2005-08-11 Victor Co Of Japan Ltd デジタルオーディオ信号録音再生装置
JP2005353212A (ja) 2004-06-11 2005-12-22 Sony Corp データ処理装置およびデータ処理方法、プログラムおよびプログラム記録媒体、並びにデータ記録媒体

Also Published As

Publication number Publication date
EP2017841A1 (en) 2009-01-21
EP2017841B1 (en) 2015-06-03
EP2017841A4 (en) 2014-01-01
KR20090007521A (ko) 2009-01-19
TW200743098A (en) 2007-11-16
JP2007305213A (ja) 2007-11-22
TWI410962B (zh) 2013-10-01
CN101326583B (zh) 2012-01-11
CN101326583A (zh) 2008-12-17
US8094996B2 (en) 2012-01-10
WO2007129652A1 (ja) 2007-11-15
JP4552889B2 (ja) 2010-09-29
US20090317067A1 (en) 2009-12-24

Similar Documents

Publication Publication Date Title
JP4715633B2 (ja) 記録装置、記録方法および記録プログラム、ならびに、編集装置、編集方法および編集プログラム
KR101365339B1 (ko) 기록 장치, 기록 방법 및 기록 프로그램, 및, 촬상 장치,촬상 방법 및 촬상 프로그램
JP4321628B2 (ja) 記憶装置、記憶方法および記憶プログラム、ならびに、データ処理装置、データ処理方法およびデータ処理プログラム
KR101353000B1 (ko) 기록장치, 기록방법 및 기록 프로그램과 촬상장치,촬상방법 및 촬상 프로그램
JP4622950B2 (ja) 記録装置、記録方法および記録プログラム、ならびに、撮像装置、撮像方法および撮像プログラム
JP4910475B2 (ja) 記録装置、記録方法および記録プログラム、ならびに、撮像装置、撮像方法および撮像プログラム
JP2008282471A (ja) 記録装置、記録方法および記録プログラム、ならびに、編集装置、編集方法および編集プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee