KR100565875B1 - 기록 재생장치 및 방법 및 제공매체 - Google Patents

기록 재생장치 및 방법 및 제공매체 Download PDF

Info

Publication number
KR100565875B1
KR100565875B1 KR1019990015589A KR19990015589A KR100565875B1 KR 100565875 B1 KR100565875 B1 KR 100565875B1 KR 1019990015589 A KR1019990015589 A KR 1019990015589A KR 19990015589 A KR19990015589 A KR 19990015589A KR 100565875 B1 KR100565875 B1 KR 100565875B1
Authority
KR
South Korea
Prior art keywords
recording
data
title
chunk
time
Prior art date
Application number
KR1019990015589A
Other languages
English (en)
Other versions
KR19990083631A (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 KR19990083631A publication Critical patent/KR19990083631A/ko
Application granted granted Critical
Publication of KR100565875B1 publication Critical patent/KR100565875B1/ko

Links

Images

Classifications

    • 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/02Analogue 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/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
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to 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/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
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/004Recording, reproducing or erasing methods; Read, write or erase circuits therefor
    • G11B7/005Reproducing

Abstract

장치의 호환성을 확보하는 것을 목적으로 하며, 이를 해결하기 위하여 본 발명에서는 직전의 play item에 계속해서 다음의 재생 항목(play item)을 심리스에 재생할 수 있을 때, 심리스 접속 플래그(seamless connection flag)를 1 에 설정하고 심리스 재생을 보증할 수 없을 때, 0 에 설정한다.
기록 재생 장치, 기록 재생 방법, 제공 매체

Description

기록 재생장치 및 방법 및 제공매체{Method and apparatus for recording a continuous data}
도 1은 디렉토리의 구조를 설명하는 도면.
도 2는 VOLUME.TOC를 설명하는 도면.
도 3은 volume_information()을 설명하는 도면.
도 4는 volume_attribute()을 설명하는 도면.
도 5는 resume()을 설명하는 도면.
도 6은 volume_rating()을 설명하는 도면.
도 7은 write_protect()을 설명하는 도면.
도 8은 play_protect()을 설명하는 도면.
도 9는 recording_timer()를 설명하는 도면.
도 10은 text_block()을 설명하는 도면.
도 11은 language_set()을 설명하는 도면.
도 12는 text_item()을 설명하는 도면.
도 13은 ALBUM.STR을 설명하는 도면.
도 14는 album()을 설명하는 도면.
도 15는 TITLE_###.VDR을 설명하는 도면.
도 16은 title_info()을 설명하는 도면.
도 17은 PR0GRAM_$$$.PGI를 설명하는 도면.
도 18은 program()을 설명하는 도면.
도 19는 play_list()을 설명하는 도면.
도 20은 play_item()을 설명하는 도면.
도 21은 CHUNKGR0UP_###.GGIT을 설명하는 도면.
도 22는 chunk_connection_info()를 설명하는 도면.
도 23은 chunk_arrangement_info()를 설명하는 도면.
도 24는 CHUNK_%%%%.ABST를 설명하는 도면.
도 25는 본 발명을 적용하는 광디스크 장치의 구성예를 도시하는 블록도.
도 26은 디렉토리의 구조를 설명하는 도면.
도 27은 디렉토리의 논리 구조를 설명하는 도면.
도 28은 offset를 설명하는 도면.
도 29는 디렉토리의 구조를 설명하는 도면.
도 30은 디렉토리의 구조를 설명하는 도면.
도 31은 디렉토리의 논리 구조를 설명하는 도면.
도 32는 디렉토리의 구조를 설명하는 도면.
도 33은 디렉토리의 구조를 설명하는 도면.
도 34는 디렉토리의 논리 구조를 설명하는 도면.
도 35는 디렉토리의 논리 구조를 설명하는 도면.
도 36은 file_type_id를 설명하는 도면.
도 37은 mark_type을 설명하는 도면.
도 38은 file_type_id를 설명하는 도면.
도 39는 chunk_sync_play_flag를 설명하는 도면.
도 40은 original_time_count_type을 설명하는 도면.
도 41은 file_type_id를 설명하는 도면.
도 42는 info_type을 설명하는 도면.
도 43은 slot_unit_type을 설명하는 도면.
도 44는 file_type_id를 설명하는 도면.
도 45는 program_status를 설명하는 도면.
도 46은 seamless_connection_flag를 설명하는 도면.
도 47은 seamless_connection_flag의 의미를 설명하는 도면.
도 48은 타이틀의 불연속점 플래그 기록처리를 설명하는 플로우 챠트.
도 49는 프로그램 작성시의 불연속점 플래그의 기록 처리를 설명하는 플로우 챠트.
도 50은 타이틀 재생시의 불연속점 플래그의 처리를 설명하는 플로우 챠트.
도 51은 프로그램 재생시의 불연속점 플래그의 처리를 설명하는 플로우 챠트.
* 도면부호의 주요부분에 대한 부호의 설명
1 : 광디스크 2 : 광 헤드
3 : RF 및 복조/변조회로 4 : ECC회로
6 : 판독 채널용 버퍼 7 : 디코더
8 : 합성회로 9 : 0SD 제어회로
10 : 인코더 11 : 기입 채널용 버퍼
12 : 어드레스 검출회로, 13 : 시스템 콘트롤러,
14 : 입력부 21 : CPU
22 : R0M 23,24 : RAM
본 발명은, 기록 재생장치 및 방법 및 제공매체에 관하며, 특히, 데이터의 연속 재생에 관련하여, 사용자가 고장이라고 오인하는 바와 같은 것을 억제하도록 한 기록 재생장치 및 방법 및 제공매체에 관한 것이다.
(종래의 기술)
디스크에는, 비디오 데이터나 오디오 데이터 등이 연속하여 기록될 뿐만 아니라, 단속적으로 시간을 두고 기록되는 적이 있다. 또한, 일단 기록된 데이터가 제거되고, 다른 데이터가 덮어쓰기(overwrite)되는 경우가 있다.
이러한 제거 또는 덮어쓰기 처리를 반복 실행하면, 연속하여 재생해야 할 데 이터가 반드시 디스크 상에 연속하는 위치에 기록되지 않고, 디스크상의 떨어진 위치에 기록되는 경우가 있다. 이러한 경우에, 장치의 재생시의 버퍼의 용량이 충분하지 않으면, 그 기록 위치에 따라서는 데이터를 연속적으로 재생할 수 없고, 재생 데이터가 일시적으로 결핍되는 것과 같은 경우가 있다.
그러나, 불연속 부분이 발생하는지의 여부는, 장치의 버퍼의 용량에 영향을 주기 때문에, 장치간의 호환성을 확보할 수 없고, 최악의 경우, 사용자가 장치가 고장났다고 오인할 염려가 있었다.
본 발명은 이러한 상황에 감안하여 이루어진 것으로, 장치의 호환성을 확보하여, 사용자가 장치가 고장났다고 오인하는 것을 억제하도록 하는 것이다.
(과제를 해결하기 위한 수단)
제 1항에 기재된 기록 재생장치는, 데이터를 기록매체에 대하여 기록하는 기록수단과, 데이터를 기록매체에 기록하였을 때, 그 데이터를 이미 기록되어 있는 데이터에 대하여 연속하여 재생 가능한지의 여부를 판정하는 판정수단과, 판정수단의 판정 결과에 대응하여, 데이터의 연속 재생에 관한 처리를 실행하는 실행수단을 구비하는 것을 특징으로 한다.
제 4항에 기재된 기록 재생방법은, 데이터를 기록매체에 대하여 기록하는 기록 단계와, 데이터를 기록매체에 기록하였을 때, 그 데이터를 이미 기록되어 있는 데이터에 대하여 연속하여 재생 가능한지의 여부를 판정하는 판정 단계와, 판정 단계에서의 판정 결과에 대응하여, 데이터의 연속 재생에 관한 처리를 실행하는 실행 단계를 포함하는 것을 특징으로 한다.
제 5항에 기재된 제공매체는, 기록매체에 대하여 데이터를 기록 또는 재생하는 기록 재생장치에 데이터를 기록매체에 대하여 기록하는 기록 단계와, 데이터를 기록매체에 기록하였을 때, 그 데이터를 이미 기록되어 있는 데이터에 대하여 연속하여 재생 가능한지의 여부를 판정하는 판정 단계와, 판정 단계에서의 판정 결과에 대응하여, 데이터의 연속 재생에 관한 처리를 실행하는 실행 단계를 포함하는 처리를 실행시키는 프로그램을 제공하는 것을 특징으로 한다.
제 6항에 기재된 기록 재생장치는 기록매체에 기록되어 있는 데이터를 재생하는 재생수단과, 재생수단에 의해 재생된 데이터로부터, 데이터의 연속 재생이 가능한지의 여부를 나타내는 연속 재생 정보를 추출하는 추출수단과, 추출수단에 의해 추출된 연속 재생 정보에 대응하여, 재생수단에 의해 재생된 데이터에 대하여 갭을 부가하는 부가수단을 구비하는 것을 특징으로 한다.
제 7항에 기재된 기록 재생방법은, 기록매체에 기록되어 있는 데이터를 재생하는 재생 단계와, 재생 단계에서 재생된 데이터로부터 데이터의 연속 재생이 가능한지의 여부를 나타내는 연속 재생 정보를 추출하는 추출 단계와, 추출 단계에서 추출된 연속 재생 정보에 대응하여, 재생 단계에서 재생된 데이터에 대하여 갭을 부가하는 부가 단계를 포함하는 것을 특징으로 한다.
제 8항에 기재된 제공매체는, 기록매체에 대하여 데이터를 기록 또는 재생하는 기록 재생장치에 기록매체에 기록되어 있는 데이터를 재생하는 재생 단계와, 재생 단계에서 재생된 데이터로부터, 데이터의 연속 재생이 가능한지의 여부를 나타내는 연속 재생 정보를 추출하는 추출 단계와, 추출 단계에서 추출된 연속 재생 정 보에 대응하여, 재생 단계에서 재생된 데이터에 대하여 갭을 부가하는 부가 단계를 포함하는 처리를 실행시키는 프로그램을 제공하는 것을 특징으로 한다.
제 1항에 기재된 기록 재생장치, 제 4항에 기재된 기록 재생방법 및 제 5항에 기재된 제공매체에 있어서는, 이미 기록되어 있는 데이터에 대하여 연속하여 재생 가능한지의 여부의 판정 결과에 대응하여, 데이터의 연속 재생에 관한 처리가 실행된다.
제 6항에 기재된 기록 재생장치, 제 7항에 기재된 기록 재생방법 및 제 8항에 기재된 제공매체에 있어서는, 기록매체로부터 재생된 연속 재생 정보에 대응하여 데이터에 대하여 갭이 부가된다.
(발명의 실시 예)
이하에 본 발명의 실시 예를 설명하지만, 특허청구의 범위에 기재된 발명의 각 수단과 이하의 실시 예와의 대응관계를 분명히 하기 위해서, 각 수단의 뒤의 괄호 내에 대응하는 실시 예(단지 일례)를 부가하여 본 발명의 특징을 기술하면, 다음과 같이 된다. 단지 물론 이 기재는, 각 수단을 기재한 것에 한정하는 것을 의미하는 것은 아니다.
제 1항에 기재된 기록 재생장치는, 데이터를 기록매체에 대하여 기록하는 기록수단(예를 들면, 도 25의 광 헤드(2))과, 데이터를 기록매체에 기록하였을 때, 그 데이터를 이미 기록되어 있는 데이터에 대하여 연속하여 재생 가능한지의 여부를 판정하는 판정수단(예를 들면, 도 48의 단계(S2))과, 판정수단의 판정 결과에 대응하여, 데이터의 연속 재생에 관한 처리를 실행하는 실행수단(예를 들면, 도 48의 단계(S5))을 보충할 수 있는 것을 특징으로 한다.
제 6항에 기재된 기록 재생장치는 기록매체에 기록되어 있는 데이터를 재생하는 재생수단(예를 들면, 도 25의 광 헤드(2))과, 재생수단에 의해 재생된 데이터로부터 데이터의 연속 재생이 가능한지의 여부를 나타내는 연속 재생 정보를 추출하는 추출수단(예를 들면, 도 50의 단계(S41))과 추출수단에 의해 추출된 연속 재생 정보에 대응하여, 재생수단에 의해 재생된 데이터에 대하여 갭을 부가하는 부가수단(예를 들면, 도 50의 단계(S46))을 구비하는 것을 특징으로 한다.
최초에 본 발명에 있어서 정보가 기록 또는 재생되는 기록매체(미디어)상의 파일 배치에 관해서 설명한다. 미디어상에는, 도 1에 도시하는 바와 같이, 다음 7종류의 파일이 기록된다.
VOLUME.TOC
ALBUM.STR
PR0GRAM_$$$.PGI
TITLE_###.VDR
CHUNKGROUP_ⓐⓐⓐ.CGIT
CHUNK_%%%.ABST
CHUNK_%%%.MPEG2
루트 디렉토리에는 VOLUME.TOC 및 ALBUM.STR이 놓여진다. 또한, 루트 디렉토리 바로 아래의 디렉토리 “PROGRAM”에는, “PROGRAM_$$$.PGI”(여기서“$$$” 는 프로그램 번호를 나타낸다)가 놓여진다. 마찬가지로, 루트 디렉토리 바로 아래의 디렉토리 “TITLE”에는, “TITLE_###.VDR”(여기서 “###”는 타이틀 번호를 나타낸다)이, 디렉토리 “CHUNKGROUP”에는, “CHUNKGROUP_ⓐⓐⓐ.CGIT”(여기서 “ⓐⓐⓐ”는 청크 그룹 번호를 나타낸다)가, 디렉토리 “CHUNK”에는, “CHUNK_%%%. ABST”(여기서 “%%%%”는 청크 번호를 나타낸다)가 각각 놓여진다.
루트 디렉토리 바로 아래의 MPEGAV 디렉토리에는, 또한 1개 이상의 서브 디렉토리가 작성되고, 그 아래에, “CHUNK_%%%”.MPEG2”(여기서 %%%는 청크 번호를 나타낸다)가 놓여진다.
VOLUME.TOC의 파일은, 미디어상에 1개 있는 것이 보통이다. 단지, ROM과 RAM의 혼성(hybrid)구조의 미디어 등, 특수한 구조의 미디어로서는, 복수 존재하는 것도 있을 수 있다. 이 파일은, 미디어의 전체의 성질을 나타내기 위해서 사용된다.
VOLUME.TOC의 구조는 도 2에 도시하는 바와 같이 이루어져 있다. 선두에 file_type_id가 놓여지고, 이로 인하여 해당 파일이 VOLUME.TOC인 것이 나타내어진다. 다음에 volume_information()이 계속되고, 최후로 text_block()가 계속된다.
도 3에 volume_information()의 구성을 나타내고 있다. 이것은, volume_attribute(), resume(), volume_rating(), write_protect(), play_protect(), recording_timer()를 포함하고 있다.
volume_attribute()는, 논리적 볼륨(logical volume)의 속성을 기록하는 영역이고, 도 4에 그 상세한 구조가 나타내고 있다. 동 도면에 도시하는 바와 같이, 이 영역에는, title_playback_mode_flag, program_playback_mode_flag 등이 포함되고 있다.
resume()는, 미디어의 재삽입시에, 이젝트(eject) 직전의 상태를 복원하기 위한 정보를 기록하는 영역이고, 그 상세한 구조는 도 5에 나타내고 있다.
도 3의 volume_rating()는, volume 전체에 대한 시청 연령 제한을 연령이나 카테고리에 따라서 실현하기 위한 정보를 기록하는 영역이고, 그 상세한 구조는, 도 6에 나타내고 있다.
도 3의 write_protect()는, 볼륨(volume) 내에 기록되어 있는 타이틀(title), 프로그램(program)에 대한 변경이나, 제거 조작을 제한하는 정보를 기록하는 영역이고, 그 상세한 구조는 도 7에 나타내고 있다.
도 3의 play-protect()는, 볼륨(volume) 내에 기록되어 있는 타이틀(title), 프로그램(program)에 대한 재생허가, 불허가의 설정, 또는, 재생 회수를 제한하는 정보를 기록하는 영역이고, 그 상세한 구조는 도 8에 나타내고 있다.
도 3의 recording_timer()는, 기록시간을 제어하는 정보를 기록하는 영역이고, 그 상세한 구조는 도 9에 나타내고 있다.
도 2의 VOLUME.TOC의 text_block()의 상세한 구조는 도 10에 나타내고 있다. 이 text_block()에는, language_set()와 text_item이 포함되고 있고, 그 상세한 구조는 도 11과 도 12에 각각 나타내고 있다.
도 1의 ALBUM.STR의 파일은, 미디어상에 1개 갖는 것이 보통이다. 단지, ROM과 RAM의 혼성 구조의 미디어 등 특수한 구조의 미디어로서는 복수 존재하는 것 도 있을 수 있다. 이 파일은 복수의 미디어를 조합시켜, 마치 1개의 미디어인 것 같은 구성으로 하기 위해 사용된다.
이 ALBUM.STR의 구조는 도 13에 도시하는 바와 같이 되어 있다. 선두에 file_type_id가 놓여지고, 해당 파일이 ALBUM.STR인 것을 나타낸다. 다음에 album()이 계속되고, 최후로 text_block()이 계속된다.
album()은, 복수의 volume(복수의 미디어)을 1개의 통합으로서 취급하기 위한 정보를 기록하는 영역이고, 그 상세한 구조는 도 14에 나타내고 있다.
도 1의 TITLE_###.VDR의 파일은, 타이틀의 수만 존재한다. 타이틀이란, 는, 예를 들면 compact disc에서 말하는 바의 1곡이나, 텔레비전 방송의 1프로그램을 말한다. 이 정보의 구조는 도 15에 도시하는 바와 같이 되어 있다. 선두에 file_type_id가 놓여지고, 이로 인하여 해당 파일이 TITLE_###.VDR인 것이 나타내어진다. 다음에 title_info()가 계속되고, 최후로 text_block()이 계속된다. ###는 타이틀 번호를 나타내는 문자열이다
title_info()는, CHUNKGROUP상에 있어서의, 타이틀의 개시점, 종료점, 기타 타이틀에 관한 속성을 기록하기 위한 영역이고, 그 상세한 구조는 도 16에 나타내고 있다.
도 1의 PROGRM_$$$.PCI의 파일은 프로그램의 수만 존재한다. 프로그램은, 타이틀의 일부(또는 전부)의 영역을 지정한 복수의 커트로 구성되고, 각 커트는 지정된 순서로 재생된다. 이 정보의 구조는 도 17에 나타내고 있다. 선두에 file_type_id가 놓여지고, 해당 파일이 PROGRAM_$$$.PGI인 것을 나타낸다. 다음에 program()이 계속되고, 최후로 text_block()이 계속된다. $$$는 타이틀 번호를 나타내는 문자열이다.
Program()는, 소재에 대하여 불가역인 편집을 실시하지 않고, 타이틀(title)의 필요한 부분을 모아 재생하는 데 필요한 정보를 기록하는 영역이고, 그 상세한 구조는 도 18에 나타내고 있다.
도 18의 program()은, 1개의 play_list를 갖고 있다. 이 play-list()의 상세한 것은, 도 19에 나타내고 있다.
play-list에는, play-item()이 복수 놓여져 있다. play-item()의 상세한 것은 도 20에 나타내고 있다.
도 1의 CHUNKGROUP_ⓐⓐⓐ.CGIT의 파일은 청크 그룹의 수만 존재한다. 청크 그룹은 비트 스트림을 배열하기 위한 데이터 구조이다. 이 파일은, 사용자가 VDR(비디오 디스크 레코더) 등, 미디어를 기록 재생하는 장치를 보통 조작하고 있는 부분에는 사용자에게 인식되지 않는다.
이 정보의 구조는 도 21에 도시하는 바와 같이 되어 있다. 선두에 file_type_id가 놓여지고, 해당 파일이 CHUNKGROUP_ⓐⓐⓐ.CGIT인 것을 나타낸다. 그 다음에 chunkgroup_time_base_flags와 chunkgroup_time-base_offset가 있고, 다음에 chunk_connection_info(), 최후로 text_block()이 계속된다.
chunkgroup_time_base-flags는 CHUNKGROUP의 기준 카운터에 관한 flag를 나타내고, chunkgroup_time_base_offset는, CHUNKGROUP 내의 기준 시간축의 개시시각을 나타낸다. 이것은, 90kHz에서 카운트 업하는 카운터에 세트하는 값이고, 32 비트의 크기를 갖는다. chunk_connection_info()는, 비디오의 전환점이나, 비디오와 오디오의 동기등, 특이한 점의 정보를 기억하는 영역이고, 그 상세한 구조는 도 22에 나타내고 있다.
이 chunk-connection_info()에는, 청크 그룹에 속하는 청크의 수만 chunk_arrangement_info()의 루프가 놓여진다. 도 23에 이 chunk_arrangement_ info()의 상세함이 나타내고 있다.
도 1의 CHUNK_%%%%.ABST의 파일은, 청크의 수만 존재한다. 청크는 스트림 파일 1개에 대응하는 정보 파일이다. 이 정보의 구조는 도 24에 도시하는 바와 같이 되어 있다. 선두에 file_type_id가 놓여지고, 이로 인하여, 해당 파일이 CHUNK_%%%%.ABST인 것이 나타내어진다.
도 1의 CHUNK_%%%%.MPEG2의 파일은 스트림 파일이다. 이 파일은 MPBC의 비트 스트림을 격납하고 있고, 이 밖의 파일이 정보만을 기록하고 있는 것과 다르다.
도 25는, 상기한 바와 같은 파일을 갖는 미디어로서의 광 디스크에 대하여 정보를 기록 또는 재생하는 광 디스크 장치의 구성예를 나타내고 있다. 이 광 디스크 장치에는, 1장이 재기록형의 광 디스크(1)에 대하여 1계통의 광 헤드(2)가 설치되어 있고, 데이터의 판독과, 기입의 쌍방에 이 광 헤드(2)가 공용된다.
광 헤드(2)에 의해 광 디스크(1)로부터 판독된 비트 스트림은, RF 및 복조/변조회로(3)에 복조된 후, ECC 회로(4)에서 에러 정정이 실시되고, 스위치(5)를 통하여, 판독 레이트와 디코드처리 레이트와의 차를 흡수하기 위한 판독 채널용 버퍼(6)에 이송된다. 판독 채널용 버퍼(6)의 출력은 디코드(7)에 공급되어 있다. 판독 채널용 버퍼(6)는 시스템 컨트롤러(13)로부터 판독·기록을 할수 있도록 구성되어 있다.
판독 채널용 버퍼(6)로부터 출력된 비트 스트림은, 디코더(7)에서 디코드되고, 거기서 비디오 신호와 오디오 신호가 출력된다. 디코더(7)로부터 출력된 비디오 신호는 합성회로(8)에 입력되어, OSD(On Screen Display) 제어회로(9)가 출력하는 비디오 신호와 합성된 후, 출력단자(P1)로부터 도시하지 않은 디스플레이에 출력되어 표시된다. 디코더(7)로부터 출력된 오디오 신호는, 출력단자(P2)로부터 도시하지 않은 스피커에 이송되어 재생된다.
다른 쪽, 입력단자(P3)로부터 입력된 비디오 신호 및 입력단자(P4)로부터 입력된 오디오 신호는 인코더(10)에서 인코드된 후, 인코드처리 레이트와 기입 레이트와의 차를 흡수하기 위한 기입 채널용 버퍼(11)에 이송된다. 이 기입 채널용 버퍼(11)도 시스템 컨트롤러(13)로부터 판독·기록을 할수 있도록 구성되어 있다.
기입 채널용 버퍼(11)에 축적된 데이터는, 기입 채널용 버퍼(11)로부터 판독되어, 스위치(5)를 통하여 ECC 회로(4)에 입력되고 에러 정정부호가 부가된 후, RF 및 복조/변조회로(3)에서 변조된다. RF 및 복조/변조회로(3)로부터 출력된 신호(RF 신호)는 광 헤드(2)에 의해 광 디스크(1)에 기입된다.
어드레스 검출회로(12)는 광 디스크(1)의 기록 또는 재생하는 트랙의 어드레스 정보를 검출한다. 시스템 컨트롤러(13)는, 이 광 디스크 장치의 각부의 동작을 제어하는 것이며, 각종의 제어를 하는 CPU(21), CPU(21)이 실행해야 할 처리 프로그램등을 격납한 ROM(22), 처리과정에서 생긴 데이터 등을 일시 기억하기 위한 RAM(23) 및 광 디스크(1)에 대하여 기록 또는 재생하는 각종의 정보 파일을 기억하는 RAM(24)를 갖고 있다. CPU(21)는, 어드레스 검출회로(12)의 검출결과에 근거하여, 광 헤드(2)의 위치를 미조정한다. CPU(21)는 또, 스위치(5)의 전환 제어를 한다. 각종의 스위치, 버튼 등으로 구성되는 입력부(14)는 각종의 지령을 입력할 때, 사용자에 의해 조작된다.
다음에, 기본적인 정보 파일의 기록 동작에 관해서 설명한다. 예를 들면, “V0LUME.TOC” 정보 파일의 기록을 할 때, 시스템 컨트롤러(13)의 CPU(21)는, 미리 그 처리 프로그램에 조립되어 있는 파일 시스템 조작명령을 사용하고, “VOLUME.TOC”가 기록되어 있는 광 디스크(1)상의 물리 어드레스와, 그 길이를 확정한다. 계속해서, CPU(21)는, 이“VOLUME.TOC”의 어드레스 정보에 근거하여, 광 헤드(2)를 판독 위치에 이동시킨다. 그리고 CPU(21)는 광 헤드(2), RF 및 복조/변조회로(3) 및 ECC 회로(4)를 판독 모드에 설정함과 동시에 스위치(5)를 판독 채널용 버퍼(6)측에 전환, 또한 광 헤드(2)의 위치를 미조정한 후, 광 헤드(2)에 의한 판독을 개시시킨다. 이로 인하여“V0LUME.TOC”의 내용이 광 헤드(2)에 의해 판독되어, RF 및 복조/변조회로(3)에 의해 복조되고, 또한 ECC 회로(4)에 의해 에러 정정이 행하여진 후, 판독 채널용 버퍼(6)에 축적된다.
판독 채널용 버퍼(6)에 축적된 데이터 량이, “V0LUME.TOC”의 크기와 동등하던가, 또는 보다 커진 시점에서, CPU(21)는 판독을 정지시킨다. 그 후, CPU(21)는 판독 채널용 버퍼(6)로부터 해당 데이터를 판독하여 RAM(24)에 기억시킨다.
다음에, 기본적인 정보 파일 기입 동작에 관해서 “VOLUME.TOC”정보 파일을 기입한 경우를 예로서 설명한다. CPU(21)는, 미리 그 처리 프로그램에 조립되어 있는 파일 시스템 조작명령을 사용하여, 파일 시스템(광 디스크(1))중에, 이제부터 쓰려고 하고 있는 “VOLUME.TOC”와 동등하든가, 보다 큰 크기를 갖는 빈 영역을 찾아 그 어드레스를 확정한다.
다음에, CPU(21)는, RAM(24)에 준비되어 있는, 새롭게 기입해야 할 “VOLUME.TOC”를, 기입 채널용 버퍼(11)에 전송한다. 계속해서, CPU(21)는, 빈 영역의 어드레스 정보에 근거하여, 광 헤드(2)를 기입 위치에 이동시킨다. 그리고 CPU(21)는, 광 헤드(2), RF 및 복조/변조회로(3) 및 ECC 회로(4)를 기입 모드에 설정함과 동시에, 스위치(5)를 기입 채널용 버퍼(11)측에 전환, 광 헤드(2)의 위치를 미조정한 후, 광 헤드(2)에 의한 기입을 개시시킨다.
이로 인하여 새롭게 준비한 “VOLUME.TOC”의 내용이, 기입 채널용 버퍼(11)로부터 판독되어, 스위치(5)를 통하여 ECC 회로(4)에 입력되어, 에러 정정부호가 부가된 후, RF 및 복조/변조회로(3)에 의해 변조된다. RF 및 복조/변조회로(3)로부터 출력된 신호는, 광 헤드(2)에 의해 광 디스크(1)에 기록된다. 기입 채널용 버퍼(11)로부터 판독되어, 광 디스크(1)에 기록된 데이터량이, “VOLUME.TOC”의 크기와 같아진 시점에서, CPU(21)는 기입 동작을 정지시킨다.
마지막으로, CPU(21)는, 미리 그 처리 프로그램에 조립되어 있는 파일 시스템 조작명령을 사용하고, 파일 시스템(광 디스크(1))중의 “VOLUME.TOC”를 지시하는 포인터를, 새롭게 기입한 위치를 지시하도록 재기록한다.
다음에, 기본적인 스트림 재생동작에 관해서, 도 1의 CHUNK_0001.MPEG2라는 스트림을 재생하는 경우를 예로서 설명한다. CPU(21)는, 미리 그 처리 프로그램에 조립되어 있는 파일 시스템 조작명령을 사용하고, “CHUNK_0001.MPEG2”가 기록되어 있는 광 디스크(1)상의 물리 어드레스와, 그 길이를 확정한다. 계속해서, CPU(21)는, 이“CHUNK_0001.MPEG2”의 어드레스 정보에 근거하여, 광 헤드(2)를 판독 위치에 이동시킨다. 그리고 광 헤드(2), RF 및 복조/변조회로(3) 및 ECC 회로(4)를 판독 모드에 설정함과 동시에, 스위치(5)를 판독 채널용 버퍼(6)측에 전환, 광 헤드(2)의 위치를 미조정한 후, 광 헤드(2)에 의한 판독을 개시시킨다.
광 헤드(2)에 의해 판독된 “CHUNK_0001.MPEG2”의 내용이, RF 및 복조/변조회로(3), BCC 회로(4) 및 스위치(5)를 통하여 판독하여 채널용 버퍼(6)에 축적된다. 판독 채널용 버퍼(6)에 축적된 데이터는 디코더(7)에 출력되어, 디코드처리가 실시되고, 비디오 신호와 오디오 신호가 각각 출력된다. 오디오 신호는 출력단자(P2)로부터 출력되고, 비디오 신호는 합성회로(8)를 통하여 출력단자(P1)로부터 출력된다.
광 디스크(1)로부터 판독되고, 디코드, 표시된 데이터량이, “CHUNK_0001.MPEG2”의 크기와 같아진 시점에서, 또는, 입력부(14)로부터 판독 동작의 정지가 지정된 시점에서 CPU(21)는 판독 및 디코드처리를 정지시킨다.
다음에, 기본적인 스트림 기록 동작을, “CHUNK_0001.MPEG2”정보 파일을 기입한 경우를 예로서 설명한다. CPU(21)는 미리 그 처리 프로그램에 조립되어 있는 파일 시스템 조작명령을 사용하여, 파일 시스템(광 디스크(1))중에 이제부터 쓰고자 하고 있는 “CHUNK_0001.MPEG2”와 동등하든가, 그보다 큰 크기를 갖는 빈 영역을 찾아 그 어드레스를 확정한다.
입력단자(P3)로부터 입력된 비디오 신호 및 입력단자(P4)로부터 입력된 오디오 신호는, 인코더(10)에 의해 인코드된 후, 기입 채널용 버퍼(11)에 축적된다. 계속해서, CPU(21)는 빈 영역의 어드레스 정보에 근거하여, 광 헤드(2)를 기입 위치에 이동시킨다. 그리고 CPU(21)는 광 헤드(2), RF 및 복조/변조회로(3) 및 ECC 회로(4)를 기입 모드에 설정함과 동시에, 스위치(5)를 기입 채널용 버퍼(11)측에 전환, 광 헤드(2)의 위치를 미조정한 후, 광 헤드(2)에 의한 기입을 개시시킨다. 이로 인하여 새롭게 준비한 “CHUNK_0001.MPEG2”의 내용이, 기입 채널용 버퍼(11)로부터 판독되어, 스위치(5), BCC 회로(4), RF 및 복조/변조회로(3)를 통하여 광 헤드(2)에 입력되어 광 디스크(1)에 기록된다.
기입 채널용 버퍼(11)로부터 판독되어, 광 디스크(1)에 기록된 데이터가, 미리 설정한 값과 같게 되었을 때, 또는 입력부(14)로부터 기입 동작의 정지가 지정되었을 때, CPU(21)는 기입 동작을 정지시킨다. 최후로, CPU(21)는, 미리 그 처리 프로그램에 조립되어 있는 파일 시스템 조작명령을 사용하고, 파일 시스템(광 디스크(1))중의 “CHUNK_0001.MPEG2”를 지시하는 포인터를 새롭게 기입한 위치를 지시하도록 재기록한다.
지금, 광 디스크(1)에, 도 26에 도시하는 바와 같은 정보 파일과 스트림 파일이 기록되어 있는 것으로 한다. 이 예로서는, “PR0GRAM_001.PGI”라는 이름의 1개의 프로그램의 파일이 포함되고 있다. 또한, 이 광 디스크(1)에는 “TITLE_001.VDR”, “TITLE_002.VDR” 및 “TITLE_003.VDR”이라는 이름의 3개의 타이틀의 파일이 포함되고 있다.
또한, 이 광 디스크(1)에는 “CHUNKGROUP_001.CGIT”와 “CHUNKGROUP_002.CGIT”라는 2개의 청크 그룹의 파일이 포함되고 있다. 또한, 이 광 디스크(1)에는 “CHUNK_0001.MPEG2, “CHUNK_0011.MPEG2” 및 “CHUNK_0012.MPEG2”라는 이름의 3개의 스트림의 파일이 포함되고 있는 동시에, 각각 대응하는 정보로서, “CHUNK_0001.ABST”, “CHUNK_0011.ABST” 및 "CHUNK_0012.ABST”의 3개의 정보 파일이 놓여지고 있다.
도 26에 도시한 정보 파일과 스트림 파일을 갖는 광 디스크(1)의 논리구조는, 도 27에 도시하는 바와 같이 된다. 이 예에서는, 청크 정보 파일 “CHUNK_0001.ABST”는 스트림 파일 “CHUNK_0001.MPEG2”를 또한 청크 정보 파일 “CHUNK_0011.ABST”는 스트림 파일 “CHUNK_0011.MPEG2”를 또한 청크 정보 파일“CHUNK_0012.ABST”는 스트림 파일 “CHUNK_0012.MPEG2”를 각각 지정하고 있다. 구체적으로는, 도 24의 CHUNK_%%%.ABST 중의, chunk_file_id라는 파일에서 스트림의 파일(ID)이 지정된다.
또한, 이 예에서는, 청크 그룹 정보 파일 “CHUNKGROUP_001.CGIT”는, 청크 정보 파일 “CHUNK_0001.ABST”를 또한 청크 그룹 정보 파일 “CHUNKGROUP_002.CGIT”는 청크 정보 파일 “CHUNK_0011.ABST”와 “CHUNK_0012.ABST”를 각각 지정하고 있다. 구체적으로는, 도 23의 chunk_arrangement_info()의 중의 chunk_info_file_id라는 파일에서 청크 정보의 파일(ID)이 지정된다. 이 chunk_arrangement_info()는 청크 그룹 정보 파일의 속 에 있고, 해당 청크 그룹에 속하는 청크의 수만 존재하는 데이터 구조로 되어 있다(도 23의 chunk_arrangement_info()는, 도 22의 chunk_connection_info()에 기술되어 있고, 이 chunk_connectioninfo()는, 도 21의 CHUNKGR0UP_###.CGIT에 기술되어 있다).
CHUNKGROUP.001에는 chunk_arrangement_info()가 1개만 있고, 그 중의 chunk_info_file_id가 CHUNK_0001을 지정하고 있다. CHUNKGROUP_002에는, chunk_arrangement_info()가 2개 있고, 그 중에서, 각각 CHUNK_0011과 CHUNK_0012가 지정되어 있다. 이러한 경우를 위해 청크 그룹은 복수의 청크의 재생 순서 등을 지정할 수 있도록 되어 있다.
구체적으로는, 우선, 도 21의 CHUNKGROUP_###.CGIT 중의 chunkgroup_time_base_offset에 의해, 해당 청크 그룹에서의 시계의 초기치가 정해진다. 다음에 각 청크를 등록할 때에, 도 23의 chunk_arrangement_info()의 presentation_start_cg_count와 presentation_end_cg_time_count가 지정된다.
예를 들면, 도 28에 도시하는 바와 같이, CBUNK_0011의 길이(시간)를 A, CHUNK_0012의 길이(시간)를 B로 한다. CHUNK_0011의 presentation_start_cg_count가 chunkgroup_time_base_offset와 같고, presentation_end_cg_count가 “Chunk_GROUP_time_base_offset+A”와 같다. 또한 CHUNK_0012의 Presentation_start_cg_count가 chunkgroup_time_base_offset+A와 같고, presentation_end_cg_count가 “Chunk_GROUP_time_base_offset+A+B”와 같다. 이와 같이 설정하면, CHUNKGROUP_002는 CHUNK_0011과 CHUNK_0012를 연속적으로 재생 시킨 것으로서 정의된다.
또한, CHUNK_0011과 CHUNK_0012의 재생시각에 겹침이 있는 경우에는, 시각을 그와 같게 시프트함으로써 지정할수 있다. 또한, 도 23의 chunk_arrangement_info()중의 transition_info()에 기술을 함으로써 2개의 스트림간의 천이에 있어서, 특수 효과(페이드인, 페이드아웃, 와이프 등)를 지정할 수 있도록 되어 있다.
도 26(도 27)의 예로서는, 타이틀 정보 파일 “TITLE_001.VDR”과 “TITLE_002.VDR”는 청크 그룹 정보 파일 “CHUNKGR0UP_001.CGIT”를 또한 타이틀 정보 파일 “TITLE_003.VDR”은 청크 그룹 정보 파일 “CHUNKGROUP_002.CGIT”를 각각 지정하고 있다. 구체적으로는, 도 16의 title_info()중에 있어서, cgit_file_id라는 파일로, 청크 그룹의 파일(ID)을 지정하고, 또한 title_start_chunk_group_time-stamp와 title_end_chunk_group_time_stamp라는 파일에서, 청크 그룹 내에서 해당 타이틀이 정의되는 시간적인 범위를 지정하고 있다.
예를 들면, 도 27의 예에서는, CHUNKGROUP_001의 전반을 TITLE_001이, 후반을 TITLE_002가 각각 가리키고 있다. 또한, 이 분할은 사용자로부터의 요구에 의해 행하여진 것이며, 그 위치는 사용자에게 있어서 임의이고, 미리 정해둘 수는 없다. 여기서 TITLE_001과 TITLE_002에 의한 분할의 위치를 CHUNKGROUP_001의 선두로부터 A만 떨어진 위치에 설정하였다고 한다.
TITLE_001은 청크 그룹으로서 CHUNKGROUP_001을 지정하여 타이틀의 개시시각 으로서, CHUNKGROUP_001의 개시시각을 지정하고, 타이틀의 종료시각으로서 사용자로부터 지정된 점의 시각을 지정한다.
즉 TITLE_001의 title_start_chunk_group_time-stamp로서, CHUNKGROUP_001의 chunkgroup_time_base_offset(선두의 위치)가 설정되어, TITLE_001의 title_end_ chunk_group_time_stamp로서, CHUNKGROUP_001의 chunkgroup_time_base_offset에 A의 길이를 가한 것이 설정된다.
또한, TITLE_002는 청크 그룹으로서 CHUNKGROUP_001을 지정하여, 타이틀의 개시시각으로서, 사용자로부터 지정된 점의 시간을 지정하고, 타이틀의 종료시각으로서 CHUNKGR0UP_001의 종료시각을 지정한다.
즉 TITLE_002의 title_start_chunk_group_time_stamp로서, CHUNKGROUP_001의 chunkgroup_time_base_offset(선두의 위치)에 A의 길이를 가한 것이 설정되어, TITLE_002의 title_end_chunk_group_time-stamp로서, CHUNKGROUP_001의 chunkgroup_time_base_offset에 CHUNKGROUP_001의 길이를 가한 것이 설정된다.
또한, TITLE_003은 청크 그룹으로서 CHUNKGROUP_002를 지정하여, 타이틀의 개시시각으로서 CHUNKGROUP_002의 개시시각을 지정하고, 타이틀의 종료시각으로서 CHUNKGROUP_002의 종료시각을 지정한다.
즉 TITLE_003의 title_start_chunk_group_time_stamp로서, CHUNKGROUP_002의 chunkgroup_time_base_offset가 설정되고, TITLE_003의 title-end_chunk_group_time_stamp로서, CHUNKGR0UP_002의 chunkgroup_time_base_offset에 CHUNKGROUP_002의 길이를 가한 것이 설정된다.
또한, 이 예에서는, 프로그램 정보 파일 “PR0GRAM_001.PGI”는 TITLE_001의 일부와 TITLE_003의 일부를 이 순서로 재생하도록 지정하고 있다. 구체적으로는, 도 20의 play-item()중의 title_number에 의해 타이틀을 지정하여, 각 타이틀에서 정의되는 시각으로 개시점과 종료점을 정의하는 것으로, 1개의 커트가 골라진다. 이러한 커트를 복수개 모아서 프로그램이 구성된다.
다음에, 광 디스크(1)에, 새롭게 정보를 추가 기록(append 기록)하는 경우의 동작에 관해서 설명한다. 이 기록은, 구체적으로는 예를 들면, 타이머는 녹화에 의해, 또는 사용자가 입력부(14)를 조작하여, 광 디스크 장치에 대하여 실시간으로 녹화를 지령함으로써 행하여진다. 후자의 경우, 녹화 버튼이 눌린 것 같을 때는, 녹화 종료시각을 예측할 수 없지만, 원터치 녹화기능(조작후 일정시간만 녹화가 행하여지는 기능)의 버튼이 눌렸을 때는, 종료시각을 예측할 수 있다.
여기서는 타이머 녹화를 예로써 설명한다. 이 경우, 광 디스크 장치의 사용자는 사전에, 녹화 개시시각, 녹화 종료시각, 비트 스트림의 비트 레이트, 녹화를 하는 채널 등을 지정하고 있는 것으로 한다. 또한, 녹화의 예약을 한 시점에서, 비트 레이트와 녹화시간에 맞는 용량이 광 디스크(1)에 남겨 있는 것을, 미리 확인되어 있는 것으로 한다.
기록 예약 시와 예약된 기록의 실행 시와의 사이에, 광 디스크(1)에 대하여 또한 기록이 행하여졌던 바와 같은 경우, 이번에 예약된 프로그램을 지정된 비트 레이트에 기록하는 만큼의 용량을 확보할 수 없게 되는 경우가 있다. 이러한 경우, CPU(21)는, 비트 레이트를 지정된 값보다 내리고, 예약된 시간분의 정보를 기록하도록 하든가, 또는, 비트 레이트는 그대로 하고, 기록 가능한 시간만 기록하도록 한다. CPU(21)는, 이 때, 또한 기록이 행하여져, 예약한 기록에 불량이 나온 시점에서 사용자에게 그 뜻을 전하는 메시지를 발송하는 것은 말할 필요도 없다.
그런데, 예약된 녹화의 개시시각이 가까우면, CPU(21)는 내장하는 타이머나 클록을 사용하여, 모드를 슬립 모드에서 동작 모드로 자동적으로 복귀시킨다. 그리고 CPU(21)는, 미리 그 처리 프로그램에 조립되어 있는 파일 시스템 조작명령을 사용하여, 예약된 프로그램을 기록할 수 있는 만큼의 영역을 광 디스크(1)상에 확보한다. 즉, 예약녹화의 종료시각에서 개시시각을 감산한 결과(녹화시간)에 비트 레이트를 곱한 수치가, 예약된 프로그램을 기록하는 데 필요한 영역의 크기이고, CPU(21)는 이 크기의 영역을 먼저 확보한다. 그밖에, 이 기록에 있어서, 스트림 파일 이외에 정보 파일을 기록할 필요가 있는 경우, 예를 들면 새로운 타이틀로서 등록하기 위해 타이틀 정보 파일 등이 필요한 경우에는, 그들의 정보 파일을 기록할 수 있는 만큼의 용량을 광 디스크(1)에 확보해 둘 필요가 있다. 필요한 만큼의 영역을 확보할 수 없는 경우에는, 상술한 바와 같은 방법(비트 레이트의 변경, 녹화가능한 시간 내에서만의 녹화 등 방법)으로 대응이 취해지게 된다.
또한 이때, 새로운 타이틀의 기록이므로 사용자는 새로운 스트림 디렉토리가 새로운 스트림 파일로서 새로운 스트림 파일의 파일명을 붙인다. 여기서는, 이것을 ¥MPEGAV¥STREMS_003¥CHUNK_0031로 한다. 즉, 도 29에 도시하는 바와 같이 루트 디렉토리의 아래의 MPEGAV 디렉토리의 아래의 STREAM_003 디렉토리의 아래의 CHUNK_0031.MPEG2라는 이름의 파일로 한다.
CPU(21)는, 각부에 대하여 기록 모드의 실행을 명령한다. 예를 들면, 도시하지 않은 튜너로부터 입력단자(P3)에 입력된 비디오 신호 및 입력단자(P4)에 입력된 오디오 신호는, 인코더(10)에 의해 인코드된 후, 기입 채널용 버퍼(11)에 축적된다. 계속해서, CPU(21)는 조금전 확보한 영역의 어드레스 정보에 근거하여, 광 헤드(2)를 기입 위치에 이동시킨다. 그리고 CPU(21)는 광 헤드(2), RF 및 복조/변조회로(3) 및 ECC 회로(4)를 기입 모드에 설정함과 동시에, 스위치(5)를 기입 채널용 버퍼(11)측에 전환, 광 헤드(2)의 위치를 미조정한 후, 광 헤드(2)에 의한 기입을 개시시킨다. 이로 인하여 새롭게 준비한 “CHUNK_0031.MPEG2”의 내용이, 기입 채널용 버퍼(11)로부터 판독되어, 스위치(5), ECC 회로(4), RF 및 복조/변조회로(3) 및 광 헤드(2)를 통하여 광 디스크(1)에 기록된다.
상기의 기입 동작을 계속하여, 하기중 어느 하나의 조건이 발생한 시점에서, CPU(21)는 기입 동작을 정지시킨다.
1) 예약된 기록의 종료시각이 되었을 때
2) 용량부족, 그 밖의 원인에 의해 광 디스크(1)에 기록을 할 수 없게 되었을 때
3) 녹화동작의 정지가 지령되었을 때
다음에, CPU(21)는 미리 그 처리 프로그램에 조립되어 있는 파일 시스템 조작명령을 사용하고, 파일 시스템중의 “CHUNK_0031.MPBG2”를 지시하는 포인터를 새롭게 기입한 위치를 지시하는 값에 재기록한다. 또한, CPU(21)는 청크 정보, 청크 그룹 정보, 타이틀 정보의 각각의 파일을 준비하고, 적당한 이름을 붙여 기록한다. 또한, 기록시 또는 예약시에 광 디스크(1)상에 이들의 파일을 기록할 수 있는 만큼의 빈 용량을 확보해 둘 필요가 있다.
이렇게 하여, 예를 들면 도 30에 도시하는 바와 같이, 새로운 정보 파일이 작성된다. 동 도면에 있어서, 파일명의 오른쪽 위에 별표(*)를 붙인 것이, 이번 새롭게 작성된 파일이다.
도 31은, 새롭게 완성된 정보 파일의 관계를 도시한 것이다. TITLE_004는 CHUNKGROUP_003을 지정하고, CHUNKGROUP_003은 CHUNK_0031을 지정하여, CHUNK_0031은 STREAM_0031을 지정하고 있다.
즉, 새로운 스트림은 TITLE_004로서, 정보 파일에 등록되어 있다. 사용자는 광 디스크 장치의 타이틀을 확인하는 기능에 의해, TITLE_004의 속성 등을 알 수 있고, 또한, TITLE_004를 재생할 수 있다.
다음에, 도 26(도 27)에 예시하는 바와 같은 광 디스크(1)상에, 덮어쓰기 기록하는 경우의 동작에 관해서 설명한다. 덮어쓰기 기록이란, 비디오 테이프에 신호를 기록하는 경우와 마찬가지로, 지금까지 기록되어 있는 프로그램의 위에(그 프로그램을 제거하여) 새로운 프로그램을 기록해 가는 동작의 것을 말한다.
덮어쓰기 기록에서는, 덮어쓰기 기록을 개시하는 위치가 중요하다. 예를 들면 사용자로부터 TITLE_001의 선두로부터 덮어쓰기 기록을 개시하는 것이 지정되었다고 한다, 이 때 덮어쓰기 기록은, TITLE_001, TITLE_002, TITLE_003을 각각 차례로 재기록하면서 행하여진다. TITLE_003의 마지막까지 재기록하여도 아직 기록동작이 종료하지 않은 경우에는, 광 디스크(1)상의 빈 영역에 새로운 영역을 확보하 여 기록이 속행된다. 예를 들면 TITLE_002가 기록 개시위치로 된 경우에는 TITLE_001은 기록 개시위치보다 앞에 위치하므로, 이번의 기록동작에 의해 재기록되는 일은 없다.
지금, TITLE_003의 선두로부터 타이머 녹화에 의해 덮어쓰기 하는 것으로 한다. 이 경우, 광 디스크 장치의 사용자는 사전에, 녹화 개시시각, 종료시각, 비트 스트림의 비트 레이트, 녹화를 하는 채널 등을 지정하고 있는 것으로 한다. 또한, 덮어쓰기 기록에서는 중요한 기록 개시위치가 TITLE_003의 선두로 지정된 것으로 한다. 또한 이 경우에 있어서도, 녹화의 예약을 한 시점에서, 비트 레이트와 녹화시간에 맞는 용량이 광 디스크(1)상에 존재하는 것이, 미리 확인되어 있는 것으로 한다. 덮어쓰기 기록의 경우에는 지정된 위치에서 덮어쓰기 가능한 (복수의) 타이틀의 총용량과, 광 디스크(1)의 빈 용량의 합이 기록 가능 용량이 된다. 즉, 이번의 경우에는, TITLE_003이 관리하는 스트림 STREAM_00ll과 STREAM_0012의 총용량과, 광 디스크(1)상의 빈 용량의 합이 기록 가능한 용량이 된다.
덮어쓰기 기록에서는, 기록 가능한 용량분에 대하여, 어떠한 순서로 실제의 기록을 해 가는가 라는 선택 구분이 몇 개 있다. 우선, 최초에 생각되는 것이 타이틀로 지정되어 있는 스트림의 순서로 기록해 가는 방법이다. 즉, 이번의 경우에는, 먼저 STREAM_00ll의 선두로부터 기록을 개시하여, STREAM_00ll의 끝까지 기록하면, STREAM_0012의 선두로부터 기록을 속행하여, STREAM_0012의 끝까지 기록하면, 이번은 빈 영역에 기록을 하는 방법이다. 또 하나의 방법은, 먼저, 빈 영역에 기록을 하고, 빈 영역이 없어진 시점에서, 현존하는 스트림 상에 기록하여 가는 방 법이다.
전자의 방법은, 비디오 테이프의 에뮬레이션이라는 의미로 우수하다. 즉, 비디오 테이프와 같은 동작이라는 의미로, 사용자로부터 이해되기 쉽다는 특징을 갖는다. 후자의 방법은, 이미 기록되어 있는 스트림의 제거가 뒤로 되기 때문에, 기록되어 있지만 보호라는 점에서 우수하다는 특징을 갖는다.
또한, 기록 예약시와 예약된 기록의 실행 시와의 사이에, 광 디스크(1)에 대하여 또한 기록이 행하여진 경우에, 이번에 예약된 프로그램을 지정된 비트 레이트에 기록하는 만큼의 용량을 확보할 수 없는 경우가 있다. 이러한 경우, 상술한 경우와 같이, 예약 실행 시에, 비트 레이트가 자동적으로 내려가고, 예약된 시간분만 전부 기록되던가, 또는, 비트 레이트는 그대로 하여 기록 가능한 시간만 기록이 행하여진다.
예약된 녹화의 개시시각이 가까우면, 광 디스크 장치는 슬립 모드로부터 동작 모드로 복귀한다. CPU(21)는, 광 디스크(1)상의 빈 용량을 전부 확보한다. 물론, 이 시점에서 빈 용량을 확보하지 않고, 필요하게 된 시점에서 확보한다고 하는 방법도 있지만, 여기서는 설명을 위해, 기록 개시 이전에 필요한 영역을 확보하는 것으로 한다.
또한, 타이머 녹화등으로, 개시시각, 종료시각, 비트 레이트가 지정되어 있기 때문에, 필요한 영역의 크기를 미리 알고 있는 경우에는, 필요한 만큼만(또는 얼마만큼의 마진을 가한 분만) 용량을 확보하도록 할 수도 있다. 이 기록에 있어서 정보 파일을 기록할 필요가 있는 경우, 예를 들면 새로운 타이틀로서 등록하기 위해서 타이틀 정보 파일 등이 필요한 경우, 이들 정보 파일도 기록할 수가 있는 만큼의 용량을 남겨둘 필요가 있다.
여기서는 새로운 스트림디렉토리의 새로운 스트림 파일로서 새로운 스트림 파일의 파일명을 붙이는 것으로 한다. 결국, 여기서는 파일명을, ¥MPEGAV¥ STREMS_002¥CHUNK_0031로 한다. 즉, 도 32에 도시된 바와 같이, 루트디렉토리 아래의 MPEGAV 디렉토리 아래의 STREAM_002 디렉토리 아래의 CHUNK_0031.MPEG2라는 이름의 파일이 작성된다.
입력단자(P3)에 입력된 비디오 신호, 및 입력단자(P4)에 입력된 오디오 신호는, 인코더(10)에 의해 인코드된 후, 기록 채널용 버퍼(11)에 축적된다. 계속해서, CPU(21)는 조금전 확보한 영역의 어드레스 정보에 근거하여, 광헤드(2)를 기록 위치로 이동시킨다. 그리고 CPU(21)는 광헤드(2), RF 및 복조/변조회로(3), 및 ECC 회로(4)를 기록 모드에 설정하는 동시에, 스위치(5)를 기록 채널용 버퍼(11)측으로 전환하고, 광헤드(2)의 위치를 미세 조정한 후, 광헤드(2)에 의한 기록을 개시시킨다. 이로써 새롭게 준비한 “CHUNK_0031.MPEG2”의 내용이, 기록 채널용 버퍼(11)로부터 판독되고, 스위치(5), ECC 회로(4), RF 및 복조/변조회로(3), 및 광헤드(2)를 통하여, 광디스크(1)에 기록된다.
이 때, 먼저 스트림 파일“CHUNK_0011.MPEG2”가 기록된다. 그리고“CHUNK_0011.MPEG2”의 마지막까지 기록이 행해지면, 다음에, “CHUNK_ 0012.MPEG2”로 기록이 진행되고, 또한,“CHUNK_0031.MPEG2”로 기록이 진행된다.
이상의 동작을 계속하여, 상술한 경우와 마찬가지로 3개의 조건 중 어느 하 나가 발생한 시점에서, CPU(21)는 기록 동작을 정지시킨다.
다음에, CPU(21)는 미리 그 처리 프로그램에 짜여진 파일 시스템 조작명령을 사용하여, 스트림 파일, 청크 정보, 청크 그룹 정보, 타이틀 정보를 갱신한다.
그런데, 기록이 종료한 타이밍에 의해서, 파일 구성이 변화한다. 예를 들면, CHUNK_0011.MPEG2와 CHUNK_0012.MPEG2의 2개의 스트림의 덮어쓰기를 종료한 후, 또한 CHUNK_0031.MPEG2에 기록이 행해진 경우, 광디스크(1)의 파일의 구성은, 도 33에 도시된다. 파일명의 우측 상단에 애스터리스크(*)를 붙인 것이 이번에 새롭게 작성된 파일이다.
도 34는 이렇게 하여 새롭게 완성된 파일(도 33의 파일)의 관계를 도시한 것이다. 도 31과 비교하여 분명한 바와 같이, TITLE_003이 지정하고 있는 CHUNKGROUP_002에 포함되는 CHUNK로서 CHUNK_0031가 증가되어 있고, CHUNK_0031은 STREAM_0031를 지정하고 있다.
한편, 기존 스트림의 덮어쓰기의 도중에서 덮어쓰기 기록이 종료한 경우, 예를 들면, CHUNK_0011의 기록의 도중에서 덮어쓰기 기록이 종료한 경우, 덮어쓰기를 위해 확보한 CHUNK_0031의 스트림은 덮어쓰기되지 않았으므로 개방된다. 이 경우, 특수한 타이틀의 처리가 행해진다. 즉, TITLE_003의 선두로부터 덮어쓰기 기록을 개시하고, 그 도중에서 기록이 종료된 경우에는, 그곳에서 타이틀 이 분할된다. 결국, 도 35에 도시되는 바와 같이, 덮어쓰기 기록 개시 위치로부터 종료위치까지가 새로운 TITLE_003이 되며, 그 이후의(원래의 TITLE_003의 나머지 부분)은 TITLE_004가 된다.
다음에, 타이틀 재생의 동작에 대해서 설명한다. 지금, 도 26에 도시되는 바와 같은 파일을 갖는 광디스크(1)를 광디스크 장치에 삽입하고, 타이틀 재생하는 것으로 한다. 먼저, 광디스크(1)가 삽입되면, CPU(21)는 정보 파일을 광디스크(1)로부터 판독하여, RAM(24)에 기억시킨다. 이 동작은 상술한 기본적인 정보 파일의 판독 동작을 반복함으로써 행해진다.
CPU(21)는 먼저, VOLUME.TOC와 ALBUM.STR를 판독한다. 다음에 CPU(21)는 디렉토리 “TITLE”이하에, “.VDR”의 확장자를 가지는 파일이 몇 개 있는지를 조사한다. 이 확장자를 가지는 파일은 타이틀 정보를 가지는 파일이고, 그 파일의 수는 즉 타이틀의 수가 된다. 도 26의 예에서는 타이틀 수는 3이 된다. 다음에 CPU(21)는 3개의 타이틀 정보 파일을 판독하며, RAM(24)에 기억시킨다.
CPU(21)는 OSD 제어회로(9)를 제어하고, 광디스크(1)상에 기록되어 있는 타이틀의 정보를 나타내는 문자 정보를 발생시키며, 합성회로(8)에 의해 비디오 신호와 합성시켜, 출력단자(P1)로부터 디스플레이에 출력시키며, 표시시킨다. 현재의 경우, 타이틀이 3개 있는 것, 그리고 3개의 타이틀 각각의 길이나 속성(이름, 기록된 일시 등)이 표시된다.
여기서, 사용자가, 예를 들면 TITLE_002의 재생을 지정하였다고 한다. TITLE_002의 정보 파일에는(도 16의 title_info()중의 cgit_file_id에는), CHUNKGROUP_001을 지정하는 파일 ID가 기록되어 있고, CPU(21)는 이것을 기억함 과 동시에, CHUNKGROUP_001를 RAM(24)에 격납시킨다.
다음에, CPU(21)는 TITLE_002의 개시시각과 종료시각(도 16의 title_info() 중의 title_start_chunk_group_time_stamp와 title_end_chunk_group_time_stamp)이, 어떤 CHUNK에 대응하는지를 조사한다. 이것은 CHUNKGROUP의 정보 중에서, 각각의 CHUNK가 등록되어 있는 정보(도 23의 chunk_arrangement_info()중의 presentation_start_cg_time_count와 presentation_end_cg_time_count)를 비교하는 것으로 행해진다. 현재의 경우, 도 27에 도시된 바와 같이, TITLE_002의 개시시각은, CHUNK_0001의 도중에 들어가 있음을 알 수 있다. 즉, TITLE_002를 선두로부터 재생하기 위해서는, 스트림 파일“CHUNK_0001.MPEG2”의 도중에서 재생을 개시하면 된다는 것을 알 수 있다.
다음에, CPU(21)는 TITLE_002의 선두가 스트림중의 어디에 해당하는지를 조사한다. 즉, TITLE_002의 개시시각이, 스트림 중의 오프셋 시각(타임 스탬프)으로서 몇 개에 해당하는지가 계산되고, 다음에 CHUNK 파일 중의 특징점 정보를 사용하여, 개시 시각 직전에 해당하는 재생 개시점이 특정된다. 이로써, 재생 개시점의 파일선두로부터의 오프셋 거리가 확정 가능하게 된다.
다음에, CPU(21)는 미리 그 처리 프로그램에 짜여진 파일 시스템 조작명령을 사용하여, “CHUNK_0001.MPEG2”가 기록되어 있는 광디스크(1)상의 물리 어드레스와, 그 길이를 확정한다. 또한, 이 어드레스에, 조금전 구한 재생 개시점의 오프셋 어드레스가 추가되고, TITLE_002의 재생 개시점의 어드레스가 최종적으로 확정된다.
계속해서, CPU(21)는 이“CHUNK_0001.MPEG2”의 어드레스 정보에 근거하여, 광헤드(2)를 판독 위치로 이동시킨다. 그리고 CPU(21)는 광헤드(2), RF 및 복조/ 변조회로(3), 및 ECC 회로(4)를 판독 모드에 설정함과 동시에 스위치(5)를 판독 채널용 버퍼(6)측으로 전환하고, 광헤드(2)의 위치를 미세 조정한 후, 광헤드(2)에 의한 판독을 개시시킨다. 이로써 “CHUNK_0001.MPEG2”의 내용이 판독 채널용 버퍼(6)에 축적된다.
판독 채널용 버퍼(6)에 축적된 데이터는 디코더(7)에 출력되고, 디코드처리가 실시되며, 비디오 신호와 오디오 신호가 출력된다. 광디스크(1)로부터 판독되고, 디코드되어, 표시된 데이터량이, “CHUNK_0001.MPEG2”의 크기와 같게 된 시점에서, CPU(21)는 TITLE_003의 재생으로 이행한다. 이 TITLE_003의 재생동작은 TITLE_002의 재생동작과 같은 동작이다.
등록되어 있는 타이틀의 재생이 종료하였을 때, 또는 판독 동작의 정지가 지시되었을 때, 판독하고, 디코드 처리가 정지된다.
또, 광디스크 장치에, 광디스크(1)로서, 새로운 디스크가 삽입된 경우, 또는, 다른 포맷의 디스크가 삽입된 경우, CPU(21)는 디스크가 삽입되었을 때, VOLUME.TOC와 ALBUM.STR을 판독하고자 하지만, 이들 디스크에는 이러한 파일이 존재하지 않게 된다. 이러한 경우, 즉, VOLUME.TOC와 ALBUM.STR을 판독할 수 없는 경우, CPU(21)는 메시지를 출력하여, 사용자에게 지시를 요구한다. 사용자는 CPU(21)에 지시하여, 광디스크(1)를 이젝트시키든가(예를 들면, 다른 포맷의 디스크인 경우), 초기화시키든가(예를 들면, 동일 포맷이 새로운 디스크인 경우), 또는 어떠한 방법에 의해 데이터를 복구시킨다(예를 들면, 동일 포맷의 디스크이지만, 데이터가 파괴되어 있는 경우).
다음에, title에 대해서, 또한 설명한다. 도 15에 도시된 바와 같이, TITLE_###.VDR은 title의 정보를 격납하기 위한 file이다. 1개의 title에 대한 정보는 1개의 title_info()에 기록된다. TITLE_###.VDR 내에 존재하는 title_info()의 수는 1개이다. 따라서, volume 내에는 title의 수만큼 TITLE_###. VDR이 존재한다.
title number는 도 16의 title_info() 중에서 정의되지 않고, file명 또는 file id에서 결정된다. 따라서, TITLE_###.VDR 중의 양의 정수###가 title number를 나타낸다. title은 구조라고 하기 보다도, chunkgroup에 붙여진, 개시점을 나타내는 타이틀 인덱스로부터, 다음 타이틀의 선두를 나타내는 타이틀 인덱스까지의 범위, 또는 chunkgroup의 종료점까지 범위의 부분이다.
도 15의 TITLE_###.VDR의 file_type_id는, 도 36에 도시된 바와 같이, title_info()가 기록된 파일인 것을 나타내는 id이고, 길이 16의 문자열로 표시된다. text_block()는 여러 가지 text를 격납하기 위한 영역이며, 그 text_block()에서 사용이 허용되고 있는 text item만이 기술된다.
title_info()는 도 16에 도시된 바와 같이, 청크그룹(chunkgroup)상에 있어서의, 타이틀(title)의 개시점과 종료점, 그 밖의 title에 관한 속성이 기록되는 영역이다. 또한, title_info()는, 타이틀 번호순으로 재생하였을 때, 타이틀간에서 심리스 재생을 보증할 수 있는지의 여부를 나타내는 플래그(flag)를 가질 수 있다. 이 플래그(flag)에 의해, 광디스크 장치에서 타이틀간을 심리스 재생할 수 있는지의 여부를 사전에 파악할 수 있고, 또한 병합시에 배치를 바꿀 필요가 있는 지의 여부를 알 수 있다.
타이틀내 및 청크 그룹내에서는 심리스 재생이 보증되어 있으나, 타이틀의 경계에서도 존재할 수 있으므로, 타이틀간에서는 심리스 재생은 보증되지 않는 경우가 있다. 단, 광디스크 장치의 기능으로서, 재배치 등을 행함으로써, 일반적으로 심리스 재생이 행해지는 상태로 하는 것은 가능하다.
도 16의 title_info()중의 title_info_length는, title_info()의 길이를 byte 단위로 나타낸 것이다. flags_for_title에는 대응하는 title의 기록 속성
(변경허가), 재생 회수 제한, rating의 level 등이 기록된다. cgit_file_id에는, 대응하는 타이틀(title)의 베이스(base)인 청크그룹(chunkgroup)의 정보 파일(information file)(CHUNKGROUP_###.CGIT)의 file_id가 기록된다.
title_start_chunk_group_time_stamp에는, 청크그룹(chunkgroup)에서 정의된 로컬(local)인 시간축상에 있어서의, 그 타이틀(title)의 재생 개시점의 시각이 기록된다. 그 타이클(title)의 타이틀 인덱스(titleindex)가 가리키는 픽쳐의 표시시각이 이 값이 된다. title_end_chunk_group_ stamp에는, 청크그룹(chunkgroup)에서 정의된 로컬(local)한 시간축상에 있어서의, 그 title의 재생종료점의 시각이 기록된다. 이 값은 청크그룹(chunkgroup)의 재생 종료점이나 ,또는 시간축상에 있어서 직후에 위치하는 타이틀(title)의 개시점을 나타내는 타이틀 인덱스(titleindex)가 나타내는 값과 동일하게 된다.
title_playback_time()에는 그 타이틀의 재생시간(타임 코드치, 또는 frame 또는 field 매수)이 기록된다. number_of_marks에는, 그 타이틀(title)내에 설정 되어 있는 모든 마크(mark)의 총수(titleindex를 제외한다)가 기록된다. mark_type에는, 도 37에 도시된 바와 같이, 타이틀 내의 임의의 위치에 붙여지는 mark의 종류가 기록된다. 마크(mark)는 타이틀(title) 내의 랜덤 액세스 포인트(random access point)로서도 이용된다. mark_chunk_group _time_stamp에는, 청크그룹(chunkgroup)의 시간축상에 있어서, 그 마크(mark)가 설정되어 있는 장소의 시간 스탬프(time stamp)가, 값이 작은 것부터 차례로 기록된다. 타이틀(title)의 개시점 및 종료점과 같은 시간 스탬프(time stamp)를 갖는 인덱스(index)는 존재해도 된다. stuffing_bytes에는, 스터핑(stuffing)하는 바이트(bytes)가 기록되며, 그 길이는 8×n bit(n>=0)이 된다.
다음에, 도 21 내지 도 24에 도시된 청크그룹(chunkgroup)과 청크(chunk)에 대해서 추가로 설명한다. CHUNKGROUP_###.CGIT는, title의 시간축의 정의, 및 청크(chunk)의 구성, 타이틀(title)에 포함되는 불연속점의 처리를 기술한 파일이다.
타이틀(title)은 각종의 비트스트림(bitstream)으로 구성되어 있고, 비디오(video)가 없는 스트림(stream)인 경우나, DV(디지털 비디오)의 비트스트림(bitstream)인 경우도 있다. DV 포맷에서는, 프레임 단위로 시간축이 규정되어 있고, MPEG2 video의 STC(System Time Clock)를 기준으로 하고 있으면, 포맷이 다르기 때문에, 이 DV의 비트스트림(bitsteam)을 관리할 수 없다.
그래서, 타이틀(title)내에서 로컬(local)한 시간축을 설정하는 것으로 한다. 이 시간축은 타이틀을 구성하는 스트림(stream)에 의존하지 않는다. 타이틀의 경계는 청크(chunk)의 경계와는 관계없이 설정된다. 이 때문에, 로컬(local)한 시간축은, chunk(bitstream에 1대 1로 대응된다)마다, 타이틀(title)마다 설정하는 것보다도, 복수의(임의의 수의) title이 포함되는 chunk의 집합체에 대하여 설정하는 것이 적절하다. 이 청크(chunk)의 집합체가 청크그룹(chunkgroup)이다.
청크그룹(chunkgroup)에서는 단일한 시간축을 정의하고, 그 후에 청크(chunk)를 붙여감으로써 청크(chunk)의 표시시각을 정하고 있다. 결국, 청크그룹(chunkgroup)에는, 비트스트림 파일(bitstream file)의 내용(byte열)을 시간축상에 전개한 상태에서 청크(chunk)가 나란하다. 1개의 비트스트림(bitstream file)에 포함되는 모든 청크(chunk)를 시간축상에 나란하게 한 것을 경로(path)라고 부른다. 청크그룹(chunkgroup)에는, 복수의 경로(path)를 나란하게 할 수 있다. 경로(path)중, 청크그룹(chunkgroup)의 재생 개시 시각과 종료시각을 규정하는 경로(path)는 주 경로(main path)라고 부르며, 그 밖의 경로(path)는 서브 경로(sub path)라고 한다. 서브 경로(sub path)는 주로, 나중에 추가 기록된 오디오의 청크(chunk) 등을 나타낸다.
청크(chunk)의 접속점은 타이틀(title)의 경계와는 반드시 일치하지 않기 때문에, 타이틀(title)의 속성이 아니다. 그러나, 청크(chunk)간의 관계를 각 청크(chunk)의 속성에 포함시키면, 계층적으로 모순이 발생하는 경우가 있다. 이러한 불연속점 정보는 청크(chunk)와 타이틀(title)의 중간에 위치하며, 청크(chunkgroup)의 계층에 두는 것이 적절하다고 생각된다.
이상을 정리하면, 청크그룹이 가지는 정보는 청크의 시간축상으로의 배치의 방법, 청크의 재생 순서, 청크의 끝과 다음에 재생하는 청크의 시작과의 접속점에 서 발생하는 불연속점 등이다.
도 21의 CHUNKGROUP_###.CGIT의 file_type_id는, 도 38에 도시된 바와 같이, 그 파일이 CHUNKGROUP_###.CGIT인 것을 나타내는 식별자이고, IS0646에 따른 16문자의 문자열로 표시된다. chunkgroup_time_base_flags에는, 청크그룹의 기준 카운터에 관한 플래그가 기록된다. chunkgroup_time_base_offset에는, 청크그룹 내의 기준 시간축의 개시시각이 기록된다. 이 값은 90kHz의 클록을 카운트업하는 카운터에 세트되는 값이고, 64bit로 나타낸다. text_block()는, 여러 가지 텍스트(text)를 격납하기 위한 영역이며, 그 text_block()에서 사용이 허용되고 있는 텍스트 항목(text item)만이 기술된다.
도 22에 도시된 바와 같이, chunk_connection_info()는, 특이한 점의 정보(video의 전환점, video와 audio의 동기 등)를 기록해 두기 위한 파일이고, 청크간의 접속 상황을 규정하고 있다. 편집에 의해 가능한 청크와 청크의 연결부분과 같은 특이점에서는, GOP의 도중에서 청크를 바꿀 필요가 있다. 이러한 편집점 부근의 정보가 여기에 기술된다. 청크는 2개 이상의 청크그룹에 속하는 것은 아니다.
chunk_connection_info_length에는, chunk_connection_info()의 길이를 바이트 단위로 나타낸 것이 기록된다. number_of_chunks에는, 그 청크그룹에서 편집점 청크의 총수가 기록된다. chunk_sync_play_flag는, 도 39에 도시된 바와 같이, 동시각에 2개 이상의 청크를 재생할 필요가 있는지의 여부를 나타내는 플래그이며, 그 값의 0은, 1개의 청크의 재생을 의미하여, 그 값의 1은, 복수의 청크의 동시이 다.
도 23의 chunk_arrangement_info()에 있어서, chunk_arrangement_info_ length에는, 각 청크에 대한 정보의 길이를 바이트 단위로 표시한 것(chunk_arrangement_info_length의 선두 byte로부터 transition_info()의 최종 byte까지를 포함시킨 길이)이 기록된다. chunk_info_file_id에는, 대상이 되는 chunk_info_file의 file_id가 기록된다.
chunk_switch_stream_id에는 2개의 청크를 접속하였을 때 연속 재생하는 스트림의 stream_id가 기록된다. 이 id로서는, 예를 들면, MPEG2의 패킷 헤더에 기록되어 있는 비디오 또는 오디오를 식별하는 id가 사용된다. presentation_ start_cg_time_count에는, 해당 청크의 표시 개시 시각을, 청크그룹 내의 시각으로 나타낸 시간 카운트 치(time count value)가 기록된다. 청크의 표시 개시 시각은, 청크그룹 내에서 정의되는 글로벌(global)한 시간 스탬프(time stamp)로 표현된다. 해당 청크는 청크그룹에 있어서, 이 시각으로부터 표시가 개시된다. presentation_end_cg_time_count에는, 해당 청크의 표시 종료 시각을, 청크그룹내의 시각으로 나타낸 시간 카운트 치가 기록된다. 청크의 표시 종료 시각은, 청크그룹 내에서 정의되는 글로벌한 시간 스탬프로 표현된다.
도 40에 도시된 바와 같이, original_time_count_type에는, 스트림 내부에서 사용하고 있는 시간 카운트의 종류가 기록된다. 예를 들면, MPEG2 vidio의 스트림이면, original_time_count_type는‘0000’이 된다. number_of_start_original_ time_count_extension에는, 복수의 시간 카운트가 필요할 때, 새롭게 필요한 개시시각을 나타내는 시간 카운트의 수가 기록된다. number_of_end_original_time_ count_extension에는, 복수의 시간 카운트가 필요할 때, 새롭게 필요한 종료시각을 나타내는 시간 카운트의 수가 기록된다. presentation_start_original_time_count에는, presentation_start_cg_time_count에 대응하는, 스트림 내부에 있어서의 시각 또는 카운터 치가 기록된다. presentation_end_original_time_count에는, presentation_end_cg_time_count에 대응하는, 스트림 내부에 있어서의 시각 또는 카운터 치가 기록된다.
tc_ext_attributes에는, time_count_extension에 대한 속성이 기록된다. 이 time_count_extension에는, 예를 들면, 어떤 스트림에 적용하는 것인지 등의 정보를 넣을 수 있다. start_original_time_count_extension에는 청크의 전환에 필요한 개시 시각 또는 개시 카운터 치가 기록된다. 이것은 옵션이며, 복수의 시각이나 카운터 치를 기록하는 필요가 있을 때에 사용된다. end_original_time_ time_count_extension에는, 청크의 전환에 필요한 종료 시각 또는 종료 카운터 치가 기록된다. 이것도 옵션이며, 복수의 시각이나 카운터 치를 기록할 필요가 있을 때에 사용된다. transition_info()에는, 청크의 전환에서 특수효과를 적용할 때에 필요한 정보가 기록된다. 예를 들면, 청크의 지정, 전환 시각, 특수효과의 종류 등이 여기에 기술된다.
도 24에 도시된 바와 같이, CHUNK_%%%%.ABST는 sub_file 번호%%%%의 chunk를 구성하는 bitstream으로부터 추출한 특징점을 기록한 파일이다. 이 파일에는 GOP, 오디오 프레임(Audio frame) 등의 비트스트림(bitstream)을 구성하는 단위마다, 그 개시 byte 위치, 길이, 속성 등이 기술된다. C0P정보, 오디오 프레임(Audio frame) 정보는 chunk(sub-flle)마다, 각각 하나의 CHUNK_%%%%.ABST로서 정리된다.
도 41에 도시된 바와 같이, CHUNK_%%%%.ABST의 file_type_id에는, stream_info()가 기록되어 있는 파일임을 나타내는 식별자가, IS0 646에 따른 16문자의 문자열로 기록된다.
도 42에 도시된 바와 같이, info_type에는, 도 24에 있어서 다음에 계속되는 stream_info의 형태(type)가 기록된다. 여기서 스트림의 종류가 특정된다. number_of_programs에는, MPBC2의 TS(Transport Stream)에 포함되는 프로그램의 수가 기록된다. 이 수를 알기 위해서는, PSI(Programs Specific Information)을 판독할 필요가 있다. TS 이외일 때에는, 이 값은 1이 된다. number_of_streams에는, 그 프로그램에서 사용되는 스트림의 수가 기록된다. 이 값은 TS의 경우에는, 다른 PID(packet identification)의 수와 같다. TS 이외의 MPEG 스트림의 경우, 여기에는 스트림 식별자(stream id)가 다른 스트림의 수가 기록된다.
stream_identifier, stream id 또는 스트림 식별자(stream id)를 확장하는 것이 기록된다. TS의 경우에는 스트림 식별자(stream id)로서 PID가 이용된다.
도 43에 도시된 바와 같이 slot_unit_type에서는 스트림을 어떤 일정한 간격마다 구획할 때에 이러한 구획 방법이 기록된다. 각 프레임(frame), 필드(field) 등의 구획 지표가 시간의 경우에는 시간 스탬프 값(time stamp value)가 사용된다. slot_time_length에는 l slot에 대응하는 시간이 기록된다. 이러한 값은 90kHz의 클록을 카운트하는 카운터를 사용하는 시간 스탬프(time stamp)의 값으로 나타난다. number_of_slots에는 CHUNK_%%%%. ABST에 쓰여져 있는 slot_info()의 수가 기록된다. number_of_I_pictures_in_a_slot에는 slot에 포함되는 1-picture의 수가 기록된다. 이러한 값은 1이상의 정수에서 15이하의 값으로 된다. 단, GOP헤더(G0Pheader)를 선두로 하는 슬롯(slot)의 직전에 위치하는 슬롯에 포함되는 1-픽처의 수는 이러한 값보다 작을 수 있다. G0Pheader의 직후가 아닌 1-픽처의 픽처 헤더(picture header)를 선두로 하는 슬롯을 설정할 때에 이러한 값이 활용된다.
다음에 도 17과 도 18에 도시된 프로그램에 관해서 더욱 설명한다. PR0GRAM_$$$.PGI에 TJ는 program()이 단지 1개 존재한다. 볼륨(volume) 내에는 프로그램의 수만큼 PR0GRAM_$$$.PGI가 존재한다. 프로그램 번호는 program() 중에서 정의되지 않으며 파일명 또는 파일 식별자(file id)에서 규정된다.
도 44에 도시된 바와 같이 도 17의 PROGRAM_$$$.PGI의 file_type_id에는 program()이 기록된 파일인 것을 도시하는 식별자(id)가 길이 16의 문자열로 기록된다. text_block()에서는 다양한 텍스트를 격납하기 위한 영역이 형성되어 있다. 여기서 이러한 text_block()에서 사용이 허용되는 텍스트 항목(text item)만이 기술된다.
도 18의 program()의 flags_for_program에는 프로그램에 관한 각종 플래그가 기록된다. 예를 들면, 이러한 프로그램의 기입 속성(변경 허가), 재생회수 제한, 레이팅(rating)의 레벨(level) 등이 기록된다.
도 45에 도시된 바와 같이 program_status에는 프로그램의 속성이 기록된다. 이러한 필드의 설정은 옵션이지만 설정되지 않을 때에는 “none”으로 하지 않으면 안 된다.
program_playback_time()에는 이러한 프로그램의 재생시간이 기록된다. number_of_play_sequences에는 이러한 프로그램에서 사용되고 있는 play_sequence의 수가 기록된다. 단, 이러한 포맷의 예로서는 값은 1에 고정되어 있다. 즉, 이러한 포맷의 예로서는 1 program= l ch(채널) 재생으로 되어 있으므로 2 ch 동시 재생을 실현하는 데는 2 프로그램의 동시 재생 지정을 할 수 있게 하면 좋다. 1 program= 1 ch 재생의 제한이 없으면 1 프로그램에서 2 ch 동시 재생도 할 수 있다. multichannel I/O를 사용하여 2개의 재생 시퀀스(play sequence)를 동시 재생할 때, 어떤 재생 시퀀스(play sequence)를 어떤 출력 채널(output channel)에 할당할 것인지를 광디스크 장치가 결정한다.
number_of_play_lists에는 이러한 재생 시퀀스(play sequence)에서 사용되고 있는 play_list의 수가 기록된다. 이러한 예에서는 값은 1로 된다. play_list_start_time_stamp_offset에서는 재생 시퀀스(play sequence)의 개시 시각에서 개시하는 타이머(timer)로 카운트하는 재생 시퀀스(play sequence) 내에서 시간이 기록된다. 이러한 값이 재생 목록(play list)의 개시 시각으로 된다. 프로그램에서는 재생 시퀀스(play sequence) 내에 재생 목록(play list)은 1개밖에 존재해서는 안 된다. 시각의 단위계는 90kHz이다(1/90000초가 시각의 최소 단위이다). stuffing_bytes에는 스터핑 바이트(stuffing의 bytes)가 기록된다. 이의 길이는 8xn bit(n〉= 0)으로 된다.
다음에 불연속점 플래그에 관해서 더욱 설명한다. 여기서 불연속점 플래그란 도 19의 playlist()의 seamless_connection_flag 또는 도 37에 도시한 인덱스 형(index type) 8(non-seamless인 재생점인 것을 나타내는 mark)로서 기록되는 마크를 의미한다.
seamless_connection_flag의 값 0은 도 46에 도시된 바와 같이 직전의 재생 항목(play item)과의 연속재생(심리스 재생)이 보증되어 있지 않거나 명확하지 않은 것을 의미하며 당해 값 1은 심리스 재생이 보증되어 있는 것을 의미한다.
즉, 도 47에 도시된 바와 같이 이러한 플래그가 0인 경우에는 소정의 재생 항목(play item)이 직전의 재생 항목에서 연속하여 (화상 또는 음성을 도중에서 끊기게 하지 않는다) 재생하는 것이 보증되어 있다. 이에 대하여 이러한 플래그가 1인 경우에는 직전의 재생 항목이 종료한 후에 다음 재생 항목이 재생되기까지의 사이에 불연속부분이 발생하는 경우가 있는 것으로 된다.
다음에 도 48의 플로우 챠트를 참조하여 타이틀의 불연속점 플래그를 기록하는 처리를 설명한다. 최초에 단계(S1)에서 사용자는 입력부(14)를 조작하여 기록 대상으로 하는 타이틀을 지정한다. 이때에 단계(S2)에서 CPU(21)는 광디스크(1)에 단계(S1)로 지정된 타이틀을 기록할 때, 이러한 타이틀을 이미 기록되어 있기 직전의 타이틀에 대하여 연속하여 재생할 수 있는지의 여부를 판정한다. 이러한 판정은 판독 채널용 버퍼(6)의 용량(당해 용량의 데이터를 디코더(7)가 디코드하는 데 요하는 시간)과 타이틀간에 발생하는 처리시간을 비교하여 실시한다. 즉, 다음 타이틀을 재생하기까지의 사이에 판독 채널용 버퍼(6)가 비게 되어 버릴 때에는 연속 재생할 수 없다고 판정되어 비어있지 않게 될 때에는 연속 재생할 수 있다고 판정된다.
연속 재생할 수 없는 경우에는 단계(S3)에 진행하고 CPU(21)는 0SD 제어회로(9)를 제어하고 지금 기록이 지령된 타이틀은 이미 기록되어 있는 타이틀에 대하여 연속재생할 수 없으며 즉, 양자간에는 불연속점이 발생하는 것을 나타내는 메시지를 발생시킨다. 이러한 메시지는 합성회로 8로부터 출력단자 P1을 통해 디스플레이에 표시된다.
사용자는 이러한 메시지를 보고 불연속점의 발생을 승낙하는지의 여부를 입력부(14)를 조작하여 입력한다. 사용자가 불연속점의 발생을 승낙하는 경우, CPU(21)는 단계(S5)에서 도 16의 title info()중의 마크 형태(mark type)에 도 37에 도시한 마크중에서 불연속점을 나타내는 인덱스로서 인덱스 형태(index type) 8을 설정시키는 동시에 불연속점을 발생시키는 위치를 도 16의 mark_chunk_group_time_stamp에 설정하는 처리를 실행한다. 또한 이러한 mark_chunk_group_time_stamp에 기록하는 위치(불연속점을 발생시키는 위치)는 임의의 위치로 할 수 있다. 따라서, 통상적으로 불연속점이 발생하여도 영향이 적은 점(예를 들면, 다음 타이틀의 선두 또는 전의 title의 최후)이 여기에 기록된다.
그리고, 이러한 설정이 수행되는 title info()는 RAM(24)로부터 기입 채널용 버퍼(11)에 공급되며 기억한 다음, 소정의 타이밍으로 여기에서 판독하고 스위치(5), ECC 회로(4), RF 및 복조/변조 회로(3) 및 광 헤드(2)를 개재시켜 광디스크(1)에 공급하여 기록한다.
다음에 단계(S6)로 진행하고 CPU(21)는 타이틀 내에 그 외에서도 연속하여 재생할 수 없는 점이 존재하는지의 여부를 판정하고 재생 불연속점이 그 외에도 존재하는 경우에는 단계(S3)로 복귀하고 그 이후의 처리를 반복 실행한다. 타이틀 내에 재생 불연속점이 그 외에는 존재하지 않는다고 판정되는 경우, 처리는 종료된다.
한편, 단계(S4)에서 사용자가 불연속점의 발생을 승낙하지 않는 취지를 입력하는 경우, 단계(S7)로 진행하고 CPU(21)는 디스크 위의 타이틀의 기록 위치를 변경함으로써 대상으로 하는 2개의 타이틀 사이가 연속 재생할 수 있게 되는지 여부를 판정한다. 타이틀의 기록 위치를 변경함으로써 주목하고 있는 장소가 연속 재생할 수 있다고 판정하는 경우, CPU(21)는 단계(S8)로 진행하고 주목하고 있는 장소가 연속 재생할 수 있게 되도록 타이틀 일부의 디스크 위에서의 기록 위치를 변경한 다음, 단계(S6)로 진행한다.
단계(S7)에서 타이틀의 기록위치를 변경할 수 없다고 판정되는 경우, 단계(S5)로 진행하고 상기한 바와 같이 mark_type으로서 불연속점이 기록되는 동시에 불연속점의 발생 위치가 mark_chunk_group_time_stamp 에 기록된다.
이러한 처리 후에 단계(S1)에서 지정하는 title의 기록 처리가 실행된다. 또는 title의 기록 후에 이러한 처리를 실행할 수 있다.
다음에 도 49의 플로우 챠트를 참조하여 프로그램 작성 시에 불연속점 플래그을 기록하는 경우의 처리에 관해서 설명한다. 최초에 단계(S21)에서 사용자는 입력부(14)를 조작하여 프로그램에 포함시키는 타이틀을 지정한다. 이러한 지정이 수행될 때, 단계(S22)에서 CPU(21)는 단계(S21)로 지정된 타이틀 중의 필요한 부분을 재생 개시점 및 재생 종료점에서 지정한다. CPU(21)는 이러한 지정에 대응하여 play item(도 20)을 작성한다.
다음에 단계(S23)에서 CPU(21)는 직전의 재생 항목과의 사이에서 연속 재생할 수 있는지의 여부를 판정하고 (이러한 판정도 재생 항목과 재생 항목 사이에 발생하는 처리 시간과 판독 채널용 버퍼(6)의 용량(당해 용량의 디코드 시간)의 비교에 기초하여 수행된다) 연속 재생할 수 없는 경우에는 단계(S24)로 진행하고 0SD 제어회로(9)를 제어하고 불연속점이 발생하는 것을 메시지로 표시시킨다. 이러한 메시지에 대하여 사용자는 입력부(14)를 조작하여 불연속점의 발생을 승낙하는지의 여부를 입력한다. 거기서 CPU(21)는 단계(S25)에서 사용자가 불연속점의 발생을 승낙하는지의 여부를 판정하고 사용자가 불연속점의 발생을 승낙한다고 판정하는 경우에는 단계(S26)로 진행하고 이러한 play item의 seamless_connection_flag를 0으로 설정한다. 도 46을 참조하여 설명한 바와 같이 이러한 플래그가 0이라는 것은 연속재생이 보증되지 않는 것을 의미한다.
다음에 단계(S27)로 진행하고 CPU(21)는 프로그램의 작성 처리가 종료하는지의 여부를 판정하고 아직 종료되지 않는다고 판정하는 경우에는 단계(S23)로 복귀하고 그 이후의 처리를 반복 실행한다. 단계(S27)에서 program의 작성 처리를 종료한다고 판정하는 경우, 처리는 종료된다,
한편, 단계(S25)에서 사용자가 불연속점의 발생을 승낙하지 않는다고 판정하는 경우, 단계(S28)로 진행하고 CPU(21)는 대상으로 하는 스트림의 광디스크(1)위의 기록 위치(배치 위치)를 변경하거나 부분적 재기록이 가능한지의 여부를 판정한다. 스트림의 재배치 처리 또는 부분적 재기록을 할 수 있는 경우에는 단계(S29)로 진행하고 CPU(21)는 기록 위치를 연속 재생할 수 있는 위치로 변경하는 처리를 실행한다. 그리고, 이러한 경우에는 단계(S30)에서 CPU(21)는 이러한 재생 항목(play item)의 seamless_connection_flag를 1에 설정한다. 도 46을 참조하여 설명한 바와 같이 이러한 플래그의 1은 연속 재생이 보증되는 것을 의미한다. 다음에 단계(S27)로 진행하고 그 이후의 처리가 실행된다.
단계(S28)에서 스트림의 재배치 처리 또는 부분적 재기록을 할 수 없다고 판정하는 경우에는 단계(S26)로 진행하고 사용자가 불연속점의 발생을 승낙하는 경우와 동일한 처리가 실행된다.
단계(S23)에서 직전의 재생 항목과의 사이에서 연속 재생할 수 있다고 판정하는 경우에는 단계(S30)로 진행하고 즉시, 이러한 재생 항목의 seamless_connection_flag에 1이 설정된다.
다음에 도 48을 참조하여 설명한 바와 같이 타이틀에 불연속점 플래그가 기록되는 경우에 이의 재생이 지령될 때의 처리에 관해서 도 50의 플로우 챠트를 참조하여 설명한다. 최초로 단계(S41)에서 CPU(21)는 지정된 타이틀의 불연속점 플래그를 판독한다. 단계(S42)에서 CPU(21)는 타이틀의 재생 처리를 개시하고 단계(S43)에서 재생을 개시하는 타이틀이 종료되는지의 여부를 판정한다. 타이틀의 재생이 종료되지 않는 경우에는 단계(S44)로 진행하고 CPU(21)는 불연속점 플래그로 표시되는 위치(mark_chunk_group_time_stamp)가 재생되는지의 여부를 판정하고 아직 재생되고 있지 않다고 판정되는 경우에는 단계(S43)로 되돌아간다.
단계(S44)에서 불연속점 플래그로 표시되는 위치가 재생된다고 판정하는 경우, 단계(S45)로 진행하고 CPU(21)는 플레이어(지금의 경우, 광디스크 장치)가 후속부분의 연속재생을 위해 갭이 필요한지의 여부를 판정한다. 이러한 판정은 판독 채널용 버퍼(6)에 그 시점에서 기억되는 데이터량(당해 데이터량을 디코더(7)이 디코드하는 데 요하는 시간)에 기초하여 수행된다. 이러한 데이터량이 충분한 경우에는 갭은 불필요하다고 판정되며 이러한 데이터량이 불충분한 경우에는 갭이 필요하다고 판정된다. 이러한 광디스크 장치가 후속 부분의 연속 재생을 위해 갭이 필요하지 않은 경우(판독 채널용 버퍼(6)에 데이터가 충분하게 기억되어 있는 경우)에는 단계(S43)로 복귀하고 그 이후의 처리가 반복 실행된다.
이에 대하여 단계(S45)에서 광디스크 장치가 후속 부분의 재생을 위해 갭이 필요하다고 판정되는 경우(판독 채널용 버퍼(6)에 데이터가 충분하게 기억되지 않은 경우), 단계(S46)로 진행하고 CPU(21)는 갭을 발생시킨다. 즉, CPU(21)는 판독 채널용 버퍼(6)에 대한 데이터의 기입은 그대로 계속시키지만 디코더(7)에 대한 당해 판독은 중단시켜 판독 채널용 버퍼(6)의 데이터량을 증가시킨다. 그리고, 단계(S47)로 진행하고 후속 부분의 연속 재생을 할 수 있게 하는지의 여부를 판정하여 아직 할 수 있게 되어 있지 않은 경우에는 단계(S46)로 복귀하고 갭 발생 처리를 계속시킨다.
상기와 같이 하여 소정량의 데이터가 판독 채널용 버퍼(6)에 기입되고 단계(S47)에서 후속 부분의 연속 재생을 할 수 있는 상태가 되었다고 판정하는 경우, 단계(S48)로 진행하고 CPU(21)는 다시 재생을 계속(디코더(7)에 따른 디코드를 재개)시킨다. 다음에 단계(S43)로 복귀하고 그 이후의 처리가 반복 실행된다.
한편, 단계(S43)에서 타이틀이 종료된다고 판정하는 경우, 단계(S49)로 진행한 다음에 재생되는 타이틀이 존재하는지의 여부를 CPU(21)는 판정한다. 다음에 재생하는 타이틀이 존재하지 않는 경우에는 처리는 종료된다. 이에 대하여 다음에 재생되는 타이틀이 존재한다고 판정되는 경우에는 단계(S50)로 진행하고 CPU2l은 이전 타이틀의 최후에 불연속 플래그가 존재하는지의 여부를 판정한다. 이전에 재생한 타이틀의 최후에 불연속 플래그가 존재한다고 판정되는 경우, 단계(S51)로 진행하고 CPU(21)는 플레이어(광디스크 장치)는 다음 타이틀의 재생을 위해 갭이 필요한지의 여부를 판정한다. 갭이 필요하다고 판정되는 경우, 단계(S52)로 진행하고 CPU(21)는 갭 발생처리를 실행하고 단계(S53)에서 다음 title의 재생을 할 수 있게 되는지의 여부를 판정하고 할 수 없게 되는 경우에는 단계(S52)로 복귀하며 갭 발생처리를 반복 실행한다.
단계(S53)에서 다음 타이틀의 연속 재생을 할 수 있게 된다고 판정하는 경우, 단계(S41)에 복귀하며 그 이후의 처리가 반복 실행된다.
단계(S50)에서 이전 타이틀의 최후에 불연속 플래그가 존재하지 않는다고 판정되는 경우, 단계(S41)로 복귀하고 그 이후의 처리가 실행된다. 또한, 이전 title 의 최후에 불연속 플래그가 존재한다고 해도 단계(S51)에서 광디스크 장치가 다음 title의 재생을 위해 갭이 필요하지 않다고 판정되는 경우(예를 들면, 당해 광디스크 장치의 판독 채널용 버퍼(6)의 용량이 충분하게 큰 경우 등)에는 단계(S41)로 복귀하고 그 이후의 처리가 실행된다.
다음에 도 49에 도시된 바와 같이 하여 프로그램이 작성된 경우에 이러한 프로그램의 재생이 지령될 때의 처리에 관해서 도 51의 플로우 챠트를 참조하여 설명한다.
최초에 단계(S61)에서 CPU(21)는 지정된 프로그램을 구성하는 최초의 재생 항목을 재생한다. 단계(S62)에서 CPU2l은 재생 항목의 재생이 종료한지의 여부를 판정하고 아직 종료되지 않는 경우에는 종료할 때까지 대기한다.
단계(S62)에서 재생 항목의 재생이 종료된다고 판정하는 경우, CPU(21)는 단계(S63)로 진행하며 다음 재생 항목이 존재하는지의 여부를 판정한다. 다음 재생 항목이 존재한다고 판정되는 경우, 단계(S64)로 진행하며 CPU(21)는 다음 재생 항목의 seamless_connection_flag가 0인지 여부를 판정한다. 이러한 플래그가 0이라고 판정되는 경우(심리스 재생이 보증되지 않은 경우), 단계(S65)로 진행하며 CPU(21)는 광디스크 장치가 다음 재생 항목의 재생을 위해 갭이 필요한지의 여부를 판정하고 갭이 필요한 경우에는 단계(S66)로 진행하여 갭 발생 처리를 실행한다. 그리고, 단계(S67)에서 다음 재생 항목을 재생할 수 있는 상태가 되는지의 여부를 판정하고 아직 할 수 있는 상태로 되어 있지 않은 경우에는 단계(S66)로 복귀하며 갭 발생 처리를 반복 실행한다.
단계(S67)에서 다음 재생 항목을 재생할 수 있는 상태가 되었다고 판정하는 경우(판독 채널용 버퍼(6)에 충분한 양의 데이터가 기입되는 경우), 단계(S68)로 진행하며 CPU(21)는 다음 재생 항목의 재생 처리를 개시한다. 다음에 단계(S62)로 복귀하고 그 이후의 처리가 반복 실행된다.
단계(S64)에서 다음 재생 항목의 seamless_connection_flag가 0이 아니라고 판정하는 경우(1이라고 판정하는 경우)이거나 또한 단계(S65)에서 광디스크 장치가 다음 재생 항목 재생을 위해 갭이 필요하지 않다고 판정되는 경우, 단계(S66)와 단계(S67)의 처리는 스킵되며 단계(S68)로 진행한다. 그리고, 다음 재생 항목의 재생이 개시되고 다음에 단계(S62)로 복귀한다.
상기에서는 본 발명을 광디스크 장치에 응용하는 경우를 예로서 설명하며 본 발명은 그 밖의 기록매체에 정보를 기록하거나 재생하는 경우에도 적용할 수 있다.
또한, 상기와 같은 처리를 수행하는 컴퓨터 프로그램을 사용자에게 제공하는 제공 매체로서는 자기 디스크, CD-R0M, 고체 메모리 등의 기록매체 이외에 네트웍, 위성 등의 통신매체를 이용할 수 있다.
상기와 같이 제 1항에 기재된 기록 재생장치, 제 4항에 기재된 기록 재생방법 및 제 5항에 기재된 제공 매체에 따르면 데이터를 이미 기록되어 있는 데이터에 대하여 연속하여 재생할 수 있는지의 여부를 판정하고 이의 판정 결과에 대응하여 연속 재생에 관한 처리를 실행하도록 하므로 호환성을 확보할 수 있는 기록매체를 실현할 수 있다.
제 6항에 기재된 기록 재생장치, 제 7항에 기재된 기록 재생방법 및 제 8항에 기재된 제공 매체에 따르면 기록매체로부터 추출된 연속 재생정보에 대응하여 갭을 부가하도록 하므로 기록 재생장치의 버퍼의 용량의 차이에 불구하고 호환성을 확보할 수 있다. 따라서, 사용자가 장치의 고장으로 오인하는 것을 억제할 수 있다.

Claims (8)

  1. 기록매체에 대하여 데이터를 기록 또는 재생하는 기록 재생장치에 있어서,
    상기 데이터를 상기 기록매체에 대하여 기록하는 기록수단과,
    상기 데이터를 상기 기록매체에 기록하였을 때, 그 데이터를 이미 기록되어 있는 데이터에 대하여 연속하여 재생 가능한지의 여부를 판정하는 판정수단과,
    상기 판정수단의 판정 결과에 대응하여, 데이터의 연속 재생에 관한 처리를 실행하는 실행수단을 구비하는 것을 특징으로 하는 기록 재생장치.
  2. 제 1항에 있어서, 상기 실행수단은, 상기 판정수단이, 상기 연속 재생이 불가능하다고 판정하였을 때, 상기 데이터의 기록위치를 변경하는 것을 특징으로 하는 기록 재생장치.
  3. 제 1항에 있어서, 상기 실행수단은, 상기 판정수단이, 상기 연속 재생이 불가능다고 판정하였을 때, 연속 재생이 불가능한 것을 나타내는 연속 재생 정보를 상기 기록매체에 기록하는 것을 특징으로 하는 기록 재생장치.
  4. 기록매체에 대하여 데이터를 기록 또는 재생하는 기록 재생장치의 기록 재생방법에 있어서,
    상기 데이터를 상기 기록매체에 대하여 기록하는 기록 단계와,
    상기 데이터를 상기 기록매체에 기록하였을 때, 그 데이터를 이미 기록되어 있는 데이터에 대하여 연속하여 재생 가능한지의 여부를 판정하는 판정 단계와,
    상기 판정 단계에서의 판정 결과에 대응하여, 데이터의 연속 재생에 관한 처리를 실행하는 실행 단계를 포함하는 것을 특징으로 하는 기록 재생방법.
  5. 기록매체에 대하여 데이터를 기록 또는 재생하는 기록 재생장치에,
    상기 데이터를 상기 기록매체에 대하여 기록하는 기록 단계와,
    상기 데이터를 상기 기록매체에 기록하였을 때, 그 데이터를 이미 기록되어 있는 데이터에 대하여 연속하고 재생 가능한지의 여부를 판정하는 판정 단계와,
    상기 판정 단계에서의 판정 결과에 대응하여, 데이터의 연속 재생에 관한 처리를 실행하는 실행 단계를 포함하는 처리를 실행시키는 프로그램을 제공하는 것을 특징으로 하는 제공매체.
  6. 기록매체에 대하여 데이터를 기록 또는 재생하는 기록 재생장치에 있어서,
    상기 기록매체에 기록되어 있는 데이터를 재생하는 재생수단과,
    상기 재생수단에 의해 재생된 데이터로부터, 상기 데이터의 연속 재생이 가능한지의 여부를 나타내는 연속 재생 정보를 추출하는 추출수단과,
    상기 추출수단에 의해 추출된 상기 연속 재생 정보에 대응하여, 상기 재생수단에 의해 재생된 데이터에 대하여 갭을 부가하는 부가수단을 구비하는 것을 특징 으로 하는 기록 재생장치.
  7. 기록매체에 대하여 데이터를 기록 또는 재생하는 기록 재생장치의 기록 재생방법에 있어서,
    상기 기록매체에 기록되어 있는 데이터를 재생하는 재생 단계와,
    상기 재생 단계에서 재생된 데이터로부터, 상기 데이터의 연속 재생이 가능한지의 여부를 나타내는 연속 재생 정보를 추출하는 추출 단계와,
    상기 추출 단계에서 추출된 상기 연속 재생 정보에 대응하여, 상기 재생 단계에서 재생된 데이터에 대하여 갭을 부가하는 부가 단계를 포함하는 것을 특징으로 하는 기록 재생방법.
  8. 기록매체에 대하여 데이터를 기록 또는 재생하는 기록 재생장치에,
    상기 기록매체에 기록되어 있는 데이터를 재생하는 재생 단계와,
    상기 재생 단계에서 재생된 데이터로부터, 상기 데이터의 연속 재생이 가능한지의 여부를 나타내는 연속 재생 정보를 추출하는 추출 단계와,
    상기 추출 단계에서 추출된 상기 연속 재생 정보에 대응하여, 상기 재생 단계에서 재생된 데이터에 대하여 갭을 부가하는 부가 단계를 포함하는 처리를 실행시키는 프로그램을 제공하는 것을 특징으로 하는 제공매체.
KR1019990015589A 1998-04-30 1999-04-30 기록 재생장치 및 방법 및 제공매체 KR100565875B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP98-120393 1998-04-30
JP12039398A JP3997367B2 (ja) 1998-04-30 1998-04-30 記録再生装置および方法、並びに記録媒体

Publications (2)

Publication Number Publication Date
KR19990083631A KR19990083631A (ko) 1999-11-25
KR100565875B1 true KR100565875B1 (ko) 2006-03-31

Family

ID=14785104

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990015589A KR100565875B1 (ko) 1998-04-30 1999-04-30 기록 재생장치 및 방법 및 제공매체

Country Status (4)

Country Link
US (2) US6269063B1 (ko)
JP (1) JP3997367B2 (ko)
KR (1) KR100565875B1 (ko)
CN (2) CN100541636C (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7068918B1 (en) * 1998-05-01 2006-06-27 Samsung Electronics Co., Ltd. Recording medium for storing real time recording/reproduction information, method and apparatus for recording and reproducing in real time, and file operating method using the same
SG93201A1 (en) * 1998-05-01 2002-12-17 Samsung Electronics Co Ltd Recording medium for storing real time recording/reproduction information, method and apparatus for recording and reproducing in real time, and file operating method using the same
JP4328989B2 (ja) 1999-11-24 2009-09-09 ソニー株式会社 再生装置、再生方法、並びに記録媒体
JP4599740B2 (ja) * 2000-04-21 2010-12-15 ソニー株式会社 情報処理装置および方法、記録媒体、プログラム、並びに記録媒体
JP3898430B2 (ja) * 2000-09-18 2007-03-28 株式会社日立製作所 光記録装置およびそれに用いる光ディスク
US6552975B1 (en) * 2000-10-10 2003-04-22 Roxio, Inc. Methods for establishing recording rates of optical media recorders
US20020156912A1 (en) * 2001-02-15 2002-10-24 Hurst John T. Programming content distribution
CN101430911A (zh) * 2001-06-15 2009-05-13 夏普株式会社 数据记录方法和数据解码方法
JP3539414B2 (ja) 2001-09-25 2004-07-07 株式会社日立製作所 情報記録装置
US7808905B2 (en) * 2001-09-27 2010-10-05 Panasonic Corporation Transmission method, sending device and receiving device
TW200300928A (en) * 2001-11-30 2003-06-16 Sony Corportion Information processing method and apparatus, program storage medium, program and information recording medium
US20030190150A1 (en) * 2002-02-21 2003-10-09 Masahiro Kawasaki Record/playback device and related computer program
JP3675464B2 (ja) * 2003-10-29 2005-07-27 ソニー株式会社 動画像符号化装置および動画像符号化制御方法
JP4106662B2 (ja) * 2003-11-17 2008-06-25 ソニー株式会社 情報記録再生装置および方法、プログラム格納媒体、並びにプログラム
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
JP4676492B2 (ja) * 2005-04-07 2011-04-27 パナソニック株式会社 記録媒体、再生装置、記録方法
JP4484764B2 (ja) * 2005-05-19 2010-06-16 株式会社日立製作所 光ディスク記録装置
JP4552889B2 (ja) 2006-05-10 2010-09-29 ソニー株式会社 記録装置、記録方法および記録プログラム、ならびに、撮像装置および撮像方法
CN101118776B (zh) * 2007-08-21 2012-09-05 中国科学院计算技术研究所 实现音、视频数据同步的方法、系统及装置
EP2223232A4 (en) 2007-11-16 2015-02-25 Sonic Ip Inc Hierarchical and reduced index structures for multimedia files
JP4915412B2 (ja) * 2008-12-01 2012-04-11 ソニー株式会社 記録装置および方法、再生装置および方法、並びに記録媒体
JP5557057B2 (ja) * 2011-12-07 2014-07-23 ソニー株式会社 記録媒体
CN103617240B (zh) * 2013-11-26 2018-01-16 广东欧珀移动通信有限公司 一种多音频文件的处理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08147877A (ja) * 1994-11-22 1996-06-07 Matsushita Electric Ind Co Ltd 情報記録方法及び情報記録装置
JPH0951505A (ja) * 1995-05-30 1997-02-18 Sanyo Electric Co Ltd 記録媒体再生装置、再生方法、記録方法、及び記録装置
US5745645A (en) * 1995-09-29 1998-04-28 Matsushita Electric Industrial Co., Ltd. Method and an apparatus for encoding telecine-converted video data for seamless connection

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0265167B1 (en) * 1986-10-15 1997-01-02 Pioneer Electronic Corporation Disk player with disk magazine
US5235578A (en) * 1987-09-30 1993-08-10 Deutsche Thomson-Brandt Gmbh Method for reducing access time in a CD-player with a memory by storing compressed index data
JPH07312531A (ja) * 1994-05-19 1995-11-28 Uro Denshi Kogyo Kk 広帯域分岐分配器
GB2294173B (en) 1994-10-11 1998-12-09 Mitsubishi Electric Corp Disk media, and method of and device for recording and playing back information on or from a disk media
US6009433A (en) * 1995-04-14 1999-12-28 Kabushiki Kaisha Toshiba Information storage and information transmission media with parental control
TW335480B (en) * 1995-09-29 1998-07-01 Matsushita Electric Ind Co Ltd Method and apparatus for encoding a bistream for multi-angle connection
JP3922592B2 (ja) * 1995-09-29 2007-05-30 松下電器産業株式会社 記録方法
TW305043B (ko) * 1995-09-29 1997-05-11 Matsushita Electric Ind Co Ltd
KR100277668B1 (ko) * 1995-10-09 2001-03-02 모리시다 요이치 국가마다 다른 등급 시스템에 대응하는 멀티미디어광디스크와 그 재생장치 및 재생방법
EP0935249B1 (en) * 1996-04-12 2006-05-24 Matsushita Electric Industrial Co., Ltd. Multimedia optical disc storing both video titles provided with AV functions and video titles with no such functions which can instantly distinguish between such kinds of titles, and a reproduction apparatus and reproduction method for such disc
US5945953A (en) * 1997-04-30 1999-08-31 Sony Corporation Retractable antenna assembly for a portable radio apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08147877A (ja) * 1994-11-22 1996-06-07 Matsushita Electric Ind Co Ltd 情報記録方法及び情報記録装置
JPH0951505A (ja) * 1995-05-30 1997-02-18 Sanyo Electric Co Ltd 記録媒体再生装置、再生方法、記録方法、及び記録装置
US5745645A (en) * 1995-09-29 1998-04-28 Matsushita Electric Industrial Co., Ltd. Method and an apparatus for encoding telecine-converted video data for seamless connection

Also Published As

Publication number Publication date
JPH11317014A (ja) 1999-11-16
KR19990083631A (ko) 1999-11-25
US6424607B2 (en) 2002-07-23
US20010033533A1 (en) 2001-10-25
CN1270315C (zh) 2006-08-16
CN1235347A (zh) 1999-11-17
US6269063B1 (en) 2001-07-31
CN100541636C (zh) 2009-09-16
CN1873812A (zh) 2006-12-06
JP3997367B2 (ja) 2007-10-24

Similar Documents

Publication Publication Date Title
KR100565875B1 (ko) 기록 재생장치 및 방법 및 제공매체
EP1103974B1 (en) Recording/reproduction apparatus and method as well as recording medium
KR100606150B1 (ko) 기록 장치 및 방법, 재생 장치 및 방법,기록/재생 장치 및 방법, 및 기록 매체
EP1536421B1 (en) Recording apparatus for recording a selected program on the removable recording medium where the reservation information has been stored
JPH1196730A (ja) 光ディスク及びその編集装置、再生装置
KR100565874B1 (ko) 기록 재생 장치 및 방법, 제공 매체 및 기록 매체
EP0917149A2 (en) Information processing apparatus, information processing method, presentation medium and recording medium
JP2000021130A (ja) 情報処理装置および方法、記録媒体、並びに提供媒体
KR19990083458A (ko) 기록재생장치와방법,제공매체및기록매체
JP3787827B2 (ja) 記録装置および方法、再生装置および方法、記録再生装置および方法、並びに提供媒体
US6339572B1 (en) Recording apparatus, recording method, playback apparatus, playback method, recording/playback apparatus, recording/playback method, recording medium and presentation medium
JP4135109B2 (ja) 記録装置および記録方法、並びに記録媒体
US20010028786A1 (en) Recording apparatus and method, reproducing apparatus and method, recording /reproducing apparatus and method, storage medium and program offering medium
JP2007250180A (ja) 記録再生装置および方法、並びに記録媒体
JP2000137940A (ja) 記録装置および方法、再生装置および方法、記録再生装置および方法、記録媒体、並びに提供媒体
JP2000137973A (ja) 記録装置および方法、再生装置および方法、記録再生装置および方法、記録媒体、並びに提供媒体

Legal Events

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

Payment date: 20130315

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140314

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee