Nothing Special   »   [go: up one dir, main page]

WO2010038455A1 - 再生装置 - Google Patents

再生装置 Download PDF

Info

Publication number
WO2010038455A1
WO2010038455A1 PCT/JP2009/005049 JP2009005049W WO2010038455A1 WO 2010038455 A1 WO2010038455 A1 WO 2010038455A1 JP 2009005049 W JP2009005049 W JP 2009005049W WO 2010038455 A1 WO2010038455 A1 WO 2010038455A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
copy
recording medium
management information
information
Prior art date
Application number
PCT/JP2009/005049
Other languages
English (en)
French (fr)
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 パナソニック株式会社
Priority to EP09817496A priority Critical patent/EP2330590A4/en
Priority to US12/920,852 priority patent/US20110307448A1/en
Priority to CN2009801258709A priority patent/CN102084425A/zh
Priority to JP2010531753A priority patent/JP5502741B2/ja
Publication of WO2010038455A1 publication Critical patent/WO2010038455A1/ja

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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream 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

Definitions

  • the present invention relates to a playback device that plays back video data recorded on a recording medium such as a BD-ROM (Blu-Ray Disc Read Only Memory), and more particularly to video data recorded on a recording medium.
  • a recording medium such as a BD-ROM (Blu-Ray Disc Read Only Memory)
  • the present invention relates to a technology for recording on a medium (managed copy).
  • Managed copy refers to a digital stream or an application program (hereinafter referred to as “application”) recorded on a read-only recording medium such as a BD-ROM and another optical disc (BD-R, BD-RE, DVD-R). , DVD-RW, DVD-RAM, etc.), hard disk, removable media (SD memory card, memory stick, compact flash (registered trademark), smart media, multimedia card, etc.)
  • BD-ROM digital versatile disc
  • DVD-RW DVD-RW, DVD-RAM, etc.
  • hard disk such as a BD-ROM and another optical disc (BD-R, BD-RE, DVD-R).
  • removable media SD memory card, memory stick, compact flash (registered trademark), smart media, multimedia card, etc.
  • managed copy is a mechanism for executing copy in a permitted state, but various methods are possible for which data on the BD-ROM is to be copied.
  • a method of copying all files of data on the BD-ROM and creating a backup of the same data as the BD-ROM there is also a method of partially copying only a part of content desired by the user (for example, only a privilege video).
  • Managed copy is executed based on the copy management information list in which the file name list of the files to be copied is described.
  • the copy management information list one recorded in advance on the disk is used, or the latest copy management information list is acquired from the server and used.
  • the copy management information list indicates that all files on the BD-ROM are to be copied, all files will be copied by managed copy. Then, since the disc configuration conforming to the BD playback standard is copied as it is, it can be guaranteed that a disc conforming to the BD playback standard is completed.
  • BD-ROM includes a scenario database file that describes which stream to play when a disc is inserted or when a button is pressed, in addition to video.
  • the scenario database file is arranged at a specific position with a fixed file name defined in the standard on the BD-ROM disc.
  • the playback device is configured to refer to the scenario database when the disc is inserted.
  • An object of the present invention is to provide a playback apparatus capable of creating a playback compatible disc even in the case of partial copy.
  • a playback apparatus includes an index table file, an actual data file associated with each title defined in the index table file, and one of the actual data files.
  • a reproduction apparatus for copying a file on a first recording medium storing a partial copy index table file including a title defining a copy to a second recording medium, the partial copy index table file,
  • a storage unit storing file mapping information describing a file name for the second recording medium with an actual data file associated with each title defined in the partial copy index table file;
  • For copying partial files on a recording medium A mapping data processing unit for changing the index table file and the actual data file associated with each title defined in the index table file for partial copy to the file name described in the file mapping information; Copy execution unit that copies the partial copy index table file and the actual data file associated with each title defined in the partial copy index table file to the second recording medium with the changed file name It is characterized by providing.
  • the file name of the file to be copied is changed to the file mapping information Since the file name is converted into a file name for the second recording medium and copied to the second recording medium with the converted file name, it is possible to create a second recording medium that maintains reproduction compatibility.
  • Embodiment 1 of the present invention It is a system diagram in Embodiment 1 of the present invention.
  • 3 is a data hierarchy diagram of the BD-ROM in Embodiment 1 of the present invention.
  • FIG. It is a figure which shows the layer model of the software which BD-ROM in Embodiment 1 of this invention makes object. It is a figure which shows the movie work produced by the dynamic reproduction control of two modes in Embodiment 1 of this invention. It is a figure which shows the internal structure of the reproducing
  • the index In the first embodiment of the present invention, the index. It is a figure which shows the relationship between bdmv and a title. It is a figure which shows the internal structure of the managed copy control part in Embodiment 1 of this invention. It is a figure which shows data transmission / reception with the Java (trademark) application and server in Embodiment 1 of this invention. It is a figure which shows the content of the copy management information list in Embodiment 1 of this invention. It is a figure which shows an example of the screen display of each procedure of the managed copy in Embodiment 1 of this invention. It is a flowchart of the managed copy control by the Java application in Embodiment 1 of this invention.
  • Embodiment 1 of this invention It is a flowchart of the data copy by the managed copy control part in Embodiment 1 of this invention. It is a figure which shows an example of the screen display of the completion of data copy in Embodiment 1 of this invention. It is a figure which shows the content of the copy management information list in the conventional system. It is a figure which shows an example of the copy destination disk after the completion of managed copy in the conventional system. It is a figure which shows an example of the screen display of the managed copy destination disk reproduction
  • Embodiment 4 of this invention It is a figure which shows the virtual package update process in Embodiment 4 of this invention. It is a figure which shows the internal structure of the managed copy control part in Embodiment 4 of this invention. It is a figure which shows the data transmission / reception with the Java application and server in Embodiment 4 of this invention. It is a figure which shows the content of the copy management information list in Embodiment 4 of this invention. It is a figure which shows an example of the screen display of each procedure of managed copy in Embodiment 4 of this invention. It is a figure which shows an example of the screen display during the data copy in Embodiment 4 of this invention. It is a flowchart of the managed copy control by the Java application in Embodiment 4 of this invention.
  • Embodiment 4 of this invention It is a flowchart of the data copy by the managed copy control part in Embodiment 4 of this invention. It is a figure shown about disk access restrictions in execution of data copy in Embodiment 4 of this invention. It is a figure which shows the internal structure of the BD-J module in the disk access restriction in Embodiment 4 of this invention. It is a flowchart which performs the virtual package state confirmation at the time of managed copy in Embodiment 4 of this invention. It is a figure which shows an example of the user notification in the case of the virtual package copy impossible in Embodiment 4 of this invention. It is a figure which shows the managed copy of the virtual package data in Embodiment 4 of this invention.
  • the playback apparatus includes an index table file, an actual data file associated with each title defined in the index table file, and a title defining a part of the actual data file.
  • a playback device for copying a file on a first recording medium storing a partial copy index table file to a second recording medium, the partial copy index table file and the partial copy index table A storage unit storing file mapping information describing a file name for the second recording medium with an actual data file associated with each title defined in the file, and a part on the first recording medium The partial copy index table file.
  • mapping data processing unit that changes a file name and an actual data file associated with each title defined in the index table file for partial copy to the file name described in the file mapping information
  • partial copy A copy execution unit that copies the actual data file associated with each title defined in the partial copy index table file to the second recording medium with the changed file name. It is characterized by providing.
  • the playback device further reads a file recorded in the first recording medium and a file recorded in the local storage as one package by combining the files according to the merge management information.
  • a virtual file system for generating package information that enables the merge management information corresponding to the first recording medium to exist in the local storage, and if present, After confirming whether the merge management information is valid, the package information is generated, and the copy execution unit, based on the generated package information, the file on the first recording medium and the local storage A file is combined and copied to the second recording medium
  • the virtual file system is used to make it appear as if the scattered files exist on one medium. Since the managed copy is performed in a state, even a file scattered on a plurality of media can be managed copied to the second recording medium. In the copy destination second recording medium, the file is copied in a state where the file structure is maintained, so that it is possible to create a second recording medium maintaining reproduction compatibility.
  • the playback device includes an index table file recorded in either the first recording medium or the local storage, and actual data associated with each title defined in the index table file.
  • the local storage storing file mapping information describing the file name for the second recording medium and the actual data file associated with each title defined in the partial copy index table file; Copy some files Mapping data processing for changing the partial copy index table file and the actual data file associated with each title defined in the partial copy index table file to the file name described in the file mapping information
  • an authentication unit for confirming the validity of the file, the partial copy index table file, and the partial copy index table file when the copy target file is a file on the local storage.
  • the file recorded on the first recording medium and the file whose validity has been confirmed by the authentication unit are changed to the second file name with the changed file name.
  • the playback device downloads the bug fix, additional content, etc. of the copy source disk from the external server in advance to the local storage, so that the bug fix, the additional content, etc. can be stored together with the file on the first recording medium.
  • Managed copy to two recording media is possible.
  • by performing authentication processing on the file on the local storage it is possible to prevent copying of an incomplete file and to create a second recording medium that maintains reproduction compatibility.
  • the playback apparatus includes an index table file, an actual data file associated with each title defined in the index table file, and a title defining a part of the actual data file.
  • the partial copy index table file which is a reproduction device that copies a copy target file to a second recording medium, and is a copy target file when a part of the files is copied And a file name on the first recording medium for the actual data file associated with each title defined in the index table file for partial copy, and a copy management that describes the file name for the second recording medium
  • a storage unit storing information and the copy management information
  • a determination unit that determines whether or not a file to be copied exists in the first recording medium; a file generation unit that generates a file that is determined not to exist by the determination unit; and some files In the second recording medium, the file name of the copy target file existing on the first recording medium and the file name of the copy target file generated by the file generation unit are described in the copy management information.
  • FIG. 1 is a diagram showing an example of a usage act of the playback apparatus according to the present invention.
  • the playback device is a playback device 101.
  • the playback apparatus 101 is used for supplying a movie work to a home theater system formed by a remote controller 102 and a television 103.
  • the playback apparatus 101 also has an insertion slot for inserting a removable medium 104 such as an SD memory card, a memory stick, a compact flash, a smart media, and a multimedia card, and an optical disc such as a recordable BD, recordable DVD, recordable CD.
  • An insertion slot for attaching a disk drive 106 to be read is provided. This completes the description of the usage mode of the playback apparatus according to the present invention.
  • the BD-ROM 105 which is an optical disk, is reproduced by the reproducing apparatus according to the present invention.
  • FIG. 2 is a diagram showing a configuration of a BD-ROM (hereinafter sometimes referred to as “BD”).
  • BD-ROM a BD-ROM
  • the BD-ROM will be described focusing on AV applications for reproducing AV contents such as movies, but of course, the BD-ROM is used for computers such as CD-ROM and DVD-ROM. It can also be used as a recording medium.
  • a BD-ROM like other optical disks such as DVDs and CDs, has a recording area that spirals from its inner periphery to its outer periphery, and between the inner periphery lead-in and outer periphery lead-out. It has a logical address space in which data can be recorded. Further, inside the lead-in, there is a special area called BCA (Burst Cutting Area) that can be read only by the drive. Since this area cannot be read from the application, it is used for copyright protection technology and the like, and a PMSN (Pre-recorded Media Serial Number) indicating the physical serial number of the recording medium is recorded.
  • BCA Band Cutting Area
  • file system information (volume).
  • the file system is UDF, ISO9660, or the like, and can read logical data recorded in the same way as a normal PC using a directory and file structure.
  • a 255 character file name and directory name can be read.
  • the directory and file structure on the BD-ROM are a BDMV directory and a CERTIFICATE directory immediately under the root directory (ROOT).
  • the BDMV directory is a directory in which data such as AV contents and management information handled by the BD-ROM is recorded.
  • the CERTIFICATE directory is subordinate to discroot.
  • a certificate used for verifying the signature of the application is recorded.
  • BDMV directory Under the BDMV directory, there are five subdirectories called PLAYLIST directory, CLIPINF directory, STREAM directory, BDJO directory, and JAR directory. In the BDMV directory, index. bdmv and MovieObject. Two types of bdmv files are arranged.
  • the STREAM directory is a directory in which a file serving as a digital stream body is stored, and a file with an extension m2ts (xxx.m2ts [“xxx” is variable, and extension “m2ts” is fixed]).
  • m2ts xxx.m2ts [“xxx” is variable, and extension “m2ts” is fixed]
  • the file with the extension “m2ts” is an MPEG-TS (TransportStream) format digital AV stream, which is obtained by multiplexing a video stream, one or more audio streams, and one or more sub-picture streams. It is done.
  • the video stream indicates the moving image portion of the movie
  • the audio stream indicates the audio portion of the movie
  • the sub-video stream indicates the subtitle of the movie.
  • the file with the extension “mpls” is a file that stores PlayList information, and records the playback section of the stream (“In Time / Out Time”).
  • the file with the extension “clpi” is Clip information corresponding one-to-one with each digital AV stream.
  • the Clip information has information such as the encoding format, frame rate, bit rate, and resolution of the digital AV stream, and EP_map indicating the start position of the GOP.
  • a file with the extension “jar” is a Java archive file, which describes a Java application program that performs dynamic scenario control using a Java virtual machine. This file is required when it is desired to control the playback of each title indicating the playback unit of content on the BD-ROM from the Java application.
  • a file with the extension “bdjo” is a file storing a BD-J object.
  • the BD-J object is information that defines a title by associating an AV stream indicated by PlayList information with an application.
  • the BD-J object indicates an application management table and a PlayList list that can be reproduced in the title.
  • the application management table is a table showing an application having this title as a life cycle by listing an application identifier (application ID) and an ID of a Java archive file belonging to the application. That is, one application is composed of one or more Java archive files.
  • Index. bdmv (file name fixed) is a database file relating to the entire BD-ROM, and is an organization ID (32 bits) that is an identifier for specifying a movie work provider, and an identifier assigned to each BD-ROM provided by the provider. It has information such as discID (128 bits). After inserting the disc into the playback device, the index. By reading bdmv first, the playback device recognizes the disc uniquely. In addition, index. The bdmv includes a table in which a plurality of titles that can be reproduced on the BD-ROM and BD-J objects that define individual titles are associated with each other. In addition, index. bdmv corresponds to an “index table file” according to the present invention.
  • the bdmv (file name fixed) includes a scenario program in which a scenario for dynamically changing the playback progress in each title playback in the HDMV mode (described later) is included.
  • FIG. 3 is a diagram showing a layer model for playback control.
  • the first layer is a physical layer and is a supply control of the stream body to be processed.
  • the stream to be processed is supplied not only from the BD-ROM but also from various recording media and communication media such as a Bilt-In media, a removable media, a network, and a recording disk.
  • the Bilt-In medium is a recording medium such as an HDD (Hard Disk Drive) that is incorporated in advance in the playback apparatus.
  • the removable media is a portable recording medium such as an SD memory card, a memory stick, a compact flash, a smart media, and a multimedia card.
  • Both the Built-In media and the removable media are recording media used locally by the playback device, and are collectively called “local storage”.
  • the first layer defines control (disk access, card access, network communication) for the supply sources such as local storage and network.
  • the second layer is an AV data layer.
  • the second layer defines what decoding method is used to decode the stream supplied in the first layer.
  • the third layer (BD management data) is a layer that defines a static scenario of a stream.
  • the static scenario is playback path information and stream management information defined in advance by the disc producer, and the third layer defines playback control based on these.
  • the fourth layer is a layer that realizes a dynamic scenario in the stream.
  • the dynamic scenario is a program that executes at least one of an AV stream playback procedure and a control procedure related to the playback.
  • the reproduction control based on the dynamic scenario changes according to a user operation on the apparatus, and has a program-like property.
  • One of the two modes is a mode for reproducing moving image data recorded on a BD-ROM (HDMV mode) in a reproduction environment unique to the AV device, and the other is a moving image data recorded on the BD-ROM.
  • This is a mode (BD-J mode) for increasing the added value of the.
  • the fourth layer describes two modes, an HDMV mode and a BD-J mode.
  • the HDMV mode is a playback mode in a DVD-like playback environment, and a scenario program in which a scenario for dynamically changing playback progress is operated.
  • the BD-J mode is a playback mode mainly using a Java virtual machine, and performs playback control from a Java application.
  • FIG. 4 is a diagram showing a movie work created by dynamic playback control in two modes.
  • FIG. 4A shows a scene of a movie work created by defining dynamic playback control in the HDMV mode.
  • the playback control can be described by a command similar to a command that can be interpreted by the DVD playback device. Therefore, playback control similar to that of the DVD, that is, playback control in which playback proceeds by selecting a menu is performed. Can be defined.
  • Fig. 4 (b) shows a movie work created by defining dynamic playback control in the BD-J mode.
  • the control procedure can be described in the Java language that can be interpreted by the Java virtual machine. If this playback control controls the operation of computer graphics (CG), in BD-J mode, the CG (owl picture in the figure) moves around the side of the screen displaying the movie. Playback control can be defined.
  • CG computer graphics
  • FIG. 5 is a block diagram showing a rough functional configuration of the playback apparatus.
  • the playback apparatus includes a BD-ROM drive 401, a recordable BD drive 106, a read control unit 402, a demultiplexer 403, a video decoder 404, a video plane 405, an audio decoder 406, an image memory 407, and an image plane.
  • image decoder 409 image decoder 409, adder 410, static scenario memory 411, dynamic scenario memory 412, HDMV module 413, BD-J module 414, UO detection module 415, mode management module 416, dispatcher 417, rendering engine 418, book And an AV playback library 420, a network interface 421, a local storage 422, and a managed copy control unit 423.
  • the BD-ROM drive 401 loads / ejects the BD-ROM and executes access to the BD-ROM.
  • the read control unit 402 performs read control of data recorded in the BD-R / RE loaded in the recording type BD drive 106, the BD-ROM 105 loaded in the BD-ROM drive 401, and the local storage 422. Do.
  • the demultiplexer 403 demultiplexes the transport stream read by the read control unit 402, obtains a video frame and an audio frame constituting the GOP, outputs the video frame to the video decoder 404, and outputs the audio frame. Are output to the audio decoder 406.
  • the demultiplexer 403 stores the sub-picture stream in the image memory 407 and stores the navigation button information in the dynamic scenario memory 412. Demultiplexing by the demultiplexer 403 includes a conversion process of converting TS packets into PES packets.
  • the video decoder 404 decodes the video frame output from the demultiplexer 403 and writes a non-compressed picture in the video plane 405.
  • the video plane 405 is a memory for storing uncompressed pictures.
  • the audio decoder 406 decodes the audio frame output from the demultiplexer 403 and outputs uncompressed audio data.
  • the image memory 407 is a buffer for storing the sub-picture stream read from the demultiplexer 403, the PNG data in the navigation button information, and the image file read directly from the read control unit 402.
  • the image plane 408 is a memory having an area for one screen, and the developed sub-video stream, PNG data, and image file are arranged.
  • the image decoder 409 expands the sub-picture stream, PNG data, and image file stored in the image memory 407 and writes them in the image plane 408. By decoding the sub-picture stream, various menus and sub-pictures appear on the screen.
  • the adder 410 combines the uncompressed picture data stored in the picture plane 405 with the image developed on the image plane 408 and outputs the result.
  • the adder 410 has an image in the image plane 408. And the picture in the video plane 405 are output.
  • the static scenario memory 411 is a memory for storing the current PlayList and current stream management information.
  • the current PlayList refers to a currently processed list among a plurality of PlayLists recorded in the BD-ROM or the local storage 422.
  • the current stream management information refers to a plurality of stream management information recorded in the BD-ROM or the local storage 422 that is currently processed.
  • the dynamic scenario memory 412 stores the current dynamic scenario and is used for processing by the HDMV module 413 and the BD-J module 414.
  • the current dynamic scenario refers to a scenario that is currently the execution target among a plurality of scenarios recorded in the BD-ROM or the local storage 422.
  • the HDMV module 413 is a DVD virtual player that is the execution subject of the HDMV mode, and executes the current scenario program read into the dynamic scenario memory 412.
  • the BD-J module 414 is a Java platform, and includes a Java virtual machine, a configuration, and a profile.
  • the BD-J module 414 generates a current Java object from the Java class file read into the dynamic scenario memory 412 and executes it.
  • the Java virtual machine converts a Java object described in the Java language into a CPU native code in the playback apparatus, and causes the CPU to execute the Java object.
  • the UO detection module 415 detects a user operation performed on the remote control or the front panel of the playback device, and outputs information indicating the user operation (hereinafter referred to as UO (User Operation)) to the mode management module 416.
  • UO User Operation
  • the mode management module 416 holds the mode management table read from the BD-ROM or the local storage 422, and performs mode management and branch control.
  • the mode management by the mode management module 416 is an assignment of a module that determines whether the dynamic scenario is executed by the HDMV module 413 or the BD-J module 414.
  • the dispatcher 417 selects only the UO appropriate for the current playback device mode from the UO, and passes it to the module that executes the mode. For example, when receiving UO such as up / down / left / right and activation during execution of the HDMV mode, the dispatcher 417 outputs these UOs to the module in the HDMV mode.
  • the rendering engine 418 includes basic software such as Java2D and OPEN-GL, and draws computer graphics in accordance with instructions from the BD-J module 414.
  • the rendered computer graphics are displayed on the image plane 408. Output.
  • the write control unit 419 writes data to the media loaded in the recording type BD drive 106 or the local storage 422 in accordance with an instruction from the managed copy control unit 423.
  • the AV playback library 420 executes an AV playback function and a playlist playback function in response to function calls from the HDMV module 413 and the BD-J module 414.
  • AV playback function is a group of functions followed from DVD players and CD players. Specifically, playback start, playback stop, pause, release of pause, release of still image function, fast forward with playback speed specified as immediate value, rewind with playback speed specified as immediate value, audio switching, sub-video switching , Processing such as angle switching.
  • the playlist playback function refers to performing playback start and playback stop according to playlist information among the AV playback functions described above.
  • the network interface 421 has a function of connecting to a server in order to download a BD-ROM additional content published on the Internet, authenticate a managed copy, and charge.
  • the BD-ROM additional content is content that does not exist in the original BD-ROM, and includes, for example, additional sub audio, subtitles, privilege video, and applications.
  • the BD-J module 414 can download additional content published on the Internet to the local storage 422 by controlling the network interface 421.
  • the managed copy authentication protocol is instructed by the Java application executed by the BD-J module 414.
  • the local storage 422 and the recordable BD drive 106 are used as copy destinations for managed copy.
  • the media selected by the user is set as the copy destination media.
  • the local storage 422 is also used for storing downloaded additional content and data used by applications.
  • the storage area for the additional content is divided for each BD-ROM, and the area that can be used by the application to hold data is divided for each application.
  • the local storage 422 is also used for storing merge management information in which a merge rule indicating how to merge the downloaded additional content with the data on the BD-ROM is described.
  • the managed copy control unit 423 receives an instruction from the Java application executed by the BD-J module and copies the data on the BD-ROM. Depending on the destination media, the stream is also re-encoded. For example, if the copy destination medium is a BD-R, perform Bit by Bit copy, and if the copy destination medium is a small capacity medium such as a DVD-R, re-encode the stream and compress the stream. However, data copy can be performed.
  • FIG. 6 is a diagram showing a data structure in the local storage.
  • the recording medium that is a reproduction target of the reproduction apparatus according to the present invention includes not only a BD-ROM but also a local storage such as a hard disk or an SD card.
  • the additional content area exists immediately under the root directory of the local storage, and the directory name is a fixed value (BUDA) of 8 characters or less.
  • the application can store arbitrary files such as an additional file downloaded from the server under the BUDA directory (including subdirectories and files below it).
  • FIG. 7 is a diagram showing a more specific configuration of the BD-J module 414 shown in FIG.
  • the BD-J module 414 includes a media playback module 702, a managed copy module 704, a file I / O module 705, a network module 706, and an application manager 707.
  • a media playback module 702 includes a media playback module 702 and a managed copy module 704, a file I / O module 705, a network module 706, and an application manager 707.
  • the AV playback library 420, network I / F 421, local storage 422, and managed copy control unit 423 in this figure are the same as those shown in FIG. 5, and are described for explaining the media playback module 702 to application manager 707. It is shown for convenience.
  • the application manager 707 manages the start and end of the Java application based on the application management information recorded on the BD-ROM.
  • the application manager 707 also performs a process of passing the UO event received from the dispatcher 417 to the currently running Java application 701.
  • the media playback module 702 provides the Java application 701 with an API (Application Program Interface) for media playback control.
  • an API Application Program Interface
  • the media playback module 702 calls a function of the corresponding AV playback library 420 to perform AV playback control.
  • the network module 706 provides an API for network control to the Java application 701. In accordance with a network control request from the Java application 701, a network connection is made using the network interface 421. Using the network module 706, the Java application 701 can perform server access necessary for searching for additional content that has been released, downloading, and managed copy authentication.
  • the file I / O module 705 processes a file access request from the Java application 701 to each medium such as a BD-ROM, a local storage, and a recordable BD drive.
  • the managed copy module 704 provides an API for managed copy control to the Java application 701. By invoking this API, the Java application 701 obtains copy source and copy destination media information necessary for managed copy authentication, makes a copy start request to the managed copy control unit, and checks the progress status during copying. . Details of these APIs will be described later.
  • Figure 8 shows the index. It is a figure which shows the relationship between a bdmv file and a title.
  • a title is a playback unit in which an application and an AV stream are combined.
  • the bdmv file describes the title structure on the disc, and the reference relationship between each title on the disc and the corresponding application (Java application for the BD-J mode title, scenario program for the HDMV mode title). I manage.
  • “First Play” and “Top Menu” exist as special titles. “First Play” is a title that is automatically played when the BD is activated, and is mainly used for displaying a BD usage agreement. “Top Menu” is played when the menu key of the remote control is pressed or when the title playback is finished, and is mainly used for selecting a title and selecting a subtitle / audio language.
  • FIG. 9 is a detailed diagram of the managed copy control unit 423.
  • the managed copy control unit 423 includes a serial number reading unit 601, a media ID reading unit 602, a media status management unit 603, a copy execution unit 604, a copy status notification unit 605, a copy progress management unit 606, a nonce generation writing unit 607, a key.
  • the serial number reading unit 601 reads a PMSN (Pre-recorded Media Serial Number) indicating a physical serial number of a recording medium recorded in a BCA (Burst Cutting Area) which is a special area on the BD-ROM. . This serial number is used to generate key information described later.
  • PMSN Pre-recorded Media Serial Number
  • BCA Burst Cutting Area
  • the media ID reading unit 602 reads media-specific information (media ID) that is recorded on the copy destination medium and is uniquely set for each medium. This value cannot normally be rewritten, and a different value is assigned to each medium even for the same type of medium. This media ID is also used to generate key information.
  • media ID media-specific information
  • the media status management unit 603 manages a list of media types that can be used as a copy destination by the playback device. For example, if the playback device includes an SD card slot and a recordable BD drive and only the SD card is currently inserted, the SD card is determined to be the current copy destination. If both the SD card and the BD-R are inserted, it is determined that both the SD card and the BD-R can be used as a copy destination. In addition, the media state management unit 603 also manages the free capacity of the copy destination medium.
  • the copy execution unit 604 performs data copy from the BD-ROM to another medium.
  • the mapping data processing unit 609 determines the copy destination based on the file mapping information in the copy management information list as to which position on the copy destination medium the data on the BD-ROM is to be copied.
  • the copy execution unit 604 performs copying based on the determination.
  • the copy execution unit 604 also re-encodes the stream depending on the copy destination medium.
  • the copy status notification unit 605 manages status transitions such as copy start, normal end, and error end, and notifies the Java application via the BD-J module of status transitions.
  • the copy progress management unit 606 manages the remaining number of bytes to be copied and the number of copied bytes, and notifies the current progress information in response to a request from the Java application.
  • the nonce generation / writing unit 607 generates and writes a random value (nonce) each time managed copy is performed. This Nonce value is also used to generate key information described later.
  • the key information writing unit 608 writes the BD-ROM serial number, the media ID of the copy destination medium, and key information generated from the Nonce.
  • the key information is generated based on a secret key in the server.
  • the Java application acquires the serial number, the media ID, and the nonce, and then transmits these values to the server.
  • the server generates key information based on the value sent from the Java application and the secret key managed on the server side, and sends the generated key information back to the Java application.
  • the Java application sets the key information sent from the server in the key information writing unit 608, and the key information writing unit 608 writes the set key information to the copy destination medium.
  • the key information is used for decrypting the encrypted content key.
  • the protected content can be reproduced. That is, without this key information, even if the encrypted content key and the protected content are illegally copied from the BD-ROM to another medium, the copied protected content cannot be reproduced.
  • the mapping data processing unit 609 determines a file copy destination based on the file mapping information of the copy source file information of the copy source file information storage unit 611.
  • the free space determination unit 610 determines whether there is free space required for copying at the copy destination based on the remaining free space of the copy destination medium and the copy source content.
  • the copy source file information storage unit 611 stores the copy source file information recorded on the disk or transmitted from the server.
  • the copy source file information reading unit 612 reads copy source file information, which is information related to a managed copy target file, recorded on the copy source medium.
  • the managed copy control unit 423 includes the above components, and can control these components from a Java application.
  • FIG. 10 is a sequence diagram showing data transmission / reception between the Java application and the server.
  • the managed copy process is started.
  • the Java application transmits the Disc ID described in the BD management information (index.bdmv) and the media type list of media as copy destination candidates to the server.
  • the server creates a copy management information list and a session ID from these data and sends it back to the Java application.
  • the session ID is used to manage the progress of subsequent exchanges between the server and the Java application on the server side. For example, when the key information is requested without performing the accounting process, the server confirms the session ID, determines that the accounting process has not been completed for this session, and can reject the key information request.
  • the copy management information list includes an identifier (copy content ID) assigned to uniquely identify the copy content, content content information described in a character string understandable by the user, and a file (or directory) to be copied. )
  • a list and its file mapping information, possible media types as copy destinations, resolution, capacity required for copying, and price information are included.
  • FIG. 11 shows an example of the copy management information list.
  • the copy management information list includes a plurality of copy management information, and each copy management information is assigned an ID (copy content ID) that can be uniquely identified.
  • Each copy management information includes a copy content ID, content content information, a copy file, file mapping information, a copy destination media type, and resolution / capacity / price information.
  • Copy content ID is used to distinguish copy management information.
  • the content content information includes character string information to be copied and a flag indicating whether the copy is a complete copy or a partial copy.
  • the copy file describes (lists) all files to be copied on the copy source disk.
  • the file mapping information describes which file name should be stored at which position in the copy destination for each file name listed in the copy file. If there is no change in the file location, the file mapping information may not exist.
  • the copy destination medium type describes copy destination recording medium information. As the name implies, the resolution / capacity / price information includes information on what resolution is copied to the copy destination in the copy, and how much capacity is required in the case of copying.
  • the Java application presents the contents of content that can be copied to the user on the screen based on the resolution / capacity / price information in the copy management information list (FIG. 12B shows an example of the screen display).
  • the screen shown in FIG. 12C may be presented to allow the user to select a copy destination candidate. Based on the user's selection, content to be copied and copy destination candidates are determined. At this time, if the free capacity of the copy destination candidate is compared with the required capacity described in the copy management information list and it is determined that the capacity of the copy destination candidate is insufficient, the medium with insufficient capacity is selected from the copy destination candidate. It may be removed or the user may be warned.
  • the billing information includes a credit number and a user ID. If charging is not necessary, the charging information may not be input, or only the copy count may be checked.
  • the Java application transmits the copy content ID corresponding to the content selected by the user, the media type of the copy destination, the charging information, and the session ID to the server side. If the server side determines that these data are correct, it returns OK to the Java application.
  • the Java application When the Java application receives an OK notification from the server, it acquires the element data of the key information.
  • the element data of the key information is a copy source serial number, a copy destination media ID, and a nonce.
  • the server When the serial number, media ID, nonce, and session ID are sent from the Java application to the server, the server generates key information from the element data of the key information and the secret key held by the server.
  • the Java application delivers the copy management information and key information to be copied to the managed copy control unit. When the delivery of the copy management information and the key information is completed, the managed copy control unit starts copying data.
  • FIG. 13 is a flowchart of managed copy control by a Java application.
  • the Java application checks through the managed copy control unit 423 whether there is a medium that is currently a copy destination candidate (S301). If there is a copy destination candidate medium, the Disc ID is acquired from the copy source disk, and the media type list of the copy destination candidate medium is acquired from the managed copy control unit 423. Then, the Java application transmits these to the server.
  • the Java application receives from the server the copy management information list and the session ID generated by the server based on the transmitted data (S302). If there is no copy destination candidate medium, the managed copy process ends.
  • the copy destination medium and the copy source content are selected based on the copy management information list (S303).
  • the selection method may be selected by the Java application itself, or a list of copyable contents and media may be presented to the user, and the user may be selected from the list.
  • FIGS. 12B and 12C show an example when a list of contents and media that can be copied is presented to the user. As shown in FIG. 12C, in addition to the media name, a free space or the like may be displayed, or a capacity required for the copy destination medium described in the copy management information may be displayed.
  • the required capacity may be calculated from the file size of the copy source and its value displayed.
  • the capacity calculation required for copying may be performed by the Java application, or the Java application may refer to the value calculated on the playback device side.
  • the Java application may refer to the value calculated on the playback device side. In particular, when the stream is recompressed and saved, the file size and the number of files are changed. In this case, it is efficient to calculate the necessary capacity in the playback device.
  • the free space determination unit 610 of the managed copy control unit 423 has a free space necessary for copying based on the remaining free space of the selected copy destination medium and the total size of the copy source content. (S304). If there is free space necessary for copying, the Java application performs billing processing (S305).
  • the billing process here refers to a series of processes for connecting to a server and authenticating a credit number or the like.
  • the server extracts OK and the copy source file information to be charged from the copy management information list, and transmits it to the Java application. If charging is not necessary, step S305 may be skipped. If there is no free space, the managed copy process ends.
  • the Java application checks whether copy source file information exists in the copy management information sent simultaneously with the OK notification ( S306). If the Java application receives a notification that the charging process has failed by the server, the Java application completes the managed copy process by notifying the user of the managed copy failure.
  • the Java application extracts the copy source file information and stores it in the copy source file information storage unit 611 (S307). If copy source file information does not exist in the copy management information received as a result of step S306, the Java application acquires pre-existing copy source file information from the copy source disk through the copy source file information reading unit 612, and copies the copy source information. The file information is stored in the file information storage unit 611 (S302).
  • the Java application acquires element data of key information from the managed copy control unit 423 (S309).
  • the element data of the key information is the serial number of the copy source medium acquired by the serial number reading unit 601, the media ID of the copy destination medium acquired from the media ID reading unit 602, and the Nonce generated by the nonce generation writing unit 607. is there.
  • the server When the Java application sends the key data element data to the server, the server generates key information from the sent key information element data and the private key of the server, and sends the key information back to the Java application.
  • the Java application receives the key information generated by the server, and delivers the key information and copy management information to the managed copy control unit (S310). After the copy management information and the key information have been delivered, the Java application sends a data copy start request to the managed copy control unit, and the copy execution unit 604 of the managed copy control unit starts managed copy (S311).
  • FIG. 14 shows details of the data copy S311 performed by the managed copy control unit 423.
  • the managed copy control unit 423 issues a copy start notification to the Java application (S401).
  • the managed copy control unit 423 acquires copy source file information from the copy source file information storage unit 611 (S402).
  • the managed copy control unit 423 refers to the content content information of the copy source file information acquired in step S402, and determines whether it is a full copy or a partial copy (S403).
  • step S403 If all copies are made in step S403, all files on the copy source disk are copied (S409). If the copy is a partial copy in step S403, the mapping data processing unit 609 obtains the file name listed at the beginning of the copy file (S404).
  • the mapping data processing unit 609 refers to the file mapping information and confirms whether a file name corresponding to the file name of the copy file exists (S405). If mapping information does not exist in step S405, the copy execution unit 604 performs copying to the copy destination using the directory position and file name described in the copy file through the write control unit 419 (S406). If mapping information exists in step S405, the copy execution unit 604 copies the file described in the copy file portion to the copy destination with the directory and file name described in the mapping information through the write control unit 419 ( S407).
  • the copy execution unit 604 confirms whether or not an uncopied file name exists in the copy file when step S406 or step S407 is completed (S408). If an uncopied file exists in step S408, the next file is acquired, and the process proceeds to step S404. If an uncopied file does not exist in step S408, it means that the data copy process is completed, and the Java application is notified of the completion, and the process ends.
  • FIG. 15 shows an example of a display screen when copying is completed.
  • FIG. 16 shows conventional copy management information without mapping information.
  • the user selects a partial copy of copy content ID # 2 in FIG. In that case, it is expected that a disc capable of reproducing only the privilege video is generated as a copy destination disc. Specifically, it is necessary to copy a file group related to the privilege video and a disk configuration database file (index.bdmv).
  • FIG. 17 shows a block diagram when the conventional reproducing apparatus completes copying using the copy management information of FIG.
  • the playback device copies the file name written in the copy file of the copy management information to the copy destination as it is.
  • the disc created as the copy destination has the copy source disc configuration database file that reproduces the main video at the time of start-up copied as it is.
  • the main video has not been copied. Since there is no main video to be played at startup, an error occurs as shown in FIG. 18 when the copy destination disk shown in FIG. 17 is played back.
  • the database file for the new disk configuration is stored at an unused location even on the new disk.
  • FIG. 19 shows a configuration diagram when copying is completed according to the present embodiment.
  • the playback apparatus performs managed copy based on the copy management information of FIG.
  • FIG. 11 shows a disk configuration database file (BDMV / MC / extensively.indx) stored in a position not used by the original disk, and a position where the playback device can use the new disk (BDMV / MC / externally.indx) BDMV / index.bdmv).
  • the disk configuration database file (BDMV / MC / externally.indx) according to the new disk configuration corresponds to the “partial copy index table file” according to the present invention.
  • the reproducing apparatus of the present embodiment performs copying using the processing shown in FIGS. 13 and 14, the copy destination disk of FIG. 19 is completed. That is, in this embodiment, it is possible to generate a disk in which database consistency is maintained.
  • the copy destination disk in FIG. 19 is reproduced, the privilege video can be reproduced without causing database inconsistency as shown in FIG.
  • FIG. 21 shows an example of a copy management information list in the second embodiment.
  • the copy management information list according to the present embodiment includes file digest information in the copy content ID, content content information, copy file, file mapping information, copy destination media type, and resolution / capacity / price information shown in FIG. Have been added. Detailed description of each part will be omitted in the same parts as in FIG. 11, and only the changes will be described.
  • the file described in the copy file column is not limited to the file existing on the copy source disk, and in this embodiment, a file on the local storage can be described as a copy target.
  • the file name of the copy file starts with “BUDA / externally.indx”.
  • the file digest column newly added in the present embodiment exists only when the copy target file refers to data in the local storage, and describes the digest value of the copy target file.
  • FIG. 22 describes the configuration of the managed copy control unit in the second embodiment. Since the detailed description of each part has been described with reference to FIG. 9, the same parts are omitted, and only the changes are described.
  • an authentication unit 613 is added as a new configuration.
  • the authentication unit 613 confirms the validity of the file by performing a digest value authentication process.
  • FIG. 23 is a flowchart showing data copying by the managed copy control unit 423 in the second embodiment.
  • steps S501 to S505 are added to the data copy processing of FIG. Note that S401 to S404 are the same as the processing in FIG.
  • the mapping data processing unit 609 next refers to the file mapping information and confirms whether a file name corresponding to the file name of the copy file exists (S405). If the mapping information exists in step S405, the copy execution unit 604 determines whether the copy file is a local storage file (S501). Whether or not a file is a local storage file is generally determined based on the first character string of the file name, but other methods may be used.
  • step S501 when it is determined in step S501 that the copy file is not a local storage file, the copy execution unit 604 describes the file described in the copy file portion in the file mapping information via the write control unit 419.
  • the directory and file name are copied to the copy destination (S407).
  • step S501 If it is determined in step S501 that the copy file is a local storage file, it is necessary to check the validity of the local storage data using steps S502 to S505.
  • the managed copy control unit 423 determines whether or not the local storage file written in the copy file can be accessed by the managed copy management Java application (S502). If it is determined in step S502 that access is possible, the copy execution unit 604 acquires the digest value corresponding to the copy file of the copy management information, and passes the acquired digest value to the authentication unit 613 (S503). If it is determined in step S502 that access is not possible, the copy target file is not copied and the process proceeds to S408.
  • the copy execution unit 604 acquires the binary data of the file described in the copy file portion from the local storage, and delivers it to the authentication unit 612.
  • the authentication unit 613 that received the binary data of the file.
  • the digest value of the received file is calculated (S504).
  • the authentication unit 613 compares the digest value received in step S503 with the digest value calculated in step S504, and determines whether or not they match (S505).
  • the copy execution unit 604 copies the file described in the copy file portion with the directory and file name described in the file mapping information via the write control unit 419. Copy first (S407).
  • step 505 If the digest values do not match in step 505, it means that the falsified file has been designated as a managed copy target, and therefore the copy target file is not copied and the process proceeds to S408.
  • the copy execution unit 604 determines whether the copy file is a local storage file (S506). If it is determined in step S506 that the file is not a local storage file, the copy execution unit 604 performs a copy to the copy destination using the directory and file name of the file described in the copy file via the write control unit 419 (S406). . If it is determined in step S506 that the file is a local storage file, the local storage data cannot be copied without mapping, and the process proceeds to S408 without copying the copy target file.
  • FIG. 24 shows a block diagram when copying is completed according to the present embodiment.
  • the playback apparatus performs managed copy based on the copy management information (FIG. 21) that can also specify files in the local storage.
  • the stream file uses the copy source stream, and the database file is copied from the local storage as the BDMV / index, not from the copy source disk.
  • the copy management information used in the managed copy is extended from the conventional copy management information on the disk or sent from the server.
  • the third embodiment for example, a description will be given of a modification in which an index file is automatically generated by a playback device when a copy destination index file is not stored in advance and a disc conforming to the standard cannot be created.
  • the same parts as those of the first embodiment already described are omitted, and only the differences from the first embodiment are described. It should be considered that the portions not described are the same as those in the first embodiment.
  • FIG. 25 shows an example of a copy management information list in the third embodiment. It can be seen that, in the content ID # 2 to be partially copied, the index file and the scenario file necessary for reproduction are not targeted for copying. In such a case, there is a problem that the copy destination disk after completion of managed copy falls into a state where it cannot be reproduced. Therefore, in the present embodiment, a method of maintaining reproduction compatibility even when a copy management information list as shown in FIG. 25 is received will be described with reference to FIGS.
  • FIG. 26 describes the configuration of the managed copy control unit in the third embodiment. Since the detailed description of each part has been described with reference to FIG. 9, the same part is omitted, and only the changes are described here.
  • a database file generation unit 620 is newly added.
  • the database file generation unit 620 generates index files and scenario files necessary for reproduction when they are not described as copy files of copy management information.
  • FIG. 27 is a flowchart showing data copying by the managed copy control unit 423 in the third embodiment.
  • steps S601 to S607 are added to the data copy processing of FIG.
  • S401 to S408 are the same as the processing in FIG.
  • the managed copy control unit 423 confirms whether or not the minimum necessary files that can be reproduced as the copy destination disk are prepared (step S601). .
  • the managed copy control unit 423 first displays Index., Which indicates the title structure of the copy destination. It is checked whether the bdmv file exists at the copy destination (S602).
  • step S602 Index. If it is determined that the bdmv file does not exist, the database file generation unit 620 determines that the copy destination Index. A bdmv file is generated (S603). Specifically, Index.1 that includes one First Play and one title. Create a bdmv file. In this example, “generate” is used. However, the reproduction apparatus may store the template in advance and copy it.
  • step S603 Whether the processing in step S603 has been completed, or in step S602, Index. If it is determined that the bdmv file exists, the managed copy control unit 423 determines that the Index. It is checked whether the number of titles included in bdmv matches the number of object files in the copy source file information (S604).
  • the object file referred to here is a file indicating the configuration of the video included in the title, and has a file name with an extension “bdjo” or a file name “MovieObject.bdmv”. is there.
  • the database file generation unit 620 If it is determined in step S604 that the object file is insufficient, the database file generation unit 620 generates an object file associated with the stream of the copy source file information (S605).
  • the stream is not referred to by another object file, but this embodiment is intended to prevent errors during playback, and is therefore already referenced. Also good.
  • the object file is Index. Steps S604 and S605 are repeated until the number of bdmv matches. If the object file is Index. If the number matches the number of bdmv, the managed copy control unit 423 notifies the Java application of the completion of copying and completes the data copying.
  • FIG. 28 shows a block diagram when copying is completed according to the present embodiment.
  • the minimum required files for reproduction are not enough, they are generated on the reproduction apparatus side and added to the managed copy target.
  • the index In the copy destination disk in FIG. 28, the index. It can be seen that bdmv, an object file, and a stream copied from the copy source are included. In other words, in this embodiment, not only can a disc with playback compatibility be maintained, but also when data received from the server is incomplete, the file generated by the playback device compensates for it, and managed copy Can be performed.
  • generation of an object file is described as an example.
  • a Java application may be generated.
  • FIG. 29 is a block diagram showing a rough functional configuration of the playback apparatus according to the fourth embodiment.
  • the difference from the first embodiment is that a virtual file system 424 is added to the configuration of the playback apparatus.
  • the local storage 422 according to the fourth embodiment is used not only as a copy destination for a managed copy but also for storing downloaded additional content and data used by an application.
  • the storage area for additional content is divided for each BD-ROM.
  • An area that can be used by an application to hold data is divided for each application.
  • a rule indicating how to merge the downloaded additional content with the data on the BD-ROM, that is, merge management information describing the merge rule is also stored in the local storage 422.
  • the virtual file system 424 merges the additional content stored in the local storage 422 with the content on the BD-ROM based on the merge management information downloaded to the local storage 422 together with the additional content.
  • Build ROM virtual package
  • the virtual package and the original BD-ROM can be referred to without distinction.
  • the playback device performs playback control using both data on the BD-ROM and data on the local storage.
  • FIG. 30 is a diagram showing a directory structure in the local storage in the fourth embodiment.
  • On the local storage there are an additional content area root directory, a CertID directory, an OrganizationID directory, a DiscID directory, a merge management information file, a signature information file, and an additional content data file.
  • the additional content area root directory exists directly under the root directory of the local storage and indicates the root of the additional content area, and the directory name is a fixed value (BUDA) of 8 characters or less.
  • BUDA fixed value
  • the CertID directory is a directory whose name is an ID derived from the disk root certificate (discroot.crt) on the BD-ROM. Specifically, it is an 8-character name directory in which the first 32 bits of the SHA-1 digest value 160 bits of the disk root certificate are represented in hexadecimal notation.
  • the Organization ID directory is an 8-character name directory in hexadecimal notation that represents a 32-bit identifier (Organization ID) that identifies the provider of a movie work described in the BD management information (index.bdmv) on the BD-ROM. is there.
  • the DiscID directory is a directory composed of four directories each having an 8-character name expressed in hexadecimal notation by dividing a 128-bit identifier (DiscID) specifying the BD-ROM into 32 bits from the top. DiscID is described in BD management information (index.bdmv) on the BD-ROM.
  • the merge management information file includes merge management information for building a virtual package from the additional content data file on the local storage and the file on the BD-ROM.
  • the merge management information is composed of information on storage locations of each file on the local storage constituting the virtual package, virtual path information for accessing those files on the virtual package, and a virtual package ID.
  • the virtual package ID uniquely identifies the configuration of the virtual package, and a different ID is assigned to each virtual package even in the same BD-ROM.
  • the merge management information file has a file name bumf. It is stored in the DiscID directory as xml.
  • the signature information file is a file indicating the provider's electronic signature for the merge management information file. It is saved in the DiscID directory with the file name sf.
  • a hash value is generally calculated for information that needs to be prevented from being falsified, and the hash value is encrypted using a secret key.
  • the hash value of the merge management information file is encrypted using a private key corresponding to the public key in the disk root certificate on the BD-ROM.
  • the disk root certificate is a certificate used for Java application authentication and merge management information file authentication, and includes a public key published by the provider.
  • the disk root certificate provided by the provider is stored on the BD-ROM discroot. It is saved with the file name crt.
  • An example of the file format of the merge certificate is X. 509 can be used. X. Detailed specification of 509 is described in CCITT Recommendation X.509 (1988), “The Directory Directory Authentication Framework” issued by the International Telegraph and Telephone Consultative Committee.
  • the additional content data file is a group of files to be added / updated to the original content recorded on the BD-ROM.
  • Files in the 8.3 format (file name is 8 characters or less, extension is 3 characters or less) on the local storage. Saved by name.
  • “00001.mpl” stores playlist information
  • “mo.bdm” stores scenario programs in the HDMV mode
  • “00001.m2t” stores a digital AV stream.
  • the file is recorded on the BD-ROM and can be supplied to the user, another file to be recorded on the BD-ROM can be selected as the target of the additional content data file.
  • index For example, index. Additional content data such as files containing bdmv and Clip information (files with an extension of clpi), Java archive files (files with an extension of jar, files with BD-J objects (files with an extension of bdjo), etc. Can be selected as a file target.
  • FIG. 31A shows the internal structure of merge management information.
  • the three additional content data files m2t are associated with the file path on the local storage and the file path on the virtual package.
  • the file path on the local storage conforms to the 8.3 format.
  • This merge management information file is distinctive because the directory name and file name in the local storage conform to the 8.3 format in consideration of the case where a removable medium that uses the FAT file system is used as the local storage. It is a point.
  • the file recorded on the BD-ROM is in the Long File Name (LFN) format, it can have a file name such as 10 characters or 20 characters and an extension name such as 5 characters or 6 characters. .
  • the file name is limited to a maximum of 8 characters
  • the directory name is limited to a maximum of 8 characters
  • the extension is limited to a maximum of 3 characters.
  • the file path on the local storage conforming to the 8.3 format is associated with the file path of the LFN in the virtual package.
  • the file path of this virtual package conforms to the directory structure of the BD-ROM. This is because the virtual package handles files on the local storage as if they were stored in a BD-ROM.
  • the additional content data file on the local storage is not more than 255 characters in the 8.3 format.
  • the file name is used to access with an alias.
  • the merge management information file realizes "alias access" with various file names recorded in the 8.3 format using file names of 255 characters or less.
  • the description of the file path in this figure will be explained specifically.
  • the 8.3 format file path of “12345abc / 12345678 / 90abcdef / 12345678 / 90abcdef / 00001.mpl” in the local storage includes BDMV / PLAYLIST / 00001.mp3.
  • the file path in the LFN format on the virtual package called mpls is associated. This example is based on the previous figure, and the path from the CertID directory to the additional content data file is specified.
  • 8.3 file path “12345abc / 12345678 / 90abcdef / 12345678 / 90abcdef / 00001.m2t” on the removable media includes BDMV / STREAM / 000001.
  • An LFN format file path on a virtual package called m2ts is associated.
  • FIG. 31B shows how the BD-ROM content and the additional content on the local storage are merged based on the contents of the merge management information.
  • the left side shows the stored contents of the BD-ROM, and the middle side shows the stored contents of the local storage.
  • the right side shows the stored contents of the virtual package.
  • the bdm is accessed with an alias file name “MovieObject.bdmv” existing in the BDMV directory.
  • the mpl is accessed with an alias file name “00001.mpls” existing in the PLAYLIST directory under the BDMV directory.
  • FIG. 32 is a diagram showing a more specific configuration of the BD-J module shown in FIG.
  • the BD-J module 414 includes a media playback module 702, a virtual file system management module 703, a managed copy module 704, a file I / O module 705, a network module 706, and an application manager 707.
  • AV playback library 420 network I / F 421, local storage 422, managed copy control unit 423, and virtual file system 424 in this figure are the same as those shown in FIG. For convenience of explanation, the manager 707 is described.
  • Application manager 707 manages the startup and termination of Java applications based on the application management information recorded on the BD-ROM. The application manager also performs processing such as passing the UO event received from the dispatcher 417 to the currently running Java application 701.
  • the media playback module 702 provides an API for media playback control to the Java application 701.
  • the media playback module calls a function of the corresponding AV playback library 420 to perform AV playback control.
  • the network module 706 provides an API for network control to the Java application 701.
  • the network module 706 performs network connection using the network interface 421 in accordance with a network control request from the Java application 701.
  • the Java application 701 can use the network module 706 to search for and download additional content that has been made public, and to perform server access necessary for managed copy authentication.
  • the file I / O module 705 processes a file access request from the Java application 701 to each medium such as a BD-ROM, a local storage, and a recordable BD drive.
  • the Java application 701 can place the additional content file at an appropriate position on the local storage using the file I / O module. It is also possible to delete an additional content file that is no longer needed or directly edit the additional content file. Access to the virtual package is also performed through this file I / O module 705. However, access to the virtual package is read-only, and writing from the file I / O module 705 is not possible.
  • the LFN format file path for the BD-ROM is handed over to the Java application 701. Therefore, the file path is an LFN file path recorded in the local storage. Perform a search to see if there is something in the local storage that can be accessed.
  • This search is performed by determining whether or not the file path of the LFN is described as “an alias file path” in the merge management information file.
  • the additional content data file that can be accessed with the LFN file path is read from the BD-ROM. If there is no additional content data file accessible in the LFN file path in the BD-ROM, error processing is performed.
  • the managed copy module 704 provides an API for managed copy control to the Java application 701. By calling this API, the Java application obtains copy source / destination media information necessary for managed copy authentication, makes a copy start request to the managed copy control unit, and checks the progress status during copying. Details of these APIs will be described later.
  • the virtual file system management module 703 receives a virtual package construction / update request from the Java application 701 and transmits the request content to the virtual file system 424.
  • the Java application 701 issues a construction / update request specifying a new merge management information file and signature information file.
  • the virtual file system 424 When the virtual file system 424 receives a virtual package construction / update request through the virtual file system management module 703, the virtual file system 424 verifies the signature of the new merge management information file using the newly specified signature information file. Thereafter, the old merge management information file and signature information file are replaced with the new merge management information file and signature information file, and the virtual package is reconstructed. The merge management information file and signature information file are replaced at the time of title switching.
  • FIG. 33 is a flowchart when the BD-ROM is inserted.
  • the virtual file system 424 is stored in the disc.
  • the CertID directory is determined from crt (S101). Next, index.
  • the Disc ID and Organization ID described in bdmv are confirmed (S102), and the corresponding Disc ID directory on the local storage is determined (S103).
  • the virtual file system 424 checks whether both the merge management information file and the signature information file exist in the DiscID directory corresponding to the inserted BD-ROM (S104).
  • the virtual file system 424 starts reproduction only with the data on the BD-ROM without constructing the virtual package. If both the merge management information file and the signature information file exist, the virtual file system 424 uses the signature information file to confirm that the merge management information file has not been tampered with (S105).
  • step S105 If the signature verification fails in step S105, reproduction is started only with the data on the BD-ROM without constructing the virtual package. If the signature verification is successful in step S105, it is confirmed whether the file exists in the file path on the local storage listed in the merge management information (S106).
  • the virtual file system 424 changes the attributes of these files to read-only. Then, the additional content file stored in the DiscID directory is merged with the content on the BD-ROM based on the contents of the merge management information, and a virtual package is constructed (S107).
  • the virtual package exists virtually. Actually, a part of the package is a file on the local storage, and the other part is a file on the BD-ROM.
  • the HDMV module 413 and the BD-J module 414 which are application layers (the fourth layer in FIG. 3) refer to all files as if they are on the BD-ROM.
  • the virtual file system 424 monitors the reference to the BD-ROM from the application layer, and the path to the reference destination file matches the file path of the virtual package described in the merge management information. For example, the virtual file system 424 changes the reference destination for the file on the local storage described in the corresponding file path.
  • FIG. 34 is a flowchart showing a processing procedure for reconstructing a virtual package by replacing the old and new merge management information files when switching titles.
  • the Java application makes a virtual package update request during playback of the title (S202).
  • the argument values given at the time of the virtual package update request are a file path indicating the position of the new merge management information file and a file path indicating the position of the signature information file corresponding to the new merge management information file.
  • the virtual file system 424 When the virtual file system 424 receives a virtual package update request, the virtual file system 424 changes the status of the virtual file system 424 to “preparation for update” and sets the attribute to read-only so that the specified new merge management information file cannot be rewritten. Change (S203). Then, signature verification of the new merge management information file is performed using the signature information file specified at the time of the virtual package update request (S204).
  • step S204 If the signature verification in step S204 fails (No in S205), the virtual file system 424 interrupts the virtual package update request. Then, the virtual file system 424 returns the attribute of the new merge management information file from read-only to the original attribute before the virtual package update request, and throws a virtual package update request rejection notification event to the Java application (S209).
  • step S204 If the signature verification in step S204 is successful (Yes in S205), the virtual file system 424 checks the existence of files on the local storage referred to by the new merge management information file, and those files are obtained from the Java application. The attribute is changed so as to be read-only (S206).
  • the virtual file system 424 interrupts the virtual package update process. Then, the virtual file system 424 returns the attribute of the file whose attribute has been changed in steps S203 and S206 to the original attribute before the virtual package update request. Then, a virtual package update request rejection notification event is thrown to the Java application (S209).
  • the virtual file system 424 sets the state of the virtual file system to "update preparation complete” and throws an update preparation completion notification event to the Java application.
  • the new merge management information file is inserted instead of overwriting the old merge management information file.
  • the file is moved under the DiscID directory corresponding to the DiscID of the BD-ROM, and renamed to a normal merge management information file name.
  • the signature information file is replaced and moved between the old and new files.
  • the virtual file system 424 reconstructs the virtual package based on the new merge management information file after completing the replacement of the old and new merge management information file and signature information file and moving the file (S212).
  • the file on the local storage that was referenced from the old merge management information file but not referenced from the new merge management information file is released from the read-only attribute, and can be read and written by the Java application. .
  • the attribute remains read-only.
  • the playback of the switching destination title is started using the newly constructed virtual package (S201).
  • the merge management information file corresponding to the virtual package being reproduced and the file on the local storage that is referenced by the merge management information file are always read-only during the reproduction of the virtual package. Cannot edit and delete.
  • FIG. 35 is a diagram showing a temporal processing flow until the Java application issues a virtual package construction / update request and the virtual package is updated.
  • the first level is the playback time axis of the title.
  • the second level is the operation time axis of application # 1.
  • the third level is the operation time axis of application # 2.
  • the fourth level is a time axis indicating the state transition of the virtual file system.
  • FIG. 35 assumes a state where storage of a new merge management information file and signature information file is completed as an initial state.
  • additional content and a new merge management information file and signature information file different from the merge management information file and signature information file used to construct the current virtual package are downloaded from a server on the Internet.
  • the state stored on the local storage is assumed as the initial state.
  • the Java application 701 requests the virtual file system 424 to construct / update the virtual package through the API provided by the virtual file system management module 703 at the time point t1 during reproduction of the title # 1.
  • requestUpdating (“/org#1/disc#1/new.xml” and “/org#1/disc#1/new.sf”) is an API call that is a virtual package construction request.
  • the arguments "/org#1/disc#1/new.xml” and “/org#1/disc#1/new.sf" of this virtual package construction request are new merge management information stored in the local storage. This is a file path that specifies the location of the file and the signature information file. Time t1 indicates the time when this update request is made.
  • time point t1 is a time point when a virtual package construction / update request is received from the Java application 701 and the state of the virtual file system 424 is changed to “preparing for update”.
  • the specified new merge management information file and the file attribute on the local storage that is referenced by the new merge management information file are changed to read-only.
  • the signature verification of the new merge management information file is performed using the signature information file designated from the Java application 701 when the virtual package update request is made. Further, it is checked whether all the files described in the file storage location information of the new merge management information file exist at the designated location.
  • the time point t2 indicates a time point at which the status of the virtual file system 424 is set to “ready for update” after the file existence check is completed. In this way, the state is changed, and an update preparation completion notification event is thrown to the Java application. If the signature verification of the new merge management information file or the existence check of the file fails, the virtual file system 424 rejects the update request and sends an update request to the Java application 701 via the virtual file system management module 703. Throw a rejection notification event. Then, the state of the virtual file system 424 is returned to the state before “preparation for update” (“virtual package playback state” or “BD-ROM playback state”).
  • “Virtual package playback state” refers to a state in which a BD-ROM is loaded on a playback device, being played back as a virtual package by the virtual file system 424, and there is no pending virtual package update request.
  • the “BD-ROM playback state” refers to a state in which the BD-ROM is loaded on the playback device, being played back as it is as the original BD-ROM, and there is no pending virtual package update request.
  • the time point t3 indicates a time point after the state of the virtual file system 424 becomes “update ready”.
  • the virtual file system 424 uses the new merge management information file specified at the time of the virtual package update request to convert the old merge management information file (the merge management information file used for the current virtual package construction). By overwriting, the old merge management information file is replaced with the new merge management information file.
  • the new merge management information file is inserted instead of overwriting the old merge management information file. It moves under the DiscID directory corresponding to the DiscID of the BD-ROM. By doing so, the new merge management information is renamed to a proper merge management information file name (bumf.xml).
  • the signature information file is also replaced with the old and new signature information file in the same way as the merge management information file.
  • the virtual file system 424 stores the DiscID directory corresponding to the DiscID of the inserted BD-ROM.
  • the virtual package is rebuilt based on the new merge management information stored below, and the file structure of the virtual package is updated.
  • the time point t4 is a time point when the update is finished, and the local storage 422 enters the “virtual package reproduction state”. Even after the virtual package is updated, the attribute of the file on the local storage indicated by the file storage location information of the old merge management information file and the new merge management information file remains read-only during the virtual package playback state. . However, read-only attributes of files that are referenced from the old merge management information file but not from the new merge management information file are canceled and can be read and written by the Java application.
  • FIG. 36 is a detailed diagram of the managed copy control unit 423 in the fourth embodiment.
  • the managed copy control unit 423 includes a serial number reading unit 601, a media ID reading unit 602, a media status management unit 603, a copy execution unit 604, a copy status notification unit 605, a copy progress management unit 606, a nonce generation writing unit 607, and And a key information writing unit 608.
  • the serial number reading unit 601 reads a PMSN (Pre-recorded Media Serial Number) indicating a physical serial number of a recording medium recorded in a BCA (Burst Cutting Area) which is a special area on the BD-ROM. . This serial number is used to generate key information described later.
  • PMSN Pre-recorded Media Serial Number
  • BCA Burst Cutting Area
  • the media ID reading unit 602 reads media-specific information (media ID) that is recorded on the copy destination medium and is uniquely set for each medium. This value cannot normally be rewritten, and a different value is assigned to each medium even for the same type of medium. This media ID is also used to generate key information.
  • media ID media-specific information
  • the media status management unit 603 manages a list of media types that can be used as a copy destination by the playback device. For example, if the playback device includes an SD card slot and a recordable BD drive and only the SD card is currently inserted, the SD card is determined to be the current copy destination. If both the SD card and the BD-R are inserted, it is determined that both the SD card and the BD-R can be used as a copy destination. In addition, the media state management unit 603 also manages the free capacity of the copy destination medium.
  • the copy execution unit 604 executes data copy from the BD-ROM to another medium. If a virtual package is constructed at the time of data copying, data on the local storage is also a copy target. That is, when data on the BD-ROM is read, the virtual package in which the file on the BD-ROM and the file on the local storage are merged is directly written to the copy destination medium by passing through the virtual file system 424. Will be. Depending on the copy destination medium, the copy execution unit 604 also re-encodes the stream.
  • the copy status notification unit 605 manages status transitions such as start of copying, normal termination, and error termination, and notifies the status transition to the Java application via the BD-J module.
  • the copy progress management unit 606 manages the remaining number of bytes to be copied and the number of copied bytes, and notifies the current progress information in response to a request from the Java application.
  • the nonce generation / write unit 607 creates and writes a value (Nonce) that is randomly generated every time managed copy is performed. This Nonce value is also used to generate key information described later.
  • the key information writing unit 608 writes the key information generated from the serial number of the BD-ROM, the media ID of the copy destination medium, and the Nonce.
  • the key information is generated based on the secret key in the server.
  • the Java application acquires the serial number, media ID, and Nonce, and then transmits this value to the server.
  • the server generates key information based on the value sent from the Java application and the secret key managed by the server, and sends the generated key information back to the Java application.
  • the Java application sets the key information sent from the server in the key information writing unit 608, and the key information writing unit 608 writes the set key information to the copy destination medium.
  • the key information is used for decrypting the encrypted content key.
  • the protected content can be reproduced. That is, without this key information, even if the encrypted content key and the protected content are illegally copied from the BD-ROM to another medium, the copied protected content cannot be reproduced.
  • the managed copy control unit 423 has the above configuration, and a managed copy control API is provided for the BD-J module so that the operation of these components can be controlled from the Java application.
  • a managed copy control API is provided for the BD-J module so that the operation of these components can be controlled from the Java application.
  • these APIs will be described.
  • (1) ManagedCopy # getPMSN () Returns the serial number of the copy source media.
  • (2) ManagedCopy # getMCMediaInfoList () Returns a list of media that are supported by the playback device as copy destinations and that have media inserted and are currently available as copy destinations.
  • ManagedCopy # setCopyInfo (byte []) Sets copy management information sent from the server together with key information.
  • the copy management information includes information such as a file list to be copied, resolution that can be copied, and whether or not copying is possible in the virtual package state.
  • MCMediaInfo Start copying data to the media specified by the argument.
  • MCMediaInfo # getMediaType When this API is called for each element of the copy destination list acquired with getMCMediaInfoList (), the media type (BD-R, BD-RE, SD, HDD, DVD-R, etc.) is returned.
  • MCMediaInfo # getUniqueId () Returns the media ID and Nonce byte string of the destination media. A copy destination Nonce is generated and written when this API is called. Nonce may not exist depending on the type of media. In this case, only the media ID is returned.
  • MCMediaInfo # setSignature (byte []) Set the key information to be written to the copy destination.
  • MCMediaInfo # When data copy is started, the value set by this API is written to the copy destination as key information.
  • MCMediaInfo # addMCListener (MCListener) Registers a listener that receives a managed copy state transition notification. When a state transition such as the start of managed copy, normal end, or abnormal end occurs, the listener registered with this API is notified of the state transition.
  • FIG. 37 is a diagram showing data transmission / reception between a Java application and a server.
  • the Java application copies the DiscID described in the BD management information (index.bdmv), the virtual package ID described in the merge management information file (bumf.xml), and MCMediaInfo # getMediaType ().
  • a list of media types of the candidate media is transmitted to the server.
  • the server creates a copy management information list and a session ID from these data and sends it back to the Java application.
  • the Java application may send the file configuration list of the current virtual package to the server instead of the virtual package ID.
  • the server can specify the current state of the virtual package from the received file configuration. If the current configuration is not a virtual package, the virtual package ID transmitted to the server is a Null value.
  • the session ID is used to manage the progress of the exchange between the server and the Java application on the server side. For example, when the key information is requested without performing the accounting process, the server confirms the session ID, determines that the accounting process has not been completed for this session, and can reject the key information request.
  • the copy management information list includes an identifier (copy content ID) assigned to uniquely identify copy content, content content information described in a character string understandable by the user, a list of files (or directories) to be copied, It includes media types that can be copied, information on whether or not copying as a virtual package (virtual package status), resolution that can be copied, capacity required for copying, and price information.
  • copy content ID an identifier assigned to uniquely identify copy content
  • content content information described in a character string understandable by the user a list of files (or directories) to be copied
  • It includes media types that can be copied, information on whether or not copying as a virtual package (virtual package status), resolution that can be copied, capacity required for copying, and price information.
  • FIG. 38 shows an example of the copy management information list.
  • a directory When a directory is specified for a file to be copied, it indicates that all files under that directory are to be copied.
  • the Java application displays a screen for presenting the contents of the contents that can be copied to the user based on the copy management information list (an example of the screen display is shown in FIG. 39B). If there are a plurality of copy destination candidates, the copy destination candidates are presented to the user (an example of a screen display is shown in FIG. 39C).
  • the Java application determines the content to be copied and the copy destination medium based on the user's selection. At this time, if the free space obtained by MCMediaInfo # getFreeSpace () is compared with the necessary space described in the copy management information and it is determined that the copy destination candidate has insufficient space, the capacity from the copy destination candidate The lack of media may be removed or the user may be warned.
  • the billing information includes a credit number and a user ID. If charging is not necessary, the charging information may not be input, or only the copy count may be checked.
  • the Java application transmits a copy content ID corresponding to the content selected by the user, a media type of the copy destination, charging information, and a session ID to the server. If the server determines that these data are correct, it returns OK to the Java application.
  • the Java application acquires element data of key information.
  • the element data of the key information is a copy source serial number, a copy destination media ID, and a nonce.
  • copy source serial number can be obtained by calling ManagedCopy # getPMSN ().
  • the copy destination media ID and the Nonce value can be obtained by calling MCMediaInfo # getUniqueId () of the corresponding copy destination media.
  • the server When the Java application sends the serial number, media ID, nonce, and session ID to the server, the server generates key information from the element data of the sent key information and the private key of the server, and sends it to the Java application. Send back key information.
  • the Java application When receiving the key information from the server, the Java application delivers the copy management information and key information to be copied to the managed copy control unit.
  • the copy management information is called by specifying the copy management information in the argument of ManagedCopy # setCopyInfo (byte []), and the key information is the key in the argument of MCMediaInfo # setSignature (byte []).
  • the key information is the key in the argument of MCMediaInfo # setSignature (byte []).
  • the Java application can grasp the progress of the copy by calling MCProgress # getMCProgress ().
  • FIG. 40 is a diagram showing an example of displaying the progress of copying on the screen. Since the Java application can know the number of remaining bytes and the number of copied bytes, the approximate remaining time can be determined therefrom.
  • MCMediaInfo # addMCListener () and registering a listener that receives a managed copy state transition notification, a copy start / end notification can be received. Then, until a copy end notification is received, a progress bar can be displayed and an advertisement such as a new work introduction can be displayed. Another possibility is to implement a simple game application.
  • the Java application since a notification can be received even when copying fails, the Java application receives a copy failure notification and cancels the charging process when copying fails due to, for example, media being forcibly removed. It is also possible to take action.
  • the Java application determines that the managed copy has been completed, and transmits the session ID of the completed managed copy to the server.
  • the server that has received the session ID determines that the managed copy of the session has been completed, and collects the session ID.
  • FIG. 41 is a flowchart of managed copy control by a Java application.
  • the Java application calls ManagedCopy # getMCMediaInfoList (), and checks whether there is a medium that is currently a copy destination candidate (S901). If there is a copy destination candidate medium, the Java application transmits the Disc ID, the virtual package ID, and the media type list of the copy destination candidate medium to the server. Then, a copy management information list and a session ID generated by the server based on these data are received from the server (S902).
  • the copy destination medium and the copy source content are selected based on the copy management information list (S903).
  • the selection method may be selected by the Java application itself, or the copyable content and media list may be presented to the user, and the user may be selected from the list.
  • FIGS. 39B and 39C show an example in which a copyable content and a media list are presented to the user.
  • the capacity required for the copy destination medium described in the copy management information may be displayed.
  • the necessary capacity may be calculated from the file size of the copy source and the calculated value may be displayed.
  • the calculation of the capacity required for copying may be performed by the Java application, or the Java application may refer to the value calculated on the playback device side.
  • the Java application may refer to the value calculated on the playback device side.
  • the file size and the number of files are changed. In this case, it is efficient to calculate the required capacity in the playback device. .
  • the Java application can acquire the required capacity calculated by the playback device from MCMediaInfo # getRequiredSpace (). If copying of both the original BD-ROM and the virtual package is supported, that is, if the virtual package status of the copy management information is “Both”, MCMediaInfo # getRequiredSpace () is the original BD-ROM. Returns two values: the capacity required for copying as a virtual package and the capacity required for copying as a virtual package.
  • the billing process here refers to a series of processes for connecting to a server and authenticating a credit number or the like. In particular, if charging is not necessary, this step may be skipped, or charging may not be performed, and only the count of the number of copies may be checked.
  • the key data element data is acquired (S906).
  • the element data of the key information is the serial number of the copy source medium, the media ID of the copy destination medium, and the Nonce. If acquisition of the element data of key information is completed, those element data will be transmitted to a server.
  • the server generates key information from the element data and the secret key held by the server, and sends the generated key information to the Java application.
  • the Java application receives the sent key information, it passes the copy management information and key information to be copied to the managed copy control unit (S907).
  • the copy management information is called by specifying the copy management information in the argument of ManagedCopy # setCopyInfo (byte []), and the key information is the key in the argument of MCMediaInfo # setSignature (byte []).
  • the information is specified and called, delivery to the managed copy control unit is performed.
  • FIG. 42 is a flowchart of data copying by the managed copy control unit. This flowchart is a detailed version of S908 in FIG.
  • the disk access from the Java application is restricted (S1001).
  • the reason for restricting the disk access from the Java application is to prevent the process of the managed copy control unit from colliding with the file I / O process or the stream decoding process of the Java application and failing to copy due to insufficient resources. .
  • the managed copy control unit can exclusively use the file system, decoder, encoder, and the like.
  • the current playback state is the original BD-ROM or a virtual package, and it is confirmed whether the content to be copied is compatible with the virtual package (S1002). Then, a virtual package is constructed according to the confirmation result. If the virtual package status of the copy management information is “On” and the virtual package ID is specified and is different from the current virtual package ID, the copy is impossible and the data copy fails.
  • step S1003 When the virtual package status of the copy management information is “Bottom”, “Off”, or “On” and the virtual package ID matches the current virtual package, the copy is made possible to the Java application.
  • a start notification is made (S1003). After the copy start notification, data reading from the copy source and data writing to the copy destination are started (S1004). When all the reading and writing of the data to be copied is completed, the disk access restriction performed in step S1001 is released (S1005), a copy completion notification is sent to the Java application (S1006), and the copy in the managed copy control unit is performed. Complete the process. If the copy in step S1004 fails in the middle, the disk access restriction is canceled, and a copy failure notification is sent to the Java application.
  • FIG. 43 is a diagram showing disk access restrictions during copying.
  • a Java application can call a media playback module 702 to play a stream or call a file I / O module 705 to access a file on a BD-ROM before copying by the managed copy control unit. is there.
  • the Java application calls MCMediaInfo # addMCListener () and registers the listener that receives the managed copy status transition notification, so that it can know not only the start / end of the copy but also the start / end of the disk access restriction.
  • MCMediaInfo # addMCListener MCMediaInfo # addMCListener
  • a BDMV directory is assigned to the drive of the BD-ROM 105 (copy source medium) by issuing the command “/ mount point BD / BDMV”. . Then, by issuing a command “/ mount point SD / BUDA”, a BUDA directory can be assigned to the removable medium 104 (copy destination medium).
  • a mount operation the read-only BD, the local storage, and the recordable BD are allocated to a virtual file system and are used by the Java application. If an unmount operation, that is, an unmount operation is executed, the Java application cannot recognize the read-only BD, the local storage, and the recordable BD through the virtual file system. The request can be rejected.
  • Play list reproduction by the Java application is performed by the Java application executing generation of a Java Media FrameWork (JMF) player instance. This generation is performed by creating a JMF player instance by the media playback module 702 when a JMF player instance specifying a playlist information file is generated.
  • JMF Java Media FrameWork
  • the media playback module 702 does not generate a JMF player instance of the playlist information file and returns an error, the request by the Java application is recognized. Absent. Therefore, the media playback module 702 does not generate a JMF player instance even when there is a request from the Java application when the playback request from the Java application is rejected.
  • MCMediaInfo_addMCListener (MCListener) is sent to the file I / O module 704 and the media playback module 702. Is registered in the file I / O module 704 and the media playback module 702 to receive a managed copy state transition notification.
  • the file I / O module 704 and the media playback module 702 are notified.
  • the O module 704 and the media playback module 702 transition to a state in which a request from the Java application is rejected.
  • the file I / O module 704 and the media playback module 702 respond to these requests with an error response. return.
  • BD-ROM access or the like does not compete between the managed copy control and the Java application.
  • the file I / O module 704 and the media playback module 702 may sense whether or not a managed copy has been performed, and may transition to a state in which a request from the Java application is rejected.
  • the Java application accesses the read-only BD, the local storage, and the recordable BD. It is not possible. Instead, the data in the cache memory of the BD-J module can be used.
  • the cache memory in the BD-J module is a cache for storing an archive file designated by the cache management information of the BD-J object corresponding to the current title when a title becomes the current title. is there.
  • the archive file stored here is valid while a certain title becomes the current title, and the Java application is included in the archive file in the cache without accessing the BD-ROM or the local storage. Programs and data can be used. Therefore, the Java application can use the data in the archive file even during the period when the BD-ROM is ejected.
  • FIG. 45 is a flowchart for checking the virtual package status during managed copy. This flowchart details step S1002 of FIG.
  • the virtual package state in which copying is permitted is confirmed (S1101).
  • the virtual package state is “On”, that is, when copying is possible only in the virtual package state
  • the original content on the BD-ROM is stored in the copy destination medium.
  • the virtual file structure data on the virtual package in which the additional content on the local storage is merged (see FIG. 47).
  • a file configuration that is virtual on the virtual package is recorded on the medium as an actual file configuration. In other words, data that has been distributed and recorded on two physically different media on the BD-ROM and on the local storage until now is collected into one medium after managed copy.
  • the virtual package release notification is sent to the user (S1107), and then the virtual package is released (S1108).
  • An example of notifying the user of the release of the virtual package is shown in FIG. As shown in the figure, a message indicating that only the data on the disk is copied is displayed on the screen. When the virtual package is released, it is determined that copying is possible (S1104).
  • the release of the virtual package is temporary for the managed copy, and the virtual package may be reconstructed again after the managed copy is completed.
  • the data on the original BD-ROM can be copied without releasing the virtual package by reading the data on the BD-ROM directly without passing through the virtual file system without copying the virtual package. It is also possible.
  • the designated content permits both copying in the virtual package and copying only in the BD-ROM, that is, in the case where the virtual package state of the copy management information is “Both” (S1105), first, the current is the virtual It is confirmed whether or not the package is present (S1106). If not in the virtual package state, it is determined whether or not the virtual package can be constructed (S1109). If it is determined that a virtual package cannot be constructed (No in S1110), it is determined that copying is possible using only data on the BD-ROM (S1104).
  • the current package is a virtual package (Yes in S1106), or is in the original BD-ROM state but the virtual package can be constructed (Yes in S1110), it can be copied to the user as a virtual package or only the original BD-ROM data Is inquired about whether to copy (S1111).
  • FIG. 49 An example of an inquiry to the user is shown in FIG. 49, the copy in the virtual package is expressed as “copy reflecting the update”, and the copy in the original BD-ROM is expressed as “copy the disc as it is”. This is only an example, and various expressions can be considered for the message to be displayed.
  • step S1111 If it is determined in step S1111 that the user selects copying as the original BD-ROM, the virtual package is released (S1108), and it is determined that copying is possible only with the data on the original BD-ROM (S1104).
  • step S1111 if the user selects to copy as a virtual package, if the virtual package has not been constructed yet, a virtual package is constructed (S1112). Next, when copying with the constructed virtual package, the free capacity required for the copy destination medium is confirmed (S1113). If it is determined that there is a necessary free space in the copy destination medium, it is determined that the virtual package can be copied (S1104). If the copy destination medium does not have the capacity required for copying in the virtual package, the user is inquired whether to cancel the copy itself or to stop copying in the virtual package and copy as the original BD-ROM ( S1114). An example of an inquiry to the user is shown in FIG.
  • FIG. 51 is a flowchart for determining whether or not a virtual package can be constructed. This flowchart details step S1109 in FIG. Steps S101 to S106 are the same as the processing described in FIG.
  • step S104 determines that the virtual package cannot be constructed (S1201).
  • the Java application mainly controls the managed copy.
  • a description will be given of an example in which managed copy is performed in a BD-ROM in which no Java application exists, that is, in a BD-ROM configured only in the HDMV mode.
  • a selection screen for the Java application on the BD-ROM to start managed copy is prepared.
  • a menu screen prepared in advance by the playback device is prepared. is there.
  • FIG. 52 is a diagram showing an example of a managed copy start screen in the fifth embodiment.
  • managed copy is started.
  • FIG. 53 is a diagram showing an example of a managed copy setting screen of the playback device.
  • a copy method desired by the user may be registered on the playback device side in advance.
  • the user when performing a managed copy, if additional contents exist on the local storage, if the user wants to include them in the copy target, the user selects (a) in FIG. When only the data on the BD-ROM is to be copied regardless of the presence / absence of additional content on the local storage, the user selects (b) in FIG. When it is desired to determine every time whether or not to use additional content on the local storage, the user selects (c) in FIG.
  • FIG. 54 is a flowchart of managed copy in the fifth embodiment. As described with reference to FIG. 52, when managed copy is selected on the menu screen or the like of the playback apparatus, managed copy is started.
  • step S1307 processing equivalent to the flowchart described in FIG. 41 of the fourth embodiment is performed.
  • the contents processed by the application in the flowchart of FIG. 41 of the fourth embodiment are processed on the playback device side.
  • the connection with the server uses a URL and a protocol incorporated in advance in the playback apparatus.
  • step S1301 If it is determined in step S1301 that the user has not selected “Do not use local storage”, it is determined whether or not a virtual package can be constructed (S1302).
  • the process performed in step S1302 is equivalent to the process in step S1109 of the fourth embodiment. If it is determined in step S1303 that the virtual package cannot be constructed, the managed copy process is started as the original BD-ROM (S1307).
  • step S1303 If it is determined in step S1303 that a virtual package can be constructed and the user has selected the use of local storage in advance, the virtual package is constructed (S1306), and then the managed copy process is started (S1307). If the user has selected to inquire about local storage every time, the user is inquired whether to use the local storage (S1305).
  • FIG. 55 shows an example of a local storage use inquiry screen.
  • step S1305 If the user selects not to use the local storage in step S1305, the managed copy process is started as the original BD-ROM (S1307). If the user selects to use the local storage in step S1305, after the virtual package is constructed (S1306), the managed copy process is started.
  • the managed copy process in step S1307 includes the process in step S1111 (process for inquiring the user whether to use the virtual package again) as described in the fourth embodiment.
  • the processing in step S1111 can be omitted.
  • the user may be contacted again just in case.
  • the playback apparatus of the present invention may be a recording / playback apparatus having a recording function, for example.
  • a stationary type reproducing apparatus not a portable type reproducing apparatus, has a recording function in addition to a reproducing function. If the playback device has a recording function, in addition to the so-called bit-by-bit copy of copying the bitstream as it is, the data format and the encoding method can be changed and copied (these are referred to as “transcode”.
  • Java is used as the programming language of the virtual machine, but other programming such as B-Shell, Perl Script, ECMA Script, etc. used in UNIX (registered trademark), OS, etc., is not used. A language may be used.
  • the reproducing apparatus for reproducing the BD-ROM has been described.
  • necessary data on the BD-ROM described in the above embodiment is recorded on a writable optical recording medium.
  • Such cases are also included in the present invention. And even in such a case, it is needless to say that the same effect as the above-mentioned embodiment is produced.
  • the reproducing apparatus of the present invention is used as a technique for maintaining standard compatibility in the case of partial copying in a technique (managed copy) for recording video data recorded on a recording medium to another recording medium other than the recording medium. can do. In particular, it can be used in the movie industry / consumer equipment industry involved in the production of video data (content).

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Television Signal Processing For Recording (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 従来のマネージドコピーは、コピー元ファイルのファイル構成を維持したままファイルをコピーする。そこで、コピー元ファイルのファイル構成を変更する部分コピーを行う場合、規格外のディスクが作成され、再生装置で再生することができないという課題がある。  本発明の再生装置は、マネージドコピー制御部423がマッピングデータ処理部609を備え、部分コピーの場合、コピー対象ファイルのファイル名を、コピー先ディスク802用のファイル名に変更してコピーする。これにより、部分コピーの場合であっても、再生装置で再生することができる再生規格を保ったディスクを作成することができる。

Description

再生装置
 本発明は、BD-ROM(Blu-Ray Disc Read Only Memory)等の記録媒体に記録されている映像データを再生する再生装置に関し、特に、記録媒体に記録されている映像データを、他の記録媒体へ記録する技術(マネージドコピー)に関する。
 マネージドコピーとは、BD-ROM等の読み出し専用記録媒体に記録されているデジタルストリームやアプリケーションプログラム(以下、「アプリケーション」という。)を、別の光ディスク(BD-R,BD-RE,DVD-R,DVD-RW,DVD-RAM等)やハードディスク、リムーバブルメディア(SDメモリーカード、メモリースティック、コンパクトフラッシュ(登録商標)、スマートメディア、マルチメディアカード等)などの読み書き可能な記録媒体へコピーする際、無制限にコピーを許すのではなく、コピー前にサーバと通信し、認証が行われ、許可された状態においてのみコピー実行可能にする技術である。
 この技術により、バックアップ(コピー)回数を制限したり、課金された状態でのみバックアップを許可する等の制御を行うことができるので、BD-ROM視聴の利便性を向上させることができる。
 マネージドコピーについての先行技術としては、以下の特許文献に記載されている技術がある。
特開2008-98765号
 ところで、マネージドコピーは、許可された状態においてコピーを実行する仕組みであるが、BD-ROM上のどのデータをコピー対象とするかは、様々な方法が可能である。
 例えば、本編映像と特典映像とが記録されているBD-ROMにおいて、BD-ROM上のデータの全てのファイルをコピーし、BD-ROMと全く同一のデータのバックアップを生成する方法もあれば、ユーザが所望する一部のコンテンツだけを(例えば特典映像のみ)部分的にコピーする方法もある。
 マネージドコピーは、コピー対象ファイルのファイル名一覧が記載されたコピー管理情報リストを基に実行される。コピー管理情報リストは、ディスク上に予め記録されているものを利用するか、もしくは、サーバから最新のコピー管理情報リストを取得して利用する。
 コピー管理情報リストに、BD-ROM上の全ファイルがコピー対象であることが記載されている場合は、マネージドコピーにより全てのファイルがコピーされることになる。そうすると、BD再生規格に沿ったディスク構成をそのままコピーするため、BD再生規格に沿ったディスクが出来上がることが保障されると言える。
 しかし、部分コピーの場合は、BD再生規格の互換性を失う場合も考えられる。なぜならば、本編映像と特典映像とを含むディスクのうち、特典映像のみをマネージドコピーする場合、当然、本編映像を省いた形でコピーしなければいけない。そうすると、本編映像を省いてしまうことで、BD-ROM上のデータベースファイルやアプリケーションとの整合が損なわれる可能性がある。
 BD-ROMには映像に加え、ディスク挿入時やボタン押下時にどのストリームを再生するかが記載されたシナリオデータベースファイルも含んでいる。シナリオデータベースファイルは、BD-ROMディスク上の規格に定められた固定のファイル名で特定の位置に配置されている。再生機器は、ディスク挿入時にシナリオデータベースを参照する仕組みになっている。
 コピー元BD-ROMのシナリオデータベースファイルが、起動時に本編映像を再生するようになっているとすると、コピー先において、コピー元と同じシナリオデータベースファイルを使う場合、起動すべき本編映像が含まれていないため、予期せぬ動作を起こしてしまうという大きな課題がある。その他にも、一部のファイルが抜けたことにより、ファイル間の不一致によって再生互換を失うパターンが数多く存在する。
 本発明の目的は、部分コピーの場合においても再生互換のとれたディスクを作成することができる再生装置を提供することである。
 上記課題を解決するため、本発明の一実施態様である再生装置は、インデックステーブルファイルと、当該インデックステーブルファイルに定義される各タイトルに対応付けられた実データファイルと、前記実データファイルの一部を定義するタイトルを含む部分コピー用インデックステーブルファイルとを記憶している第一記録媒体上のファイルを、第二記録媒体にコピーする再生装置であって、前記部分コピー用インデックステーブルファイルと、当該部分コピー用インデックステーブルファイルで定義される各タイトルに対応付けられた実データファイルとの前記第二記録媒体用のファイル名を記載したファイルマッピング情報を記憶している記憶部と、前記第一記録媒体上の一部のファイルをコピーする場合に、前記部分コピー用インデックステーブルファイルと、当該部分コピー用インデックステーブルファイルに定義される各タイトルに対応付けられた実データファイルとを、前記ファイルマッピング情報に記載されているファイル名に変更するマッピングデータ処理部と、前記部分コピー用インデックステーブルファイルと、当該部分コピー用インデックステーブルファイルに定義される各タイトルに対応付けられた実データファイルとを、変更後のファイル名で、前記第二記録媒体にコピーするコピー実行部とを備えることを特徴とする。
 本発明によれば、第一記録媒体上の一部のファイルを、ファイル構成を変更してコピーする所謂「部分コピー」の場合であっても、コピー対象ファイルのファイル名を、ファイルマッピング情報を用いて第二記録媒体用のファイル名に変換し、変換後のファイル名で第二記録媒体にコピーするので、再生互換を保った第二記録媒体を作成することが可能となる。
本発明の実施の形態1におけるシステム図である。 本発明の実施の形態1におけるBD-ROMのデータ階層図である。 本発明の実施の形態1におけるBD-ROMが対象としているソフトウェアのレイヤモデルを示す図である。 本発明の実施の形態1における2つのモードの動的な再生制御にて作成される映画作品を示す図である。 本発明の実施の形態1における再生装置の内部構成を示す図である。 本発明の実施の形態1におけるローカルストレージのディレクトリ構成を示す図である。 本発明の実施の形態1におけるBD-Jモジュールの具体的な構成を示す図である。 本発明の実施の形態1におけるindex.bdmvとタイトルとの関係を示す図である。 本発明の実施の形態1におけるマネージドコピー制御部の内部構成を示す図である。 本発明の実施の形態1におけるJava(登録商標)アプリケーションとサーバとのデータ送受信を示す図である。 本発明の実施の形態1におけるコピー管理情報リストの内容を示す図である。 本発明の実施の形態1におけるマネージドコピーの各手続きの画面表示一例を示す図である。 本発明の実施の形態1におけるJavaアプリケーションによるマネージドコピー制御のフローチャートである。 本発明の実施の形態1におけるマネージドコピー制御部によるデータコピーのフローチャートである。 本発明の実施の形態1におけるデータコピー完了の画面表示の一例を示す図である。 従来の方式におけるコピー管理情報リストの内容を示す図である。 従来の方式におけるマネージドコピー完了後のコピー先ディスクの一例を示す図である。 従来の方式におけるマネージドコピー先ディスク再生の画面表示一例を示す図である。 本発明の実施の形態1におけるマネージドコピー完了後のコピー先ディスクの一例を示す図である。 本発明の実施の形態1におけるマネージドコピー先ディスク再生の画面表示一例を示す図である。 本発明の実施の形態2におけるコピー管理情報リストの内容を示す図である。 本発明の実施の形態2におけるマネージドコピー制御部の内部構成を示す図である。 本発明の実施の形態2におけるマネージドコピー制御部によるデータコピーのフローチャートである。 本発明の実施の形態2におけるマネージドコピー完了後のコピー先ディスクの一例を示す図である。 本発明の実施の形態3におけるコピー管理情報リストの内容を示す図である。 本発明の実施の形態3におけるマネージドコピー制御部の内部構成を示す図である。 本発明の実施の形態3におけるマネージドコピー制御部によるデータコピーのフローチャートである。 本発明の実施の形態3におけるマネージドコピー完了後のコピー先ディスクの一例を示す図である。 本発明の実施の形態4における再生装置の内部構成を示す図である。 本発明の実施の形態4におけるローカルストレージのディレクトリ構成を示す図である。 本発明の実施の形態4におけるマージ管理情報の内部構成を示す図である。 本発明の実施の形態4におけるBD-Jモジュールの具体的な構成を示す図である。 本発明の実施の形態4におけるBD-ROM挿入時のフローチャートである。 本発明の実施の形態4におけるタイトル切り替え時の仮想パッケージ再構築を示す図である。 本発明の実施の形態4における仮想パッケージ更新処理を示す図である。 本発明の実施の形態4におけるマネージドコピー制御部の内部構成を示す図である。 本発明の実施の形態4におけるJavaアプリケーションとサーバとのデータ送受信を示す図である。 本発明の実施の形態4におけるコピー管理情報リストの内容を示す図である。 本発明の実施の形態4におけるマネージドコピーの各手続きの画面表示一例を示す図である。 本発明の実施の形態4におけるデータコピー中の画面表示の一例を示す図である。 本発明の実施の形態4におけるJavaアプリケーションによるマネージドコピー制御のフローチャートである。 本発明の実施の形態4におけるマネージドコピー制御部によるデータコピーのフローチャートである。 本発明の実施の形態4におけるデータコピー実行中のディスクアクセス制限について示す図である。 本発明の実施の形態4におけるディスクアクセス制限中のBD-Jモジュールの内部構成を示す図である。 本発明の実施の形態4におけるマネージドコピー時の仮想パッケージ状態確認を行うフローチャートである。 本発明の実施の形態4における仮想パッケージコピー不可の場合のユーザ通知の一例を示す図である。 本発明の実施の形態4における仮想パッケージデータのマネージコピーを示す図である。 本発明の実施の形態4におけるBD-ROM上データのみでのコピーする場合のユーザ通知の一例を示す図である。 本発明の実施の形態4における仮想パッケージコピーを実施するかどうかのユーザ問い合わせの一例を示す図である。 本発明の実施の形態4におけるコピー先メディアの容量不足時のユーザ問い合わせの一例を示す図である。 本発明の実施の形態4における仮想パッケージ構築可否判定のフローチャートである。 本発明の実施の形態5における再生装置のメニュー画面の一例を示す図である。 本発明の実施の形態5における再生装置のマネージドコピー設定メニューの一例を示す図である。 本発明の実施の形態5におけるマネージドコピーのフローチャートである。 本発明の実施の形態5におけるローカルストレージ利用の問い合わせ画面の一例を示す図である。
 請求項1に記載の態様である再生装置は、インデックステーブルファイルと、当該インデックステーブルファイルに定義される各タイトルに対応付けられた実データファイルと、前記実データファイルの一部を定義するタイトルを含む部分コピー用インデックステーブルファイルとを記憶している第一記録媒体上のファイルを、第二記録媒体にコピーする再生装置であって、前記部分コピー用インデックステーブルファイルと、当該部分コピー用インデックステーブルファイルで定義される各タイトルに対応付けられた実データファイルとの前記第二記録媒体用のファイル名を記載したファイルマッピング情報を記憶している記憶部と、前記第一記録媒体上の一部のファイルをコピーする場合に、前記部分コピー用インデックステーブルファイルと、当該部分コピー用インデックステーブルファイルに定義される各タイトルに対応付けられた実データファイルとを、前記ファイルマッピング情報に記載されているファイル名に変更するマッピングデータ処理部と、前記部分コピー用インデックステーブルファイルと、当該部分コピー用インデックステーブルファイルに定義される各タイトルに対応付けられた実データファイルとを、変更後のファイル名で、前記第二記録媒体にコピーするコピー実行部とを備えることを特徴とする。
 請求項5に記載の態様である再生装置は、さらに、前記第一記録媒体に記録されているファイルとローカルストレージに記録されているファイルとを、マージ管理情報に従って組み合わせることにより1つのパッケージとして読込みを可能にするパッケージ情報を生成する仮想ファイルシステムを備え、前記仮想ファイルシステムは、前記第一記録媒体に対応するマージ管理情報が、前記ローカルストレージに存在するか、且つ、存在する場合には、前記マージ管理情報が正当であるかを確認した後に、前記パッケージ情報を生成し、前記コピー実行部は、生成された前記パッケージ情報に基づき、前記第一記録媒体上のファイルと前記ローカルストレージ上のファイルとを組み合わせて、前記第二記録媒体へコピーすることを特徴とする。
 この構成によると、コピー元のファイルが複数メディアに散在している場合であっても、仮想ファイルシステムを用いることにより、散在しているファイルが一つのメディア上に存在するかのように見せかけた状態でマネージドコピーをするので、複数メディアに散在しているファイルであっても、第二記録媒体にマネージドコピーすることができる。そして、コピー先の第二記録媒体においては、ファイル構成を保った状態でファイルがコピーされるので、再生互換を保った第二記録媒体を作成することが可能となる。
 請求項12に記載の態様である再生装置は、第一記録媒体及びローカルストレージの何れかに記録されているインデックステーブルファイルと、当該インデックステーブルファイルに定義される各タイトルに対応付けられた実データファイルと、前記実データファイルの一部を定義するタイトルを含む部分コピー用インデックステーブルファイルとから、コピー対象ファイルを第二記録媒体にコピーする再生装置であって、前記部分コピー用インデックステーブルファイルと、当該部分コピー用インデックステーブルファイルで定義される各タイトルに対応付けられた実データファイルとの前記第二記録媒体用のファイル名を記載したファイルマッピング情報を記憶している前記ローカルストレージと、一部のファイルをコピーする場合に、前記部分コピー用インデックステーブルファイルと、当該部分コピー用インデックステーブルファイルに定義される各タイトルに対応付けられた実データファイルとを、前記ファイルマッピング情報に記載されているファイル名に変更するマッピングデータ処理部と、コピー対象のファイルがローカルストレージ上のファイルである場合に、前記ファイルの正当性を確認する認証部と、前記部分コピー用インデックステーブルファイルと、当該部分コピー用インデックステーブルファイルに定義される各タイトルに対応付けられた実データファイルのうち、前記第一記録媒体に記録されているファイルと、前記認証部により正当性が確認されたファイルとを、変更後のファイル名で、前記第二記録媒体にコピーするコピー実行部とを備えることを特徴とする。
 この構成によると、コピー元ディスクである第一記録媒体上に存在しないファイルであっても、再生装置上のローカルストレージに保持されているファイルを、第二記録媒体にマネージドコピーすることが可能である。
 例えば、再生装置は、予め外部サーバから、コピー元ディスクのバグフィクスや追加コンテンツ等をローカルストレージ上にダウンロードしておくことで、第一記録媒体上のファイルと共に、バグフィクス及び追加コンテンツ等も第二記録媒体へマネージドコピーすることが可能である。また、ローカルストレージ上のファイルに対する認証処理を行うことにより、完全性の無いファイルがコピーされるのを防止し、再生互換を保った第二記録媒体を作成することが可能となる。
 請求項14に記載の態様である再生装置は、インデックステーブルファイルと、当該インデックステーブルファイルに定義される各タイトルに対応付けられた実データファイルと、前記実データファイルの一部を定義するタイトルを含む部分コピー用インデックステーブルファイルとのうち、コピー対象ファイルを、第二記録媒体にコピーする再生装置であって、一部のファイルをコピーする場合のコピー対象ファイルである前記部分コピー用インデックステーブルファイルと、当該部分コピー用インデックステーブルファイルに定義される各タイトルに対応付けられた実データファイルとの第一記録媒体上のファイル名、及び、前記第二記録媒体用のファイル名を記載したコピー管理情報を記憶している記憶部と、前記コピー管理情報に記載されているコピー対象ファイルが、前記第一記録媒体に存在するか否かを判断する判断部と、前記判断部により存在しないと判断されたファイルを生成するファイル生成部と、一部のファイルをコピーする場合に、前記第一記録媒体に存在するコピー対象ファイルのファイル名と前記ファイル生成部により生成されたコピー対象ファイルのファイル名を、前記コピー管理情報に記載されている第二記録媒体上のファイル名に変更するマッピングデータ処理部と、前記部分コピー用インデックステーブルファイルと、当該部分コピー用インデックステーブルファイルに定義される各タイトルに対応付けられた実データファイルとを、変更後のファイル名で、前記第二記録媒体にコピーするコピー実行部とを備えることを特徴とする。
 この構成によると、第二記録媒体の再生に必要となるファイルが、第一記録媒体上に存在しない場合であっても、再生装置により生成されたファイルによりそれを補うことが出来るので、一部のファイルが欠けている場合であっても、マネージドコピーコンテンツとして取り扱うことが可能となる。
 以下本発明の実施の形態について、図面を参照しながら説明する。
 (実施の形態1)
 先ず始めに、本発明に係る再生装置の実施行為のうち、使用行為の形態を説明する。図1は、本発明に係る再生装置の、使用行為の形態の一例を示す図である。
 図1において、本発明に係る再生装置は、再生装置101である。この再生装置101は例えば、リモコン102及びテレビ103により形成されるホームシアターシステムに、映画作品を供給するという用途に供される。また、再生装置101は、SDメモリーカード、メモリースティック、コンパクトフラッシュ、スマートメディア、マルチメディアカード等のリムーバブルメディア104を挿入する挿入口、及び、記録型BD、記録型DVD、記録型CD等の光ディスクを読み込むディスクドライブ106を外付けするための挿入口を備える。以上が本発明に係る再生装置の使用形態についての説明である。
 続いて、本発明に係る再生装置が再生の対象としている記録媒体(メディア)について説明する。本発明に係る再生装置により再生されるのは、図1の例では、光ディスクであるBD-ROM105である。
 図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つのモードのうち1つは、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-ROM105やローカルストレージ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仮想マシン、コンフィグレーション、プロファイルからなる。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プレーヤから踏襲した機能群である。具体的には、再生開始、再生停止、一時停止、一時停止の解除、静止画機能の解除、再生速度を即値で指定した早送り、再生速度を即値で指定した巻戻し、音声切り替え、副映像切り替え、アングル切り替えといった処理である。プレイリスト再生機能とは、上記の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/F421、ローカルストレージ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は、コピーファイル部分に記載されたファイルのバイナリデータをローカルストレージから取得し、認証部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ファイルを生成する。なお、ここでは、「生成する」としているが、予め再生装置がテンプレートとして保持しておいて、それをコピーしてもよい。
 ステップ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ディレクトリに保存される。電子的な署名は、一般的に改ざん防止が必要な情報に対してハッシュ値を計算し、ハッシュ値をなんらかの秘密鍵を用いて暗号化したものを用いる。本実施形態の署名情報ファイルでは、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/000001.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/F421、ローカルストレージ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)。
 1つでも存在しないファイルがあれば、仮想パッケージ構築を止め、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の再生中であり、旧マージ管理情報ファイルがもともと存在しなかった場合は、旧マージ管理情報ファイルを上書きする代わりに、新マージ管理情報ファイルは、挿入されているBD-ROMのDiscIDに対応するDiscIDディレクトリの下に移動され、正規のマージ管理情報ファイル名にリネームされる。同様に、署名情報ファイルについても新旧ファイルの置き換え、移動を行う。
 仮想ファイルシステム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)
 マネージドコピーの状態遷移通知を受けるリスナーを登録する。マネージドコピーの開始、正常終了、異常終了等の状態遷移が起きたときに、この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-ROM105(コピー元メディア)のドライブに、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つのメディアに集約することが可能となる。
 (その他の変形例)
 本発明に係る再生装置を上記の実施の形態に基づいて説明したが、本発明は上記の実施の形態に限られないことは勿論である。
 上記実施の形態では、記録媒体を再生する再生機能を持つ再生装置について説明したが、本発明の再生装置に限定されない。本発明の再生装置は、例えば、録画機能を持つ録画再生装置であっても良い。携帯タイプの再生装置ではなく、据置タイプの再生装置は、再生機能に加え録画機能も具備することが一般的である。再生装置が録画機能を有していれば、ビットストリームをそのままコピーする所謂ビットバイビットコピーに加え、データ形式や符号化方式を変更してコピーすることができる(これらは、「トランスコード」と呼ばれる。)
 上記実施の形態では、仮想マシンのプログラミング言語として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 (15)

  1.  インデックステーブルファイルと、当該インデックステーブルファイルに定義される各タイトルに対応付けられた実データファイルと、前記実データファイルの一部を定義するタイトルを含む部分コピー用インデックステーブルファイルとを記憶している第一記録媒体上のファイルを、第二記録媒体にコピーする再生装置であって、
     前記部分コピー用インデックステーブルファイルと、当該部分コピー用インデックステーブルファイルで定義される各タイトルに対応付けられた実データファイルとの前記第二記録媒体用のファイル名を記載したファイルマッピング情報を記憶している記憶部と、
     前記第一記録媒体上の一部のファイルをコピーする場合に、前記部分コピー用インデックステーブルファイルと、当該部分コピー用インデックステーブルファイルに定義される各タイトルに対応付けられた実データファイルとを、前記ファイルマッピング情報に記載されているファイル名に変更するマッピングデータ処理部と、
     前記部分コピー用インデックステーブルファイルと、当該部分コピー用インデックステーブルファイルに定義される各タイトルに対応付けられた実データファイルとを、変更後のファイル名で、前記第二記録媒体にコピーするコピー実行部と
     を備えることを特徴とする再生装置。
  2.  前記インデックステーブルファイルは、再生装置により最初に読み出される固定のファイル名で前記第一記録媒体に記録され、
     前記部分コピー用インデックステーブルファイルは、前記固定のファイル名と異なるファイル名で前記第一記録媒体に記録され、
     前記ファイルマッピング情報は、前記部分コピー用インデックステーブルファイルの前記第二記録媒体用のファイル名として、前記固定のファイル名を記憶しており、
     前記コピー実行部は、前記第一記録媒体上の前記部分コピー用インデックステーブルファイルを、再生装置により最初に読み出されるファイル名である前記固定のファイル名で、前記第二記録媒体にコピーする
     ことを特徴とする請求項1に記載の再生装置。
  3.  前記再生装置は、
     外部サーバから前記ファイルマッピング情報を含むコピー管理情報を取得するネットワーク接続部と、
     前記第一記録媒体上の全てのファイルをコピーするか、一部のファイルをコピーするかを選択する選択部とを備え、
     前記記憶部は、前記外部サーバから取得した前記コピー管理情報を記憶し、
     前記マッピングデータ処理部は、前記選択部が一部のファイルのコピーを選択した場合に、前記ファイルマッピング情報を用いたファイル名の変更の処理を行う
     ことを特徴とする請求項2に記載の再生装置。
  4.  前記再生装置は、
     前記第一記録媒体上に記録されたアプリケーション管理情報に従い、アプリケーションの実行を制御するアプリケーション実行部と、
     前記アプリケーションからの指示に従い、前記デジタルストリームの再生を制御する再生制御部とを備え、
     前記第一記録媒体上のアプリケーションとデジタルストリームとを連動させながら再生する
     ことを特徴とする請求項3に記載の再生装置。
  5.  前記再生装置は、さらに、
     前記第一記録媒体に記録されているファイルとローカルストレージに記録されているファイルとを、マージ管理情報に従って組み合わせることにより1つのパッケージとして読込みを可能にするパッケージ情報を生成する仮想ファイルシステムを備え、
     前記仮想ファイルシステムは、
     前記第一記録媒体に対応するマージ管理情報が、前記ローカルストレージに存在するか、且つ、存在する場合には、前記マージ管理情報が正当であるかを確認した後に、前記パッケージ情報を生成し、
     前記コピー実行部は、生成された前記パッケージ情報に基づき、前記第一記録媒体上のファイルと前記ローカルストレージ上のファイルとを組み合わせて、前記第二記録媒体へコピーする
     ことを特徴とする請求項1に記載の再生装置。
  6.  前記再生装置は、更に、
     前記第一記録媒体に対応する前記マージ管理情報が前記ローカルストレージに存在し、且つ、前記マージ管理情報が正当であると確認された場合に、コピー実行前に、前記ローカルストレージに前記第一記録媒体上のファイルに対応するファイルが存在することをユーザへ通知する通知部を備える
     ことを特徴とする請求項5に記載の再生装置。
  7.  前記再生装置は、更に、
     コピー対象ファイルとして前記ローカルストレージ上のファイルを含めるか否かユーザによる選択を受け付ける受付部を備え、
     前記通知部による通知の後、前記受付部がコピー対象ファイルに、前記ローカルストレージ上のファイルを含める旨の選択を受け付けた場合、前記仮想ファイルシステムは、前記マージ管理情報に基づきパッケージ情報を生成し、前記コピー実行部は、生成されたパッケージ情報に基づき、前記第一記録媒体上のファイルと前記ローカルストレージ上のファイルとを組み合わせて、前記第二記録媒体へコピーし、前記受付部が前記ローカルストレージ上のファイルを含めない旨の選択を受け付けた場合、前記コピー実行部は、前記第一記録媒体上のファイルのみ、前記第二記録媒体へコピーする
     ことを特徴とする請求項6に記載の再生装置。
  8.  前記再生装置は、
     前記パッケージ情報に基づき、前記第一記録媒体上のファイルと前記ローカルストレージ上のファイルとを組み合わせてコピーする場合に必要な容量が、コピー先である前記第二記録媒体の空き容量を超えており、且つ、前記第一記録媒体上のファイルのみコピーする場合に必要な容量が、前記第二記録媒体の空き容量以下である場合、
    前記コピー実行部は、前記第一記録媒体上のデータのみを前記第二記録媒体へコピーする
     ことを特徴とする請求項5に記載の再生装置。
  9.  前記ローカルストレージは、前記マージ管理情報と、前記ローカルストレージ上のファイルを用いたコピーを許可するか否かの情報とを含むコピー管理情報を記憶しており、
     前記コピー実行部は、前記コピー管理情報が前記ローカルストレージ上のファイルを用いたコピーが許可されない旨を示す情報を含む場合、前記第一記録媒体上のファイルのみ、前記第二記録媒体へコピーする
     ことを特徴とする請求項5に記載の再生装置。
  10.  前記再生装置は、更に、
     前記第一記録媒体に対応する前記マージ管理情報が、前記第二記録媒体に存在し、且つ、前記マージ管理情報が正当であると確認された場合であっても、前記コピー管理情報が前記ローカルストレージ上のファイルを用いたコピーが許可されない旨を示す情報を含む場合、前記ローカルストレージ上のファイルはコピーされないことをユーザに通知する通知部を備える
     ことを特徴とする請求項9に記載の再生装置。
  11.  前記仮想ファイルシステムは、前記マージ管理情報の正当性の確認として、前記マージ管理情報が改竄されていないことの確認、及び、前記マージ管理情報にて指定されているファイルが、前記ローカルディスクに存在していることの確認を行う
     ことを特徴とする請求項5に記載の再生装置。
  12.  第一記録媒体及びローカルストレージの何れかに記録されているインデックステーブルファイルと、当該インデックステーブルファイルに定義される各タイトルに対応付けられた実データファイルと、前記実データファイルの一部を定義するタイトルを含む部分コピー用インデックステーブルファイルとから、コピー対象ファイルを第二記録媒体にコピーする再生装置であって、
     前記部分コピー用インデックステーブルファイルと、当該部分コピー用インデックステーブルファイルで定義される各タイトルに対応付けられた実データファイルとの前記第二記録媒体用のファイル名を記載したファイルマッピング情報を記憶している前記ローカルストレージと、
     一部のファイルをコピーする場合に、前記部分コピー用インデックステーブルファイルと、当該部分コピー用インデックステーブルファイルに定義される各タイトルに対応付けられた実データファイルとを、前記ファイルマッピング情報に記載されているファイル名に変更するマッピングデータ処理部と、
     コピー対象のファイルがローカルストレージ上のファイルである場合に、前記ファイルの正当性を確認する認証部と、
     前記部分コピー用インデックステーブルファイルと、当該部分コピー用インデックステーブルファイルに定義される各タイトルに対応付けられた実データファイルのうち、前記第一記録媒体に記録されているファイルと、前記認証部により正当性が確認されたファイルとを、変更後のファイル名で、前記第二記録媒体にコピーするコピー実行部と
     を備えることを特徴とする再生装置。
  13.  前記ローカルストレージは、更に、当該ローカルストレージに記憶されているファイルについて、当該ファイルのダイジェスト値を記憶しており、
     前記認証部は、前記ローカルストレージに記憶されているダイジェスト値に基づいて前記ファイルの正当性を確認する
     ことを特徴とする請求項12に記載の再生装置。
  14.  インデックステーブルファイルと、当該インデックステーブルファイルに定義される各タイトルに対応付けられた実データファイルと、前記実データファイルの一部を定義するタイトルを含む部分コピー用インデックステーブルファイルとのうち、コピー対象ファイルを、第二記録媒体にコピーする再生装置であって、
     一部のファイルをコピーする場合のコピー対象ファイルである前記部分コピー用インデックステーブルファイルと、当該部分コピー用インデックステーブルファイルに定義される各タイトルに対応付けられた実データファイルとの第一記録媒体上のファイル名、及び、前記第二記録媒体用のファイル名を記載したコピー管理情報を記憶している記憶部と、
     前記コピー管理情報に記載されているコピー対象ファイルが、前記第一記録媒体に存在するか否かを判断する判断部と、
     前記判断部により存在しないと判断されたファイルを生成するファイル生成部と、
     一部のファイルをコピーする場合に、前記第一記録媒体に存在するコピー対象ファイルのファイル名と前記ファイル生成部により生成されたコピー対象ファイルのファイル名を、前記コピー管理情報に記載されている第二記録媒体上のファイル名に変更するマッピングデータ処理部と、
     前記部分コピー用インデックステーブルファイルと、当該部分コピー用インデックステーブルファイルに定義される各タイトルに対応付けられた実データファイルとを、変更後のファイル名で、前記第二記録媒体にコピーするコピー実行部と
     を備えることを特徴とする再生装置。
  15.  前記データベースファイル部は、前記判断部により、コピー対象ファイルが前記第一記録媒体に存在しないと判断された場合に、当該再生装置に予め保存されているファイルを利用する
     ことを特徴とする請求項14に記載の再生装置。
PCT/JP2009/005049 2008-10-01 2009-09-30 再生装置 WO2010038455A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP09817496A EP2330590A4 (en) 2008-10-01 2009-09-30 PLAYBACK DEVICE
US12/920,852 US20110307448A1 (en) 2008-10-01 2009-09-30 Reproduction device
CN2009801258709A CN102084425A (zh) 2008-10-01 2009-09-30 再现装置
JP2010531753A JP5502741B2 (ja) 2008-10-01 2009-09-30 コピー機能付再生装置およびコピー機能付再生装置に用いるコピー方法

Applications Claiming Priority (4)

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

Publications (1)

Publication Number Publication Date
WO2010038455A1 true WO2010038455A1 (ja) 2010-04-08

Family

ID=42073235

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/005049 WO2010038455A1 (ja) 2008-10-01 2009-09-30 再生装置

Country Status (6)

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

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011129215A (ja) * 2009-12-18 2011-06-30 Sony Corp 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム
JP2011222078A (ja) * 2010-04-08 2011-11-04 Sony Corp 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP2011221775A (ja) * 2010-04-08 2011-11-04 Sony Corp 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP2011222079A (ja) * 2010-04-08 2011-11-04 Sony Corp 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP2011221776A (ja) * 2010-04-08 2011-11-04 Sony Corp 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
CN102314915A (zh) * 2010-07-08 2012-01-11 索尼公司 信息处理设备、信息处理方法和程序
CN102314914A (zh) * 2010-07-08 2012-01-11 索尼公司 信息处理装置、信息处理方法和程序
JP2012018729A (ja) * 2010-07-08 2012-01-26 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
JP2013058287A (ja) * 2011-09-09 2013-03-28 Hitachi Consumer Electronics Co Ltd 記録装置/方法/媒体、再生装置/方法
WO2015107782A1 (ja) * 2014-01-14 2015-07-23 ソニー株式会社 情報処理装置、情報記録媒体、情報処理システム、および情報処理方法、並びにプログラム
JP2016517058A (ja) * 2013-02-22 2016-06-09 マイクロソフト テクノロジー ライセンシング,エルエルシー 操作のための残り時間の推定

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102339318A (zh) * 2011-10-24 2012-02-01 Tcl集团股份有限公司 一种文件系统管理方法及系统
KR101978239B1 (ko) * 2012-06-22 2019-05-14 삼성전자주식회사 컨텐츠를 편집하는 방법 및 그 전자 장치
CN103685278B (zh) * 2013-12-17 2017-01-11 西安诺瓦电子科技有限公司 媒体发布方法和媒体发布管理端
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
JP2007109080A (ja) * 2005-10-14 2007-04-26 Toshiba Corp デジタルコンテンツ利用装置及び方法
JP2007242231A (ja) * 2007-04-27 2007-09-20 Sharp Corp ファイル管理装置
JP2008098765A (ja) 2006-10-06 2008-04-24 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム

Family Cites Families (8)

* 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 データ再生装置、そのためのコンピュータプログラム、及び当該コンピュータプログラムを記録した記録媒体
JP2007065928A (ja) * 2005-08-30 2007-03-15 Toshiba Corp 情報記憶媒体、情報処理方法、情報転送方法、情報再生方法、情報再生装置、情報記録方法、情報記録装置、及びプログラム
WO2006129818A1 (en) * 2005-05-31 2006-12-07 Matsushita Electric Industrial Co., Ltd. Broadcast receiving terminal
JP5098145B2 (ja) * 2005-10-12 2012-12-12 ソニー株式会社 データ管理装置および記録媒体の管理方法
JP4765734B2 (ja) * 2006-04-06 2011-09-07 ソニー株式会社 情報処理装置、情報処理方法および情報処理プログラム、ならびに、表示制御装置
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
JP2007109080A (ja) * 2005-10-14 2007-04-26 Toshiba Corp デジタルコンテンツ利用装置及び方法
JP2008098765A (ja) 2006-10-06 2008-04-24 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2007242231A (ja) * 2007-04-27 2007-09-20 Sharp Corp ファイル管理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2330590A4 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011129215A (ja) * 2009-12-18 2011-06-30 Sony Corp 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム
JP2011222078A (ja) * 2010-04-08 2011-11-04 Sony Corp 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP2011221775A (ja) * 2010-04-08 2011-11-04 Sony Corp 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP2011222079A (ja) * 2010-04-08 2011-11-04 Sony Corp 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP2011221776A (ja) * 2010-04-08 2011-11-04 Sony Corp 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP2012018728A (ja) * 2010-07-08 2012-01-26 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
CN102314914A (zh) * 2010-07-08 2012-01-11 索尼公司 信息处理装置、信息处理方法和程序
JP2012018729A (ja) * 2010-07-08 2012-01-26 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
CN102314915A (zh) * 2010-07-08 2012-01-11 索尼公司 信息处理设备、信息处理方法和程序
JP2012018727A (ja) * 2010-07-08 2012-01-26 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
CN102376327A (zh) * 2010-07-08 2012-03-14 索尼公司 信息处理装置、信息处理方法及程序
JP2013058287A (ja) * 2011-09-09 2013-03-28 Hitachi Consumer Electronics Co Ltd 記録装置/方法/媒体、再生装置/方法
JP2016517058A (ja) * 2013-02-22 2016-06-09 マイクロソフト テクノロジー ライセンシング,エルエルシー 操作のための残り時間の推定
US10048985B2 (en) 2013-02-22 2018-08-14 Microsoft Technology Licensing, Llc Estimating time remaining for an operation
WO2015107782A1 (ja) * 2014-01-14 2015-07-23 ソニー株式会社 情報処理装置、情報記録媒体、情報処理システム、および情報処理方法、並びにプログラム
JP2017134880A (ja) * 2014-01-14 2017-08-03 ソニー株式会社 情報処理装置、情報記録媒体、情報処理システム、および情報処理方法、並びにプログラム

Also Published As

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

Similar Documents

Publication Publication Date Title
JP5502741B2 (ja) コピー機能付再生装置およびコピー機能付再生装置に用いるコピー方法
JP4862055B2 (ja) 再生装置及びプログラム
US8347099B2 (en) Playback apparatus and playback method
JP5395074B2 (ja) 再生装置、再生方法、プログラム
WO2010106745A1 (ja) アプリケーション実行装置
KR20060081330A (ko) 로컬 스토리지를 이용한 기록매체 재생방법 및 재생장치
KR101216070B1 (ko) 로컬 스토리지를 이용한 기록매체 재생방법 및 재생장치,기록매체
JP5529964B2 (ja) 再生装置、再生方法、プログラム
WO2009157163A1 (ja) 再生装置、再生装置の制御方法
JP2008519389A (ja) ローカルストレージを用いて記録媒体からデータを再生する方法及び再生装置
EP1836710A2 (en) Method and apparatus for reproducing data from recording medium using local storage
JP2008517355A (ja) ローカルストレージを使用して記録媒体からデータを再生する方法および装置
KR20060063597A (ko) 로컬 스토리지를 이용한 기록매체 재생방법 및 재생장치
KR20060046120A (ko) 로컬 스토리지를 이용한 기록매체 재생방법 및 재생장치
JP2010020632A (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
KR20070120000A (ko) 데이터를 기록하는 방법, 장치 및 기록매체 그리고재생방법 및 장치

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980125870.9

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09817496

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010531753

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 3261/KOLNP/2010

Country of ref document: IN

REEP Request for entry into the european phase

Ref document number: 2009817496

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2009817496

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20107020366

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 12920852

Country of ref document: US