JP4906913B2 - 再生装置、システムlsi、初期化方法 - Google Patents

再生装置、システムlsi、初期化方法 Download PDF

Info

Publication number
JP4906913B2
JP4906913B2 JP2009502462A JP2009502462A JP4906913B2 JP 4906913 B2 JP4906913 B2 JP 4906913B2 JP 2009502462 A JP2009502462 A JP 2009502462A JP 2009502462 A JP2009502462 A JP 2009502462A JP 4906913 B2 JP4906913 B2 JP 4906913B2
Authority
JP
Japan
Prior art keywords
benchmark
program
unit
application
benchmark score
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.)
Expired - Fee Related
Application number
JP2009502462A
Other languages
English (en)
Other versions
JPWO2008108084A1 (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 JP2009502462A priority Critical patent/JP4906913B2/ja
Publication of JPWO2008108084A1 publication Critical patent/JPWO2008108084A1/ja
Application granted granted Critical
Publication of JP4906913B2 publication Critical patent/JP4906913B2/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/10Digital recording or reproducing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3428Benchmarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time

Description

本発明は、アプリケーション実行技術の技術分野に属する発明である。
アプリケーション実行技術とは、オブジェクト指向言語で記述されたクラス構造体から、そのインスタンスであるクラスオブジェクトを生成して、仮想マシンのプラットフォームに供することにより、オブジェクト指向言語で記述されたアプリケーションを仮想マシンに実行させる技術である。その応用物たる工業製品には、BD−ROMの再生機能をもつ再生装置等がある。こうした再生装置は、様々な製造企業(マニファクチャと呼ばれる)によって開発され、毎年のようにモデルチェンジがなされる。MPUやメモリ量、バスバンド幅、グラフィックアクセラレータなどのハードウェア部品が装置毎に違うので、アプリケーションの処理速度は、再生装置のハードウェア部品の差異によって大きく変化する。
ハードウェアの性能差が装置毎に異なるので、アプリケーションが処理を実行する場合、処理負荷を変化させる必要が生じる。こうした負荷変化の対象には、例えば、GUIにおけるアニメーション枚数の増減がある。ハードウェアの性能が高い再生装置では、GUIのためのグラフィクスデータのロードや伸長を高速に行えることができるのでアニメーションの枚数を多くする。逆に、ハードウェアの性能が低い再生装置では、アニメーションの枚数を間引く。そうした枚数の増減を行うことで、ユーザ操作があった場合のレスポンス速度は、ハードウェアの性能差に左右されず、ある一定の水準を保つことができる。かかる負荷変化の実現にあたってアプリケーションは、実行の主体となるハードウェアの性能が、どの程度のものであるか、知得せねばならない。そこで、アプリケーションが起動された際、最初に処理性能を計測するベンチマークテストを実行することが考えられる。
ベンチマークテストを利用した処理負荷の変更方式に関しては、特許文献1に記載された文献公知発明がある。
特開2002−99430号
ところで、BD−ROMの再生装置は、多彩な機能を有しているので、処理負荷の変更にあたっては、多くのハードウェア処理に対するベンチマークテストを実行せねばならない。ここで、アプリケーションの実行に先立ち、多くの機能に対するベンチマークテストを網羅しようとすると、ベンチマークテストの実行に多大な時間がかかり、ユーザがアプリケーションを起動してから、実際の処理を始めるまでの遅延時間、つまり、スターティングディレイが大きくなるという問題がある。
そこで浮かぶのは、ベンチマーク結果の再利用を実現するという考えである。具体的にいうと、再生装置の標準化推進団体によって公式に認定されたアプリケーションにベンチマークテストを実行させて、そうして計測させた値をストレージに書き込み、その結果を、他のアプリケーションに利用させるのである。公式のアプリケーションに、ベンチマークテストを実行させれば、他のアプリケーションは、毎回ベンチマークテストを実行することなく、その数値を再利用することができるので、個々のアプリケーションについてのスターティングディレイは小さくなる。公式のアプリケーションによるベンチマークテストが必要な機能を多く網羅したものならば、きめ細やかな負荷調整を実現することができる。
しかしながらハードウェアとアプリケーションとに介在するファームウェアは、不定期に更新されるものである。ファームウェアとは、ハードウェアの基本的な制御を行なうために機器に組み込まれたソフトウェアである。公式のアプリケーションにて、多くの機能を網羅したベンチマークテストが実行されたとしても、そのベンチマークの結果が、古いファームウェアを対象としたものなら、処理負荷決定の役に立たない。何故なら、機能を実行するにあたっての速度は、ファームウェアにおけるオーバーヘッドに大きく依拠するからである。また、演算アルゴリズムが変更された場合も、再生装置の性能が変化することがある。
このように、アプリケーションの実行に先立ち、多くの機能を網羅したベンチマークを実行しようとすると、本来の処理の実行までに、大きな遅延が生じ、また、公式のアプリケーションにベンチマークを実行させて、結果を再利用しようとすると、ファームウェアの不定期なアップデートが発生した場合、ベンチマークの有効性が損なわれるという問題がある。
本発明の目的は、アプリケーションの起動時における遅延をなくしつつも、多くの機能を網羅したベンチマークの結果を、アプリケーションに利用させることができる、再生装置を提供することである。
上記課題を解決するため、本発明の再生装置は、
記録媒体からデータを読み出すドライブ部、前記読み出したデータに含まれるAVデータを再生する再生部、プログラムを実行する処理部と、を具備したハードウェア部と、
前記ハードウェア部を制御するファームウェアプログラムと、
前記処理部が前記ファームウェアプログラムを実行する場合、所定の条件を満足すれば、初期化処理を行う初期化部と
所定の記録領域を有する記録部を備え、
前記ファームウェアプログラムには、ベンチマークスコアが組み込まれており、
前記ベンチマークスコアは、前記ドライブ部によって前記記録媒体から読み出されたベンチマークプログラムを前記処理部により実行したとき、前記実行されるベンチマークプログラムからの命令に従って、前記処理部によって実行されるファームウェアプログラムを介して前記ハードウェア部に所定の処理を行わせた結果であって、前記再生装置の処理能力を示す指標であり、
前記初期部は、前記処理部が前記ファームウェアプログラムを最初に実行する場合、前記ファームウェアプログラムに組み込まれているベンチマークスコアを、前記記録部における所定の記録領域に書き込むことにより前記記録領域に書き込んだベンチマークスコアを前記処理部により実行されるアプリケーションプログラムがアクセスできるようにした、
ことを特徴とする。
本発明にかかる再生装置は上述したように構成されているので、アプリケーションのスターティングディレイ対策として、初期化部は、ファームウェアの最初の実行時に、ベンチマークスコアを記録部の所定の記録領域に書き込む。ベンチマークスコアを記録部の所定の記録領域に書き込むための時間遅延が、ファームウェアの最初の実行時に発生するものの、アプリケーションの起動時には発生しない。これによって、アプリケーションを起動するにあたってのスターティングディレイは、発生しえない。
このように、スターティングティレイに対する影響をなくすことで、ユーザ操作に対するレスポンスを高度に維持することができる。
アプリケーションは、自らベンチマークスコアを実行しなくても、再生装置のハードウェア部品に関する必要な情報を記録部の所定の記録領域へ書き込んだベンチマークスコアから取得することができるので、アプリケーションの動作は、ベンチマークスコアテストの実行分だけ短縮されることになる。
ここで、ファームウェアにベンチマークスコアが組み込まれている場合、アプリケーションが、ファームウェアに組み込んだベンチマークスコアへ直接アクセスすることに起因して、ファームウェアの破壊を招く恐れがある。ファームウェア破壊対策として初期化部は、アプリケーションの起動に先立ち、ファームウェアに組込まれたベンチマークスコアを、アプリケーションデータ領域に書き込む。
こうすることで、再生装置におけるファームウェアに組み込んだベンチマークスコアが、直接、アプリケーションによってアクセスされることはない。そのため、ファームウェアが不必要にアクセスされることによるファームウェア(またはファームウェアを格納するメモリなどの記録媒体)の破壊や、ファームウェアの内容が暴露されるという危惧も避けることができる。
また、ベンチマークスコアの書き込みは、ファームウェアが起動される度に行われるのではなく、ファームウェアの最初の実行時に行われることになり、ベンチマークスコア書き込みの頻度は、ファームウェアが起動される度に行なうのに比べかなり低くなる。
また、アプリケーションがこのベンチマークスコアを利用することにより、例えば再生装置上でアニメーションを描画するにあたっての負荷決定を、より緻密なものとすることができる。こうすることで、ハードウェアの性能に適した負荷で、再生装置上で必要な処理を実行することが可能となる。
また、前記ファームウェアプログラムが更新され、前記処理部が前記更新されたファームウェアプログラムを最初に実行する場合、
前記初期化部は前記更新されたファームウェアプログラムに組み込まれたベンチマークスコアを前記記録部における所定の記録領域に書き込むことを特徴とする。
前記再生装置において、ベンチマークスコアは、ファームウェアに組み込まれた態様で、再生装置内に存在するので、ファームウェアの更新にあたって、古いベンチマークスコアが組み込まれた旧バージョンのファームウェアを、新しいベンチマークスコアが組み込まれた新バージョンのファームウェアで上書きすれば、ファームウェアが新しいものに更新された際、ベンチマークスコアは、その更新に伴って、自動的に新旧の交替を果たすことになるばかりか、更新されたファームウェアプログラムを最初に実行するとき、前記記録部における所定の記録領域に書き込まれたベンチマークスコアは新しいものに更新される。
ベンチマークスコアは、ファームウェアが古いものから新しいものに更新された際、ファームウェアと共に、書き換えられる態様で再生装置内に存在するので、ファームウェアの更新が不定期になされたとしても、ファームウェアのバージョンと、ベンチマークスコアのバージョンとが一致しないというバージョンコンフリクションは発生しない。そのため、ベンチマークスコアは、ファームウェアの更新が不定期になされたとしても、その有効性を保つことができる。
また、ベンチマークスコアの書き込みは、ファームウェアが起動される度に行われるのではなく、ユーザがファームウェアを更新した後、更新したファームウェアの最初の実行時に行われることになり、ベンチマークスコア書き込みの頻度は、ファームウェアが起動される度に行なうのに比べかなり低くなる。ベンチマークスコアを記録部の所定の記録領域に書き込むための時間遅延が、更新したファームウェアの最初の実行時に発生するものの、アプリケーションの起動時には発生しない。これによって、アプリケーションを起動するにあたってのスターティングディレイは、発生しえない。このように、スターティングティレイに対する影響をなくすことで、ユーザ操作に対するレスポンスを高度に維持することができる。
また、前記記録領域に書き込んだベンチマークスコアに前記処理部により実行されるアプリケーションプログラムがアクセスする場合、前記アプリケーションプログラムに対応する信用証明書であって、前記アプリケーションプログラムが前記記録領域に書き込んだベンチマークスコアへのアクセス権限に対する情報を含んだ信用証明書の有効性を判断し、前記有効であると判断された信用証明書に含まれる前記ベンチマークスコアへのアクセス権限に対する情報に基づいて、前記アプリケーションプログラムが前記記録領域に書き込んだベンチマークスコアにアクセス可能か否かを判定する判定部を備えることを特徴とする。
このように構成することにより、ベンチマークスコアの読み出しをアプリケーションが要求した際、そのアプリケーションに正当なアクセス権限が付されているかどうかの判定が行なえるようになるばかりか、正当なアクセス権限が付されているかどうかの判定は、デジタル署名の仕組みを利用してなされるので、BD−Jアプリケーション端末の標準モデルに、大きな改変を加えることなく、正当権限が存在するかどうかの判定を実現することができる。
また、前記記録部における所定の記録領域は、前記ベンチマークプログラムを提供した組織を識別する識別子と、前記ベンチマークアプリケーションを識別する識別子とを含んだファイルパス用いて特定されることを特徴とする。
例えば、公式のアプリケーションによるベンチマークが標準化団体による統一基準にてなされる場合、ベンチマークスコアは、信頼性が高い、きわめて有意義な情報となる。しかし信頼性が高いものであればある程、かかるベンチマークスコアの利用が無秩序になされると、当該ベンチマークスコアがWebページ上で公表されて、その再生装置の信頼性を落としめるための活動、いわゆるネガティブキャンペーンに使用される恐れがある。そうしたネガティブキャンペーン対策にあたっては、上述したような構成を採用することにより、ベンチマークスコアの読み出しは、ベンチマークプログラムを提供した組織から正当なアクセス権限が付されたと認められたもののみに認められるので、例えば、記録媒体の規格化をとりまとめる団体に正式に認定されたものだけに、ベンチマークスコアの読み出しを認めることができる。こうすることでマニファクチャは、安心してベンチマークスコアをファームウェアに組み込み、アプリケーションに利用させることができる。
また、前記ファームウェアプログラムは前記アプリケーションプログラムから前記記録領域に書き込んだベンチマークスコアへのアクセス要求に対し、前記記録領域に書き込んだベンチメークスコアをアクセス要求したアプリケーションプログラムへ返すI/Oプログラムを含み、
前記アプリケーションプログラムが前記ベンチマークスコアへのファイルパスを指定して、前記ベンチマークスコアへのアクセスを要求したとき、
前記処理部は前記I/Oプログラムを実行し、前記I/Oプログラムは指定されたファイルパスに基づいて特定されるベンチマークスコアを、前記アプリケーションプログラムへ返すように構成したことを特徴とする。
このように構成することにより、アプリケーションがこのベンチマークスコアを利用することにより、例えば再生装置上でアニメーションを描画するにあたっての負荷決定を、より緻密なものとすることができる。こうすることで、ハードウェアの性能に適した負荷で、再生装置上で必要な処理を実行することが可能となるばかりか、アプリケーションがベンチマークスコアへの直接のアクセスを防止することができる。
また、前記第2の記録領域に前記ファームウェアプログラムに組み込んだベンチマークスコアを展開した場合、
前記ベンチマークスコアを本来書き込むべき位置を示す前記記録部におけるファイルパスに関する情報と前記ベンチマークスコアを書き込んだ前記第2の記録領域上の位置に関する情報とを含んだ位置情報を生成し、
前記I/Oプログラムは前記アプリケーションプログラムから指定されたファイルパスを受け取ると、前記位置情報を参照し、前記第2の記録領域に展開したベンチマークスコアを読み込んで前記アプリケーションプログラムへ返すように構成したことを特徴とする。
このように構成することにより、アプリケーションはベンチマークスコアの実際の格納位置を知らなくても、ベンチマークスコアを得ることが可能となる。
また、前記初期化部は、前記記録部における所定のパスによって定められる記録領域に前記ベンチマークスコアが書き込まれているか否かの判定を行い、前記ベンチマークスコアが書き込まれていないと判定した場合に、前記ファームウェアプログラムに組み込まれているベンチマークスコアを、前記記録部における所定のパスによって定められる記録領域に書き込むことを特徴とする。
このように構成することにより、何等かのアクシデントにより、ベンチマークスコアが上書きされて前記記録部における所定のパスによって定められる記録領域から消失した場合であっても、ファームウェアが起動された際、ベンチマークスコアが消失したかどうかのチェックがなされ、消失時には、ファームウェアから再度、ベンチマークスコアを読み出して前記記録部における所定のパスによって定められる記録領域に書き込むので、ファームウェア起動を契機にして、ベンチマークスコアが消失していないかどうかの確認と、消失した場合の事後策を講じることができる。こうすることで、アプリケーションからベンチマークスコアの読み出しが要求された場合、その要求に即座に応えることができる。
また、前記初期化部は、前記ファームウェアプログラムが更新された場合に、前記更新されたファームウェアプログラムに組み込まれているベンチマークスコアのバージョンと前記アプリケーションデータ領域に存在するベンチマークスコアのバージョンとのバージョン比較を行って、前記更新されたファームウェアプログラムに組み込まれたベンチマークスコアの方が新しいと判定した場合、前記ファームウェアプログラムに組み込まれているベンチマークスコアを、記記録部における所定のパスによって定められる記録領域に書き込むことを特徴とする。
このように構成することにより、ファームウェアの更新がなされたものの、更新されたファームウェアに組み込まれたベンチマークスコアに変化がない場合(つまりベンチマークスコアのバージョンが更新前と同じ場合)には、前記記録部における所定のパスによって定められる記録領域へベンチマークスコアを書き込むのが抑制されるため、前記記録部における所定のパスによって定められる記録領域が、例えば書き込み回数に上限値がある半導体メモリカード上のメモリ領域であるような場合、半導体メモリカードの長寿命化を図ることができる。
アプリケーションデータ領域に書き込む以外にも、ベンチマークスコアをアプリケーションに供給する手法がある。これは、初期部を以下のように構成することでなされる。
つまり、前記ベンチマークスコアをメモリに展開して、メモリ上のベンチマークスコアを、アプリケーションに利用させる。こうすることで、ローカルストレージにおけるアプリケーションデータ領域へとベンチマークスコアをコピーするために生じる、遅延時間を短縮することができる。また、アプリケーションデータ領域が半導体メモリカードで構成されている場合、半導体メモリカードに対する書き込み回数抑制することができる。
ユーザ宅に設置された再生装置102の、利用態様を示す図である。 BD−ROMの構成を示した図である。 BD−ROMにおける再生制御のレイヤモデルを示した図である。 ローカルストレージにおけるPersistent領域の内部構成を示す図である。 (a)HDMVモードで動的な再生制御を定義することにより、作成される映画作品の一場面を示す図である。 (b)BD−Jモードで動的な再生制御を定義することにより、作成される映画作品である。 図5(b)の合成映像を表示するにあたって、BD−ROMにより供給されるアプリケーショが、どのような処理を行うかを示す図である。 本発明にかかる再生装置のハードウェア構成を示す図である。 (a)ファームウェアを構成するファイル群を示す図である。 (b)再生装置の制御内容を表したレイヤモデルを示す図である。 再生装置の開発環境を示す図である。 テキストファイルに格納されるベンチマークスコアが、どのようにして得られたものかを解説した図である。 (a)ブートローダ21の内部構成を示す図である。 (b)最初の実行かを示すフラグを示す図である。 (c)システムアプリケーション28の内部構成を示す図である。 ファームウェア起動部31がどのような処理を行い、ファームウェア22が、どのような経路を経てMPU16に供されるかを模式的に示す図である。 フラッシュROM18中のベンチマークスコアが、どのような経路を経てベンチマークスコア設定部34に供されるかを示す図である。 CertIDが“0g1a24ed”、OrganizationIDが“4”、ApplicationIDが“5”である場合の、ディレクトリ・ファイル構成の一例を示す図である。 アプリケーションデータ領域中のベンチマークスコアが、どのような経路を経てサービスアプリケーションに引き渡されかを示す図である。 (a)ファームウェア更新部32の処理手順を示すフローチャートである。 (b)ファームウェア起動部31の処理手順を示すフローチャートである。 ベンチマークスコア設定部34の処理手順を示すフローチャートである。 (a)Java(登録商標)アーカイブファイル302の中の構造の一例を示す図である。 (b)デジタル信用証明書のデータ構造の一例を示す。 (c)デジタル信用証明書の具体的な一例を示す図である。 権限の提供がない場合のSIG−BD.SF、BD.ROOT.CERTIFICATEの相互関係を示す図である。 権限の提供がある場合のSIG−BD.SF、BD.ROOT.CERTIFICATE、bd.XXXX.permの相互関係を示す図である。 アプリケーションデータ領域に対するアクセス手順を示すフローチャートである。 デジタル信用証明書を用いた権限チェックの処理手順を示すフローチャートである。 第3実施形態におけるベンチマークスコアの行き来を模式的に描いた図である。 ベンチマークアプリケーション29によるベンチマークテストの処理手順を示すフローチャートである。
(第1実施形態)
以下本発明の実施の形態について、図面を参照しながら説明する。
以降、再生装置の実施形態について説明する。先ず始めに、本発明に係る再生装置の実施行為のうち、使用行為についての形態を説明する。図1は、ユーザ宅に設置された再生装置102の、利用態様を示す図である。本図に示すように、再生装置102は、BD−ROM100、WWWサーバ101(Webサーバとも言う)、テレビ103、リムーバブルメディア104と共にユーザによる使用に供される。
BD−ROM100は、映画作品が記録された記録媒体である。
WWWサーバ101は、映画配給者の公式サイトを運営するサーバ装置であり、BD−ROM100に記録された映画作品の部分的な置き換えや追加を実現するコンテンツを、インターネット等を介してユーザに供給する。
再生装置102は、テレビ103と共に、ホームシアターシステムを構築して、BD−ROM100を再生する。
テレビ103は、映画作品の再生映像を表示したり、メニュー等を表示したりすることで、対話的な操作環境をユーザに提供する。
リムーバブルメディア104は、再生装置102に装填され、映画配給者のWWWサーバ101から配信されたコンテンツの受け皿として利用される。そのため、ネットを通じてダウンロードされ、リムーバブルメディア104に格納されたコンテンツと、BD−ROM100に記録されたコンテンツとを組み合わせて、BD−ROM100のコンテンツを拡張/更新をすることができる。かかるリムーバブルメディア104を装填するという目的のため、再生装置102には、SDメモリーカード、メモリースティック、コンパクトフラッシュ(登録商標)、スマートメディア、マルチメディアカード等のリムーバブルメディア104を挿入する挿入口を備える。
以上が本発明に係る再生装置102の使用形態についての説明である。続いて本発明に係る再生装置102が再生の対象としている、記録媒体について説明する。本発明に係る再生装置102により、再生されるのは、光記録媒体であるBD−ROM100である。
図2は、BD−ROM(以降、「BD」と称する場合もある)の構成を示した図である。本図の第1段目に、BD−ROM100を示し、第2段目は、BD−ROMの内周から外周に向けて螺旋状に形成された記録領域を、横方向に引き伸ばして直線状に描いている。この第2段目に示すように、記録領域は、内周の「リード・イン」と、外周の「リード・アウト」と、「論理アドレス空間」とを有している。また、リード・インの内側にはBCA(Burst Cutting Area)と呼ばれるドライブでしか読み出せない特別な領域がある。この領域はアプリケーションから読み出せないため、例えば著作権保護技術などに利用されることがよくある。
「論理アドレス空間」は、ファイルシステムのための領域管理情報を先頭にして、各種映像データが記録されている。“ファイルシステム”とは、UDFやISO9660などのことであり、本実施形態では、Extention2.3形式のファイルシステムを採用する。
本図の第3段目は、第2段目におけるファイルシステムを前提にして構築された、ディレクトリ・ファイル構成を示す。本図に示すように、BD−ROMのルートディレクトリ(ROOT)直下には、BD.ROOT.CERTIFICATEと、BDMVディレクトリとが置かれている。
BD.ROOT.CERTIFICATE(ディスクルート証明書)は、例えばX.509の形式で符号されている。X.509の仕様は国際電信電話諮問委員会より発行されており、CCITT Recommendation X.509 (1988), “The Directory − Authentication Framework”に記載されている。本図における引き出し線f1は、BD.ROOT.CERTIFICATEの用途を示している。この引き出し線に示すように、BD.ROOT.CERTIFICATEは、証明書固有のID(CertIDと呼ばれる)を導きだすという用途に用いられる。
BDMVディレクトリはBD−ROMで扱うAVコンテンツや管理情報などのデータが記録されているディレクトリである。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”が付与されたファイル>
拡張子”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情報は、デジタルAVストリームの符号化形式、フレームレート、ビットレート、解像度等の情報や、GOPの先頭位置を示すEP_mapをもっている。
<拡張子”mpls”が付与されたファイル>
拡張子”mpls”が付与されたファイルは、プレイリスト情報を格納したファイルである。プレイリスト情報は、メインパス情報、サブパス情報、マーク情報を含む。
1)メインパス情報は、AVストリームの再生時間軸のうち、In_Timeとなる時点と、Out_Timeとなる時点の組みを1つ以上定義することにより、論理的な再生区間を定義する情報であり、AVストリームに多重化されているエレメンタリストリームのうち、どれの再生を有効とするかを規定するストリーム番号テーブルを有している。このストリーム番号テーブルを有することにより、AVストリーム内のエレメンタリストリームのうち、どれの再生を許可し、どれの再生を許可しないかを規定することができる。
2)マーク情報は、In_Time、及び、Out_Timeの組みにて指定されたAVストリームの一部分のうち、チャプターとなる時点の指定を含む。
3)サブパス情報は、前記AVストリームと同期して再生すべきエレメンタリストリームの指定と、そのエレメンタリストリームの再生時間軸におけるとIn_Time、及び、Out_Timeの組みを含む。Java(登録商標)アプリケーションが、このプレイリスト情報を再生するJMFプレーヤインスタンスの生成をJava(登録商標)仮想マシンに命じることで、AV再生を開始させることができる。JMFプレーヤインスタンスとは、JMFプレーヤクラスを基にして仮想マシンのヒープメモリ上に生成される実際のデータのことである。
AVストリームと、プレイリスト情報との組みは、“タイトル”という再生単位を構成する。BD−ROMにおけるAV再生は、このタイトルを一単位としてなされる。

<拡張子”jar”が付与されたファイル>
拡張子”jar”が付与されたファイルは、Java(登録商標)アーカイブファイルであり、Java(登録商標)仮想マシンを用いて動的なシナリオ制御を行うJava(登録商標)アプリケーションのクラスファイルが存在する。このクラスファイルにて定義されるJava(登録商標)アプリケーションは、Xletインターフェイスを通じて制御されるJava(登録商標) Xletである。Xletインターフェイスは、”loaded pause
d”、”active destroyed”といった4つの状態をもつ。本明細書でい
うアプリケーションとは、こうしてBD−ROM等の記録媒体に記録されているクラスファイルについてのインスタンスのことをいう。
<拡張子“bdjo”が付与されたファイル>
拡張子“bdjo”が付与されたファイルは、BD−Jオブジェクトを格納したファイルである。BD−Jオブジェクトは、プレイリスト情報により示されるAVストリームと、アプリケーションとの関連付けにより、タイトルを定義する情報である。BD−Jオブジェクトは、“アプリケーション管理テーブル”と、そのタイトルにおいて再生可能なプレイリストの一覧を示す。アプリケーション管理テーブル(AMT)とは、“アプリケーションシグナリング”を実現するテーブルである。“アプリケーションシグナリング”とは、BD−ROMにおける“タイトル”をアプリケーションの生存区間として管理し、アプリケーションの起動及び終了を司る制御をいう。ここで生存区間とは、BD−ROMに記録されたコンテンツ全体の時間軸において、仮想マシンのヒープメモリ上でアプリケーションが生存し得る区間を示す。“生存”とは、そのアプリケーションが、ヒープメモリに読み出され、仮想マシンによる実行が可能になっている状態をいう。アプリケーション管理テーブルは、アプリケーションの識別子(アプリケーションID)とそのアプリケーションに属するJava(登録商標) アーカイブファイルのIDを羅列することでこのタイトルを生存区間とするアプリケーションを示す。つまり、一つのアプリケーションは一つ以上の Java(登録商標) アーカイブファイルで構成される。このように、BD−Jオブジェクト内のアプリケーション管理テーブルによって、制御が規定されるJava(登録商標)アプリケーションを、“BD−Jアプリケーション”とよぶ。
<index.bdmv(ファイル名固定)>
index.bdmv(ファイル名固定)は、BD−ROM全体に関する管理情報であり、再生装置102へのディスク挿入後に、index.bdmvが最初に読み出されることで、再生装置102においてディスクが一意に認識される。加えて、index.bdmv は、BD−ROMにおいて再生可能となる複数のタイトルと、個々のタイトルを規定するBD−Jオブジェクトとを対応付けて示すテーブルを含んでいる。引き出し線f2は、index.bdmvの内部構成をクローズアップして示している。この引出線に示すように映画作品のプロバイダを特定する識別子であるorganizationID(32ビット)を持つ。
MovieObject.bdmv(ファイル名固定)は、HDMVモード(後述)での各タイトル再生で、再生進行を動的に変化させるためのシナリオが記述されたシナリオプログラムが含まれる。
図3は、再生制御のレイヤモデルを示した図である。図3の第1層は、物理層であり、処理対象たるストリーム本体の供給制御である。この第1層に示すように、処理対象たるストリームは、BD−ROMだけではなく、Build−Inメディアやリムーバブルメディア、ネットワークといったあらゆる記録媒体、通信媒体を供給源としている。ここでBuild−Inメディアとは、HDD(ハードディスクドライブ)など、再生装置102に予め組み込まれた記録媒体である。一方、リムーバブルメディアは、SDメモリーカード、メモリースティック、コンパクトフラッシュ(登録商標)、スマートメディア、マルチメディアカード等、可搬性がある記録媒体である。これらBuild−Inメディア、リムーバブルメディアは何れも、再生装置102がローカルに利用する記録媒体であり、“ローカルストレージ”との総称で呼ばれる。これらローカルストレージ、ネットワークといった供給源に対する制御(ディスクアクセス、カードアクセス、ネットワーク通信)が第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に示すようなディレクトリ・ファイル構成を有する、Persistent領域が存在する。図4は、ローカルストレージにおけるPersistent領域の内部構成を示す図である。
かかるPersistent領域には、「ディスク追加データ領域」と、「アプリケーションデータ領域」とが存在する。
「ディスク追加データ領域」は、過去に再生装置102に装填された各々のBD−ROMに対応した領域であり、各々のBD−ROMの格納内容の追加物となるデータが格納される。ディスク追加データ領域は、「BUDAディレクトリ」、「CertIDディレクトリ」、「OrganizationIDディレクトリ」、「DiscIDディレクトリ群」から構成される。
「BUDAディレクトリ」は、例えばローカルストレージのルートディレクトリの直下に存在し、追加コンテンツ領域のルートを示すディレクトリで、ディレクトリ名は、8文字以内の固定値(BD_BUDA)である。
「CertIDディレクトリ」は例えばBD−ROM上のBD.ROOT.CERTIFICATEから導き出されるIDを名前に持つディレクトリで、BD.ROOT.CERTIFICATEのSHA−1ダイジェスト値160ビットのうち、先頭32ビットを16進表記で表した8文字の名前のディレクトリである。
「OrganizationIDディレクトリ」は、例えばBD−ROM上のBD管理情報(index.bdmv)に記載されている、映画作品のプロバイダを特定する32ビットの識別子(OrganizationID)を16進表記で表した8文字の名前のディレクトリである。
「DiscIDディレクトリ群」は、例えば4つのディレクトリからなり、BD−ROMを特定する128ビットの識別子(DiscID)を先頭から32ビットずつ4分割し、それぞれを16進表記で表した8文字の名前が割り当てられている。
「アプリケーションデータ領域」は、例えばアプリケーションが動作を行うにあたって、必要なデータが格納される領域である。例えばアプリケーションが動作を行う場合のユーザコンフィグレーションやCookie、ゲームスコア、パスワード、等がこのアプリケーションデータ領域に格納されることになる。
アプリケーションデータ領域におけるディレクトリ構成は、ADA(Application Data Area)ディレクトリ、CertIDディレクトリ、OrganizationIDディレクトリ、ApplicationIDディレクトリから構成される。
アプリケーションデータ領域ディレクトリ(ADAディレクトリ)は、ローカルストレージのルートディレクトリの直下に存在し、アプリケーションデータ領域のルートを示すディレクトリで、ディレクトリ名は、固定値(ADA)である。
「CertIDディレクトリ」はBD−ROM上のBD.ROOT.CERTIFICATEから導き出されるIDを名前に持つディレクトリで、BD.ROOT.CERTIFICATEのSHA−1ダイジェスト値160ビットのうち、先頭32ビットを16進表記で表した8文字の名前のディレクトリである。
「OrganizationIDディレクトリ」は、BD−ROM上のindex.bdmvに記載されている、映画作品のプロバイダを特定する32ビットの識別子(OrganizationID)を16進表記で表した8文字の名前のディレクトリである。
「ApplicationIDディレクトリ」は、アーカイブファイルのファイル名として採用されている、アプリケーションの識別子(ApplicationID)を16進表記で表した名前としたディレクトリである。このApplicationIDディレクトリには、ベンチマークスコアを格納したテキストファイルが存在する。
テキストファイルは、アプリケーションデータ領域上に存在し、このアプリケーションデータ領域は、ADA−CertID−OrganizationID−ApplicationIDという組合せの固定ファイルパスで特定できるので、BD−Jアプリケーションは、ファイルI/OのためのAPI(JavaI/Oメソッド)を介してベンチマークスコアを読み出すことができる。
図5は、2つのモードの動的な再生制御にて作成される映画作品を示す図である。図5(a)は、HDMVモードで動的な再生制御を定義することにより、作成される映画作品の一場面を示す図である。HDMVモードはDVD再生装置が解釈可能なコマンドと良く似たコマンドで再生制御を記述することができるので、DVDと同じような再生制御、つまり、メニューに対する選択により再生が進行するような再生制御を定義することができる。
図5(b)は、BD−Jモードで動的な再生制御を定義することにより、作成される映画作品である。BD−JモードはJava(登録商標)仮想マシンが解釈可能なJava(登録商標)言語で制御手順を記述することができる。この再生制御がアドベンチャーゲームのGUIを構成するものであるなら、BD−Jモードにあっては、ゲームのスコア(図中のSCORE:10000)やインジゲータ(LIFE:3)、ボタン部材(質問する、退室する)と、キャラクタアニメーションと、動画とを組み合わせたような合成映像をユーザに提示することができる。
図6は、図5(b)の合成映像を表示するにあたって、BD−ROMにより供給されるアプリケーションが、どのような処理を行うかを示す図である。本図の下段には、図2に示したアーカイブファイルである、xxx.JARが記述されている。上段は、かかるアーカイブファイルにて定義されるBD−Jアプリケーション(以降、システムアプリケーション等を除く、一般のアプリケーションであり、以降、“サービスアプリケーション”と呼ぶ)を示す。このサービスアプリケーションの枠内は、図4におけるキャラクタアニメーションの描画にあたっての処理負荷の変化が、どのようなものであるか模式的に示す。
左枠は、処理負荷を重くする変化であり、猫のキャラクタが、1秒につき24枚のフルアニメーションで表示されていることがわかる。
右枠は、処理負荷を軽くする変化であり、猫のキャラクタが、1秒につき12枚のハーフアニメーションで表示されていることがわかる。かかる変化は、ADA−CertID−OrganizationID−ApplicationIDという固定ファイルパスでアクセスできるアプリケーションデータ領域に格納されたベンチマークスコアが、どのような値であるかに応じてなされる。左枠における処理負荷の変化は、例えばベンチマークスコアが、所定の閾値以上であることを要件にしている。右枠における処理負荷の変化は、このベンチマークスコアが、例えば所定の閾値未満であることを要件にしている。このように、BD−ROMから供給されるサービスアプリケーションは、アプリケーションデータ領域に存在するベンチマークスコアの大小に応じて、処理負荷を変化させるように作られている。かかる処理負荷の変化によって、GUIを介してユーザがBD−Jアプリケーションに処理を命じてから、その処理が完了するまでのレスポンス時間は、再生装置102における描画能力に左右されず、一定の水準を保つことになる。
以上が、BD−ROM100についての説明である。続いて、再生装置102の詳細について、説明する。
図7は、再生装置102のハードウェア構成を示す図である。本図に示すように、再生装置102は、BD−ROMドライブ1、リードバッファ2、デマルチプレクサ3、ビデオデコーダ4、プレーンメモリ5、オーディオデコーダ6、エレメンタリバッファ7、プレーンメモリ8、グラフィクスデコーダ9、加算器10、ネットワークI/F部11、スイッチ12、HDドライブ13、カードドライブ14、RAM15、MPU16、ユーザインターフェイス17、フラッシュROM18から構成される。再生装置102は、図7に示したハードウェア構成に、Java(登録商標)2Micro_Edition(J2ME) Personal Basis Profile(PBP 1.0)と、Globally Executable MHP specification(GEM1.0.2)for package media targetsとをフル実装することで構成される。
BD−ROMドライブ1は、図2に示すような内部構成を有するBD−ROMのローディング/イジェクトを行い、BD−ROMに対するアクセスを実行する。そして、BD−ROMドライブ1は、BD−ROMから読み出したTSパケットをリードバッファ2に格納する。
リードバッファ2は、FIFOメモリであり、BD−ROMから読み出されたTSパケットが先入れ先出し式に格納される。このTSパケットは、MPEG2−TS形式のAVストリームを構成するものである。
デマルチプレクサ3は、BD−ROM、リムーバブルメディア、Build−Inメディアに記録されているMPEG2−TS形式のAVストリームの多重分離を行い、GOPを構成するビデオフレームと、オーディオフレームとを得てビデオフレームをビデオデコーダ4に出力し、オーディオフレームをオーディオデコーダ6に出力する。グラフィクスストリームはグラフィクスメモリ7に格納する。デマルチプレクサ3による多重分離は、TSパケットをPESパケットに変換するという変換処理を含む。
ビデオデコーダ4は、デマルチプレクサ3から出力されたビデオフレームを復号して非圧縮形式のピクチャをビデオ用のプレーンメモリ5に書き込む。
プレーンメモリ5は、非圧縮形式のピクチャを格納しておくためのメモリである。
オーディオデコーダ6は、デマルチプレクサ3から出力されたオーディオフレームを復号して、非圧縮形式のオーディオデータを出力する。
グラフィクスメモリ7は、BD−ROM、リムーバブルメディア、Build−Inメディアから読み出されたグラフィクスデータや画像ファイルを格納しておくバッファである。

プレーンメモリ8は、一画面分の領域をもったSD−RAM等であり、HDMVモードとBD−Jモードとでメモリアロケーションが変わる。HDMVモードにおけるメモリアロケーションとは、横1920×縦1080の8ビット領域からなる。これは1920×1080の解像度で、1画素当たり8ビットのインデックス値を格納できるメモリアロケーションである。CLUT(Color Lookup Table)を用いてかかるインデックスカラーを変換することにより、プレーンメモリ8に格納されたラスタグラフィクスは、表示に供される。一方、BD−Jモードにおけるメモリアロケーションとは、1920×1080の32ビット領域からなる。これは横1920画素×縦1080画素の解像度で、1画素当たり32ビットのRGB値を格納できるメモリアロケーションである。こうした、32ビットのRGB値をダイレクトに書き込むことにより、BD−Jアプリケーションは、GUIのためのグラフィクスを、直接、表示させることができる。
グラフィクスデコーダ9は、グラフィクスメモリ7に格納されたグラフィクスデータや画像ファイルを展開してプレーンメモリ8に書き込む。グラフィクスストリームのデコードにより、各種メニュー、グラフィクスが画面上に現れることになる。
加算器10は、ビデオ用のプレーンメモリ5に格納された非圧縮形式のピクチャデータに、グラフィクス用のプレーンメモリ8に展開されたグラフィクスを合成して出力する。図5(b)に示した合成画像は、この加算器10が、プレーンメモリ8内のグラフィクスと、ビデオ用のプレーンメモリ5内のピクチャとを合成することで出力される。
ネットワークI/F部11は、ネットワーク接続のためのプロトコルスタックを実行するものであり、ネットワーク上のコンピュータが具備しているドライブを、ネットワークドライブ4aとして、再生装置102に認識させる。プロトコルスタックとしては、信頼性が要求されるBD管理データの転送には、TCP/IPを使用し、高速性が要求されるAVストリームの転送には、UDP/IPを使用するのが望ましい。
スイッチ12は、BD−ROMドライブ1、HDドライブ13、カードドライブ14から読み出されたファイルを、選択的にRAM15に格納する。
HDドライブ13は、BD−ROMにて供給されるクラスファイルと、同等のクラスファイルを格納しておくことができるハードディスクドライブである。
カードドライブ14は、BD−ROMにて供給されるクラスファイルと、同等のクラスファイルが書き込まれたSDメモリカード等を、装填することができるドライブ装置である。
RAM15は、StaticRAM等で構成され、MPU16がデータ処理を行うにあたって、必要なデータが格納される。RAM15には、ファームウェアを常駐しておくためのファームウェア常駐領域が存在する。ファームウェア常駐領域は、MPU16の特権モードでのみ、アクセスが可能であり、通常モードで動作するプログラムは、アクセスすることはできない。これは、ファームウェアの予期せぬ破壊を防ぐためである。
ファームウェア常駐領域以外のその他の領域は、メモリプール管理機能、ヒープエリア管理機能にて管理されている。
メモリプール管理機能とは、空きのメモリ領域を管理し、必要に応じて要求されたメモリサイズをBD−Jアプリケーションに与え、使用が終了すると、メモリに蓄積された状態に戻す。ヒープエリア管理機能では、メモリの空き領域にメモリプールを設定し、BD−Jアプリケーションの要求に応じて、必要サイズのメモリを提供する。かかるヒープ管理によって、RAM15上の領域は、“ヒープメモリ”として、利用されることになる。
MPU16は、再生装置102の中核を担うものであり、命令メモリやキャッシュからネイティブコードをフェッチする「フェッチ回路」、命令コードをデコードする「デコーダ回路」、デコード結果に従って、レジスタに格納されている保持値に対し、演算を行う「算術演算回路」を必要最低限の構成要素として備える。またMPU16は、動作モードとして特権モードを有している。この特権モードで動作することができるプログラムは、RAM15やフラッシュROM18に格納されたファームウェアをアクセスすることができる。
ユーザインターフェイス17は、リモコンや再生装置102のフロントパネルといった入力機器に対してなされたユーザ操作を検知して、通知する。この通知は、これらの入力機器に対応するデバイスドライバ内の割込みハンドラが発生する割込みに従い、UOPを生成することでなされる。UOPとは、リモコンやフロントパネルに設けられたキーマトッリクスでキー押下を検知した際、発生するイベント(UOPイベント)であり、押下されたキーに対応した属性をもつ。具体的には、リモコンやフロントパネルに対応するデバイスドライバの割込みハンドルが、キーマトリックスに対するキーセンスでキー押下を検出した際、そのキー押下に基づき割込み信号を発生することで、UOPイベントは、生成される。
フラッシュROM18は、EEPROMであり、再生装置102に予め組み込まれている組み込みプログラムが格納される。こうした組込みプログラムには、例えばブートローダ21、ファームウェア22がある。フラッシュROM18はMPU16の特権モードでのみ、アクセスが可能であり、通常モードで動作するプログラムは、アクセスすることはできない。これは、ブートローダ21、ファームウェア22の予期せぬ破壊を防ぐためである。
以上が、再生装置102のハードウェア構成である。続いて、以上のハードウェア構成を前提にしたソフトウェア構成について説明する。
図8(a)は、ファームウェア22を構成するファイル群を示す図である。本図に示すように、ファームウェア22は、例えば複数の「クラスファイル」、複数の「実行形式ファイル」、複数の「テキストファイル」を含む。
これらのうち、クラスファイル、実行形式ファイルは、ファームウェア22の構成要素であり、再生装置102の制御内容を規定する。図8(b)は、再生装置102の制御内容を表したレイヤモデルを示す図である。
本図に示すように、再生装置102の制御内容は、ハードウェアの上に、ファームウェア22が存在するという一般的なものである。このファームウェア22は、例えば仮想ファイルシステム23、アクセス制御機構24、再生エンジン25、再生制御エンジン26、クラスローダ7、システムアプリケーシ28を階層化したものである。
またファームウェア22は、Persistent領域をアクセスするための必須のソフトウェア要素として、例えばJavaI/Oメソッドを実現するファイルI/Oのプログラムを含む。このI/Oプログラムは、例えばBD-JアプリケーションからのPersistent領域に書き込んだベンチマークスコアへのアクセス要求に対し、Persistent領域に書き込んだベンチメークスコアをアクセス要求したBD-Jアプリケーションへ返す処理を行う。以降、これらの構成要素について説明する。尚、正確には、再生装置102のソフトウェア構成として、HDMVモードのためのHDMVモジュールや、BD−Jモード、HDMVモードの切り替えのためのモジュールマネージャが存在する。しかしこれらの構成要素は、本願の主眼ではないので説明を省略する。
(仮想ファイルシステム23)
仮想ファイルシステム23は、ローカルストレージに格納されたダウンロードコンテンツを、BD−ROMにおけるディスクコンテンツと一体的に取り扱うための仮想的なファイルシステムである。ここでローカルストレージに格納されたダウンロードコンテンツは、図2に示したClip情報、プレイリスト情報を含む。このダウンロードコンテンツにおけるプレイリスト情報はBD−ROM及びローカルストレージのどちらに存在するClip情報であっても、指定できる点で、BD−ROM上のプレイリスト情報と異なる。この指定にあたって、仮想ファイルシステム23上のプレイリスト情報は、BD−ROMやローカルストレージにおけるファイルをフルパスで指定する必要はない。BD−ROM上のファイルシステムやローカルストレージ上のファイルシステムは、仮想的な1つのファイルシステム(仮想ファイルシステム23)として、認識されるからである。故に、プレイリスト情報は、Clip情報の格納したファイルのファイルボデイにあたる数値を指定することにより、仮想ファイルシステム23、BD−ROM上のAVストリームを指定することができる。仮想ファイルシステム23を介してローカルストレージの記録内容を読み出し、BD−ROMの記録内容と動的に組み合わせることにより、様々な再生のバリエーションを産み出すことができる。ローカルストレージと、BD−ROMとを組合せてなるディスクコンテンツは、BD−ROMにおけるディスクコンテンツと対等に扱われるので、本願における”BD−ROM”は、ローカルストレージ+BD−ROMの組合せからなる仮想的な記録媒体をも含むことにする。
(アクセス制御機構24)
アクセス制御機構24は、正当権限をもったBD−Jアプリケーション(Signedアプリケーションと呼ばれる)のみがローカルストレージにおけるアプリケーションデータ領域をアクセスできるよう、強制的な制御を行う。そうした強制的な制御によって、有効なデジタル信用証明書をもったBD−Jアプリケーションのみが、アプリケーションデータ領域におけるベンチマークスコアをアクセスすることができることになる。
具体的にいうと、ローカルストレージのアプリケーションデータ領域をアクセスするための、固定ファイルパスを用いた読み出しが要求された際、その読み出しを要求したBD−Jアプリケーションのデジタル信用証明書に対してアクセス権限のチェックを行う。そして、アクセス権限があると認められれば、固定ファイルパスを用いたファイルアクセスを例えば仮想ファイルシステム23におけるファイルI/OのためのAPI(JavaI/Oメソッド))を介して、アプリケーションデータ領域から所望のデータを読み出して、サービスアプリケーションに引き渡す。
(再生エンジン25)
再生エンジン25は、AV再生ファンクションを実行する。再生装置102のAV再生ファンクションとは、DVDプレーヤ、CDプレーヤから踏襲した伝統的な機能群であり、再生開始(Play)、再生停止(Stop)、一時停止(Pause On)、一時停止の解除(Pause Off)、Still機能の解除(still off)、速度指定付きの早送り(Forward Play(speed))、速度指定付きの巻戻し(Backward Play(speed))、音声切り換え(Audio Change)、副映像切り換え(Subtitle Change)、アングル切り換え(Angle Change)といった機能である。AV再生ファンクションを実現するべく、再生エンジン25は、バッファ上に読み出されたAVストリームのうち、所望に時刻にあたる部分のデコードを行うよう、デコーダを制御する。所望の時刻からのデコードを行わせることにより、AVストリームにおいて、任意の時点での再生を可能することができる。
(再生制御エンジン26)
再生制御エンジン26は、プレイリスト情報に対する再生制御ファンクション(i)、再生装置102における状態取得/設定ファンクション(ii)といった諸機能を実行する。プレイリスト情報に対する再生制御ファンクションとは、再生エンジン25が行うAV再生ファンクションのうち、再生開始や再生停止を、カレントプレイリスト情報及びClip情報に従って行わせることをいう。これら機能(i)〜(ii)は、上位層からのAPIコールに応じて実行する。以上の再生エンジン25と、再生制御エンジンとの組みは、“AV再生ライブラリ”と呼ばれ、AV再生専用のライブラリとして再生装置102に実装される。
(BD−Jモジュール27)
BD−Jモジュール27は、Java(登録商標)プラットフォームであり、Java(登録商標)仮想マシン、コンフィグレーション、プロファイルからなる。これらのうちJava(登録商標)仮想マシンは、クラスファイルのインスタンスを構成するバイトコードの解釈実行を行うインタプリタであり、バイトコードをネイティブコードに翻訳してMPU16に実行させる。このインタプリタは、BD−Jアプリケーションの実行速度に直接影響を与える重要な部分であり、具体的な実装としては、バイトコードをネイティブコードに変換するJITコンパイラを備えたインタプリタとして実装することができる。このようなJITコンパイラの具備により、解釈実行の高速化を図ることができる。また、インタプリタの一部についてはハードウェアを用いて実装することができる。
(システムアプリケーション28)
システムアプリケーション28は、クラスファイルにて定義されたシステムプログラムであり、RAM15におけるヒープメモリに配置される。システムアプリケーション28の類型としては、クラスファイルに格納されたオブジェクト指向言語の構造体をバイトコードに変換し、ヒープメモリ上にロードする「クラスローダ」、「アプリケーションマネージャ」、アプリケーションに出力すべきイベント処理を行う「ユーザイベントマネージャ」、「ベンチマークスコア設定部」などがある。
以上がシステムアプリケーション28についての説明である。続いて、ベンチマークスコアの詳細について説明する。
<ベンチマークスコア>
図8(a)におけるテキストファイルは、例えば再生装置102に組み込まれたハードウェア及びファームウェア22に対するベンチマークスコアを格納している。ベンチマークスコアとは再生装置に組み込まれたハードウェア、ファームウェアの性能を示す指標であり、ベンチマークテストとは上述の指標を算出または計測するための試験である。ベンチマークプログラムとはベンチマークテストを行なうためのプログラムである。本実施形態に係る再生装置102に対するベンチマークテストは、再生装置102を出荷する前に、マニファクチャが再生装置102上でベンチマークアプリケーション29を実行することでなされる。ファームウェア22に組込まれたテキストファイルは、例えば公式のアプリケーションによるベンチマークテストの結果であり、この結果を“ベンチマークスコア”としてテキストファイルに書き込む。またこのとき、ベンチマークスコアに対するデジタル証明書、ベンチマークスコアを算出するために用いたベンチマークプログラムを発行した組織の組織ID、ベンチマークプログラムのアプリケーションIDを組み込む。
組み込まれたベンチマークスコアは、例えばかかるファームウェア22を介して、ハードウェアに処理を要求してから、処理が完了して応答が返るまでのターンアラウンド時間であり、ファームウェア22を最初に実行するとき、アプリケーションデータ領域における固定パスにて格納される。この固定パスは、例えば図14に示すADA−CertID−OrganizationID−ApplicationIDという組合せの固定ファイルパスである。CertID、OrganizationID、ApplicationIDはそれぞれ、ベンチマークスコアに対するデジタル信用証明書、ベンチマークスコアを算出するために用いたベンチマークプログラムを発行した組織の組織ID、ベンチマークプログラムのアプリケーションIDから特定できる情報である。ベンチマークスコアは、例えば改竄されているかどうかのチェック、上述のデジタル信用証明書の証明書の正当性のチェックを経た上で、固定ファイルパスで特定される。固定ファイルパスは例えば上述のデジタル信用証明書から特定される提供者ルート証明書に対応するルート証明書(例えば再生装置内に保持されている)のCertID、上述の組織の組織ID、ベンチマークプログラムのアプリケーションIDを組み合わせた固定ファイルパスで特定される。したがって、ファームウェア22が更新された場合でも、固定ファイルパスは変化しない。また、ベンチマークスコアは、ファームウェア22が更新されなければ、変化しない。ファームウェア22が更新されれば、アプリケーションデータ領域には、新たなテスト結果となるベンチマークスコアが書き込まれることになる。
マニファクチャは、再生装置102の出荷前に、再生装置102にファームウェア22を組み込んだ状態でベンチマークテストを実行する。その結果となるベンチマークスコアは、ファームウェア22に組み込まれる。また、ファームウェア22に組込まれたベンチマークスコアは、アプリケーションデータ領域に書き込まれる。更に、例えばユーザ宅で再生装置102がファームウェア22を更新した場合、更新されたファームウェア22の最初の実行時において、ファームウェア22に組み込まれたベンチマークスコアは、アプリケーションデータ領域における意図したロケーションに格納される。この場合、ロケーションとは、図6に示したADA−CertID−OrganizationID−ApplicationIDという固定ファイルパスで特定されるアプリケーションデータ領域である。
ベンチマークテストの対象となるファームウェア22を介したハードウェア処理には、例えば
a)JPEG、PNG等の圧縮イメージデータの展開、メモリへのロード、オーディオデータのメモリへのローディング、フォントデータのロード、
b)AV再生、AVストリームの切り替え、字幕、音声などの切り替え、
c)浮動小数点や三角関数などの演算、矩形イメージ描画(α合成あり、なし)、イメージ拡大縮小、多角形描画、スプライト描画、文字列描画など
がある。それら個別の機能実施を同時に複合的に実施した場合の時間も、ベンチマークの対象となる。
これらの処理は、ベンチマークテストの対象として公式に認定されており、識別情報で一意に指示できるようになっている。ベンチマークテストの対象となる処理が、利用可能なAPIメソッドに対応する場合、そのAPIメソッドの関数名を識別情報として用いることができる。
こうした処理を対象としたベンチマークテストの結果、つまり、
1)JPEG、PNG等の圧縮イメージデータの展開を要求してから、処理が完了するまでのターンアラウンド時間、
2)メモリへのロードを要求してから、処理が完了するまでのターンアラウンド時間、メモリへのローディング、ロードを要求してから、処理が完了するまでのターンアラウンド時間
3)AV再生呼び出しから実際の再生にかかるターンアラウンド時間、
4)AVストリームの切り替えを要求してから、処理が完了するまでのターンアラウンド時間、
5)字幕、音声などの切り替えを要求してから、処理が完了するまでのターンアラウンド時間、
6)浮動小数点や三角関数などの演算を要求してから、演算が完了するまでのターンアラウンド時間、
7)矩形イメージ描画を要求してから、処理が完了するまでのターンアラウンド時間、
8)イメージ拡大縮小、多角形描画、スプライト描画、文字列描画などを要求してから、描画が完了するまでのターンアラウンド時間
といったものが、ベンチマークスコアとしてファームウェア22に組込まれることになる。これら組み込まれたベンチマークテストの結果は、例えば再生装置102が図5(b)に示すように、BD−Jモードにおいて、キャラクタアニメーションの表示と、動画再生とを組み合わせたような合成映像をユーザに提示する場合に再生装置102にかかる負荷がどの程度なのかを示す指標となり、この指標に応じて例えば図6に示すキャラクタアニメーションの処理負荷を動的に切り替えることが可能となる。
次に、ベンチマークスコアの構成について説明する。
ベンチマークスコアは、例えばベンチマークテストの対象となった処理を識別する識別情報と、ターンアラウンド時間の計測値とを対応付けて構成される。ファームウェアに組込まれたテキストファイルは、例えば処理の識別情報と、ターンアラウンド時間の計測値との組みを羅列したリスト形式になっており、識別情報を用いることで、任意の処理のターンアラウンド時間を得ることができる。
かかる識別情報を、公式に定めておけば、ベンチマークスコアを格納したテキストファイルの読出時において、サービスアプリケーションは、処理識別情報を引数として、テキストファイルの読み出しを要求することができる。こうすることで、テキストファイル内の複数のベンチマークスコアのうち、その引数に対応するものを、サービスアプリケーションに引き渡すことも可能になる。
ターンアラウンド時間としては、45KHzの時間精度で表現することが望ましい。何故なら、AVストリームを構成するPESパケットのそれぞれには、PTS(Presentation Time Stamp ),DTS(Decode TIme Stamp)が付与されており、再生装置102の内部には、1/45,000秒という時間精度で、動作を行うSTC(System Time Clock)が存在する。そうしたSTCの時間精度で、ベンチマークスコアを作成しておけば、AVストリームの再生処理との同期を緻密に実行することができるからである。尚、プレイリスト情報のIn_Time、Out_Timeは、この45KHzの時間精度で定められているので、サービスアプリケーションが、プレイリスト情報による再生と同期して処理負荷を変化させるのにも都合がよい。
かかるベンチマークスコアは、再生装置102の開発環境において、ファームウェア22が完成した際、マニファクチャによってファームウェア22に組込まれるものである。ベンチマークスコアが、どのようにして得られたものかを以降、解説してゆく。
図9は、再生装置102の開発環境を示す図である。この開発環境において、再生装置102は、開発用コンピュータ105と、LAN接続されている。また、ファームウェア22には、ベンチマークスコアを除くファームウェア22、つまり、ファームウェア22を構成する実行形式ファイル、クラスファイルが記録されている。これらのものが完備しているので、本図の再生装置102は、製品としてユーザに供給されるものと同等の性能をもつ。そして、かかる再生装置102には、LANを介して開発用コンピュータ105からベンチマークアプリケーション29が供給される。
開発用コンピュータ105は、IDE、ADKのソフトウェアが実装されており、LANを通じたファームウェアの開発環境をユーザに提供する。IDE(Integrated Development Environment)とは、システムアプリケーションを構築するためのコンパイラ等から構成される。
ADK(Application Devlopment Kit)とは、JPDA(Java Platform Debugger Architecture)の仕組みを利用することでシステムアプリケーションのデバッグを実現する開発環境である。
再生装置102とコンピュータ105との送受信は、再生装置102とPCとを結ぶシリアルポート、Socketでなされる。Socketは、IEEE802.3(Ethernet(登録商標)),IP,TCP/UDP上に位置するセッション層の通信路であり、システムアプリケーションは、ネットワークモデルとして、IEEE802.3(Ethernet(登録商標)),IP,TCP/UDPを採用しているため、無論のこと、かかるSocketをデバッグ時の伝送路に採用することができる。
図10は、テキストファイルに格納されるベンチマークスコアが、どのようにして得られたものかを解説した図である。本図は、再生装置102が出荷される前の、ファームウェア22作成過程の一例を模式的に示している。
本図は、図8(b)をベースとして作図されており、このベースとなるレイヤモデルと比較して、BD−Jモジュール27上でベンチマークアプリケーション29が動作している点、再生装置102にコンピュータ105が接続されている点が異なる。ベンチマークアプリケーション29は、例えばBD-ROMドライブ1、HDドライブ13、カードドライブ14の何れかから、読み出されて、BD-Jモジュール27上で動作しているものである。さらに、コンピュータ105は、マニファクチャの作業担当者により操作されるものである。
本図におけるU字状の矢印は、かかるベンチマークアプリケーション29がファームウェアを介してハードウェアに対して処理を要求してから、その処理が完了して応答が返るまでの過程を模式的に示している。ベンチマークアプリケーション29は、ハードウェアが実行しうる様々な機能に対して再生装置102の出荷前にかかるターンアラウンド時間の計測を行って、ターンアラウンド時間の計測値を、外部に接続されたコンピュータ105にエクスポートする。コンピュータ105は、そうしてエクスポートされた計測値をハードディスク上のデータベースに蓄積し、複数の計測値から構成されるテキストファイルを形成してゆく。一通りの機能についてのベンチマークが完了し、計測値の蓄積が完了すれば、そうして得られたテキストファイルを、ファームウェア22を構成する実行形式ファイル、クラスファイルと一体化してファームウェア22を得る。
以上のように再生装置102のファームウェア22は、ターンアラウンド時間の計測と、その計測結果であるベンチマークスコアの組込みとがなされた上で、完成する。
ベンチマークスコアを格納したテキストファイルは、ファームウェア22を構成する実行形式ファイル及びクラスファイルと一体として扱われており、これらのテキストファイル、実行形式ファイル、クラスファイルは、例えば1つにまとめて、ZIPファイル等に格納することができる。ブート時にあたってベンチマークスコアを格納したテキストファイルは、実行形式ファイル及びクラスファイルと共にファームウェア22からRAM15に読み出され、RAM15の常駐領域に配置されて、MPU16におけるメモリ空間にマッピングされることになる。ベンチマークスコアを格納したテキストファイルは、実行形式ファイル及びクラスファイルと一体的になっているので、このようなベンチマークスコアの状態を、“ファームウェア22に組み込まれている”と呼ぶことにする。
以上が、マニファクチャによるベンチマークの実行についての説明である。
(ファームウェア22の更新)
続いて、ユーザによるファームウェア22の更新が、どのように行われるかについて説明する。
新たなファームウェア22を格納するためのリムーバブルメディアには、例えばSDメモリカードやCD−Rを利用することができる。
マニファクチャが運営するWWWサーバのWWWサイト、つまりマニファクチャにおける公式のWWWサイトには、再生装置102のファームウェア22について、バグの報告や最新のアップデート状況が告知されている。再生装置102が、ネットワーク接続されている場合、こうしたアップデート状況を常時監視しており、もしファームウェア22アップデートの告知があれば、再生装置102は、ネットワークを介して、新たなファームウェア22を格納したZIPファイルをダウンロードしてリムーバブルメディアに書き込む。上述したように、ファームウェア22を構成する実行形式ファイル、クラスファイル等は、テキストファイルと共にZIPファイルに格納されるので、新たなファームウェア22を格納したZIPファイルをダウンロードしてリムーバブルメディアに書き込むことで、ファームウェア22更新の準備が完了する。
再生装置102がネットワーク接続されておらず、スタンドアローンで使用されている場合、ユーザが所持するパソコンは、再生装置102の代わりに、再生装置102のファームウェア22における最新のアップデート状況の監視を行う。かかる監視は、例えば再生装置102に付属しているソフトウェアキットをパソコンにインストールすれば、当該パソコンが自動的に行うことになる。もしファームウェア22アップデートの告知があれば、そのソフトウェアキットがインストールされているパソコンは、ネットワークを介して、新たなファームウェア22を格納したZIPファイルのダウンロードを行い、自身のハードディスクに書き込む。
こうして新たなファームウェア22を格納したZIPファイルをリムーバブルメディアに書き込むことで、ファームウェア22更新の準備が完了する。新たなファームウェア22を格納したZIPファイルは、特殊な文字・数字(マジックナンバー)がファイル名として与えられており、その他のファイルと区別できるようになっている。 こうしたマジックナンバーを有したファイルが記録されたリムーバブルメディアが、装填された場合、再生装置102は、ファームウェア22の更新を行うことになる。以上がユーザによるファームウェア22の更新についての説明である。
<ブートローダ21>
続いて、再生装置102のソフトウェア的な構成要素であるブートローダ21について説明する。
図11は、ブートローダ21、システムアプリケーション28の内部構成を示す図である。
図11(a)は、ブートローダ21の内部構成を示す。本図に示すようにブートローダ21は、ファームウェア起動部31、ファームウェア更新部32から構成される。また、これらの構成要素が、共通にあつかうシステム制御の変数として、フラッシュROM18には、図11(b)に示すような“最初の実行を示すフラグ”が存在する。このフラグは、“0”に設定されることで、ファームウェア22が未実行である旨を示す。また、“1”に設定されることで、ファームウェア22の最初の実行は、完了したが、アプリケーションデータ領域におけるベンチマークスコアの書き込みが未完であることを示す。
“2”に設定されることで、ファームウェア22の最初の実行と、アプリケーションデータ領域におけるベンチマークスコアの書き込みとが完了したことを示す。
(ファームウェア起動部31)
ファームウェア起動部31は、MPU16の特権モードで動作することができるプログラムの1つであり、本装置の電源スィッチが押下されて、電源ユニットからMPU16、デバイスに電源が供給され、これらのハードウェアが起動した際、フラッシュROM18に格納されたファームウェア22をメモリ(例えば図7に示すRAM15におけるファームウェアの常駐領域)にロードして、MPU16による実行に供する。このロードの際、フラグの値が“0”であるか否かを判定することでファームウェア22の実行が、最初の実行であるかどうかの判定を行い、最初の実行であれば、フラグを“1”に設定する。このファームウェア22の最初の実行は、マニファクチャがファームウェアを完成した後の、マニファクチャによるファームウェア22の最初の実行と、ユーザによってファームウェアが更新された場合における、更新後のファームウェア22の最初の実行とがある。
図12は、ファームウェア起動部31がどのような処理を行い、ファームウェア22が、どのような経路を経てMPU16に供されるかを模式的に示す図である。矢印(2−a)は、ファームウェア起動部31による読出指示であり、矢印(2−b)は、この読出指示に基づく、フラッシュROM18からMPU16へのファームウェア22の供給を示す。矢印(2−c)は、ファームウェア起動部31によるフラグの更新(0→1)を模式的に示す。
(ファームウェア更新部32)
ファームウェア更新部32は、MPU16の特権モードで動作することができるプログラムの1つであり、本装置の電源スィッチが押下されて、電源ユニットからMPU16、デバイスに電源が供給され、これらのハードウェアが起動した際、新たなファームウェア22が記録されたリムーバブルメディアが装填されているかどうかを判定する。そして、リムーバブルメディアが装填されている場合、かかるリムーバブルメディアに、マジックナンバーがファイル名として付与されたファイルが存在するかどうかをチェックする。このマジックナンバーは、当該リムーバブルメディアに、アップデート後のファームウェア22が存在することを示す特殊な番号であり、かかるマジックナンバーをもったファイルがリムーバブルメディアに存在すれば、当該リムーバブルメディアから、新たなファームウェア22を読み出して、ファームウェア22上の古いファームウェア22を上書きする。こうした上書きの後、フラグを“0”に更新する。
図12では、ファームウェア更新部32による指示やデータの行き来を、矢印で模式化して描いた図である。矢印(1−a)は、マジックナンバーが付された新しいファームウェア22の読み出しであり、矢印(1−b)は、新たなファームウェア22を用いた上書きを模式的に示す。矢印(1−c)は、ファームウェア更新部32によるフラグの更新(1→0)を模式的に示す。
以上がブートローダ21についての説明である。図11(c)に戻ってシステムアプリケーション28の詳細について、説明する。図11(c)のシステムアプリケーション28には、アプリケーションマネージャ33、ベンチマークスコア設定部34が記述されている。尚、システムアプリケーション28の構成要素のうち、クラスローダ、ユーザイベントマネージャは、既に説明したので説明を省く。
(アプリケーションマネージャ33)
アプリケーションマネージャ33は、BD−Jオブジェクトにおけるアプリケーション管理テーブル(AMT)に基づいて、“アプリケーションシグナリング”を実行する。具体的には、再生装置102において再生対象となるタイトルの切り替わりが発生した場合、新たなタイトルに対応するBD−Jオブジェクトにおけるアプリケーション管理テーブルを参照して、この新たなタイトルを生存区間とするBD−Jアプリケーションがどれであるかを判定する。そして、判定されたBD−Jアプリケーションのロードをクラスローダに行わせる。本実施形態特有の処理として、再生装置102にBD−ROMが装填され、再生装置102が起動された際、ベンチマークスコア設定部34をBD−Jモジュール27による実行に供する。
(ベンチマークスコア設定部34)
初期化部に対応するベンチマークスコア設定部34は、MPU16の特権モードで動作することができるプログラムの1つであり、ファームウェアの最初の実行であるかを示すフラグが“0”か否かの判定を行い、もし“0”であれば、フラッシュROM18におけるファームウェア22からベンチマークスコアを読み出して、アプリケーションデータ領域に書き込む。
図13は、フラッシュROM18中のベンチマークスコアが、どのような経路を経てベンチマークスコア設定部34に供されるかを模式的に示す図である。矢印(3−a)は、フラグの供給経路であり、当該フラグの設定値は、ベンチマークスコア設定部34に供され、ファームウェア22の実行が最初かどうか、アプリケーションデータ領域にベンチマークスコアが書き込まれたかどうかの判定に供される。
矢印(3−b)は、フラッシュROM18からベンチマークスコア設定部34へのベンチマークスコアの供給経路を象徴的に示す。当該ベンチマークスコアは、MPUの特権モードのみで実行可能な、特殊なReadコマンド(Read要求)を発行することによって、フラッシュROM18から読み出され、ベンチマークスコア設定部34に引き渡されることになる。
矢印(3−c)は、ベンチマークスコア設定部34からPersistent領域(より具体的には、アプリケーションデータ領域)へのベンチマークスコアの供給経路を象徴的に示す。当該ベンチマークスコアは、ADA−CertID−OrganizationID−ApplicationIDという組合せの固定ファイルパスを用いたWrite要求によって、アプリケーションデータ領域に書き込まることになる。サービスアプリケーションによるWrite要求の発行は、ファイル読出のためのAPIメソッドをコールすることでなされる。Write要求におけるアクセス先は、固定ファイルパスを用いて特定される。
以上のように、ベンチマークスコアは、ファームウェア22に組込まれた形態で再生装置102に供給され、ファームウェア22が最初に実行された際、アプリケーションデータ領域に格納されることになる。
CertIDが“0g1a24ed”であり、OrganizationIDが“4”、ApplicationIDが“5”である場合、図14に示すようなディレクトリ・ファイル構成で、ベンチマークスコアは格納されることになる。図14は、CertIDが例えば“0g1a24ed”、OrganizationIDが例えば“4”、ApplicationIDが例えば“5”である場合の、ディレクトリ・ファイル構成の一例を示す図である。
この“4”というOrganizationIDが、BD再生装置102の標準化を推進する組織の一例を示す識別子であり、“5”というApplicationIDが、ベンチマークアプリケーション29の一例を示す識別子である場合、これら組織の識別子と、ベンチマークアプリケーション29の識別子とを組合せたファイルパスにより、ベンチマークスコアは読み出されることになる。
以降、このアプリケーションデータ領域に対するアクセスについて説明する。
図15は、アプリケーションデータ領域中のベンチマークスコアが、どのような経路を経てサービスアプリケーションに引き渡されかを示す図である。
矢印(5−a)は、サービスアプリケーションが放ったRead要求の供給経路である。サービスアプリケーションによるRead要求の発行は、ファイル読出のためのAPIメソッドをコールすることでなされる。Read要求におけるアクセス先は、固定ファイルパスを用いて特定される。固定ファイルパスを用いたRead要求は、アクセス制御機構24に引き渡され、アクセス制御機構24による権限チェックに供されることがわかる。
矢印(5−b)は、サービスアプリケーションからアクセス制御機構24へのデジタル信用証明書の供給経路を象徴的に示す。当該デジタル信用証明書は、アクセス制御機構24に引き渡される。
矢印(5−c)は、アプリケーションデータ領域からサービスアプリケーションへのベンチマークスコアの供給経路を象徴的に示す。サービスアプリケーションが正当権限を具備していることが認められれば、READ要求に従ってシステムアプリケーシ28は、ローカルストレージにおけるPersistent領域のアクセスを行い、その結果、矢印(5−d)に示すように、ベンチマークスコアはサービスアプリケーションに引き渡されることになる。
以上が、システムアプリケーション28の構成要素についての説明である。続いて、ファームウェア更新部32、ファームウェア起動部31が行う処理手順の詳細について説明する。
図16(a)は、ファームウェア更新部32の処理手順を示すフローチャートである。ステップS1は、リムーバブルメディアが装填されたかどうかの監視であり、リムーバブルメディアが装填されればステップS2に移行する。ステップS2は、マジックナンバーを有したファイルが存在するかどうかの判定である。もし存在しなければ何の処理も行わず、本フローチャートの処理を終了する。もし存在すれば、ステップS3において、リムーバブルメディアからファームウェア22を読み出して、フラッシュROM18における古いファームウェア22を上書きする。その後、ステップS4において、フラッシュROM18におけるフラグを、“0”に設定する。
図16(b)は、ファームウェア起動部31の処理手順を示すフローチャートである。電源が投入されれば、MPU16に対してリセット割込みが発生し、MPU16におけるプログラムカウンタは、リセットベクタに設定され、初期化プログラムが実行される。これにより、MPU16の動作モードが設定され、MPU16内の各種レジスタが初期化される。続いて、クロック、バス、メモリ等が初期化される。MPU16側の初期化が終了した後、今度はプログラムの初期化が開始され、ファームウェア起動部31に処理が移る。ステップS5は、フラグが“0”であるか否かの判定であり、判定結果に応じて、ステップS6を実行するか、スキップするかの制御を行う。フラグが“0”であれば、ステップS6において、フラグを“1”に設定する。これによりフラグは、フラッシュROM18におけるファームウェア22が最初に実行された状態を示すことになる。
その後、MPU16の初期化を行い(ステップS7)、基本デバイスの初期化を行って(ステップS8)、フラッシュROM18からRAM15にファームウェア22を転送する(ステップS9)。最後に、ファームウェア22を初期化して、起動する(ステップS10)。
図17は、ベンチマークスコア設定部34の処理手順を示すフローチャートである。本フローチャートでは、先ずファームウェア22からフラグを読み出して(ステップS11)、ステップS12の判定ステップを実行する。ステップS12は、フラグが“1”かどうかの判定であり、もし“1”であればステップS13〜ステップS15の処理を実行する。フラグが“1”でなければ、ステップS16、ステップS17を実行する。
ステップS13〜ステップS15の処理手順は、ファームウェア22からベンチマークスコアを格納したテキストファイルを読み出し(ステップS13)、そうして読み出されたテキストファイルを、ADA−CertID−OrganizationID−ApplicationIDという組合せの固定ファイルパスを用いてアプリケーションデータ領域に書き込む(ステップS14)。その後、フラグを“2”に設定する(ステップS15)というものである。
ステップS16、ステップS17の処理手順は、ファイルパスを用いてベンチマークスコアが存在するかどうかをチェックし(ステップS17)、存在すれば処理を終了するが、存在しなければ、ファームウェア22からベンチマークスコアを読み出して、アプリケーションデータ領域に書き込む(ステップS13〜ステップS15)。
以上のように本実施形態によれば、ベンチマークスコアはファームウェア22に組み込まれており、ファームウェア22が最初に実行された際、ベンチマークスコアは、アプリケーションデータ領域に書き込まれるので、BD−Jアプリケーションは、アプリケーションデータ領域をアクセスするだけで、ハードウェアの性能に応じた処理負荷の変更を実行することができる。
ベンチマークスコアはファームウェア22に組込まれているので、ファームウェア22の不定期な更新があったとしても、最新のファームウェア22に対応したベンチマークスコアが、再生装置102に供給されることになる。
(第2実施形態)
本実施形態では、アクセス制御機構24によるアクセス権限のチェックがどのように行われるかを具体的に開示する。かかるアクセス権限のチェックは、デジタル信用証明書を対象にしてなされる。
デジタル信用証明書は、ベンチマークプログラム(またはベンチマークスコア)またはデジタル信用証明書の配給者(ディストリビュータ)によって、デジタル信用証明書の要求元となるコンテンツオーサー(アプリケーションの作り手のことである)に供給される。この供給にあたって、以下に示す配信操作が必要となる。
A)ディストリビュータは、デジタル信用証明書を作成するために公開鍵を使用する。
B)コンテンツオーサーは、公開鍵がデジタル信用証明書に付けて供給されることを、ディストリビュータに要求する。この際、コンテンツオーサーは、証明されたハッシュ値をディストリビュータに供給する。
C)ディストリビュータは、供給されたハッシュ値を用いて、デジタル信用証明書を作成する。
このような過程を経ることで、ディストリビュータは、有効なデジタル信用証明書を獲得することができる。有効なデジタル信用証明書をもったBD−Jアプリケーションは、アプリケーションデータ領域におけるベンチマークスコアをアクセスすることができる。しかしながら、有効なデジタル信用証明書をもたないBD−Jアプリケーションは、アプリケーションデータ領域におけるベンチマークスコアをアクセスすることができない。
かかるデジタル信用証明書は、アーカイブファイルに組み込まれた上、BD−ROMに記録されて、再生装置102に供される。機能セグメントの検証には、上述したデジタル信用証明書の他、図2に示したBD.ROOT.CERTIFICATE(ディスクルート証明書)と、アーカイブファイルに存在するその他のファイルとが必要になる。以降、アーカイブファイルの内部構成について説明する。
Java(登録商標)アーカイブファイル(XXX.JAR)は、複数のファイルをディレクトリ構造の形で格納している。図18(a)はJava(登録商標)アーカイブファイルの内部構成の一例を示す図である。この構造は、ルートディレクトリ直下にXXXX.classが存在し、META−INFディレクトリにファイルMANIFEST.MF、ファイルSIG−BD.SF、ファイルSIG−BD.RSA、ファイルbd.XXXX.permが存在するというものである。以下、これらのファイルについて個別に説明してゆく。
(i)XXXX.class:クラスファイル
クラスファイルは、Java言語等、オブジェクト指向言語を用いて記述されたクラス構造体を格納している。
(ii)MANIFEST.MF:マニフェストファイル
マニフェストファイルは、デジタル証明書に対応するものであり、Java(登録商標)アーカイブファイルの属性、Java(登録商標)アーカイブファイル内のクラスファイルやデータファイルのハッシュ値が記載されているファイルである。Java(登録商標)アーカイブファイルの属性には、クラスファイルのインスタンスである、BD−Jアプリケーションに付与されるアプリID、Java(登録商標)アーカイブファイルを実行するために最初に実行すべきクラスファイル名がある。上記の二つのJava(登録商標)アーカイブファイルの属性が存在しない場合、Java(登録商標)アーカイブファイル中のクラスファイルのインスタンスであるBD−Jアプリケーションを実行しない。
(iii)SIG−BD.SF:シグネチャファイル、
SIG−BD.SFは、マニフェストファイルのハッシュ値が記載されているファイルである。
(iv)SIG−BD.RSA:デジタルシグネチャファイル
SIG−BD.RSAは、「デジタル証明書チェーン」、SIG−BD.SFの「署名情報」が記載されているファイルである。
SIG−BD.SFに対する「署名情報」は、署名処理をSIG−BD.SFに施すことで得られる。これらの署名処理には、SIG−BD.RSA内のデジタル証明書チェーンにおける公開鍵に対応する秘密鍵が用いられる。
「デジタル証明書チェーン」とは、一つ目の証明書(ルート証明書)が二つ目の証明書を署名し、また同じようにn番目の証明書がn+1番目の証明書を署名している形をもつ複数の証明書群である。デジタル証明書チェーンの最後の証明書を「リーフ証明書」と呼ぶ。この構成を利用することにより、ルート証明書から順番に次の証明書を保障していくことにより、デジタル証明書チェーンの最後の証明書までを保障することができる。
「ルート証明書」は、BD.ROOT.CERTIFICATEファイルに存在するディスクルート証明書301と同じ証明書を格納している。
「リーフ証明書」には、組織IDが記載されている。SIG−BD.SFは、PKCS#7という形式により格納されている。PKCS#7は署名および一つ以上のデジタル証明書を格納するためのファイル形式であり、IETF(Internet Engineering Task Force)より発行されたRFC2315に記載されている。RFC2315はhttp://www.ietf.org/rfc/rfc2315.txtより参照できる。
通常、このデジタル証明書チェーンは、1つであるが、後述する権限の提供がある場合、このデジタル証明書チェーンは2つ作られる。これら2つのデジタル証明書チェーンを、第1デジタル証明書チェーン、第2デジタル証明書チェーンと呼ぶ。第1デジタル証明書チェーンのルート証明書は、権限提供を受ける側の組織のディスクルート証明書を示し、リーフ証明書は、権限提供を受ける側の組織の組織IDを示す。第2デジタル証明書チェーンのルート証明書は、権限を提供する側の組織のディスクルート証明書を示し、リーフ証明書は、権限を提供する側の組織の組織IDを示す。一方、権限の提供がない場合、デジタル証明書チェーンは、1つ(第1デジタル証明書チェーン)のみになる。
マニフェストファイル、SIG−BD.SF、SIG−BD.RSAの詳細はJava(登録商標)アーカイブファイルの仕様に記載されている。マニフェストファイル、SIG−BD.SF、SIG−BD.RSAは署名処理および署名検証処理を行うために利用される。最終的にJava(登録商標)アーカイブファイル中のクラスファイルのインスタンスであるBD−Jアプリケーションやパーミッションリクエストファイル405をデジタル証明書により署名することが可能になる。以降マニフェストファイル、SIG−BD.SF、SIG−BD.RSAをまとめて「デジタル証明書による署名」と称する。
(v)bd.XXXX.perm:パーミッションリクエストファイル
bd.XXXX.permは、実行されるBD−Jアプリケーションにどのパーミッションを与えるのかの情報を格納するファイルである。具体的に以下の情報を格納する。
(ア)デジタル信用証明書(Credential)
以降、デジタル信用証明書について説明する。“デジタル信用証明書”とは、ある組織に帰属する組織ディレクトリ内のファイルを共有化するための情報である。この共有化は、ある組織に属するアプリケーション用ファイルを利用する権限を、他の組織に属するアプリケーションに提供することでなされる。そのためデジタル信用証明書は、権限を提供する側の組織を示す提供者組織ID、権限を受領する側の組織の識別を示す受領者組織IDを含む。
図18(b)は、デジタル信用証明書のデータ構造の一例を示す。デジタル信用証明書には、ルート認証局から提供者組織に配布されたルート証明書のハッシュ値51、提供者組織に割り当てられた提供者組織ID52、ルート認証局から受領者に配布された受領者ルート証明書のハッシュ値53、受領者組織に割り当てられた受領者組織ID54、受領者アプリID55、提供ファイルリスト56からなる。提供ファイルリスト56には、一つ以上の提供ファイル名57とアクセス方法58(読み取り可・書き込み可)の情報が格納されている。デジタル信用証明書が有効であるためには署名されなければならない。デジタル信用証明書の署名にはSIG−BD.RSAと同様にPKCS#7の方式を利用できる。
図18(c)は、デジタル信用証明書の具体的な一例を示す図である。本図におけるデジタル信用証明書は、ファイル「4/5/scores.txt」に対して読み取り許可、ファイル「4/5/score2.txt」に対して読み書き許可をデジタル信用証明書により与えていることになる。
続いて(イ)アプリ間通信の許可情報について説明する。一つのJava(登録商標)アーカイブファイルに含まれるBD−Jアプリケーションは通常、他のJava(登録商標)アーカイブファイルに含まれるBD−Jアプリケーションとの通信(アプリ間通信)が許可されない。bd.XXXX.permにアプリ間通信の許可が与えられている場合だけアプリ間通信が可能である。
デジタル信用証明書が有効であるためには署名されなければならないが、デジタル信用証明書の署名にはPKCS#7の方式を利用できる。PKCS#7は署名および一つ以上のデジタル証明書を格納するためのファイル形式であり、IETF(Internet Engineering Task Force)より発行されたRFC2315に記載されている。RFC2315はhttp://www.ietf.org/rfc/rfc2315.txtより参照できる。こうした署名の結果は、提供者ルート証明書のハッシュ値として、SIG−BD.SFに格納される。
以上が、bd.XXXX.permについての説明である。続いて、ルート証明書についてのより詳しく説明する。
図19は、権限の提供がない場合のSIG−BD.SF、BD.ROOT.CERTIFICATEの相互関係を示す図である。本図における矢印d1は、これらのファイルの内部構成の情報要素のうち、同一性があるものを示している。権限の提供がない場合、BD.ROOT.CERTIFICATE内のルート証明書(ディスクルート証明書)は、SIG−BD.RSAにおける第1のデジタル証明書チェーン内のルート証明書と同一性を有したものになる。
MANIFEST.MFは、クラスファイルXXXX.classに署名処理を施すことで得られたハッシュ値を含み、SIG−BD.SFは、MANIFEST.MFに署名処理を施すことで得られたハッシュ値を含み、SIG−BD.RSAは、SIG−BD.SFに署名処理を施すことで得られたハッシュ値を含んでいるので(矢印h1)、これらのハッシュ値が正しいかどうかを確認し、これらのハッシュ値の同一性を判定することで、再生装置102は、Java(登録商標)アーカイブファイルが正当なものか、改竄が加えられたものかを判断することができる。また権限の提供がないとの想定なので、本図では、bd.XXXX.permを示していない。
図20は、権限の提供がある場合のSIG−BD.SF、BD.ROOT.CERTIFICATE、bd.XXXX.permの相互関係を示す図である。本図における矢印d1〜d6は、これらのファイルの内部構成の情報要素のうち、同一性があるものを示している。権限の提供権限の提供があった場合も、BD.ROOT.CERTIFICATE内のルート証明書(ディスクルート証明書)は、SIG−BD.RSAにおける第1のデジタル証明書チェーン内のルート証明書と同一性を有したものになる(矢印d1)。一方、権限の提供があると、BD.ROOT.CERTIFICATE内のディスクルート証明書は、受領者のものになるので、bd.XXXX.permにおけるデジタル信用証明書の、受領者ルート証明書が、BD.ROOT.CERTIFICATE内のルート証明書と同一性をもつ(矢印d2)。また、デジタル信用証明書における受領者組織IDは、第1のデジタル証明書チェーンにおけるリーフの組織IDと同一性をもつ(矢印d3)。
bd.XXXX.permにおけるデジタル信用証明書の、提供者組織のルート証明書は、SIG−BD.SF内の第2のデジタル証明書チェーンにおけるルート証明書と同一性をもつ(矢印d4)。また、デジタル信用証明書における提供者組織IDは、SIG−BD.SFの第2のデジタル証明書チェーンにおけるリーフの組織IDと同一性をもつ(矢印d5)。デジタル信用証明書における受領者アプリIDは、bd.XXXX.permにおいてデジタル信用証明書以外の部分に存在するアプリIDと同一性をもつ(矢印d6)。
MANIFEST.MFは、クラスファイルXXXX.classから算出したハッシュ値を含み、SIG−BD.SFは、MANIFEST.MFから算出したハッシュ値を含み、SIG−BD.RSAは、SIG−BD.SFから取得したハッシュ値を含むので(矢印h1)、これらの署名が正しいかどうかを確認し、これらのハッシュ値の同一性を判定することで、再生装置102は、Java(登録商標)アーカイブファイルが正当なものか、改竄が加えられたものかを判断することができる。あらかじめ断っておくが、本実施形態では、ルート証明書の同一性を、それぞれのルート証明書について算出されたハッシュ値を比較し、これらのハッシュ値が一致しているかどうかで判断するものとする。またハッシュ値の算出は一度行えばよく、算出したものをメモリ等に記憶して、利用することが一般的に行われる。ルート証明書からハッシュ値を算出することや、メモリに格納したハッシュ値を取出すことを、ハッシュ値の「取得」と呼ぶ。
図21は、BD−Jアプリケーションが、アプリケーションデータ領域にアクセスする場合の処理手順を示すフローチャートである。
ステップS21は、ADA−CertID−OrganizationID−ApplicationIDという組合せの固定ファイルパスを用いたアクセス要求が存在したかどうかの判定であり、もしそうであるなら、ステップS22〜ステップS25を実行する。そうでないなら、そのアクセス要求に従った処理を行う。ステップS22〜ステップS25は、要求元のBD−Jアプリケーションのアーカイブファイルから、デジタル信用証明書を取り出し(ステップS22)、デジタル信用証明書を用いて要求元のサービスアプリケーションのアクセス権限をチェックして、検証が成功したかどうかを判定する(ステップS24)。検証が成功すれば、仮想ファイルシステム23におけるファイルI/Oを介して、要求対象となるテキストファイルを読み出し、要求元BD−Jアプリケーションに引き渡す(ステップS25)。検証が失敗すれば、要求元BD−Jアプリケーションが、仮想ファイルシステム23におけるファイルI/Oを介して、要求対象となるテキストファイルを読み出すことを許可せず、例外終了する。
上述の構成においては、ADA−CertID−OrganizationID−ApplicationIDという組合せの固定ファイルパスを用いたアクセス要求したかどうかを判定するようにしたが、例えばOrganizationID−ApplicationIDという組合せの固定ファイルパスを用いたアクセス要求をしたかどうかを判定し、検証が成功した場合、仮想ファイルシステム23におけるファイルI/Oは、デジタル信用証明書から特定された提供者ルート証明書の証明書IDを用いてCertIDを特定し、特定したCertIDと上述のOrganizationID−ApplicationIDを用いて、ADA−CertID−OrganizationID−ApplicationIDという組合せの固定ファイルパスに対応するテキストファイルを要求元BD−Jアプリケーションに引き渡しても良い。
このように構成することにより、アプリケーションが要求対象となるテキストファイルへアクセスすることを抑制するとともに、証明書ID(および証明書IDに対する提供者ルート証明書、またはリーフ証明書)の秘匿性を高くすることが可能となる。
図22は、デジタル信用証明書を用いた権限チェックの処理手順を示すフローチャートである。本フローチャートは、アクセスしようとするサービスアプリケーションに対して、ステップS31〜ステップS37の判定を順次行い、どれかの判定ステップの判定結果がNoであれば、検証失敗であると、検証結果を下すものである。
以降、ステップS31〜ステップS37における検証の内容が、どのようなものであるかを説明する。
ステップS31は、デジタル信用証明書における受領者ルート証明書のハッシュ値と、BD−ROMにおける、BD.ROOT.CERTIFICATE内のディスクルート証明書とが一致するかどうかを確認である。
ステップS32は、デジタル信用証明書における受領者組織IDと、ディスクルート証明書をルートとしたチェーンのリーフ証明書に記述された組織IDとが一致するかどうかの確認である。
ステップS33は、デジタル信用証明書における受領者アプリIDと、サービスアプリケーションのアプリIDと一致するかどうかの確認である。
ステップS34は、提供ファイルを特定するファイルパスの先頭に位置するディレクトリ名が、提供者組織IDと一致するかどうかの確認である。
ステップS35は、デジタル信用証明書に含まれる署名、つまり、提供者ルート証明書のハッシュ値が正しいかどうかの確認である。この確認は、デジタル信用証明書についてのハッシュ値を算出してみて、そうして算出されたハッシュ値が、デジタル信用証明書内の提供者ルート証明書のハッシュ値と一致しているかどうかの判定でなされる。
ステップS36は、デジタル信用証明書の署名である、SIG−BD.SFにおけるルート証明書のハッシュ値と、デジタル信用証明書内に記述されている提供者ルート証明書のハッシュ値とが一致するかどうかの確認である。
ステップS37は、デジタル信用証明書の署名である、SIG−BD.SFにおけるリーフ証明書の組織IDが、デジタル信用証明書内に記述されている提供者組織IDと一致するかどうかの判定である。
以上のステップS31〜ステップS37がすべてYesであるなら、検証が成功する。
以上の判定を経て、デジタル信用証明書の検証に成功した場合、アプリケーションデータ領域に記録されているベンチマークスコアに対して、デジタル信用証明書の提供アクセス方法に記述されたアクセスを、アクセス要求を行ったサービスアプリケーションに対して許す。
図14のデジタル信用証明書においては、4/5/scores.txt、4/5/scores2.txtという2種類のベンチマークスコアを保持するファイルに対するアクセスを許し、4/5/scores.txtに対しては読み取りのみ、4/5/scores2.txtに対しては読み書きを許している。
このように、デジタル信用証明書により検証されたサービスアプリケーションに対して、読み取りだけでなく、書き込みを許すことにより、サービスアプリケーションにより、ユーザ待ちを生じることのない程度のベンチマークを実行し、そのスコアを、デジタル信用証明書を持つサービスアプリケーション間で共有することが可能となる。
(第3実施形態)
第1実施形態では、ファームウェア22に組込まれたベンチマークスコアを読み出して、アプリケーションデータ領域に書き込んだが、本実施形態では、ファームウェア22に組み込まれたベンチマークスコアをローカルストレージにおけるアプリケーションデータ領域にコピーするのではなく、ベンチマークアプリケーション29は、ファームウェア22起動時にメモリ(例えば図7に示すRAM15)に展開する。
この展開は、例えば以下のようにして行われる。即ち、ベンチマークアプリケーション29はヒープエリア管理機能を用いて、メモリの空き領域にヒープメモリを確保して、そうして確保したヒープメモリに、ベンチマークスコアを書き込む。以降、アプリケーション間通信によって、ベンチマークスコアが書き込まれた旨を他のサービスアプリケーションに知らせ、ヒープメモリに存在するベンチマークスコアを、他のサービスアプリケーションに利用させる。
図23は、第3実施形態におけるベンチマークスコアの行き来を模式的に描いた図である。(6−a)は、再生装置102起動時における、フラッシュROM18からRAM15におけるヒープメモリへのベンチマークスコアの読み出しを模式的に示す。(6−b)は、サービスアプリケーションからの要求時における、RAM15からサービスアプリケーションへのベンチマークスコアの読み出しを模式的に示す。
こうすることで、ローカルストレージにおけるアプリケーションデータ領域へとベンチマークスコアをコピーするために生じる、遅延時間を短縮することができる。また、アプリケーションデータ領域がSDメモリカード等で構成されている場合、SDメモリカードに対する書き込み回数抑制することができる。
上述の例では、例えば図7に示すRAM15のヒープメモリにベンチマークスコアを書き込む構成としたが、ファームウェア22にベンチマークスコアは組み込まれているわけであるから、例えば本装置の電源スィッチが押下されて、電源ユニットからMPU16、デバイスに電源が供給され、これらのハードウェアが起動した際、フラッシュROM18に格納されたファームウェア22をRAM15におけるファームウェアの常駐領域にロードするときにベンチマークスコアもロードするような構成としても良い。
また上述の例では、以降、アプリケーション間通信によって、ベンチマークスコアが書き込まれた旨を他のサービスアプリケーションに知らせ、ヒープメモリに存在するベンチマークスコアを、他のサービスアプリケーションに利用させる構成について説明をしたがこれに限定をされる必要はなく、ベンチマークスコアをRAMへ書き込んだとき、RAM15における書き込んだ位置(例えばアドレス情報)に関する情報を保持する位置管理情報(図示せず)を作成しておき、アプリケーションプログラムからベンチマークスコアへのアクセスの要求があったとき位置管理情報に従って、RAM15におけるベンチマークスコアを読み出して、アプリケーションプログラムへ渡すように構成しても良い。
この場合、第1実施形態で述べたJavaTMI/Oメソッドを実現するファイルI/Oプログラムは、BD-Jアプリケーションプログラムから指定されたファイルパスを受け取ると、位置管理情報を参照し、RAM15上に展開したベンチマークスコアを読み込んでBD-Jアプリケーションプログラムへ返すことになる。
また上述の位置管理情報(図示せず)はRAM15におけるベンチマークスコアの格納位置に関する情報だけでなく、本来の格納場所(例えば、ADA−CertID−OrganizationID−ApplicationIDという組合せの固定ファイルパスによって特定される格納位置)との対応関係を併せて保持するようにしても良い。
このように構成すると、アプリケーションプログラムは本来の格納場所(例えば、ADA−CertID−OrganizationID−ApplicationIDという組合せの固定ファイルパスによって特定される格納位置)を指定して、ベンチマークスコアの読み出しを要求しても、ファームウェア22における仮想ファイルシステム23におけるファイルI/Oが位置管理情報(図示せず)を参照して、位置管理情報に従って、フラッシュROM18におけるベンチマークスコアを読み出して、読み出したベンチマークスコアを要求したアプリケーションプログラムへ引き渡すことができるようになる。
こうすることで、本来の格納場所(例えば、ADA−CertID−OrganizationID−ApplicationIDという組合せの固定ファイルパスによって特定される格納位置)であるアプリケーションデータ領域を含むローカルストレージが書き込み回数に上限があるメモリなどの場合、ローカルストレージへの書き込みを抑制できる。
また、ローカルストレージにおけるアプリケーションデータ領域へとベンチマークスコアをコピーするために生じる、遅延時間を短縮することができる。また、本来の格納場所であるアプリケーションデータ領域が半導体メモリカードで構成されている場合、半導体メモリカードに対する書き込み回数抑制することができる。

(第4実施形態)
第2実施形態では、リムーバブルメディアによって新たなファームウェア22が供給された場合、自動的にアプリケーションデータ領域に存在するベンチマークスコアの上書きを行ったが、本実施形態では、ファームウェア22の更新がなされた場合、既にアプリケーションデータ領域に存在するベンチマークスコアのバージョンと、新たなファームウェア22に組込まれたベンチマークスコアとのバージョン比較を行い、新たなFeRAM15組み込まれたベンチマークスコアが新しいと判定された場合にのみ、新たなファームウェア22内のベンチマークスコアを、アプリケーションデータ領域に書き込む。ベンチマークスコアは、テキストファイルに格納された状態でファームウェア22に組み込まれるので、テキストファイルの作成又は更新日時をベンチマークスコアのバージョンとして採用することができる。また、ベンチマークがなされた日時をテキストファイルに記録しておいて、この日時をベンチマークスコアのバージョンとして採用することもできる。
こうすることで、アプリケーションデータ領域がSDメモリカード等で構成されている場合、SDメモリカードに対する書き込み回数抑制することができる。
(第5実施形態)
本実施形態は、ベンチマークアプリケーション29によるベンチマークテストが、どのような処理手順で行われるかを具体的に開示する。図24は、ベンチマークアプリケーション29によるベンチマークテストの処理手順を示すフローチャートである。
本フローチャートは、ステップS43〜ステップS48の処理を、第1実施形態に示したハードウェアによる処理のそれぞれについて繰り返すというループ構造になっている。
ハードウェア処理としては、〜というものがあるので、これらのそれぞれを実行するためのAPIメソッドの呼出が、ベンチマークアプリケーション29に記述されていて、それらのAPIメソッドの呼出のそれぞれについて、ステップS43〜ステップS48が繰り返されることになる。
これらの網羅すべき処理のうち、処理対象となるものを処理Xとし、この処理Xについての形式時間、つまり、ターンアラウンド時間を計測時間Xと呼ぶ。ステップS43では、処理Xを定めて、計測時間Xを0に初期化する。ステップS44では、処理Xを実行させるためのAPIメソッドの呼出しを行う。具体的には、ベンチマークスコア評価用に定められたデータをBD−ROMやローカルストレージからRAM15に読み出すためのAPIメソッドの呼出しや、かかるデータをデコードさせるためのAPIメソッドの呼出し、ベンチマークスコア評価用に定められた演算式をMPU16に演算させるためのAPIメソッドの呼出しの呼び出しを行う。
その後、ステップS45〜ステップS47のループに移る。ステップS45は、APIメソッドの呼出しによって要求した処理が完了したかどうかの判定であり、未完であればステップS46において、ターンアラウンド時間における単位時間Wの経過待ちを行う(ステップS46)。
この単位時間Wは、例えば、MPU16が数百個以上の命令を実行するクロック時間であり、ベンチマークスコアにおけるターンアラウンド時間の時間精度を基準にして定められる。例えば、ターンアラウンド時間の時間精度に47KHzを採用した場合、MPU16の動作クロック時間は、このターンアラウンド時間の時間精度の1/数百以下の値になるので、ステップS46では、このターンアラウンド時間の単位時間の経過を待つ。
そして、この単位時間が経過すれば、計測時間Xに単位時間を加算することで計測時間Xを更新してステップS45に戻る。かかるステップS45〜ステップS47を繰り返すことで、処理Xの完了を待つまでの間、計測時間Xは、単位時間Wずつ増えてゆくことになる。
そして、処理Xが完了して、ベンチマークアプリケーション29に完了の通知イベントが返されれば、これまで単位時間Wが加算された計測時間Xを、処理Xの識別情報と対応付けて開発用コンピュータ105にエクスポートする。開発用コンピュータ105は、処理Xの識別情報と、計測時間Xとを羅列することで、処理Xについてのベンチマークスコアを得る。以降、同様の処理を繰り返すことで、処理Xの識別情報と、計測時間Xとが羅列されたベンチマークスコアのテキストファイルを得る。 このようなベンチマークテストでは、ベンチマークスコアの時間精度は、単位時間Wによって定められることになる。
ここで、BD−Jアプリケーションの実行主体であるJavaプラットフォームはイベントドリブンの実行主体であり、Javaプラットフォームは、ハードウェアの処理が未完了であったとしても、APIメソッドの解読と、下位層への指示を発した直後に応答を返してしまうことがある。そうすると、ベンチマークアプリケーション29がベンチマークテストを行うにあたって、正確な時間計測が不可能となる。そこで、ベンチマークテストのためのAPIメソッドを設け、このAPIメソッドの呼出し時には、処理が完了した正確な時点でイベントを返すようにするのが望ましい。こうすることで、ターンアラウンド時間の計測は、より正確なものとなる。
以上のように本実施形態によれば、APIメソッドの呼出しを行ってから、要求した処理が完了するまでのクロック時間をベンチマークアプリケーション29が、計測することで、一定の時間精度をもったベンチマークスコアを得ることができる。
(第6実施形態)
本実施形態は、リアルタイムオペレーティングシステム(リアルタイムOS)を、ファームウェア22の構成要素とした実施形態である。リアルタイムOSでは、最悪実行時間の予測が可能であり、AV再生のリアルタイム性の実現に好適である。
ファームウェア22として組み込まれる、リアルタイムOSの構成要素について説明する。リアルタイムOSは、カーネル、ミドルウェア及びデバイスドライバから構成される。これらのカーネル、ミドルウェア及びデバイスドライバが、ファームウェア22の構成要素となる。
1.カーネル
カーネルは、システムコール処理、割込信号により割込ハンドラを起動するハンドラ入口処理、割込ハンドラの出口処理を行い、タスクスケジューラを有する。各実施形態で述べたBD−Jアプリケーションは、リアルタイムOSでは、このカーネルによって、“アプリケーションタスク”として扱われる。アプリケーションタスクによるAPIメソッドの呼出しは、リアルタイムオペレーションシステムにおいては、上述したようなシステムコールで実現される。タスクスケジューラは、順次タスクを生成してMPUによる実行に供する。この生成は、実行すべきプログラムについてタスクコントロールブロックを作成して、それらを待ち行列に供することでなされる。
カーネルは、デバイス入出力要求のシステムコールがタスクから発行されれば、メモリプールからメモリブロックを確保し、そのブロックに、呼び出しに使用されたパラメータブロックを作成する。そしてそのパラメータブロックの先頭アドレスと、デバイス情報を記載したデバイステーブルのアドレスを引数にして、デバイスドライバをコールする。
2.ミドルウェア
ミドルウェアは、システムコールを実現するためのAPI(Application Programing Interface)群を具備しており、カーネルの存在を前提にして、ブラウザや、ファイルシステム、映像再生及び音声再生といった機能を実現する。アプリケーションは、デコーダといったデバイスを、このミドルウェアを介して、制御することができる。第1実施形態で述べた仮想ファイルシステム23、アクセス制御機構24、再生エンジン25、再生制御エンジン26、BD−Jモジュール27は、リアルタイムOSでは、このミドルウェアとして位置付けられる。
3.デバイスドライバ
デバイスドライバは、「割込ハンドラ部」と、「割込タスク部」、「リクエスト処理部」から構成される。デバイスドライバは、メモリ空間のシステム用領域にマッピングされ、特権モードで動作することになる。
「リクエスト処理部」は、パラメータブロックを入出力キューに登録した後、割り込み許可を行って、カーネルに復帰する。
「割込ハンドラ部」は、ハードウェアから割込み信号を受け付けると、デバイスとの間で、要求された入出力を行う。予定されている入出力が完了すれば、割り込みを禁止し、割込みタスクを起動する。未完了ならば、デバイスドライバに復帰する。次の入出力要求がなされると、再び割り込みハンドルが起動され、残りの入出力を続ける。
「割込みタスク」は、入力完了状態を引数にして、システムコールにより、入出力完了を、カーネルに通知する。かかる通知を受け取れば、カーネルは、依頼元のタスクを起床する。
APIメソッドの呼出しが、システムコールで実現される場合、ベンチマークアプリケーション29は、アプリケーションタスクがシステムコールを要求してから、デバイスが処理を実行して応答が返るまでのターンアラウンド時間を計測するのが望ましい。そしてマニファクチャは、この計測値をベンチマークスコアとしてファームウェア22に組み込むことになる。
以上のように本実施形態によれば、ドライブに対するアクセスやAV再生が、リアルタイムOSのシステムコールで実現されるので、リアルタイム性の確保が可能である。かかるリアルタイムOSでベンチマークアプリケーション29がベンチマークスコアの計測を行えば、ベンチマークスコアは、AV再生のリアルタイム性を保証した、正確な値となる。
(第7実施形態)
ファームウェア22は、本装置の電源スィッチが押下されて、電源ユニットからMPU16、デバイスに電源が供給され、これらのハードウェアが起動した際、フラッシュROMに格納されたファームウェア22をメモリ(例えば図7に示すRAM15におけるファームウェアの常駐領域)にロードして、MPU16による実行に供する構成について説明をしたが、これに限定される必要はなく、MPU16はフラッシュROM18に格納されたファームウェア22を直接読み込んで実行するように構成をしても良い。
このとき、アプリケーション間通信によって、フラッシュROM18に格納されたファームウェア22に組み込まれたベンチマークスコアを他のサービスアプリケーションに知らせ、フラッシュROM18に存在するベンチマークスコアを、他のサービスアプリケーションに利用させる構成としてもよい。
また、フラッシュROM18における格納位置(例えばアドレス情報)に関する情報を含む位置管理情報(図示せず)を作成しておき、アプリケーションプログラムからベンチマークスコアへのアクセスの要求があったとき位置管理情報に従って、フラッシュROM18におけるベンチマークスコアを読み出して、アプリケーションプログラムへ渡すように構成しても良い。
また上述の位置管理情報(図示せず)はフラッシュROM18におけるベンチマークスコアの格納位置に関する情報だけでなく、本来の格納場所(例えば、ADA−CertID−OrganizationID−ApplicationIDという組合せの固定ファイルパスによって特定される格納位置)との対応関係を併せて保持するようにしても良い。
このように構成すると、アプリケーションプログラムは本来の格納場所(例えば、ADA−CertID−OrganizationID−ApplicationIDという組合せの固定ファイルパスによって特定される格納位置)を指定して、ベンチマークスコアの読み出しを要求しても、ファームウェア22における仮想ファイルシステム23におけるファイルI/Oが位置管理情報(図示せず)を参照して、位置管理情報に従って、フラッシュROM18におけるベンチマークスコアを読み出して、読み出したベンチマークスコアを要求したアプリケーションプログラムへ引き渡すことができるようになる。
こうすることで、本来の格納場所(例えば、ADA−CertID−OrganizationID−ApplicationIDという組合せの固定ファイルパスによって特定される格納位置)であるアプリケーションデータ領域を含むローカルストレージが書き込み回数に上限があるメモリなどの場合、ローカルストレージへの書き込みを抑制できる。
(備考)
以上、本願の出願時点において、出願人が知り得る最良の実施形態について説明したが、以下に示す技術的トピックについては、更なる改良や変更実施を加えることができる。各実施形態に示した通り実施するか、これらの改良・変更を施すか否かは、何れも任意的であり、実施する者の主観によることは留意されたい。
(ベンチマークスコアのファイル形式)
第1実施形態において、ベンチマークスコアはテキストファイルに格納されたが、テキストファイルでは、中身の参照が容易であるので、ファームウェア22への組み込みにあたっては、ベンチマークスコアをバイナリファイルに格納しておくが望ましい。
(再生装置102の任意的な構成要素)
任意的要素として、再生装置102にレンダリングエンジンを設けてもよい。レンダリングエンジンは、Java(登録商標)2D,OPEN−GLといった基盤ソフトウェアを備え、BD−Jアプリケーションからの指示に従ってコンピュ−タ・グラフィックスの描画を行い、描画されたコンピュ−タ・グラフィックスをプレーンメモリに出力する。この描画を高速に行うには、任意的なハードウェア要素として、再生装置102に、グラフィクスアクセレータを追加するのが望ましい。 他にも、浮動小数点演算を行うコプロセッサ(Floating Pointed CoProcessor)が実装されていてもよい。
(デジタル信用証明書を検証する時期)
上記実施形態では、BD−Jアプリケーションからのベンチマークスコアアクセスが要求された場合に、デジタル信用証明書を解析検証するとしたが、このデジタル信用証明書の検証は、BD−Jアプリケーションの起動時やファームウェア22の起動時などのタイミングで予め行ってもよい。
(受領者組織の適用範囲)
受領者組織は、BD−ROMなどのサービスアプリケーションを含むコンテンツを製作した製作者であると仮定して説明を行ったが、コンテンツ製作者とは独立して、当該ベンチマークスコアアクセスを実施するBD−Jアプリケーションに対する署名を実施する組織であれば、どのような組織でもよい。この場合の受領者組織IDは、その組織を示すID番号となる。このように、実際にコンテンツ製作をする組織と独立した組織を受領者組織として運用できることは明らかである。
(機器の適用範囲)
これまでの説明は、ファームウェア起動部31、ファームウェア更新部32、ベンチマークスコア設定部34を、BD−ROMの再生を行う再生装置102に適用した場合について説明したが、かかる技術的事項の適用範囲は、そのようなBD−ROM再生装置102に限らない。例えば、録画機能を持つ再生装置102であっても良い。そのときベンチマークスコア情報は再生機能とそのほかの機能と共有されてもよい。例えば、再生機能を具備したパソコンに、ファームウェア起動部31、ファームウェア更新部32、ベンチマークスコア設定部34を適用する場合、ウェブブラウザやワードプロセッサが利用されている状態でのベンチマークスコア情報をファームウェア22に組み込んでおいてもよい。
(BD−Jアプリケーション供給の仕方)
上述したようなベンチマークスコアの組込み及び書き込みは、映像再生と、BD−Jアプリケーションの実行を関連付けさせて視聴を行なわせる機器であれば、一般のどのような機器に対しても適用可能である。例えば、BD−Jアプリケーションが、放送波やネットワークストリームに組み込まれて、供給されるような再生装置102においても、適用が可能となる。 (プログラム記述言語の適用範囲)
上記実施形態では、オブジェクト指向プログラミング言語としてJava(TM)言語を利用したが、Java(TM)ではなく、UNIX(登録商標) OSなどで使われているB−Shellや、Perl Script、ECMA Scriptなど他のプログラミング言語であっても良い。
(ベンチマークスコアの置き場所)
BD−Jアプリケーションからのアクセスを考慮したため、上記実施形態では、ベンチマークスコアはアプリケーションデータ領域に配置されたが、ベンチマークスコアを保持するための記録装置の物理的な実施形態は任意のものであってよく、ハードディスクやフラッシュメモリのような不揮発性の記憶装置であっても、DRAM15のような揮発性の記憶装置であってもよい。
(ベンチマークスコアの利用主体)
ベンチマークスコアを利用するベンチマークアプリケーション29は、BD−ROMではなく、WWWサーバからダウンロードされて、再生装置102内のローカルストレージに書き込まれたものであってもよい。かかるダウンロードにおいて、BD.ROOT.CERTIFICATEに収録され、ディスクルート証明書として書き込まれているルート証明書と同一性をもつルート証明書を、SIG−BD.SFに格納してJava(登録商標)アーカイブファイルに包含させる。こうすることで、Java(登録商標)アーカイブファイルを、ダウンロードにて再生装置102に供給する場合も、BD−ROMに割り当てたディスクルート証明書を用いることにより、Java(登録商標)アーカイブファイルの正当性を再生装置102に確認させることができる。
(BD−ROMコンテンツ)
BD−ROMに記録されるBD−Jアプリケーションは、映画作品を構成するものであるとしたが、ローカルストレージにインストールして利用されるアプリケーションではなく、BD−ROMに記録された状態で利用されるアプリケーションであるなら、これ以外のものを構成するものであってもよい。例えば、ゲームソフトを構成するアプリケーションであってもよい。また、本実施形態ではディスク媒体として、BD−ROMを題材に選んだが、可搬体であり、著作権保護がなされた記録媒体であるなら、他の記録媒体を採用してもよい。
またAVストリーム、プレイリスト情報は、プリレコーディング技術にて、BD−ROMに記録され、ユーザに供給されることを前提としたが、リアルタイムレコーディング技術にてBD−REに記録され、ユーザに供給されるものであってもよい。
この場合AVストリームは、アナログ入力信号を記録装置がリアルタイムエンコードすることにより得られたトランスポートストリームであってもよいし、記録装置がデジタル入力したトランスポートストリームをパーシャル化することで得られるトランスポートストリームであってもよい。
リアルタイムレコーディングにあたって記録装置は、AVストリームの記録と共に、メモリ上でClip情報やプレイリスト情報を生成する処理を行うが、この際、上述した各実施形態に記載したClip情報、プレイリスト情報をメモリ上で生成する。そしてAVストリームの記録を終えた後、生成されたClip情報、プレイリスト情報を記録媒体に書き込む。こうすることで、オーサリングシステムを用いずとも、家庭用の記録装置や、記録装置としての機能を具備したパーソナルコンピュータにて、各実施形態に示したClip情報、プレイリスト情報を作成することができる。そうして作成されたAVストリーム、Clip情報、プレイリスト情報を、ライトワンス型の記録媒体に書き込んでもよい。
(ベンチマークスコアとして示される時間)
サービスアプリケーションが、クライアントプログラムであり、ネットワーク上のサーバ装置に対して、処理を要求する場合、ベンチマークスコアは、処理を要求してから、処理が完了し、応答が返るまでのターンアラウンド時間を表現することが望ましい。上述したような、サーバ装置に対する処理は、クライアント側のプロトコルスタックにおけるオーバーヘッドと、サーバ装置側のプロトコルスタックにおけるオーバーヘッドとが発生し、これらによってターンアラウンド時間は変動を受ける。このように、クライアント側、サーバ側で、プロトコルスタックにおけるオーバーヘッドが発生する場合、このオーバーヘッドを加味したベンチマークスコアを、ファームウェア22に組み込んでおき、アプリケーションデータ領域に書き込むことで、サービスアプリケーションは、ネットワークにおけるトラフィックの大小に応じた、処理負荷調整を実現することができる。
ここで、プロトコルスタックは、プロトコルにおけるそれぞれのレイヤで独自のバッファをもち、上位から渡されたパケットを自レイヤにコピーして、当該レイヤ固有のデータを付加する処理で実現される。かかるプロトコルスタックには、Socket,TCP/UDP,IP,Ethernet(登録商標)(IEEE802.3)からなるものやSPX/IPX,トークンリング(IEEE802.5) からなるもの、NetBEUI,FDDI/TPDDI(ANSI X3T9.5)からなるものがある。これらのプロトコルスタックを通じて、ネットワークファイルシステム情報を取得することで、サービスアプリケーションは、ネットワーク上のドライブを、自機のローカルなドライブと同様にアクセスすることができる。
(ベンチマークスコアのバリエーション)
ベンチマークスコアは、ベンチマークアプリケーション29が計測するものに限らず、再生装置102の標準プレーヤモデルから、導きだすことができる値を、採用してもよい。再生装置102の標準プレーヤモデルでは、BD−ROMからバッファへとTSパケットを転送するための転送レートが詳細に記述されているため、ベンチマークスコアの中には、それら規定済みの転送レートが一意に導き出せるものも多いからである。
またベンチマークスコアに、マニファクチャ固有のもの、製品固有のもの、規格標準のものという複数のクラスを設け、これらのクラス毎に、ベンチマークスコアをサービスアプリケーションに利用させてもよい。
(ベンチマークスコアの書き込み時期)
再生装置102に電源が投入され、ファームウェア22が起動した際、その起動毎に、ファームウェア22に組み込まれたベンチマークスコアをアプリケーションデータ領域に書き込んでもよい。こうすることで、アプリケーションデータ領域には確実にベンチマークスコアが存在するという確実性を保証することができる。ベンチマークスコア書き込みの頻度は高いが、それでもアプリケーション起動の度にベンチマークを実行するよりは、サービスアプリケーションのスターティングディレイは短い。
(ハッシュ値)
各実施形態におけるハッシュ値とはSHA−1やMD5などのセキュアハッシュ関数を利用した結果の値である。セキュアハッシュ関数は、同じハッシュ値を持つ異なるデータを見つけるのは実質不可能であるという特徴を持っている。
(ルート証明書のハッシュ値)
各実施形態におけるルート証明書のハッシュ値とは、必ずしもルート証明書全体のデータから算出する必要はなく、少なくともルート証明書の中に含まれる公開鍵のデータのみから算出することにしてもよい。MANIFEST.MF、SIG−BD.SF、SIG−BD.RSAの中に格納されるハッシュ値の計算に利用されるセキュアハッシュ関数はディスク作成者が明示的に選択できる。
各実施形態ではbd.XXXX.permの中にあるデジタル信用証明書には提供者ルート証明書のハッシュ値51および受領者ルート証明書のハッシュ値53の計算に利用されるセキュアハッシュ関数が固定されていることを接続相手にしているが、bd.XXXX.permの中にあるデジタル信用証明書の中に、提供者ルート証明書のハッシュ値51および受領者ルート証明書のハッシュ値53の計算に利用されるセキュアハッシュ関数を明示するようにしても良い。
(ルート証明書の比較)
ルート証明書の比較は、ルート証明書が同じとあるかどうかの比較、ルート証明書の中に含まれる公開鍵が同じであるかどうかの比較を行うようにしても良い。また別の方式としては、SIG−BD.RSAの中にある一つ目の証明書(ルート証明書)を無視し、ルート証明書に続く二つ目の証明書がディスクルート証明書により署名されているかどうかを確認するようにしてもよい。どの方式を使ってもディスクルート証明書がSIG−BD.RSAの中の二つ目の証明書を保障していることになるためセキュリティ観点での効果が同じである。
アプリケーション間通信を悪用した攻撃は以下のとおりに作られた攻撃用BD−ROMを利用し試みることが考えられる。
1.攻撃対象のディスク作成者により作成された正当なBD−ROMから、デジタル証明書により署名されている攻撃対象のJava(登録商標)アーカイブファイルを読み取る
2.攻撃するためのJava(登録商標)アーカイブファイルを作成し、デジタル証明書により署名を行う
3.攻撃対象のJava(登録商標)アーカイブファイルと攻撃するためのJava(登録商標)アーカイブファイルを攻撃用BD−ROMに記録する。
攻撃するためのJava(登録商標)アーカイブファイルと攻撃対象のJava(登録商標)アーカイブファイルはともにデジタル証明書により署名されているが、どちらも異なるルート証明書を利用する。再生装置102において二つのJava(登録商標)アーカイブファイルにあるBD−Jアプリケーションに対してアプリ間通信のパーミッションが与えられれば、攻撃するためのJava(登録商標)アーカイブファイルが攻撃対象のJava(登録商標)アーカイブファイルに対して不正なアプリ間通信を行うことが可能になり、攻撃対象のJava(登録商標)アーカイブファイルは自身で利用する記憶領域に対して攻撃対象のディスク作成者により予期しない動作がされる。
上記の攻撃を防止するためにルート証明書の比較が必要である。尚、異なるルート証明書を利用するBD−Jアプリケーション同士のアプリ間通信を防止するようにしてもよい。そのとき、一つのBD−ROMに複数のディスクルート証明書を持つようにしてもよい。
(ベンチマークスコアの時間精度)
またベンチマークスコアは、処理を要求してから、処理が完了し、応答が返るまでのターンアラウンド時間を27MHzの時間精度で表現してもよい。何故なら、AVストリームを構成するTSパケットのそれぞれには、27MHzの時間ATCをもつATS(Arrival TIme Stamp)が付与されており、再生装置102の内部は、1/27,000,000秒という時間精度で、動作を行うATC(Arrival Time Clock)が存在する。そうしたATCの時間精度で、ベンチマークスコアを作成しておけば、サービスアプリケーションは、ATSに対する処理と同期するように、処理負荷の変化を実行することができるからである。
(バッファの実装)
各実施形態に示したバッファは、DPRAMで実現することが望ましい。DPRAM(Dual Port RAM)は、入出力インターフェイスを2系統もち、何れの側からもデータの読み書きをすることができるメモリである。DPRAMでは、データの矛盾を避けるよう、ハードウェアによって排他制御がなされる。ベンチマークスコアの測定にあたっては、かかるバッファの書き込み及び読み出しに要する時間を、緻密に評価する必要がある。
(デコーダの実装)
ビデオデコーダ、オーディオデコーダは、DSP(Digital Signal Processor)で構成するのが望ましい。DSPは、固定小数点型、浮動小数点型のものがあり、バレルシフタ、レジスタ、乗算器、加算器からなる積和演算器を具備している。この積和演算器により、平滑化処理等、デジタル信号処理を高速に行うことができる。圧縮符号化された映像、音声のデコーダには、DCT係数を用いた浮動小数点演算が必要になるので、かかるDSPをデコーダとして採用すれば、AV再生をリアルタイムに実現することができる。ベンチマークスコアの測定にあたっては、かかるデコーダが演算を行うのに要する時間を、緻密に評価する必要がある。
(システムLSI化)
図7に示した再生装置102を構成するハードウェアのうち、機構的な構成要素(BDドライブ1、HDドライブ13、カードドライブ14)、大容量のメモリによって実装される構成要素(ビデオ用のプレーンメモリ5、プレーンメモリ8)を除いた、論理素子を主要部とする部分を、1つのシステムLSIとして構成することが望ましい。何故なら、論理素子を主要部とする部分は、高密度に集積化することができるからである。図7では、1つのシステムLSIとして構成すべき部分を枠内に囲んでいる。但し、この図7のシステムLSI化は、一例であって、エレメンタバッファ7やビデオデコーダ4、オーディオデコーダ4、グラフィクスデコーダ6をも、一体のシステムLSIにしてもよい。
システムLSIとは、高密度基板上にベアチップを実装し、パッケージングしたものをいう。複数個のベアチップを高密度基板上に実装し、パッケージングすることにより、あたかも1つのLSIのような外形構造を複数個のベアチップに持たせたものも、システムLSIに含まれる(このようなシステムLSIは、マルチチップモジュールと呼ばれる。)。
ここでパッケージの種別に着目するとシステムLSIには、QFP(クッド フラッド アレイ)、PGA(ピン グリッド アレイ)という種別がある。QFPは、パッケージの四側面にピンが取り付けられたシステムLSIである。PGAは、底面全体に、多くのピンが取り付けられたシステムLSIである。
これらのピンは、他の回路とのインターフェイスとしての役割を担っている。システムLSIにおけるピンには、こうしたインターフェイスの役割が存在するので、システムLSIにおけるこれらのピンに、他の回路を接続することにより、システムLSIは、再生装置102の中核としての役割を果たす。
かかるシステムLSIは、再生装置102は勿論のこと、TVやゲーム、パソコン、ワンセグ携帯等、映像再生を扱う様々な機器に組込みが可能であり、本発明の用途を多いに広げることができる。

エレメンタバッファ7やビデオデコーダ4、オーディオデコーダ4、グラフィクスデコーダ6をも、一体のシステムLSIにする場合、システムLSIのアーキテクチャは、Uniphierアーキテクチャに準拠させるのが望ましい。
Uniphierアーキテクチャに準拠したシステムLSIは、以下の回路ブロックから構成される。
・データ並列プロセッサDPP
これは、複数の要素プロセッサが同一動作するSIMD型プロセッサであり、各要素プロセッサに内蔵されている演算器を、1つの命令で同時動作させることで、ピクチャを構成する複数画素に対するデコード処理の並列化を図る。
・命令並列プロセッサIPP
これは、命令RAM、命令キャッシュ、データRAM、データキャッシュからなる「Local Memory Contoroller」、命令フェッチ部、デコーダ、実行ユニット、レジスタファイルからなる「Processing Unit部」、複数アプリケーションの並列実行をProcessing Unit部に行わせる「Virtual Multi Processor Unit部」で構成される。
・MPUブロック
これは、ARMコア、外部バスインターフェイス(Bus Control Unit:BCU)、DMAコントローラ、タイマー、ベクタ割込コントローラといった周辺回路、UART、GPIO(General Purpose Input Output)、同期シリアルインターフェイスなどの周辺インターフェイスで構成される。各実施形態で述べたファームウェア22は、このMPUブロックとしてシステムLSIに実装される。
・ストリームI/Oブロック
これは、USBインターフェイスやATA Packetインターフェイスを介して、外部バス上に接続されたドライブ装置、ハードディスクドライブ装置、SDメモリカードドライブ装置とのデータ入出力を行う。
・AVI/Oブロック
これは、オーディオ入出力、ビデオ入出力、OSDコントローラで構成され、テレビ、AVアンプとのデータ入出力を行う。
・メモリ制御ブロック
これは、外部バスを介して接続されたSD−RAMの読み書きを実現するブロックであり、各ブロック間の内部接続を制御する内部バス接続部、システムLSI外部に接続されたSD−RAMとのデータ転送を行うアクセス制御部、各ブロックからのSD−RAM15のアクセス要求を調整するアクセススケジュール部からなる。
具体的な生産手順の詳細は以下のものになる。まず各実施形態に示した構成図を基に、システムLSIとすべき部分の回路図を作成し、回路素子やIC,LSIを用いて、構成図における構成要素を具現化する。
そうして、各構成要素を具現化してゆけば、回路素子やIC,LSI間を接続するバスやその周辺回路、外部とのインターフェイス等を規定する。更には、接続線、電源ライン、グランドライン、クロック信号線等も規定してゆく。この規定にあたって、LSIのスペックを考慮して各構成要素の動作タイミングを調整したり、各構成要素に必要なバンド幅を保証する等の調整を加えながら、回路図を完成させてゆく。
回路図が完成すれば、実装設計を行う。実装設計とは、回路設計によって作成された回路図上の部品(回路素子やIC,LSI)を基板上のどこへ配置するか、あるいは、回路図上の接続線を、基板上にどのように配線するかを決定する基板レイアウトの作成作業である。
こうして実装設計が行われ、基板上のレイアウトが確定すれば、実装設計結果をCAMデータに変換して、NC工作機械等の設備に出力する。NC工作機械は、このCAMデータを基に、SoC実装やSiP実装を行う。SoC(System on chip)実装とは、1チップ上に複数の回路を焼き付ける技術である。SiP(System in Package)実装とは、複数チップを樹脂等で1パッケージにする技術である。以上の過程を経て、本発明に係るシステムLSIは、各実施形態に示した再生装置102の内部構成図を基に作ることができる。
尚、上述のようにして生成される集積回路は、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。
FPGAを用いてシステムLSIを実現した場合は、多数のロジックエレメントが格子状に配置されており、LUT(Look Up Table)に記載されている入出力の組合せに基づき、縦・横の配線をつなぐことにより、各実施形態に示したハードウェア構成を実現することができる。LUTは、SRAMに記憶されており、かかるSRAMの内容は、電源断により消滅するので、かかるFPGAの利用時には、コンフィグ情報の定義により、各実施形態に示したハードウェア構成を実現するLUTを、SRAMに書き込むませる必要がある。
(プレーンメモリの実装)
プレーンメモリは、多大なメモリ容量を必要とするので、システムLSIに内蔵されているSRAMで実現するのは、望ましくない。外付けのSDRAMで実現するのが望ましい。またプレーンメモリが複数存在する場合は、バンクメモリ方式を採用し、MPUにおけるメモリ空間の一部に、これらをマッピングすることの良策である。ベンチマークスコアの測定にあたっては、かかるプレーンメモリからの読み出しや、書き込みに要する時間を、緻密に評価する必要がある。
(AV再生の対象)
AV再生の対象は、デジタルストリーム、マップ情報、プレイリスト情報から構成されるコンテンツであるなら、BD−ROMに規定されたものに限らない。デジタルストリームは、MPEG2,MPEG4−AVC等の符号化方式で符号化されたビデオストリーム、オーディオストリームを多重化することで、得られた多重化ストリームであり、DVD Video−Recording規格ではVOBと呼ばれる。
マップ情報は、上述したビデオストリームにおけるアクセスユニット(独立復号可能な再生単位をいう)のアドレス情報と、ビデオストリームの再生時間軸における再生時刻との対応を示す情報であり、DVD Video−Recording規格ではTime Mapと呼ばれる。
プレイリスト情報は、開始点たる時刻情報と、終了点たる時刻情報との組みにより、1つ以上の再生区間を定義する情報である。
再生装置102をマルチディスク対応機として開発する場合、ベンチマークスコアの測定にあたっては、かかるVOBをDVD−Videoから読み出して、デコードするのに要する時間を、緻密に評価してもよい。そして、DVD−Videoの再生におけるベンチマークスコアを、ファームウェアに組込んでおいてもよい。
本発明に係る再生装置は、各実施形態に示した内部構成を用いて工業的に生産することができるので、製造産業において利用される可能性がある。
100 BD−ROM
101 WWWサーバ
102 再生装置
103 テレビ
104 リムーバブルメディア
105 開発用コンピュータ
21 ブートローダ
22 ファームウェア
23 仮想ファイルシステム
24 アクセス制御機構
25 再生エンジン
26 再生制御エンジン
27 BD−Jモジュール
28 システムアプリケーション
29 ベンチマークアプリケーション
31 ファームウェア起動部
32 ファームウェア更新部
33 アプリケーションマネージャ
34 ベンチマークスコア設定部

Claims (15)

  1. 再生装置であって、
    記録媒体からデータを読み出すドライブ部、前記読み出したデータに含まれるAVデータを再生する再生部、プログラムを実行する処理部と、を具備したハードウェア部と、
    前記ハードウェア部を制御するファームウェアプログラムと、
    前記処理部が前記ファームウェアプログラムを実行する場合、所定の条件を満足すれば、初期化処理を行う初期化部と
    所定の記録領域を有する記録部を備え、
    前記ファームウェアプログラムには、ベンチマークスコアが組み込まれており、
    前記ベンチマークスコアは、前記ドライブ部によって前記記録媒体から読み出されたベンチマークプログラムを前記処理部により実行したとき、前記実行されるベンチマークプログラムからの命令に従って、前記処理部によって実行されるファームウェアプログラムを介して前記ハードウェア部に所定の処理を行わせた結果であって、前記再生装置の処理能力を示す指標であり、
    前記初期部は、前記処理部が前記ファームウェアプログラムを最初に実行する場合、前記ファームウェアプログラムに組み込まれているベンチマークスコアを、前記記録部における所定の記録領域に書き込むことにより前記記録領域に書き込んだベンチマークスコアを前記処理部により実行されるアプリケーションプログラムがアクセスできるようにした、
    ことを特徴とする再生装置。
  2. 前記ファームウェアプログラムが更新され、前記処理部が前記更新されたファームウェアプログラムを最初に実行する場合、
    前記初期化部は前記更新されたファームウェアプログラムに組み込まれたベンチマークスコアを前記記録部における所定の記録領域に書き込むことを特徴とする請求項1記載の再生装置。
  3. 前記記録領域に書き込んだベンチマークスコアに前記処理部により実行されるアプリケーションプログラムがアクセスする場合、前記アプリケーションプログラムに対応する信用証明書であって、前記アプリケーションプログラムが前記記録領域に書き込んだベンチマークスコアへのアクセス権限に対する情報を含んだ信用証明書の有効性を判断し、前記有効であると判断された信用証明書に含まれる前記ベンチマークスコアへのアクセス権限に対する情報に基づいて、前記アプリケーションプログラムが前記記録領域に書き込んだベンチマークスコアにアクセス可能か否かを判定する判定部を備えたことを特徴とする請求項2記載の再生装置。
  4. 前記記録部における所定の記録領域は、前記ベンチマークプログラムを提供した組織を識別する識別子と、前記ベンチマークアプリケーションを識別する識別子とを含んだファイルパスを用いて特定されることを特徴とする請求項3記載の再生装置。
  5. 前記ファームウェアプログラムは前記アプリケーションプログラムから前記記録領域に書き込んだベンチマークスコアへのアクセス要求に対し、前記記録領域に書き込んだベンチメークスコアをアクセス要求したアプリケーションプログラムへ返すI/Oプログラムを含み、
    前記アプリケーションプログラムが前記ベンチマークスコアへのファイルパスを指定して、前記ベンチマークスコアへのアクセスを要求したとき、
    前記処理部は前記I/Oプログラムを実行し、前記I/Oプログラムは指定されたファイルパスに基づいて特定されるベンチマークスコアを、前記アプリケーションプログラムへ返すように構成したことを特徴とする請求項4に記載の再生装置。
  6. 前記処理部は前記ファームウェアプログラムを格納するための第1の記録領域を有する第1の記録部、前記第1の記録部に格納されたファームウェアプログラムおよび実行対象のアプリケーションプログラムをロードするための第2の記録領域を有する第2の記録部、前記第2の記録領域にロードされたファームウェアプログラムおよびアプリケーションプログラムを実行する処理部本体を備えたことを特徴とする請求項5に記載の再生装置。
  7. 前記第2の記録領域に前記ファームウェアプログラムに組み込んだベンチマークスコアを展開した場合、
    前記ベンチマークスコアを本来書き込むべき位置を示す前記記録部におけるファイルパスに関する情報と前記ベンチマークスコアを展開した前記第2の記録領域上の位置に関する情報とを含んだ位置情報を生成し、
    前記I/Oプログラムは前記アプリケーションプログラムから指定されたファイルパスを受け取ると、前記位置情報を参照し、前記第2の記録領域に展開したベンチマークスコアを読み込んで前記アプリケーションプログラムへ返すように構成したことを特徴とする請求項6記載の再生装置。
  8. 前記処理部は前記ファームウェアプログラムを格納するための第1の記録領域を有する第1の記録部、実行対象のアプリケーションプログラムをロードするための第2の記録領域を有する第2の記録部、前記第1の記録領域に格納されたファームウェアプログラムおよび前記第2の記録領域にアプリケーションプログラムを実行する処理部本体を備えたことを特徴とする請求項5に記載の再生装置。
  9. 前記信用証明書は前記ベンチマークスコアへのファイルパスに関する情報を含む、請求項5に記載の再生装置。
  10. 前記アプリケーションは、さらに、前記信用証明書に対して所定の処理を行うことによって得られた署名情報を保持し、
    前記判定手段は、前記アプリケーションが前記ベンチマークスコアにアクセスしようとする場合に、前記アプリケーションが保持している信用証明書と署名情報を用いて、前記アプリケーションが前記ベンチマークスコアにアクセス可能か否かを判定することを特徴とする請求項3記載の再生装置。
  11. 前記初期化部は、前記記録部における所定のパスによって定められる記録領域に前記ベンチマークスコアが書き込まれているか否かの判定を行い、前記ベンチマークスコアが書き込まれていないと判定した場合に、前記ファームウェアプログラムに組み込まれているベンチマークスコアを、前記記録部における所定のパスによって定められる記録領域に書き込むことを特徴とする請求項4記載の再生装置。
  12. 前記初期化部は、前記ファームウェアプログラムが更新された場合に、前記更新されたファームウェアプログラムに組み込まれているベンチマークスコアのバージョンと前記アプリケーションデータ領域に存在するベンチマークスコアのバージョンとのバージョン比較を行って、前記更新されたファームウェアプログラムに組み込まれたベンチマークスコアの方が新しいと判定した場合、前記ファームウェアプログラムに組み込まれているベンチマークスコアを、記記録部における所定のパスによって定められる記録領域に書き込むことを特徴とする請求項4記載の再生装置。
  13. 前記ベンチマークスコアをメモリに展開して、メモリ上のベンチマークスコアを、アプリケーションに利用させることを特徴とする請求項3記載の再生装置。
  14. 記録媒体からデータを読み出すドライブ部、前記読み出したデータに含まれるAVデータを再生する再生部、を具備したハードウェア部と、所定の記録領域を有する記録部を備えた再生装置に用いる集積回路であって、
    前記集積回路は、
    プログラムを実行する処理部と、
    前記ハードウェア部を制御するファームウェアプログラムと、
    前記処理部が前記ファームウェアプログラムを実行する場合、所定の条件を満足すれば、初期化処理を行う初期化部とを備え、
    前記ファームウェアプログラムには、ベンチマークスコアが組み込まれており、
    前記ベンチマークスコアは、前記ドライブ部によって前記記録媒体から読み出されたベンチマークプログラムを前記処理部により実行したとき、前記実行されるベンチマークプログラムからの命令に従って、前記処理部によって実行されるファームウェアプログラムを介して前記ハードウェア部に所定の処理を行わせた結果であって、前記再生装置の処理能力を示す指標であり、
    前記初期部は、前記処理部が前記ファームウェアプログラムを最初に実行する場合、前記ファームウェアプログラムに組み込まれているベンチマークスコアを、前記記録部における所定の記録領域に書き込むことにより前記記録領域に書き込んだベンチマークスコアを前記処理部により実行されるアプリケーションプログラムがアクセスできるようにした、
    ことを特徴とする集積回路。
  15. 記録媒体からデータを読み出すドライブ部、前記読み出したデータに含まれるAVデータを再生する再生部、プログラムを実行する処理部と、を具備したハードウェア部と、
    前記ハードウェア部を制御するファームウェアプログラムと、
    所定の記録領域を有する記録部を備え、
    前記ドライブ部によって前記記録媒体から読み出されたベンチマークプログラムを前記処理部により実行したとき、前記実行されるベンチマークプログラムからの命令に従って、前記処理部によって実行されるファームウェアプログラムを介して前記ハードウェア部に所定の処理を行わせた結果であって、前記再生装置の処理能力を示す指標であるベンチマークスコアが前記ファームウェアプログラムに組み込まれた再生装置における再生方法であって、
    前記処理部が前記ファームウェアプログラムを最初に実行する場合、前記ファームウェアプログラムに組み込まれているベンチマークスコアを、前記記録部における所定の記録領域に書き込むステップ、
    前記記録領域に書き込んだベンチマークスコアを前記処理部により実行されるアプリケーションプログラムにアクセスさせるステップを含む
    ことを特徴とする再生方法。
JP2009502462A 2007-03-02 2008-02-29 再生装置、システムlsi、初期化方法 Expired - Fee Related JP4906913B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009502462A JP4906913B2 (ja) 2007-03-02 2008-02-29 再生装置、システムlsi、初期化方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2007053162 2007-03-02
JP2007053162 2007-03-02
PCT/JP2008/000410 WO2008108084A1 (ja) 2007-03-02 2008-02-29 再生装置、システムlsi、初期化方法
JP2009502462A JP4906913B2 (ja) 2007-03-02 2008-02-29 再生装置、システムlsi、初期化方法

Publications (2)

Publication Number Publication Date
JPWO2008108084A1 JPWO2008108084A1 (ja) 2010-06-10
JP4906913B2 true JP4906913B2 (ja) 2012-03-28

Family

ID=39737982

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009502462A Expired - Fee Related JP4906913B2 (ja) 2007-03-02 2008-02-29 再生装置、システムlsi、初期化方法

Country Status (7)

Country Link
US (1) US8522339B2 (ja)
EP (1) EP2116934B1 (ja)
JP (1) JP4906913B2 (ja)
KR (1) KR101430279B1 (ja)
CN (1) CN101589369B (ja)
ES (1) ES2404807T3 (ja)
WO (1) WO2008108084A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8433929B2 (en) * 2007-04-19 2013-04-30 Panasonic Corporation Data management device, stored data management method and computer program
WO2008146476A1 (ja) * 2007-05-24 2008-12-04 Panasonic Corporation メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びアクセス装置
JP2010191665A (ja) * 2009-02-18 2010-09-02 Sony Corp 情報処理装置、情報処理方法、およびプログラム、並びに記録媒体
US8732749B2 (en) 2009-04-16 2014-05-20 Guest Tek Interactive Entertainment Ltd. Virtual desktop services
BRPI1004351A2 (pt) 2009-06-11 2020-06-23 Panasonic Corporation Dispositivo de reprodução, circuito integrado, meio de gravação.
WO2010143439A1 (ja) * 2009-06-12 2010-12-16 パナソニック株式会社 再生装置、集積回路、記録媒体
US9229734B2 (en) * 2010-01-15 2016-01-05 Guest Tek Interactive Entertainment Ltd. Hospitality media system employing virtual user interfaces
US9003455B2 (en) 2010-07-30 2015-04-07 Guest Tek Interactive Entertainment Ltd. Hospitality media system employing virtual set top boxes
US8495108B2 (en) * 2010-11-30 2013-07-23 International Business Machines Corporation Virtual node subpool management
US9910659B2 (en) * 2012-11-07 2018-03-06 Qualcomm Incorporated Methods for providing anti-rollback protection of a firmware version in a device which has no internal non-volatile memory
EP2808818B1 (en) * 2013-05-29 2016-07-13 Nxp B.V. Processing system
FR3014576B1 (fr) * 2013-12-10 2018-02-16 Mbda France Procede et systeme d'aide a la verification et a la validation d'une chaine d'algorithmes
JP6361390B2 (ja) * 2014-09-10 2018-07-25 富士通株式会社 ストレージ制御装置および制御プログラム
US9294492B1 (en) * 2015-03-10 2016-03-22 Iboss, Inc. Software program identification based on program behavior
CN104679578B (zh) * 2015-03-12 2018-09-07 绚视软件科技(上海)有限公司 BD-java平台上的最小内存自适应机制及使用方法
CN107870877B (zh) * 2016-09-23 2024-04-23 伊姆西Ip控股有限责任公司 用于在存储系统中管理数据访问的方法和系统
JP7087634B2 (ja) * 2018-04-26 2022-06-21 富士通株式会社 リソース管理装置及びリソース管理プログラム
KR102137194B1 (ko) 2018-10-31 2020-07-24 엘지전자 주식회사 이동 단말기
CN111338662A (zh) * 2018-12-18 2020-06-26 深圳市优必选科技有限公司 从站的固件升级方法、固件升级装置及终端
CN111158969B (zh) * 2019-12-31 2024-03-08 奇安信科技集团股份有限公司 数据处理方法、电子设备和存储介质
CN114397868A (zh) * 2021-12-03 2022-04-26 陕西法士特齿轮有限责任公司 集成式自动机械式变速箱的硬件在环测试平台及测试方法
US20230214822A1 (en) * 2022-01-05 2023-07-06 Mastercard International Incorporated Computer-implemented methods and systems for authentic user-merchant association and services

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08289251A (ja) * 1995-04-18 1996-11-01 Tec Corp マルチメディア処理装置
US6678812B1 (en) * 1996-01-16 2004-01-13 Intel Corporation Method and apparatus for optimizing hard drive performance
US6378013B1 (en) * 1998-09-17 2002-04-23 Micron Technology, Inc. System for assessing performance of computer systems
US6405329B1 (en) * 1999-07-27 2002-06-11 Dell Usa, L.P. Method and apparatus for HDD time stamp benchmark and installation identification
US7155415B2 (en) * 2000-04-07 2006-12-26 Movielink Llc Secure digital content licensing system and method
US7213266B1 (en) * 2000-06-09 2007-05-01 Intertrust Technologies Corp. Systems and methods for managing and protecting electronic content and applications
JP2002099430A (ja) 2000-09-26 2002-04-05 Minolta Co Ltd データ処理装置および方法
US6769054B1 (en) * 2001-02-26 2004-07-27 Emc Corporation System and method for preparation of workload data for replaying in a data storage environment
US7124152B2 (en) * 2001-10-31 2006-10-17 Seagate Technology Llc Data storage device with deterministic caching and retention capabilities to effect file level data transfers over a network
JP2004056620A (ja) * 2002-07-23 2004-02-19 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US8307156B1 (en) * 2002-07-31 2012-11-06 Western Digital Technologies, Inc. Adaptively modifying pre-read operations within a rotating media storage device
US7184934B2 (en) * 2003-06-26 2007-02-27 Microsoft Corporation Multifaceted system capabilities analysis
WO2005017735A1 (ja) 2003-08-19 2005-02-24 Fujitsu Limited ディスクアレイ装置におけるボトルネックを検出するシステムおよびプログラム
GB0322045D0 (en) * 2003-09-20 2003-10-22 Koninkl Philips Electronics Nv A network-based gaming system
US20050086640A1 (en) * 2003-10-21 2005-04-21 Mikko Kolehmainen Initiating execution of application programs on a data processing arrangement
US7427027B2 (en) * 2004-07-28 2008-09-23 Sandisk Corporation Optimized non-volatile storage systems
GB2423408A (en) * 2005-02-22 2006-08-23 Zootech Ltd Identifying audiovisual apparatus and associated methods and content stored on data carriers
EP1877882A4 (en) * 2005-04-29 2011-05-18 IMPROVING POWER METHODS IN SYSTEMS WITH RENEWABLE ENERGY
US7659897B1 (en) * 2006-06-30 2010-02-09 Nvidia Corporation System, method, and computer program product for video benchmarking
US20080034440A1 (en) * 2006-07-07 2008-02-07 Michael Holtzman Content Control System Using Versatile Control Structure
US20080170837A1 (en) * 2007-01-12 2008-07-17 Zootech Limited Information processing system
JP2008226365A (ja) * 2007-03-13 2008-09-25 Matsushita Electric Ind Co Ltd 音声再生装置及び音声再生方法

Also Published As

Publication number Publication date
KR20090122909A (ko) 2009-12-01
KR101430279B1 (ko) 2014-08-14
CN101589369A (zh) 2009-11-25
US20100031347A1 (en) 2010-02-04
EP2116934A4 (en) 2010-06-09
CN101589369B (zh) 2013-01-23
EP2116934A1 (en) 2009-11-11
JPWO2008108084A1 (ja) 2010-06-10
WO2008108084A1 (ja) 2008-09-12
US8522339B2 (en) 2013-08-27
EP2116934B1 (en) 2013-04-10
ES2404807T3 (es) 2013-05-29

Similar Documents

Publication Publication Date Title
JP4906913B2 (ja) 再生装置、システムlsi、初期化方法
US8320735B2 (en) Reproducing apparatus
US8036513B2 (en) Playback apparatus and playback method
US8588580B2 (en) Playback device, recording medium, playback method and program
US8051100B2 (en) Recording medium, recording device, and playback device for use in individual sales and method therefor
US8719566B2 (en) Application executing device, managing method, and program
US8326120B2 (en) Playback apparatus for performing application-synchronized playback
JP4491035B2 (ja) 再生装置、デバッグ装置、システムlsi、プログラム
US8433929B2 (en) Data management device, stored data management method and computer program
KR101470961B1 (ko) 재생장치, 기록방법
US8380042B2 (en) Reproduction device, reproduction method, and program
KR20110036882A (ko) 기록매체, 재생장치, 집적회로, 재생방법, 프로그램
JP5451745B2 (ja) 再生装置、集積回路、再生方法、アプリケーションプログラム、記録媒体、記録装置、及び記録方法
JPWO2009157163A1 (ja) 再生装置、再生装置の制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101214

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: 20111213

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120110

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4906913

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