JP4476339B2 - 記録媒体、再生装置、記録方法、プログラム、再生方法 - Google Patents

記録媒体、再生装置、記録方法、プログラム、再生方法 Download PDF

Info

Publication number
JP4476339B2
JP4476339B2 JP2008096277A JP2008096277A JP4476339B2 JP 4476339 B2 JP4476339 B2 JP 4476339B2 JP 2008096277 A JP2008096277 A JP 2008096277A JP 2008096277 A JP2008096277 A JP 2008096277A JP 4476339 B2 JP4476339 B2 JP 4476339B2
Authority
JP
Japan
Prior art keywords
information
stream
graphics
button
time
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.)
Active
Application number
JP2008096277A
Other languages
English (en)
Other versions
JP2008251153A (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
Publication of JP2008251153A publication Critical patent/JP2008251153A/ja
Application granted granted Critical
Publication of JP4476339B2 publication Critical patent/JP4476339B2/ja
Active 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
    • 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/30Indexing; 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 the same track as the main recording
    • 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
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • 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
    • 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/30Indexing; 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 the same track as the main recording
    • G11B27/3027Indexing; 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 the same track as the main recording 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/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/30Indexing; 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 the same track as the main recording
    • G11B27/309Table of contents
    • 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/34Indicating arrangements 
    • 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
    • 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/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs

Description

本発明は、ユーザインターフェイス制御の技術分野に属する発明であり、デジタル化された映画作品を頒布するための記録媒体、民生用の再生装置に、かかるユーザインターフェイス技術を応用する場合の改良に関する。
メニューを用いたユーザインターフェイスは、言語選択やチャプター選択を受け付けるために必要不可欠な機能である。
チャプター等、多数の選択項目があるような映画作品では、選択項目が画面に収まりきらない。そこでユーザ操作に応じて複数ページを表示して個々のページに選択項目を表示させるというメニューのマルチページメニュー 化の登場が要望されている。これらの技術を記載した文献には、以下の非特許文献に掲げたものがある。
"Digital Video Broadcasting(DVB) Subtitling systems;Final draft ETSI EN 300 743"ETSI STANDARDS,EUROPEAN TELECOMMUNICATION STANDARDS INSTITUTE,SOPHIA-ANTIPO,FR
しかしながら、ユーザの操作に応じて多くのページを画面上に表示させれば、それらページにより画面の多くの領域が占有され、主映像たる動画が遮蔽されることになる。そうすると、本編内容の視聴が阻害されるという事態が多発する。もっとも、「ページを表示したら消す」という操作をユーザがこまめに行えば、かかる妨害は生じ得ない。しかしそのようなこまめな操作はユーザにとって面倒なものであり、視聴への専念を妨害する新たな阻害要因になりかねない。またDVD-Videoの対話制御では、かかるページ表示の度に、ページ情報をアクセスして読み出す必要があり、そのアクセスにより動画再生が途切れるので、ユーザによる視聴を妨害することになってしまう。
本発明の目的は、視聴の阻害が無いようなマルチページメニュー 表示を実現することができる記録媒体を提供することである。
上記目的を達成するため、本発明にかかる記録媒体は、動画ストリーム及びグラフィクスストリームが記録されている記録媒体であって、グラフィクスストリームは、1つ以上の対話制御セグメントと、グラフィクスオブジェクトを定義するオブジェクト定義セグメントとを含み、対話制御セグメントは、複数のページ情報を含み、複数のページ情報は、マルチページメニューの画面構成を規定する情報であり、各ページ情報は、1つ以上のボタン情報を含み、各ボタン情報は、グラフィクスオブジェクトをボタン部材の一状態として表示させることにより、マルチページメニューを構成する各ページ上で対話的な画面構成を実現する情報であり、前記マルチページメニューの表示状態には、ノーメニュー状態、ファーストページオンリーの状態、マルチページが存在する状態の3つがあり、前記対話制御セグメントは、パケットに格納され、パケットのデコードタイムスタンプは、再生装置による対話制御セグメントの解読を開始するタイミングを示し、パケットに付加されたプレゼンテーションタイムスタンプは、動画ストリームの再生時間軸のうち、ファーストページを最初に表示させて、ノーメニュー状態からファーストページオンリーの状態への遷移を再生装置に行わせるタイミングを示すことを特徴としている。
上記記録媒体によれば、動画ストリームに多重化されたグラフィクスストリーム内の対話制御セグメントは、動画の再生進行に伴ったマルチページメニューの表示状態を規定する時間情報を含んでいるので、風景等が再生されているシーンにおいて、多くのページを表示させたり、クライマックスシーンまで再生が進行すれば、個々のページを消してゆくような再生制御が可能になる。かかる制御によりユーザによる本編内容の視聴は阻害されないので、マルチページメニュー の利便性を享受しつつも、動画の視聴に専念することができる。
またマルチページメニューの表示のための情報はグラフィクスストリーム内に存在しており、動画ストリームと多重化されているので、ビデオストリームの読み出しを中断しなくても、マルチページメニューを表示するための情報を再生装置内に得ることができる。かかる読出中断がありえないので、動画の表示期間に同期した時間精度で、スムーズにマルチページメニューを挙動させることができる。
(第1実施形態)
以降、本発明に係る記録媒体の実施形態について説明する。先ず始めに、本発明に係る記録媒体の実施行為のうち、使用行為についての形態を説明する。図1は、本発明に係る記録媒体の、使用行為についての形態を示す図である。図1において、本発明に係る記録媒体は、BD-ROM100である。このBD-ROM100は、再生装置200、リモコン300、テレビ400により形成されるホームシアターシステムに、映画作品を供給するという用途に供される。
以上が本発明に係る記録媒体の使用形態についての説明である。続いて本発明に係る記録媒体の実施行為のうち、生産行為についての形態について説明する。本発明に係る記録媒体は、BD-ROMの応用層に対する改良により実施することができる。図2は、BD-ROMの構成を示す図である。
本図の第4段目にBD-ROMを示し、第3段目にBD-ROM上のトラックを示す。本図のトラックは、BD-ROMの内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。ディレクトリ構造を用いてBD-ROMの応用層フォーマット(アプリケーションフォーマット)を表現すると、第1段目のようになる。
第1段目は、BD-ROMの応用層レイアウト(アプリケーションフォーマット)を示す図である。本図において、Rootディレクトリの配下にはBDMVというサブディレクトリが形成されている。このBDMVディレクトリの下には、STREAMディレクトリが存在する。
STREAMディレクトリは、AVClip、SubClipを格納したディレクトリである。STREAMディレクトリにおける『00001.m2ts』,『00002.m2ts』,『00003.m2ts』はAVClip、SubClipを格納したファイルであり、これらのファイルには「xxxxx.m2ts(xは任意の整数)」という統一形式のファイル名が付与されている。
<AVClipの構成>
AVClipについて説明する。図3は、AVClipがどのように構成されているかを模式的に示す図である。
AVClipは(中段)、複数のビデオフレーム(ピクチャpj1,2,3)からなるビデオストリーム、複数のオーディオフレームからなるオーディオストリームを(上1段目)、PESパケット列に変換し(上2段目)、更にTSパケットに変換し(上3段目)、同じく字幕系のプレゼンテーショングラフィクスストリーム(PGストリーム)及び対話系のインタラクティブグラフィクスストリーム(IGストリーム)を(下1段目)を、PESパケット列に変換し(下2段目)、更にTSパケットに変換して(下3段目)、これらを多重化することで構成される。
プレゼンテーショングラフィクスストリーム及びインタラクティブグラフィクスストリームは、ビデオストリームにおける個々のピクチャにグラフィクスを合成させるという画面構成を実現するストリーム形式のデータである。これらプレゼンテーショングラフィクスストリーム及びインタラクティブグラフィクスストリームにより、ピクチャに合成される合成客体を”グラフィクスオブジェクト”という。
プレゼンテーショングラフィクスストリームは、グラフィクスオブジェクトを用いた字幕表示を実現するグラフィクスストリームである。
インタラクティブグラフィクスストリームは、グラフィクスオブジェクトの対話的な表示を実現するグラフィクスストリームである。以上がAVClipの構成である。続いてAVClip、SubClipについて説明する。SubClipは、多重化されたストリームではなく、インタラクティブグラフィクスストリームのみ、オーディオストリームのみ、テキストデータのみを格納したファイルである。SubClipたるインタラクティブグラフィクスストリームは、再生時において予めメモリにロードされた上で、他のAVClipと同期して再生される。ここで、AVClipを再生するにあたって、SubClipを前もってメモリにロードしておくことをプリロードという。
続いてインタラクティブグラフィクスストリームについて説明する。図4(a)は、インタラクティブグラフィクスストリームの構成を示す図である。第1段目は、AVClipを構成するTSパケット列を示す。第2段目は、グラフィクスストリームを構成するPESパケット列を示す。第2段目におけるPESパケット列は、第1段目におけるTSパケットのうち、所定のPIDをもつTSパケットからペイロードを取り出して、連結することにより構成される。尚、プレゼンテーショングラフィクスストリームについては、本願の主眼ではないので説明は行わない。
第3段目は、グラフィクスストリームの構成を示す。グラフィクスストリームは、ICS(Interactive Composition Segment)、PDS(Palette Difinition Segment)、ODS(Object_Definition_Segment)、END(END of Display Set Segment)と呼ばれる機能セグメントからなる。これらの機能セグメントのうち、ICSは、画面構成セグメントと呼ばれ、PDS、ODS、ENDは定義セグメントと呼ばれる。PESパケットと機能セグメントとの対応関係は、1対1の関係、1対多の関係である。つまり機能セグメントは、1つのPESパケットに変換されてBD-ROMに記録されるか、又は、フラグメント化され、複数PESパケットに変換されてBD-ROMに記録される。
以降、各機能セグメントについて説明する。
『Interactive Composition Segment(ICS)』は、対話的なグラフィクスオブジェクトの画面構成を制御する機能セグメントである。対話的な画面構成の1つとして、本実施形態のICSは、Multi-Pageメニューを実現するものとする。
『Object_Definition_Segment(ODS)』は、ランレングス符号化形式のグラフィクスオブジェクトである。ランレングス符号化形式のグラフィクスオブジェクトは複数のランレングスデータからなる。ランレングスデータとは、画素値を示すPixel Codeと、画素値の連続長とにより、画素列を表現したデータである。Pixel Codeは、8ビットの値であり、1〜255の値をとる。ランレングスデータでは、このPixel Codeによりフルカラーの16,777,216色から任意の256色を選んで画素の色として設定することができる。
『Palette Difinition Segment(PDS)』は、パレットデータを格納する機能セグメントである。パレットデータとは、1〜255のPixel Codeと、画素値との組合せを示すデータである。ここで画素値は、赤色差成分(Cr値),青色差成分(Cb値),輝度成分(Y値),透明度(T値)から構成される。各ランレングスデータが有するPixel Codeを、パレットに示される画素値に置き換えることで、ランレングスデータは発色されることになる。
『END of Display Set Segment(END)』は、機能セグメントの伝送の終わりを示す指標であり、最後のODSの直後に配置される。以上が各機能セグメントについての説明である。
図4(b)は、機能セグメントを変換することで得られるPESパケットを示す図である。図4(b)に示すようにPESパケットは、パケットヘッダと、ペイロードとからなり、このペイロードが機能セグメント実体にあたる。またパケットヘッダには、この機能セグメントに対応するDTS、PTSが存在する。尚以降の説明では、機能セグメントが格納されるPESパケットのヘッダ内に存在するDTS及びPTSを、機能セグメントのDTS及びPTSとして扱う。
これら様々な種別の機能セグメントは、図5のような論理構造を構築する。図5は、様々な種別の機能セグメントにて構成される論理構造を示す図である。本図は第1段目にEpochを、第2段目にDisplay Setを、第3段目にDisplay Setの類型をそれぞれ示す。図4(a)の第3段目に示した機能セグメントは第4段目に描かれている。
第1段目のEpochとは、AVClipの再生時間軸上においてメモリ管理の連続性をもっている一つの期間、及び、この期間に割り当てられたデータ群をいう。ここで想定しているメモリとは、表示を構成するグラフィクスオブジェクトを格納しておくためのグラフィクスプレーン、非圧縮グラフィクスオブジェクトを格納しておくためのオブジェクトバッファである。これらについてのメモリ管理に、連続性があるというのは、このEpochにあたる期間を通じてこれらグラフィクスプレーン及びオブジェクトバッファのフラッシュは発生せず、グラフィックプレーン内のある決められた矩形領域内でのみ、グラフィクスの消去及び再描画が行われることをいう(※ここでフラッシュとは、プレーン及びバッファの格納内容を全部クリアしてしまうことである。)。この矩形領域の縦横の大きさ及び位置は、Epochにあたる期間において、終始固定されている。グラフィックプレーンにおいて、この固定化された領域内で、グラフィクスの消去及び再描画を行っている限り、シームレス再生が保障される。つまりEpochは、シームレス再生の保障が可能な再生時間軸上の一単位ということができる。グラフィックプレーンにおいて、グラフィクスの消去・再描画を行うべき領域を変更したい場合は、再生時間軸上においてその変更時点を定義し、その変更時点以降を、新たなEpochにせねばならない。この場合、2つのEpochの境界では、シームレス再生は保証されない。
尚、ここでのシームレス再生とは、グラフィクスの消去及び再描画が、所定のビデオフレーム数で完遂することをいう。インタラクティブグラフィクスストリームの場合、このビデオフレーム数は、4,5フレームとなる。このビデオフレームをどれだけにするかは、グラフィックプレーン全体に対する固定領域の大きさの比率と、オブジェクトバッファ−グラフィックプレーン間の転送レートとによって定まる。
第2段目のDisplay Set(DSと略す)とは、グラフィクスストリームを構成する複数機能セグメントのうち、一つの画面構成を実現するものの集合をいう。図5における破線hk1は、第2段目のDisplay Setが、どのEpochに帰属しているかという帰属関係を示す。DS1,2,3・・・nは、第1段目のEpochを構成していることがわかる。
第3段目はDisplay Setの類型を示す。Epochの先頭に位置するDisplay Setの類型はEpoch Startである。先頭ではない Display Setの類型は『Acquisition Point』、『Normal Case』、『Epoch Continue』である。本図におけるAcquisition Point、Normal Case、Epoch Continueの順序は、一例にすぎず、どちらが先であってもよい。
『Epoch Start』は、”新表示”という表示効果をもたらすDSであり、新たなEpochの開始を示す。そのためEpoch Startは、次の画面合成に必要な全ての機能セグメントを含んでいる。Epoch Startは、映画作品におけるチャプター等、頭出しがなされることが判明している位置に配置される。
『Acquisition Point』は、”表示リフレッシュ”という表示効果をもたらすDisplay Setであり、先行するEpoch Startと全く同じDisplay Setをいう。Acquisition PointたるDSは、Epochの開始時点ではないが、次の画面合成に必要な全ての機能セグメントを含んでいるので、Acquisition PointたるDSから頭出しを行えば、グラフィックス表示を確実に実現することができる。つまりAcquisition PointたるDSは、Epochの途中からの画面構成を可能するという役割をもつ。
Acquisition PointたるDisplay Setは、頭出し先になり得る位置に組み込まれる。そのような位置には、タイムサーチにより指定され得る位置がある。タイムサーチとは、何分何秒という時間入力をユーザから受け付けて、その時間入力に相当する再生時点から頭出しを行う操作である。かかる時間入力は、10分単位、10秒単位というように、大まかな単位でなされるので、10分間隔の再生位置、10秒間隔の再生位置がタイムサーチにより指定され得る位置になる。このようにタイムサーチにより指定され得る位置にAcquisition Pointを設けておくことにより、タイムサーチ時のグラフィクスストリーム再生を好適に行うことができる。
『Normal Case』は、”表示アップデート”という表示効果をもたらすDSであり、前の画面合成からの差分のみを含む。例えば、あるDSvは、先行するDSuと同じ内容であるが、画面構成が、この先行するDSuとは異なる場合、ICSのみのDSv、又は、ODSのみのDSvを設けてこのDSvをNormal CaseのDSにする。こうすれば、重複するODSを設ける必要はなくなるので、BD-ROMにおける容量削減に寄与することができる。Normal CaseのDSは、差分にすぎないので、Normal Case単独では画面構成は行えない。
『Epoch Continue』とは、AVClipの境界において、Epochが連続していることを示す。1つのDSnのComposition StateがEpoch Continueに設定されていれば、たとえDSnが、その直前に位置するDSn-1と異なるAVClip上に存在していたとしても、同じEpochに属することになる。これらDSn,DSn-1は、同じEpochに帰属するので、たとえこれら2つのDS間で、AVClipの分岐が発生したとしても、グラフィックスプレーン、オブジェクトバッファのフラッシュは発生しない。
図中の破線kz1は、第4段目の機能セグメントが、どのDSに帰属しているかという帰属関係を示す。第4段目の機能セグメントは、図4(a)に示したものと同じものなので、これら図4(a)の一連の機能セグメントは、Epoch Startに帰属していることがわかる。Acquisition Pointに帰属する機能セグメントは、Epoch Startに帰属するものと同じであり、Normal Caseに帰属する機能セグメントは、Epoch Startに帰属するものの一部を省略したものである。
以上が機能セグメントにより構成される論理構造についての説明である。続いてこれらICS、ODSを有したDisplay Setが、AVClipの再生時間軸上にどのように割り当てられるかについて説明する。Epochは、再生時間軸上においてメモリ管理が連続する期間であり、Epochは1つ以上のDisplay Setから構成されるので、Display SetをどうやってAVClipの再生時間軸に割り当てるかが問題になる。ここでAVClipの再生時間軸とは、AVClipに多重されたビデオストリームを構成する個々のピクチャデータのデコードタイミング、再生タイミングを規定するための想定される時間軸をいう。この再生時間軸においてデコードタイミング、再生タイミングは、90KHzの時間精度で表現される。Display Set内のICS、ODSに付加されたDTS、PTSは、この再生時間軸において同期制御を実現すべきタイミングを示す。このICS、ODSに付加されたDTS、PTSを用いて同期制御を行うことが、再生時間軸へのDisplay Setの割り当てである。
Epochに属するDisplay Setのうち、任意のDisplay SetをDSnとすると、DSnは、図6に示すようなDTS、PTS設定によりAVClipの再生時間軸に割り当てられる。
図6は、DSnが割り当てられた、AVClipの再生時間軸を示す図である。本図においてDSnの始期は、DSnに属するICSのDTS値(DTS(DSn[ICS]))により示されており、終期は、DSnに属するENDのPTS値(PTS(DSn[ICS]))により示されている。そしてDSnにおいて最初の表示が行われるタイミングは、ICSのPTS値(PTS(DSn[ICS]))に示されている。AVClip再生時間軸において、ビデオストリームの所望のピクチャが出現するタイミングと、PTS(DSn[ICS])とを一致させれば、DSnの最初の表示は、そのビデオストリームと同期することになる。
PTS(DSn[ICS])は、DTS(DSn[ICS])に、ODSのデコードに要する期間(DECODEDURATION)と、デコードにより得られたグラフィクスオブジェクトの転送に要する期間(TRANSFERDURATION)とを足し合わせた値である。
最初の表示に必要なODSのデコードは、このDECODEDURATION内に行われることになる。図6の期間mc1は、DSnに属する任意のODS(ODSm)のデコードがなされる期間を示す。このデコード期間の開始点は、DTS(ODSn[ODSm])により示され、このデコードの終了点は、PTS(ODSn[ODSm])により示される。
以上のような再生時間軸への割り付けを、Epochに属する全てのODSに対して行うことで、Epochは規定されることになる。以上が再生時間軸に対する割り付けについての説明である。
本実施形態は、上述した再生時間軸における動画の再生進行に応じて、Multi-Pageメニューの挙動を制御することを特徴としている。この特徴を実現するための新規な構成は、ICS内のInteractive_compositionに存在する。以降ICS、Interactive_compositionの内部構成について以下説明する。
図7(a)(b)は、ICSとInteractive_compositionとの対応関係を示す図である。ICSとInteractive_compositionとの対応関係には、図7(a)に示すような1対1のものと、図7(b)に示すような1対多のものとがある。
対応関係が1対1になるのは、Interactive_compositionのサイズが小さく、1つのICS内にInteractive_compositionが収まる場合である。
1対多の対応関係になるのは、Interactive_compositionのサイズが大きく、Interactive_compositionがフラグメント化され、複数ICSに格納される場合である。複数ICSへの格納が可能なので、Interactive_compositionサイズには制限がなく、512Kバイトであろうと、1Mバイトであろうと、Interactive_compositionのサイズを大きくすることができる。ICS、Interactive_compositionには1対多の対応関係もあり得るが、簡単を期するため、以降の説明では、ICS、Interactive_compositionの対応関係は、1対1であるとする。
図8は、ICSの内部構成を示す図である。ICSには、Interactive_Compositionの全体、又は、Interactive_Compositionをフラグメント化することで得られた一部が格納されている。図8の左側に示すように、ICSは、自身がICSであることを示す『segment_descriptor』と、本ICSが想定している縦横の画素数、フレームレートを示す『video_descriptor』と、本ICSが属するDisplay Setが、Normal Case、Acquisition Point、Epoch Start、Effect_Sequenceの何れであるかというcomposition_stateを示す『composition_descriptor』と、Interactive_Compositionの全体、又は、Interactive_Compositionをフラグメント化することで得られた一部である『Interactive_composition_data_fragment』とからなる。
図8の矢印cu1は、Interactive_compositionの内部構成をクローズアップしている。この矢印に示すようにInteractive_compositionは、『Interactive_composition_length』,『Stream_model』,『user_interface_model』,『composition_time_out_pts』,『selection_time_out_pts』,『user_time_out_duration』、Multi-Pageメニューにおいて表示可能な複数ページのそれぞれに対応する『ページ情報(1)(2)・・・(i)・・・(number_of_page-1)』を含む。
『Interactive_composition_length』は、Interactive_compositionのデータ長を示す。
『Stream_model』は、Interactive_compositionが想定しているストリームモデルのタイプを示す。ストリームモデルとは、Interactive_compositionがどのような形態でBD-ROMに記録されて、再生装置におけるバッファ(コンポジションバッファと呼ばれる)上でどのように扱われるかを示すものであり、Stream_modelは、グラフィクスストリームがAVClipから多重分離されてコンポジションバッファ上にロードされたものであるか(i)、SubClipとしてAVClipとは別ファイルに格納され、コンポジションバッファにプリロードされたものであるか(ii)を示す。かかるStream_modelをInteractive_compositionに設けておくのは、コンポジションバッファにおけるInteractive_compositionの扱いが、プリロードされたものと、多重化されたものとで違うからである。図9は、Stream_modelがMultiplexedである場合のICSの取り扱いを示す図である。本図における第4段目は、AVClipに多重化されるビデオストリーム、第3段目は、AVClipに多重化されるグラフィクスストリームをそれぞれ示す。この第3段目においてグラフィクスストリームには、DS1、DS2、DS8という3つのDisplay Setが存在している。第2段目は、AVClipにおける再生進行を示し、第1段目は、その再生進行に伴う、コンポジションバッファの格納内容の移り変わりを示す。現在の再生時点がDS1の多重化地点に到達すれば、矢印PF1に示すように、DS1がコンポジションバッファにロードされ、コンポジションバッファにはDS1[ICS]が格納されることがわかる。現在の再生時点がDS2の多重化地点に到達すれば、矢印PF2に示すように、DS2がコンポジションバッファにロードされ、コンポジションバッファにはDS2[ICS]が格納されることがわかる。Stream_model=Multiplexedである場合、Interactive_compositionが複数存在するので、再生装置はAVClipの再生進行に伴い、古いInteractive_compositionを捨てて、現在の再生時点に存在する新たなInteractive_compositionをロードするという捨拾選択が行われることがわかる。
この捨拾選択が顕著になるのが頭出し実行時である。頭出し実行時において、現在の再生時点に相当するInteractive_compositionはもはや役に立たないから、再生装置は頭出し実行と共に、コンポジションバッファ上のInteractive_compositionを廃棄してしまう。図9において頭出しam1がなされれば、その頭出し開始のタイミングam2で、コンポジションバッファの格納内容が廃棄され、頭出し先位置に存在するDS8[ICS]が矢印PF3に示すように、コンポジションバッファにロードされることがわかる。
多重化であれば、再生進行に伴ったInteractive_composition廃棄は必須となるが、プリロードであれば、Interactive_composition廃棄は一切不要である。仮に、再生時点が進行する度にInteractive_composition廃棄がなされれば、その度に同じInteractive_compositionをBD-ROMからコンポジションバッファにロードする必要が生じ、ロードのやり直しにより、余分が負荷が発生するからである。図10は、Stream_modelがプリロードである場合のコンポジションバッファの移り変わりを示す図である。第1段目〜第4段目の意味合いは、図9と同じであるが、コンポジションバッファ格納内容の移り変わりは図9と全く異なるものになっている。どう違うかというと、DS1が多重化されている地点まで、現在の再生時点が到達してもICSはコンポジションバッファにロードされないのである(図中の×印)。
同様に、DS2が多重化されている地点まで、現在の再生時点が到達してもICSはコンポジションバッファにロードされない(図中の×印)。更に頭出しが発生したとしても、コンポジションバッファの格納内容は廃棄されず維持される。再生進行にともなってInteractive_compositionを廃棄するか、或は、再生進行に拘らずコンポジションバッファ上のInteractive_compositionを保持しておくかとの判断を再生装置における制御主体(グラフィクスコントローラ)に正確に行わせるため、Stream_modelがInteractive_compositionに設けられている。以上がStream_modelの説明である。
『user_interface_model』は、Interactive_compositionが想定しているユーザインターフェイスモデルが、Always-onU/IであるかPop-upU/Iであるかを示す。Always-onU/Iとは、AVClipの再生進行に伴ってメニューの表示・消去がなされるユーザインターフェイスであり、ポップアップU/Iとは、ユーザによる操作をトリガにしてメニューの表示・消去がなされるユーザインターフェイスである。
『Composition_time_out_pts』は、ICSが帰属するEpochの終期(Epoch END)を示す。ICSによる対話制御は、このEpoch終期(Epoch END)においてもはや不可能となるので、このcomposition_time_out_ptsに示される時点が、対話制御の終期を意味する。
『selection_time_out_pts』は、セレクテッド状態にあるボタンを自動的にアクティベートするためのタイムアウト時刻を示す。ボタンとは、Multi-Pageメニューにおける個々の選択項目であり、かかるボタンの状態をアクティブ状態に変化させる時間を規定しているのがこのselection_time_out_ptsである。
図中のIF文(if(Stream_model=='0b'))は、上述したcomposition_time_out_pts及びselection_time_out_ptsが、Stream_model=Multiplexedの際、出現する任意の情報要素であることを示してる。ICSが想定しているストリームモデルがプリロードである場合、これらcomposition_time_out_pts、selection_time_out_ptsは存在しない。
『user_time_out_dutration』は、ユーザ操作により表示され得るページを消去するためのタイムアウト時刻を示す。Always-onU/Iでは、2ndPage以降のPage(SubPageという)がユーザ操作により表示されるので、このuser_time_out_dutrationのタイムアウトにより、SubPageのみが消去され、1stPageのみとなる。Pop-upU/Iでは、SubPageだけではなく、Multi-Pageメニュー全体がユーザ操作により表示されるので、user_time_out_dutrationのタイムアウトにより、全てのページが消去され何も表示されない状態(No Menu Display)になる。
続いてEpochにおいて、selection_time_out_pts及びcomposition_time_out_ptsがどのような意味合いを持つかについて説明する。
図11は、DSnがEpoch Startである場合(n=1)、DSnに帰属するICSにおいて、selection_time_out_pts及びcomposition_time_out_ptsがどのような意味合いを持つかを示す図である。このタイミングチャートを参照すれば、composition_time_out_ptsはEpochの終了時点(EpochEND)を示していることがわかる。対話的な画面構成は、PTS(DSn[ICS])からEpochENDまで有効になる。この期間を、Interactive display Periodという。
またselection_time_out_ptsは、Epoch ENDの手前の時点を示す。PTS(DSn[ICS])からselection_time_out_ptsにより示される時点までにおいて、対話制御は有効になる。この期間をValid Interaction Periodという。このようにselection_time_out_ptsは、Epochにおいて最初の表示がなされてから、どれだけの間対話制御が有効になるかを示し、composition_time_out_ptsは、Epochにおいて最初の表示がなされてから、どれだけの間、対話的な表示が有効になるかを示していることがわかる。以上がselection_time_out_pts、composition_time_out_ptsの意味合いである。続いてこれらselection_time_out_pts及びcomposition_time_out_pts、user_time_out_dutrationによりMulti-Pageメニューの状態がどのように変化するかについて説明する。
図12(a)は、selection_time_out_pts、user_time_out_dutration、composition_time_out_ptsを用いたMulti-Pageメニューの状態遷移を示す状態遷移図である。図12(a)はPop-upU/IにおけるMulti-Pageメニューの状態遷移を示す。本図におけるMulti-Pageメニューの状態には、No Menu Display、1st page Only、Multi-Page existがある。
1st page Onlyは、1stPageのみが表示されている状態を示す。
Multi-Page existは、1stPageに加え、2ndPage以降のページ(SubPageという)が表示されている状態を示す。
矢印jt1は、No Menu Display→1st page Onlyの状態遷移を示す。この状態遷移は、イベント”Pop-up_on”をトリガにしている。”Pop-up_on”とは、メニュー呼出操作をユーザが行うことで再生装置内に発生するイベントである。
矢印jt2は、1st page Only→No Menu Displayの状態遷移を示す。この状態遷移は、イベント”Pop-up_off”をトリガにしている。”Pop-up_off”とは、メニュー呼出の取消操作をユーザが行うことで再生装置内に発生するイベントである。
矢印jt3,jt4は、1st page Only→Multi-Page exist、Multi-Page exist→1st page Onlyの状態遷移を示す。この状態遷移は、selection_time_out_ptsのタイムアウトによるChangeButtonPageイベントの発生をトリガにしている。ChangeButtonPageとは、ユーザがページ切り換えを再生装置に命じた際、発生するイベントである。本イベントの発生は、ユーザによりページ切り換え操作がなされたことを前提にしている。selection_time_out_ptsは、メニューにおいてそのページ切り換え操作を受け付けるボタンを強制的にタイムアウトにするためのタイムアウト時刻を示すから、Interactive_compositionにおけるselection_time_out_ptsの記述により、1st page Only→Multi-Page exist、Multi-Page exist→1st page Onlyの状態遷移を実現をすることができる。
矢印jt5は、1st page OnlyからNo Menu Displayへの状態遷移を示し、矢印jt6は、Multi-Page existからNo Menu Displayへの状態遷移を示す。この状態遷移jt6は、”user_time_out_dutrationによるタイムアウト”をトリガにしている。
この状態遷移図において、1st page Only又はMulti-Page existからNo Menu Displayに戻るという状態遷移jt5,jt6は、user_time_out_dutrationにより規定されるので、動画ストリームの再生が、クライマックスシーンまで進行した際メニューを自動的に消去して、メニューによる遮蔽を防ぐという再生制御を規定することができる。
図12(b)は、Always-onU/IにおけるMulti-Pageメニューの挙動を示す。矢印at1は、No Menu Display→1st page Onlyの状態遷移を示す。この状態遷移は、イベント”Epoch Start”をトリガにしている。イベント”Epoch Start”は、Interactive_compositionのPTSに示される再生時刻が到来したことを示すイベントであり、1stPageの表示は、ユーザによる操作を待つことなく、動画ストリームの再生進行により自動的になされることがわかる。
矢印at2,at3は、1st page Only→Multi-Page exist、Multi-Page exist→1st page Onlyの状態遷移を示す。この状態遷移も、Pop-upU/I同様、selection_time_out_ptsのタイムアウトによるChangeButtonPageイベントの発生をトリガにしている。
矢印at4は、user_time_out_dutrationによるタイムアウト”をトリガにした、Multi-Page existから1st Page onlyへの状態遷移を示す。この状態遷移からも明らかなように、Always-onU/Iではuser_time_out_dutrationによるタイムアウトが発生したとしても、1st Page onlyに戻るのみであり、No Menu Displayにはならない。
矢印at5は、1st Page only→No Menu Displayの状態遷移を示す。この状態遷移は、”composition_time_out_ptsによるタイムアウト”をトリガにしている。composition_time_out_ptsによるタイムアウトは、いわばEpochの終了(Epoch END)を表す。
図12(a),(b)からも明らかなように、Interactive_compositionのselection_time_out_pts、user_time_out_dutration、composition_time_out_ptsにより、Multi-Pageメニューの挙動は制御されることがわかる。
この制御を応用した画面演出の一例を図13〜図15に示す。図13は、Multi-Pageメニューを導入した画面演出を示す図である。この画面演出とは、最初はMulti-Pageメニューを一切表示せず、時点t1に到達した際、1stPageを表示し、その後、時点t2に到達した際、1stPageに加えSubPageを表示するというものである。更に再生が進み時点t3の到達後、SubPageを消去して1stPageのみとし、時点t4の到達時に1stPageを消去してNo Menu Displayとするというものである。
図13の下側に、かかる画面演出を行う際のInteractive_compositionの記述例を示す。この場合、PTS(DSn[ICS])に時点t1を示させ、selection_time_out_ptsに時点t2を、user_time_out_dutrationに時点t3を、composition_time_out_ptsに時点t4をそれぞれ示させる。PTS(DSn[ICS])、selection_time_out_pts、user_time_out_dutration、composition_time_out_ptsをこのように設定することによりMulti-Pageメニューは、図13の状態遷移を行うことになる。
更に詳しい具体例を交えながら、selection_time_out_ptsの設定例について説明する。
図14(a)〜(c)は、selection_time_out_pts設定の一例を示す図である。時点t1では、図14(a)に示すように、Multi-Pageメニューの1stPageがピクチャに合成され、表示されているものとする。時点t2に出現するピクチャは、図14(b)の通りであり、何の変哲もない風景であるものとする。特に価値がある内容が表示される訳ではないので、時点t2で、1stPageのボタンが自動的に確定するようselection_time_out_ptsを設定しておく。そうすると、図14(b)に示す風景上にSubPageが合成され、図14(c)に示すような合成画像が現れることになる。
同様に、具体的な表示内容を交えながら、user_time_out_dutrationの設定例について説明する。図15(a)〜(d)は、user_time_out_dutration設定の具体例を示す図である。この具体例で想定しているのは、図15(a)に示すように、複数のSubPage(2nd Page,3rd Page,4th Page)が表示され、MultiPage-exist状態になっている状態である。かかるMultiPage-exist状態が、ビデオストリームを構成する個々のピクチャと合成されて、表示されることになる。ここで時点t3に表示されるべきピクチャが図15(b)に示すような登場人物の肖像であるものとする。この肖像に複数SubPageが合成されると、肖像は、複数SubPageで覆い隠され、図15(c)に示すように表情がわからなくなってしまう。そこで時点t3の直前を示すよう、user_time_out_dutrationを設定しておく。そうするとメニュー状態は、MultiPage-exist状態から1stPage-Only状態に変化するので、肖像は図13(d)に示すように、画面に現れることになる。ページによる画面占有が1stPage一枚のみになるので、ピクチャの映像内容の妨げにはならない。またメニュー全体を消す訳ではなく、1stPageのみを残すので、メニュー全体を消去する場合と比較すると、メニュー呼出を改めて行うという手間が不要になる。
以上のように本実施形態によれば、グラフィクスストリーム内に多重化されたICSは、動画の再生進行に伴ったMulti-Pageメニューの挙動を規定する制御情報を含んでいるので、風景等が再生されているシーンにおいて、多くのページを表示させたり、クライマックスシーンまで再生が進行すれば、個々のページを消してゆくような再生制御が可能になる。かかる制御によりユーザによる本編内容の視聴は阻害されないので、Multi-Pageメニューの利便性を享受しつつも、動画の視聴に専念することができる。
(第2実施形態)
第2実施形態は、Multi-Pageメニューにおける個々のページを表示させるにあたっての画面構成を実現する実施形態である。本実施形態で想定している画面構成は、グラフィカルなボタン部材が複数配置されたページを表示すると共に、その表示の前後に、表示効果を伴うというものである。
図16は、複数ページのうち、任意のもの(x枚目のページ)についてのページ情報の内部構成を示す図である。この図16の左側に示すようにページ情報(x)は、ページxを一意に識別する識別子である『page_id』,『UO_mask_table』,ページ(x)の表示開始時あたって再生すべき表示効果を示す『in_effect』,ページ(x)の表示終了時あたって再生すべき表示効果を示す『out_effect』,ページ(x)にアニメーションを実行する際、適用すべきフレームレートを記述する『animation_frame_rate_code』,『default_selected_button_id_ref』、『default_activated_button_id_ref』,『pallet_id_ref』,ページ(x)上の複数ボタンのそれぞれに対応する『ボタン情報(1)(2)・・・・・(number_of_buttons-1)』を含む。
『UO_Mask_Table』は、page(x)におけるユーザ操作の許可/不許可を示す。このマスクフィールドが不許可に設定されていれば、再生装置に対するユーザ操作は無効になる。
『default_selected_button_id_ref』は、Page(x)の表示が始まったとき、デフォルトでセレクテッド状態に設定すべきボタンを動的に定めるか、静的に定めるかを示す。本フィールドが”OxFF”であれば、デフォルトでセレクテッド状態に設定すべきボタンを動的に定める旨を示す。動的に定める場合、再生装置における状態レジスタ(Player Status Register(PSR))の設定値が優先的に解釈され、PSRに示されるボタンがセレクテッド状態になる。本フィールドが0xFFでなければ、デフォルトでセレクテッド状態に設定すべきボタンを静的に定める旨を示す。この場合、『default_selected_button_id_ref』に規定されたボタン番号でPSRを上書きし、本フィールドで指示されるボタンをセレクテッド状態にする。
『default_activated_button_id_ref』は、selection_time_out_ptsに示される時点に達した際、自動的にアクティブ状態に設定されるボタンを示す。default_activated_button_id_refが”FF”であれば、所定のタイムアウト時刻において、現在セレクテッド状態になっているボタンが自動的に選択される。このdefault_activated_button_id_refが00であれば、自動選択はなされない。00,FF以外の値であれば本フィールドは、有効なボタン番号として解釈される。
『pallet_id_ref』は、Page(x)において、CLUT部に設定すべきパレットのidを示す。
『ボタン情報(Button_info)』は、Page(x)上に表示される各ボタンを定義する情報である。以上のフィールドにより、Multi-Pageメニューにおける個々のページは特定される。続いてボタン情報の内部構成について説明する。Page(x)における任意のボタンをボタン(i)であると仮定した場合、このボタン(i)の内部構成が、どのようにして規定されるかについて説明する。図16における破線の矢印cx1は、ボタン(i)を規定するボタン情報iの内部構成をクローズアップしている。
ページに表示される個々のボタンには、ノーマル状態、セレクテッド状態、アクティブ状態という3つの状態がある。ノーマル状態とは、単に表示されているに過ぎない状態である。これに対しセレクテッド状態とは、ユーザ操作によりフォーカスが当てられているが、確定に至っていない状態をいう。アクティブ状態とは、確定に至った状態をいう。かかる状態があるので、ボタン情報iには、以下の情報要素が規定されている。
『button_id』は、ボタン(i)を、Interactive_compositionにおいて一意に識別する数値である。
『button_numeric_select_value』は、ボタン(i)の数値選択を許可するか否かを示すフラグである。
『auto_action_flag』は、ボタン(i)を自動的にアクティブ状態にするかどうかを示す。auto_action_flagがオン(ビット値1)に設定されれば、ボタン(i)は、セレクテッド状態になる代わりにアクティブ状態になる。auto_action_flagがオフ(ビット値0)に設定されれば、ボタン(i)は、選択されたとしてもセレクテッド状態になるにすぎない。
『button_horizontal_position』、『button_vertical_position』は、対話画面におけるボタン(i)の左上画素の水平位置、垂直位置を示す。
『neighbor_info』は、ボタン(i)がセレクテッド状態になっていて、上下左右方向へのフォーカス移動が命じられた場合、どのボタンをセレクテッド状態に設定するかを示す情報であり、『upper_button_id_ref』,『lower_button_id_ref』,『left_button_id_ref』,『right_button_id_ref』からなる。
『upper_button_id_ref』は、ボタン(i)がセレクテッド状態である場合においてリモコンが操作され、上方向へのフォーカス移動を命じるキー(MOVEUPキー)が押下された場合、ボタン(i)の代わりに、セレクテッド状態にすべきボタンの番号を示す。もしこのフィールドにボタン(i)の番号が設定されていれば、MOVEUPキーの押下は無視される。
『lower_button_id_ref』,『left_button_id_ref』,『right_button_id_ref』は、ボタン(i)がセレクテッド状態である場合において、リモコンが操作され、下方向へのフォーカス移動を命じるキー(MOVE Downキー),左方向へのフォーカス移動を命じるキー(MOVE Left キー),右方向へのフォーカス移動を命じるキー(MOVE Right キー)が押下された場合、ボタン(i)の押下の代わりに、セレクテッド状態にすべきボタンの番号を示す。もしこのフィールドにボタン(i)の番号が設定されていれば、これらのキーの押下は無視される。
『normal_state_info』は、ボタン(i)のノーマル状態を規定する情報であり、『normal_start_object_id_ref』、『normal_end_object_id_ref』、『normal_repeated_flag』を含む。
『normal_start_object_id_ref』は、ノーマル状態のボタン(i)をアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番のうち、最初の番号がこのnormal_start_object_id_refに記述される。
『normal_end_object_id_ref』は、ノーマル状態のボタン(i)をアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番たる『object_ID』のうち、最後の番号がこのnormal_end_object_id_refに記述される。このactivated_end_object_id_refに示されるIDが、normal_start_object_id_refに示されるIDと同じである場合、このIDにて示されるグラフィックスオブジェクトの静止画が、ボタン(i)の絵柄になる。
『normal_repeat_flag』は、ノーマル状態にあるボタン(i)のアニメーション表示を反復継続させるかどうかを示す。
『selected_state_info』は、ボタン(i)のセレクテッド状態を規定する情報であり、 『selected_state_sound_id_ref』、『selected_start_object_id_ref』、『selected_end_object_id_ref』、『selected_repeat_flag』を含む。
『selected_state_sound_id_ref』は、ボタン(i)の状態がセレクテッド状態が変化した際、クリック音として再生させるべきサウンドデータを指定する情報である。この指定は、sound.bdmvと呼ばれるファイルに格納されているサウンドデータの識別子を記述することでなされる。本フィールドが0xFFである場合、サウンドデータは指定されていないことを意味し、クリック音再生はなされない。
『selected_start_object_id_ref』は、セレクテッド状態のボタン(i)をアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番のうち、最初の番号がこのselected_start_object_id_refに記述される。
『selected_end_object_id_ref』は、セレクト状態のボタンをアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番たる『object_ID』のうち、最後の番号がこのselected_end_object_id_refに記述される。このselected_end_object_id_refに示されるIDが、selected_start_object_id_refに示されるIDと同じである場合、このIDにて示されるグラフィックスオブジェクトの静止画が、ボタン(i)の絵柄になる。
『selected_repeat_flag』は、セレクテッド状態にあるボタン(i)のアニメーション表示を、反復継続するかどうかを示す。selected_start_object_id_refと、selected_end_object_id_refとが同じ値になるなら、本フィールド00に設定される。
『activated_state_info』は、ボタン(i)のアクティブ状態を規定する情報であり、 『activated_state_sound_id_ref』、『activated_start_object_id_ref』、『activated_end_object_id_ref』を含む。
『activated_state_sound_id_ref』は、button情報に対応するボタンのセレクテッド状態が変化した際、クリック音として再生させるべきサウンドデータを指定する情報である。この指定は、sound.bdmvに格納されているサウンドデータの識別子を記述することでなされる。本フィールドが0xFFである場合、サウンドデータは指定されていないことを意味し、クリック音再生はなされない。
『activated_start_object_id_ref』は、アクティブ状態のボタン(i)をアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番のうち、最初の番号がこのactivated_start_object_id_refに記述される。
『activated_end_object_id_ref』は、アクティブ状態のボタンをアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番たる『object_ID』のうち、最後の番号がこのactivated_end_object_id_refに記述される。
『ナビゲーションコマンド(navigation_command)』は、ボタン(i)がアクティブ状態になれば、実行されるコマンドである。ナビゲーションコマンドの代表的なものは、SetButtonPageコマンドである。SetButtonPageコマンドは、Multi-Pageメニューの所望のページを表示させ、そのページにおける所望のボタンをセレクテッド状態に設定させることを再生装置に命じるコマンドである。かかるナビゲーションコマンドを用いることにより、オーサリング担当者は、ページ切り換えを簡易に記述することができる。
以上がボタン情報の内部構成である。図17に示すボタン0-A〜ボタン0-Dの状態遷移を実行する場合のボタン情報の記述例を図18に示す。図17における矢印hh1,hh2は、button info(1)のneighbor_info()による状態遷移を象徴的に表現している。button info(1)のneighbor_info()におけるlower_button_id_refは、ボタン0-Cに設定されているため、ボタン0-Aがセレクテッド状態になっている状態で、MOVEDownキー押下のUOが発生すれば(図17のup1)、ボタン0-Cがセレクテッド状態になる(図17のsj1)。button info(1)のneighbor_info()におけるright_button_id_refは、ボタン0-Bに設定されているため、ボタン0-Aがセレクテッド状態になっている状態で、MOVERightキー押下のUOが発生すれば(図17のup2)、ボタン0-Bがセレクテッド状態になる(図17のsj2)。
図17における矢印hh3は、button info(2)のneighbor_info()による状態遷移の制御を示す。button info(2)のneighbor_info()におけるupper_button_id_refは、ボタン0-Aに設定されているため、ボタン0-Cがセレクテッド状態になっている状態で、MOVEUpキー押下のUOが発生すれば(up3)、ボタン0-Aがセレクテッド状態に戻る(sj3)。続いてボタン0-A〜ボタン0-Dの絵柄について説明する。図18のICSを含むDSnは、図19のような絵柄を示すODS11〜19を含んでいるものとする。ICSにおけるbutton情報(0)のnormal_state_info()におけるnormal_start_object_id_ref,normal_end_object_id_refは、ODS11〜13を指定しているため、ボタン0-Aのノーマル状態は、ODS11〜13によるアニメーションで表現される。またbutton情報(0)のselected_state_info()におけるselected_start_object_id_ref,end_object_id_selectedは、ODS14〜16を指定しているため、ボタン0-Aのセレクテッド状態は、ODS14〜16で表現される。ユーザがこのボタン0-Aをセレクテッド状態にすることにより、ボタン0-Aの絵柄たる肖像は、ODS11〜13によるものから、ODS14〜16によるものへと変化する。ここでnormal_state_info()、selected_state_info()におけるnormal_repeat_flag,selected_repeat_flagを1にしておけば、ODS11〜13によるアニメーション、ODS14〜16によるアニメーションは、図中の「→(A)」,「(A)→」,「→(B)」,「(B)→」,に示すように、アニメーション表示は反復継続する。
アニメーション描画が可能な複数ODSが、ボタン0-A〜ボタン0-Dに割り当てられており、これらによる制御がICSに記述されていれば、ユーザ操作に併せてキャラクタの表情が変わるような、リアルなボタンの状態制御を実現することができる。
以上がボタン情報についての説明である。続いてEffect画像について説明する。図16においてIn_Effect及びOut_Effectは、何れもEffect_Sequenceにより定義される。図20は、Effect_Sequenceの内部構成を示す図である。Effect_Sequenceは、図20の左半分に示す通りであり、number_of_windows個のウィンドゥ情報(ウィンドゥ情報(0)(1)(2)・・・(number_of_windows-1))と、number_of_effects個のeffect情報(Effect情報(0)(1)(2)・・・(number_of_effects-1))とからなる。
ここでEffect画像は、一定間隔置きの画面構成(Display Composition)を繰り返すことで再生される。Effect情報は、個々の画面構成を規定する情報であり、破線ec1は、Effect情報の内部構成をクローズアップして示す。本矢印に示すように、Effect情報は、上記一定間隔を示す『effect_duration』と、その画面構成に用いられるパレットデータを示す『pallet_id_ref』と、画面構成の詳細を規定する『composition_object(0)(1)(2)・・・・(number_of_Composition_Object-1)』とからなる。
ウィンドゥ情報は、グラフィックスプレーンでの画面構成に用いられる領域を規定するものである。図中の引き出し線wc1はウィンドゥ情報の構成をクローズアップしている。この引き出し線に示すようにwindow情報は、グラフィックスプレーンにおいてウィンドゥを一意に識別する『window_id』と、グラフィックスプレーンにおける左上画素の水平位置を示す『window_horizontal_position』と、グラフィックスプレーンにおける左上画素の垂直位置を示す『window_vertical_position』と、グラフィックスプレーンにおけるウィンドゥの横幅を示す『window_width』と、グラフィックスプレーンにおける縦幅を示す『window_height』とを用いて表現される。
window_horizontal_position、window_vertical_position、window_width、window_heightがとりうる値について説明する。これらが想定している座標系は、グラフィックスプレーンの内部領域であり、このグラフィックスプレーンは、縦:video_height、横:video_widthという二次元状の大きさをもつ。
window_horizontal_positionは、グラフィックスプレーンにおける左上画素の水平アドレスであるので、1〜video_widthの値をとり、window_vertical_positionは、グラフィックスプレーンにおける左上画素の垂直アドレスであるので1〜video_heightの値をとる。
window_widthは、グラフィックスプレーンにおけるウィンドゥの横幅であるので、1〜video_width-window_horizontal_positionの値をとり、window_heightは、グラフィックスプレーンにおける縦幅であるので1〜video_height-window_vertical_positionの値をとる。
window情報のwindow_horizontal_position、window_vertical_position、window_width、window_heightにより、グラフィックスプレーンの何処にウィンドゥを配置するか、ウィンドゥの大きさをどれだけにするかを規定することができる。
フレームワークを実現するにあたってのウィンドゥサイズの制約について説明する。フレームワークとは、毎秒24枚という頻度で、グラフィクスの画面構成を行うことをいう。この毎秒24枚という頻度は、ビデオストリームの再生時における、一秒当たりのピクチャの表示枚数をいう。かかるフレームワークの実現によりグラフィクスオブジェクトは、動画像と緻密に同期することになる。さて、フレームワークの実現には、ウィンドゥクリアと、ウィンドゥ再描画とをビデオフレームの時間間隔で実現する必要がある。この際、オブジェクトバッファと、グラフィックスプレーンとの間の転送レートはどれだけ必要であろうか。
ここでウィンドゥをどれだけの大きさとするかの制限について検討する。オブジェクトバッファ−グラフィックスプレーン間の転送レートをRcとすると、ワーストケースでは、この転送レートRcでウィンドゥクリアと、ウィンドゥ再描画とを行わねばならない。そうするとウィンドゥクリア、ウィンドゥ再描画のそれぞれをRcの半分の転送レート(Rc/2)で実現せねばならない。
そうするとフレームワークの実現には、
ウィンドゥサイズ×フレームレート≒Rc/2

を満たす必要がある。このフレームレートが24であるなら、

Rcは、ウィンドゥサイズ×2×24になる。
ここでグラフィックスプレーンの総画素数は1920×1080であり、一画素当たりのインデックスのビット長を8ビットとすると、グラフィックスプレーンの総容量は2Mバイト(≒1920×1080×8)になる。
Rcが128Mbpsであり、ウィンドゥサイズの大きさが、グラフィックスプレーンの大きさの1/Aであるすると以下の関係が成り立つ。

128,000,000=1920×1080×1/A×8×2×24

1/A≒0.16(=128,000,000/(1920×1080×8×2×24))

この16%という大きさであれば、128Mbpsという転送レートでEffect映像の表示を行っている限り、如何なる表示効果を実現する場合であっても、動画との同期を維持することができる。
仮に、ウィンドゥクリア及び再描画のレートたるeffect_durationがビデオフレームのフレームレートの1/2,1/4でよいなら、Rcがたとえ同じであってもウィンドゥサイズをグラフィックスプレーン全体の32%,64%にすることができる。ウィンドゥサイズが大きければeffect_durationの間隔を長く、ウィンドゥサイズが小さければ、effect_durationの間隔を短くするという調整を可能とするデータ構造が、Effect_Sequenceの特徴である。以上がwindowの大きさについての説明である。続いて、windowの位置について説明する。上述したように、Epochにおいてウィンドゥの位置は一貫している。
Epochにおいてウィンドゥの位置を一貫させておくのは以下の理由による。ウィンドゥの位置を変えれば、グラフィックスプレーンに対する書込先アドレスを変えねばならず、オーバーヘッドが発生するので、かかるオーバーヘッドによりオブジェクトバッファからグラフィックスプレーンへの転送レートが低下するからである。
ウィンドゥには、グラフィクスオブジェクトの個数が制限されている。この個数制限は、デコードされたグラフィクスオブジェクトの転送にあたってのオーバーヘッドを低減する目的で設けられている。ここでのオーバーヘッドは、グラフィクスオブジェクトのエッジ部分のアドレスを設定する際に発生する。そうすれば、エッジの部分が多く存在する程、オーバーヘッドの発生回数が多くなる。
ウィンドゥにおけるグラフィクスオブジェクトの数に制限がないと、グラフィクス転送にあたって発生するオーバーヘッド数が未知数になり、転送負荷の増減が激しくなる。一方、ウィンドゥにおけるグラフィクスの個数が2つまでであると、最悪4つのオーバーヘッドが発生すると見込んで転送レートを設定すればよいので、ミニマムスタンダードたる転送レートを数値化し易くなる。
一方Effect情報におけるeffect_durationは、ウィンドゥの大きさに基づいて定められる。ここで、effect_durationの設定をどのように行うかという設定の考え方について説明する。図21(a)は、effect_durationの設定をどのように行うかという設定の概念を示す図である。j+1回目の画面構成は、j回目の画面構成後、複数ビデオフレームが経過した際に行われるものとする。この場合、このビデオフレームの経過数がeffect_durationを意味する。effect_durationを算出するにあたっては、画面構成に必要な総書込サイズを求めねばならない。ここでEffect_Sequenceにおけるj回目、j+1回目の画面構成において、number_of_windows個のウィンドゥが存在するものとする。そうするとj回目の画面構成における書込時の総サイズは、}記号brに示すように、window(0)からwindow(number_of_windows-1)までのウィンドゥサイズの総和になる。
ここでj回目の画面構成において、window(0)からwindow(number_of_window-1)までのwindowが存在すると、これらwindowのデータサイズの総和を再生装置の転送レート(128Mbps)で割り、更にPTSの時間精度(90KHz)で表現するために90KHzを乗ずる。こうして求められた値が、Effect_Sequence(j)を描画するための、描画期間になる。図21(b)は、effect_durationを算出するための算出式を示す。
尚、本明細書において演算子”ceil()”は、小数点以下切り上げの割算を示す。

図22は、In_Effectの具体例を示す図である。この具体例で想定しているIn_Effectは、登場人物の手のひらで閃光が瞬き、その閃光からメニューが起き上がってくるという表示効果である。このIn_Effectにおいてグラフィクスの大きさが最も大きくなるのは、メニュー全体が出現するタイミング(effect(4))であるから、このeffect(4)の大きさを基準に、ウィンドゥのwindow_width、window_heightを定める。こうして定められたウィンドゥの大きさが、大凡のところ、グラフィックスプレーン全体の50%になったとする。上述した約16%という大きさに比べれば、ウィンドゥの大きさは3倍近くなっているので、effect_durationを長く設定することにより、128Mbpsでのアップデートを可能にする。effect(0)、effect(1)、effect(2)は長く設定されたeffect_durationである。この設定のように、ビデオフレーム3回につき1回、画面構成を行うとすれば、表示の途切れのないIn_Effectを実行することができる。同様の調整は、Out_effectでも可能である。図23は、window_width、window_height、effect_durationの調整により再生されるOut_effectを示す図である。
以上のように本実施形態によれば、ウィンドゥ情報により画面上の描画領域が特定され、Effect情報においてその描画領域のアップデート間隔が示されているので、描画領域を大きく設定するときはアップデート間隔を長く設定し、描画領域を小さく設定するときは、アップデート間隔を短く設定するという調整が可能になる。かかる調整により、一定の転送レートでのグラフィクスデータ転送が再生装置側でなされれば、途切れのない再生を保証することができる。
(第3実施形態)
第3実施形態は、Scroll,Wipe-In/Out,Cut-In/Outといった表示効果を、Effect画像として再生するための改良に関する。かかる表示効果実現のための構成は、図20に示したComposition_Objectにある。図24は、任意のcomposition_object(i)の内部構成をクローズアップした図である。この図24に示すように、composition_object(i)は、『object_id_ref』、『window_id_ref』、『object_cropped_flag』、『composition_object_horizontal_position』、『composition_object_vertical_position』、『cropping_rectangle情報(1)(2)・・・・・(n)』からなる。
『object_id_ref』は、グラフィクスオブジェクト識別子(object_id)の参照値である。この参照値は、composition_object(i)に対応する画面構成を実現するにあたって、用いるべきグラフィクスオブジェクトの識別子を意味する。
『window_id_ref』は、ウィンドゥ識別子(window_id)の参照値である。この参照値は、composition_object(i)に対応する画面構成を実現するにあたって、どのウィンドゥに、グラフィクスオブジェクトを表示させるべきかを示す。
『object_cropped_flag』は、オブジェクトバッファにおいてクロップされたグラフィクスオブジェクトを表示するか、グラフィクスオブジェクトを非表示とするかを切り換えるフラグである。”1”と設定された場合、オブジェクトバッファにおいてクロップされたグラフィクスオブジェクトが表示され、”0”と設定された場合、グラフィクスオブジェクトは非表示となる。
『composition_object_horizontal_position』は、グラフィックスプレーンにおけるグラフィクスオブジェクトの左上画素の水平位置を示す。
『composition_object_vertical_position』は、グラフィックスプレーンにおける左上画素の垂直位置を示す。
『cropping_rectangle』は、『object_cropped_flag』が1に設定されている場合に有効となる情報要素である。破線wd2は、cropping_rectangleの内部構成をクローズアップしている。この破線に示すようにcropping_rectangleは、『object_cropping_horizontal_position』、『object_cropping_vertical_position』、『object_cropping_width』、『object_cropping_height』からなる。
『object_cropping_horizontal_position』は、グラフィックスプレーンにおけるクロップ矩形の左上画素の水平位置を示す。クロップ矩形は、グラフィクスオブジェクトの一部を切り出すための枠である。
『object_cropping_vertical_position』は、グラフィックスプレーンにおけるクロップ矩形の左上画素の垂直位置を示す。
『object_cropping_width』は、グラフィックスプレーンにおけるクロップ矩形の横幅を示す。
『object_cropping_height』は、グラフィックスプレーンにおけるクロップ矩形の縦幅を示す。
以上がcomposition_objectのデータ構造である。続いてcomposition_objectの具体的な記述について説明する。
図25は、右ScrollによりIn_Effectを実現するという具体例を示す図である。この具体例は、言語設定メニューを右端から徐々に引き出してゆくというものである。かかる表示効果を実現するため、時点t0,t1,t2,t3には、4つのComposition_Object(0)〜(3)を配置しておく。そしてこれらのComposition_Objectを以下のように定義する。
次に個々のcomposition_objectをどのように記述するかについて説明する。4つのcomposition_object(0)〜(3)の記述例を図26〜図29に示す。図26は、composition_object(0)の記述例を示す図である。
図26において、window情報のwindow_horizontal_position、window_vertical_positionは、グラフィックスプレーンにおけるウィンドゥの左上座標LP0を、window_width,window_heightは、ウィンドゥの表示枠の横幅、縦幅を示す。
図26におけるcomposition_object(0)のobject_cropping_horizontal_position,object_cropping_vertical_positionは、オブジェクトバッファにおけるグラフィクスオブジェクトの左上座標を原点とした座標系においてクロップ範囲の基準ST1を示している。そして基準点からobject_cropping_width、object_cropping_heightに示される範囲(図中の太枠部分)がクロップ範囲になる。クロップされたグラフィクスオブジェクトは、グラフィックスプレーンの座標系においてcomposition_object_horizontal_position,composition_object_vertical_positionを基準点(左上)とした範囲に配置される。こうすることにより、言語選択メニューの右端がグラフィックスプレーンにおけるウィンドゥ内に書き込まれる。これにより言語選択メニューの右端は動画像と合成され表示される。
図27、図28、図29は、composition_object(1)(2)(3)の記述例を示す図である。本図におけるwindow情報の記述は、図26と同じなので説明を省略する。composition_objectの記述は、図26と異なる。図27におけるcomposition_object(1)のobject_cropping_horizontal_position,object_cropping_vertical_position,は、オブジェクトバッファ上の言語選択メニューのうち、右半分の左上座標を示し、object_cropping_height,object_cropping_widthは、右半分の横幅、縦幅を示す。また図28におけるcomposition_object(2)のobject_cropping_horizontal_position,object_cropping_vertical_positionは、オブジェクトバッファ上の言語選択メニューのうち、右端から3/4の部分の左上座標を示し、object_cropping_height,object_cropping_widthは、3/4の部分の横幅、縦幅を示す。図29におけるcomposition_object(3)のobject_cropping_horizontal_position,object_cropping_vertical_position,は、オブジェクトバッファ上の言語選択メニュー全体の左上座標を示し、object_cropping_height,object_cropping_widthは、全体の横幅、縦幅を示す。これら図27、図28、図29に示すような書き込みがなされることにより、右半分、3/4、全体がグラフィックスプレーンにおけるウィンドゥ内に書き込まれる。これにより言語選択メニューが動画像と合成され表示される。
以上のように本実施形態によれば、オブジェクトバッファ上のグラフィクスオブジェクトを徐々に画面に出現させたり、徐々に画面から消すという処理を、Composition_Objectの記述次第で簡単に実現することができる。
(第4実施形態)
本実施形態は、Display SetにおけるODSの順序を最適化する改良に関する。Display Setに属するODSは、In_Effect・Out_Effectや、ボタンの1つの状態を表すようInteractive_compositionにて指定されていることは、上述した通りである。ODSは、こうした指定、つまり、In_Effect・Out_Effectのどれを表すか、ボタンのどの状態を示すかという指定に応じて、Display Setにおける順序が決められる。
詳しくいうとDisplay SetにおいてODSは、Page[0]のIn_Effectを表現するもの(1)、ノーマル状態を表すもの(2)、セレクテッド状態を表すもの(3)、アクティブ状態を示すもの(4)、Page[0]のOut_Effect及びPage[1]以降のIn_Effect・Out_Effectを表現するもの(5)、というように、同じ表示対象を表すもの同士がグループ化される。In_Effectを表すODSのグループをIn_Effectグループという。またボタンの1つの状態を表すグループをbutton-stateグループという。Page[0]のOut_Effect及びPage[1]以降のIn_Effect・Out_Effectを実現するものをRemainグループという。
そしてこれらのグループを、In_Effect→ノーマル状態→セレクテッド状態→アクティブ状態→Remainというように並べる。このようにどの表示客体を表すかに応じて、ODSの順序を決めるというのが、Display SetにおけるODSの順序である。
続いてDSnにおけるODSの配列について説明する。図30は、DSnにおけるODS配列を示す図である。
本図においてODS1〜gは、Page[0]のIn_effectを構成するODSの集合である(in-effect group)。
ODSg+1〜hは、ボタンのノーマル状態を描くODSの集合(ODSs for Normal state)である。
ODSh+1〜iは、ボタンのセレクテッド状態を描くODSの集合(ODSs for Selected state)である。
ODSi+1〜jは、ボタンのアクティブ状態を描くODSの集合(ODSs for Actioned state)である。
ODSj+1〜kは、Page[0]のOut_Effect及びPage[1]以降のIn_Effect・Out_Effectを表現するODSの集合である。
これらグループの順序は、In_Effect→ノーマル状態→セレクテッド状態→アクティブ状態→その他というように並べられている。これはODSのうち、対話画面の最初の表示を構成するものを早く読み出させ、アップデート後の画面表示を構成するものの読み出しを後にするという配慮である。
続いて複数のボタン状態からの多重参照されるODSの順序について説明する。多重参照とは、あるODSについてのobject_idがInteractive_compositionにおける2以上のnormal_state_info,selected_state_info,activated_state_infoにより指定されていることをいう。かかる多重参照を行えば、あるボタンのノーマル状態を描くグラフィクスオブジェクトを用いて、他のボタンのセレクテッド状態を描くことができ、グラフィクスオブジェクトの絵柄を共用することができる。かかる共用により、ODSの数を少なくすることができる。多重参照されるODSについては、どのbutton-stateグループに属するかが問題になる。
つまりあるボタンのノーマル状態と、別のボタンのセレクテッド状態とが1つのODSで描かれている場合、このODSは、ノーマル状態に対応するbutton-stateグループに属するか、セレクテッド状態に対応するbutton-stateグループに属するかが問題となる。
この場合ODSは複数状態のうち、最も早く出現する状態に対応するbutton-stateグループだけ1回のみ配置される。
あるODSがノーマル状態、セレクテッド状態で多重参照されるなら、ノーマル状態に対応するbutton-stateグループ(N-ODSs)にこのODSは配置され、セレクテッド状態に対応するbutton-stateグループ(S-ODSs)には配置されない。また別のODSがセレクテッド状態、アクティブ状態で多重参照されるなら、セレクテッド状態に対応するbutton-stateグループ(S-ODSs)にこのODSは配置され、アクティブ状態に対応するbutton-stateグループ(A-ODSs)には配置されない。このように多重参照されるODSは、最も早く出現する状態に対応するbutton-stateグループ内に一回だけ配置される。
これはEffect画像を構成するODSでも同様であり、Page[0]のIn_Effectと、Page[0]のOut_Effectとで同じ絵柄のグラフィクスオブジェクトが共用されている場合、Page[0]のIn_Effectと、Page[1]以降のIn_Effect、Out_Effectとで同じ絵柄のグラフィクスオブジェクトが共用されている場合、そのグラフィクスオブジェクトに対応するODSは、In_Effectグループにだけ1回配置される。以上が多重参照されるODSの順序についての説明である。
以上の多重参照がありうるから、上述した集合の全てがDSn内に存在する訳ではない。多重参照故に、Selected StateODSグループが存在しないものもある。またIn_Effectグループがないものもある。これは多重参照がありうるとの理由の他に、そもそも、In_Effectを施すがどうかは対話画面の必須事項ではないかである。
S-ODSsにおける、ODSの順序について説明する。S-ODSsにおいて、どのODSが先頭に位置するかは、デフォルトセレクテッドボタンが静的に確定しているか、動的であるかによって違う。確定したデフォルトセレクテッドボタンとは、Interactive_compositionにおけるdefault_selected_button_id_refに00以外の有効な値が設定され、この値で指示されるボタンのことをいう。default_selected_button_id_refが有効な値を示しており、尚且つデフォルトセレクテッドボタンを表すODSが、N-ODSsに無い場合は、デフォルトセレクテッドボタンを表すODSが、S-ODSsの先頭に配置される。
default_selected_button_id_refが値00を示している場合、デフォルトでセレクテッド状態に設定されるボタンは、再生装置側の状態によって動的に変化する。
値00を示すよう、default_selected_button_id_refを設定しておくのは、例えば、Display Setが多重されているAVClipが、複数再生経路の合流点になっているようなケースに対応するためである。合流点においては、どの再生経路を経由するかによって、セレクテッド状態とすべきボタンを変化させたいから、特定のODSをbutton-stateグループの先頭に配置するというような配慮は行わない。
図31は、default_selected_button_id_refが”=00”である場合と、”=ボタンB”である場合とでS-ODSsにおいてODSの並びがどのように変わるかを示す図である。本図において破線ss1は、default_selected_button_id_refがボタンBのbutton_idを示している場合に、S-ODSsにおけるODSの配列がどのようになるかを示しており、破線ss2は、default_selected_button_id_refが=0を示している場合に、S-ODSsにおけるODSの配列がどのようになるかを示している。この図の表記からもわかるように、default_selected_button_id_refがボタンBを示している場合、ボタンBのセレクテッド状態を示すODS(ODSs for ButtonB)がS-ODSsの先頭に配され、その他のボタンを示すODS(ODS for ButtonAs,Cs,Ds)は、後回しにされている。一方、default_selected_button_id_refが”=00”である場合、ボタン0-Aのセレクテッド状態を表すODSAsが先頭に配置されている。このようにdefault_selected_button_id_refが有効かどうかは、S-ODSs内の順序に大きな変動をもたらす。
以上のように本実施形態によれば、出現する順に、ODSを並べておくので、多くのグラフィクスの表示を伴った対話表示を迅速に行うことができる。
(第5実施形態)
第1実施形態では、Display Setを、AVClipの再生時間軸上にどのように割り当てられるかについて説明した。第5実施形態では、個々のPTS,DTSをどのように設定するかについて説明する。
先ず、ODSに付加されたDTS、PTSにより、どのような同期制御がなされるかについて説明する。
DTSは、ODSのデコードを開始すべき時間を90KHzの時間精度で示しており、PTSはデコード終了時刻を示す。
ODSのデコードは、瞬時には完了せず、時間的な長さをもっている。このデコード期間の開始点・終了点を明らかにしたいとの要望から、ODSについてのDTS、PTSはデコード開始時刻、デコード終了時刻を示している。
PTSの値は終了時刻であるので、PTSに示される時刻までにODSjのデコードがなされて、非圧縮状態のグラフィックスオブジェクトが、再生装置上のオブジェクトバッファに得られなければならない。
Display Setnに属する任意のODSjのデコード開始時刻は、90KHzの時間精度でDTS(DSn[ODS])に示されるので、これにデコードを要する最長時間を加えた時刻が、Display SetのODSjのデコード終了保証時刻になる。
ODSjの伸長後のサイズを”SIZE(DSn[ODSj])”、ODSのデコードレートを”Rd”とすると、デコードに要する最長時間(秒)は、”ceil(SIZE(DSn[ODSj]))”になる。

この最長時間を90KHzの時間精度に変換し、ODSjのDTSに加算することにより、PTSで示されるべきデコード終了時刻(90KHz)は算出される。

DSnに属するODSjのPTSを、数式で表すと、以下の式のようになる。

PTS(DS[ODSj])=DTS(DSn[ODSj])+90,000×ceil(SIZE(DSn[ODSj])/Rd)

そして互いに隣接する2つのODS(ODSj,ODSj+1)との間では、以下の関係を満たす必要がある。

PTS(DSn[ODSj])≦DTS(DSn[ODSj+1])

以上がODSについてのPTS,DTSの説明である。次にICSの、PTS値について説明する。ICSは、DSnにおける最初のDSn[ODS1]のデコード開始時点(DTS(DSn[ODS1]))以前、及び、DSnにおける最初のDSn[PDS1]が有効になる時点(PTS(DSn[PDS1]))以前に、Compositionバッファにロードされねばならない。よって以下の式の関係を満たす値に、設定されねばならない。
DTS(DSn[ICS])≦DTS(DSn[ODS1])
DTS(DSn[ICS])≦PTS(DSn[PDS1])
続いてPTS(DSn[ICS])について説明する。PTS(DSn[ICS])は、以下の式を満たすように設定される。
PTS(DSn[ICS])≧PTS(DSn[ICS])+DECODEDURATION+TRANSFERDURATION
DECODEDURATIONは、DSn(ICS)の最初の表示を構成するグラフィクスデータのデコードに要する期間を示す。かかるデコードの開始は、もっとも早くてDTS(ICS)に等しい。一方、DSn(ICS)の最初の表示を構成するグラフィクスデータのうち、デコードが最後に終了するもののPTSを、LASTODSPTSとすると、DECODEDURATIONは、LASTODSPTS(DSn)−DTS(DSn[ICS])になる。
LASTODSPTSは、default_selected_button_id_refの設定及びDisplay SetにおけるODSの配列により変わってくる。図32(a)(b)、図33(a)〜(c)は、ODSの配列において、どのODSのDTSを、LASTODSPTSに設定するかという設定パターンを示す。
図32(a)は、デフォルトセレクテッドボタンが静的に確定している場合を示す。ここで静的確定とは、default_selected_button_id_refが非00になっていることをいう。この場合LASTODSPTSは、黒枠で強調しているように、Selected StateODSグループの最初に位置するODSh+1のPTS(DSn[ODSh+1])になる。
図32(b)は、デフォルトセレクテッドボタンが動的に変化する場合を示す。動的変化とは、default_selected_button_id_refが00に設定されていることを意味する。この場合、LASTODSPTSは、黒枠で強調しているように、Selected StateODSグループの最後に位置するODSiのPTS(DSn[ODSi])になる。
図33(a)は、セレクテッド状態に属するODSが存在しない場合を示す。この場合LASTODSPTSは、黒枠で強調しているように、Normal StateODSグループの最後に位置するODShのPTS(DSn[ODSh])になる。
図33(b)は、Normal StateODSグループに属するODSが存在しない場合を示す。この場合LASTODSPTSは、黒枠で強調しているように、In_effsetODSグループの最後に位置するODSgのPTS(DSn[ODSg])になる。
図33(c)は、Display SetにおいてODSが存在しない場合を示す。この場合、LASTODSPTSは、黒枠で強調しているようにDTS(DSn[ICS])になる。
これはDSnがEpoch Start以外である場合であり、DSn[ICS]がEpoch Startであれば、事情は変わってくる。
Epoch Startでは、グラフィックスプレーン全体をクリアする場合があり、このクリア期間は、LASTODSPTS(DSn)-DTS(DSn[ICS])を上回る場合がある。BD-ROMのデコーダモデルではグラフィクスデータのデコードを行うデコード主体(グラフィクスプロセッサ)と、グラフィックスプレーンのクリアを行う制御主体とが別々に存在しており、両者はグラフィクスデータのデコードと、グラフィックスプレーンのクリアとを同時実行している。最初の表示を構成するグラフィクスデータのデコードが完了したとしても画面クリアが完了しない限り、グラフィクスデータがグラフィックスプレーンに書き込むことはできないから、DECODEDURATIONは、クリア期間に設定せねばならない。ここでグラフィックスプレーンの横幅をvideo_width、縦幅をvideo_heightとし、オブジェクトバッファ−グラフィックスプレーン間の転送レートを128Mbpsにすると、グラフィックスプレーン全体をクリアするためには、8×video_width×video_heightという大きさを再生装置におけるオブジェクトバッファ→グラフィックスプレーン間の転送レート(128Mbps)で上書きする必要がある。この上書きに要する期間を、90KHzの時間精度で表現すれば、グラフィックスプレーンのクリアに要する期間(PLANECLEARTIMEという)は、下記の数式により表現される。
ceil((90000×8×DSn[ICS].video_width×DSn[ICS].video_height)/128,000,000)
図34(a)は、LASTODSPTS(DSn)-DTS(DSn[ICS])及びPLANECLEARTIMEからDECODEDURATIONを導き出すためのアルゴリズムを示す。本図のアルゴリズムは、LASTODSPTS(DSn)-DTS(DSn[ICS])及びPLANECLEARTIMEのうち、大きいものを定める。
本図を参照すると、DSn(ICS)のComposition_StateがEpoch Startでなければ(if(DSn(ICS).Composition_State==Epoch Start) else)、LASTODSPTS(DSn)-DTS(DSn[ICS])がDECODEDURATIONとして導出され(return(LASTODSPTS(DSn)-DTS(DSn[ICS])))、DSn(ICS)のComposition_StateがEpoch Startであれば(if(DSn(ICS).Composition_State==Epoch Start))、LASTODSPTS(DSn)-DTS(DSn[ICS])、PLANECLEARTIMEのうち、長い方がDECODEDURATIONとして算出されることがわかる(return(max(LASTODSPTS(DSn)-DTS(DSn[ICS]))))。
図34(b)(c)は、PLANECLEARTIME、LASTODSPTS(DSn)-DTS(DSn[ICS])の長短に応じたDECODEDURATIONの設定例を示す。PLANECLEARTIMEがLASTODSPTS(DSn)-DTS(DSn[ICS])より長い場合、図34(b)のようにPLANECLEARTIMEがDECODEDURATIONになり、PLANECLEARTIMEがLASTODSPTS(DSn)-DTS(DSn[ICS])より短い場合、図34(c)のようにLASTODSPTS(DSn)-DTS(DSn[ICS])がDECODEDURATIONになる。
TRANSFERDURATIONは、最初の表示を構成するグラフィクスデータを、オブジェクトバッファからグラフィックスプレーンに転送するのに要する期間を示す。Display Setにおける最初の表示は、In_Effectが存在するものと、存在しないもの、デフォルトセレクテッドボタンが静的に定まるものと、動的に変化するものとでそれぞれ異なる。最初の表示が、これらのうちどれであるかによりTRANSFERDURATIONは変化する。最初の表示がIn_Effectであるなら、In_Effectを構成する非圧縮グラフィクスの転送期間がTRANSFERDURATIONになる。
ここでDSn[ICS]のPage[0]のIn_Effectは、number_of_window個のwindowにおいて描画されるものとする。そうすると、In_Effectの最初の表示を実現するためのグラフィクスデータは、window(0)からwindow(number_of_window)までのwindow領域の総和になるので、この総和を再生装置の転送レート(128Mbps)で割り、更にPTSの時間精度(90KHz)で表現するために90KHzを乗ずれば、In_Effectの最初の表示を実現するための転送期間EFFECTTDを算出することができる。図35(a)は、EFFECTTD(DSn)の算出式を示す。
一方、In_Effectが一切存在しない場合、DSn[ICS]の最初の表示はMulti-PageメニューのPage[0]の表示になる。デフォルトセレクテッドボタンが静的に確定している場合、1つのボタンのセレクテッド状態を表す非圧縮グラフィクスと、残りのボタンのノーマル状態を表す非圧縮グラフィクスとをオブジェクトバッファからグラフィックスプレーンに転送すれば、Multi-PageメニューのPage[0]の表示は完成することになる。
ここでDSn(ICS)におけるMulti-PageメニューのPage[0]において、number_of_Button個のボタンが存在するとすると、DSn(ICS).Page[0].Button(0)からDSn(ICS).Page[0].Button(number_of_Button-1)までのボタンのノーマル状態を構成するグラフィクスデータのサイズの総和を求め、この総和にPage[0]のデフォルトセレクテッドボタンのセレクテッド状態を構成するグラフィクスデータのサイズSBSIZE(DSn,DSn[ICS].PAGE[0].default_selected_button_id_ref)を加算し、代わりにPage[0]のデフォルトセレクテッドボタンのノーマル状態を構成するグラフィクスデータのサイズNBSIZE(DSn,DSn[ICS].PAGE[0].default_selected_button_id_ref)を減算すれば、最初の表示に必要なデータサイズが求まる。
このデータサイズを再生装置の転送レート(128Mbps)で割り、更にPTSの時間精度(90KHz)で表現するために90KHzを乗ずれば、Page[0]の最初の表示を実現するための転送期間を算出することができる。図35(b)は、In_Effectが存在せず、デフォルトセレクテッドボタンが静的に確定している場合の、PAGEDEFAULTTD(DSn)の算出式を示す図である。
デフォルトセレクテッドボタンが動的に変化する場合、Page[0]におけるどのボタンがセレクテッド状態になるかは不明なので、図35(b)の数式は適用できない。この場合、ワーストケースを想定してTRANSFERDURATIONを算出せねばならない。ここでのワーストケースとは、DSn(ICS).Page[0]において最もサイズが大きいものがデフォルトセレクテッドボタンになるケースである。DSn(ICS).Page[0]に属するボタンのうち、最もサイズが大きいものをLRG{button:button∈DSn[ICS].PAGE[0].Button}とする。
そうすると、上述したワーストケースにおいて、転送に必要となるデータサイズ(最大データサイズ)は、Page[0].Button(0)からPage[0].Button(number_of_Button-1)までの総和を求め、上述したLRG{button:button∈DSn[ICS].PAGE[0].Button}のサイズBSIZE(DSn,LRG{button:button∈DSn[ICS].PAGE[0].Button})を加算し、代わりにLRG{button:button∈DSn[ICS].PAGE[0].Button}のノーマル状態を表すグラフィクスのデータサイズNBSIZE(DSn,LRG{button:button∈DSn[ICS].PAGE[0].Button})を差し引いたサイズになる。
これがワーストケースにおける最大データサイズになるから、このデータサイズを再生装置の転送レート(128Mbps)で割り、更にPTSの時間精度(90KHz)で表現するために90KHzを乗ずれば、Multi-Pageメニューの最初の表示を実現するための転送期間を算出することができる。図35(c)は、In_Effectが存在せず、デフォルトセレクテッドボタンが動的に変化する場合の、PAGENODEFAULTTD(DSn)の算出式を示す図である。
図36は、以上のようにして算出されたEFFECTTD、PAGEDEFAULTTD、PAGENODEFAULTTDから1つをえらんでTRANSFERDURATIONにするというアルゴリズムを示す。本図に示すようにPage[0].In_effectの数が0でなければ(if(DSn[ICS].PAGE[0].IN_EFFECTS.number_of_effects != 0))、EFFECTTDがTRANSFERDURATIONになる(return EFFECTTD(DSn))。Page[0].In_effectの数が0であり、且つdefault_selected_button_id_refが0xFFFである場合(DSn[ICS.PAGE[0].Default_selected_button_id_ref==0xFFFF])、PAGEDEFAULTTDがTRANSFERDURATIONになり(return PAGENODEFAULTTD(DSn))、default_selected_button_id_refが0xFFF以外である場合、PAGEDEFAULTTDがTRANSFERDURATIONになる(return PAGEDEFAULTTD(DSn))。
以上のように本実施形態によれば、ODSのデータサイズに従った最適な値を、ICSのDTS、PTSに設定するので、時間的遅延のないスムーズな対話制御を実現することができる。
(第6実施形態)
第6実施形態は、本発明に係る再生装置の実施形態であり、第1実施形態〜第5実施形態に示したBD-ROMを再生する再生装置を開示するものである。図37は、本発明に係る再生装置の内部構成を示す図である。第6実施形態に係る再生装置は、図37に示す内部構成に基づき、工業的に生産される。本発明に係る再生装置は、主としてシステムLSIと、ドライブ装置という2つのパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムLSIは、再生装置の機能を果たす様々な処理部を集積した集積回路である。
こうして生産される再生装置は、BDドライブ1、リードバッファ2、デマルチプレクサ(De-MUX)3、ビデオデコーダ4、ビデオプレーン5、P-Graphicsデコーダ6、Presentation Graphicsプレーン7、合成部8、I-Graphicsデコーダ9、Interactive Graphicsプレーン10、合成部11、オーディオデコーダ13、CLUT部14、CLUT部15、PSRセット16、システムクロック17、User_TimeOutタイマ18、Selection_TimeOutタイマ19、Composition_TimeOutタイマ20、Effect_durationタイマ21、操作受付部22、状態制御部23から構成される。
BD-ROMドライブ1は、BD-ROMのローディング/イジェクトを行い、BD-ROMに対するアクセスを実行する。
リードバッファ2は、FIFOメモリであり、BD-ROMから読み出されたTSパケットが先入れ先出し式に格納される。
デマルチプレクサ(De-MUX)3は、リードバッファ2からTSパケットを取り出して、このTSパケットを構成するTSパケットをPESパケットに変換する。そして変換により得られたPESパケットのうち、所定のstreamPIDをもつものをビデオデコーダ4、オーディオデコーダ13、P-Graphicsデコーダ6、I-Graphicsデコーダ9のどれかに出力する。
ビデオデコーダ4は、デマルチプレクサ3から出力された複数PESパケットを復号して非圧縮形式のピクチャを得てビデオプレーン5に書き込む。
ビデオプレーン5は、非圧縮形式のピクチャを格納しておくためのプレーンである。プレーンとは、再生装置において一画面分の画素データを格納しておくためのメモリ領域である。再生装置に複数のプレーンを設けておき、これらプレーンの格納内容を画素毎に加算して、映像出力を行えば、複数の映像内容を合成させた上で映像出力を行うことができる。ビデオプレーン5における解像度は1920×1080であり、このビデオプレーン5に格納されたピクチャデータは、16ビットのYUV値で表現された画素データにより構成される。
P-Graphicsデコーダ6は、BD-ROM、HDから読み出されたグラフィクスストリームをデコードして、非圧縮グラフィクスをPresentation Graphicsプレーン7に書き込む。グラフィクスストリームのデコードにより、字幕が画面上に現れることになる。
Presentation Graphicsプレーン7は、一画面分の領域をもったメモリであり、一画面分の非圧縮グラフィクスを格納することができる。本プレーンにおける解像度は1920×1080であり、Presentation Graphicsプレーン7中の非圧縮グラフィクスの各画素は8ビットのインデックスカラーで表現される。CLUT(Color Lookup Table)を用いてかかるインデックスカラーを変換することにより、Presentation Graphicsプレーン7に格納された非圧縮グラフィクスは、表示に供される。
合成部8は、非圧縮状態のピクチャデータ(i)を、Presentation Graphicsプレーン7の格納内容と合成する。
I-Graphicsデコーダ9は、BD-ROM又はHDから読み出されたIGストリームをデコードして、非圧縮グラフィクスをInteractive Graphicsプレーン10に書き込む。
Interactive Graphicsプレーン10は、I-Graphicsデコーダ9によるデコードで得られた非圧縮グラフィクスが書き込まれる。
合成部11は、Interactive Graphicsプレーン10の格納内容と、合成部8の出力である合成画像(非圧縮状態のピクチャデータと、Presentation Graphicsプレーン7の格納内容とを合成したもの)とを合成する。
オーディオデコーダ13は、デマルチプレクサ3から出力されたPESパケットを復号して、非圧縮形式のオーディオデータを出力する。
CLUT部14は、Presentation Graphicsプレーン7に格納された非圧縮グラフィクスにおけるインデックスカラーを、Y,Cr,Cb値に変換する。
CLUT部15は、Interactive Graphicsプレーン10に格納された非圧縮グラフィクスにおけるインデックスカラーを、Y,Cr,Cb値に変換する。
PSRセット16は、再生装置に内蔵されるレジスタであり、64個のPlayer Status Register(PSR)と、4096個のGeneral Purpose Register(GPR)とからなる。64個のPlayer Status Register(PSR)は、それぞれ現在の再生時点等、再生装置における諸状態を示す。64個のPSRのうちPSR5〜PSR8は、現在の再生時点を表すものである。このうちPSR8は、0〜OxFFFFFFFFの値に設定されることで、45KHzの時間精度を用いてAVClip上の現在の再生時点(カレントPTM)を示す。PSR11は、Multi-PageメニューにおけるカレントページのPage_idを示し、PSR10は、そのカレントページにおいてセレクテッド状態になっているボタン(カレントボタン)を示す。
システムクロック17は、クロック信号を発生する。De-MUX3によるPESパケット変換は、このクロック信号に同期してなされる。
user_timeoutタイマ18は、PTS(DSn[ICS])の時点において、user_time_out_dutrationが設定されるタイマである。user_time_out_dutrationが設定されると本User_TimeOutタイマ18は、システムクロックの計時に伴い、カウントダウンを始める。タイマーによるカウントダウンは、ユーザ操作がなされる度にリセットされ、user_time_out_dutrationにより示される値に戻る。ユーザ操作が無い期間が長く続けば、カウント値はゼロに達し、User_TimeOutタイマ18はタイムアウトする。
Selection_TimeOutタイマ19は、PTS(DSn[ICS])の時点において、selection_time_out_ptsが設定されるタイマである。selection_time_out_ptsが設定されると本Selection_TimeOutタイマ19は、システムクロックの計時に伴い、カウントダウンを始める。Selection_TimeOutタイマ19によるカウントダウンは、ユーザ操作がなされる度にリセットされ、selection_time_out_ptsにより示される値に戻るが、ユーザ操作が無い期間が長く続けば、タイマーのカウント値はゼロに達し、Selection_TimeOutタイマ19はタイムアウトする。かかるタイムアウトにより、図9に示したValid Interactive Periodの経過を知ることができる。
Composition_TimeOutタイマ20は、DTS(DSn[ICS])の時点において、composition_time_out_ptsが設定されるタイマである。composition_time_out_ptsが設定されると本Composition_TimeOutタイマ20は、システムクロックの計時に伴い、カウントダウンを始める。Composition_TimeOutタイマ20によるカウントダウンは、ユーザ操作がなされもリセットされない。カウント値がゼロに達して、Composition_TimeOutタイマ20がタイムアウトすれば、Epoch Endの到来を知ることができる。
Effect_durationタイマ21は、DSnがEpoch Startである場合、DTS(DSn[ICS])の時点において、effect_durationが設定されるタイマである。effect_durationが設定されると本Effect_durationタイマ21は、システムクロックの計時に伴い、カウントダウンを始める。Effect_durationタイマ21によるカウントダウンは、ユーザ操作がなされもリセットされない。Effect_durationタイマ21のカウント値はゼロに達し、Effect_durationタイマ21がタイムアウトすれば、かかるタイムアウトにより、次のEffect映像の表示タイミングを知ることができる。
操作受付部22は、リモコンや再生装置のフロントパネルになされたキー操作を受け付け、ユーザ操作を示す情報(UO)をI-Graphicsデコーダ9に出力する。
状態制御部23は、I-Graphicsデコーダ9からの設定指示に従い、PSRに所望の値を設定する。I-Graphicsデコーダ9による設定指示には、設定すべき即値をI-Graphicsデコーダ9から受け取り、PSRセット16に設定するという直接指定のもの(i)、再生装置における状態変化や、ユーザからの変更要求があった旨の通知をI-Graphicsデコーダ9から受け取り、設定すべき値を状態制御部23が決定した上でPSRセット16に設定するという間接指定のもの(ii)がある。状態変化時における、設定値の決定手順は、Procedure when playback condition is changedと呼ばれる。変更要求時における設定値の決定処理手順は、Procedure when change is requestedと呼ばれる。PSR11(カレントページ)、PSR10(カレントボタン)を設定するための処理手順について説明する。
図38(a)は、PSR11についてのProcedure when playback condition is changedを示すフローチャートである。Procedure when playback condition is changedは、ICSにおける最初のページ情報をPSR11を設定するというものである(ステップS99)。
図38(b)は、PSR11についてのProcedure when change is requestedを示すフローチャートである。ここでユーザから要求されたページ番号をXとすると、Procedure when change is requestedは、XがValidであるか否かを判定し(ステップS100)、もしValidであれば、このXをPSR11に設定し(ステップS101)、もしInvalidであるなら、このPSR11を維持するというものである(ステップS102)。
以上がPSR11の状態遷移である。続いてPSR10のProcedure when playback condition is changed、Procedure when change is requestedについて説明する。
図39(a)は、PSR10のProcedure when playback condition is changedを示すフローチャートである。
ステップS111は、カレントページにおけるデフォルトセレクテッドボタンが有効であるか否かの判定である。もしステップS111がYesであるなら、default_selected_button_id_refに記述されたボタン番号をPSR10に設定する(ステップS112)。
ステップS113は、デフォルトセレクテッドボタンがInvalidである場合にPSR10が有効かどうかの判定を行う判定ステップである。もしPSR10がValidであるなら、PSR10の値を維持し(ステップS114)、PSR10がInvalidであるなら、カレントページの最初のボタン情報を特定するbutton_id_refをPSR10に設定する(ステップS115)。
図39(b)は、PSR10のProcedure when change is requestedを示すフローチャートである。ここでユーザから要求されたボタン番号をXとすると、本フローチャートにおけるステップS116は、XがValidなButton_idであるか否かを判定し、もしValidであるならXをPSR10に設定する(ステップS118)。もしXがInvalidであるなら、PSR10の設定値を維持する(ステップS117)。こうした処理により、PSR10、PSR11の内容は、常に保証されることになる。以上が再生装置の内部構成である。
<I-Graphicsデコーダ9の内部構成>
続いて図40を参照しながら、I-Graphicsデコーダ9の内部構成について説明する。図40に示すようにI-Graphicsデコーダ9は、Coded Data Buffer33、Stream Graphics Processor34、Object Buffer35、Composition Buffer36、Graphics Controller37から構成される。
Coded Data Buffer33は、ICS、PDS、ODSがDTS、PTSと共に一時的に格納されるバッファである。
Stream Graphics Processor34は、ODSをデコードして、デコードにより得られた非圧縮グラフィクスをObject Buffer35に書き込む。
Object Buffer35は、Stream Graphics Processor34のデコードにより得られた非圧縮のグラフィクスオブジェクト(図中の四角枠)が多数配置されるバッファである。
Composition Buffer36は、ICSが配置されるメモリであり、ここに格納されたICSにおける複数のページ情報及び各ページ情報内に存在するボタン情報を、Graphics Controller37に供する。
Graphics Controller37は、Composition Buffer36に配置されたICSを解読して、解読結果に基づき、画面構成を行う。この画面構成において各ボタンは、PSR11により指定されているもの(カレントページ情報)の各ボタン情報において、normal_state_infoのnormal_start_object_id_ref,normal_end_object_id_refにより指定されているグラフィクスオブジェクトをObject Buffer35から読み出し、Interactive Graphicsプレーン10に書き込むことで描画される。カレントページ情報内のボタン情報のうち、PSR10により指定されているものについては、selected_state_infoのselected_start_object_id_ref,selected_end_object_id_refにより指定されているグラフィクスをObject Buffer35から読み出し、Interactive Graphicsプレーン10に書き込むことで描画される。図中の矢印bg1,2,3,4は、以上のGraphics Controller37による描画を象徴的に示している。かかる描画により、ボタン0-A〜ボタン0-Dが配されたページがInteractive Graphicsプレーン10に現れ、動画に合成されることになる。
以上はGraphics Controller37が行うべき処理の概要であり、Graphics Controller37は、PSRセット16におけるPSR10、PSR11の数値変化、User_TimeOutタイマ18〜Effect_durationタイマ21におけるタイムアウト、操作受付部22が受け付けたユーザ操作に応じて、上述した描画内容を変化するという処理を行う。Graphics Controller37が行うべき処理の詳細は、図41〜図47に示したものとなる。
図41は、Graphics Controller37の処理のうち、メインルーチンにあたる処理を示すフローチャートである。本フローチャートは、メインルーチンにあたる処理であり、ステップS1〜ステップS6からなるループ処理を実行する。このループ処理は、ステップS1〜ステップS4の何れかの事象が成立しているかという判定処理と、アニメーションによるMulti-Pageメニュー表示の更新処理(ステップS5)と、ユーザ操作に応じた処理(UO(UserOperation処理):ステップS6)とを繰り返し実行するというものである。ステップS1〜ステップS4のうち、どれかの事象が成立すれば、該当する処理を実行してメインルーチンにリターンする。
ステップS1は、現在の再生時点が、PTS(DSn[ICS])に到達したか否かを判定するステップである。このステップS1がYesになれば、上述したProcedure when playback condition is changedを実行し、1stPageであるPage[0]をカレントページを設定した上で(ステップS7)、User_TimeOutタイマ18、Selection_TimeOutタイマ19、Composition_TimeOutタイマ20をリセットし(ステップS8)、このカレントページを表示して(ステップS9)、ステップS1〜ステップS6からなるループ処理に戻る。
ステップS2は、User_TimeOutタイマ18がタイムアウトしたかどうかの判定である。ステップS2がYesになれば、ステップS11〜ステップS14からなるループ処理を実行する。このループ処理は、Multi-Pageメニューにおける任意のpage(j)を消去して(ステップS13)、page(j).Out_effectを実行する(ステップS14)という処理を、ICSにおけるpage[0]以降の全てのページについて繰り返すというものである(ステップS11、S12)。
ステップS3は、Selection_TimeOutタイマ19がタイムアウトしたかどうかの判定である。Selection_TimeOutタイマ19がタイムアウトしたなら、カレントページにおけるボタンを自動的にアクティブ状態に設定した上で(オートアクィベート:ステップS10)、ステップS1〜ステップS6からなるループに戻る。
ステップS4は、Composition_TimeOutタイマ20がタイムアウトしたかどうかの判定である。Composition_TimeOutタイマ20がタイムアウトしたなら、1stPageたるPage[0]を消去して(ステップS15)、Page[0].Out_effectを再生し(ステップS16)、その後、ステップS1〜ステップS6からなるループに戻る。
以上のメインルーチンにおいて、ページの最初の表示がどのように行われるかについて説明する。ページの最初の表示は、上述したProcedure when playback condition is changedを状態制御部23に実行させ、カレントページをPage[0]に設定した上で、図42のステップS15〜ステップS23を実行することによりなされる。図42は、最初の表示の処理手順を示すフローチャートである。ステップS24は、カレントページのIn_effectに規定された表示効果の実行であり、これを実行した後、カレントボタンの設定処理を行う(ステップS25)。カレントボタンは、PSR10に規定されており、このPSR10についてのProcedure when playback condition is changedの実行が、このステップS25の処理である。かかるステップS25によりカレントボタンが決定されれば、ステップS17〜ステップS22に移行する。
ステップS17〜ステップS22は、カレントページにおける各ボタン情報について繰り返されるループ処理を形成している(ステップS17、ステップS18)。本ループ処理において処理対象になるべきボタン情報をボタン情報(p)という。
ステップS19では、button情報(p)がカレントボタンに対応するbutton情報であるか否かを判定する。もしそうであれば、ステップS20に、異なるならステッステップS21に移行する。
ステップS21では、button情報(p)のnormal_state_infoに指定されているnormal_start_object_id_refのグラフィクスオブジェクトを、グラフィクスオブジェクト(p)としてObject Buffer35から特定する。
ステップS20では、button情報(p)のselected_state_infoに指定されているselected_start_object_id_refのグラフィクスオブジェクトを、グラフィクスオブジェクト(p)として特定する。
ステップS20、ステップS21を経ることでグラフィクスオブジェクト(p)が特定されれば、button情報(p)のbutton_horizontal_position,button_vertical_positionに示されるInteractive Graphicsプレーン10上の位置に、グラフィクスオブジェクト(p)を書き込む(ステップS22)。かかる処理をカレントページにおける各ボタン情報について繰り返せば、各ボタンの状態を表す複数グラフィクスオブジェクトのうち、最初のグラフィクスオブジェクトがInteractive Graphicsプレーン10上に書き込まれることになる。以上の繰り返しを経た後、カレントページにおけるPallet_id_refに示されるパレットデータで表示を行うよう、CLUT部15を設定して(ステップS23)、本フローチャートの処理を終える。
図43は、In_effectを再生するにあたっての処理手順を示すフローチャートである。本フローチャートにおいて変数tは、Effect_Sequenceにおける任意のEffect画像を示す変数であり、変数uは、effect(t)におけるComposition_Objectのうち、任意のComposition_Objectを指示する変数である。本フローチャートは、変数t、変数uを0に初期化して(ステップS30)、effect(t).effect_durationをEffect_durationタイマ21にセットし(ステップS31)、effect(t).pallet_id_refで示されるパレットデータで表示を行うようCLUT部14、15に設定した上で(ステップS32)、ステップS33〜ステップS40とからなるループ処理を実行するというものである。このループ処理は、二重ループであり、一重目のループ(ステップS33〜ステップS37)は、変数uを制御変数にしており、二重目のループ(ステップS33〜ステップS40)は、変数tを制御変数にしている。
一重目のループは、effect(t).Composition_Object(u).object_cropped_flagが0であるか否かを判定し(ステップS33)、0ならeffect(t).Composition_Object(u)においてグラフィクスオブジェクトを非表示にする(ステップS35)。1なら、effect(t).Composition_Object(u)のobject_cropping_horizontal_position,object_cropping_vertical_position,cropping_width,cropping_heightに基づき、グラフィクスオブジェクトに対するクロップを行い、そしてクロップで得られたグラフィクスオブジェクトの一部分を、effect(t).Composition_Object(u)のwindow_id_refに示されるウィンドゥにおいて、effect(t).Composition_Object(u)のcompositin_object_horizontal_position、compositin_object_vertical_positionに示される位置に書き込んで(ステップS34)、変数uをインクリメントする(ステップS36)という処理を、変数uがnumber_of_Composition_Objectになるまで、繰り返すというものである。
2重目のループは、ステップS33〜ステップS37のループが一巡する度に、effect_durationの経過を待った上で(ステップS38)、変数tのインクリメントと、変数uの初期化(u←0)とを行う(ステップS39)という処理を、変数tがnumber_of_effect(t)になるまで繰り返すというものである(ステップS40)。以上がIn_Effectを再生する際の処理手順である。尚、Out_effectを再生するにあたっても、原則同様の処理を行えばよいので、Out_Effect再生時の処理については説明を省略する。
こうしてIn_effectの表示がなされた後、カレントページを表示して、最初の表示をアニメーション的に更新してゆく。ここで最初の表示は、各button情報のnormal_state_infoにおけるnormal_start_object_id_ref、selected_state_infoにおけるselected_start_object_id_refで指定されているグラフィクスオブジェクトを、Interactive Graphicsプレーン10に書き込まれることにより実現した。アニメーション的な更新は、メインルーチンのループ処理が一巡する度に、各ボタンにおける任意のコマ(qコマ目にあるグラフィクスオブジェクト)をこのInteractive Graphicsプレーン10に上書することである。つまりこの更新は、button情報のnormal_state_info、selected_state_infoで指定されているグラフィクスオブジェクトを、一枚ずつInteractive Graphicsプレーン10に書き込んでメインルーチンにリターンすることでなされる。ここで変数qとは、各ボタン情報のbutton情報のnormal_state_info、selected_state_infoで指定されている個々のグラフィクスオブジェクトを指定するための変数である。
このアニメーション的な表示更新を実現するための処理を、図44を参照しながら説明する。
ステップS41は最初の表示が済んでいるか否かの判定であり、もし済んでいなけれ何の処理も行わずにメインルーチンにリターンする。もし済んでいればステップS42〜ステップS53の処理を実行する。ステップS41〜ステップS55は、ICSにおける各button情報について、ステップS44〜ステップS55の処理を繰り返すというループ処理を構成している(ステップS42、ステップS43)。
ステップS44は、button情報(p)に対応する変数animation(p)を変数qに設定する。こうして、変数qは、button情報(p)に対応する、現在のコマ数を示すことになる。
ステップS45は、button情報(p)が、現在セレクテッド状態にあるボタン(カレントボタン)に対応するbutton情報であるか否かの判定である。
カレントボタン以外のボタンならば、button情報(p).normal_state_infoにおけるnormal_start_object_id_refに変数qを足した識別子をID(q)とする(ステップS46)。
カレントボタンに対応するボタンであれば、ステップS47の判定を行う。
ステップS47は、カレントボタンがアクティブ状態であるかの判定であり、もしそうであれば、ステップS54においてbutton情報(p).actioned_state_infoにおけるactivated_start_object_id_refに変数qを足した識別子をID(q)とする。そしてbutton情報(p)に含まれるナビゲーションコマンドのうち、1つを実行する(ステップS55)。
カレントボタンがアクティブ状態でなければ、button情報(p).selected_state_infoにおけるselected_start_object_id_refに変数qを足した識別子をID(q)とする(ステップS48)。
こうしてID(q)が決まれば、Object Buffer35に存在する、ID(q)を有するグラフィクスオブジェクト(q)を、button情報(p)のbutton_horizontal_position,button_vertical_positionに示されるInteractive Graphicsプレーン10上の位置に書き込む(ステップS49)。
以上のループ処理により、カレントボタンのセレクテッド状態(若しくはアクティブ状態)及びその他のボタンのノーマル状態を構成する複数グラフィクスオブジェクトのうち、q枚目のものがInteractive Graphicsプレーン10に書き込まれることになる。
ステップS50は、normal_start_object_id_ref+qがnormal_end_object_id_refに達したか否かの判定であり、もし達しないなら変数qをインクリメントし、インクリメントされた値を変数animation(p)に設定する(ステップS51)。もし達したなら、selected_repeat_flagが1であるか否かを判定し(ステップS52)、もし1であるなら、変数animation(p)を0に初期化する(ステップS53)。以上の処理は、ICSにおける全てのbutton情報について繰り返される(ステップS42、ステップS43)。全てのbutton情報について、処理がなされれば、メインルーチンにリターンする。
以上のステップS41〜ステップS53により対話画面における各ボタンの絵柄は、メインルーチンが一巡する度に新たなグラフィクスオブジェクトに更新される。メインルーチンが何度も反復されれば、いわゆるアニメーションが可能になる。アニメーションにあたって、グラフィクスオブジェクト一コマの表示間隔は、animation_frame_rate_codeに示される値になるようにGraphics Controller37は時間調整を行う。以上がアニメーション的な更新処理である。
上述したフローチャートのステップS47において1つのボタンがアクティブ状態になっていると、このボタンに対応するボタン情報のナビコマンドを、ステップS55において実行せねばならない。図45は、ナビゲーションコマンド実行時における処理手順を示すフローチャートである。ステップS56はナビゲーションコマンドがSetButtonPageCommandであるか否かの判定である。もしSetButtonPageCommandでないなら、ステップS57においてナビゲーションコマンドをそのまま実行する。もしSetButtonPageCommandであるなら、ナビコマンドのオペランドから特定される切換先ページをXにし、ナビコマンドのオペランドから特定されるbutton番号をPSR10に格納するよう状態制御部23に指示した上で(ステップS58)、PSR11についてのProcedure when change is requestedを状態制御部23に実行させる(ステップS59)。ここでPSR11は、現在表示されているページを示すものであり、これについてのProcedure when change is requestedを実行することで、カレントページが定まる。その後、PSR(10)についてのProcedure when playback condition is changedを状態制御部23に実行させて(ステップS60)、図45のフローチャートの処理を終える。
以上でナビコマンド実行処理についての説明を終わる。ナビコマンドは、対応するボタンがアクティブ状態であった際実行された。ボタン状態の変化は、ユーザ操作(UO)に従って、図46の処理手順を実行することによりなされる。図46は、UO処理の処理手順を示すフローチャートである。本フローチャートは、ステップS61〜ステップS64の何れかの事象が成立しているかどうかを判定し、もしどれかの事象が成立すれば、該当する処理を実行してメインルーチンにリターンする。ステップS61は、UOmaskTableが"1"に設定されているかどうかの判定であり、もしに設定されていれば、何の処理も行わずに、メインルーチンにリターンする。
ステップS62は、リモコンにおけるMoveUP/Down/Left/Rightキーが押下されたかどうかの判定であり、もしこれらのキーが押下されれば、User_TimeOutタイマ18、Selection_TimeOutタイマ19をリセットする(ステップS65)。そしてカレントボタンを変更して(ステップS66)、カレントボタンのauto_action_flagが1かどうかを判定する(ステップS67)。もし違うならメインルーチンにリターンする。もしそうであるなら、ステップS69に移行して、カレントボタン(i)をアクティブ状態に遷移する。その後、変数animation(i)を0に設定する(ステップS70)。
ステップS63は、数値入力であるかどうかの判定であり、もし数値入力であれば、User_TimeOutタイマ18、Selection_TimeOutタイマ19をリセットした上で(ステップS71)、カレントボタンの変更処理を行い(ステップS72)、メインルーチンにリターンする。
ステップS64は、リモコンにおけるactivatedキーが押下されたかどうかの判定であり、もしそうであれば、User_TimeOutタイマ18、Selection_TimeOutタイマ19をリセットした上で(ステップS68)、カレントボタン(i)をアクティブ状態に遷移する(ステップS69)。その後、変数animation(i)を0に設定する(ステップS70)。図46の処理手順のうち、ステップS66におけるカレントボタンを変化させる処理はサブルーチン化されている。このサブルーチンの処理手順を示したのが図47である。以降このフローチャートについて説明する。
図47は、カレントボタンの変更処理の処理手順を示すフローチャートである。先ず初めに、カレントボタンのneighbor_infoにおけるupper_button_id_ref,lower_button_id_ref,left_button_id_ref,right_button_id_refのうち、押下されたキーに対応するものを特定する(ステップS75)。
そしてカレントボタンをボタンYとし、upper_button_id_ref,lower_button_id_ref,left_button_id_ref,right_button_id_refにより特定されるボタンをボタンXとする(ステップS76)。XをPSR10に設定するため、状態制御部23にProcedure when change is requestedを実行させる(ステップS77)。
設定後、変数animation(X),変数animation(Y)を0に設定した上でメインルーチンにリターンする(ステップS78)。
UO処理では、ユーザの操作に伴ってボタンをアクティブ状態に設定したが、アクティブ状態へ設定は、selection_time_out_ptsのタイムアウトでも実現することができる。selection_time_out_ptsタイムアウトによる自動確定(オートアクティベート)の処理手順を、図48を参照しながら説明する。図48は、ボタンのオートアクティベートの処理手順を示すフローチャートである。先ずdefault_activated_button_id_refが0であるか,FFであるかどうかを判定し(ステップS91)、00であれば何の処理も行わずメインルーチンにリターンする。FFであれば、カレントボタンiをアクティブ状態に遷移する(ステップS93)。そしてカレントボタン(i)に対応する変数animation(i)を0に設定してメインルーチンにリターンする(ステップS94)。
00でも、FFでもなければ、default_activated_button_id_refで指定されるボタンをカレントボタンiとし(ステップS92)、カレントボタン(i)をアクティブ状態に遷移させ(ステップS93)、カレントボタン(i)に対応する変数animation(i)を0に設定してメインルーチンにリターンする(ステップS94)。
以上の処理により、セレクテッド状態のボタンは、所定時間の経過時においてアクティブ状態に遷移させられることになる。以上が、図48のフローチャートの全容である。
<PopupU/Iにおけるターンオン、ターンオフ処理>
以上は、user_interface_modelがAlways-onを示している場合のI-Graphicsデコーダ9の処理手順である。Interactive_compositionのuser_interface_modelがPopupU/Iを示している場合、I-Graphicsデコーダ9は、user_interface_modelがAlways-onを示している場合と同様のデコード処理を行う。これにより、Object Buffer35にはグラフィックオブジェクトが得られる。そして、Object Buffer35上に得られたグラフィクスオブジェクトをPTS(DSn[ICS])までにInteractive Graphicsプレーン10に書き込んでゆく。そうすることで、メインページの最初の表示を構成するグラフィクスがInteractive Graphicsプレーン10に得られることになる。以上の処理は、Always-onU/Iと同じであるが、これ以降の処理が異なる。つまり、Graphicsコントローラ37は、Interactive Graphicsプレーン10に格納されたページを、動画像に合成せず、ページを表示しないのである。このようにInteractive Graphicsプレーン10の格納内容をCLUT部15に出力せず、ページを表示しない状態を”ターンオフ”という。こうしたターンオフの状態のまま、Graphicsコントローラ37はPop-up_On操作がユーザによりなされるのを待つ。ユーザによりPop-up_On操作がなされれば、Interactive Graphicsプレーン10に格納されたページをCLUT部15に出力して動画像に合成させる。このようにターンオフされているInteractive Graphicsプレーン10の格納内容を、CLUT部15に出力して動画像に合成させる制御を”ターンオン”という。以上のターンオフ、ターンオン制御によりポップアップ表示がなされる。
以降の処理はAlways-onU/Iと同じであり、メインページの表示時において、ユーザが何れかのボタンに対し、確定操作を行えば、そのボタンに対応するナビゲーションコマンドを実行する。Selection_TimeOutタイマ19がタイムアウトすれば、メインページにおけるカレントボタンを自動的にアクティベートさせて、サブページを表示させる。
そしてPop-up_Offがなされれば、Graphicsコントローラ37はターンオフを行い、全てのページを消去する。
ユーザ操作がない状態が継続した場合でも、User_TimeOutタイマ18は、カウントダウンを続ける。こうしてカウントダウンが継続してから、ユーザタイムアウトタイマがタイムアウトすれば、ターンオフを行い、全てのページを消去する。以上の処理は、図12(a)に示された状態状態遷移に基づく。
以上のようなターンオン・ターンオフを実行することにより、Pop-upU/Iは実現されることになる。
以上のように本実施形態によれば、第1実施形態〜第5実施形態に示したようなデータ構造に対応した再生装置を、工業的に生産することができ、第1実施形態〜第5実施形態に示したBD-ROMの普及に貢献することができる。
(第7実施形態)
本実施形態は、BD-ROMの製造工程に関する実施形態である。図49は、第1実施形態〜第5実施形態に示したBD-ROMを作成するための製造工程を示す図である。
BD-ROMの制作工程は、動画収録、音声収録等の素材作成を行う素材制作工程S201、オーサリング装置を用いて、アプリケーションフォーマットを生成するオーサリング工程S202、BD-ROMの原盤を作成し、プレス・貼り合わせを行って、BD-ROMを完成させるプレス工程S203を含む。
これらの工程のうち、BD-ROMを対象としたオーサリング工程は、以下のステップS204〜ステップS213を含む。
以降ステップS204〜ステップS213について説明する。ステップS204において制御情報、パレット定義情報、グラフィクスを記述し、ステップS205において、制御情報、パレット定義情報、グラフィクスを機能セグメントに変換する。ステップS206では、同期したいピクチャが出現するタイミングに基づき、ICSのPTSを設定する。そしてステップS207では、PTS[ICS]の値に基づき、DTS[ODS],PTS[ODS]を設定し、ステップS208においてDTS[ODS]の値に基づき、DTS[ICS],PTS[PDS]を設定する。
ステップS209では、プレーヤモデルにおける各バッファの占有量の時間的遷移をグラフ化する。ステップS210では、グラフ化された時間的遷移がプレーヤモデルの制約を満たすか否かを判定し、もし満たさないなら、ステップS211において各機能セグメントのDTS、PTSを書き換える。もし満たすならステップS212においてグラフィクスストリームを生成し、ステップS213においてグラフィクスストリームを別途生成されたビデオストリーム、オーディオストリームと多重してAVClipを得る。以降、AVClipをBD-ROMのフォーマットに適合させることにより、アプリケーションフォーマットが完成する。
(備考)
以上の説明は、本発明の全ての実施行為の形態を示している訳ではない。下記(A)(B)(C)(D)・・・・・の変更を施した実施行為の形態によっても、本発明の実施は可能となる。本願の請求項に係る各発明は、以上に記載した複数の実施形態及びそれらの変形形態を拡張した記載、ないし、一般化した記載としている。拡張ないし一般化の程度は、本発明の技術分野の、出願当時の技術水準の特性に基づく。
(A)全ての実施形態では、本発明に係る記録媒体をBD-ROMとして実施したが、本発明の記録媒体は、記録されるグラフィクスストリームに特徴があり、この特徴は、BD-ROMの物理的性質に依存するものではない。グラフィクスストリームを記録しうる記録媒体なら、どのような記録媒体であってもよい。例えば、DVD-ROM,DVD-RAM,DVD-RW,DVD-R,DVD+RW,DVD+R,CD-R,CD-RW等の光ディスク、PD,MO等の光磁気ディスクであってもよい。また、コンパクトフラッシュ(登録商標)カード、スマートメディア、メモリスティック、マルチメディアカード、PCM-CIAカード等の半導体メモリカードであってもよい。フレキシブルディスク、SuperDisk,Zip,Clik!等の磁気記録ディスク(i)、ORB,Jaz,SparQ,SyJet,EZFley,マイクロドライブ等のリムーバブルハードディスクドライブ(ii)であってもよい。更に、機器内蔵型のハードディスクであってもよい。
(B)全ての実施形態における再生装置は、BD-ROMに記録されたAVClipをデコードした上でTVに出力していたが、再生装置をBD-ROMドライブのみとし、これ以外の構成要素をTVに具備させてもい、この場合、再生装置と、TVとをIEEE1394で接続されたホームネットワークに組み入れることができる。また、実施形態における再生装置は、テレビと接続して利用されるタイプであったが、ディスプレィと一体型となった再生装置であってもよい。更に、各実施形態の再生装置において、処理の本質的部分をなすシステムLSI(集積回路)のみを、実施としてもよい。これらの再生装置及び集積回路は、何れも本願明細書に記載された発明であるから、これらの何れの態様であろうとも、第6実施形態に示した再生装置の内部構成を元に、再生装置を製造する行為は、本願の明細書に記載された発明の実施行為になる。第1実施形態に示した再生装置の有償・無償による譲渡(有償の場合は販売、無償の場合は贈与になる)、貸与、輸入する行為も、本発明の実施行為である。店頭展示、カタログ勧誘、パンフレット配布により、これらの譲渡や貸渡を、一般ユーザに申し出る行為も本再生装置の実施行為である。
(C)各フローチャートに示したプログラムによる情報処理は、ハードウェア資源を用いて具体的に実現されていることから、上記フローチャートに処理手順を示したプログラムは、単体で発明として成立する。全ての実施形態は、再生装置に組み込まれた態様で、本発明に係るプログラムの実施行為についての実施形態を示したが、再生装置から分離して、第1実施形態に示したプログラム単体を実施してもよい。プログラム単体の実施行為には、これらのプログラムを生産する行為(1)や、有償・無償によりプログラムを譲渡する行為(2)、貸与する行為(3)、輸入する行為(4)、双方向の電子通信回線を介して公衆に提供する行為(5)、店頭、カタログ勧誘、パンフレット配布により、プログラムの譲渡や貸渡を、一般ユーザに申し出る行為(6)がある。
(D)各フロ−チャ−トにおいて時系列に実行される各ステップの「時」の要素を、発明を特定するための必須の事項と考える。そうすると、これらのフロ−チャ−トによる処理手順は、再生方法の使用形態を開示していることがわかる。各ステップの処理を、時系列に行うことで、本発明の本来の目的を達成し、作用及び効果を奏するよう、これらのフロ−チャ−トの処理を行うのであれば、本発明に係る記録方法の実施行為に該当することはいうまでもない。
(E)BD-ROMに記録するにあたって、AVClipを構成する各TSパケットには、拡張ヘッダを付与しておくことが望ましい。拡張ヘッダは、TP_extra_headerと呼ばれ、『Arrival_Time_Stamp』と、『copy_permission_indicator』とを含み4バイトのデータ長を有する。TP_extra_header付きTSパケット(以下EX付きTSパケットと略す)は、32個毎にグループ化されて、3つのセクタに書き込まれる。32個のEX付きTSパケットからなるグループは、6144バイト(=32×192)であり、これは3個のセクタサイズ6144バイト(=2048×3)と一致する。3個のセクタに収められた32個のEX付きTSパケットを”Aligned Unit”という。
IEEE1394を介して接続されたホームネットワークでの利用時において、再生装置は、以下のような送信処理にてAligned Unitの送信を行う。つまり送り手側の機器は、Aligned Unitに含まれる32個のEX付きTSパケットのそれぞれからTP_extra_headerを取り外し、TSパケット本体をDTCP規格に基づき暗号化して出力する。TSパケットの出力にあたっては、TSパケット間の随所に、isochronousパケットを挿入する。この挿入箇所は、TP_extra_headerのArribval_Time_Stampに示される時刻に基づいた位置である。TSパケットの出力に伴い、再生装置はDTCP_Descriptorを出力する。DTCP_Descriptorは、TP_extra_headerにおけるコピー許否設定を示す。ここで「コピー禁止」を示すようDTCP_Descriptorを記述しておけば、IEEE1394を介して接続されたホームネットワークでの利用時においてTSパケットは、他の機器に記録されることはない。
(F)各実施形態におけるデジタルストリームは、BD-ROM規格のAVClipであったが、DVD-Video規格、DVD-Video Recording規格のVOB(Video Object)であってもよい。VOBは、ビデオストリーム、オーディオストリームを多重化することにより得られたISO/IEC13818-1規格準拠のプログラムストリームである。またAVClipにおけるビデオストリームは、MPEG4やWMV方式であってもよい。更にオーディオストリームは、Linear-PCM方式、Dolby-AC3方式、MP3方式、MPEG-AAC方式、dts方式であってもよい。
(G)各実施形態における映画作品は、アナログ放送で放送されたアナログ映像信号をエンコードすることにより得られたものでもよい。デジタル放送で放送されたトランスポートストリームから構成されるストリームデータであってもよい。
またビデオテープに記録されているアナログ/デジタルの映像信号をエンコードしてコンテンツを得ても良い。更にビデオカメラから直接取り込んだアナログ/デジタルの映像信号をエンコードしてコンテンツを得ても良い。他にも、配信サーバにより配信されるデジタル著作物でもよい。
(H)各実施形態に示したグラフィックスオブジェクトは、ランレングス符号化されたラスタデータである。グラフィックスオブジェクトの圧縮・符号化方式にランレングス符号方式を採用したのは、ランレングス符号化は字幕の圧縮・伸長に最も適しているためである。字幕には、同じ画素値の水平方向の連続長が比較的長くなるという特性があり、ランレングス符号化による圧縮を行えば、高い圧縮率を得ることができる。また伸長のための負荷も軽く、復号処理のソフトウェア化に向いている。デコードを実現する装置構成を、字幕−グラフィックスオブジェクト間で共通化する目的で、字幕と同じ圧縮・伸長方式をグラフィックスオブジェクトに採用している。しかし、グラフィックスオブジェクトにランレングス符号化方式を採用したというのは、本発明の必須事項ではなく、グラフィックスオブジェクトはPNGデータであってもよい。またラスタデータではなくベクタデータであってもよい、更に透明な絵柄であってもよい。
(I)グラフィックスプレーンクリア及び再描画が垂直帰線期間に完遂するよう、Rcを定めても良い。垂直帰線期間は1/29.93秒の25%と仮定すると、Rcは1Gbpsになる。Rcをこのように設定することでグラフィクス表示はスムーズになされるので、実用上の効果は大きい。
また垂直帰線期間での書き込みに加え、ラインスキャンに同期した書き込みを併用してもよい。これにより、Rc=256Mbpsの転送レートであっても、スムーズな表示の実現が可能になる。
(J)各実施形態において再生装置には、グラフィックスプレーンを実装したが、このグラフィックスプレーンに代えて、一ライン分の非圧縮画素を格納するラインバッファを具備してもよい。映像信号への変換は水平行(ライン)毎に行われるので、このラインバッファさえ具備していれば、この映像信号への変換は行なえるからである。
(K)複数再生経路の合流点においてデフォルトセレクテッドボタンが変わるようなケースでは、複数再生経路のそれぞれの経由時に、固有の値を再生装置側のレジスタに設定するよう、動的シナリオにおいて再生制御を記述しておくことが望ましい。そして、そのレジスタの設定値に応じたボタンをセレクテッド状態に設定するよう再生手順を記述しておけば、どの再生経路を経由するかによって、セレクテッド状態とすべきボタンを変化させることができる。
(L)第6実施形態におけるグラフィックスプレーンは、ダブルバッファとして構成することが望ましい。グラフィックスプレーンをダブルバッファで構成すれば数フレームをかけて大きなサイズのグラフィクスをグラフィックスプレーンに書き込む場合でも、瞬時に画面切り換えを実現することができるので、画面一杯にメニューを表示する場合に有意義である。
本発明に係る再生装置は、ホームシアターシステムでの利用のように、個人的な用途で利用されることがありうる。しかし本発明は上記実施形態に内部構成が開示されており、この内部構成に基づき量産することが明らかなので、資質において工業上利用することができる。このことから本発明に係る再生装置は、産業上の利用可能性を有する。
本発明に係る記録媒体の、使用行為についての形態を示す図である。 BD-ROMの構成を示す図である。 AVClipがどのように構成されているかを模式的に示す図である。 (a)インタラクティブグラフィクスストリームの構成を示す図である。
(b)機能セグメントを変換することで得られるPESパケットを示す図である。
様々な種別の機能セグメントにて構成される論理構造を示す図である。 DSnが割り当てられた、AVClipの再生時間軸を示す図である。 (a)(b)ICSとInteractive_compositionとの対応関係を示す図である。 ICSの内部構成を示す図である。 Stream_modelがMultiplexedである場合のICSの取り扱いを示す図である。 Stream_modelがプリロードである場合のコンポジションバッファの移り変わりを示す図である。 DSnがEpoch Startである場合(n=1)、DSnに帰属するICSにおいて、selection_time_out_pts及びcomposition_time_out_ptsがどのような意味合いを持つかを示す図である。 (a)Pop-upU/IにおけるMulti-Pageメニューの状態遷移を示す図である。
(b)Always-onU/IにおけるMulti-Pageメニューの挙動を示す図である。
Multi-Pageメニューを導入した画面演出を示す図である。 (a)〜(c)selection_time_out_pts設定の一例を示す図である。 (a)〜(d)user_time_out_dutration設定の具体例を示す図である。 複数ページのうち、任意のもの(x枚目のページ)についてのページ情報の内部構成を示す図である。 ボタン0-A〜ボタン0-Dの状態遷移を示す図である。 図17の状態遷移を実現する場合のボタン情報の記述例を示す図である。 ODS11〜19の絵柄を示す図である。 Effect_Sequenceの内部構成を示す図である。 (a)effect_durationの設定をどのように行うかという設定の概念を示す図である。
(b)effect_durationを算出するための算出式を示す図である。
In_Effectの具体例を示す図である。 window_width、window_height、effect_durationの調整により再生されるOut_effectを示す図である。 任意のcomposition_object(i)の内部構成をクローズアップした図である。 右ScrollによりIn_Effectを実現するという具体例を示す図である。 図25のDS0におけるcomposition_objectの記述例を示す図である。 図25のDS1におけるcomposition_objectの記述例を示す図である。 図25のDS2におけるcomposition_objectの記述例を示す図である。 図25のDS3におけるcomposition_objectの記述例を示す図である。 DSnにおけるODS配列を示す図である。 default_selected_button_id_refが”=00”である場合と、”=ボタンB”である場合とでS-ODSsにおいてODSの並びがどのように変わるかを示す図である。 (a)デフォルトセレクテッドボタンが静的に確定している場合のLASTODSPTSを示す。
(b)デフォルトセレクテッドボタンが動的に変化する場合のLASTODSPTSを示す。
(a)セレクテッド状態に属するODSが存在しない場合のLASTODSPTSを示す。 (b)Normal StateODSグループに属するODSが存在しない場合のLASTODSPTSを示す。 (c)Display SetにおいてODSが存在しない場合のLASTODSPTSを示す。 (a)LASTODSPTS(DSn)-DTS(DSn[ICS])及びPLANECLEARTIMEからDECODEDURATIONを導き出すためのアルゴリズムを示す。
(b)(c)DECODEDURATIONの算出例を示す図である。
(a)EFFECTTD(DSn)の算出式を示す。 (b)In_Effectが存在せず、デフォルトセレクテッドボタンが静的に確定している場合の、PAGEDEFAULTTDの算出式を示す図である。
(c)In_Effectが存在せず、デフォルトセレクテッドボタンが動的に変化する場合の、PAGEDEFAULTTDの算出式を示す図である。
EFFECTTD、PAGEDEFAULTTD、PAGENODEFAULTTDから1つをえらんでTRANSFERDURATIONにするというアルゴリズムを示す。 本発明に係る再生装置の内部構成を示す図である。 (a)PSR11についてのProcedure when playback condition is changedを示すフローチャートである。
(b)PSR11についてのProcedure when change is requestedを示すフローチャートである。
(a)PSR10のProcedure when playback condition is changedを示すフローチャートである。
(b)PSR10のProcedure when change is requestedを示すフローチャートである。
I-Graphicsデコーダ9の内部構成を示す図である。 Graphics Controller37の処理のうち、メインルーチンにあたる処理を示すフローチャートである。 最初の表示の処理手順を示すフローチャートである。 In_effectを再生するにあたっての処理手順を示すフローチャートである。 ボタン表示をアニメーション的に更新するための処理手順を示すフローチャートである。 ナビゲーションコマンド実行時における処理手順を示すフローチャートである。 UO処理の処理手順を示すフローチャートである。 カレントボタンの変更処理の処理手順を示すフローチャートである。 ボタンのオートアクティベートの処理手順を示すフローチャートである。 第1実施形態〜第5実施形態に示したBD-ROMを作成するための製造工程を示す図である。
符号の説明
1 BDドライブ
2 リードバッファ
3 デマルチプレクサ(De-MUX)
4 ビデオデコーダ
5 ビデオプレーン
6 P-Graphicsデコーダ
7 Presentation Graphicsプレーン
8 合成部
9 I-Graphicsデコーダ
10 Interactive Graphicsプレーン
11 合成部
13 オーディオデコーダ
14 CLUT部
15 CLUT部
16 PSRセット
17 システムクロック
18 User_TimeOutタイマ
19 Selection_TimeOutタイマ
20 Composition_TimeOutタイマ
21 Effect_durationタイマ
22 操作受付部
23 状態制御部

Claims (5)

  1. グラフィクスストリーム及び動画ストリームが記録されている記録媒体であって、
    グラフィクスストリームは、1つ以上の対話制御セグメントと、グラフィクスオブジェクトを定義するオブジェクト定義セグメントとを含み、
    対話制御セグメントは、複数のページ情報と、時間情報とストリームモデル情報とを含み、
    複数のページ情報は、マルチページメニューの画面構成を規定する情報であり、各ページ情報は、1つ以上のボタン情報を含み、各ボタン情報は、グラフィクスオブジェクトをボタン部材の一状態として表示させることにより、マルチページメニューを構成する各ページ上で対話的な画面構成を実現する情報であり、
    前記時間情報は、タイムアウト情報を含み、
    前記タイムアウト情報は、マルチページメニューの各ページ内に存在するボタン部材のうち、選択されている状態になっているボタン部材を所定時間経過後にアクティベートさせる時刻を示し
    前記時間情報はさらにコンポジションタイムアウト情報を含み、
    前記コンポジションタイムアウト情報は、対話制御を終了させる時刻を示し、
    前記ストリームモデル情報は、
    グラフィクスストリームが動画ストリームと多重化されて記録媒体に記録されるか、
    グラフィクスストリームが動画ストリームと多重化されずに記録媒体に記録されるかを示し、
    前記タイムアウト情報および前記コンポジションタイムアウト情報は、グラフィクスストリームが動画ストリームと多重化されて記録媒体に記録されている場合にのみ、有効となる
    ことを特徴とする記録媒体。
  2. 動画ストリーム及びグラフィクスストリームを再生する再生装置であって、
    動画ストリームをデコードして、動画像を得るビデオデコーダと、
    グラフィクスストリームをデコードして、グラフィクスオブジェクトを得るグラフィクスデコーダとを含み、
    グラフィクスストリームは、1つ以上の対話制御セグメントと、グラフィクスオブジェクトを定義するオブジェクト定義セグメントとを含み、
    対話制御セグメントは、複数のページ情報と、時間情報と、ストリームモデル情報とを含み、
    複数のページ情報は、マルチページメニューの画面構成を規定する情報であり、各ページ情報は、1つ以上のボタン情報を含み、各ボタン情報は、グラフィクスオブジェクトをボタン部材の一状態として表示させることにより、マルチページメニューを構成する各ページ上で対話的な画面構成を実現する情報であり、
    前記時間情報は、タイムアウト情報を含み、
    前記タイムアウト情報は、表示されているボタン部材のうち、選択されている状態になっているボタン部材を所定時間経過後にアクティベートさせる時刻を示し、
    前記時間情報はさらにコンポジションタイムアウト情報を含み、
    前記コンポジションタイムアウト情報は、対話制御を終了させる時刻を示し、
    前記ストリームモデル情報は、
    グラフィクスストリームが動画ストリームと多重化されて記録媒体に記録されるか、
    グラフィクスストリームが動画ストリームと多重化されずに記録媒体に記録されるかを示し、
    前記タイムアウト情報はグラフィクスストリームが動画ストリームと多重化されて記録媒体に記録されている場合のみ、有効とな
    前記グラフィクスデコーダはタイムアウトの制御を、前記タイムアウト情報と前記コンポジションタイムアウト情報と前記ストリームモデル情報に基づき実行するものであり、前記ストリームモデル情報がグラフィクスストリームが動画ストリームと多重化されて記録媒体に記録されている場合に、
    表示されているボタン部材のうち、選択されている状態になっているボタン部材を前記タイムアウト情報で示される時刻に基づきアクティベートさせ
    前記コンポジションタイムアウト情報で示される時刻に基づき対話制御を終了させる、
    ことを特徴とする再生装置。
  3. グラフィクスストリーム及び動画ストリームが記録されている記録方法であって、
    動画ストリーム及びグラフィクスストリームを含むアプリケーションデータを作成するステップと、
    作成したデータを記録媒体に記録するステップとを有し、
    前記作成ステップは、
    動画像素材をエンコードして、前記動画ストリームを得る第1のサブステップと、
    1つ以上の対話制御セグメントと、グラフィクスオブジェクトを定義するオブジェクト定義セグメントとを作成して、前記グラフィクスストリームを得る第2のサブステップとを含み、
    対話制御セグメントは、複数のページ情報と、時間情報とストリームモデル情報と記述し、
    複数のページ情報は、マルチページメニューの画面構成を規定する情報であり、各ページ情報は、1つ以上のボタン情報を含み、各ボタン情報は、グラフィクスオブジェクトをボタン部材の一状態として表示させることにより、マルチページメニューを構成する各ページ上で対話的な画面構成を実現する情報であり、
    前記第2のサブステップは、動画ストリームの再生時間軸のうち、マルチページメニューの表示状態を遷移させるべき時点を時間情報に定義しておくという手順を含み、
    前記第2のサブステップでは、 対話制御セグメント、複数のページ情報、時間情報、ストリームモデル情報とを記述し、
    前記第2のサブステップにより定義される前記時間情報は、タイムアウト情報を含み、
    前記タイムアウト情報は、マルチページメニューの各ページ内に存在するボタン部材のうち、選択されている状態になっているボタン部材を所定時間経過後にアクティベートさせる時刻を示
    前記時間情報はさらにコンポジションタイムアウト情報を含み、
    前記コンポジションタイムアウト情報は、対話制御を終了させる時刻を示し、
    前記ストリームモデル情報は、
    グラフィクスストリームが動画ストリームと多重化されて記録媒体に記録されるか、
    グラフィクスストリームが動画ストリームと多重化されずに記録媒体に記録されるかを示し、
    前記タイムアウト情報および前記コンポジションタイムアウト情報は、グラフィクスストリームが動画ストリームと多重化されて記録媒体に記録されている場合にのみ、有効となる
    ことを特徴とする記録方法。
  4. 動画ストリーム及びグラフィクスストリームの再生をコンピュータに実行させるプログラムであって、
    動画ストリームをデコードして、動画像を得るステップと、
    グラフィクスストリームをデコードして、グラフィクスオブジェクトを得るステップとを含み、
    グラフィクスストリームは、1つ以上の対話制御セグメントと、グラフィクスオブジェクトを定義するオブジェクト定義セグメントとを含み、
    対話制御セグメントは、複数のページ情報と、時間情報と、ストリームモデル情報とを含み、
    複数のページ情報は、マルチページメニューの画面構成を規定する情報であり、各ページ情報は、1つ以上のボタン情報を含み、各ボタン情報は、グラフィクスオブジェクトをボタン部材の一状態として表示させることにより、マルチページメニューを構成する各ページ上で対話的な画面構成を実現する情報であり、
    前記時間情報は、タイムアウト情報を含み、
    前記タイムアウト情報は、表示されているボタン部材のうち、選択されている状態になっているボタン部材を所定時間経過後にアクティベートさせる時刻を示し、
    前記時間情報はさらにコンポジションタイムアウト情報を含み、
    前記コンポジションタイムアウト情報は、対話制御を終了させる時刻を示し、
    前記ストリームモデル情報は、
    グラフィクスストリームが動画ストリームと多重化されて記録媒体に記録されるか、
    グラフィクスストリームが動画ストリームと多重化されずに記録媒体に記録されるかを示し、
    前記タイムアウト情報はグラフィクスストリームが動画ストリームと多重化されて記録媒体に記録されている場合のみ、有効とな
    前記グラフィクスストリームをデコードするステップはタイムアウトの制御を、前記タイムアウト情報と前記コンポジションタイムアウト情報と前記ストリームモデル情報に基づき実行するものであり、前記ストリームモデル情報がグラフィクスストリームが動画ストリームと多重化されて記録媒体に記録されている場合に、
    表示されているボタン部材のうち、選択されている状態になっているボタン部材を前記タイムアウト情報で示される時刻に基づきアクティベートさせ
    前記コンポジションタイムアウト情報で示される時刻に基づき対話制御を終了させる、
    ことを特徴とするプログラム。
  5. 動画ストリーム及びグラフィクスストリームを再生する再生方法であって、
    動画ストリームをデコードして、動画像を得るステップと、
    グラフィクスストリームをデコードして、グラフィクスオブジェクトを得るステップとを含み、
    グラフィクスストリームは、1つ以上の対話制御セグメントと、グラフィクスオブジェクトを定義するオブジェクト定義セグメントとを含み、
    対話制御セグメントは、複数のページ情報と、時間情報と、ストリームモデル情報とを含み、
    複数のページ情報は、マルチページメニューの画面構成を規定する情報であり、各ページ情報は、1つ以上のボタン情報を含み、各ボタン情報は、グラフィクスオブジェクトをボタン部材の一状態として表示させることにより、マルチページメニューを構成する各ページ上で対話的な画面構成を実現する情報であり、
    前記時間情報は、タイムアウト情報を含み、
    前記タイムアウト情報は、表示されているボタン部材のうち、選択されている状態になっているボタン部材を所定時間経過後にアクティベートさせる時刻を示し、
    前記時間情報はさらにコンポジションタイムアウト情報を含み、
    前記コンポジションタイムアウト情報は、対話制御を終了させる時刻を示し、
    前記ストリームモデル情報は、
    グラフィクスストリームが動画ストリームと多重化されて記録媒体に記録されるか、
    グラフィクスストリームが動画ストリームと多重化されずに記録媒体に記録されるかを示し、
    前記タイムアウト情報はグラフィクスストリームが動画ストリームと多重化されて記録媒体に記録されている場合のみ、有効とな
    前記グラフィクスストリームをデコードするステップはタイムアウトの制御を、前記タイムアウト情報と前記コンポジションタイムアウト情報と前記ストリームモデル情報に基づき実行するものであり、前記ストリームモデル情報がグラフィクスストリームが動画ストリームと多重化されて記録媒体に記録されている場合に、
    表示されているボタン部材のうち、選択されている状態になっているボタン部材を前記タイムアウト情報で示される時刻に基づきアクティベートさせ
    前記コンポジションタイムアウト情報で示される時刻に基づき対話制御を終了させる、
    ことを特徴とする再生方法。
JP2008096277A 2003-11-12 2008-04-02 記録媒体、再生装置、記録方法、プログラム、再生方法 Active JP4476339B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US51931703P 2003-11-12 2003-11-12

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2006515500A Division JP4170362B2 (ja) 2003-11-12 2004-11-12 記録媒体、再生装置、記録方法、プログラム、再生方法

Publications (2)

Publication Number Publication Date
JP2008251153A JP2008251153A (ja) 2008-10-16
JP4476339B2 true JP4476339B2 (ja) 2010-06-09

Family

ID=34590392

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2006515500A Expired - Fee Related JP4170362B2 (ja) 2003-11-12 2004-11-12 記録媒体、再生装置、記録方法、プログラム、再生方法
JP2008096277A Active JP4476339B2 (ja) 2003-11-12 2008-04-02 記録媒体、再生装置、記録方法、プログラム、再生方法
JP2008096275A Active JP4476338B2 (ja) 2003-11-12 2008-04-02 記録媒体、再生装置、記録方法、プログラム、再生方法
JP2008096276A Expired - Fee Related JP4500859B2 (ja) 2003-11-12 2008-04-02 記録媒体、再生装置、記録方法、プログラム、再生方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2006515500A Expired - Fee Related JP4170362B2 (ja) 2003-11-12 2004-11-12 記録媒体、再生装置、記録方法、プログラム、再生方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2008096275A Active JP4476338B2 (ja) 2003-11-12 2008-04-02 記録媒体、再生装置、記録方法、プログラム、再生方法
JP2008096276A Expired - Fee Related JP4500859B2 (ja) 2003-11-12 2008-04-02 記録媒体、再生装置、記録方法、プログラム、再生方法

Country Status (7)

Country Link
US (4) US7634739B2 (ja)
EP (1) EP1683155A1 (ja)
JP (4) JP4170362B2 (ja)
KR (4) KR101102679B1 (ja)
CN (4) CN100550178C (ja)
TW (1) TWI382404B (ja)
WO (1) WO2005048261A1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100897466B1 (ko) * 2003-06-30 2009-05-14 파나소닉 주식회사 기록매체, 재생장치, 기록방법, 재생방법
KR20050066264A (ko) 2003-12-26 2005-06-30 엘지전자 주식회사 고밀도 광디스크의 메뉴 구성방법 및 실행방법과기록재생장치
KR20050066265A (ko) * 2003-12-26 2005-06-30 엘지전자 주식회사 고밀도 광디스크의 메뉴 구성방법 및 실행방법과기록재생장치
WO2005069615A1 (ja) * 2004-01-13 2005-07-28 Matsushita Electric Industrial Co., Ltd. 記録媒体、再生装置、記録方法、プログラム、再生方法
KR100782808B1 (ko) * 2004-01-13 2007-12-06 삼성전자주식회사 인터렉티브 그래픽 스트림을 기록한 저장 매체 및 그 재생장치
US8175444B2 (en) * 2004-01-14 2012-05-08 Samsung Electronics Co., Ltd. Method of reproducing from storage medium storing interactive graphics stream activated in response to user's command
KR100561417B1 (ko) * 2004-02-09 2006-03-16 삼성전자주식회사 Av 데이터의 재생상태를 전환할 수 있는 인터랙티브그래픽 스트림을 기록한 정보저장매체, 그 재생방법 및 장치
CN1922870B (zh) 2004-02-17 2010-05-05 松下电器产业株式会社 再现装置和再现方法
US7852351B2 (en) * 2004-05-21 2010-12-14 Lsi Corporation Multiplexed button data system
KR100677129B1 (ko) 2004-09-03 2007-02-02 삼성전자주식회사 인터랙티브 그래픽 스트림을 기록한 저장 매체, 그 재생장치 및 재생 방법
US8799757B2 (en) * 2005-07-01 2014-08-05 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US20070006062A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US20070006238A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Managing application states in an interactive media environment
US7500175B2 (en) * 2005-07-01 2009-03-03 Microsoft Corporation Aspects of media content rendering
US7721308B2 (en) * 2005-07-01 2010-05-18 Microsoft Corproation Synchronization aspects of interactive multimedia presentation management
US8305398B2 (en) 2005-07-01 2012-11-06 Microsoft Corporation Rendering and compositing multiple applications in an interactive media environment
US8656268B2 (en) 2005-07-01 2014-02-18 Microsoft Corporation Queueing events in an interactive media environment
JP2007048348A (ja) * 2005-08-08 2007-02-22 Toshiba Corp 情報記憶媒体、情報再生装置、情報再生方法、及び情報再生プログラム
US20080238938A1 (en) 2005-08-29 2008-10-02 Eklund Don Effects for interactive graphic data in disc authoring
US8650541B2 (en) * 2006-08-04 2014-02-11 Apple Inc. Graphical motion composition files and methods for formatting and organization thereof
JP4858059B2 (ja) * 2006-10-02 2012-01-18 ソニー株式会社 再生装置、表示制御方法および表示制御プログラム
JP4469419B1 (ja) 2008-09-30 2010-05-26 パナソニック株式会社 3d映像が記録された記録媒体、3d映像を再生する再生装置、およびシステムlsi
US20100107090A1 (en) * 2008-10-27 2010-04-29 Camille Hearst Remote linking to media asset groups
US20110060993A1 (en) * 2009-09-08 2011-03-10 Classified Ventures, Llc Interactive Detailed Video Navigation System
US8605324B2 (en) * 2010-03-05 2013-12-10 Kabushiki Kaisha Toshiba Image processing system, image processing method, and computer readable recording medium storing program thereof
US8621351B2 (en) * 2010-08-31 2013-12-31 Blackberry Limited Methods and electronic devices for selecting and displaying thumbnails
KR101313592B1 (ko) * 2012-04-13 2013-10-01 애니포인트 미디어 그룹 스트리밍 재생 방법 및 이를 이용한 컴퓨팅 장치
US9423925B1 (en) * 2012-07-11 2016-08-23 Google Inc. Adaptive content control and display for internet media
KR20140031758A (ko) * 2012-09-05 2014-03-13 삼성전자주식회사 포인팅 디바이스를 이용하여 aⅴ 데이터의 메뉴를 제어하기 위한 인터랙티브 그래픽 데이터를 기록한 정보저장매체, 그 재생방법 및 장치
CN103870130B (zh) * 2012-12-14 2017-03-22 北京新媒传信科技有限公司 一种终端中呈现界面的方法和系统
EP4280598A3 (en) * 2014-09-12 2024-02-21 Panasonic Intellectual Property Corporation of America Recording medium, playback device, and playback method

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2116713A (en) * 1982-03-09 1983-09-28 Tecalemit Electronics Ltd Vibration monitoring apparatus
JP3178531B2 (ja) * 1988-11-15 2001-06-18 株式会社日立製作所 メニュー提示方法およびデータ処理装置
US5680151A (en) * 1990-06-12 1997-10-21 Radius Inc. Method and apparatus for transmitting video, data over a computer bus using block transfers
US5287182A (en) 1992-07-02 1994-02-15 At&T Bell Laboratories Timing recovery for variable bit-rate video on asynchronous transfer mode (ATM) networks
US5600573A (en) 1992-12-09 1997-02-04 Discovery Communications, Inc. Operations center with video storage for a television program packaging and delivery system
US5648813A (en) * 1993-10-20 1997-07-15 Matsushita Electric Industrial Co. Ltd. Graphical-interactive-screen display apparatus and peripheral units
US5664133A (en) * 1993-12-13 1997-09-02 Microsoft Corporation Context sensitive menu system/menu behavior
US6217234B1 (en) 1994-07-29 2001-04-17 Discovision Associates Apparatus and method for processing data with an arithmetic unit
JP3172643B2 (ja) * 1994-11-14 2001-06-04 シャープ株式会社 ディジタル記録再生装置
WO1996032720A1 (fr) * 1995-04-14 1996-10-17 Kabushiki Kaisha Toshiba Support d'enregistrement, dispositif et procede pour l'enregistrement des donnees sur le support, et dispositif et procede pour la reproduction des donnees a partir du support
JPH0916665A (ja) * 1995-07-04 1997-01-17 Funai Denki Kenkyusho:Kk ビデオcd発注システム
JPH09102940A (ja) * 1995-08-02 1997-04-15 Sony Corp 動画像信号の符号化方法、符号化装置、復号化装置、記録媒体及び伝送方法
CN100351911C (zh) * 1995-08-21 2007-11-28 松下电器产业株式会社 根据交互控制实现意外性场景展开的多媒体光盘再生装置
JPH09128408A (ja) * 1995-08-25 1997-05-16 Hitachi Ltd インタラクティブ記録再生用メディア及び再生装置
DE19545882B4 (de) * 1995-12-08 2004-04-08 Yes International Ag System zum Wiedergeben von visuellen Informationen
KR100423772B1 (ko) * 1996-03-29 2004-06-30 마츠시타 덴끼 산교 가부시키가이샤 인터랙티브한재생진행의성능을향상시킨멀티미디어광디스크,재생장치및재생방법
US5918012A (en) * 1996-03-29 1999-06-29 British Telecommunications Public Limited Company Hyperlinking time-based data files
JP3345412B2 (ja) * 1996-03-29 2002-11-18 松下電器産業株式会社 インタラクティブな再生進行の性能を向上させた記録媒体の記録方法、再生装置および再生方法
US6240555B1 (en) * 1996-03-29 2001-05-29 Microsoft Corporation Interactive entertainment system for presenting supplemental interactive content together with continuous video programs
EP0814419A2 (en) 1996-06-19 1997-12-29 Knowledge Information Research Institute Method of and device for executing a software and medium for distribution
JPH10105452A (ja) * 1996-06-19 1998-04-24 Chishiki Joho Kenkyusho:Kk ソフトウェア実行方法および装置ならびにソフトウェア流通媒体
US5929850A (en) * 1996-07-01 1999-07-27 Thomson Consumer Electronices, Inc. Interactive television system and method having on-demand web-like navigational capabilities for displaying requested hyperlinked web-like still images associated with television content
JPH10145722A (ja) * 1996-11-07 1998-05-29 Sony Corp 再生制御データ生成装置およびその方法
US6243086B1 (en) * 1997-05-29 2001-06-05 Matsushita Electric Industrial Co., Ltd. Reproduction apparatus
JP3655433B2 (ja) * 1997-06-20 2005-06-02 パイオニア株式会社 コンピュータ読み取り可能な記録媒体及び情報再生装置
JP4416846B2 (ja) * 1997-08-22 2010-02-17 ソニー株式会社 メニュー制御用データを記録したコンピュータ読み取り可能な記録媒体ならびにメニュー制御方法および装置
US5949752A (en) 1997-10-30 1999-09-07 Wea Manufacturing Inc. Recording media and methods for display of graphic data, text, and images
JP3376265B2 (ja) * 1997-12-25 2003-02-10 株式会社東芝 複数コンテンツのオブジェクト共有化システム
US6121968A (en) * 1998-06-17 2000-09-19 Microsoft Corporation Adaptive menus
AU4944699A (en) 1998-06-29 2000-01-17 Limt Technology Ab Method and apparatus for splicing data streams
US20030001880A1 (en) * 2001-04-18 2003-01-02 Parkervision, Inc. Method, system, and computer program product for producing and distributing enhanced media
US7100193B2 (en) * 2000-03-29 2006-08-29 Intellocity Usa, Inc. Rate controlled insertion of asynchronous data into a synchronous stream
JP2003512789A (ja) 1999-10-21 2003-04-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 再生装置及び記録担体を再生するための方法
US6580442B1 (en) 1999-12-01 2003-06-17 Ericsson Inc. Touch-based information processing device and method
US6661438B1 (en) 2000-01-18 2003-12-09 Seiko Epson Corporation Display apparatus and portable information processing apparatus
US7099567B2 (en) * 2000-04-21 2006-08-29 Matsushita Electric Industrial Co., Ltd. Video processing method and video processing apparatus
JP4734690B2 (ja) 2000-04-28 2011-07-27 ソニー株式会社 信号送出方法及び信号送出装置
FR2812237B1 (fr) * 2000-07-26 2002-12-27 Secap Dispositif et procede de commande centralisee d'impression et de conditionnement de courrier
WO2002028100A1 (fr) 2000-09-29 2002-04-04 Kabushiki Kaisha Toshiba Appareil d'enregistrement/de lecture et procede de programmation d'enregistrement de l'appareil d'enregistrement/de lecture
JP2002135676A (ja) 2000-10-27 2002-05-10 Canon Inc テレビジョン信号受信装置、その処理方法及び記録媒体
WO2002079902A2 (en) 2000-12-01 2002-10-10 Smartdisk Corporation Systems, methods and computer program products for managing multimedia content
US20020010715A1 (en) * 2001-07-26 2002-01-24 Garry Chinn System and method for browsing using a limited display device
US6959116B2 (en) * 2001-09-18 2005-10-25 Emc Corporation Largest magnitude indices selection for (run, level) encoding of a block coded picture
US9497452B2 (en) 2002-01-22 2016-11-15 Broadcom Corporation System and method of transmission and reception of video using compressed differential time stamps
US20040047588A1 (en) * 2002-03-27 2004-03-11 Tomoyuki Okada Package medium, reproduction apparatus, and reproduction method
AU2003239385A1 (en) * 2002-05-10 2003-11-11 Richard R. Reisman Method and apparatus for browsing using multiple coordinated device
US7360160B2 (en) 2002-06-20 2008-04-15 At&T Intellectual Property, Inc. System and method for providing substitute content in place of blocked content
US9445133B2 (en) * 2002-07-10 2016-09-13 Arris Enterprises, Inc. DVD conversion for on demand
JP3717880B2 (ja) 2002-10-01 2005-11-16 パイオニア株式会社 情報記録媒体、情報記録装置及び方法、情報再生装置及び方法、情報記録再生装置及び方法、記録又は再生制御用のコンピュータプログラム、並びに制御信号を含むデータ構造
US8145033B2 (en) 2003-02-05 2012-03-27 Lg Electronics Inc. Recording medium having data structure for managing reproducton duration of still pictures recorded thereon and recording and reproducing methods and apparatuses
US20040160463A1 (en) * 2003-02-18 2004-08-19 Battles Amy E. System and method for displaying menu information in an electronic display
KR100930351B1 (ko) 2003-02-25 2009-12-08 엘지전자 주식회사 고밀도 광디스크의 그래픽 및 서브타이틀 데이터관리방법
CN1757231B (zh) * 2003-02-28 2013-06-05 松下电器产业株式会社 再现装置、记录方法和再现方法
EP1465047A1 (en) 2003-04-03 2004-10-06 Deutsche Thomson-Brandt Gmbh Method for presenting menu buttons
US7233316B2 (en) * 2003-05-01 2007-06-19 Thomson Licensing Multimedia user interface
EP1689177A1 (en) 2003-07-01 2006-08-09 Pioneer Corporation Information recording medium, information recording apparatus and method, information reproducing apparatus and method, information recording/reproducing apparatus and method, computer program for recording or reproduction control, and data structure including control signal
CN1833286B (zh) 2003-07-01 2012-01-18 日本先锋公司 信息记录装置和方法、信息重放装置和方法、信息记录/重放装置和方法
ATE396587T1 (de) 2003-07-03 2008-06-15 Matsushita Electric Ind Co Ltd Aufzeichnungsmedium, wiedergabevorrichtung, aufzeichnungsverfahren, integrierte schaltung, programm und wiedergabeverfahren
EP1671483B1 (en) * 2003-10-06 2014-04-09 Disney Enterprises, Inc. System and method of playback and feature control for video players
KR101102630B1 (ko) 2003-11-12 2012-01-04 파나소닉 주식회사 기록매체, 재생장치 및 방법, 기록방법, 및 컴퓨터-판독가능한 기록매체
US8000580B2 (en) 2004-11-12 2011-08-16 Panasonic Corporation Recording medium, playback apparatus and method, recording method, and computer-readable program

Also Published As

Publication number Publication date
JP2008257846A (ja) 2008-10-23
CN101661767A (zh) 2010-03-03
KR101102679B1 (ko) 2012-01-05
KR101129121B1 (ko) 2012-03-27
KR20090121408A (ko) 2009-11-25
EP1683155A1 (en) 2006-07-26
US7634739B2 (en) 2009-12-15
US8490017B2 (en) 2013-07-16
CN101661767B (zh) 2011-07-27
JP4476338B2 (ja) 2010-06-09
CN1879170A (zh) 2006-12-13
CN100550178C (zh) 2009-10-14
KR101102639B1 (ko) 2012-01-04
WO2005048261A1 (en) 2005-05-26
US20100046932A1 (en) 2010-02-25
JP4170362B2 (ja) 2008-10-22
TW200527388A (en) 2005-08-16
KR20090121406A (ko) 2009-11-25
CN101661766B (zh) 2011-07-27
KR101076130B1 (ko) 2011-10-21
JP2008251153A (ja) 2008-10-16
TWI382404B (zh) 2013-01-11
CN101661789B (zh) 2011-07-27
CN101661766A (zh) 2010-03-03
US20100046608A1 (en) 2010-02-25
JP2008262678A (ja) 2008-10-30
JP2007515025A (ja) 2007-06-07
US20060291810A1 (en) 2006-12-28
US20100050126A1 (en) 2010-02-25
KR20060115749A (ko) 2006-11-09
JP4500859B2 (ja) 2010-07-14
CN101661789A (zh) 2010-03-03
KR20090121407A (ko) 2009-11-25

Similar Documents

Publication Publication Date Title
JP4476339B2 (ja) 記録媒体、再生装置、記録方法、プログラム、再生方法
JP4500860B2 (ja) 記録媒体、再生装置、記録方法、プログラム、再生方法
JP3993626B2 (ja) 再生装置,集積回路,プログラム,再生方法
JP4825293B2 (ja) 再生装置、記録方法、プログラム、再生方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100115

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100209

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100309

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4476339

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140319

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140319

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20150319

Year of fee payment: 5