KR101571001B1 - 재생장치 - Google Patents

재생장치 Download PDF

Info

Publication number
KR101571001B1
KR101571001B1 KR1020107020366A KR20107020366A KR101571001B1 KR 101571001 B1 KR101571001 B1 KR 101571001B1 KR 1020107020366 A KR1020107020366 A KR 1020107020366A KR 20107020366 A KR20107020366 A KR 20107020366A KR 101571001 B1 KR101571001 B1 KR 101571001B1
Authority
KR
South Korea
Prior art keywords
file
copy
recording medium
index table
management information
Prior art date
Application number
KR1020107020366A
Other languages
English (en)
Other versions
KR20110069745A (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 KR20110069745A publication Critical patent/KR20110069745A/ko
Application granted granted Critical
Publication of KR101571001B1 publication Critical patent/KR101571001B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • 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/00094Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised record carriers
    • G11B20/00123Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised record carriers the record carrier being identified by recognising some of its unique characteristics, e.g. a unique defect pattern serving as a physical signature of the record carrier
    • 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
    • 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/00659Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a control step which is implemented as an executable file stored on the record carrier
    • 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/00681Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which prevent a specific kind of data access
    • G11B20/00688Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which prevent a specific kind of data access said measures preventing that a usable copy of recorded data can be made on another medium
    • 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/322Indexing; 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 used signal is digitally coded
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42646Internal components of the client ; Characteristics thereof for reading from or writing on a non-volatile solid state storage medium, e.g. DVD, CD-ROM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4627Rights management associated to the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8355Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10833Copying or moving data from one record carrier to another
    • G11B2020/10842Copying or moving data from one record carrier to another wherein not all recorded data are copied or moved
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • H04N2005/91307Television signal processing therefor for scrambling ; for copy protection by adding a copy protection signal to the video signal
    • H04N2005/91321Television signal processing therefor for scrambling ; for copy protection by adding a copy protection signal to the video signal the copy protection signal being a copy protection control signal, e.g. a record inhibit signal

Abstract

종래의 매니지드 카피는 카피 원 파일의 파일구성을 유지한 채로 파일을 카피한다. 이에, 카피 원 파일의 파일구성을 변경하는 부분 카피를 하는 경우, 규격 외의 디스트가 작성되어 재생장치에서 재생할 수 없다고 하는 과제가 있다. 본 발명의 재생장치는 매니지스 카피 제어부(423)가 맵핑 데이터 처리부(609)를 구비하고, 부분 카피의 경우, 카피 대상 파일의 파일 명을 카피 처 디스크(802)용의 파일 명으로 변경하여 카피한다. 이에 의해, 부분 카피의 경우라도 재생장치에서 재생할 수 있는 재생규격을 유지한 디스크를 작성할 수 있다.

Description

재생장치{REPRODUCTION DEVICE}
본 발명은 BD-ROM(Blu-Ray Disc Read Only Memory) 등의 기록매체에 기록되어 있는 영상 데이터를 재생하는 재생장치에 관한 것으로, 특히, 기록매체에 기록되어 있는 영상 데이터를 다른 기록매체에 기록하는 기술(매니지드 카피, managed copy)에 관한 것이다.
매니지드 카피(managed copy)란 BD-ROM 등의 판독전용 기록매체에 기록되어 있는 디지털 스트림이나 애플리케이션 프로그램(이하, 「애플리케이션」이라 한다.)을 다른 광디스크(BD-R, BD-RE, DVD-R, DVD-RW, DVD-RAM 등)나 하드디스크, 리무버블 미디어(SD 메모리 카드, 메모리 스틱, 콤팩트 플래시(등록상표), 스마트 미디어, 멀티미디어 카드 등) 등의 판독 기록 가능한 기록매체에 카피할 때, 무제한으로 카피를 허가하는 것이 아니라, 카피 전에 서버와 통신하여 인증이 이루어져서 허가된 상태에서만 카피를 실행 가능하게 하는 기술이다.
이 기술에 의해 백업(카피) 횟수를 제한하거나 과금(課金)된 상태에서만 백업을 허가하는 등의 제어를 할 수 있으므로 BD-ROM 시청의 편리성을 향상시킬 수 있다.
매니지드 카피에 대한 선행기술로는 이하의 특허문헌에 기재되어 있는 기술이 있다.
특허문헌 1 : 일본국 특개2008-98765호
그런데, 매니지드 카피는 허가된 상태에서 카피를 실행하는 구조이지만, BD-ROM 상의 어느 데이터를 카피 대상으로 할지는 다양한 방법으로 할 수 있다.
예를 들어, 본편 영상과 특전영상이 기록되어 있는 BD-ROM에서 BD-ROM 상의 데이터의 모든 파일을 카피하고, BD-ROM과 완전히 동일한 데이터의 백업을 생성하는 방법도 있고, 사용자가 원하는 일부의 콘텐츠만을(예를 들면, 특전영상만) 부분적으로 카피하는 방법도 있다.
매니지드 카피는 카피 대상 파일의 파일명 일람이 기재된 카피 관리정보 리스트를 기초로 실행된다. 카피 관리정보 리스트는 디스크 상에 미리 기록되어 있는 것을 이용하거나 또는 서버로부터 최신의 카피 관리정보 리스트를 취득해서 이용한다.
카피 관리정보 리스트에 BD-ROM 상의 모든 파일이 카피 대상이라는 것이 기재되어 있는 경우는, 매니지드 카피에 의해서 모든 파일이 카피 되게 된다. 그렇다면, BD 재생규격에 따른 디스크 구성을 그대로 카피하므로 BD 재생규격에 따른 디스크가 완성되는 것이 보장된다고 할 수 있다.
그러나, 부분 카피의 경우는 BD 재생규격의 호환성을 상실하는 경우도 생각할 수 있다. 왜냐하면, 본편 영상과 특전영상을 포함한 디스크 중, 특전영상만을 매니지드 카피하는 경우, 당연히 본편 영상을 생략한 형태로 카피하지 않으면 안 된다. 그렇다면, 본편 영상을 생략해 버림으로써 BD-ROM 상의 데이터베이스 파일이나 애플리케이션과의 정합(整合)이 손상될 가능성이 있다.
BD-ROM에는 영상에 더하여 디스크 삽입시나 버튼이 눌릴 때에 어느 스트림을 재생할지가 기재된 시나리오 데이터베이스 파일도 포함하고 있다. 시나리오 데이터베이스 파일은 BD-ROM 디스크 상의 규격에 정해진 고정된 파일명으로 특정위치에 배치되어 있다. 재생기기는 디스크 삽입시에 시나리오 데이터베이스를 참조하는 구조로 되어 있다.
카피 원(copy source) BD-ROM의 시나리오 데이터베이스 파일이 기동시에 본편 영상을 재생하도록 되어 있다고 하면, 카피 처(copy destination)에서 카피 원과 동일한 시나리오 데이터베이스 파일을 사용하는 경우, 기동해야 할 본편 영상이 포함되어 있지 않으므로 예기치 못한 동작을 일으켜 버린다고 하는 큰 과제가 있다. 그 외에도 일부의 파일이 빠짐에 따라 파일 간의 불일치에 의해서 재생호환을 상실하는 패턴이 많이 존재한다.
본 발명의 목적은 부분 카피의 경우에도 재생호환이 유지되는 디스크를 작성할 수 있는 재생장치를 제공하는 것이다.
상기 과제를 해결하기 위해서 본 발명의 일 실시 예인 재생장치는, 인덱스테이블 파일과, 당해 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일과, 상기 실제 데이터 파일의 일부를 정의하는 타이틀을 포함하는 부분 카피용 인덱스테이블 파일을 기억하고 있는 제 1 기록매체 상의 파일을 제 2 기록매체에 카피하는 재생장치로, 상기 부분 카피용 인덱스테이블 파일과, 당해 부분 카피용 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일의 상기 제 2 기록매체용의 파일명을 기재한 파일 맵핑정보(file mapping information)를 기억하고 있는 기억부와, 상기 제 1 기록매체 상의 일부의 파일을 카피하는 경우에, 상기 부분 카피용 인덱스테이블 파일과, 당해 부분 카피용 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일을 상기 파일 맵핑정보에 기재되어 있는 파일명으로 변경하는 맵핑 데이터 처리부와, 상기 부분 카피용 인덱스테이블 파일과, 당해 부분 카피용 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일을 변경 후의 파일명으로 상기 제 2 기록매체에 카피하는 카피 실행부를 구비하는 것을 특징으로 한다.
본 발명에 의하면, 제 1 기록매체 상의 일부의 파일을 파일의 구성을 변경하여 카피하는 소위 「부분 카피」의 경우라도, 카피 대상 파일의 파일명을 파일 맵핑정보를 이용하여 제 2 기록매체용의 파일명으로 변환하고, 변환 후의 파일명으로 제 2 기록매체에 카피하므로 재생호환을 유지한 제 2 기록매체를 작성할 수 있게 된다.
도 1은 본 발명의 실시 예 1에서의 시스템도이다.
도 2는 본 발명의 실시 예 1에서의 BD-ROM의 데이터 계층도이다.
도 3은 본 발명의 실시 예 1에서의 BD-ROM이 대상으로 하고 있는 소프트웨어의 레이어 모델을 나타내는 도면이다.
도 4는 본 발명의 실시 예 1에서의 2개의 모드의 동적인 재생제어로 작성되는 영화작품을 나타내는 도면이다.
도 5는 본 발명의 실시 예 1에서의 재생장치의 내부구성을 나타내는 도면이다.
도 6은 본 발명의 실시 예 1에서의 로컬 스토리지의 디렉터리 구성을 나타내는 도면이다.
도 7은 본 발명의 실시 예 1에서의 BD-J 모듈의 구체적인 구성을 나타내는 도면이다.
도 8은 본 발명의 실시 예 1에서의 index.bdmv와 타이틀의 관계를 나타내는 도면이다.
도 9는 본 발명의 실시 예 1에서의 매니지드 카피 제어부의 내부구성을 나타내는 도면이다.
도 10은 본 발명의 실시 예 1에서의 Java(등록상표) 애플리케이션과 서버의 데이터 송수신을 나타내는 도면이다.
도 11은 본 발명의 실시 예 1에서의 카피 관리정보 리스트의 내용을 나타내는 도면이다.
도 12는 본 발명의 실시 예 1에서의 매니지드 카피의 각 절차의 화면표시의 일 예를 나타내는 도면이다.
도 13은 본 발명의 실시 예 1에서의 Java 애플리케이션에 의한 매니지드 카피 제어의 플로차트이다.
도 14는 본 발명의 실시 예 1에서의 매니지드 카피 제어부에 의한 데이터 카피의 플로차트이다.
도 15는 본 발명의 실시 예 1에서의 데이터 카피 완료의 화면표시의 일 예를 나타내는 도면이다.
도 16은 종래의 방식에서의 카피 관리정보 리스트의 내용을 나타내는 도면이다.
도 17은 종래의 방식에서의 매니지드 카피 완료 후의 카피 처 디스크의 일 예를 나타내는 도면이다.
도 18은 종래의 방식에서의 매니지드 카피 처 디스크 재생의 화면표시의 일 예를 나타내는 도면이다.
도 19는 본 발명의 실시 예 1에서의 매니지드 카피 완료 후의 카피 처 디스크의 일 예를 나타내는 도면이다.
도 20은 본 발명의 실시 예 1에서의 매니지드 카피 처 디스크 재생의 화면표시의 일 예를 나타내는 도면이다.
도 21은 본 발명의 실시 예 2에서의 카피 관리정보 리스트의 내용을 나타내는 도면이다.
도 22는 본 발명의 실시 예 2에서의 매니지드 카피 제어부의 내부구성을 나타내는 도면이다.
도 23은 본 발명의 실시 예 2에서의 매니지드 카피 제어부에 의한 데이터 카피의 플로차트이다.
도 24는 본 발명의 실시 예 2에서의 매니지드 카피 완료 후의 카피 처 디스크의 일 예를 나타내는 도면이다.
도 25는 본 발명의 실시 예 3에서의 카피 관리정보 리스트의 내용을 나타내는 도면이다.
도 26은 본 발명의 실시 예 3에서의 매니지드 카피 제어부의 내부구성을 나타내는 도면이다.
도 27은 본 발명의 실시 예 3에서의 매니지드 카피 제어부에 의한 데이터 카피의 플로차트이다.
도 28은 본 발명의 실시 예 3에서의 매니지드 카피 완료 후의 카피 처 디스크의 일 예를 나타내는 도면이다.
도 29는 본 발명의 실시 예 4에서의 재생장치의 내부구성을 나타내는 도면이다.
도 30은 본 발명의 실시 예 4에서의 로컬 스토리지의 디렉터리 구성을 나타내는 도면이다.
도 31은 본 발명의 실시 예 4에서의 머지 관리정보의 내부구성을 나타내는 도면이다.
도 32은 본 발명의 실시 예 4에서의 BD-J 모듈의 구체적인 구성을 나타내는 도면이다.
도 33은 본 발명의 실시 예 4에서의 BD-ROM 삽입시의 플로차트이다.
도 34는 본 발명의 실시 예 4에서의 타이틀 절환시의 가상 패키지 재구축을 나타내는 도면이다.
도 35는 본 발명의 실시 예 4에서의 가상 패키지 갱신처리를 나타내는 도면이다.
도 36은 본 발명의 실시 예 4에서의 매니지드 카피 제어부의 내부구성을 나타내는 도면이다.
도 37은 본 발명의 실시 예 4에서의 Java 애플리케이션과 서버의 데이터 송수신을 나타내는 도면이다.
도 38은 본 발명의 실시 예 4에서의 카피 관리정보 리스트의 내용을 나타내는 도면이다.
도 39는 본 발명의 실시 예 4에서의 매니지드 카피의 각 절차의 화면표시의 일 예를 나타내는 도면이다.
도 40은 본 발명의 실시 예 4에서의 데이터 카피 중의 화면표시의 일 예를 나타내는 도면이다.
도 41은 본 발명의 실시 예 4에서의 Java 애플리케이션에 의한 매니지드 카피 제어의 플로차트이다.
도 42는 본 발명의 실시 예 4에서의 매니지드 카피 제어부에 의한 데이터 카피의 플로차트이다.
도 43은 본 발명의 실시 예 4에서의 데이터 카피 실행 중의 디스크 액세스 제한에 대하여 나타내는 도면이다.
도 44는 본 발명의 실시 예 4에서의 디스크 액세스 제한 중의 BD-J 모듈의 내부구성을 나타내는 도면이다.
도 45는 본 발명의 실시 예 4에서의 매니지드 카피시의 가상 패키지 상태 확인을 하는 플로차트이다.
도 46은 본 발명의 실시 예 4에서의 가상 패키지 카피 불가의 경우의 사용자 통지의 일 예를 나타내는 도면이다.
도 47은 본 발명의 실시 예 4에서의 가상 패키지 데이터의 매니지드 카피를 나타내는 도면이다.
도 48은 본 발명의 실시 예 4에서의 BD-ROM 상 데이터에서만 카피하는 경우의 사용자 통지의 일 예를 나타내는 도면이다.
도 49는 본 발명의 실시 예 4에서의 가상 패키지 카피를 실시할지 여부의 사용자 문의의 일 예를 나타내는 도면이다.
도 50은 본 발명의 실시 예 4에서의 카피 처 미디어의 용량 부족시의 사용자 문의의 일 예를 나타내는 도면이다.
도 51은 본 발명의 실시 예 4에서의 가상 패키지 구축 가부(可否) 판정의 플로차트이다.
도 52는 본 발명의 실시 예 5에서의 재생장치의 메뉴 화면의 일 예를 나타내는 도면이다.
도 53은 본 발명의 실시 예 5에서의 재생장치의 매니지드 카피 설정 메뉴의 일 예를 나타내는 도면이다.
도 54는 본 발명의 실시 예 5에서의 매니지드 카피의 플로차트이다.
도 55는 본 발명의 실시 예 5에서의 로컬 스토리지 이용의 문의화면의 일 예를 나타내는 도면이다.
청구항 1에 기재된 예인 재생장치는, 인덱스테이블 파일과, 당해 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일과, 상기 실제 데이터 파일의 일부를 정의하는 타이틀을 포함한 부분 카피용 인덱스테이블 파일을 기억하고 있는 제 1 기록매체 상의 파일을 제 2 기록매체에 카피하는 재생장치로, 상기 부분 카피용 인덱스테이블 파일과, 당해 부분 카피용 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일의 상기 제 2 기록매체용의 파일명을 기재한 파일 맵핑정보를 기억하고 있는 기억부와, 상기 제 1 기록매체 상의 일부의 파일을 카피하는 경우, 상기 부분 카피용 인덱스테이블 파일과 당해 부분 카피용 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일을 상기 파일 맵핑정보에 기재되어 있는 파일명으로 변경하는 맵핑 데이터 처리부와, 상기 부분 카피용 인덱스테이블 파일과, 당해 부분 카피용 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일을 변경 후의 파일명으로 상기 제 2 기록매체에 카피하는 카피 실행부를 구비하는 것을 특징으로 한다.
청구항 5에 기재된 예의 재생장치는, 상기 제 1 기록매체에 기록되어 있는 파일과 로컬 스토리지에 기록되어 있는 파일을 머지 관리정보에 따라서 조합함으로써 1개의 패키지로 판독 가능하게 하는 패키지 정보를 생성하는 가상 파일 시스템을 구비하고, 상기 가상 파일 시스템은, 상기 제 1 기록매체에 대응하는 머지 관리정보가 상기 로컬 스토리지에 존재하는가, 또한, 존재하는 경우에는 상기 머지 관리정보가 정당한가 여부를 확인한 후에 상기 패키지 정보를 생성하고, 상기 카피 실행부는 생성된 상기 패키지 정보에 의거하여 상기 제 1 기록매체 상의 파일과 상기 로컬 스토리지 상의 파일을 조합해서 상기 제 2 기록매체에 카피하는 것을 특징으로 한다.
이 구성에 의하면, 카피 원의 파일이 복수 미디어에 산재되어 있는 경우라도 가상 파일 시스템을 이용함으로써 산재되어 있는 파일이 하나의 미디어 상에 존재하는 것처럼 가장한 상태로 매니지드 카피를 하므로, 복수 미디어에 산재되어 있는 파일이라도 제 2 기록매체에 매니지드 카피할 수 있다. 그리고 카피 처의 제 2 기록매체에서는 파일 구성을 유지한 상태에서 파일이 카피되므로 재생호환을 유지한 제 2 기록매체를 작성할 수 있게 된다.
청구항 12에 기재된 예인 재생장치는, 제 1 기록매체 및 로컬 스토리지의 어느 하나에 기록되어 있는 인덱스테이블 파일과, 당해 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일과, 상기 실제 데이터 파일의 일부를 정의하는 타이틀을 포함한 부분 카피용 인덱스테이블 파일에서 카피 대상 파일을 제 2 기록매체에 카피하는 재생장치로, 상기 부분 카피용 인덱스테이블 파일과, 당해 부분 카피용 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일과의 상기 제 2 기록매체용의 파일명을 기재한 파일 맵핑정보를 기억하고 있는 상기 로컬 스토리지와, 일부의 파일을 카피하는 경우에 상기 부분 카피용 인덱스테이블 파일과, 당해 부분 카피용 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일을 상기 파일 맵핑정보에 기재되어 있는 파일명으로 변경하는 맵핑 데이터 처리부와, 카피 대상의 파일이 로컬 스토리지 상의 파일인 경우에, 상기 파일의 정당성을 확인하는 인증부와, 상기 부분 카피용 인덱스테이블 파일과, 당해 부분 카피용 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일 중, 상기 제 1 기록매체에 기록되어 있는 파일과, 상기 인증부에 의해 정당성이 확인된 파일을 변경 후의 파일명으로 상기 제 2 기록매체에 카피하는 카피 실행부를 구비하는 것을 특징으로 한다.
이 구성에 의하면, 카피 원 디스크인 제 1 기록매체 상에 존재하지 않는 파일이라도 재생장치상의 로컬 스토리지에 보유되어 있는 파일을 제 2 기록매체에 매니지드 카피할 수 있다.
예를 들어, 재생장치는 미리 외부 서버로부터 카피 원 디스크의 버그픽스(bug fix)나 추가 콘텐츠 등을 로컬 스토리지 상에 다운로드해 둠으로써 제 1 기록매체 상의 파일과 함께 버그픽스 및 추가 콘텐츠 등도 제 2 기록매체에 매니지드 카피할 수 있다. 또, 로컬 스토리지 상의 파일에 대한 인증처리를 함으로써 안전성이 없는 파일이 카피되는 것을 방지하며, 재생호환을 유지한 제 2 기록매체를 작성할 수 있게 된다.
청구항 14에 기재된 예인 재생장치는, 인덱스테이블 파일과, 당해 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일과, 상기 실제 데이터 파일의 일부를 정의하는 타이틀을 포함한 부분 카피용 인덱스테이블 파일 중, 카피 대상 파일을 제 2 기록매체에 카피하는 재생장치로, 일부의 파일을 카피하는 경우의 카피 대상 파일인 상기 부분 카피용 인덱스테이블 파일과, 당해 부분 카피용 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일과의 제 1 기록매체 상의 파일명, 및 상기 제 2 기록매체용의 파일명을 기재한 카피관리정보를 기억하고 있는 기억부와, 상기 카피관리정보에 기재되어 있는 카피 대상 파일이 상기 제 1 기록매체에 존재하는가 여부를 판단하는 판단부와, 상기 판단부에 의해 존재하지 않는다고 판단된 파일을 생성하는 파일 생성부와, 일부의 파일을 카피하는 경우, 상기 제 1 기록매체에 존재하는 카피 대상 파일의 파일명과 상기 파일 생성부에 의해 생성된 카피 대상 파일의 파일명을 상기 카피관리정보에 기재되어 있는 제 2 기록매체 상의 파일명으로 변경하는 맵핑 데이터 처리부와, 상기 부분 카피용 인덱스테이블 파일과 당해 부분 카피용 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일을 변경 후의 파일명으로 상기 제 2 기록매체에 카피하는 카피 실행부를 구비하는 것을 특징으로 한다.
이 구성에 의하면, 제 2 기록매체의 재생에 필요한 파일이 제 1 기록매체 상에 존재하지 않는 경우라도 재생장치에 의해서 생성된 파일에 의해 그것을 보충할 수 있으므로, 일부의 파일이 빠져 있는 경우라도 매니지드 카피 콘텐츠로 취급할 수 있게 된다.
이하 본 발명의 실시 예에 대해서 도면을 참조하면서 설명한다.
(실시 예 1)
우선 먼저, 본 발명의 재생장치의 실시행위 중 사용행위의 예를 설명한다. 도 1은 본 발명에 관한 재생장치의 사용행위의 형태의 일 예를 나타내는 도면이다.
도 1에서 본 발명에 관한 재생장치는 재생장치(101)이다. 이 재생장치(101)는 예를 들어, 리모컨(102) 및 텔레비전(103)에 의해 형성되는 홈시어터 시스템에 영화작품을 공급한다고 하는 용도에 제공된다. 또, 재생장치(101)는 SD 메모리 카드, 메모리 스틱, 콤팩트 플래시, 스마트 미디어, 멀티미디어 카드 등의 리무버블 미디어(104)를 삽입하는 삽입구, 및, 기록형 BD, 기록형 DVD, 기록형 CD 등의 광디스크를 판독하는 디스크 드라이버(106)를 외부에 부착하기 위한 삽입구를 구비한다. 이상이 본 발명에 관한 재생장치의 사용형태에 대한 설명이다.
이어서, 본 발명에 관한 재생장치가 재생의 대상으로 하고 있는 기록매체(미디어)에 대하여 설명한다. 본 발명에 관한 재생장치에 의해서 재생되는 것은 도 1의 예에서는 광디스크인 BD-ROM(105)이다.
도 2는 BD-ROM(이후, 「BD」라 칭하는 경우도 있다)의 구성을 나타낸 도면이다. 본 실시 예에서는 영화 등의 AV 콘텐츠를 재생하기 위한 AV 애플리케이션을 주목적에 두고 BD-ROM를 설명하나, 당연히 BD-ROM을 CD-ROM나 DVD-ROM과 같이 컴퓨터 용도의 기록매체로 이용하는 것도 가능하다.
BD-ROM은 다른 광디스크, 예를 들어 DVD나 CD등과 마찬가지로, 그 내주(內周)에서 외주를 향해서 나선형상으로 기록영역을 가지며, 내주의 리드 인과 외주의 리드 아웃 사이에 논리 데이터를 기록할 수 있는 논리 어드레스 공간을 갖고 있다. 또, 리드 인의 내측에는 BCA(Burst Cutting Area)라고 불리는 드라이브로 밖에 판독할 수 없는 특별한 영역이 있다. 이 영역은 애플리케이션에서 판독할 수 없기 때문에 저작권 보호기술 등에 이용되며, 기록매체의 물리적인 시리얼번호를 나타내는 PMSN(Pre-recorded Media Serial Number)가 기록되어 있다.
논리 어드레스 공간에는 파일 시스템 정보(볼륨)를 선두로 영상 데이터 등의 애플리케이션 데이터가 기록되어 있다. 파일 시스템이란 UDF나 ISO9660 등을 말하며, 통상의 PC와 같이 기록되어 있는 논리 데이터를 디렉터리, 파일 구조를 사용해서 판독할 수 있다. 파일 시스템에서는 255 문자의 파일명, 디렉터리 명을 판독할 수 있다.
본 실시 예의 경우, BD-ROM 상의 디렉터리, 파일 구조는 루트 디렉터리(ROOT) 아래에 BDMV 디렉터리 및 CERTIFICATE 디렉터리가 놓여있다. BDMV 디렉터리는 BD-ROM에서 취급하는 AV 콘텐츠나 관리정보 등의 데이터가 기록되어 있는 디렉터리이며, CERTIFICATE 디렉터리는 아래에 discroot.crt(파일명 고정) 파일이 존재한다.여기에는 애플리케이션의 서명 검증에 이용되는 증명서가 기록되어 있다.
BDMV 디렉터리의 아래에는 PLAYLIST 디렉터리, CLIPINF 디렉터리, STREAM 디렉터리, BDJO 디렉터리, JAR 디렉터리로 불리는 5개의 서브 디렉터리가 존재한다.그리고, BDMV 디렉터리에는 index.bdmv, 및, MovieObject.bdmv의 2종류의 파일이 배치되어 있다.
STREAM 디렉터리는 말하자면, 디지털 스트림 본체가 되는 파일을 저장하고 있는 디렉터리이며, 확장자 m2ts가 부여된 파일(xxx.m2ts["xxx"는 가변, 확장자"m2ts"는 고정])이 존재한다.
확장자 "m2ts"가 부여된 파일은 MPEG-TS(TransportStream) 형식의 디지털 AV 스트림이며, 비디오 스트림, 1개 이상의 오디오 스트림, 1개 이상의 부 영상 스트림을 다중화함으로써 얻을 수 있다. 비디오 스트림은 영화의 동화상 부분을, 오디오 스트림은 영화의 음성 부분을, 부 영상 스트림은 영화의 자막을 각각 나타내고 있다.
PLAYLIST 디렉터리에는 확장자 mpls가 부여된 파일(xxx.mpls["xxx"는 가변, 확장자 "mpls"는 고정])이 존재한다.
확장자 "mpls"가 부여된 파일은 PlayList 정보를 저장한 파일이며, 스트림의 재생구간(「In Time/Out Time」)이 기록되어 있다.
CLIPINF 디렉터리에는 확장자 clpi가 부여된 파일(xxx.clpi ["xxx"는 가변, 확장자 "clpi"는 고정])이 존재한다.
확장자 "clpi"가 부여된 파일은 디지털 AV스트림의 각각에 1대 1로 대응하는 Clip 정보이다. Clip 정보는 디지털 AV 스트림의 부호화 형식, 프레임 레이트, 비트 레이트, 해상도 등의 정보나, GOP의 선두 위치를 나타내는 EP_map를 갖고 있다.
JAR 디렉터리에는 확장자 jar가 부여된 파일(xxx.jar["xxx"는 가변, 확장자 "jar"는 고정])이 존재한다.
확장자 "jar"가 부여된 파일은 Java 아카이브 파일이며, Java 가상 머신을 이용하여 동적인 시나리오 제어를 하는 Java 애플리케이션의 프로그램이 기술되어 있다. BD-ROM 상의 콘텐츠의 재생 단위를 나타내는 각 타이틀의 재생을 Java 애플리케이션으로부터 제어하고 싶은 경우는 이 파일을 필요로 한다.
BDJO 디렉터리에는 확장자 bdjo가 부여된 파일(xxx.bdjo["xxx"는 가변, 확장자 "bdjo"”는 고정])이 존재한다.
확장자 "bdjo"가 부여된 파일은 BD-J 오브젝트를 저장한 파일이다. BD-J 오브젝트는 PlayList 정보에 의해 나타내는 AV 스트림과 애플리케이션과의 관련부여에 의해 타이틀을 정의하는 정보이다. BD-J 오브젝트는 애플리케이션 관리 테이블과, 그 타이틀에서 재생 가능한 PlayList 일람을 나타낸다. 애플리케이션 관리 테이블은 애플리케이션의 식별자(애플리케이션 ID)와 그 애플리케이션에 속하는 Java 아카이브 파일의 ID를 나열함으로써 이 타이틀을 생존 구간으로 하는 애플리케이션을 나타내는 테이블이다. 즉, 하나의 애플리케이션은 하나 이상의 Java 아카이브 파일로 구성된다.
index.bdmv(파일명 고정)는 BD-ROM 전체에 관한 데이터베이스 파일이며, 영화작품의 프로바이더를 특정하는 식별자인 organizationID(32bit)이나, 프로바이더가 제공하는 BD-ROM의 각각에 할당된 식별자인 discID(128bit) 등의 정보를 갖는다. 재생장치로의 디스크 삽입 후에 index.bdmv가 최초로 판독됨으로써 재생장치에서 디스크가 고유하게 인식된다. 또, index.bdmv에는 BD-ROM에서 재생 가능한 복수의 타이틀과, 각각의 타이틀을 규정하는 BD-J 오브젝트를 대응시켜서 나타내는 테이블이 포함된다. 또, index.bdmv는 본 발명에 관한 「인덱스테이블 파일」에 상당한다.
MovieObject.bdmv(파일명 고정)은 HDMV 모드(후술한다)에서의 각 타이틀 재생에서 재생 진행을 동적으로 변화시키기 위한 시나리오가 기술된 시나리오 프로그램이 포함된다.
도 3은 재생제어의 레이어 모델을 나타낸 도면이다.
제 1 층은 물리 층이며, 처리 대상인 스트림 본체의 공급제어이다. 도 3에 나타낸 것과 같이, 처리 대상인 스트림은 BD-ROM 만이 아니라, Built-In 미디어나 리무버블 미디어, 네트워크, 기록형 디스크와 같은 모든 기록매체, 통신매체를 공급원으로 하고 있다. 여기서, Built-In 미디어는 HDD(하드디스크 드라이브) 등 재생장치에 미리 포함된 기록매체이다. 한편, 리무버블 미디어는 SD 메모리 카드, 메모리 스틱, 콤팩트 플래시, 스마트 미디어, 멀티미디어 카드 등, 휴대성이 있는 기록매체이다. 이들 Built-In 미디어, 리무버블 미디어는 모두 재생장치가 로컬로 이용하는 기록매체이며, "로컬 스토리지"라고 하는 총칭으로 불린다. 제 1 층은 이들 로컬 스토리지나 네트워크 등, 공급원에 대한 제어(디스크 액세스, 카드 액세스, 네트워크 통신)를 규정하고 있다.
제 2 층은 AV 데이터의 레이어이다. 제 2 층은 제 1 층에서 공급된 스트림을 어떠한 복호화 방식을 이용해 복호할지를 규정하고 있다.
제 3 층(BD 관리 데이터)은 스트림의 정적인 시나리오를 규정하는 레이어이다. 정적인 시나리오란 디스크 제작자에 의해서 미리 규정된 재생경로정보, 스트림 관리정보이며, 제 3 층은 이들에 의거하는 재생제어를 규정하고 있다.
제 4 층(BD 재생 프로그램)은 스트림에서의 동적인 시나리오를 실현하는 레이어이다. 동적인 시나리오는 AV 스트림의 재생 순서, 및 그 재생에 관한 제어 순서 중, 적어도 일방을 실행하는 프로그램이다. 동적인 시나리오에 의한 재생제어는 장치에 대한 사용자 조작에 따라서 변화하는 것이며, 프로그램적인 성질을 갖는다.
여기에서의 동적인 재생제어에는 2개의 모드가 있다. 2개의 모드 중 하나는 AV 기기 특유의 재생환경에서 BD-ROM에 기록된 동화상 데이터를 재생하는 모드(HDMV 모드)이며, 다른 1개는 BD-ROM에 기록된 동화상 데이터의 부가가치를 높이는 모드(BD-J 모드)이다.
도 3에서 제 4 층에는 HDMV 모드와 BD-J 모드의 2개의 모드가 기술되어 있다. HDMV 모드는 DVD와 같은 재생환경에서의 재생 모드이며, 재생 진행을 동적으로 변화시키기 위한 시나리오가 기술된 시나리오 프로그램이 동작한다. BD-J 모드는 Java 가상 머신을 주체로 한 재생 모드이며, Java 애플리케이션으로부터 재생제어를 실시한다.
도 4는 2개의 모드의 동적인 재생제어에 의해서 작성되는 영화작품을 나타내는 도면이다. 도 4(a)는 HDMV 모드에서 동적인 재생제어를 정의함으로써 작성되는 영화작품의 한 장면을 나타내는 도면이다. HDMV 모드는 DVD 재생장치가 해석 가능한 커멘드와 비슷한 커멘드로 재생제어를 기술할 수 있으므로, DVD와 동일한 재생제어, 즉, 메뉴에 대한 선택에 의해서 재생이 진행하는 재생제어를 정의할 수 있다.
도 4(b)는 BD-J 모드에서 동적인 재생제어를 정의함으로써 작성되는 영화작품이다. BD-J 모드는 Java 가상 머신이 해석 가능한 Java 언어로 제어 순서를 기술할 수 있다. 이 재생제어가 컴퓨터 그래픽스(CG)의 동작을 제어하는 것이라면, BD-J 모드에서는 동화상을 표시한 화면의 옆에서 CG(도중의 올빼미 그림)가 돌아다니고 있는 것과 같은 재생제어를 정의할 수 있다.
도 5는 재생장치의 대략의 기능구성을 나타내는 블럭도이다. 도 5에 나타낸 것과 같이, 재생장치는 BD-ROM 드라이브(401), 기록형 BD 드라이브(106), 판독 제어부(402), 디 멀티플렉서(403), 비디오 디코더(404), 비디오 플레인(405), 오디오 디코더(406), 이미지 메모리(407), 이미지 플레인(408), 이미지 디코더(409), 가산기(410), 정적 시나리오 메모리(411), 동적 시나리오 메모리(412), HDMV 모듈(413), BD-J 모듈(414), UO 탐지 모듈(415), 모드 관리 모듈(416), 디스패처(417), 렌더링 엔진(418), 기록 제어부(419), AV 재생 라이브러리(420), 네트워크 인터페이스(421), 로컬 스토리지(422), 및 매니지드 카피 제어부(423)로 구성된다.
BD-ROM 드라이브(401)는 BD-ROM의 로딩/이젝트를 실시하고, BD-ROM에 대한 액세스를 실행한다.
판독 제어부(402)는 기록형 BD 드라이브(106)에 로딩 되어 있는 BD-R/RE, 및 BD-ROM 드라이브(401)에 로딩 되어 있는 BD-ROM(105)이나 로컬 스토리지(422)에 기록되어 있는 데이터의 판독 제어를 실시한다.
디 멀티플렉서(403)는 판독 제어부(402)에 의해서 판독된 트랜스포트 스트림의 다중 분리를 실시하고, GOP를 구성하는 비디오 프레임과 오디오 프레임을 얻어서 비디오 프레임을 비디오 디코더(404)에 출력하고, 오디오 프레임을 오디오 디코더(406)에 출력한다. 그리고, 디 멀티플렉서(403)는 부 영상 스트림을 이미지 메모리(407)에 저장하고, Navigation Button 정보를 동적 시나리오 메모리(412)에 저장한다. 디 멀티플렉서(403)에 의한 다중 분리는 TS 패킷을 PES 패킷으로 변환한다고 하는 변환 처리를 포함한다.
비디오 디코더(404)는 디 멀티플렉서(403)로부터 출력된 비디오 프레임을 복호하고, 비 압축 형식의 픽처를 비디오 플레인(405)에 기록한다.
비디오 플레인(405)은 비 압축 형식의 픽처를 저장해 두기 위한 메모리이다.
오디오 디코더(406)는 디 멀티플렉서(403)로부터 출력된 오디오 프레임을 복호 하고, 비 압축 형식의 오디오 데이터를 출력한다.
이미지 메모리(407)는 디 멀티플렉서(403)로부터 판독된 부 영상 스트림, Navigation Button 정보 내의 PNG 데이터, 판독 제어부(402)로부터 직접 판독된 화상 파일을 저장해 두는 버퍼이다.
이미지 플레인(408)은 한 화면 분의 영역을 갖는 메모리이며, 전개된 부 영상 스트림, PNG 데이터, 화상 파일이 배치된다.
이미지 디코더(409)는 이미지 메모리(407)에 저장된 부 영상 스트림, PNG 데이터, 화상 파일을 전개하여 이미지 플레인(408)에 기록한다. 부 영상 스트림의 디코드에 의해 각종 메뉴 및 부 영상이 화면상에 나타나게 된다.
가산기(410)는 픽처 플레인(405)에 저장된 비 압축 형식의 픽처 데이터에 이미지 플레인(408)에 전개된 이미지를 합성하여 출력한다.
도 4(b)에 나타낸 화면(동화상을 표시한 화면의 옆에서 CG(도면 중의 올빼미 그림)가 움직이고 있는 것과 같은 화면)은 이 가산기(410)가 이미지 플레인(408) 내의 이미지와 비디오 플레인(405) 내의 픽처를 합성함으로써 출력된다.
정적 시나리오 메모리(411)는 현재의 PlayList나 현재의 스트림 관리정보를 저장해 두기 위한 메모리이다. 현재의 PlayList란 BD-ROM 또는 로컬 스토리지(422)에 기록되어 있는 복수의 PlayList 중, 현재 처리 대상으로 되어 있는 것을 말한다. 현재의 스트림 관리정보란 BD-ROM 또는 로컬 스토리지(422)에 기록되어 있는 복수의 스트림 관리정보 중, 현재 처리 대상으로 되어 있는 것을 말한다.
동적 시나리오 메모리(412)는 현재의 동적 시나리오를 저장해 두고, HDMV 모듈(413), BD-J 모듈(414)에 의한 처리에 제공되는 메모리이다. 현재의 동적 시나리오란 BD-ROM 또는 로컬 스토리지(422)에 기록되어 있는 복수의 시나리오 중, 현재 실행 대상으로 되어 있는 것을 말한다.
HDMV 모듈(413)은 HDMV 모드의 실행 주체가 되는 DVD 가상 플레이어이며, 동적 시나리오 메모리(412)에 판독된 현재의 시나리오 프로그램을 실행한다.
BD-J 모듈(414)은 Java 플랫폼이며, Java 가상 머신, 컨피규레이션(configuration), 프로파일로 이루어진다. BD-J 모듈(414)은 동적 시나리오 메모리(412)에 판독된 Java 클래스 파일에서 현재의 Java 오브젝트를 생성하고 실행한다. Java 가상 머신은 Java 언어로 기술된 Java 오브젝트를 재생장치에서의 CPU의 네티브코드로 변환하고, CPU에 실행시킨다.
UO 탐지 모듈(415)은 리모컨이나 재생장치의 프런트 패널에 대하여 이루어진 사용자 조작을 검출하고, 사용자 조작을 나타내는 정보(이후, UO(User Operation)라고 한다)를 모드 관리 모듈(416)에 출력한다.
모드 관리 모듈(416)은 BD-ROM 또는 로컬 스토리지(422)로부터 판독된 모드 관리 테이블을 보유하고, 모드 관리 및 분기 제어를 실시한다. 모드 관리 모듈(416)에 의한 모드 관리란, 동적 시나리오를 HDMV 모듈(413), 또는 BD-J 모듈(414)의 어디에서 실행시키는가 하는 모듈의 할당이다.
디스패처(417)는 UO로부터 현재의 재생장치의 모드에 적절한 UO만을 선택하여 그 모드를 실행하는 모듈에 인도한다. 예를 들어, HDMV 모드의 실행 중에 상하 좌우, 활성화라고 하는 UO를 접수한 경우, 디스패처(417)는 HDMV 모드의 모듈에 이러한 UO를 출력한다.
렌더링 엔진(418)은 Java2D, OPEN-GL과 같은 기반 소프트웨어를 구비하며, BD-J 모듈(414)로부터의 지시에 따라서 컴퓨터 그래픽스의 렌더링을 실시하며, 렌더링된 컴퓨터 그래픽스를 이미지 플레인(408)에 출력한다.
기록 제어부(419)는 매니지드 카피 제어부(423)로부터의 지시에 따라서 기록형 BD 드라이브(106)에 로딩 되어 있는 미디어, 또는 로컬 스토리지(422)에 데이터를 기록한다.
AV 재생 라이브러리(420)는 HDMV 모듈(413), BD-J 모듈(414)로부터의 함수 호출에 따라서 AV 재생 기능, 플레이 리스트의 재생 기능을 실행한다.
AV 재생 기능이란, DVD 플레이어, CD 플레이어로부터 답습(踏襲)한 기능 군(群)이다. 구체적으로는, 재생 개시, 재생 정지, 일시정지, 일시정지의 해제, 정지화면 기능의 해제, 재생 속도를 즉치(immediate value)로 지정한 빨리 감기, 재생 속도를 즉치로 지정한 되감기, 음성 절환, 부 영상 절환, 앵글 절환과 같은 처리이다. 플레이리스트 재생 기능이란 상기의 AV 재생 기능 중 재생 개시나 재생 정지를 플레이리스트 정보에 따라서 실시하는 것을 말한다.
네트워크 인터페이스(421)는 인터넷상에 공개된 BD-ROM 추가 콘텐츠의 다운로드나 매니지드 카피의 인증, 과금을 실시하기 위해 서버에 접속하는 기능을 갖는다. BD-ROM 추가 콘텐츠는 오리지널 BD-ROM에 없는 콘텐츠로, 예를 들면 추가 부 음성, 자막, 특전 영상, 애플리케이션 등이다.
BD-J 모듈(414)은 네트워크 인터페이스(421)를 제어함으로써 인터넷상에 공개된 추가 콘텐츠를 로컬 스토리지(422)에 다운로드 할 수 있다. 매니지드 카피의 인증 프로토콜은 BD-J 모듈(414)에 의해 실행되어 있는 Java 애플리케이션이 지시한 것을 이용한다.
로컬 스토리지(422), 및 기록형 BD 드라이브(106)는 매니지드 카피의 카피 처로 이용된다. 매니지드 카피의 카피 처로 서포트되고 있는 미디어 중, 사용자에 의해 선택된 미디어를 카피 처의 미디어로 한다.
또, 로컬 스토리지(422)는 다운로드 한 추가 콘텐츠나 애플리케이션이 사용하는 데이터 등의 보존에도 이용된다. 추가 콘텐츠의 보존 영역은 BD-ROM별로 구분되어 있으며, 또, 애플리케이션이 데이터의 보유에 사용할 수 있는 영역은 애플리케이션별로 구분되어 있다. 또, 로컬 스토리지(422)는 다운로드 한 추가 콘텐츠를 어떻게 BD-ROM 상의 데이터와 머지하는지를 나타내는 머지 규칙이 기재된 머지 관리정보를 보존하기 위해서도 이용된다.
매니지드 카피 제어부(423)는 BD-J 모듈에 의해 실행되어 있는 Java 애플리케이션의 지시를 받아서 BD-ROM 상 데이터의 카피를 실시한다. 카피 처의 미디어에 따라서는 스트림의 재 인코드도 실시한다. 예를 들어, 카피 처의 미디어가 BD-R이면 Bit by Bit 카피를 하고, 카피 처의 미디어가 DVD-R 등 용량이 적은 미디어이면 스트림의 재인코드를 실시하여 스트림을 압축하면서 데이터 카피를 할 수 있다.
도 6은 로컬 스토리지에서의 데이터 구조를 나타내는 도면이다. 본 발명의 재생장치가 재생의 대상으로 하고 있는 기록매체는 BD-ROM 만이 아니라 하드디스크나 SD 카드 등의 로컬 스토리지도 포함된다.
이 로컬 스토리지에 기록되어 있는 데이터에 대하여 설명한다. 로컬 스토리지 상에는 추가 콘텐츠 영역 루트 디렉터리가 존재한다.
추가 콘텐츠 영역은 로컬 스토리지의 루트 디렉터리의 아래에 존재하고, 디렉터리 명은 8 문자 이내의 고정치(BUDA)이다. 애플리케이션은 BUDA 디렉터리 아래(서브 디렉터리와 그 아래의 파일도 포함한다)에 서버로부터 다운로드해 온 추가 파일 등 임의의 파일을 저장할 수 있다.
도 6의 OrganizationID 디렉터리 및 DiscID 디렉터리에 나타낸 것과 같이, 특정 프로바이더(Organization)에 대응하는 디렉터리에 각 BD-ROM에 대응하는 디렉터리를 설치함으로써 각 BD-ROM에 대한 다운로드 데이터가 개별적으로 저장된다.
도 7은 도 5에 나타내는 BD-J 모듈(414)의 보다 구체적인 구성을 나타내는 도면이다.
BD-J 모듈(414)은 미디어 재생 모듈(702), 매니지드 카피 모듈(704), 파일 I/O 모듈(705), 네트워크 모듈(706), 애플리케이션 매니저(707)로 구성된다. 또, 본 도면에서의 AV 재생 라이브러리(420), 네트워크 I/F(421), 로컬 스토리지(422), 매니지드 카피 제어부(423)는 도 5에 나타낸 것과 동일하며, 미디어 재생 모듈(702) ~ 애플리케이션 매니저(707)의 설명을 위해서 편의적으로 기재하고 있다.
애플리케이션 매니저(707)는 BD-ROM 상에 기록된 애플리케이션 관리정보를 기초로 Java 애플리케이션의 기동 및 종료를 관리한다. 또, 애플리케이션 매니저 (707)는 디스패처(417)으로부터 수신한 UO 이벤트를 현재 동작 중인 Java 애플리케이션(701)에 인도하는 처리도 실시한다.
미디어 재생 모듈(702)은 Java 애플리케이션(701)에 대하여 미디어 재생제어를 위한 API(Application Program Interface)를 제공한다. Java 애플리케이션(701)이 미디어 재생제어 API를 호출하면, 미디어 재생 모듈(702)은 대응하는 AV 재생 라이브러리(420)의 함수를 호출하고, AV 재생제어를 한다.
네트워크 모듈(706)은 Java 애플리케이션(701)에 대하여 네트워크 제어를 위한 API를 제공한다. Java 애플리케이션(701)으로부터의 네트워크 제어 요구에 따라 네트워크 인터페이스(421)를 사용하여 네트워크 접속을 한다. Java 애플리케이션(701)은 네트워크 모듈(706)을 이용하여 공개되어 있는 추가 콘텐츠의 검색, 다운로드, 및 매니지드 카피 인증에 필요한 서버 액세스를 할 수 있다.
파일 I/O 모듈(705)는 Java 애플리케이션(701)으로부터 BD-ROM, 로컬 스토리지, 기록형 BD 드라이브 등의 각 미디어로의 파일 액세스 요구의 처리를 실행한다.
매니지드 카피 모듈(704)은 Java 애플리케이션(701)에 대하여 매니지드 카피 제어를 위한 API를 제공한다. 이 API를 호출함으로써 Java 애플리케이션(701)은 매니지드 카피 인증에 필요한 카피 원 및 카피 처 미디어 정보의 취득, 매니지드 카피 제어부에 대한 카피 개시 요구, 카피 중의 진척 상황의 확인 등을 한다. 이들 API의 상세에 대해서는 후술한다.
도 8은 index.bdmv 파일과 타이틀의 관계를 나타내는 도면이다. 타이틀이란 애플리케이션과 AV 스트림을 세트로 한 재생 단위이다.
index.bdmv 파일은 디스크 상의 타이틀 구성이 기재되어 있으며, 디스크 상의 각 타이틀과 대응하는 애플리케이션(BD-J 모드 타이틀이면 Java 애플리케이션, HDMV 모드 타이틀이면 시나리오 프로그램)의 참조 관계를 관리하고 있다.
또, 특수한 타이틀로 「First Play」와「Top Menu」가 존재한다.「First Play」는 BD 기동시에 자동적으로 재생되는 타이틀이며, 주로 BD의 이용규약 표시 등에 이용된다.「Top Menu」는 리모컨의 메뉴 키를 눌렀을 때나 타이틀 재생이 종료했을 때에 재생되며, 주로 타이틀의 선택이나 자막/음성의 언어 선택을 하는 것에 이용된다.
도 9는 매니지드 카피 제어부(423)를 상세화 한 도면이다.
매니지드 카피 제어부(423)는, 시리얼번호 판독부(601), 미디어 ID 판독부(602), 미디어 상태 관리부(603), 카피 실행부(604), 카피 상태 통지부(605), 카피 진척 관리부(606), Nonce 생성 기록부(607), 키 정보 기록부(608), 맵핑 데이터 처리부(609), 빈 용량 판정부(610), 본 발명에 관한 기억부의 일 예에 대응하는 카피 원 파일 정보 보존부(611)로 구성된다.
시리얼번호 판독부(601)는 BD-ROM 상의 특수영역인 BCA(Burst Cutting Area)에 기록되어 있는 기록매체의 물리적인 시리얼번호를 나타내는 PMSN(Pre-recorded Media Serial Number)의 판독을 한다. 이 시리얼번호는 후술하는 키 정보의 생성에 이용된다.
미디어 ID 판독부(602)는 카피 처의 미디어에 기록되어 있는 미디어별로 독특하게 설정되는 미디어 고유의 정보(미디어 ID)의 판독을 한다. 이값은 통상 재기록을 할 수 없으며, 동일한 종류의 미디어에서도 매체별로 다른 값이 할당되어 있다. 이 미디어 ID도 키 정보의 생성에 이용된다.
미디어 상태 관리부(603)는 재생장치가 현재 카피 처로서 이용할 수 있는 미디어 종류의 일람을 관리한다. 예를 들어, 재생장치가 SD 카드슬롯과 기록형 BD 드라이브를 구비하고, 현재 SD 카드만이 삽입되어 있다면, SD 카드가 현재의 카피 처의 대상이라고 판단한다. SD 카드 및 BD-R의 양쪽이 삽입되고 있으면, 카피 처로 SD 카드 및 BD-R의 양쪽이 가능하다고 판단한다. 또, 미디어 상태 관리부(603)는 카피 처 미디어의 빈 용량의 관리도 실시한다.
카피 실행부(604)는 BD-ROM 상으로부터 다른 미디어로의 데이터 카피를 실시한다. BD-ROM 상 데이터를 카피 처 미디어의 어느 위치에 카피할지는 맵핑 데이터 처리부(609)가 카피 관리정보 리스트의 파일 맵핑정보를 기초로 카피 처를 결정한다. 카피 실행부(604)는 그 결정에 의거하여 카피를 실시한다. 또, 카피 실행부(604)는 카피 처의 미디어에 따라서는 스트림의 재인코드도 실시한다.
카피 상태 통지부(605)는 카피의 개시, 정상 종료, 에러 종료 등의 상태 천이를 관리하고, BD-J 모듈을 개재하여 Java 애플리케이션에 상태 천이를 통지한다.
카피 진척 관리부(606)는 카피 대상 데이터의 남은 바이트 수 및 카피가 완료된 바이트 수의 관리를 하고, Java 애플리케이션으로부터의 요구에 따라서 현재의 진척 정보를 통지한다.
Nonce 생성 기록부(607)는 매니지드 카피를 할 때마다 랜덤 값(Nonce)의 생성 및 기록을 한다. 이 Nonce의 값도 후술하는 키 정보의 생성에 이용된다.
키 정보 기록부(608)는 BD-ROM의 시리얼번호, 카피 처 미디어의 미디어 ID, 및 Nonce로부터 생성되는 키 정보의 기록을 한다. 키 정보는 서버에 있는 비밀키를 기초로 생성된다. Java 애플리케이션은 시리얼번호, 미디어 ID, Nonce를 취득한 후, 이들 값을 서버에 송신한다.
서버는 Java 애플리케이션으로부터 송신된 값과 서버 측에서 관리되고 있는 비밀키를 기초로 키 정보를 생성하고, 생성한 키 정보를 Java 애플리케이션에 돌려 보낸다.
Java 애플리케이션은 서버로부터 송신된 키 정보를 키 정보 기록부(608)에 세트하고, 키 정보 기록부(608)는 세트 된 키 정보를 카피 처 미디어에 기록한다.키 정보는 암호화 콘텐츠 키의 복호에 이용되며, 암호화 콘텐츠 키가 복호 되면 보호 콘텐츠의 재생이 가능해진다. 즉, 이 키 정보가 없으면, 비록 부정하게 암호화 콘텐츠 키와 보호 콘텐츠를 BD-ROM로부터 다른 미디어에 카피했다고 하더라도 카피된 보호 콘텐츠를 재생할 수 없다.
맵핑 데이터 처리부(609)는 카피 원 파일 정보 보존부(611)의 카피 원 파일 정보의 파일 맵핑정보를 기초로 파일의 카피 처를 결정한다.
빈 용량 판정부(610)는 카피 처 미디어의 비어있는 잔량 및 카피 원 콘텐츠를 기초로 카피에 필요한 빈 용량이 카피 처에 존재하는지 여부를 판정한다.
카피 원 파일 정보 보존부(611)는 디스크 상에 기록되어 있거나 또는 서버로부터 송신된 카피 원 파일 정보를 보존한다.
카피 원 파일 정보 판독부(612)는 카피 원의 미디어에 기록되어 있는 매니지드 카피 대상의 파일에 관한 정보인 카피 원 파일 정보의 판독을 한다.
매니지드 카피 제어부(423)는 이상의 구성요소를 구비하고, 이들 구성요소를 Java 애플리케이션으로부터 제어할 수 있다.
다음에, 도 10~도 12를 이용하여 Java 애플리케이션과 서버의 데이터 송수신의 일련의 동작에 대하여 설명한다.
도 10은 Java 애플리케이션과 서버의 데이터 송수신을 나타내는 순서도이다.
먼저, 사용자가 메뉴 화면 등에서 매니지드 카피를 선택하면(도 12(a)에 화면표시의 일 예를 나타낸다), 매니지드 카피의 처리가 개시된다. Java 애플리케이션은 BD 관리정보(index.bdmv)에 기재되어 있는 DiscID와 카피 처 후보가 되는 미디어의 미디어 타입 일람을 서버에 송신한다. 서버는 이러한 데이터로부터 카피 관리정보 리스트와 세션 ID를 작성하고, Java 애플리케이션에 돌려보낸다.
세션 ID는 이후의 서버와 Java 애플리케이션의 교환의 진척 상황을 서버 측에서 관리하기 위해서 이용한다. 예를 들어, 과금 처리를 하지 않고 키 정보를 요구해 온 경우, 서버는 세션 ID를 확인하고, 이 세션은 아직 과금 처리가 끝나지 않았다고 판단하고, 키 정보 요구를 거부할 수 있게 된다.
카피 관리정보 리스트에는 카피 내용을 고유하게 식별하기 위해서 할당된 식별자(카피 콘텐츠 ID), 사용자가 이해 가능한 문자열로 기재된 콘텐츠 내용 정보, 카피해야 할 파일(또는 디렉터리) 일람 및 그 파일 맵핑정보, 카피 처로 가능한 미디어 타입, 해상도, 카피에 필요한 용량, 가격정보가 포함된다.
도 11에 카피 관리정보 리스트의 일 예를 나타낸다. 카피 관리정보 리스트는 복수의 카피관리정보로 이루어지고, 각 카피관리정보에는 고유하게 식별할 수 있는 ID(카피 콘텐츠 ID)가 할당된다. 각 카피관리정보는 카피 콘텐츠 ID, 콘텐츠 내용 정보, 카피 파일, 파일 맵핑정보, 카피 처 미디어 타입, 및, 해상도·용량·가격정보로 이루어진다.
카피 콘텐츠 ID는 카피관리정보를 구별하기 위해서 이용된다. 콘텐츠 내용 정보는 카피 대상의 문자열 정보와 모든 카피인지 부분 카피인지를 나타내는 플래그로 이루어진다. 카피 파일은 카피 원 디스크의 카피 대상의 파일을 모두 기재(리스트)하고 있다. 파일 맵핑정보는 카피 파일에 리스트 된 각 파일명에 대하여 카피 처의 어느 위치에 어느 파일명으로 보존하면 좋은가를 기재하고 있다. 파일의 장소에 변경이 없는 경우에는 파일 맵핑정보는 존재하지 않아도 좋다. 카피 처 미디어 타입에는 카피 처의 기록매체 정보가 기재되어 있다. 해상도·용량·가격정보는 그 이름처럼 카피에서의 카피 처에 어느 해상도로 카피할지, 카피한 경우 어느 정도의 용량이 필요한지의 정보를 포함한다.
Java 애플리케이션은 카피 관리정보 리스트의 해상도·용량·가격정보를 기초로 사용자에 대해서 카피 가능한 콘텐츠의 내용을 화면에 제시한다(도 12(b)에 화면표시의 일 예를 나타낸다).
또, 도 12(c)의 화면을 제시하고, 카피 처 후보를 사용자에게 선택시켜도 괜찮다. 사용자의 선택을 기초로 카피할 콘텐츠, 및 카피 처 후보를 결정한다. 이때, 카피 처 후보의 빈 용량과 카피 관리정보 리스트에 기재되어 있는 필요 용량을 비교하여 카피 처 후보의 용량이 부족하다고 판단한 경우, 카피 처 후보로부터 용량 부족의 미디어를 제외하거나, 또는 사용자에게 경고를 재촉하여도 좋다.
카피하는 콘텐츠 및 카피 처의 미디어가 결정되고, 카피할 콘텐츠가 유료인 경우, 사용자는 과금 정보의 입력이 필요하다(도 12(d)에 화면표시의 일 예를 나타낸다). 과금 정보로는 크레디트 번호나 사용자 ID 등이 있다. 과금이 필요하지 않은 경우에는 과금 정보의 입력을 없음이라고 해도 좋고, 카피 횟수의 카운트만을 체크해도 좋다.
사용자의 과금 정보 입력이 종료하면, Java 애플리케이션은 사용자가 선택한 콘텐츠에 대응하는 카피 콘텐츠 ID, 카피 처의 미디어 타입, 과금 정보, 및 세션 ID를 서버 측에 송신한다. 서버 측은 이러한 데이터가 정당하다고 판단한 경우, Java 애플리케이션에 OK를 보낸다.
Java 애플리케이션은 서버로부터 OK의 통지를 수신하면, 키 정보의 요소 데이터를 취득한다. 키 정보의 요소 데이터란 카피 원의 시리얼번호, 카피 처의 미디어 ID, 및 Nonce이다. Java 애플리케이션으로부터 시리얼번호, 미디어 ID, Nonce, 및 세션 ID가 서버에 송신되면, 서버는 키 정보의 요소 데이터와 서버가 갖는 비밀 키로부터 키 정보를 생성한다. Java 애플리케이션은 서버로부터 키 정보를 수신하면, 카피 대상이 되는 카피관리정보 및 키 정보를 매니지드 카피 제어부에 인도한다. 카피관리정보 및 키 정보의 인도가 완료하면, 매니지드 카피 제어부는 데이터의 카피를 개시한다.
도 13은 Java 애플리케이션에 의한 매니지드 카피 제어의 플로차트이다.
먼저, Java 애플리케이션은 매니지드 카피 제어부(423)를 개재해여 현재 카피 처 후보가 되는 미디어가 존재하고 있는지를 체크한다(S301). 카피 처 후보가 되는 미디어가 존재하면, 카피 원 디스크로부터 DiscID를 취득하고, 매니지드 카피 제어부(423)로부터 카피 처 후보가 되는 미디어의 미디어 타입 일람을 취득한다. 그리고, Java 애플리케이션은 이것들을 서버에 송신한다.
다음에, Java 애플리케이션은 송신한 데이터를 기초로 서버에 의해서 생성된 카피 관리정보 리스트와 세션 ID를 서버로부터 수신한다(S302). 카피 처 후보가 되는 미디어가 존재하지 않으면, 매니지드 카피 처리를 종료한다.
카피 관리정보 리스트를 취득하면, 카피 관리정보 리스트를 기초로 카피 처 미디어, 및 카피 원 콘텐츠를 선택한다(S303). 선택 방법은 Java 애플리케이션 자신이 선택해도 좋고, 사용자에게 카피 가능 콘텐츠 및 미디어의 일람을 제시하고, 거기에서 사용자에게 선택하도록 하여도 좋다.
도 12(b) 및 (c)는 사용자에게 카피 가능한 콘텐츠 및 미디어의 일람을 제시하는 경우의 일 예를 나타낸다. 도 12(c)와 같이, 미디어 명에 더하여 빈 용량 등을 표시해도 좋고, 또 카피관리정보에 기재되어 있는 카피 처 미디어에 필요한 용량을 더 표시해도 좋다.
또, 카피관리정보에 기재되어 있는 필요용량을 그대로 표시하는 것이 아니라 카피 원의 파일 사이즈로부터 필요한 용량을 계산하여 그 값도 표시해도 좋다. 카피에 필요한 용량 계산은 Java 애플리케이션으로 하여도 좋고, 재생장치 측에서 계산한 값을 Java 애플리케이션이 참조할 수도 있다. 특히, 스트림을 재압축하여 보존하는 경우는 파일 사이즈 및 파일수의 변경이 수반되므로, 이 경우, 재생장치에서 필요용량을 계산하는 것이 효율적이다.
다음에, 매니지드 카피 제어부(423)의 빈 용량 판정부(610)는 선택된 카피 처 미디어의 빈 잔량과 카피 원 콘텐츠의 합계 사이즈를 기초로 카피에 필요한 빈 용량이 카피 처에 존재하는지를 확인한다(S304). 카피에 필요한 빈 용량이 있으면, Java 애플리케이션은 과금 처리를 한다(S305). 여기서 말하는 과금 처리란 서버에 접속해서 크레디트 번호 등의 인증을 실시하는 일련의 처리를 가리킨다. 과금 처리가 완료한 시점에서 서버는 OK라는 취지와, 카피 관리정보 리스트로부터 과금 대상의 카피 원 파일 정보를 추출하여, Java 애플리케이션에 송신한다. 또, 과금이 필요하지 않은 경우는 스텝 S305를 스킵 해도 좋다. 빈 용량이 없으면, 매니지드 카피 처리를 종료한다.
다음에, Java 애플리케이션은 서버에 의해 과금 처리가 성공임을 나타내는 OK 통지를 수신한 경우에는 OK 통지와 동시에 송신된 카피관리정보에 카피 원 파일 정보가 존재하는지를 확인한다(S306). Java 애플리케이션은 서버에 의해 과금 처리가 실패라는 취지를 수신한 경우에는 매니지드 카피 실패를 사용자에게 전달하는 등으로 해서 매니지드 카피 처리를 완료시킨다.
스텝 S306의 결과로 수신한 카피관리정보에 카피 원 파일 정보가 존재하면, Java 애플리케이션은 카피 원 파일 정보를 발췌하여 카피 원 파일 정보 보존부(611)에 보존한다(S307). 스텝 S306의 결과로 수신한 카피관리정보에 카피 원 파일 정보가 존재하지 않으면, Java 애플리케이션은 카피 원 파일 정보 판독부(612)를 통해서 카피 원 디스크로부터 미리 존재하는 카피 원 파일 정보를 취득하고, 카피 원 파일 정보 보존부(611)에 보존한다(S302).
즉, 미리 카피 원 디스크에서 정의하고 있던 카피 대상 파일을 콘텐츠 프로바이더가 갱신하려고 하는 경우, 서버에 의해서 그것을 변경할 수 있는 구조로 되어 있다.
다음에, Java 애플리케이션은 매니지드 카피 제어부(423)로부터 키 정보의 요소 데이터를 취득한다(S309). 키 정보의 요소 데이터란, 시리얼번호 판독부(601)에 의해 취득한 카피 원 미디어의 시리얼번호, 미디어 ID 판독부(602)로부터 취득한 카피 처 미디어의 미디어 ID, 및 Nonce 생성 기록부(607)에서 생성한 Nonce이다.
Java 애플리케이션이 키 정보의 요소 데이터를 서버에 보내면, 서버는 송신된 키 정보의 요소 데이터와 서버가 가지는 비밀키로부터 키 정보를 생성하고, Java 애플리케이션에 키 정보를 돌려보낸다. Java 애플리케이션은 서버에서 생성된 키 정보를 수신하고, 키 정보와 카피관리정보를 매니지드 카피 제어부에 인도한다(S310). 카피관리정보 및 키 정보의 인도가 완료된 후, Java 애플리케이션은 매니지드 카피 제어부에 데이터 카피 개시 요구를 보내고, 매니지드 카피 제어부의 카피 실행부(604)가 매니지드 카피를 개시한다(S311).
도 14는 매니지드 카피 제어부(423)에 의한 데이터 카피 S311를 상세화한 것이다.
먼저, 데이터 카피 개시 직후에 매니지드 카피 제어부(423)는 Java 애플리케이션에 대하여 카피 개시 통지를 실시한다(S401). 다음에, 매니지드 카피 제어부(423)는 카피 원 파일 정보 보존부(611)로부터 카피 원 파일 정보를 취득한다(S402).
다음에, 매니지드 카피 제어부(423)는 스텝 S402에서 취득한 카피 원 파일 정보의 콘텐츠 내용 정보를 참조하여 모든 카피인지 부분 카피인지를 판정한다(S403).
스텝 S403에서 모든 카피인 경우에는 카피 원 디스크의 파일 전부를 카피한다(S409). 스텝 S403에서 부분 카피인 경우에는 맵핑 데이터 처리부(609)는 카피 파일의 최초로 리스트 되어 있는 파일명을 취득한다(S404).
다음에, 맵핑 데이터 처리부(609)는 파일 맵핑정보를 참조하여, 카피 파일의 파일명과 대응하는 파일명이 존재하는지를 확인한다(S405). 스텝 S405에서 맵핑 정보가 존재하지 않으면, 카피 실행부(604)는 기록 제어부(419)를 통해서 카피 파일에 기재된 디렉터리 위치, 및 파일명으로 카피 처에 카피를 실시한다(S406). 스텝 S405에서 맵핑 정보가 존재하는 경우에는, 카피 실행부(604)는 기록 제어부(419)를 통해서 맵핑 정보에 기재된 디렉터리 및 파일명으로 카피 파일 부분에 기재된 파일을 카피 처에 카피한다(S407).
카피 실행부(604)는 스텝 S406, 또는 스텝 S407가 완료한 때에, 카피 파일에 카피하지 않은 파일명이 존재하는지 여부를 확인한다(S408). 스텝 S408에서 카피하지 않은 파일이 존재하면, 다음의 파일을 취득하고, 스텝 S404에 이행한다. 스텝 S408에서 카피하지 않은 파일이 존재하지 않으면, 데이터 카피 처리가 완료했음을 의미하며, Java 애플리케이션에 완료의 취지를 보내고 종료한다. 도 15는 카피가 완료한 때의 표시 화면의 일 예이다.
여기에서부터 본 실시 예에서 설명하고 있는 맵핑 정보를 이용한 부분 카피에 의한 호환성 확보의 효과를 매니지드 카피 종래 기술인 일본국 특개 2008-98765호와 비교함으로써 설명한다.
시나리오로, 도 8에 나타낸 본편과 4개의 타이틀(Top Menu를 포함한다)을 갖는 디스크 구성의 카피 원 디스크로부터 특전영상만을 재생하는 디스크를 작성하는 경우를 설명한다.
먼저, 도 16 ~ 도 18을 이용하여 종래 방식을 설명한다.
도 16은 맵핑 정보가 없는 종래 방식의 카피관리정보를 나타내고 있다. 매니지드 카피 시에 사용자가 도 16의 카피 콘텐츠 ID#2의 부분 카피를 선택한다. 그 경우, 카피 처 디스크로 특전영상만이 재생 가능한 디스크가 생성되는 것이 기대된다. 구체적으로는, 특전 영상에 관련하는 파일 군과 디스크 구성 데이터베이스 파일(index.bdmv)을 카피할 필요가 있다.
도 16의 카피 콘텐츠 ID#2의 카피 파일의 란(欄)에는 카피가 필요한 파일이 열거되어 있다. 여기에는, 디스크 구성 데이터베이스 파일, 메뉴 표시용의 애플리케이션, 및 특전영상에 필요한 파일이 포함되어 있다. 또, 새로운 디스크 구성의 디스크 구성 데이터베이스 파일도 카피 대상으로 되어 있다.
도 17은 종래의 재생장치가 도 16의 카피관리정보를 이용하여 카피가 완료한 때의 구성도를 나타낸다. 종래는 카피관리정보의 카피 파일에 기록되어 있는 파일명을 재생장치가 그대로 카피 처에 카피한다. 카피 처로 완성된 디스크는 기동시에 본편 영상을 재생하는 카피 원의 디스크 구성 데이터베이스 파일이 그대로 카피되어 있다. 그러나, 특전 영상 디스크이므로 본편 영상은 카피되어 있지 않다. 기동시에 재생해야 할 본편 영상이 없으므로 도 17의 카피 처 디스크를 재생하면 도 18과 같이 에러가 발생해 버린다.
또, 카피 원의 디스크에 새로운 디스크 구성에 따른 디스크 구성 데이터베이스 파일(BDMV/MC/extronly.indx)이 준비되어 있다고 하더라도, 새로운 디스크 구성용의 데이터베이스 파일은 원래의 디스크에서는 사용되지 않는 위치에 배치되어 있게 된다.
종래 방식에 의한 매니지드 카피에서는 파일 구성을 유지한 채로 새로운 디스크에 카피하므로, 새로운 디스크라도 새로운 디스크 구성용의 데이터베이스 파일은 사용되지 않는 위치에서 저장되어 버린다.
따라서, 비록, 카피 원의 디스크에 새로운 디스크 구성에 따른 디스크 구성 데이터베이스 파일이 준비되어 있다고 하더라도, 새로운 디스크에서는 본래 이용해야 할 새로운 디스크용의 데이터베이스 파일을 이용할 수 없으므로 예기치 못한 동작을 일으키지 않는 부분 카피 디스크를 만들 수 없다.
이어서, 도 19는 본 실시 예에 따라서 카피가 완료한 때의 구성도를 나타낸다.
본 실시 예의 경우, 재생장치는 도 11의 카피관리정보를 기초로 매니지드 카피를 실시한다. 도 11은 원래의 디스크에서는 사용할 수 없는 위치에 저장되어 있는 새로운 디스크 구성에 따른 디스크 구성 데이터베이스 파일(BDMV/MC/extronly.indx)을, 새로운 디스크에서는 재생장치가 이용 가능한 위치(BDMV/index.bdmv)에 맵핑 시키고 있다. 또, 새로운 디스크 구성에 따른 디스크 구성 데이터베이스 파일(BDMV/MC/extronly.indx)은 본 발명에 관한 「부분 카피용 인덱스테이블 파일」에 상당한다.
본 실시 예의 재생장치가 도 13및 도 14에 나타낸 처리를 이용하여 카피를 하면, 도 19의 카피 처 디스크가 완성한다. 즉, 본 실시 예에서는 데이터베이스의 정합이 유지된 디스크를 생성할 수 있다. 도 19의 카피 처 디스크를 재생하면, 도 20과 같이 데이터베이스의 부정합은 생기지 않고, 특전 영상을 재생할 수 있다.
(실시 예 2)
실시 예 1에서는 카피 처로의 매니지드 카피 대상은 모두 카피 원 디스크에 존재하는 파일이었지만, 실시 예 2에서는 카피 원의 디스크 상에 존재하는 파일에 더하여 로컬 스토리지 상의 데이터를 매니지드 카피하는 변형 예에 대하여 설명한다.
또, 실시 예 2에서는 이미 기재되어 있는 실시 예 1과 동일한 부분은 생략 하고, 실시 예 1과의 변경 점만을 기재하고 있다. 기재하고 있지 않은 부분은 실시 예 1과 동일하다고 생각하면 좋다.
도 21은 실시 예 2에서의 카피 관리정보 리스트의 일 예를 나타낸다. 본 실시 예에서의 카피 관리정보 리스트는 도 11에 나타낸 카피 콘텐츠 ID, 콘텐츠 내용 정보, 카피 파일, 파일 맵핑정보, 카피 처 미디어 타입, 및, 해상도·용량·가격정보에 파일 다이제스트 정보가 추가되어 있다. 각 부분의 상세한 설명은 도 11과 동일한 부분에 대해서는 생략하고 변경 점만을 설명한다.
카피 파일란에 기재되는 파일은 카피 원 디스크에 존재하는 파일뿐만 아니라, 본 실시 예에서는 로컬 스토리지의 파일도 카피 대상으로 기재할 수 있다. 도 21의 예에서는 카피 파일의 파일명이 BUDA로 시작되는“BUDA/extronly.indx”가 그 파일에 해당한다.
또, 본 실시 예에서 새롭게 추가된 파일 다이제스트 란은 카피 대상 파일이 로컬 스토리지의 데이터를 참조하고 있는 경우에만 존재하며, 카피 대상 파일의 다이제스트 치를 기재한다.
도 22는 실시 예 2에서의 매니지드 카피 제어부의 구성을 기재하고 있다. 각 부분에 있어서의 상세한 설명은 도 9에서 설명하고 있으므로 동일한 부분에 대해서는 생략하고 변경 점만을 설명한다.
도 22에서는 새로운 구성으로 인증부(613)가 추가되어 있다. 인증부(613)는 카피 대상이 로컬 스토리지의 파일인 경우에, 다이제스트 치의 인증 처리를 시행함으로써 파일의 정당성을 확인한다.
도 23은 실시 예 2에서의 매니지드 카피 제어부(423)에 의한 데이터 카피를 나타내는 플로차트이다. 도 23은 도 14의 데이터 카피 처리에 더하여 스텝 S501 ~ S505가 추가되어 있다. 또, S401 ~ S404에 대해서는 도 14의 처리와 동일하므로 생략한다.
스텝 S404에서 카피 파일의 취득을 끝내면, 다음에 맵핑 데이터 처리부(609)는 파일 맵핑정보를 참조하여 카피 파일의 파일명에 대응하는 파일명이 존재하는지를 확인한다(S405). 스텝 S405에서 맵핑 정보가 존재하고 있으면, 카피 실행부(604)는 카피 파일이 로컬 스토리지의 파일인가 여부를 판정한다(S501). 로컬 스토리지의 파일인가 여부의 판정은 파일명의 선두 문자열로 판정하는 것이 일반적이나, 그 외의 방법을 이용해도 좋다.
다음에, 스텝 S501에서 카피 파일이 로컬 스토리지의 파일이 아니라고 판정한 경우, 카피 실행부(604)는 기록 제어부(419)를 개재하여 카피 파일 부분에 기재된 파일을 파일 맵핑정보에 기재된 디렉터리 및 파일명으로 카피 처에 카피한다(S407).
스텝 S501에서 카피 파일이 로컬 스토리지의 파일이라고 판정한 경우에는 S502 ~ S505의 스텝을 이용하여 로컬 스토리지의 데이터의 정당성을 확인할 필요가 있다.
먼저, 매니지드 카피 제어부(423)는 카피 파일에 기록된 로컬 스토리지 파일이 매니지드 카피 관리 Java 애플리케이션에 의해서 액세스 가능한가 여부를 판정한다(S502). 스텝 S502에서 액세스가 가능하다고 판정한 경우에는, 카피 실행부(604)는 카피관리정보의 카피 파일에 대응하는 다이제스트 치를 취득하고, 취득한 다이제스트 치를 인증부(613)에 인도한다(S503). 스텝 S502에서 액세스가 가능하지 않다고 판정한 경우에는, 카피 대상 파일은 카피되는 일없이 S408에 이행한다.
다음에, 카피 실행부(604)는 카피 파일 부분에 기재된 파일의 바이너리 데이터(binary data)를 로컬 스토리지로부터 취득하고, 인증부(612)에 인도한다. 파일의 바이너리 데이터를 수신한 인증부(613)는 수신한 파일의 다이제스트 치를 계산한다(S504).
다음에, 인증부(613)는 스텝 S503에서 수신한 다이제스트 치와 스텝 S504에서 계산한 다이제스트 치를 비교하여, 일치하고 있는지 여부를 판정한다(S505).
스텝 505에서 다이제스트 치가 일치하고 있는 경우는, 카피 실행부(604)는 기록 제어부(419)를 개재하여 카피 파일 부분에 기재된 파일을 파일 맵핑정보에 기재된 디렉터리 및 파일명으로 카피 처에 카피한다(S407).
스텝 505에서 다이제스트 치가 일치하고 있지 않은 경우는, 개찬된 파일을 매니지드 카피 대상으로 지정한 것이 되므로 카피 대상 파일은 카피되는 일없이 S408에 이행한다.
다음에, S405에서 파일 맵핑정보가 존재하고 있지 않으면, 카피 실행부(604)는 카피 파일이 로컬 스토리지의 파일인가 여부 판정한다(S506). 스텝 S506에서 로컬 스토리지의 파일이 아니라고 판정한 경우는, 카피 실행부(604)는 기록 제어부(419)를 개재하여 카피 파일에 기재된 파일의 디렉터리 및 파일명으로 카피 처에 카피를 실시한다(S406). 스텝 S506에서 로컬 스토리지의 파일이라고 판정한 경우는, 로컬 스토리지의 데이터는 맵핑 없이는 카피할 수 없으므로 카피 대상 파일은 카피되는 일없이 S408에 이행한다.
도 24는 본 실시 예에 따라서 카피가 완료한 때의 구성도를 나타낸다. 본 실시 예의 경우는, 재생장치는 로컬 스토리지의 파일도 지정 가능 카피관리정보(도 21)를 기초로 매니지드 카피를 실시한다.
도 24의 카피 처 디스크에서는 스트림 파일은 카피 원의 스트림을 이용하면서, 데이터베이스 파일은 카피 원의 디스크의 것이 아니라 BDMV/index로 로컬 스토리지의 것이 카피되고 있음을 알 수 있다.
즉, 본 실시 예에서는 재생호환성이 유지된 디스크를 생성할 수 있을 뿐 아니라, 애플리케이션이 미리 서버로부터 버그픽스 혹은 추가 콘텐츠를 다운로드해 두고, 그것을 매니지드 카피 콘텐츠로 취급하는 것도 가능해진다.
(실시 예 3)
실시 예 1에서는 매니지드 카피에서 이용하는 카피관리정보는 디스크 상에 있거나 또는 서버로부터 송신되는 종래의 카피관리정보를 확장해서 이용하고 있었다.
실시 예 3에서는, 예를 들어, 미리 카피 처용의 index 파일이 보존되지 않고, 규격에 따른 디스크를 만들지 못할 경우, 재생장치에서 index 파일을 자동 생성하는 변형 예에 대하여 설명한다. 또, 실시 예 3에서는 이미 기재되어 있는 실시 예 1과 동일한 부분은 생략하고, 실시 예 1과의 변경 점만을 기재하고 있다. 기재하고 있지 않은 부분은 실시 예 1과 동일하다고 생각하면 된다.
도 25는 실시 예 3에서의 카피 관리정보 리스트의 일 예를 나타낸다. 부분 카피를 실시하는 콘텐츠 ID#2에서 재생에 필요한 index 파일이나 시나리오 파일이 카피의 대상으로 되어 있지 않음을 알 수 있다. 이러한 경우는, 매니지드 카피 완성 후의 카피 처 디스크는 재생할 수 없는 상태에 빠져 버린다고 하는 과제가 있다. 이에, 본 실시 예에서는 도 26 ~ 도 28을 이용하여, 도 25와 같은 카피 관리정보 리스트를 수신한 경우에도 재생호환을 유지하는 방법을 설명한다.
도 26은 실시 예 3에서의 매니지드 카피 제어부의 구성을 기재하고 있다. 각 부분에서의 상세한 설명은 도 9로 설명하고 있으므로, 동일한 부분에 대해서는 생략하고, 여기에서는 변경 점만을 설명한다.
도 26에서는 데이터베이스 파일 생성부(620)가 새롭게 추가되어 있다. 데이터베이스 파일 생성부(620)는 재생에 필요한 index 파일이나 시나리오 파일이 카피관리정보의 카피 파일로 기재되지 않은 경우에 그것들을 생성한다.
도 27은 실시 예 3에서의 매니지드 카피 제어부(423)에 의한 데이터 카피를 나타내는 플로차트이다. 도 27은 도 14의 데이터 카피 처리에 더하여 스텝 S601 ~ S607가 추가되어 있다. 또, S401 ~ S408에서는 도 14의 처리와 동일하므로 설명을 생략한다.
매니지드 카피 제어부(423)는 스텝 S408에서 카피관리정보의 모든 파일의 카피가 완료를 끝내면, 카피 처 디스크로 재생 가능한 최저한 필요한 파일이 갖추어져 있는지 여부를 확인한다(스텝 S601).
카피 처 디스크가 재생 가능해지기 위해서 최저한 필요한 파일이 갖추어져 있는 경우는, 실시 예 1과 같이, 데이터 카피가 완료한 취지를 Java 애플리케이션에 보내고, 데이터 카피를 완료한다. 카피 처 디스크가 재생 가능해지기 위해서 최저한 필요한 파일이 갖추어지지 않은 경우는, 어느 파일이 갖추어지지 않은가를 하나씩 확인할 필요가 있다. 매니지드 카피 제어부(423)는 먼저, 카피 처의 타이틀 구성을 나타내게 되는 Index.bdmv 파일이 카피 처에 존재하는지를 확인한다(S602).
스텝 S602에서 Index.bdmv 파일이 존재하지 않는다고 판정한 경우는, 데이터베이스 파일 생성부(620)는 카피 처용의 Index.bdmv 파일의 생성을 실시한다(S603). 구체적으로는 First Play와 타이틀을 하나씩 포함한 Index.bdmv 파일을 생성한다. 또, 여기에서는 「생성한다」라고 하고 있으나, 미리 재생장치가 템플릿(template)으로 보유해 두고, 그것을 카피해도 좋다.
스텝 S603의 처리가 완료하거나, 또는 스텝 S602에서 Index.bdmv 파일이 존재한다고 판정한 경우는, 매니지드 카피 제어부(423)는 Index.bdmv에 포함되는 타이틀의 수와 카피 원 파일 정보에 있는 오브젝트 파일의 수가 일치하고 있는지를 확인한다(S604).
여기서 말하는 오브젝트 파일이란, 타이틀에 포함되는 영상의 구성을 나타내는 파일이며, 파일명에 “bdjo”의 확장자가 부여된 것, 또는 “MovieObject.bdmv”라고 하는 파일명의 것이다.
스텝 S604에서 오브젝트 파일이 부족하다고 판정한 경우는, 데이터베이스 파일 생성부(620)는 카피 원 파일 정보의 스트림과 관련이 부여된 오브젝트 파일을 생성한다(S605). 여기서 관련이 부여되는 것은 다른 오브젝트 파일이 참조하고 있지 않은 스트림인 것이 바람직하나, 본 실시 예는 재생시의 에러를 방지하는 것을 목적으로 하고 있으므로 이미 참조하고 있는 것이라도 좋다.
오브젝트 파일이 Index.bdmv의 수와 일치할 때까지 스텝 S604 및 스텝 S605는 반복해서 이루어진다. 오브젝트 파일이 Index.bdmv의 수와 일치한 경우는, 매니지드 카피 제어부(423)는 Java 애플리케이션에 카피 완료를 통지하고, 데이터 카피를 완료한다.
도 28은 본 실시 예에 따라서 카피가 완료한 때의 구성도를 나타낸다. 본 실시 예의 경우는, 재생에 최저한 필요한 파일이 부족한 경우에는 재생장치 측에서 생성하고, 매니지드 카피 대상에 더한다.
도 28의 카피 처 디스크에는 재생장치가 자동 생성한 index.bdmv와 오브젝트 파일과 카피 원으로부터 카피한 스트림이 포함되어 있음을 알 수 있다. 즉, 본 실시 예에서는 재생호환성이 유지된 디스크가 생성될 뿐만 아니라, 서버로부터 수신한 데이터에 불비가 있었을 경우에도 재생장치가 생성한 파일이 그것을 보충하여 매니지드 카피를 하는 것이 가능해진다.
또, 본 실시 예에서는 오브젝트 파일의 생성을 예로 기재했으나, 오브젝트 파일을 생성하는 대신에 Java 애플리케이션을 생성해도 좋다.
(실시 예 4)
실시 예 4에서는 가상 파일 시스템을 이용한 매니지드 카피에 대하여 설명하다.
도 29는 실시 예 4에서의 재생장치의 대략적인 기능구성을 나타내는 블럭도이다. 실시 예 1과 다른 점은 재생장치의 구성에 가상 파일 시스템(424)이 추가되어 있는 점이다. 실시 예 4에서의 로컬 스토리지(422)는 매니지드 카피의 카피 처로 이용될 뿐만 아니라, 다운로드해 온 추가 콘텐츠나 애플리케이션이 사용하는 데이터 등의 보존에도 이용된다.
추가 콘텐츠의 보존 영역은 BD-ROM별로 구분되어 있다. 또, 애플리케이션이 데이터의 보유에 사용할 수 있는 영역은 애플리케이션별로 구분되어 있다. 또, 다운로드한 추가 콘텐츠를 어떻게 BD-ROM 상의 데이터와 머지 하는지를 나타내는 규칙, 즉 머지 규칙이 기재된 머지 관리정보도 이 로컬 스토리지(422)에 보존된다.
가상 파일 시스템(424)은 추가 콘텐츠와 함께 로컬 스토리지(422)에 다운로드된 머지 관리정보를 기초로 로컬 스토리지(422)에 저장된 추가 콘텐츠와 BD-ROM 상의 콘텐츠를 머지 시킨 가상적인 BD-ROM(가상 패키지)를 구축한다.
HDMV 모듈(413)이나 BD-J 모듈(414)에서는 가상 패키지와 오리지널 BD-ROM를 구별 없이 참조할 수 있다. 가상 패키지의 재생 중, 재생장치는 BD-ROM 상의 데이터와 로컬 스토리지상의 데이터의 양쪽을 이용하여 재생제어를 실시하게 된다.
도 30은 실시 예 4에서의 로컬 스토리지에서의 디렉터리 구조를 나타내는 도면이다. 로컬 스토리지 상에는 추가 콘텐츠 영역 루트 디렉터리, CertID 디렉터리, OrganizationID 디렉터리, DiscID 디렉터리, 머지 관리정보 파일, 서명정보파일, 및, 추가 콘텐츠 데이터 파일이 존재한다.
추가 콘텐츠 영역 루트 디렉터리는 로컬 스토리지의 루트 디렉터리의 아래에 존재하며, 추가 콘텐츠 영역의 루트를 나타내는 디렉터리로, 디렉터리 명은 8 문자 이내의 고정치(BUDA)이다.
CertID 디렉터리는 BD-ROM 상의 디스크 루트 증명서(discroot.crt)로부터 도출되는 ID를 이름으로 갖는 디렉터리이다. 구체적으로는, 디스크 루트 증명서의 SHA-1 다이제스트 치 160bit중, 선두 32bit를 16진 표기로 나타낸 8 문자의 이름의 디렉터리이다.
OrganizationID 디렉터리는 BD-ROM 상의 BD 관리정보(index.bdmv)에 기재되어 있는 영화작품의 프로바이더를 특정하는 32bit의 식별자(OrganizationID)를 16진 표기로 나타낸 8문자의 이름의 디렉터리이다.
DiscID 디렉터리는 BD-ROM을 특정하는 128bit의 식별자(DiscID)를 선두로부터 32bit씩 4분할하고, 각각을 16진 표기로 나타낸 8문자의 이름을 갖는 4개의 디렉터리로 구성되는 디렉터리이다. DiscID는 BD-ROM 상의 BD 관리정보(index.bdmv)에 기재되어 있다.
특정 프로바이더에 대응하는 디렉터리에 각 BD-ROM에 대응하는 서브 디렉터리를 설치함으로써 각 BD-ROM에 대한 다운로드 데이터가 개별적으로 저장된다. 이 서브 디렉터리의 아래에 머지 관리정보 파일, 서명정보파일, 및 추가 콘텐츠 데이터 파일이 존재한다.
머지 관리정보 파일에는 로컬 스토리지 상의 추가 콘텐츠 데이터 파일과 BD-ROM 상의 파일에서 가상 패키지를 구축하기 위한 머지 관리정보가 포함되어 있다. 머지 관리정보는 가상 패키지를 구성하는 로컬 스토리지 상의 각 파일저장위치정보, 가상 패키지 상에서 이들 파일에 액세스하기 위한 가상패스정보, 및 가상 패키지 ID로 구성된다. 가상 패키지 ID는 가상 패키지의 구성을 고유하게 식별하는 것으로, 동일한 BD-ROM에서도 가상 패키지별로 다른 ID가 할당된다. 머지 관리정보 파일은 파일명 bumf.xml로 DiscID 디렉터리에 보존된다.
서명정보파일은 머지 관리정보 파일에 대한 프로바이더의 전자적인 서명을 나타내는 파일이며, bumf.sf라고 하는 파일명으로 DiscID 디렉터리에 보존된다. 전자적인 서명은 일반적으로 개찬 방지가 필요한 정보에 대해서 해시치(hash value)를 계산하고, 해시치를 어떠한 비밀키를 이용하여 암호화한 것을 이용한다. 본 실시 예의 서명정보파일에서는 BD-ROM 상에 있는 디스크 루트 증명서 중의 공개키에 대응하는 비밀키를 이용하여 머지 관리정보 파일의 해시 치가 암호화되어 있다.
또, 디스크 루트 증명서는 Java 애플리케이션의 인증, 및 머지 관리정보 파일의 인증에 이용하는 증명서로, 프로바이더가 공개하는 공개키가 포함된다. 프로바이더가 제공하는 디스크 루트 증명서는 BD-ROM 상에 discroot.crt라고 하는 파일명으로 보존되어 있다. 머지 증명서의 파일 형식의 일 예로는 X.509를 이용할 수 있다. X.509의 상세한 사양은 국제 전신전화 자문위원회에서 발행되어 있는 CCITT Recommendation X.509 (1988), "The Directory - Authentication Framework"에 기재되어 있다.
추가 콘텐츠 데이터 파일은 BD-ROM에 기록된 오리지널의 콘텐츠에 대하여 추가/갱신하는 파일 군이며, 로컬 스토리지 상에 8.3 형식(파일명 8 문자 이내, 확장자 3 문자 이내)의 파일명으로 보존된다.
도 6에 나타낸 3개의 추가 콘텐츠 데이터 파일 중, 「00001.mpl」는, 플레이 리스트 정보를 저장한 것이고, 「mo.bdm」는 HDMV 모드에서의 시나리오 프로그램을 저장한 것이며, 「00001.m2t」는 디지털 AV 스트림을 저장한 것이다.
이들 외에도 BD-ROM에 기록되고, 사용자에게 공급할 수 있는 파일이라면, BD-ROM에 기록되어야 할 다른 파일을 추가 콘텐츠 데이터 파일의 대상으로 선택할 수 있다.
예를 들어, index.bdmv나 Clip 정보를 저장한 파일(확장자가 clpi의 파일), Java 아카이브 파일(확장자가 jar의 파일, BD-J 오브젝트를 저장한 파일(확장자가 bdjo의 파일) 등도 추가 콘텐츠 데이터 파일의 대상으로 선택할 수 있다.
도 31(a)은 머지 관리정보의 내부구성을 나타내는 도면이다. 본 도면에서의 머지 관리정보에서는 00001.mpl, mo.bdm, 00001.m2t라고 하는 3개의 추가 콘텐츠 데이터 파일에 대하여 로컬 스토리지 상의 파일 패스와 가상 패키지 상의 파일 패스의 대응부여가 이루어져 있다. 로컬 스토리지 상의 파일 패스는 8.3 형식에 준하고 있다.
이 머지 관리정보 파일이 특징적인 것은 로컬 스토리지로 FAT형 파일 시스템을 채용하고 있는 리무버블 미디어가 사용되는 경우를 고려하여, 로컬 스토리지에 있어서의 디렉터리 명 및 파일명이 8.3 형식에 준하고 있는 점이다.
BD-ROM에 기록된 파일은 Long File Name(LFN) 형식이 채용되고 있으므로, 10 문자, 20 문자라고 하는 파일명이나 5 문자, 6 문자라고 하는 확장자 명을 갖는 것이 가능하다. 그러나, FAT형 파일 시스템을 채용하고 있는 리무버블 미디어에 기록할 때에는 파일명이 최대 8 문자, 디렉터리 명이 최대 8 문자, 확장자가 최대 3 문자로 제한된다.
머지 관리정보 파일에는 8.3 형식에 준한 로컬 스토리지 상의 파일 패스와, 가상 패키지에서의 LFN의 파일 패스가 대응되어 있다. 이 가상 패키지의 파일 패스는 BD-ROM의 디렉터리 구조에 준한다. 왜냐하면 가상 패키지는 로컬 스토리지 상의 파일을 마치 BD-ROM에 저장되어 있는 것과 동일하게 취급하는 것이기 때문이다.
이러한 BD-ROM의 파일 시스템 형식은 LFN에 대응한 것이므로, 이 머지 관리정보 파일을 참조함으로써 로컬 스토리지 상의 추가 콘텐츠 데이터 파일은 8.3 형식이면서 255 문자 이하의 파일명을 이용하여 별명(別名)으로 액세스 되게 된다. 머지 관리정보 파일은 8.3 형식으로 기록되어 있는 각종 파일에 대하여 255 문자 이하의 파일명에 의한 “별명 액세스”를 실현시키는 것이다.
본 도면에서의 파일 패스의 기술에 대하여 구체적으로 설명한다. 로컬 스토리지에서의“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.m2t”라고 하는 8.3 형식의 파일 패스에는 BDMV/Stream/00001.m2ts라고 하는 가상 패키지 상의 LFN 형식의 파일 패스가 대응되어 있다.
도 31(b)은 머지 관리정보의 내용을 기초로 BD-ROM 콘텐츠와 로컬 스토리지 상의 추가 콘텐츠를 머지 하는 모습을 나타내고 있다. 좌측은 BD-ROM의 저장 내용을 나타내고, 중간 측은 로컬 스토리지의 저장 내용을 나타낸다. 우측은 가상 패키지의 저장 내용을 나타낸다.
머지 관리정보 파일은 도 31(a)과 같이 설정되어 있으므로, 로컬 스토리지에 서의 저장 내용 중, CertID 디렉터리 아래의 12345abc/12345678/90abcdef/ 12345678/90abcdef에 존재하는 3개의 추가 콘텐츠 데이터 파일, 즉 mo.bdm, 00001.mpl, 00001.m2t의 각각을 화살표 g1, g2, g3에 나타낸 것과 같이, 머지 관리정보 파일에 기술되어 있는 가상 패키지의 디렉터리 구성에 조합한다.
이상과 같은, 로컬 스토리지의 파일을 머지 관리정보 파일에 기술되어 있는 디렉터리 구성에 편성일을“머지”라 한다.
이러한 머지에 의해서, mo.bdm는 BDMV 디렉터리에 존재하는“MovieObject.bdmv”라고 하는 별명의 파일명으로 액세스 되게 된다.
또, 00001.mpl는 BDMV 디렉터리 아래의 PLAYLIST 디렉터리에 존재하는“00001.mpls”라고 하는 별명의 파일명으로 액세스 되게 된다.
00001.m2t는 BDMV 디렉터리 아래의 STREAM 디렉터리에 존재하는“00001.m2ts”라고 하는 별명의 파일명으로 액세스 되게 된다.
상술한 것과 같은 별명 액세스가 가능하게 되므로, mo.bdm, 00001.mpl, 00001.m2t의 각각은 BDMV에 MovieObject.bdmv, BDMV/PLAYLIST/00001. mpls, BDMV/STREAM/000001. m2ts에 존재하는 것으로 취급할 수 있다.
도 32는 도 29에 나타내는 BD-J 모듈의 보다 구체적인 구성을 나타내는 도면이다. BD-J 모듈(414)은 미디어 재생 모듈(702), 가상 파일 시스템 관리 모듈(703), 매니지드 카피 모듈(704), 파일 I/O모듈(705), 네트워크 모듈(706), 및, 애플리케이션 매니저(707)로 구성된다.
또, 본 도면에서의 AV재생 라이브러리(420), 네트워크 I/F(421), 로컬 스토리지(422), 매니지드 카피 제어부(423), 및 가상 파일 시스템(424)은 도 29에 나타낸 것과 동일하며, 미디어 재생 모듈(702) ~ 애플리케이션 매니저(707)의 설명을 위해서 편의적으로 기재하고 있다.
애플리케이션 매니저(707)는 BD-ROM 상에 기록된 애플리케이션 관리정보를 기초로 Java 애플리케이션의 기동 및 종료를 관리한다. 또, 애플리케이션 매니저가 디스패처(417)로부터 수신한 UO 이벤트를 현재 동작중인 Java 애플리케이션(701)에 인도한다고 하는 처리도 실시한다.
미디어 재생 모듈(702)은 Java 애플리케이션(701)에 대하여 미디어 재생제어를 위한 API를 제공하고 있다. Java 애플리케이션(701)이 미디어 재생제어 API를 호출하면, 미디어 재생 모듈은 대응하는 AV 재생 라이브러리(420)의 함수를 호출하고, AV 재생제어를 한다.
네트워크 모듈(706)은 Java 애플리케이션(701)에 대하여 네트워크 제어를 위한 API를 제공하고 있다. 네트워크 모듈(706)은 Java 애플리케이션(701)으로부터의 네트워크 제어 요구에 따라 네트워크 인터페이스(421)를 사용하여 네트워크 접속을 실시한다.
Java 애플리케이션(701)은 네트워크 모듈(706)을 이용하여 공개되어 있는 추가 콘텐츠의 검색이나 다운로드, 매니지드 카피 인증에 필요한 서버 액세스를 실시할 수 있다.
파일 I/O 모듈(705)은 Java 애플리케이션(701)으로부터의 BD-ROM, 로컬 스토리지, 기록형 BD 드라이브 등의 각 미디어로의 파일 액세스 요구의 처리를 한다.
이 액세스 요구가 추가 콘텐츠 데이터 파일의 기록인 경우, Java 애플리케이션(701)은 파일 I/O 모듈을 이용하여 추가 콘텐츠 파일을 로컬 스토리지 상의 적절한 위치에 배치할 수 있다. 또, 불필요해진 추가 콘텐츠 파일을 삭제하거나 추가 콘텐츠 파일을 직접 편집하는 것도 가능하다. 가상 패키지 상으로의 액세스도 이 파일 I/O 모듈(705)을 통해서 실시한다. 단, 가상 패키지 상으로의 액세스는 판독 전용이 되며, 파일 I/O 모듈(705)로부터의 기록은 할 수 없다.
그 액세스 요구가 추가 콘텐츠 데이터 파일의 판독인 경우, Java 애플리케이션(701)에는 BD-ROM에 대한 LFN 형식의 파일 패스가 인도되므로 로컬 스토리지에 기록되어 있는 파일이며, LFN의 파일 패스에서 액세스할 수 있는 것이 로컬 스토리지에 존재하는지 여부의 서치를 실시한다.
이 서치는 당해 LFN의 파일 패스가 머지 관리정보 파일에서 “별명의 파일 패스”로 기술되어 있는지 여부를 판단함으로써 이루어진다.
이러한 서치에 의해, 그 LFN의 파일 패스에 의해 별명으로 액세스할 수 있는 추가 콘텐츠 데이터 파일이 로컬 스토리지에 존재하는 것이 명백한 경우, 머지 관리정보 파일에 기재된 8.3 형식의 파일 패스에 따라서 그 추가 콘텐츠 데이터 파일을 로컬 스토리지로부터 판독한다.
그 LFN의 파일 패스에 의해 별명 액세스할 수 있는 추가 콘텐츠 데이터 파일이 로컬 스토리지에 존재하지 않는 경우, 그 LFN의 파일 패스에 의해 액세스할 수 있는 추가 콘텐츠 데이터 파일을 BD-ROM로부터 판독한다. 그 LFN의 파일 패스에 의해 액세스할 수 있는 추가 콘텐츠 데이터 파일이 BD-ROM에도 존재하지 않는다면 에러 처리를 한다.
매니지드 카피 모듈(704)은 Java 애플리케이션(701)에 대하여 매니지드 카피 제어를 위한 API를 제공하고 있다. 이 API를 호출함으로써 Java 애플리케이션은 매니지드 카피 인증에 필요한 카피 원/카피 처 미디어 정보의 취득, 매니지드 카피 제어부에 대한 카피 개시 요구, 카피 중의 진척 상황의 확인 등을 실시한다. 이들 API의 상세에 대하여는 후술한다.
가상 파일 시스템 관리 모듈(703)은 Java 애플리케이션(701)으로부터의 가상 패키지 구축/갱신 요구를 수신하고, 그 요구 내용을 가상 파일 시스템(424)에 전달한다. Java 애플리케이션(701)은 가상 패키지를 구축/갱신하는 경우, 새로운 머지 관리정보 파일 및 서명정보파일을 지정하여 구축/갱신 요구를 발행한다.
가상 파일 시스템(424)은 가상 파일 시스템 관리 모듈(703)을 통해서 가상 패키지 구축/갱신 요구를 접수하면, 새롭게 지정된 서명정보파일을 이용하여 새로운 머지 관리정보 파일의 서명 검증을 실시한다. 그 후, 오래된 머지 관리정보 파일 및 서명정보파일을 새로운 머지 관리정보 파일 및 서명정보파일로 치환하고, 가상 패키지를 재구축한다. 머지 관리정보 파일 및 서명정보파일의 치환은 타이틀 절환시에 이루어진다.
도 33은 BD-ROM의 삽입시의 플로차트이다.
BD-ROM이 재생장치에 삽입되면, 가상 파일 시스템(424)은 discroot.crt로부터 CertID 디렉터리를 산출하다(S101). 다음에, index.bdmv에 기재되어 있는 DiscID 및 OrganizationID를 확인하고(S102), 로컬 스토리지 상의 대응하는 DiscID 디렉터리를 결정한다(S103).
다음에, 가상 파일 시스템(424)은 삽입된 BD-ROM에 대응하는 DiscID 디렉터리에 머지 관리정보 파일 및 서명정보파일의 양 파일이 존재하는지 확인한다(S104).
어느 한쪽의 파일이 존재하지 않거나, 양 파일이 존재하지 않은 경우, 가상 파일 시스템(424)은 가상 패키지를 구축하지 않고 BD-ROM 상의 데이터만으로 재생을 개시한다. 머지 관리정보 파일 및 서명정보파일 모두 존재하는 경우, 가상 파일 시스템(424)은 서명정보파일을 이용하여 머지 관리정보 파일이 개찬되어 있지 않음을 확인한다(S105).
스텝 S105에서 서명 검증에 실패한 경우는, 가상 패키지를 구축하지 않고 BD-ROM 상의 데이터만으로 재생을 개시한다. 스텝 S105에서 서명 검증에 성공하면, 머지 관리정보에 열거되어 있는 로컬 스토리지 상의 파일 패스에 파일이 존재하는지 확인한다(S106).
하나라도 존재하지 않는 파일이 있으면, 가상 패키지 구축을 멈추고, BD-ROM 상의 데이터만으로 재생한다. 가상 패키지 구축에 필요한 모든 파일의 존재를 확인되면, 가상 파일 시스템(424)은 이들 파일의 속성을 판독전용으로 변경한다. 그리고, DiscID 디렉터리에 저장되어 있는 추가 콘텐츠 파일은 머지 관리정보의 내용에 의거하여 BD-ROM 상 콘텐츠에 머지 되어 가상 패키지가 구축된다(S107).
가상 패키지는 가상적으로 존재한다. 실제로는 일부가 로컬 스토리지 상의 파일, 그 외가 BD-ROM 상의 파일로 구성된 패키지가 된다.
단, 애플리케이션 레이어(도 3의 제 4 층)인 HDMV 모듈(413)이나 BD-J 모듈(414)에서는 마치 모든 파일이 BD-ROM 상에 있는 것처럼 참조시킨다. 그리고, 가상 파일 시스템(424)이 애플리케이션 레이어로부터의 BD-ROM 상으로의 참조를 모니터링하고, 참조 처의 파일로의 패스가 머지 관리정보에 기재되어 있는 가상 패키지의 파일 패스와 일치하고 있으면, 가상 파일 시스템(424)은 대응하는 파일 패스에 기재되어 있는 로컬 스토리지 상의 파일에 참조 처의 변경을 실시한다.
즉, 실제로는 로컬 스토리지 상에 보존되어 있는 파일이 8.3 형식의 파일명이라고 하더라도 애플리케이션 레이어로부터는 긴 파일명으로 취급할 수 있다.
다음에, BD-ROM을 삽입하고, 재생을 개시한 후의 가상 패키지의 구축/갱신에 대하여 설명한다.
도 34는 타이틀 절환시에 신구(新舊) 머지 관리정보 파일을 치환하여 가상 패키지의 재구축을 행하기 위한 처리순서를 나타내는 플로차트이다.
BD-J 모드용의 타이틀이 재생되면(S201), 타이틀 재생 중에 Java 애플리케이션은 가상 패키지 갱신 요구를 실시한다(S202). 가상 패키지 갱신 요구 시에 부여하는 인수의 값은 신 머지 관리정보 파일의 위치를 나타내는 파일 패스, 및 신 머지 관리정보 파일에 대응하는 서명정보파일의 위치를 나타내는 파일 패스이다.
가상 파일 시스템(424)은 가상 패키지 갱신 요구를 수신하면, 가상 파일 시스템(424)의 상태를 「갱신 준비 중」으로 하고, 지정된 신 머지 관리정보 파일이 치환되지 않도록 그 속성을 판독전용으로 변경한다(S203). 그리고, 가상 패키지 갱신 요구시에 지정된 서명정보파일을 이용하여 신 머지 관리정보 파일의 서명 검증을 실시한다(S204).
스텝 S204의 서명 검증에 실패한 경우(S205에서 No), 가상 파일 시스템(424)은 가상 패키지 갱신 요구를 중단한다. 그리고, 가상 파일 시스템(424)은 신 머지 관리정보 파일의 속성을 판독전용에서 가상 패키지 갱신 요구 전의 원래의 속성으로 되돌리고, Java 애플리케이션에 대하여 가상 패키지 갱신 요구 거부 통지 이벤트를 보낸다(S209).
스텝 S204의 서명 검증에 성공한 경우(S205에서 Yes), 가상 파일 시스템(424)은 신 머지 관리정보 파일이 참조하고 있는 로컬 스토리지 상의 파일의 존재를 체크하고, 그러한 파일이 Java 애플리케이션으로부터 판독전용이 되도록 그 속성을 변경한다(S206).
신 머지 관리정보 파일로부터 참조되어 있고 가상 패키지 구축에 필요한 파일이 로컬 스토리지 상에 존재하지 않은 경우(S207에서 No), 가상 파일 시스템(424)은 가상 패키지 갱신처리를 중단한다. 그리고, 가상 파일 시스템(424)은 스텝 S203 및 스텝 S206에서 속성을 변경한 파일의 속성을 가상 패키지 갱신 요구 전의 원래의 속성으로 되돌린다. 그리고, Java 애플리케이션에 대하여 가상 패키지 갱신 요구 거부 통지 이벤트를 보낸다(S209).
신 머지 관리정보 파일로부터 참조되어 있고 가상 패키지 구축에 필요한 파일이 로컬 스토리지 상에 모두 존재하고 있음이 확인되고, 또 이들 파일의 속성을 판독전용으로 변경하는 처리가 완료하면(S207에서 Yes), 가상 파일 시스템(424)은 가상 파일 시스템 상태를 「갱신 준비 완료」로 하고, Java 애플리케이션에 대하여 갱신 준비 완료 통지 이벤트를 보낸다.
가상 파일 시스템(424)의 상태가 「갱신 준비 완료」로 된 후, 타이틀 절환이 발생하는 것을 기다린다. 타이틀 절환이 발생하면(S208에서 Yes), 절환 전의 타이틀에서 기동하고 있던 Java 애플리케이션은 종료한다(S210). 그 후, 구 머지 관리정보 파일이 존재하면, 신 머지 관리정보 파일로 오버라이트하고, 신구 머지 관리정보 파일의 치환을 실시한다(S211).
가상 패키지 갱신 전에 오리지널의 BD-ROM의 재생 중이고, 구 머지 관리정보 파일이 원래 존재하지 않은 경우는, 구 머지 관리정보 파일을 오버라이트(overwrite)하는 대신에 신 머지 관리정보 파일은 삽입되어 있는 BD-ROM의 DiscID에 대응하는 DiscID 디렉터리의 아래로 이동되고, 정규의 머지 관리정보 파일명으로 리네임(rename)된다. 마찬가지로, 서명정보파일에 대해서도 신구 파일의 치환 및 이동을 실시한다.
가상 파일 시스템(424)은 신구 머지 관리정보 파일 및 서명정보파일의 치환 및 파일의 이동을 끝낸 후, 신 머지 관리정보 파일을 기초로 가상 패키지를 재구축 한다(S212).
가상 패키지 재구축 후, 구 머지 관리정보 파일로부터 참조되고 있으나, 신 머지 관리정보 파일에서는 참조되지 않은 로컬 스토리지 상의 파일은 판독전용의 속성이 해제되고, Java 애플리케이션으로부터 판독 기록 가능하게 된다. 또, 구 머지 관리정보 파일 및 신 머지 관리정보 파일이 참조하고 있는 로컬 스토리지 상의 파일에 관해서는 그 속성은 판독전용인 상태가 된다.
가상 패키지의 재구축을 끝내면, 새롭게 구축한 가상 패키지를 이용하여 절환 처의 타이틀 재생을 개시한다(S201). 재생 중의 가상 패키지에 대응하는 머지 관리정보 파일, 및 그 머지 관리정보 파일이 참조하고 있는 로컬 스토리지 상의 파일은 가상 패키지의 재생 중, 그 속성은 항상 판독전용이 되어 Java 애플리케이션으로부터 편집 및 삭제를 할 수 없다.
도 35는 Java 애플리케이션이 가상 패키지 구축/갱신 요구를 발행하고, 가상 패키지가 갱신될 때까지의 시간적인 처리의 흐름을 나타내는 도면이다.
제 1 단째는 타이틀의 재생 시간 축이다. 제 2 단째는 애플리케이션#1의 동작시간 축이다. 제 3 단째는 애플리케이션#2의 동작시간 축이다. 제 4 단째는 가상 파일 시스템 상태 천이를 나타내는 시간 축이다.
도 35에서는 초기 상태로 새로운 머지 관리정보 파일, 서명정보파일의 저장이 완료한 상태를 상정하고 있다. 즉, 여기에서는 추가 콘텐츠와 현재의 가상 패키지의 구축에 이용되고 있는 머지 관리정보 파일 및 서명정보파일과는 다른 새로운 머지 관리정보 파일 및 서명정보파일을 인터넷상의 서버로부터 다운로드하고, 로컬 스토리지 상에 저장한 상태를 초기 상태로 상정하고 있다.
타이틀#1의 재생중의 시점 t1에서 Java 애플리케이션(701)은 가상 파일 시스템 관리 모듈(703)이 제공하는 API를 통해서 가상 파일 시스템(424)에 가상 패키지 구축/갱신을 요구한다.
도면 중의 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는 Java 애플리케이션(701)으로부터의 가상 패키지 구축/갱신 요구를 수신하고, 가상 파일 시스템(424) 상태를 「갱신 준비 중」으로 천이하는 시점이다.
「갱신 준비 중」일 때, 지정된 신 머지 관리정보 파일 및 신 머지 관리정보 파일이 참조하고 있는 로컬 스토리지 상의 파일의 속성을 판독전용으로 변경하는 처리를 한다. 이러한 처리 외에 가상 패키지 갱신 요구시에 Java 애플리케이션(701)으로부터 지정된 서명정보파일을 이용하여 신 머지 관리정보 파일의 서명 검증을 실시한다. 또한, 신 머지 관리정보 파일의 파일저장 위치정보에 기재되어 있는 파일이 모두 지정된 위치에 존재하는지 여부를 체크한다.
시점 t2는 파일 존재의 체크가 끝난 후, 가상 파일 시스템(424)의 상태를 「갱신 준비 완료」로 하는 시점을 나타낸다. 이와 같이 상태를 천이시키고, Java 애플리케이션에 대하여 갱신 준비 완료 통지 이벤트를 보낸다. 신 머지 관리정보 파일의 서명 검증, 또는 파일의 존재 체크에 실패한 경우, 가상 파일 시스템(424)은 갱신 요구를 거부하고, 가상 파일 시스템 관리 모듈(703)을 개재하여 Java 애플리케이션(701)에 대하여 갱신 요구 거부 통지 이벤트를 보낸다. 그리고, 가상 파일 시스템(424)의 상태를 「갱신 준비 중」이 되기 전 상태(「가상 패키지 재생상태」또는 「BD-ROM 재생상태」)로 되돌린다.
「가상 패키지 재생상태」란, BD-ROM이 재생장치에 로드되고, 가상 파일 시스템(424)에 의해서 가상 패키지로 재생 중이며, 보류 중의 가상 패키지 갱신 요구가 없는 상태를 가리킨다. 「BD-ROM 재생상태」란, BD-ROM이 재생장치에 로드되고, 그대로 오리지널의 BD-ROM로 재생 중이며, 보류 중의 가상 패키지 갱신 요구가 없는 상태를 가리킨다.
시점 t3는 가상 파일 시스템(424) 상태가 「갱신 준비 완료」가 된 후의 시점을 나타낸다. 타이틀 절환이 발생하면, 가상 파일 시스템(424)은 가상 패키지 갱신 요구시에 지정된 신 머지 관리정보 파일을 이용하여 구 머지 관리정보 파일(현재의 가상 패키지 구축에 이용되고 있는 머지 관리정보 파일)을 오버라이트함으로써 구 머지 관리정보 파일을 신 머지 관리정보 파일로 치환한다.
가상 패키지 갱신 전에 오리지널의 BD-ROM가 재생 중이며, 구 머지 관리정보 파일이 원래 존재하지 않은 경우에는 구 머지 관리정보 파일을 오버라이트하는 대신에 신 머지 관리정보 파일을 삽입되어 있는 BD-ROM의 DiscID에 대응하는 DiscID 디렉터리의 아래로 이동한다. 이렇게 함으로써 신 머지 관리정보는 정규의 머지 관리정보 파일명(bumf.xml)으로 리네임된다.
서명정보파일도 머지 관리정보 파일과 마찬가지로 신구 서명정보파일의 치환을 실시한다. 머지 관리정보 파일 및 서명정보파일의 치환, 및 신 머지 관리정보 파일 및 서명정보파일의 이동이 끝난 후, 가상 파일 시스템(424)은 삽입되어 있는 BD-ROM의 DiscID에 대응하는 DiscID 디렉터리의 아래에 저장되어 있는 신 머지 관리정보를 기초로 가상 패키지를 재구축하여 가상 패키지의 파일 구성을 갱신한다.
시점 t4는 이러한 갱신을 끝낸 시점이며, 로컬 스토리지(422)는 「가상 패키지 재생상태」가 된다. 가상 패키지를 갱신한 후에도 가상 패키지 재생상태인 기간은 구 머지 관리정보 파일 및 신 머지 관리정보 파일의 파일저장 위치정보가 가리키는 로컬 스토리지 상의 파일의 속성은 판독전용인 상태가 된다. 단, 구 머지 관리정보 파일로부터 참조되어 있고, 신 머지 관리정보 파일로부터 참조되어 있지 않은 파일의 속성은 판독전용이 해제되어 Java 애플리케이션으로부터 판독 기록 가능하게 된다.
도 36은 실시 예 4에서의 매니지드 카피 제어부(423)를 상세화한 도면이다.
매니지드 카피 제어부(423)는, 시리얼번호 판독부(601), 미디어 ID 판독부(602), 미디어 상태 관리부(603), 카피 실행부(604), 카피 상태 통지부(605), 카피 진척 관리부(606), Nonce 생성 기록부(607), 및 키 정보 기록부(608)로 구성된다.
시리얼번호 판독부(601)는 BD-ROM 상의 특수영역인 BCA(Burst Cutting Area)에 기록되어 있는 기록매체의 물리적인 시리얼번호를 나타내는 PMSN(Pre-recorded Media Serial Number)의 판독을 실시한다. 이 시리얼번호는 후술하는 키 정보의 생성에 이용된다.
미디어 ID 판독부(602)는 카피 처의 미디어에 기록되어 있는 미디어별로 독특하게 설정되는 미디어 고유의 정보(미디어 ID)의 판독을 실시한다. 이값은 통상 재기록할 수 없으며, 동일한 종류의 미디어에서도 매체별로 다른 값이 할당되어 있다. 이 미디어 ID도 키 정보의 생성에 이용된다.
미디어 상태 관리부(603)는 재생장치가 현재 카피 처로 이용할 수 있는 미디어 종류의 일람을 관리한다. 예를 들어, 재생장치가 SD카드 슬롯과 기록형 BD 드라이브를 구비하고, 현재 SD카드만이 삽입되고 있으면, SD카드가 현재의 카피 처의 대상이라고 판단한다. SD카드 및 BD-R의 양쪽이 삽입되어 있으면, 카피 처로 SD카드 및 BD-R의 양쪽이 이용 가능하다고 판단한다. 또, 미디어 상태 관리부(603)는 카피 처 미디어의 빈 용량의 관리도 실시한다.
카피 실행부(604)는 BD-ROM으로부터 다른 미디어로의 데이터의 카피를 실행한다. 데이터 카피시에 가상 패키지가 구축되어 있으면, 로컬 스토리지 상의 데이터도 카피대상이 된다. 즉, BD-ROM 상의 데이터를 판독할 때, 가상 파일 시스템(424)을 통함으로써 BD-ROM 상의 파일과 로컬 스토리지 상의 파일이 머지 된 가상 패키지가 그대로 카피 처 미디어에 기록되게 된다. 또, 카피 처의 미디어에 따라서는 카피 실행부(604)는 스트림의 재인코드도 실시한다.
카피 상태 통지부(605)는 카피의 개시, 정상 종료, 및 에러 종료 등 상태 천이를 관리하고, BD-J 모듈을 개재하여 Java 애플리케이션에 상태 천이를 통지한다.
카피 진척 관리부(606)는 카피 대상으로 되어 있는 남은 바이트 수, 카피가 완료된 바이트 수의 관리를 하고, Java 애플리케이션으로부터의 요구에 따라서 현재의 진척 정보를 통지한다.
Nonce 생성 기록부(607)는 매니지드 카피를 실시할 때마다 랜덤으로 생성되는 값(Nonce)의 작성 및 기록을 한다. 이 Nonce의 값도 후술하는 키 정보의 생성에 이용된다.
키 정보 기록부(608)는 BD-ROM의 시리얼번호, 카피 처 미디어의 미디어 ID 및 Nonce로부터 생성되는 키 정보의 기록을 한다. 키 정보의 생성은 서버에 있는 비밀키를 기초로 이루어진다.
Java 애플리케이션은 시리얼번호, 미디어 ID 및 Nonce를 취득한 후, 이값을 서버에 송신한다. 서버는 Java 애플리케이션으로부터 송신된 값과 서버에서 관리되고 있는 비밀키를 기초로 키 정보를 생성하고, 생성한 키 정보를 Java 애플리케이션에 보낸다.
Java 애플리케이션은 서버로부터 송신된 키 정보를 키 정보 기록부(608)에 세트하고, 키 정보 기록부(608)는 세트 된 키 정보를 카피 처 미디어에 기록한다.키 정보는 암호화 콘텐츠 키의 복호에 이용되며, 암호화 콘텐츠 키가 복호되면, 보호 콘텐츠의 재생이 가능해진다. 즉, 이 키 정보가 없으면, 비록 부정하게 암호화 콘텐츠 키와 보호 콘텐츠를 BD-ROM으로부터 다른 미디어에 카피했다고 하더라도 카피된 보호 콘텐츠를 재생할 수 없다.
매니지드 카피 제어부(423)는 이상의 구성을 구비하고, 이들 구성요소의 조작을 Java 애플리케이션으로부터 제어할 수 있도록 BD-J 모듈에 대해서 매니지드 카피 제어 API가 제공되어 있다. 이하, 이러한 API에 대하여 설명한다.
(1) ManagedCopy#getPMSN()
카피 원의 미디어의 시리얼번호를 통지한다.
(2) ManagedCopy#getMCMediaInfoList()
재생장치가 카피 처로 서포트하는 미디어이고, 또한 미디어가 삽입되어 있으며, 카피 처로 현재 이용할 수 있는 미디어의 리스트를 통지한다.
(3) ManagedCopy#setCopyInfo(byte[])
키 정보와 함께 서버로부터 송신되는 카피관리정보를 세트한다. 카피관리정보에는 카피 대상이 되는 파일 리스트나 카피 가능한 해상도, 가상 패키지 상태에서의 카피 가능/불가 등의 정보가 포함된다.
(4) ManagedCopy#startMC(MCMediaInfo)
인수에 의해 지정한 미디어에 데이터 카피를 개시한다.
(5) MCMediaInfo#getMediaType()
getMCMediaInfoList()에서 취득할 수 있었던 카피 처 리스트의 각 요소에 대하여 이 API를 호출하면, 미디어의 종류(BD-R, BD-RE, SD, HDD, DVD-R 등)를 통지한다.
(6) MCMediaInfo#getUniqueId()
카피 처의 미디어의 미디어 ID 및 Nonce의 바이트 열을 통지한다. 카피 처의 Nonce는 이 API가 호출된 시점에서 생성 및 기록을 한다. 미디어의 종류에 따라서는 Nonce가 존재하지 않는 경우도 있다. 이 경우는 미디어 ID만을 통지한다.
(7) MCMediaInfo#setSignature(byte[])
카피 처에 기록하는 키 정보를 세트 한다. 데이터 카피가 개시되면, 이 API에서 세트 한 값이 키 정보로 카피 처에 기록된다.
(8) MCMediaInfo#getFreeSpace()
카피 처의 빈 용량을 통지한다.
(9) MCMediaInfo#getRequiredSpace(byte[])
인수에 카피관리정보를 지정하고, 지정된 카피관리정보를 기초로 데이터 카피에 필요한 카피 처의 용량을 통지한다.
(10) MCMediaInfo#addMCListener(MCListener)
매니지드 카피의 상태 천이 통지를 수신하는 리스너(listener)를 등록한다. 매니지드 카피의 개시, 정상 종료, 이상 종료(ABEND) 등 상태 천이가 일어났을 때에 이 API에서 등록한 리스너에게 상태 천이를 통지한다.
(11) MCProgress#getMCProgress()
매니지드 카피의 남은 바이트 수, 카피가 완료된 바이트 수가 포함되는 진척 정보를 통지한다.
이상으로, API에 대한 설명을 마친다.
도 37은 Java 애플리케이션과 서버의 데이터 송수신을 나타내는 도면이다.
먼저, 사용자가 메뉴 화면 등에서 매니지드 카피를 선택하면(도 39(a)에 화면표시의 일 예를 나타낸다), 매니지드 카피의 처리가 개시된다.
Java 애플리케이션은 BD 관리정보(index.bdmv)에 기재되어 있는 DiscID, 머지 관리정보 파일(bumf.xml)에 기재되어 있는 가상 패키지 ID, 및 MCMediaInfo#getMediaType()를 호출함으로써 카피 처 후보가 되는 미디어의 미디어 타입 일람을 서버에 송신한다. 서버는 이들 데이터로부터 카피 관리정보 리스트와 세션 ID를 작성하고, Java 애플리케이션에 보낸다.
또, Java 애플리케이션은 가상 패키지 ID 대신에 현재의 가상 패키지의 파일 구성의 일람을 서버에 보내도 좋다. 서버는 송신된 파일 구성으로부터 현재의 가상 패키지 상태를 특정할 수 있다. 또, 현재의 구성이 가상 패키지가 아닌 경우, 서버에 송신하는 가상 패키지 ID는 Null치가 된다.
세션 ID는 이후, 서버와 Java 애플리케이션의 교환의 진척 상황을 서버 측에서 관리하기 위해서 이용된다. 예를 들어, 과금 처리를 실시하지 않고 키 정보를 요구해 온 경우, 서버는 세션 ID를 확인하고, 이 세션은 아직 과금 처리가 끝나지 않았다고 판단하여 키 정보 요구를 거부할 수 있게 된다.
카피 관리정보 리스트는 카피 내용을 고유하게 식별하기 위해서 할당된 식별자(카피 콘텐츠 ID), 사용자가 이해 가능한 문자열로 기재된 콘텐츠 내용정보, 카피해야 할 파일(또는 디렉터리) 일람, 카피 처로 가능한 미디어 타입, 가상 패키지로서의 카피가 가능한지 여부의 정보(가상 패키지 상태), 카피할 수 있는 해상도, 카피에 필요한 용량, 및 가격정보가 포함되어 있다.
도 38에 카피 관리정보 리스트의 일 예를 나타낸다. 또, 카피해야 할 파일에 디렉터리가 지정되어 있는 경우, 그 디렉터리 아래의 모든 파일이 카피 대상이 되는 것을 나타낸다.
가상 패키지 상태는 오리지널 BD-ROM 및 가상 패키지의 어디에서도 카피를 허가하는 경우는“ Both”, 오리지널 BD-ROM만 카피를 허가하는 경우는“Off”, 가상 패키지만 카피를 허가하는 경우는“On”이 지정된다. 그리고, “On”의 경우에는 카피 가능한 가상 패키지의 가상 패키지 ID도 지정된다. 어느 가상 패키지도 카피 가능한 경우는“ID=ALL”가 지정된다.
Java 애플리케이션은 이 카피 관리정보 리스트를 기초로 카피 가능한 콘텐츠의 내용을 사용자에게 제시하기 위한 화면을 표시한다(도 39(b)에 화면표시의 일 예를 나타낸다). 또, 복수의 카피 처 후보가 있는 경우에는 카피 처 후보를 사용자에게 제시한다(도 39(c)에 화면표시의 일 예를 나타낸다).
Java 애플리케이션은 사용자의 선택을 기초로 카피하는 콘텐츠 및 카피 처의 미디어를 결정한다. 이때, MCMediaInfo#getFreeSpace()에서 얻을 수 있는 빈 용량과 카피관리정보에 기재되어 있는 필요 용량을 비교하여 카피 처 후보의 용량이 부족하다고 판단하는 경우에는 카피 처 후보로부터 용량 부족의 미디어를 제외하거나 또는 사용자에게 경고를 재촉하는 등을 하여도 좋다.
카피하는 콘텐츠 및 카피 처의 미디어가 결정되고, 카피하는 콘텐츠가 유료인 경우, 사용자는 과금 정보의 입력이 필요해진다(도 39(d)에 화면표시의 일 예를 나타낸다). 과금 정보로는 크레디트 번호나 사용자 ID 등이 있다. 과금이 필요하지 않은 경우에는 과금 정보의 입력을 없음으로 하여도 좋고, 카피 횟수의 카운트만을 체크하여도 좋다. 사용자의 과금 정보 입력이 종료하면, Java 애플리케이션은 사용자가 선택한 콘텐츠에 대응하는 카피 콘텐츠 ID, 카피 처의 미디어 타입, 과금 정보, 및 세션 ID를 서버에 송신한다. 서버는 이러한 데이터가 정당하다고 판단한 경우에는 Java 애플리케이션에 OK를 통지한다.
서버로부터 OK의 통지를 수신하면, Java 애플리케이션은 키 정보의 요소 데이터 취득을 실시한다. 키 정보의 요소 데이터란 카피 원의 시리얼번호, 카피 처의 미디어 ID, 및 Nonce이다.
또, 카피 원의 시리얼번호는 ManagedCopy#getPMSN()를 호출함으로써 얻을 수 있다. 카피 처의 미디어 ID, 및 Nonce치는 대응하는 카피 처 미디어의 MCMediaInfo#getUniqueId()를 호출함으로써 얻을 수 있다.
Java 애플리케이션이 시리얼번호, 미디어 ID, Nonce, 및 세션 ID를 서버에 보내면, 서버는 송신된 키 정보의 요소 데이터와 서버가 갖는 비밀 키로부터 키 정보를 생성하고, Java 애플리케이션에 키 정보를 보낸다.
Java 애플리케이션은 서버로부터 키 정보를 수신하면, 카피 대상이 되는 카피관리정보 및 키 정보를 매니지드 카피 제어부에 인도한다. 이러한 데이터의 인도는 카피관리정보에 대해서는 ManagedCopy#setCopyInfo(byte[])의 인수에 카피관리정보를 지정하여 호출하고, 키 정보에 대해서는 MCMediaInfo#setSignature(byte[])의 인수에 키 정보를 지정하여 호출함으로써 매니지드 카피 제어부로의 인도가 이루어진다.
카피관리정보 및 키 정보의 인도가 완료하면, ManagedCopy#startMC(MCMediaInfo)를 호출함으로써 매니지드 카피 제어부에 의한 데이터 카피가 개시된다.
매니지드 카피 제어부에 의한 데이터 카피를 실시하고 있는 동안, Java 애플리케이션은 MCProgress#getMCProgress()를 호출함으로써 카피의 진척 상황을 파악할 수 있다.
도 40은 카피의 진척 상황을 화면표시하는 일 예를 나타내는 도면이다. Java 애플리케이션은 남은 바이트 수, 카피가 완료된 바이트 수를 알 수 있으므로 거기에서부터 대략적인 남은 시간을 판단할 수 있다.
또, MCMediaInfo#addMCListener()를 호출하고, 매니지드 카피 상태 천이 통지를 수신하는 리스너를 등록함으로써 카피의 개시 및 종료 통지를 수신할 수 있다. 그렇게 하면, 카피 종료 통지를 수신할 때까지 진척 바를 표시하거나 신작 소개 등의 광고 표시를 할 수 있다. 그 외에는 간단한 게임 애플리를 실시하는 것 등도 생각할 수 있다.
또, 카피에 실패한 경우에도 통지를 수신할 수 있으므로, 예를 들어 미디어가 강제적으로 인출되는 등에 의해 카피에 실패한 경우, Java 애플리케이션은 카피 실패 통지를 수신하고, 과금 처리를 취소하는 등의 대응을 하는 것도 가능하다.
등록한 리스너가 카피 종료 통지를 수신하면, Java 애플리케이션은 매니지드 카피가 완료했다고 판단하고, 완료한 매니지드 카피의 세션 ID를 서버에 송신한다.세션 ID를 수신한 서버는 이 세션의 매니지드 카피가 완료했다고 판단하고, 세션 ID의 회수를 실시한다.
도 41은 Java 애플리케이션에 의한 매니지드 카피 제어의 플로차트이다.
먼저, Java 애플리케이션은 ManagedCopy#getMCMediaInfoList()를 호출하고, 현재 카피 처 후보가 되는 미디어가 존재하고 있는지를 체크한다(S901). 카피 처 후보가 되는 미디어가 존재하면, Java 애플리케이션은 DiscID, 가상 패키지 ID, 및 카피 처 후보가 되는 미디어의 미디어 타입 일람을 서버에 송신한다. 그리고, 이러한 데이터를 기초로 서버에서 생성되는 카피 관리정보 리스트와 세션 ID를 서버로부터 수신한다(S902).
카피 관리정보 리스트를 취득하면, 카피 관리정보 리스트를 기초로 카피 처 미디어, 및 카피 원 콘텐츠를 선택한다(S903). 선택 방법은 Java 애플리케이션 자신이 선택해도 좋고, 사용자에게 카피 가능 콘텐츠 및 미디어 일람을 제시하여 거기에서 사용자에게 선택하도록 해도 좋다. 도 39(b) 및 (c)에 사용자에게 카피 가능 콘텐츠 및 미디어 일람을 제시하는 경우의 일 예를 나타낸다.
또, 미디어명 뿐만이 아니라, MCMediaInfo#getFreeSpace()로부터 빈 용량을 체크하여, 빈 용량도 더 표시할 수 있다. 또, 카피관리정보에 기재되어 있는 카피 처 미디어에 필요한 용량을 표시해도 좋다. 또, 카피관리정보에 기재되어 있는 필요한 용량을 그대로 표시하는 것이 아니라, 카피 원의 파일 사이즈로부터 필요한 용량을 계산하고, 계산된 값을 표시해도 좋다.
카피에 필요한 용량의 계산은 Java 애플리케이션으로 해도 좋고, 재생장치 측에서 계산한 값을 Java 애플리케이션이 참조하여도 좋다. 특히, 가상 패키지로 카피하는 경우나 스트림을 재압축해서 보존하는 경우는, 파일 사이즈 및 파일 수의 변경이 수반되므로, 이 경우는 재생장치에서 필요 용량을 계산하는 것이 효율적이다.
Java 애플리케이션은 재생장치에서 계산한 필요 용량을 MCMediaInfo#getRequiredSpace()로부터 취득할 수 있다. 오리지널 BD-ROM과 가상 패키지의 양쪽의 카피가 서포트되어 있는 경우, 즉, 카피관리정보의 가상 패키지 상태가“Both”로 되어 있는 경우에는 MCMediaInfo#getRequiredSpace()는 오리지널 BD-ROM로서의 카피에 필요한 용량과 가상 패키지로서의 카피에 필요한 용량의 2개의 값을 통지한다.
S903에서 선택된 카피 처 미디어에 카피에 필요한 빈 용량이 존재하는지 확인한다(S904). 이 확인은 앞에서 설명한 MCMediaInfo#getFreeSpace(), 및 MCMediaInfo#getRequiredSpace() 등을 이용해서 실시한다.
카피에 필요한 빈 용량이 있으면, 계속해서 과금 처리를 한다(S905). 여기서 말하는 과금 처리란, 서버에 접속해서 크레디트 번호 등의 인증을 실시하는 일련의 처리를 가리킨다. 특히, 과금이 필요하지 않은 경우에는, 이 스텝을 스킵 해도 좋고, 과금은 실시하지 않고 단지 카피 횟수의 카운트만을 체크해도 좋다.
과금 처리가 성공하면, 키 정보의 요소 데이터의 취득을 실시한다(S906). 키 정보의 요소 데이터란, 카피 원 미디어의 시리얼번호, 카피 처 미디어의 미디어 ID 및 Nonce이다. 키 정보의 요소 데이터의 취득이 완료하면, 이들 요소 데이터를 서버에 송신한다. 서버는 이들 요소 데이터와 서버가 갖는 비밀 키로부터 키 정보를 생성하고, 생성한 키 정보를 Java 애플리케이션에 보낸다. Java 애플리케이션은 송신된 키 정보를 수신하면, 카피 대상이 되는 카피관리정보 및 키 정보를 매니지드 카피 제어부에 인도한다(S907).
이러한 데이터의 인도는 카피관리정보에 대해서는 ManagedCopy#setCopyInfo(byte[])의 인수에 카피관리정보를 지정해서 호출하고, 키 정보에 대해서는 MCMediaInfo#setSignature(byte[])의 인수에 키 정보를 지정해서 호출함으로써 매니지드 카피 제어부로의 인도가 이루어진다.
카피관리정보 및 키 정보의 인도가 완료하면, ManagedCopy#startMC(MCMediaInfo)의 API를 호출함으로써 매니지드 카피 제어부에 의한 데이터 카피가 개시된다(S908).
도 42는 매니지드 카피 제어부에 의한 데이터 카피의 플로차트이다. 이 플로차트는 도 41의 S908를 상세화한 것이다.
매니지드 카피 제어부에 의한 데이터 카피를 개시하기 전에 Java 애플리케이션으로부터의 디스크 액세스 제한을 실시한다(S1001). Java 애플리케이션으로부터의 디스크 액세스를 제한하는 이유는 매니지드 카피 제어부의 처리와 Java 애플리케이션의 파일 I/O 처리나 스트림의 디코드 처리가 충돌하여 자원 부족에 의해 카피에 실패하는 것을 방지하기 위해서이다. Java 애플리케이션으로부터의 디스크 액세스를 제한함으로써 매니지드 카피 제어부가 배타적으로 파일 시스템이나 디코더 및 인코더 등을 이용할 수 있다.
디스크 액세스 제한을 실시한 후, 현재의 재생상태가 오리지널 BD-ROM인지 가상 패키지인지를 확인하고, 카피 대상 콘텐츠가 가상 패키지에 대응하는지를 확인한다(S1002). 그리고, 확인 결과에 따라 가상 패키지 구축을 실시한다. 카피관리정보의 가상 패키지 상태가“On”이고, 또한, 가상 패키지 ID의 지정이 있으며, 그것이 현재의 가상 패키지 ID와 다른 경우에는 카피 불가로 데이터 카피의 실패가 된다.
카피관리정보의 가상 패키지 상태가 “Both”, “Off”, 또는“On”이고, 또한, 가상 패키지 ID가 현재의 가상 패키지와 일치하고 있는 경우는, 카피 가능으로 Java 애플리케이션에 대하여 카피 개시 통지를 한다(S1003). 카피 개시 통지 후, 카피 원으로부터 데이터의 판독하고, 카피 처로의 데이터 기록을 개시한다(S1004). 카피 대상으로 되어 있는 데이터의 판독 기록이 모두 완료하면, 스텝 S1001에서 실시한 디스크 액세스 제한을 해제하고(S1005), Java 애플리케이션에 대하여 카피 완료 통지를 실시하며(S1006), 매니지드 카피 제어부에서의 카피 처리를 완료한다. 또, 스텝 S1004의 카피가 도중에서 실패한 경우는, 디스크 액세스 제한을 해제한 후, Java 애플리케이션에 대해 카피 실패 통지를 실시한다.
도 43은 카피 실시 중의 디스크 액세스 제한에 대하여 나타내는 도면이다. Java 애플리케이션은 매니지드 카피 제어부에 의한 카피 실시 전에는 미디어 재생 모듈(702)를 호출하여 스트림의 재생을 실시하거나 파일 I/O 모듈(705)을 호출하여 BD-ROM 상의 파일에 액세스할 수 있다.
한편, 매니지드 카피 제어부에 의한 카피 실시가 개시되면, 도 44에 나타낸 것과 같이, 미디어 재생 모듈(702)로부터의 스트림 재생, 및 파일 I/O 모듈(705)로부터의 파일 액세스에 제한이 가해진다. Java 애플리케이션에 대해서는 카피 실시 중은 가상적으로 디스크가 인출된 것과 같은 제한이 더해지게 된다.
그러나, 가상적으로 디스크가 인출된 상태가 되고, 디스크 액세스를 할 수 없었다고 하더라도, 캐시 메모리 상에 있는 이미지 데이터나 네트워크 I/F를 이용한 서버 접속은 가능하므로 간단하고 쉬운 게임이나 광고 및 선전 표시를 할 수 있다.이 제한은 매니지드 카피 제어부에 의한 카피 실시가 완료한 시점에서 해제된다.
Java 애플리케이션은 MCMediaInfo#addMCListener()를 호출하고, 매니지드 카피 상태 천이 통지를 수신하는 리스너를 등록함으로써 카피의 개시/종료를 알뿐만 아니라, 디스크 액세스 제한의 개시·종료도 알 수 있다. 또, 카피 실시의 개시/종료에 수반하여 Java 애플리케이션에 대해서 가상적인 디스크 인출/삽입이 이루어지므로, Java 애플리케이션에 대해서 명시적으로 디스크가 인출되었음을 알리기 위해서 카피 실시시에는 카피 개시 통지와 함께 디스크 인출 통지를 하여도 좋다. 또, 카피 종료시도 마찬가지로 카피 종료 통지와 함께 디스크 삽입 통지를 하여도 좋다.
여기에서는, 파일 I/O 모듈(704)이 어떻게 해서 Java 애플리케이션으로부터의 재생 요구를 거부하는 상태가 되는지를 설명한다.
재생장치는 Linux 등의 오퍼레이션 시스템을 채용하고 있으므로 "/mount point BD/BDMV"의 커멘드를 발행함으로써 BD-ROM(105)(카피 원 미디어)의 드라이브에 BDMV 디렉터리를 할당하고 있다. 그리고, "/mount point SD/BUDA"의 커멘드를 발행함으로써 리무버블 미디어(104)(카피 처 미디어)에 BUDA 디렉터리를 할당할 수 있다. 이러한 마운트 조작에 의해, 판독전용 BD, 로컬 스토리지, 기록형 BD를 가상적인 파일 시스템에 할당하여 Java 애플리케이션에 의한 사용에 제공하고 있다. 마운트를 해제하는 조작, 즉, 언마운트 조작을 실행하면, Java 애플리케이션은 가상적인 파일 시스템을 통해서 판독전용 BD, 로컬 스토리지, 기록형 BD를 인식할 수 없게 되므로, Java 애플리케이션으로부터의 재생 요구를 거부하는 상태로 할 수 있다.
다음에, 미디어 재생 모듈(702)이 어떻게 해서 Java 애플리케이션으로부터의 재생 요구를 거부하는 상태가 되는지를 설명한다. Java 애플리케이션에 의한 플레이 리스트의 재생은 Java Media FrameWork(JMF) 플레이어 인스턴스의 생성을 Java 애플리케이션이 실행함으로써 이루어진다. 이 생성은 플레이 리스트 정보 파일을 지정한 JMF 플레이어 인스턴스의 생성에 의해서 이루어진 때, 미디어 재생 모듈(702)이 JMF 플레이어 인스턴스를 구축함으로써 이루어진다. 한편, Java 애플리케이션이 JMF 플레이어 인스턴스의 생성을 명했음에도 불구하고 미디어 재생 모듈(702)이 플레이 리스트 정보 파일의 JMF 플레이어 인스턴스를 생성하지 않고 에러를 통지하면, Java 애플리케이션에 의한 요구가 인정되지 않는다. 따라서 미디어 재생 모듈(702)은 Java 애플리케이션으로부터의 재생 요구를 거부하는 상태가 된 때, Java 애플리케이션으로부터의 요구가 있어도 JMF 플레이어 인스턴스를 생성하지 않는다.
이어서, 파일 I/O 모듈(704) 및 미디어 재생 모듈(702)에 의한 MCMediaInfo_addMCListener의 용법에 대해 보충 설명한다.
매니지드 카피의 개시시에 파일 I/O 모듈(704) 및 미디어 재생 모듈(702)을 Java 애플리케이션으로부터의 요구를 거부하는 상태로 천이시키려면, 파일 I/O 모듈(704) 및 미디어 재생 모듈(702)에 MCMediaInfo_addMCListener(MCListener)를 콜 시키고, 매니지드 카피 상태 천이 통지를 받는 리스너를 파일 I/O 모듈(704) 및 미디어 재생 모듈(702)에 등록한다.
그렇게 하면, 매니지드 카피 제어부에 의한 매니지드 카피의 개시가 파일 I/O 모듈(704) 및 미디어 재생 모듈(702)의 이벤트 리스너에게 통지되므로, 이러한 이벤트 리스너에게 매니지드 카피의 개시가 통지된 때, 파일 I/O 모듈(704) 및 미디어 재생 모듈(702)은 Java 애플리케이션으로부터의 요구를 거부하는 상태로 천이 한다. 그리고, Java 애플리케이션으로부터 파일 액세스가 요구된 경우, 또는 JMF 플레이어 인스턴스의 생성이 요구된 경우, 파일 I/O 모듈(704) 및 미디어 재생 모듈(702)은 이러한 요구에 대하여 에러 응답을 통지한다. 그러면, BD-ROM의 액세스 등이 매니지드 카피 제어와 Java 애플리케이션에서 경합하는 일은 없다.
한편, 정상 종료 또는 이상종료가 발생한 때, 이러한 종료는 파일 I/O 모듈(704) 및 미디어 재생 모듈(702)에 통지되므로, 파일 I/O 모듈(704) 및 미디어 재생 모듈(702)은 통상 상태로 천이한다. 그러면, Java 애플리케이션으로부터 파일 액세스가 요구된 경우, 또는 JMF 플레이어 인스턴스의 생성이 요구된 경우에 이러한 요구에 따라서 처리를 하게 된다.
이것은 어디까지나 파일 I/O 모듈(704) 및 미디어 재생 모듈(702)을 Java 애플리케이션으로부터의 요구를 거부하는 상태로 천이시키기 위한 소프트웨어 실장의 일 예이며, Java 애플리케이션으로부터 디스크 액세스 또는 재생이 요구된 때, 매니지드 카피가 이루어졌는지 여부를 파일 I/O 모듈(704) 및 미디어 재생 모듈(702)이 체크하여 Java 애플리케이션으로부터의 요구를 거부하는 상태로 천이해도 좋다.
이상과 같이, 파일 I/O 모듈(704) 및 미디어 재생 모듈(702)이 Java 애플리케이션으로부터의 재생 요구를 거부하는 상태가 된 경우, Java 애플리케이션은 판독전용 BD, 로컬 스토리지, 기록형 BD를 액세스할 수 없다. 그 대신에, BD-J 모듈의 캐시 메모리 내의 데이터를 이용할 수 있다.
BD-J 모듈 내의 캐시 메모리는 어느 타이틀이 현재 타이틀이 되었을 때, 그 현재 타이틀에 대응하는 BD-J 오브젝트의 캐쉬 관리정보에 의해서 지시되어 있는 아카이브 파일을 저장해 두기 위한 캐쉬이다.
여기에 저장된 아카이브 파일은 어느 타이틀이 현재 타이틀로 되어 있는 동안 유효하며, Java 애플리케이션은 BD-ROM나 로컬 스토리지를 액세스하지 않아도 이 캐쉬 내의 아카이브 파일에 포함되는 프로그램이나 데이터를 이용할 수 있다. 따라서 Java 애플리케이션은 BD-ROM이 이젝트 되어 있는 기간이라도 이 아카이브 파일 내의 데이터에 대해서는 이용할 수 있다.
도 45는 매니지드 카피시의 가상 패키지의 상태를 확인하는 플로차트이다. 이 플로차트는 도 42의 스텝 S1002를 상세화한 것이다.
먼저, 카피관리정보를 참조하여 카피가 허가되는 가상 패키지 상태를 확인한다(S1101). 가상 패키지 상태가“On”, 즉, 가상 패키지 상태에서만 카피가 가능한 경우, 카피관리정보에 기재되어 있는 가상 패키지 ID와 현재의 가상 패키지 ID가 일치하는가 여부를 확인한다(S1102). 가상 패키지 ID가 일치하고 있는 경우에는 카피 가능이라고 판정하고(S1104), 가상 패키지 ID가 일치하고 있지 않은 경우에는 카피 불가로 판정한다(S1103). 가상 패키지 ID의 불일치에 의해, 카피 불가로 판정된 경우에는 로컬 스토리지의 데이터가 카피 가능한 콘텐츠에 대응하고 있지 않은 취지를 사용자에게 통지해도 좋디(도 46에 통지방법의 일 예를 나타낸다).
카피관리정보에 기재되어 있는 가상 패키지 ID와 현재의 가상 패키지 ID가 일치하고 있으며, 가상 패키지에서의 카피가 가능으로 판정되면, 카피 처 미디어에는 BD-ROM 상의 오리지널 콘텐츠와 로컬 스토리지 상의 추가 콘텐츠가 머지 된 가상 패키지상의 가상적인 파일 구성의 데이터가 그대로 카피되게 된다(도 47 참조). 카피 처 미디어에는 가상 패키지 상에서는 가상적이었던 파일 구성이 실제의 파일 구성으로 미디어에 기록된다. 즉, 지금까지는 BD-ROM 상과 로컬 스토리지 상의 물리적으로 다른 2개의 미디어로 분산되어서 기록되고 있던 데이터가 매니지드 카피 후에는 하나의 미디어로 집약되게 된다.
지정된 콘텐츠가 가상 패키지에서의 카피를 허가하고 있지 않은 경우, 즉 카피관리정보의 가상 패키지 상태가“Off”의 경우(S1105), 먼저, 현재가 가상 패키지 상태인지 여부를 확인한다(S1106). 현재가 가상 패키지가 아닌 경우에는 카피 가능으로 판정한다(S1104).
이미 가상 패키지가 구축되어 있으면, 사용자에게 가상 패키지 해제 통지를한 후에(S1107), 가상 패키지의 해제를 실시한다(S1108). 사용자에게 가상 패키지 해제를 통지하는 일 예를 도 48에 나타낸다. 동 도면에 나타낸 것과 같이, 디스크 상의 데이터만 카피된다고 하는 내용의 메시지를 화면에 표시한다. 가상 패키지의 해제가 이루어지면, 카피 가능으로 판정한다(S1104).
또, 이 가상 패키지의 해제는 매니지드 카피를 위한 일시적인 것으로 하고, 매니지드 카피가 끝나면, 다시 가상 패키지를 재구축해도 좋다. 또, 억지로 가상 패키지를 해제하지 않고, 데이터 카피시에 가상 파일 시스템을 통하지 않고 직접 BD-ROM 상의 데이터를 판독함으로써 가상 패키지를 해제하지 않고 오리지널 BD-ROM으로서의 데이터 카피를 실시할 수도 있다.
지정된 콘텐츠가 가상 패키지에서의 카피 및 BD-ROM에서만의 카피의 모두를 허가하고 있는 경우, 즉, 카피관리정보의 가상 패키지 상태가“Both”인 경우(S1105), 먼저, 현재가 가상 패키지 상태인지 여부를 확인한다(S1106). 가상 패키지 상태가 아닌 경우, 가상 패키지의 구축이 가능한지 여부를 판단한다(S1109).가상 패키지의 구축이 불가능하다고 판단된 경우(S1110에서 No), BD-ROM 상의 데이터에서만 카피 가능으로 판정한다(S1104).
현재가 가상 패키지의 경우(S1106에서 Yes), 또는 오리지널 BD-ROM 상태이나, 가상 패키지의 구축이 가능한 경우(S1110에서 Yes), 사용자에게 가상 패키지로서 카피할지 오리지널 BD-ROM 데이터만으로 카피할지를 문의한다(S1111).
사용자에 대한 문의의 일 예를 도 49에 나타낸다. 도 49에서는 가상 패키지에서의 카피를 「갱신을 반영시켜서 카피」라고 표현하고, 오리지널 BD-ROM에서의 카피를 「디스크를 그대로 카피」라고 표현하고 있다. 이는 어디까지나 일 예에 지나지 않고, 표시하는 메시지의 표현은 다양한 표현을 생각할 수 있다.
스텝 S1111에서 사용자가 오리지널 BD-ROM로 카피하는 것을 선택한 경우에는 가상 패키지를 해제하고(S1108), 오리지널 BD-ROM 상 데이터에서만 카피가 가능하다고 판정한다(S1104).
스텝 S1111에서 사용자가 가상 패키지로 카피하는 것을 선택한 경우, 아직 가상 패키지가 구축되어 있지 않으면 가상 패키지를 구축한다(S1112). 다음에, 구축한 가상 패키지로 카피를 할 때, 카피 처 미디어에 필요한 빈 용량을 확인한다(S1113). 카피 처 미디어에 필요한 빈 용량이 존재한다고 판단한 경우, 가상 패키지로 카피 가능이라고 판정한다(S1104). 가상 패키지에서의 카피에 필요한 용량이 카피 처 미디어에 존재하지 않는 경우, 사용자에게 카피 자체를 취소하거나 또는 가상 패키지에서의 카피를 멈추고 오리지널 BD-ROM로서의 카피를 실시할지를 문의한다(S1114). 사용자에 대한 문의의 일 예를 도 50에 나타낸다.
사용자가 매니지드 카피 자체의 취소를 선택한 경우, 카피 불가로 판정하고(S1103), 가상 패키지의 상태를 확인한다. 그 후, 도 42의 S1005로 이어진다. 사용자가 오리지널 BD-ROM로서의 카피를 선택한 경우, 가상 패키지를 해제하고(S1108), 오리지널 BD-ROM 상 데이터만 카피가 가능하다고 판정한다(S1104).
도 51은 가상 패키지 구축 가부 판정의 플로차트이다. 이 플로차트는 도 45의 스텝 S1109를 상세화한 것이다. 스텝 S101 ~ S106까지는 도 33에서 설명한 처리와 동일하다.
삽입되어 있는 BD-ROM에 대응하는 머지 관리정보 파일, 서명정보파일이 존재하고, 또한 이들 서명 검증이 정당하다고 판단되며, 머지 관리정보에 기록되어 있는 추가 콘텐츠 파일이 모두 존재한다고 판단한 경우, 가상 패키지 구축 가능으로 판정한다(S1202).
만약, 상기의 판정(스텝 S104, S105, S106) 중 어느 하나가 NG인 경우, 가상 패키지 구축 불가능으로 판정한다(S1201).
이상과 같이, 본 실시 예에 의하면, 카피 원 데이터가 복수 미디어에 산재되어 있는 경우에도 가상 파일 시스템에서 1개의 미디어 상에 있는 것처럼 가장한 상태로 매니지드 카피를 실행하므로, 복수 미디어에 산재하는 데이터의 매니지드 카피가 가능해지며, 카피 후의 데이터는 1개의 미디어로 집약할 수 있다.
(실시 예 5)
실시 예 4에서는 주로 Java 애플리케이션이 매니지드 카피를 제어하고 있었다. 이에 대하여, 실시 예 5에서는 Java 애플리케이션이 존재하지 않은 BD-ROM의 경우, 즉 HDMV 모드만으로 구성된 BD-ROM에 대하여 매니지드 카피를 실시하는 실시예에 대하여 설명한다.
실시 예 4에서는 BD-ROM 상의 Java 애플리케이션이 매니지드 카피를 개시하기 위한 선택 화면을 준비하고 있으나, 실시 예 5에서는 재생장치가 미리 준비되어 있는 메뉴 화면이 준비되어 있다.
도 52는 실시 예 5에서의 매니지드 카피 개시 화면의 일 예를 나타내는 도면이다. 사용자가 재생장치의 메뉴 화면에서 매니지드 카피를 선택하면, 매니지드 카피가 개시된다.
도 53은 재생장치의 매니지드 카피 설정 화면의 일 예를 나타내는 도면이다.재생장치 측에서 매니지드 카피를 제어하는 경우, 미리 사용자가 원하는 카피방법을 재생장치 측에 등록해 두어도 좋다.
예를 들어, 매니지드 카피를 실시할 때, 로컬 스토리지 상에 추가 콘텐츠가 존재하면, 그것들도 반드시 카피 대상으로 포함시키고 싶은 경우, 사용자는 도 53에서 (a)를 선택한다. 로컬 스토리지 상에 추가 콘텐츠가 존재하는/하지 않음에 관계없이 반드시 BD-ROM 상의 데이터만을 카피 대상으로 하는 경우에는, 사용자는 도 53에서 (b)를 선택한다. 로컬 스토리지 상의 추가 콘텐츠를 이용할지 여부를 매회 판단하고 싶은 경우에는 사용자는 도 53에서 (c)를 선택한다.
도 54는 실시 예 5에서의 매니지드 카피의 플로차트이다. 도 52에서 설명한 것과 같이 재생장치의 메뉴 화면 등에서 매니지드 카피가 선택되면, 매니지드 카피가 개시된다.
사전에 사용자가 「로컬 스토리지를 이용하지 않는다」를 선택한 경우(S1301), 가상 패키지의 구축을 하지 않고, 오리지널 BD-ROM로 매니지드 카피의 처리가 개시된다(S1307).
스텝 S1307에서는 실시 예 4의 도 41에서 설명한 플로차트와 동등한 처리가 이루어진다. 이때, 실시 예 4의 도 41의 플로차트에서 애플리케이션에서 처리하고 있던 내용은 재생장치 측에서 처리되게 된다. 서버와의 접속은 미리 재생장치에 포함되어 있는 URL와 프로토콜을 이용한다.
스텝 S1301에서 사용자가 「로컬 스토리지를 이용하지 않는다」를 선택하고 있지 않은 경우, 가상 패키지 구축이 가능한지 여부를 판단한다(S1302). 스텝 S1302에서 이루어지는 처리는 실시 예 4의 스텝 S1109의 처리와 동등하다. 스텝 S1303에서 가상 패키지 구축 불가라고 판단된 경우에는, 오리지널 BD-ROM로 매니지드 카피의 처리가 개시된다(S1307).
스텝 S1303에서 가상 패키지 구축이 가능하다고 판단하고, 또한, 사용자가 사전에 로컬 스토리지 이용을 선택하고 있는 경우에는, 가상 패키지를 구축한 후(S1306), 매니지드 카피의 처리가 개시된다(S1307). 사용자가 로컬 스토리지의 이용에 관해서 매회 문의하는 것을 선택하고 있는 경우, 사용자에게 로컬 스토리지를 이용할지를 문의한다(S1305). 도 55에 로컬 스토리지 이용의 문의 화면의 일 예를 나타낸다.
스텝 S1305에서 사용자가 로컬 스토리지를 이용하지 않는다고 선택한 경우, 오리지널 BD-ROM로 매니지드 카피의 처리가 개시된다(S1307). 스텝 S1305에서 사용자가 로컬 스토리지를 이용한다고 선택한 경우, 가상 패키지를 구축한 후(S1306), 매니지드 카피의 처리가 개시된다.
또, 스텝 S1307의 매니지드 카피 처리 중에는 실시 예 4에서 설명한 것과 같이, 스텝 S1111의 처리(다시 사용자에게 가상 패키지를 사용할지 문의하는 처리)를 포함한다. 실시 예 5에서는 이미 사용자에게 문의하고 있으므로, 스텝 S1111의 처리를 생략할 수 있다. 물론, 만약을 위해 다시 사용자에게 문의해도 좋다.
이상 설명한 것처럼, 본 실시 예에 의하면, Java 애플리케이션을 준비하고 있지 않은 미디어에서도 재생장치 내에서 가상 패키지를 구축하고, 가상 파일 시스템에서 1개의 미디어 상에 있는 것처럼 가장한 상태에서 매니지드 카피를 실행하므로, 복수 미디어에 산재하는 데이터의 매니지드 카피가 가능해지며, 카피 후의 데이터는 1개의 미디어로 집약할 수 있다.
(그 외의 변형 예)
본 발명에 관한 재생장치를 상기의 실시 예에 의거하여 설명했으나, 본 발명은 상기의 실시 예에 한정되지 않음은 당연하다.
상기 실시 예에서는 기록매체를 재생하는 재생 기능을 갖는 재생장치에 대하여 설명했으나, 본 발명의 재생장치에 한정되는 것은 아니다. 본 발명의 재생장치는, 예를 들어, 녹화기능을 갖는 녹화재생장치라도 좋다. 휴대타입의 재생장치가 아니라 거치 타입의 재생장치는 재생 기능에 더하여 녹화기능도 구비하는 것이 일반적이다. 재생장치가 녹화기능을 갖고 있으면, 비트 스트림을 그대로 카피하는 소위 비트 바이 비트 카피(bit-by-bit copy)에 더하여, 데이터 형식이나 부호화 방식을 변경해서 카피할 수 있다(이들은 「트랜스 코드」라 불린다).
상기 실시 예에서는 가상 머신의 프로그램 언어로 Java를 이용했으나, Java가 아니라 UNIX(등록상표), OS 등에서 사용되고 있는 B-Shell나, Perl Script, ECMA Script 등, 다른 프로그램 언어를 이용해도 좋다.
또, 상기 실시 예에서는 BD-ROM을 재생하는 재생장치에 대하여 설명했으나, 기록 가능한 광 기록매체에 상술한 실시 예에서 설명한 BD-ROM 상의 필요한 데이터가 기록되어 있는 경우도 본 발명에 포함된다. 그리고, 그러한 경우라도 상기 실시 예와 동일한 효과를 얻는 것은 당연하다.
본 발명의 재생장치는 기록매체에 기록되어 있는 영상 데이터를 당해 기록매체 이외의 다른 기록매체에 기록하는 기술(매니지드 카피)에서 부분적 카피의 경우의 규격 호환을 유지하는 기술로 이용할 수 있다. 특히, 영상 데이터(콘텐츠)의 제작에 관계되는 영화 산업 및 민생 기기 산업에서 이용할 수 있다.
101 재생장치
102 리모컨
103 출력 모니터
104 리무버블 미디어
105 BD-ROM
106 외부 부착 디스크 드라이버
401 판독전용 BD 드라이브
402 판독 제어부
403 디 멀티플렉서
404 비디오 디코더
405 비디오 플레인
406 오디오 디코더
407 이미지 메모리
408 이미지 플레인
409 이미지 디코더
410 가산기
411 정적 시나리오메모리
412 동적 시나리오메모리
413 HDMV 모듈
414 BD-J 모듈
415 UO 검지모듈
416 모드 관리 모듈
417 디스패처
418 렌더링 엔진
419 기록 제어부
420 AV 재생 라이브러리
421 네트워크 인터페이스
422 로컬 스토리지
423 매니지드 카피 제어부
424 가상 파일 시스템
601 시리얼번호 판독부
602 미디어 ID 판독부
603 미디어 상태 관리부
604 카피 실행부
605 카피 상태 통지부
606 카피 진척 관리부
607 Nonce 생성 기록부
608 키 정보 기록부
609 맵핑 데이터 처리부
610 빈 용량 판정부
611 카피 원 파일 정보 보존부
612 카피 원 파일 정보 판독부
613 인증부
620 데이터베이스 파일 생성부
701 Java 애플리케이션
702 미디어 재생 모듈
703 가상 파일 시스템 관리 모듈
704 매니지드 카피 모듈
705 파일 I/O 모듈
706 네트워크 모듈
707 애플리케이션 매니저
801 카피 원 디스크
802 카피 처 디스크

Claims (20)

  1. 인덱스테이블 파일과, 당해 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일과, 상기 실제 데이터 파일의 일부를 정의하는 타이틀을 포함하는 부분 카피용 인덱스테이블 파일을 기억하고 있는 제 1 기록매체를 장전한 제 1 드라이브장치로부터 상기 제 1 기록매체 상의 파일을 판독하여 제 2 드라이브장치에 장전한 제 2 기록매체에 카피하는 카피기능부 재생장치로,
    상기 부분 카피용 인덱스테이블 파일과 당해 부분 카피용 인덱스테이블 파일에서 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일과의 상기 제 2 기록매체용의 파일명을 기재한 파일 맵핑정보를 상기 제 1 기록매체에서 취득하여 기억하는 기억부와,
    상기 제 1 기록매체 상의 일부의 파일을 카피하는 경우에, 상기 부분 카피용 인덱스테이블 파일과 당해 부분 카피용 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일을 상기 파일 맵핑정보에 기재되어 있는 파일 명으로 변경하는 맵핑 데이터 처리부와,
    상기 부분 카피용 인덱스테이블 파일과 당해 부분 카피용 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일을 변경 후의 파일명으로 상기 제 2 기록매체에 카피하는 카피 실행부를 구비하며,
    상기 제 1 기록매체는 판독 전용 기록매체인 것을 특징으로 하는 카피기능부 재생장치.
  2. 제 1 항에 있어서,
    상기 인덱스테이블 파일은 재생장치에 의해 최초로 판독되는 고정의 파일명으로 상기 제 1 기록매체에 기록되고,
    상기 부분 카피용 인덱스테이블 파일은 상기 고정의 파일명과 다른 파일명으로 상기 제 1 기록매체에 기록되며,
    상기 파일 맵핑정보는 상기 부분 카피용 인덱스테이블 파일의 상기 제 2 기록매체용의 파일명으로 상기 고정의 파일명을 기억하고 있고,
    상기 카피 실행부는 상기 제 1 기록매체 상의 상기 부분 카피용 인덱스테이블 파일을 재생장치에 의해 최초로 판독되는 파일명인 상기 고정의 파일명으로 상기 제 2 기록매체에 카피하는 것을 특징으로 하는 카피기능부 재생장치.
  3. 제 2 항에 있어서,
    상기 카피기능부 재생장치는,
    외부 서버로부터 상기 제 1 기록매체에 대응하는 파일 맵핑정보를 포함하는 카피관리정보를 취득하는 네트워크 접속부와,
    상기 제 1 기록매체 상의 모든 파일을 카피할지 일부의 파일을 카피할지를 선택하는 선택부를 구비하고,
    상기 기억부는 상기 외부 서버로부터 취득한 상기 카피관리정보를 기억하며,
    상기 맵핑 데이터 처리부는 상기 선택부가 일부의 파일의 카피를 선택한 경우에 상기 외부 서버로부터 취득한 상기 제 1 기록매체에 대응하는 파일 맵핑정보를 이용한 파일명의 변경처리를 하는 것을 특징으로 하는 카피기능부 재생장치.
  4. 제 3 항에 있어서,
    상기 카피기능부 재생장치는,
    상기 제 1 기록매체 상에 기록된 애플리케이션 관리정보에 따라서 애플리케이션의 실행을 제어하는 애플리케이션 실행부와,
    상기 애플리케이션으로부터의 지시에 따라서 디지털 스트림의 재생을 제어하는 재생제어부를 구비하고,
    상기 제 1 기록매체 상의 애플리케이션과 상기 디지털 스트림을 연동시키면서 재생하는 것을 특징으로 하는 카피기능부 재생장치.
  5. 제 1 항에 있어서,
    상기 카피기능부 재생장치는,
    상기 제 1 기록매체에 기록되어 있는 파일과 로컬 스토리지에 기록되어 있는 파일을 머지 관리정보에 따라서 조합함으로써 1개의 패키지로서 판독을 가능하게 하는 패키지 정보를 생성하는 가상 파일 시스템을 더 구비하고,
    상기 가상 파일 시스템은,
    상기 제 1 기록매체에 대응하는 머지 관리정보가 상기 로컬 스토리지에 존재하거나, 또한 존재하는 경우에는 상기 머지 관리정보가 정당한가를 확인한 후에 상기 패키지 정보를 생성하며,
    상기 카피 실행부는 생성된 상기 패키지 정보에 의거하여 상기 제 1 기록매체 상의 파일과 상기 로컬 스토리지 상의 파일을 조합시켜서 상기 제 2 기록매체에 카피하는 것을 특징으로 하는 카피기능부 재생장치.
  6. 제 5 항에 있어서,
    상기 카피기능부 재생장치는,
    상기 제 1 기록매체에 대응하는 상기 머지 관리정보가 상기 로컬 스토리지에 존재하고, 또한, 상기 머지 관리정보가 정당하다고 확인된 경우에, 카피 실행 전에, 상기 로컬 스토리지에 상기 제 1 기록매체 상의 파일에 대응하는 파일이 존재하는 것을 사용자에게 통지하는 통지부를 더 구비하는 것을 특징으로 하는 카피기능부 재생장치.
  7. 제 6 항에 있어서,
    상기 카피기능부 재생장치는,
    카피 대상 파일로 상기 로컬 스토리지 상의 파일을 포함시키는가 여부의 사용자에 의한 선택을 접수하는 접수부를 더 구비하고,
    상기 통지부에 의한 통지 후, 상기 접수부가 카피 대상 파일에 상기 로컬 스토리지 상의 파일을 포함시키는 취지의 선택을 접수한 경우, 상기 가상 파일 시스템은 상기 머지 관리정보에 의거하여 패키지 정보를 생성하고, 상기 카피 실행부는 생성된 패키지 정보에 의거하여 상기 제 1 기록매체 상의 파일과 상기 로컬 스토리지상의 파일을 조합시켜서 상기 제 2 기록매체에 카피하며, 상기 접수부가 상기 로컬 스토리지 상의 파일을 포함시키지 않는 취지의 선택을 접수한 경우, 상기 카피 실행부는 상기 제 1 기록매체 상의 파일만 상기 제 2 기록매체에 카피하는 것을 특징으로 하는 카피기능부 재생장치.
  8. 제 5 항에 있어서,
    상기 카피기능부 재생장치는,
    상기 패키지 정보에 의거하여 상기 제 1 기록매체 상의 파일과 상기 로컬 스토리지 상의 파일을 조합시켜서 카피하는 경우에 필요한 용량이 카피 처(copy destination)인 상기 제 2 기록매체의 빈 용량을 초과하고 있으며, 또한, 상기 제 1 기록매체 상의 파일만 카피하는 경우에 필요한 용량이 상기 제 2 기록매체의 빈 용량 이하인 경우,
    상기 카피 실행부는 상기 제 1 기록매체 상의 데이터만을 상기 제 2 기록매체에 카피하는 것을 특징으로 하는 카피기능부 재생장치.
  9. 제 5 항에 있어서,
    상기 로컬 스토리지는 상기 머지 관리정보와 상기 로컬 스토리지 상의 파일을 이용한 카피를 허가하는지 여부의 정보를 포함한 카피관리정보를 기억하고 있고,
    상기 카피 실행부는 상기 카피관리정보가 상기 로컬 스토리지 상의 파일을 이용한 카피가 허가되지 않는 취지를 나타내는 정보를 포함하는 경우, 상기 제 1 기록매체 상의 파일만 상기 제 2 기록매체에 카피하는 것을 특징으로 하는 카피기능부 재생장치.
  10. 제 9 항에 있어서,
    상기 카피기능부 재생장치는,
    상기 제 1 기록매체에 대응하는 상기 머지 관리정보가 상기 제 2 기록매체에 존재하고, 또한, 상기 머지 관리정보가 정당하다고 확인된 경우라도, 상기 카피관리정보가 상기 로컬 스토리지 상의 파일을 이용한 카피가 허가되지 않는 취지를 나타내는 정보를 포함하는 경우, 상기 로컬 스토리지 상의 파일은 카피되지 않는다는 것을 사용자에게 통지하는 통지부를 더 구비하는 것을 특징으로 하는 카피기능부 재생장치.
  11. 제 5 항에 있어서,
    상기 가상 파일 시스템은 상기 머지 관리정보의 정당성의 확인으로 상기 머지 관리정보가 개찬되어 있지 않은 것의 확인, 및 상기 머지 관리정보에서 지정되어 있는 파일이 상기 로컬 스토리지에 존재하고 있다는 확인을 하는 것을 특징으로 하는 카피기능부 재생장치.
  12. 로컬 스토리지 및 제 1 드라이브장치에 장전된 제 1 기록매체 중 어느 하나에 기록되어 있는 인덱스테이블 파일과, 당해 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일과, 상기 실제 데이터 파일의 일부를 정의하는 타이틀을 포함하는 부분 카피용 인덱스테이블 파일로부터 카피 대상 파일을 판독하여 제 2 드라이브장치에 장전된 제 2 기록매체에 카피하는 카피기능부 재생장치로,
    상기 부분 카피용 인덱스테이블 파일과 당해 부분 카피용 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일의 상기 제 2 기록매체용의 파일명을 기재한 파일 맵핑정보를 상기 제 1 기록매체에서 취득하여 기억하는 상기 로컬 스토리지와,
    일부의 파일을 카피하는 경우에, 상기 부분 카피용 인덱스테이블 파일과 당해 부분 카피용 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일을 상기 파일 맵핑정보에 기재되어 있는 파일명으로 변경하는 맵핑 데이터 처리부와,
    카피 대상의 파일이 상기 로컬 스토리지 상의 파일인 경우에 상기 파일의 정당성을 확인하는 인증부와,
    상기 부분 카피용 인덱스테이블 파일과 당해 부분 카피용 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일 중 상기 제 1 기록매체에 기록되어 있는 파일과 상기 인증부에 의해 정당성이 확인된 파일을 변경 후의 파일명으로 상기 제 2 기록매체에 카피하는 카피 실행부를 구비하며,
    상기 제 1 기록매체는 판독 전용 기록매체인 것을 특징으로 하는 카피기능부 재생장치.
  13. 제 12 항에 있어서,
    상기 로컬 스토리지는 당해 로컬 스토리지에 기억되어 있는 파일에 대하여 당해 파일의 다이제스트 치(digest value)를 기억하고 있고,
    상기 인증부는 상기 로컬 스토리지에 기억되어 있는 다이제스트 치에 의거하여 상기 파일의 정당성을 확인하는 것을 특징으로 하는 카피기능부 재생장치.
  14. 인덱스테이블 파일과, 당해 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일과, 상기 실제 데이터 파일의 일부를 정의하는 타이틀을 포함하는 부분 카피용 인덱스테이블 파일 중 카피 대상 파일을 제 1 드라이브장치에 장전된 제 1 기록매체에 카피하는 카피기능부 재생장치로,
    일부의 파일을 카피하는 경우의 카피 대상 파일인 상기 부분 카피용 인덱스테이블 파일과, 당해 부분 카피용 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일의 제 2 기록매체 상의 파일명 및 상기 제 1 기록매체용의 파일명을 기재한 카피관리정보를 제 2 드라이브장치에 장전된 상기 제 2 기록매체에서 취득하여 기억하는 기억부와,
    상기 카피관리정보에 기재되어 있는 카피 대상 파일이 상기 제 2 기록매체에 존재하는지 여부를 판단하는 판단부와,
    상기 판단부에 의해 존재하지 않는다고 판단된 파일을 생성하는 파일 생성부와,
    일부의 파일을 카피하는 경우, 상기 제 2 기록매체에 존재하는 카피 대상 파일의 파일명과 상기 파일 생성부에 의해 생성된 카피 대상 파일의 파일명을 상기 카피관리정보에 기재되어 있는 제 1 기록매체 상의 파일명으로 변경하는 맵핑 데이터 처리부와,
    상기 부분 카피용 인덱스테이블 파일과 당해 부분 카피용 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일을 변경 후의 파일명으로 상기 제 1 기록매체에 카피하는 카피 실행부를 구비하며,
    상기 제 2 기록매체는 판독 전용 기록매체인 것을 특징으로 하는 카피기능부 재생장치.
  15. 제 14 항에 있어서,
    상기 파일 생성부는 상기 판단부에 의해 카피 대상 파일이 상기 제 2 기록매체에 존재하지 않는다고 판단된 경우에, 당해 카피기능부 재생장치에 미리 보존되어 있는 파일을 이용하는 것을 특징으로 하는 카피기능부 재생장치.
  16. 인덱스테이블 파일과, 당해 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일을 기억하고 있는 제 1 기록매체를 장전한 제 1 드라이브장치로부터 상기 제 1 기록매체 상의 일부의 파일을 판독하여 제 2 드라이브장치에 장전한 제 2 기록매체에 카피하는 카피기능부 재생장치로,
    상기 제 1 기록매체 상의 일부의 파일을 상기 제 2 기록매체에 카피할 때의 상기 제 2 기록매체 상의 저장위치 및 파일명을 기재한 파일 맵핑 정보를 상기 제 1 기록매체에서 취득하여 기억하는 기억부와,
    상기 제 1 기록매체 상의 일부의 파일을 카피하는 경우에, 상기 일부의 파일의 파일명을 상기 파일 맵핑 정보에 기재되어 있는 파일명으로 변경하는 매핑 데이터 처리부와,
    상기 일부의 파일을 변경 후의 파일명으로 상기 제 2 기록매체 상의 저장위치에 카피하는 카피 실행부를 구비하며,
    상기 제 1 기록매체는 판독 전용 기록매체인 것을 특징으로 하는 카피기능부 재생장치.
  17. 인덱스테이블 파일과, 당해 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일과, 상기 실제 데이터 파일의 일부를 정의하는 타이틀을 포함하는 부분 카피용 인덱스테이블 파일을 기억하고 있는 제 1 기록매체를 장전한 제 1 드라이브장치로부터 상기 제 1 기록매체 상의 파일을 판독하여 제 2 드라이브장치에 장전한 제 2 기록매체에 카피하는 카피기능부 재생장치에 이용하는 카피방법으로,
    상기 부분 카피용 인덱스테이블 파일과 당해 부분 카피용 인덱스테이블 파일에서 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일의 상기 제 2 기록매체용의 파일명을 기재한 파일 맵핑 정보를 상기 제 1 기록매체에서 취득하여 기억하는 기억스텝과,
    상기 제 1 기록매체 상의 일부의 파일을 카피하는 경우에, 상기 부분 카피용 인덱스테이블 파일과 당해 부분 카피용 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일을 상기 파일 맵핑 정보에 기재되어 있는 파일명으로 변경하는 맵핑 데이터 처리스텝과,
    상기 부분 카피용 인덱스테이블 파일과 당해 부분 카피용 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일을 변경 후의 파일명으로 상기 제 2 기록매체에 카피하는 카피 실행스텝을 포함하며,
    상기 제 1 기록매체는 판독 전용 기록매체인 것을 특징으로 하는 카피기능부 재생장치에 이용하는 카피방법.
  18. 로컬 스토리지 및 제 1 드라이브장치에 장전된 제 1 기록매체 중 어느 하나에 기록되어 있는 인덱스테이블 파일과, 당해 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일과, 상기 실제 데이터 파일의 일부를 정의하는 타이틀을 포함하는 부분 카피용 인덱스테이블 파일로부터 카피 대상 파일을 판독하여 제 2 드라이브장치에 장전된 제 2 기록매체에 카피하는 카피기능부 재생장치에 이용하는 카피방법으로,
    상기 부분 카피용 인덱스테이블 파일과 당해 부분 카피용 인덱스테이블 파일에서 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일의 상기 제 2 기록매체용의 파일명을 기재한 파일 맵핑정보를 상기 제 1 기록매체에서 취득하여 상기 로컬 스토리지에 기억하는 기억스텝과,
    일부의 파일을 카피하는 경우에, 상기 부분 카피용 인덱스테이블 파일과 당해 부분 카피용 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일을 상기 파일 맵핑 정보에 기재되어 있는 파일명으로 변경하는 맵핑 데이터 처리스텝과,
    카피 대상의 파일이 상기 로컬 스토리지 상의 파일인 경우에 상기 파일의 정당성을 확인하는 인증스텝과,
    상기 부분 카피용 인덱스테이블 파일과 당해 부분 카피용 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일 중 상기 제 1 기록매체에 기록되어 있는 파일과 상기 인증스텝에 의해 정당성이 확인된 파일을 변경 후의 파일명으로 상기 제 2 기록매체에 카피하는 카피 실행스텝을 구비하며,
    상기 제 1 기록매체는 판독 전용 기록매체인 것을 특징으로 하는 카피기능부 재생장치에 이용하는 카피방법.
  19. 인덱스테이블 파일과, 당해 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일과, 상기 실제 데이터 파일의 일부를 정의하는 타이틀을 포함하는 부분 카피용 인덱스테이블 파일 중 카피 대상 파일을 제 1 드라이브장치에 장전된 제 1 기록매체에 카피하는 카피기능부 재생장치에 이용하는 카피방법으로,
    일부의 파일을 카피하는 경우의 카피 대상 파일인 상기 부분 카피용 인덱스테이블 파일과, 당해 부분 카피용 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일의 제 2 기록매체 상의 파일명 및 상기 제 1 기록매체용의 파일명을 기재한 카피관리정보를 제 2 드라이브장치에 장전된 상기 제 2 기록매체에서 취득하여 기억하는 기억스텝과,
    상기 카피관리정보에 기재되어 있는 카피 대상 파일이 상기 제 2 기록매체에 존재하는지 여부를 판단하는 판단스텝과,
    상기 판단스텝에 의해 존재하지 않는다고 판단된 파일을 생성하는 파일 생성스텝과,
    일부의 파일을 카피하는 경우에, 상기 제 2 기록매체에 존재하는 카피 대상 파일의 파일명과 상기 파일 생성스텝에 의해 생성된 카피 대상 파일의 파일명을 상기 카피관리정보에 기재되어 있는 제 1 기록매체 상의 파일명으로 변경하는 맵핑 데이터 처리스텝과,
    상기 부분 카피용 인덱스테이블 파일과 당해 부분 카피용 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일을 변경 후의 파일명으로 상기 제 1 기록매체에 카피하는 카피 실행스텝을 구비하며,
    상기 제 2 기록매체는 판독 전용 기록매체인 것을 특징으로 하는 카피기능부 재생장치에 이용하는 카피방법.
  20. 인덱스테이블 파일과, 당해 인덱스테이블 파일에 정의되는 각 타이틀에 대응되어 있는 실제 데이터 파일을 기억하고 있는 제 1 기록매체를 장전한 제 1 드라이브장치로부터 상기 제 1 기록매체 상의 일부의 파일을 판독하여 제 2 드라이브장치에 장전한 제 2 기록매체에 카피하는 카피기능부 재생장치에 이용하는 카피방법으로,
    상기 제 1 기록매체 상의 일부의 파일을 상기 제 2 기록매체에 카피할 때의 상기 제 2 기록매체 상의 저장위치 및 파일명을 기재한 파일 맵핑 정보를 상기 제 1 기록매체에서 취득하여 기억하는 기억스텝과,
    상기 제 1 기록매체 상의 일부의 파일을 카피하는 경우에, 상기 일부의 파일의 파일명을 상기 파일 맵핑 정보에 기재되어 있는 파일명으로 변경하는 매핑 데이터 처리스텝과,
    상기 일부의 파일을 변경 후의 파일명으로 상기 제 2 기록매체 상의 저장위치에 카피하는 카피 실행스텝을 구비하며,
    상기 제 1 기록매체는 판독 전용 기록매체인 것을 특징으로 하는 카피기능부 재생장치에 이용하는 카피방법.
KR1020107020366A 2008-10-01 2009-09-30 재생장치 KR101571001B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008256654 2008-10-01
JP2008256653 2008-10-01
JPJP-P-2008-256653 2008-10-01
JPJP-P-2008-256654 2008-10-01

Publications (2)

Publication Number Publication Date
KR20110069745A KR20110069745A (ko) 2011-06-23
KR101571001B1 true KR101571001B1 (ko) 2015-11-23

Family

ID=42073235

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107020366A KR101571001B1 (ko) 2008-10-01 2009-09-30 재생장치

Country Status (6)

Country Link
US (1) US20110307448A1 (ko)
EP (1) EP2330590A4 (ko)
JP (1) JP5502741B2 (ko)
KR (1) KR101571001B1 (ko)
CN (1) CN102084425A (ko)
WO (1) WO2010038455A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5445104B2 (ja) * 2009-12-18 2014-03-19 ソニー株式会社 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム
JP5533163B2 (ja) * 2010-04-08 2014-06-25 ソニー株式会社 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP5533162B2 (ja) * 2010-04-08 2014-06-25 ソニー株式会社 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP5533164B2 (ja) * 2010-04-08 2014-06-25 ソニー株式会社 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP5609222B2 (ja) * 2010-04-08 2014-10-22 ソニー株式会社 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP2012018727A (ja) * 2010-07-08 2012-01-26 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
JP5652021B2 (ja) * 2010-07-08 2015-01-14 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
JP5552928B2 (ja) * 2010-07-08 2014-07-16 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
JP2013058287A (ja) * 2011-09-09 2013-03-28 Hitachi Consumer Electronics Co Ltd 記録装置/方法/媒体、再生装置/方法
CN102339318A (zh) * 2011-10-24 2012-02-01 Tcl集团股份有限公司 一种文件系统管理方法及系统
KR101978239B1 (ko) * 2012-06-22 2019-05-14 삼성전자주식회사 컨텐츠를 편집하는 방법 및 그 전자 장치
US8977532B2 (en) * 2013-02-22 2015-03-10 Microsoft Technology Licensing, Llc Estimating time remaining for an operation
CN103685278B (zh) * 2013-12-17 2017-01-11 西安诺瓦电子科技有限公司 媒体发布方法和媒体发布管理端
US20160328174A1 (en) * 2014-01-14 2016-11-10 Sony Corporation Information processing device, information recording medium, information processing system, information processing method, and program
JP6455001B2 (ja) * 2014-07-16 2019-01-23 カシオ計算機株式会社 楽音再生装置、方法、およびプログラム
US11048549B2 (en) * 2019-04-04 2021-06-29 Google Llc Transferral of process state and/or components in computing environments

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005166168A (ja) * 2003-12-03 2005-06-23 Sharp Corp データ再生装置、そのためのコンピュータプログラム、及び当該コンピュータプログラムを記録した記録媒体
JP2007109080A (ja) * 2005-10-14 2007-04-26 Toshiba Corp デジタルコンテンツ利用装置及び方法
JP2007242231A (ja) * 2007-04-27 2007-09-20 Sharp Corp ファイル管理装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007065928A (ja) * 2005-08-30 2007-03-15 Toshiba Corp 情報記憶媒体、情報処理方法、情報転送方法、情報再生方法、情報再生装置、情報記録方法、情報記録装置、及びプログラム
KR20080012330A (ko) * 2005-05-31 2008-02-11 마쯔시다덴기산교 가부시키가이샤 방송 수신 단말
JP5098145B2 (ja) * 2005-10-12 2012-12-12 ソニー株式会社 データ管理装置および記録媒体の管理方法
JP4765734B2 (ja) * 2006-04-06 2011-09-07 ソニー株式会社 情報処理装置、情報処理方法および情報処理プログラム、ならびに、表示制御装置
JP4882653B2 (ja) * 2006-10-06 2012-02-22 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP4757179B2 (ja) * 2006-11-30 2011-08-24 ソニー株式会社 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
JP5147733B2 (ja) * 2007-02-07 2013-02-20 パナソニック株式会社 記録装置、サーバ装置、記録方法、コンピュータプログラムを記録した記録媒体、及び集積回路
WO2008099647A1 (ja) * 2007-02-16 2008-08-21 Panasonic Corporation 再生装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005166168A (ja) * 2003-12-03 2005-06-23 Sharp Corp データ再生装置、そのためのコンピュータプログラム、及び当該コンピュータプログラムを記録した記録媒体
JP2007109080A (ja) * 2005-10-14 2007-04-26 Toshiba Corp デジタルコンテンツ利用装置及び方法
JP2007242231A (ja) * 2007-04-27 2007-09-20 Sharp Corp ファイル管理装置

Also Published As

Publication number Publication date
WO2010038455A1 (ja) 2010-04-08
JPWO2010038455A1 (ja) 2012-03-01
CN102084425A (zh) 2011-06-01
EP2330590A1 (en) 2011-06-08
JP5502741B2 (ja) 2014-05-28
KR20110069745A (ko) 2011-06-23
US20110307448A1 (en) 2011-12-15
EP2330590A4 (en) 2012-08-22

Similar Documents

Publication Publication Date Title
KR101571001B1 (ko) 재생장치
JP4886673B2 (ja) 再生装置、再生方法
JP4862055B2 (ja) 再生装置及びプログラム
KR101216070B1 (ko) 로컬 스토리지를 이용한 기록매체 재생방법 및 재생장치,기록매체
JP5395074B2 (ja) 再生装置、再生方法、プログラム
JP5529964B2 (ja) 再生装置、再生方法、プログラム
AU2011254047B2 (en) Playback apparatus and playback method
KR20060046120A (ko) 로컬 스토리지를 이용한 기록매체 재생방법 및 재생장치
KR20070120000A (ko) 데이터를 기록하는 방법, 장치 및 기록매체 그리고재생방법 및 장치

Legal Events

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

Payment date: 20181022

Year of fee payment: 4