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

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

Info

Publication number
JPWO2010007757A1
JPWO2010007757A1 JP2010520760A JP2010520760A JPWO2010007757A1 JP WO2010007757 A1 JPWO2010007757 A1 JP WO2010007757A1 JP 2010520760 A JP2010520760 A JP 2010520760A JP 2010520760 A JP2010520760 A JP 2010520760A JP WO2010007757 A1 JPWO2010007757 A1 JP WO2010007757A1
Authority
JP
Japan
Prior art keywords
application
playback
copy
module
media
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2010520760A
Other languages
English (en)
Other versions
JP5395074B2 (ja
Inventor
田中 敬一
敬一 田中
山口 高弘
高弘 山口
山下 健
健 山下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2010520760A priority Critical patent/JP5395074B2/ja
Publication of JPWO2010007757A1 publication Critical patent/JPWO2010007757A1/ja
Application granted granted Critical
Publication of JP5395074B2 publication Critical patent/JP5395074B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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

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 コピー失敗通知ステップ
本発明は、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()から取得することができる。
選択されたコピー先メディアの空き容量をチェックし(S103)、コピーに必要な空き容量があれば、課金処理手続きを行う(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は、再生装置101に対するアナログ信号入力を受け付ける。
オーディオエンコーダ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やローカルストレージをアクセスしなくても、このキャッシュ707内のアーカイブファイルに含まれるプログラムやデータを利用することができる。よって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アプリケーションからの要求を拒否させる状態が終了して通常に戻った状態を示す図である。通常の状態では、メディア再生モジュール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に存在するファイル及びディレクトリを、ファイル毎、ディレクトリ毎にコピーしてゆくという動作が必要になる。このような、トランスコードを想定したコピー実行部604の処理手順は、図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-ROMが再生装置に装填されていながらも、仮想的にイジェクトされたものとして扱≧うので、本願におけるBD-JアプリケーションマネージャによるBD-Jアプリケーションの管理は、一般的なものではない。図23に示す特殊なものになる。以降、図23を参照して、BD-Jアプリケーションマネージャの処理手順について説明する。
図23は、BD-Jアプリケーションマネージャの処理手順を示すフローチャートである。本フローチャートは、ステップS71からステップS72までの処理を繰り返すループ構造になっている。
ステップS71は、モード管理モジュール416によるカレントタイトルの選択があったかどうかの判定であり、もしあれば、ステップ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では、空き容量Aがあるかどうかを判定し、空き容量があれば(ステップ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_get MC Progressをコールして、残りバイト数、コピー済みバイト数を取得する。ステップS67では、こうして作成した残りバイト数、コピー済みバイト数を用いて、進捗バーを更新する。ステップS65は、コピーが完了したかどうかの判定であり、コピー完了と判定されれば、ステップS68において、コピー完了の表示を行う。
図26は、ミニゲーム実行や予告編再生を伴うコピー進捗表示の一例を示す。本図は、図10をベースとして作図されており、このベースとなる進捗表示に、ミニゲームの実行画面や予告編再生画面が加えられている。これらはコピー制御アプリケーションのアーカイブファイルに格納されていたデータを元に表示・再生されているものであり、ディスクが抜かれた状態になっていても、キャッシュからこれらのデータを読み出すことで、本図のような表示・再生が可能になる。このようなミニゲームの実行画面や予告編再生を表示することでマネージドコピーが長時間に及ぶ場合であっても、ユーザの退屈感を緩和することができる。
(その他の変形例)
以上、本発明に係る再生装置について、実施の形態に基づいて説明したが、本発明は上記の実施の形態に限られないことは勿論である。
上記第1実施形態では、記録媒体を再生する再生機能のみを持つ再生装置について説明したが、それに限らない。例えば、録画機能を持つ録画再生装置であっても良い。
上記実施形態では、仮想マシンのプログラミング言語として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 記録型BDドライブ
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モジュールを、アプリケーションからの要求を拒否する要求拒否ステップとをコンピュータに実行させる、プログラム。
JP2010520760A 2008-07-16 2009-07-14 再生装置、再生方法、プログラム Expired - Fee Related JP5395074B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010520760A JP5395074B2 (ja) 2008-07-16 2009-07-14 再生装置、再生方法、プログラム

Applications Claiming Priority (4)

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

Publications (2)

Publication Number Publication Date
JPWO2010007757A1 true JPWO2010007757A1 (ja) 2012-01-05
JP5395074B2 JP5395074B2 (ja) 2014-01-22

Family

ID=41550169

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010520760A Expired - Fee Related JP5395074B2 (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)

Families Citing this family (10)

* 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 データ送信回路
EP2541459B1 (en) * 2010-02-25 2020-01-22 Panasonic Intellectual Property Management Co., Ltd. Management device and duplication device
JP5533164B2 (ja) * 2010-04-08 2014-06-25 ソニー株式会社 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP5609222B2 (ja) * 2010-04-08 2014-10-22 ソニー株式会社 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
WO2012001855A1 (ja) * 2010-07-01 2012-01-05 パナソニック株式会社 再生装置、記録媒体、再生方法、プログラム
JP5652021B2 (ja) * 2010-07-08 2015-01-14 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
JP2012018727A (ja) * 2010-07-08 2012-01-26 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
CN103201750B (zh) * 2011-09-08 2016-12-28 松下电器(美国)知识产权公司 计算机系统、计算机系统控制方法及集成电路
US20140237379A1 (en) * 2013-02-21 2014-08-21 Samsung Electronics Co., Ltd. Display apparatus and method of sharing digital content between external devices
JP7318799B2 (ja) * 2020-03-12 2023-08-01 富士通株式会社 情報処理装置、操作制御方法および操作制御プログラム

Family Cites Families (16)

* 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
TW200518070A (en) * 2003-10-10 2005-06-01 Matsushita Electric Ind Co Ltd Recording medium, reproduction device, program, and reproduction method
KR101076198B1 (ko) * 2003-10-10 2011-10-21 파나소닉 주식회사 기록매체, 재생장치, 기록방법, 재생방법
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
JP2006012369A (ja) * 2004-06-29 2006-01-12 Matsushita Electric Ind Co Ltd 情報記録媒体、及びその再生装置
US8606069B2 (en) * 2004-09-08 2013-12-10 Panasonic Corporation Playback device, playback method, and computer-readable recording medium for ensuring stable application execution in synchronism with video data playback
CN101833966B (zh) * 2004-12-01 2013-05-08 松下电器产业株式会社 再现装置和再现方法
JP2008543123A (ja) 2005-05-31 2008-11-27 松下電器産業株式会社 放送受信端末
JP2007109080A (ja) * 2005-10-14 2007-04-26 Toshiba Corp デジタルコンテンツ利用装置及び方法
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 情報処理装置、およびデータ処理方法、並びにプログラム

Also Published As

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

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) 再生装置及びプログラム
WO2010106745A1 (ja) アプリケーション実行装置
JP2008527596A (ja) ローカルストレージを使用記録媒体再生方法および再生装置
WO2011007672A1 (ja) 情報処理装置、および情報処理方法、並びにプログラム
JP2008522343A (ja) ローカルストレージを用いて記録媒体からデータを再生するための方法及び再生装置
US8391110B2 (en) Playback device, recording medium, playback method and program
WO2009157163A1 (ja) 再生装置、再生装置の制御方法
JP2008517355A (ja) ローカルストレージを使用して記録媒体からデータを再生する方法および装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120904

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130702

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130830

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130924

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131017

R150 Certificate of patent or registration of utility model

Ref document number: 5395074

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees