[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR101470961B1 - 재생장치, 기록방법 - Google Patents

재생장치, 기록방법 Download PDF

Info

Publication number
KR101470961B1
KR101470961B1 KR1020097000659A KR20097000659A KR101470961B1 KR 101470961 B1 KR101470961 B1 KR 101470961B1 KR 1020097000659 A KR1020097000659 A KR 1020097000659A KR 20097000659 A KR20097000659 A KR 20097000659A KR 101470961 B1 KR101470961 B1 KR 101470961B1
Authority
KR
South Korea
Prior art keywords
stream
file
additional content
recorded
recording medium
Prior art date
Application number
KR1020097000659A
Other languages
English (en)
Other versions
KR20100017084A (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 KR20100017084A publication Critical patent/KR20100017084A/ko
Application granted granted Critical
Publication of KR101470961B1 publication Critical patent/KR101470961B1/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/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B20/1254Formatting, e.g. arrangement of data block or words on the record carriers on discs for mixed data, i.e. continuous and discontinuous 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/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • 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/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00094Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised record carriers
    • G11B20/00115Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised record carriers wherein the record carrier stores a unique medium identifier
    • 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/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00166Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software
    • G11B20/00173Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software wherein the origin of the content is checked, e.g. determining whether the content has originally been retrieved from a legal disc copy or another trusted source
    • 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/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/11Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information not detectable on the record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • 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/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/93Regeneration of the television signal or of selected parts thereof
    • 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/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B2020/1218Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc
    • G11B2020/1224Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc extent, i.e. a set of sectors which numbers form a continuous ascending sequence
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1291Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting serves a specific purpose
    • G11B2020/1292Enhancement of the total storage capacity
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/213Read-only discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/60Solid state media
    • G11B2220/61Solid state media wherein solid state memory is used for storing A/V content

Landscapes

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

Abstract

재생장치는 BD-ROM에서의 구성요소와 리무버블 미디어에서의 추가콘텐츠를 조합시켜서 가상패키지를 구축한다. 재생장치에서의 미들웨어는 애플리케이션 프로그램으로부터의 요구에 따라서 리무버블 미디어에 대한 데이터 입출력을 제어하는 파일 I/O모듈(34)을 구비한다. 파일 I/O모듈(34)은 가상패키지의 구성요소의 기록이 BD-J 애플리케이션으로부터 요구된 경우, 기록할 추가콘텐츠가 AV 스트림 형식이면 리무버블 미디어에서의 연속하는 복수의 비어 있는 논리블록으로 구성되는 할당유닛에 당해 구성요소를 기록한다. AV 스트림 형식이 아니면 리무버블 미디어에서의 연속하고 있지 않은 복수의 빈 블록으로 구성되는 통상 데이터영역에 당해 추가콘텐츠를 기록한다.
콘텐츠, 추가콘텐츠, 가상패키지, 기록, AV 스트림, 연속, 비 연속

Description

재생장치, 기록방법{REPRODUCING APPARATUS, RECORDING METHOD}
본 발명은 가상패키지 기술분야에 속하는 발명이다.
가상패키지(virtual package)는 BD-ROM 등의 판독 전용형 기록매체에 기록되어 있는 데이터와, 반도체 메모리카드, 하드디스크 등의 재기록형의 기록매체에 기록되어 있는 데이터를 동적으로 조합하여 가상적인 패키지를 구축함으로써 판독 전용형 기록매체의 내용 확장을 도모하는 기술이다. 이와 같은 기술에서는 재기록 가능한 하드디스크에 기록되어 있는 데이터를 갱신함으로써 BD-ROM을 반포한 후에도 작품 내용의 변경의 여지를 남길 수 있다. 예를 들어, 영화작품의 공급자는 작품 본체를 기록한 BD-ROM을 반포한 후에도 공개 전의 다른 작품의 예고편 디지털 스트림을 네트워크를 통해서 제공함으로써 BD-ROM의 반포 시기에 관계없이 사용자에 대하여 항상 최신의 작품을 선전할 수 있다.
가상패키지에 대한 선행기술로는 이하의 특허문헌 1, 2, 3에 기재된 것이 있다.
특허문헌 1 : 일본국 특개 2006-109494호
특허문헌 2 : 일본국 특개 2007-20211호
특허문헌 3 : 일본국 특개 2006-33067호
그런데 가상패키지 구축을 위한 추가콘텐츠를 저장하는 곳으로 장기간에 걸쳐서 재기록 가능한 기록매체를 사용하고 있으면, 재기록 가능한 기록매체에는 많은 추가콘텐츠가 기록된다. 추가콘텐츠는 그 진부화에 따라서 삭제된다고 하는 운명이 된다. 재기록 가능한 기록매체의 용량은 제한되어 있는 경우가 많고, 새로운 추가콘텐츠의 기록시에는 삭제에 의해 얻어진 빈 영역을 기록 처로 하는 것이 바람직하다. 이와 같이, 재기록 가능한 기록매체에 기록시에 삭제에 의해서 얻어진 빈 영역을 기록 처로 선택하므로 프레그멘테이션(fragmentation)이 발생한다. 여기서 가상패키지 구축을 위한 추가콘텐츠에는 사이즈가 큰 AV 스트림 형식의 것이나 작은 사이즈의 비(非) AV 스트림 형식의 것이 혼재되어 있다. 이들 중 AV 스트림 형식의 추가콘텐츠가 분할되어서 각각의 분할부분이 재기록 가능한 기록매체 상의 복수의 영역에 분산되어 배치된 경우, AV 스트림의 판독에는 분산되어 배치된 분할부분을 판독하여 원래의 AV 스트림을 복원할 필요가 있다. 분산되어 배치된 분할부분의 판독에는 재기록 가능 형의 기록매체에서 데이터를 판독하기 위한 버스트(burst) 적인 전송을 복수 회로 나누어서 실행할 필요가 있다. 일반적으로 버스트 전송의 실행에는 판독처 어드레스의 설정이나 커맨트 발행 등의 오버헤드(overhead)가 발생한다. 여기서, AV 스트림이 분산되어 기록되었으므로, AV 스트림의 판독을 위한 버스트 전송을 복수 회로 나누어서 실행하려고 하면, 이 판독처 어드레스의 설정 횟수가 증가하게 되어서 AV 스트림의 판독시에 오버헤드가 증대하므로, 오버헤드의 영향을 무시할 수 없게 된다. 그렇게 하면 AV 스트림의 판독성능 이 저하하여, 재생 영상이 매끄럽게 흐르지 않는(영상이 떨리는) 등의 지장이 발생하게 된다.
여기서, 프레그멘테이션의 발생을 억제하기 위해서 추가콘텐츠를 기록함에 있어서는, 4M바이트 등 어떤 크기의 용량을 갖는 연속영역을 확보하여, 확보된 연속영역에 추가콘텐츠를 기록하는 것도 생각할 수 있다. 그러나 가상패키지 구축을 위해서 필요한 추가콘텐츠에는 AV 스트림보다 비 AV 스트림의 추가콘텐츠 쪽이 압도적으로 수가 많고, 추가콘텐츠 기록을 위해서 연속영역을 할당하여도 실제로 사용되는 영역은 일부만이 되어서, 이용되지 않는 미사용 영역이 증가해서 스토리지의 용량을 유효하게 활용할 수 없다고 하는 과제가 있다.
본 발명의 목적은 가상패키지의 구성요소에 AV 스트림 형식의 추가콘텐츠와 비 AV 스트림 형식의 추가콘텐츠가 혼재되어 있는 경우에도 AV 스트림 형식의 추가콘텐츠의 판독성능 저하를 방지하면서 스토리지 용량의 유효한 이용을 도모할 수 있는 재생장치를 제공하는 것이다.
상기 과제를 해결하기 위해, 재생장치는, 가상패키지(virtual package)를 재생하는 재생장치로, 제 1 기록매체가 장착된 때에, 애플리케이션으로부터의 요구에 따라서 상기 제 1 기록매체에 대응하는 추가콘텐츠를 장치 외부로부터 취득하는 취득수단과, 취득된 상기 추가콘텐츠를 상기 애플리케이션으로부터의 요구에 따라서 복수의 빈 블록을 갖는 상기 제 2 기록매체에 기록하는 제어수단과, 상기 제 1 기록매체에 기록된 콘텐츠와 상기 제 2 기록매체에 기록된 추가콘텐츠를 조합시킴으로써 상기 가상패키지를 구축하는 구축수단을 구비하며, 상기 기록요구는 상기 제 2 기록매체에의 기록에 이용되는 파일 패스를 상기 제어수단에 인도함으로써 이루어지고, 상기 제 2 기록매체에의 기록에 이용되는 파일 패스는 파일 명과 확장자의 지정을 포함하며, 상기 제어수단은, 기록할 추가콘텐츠에 대응하는 파일의 확장자가 규정된 문자 열인가 여부를 판정함으로써 상기 애플리케이션으로부터 요구에 따라서 제 2 기록매체에 기록할 추가콘텐츠가 AV 스트림인가 여부를 판정하고, 기록할 추가콘텐츠가 AV 스트림이면 상기 제 2 기록매체에서의 연속한 복수의 빈 블록(empty block)으로 구성되는 연속영역에 당해 추가콘텐츠를 기록하고, 상기 추가콘텐츠가 AV 스트림이 아니면 상기 제 2 기록매체에서의 연속하고 있지 않은 복수의 빈 블록 중 어디에 당해 추가콘텐츠를 기록하는 것을 특징으로 하고 있다.
1. 과제해결수단에 의한 효과
상기 재생장치에 의하면, 추가콘텐츠의 기록이 애플리케이션으로부터 요구된 경우, 기록할 추가콘텐츠가 AV 스트림이면 제 2 기록매체에서의 연속하는 복수의 빈 블록으로 구성되는 연속영역에 당해 추가콘텐츠를 기록하므로, AV 스트림은 연속영역에 클러스터(cluster)가 되도록 기록되고, 비 AV 스트림의 추가콘텐츠는 빈 블록의 어딘가에 기록되게 된다.
AV 스트림은 연속영역에 클러스터가 되도록 기록되므로, 한 번의 버스트 적인 전송에 의해 AV 스트림을 재기록 가능 형 기록매체로부터 메모리에 판독할 수 있다. 이렇게 함으로써 한 번의 버스트 적인 전송에 의해 AV 스트림을 판독하도록 하였으므로, 버스트 전송에 따른 오버헤드의 영향을 훨씬 작게 할 수 있고, 기록 레이트가 늦은 반도체 메모리카드나 그 외의 저속 자기기록매체가 제 2 기록매체로 채용된 경우에도 채용된 매체의 종별에 따라서 AV 재생의 품위에 차이가 발생하는 일은 없다.
또, 비 AV 스트림의 추가콘텐츠는 기록이 완료된 파일의 삭제에 의해서 발생한 어딘가의 영역에 기록해 가면 되므로, 비 AV 스트림의 추가콘텐츠에 대해서는 프레그멘테이션의 발생이 용인되게 된다. 이렇게 함으로써 제 2 기록매체의 용량 효율을 극단적으로 저하시키지는 않는다.
가상패키지 재생시의 AV 재생의 품위를 유지할 수 있으므로, 콘텐츠 개발자는 가상패키지로부터 재생되는 콘텐츠를 적극적으로 배포할 수 있다.
2. 연속영역의 특정
또, 가상패키지의 구축에 있어서 제 2 기록매체와 쌍이 되는 제 1 기록매체마다 연속영역이 확보되게 된다. 연속영역은 쌍이 되는 제 1 기록매체마다 배치되므로 AV 스트림의 기록 및 삭제가 반복됨에 따른 프레그멘테이션의 발생을 국소적으로 할 수 있다. AV 스트림의 기록에 연속영역을 사용함에 따른 기록효율의 저하는 국소적인 것이 되므로, 제 2 기록매체 전체로는 기록효율을 일정 수준으로 유지할 수 있다.
또, 추가콘텐츠 저장영역은 증명서의 식별자, 조직의 식별자, 매체의 식별자를 이용한 파일 패스에 의해 특정되므로, AV 스트림을 제공한 조직 및 AV 스트림의 증명에 이용하는 증명서의 차이마다 연속영역을 설치할 수 있다.
제 2 기록매체에 기록되어 있는 파일이 어느 제 1 기록매체에 대응하고 있는가는 제 2 기록매체에서의 연속영역에 대한 파일 패스를 참조함으로써 판별할 수 있다. 따라서, 가령 다양한 제 1 기록매체가 재생장치에 장전되었다고 해도, 제 2 기록매체에서의 파일 패스에 대응하는 제 1 기록매체가 재생장치에 장전되어 있는 경우에만 파일 패스를 이용한 파일 액세스를 실현하도록 제한을 부과할 수 있다.
3. 기록할 추가콘텐츠의 판별방법
삭제
이에 더하여, 애플리케이션이 단축된 파일명 및 확장자를 부여한 후에 파일을 제 2 기록매체에 기록하도록 하는 경우에도, 제어수단 측에서는 그 단축된 파일명 및 확장자 중 확장자만이 규정된 문자열인가 여부를 판정함으로써 연속영역에 기록할 AV 스트림인가 여부를 판별할 수 있다. 자유로운 파일명 및 확장자의 부여를 애플리케이션에 인정하면서도, AV 스트림에 대해서는 "규정된 문자열을 확장자로서 사용한다"는 약속사항을 지키면 정당하게 연속영역에 기록할 수 있게 된다.
기록시의 확장자의 부여만 정확하면 AV 스트림은 연속영역에 기록되게 되며, 제 2 기록매체로 채용되는 기록매체가 고속의 하드디스크라도 저속의 반도체 메모리카드라도 애플리케이션은 제 2 기록매체의 종별에 따라서 인수를 변화시킬 필요가 없으므로, 애플리케이션에서의 처리순서의 기재는 보다 단순한 것이 되며, 애플리케이션의 개발자에게 불필요한 부담을 주는 일은 없다.
삭제
삭제
삭제
삭제
이미 AV 스트림이 기록된 영역에 대해서는 다른 데이터가 기록되는 경우는 없으므로 연속영역의 이용은 배타적인 것이 된다. 이렇게 함으로써 연속영역에 추가콘텐츠를 기록하는 처리나 빈 영역으로 해방하는 처리는 연속영역마다 이루어지게 되며, 「하나의 연속영역에 대해서는 하나의 AV 스트림만이 기록된다」는 원칙을 철저히 지킬 수 있으므로, AV 스트림을 제 2 기록매체에 기록할 때의 프레그멘테이션의 발생을 피할 수 있다.
6. 기록 레이트
여기서, 반도체 메모리카드를 제 2 기록매체로 채용한 경우, 반도체 메모리카드에서는, 이미 데이터가 기록되어 있는 블록에 대해서는 일단 기록 처에 기록되어 있는 데이터를 소거하여 백지 상태로 되돌리고 나서 데이터 기록을 하지 않으면 안 된다. 많은 반도체 메모리카드에 내장되어 있는 NAND형이라 불리는 EEPROM에 있어서는 블록을 백지상태로 되돌린다고 하는 작업을 복수의 블록에 대하여 일괄해서 할 필요가 있으므로, 그와 같은 백지상태로 되돌린다고 하는 작업이 빈번하게 이루어지면 AV 스트림을 기록하기 위한 기록 레이트가 현저하게 저하한다. 그래서, 상기 제어수단에 의한 추가콘텐츠의 기록에는 추기(additional writing)와 오버라이트(overwrite)가 있고, 상기 제어수단은 상기 추가콘텐츠를 제 2 기록매체에 기록함에 있어서, 상기 8.3 형식의 파일시스템에서의 관리정보를 참조함으로써 상기 애플리케이션으로부터 요구된 기록이 추기인가 오버라이트인지의 판정을 하며, 상기 추기는 이미 제 2 기록매체에 기록되어 있는 기록이 완료된 데이터를 메모리에 판독한 다음, 제 2 기록매체에서 기록이 완료된 데이터를 소거하는 처리와, 메모리에 판독된 기록이 완료된 데이터와 기록할 추가콘텐츠를 일체로 한 상태에서 연속영역에 기록하는 처리에 의해 이루어지고, 상기 오버라이트는 제 2 기록매체에 이미 기록되어 있는 기록이 완료된 데이터를 소거하고, 기록할 추가콘텐츠를 연속영역에 기록하는 처리에 의해 이루어지는 것이 바람직하다.
연속영역에 대한 오버라이트나 추기에 있어서는 연속하는 복수의 블록마다 기록이 완료된 데이터의 소거를 하므로, NAND형이라 불리는 EEPROM에 있어서는 블록을 백지상태로 되돌린다고 하는 작업이 복수의 블록에 대하여 일괄로 이루어지게 된다. 이렇게 함으로써 AV 스트림 기록을 위한 기록 레이트의 저하를 초래하는 일은 없다.
7. 파일 패스의 형식
애플리케이션이 추가콘텐츠의 기록시에 이용하는 파일 패스는 이하의 것이 바람직하다. 즉, 상기 제 2 기록매체에는 증명서 식별자에 대응하는 디렉터리, 조직 식별자에 대응하는 디렉터리, 매체 식별자에 대응하는 디렉터리 세트가 존재하고, 상기 조직 식별자에 대응하는 디렉터리는 증명서 식별자에 대응하는 디렉터리의 하위에 존재하며, 상기 매체 식별자에 대응하는 디렉터리 세트는 조직 식별자에 대응하는 디렉터리의 하위에 존재하고, 상기 매체 식별자에 대응하는 디렉터리 세트는 계층화된 복수의 서브디렉터리로 이루어지며, 상기 추가콘텐츠 저장영역은 계층화된 복수의 서브디렉터리 중 최하층에 해당하는 서브디렉터리에 해당하는 것이 바람직하다.
가상패키지의 구축에 있어서, 제 1 기록매체에 부가된 증명서의 식별자, 조직의 식별자, 매체의 식별자를 이용한 인증을 실현하는 경우에도 이들 식별자와 엄밀하게 대응을 취하는 형식으로 파일은 제 2 기록매체에 기록되게 된다. 따라서, 가사 사용자가 많은 제 1 기록매체를 소지하고 있고, 이들 제 1 기록매체가 빈번하게 교체되었다고 해도, 정당한 제 1 기록매체가 재생장치에 장착되어 있는 경우에만 제 1 기록매체의 파일 패스를 이용한 파일 액세스가 실현되어서 가상패키지가 구축되게 된다.
8. 연속영역의 소재
연속영역의 소재는 이하에 배치하는 것이 바람직하다. 즉, 상기 매체 식별자에 대응하는 디렉터리 세트는 4개의 서브디렉터리로 계층화되어 있고, 상기 제 1 기록매체에 부가된 매체 식별자는 최대 32 문자의 문자열이며, 상기 매체 식별자에 대응하는 디렉터리 세트를 구성하는 서브디렉터리 각각에는 매체 식별자를 구성하는 최대 32 문자의 문자열을 분할함으로써 얻어진 8 문자 이하의 디렉터리 명이 부가되어 있는 것이 바람직하다.
제 1 기록매체 고유의 매체 식별자의 비트 길이가 긴 것이라고 해도, 관련 식별자를 구성하는 문자 중 의미가 있는 것을 생략하지 않고, 제 1 기록매체 고유의 매체 식별자와 제 2 기록매체 상의 디렉터리의 대응을 도모하므로, 제 2 기록매체에서의 디렉터리는 제 1 기록매체 고유의 매체 식별자와 엄밀하게 대응이 취해진 것이 된다.
도 1은 제 1 실시 예에서의 시스템 도이다.
도 2는 제 1 실시 예에서의 BD-ROM의 내부 구성을 나타내는 도면이다.
도 3은 제 1 실시 예에서의 BD-ROM이 대상으로 하고 있는 소프트웨어의 계층모델을 나타내는 도면이다.
도 4는 제 1 실시 예에서의 2개의 모드의 동적인 재생제어에 의해 작성되는 영화작품을 나타내는 도면이다.
도 5는 제 1 실시 예에서의 재생장치의 내부 구성을 나타내는 도면이다.
도 6은 리무버블 미디어인 SD 메모리카드의 내부 구성을 나타내는 도면이다.
도 7은 통상 데이터영역, 연속 데이터영역의 일례를 나타내는 도면이다.
도 8은 리무버블 미디어인 SD 메모리카드의 파일시스템 영역의 내부 구성을 나타내는 도면이다.
도 9(a)는 2중화 FAT의 내부 구성을 나타내는 도면이고, (b)는 디렉터리 엔트리의 공통의 데이터 구조를 나타내는 도면이다.
도 10은 00001.mts를 클러스터 사이즈에 맞춰서 5개로 분할하고, 각 분할부분을 클러스터 504~50B에 저장하는 상태를 상정한 도면에 나타내고 있다.
도 11은 00001.mts가 복수의 클러스터에 기록되어 있는 경우의 디렉터리 엔트리 및 FAT에 대한 설정 예를 도시한 도면에 나타내고 있다.
도 12는 제 1 실시 예에서의 리무버블 미디어의 디렉터리 구성을 나타내는 도면이다.
도 13은 제 1 실시 예에서의 가상패키지를 나타내는 도면이다.
도 14는 제 1 실시 예에서의 BD-J 모듈의 구체적인 구성을 나타내는 도면이 다.
도 15는 제 1 실시 예에서의 index.bdmv 파일과 타이틀의 관계를 나타내는 도면이다.
도 16은 파일 1/0모듈(34)을 통한 통상 데이터영역 또는 연속 데이터영역에 대한 데이터 기록을 모식적으로 나타내는 도면이다.
도 17은 리무버블 미디어의 다운로드의 처리순서를 나타내는 플로차트이다.
도 18은 추가콘텐츠의 다운로드 처리의 처리순서를 나타내는 플로차트이다.
도 19는 WriteAPI의 처리순서를 나타내는 플로차트이다.
도 20은 할당유닛(allocation unit)에 대한 추기의 처리과정을 연속 사진적인 표기로 그린 도면이다.
도 21은 할당유닛에 대한 오버라이트의 처리과정을 연속 사진적인 표기로 그린 도면이다.
도 22는 파일 종별 판별의 처리순서를 나타내는 플로차트이다.
도 23은 추가콘텐츠의 파일명을 8.3 형식으로 변환하는 처리의 순서를 나타내는 플로차트이다.
도 24는 제 1 실시 예에서의 가상패키지 구축의 처리순서를 나타내는 플로차트이다.
도 25는 Java(TM) 애플리케이션이 가상패키지 구축/갱신요구를 발행하고, 가상패키지가 갱신될 때까지의 시간적인 처리의 흐름을 나타내는 도면이다.
도 26은 연속 데이터영역의 빈 영역이 부족한 경우의 처리를 나타내는 플로 차트이다.
도 27은 연속 데이터영역에 기록할 수 없었던 경우에서의 사용자에 대한 통지의 일례이다.
도 28은 AV 스트림의 기록에 실패한 경우를 고려한 플로차트이다.
도 29는 기록 처리에 실패했음을 사용자에게 나타내는 화면표시의 일례이다.
도 30(a), (b)는 통상 데이터영역으로의 일괄 기록을 실현하는 경우의 처리순서를 나타내는 플로차트이다.
도 31(a), (b)는 연속 데이터영역으로의 일괄 기록을 실현하는 경우의 처리순서를 나타내는 플로차트이다.
도 32는 통상 데이터영역으로의 일괄 기록을 실현하는 경우의 처리순서를 나타내는 플로차트이다.
도 33은 헤더 데이터에서 스트림/비스트림의 판단을 행하는 처리순서를 나타내는 플로차트이다.
도 34는 BD-ROM에서의 AV 스트림에 다중화되는 엘리멘터리 스트림을 나타내는 도면이다.
도 35는 BD-ROM에 기록되어 있는 엘리멘터리 스트림에서의 PID 할당 맵을 나타내는 도면이다.
도 36은 추가콘텐츠 저장영역에 배치되어야 할 AV 스트림에 다중화되는 엘리멘터리 스트림을 나타내는 도면이다.
도 37은 추가콘텐츠 저장영역에 배치되어야 할 AV 스트림에 다중화된 엘리멘 터리 스트림에서의 PID 할당 맵의 일례이다.
도 38은 AV 재생부(24)의 내부 구성을 나타내는 도면이다.
도 39는 재생장치의 출력단의 구성을 나타내는 도면이다.
도 40은 상위 자릿수의 0을 생략하는 경우의 디렉터리 구성을 나타내는 도면이다.
(부호의 설명)
100 BD-ROM 101 WWW서버
102 재생장치 103 텔레비전
104 리무버블 미디어 21 네트워크 인터페이스
22 빌트인 미디어 23 가상파일시스템
25 AV 재생 라이브러리 26 정적 시나리오 메모리
27 동적 시나리오 메모리 28 HDMV 모듈
29 BD-J 모듈 30 U0 검지모듈
31 모드 관리모듈 32 미디어 재생모듈
34 파일 I/0 모듈 35 네트워크모듈
36 애플리케이션 매니저 37 DiscID 확인모듈
38 리무버블 미디어 검지모듈 39 가상파일시스템 관리모듈
(제 1 실시 예)
이하, 본 발명의 실시 예에 대하여 도면을 참조하면서 설명한다.
이후, 재생장치의 실시 예에 대하여 설명한다. 우선 먼저, 본 발명에 관한 재생장치의 실시행위 중 사용행위에 대한 예를 설명한다. 도 1은 재생장치(102)의 사용행위에 대한 예를 설명하는 도면이다. 본 도면에 도시한 바와 같이, 재생장치(102)는 제 1 기록매체의 일례인 BD-ROM(100), WWW서버(101), 텔레비전(103), 제 2 기록매체의 일례인 리무버블 미디어(removable medium)(104)와 함께 사용자에 의한 사용에 제공된다.
BD-ROM(100)은 영화작품이 기록된 기록매체이다.
WWW서버(101)는 영화배급자의 공식 사이트를 운영하는 서버장치이고, BD-ROM(100)에 기록된 영화작품의 부분적인 치환이나 추가를 실현하는 콘텐츠(추가콘텐츠)를 인터넷을 통해서 사용자에게 공급한다.
재생장치(102)는 텔레비전(103)과 함께 홈시어터 시스템을 구축하여 BD-ROM(100)을 재생한다.
텔레비전(103)은 영화작품의 재생 영상을 표시하거나 메뉴 등을 표시함으로써 대화적인 조작환경을 사용자에게 제공한다.
리무버블 미디어(104)는 재생장치에 장착되고, 영화 배급자의 WWW서버(101)에서 분배 송신된 콘텐츠를 저장하는 곳으로 이용된다. 따라서, 네트워크를 통해서 다운로드 되어 리무버블 미디어(104)에 저장된 콘텐츠와 BD-ROM(100)에 기록된 콘텐츠를 조합하여 BD-ROM(100)의 콘텐츠를 확장/갱신할 수 있다. 이러한 리무버블 미디어(104)를 장착한다고 하는 목적을 위해서 재생장치(102)에는 SD메모리카드, 메모리 스틱, 콤팩트 플래시(TM), 스마트 미디어, 멀티미디어 카드 등의 리무버블 미디어(104)를 삽입하는 삽입구를 구비한다.
이상이 본 발명에 관한 재생장치의 사용 예에 대한 설명이다. 이어서, 본 발명에 관한 재생장치가 재생의 대상으로 되어 있는 기록매체에 대하여 설명한다. 본 발명에 관한 재생장치에 의해 재생되는 것은 광 기록매체인 BD-ROM(100)이다.
도 2는 BD-ROM(이하, 「BD」라고 하는 경우도 있다)의 구성을 나타낸 도면이다. 본 도면의 제 1 단째에 BD-ROM(100)을 나타내고, 제 2 단째는 BD-ROM의 내주에서 외주를 향해서 나선형상으로 형성된 기록영역을 횡 방향으로 연장하여 직선형상으로 묘사하고 있다. 이 제 2 단째에 나타낸 바와 같이, 기록영역은 내주의 「리드 인」, 외주의 「리드 아웃」, 「논리어드레스공간」을 갖고 있다. 또, 리드 인의 내측에는 BCA(Burst Cutting Area)라 불리는 드라이브로밖에 판독되지 않는 특별한 영역이 있다. 이 영역은 애플리케이션에서 판독할 수 없으므로, 예를 들어 저작권 보호기술 등에 이용되는 경우가 자주 있다.
「논리어드레스공간」은 파일시스템을 위한 영역관리정보를 선두로 하여 각종 데이터가 기록되어 있다. 「파일시스템」은 UDF나 ISO9660 등의 것이며, 본 실시 예에서는 Extention2.3 형식의 파일시스템을 채용한다. 이 파일시스템을 개재하면 논리어드레스공간에 기록되어 있는 데이터를 디렉터리, 파일 구조를 사용하여 판독할 수 있다. 이 파일시스템에서의 파일의 배치 위치는 255 문자 이하의 디렉터리 명과, 255 문자 이하의 파일명을 조합한 파일의 경로정보(파일 패스라 불린다)에 의해 특정된다.
본 도면의 제 3 단째는 제 2 단째에서의 파일시스템을 전제로 하여 구축된 디렉터리 구성 및 파일 구성을 나타낸다. 본 도면에 나타낸 바와 같이, BD-ROM의 루트 디렉터리(ROOT) 바로 아래에는 bd.cert파일과, BDMV 디렉터리가 배치되어 있다.
bd.cert(파일명 고정)는 가상패키지를 위해 추가된 콘텐츠를 BD-ROM 상의 데이터와 머지(merge)할 때에 서명검증에 이용되는 증명서(이하, 머지 증명서라 한다)이다. 머지 증명서는 BD-ROM에서의 머지 관리정보를 저장한 파일(머지 관리정보 파일)의 인증에 이용하는 증명서이고, 공급자가 공개하는 공개키를 포함한다. 머지 증명서의 파일 형식은 예를 들어 X.509를 이용할 수 있다. X.509의 상세한 구조는 국제전신전화 자문위원회에 의해 발행되어 있는 CCITT Recommendation X.509(1988), "The Directory-Authentication Framework"에 기재되어 있다. 본 도면에서의 인출 선 f1은 bd.cert 파일의 용도를 나타내고 있다. 이 인출 선에 나타낸 바와 같이, bd.cert 파일은 증명서 고유의 ID(CertID라 불린다)를 도출하는 용도로 이용된다.
BDMV 디렉터리는 BD-ROM에서 취급하는 AV콘텐츠나 관리정보 등의 데이터가 기록되어 있는 디렉터리이다. BDMV 디렉터리의 바로 아래에는 「PLAYLIST 디렉터리」, 「CLIPINF 디렉터리」, 「STREAM 디렉터리」, 「BDJO 디렉터리」, 「JAR 디렉터리」라 불리는 5개의 서브디렉터리가 존재하고, BDMV 디렉터리에는 index.bdmv, MovieObject.bdmv의 2종류의 파일이 배치되어 있다.
STREAM 디렉터리는 소위 디지털 스트림 본체가 되는 파일을 저장하고 있는 디렉터리로, 확장자 M2TS가 부여된 파일(xxxxx.m2ts["xxxxx"는 가변, 확장자 "m2ts"는 고정])이 존재한다.
PLAYLIST 디렉터리에는 확장자 mpls가 부여된 파일(xxxxx.mpls["xxxxx"는 가변, 확장자 "mpls"는 고정])이 존재한다.
CLIPINF 디렉터리에는 확장자 clpi가 부여된 파일(xxxxx.clpi["xxxxx"는 가변, 확장자 "clpi"는 고정])이 존재한다.
JAR 디렉터리에는 확장자 jar이 부여된 파일(xxxxx.jar["xxxxx"는 가변, 확장자 "jar"는 고정])이 존재한다.
BDJO 디렉터리에는 확장자 bdjo가 부여된 파일(xxxxx.bdjo["xxxxx"는 가변, 확장자 "bdjo"는 고정])이 존재한다.
<확장자 "m2ts"가 부여된 파일>
확장자 "m2ts"가 부여된 파일은 MPEG-TS(TransportStream) 형식의 디지털 AV 스트림이며, 비디오 스트림, 하나 이상의 오디오 스트림 및 하나 이상의 그래픽스 스트림을 다중화함으로써 얻어진다. 비디오 스트림은 영화의 동화상 부분을, 오디오 스트림은 영화의 음성부분을, 그래픽스 스트림은 영화의 자막을 각각 나타내고 있다.
확장자 "clpi"가 부여된 파일은 디지털 AV 스트림 각각에 1 대 1로 대응하는 관리정보이다. 관리정보이므로 Clip 정보는 디지털 AV 스트림의 부호화 형식, 프레임 레이트, 비트레이트, 해상도 등의 정보나 GOP의 선두위치를 나타내는 EP_map을 가지고 있다.
<확장자 "mpls"가 부여된 파일>
확장자 "mpls"가 부여된 파일은 플레이리스트 정보를 저장한 파일이다. 플레이리스트 정보는 MainPath정보, Subpath정보, PlayListMark정보를 포함한다.
1) MainPath정보는 AV 스트림의 재생시간 축 중 In_Time이 되는 시점과 Out_Time이 되는 시점의 세트를 하나 이상 정의함으로써 논리적인 재생구간을 정의하는 정보로, AV 스트림에 다중화되어 있는 엘리멘터리 스트림 중 어느 재생을 유효로 할지를 규정하는 스트림 번호 테이블을 포함하고 있으며, AV 스트림 내의 엘리멘터리 스트림 중 어느 재생을 허가할지 어느 재생을 허가하지 않을지를 규정하는 STN_table를 갖는다.
2) PlayListMark정보는 In_Time 정보 및 Out_Time 정보의 세트에서 지정된 AV 스트림의 일부분 중 챕터가 되는 시점의 지정을 포함한다.
3) Subpath정보는 상기 AV 스트림과 동기화하여 재생할 엘리멘터리 스트림의 지정과, 그 엘리멘터리 스트림의 재생시간 축에서의 In_Time 정보 및 Out_Time 정보의 세트를 포함한다. Java(TM) 애플리케이션이 이 플레이리스트 정보를 재생하는 JMF 플레이어 인스턴스의 생성을 Java(TM) 가상 머신에 명령함으로써 AV 재생을 개시시킬 수 있다. JMF 플레이어 인스턴스는 JMF 플레이어 클래스를 기초로 하여 가상 머신의 히프 메모리(heap memory) 상에 생성되는 실제의 데이터를 말한다.
AV 스트림과 플레이리스트 정보의 세트는 "타이틀"이라는 재생단위를 구성한다. BD-ROM에서의 AV 재생은 이 타이틀을 하나의 단위로 하여 이루어진다.
<확장자 "jar"가 부여된 파일>
확장자 "jar"가 부여된 파일은 Java(TM) 아카이브 파일로, Java(TM) 가상 머 신을 이용하여 동적인 시나리오 제어를 하는 Java(TM) 애플리케이션의 클래스 파일이 존재한다. 이 클래스 파일에서 정의되는 Java(TM) 애플리케이션은 Xlet인터페이스를 통해서 제어되는 Java(TM) Xlet이다. Xlet 인터페이스는 "loaded", "paused", "active", "destroyed"라는 4개의 상태를 갖는다. 본 명세서에서 말하는 애플리케이션이란 이와 같이 BD-ROM 등의 기록매체에 기록되어 있는 클래스 파일에 대한 인스턴스를 말한다.
<확장자 "bdjo"가 부여된 파일>
확장자 "bdjo"가 부여된 파일은 BD-J 오브젝트를 저장한 파일이다. BD-J 오브젝트는 PlayList 정보에 의해 제시되는 AV 스트림과 애플리케이션과의 관련부여에 의해 타이틀을 정의하는 정보이다. BD-J 오브젝트는 "애플리케이션 관리테이블"과, 그 타이틀에서 재생 가능한 PlayList 일람을 나타낸다. 애플리케이션 관리테이블(TM)은 "애플리케이션 시그널링"을 실현하는 테이블이다. "애플리케이션 시그널링"은 BD-ROM에서의 "타이틀"을 애플리케이션의 생존구간으로 관리하고, 애플리케이션의 기동 및 종료를 담당하는 제어를 말한다. 여기서 생존구간은 BD-ROM에 기록된 콘텐츠 전체의 시간 축에서 가상 머신의 히프 메모리 상에서 애플리케이션이 생존할 수 있는 구간을 나타낸다. "생존"이란 그 애플리케이션이 히프 메모리에 판독되어, 가상 머신에 의한 실행이 가능한 상태를 말한다. 애플리케이션 관리테이블은 애플리케이션의 식별자(애플리케이션ID)와 그 애플리케이션에 속하는 Java(TM) 아카이브 파일의 ID를 나열함으로써 이 타이틀을 생존구간으로 하는 애플리케이션을 나타낸다. 즉, 하나의 애플리케이션은 하나 이상의 Java(TM) 아카이브 파일로 구성 된다.
이와 같이 BD-J 오브젝트 내의 애플리케이션 관리테이블에 의해서 섹터가 관리되는 Java(TM) 애플리케이션을 "BD-J 애플리케이션"이라 한다.
<index.bdmv(파일명 고정)>
index.bdmv(파일명 고정)은 BD-ROM 전체에 관한 관리정보로, 재생장치에 디스크를 삽입한 후에 index.bdmv가 최초로 판독됨으로써 재생장치에서 디스크가 고유하게(uniquely) 인식된다. 또한, index.bdmv에는 BD-ROM에서 재생 가능한 복수의 타이틀과 각각의 타이틀을 규정하는 BD-J 오브젝트를 대응시켜서 나타내는 테이블이 포함된다. 인출 선 f2는 index.bdmv의 내부 구성을 클로즈업하여 나타내고 있다. 이 인출 선에서 나타내는 바와 같이, 영화작품의 공급자를 특정하는 식별자인 organizationID(32비트)나 공급자가 제공하는 BD-ROM 각각에 할당된 식별자인 discID(128비트) 등의 정보를 갖는다.
MovieObject.bdmv(파일명 고정)은 HDMV 모드(후술한다)에서의 각 타이틀 재생에 의해 재생 진행을 동적으로 변화시키기 위한 시나리오가 기술된 시나리오 프로그램이 포함된다.
(재생제어의 계층)
이어서, BD-ROM이 전제로 하고 있는 재생제어의 계층모델에 대하여 설명한다.
도 3은 재생제어의 계층모델을 나타내는 도면이다. 도 3의 제 1 층은 물리 층이며, 처리대상인 스트림 본체의 공급제어이다. 이 제 1 층에 나타낸 바와 같이, 처리대상인 스트림은 BD-ROM뿐만 아니라 빌트인 미디어(bulit-in media)나 리무버블 미디어(removable media), 네트워크와 같은 모든 기록매체 및 통신매체를 공급원으로 하고 있다. 여기서 빌트인 미디어는 HDD(하드디스크 드라이브), EEPROM(불휘발성 메모리) 등 재생장치(102)에 미리 내장된 기록매체이다. 한편, 리무버블 미디어는 SD 메모리카드, 메모리 스틱, 콤팩트 플래시(TM), 스마트 미디어, 멀티미디어 카드 등 휴대성이 있는 기록매체이다. 이들 빌트인 미디어, 리무버블 미디어는 모두 재생장치(102)가 국부적으로(locally) 이용하는 기록매체이며, "로컬 스토리지"라는 총칭으로 불린다. 이들 로컬 스토리지, 네트워크와 같은 공급원에 대한 제어(디스크 액세스, 카드 액세스, 네트워크 통신)가 제 1 층의 제어이다. 로컬 스토리지에는 빌트인 미디어, 리무버블 미디어라는 2종류의 것이 있으나, 이후의 설명에서는 제 1 기록매체가 BD-ROM이고, 제 2 기록매체가 리무버블 미디어라는 전제로 설명을 진행한다.
제 2 층은 AV 스트림의 계층이다. 제 1 층에서 공급된 스트림을 어떤 복호화 방식을 이용하여 복호화하는가를 규정하고 있는 것이 이 제 2 층이다.
제 3 층(BD관리 데이터)은 스트림의 정적인 시나리오를 규정하는 계층이다. 정적인 시나리오란 콘텐츠 개발자에 의해 미리 규정된 PlayList 정보, Clip정보이며, 이들에 의거한 재생제어를 규정하고 있는 것이 이 제 3 층이다.
제 4 층(BD재생 프로그램)은 스트림에서의 동적인 시나리오를 실현하는 계층이다. 동적인 시나리오는 AV 스트림의 재생순서 및 그 재생에 관한 제어순서 중 적어도 일방을 실행하는 프로그램이다. 동적인 시나리오에 의한 재생제어는 장치에 대한 사용자 조작에 따라서 변화하는 것이며, 프로그램적인 성질을 갖는다. 여기에서의 동적인 재생제어에는 2개의 모드가 있다. 2개의 모드 중 하나는 커맨드 베이스의 동작환경에서 BD-ROM에 기록된 AV 스트림을 재생하는 모드(HDMV모드)이고, 다른 하나는 오브젝트 지향 언어로 기술된 프로그램 베이스의 동작환경에서 BD-ROM에 기록된 AV 스트림을 재생하는 모드(BD-J모드)이다. 도 3에서 제 4 층에는 HDMV모드와 BD-J모드의 2개의 모드가 기술되어 있다. HDMV모드는 DVD와 같은 재생환경에서 재생이 이루어진다. 다른 하나의 BD-J 모드에서는 Java(TM) 가상머신이 주체가 되어 Java(TM) 애플리케이션으로부터의 재생제어가 이루어진다.
도 4는 2개의 모드의 동적인 재생제어에 의해 작성되는 영화작품을 나타내는 도면이다. 도 4(a)는 HDMV 모드에서 동적인 재생제어를 정의함으로써 작성되는 영화작품의 한 장면을 나타내는 도면이다. HDMV 모드는 DVD 재생장치가 해석 가능한 커맨드와 매우 유사한 커맨드로 재생제어를 기술할 수 있으므로, DVD와 동일한 재생제어, 즉, 메뉴에 대한 선택에 의해 재생이 진행하는 재생제어를 정의할 수 있다.
도 4(b)는 BD-J 모드에서 동적인 재생제어를 정의함으로써 작성되는 영화작품이다. BD-J 모드는 Java(TM) 가상머신이 해석 가능한 Java(TM) 언어로 제어순서를 기술할 수 있다. 이 재생제어가 어드벤처 게임의 GUI를 구성하는 것이면 BD-J 모드에서는 게임의 스코어(도면 중의 SCORE:10000)나 인디케이터(LIFE:3), 버튼 부재(질문한다, 퇴실한다)와 동화상을 조합한 것과 같은 합성 영상을 사용자에게 제시할 수 있다.
이상이 BD-ROM(100)에 대한 설명이다. 이어서, 재생장치(102)의 상세에 대하여 설명한다.
도 5는 재생장치의 대략적인 기능 구성을 나타내는 블록 도이다. 도 5에 도시한 바와 같이, 재생장치(102)는 BD 드라이브(20), 네트워크 인터페이스(21), 로컬 스토리지(22), 가상파일시스템(23), 정적 시나리오 메모리(26), 동적 시나리오 메모리(27), HDMV 모듈(28), BD-J 모듈(29), U0 탐지모듈(30), 모드 관리모듈(31), 디스패처(dispacher)로 구성된다. 본 재생장치는 오퍼레이팅 시스템으로 Linux를 채용하고 있고, 본 재생장치의 하드웨어 및 소프트웨어는 이 Linux를 통해서 제어된다.
(BD 드라이브(20))
BD 드라이브(20)는 BD-ROM의 로딩/이젝트를 행하고, BD-ROM에 대한 액세스를 실행한다. 본 BD-ROM 재생장치는 오퍼레이션 시스템으로 Linux를 채용하고 있으므로, "/mount point BD/BDAV"라는 커맨드를 발행함으로써 BD 드라이브(20)에 BDAV 디렉터리를 할당하다.
(네트워크 인터페이스(21))
네트워크 인터페이스(21)는 네트워크 접속을 위한 프로토콜 스택(protocol stack)을 실행하는 것으로, 네트워크상의 서버 컴퓨터가 구비하고 있는 드라이브를 네트워크 드라이브로서 재생장치에 인식시킨다. 그리고 네트워크 드라이브에서 데이터를 다운로드 하거나 데이터를 업 로드할 수 있다. 이 네트워크 인터페이스(21)는 인터넷상에 공개된 BD-ROM 추가콘텐츠의 다운로드에 이용된다. BD-ROM 추가콘텐 츠는 오리지널의 BD-ROM에 없는 콘텐츠이며, 예를 들어 추가의 부 음성, 자막, 특전영상(special-feature image), 애플리케이션 등이다. BD-J 모듈(29)은 네트워크 인터페이스(21)를 제어함으로써 인터넷상에 공개된 추가콘텐츠를 빌트인 미디어 드라이브 또는 리무버블 미디어(104)에 다운로드 할 수 있다.
(로컬 스토리지(22))
로컬 스토리지(22)는 빌트인 미디어 드라이브(22a)와 리무버블 미디어 드라이브(22b)로 이루어지고, 다운로드 한 추가콘텐츠나 애플리케이션이 사용하는 데이터 등의 보존에 이용된다. 추가콘텐츠의 보존영역은 BD-ROM 별로 구분되어 있고, 또, 애플리케이션이 데이터의 유지에 사용할 수 있는 영역은 애플리케이션별로 구분되어 있다. 또, 다운로드 한 추가콘텐츠를 어떻게 BD-ROM 상의 데이터와 머지할지를 나타내는 규칙, 즉 머지 규칙이 기재된 머지 관리정보도 이 로컬 스토리지(22)에 보존된다.
본 실시 예에서는 추가콘텐츠 데이터파일 저장을 위한 디렉터리인 BUDA 디렉터리를 리무버블 미디어 드라이브에 장착된 리무버블 미디어(104)에 할당한다. 본 BD-ROM 재생장치는 오퍼레이션 시스템으로 Linux를 채용하고 있으므로, 리무버블 미디어 드라이브(22b)가 SD 메모리카드 드라이브이며, 본 드라이브에 "SD"라는 드라이브 명이 할당되어 있는 경우, "/mount point SD/BUDA"라는 커맨드를 발행함으로써 리무버블 미디어에 대응하는 SD드라이브에 BUDA 디렉터리를 할당한다. 한편, 빌트인 미디어 드라이브(22)는 녹화용의 기록영역으로 사용하는 것으로 한다.
(가상파일시스템(23))
가상파일시스템(23)은 추가콘텐츠와 함께 로컬 스토리지(22)에 다운로드 된 머지 관리정보를 기초로 빌트인 미디어 또는 리무버블 미디어에 저장된 추가콘텐츠와 BD-ROM 상의 콘텐츠를 머지 시킨 가상적인 BD-ROM(가상패키지)을 구축한다. HDMV 모듈(28) 및 BD-J 모듈(29)에서는 가상패키지와 오리지널 BD-ROM을 구별하지 않고 참조할 수 있다. 가상패키지 재생 중 재생장치는 BD-ROM 상의 데이터와 빌트인 미디어 또는 리무버블 미디어 상의 데이터의 양방을 이용하여 재생제어를 하게 된다. 이상이 재생장치의 구성요소이다.
(AV 재생부(24))
AV 재생부(24)는 BD-ROM 또는 로컬 스토리지(22)에 기록된 AV 스트림의 재생을 플레이리스트 정보, Clip 정보에 의거하여 실행한다.
(AV 재생 라이브러리(25))
AV 재생 라이브러리(25)는 HDMV 모듈(28), BD-J 모듈(29)로부터의 함수 호출에 따라서 AV 재생기능, 플레이리스트의 재생기능을 실행한다. AV 재생기능은 DVD 플레이어, CD 플레이어에서 답습한 기능 군이며, 재생개시, 재생정지, 일시정지, 일시정지의 해제, 정지화면기능의 해제, 재생속도를 즉치(immediate value)로 지정한 빨리 감기, 재생속도를 즉치로 지정한 되감기, 음성 절환(switch), 자막 절환, 앵글 절환과 같은 처리이다. 플레이리스트 재생기능은 이 AV 재생기능 중 재생개시나 재생정지를 플레이리스트 정보에 따라서 하는 것을 말한다.
(정적 시나리오 메모리(26))
정적 시나리오 메모리(26)는 현재의 PL이나 현재의 Clip정보를 저장해 두기 위한 메모리이다. 현재 PL은 BD-ROM 또는 로컬 스토리지(22)에 기록되어 있는 복수의 플레이리스트 중 현재 처리대상으로 되어 있는 것을 말한다. 현재 Clip정보는 BD-ROM 또는 로컬 스토리지(22)에 기록되어 있는 복수의 Clip 정보 중 현재 처리대상으로 되어 있는 것을 말한다.
(동적 시나리오 메모리(27))
동적 시나리오 메모리(27)는 현재 동적 시나리오를 저장해 두고, HDMV 모듈(28), BD-J 모듈(29)에 의한 처리에 제공되는 메모리이다. 현재 동적 시나리오는 BD-ROM 또는 로컬 스토리지(22)에 기록되어 있는 Movie 오브젝트, BD-J 오브젝트 중 현재 실행대상으로 되어 있는 것을 말한다.
(HDMV 모듈(28))
HDMV 모듈(28)은 HDMV 모드의 실행주체가 되는 DVD 가상 플레이어이며, 동적 시나리오 메모리(27)에 판독된 현재의 시나리오 프로그램을 실행한다.
(BD-J 모듈(29))
BD-J 모듈(29)은 Java(TM) 플랫폼으로, Java(TM) 가상머신, 컨피규레이션(configuration), 프로파일(profile)로 이루어진다. BD-J 모듈(29)은 동적 시나리오 메모리(27)에 판독된 Java(TM) 클래스 파일로부터 Java 바이트코드(byte code)를 생성함으로써 현재의 Java(TM) 오브젝트를 생성하여 실행한다. Java(TM) 가상머신은 Java(TM) 언어로 기술된 Java(TM) 오브젝트를 재생장치에서의 CPU의 네이티브 코드로 변환하여 CPU에 실행시킨다.
(UO 탐지모듈(30))
UO 탐지모듈(30)은 리모컨이나 재생장치의 프런트 패널과 같은 입력기기에 대해서 이루어진 사용자 조작을 검지하여 모드 관리모듈(31)에 통지한다. 이 통지는 이들 입력기기에 대응하는 디바이스 드라이버 내의 인터럽트 핸들러(interrupt handler)가 발생하는 인터럽트에 따라서 UO(User Operation)를 생성하여 모드 관리모듈(31)에 출력함으로써 이루어진다. UO는 리모컨이나 프런트 패널에 설치된 키 매트릭스에 의해 키가 눌려졌음을 검지한 때에 발생하는 이벤트(UO 이벤트)로, 눌려진 키에 대응하는 키 코드를 포함하고 있다. 구체적으로는, 리모컨이나 프런트 패널에 대응하는 디바이스 드라이버의 인터럽트 핸들러가 키 매트릭스에 대한 키 센스에 의해 키가 눌러졌음을 검출한 때, 그 키가 눌러짐에 따라서 인터럽트 신호를 발생함으로써 UO 이벤트는 생성된다.
(모드 관리모듈(31))
모드 관리모듈(31)은 BD-ROM 또는 로컬 스토리지(22)에서 판독된 Index.bdmv를 보유하며, 모드 관리 및 분기제어를 한다. 모드 관리모듈(31)에 의한 모드 관리는 동적 시나리오를 어느 HDMV 모듈(28), BD-J 모듈(29)에 실행시키는가 라는 모듈의 할당이다.
(디스패처(32))
디스패처(32)는 UO로부터 현재의 재생장치에서의 모드에 적절한 UO만을 선택하여 그 모드를 실행하는 모듈에 인도한다. 예를 들어, HDMV 모드의 실행 중에 상하 좌우, 액티베이트와 같은 UO를 접수한 경우, HDMV 모드의 모듈에 이들 UO를 출력한다고 하는 것이 디스패처(32)의 처리이다.
(리무버블 미디어)
이하, 리무버블 미디어에 대하여 설명한다.
본 실시 예에서는 추가콘텐츠 데이터파일의 저장을 위한 리무버블 미디어로 SD 메모리카드를 채용한다.
SD 메모리카드는 길이 32.0㎜, 폭 24.0㎜, 두께 2.1㎜의 크기(우표 사이즈 크기)의 카드형 기록매체이다. 사용자는 이 SD 메모리카드를 손가락 끝으로 파지(把持)할 수 있다. SD 메모리카드에는 재생장치와의 접속을 위한 9개의 커넥터가 설치되어 있고, 측면에는 기억내용의 오버라이트를 허가하는가 또는 금지하는가를 조작자가 설정할 수 있는 프로텍트 스위치가 설치되어 있다. SD 메모리카드는 NAND형 EEPROM인 「불휘발성 메모리」, 재생장치로부터 발행되는 커맨드에 따라서 불휘발성 메모리에 대한 데이터의 기록, 불휘발성 메모리로부터의 데이터의 판독, 데이터 소거를 하는 「액세스 제어부」, 및 불휘발성 메모리에서 판독된 데이터를 치환할 때에 데이터의 일시 저장에 이용되는 「워크 메모리」를 포함한다.
SD 메모리카드에는 FAT16을 채용한 것과 FAT32를 채용한 것이 있다. FAT16은 클러스터 1개당 할당되는 엔트리 길이가 16비트이고, 2G바이트의 기록영역을 액세스 대상으로 하고 있다. FAT32는 클러스터 1개당 할당되는 엔트리 길이가 32비트이고, 32G 바이트의 기록영역을 액세스 대상으로 하고 있다. 이 FAT32를 채용한 SD메모리카드는 특히 "SDHC 메모리카드"라고 불린다.
이하, 이 리무버블 미디어에 대하여 설명한다.
도 6은 반도체 메모리의 기록영역의 물리적 구성을 나타내는 도면이다.
본 도면의 좌측은 리무버블 미디어의 SD 메모리카드의 외관을 나타낸다.
본 도면의 중단은 리무버블 미디어인 SD 메모리카드의 물리적 구성을 나타내는 도면이다. 로컬 스토리지는 빌트인 미디어 및 리무버블 미디어 양방 모두 복수 개의 논리블록으로 구성된다. 통상의 파일의 기록은 이 논리블록 단위로 기록 및 삭제가 이루어진다. 따라서, 하나의 논리블록 내에 복수의 파일 데이터를 유지할 수 없다. 즉, 하나의 논리블록 사이즈보다 작은 파일을 기록하는 경우에도 하나의 논리블록이 소비되며, 그 논리블록 내에 다른 파일의 데이터를 기록할 수는 없다.
본 도면의 우측은 SD 메모리카드의 파일시스템 영역의 내부 구성을 나타낸다. SD 메모리카드에서의 파일시스템 영역은 한 개의 논리블록이 한 개의 클러스터로 취급되고, 이 클러스터를 최소 단위로 파일의 기록이나 삭제가 이루어지게 된다.
본 도면의 중단에서는 물리적으로 연속하는 1000개의 논리블록이 하나의 할당유닛으로 확보되어 있다. 할당유닛은 SD 메모리카드에 대한 데이터 기록의 속도 보증을 실현하는 단위이며, SD 메모리카드에서는 일반적으로 4M바이트의 크기로 규정되어 있다.
(통상 데이터영역, 연속 데이터영역)
전자의 논리블록의 기록을 전제로 한 기록영역은 "통상 데이터영역"이라 불린다. 후자의 할당유닛을 전제로 한 기록영역은 "연속 데이터영역"이라 불린다. 추가콘텐츠 저장영역에는 이들 통상 데이터영역, 연속 데이터영역의 세트가 확보되게 된다. 도 7은 통상 데이터영역, 연속 데이터영역의 일례를 나타내는 도면이다. 본 도면의 상단은 통상 데이터영역의 내부 구성을 나타내고, 본 도면의 하단은 연속 데이터영역의 내부 구성을 나타낸다.
상단의 통상 데이터영역에서의 각각의 사각형은 논리블록을 모식적으로 나타낸다. 이 사각형 중 흰색 부분은 비어 있는 논리블록이고, 검은색 부분은 일부 또는 전부가 기록이 완료되어 있는 논리블록이다. 기록이 완료된 논리블록에서의 기록내용에는 「머지 관리정보 파일」, 「서명정보 파일」, 「플레이리스트정보 파일」, 「Clip 정보 파일」이 있다. 기록 및 삭제가 상세한 단위로 이루어지므로, 빈번하게 기록 및 삭제를 반복하게 되면 미사용의 논리블록이 산재하고 있는 상태가 되며, 하나의 파일의 데이터가 분산된 논리블록에 기록된다고 하는 문제가 발생한다. 파일을 구성하는 데이터가 산재하는 상태로 기록되는 것을 "프레그멘테이션"이라 한다. 분산되어서 기록된 파일의 데이터를 판독하는 경우, 분산처(jump destination) 블록으로의 씨크(seek)가 발생하여 판독성능이 열화 되어 버린다. 특히, 실시간의 판독성능이 요구되는 AV 스트림 형식의 추가콘텐츠가 이와 같은 상태가 되어버리면 재생에 필요한 AV 스트림 형식의 추가콘텐츠의 판독에 시간적인 불일치가 발생하여, 재생이 불규칙해지게 되는 현상이 나타나게 된다. AV 스트림 형식의 추가콘텐츠를 원활하게 판독하려면 AV 스트림 형식의 추가콘텐츠를 연속하는 논리블록에 기록하는 것이 바람직하나, 통상 데이터영역에서는 프레그멘테이션이 광범위하게 발생하므로 AV 스트림 형식의 추가콘텐츠의 기록에 적합한 연속 논리블록의 확보가 어려워진다.
작은 사이즈의 파일이 많은 경우에는 쓸모없는 빈 영역이 많아지나, 통상 하 나의 논리블록은 일반적인 파일 사이즈보다 충분히 작으므로, 통상 데이터영역에 대한 기록에 관해서는 효율 좋게 스토리지 용량을 소비할 수가 있다.
하단의 연속 데이터영역에서의 사각형은 연속 데이터영역을 구성하는 할당유닛을 모식적으로 나타낸다. 이 사각형 중 흰색부분은 비어 있는 할당유닛이고, 일부가 검은색으로 칠해진 부분은 기록이 완료되어 있는 할당유닛이다. 검은색으로 칠해진 부분이 일부이므로, 본래 이 할당유닛에는 미기록인 부분이 존재한다. 그러나 그 일부에 기록이 완료된 데이터가 존재하는 이상, 다른 데이터를 그 미기록 부분에 기록할 수는 없다. 즉, 일부의 영역이 이미 기록되어 있으면 그 할당유닛은 기록이 완료된 것으로 취급된다. 본 도면에서의 3개의 할당유닛에는 00001.mts, 00002.mts, 00003.mts라는 3개의 AV 스트림 형식의 추가콘텐츠가 기록되어 있다. 이들 3개의 할당유닛은 3개의 AV 스트림 형식의 추가콘텐츠에 의해 배타적으로 사용되고 있으므로, 가사 미기록 부분이 있어도 여기에 다른 파일을 기록할 수는 없다. 기록 처로 할당유닛을 선택한 경우, 연속하는 복수의 논리블록 단위로 기록 및 삭제가 이루어지게 된다. 데이터 기록에 할당유닛을 이용하는 경우, 비교적 큰 사이즈로 물리적으로 연속하는 영역을 단위로 기록 및 삭제하므로 프레그멘테이션이 잘 일어나지 않는다고 하는 이점이 있다.
연속 데이터영역에서는 할당유닛 단위로 액세스가 이루어지며, 기록 및 삭제의 단위가 크므로, 사이즈가 작은 파일을 기록하는 경우에는 쓸데없이 큰 영역을 점유해버려서, 스토리지 용량을 효율 좋게 이용할 수 없다고 하는 단점이 있다. 단, AV 스트림 형식의 추가콘텐츠가 저장된 파일의 사이즈는 충분히 큰 사이즈이 고, 또한, AV 스트림 형식의 추가콘텐츠의 판독에는 실시간성이 요구되므로, 연속 데이터영역에 기록하는 것이 바람직하다.
도 7에서의 추가콘텐츠 배치의 특징에 대하여 설명한다. 추가콘텐츠 저장영역에는 통상 데이터영역, 연속 데이터영역이 존재하고 있고, 이 통상 데이터영역은 4K 바이트라는 논리블록의 단위로 비 AV 스트림 형식의 추가콘텐츠의 기록이나 삭제가 이루어지므로, 기록영역의 효율 좋은 이용이 도모되고 있음을 알 수 있다.
한편, 연속 데이터영역은 4M바이트라는 할당유닛의 단위로 AV 스트림 형식의 추가콘텐츠의 기록이 이루어지고 있고, 이러한 AV 스트림 형식의 추가콘텐츠의 기록에 의해 기록 효율의 저하가 발생하고 있으나, 이 저하의 발생은 하나의 추가콘텐츠 저장영역 내의 국소적인 것이며, 리무버블 미디어인 SD 메모리카드 전체의 기록 효율에 주는 영향은 작다.
이렇게 함으로써, 기록이나 소거라는 갱신빈도가 높은 비 AV 스트림 형식의 추가콘텐츠에 대해서는 기록효율의 유지를 우선시하면서도, AV 스트림 형식의 추가콘텐츠에서의 AV 재생의 안정성을 확보할 수 있다.
(파일시스템 영역의 내부 구성)
도 8은 리무버블 미디어인 SD 메모리카드의 파일시스템 영역의 내부 구성을 나타내는 도면이다. 본 도면의 좌측에 리무버블 미디어인 SD 메모리카드를 나타내고, 중간 측에 FAT형 파일시스템에 준한 파일시스템 영역의 내부 구성을 나타낸다. 이 FAT형 파일시스템 기록영역은 「MasterBootRecord」, 「PartitionTable」이 기록되고, 이들 기록영역 이후에 「시스템 영역」 및 「사용자 영역」이 존재한다.
「MasterBootRecor」는 자신에 후속하는 영역이 "물리적인 하나의 매체(물리매체)"임을 재생장치에 확인시키기 위한 표지이다. 본 도면에서는 기록영역에 마스터 부트 리코더가 하나만 존재하므로 기록영역에서 하나의 물리매체가 재생장치에 의해 인식될 수 있으나, 만약 기록영역에 마스터 부트 리코더를 2개 배치하면 2개의 물리매체가 재생장치에 의해 인식된다.
「파티션 테이블」은 파티션에 관한 정보가 기술된 테이블이다.
「시스템 영역」은 「파티션 부트 섹터」, 「2중화 파일 할당테이블(FAT)」, 「Root 디렉터리 엔트리」가 기록되어 있다.
「사용자 영역」은 클러스터를 최소 단위로 하여 파일이 저장되는 영역으로, 「BUDA 디렉터리 엔트리」, 「CertID 디렉터리 엔트리」, 「OrganizationID 디렉터리 엔트리」, 「DiscID 디렉터리 엔트리」가 기록되며, 이 이후에 추가콘텐츠 저장영역이 존재한다. 추가콘텐츠 저장영역에는「머지 관리정보 파일」, 「서명정보 파일」, 「추가콘텐츠 데이터 파일」이 기록되어 있다.
이하, 2중화 FAT에 대하여 설명한다.
「2중화 파일 할당테이블(FAT)」은 ISO/IEC 9293에 준거한 2개의 FAT로 이루어진다. 도 9(a)는 2중화 FAT의 내부 구성을 나타내는 도면이다. 각 FAT는 각 클러스터에 대응된 복수의 FAT 엔트리로 이루어진다. 각 FAT 엔트리는 대응하는 클러스터가 사용중인지 미사용인지를 나타내는 것으로, 대응하는 클러스터가 미사용이면 그 파일 엔트리에는 "0"이 설정되고, 대응하는 클러스터가 사용 중이면 클러스터 번호가 설정된다. 이 클러스터 번호는 대응하는 클러스터가 판독된 경우에, 다음에 어느 클러스터를 판독하면 되는가 라고 하는 클러스터 간의 링크 관계를 나타낸다. 도 9(a)의 점선의 인출 선 ff1은 FAT에 포함되는 복수의 FAT 엔트리-002, 003, 004, 005…를 나타낸다. 이 FAT 엔트리에 부여된 수치 「002, 003, 004, 005, …」는 각 FAT 엔트리가 어느 클러스터에 대응되어 있는가, 즉 각 FAT 엔트리가 대응되어 있는 클러스터의 클러스터 번호를 나타낸다.
이어서, 디렉터리 엔트리에 대하여 설명한다. 디렉터리 엔트리에는 시스템 영역에 존재하는 「Root 디렉터리 엔트리」, 사용자 영역에 존재하는 「BUDA 디렉터리 엔트리」, 「CertID 디렉터리 엔트리」, 「OrganizationID 디렉터리 엔트리」, 「DiscID 디렉터리 엔트리」라는 것이 있으나, 이것은 모두 도 9(b)에 나타낸 공통의 데이터 구조를 갖는다. 도 9(b)는 디렉터리 엔트리의 공통의 데이터 구조를 나타내는 도면이다. 본 도면에 도시한 바와 같이, 「디렉터리 엔트리」는 ASCII문자 8 문자 이하로 제한된 「디렉터리 명」과, 「작성시각」,「작성일자」, 당해 디렉터리에 존재하는 파일에 대한 「파일 엔트리」를 포함한다. 각 파일 엔트리는 ASCII 문자 8 문자 이하로 제한된 「파일명」, ASCII 문자 3 문자 이하로 제한된 「파일 확장자」, 파일의 선두부가 저장되어 있는 「파일 최초의 클러스터 번호」, 그 파일에 대한 「파일속성」, 파일이 갱신된 「갱신시각」, 파일의 「갱신일자」, 파일의 데이터 길이인 「파일 길이」를 포함한다.
SD 메모리카드에서의 디렉터리 명 및 파일명은 이와 같은 디렉터리 엔트리에 기술된다. 그리고 이 디렉터리 엔트리 중 Root 디렉터리 엔트리는 2중화 FAT와 함께 원칙으로 하나의 클러스터 내에 배치하여 종합해서 관리하지 않으면 안 되므로, 디렉터리 명 및 파일명을 길게 하는 것은 현실적이지 않다. 구체적으로는, 그 문자 수는 ASCII 문자 8 문자 이내, 확장자도 ASCII 문자 3 문자 이내로 제한되어 있다. 이와 같이 디렉터리 명, 파일명이 제한된 파일시스템 형식을 "8.3 형식"이라 한다.
여기서, DiscID 디렉터리에 추가콘텐츠를 저장하는 경우에 FAT 및 디렉터리 엔트리가 어떻게 설정되는지에 대하여 설명한다. 설명의 제재로 선택하는 추가콘텐츠는 AV 스트림을 저장한 "00001.mts"라는 파일이다.
도 10은 00001.mts를 클러스터 사이즈에 맞춰서 5개로 분할하고, 각 분할부분을 클러스터 504~50B에 저장하는 상태를 상정한 도면이다.
도 10의 제 3 단째에서부터 제 8 단째까지는 영상, 음성을 나타내는 엘리멘터리 스트림이 AV 스트림에서 어떻게 다중화되어 있는가를 모식적으로 나타낸다. AV 스트림은 디지털화된 영상 및 디지털화된 음성을(제 8 단째) PES 패킷으로 이루어지는 엘리멘터리 스트림으로 변환하고(제 7 단째), TS패킷으로 더 변환하여(제 6 단째), 이들 TS패킷을 다중화(제 5 단째)함으로써 구성된다.
여기서, 비디오 스트림은 본 도면의 제 8 단째에 나타낸 바와 같이 복수의 픽처로 구성되나, 이들 픽처와 Access Unit의 관계는 1 Access Unit = 1 픽처이다. 오디오 스트림도 복수의 오디오 프레임으로 구성되나, 이들 오디오 프레임과 Access Unit의 관계도 1 오디오 프레임 = 1 Access Unit이다. 또, BD-ROM에서는 1PES 패킷=1프레임으로 제한되어 있다. 즉, 동화상이 프레임 구조이면 1PES 패킷=1픽처이고, 필드구조인 경우에는 1PES 패킷은 1PES 패킷=2픽처가 된다. 이러한 점으로부터 본 도면의 제 8 단째에 나타내는 PES 패킷은 제 8 단째에서의 픽처나 오디 오 프레임을 1 대 1의 비율로 저장하고 있다.
제 5 단째에서 다중화된 TS패킷 열은 "STC Sequence"를 구성한다. "STC Sequence"는 디코드 시각, 표시시각을 나타내는 MPEG2-TS의 시간 축으로, AV 스트림의 시스템 표준시각인 STC(System Time Clock)의 불연속 점(system time-base discontinuity)이 존재하지 않는 구간을 말한다. STC의 불연속 점은 디코더가 STC를 얻기 위해 참조하는 PCR(Program Clock Refernece)을 운반하는 PCR 패킷의 불연속 정보(discontinuity_indicator)가 ON인 점이다.
제 4 단째에서부터 제 1 단째까지는 리무버블 미디어로의 AV 스트림 형식의 추가콘텐츠의 기록이 어떻게 이루어지는가를 나타낸다.
188 바이트의 TS패킷은 제 4 단째에 나타낸 바와 같이, 4 바이트의 TS_extra_header(도면 중의 해칭부)가 부여되고, 192 바이트 길이의 Source 패킷으로 변환된다. 이 TS_extra_header는 당해 TS패킷의 디코더 입력시각정보를 나타내는 Arrival_Time_Stamp를 포함한다.
Source 패킷은 제 4 단째에 나타낸 것과 같은 하나 이상의 "ATC_Sequence"를 구성한다. "ATC_Sequence"는 AV 스트림에 기재되어 있는 ATS의 시간 축을 구성하는 Source 패킷의 배열이며, 그 Arrival_Time_Stamp가 참조하고 있는 Arrival_Time_Clock에 불연속점(no arrival time-base discontinutiy)이 존재하지 않는 것을 말한다. 다시 말하면, 그 Arrival_Time_Stamp가 참조하고 있는 Arrival_Time_Clock에 연속성이 존재하는 Source 패킷 열을 "ATC_Sequence"라고 한다. ATS는 이하와 같이 TS패킷의 선두에 첨부되며, 디코더로의 전송시각을 나타낸 다.
이러한 ATC_Sequence가 AV 스트림이 되고, 제 3 단째에 나타낸 바와 같이 00001.mts라는 데이터파일에 저장된다. 이렇게 얻어진 AV 스트림 형식의 추가콘텐츠는, 제 2 단째에 나타낸 것과 같은, 파일시스템 영역을 구성하는 연속 클러스터 504, 505, 506…50B에 기록되게 된다. 이 연속 클러스터는 제 1 단째에 나타낸 것과 같이 할당유닛을 구성하는 복수의 논리블록 504, 505, 506…50B에 대응하고 있으므로, AV 스트림 형식의 추가콘텐츠는 하나의 할당유닛 내에 완결한 형태로 저장되게 된다.
00001.mts가 할당유닛에 기록되면 디렉터리 엔트리 및 FAT는 도 11과 같이 설정되어야 한다.
도 11은 00001.mts가 복수의 클러스터에 기록되어 있는 경우의 디렉터리 엔트리 및 FAT에 대한 설정 예를 나타내는 도면이다. 본 도면에서 00001.mts의 선두부분이 클러스터 504에 기록되어 있는 경우, DiscID 디렉터리 엔트리에서의 「파일 최초의 클러스터 번호」에는 그 선두부분이 저장되어 있는 클러스터에 대한 클러스터 번호 504가 기재된다. 이후, 00001.mts의 후속하는 부분은 클러스터 505, 클러스터 506에 저장되어 있음을 알 수 있다. 00001.mts의 선두부분을 저장하고 있는 클러스터 504에는 FAT 엔트리 504가 대응하고 있으나, 이 FAT 엔트리 504는 00001.mts 파일의 후속하는 부분을 저장하고 있는 클러스터 505를 나타내는 것이다. 또, 이에 후속하고 있는 부분을 저장하고 있는 클러스터 505, 506에는 FAT 엔트리 505(506), FAT 엔트리 506(507)이 대응하고 있으나, 이 FAT 엔트리는 00001.mts 파일의 다음의 후속하는 부분을 저장하고 있는 클러스터 506, 507을 나타내는 것이다. 이와 같이, DiseID 디렉터리 엔트리에서의 최초의 클러스터 번호와 FAT 엔트리를 거슬러 올라감에 따라서 리무버블 미디어(104)에 저장된 AV 스트림이 판독되어서 재생에 제공되게 된다.
이상과 같은 파일시스템을 전제로 하여 구축되는 디렉터리에 대하여 설명한다.
도 12는 리무버블 미디어 상의 디렉터리 구성을 나타내는 도면이다. 리무버블 미디어 상에는 추가콘텐츠 저장영역 루트 디렉터리인 BUDA 디렉터리, CertID 디렉터리, OrganizationID 디렉터리, DiscID 디렉터리가 존재한다. 이 DiscID 디렉터리에는 머지 관리정보 파일 「bumf.xml」, 서명정보 파일 「bumf.sf」, 추가콘텐츠 「00001.mpl」, 「mo.bdm」, 「00001.mts」가 존재한다.
추가콘텐츠 저장영역 루트 디렉터리(BUDA 디렉터리)는 리무버블 미디어의 루트 디렉터리 바로 아래에 존재하며, 추가콘텐츠 저장영역의 루트를 나타내는 디렉터리로, 디렉터리 명은 8 문자 이내의 고정값(BD_BUDA)이다.
「CertID 디렉터리」는 BD-ROM 상의 머지 증명서(bd.cert)로부터 도출되는 ID를 이름으로 갖는 디렉터리로, 머지 증명서의 SHA-1 다이제스트 값 160비트 중 선두 32비트를 16진 표기로 나타낸 8 문자 이름의 디렉터리이다.
「OrganizationID 디렉터리」는 BD-ROM 상의 BD관리정보(index.bdmv)에 기재되어 있는 영화작품의 공급자를 특정하는 32비트의 식별자(OrganizationID)를 16진 표기로 나타낸 8 문자 이름의 디렉터리이다.
「DiscID 디렉터리」는 4 계층의 서브디렉터리로 이루어진다. 이들 4 계층의 서브디렉터리는 최대 8 문자의 디렉터리 명이 부여된다. 각 서브디렉터리에는 BD-ROM을 특정하는 128비트의 식별자(DiscID)를 선두에서부터 32비트씩 4분할하고, 각각을 16진 표기로 나타낸 8 문자의 이름이 할당되어 있다. 이 DiscID는 BD-ROM 상의 BD관리정보(index.bdmv)에 기재되어 있으므로, index.bdmv를 오픈 함으로써 DiscID는 취득할 수 있다. 예를 들어, 본 도면에서의 「12345678」, 「90abcdef」, 「12345678」, 「90abcdef」라고 하는 4개의 디렉터리 명은 「1234567890abcdef1234567890abcdef」라고 하는 32 문자(128비트)의 DiscID를 하위의 자릿수에서부터 8 문자(32비트)씩 분할함으로써 얻어진 것이다. DiscID를 구성하는 문자 중 의미가 있는 것을 생략하지 않고, DiscID와 8.3 형식과의 대응을 도모하므로, 4 계층의 서브디렉터리는 DiscID와 엄밀하게 대응된 것이 된다.
DiscID 디렉터리의 바로 아래에는 가상패키지를 구축하기 위한 추가콘텐츠 저장영역이 존재한다. 추가콘텐츠 저장영역은 4개의 DiscID 디렉터리 엔트리 중 가장 하위의 DiscID 디렉터리 엔트리 내에 존재하는 파일 엔트리에서 특정하지 않으면 안 되므로, 가장 하위의 DiscID 디렉터리 엔트리보다 후의 논리블록에 확보되게 된다. 추가콘텐츠 저장영역은 통상 데이터영역, 연속 데이터영역으로 이루어지고, 통상 데이터영역에는 「머지 관리정보 파일」, 「서명정보 파일」, 비 AV 스트림의 추가콘텐츠인 「추가콘텐츠」가 기록된다. 이들 파일은 가상패키지 생성의 중핵을 담당하는 것이며, 이하 이들 파일의 내용을 상세하게 설명한다.
「머지 관리정보 파일」은 리무버블 미디어 상의 추가콘텐츠의 파일 패스와 가상패키지에서의 별명(alias) 액세스를 위한 파일 패스와의 대응관계를 나타내는 정보이며, bumf.xml이라는 파일명으로 DiscID 디렉터리에 보존된다. 이 머지 관리정보 파일이 특징적인 것은 리무버블 미디어에서의 파일 패스, 즉 FAT형 파일시스템을 전제로 하고 있으므로, 리무버블 미디어에서의 디렉터리 명 및 파일명이 8.3 형식에 준하고 있는 점이다. 이와 같이 8.3 형식에 준한 파일 패스와 가상패키지에서의 LFN의 파일 패스가 대응되어 있다. 이 가상패키지의 파일 패스는 BD-ROM의 디렉터리 구조에 준하고 있다. 왜냐하면, 가상패키지는 리무버블 미디어 상의 파일을 마치 BD-ROM에 저장되어 있는 것과 동일하게 취급하는 것이기 때문이다. 이러한 BD-ROM의 파일시스템 형식은 LFN에 대응한 것이므로, 이 머지 관리정보 파일을 참조함으로써 리무버블 미디어 상의 추가콘텐츠는 8.3 형식이면서 255 문자 이하의 파일명을 이용하여 별명으로 액세스 되게 된다. 머지 관리정보 파일은 8.3 형식으로 기록되어 있는 각종 파일에 대하여 255 문자 이하의 파일명에 의한 "별명 액세스"를 실현하게 하는 것이다.
도 13 (a)는 머지 관리정보의 내부 구성을 나타내는 도면이다. 본 도면에서의 머지 관리정보에서는 00001.mpl, mo.bdm, 00001.mts라는 3개의 추가콘텐츠에 대하여 리무버블 미디어 상의 파일 패스와 가상패키지 상의 파일 패스의 대응부여가 이루어져 있다. 리무버블 미디어 상의 파일 패스는 8.3 형식에 준하고 있다.
본 도면에서의 파일 패스의 기술에 대하여 구체적으로 설명한다. 리무버블 미디어에서의 "12345abc/12345678/90abcdef/12345678/90abcdef/00001.mpl"이라는 8.3 형식의 파일 패스에는 BDMV/PLAYLIST/00001.mpls라는 가상패키지 상의 LFN 형 식의 파일 패스가 대응되어 있다. 이 일례는 앞의 도면의 경우에 준하고 있고, CertID 디렉터리에서 추가콘텐츠의 패스가 명기되어 있다.
리무버블 미디어에서의 "12345abc/12345678/90abcdef/12345678/90abcdef/ mo. bdm"이라는 8.3 형식의 파일 패스에는 BDMV/MovieObject.bdmv라는 가상패키지 상의 LFN형식의 파일 패스가 대응되어 있다.
리무버블 미디어에서의 "12345abc/12345678/90abcdef/12345678/90abcdef/ 00001.mts"라는 8.3 형식의 파일 패스에는 BDMV/STREAM/000001.m2ts라는 가상패키지 상의 LFN형식의 파일 패스가 대응되어 있다.
도 13 (b)는 머지 관리정보의 내용을 기초로 하여, BD-ROM 콘텐츠와 리무버블 미디어 상의 추가콘텐츠를 머지하는 모습을 나타내고 있다.
좌측은 BD-ROM의 저장내용을 나타내고, 중간 측은 리무버블 미디어의 저장내용을 나타낸다. 우측은 가상패키지의 저장내용을 나타낸다. 머지 관리정보 파일은 도 13 (a)와 같이 설정되어 있으므로, 리무버블 미디어에서의 저장내용 중 BUDA 디렉터리 바로 아래의 12345abc/12345678/90abcdef/12345678/90abcdef에 존재하는 3개의 추가콘텐츠, 즉 mo.bdm, 00001.mpl, 00001.mts 각각을 화살표 g1, g2, g3로 나타내는 것과 같이 머지 관리정보 파일에 기술되어 있는 가상패키지의 디렉터리 구성에 조합시킨다. 이상과 같은 리무버블 미디어의 파일을 머지 관리정보 파일에 기술되어 있는 디렉터리 구성에 조합시키는 것을 "머지"라고 한다.
이러한 머지에 의해 mo.bdm은 BDMV 디렉터리에 존재하는 "Movie Object.bdmv"라는 별명의 파일명으로 액세스 되게 된다.
또, 00001.mpl은 BDMV 디렉터리 바로 아래의 PLAYLIST 디렉터리에 존재하는 "00001.mpls"라는 별명의 파일명으로 액세스 되게 된다.
00001.mts는 BDMV 디렉터리 바로 아래의 STREAM 디렉터리에 존재하는 "00001.m2ts"라는 별명의 파일명으로 액세스 되게 된다.
상술한 것과 같은 별명 액세스가 가능해지므로 mo.bdm, 00001.mpl, 00001.mts의 각각은 BDMV에 MovieObject.bdmv, BDMV/PLAYLIST/00001.mpls, BDMV/STREAM/00001.m2ts에 존재하는 것으로 취급할 수 있다.
「서명정보파일」은 머지 관리정보 파일에 대한 공급자의 전자적인 서명을 나타내는 파일이며, bdmf.sf라는 파일명으로 DiscID 디렉터리에 보존된다. 전자적인 서명은 일반적으로 개찬방지가 필요한 정보에 대하여 해시 값을 계산하고, 해시 값을 어떤 비밀키를 이용하여 암호화한 것을 이용한다. 개찬방지가 필요한 정보로는, 구체적으로는 추가콘텐츠의 파일명이나 추가콘텐츠를 빌트인 미디어에 기록할 때의 파일 패스를 들 수 있다. 이러한 파일 패스는 LFN형식이며, 머지 관리정보 파일에 기재되어 있으므로, 머지 관리정보 파일에 기재된 파일 패스에 대하여 해시 값이 산출되게 된다. 또, 본 서명정보파일은 BD-ROM 상에 있는 머지 증명서 중의 공개키에 대응하는 비밀키를 이용하여 머지 관리정보 파일의 해시 값이 암호화되어 있다.
「비 AV 스트림의 추가콘텐츠」는 BD-ROM에 기록된 오리지널 콘텐츠에 대하여 추가/갱신을 실현하는 파일 군이며, 리무버블 미디어 상에 8.3 형식(파일명 8 문자 이내, 확장자 3 문자 이내)의 파일명으로 보존된다. DiscID 디렉터리에 대해 서는 문자를 생략하지 않고 모든 문자가 DiscID 디렉터리에서의 디렉터리 명에 나타나도록 변환을 하였으나, 추가콘텐츠에 대해서는 일부의 문자를 리무버블 미디어에서의 파일명으로 사용함으로써 파일명의 단축을 도모하고 있다. 이는 추가콘텐츠에서의 파일명은 본래 BD-ROM 상의 파일명으로, "5 자릿수의 수치 + 수 종류의 확장자"라는 몇 가지의 패턴의 것으로 한정되어 있으므로, 파일명을 구성하는 문자를 일부 생략하였다고 해도 혼동이 발생하는 등의 문제가 발생할 가능성은 매우 적다는 등의 이유에 의한다.
도 12에 나타낸 2개의 추가콘텐츠 중 「00001.mpl」은 플레이리스트 정보를 저장한 것이고, 「mo.bdm」은 Movie 오브젝트를 저장한 것이다. 이들 이외에도, BD-ROM에 기록되어서 사용자에게 공급할 수 있는 파일이라면 BD-ROM에 기록될 다른 파일을 추가콘텐츠의 대상으로서 선택할 수 있다. index.bdmv나 Clip정보를 저장한 파일(확장자가 clip인 파일), Java 아카이브 파일(확장자가 Jar인 파일), BD-J 오브젝트를 저장한 파일(확장자가 bdjo인 파일)을 추가콘텐츠의 대상으로 선택할 수 있다. 이상이 통상 데이터영역에 대한 설명이다.
이어서, 연속 데이터영역의 상세에 대하여 설명한다. 연속 데이터영역에는 AV 스트림 형식의 추가콘텐츠가 기록된다. AV 스트림 형식의 추가콘텐츠에는 「00001.mts」, 「00001.mts」, 「00001.mts」가 있다. 이들은 AV 스트림을 저장한 8.3 형식의 파일이다.
도 14는 도 5에 도시한 BD-J 모듈(29)의 보다 구체적인 구성을 나타내는 동시에, BD-J 모듈에 의해 네트워크상에서 추가콘텐츠를 빌트인 미디어 상 또는 리무 버블 미디어 상에 다운로드 하는 모습을 나타내는 도면이다. BD-J 모듈(29)은 미디어 재생모듈(32), 파일 I/O모듈(34), 네트워크모듈(35), 애플리케이션 매니저(36), 가상파일시스템 관리모듈(39)로 구성된다. 또, 본 도면에서의 AV 재생 라이브러리(25), 네트워크 I/F(21), 빌트인 미디어 드라이브(22a), 리무버블 미디어 드라이브(22b), 가상파일시스템(23)은 도 5에 도시한 것과 동일하며, 미디어 재생모듈(32) ~ 가상파일시스템 관리모듈(39)의 설명을 위해 편의적으로 기재하고 있다.
(미디어 재생모듈(32))
미디어 재생모듈(32)은 BD-J 애플리케이션에 대하여 미디어 재생제어를 위한 API를 제공하고 있다. BD-J 애플리케이션이 미디어 재생제어 API를 호출하면 미디어 재생모듈은 대응하는 AV 재생 라이브러리(25)의 함수를 호출하여 AV 재생제어를 한다.
(파일 I/O 모듈(34))
파일 I/O 모듈(34))은 BD-J 애플리케이션으로부터의 빌트인 미디어 또는 리무버블 미디어로의 액세스 요구의 처리를 한다.
이 액세스 요구가 추가콘텐츠의 기록인 경우, BD-J 애플리케이션은 파일 I/O모듈(34)을 이용하여 추가콘텐츠를 빌트인 미디어 상 또는 리무버블 미디어 상의 적절한 위치에 배치할 수 있다. 또, 필요없는 추가콘텐츠를 삭제하거나 추가콘텐츠를 직접 편집하는 것도 가능하다. 가상패키지 상으로의 액세스도 이 파일 I/O 모듈(34)을 통해서 이루어다. 단, 가상패키지 상으로의 액세스는 판독 전용이 되며, 파일 I/O 모듈(34)로부터의 기록은 불가능하다.
그 액세스 요구가 추가콘텐츠의 판독인 경우, BD-J 애플리케이션으로부터는 BD-ROM에 대한 LFN 형식의 파일 패스가 인도되므로, 리무버블 미디어에 기록되어 있는 파일로서, LFN의 파일 패스에 의해 액세스할 수 있는 것이 리무버블 미디어에 존재하는가 여부의 검색을 한다.
이 검색은 당해 LFN의 파일 패스가 머지 관리정보 파일에서 "별명의 파일 패스"로 기술되어 있는가 여부를 판단함으로써 이루어진다.
이러한 검색에 의해 그 LFN의 파일 패스에 의해 별명으로 액세스할 수 있는 추가콘텐츠가 리무버블 미디어에 존재한다는 것이 명백해진 경우, 머지 관리정보 파일에 기재된 8.3 형식의 파일 패스에 따라서 그 추가콘텐츠를 리무버블 미디어에서 판독한다.
그 LFN의 파일 패스에 의해 별명 액세스할 수 있는 추가콘텐츠가 리무버블 미디어에 존재하지 않는 경우, 그 LFN의 파일 패스에 의해 액세스할 수 있는 추가콘텐츠를 BD-ROM에서 판독한다. 그 LFN의 파일 패스에 의해 액세스할 수 있는 추가콘텐츠가 BD-ROM에도 존재하지 않으면 에러처리를 한다.
(네트워크모듈(35))
네트워크모듈(35)은 BD-J 애플리케이션에 대하여 네트워크 제어를 위한 API를 제공하고 있다. BD-J 애플리케이션으로부터의 네트워크 제어요구에 따라서 네트워크 인터페이스(21)를 사용하여 네트워크 접속을 한다. BD-J 애플리케이션은 네트워크모듈(35)을 이용하여 공개되어 있는 추가콘텐츠를 검색하여 빌트인 미디어/리무버블 미디어에 다운로드 할 수 있다.
이러한 네트워크를 통한 추가콘텐츠의 취득을 실현하므로, 과제해결수단에서의 취득수단은 이 네트워크모듈(35)에 해당하게 된다.
(애플리케이션 매니저(36))
애플리케이션 매니저(36)는 시스템 애플리케이션이며, 애플리케이션 시그널링을 실행한다. "애플리케이션 시그널링"이란 GEM 1.0.2가 규정하는 MHP(Multimedia Home Platform)에 있어서 "서비스"를 생존구간으로 하여 애플리케이션의 기동, 실행을 행하는 제어를 말한다. BD-ROM 재생장치에서의 애플리케이션 매니저는 이 "서비스" 대신에, BD-ROM에서의 "타이틀"을 생존구간으로 하여 애플리케이션의 기동 및 실행의 제어를 실현한다. 여기서, "타이틀"은 BD-ROM에 기록되어 있는 영상 및 음성 데이터의 재생단위이며, 애플리케이션 관리테이블(AMT)이 고유하게 할당되어 있다.
타이틀 바운더리의 애플리케이션 시그널링은 index.bdmv 파일에 의거한 타이틀의 선택이 이루어진 때에 앞의 타이틀에 대응하는 애플리케이션 관리테이블(AMT)과 현재 타이틀에 대응하는 애플리케이션 관리테이블(AMT)을 이용하여 실행되는 시그널링을 말한다. 이 시그널링은 앞의 타이틀에 대응하는 AMT에는 기재되어 있으나 현재 타이틀에 대응하는 AMT에는 기재되어 있지 않은 애플리케이션의 동작을 종료시키고, 앞의 타이틀에 대응하는 AMT에는 기재되어 있지 않고 현재 타이틀에 대응하는 AMT에는 기재되어 있는 애플리케이션의 동작을 개시시킨다고 하는 제어이다.
index.bdmv 파일은 디스크 상의 타이틀 구성이 기재된 파일이며, 디스크 상의 각 타이틀과 대응하는 애플리케이션(BD-J 모드 타이틀이면 Java(TM) 애플리케이 션, HDMV 모드 타이틀이면 시나리오 프로그램)의 참조관계를 관리하고 있다. 도 15는 index.bdmv 파일과 타이틀의 관계를 나타내는 도면이다. 타이틀은 애플리케이션과 AV 스트림을 세트로 한 재생단위이며, 또 특수한 타이틀로서 「FirstPlay」과 「Top Menu」가 존재한다. 「FirstPlay」는 BD기동시에 자동으로 재생되는 타이틀이며, 주로 BD의 이용규약표시 등에 이용된다. 「Top Menu」는 리모컨의 메뉴 키를 누른 때나 타이틀 재생이 종료한 때에 재생되며, 주로 타이틀의 선택이나 자막/음성의 언어선택을 하는데 이용된다. 이 index.bdmv 파일이 가상패키지 갱신에 의해 내용이 변화한 경우, 가상패키지 갱신 전과 갱신 후에 타이틀 구성이 달라진다.
(DiscID 확인모듈(37))
DiscID 확인모듈(37)은 삽입된 BD-ROM의 DiscID를 확인한다. DiscID 확인모듈(37)에 의해 취득된 DiscID의 값은 가상파일시스템(23)이 가상패키지를 구축할 때에 이용된다.
(리무버블 미디어 검지모듈(38))
리무버블 미디어 검지모듈(38)은 리무버블 미디어의 삽입 및 인출의 모니터링을 한다. 리무버블 미디어의 삽입 및 인출이 행해지면 가상파일시스템(23)에 삽입 및 인출통지를 한다.
(가상파일시스템 관리모듈(39))
가상파일시스템 관리모듈(39)은 BD-J 애플리케이션으로부터의 가상패키지 구축/갱신요구를 수신하고, 그 요구내용을 가상파일시스템(23)에 전달한다. Java(TM) 애플리케이션은 가상패키지를 구축/갱신하는 경우에는 새로운 머지 관리정보 파일 및 서명정보 파일을 지정하여 구축/갱신요구를 발행한다. 가상파일시스템(23)은 가상파일시스템 관리모듈(39)을 통해서 가상패키지 구축/갱신요구를 접수하면, 새로 지정된 서명정보 파일을 이용하여 새로운 머지 관리정보 파일의 서명검증을 한 후, 오래된 머지 관리정보 파일, 서명정보파일을 새로운 머지 관리정보 파일, 서명정보 파일로 치환하여 가상패키지를 재구축한다. 머지 관리정보 파일, 서명정보 파일의 치환은 타이틀 절환시에 행해진다. 이어서, 타이틀에 대한 설명을 한다.
(추가콘텐츠를 기록할 때의 주의사항)
이하, 통상 데이터영역에 AV 스트림 형식의 추가콘텐츠를 기록할 때의 주의 사항에 대하여 설명한다.
콘텐츠 개발자는 재생장치에 파일 종별이 AV 스트림 형식의 추가콘텐츠임을 인식시키기 위해서 AV 스트림 형식의 추가콘텐츠에는 "mts"라는 확장자를 부여해야 한다. 구체적으로는, AV 스트림 형식의 추가콘텐츠는 BD-J 애플리케이션에 의해 다운로드 되므로, BD-J 애플리케이션이 다운로드를 하여 로컬 스토리지에 AV 스트림 형식의 추가콘텐츠를 기록할 때, AV 스트림 형식의 추가콘텐츠에는 "mts"라는 확장자를 부가하여야 한다. 그리고 재생장치는 이 확장자가 부가된 AV 스트림 형식의 추가콘텐츠를 로컬 스토리지에서의 연속 데이터영역에 기록해야 한다. 애플리케이션으로부터의 요구에 따라서 AV 스트림 형식의 추가콘텐츠의 기록을 행하는 것은 파일 I/O모듈(34)이므로, 파일 I/O모듈(34)은 연속 데이터영역, 즉 할당유닛을 확보하여 AV 스트림 형식의 추가콘텐츠로 기록할 필요가 있다.
(BD-J 애플리케이션에서의 다운로드 순서의 기술)
BD-J 애플리케이션에 의해 다운로드를 실현하기 위해서는 소정의 API를 이용함으로써 네트워크모듈(35)에 URL 커넥션을 구축시켜서, 파일 I/O모듈(34)로 하여금 리무버블 미디어에 대한 기록을 하게 할 필요가 있다. 이하, 다운로드 순서의 기술에 이용되는 API에 대하여 설명한다.
· URL Connection(URL url)
인수에 의해 지정된 URL에 대하여 URL 커넥션을 확립한다.
· getInputStream()
이 API를 콜 한 때 URL 커넥션으로부터의 입력을 수신하는 입력 스트림이 반환 값으로서 애플리케이션에 되돌아온다.
또, getInputStream()의 메소드로는 이하의 것을 사용한다.
· read(byte[] b)
입력 스트림에서 인수에 의해 지정된 바이트 수 byte[]를 판독하고, 그것을 바이트 배열로 저장한다.
· FileOutputStream(String name)
인수가 되는 String name은 절대 파일 패스를 의미한다. BD-J 애플리케이션에 의해 이 API가 콜 된 때, 절대 파일 패스로 지정된 파일 오브젝트에 기록하기 위한 출력파일 스트림 j를 작성한다. 또, append 인수를 이용한 경우, 기존 파일로의 추기가 가능해진다.
또, FileOutputStream()의 메소드로는 이하의 것을 사용한다.
· write(byte[] b)
지정된 바이트 배열의 b.length 바이트를 출력파일 스트림 j에 기록한다.
도 16은 파일 I/O 모듈(34)을 통한 통상 데이터영역 또는 연속 데이터영역에 대한 데이터 기록을 모식적으로 나타내는 도면이다. 하단은 리무버블 미디어에서의 통상 데이터영역 및 연속 데이터영역의 세트를 나타내고, 중단은 BD-J 모듈(14)과 그 내부의 파일 I/O 모듈(34)을 나타낸다. 상단은 BD-J 애플리케이션을 나타낸다. 화살표 yk1은 기록요구를 나타내고, 화살표 yk2, yk3은 그 요구에 따른 AV 스트림 형식의 추가콘텐츠의 기록, 비 AV 스트림 형식의 추가콘텐츠의 기록이라는 일련의 데이터의 흐름을 모식적으로 나타낸다. 이 데이터의 흐름을 쫓아가면, 추가콘텐츠의 기록요구가 이루어진 경우, AV 스트림인가 여부의 판별이 스트림/비 스트림 판별부(1201)에 의해 이루어지며, 결과가 AV 스트림 형식의 추가콘텐츠이면 연속 데이터영역에 AV 스트림 형식의 추가콘텐츠가 기록되게 된다. 결과가 비 AV 스트림의 추가콘텐츠이면 연속 데이터영역에 비 AV 스트림의 추가콘텐츠가 기록되게 된다.
도 17은 리무버블 미디어로의 다운로드의 처리순서를 나타내는 플로차트이다. 빌트인 미디어인 리무버블 미디어의 BUDA의 아래에 160비트의 CertID 중 선두 32비트를 디렉터리 명으로 한 CertID 디렉터리를 구축한다(스텝 S1). 그 CertID 디렉터리의 아래에, 이번에는 OrganizationID를 디렉터리 명으로 한 OrganizationID 디렉터리를 구축한다(스텝 S2). 그 후, 128비트의 DiscID를 32비트별로 4개의 문자열로 분할하고, 4개의 문자열을 각각 디렉터리 명으로 한 4 계층의 DiscID 디렉터리를 OrganizationID 디렉터리의 아래에 구축한다(스텝 S3).
이상의 처리로 리무버블 미디어를 위한 디렉터리 구성을 구축한 후, 머지 관 리정보 파일, 서명정보파일을 다운로드 하여 DiscID 디렉터리 중 최하층에 저장한다(스텝 S4). 이어서 추가콘텐츠의 다운로드를 한다(스텝 S5). 이렇게 하여 추가콘텐츠의 다운로드가 이루어지면, 머지 관리정보 파일에서의 파일명, 디렉터리 명의 변경에 따라서 서명정보파일을 변경한다(스텝 S6). 즉, 공급자 측에서는, 개찬방지를 위해서 파일 패스가 변경되기 전의 빌트인 미디어에서의 LFN 형식에 대응한 파일 패스에 대하여 해시 값을 산출하고, 그렇게 산출한 해시 값을 서명정보파일에 기술하고 있다. 재생장치는 해시 값의 산출대상이 된 파일 패스를 LFN에서 8.3 형식으로 변경하고 있으므로, 그 변경에 따라서 서명정보파일 내의 해시 값을 재계산할 필요가 있다. 그와 같은 파일 패스 변경에 추종하여 해시 값의 재계산을 하고 있는 것이 스텝 S6이다.
도 18은 추가콘텐츠의 다운로드 처리의 처리순서를 나타내는 플로차트이다. 본 플로차트는 머지 관리정보에 기재되어 있는 각각의 추가콘텐츠에 대하여 스텝 S13~스텝 S19의 처리를 반복한다고 하는 루프구조로 되어 있다(스텝 S11, 스텝 S12). 루프에서 처리순서가 되는 추가콘텐츠를 추가콘텐츠 i라 부른다. 이 스텝 S13~스텝 S19의 처리순서는 이하와 같다. 우선 먼저, 추가콘텐츠를 다운로드하기 위한 URL 커넥션을 구축하고(스텝 S13), 구축한 URL 커넥션에서 수신하는 입력 스트림 i을 취득하여(스텝 S14), 입력 스트림 i의 파일명을 8.3 형식으로 변환해서 파일명 B, 확장자 E를 얻는다(스텝 S15). 그 후, BUDA/CertID/organizationID /DiscID/파일명 B+확장자 E라는 형식의 절대 파일 패스를 생성하고(스텝 S16), 생성한 절대 파일 패스를 이용한 FileOutputStream(절대 파일 패스 FP)의 콜에 의해 출력파일 스트림 j를 작성하며(스텝 S17), Read(byte[] b)의 콜에 의해 입력 스트림 i에서 byte[]를 판독하고, 버퍼 배열 n에 저장한다(스텝 S18). 마지막으로, write(byte[] b)의 콜에 의해 버퍼 배열 b에서의 byte[]를 출력파일 스트림 j에 기록한다(스텝 S19).
도 19는 WriteAPI의 처리순서를 나타내는 플로차트이다. 본 플로차트는 절대 파일 패스에 대응하는 파일 엔트리가 리무버블 미디어에 이미 존재하는가 여부를 판정하는 스텝(스텝 S21), 출력파일 스트림 j의 파일 종별을 판정하는 스텝(스텝 S22), 하나 이상의 비어 있는 할당유닛이 존재하는가 여부를 판정하는 스텝(스텝 S23), 출력파일 스트림 j의 파일 종별을 판정하는 스텝(스텝 S27), 요구된 기록이 추기 또는 오버라이트인가를 판정하는 스텝(스텝 S28)을 구비하고, 이들 판정스텝의 판정결과에 의해 처리를 스위칭하는 구조로 되어 있다.
스텝 S21에서의 판정스텝은 출력파일 스트림 j가 기록이 완료되었는가 여부의 판정이고, 만약 미기록이면 스텝 S22~스텝 S26의 처리로 이행한다. 스텝 S22는 출력파일 스트림 j의 파일 종별이 AV 스트림 형식의 추가콘텐츠인가, 비 AV 스트림 형식의 추가콘텐츠인가의 판정이며, 만약 AV 스트림 형식의 추가콘텐츠이면 하나 이상의 비어 있는 할당유닛이 존재하는가 여부를 판정한다(스텝 S23). 그 결과, 비어 있는 할당유닛이 존재하면 출력파일 스트림 j를 비어 있는 할당유닛에 기록하고(스텝 S24), 출력파일 스트림 j를 닫는다(스텝 S26).
스텝 S23에서는 기록하고자 하는 AV 스트림 형식의 추가콘텐츠가 할당유닛 사이즈보다 작은가 여부를 판정하고, 만약 작으면 하나의 할당유닛이 존재하는가 여부가 판정되게 된다. 기록하고자 하는 AV 스트림 형식의 추가콘텐츠가 크면 그 AV 스트림 형식의 추가콘텐츠를 저장하기에 충분한 2 이상의 할당유닛이 존재하는가 여부를 판정하게 된다.
스텝 S24에서의 기록에서는 기록하고자 하는 AV 스트림 형식의 추가콘텐츠가 할당유닛 사이즈보다 작으면 하나의 할당유닛에 당해 AV 스트림을 기록한다. 기록하고자 하는 AV 스트림 형식의 추가콘텐츠가 할당유닛 사이즈보다 크면 AV 스트림 형식의 추가콘텐츠를 할당유닛의 사이즈로 분할하고, 확보된 2 이상의 할당유닛에 분할부분을 기록하게 된다. 이러한 기록에 있어서 기록된 AV 스트림 형식의 추가콘텐츠 또는 그 분할부분이 할당유닛의 사이즈에 충분하지 않은 경우에는 그 할당유닛을 구성하는 복수의 논리블록은 일부가 빈 영역이 된다.
비어 있는 할당유닛이 없으면, 출력파일 스트림 j 중 버퍼 배열 b에서 지정되어 있는 부분을 빈 논리블록에 기록하고 나서 출력파일 스트림 j를 닫는다(스텝 S26).
절대 파일 패스에 대응하는 파일 엔트리가 존재하고, 출력파일 스트림 j가 기록이 완료된 경우에는 스텝 S21이 Yes가 되며, 스텝 S27로 이행한다. 스텝 S27은 출력파일 스트림 j의 파일 종별을 판정하는 스텝으로, 만약 출력파일 스트림 j가 AV 스트림 형식의 추가콘텐츠이면 스텝 S28에서 요구된 기록은 추기 또는 오버라이트인가를 판정한다. 추기이면 기록이 완료된 AV 스트림 형식의 추가콘텐츠를 판독하고, 출력파일 스트림 j를 일체로 한 후(스텝 S29), 기록이 완료된 AV 스트림 형식의 추가콘텐츠를 소거한다(스텝 S30). 그 후, 스텝 S23으로 이행하여 비어 있는 할당유닛을 검색한 후, 출력파일 스트림 j를 비어 있는 할당유닛에 기록한다(스텝 S23, 스텝 S24).
도 20은 할당유닛에 대한 추기의 처리과정을 연속 사진적인 표기로 도시한 도면으로, 초기상태, 중간상태, 최종상태로 이루어진다. 초기상태에서는 출력파일 스트림 j가 메모리에 존재하고 있고, 기록이 완료된 할당유닛에는 00001.mts가 존재하는 상태를 상정하고 있다. 중간상태에서는 스텝 S29의 처리가 이루어져 있는 상태이며, 화살표 RD1에 나타낸 바와 같이, 00001.mts가 메모리에 판독되어서 출력파일 스트림 j와 일체화된다. 최종상태에서는 스텝 S30, 스텝 S24의 처리가 이루어져 있는 상태이며, 00001.mts와 일체가 된 출력파일 스트림 j가 화살표 WR1로 나타낸 것과 같이 비어 있는 할당유닛에 기록되고, 기록이 완료된 할당유닛에서의 00001.mts가 소거되어 있다.
도 21은 할당유닛에 대한 오버라이트의 처리과정을 연속 사진적인 표기로 나타낸 도면으로, 초기상태, 최종상태로 이루어진다. 초기상태에서는 출력파일 스트림 j가 메모리에 존재하고 있고, 기록이 완료된 할당유닛에는 00001.mts가 존재하는 상태를 상정하고 있다. 최종상태는 스텝 S30, 스텝 S24의 처리가 이루어져 있는 상태이며, 화살표 WR2로 나타낸 것과 같이, 00001.mts와 일체가 된 출력파일 스트림 j가 비어 있는 할당유닛에 기록되고, 기록이 완료된 할당유닛에서의 00001.mts가 소거되어 있다.
도 22는 파일 종별 판별의 처리순서를 나타내는 플로차트이다. 스텝 S31은 출력파일 스트림 j의 확장자 E가 .mts인가 여부의 판정이며, 만약 mts이면 출력파 일 스트림 j가 AV 스트림 형식의 추가콘텐츠라는 판정결과를 내린다(스텝 S33). 만약, mts가 아니면 출력파일 스트림 j가 비 AV 스트림 형식의 추가콘텐츠라고 판정결과를 내린다(스텝 S332).
도 23은 추가콘텐츠의 파일명을 8.3 형식으로 변환하는 처리의 순서를 나타내는 플로차트이다.
스텝 S43은 추가콘텐츠 i의 파일명에서의 파일 보디 i가 8 문자 이내인가 여부의 판정이다. 파일 보디가 8 문자 이내이면 스텝 S44에서 입력 스트림 파일 i의 파일 보디를 파일 보디 B로 한다. 8 문자 이내가 아니면 스텝 S45를 실행한다. 스텝 S45는 추가콘텐츠 i의 파일 보디가 모두 숫자인가/알파벳을 포함하는가에 대한 판정이다.
만약, "모두 숫자"이면 스텝 S46에서 추가콘텐츠 i의 파일 보디의 하위 8 자릿수의 숫자를 파일 보디 B로 한다. 추가콘텐츠 i의 파일 보디가 "모두 알파벳"이면 스텝 S47에서 알파벳의 대문자로부터 이니셜 문자를 생성하고, 그 이니셜 문자를 소문자로 한 것을 파일 보디 B로 채용한다.
스텝 S48은 추가콘텐츠 i의 파일명에서의 확장자가".m2ts"인가 여부의 판정이다. 확장자가 ".m2ts"이면 ".mts"를 추가콘텐츠 i의 확장자 E로 한다(스텝 S49). 3 문자 이내가 아니면 추가콘텐츠 i의 확장자의 상위에서부터 3 자릿수의 문자를 확장자 E로 한다(스텝 S50). 이상의 처리 후, 파일 보디 B와 확장자 E와의 조합(플로차트에서는 "파일명 B, E"로 기재하고 있다)을 이용하여 추가콘텐츠의 리무버블 미디어에서의 파일 패스를 생성하고(스텝 S51), 머지 관리정보 파일에서의 로컬 스 토리지의 파일 패스를 새로 생성한 8.3 형식의 파일명으로 치환한다(스텝 S52).
도 24는 타이틀 절환시에 신구 머지 관리정보 파일을 치환하여 가상패키지의 재구축을 하기 위한 처리순서를 나타내는 플로차트이다. BD-J 모드용의 타이틀이 재생되고(스텝 61), 타이틀 재생 중에 Java(TM) 애플리케이션은 가상패키지 갱신요구를 한다(스텝 S62).
가상패키지 갱신요구시에 부여하는 인수의 값은 신 머지 관리정보 파일의 위치를 나타내는 파일 패스, 신 머지 관리정보 파일에 대응하는 서명정보파일의 위치를 나타내는 파일 패스이다.
가상파일시스템(23)이 가상패키지 갱신요구를 수신하면, 가상 패일 시스템(23)의 상태를 「갱신 준비중」으로 하고, 지정된 신 머지 관리정보 파일이 치환되지 않도록 판독전용 속성으로 변경한다(스텝 S63). 그리고 가상패키지 갱신요구시에 지정된 서명정보파일을 이용하여 신 머지 관리정보 파일의 서명검증을 한다(스텝 S64).
스텝 S64의 서명검증에 실패한 경우(스텝 S65에서 No)에는 가상파일시스템(23)은 가상패키지 갱신요구를 중단하고, 신 머지 관리정보 파일의 속성을 판독 전용에서 가상패키지 갱신요구 전의 원래의 속성으로 되돌리며, Java(TM) 애플리케이션에 대하여 가상패키지 갱신요구 거부통지 이벤트를 보낸다(스텝 S69).
스텝 S64의 서명검증에 성공한 경우(스텝 S65에서 Yes)에는 가상파일시스템(32)은 신 머지 관리정보 파일이 참조하고 있는 빌트인 미디어/리무버블 미디어 상의 파일의 존재를 체크하고, 이들 파일을 Java(TM) 애플리케이션에서 판독 전용 이 되도록 속성을 변경한다(스텝 S66).
신 머지 관리정보 파일로부터 참조되고 있어서 가상패키지 구축에 필요한 파일이 빌트인 미디어/리무버블 미디어 상에 존재하지 않은 경우(스텝 S67에서 No)에는 가상파일시스템(23)은 가상패키지 갱신처리를 중단하고, 스텝 S63 및 스텝 S66에서 속성을 변경한 파일을 가상패키지 갱신요구 전의 속성으로 되돌리며, Java(TM) 애플리케이션에 대하여 가상패키지 갱신요구 거부통지 이벤트를 보낸다(스텝 S69).
신 머지 관리정보 파일에서 참조되고 있어서 가상패키지 구축에 필요한 파일이 빌트인 미디어/리무버블 미디어 상에 모두 존재해 있다고 확인되고, 또 이들 파일의 속성을 Java(TM) 애플리케이션에서 판독 전용으로 변경하는 처리가 완료하면(스텝 S67에서 Yes), 가상파일시스템(23)은 가상파일시스템의 상태를 「갱신준비 완료」로 하고, Java(TM) 애플리케이션에 대하여 갱신준비 완료통지 이벤트를 보낸다.
가상파일시스템(23)의 상태가 「갱신준비 완료」가 된 후에 타이틀 절환이 발생하는 것을 기다린다(스텝 S68). 타이틀 절환이 발생하면, 절환 전의 타이틀에서 기동한 Java(TM) 애플리케이션은 종료한다(스텝 S70). 그 후, 구 머지 관리정보 파일이 존재하면 신 머지 관리정보 파일로 오버라이트하고, 신구 머지 관리정보 파일의 치환을 한다(스텝 S71). 가상패키지 갱신 전이 오리지널 BD-ROM에서 재생되고 있고, 구 머지 관리정보 파일이 원래 존재하지 않은 경우에는, 구 머지 관리정보 파일을 오버라이트 하는 대신에, 신 머지 관리정보 파일은 삽입되어 있는 BD-ROM의 DiscID에 대응하는 DiscID 디렉터리의 아래로 이동되어 정규의 머지 관리정보 파일명으로 리네임(rename) 된다. 마찬가지로 서명정보파일에 대해서도 신구 파일의 치환, 이동을 한다.
신구 머지 관리정보 파일, 서명정보파일의 치환 또는 파일의 이동을 종료한 후, 신 머지 관리정보 파일을 원래의 가상패키지로 재구축한다(스텝 S72).
가상패키지 재구축 후, 구 머지 관리정보 파일에서 참조되고 있었으나 신 머지 관리정보 파일에는 참조되고 있지 않은 빌트인 미디어/리무버블 미디어 상의 파일은 판독전용 속성이 해제되어 Java(TM) 애플리케이션에서 판독 가능하게 된다. 신 머지 관리정보 파일 및 신 머지 관리정보 파일이 참조하고 있는 빌트인 미디어, 리무버블 미디어 상의 파일에 관해서는 판독전용 속성인 상태가 된다.
가상패키지의 재구축을 종료하면, 새로 구축한 가상패키지를 이용하여 절환처의 타이틀 재생을 개시한다(스텝 S61). 재생 중의 가상패키지에 대응하는 머지 관리정보 파일 및 그 머지 관리정보 파일이 참조하고 있는 빌트인 미디어/리무버블 미디어 상의 파일은 가상패키지 재생 중 항상 판독전용 속성이 되며, Java(TM) 애플리케이션으로부터는 편집 및 삭제할 수 없다.
도 25는 Java(TM) 애플리케이션이 가상패키지 구축/갱신요구를 발행하여, 가상패키지가 갱신될 때까지의 시간적인 처리의 흐름을 나타내는 도면이다.
제 1 단째는 타이틀의 재생시간 축이고, 제 2 단째는 애플리케이션 #1의 동작시간 축이다. 제 3 단째는 애플리케이션 #2의 동작시간 축이고, 제 4 단째는 가상파일시스템의 상태천이를 나타내는 시간 축이다.
본 도면의 초기상태로서 상정하는 것은 새로운 머지 관리정보 파일, 서명정보파일의 저장이 완료한 상태이다. 즉, 추가콘텐츠에 더하여 현재의 가상패키지 구축에 이용되고 있는 머지 관리정보 파일, 서명정보파일은 따로 새롭게 머지 관리정보 파일, 서명정보파일을 인터넷상의 서버에서 다운로드 하여 얻어서, 빌트인 미디어 상 또는 리무버블 미디어 상에 저장한 상태를 초기상태로 상정한다.
타이틀 #1의 재생 중의 시점 t1에서 BD-J 애플리케이션은 가상파일시스템 관리모듈(39)이 제공하는 API를 통해서 가상파일시스템(23)에 가상패키지 구축/갱신을 요구한다. 도면 중의 requestUpdating("/org#1/disc#1/new.xml","/org#1/ disc#1/new.sf")는 이 가상패키지 구축요구가 되는 API 호출이다. 이 가상패키지 구축요구의 인수 "/org#1/disc#1/new.xml","/org#1/disc#1/new.sf"는 빌트인 미디어/리무버블 미디어 상에 저장되어 있는 신 머지 관리정보 파일, 서명정보파일의 위치를 지정한 파일 패스이다. 시점 t1은 이 갱신요구가 이루어진 시점을 나타낸다.
시점 t1은 BD-J 애플리케이션으로부터의 가상패키지 구축/갱신요구를 수신하고, 그 상태를 「갱신 준비 중」으로 천이하는 시점이다.
여기서, 「갱신 준비 중」은 지정된 신 머지 관리정보 파일 및 신 머지 관리정보 파일이 참조하고 있는 빌트인 미디어/리무버블 미디어 상의 파일을 판독 전용으로 속성을 변경하는 처리를 포함한다.
이러한 처리 외에, 가상패키지 갱신 요구시에 BD-J 애플리케이션으로부터 지정된 서명정보파일을 이용하여 신 머지 관리정보 파일의 서명검증을 하고, 또한 신 머지 관리정보 파일의 파일 저장위치정보에 기재되어 있는 파일이 모두 지정된 위치에 존재하는가의 체크를 한다.
시점 t2는 파일 존재의 체크가 종료한 후, 가상파일시스템의 상태를 「갱신준비 완료」로 하는 시점을 나타낸다. 이렇게 하여 상태를 천이시키면, Java(TM) 애플리케이션에 대하여 갱신준비 완료통지 이벤트를 보낸다. 신 머지 관리정보 파일의 서명검증 또는 파일 저장위치정보에 기재되어 있는 파일의 존재 체크에 실패한 경우, 가상파일시스템(23)은 갱신요구를 거부하고, 가상파일시스템 관리모듈(39)을 통해서 갱신요구 거부통지 이벤트를 BD-J 애플리케이션에 대하여 보내고, 가상파일시스템(23)의 상태를 「갱신준비 중」이 되기 전의 상태(「가상패키지 재생상태」 혹은 「BD-ROM 재생상태」)로 되돌린다. 「가상패키지 재생상태」란 BD-ROM이 재생장치에 로드되어, 가상파일시스템(23)에 의해 가상패키지로서 재생 중이며, 보류 중인 가상패키지 갱신요구가 없는 상태를 가리킨다. 「BD-ROM 재생상태」는 BD-ROM이 재생장치에 로드되어, 그대로 오리지널 BD-ROM으로서 재생 중이며, 마찬가지로 보류 중인 가상패키지 갱신요구가 없는 상태를 가리킨다.
시점 t3은 가상파일시스템(23)의 상태가 「갱신준비 완료」가 된 후의 시점을 나타낸다. 타이틀 절환이 발생하면, 가상파일시스템(23)은 가상패키지 갱신요구시에 지정된 신 머지 관리정보 파일을 이용하여 구 머지 관리정보 파일(현재의 가상패키지 구축에 이용되고 있는 머지 관리정보 파일)을 오버라이트 함으로써 구 머지 관리정보 파일을 신 머지 관리정보 파일로 치환한다.
가상패키지 갱신 전이 오리지널 BD-ROM의 재생 중이고, 구 머지 관리정보 파 일이 원래 존재하지 않는 경우에는, 구 머지 관리정보 파일을 오버라이트 하는 대신에 신 머지 관리정보 파일을 삽입되어 있는 BD-ROM의 DiscID에 대응하는 DiscID 디렉터리의 아래로 이동한다. 이렇게 함으로써 신 머지 관리정보는 정규의 머지 관리정보 파일명(bumf.xml)으로 리네임이 된다. 서명정보파일도 머지 관리정보 파일과 마찬가지로 신구 서명정보파일의 치환을 한다. 신구 머지 관리정보 파일, 서명정보파일의 치환 또는 신 머지 관리정보 파일, 서명정보파일의 이동이 종료한 후, 가상파일시스템(23)은 삽입되어 있는 BD-ROM의 DiscID에 대응하는 DiscID 디렉터리의 아래에 저장되어 있는 신 머지 관리정보를 기초로 가상패키지를 재구축하고, 가상패키지의 파일 구성을 갱신하다.
시점 t4는 이러한 갱신을 종료한 시점이며, 빌트인 미디어 드라이브 · 리무버블 미디어 드라이브(22)는 "가상패키지 재생상태"가 된다. 가상패키지를 갱신한 후에도 가상패키지 재생상태인 기간은 신 머지 관리정보 파일 및 신 머지 관리정보 파일의 파일 저장위치정보가 가리키는 빌트인 미디어/리무버블 미디어 상의 파일은 판독전용 속성인 상태가 된다. 단, 구 머지 관리정보 파일에서 참조되고 있고, 신 머지 관리정보 파일에서 참조되고 있지 않은 파일은 판독전용 속성이 해제되며, Java(TM) 애플리케이션으로부터 판독 가능해지게 된다.
(제 2 실시 예)
추가콘텐츠를 추가콘텐츠 저장영역에 기록하고자 할 때에 연속 데이터영역 또는 통상 데이터영역에서의 비어 있는 논리블록이 부족한 경우가 있다. 본 실시 예는 비어 있는 논리블록이 부족한 때의 에러 핸들링(error handling)을 고려한 실 시 예이다.
도 26은 연속 데이터영역의 빈 영역이 부족한 경우의 에러 핸들링을 고려한 로컬 스토리지의 기록순서를 나타내는 플로차트이다. 본 도면의 플로차트는 도 19를 기초로 작성되었으며, 이 기초가 되는 플로차트에서 스텝 S22(스텝 S27), 스텝 23, 스텝 S24, 스텝 S25에 개량을 가하는 형식으로 기재되어 있다.
스텝 S22, 스텝 S27에서 대상 파일이 AV 스트림 형식의 추가콘텐츠라고 판단된 경우, 연속 데이터영역에 AV 스트림을 기록할 수 있는 할당유닛인가 여부를 판단한다(스텝 S23). 연속 데이터영역의 빈 용량이 확인된 경우에는 스텝 S24에서 연속 데이터영역에서의 비어 있는 할당유닛에 AV 스트림을 기록한다.
연속 데이터영역의 빈 용량이 부족하고, 비어 있는 할당유닛이 존재하지 않는 경우에는 프레그멘테이션에 의해 실시간의 판독성능을 보증할 수 없을 가능성이 있으므로, 사용자에 대하여 재생이 지장이 생길 가능성이 있음을 통지한 후에(스텝 S81) 스텝 S25로 이행한다. 도 27은 연속 데이터영역에 기록할 수 없었던 경우의 사용자에 대한 통지의 일례이다. 도 27에서는 스토리지의 빈 용량이 충분히 존재하지 않고, 따라서 정당하게 기록할 수 없으며, 재생에 지장이 생길 가능성이 있음을 화면에 표시하고 사용자에게 통지하고 있다.
도 28은 AV 스트림의 기록에 실패한 경우의 에러 핸들링을 고려한 로컬 스토리지의 기록순서를 나타내는 플로차트이다. 본 도면의 플로차트는 스텝 S22(스텝 S27), 스텝 S23, 스텝 S24, 스텝 S25에 개량을 가하는 형태로 기재되어 있다.
도 26의 플로차트에서는, 연속 데이터영역에 공간이 없고, 통상 데이터영역 에 공간이 있는 경우에는 AV 스트림을 통상 데이터영역에 기록하는 것으로 하고 있으나, 이 경우, 재생에 지장이 생길 가능성이 있다. 도 28의 플로차트에서는 재생품질을 중시하여, 통상 데이터영역에 공간이 있어도 연속 데이터영역에 공간이 없으면(스텝 S23에서 공간 없음) AV 스트림의 기록에 실패했다는 취지를 사용자에게 통지하고 있다(스텝 S83).
한편, 통상 데이터영역에 빈 용량이 없으면 기록 처리를 하지 않고, 스텝 S83에서 사용자에 대하여 기록에 실패하였음을 통지한다.
도 29는 기록 처리에 실패했음을 사용자에게 나타내는 화면 표시의 일례이다. 스토리지에 빈 용량이 존재하지 않고, 따라서 기록에 실패했음을 통지하는 동시에 필요없는 데이터 소거를 촉구하는 메시지를 출력하고 있다.
이상과 같이 본 실시 예에 의하면, Java(TM) 애플리케이션으로부터 다양한 종류의 파일이 포함된 가상패키지의 추가콘텐츠의 기록요구가 발행된 경우에도, 추가된 스트림의 실시간 재생을 보증하면서 스토리지 용량의 효율적인 이용이 가능해진다.
(제 3 실시 예)
본 실시 예는 통상 데이터영역 및 연속 데이터영역 중 어느 하나에 추가콘텐츠를 기록해 두고, 가상패키지의 구축이 요구된 때에 사후적으로 추가콘텐츠를 이동한다고 하는 수법에 의해 통상 데이터영역 및 연속 데이터영역에서의 배치를 완성시키고자 하는 개량이다. 본 실시 예에서의 배치에는 도 30에 도시한 것과 도 31에 도시한 것 및 도 32에 도시한 것이 있다.
도 30 (a)는 제 3 실시 예에서의 로컬 스토리지의 기록 처리의 플로차트이다. 본 플로차트에서는 기록 전의 파일 종류 판별을 하지 않고, 모두 통상 데이터영역에 기록한다(S100).
도 30 (b)는 제 3 실시 예에서의 파일 종류 판별의 플로차트이다. 파일의 기록은, 일단 모든 데이터영역에 기록해 두고, Java(TM) 애플리케이션에서 가상패키지 갱신요구가 있은 타이밍에 Java(TM) 애플리케이션으로부터 지정된 신 머지 관리정보 파일을 기초로 파일 종류 판별을 한다(S101). 여기에서의 파일 종별의 판별은 신 머지 관리정보에서, 가상패키지 상에서 AV 스트림 형식의 추가콘텐츠 파일로 맵핑이 되어 있는 파일, 즉 가상패키지 상에서 "BDMV/STREAM/xxxxx.m2ts"라는 파일명으로 취급되는 파일에 대해서는 AV 스트림 형식의 추가콘텐츠로 판단하는 것이다.
만약, AV 스트림 형식의 추가콘텐츠가 존재하면(스텝 S102) 빈 할당유닛이 존재하는가 여부를 판정하고(스텝 S103), 빈 할당유닛이 있으면 AV 스트림 형식의 추가콘텐츠 파일을 할당유닛으로 이동한다(스텝 S104). 이렇게 함으로써 AV 스트림 형식의 추가콘텐츠를 연속 데이터영역에 재배치한다.
도 31 (a)는 빈 할당유닛이 존재하는가 여부의 판정을 하고(스텝 S110), 만약 존재하면 기록이 요구된 추가콘텐츠를 일단 모든 연속 데이터영역에 기록한다(S111).
도 31 (b)는 Java(TM) 애플리케이션으로부터의 가상패키지 갱신요구시의 처리순서를 나타내는 플로차트이다. 스텝 S121에서는 신 머지 관리정보에서 가상패키지 상에 비 스트림 파일로 되어 있는 파일을 추출함으로써 각 추가콘텐츠의 파일 종별을 판별한다(스텝 S121). 그 후, 비 AV 스트림 형식의 추가콘텐츠가 존재하는가 여부의 판정을 하고(스텝 S122), 만약 존재하면 그 파일을 통상 데이터영역으로 이동하여 재배치한다(S123).
도 32는 기록이 요구된 추가콘텐츠를 일단 통상 데이터영역에 기록하는 처리순서를 나타내는 플로차트이다. 기록이 요구된 추가콘텐츠를 일단 통상 데이터영역에 기록하고(스텝 S131), 그 후, 스텝 S132, 스텝 S133의 판정스텝을 실행한다. 스텝 S132는 기록이 이루어진 추가콘텐츠가 일정 사이즈 이상인가 여부의 판정이고, 스텝 S133은 비어 있는 할당유닛이 존재하는가 여부의 판정이다. 만약 이들 스텝 S132, 스텝 133이 양방이 Yes이면 스텝 S134에서 일정 사이즈 이상의 추가콘텐츠를 할당유닛으로 이동한다. 스텝 S132, 스텝 S133 중 어느 하나가 No이면 처리를 종료한다.
이상과 같이 본 실시 예에 의하면, 데이터 기록시에 사전의 파일판별처리를 하는 것이 아니라, 필요에 따라서 스트림/비 스트림 파일을 각각 연속 데이터영역, 통상 데이터영역에 재배치할 수 있다.
(제 4 실시 예)
제 1 실시 예에서는 리무버블 미디어로의 기록의 대상이 되는 추가콘텐츠가 AV 스트림인가 여부의 판단대상에 확장자를 채용하였으나, 본 실시 예는 Java(TM) 애플리케이션으로부터 기록이 요구된 AV 스트림이 최초의 바이트 열부터 AV 스트림인가 여부를 판단하는 것이다.
도 33은 기록이 요구된 AV 스트림의 최초의 바이트를 판정함으로써 AV 스트 림인가 여부의 판정을 하는 플로차트이다. 스텝 S91은 출력 스트림 파일 j의 헤더 데이터가 AV 스트림인가 여부를 판정하는 스텝이며, 만약 출력 스트림 파일 j의 헤더 데이터가 AV 스트림이면 스텝 S92에서 출력 스트림 파일 j가 AV 스트림이라는 판정결과를 내린다. 만약, 출력 스트림 파일 j의 헤더 데이터가 AV 스트림이 아니면 스텝 S93에서 출력 스트림 파일 j가 AV 스트림이 아니라는 판정결과를 내린다.
이상과 같이 본 실시 예에 의하면, 확장자가 위장된 경우나 스트림의 확장자가 부정(不定)인 경우에도 대응할 수 있다.
(제 5 실시 예)
본 실시 예는 재생장치(102)가 네트워크 접속되어 있지 않고 독립형(standalone)으로 사용되고 있는 경우에 사용자가 소지하는 퍼스널컴퓨터를 기록장치로서 이용하는 실시 예이다. 이러한 기록장치는 재생장치(102)에 부속하고 있는 소프트웨어 키트(software kit)를 컴퓨터에 인스톨 함으로써 구성되는 것이다.
이 소프트웨어 키트는 도 17에서부터 도 19의 플로차트에 도시된 제어순서를 MPU에 실행시키는 것이다.
지금까지의 실시 예에서 설명한 바와 같이, 리무버블 미디어에는 BUDA 디렉터리 엔트리, CertID 디렉터리 엔트리, OrganizationID 디렉터리 엔트리, DiscID 디렉터리 엔트리가 존재하고 있고, 리무버블 미디어에서의 추가콘텐츠 저장영역은 BUDA 디렉터리 명, CertID 디렉터리 명, OrganizationID 디렉터리 명, DiscID 디렉터리 명을 이용한 파일 패스에 의해 특정되므로, 이들을 참조하면, 가사 자신에게는 BD-ROM을 재생할 능력이 없어도, 이와 같은 리무버블 미디어에 어떤 BD-ROM 콘 텐츠의 추가콘텐츠를 기록할 수 있는가를 인식할 수 있다.
여기서 기록장치는 추가콘텐츠 저장영역을 특정하는 파일 패스, 즉, BUDA 디렉터리 명, CertID 디렉터리 명, OrganizationID 디렉터리 명, DiscID 디렉터리 명을 이용한 파일 패스를 참조함으로써 다운로드 가능한 추가콘텐츠가 존재하는가 여부의 감시를 한다. 이러한 감시는 OrganizationID 디렉터리 명에 표시되는 조직 명에 의거하여 콘텐츠의 공급자가 운영하는 WWW서버의 WWW사이트, 즉 콘텐츠 공급자의 공식 WWW사이트를 액세스하여, 리무버블 미디어에서의 DiscID 디렉터리에 대응하는 BD-ROM의 기록내용에 대해 최신의 업 데이트 상황을 감시함으로써 이루어진다. 기록장치가 네트워크에 접속되어 있는 경우에, 이러한 업 데이트 상황을 항상 감시하고 있고, 만일 BD-ROM 콘텐츠에 대한 추가콘텐츠의 공지가 있으면, 기록장치는 네트워크를 통해서 새로운 추가콘텐츠를 다운로드 하여 리무버블 미디어에 기록한다. 이렇게 하여 추가콘텐츠가 리무버블 미디어에 기록된 후, 이러한 추가콘텐츠가 기록된 리무버블 미디어가 재생장치(102)에 장착된 경우 재생장치(102)는 가상패키지의 구축을 할 수 있다.
이와 같은 기록장치에 의한 추가콘텐츠의 기록도 도 17~도 19의 플로차트에 따라서 이루어지므로, AV콘텐츠는 추가콘텐츠 저장영역에 기록되게 된다.
이상과 같이 본 실시 예에 의하면, BD-ROM의 재생능력이 없는 기록장치에 의해 추가콘텐츠 저장영역으로의 추가콘텐츠의 기록이 이루어지는 경우에도 AV 스트림 형식의 추가콘텐츠에 대해서는 연속 데이터영역에 기록되므로, AV 스트림 형식의 추가콘텐츠에서의 AV 재생의 안정성을 유지할 수 있다.
(제 6 실시 예)
본 실시 예는 연속 데이터영역에 기록되어야 할 AV 스트림이 어떠한 것인가를 설명한다. 대비를 위해, BD-ROM에 기록되어야 할 AV 스트림에 대하여 설명한다.
도 34는 BD-ROM에서의 AV 스트림에 다중화되는 엘리멘터리 스트림을 나타내는 도면이다. BD-ROM에서의 AV 스트림의 STC-Sequence에 다중화되는 엘리멘터리 스트림은 0x1011의 PID를 갖는 Primary 비디오 스트림, 0x1100에서부터 0x111F까지의 PID를 갖는 프라이머리 오디오 스트림, 0x1200에서부터 0x121F까지의 PID를 갖는 32개의 PG스트림, 0x1400에서부터 0x141F까지의 PID를 갖는 32개의 IG스트림, 0x1B00에서부터 0x1B1F까지의 PID를 갖는 32개의 Secondary 비디오 스트림이다.
도 35는 BD-ROM에 기록되어 있는 엘리멘터리 스트림에서의 PID 할당 맵을 나타내는 도면이다. PID 할당 맵의 좌측 난은 PID가 취할 수 있는 값의 복수의 존을 나타낸다. 우측 난은 각 존에 할당되는 엘리멘터리 스트림을 나타낸다. 이 기술방법에 따라서 도면을 참조하면, 본 도면으로부터 이하의 것을 도출할 수 있다. 즉, PID가 취할 수 있는 값 중 0x0100의 존은 Program_map에 할당되고, 0x1001의 존은 PCR에, 0x1011의 존은 Primary 비디오 스트림에, 0x1100에서 0x111F까지의 존은 프라이머리 오디오 스트림에, 0x1200에서 0x121F까지의 존은 PG스트림에, 0x1400에서 0x141F까지의 존은 IG스트림에, 0x1B00에서 0x1B1F까지의 존은 IN_NUX_Secondary 비디오 스트림에 할당되어 있다.
이상이 BD-ROM에 기록되어야 할 AV 스트림에 대한 설명이다. 이어서, 추가콘텐츠 저장영역에 배치되어야 할 AV 스트림의 상세에 대하여 설명한다.
도 36은 추가콘텐츠 저장영역에 배치되어야 할 AV 스트림에 다중화되는 엘리멘터리 스트림을 나타내는 도면이다. 추가콘텐츠 저장영역에 배치되어야 할 AV 스트림에 다중화되는 엘리멘터리 스트림은 0x1800의 PID를 갖는 textST스트림, 0x1A00에서부터 0x1A1F까지의 PID를 갖는 프라이머리 오디오 스트림, 0x1B00에서부터 0x1B1F까지의 PID를 갖는 32개의 Out_of_MUX_Secondary 비디오 스트림, 0x1200에서부터 0x121F까지의 PID를 갖는 32개의 PG스트림, 0x1400에서부터 0x141F까지의 PID를 갖는 32개의 IG스트림이다. 이 도 14에 도시한 세컨더리 비디오 스트림과 같이, 프라이머리 비디오 스트림과 다른 AV 스트림에 다중화되는 세컨더리 비디오 스트림을 "Out_of_MUX_세컨더리 비디오 스트림"이라 한다. 또, 세컨더리 비디오 스트림에 한정되지 않고, 프라이머리 비디오 스트림과 다른 AV 스트림에 다중화되는 엘리멘터리 스트림 전체를 "Out_of_MUX스트림"이라 한다.
도 37은 추가콘텐츠 저장영역에 배치되어야 할 AV 스트림에 다중화된 엘리멘터리 스트림에서의 PDI 할당 맵을 나타내는 도면이다. PID 할당 맵의 좌측 난은 PID가 취할 수 있는 값의 복수의 존을 나타낸다. 우측 난은 각 존에 할당되는 엘리멘터리 스트림을 나타낸다. 이 기술법에 따라 도면을 참조하면 본 도면으로부터 이하의 것을 도출할 수 있다. 즉, PID가 취할 수 있는 값 중 0x0100의 존은 Program_map에 할당되고, 0x1001의 존은 PCR에, 0x1200에서부터 0x121F까지의 존은 PG스트림에, 0x1400에서부터 0x141F까지의 존은 IG스트림에, 0x1800의 존은 textST스트림에, 0x1A00에서부터 0x1A1F까지의 존은 세컨더리 오디오 스트림에 할당되어 있다. 0x1B00에서부터 0x1B1F까지의 존은 Secondary 비디오 스트림에 할당되어 있 다.
<프라이머리 비디오 스트림>
프라이머리 비디오 스트림은 영화작품의 본편을 구성하는 스트림이며, SD화상, HD화상인 픽처 데이터로 구성된다. 비디오 스트림에는 VC-1의 비디오 스트림, MPEG4-AVC의 비디오 스트림, MPEG2-Video의 비디오 스트림이라는 형식이 존재한다. MPEG4-AVC의 비디오 스트림에서는 IDR픽처, I픽처, P픽처, B픽처에 PTS, DTS라는 타임스탬프가 부가되고, 이 픽처의 단위로 재생제어가 이루어진다. 이와 같이 PTS, DTS가 부가되어서 재생제어의 단위가 되는 비디오 스트림의 1 단위를 " Video Presentation Unit"이라 한다.
<세컨더리 비디오 스트림>
세컨더리 비디오 스트림은 영화작품의 커멘터리(commentary) 등을 구성하는 스트림이며, 이 세컨더리 비디오 스트림의 재생 영상을 프라이머리 비디오 스트림의 재생 영상 내에 합성함으로써 픽처 인 픽처가 실행된다. 비디오 스트림에는 VC-1의 비디오 스트림, MPEG4-AVC의 비디오 스트림, MPEG2-Video의 비디오 스트림이라는 형식이 존재하며, "Video Presentation Unit"을 갖는다. 세컨더리 비디오 스트림의 포맷에는 525/60 비디오 포맷, 625/50 비디오 포맷, 1920×1080 포맷, 1280×720 포맷이 있다.
<프라이머리 오디오 스트림>
프라이머리 오디오 스트림은 영화작품의 주 음성을 나타내는 스트림이며, LPCM 오디오 스트림, DTS-HD 오디오 스트림, DD/DD+오디오 스트림이나 DD/MLP오디 오 스트림과 같은 형식이 존재한다. 오디오 스트림에서의 오디오 프레임에 타임스탬프가 부가되고, 이 오디오 프레임 단위로 재생제어가 이루어진다. 이와 같이 타임스탬프가 부가되어 재생제어의 단위가 되는 오디오 스트림의 1 단위를 "Audio Presentation Unit"이라 한다.
<세컨더리 오디오 스트림>
BD-ROM에는 기록되어 있지 않으나 영화작품의 부 음성을 나타내는 오디오 스트림이다.
<PG스트림>
PG스트림은 언어별 자막을 구성하는 그래픽스 스트림이며, 영어, 일본어, 프랑스어라는 복수언어에 대한 스트림이 존재한다. PG스트림은 PCS(Presentation Control Segment), PDS(Pallet Define Segment), WDS(Window Define Segment), ODS(Object Define Segment)라는 일련의 기능 세그먼트로 이루어진다. ODS(Object Define Segment)는 자막인 그래픽스 오브젝트를 정의하는 기능 세그먼트이다.
WDS(Window Define Segment)는 화면에서의 그래픽스 오브젝트의 비트량을 정의하는 기능 세그먼트이며, PDS(Pallet Define Segment)는 그래픽스 오브젝트의 묘화시의 발색(發色)을 규정하는 기능 세그먼트이다. PCS(Presentation Control Segment)는 자막표시에서의 페이지 제어를 규정하는 기능 세그먼트이다. 이러한 페이지 제어에는 Cut-In/Out, Fade-In/Out, Color Change, Scroll, Wipe-In/Out라는 것이 있으며, PCS에 의한 페이지 제어를 수반함으로써 어떤 자막을 서서히 소거하면서 다음 자막을 표시시킨다고 하는 표시효과가 실현가능해진다.
<텍스트 자막(textST) 스트림>
textST 스트림은 자막의 내용을 캐릭터 코드로 나타낸 스트림이다. textST스트림은 프라이머리 비디오 스트림과 동일한 AV 스트림에 다중화되어 있지 않으나, 자막을 나타내는 스트림이다. 이 Presentation Graphics스트림과 textST스트림의 세트는 BD-ROM 규격에서 "PGTextST스트림"이라고 불린다.
<IG스트림>
IG스트림은 대화화면을 실현하는 그래픽스 스트림이다. IG스트림에서 정의되는 대화제어는 DVD 재생장치상의 대화제어와 호환성이 있는 대화제어이다. 이러한 IG스트림은 ICS(Interactive Composition Segment), PDS(Palette Difinition Segment), ODS(Object Definition Segment)로 불리는 기능 세그먼트로 이루어진다. ODS(Object Definition Segment)는 그래픽스 오브젝트를 정의하는 기능 세그먼트이다. 이 그래픽스 오브젝트가 복수 모여서 대화화면상의 버튼이 묘사된다. PDS(Palette Difinition Segment)는 그래픽스 오브젝트 묘화시의 발색을 규정하는 기능 세그먼트이다. ICS(Interactive Composition Segment)는 사용자 조작에 따라서 버튼 상태를 변화시킨다고 하는 상태변화를 실현하는 기능 세그먼트이다. ICS는 버튼에 대하여 확정조작이 이루어진 때에 실행해야 할 버튼 커맨드를 포함한다.
이상이 추가콘텐츠 저장영역에 기록되는 AV 스트림의 설명이다. 이어서, 본 실시 예에 관한 재생제어엔진(24)의 상세에 대하여 설명한다.
도 38은 재생제어엔진(24)의 내부 구성을 나타내는 도면이다. 재생제어엔진(24)은 본 도면에 도시한 바와 같이, 리드 버퍼(1a, b), ATC 카운터(2a, b), Source Depacketizer(2a, b), ATC 카운터(2a, b), STC 카운터(3a, b), PID Filter(3a, b), Transport Buffer(TB)(4a), Elementary Buffer(EB)(4c), 비디오 디코더 4d, Re-order Buffer(4e), Decoded Picture Buffet(EB)(4f), 비디오 플레인(4g), Transport Buffer(TB)(5a), Elementary Buffer(EB)(5c), 비디오 디코더 5d, Re-order Buffer(5e), Decoded Picture Buffer(5f), 비디오 플레인(5g), 버퍼(6a, b), 버퍼(7a, b), 오디오 디코더(8a, b), 믹서(9a), 스위치(10a, b, c, d, e), Transport Buffer(TB)(11a), Interactive Graphics 디코더(11b), Interactive Graphics 플레인(11c), Transport Buffer(TB)(12a), 버퍼(12b), Text based subtitle 디코더(12c), Trasnport Buffer(TB)(13a), Presentation Graphics 디코더(12c), Presentation Graphics 플레인(13c)으로 구성된다. 또, 본 도면에서는 재생장치의 출력단에 대해서는 도시하고 있지 않다. 출력단에 대해서는 다른 도면에 내부 구성을 도시하고 설명하는 것으로 한다.
리드 버퍼(RB)(1a)는 로컬 스토리지(22)에서 판독된 Source 패킷 열을 축적한다.
리드 버퍼(RB)(1b)는 BD-ROM에서 판독된 Source 패킷 열을 축적한다.
ATC Counter 2a는 로컬 스토지리(22)에서의 AV 스트림을 구성하는 Source 패킷 중 재생구간의 최초에 위치하는 것의 ATS를 이용하여 리셋 되며, 이후 소스 디 패킷타이저(Source De-packetizer)(2a)에 ATC를 출력해간다.
ATC Counter 2b는 BD-ROM에서의 AV 스트림을 구성하는 Source 패킷 중 재생구간의 최초에 위치하는 것의 ATS를 이용하여 리셋 되며, 이후 소스 디 패킷타이 저(2b)에 ATC를 출력해간다.
소스 디 패킷타이저(Source Depacketizer) 2a는 로컬 스토리지(22)에서의 AV 스트림을 구성하는 Source 패킷에서 TS패킷을 인출하여 송출한다. 이 송출시에 ATS에 따라서 디코더로의 입력시각을 조정한다. 구체적으로는, ATC Counter 2a가 생성하는 ATC의 값과 Source 패킷의 ATS값이 동일하게 된 순간에 TS_Recording_Rate에서 그 TS패킷만을 PID Filter 3a에 전송한다.
소스 디 패킷타이저(Source De-packetizer) 2b는 BD-ROM에서의 AV 스트림을 구성하는 Source 패킷에서 TS패킷을 인출하여 송출한다. 이 송출시에 각 TS패킷의 ATS에 따라서 디코더로의 입력시각을 조정한다. 구체적으로는, ATC Counter 2b가 생성하는 ATC의 값과 Source 패킷의 ATS값이 동일하게 된 순간에 TS_Recording_Rate에서 그 TS패킷만을 PID Filter 3b에 전송한다.
STC Counter 3a는 로컬 스토리지(22)에서의 AV 스트림의 PCR에 의해 리셋 되며, STC를 출력한다. PID 필터(3a)는 이 STC를 참조하여 다중분리를 한다.
STC Counter 3b는 BD-ROM에서의 AV 스트림의 PCR에 의해 리셋 되며, STC를 출력한다.
PID Filter 3a는 로컬 스토리지(22)에서의 AV 스트림의 다중분리부이며, 소스 디 패킷타이저 2a에서 출력된 Source 패킷 중 원하는 PID 참조 값을 갖는 것을 각각 오디오 디코더 8b, Interactive Graphics 디코더(11b), Presentation Graphics 디코더(13b)에 출력한다. 이와 같이 PID Filter 3a를 경유하여 각 디코더에 입력되는 엘리멘터리 스트림은 로컬 스토리지(22)에서의 AV 스트림의 PCR에 따라 디코드 및 재생되게 된다.
PID Filter 3b는 BD-ROM에서의 AV 스트림용의 다중분리부이며, 소스 디 패킷타이저 2b에서 출력된 Source 패킷 중 원하는 PID 참조 값을 갖는 것을 각각 비디오 디코더 4d, 비디오 디코더 5d, 오디오 디코더 8a, Intaractive Graphics 디코더(11b), Presentation Graphics 디코더(13b)에 출력한다. 각 디코더는 PID Filter 3b를 경유한 엘리멘터리 스트림을 수신하여 BD-ROM에서의 AV 스트림의 PCR에 따라서 디코드에서 재생의 처리를 한다. 이와 같이 PID Filter 3b를 통과하여 각 디코더에 입력되는 엘리멘터리 스트림은 BD-ROM에서의 AV 스트림의 PCR에 따라서 디코드 및 재생이 되게 된다.
Transport Buffer(TB)(4a)는 프라이머리 비디오 스트림에 귀속하는 TS패킷이 PID Filter 3b에서 출력된 때에 일단 축적되는 버퍼이다.
Elementary Buffer(EB)(4c)는 부호화 상태에 있는 픽처(I픽처, B픽처, P픽처)가 저장되는 버퍼이다.
디코더(DEC.) 4d는 프라이머리 비디오를 구성하는 각각의 픽처를 소정의 복호시각(DTS)마다 디코드함으로써 복수의 프레임 화상을 얻어서 비디오 플레인(4)에 기록한다.
Ducoded Picture Buffer(4e)는 디코더 4d의 디코드에 의해 얻어진 비 압축의 픽처를 저장해두는 버퍼이다.
Re-order Buffer(4f)는 복호된 픽처의 순서를 부호화 순서에서 표시순서로 바꾸기 위한 버퍼이다.
프라이머리 비디오 플레인(4g)은 프라이머리 비디오를 구성하는 1픽처분의 화소 데이터를 저장해두기 위한 메모리영역이다. 화소 데이터는 16비트의 YUV값으로 표현되고, 비디오 플레인(4g)은 1920×1080이라는 해상도에 해당하는 화소 데이터를 저장하고 있다.
Transport Buffer(TB)(5a)는 세컨더리 비디오 스트림에 귀속하는 TS패킷이 PID Filter 3b에서 출력된 때에 일단 축적되는 버퍼이다.
Elementary Buffer(EB)(5c)는 부호화 상태에 있는 픽처(I픽처, B픽처, P픽처)가 저장되는 버퍼이다.
디코더(DEC.) 5d는 세컨더리 비디오를 구성하는 각각의 픽처를 소정의 복호 시각(DTS)마다 디코드함으로써 복수의 프레임 화상을 얻어서 비디오 플레인(5)에 기록한다.
Ducoded Picture Buffer(5e)는 디코더(5d)의 디코드에 의해 얻어진 비 압축의 픽처를 저장해 두는 버퍼이다.
Re-order Buffer(5f)는 복호된 픽처의 순서를 부호화 순서에서 표시순서로 교체하기 위한 버퍼이다.
세컨더리 비디오 플레인(5g)은 세컨더리 비디오를 구성하는 1픽처분의 화소 데이터를 저장해 두기 위한 메모리영역이다. 화소 데이터는 16비트의 YUV값으로 표현되고, 세컨더리 비디오는 1920×1080이라는 해상도에 해당하는 화소 데이터를 저장하고 있다.
버퍼 6a는 디 멀티플렉서 3a에서 출력된 TS패킷 중 프라이머리 오디오 스트 림을 구성하는 것을 선입선출방식으로 저장하고, 오디오 디코더 7a에 제공한다.
버퍼 6b는 디 멀티플렉서 3b에서 출력된 TS패킷 중 세컨더리 오디오 스트림을 구성하는 것을 선입선출방식으로 저장하며, 오디오 디코더 7b에 제공한다.
오디오 디코더 7a는 버퍼 6a에 저장된 TS패킷을 PES패킷으로 변환하고, 이 PES패킷에 대하여 디코드 처리를 행하여, 비 압축 상태의 LPCM 상태의 오디오 데이터를 얻어서 출력한다. 이에 의해 프라이머리 오디오 스트림에서의 디지털 출력이 이루어진다.
오디오 디코더 7b는 버퍼 6b에 저장된 TS패킷을 PES패킷으로 변환하고, 이 PES패킷에 대하여 디코드 처리를 행하여, 비 압축 상태의 LPCM 상태의 오디오 데이터를 얻어서 출력한다. 이에 의해 세컨더리 오디오 스트림에서의 디지털 출력이 이루어진다.
믹서(9a)는 오디오 디코더 7a에서 출력되는 LPCM 상태의 디지털 오디오와 오디오 디코더 7b에서 출력되는 LPCM 상태의 디지털 오디오를 믹싱한다.
스위치 10a는 BD-ROM에서 판독된 TS패킷, 로컬 스토리지(200)에서 판독된 TS패킷 중 어느 하나를 선택적으로 세컨더리 비디오 디코더 5d 측에 공급한다.
스위치 10b는 BD-ROM에서 판독된 TS패킷, 로컬 스토리지(200)에서 판독된 TS패킷 중 어느 하나를 선택적으로 Presentation Graphics 디코더(13b) 측에 공급한다.
스위치 10c는 BD-ROM에서 판독된 TS패킷, 로컬 스토리지(200)에서 판독된 TS패킷 중 어느 하나를 선택적으로 Interactive Graphics 디코더(11b) 측에 공급한 다.
스위치 10d는 디 멀티플렉서 3a에 의해 다중분리가 이루어진 프라이머리 오디오 스트림을 구성하는 TS패킷, 디 멀티플렉서 3b에 의해 다중분리가 이루어진 프라이머리 오디오 스트림을 구성하는 TS패킷 중 어느 하나를 오디오 디코더 8a에 공급할지를 절환하는 스위치이다.
스위치 10e는 디 멀티플렉서 3a에 의해 다중분리가 이루어진 세컨더리 오디오 스트림을 구성하는 TS패킷, 디 멀티플렉서 3b에 의해 다중분리가 이루어진 세컨더리 오디오 스트림을 구성하는 TS패킷 중 어느 하나를 오디오 디코더 8b에 공급할지를 절환하는 스위치이다.
Transport Buffer(TB)(11a)는 IG스트림에 귀속하는 TS패킷이 일단 축적되는 버퍼이다.
Interactive Graphics(IG) 디코더(11b)는 BD-ROM(100) 또는 로컬 스토리지(200)에서 판독된 IG스트림을 디코드하여 비 압축 그래픽스를 IG플레인(12)에 기록한다.
Interactive Graphics(IG) 플레인(11c)은 IG디코더(11b)에 의한 디코드에 의해서 얻어진 비 압축 그래픽스를 구성하는 화소 데이터가 기록된다.
Transport Buffer(TB)(12a)는 textST스트림에 귀속하는 TS패킷이 일단 축적되는 버퍼이다.
Buffer(TB)(12b)는 textST스트림을 구성하는 PES패킷이 일단 축적되는 버퍼이다.
Text Based Subtitle 디코더(12c)는 BD-ROM(100) 또는 로컬 스토리지(22)에서 판독된 textST 스트림에서 캐릭터 코드를 이용하여 표현되어 있는 자막을 비트맵으로 전개하여 PG 플레인(13c)에 기록한다. 이 전개에는 BD-ROM(100) 또는 로컬 스토리지(22)에 저장되어 있는 폰트 데이터가 이용되므로, textST 스트림의 디코드에는 이러한 폰트 데이터를 미리 판독해 둘 필요가 있다.
Transport Buffer(TB)(13a)는 PG스트림에 귀속하는 TS패킷이 일단 축적되는 버퍼이다.
Presentation Graphics(PG)디코더(13b)는 BD-ROM 또는 로컬 스토리지(22)에서 판독된 PG스트림을 디코드하여 비 압축 그래픽스를 Presentation Graphics 플레인(14)에 기록한다. PG디코더(13b)에 의한 디코드에 의해 자막이 화면상에 나타나게 된다.
Presentation Graphics(PG) 플레인(13c)은 한 화면 분의 영역을 갖는 메모리이며, 한 화면 분의 비 압축 그래픽스를 저장할 수 있다.
PSR세트(17)는 재생장치에 내장되는 레지스터이며, 64개의 Player Setting/Status Register(PSR)와 4096개의 General Purpose Register(GPR)로 이루어진다. Player Setting/Status Register의 설정 값(PSR) 중 PSR4~PSR8은 현재의 재생시점을 표현하는데 이용된다.
이상이 AV 재생부(24)의 내부 구성이다. 이어서 AV 재생부(24)의 출력단의 내부 구성에 대하여 설명한다. 도 39는 재생장치의 출력단의 구성을 나타내는 도면이다. 본 도면에 도시한 바와 같이, AV 재생부(24)의 출력단은 1-α3 승산부(15a), Scalling·Positioning부(15b), α3 승산부(15c), 가산부(15d), 1-α1 승산부(15e), α1 승산부(15f), 가산부(15g), 1-α2 승산부(15h), α2 승산부(15i), 가산부(15j), HDMI 송수신부(16)로 구성된다.
1-α3 승산부(15a)는 비디오 디코더(4g)에 저장되어 있는 비 압축의 디지털 픽처를 구성하는 화소의 휘도에 투과율 1-α3을 곱한다.
Scalling·Positioning부(15b)는 비디오 플레인(5g)에 저장되어 있는 비 압축의 디지털 픽처를 확대 및 축소하는 처리(Scalling)를 시행하고, 또 배치위치를 변경하는 처리(Positioning)를 한다. 이 확대 및 축소는 메타데이터에서의 PiP_scale에 의거하고, 배치위치의 변경은 메타데이터에서의 PiP_horizontal_ position, PiP_vertical_position에 의거한다.
α3 승산부(15c)는 Scalling·Positioning부(15b)에 의해 Scalling, Positioning가 시행된 비 압축의 픽처를 구성하는 화소의 휘도에 대하여 투과율 α3을 곱한다.
가산부(15d)는 α3 승산부(15c)에 의해 화소마다 투과율 α3이 곱해진 비 압축 디지털 픽처와 1-α3 승산부(15a)에 의해 화소별로 투과율 1-α3이 곱해진 비 압축 디지털 픽처를 합성하여 합성 픽처를 얻는다.
1-α1 승산부(15e)는 가산부(15d)에 의해 합성이 이루어진 디지털 픽처를 구성하는 화소의 휘도에 투과율 1-α1을 곱한다.
α1 승산부(15f)는 Presentation Graphics 디코더(13c)에 저장되어 있는 비 압축 그래픽스를 구성하는 화소의 휘도에 투과율 α1을 곱한다.
가산부(15g)는 1-α1 승산부(15e)에 의해 화소별로 투과율 1-α1이 곱해진 비 압축 디지털 픽처와 α1 승산부(15f)에 의해 화소별로 투과율 α1이 곱해진 비 압축 그래픽스를 합성하여 합성 픽처를 얻는다.
1-α2 승산부(15h)는 가산부(15g)에 의해 합성이 이루어진 디지털 픽처를 구성하는 화소의 휘도에 투과율 1-α2를 곱한다.
α2 승산부(15i)는 Interactive Graphics 디코더(11c)에 저장되어 있는 비 압축 그래픽스를 구성하는 화소의 휘도에 투과율 α2를 곱한다.
가산부(15j)는 1-α2 승산부(15h)에 의해 화소별로 투과율 1-α2가 곱해진 비 압축 디지털 픽처와 α2승산부(15i)에 의해 화소별로 투과율 α2가 곱해진 비 압축 그래픽스를 합성하여 합성 픽처를 얻는다.
HDMI 송수신부(16)는 HDMI(HDMI : High Definition Multimedia Interface)를 통해서 접속된 다른 기기로부터 그 기기에 관한 정보를 수신하는 동시에, 가산부(15j)의 합성에 의해 얻어진 디지털 비 압축의 비디오를 믹서(9a)에 의해 합성이 이루어진 오디오 데이터와 함께 HDMI를 통해서 접속된 다른 기기에 송신한다.
이상에서 설명한 textST 스트림, 프라이머리 오디오 스트림, 세컨더리 오디오 스트림, Out_of_MUX_Secondary 비디오 스트림, PG스트림, IG스트림이 추가콘텐츠 저장영역에서의 연속 데이터영역에 기록되므로, 프라이머리 오디오 스트림과 세컨더리 오디오 스트림과의 믹싱 출력이나 픽처 인 픽처 재생이 끊어지지 않고 원활하게 재생되게 된다.
(제 7 실시 예)
제 1 실시 예에서는 AV 스트림을 할당유닛에 기록하는 것으로 하였으나, 본 실시 예에서는 AV 스트림을 복수의 익스텐트(extent)로 분할하여 기록하는 개량이다. 이 경우, 익스텐트 1개당 최소 데이터 길이를 검토하지 않으면 안 된다. 이 최소 데이터 길이를 "Sa"라 한다. AV 스트림은 본래 BD-ROM에 기록되어서 재생장치에 공급되는 것이므로, BD-ROM과 같은 광 디스크로부터의 재생시에 재생의 도중 절단이 없다는 것이 보증되면 리무버블 미디어로부터의 판독시에도 AV 재생의 도중 절단이 없다는 것이 보증된다고 생각된다.
리무버블 미디어에서 판독된 TS패킷은 리드 버퍼에 저장된 후 디코더에 출력되나, 리드 버퍼로의 입력이 Rud라는 비트 레이트로 이루어지고, ECC블록에서의 논리블록 수를 Secc로 한 경우,
Toverhead는,
Toverhead≤(2×Secc×8)/Rud=20m초
라는 계산으로 주어진다.
리무버블 미디어에서 판독된 TS패킷은 Source 패킷의 상태로 리드 버퍼에 저장된 후, TS_Recording_Rate라는 전송 레이트로 디코더에 공급된다.
TS_Recording_rate라는 전송 레이트에서의 디코더로의 TS패킷 공급이 끊어지지 않게 하기 위해서는 Tjump 동안 리드 버퍼에서 디코더로의 TS패킷 출력이 계속하고 있을 필요가 있다. Tjump는 리무버블 미디어로부터의 판독 처를 연속 데이터영역에서 다른 연속 데이터영역으로 절환하기 위해서 필요한 시간이다.
리드 버퍼로부터의 출력은 TS패킷이 아니라 Source 패킷의 상태로 이루어지 므로, TS패킷의 Source 패킷과의 사이즈 비를 192/188로 한 경우, Tjump 동안 (192/188×TS_Recording_rate)라는 전송 레이트에 의해 리드 버퍼로부터의 Source 패킷 출력이 계속되고 있을 필요가 있다.
따라서 리드 버퍼가 언더 플로 하지 않기 위한 버퍼 축적량은,
Boccupied≥(Tjump/1000×8)×((192/188)×TS_Recording_rate)
가 된다.
리드 버퍼로의 입력 레이트는 Rud, 리드 버퍼로부터의 출력 레이트는 TS_Recording_rate×(192/188)이므로, 리드 버퍼로의 축적 레이트는 입력 레이트-출력 레이트의 계산으로 주어지며, (Rud-TS_Recordign_rate×(192/188))이 된다.
이 Boccupied를 리드 버퍼에 축적하는데 필요한 시간 Tx는,
Tx=Boccupied/(Rud-TS_Recording_rate×(192/188))이 된다.
리무버블 미디어로부터의 판독에는 이 시간 Tx에 있어서 Rud에서의 TS패킷 입력을 계속할 필요가 있으므로, AV 스트림을 복수의 익스텐트로 분할하여 기록하는 경우의 익스텐트 한 개당 최소 데이터길이 Sa는, Sa=Rud×Tx=Rud×Boccupied/(Rud-TS_Recordign_rate×(192/188))≥Rud×(Tjump/1000×8)×((192/188)×TS_Recording_rate)/(Rud-TS_Recording_rate×(192/188))≥(Rud×Tjump/1000×8)×TS_Recording_rate×192/(Rud×188-TS_Recording_rate×192)가 된다.
따라서 Sa≥(Tjump×Rud/1000×8)×(TS_Recording_rate×192/(Rud×188-TS_Recording_rate×192)가 된다.
AV 스트림을 구성하는 각 파일은, 디코더의 언더플로를 일으키지 않도록 산 출된 Sa 이상의 데이터 길이를 가짐으로써, AV 스트림을 구성하는 각 파일의 익스텐트가 리무버블 미디어 상에서 이산적으로 위치되었다고 해도 재생시에 디코더로의 TS패킷 공급이 끊어지지 않고 연속적으로 판독되게 된다. 리무버블 미디어에서 Sa에 해당하는 연속기록영역을 확보할 수 있으면 AV 재생의 도중 절단이 없다는 것은 보증된다.
이상과 같이 본 실시 예에 의하면, AV 재생의 도중 절단이 없음이 보증된 최소기록 길이로 분할하여 AV 스트림을 기록하였다고 해도, 리무버블 미디어로부터의 AV 스트림의 재생을 도중에 절단시키는 일은 없다.
(비고)
이상, 본원의 출원시점에서 출원인이 알 수 있는 가장 바람직한 실시형태에 대하여 설명하였으나, 이하에서 설명하는 기술적 토픽에 대해서는 개량이나 변경 실시를 더 부가할 수 있다. 각 실시 예에서 설명한 것과 같이 실시하는가, 이들의 개량 및 변경을 하는가 여부는 모두 임의적이며, 실시하는 사람의 주관에 의한 것임에 유의하기 바란다.
(DiscID의 상위에 존재하는 "0"의 자릿수의 취급)
MHP(Multimedia Home Platform) 상에서 동작하는 애플리케이션은 MHP 고유의 ID를 사용할 때에 상위 자릿수의 "0"을 생략한다. DiscID에서도 상위 자릿수의 "0"에 대해서는 생략하는 것이 바람직하므로, 본 실시 예에서의 Java(TM) 애플리케이션은 그와 같은 상위 자릿수의 "0"을 생략한 DiscID를 이용하여 가상패키지의 구축을 명해도 좋다.
이와 같이 상위 자릿수의 0을 생략하는 경우, 리무버블 미디어에서의 디렉터리 구성은 도 40에 나타낸 것이 된다.
도 40은 상위 자릿수의 0을 생략한 경우의 디렉터리 구성을 나타내는 도면이다. OrganizationID 디렉터리, DiscID 디렉터리는 index.bdmv에 나타난 32비트의 OrganizationID, 128비트의 DiscID를 16진 표시로 나타낸 디렉터리 명이 된다.
이들 중 DiscID는 선두의 0을 생략함으로써 전체의 패스 길이를 짧게 하고 있다. 단, 선두의 8 문자가 모두 0이 되는 경우, 디렉터리 명은 "0"의 1 문자가 된다. 또, DiscID 디렉터리에서 선두가 아닌, 도중에 0이 이어지는 경우에는 생략해서는 안 된다. 즉, DiscID=00000000123456781234567812345678의 경우, DiscID의 디렉터리 구성은 0/12345678/12345678/12345678로 선두의 0을 생략할 수 있으나, DiscID=12345678000000001234567812345678의 경우에는 0을 생략하지 않고 12345678/00000000/12345678/12345678이 된다. 생략의 대상은 DiscID에 한정되지 않으며, CertID 디렉터리도 마찬가지로 선두의 0을 생략해도 좋다.
(연속 데이터영역의 변형)
연속 데이터영역을 구성하는 기록단위의 일례로 각 실시 예에서는 SD 메모리카드에서의 4M바이트의 할당유닛을 제재로 선택하였으나, AV 스트림 형식의 추가콘텐츠의 재생 품위를 보증하는 기록단위이면 할당유닛 이외의 기록단위라도 좋다. 예를 들어, DVD-RAM, BD-RE 등의 존 CLV 상의 광 디스크에서 각 존 영역 내의 연속하는 2M바이트의 섹터 군을 연속 데이터영역으로 채용해도 좋다. 또, ECC 블록을 구성하는 섹터 군을 연속 데이터영역으로 채용해도 좋다. 또한, 4M바이트가 아니라 3M바이트, 2M바이트의 기록단위를 연속 데이터영역의 기록단위로 채용해도 좋다.
또한, 연속 데이터영역은 BUDA 디렉터리에서의 추가콘텐츠 저장영역에 존재하는 것으로 하였으나, 절대 파일 패스에 의해 특정되는 것이면 물리적으로 분산 배치되어도 상관없다. 마찬가지로, 통상 데이터영역도 BUDA 디렉터리에서의 추가콘텐츠 저장영역에 존재하는 것으로 하였으나, 절대 파일 패스에 의해 특정되는 것이면 물리적으로 분산 배치되어도 상관없다.
(취득수단)
과제해결수단에서의 취득수단은 네트워크 인터페이스(21)에 대응하는 것으로 설명하였으나, 네트워크를 통해서 추가콘텐츠를 취득한다고 하는 것은 필수가 아니며, USD 커넥터, HDMI 커넥터 접속을 통해서 추가콘텐츠를 취득해도 좋고, 다른 기록매체로부터의 복제처리에 의해 추가콘텐츠를 취득해도 좋다.
(제 2 기록매체의 종류)
제 2 기록매체로는 SD메모리카드를 설명의 제재로 선택하였으나, HDD 등, 긴 파일명을 서포트하는 빌트인 미디어에 8.3 형식의 파일시스템을 채용함으로써 빌트인 미디어를 제 2 기록매체에 이용해도 좋다.
이 경우, BD-J 애플리케이션은 8 문자 이하의 디렉터리 명 및 파일명이고, 또한, 확장자 명이 3 문자 이하인 파일 패스를 이용하여 제 2 기록매체인 빌트인 미디어를 액세스하게 된다.
(프로그래밍 언어의 적용범위)
상기 실시 예에서는 가상 머신의 프로그래밍 언어로 Java(TM)을 이용하였으 나, Java(TM)가 아니라 UNIX(TM) OS 등에서 사용되고 있는 B-Shell이나 Perl Script, ECMA Script 등 다른 프로그래밍 언어라도 좋다.
(콘텐츠의 위치)
상술한 실시 예에서는 BD-ROM을 재생하는 재생장치에 대하여 설명하였으나, 기록 가능한 광 기록매체에 상술한 실시 예에서 설명한 BD-ROM 상의 필요한 데이터가 기록되어 있는 경우에도 상술한 것과 동일한 효과를 얻을 수 있음은 당연하다.
(재생장치(102)의 임의적인 구성요소)
임의적 요소로 재생장치(102)에 랜더링 엔진(rendering engine)을 설치해도 좋다. 랜더링 엔진은 Java(TM) 2D, OPEN-GL이라는 기반 소프트웨어를 구비하고, BD-J 애플리케이션으로부터의 지시에 따라서 컴퓨터 그래픽스의 묘화를 하며, 묘화된 컴퓨터 그래픽스를 플레인 메모리에 출력한다. 이 묘화를 고속으로 하기 위해서는 임의적인 하드웨어 요소로 재생장치(102)에 그래픽스 액셀러레이터를 추가하는 것이 바람직하다. 그 외에도 부동 소수점 연산을 하는 코프로세서(Floting Pointed Coprocessor)가 실장이 되어 있어도 좋다.
(BD-J 애플리케이션의 공급방법)
상술한 것과 같은 추가콘텐츠의 기록은 영상재생과 BD-J 애플리케이션의 실행을 관련지어서 시청을 하게 하는 기기이면 일반적인 어떠한 기기에 대해서도 적용이 가능하다. 예를 들어, BD-J 애플리케이션이 방송파나 네트워크 스트림에 포함되어서 공급되는 재생장치(102)에서도 적용이 가능하다.
(프로그램 기술언어의 적용범위)
상기 실시 예에서는 오브젝트 지향 프로그래밍 언어로 Java(TM) 언어를 이용하였으나, Java(TM)이 아니라 UNIX(TM) OS 등에서 사용되고 있는 B-Shell이나 Perl Script, ECMA Script 등 다른 프로그래밍 언어라도 좋다.
(BD-ROM 콘텐츠)
BD-ROM에 기록되는 BD-J 애플리케이션은 영화작품을 구성하는 것으로 하였으나, 로컬 스토리지에 인스톨하여 이용되는 애플리케이션이 아니라 BD-ROM에 기록된 상태로 이용되는 애플리케이션이면 그 이외의 것을 구성하는 것이라도 좋다. 예를 들어, 게임 소프트를 구성하는 애플리케이션이라도 좋다. 또, 본 실시 예에서는 디스크 매체로 BD-ROM을 제재로 선택하였으나, 휴대형이고, 저작권 보호가 이루어지는 기록매체이면 다른 기록매체를 채용해도 좋다.
또, AV 스트림, 플레이리스트 정보는 프리 레코딩 기술에 의해 BD-ROM에 기록되어서 사용자에게 공급하는 것을 전제로 하였으나, 실시간 레코딩 기술에 의해 BD-RE에 기록되어서 사용자에게 공급되는 것이라도 좋다.
이 경우, AV 스트림은 아날로그 입력신호를 기록장치가 실시간 인코드함으로써 얻어진 트랜스포트 스트림이어도 좋고, 기록장치가 디지털 입력한 트랜스포트 스트림을 세분화(partializing)함으로써 얻어지는 트랜스포트 스트림이라도 좋다.
실시간 리코딩시의 기록장치는 AV 스트림의 기록과 함께 메모리 상에서 Clip정보나 플레이리스트 정보를 생성하는 처리를 행하지만, 이때, 상술한 각 실시 예에 기재된 Clip정보, 플레이리스트 정보를 메모리 상에서 생성한다. 그리고 AV 스트림의 기록을 종료한 후, 생성된 Clip정보, 플레이리스트 정보를 기록매체에 기록 한다. 이렇게 함으로써 편집시스템을 이용하지 않고도 가정 내의 기록장치나 기록장치로서의 기능을 구비한 퍼스널 컴퓨터에 의해 각 실시 예에서 설명한 Clip정보, 플레이리스트 정보를 작성할 수 있다. 그렇게 작성된 AV 스트림, Clip정보, 플레이리스트 정보를 바꿔쓰기가 안 되는 기록매체(write-once type recording medium)에 기록해도 좋다.
(시스템 LSI화)
재생장치(102)를 구성하는 하드웨어 중 기구적인 구성요소(BD-드라이브(20), 로컬 스토지리(22)), 대용량의 메모리에 의해 실장 되는 구성요소(비디오 플레인, 그래픽스 플레인)을 제외한, 논리소자를 주요부로 하는 부분을 하나의 시스템 LSI로 구성하는 것이 바람직하다. 왜냐하면, 논리소자를 주요부로 하는 부분은 고밀도로 집적화할 수 있기 때문이다.
시스템 LSI는 고밀도 기판상에 베어 칩을 실장하고 패키징한 것을 말한다. 복수 개의 베어 칩을 고밀도 기판상에 실장하고 패키징함으로써 마치 하나의 LSI와 같은 외형구조를 복수 개의 베어 칩이 갖게 한 것도 시스템 LSI에 포함된다(이와 같은 시스템 LSI는 멀티 칩 모듈이라고 불린다).
여기서 패키지의 종별에 착안하면, 시스템 LSI는 QFP(Quad Flat Package), PGA(Pin Grid Array)라는 종별이 있다. QFP는 패키지의 4 측면에 핀이 부착된 시스템 LSI이다. PGA는 저면 전체에 많은 핀이 부착된 시스템 LSI다.
이들 핀은 다른 회로와의 인터페이스로서의 역할을 담당하고 있다. 시스템 LSI에서의 핀에는 이러한 인터페이스의 역할이 존재하므로, 시스템 LSI에서의 이들 핀에 다른 회로를 접속함으로써 시스템 LSI는 재생장치(102)의 중핵으로서의 역할을 한다.
이러한 시스템 LSI는 재생장치(102)는 물론, TV, 게임기, 컴퓨터, 원 세그먼트 휴대전화 등 영상재생을 취급하는 다양한 기기에 포함할 수 있어서 본 발명의 용도를 크게 확대할 수 있다.
엘리멘터리 버퍼(7)나 비디오 디코더, 오디오 디코더, 그래픽스 디코더를 일체의 시스템 LSI로 하는 경우, 시스템 LSI의 아키텍처(architecture)는 Uniphier 아키텍처에 준거하는 것이 바람직하다.
Uniphier 아키텍처에 준거한 시스템 LSI는 이하의 회로블록으로 구성된다.
· 데이터 병렬 프로세서(DPP)
이는 복수의 요소 프로세서가 동일하게 동작하는 SIMD형 프로세서로, 각 요소 프로세서에 내장되어 있는 연산기를 하나의 명령으로 동시에 동작시킴으로써 픽처를 구성하는 복수 화소에 대한 디코드 처리의 병렬화를 도모한다.
· 명령 병렬 프로세서(IPP)
이는 명령 RAM, 명령 캐시, 데이터 RAM, 데이터 캐시로 이루어지는 「Local Memory Controller」, 명령 페치부(fetch unit), 디코더, 실행 유닛, 레지스터 파일로 이루어지는 「Processing unit부」, 복수의 애플리케이션의 병렬실행을 Processing Unit부가 행하게 하는 「Vertual Multi Processor Unit부」로 구성된다.
· MPU 블록
이는 ARM 코어, 외부 버스 인터페이스(Bus Control Unit:BCU), DMA 컨트롤러, 타이머, 벡터 인터럽트 컨트롤러라고 하는 주변회로, UART, GPIO(General Purpose Input Output), 동기 시리얼 인터페이스 등 주변 인터페이스로 구성된다.
· 스트림 I/O블록
이는 USB 인터페이스나 ATA Packet 인터페이스를 통해서 외부 버스 상에 접속된 드라이브 장치, 하드디스크 드라이브 장치, SD 메모리카드 드라이브 장치와의 데이터 입출력을 한다.
· AV I/O블록
이는 오디오 입출력, 비디오 입출력, OSD 컨트롤러로 구성되고, 텔레비전, AV앰프와의 데이터 입출력을 한다.
· 메모리 제어블록
이것은 외부 버스를 통해서 접속된 SD-RAM의 판독을 실현하는 블록으로, 각 블록 사이의 내부접속을 제어하는 내부 버스 접속부, 시스템 LSI 외부에 접속된 SD-RAM과의 데이터 전송을 하는 액세스 제어부, 각 블록으로부터의 SD-RAM의 액세스 요구를 조정하는 액세스 스케줄부로 이루어진다.
구체적인 생산순서의 상세는 이하와 같이 된다. 먼저, 각 실시 예에서 설명한 구성도를 기초로 시스템 LSI로 할 부분의 회로도를 작성하고, 회로소자나 IC, LSI를 이용하여 구성도에서의 구성요소를 구현한다.
그렇게 하여 각 구성요소를 구현해가면, 회로소자나 IC, LSI 사이를 접속하는 버스나 그 주변회로, 외부와의 인터페이스 등을 규정한다. 또한, 접속선, 전원 라인, 그라운드 라인(ground line), 클록 신호 선 등도 규정해간다. 이 규정에 있어서, LSI의 스펙을 고려하여 각 구성요소의 동작 타이밍을 조정하거나 각 구성요소에 필요한 밴드 폭을 보증하는 등의 조정을 추가하면서 회로도를 완성시켜 간다.
회로도가 완성하면 실장설계를 한다. 실장설계란 회로설계에 의해 작성된 회로도 상의 부품(회로소자나 IC, LSI)을 기판상의 어디에 배치할지 또는 회로도 상의 접속 선을 기판상에 어떻게 배치할지를 결정하는 기판 레이아웃 작성작업이다.
이렇게 실장설계가 이루어지고, 기판상의 레이아웃이 확정하면, 실장설계결과를 CAM 데이터로 변환하여 NC공작기계 등의 설비에 출력한다. NC공작기계는 이 CAM 데이터를 기초로 SoC실장이나 SiP실장을 한다. Soc(System on chip) 실장은 1 칩 상에 복수의 회로를 인쇄하는 기술이다. Sip(System in Package) 실장은 복수의 칩을 수지 등으로 하나의 패키지로 하는 기술이다. 이상의 과정을 거쳐서 본 발명에 관한 시스템 LSI는 각 실시 예에서 설명한 재생장치(102)의 내부 구성도를 기초로 만들 수 있다.
또, 상술한 것과 같이 하여 생산되는 집적회로는 집적도의 차이에 따라서 IC, LSI, 슈퍼 LSI, 울트라 LSI로 호칭이 되는 경우도 있다.
FPGA를 이용하여 시스템 LSI를 실현한 경우에는, 다수의 로직 엘리먼트(logic element)가 격자형으로 배치되어 있고, LUT(Look Up Table)에 기재되어 있는 입출력의 조합에 의거하여 종·횡의 배선을 연결함으로써 각 실시 예에서 설명한 하드웨어 구성을 실현할 수 있다. LUT는 SRAM에 기억되어 있고, 이러한 SRAM의 내용은 전원단에 의해 소멸하므로, 이러한 FPGA의 이용시에는 구성 정보(config information)의 정의에 의해 각 실시 예에서 설명한 하드웨어 구성을 실현하는 LUT를 SRAM에 기록하게 할 필요가 있다.
(AV 재생의 대상)
AV 재생의 대상은 디지털 스트림, 맵 정보, 플레이리스트 정보로 구성되는 콘텐츠이면 BD-ROM에 규정된 것에 한정되지 않는다. 디지털 스트림은 MPEG2, MPEG4-AVC 등의 부호화 방식으로 부호화된 비디오 스트림, 오디오 스트림을 다중화함으로써 얻어진 다중화 스트림으로, DVD Video-Recording 규격에서는 VOB라 불린다.
맵 정보는 상술한 비디오 스트림에서의 액세스 유닛(독립 복호 가능한 재생단위를 말한다)의 어드레스 정보와 비디오 스트림의 재생시간 축에서의 재생시각과의 대응을 나타내는 정보이며, DVD Video-Recording 규격에서는 Time Map이라 불린다.
플레이리스트 정보는 개시 점인 시각정보와 종료 점인 시각정보의 세트에 의해 하나 이상의 재생구간을 정의하는 정보이다.
본 발명을 구성하는 재생장치는 제조산업에서 경영적으로 또한 계속적 및 반복적으로 제조하여 판매할 수 있다. 특히, 영상 콘텐츠의 제작에 관계된 영화산업 및 민생기기산업에서 이용할 수 있다.

Claims (12)

  1. 가상패키지(virtual package)를 재생하는 재생장치로,
    제 1 기록매체가 장착된 때에, 애플리케이션으로부터의 요구에 따라서 상기 제 1 기록매체에 대응하는 추가콘텐츠를 장치 외부로부터 취득하는 취득수단과,
    취득된 상기 추가콘텐츠를 상기 애플리케이션으로부터의 요구에 따라서 복수의 빈 블록을 갖는 상기 제 2 기록매체에 기록하는 제어수단과,
    상기 제 1 기록매체에 기록된 콘텐츠와 상기 제 2 기록매체에 기록된 추가콘텐츠를 조합시킴으로써 상기 가상패키지를 구축하는 구축수단을 구비하며,
    상기 기록요구는 상기 제 2 기록매체에의 기록에 이용되는 파일 패스를 상기 제어수단에 인도함으로써 이루어지고,
    상기 제 2 기록매체에의 기록에 이용되는 파일 패스는 파일 명과 확장자의 지정을 포함하며,
    상기 제어수단은,
    기록할 추가콘텐츠에 대응하는 파일의 확장자가 규정된 문자 열인가 여부를 판정함으로써 상기 애플리케이션으로부터 요구에 따라서 제 2 기록매체에 기록할 추가콘텐츠가 AV 스트림인가 여부를 판정하고,
    기록할 추가콘텐츠가 AV 스트림이면 상기 제 2 기록매체에서의 연속한 복수의 빈 블록(empty block)으로 구성되는 연속영역에 당해 추가콘텐츠를 기록하고,
    상기 추가콘텐츠가 AV 스트림이 아니면 상기 제 2 기록매체에서의 연속하고 있지 않은 복수의 빈 블록 중 어디에 당해 추가콘텐츠를 기록하는 것을 특징으로 하는 재생장치.
  2. 제 1 항에 있어서,
    상기 제 1 기록매체에는 증명서의 식별자, 조직의 식별자, 매체의 식별자가 부가되어 있고,
    상기 연속영역은 제 2 기록매체에서의 추가콘텐츠 저장영역에 배치되며, 추가콘텐츠 저장영역은 제 1 기록매체의 증명서 식별자, 조직 식별자, 매체 식별자를 포함하는 파일 패스(file path)에 의해 특정되는 영역인 것을 특징으로 하는 재생장치.
  3. 제 2 항에 있어서,
    상기 제 1 기록매체는 디렉터리 명 및 파일명이 255 문자 이하로 제한된 파일시스템을 가지고,
    상기 제 2 기록매체에의 기록에 이용되는 파일 패스는 8 문자 이하의 디렉터리 명 및 파일명과 확장자가 3 문자 이하인 8.3 형식의 파일시스템에서의 파일명과 확장자의 지정을 포함하며,
    상기 제어수단은,
    상기 추가콘텐츠가 저장될 파일의 확장자가 3 문자 이하로 제한된 규정의 문자열인가 여부를 판정함으로써 상기 기록이 요구된 추가콘텐츠가 AV 스트림인가 여부를 판별하는 것을 특징으로 하는 재생장치.
  4. 제 3 항에 있어서,
    상기 제어수단은 상기 추가콘텐츠를 제 2 기록매체에 기록할 때에, 상기 8.3 형식의 파일시스템에서의 관리정보를 참조함으로써 상기 연속영역을 구성하는데 충분한 연속하는 빈 블록이 존재하는가 여부를 체크하고,
    상기 연속영역은 상기 체크에 의해 존재한다는 것이 명확해진 연속하는 복수의 빈 블록으로 구성되는 것을 특징으로 하는 재생장치.
  5. 제 4 항에 있어서,
    상기 연속영역에 AV 스트림인 추가콘텐츠를 기록한 후에, 연속영역에 잉여의(excessive) 미기록 부분이 존재하였다고 해도 미기록 부분에는 데이터를 기록하지 않는 것을 특징으로 하는 재생장치.
  6. 제 3 항에 있어서,
    상기 제어수단에 의한 추가콘텐츠의 기록에는 추기(additional writing)와 오버라이트(overwrite)가 있고,
    상기 제어수단은 상기 추가콘텐츠를 제 2 기록매체에 기록함에 있어서, 상기 8.3 형식의 파일시스템에서의 관리정보를 참조함으로써 상기 애플리케이션으로부터 요구된 기록이 추기인지 오버라이트인지의 판정을 하며,
    상기 추기는,
    이미 제 2 기록매체에 기록되어 있는 기록이 완료된 데이터를 메모리에 판독한 상태에서 제 2 기록매체에서 기록이 완료된 데이터를 소거하는 처리와, 메모리에 판독된 기록이 완료된 데이터와 기록할 추가콘텐츠를 일체로 한 상태에서 연속 영역에 기록하는 처리에 의해 이루어지고,
    상기 오버라이트는,
    제 2 기록매체에 이미 기록되어 있는 기록이 완료된 데이터를 소거하고, 기록할 추가콘텐츠를 연속영역에 기록하는 처리에 의해 이루어지는 재생장치.
  7. 제 3 항에 있어서,
    상기 제 2 기록매체에는,
    증명서 식별자에 대응하는 디렉터리, 조직 식별자에 대응하는 디렉터리, 매체 식별자에 대응하는 디렉터리 세트가 존재하고,
    상기 조직 식별자에 대응하는 디렉터리는 증명서 식별자에 대응하는 디렉터리의 하위에 존재하며,
    상기 매체 식별자에 대응하는 디렉터리 세트는 조직 식별자에 대응하는 디렉터리의 하위에 존재하고,
    상기 매체 식별자에 대응하는 디렉터리 세트는 계층화된 복수의 서브디렉터리로 이루어지며,
    상기 추가콘텐츠 저장영역은,
    계층화된 복수의 서브디렉터리 중 최하층에 해당하는 서브디렉터리에 해당하는 것을 특징으로 하는 재생장치.
  8. 제 3 항에 있어서,
    상기 매체 식별자에 대응하는 디렉터리 세트는 4개의 서브디렉터리로 계층화되어 있고,
    상기 제 1 기록매체에 부가된 매체 식별자는 최대 32 문자의 문자열이며,
    상기 매체 식별자에 대응하는 디렉터리 세트를 구성하는 서브디렉터리 각각에는 매체 식별자를 구성하는 최대 32 문자의 문자열을 분할함으로써 얻어진 8 문자 이하의 디렉터리 명이 부가되어 있는 것을 특징으로 하는 재생장치.
  9. 제 1 항에 있어서,
    상기 제 2 기록매체에 기록할 추가콘텐츠가 AV 스트림이고, 상기 제 2 기록매체의 연속영역에서의 빈 용량이 부족한 경우,
    상기 제 2 기록매체의 연속하고 있지 않은 빈 블록에 상기 AV 스트림을 기록하고, 상기 AV 스트림의 기록이 정당하게 성공하지 않았음을 사용자에게 통지하는 것을 특징으로 하는 재생장치.
  10. 제 1 항에 있어서,
    상기 제 2 기록매체에 기록할 추가콘텐츠가 AV 스트림이고, 상기 제 2 기록매체의 연속영역 및 연속하고 있지 않은 빈 블록 쌍방에서의 빈 용량이 부족한 경우,
    상기 기록에 실패했음을 상기 애플리케이션에 통지하고, 디지털 스트림의 기록에 실패했음을 사용자에게 통지하는 것을 특징으로 하는 재생장치.
  11. 가상패키지를 구축하기 위한 추가콘텐츠를 기록매체에 기록하는 기록방법으로,
    제 1 기록매체에 대응하는 추가콘텐츠를 장치 외부로부터 취득하는 취득스텝과,
    취득된 상기 추가콘텐츠를 애플리케이션으로부터의 요구에 따라서 복수의 빈 블록을 갖는 제 2 기록매체에 기록하는 제어스텝을 포함하고,
    상기 기록요구는 상기 제 2 기록매체에의 기록에 이용되는 파일 패스를 상기 제어스텝에 인도함으로써 이루어지고,
    상기 제 2 기록매체에의 기록에 이용되는 파일 패스는 파일 명과 확장자의 지정을 포함하며,
    상기 제어스텝은,
    기록할 추가콘텐츠에 대응하는 파일의 확장자가 규정된 문자 열인가 여부를 판정함으로써 상기 애플리케이션으로부터 요구에 따라서 제 2 기록매체에 기록할 추가콘텐츠가 AV 스트림인가 여부를 판정하고,
    기록할 추가콘텐츠가 AV 스트림이면 상기 제 2 기록매체에서의 연속하는 복수의 빈 블록으로 구성되는 연속영역에 당해 추가콘텐츠를 기록하고,
    상기 추가콘텐츠가 AV 스트림이 아니면 상기 제 2 기록매체에서의 연속하고 있지 않은 복수의 빈 블록 중 어디에 당해 추가콘텐츠를 기록하는 것을 특징으로 하는 기록방법.
  12. 삭제
KR1020097000659A 2007-06-06 2008-05-23 재생장치, 기록방법 KR101470961B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2007-150592 2007-06-06
JP2007150592 2007-06-06

Publications (2)

Publication Number Publication Date
KR20100017084A KR20100017084A (ko) 2010-02-16
KR101470961B1 true KR101470961B1 (ko) 2014-12-10

Family

ID=40093335

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097000659A KR101470961B1 (ko) 2007-06-06 2008-05-23 재생장치, 기록방법

Country Status (6)

Country Link
US (1) US8559789B2 (ko)
EP (1) EP2051254A4 (ko)
JP (1) JP5032510B2 (ko)
KR (1) KR101470961B1 (ko)
CN (1) CN101542623B (ko)
WO (1) WO2008149501A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8582958B2 (en) 2009-03-16 2013-11-12 Panasonic Corporation Reproducer, integrated circuit, reproduction method, application program, recording medium, recorder, and recording method
JP5381266B2 (ja) * 2009-04-14 2014-01-08 ソニー株式会社 情報記録装置、情報配信サーバ、情報記録システム、及び、情報記録方法
JP5491072B2 (ja) * 2009-05-20 2014-05-14 東芝アルパイン・オートモティブテクノロジー株式会社 光ディスク再生装置および光ディスク再生方法
JP2010272058A (ja) * 2009-05-25 2010-12-02 Funai Electric Co Ltd 情報再生装置
JP5526621B2 (ja) * 2009-06-26 2014-06-18 パナソニック株式会社 光ディスク再生装置
CN101719071B (zh) * 2009-11-27 2013-02-13 美的集团股份有限公司 一种用于存储少量可更改信息的rom模拟改写方法
US20110255384A1 (en) * 2010-04-15 2011-10-20 Kaleidescape, Inc. Bookmarking digital content on blu-ray discs
TW201233169A (en) * 2011-01-25 2012-08-01 Hon Hai Prec Ind Co Ltd Apparatus and method for searching subtitle of television program
CN103092876A (zh) * 2011-11-01 2013-05-08 镇江华扬信息科技有限公司 基于cf卡的嵌入式文件系统
KR102028696B1 (ko) 2012-10-04 2019-10-07 삼성전자주식회사 고 해상도 컨텐츠를 처리하는 컨텐츠 처리 장치 및 그 방법
US9661259B2 (en) 2013-03-28 2017-05-23 Mitsubishi Electric Corporation Playback device, control method, and program
JP5976024B2 (ja) * 2014-01-23 2016-08-23 三菱電機株式会社 再生装置、制御方法、及び制御プログラム
TWI614755B (zh) * 2017-02-07 2018-02-11 群聯電子股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元
JP6855348B2 (ja) 2017-07-31 2021-04-07 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびダウンロード処理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850266A (en) * 1995-12-22 1998-12-15 Cirrus Logic, Inc. Video port interface supporting multiple data formats
JP2000013728A (ja) * 1997-09-17 2000-01-14 Matsushita Electric Ind Co Ltd 光ディスク記録装置、ファイル管理プログラムを記録したコンピュータ読み取り可能な記憶媒体および光ディスク
JP2007041709A (ja) * 2005-08-01 2007-02-15 Canon Inc 文書処理システム、文書処理システムの制御方法、文書処理装置、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP2007128584A (ja) * 2005-11-02 2007-05-24 Sony Corp 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2606222B2 (ja) * 1987-08-06 1997-04-30 富士ゼロックス株式会社 ファイル名の長さ制限拡張方式
US5307494A (en) * 1987-08-05 1994-04-26 Fuji Xerox Co., Ltd. File name length augmentation method
JPH09147486A (ja) * 1995-11-28 1997-06-06 Hitachi Ltd 情報格納制御方法
ID21144A (id) * 1996-09-30 1999-04-29 Matsushita Electric Ind Co Ltd Metode perekaman/pereproduksian yang cocok untuk merekam/mereproduksi data av dari/pada disk, alat perekam dan alat produksi untuk metode perekaman informasi dan sistim pemrosesan informasi
WO1999014755A2 (en) * 1997-09-17 1999-03-25 Matsushita Electric Industrial Co., Ltd. Optical disc recording apparatus, computer-readable recording medium recording a file management program, and optical disc
US6370325B2 (en) * 1997-09-17 2002-04-09 Matsushita Electric Industrial Co., Ltd. Optical disc recording apparatus, computer-readable recording medium recording a file management program, and optical disc
US6345028B1 (en) * 1997-11-03 2002-02-05 Intertactile Technologies Corporation Method for direct recording and playback of multiple data tracks and signals
EP2261915A3 (en) * 1998-02-23 2011-03-09 Kabushiki Kaisha Toshiba Information storage medium, information playback method and apparatus and information recording method
JP4134429B2 (ja) * 1999-03-17 2008-08-20 松下電器産業株式会社 情報記録媒体と情報記録再生方法及び情報記録再生システム装置
JP4066447B2 (ja) 1999-05-27 2008-03-26 ソニー株式会社 情報処理装置及びデータの処理方法
US6636879B1 (en) * 2000-08-18 2003-10-21 Network Appliance, Inc. Space allocation in a write anywhere file system
EP1381232A4 (en) * 2001-04-02 2005-09-28 Matsushita Electric Ind Co Ltd VIDEO PLAYBACK DEVICE FOR DIGITAL VIDEO CONTENT, VIDEO PLAY PROCESS, VIDEO PLAY PROGRAM AND PACKAGING MEDIUM
US7149156B2 (en) * 2001-07-11 2006-12-12 Sony Corporation Editing apparatus for optical reproducing device
JP2003030964A (ja) * 2001-07-11 2003-01-31 Sony Corp 再生装置および編集装置
EP1553769A4 (en) * 2002-09-25 2006-01-04 Matsushita Electric Ind Co Ltd Reproducing apparatus, optical data processor, recording medium, program and reproducing method
JP4056370B2 (ja) * 2002-11-27 2008-03-05 三洋電機株式会社 レコーダ
JP3833653B2 (ja) * 2003-06-13 2006-10-18 シャープ株式会社 情報再生装置、情報再生装置の制御方法、コンテンツ記録媒体、制御プログラム、制御プログラムを記録したコンピュータ読み取り可能な記録媒体
KR101121382B1 (ko) * 2003-11-10 2012-03-13 파나소닉 주식회사 기록매체, 재생장치, 재생방법
TW200602945A (en) * 2004-05-11 2006-01-16 Matsushita Electric Ind Co Ltd Reproducer, program, and reproducing method
BRPI0511014A (pt) * 2004-05-11 2007-11-20 Matsushita Electric Ind Co Ltd dispositivo de reprodução
EP1699048A4 (en) * 2004-06-03 2009-01-28 Panasonic Corp PLAYBACK DEVICE AND PROGRAM
JP4586429B2 (ja) * 2004-06-11 2010-11-24 ソニー株式会社 データ処理装置およびデータ処理方法、並びに、プログラムおよびプログラム記録媒体
JP4917028B2 (ja) * 2004-06-30 2012-04-18 コーディス・コーポレイション 非対称な部材を有する腔内用医療装置
JP4626799B2 (ja) 2004-07-12 2011-02-09 ソニー株式会社 再生装置および方法、情報提供装置および方法、データ、記録媒体、並びにプログラム
WO2006009221A1 (ja) * 2004-07-22 2006-01-26 Matsushita Electric Industrial Co., Ltd. 再生装置、再生方法、プログラム及びコンピュータ読取可能な記録媒体
EP2270806A3 (en) 2004-07-22 2011-02-09 Panasonic Corporation Playback apparatus for performing application-synchronized playback
CN1998048B (zh) * 2004-07-22 2010-06-09 松下电器产业株式会社 重放装置和重放方法
KR20070047825A (ko) * 2004-09-08 2007-05-07 마츠시타 덴끼 산교 가부시키가이샤 영상데이터와 애플리케이션을 연동시켜서 재생하는재생장치, 재생방법 및 프로그램
WO2006059654A1 (ja) * 2004-12-01 2006-06-08 Matsushita Electric Industrial Co., Ltd. 記録媒体、再生装置、プログラム、再生方法、集積回路
BRPI0615070A2 (pt) * 2005-08-22 2016-09-13 Lg Electronics Inc método e aparelho para gerenciar reprodução de áudio para pelo menos um caminho de apresentação picture-in-picture, meio de gravação, método e aparelho para gravar estrutura de dados
US20070041710A1 (en) * 2005-08-22 2007-02-22 Lg Electronics Apparatus for reproducing data, method thereof, apparatus for recording the same, method thereof and recording medium
US20070041711A1 (en) * 2005-08-22 2007-02-22 Lg Electronics Apparatus for reproducing data, method thereof, apparatus for recording the same, method thereof and recording medium
WO2007024078A1 (en) * 2005-08-22 2007-03-01 Lg Electronics Inc. Recording medium, method and apparatus for reproducing data, and method and apparatus for recording data
CN101310525B (zh) * 2005-11-15 2010-09-08 松下电器产业株式会社 再现装置和再现方法
JP4687424B2 (ja) * 2005-11-25 2011-05-25 ソニー株式会社 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
JP2007200518A (ja) * 2005-12-27 2007-08-09 Sony Corp 情報処理システム、コンテンツ出力装置、コンテンツ出力装置による情報処理装置制御方法及び情報処理装置制御プログラム
JP4575324B2 (ja) * 2006-03-29 2010-11-04 株式会社東芝 Av装置及びその制御方法
US7660837B2 (en) * 2006-06-30 2010-02-09 Broadcom Corporation Method for automatically managing disk fragmentation
JP4482828B2 (ja) 2006-09-06 2010-06-16 ソニー株式会社 再生装置および方法、情報処理装置および方法、情報提供システム、並びにデータ

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850266A (en) * 1995-12-22 1998-12-15 Cirrus Logic, Inc. Video port interface supporting multiple data formats
JP2000013728A (ja) * 1997-09-17 2000-01-14 Matsushita Electric Ind Co Ltd 光ディスク記録装置、ファイル管理プログラムを記録したコンピュータ読み取り可能な記憶媒体および光ディスク
JP2007041709A (ja) * 2005-08-01 2007-02-15 Canon Inc 文書処理システム、文書処理システムの制御方法、文書処理装置、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP2007128584A (ja) * 2005-11-02 2007-05-24 Sony Corp 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム

Also Published As

Publication number Publication date
CN101542623A (zh) 2009-09-23
US8559789B2 (en) 2013-10-15
EP2051254A1 (en) 2009-04-22
KR20100017084A (ko) 2010-02-16
CN101542623B (zh) 2013-03-20
WO2008149501A1 (ja) 2008-12-11
JP5032510B2 (ja) 2012-09-26
EP2051254A4 (en) 2012-10-03
JPWO2008149501A1 (ja) 2010-08-19
US20100034516A1 (en) 2010-02-11

Similar Documents

Publication Publication Date Title
KR101470961B1 (ko) 재생장치, 기록방법
JP5406044B2 (ja) 個別販売に用いられる記録媒体、記録装置、再生装置、それらの方法
CN101583928B (zh) 再现装置及再现方法
CN101702323B (zh) 记录介质,重放设备、方法及程序
US8660406B2 (en) Playback apparatus for performing application-synchronized playback
US8849088B2 (en) Playback device, recording device, playback method, and recording method
JP5451745B2 (ja) 再生装置、集積回路、再生方法、アプリケーションプログラム、記録媒体、記録装置、及び記録方法
US20090055744A1 (en) Recording medium, reproducing device, recording device, system lsi, method, and program

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20090113

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20130415

Comment text: Request for Examination of Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20140530

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20141114

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20141203

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20141204

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20171114

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20171114

Start annual number: 4

End annual number: 4

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20190914