(57)【特許請求の範囲】
【請求項１】
第１記録媒体に記録された第１コンテンツを再生すると共に、前記第１のコンテンツに対応する内容を前記第１のコンテンツのフォーマットとは異なるフォーマットで格納した第２コンテンツを前記第１記録媒体から第２記録媒体にコピーする再生装置であって、
前記第１記録媒体からアプリケーションおよびオンメディアライブラリを読み出す読出部と、
前記アプリケーションおよび前記アプリケーションより呼び出されたオンメディアライブラリを実行するプラットフォーム部と、
前記第２コンテンツを前記第１記録媒体から前記第２記録媒体へコピーするコピー部と、
前記第１コンテンツの再生の進行に従って更新される前記第１コンテンツの再生位置を示すパラメータを格納するレジスタとを備え、
前記プラットフォーム部は、前記アプリケーションが呼び出したオンメディアライブラリが利用可能な通信用プログラミングインターフェイスを有し、
前記アプリケーションは、前記レジスタから前記第１コンテンツの再生位置を示すパラメータを読み出し、
前記通信用プログラミングインターフェイスを用いて前記再生装置が備えるポートを介してソケットコマンドを前記コピー部へ伝送できるように接続を行い、前記呼び出したオンメディアライブラリの実行に基づいて命じるべきソケットコマンドを前記コピー部に前記ポートを通じて伝送することにより、前記第２コンテンツを前記第１記録媒体から前記第２記録媒体にコピーし、前記コピーした第２コンテンツの再生位置を前記レジスタから読み出した前記第１コンテンツの再生位置に基づき指定する処理をコピー部に行わせる
ことを特徴とする再生装置。
【請求項２】
前記オンメディアライブラリは、前記アプリケーションに、コピー制御実行のためのコピー制御実行用プログラミングインターフェイスを提供するものであり、
前記オンメディアライブラリは、
前記アプリケーションから、前記コピー制御実行用プログラミングインターフェイスの呼び出しがなされた場合、当該プログラミングインターフェイスのコールをソケットコマンドに変換した上でコピー部に出力し、前記コピー部からのレスポンスを戻り値又はイベントに変換して、コールを行った前記アプリケーションに返し、
前記レスポンスは、前記再生装置が備えるポートを介して伝送される
ことを特徴とする請求項１に記載の再生装置。
【請求項３】
前記第２記録媒体には、コピーしたコンテンツを格納する第１ディレクトリと、再生位置を示すパラメータを格納する第２ディレクトリがあり、
前記アプリケーションは、前記第２コンテンツを前記第１ディレクトリにコピーし、前記第１コンテンツの再生位置を前記第２ディレクトリに書き込む処理をコピー部に命じる
ことを特徴とする請求項１に記載の再生装置。
【請求項４】
前記アプリケーションは、前記第１コンテンツの再生位置を示すパラメータを、前記第２記録媒体に適した単位に変換し、前記第２コンテンツの再生位置を指定する
ことを特徴とする請求項１に記載の再生装置。
【請求項５】
前記第１記録媒体は、前記第１コンテンツと前記第２コンテンツ間のオフセットを示すオフセットテーブルが記録されており、
前記アプリケーションは、前記レジスタに格納された前記第１コンテンツの再生位置を前記オフセットテーブルに基づき変換し、
コピーした前記第２コンテンツの再生位置を、前記オフセットテーブルに基づき変換された再生位置に指定する処理をコピー部に命じる
ことを特徴とする請求項１に記載の再生装置。
【請求項６】
前記オフセットテーブルは、前記第１コンテンツを構成するデジタルストリームに対して、前記第２コンテンツを構成するデジタルストリームに追加されたシーン及び削除されたシーンの位置情報を含み、
前記アプリケーションは、前記オフセットテーブルが示す追加されたシーン及び削除されたシーンの位置情報に基づき、前記レジスタに格納された前記第１コンテンツの再生位置の変換を行う
ことを特徴とする請求項５に記載の再生装置。
【請求項７】
前記第１記録媒体は、前記第１コンテンツの内容を識別するためのボリュームＩＤが記録されており、
前記コピー部は、前記第２コンテンツを第１記録媒体から第２記録媒体へコピーする際に、前記第１記録媒体に記録されている前記ボリュームＩＤを前記第２記録媒体に記録し、
前記再生制御部は、前記第１記録媒体が再生装置に挿入された際、前記第１記録媒体のボリュームＩＤと前記第２記録媒体に記録されたボリュームＩＤが一致するか判定し、
ボリュームＩＤが一致する場合、前記第２記録媒体に記録された再生位置を示すパラメータを読み出し、
前記レジスタに、読み出した再生位置に基づく前記第１コンテンツの再生位置を示すパラメータを格納し、当該再生位置から再生を開始することを特徴とする請求項１に記載の再生装置。
【請求項８】
前記第１記録媒体は、前記第１コンテンツと前記第２コンテンツの差分を示す差分情報が記録されており、
前記再生制御部は、読み出した再生位置を前記差分情報に基づき変換し、前記レジスタに、変換した再生位置を示すパラメータを格納することを特徴とする請求項７に記載の再生装置。
【請求項９】
前記レジスタは、前記第１コンテンツを構成するデジタルストリームの音声言語コードと字幕言語コードを格納し、
前記第２コンテンツは、異なる言語の複数のデジタルストリームから構成され、
前記アプリケーションは、前記レジスタから前記第１コンテンツを構成するデジタルストリームの音声言語コードと字幕言語コードを読み出し、
前記レジスタから読み出した音声言語コードと字幕言語コードに対応する第２コンテンツのデジタルストリームをソケット接続を通じて前記コピー部に指定し、指定した第２コンテンツのデジタルストリームを第１記録媒体から第２記録媒体にコピーする処理をコピー部に命じる
ことを特徴とする請求項１に記載の再生装置。
【請求項１０】
前記第１記録媒体は、前記第２コンテンツを構成するデジタルストリームと音声言語と字幕言語との対応を示す言語情報が記録されており、
前記アプリケーションは、前記レジスタから読み出した音声言語コード及び字幕言語コード、並びに前記言語情報に基づき、前記レジスタから読み出した音声言語コードと字幕言語コードに対応する第２コンテンツのデジタルストリームを特定する
ことを特徴とする請求項９に記載の再生装置。
【請求項１１】
第１記録媒体に記録された第１コンテンツを再生すると共に、前記第１のコンテンツに対応する内容を前記第１のコンテンツのフォーマットとは異なるフォーマットで格納した第２コンテンツの前記第１記録媒体から第２記録媒体へのコピーをコンピュータに実行させるコンピュータが読み取り可能なプログラムであって、
前記第１記録媒体からアプリケーションおよびオンメディアライブラリを読み出す第１ステップと、
前記アプリケーションおよび前記アプリケーションより呼び出されたオンメディアライブラリを前記コンピュータが備えるプラットフォーム部に動作させる第２ステップと、
前記アプリケーションからの要求に従い、前記第２コンテンツの前記第１記録媒体から前記第２記録媒体へのコピーの制御を前記コンピュータが備えるコピー部に実行させる第３ステップとを有し、
前記アプリケーションは、前記コンピュータが備えるレジスタから前記第１コンテンツの再生の進行に従って更新される前記第１コンテンツの再生位置を示すパラメータを読み出し、
前記プラットフォーム部が有する通信用プログラミングインターフェイスを用いて前記再生装置が備えるポートを介してソケットコマンドを前記コピー部へ伝送できるように接続を行い、前記呼び出したオンメディアライブラリの実行に基づいて命じるべきソケットコマンドを前記コピー部に前記ポートを通じて伝送することにより、前記第２コンテンツを前記第１記録媒体から前記第２記録媒体にコピーし、前記コピーした第２コンテンツの再生位置を前記レジスタから読み出した前記第１コンテンツの再生位置に基づき指定する処理前記コピー部に行わせる
ことを特徴とするプログラム。
【請求項１２】
第１記録媒体に記録された第１コンテンツを再生すると共に、前記第１のコンテンツに対応する内容を前記第１のコンテンツのフォーマットとは異なるフォーマットで格納した第２コンテンツを前記第１記録媒体から第２記録媒体にコピーする再生方法であって、
前記第１記録媒体からアプリケーションおよびオンメディアライブラリを読み出す第１ステップと、
前記アプリケーションおよび前記アプリケーションより呼び出されたオンメディアライブラリを前記コンピュータ内のプラットフォーム部に動作させる第２ステップと、
前記アプリケーションからの要求に従い、前記第２コンテンツの前記第１記録媒体から前記第２記録媒体へのコピーの制御を前記コンピュータが備えるコピー部に実行させる第３ステップとを有し、
前記アプリケーションは、前記コンピュータが備えるレジスタから前記第１コンテンツの再生の進行に従って更新される前記第１コンテンツの再生位置を示すパラメータを読み出し、
前記プラットフォーム部が有する通信用プログラミングインターフェイスを用いて前記再生装置が備えるポートを介してソケットコマンドをコピー部へ伝送できるように接続を行い、前記呼び出したオンメディアライブラリの実行に基づいて命じるべきソケットコマンドを前記コピー部に前記ポートを通じて伝送することにより、前記第２コンテンツを前記第１記録媒体から前記第２記録媒体にコピーし、コピーした前記第２コンテンツの再生位置を前記レジスタから読み出した前記第１コンテンツの再生位置に基づき指定する処理をコンピュータ内のコピー部に行わせる
ことを特徴とする再生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データのコピー技術に関し、特に記録媒体に記録されているデータを他の記録媒体へコピーするメディア間コピー技術に関する。
【背景技術】
【０００２】
近年、映画等の映像コンテンツを再生する機能を有する携帯端末が普及しつつあり、パッケージメディアの購入者は、据え置きの再生装置で視聴するだけでなく、パッケージメディアに記録されたコンテンツを、携帯端末上でも視聴したいという要望がある。かかる要望に応えるため、特許文献１には、ＢＤ−ＲＯＭ（Blu-Ray Disc Read Only Memory）上のアプリケーションから、ＢＤ−ＲＯＭに記録されたコンテンツを別の記録媒体にバックアップする（マネージドコピー）技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−９４０７号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示されるマネージドコピーを用いて、パッケージメディアに記録されているコンテンツを携帯端末等にコピーすることで、コンテンツの持ち出し視聴を実現することができる。しかし、携帯端末は据え置きの再生装置に比べ処理能力が劣るため、パッケージメディア全体をバックアップした場合、そこに含まれるアプリケーションの実行及びストリームのデコードを行う処理能力が携帯端末に備わっているとは限らず、正常に再生できない恐れがある。また、上記の問題点を回避するため、携帯端末側でアプリケーション実行及びストリーム再生ができるように、アプリケーションの再変換、ストリームの再エンコードを行いコピーした場合、コピー処理に時間がかかってしまい、すぐに持ち出したいというニーズに応えることができない。【０００５】
そこで、パッケージメディアに携帯端末向けのデジタルストリームを予め記録しておき、パッケージメディア上のアプリケーションからパッケージメディアに記録された携帯端末向けのデジタルストリームをコピーするという案が考えられる。これにより携帯端末向けに最適化されたコンテンツを短時間で持ち出すことが可能となる。しかし、据え置きの再生装置での再生中断位置から、持ち出し視聴を再開できないという課題がある。【０００６】
具体的に説明すると、据え置きの再生装置でコンテンツを途中まで視聴し、その後コピーを行った場合、据え置きの再生装置で途中まで視聴していたにもかかわらず、携帯端末では最初からコンテンツが再生される。従って中断位置から視聴を再開しようとする場合、手動で早送りもしくはスキップ等を行わなければならない。自宅等で途中まで視聴したコンテンツを持ち出して続きから視聴したいというニーズがあり、据え置きの再生装置で中断した位置から携帯端末での視聴を再開できないのでは、ユーザ利便性に欠く。【０００７】
上記課題の解決策として、パッケージメディアの再生装置が、上記コピーの際、当該再生装置に設定されていたレジューム情報、ブックマーク情報を携帯端末用の媒体にコピーすれば、携帯端末用の媒体が携帯端末に装填された場合、携帯端末で、パッケージメディア再生装置の再生の続きを視聴することができる。パッケージメディアにおけるコンテンツをそのまま携帯端末用の媒体にコピーするのであれば、レジューム情報、ブックマーク情報のコピーは有効となる。しかし、パッケージメディアにおけるコンテンツのファイル形式と、携帯端末用の媒体におけるコンテンツのファイル形式とが異なっており、パッケージメディア上のコンテンツと、携帯端末用の媒体上のコンテンツとに厳密な同一性が存在しないことが多い。この場合、再生装置が一律にレジューム情報、ブックマーク情報をコピーしたとしても、コピーしたレジューム情報、ブックマーク情報によって、パッケージメディア再生装置の続きが正しく再生できず、パッケージメディアにおける再生と、携帯端末における再生との引き継ぎが不自然になるケースが多発する。【０００８】
さらに、特許文献１に開示されるマネージドコピーは、再生装置に新たなＡＰＩ（Application Programming Interface）を導入して実現するものである。しかし、既存のＡＰＩを拡張して、携帯端末向けコンテンツのコピーという特殊機能の制御を実現した場合、追加されたＡＰＩを保持していない再生装置では、追加ＡＰＩを利用するアプリケーションを正常に起動させることができなくなるという問題が発生する。具体的には、アプリケーションを起動する段階において、再生装置はアプリケーションが利用するＡＰＩと再生装置が実装しているＡＰＩのリンク処理が行われるが、再生装置が保持していないＡＰＩをアプリケーションが利用していた場合、リンクエラーとなり、アプリケーションの起動自体に失敗するという問題がある。【０００９】
上記問題に対する一つの回避策は、既存ＡＰＩのみを使うアプリケーションと、追加ＡＰＩを使うアプリケーションを分けて用意しておき、再生装置のバージョン等を確認して、起動するアプリケーションを変えるという方法である。しかしながら、今後多種多様の機能が追加され、それら機能毎に各再生装置がＡＰＩを拡張していくとなると、どの範囲までのＡＰＩが安全に使え、どの範囲から別アプリケーションにすべきか管理が煩雑になり、異なるメーカ間の再生装置におけるアプリケーション互換性確保が極めて難しくなる。【００１０】
そのため、新機能を追加する際は、標準化団体等で互換性問題が起こらぬよう慎重にＡＰＩを定義し、追加したＡＰＩを機器メーカ、アプリケーション開発者に公開することで、どの範囲までのＡＰＩが安全に使え、どの範囲から別アプリケーションにすべきかを明確にし、新しい機能が追加されたＢＤ−ＲＯＭを過去機種で再生させた場合でも、問題なく再生できるよう配慮がなされている。【００１１】
しかしながら、新機能追加の際、常にこのようなプロセスが必要となると、追加ＡＰＩの定義には慎重にならざるを得ないために、確定するまでに時間がかかり、再生装置とアプリケーションがもたらすサービス進化が滞るという問題が起こる。加えて、追加されたＡＰＩは公開されてしまうことから、再生装置の独自サービスを考えていても、他者に容易に真似をされてしまい、再生装置自身の差別化ができないという課題がある。【００１２】
本発明は、上記事情に鑑みなされたものであり、既存のＡＰＩを拡張することなく、再生装置で中断した位置を引き継いだ携帯端末向けコンテンツのコピーを行うことができる再生装置を提供することである。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明にかかる再生装置は、第１記録媒体に記録された第１コンテンツを再生すると共に、前記第１のコンテンツに対応する内容を前記第１のコンテンツのフォーマットとは異なるフォーマットで格納した第２コンテンツを前記第１記録媒体から第２記録媒体にコピーする再生装置であって、前記第１記録媒体からアプリケーションおよびオンメディアライブラリを読み出す読出部と、前記アプリケーションおよび前記アプリケーションより呼び出されたオンメディアライブラリを実行するプラットフォーム部と、前記第２コンテンツを前記第１記録媒体から前記第２記録媒体へコピーするコピー部と、前記第１コンテンツの再生の進行に従って更新される前記第１コンテンツの再生位置を示すパラメータを格納するレジスタとを備え、前記プラットフォーム部は、前記アプリケーションが呼び出したオンメディアライブラリが利用可能な通信用プログラミングインターフェイスを有し、前記アプリケーションは、前記レジスタから前記第１コンテンツの再生位置を示すパラメータを読み出し、前記通信用プログラミングインターフェイスを用いて前記再生装置が備えるポートを介してソケットコマンドを前記コピー部へ伝送できるように接続を行い、前記呼び出したオンメディアライブラリの実行に基づいて命じるべきソケットコマンドを前記コピー部に前記ポートを通じて伝送することにより、前記第２コンテンツを前記第１記録媒体から前記第２記録媒体にコピーし、前記コピーした第２コンテンツの再生位置を前記レジスタから読み出した前記第１コンテンツの再生位置に基づき指定する処理をコピー部に行わせることを特徴とする。
【発明の効果】
【００１４】
本発明では、アプリケーションが、コピー部にコピーを命じる際、再生位置の設定を行う。このアプリケーションは、コンテンツの作り手であるオーサリング者が作成したものであるから、携帯端末用媒体のコンテンツに応じた再生位置を設定することができる。コピー部にコピーを命じる際、再生位置をアプリケーションに設定させるので、再生装置がレジューム情報、ブックマーク情報を一律にコピーするのとは異なる適切な再生位置設定が可能になる。よってパッケージメディアにおける再生と、携帯端末用の媒体における再生との自然な引き継ぎが可能になる。
【００１５】
また、上記のアプリケーションがコピー部にコピーを命じる命令は、既存のＡＰＩ（Application Programming Interface）としてサポートされている通信用プログラミングインターフェイスを用いたソケット接続を通じて行うものである。再生装置で中断した位置を引き継いだ携帯端末向けコンテンツのコピーという特殊機能を、既存のＡＰＩを拡張することなく実現するので、既存のＡＰＩを拡張することによる互換性問題等の課題が生じない。すなわちＡＰＩの標準化を図ることなく、アプリケーションの安定的な起動を実現することができる。
【００１６】
さらに本発明は、記録媒体上のアプリケーションから再生装置におけるコピー部を制御する機能を使用するものであるため、様々なコンテンツプロバイダにより多種多様なアプリケーションが開発されることが期待できる。コンテンツプロバイダは、自身が開発したアプリケーションを記録媒体に格納することで、コンテンツプロバイダ独自の付加価値を付けたコピー制御機能の実現が可能となる。例えば、コンテンツプロバイダは、コピー制御機能実行時における、独自のユーザインターフェイスを提供することができる。再生機器メーカーが作成したユーザインターフェイスに制限されないため、コンテンツプロバイダにより、より魅力的なユーザインターフェイスが提供されることが期待できる。ユーザは、パッケージメディアに記録されたコンテンツの携帯端末等へのコピーを、コンテンツプロバイダ独自の、より魅力あるユーザインターフェイスを用いて行うことができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態１におけるシステム図である。
【図２】本発明の実施の形態１におけるＢＤ−ＲＯＭのデータ階層図である。
【図３】本発明の実施の形態１におけるＢＤ−ＲＯＭが対象としているソフトウェアのレイヤモデルを示す図である。
【図４】本発明の実施の形態１における２つのモードの動的な再生制御にて作成される映画作品を示す図である。
【図５】本発明の実施の形態１における再生装置の内部構成を示す図である。
【図６】本発明の実施の形態１におけるローカルストレージのディレクトリ構成を示す図である。
【図７】本発明の実施の形態１におけるＢＤ−Ｊモジュールの具体的な構成を示す図である。
【図８】本発明の実施の形態１におけるｉｎｄｅｘ．ｂｄｍｖとタイトル関係を示す図である。
【図９】本発明の実施の形態１におけるデジタルコピーモジュールの内部構成を示す図である。
【図１０】本発明の実施の形態１におけるＢＤ−Ｊアプリケーション、デジタルコピーライブラリ、デジタルコピーモジュール、及びデジタルコピーサーバとのデータ送受信を示す図である。
【図１１】本発明の実施の形態１におけるデジタルコピー可否判断のフローチャートである。
【図１２】本発明の実施の形態１におけるデジタルコピーライブラリＡＰＩを用いたデジタルコピーのシーケンス図である。
【図１３】本発明の実施の形態１におけるデジタルコピーモジュールの状態遷移を示す図である。
【図１４】本発明の実施の形態１におけるデジタルコピーライブラリとデジタルコピーモジュール間でやり取りを行うデジタルコピーソケットプロトコルを示す図である。
【図１５】本発明の実施の形態１におけるデジタルコピープロセスにおけるデータの流れを示す図である。
【図１６】本発明の実施の形態１におけるＢＤ−Ｊアプリケーションからの通信経路を示す図である。
【図１７】本発明の実施の形態１における再生時刻情報のコピーの様子を示す図である。
【図１８】本発明の実施の形態１におけるＢＤ−Ｊアプリケーションによるデジタルコピーモジュールへのレジューム再生位置の指定処理を示すフローチャートである。
【図１９】本発明の実施の形態１におけるデジタルコピーモジュールにおけるデジタルコピー処理を示すフローチャートである。
【図２０】従来の方式におけるアプリケーション署名検証を示す図である。
【図２１】本発明の実施の形態２におけるデジタル証明書をベースとした署名検証を示す図である。
【図２２】本発明の実施の形態２における署名検証の結果に応じた機能制限を示す図である。
【図２３】本発明の実施の形態２における装置固有機能を利用するため接続要求時における処理のフローチャートである。
【図２４】本発明の実施の形態３におけるコピー元とコピー先が同一記録媒体におけるデジタルコピーを示す図である。
【図２５】本発明の実施の形態３におけるコピー元とコピー先が同一記録媒体におけるデジタルコピーに対応したフローチャートである。
【図２６】本発明の実施の形態４におけるオリジナルコンテンツとデジタルコピーコンテンツの再生時間軸を示す図である。
【図２７】本発明の実施の形態４におけるＢＤ−ＲＯＭ上のディレクトリ、ファイル構造を示す図である。
【図２８】本発明の実施の形態４におけるオリジナルコンテンツ上のレジューム再生位置をデジタルコピーコンテンツの時間軸上に変換する処理を示す図である。
【図２９】本発明の実施の形態４におけるレジューム再生位置変換処理のフローチャートである。
【図３０】本発明の実施の形態４におけるレジューム再生位置変換を行っている様子を示す図である。
【図３１】本発明の実施の形態４におけるＢＤ−Ｊアプリケーション内でレジューム再生位置変換処理を行うフローチャートである。
【図３２】本発明の実施の形態４におけるデジタルコピーモジュールでレジューム再生位置の変換処理を行うフローチャートである。
【図３３】本発明の実施の形態５における持ち出し視聴から据え置き視聴に戻したときに続き視聴を行う様子を示す図である。
【図３４】本発明の実施の形態５におけるリムーバブルメディアのファイル構成を示す図である。
【図３５】本発明の実施の形態５におけるレジューム状態格納ファイルに格納されるパラメータ一覧と値の一例を示す図である。
【図３６】本発明の実施の形態５におけるＢＤ−ＲＯＭ再生要求受付からＡＶ再生ライブラリによる再生が開始されるまでのフローチャートである。
【図３７】本発明の実施の形態５におけるＢＤレジューム再生位置変換のフローチャートである。
【図３８】本発明の実施の形態６におけるＢＤ−ＲＯＭのファイル構成を示す図である。
【図３９】本発明の実施の形態６における言語テーブルの一例を示す図である。
【図４０】本発明の実施の形態６における追加言語のデジタルコピーコンテンツをローカルストレージにダウンロードする様子を示す図である。
【図４１】多言語に対応したデジタルコピーの様子を示す図である。
【図４２】本発明の実施の形態６におけるコピー対象のコンテンツの選択の様子を示す図である。
【図４３】本発明の実施の形態６におけるＢＤ−Ｊアプリケーションによるコピー対象のコンテンツ選択のフローチャートである。
【図４４】本発明の実施の形態６におけるデジタルコピーモジュールによるコピー対象のコンテンツ選択のフローチャートである。
【発明を実施するための形態】
【００１８】
以下本発明の実施の形態について、図面を参照しながら説明する。
（実施の形態１）
先ず始めに、本発明に係る再生装置の実施行為のうち、使用行為についての形態を説明する。図１は、本発明に係る再生装置の、使用行為についての形態の一例を示す図である。図１において、本発明に係る再生装置は、再生装置１０１である。この再生装置１０１は例えば、リモコン１０２、テレビ１０３により形成されるホームシアターシステムに、映画作品を供給するという用途に供される。また、再生装置１０１にはＳＤメモリーカード、メモリースティック、コンパクトフラッシュ（登録商標）、スマートメディア、マルチメディアカード等のリムーバブルメディア１０４を挿入するための挿入口を備える。加えて携帯端末１０６と接続するためのＵＳＢ等の挿入口も備える。
【００１９】
以上が本発明に係る再生装置の使用形態についての説明である。続いて本発明に係る再生装置が再生の対象としている、記録媒体（メディア）について説明する。本発明に係る再生装置により、再生されるのは、この例では光ディスクであるＢＤ−ＲＯＭ１０５である。
【００２０】
図２は、ＢＤ−ＲＯＭ（以降、「ＢＤ」と称する場合もある）の構成を示した図である。本実施の形態においては、映画等のＡＶコンテンツを再生するためのＡＶアプリケーションを主眼においてＢＤ−ＲＯＭを説明するが、ＢＤ−ＲＯＭをＣＤ−ＲＯＭやＤＶＤ−ＲＯＭのようにコンピュータ用途の記録媒体として利用することも当然ながら可能である。ＢＤ−ＲＯＭは、他の光ディスク、例えばＤＶＤやＣＤなどと同様にその内周から外周に向けて螺旋状に記録領域を持ち、内周のリード・インと外周のリード・アウトの間に論理データを記録できる論理アドレス空間を有している。また、リード・インの内側にはＢＣＡ（Burst Cutting Area）と呼ばれるドライブでしか読み出せない特別な領域がある。この領域はアプリケーションから読み出せないため、著作権保護技術などに利用され、記録媒体の物理的なシリアルＩＤを示すＰＭＳＮ（Pre-recorder Media Serial Number）が記録されている。
【００２１】
論理アドレス空間には、ファイルシステム情報（ボリューム）を先頭に映像データなどのアプリケーションデータが記録されている。ファイルシステムとは、ＵＤＦやＩＳＯ９６６０などのことであり、通常のＰＣと同じように記録されている論理データをディレクトリ、ファイル構造を使って読み出しする事が可能になっており、２５５文字のファイル名、ディレクトリ名を読み出すことが可能である。
【００２２】
本実施の形態の場合、ＢＤ−ＲＯＭ上のディレクトリ、ファイル構造は、ルートディレクトリ（ＲＯＯＴ）直下にＢＤＭＶディレクトリ、ＣＥＲＴＩＦＩＣＡＴＥディレクトリ及びＥＭＯＶＥディレクトリが置かれている。ＢＤＭＶディレクトリはＢＤ−ＲＯＭで扱うＡＶコンテンツや管理情報などのデータが記録されているディレクトリであり、ＣＥＲＴＩＦＩＣＡＴＥディレクトリは配下にｄｉｓｃｒｏｏｔ．ｃｒｔ（ファイル名固定）ファイルが存在し、アプリケーションの署名検証に用いられる証明書が記録されている。ＥＭＯＶＥディレクトリには携帯端末視聴用のＡＶコンテンツや管理情報が記録されている。
【００２３】
ＢＤＭＶディレクトリの配下には、ＰＬＡＹＬＩＳＴディレクトリ、ＣＬＩＰＩＮＦディレクトリ、ＳＴＲＥＡＭディレクトリ、ＢＤＪＯディレクトリ、ＪＡＲディレクトリと呼ばれる５つのサブディレクトリが存在し、ＢＤＭＶディレクトリには、ｉｎｄｅｘ．ｂｄｍｖ，ＭｏｖｉｅＯｂｊｅｃｔ．ｂｄｍｖの２種類のファイルが配置されている。
【００２４】
ＳＴＲＥＡＭディレクトリには、いわばデジタルストリーム本体となるファイルを格納しているディレクトリであり、拡張子ｍ２ｔｓが付与されたファイル（ｘｘｘ．ｍ２ｔｓ［"ｘｘｘ"は可変、拡張子"ｍ２ｔｓ"は固定］）が存在する。ＰＬＡＹＬＩＳＴディレクトリには、拡張子ｍｐｌｓが付与されたファイル（ｘｘｘ．ｍｐｌｓ［"ｘｘｘ"は可変、拡張子"ｍｐｌｓ"は固定］）が存在する。ＣＬＩＰＩＮＦディレクトリには、拡張子ｃｌｐｉが付与されたファイル（ｘｘｘ．ｃｌｐｉ  ［"ｘｘｘ"は可変、拡張子"ｃｌｐｉ"は固定］）が存在する。ＪＡＲディレクトリには、拡張子ｊａｒが付与されたファイル（ｘｘｘ．ｊａｒ［"ｘｘｘ"は可変、拡張子"ｊａｒ"は固定］）が存在する。ＢＤＪＯディレクトリには、拡張子ｂｄｊｏが付与されたファイル（ｘｘｘ．ｂｄｊｏ［"ｘｘｘ"は可変、拡張子"ｂｄｊｏ"は固定］）が存在する。
【００２５】
拡張子"ｍ２ｔｓ"が付与されたファイルは、ＭＰＥＧ−ＴＳ（Transport Stream）形式のデジタルＡＶストリームであり、ビデオストリーム、１つ以上のオーディオストリーム、１つ以上の副映像ストリームを多重化することで得られる。ビデオストリームは映画の動画部分を、オーディオストリームは映画の音声部分を、副映像ストリームは、映画の字幕をそれぞれ示している。
【００２６】
拡張子"ｃｌｐｉ"が付与されたファイルは、デジタルＡＶストリームのそれぞれに１対１に対応するＣｌｉｐ情報である。管理情報故に、Ｃｌｉｐ情報は、デジタルＡＶストリームの符号化形式、フレームレート、ビットレート、解像度等の情報や、ＧＯＰの先頭位置を示すＥＰ＿ｍａｐをもっている。
【００２７】
拡張子"ｍｐｌｓ"が付与されたファイルは、ＰｌａｙＬｉｓｔ情報を格納したファイルであり、ストリームの再生区間（「Ｉｎ  Ｔｉｍｅ／Ｏｕｔ  Ｔｉｍｅ」）が記録されている。
【００２８】
拡張子"ｊａｒ"が付与されたファイルは、Ｊａｖａアーカイブファイルであり、Ｊａｖａ仮想マシンを用いて動的なシナリオ制御を行うＢＤ−Ｊアプリケーションのプログラムが記述されている。ＢＤ−ＲＯＭ上のコンテンツの再生単位を示す各タイトルの再生をＢＤ−Ｊアプリケーションから制御したい場合は、このファイルを必要とする。
【００２９】
拡張子"ｂｄｊｏ"が付与されたファイルは、ＢＤ−Ｊオブジェクトを格納したファイルである。ＢＤ−Ｊオブジェクトは、ＰｌａｙＬｉｓｔ情報により示されるＡＶストリームと、アプリケーションとの関連付けにより、タイトルを定義する情報である。ＢＤ−Ｊオブジェクトは、"アプリケーション管理テーブル"と、そのタイトルにおいて再生可能なＰｌａｙＬｉｓｔ一覧を示す。アプリケーション管理テーブルは、アプリケーションの識別子（アプリケーションＩＤ）とそのアプリケーションに属するＪａｖａアーカイブファイルのＩＤを羅列することで、このタイトルを生存区間とするアプリケーションを示すテーブルである。つまり、一つのアプリケーションは一つ以上のＪａｖａアーカイブファイルで構成される。
【００３０】
ｉｎｄｅｘ．ｂｄｍｖ（ファイル名固定）は、ＢＤ−ＲＯＭ全体に関するデータベースファイルであり、映画作品のプロバイダを特定する識別子であるｏｒｇａｎｉｚａｔｉｏｎＩＤ（３２ｂｉｔ）や、プロバイダが提供するＢＤ−ＲＯＭのそれぞれに割り当てられた識別子であるｄｉｓｃＩＤ（１２８ｂｉｔ）等の情報を持ち、再生装置へのディスク挿入後に、ｉｎｄｅｘ．ｂｄｍｖが最初に読み出されることで、再生装置においてディスクが一意に認識される。加えて、ｉｎｄｅｘ．ｂｄｍｖにはＢＤ−ＲＯＭにおいて再生可能となる複数のタイトルと、個々のタイトルを規定するＢＤ−Ｊオブジェクトとを対応付けて示すテーブルが含まれる。
【００３１】
ＭｏｖｉｅＯｂｊｅｃｔ．ｂｄｍｖ（ファイル名固定）は、ＨＤＭＶモード（後述）での各タイトル再生で、再生進行を動的に変化させるためのシナリオが記述されたシナリオプログラムが含まれる。
【００３２】
ＥＭＯＶＥディレクトリの配下には、ＢＤ−ＲＯＭに記録されているコンテンツを携帯端末で視聴するためのＡＶコンテンツや管理情報が記録されており、ＤＡＴＡｘｘ（"ｘｘ"は２桁の可変数字）というサブディレクトリ毎に携帯端末向けコンテンツが記録される。ＤＡＴＡｘｘディレクトリの配下にはＥＭＯＶ＿ＩＮＦ、ＭＧＲ＿ＤＡＴＡ、ＰＲＧ＿ＭＧＲ、ＰＲＧ００１．ＰＧＩ、ＭＯＶ００１．ＳＤ１の５つのファイルが存在する。ＥＭＯＶ＿ＩＮＦには携帯端末向けコンテンツをそれぞれ一意に識別するために割り当てられた１２８ｂｉｔの識別子であるコンテンツＩＤ（以降、「ＣＩＤ」と称する場合もある）が記録されている。ＭＧＲ＿ＤＡＴＡには、携帯端末向けコンテンツの再生位置が記録されている。ＰＲＧ＿ＭＧＲには、携帯端末向けコンテンツのトータルの再生時間が記録されている。ＰＲＧ００１．ＰＧＩには、携帯端末向けコンテンツのタイトル名が記録されている。ＭＯＶ００１．ＳＤ１は暗号化された携帯端末向けデジタルＡＶストリームが記録されている。なお、ＭＧＲ＿ＤＡＴＡ、ＰＲＧ＿ＭＧＲ、ＰＲＧ００１．ＰＧＩ及びＭＯＶ００１．ＳＤ１の４ファイルはＳＤビデオ形式に準拠しており、デジタルストリームに対応するＭＯＶ００１．ＳＤ１は例えば所定の暗号化方式（例えば、ＣＰＲＭ方式）で暗号化され、所定の暗号化方式（例えば、ＣＰＲＭ方式）で暗号化されたデジタルストリームを復号するためのキー情報（タイトルキー）はＢＤ−ＲＯＭ内には記録されていないので、不正に再生できないよう保護されている（以降、これら４ファイルを合わせて「保護コンテンツ」もしくは「携帯端末向け保護コンテンツ」と称する）。
【００３３】
なお図２では、ＤＡＴＡ０１ディレクトリにSD-Video Mobile Video Profile形式の携帯端末向け保護コンテンツが格納されている例を示したが、他のＤＡＴＡｘｘディレクトリは、その他の形式、例えばSD-Video ISDB-T形式やQuickTime形式やWindows（登録商標） Media Player形式で、持ち出し視聴用ためのコピーソースユニットを格納してもよい。
【００３４】
図３は再生制御のレイヤモデルを示した図である。図３の第１層は、物理層であり、処理対象たるストリーム本体の供給制御である。この第１層に示すように、処理対象たるストリームは、ＢＤ−ＲＯＭだけではなく、Ｂｕｉｌｔ−Ｉｎメディアやリムーバブルメディア、ネットワーク、記録型ディスクといったあらゆる記録媒体、通信媒体を供給源としている。ここでＢｕｉｌｔ−Ｉｎメディアとは、ＨＤＤ（ハードディスクドライブ）など、再生装置に予め組み込まれた記録媒体である。一方、リムーバブルメディアは、ＳＤメモリーカード、メモリースティック、コンパクトフラッシュ、スマートメディア、マルチメディアカード等、可搬性がある記録媒体である。なお、リムーバブルメディアに関しては、再生装置に直接挿入する形態とＵＳＢケーブル等を用いて接続する形態がある。これらＢｕｉｌｔ−Ｉｎメディア、リムーバブルメディアは何れも、再生装置がローカルに利用する記録媒体であり、"ローカルストレージ"との総称で呼ばれる。これらローカルストレージ、ネットワークといった供給源に対する制御（ディスクアクセス、カードアクセス、ネットワーク通信）が第１層の制御である。
【００３５】
第２層は、ＡＶデータのレイアである。第１層で供給されたストリームを、どのような復号化方式を用いて復号するのかを規定しているのがこの第２層である。
【００３６】
第３層（ＢＤ管理データ）は、ストリームの静的なシナリオを規定するレイアである。静的なシナリオとは、ディスク制作者によって予め規定された再生経路情報、ストリーム管理情報であり、これらに基づく再生制御を規定しているのがこの第３層である。
【００３７】
第４層（ＢＤ再生プログラム）は、ストリームにおける動的なシナリオを実現するレイヤである。動的なシナリオは、ＡＶストリームの再生手順、及び、その再生に関する制御手順のうち少なくとも一方を実行するプログラムである。動的なシナリオによる再生制御は、装置に対するユーザ操作に応じて変化するものであり、プログラム的な性質をもつ。ここでの動的な再生制御には、２つのモードがある。２つのモードのうち１つは、ＡＶ機器特有の再生環境で、ＢＤ−ＲＯＭに記録された動画データを再生するモード（ＨＤＭＶモード）であり、もう１つはＢＤ−ＲＯＭに記録された動画データの付加価値を高めるモード（ＢＤ−Ｊモード）である。図３において第４層には、ＨＤＭＶモードとＢＤ−Ｊモードの２つのモードが記述されている。ＨＤＭＶモードは、ＤＶＤライクな再生環境での再生モードであり、再生進行を動的に変化させるためのシナリオが記述されたシナリオプログラムが動作する。もう一つのＢＤ−Ｊモードは、Ｊａｖａ（登録商標）仮想マシンを主体とした再生モードであり、ＢＤ−Ｊアプリケーションから再生制御を行う。
【００３８】
図４は、２つのモードの動的な再生制御にて作成される映画作品を示す図である。図４（ａ）は、ＨＤＭＶモードで動的な再生制御を定義することにより、作成される映画作品の一場面を示す図である。ＨＤＭＶモードはＤＶＤ再生装置が解釈可能なコマンドと良く似たコマンドで再生制御を記述することができるので、ＤＶＤと同じような再生制御、つまり、メニューに対する選択により再生が進行するような再生制御を定義することができる。
【００３９】
図４（ｂ）は、ＢＤ−Ｊモードで動的な再生制御を定義することにより、作成される映画作品である。ＢＤ−ＪモードはＪａｖａ仮想マシンが解釈可能なＪａｖａ言語で制御手順を記述することができる。この再生制御がコンピュ−タ・グラフィックス（ＣＧ）の動作を制御するものなら、ＢＤ−Ｊモードにあっては、動画を表示した画面の横でＣＧ（図中のフクロウの絵）が動きまわっているような再生制御を定義することができる。
【００４０】
図５は、再生装置の大まかな機能構成を示すブロック図である。図５に示すように、再生装置は、ＢＤ−ＲＯＭドライブ４０１、読込制御部４０２、デマルチプレクサ４０３、ビデオデコーダ４０４、ビデオプレーン４０５、オーディオデコーダ４０６、イメージメモリ４０７、イメージプレーン４０８、イメージデコーダ４０９、加算器４１０、静的シナリオメモリ４１１、動的シナリオメモリ４１２、ＨＤＭＶモジュール４１３、ＢＤ−Ｊモジュール４１４、ＵＯ探知モジュール４１５、モード管理モジュール４１６、ディスパッチャ４１７、レンダリングエンジン４１８、書込制御部４１９、ＡＶ再生ライブラリ４２０、ＰＳＲセット４２１、ネットワークインターフェース４２２、ローカルストレージ４２３、デジタルコピーモジュール４２４から構成される。
【００４１】
ＢＤ−ＲＯＭドライブ４０１は、ＢＤ−ＲＯＭのローディング／イジェクトを行い、ＢＤ−ＲＯＭに対するアクセスを実行する。
【００４２】
読込制御部４０２は、ＢＤ−ＲＯＭドライブ４０１にローディングされているＢＤ−ＲＯＭ１０５及びローカルストレージ４２３に記録されているデータの読込み制御を行う。
【００４３】
デマルチプレクサ４０３は、読込制御部４０２により、読み出されたトランスポートストリームの多重分離を行い、ＧＯＰを構成するビデオフレームと、オーディオフレームとを得てビデオフレームをビデオデコーダ４０４に出力し、オーディオフレームをオーディオデコーダ４０６に出力する。副映像ストリームはイメージメモリ４０７に格納し、Ｎａｖｉｇａｔｉｏｎ  Ｂｕｔｔｏｎ情報は動的シナリオメモリ４１２に格納する。デマルチプレクサ４０３による多重分離は、ＴＳパケットをＰＥＳパケットに変換するという変換処理を含む。
【００４４】
ビデオデコーダ４０４は、デマルチプレクサ４０３から出力されたビデオフレームを復号して非圧縮形式のピクチャをビデオプレーン４０５に書き込む。
【００４５】
ビデオプレーン４０５は、非圧縮形式のピクチャを格納しておくためのメモリである。
【００４６】
オーディオデコーダ４０６は、デマルチプレクサ４０３から出力されたオーディオフレームを復号して、非圧縮形式のオーディオデータを出力する。
【００４７】
イメージメモリ４０７は、デマルチプレクサ４０３から読み出された副映像ストリーム、Ｎａｖｉｇａｔｉｏｎ  Ｂｕｔｔｏｎ情報内のＰＮＧデータ、読出制御部４０２から直接読み込まれた画像ファイルを格納しておくバッファである。
【００４８】
イメージプレーン４０８は、一画面分の領域をもったメモリであり、展開された副映像ストリーム、ＰＮＧデータ、画像ファイルが配置される。
【００４９】
イメージデコーダ４０９は、イメージメモリ４０７に格納された副映像ストリーム、ＰＮＧデータ、画像ファイルを展開してイメージプレーン４０８に書き込む。副映像ストリームのデコードにより、各種メニュー、副映像が画面上に現れることになる。
【００５０】
加算器４１０は、ピクチャプレーン４０５に格納された非圧縮形式のピクチャデータに、イメージプレーン４０８に展開されたイメージを合成して出力する。図４（ｂ）に示した画面（動画を表示した画面の横でＣＧ（図中のフクロウの絵）が動きまわっているような画面）は、この加算器４１０が、イメージプレーン４０８内のイメージと、ビデオプレーン４０５内のピクチャとを合成することで出力される。
【００５１】
静的シナリオメモリ４１１は、カレントのＰｌａｙＬｉｓｔやカレントのストリーム管理情報を格納しておくためのメモリである。カレントＰｌａｙＬｉｓｔとは、ＢＤ−ＲＯＭもしくはローカルストレージ４２３に記録されている複数ＰｌａｙＬｉｓｔのうち、現在処理対象になっているものをいう。カレントストリーム管理情報とは、ＢＤ−ＲＯＭもしくはローカルストレージ４２３に記録されている複数ストリーム管理情報のうち、現在処理対象になっているものをいう。
【００５２】
動的シナリオメモリ４１２は、カレント動的シナリオを格納しておき、ＨＤＭＶモジュール４１３、ＢＤ−Ｊモジュール４１４による処理に供されるメモリである。カレント動的シナリオとは、ＢＤ−ＲＯＭもしくはローカルストレージ４２３に記録されている複数シナリオのうち、現在実行対象になっているものをいう。
【００５３】
ＨＤＭＶモジュール４１３は、ＨＤＭＶモードの実行主体となるＤＶＤ仮想プレーヤであり、動的シナリオメモリ４１２に読み出されたカレントのシナリオプログラムを実行する。
【００５４】
ＢＤ−Ｊモジュール４１４は、Ｊａｖａプラットフォームであり、Ｊａｖａ仮想マシン、コンフィグレーション、プロファイルからなる。ＢＤ−Ｊモジュール４１４は、動的シナリオメモリ４１２に読み出されたＪａｖａクラスファイルからカレントのＪａｖａオブジェクトを生成し、実行する。Ｊａｖａ仮想マシンは、Ｊａｖａ言語で記述されたＪａｖａオブジェクトを、再生装置におけるＣＰＵのネィティブコードに変換して、ＣＰＵに実行させる。
【００５５】
ＵＯ探知モジュール４１５は、リモコンや再生装置のフロントパネルに対してなされたユーザ操作を検出して、ユーザ操作を示す情報（以降ＵＯ（User Operation）という）をモード管理モジュール４１６に出力する。
【００５６】
モード管理モジュール４１６は、ＢＤ−ＲＯＭもしくはローカルストレージ４２３から読み出されたモード管理テーブルを保持して、モード管理及び分岐制御を行う。モード管理モジュール４１６によるモード管理とは、動的シナリオをＨＤＭＶモジュール４１３、もしくはＢＤ−Ｊモジュール４１４のどちらで実行させるかという、モジュールの割り当てである。
【００５７】
ディスパッチャ４１７は、ＵＯから、現在の再生装置におけるモードに適切なＵＯのみを選んで、そのモードを実行するモジュールに受け渡す。例えばＨＤＭＶモードの実行中に、上下左右、アクティベートといったＵＯを受け付けた場合、ＨＤＭＶモードのモジュールにこれらのＵＯを出力するというのがディスパッチャ４１７の処理である。
【００５８】
レンダリングエンジン４１８は、Ｊａｖａ２Ｄ，ＯＰＥＮ−ＧＬといった基盤ソフトウェアを備え、ＢＤ−Ｊモジュール４１４からの指示に従ってコンピュ−タ・グラフィックスの描画を行い、描画されたコンピュ−タ・グラフィックスをイメージプレーン４０８に出力する。
【００５９】
書込制御部４１９は、ネットワークインターフェース４２２を介してダウンロードされたデータや、デジタルコピーモジュール４２４からの指示に従い、ローカルストレージ４２３にデータを書き込む。
【００６０】
ＡＶ再生ライブラリ４２０はＨＤＭＶモジュール４１３、ＢＤ−Ｊモジュール４１４からの関数呼び出しに応じて、ＡＶ再生機能、プレイリストの再生機能を実行する。ＡＶ再生機能とは、ＤＶＤプレーヤ、ＣＤプレーヤから踏襲した機能群であり、再生開始、再生停止、一時停止、一時停止の解除、静止画機能の解除、再生速度を即値で指定した早送り、再生速度を即値で指定した巻戻し、音声切り替え、副映像切り替え、アングル切り替えといった処理である。プレイリスト再生機能とは、このＡＶ再生機能のうち、再生開始や再生停止をプレイリスト情報に従って行うことをいう。
【００６１】
ＰＳＲセット４２１は、再生装置に内蔵されるレジスタであり、Player Status Register（ＰＳＲ）と、General Purpose Register（ＧＰＲ）とからなる。ＰＳＲは、それぞれ現在の再生時点等、再生装置における諸状態を示す。その詳細な内容については、後で詳細に説明する。
【００６２】
ネットワークインターフェース４２２は、インターネット上に公開されたＢＤ−ＲＯＭ追加コンテンツのダウンロードやデジタルコピー実行に必要なプロトコルを処理するために用いる。ＢＤ−ＲＯＭ追加コンテンツとは、オリジナルのＢＤ−ＲＯＭにないコンテンツで、例えば追加の副音声、字幕、特典映像、アプリケーションなどである。ＢＤ−Ｊモジュール４１４は、ネットワークインターフェース４２２を制御することにより、インターネット上に公開された追加コンテンツをローカルストレージ４２３にダウンロードすることができる。
【００６３】
ローカルストレージ４２３は、ダウンロードしてきた追加コンテンツやアプリケーションが使うデータなどの保存、及びデジタルコピーのコピー先として用いられる。追加コンテンツの保存領域はＢＤ−ＲＯＭ毎に分かれており、またアプリケーションがデータの保持に使用できる領域はアプリケーション毎に分かれている。また、ダウンロードした追加コンテンツをどのようにＢＤ−ＲＯＭ上のデータとマージするかを示すマージ規則が記載されたマージ管理情報も、このローカルストレージ４２３に保存される。
【００６４】
デジタルコピーモジュール４２４は、ＢＤ−ＲＯＭ上に記録されている携帯端末向け保護コンテンツを、ローカルストレージ４２３へコピーし、かつネットワークインターフェース４２２を通してデジタルコピーサーバと認証を行い、コピー先で再生可能にするために必要な復号鍵の取得を行う。デジタルコピーモジュール４２４の機能はＨＤＭＶモジュール４１３及びＢＤ−Ｊモジュール４１４には公開されておらず、ネットワークインターフェース４２２を介した間接的な制御のみ可能である。
【００６５】
以上が本発明に係る再生装置の構成である。続いてＰＳＲセットにおける個々のＰＳＲについて説明する。以下にＰＳＲの一覧を示す。
【００６６】
ＰＳＲ（０）      ：  メニューグラフィックスストリーム番号
ＰＳＲ（１）      ：  音声ストリーム番号
ＰＳＲ（２）      ：  字幕ストリーム番号
ＰＳＲ（３）      ：  アングル番号
ＰＳＲ（４）      ：  現在再生中のタイトル番号
ＰＳＲ（５）      ：  現在再生中のチャプター番号
ＰＳＲ（６）      ：  現在再生中のプレイリスト識別子
ＰＳＲ（７）      ：  現在再生中のプレイアイテム識別子
ＰＳＲ（８）      ：  再生時刻情報
ＰＳＲ（９）      ：  ナビゲーションタイマー
ＰＳＲ（１０）    ：  選択キー情報
ＰＳＲ（１１）    ：  メニューグラフィックスストリームにおける現在のページ識別子
ＰＳＲ（１２）    ：  字幕ストリームにおけるユーザースタイル識別子
ＰＳＲ（１３）    ：  パレンタルレベル
ＰＳＲ（１４）    ：  字幕サポート情報
ＰＳＲ（１５）    ：  プレーヤ設定値（オーディオ）
ＰＳＲ（１６）    ：  音声ストリーム用言語コード
ＰＳＲ（１７）    ：  字幕ストリーム用言語コード
ＰＳＲ（１８）    ：  メニュー用言語コード
ＰＳＲ（１９）    ：  プレーヤのバージョン情報
ＰＳＲ（２０）    ：  ＰＳＲ（０）のバックアップ
ＰＳＲ（２１）    ：  ＰＳＲ（１）のバックアップ
ＰＳＲ（２２）    ：  ＰＳＲ（２）のバックアップ
ＰＳＲ（２３）    ：  ＰＳＲ（３）のバックアップ
ＰＳＲ（２４）    ：  ＰＳＲ（４）のバックアップ
ＰＳＲ（２５）    ：  ＰＳＲ（５）のバックアップ
ＰＳＲ（２６）    ：  ＰＳＲ（６）のバックアップ
ＰＳＲ（２７）    ：  ＰＳＲ（７）のバックアップ
ＰＳＲ（２８）    ：  ＰＳＲ（８）のバックアップ
ＰＳＲ（２９）    ：  ＰＳＲ（９）のバックアップ
ＰＳＲ（３０）    ：  ＰＳＲ（１０）のバックアップ
ＰＳＲ（３１）    ：  ＰＳＲ（１１）のバックアップ
ＰＳＲ（３２）    ：  ＰＳＲ（１２）のバックアップ
ＰＳＲ（０）からＰＳＲ（１２）までは、再生状態を示すシステムパラメータを格納する。ＰＳＲ（１３）からＰＳＲ（１９）までは、プリファレンスとしてプレーヤに設定されるシステムパラメータを格納している。また、ＰＳＲ（２０）からＰＳＲ（３２）までは、ＰＳＲ（０）からＰＳＲ（１２）のバックアップ用レジスタ（バックアップレジスタ）である。ＨＤＭＶモードにおいてＣａｌｌコマンドによるタイトル切替が行われた場合、ＰＳＲ（０）からＰＳＲ（１２）の現在の再生状態を示すパラメータが、ＰＳＲ（２０）からＰＳＲ（３２）に退避される。
【００６７】
特にＰＳＲ（８）は、ピクチャデータが表示される度に更新され、0〜OxFFFFFFFFの値に設定されることで、４５ｋＨｚの時間精度を用いて現在の再生時点を示す。本編がＢＤ−Ｊモードの場合、バックアップレジスタが利用されないため、ＰＳＲ（８）に格納されているパラメータを読み出すことにより、現在の再生時刻情報を取得できる。一方本編がＨＤＭＶモードである場合、ＰＳＲ（８）のパラメータはＰＳＲ（２８）に退避されており、ＰＳＲ（２８）に格納されているパラメータを読み出すことにより、現在の再生時刻情報を取得できる。以上がＰＳＲの内容についての説明である。続いて、ローカルストレージにおけるデータ構造について説明する。
【００６８】
図６は、ローカルストレージにおけるデータ構造を示す図である。ローカルストレージには大きく３種類の領域が存在し、１つはユーザから自由に読み書きできユーザにとって可視である領域「ユーザ領域」、もう一つはユーザからは読み書き不可能で、ユーザにとって不可視であり、著作権保護に対応したシステムのみ読み書きが許される保護された領域「保護領域」、最後に、ユーザからは読み書き不可能、システムからも書き込み不可能で、システムによる読み込みのみが許される領域「システム領域」である。
【００６９】
ユーザ領域は、さらに追加コンテンツ領域とＳＤビデオ領域の２種類に分けられる。追加コンテンツ領域はＢＤ−ＲＯＭ再生時に補助的用いられるコンテンツが格納され、ＳＤビデオ領域には主に携帯端末での再生を目的としたＳＤビデオ準拠のコンテンツ（ＳＤビデオコンテンツ）が格納される。追加コンテンツ領域とＳＤビデオ領域は共にローカルストレージのユーザ領域上のルートディレクトリ直下に存在する。追加コンテンツ領域を示すディレクトリ名は８文字以内の固定値（ＢＵＤＡ）である。このＢＵＤＡディレクトリ以下（サブディレクトリとそれ以下のファイルも含む）に、アプリケーションはサーバからダウンロードしてきた追加ファイル等、任意のファイルを格納することが可能である。
【００７０】
ＢＵＤＡディレクトリ以下にはさらにＯｒｇａｎｉｚａｔｉｏｎＩＤディレクトリとＤｉｓｃＩＤディレクトリが存在し、特定のプロバイダ（Ｏｒｇａｎｉｚａｔｉｏｎ）に対応するディレクトリに、各ＢＤ−ＲＯＭに対応するディレクトリを設けることにより、各ＢＤ−ＲＯＭについてのダウンロードデータが個別に格納される。
【００７１】
一方ＳＤビデオ領域を示すディレクトリ名はＳＤ＿ＶＩＤＥＯであり、追加コンテンツ領域と同様、ユーザ領域上のルートディレクトリ直下に存在する。ＳＤ＿ＶＩＤＥＯディレクトリ以下にはさらにＳＤビデオコンテンツ毎に分かれたＳＤビデオコンテンツディレクトリ（「ＰＲＧｘｘｘ」、"ｘｘｘ"は可変）とＳＤビデオ領域全体の管理ファイルが格納されたＳＤビデオ管理ディレクトリ（「ＭＧＲ＿ＩＮＦＯ」）が存在する。ＳＤビデオコンテンツディレクトリには、上述のＰＲＧ００１．ＰＧＩ及びＭＯＶ００１．ＳＤ１が記録され、ＳＤビデオ管理ディレクトリには、上述のＭＧＲ＿ＤＡＴＡ及びＰＲＧ＿ＭＧＲが記録される。
【００７２】
ユーザからはアクセスできない保護領域上には、暗号化された携帯端末向け保護コンテンツを復号するための復号鍵（ＶＩＤＥＯ００１．ＫＥＹ）が記録される。復号鍵へのアクセスは著作権保護に対応したシステムのみが可能である。
【００７３】
ユーザからはアクセスできず、システムからも読み込みのみ許されるシステム領域には、前述の復号鍵生成に必要な鍵情報が記録されたメディアキーブロック（ＭＫＢ）と、ローカルストレージに割り当てられているＳＤメモリーカード等の媒体を、媒体毎に一意に特定するための識別子であるメディアＩＤ（ＭＩＤ）が記録されている。メディアＩＤは同じ種類のメディアでも媒体毎に異なる値が割り振られている。
【００７４】
図７は図５に示すＢＤ−Ｊモジュールのより具体的な構成を示す図である。ＢＤ−Ｊモジュール４１４はメディア再生モジュール７０４、ファイルＩ／Ｏモジュール７０５、ネットワークモジュール７０６、アプリケーションマネージャ７０７から構成される。なお、本図におけるＡＶ再生ライブラリ４２０、ＰＳＲセット４２１、ネットワークＩ／Ｆ４２２、ローカルストレージ４２３、デジタルコピーモジュール４２４は、図５に示したものと同一であり、メディア再生モジュール７０４〜アプリケーションマネージャ７０７の説明のために便宜的に記載している。
【００７５】
アプリケーションマネージャ７０７はＢＤ−ＲＯＭ上に記録されたアプリケーション管理情報を元にＢＤ−Ｊアプリケーションの起動・終了を管理する。また、アプリケーションマネージャがディスパッチャ４１７から受け取ったＵＯイベントを、現在動作中のＢＤ−Ｊアプリケーション７０１に渡すといった処理も行う。
【００７６】
メディア再生モジュール７０４はＢＤ−Ｊアプリケーション７０１に対し、メディア再生制御のためのＡＰＩを提供している。ＢＤ−Ｊアプリケーション７０１がメディア再生制御ＡＰＩを呼び出すと、メディア再生モジュール７０４は対応するＡＶ再生ライブラリ４２０の関数を呼び出し、ＡＶ再生制御を行う。
【００７７】
ファイルＩ／Ｏモジュール７０５はＢＤ−Ｊアプリケーション７０１からのＢＤ−ＲＯＭ、ローカルストレージ、記録型ＢＤドライブ等の各メディアへのファイルアクセス要求の処理を行う。
【００７８】
ネットワークモジュール７０６は、ＢＤ−Ｊアプリケーション７０１に対し、ネットワーク制御のためのＡＰＩを提供している。ＢＤ−Ｊアプリケーション７０１からのネットワーク制御要求に従い、ネットワークインターフェース４２２を使って、ネットワーク接続を行う。ＢＤ−Ｊアプリケーション７０１はネットワークモジュール７０６を用いて、デジタルコピーサーバにアクセスし、公開されている追加コンテンツの検索・ダウンロード等が可能である。加えて本実施の形態では、再生装置内のデジタルコピーモジュール４２４とのプロトコル通信のためにネットワークモジュール７０６が用いられる。図７に示す通り、デジタルコピーモジュールに対しての直接のＡＰＩはＢＤ−Ｊアプリケーション７０１には提供されていない。デジタルコピーモジュール４２４に対して何らかの処理を発行するときは、デジタルコピーモジュール４２４とネットワークモジュール７０６の間に形成されたローカルネットワークを介して必要なデータの送受信を行うことになる。ネットワークモジュール７０６は外部ネットワークアクセス及びローカルネットワークアクセスの両方のインターフェースをＢＤ−Ｊアプリケーション７０１に提供する。
【００７９】
なお、ローカルネットワークアクセスを用いたデジタルコピーモジュール４２４とのデータ送受信は、ＢＤ−Ｊアプリケーション７０１とは分離し、ライブラリ化することも考えられる。デジタルコピーモジュール４２４とのデータ送受信に用いるプロトコルを個々のＢＤ−Ｊアプリケーションに依存したものではなく、共通のプロトコルを定義することで、そのプロトコル解析専用のライブラリを用意し（デジタルコピーライブラリ７０２）、ＢＤ−Ｊアプリケーションから分離させる。デジタルコピーライブラリ７０２は、ＢＤ−Ｊアプリケーションに対し、あたかもＢＤ−Ｊ  ＡＰＩを拡張したかのようなＡＰＩ（デジタルコピーライブラリＡＰＩ、詳細は後述）を提供し、プロトコルの詳細はデジタルコピーライブラリ７０２内に隠蔽する。このように構成することで、ＢＤ−Ｊアプリケーションはデジタルコピーモジュール４２４とのデータ送受信に用いるプロトコルを解析する必要がなくなり、プロトコル解析をライブラリで一元管理することが可能となるため、ＢＤ−Ｊアプリケーションの生産性を向上させることができる。なお、デジタルコピーライブラリ７０２とデジタルコピーモジュール４２４の双方でやりとりされるローカルネットワークアクセスを用いたプロトコル（デジタルコピーソケットプロトコル）の詳細については後述する。
【００８０】
図８はｉｎｄｅｘ．ｂｄｍｖファイルとタイトルの関係の一例を示す図である。タイトルとはアプリケーションとＡＶストリームを組にした再生単位であり、ｉｎｄｅｘ．ｂｄｍｖファイルにはディスク上のタイトル構成が記載されており、ディスク上の各タイトルと、対応するアプリケーション（ＢＤ−ＪモードタイトルであればＢＤ−Ｊアプリケーション、ＨＤＭＶモードタイトルであればシナリオプログラム）の参照関係を管理している。
【００８１】
図8に示す例では、「Top Menu」、「First Play」、「Title#1」、「Title#３」がそれぞれＢＤ−Ｊモードタイトル、「Title#2」がＨＤＭＶタイトルであることを示している。
【００８２】
「Title#1」は、例えば本編映像のタイトルであり、このタイトルの選択がなされるとＢＤ−Ｊオブジェクト（00001.bdjo）に含まれるアプリケーション管理テーブルに示される再生可能なプレイリストに従うデジタルストリームの再生およびアプリケーション管理テーブルに示されるアプリケーションの実行が再生装置にて行われる。
【００８３】
「Title#2」は、例えば特典映像のタイトルであり、このタイトルの選択がなされるとＭｏｖｉｅＯｂｊｅｃｔ．ｂｄｍｖに含まれるシナリオプログラムに従ったデジタルストリームの動的再生が行われる。
【００８４】
「Title#３」は、例えばデジタルコピーに対応するタイトルであり、このタイトルの選択がなされるとＢＤ−Ｊオブジェクト（88888.bdjo）に含まれるアプリケーション管理テーブルに示されるＢＤ−Ｊアプリケーションおよびデジタルコピーライブラリの実行による後述するデジタルコピーが再生装置にて行われる。
【００８５】
上述に示す例は単なる一例である。例えば「Title#1」に関連付けたＢＤ−Ｊオブジェクトに含まれるアプリケーション管理テーブルにプレイリストが示されなければ、デジタルストリームの再生は行われない。また、「Title#３」に関連付けたＢＤ−Ｊオブジェクトに含まれるアプリケーション管理テーブルに再生可能なプレイリストを示すようにすれば、アプリケーション管理テーブルに示されるＢＤ−Ｊアプリケーションおよびデジタルコピーライブラリの実行と並行して、アプリケーション管理テーブルに示される再生可能なプレイリストに従うデジタルストリームの再生が再生装置で行われることになる。
【００８６】
また、特殊なタイトルとして「FirstPlay」と「Top Menu」が存在する。「First Play」はＢＤ起動時に自動的に再生されるタイトルであり、主にＢＤの利用規約表示などに用いられる。「Top Menu」はリモコンのメニューキーを押したときやタイトル再生が終了したときに再生され、主にタイトルの選択や、字幕／音声の言語選択を行うことに用いられる。本実施形態では、デジタルコピーはＢＤ−Ｊモードタイトルで行われることになる。デジタルコピータイトルは、デジタルコピーのＧＵＩ等を管理するＢＤ−Ｊアプリケーションと、デジタルコピーモジュールとのデータ送受信を管理するデジタルコピーライブラリで構成される。ＢＤ−Ｊアプリケーション、デジタルコピーライブラリ共に、ＪＡＲファイルとしてＢＤ−ＲＯＭ上に記録しておく必要がある。ＪＡＲファイルは、ＢＤ−Ｊアプリケーションとデジタルコピーライブラリで分けて記録しても良いし、１つのＪＡＲファイルにまとめて記録しても良い。
【００８７】
図９は、デジタルコピーモジュール４２４を詳細化した図である。デジタルコピーモジュール４２４は、通信管理部６０１、鍵情報読込部６０２、メディア状態管理部６０３、コピー実行部６０４、コピー状態通知部６０５、コピー進捗管理部６０６、鍵情報書込部６０８、空き容量判定部６１０で構成される。
【００８８】
通信管理部６０１は、再生装置内の通信ポートの一つをデジタルコピー制御のために割り当て、このデジタルコピー通信ポートを用いて、ＢＤ−Ｊモジュールとのプロトコル通信を行う。具体的には、サーバソケットとしてデジタルコピー通信ポートを開いて、ＢＤ−Ｊモジュールからの要求が来るのを待ち、デジタルコピー通信ポートに対してデータが送られてくると、送られてきたデータを解析し、そのデータ対応する処理を行う。処理結果も同様にデジタルコピー通信ポートを介してＢＤ−Ｊモジュールに送り返す。加えて、通信管理部６０１はデジタルコピーサーバ８０３とのデータ通信管理も行う。具体的には、暗号化された携帯端末向けデジタルＡＶストリームを復号するために必要な復号鍵をサーバから取得するために必要な通信処理を行う。
【００８９】
鍵情報読込部６０２は、復号鍵生成に必要な情報をコピー元８０１及びコピー先８０２から読出す。具体的には、コピー元８０１からはＢＤ−ＲＯＭ上の特殊領域であるＢＣＡ（Burst Cutting Area）に記録されている記録媒体の物理的なシリアルＩＤを示すＰＭＳＮ（Pre-recorded Media Serial Number）を、コピー先８０２からはコピー先のメディアに記録されている、メディア毎にユニークに設定されるメディア固有の情報（メディアＩＤ）、及び復号鍵生成に必要な鍵情報が記録されたメディアキーブロック（ＭＫＢ）の読出しを行う。
【００９０】
メディア状態管理部６０３は、再生装置が現在コピー先として利用できるメディアの種類一覧を管理する。例えば、再生装置がＳＤカードスロットと、ＵＳＢメモリスロットを備え、現在、ＳＤカードのみが挿入されているのであれば、ＳＤカードが現在のコピー先の対象と判断する。ＳＤカードとＵＳＢメモリ（もしくはＵＳＢ接続されている携帯端末）の両方が挿入されていれば、コピー先としてＳＤカード、ＵＳＢメモリの両方が可能と判断する。加えて、コピー先メディアの空き容量管理も行う。
【００９１】
コピー実行部６０４は、ＢＤ−Ｊアプリケーション７０１から指示されたＢＤ−ＲＯＭ上の携帯端末向け保護コンテンツを別メディアへコピーする処理を行う。ＢＤ−Ｊアプリケーション７０１からの指示はデジタルコピーライブラリ７０２を経由し、デジタルコピー通信ポート上で行われる。なおコピー実行部６０４によるデータコピーだけでは、コピー先で携帯端末向け保護コンテンツを再生することはできない。後述の復号鍵書込部６０８によってコピー先へ復号鍵の書込みが完了した後にコピー先にて再生が可能となる。
【００９２】
コピー状態通知部６０５はコピーの開始・正常終了・エラー終了等の状態遷移を管理し、デジタルコピー通信ポートを通じてデジタルコピーモジュール４２４とローカル通信接続中のＢＤ−Ｊアプリケーション７０１に状態遷移を通知する。
【００９３】
コピー進捗管理部６０６はコピー対象となっている残りバイト数、コピー済みバイト数の管理を行い、デジタルコピー通信ポートを介したＢＤ−Ｊアプリケーションからの要求に応じて、現在の進捗情報を通知する。
【００９４】
鍵情報書込部６０８は、鍵情報読込部６０２が取得したＢＤ−ＲＯＭのシリアルＩＤ、コピー先メディアのメディアＩＤ、及びＭＫＢから生成される復号鍵の書込みを行う。復号鍵の生成は、サーバにある秘密鍵を元に行われるため、デジタルコピーモジュール４２４は鍵情報読込部６０２が、ＢＤ−ＲＯＭのシリアルＩＤ、コピー先メディアのメディアＩＤ、及びＭＫＢを取得した後、通信管理部６０１を経由してデジタルコピーサーバ８０３にこれらの値と、コピー対象コンテンツのコンテンツＩＤを送信する。デジタルコピーサーバ８０３は受け取った値とサーバが保持する秘密鍵から復号鍵を生成し、通信管理部６０１へ復号鍵を送信する。生成される復号鍵はコピー先メディアのＭＫＢにより復号できるような暗号化がなされている。通信管理部６０１が復号鍵を受け取ると鍵情報書込部６０８はコピー先の保護領域に復号鍵の書込みを行う。復号鍵はキー情報（タイトルキー）を含んでおり、キー情報が暗号化された携帯端末向け保護コンテンツの復号に用いられる。
【００９５】
このキー情報を含む復号鍵がなければ、たとえ、無断でコピー元の携帯端末向け保護コンテンツのみを別のメディアにコピーしたとしても再生することはできない。
【００９６】
空き容量判定部６１０はコピー先メディアの空き残量及びコピー元コンテンツをもとにコピーに必要な空き容量がコピー先に存在するかを判定する。
【００９７】
デジタルコピーモジュール４２４は以上の構成を持ち、これらの操作はデジタルコピー通信ポートにローカル通信接続を行っているＢＤ−Ｊアプリケーションから制御できる。なお、これらの制御を操作できる直接のＡＰＩはＢＤ−Ｊモジュールに存在しないため、デジタルコピー通信ポートに接続できていないＢＤ−Ｊアプリケーションからは制御ができないということになる。
【００９８】
図１０はＢＤ−Ｊアプリケーション、デジタルコピーライブラリ、デジタルコピーモジュール、及びデジタルコピーサーバとのデータ送受信を示すシーケンス図である。本実施の形態において、デジタルコピーモジュール４２４とＢＤ−Ｊアプリケーション７０１／デジタルコピーライブラリ７０２、デジタルコピーモジュール４２４とデジタルコピーサーバ８０３との間には２つの異なる通信経路が形成されることが特徴である。ＢＤ−Ｊアプリケーション７０１とデジタルコピーモジュール４２４の間には同一端末間のローカル通信が形成され、デジタルコピーモジュール４２４とデジタルコピーサーバ８０３の間には別端末間のグローバル通信が形成される。ＢＤ−Ｊアプリケーション７０１とデジタルコピーライブラリ７０２との間は、通信は発生せず、通常の同一アプリケーション内ＡＰＩ呼び出しが行われる。
【００９９】
まず、ＢＤ−Ｊアプリケーション７０１は、再生装置がデジタルコピーに対応しているかどうかの判断を行う。再生装置がデジタルコピーに対応しているかどうかの判断は、図１１に示すフローチャートに基づいて行う。ＢＤ−Ｊアプリケーション７０１からデジタルコピーライブラリ７０２に対し、再生装置のデジタルコピー対応確認が要求されると、デジタルコピーライブラリ７０２は、デジタルコピーに割り当てられた通信ポートを示すシステムプロパティ（"digitalcopy.port"）が存在するかどうかを確認する（ステップＳ１０１）。
【０１００】
システムプロパティ"digitalcopy.port"が存在する場合は、そのプロパティが示す通信ポートをデジタルコピーモジュールとのデータ送受信に用いる。システムプロパティ"digitalcopy.port"が存在しない場合は、予め決められた通信ポートをデジタルコピーモジュールとのデータ送受信に用いる。なお、デジタルコピーモジュールは通信ポートの１つをデジタルコピー用に占有することになるため、予め決められた通信ポートを用いる場合は、既存の通信ポートを利用したネットワークとの衝突を防ぐために、プライベートポートを使うことが望ましい。具体的には49152番ポート以上、65535番ポート以下が推奨される。システムプロパティ"digitalcopy.port"を用いる場合、すなわちデジタルコピーに用いる通信ポートが毎回変わる可能性がある構成を取る場合は、フリーポートを利用することも考えられる。フリーポートとは、ポート０番を指定することにより、その時点で端末側が利用していないポートを自動的に割り当てる仕組みを指す。フリーポートを利用すれば、ポート衝突は避けられるが、都度ポート番号が変わるため、そのデジタルコピーに用いるポート番号をデジタルコピーライブラリ７０２に通知する必要がある。そのポート番号の通知にシステムプロパティ"digitalcopy.port"を利用する。
【０１０１】
ステップＳ１０１でシステムプロパティが存在しなければ、デジタルコピーライブラリ７０２は、予め決められた固定ポートへ接続する（ステップＳ１０２）。システムプロパティが存在する場合は、デジタルコピーライブラリ７０２は、システムプロパティが示すポートへ接続する（ステップＳ１０３）。
【０１０２】
次にデジタルコピーライブラリ７０２は、通信ポートへの接続に成功したかどうかを確認する（ステップＳ１０４）。通信ポートへの接続が失敗すれば、デジタルコピーライブラリ７０２は、現在の再生装置ではデジタルコピーに対応していないと判断する（ステップＳ１０８）。
【０１０３】
ステップＳ１０４で通信ポートへの接続に成功した場合、デジタルコピーライブラリ７０２は、その通信ポートを経由してデジタルコピーモジュールへ初期化を要求する（ステップＳ１０５）。そして、デジタルコピーライブラリ７０２は、ステップＳ１０５の初期化要求に対するデジタルコピーモジュールからの応答を接続中の通信ポートで受け取る（ステップＳ１０６）。ステップＳ１０６で、初期化成功との応答を受け取った場合、デジタルコピーライブラリ７０２は、現在の再生装置でデジタルコピー可能と判断する（ステップＳ１０７）。デジタルコピーモジュールからの応答がない、もしくは初期化失敗との応答を受け取った場合は、デジタルコピーライブラリ７０２は、現在の再生装置ではデジタルコピー不可と判断する（ステップＳ１０８）。
【０１０４】
デジタルコピーライブラリ７０２は、デジタルコピー可否の結果をＢＤ−Ｊアプリケーションに通知し、ＢＤ−Ｊアプリケーションはデジタルコピー可能であるという通知を受け取ると、続いてデジタルコピーに必要なパラメータをデジタルコピーライブラリ経由で、デジタルコピーモジュールへセットする。具体的には、シリアルＩＤ，コピー元のコンテンツの位置、デジタルコピーサーバのＵＲＬ、コピー先のメディア、レジューム再生位置である。
【０１０５】
シリアルＩＤは、ＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）に記録されているＰＭＳＮ（Ｐｒｅ−ｒｅｃｏｒｄｅｄ  Ｍｅｄｉａ  Ｓｅｒｉａｌ  Ｎｕｍｂｅｒ）を利用することができるが、これ以外の値として、パッケージに同梱されている紙に記載されたクーポンＩＤをユーザに手入力させた値を代替することも可能である。ＰＭＳＮを利用すれば、ユーザに手入力させる必要もなく自動で認証を行うことが可能であるが、一方でレンタルディスク等の場合にＰＭＳＮを利用するとなると、最初に借りたユーザだけが、このサービスを実施権が与えられることになり、二番目以降に借りるユーザに不公平となる。レンタルディスクの場合はクーポンＩＤの手入力が望ましく、市販ディスクの場合はＰＭＳＮの利用が望ましい。
【０１０６】
コピー元のコンテンツの位置は、携帯端末向けコンテンツが記録されているディレクトリまでの絶対パスで示される。例えば、"/mnt/bdrom/EMOVE/DATA01"等である。この場合、"/mnt/bdrom"はＢＤ−ＲＯＭメディアのマウントポイントに当たる。
【０１０７】
デジタルコピーサーバのＵＲＬは、グローバルネットワーク上のサーバを示すＵＲＬが指定される。例えば"http://xxx.yyy.zzz"等である。
【０１０８】
コピー先メディアは、再生装置がサポートしているコピー先メディア一覧の中から指定される。ＢＤ−Ｊアプリケーションはデジタルコピーモジュールに対し、現在の再生装置でサポートしているメディア一覧を要求すると、「＜メディアの種類＞＿＜番号＞」の形のリストが送られてくる。例えば、再生装置がＳＤカードスロットとＵＳＢメモリスロットの両方をそれぞれ１つずつサポートしていた場合、「ＳＤ＿１  ＵＳＢ＿１」というリストが送られてくる。ＳＤカードスロットなし、ＵＳＢメモリスロットが２つ持つ場合は「ＵＳＢ＿１  ＵＳＢ＿２」というリストが送られることとなる。コピー先一覧を受け取ったＢＤ−Ｊアプリケーションは、それらの一覧をユーザに提示し、どのメディアにコピーするか、ユーザの指示を受け、ユーザが選択したメディアを、コピー先メディアとして指定することになる。
【０１０９】
レジューム再生位置は、携帯端末視聴用のコンテンツの先頭からの再生再開位置（レジュームポイント）までの経過時間（ミリ秒）が指定される。ＢＤ−Ｊアプリケーションは、本編がＢＤ−Ｊモードの場合、ＰＳＲセット４２１のＰＳＲ（８）に格納された再生装置の再生時刻情報を読み出し、レジューム再生位置を指定する。本編がＨＤＭＶモードである場合、ＰＳＲ（２８）に格納された再生装置の再生時刻情報を読み出し、レジューム再生位置を指定する。ＰＳＲ（８）またはＰＳＲ（２８）から取得される再生時刻情報は、４５ｋＨｚクロック単位であるため、再生時刻情報をミリ秒単位に変換したものがレジューム再生位置となる。例えば、再生装置にてすでに３０分視聴していた場合、ＰＳＲ（８）またはＰＳＲ（２８）に格納されている値は81,000,000であり、レジューム再生位置は1,800,000となる。
【０１１０】
デジタルコピーライブラリはこれらのパラメータがＢＤ−Ｊアプリケーションから指定されると、接続中の通信ポートを用いてデジタルコピーモジュールへ指定されたパラメータを送信する。
【０１１１】
パラメータのセットが完了すると、ＢＤ−Ｊアプリケーションは次に残コピー回数の確認を行う。残コピー回数の確認も、パラメータのセットと同様、デジタルコピーライブラリを経由し、接続中の通信ポートを用いてデジタルコピーモジュールへ問い合わせを行う。残コピー回数は、デジタルコピーサーバで管理されているため、デジタルコピーモジュールは残コピー回数の確認要求を受け取ると、現在セットされているパラメータから、コンテンツＩＤ，シリアルＩＤ，メディアＩＤを取り出しデジタルコピーサーバへ、これら３つの値を送る。コンテンツＩＤはコピー対象の携帯端末向け保護コンテンツのＥＭＯＶ＿ＩＮＦファイルに記載されている値を、シリアルＩＤはＢＤ−Ｊアプリケーションから指定された値を、メディアＩＤはコピー先メディアのシステム領域に記載されている値を用いる。ＢＤ−Ｊアプリケーション７０１、デジタルコピーライブラリ７０２及びデジタルコピーモジュール４２４の間は同一端末間通信であり、外部インターネット接続不要であったが、デジタルコピーモジュール４２４とデジタルコピーサーバ８０３との間はグローバルなインターネット接続が必要となる。デジタルコピーサーバは、受け取った値を元に残コピー回数を割り出し、デジタルコピーモジュールへ残コピー回数の値を返信する。デジタルコピーモジュールは、この残コピー回数をデジタルコピーライブラリ経由でＢＤ−Ｊアプリケーションに通知する。
【０１１２】
ＢＤ−Ｊアプリケーションは残コピー回数を確認し、１回以上残っていれば、コピー開始をデジタルコピーモジュールへ要求する。このコピー開始要求も、これまでと同様、デジタルコピーライブラリを経由し、通信ポートを用いてデジタルコピーモジュールへ伝えられる。デジタルコピーモジュールはコピー開始要求を受け取ると、コピーを開始し、その間、ＢＤ−Ｊアプリケーションからの要求に応じてコピー進捗状況を随時通知する。なお、コピー中はＩ／Ｏ処理がデジタルコピー実行部６０４に占有されるため、ＢＤ−ＲＯＭ上のコンテンツを正常に再生することができなく恐れがある。そのため、しばらくの間は、再生ができないということ、ディスクを取り出してはいけないということ、及び電源を落としてはいけないということを事前にユーザに通知しておくことが望ましい。とは言え、ユーザが誤ってディスクを取り出したり、電源を落としたりすることは大いに有り得る。しかしながら、復号鍵書込の処理は、この時点では完了しておらず、残コピー回数は減っていないため、ここでデータコピーに失敗しても残コピー回数が減るということはない。デジタルコピーサーバ側で管理している残コピー回数は、次のステップで復号鍵をデジタルコピーサーバからダウンロードした時点で減ることになる。
【０１１３】
ＢＤ−Ｊアプリケーションは、コピー完了通知を受け取ると、復号鍵の書込みをデジタルコピーモジュールへ要求する。デジタルコピーモジュールは復号鍵の書込み要求を受け取ると、現在セットされているパラメータから、コンテンツＩＤ，シリアルＩＤ，メディアＩＤ，ＭＫＢを取り出しデジタルコピーサーバへ、これら４つの値を送る。デジタルコピーサーバは、受け取った値を元に復号鍵を生成し、デジタルコピーモジュールへ復号鍵を返信する。デジタルコピーモジュールは、デジタルコピーサーバから受け取った復号鍵をコピー先メディアに書き込み、書き込みが完了すると、デジタルコピーライブラリを経由してＢＤ−Ｊアプリケーションに書き込み完了を通知する。
【０１１４】
その後デジタルコピーモジュールは、コピー先のメディアの管理ファイルＭＧＲ＿ＤＡＴＡに、ＢＤ−Ｊアプリケーションにより指定されたレジューム再生位置を上書きする。ＢＤ−Ｊアプリケーションによりレジューム再生位置が指定されていない場合、ＭＧＲ＿ＤＡＴＡの上書きは行わない。
【０１１５】
図１２はデジタルコピーライブラリＡＰＩを用いたデジタルコピーのシーケンスを示す図である。デジタルコピーライブラリはＢＤ−Ｊアプリケーションに対し、あたかもＢＤ−Ｊ  ＡＰＩを拡張したかのようなＡＰＩを提供している。実際は、これらのＡＰＩが呼ばれると、デジタルコピーソケットプロトコルに変換し、デジタルコピー用の通信ポートを利用してデジタルコピーモジュールとデータの送受信を行い、ＡＰＩに対応した処理を行う。
【０１１６】
デジタルコピーライブラリがＢＤ−Ｊアプリケーションに提供する主なＡＰＩを以下に示す。
【０１１７】
BCManager#getInstance(): デジタルコピーモジュールを制御するための各種メソッドを持つBCManagerクラスのインスタンスを取得する。再生装置がデジタルコピーに対応していなかった場合はUnsupportedOperationExceptionをスローする。
【０１１８】
BCManager#addBCStatusChangeListener(): デジタルコピーモジュールの状態変化をモニタリングする。デジタルコピーモジュールの状態変化を検知すると、変化した状態をＢＤ−Ｊアプリケーションへ通知する。
【０１１９】
BCManager#initializeBC(): デジタルコピーモジュールの初期化を行う。このＡＰＩが呼ばれると、デジタルコピーライブラリは、図１１に示すフローに従い、デジタルコピーモジュールとの接続を行う。接続に失敗した場合は、UnsupportedOperationExceptionをスローする。初期化が成功すれば、BCInitializedEventをＢＤ−Ｊアプリケーションに通知する。
【０１２０】
BCManager#getDeviceList(): 再生装置がコピー先としてサポートしているメディア一覧（ＳＤカード、ＵＳＢメモリ）を取得する。それぞれのメディアはBCOutputDeviceクラスのインスタンスとして表現される。BCOutputDeviceクラスはインスタンスが示すメディアの種類と番号（ＳＤ＿１、ＵＳＢ＿１）を取得するメソッド(BCOutputDevice#getName)、空き容量を取得するメソッド（BCOutputDevice#getFreeSpace）、及びトータル容量を取得するメソッド（BCOutputDevice#getTotalSpace）を持つ。図１２では、空き容量を取得するメソッド（BCOutputDevice#getFreeSpace）の呼び出しに対する応答として、空き容量の一例として10737418240（byte）を返している。
【０１２１】
BCManager#setServerURL(URL): デジタルコピーモジュールへデジタルコピーサーバＵＲＬをセットする。
【０１２２】
BCManager#setSourceLocation(File srcdir): デジタルコピーモジュールへコピー元のコンテンツ位置をセットする。コンテンツ位置は、携帯端末向けコンテンツが記録されているディレクトリまでの絶対パスで示される（"/mnt/bdrom/EMOVE/DATA01"等）。
【０１２３】
BCManager#setOutputDevice(device): デジタルコピーモジュールへコピー先メディアをセットする。コピー先メディアはBCManager#getDeviceList()で取得できたメディアリストの中から選択される。
【０１２４】
BCManager#setSerialId(byte[]): デジタルコピーモジュールへシリアルＩＤをセットする。
【０１２５】
BCManager#setResumePoint(time): デジタルコピーモジュールへレジューム再生位置をセットする。なお、BCManager#setResumePoint(time)の呼び出しは、デジタルコピーモジュールが後述するＮＯＴ＿ＩＮＩＴ状態以外であれば可能である。
【０１２６】
BCManager#checkTicket():残コピー回数確認をデジタルコピーモジュールへ要求する。デジタルコピーモジュールは残コピー回数の確認が要求されると、現在セットされているパラメータを用いてデジタルコピーサーバへ残コピー回数の問い合わせを行う。得られた残コピー回数はBCCheckResponseクラスのインスタンスとしてＢＤ−Ｊアプリケーションにリターンされる。ＢＤ−ＪアプリケーションはBCCheckResponse#remainingTimesOfCopy()を呼び出すことで残コピー回数を確認することができる。また、残コピー回数が1回以上残っていれば、BCReadyEventがＢＤ−Ｊアプリケーションに通知される。
【０１２７】
BCManager#makeCopy(): デジタルコピーモジュールへコピー開始を要求する。デジタルコピーライブラリはデジタルコピーモジュールへコピー開始を要求した後、ＢＤ−Ｊアプリケーションには進捗状況を示すBCProgressインスタンスをリターンし、コピー処理はデジタルコピーモジュールにおいて非同期で行われる。ＢＤ−ＪアプリケーションはBCProgress#total()を呼び出すことでトータルのコピーバイト数を、BCProgress#remaining()を呼び出すことで残りのコピーバイト数を確認することができる（図１２では、BCProgress#remaining()の呼び出しに対する応答としての残りのコピーバイト数の一例として524288000（byte）を返している）。コピー処理が完了するとBCTransferredEventがＢＤ−Ｊアプリケーションに通知される。
【０１２８】
BCManager#finalizeBC():デジタルコピーモジュールへ復号鍵の書込みを要求する。復号鍵の書込みが完了するとBCCompleteEventがＢＤ−Ｊアプリケーションに通知される。
【０１２９】
BCManager#cancelCopy()：デジタルコピーモジュールのコピー処理をキャンセルする。キャンセルに成功するとBCCancelEventがＢＤ−Ｊアプリケーションに通知される。
【０１３０】
BCManager#close()：デジタルコピーモジュールが確保しているリソースを開放し、デジタルコピープロセスを終了する。
【０１３１】
図１３はデジタルコピーモジュールの状態遷移を示す図である。デジタルコピーモジュールはデジタルコピープロセスの進捗に応じて以下９個の状態を遷移する。
【０１３２】
ＮＯＴ＿ＩＮＩＴ：この状態はデジタルコピーモジュールがまだ初期化されていないことを示す。この状態はＢＤ−ＲＯＭがロードされた時点でのデジタルコピーモジュールの初期状態である。他の状態においてＢＤ−ＪアプリケーションがBCManager#close()を呼び出し、デジタルコピープロセスを終了した場合、デジタルコピーモジュールは再びＮＯＴ＿ＩＮＩＴ状態に戻る。この状態でBCManager#initializeBC()が呼ばれると、ＩＮＩＴＩＡＬＩＺＥＤ状態に遷移し、ＢＤ−ＪアプリケーションへはBCInitializedEventが通知される。
【０１３３】
ＩＮＩＴＩＡＬＩＺＥＤ：この状態はデジタルコピーモジュールが初期化され、ＢＤ−Ｊアプリケーションからデジタルコピープロセスの機能を呼び出せる状態であることを示す。この状態で、ＢＤ−Ｊアプリケーションが必要パラメータ（例えば、BCManager#setServerURL(URL)の呼び出しにより設定されるデジタルコピーサーバのＵＲＬ、BCManager#setSourceLocation(File srcdir)の呼び出しにより設定されるコピー元のコンテンツ位置、BCManager#setOutputDevice(device)の呼び出しにより設定されるコピー先メディア、BCManager#setSerialId(byte[])により設定されるシリアルＩＤ）をセットし、BCManager#checkTicket()を呼び出して残コピー回数が１回以上残っていた場合はＲＥＡＤＹ状態に遷移し、ＢＤ−ＪアプリケーションへはBCReadyEventが通知される。残コピー回数が残っていなかった場合は、ＲＥＡＤＹ状態には遷移せず、ＩＮＩＴＩＡＬＩＺＥＤ状態のままとなる。デジタルコピープロセス実行後、ＲＥＡＤＹ，ＣＡＮＣＥＬＥＤ，ＳＴＯＰＰＥＤ，もしくはＣＯＭＰＬＥＴＥＤ状態においてＢＤ−ＪアプリケーションからBCManager#initializeBC()が呼ばれると、再びＩＮＩＴＩＡＬＩＺＥＤ状態に遷移し、ＢＤ−ＪアプリケーションへはBCInitializedEventが通知される。
【０１３４】
ＲＥＡＤＹ：この状態はデジタルコピープロセスに必要なパラメータが全てセットされ、かつそれらが有効であり、デジタルコピーモジュールのコピー準備が整ったことを示す。この状態でBCManager#makeCopy()が呼ばれると、ＴＲＡＮＳＦＥＲＲＩＮＧ状態へ遷移する。
【０１３５】
ＴＲＡＮＳＦＥＲＲＩＮＧ：この状態は携帯端末向け保護コンテンツのデータコピーが開始されたことを示す。携帯端末向け保護コンテンツのデータコピーが完了するとＴＲＡＮＳＦＥＲＲＥＤ状態へ遷移し、ＢＤ−ＪアプリケーションへはBCTransferredEventが通知される。また、データコピー完了前にBCManager#cancelCopy()が呼ばれると、データコピーはキャンセルされ、ＣＡＮＣＥＬＥＤ状態に遷移し、ＢＤ−ＪアプリケーションへはBCCancelEventが通知される。データコピー中にコピー先メディアが取り出される等により、エラーが発生した場合はＳＴＯＰＰＥＤ状態に遷移し、ＢＤ−ＪアプリケーションへはBCStopByErrorEventが通知される。
【０１３６】
ＴＲＡＮＳＦＥＲＲＥＤ：この状態は携帯端末向け保護コンテンツのデータコピーが完了し、デジタルコピーモジュールにおいて復号鍵書込み準備が整ったことを示す。この状態でBCManager#finalizeBC()が呼ばれると、デジタルコピーモジュールはＦＩＮＡＬＩＺＩＮＧ状態へ遷移する。また、この状態でBCManager#cancelCopy()が呼ばれると、ＣＡＮＣＥＬＥＤ状態に遷移し、ＢＤ−ＪアプリケーションへはBCCancelEventが通知される。
【０１３７】
ＦＩＮＡＬＩＺＩＮＧ：この状態は、デジタルコピーサーバから復号鍵の取得、及びコピー先メディアへ取得した復号鍵の書込み処理が行われていることを示す。一旦この状態に入ると、ＢＤ−ＪアプリケーションはBCManager#cancelCopy()を呼んでもキャンセルできず、キャンセル要求は拒否されることになる。復号鍵書込み中にコピー先メディアが取り出される等により、エラーが発生した場合はＳＴＯＰＰＥＤ状態に遷移し、ＢＤ−ＪアプリケーションへはBCStopByErrorEventが通知される。復号鍵の書込みが完了すると、デジタルコピーモジュールはＣＯＭＰＬＥＴＥＤ状態へ遷移し、ＢＤ−ＪアプリケーションへはBCCompleteEventが通知される。
【０１３８】
ＣＯＭＰＬＥＴＥＤ：この状態は、携帯端末向け保護コンテンツのデータコピー及び対応する復号鍵の書込みが完了し、デジタルコピープロセスが成功したことを示す。ＣＯＭＰＬＥＴＥＤ状態に遷移した際、デジタルコピーモジュールは、コピー先のメディアの管理ファイルＭＧＲ＿ＤＡＴＡに、ＢＤ−Ｊアプリケーションにより指定されたレジューム再生位置を上書きする。またＣＯＭＰＬＥＴＥＤ状態でＢＤ−Ｊアプリケーションからレジューム再生位置が指定された場合、デジタルコピーモジュールは、即座にコピー先のメディアの管理ファイルＭＧＲ＿ＤＡＴＡに指定されたレジューム再生位置を上書きする。ＣＯＭＰＬＥＴＥＤ状態で、BCManager#initializeBC()が呼ばれると、再びＩＮＩＴＩＡＬＩＺＥＤ状態に遷移し、ＢＤ−ＪアプリケーションへはBCInitializedEventが通知される。
【０１３９】
ＣＡＮＣＥＬＥＤ：この状態は、携帯端末向け保護コンテンツのデータコピーが途中でキャンセルされたことを示す。途中までコピー済みのデータは、ＣＡＮＣＥＬＥＤ状態への遷移時にクリアされる。
【０１４０】
ＳＴＯＰＰＥＤ：この状態は、エラー発生により、データコピーもしくは復号鍵書込みが失敗したことを示す。エラー発生の原因としては、空き容量不足、コピー先メディアが書き込み保護されているため、書込みできない、コピー先メディアが途中で取り出された、コピー先メディアが破損しておりＩ／Ｏエラーが発生した等が考えられる。どの原因でコピーに失敗したかは、ＳＴＯＰＰＥＤ状態遷移時に発生するBCStopByErrorEventインスタンスに詳細情報が記録されており、ＢＤ−ＪアプリケーションはBCStopByErrorEventを通してエラー原因を把握することができる。以上がデジタルコピー実行の際に、ＢＤ−Ｊアプリケーションとデジタルコピーライブラリ間でやり取りされるＡＰＩ呼び出しの内容である。
【０１４１】
図１４はデジタルコピーライブラリとデジタルコピーモジュール間でやり取りを行うデジタルコピーソケットプロトコルの一例を示す図である。デジタルコピーライブラリは、ＢＤ−Ｊアプリケーションに対して提供しているデジタルコピーライブラリＡＰＩを対応するデジタルコピーソケットコマンドに変換し、ソケット通信によりデジタルコピーモジュールとデータの送受信を行う。
【０１４２】
図１４では、例えば再生装置がＳＤカードスロットのみをサポートするような構成である場合を例に説明を行う。
【０１４３】
まず、ＢＤ−ＪアプリケーションからBCManager#initializeBCが呼び出され、デジタルコピーモジュールの初期化要求が行われると、デジタルコピーライブラリは、図１１に示すフローに従い、デジタルコピーモジュールとの通信に使うポート番号を特定する。ポートの特定ができれば、そのポートに対しREQUEST_INITIALIZEという文字列のソケットコマンドを送信する。デジタルコピーモジュールはオープン中のポートを通じ、REQUEST_INITIALIZEという文字列を受信すると、初期化要求が行われたと判断し、パラメータ（例えば、以前に設定されたデジタルコピーサーバのＵＲＬ、コピー元のコンテンツ位置、コピー先メディア、シリアルＩＤ）のクリアと状態遷移通知のための非同期イベント用ポートを新規にオープンした後、初期化が完了したという旨を知らせるため、ソケットコマンドを受け取ったポートを通じて、ＯＫという文字列を送信する。デジタルコピーライブラリは、ソケットコマンドを送ったポートから、ＯＫという文字列を受け取ると初期化が完了したとみなす。
【０１４４】
初期化完了後、デジタルコピーライブラリは、GET_ASYNCPORTコマンドを呼び出し、状態遷移通知のための非同期通知用に開かれたポート番号を取得する。すなわち、デジタルコピーソケットプロトコルは２種類のポートで構成され、一つはデジタルコピーソケットコマンド用（同期コマンド）、もう一つはデジタルコピーモジュールの状態遷移通知用（非同期イベント）である。デジタルコピーソケットコマンド用のポートは、デジタルコピーライブラリからデジタルコピーモジュールへコマンドを投げる形でやり取りが行われるが、状態遷移通知用のポートはデジタルコピーモジュールからデジタルコピーライブラリへ一方的にイベントが通知される形となる。ＢＤ−ＪアプリケーションからBCManager#addBCStateChangeListnerが呼ばれると、デジタルコピーライブラリは状態遷移通知用ポートのモニタリングを開始し、デジタルコピーモジュールから送られている状態遷移通知をデジタルコピーライブラリＡＰＩのイベントに変換し、ＢＤ−Ｊアプリケーションに状態遷移を通知することになる。
【０１４５】
続いて、ＢＤ−Ｊアプリケーションから、BCManager#getDeviceListが呼ばれ再生装置がコピー先としてサポートしているメディアのリストが要求されると、デジタルコピーライブラリはGET_DEVICELISTコマンドを呼び出し、デジタルコピーモジュールへサポートしているメディアのリストを要求する。デジタルコピーモジュールはGET_DEVICELISTコマンドに対する応答として、サポートしているメディアのリストをソケットコマンド用のポートを通じて返す。サポートしているメディアのリストは、＜メディアの種類＞＿＜番号＞という形で返され、複数メディアをサポートしている場合は、それぞれ空白文字で区切られる（例：SD_1<sp>USB_1、<sp>は空白文字）。図１４では、再生装置が例えばＳＤカードスロットのみをサポートしている場合にはSD_1が応答として返される例を示している。
【０１４６】
ＢＤ−ＪアプリケーションからBCOutputDevice#getTotalSpaceもしくはBCOutputDevice#getFreeSpaceが呼ばれ、トータル容量、空き容量の情報提供が要求されると、デジタルコピーライブラリはGET_DEVICEINFOコマンドをソケットコマンド用ポートを通じてデジタルコピーモジュールへ送り、トータル容量、空き容量の情報を受け取る。GET_DEVICEINFOコマンドは引数にメディアの種類を指定する。コマンド名と引数の間には空白文字を設ける。例えば、SD_1（種類：ＳＤカード、番号：１）の情報を要求する場合は、GET_DEVICEINFO<sp>SD_1という文字列をソケットコマンド用ポートを通じてデジタルコピーモジュールへ送ることになる。
【０１４７】
続いて、パラメータセットについて説明する。パラメータセットは、SET_SERVERURLコマンドの送信とレスポンス(OK)の受信、SET_SRCLOCATIONコマンドの送信とレスポンス(OK)の受信、SET_OUTPUTDEVICEコマンドの送信とレスポンスの受信、SET_SERIALIDコマンドの送信とレスポンスの受信(OK)、SET_RESUMEコマンドの送信とレスポンスの受信(OK)から構成される。ただし、SET_RESUMEコマンドはＮＯＴ＿ＩＮＩＴ状態以外であれば、いつでも呼び出すことが可能である。
【０１４８】
デジタルコピーに必要なパラメータをセットする場合も同様に、デジタルコピーソケットコマンドを通じてデジタルコピーライブラリからデジタルコピーモジュールへ値が伝わり、デジタルコピーモジュール内にパラメータがセットされる。既にパラメータがセット済みである場合、上記コマンドが成功完了した際、直前のパラメータは、新たなパラメータにより上書きされる。コマンド名と引数は空白文字で区切る。例えば、"SET_RESUME 1000000"というコマンドがデジタルコピーライブラリからデジタルコピーモジュールへ送られてきた場合、レジューム再生位置はコンテンツの先頭から1000秒経過の地点であることを意味する。
【０１４９】
必要なパラメータのセットが完了し、ＢＤ−ＪアプリケーションからBCManager#checkTicket()が呼ばれると、デジタルコピーライブラリは、デジタルコピーモジュールへREQUEST_CHECKTICKETコマンドを送る。デジタルコピーモジュールは、REQUEST_CHECKTICKETコマンドを受け取ると、セットされたパラメータを元に、コンテンツＩＤ，シリアルＩＤ及びメディアＩＤを取り出し、デジタルコピーサーバへこれら３つの値を送って残コピー回数を確認する。デジタルコピーサーバから得られた残コピー回数は、REQUEST_CHECKTICKETコマンドの戻り値として、デジタルコピーライブラリへ渡す。
【０１５０】
続いてＢＤ−ＪアプリケーションからBCManager#makeCopy()が呼ばれると、デジタルコピーライブラリは、デジタルコピーモジュールへREQUEST_COPYコマンドを送り、コピー開始を要求する。デジタルコピーモジュールは、残コピー回数が１回以上残っていることが確認できれば、データコピーを開始し、REQUEST_COPYコマンドの戻り値としてＯＫを返す。データコピー中にBCProgress#remaining()、もしくはBCProgress#total()がＢＤ−Ｊアプリケーションから呼び出されると、デジタルコピーライブラリはGET_PROGRESSコマンドをデジタルコピーモジュールに送り、デジタルコピーモジュールから、トータルのコピーバイト数と残りバイト数を得て、ＢＤ−Ｊアプリケーションへその値を返す。データコピーが完了すると、デジタルコピーモジュールはTRANSFERREDに遷移し、非同期イベント用のポートを通じて、デジタルコピーライブラリへTRANSFERREDに遷移したことが通知される。
【０１５１】
データコピー完了後、ＢＤ−ＪアプリケーションからBCManager#finalizeBC()が呼ばれると、デジタルコピーライブラリは、デジタルコピーモジュールへREQUEST_FINALIZEコマンドを送る。デジタルコピーモジュールは、REQUEST_FINALIZEコマンドを受け取ると、セットされたパラメータを元に、コンテンツＩＤ，シリアルＩＤ、メディアＩＤ及びＭＫＢを取り出し、デジタルコピーサーバへこれら４つの値を送って復号鍵を得る。デジタルコピーモジュールは、得られた復号鍵をコピー先メディアの保護領域へ書き込み、書き込み処理が完了すると、非同期イベント用のポートを通じて、デジタルコピーライブラリへCOMPLETEDに遷移したことを通知する。その後、デジタルコピーモジュールは、コピー先のメディアの管理ファイルＭＧＲ＿ＤＡＴＡに、SET_RESUMEコマンドにより指定されたレジューム再生位置を上書きする。COMPLETED状態でSET_RESUMEコマンドによりレジューム再生位置が指定された場合は、デジタルコピーモジュールは、即座にコピー先のメディアの管理ファイルＭＧＲ＿ＤＡＴＡに指定されたレジューム再生位置を上書きする。
【０１５２】
以上がデジタルコピーライブラリとデジタルコピーモジュール間でやり取りされるデジタルコピーソケットプロトコルの内容である。上述したように、デジタルコピーライブラリとデジタルコピーモジュール間でやり取りされるコマンド、イベント通知は全て再生装置内のローカル通信（ポートを用いたソケット通信）で行われる。残コピー回数の確認及び復号鍵の取得に関しては、デジタルコピーモジュールとデジタルコピーサーバ間でグローバル通信が行われる。
【０１５３】
図１５はデジタルコピープロセスにおけるデータの流れを示す図である。デジタルコピープロセスにおいて扱う主なデータは、シリアルＩＤ，コンテンツＩＤ，メディアＩＤ（ＭＩＤ）、ＭＫＢ、再生時刻情報、レジューム再生位置、携帯端末向け保護コンテンツ、及び復号鍵、である。シリアルＩＤはＢＤ−Ｊアプリケーションが指定したものが、デジタルコピーライブラリに渡され、それがソケット通信ＡＰＩを通じて、デジタルコピーモジュールに渡される。コンテンツＩＤに関しては、ＢＤ−Ｊアプリケーションが指定したディスク上の保護コンテンツ格納ディレクトリ（ＤＡＴＡｘｘディレクトリ）の配下にあるＥＭＯＶ＿ＩＮＦファイルから読み取る。メディアＩＤ，ＭＫＢに関しては、ＢＤ−Ｊアプリケーションが指定したコピー先のリムーバブルメディアのシステム領域からデジタルコピーモジュールが読み取る。再生時刻情報は、ＢＤ−Ｊアプリケーションにより、ＰＳＲセットのＰＳＲ（８）またはＰＳＲ（２８）から読み取られる。レジューム再生位置は、ＢＤ−Ｊアプリケーションにより、４５ｋＨｚの再生時刻情報をミリ秒単位に変換して得られる。そしてレジューム再生位置は、デジタルコピーライブラリに渡され、ソケット通信ＡＰＩを通じて、デジタルコピーモジュールに渡される。
【０１５４】
デジタルコピーモジュールは、ＢＤ−Ｊアプリケーションからセットされたパラメータを元に得られるシリアルＩＤ，コンテンツＩＤ，メディアＩＤ（ＭＩＤ）、ＭＫＢをデジタルコピーサーバへ送り、デジタルコピーサーバから復号鍵を得て、その復号鍵をコピー先メディアの保護領域に書き込む。また、デジタルコピーモジュールは、ソケット通信ＡＰＩを通じて指定されたレジューム再生位置を、コピー先メディアの管理ファイルＭＧＲ＿ＤＡＴＡに書き込む。以上がデジタルコピープロセスにおいて扱う主なデータの流れである。
【０１５５】
また、コピー先のメディアの保護領域に書き込まれる復号鍵は例えばデジタルコピーによりコピー先のメディアのユーザ領域にコピーされた携帯端末向け保護コンテンツに含まれる暗号化されたデータを復号するためのキー情報（タイトルキー）が含まれている。復号鍵は、コピー先のメディアのシステム領域に記録されたＭＫＢを用いて復号できるように暗号化されている。
【０１５６】
なお、携帯端末において、上述のコピー先のメディアにデジタルコピーがなされた携帯端末向け保護コンテンツを利用する場合には、コピー先のメディアの保護領域に書き込んだ暗号化された復号鍵をコピー先のメディアのシステム領域に記録されたＭＫＢを用いて復号し、復号鍵に含まれるキー情報（タイトルキー）を取り出し、取り出したキー情報を用いて、携帯端末向け保護コンテンツに含まる暗号化されたデータ（デジタルストリーム）を必要に応じて復号して利用する（この場合、復号して再生する）。
【０１５７】
図１６はＢＤ−ＪアプリケーションからネットワークＡＰＩを使って通信を行う経路を示す図である。前述したように、本実施の形態においては、従来のネットワークＡＰＩであるソケット通信ＡＰＩを端末内部に向けることで、ＢＤ−ＪモジュールのＡＰＩとしては規定されていない端末固有の機能を呼び出すことが可能となる。従来のＢＤ−ＲＯＭ上ＢＤ−ＪアプリケーションにおけるネットワークＡＰＩの利用方法は、主に外部サーバとの接続に用いられ、特典映像や追加字幕・アプリケーションなどの追加コンテンツのダウンロード用として使われてきた。これらのＡＰＩを全く拡張するとなく同一端末間のローカル通信を形成することで、ＢＤ−Ｊアプリケーションから見れば、現在実行中の再生端末がまるでサーバのようにアクセスすることが可能となり、規定のＡＰＩにとらわれない様々な機能を呼び出すことが可能となる。
【０１５８】
続いて、ＢＤ−Ｊアプリケーションによるレジューム再生位置指定について説明する。図１７は、再生時刻情報のコピーの様子を示す図である。本図に示されるように、ＢＤ−Ｊアプリケーションは、デジタルコピーを行う際、再生時刻情報もコピーするかどうかをユーザに問い合わせる。再生時刻情報をコピーすることがユーザに選択された場合、ＢＤ−ＪアプリケーションはＰＳＲセット４２１から再生時刻情報を読み出し、読み出したパラメータに基づきコピー先のレジューム再生位置をデジタルコピーモジュールに指定する。デジタルコピーモジュールは、ＢＤ−Ｊアプリケーションからの命令に基づき、コピー先のレジューム再生位置を指定したデジタルコピーを行う。再生時刻情報のコピーが選択されない場合、ＢＤ−Ｊアプリケーションは、コピー先のレジューム再生位置をデジタルコピーモジュールに指定しない。デジタルコピーモジュールは、ＢＤ−Ｊアプリケーションからの命令に基づき、コピー先のレジューム再生位置を指定せずデジタルコピーを行う。また、常にコピー先のレジューム再生位置を指定したデジタルコピーを行ってもよい。
【０１５９】
次に、レジューム再生位置の指定処理について説明する。図１８は、ＢＤ−Ｊアプリケーションによるデジタルコピーモジュールへのレジューム再生位置の指定処理を示すフローチャートである。本図に示されるようにまず、ＢＤ−Ｊアプリケーションは、現在の再生時刻情報をＰＳＲセット４２１のＰＳＲ（８）もしくはバックアップレジスタＰＳＲ（２８）から再生時刻情報を取得する（ステップＳ２０１）。本編がＨＤＭＶモードであれば、レジュームポイントはバックアップレジスタであるＰＳＲ（２８）に設定されるため、ＰＳＲ（２８）の再生時刻情報を取得する。一方、本編がＢＤ−Ｊモードの場合は、バックアップレジスタが利用されないため、ＰＳＲ（８）に格納されている現在の再生時刻情報を取得する。
【０１６０】
再生時刻情報の取得後、ＢＤ−Ｊアプリケーションは、ＰＳＲセット４２１から取得した再生時刻情報の値をミリ秒単位に変換する（ステップＳ２０２）。ＰＳＲ（８）またはＰＳＲ（２８）から取得される再生時刻情報が４５ｋＨｚクロック単位であるのに対して、コピー先のＭＧＲ＿ＤＡＴＡに指定するレジューム再生位置がミリ秒単位であるため、この単位変換処理が必要となる。
【０１６１】
単位変換処理後、ＢＤ−Ｊアプリケーションは、デジタルコピーモジュールにレジューム再生位置を指定する（ステップＳ２０３）デジタルコピーモジュールへのレジューム再生位置の指定には、SET_RESUMEコマンドを用いる。SET_RESUMEコマンドで指定されたレジューム再生位置は、デジタルコピー実施時に、コピー先メディアの管理ファイルＭＧＲ＿ＤＡＴＡに再生位置情報として記録される。なお、SET_RESUMEコマンドはNOT_INIT状態以外であれば、いつでも呼び出すことが可能である。ただし、コピー先ＳＤメモリーカードのＭＧＲ＿ＤＡＴＡに反映されるタイミングは、復号鍵書込み後、すなわちCOMPLETED状態への遷移時となる。もし、すでにCOMPLETED状態でSET_RESUMEコマンドを呼び出した場合は、SET_RESUMEコマンドで指定したレジューム再生位置が即座にコピー先メディアのＭＧＲ＿ＤＡＴＡに反映されることになる。以上が、ＢＤ−Ｊアプリケーションによるデジタルコピーモジュールへのレジューム再生位置の指定処理についての説明である。続いて、上記処理により指定されたレジューム再生位置を用いたデジタルコピー処理について説明する。
【０１６２】
図１９は、デジタルコピーモジュールにおけるデジタルコピー処理を示すフローチャートである。本図に示されるとおり、デジタルコピーモジュール４２４は、まず挿入されているディスク上に携帯端末向け保護コンテンツが存在するかどうかを確認する（ステップＳ３０１）。携帯端末向け保護コンテンツは、ディスク上のルートディレクトリ直下の"EMOVE"ディレクトリの配下に記録されている。デジタルコピーモジュール４２４は、この"EMOVE"ディレクトリが存在するかどうかで、ディスク上に携帯端末向け保護コンテンツが存在するかどうかを判断する。なお、"EMOVE"ディレクトリの有無で判断するのではなく、他に携帯端末向け保護コンテンツの存在を示すファイルを予め決めておき、そのファイルの有無でディスク上に携帯端末向け保護コンテンツが存在するかどうかを判断してもよい。
【０１６３】
携帯端末向け保護コンテンツが存在しなかった場合（ステップＳ３０１，ＮＯ）は、デジタルコピープロセスを中断する。携帯端末向け保護コンテンツが存在する場合（ステップＳ３０１，ＹＥＳ）、デジタルコピーモジュール４２４はデジタルコピーソケットコマンド用通信ポートを指定してサーバソケットを作成する（ステップＳ３０２）。携帯端末向け保護コンテンツが存在する場合のみサーバソケットを作成する理由は、常にサーバソケットを開いた状態にしておくと、無駄にポートを空けている時間が長くなり、不必要なリソースを消費するということと不正アプリケーションからの攻撃の恐れがあるということから、ポートを開いている時間は極力短時間にするのが望ましい。そのため、ステップＳ３０１で携帯端末向け保護コンテンツが存在する場合のみ、サーバソケットを作成し、ポートを開く。ポートを開く時間を極小化する他の方法としては、ＢＤ−Ｊアプリケーション動作中のみ（すなわち、ＢＤ−Ｊタイトル再生中のみ）サーバソケットを作成しポートを開く、もしくはＢＤ−Ｊアプリケーションからポートオープンの命令を受け取ってからポートを開く等が考えられる。ポートオープン命令はポートが閉じられた状態で行われることになるので、ＢＤ−Ｊアプリケーションからポートオープンの命令を受け取るには、ポート通信以外の方法で受け取らなければならない。そのためにＡＰＩを追加するというのであれば、本発明の趣旨と矛盾する（本発明の趣旨は互換性維持のため一切のＡＰＩ追加を行わないということである）ため、ＡＰＩの追加なしで命令を受け取る必要がある。ポートオープンの命令を示す案としては、例えば、汎用のシステムプロパティＡＰＩを用い、ＢＤ−Ｊアプリケーションから、予め決められたプロパティにある値がセットされたとき、もしくは汎用レジスタの中から、ある一つに対して予め決められた値がセットされたときに、ポートオープンの要求がなされたとみなすことができる。システムプロパティＡＰＩを用いる場合は例えば、"digitalcopy.portstatus"というプロパティ名を用意しておき、そのプロパティ名の示す値に"OPEN"を設定すると、ポートを開くという手段が考えられる。
【０１６４】
デジタルコピーモジュール４２４は、ステップＳ３０２でサーバソケットを作成し、デジタルコピーソケットコマンド用通信ポートを開くと、そのポートに対してＢＤ−Ｊアプリケーション（デジタルコピーライブラリを含む）が接続してくるのを待つ（ステップＳ３０３）。ＢＤ−Ｊアプリケーションからの接続要求は図１４で説明したように、予め決められたコマンド文字列（もしくはバイナリデータでも良い）をデジタルコピーモジュールとＢＤ−Ｊアプリケーション（デジタルコピーライブラリ）間で相互に交換し、お互いが送り合うデータが期待値と一致しているかどうか、相互確認できたところで完了する。当然ながら、お互いが送り合うデータが期待値と一致していなかった場合は、不正とみなし、以後の処理を中断する（ステップＳ３０４）。
【０１６５】
ステップＳ３０４でデジタルコピーモジュールはＢＤ−Ｊアプリケーションとの接続に成功したと判断した場合、次にＢＤ−Ｊアプリケーションからデジタルコピーのコピー先候補のリスト（再生装置がサポートしているコピー先メディア一覧）を要求してくるのを待ち、通信ポートを介してその要求を受け取ると、この再生装置において携帯端末向け保護コンテンツのコピー先としてサポートしているメディアの確認を行う（ステップＳ３０５）。携帯端末向け保護コンテンツのコピー先としてサポートしているメディアがなければ（ステップＳ３０５，ＮＯ）デジタルコピーを中断する。サポートしているメディアがあれば（ステップＳ３０５，ＹＥＳ）、そのメディアのリストを同じく通信ポートを介してＢＤ−Ｊアプリケーションに送信する（ステップＳ３０６）。デジタルコピーモジュールはこの時点で空き容量が不足しているかどうかを先行して判断することができるが、ステップＳ３０６で返すメディアのリストには空き容量が不足しているメディア及びまだ挿入されていないメディアも含めてＢＤ−Ｊアプリケーションに渡す。理由は、空き容量が不足しているものを除いて渡してしまうと、再生装置がサポートしていないから、リストにないのか空き容量が不足しているからリストにないのかの判断がつかないためである。再生装置はサポートしているが、空き容量が不足している場合はユーザがそのメディア上の不要ファイルを削除するなどして空き容量を確保するという選択を取ることができるため、ステップＳ３０６で返すリストには空き容量が不足しているものも含めるのが望ましい。同様の理由でリストには未挿入メディアも含めておけば、メディアの挿入し忘れをユーザに通知することができる。なお、空き容量が不足している、もしくはメディアが未挿入であると予め判断できたメディアには、空き容量が不足している、もしくはメディアが未挿入であるというマーク（もしくはフラグ）をつけてもよい。
【０１６６】
次に、ＢＤ−Ｊアプリケーションは得られたコピー先候補のリストをユーザに提示し、ユーザが選んだメディアをデジタルコピーモジュールに通知する（ステップＳ３０７）。そしてデジタルコピーモジュールは、選択されたメディアにコピーを行うための十分な空き容量があるかどうか、及び残コピー回数が残っているかどうかを確認する（ステップＳ３０８）。空き容量がない、もしくは残コピー回数が残っていない場合（ステップＳ３０８，ＮＯ）、デジタルコピーモジュールは、ＢＤ−Ｊアプリケーションに容量不足もしくは残コピー回数がない旨を通知する。残コピー回数の確認はデジタルコピーサーバへの問い合わせが必要となる。ＢＤ−Ｊアプリケーションは容量不足の通知をデジタルコピーモジュールから受け取った場合は、再度ステップＳ３０７に戻り、別のメディアの選択を行わせるか、ユーザに不要ファイルの削除を促す、もしくは同一種類のメディアでより容量の大きいものに交換する等のメッセージを表示する。なお、ステップＳ３０８の空き容量確認は、コピー先メディアのユーザ領域だけでなく、保護領域の空き容量も確認する必要がある。保護領域にすでに他のコンテンツ復号鍵が書き込まれており、復号鍵を追加で書き込む余地がなければ、ユーザ領域に空きがあったとしても、容量不足の通知をＢＤ−Ｊアプリケーションに通知する必要がある。万一、保護領域の空き容量チェックを怠った場合は、デジタルコピープロセスの最後のステップである復号鍵の書き込み時点で失敗することになり、ユーザにとっては時間のロスとなるばかりか、デジタルコピーサーバから復号鍵のダウンロードが完了しているために最悪の場合コピー権利を無駄に一つ消費してしまうことになりかねない。よって、ステップＳ３０８の空き容量確認は、ユーザ領域だけでなく保護領域の空き容量チェックも不可欠である。
【０１６７】
ステップＳ３０８で残コピー回数が残っており、かつコピー先のメディアに十分な空き容量があると判断できれば（ステップＳ３０８，ＹＥＳ）、デジタルコピーモジュールはディスク上の携帯端末向け保護コンテンツを指定されたメディアへコピーする（ステップＳ３０９）。この間、ＢＤ−Ｊアプリケーションはデジタルコピーモジュールにコピーの進捗を問い合わせることで、現在のコピー進捗を把握することができ、コピー進捗状況をユーザに表示することができる。
【０１６８】
携帯端末向け保護コンテンツのデータコピーが完了すると、デジタルコピーモジュールは携帯端末向け保護コンテンツを復号するための復号鍵をデジタルコピーサーバから取得する（ステップＳ３１０）。具体的には、デジタルコピーモジュールは、シリアルＩＤ，コンテンツＩＤ，メディアＩＤ，ＭＫＢの４つのデータをネットワークＩ／Ｆを介してデジタルコピーサーバに送信する。デジタルコピーサーバは、サーバが持つ秘密鍵を元にコピー先メディアで携帯端末向け保護コンテンツを復号するための復号鍵をサーバ側で作成する。そして、デジタルコピーモジュールは、サーバ側で作成された復号鍵を取得する。その後デジタルコピーモジュールは、コピー先の保護領域に取得した復号鍵の書込みを行う（ステップＳ３１１）。なお、デジタルコピーサーバへの接続ＵＲＬは再生装置が保有する固定のものを利用してもよいし、ＢＤ−Ｊアプリケーションから指定されたＵＲＬを用いても良い。デジタルコピーサーバはコンテンツ提供者毎、地域毎に異なるサーバになる可能性がある。よって、ＢＤ−Ｊアプリケーションから通信ポートを介して指定されたＵＲＬを使ってデジタルコピーサーバへ接続するのが望ましい。
【０１６９】
復号鍵の書き込み後、デジタルコピーモジュールは、SET_RESUMEコマンドによりＢＤ−Ｊアプリケーションからレジューム再生位置がセットされているか確認する（ステップＳ３１２）。ＢＤ−Ｊアプリからレジューム再生位置が指定されている場合（ステップＳ３１２，ＹＥＳ）、デジタルコピーモジュールは、コピー先のメディアの管理ファイルＭＧＲ＿ＤＡＴＡに、ＢＤ−Ｊアプリケーションにより指定されたレジューム再生位置を上書きする（ステップＳ３１３）。ＢＤ−Ｊアプリケーションからレジューム再生位置が指定されていない場合（ステップＳ３１２，ＮＯ）、ＭＧＲ＿ＤＡＴＡの上書きは行わず、デジタルコピー処理を終了する。
【０１７０】
このように、SET_RESUMEコマンドは、NOT_INIT状態以外であれば、いつでも呼び出すことが可能であるが、SET_RESUMEコマンドにより指定されたレジューム再生位置がコピー先のメディアに反映されるのは、復号鍵書き込み後のCOMPLETED状態への遷移時となる。また、COMPLETED状態でSET_RESUMEコマンドを呼び出した場合は、SET_RESUMEコマンドで指定したレジューム再生位置が即座にコピー先ＳＤメモリーカードのＭＧＲ＿ＤＡＴＡに反映されることになる。
【０１７１】
以上のように本実施形態によれば、ディスク上のＢＤ−Ｊアプリケーションから、ＰＳＲセットから再生時刻情報を読み出し、既存のＡＰＩとしてサポートされている通信用プログラミングインターフェイスを用いてソケット接続を行い、ソケット接続を通じて、読み出したレジューム情報に基づく再生位置をコピー制御部に指定し、携帯端末向けデジタルストリームのコピーの制御を行うので、一切のＡＰＩ追加なしで、再生装置で中断した位置を引き継いだ携帯端末向けコンテンツのコピーという特殊機能の制御をＢＤ−Ｊアプリケーションから制御することができる。
（実施の形態２）
実施の形態１では、ＡＰＩを追加せず、再生装置で中断した位置を引き継いだ携帯端末向けコンテンツのコピーという特殊機能の制御をＢＤ−Ｊアプリケーションから制御することを可能とする構成について述べたが、ディスク上のアプリケーションが制御できる範囲が拡大するとセキュリティの懸念が生まれてくるため、実施の形態２では、よりセキュリティを強化した実施の形態の変形例について説明する。なお、実施の形態２では前述の実施の形態１と同様の部分は省略し、実施の形態１との変更点のみを記載している。記載していない部分は実施の形態１と同様と捉えてよい。
【０１７２】
図１８は従来におけるアプリケーションの署名検証を示す図である。ＢＤ−Ｊアプリケーション７０１が正当かどうかの検証は、ＢＤ−Ｊアプリケーションを構成するＪＡＲファイル内に記録されたデジタル署名とディスク上のルート証明書(discroot.crt)を元に署名検証を行うことで成される。具体的にはＪＡＲファイル内のデジタル署名をルート証明書を元に復号して得られるハッシュ値と、ＪＡＲファイルを構成する個々のクラスファイルのハッシュ値が一致しているかどうかを確認し、一致していればＪＡＲファイルは正当であり、一致していなければ何らかの不正があったとみなされる。しかしながら、この検証方法では、ルート証明書とＪＡＲファイル内のデジタル署名の両方が対になっていれば、検証にパスするので、正当なルート証明書を保有するコンテンツ提供者が不正にＪＡＲファイルを作成した場合は、それを検知する術はなく、実施の形態１で述べたように、再生装置の固有機能を開放してしまうと、正当なルート証明書を保有する全てのコンテンツ提供者は自由に再生装置の固有機能を利用できてしまうことになる。
【０１７３】
図１９は、再生装置が保有するデジタル証明書をベースとした署名検証を示す図である。ＢＤ−Ｊアプリケーションを構成するＪａｒファイル内にディスク上のルート証明書をベースとしたデジタル署名に加え、再生装置固有のデジタル証明書をベースとしたデジタル署名も付与する。具体的にはＪａｒファイル内に格納された個々のクラスファイルのハッシュ値がリスト化されたマニフェストファイル（ＭＡＮＩＦＩＥＳＴ．ＭＦ）のハッシュ値を、再生装置固有のデジタル証明書に対応した秘密鍵で暗号化した値を再生装置固有のデジタル署名としてＪａｒファイル内に記録する。再生装置側では、従来のルート証明書をベースとした署名検証に加え、再生装置固有の証明書をベースとした署名検証も実施する。
【０１７４】
図２０は、署名検証の結果に応じた機能制限を示す図である。再生装置固有の機能をＢＤ−Ｊアプリケーションから呼び出すためには、従来のルート証明書をベースとしたデジタル署名だけでは不十分であり、加えて再生装置固有のデジタル署名を用意しなければならない。再生装置固有のデジタル署名は、再生装置固有の証明書に対応した秘密鍵がなければ作成できないため、第三者が不正に再生装置固有のデジタル署名を用意して、再生装置固有の機能を悪用するということを防ぐことができる。しかも、たとえ再生装置固有のデジタル署名検証に失敗したとしても、従来の共通機能の呼び出しに関しては何ら影響を与えることはないので、共通機能部分に関しては互換性を保つことができる。
図２１は、装置固有機能を利用するため接続要求時における処理のフローチャートである。本フローチャートは実施の形態１におけるステップＳ３０３に対応しており、セキュリティ面で強化されている点が異なる。まず、デジタルコピーモジュールは接続要求を行っているＢＤ−Ｊアプリケーションに装置固有のデジタル署名が付与されているかどうかを判断する（ステップＳ４０１）。装置固有のデジタル署名が付与されていなければ、接続要求を拒否し、以降の通信ポートを介した要求には再生装置は何も応じない、もしくはポートを閉じて一切の通信を拒否してもよい。
【０１７５】
ステップＳ４０１で装置固有のデジタル署名が付与されていると判断できた場合、再生装置は各クラスファイルのハッシュ値の取得を行う（ステップＳ４０２）。各クラスファイルのハッシュ値はＪａｒファイルのマニフェストファイルに記載されているため、それらのハッシュ値がリスト化されているマニフェストファイルのハッシュ値を計算するだけでもよい。
【０１７６】
次に再生装置が持つ固有のデジタル証明書を用いて、ＢＤ−Ｊアプリケーションに付与された装置固有のデジタル署名を復号し、デジタル署名に記されたハッシュ値を導き出す（ステップＳ４０３）。そして、ステップＳ４０２とステップＳ４０３で取得されたハッシュ値が一致していれば、デジタル署名は正しく付与されていると判断し、一致していなければ、不正なデジタル署名であると判断する（ステップＳ４０４）。不正なデジタル署名と判断した場合、ステップＳ４０１でデジタル署名が付与されていなかった場合と同様、以降は通信ポートを介した再生装置固有の機能呼び出しには全く応じないことになる。
【０１７７】
デジタル署名が正しいと判断すると、暗号化通信路の生成を行う（ステップＳ４０５）。具体的には、再生装置が持つデジタル証明書をＢＤ−Ｊアプリケーション側に送り、ＢＤ−Ｊアプリケーションは送られてきたデジタル証明書で暗号化通信ソケット（ＳＳＬソケット）を作成する。通常のソケット（例えばソケットコマンドおよびその応答）は暗号化されず非暗号でデータがやりとりされるが、ＳＳＬソケットは送られてきたデジタル証明書で暗号化してデータをやりとりすることになる。すなわち、通信ポートを介した再生装置とＢＤ−Ｊアプリケーション間の相互にやりとりするデータは通信路上において全て暗号化されることになる。なお、ＳＳＬソケット作成用に再生装置がＢＤ−Ｊアプリケーションに送るデジタル証明書（サーバ証明書）は、装置固有機能を利用するために用いられるデジタル証明書とは別にしてもよい。この場合、再生装置は暗号化通信用と固有機能用の２種類のデジタル証明書を用意する。
【０１７８】
加えて、再生装置の不正を防ぐために、ＢＤ−Ｊアプリケーション側で再生装置から送られてくるサーバ証明書の正当性を検証してもよい。例えば、無秩序にコピー可能な再生装置が出回る恐れもあるため、ＢＤ−Ｊアプリケーション側でも再生装置の正当性を検証するのが望ましい。再生装置から送られてくるサーバ証明書を検証し、もしそのサーバ証明書がブラックリストに載っていれば、その再生装置ではデジタルコピー等の実施をＢＤ−Ｊアプリケーション側で止めることができる。
【０１７９】
以上、再生装置側はＢＤ−Ｊアプリケーションに付与されたデジタル署名を、ＢＤ−Ｊアプリケーション側は再生装置から送られてくるサーバ証明書を検証し、かつ、通信ポートを介したデータのやりとりはＳＳＬによる暗号化が施されるため、不正なＢＤ−Ｊアプリケーション、不正な再生装置を排除し、かつ通信路上のデータを不正取得・利用とするハッカーからの攻撃を防ぐことができる。
（実施の形態３）
実施の形態１〜２では、コピー元とコピー先の記録媒体が異なるケースについてデジタルコピーを実施するための構成について述べたが、実施の形態３では、コピー元とコピー先の記録媒体が同一の場合における実施の形態について説明する。なお、実施の形態３では前述の実施の形態１〜２と同様の部分は省略し、実施の形態１〜２との変更点のみを記載している。記載していない部分は実施の形態１〜２と同様と捉えてよい。
【０１８０】
図２４はコピー元とコピー先が同一記録媒体におけるデジタルコピーを示す図である。コピー元とコピー先が同一になるケースの一つとして、対象となる携帯端末向け保護コンテンツがＢＤ−ＲＯＭ上に存在せず、ＢＤ−Ｊアプリケーションが外部ネットワークを経由してサーバから携帯端末向け保護コンテンツをダウンロードすることが考えられる。しかしながら、図６で示したように、追加コンテンツ領域とビデオコンテンツ領域は分けられているため、ＢＤ−Ｊアプリケーションは直接ビデオコンテンツ領域にダウンロードすることはできない。ＢＤ−Ｊアプリケーションが自由にアクセスできる領域はアプリケーションが属するＯｒｇａｎｉｚａｔｉｏｎと同一のＯｒｇａｎｉｚａｔｉｏｎディレクトリ以下のみとなる。このようにアクセス範囲が決められているのは別のＯｒｇａｎｉｚａｔｉｏｎのコンテンツを勝手に抜き取ったり削除したりすることを防ぐためである。したがって、ＢＤ−Ｊアプリケーションは追加で携帯端末向け保護コンテンツをダウンロードする場合、まずはＯｒｇａｎｉｚａｔｉｏｎディレクトリ以下に一旦格納する。そして、Ｏｒｇａｎｉｚａｔｉｏｎディレクトリに格納されたデジタルコピーコンテンツを、同一端末間ローカル通信を介して端末固有機能を呼び出し、ビデオコンテンツ領域に移動させるという手順となる。
【０１８１】
図２５はコピー元とコピー先が同一記録媒体におけるデジタルコピーに対応したフローチャートである。コピー元とコピー先が同一記録媒体となるデジタルコピーにおいては、ステップＳ３０１で行っていた、挿入されているディスク上に携帯端末向け保護コンテンツが存在するかどうかを確認するステップは不要となる。なぜならば、ディスク上に携帯端末向け保護コンテンツが存在しなくても対象となる携帯端末向け保護コンテンツがローカルストレージ上に記録されている可能性があるためである。本実施の形態においてポート開放時間を極小化する場合は、携帯端末向け保護コンテンツが存在するかどうかではなく、実施の形態１でも述べたようにＢＤ−Ｊアプリケーション動作中のみ（すなわち、ＢＤ−Ｊタイトル再生中のみ）ポートを開放する、もしくはＢＤ−Ｊアプリケーションからポート開放の命令を受け取ってから開放する等の処理を行うことになる。
【０１８２】
ステップＳ３０４においてＢＤ−Ｊアプリケーションとの接続に成功した場合、デジタルコピーモジュールは次にＢＤ−Ｊアプリケーションからコピー対象となる携帯端末向け保護コンテンツの格納位置が指定されるのを待つ（ステップＳ５０１）。コピー対象となる携帯端末向け保護コンテンツの格納位置は、メディアの種類を含んだ絶対パスとなる。例えばＢＤ−ＲＯＭ上であれば、指定される絶対パスは"/mnt/bdrom/EMOVE/DATA01"等になり、ローカルストレージ（ＳＤメモリカード等）上であれば"/mnt/sdcard/BUDA/081A24ED/12345ABC/EMOVE/DATA01"等になる。この場合、"/mnt/bdrom"はBD-ROMメディアのマウントポイントに当たり、"/mnt/sdcard"はSDメモリカードのマウントポイントに当たる。すなわち、ＢＤ−Ｊアプリケーションより指定されるファイルパス情報の中にメディアのマウントポイントを含めることで、デジタルコピーモジュールはコピー対象の携帯端末向け保護コンテンツがどのメディア上にあるのか判断することができる。
【０１８３】
ステップＳ５０１で取得したコピー対象の位置情報、及びその位置情報から判断できるメディアの種類は、ステップＳ３０７において選択されたメディアの種類との比較に用いる（ステップＳ５０２）。ステップＳ５０１で指定されたメディア（すなわちコピー元のメディア）とステップＳ３０７で指定されたメディア（すなわちコピー先のメディア）が同一でなければ、ステップＳ３０８で残コピー回数及び空き容量の確認を行い、同一の場合は空き容量の確認をスキップして残コピー回数の確認のみ行う（ステップＳ５０３）。デジタルコピーモジュールはステップＳ５０３で残コピー回数が残っていると判断した場合、ステップＳ５０１で指定されたコピー対象を、同一メディア内のビデオ領域にムーブする（ステップＳ５０４）。同一メディア内のムーブの場合、実際のデータコピーは不要であり、ファイルの管理情報書き換えだけで済むため、短時間で処理が終わる。そのため、ＢＤ−Ｊアプリケーションによるユーザへの進捗表示はスキップしてもよい。
【０１８４】
なお、本実施例では、同一メディアにおけるデジタルコピーについては、不必要にメディア容量を消費しない、かつデータコピーを短時間で終えることができるという観点からムーブを前提に記載したが、十分な空き容量が存在する場合、またはコピー対象となるコンテンツのサイズが小さい場合は、元となるファイルを残してコピーを行っても良い。
【０１８５】
以上の構成によれば、ＢＤ−ＲＯＭ上に予め携帯端末向け保護コンテンツが記録されていなくとも、追加で携帯端末向け保護コンテンツをダウンロードし、かつデジタルコピー処理プロセスの中でコンテンツのムーブを行うことで、デジタルコピーを実施することが可能となる。また、ダウンロードした先とデジタルコピーのコピー先が同一メディアの場合は、不必要に容量を消費せず、かつコピー自体を高速に行うことができる。
（実施の形態４）
本実施形態では、実施の形態１で述べた続き視聴（レジューム再生）についてさらに改良を加えた実施の形態について説明する。なお、実施の形態４では前述の実施の形態１〜３と同様の部分は省略し、実施の形態１〜３との変更点のみを記載している。記載していない部分は実施の形態１〜３と同様と捉えてよい。
【０１８６】
図２６はオリジナル本編コンテンツとデジタルコピーコンテンツの再生時間軸を示す図である。図２６で示すデジタルコピーコンテンツはオリジナル本編コンテンツには存在する一部のシーンが削除され（削除シーン＃１、＃２）、かつ追加でいくつかのシーンが加えられている（追加シーン＃１、＃２）。このように実際にデジタルコピーされるコンテンツは、オリジナルコンテンツと全く内容が同じであるとは限らない。例えば、コンテンツ冒頭の新作紹介の内容が、オリジナルコンテンツとデジタルコピーコンテンツで異なっていたり、ディレクターズカットシーンがデジタルコピーコンテンツでは省かれている等が考えられる。実施の形態４では、このようにオリジナルとデジタルコピーコンテンツで内容が異なる場合でも、レジューム再生を可能にする構成について述べる。
【０１８７】
図２７は、実施の形態４におけるＢＤ−ＲＯＭ上のディレクトリ、ファイル構造を示す図である。前述の図２で述べた構成との違いは、メディアタイムオフセットテーブル(ＭＴＯ．ＸＭＬ)が新たに加えられた点である。メディアタイムオフセットテーブルはＥＭＯＶＥディレクトリ配下のＤＡＴＡｘｘディレクトリ（"ｘｘ"は２桁の可変数字）の中に存在し、デジタルコピーコンテンツに対し、オリジナルコンテンツから削除されたシーン一覧とそれぞれの削除区間,及びデジタルコピーコンテンツに新たに追加されたシーン一覧とそれぞれの追加区間が記されている。削除区間として記載する時刻はオリジナルコンテンツの時間軸上の時刻を、追加区間として記載する時刻はデジタルコピーコンテンツの時間軸上の時刻を記載する。図２７の例では、オリジナルコンテンツの時刻t1からt2まで（削除シーン＃１）と、時刻t3からt4まで（削除シーン＃２）が、デジタルコピーコンテンツでは削除されていることになり、デジタルコピーコンテンツの時刻t'0からt'1まで（追加シーン＃１）と時刻t'4からt'5まで（追加シーン＃２）が、デジタルコピーコンテンツで新たに追加されたシーンとなる。
【０１８８】
図２８は、オリジナルコンテンツ上のレジューム再生位置をデジタルコピーコンテンツの時間軸上に変換する処理を示す図である。オリジナルコンテンツ上のレジューム再生位置をtrとすると、デジタルコピーコンテンツ上のレジューム再生位置t'rは、前述のメディアタイムオフセットテーブルに記載されている削除シーン区間と追加シーン区間を加減算することで得られる。具体的にはtrより前に設定されている削除シーンの総時間をtrから減算し、減算されたtrより前に設定されている追加シーンの総時間を加算することでt'rが導かれる。
【０１８９】
図２９はレジューム再生位置変換処理のフローチャートである。まず、レジューム再生用に割り当てられている再生装置内のレジスタから、オリジナルコンテンツのレジューム再生位置trを取得する（ステップＳ６０１）。ＢＤ−Ｊアプリケーションから、オリジナルコンテンツ上のレジューム再生位置指定が事前にあった場合、レジスタの値を使う必要はなく、ＢＤ−Ｊアプリケーションから受け取った値をtrとする。
【０１９０】
次にオリジナルコンテンツ上のレジューム再生位置trが削除シーン内に設定されているかどうかを判断し（ステップＳ６０２）、削除シーン内の値であれば、削除シーンの開始位置をtrに代入する（ステップＳ６０３）。例えば、ステップＳ６０１で得られたtrが2000秒として、メディアタイムオフセットテーブルに記載されている削除シーンの一つに1900秒〜2100秒の削除区間の削除シーンが含まれていたとした場合、trに設定されている位置(2000秒)は1900秒〜2100秒の削除区間内にあるため、ステップＳ６０３の処理においてtrを削除区間の先頭地点である1900秒に再設定する。このようにtrを削除区間外の値に再設定する理由は、レジューム再生位置が削除区間内にあると、デジタルコピーコンテンツ上では、そのレジューム再生位置は存在しないことになり、以降の変換処理ができなくなるためである。選択肢の一つとして、レジューム再生位置が削除区間内に設定されている場合は、レジューム無効として持ち出し視聴時のレジューム再生は行わずに先頭から再生するということも可能である。本フローチャートでは、可能な限りレジューム再生を行う処理になっており、削除区間内にレジューム再生位置が設定されている場合は、ステップＳ６０３においてデジタルコピーコンテンツ上で有効な範囲に再設定するという処理を行っている。
【０１９１】
次にステップＳ６０１で得られたtr、もしくはステップＳ６０３で再設定されたtrを変換後のレジューム再生位置候補t'rに代入する（ステップＳ６０４）。この時点では、変換後のレジューム再生位置t'rはまだ確定ではない。ステップＳ６０４完了後、trより前に削除シーンが存在するかどうかを確認する(ステップＳ６０５)。例えば、trの値が1900秒で、この位置より前の削除区間として、0〜100秒、1000〜1200秒の２区間が存在した場合、２区間の総和(100-0)+(1200-1000)=300秒をt'rから減算する（ステップＳ６０６）。ステップＳ６０４でtrの値をt'rに代入しているので、減算前のt'rの値がtrと同じ1900秒だとすると、減算後のt'rの値は1600秒となる。
【０１９２】
次に、t'rより前に追加シーンが存在するかを確認する（ステップＳ６０７）。t'rが、ある追加シーンＸの範囲内に位置していた場合は、その追加シーンＸはt'rよりも前に存在するとみなす。例えば、t'rの値が1600秒で、追加シーンとして0〜200秒、1500〜1700秒の２区間が存在する場合は、２区間ともt'rよりも前に追加シーンが存在するとみなす。
【０１９３】
ステップＳ６０７において、t'rよりも前に追加シーンが存在すると判定した場合、それらの追加シーン区間の総和をt'rに加算する（ステップＳ６０８）。前述の例と同じく、追加シーンとして0〜200秒、1500〜1700秒の２区間が存在する場合、２区間の総和(200-0)+(1700-1500)=400秒をt'rに加算する。加算後のt'rは2000秒となる。
【０１９４】
ステップＳ６０８完了後、もう一度t'rと追加シーンの比較を行い、t'rより前にまだ加算されていない追加シーンが存在するかどうかを確認する（ステップＳ６０９）。例えば、t'r(2000秒)より前に、追加シーンとして0〜200秒、1500〜1700秒、1900〜2100秒の３区間が存在したとする。なおステップＳ６０９においても、ステップＳ６０７と同様にt'rが、ある追加シーンＸの範囲内に位置していた場合は、その追加シーンＸはt'rよりも前に存在するとみなす。つまり1900〜2100秒は、2000秒として設定されているt'rより前に追加シーンが存在すると判定される。0〜200秒、1500〜1700秒、1900〜2100秒の３区間の内、0〜200秒、1500〜1700秒の追加シーンはすでに加算済みであるため、ここでの加算は1900〜2100秒の追加シーンが対象となり、もう一度ステップＳ６０８による加算を実施し、t'rの値は2000+(2100-1900)=2200秒となる。
【０１９５】
ステップＳ６０８、Ｓ６０９を繰り返し、t'rよりも前に未加算の追加シーンがないと判定された時点で、その時点におけるt'rの値を変換後のレジューム再生位置として採用する。
【０１９６】
図３０はレジューム再生位置変換を行っている様子を示す図である。レジューム再生位置変換処理は、図３０(a)のようにＢＤ−Ｊアプリケーション内で変換処理を行うパターンと図３０(b)のように再生装置内で変換処理を行うパターンが存在する。いずれの場合も、再生装置内のＰＳＲセットに格納されている値からレジューム再生位置trを割り出し、図２９で示したフローチャートに従って、変換後のレジューム再生位置t'rを算出することが可能である。
【０１９７】
まず、ＢＤ−Ｊアプリケーション内でレジューム再生位置の変換処理を行う場合について説明する。図３１は、ＢＤ−Ｊアプリケーション内でレジューム再生位置変換処理を行うフローチャートである。本図に示されるようにまず、ＢＤ−Ｊアプリケーションは、現在の再生時刻情報をＰＳＲセット４２１のＰＳＲ（８）もしくはバックアップレジスタＰＳＲ（２８）から再生時刻情報を取得する（ステップＳ７０１）。本編がＨＤＭＶモードであれば、レジュームポイントはバックアップレジスタであるＰＳＲ（２８）に設定されるため、ＰＳＲ（２８）の再生時刻情報を取得する。一方、本編がＢＤ−Ｊモードの場合は、バックアップレジスタが利用されないため、ＰＳＲ（８）に格納されている現在の再生時刻情報を取得する。
【０１９８】
再生時刻情報の取得後、ＢＤ−Ｊアプリケーションは、ＰＳＲセット４２１から取得した再生時刻情報の値をミリ秒単位に変換する（ステップＳ７０２）。ＰＳＲ（８）またはＰＳＲ（２８）から取得される再生時刻情報が４５ｋＨｚクロック単位であるのに対して、コピー先のＭＧＲ＿ＤＡＴＡに指定するレジューム再生位置がミリ秒単位であるため、この単位変換処理が必要となる。
【０１９９】
ＢＤ−Ｊアプリケーションは、ステップＳ７０２で得られた時刻を、オリジナルコンテンツ上のレジューム再生位置とし、変数trにセットする（ステップＳ７０３）。
【０２００】
次にＢＤ−Ｊアプリケーションは、ファイルＩ／Ｏモジュール７０５を用い、ディスク上にメディアタイムオフセットテーブルが存在するかどうかの確認を行う（ステップＳ７０４）。
【０２０１】
メディアタイムオフセットテーブルが存在しない場合（ステップＳ７０４，ＮＯ）、ＢＤ−Ｊアプリケーションはオリジナルコンテンツ上のレジューム再生位置ｔｒをそのままデジタルコピーコンテンツ上のレジューム再生位置として指定する（ステップＳ７０５）。レジューム再生位置の指定にはソケットコマンドであるSET_RESUMEコマンドを用いる。
【０２０２】
メディアタイムオフセットテーブルが存在すると判断した場合（ステップＳ７０４，ＹＥＳ）、ＢＤ−Ｊアプリケーションはメディアタイムオフセットテーブルを読み込む（ステップＳ７０６）。
【０２０３】
そしてＢＤ−Ｊアプリケーションは、読み込んだメディアタイムオフセットを用いてオリジナルコンテンツのレジューム再生位置trをデジタルコピーコンテンツのレジューム再生位置t’rに変換する（ステップＳ７０７）。ステップＳ７０７では、図２９で示したフローチャートに基づきレジューム再生位置の変換処理を行い、デジタルコピーコンテンツのレジューム再生位置t’rを導き出す。そして、ＢＤ−Ｊアプリケーションは、ステップＳ７０７で算出されたレジューム再生位置ｔ‘ｒを、SET_RESUMEコマンドを用いデジタルコピーコンテンツ上のレジューム再生位置として指定する（ステップＳ７０８）。
【０２０４】
なお、レジューム再生位置の指定の際、指定の時刻がオリジナルコンテンツの時間軸上かレジューム再生位置の変換を行ったデジタルコピーコンテンツの時間軸上か再生装置側で判断ができるよう、再生時刻の指定には、どちらの時間軸上かを示すパラメータを用意してもよい。
【０２０５】
例えば、以下のように時刻指定と共に時間軸がオリジナルコンテンツかデジタルコピーコンテンツかどちらか選択できるようデジタルコピーライブラリとデジタルコピーモジュール間のプロトコルを決めておく。
SET_RESUME<sp><resumepoint><sp><timebase>
<resumepoint>::=レジューム再生時刻(msec)
<timebase>::= ORIGINAL | DIGITALCOPY
上記プロトコルに従い、"SET_RESUME 1000000 ORIGINAL"というコマンドがデジタルコピーライブラリからデジタルコピーモジュールへ送られてきた場合、レジューム指定時刻はオリジナルコンテンツの時間軸上で1000秒の地点であることを意味し、"SET_RESUME 1000000 DIGITALCOPY"というコマンドがデジタルコピーライブラリからデジタルコピーモジュールへ送られてきた場合、レジューム指定時刻はデジタルコピーコンテンツの時間軸上で1000秒の地点であることを意味する。すなわち、再生装置は時刻と共に指定される<timebase>パラメータの値を確認し、指定の時刻がオリジナルコンテンツの時間軸上か、デジタルコピーコンテンツの時間軸上かを判断することができる。以上が、ＢＤ−Ｊアプリケーション内でレジューム再生位置の変換処理を行う場合について説明である。続いて、デジタルコピーモジュールでレジューム再生位置の変換処理を行う場合について説明する。
【０２０６】
図３２は、デジタルコピーモジュールでレジューム再生位置の変換処理を行うフローチャートである。本図に示されるとおり、デジタルコピーモジュールはまず、ＢＤ−Ｊアプリケーションからレジューム再生位置の指定があるかどうかを判断する（スタップＳ８０１）。ＢＤ−Ｊアプリケーションからのレジューム再生位置の指定には、SET_RESUMEコマンドが用いられる。
【０２０７】
ＢＤ−Ｊアプリケーションからのレジューム再生位置の指定がない場合（ステップＳ８０１，ＮＯ）、デジタルコピーモジュールは、現在の再生時刻情報をＰＳＲセット４２１のＰＳＲ（８）もしくはバックアップレジスタＰＳＲ（２８）から再生時刻情報を取得する（ステップＳ８０２）。再生時刻情報の取得後、デジタルコピーモジュールは、ＰＳＲセット４２１から取得した再生時刻情報の値をミリ秒単位に変換する（ステップＳ８０３）。そしてデジタルコピーモジュールは、ステップＳ８０３で得られた時刻を、オリジナルコンテンツ上のレジューム再生位置とし、変数trにセットする（ステップＳ８０４）。上記のステップＳ８０３、Ｓ８０４の処理は、デジタルコピーモジュールが行う点においてステップＳ７０２、Ｓ７０３の処理と異なる。
【０２０８】
ＢＤ−Ｊアプリケーションからのレジューム再生位置の指定がある場合（ステップＳ８０１，ＹＥＳ）、その指定がオリジナルコンテンツの時間軸に基づくものか、デジタルコピーコンテンツの時間軸に基づくものかを判断する（ステップＳ８０５）。"SET_RESUME <resumepoint> ORIGINAL"というコマンドがデジタルコピーライブラリからデジタルコピーモジュールへ送られてきた場合、指定のレジューム再生位置はオリジナルコンテンツの時間軸に基づくものである。"SET_RESUME <resumepoint> DIGITALCOPY"というコマンドがデジタルコピーライブラリからデジタルコピーモジュールへ送られてきた場合、指定のレジューム再生位置はデジタルコピーコンテンツの時間軸に基づくものである。
【０２０９】
指定されたレジューム再生位置がオリジナルコンテンツの時間軸上である場合（ステップＳ８０５，ＮＯ）、指定されたレジューム再生位置をオリジナルコンテンツ上のレジューム再生位置を示す変数trにセットする（ステップＳ８０６）。指定されたレジューム再生位置がデジタルコピーコンテンツの時間軸上である場合（ステップＳ８０５，ＹＥＳ）、指定されたレジューム再生位置をデジタルコピーコンテンツ上のレジューム再生位置を示す変数t'rとする（ステップＳ８０７）。
【０２１０】
ステップＳ８０４、もしくはステップＳ８０６により、trにオリジナルコンテンツ上のレジューム再生位置をセットした後、ＢＤ−Ｊアプリケーションからメディアタイムオフセットテーブルの指定があるかどうかを確認する（ステップＳ８０８）。
【０２１１】
例えば、
SET_OFFSETTABLE "/SD_ROOT /BUDA/081a24ed/12345abc/MyMTO.xml"
等、デジタルコピー通信ポートを介して、事前にメディアタイムオフセットテーブルの指定が行われていれば、指定されたメディアタイムオフセットテーブルを読み込む。指定するメディアタイムオフセットテーブルの位置は、ディスク上、ローカルストレージ上もしくはＪＡＲファイル内のいずれでもよい。
【０２１２】
ＢＤ−Ｊアプリケーションからメディアタイムオフセットテーブルの指定がある場合（ステップＳ８０８，ＹＥＳ）、デジタルコピーモジュールは指定されたメディアタイムオフセットテーブルの読み込みを行う（ステップＳ８０９）。
【０２１３】
ＢＤ−Ｊアプリケーションからメディアタイムオフセットテーブルの指定がない場合（ステップＳ８０８，ＮＯ）、対象となるメディアタイムオフセットテーブルがディスク上に存在するかどうか確認する（ステップＳ８１０）。具体的には、ＢＤ−Ｊアプリケーションがコピー元として指定したディレクトリにメディアタイムオフセットテーブルが存在するかどうかを確認する。例えば、ＢＤ−Ｊアプリケーションから、
SET_SRCLOCATION "/mnt/bdrom/EMOVE/DATA01"
として、ＢＤ−ＲＯＭ上のルート直下から、"EMOVE/DATA01"の位置をコピー元として指定していた場合、" EMOVE/DATA01"ディレクトリ以下にメディアタイムオフセットテーブル"MTO.XML"が存在するかどうかを確認する。メディアタイムオフセットテーブルが指定ディレクトリに存在する場合（ステップＳ８１０，ＹＥＳ）、そのメディアタイムオフセットテーブルを読み込む（ステップＳ８１１）。
【０２１４】
対象となるメディアタイムオフセットテーブルがディスク上に存在しない場合（ステップＳ８１０，ＮＯ）、レジューム再生位置変更不要として、オリジナルコンテンツのレジューム再生位置trをそのままデジタルコピーコンテンツのレジューム再生位置として指定する（ステップＳ８１２）。
【０２１５】
ステップＳ８０９、またはステップＳ８１３のメディアタイムオフセットの読み込み後、読み込んだメディアタイムオフセットを用いてオリジナルコンテンツのレジューム再生位置trをデジタルコピーコンテンツのレジューム再生位置t'rに変換する（ステップＳ８１３）。ステップＳ８１３では、図２９で示したフローチャートに基づきレジューム再生位置の変換処理を行い、デジタルコピーコンテンツのレジューム再生位置t'rを導き出す。
【０２１６】
ステップＳ８０７、またはステップＳ８１３でt'rを導出した後、デジタルコピーモジュールは、t'rをレジューム再生位置として指定する（ステップＳ８１４）。以上が、デジタルコピーモジュールによるレジューム再生位置の変換処理についての説明である。
【０２１７】
以上の構成により、オリジナルコンテンツとデジタルコピーコンテンツ間でシーン削除・追加が行われていたとしても、レジューム再生位置変換を行うことで、据え置きの再生装置で途中まで再生していた地点と同等の地点からデジタルコピー後に携帯端末で続き視聴ができるようになる。
（実施の形態５）
本実施形態では、実施の形態１及び実施の形態４で述べた続き視聴（レジューム再生）についての変形例であり、実施の形態１及び実施の形態４では、据え置き再生装置から持ち出し視聴を行うときのレジューム再生について述べたが、本実施形態では、持ち出し視聴から据え置き再生装置での視聴に戻したときに、続き視聴を行う実施の形態について説明する。なお、実施の形態６では前述の実施の形態１〜４と同様の部分は省略し、実施の形態１〜４との変更点のみを記載している。記載していない部分は実施の形態１〜４と同様と捉えてよい。
【０２１８】
図３３は持ち出し視聴から据え置き視聴に戻したときに続き視聴を行う様子を示す図である。本実施の形態では、外出中はデジタルコピーにより携帯端末で持ち出し視聴を行い、帰宅後は自宅の据え置き再生装置で続きを視聴するというユースケースを実現する実施の形態について述べる。
【０２１９】
図３４は実施の形態５におけるリムーバブルメディアのファイル構成を示す図である。本実施の形態では、リムーバブルメディアにデジタルコピーコンテンツをコピーする際、加えてＢＤレジューム情報の書込みを行う。ＢＤレジューム情報は、バックアップレジスタ（ＰＳＲ（２０）からＰＳＲ（３２））に格納されている値及びレジューム対象タイトルのモードが記載されているレジューム状態格納ファイル（BDRESUME.BDM）と、ＢＤ−ＲＯＭのＢＣＡ内にＰＭＳＮと共に記録されているボリュームＩＤを記録したボリュームＩＤ格納ファイル（VOLUMEID.TXT）、及び据え置き再生装置からデジタルコピーで持ち出し視聴を行う際に利用したメディアタイムオフセットテーブル（MTO.XML）の３種類のファイルで構成されている。
【０２２０】
ＰＭＳＮは物理的なシリアル番号を示すのに対し、ボリュームＩＤは論理的なシリアル番号を示す。すなわち、ＰＭＳＮはＢＤ−ＲＯＭに記録されている内容が同じでも、記録媒体毎に異なる値が割り振られるのに対し、ボリュームＩＤは記録されている内容が同じであれば、記録媒体が異なっても同じ値が割り振られる。
【０２２１】
レジューム状態格納ファイルは、必ずしもバックアップレジスタの値をそのまま記録する必要はなく、ＢＤ−Ｊモード等でＢＤ−Ｊアプリケーションがレジューム状態を管理している場合、バックアップレジスタのパラメータに相当する値を、再生装置がＢＤ−Ｊアプリケーションから受け取ることで、レジューム状態格納ファイルの作成を行うことになる。図３５はレジューム状態格納ファイルに格納されるパラメータ一覧と値の一例を示している。格納される内容はバックアップレジスタ（ＰＳＲ（２０）からＰＳＲ（３２））のパラメータに加え、タイトルのモードが含まれている。レジューム対象のタイトルがＨＤＭＶモードであれば、バックアップレジスタの内容がそのまま格納されることになり、レジューム対象のタイトルがＢＤ−Ｊモードであれば、ＢＤ−Ｊアプリケーションから、レジューム状態格納ファイルに格納すべき値を取得することになる。
【０２２２】
メディアタイムオフセットテーブルは、据え置き再生装置から持ち出し視聴を行う際のデジタルコピーに利用したものが記録され、もしメディアタイムオフセットテーブルをデジタルコピー時に利用していなければ、MTO.XMLは作成されないことになる。
【０２２３】
これらレジューム状態格納ファイルとボリュームＩＤ格納ファイル、及びメディアタイムオフセットテーブルはＢＤレジューム情報として、デジタルコピーコンテンツが格納されるディレクトリと対になるディレクトリ位置にデータコピー時に書き込まれる。具体的には、プログラムディレクトリ名が同じになる位置に書き込まれることになり、例えばデジタルコピーコンテンツが"/mnt/sdcard/SD_VIDEO/PRG001"に格納される場合は、プログラムディレクトリ名は"PRG001"なので、SD_VIDEOディレクトリとは異なるディレクトリ（"/mnt/sdcard/PRIVATE/DCOPY"等）に同じプログラムディレクトリ名"PRG001"が作られ、そのディレクトリの中にＢＤレジューム情報が格納される。
【０２２４】
図３６はＢＤ−ＲＯＭ再生要求受付からＡＶ再生ライブラリによる再生が開始されるまでのフローチャートである。まず、ＢＤ−ＲＯＭ再生要求を受け付けると、リムーバブルメディアが挿入済みかどうかを確認する（ステップＳ９０１）。リムーバブルメディアが挿入されていなければ、通常再生を開始する。
【０２２５】
ステップＳ９０１でリムーバブルメディアが挿入されていることを確認すると、続いて現在挿入中のＢＤ−ＲＯＭに対応するＢＤレジューム情報がリムーバブルメディア上に存在するかを確認する（ステップＳ９０２）。具体的には、現在挿入中のＢＤ−ＲＯＭのボリュームＩＤに一致するボリュームＩＤが記載されているＢＤレジューム情報をリムーバブルメディア上から検索する。ボリュームＩＤが一致するＢＤレジューム情報が見つからなかった場合は、通常再生を開始する。
【０２２６】
ステップＳ９０２において、現在挿入中のＢＤ−ＲＯＭと一致するボリュームＩＤが記載されたＢＤレジューム情報があると判断した場合、そのＢＤレジューム情報の中にメディアタイムオフセットテーブルが存在するかどうかを確認する（ステップＳ９０３）。
【０２２７】
ステップＳ９０３においてメディアタイムオフセットテーブルが存在すると判断した場合は、ＢＤレジューム再生位置変換を行う（ステップＳ９０４）。
【０２２８】
ステップＳ９０４におけるＢＤレジューム再生位置変換後、もしくはステップＳ９０３においてメディアタイムオフセットテーブルが存在しないという判断の後、ＢＤレジューム情報に含まれるレジューム状態格納ファイルに記載されているタイトルモードを確認し、レジューム対象タイトルがＨＤＭＶモードかＢＤ−Ｊモードかの判断を行う（ステップＳ９０５）。
【０２２９】
ステップＳ９０５において、レジューム対象タイトルがＨＤＭＶモードであると判断した場合、ＢＤレジューム情報のレジューム状態格納ファイルに記載されている内容をレジスタ（ＰＳＲ（０）からＰＳＲ（１２））にセットし、かつ、ステップＳ９０４においてレジューム再生位置が変換されていれば、変換されたレジューム再生位置をＰＳＲ（８）にセットする（ステップＳ９０６）。レジスタへのセットが完了した後、ＨＤＭＶタイトルのレジューム再生を開始する。
【０２３０】
ステップＳ９０５において、レジューム対象タイトルがＢＤ−Ｊモードであると判断した場合、ＢＤレジューム情報のレジューム状態格納ファイルに記載されている内容、及びステップＳ９０４においてレジューム再生位置が変換されていれば変換されたレジューム再生位置をＢＤ−Ｊアプリケーションに通知し、再生装置から受け取ったレジューム情報を元にＢＤ−Ｊアプリケーション側でレジューム再生の開始を行う（ステップＳ９０７）。
【０２３１】
図３７は、図３６のフローチャートで述べたステップＳ９０４のＢＤレジューム再生位置変換のフローチャートである。基本的には、図２９で述べたレジューム再生位置変換処理とは逆の処理を行うことで、デジタルコピーコンテンツ上のレジューム再生位置t'rから、オリジナルコンテンツ上のレジューム再生位置trを導き出すことが可能である。
【０２３２】
まず、現在挿入中のＢＤ−ＲＯＭと一致するボリュームＩＤが記載されたＢＤレジューム情報に対応するデジタルコピーコンテンツを特定し、特定されたデジタルコピーコンテンツのシナリオファイルから、デジタルコピーコンテンツ上のレジューム再生位置t'rを取得する（ステップＳ１００１）。デジタルコピーコンテンツの特定は、ＢＤレジューム情報が格納されているディレクトリ名と同じプログラムディレクトリ名のデジタルコピーコンテンツを探し出すことで成される。例えば、ＢＤレジューム情報が格納されているディレクトリが、"/mnt/sdcard/PRIVATE/DCOPY/PRG001"であれば、PRG001というプログラムディレクトリ名のデジタルコピーコンテンツ"/mnt/sdcard/SD_VIDEO/PRG001"が対応するデジタルコピーコンテンツとなる。
【０２３３】
次にデジタルコピーコンテンツ上のレジューム再生位置t'rが、メディアタイムオフセットテーブルに列挙されている追加シーン内に設定されているかどうかを判断し（ステップＳ１００２）、追加シーン内の値であれば、追加シーンの開始位置をt'rに代入する（ステップＳ１００３）。例えば、ステップＳ１００１で得られたt'rが2000秒として、メディアタイムオフセットテーブルに記載されている追加シーンの一つに1900秒〜2100秒の追加区間の追加シーンが含まれていたとした場合、t'rに設定されている位置(2000秒)は1900秒〜2100秒の追加区間内にあるため、ステップＳ１００３の処理においてt'rを追加区間の先頭地点である1900秒に再設定する。このようにt'rを追加区間外の値に再設定する理由は、レジューム再生位置が追加区間内にあると、オリジナルコンテンツ上では、そのレジューム再生位置は存在しないことになり、以降の変換処理ができなくなるためである。選択肢の一つとして、レジューム再生位置が追加区間内に設定されている場合は、レジューム無効として据え置き視聴に戻ったときのレジューム再生は行わずに先頭から再生するということも可能である。本フローチャートでは、可能な限りレジューム再生を行う処理になっており、追加区間内にレジューム再生位置が設定されている場合は、ステップＳ１００３においてオリジナルコンテンツ上で有効な範囲に再設定するという処理を行っている。
【０２３４】
次にステップＳ１００１で得られたt'r、もしくはステップＳ１００３で再設定されたt'rを変換後のレジューム再生位置候補trに代入する（ステップＳ１００４）。この時点では、変換後のレジューム再生位置trはまだ確定ではない。
【０２３５】
ステップＳ１００４完了後、t'rより前に追加シーンが存在するかどうかを確認する(ステップＳ１００５)。例えば、t'rの値が1900秒で、この位置より前の追加区間として、0〜100秒、1000〜1200秒の２区間が存在した場合、２区間の総和(100-0)+(1200-1000)=300秒をtrから減算する（ステップＳ１００６）。ステップＳ１００４でt'rの値をtrに代入しているので、減算前のtrの値がt'rと同じ1900秒だとすると、減算後のtrの値は1600秒となる。
【０２３６】
次に、trより前に削除シーンが存在するかを確認する（ステップＳ１００７）。trが、ある削除シーンＸの範囲内に位置していた場合は、その削除シーンＸはtrよりも前に存在するとみなす。例えば、trの値が1600秒で、削除シーンとして0〜200秒、1500〜1700秒の２区間が存在する場合は、２区間ともtrよりも前に削除シーンが存在するとみなす。
【０２３７】
ステップＳ１００７において、trよりも前に削除シーンが存在すると判定された場合、それらの削除シーン区間の総和をtrに加算する（ステップＳ１００８）。前述の例と同じく、削除シーンとして0〜200秒、1500〜1700秒の２区間が存在する場合、２区間の総和(200-0)+(1700-1500)=400秒をtrに加算する。加算後のtrは2000秒となる。
【０２３８】
ステップＳ１００８完了後、もう一度trと削除シーンの比較を行い、trより前にまだ加算されていない削除シーンが存在するかどうかを確認する（ステップＳ１００９）。例えば、tr(2000秒)より前に、削除シーンとして0〜200秒、1500〜1700秒、1900〜2100秒の３区間が存在したとする。なおステップＳ１００９においても、ステップＳ１００７と同様にtrが、ある削除シーンＸの範囲内に位置していた場合は、その削除シーンＸはtrよりも前に存在するとみなす。つまり1900〜2100秒は、2000秒として設定されているtrより前に削除シーンが存在すると判定される。0〜200秒、1500〜1700秒、1900〜2100秒の３区間の内、0〜200秒、1500〜1700秒の削除シーンはすでに加算済みであるため、ここでの加算は1900〜2100秒の削除シーンが対象となり、もう一度ステップＳ１００８による加算を実施し、trの値は2000+(2100-1900)=2200秒となる。
【０２３９】
ステップＳ１００８、Ｓ１００９を繰り返し、trよりも前に未加算の削除シーンがないと判定された時点で、その時点におけるtrの値を変換後のレジューム再生位置として採用する。
【０２４０】
以上の構成により、デジタルコピーにより、据え置き再生装置での視聴から持ち出し視聴へ移行したときのみならず、持ち出し視聴から据え置き再生装置での視聴に戻したときにも、続き視聴（レジューム再生）が可能となる。
（実施の形態６）
本実施形態では、多言語に対応したデジタルコピーについての実施の形態について説明する。なお、実施の形態６では前述の実施の形態１〜５と同様の部分は省略し、実施の形態１〜５との変更点のみを記載している。記載していない部分は実施の形態１〜５と同様と捉えてよい。
【０２４１】
図３８は実施の形態６におけるＢＤ−ＲＯＭのファイル構成を示す図である。DATA01ディレクトリには、英語音声、日本語字幕のデジタルコピーコンテンツが格納されており、DATA02ディレクトリには、日本語音声、字幕なしのデジタルコピーコンテンツが格納されている。EMOVEディレクトリ直下に存在するLANG.XMLはそれぞれのデジタルコピーコンテンツがどの言語に対応したものであるかを示す言語テーブルが記録されたファイルである。
【０２４２】
図３９は言語テーブルの一例を示す図である。言語テーブルには、デジタルコピーコンテンツの格納位置と、それぞれのコンテンツがどの言語に対応しているかの情報が記されている。格納位置は、ＢＤ−ＲＯＭ上以外にもローカルストレージ上のディレクトリを指し示すことができる。ＢＤ−ＲＯＭ上のディレクトリを指し示すときは、ＢＤ−ＲＯＭのルートディレクトリからの相対パスを、ローカルストレージ上のディレクトリを指し示すときは、CertIDディレクトリからの相対パスを記載する。記載されている相対パスがＢＤ−ＲＯＭ上のものか、ローカルストレージ上のものか判断ができるよう、それぞれの相対パスには加えてストレージの種類（BD or LS）も記載する。言語情報には、それぞれのコンテンツが含んでいる音声及び字幕言語の種類が記されている。
【０２４３】
図４０は、追加言語のデジタルコピーコンテンツをローカルストレージにダウンロードする様子を示す図である。最初からＢＤ−ＲＯＭ上に多数のデジタルコピーコンテンツを格納するとなると、ＢＤ−ＲＯＭの容量をデジタルコピーコンテンツが占める割合が多くなってしまい、オリジナルコンテンツに避ける割合が少なくなってしまう。オリジナルコンテンツに避ける割合が少なくなると、ストリームのビットレートを下げる等、コンテンツの品質低下を招いてしまう恐れがある。そのため、ＢＤ−ＲＯＭ上には最低限の言語に対応したデジタルコピーコンテンツを置いておき、必要であれば追加でデジタルコピーコンテンツをダウンロードする形態が望ましい。
【０２４４】
追加でデジタルコピーコンテンツをダウンロードするときは、加えて更新版言語テーブルもダウンロードする。例えば、ＢＤ−ＲＯＭ上には英語版と日本語版のデジタルコピーコンテンツが存在し、ローカルストレージに新たに韓国語版をダウンロードする場合、韓国語版を加えた更新版言語テーブルをダウンロードする。
【０２４５】
図４１は、本実施の形態における多言語に対応したデジタルコピーの様子を示す図である。本図に示されるように、デジタルコピーモジュールは、ＢＤ−ＲＯＭまたはリムーバブルメディアの追加コンテンツ領域に格納されたデジタルコピーコンテンツを、リムーバブルメディアのビデオ領域にコピーする。
【０２４６】
コピー対象となる言語のコンテンツは、ＢＤ−Ｊアプリケーションまたはデジタルコピーモジュールが、ＰＳＲセット４２１に格納されている再生状態を示すシステムパラメータと言語テーブルに基づき選択する。具体的には、音声ストリーム用言語コードを示すＰＳＲ（１６）、字幕ストリーム用言語コードを示すＰＳＲ（１７）、メニュー用言語コードを示すＰＳＲ（１８）を読み出し、各言語コードに対応する言語のコンテンツを、言語テーブルを参照して選択する。
【０２４７】
図４２は、本実施の形態におけるコピー対象のコンテンツの選択の様子を示す図である。コピー対象のコンテンツの選択は、図４２（ａ）に示すように、ＢＤ−Ｊアプリケーション内で言語テーブルおよびＰＳＲセット４２１を参照して、所望の言語に対応したコンテンツの格納位置を特定し、デジタルコピーモジュールにSET_SRCLOCATIONコマンドを用いてコンテンツの格納位置を指定するパターンと、図４２（ｂ）に示すように、ＢＤ−Ｊアプリケーションで、デジタルコピーモジュールにデジタルコピーに利用する言語テーブルを指定し、デジタルコピーモジュールが指定された言語テーブルとＰＳＲセット４２１を参照して、所望の言語に対応したコンテンツの格納位置を特定し、デジタルコピーを行うパターンが存在する。
【０２４８】
ＢＤ−Ｊアプリケーションによるデジタルコピーモジュールに対する言語テーブルの指定には、例えば以下のようなコマンドを用いる。
SET_LANGTABLE "/mnt/sdcard/BUDA/081A24ED/12345ABC/DIGITALCOPY/NEW_LANG.XML"
上記コードは、ＳＤカード上の"BUDA/081A24ED/12345ABC/DIGITALCOPY/NEW_LANG.XML"に記録されている言語テーブルを用いてデジタルコピーを行うよう要求する命令となる。デジタルコピーモジュールは、指定された言語テーブルと、ＰＳＲセット４２１に格納されている言語設定を比較し、コピーすべきデジタルコピーコンテンツの割り出しを行う。例えばＰＳＲセット４２１に格納されている言語設定が英語であれば、英語版コンテンツを、言語設定が日本語であれば、日本語版コンテンツをデジタルコピー対象としてコピーすることとなる。
【０２４９】
まず、図４２（ａ）に示した多言語に対応したデジタルコピーのパターンについて説明する。図４３は、ＢＤ−Ｊアプリケーションによるコピー対象のコンテンツ選択のフローチャートである。ＢＤ−Ｊアプリケーション側においてコピーすべきデジタルコピーコンテンツの選択を行う際は、まずＢＤ−ＪアプリケーションはファイルＩ／Ｏモジュール７０５を用い、言語テーブルが存在するかどうかの確認を行う（ステップＳ１１０１）。言語テーブルは、ＢＤ−ＲＯＭまたはリムーバルメディアから探索する。追加でデジタルコピーコンテンツをリムーバルメディアにダウンロードした場合は、リムーバルメディアに存在する更新版言語テーブルを探索する。言語テーブルが存在しない場合、デジタルコピーコンテンツと対応言語とのマッピングができないため、ＢＤ−Ｊアプリケーションは、コピー可能なデジタルコピーコンテンツ一覧をユーザに提示し、ユーザからの選択指示を待つこととなる（ステップＳ１１０２）。ユーザからの選択指示があれば、選択されたデジタルコピーコンテンツを、コピーの対象とする（ステップＳ１１０３）。
【０２５０】
ステップＳ１１０１で言語テーブルが存在すると判断した場合、ＢＤ−ＪアプリケーションはファイルＩ／Ｏモジュール７０５を用い、言語テーブルを読み込む（ステップＳ１１０４）。次にＢＤ−Ｊアプリケーションは、ユーザが再生装置に設定している言語情報をＰＳＲセット４２１から取得する（ステップＳ１１０５）。ＰＳＲセット４２１からは、ＰＳＲ（１６）より音声ストリーム用言語コードを、ＰＳＲ（１７）より字幕ストリーム用言語コードを、ＰＳＲ（１８）よりメニュー用言語コードを取得することができる。
【０２５１】
次に、ステップＳ１１０４において読み込んだ言語テーブルとＰＳＲセット４２１に格納されている言語設定との比較を行う。まずは、ＰＳＲ（１６）に格納されている音声ストリーム用言語コードと言語テーブルに記載の音声言語の一致確認、及びＰＳＲ（１７）に格納されている字幕ストリーム用言語コードと言語テーブルに記載の字幕言語の一致確認を行い、音声・字幕の両方の言語が一致するデジタルコピーコンテンツを検索する（ステップＳ１１０６）。両方が一致していない場合は、音声もしくは字幕言語のいずれかが一致しているデジタルコピーコンテンツを検索する（ステップＳ１１０７）。音声もしくは字幕のいずれも一致していない場合は、ＰＳＲ（１８）のメニュー用言語コードと言語テーブルに記載の字幕言語もしくは音声言語が一致するデジタルコピーコンテンツを検索する（ステップＳ１１０８）。
ステップＳ１１０６〜Ｓ１１０８において、ＰＳＲセット４２１の設定と言語テーブルに記載の言語が一致するデジタルコピーコンテンツが見つかれば、そのデジタルコピーコンテンツをコピーの対象とする（ステップＳ１１０９）。ステップＳ１１０６〜Ｓ１１０８において、対象となるデジタルコピーコンテンツが見つからなかった場合は、ＢＤ−Ｊアプリケーション側でのデジタルコピーコンテンツの選択は行わず、ＢＤ−Ｊアプリケーションは、コピー可能なデジタルコピーコンテンツ一覧をユーザに提示し、ユーザからの選択指示を待つこととなる（ステップＳ１１０２）。
【０２５２】
なお、音声・字幕言語の一致確認に、ステップＳ１１０６〜Ｓ１１０８の処理に加え、さらにＰＳＲ（１）の音声ストリーム番号、ＰＳＲ（２）の字幕ストリーム番号、及びそれらのバックアップレジスタ(ＰＳＲ（２１）、ＰＳＲ（２２）)も検索の対象として加えても良い。また、言語が一致するデジタルコピーコンテンツが複数見つかった場合は、ユーザに選択させても良い。特に吹替版が良いか字幕版が良いかはユーザの好みに依存するため、ステップＳ１１０６〜Ｓ１１０８をまとめて行い、そこで対象となるデジタルコピーコンテンツが複数見つかった場合は、それらの一覧をユーザに提示し、その中からユーザの好みで選択させても良い。ユーザの選択はデジタルコピーの都度行ってもよいし、予め吹替版が良いか字幕版が良いかユーザの好みを問い合わせておき、その結果をＢＤ−Ｊアプリケーション内のローカル変数もしくはローカルストレージ上に記録し保持しておくことで、デジタルコピー時の選択はスキップし、ＢＤ−Ｊアプリケーション内に保持しているユーザの好みに応じて対象となるデジタルコピーコンテンツを決定しても良い。以上が、図４２（ａ）に示した多言語に対応したデジタルコピーのパターンについての説明である。続いて図４２（ｂ）に示した多言語に対応したデジタルコピーのパターンについて説明する。
【０２５３】
図４４は、デジタルコピーモジュールにおいてコピーコンテンツの選択を行う処理のフローチャートである。再生装置側においてコピーすべきデジタルコピーコンテンツの選択を行う際は、まずＢＤ−Ｊアプリケーションから使用する言語テーブルの指定があるかどうかを判断する（ステップＳ１２０１）。言語テーブルの指定には、SET_LANGTABLEコマンドが用いられる。ＢＤ−Ｊアプリケーションから言語テーブルの指定があった場合は、指定された言語テーブルの読込みを行う（ステップＳ１２０２）。
【０２５４】
ステップＳ１２０１において、ＢＤ−Ｊアプリケーションから言語テーブルの指定がなかったと判断した場合、ＢＤ−ＲＯＭまたはリムーバルメディア上に言語テーブルが存在するかどうかを判断する（ステップＳ１２０３）。追加でデジタルコピーコンテンツをリムーバルメディアにダウンロードした場合は、リムーバルメディアに存在する更新版言語テーブルを探索する。言語テーブルが存在すれば、言語テーブルの読込みを行う（ステップＳ１２０４）。言語テーブルが存在しない場合、デジタルコピーコンテンツと対応言語とのマッピングができないため、デジタルコピーモジュールは、コピー可能なデジタルコピーコンテンツ一覧をユーザに提示し、ユーザからの選択指示を待つこととなる（ステップＳ１２０５）。ユーザからの選択指示があれば、選択されたデジタルコピーコンテンツを、コピーの対象とする（ステップＳ１２０６）。
【０２５５】
ステップＳ１２０２またはステップＳ１２０４の言語テーブル読込み後、デジタルコピーモジュールは、読込んだ言語テーブルとＰＳＲ４２１に格納されている言語設定との比較を行う。まずは、ＰＳＲ（１６）に格納されている音声ストリーム用言語コードと言語テーブルに記載の音声言語の一致確認、及びＰＳＲ（１７）に格納されている字幕ストリーム用言語コードと言語テーブルに記載の字幕言語の一致確認を行い、音声・字幕の両方の言語が一致するデジタルコピーコンテンツを検索する（ステップＳ１２０７）。両方が一致していない場合は、音声もしくは字幕言語のいずれかが一致しているデジタルコピーコンテンツを検索する（ステップＳ１２０８）。音声もしくは字幕のいずれも一致していない場合は、ＰＳＲ（１８）のメニュー用言語コードと言語テーブルに記載の字幕言語もしくは音声言語が一致するデジタルコピーコンテンツを検索する（ステップＳ１２０９）。
【０２５６】
ステップＳ１２０７〜Ｓ１２０９において、ＰＳＲセット４２１の設定と言語テーブルに記載の言語が一致するデジタルコピーコンテンツが見つかれば、そのデジタルコピーコンテンツをコピーの対象とする（ステップＳ１２１０）。ステップＳ１２０７〜Ｓ１２０９において、対象となるデジタルコピーコンテンツが見つからなかった場合は、デジタルコピーモジュールは、デジタルコピーモジュールは、コピー可能なデジタルコピーコンテンツ一覧をユーザに提示し、ユーザからの選択指示を待つ（ステップＳ１２０５）。以上が、デジタルコピーモジュールにおいてコピーコンテンツの選択を行う処理についての説明である。
【０２５７】
以上の構成により、再生端末内の言語設定及びデジタルコピーコンテンツと共に付与される言語テーブルを用いて、対象となるデジタルコピーコンテンツを、言語を考慮しつつ特定することにより、多言語に対応したデジタルコピーが可能となる。
（補足）
なお、上記の実施の形態に基づいて説明してきたが、本発明は上記の実施の形態に限定されないことはもちろんである。以下のような場合も本発明に含まれる。
【０２５８】
（ａ）本発明は、各実施形態で説明した処理手順が開示するアプリケーション実行方法であるとしてもよい。また、前記処理手順でコンピュータを動作させるプログラムコードを含むコンピュータプログラムであるとしてもよい。
【０２５９】
（ｂ）本発明は、アプリケーション実行制御を行うＩＣ、ＬＳＩその他の集積回路のパッケージとして構成されるものとしてもよい。このパッケージは各種装置に組み込まれて利用に供され、これにより各種装置は、各実施形態で示したような各機能を実現するようになる。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または、汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）やＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。さらには、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。このような技術には、バイオ技術の適用等が可能性としてありえる。
【０２６０】
（ｃ）上記実施形態では、記録媒体を再生する再生機能のみを持つ再生装置について説明したが、それに限らない。例えば、録画機能を持つ録画再生装置であっても良い。
【０２６１】
（ｄ）上記実施形態では、仮想マシンのプログラミング言語としてJava(TM)（登録商標）を利用したが、Java(TM)（登録商標）ではなく、ＵＮＩＸ（登録商標）  ＯＳなどで使われているＢ−Ｓｈｅｌｌや、Ｐｅｒｌ  Ｓｃｒｉｐｔ、ＥＣＭＡ  Ｓｃｒｉｐｔなど他のプログラミング言語であっても良い。
【０２６２】
（ｅ）上述の実施の形態ではＢＤ−ＲＯＭを再生する再生装置について説明をしたが、書き込み可能な光記録媒体に上述の実施の形態にて説明をしたＢＤ−ＲＯＭ上の必要なデータが記録されていた場合においても上述と同様の効果を奏することはもちろんのことである。
【０２６３】
（ｆ）上述の形態ではコピー元の記録媒体として、ＢＤ−ＲＯＭまたは書き込み可能な光記録媒体を例に説明をしているが、これに限定をされる必要は無く、例えばＳＤメモリーカード、メモリースティック、コンパクトフラッシュ、スマートメディア、マルチメディアカード等の可搬性の記録媒体に相当するリムーバブルメディアを用いても構わない。
【０２６４】
コピー元の記録媒体としてリムーバブルメディアを用いる場合、このコピー元に用いるリムーバブルメディアには、例えば図２に示すボリューム領域に記録されているディレクトリ構造を有するデータに相当するものを記録する領域（ユーザ領域）、図６で説明をした保護領域およびシステム領域を有する構造である。
【０２６５】
この場合ではコピー元のリムーバブルメディアに記録された携帯端末向けコンテンツがコピー先のリムーバブルメディアへコピーされることになる。当然のことながら、コピー元のリムーバブルメディアとコピー先のリムーバブルメディアとは別である。
【０２６６】
コピー元の記録媒体にＢＤ-ＲＯＭを用いた場合では、上述の実施の形態の説明において、例えば鍵情報生成部６０２では、コピー元８０１からはＢＤ−ＲＯＭ上の特殊領域であるＢＣＡ（Burst Cutting Area）に記録されている記録媒体の物理的なシリアルＩＤを示すＰＭＳＮ（Pre-recorded Media Serial Number）を、読み出す構成である。これに対し、コピー元の記録媒体にリムーバブルメディアを用いる場合には、ＰＭＳＮを読み出す代りに、コピー元のリムーバブルメディア固有の情報（メディアＩＤ）を読み出す構成とすればよい。
【０２６７】
このように上述の実施の形態の説明および図面において、コピー元の記録媒体であるＢＤ−ＲＯＭをリムーバブルメディアと読み替えるとともに、コピー元の記録媒体であるＢＤ−ＲＯＭのシリアルＩＤをリムーバブルメディアの固有の情報（メディアＩＤ）と読み替えれば、コピー元の記録媒体にリムーバブルメディアを用いたときの動作の説明となる。
【０２６８】
また、コピー元の記録媒体としてリムーバブルメディア用いた場合、BD-ROMのボリューム領域に記録されているディレクトリ構造を有するデータに相当するものを記録する領域（ユーザ領域）に記録されるデータのうちの一部のデータ（例えばストリームデータ）は、暗号化なされている。
【０２６９】
コピー元の記録媒体としてリムーバブルメディア用いた場合、（ユーザ領域）に記録されるデータというのはリムーバブルメディアを頒布時に予め記録されていても良い。この場合、リムーバブルメディアの頒布時において、ユーザ領域に記録されるデータの一部のデータが暗号化されている場合には、暗号化されたデータを復号するためのキー情報（タイトルキー）を含む復号鍵がコピー元の記録媒体の保護領域に予め記録されている。このとき、復号鍵は、コピー元の記録媒体のシステム領域のＭＫＢを用いて復号ができるように暗号化がなされているものとする。
【０２７０】
または、コピー元の記録媒体としてリムーバブルメディア用いた場合、このリムーバブルメディアの頒布時にはユーザ領域にデータが記録されていないものの、頒布後、ダウンロード等の要求により、ユーザ領域に、ＢＤ−ＲＯＭのボリューム領域に記録されているディレクトリ構造を有するデータに相当ものを記録するようにしても良い。ダウンロード要求を行う装置というのは本実施の形態で説明をした再生装置を用いて行っても良いし、本実施の形態とは別のダウンロードを行うための端末装置を用いて行っても良い。この場合にはまず、ダウンロード要求を行う装置に頒布されたリムーバブルメディアを装填し電気的に接続をされた状態で、データのダウンロードの要求とともに、リムーバブルメディアのメディアＩＤおよびＭＫＢを読み出して配信サーバへ送る。配信サーバにおいて、リムーバブルメディアのメディアＩＤおよびＭＫＢを用いて生成される復号鍵と対応するデータをダウンロードの要求を行った装置へ送る。ダウンロードの要求を行った装置では、受信した対応するデータをリムーバブルメディアのユーザ領域へ記録し、受信した公開鍵ファイルをリムーバブルメディアの保護領域に記録する。ユーザ領域に記録されるデータの一部のデータが暗号化されている場合には、暗号化されたデータを復号するためのキー情報（タイトルキー）を含む復号鍵がコピー元の記録媒体の保護領域に記録されることになる。このとき、復号鍵は、コピー元の記録媒体のシステム領域のＭＫＢを用いて復号ができるに暗号化がなされているものとする。
【０２７１】
以上のように構成をすれば、リムーバブルメディアをコピー元の記録媒体とすることができる。
【０２７２】
このようにすれば、ユーザ領域に記録される携帯端末向けコンテンツのみを本実施の形態とは異なる手法で別のリムーバブルメディアへ記録したとしても、別のリムーバブルメディアには復号鍵に関する情報が無いため、不正なコピーによる再生を抑止することができる。
【０２７３】
万が一にも、別のリムーバブルメディアに復号鍵をも記録できたとしても、別のリムーバブルメディアのＭＫＢはコピー元のリムーバブルメディアのＭＫＢと異なるため、暗号化された復号鍵の復号が行えないため、コピー元のリムーバブルメディアのユーザ領域に記録されたデータの不正な利用を抑止することができる。
【産業上の利用可能性】
【０２７４】
本発明にかかる再生装置によれば、記録媒体に持ち出し視聴用として記録されている映像データを、当該記録媒体以外の他の記録媒体へ記録する技術（デジタルコピー）において、据え置き視聴と持ち出し視聴間の連携再生を実現することが可能となる。特に、映像コンテンツの制作に携わる映画産業・民生機器産業において利用できる。
【符号の説明】
【０２７５】
１０１  再生装置
１０２  リモコン
１０３  出力モニタ
１０４  リムーバブルメディア
１０５  ＢＤ−ＲＯＭ
１０６  携帯端末
４０１  読出専用ＢＤドライブ
４０２  読込制御部
４０３  デマルチプレクサ
４０４  ビデオデコーダ
４０５  ビデオプレーン
４０６  オーディオデコーダ
４０７  イメージメモリ
４０８  イメージプレーン
４０９  イメージデコーダ
４１０  加算器
４１１  静的シナリオメモリ
４１２  動的シナリオメモリ
４１３  ＨＤＭＶモジュール
４１４  ＢＤ−Ｊモジュール
４１５  ＵＯ検知モジュール
４１６  モード管理モジュール
４１７  ディスパッチャ
４１８  レンダリングエンジン
４１９  書込制御部
４２０  ＡＶ再生ライブラリ
４２１  ＰＳＲセット
４２２  ネットワークインターフェース
４２３  ローカルストレージ
４２４  デジタルコピーモジュール
６０１  通信管理部
６０２  鍵情報読込部
６０３  メディア状態管理部
６０４  コピー実行部
６０５  コピー状態通知部
６０６  コピー進捗管理部
６０８  鍵情報書込部
６１０  空き容量判定部
７０１  ＢＤ−Ｊアプリケーション
７０２  デジタルコピーライブラリ
７０４  メディア再生モジュール
７０５  ファイルＩ／Ｏモジュール
７０６  ネットワークモジュール
７０７  アプリケーションマネージャ
８０１  コピー元ディスク
８０２  コピー先メディア
８０３  デジタルコピーサーバ
【図１】
0005529964.tif 000002
【図２】
0005529964.tif 000003
【図３】
0005529964.tif 000004
【図４】
0005529964.tif 000005
【図５】
0005529964.tif 000006
【図６】
0005529964.tif 000007
【図７】
0005529964.tif 000008
【図８】
0005529964.tif 000009
【図９】
0005529964.tif 000010
【図１０】
0005529964.tif 000011
【図１１】
0005529964.tif 000012
【図１２】
0005529964.tif 000013
【図１３】
0005529964.tif 000014
【図１４】
0005529964.tif 000015
【図１５】
0005529964.tif 000016
【図１６】
0005529964.tif 000017
【図１７】
0005529964.tif 000018
【図１８】
0005529964.tif 000019
【図１９】
0005529964.tif 000020
【図２０】
0005529964.tif 000021
【図２１】
0005529964.tif 000022
【図２２】
0005529964.tif 000023
【図２３】
0005529964.tif 000024
【図２４】
0005529964.tif 000025
【図２５】
0005529964.tif 000026
【図２６】
0005529964.tif 000027
【図２７】
0005529964.tif 000028
【図２８】
0005529964.tif 000029
【図２９】
0005529964.tif 000030
【図３０】
0005529964.tif 000031
【図３１】
0005529964.tif 000032
【図３２】
0005529964.tif 000033
【図３３】
0005529964.tif 000034
【図３４】
0005529964.tif 000035
【図３５】
0005529964.tif 000036
【図３６】
0005529964.tif 000037
【図３７】
0005529964.tif 000038
【図３８】
0005529964.tif 000039
【図３９】
0005529964.tif 000040
【図４０】
0005529964.tif 000041
【図４１】
0005529964.tif 000042
【図４２】
0005529964.tif 000043
【図４３】
0005529964.tif 000044
【図４４】
0005529964.tif 000045