WO2010007757A1 - 再生装置、再生方法、プログラム - Google Patents

再生装置、再生方法、プログラム Download PDF

Info

Publication number
WO2010007757A1
WO2010007757A1 PCT/JP2009/003282 JP2009003282W WO2010007757A1 WO 2010007757 A1 WO2010007757 A1 WO 2010007757A1 JP 2009003282 W JP2009003282 W JP 2009003282W WO 2010007757 A1 WO2010007757 A1 WO 2010007757A1
Authority
WO
WIPO (PCT)
Prior art keywords
playback
application
copy
module
copy control
Prior art date
Application number
PCT/JP2009/003282
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 CN2009801174313A priority Critical patent/CN102027544B/zh
Priority to JP2010520760A priority patent/JP5395074B2/ja
Priority to EP09797686.4A priority patent/EP2299446B1/en
Priority to US12/989,872 priority patent/US8649653B2/en
Publication of WO2010007757A1 publication Critical patent/WO2010007757A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/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/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00217Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
    • G11B20/00224Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is obtained from a remote server
    • 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/00855Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a step of exchanging information with a remote server
    • G11B20/00862Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a step of exchanging information with a remote server wherein the remote server can grant the permission to use a content
    • 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

Definitions

  • the present invention relates to a playback apparatus for playing back video data recorded on a recording medium such as a BD-ROM (Blu-Ray Disc Read Only Memory), and more particularly to recording video data recorded on the recording medium.
  • a technique for recording on a recording medium other than the medium.
  • Managed copy refers to a digital stream or 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 stream or application program
  • the content provider will not be able to manage the content independently.
  • the content provider may adopt a unique billing method or insert an advertisement during copying. It is impossible to use the copy time effectively, for example, by operating a simple game application so that the user is not bored during the copy time.
  • the managed copy consumes many resources, there is a risk of running out of resources if the managed copy controlled on the playback device side and the application execution on the recording medium are operated simultaneously. For example, when backing up from a BD-ROM to a DVD-R, in addition to reading the BD-ROM and writing to the DVD-R, recompression and encryption processing of the digital stream are required.
  • An object of the present invention is to provide a playback device that enables simultaneous operation of managed copy and application execution while avoiding resource conflict between managed copy and application execution.
  • the present invention provides a playback apparatus that executes medium control for a plurality of recording media while executing an application.
  • the medium control for a plurality of recording media includes playback control and copy control.
  • a platform to run the application With a playback unit,
  • the playback control is a process of reading a file recorded on the first recording medium among a plurality of recording media based on a request from an application through an I / O module in the platform, and providing the file to the playback unit.
  • the copy control is a process of reading data from the first recording medium and writing to the second recording medium without going through an I / O module in the platform,
  • the I / O module is characterized in that a request from an application is rejected while copy control is being executed.
  • the I / O module inside the platform rejects the playback instruction from the application, so that playback is performed even if a playback request is made from the application during managed copy. Therefore, it is possible to prevent resource contention such as pickup control, encoder, and decoder used for reading / decoding / compressing a digital stream.
  • the playback device since the playback device does not need to mount a communication module unique to the resident program for the exchange with the server, the mounting cost can be reduced.
  • the content provider can allow the user to copy the BD-ROM through the network and collect the fee. Can be adopted. Therefore, after obtaining primary revenue from distributing BD-ROM movie works, content providers can easily realize the business model of obtaining secondary revenue by allowing copies of the BD-ROM. Become. Therefore, the content provider can acquire a new business opportunity.
  • the application while executing the reading of data on the first recording medium and the writing of data to the second recording medium by the copy control unit, If the I / O module and the media playback module are in a state of rejecting a playback request from the application, the application performs processing assuming that the first recording medium does not exist, When the I / O module and the medium playback module are in a state of complying with a playback request from an application, the application desirably performs processing assuming that the first recording medium exists.
  • the BD-ROM which is the first recording medium
  • the BD-ROM which is the first recording medium
  • the access is failed as it does not exist, and the actual disk access is not performed. Therefore, it is possible to prevent the reading of the BD-ROM from colliding.
  • the notification unit when reading data on the first recording medium or writing data onto the second recording medium fails, indicates that the copying by the copy control has failed. It is desirable to notify an application registered with the registration API.
  • the application can receive a copy failure notification. If copying fails, the charge made before copying is canceled. It is possible to take countermeasures such as
  • the playback device further comprises a progress management unit, The progress management unit, according to the call of the programming interface from the application, the data size that has been written to the second recording medium by the copy control and the remaining data size that has not yet been written and is scheduled to be written It is desirable to notify the application.
  • the disk is virtually removed, and the application cannot access the data on the BD-ROM.
  • the application can grasp the start and end of copying and the progress status, so the progress is displayed on the screen. It is possible to display a progress bar indicating, display the remaining time, display the advertisement / advertisement screen, execute game applications, etc. until copying is completed.
  • System diagram in the first embodiment Data hierarchy diagram of BD-ROM in Embodiment 1
  • the figure which shows the layer model of the software which BD-ROM in Embodiment 1 makes object The figure which shows the movie work produced by the dynamic reproduction control of two modes in Embodiment 1
  • FIG. The figure which shows the internal structure of the managed copy control part in Embodiment 1.
  • FIG. The figure which shows the specific structure of the BD-J module in Embodiment 1.
  • Embodiment 1 The figure which shows an example of the copy destination media selection screen in Embodiment 1 The figure which shows an example of the screen display during the managed copy in Embodiment 1 The figure which shows the start / end of disk access restriction in Embodiment 1 The figure which shows the internal structure of the BD-J module in the disk access restriction in Embodiment 1. Flowchart of Copy Execution of Managed Copy Control Unit in Embodiment 1 The figure which shows the managed copy which considered the file name restriction
  • FIG. 2 is a diagram showing a general internal configuration of a recording / reproducing reproduction apparatus, and also adding components of the transcode. It is the internal block diagram which specified the general component of the BD-J module.
  • FIG. 10 is a diagram illustrating a state in which a request from a BD-J application is rejected. It is a figure which shows the state which complete
  • FIG. 6 is a flowchart illustrating a processing procedure of a copy execution unit 604. It is a flowchart which shows the process sequence of BD-J application manager. 10 is a flowchart illustrating a processing procedure for how an BD-J application that performs copy control uses an API. It is a flowchart which shows the process sequence of the accounting process using API. An example of a copy progress display accompanied by the mini game execution and the trailer reproduction is shown.
  • FIG. 1 is a diagram showing an example of a form of usage of the playback apparatus according to the present invention.
  • a playback apparatus according to the present invention is a playback apparatus 101.
  • the playback apparatus 101 is used for supplying movie works to a home theater system formed by a remote control 102 and a television 103, for example.
  • the playback apparatus 101 includes 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 insertion slot for attaching a BD drive 106 externally.
  • a removable medium 104 such as an SD memory card, a memory stick, a compact flash, a smart media, and a multimedia card
  • FIG. 2 is a diagram showing a configuration of a BD-ROM (hereinafter also referred to as “BD”).
  • BD-ROM will be described with a focus on AV applications for reproducing AV content such as movies, but BD-ROM is used as a recording medium for computers such as CD-ROM and DVD-ROM. Of course, it can be used.
  • BD-ROM like other optical discs such as DVD and CD, has a recording area that spirals from the inner periphery to the outer periphery, and logical data between the inner lead-in and outer lead-out. Can be recorded.
  • BCA Burst Cutting Area
  • PMSN Pre-recorded Media Serial Number
  • Application data such as video data is recorded in the logical address space with file system information (volume) at the head.
  • the file system is UDF, ISO9660, etc., and logical data recorded in the same way as a normal PC can be read out using a directory and file structure, and a 255 character file name.
  • the directory name can be read out.
  • the directory and file structure on the BD-ROM are a BDMV directory and a CERTIFICATE directory immediately below 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, and the CERTIFICATE directory has a discroot.crt (file name fixed) file under it, which is used for application signature verification The certificate is recorded.
  • BDMV directory Under the BDMV directory, there are five subdirectories called PLAYLIST directory, CLIPINF directory, STREAM directory, BDJO directory, and JAR directory. Two types of files, index.bdmv and MovieObject.bdmv, are arranged in the BDMV directory.
  • the STREAM directory is a directory that stores the file that is the main body of the digital stream, and the file with the extension M2TS (xxx.m2ts ["xxx" is variable, extension "m2ts" is fixed]) Exists.
  • the PLAYLIST directory there is a file with an extension mpls (xxx.mpls [“xxx” is variable, and extension “mpls” is fixed]).
  • the file with the extension “m2ts” is a digital AV stream in the MPEG-TS (Transport Stream) format, and multiplexes a video stream, one or more audio streams, and one or more sub-picture streams. Can be obtained.
  • the video stream indicates the moving image portion of the movie
  • the audio stream indicates the audio portion of the movie
  • the sub-picture stream indicates the subtitle of the movie.
  • a file with the extension “clpi” is Clip information corresponding one-to-one with each digital AV stream. Because of the management information, 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 GOP head position.
  • the file with the extension “mpls” is a file that stores PlayList information, in which a stream playback section (“In Time / Out Time”) is recorded.
  • the file with the extension “jar” is a Java (registered trademark) archive file, which describes a Java application program that performs dynamic scenario control using a Java virtual machine. This file is required if you want to control the playback of each title indicating the playback unit of content on the BD-ROM from a 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 played back 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. In other words, one application consists of one or more Java archive files.
  • index.bdmv (file name fixed) is management information about the entire BD-ROM, and is an identifier assigned to each of the organizationID (32 bits) that identifies the provider of the movie work and the BD-ROM provided by the provider. DiscID (128 bits) and the like, and after the disc is inserted into the playback device, the index.bdmv is read first so that the playback device can uniquely recognize the disc.
  • index.bdmv includes a table indicating a plurality of titles that can be reproduced on the BD-ROM and BD-J objects that define individual titles in association with each other.
  • MovieObject.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 reproduction control.
  • the first layer in FIG. 3 is a physical layer, and is supply control of the stream body to be processed.
  • the stream to be processed is not only a BD-ROM but also any recording such as a local storage, a removable medium, or a network that is a recording medium incorporated in a playback device such as an HDD (hard disk drive).
  • Media and communication media are the supply sources.
  • the control of the supply sources such as local storage, removable media, and network (disk access, card access, network communication) is the first layer control.
  • the second layer is a layer of AV data. It is this second layer that 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 the stream.
  • the static scenario is reproduction path information and stream management information defined in advance by the disc producer, and it is this third layer that defines reproduction 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 (HDMV mode) for playing back video data recorded on a BD-ROM in a playback environment unique to AV equipment.
  • the first feature is also recorded on a BD-ROM.
  • This mode increases the added value of video data.
  • FIG. 3 in the fourth layer, two modes of HDMV mode and BD-J mode are described.
  • the HDMV mode is a playback mode in a DVD-like playback environment, and a scenario program in which a scenario for dynamically changing the playback progress is operated.
  • Another BD-J mode is a playback mode mainly using a Java virtual machine, which controls playback from a Java application.
  • FIG. 4 is a diagram showing a movie work created by dynamic playback control in two modes.
  • FIG. 4A is a diagram showing one scene of a movie work created by defining dynamic playback control in the HDMV mode.
  • HDMV mode playback control can be described with commands that are similar to commands that can be interpreted by a DVD playback device, so playback control similar to DVD, that is, playback control that allows playback to proceed by menu selection, is performed.
  • FIG. 4B shows a movie work created by defining dynamic playback control in the BD-J mode.
  • control procedures can be written 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 (the owl picture in the figure) moves beside the screen displaying the video. 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 device includes a BD-ROM drive 401, a read control unit 402, a demultiplexer 403, a video decoder 404, a video plane 405, an audio decoder 406, an image memory 407, an image plane 408, an 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, write control unit 419, AV
  • the playback library 420 includes a network interface 421, a local storage 422, a managed copy control unit 423, a removable medium 104, and a recordable BD drive 106.
  • the BD-ROM drive 401 loads / ejects the BD-ROM and accesses the BD-ROM.
  • the read control unit 402 includes data recorded on the BD-ROM 105 loaded on the BD-ROM drive 401, the BD-R / RE loaded on the recording BD drive 106, the local storage 422, and the removable medium 104. Control reading of.
  • the demultiplexer 403 performs demultiplexing of the read transport stream 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 sub-picture stream is stored in the image memory 407, and the navigation button information is stored 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 an uncompressed 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 a developed sub-video stream, PNG data, and image file are arranged therein.
  • 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 displays an image in the image plane 408.
  • the static scenario memory 411 is a memory for storing the current PL and current stream management information.
  • the current PL is the one that is currently processed among a plurality of PLs recorded on the BD-ROM.
  • Current stream management information refers to information currently being processed among a plurality of stream management information recorded on a BD-ROM.
  • the dynamic scenario memory 412 is a memory that stores a current dynamic scenario and is used for processing by the HDMV module 413 and the BD-J module 414.
  • the current dynamic scenario is a scenario that is currently the execution target among a plurality of scenarios recorded on the BD-ROM.
  • 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 to the dynamic scenario memory 412.
  • BD-J module 414 is a Java platform and consists of a Java virtual machine, configuration, and 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 device, and causes the CPU to execute it.
  • 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.
  • the mode management module 416 holds the mode management table read from the BD-ROM, and performs mode management and branch control.
  • the mode management by the mode management module 416 is a module assignment of which HDMV module 413 and BD-J module 414 execute a dynamic scenario.
  • the dispatcher 417 selects only the UO appropriate for the mode in the current playback device from the UO, and transfers it to the module that executes the mode. For example, when receiving UO such as up / down / left / right and activation during execution of HDMV mode, the dispatcher 417 outputs these UOs to the HDMV mode module.
  • 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 recordable BD drive 106, the local storage 422, or the removable media 104 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.
  • the AV playback function is a group of functions followed from DVD players and CD players. Playback start, playback stop, pause, release of pause, release of still image function, fast forward with specified playback speed, playback speed Is a process such as rewind, audio switching, sub-video switching, angle switching, etc., designated as an immediate value.
  • the playlist playback function refers to performing playback start and playback stop in accordance with playlist information in the AV playback function.
  • the network interface 421 is used to connect to a server in order to authenticate a managed copy. Use the authentication protocol specified by the Java application executed by the BD-J module.
  • the local storage 422, the removable medium 104, and the recordable BD drive 106 are used as managed copy destinations. Which medium is used as the copy destination is determined for the medium selected by the user among the media supported as the copy destination of the managed copy.
  • the managed copy control unit 423 receives an instruction from the Java application being 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 media is BD-R, Bit by Bit copy is performed, and if the copy destination media is a small-capacity media such as DVD-R, the stream is re-encoded and the stream is compressed. However, data copy is performed. The above is the component of the playback device.
  • FIG. 6 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 information writing unit 608 is configured.
  • 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
  • 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.
  • 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 has 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 free space management of the copy destination medium is also performed.
  • the copy execution unit 604 executes copy of the data on the BD-ROM to another medium. Depending on the destination media, the stream is also re-encoded.
  • the copy status notification unit 605 manages status transitions such as copy start, normal termination, and error termination, 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 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 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. After acquiring the serial number, media ID, and Nonce, the Java application sends this value 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 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. If the encrypted content key can be decrypted, the protected content can be reproduced. In other words, without this key information, even if the encrypted content key and the protected content are copied from the BD-ROM to another medium without permission, it cannot be reproduced.
  • the managed copy control unit has the above configuration, and a managed copy control API is provided for the BD-J module so that these operations can be controlled from a Java application.
  • a managed copy control API is provided for the BD-J module so that these operations can be controlled from a Java application.
  • these APIs will be described.
  • -ManagedCopy_getPMSN () Returns the serial number of the copy source media.
  • -ManagedCopy_getMCMediaInfo () 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.
  • MCMediaInfo Start managed copy to the media specified by the argument MCMediaInfo_getMediaType ()
  • 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 copy destination media. The 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.
  • the value set by this API is written to the copy destination as key information ⁇ MCMediaInfo_getFreeSpace () Returns the copy destination free space ⁇ MCMediaInfo_getRequiredSpace () Returns the space required for copying
  • MCListener Registers a listener that receives a managed copy state transition notification. When a state transition such as the start, normal end, or abnormal end of managed copy occurs, the listener registered with this API is notified of the state transition.
  • MCProgress_getMCProgress Returns progress information including the remaining bytes of the managed copy and the number of copied bytes.
  • FIG. 7 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 managed copy module 703, a file I / O module 704, a network module 705, and an application manager 706.
  • the media playback module 702 provides an API for media playback control to the Java application 701.
  • the Java application 701 calls the media playback control API
  • the media playback module calls a function of the corresponding AV playback library 420 to perform AV playback control.
  • the managed copy module 703 provides the aforementioned API for managed copy control to the Java application 701.
  • the file I / O module 704 processes a file access request from the Java application 701 to each medium such as a BD-ROM, a local storage, a removable medium, and a recordable BD drive.
  • the network module 705 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.
  • the Java application 701 can use the network module 705 to access a server necessary for managed copy authentication.
  • the application manager 706 manages the start / end of the Java application 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 above are the components of the BD-J module.
  • Fig. 8 is a flowchart of managed copy control by a Java application.
  • the Java application calls ManagedCopy_getMCMediaInfo () to check whether there is a medium to be copied (S101). If there is a copy target medium, the medium to be copied is selected therefrom (S102).
  • the selection method may be selected by the Java application itself, or a list of media that can be copied is presented to the user, and the user may be selected from the list.
  • FIG. 9 shows an example when a copyable media list is presented to the user. It is possible to check not only the media name but also the free space from MCMediaInfo_getFreeSpace () and display the free space as well. Further, the required capacity may be calculated from the file size of the copy source and the value may be displayed.
  • the capacity required for the copy destination medium may be calculated by the Java application itself, or may be calculated by the playback device from the list of files to be copied. In particular, when the stream is recompressed and saved, the file size is changed, and in this case, it is efficient to calculate the required capacity in the playback device.
  • the Java application can obtain the required capacity calculated by the playback device from MCMediaInfo_getRequiredSpace ().
  • the free space of the selected copy destination medium is checked, and if there is free space necessary for copying, the accounting process is performed (S104).
  • the billing processing procedure here refers to a series of procedures 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 (S105).
  • 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.
  • the serial number of the copy source medium can be acquired with ManagedCopy_getPMSN (), and the media ID and Nonce of the copy destination medium can be acquired with MCMediaInfo_getUniqueId ().
  • the element data is transmitted to the 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 designates the sent key information as an argument of MCMediaInfo_setSignature (byte []) and sets it to the playback device (S106).
  • FIG. 10 is a diagram showing an example of displaying the progress of copying on the screen.
  • the Java application can know the number of remaining bytes and the number of copied bytes, so it can determine the approximate remaining time.
  • MCMediaInfo_addMCListener a listener that receives managed copy status transition notifications
  • you can receive copy start / end notifications so you can display a progress bar until you receive copy completion notifications.
  • advertisements such as new product introductions.
  • the Java application receives a copy failure notification and cancels the accounting process if copying fails due to, for example, media being forcibly removed. It is also possible to handle this.
  • Fig. 11 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 704 to access a file on a BD-ROM before copying by the managed copy control unit. .
  • restrictions are imposed on stream playback from the media playback module 702 and file access from the file I / O module 704.
  • the reason for this restriction is that the managed copy control unit exclusively uses the file system in order to prevent the copy I / O process and stream decoding process of the Java application from colliding and failing to copy due to lack of resources. This is because a decoder / encoder or the like can be used.
  • a disk ejection notification may be performed together with a copy start notification.
  • a disk insertion notification may be performed together with a copy end notification.
  • FIG. 13 is a flowchart showing execution of copying by the managed copy control unit. This flowchart details step S107 in FIG.
  • the disk access from the Java application is restricted (S201). After performing disk access restriction, a copy start notification is sent to the Java application (S202). After copying start notification, data copying from the copy source to the copy destination is started. When the copying of all the data to be copied is completed, the disk access restriction performed in step S201 is canceled (S204), the copy completion notification is sent to the Java application (S205), and the copy in the managed copy control unit Complete the process. If the copy in step S203 fails in the middle, the disk access restriction is canceled and a copy failure notification is sent to the Java application.
  • managed copy and Java application execution can be performed simultaneously while avoiding resource conflict, and the progress status is displayed during the managed copy, and advertisements and advertisements are displayed. It is possible to execute game applications and the like.
  • FIG. 14 is a diagram showing managed copy in consideration of file name restrictions on removable media.
  • the file name When copying a file with a file name of 9 characters or more on BD-ROM or an extension name of distribution characters or more to removable media, the file name will be 8 characters or less or an extension name of normal playback characters or less. Convert the file name so that it is saved. If file names collide during file name conversion, file name collision is avoided by assigning serial numbers and the like.
  • file name conversion table filename.tbl
  • FIG. 15 shows an example of the file name conversion table.
  • the read control unit 402 When playing back from a removable medium, the presence or absence of a file name conversion table is confirmed. If the file name conversion table exists, the read control unit 402 accesses the file name before conversion described in the file name conversion table. If detected, the read control unit 402 performs file access on the removable medium after replacing with the converted file name. As described above, file name conversion performed at the time of managed copy is saved in the file name conversion table, and the file name restriction is made by virtually accessing the file name before conversion based on the file name conversion table at the time of playback. Even if a managed copy is performed on the recording medium, it can be reproduced without any problem.
  • a stationary type playback device not a portable type, generally has a recording function as well as a playback function.
  • the recording device has a recording function, it is possible to realize data format conversion and encoding method conversion (which are expressed as transcoding) when executing managed copy.
  • data format conversion and encoding method conversion which are expressed as transcoding
  • FIG. 16 is a diagram showing a general internal configuration of a recording / reproducing reproduction apparatus, and also adding the components of the transcode.
  • the playback apparatus includes an HDMI transmission / reception unit 501, a signal input unit 502, an audio encoder 503, a video encoder 504, and a multiplexer 505.
  • transcoding refers to converting the digital stream format recorded on the BD-ROM from MPEG2 transport stream format to MPEG2 program stream format, etc., and lowering the bit rate assigned to the video stream and audio stream.
  • the path tc0 is a path used when realizing a copy of recording a bit stream recorded on the BD-ROM as it is on another recording medium, that is, a so-called bit-by-bit copy, which is read from the read control unit 402
  • the video stream is input to the writing control unit 419 as it is.
  • the path tc1 is a path when the video stream and the audio stream that are multiplexed and recorded on the BD-ROM are multiplexed again.
  • the paths tc2 and tc3 are paths for re-encoding the video stream and the audio stream.
  • the HDMI transmission / reception unit 501 transmits uncompressed video data and uncompressed audio data to the television 103 and receives data from the television 103.
  • the signal input unit 502 receives an analog signal input to the television 103.
  • the audio encoder 503 encodes an analog input signal input from the signal input unit 502 to obtain an audio stream, but when transcoding is performed, the audio encoder 503 re-encodes uncompressed audio data input through the path tc2.
  • the video encoder 504 encodes an analog input signal input from the signal input unit 502 to obtain a video stream. When transcoding is performed, the video encoder 504 re-encodes uncompressed video data input through the path tc3.
  • the multiplexer 505 multiplexes the video stream obtained by the video encoder 504 and the audio stream obtained by the audio encoder 503 into a format suitable for the copy destination medium such as a transport stream format or a program stream format.
  • the above is the internal configuration of the recording / playback type playback device. Next, the technical significance of the BD-J module will be described.
  • the BD-J module is a Java platform that is fully implemented in Java2Micro_Edition (J2ME) Personal Basis Profile (PBP 1.0) and Globally Executable MHP specification (GEM1.0.2) for package media targets, and is present in the JAR archive file. It plays the role of starting a Java application by reading bytecode from a class file and storing it in heap memory. Then, the byte code that constitutes the Java application and the byte code that constitutes the system application are converted into native codes and executed by the MPU.
  • FIG. 17 shows the functions of such a BD-J module more clearly.
  • FIG. 17 is an internal block diagram clearly showing general components of the BD-J module. The technical significance of the file I / O module 704 and the media playback module 702 will be described with reference to this figure.
  • BD-J Java application in the heap memory of the BD-J module.
  • the operation of the Java application is defined by the application management table in the BD-J object. Since such a BD-J object exists for each title, a Java application in the BD-ROM operates using the title as the life cycle.
  • a Java application whose operation is regulated by the application management table in the BD-J object is referred to as a “BD-J application”.
  • a Java application whose operation is terminated when the title is switched is called a title boundary application, and an application whose operation is always terminated when the BD-ROM is exchanged is called a disk boundary application.
  • the BD-J application exists in the heap memory in this figure, and one of these BD-J applications uses the API as described above to execute the copy control (BD-J application (copy control BD- J application).
  • This copy control BD-J application designates the operation mode of the BD-J application when instructing the copy control to the managed copy control unit 423.
  • This operation mode includes a first mode in which the BD-J application in operation is terminated and managed copy control is left to the resident program of the playback device, a second mode in which the BD-J application is not terminated, and a BD-J in operation.
  • the following describes how the file I / O module 704 enters a state in which a playback request from a BD-J application is rejected.
  • a BDMV directory is allocated to the drive of the BD-ROM 105 by issuing a command “/ mount point BD / BDMV”.
  • a command “/ mount point SD / BUDA” By issuing the command “/ mount point SD / BUDA”, a BUDA directory can be assigned to the removable medium 104.
  • the read-only BD, the local storage, and the recordable BD are allocated to a virtual file system for use by the BD-J application. If you perform an unmount operation, that is, an unmount operation, the BD-J application cannot recognize read-only BDs, local storages, and recordable BDs through the virtual file system. It is possible to set a state in which a playback request from an application is rejected.
  • the media playback module 702 is in a state of rejecting a playback request from a BD-J application.
  • Playback of a playlist by the BD-J application is performed by the BD-J application executing generation of a Java Media FrameWork (JMF) player instance.
  • JMF Java Media FrameWork
  • 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.
  • the media playback module 702 does not generate the JMF player instance of the playlist information file and returns an error even though the BD-J application has ordered the generation of the JMF player instance, the request from the BD-J application is accepted. It will never be done. Therefore, the media playback module 702 does not generate a JMF player instance even if there is a request from the BD-J application when the playback request from the BD-J application is rejected.
  • the MCMediaInfo_addMCListener (MCListener) is sent to the file I / O module 704 and the media playback module 702. )
  • MCListener To register a listener that receives a managed copy state transition notification in the file I / O module 704 and the media playback module 702. Then, since the start of managed copy by the managed copy control unit is notified to the event listeners of the file I / O module 704 and the media playback module 702, the file I / O is notified when the start of the managed copy is notified to the event listener.
  • the O module 704 and the media playback module 702 transition to a state in which a request from the BD-J application is rejected.
  • the file I / O module 704 and the media playback module 702 respond to these requests with an error response. return. By doing so, access to the BD-ROM or the like does not conflict between the managed copy control and the BD-J application.
  • the end is notified to the file I / O module 704 and the media playback module 702, so that the file I / O module 704 and the media playback module 702 transition to the normal state. To do.
  • processing is performed according to these requests.
  • a disk access or playback is requested from the BD-J 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 transition to a state in which a request from the BD-J application is rejected.
  • the BD-J application can read the read-only BD, the local storage, and the recordable BD. Cannot be accessed. Instead, the data in the cache 707 can be used.
  • the cache 707 is a cache memory for storing an archive file designated by the cache management information of the BD-J object corresponding to the current title when a certain title becomes the current title.
  • the archive file stored here is valid as long as a title is the current title, and the BD-J application does not access the BD-ROM or local storage even if it accesses the archive file in this cache.
  • the included programs and data can be used. Therefore, the BD-J application can use the data in the archive file even during the period when the BD-ROM is ejected.
  • FIG. 18 is a diagram illustrating a state in which a request from a BD-J application is rejected.
  • the read control unit 402, the media playback module 702, and the file I / O module 704 are in a state of rejecting a playback request from the BD-J application, the read control unit 402, the media playback module 702, and the file I / O module 704
  • a BD-J application that commands the write control unit 403, the multiplexer 505, and the write control unit 419 to perform playback processing cannot command these components. Therefore, the use of these resources does not compete between the BD-J application and the copy execution unit 604.
  • FIG. 19 is a diagram illustrating a state in which the state in which the request from the BD-J application is rejected is completed and returned to normal.
  • the media playback module 702 and the file I / O module 704 are in a state in accordance with the playback request from the BD-J application. Can be requested. This completes the description of the technical significance of the file I / O module 704 and the media playback module 702. Next, details of the API call by the BD-J application will be described.
  • FIG. 20 shows temporal transitions of processing by the title boundary application, the copy control application, and the managed copy control unit before and after the managed copy.
  • the first level shows the processing of the title boundary application with the title as the life cycle
  • the second level shows the processing content of the copy control application.
  • the third level shows the processing contents of the managed copy control unit 423.
  • the title boundary application is running during the period of authentication & billing (t0 to t1), but it plays the AV stream video during the period of copying (t1 to t2). Because it is not possible, only the CG character that exists in the cache is drawn. In the period (t2 to t3) when the copying is completed, the normal reproduction state is restored, and the CG character drawing accompanying the reproduction of the moving image of the AV stream is executed.
  • the BD-J application can draw characters using CG data in the cache even during the period when managed copy is being executed. Can be realized.
  • API used for copy control Since the copy control in this specification is mainly performed by the BD-J application, the process of the managed copy control unit must be described using the BD-J application programming interface (API). The API used for copy control will be described below.
  • FIG. 21 shows the API call from the BD-J application and the processing contents corresponding to this call in association with each other.
  • Arrows (1-1) and (1-2) schematically show a call of MCMedia_SetMedia Type from the BD-J application and notification of the media type by the media status management unit 603 in response to this call.
  • Arrows (2-1) and (2-2) schematically show the ManagedCopy_getPMSN call from the BD-J application and the delivery of the serial number by the serial number reading unit 601 in response to this call.
  • Arrows (3-1), (3-2), and (3-3) indicate a call of MediaInfo get UNiqued ID from the BD-J application, delivery of Media-ID by the media ID reading unit 602 in response to this call, and Nonce Nonce delivery by the generation writing unit 607 is schematically shown.
  • Arrows (4-1) and (4-2) schematically show a call to MCMediaInfo_SetSignature from the BD-J application and the writing of key information by the key information writing unit 608 in response to this call.
  • Arrows (5-1) and (5-2) schematically show the MCMediaCopy_start_MC call from the BD-J application and the delivery of key information to the copy execution unit 604 in response to this call.
  • (6-1) and (6-2) are MCProgress_get_MCProcessAPI calls from the BD-J application, the remaining number of bytes by the copy status notifying unit 605 and the copy progress managing unit 606 according to this call, and the number of copied bytes The delivery is schematically shown.
  • FIG. 22 is a flowchart showing the processing procedure of the copy execution unit 604.
  • step S1 a call waiting for whether or not Managed Copy_start has been called is awaited. If a call is made, in step S2, the status of the media playback module 702 and file I / O module 704 is requested from the BD-J application. Transition to a state that rejects.
  • step S3 a BDMV directory is created on the copy destination medium, and in step S4, Index.bdmv and MovieObject are copied in the BDMV directory.
  • step S5 the PlayList directory, the BDJO directory, and the JAR directory are copied under the BDMV directory of the copy destination medium.
  • step S6 it is determined whether or not there is an instruction for transcoding. If there is an instruction for transcoding, the STREAM directory and the CLIPINF directory are copied under the BDMV directory in step S7. Thereafter, in step S8, the CERTIFICATE directory of the ROOT directory is copied.
  • step S12 transcoding of the AVClip including the video stream is executed.
  • step S13 a clip information file corresponding to the transcoded AVClip is created. When transcoding occurs, the clip information file is recreated because the clip information file contains many information elements that depend on the stream, such as an entry map indicating the correspondence between packet numbers and presentation time stamps. Because.
  • step S14 the transcoded AVClip is written in the STREAM directory, the newly generated clip information file is written in the CLIPINF directory, and the process proceeds to step S8.
  • step S9 the state of the media playback module 702 and the file I / O module 704 is changed to a state in which a processing request from the BD-J application is permitted.
  • the media playback module 702 and the file I / O module 704 are in a state of permitting a processing request from the BD-J application.
  • the BD-J application has the BD-ROM loaded in the playback device.
  • the management of the BD-J application by the BD-J application manager in this application is not general. This is a special one shown in FIG. Hereinafter, the processing procedure of the BD-J application manager will be described with reference to FIG.
  • FIG. 23 is a flowchart showing the processing procedure of the BD-J application manager. This flowchart has a loop structure in which the processing from step S71 to step S72 is repeated.
  • Step S71 is a determination as to whether or not the current title has been selected by the module manager. If there is, the process of steps S74 and S75 is executed, and the process returns to the loop of steps S71 to S73.
  • Step S74 is processing for reading the archive file described in the cache management information of the BD-J object corresponding to the current title into the cache
  • step S75 is the BD-J application of the BD-J object corresponding to the current title. Load the BD-J application described in the management table into the heap memory and start the BD-J application.
  • Step S72 is a determination as to whether or not managed copy is started. If managed copy is started, the BD-J application is virtually removed in step S76 and the data in the cache is deleted. Just put it into operation. In step S77, the end of managed copy is awaited. When the managed copy is completed, in step S78, the BD-J application is set in the normal state, and the process returns to steps S71 to S73.
  • step S73 If a DiscEject event occurs in step S73, the processes in steps S79 to S81 are executed.
  • step S79 the title boundary application whose title is the life span and the disc boundary application whose life is the disc are terminated, and in step S80, the generation of a DiscInsert event is awaited. If the DiscInsert event occurs, the first play title of the disc inserted in step S81 is set as the current title, and the process proceeds to step S74.
  • the BD-J application is placed in a state in which a playback request from the BD-J application is rejected while the BD-ROM is still loaded in the playback device.
  • Copy control by BD-J application uses API, so not only copy control by copy control application but also accounting process and copy progress display prior to copying must use API as described above. I must. Hereinafter, descriptions of copy control, accounting processing, and copy progress display using the API will be described.
  • FIG. 24 is a flowchart showing a processing procedure for how the BD-J application that performs copy control uses the API
  • FIG. 25 is a flowchart showing a processing procedure of the accounting processing using the API.
  • FIG. 26 shows an example of a copy progress display with mini game execution and trailer playback.
  • step S21 Managed Copy_get MCMedia Info is called, and in step S22, a list of media that can be used as copy destination media is acquired. If such a list is acquired, MCMediaInfo_MediaType is called for each element in the copy destination list (step S23), and the media type of each element in the copy destination list is acquired (step S24).
  • step S25 each element of the copy destination list is displayed in a list in association with the media type, and the user waits for selection (step S26). If it is selected, it is determined whether the copy target medium ID exists (step S27). If it exists, the selected copy destination medium is determined (step S28), and MCMediaInfo_getFreeSpace is called to determine the copy destination medium. Free space is acquired (step S29). In step S30, it is determined whether or not there is free space. If there is free space (Yes in step S30), MCMediaInfo_RequiredSpace is called to obtain the required size B for copying (step S31). Comparison with the capacity B is performed (step S32).
  • step S33 the charging process is started. If the charging is successful (step S35), the progress bar display is started (step S36). Thereafter, MCMediaInfo_getUniqued is called for the determined copy destination medium to acquire the media ID and Nonce (step S37).
  • the serial number of the copy destination medium is acquired by a call to ManagedCopy_getMSN (step S38), and the serial number, media ID, and Nonce of the copy source medium are transmitted to the management server of the copy source provider organization (step S39), and the key Waiting for information acquisition (step S40).
  • MCMediaInfo_SetSignature is called to set the key information (step S41), and MCMediaInfo is used as an argument to call ManagedCopy_startMC. Managed copy is started (step S42).
  • step S51 of FIG. 25A the listener that receives the managed copy state transition notification is specified as the argument MCListner, MCMCInfo_addMCListner is called, and charging processing is started in step S52. Thereafter, the process proceeds to a loop process from step S53 to step S54.
  • Step S53 is a determination as to whether or not the copy has failed. If it is determined that the copy has failed, the accounting is canceled in step S55.
  • Step S54 is a determination as to whether or not copying has been completed. If it is determined that copying has been completed, charging processing is confirmed in step S56.
  • FIG. 25 (b) is a flowchart showing the processing procedure of the progress bar display.
  • CMediaInfo_addMCListner is called by designating the argument MCListner as a listener that receives the managed copy state transition notification.
  • the process waits for the start of managed copy. If started, a progress bar is displayed and the process proceeds to a loop process of steps S64 to S65.
  • Step S64 is a determination as to whether or not a certain time has elapsed. If it is determined that a certain time has elapsed, MC Progress_set MC Progress is called in step S66 to acquire the number of remaining bytes and the number of copied bytes. .
  • step S67 the progress bar is updated using the remaining number of bytes thus created and the number of copied bytes.
  • step S65 it is determined whether or not the copying is completed. If it is determined that the copying is completed, the copying completion is displayed in step S68.
  • FIG. 26 shows an example of a copy progress display with mini game execution and trailer playback. This drawing is drawn based on FIG. 10, and a mini game execution screen and a trailer playback screen are added to the progress display as the base. These are displayed and played back based on the data stored in the archive file of the copy control application. Even if the disk has been removed, this data is read out from the cache. Display / playback is possible. By displaying such a mini game execution screen and trailer playback, the user's boredom can be alleviated even when the managed copy takes a long time.
  • a playback apparatus having only a playback function for playing back a recording medium has been described, but the present invention is not limited to this.
  • a recording / reproducing apparatus having a recording function may be used.
  • Java registered trademark
  • B-Shell and Perl Script which are used in UNIX (registered trademark), OS, etc. instead of Java (registered trademark)
  • Other programming languages such as ECMA Script may be used.
  • the copy source data that is the subject of the present invention is not limited to 2D video, and can be similarly applied to 3D stereoscopic video.
  • the managed copy control unit described in the above-described embodiment requires re-encoding depending on the copy target, and thus a process with a high load is required temporarily. For this reason, when the CPU performance on the playback device side is not sufficient, it may be considered that the managed copy control unit is incorporated on the LSI.
  • the playback device that plays back the BD-ROM has been described.
  • necessary data on the BD-ROM described in the above-described embodiment is recorded on a writable optical recording medium.
  • the same effects as described above can be obtained.
  • the playback device constituting the present invention can be manufactured and sold in the manufacturing industry in a management manner, and continuously and repeatedly. In particular, it can be used in the movie industry and consumer equipment industry that are involved in the production of video content.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

   マネージドコピーには多くのリソースを消費するため、再生装置側で制御するマネージドコピーと、記録媒体上のBD-Jアプリケーション実行を同時に動作させるとリソース不足に陥るという課題がある。本発明は、マネージドコピー中はBD-Jアプリケーションに対し仮想的にディスクが抜かれたように見せかけ、ディスクへのアクセス制限をかけることで、マネージドコピーとBD-Jアプリケーション実行のリソース競合を回避しつつ、マネージドコピーとBD-Jアプリケーション実行の同時動作を可能にする再生装置を提供する。

Description

再生装置、再生方法、プログラム
 本発明は、BD-ROM(Blu-Ray  Disc  Read  Only  Memory)等の記録媒体に記録されている映像データを再生する再生装置に関し、特に、当該記録媒体に記録されている映像データを、当該記録媒体以外の他の記録媒体へ記録する技術(マネージドコピー)に関する。
 マネージドコピーとは、BD-ROM等の読み出し専用記録媒体に記録されているデジタルストリームやアプリケーションプログラム(以下、「アプリケーション」という。)を、別の光ディスク(BD-R,BD-RE,DVD-R,DVD-RW,DVD-RAM等)やハードディスク、リムーバブルメディア(SDメモリーカード、メモリースティック、コンパクトフラッシュ(登録商標)、スマートメディア、マルチメディアカード等)などの読み書き可能な記録媒体へコピーする際、無制限にコピーを許すのではなく、コピー前にサーバと通信し、認証が行われ許可された状態においてのみコピー実行可能にする技術である。この技術により、バックアップ回数を制限したり、課金された状態でのみバックアップを許す等の制御を行うことができるため、BD-ROMのバックアップを完全に禁止する必要はなく、管理された状態でのバックアップが可能となり、BD-ROM視聴の利便性を向上させることができる。
 マネージドコピーについての先行技術としては、以下の特許文献に記載されているものがある。
特開2008-98765号
 ところで、マネージドコピーを全て再生装置側に任せてしまうと、コンテンツ提供者による独自の管理ができなくなってしまうため、例えば、コンテンツ提供者が独自の課金方法を採用したり、コピー中に宣伝を挿入したり、またコピー時間中もユーザに退屈させないよう簡単なゲームアプリを動作させたりするなど、コピー時間も有効に使うということができなくなる。しかしながら、マネージドコピーには多くのリソースを消費するため、再生装置側で制御するマネージドコピーと、記録媒体上のアプリケーション実行を同時に動作させるとリソース不足に陥る恐れがある。例えば、BD-ROMからDVD-Rへバックアップするときは、BD-ROMの読込み、DVD-Rへの書込みに加え、デジタルストリームの再圧縮と暗号化処理まで必要になる。そのような状況下で、アプリケーションを実行させると、メモリ不足、BD-ROM読込みの衝突、デジタルストリームの再生と圧縮の衝突等、様々な問題が発生する。もし、マネージドコピーを行っている再中にアプリケーションを実行させ、リソース不足に陥ったために、コピーに失敗したとなると、マネージドコピーのために課金したユーザに対し多大なる迷惑をかけてしまうことになる。
 上述したような競合を避けるには、マネージドコピーの実行中は、アプリケーションの動作を全て終了させるという制御を実現するという考えがある。しかしマネージドコピーとのリソース使用の競合を回避するため、動作中のアプリケーションを全て終了するとなると、マネージドコピーによる課金処理やマネージドコピーの進捗表示等をアプリケーションに実行させることができず、再生装置のレジデントプログラムによってこれらの機能を実現する必要がある。しかし、ネットワークにおける会計方式(クリアランス)は、コンテンツ提供者毎に異なることが多いため、再生装置側で、マネージドコピーによる課金処理を実現するとなると、再生装置を製造するメーカーは、それらコンテンツ提供者毎のクリアランスをサポートする必要がある。このような、コンテンツ提供者毎のクリアランスのサポートは、再生装置のメーカーの負担をとてつもなく大きくするものであり、家電機器へのマネージドコピー採用の可能性を遠退ける結果になる。
 本発明の目的は、マネージドコピーとアプリケーション実行のリソース競合を回避しつつ、マネージドコピーとアプリケーション実行の同時動作を可能にする再生装置を提供することである。
 上記課題を解決するため本発明は、アプリケーションを実行させながら、複数の記録媒体に対する媒体制御を実行する再生装置であって
 複数の記録媒体に対する媒体制御には、再生制御と、コピー制御とがあり、
 アプリケーションを動作させるプラットフォームと、
 再生部とを備え、
 前記再生制御は、プラットフォーム内のI/Oモジュールを通じたアプリケーションからの要求に基づき、複数の記録媒体のうち、第一記録媒体に記録されているファイルを読み出して、再生部に供する処理であり、
 前記コピー制御は、プラットフォーム内のI/Oモジュールを介することなく、前記第一記録媒体からデータを読み出して、第二記録媒体に書き込む処理であり、
 前記I/Oモジュールは、コピー制御が実行されている間、アプリケーションからの要求を拒否する、ことを特徴としている。
 コピー制御を実行している間、プラットフォーム内部のI/Oモジュールは、前記アプリケーションからの再生指示を拒否することにより、マネージドコピー中にアプリケーションからの再生要求が行われても、再生が行われることはないため、デジタルストリームの読込み・復号・圧縮に利用されるピックアップ制御・エンコーダ・デコーダ等のリソース競合を防ぐことが可能となる。
 また、マネージドコピーの実行中において、動作中のアプリケーションを全て終了させる訳ではないので、例えば動作中のアプリケーションが利用可能なAPIを用いて、コピー動作中のユーザインターフェイスをコントロールすることができる。
 よって、コピー中の宣伝・広告表示を実現することができ、プレーヤ側ではマネージドコピーにおいてユーザインターフェイスをもたなくてもよいので、再生装置における実装コストを低減することができる。またマネージドコピーの実現にあたって、サーバとの通信は全てアプリケーションで完結することができるので、サーバとの通信にどのようなプロトコルを使用するかという制限がコンテンツの制作スタジオに課されることはない。通信プロトコル選択の自由度が生まれるので、スタジオは独自のプロトコルを採用することで、マネージドコピーのためのクライアランスを実現することができる。また再生装置は、サーバとのやりとりのために、レジデントプログラム独自の通信モジュールを実装しなくて済むので、実装コストを低減することができる。
 加えて、本発明を採用することで、コンテンツ提供者が、ネットワークを通じて、ユーザにBD-ROMのコピーを認め、その対価を徴収することができ、その対価徴収にあたって、コンテンツ提供者独自のクリアランスを採用することができる。よってBD-ROMによる映画作品の頒布で一次的な収益を得た後、そのBD-ROMのコピーを認めることで、コンテンツ提供者は、二次的な収益を得るというビジネスモデルの実現が容易になる。よってコンテンツ提供者は、新たな商機を獲得することができる。
 また任意的であるが、前記コピー制御部による前記第一記録媒体上のデータの読込み、及び前記第二記録媒体へのデータの書込みを実行している間、
 前記I/Oモジュール及び媒体再生モジュールがアプリケーションからの再生要求を拒否する状態になれば、前記アプリケーションは、第一記録媒体が存在しないものとして処理を行い、
 前記I/Oモジュール及び媒体再生モジュールがアプリケーションからの再生要求に従う状態になれば、前記アプリケーションは、第一記録媒体が存在するものとして処理を行うことが望ましい。
 マネージドコピー中に、アプリケーションがBD-ROM上データへのアクセスを要求したとしても、第一記録媒体であるBD-ROMは、仮想的に抜かれている状態になっているため、たとえ、アクセス先のデータが存在していても、存在しないとしてアクセスを失敗させ、実際のディスクアクセスを行わないため、BD-ROMの読込みが衝突することを防ぐことが可能となる。
 また任意的であるが、前記通知部は、前記第一記録媒体上のデータの読込み、もしくは前記第二記録媒体上へデータの書込みに失敗した場合、前記コピー制御によるコピーが失敗したことを前記登録APIにより登録されたアプリケーションに通知することが望ましい。
 この場合、コピー中にメディアを強制的に抜くなどして、コピーに失敗しても、コピー失敗通知をアプリケーションが受け取ることができるため、コピーに失敗したときは、コピー前に行った課金をキャンセルするなどの対応策を取ることが可能となる。
 また任意的であるが、前記再生装置はさらに、進捗管理部を備え、
 前記進捗管理部は、アプリケーションからのプログラミングインターフェイスの呼び出しに応じて、前記コピー制御による第二記録媒体へ書込み済みのデータサイズと、書込み予定でまだ書込まれていない、残りのデータサイズとを前記アプリケーションに通知することが望ましい。
 これにより、仮想的にディスクが抜かれた状態になり、アプリケーションからBD-ROM上データへのアクセスができない状態ではあるが、コピーの開始と終了、及び進捗状況をアプリケーションが把握できるため、画面に進捗を示す進捗バーを表示したり、残り時間を表示したり、コピー完了まで、宣伝・広告画面の表示やゲームアプリ等の実行が可能となる。
実施の形態1におけるシステム図 実施の形態1におけるBD-ROMのデータ階層図 実施の形態1におけるBD-ROMが対象としているソフトウェアのレイヤモデルを示す図 実施の形態1における2つのモードの動的な再生制御にて作成される映画作品を示す図 実施の形態1における再生装置の内部構成を示す図 実施の形態1におけるマネージドコピー制御部の内部構成を示す図 実施の形態1におけるBD-Jモジュールの具体的な構成を示す図 実施の形態1におけるマネージドコピーのフローチャート 実施の形態1におけるコピー先メディア選択画面の一例を示す図 実施の形態1におけるマネージドコピー中の画面表示の一例を示す図 実施の形態1におけるディスクアクセス制限の開始・終了を示す図 実施の形態1におけるディスクアクセス制限中のBD-Jモジュールの内部構成を示す図 実施の形態1におけるマネージドコピー制御部のコピー実施のフローチャート 実施の形態2におけるリムーバブルメディアのファイル名制限を考慮したマネージドコピーを示す図 実施の形態2におけるファイル名変換テーブルの一例を示す図 録再型の再生装置の一般的な内部構成を示すと共に、このトランスコードの構成要素を書き加えた図である。 BD-Jモジュールの一般的構成要素を明示した内部構成図である。 BD-Jアプリケーションからの要求を拒否させる状態を示す図である。 BD-Jアプリケーションからの要求を拒否させる状態が終了して通常に戻った状態を示す図である。 マネージドコピー前後におけるタイトルバウンダリーアプリケーション、コピー制御アプリケーション、マネージドコピー制御部による処理の時間的遷移を示す。 BD-JアプリケーションからのAPIコールと、このコールに応じた処理内容とを対応付けて示す。 コピー実行部604の処理手順を示すフローチャートである。 BD-Jアプリケーションマネージャの処理手順を示すフローチャートである。 コピー制御を行うBD-Jアプリケーションが、APIをどのように利用するかという処理手順を示すフローチャートである。 APIを利用した課金処理の処理手順を示すフローチャートである。 ミニゲーム実行や予告編再生を伴うコピー進捗表示の一例を示す。
 以下本発明の実施の形態について、図面を参照しながら説明する。
 (実施の形態1)
 先ず始めに、本発明に係る再生装置の実施行為のうち、使用行為についての形態を説明する。図1は、本発明に係る再生装置の、使用行為についての形態の一例を示す図である。図1において、本発明に係る再生装置は、再生装置101である。この再生装置101は例えば、リモコン102、テレビ103により形成されるホームシアターシステムに、映画作品を供給するという用途に供される。また、再生装置101にはSDメモリーカード、メモリースティック、コンパクトフラッシュ、スマートメディア、マルチメディアカード等のリムーバブルメディア104を挿入する挿入口、及びBDドライブ106を外付けするための挿入口を備える。
 以上が本発明に係る再生装置の使用形態についての説明である。続いて本発明に係る再生装置が再生の対象としている、記録媒体(メディア)について説明する。本発明に係る再生装置により、再生されるのは、この例では光ディスクである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"は固定])が存在する。PLAYLISTディレクトリには、拡張子mplsが付与されたファイル(xxx.mpls["xxx"は可変、拡張子"mpls"は固定])が存在する。CLIPINFディレクトリには、拡張子clpiが付与されたファイル(xxx.clpi ["xxx"は可変、拡張子"clpi"は固定])が存在する。JARディレクトリには、拡張子jarが付与されたファイル(xxx.jar["xxx"は可変、拡張子"jar"は固定])が存在する。BDJOディレクトリには、拡張子bdjoが付与されたファイル(xxx.bdjo["xxx"は可変、拡張子"bdjo"は固定])が存在する。
 拡張子"m2ts"が付与されたファイルは、M  P E  G -  T S  ( T  r a  n s  p o  r t  S t  r e  a m  )形式のデジタルAVストリームであり、ビデオストリーム、1つ以上のオーディオストリーム、1つ以上の副映像ストリームを多重化することで得られる。ビデオストリームは映画の動画部分を、オーディオストリームは映画の音声部分を、副映像ストリームは、映画の字幕をそれぞれ示している。

  拡張子"clpi"が付与されたファイルは、デジタルAVストリームのそれぞれに1対1に対応するClip情報である。管理情報故に、Clip情報は、デジタルAVストリームの符号化形式、フレームレート、ビットレート、解像度等の情報や、GOPの先頭位置を示すEP_mapをもっている。
  拡張子"mpls"が付与されたファイルは、PlayList情報を格納したファイルであり、ストリームの再生区間(「In Time/Out Time」)が記録されている。

  拡張子"jar"が付与されたファイルは、Java(登録商標)アーカイブファイルであり、Java仮想マシンを用いて動的なシナリオ制御を行うJavaアプリケーションのプログラムが記述されている。BD-ROM上のコンテンツの再生単位を示す各タイトルの再生をJavaアプリケーションから制御したい場合は、このファイルを必要とする。
 拡張子"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オブジェクトとを対応付けて示すテーブルが含まれる。
  MovieObject.bdmv(ファイル名固定)は、HDMVモード(後述)での各タイトル再生で、再生進行を動的に変化させるためのシナリオが記述されたシナリオプログラムが含まれる。

  図3は再生制御のレイヤモデルを示した図である。図3の第1層は、物理層であり、処理対象たるストリーム本体の供給制御である。この第1層に示すように、処理対象たるストリームは、BD-ROMだけではなく、HDD(ハードディスクドライブ)などの再生装置に予め組み込まれた記録媒体であるローカルストレージやリムーバブルメディア、ネットワークといったあらゆる記録媒体、通信媒体を供給源としている。これらローカルストレージ、リムーバブルメディア、ネットワークといった供給源に対する制御(ディスクアクセス、カードアクセス、ネットワーク通信)が第1層の制御である。
  第2層は、AVデータのレイアである。第1層で供給されたストリームを、どのような復号化方式を用いて復号するのかを規定しているのがこの第2層である。

  第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、読込制御部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、リムーバブルメディア104、記録型BDドライブ106、から構成される。

  BD-ROMドライブ401は、BD-ROMのローディング/イジェクトを行い、BD-ROMに対するアクセスを実行する。
  読込制御部402は、BD-ROMドライブ401にローディングされているBD-ROM105,記録型BDドライブ106にローディングされているBD-R/RE,ローカルストレージ422、リムーバブルメディア104上に記録されているデータの読込み制御を行う。

  デマルチプレクサ403は、読込制御部402により、読み出されたトランスポートストリームの多重分離を行い、GOPを構成するビデオフレームと、オーディオフレームとを得てビデオフレームをビデオデコーダ404に出力し、オーディオフレームをオーディオデコーダ406に出力する。副映像ストリームはイメージメモリ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は、カレントのPLやカレントのストリーム管理情報を格納しておくためのメモリである。カレントPLとは、BD-ROMに記録されている複数PLのうち、現在処理対象になっているものをいう。カレントストリーム管理情報とは、BD-ROMに記録されている複数ストリーム管理情報のうち、現在処理対象になっているものをいう。
  動的シナリオメモリ412は、カレント動的シナリオを格納しておき、HDMVモジュール413、BD-Jモジュール414による処理に供されるメモリである。カレント動的シナリオとは、BD-ROMに記録されている複数シナリオのうち、現在実行対象になっているものをいう。

  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から読み出されたモード管理テーブルを保持して、モード管理及び分岐制御を行う。モード管理モジュール416によるモード管理とは、動的シナリオをどのHDMVモジュール413、BD-Jモジュール414に実行させるかという、モジュールの割り当てである。
  ディスパッチャ417は、UOから、現在の再生装置におけるモードに適切なUOのみを選んで、そのモードを実行するモジュールに受け渡す。例えばHDMVモードの実行中に、上下左右、アクティベートといったUOを受け付けた場合、HDMVモードのモジュールにこれらのUOを出力するというのがディスパッチャ417の処理である。

  レンダリングエンジン418は、Java2D,OPEN-GLといった基盤ソフトウェアを備え、BD-Jモジュール414からの指示に従ってコンピュ-タ・グラフィックスの描画を行い、描画されたコンピュ-タ・グラフィックスをイメージプレーン408に出力する。
  書込制御部419は、マネージドコピー制御部423からの指示に従い、記録型BDドライブ106にローディングされているメディア、ローカルストレージ422、もしくはリムーバブルメディア104にデータを書き込む。

  AV再生ライブラリ 420はHDMVモジュール413、BD-Jモジュール414からの関数呼び出しに応じて、AV再生機能、プレイリストの再生機能を実行する。AV再生機能とは、DVDプレーヤ、CDプレーヤから踏襲した機能群であり、再生開始、再生停止、一時停止、一時停止の解除、静止画機能の解除、再生速度を即値で指定した早送り、再生速度を即値で指定した巻戻し、音声切り替え、副映像切り替え、アングル切り替えといった処理である。プレイリスト再生機能とは、このAV再生機能のうち、再生開始や再生停止をプレイリスト情報に従って行うことをいう。
  ネットワークインターフェース421は、マネージドコピーの認証を行うため、サーバへ接続するために用いる。認証のプロトコルはBD-Jモジュールにより実行されているJavaアプリケーションが指示したもの利用する。

 ローカルストレージ422、リムーバブルメディア104、及び記録型BDドライブ106は、マネージドコピーのコピー先として用いられる。コピー先をどのメディアに行うかは、マネージドコピーのコピー先としてサポートされているメディアのうち、ユーザにより選択されたメディアへ行う。
 マネージドコピー制御部423は、BD-Jモジュールにより実行されているJavaアプリケーションの指示を受け、BD-ROM上データのコピーを行う。コピー先のメディアによっては、ストリームの再エンコードも行う。例えば、コピー先のメディアがBD-Rであれば、Bit  by  Bitコピーを実施し、コピー先のメディアがDVD-R等、容量が少ないメディアであれば、ストリームの再エンコードを行い、ストリームを圧縮しつつデータコピーを行う。

 以上が再生装置の構成要素である。
  図6は、マネージドコピー制御部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の両方が可能と判断する。加えて、コピー先メディアの空き容量管理も行う。
  コピー実行部604は、BD-ROM上データを、別メディアへのコピー実行を行う。コピー先のメディアによっては、ストリームの再エンコードも行う。

 コピー状態通知部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から別のメディアにコピーしたとしても再生することはできない。
  マネージドコピー制御部は以上の構成を持ち、これらの操作をJavaアプリケーションから制御できるよう、BD-Jモジュールに対してマネージドコピー制御APIが提供されている。以下、これらのAPIについて説明する。

 ・ManagedCopy_getPMSN()
   コピー元のメディアのシリアル番号を返す。

  ・ManagedCopy_getMCMediaInfo()
  再生装置がコピー先としてサポートするメディアで、かつメディアが挿入されており、コピー先として現在利用できるメディアのリストを返す。
  ・ManagedCopy_startMC(MCMediaInfo)
  引数で指定したメディアへマネージドコピーを開始する

  ・MCMediaInfo_getMediaType()
  getMCMediaInfoで取得できたコピー先リストの各要素に対して、このAPIを呼ぶと、メディアの種類(BD-R,BD-RE,SD、HDD,DVD-R等)を返す。

  ・MCMediaInfo_getUniqueId()
  コピー先のメディアのメディアID及びNonceのバイト列を返す。コピー先のNonceはこのAPIが呼ばれた時点で生成&書込が行われる。メディアの種類によってはNonceが存在しない場合もある。この場合はメディアIDのみを返す。
  ・MCMediaInfo_setSignature(byte[])
  コピー先へ書込む鍵情報をセットする。マネージドコピーが開始されると、このAPIでセットした値が鍵情報としてコピー先に書込まれる

  ・MCMediaInfo_getFreeSpace()
  コピー先の空き容量を返す

  ・MCMediaInfo_getRequiredSpace()
  コピーに必要な容量を返す
  ・MCMediaInfo_addMCListener(MCListener)
  マネージドコピーの状態遷移通知を受けるリスナーを登録する。マネージドコピーの開始、正常終了、異常終了等の状態遷移が起きたときに、このAPIで登録したリスナーに状態遷移を通知する。

  ・MCProgress_getMCProgress()
  マネージドコピーの残りバイト数、コピー済みバイト数が含まれる進捗情報を返す。
 図7は図5に示すBD-Jモジュールのより具体的な構成を示す図である。BD-Jモジュール414はメディア再生モジュール702、マネージドコピーモジュール703、ファイルI/Oモジュール704、ネットワークモジュール705、アプリケーションマネージャ706から構成される。

 メディア再生モジュール702はJavaアプリケーション701に対し、メディア再生制御のためのAPIを提供している。Javaアプリケーション701がメディア再生制御APIを呼び出すと、メディア再生モジュールは対応するAV再生ライブラリ 420の関数を呼び出し、AV再生制御を行う。

 マネージドコピーモジュール703はJavaアプリケーション701に対し、前述のマネージドコピー制御のためのAPIを提供している。
 ファイルI/Oモジュール704はJavaアプリケーション701からのBD-ROM,ローカルストレージ、リムーバブルメディア、記録型BDドライブ等の各メディアへのファイルアクセス要求の処理を行う。

 ネットワークモジュール705は、Javaアプリケーション701に対し、ネットワーク制御のためのAPIを提供している。Javaアプリケーション701からのネットワーク制御要求に従い、ネットワークインターフェース421を使って、ネットワーク接続を行う。Javaアプリケーション701はネットワークモジュール705を用いて、マネージドコピーの認証に必要なサーバへのアクセスを行うことが可能である。
 アプリケーションマネージャ706はBD-ROM上に記録されたアプリケーション管理情報を元にJavaアプリケーションの起動・終了を管理する。また、アプリケーションマネージャがディスパッチャ417から受け取ったUOイベントを、現在動作中のJavaアプリケーション701に渡すといった処理も行う。

 以上がBD-Jモジュールの構成要素である。
 図8はJavaアプリケーションによるマネージドコピー制御のフローチャートである。まず、JavaアプリケーションはManagedCopy_getMCMediaInfo()を呼び出し、現在コピー対象となるメディアが存在しているかをチェックする(S101)。コピー対象メディアが存在すれば、そこからコピー対象となるメディアを選択する(S102)。選択方法は、Javaアプリケーション自身が選んでも良いし、ユーザにコピー可能メディア一覧を提示し、そこからユーザに選択させても良い。図9にユーザにコピー可能メディア一覧を提示する場合の一例を示す。メディア名だけでなく、MCMediaInfo_getFreeSpace()から空き容量をチェックし、空き容量も加えて表示することも可能である。またコピー元のファイルサイズから、必要な容量を計算し、その値も表示してもよい。コピー先メディアに必要な容量計算は、Javaアプリケーション自身で行っても良いし、コピーするファイルのリストから再生装置で計算を行っても良い。特に、ストリームを再圧縮して保存する場合は、ファイルサイズの変更が伴うので、この場合、再生装置で必要容量を計算するのが効率的である。Javaアプリケーションは再生装置で計算した必要容量をMCMediaInfo_getRequiredSpace()から取得することができる。
 選択されたコピー先メディアの空き容量をチェックし、コピーに必要な空き容量があれば、課金処理手続きを行う(S104)。ここで言う課金処理手続きとは、サーバに接続し、クレジット番号等の認証を行う一連の手続きを指す。特に、課金が必要でない場合は、ここのステップをスキップしてもよいし、課金は行わず、単にコピー回数のカウントだけをチェックしてもよい。

 課金処理が成功すれば、鍵情報の要素データの取得を行う(S105)。鍵情報の要素データとは、コピー元メディアのシリアル番号、コピー先メディアのメディアID及びNonceである。コピー元メディアのシリアル番号はManagedCopy_getPMSN()で取得でき、コピー先メディアのメディアID及びNonceはMCMediaInfo_getUniqueId()で取得することが出来る。
 鍵情報の要素データの取得が完了すれば、それらの要素データをサーバへ送信する。サーバはそれらの要素データとサーバが持つ秘密鍵から鍵情報を生成し、生成した鍵情報をJavaアプリケーションへ送る。Javaアプリケーションは送られてきた鍵情報を、MCMediaInfo_setSignature(byte[])の引数に指定し、再生装置へセットする(S106)。
 鍵情報のセットが完了すると、ManagedCopy_startMC(MCMediaInfo)のAPIを呼び出すことで、マネージドコピーが開始される。マネージドコピーを行っている間、Javaアプリケーションは、MCProgress_getMCProgress()を呼び出すことで、コピーの進捗状況を把握することができる。図10はコピーの進捗状況を画面表示する一例を示す図である。Javaアプリケーションは、残りバイト数、コピー済みバイト数を知ることが出来るので、そこからおおよその残り時間を判断することが出来る。また、MCMediaInfo_addMCListener()を呼び出し、マネージドコピーの状態遷移通知を受けるリスナーを登録するにより、コピーの開始・終了通知を受け取ることができるので、コピー終了通知を受け取るまでの間、進捗バーを表示したり、新作紹介等の広告表示を行うことができる。また、また簡単なゲームアプリを実施するなども考えられる。また、さらにコピーに失敗した場合も通知を受けることが出来るため、例えばメディアが強制的に取り出された等により、コピーに失敗した場合、Javaアプリケーションはコピー失敗通知を受け取り、課金処理をキャンセルするなどの対応を行うことも可能である。
  図11は、コピー実施中のディスクアクセス制限について示す図である。Javaアプリケーションはマネージドコピー制御部によるコピー実施前は、メディア再生モジュール702を呼び出してストリームの再生を行ったり、ファイルI/Oモジュール704を呼び出してBD-ROM上のファイルにアクセスすることが可能である。一方、マネージドコピー制御部によるコピー実施が開始されると、図12に示すように、メディア再生モジュール702からのストリーム再生、及び、ファイルI/Oモジュール704からのファイルアクセスに制限が課される。この制限の理由は、マネージドコピー制御部とJavaアプリケーションのファイルI/O処理やストリームのデコード処理が衝突し、リソース不足によりコピーに失敗するのを防ぐため、マネージドコピー制御部が排他的にファイルシステムやデコーダ・エンコーダ等を利用できるようにするためである。そのため、Javaアプリケーションに対しては、コピー実施中は仮想的にディスクが取り出されたような制限が加わることになる。しかしながら、仮想的にディスクが取り出された状態になり、ディスクアクセスができなかったとしても、キャッシュメモリ上にあるイメージデータやネットワークI/Fを利用したサーバ接続は可能なため、簡易なゲームや広告・宣伝表示を行うことができる。この制限は、マネージドコピー制御部によるコピー実施が完了した時点で解除される。すなわち、Javaアプリケーションは、MCMediaInfo_addMCListener()を呼び出し、マネージドコピーの状態遷移通知を受けるリスナーを登録するにより、コピーの開始・終了を知るだけでなく、ディスクアクセス制限の開始・終了も兼ねて知ることが出来る。なお、コピー実施の開始・終了に伴い、Javaアプリケーションに対して仮想的なディスク取出・挿入が行われるため、Javaアプリケーションに対して明示的にディスクが取り出されたことを知らせるために、コピー実施時にはコピー開始通知と共にディスク取出通知を行っても良い。また、コピー終了時も同様、コピー終了通知と共にディスク挿入通知を行っても良い。
  図13はマネージドコピー制御部によるコピー実施を示すフローチャートである。このフローチャートは図8のステップS107を詳細化したものである。マネージドコピー制御部によるコピーを開始する前に、Javaアプリケーションからのディスクアクセス制限を行う(S201)。ディスクアクセス制限を行った後、Javaアプリケーションに対し、コピー開始通知を行う(S202)。コピー開始通知後、コピー元からコピー先へのデータコピーを開始する。コピー対象となっているデータのコピーが全て完了すれば、ステップS201で行ったディスクアクセス制限を解除し(S204)、Javaアプリケーションに対し、コピー完了通知を行い(S205)、マネージドコピー制御部におけるコピー処理を完了する。また、ステップS203のコピーが途中で失敗した場合は、ディスクアクセス制限を解除した後、Javaアプリケーションに対しコピー失敗通知を行う。

 以上のように本実施例によれば、リソース競合を回避しつつマネージドコピーとJavaアプリケーション実行の同時動作が可能になり、かつマネージドコピー中に進捗状況を表示したり、宣伝・広告を表示したり、ゲームアプリ等の実行が可能となる。
 (実施の形態2)
 実施の形態2では、記録可能なファイル名に制限を持つリムーバブルメディアへのマネージドコピーについて述べる。BD-ROMに記録されたファイルは、Long File Name(LFN)形式が採用されているので、10文字、20文字といったファイル名や、4文字、5文字といった拡張子のファイル名を記録することが可能である。一方、リムーバブルメディアはファイル名が最大8文字、ディレクトリ名が最大8文字、拡張子が最大3文字に制限されたファイルシステムを利用していることが多い。そのため、BD-ROMに記録されているファイル名のまま、リムーバブルメディアへコピーすることはできないケースがある。
 図14はリムーバブルメディアのファイル名制限を考慮したマネージドコピーを示す図である。BD-ROM上で、9文字以上のファイル名、もしく配信文字以上の拡張子名を持つファイルをリムーバブルメディアへコピーする場合、8文字以下のファイル名か通常再生文字以下の拡張子名となるよう、ファイル名を変換して保存を行う。ファイル名変換の際、ファイル名が衝突した場合は、連番等をつけることにより、ファイル名の衝突を回避する。そして、ファイル名変換を行って保存したファイルに関しては、ファイル名変換テーブル(filename.tbl)に、変換前ファイル名と変換後のファイル名の対応を記載する。図15にファイル名変換テーブルの一例を示す。
 リムーバブルメディアから再生を行うときは、ファイル名変換テーブルの有無を確認し、ファイル名変換テーブルが存在する場合、読込制御部402がファイル名変換テーブルに記載された変換前のファイル名へのアクセスを検知した場合、読込制御部402は変換後のファイル名に置換した上で、リムーバブルメディア上のファイルアクセスを行う。

 以上のように、マネージドコピー時に行ったファイル名変換をファイル名変換テーブルに保存し、再生時にファイル名変換テーブルを元に、変換前のファイル名として仮想的にアクセスさせることで、ファイル名制限を持つ記録媒体にマネージドコピーを行っても問題なく再生することが可能となる。
 (実施の形態1における補足説明)
 以下、実施の形態1に記載された再生装置の各構成要素について、補足的な説明を行う。実施の形態1の再生装置は、コピー実行できるものであるから、いわゆる録再型の再生装置である。
 携帯タイプのものではなく、据置タイプの再生装置は、再生機能に留まらず、録画機能を具備することが一般的である。再生装置に録画機能が存在する場合、マネージドコピーを実行するにあたっての、データ形式の変換、及び、符号化方式の変換(これらは、トランスコードと表現される)を実現することができる。録再型の再生装置に、トランスコードのための構成要素を追加した構成例について説明する。
 図16は、録再型の再生装置の一般的な内部構成を示すと共に、このトランスコードの構成要素を書き加えた図である。本図に示すように再生装置には、HDMI送受信部501、信号入力部502、オーディオエンコーダ503、ビデオエンコーダ504、マルチプレクサ505が存在している。
 ここでトランスコードとは、BD-ROMに記録されているデジタルストリームの形式をMPEG2トランスポートストリーム形式からMPEG2プログラムストリーム形式等に変換したり、ビデオストリーム及びオーディオストリームに割り当てられているビットレートを低くして再エンコードすることにより、デジタルストリームを、コピー先メディアのアプリケーションフォーマットに適合させる処理をいう。
 パスtc0は、BD-ROMに記録されているビットストリームをそのまま他の記録媒体に記録するというコピー、いわゆるビットバイビットコピーを実現する際用いられるパスであり、読出制御部402から読み出されたビデオストリームを、そのまま、書込制御部419に入力する。
 パスtc1は、BD-ROMに多重化されて記録されていたビデオストリーム、オーディオストリームを、改めて多重化する際のパスである。
 パスtc2、tc3は、ビデオストリーム、オーディオストリームの再エンコードを実行する場合のパスである。
 HDMI送受信部501は、非圧縮のビデオデータ、非圧縮のオーディオデータをテレビ103に送信し、テレビ103からのデータを受信する。
 信号入力部502は、テレビ103に対するアナログ信号入力を受け付ける。
 オーディオエンコーダ503は、信号入力部502から入力されるアナログ入力信号をエンコードしてオーディオストリームを得るが、トランスコードを実行する場合、パスtc2を通じて入力されてくる非圧縮のオーディオデータを再エンコードする。
 ビデオエンコーダ504は、信号入力部502から入力されるアナログ入力信号をエンコードしてビデオストリームを得るが、トランスコードを実行する場合、パスtc3を通じて入力されてくる非圧縮のビデオデータを再エンコードする。
 マルチプレクサ505は、トランスポートストリーム形式、プログラムストリーム形式等、コピー先メディアに適合した形式に、ビデオエンコーダ504によって得られたビデオストリーム 及び、オーディオエンコーダ503によって得られたオーディオストリームを多重化する。
 以上が録画再生型再生装置の内部構成である。続いて、BD-Jモジュールの技術的意義を説明する。
 (BD-Jモジュールの一般的構成)
 BD-Jモジュールは、Javaプラットフォームであり、Java2Micro_Edition(J2ME) Personal Basis Profile(PBP 1.0)と、Globally Executable MHP specification(GEM1.0.2)for package media targetsとをフル実装して、JARアーカイブファイルに存在するクラスファイルからバイトコードを読み出して、ヒープメモリに格納することにより、Javaアプリケーションを起動するという役割を担う。そしてJavaアプリケーションを構成するバイトコード、システムアプリケーションを構成するバイトコードをネィティブコードに変換して、MPUに実行させる。こうしたBD-Jモジュールの機能をより明確に表したのが、図17である。
 図17は、BD-Jモジュールの一般的構成要素を明示した内部構成図である。この図を参考にして、ファイルI/Oモジュール704、メディア再生モジュール702の技術的意義について説明する。
 本図において、BD-Jモジュールのヒープメモリには、Javaアプリケーションが存在する。ここでBD-ROMでは、BD-Jオブジェクト内のアプリケーション管理テーブルによって、Javaアプリケーションの動作が規定される。かかるBD-Jオブジェクトは、タイトル毎に存在するので、BD-ROMにおけるJavaアプリケーションは、タイトルを生存区間として動作することになる。このように、BD-Jオブジェクト内のアプリケーション管理テーブルによって動作が律せられるJavaアプリケーションを、"BD-Jアプリケーション"と呼ぶ。そして、タイトルの切り替わりによって、その動作を終了するJavaアプリケーションを、タイトルバウンダリーアプリケーションといい、BD-ROMの交換によって、動作が必ず終了するアプリケーションを、ディスクバウンダリーアプリケーションという。
 本図のヒープメモリにはBD-Jアプリケーションが存在しており、このうち1つのBD-Jアプリケーションは、上述したようなAPIを用いて、コピー制御を実行するBD-Jアプリケーション(コピー制御BD-Jアプリケーション)である。このコピー制御BD-Jアプリケーションは、コピー制御をマネージドコピー制御部423に命じるにあたって、BD-Jアプリケーションの動作モードを指定する。この動作モードには、動作中のBD-Jアプリケーションを終了して、マネージドコピーの制御を再生装置のレジデントプログラムに委ねる第1モード、BD-Jアプリケーションを終了しない第2モード、動作中のBD-JアプリケーションをBD-Jアプリケーションからの要求を拒否させる状態にして、BD-Jアプリケーションの機能を制限した上で動作させる第3モードがあり、このコピー制御BD-Jアプリケーションが、第3モードを指定して、マネージドコピーをマネージドコピー制御部423に指示した場合に、実施の形態1の処理がなされることになる。
 ファイルI/Oモジュール704が、どのようにしてBD-Jアプリケーションからの再生要求を拒否する状態になるかを説明する。
 再生装置は、Linux等のオペレーションシステムを採用しているので、"/mount point BD/BDMV"とのコマンドを発行することにより、BD-ROM105のドライブに、BDMVディレクトリを割り当てている。"/mount point SD/BUDA"とのコマンドを発行することにより、リムーバブルメディア104に、BUDAディレクトリを割り当てることができる。こうしたマウント操作によって、読出専用BD、ローカルストレージ、記録型BDを、仮想的なファイルシステムに割り当て、BD-Jアプリケーションによる使用に供している。マウントを解除する操作、つまり、アンマウント操作を実行すれば、BD-Jアプリケーションは、仮想的なファイルシステムを通じて、読出専用BD、ローカルストレージ、記録型BDを認識することができなくなるので、BD-Jアプリケーションからの再生要求を拒否する状態にすることができる。
 メディア再生モジュール702が、どのようにしてBD-Jアプリケーションからの再生要求を拒否する状態になるかを説明する。BD-Jアプリケーションによるプレイリストの再生は、Java Media FrameWork(JMF)プレーヤインスタンスの生成をBD-Jアプリケーションが実行することでなされる。この生成は、プレイリスト情報ファイルを指定したJMFプレーヤインスタンスの生成によってなされた際、メディア再生モジュール702が、JMFプレーヤインスタンスをクリエイトすることでなされる。一方、BD-JアプリケーションがJMFプレーヤインスタンスの生成を命じたにも拘らず、メディア再生モジュール702がプレイリスト情報ファイルのJMFプレーヤインスタンスを生成せずエラーを返せば、BD-Jアプリケーションによる要求が認められることはない。よってメディア再生モジュール702は、BD-Jアプリケーションからの再生要求を拒否する状態になった際、BD-Jアプリケーションからの要求があっても、JMFプレーヤインスタンスを生成しない。
 ファイルI/Oモジュール704、メディア再生モジュール702によるMCMediaInfo_addMCListenerの用法について説明する。
 マネージドコピーの開始時に、ファイルI/Oモジュール704、メディア再生モジュール702をBD-Jアプリケーションからの要求を拒否する状態に遷移させるには、ファイルI/Oモジュール704、メディア再生モジュール702にMCMediaInfo_addMCListener(MCListener)をコールさせて、マネージドコピーの状態遷移通知を受けるリスナーをファイルI/Oモジュール704、メディア再生モジュール702に登録しておく。そうすると、マネージドコピー制御部によるマネージドコピーの開始が、ファイルI/Oモジュール704、メディア再生モジュール702のイベントリスナに通知されるので、かかるイベントリスナにマネージドコピーの開始が通知された際、ファイルI/Oモジュール704、メディア再生モジュール702はBD-Jアプリケーションからの要求を拒否する状態に遷移する。そして、BD-Jアプリケーションからファイルアクセスが要求された場合、又はJMFプレーヤインスタンスの生成が要求された場合、ファイルI/Oモジュール704、メディア再生モジュール702はこれらの要求に対して、エラーのレスポンスを返す。そうすれば、BD-ROMのアクセス等が、マネージドコピー制御と、BD-Jアプリケーションとで競合することはない。一方、正常終了又は異常終了が発生した際、かかる終了は、ファイルI/Oモジュール704、メディア再生モジュール702に通知されるので、ファイルI/Oモジュール704、メディア再生モジュール702は、通常状態に遷移する。そうすれば、BD-Jアプリケーションからファイルアクセスが要求された場合、又はJMFプレーヤインスタンスの生成が要求された場合に、これらの要求に従い、処理を行うことになる。
 これはあくまでも、ファイルI/Oモジュール704、メディア再生モジュール702をBD-Jアプリケーションからの要求を拒否する状態に遷移させるためのソフトウェア実装の一例であり、BD-Jアプリケーションからディスクアクセス又は再生が要求された際、マネージドコピーが行われたかどうかをファイルI/Oモジュール704、メディア再生モジュール702がセンスして、BD-Jアプリケーションからの要求を拒否する状態に遷移してもよい。
 以上のように、ファイルI/Oモジュール704、メディア再生モジュール702がBD-Jアプリケーションからの再生要求を拒否する状態になった場合、BD-Jアプリケーションは、読出専用BD、ローカルストレージ、記録型BDをアクセスすることはできない。その代わりに、キャッシュ707内のデータを利用することはできる。
 キャッシュ707は、あるタイトルがカレントタイトルになった際、そのカレントタイトルに対応するBD-Jオブジェクトのキャッシュ管理情報によって指示されているアーカイブファイルを格納しておくためのキャッシュメモリである。ここに格納されたアーカイブファイルは、あるタイトルがカレントタイトルになっている間、有効であり、BD-Jアプリケーションは、BD-ROMやローカルストレージをアクセスしなくても、このキャッシュ内のアーカイブファイルに含まれるプログラムやデータを利用することができる。よってBD-Jアプリケーションは、BD-ROMがイジェクトされている期間であっても、このアーカイブファイル内のデータについては、利用することができる。

 図18は、BD-Jアプリケーションからの要求を拒否させる状態を示す図である。メディア再生モジュール702、ファイルI/Oモジュール704がBD-Jアプリケーションからの再生要求を拒否する状態になっているので、メディア再生モジュール702、ファイルI/Oモジュール704を介して、読出制御部402、書込制御部403、マルチプレクサ505、書込制御部419に、再生処理を命じるBD-Jアプリケーションは、再生処理を、これらの構成要素に命じることはできない。よってこれらのリソースの使用が、BD-Jアプリケーションと、コピー実行部604とで競合することはない。
 図19は、BD-Jアプリケーションからの要求を拒否させる状態が終了して通常に戻った状態を示す図である。BD-Jアプリケーションからの要求を拒否させる状態では、メディア再生モジュール702、ファイルI/Oモジュール704がBD-Jアプリケーションからの再生要求に従う状態なっているので、BD-Jアプリケーションは、再生処理を、要求することはできる。以上がファイルI/Oモジュール704、メディア再生モジュール702の技術的意義についての説明である。続いて、BD-JアプリケーションによるAPIコールの詳細について説明する。

 (BD-Jアプリケーション状態の時間的遷移)
 マネージドコピー実行時において、メディア再生モジュール702、ファイルI/Oモジュール704がBD-Jアプリケーションからの処理要求を許可する状態になることで、タイトルバウンダリーアプリケーション、コピー制御アプリケーションの状態は、図20のように遷移することになる。
 図20は、マネージドコピー前後におけるタイトルバウンダリーアプリケーション、コピー制御アプリケーション、マネージドコピー制御部による処理の時間的遷移を示す。第1段目は、タイトルを生存区間としたタイトルバウンダリーアプリケーションの処理を示し、第2段目は、コピー制御アプリケーションの処理内容を示す。第3段目は、マネージドコピー制御部423の処理内容を示す。タイトルバウンダリーアプリケーションは、認証&課金処理がなされている期間(t0~t1)、起動中になっているが、コピー実施なされている期間(t1~t2)において、AVストリームの動画像を再生しえないので、キャッシュに存在するCGキャラクターの描画のみを行う。コピーが終了した期間(t2~t3)において、通常再生状態に戻り、AVストリームの動画像再生を伴うCGキャラクタの描画を実行する。以上のように、マネージドコピーが実行されている期間においても、BD-Jアプリケーションは、キャッシュ内のCGデータを用いたキャラクタを描画することが可能になるので、ユーザを退屈させない工夫をオーサリング担当者は実現することができる。
 以上が、タイトルバウンダリーアプリケーション、コピー制御アプリケーションの状態の時間的遷移についての説明である。
 (コピー制御に用いるAPI)
 本願明細書におけるコピー制御は、BD-Jアプリケーションが主体になってなされるので、マネージドコピー制御部の処理は、BD-Jアプリケーションプログラミングインターフェイス(API)を用いて記述されねばならない。以下、コピー制御に用いられるAPIについて説明する。
 図21は、BD-JアプリケーションからのAPIコールと、このコールに応じた処理内容とを対応付けて示す。
 矢印(1-1)、(1-2)は、BD-JアプリケーションからのMCMedia_SetMedia Typeのコールと、このコールに応じたメディア状態管理部603によるメディア種類の通知とを模式的に示す。
 矢印(2-1)、(2-2)は、BD-JアプリケーションからのManagedCopy_getPMSNのコールと、このコールに応じたシリアル番号読出部601によるシリアル番号の引き渡しとを模式的に示す。
 矢印(3-1)(3-2)(3-3)は、BD-JアプリケーションからのMediaInfo get UNiqued IDのコールと、このコールに応じたメディアID読出部602によるMedia-IDの引き渡し及びNonce生成書込部607によるNonceの引き渡しとを模式的に示す。
 矢印(4-1)、(4-2)は、BD-JアプリケーションからのMCMediaInfo_SetSignatureのコールと、このコールに応じた鍵情報書込部608による鍵情報の書き込みとを模式的に示す。
 矢印(5-1)、(5-2)は、BD-JアプリケーションからのMCMediaCopy_start_MCのコールと、このコールに応じたコピー実行部604への鍵情報の引き渡しとを模式的に示す。
 (6-1)、(6-2)は、BD-JアプリケーションからのMCProgress_get_MCProcessAPIのコールと、このコールに応じたコピー状態通知部605、コピー進捗管理部606による残りのバイト数、コピー済みバイト数の引き渡しとを模式的に示す。
 以上が、BD-JアプリケーションからのAPIコール、及び、このコールに応じた処理内容についての説明である。

 (コピー実行部604の詳細)
 本願明細書におけるマネージドコピーは、異種媒体間のコピーを想定したものであり、トランスコードを伴うものであるから、マネージドコピーにおいては、コピー元となるBD-ROMにおけるビットストリームを最内周から最外周まで、順次コピーしてゆくという動作では足りない。BD-ROMに存在するファイル及びディレクトリを、ファイル毎、ディレクトリ毎にコピーしてゆくという動作が必要になる。このような、トランスコードを想定したコピー実行部の処理手順は、図22のようなものとなる。
 図22は、コピー実行部604の処理手順を示すフローチャートである。ステップS1において、Managed Copy_startがコールされたかどうかのコール待ちになっており、コールがなされれば、ステップS2においてメディア再生モジュール702、ファイルI/Oモジュール704の状態を、BD-Jアプリケーションからの要求を拒否させる状態に遷移させる。
 ステップS3では、コピー先メディアに、BDMVディレクトリをクリエイトして、ステップS4において、BDMVディレクトリにおいて、Index.bdmv、MovieObjectをコピーする。ステップS5では、コピー先メディアのBDMVディレクトリの配下に、PlayListディレクトリ、BDJOディレクトリ、JARディレクトリをコピーする。ステップS6は、トランスコードの指示があったかどうかの判定であり、トランスコードの指示があれば、ステップS7においてSTREAMディレクトリ、CLIPINFディレクトリをBDMVディレクトリの配下にコピーする。その後、ステップS8においてROOTディレクトリのCERTIFICATEディレクトリをコピーする。
 トランスコードの指示があれば、コピー先メディアにSTREAMディレクトリをクリエイトして、CLIPINFディレクトリをクリエイトする。そしてステップS12において、ビデオストリームを含むAVClipのトランスコードを実行し、ステップS13では、トランスコード後のAVClipに対応するクリップ情報ファイルを作成する。トランスコードがあった場合に、クリップ情報ファイルを作成し直すのは、クリップ情報ファイルは、パケット番号と、プレゼンテーションタイムスタンプとの対応付けを示すエントリーマップ等、ストリームに依存した情報要素を多く含んでいるからである。
 ステップS14ではトランスコード後のAVClipをSTREAMディレクトリに書き込み、新たに生成したクリップ情報ファイルを、CLIPINFディレクトリに書き込んでステップS8に移行する。
 以上のコピーが終われば、ステップS9において、メディア再生モジュール702、ファイルI/Oモジュール704の状態を、BD-Jアプリケーションからの処理要求を許可する状態に遷移させる。
 以上で、コピー実行部604の処理手順についての説明を終える。
  (BD-Jアプリケーション管理の内容)
 本願では、メディア再生モジュール702、ファイルI/Oモジュール704がBD-Jアプリケーションからの処理要求を許可する状態になり、この際BD-Jアプリケーションは、BD-ROMが再生装置に装填されていながらも、仮想的にイジェクトされたものとして扱われるので、本願におけるBD-JアプリケーションマネージャによるBD-Jアプリケーションの管理は、一般的なものではない。図23に示す特殊なものになる。以降、図23を参照して、BD-Jアプリケーションマネージャの処理手順について説明する。
 図23は、BD-Jアプリケーションマネージャの処理手順を示すフローチャートである。本フローチャートは、ステップS71からステップS72までの処理を繰り返すループ構造になっている。
 ステップS71は、モジュールマネージャによるカレントタイトルの選択があったかどうかの判定であり、もしあれば、ステップS74、ステップS75の処理を実行してステップS71~ステップS73のループに戻る。ステップS74は、カレントタイトルに対応するBD-Jオブジェクトのキャッシュ管理情報に記載されているアーカイブファイルをキャッシュに読み込む処理であり、ステップS75は、カレントタイトルに対応するBD-JオブジェクトのBD-Jアプリケーション管理テーブルに記載されているBD-Jアプリケーションをヒープメモリにロードして、BD-Jアプリケーションを起動する。
 ステップS72は、マネージドコピーが開始されたか否かの判定であり、もしマネージドコピーが開始されれば、ステップS76においてBD-Jアプリケーションを仮想的に、ディスクが抜かれた状態にして、キャッシュ内のデータのみで動作させる状態にする。ステップS77において、マネージドコピーの終了を待つ。マネージドコピーが終了すれば、ステップS78において、BD-Jアプリケーションを通常状態にして、ステップS71~ステップS73の処理に戻る。
 ステップS73においてDiscEjectイベントが発生すれば、ステップS79~ステップS81の処理を実行する。ステップS79では、タイトルを生存区間とするタイトルバウンダリーアプリケーション、ディスクを生存区間とするディスクバウンダリーアプリケーションを全て終了して、ステップS80において、DiscInsertイベントの発生を待つ。DiscInsertイベントが発生すれば、ステップS81においてインサートされているディスクのファーストプレイタイトルをカレントタイトルに設定して、ステップS74に移行する。以上のように本フローチャートでは、マネージドコピーの実行中は、BD-ROMが再生装置に装填されたまま、BD-JアプリケーションをBD-Jアプリケーションからの再生要求を拒否する状態にすることがわかる。

 (APIを利用したBD-Jアプリケーションの記述)
 BD-Jアプリケーションによるコピー制御は、APIを利用したものになるから、コピー制御アプリケーションによるコピー制御だけではなく、コピーに先立つ課金処理、コピー進捗表示も、上述したようなAPIを利用したものでなければならない。以降、APIを利用した、コピー制御、課金処理、コピー進捗表示の記述について説明する。
 図24は、コピー制御を行うBD-Jアプリケーションが、APIをどのように利用するかという処理手順を示すフローチャートであり、図25は、APIを利用した課金処理の処理手順を示すフローチャートである。図26は、ミニゲーム実行や予告編再生を伴うコピー進捗表示の一例を示す。
 ステップS21においてManaged Copy_get MCMedia Infoをコールして、ステップS22では、コピー先メディアとして利用することができるメディアのリストを取得する。もしかかるリストを取得すれば、コピー先リストの各要素について、MCMediaInfo_MediaTypeをコールして(ステップS23)、コピー先リストの各要素のメディア種を取得する(ステップS24)。
 ステップS25では、メディア種に対応付けて、コピー先リストの各要素を一覧表示し、ユーザによる選択待ちとなる(ステップS26)。選択されれば、コピー対象メディアIDが存在するかを判定して(ステップS27)、存在すれば、選択されたコピー先メディアを確定し(ステップS28)、MCMediaInfo_getFreeSpaceをコールして、コピー先メディアの空き容量を取得する(ステップS29)。ステップS30では、空き容量があるかどうかを判定し、空き容量があれば(ステップS30でYes)、MCMediaInfo_RequiredSpaceをコールして、コピーに必要な容量Bを取得し(ステップS31)、容量Aと必要容量Bとの比較を行う(ステップS32)。もし空き容量が足りなければ、圧縮率を算出して、再エンコードを伴う、トランスコードを指示する(ステップS34)。ステップS33では、課金処理を開始し、課金が成功すれば(ステップS35)、進捗バーの表示を開始する(ステップS36)。その後、確定したコピー先メディアについて、MCMediaInfo_getUniquedをコールして、メディアID、Nonceを取得する(ステップS37)。ManagedCopy_getMSNのコールによってコピー先メディアのシリアル番号を取得し(ステップS38)、コピー元の提供者組織の管理サーバに、コピー元メディアのシリアル番号、メディアID、Nonceを送信して(ステップS39)、鍵情報の取得待ちとなる(ステップS40)。鍵情報が送信されれば、引き数に鍵情報のバイト数を指定して、MCMediaInfo_SetSignatureをコールして鍵情報をセットし(ステップS41)、MCMediaInfoを引き数として用いてManagedCopy_startMCをコールすることで、マネージドコピーを開始する(ステップS42)。
 図25(a)のステップS51では、マネージドコピーの状態遷移通知を受けるリスナーを引き数MCListnerに指定して、MCMediaInfo_addMCListnerをコールし、ステップS52において課金処理を開始する。その後、ステップS53-ステップS54のループ処理に移行する。ステップS53は、コピーが失敗したかどうかの判定であり、コピー失敗と判定されれば、ステップS55において課金をキャンセルする。ステップS54は、コピーが完了したかどうかの判定であり、コピー完了と判定されれば、ステップS56において課金処理を確定する。
 図25(b)は、進捗バー表示の処理手順を示すフローチャートである。マネージドコピーの状態遷移通知を受けるリスナーを引き数MCListnerに指定して、CMediaInfo_addMCListnerをコールする。その後、ステップS62において、マネージドコピーが開始されるのを待つ。開始されれば、進捗バーを表示して、ステップS64-ステップS65のループ処理に移行する。ステップS64は、一定時間が経過したかどうかの判定であり、一定時間が経過したと判定されれば、ステップS66においてMC Progress_set MC Progressをコールして、残りバイト数、コピー済みバイト数を取得する。ステップS67では、こうして作成した残りバイト数、コピー済みバイト数を用いて、進捗バーを更新する。ステップS65は、コピーが完了したかどうかの判定であり、コピー完了と判定されれば、ステップS68において、コピー完了の表示を行う。
 図26は、ミニゲーム実行や予告編再生を伴うコピー進捗表示の一例を示す。本図は、図10をベースとして作図されており、このベースとなる進捗表示に、ミニゲームの実行画面や予告編再生画面が加えられている。これらはコピー制御アプリケーションのアーカイブファイルに格納されていたデータを元に表示・再生されているものであり、ディスクが抜かれた状態になっていても、キャッシュからこれらのデータを読み出すことで、本図のような表示・再生が可能になる。このようなミニゲームの実行画面や予告編再生を表示することでマネージドコピーが長時間に及ぶ場合であっても、ユーザの退屈感を緩和することができる。
 (その他の変形例)
  以上、本発明に係る再生装置について、実施の形態に基づいて説明したが、本発明は上記の実施の形態に限られないことは勿論である。
  上記実施形態では、記録媒体を再生する再生機能のみを持つ再生装置について説明したが、それに限らない。例えば、録画機能を持つ録画再生装置であっても良い。
 上記実施形態では、仮想マシンのプログラミング言語としてJava(登録商標)を利用したが、Java(登録商標)ではなく、UNIX(登録商標)、OSなどで使われているB-Shellや、Perl Script、ECMA Scriptなど他のプログラミング言語であっても良い。

  本発明の対象となるコピー元データは2D映像に限定されるものではなく、3D立体映像であっても同様に適用可能である。
 上述の実施の形態で説明したマネージドコピー制御部は、コピー対象によっては再エンコードが必要となるため、一時的に負荷の高い処理が要求される。そのため、再生装置側のCPU性能が十分でない場合、マネージドコピー制御部はLSI上に組み込む構成を取ることも考えられる。
  また、上述の実施の形態では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 レンダリングエンジン
 420 AV再生ライブラリ
 421 ネットワークインターフェース
 422 ローカルストレージ
 423 マネージドコピー制御部
 601 シリアル番号読出部
 602 メディアID読出部
 603 メディア状態管理部
 604 コピー実行部
 605 コピー状態通知部
 606 コピー進捗管理部
 607 Nonce生成書込部
 608 鍵情報書込部
 701 JavaBD-Jアプリケーション
 702 メディア再生モジュール
 703 マネージドコピーモジュール
 704 I/Oモジュール
 705 ネットワークモジュール
 706 BD-Jアプリケーションマネージャ
 S101  コピー対象メディア確認ステップ
 S102  コピー対象メディア選択ステップ
 S103  空き容量管理ステップ
 S104  課金処理ステップ
 S105  鍵情報の要素データ取得ステップ
 S106  鍵情報取得ステップ
 S107  コピー実施ステップ
 S201  ディスクアクセス制限開始ステップ
 S202  コピー開始通知ステップ
 S203  データコピーステップ
  S204  ディスクアクセス制限解除ステップ
 S205  コピー完了通知ステップ
 S206  コピー失敗通知ステップ

Claims (11)

  1.  アプリケーションを実行させながら、複数の記録媒体に対する媒体制御を実行する再生装置であって
     複数の記録媒体に対する媒体制御には、再生制御と、コピー制御とがあり、
     アプリケーションを動作させるプラットフォームと、
     再生部とを備え、
     前記再生制御は、プラットフォーム内のI/Oモジュールを通じたアプリケーションからの要求に基づき、複数の記録媒体のうち、第一記録媒体に記録されているファイルを読み出して、再生部に供する処理であり、
     前記コピー制御は、プラットフォーム内のI/Oモジュールを介することなく、前記第一記録媒体からデータを読み出して、第二記録媒体に書き込む処理であり、
     前記I/Oモジュールは、コピー制御が実行されている間、アプリケーションからの要求を拒否する、再生装置。
  2.  前記再生装置は更に、前記第1の記録媒体または前記第2の記録媒体からデータを読み込む読込制御部と、
     前記第2の記録媒体にデータを書き込む書込制御部と、
     前記前記第一記録媒体からデータを読み出し、前記読み出したデータを第二記録媒体に書き込むように前記読込制御部および前記書込制御部を動作させるコピー制御部とを備え、
     前記プラットフォームは、前記アプリケーションが前記コピー制御部を動作させるためのコピー制御APIを含み、
     前記アプリケーションがコピー制御APIを用いて前記コピー制御部の動作を制御できるように構成したことを特徴とする請求項1に記載の再生装置。
  3.  前記再生部は、デマルチプレクサ、デコーダを備え、
     前記再生装置は、前記デマルチプレクサおよび前記デコーダを制御するAV再生ライブラリを備え、
     前記プラットフォームは、前記AV再生ライブラリを呼出すためのAV再生制御APIを有する媒体再生モジュールを含み、
     前記アプリケーションが前記媒体再生モジュールに含まれるAV再生制御APIを用いて呼び出された前記AV再生ライブラリを用いて前記デマルチプレクサおよび前記デコーダを制御することにより前記再生制御を行なえるように構成するとともに、
    前記コピー制御部によるコピー制御が実行されている間、
     前記コピー制御部が前記AV再生ライブラリを用いて前記デマルチプレクサおよび前記デコーダを制御できるように、前記アプリケーションが前記媒体再生モジュールに含まれるAV再生制御APIを用いて呼出される前記AV再生ライブラリの利用を拒否することを特徴とする
    請求項2記載の再生装置。
  4.  前記コピー制御部によるコピー制御が実行されている間、前記媒体再生モジュールに含まれるAV再生制御APIは、アプリケーションからの要求を拒否する状態に遷移する請求項3記載の再生装置。
  5.  前記コピー制御は、前記再生装置とネットワークを介して接続するサーバ装置の管理下の元、実行されるマネージドコピーであり、
    前記コピー制御部は、
     前記サーバ装置から送信される鍵情報を受信して、前記受信した鍵情報をコピー制御部に設定する受信部とを備え、
     前記コピー制御部によるコピー制御は、前記受信された鍵情報がコピー制御部に設定された後に開始される
     ことを特徴とする請求項3記載の再生装置。
  6.  前記コピー制御部による前記第一記録媒体上のデータの読込み、及び前記第二記録媒体へのデータの書込みを実行している間、
     前記I/Oモジュール及び媒体再生モジュールがアプリケーションからの再生要求を拒否する状態になれば、前記アプリケーションは、第一記録媒体が存在しないものとして処理を行い、
     前記I/Oモジュール及び媒体再生モジュールがアプリケーションからの再生要求に従う状態になれば、前記アプリケーションは、第一記録媒体が存在するものとして処理を行う
     請求項4に記載の再生装置。
  7.  前記コピー制御部は、
     前記コピー制御のための第一記録媒体上のデータの読込みを開始したこと、及び、前記第二記録媒体上へデータの書込みを完了したことを、通知する通知部を備え、
     前記コピー制御APIは前記アプリケーションからの呼出しに応じて、前記通知部により通知すべきアプリケーションを登録する登録APIを含み、
     前記プラットフォーム上で動作するアプリケーションが前記登録APIを呼出して登録した場合に、前記通知部は前記登録APIにより登録されたアプリケーションへ通知するように構成した、請求項2に記載の再生装置。
  8.  前記通知部は、前記第一記録媒体上のデータの読込み、もしくは前記第二記録媒体上へデータの書込みに失敗した場合、前記コピー制御によるコピーが失敗したことを前記登録APIにより登録されたアプリケーションに通知する、
     請求項7に記載の再生装置。
  9.  前記再生装置はさらに、進捗管理部を備え、
     前記進捗管理部は、アプリケーションからのプログラミングインターフェイスの呼び出しに応じて、前記コピー制御による第二記録媒体へ書込み済みのデータサイズと、書込み予定でまだ書込まれていない、残りのデータサイズとを前記アプリケーションに通知する、
     請求項7に記載の再生装置。
  10.  アプリケーションをコンピュータ上で実行させながら、複数の記録媒体に対する媒体制御を実行する再生方法であって
     複数の記録媒体に対する媒体制御には、再生制御と、コピー制御とがあり、
     前記コンピュータは、アプリケーションを動作させるプラットフォームと、再生部とを備え
     前記再生制御は、プラットフォーム内のI/Oモジュールを通じたアプリケーションからの要求に基づき、複数の記録媒体のうち、第一記録媒体に記録されているファイルを読み出して、再生部に供する処理であり、
     前記コピー制御は、プラットフォーム内のI/Oモジュールを介することなく、前記第一記録媒体からデータを読み出して、第二記録媒体に書き込む処理であり、
     コピー制御を実行するステップと、
     コピー制御が実行されている間、I/Oモジュールを、アプリケーションからの要求を拒否する要求拒否ステップと
     を含む、再生方法。
  11.  アプリケーションをコンピュータ上で実行させながら、複数の記録媒体に対する媒体制御をコンピュータに実行させるプログラムであって
     複数の記録媒体に対する媒体制御には、再生制御と、コピー制御とがあり、
     前記コンピュータは、アプリケーションを動作させるプラットフォームと、再生部とを備え
     前記再生制御は、プラットフォーム内のI/Oモジュールを通じたアプリケーションからの要求に基づき、複数の記録媒体のうち、第一記録媒体に記録されているファイルを読み出して、再生部に供する処理であり、
     前記コピー制御は、プラットフォーム内のI/Oモジュールを介することなく、前記第一記録媒体からデータを読み出して、第二記録媒体に書き込む処理であり、
     コピー制御を実行するステップと、
     コピー制御が実行されている間、I/Oモジュールを、アプリケーションからの要求を拒否する要求拒否ステップとをコンピュータに実行させる、プログラム。
PCT/JP2009/003282 2008-07-16 2009-07-14 再生装置、再生方法、プログラム WO2010007757A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN2009801174313A CN102027544B (zh) 2008-07-16 2009-07-14 再生装置、再生方法及程序
JP2010520760A JP5395074B2 (ja) 2008-07-16 2009-07-14 再生装置、再生方法、プログラム
EP09797686.4A EP2299446B1 (en) 2008-07-16 2009-07-14 Reproduction device, reproduction method, and program
US12/989,872 US8649653B2 (en) 2008-07-16 2009-07-14 Reproduction device, reproduction method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008184871 2008-07-16
JP2008-184871 2008-07-16

Publications (1)

Publication Number Publication Date
WO2010007757A1 true WO2010007757A1 (ja) 2010-01-21

Family

ID=41550169

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/003282 WO2010007757A1 (ja) 2008-07-16 2009-07-14 再生装置、再生方法、プログラム

Country Status (6)

Country Link
US (1) US8649653B2 (ja)
EP (1) EP2299446B1 (ja)
JP (1) JP5395074B2 (ja)
KR (1) KR101549049B1 (ja)
CN (1) CN102027544B (ja)
WO (1) WO2010007757A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011222079A (ja) * 2010-04-08 2011-11-04 Sony Corp 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
CN102314915A (zh) * 2010-07-08 2012-01-11 索尼公司 信息处理设备、信息处理方法和程序
JP2012018727A (ja) * 2010-07-08 2012-01-26 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
EP2375759A3 (en) * 2010-04-08 2013-11-27 Sony Corporation Information Processing Apparatus, Information Processing System, Information Processing Method, and Program
EP2541459A4 (en) * 2010-02-25 2017-04-26 Panasonic Intellectual Property Management Co., Ltd. Management device and duplication device
WO2021181614A1 (ja) * 2020-03-12 2021-09-16 富士通株式会社 情報処理装置、操作制御方法および操作制御プログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010147542A (ja) * 2008-12-16 2010-07-01 Panasonic Corp データ送信回路
JP5529964B2 (ja) * 2010-07-01 2014-06-25 パナソニック株式会社 再生装置、再生方法、プログラム
US8881265B2 (en) * 2011-09-08 2014-11-04 Panasonic Intellectual Property Corporation Of America Computer system, computer system control method, computer system control program, and integrated circuit
US20140237379A1 (en) * 2013-02-21 2014-08-21 Samsung Electronics Co., Ltd. Display apparatus and method of sharing digital content between external devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005036547A1 (ja) * 2003-10-10 2005-04-21 Matsushita Electric Industrial Co.,Ltd. 再生装置、プログラム、再生方法
JP2006012369A (ja) * 2004-06-29 2006-01-12 Matsushita Electric Ind Co Ltd 情報記録媒体、及びその再生装置
WO2006129818A1 (en) * 2005-05-31 2006-12-07 Matsushita Electric Industrial Co., Ltd. Broadcast receiving terminal
JP2007109080A (ja) * 2005-10-14 2007-04-26 Toshiba Corp デジタルコンテンツ利用装置及び方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6516356B1 (en) * 1997-09-30 2003-02-04 International Business Machines Corporation Application interface to a media server and a method of implementing the same
US6874130B1 (en) * 2000-02-17 2005-03-29 International Business Machines Corporation Copy/move graphical user interface apparatus and method
CN101404173B (zh) * 2003-10-10 2012-05-23 松下电器产业株式会社 再现装置、记录方法、以及再现方法
JP2005276282A (ja) * 2004-03-24 2005-10-06 Sony Corp 情報記録再生装置、コンテンツ管理方法およびコンテンツ管理プログラム
WO2006011888A1 (en) * 2004-06-28 2006-02-02 Disney Enterprises, Inc. Dual virtual machine architecture for media devices
WO2006028132A1 (ja) * 2004-09-08 2006-03-16 Matsushita Electric Industrial Co., Ltd. 映像データとアプリケーションとを連動させて再生する再生装置、再生方法、及びプログラム
WO2006059654A1 (ja) * 2004-12-01 2006-06-08 Matsushita Electric Industrial Co., Ltd. 記録媒体、再生装置、プログラム、再生方法、集積回路
JP2007257047A (ja) * 2006-03-20 2007-10-04 Sony Corp 情報処理装置および情報処理方法、プログラム格納媒体、プログラム、データ構造、並びに、記録媒体の製造方法
JP5087903B2 (ja) * 2006-06-30 2012-12-05 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP4882653B2 (ja) * 2006-10-06 2012-02-22 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US8239639B2 (en) * 2007-06-08 2012-08-07 Sandisk Technologies Inc. Method and apparatus for providing data type and host file information to a mass storage system
JP2010009408A (ja) * 2008-06-27 2010-01-14 Sony Corp 情報処理装置、およびデータ処理方法、並びにプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005036547A1 (ja) * 2003-10-10 2005-04-21 Matsushita Electric Industrial Co.,Ltd. 再生装置、プログラム、再生方法
JP2006012369A (ja) * 2004-06-29 2006-01-12 Matsushita Electric Ind Co Ltd 情報記録媒体、及びその再生装置
WO2006129818A1 (en) * 2005-05-31 2006-12-07 Matsushita Electric Industrial Co., Ltd. Broadcast receiving terminal
JP2007109080A (ja) * 2005-10-14 2007-04-26 Toshiba Corp デジタルコンテンツ利用装置及び方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2541459A4 (en) * 2010-02-25 2017-04-26 Panasonic Intellectual Property Management Co., Ltd. Management device and duplication device
JP2011222079A (ja) * 2010-04-08 2011-11-04 Sony Corp 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
EP2375759A3 (en) * 2010-04-08 2013-11-27 Sony Corporation Information Processing Apparatus, Information Processing System, Information Processing Method, and Program
CN102314915A (zh) * 2010-07-08 2012-01-11 索尼公司 信息处理设备、信息处理方法和程序
JP2012018728A (ja) * 2010-07-08 2012-01-26 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
JP2012018727A (ja) * 2010-07-08 2012-01-26 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
WO2021181614A1 (ja) * 2020-03-12 2021-09-16 富士通株式会社 情報処理装置、操作制御方法および操作制御プログラム
JPWO2021181614A1 (ja) * 2020-03-12 2021-09-16
JP7318799B2 (ja) 2020-03-12 2023-08-01 富士通株式会社 情報処理装置、操作制御方法および操作制御プログラム

Also Published As

Publication number Publication date
EP2299446A1 (en) 2011-03-23
CN102027544B (zh) 2013-11-06
CN102027544A (zh) 2011-04-20
JPWO2010007757A1 (ja) 2012-01-05
EP2299446A4 (en) 2014-06-11
EP2299446B1 (en) 2015-11-04
US20110052153A1 (en) 2011-03-03
KR101549049B1 (ko) 2015-09-01
US8649653B2 (en) 2014-02-11
KR20110038612A (ko) 2011-04-14
JP5395074B2 (ja) 2014-01-22

Similar Documents

Publication Publication Date Title
JP5395074B2 (ja) 再生装置、再生方法、プログラム
US8051100B2 (en) Recording medium, recording device, and playback device for use in individual sales and method therefor
US8347099B2 (en) Playback apparatus and playback method
JP5502741B2 (ja) コピー機能付再生装置およびコピー機能付再生装置に用いるコピー方法
JP4862055B2 (ja) 再生装置及びプログラム
JP5418030B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム
US20060153022A1 (en) Method and apparatus for reproducing data from recording medium using local storage
WO2010106745A1 (ja) アプリケーション実行装置
JP2008522343A (ja) ローカルストレージを用いて記録媒体からデータを再生するための方法及び再生装置
US20080056676A1 (en) Apparatus for reproducing data, method thereof, apparatus for recording the same, method thereof and recording medium
US8391110B2 (en) Playback device, recording medium, playback method and program
KR20070052642A (ko) 데이터 재생방법 및 재생장치와 데이터 전송방법
WO2009157163A1 (ja) 再生装置、再生装置の制御方法
JP2008517355A (ja) ローカルストレージを使用して記録媒体からデータを再生する方法および装置

Legal Events

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

Ref document number: 200980117431.3

Country of ref document: CN

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

Ref document number: 09797686

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 12989872

Country of ref document: US

ENP Entry into the national phase

Ref document number: 20107024622

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2010520760

Country of ref document: JP

Ref document number: 4210/KOLNP/2010

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 2009797686

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE