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

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

Info

Publication number
JPWO2009128232A1
JPWO2009128232A1 JP2010508106A JP2010508106A JPWO2009128232A1 JP WO2009128232 A1 JPWO2009128232 A1 JP WO2009128232A1 JP 2010508106 A JP2010508106 A JP 2010508106A JP 2010508106 A JP2010508106 A JP 2010508106A JP WO2009128232 A1 JPWO2009128232 A1 JP WO2009128232A1
Authority
JP
Japan
Prior art keywords
application
resume
playback
parameter
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010508106A
Other languages
English (en)
Other versions
JP5406178B2 (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 JP2010508106A priority Critical patent/JP5406178B2/ja
Publication of JPWO2009128232A1 publication Critical patent/JPWO2009128232A1/ja
Application granted granted Critical
Publication of JP5406178B2 publication Critical patent/JP5406178B2/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
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • G11B19/04Arrangements for preventing, inhibiting, or warning against double recording on the same blank or against other recording or reproducing malfunctions
    • G11B19/047Recovery from power failure
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/322Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier used signal is digitally coded
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/36Monitoring, i.e. supervising the progress of recording or reproducing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/806Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal
    • H04N9/8063Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal using time division multiplex of the PCM audio and PCM video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • H04N9/8227Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being at least another television signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Abstract

再生装置は、AV再生と、BD-Jアプリケーションの動作とが連動している場合、BD-Jアプリケーション終了時などに、実行されているBD-Jアプリケーションが格納した値を不揮発性メモリに退避し、次回再生開始時に、そのBD-Jアプリケーションが取得可能な領域へ復元する。その上で、BD-Jアプリケーションを起動する。

Description

本発明は、状態退避及び状態復帰技術の技術分野に属する発明である。
状態退避とは、装置への電源供給が突然絶たれるとの不測の事態に備えて、動作再開に必要なデータの一部を不揮発性の第2記憶媒体に書き込んでおく技術であり、いわば、旧来からの停電対策同様、装置の安定動作にはなくてはならない不可欠な処理である。一方、状態復帰とは、装置への電源供給が再開した後に、不揮発性の第2記憶媒体に書き込まれたデータに基づき、電源供給が絶たれる前の動作を速やかに回復する技術である。DVD-VideoのAV再生を実行するような再生装置において、状態退避・状態復帰は、AV再生を停止する際に、物理的もしくは論理的な再生位置を、不揮発性の第2記憶媒体に書き込んでおき、次回の再生時には、不揮発性の第2記憶媒体に書き込むまれた再生位置から、再生を再開することでなされる。
特許第3438729号 特開2003-77222 特開昭62-169218
AV再生の対象となるコンテンツには、DVD-Videoコンテンツと、BD-ROMコンテンツという、二種類のものがある。DVD-Videoコンテンツで使われる命令群は、いわゆるコマンドインタープリタによって解読されるコマンドであり、何番目の命令を実行していたというプログラムカウンタの値や、レジスタの保持値を状態退避の対象とするだけで、状態復帰は可能になる。
これとは対照的にBD-ROMコンテンツは、AV再生にJavaアプリケーションが連動する。Javaアプリケーションの動作には、複数のスレッド、膨大な変数、様々な画面描画パラメータなどが必要であり、装置の電源供給が絶たれた場合、電源断前の動作を再開するには、これらの複数のスレッド、変数、様々な画面描画パラメータの全てを不揮発性の第2記憶媒体に書き込んでおく必要がある。そればかりではなく、Javaアプリケーションの動作に利用していたメモリ情報や、オペレーティングシステム(OS)が持つ管理情報などを不揮発性の第2記憶媒体に書き込んでおいて、サスペンドやハイバーネーションと呼ばれる処理を装置に実行させる必要がある。
しかしながら、BD-ROM再生装置を始めとするコンシューマエレクトロニクス(CE)機器においては、パーソナルコンピュータに比べて不揮発記憶領域の容量や、各種ハードウェアリソースが少ない場合が多く、動作再開のための情報の一部を、不揮発性の第2記憶媒体に状態退避できないという状態退避漏れが発生する。かかる状態退避漏れがあると、再開時の動作が正しくなされることを保障できない。仮に、状態退避すべき情報の一部に欠落があった状態で、動作を再開しようとすると、再生装置のハングアップやブラックアウトを招きかねない。CE機器は、パソコンの業界とは比較にならない品質保障が求められるため、そのような動作異常の危険性がある状態退避・状態復帰は、とてもではないが実用に耐えるとはいえない。
本発明は、状態退避に必要な不揮発性の第2記憶媒体の規模が制限されている場合であっても、電源が絶たれた後のアプリケーションの動作再開を安定的に行わせることができる再生装置を提供することである。
上記課題を解決するため、再生装置は、複数の処理の状態退避及び状態復帰を実現する再生装置であって、複数の処理のうち1つは、AVストリームの再生処理であり、他の1つは、AVストリームの再生と連動した、アプリケーションの処理であり、記録媒体からアプリケーション及びAVストリームを読み出す読出手段と、アプリケーションを動作させるプラットフォーム部と、AVストリームを再生する再生部と、揮発性の第1記憶媒体とを備え、前記揮発性の第1記憶媒体は記憶領域を備え、前記記憶領域には、前記AVストリームの再生状態を示す再生状態パラメータが書き込まれており、前記アプリケーションは、前記プラットフォーム内で使用している複数のパラメータのうち、状態復帰後の動作再開時に必要となるものを選んで、アプリケーションレジュームパラメータとして、前記記憶領域に書き込んでおり、前記複数処理の状態退避は、前記アプリケーションレジュームパラメータと、前記再生状態パラメータとを揮発性の第1記憶媒体の記憶領域から読み出して、不揮発性の第2記憶媒体に書き込むことでなされ、前記複数処理の状態復帰は、前記不揮発性の第2記憶媒体に書き込まれたアプリケーションレジュームパラメータと、再生状態パラメータとを前記揮発性の第1記憶媒体の記憶領域に書き戻すと共に、前記揮発性の第1記憶媒体の記憶領域に書き戻された再生状態パラメータに基づき、アプリケーションをプラットフォーム部にロードすることでなされることを特徴としている。
上記課題解決手段を具備した再生装置は、再生状態パラメータに基づきアプリケーションのロードをやり直すことで、状態復帰を行う。状態復帰において、アプリケーションのロードをやり直すので、複数のスレッド、変数、様々な画面描画パラメータ、メモリ情報、OSの管理情報を不揮発性の第2記憶媒体に書き込む必要はない。これらの情報を書き込みが不要であるので、不揮発性の第2記憶媒体の規模は、必要最低限のもので足りる。
また揮発性の第1記憶媒体の記憶領域には、つまり、アプリケーションレジュームパラメータが書き込まれるので、アプリケーションのロードをやり直すだけで、アプリケーションは、動作を再開することができる。
アプリケーションは、動作中に使用しているパラメータのうち、状態復帰後の動作再開時に必要となるものを選んで、アプリケーションレジュームパラメータとして、揮発性の第1記憶媒体の記憶領域に書き込むだけで、停電対策を実現することができるので、アプリケーションが直接、不揮発性メモリに動作パラメータを書き込む場合と比較して、アプリケーション状態退避・状態復帰のためのオーバーヘッドは小さくて済む。またオーバヘッドを極力最小にしつつも、装置の電源異常対策を実行することができるので、装置のパフォーマンスを低下させることはない。
よって再生装置が、例えばAV再生と、アプリケーションの動作とを連動させたゲームを実行している場合、キャラクターのパラメータがスコア等の同一性を維持しつつも、途中からゲームを再開するといった処理が可能になる。
尚、上記再生装置における動作再開は、アプリケーションの積極的な関与を必要とするものである。ヒープ領域で使用されているパラメータのうち、動作再開に必要なものが選ばれていない場合は、レジュームの実行は不可能になるから、アプリケーションの動作と、再生装置の動作との不整合が発生する可能性がある。このような問題は、上記再生装置を以下のように構成することで解決することができる。
つまり、前記記録媒体には、更にレジューム対応情報が記録されており、前記レジューム対応情報は、状態復帰後に、前記揮発性の第1記憶媒体の記憶領域へ復元された内容を、再生手段及びアプリケーションに利用させるか否かを示し、前記レジューム対応情報が復元内容を利用させる旨を示す場合、前記再生手段による再生再開は、前記揮発性の第1記憶媒体の記憶領域に復元された再生状態パラメータに基づいてなされ前記アプリケーションによる動作再開は、揮発性の第1記憶媒体の記憶領域に復元されたアプリケーションレジュームパラメータを用いてなされ、前記レジューム対応情報が前記第1記憶媒体へ復元された内容を利用しないことを示す場合、前記再生手段は、AVストリームの再生を再開せず、アプリケーションは、動作を再開しないように構成することで解決を図ることができる。
上記発明特定事項が追加された再生装置では、アプリケーションが、動作再開に必要なパラメータをアプリケーションレジュームパラメータとして選ぶという動作をサポートしているなら、レジューム対応情報を設定することにより、レジュームを行ってよいと規定することができる。逆に、アプリケーションが、動作再開に必要なパラメータをアプリケーションレジュームパラメータとして選ぶという動作をサポートしていないなら、レジューム対応情報を設定することにより、レジュームを禁止することができる。コンテンツ制作者の判断によって、レジューム再生を行なっても良いかどうかを制御できるため、コンテンツ作成者側の意図に沿った再生が行なわれることになる。
コンテンツ作成者側が、映像や音声と、Java(登録商標)アプリケーション含むようなコンテンツをレジュームさせたくないと考えた場合、レジューム対応情報の設定次第でレジュームは規制されるので、ユーザの不測の動作によってコンテンツ制作者側の意図しないような動作が引き起こされることはない。

一般的に再生装置の電源遮断は、多くの場合、装置を利用するユーザの操作に基づいて行なわれるものであり、ユーザがいつ電源を遮断するかというのは、予測がつかない。
従って、アプリケーションがパラメータを不揮発性メモリに状態退避する前に、ユーザの操作入力により電源が遮断されてしまえば、揮発性の記憶媒体の情報は全てクリアされてしまい、不揮発性の記憶媒体に退避することができない。この場合、電源を再投入したとしても、不揮発性の記憶媒体に情報は退避されていないため、Java(登録商標)アプリケーションの動作を電源遮断前の状態から再開することができない。また再開したとしても、その動作が不安定なものになる。
このように、ユーザの不測の動作によってコンテンツ制作者側の意図しないような動作が引き起こされると、コンテンツ作成者側にとっては、映像や音声と、Java(登録商標)アプリケーション含むようなコンテンツをレジュームさせたくないと考えるかもしれない。それとは裏腹に、従来のレジューム機は、再生装置が備える機能のみでできてしまうため、コンテンツ制作者側の意図を反映することはできない。
このような問題は、再生装置を以下のように構成することで解決することができる。
つまり前記再生装置は、レジュームサポート情報を保持しており、レジュームサポート情報は、前記揮発性の第1記憶媒体の記憶領域の内容を前記不揮発性の第2の記憶媒体の記憶領域に退避することか可能か否かを示し、前記アプリケーションが起動された際、前記レジュームサポート情報は、アプリケーションに引き渡され、前記アプリケーションによるアプリケーションレジュームパラメータの書き込みは、受け取ったレジュームサポート情報が、記憶領域の内容退避が可能である旨を示している場合になされるように構成することで解決を図ることができる。
揮発性メモリについて、電源バックアップが存在せず、ユーザ操作による突発的な電源遮断で、揮発性メモリの内容が消失してしまう再生装置では、状態復帰のためのパラメータが、正しく退避されていない可能性が高い。この際、レジュームサポート情報を"退避不可能"に設定しておけば、パラメータの退避が不可能である旨をアプリケーションに正しく伝えることができる。この場合、アプリケーションは、再生装置によるレジュームを期待しないから、不安定なパラメータに基づいて、レジューム動作がなされるという事態を回避することができる。
揮発性メモリについて電源バックアップが存在していて、突発的な電源遮断が発生しても、揮発性メモリの内容を退避できる再生装置では、状態復帰のためのパラメータが、正しく退避されている。かかる再生装置において、レジュームサポート情報を"退避可能"に設定しておけば、パラメータの退避が不可能である旨をアプリケーションに正しく伝えることができる。この場合アプリケーションは、再生装置によるレジュームを期待することができる。
再生装置においてレジュームがサポートされているかどうかをアプリケーションに伝え、アプリケーションは、その再生装置のサポートの有無に基づきレジュームに必要な動作を行うので、再生装置と、アプリケーションとの連携を密にすることができる。
再生装置102の、使用行為についての形態を示す図である。 BD-ROMの構成を示した図である。 再生装置の大まかな機能構成を示すブロック図である。 再生装置におけるソフトウェアレイヤモデルを示す図である。 再生装置によって再生に供されるBD-ROMコンテンツを示す図である。 レジスタセット24の内容の例を模式的に示したものである。 状態退避におけるアプリケーションレジュームパラメータ及び再生状態パラメータの行き来を模式的に描いた図である。 状態復帰及び利用時におけるアプリケーションレジュームパラメータ及び再生状態パラメータの行き来を模式的に描いた図である。 レジューム処理の処理手順を示すフローチャートである。 アプリケーションレジュームパラメータ処理の手順を示すフローチャートである。 レジュームサポート情報及びレジュームサポート情報に基づく、APIのコールの一例を示す図である。 復帰可否フラグ、利用可否フラグを含むレジューム対応情報を示す図である。 復帰可否フラグ、利用可否フラグに応じた動作を示す。 状態退避・状態復帰の可否がタイトル毎に設定されたIndex.bdmvを示す図である。 レジューム対応フラグの内容を用いた再生装置102の処理手順を示すフローチャートである。 テレビ103の提示内容を示す図である。 再生状態レジューム可否フラグ、アプリケーションレジューム可否フラグを格納したレジューム対応情報を説明するための図である。 再生状態レジューム可否フラグ、アプリケーションレジューム可否フラグによる状態退避・状態復帰を示すフローチャートである。 個数指定を含むアプリケーションレジュームパラメータの一例を示す図である。 不揮発性メモリ26の格納内容を模式的に表したものである。 第1の退避先である記憶領域1と、第2の退避先である記憶領域2の2組の退避先が存在する不揮発性メモリ26を示す図である。
以下本発明の実施の形態について、図面を参照しながら説明する。
(第1実施形態)
以降、再生装置の実施形態について説明する。先ず始めに、本発明に係る再生装置の実施行為のうち、使用行為についての形態を説明する。図1は、再生装置102の、使用行為についての形態を示す図である。本図に示すように、再生装置102は、BD-ROM101、再生装置102、テレビ103、リムーバブルメディア104と共にユーザによる使用に供される。
BD-ROM101は、映画作品が記録された記録媒体である。
再生装置102は、テレビ103と共に、ホームシアターシステムを構築して、BD-ROM100を再生する。
テレビ103は、映画作品の再生映像を表示したり、メニュー等を表示することで、対話的な操作環境をユーザに提供する。
リムーバブルメディア104は、再生装置に装填され、映画配給者のWWWサーバ101から配信されたコンテンツの受け皿として利用される。そのため、ネットを通じてダウンロードされ、リムーバブルメディア104に格納されたコンテンツと、BD-ROM100に記録されたコンテンツとを組み合わせて、BD-ROM100のコンテンツを拡張/更新をすることができる。かかるリムーバブルメディア104を装填するという目的のため、再生装置102には、SDメモリカード、メモリスティック、コンパクトフラッシュ(TM)、スマートメディア、マルチメディアカード等のリムーバブルメディア104を挿入する挿入口を備える。
リモコン105は、再生装置102の付属物であり、再生装置102に対する操作をユーザから受け付けて、操作に応じた指示信号を再生装置102に送信する。
以上が本発明に係る再生装置の使用形態についての説明である。続いて本発明に係る再生装置が再生の対象としている、記録媒体について説明する。本発明に係る再生装置により、再生されるのは、光記録媒体であるBD-ROM100である。
以上が本発明に係る再生装置の使用形態についての説明である。続いて本発明に係る再生装置が再生の対象としている、記録媒体について説明する。本発明に係る再生装置により、再生されるのは、この例では光記録媒体であるBD-ROM101である。
図2は、BD-ROM(以降、「BD」と称する場合もある)の構成を示した図である。本実施の形態においては、映画等のAVコンテンツを再生するためのAVアプリケーションを主眼においてBD-ROMを説明するが、BD-ROMをCD-ROMやDVD-ROMのようにコンピュータ用途の記録媒体として利用することも当然ながら可能である。BD-ROMは、他の光ディスク、例えばDVDやCDなどと同様にその内周から外周に向けて螺旋状に記憶領域を持ち、内周のリード・インと外周のリード・アウトの間に論理データを記録できる論理アドレス空間を有している。また、リード・インの内側にはBCA(Burst Cutting Area)と呼ばれる、ドライブでしか読み出せない特別な領域がある。この領域はアプリケーションから読み出せないため、例えば著作権保護技術などに利用されることがよくある。
論理アドレス空間には、ファイルシステム情報(ボリューム)を先頭に映像データなどのアプリケーションデータが記録されている。ファイルシステムとは、UDFやISO9660などのことであり、通常のPCと同じように記録されている論理データをディレクトリ、ファイル構造を使って読み出しする事が可能になっており、255文字のファイル名、ディレクトリ名を読み出すことが可能である。
本実施の形態の場合、BDディスク上のディレクトリ、ファイル構造は、ルートディレクトリ(ROOT)直下にBDMVディレクトリが置かれている。BDMVディレクトリはBD-ROMで扱うAVコンテンツや管理情報などのデータが記録されているディレクトリである。
BDMVディレクトリの配下には、PLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリ、JARディレクトリ、BDJOディレクトリと呼ばれる5つのサブディレクトリが存在し、BDMVディレクトリには、index.bdmv201,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"が付与されたファイルは、MPEG-TS(TransportStream)形式のデジタルAVストリームであり、1つ以上のビデオストリーム、1つ以上のオーディオストリーム、1つ以上のグラフィクスストリームを多重化することで得られる。ビデオストリームは映画の動画部分を、オーディオストリームは映画の音声部分を、グラフィクスストリームは、映画の字幕をそれぞれ示している。
拡張子"clpi"が付与されたファイルは、デジタルAVストリームのそれぞれに1対1に対応するClip情報である。管理情報故に、Clip情報は、デジタルAVストリームの符号化形式、フレームレート、ビットレート、解像度等の情報や、GOPの先頭位置を示すEP_mapをもっている。
拡張子"mpls"が付与されたファイルは、プレイリスト情報を格納したファイルである。プレイリスト情報は、MainPath情報、Subpath情報、プレイリストMark情報を含む。
1)MainPath情報は、AVストリームの再生時間軸のうち、In_Timeとなる時点と、Out_Timeとなる時点の組みを1つ以上定義することにより、論理的な再生区間を定義する情報であり、AVストリームに多重化されているエレメンタリストリームのうち、どれの再生を許可し、どれの再生を許可しないかを規定するストリーム番号テーブル(STN_table)をもつ。
2)プレイリストMark情報は、In_Time情報及びOut_Time情報の組みにて指定されたAVストリームの一部分のうち、チャプターとなる時点の指定を含む。
3)Subpath情報は、前記AVストリームと同期して再生すべきエレメンタリストリームの指定と、そのエレメンタリストリームの再生時間軸におけるIn_Time情報及びOut_Time情報の組みとを含む。再生制御のためのJavaアプリケーションが、このプレイリスト情報を再生するJMFプレーヤインスタンスの生成をJava(TM)仮想マシンに命じることで、AV再生を開始させることができる。JMF(Java Media Frame work)プレーヤインスタンスとは、JMFプレーヤクラスを基にして仮想マシンのヒープメモリ上に生成される実際のデータのことである。
AVストリームと、プレイリスト情報との組みは、"タイトル"という再生単位を構成する。BD-ROMにおけるAV再生は、このタイトルを一単位としてなされる。BD-ROMコンテンツは、このタイトルの集まり、つまり、タイトルセットのことをいう。root/BDMVディレクトリに存在するタイトルのうち、最初に再生されるべきタイトルを、特に"ファーストプレイタイトル"とよぶ。また、プレイリスト情報及びクリップ情報は、静的なシナリオとして扱われる。

拡張子"jar"が付与されたファイルは、Javaアーカイブファイルであり、Java仮想マシンを用いて動的なシナリオ制御を行うJavaアプリケーションのプログラムが記述されている。Java(TM)アーカイブファイルは、http://java(TM).sun.com/j2se/1.4.2/docs/guide/jar/jar.htmlに記載された仕様に準じたファイルである。Java(TM)アーカイブファイルは複数のファイルをディレクトリ構造の形で格納している。このディレクトリ構造とは、ルートディレクトリ直下に「XXXX.class」が存在し、META-INFディレクトリにファイル「MANIFEST.MF」、ファイル「SIG-BD.SF」、ファイル「SIG-BD.RSA」、ファイル「bd.XXXX.perm」が存在するというものである。
このXXXX.class(クラスファイル)は、Java(TM)仮想マシン上で実行することができるJavaアプリケーションを定義するようなクラス構造体を格納したクラスファイルである。MANIFEST.MFは、デジタル証明書に対応するものであり、SIG-BD.SFは、MANIFEST.MFのハッシュ値が記載されているファイルである。SIG-BD.RSAは、デジタル証明書チェーン、署名情報が記載されているファイルである。bd.XXXX.permは、パーミッションリクエストファイルであり、実行されるJavaアプリケーションにどのパーミッションを与えるのかの情報を格納する。
Java(TM)アーカイブファイルにおけるクラスファイルにて定義されるJavaアプリケーションは、Xletインターフェイスを通じて、アプリケーションマネージャにより、制御されるJava(TM) Xletである。Xletインターフェイスは、"loaded","paused"、"active","destoryed"といった4つの状態をもつ。
またJavaアプリケーションは、JFIF(JPEG)やPNG,その他のイメージデータを表示するためのスタンダードJavaライブラリを用いて、GEM1.0.2にて規定されたHAViフレームワークを実現する。HAViフレームワークは、GEM1.0.2におけるリモートコントロールナビゲーション機構を含むGUIフレームワークであり、Javaアプリケーションは、HAViフレームワークに基づくボタン表示、テキスト表示、オンライン表示(BBSの内容)といった表示を、動画像の表示と組み合わせた画面表示を実現することができ、リモートコントロールを用いて、この画面表示に対する操作を行うことができる。
拡張子"bdjo"が付与されたファイル、及び、MovieObject.bdmv(ファイル名固定)は、動作モードオブジェクトである。動作モードオブジェクトは、再生装置における複数の動作モードのそれぞれについての制御手順を規定するデータである。再生装置における動作モードには、コマンドインタプリタが制御主体になる動作モード(HDMVモード)と、Javaプラットフォームが制御主体になる動作モード(BD-Jモード)とがある。HDMVモードではHDMVモードの動作主体であるコマンドインタプリタが制御主体になるので、DVD-Videoライクなナビゲーションコマンドによって制御が規定されることになる。一方、BD-Jモードでは、BD-Jモードの動作主体であるJavaプラットフォームが制御主体になるので、DVB-MHPで実現されているような、Javaバイトコードによって制御が規定されることになる。
BD-Jモードにおける動作モードオブジェクトは、BD-Jオブジェクトと呼ばれる。BD-Jオブジェクトは、プレイリスト情報により示されるAVストリームと、Javaアプリケーションとの関連付けにより、タイトルを定義する情報である。BD-オブジェクトは、"アプリケーション管理テーブル"と、そのタイトルにおいて自動再生可能なプレイリスト一覧を示す。アプリケーション管理テーブルは、アプリケーションの識別子(アプリケーションID)とそのアプリケーションに属するJavaアーカイブファイルのIDを羅列することで、このタイトルを生存区間とするアプリケーションを示すテーブルである。つまり、一つのアプリケーションは一つ以上の Java アーカイブファイルで構成される。またBD-Jオブジェクトは、タイトルにおいて自動再生すべきプレイリスト情報の指定を含む。自動再生すべきものとして指定されたプレイリスト情報は、BD-Jオブジェクトに対応するタイトルがカレントタイトルになった際、その再生が自動的に開始される。尚、BD-Jオブジェクトによって動作が規定されるJavaアプリケーションを、"BD-Jアプリケーション"と呼ぶ。
HDMVモードにおける動作モードオブジェクトは、ムービーオブジェクトと呼ばれる。ムービーオブジェクトは、HDMVモード(後述)での各タイトル再生で、再生進行を動的に変化させるためのシナリオが記述されたシナリオプログラムが含まれる。
index.bdmv201(ファイル名は"index.bdmv"で固定)は、BD-ROM全体に関する管理情報であり、映画作品のプロバイダを特定する識別子であるorganizationID(32bit)や、プロバイダが提供するBD-ROMのそれぞれに割り当てられた識別子であるdiscID(128bit)等の情報を持ち、再生装置へのディスク挿入後に、index.bdmv201が最初に読み出されることで、再生装置においてディスクが一意に認識される。加えて、index.bdmv201にはBD-ROMにおいて再生可能となる複数のタイトルと、個々のタイトルを規定するBD-Jオブジェクトとを対応付けて示すテーブルが含まれる。

図3は、再生装置の大まかな機能構成を示すブロック図である。本図に示すように、再生装置は、BD-ROMドライブ1、リードバッファ2a,2b、ローカルストレージ3、ネットワークI/F4、仮想ファイルシステム5、デマルチプレクサ6、ビデオデコーダ7、ビデオプレーン8、グラフィクスデコーダ9、グラフィクスプレーン10、グラフィクスプレーン11、合成部12、オーディオデコーダ13、HDMIインターフェイス14、AV再生エンジン15、静的シナリオメモリ16、レンダリングエンジン17、MPU21、ROM22、RAM23、レジスタセット24、電源供給部25、不揮発性メモリ26、動的シナリオメモリ30、ヒープメモリ31、バイトコードインタプリタ32から構成される。
BD-ROMドライブ1は、BD-ROMのローディング/イジェクトを行い、BD-ROMに対するアクセスを実行する。
ローカルストレージ2は、ビルドインメディアドライブ2a、リムーバブルメディアドライブ2bを備え、ダウンロードしてきた追加コンテンツやアプリケーションが使うデータなどの保存に用いられる。追加コンテンツの保存領域はBD-ROM毎に分かれており、またアプリケーションがデータの保持に使用できる領域はアプリケーション毎に分かれている。また、ダウンロードした追加コンテンツをどのようにBD-ROM上のデータとマージされるか、マージ規則が記載されたマージ管理情報もこのビルドインメディアドライブ2a、リムーバブルメディアドライブ2bに保存される。


リードバッファ3a、3bは、FIFOメモリであり、BD-ROM又はローカルストレージから読み出されたTSパケットが先入れ先出し式に格納される。
ネットワークインターフェース4は、再生装置の外部と通信を行うためのものであり、インターネットでアクセス可能なサーバにアクセスしたり、ローカルネットワークで接続されたサーバにアクセスしたりすることが可能である。例えば、インターネット上に公開されたBD-ROM追加コンテンツのダウンロードに用いられたり、コンテンツが指定するインターネット上のサーバとの間でデータ通信を行うことでネットワーク機能を利用したコンテンツの再生を可能としたりする。BD-ROM追加コンテンツとは、オリジナルのBD-ROMにないコンテンツで、例えば追加の副音声、字幕、特典映像、アプリケーションなどである。BD-Jモードの動作主体であるJavaプラットフォームからネットワークインターフェース4を制御することができ、インターネット上に公開された追加コンテンツをビルドインメディアドライブ2aもしくはリムーバブルメディアドライブ2bにダウンロードすることができる。
仮想ファイルシステム5は、追加コンテンツと共にビルドインメディアドライブ2a、リムーバブルメディアドライブ2bにダウンロードされたマージ管理情報を元に、ビルドインメディアドライブ2aもしくはリムーバブルメディアドライブ2bに格納された追加コンテンツとBD-ROM上のコンテンツをマージさせた、仮想的なBD-ROM(仮想パッケージ)を構築する。HDMVモードの動作主体であるコマンドインタプリタやBD-Jモードの動作主体であるJavaプラットフォームからは、仮想パッケージとオリジナルBD-ROMを区別なく参照することができる。仮想パッケージ再生中、再生装置はBD-ROM上のデータとビルドインメディアドライブ2aもしくはリムーバブルメディアドライブ2b上のデータの両方を用いて再生制御を行うことになる。
デマチプレクサ6は、AVストリームを構成するTSパケットの多重分離を行い、ビデオデコーダ7、グラフィクスデコーダ9、オーディオデコーダ13のそれぞれに出力する。
ビデオデコーダ7は、デマルチプレクサ6から出力されたビデオフレームを復号して非圧縮形式のピクチャをビデオプレーン8に書き込む。
ビデオプレーン8は、非圧縮形式のピクチャを格納しておくためのメモリである。
グラフィクスデコーダ9は、デマルチプレクサ6から出力されたビデオフレームを復号して非圧縮形式のピクチャをビデオプレーン8に書き込む。
グラフィクスプレーン10は、デマルチプレクサ6から読み出されたグラフィクスストリームをデコードすることで得られたグラフィクスを格納しておくバッファである。
グラフィクスプレーン11は、BD-Jアプリケーションによって描画した、一プレーン分のグラフィクスを格納しておくためのバッファである。
合成器12は、ビデオプレーン8に格納された非圧縮形式のピクチャデータに、グラフィクスプレーン11に展開されたグラフィクスを合成して出力する。
オーディオデコーダ13は、デマルチプレクサ6から出力されたオーディオフレームを復号して、非圧縮形式のオーディオデータを出力する。
HDMIインターフェイス14は、合成部12によって合成された合成映像と、オーディオデコーダ13によってデコードされた非圧縮のオーディオデータとを、HDMIインターフェイスを介してテレビ103に伝送する。
AV再生エンジン15は、HDMVモードの動作主体であるコマンドインタプリタ、BD-Jモードの動作主体であるJavaプラットフォームからの関数呼び出しに応じて、AV再生機能、プレイリストの再生機能を実行する。AV再生機能とは、DVDプレーヤ、CDプレーヤから踏襲した機能群であり、再生開始、再生停止、一時停止、一時停止の解除、静止画機能の解除、再生速度を即値で指定した早送り、再生速度を即値で指定した巻戻し、音声切り替え、副映像切り替え、アングル切り替えといった処理である。プレイリスト再生機能とは、このAV再生機能のうち、再生開始や再生停止をカレントプレイリストを構成するカレントプレイリスト情報、カレントクリップ情報に従って行うことをいう。
カレントシナリオメモリ16は、カレントプレイリスト情報やカレントクリップ情報を格納しておくためのメモリである。カレントプレイリスト情報とは、BD-ROMドライブ1またはビルドインメディアドライブ3a、リムーバブルメディアドライブ3bからアクセスできる複数プレイリスト情報のうち、現在処理対象になっているものをいう。カレントクリップ情報とは、BD-ROMドライブ1またはビルドインメディアドライブ3a、リムーバブルメディアドライブ3bからアクセスできる複数クリップ情報のうち、現在処理対象になっているものをいう。
レンダリングエンジン17は、例えばJava2D,OPEN-GLといった基盤ソフトウェアを備え、BD-Jモードの動作主体であるJavaプラットフォームからの指示に従ってコンピュ-タ・グラフィックスの描画を行い、描画されたコンピュ-タ・グラフィックスをイメージプレーン11に出力する。
MPU21は、再生装置におけるコンピュータアーキテクチャの中核をなし、ROM22に格納されているネィティブコードをフェッチして解読し、ネィティブコードに基づき、再生装置の処理を実行する。
ROM22は、再生装置における組込みプログラムが予め格納されている。
RAM23は、動的シナリオメモリ30、ヒープメモリ31が配置されるメモリ空間を構成する。
レジスタセット24には、プレイリストの再生状態や、コンテンツが利用する任意の情報を格納できる領域である。プレイリストの再生状態とは、プレイリストに記載されている各種AVデータ情報の中のどのAVデータを利用しているか、プレイリストのどの位置(時刻)を再生しているか、などの状態を現すものである。プレイリストの再生状態が変化した際は、AV再生エンジン15がレジスタセット24に対し、その内容を格納する。また、HDMVモードの動作主体であるコマンドインタプリタもしくはBD-Jモードの動作主体であるJavaプラットフォームが実行しているアプリケーションからの指示により、コンテンツが指定した値を格納したり、格納された値をアプリケーションに渡したりすることが可能である。
電源供給部25は、商用電源又は内蔵電源により電源供給を行う。電源投入時には、投入を示す割込信号をMPU21に出力し、電源異常/電源断時には、電源異常/電源断を示す割込信号をMPU21に出力する。

不揮発性メモリ26は、読み書き可能なメモリなどの記録媒体(または記憶媒体とも言う)であり、電源が供給されなくても、記録内容を保持できる媒体である。例えばフラッシュメモリ、FeRAMなどである。また、ビルドインメディア、リムーバブルメディアといった書き込み可能な記録媒体を、不揮発性メモリ26として利用しても実施可能である。また、ネットワークI/F(4)21を経由してアクセス可能な媒体であっても、再生装置の電源供給状態に依存せず記録内容を保持できるのであれば、不揮発性メモリ26として利用しても実施可能である。

動的シナリオメモリ30は、カレント動的シナリオを格納しておき、HDMVモードの動作主体であるコマンドインタプリタ、BD-Jモードの動作主体であるJavaプラットフォームによる処理に供されるメモリである。カレント動的シナリオとは、BD-ROMまたはビルドインメディアドライブ2a、リムーバブルメディアドライブ2bに記録されているIndex.bdmv、BD-Jオブジェクト、ムービーオブジェクトのうち、現在実行対象になっているものをいう。
ヒープメモリ31は、システムアプリケーションのバイトコード、BD-Jアプリケーションのバイトコード、システムアプリケーションが利用するシステムパラメータ、BD-Jアプリケーションが利用するアプリケーションパラメータが配置されるスタック領域である。
バイトコードインタプリタ32は、ヒープメモリ31に格納されているバイトコードをネィティブコードに変換して、MPU21に実行させる。

以上が再生装置の内部構成についての説明である。続いて、再生装置のソフトウェアレイヤモデルの詳細について説明する。
図4は、再生装置におけるソフトウェアレイヤモデルを示す図である。このソフトウェアレイヤモデルでは、HDMVモジュール40、BD-Jモジュール41、モード管理モジュール42という3つの動作主体がMPU21上に存在する。これらは、動的シナリオメモリ30に存在するIndex.bdmv、BD-Jオブジェクト、ムービオブジェクトによって制御を行う。そしてBD-Jモジュール41は、ミドルウェア35−バイトコードインタプリタ32−ヒープメモリ31という階層によって構成される。ヒープメモリ31には、BD-Jアプリケーション、クラスローダ33、アプリケーションマネージャ34が存在する。
本図のうち、メモリカードドライブ30、ヒープメモリ31、バイトコードインタプリタ32については、先の図で説明済みであるから、その説明を省略する。以降、未説明の構成要素について説明する。
クラスローダ33は、システムアプリケーションの1つであり、JARアーカイブファイルに存在するクラスファイルからバイトコードを読み出して、ヒープメモリ31に格納することにより、BD-Jアプリケーションのロードを行う。
アプリケーションマネージャ34は、システムアプリケーションの1つであり、BD-Jオブジェクト内のアプリケーション管理テーブルに基づき、BD-Jアプリケーションを起動したりBD-Jアプリケーションを終了したりする等、BD-Jアプリケーションのアプリケーションシグナリングを行う。
ミドルウェア35は、組込みソフトウェアのためのオペレーティングシステムであり、当該オペレーティングシステムのカーネル、基本入出力部から構成される。またBD-JアプリケーションからのAPIコールに応じて、様々な機能をBD-Jアプリケーションに提供する。
HDMVモジュール40は、HDMVモードの動作主体であるコマンドインタプリタによって構成されるDVD仮想プレーヤであり、HDMVモードの実行主体となる。HDMVモードの動作主体であるコマンドインタプリタは、シナリオプログラムを構成するナビゲーションコマンドを解読して実行するものである。ナビゲーションコマンドは、DVD-Videoと似たようなシンタックスで記述されているため、かかるナビゲーションコマンドを実行することにより、DVD-Videoライクな再生制御を実現することができる。
BD-Jモジュール41は、BD-Jモードの動作主体であるJavaプラットフォームであり、Java仮想マシン、コンフィグレーション、プロファイルから構成され、バイトコードインタプリタ32、クラスローダ33、アプリケーションマネージャ34、ミドルウェア35を含む。
モード管理モジュール42は、BD-ROMまたはビルドインメディアドライブ2a、リムーバブルメディアドライブ2bから読み出されたIndex.bdmvを保持して、モード管理及び分岐制御を行う。モード管理モジュール42によるモード管理とは、動的シナリオをどのHDMVモジュール40、BD-Jモジュール41に実行させるかという、モジュールの割り当てである。
UO探知モジュール43は、リモコンや再生装置のフロントパネルに対してなされたユーザ操作を検出して、ユーザ操作を示す情報(以降UO(User Operation)という)をモード管理モジュール42に出力する。
ディスパッチャ44は、UOから、現在の再生装置におけるモードに適切なUOのみを選んで、そのモードを実行するモジュールに受け渡す。例えばHDMVモードの実行中に、上下左右、アクティベートといったUOを受け付けた場合、HDMVモードのモジュールにこれらのUOを出力するというのがディスパッチャ44の処理である。
本再生装置において、特に創作した部分は、BD-ROMコンテンツのレジュームである。レジュームとは、"退避"、"復帰"、"利用"という3つの処理によって、電源供給が絶たれた後の動作再開を実行することである。"退避"とは、揮発性の記憶媒体に存在する動作再開用のパラメータを、不揮発性の記憶媒体に書き込むことをいう。"復帰"とは、不揮発性の記憶媒体から、揮発性の記憶媒体に、動作再開に用いるパラメータを書き戻すことである。利用とは、揮発性の記憶媒体からBD-Jアプリケーション、AV再生エンジンへと、パラメータを引き渡して、アプリケーションの動作や再生制御に供することである。このレジュームには、以下のような類型がある。
レジュームのうち、電源供給が断たれる前と、電源供給が再開した後とで、再生装置がHDMVモードで動作しているか、BD-Jモードで動作しているかというモード管理の同一性を保つことを、"モード管理レジューム"と呼び、かかるモード管理レジュームは、モード管理の管理主体であるモード管理モジュールによってなされる。第2記憶媒体への退避に供すべきパラメータのうち、モード管理に必要なものを"モード管理レジュームパラメータ"と呼ぶ。モード管理レジュームでは、Index.bdmv、及び、カレントタイトルに対応する動作モードオブジェクト(BD-Jオブジェクト、ムービーオブジェクト)がモード管理パラメータに該当する。これらは、動的シナリオメモリ30に格納されているので、この動的シナリオメモリ30の内容を不揮発性メモリ26に書き込むことで、状態退避は可能になる。
モード管理レジュームのうち、HDMVモードと、BD-Jモードとで共通に実行すべき動作のためのレジューム、つまり、プレイリストの再生制御の同一性を保つレジュームを"再生状態レジューム"といい、再生状態レジュームに用いるパラメータを、再生状態レジュームパラメータという。再生状態レジュームでは、再生状態レジスタの格納値が再生状態パラメータに該当する。ここでカレントタイトル番号は、モード管理レジュームに必要なものだが、カレントタイトル番号は、再生状態レジスタに格納されているので、再生状態パラメータの1つとして扱う。静的シナリオメモリ16に格納されているカレントプレイリスト情報、カレントクリップ情報は、本実施形態では、再生状態パラメータに含めないものとする。これらは、再生状態レジスタにて指示されているから、再生状態レジスタの格納値を手掛かりにして改めて再度BD-ROMに読み出せば足りるからである。
レジュームのうち、電源供給が断たれる前と、電源供給が再開した後とで、アプリケーションの動作の同一性を保つことを"アプリケーションレジューム"という。第2記憶媒体への退避に供すべきパラメータのうち、このアプリケーションレジュームに用いるべきものを"アプリケーションレジュームパラメータ"と呼ぶ。BD-ROMコンテンツのレジュームには、以上の3つのレジュームが必要となる。これらのレジュームの全体制御は、モード管理モジュール42によってなされる。
またBD-ROMコンテンツは、動画像の再生に、アプリケーションが連動するコンテンツであり、典型的なものとしては、動画像の再生を伴いながら、ユーザ操作に従いゲームを進行させるゲームコンテンツ、動画像の再生を伴いながら、ユーザ操作に従いWebページでオンラインショッピングを実行するオンラインショッピングコンテンツがある。以降の説明では、ゲームコンテンツが、BD-ROMコンテンツとして提供されているケースを題材にして、説明を進める。
図5は、再生装置によって再生に供されるBD-ROMコンテンツを示す図である。図5(a)は、AVClipにおけるピクチャデータをビデオデコーダ7がデコードすることにより得られる動画像の一例を示す。HDMVモードでは、このピクチャデータを主体とした映像が再生されることになる。
図5(b)は、グラフィクスプレーン11の格納内容の一例を示す。BD-Jアプリケーションが、動画像の再生を伴ったゲームを実行していることを前提にしている。そのためグラフィクスプレーン11には、インディケータを示すグラフィクスが、表示座標(X1,Y1)において、縦幅、横幅(width1,height1)の大きさで表示されている。このインディケータは、ステージ数(STAGE1:5)、ライフ値(LIFE:3)、ゲームで使用するアイテム(ITEM:G,N)、スコア(SCORE:10,500)、ダメージ(4)を示す。
また、表示座標(X2,Y2)には、縦幅、横幅(width2,height2)の大きさで、メニューが配置されている。このメニューは、(戦う、逃げる)という文字列を表示するものである。
メニューの表示座標(X3,Y3)、メニューの縦幅、横幅(width3,height3)には、マップが配置されている。RAM8、合成部12の格納内容がこれらのものである場合、テレビ103には、図5(c)のような合成映像が表示されることになる。この図4(b)における格納内容は、ゲームのGUIを表すものであるから、動画像と、アプリケーションによるGUI表示を組合せた、楽しい画面演出が可能になる。

以降、レジスタセットについて説明する。
レジスタセット24は、例えば読み書き可能な揮発性の記憶領域を有するメモリなどの記憶媒体である。例えばユーザが操作入力できるBD-ROMの再生装置の電源スイッチ(図示せず)をオンにすると、レジスタセット24に電力が供給され、レジスタセット24に情報を書き込んで記憶することが可能となる。またBD-ROMの再生装置の電源スイッチ(図示せず)をオフにすると、レジスタセット24に電力が供給さなくなり、レジスタセット24に格納された情報はクリアされる。
図6は、レジスタセット24の内容の例を模式的に示したものである。レジスタセット24は、プレーヤ設定レジスタと、プレーヤ状態レジスタと、汎用レジスタとから構成される。
プレーヤ設定レジスタは、再生装置のコンフィグレーションを格納している。再生装置のコンフィグレーションには、例えば、再生装置における音声言語設定、字幕言語設定、テレビの表示設定、年齢設定がある。かかるレジスタの格納内容は、電源が絶たれた後も、格納しておく必要があるので、その記憶内容は、不揮発性メモリ26によるバックアップがとられている。
プレーヤ状態レジスタ(PSR)は、ある値を格納するための、番号付けされた格納場所を有するレジスタである。例えば、ある番号の格納場所には、現在再生中のプレイリストの識別子が入れられたり、他のある番号の格納場所には、利用しているオーディオの識別子が入れられたりする。これらの格納場所に格納された値に基づいて現在再生中のAVストリームの再生位置を特定することができる。プレーヤ状態レジスタにおいて、番号付けされた格納場所のそれぞれに値を入れるのは、AV再生エンジン15、HDMVモジュール40、もしくはBD-Jモジュール41である。コンテンツは、HDMVモジュール40、もしくはBD-Jモジュール41によって、プレーヤ状態レジスタや汎用レジスタから、指定した番号に対応する値を取得したり、指定した番号に対応する値を格納したりできる。
以降、PSRのうち、代表的なものについて説明する。
PSR1は、カレントPlay Itemにおいて再生可能となる複数オーディオストリームのうち、1つを特定するものである。PSR1の設定値が変化すれば、再生装置はこの変化後のオーディオストリームを再生する。PSR1は初期値として0xFFが設定されており、再生装置により1〜32の値に設定されうる。この0xFFは、不定値であり、オーディオストリームが存在しない旨、又は、オーディオストリームが選択されてない旨を示す。1〜32の設定値は、オーディオストリーム番号として解釈される。
PSR4は、1〜100の値に設定されることで、現在の再生時点が属するタイトルを示す。
PSR5は、1〜999の値に設定されることで、現在の再生時点が属するチャプター番号を示し、0xFFFFに設定されることで、再生装置においてチャプター番号が無効であることを示す。
PSR6は、0〜999の値に設定されることで、現在の再生時点が属するカレントプレイリストの番号を示す。
PSR7は、0〜255の値に設定されることで、現在の再生時点が属するカレントプレイアイテムの番号を示す。
PSR8は、0〜OxFFFFFFFFの値に設定されることで、45KHzの時間精度を用いて現在の再生時点(カレントPTM)を示す。以上がPSRについての説明である。
ここで、あるBD-ROMコンテンツを再生している際、そのBD-ROMコンテンツに含まれている、あるタイトルを構成する一部であるBD-Jアプリケーションが、そのタイトルの再生停止時に、レジューム再生に必要な情報を保存する処理の一例を示す。
汎用目的レジスタ(GPR)には、BD-Jアプリケーションがヒープメモリ31内で使用しているアプリケーションパラメータのうち、次回の動作再開時に特に必要となるものが、BD-Jアプリケーションによって書き込まれている。本図に示すパラメータ、つまり、インディケータに対応するデータファイル名(インディケータ画像.PNG)、インディケータの表示座標(X1,Y1)、インディケータの縦幅、横幅(width1,height1)、ステージ数(STAGE1:5)、ライフ値(LIFE:3)、ゲームで使用するアイテム(ITEM:G,N)、スコア(SCORE:10,500)といったものは、図5(c)の画面を再度描画するため、BD-Jアプリケーションが必要であると判断したパラメータである。
(再生停止時の処理)
BD-Jアプリケーションは、電源断発生や電源中断等、タイトル再生を停止すべき旨が通知されれば、ヒープメモリに存在する様々なパラメータ、つまり、動作において利用している変数の値、表示座標、その時点の時刻情報の中から、動作再開時に必要なものを選んで、不揮発性メモリに保存したいパラメータ(アプリケーションレジュームパラメータ)として汎用目的レジスタに書き込む。これ以外にも、プレーヤ状態レジスタやプレーヤ状態レジスタから保存したい情報をアプリケーションレジュームパラメータとして取得する。さらにBD-Jアプリケーションは、アプリケーションレジュームパラメータを汎用レジスタに格納する(以降、アプリケーションレジュームパラメータ退避と呼ぶ)。BD-Jアプリケーションは、アプリケーションレジュームパラメータ退避が完了すると、BD-Jモジュール41に対し、完了通知を行う。尚、アプリケーションレジュームパラメータは基礎出願の明細書におけるJavaレジュームパラメータと同一である。
BD-Jモジュール41は、BD-Jアプリケーションから完了通知を受け取ると、そのBD-Jアプリケーションを停止させる。BD-Jアプリケーションを停止させると、タイトルが停止したことをモード管理モジュール42に対して通知する。
モード管理モジュール42は、タイトルの停止した通知を受け取ると、レジスタセット24のうち、再生状態レジュームパラメータを不揮発性メモリ26に退避する。この再生状態パラメータの中には、タイトル番号等、モード管理モジュール42によるモード管理に必要なパラメータが存在する。
(再生再開時の処理)
コンテンツの再生停止後、電源供給が再開されたため、タイトル再生を再開する際の動作を以下に説明する。
モード管理モジュール42は、再生を開始しようとしているコンテンツが、予め退避しておいたレジスタセット24の内容に対応するものであるかを判断する。
判断する方法としては、記録媒体が排出されていないことを認識できる場合であれば、そのコンテンツがモード管理レジューム退避によって退避されたレジスタセット24の内容に対応するものであることは明白である。他の例としては、モード管理レジューム退避によって退避しておいたレジスタセット24に対応するコンテンツのコンテンツ識別情報と、これから再生しようとしているコンテンツのコンテンツ識別情報をとの比較によっても実現可能である。
ここでもし、再生を開始しようとしているコンテンツが、モード管理レジューム退避によって退避しておいてレジスタセット24の内容に対応するものではないと判断した場合、以降で述べる復帰処理は実施せず、BD-ROMで決められた通常の再生処理を実施する。以降の記述では、レジスタセット24の内容に対応するものであると判断した場合を前提とする。
コンテンツの再生を開始する際、タイトルを再生開始する前に、予め退避しておいたレジスタセット24の内容を、元の内容に戻す。タイトルを再生する場合、モード管理モジュール42は、BD-Jモジュール41に対し、タイトルの再生開始を指示する。BD-Jモジュール41は、そのタイトルに関連付けられているBD-Jアプリケーションを起動する。
BD-Jアプリケーションは、起動時に、前記アプリケーションレジュームパラメータ退避によって退避した情報を取得して、前回の動作状態を復元することが可能である。
もしアプリケーションレジュームパラメータの取得に失敗したかどうか、取得した内容が期待値と異なるかどうかを判定する。取得に失敗した場合、期待値と異なる場合には、その取得した情報を利用せず、最初から再生を開始する。期待値と同一である場合、取得したアプリケーションレジュームパラメータを元に、BD-Jアプリケーションは、以前の再生状態を復元させる。例えば、番号0から取得したプレイリストのIDと、番号1から取得した再生がどこまで進んでいたかを表す時刻を用いて、停止した再生位置からAV再生を再開できる。
モード管理モジュール42は、モード管理レジュームとしてタイトル番号を保存しておいた場合、同一コンテンツの再生が再開されたときは、通常の再生順序ではなく、保存しておいたタイトル番号から再生を開始することで、再生するタイトル番号まで含めたレジューム再生が可能となる。
これらの処理により、再生装置102はタイトルのレジューム再生が可能となる。
図7は、状態退避におけるアプリケーションレジュームパラメータ及び再生状態パラメータの行き来を模式的に描いた図である。本図では、図2に示した内部構成のうち、レジスタセット24、ヒープメモリ31を抜き出して描いている。このレジスタセット24、ヒープメモリ31に書き加えられた矢印は、アプリケーションレジュームパラメータ、再生状態パラメータの行き来を模式化したものである。
図7(a)は、BD-Jアプリケーションによるアプリケーションレジュームパラメータの汎用目的レジスタへの書き込みと、再生状態パラメータの再生状態レジスタへの書き込みとを模式的に示している。こうして、レジスタセットには、アプリケーションレジュームパラメータ及び再生状態パラメータが書き込まれていることがわかる。
図7(b)は、電源中断/電源異常を示す割込信号が通知された場合のアプリケーションレジュームパラメータ、再生状態パラメータの行き来を模式的に示す。丸記号"3"の矢印は、電源供給部25からMPU21への割込信号の出力を模式的に示したものである。かかる割込信号の通知があると、丸記号4の矢印に示すように、汎用目的レジスタにおけるアプリケーションレジュームパラメータ及び再生状態レジスタにおける再生状態パラメータが、不揮発性メモリ26に書き込まれる。これにより、電源断の準備がなされたことがわかる。
図8は、状態復帰及び利用時におけるアプリケーションレジュームパラメータ及び再生状態パラメータの行き来を模式的に描いた図である。本図では、図3に示した内部構成のうち、レジスタセット24、不揮発性メモリ26、ヒープメモリ31、バイトコードインタプリタ32を抜き出して描いている。これらに書き加えられた矢印は、アプリケーションレジュームパラメータ、再生状態パラメータの行き来を模式化したものである。
(a)は、アプリケーションレジュームパラメータ及び再生状態レジスタの復帰を示す。本図における丸記号"1"の矢印は、電源供給部25からMPU21への、電源投入を示す割込信号の出力を模式的に示したものである。かかる割込信号の通知があると、不揮発性メモリ26におけるアプリケーションレジュームパラメータ及び再生状態パラメータが、レジスタセット24における汎用目的レジスタ、及び、再生状態レジスタに書き込まれる。
丸記号"2""3"の矢印は、電源投入を示す割込信号が通知された場合のアプリケーションレジュームパラメータ、再生状態パラメータの行き来を模式的に示す。
(b)は、アプリケーションレジュームパラメータ及び再生状態レジスタの利用を示す。本図において、再生状態レジスタに再生状態パラメータが設定されると、これにより、カレントプレイリスト番号、カレントクリップ番号が特定することになる。丸記号"4"の矢印は、静的シナリオメモリ16へのプレイリスト情報、クリップ情報の読み込みを模式的に示し、丸記号"5"の矢印は、AV再生エンジン15によるプレイリスト情報、クリップ情報の読み込みを模式的に示したものである。
再生状態パラメータが再生状態レジスタに設定されることにより、カレントタイトル番号が特定することになる。丸記号"6"の矢印は、カレントタイトル番号に基づく、BD-Jオブジェクトの読み込みと、このBD-Jオブジェクトに基づく、BD-Jアプリケーションのクラスロードとを模式的に示す。
丸記号"7"の矢印は、汎用目的レジスタからヒープメモリへのアプリケーションレジュームパラメータの読み込みを模式的に示す。

図9は、レジューム処理の処理手順を示すフローチャートである。
ステップS1においてIndex.bdmvをBD-ROMから読み出し、ステップS2において、BD-ROMのイジェクトがあったか否かを判定する。もしあった場合、ステップS3においてIndex.bdmvにおけるファーストプレイタイトルを再生する。ステップS2がNoである場合、ステップS4〜ステップS10の処理を実行する。
ステップS4において状態退避内容におけるタイトル識別情報と、これから再生しようとするメディアにおけるタイトル識別情報とを対比し、ステップS5において一致しているかどうかを判定する。不一致ならば、ステップS3に移行する。
一致していれば、退避による退避内容を、レジスタセットに復帰させて(ステップS6)、ステップS7の判定を行う。ステップS7は、タイトル番号が状態復帰したかどうかの判定であり、もしタイトル番号が復帰しなければ、Index.bdmvにおけるファーストプレイタイトルを再生する。
状態復帰した場合は、カレントタイトル番号に対応するBD-Jオブジェクトを読み出し(ステップS8)、カレントBD-Jオブジェクト内のアプリケーション管理テーブルに記載されているアプリケーションについてクラスロードを行って(ステップS9)、クラスローダによりヒープメモリに得られたバイトコードをバイトコードインタプリタに実行させる(ステップS10)。
図10は、アプリケーションレジュームパラメータ処理の手順を示すフローチャートである。
汎用目的レジスタにアクセスして、アプリケーションレジュームパラメータの取得にトライする(ステップS21)。ステップS22は判定ステップであり、アプリケーションレジュームパラメータの取得に成功したなら、ステップS23を実行する。ステップS23は、アプリケーションレジュームパラメータの内容が期待値になっているか否かの判定ステップであり、期待値になっていなら(ステップS24)、アプリケーションレジュームパラメータをヒープメモリ内に設定することにより、以前の実行状態を再現する。
期待値になっていないなら、ステップS25においてヒープメモリ内のパラメータを初期化して、BD-Jアプリケーションの実行を最初から行う。

(第2実施形態)
第1実施形態では、電源異常を示す割込信号5が出力された際、又は、BD-Jアプリケーションは、再生停止の通知を受け取った際にアプリケーションレジュームパラメータ退避を行っていた。本実施形態においては、この状態退避のタイミングのバリエーションを開示する。
(状態退避タイミングのランダム化)
BD-Jアプリケーションは、任意のタイミングでアプリケーションレジュームパラメータ退避を行ってもよい。任意のタイミングとは、例えば、BD-Jアプリケーションがアプリケーションレジュームパラメータに含まれる情報の更新を検知したときであるとか、ある間隔(例えば1秒)をおいて周期的であるとか、ユーザからの操作を受けたタイミングなどである。また、そのタイミングは常に固定である必要は無く、動作状態や、再生装置の周辺要因などに応じて、途中でタイミングを変更することも可能である。
このように、BD-Jアプリケーションが任意のタイミングでアプリケーションレジュームパラメータ退避を行い、モード管理モジュール42が任意のタイミングでモード管理レジューム退避を行うことによって、急に電源が切れた場合など、モード管理モジュール42が、BD-Jモジュール41に対し、実行中のBD-Jアプリケーションの停止を指示しない、もしくは指示できない場合においても、レジューム再生が可能となる。

(退避タイミングの指示)
BD-Jアプリケーションが、明示的にモード管理モジュール42に対して、モード管理レジューム退避のタイミングを指示することも可能である。
例えば、BD-Jアプリケーションが、アプリケーションレジュームパラメータ退避を完了した時点で、モード管理モジュール42に対してモード管理レジューム退避のタイミングを指示することによって、効率的にアプリケーションレジュームパラメータの退避が可能となる。
さらに、BD-Jアプリケーションが、明示的にモード管理モジュール42に対して、BD-Jアプリケーションがアプリケーションレジュームパラメータ退避を開始したことを通知することも可能である。これにより、モード管理モジュール42は、その時点においてアプリケーションレジュームパラメータが不完全であることを認識することができるため、モード管理レジューム退避のタイミングを遅らせたり、待ったりすることが可能となる。
(汎用目的レジスタのアクセス終了をトリガとした状態退避)
動作中のアプリケーションが汎用目的レジスタの利用を終了したかどうかを検知する。この検知は、アプリケーションが汎用目的レジスタの利用を終了した際、アプリケーションがミドルウェアに発するイベントを受信することでなされる。
(アプリケーションからの指示をトリガとした状態退避)
"アプリケーションレジュームパラメータを退避せよ"との指示がプログラムインターフェイスを通じてアプリケーションによってなされたか否かの判定を行ってもよい。この場合状態退避は、アプリケーションレジュームパラメータを退避せよとの指示がアプリケーションからなされた際、実行される。
(第3実施形態)
第1実施形態においては、本発明におけるレジューム再生装置がレジューム再生を実現できる方式について述べた。本実施の形態においては、再生装置のコンフィグレーションにおいて、レジューム処理を実施することが可能かどうかを設定しておうく改良を述べる。再生装置のコンフィグレーションとして再生装置に組込まれ、レジューム処理を実施することが可能かどうかを表す情報を、レジュームサポート情報と呼ぶ。
レジュームサポート情報は、例えば、BD-Jモジュール41にレジュームサポート情報取得用のAPI(Application Programing Interface)を用意したり、BD-Jアプリケーションから取得可能なレジスタセット24の内部にレジュームサポート情報を含めたりすることが可能である。これらに限らず、レジュームサポート情報は、BD-Jアプリケーションから取得可能であれば、再生装置において、どのような形態で用意されていてもよい。
コンテンツは、レジュームサポート情報の内容により、もし再生装置がレジューム処理できないことが分かると、アプリケーションレジュームパラメータを退避することなく、レジューム処理を断念したり、レジュームが出来ないことをユーザに通知したり、BD-ROM規格で規定される再生装置で提供される他の手法を用いて可能な限りレジュームを実現しようと試みる。もし再生装置がレジューム処理できることが分かると、アプリケーションレジュームパラメータの退避や、レジューム処理を活用したシナリオの作成が可能である。
取得したレジュームサポート情報の内容からレジュームがサポートされていることを知れば、BD-Jアプリケーションがアプリケーションレジュームパラメータの退避や、レジュームを活用するような動的シナリオをオーサリング担当者は作成することが可能になる。例えば再生装置は、上述の実施の形態にて説明をしたモード管理モジュール42を制御するためのAPIを備え、BD-Jアプリケーションは、このAPIを呼出すときに、退避するタイミング、退避すべき情報などを引数として与え、この呼び出しを受けたAPIは与えられた引数に従ってモード管理モジュール42の退避を制御するようにしても良い。またBD-Jアプリケーションは、モード管理モジュール42を直接制御するように構成しても良い。
図11(a)は、レジュームサポート情報の一例を示す図である。レジュームサポート情報は、"1"か、"0"の値をとるフラグであり、"1"であれば、レジスタセットにおけるプレーヤ状態レジスタ及び汎用目的レジスタの状態退避が可能である旨を示す。"0"であれば、レジスタセットにおけるプレーヤ状態レジスタ及び汎用目的レジスタの状態退避が不可能である旨を示す。
図11(b)は、レジュームサポート情報に基づく、APIのコールを示す。本図は、再生装置の内部構成のうち、バイトコードインタプリタ32、ミドルウェア35、レジスタセット24を抜き出して描いている。丸記号"1"の矢印は、BD-Jアプリケーションによるレジュームサポート情報の取得を模式的に示す。BD-Jアプリケーションは、こうして取得したレジュームサポート情報を参照して、再生装置が状態退避・状態復帰に対応しているか否かを判定する。BD-Jアプリケーションが、状態退避・状態復帰に対応していると判定すれば、状態退避・状態復帰APIをコールすることにより、アプリケーションレジュームパラメータ及び再生状態パラメータが、レジスタセット24から不揮発性メモリ26へと状態退避されることになる。丸記号"2"の矢印は、BD-Jアプリケーションによる状態退避・状態復帰APIのコールを模式的に示している。
かかるAPIのコールによって、丸記号"3","4"の矢印に示すように、レジスタセット24に格納されたアプリケーションレジュームパラメータと、再生状態パラメータとがレジスタセット24から読み出されて不揮発性メモリ26に書き込まれる。

(第3実施形態)
本実施形態はオーサリングを行う者が、レジュームを再生装置に行わせることを意図している場合、レジュームを行わせるかどうかを指定することができる情報(レジューム対応情報と呼ぶ)を、BD-ROMに記録して、再生装置に供給する場合の改良である。
レジューム対応情報には、以下のような形態がある。

(復帰可否、利用可否の設定)
レジューム対応情報には、"復帰"の可否を示すフラグ(復帰可否フラグ)、"利用"の可否を示すフラグ(利用可否フラグ)を組込んでおくことができる。
図12(a)は、復帰可否フラグ、利用可否フラグを含むレジューム対応情報を示す図である。(b)は、復帰可否フラグ、利用可否フラグのビットアサインを示す。
『復帰可否フラグ』は、"1"に設定されることにより、不揮発性メモリ26に格納されたアプリケーションレジュームパラメータ及び再生状態パラメータを、レジスタセット24における汎用目的レジスタ及びプレーヤ状態レジスタに復帰することができることを、オーサリング者が意図している旨を示す。一方"0"に設定されることにより、復帰可否フラグは不揮発性メモリ26に格納されたアプリケーションレジュームパラメータ及び再生状態パラメータを、レジスタセット24における汎用目的レジスタ及びプレーヤ状態レジスタに復帰できないことを、オーサリング者が意図していない旨を示す。
『利用可否フラグ』は、1に設定されることにより、レジスタセット24に書き戻されたアプリケーションレジュームパラメータ及び再生状態パラメータを、BD-Jアプリケーション及びAV再生エンジン15に利用させる旨をオーサリング者が意図している旨を示す。一方、"0"に設定されることにより、利用可否フラグは、レジスタセット24に書き戻されたアプリケーションレジュームパラメータ及び再生状態パラメータを、BD-Jアプリケーション及びAV再生エンジン15に利用させる旨をオーサリング者が意図していない旨を示す。
図13(a)は、復帰可否フラグが"1"に設定されている場合の動作を示す。本図における上側は、1に設定された復帰可否フラグと、1に設定された利用可否フラグとを示す。下側は、図8(a)、(b)と同じ内容であり、不揮発性メモリ26からレジスタセット24への復帰、及び、レジスタセット24からBD-Jアプリケーション及びAV再生エンジン15への引き渡しを示す模式的に示す。本図に示すように、不揮発性メモリ26からレジスタセット24への復帰は、復帰可否フラグが"1"に設定されていることを前提に実行され、レジスタセット24からBD-Jアプリケーション及びAV再生エンジン15への引き渡しは、利用可否フラグが"1"に設定されていることを前提に実行されていることがわかる。

これとは反対に、復帰可否フラグが0に設定されていれば、不揮発性メモリ26からレジスタセット24への復帰がなされることはない。利用可否フラグが"0"に設定されていれば、レジスタセット24からBD-Jアプリケーション及びAV再生エンジン15へのアプリケーションレジュームパラメータ、再生状態パラメータの引き渡しがなされることはない。以上の復帰可否フラグ、利用可否フラグを用いることで、不揮発性メモリ26からレジスタセット24への書き戻しは行うが、書き戻されたアプリケーションレジュームパラメータ及び再生状態パラメータの利用自体は禁じるという制限を、再生動作時に課すことができる。

(タイトル共通指定、個別指定)
この改良は、BD-ROMに記録されている複数のタイトルのうち、どれで状態退避・状態復帰を実行させるかを、BD-ROMに設定しておくというものである。
図14は、状態退避・状態復帰の可否がタイトル毎に設定されたIndex.bdmvを示す図である。
タイトル共通情報202は、BD-ROMに記録されている複数のタイトルがベースとしている規格のバージョン番号、コンテンツ作成者独自の情報を含む。図14では、バージョンが2.00であり、コンテンツ製作者独自の情報として"映画1"という内容が含まれる例を示している。そしてタイトル共通情報に存在するレジューム対応フラグは、BD-ROMに記録されている全てのタイトルにおいて、状態退避・状態復帰が有効であるか否を示す。
タイトル固有情報203は、各タイトルに関する情報が含まれている。図145は、コンテンツ内にタイトルが2つ存在し、タイトル#1のタイトル種別が"BD-J"であり、タイトル#1のタイトル定義情報が前記bdjoディレクトリに"00000.bdjo"であり、かかるタイトル#1がレジュームに対応していることを示す。そして、タイトル#1情報に存在するレジューム対応フラグは、タイトル#1において、状態退避・状態復帰が有効であるか否かを示す。そしてタイトル#2情報に存在するレジューム対応フラグは、タイトル0002において、状態退避・状態復帰が有効であるか否かを示す。
またタイトル#2のタイトル種別が"HDMV"であり、タイトル#2のタイトル定義情報が前記MovieObject.bdmvの0番目に定義されている。
図14では、これらのタイトル共通情報、タイトル個別情報のそれぞれに、レジューム対応フラグが存在する。
再生装置102は、再生するコンテンツに含まれるレジューム対応フラグの内容に応じて処理を変える。
図15は、レジューム対応フラグの内容を用いた再生装置102の処理手順を示すフローチャートである。コンテンツの再生を開始しようとすると、まず、再生装置102は、index.bdmv201を読み込み(ステップS1)、index.bdmv201に含まれているタイトル共通情報、タイトル個別情報を参照して、タイトル共通情報におけるレジューム対応フラグが有効かどうかを判断する(S31)。もし、タイトル共通情報におけるレジューム対応フラグが有効であれば、カレントタイトルにおいて、レジュームが有効である旨をユーザに提示して(ステップS33)、ステップS2〜ステップS10の処理を行い、復帰及び利用を行う。
タイトル共通情報におけるレジューム対応フラグは有効でない場合、ステップS32の判定を行う。ステップS32の判定は、タイトル個別情報のうち、カレントタイトルに対応するもののレジューム対応フラグが有効であるか否かを判定するものである。もし有効であれば、ステップS33において、カレントタイトルにおいてレジュームが有効である旨をユーザに提示して、ステップS2〜ステップS10の処理を行い、復帰及び利用を行う。
タイトル共通情報におけるレジューム対応フラグも、タイトル個別情報におけるレジューム対応フラグも有効でない場合、ステップS34で、カレントタイトルにおいてレジュームが有効でない旨をユーザに提示して、ステップS3において、ファーストプレイタイトルを再生する。
これにより、レジューム再生を好まないコンテンツや、レジューム再生による動作を保障できないコンテンツに対し、レジューム再生による問題の発生を防ぐことが可能となる。
図16は、テレビ103の提示内容を示す。本図(a)は、タイトル共通情報又はカレントタイトルに対応するタイトル個別情報が有効になっている際の提示内容を示す。この提示内容は、電源オフ前からの再開が可能である旨をGUIを介してユーザに提示している。また、再開を行うかどうかの指示を受け付けるためのボタンを併せて表示している。このように再生装置102は、レジューム対応フラグが有効になっているコンテンツを再生する際、テレビ103などに、対象コンテンツがレジューム再生に対応していることをユーザに提示することが可能である。
同図(b)は、タイトル共通情報又はカレントタイトルに対応するタイトル個別情報が無効になっている際の提示内容を示す。この提示内容は、電源オフ前からの再開が不可能である旨をGUIを介してユーザに提示している。再生装置102は、レジューム対応フラグが無効になっているコンテンツを再生する際、または、コンテンツの再生を停止する際に、テレビ103などに、対象コンテンツがレジューム再生に対応していないことを表示することが可能である。これにより、レジューム対応フラグに応じた処理の違いを、ユーザに示すことが可能となる。

(アプリケーションレジュームパラメータ、再生状態パラメータの状態退避及び復帰を指定するレジューム対応情報)
レジューム対応情報には、アプリケーションレジュームパラメータの状態退避及び復帰、再生状態パラメータの状態退避及び復帰のうち、何れを実行すべきか、双方を実行すべきかを示す情報を包含させておくことができる。
再生状態レジュームパラメータの状態退避及び復帰を実行すべきか否かを規定するフラグを"再生状態レジューム可否フラグ"といい、アプリケーションレジュームパラメータの状態退避及び復帰を実行すべきか否かを規定するフラグを"アプリケーションレジューム可否フラグ"という。
図17(a)は、再生状態レジューム可否フラグ、アプリケーションレジューム可否フラグを格納したレジューム対応情報を示す図である。再生状態レジューム可否フラグは"1"に設定されることにより、再生状態パラメータの状態退避及び復帰が可能である旨を示す。一方、再生状態レジューム可否フラグは"0"に設定されることにより、再生状態レジュームパラメータの状態退避及び復帰が不可能である旨を示す。
アプリケーションレジューム可否フラグは"1"に設定されることにより、アプリケーションレジュームパラメータの状態退避及び復帰が可能である旨を示す。一方、アプリケーションレジューム可否フラグは"0"に設定されることにより、アプリケーションレジュームパラメータの状態退避及び復帰が不可能である旨を示す。
(b)は、アプリケーションレジューム可否フラグが1に設定された場合における状態退避・状態復帰を示す。(b)の左側には再生状態レジューム可否フラグ、アプリケーションレジューム可否フラグを含むレジューム対応情報が記載されている。このレジューム対応情報は、アプリケーションレジューム可否フラグが"1"に設定されており、再生状態対応フラグが"0"に設定されているので、アプリケーションレジュームパラメータのみがレジスタセット24から不揮発性メモリ26に状態退避され、再生状態パラメータはレジスタセット24から不揮発性メモリ26に状態退避されていないことがわかる。
(c)は、再生状態レジューム可否フラグが"1"に設定された場合における状態退避・状態復帰を示す。(c)の左側には再生状態レジューム可否フラグ、アプリケーションレジューム可否フラグを含むレジューム対応情報が記載されている。このレジューム対応情報は、再生状態レジューム可否フラグが"1"に設定されており、アプリケーションレジューム可否フラグが"0"に設定されているので、再生状態パラメータのみがレジスタセット24から不揮発性メモリ26に退避され、アプリケーションレジュームパラメータはレジスタセット24から不揮発性メモリ26に退避されていないことがわかる。
図18は、再生状態レジューム可否フラグ、アプリケーションレジューム可否フラグによる状態退避・状態復帰を示すフローチャートである。本図において、一点鎖線で囲んだステップS41〜ステップS45が、再生状態レジューム可否フラグ、アプリケーションレジューム可否フラグに対応する処理である。
ステップS1において、Index.bdmvを読み出した後、ステップS41の判定ステップを実行する。ステップS41は、再生状態レジューム可否フラグが"1"に設定されているか否かの判定であり、もし再生状態レジューム可否フラグが"1"に設定されていれば、退避していた再生状態パラメータを復帰させる(ステップS42)。"0"であれば、ステップS45に移行する。ステップS45は、アプリケーションレジューム可否フラグが(1)に設定されているか否かの判定であり、アプリケーションレジューム可否フラグが"0"に設定されている場合、ステップS3において、ファーストプレイタイトルを再生する。
ステップS43は、ステップS41でYesに設定され、再生状態パラメータがプレーヤ状態レジスタに書き戻された後に実行される判定ステップであり、アプリケーションレジュームパラメータが"1"に設定されているか否かを判定する。ステップS43がYesであれば、ステップS44において、アプリケーションレジュームパラメータを不揮発性メモリ26から汎用目的レジスタに書き戻す。もしステップS43がNoであれば、ステップS44を復帰する。

(個数指定を含むレジューム対応情報)
レジューム対応情報に、状態退避を行うべきアプリケーションレジュームパラメータの個数を包含させておくという改良について説明する。レジューム対応情報に、状態退避行うべきアプリケーションレジュームパラメータ又は再生状態パラメータの個数を記述しておき、汎用目的レジスタに存在する複数のアプリケーションレジュームパラメータのうち、レジューム期待情報に記載されている個数のアプリケーションレジュームパラメータを不揮発メモリに状態退避させれば、状態退避、復帰に伴うオーバーヘッドを極力少なくすることができる。
図19は、個数指定を含むアプリケーションレジュームパラメータの一例を示す図である。本図(a)において、アプリケーションレジュームパラメータにおけるパラメータ個数指定は、3個というように、具体的な汎用目的レジスタの個数を指定することができる。本図(b)は、(a)の個数指定に基づく、汎用目的レジスタの退避を示す図である。パラメータ個数指定が"3"に指定されていれば、汎用目的レジスタに存在する5つのアプリケーションレジュームパラメータのうち、3つのアプリケーションレジュームパラメータが、不揮発性メモリ26に状態退避されることになる。(c)は、パラメータ個数指定が5個に設定されたアプリケーションレジュームパラメータの一例を示す図である。(d)は、(c)の個数指定に基づく、汎用目的レジスタの退避を示す図である。パラメータ個数指定が"5"に指定されていれば、汎用目的レジスタに存在する5つのアプリケーションレジュームパラメータのうち、5つのアプリケーションレジュームパラメータが、不揮発性メモリ26に状態退避されることになる。
汎用目的レジスタにおける全てのパラメータを状態退避するのではなく、一部の情報のみ退避することによって、退避する情報量を削減でき、退避先のサイズの縮小や、退避作業に要する時間の短縮が可能となる。
レジスタセット24のうち、どの範囲をアプリケーションレジュームパラメータとして退避されるかを予め決めておき、BD-Jアプリケーションが、その部分にのみアプリケーションレジュームパラメータを退避することによって、退避する範囲を制限することが可能となる。

(退避すべき範囲)
退避すべき範囲については、BD-Jアプリケーションがアプリケーションレジュームパラメータとして退避して欲しいと希望するレジスタの範囲をBD-Jアプリケーションからモード管理モジュール42に対して通知するのが望ましい。これにより、BD-Jアプリケーションにとって最適なサイズのアプリケーションレジュームパラメータを退避することが可能となる。

(退避タイミングの規定の仕方)
前記レジューム対応情報に、BD-Jアプリケーションが任意のタイミングでアプリケーションレジュームパラメータ退避を実施するかどうかの情報を含めることが出来る。再生装置がこの情報を用いることによって、再生するコンテンツが急に電源が切れば場合にレジュームできないことをユーザに提示したり、モード管理モジュール42がモード管理レジューム退避を行うタイミングを変更したりなど、動作を変更することが可能となる。

(第4実施形態)
本実施形態は、不揮発性メモリ26における改良のバリエーションを開示する。不揮発性メモリ26における改良のバリエーションには、以下のものがある。

(タイトル毎のレジューム)
複数のタイトル毎のアプリケーションレジュームパラメータ及び再生状態パラメータの組みを不揮発性メモリ26に格納しておいて、状態退避・状態復帰を実行することができる。例えば、タイトル0001とタイトル0002が存在しおり、タイトル0001の再生を停止後、タイトル0002を再生し、さらにその後にタイトル0001を再度再生する場合、タイトル0001の2回目の再生は、1回目の再生の続きから再生される場合に有益である。コンテンツの種類は2種類に限らず、1種類以上のコンテンツであれば、実施可能である。
図20は、不揮発性メモリ26の格納内容を模式的に表したものである。本図に示すように、不揮発性メモリ26には、タイトル識別子と、再生状態パラメータとの組みが複数、配置される。
タイトル識別子は、コンテンツを一意に識別できる情報であり、例えば、前記BCAや、前記discIDなどを利用することが可能であるが、コンテンツを一意に識別できるものであれば、どのような情報であっても実施可能である。本図においては、タイトル0001、0002についてのタイトル識別子が不揮発性メモリ26に格納されている。
これらのタイトル識別子に対応付けて、再生状態パラメータが格納される。図20(a)の場合、タイトル識別子「0001」には、時点t1に対応する再生状態パラメータ及びアプリケーションレジュームパラメータが格納されており、タイトル識別子「0002」には、時点t2に対応する再生状態パラメータ及びアプリケーションレジュームパラメータが格納されている。
時点t1に対応する再生状態パラメータは、タイトル識別子「0001」のコンテンツを再生していた際の再生状態パラメータであり、t2に対応する再生状態パラメータは、タイトル識別子「0002」のコンテンツを再生していた際の再生状態パラメータである。
同図(b)は、タイトル番号0001対応付けて格納される再生状態パラメータがどのようなものかを示す。タイトル0001の再生開始からt1を経過した後に、再生停止が指示された場合、t1が、再生状態パラメータとしてタイトル0001に対応付けて格納されることがわかる。
同図(c)は、タイトル番号0002に対応付けて格納される再生状態パラメータがどのようなものかを示す。タイトル0002の再生開始からt2を経過した後に、再生停止が指示された場合、t2が、再生状態パラメータとしてタイトル0002に対応付けて格納されることがわかる。
同図(d)は、タイトル0002の再生後、タイトル0001の再生がどのように再開するかを示す。タイトル0001のタイトル識別子には、t1の再生状態パラメータが格納されているため、このt1の位置から再生が再開することがわかる。
この状態において、タイトル識別子「0001」のコンテンツの再生を開始すると、モード管理モジュール42は、t1に対応する再生状態パラメータを用いてレジューム再生を行うことが出来る。また、タイトル識別子「0002」のコンテンツの再生を開始すると、モード管理モジュール42は、t2に対応する再生状態パラメータを用いてレジューム再生を行うことが出来る。

(退避先の二重化)
モード管理レジューム退避の途中で電源が切れる場合や、何らの異常が発生することによってモード管理レジューム退避に失敗する場合がある。このような問題に対しては、モード管理レジュームの退避先の二重化、つまり、退避先を2組以上用意し、順番に利用する方法がある。
図21は、第1の退避先である記憶領域1と、第2の退避先である記憶領域2の2組の退避先が存在する不揮発性メモリ26を示す図である。モード管理モジュール42は、図21(a)に示すように、最初のモード管理レジューム退避のタイミングでは、アプリケーションレジュームパラメータ及び再生状態パラメータを、第1の退避先である記憶領域1に退避する。そして退避が成功した場合、退避先記憶領域1が正常であることを記憶しておく。次のモード管理レジューム退避のタイミングでは、図21(b)に示すように、第2の退避先である記憶領域2へ退避する。そして退避が成功した場合、退避先記憶領域2が正常であることを記憶しておく。この処理により、より最後に退避した退避先であり、かつ、成功したと記憶されている方の退避先の情報を利用することで、問題を回避することが可能である。
これにより、BD-Jアプリケーション自身が、各退避先が正常に退避された内容かどうかを記憶する必要がなくなる。
各退避先が正常に退避された内容かどうかを判定したい場合は、各退避先に含まれる情報のうち、正常に退避された内容であること示す情報を読み込むことによって判定できる。もし正常に状態退避された内容が2以上の存在する場合、状態退避内容のうち、状態退避の時期が最も新しいものを、復帰及び利用に供する
尚、退避先1および退避先2の中に、その退避先が正常に退避された内容であること示す情報を含めても良い。
(備考)
以上、本願の出願時点において、出願人が知り得る最良の実施形態について説明したが、以下に示す技術的トピックについては、更なる改良や変更実施を加えることができる。各実施形態に示した通り実施するか、これらの改良・変更を施すか否かは、何れも任意的であり、実施する者の主観によることは留意されたい。

尚、上記の説明は一例に過ぎず、当該技術者にとっては、様々な応用が適用できる。
(プログラミング言語の適用範囲)
上記実施形態では、仮想マシンのプログラミング言語としてJava(TM)を利用したが、Java(TM)ではなく、UNIX(TM) OSなどで使われているB-Shellや、Perl Script、ECMA Scriptなど他のプログラミング言語であっても良い。

(コンテンツアンバウンダリレジューム)
前記レジューム対応情報に、複数のコンテンツをまたいだレジューム再生を期待するかどうかの情報を含めることが出来る。再生装置がこの情報を用いることによって、仮にモード管理レジュームが退避されていたとしても、コンテンツが変更された際に、退避されているモード管理レジュームパラメータを使わないように動作することが可能となる。

(ディレクトリ構成)
これらのファイルおよびディレクトリ構成は、その一例であり、他の構成であっても本発明は実施可能である。
(マルチドライブ化)
BD-ROMドライブ401は、BD-ROMだけでなく、読み書き可能なBD-REに対する読込みおよび書き込みや、DVD、CD等の様々な種類の記録媒体を利用できるものであってもよ
い。
(機能構成のバリエーション)
ここで示した機能構成は、BD-ROMの再生装置の一例を示したものであり、以降で述べる動作を実現可能であれば、他の機能構成であっても本発明は実施可能である。

(再開のための必須情報)
BD-Jアプリケーションは、プレーヤ状態レジスタの全てを取得する必要なく、そのBD-Jアプリケーションが再開するために必要とするもののみを取得すれば良い。

(レジスタ内容の退避形式)
モード管理レジュームがレジスタセット24の内容を含んでいる場合、レジスタセット24の内容をそのままの形式で利用しなくても、レジスタセット24の内容を復元可能であれば退避の際のデータ形式を変更してもよい。例えば、公知の圧縮技術を用いてレジスタセット24の内容を圧縮したものをモード管理レジュームに含めることが可能である。
(アプリケーションレジュームパラメータの取得成功後の処理)
アプリケーションレジュームパラメータの取得に成功したとしても、必ずしも以前の再生状態を復元させる必要は無い。

(モード管理レジュームにおける差分データ、変更データ)
モード管理レジュームは、レジスタセット24の内容を全てを含める必要は無く、復元するのに十分な情報さえ含められればよい。例えば、ある初期値を決めておき、初期値と異なる部分だけ保存したり、何らかの変更が加えられた部分だけ保存したりすることが可能である。
(モード管理レジュームの包含内容)
モード管理レジュームには、レジスタセット24の内容だけでなく、他の情報も含めることが可能である。例えば、最後に再生していたタイトル番号や、HDMVタイトルに関する情報、停止理由などである。また、コンテンツを識別するためのコンテンツ識別情報を含めてもよい。コンテンツを識別するための情報とは、例えば、前記BCAの情報や、記録媒体上に存在するファイルから実用上一意に識別できると期待できる情報を算出した値(例えばファイルのハッシュ値など)でもよい。

(伝達の仕方)
さらには、BD-Jアプリケーションがアプリケーションレジュームパラメータをレジスタセット24に格納することなく、直接的あるいは間接的に、モード管理モジュール42にアプリケーションレジュームパラメータを伝達することも考えられる。その場合、レジューム再生を行う際には、モード管理モジュール42は、アプリケーションレジュームパラメータをレジスタセット24に復元するのではなく、直接的あるいは間接的に、BD-Jアプリケーションに伝達する。

(不揮発性メモリ26のバリエーション)
不揮発性メモリ26は、リムーバブルメディアドライブ2b、ビルドインメディアドライブ2a、BDドライブ401で書き込み可能な記録媒体を、不揮発性メモリ26として利用しても実施可能である。また、ネットワークI/F4を経由してアクセス可能な媒体であっても、再生装置の電源供給状態に依存せず記録内容を保持できるのであれば、不揮発性メモリ26として利用しても実施可能である。

(二次電源の具備)
なお、電源が急に切れる場合の対策として、モード管理レジューム退避を行うのに十分な二次電源を用意しておくことが望ましい。
なお、モード管理レジューム退避の途中で電源が切れる場合や、何らの異常が発生することによってモード管理レジューム退避に失敗する場合への対策を行わなくてもよい。本発明は実施可能である。

(実施可能性)
アプリケーションレジュームパラメータ退避の途中で電源が切れる場合や、何らの異常が発生することによってアプリケーションレジュームパラメータ退避に失敗する場合への対策を行わなくても、本発明は実施可能である。

(プログラムの実施形態)
各実施形態に示したアプリケーションレジュームパラメータ、再生状態パラメータの退避・復帰を行うプログラムは、以下のようにして作ることができる。先ず初めに、ソフトウェア開発者は、プログラミング言語を用いて、各フローチャートや、機能的な構成要素を実現するようなソースプログラムを記述する。この記述にあたって、ソフトウェア開発者は、プログラミング言語の構文に従い、クラス構造体や変数、配列変数、外部関数のコールを用いて、各フローチャートや、機能的な構成要素を具現するソースプログラムを記述する。
記述されたソースプログラムは、ファイルとしてコンパイラに与えられる。コンパイラは、これらのソースプログラムを翻訳してオブジェクトプログラムを生成する。
コンパイラによる翻訳は、構文解析、最適化、資源割付、コード生成といった過程からなる。構文解析では、ソースプログラムの字句解析、構文解析および意味解析を行い、ソースプログラムを中間プログラムに変換する。最適化では、中間プログラムに対して、基本ブロック化、制御フロー解析、データフロー解析という作業を行う。資源割付では、ターゲットとなるプロセッサの命令セットへの適合を図るため、中間プログラム中の変数をターゲットとなるプロセッサのプロセッサが有しているレジスタまたはメモリに割り付ける。コード生成では、中間プログラム内の各中間命令を、プログラムコードに変換し、オブジェクトプログラムを得る。
ここで生成されたオブジェクトプログラムは、各実施形態に示したフローチャートの各ステップや、機能的構成要素の個々の手順を、コンピュータに実行させるような1つ以上のプログラムコードから構成される。ここでプログラムコードは、プロセッサのネィティブコード、JAVAバイトコードというように、様々な種類がある。プログラムコードによる各ステップの実現には、様々な態様がある。外部関数を利用して、各ステップを実現することができる場合、この外部関数をコールするコール文が、プログラムコードになる。また、1つのステップを実現するようなプログラムコードが、別々のオブジェクトプログラムに帰属することもある。命令種が制限されているRISCプロセッサでは、算術演算命令や論理演算命令、分岐命令等を組合せることで、フローチャートの各ステップを実現してもよい。
オブジェクトプログラムが生成されるとプログラマはこれらに対してリンカを起動する。リンカはこれらのオブジェクトプログラムや、関連するライブラリプログラムをメモリ空間に割り当て、これらを1つに結合して、ロードモジュールを生成する。こうして生成されるロードモジュールは、コンピュータによる読み取りを前提にしたものであり、各フローチャートに示した処理手順や機能的な構成要素の処理手順を、コンピュータに実行させるものである。かかるプログラムをコンピュータ読取可能な記録媒体に記録してユーザに提供してよい。

(システムLSI化)
再生装置102を構成するハードウェアのうち、機構的な構成要素(BDドライブ、リムーバブルメディアドライブ、ビルドインメディアドライブ)、大容量のメモリによって実装される構成要素(ビデオプレーン、グラフィクスプレーン)を除いた、論理素子を主要部とする部分を、1つのシステムLSIとして構成することが望ましい。何故なら、論理素子を主要部とする部分は、高密度に集積化することができるからである。
システムLSIとは、高密度基板上にベアチップを実装し、パッケージングしたものをいう。複数個のベアチップを高密度基板上に実装し、パッケージングすることにより、あたかも1つのLSIのような外形構造を複数個のベアチップに持たせたものも、システムLSIに含まれる(このようなシステムLSIは、マルチチップモジュールと呼ばれる。)。
ここでパッケージの種別に着目するとシステムLSIには、QFP(クッド フラッド アレイ)、PGA(ピン グリッド アレイ)という種別がある。QFPは、パッケージの四側面にピンが取り付けられたシステムLSIである。PGAは、底面全体に、多くのピンが取り付けられたシステムLSIである。
これらのピンは、他の回路とのインターフェイスとしての役割を担っている。システムLSIにおけるピンには、こうしたインターフェイスの役割が存在するので、システムLSIにおけるこれらのピンに、他の回路を接続することにより、システムLSIは、再生装置102の中核としての役割を果たす。
かかるシステムLSIは、再生装置102は勿論のこと、TVやゲーム、パソコン、ワンセグ携帯等、映像再生を扱う様々な機器に組込みが可能であり、本発明の用途を多いに広げることができる。
エレメンタバッファやビデオデコーダ、オーディオデコーダ、グラフィクスデコーダをも、一体のシステムLSIにする場合、システムLSIのアーキテクチャは、Uniphierアーキテクチャに準拠させるのが望ましい。
Uniphierアーキテクチャに準拠したシステムLSIは、以下の回路ブロックから構成される。
・データ並列プロセッサDPP
これは、複数の要素プロセッサが同一動作するSIMD型プロセッサであり、各要素プロセッサに内蔵されている演算器を、1つの命令で同時動作させることで、ピクチャを構成する複数画素に対するデコード処理の並列化を図る。
・命令並列プロセッサIPP
これは、命令RAM、命令キャッシュ、データRAM、データキャッシュからなる「Local Memory Controller」、命令フェッチ部、デコーダ、実行ユニット、レジスタファイルからなる「Processing Unit部」、複数アプリケーションの並列実行をProcessing Unit部に行わせる「Virtual Multi Processor Unit部」で構成される。
・MPUブロック
これは、ARMコア、外部バスインターフェイス(Bus Control Unit:BCU)、DMAコントローラ、タイマー、ベクタ割込コントローラといった周辺回路、UART、GPIO(General Purpose Input Output)、同期シリアルインターフェイスなどの周辺インターフェイスで構成される。
・ストリームI/Oブロック
これは、USBインターフェイスやATA Packetインターフェイスを介して、外部バス上に接続されたドライブ装置、ハードリムーバブルメディアドライブ装置、SDメモリカードドライブ装置とのデータ入出力を行う。
・AVI/Oブロック
これは、オーディオ入出力、ビデオ入出力、OSDコントローラで構成され、テレビ、AVアンプとのデータ入出力を行う。
・メモリ制御ブロック
これは、外部バスを介して接続されたSD-RAMの読み書きを実現するブロックであり、各ブロック間の内部接続を制御する内部バス接続部、システムLSI外部に接続されたSD-RAMとのデータ転送を行うアクセス制御部、各ブロックからのSD-RAMのアクセス要求を調整するアクセススケジュール部からなる。
具体的な生産手順の詳細は以下のものになる。まず各実施形態に示した構成図を基に、システム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に書き込ませる必要がある。
本発明を構成するレジューム再生装置は、製造産業、映像コンテンツの制作に携わる映画産業・民生機器産業において利用できる。
101 BD-ROM
102 再生装置
103 テレビ
104 リムーバブルメディア
105 リモコン
201 index.bdmv
1 BDドライブ
2 リードバッファ
4 ネットワークI/F
5 仮想ファイルシステム
6 デマルチプレクサ
7 ビデオデコーダ
8 ビデオプレーン
13 オーディオデコーダ
12 加算器
15 AV再生エンジン
16 静的シナリオメモリ
17 レンダリングエンジン
24 レジスタセット24
26 不揮発性メモリ
30 動的シナリオメモリ
40 HDMVモジュール
41 BD-Jプラットフォーム
42 モード管理モジュール
43 UO検知モジュール
44 ディスパッチャ
本発明は、状態退避及び状態復帰技術の技術分野に属する発明である。
状態退避とは、装置への電源供給が突然絶たれるとの不測の事態に備えて、動作再開に必要なデータの一部を不揮発性の第2記憶媒体に書き込んでおく技術であり、いわば、旧来からの停電対策同様、装置の安定動作にはなくてはならない不可欠な処理である。一方、状態復帰とは、装置への電源供給が再開した後に、不揮発性の第2記憶媒体に書き込まれたデータに基づき、電源供給が絶たれる前の動作を速やかに回復する技術である。DVD-VideoのAV再生を実行するような再生装置において、状態退避・状態復帰は、AV再生を停止する際に、物理的もしくは論理的な再生位置を、不揮発性の第2記憶媒体に書き込んでおき、次回の再生時には、不揮発性の第2記憶媒体に書き込むまれた再生位置から、再生を再開することでなされる。
特許第3438729号 特開2003-77222号公報 特開昭62-169218号公報
AV再生の対象となるコンテンツには、DVD-Videoコンテンツと、BD-ROMコンテンツという、二種類のものがある。DVD-Videoコンテンツで使われる命令群は、いわゆるコマンドインタープリタによって解読されるコマンドであり、何番目の命令を実行していたというプログラムカウンタの値や、レジスタの保持値を状態退避の対象とするだけで、状態復帰は可能になる。
これとは対照的にBD-ROMコンテンツは、AV再生にJava(登録商標)アプリケーションが連動する。Java(登録商標)アプリケーションの動作には、複数のスレッド、膨大な変数、様々な画面描画パラメータなどが必要であり、装置の電源供給が絶たれた場合、電源断前の動作を再開するには、これらの複数のスレッド、変数、様々な画面描画パラメータの全てを不揮発性の第2記憶媒体に書き込んでおく必要がある。そればかりではなく、Java(登録商標)アプリケーションの動作に利用していたメモリ情報や、オペレーティングシステム(OS)が持つ管理情報などを不揮発性の第2記憶媒体に書き込んでおいて、サスペンドやハイバーネーションと呼ばれる処理を装置に実行させる必要がある。
しかしながら、BD-ROM再生装置を始めとするコンシューマエレクトロニクス(CE)機器においては、パーソナルコンピュータに比べて不揮発記憶領域の容量や、各種ハードウェアリソースが少ない場合が多く、動作再開のための情報の一部を、不揮発性の第2記憶媒体に状態退避できないという状態退避漏れが発生する。かかる状態退避漏れがあると、再開時の動作が正しくなされることを保障できない。仮に、状態退避すべき情報の一部に欠落があった状態で、動作を再開しようとすると、再生装置のハングアップやブラックアウトを招きかねない。CE機器は、パソコンの業界とは比較にならない品質保障が求められるため、そのような動作異常の危険性がある状態退避・状態復帰は、とてもではないが実用に耐えるとはいえない。
本発明は、状態退避に必要な不揮発性の第2記憶媒体の規模が制限されている場合であっても、電源が絶たれた後のアプリケーションの動作再開を安定的に行わせることができる再生装置を提供することである。
上記課題を解決するため、再生装置は、複数の処理の状態退避及び状態復帰を実現する再生装置であって、複数の処理のうち1つは、AVストリームの再生処理であり、他の1つは、AVストリームの再生と連動した、アプリケーションの処理であり、記録媒体からアプリケーション及びAVストリームを読み出す読出手段と、アプリケーションを動作させるプラットフォーム部と、AVストリームを再生する再生部と、揮発性の第1記憶媒体とを備え、前記揮発性の第1記憶媒体は記憶領域を備え、前記記憶領域には、前記AVストリームの再生状態を示す再生状態パラメータが書き込まれており、前記アプリケーションは、前記プラットフォーム内で使用している複数のパラメータのうち、状態復帰後の動作再開時に必要となるものを選んで、アプリケーションレジュームパラメータとして、前記記憶領域に書き込んでおり、前記複数処理の状態退避は、前記アプリケーションレジュームパラメータと、前記再生状態パラメータとを揮発性の第1記憶媒体の記憶領域から読み出して、不揮発性の第2記憶媒体に書き込むことでなされ、前記複数処理の状態復帰は、前記不揮発性の第2記憶媒体に書き込まれたアプリケーションレジュームパラメータと、再生状態パラメータとを前記揮発性の第1記憶媒体の記憶領域に書き戻すと共に、前記揮発性の第1記憶媒体の記憶領域に書き戻された再生状態パラメータに基づき、アプリケーションをプラットフォーム部にロードすることでなされることを特徴としている。
上記課題解決手段を具備した再生装置は、再生状態パラメータに基づきアプリケーションのロードをやり直すことで、状態復帰を行う。状態復帰において、アプリケーションのロードをやり直すので、複数のスレッド、変数、様々な画面描画パラメータ、メモリ情報、OSの管理情報を不揮発性の第2記憶媒体に書き込む必要はない。これらの情報を書き込みが不要であるので、不揮発性の第2記憶媒体の規模は、必要最低限のもので足りる。
また揮発性の第1記憶媒体の記憶領域には、つまり、アプリケーションレジュームパラメータが書き込まれるので、アプリケーションのロードをやり直すだけで、アプリケーションは、動作を再開することができる。
アプリケーションは、動作中に使用しているパラメータのうち、状態復帰後の動作再開時に必要となるものを選んで、アプリケーションレジュームパラメータとして、揮発性の第1記憶媒体の記憶領域に書き込むだけで、停電対策を実現することができるので、アプリケーションが直接、不揮発性メモリに動作パラメータを書き込む場合と比較して、アプリケーション状態退避・状態復帰のためのオーバーヘッドは小さくて済む。またオーバヘッドを極力最小にしつつも、装置の電源異常対策を実行することができるので、装置のパフォーマンスを低下させることはない。
よって再生装置が、例えばAV再生と、アプリケーションの動作とを連動させたゲームを実行している場合、キャラクターのパラメータがスコア等の同一性を維持しつつも、途中からゲームを再開するといった処理が可能になる。
尚、上記再生装置における動作再開は、アプリケーションの積極的な関与を必要とするものである。ヒープ領域で使用されているパラメータのうち、動作再開に必要なものが選ばれていない場合は、レジュームの実行は不可能になるから、アプリケーションの動作と、再生装置の動作との不整合が発生する可能性がある。このような問題は、上記再生装置を以下のように構成することで解決することができる。
つまり、前記記録媒体には、更にレジューム対応情報が記録されており、前記レジューム対応情報は、状態復帰後に、前記揮発性の第1記憶媒体の記憶領域へ復元された内容を、再生手段及びアプリケーションに利用させるか否かを示し、前記レジューム対応情報が復元内容を利用させる旨を示す場合、前記再生手段による再生再開は、前記揮発性の第1記憶媒体の記憶領域に復元された再生状態パラメータに基づいてなされ前記アプリケーションによる動作再開は、揮発性の第1記憶媒体の記憶領域に復元されたアプリケーションレジュームパラメータを用いてなされ、前記レジューム対応情報が前記第1記憶媒体へ復元された内容を利用しないことを示す場合、前記再生手段は、AVストリームの再生を再開せず、アプリケーションは、動作を再開しないように構成することで解決を図ることができる。
上記発明特定事項が追加された再生装置では、アプリケーションが、動作再開に必要なパラメータをアプリケーションレジュームパラメータとして選ぶという動作をサポートしているなら、レジューム対応情報を設定することにより、レジュームを行ってよいと規定することができる。逆に、アプリケーションが、動作再開に必要なパラメータをアプリケーションレジュームパラメータとして選ぶという動作をサポートしていないなら、レジューム対応情報を設定することにより、レジュームを禁止することができる。コンテンツ制作者の判断によって、レジューム再生を行なっても良いかどうかを制御できるため、コンテンツ作成者側の意図に沿った再生が行なわれることになる。
コンテンツ作成者側が、映像や音声と、Java(登録商標)アプリケーション含むようなコンテンツをレジュームさせたくないと考えた場合、レジューム対応情報の設定次第でレジュームは規制されるので、ユーザの不測の動作によってコンテンツ制作者側の意図しないような動作が引き起こされることはない。

一般的に再生装置の電源遮断は、多くの場合、装置を利用するユーザの操作に基づいて行なわれるものであり、ユーザがいつ電源を遮断するかというのは、予測がつかない。
従って、アプリケーションがパラメータを不揮発性メモリに状態退避する前に、ユーザの操作入力により電源が遮断されてしまえば、揮発性の記憶媒体の情報は全てクリアされてしまい、不揮発性の記憶媒体に退避することができない。この場合、電源を再投入したとしても、不揮発性の記憶媒体に情報は退避されていないため、Java(登録商標)アプリケーションの動作を電源遮断前の状態から再開することができない。また再開したとしても、その動作が不安定なものになる。
このように、ユーザの不測の動作によってコンテンツ制作者側の意図しないような動作が引き起こされると、コンテンツ作成者側にとっては、映像や音声と、Java(登録商標)アプリケーション含むようなコンテンツをレジュームさせたくないと考えるかもしれない。それとは裏腹に、従来のレジューム機は、再生装置が備える機能のみでできてしまうため、コンテンツ制作者側の意図を反映することはできない。
このような問題は、再生装置を以下のように構成することで解決することができる。
つまり前記再生装置は、レジュームサポート情報を保持しており、レジュームサポート情報は、前記揮発性の第1記憶媒体の記憶領域の内容を前記不揮発性の第2の記憶媒体の記憶領域に退避することか可能か否かを示し、前記アプリケーションが起動された際、前記レジュームサポート情報は、アプリケーションに引き渡され、前記アプリケーションによるアプリケーションレジュームパラメータの書き込みは、受け取ったレジュームサポート情報が、記憶領域の内容退避が可能である旨を示している場合になされるように構成することで解決を図ることができる。
揮発性メモリについて、電源バックアップが存在せず、ユーザ操作による突発的な電源遮断で、揮発性メモリの内容が消失してしまう再生装置では、状態復帰のためのパラメータが、正しく退避されていない可能性が高い。この際、レジュームサポート情報を"退避不可能"に設定しておけば、パラメータの退避が不可能である旨をアプリケーションに正しく伝えることができる。この場合、アプリケーションは、再生装置によるレジュームを期待しないから、不安定なパラメータに基づいて、レジューム動作がなされるという事態を回避することができる。
揮発性メモリについて電源バックアップが存在していて、突発的な電源遮断が発生しても、揮発性メモリの内容を退避できる再生装置では、状態復帰のためのパラメータが、正しく退避されている。かかる再生装置において、レジュームサポート情報を"退避可能"に設定しておけば、パラメータの退避が不可能である旨をアプリケーションに正しく伝えることができる。この場合アプリケーションは、再生装置によるレジュームを期待することができる。
再生装置においてレジュームがサポートされているかどうかをアプリケーションに伝え、アプリケーションは、その再生装置のサポートの有無に基づきレジュームに必要な動作を行うので、再生装置と、アプリケーションとの連携を密にすることができる。
再生装置102の、使用行為についての形態を示す図である。 BD-ROMの構成を示した図である。 再生装置の大まかな機能構成を示すブロック図である。 再生装置におけるソフトウェアレイヤモデルを示す図である。 再生装置によって再生に供されるBD-ROMコンテンツを示す図である。 レジスタセット24の内容の例を模式的に示したものである。 状態退避におけるアプリケーションレジュームパラメータ及び再生状態パラメータの行き来を模式的に描いた図である。 状態復帰及び利用時におけるアプリケーションレジュームパラメータ及び再生状態パラメータの行き来を模式的に描いた図である。 レジューム処理の処理手順を示すフローチャートである。 アプリケーションレジュームパラメータ処理の手順を示すフローチャートである。 レジュームサポート情報及びレジュームサポート情報に基づく、APIのコールの一例を示す図である。 復帰可否フラグ、利用可否フラグを含むレジューム対応情報を示す図である。 復帰可否フラグ、利用可否フラグに応じた動作を示す。 状態退避・状態復帰の可否がタイトル毎に設定されたIndex.bdmvを示す図である。 レジューム対応フラグの内容を用いた再生装置102の処理手順を示すフローチャートである。 テレビ103の提示内容を示す図である。 再生状態レジューム可否フラグ、アプリケーションレジューム可否フラグを格納したレジューム対応情報を説明するための図である。 再生状態レジューム可否フラグ、アプリケーションレジューム可否フラグによる状態退避・状態復帰を示すフローチャートである。 個数指定を含むアプリケーションレジュームパラメータの一例を示す図である。 不揮発性メモリ26の格納内容を模式的に表したものである。 第1の退避先である記憶領域1と、第2の退避先である記憶領域2の2組の退避先が存在する不揮発性メモリ26を示す図である。
以下本発明の実施の形態について、図面を参照しながら説明する。
(第1実施形態)
以降、再生装置の実施形態について説明する。先ず始めに、本発明に係る再生装置の実施行為のうち、使用行為についての形態を説明する。図1は、再生装置102の、使用行為についての形態を示す図である。本図に示すように、再生装置102は、BD-ROM101、再生装置102、テレビ103、リムーバブルメディア104と共にユーザによる使用に供される。
BD-ROM101は、映画作品が記録された記録媒体である。
再生装置102は、テレビ103と共に、ホームシアターシステムを構築して、BD-ROM100を再生する。
テレビ103は、映画作品の再生映像を表示したり、メニュー等を表示することで、対話的な操作環境をユーザに提供する。
リムーバブルメディア104は、再生装置に装填され、映画配給者のWWWサーバ101から配信されたコンテンツの受け皿として利用される。そのため、ネットを通じてダウンロードされ、リムーバブルメディア104に格納されたコンテンツと、BD-ROM100に記録されたコンテンツとを組み合わせて、BD-ROM100のコンテンツを拡張/更新をすることができる。かかるリムーバブルメディア104を装填するという目的のため、再生装置102には、SDメモリカード、メモリスティック、コンパクトフラッシュ(登録商標)、スマートメディア、マルチメディアカード等のリムーバブルメディア104を挿入する挿入口を備える。
リモコン105は、再生装置102の付属物であり、再生装置102に対する操作をユーザから受け付けて、操作に応じた指示信号を再生装置102に送信する。
以上が本発明に係る再生装置の使用形態についての説明である。続いて本発明に係る再生装置が再生の対象としている、記録媒体について説明する。本発明に係る再生装置により、再生されるのは、光記録媒体であるBD-ROM100である。
以上が本発明に係る再生装置の使用形態についての説明である。続いて本発明に係る再生装置が再生の対象としている、記録媒体について説明する。本発明に係る再生装置により、再生されるのは、この例では光記録媒体であるBD-ROM101である。
図2は、BD-ROM(以降、「BD」と称する場合もある)の構成を示した図である。本実施の形態においては、映画等のAVコンテンツを再生するためのAVアプリケーションを主眼においてBD-ROMを説明するが、BD-ROMをCD-ROMやDVD-ROMのようにコンピュータ用途の記録媒体として利用することも当然ながら可能である。BD-ROMは、他の光ディスク、例えばDVDやCDなどと同様にその内周から外周に向けて螺旋状に記憶領域を持ち、内周のリード・インと外周のリード・アウトの間に論理データを記録できる論理アドレス空間を有している。また、リード・インの内側にはBCA(BurstCutting Area)と呼ばれる、ドライブでしか読み出せない特別な領域がある。この領域はアプリケーションから読み出せないため、例えば著作権保護技術などに利用されることがよくある。
論理アドレス空間には、ファイルシステム情報(ボリューム)を先頭に映像データなどのアプリケーションデータが記録されている。ファイルシステムとは、UDFやISO9660などのことであり、通常のPCと同じように記録されている論理データをディレクトリ、ファイル構造を使って読み出しする事が可能になっており、255文字のファイル名、ディレクトリ名を読み出すことが可能である。
本実施の形態の場合、BDディスク上のディレクトリ、ファイル構造は、ルートディレクトリ(ROOT)直下にBDMVディレクトリが置かれている。BDMVディレクトリはBD-ROMで扱うAVコンテンツや管理情報などのデータが記録されているディレクトリである。
BDMVディレクトリの配下には、PLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリ、JARディレクトリ、BDJOディレクトリと呼ばれる5つのサブディレクトリが存在し、BDMVディレクトリには、index.bdmv201,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"が付与されたファイルは、MPEG-TS(TransportStream)形式のデジタルAVストリームであり、1つ以上のビデオストリーム、1つ以上のオーディオストリーム、1つ以上のグラフィクスストリームを多重化することで得られる。ビデオストリームは映画の動画部分を、オーディオストリームは映画の音声部分を、グラフィクスストリームは、映画の字幕をそれぞれ示している。
拡張子"clpi"が付与されたファイルは、デジタルAVストリームのそれぞれに1対1に対応するClip情報である。管理情報故に、Clip情報は、デジタルAVストリームの符号化形式、フレームレート、ビットレート、解像度等の情報や、GOPの先頭位置を示すEP_mapをもっている。
拡張子"mpls"が付与されたファイルは、プレイリスト情報を格納したファイルである。プレイリスト情報は、MainPath情報、Subpath情報、プレイリストMark情報を含む。
1)MainPath情報は、AVストリームの再生時間軸のうち、In_Timeとなる時点と、Out_Timeとなる時点の組みを1つ以上定義することにより、論理的な再生区間を定義する情報であり、AVストリームに多重化されているエレメンタリストリームのうち、どれの再生を許可し、どれの再生を許可しないかを規定するストリーム番号テーブル(STN_table)をもつ。
2)プレイリストMark情報は、In_Time情報及びOut_Time情報の組みにて指定されたAVストリームの一部分のうち、チャプターとなる時点の指定を含む。
3)Subpath情報は、前記AVストリームと同期して再生すべきエレメンタリストリームの指定と、そのエレメンタリストリームの再生時間軸におけるIn_Time情報及びOut_Time情報の組みとを含む。再生制御のためのJava(登録商標)アプリケーションが、このプレイリスト情報を再生するJMFプレーヤインスタンスの生成をJava(登録商標)仮想マシンに命じることで、AV再生を開始させることができる。JMF(JavaMedia Frame work)プレーヤインスタンスとは、JMFプレーヤクラスを基にして仮想マシンのヒープメモリ上に生成される実際のデータのことである。
AVストリームと、プレイリスト情報との組みは、"タイトル"という再生単位を構成する。BD-ROMにおけるAV再生は、このタイトルを一単位としてなされる。BD-ROMコンテンツは、このタイトルの集まり、つまり、タイトルセットのことをいう。root/BDMVディレクトリに存在するタイトルのうち、最初に再生されるべきタイトルを、特に"ファーストプレイタイトル"とよぶ。また、プレイリスト情報及びクリップ情報は、静的なシナリオとして扱われる。

拡張子"jar"が付与されたファイルは、Java(登録商標)アーカイブファイルであり、Java(登録商標)仮想マシンを用いて動的なシナリオ制御を行うJava(登録商標)アプリケーションのプログラムが記述されている。Java(登録商標)アーカイブファイルは、http://java(登録商標).sun.com/j2se/1.4.2/docs/guide/jar/jar.htmlに記載された仕様に準じたファイルである。Java(登録商標)アーカイブファイルは複数のファイルをディレクトリ構造の形で格納している。このディレクトリ構造とは、ルートディレクトリ直下に「XXXX.class」が存在し、META-INFディレクトリにファイル「MANIFEST.MF」、ファイル「SIG-BD.SF」、ファイル「SIG-BD.RSA」、ファイル「bd.XXXX.perm」が存在するというものである。
このXXXX.class(クラスファイル)は、Java(登録商標)仮想マシン上で実行することができるJava(登録商標)アプリケーションを定義するようなクラス構造体を格納したクラスファイルである。MANIFEST.MFは、デジタル証明書に対応するものであり、SIG-BD.SFは、MANIFEST.MFのハッシュ値が記載されているファイルである。SIG-BD.RSAは、デジタル証明書チェーン、署名情報が記載されているファイルである。bd.XXXX.permは、パーミッションリクエストファイルであり、実行されるJava(登録商標)アプリケーションにどのパーミッションを与えるのかの情報を格納する。
Java(登録商標)アーカイブファイルにおけるクラスファイルにて定義されるJava(登録商標)アプリケーションは、Xletインターフェイスを通じて、アプリケーションマネージャにより、制御されるJava(登録商標)Xletである。Xletインターフェイスは、"loaded","paused"、"active","destoryed"といった4つの状態をもつ。
またJava(登録商標)アプリケーションは、JFIF(JPEG)やPNG,その他のイメージデータを表示するためのスタンダードJava(登録商標)ライブラリを用いて、GEM1.0.2にて規定されたHAViフレームワークを実現する。HAViフレームワークは、GEM1.0.2におけるリモートコントロールナビゲーション機構を含むGUIフレームワークであり、Java(登録商標)アプリケーションは、HAViフレームワークに基づくボタン表示、テキスト表示、オンライン表示(BBSの内容)といった表示を、動画像の表示と組み合わせた画面表示を実現することができ、リモートコントロールを用いて、この画面表示に対する操作を行うことができる。
拡張子"bdjo"が付与されたファイル、及び、MovieObject.bdmv(ファイル名固定)は、動作モードオブジェクトである。動作モードオブジェクトは、再生装置における複数の動作モードのそれぞれについての制御手順を規定するデータである。再生装置における動作モードには、コマンドインタプリタが制御主体になる動作モード(HDMVモード)と、Java(登録商標)プラットフォームが制御主体になる動作モード(BD-Jモード)とがある。HDMVモードではHDMVモードの動作主体であるコマンドインタプリタが制御主体になるので、DVD-Videoライクなナビゲーションコマンドによって制御が規定されることになる。一方、BD-Jモードでは、BD-Jモードの動作主体であるJava(登録商標)プラットフォームが制御主体になるので、DVB-MHPで実現されているような、Java(登録商標)バイトコードによって制御が規定されることになる。
BD-Jモードにおける動作モードオブジェクトは、BD-Jオブジェクトと呼ばれる。BD-Jオブジェクトは、プレイリスト情報により示されるAVストリームと、Java(登録商標)アプリケーションとの関連付けにより、タイトルを定義する情報である。BD-オブジェクトは、"アプリケーション管理テーブル"と、そのタイトルにおいて自動再生可能なプレイリスト一覧を示す。アプリケーション管理テーブルは、アプリケーションの識別子(アプリケーションID)とそのアプリケーションに属するJava(登録商標)アーカイブファイルのIDを羅列することで、このタイトルを生存区間とするアプリケーションを示すテーブルである。つまり、一つのアプリケーションは一つ以上のJava(登録商標)アーカイブファイルで構成される。またBD-Jオブジェクトは、タイトルにおいて自動再生すべきプレイリスト情報の指定を含む。自動再生すべきものとして指定されたプレイリスト情報は、BD-Jオブジェクトに対応するタイトルがカレントタイトルになった際、その再生が自動的に開始される。尚、BD-Jオブジェクトによって動作が規定されるJava(登録商標)アプリケーションを、"BD-Jアプリケーション"と呼ぶ。
HDMVモードにおける動作モードオブジェクトは、ムービーオブジェクトと呼ばれる。ムービーオブジェクトは、HDMVモード(後述)での各タイトル再生で、再生進行を動的に変化させるためのシナリオが記述されたシナリオプログラムが含まれる。
index.bdmv201(ファイル名は"index.bdmv"で固定)は、BD-ROM全体に関する管理情報であり、映画作品のプロバイダを特定する識別子であるorganizationID(32bit)や、プロバイダが提供するBD-ROMのそれぞれに割り当てられた識別子であるdiscID(128bit)等の情報を持ち、再生装置へのディスク挿入後に、index.bdmv201が最初に読み出されることで、再生装置においてディスクが一意に認識される。加えて、index.bdmv201にはBD-ROMにおいて再生可能となる複数のタイトルと、個々のタイトルを規定するBD-Jオブジェクトとを対応付けて示すテーブルが含まれる。

図3は、再生装置の大まかな機能構成を示すブロック図である。本図に示すように、再生装置は、BD-ROMドライブ1、リードバッファ2a,2b、ローカルストレージ3、ネットワークI/F4、仮想ファイルシステム5、デマルチプレクサ6、ビデオデコーダ7、ビデオプレーン8、グラフィクスデコーダ9、グラフィクスプレーン10、グラフィクスプレーン11、合成部12、オーディオデコーダ13、HDMIインターフェイス14、AV再生エンジン15、静的シナリオメモリ16、レンダリングエンジン17、MPU21、ROM22、RAM23、レジスタセット24、電源供給部25、不揮発性メモリ26、動的シナリオメモリ30、ヒープメモリ31、バイトコードインタプリタ32から構成される。
BD-ROMドライブ1は、BD-ROMのローディング/イジェクトを行い、BD-ROMに対するアクセスを実行する。
ローカルストレージ2は、ビルドインメディアドライブ2a、リムーバブルメディアドライブ2bを備え、ダウンロードしてきた追加コンテンツやアプリケーションが使うデータなどの保存に用いられる。追加コンテンツの保存領域はBD-ROM毎に分かれており、またアプリケーションがデータの保持に使用できる領域はアプリケーション毎に分かれている。また、ダウンロードした追加コンテンツをどのようにBD-ROM上のデータとマージされるか、マージ規則が記載されたマージ管理情報もこのビルドインメディアドライブ2a、リムーバブルメディアドライブ2bに保存される。


リードバッファ3a、3bは、FIFOメモリであり、BD-ROM又はローカルストレージから読み出されたTSパケットが先入れ先出し式に格納される。
ネットワークインターフェース4は、再生装置の外部と通信を行うためのものであり、インターネットでアクセス可能なサーバにアクセスしたり、ローカルネットワークで接続されたサーバにアクセスしたりすることが可能である。例えば、インターネット上に公開されたBD-ROM追加コンテンツのダウンロードに用いられたり、コンテンツが指定するインターネット上のサーバとの間でデータ通信を行うことでネットワーク機能を利用したコンテンツの再生を可能としたりする。BD-ROM追加コンテンツとは、オリジナルのBD-ROMにないコンテンツで、例えば追加の副音声、字幕、特典映像、アプリケーションなどである。BD-Jモードの動作主体であるJava(登録商標)プラットフォームからネットワークインターフェース4を制御することができ、インターネット上に公開された追加コンテンツをビルドインメディアドライブ2aもしくはリムーバブルメディアドライブ2bにダウンロードすることができる。
仮想ファイルシステム5は、追加コンテンツと共にビルドインメディアドライブ2a、リムーバブルメディアドライブ2bにダウンロードされたマージ管理情報を元に、ビルドインメディアドライブ2aもしくはリムーバブルメディアドライブ2bに格納された追加コンテンツとBD-ROM上のコンテンツをマージさせた、仮想的なBD-ROM(仮想パッケージ)を構築する。HDMVモードの動作主体であるコマンドインタプリタやBD-Jモードの動作主体であるJava(登録商標)プラットフォームからは、仮想パッケージとオリジナルBD-ROMを区別なく参照することができる。仮想パッケージ再生中、再生装置はBD-ROM上のデータとビルドインメディアドライブ2aもしくはリムーバブルメディアドライブ2b上のデータの両方を用いて再生制御を行うことになる。
デマチプレクサ6は、AVストリームを構成するTSパケットの多重分離を行い、ビデオデコーダ7、グラフィクスデコーダ9、オーディオデコーダ13のそれぞれに出力する。
ビデオデコーダ7は、デマルチプレクサ6から出力されたビデオフレームを復号して非圧縮形式のピクチャをビデオプレーン8に書き込む。
ビデオプレーン8は、非圧縮形式のピクチャを格納しておくためのメモリである。
グラフィクスデコーダ9は、デマルチプレクサ6から出力されたビデオフレームを復号して非圧縮形式のピクチャをビデオプレーン8に書き込む。
グラフィクスプレーン10は、デマルチプレクサ6から読み出されたグラフィクスストリームをデコードすることで得られたグラフィクスを格納しておくバッファである。
グラフィクスプレーン11は、BD-Jアプリケーションによって描画した、一プレーン分のグラフィクスを格納しておくためのバッファである。
合成器12は、ビデオプレーン8に格納された非圧縮形式のピクチャデータに、グラフィクスプレーン11に展開されたグラフィクスを合成して出力する。
オーディオデコーダ13は、デマルチプレクサ6から出力されたオーディオフレームを復号して、非圧縮形式のオーディオデータを出力する。
HDMIインターフェイス14は、合成部12によって合成された合成映像と、オーディオデコーダ13によってデコードされた非圧縮のオーディオデータとを、HDMIインターフェイスを介してテレビ103に伝送する。
AV再生エンジン15は、HDMVモードの動作主体であるコマンドインタプリタ、BD-Jモードの動作主体であるJava(登録商標)プラットフォームからの関数呼び出しに応じて、AV再生機能、プレイリストの再生機能を実行する。AV再生機能とは、DVDプレーヤ、CDプレーヤから踏襲した機能群であり、再生開始、再生停止、一時停止、一時停止の解除、静止画機能の解除、再生速度を即値で指定した早送り、再生速度を即値で指定した巻戻し、音声切り替え、副映像切り替え、アングル切り替えといった処理である。プレイリスト再生機能とは、このAV再生機能のうち、再生開始や再生停止をカレントプレイリストを構成するカレントプレイリスト情報、カレントクリップ情報に従って行うことをいう。
カレントシナリオメモリ16は、カレントプレイリスト情報やカレントクリップ情報を格納しておくためのメモリである。カレントプレイリスト情報とは、BD-ROMドライブ1またはビルドインメディアドライブ3a、リムーバブルメディアドライブ3bからアクセスできる複数プレイリスト情報のうち、現在処理対象になっているものをいう。カレントクリップ情報とは、BD-ROMドライブ1またはビルドインメディアドライブ3a、リムーバブルメディアドライブ3bからアクセスできる複数クリップ情報のうち、現在処理対象になっているものをいう。
レンダリングエンジン17は、例えばJava2D,OPEN-GLといった基盤ソフトウェアを備え、BD-Jモードの動作主体であるJava(登録商標)プラットフォームからの指示に従ってコンピュ-タ・グラフィックスの描画を行い、描画されたコンピュ-タ・グラフィックスをイメージプレーン11に出力する。
MPU21は、再生装置におけるコンピュータアーキテクチャの中核をなし、ROM22に格納されているネィティブコードをフェッチして解読し、ネィティブコードに基づき、再生装置の処理を実行する。
ROM22は、再生装置における組込みプログラムが予め格納されている。
RAM23は、動的シナリオメモリ30、ヒープメモリ31が配置されるメモリ空間を構成する。
レジスタセット24には、プレイリストの再生状態や、コンテンツが利用する任意の情報を格納できる領域である。プレイリストの再生状態とは、プレイリストに記載されている各種AVデータ情報の中のどのAVデータを利用しているか、プレイリストのどの位置(時刻)を再生しているか、などの状態を現すものである。プレイリストの再生状態が変化した際は、AV再生エンジン15がレジスタセット24に対し、その内容を格納する。また、HDMVモードの動作主体であるコマンドインタプリタもしくはBD-Jモードの動作主体であるJava(登録商標)プラットフォームが実行しているアプリケーションからの指示により、コンテンツが指定した値を格納したり、格納された値をアプリケーションに渡したりすることが可能である。
電源供給部25は、商用電源又は内蔵電源により電源供給を行う。電源投入時には、投入を示す割込信号をMPU21に出力し、電源異常/電源断時には、電源異常/電源断を示す割込信号をMPU21に出力する。

不揮発性メモリ26は、読み書き可能なメモリなどの記録媒体(または記憶媒体とも言う)であり、電源が供給されなくても、記録内容を保持できる媒体である。例えばフラッシュメモリ、FeRAMなどである。また、ビルドインメディア、リムーバブルメディアといった書き込み可能な記録媒体を、不揮発性メモリ26として利用しても実施可能である。また、ネットワークI/F(4)21を経由してアクセス可能な媒体であっても、再生装置の電源供給状態に依存せず記録内容を保持できるのであれば、不揮発性メモリ26として利用しても実施可能である。

動的シナリオメモリ30は、カレント動的シナリオを格納しておき、HDMVモードの動作主体であるコマンドインタプリタ、BD-Jモードの動作主体であるJava(登録商標)プラットフォームによる処理に供されるメモリである。カレント動的シナリオとは、BD-ROMまたはビルドインメディアドライブ2a、リムーバブルメディアドライブ2bに記録されているIndex.bdmv、BD-Jオブジェクト、ムービーオブジェクトのうち、現在実行対象になっているものをいう。
ヒープメモリ31は、システムアプリケーションのバイトコード、BD-Jアプリケーションのバイトコード、システムアプリケーションが利用するシステムパラメータ、BD-Jアプリケーションが利用するアプリケーションパラメータが配置されるスタック領域である。
バイトコードインタプリタ32は、ヒープメモリ31に格納されているバイトコードをネィティブコードに変換して、MPU21に実行させる。

以上が再生装置の内部構成についての説明である。続いて、再生装置のソフトウェアレイヤモデルの詳細について説明する。
図4は、再生装置におけるソフトウェアレイヤモデルを示す図である。このソフトウェアレイヤモデルでは、HDMVモジュール40、BD-Jモジュール41、モード管理モジュール42という3つの動作主体がMPU21上に存在する。これらは、動的シナリオメモリ30に存在するIndex.bdmv、BD-Jオブジェクト、ムービオブジェクトによって制御を行う。そしてBD-Jモジュール41は、ミドルウェア35−バイトコードインタプリタ32−ヒープメモリ31という階層によって構成される。ヒープメモリ31には、BD-Jアプリケーション、クラスローダ33、アプリケーションマネージャ34が存在する。
本図のうち、メモリカードドライブ30、ヒープメモリ31、バイトコードインタプリタ32については、先の図で説明済みであるから、その説明を省略する。以降、未説明の構成要素について説明する。
クラスローダ33は、システムアプリケーションの1つであり、JARアーカイブファイルに存在するクラスファイルからバイトコードを読み出して、ヒープメモリ31に格納することにより、BD-Jアプリケーションのロードを行う。
アプリケーションマネージャ34は、システムアプリケーションの1つであり、BD-Jオブジェクト内のアプリケーション管理テーブルに基づき、BD-Jアプリケーションを起動したりBD-Jアプリケーションを終了したりする等、BD-Jアプリケーションのアプリケーションシグナリングを行う。
ミドルウェア35は、組込みソフトウェアのためのオペレーティングシステムであり、当該オペレーティングシステムのカーネル、基本入出力部から構成される。またBD-JアプリケーションからのAPIコールに応じて、様々な機能をBD-Jアプリケーションに提供する。
HDMVモジュール40は、HDMVモードの動作主体であるコマンドインタプリタによって構成されるDVD仮想プレーヤであり、HDMVモードの実行主体となる。HDMVモードの動作主体であるコマンドインタプリタは、シナリオプログラムを構成するナビゲーションコマンドを解読して実行するものである。ナビゲーションコマンドは、DVD-Videoと似たようなシンタックスで記述されているため、かかるナビゲーションコマンドを実行することにより、DVD-Videoライクな再生制御を実現することができる。
BD-Jモジュール41は、BD-Jモードの動作主体であるJava(登録商標)プラットフォームであり、Java(登録商標)仮想マシン、コンフィグレーション、プロファイルから構成され、バイトコードインタプリタ32、クラスローダ33、アプリケーションマネージャ34、ミドルウェア35を含む。
モード管理モジュール42は、BD-ROMまたはビルドインメディアドライブ2a、リムーバブルメディアドライブ2bから読み出されたIndex.bdmvを保持して、モード管理及び分岐制御を行う。モード管理モジュール42によるモード管理とは、動的シナリオをどのHDMVモジュール40、BD-Jモジュール41に実行させるかという、モジュールの割り当てである。
UO探知モジュール43は、リモコンや再生装置のフロントパネルに対してなされたユーザ操作を検出して、ユーザ操作を示す情報(以降UO(User Operation)という)をモード管理モジュール42に出力する。
ディスパッチャ44は、UOから、現在の再生装置におけるモードに適切なUOのみを選んで、そのモードを実行するモジュールに受け渡す。例えばHDMVモードの実行中に、上下左右、アクティベートといったUOを受け付けた場合、HDMVモードのモジュールにこれらのUOを出力するというのがディスパッチャ44の処理である。
本再生装置において、特に創作した部分は、BD-ROMコンテンツのレジュームである。レジュームとは、"退避"、"復帰"、"利用"という3つの処理によって、電源供給が絶たれた後の動作再開を実行することである。"退避"とは、揮発性の記憶媒体に存在する動作再開用のパラメータを、不揮発性の記憶媒体に書き込むことをいう。"復帰"とは、不揮発性の記憶媒体から、揮発性の記憶媒体に、動作再開に用いるパラメータを書き戻すことである。利用とは、揮発性の記憶媒体からBD-Jアプリケーション、AV再生エンジンへと、パラメータを引き渡して、アプリケーションの動作や再生制御に供することである。このレジュームには、以下のような類型がある。
レジュームのうち、電源供給が断たれる前と、電源供給が再開した後とで、再生装置がHDMVモードで動作しているか、BD-Jモードで動作しているかというモード管理の同一性を保つことを、"モード管理レジューム"と呼び、かかるモード管理レジュームは、モード管理の管理主体であるモード管理モジュールによってなされる。第2記憶媒体への退避に供すべきパラメータのうち、モード管理に必要なものを"モード管理レジュームパラメータ"と呼ぶ。モード管理レジュームでは、Index.bdmv、及び、カレントタイトルに対応する動作モードオブジェクト(BD-Jオブジェクト、ムービーオブジェクト)がモード管理パラメータに該当する。これらは、動的シナリオメモリ30に格納されているので、この動的シナリオメモリ30の内容を不揮発性メモリ26に書き込むことで、状態退避は可能になる。
モード管理レジュームのうち、HDMVモードと、BD-Jモードとで共通に実行すべき動作のためのレジューム、つまり、プレイリストの再生制御の同一性を保つレジュームを"再生状態レジューム"といい、再生状態レジュームに用いるパラメータを、再生状態レジュームパラメータという。再生状態レジュームでは、再生状態レジスタの格納値が再生状態パラメータに該当する。ここでカレントタイトル番号は、モード管理レジュームに必要なものだが、カレントタイトル番号は、再生状態レジスタに格納されているので、再生状態パラメータの1つとして扱う。静的シナリオメモリ16に格納されているカレントプレイリスト情報、カレントクリップ情報は、本実施形態では、再生状態パラメータに含めないものとする。これらは、再生状態レジスタにて指示されているから、再生状態レジスタの格納値を手掛かりにして改めて再度BD-ROMに読み出せば足りるからである。
レジュームのうち、電源供給が断たれる前と、電源供給が再開した後とで、アプリケーションの動作の同一性を保つことを"アプリケーションレジューム"という。第2記憶媒体への退避に供すべきパラメータのうち、このアプリケーションレジュームに用いるべきものを"アプリケーションレジュームパラメータ"と呼ぶ。BD-ROMコンテンツのレジュームには、以上の3つのレジュームが必要となる。これらのレジュームの全体制御は、モード管理モジュール42によってなされる。
またBD-ROMコンテンツは、動画像の再生に、アプリケーションが連動するコンテンツであり、典型的なものとしては、動画像の再生を伴いながら、ユーザ操作に従いゲームを進行させるゲームコンテンツ、動画像の再生を伴いながら、ユーザ操作に従いWebページでオンラインショッピングを実行するオンラインショッピングコンテンツがある。以降の説明では、ゲームコンテンツが、BD-ROMコンテンツとして提供されているケースを題材にして、説明を進める。
図5は、再生装置によって再生に供されるBD-ROMコンテンツを示す図である。図5(a)は、AVClipにおけるピクチャデータをビデオデコーダ7がデコードすることにより得られる動画像の一例を示す。HDMVモードでは、このピクチャデータを主体とした映像が再生されることになる。
図5(b)は、グラフィクスプレーン11の格納内容の一例を示す。BD-Jアプリケーションが、動画像の再生を伴ったゲームを実行していることを前提にしている。そのためグラフィクスプレーン11には、インディケータを示すグラフィクスが、表示座標(X1,Y1)において、縦幅、横幅(width1,height1)の大きさで表示されている。このインディケータは、ステージ数(STAGE1:5)、ライフ値(LIFE:3)、ゲームで使用するアイテム(ITEM:G,N)、スコア(SCORE:10,500)、ダメージ(4)を示す。
また、表示座標(X2,Y2)には、縦幅、横幅(width2,height2)の大きさで、メニューが配置されている。このメニューは、(戦う、逃げる)という文字列を表示するものである。
メニューの表示座標(X3,Y3)、メニューの縦幅、横幅(width3,height3)には、マップが配置されている。RAM8、合成部12の格納内容がこれらのものである場合、テレビ103には、図5(c)のような合成映像が表示されることになる。この図4(b)における格納内容は、ゲームのGUIを表すものであるから、動画像と、アプリケーションによるGUI表示を組合せた、楽しい画面演出が可能になる。

以降、レジスタセットについて説明する。
レジスタセット24は、例えば読み書き可能な揮発性の記憶領域を有するメモリなどの記憶媒体である。例えばユーザが操作入力できるBD-ROMの再生装置の電源スイッチ(図示せず)をオンにすると、レジスタセット24に電力が供給され、レジスタセット24に情報を書き込んで記憶することが可能となる。またBD-ROMの再生装置の電源スイッチ(図示せず)をオフにすると、レジスタセット24に電力が供給さなくなり、レジスタセット24に格納された情報はクリアされる。
図6は、レジスタセット24の内容の例を模式的に示したものである。レジスタセット24は、プレーヤ設定レジスタと、プレーヤ状態レジスタと、汎用レジスタとから構成される。
プレーヤ設定レジスタは、再生装置のコンフィグレーションを格納している。再生装置のコンフィグレーションには、例えば、再生装置における音声言語設定、字幕言語設定、テレビの表示設定、年齢設定がある。かかるレジスタの格納内容は、電源が絶たれた後も、格納しておく必要があるので、その記憶内容は、不揮発性メモリ26によるバックアップがとられている。
プレーヤ状態レジスタ(PSR)は、ある値を格納するための、番号付けされた格納場所を有するレジスタである。例えば、ある番号の格納場所には、現在再生中のプレイリストの識別子が入れられたり、他のある番号の格納場所には、利用しているオーディオの識別子が入れられたりする。これらの格納場所に格納された値に基づいて現在再生中のAVストリームの再生位置を特定することができる。プレーヤ状態レジスタにおいて、番号付けされた格納場所のそれぞれに値を入れるのは、AV再生エンジン15、HDMVモジュール40、もしくはBD-Jモジュール41である。コンテンツは、HDMVモジュール40、もしくはBD-Jモジュール41によって、プレーヤ状態レジスタや汎用レジスタから、指定した番号に対応する値を取得したり、指定した番号に対応する値を格納したりできる。
以降、PSRのうち、代表的なものについて説明する。
PSR1は、カレントPlay Itemにおいて再生可能となる複数オーディオストリームのうち、1つを特定するものである。PSR1の設定値が変化すれば、再生装置はこの変化後のオーディオストリームを再生する。PSR1は初期値として0xFFが設定されており、再生装置により1〜32の値に設定されうる。この0xFFは、不定値であり、オーディオストリームが存在しない旨、又は、オーディオストリームが選択されてない旨を示す。1〜32の設定値は、オーディオストリーム番号として解釈される。
PSR4は、1〜100の値に設定されることで、現在の再生時点が属するタイトルを示す。
PSR5は、1〜999の値に設定されることで、現在の再生時点が属するチャプター番号を示し、0xFFFFに設定されることで、再生装置においてチャプター番号が無効であることを示す。
PSR6は、0〜999の値に設定されることで、現在の再生時点が属するカレントプレイリストの番号を示す。
PSR7は、0〜255の値に設定されることで、現在の再生時点が属するカレントプレイアイテムの番号を示す。
PSR8は、0〜OxFFFFFFFFの値に設定されることで、45KHzの時間精度を用いて現在の再生時点(カレントPTM)を示す。以上がPSRについての説明である。
ここで、あるBD-ROMコンテンツを再生している際、そのBD-ROMコンテンツに含まれている、あるタイトルを構成する一部であるBD-Jアプリケーションが、そのタイトルの再生停止時に、レジューム再生に必要な情報を保存する処理の一例を示す。
汎用目的レジスタ(GPR)には、BD-Jアプリケーションがヒープメモリ31内で使用しているアプリケーションパラメータのうち、次回の動作再開時に特に必要となるものが、BD-Jアプリケーションによって書き込まれている。本図に示すパラメータ、つまり、インディケータに対応するデータファイル名(インディケータ画像.PNG)、インディケータの表示座標(X1,Y1)、インディケータの縦幅、横幅(width1,height1)、ステージ数(STAGE1:5)、ライフ値(LIFE:3)、ゲームで使用するアイテム(ITEM:G,N)、スコア(SCORE:10,500)といったものは、図5(c)の画面を再度描画するため、BD-Jアプリケーションが必要であると判断したパラメータである。
(再生停止時の処理)
BD-Jアプリケーションは、電源断発生や電源中断等、タイトル再生を停止すべき旨が通知されれば、ヒープメモリに存在する様々なパラメータ、つまり、動作において利用している変数の値、表示座標、その時点の時刻情報の中から、動作再開時に必要なものを選んで、不揮発性メモリに保存したいパラメータ(アプリケーションレジュームパラメータ)として汎用目的レジスタに書き込む。これ以外にも、プレーヤ状態レジスタやプレーヤ状態レジスタから保存したい情報をアプリケーションレジュームパラメータとして取得する。さらにBD-Jアプリケーションは、アプリケーションレジュームパラメータを汎用レジスタに格納する(以降、アプリケーションレジュームパラメータ退避と呼ぶ)。BD-Jアプリケーションは、アプリケーションレジュームパラメータ退避が完了すると、BD-Jモジュール41に対し、完了通知を行う。尚、アプリケーションレジュームパラメータは基礎出願の明細書におけるJava(登録商標)レジュームパラメータと同一である。
BD-Jモジュール41は、BD-Jアプリケーションから完了通知を受け取ると、そのBD-Jアプリケーションを停止させる。BD-Jアプリケーションを停止させると、タイトルが停止したことをモード管理モジュール42に対して通知する。
モード管理モジュール42は、タイトルの停止した通知を受け取ると、レジスタセット24のうち、再生状態レジュームパラメータを不揮発性メモリ26に退避する。この再生状態パラメータの中には、タイトル番号等、モード管理モジュール42によるモード管理に必要なパラメータが存在する。
(再生再開時の処理)
コンテンツの再生停止後、電源供給が再開されたため、タイトル再生を再開する際の動作を以下に説明する。
モード管理モジュール42は、再生を開始しようとしているコンテンツが、予め退避しておいたレジスタセット24の内容に対応するものであるかを判断する。
判断する方法としては、記録媒体が排出されていないことを認識できる場合であれば、そのコンテンツがモード管理レジューム退避によって退避されたレジスタセット24の内容に対応するものであることは明白である。他の例としては、モード管理レジューム退避によって退避しておいたレジスタセット24に対応するコンテンツのコンテンツ識別情報と、これから再生しようとしているコンテンツのコンテンツ識別情報をとの比較によっても実現可能である。
ここでもし、再生を開始しようとしているコンテンツが、モード管理レジューム退避によって退避しておいてレジスタセット24の内容に対応するものではないと判断した場合、以降で述べる復帰処理は実施せず、BD-ROMで決められた通常の再生処理を実施する。以降の記述では、レジスタセット24の内容に対応するものであると判断した場合を前提とする。
コンテンツの再生を開始する際、タイトルを再生開始する前に、予め退避しておいたレジスタセット24の内容を、元の内容に戻す。タイトルを再生する場合、モード管理モジュール42は、BD-Jモジュール41に対し、タイトルの再生開始を指示する。BD-Jモジュール41は、そのタイトルに関連付けられているBD-Jアプリケーションを起動する。
BD-Jアプリケーションは、起動時に、前記アプリケーションレジュームパラメータ退避によって退避した情報を取得して、前回の動作状態を復元することが可能である。
もしアプリケーションレジュームパラメータの取得に失敗したかどうか、取得した内容が期待値と異なるかどうかを判定する。取得に失敗した場合、期待値と異なる場合には、その取得した情報を利用せず、最初から再生を開始する。期待値と同一である場合、取得したアプリケーションレジュームパラメータを元に、BD-Jアプリケーションは、以前の再生状態を復元させる。例えば、番号0から取得したプレイリストのIDと、番号1から取得した再生がどこまで進んでいたかを表す時刻を用いて、停止した再生位置からAV再生を再開できる。
モード管理モジュール42は、モード管理レジュームとしてタイトル番号を保存しておいた場合、同一コンテンツの再生が再開されたときは、通常の再生順序ではなく、保存しておいたタイトル番号から再生を開始することで、再生するタイトル番号まで含めたレジューム再生が可能となる。
これらの処理により、再生装置102はタイトルのレジューム再生が可能となる。
図7は、状態退避におけるアプリケーションレジュームパラメータ及び再生状態パラメータの行き来を模式的に描いた図である。本図では、図2に示した内部構成のうち、レジスタセット24、ヒープメモリ31を抜き出して描いている。このレジスタセット24、ヒープメモリ31に書き加えられた矢印は、アプリケーションレジュームパラメータ、再生状態パラメータの行き来を模式化したものである。
図7(a)は、BD-Jアプリケーションによるアプリケーションレジュームパラメータの汎用目的レジスタへの書き込みと、再生状態パラメータの再生状態レジスタへの書き込みとを模式的に示している。こうして、レジスタセットには、アプリケーションレジュームパラメータ及び再生状態パラメータが書き込まれていることがわかる。
図7(b)は、電源中断/電源異常を示す割込信号が通知された場合のアプリケーションレジュームパラメータ、再生状態パラメータの行き来を模式的に示す。丸記号"3"の矢印は、電源供給部25からMPU21への割込信号の出力を模式的に示したものである。かかる割込信号の通知があると、丸記号4の矢印に示すように、汎用目的レジスタにおけるアプリケーションレジュームパラメータ及び再生状態レジスタにおける再生状態パラメータが、不揮発性メモリ26に書き込まれる。これにより、電源断の準備がなされたことがわかる。
図8は、状態復帰及び利用時におけるアプリケーションレジュームパラメータ及び再生状態パラメータの行き来を模式的に描いた図である。本図では、図3に示した内部構成のうち、レジスタセット24、不揮発性メモリ26、ヒープメモリ31、バイトコードインタプリタ32を抜き出して描いている。これらに書き加えられた矢印は、アプリケーションレジュームパラメータ、再生状態パラメータの行き来を模式化したものである。
(a)は、アプリケーションレジュームパラメータ及び再生状態レジスタの復帰を示す。本図における丸記号"1"の矢印は、電源供給部25からMPU21への、電源投入を示す割込信号の出力を模式的に示したものである。かかる割込信号の通知があると、不揮発性メモリ26におけるアプリケーションレジュームパラメータ及び再生状態パラメータが、レジスタセット24における汎用目的レジスタ、及び、再生状態レジスタに書き込まれる。
丸記号"2""3"の矢印は、電源投入を示す割込信号が通知された場合のアプリケーションレジュームパラメータ、再生状態パラメータの行き来を模式的に示す。
(b)は、アプリケーションレジュームパラメータ及び再生状態レジスタの利用を示す。本図において、再生状態レジスタに再生状態パラメータが設定されると、これにより、カレントプレイリスト番号、カレントクリップ番号が特定することになる。丸記号"4"の矢印は、静的シナリオメモリ16へのプレイリスト情報、クリップ情報の読み込みを模式的に示し、丸記号"5"の矢印は、AV再生エンジン15によるプレイリスト情報、クリップ情報の読み込みを模式的に示したものである。
再生状態パラメータが再生状態レジスタに設定されることにより、カレントタイトル番号が特定することになる。丸記号"6"の矢印は、カレントタイトル番号に基づく、BD-Jオブジェクトの読み込みと、このBD-Jオブジェクトに基づく、BD-Jアプリケーションのクラスロードとを模式的に示す。
丸記号"7"の矢印は、汎用目的レジスタからヒープメモリへのアプリケーションレジュームパラメータの読み込みを模式的に示す。

図9は、レジューム処理の処理手順を示すフローチャートである。
ステップS1においてIndex.bdmvをBD-ROMから読み出し、ステップS2において、BD-ROMのイジェクトがあったか否かを判定する。もしあった場合、ステップS3においてIndex.bdmvにおけるファーストプレイタイトルを再生する。ステップS2がNoである場合、ステップS4〜ステップS10の処理を実行する。
ステップS4において状態退避内容におけるタイトル識別情報と、これから再生しようとするメディアにおけるタイトル識別情報とを対比し、ステップS5において一致しているかどうかを判定する。不一致ならば、ステップS3に移行する。
一致していれば、退避による退避内容を、レジスタセットに復帰させて(ステップS6)、ステップS7の判定を行う。ステップS7は、タイトル番号が状態復帰したかどうかの判定であり、もしタイトル番号が復帰しなければ、Index.bdmvにおけるファーストプレイタイトルを再生する。
状態復帰した場合は、カレントタイトル番号に対応するBD-Jオブジェクトを読み出し(ステップS8)、カレントBD-Jオブジェクト内のアプリケーション管理テーブルに記載されているアプリケーションについてクラスロードを行って(ステップS9)、クラスローダによりヒープメモリに得られたバイトコードをバイトコードインタプリタに実行させる(ステップS10)。
図10は、アプリケーションレジュームパラメータ処理の手順を示すフローチャートである。
汎用目的レジスタにアクセスして、アプリケーションレジュームパラメータの取得にトライする(ステップS21)。ステップS22は判定ステップであり、アプリケーションレジュームパラメータの取得に成功したなら、ステップS23を実行する。ステップS23は、アプリケーションレジュームパラメータの内容が期待値になっているか否かの判定ステップであり、期待値になっていなら(ステップS24)、アプリケーションレジュームパラメータをヒープメモリ内に設定することにより、以前の実行状態を再現する。
期待値になっていないなら、ステップS25においてヒープメモリ内のパラメータを初期化して、BD-Jアプリケーションの実行を最初から行う。

(第2実施形態)
第1実施形態では、電源異常を示す割込信号5が出力された際、又は、BD-Jアプリケーションは、再生停止の通知を受け取った際にアプリケーションレジュームパラメータ退避を行っていた。本実施形態においては、この状態退避のタイミングのバリエーションを開示する。
(状態退避タイミングのランダム化)
BD-Jアプリケーションは、任意のタイミングでアプリケーションレジュームパラメータ退避を行ってもよい。任意のタイミングとは、例えば、BD-Jアプリケーションがアプリケーションレジュームパラメータに含まれる情報の更新を検知したときであるとか、ある間隔(例えば1秒)をおいて周期的であるとか、ユーザからの操作を受けたタイミングなどである。また、そのタイミングは常に固定である必要は無く、動作状態や、再生装置の周辺要因などに応じて、途中でタイミングを変更することも可能である。
このように、BD-Jアプリケーションが任意のタイミングでアプリケーションレジュームパラメータ退避を行い、モード管理モジュール42が任意のタイミングでモード管理レジューム退避を行うことによって、急に電源が切れた場合など、モード管理モジュール42が、BD-Jモジュール41に対し、実行中のBD-Jアプリケーションの停止を指示しない、もしくは指示できない場合においても、レジューム再生が可能となる。

(退避タイミングの指示)
BD-Jアプリケーションが、明示的にモード管理モジュール42に対して、モード管理レジューム退避のタイミングを指示することも可能である。
例えば、BD-Jアプリケーションが、アプリケーションレジュームパラメータ退避を完了した時点で、モード管理モジュール42に対してモード管理レジューム退避のタイミングを指示することによって、効率的にアプリケーションレジュームパラメータの退避が可能となる。
さらに、BD-Jアプリケーションが、明示的にモード管理モジュール42に対して、BD-Jアプリケーションがアプリケーションレジュームパラメータ退避を開始したことを通知することも可能である。これにより、モード管理モジュール42は、その時点においてアプリケーションレジュームパラメータが不完全であることを認識することができるため、モード管理レジューム退避のタイミングを遅らせたり、待ったりすることが可能となる。
(汎用目的レジスタのアクセス終了をトリガとした状態退避)
動作中のアプリケーションが汎用目的レジスタの利用を終了したかどうかを検知する。この検知は、アプリケーションが汎用目的レジスタの利用を終了した際、アプリケーションがミドルウェアに発するイベントを受信することでなされる。
(アプリケーションからの指示をトリガとした状態退避)
"アプリケーションレジュームパラメータを退避せよ"との指示がプログラムインターフェイスを通じてアプリケーションによってなされたか否かの判定を行ってもよい。この場合状態退避は、アプリケーションレジュームパラメータを退避せよとの指示がアプリケーションからなされた際、実行される。
(第3実施形態)
第1実施形態においては、本発明におけるレジューム再生装置がレジューム再生を実現できる方式について述べた。本実施の形態においては、再生装置のコンフィグレーションにおいて、レジューム処理を実施することが可能かどうかを設定しておうく改良を述べる。再生装置のコンフィグレーションとして再生装置に組込まれ、レジューム処理を実施することが可能かどうかを表す情報を、レジュームサポート情報と呼ぶ。
レジュームサポート情報は、例えば、BD-Jモジュール41にレジュームサポート情報取得用のAPI(Application ProgramingInterface)を用意したり、BD-Jアプリケーションから取得可能なレジスタセット24の内部にレジュームサポート情報を含めたりすることが可能である。これらに限らず、レジュームサポート情報は、BD-Jアプリケーションから取得可能であれば、再生装置において、どのような形態で用意されていてもよい。
コンテンツは、レジュームサポート情報の内容により、もし再生装置がレジューム処理できないことが分かると、アプリケーションレジュームパラメータを退避することなく、レジューム処理を断念したり、レジュームが出来ないことをユーザに通知したり、BD-ROM規格で規定される再生装置で提供される他の手法を用いて可能な限りレジュームを実現しようと試みる。もし再生装置がレジューム処理できることが分かると、アプリケーションレジュームパラメータの退避や、レジューム処理を活用したシナリオの作成が可能である。
取得したレジュームサポート情報の内容からレジュームがサポートされていることを知れば、BD-Jアプリケーションがアプリケーションレジュームパラメータの退避や、レジュームを活用するような動的シナリオをオーサリング担当者は作成することが可能になる。例えば再生装置は、上述の実施の形態にて説明をしたモード管理モジュール42を制御するためのAPIを備え、BD-Jアプリケーションは、このAPIを呼出すときに、退避するタイミング、退避すべき情報などを引数として与え、この呼び出しを受けたAPIは与えられた引数に従ってモード管理モジュール42の退避を制御するようにしても良い。またBD-Jアプリケーションは、モード管理モジュール42を直接制御するように構成しても良い。
図11(a)は、レジュームサポート情報の一例を示す図である。レジュームサポート情報は、"1"か、"0"の値をとるフラグであり、"1"であれば、レジスタセットにおけるプレーヤ状態レジスタ及び汎用目的レジスタの状態退避が可能である旨を示す。"0"であれば、レジスタセットにおけるプレーヤ状態レジスタ及び汎用目的レジスタの状態退避が不可能である旨を示す。
図11(b)は、レジュームサポート情報に基づく、APIのコールを示す。本図は、再生装置の内部構成のうち、バイトコードインタプリタ32、ミドルウェア35、レジスタセット24を抜き出して描いている。丸記号"1"の矢印は、BD-Jアプリケーションによるレジュームサポート情報の取得を模式的に示す。BD-Jアプリケーションは、こうして取得したレジュームサポート情報を参照して、再生装置が状態退避・状態復帰に対応しているか否かを判定する。BD-Jアプリケーションが、状態退避・状態復帰に対応していると判定すれば、状態退避・状態復帰APIをコールすることにより、アプリケーションレジュームパラメータ及び再生状態パラメータが、レジスタセット24から不揮発性メモリ26へと状態退避されることになる。丸記号"2"の矢印は、BD-Jアプリケーションによる状態退避・状態復帰APIのコールを模式的に示している。
かかるAPIのコールによって、丸記号"3","4"の矢印に示すように、レジスタセット24に格納されたアプリケーションレジュームパラメータと、再生状態パラメータとがレジスタセット24から読み出されて不揮発性メモリ26に書き込まれる。

(第3実施形態)
本実施形態はオーサリングを行う者が、レジュームを再生装置に行わせることを意図している場合、レジュームを行わせるかどうかを指定することができる情報(レジューム対応情報と呼ぶ)を、BD-ROMに記録して、再生装置に供給する場合の改良である。
レジューム対応情報には、以下のような形態がある。

(復帰可否、利用可否の設定)
レジューム対応情報には、"復帰"の可否を示すフラグ(復帰可否フラグ)、"利用"の可否を示すフラグ(利用可否フラグ)を組込んでおくことができる。
図12(a)は、復帰可否フラグ、利用可否フラグを含むレジューム対応情報を示す図である。(b)は、復帰可否フラグ、利用可否フラグのビットアサインを示す。
『復帰可否フラグ』は、"1"に設定されることにより、不揮発性メモリ26に格納されたアプリケーションレジュームパラメータ及び再生状態パラメータを、レジスタセット24における汎用目的レジスタ及びプレーヤ状態レジスタに復帰することができることを、オーサリング者が意図している旨を示す。一方"0"に設定されることにより、復帰可否フラグは不揮発性メモリ26に格納されたアプリケーションレジュームパラメータ及び再生状態パラメータを、レジスタセット24における汎用目的レジスタ及びプレーヤ状態レジスタに復帰できないことを、オーサリング者が意図していない旨を示す。
『利用可否フラグ』は、1に設定されることにより、レジスタセット24に書き戻されたアプリケーションレジュームパラメータ及び再生状態パラメータを、BD-Jアプリケーション及びAV再生エンジン15に利用させる旨をオーサリング者が意図している旨を示す。一方、"0"に設定されることにより、利用可否フラグは、レジスタセット24に書き戻されたアプリケーションレジュームパラメータ及び再生状態パラメータを、BD-Jアプリケーション及びAV再生エンジン15に利用させる旨をオーサリング者が意図していない旨を示す。
図13(a)は、復帰可否フラグが"1"に設定されている場合の動作を示す。本図における上側は、1に設定された復帰可否フラグと、1に設定された利用可否フラグとを示す。下側は、図8(a)、(b)と同じ内容であり、不揮発性メモリ26からレジスタセット24への復帰、及び、レジスタセット24からBD-Jアプリケーション及びAV再生エンジン15への引き渡しを示す模式的に示す。本図に示すように、不揮発性メモリ26からレジスタセット24への復帰は、復帰可否フラグが"1"に設定されていることを前提に実行され、レジスタセット24からBD-Jアプリケーション及びAV再生エンジン15への引き渡しは、利用可否フラグが"1"に設定されていることを前提に実行されていることがわかる。

これとは反対に、復帰可否フラグが0に設定されていれば、不揮発性メモリ26からレジスタセット24への復帰がなされることはない。利用可否フラグが"0"に設定されていれば、レジスタセット24からBD-Jアプリケーション及びAV再生エンジン15へのアプリケーションレジュームパラメータ、再生状態パラメータの引き渡しがなされることはない。以上の復帰可否フラグ、利用可否フラグを用いることで、不揮発性メモリ26からレジスタセット24への書き戻しは行うが、書き戻されたアプリケーションレジュームパラメータ及び再生状態パラメータの利用自体は禁じるという制限を、再生動作時に課すことができる。

(タイトル共通指定、個別指定)
この改良は、BD-ROMに記録されている複数のタイトルのうち、どれで状態退避・状態復帰を実行させるかを、BD-ROMに設定しておくというものである。
図14は、状態退避・状態復帰の可否がタイトル毎に設定されたIndex.bdmvを示す図である。
タイトル共通情報202は、BD-ROMに記録されている複数のタイトルがベースとしている規格のバージョン番号、コンテンツ作成者独自の情報を含む。図14では、バージョンが2.00であり、コンテンツ製作者独自の情報として"映画1"という内容が含まれる例を示している。そしてタイトル共通情報に存在するレジューム対応フラグは、BD-ROMに記録されている全てのタイトルにおいて、状態退避・状態復帰が有効であるか否を示す。
タイトル固有情報203は、各タイトルに関する情報が含まれている。図145は、コンテンツ内にタイトルが2つ存在し、タイトル#1のタイトル種別が"BD-J"であり、タイトル#1のタイトル定義情報が前記bdjoディレクトリに"00000.bdjo"であり、かかるタイトル#1がレジュームに対応していることを示す。そして、タイトル#1情報に存在するレジューム対応フラグは、タイトル#1において、状態退避・状態復帰が有効であるか否かを示す。そしてタイトル#2情報に存在するレジューム対応フラグは、タイトル0002において、状態退避・状態復帰が有効であるか否かを示す。
またタイトル#2のタイトル種別が"HDMV"であり、タイトル#2のタイトル定義情報が前記MovieObject.bdmvの0番目に定義されている。
図14では、これらのタイトル共通情報、タイトル個別情報のそれぞれに、レジューム対応フラグが存在する。
再生装置102は、再生するコンテンツに含まれるレジューム対応フラグの内容に応じて処理を変える。
図15は、レジューム対応フラグの内容を用いた再生装置102の処理手順を示すフローチャートである。コンテンツの再生を開始しようとすると、まず、再生装置102は、index.bdmv201を読み込み(ステップS1)、index.bdmv201に含まれているタイトル共通情報、タイトル個別情報を参照して、タイトル共通情報におけるレジューム対応フラグが有効かどうかを判断する(S31)。もし、タイトル共通情報におけるレジューム対応フラグが有効であれば、カレントタイトルにおいて、レジュームが有効である旨をユーザに提示して(ステップS33)、ステップS2〜ステップS10の処理を行い、復帰及び利用を行う。
タイトル共通情報におけるレジューム対応フラグは有効でない場合、ステップS32の判定を行う。ステップS32の判定は、タイトル個別情報のうち、カレントタイトルに対応するもののレジューム対応フラグが有効であるか否かを判定するものである。もし有効であれば、ステップS33において、カレントタイトルにおいてレジュームが有効である旨をユーザに提示して、ステップS2〜ステップS10の処理を行い、復帰及び利用を行う。
タイトル共通情報におけるレジューム対応フラグも、タイトル個別情報におけるレジューム対応フラグも有効でない場合、ステップS34で、カレントタイトルにおいてレジュームが有効でない旨をユーザに提示して、ステップS3において、ファーストプレイタイトルを再生する。
これにより、レジューム再生を好まないコンテンツや、レジューム再生による動作を保障できないコンテンツに対し、レジューム再生による問題の発生を防ぐことが可能となる。
図16は、テレビ103の提示内容を示す。本図(a)は、タイトル共通情報又はカレントタイトルに対応するタイトル個別情報が有効になっている際の提示内容を示す。この提示内容は、電源オフ前からの再開が可能である旨をGUIを介してユーザに提示している。また、再開を行うかどうかの指示を受け付けるためのボタンを併せて表示している。このように再生装置102は、レジューム対応フラグが有効になっているコンテンツを再生する際、テレビ103などに、対象コンテンツがレジューム再生に対応していることをユーザに提示することが可能である。
同図(b)は、タイトル共通情報又はカレントタイトルに対応するタイトル個別情報が無効になっている際の提示内容を示す。この提示内容は、電源オフ前からの再開が不可能である旨をGUIを介してユーザに提示している。再生装置102は、レジューム対応フラグが無効になっているコンテンツを再生する際、または、コンテンツの再生を停止する際に、テレビ103などに、対象コンテンツがレジューム再生に対応していないことを表示することが可能である。これにより、レジューム対応フラグに応じた処理の違いを、ユーザに示すことが可能となる。

(アプリケーションレジュームパラメータ、再生状態パラメータの状態退避及び復帰を指定するレジューム対応情報)
レジューム対応情報には、アプリケーションレジュームパラメータの状態退避及び復帰、再生状態パラメータの状態退避及び復帰のうち、何れを実行すべきか、双方を実行すべきかを示す情報を包含させておくことができる。
再生状態レジュームパラメータの状態退避及び復帰を実行すべきか否かを規定するフラグを"再生状態レジューム可否フラグ"といい、アプリケーションレジュームパラメータの状態退避及び復帰を実行すべきか否かを規定するフラグを"アプリケーションレジューム可否フラグ"という。
図17(a)は、再生状態レジューム可否フラグ、アプリケーションレジューム可否フラグを格納したレジューム対応情報を示す図である。再生状態レジューム可否フラグは"1"に設定されることにより、再生状態パラメータの状態退避及び復帰が可能である旨を示す。一方、再生状態レジューム可否フラグは"0"に設定されることにより、再生状態レジュームパラメータの状態退避及び復帰が不可能である旨を示す。
アプリケーションレジューム可否フラグは"1"に設定されることにより、アプリケーションレジュームパラメータの状態退避及び復帰が可能である旨を示す。一方、アプリケーションレジューム可否フラグは"0"に設定されることにより、アプリケーションレジュームパラメータの状態退避及び復帰が不可能である旨を示す。
(b)は、アプリケーションレジューム可否フラグが1に設定された場合における状態退避・状態復帰を示す。(b)の左側には再生状態レジューム可否フラグ、アプリケーションレジューム可否フラグを含むレジューム対応情報が記載されている。このレジューム対応情報は、アプリケーションレジューム可否フラグが"1"に設定されており、再生状態対応フラグが"0"に設定されているので、アプリケーションレジュームパラメータのみがレジスタセット24から不揮発性メモリ26に状態退避され、再生状態パラメータはレジスタセット24から不揮発性メモリ26に状態退避されていないことがわかる。
(c)は、再生状態レジューム可否フラグが"1"に設定された場合における状態退避・状態復帰を示す。(c)の左側には再生状態レジューム可否フラグ、アプリケーションレジューム可否フラグを含むレジューム対応情報が記載されている。このレジューム対応情報は、再生状態レジューム可否フラグが"1"に設定されており、アプリケーションレジューム可否フラグが"0"に設定されているので、再生状態パラメータのみがレジスタセット24から不揮発性メモリ26に退避され、アプリケーションレジュームパラメータはレジスタセット24から不揮発性メモリ26に退避されていないことがわかる。
図18は、再生状態レジューム可否フラグ、アプリケーションレジューム可否フラグによる状態退避・状態復帰を示すフローチャートである。本図において、一点鎖線で囲んだステップS41〜ステップS45が、再生状態レジューム可否フラグ、アプリケーションレジューム可否フラグに対応する処理である。
ステップS1において、Index.bdmvを読み出した後、ステップS41の判定ステップを実行する。ステップS41は、再生状態レジューム可否フラグが"1"に設定されているか否かの判定であり、もし再生状態レジューム可否フラグが"1"に設定されていれば、退避していた再生状態パラメータを復帰させる(ステップS42)。"0"であれば、ステップS45に移行する。ステップS45は、アプリケーションレジューム可否フラグが(1)に設定されているか否かの判定であり、アプリケーションレジューム可否フラグが"0"に設定されている場合、ステップS3において、ファーストプレイタイトルを再生する。
ステップS43は、ステップS41でYesに設定され、再生状態パラメータがプレーヤ状態レジスタに書き戻された後に実行される判定ステップであり、アプリケーションレジュームパラメータが"1"に設定されているか否かを判定する。ステップS43がYesであれば、ステップS44において、アプリケーションレジュームパラメータを不揮発性メモリ26から汎用目的レジスタに書き戻す。もしステップS43がNoであれば、ステップS44を復帰する。

(個数指定を含むレジューム対応情報)
レジューム対応情報に、状態退避を行うべきアプリケーションレジュームパラメータの個数を包含させておくという改良について説明する。レジューム対応情報に、状態退避行うべきアプリケーションレジュームパラメータ又は再生状態パラメータの個数を記述しておき、汎用目的レジスタに存在する複数のアプリケーションレジュームパラメータのうち、レジューム期待情報に記載されている個数のアプリケーションレジュームパラメータを不揮発メモリに状態退避させれば、状態退避、復帰に伴うオーバーヘッドを極力少なくすることができる。
図19は、個数指定を含むアプリケーションレジュームパラメータの一例を示す図である。本図(a)において、アプリケーションレジュームパラメータにおけるパラメータ個数指定は、3個というように、具体的な汎用目的レジスタの個数を指定することができる。本図(b)は、(a)の個数指定に基づく、汎用目的レジスタの退避を示す図である。パラメータ個数指定が"3"に指定されていれば、汎用目的レジスタに存在する5つのアプリケーションレジュームパラメータのうち、3つのアプリケーションレジュームパラメータが、不揮発性メモリ26に状態退避されることになる。(c)は、パラメータ個数指定が5個に設定されたアプリケーションレジュームパラメータの一例を示す図である。(d)は、(c)の個数指定に基づく、汎用目的レジスタの退避を示す図である。パラメータ個数指定が"5"に指定されていれば、汎用目的レジスタに存在する5つのアプリケーションレジュームパラメータのうち、5つのアプリケーションレジュームパラメータが、不揮発性メモリ26に状態退避されることになる。
汎用目的レジスタにおける全てのパラメータを状態退避するのではなく、一部の情報のみ退避することによって、退避する情報量を削減でき、退避先のサイズの縮小や、退避作業に要する時間の短縮が可能となる。
レジスタセット24のうち、どの範囲をアプリケーションレジュームパラメータとして退避されるかを予め決めておき、BD-Jアプリケーションが、その部分にのみアプリケーションレジュームパラメータを退避することによって、退避する範囲を制限することが可能となる。

(退避すべき範囲)
退避すべき範囲については、BD-Jアプリケーションがアプリケーションレジュームパラメータとして退避して欲しいと希望するレジスタの範囲をBD-Jアプリケーションからモード管理モジュール42に対して通知するのが望ましい。これにより、BD-Jアプリケーションにとって最適なサイズのアプリケーションレジュームパラメータを退避することが可能となる。

(退避タイミングの規定の仕方)
前記レジューム対応情報に、BD-Jアプリケーションが任意のタイミングでアプリケーションレジュームパラメータ退避を実施するかどうかの情報を含めることが出来る。再生装置がこの情報を用いることによって、再生するコンテンツが急に電源が切れば場合にレジュームできないことをユーザに提示したり、モード管理モジュール42がモード管理レジューム退避を行うタイミングを変更したりなど、動作を変更することが可能となる。

(第4実施形態)
本実施形態は、不揮発性メモリ26における改良のバリエーションを開示する。不揮発性メモリ26における改良のバリエーションには、以下のものがある。

(タイトル毎のレジューム)
複数のタイトル毎のアプリケーションレジュームパラメータ及び再生状態パラメータの組みを不揮発性メモリ26に格納しておいて、状態退避・状態復帰を実行することができる。例えば、タイトル0001とタイトル0002が存在しおり、タイトル0001の再生を停止後、タイトル0002を再生し、さらにその後にタイトル0001を再度再生する場合、タイトル0001の2回目の再生は、1回目の再生の続きから再生される場合に有益である。コンテンツの種類は2種類に限らず、1種類以上のコンテンツであれば、実施可能である。
図20は、不揮発性メモリ26の格納内容を模式的に表したものである。本図に示すように、不揮発性メモリ26には、タイトル識別子と、再生状態パラメータとの組みが複数、配置される。
タイトル識別子は、コンテンツを一意に識別できる情報であり、例えば、前記BCAや、前記discIDなどを利用することが可能であるが、コンテンツを一意に識別できるものであれば、どのような情報であっても実施可能である。本図においては、タイトル0001、0002についてのタイトル識別子が不揮発性メモリ26に格納されている。
これらのタイトル識別子に対応付けて、再生状態パラメータが格納される。図20(a)の場合、タイトル識別子「0001」には、時点t1に対応する再生状態パラメータ及びアプリケーションレジュームパラメータが格納されており、タイトル識別子「0002」には、時点t2に対応する再生状態パラメータ及びアプリケーションレジュームパラメータが格納されている。
時点t1に対応する再生状態パラメータは、タイトル識別子「0001」のコンテンツを再生していた際の再生状態パラメータであり、t2に対応する再生状態パラメータは、タイトル識別子「0002」のコンテンツを再生していた際の再生状態パラメータである。
同図(b)は、タイトル番号0001対応付けて格納される再生状態パラメータがどのようなものかを示す。タイトル0001の再生開始からt1を経過した後に、再生停止が指示された場合、t1が、再生状態パラメータとしてタイトル0001に対応付けて格納されることがわかる。
同図(c)は、タイトル番号0002に対応付けて格納される再生状態パラメータがどのようなものかを示す。タイトル0002の再生開始からt2を経過した後に、再生停止が指示された場合、t2が、再生状態パラメータとしてタイトル0002に対応付けて格納されることがわかる。
同図(d)は、タイトル0002の再生後、タイトル0001の再生がどのように再開するかを示す。タイトル0001のタイトル識別子には、t1の再生状態パラメータが格納されているため、このt1の位置から再生が再開することがわかる。
この状態において、タイトル識別子「0001」のコンテンツの再生を開始すると、モード管理モジュール42は、t1に対応する再生状態パラメータを用いてレジューム再生を行うことが出来る。また、タイトル識別子「0002」のコンテンツの再生を開始すると、モード管理モジュール42は、t2に対応する再生状態パラメータを用いてレジューム再生を行うことが出来る。

(退避先の二重化)
モード管理レジューム退避の途中で電源が切れる場合や、何らの異常が発生することによってモード管理レジューム退避に失敗する場合がある。このような問題に対しては、モード管理レジュームの退避先の二重化、つまり、退避先を2組以上用意し、順番に利用する方法がある。
図21は、第1の退避先である記憶領域1と、第2の退避先である記憶領域2の2組の退避先が存在する不揮発性メモリ26を示す図である。モード管理モジュール42は、図21(a)に示すように、最初のモード管理レジューム退避のタイミングでは、アプリケーションレジュームパラメータ及び再生状態パラメータを、第1の退避先である記憶領域1に退避する。そして退避が成功した場合、退避先記憶領域1が正常であることを記憶しておく。次のモード管理レジューム退避のタイミングでは、図21(b)に示すように、第2の退避先である記憶領域2へ退避する。そして退避が成功した場合、退避先記憶領域2が正常であることを記憶しておく。この処理により、より最後に退避した退避先であり、かつ、成功したと記憶されている方の退避先の情報を利用することで、問題を回避することが可能である。
これにより、BD-Jアプリケーション自身が、各退避先が正常に退避された内容かどうかを記憶する必要がなくなる。
各退避先が正常に退避された内容かどうかを判定したい場合は、各退避先に含まれる情報のうち、正常に退避された内容であること示す情報を読み込むことによって判定できる。もし正常に状態退避された内容が2以上の存在する場合、状態退避内容のうち、状態退避の時期が最も新しいものを、復帰及び利用に供する
尚、退避先1および退避先2の中に、その退避先が正常に退避された内容であること示す情報を含めても良い。
(備考)
以上、本願の出願時点において、出願人が知り得る最良の実施形態について説明したが、以下に示す技術的トピックについては、更なる改良や変更実施を加えることができる。各実施形態に示した通り実施するか、これらの改良・変更を施すか否かは、何れも任意的であり、実施する者の主観によることは留意されたい。

尚、上記の説明は一例に過ぎず、当該技術者にとっては、様々な応用が適用できる。
(プログラミング言語の適用範囲)
上記実施形態では、仮想マシンのプログラミング言語としてJava(登録商標)を利用したが、Java(登録商標)ではなく、UNIX(登録商標) OSなどで使われているB-Shellや、PerlScript、ECMA Scriptなど他のプログラミング言語であっても良い。

(コンテンツアンバウンダリレジューム)
前記レジューム対応情報に、複数のコンテンツをまたいだレジューム再生を期待するかどうかの情報を含めることが出来る。再生装置がこの情報を用いることによって、仮にモード管理レジュームが退避されていたとしても、コンテンツが変更された際に、退避されているモード管理レジュームパラメータを使わないように動作することが可能となる。

(ディレクトリ構成)
これらのファイルおよびディレクトリ構成は、その一例であり、他の構成であっても本発明は実施可能である。
(マルチドライブ化)
BD-ROMドライブ401は、BD-ROMだけでなく、読み書き可能なBD-REに対する読込みおよび書き込みや、DVD、CD等の様々な種類の記録媒体を利用できるものであってもよ
い。
(機能構成のバリエーション)
ここで示した機能構成は、BD-ROMの再生装置の一例を示したものであり、以降で述べる動作を実現可能であれば、他の機能構成であっても本発明は実施可能である。

(再開のための必須情報)
BD-Jアプリケーションは、プレーヤ状態レジスタの全てを取得する必要なく、そのBD-Jアプリケーションが再開するために必要とするもののみを取得すれば良い。

(レジスタ内容の退避形式)
モード管理レジュームがレジスタセット24の内容を含んでいる場合、レジスタセット24の内容をそのままの形式で利用しなくても、レジスタセット24の内容を復元可能であれば退避の際のデータ形式を変更してもよい。例えば、公知の圧縮技術を用いてレジスタセット24の内容を圧縮したものをモード管理レジュームに含めることが可能である。
(アプリケーションレジュームパラメータの取得成功後の処理)
アプリケーションレジュームパラメータの取得に成功したとしても、必ずしも以前の再生状態を復元させる必要は無い。

(モード管理レジュームにおける差分データ、変更データ)
モード管理レジュームは、レジスタセット24の内容を全てを含める必要は無く、復元するのに十分な情報さえ含められればよい。例えば、ある初期値を決めておき、初期値と異なる部分だけ保存したり、何らかの変更が加えられた部分だけ保存したりすることが可能である。
(モード管理レジュームの包含内容)
モード管理レジュームには、レジスタセット24の内容だけでなく、他の情報も含めることが可能である。例えば、最後に再生していたタイトル番号や、HDMVタイトルに関する情報、停止理由などである。また、コンテンツを識別するためのコンテンツ識別情報を含めてもよい。コンテンツを識別するための情報とは、例えば、前記BCAの情報や、記録媒体上に存在するファイルから実用上一意に識別できると期待できる情報を算出した値(例えばファイルのハッシュ値など)でもよい。

(伝達の仕方)
さらには、BD-Jアプリケーションがアプリケーションレジュームパラメータをレジスタセット24に格納することなく、直接的あるいは間接的に、モード管理モジュール42にアプリケーションレジュームパラメータを伝達することも考えられる。その場合、レジューム再生を行う際には、モード管理モジュール42は、アプリケーションレジュームパラメータをレジスタセット24に復元するのではなく、直接的あるいは間接的に、BD-Jアプリケーションに伝達する。

(不揮発性メモリ26のバリエーション)
不揮発性メモリ26は、リムーバブルメディアドライブ2b、ビルドインメディアドライブ2a、BDドライブ401で書き込み可能な記録媒体を、不揮発性メモリ26として利用しても実施可能である。また、ネットワークI/F4を経由してアクセス可能な媒体であっても、再生装置の電源供給状態に依存せず記録内容を保持できるのであれば、不揮発性メモリ26として利用しても実施可能である。

(二次電源の具備)
なお、電源が急に切れる場合の対策として、モード管理レジューム退避を行うのに十分な二次電源を用意しておくことが望ましい。
なお、モード管理レジューム退避の途中で電源が切れる場合や、何らの異常が発生することによってモード管理レジューム退避に失敗する場合への対策を行わなくてもよい。本発明は実施可能である。

(実施可能性)
アプリケーションレジュームパラメータ退避の途中で電源が切れる場合や、何らの異常が発生することによってアプリケーションレジュームパラメータ退避に失敗する場合への対策を行わなくても、本発明は実施可能である。

(プログラムの実施形態)
各実施形態に示したアプリケーションレジュームパラメータ、再生状態パラメータの退避・復帰を行うプログラムは、以下のようにして作ることができる。先ず初めに、ソフトウェア開発者は、プログラミング言語を用いて、各フローチャートや、機能的な構成要素を実現するようなソースプログラムを記述する。この記述にあたって、ソフトウェア開発者は、プログラミング言語の構文に従い、クラス構造体や変数、配列変数、外部関数のコールを用いて、各フローチャートや、機能的な構成要素を具現するソースプログラムを記述する。
記述されたソースプログラムは、ファイルとしてコンパイラに与えられる。コンパイラは、これらのソースプログラムを翻訳してオブジェクトプログラムを生成する。
コンパイラによる翻訳は、構文解析、最適化、資源割付、コード生成といった過程からなる。構文解析では、ソースプログラムの字句解析、構文解析および意味解析を行い、ソースプログラムを中間プログラムに変換する。最適化では、中間プログラムに対して、基本ブロック化、制御フロー解析、データフロー解析という作業を行う。資源割付では、ターゲットとなるプロセッサの命令セットへの適合を図るため、中間プログラム中の変数をターゲットとなるプロセッサのプロセッサが有しているレジスタまたはメモリに割り付ける。コード生成では、中間プログラム内の各中間命令を、プログラムコードに変換し、オブジェクトプログラムを得る。
ここで生成されたオブジェクトプログラムは、各実施形態に示したフローチャートの各ステップや、機能的構成要素の個々の手順を、コンピュータに実行させるような1つ以上のプログラムコードから構成される。ここでプログラムコードは、プロセッサのネィティブコード、JAVA(登録商標)バイトコードというように、様々な種類がある。プログラムコードによる各ステップの実現には、様々な態様がある。外部関数を利用して、各ステップを実現することができる場合、この外部関数をコールするコール文が、プログラムコードになる。また、1つのステップを実現するようなプログラムコードが、別々のオブジェクトプログラムに帰属することもある。命令種が制限されているRISCプロセッサでは、算術演算命令や論理演算命令、分岐命令等を組合せることで、フローチャートの各ステップを実現してもよい。
オブジェクトプログラムが生成されるとプログラマはこれらに対してリンカを起動する。リンカはこれらのオブジェクトプログラムや、関連するライブラリプログラムをメモリ空間に割り当て、これらを1つに結合して、ロードモジュールを生成する。こうして生成されるロードモジュールは、コンピュータによる読み取りを前提にしたものであり、各フローチャートに示した処理手順や機能的な構成要素の処理手順を、コンピュータに実行させるものである。かかるプログラムをコンピュータ読取可能な記録媒体に記録してユーザに提供してよい。

(システムLSI化)
再生装置102を構成するハードウェアのうち、機構的な構成要素(BDドライブ、リムーバブルメディアドライブ、ビルドインメディアドライブ)、大容量のメモリによって実装される構成要素(ビデオプレーン、グラフィクスプレーン)を除いた、論理素子を主要部とする部分を、1つのシステムLSIとして構成することが望ましい。何故なら、論理素子を主要部とする部分は、高密度に集積化することができるからである。
システムLSIとは、高密度基板上にベアチップを実装し、パッケージングしたものをいう。複数個のベアチップを高密度基板上に実装し、パッケージングすることにより、あたかも1つのLSIのような外形構造を複数個のベアチップに持たせたものも、システムLSIに含まれる(このようなシステムLSIは、マルチチップモジュールと呼ばれる。)。
ここでパッケージの種別に着目するとシステムLSIには、QFP(クッド フラッド アレイ)、PGA(ピン グリッド アレイ)という種別がある。QFPは、パッケージの四側面にピンが取り付けられたシステムLSIである。PGAは、底面全体に、多くのピンが取り付けられたシステムLSIである。
これらのピンは、他の回路とのインターフェイスとしての役割を担っている。システムLSIにおけるピンには、こうしたインターフェイスの役割が存在するので、システムLSIにおけるこれらのピンに、他の回路を接続することにより、システムLSIは、再生装置102の中核としての役割を果たす。
かかるシステムLSIは、再生装置102は勿論のこと、TVやゲーム、パソコン、ワンセグ携帯等、映像再生を扱う様々な機器に組込みが可能であり、本発明の用途を多いに広げることができる。
エレメンタバッファやビデオデコーダ、オーディオデコーダ、グラフィクスデコーダをも、一体のシステムLSIにする場合、システムLSIのアーキテクチャは、Uniphierアーキテクチャに準拠させるのが望ましい。
Uniphierアーキテクチャに準拠したシステムLSIは、以下の回路ブロックから構成される。
・データ並列プロセッサDPP
これは、複数の要素プロセッサが同一動作するSIMD型プロセッサであり、各要素プロセッサに内蔵されている演算器を、1つの命令で同時動作させることで、ピクチャを構成する複数画素に対するデコード処理の並列化を図る。
・命令並列プロセッサIPP
これは、命令RAM、命令キャッシュ、データRAM、データキャッシュからなる「Local Memory Controller」、命令フェッチ部、デコーダ、実行ユニット、レジスタファイルからなる「ProcessingUnit部」、複数アプリケーションの並列実行をProcessing Unit部に行わせる「Virtual Multi Processor Unit部」で構成される。
・MPUブロック
これは、ARMコア、外部バスインターフェイス(Bus Control Unit:BCU)、DMAコントローラ、タイマー、ベクタ割込コントローラといった周辺回路、UART、GPIO(GeneralPurpose Input Output)、同期シリアルインターフェイスなどの周辺インターフェイスで構成される。
・ストリームI/Oブロック
これは、USBインターフェイスやATA Packetインターフェイスを介して、外部バス上に接続されたドライブ装置、ハードリムーバブルメディアドライブ装置、SDメモリカードドライブ装置とのデータ入出力を行う。
・AVI/Oブロック
これは、オーディオ入出力、ビデオ入出力、OSDコントローラで構成され、テレビ、AVアンプとのデータ入出力を行う。
・メモリ制御ブロック
これは、外部バスを介して接続されたSD-RAMの読み書きを実現するブロックであり、各ブロック間の内部接続を制御する内部バス接続部、システムLSI外部に接続されたSD-RAMとのデータ転送を行うアクセス制御部、各ブロックからのSD-RAMのアクセス要求を調整するアクセススケジュール部からなる。
具体的な生産手順の詳細は以下のものになる。まず各実施形態に示した構成図を基に、システムLSIとすべき部分の回路図を作成し、回路素子やIC,LSIを用いて、構成図における構成要素を具現化する。
そうして、各構成要素を具現化してゆけば、回路素子やIC,LSI間を接続するバスやその周辺回路、外部とのインターフェイス等を規定する。更には、接続線、電源ライン、グランドライン、クロック信号線等も規定してゆく。この規定にあたって、LSIのスペックを考慮して各構成要素の動作タイミングを調整したり、各構成要素に必要なバンド幅を保証する等の調整を加えながら、回路図を完成させてゆく。
回路図が完成すれば、実装設計を行う。実装設計とは、回路設計によって作成された回路図上の部品(回路素子やIC,LSI)を基板上のどこへ配置するか、あるいは、回路図上の接続線を、基板上にどのように配線するかを決定する基板レイアウトの作成作業である。
こうして実装設計が行われ、基板上のレイアウトが確定すれば、実装設計結果をCAMデータに変換して、NC工作機械等の設備に出力する。NC工作機械は、このCAMデータを基に、SoC実装やSiP実装を行う。SoC(Systemon 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に書き込ませる必要がある。
本発明を構成するレジューム再生装置は、製造産業、映像コンテンツの制作に携わる映画産業・民生機器産業において利用できる。
101 BD-ROM
102 再生装置
103 テレビ
104 リムーバブルメディア
105 リモコン
201 index.bdmv
1 BDドライブ
2 リードバッファ
4 ネットワークI/F
5 仮想ファイルシステム
6 デマルチプレクサ
7 ビデオデコーダ
8 ビデオプレーン
13 オーディオデコーダ
12 加算器
15 AV再生エンジン
16 静的シナリオメモリ
17 レンダリングエンジン
24 レジスタセット24
26 不揮発性メモリ
30 動的シナリオメモリ
40 HDMVモジュール
41 BD-Jプラットフォーム
42 モード管理モジュール
43 UO検知モジュール
44 ディスパッチャ

Claims (14)

  1. 複数の処理の状態退避及び状態復帰を実現する再生装置であって、
    複数の処理のうち1つは、AVストリームの再生処理であり、
    他の1つは、AVストリームの再生と連動した、アプリケーションの処理であり、
    記録媒体からアプリケーション及びAVストリームを読み出す読出手段と、
    アプリケーションを動作させるプラットフォーム部と、
    AVストリームを再生する再生部と、
    揮発性の第1記憶媒体とを備え、
    前記揮発性の第1記憶媒体は記憶領域を備え、前記記憶領域には、前記AVストリームの再生状態を示す再生状態パラメータが書き込まれており、
    前記アプリケーションは、前記プラットフォーム内で使用している複数のパラメータのうち、状態復帰後の動作再開時に必要となるものを選んで、アプリケーションレジュームパラメータとして、前記記憶領域に書き込んでおり、
    前記複数処理の状態退避は、前記アプリケーションレジュームパラメータと、前記再生状態パラメータとを揮発性の第1記憶媒体の記憶領域から読み出して、不揮発性の第2記憶媒体に書き込むことでなされ、
    前記複数処理の状態復帰は、前記不揮発性の第2記憶媒体に書き込まれたアプリケーションレジュームパラメータと、再生状態パラメータとを前記揮発性の第1記憶媒体の記憶領域に書き戻すと共に、前記揮発性の第1記憶媒体の記憶領域に書き戻された再生状態パラメータに基づき、アプリケーションをプラットフォーム部にロードすることでなされる、再生装置。
  2. 前記記録媒体には、更にレジューム対応情報が記録されており、
    前記レジューム対応情報は、状態復帰後に、前記揮発性の第1記憶媒体の記憶領域へ復元された内容を、再生手段及びアプリケーションに利用させるか否かを示し、
    前記レジューム対応情報が復元内容を利用させる旨を示す場合、
    前記再生手段による再生再開は、前記揮発性の第1記憶媒体の記憶領域に復元された再生状態パラメータに基づいてなされ
    前記アプリケーションによる動作再開は、揮発性の第1記憶媒体の記憶領域に復元されたアプリケーションレジュームパラメータを用いてなされ、
    前記レジューム対応情報が前記第1記憶媒体へ復元された内容を利用しないことを示す場合、前記再生手段は、AVストリームの再生を再開せず、アプリケーションは、動作を再開しない、請求項1記載の再生装置。
  3. 前記レジューム対応情報は、
    前記揮発性の第1記憶媒体の記憶領域へ内容を復元するかどうかを示す第1のフラグ情報と、前記前記揮発性の第1記憶媒体の記憶領域に復元された内容を利用するかどうかを示す第2のフラグ情報とを含み、
    前記再生手段によるAV再生再開及びアプリケーションの動作再開は、
    前記第1のフラグ情報が前記揮発性の第1記憶媒体の記憶領域へ内容を復元することを示し、かつ
    前記第2のフラグ情報が前記前記揮発性の第1記憶媒体の記憶領域に復元された内容を利用することを示す場合のみ行われる、請求項2記載の再生装置。
  4. 前記再生装置は、レジュームサポート情報を保持しており、
    レジュームサポート情報は、前記揮発性の第1記憶媒体の記憶領域の内容を前記不揮発性の第2の記憶媒体の記憶領域に退避することか可能か否かを示し、
    前記アプリケーションが起動された際、前記レジュームサポート情報は、アプリケーションに引き渡され、
    前記アプリケーションによるアプリケーションレジュームパラメータの書き込みは、受け取ったレジュームサポート情報が、記憶領域の内容退避が可能である旨を示している場合になされる、請求項1記載の再生装置。
  5. 前記再生装置は、前記退避手段を制御するアプリケーションプログラミングインターフェイス(API)関数を備え、
    アプリケーションは受け取ったレジュームサポート情報に基づいて前記API関数を呼出し、
    前記状態退避は、API関数の呼び出しに応じてなされる、請求項1記載の再生装置。
  6. 前記プラットフォーム部は、
    前記記録媒体に記録されたバイトコードを含むクラス構造体を読み込むクラスローダと、
    前記クラスローダが読み込んだバイトコードをネィティブコードに変換して、MPUに実行させるバイトコードインタプリタと
    動作中のアプリケーションが利用するパラメータを格納しているヒープメモリとを備え、
    前記アプリケーションは、状態復帰を行う際、揮発性の第1記憶媒体の記憶領域に復帰されたアプリケーションレジュームパラメータが正常であるかどうかをチェックし、アプリケーションレジュームパラメータが正常である場合、揮発性の第1記憶媒体の記憶領域におけるアプリケーションレジュームパラメータをヒープメモリに読み込むことで、動作の再開を行い、
    アプリケーションレジュームパラメータが正常でない場合、ヒープメモリにおけるパラメータを初期化した上で、動作を開始する、ことを特徴とする請求項1記載の再生装置。
  7. 前記記録媒体には、プレイリスト情報と、動作モードオブジェクトとが記録されており、
    前記プレイリスト情報は、AVストリームと一体になってプレイリストを構成しており、
    前記動作モードオブジェクトは、アプリケーション管理テーブルを備え、アプリケーション管理テーブルは、所定のタイトルがユーザによって選択された際、クラスローダが起動を行うべきアプリケーションを示すテーブルであり、
    前記再生部が再生するAVストリームとは、アプリケーションによって再生が命じられたプレイリストを構成するAVストリーム、又は、動作モードオブジェクトにおいて、"自動再生すべき"と規定されているプレイリストを構成するAVストリームであり、
    前記プラットフォーム部が動作させているアプリケーションとは、動作モードオブジェクトのアプリケーション管理テーブルにおいて、"起動せよ"と規定されているアプリケーションである
    ことを特徴とする請求項1記載の再生装置。
  8. 前記記録媒体には、インデックステーブルが記録されており、
    前記インデックステーブルは、複数のタイトル番号と、各タイトル番号に対応する動作モードオブジェクトとを示し、
    揮発性の第1記憶媒体の記憶領域に格納されている再生状態パラメータは、カレントタイトル番号を含み、
    カレントタイトル番号は、インデックステーブルに記述されている複数のタイトルのうち、再生対象になっているものを示し、
    前記アプリケーションの動作再開は、
    状態復帰時においてカレントタイトル番号が揮発性の第1記憶媒体の記憶領域に書き込まれた後、書き込み後のカレントタイトル番号に対応する動作モードオブジェクト内のアプリケーション管理テーブルにて指定されているアプリケーションを、プラットフォーム部にロードすることでなされる、請求項7記載の再生装置。
  9. 前記記録媒体にはレジューム対応情報が記録されており、
    前記レジューム対応情報は、アプリケーションレジュームパラメータの状態復帰、再生状態パラメータの状態復帰のうち、何れか一方を実行すべきか、双方を実行すべきかを示す選択フラグを含み、
    前記再生装置は、レジューム対応情報を参照して、アプリケーションレジュームパラメータの状態復帰、再生状態パラメータの状態復帰のうち、何れか一方を実行すべきか、両方を実行すべきかの判定を行い、
    不揮発性の第2記録媒体から揮発性の第1記憶媒体の記憶領域への再生状態パラメータ及びアプリケーションレジュームパラメータの書き込みは、レジューム対応情報に含まれている選択フラグが、アプリケーションレジュームパラメータの状態復帰、及び、再生状態パラメータの状態復帰の両方を実行すべき旨を示している場合になされる
    ことを特徴とする請求項1記載の再生装置。
  10. 前記記録媒体にはレジューム対応情報が記録されており、
    レジューム対応情報は、状態退避を行うべきアプリケーションレジュームパラメータの個数を示しており、
    前記状態退避によって不揮発性の第2記憶媒体に書き込まれるアプリケーションレジュームパラメータは、
    揮発性の第1記憶媒体の記憶領域に存在する複数のアプリケーションレジュームパラメータのうち、前記レジューム対応情報に記載されている個数のアプリケーションレジュームパラメータである
    ことを特徴とする請求項1記載の再生装置。
  11. 不揮発性の第2記憶媒体の記憶領域は、主となる記憶領域、従となる記憶領域から構成され、
    主となる記憶領域もしくは前記従となる記憶領域のどちらを状態退避先にするかの決定を行い、状態退避先として決定されたものにアプリケーションレジュームパラメータ、再生状態パラメータを書き込み、書き込みに成功すれば、状態退避先として決定した記憶領域を記憶しておき、
    前記復元手段は、第2記録媒体における主となる記憶領域及び従となる記憶領域のうち、状態退避先として記憶されているものを、状態復帰先として決定し、決定された状態復帰先からアプリケーションレジュームパラメータ及び再生状態パラメータを読み出す
    ことを特徴とする請求項1記載の再生装置。
  12. 前記再生装置は、さらに、
    復元手段は、前記主となる記憶領域もしくは前記従となる記憶領域のそれぞれにおける状態退避内容が正常であるか否か、状態退避のタイミングが最も新しいものはどれかを判定し、
    前記状態復帰先として選ばれる不揮発性の第2記憶媒体は、
    前記主となる記憶領域、従となる記憶領域のうち、アプリケーションレジュームパラメータの内容が正常であり、尚且つ、状態退避のタイミングが最も新しいものである
    ことを特徴とする請求項11記載の再生装置。
  13. 複数の処理の状態退避及び状態復帰をコンピュータ上で実現する再生方法であって、
    複数の処理のうち1つは、AVストリームの再生処理であり、
    他の1つは、AVストリームの再生と連動した、アプリケーションの処理であり、
    コンピュータは、
    記録媒体からアプリケーション及びAVストリームを読み出す読出手段と、
    アプリケーションを動作させるプラットフォーム部と、
    AVストリームを再生する再生部と、
    揮発性の第1記憶媒体とを備え、
    前記揮発性の第1記憶媒体は記憶領域を備え、前記記憶領域には、前記AVストリームの再生状態を示す再生状態パラメータが書き込まれており、
    前記アプリケーションは、前記プラットフォーム内で使用している複数のパラメータのうち、状態復帰後の動作再開時に必要となるものを選んで、アプリケーションレジュームパラメータとして、前記記憶領域に書き込んでおり、
    前記再生方法による複数処理の状態退避は、前記アプリケーションレジュームパラメータと、前記再生状態パラメータとを揮発性の第1記憶媒体の記憶領域から読み出して、不揮発性の第2記憶媒体に書き込むことでなされ、
    前記再生方法による複数処理の状態復帰は、前記不揮発性の第2記憶媒体に書き込まれたアプリケーションレジュームパラメータと、再生状態パラメータとを前記揮発性の第1記憶媒体の記憶領域に書き戻すと共に、前記揮発性の第1記憶媒体の記憶領域に書き戻された再生状態パラメータに基づき、アプリケーションをプラットフォーム部にロードすることでなされる、再生方法。
  14. 複数の処理の状態退避及び状態復帰をコンピュータに実行させるプログラムであって、
    複数の処理のうち1つは、AVストリームの再生処理であり、
    他の1つは、AVストリームの再生と連動した、アプリケーションの処理であり、
    前記コンピュータは、
    記録媒体からアプリケーション及びAVストリームを読み出す読出手段と、
    アプリケーションを動作させるプラットフォーム部と、
    AVストリームを再生する再生部と、
    揮発性の第1記憶媒体とを備え、
    前記揮発性の第1記憶媒体は記憶領域を備え、前記記憶領域には、前記AVストリームの再生状態を示す再生状態パラメータが書き込まれており、
    前記アプリケーションは、前記プラットフォーム内で使用している複数のパラメータのうち、状態復帰後の動作再開時に必要となるものを選んで、アプリケーションレジュームパラメータとして、前記記憶領域に書き込んでおり、
    前記プログラムによる複数処理の状態退避は、前記アプリケーションレジュームパラメータと、前記再生状態パラメータとを揮発性の第1記憶媒体の記憶領域から読み出して、不揮発性の第2記憶媒体に書き込むことでなされ、
    前記プログラムによる複数処理の状態復帰は、前記不揮発性の第2記憶媒体に書き込まれたアプリケーションレジュームパラメータと、再生状態パラメータとを前記揮発性の第1記憶媒体の記憶領域に書き戻すと共に、前記揮発性の第1記憶媒体の記憶領域に書き戻された再生状態パラメータに基づき、アプリケーションをプラットフォーム部にロードすることでなされる、プログラム。
JP2010508106A 2008-04-16 2009-04-10 再生装置、再生方法、プログラム Expired - Fee Related JP5406178B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010508106A JP5406178B2 (ja) 2008-04-16 2009-04-10 再生装置、再生方法、プログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008106389 2008-04-16
JP2008106389 2008-04-16
PCT/JP2009/001673 WO2009128232A1 (ja) 2008-04-16 2009-04-10 再生装置、再生方法、プログラム
JP2010508106A JP5406178B2 (ja) 2008-04-16 2009-04-10 再生装置、再生方法、プログラム

Publications (2)

Publication Number Publication Date
JPWO2009128232A1 true JPWO2009128232A1 (ja) 2011-08-04
JP5406178B2 JP5406178B2 (ja) 2014-02-05

Family

ID=41198938

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010508106A Expired - Fee Related JP5406178B2 (ja) 2008-04-16 2009-04-10 再生装置、再生方法、プログラム

Country Status (5)

Country Link
US (1) US8380042B2 (ja)
EP (1) EP2312586A1 (ja)
JP (1) JP5406178B2 (ja)
CN (1) CN101689393B (ja)
WO (1) WO2009128232A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010086641A (ja) * 2008-10-03 2010-04-15 Fujitsu Ten Ltd コンテンツ制御プログラムおよび可搬型記録媒体
JP5347714B2 (ja) * 2009-05-26 2013-11-20 三菱電機株式会社 映像情報再生方法及び映像情報再生装置
JP5454232B2 (ja) * 2010-03-04 2014-03-26 大日本印刷株式会社 Icチップ、icカード、制御方法及び制御プログラム
US8588580B2 (en) * 2010-06-10 2013-11-19 Panasonic Corporation Playback device, recording medium, playback method and program
WO2012127787A1 (ja) * 2011-03-22 2012-09-27 パナソニック株式会社 ディスク再生装置
CN103052988B (zh) * 2011-03-22 2016-11-09 松下知识产权经营株式会社 盘再现设备、盘再现方法
JP6041610B2 (ja) * 2012-10-02 2016-12-14 キヤノン株式会社 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体
EP2728886A1 (en) * 2012-10-31 2014-05-07 EyeTrackShop AB Registering of timing data in video sequences
US9886169B2 (en) * 2014-04-29 2018-02-06 Verizon Patent And Licensing Inc. Media service user interface systems and methods
KR20160131359A (ko) * 2015-05-07 2016-11-16 에스케이하이닉스 주식회사 메모리 모듈, 메모리 모듈의 모듈 콘트롤러 및 메모리 모듈의 동작 방법
CN106980579B (zh) 2016-09-30 2020-08-14 阿里巴巴集团控股有限公司 一种图片加载方法及装置
JP2020201637A (ja) * 2019-06-07 2020-12-17 京セラドキュメントソリューションズ株式会社 情報処理システム
US11086389B2 (en) * 2019-10-29 2021-08-10 Western Digital Technologies, Inc. Method and system for visualizing sleep mode inner state processing
TWI755849B (zh) * 2020-09-08 2022-02-21 國立臺灣師範大學 Fpga多主從硬體架構之即時物件追蹤系統

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4907150A (en) 1986-01-17 1990-03-06 International Business Machines Corporation Apparatus and method for suspending and resuming software applications on a computer
JPS62169218A (ja) 1986-01-17 1987-07-25 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 情報処理システムのアプリケ−シヨン中断再開装置
JPH1139143A (ja) * 1997-07-22 1999-02-12 Teijin Seiki Co Ltd 演算装置、該装置の制御方法、前記装置の制御プログラムを記憶した記憶媒体、演算装置を利用した電子回路装置、該装置の制御方法、前記装置の制御プログラムを記憶した記憶媒体
US6131166A (en) * 1998-03-13 2000-10-10 Sun Microsystems, Inc. System and method for cross-platform application level power management
TW374870B (en) * 1998-08-26 1999-11-21 Asustek Comp Inc UPS method of suspending, resuming and turning on computers
US6891837B1 (en) * 1999-10-05 2005-05-10 Veritas Operating Corporation Virtual endpoint
US6760815B1 (en) * 2000-06-02 2004-07-06 Sun Microsystems, Inc. Caching mechanism for a virtual heap
JP2003077222A (ja) 2001-09-06 2003-03-14 Alpine Electronics Inc ディスク再生装置
JP3438729B2 (ja) 2001-09-10 2003-08-18 ソニー株式会社 再生装置の制御方法
EP1331539B1 (en) * 2002-01-16 2016-09-28 Texas Instruments France Secure mode for processors supporting MMU and interrupts
AU2003267975A1 (en) * 2002-06-27 2004-01-19 Piranha Media Distribution, Inc. Method and apparatus for the free licensing of digital media content
US7620301B2 (en) * 2003-04-04 2009-11-17 Lg Electronics Inc. System and method for resuming playback
JP2005115720A (ja) * 2003-10-09 2005-04-28 Sony Corp 情報処理装置及びこれに用いるプログラム
JP4012563B2 (ja) * 2003-10-10 2007-11-21 松下電器産業株式会社 記録媒体、再生装置、プログラム、再生方法。
TW200518070A (en) 2003-10-10 2005-06-01 Matsushita Electric Ind Co Ltd Recording medium, reproduction device, program, and reproduction method
ATE389935T1 (de) * 2003-11-10 2008-04-15 Matsushita Electric Ind Co Ltd Aufzeichnungsmedium, wiedergabeeinrichtung, programm, wiedergabeverfahren und systemintegrierte schaltung
EP1734748A4 (en) * 2004-04-06 2008-12-03 Panasonic Corp PROGRAM EXECUTION DEVICE
CN101494076B (zh) 2004-05-11 2012-09-05 松下电器产业株式会社 再生装置
CN101916579A (zh) * 2004-07-22 2010-12-15 松下电器产业株式会社 用于执行应用程序同步重放的重放装置
US20060056803A1 (en) * 2004-09-13 2006-03-16 Seo Kang S Recording medium, method for searching contents recorded within the recording medium, and method and apparatus for reproducing the recorded contents
JP2008034891A (ja) 2004-11-24 2008-02-14 Matsushita Electric Ind Co Ltd 暗号化コンテンツ再生装置、暗号化コンテンツ再生方法およびそのプログラムを記録した記録媒体
CN101833966B (zh) * 2004-12-01 2013-05-08 松下电器产业株式会社 再现装置和再现方法
JP4084833B2 (ja) * 2004-12-01 2008-04-30 松下電器産業株式会社 記録媒体、再生装置、プログラム、再生方法、集積回路
US20090070671A1 (en) 2005-02-10 2009-03-12 Matsushita Electric Industrial Co., Ltd. Communication method, moving picture reproduction device, and internet connection device
JP4684848B2 (ja) * 2005-10-27 2011-05-18 株式会社デジタル 制御装置、そのプログラムおよび記録媒体
JP4491035B2 (ja) 2006-03-24 2010-06-30 パナソニック株式会社 再生装置、デバッグ装置、システムlsi、プログラム
JP2008165872A (ja) * 2006-12-27 2008-07-17 Toshiba Corp デジタルビデオ再生装置および再生方法
JP2008210041A (ja) 2007-02-23 2008-09-11 Matsushita Electric Ind Co Ltd 半導体装置、再生装置及びその制御方法
JP2009232123A (ja) * 2008-03-21 2009-10-08 Fujitsu Ten Ltd コンテンツ再生装置およびコンテンツ再生制御方法

Also Published As

Publication number Publication date
CN101689393A (zh) 2010-03-31
CN101689393B (zh) 2012-05-23
EP2312586A1 (en) 2011-04-20
JP5406178B2 (ja) 2014-02-05
US8380042B2 (en) 2013-02-19
US20100189416A1 (en) 2010-07-29
WO2009128232A1 (ja) 2009-10-22

Similar Documents

Publication Publication Date Title
JP5406178B2 (ja) 再生装置、再生方法、プログラム
US8051100B2 (en) Recording medium, recording device, and playback device for use in individual sales and method therefor
US8559789B2 (en) Reproducing apparatus that uses continuous memory area
US8687943B2 (en) Readout apparatus, readout method, and recording method
JP4327879B2 (ja) 再生装置及びプログラム
US8320735B2 (en) Reproducing apparatus
WO2009157198A1 (ja) 記録媒体、再生装置、記録装置、再生方法、記録方法、プログラム
JPWO2007111208A1 (ja) 再生装置、デバッグ装置、システムlsi、プログラム
JP5032408B2 (ja) 簡易レジューム再生装置及び簡易レジューム再生方法
US20110299830A1 (en) Application running device
KR20110036882A (ko) 기록매체, 재생장치, 집적회로, 재생방법, 프로그램
JP5451745B2 (ja) 再生装置、集積回路、再生方法、アプリケーションプログラム、記録媒体、記録装置、及び記録方法
JPWO2009157163A1 (ja) 再生装置、再生装置の制御方法
JP5393847B2 (ja) 簡易レジューム再生装置、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130919

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131031

LAPS Cancellation because of no payment of annual fees