JPWO2006059661A1 - 再生装置、画像合成方法、画像合成プログラム及び集積回路 - Google Patents
再生装置、画像合成方法、画像合成プログラム及び集積回路 Download PDFInfo
- Publication number
- JPWO2006059661A1 JPWO2006059661A1 JP2006547988A JP2006547988A JPWO2006059661A1 JP WO2006059661 A1 JPWO2006059661 A1 JP WO2006059661A1 JP 2006547988 A JP2006547988 A JP 2006547988A JP 2006547988 A JP2006547988 A JP 2006547988A JP WO2006059661 A1 JPWO2006059661 A1 JP WO2006059661A1
- Authority
- JP
- Japan
- Prior art keywords
- image
- plane
- application
- title
- playlist
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/93—Regeneration of the television signal or of selected parts thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
- H04N9/8042—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2537—Optical discs
- G11B2220/2541—Blu-ray discs; Blue laser DVR discs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/84—Television signal recording using optical recording
- H04N5/85—Television signal recording using optical recording on discs or drums
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
- H04N9/806—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal
- H04N9/8063—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal using time division multiplex of the PCM audio and PCM video signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/82—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
- H04N9/8205—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/82—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
- H04N9/8205—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
- H04N9/8227—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being at least another television signal
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
Description
メモリへの書き込みに係る技術が特許文献1に記載されており、この技術によれば、あるGUIオブジェクトにおいて再描画が発生した場合に、修復する必要がある領域を決定するチェック手段、及び、再描画する必要があるオブジェクトを決定する生成手段とによって、メモリへの不必要な書き込みを抑制するので、書き込みが抑制された分だけメモリバスバンド幅を有効に活用することができる。
通常、合成するプレーンは同サイズのプレーンを重畳して合成するが、動画像は元のフルスクリーンサイズからサイズを変更して表示する場合、即ち背景画像を覆い隠さない場合もあり、このときには背景画像は必要になるので合成する。
また、前記所定のサイズとは前記動画像が表示画面においてフルスクリーンで表示されるサイズのことであり、前記再生装置は更に、前記動画像に係るアプリケーションを実行する仮想マシン部を備え、前記合成出力手段は、前記アプリケーションの前記ビデオプレーンに対する縮小指示を受けて、前記背景画像を合成し、縮小指示がない場合には、前記背景画像を合成しないこととしてよい。
再生装置は、実行しているアプリケーションの指示に基づき動画像のサイズ変更を行っており、当該変更指示は通常ビデオプレーンに対してのみなされるが、この指示を受けて合成出力手段は、スチルプレーンからのデータの読み出しを実行するかどうかを判断する。この構成を備えることでスチルプレーンからのデータの出力の必要性の判断を容易に行うことができる。
これにより、記憶手段において、従来通常スチルプレーンと字幕を格納するための字幕プレーンとに別々に用意されたメモリ領域が共用されることによってプレーン一つ分のメモリ領域が空くことになり、空いたメモリ領域は他のデータの記憶に割り当てることができるようになるので、メモリを有効に活用できる。また、従来のようにスチルプレーンと字幕プレーンがある場合に比べてプレーン一つ分減少しており、当然にプレーン一つ減少した分だけアクセスするメモリバスバンド幅も少なくてすむ。
また、動画像を格納するためのビデオプレーンと、GUIとして表示する画像であるGUI画像を格納するためのイメージプレーンと、背景画像を格納するためのスチルプレーンとのメモリ領域を有する記憶手段を備える再生装置のコンピュータに画像を合成させるための処理手順を示した画像合成プログラムであって、前記ビデオプレーンに動画像を格納する動画像格納ステップと、前記イメージプレーンに前記GUI画像を格納するイメージ格納ステップと、前記スチルプレーンに前記背景画像を格納する背景画像格納ステップと、前記動画像が前記背景画像を完全に遮蔽できる所定のサイズである場合に、前記背景画像を読み出さず、前記動画像と前記GUI画像とを読み出し、重畳して合成した合成画像を表す画像信号を出力し、前記動画像が前記所定のサイズでない場合に、前記動画像と前記GUI画像と前記背景画像とを読み出し、重畳して合成した合成画像を表す画像信号を出力する合成出力ステップとを含むこととしてよい。
また、画像を合成して出力する再生装置に搭載される集積回路であって、動画像を格納するためのビデオプレーンと、GUIとして表示する画像であるGUI画像を格納するためのイメージプレーンと、背景画像を格納するためのスチルプレーンとのメモリ領域を有する記憶手段と、前記ビデオプレーンに動画像を格納する動画像格納手段と、前記イメージプレーンに前記GUI画像を格納するイメージ格納手段と、前記スチルプレーンに前記背景画像を格納する背景画像格納手段と、前記動画像が前記背景画像を完全に遮蔽できる所定のサイズである場合に、前記背景画像を読み出さず、前記動画像と前記GUI画像とを読み出し、重畳して合成した合成画像を表す画像信号を出力し、前記動画像が前記所定のサイズでない場合に、前記動画像と前記GUI画像と前記背景画像とを読み出し、重畳して合成した合成画像を表す画像信号を出力する合成出力手段とを備えることとしてよい。
2 リードバッファ
3 デマルチプレクサ
4 ビデオデコーダ
5 ビデオプレーン
6 サウンドプロセッサ
7 サウンドプロセッサ
8 ミキサー
9 サウンドコントローラ
10 D/Aコンバータ
11 Interactive Graphicsデコーダ
12 Interactive Graphicsプレーン
13 Presentation Graphicsデコーダ
14 Presentation Graphicsプレーン
15 JPEGデコーダ
16 Stillプレーン
17 Stillプレーン制御部
18a、18b、18c 合成部
19 STC−DELTA付加部
20 ATC−DELTA付加部
21 ローカルストレージ
22 命令ROM
23 ユーザイベント処理部
24 PSRセット
25 CPU
26 シナリオメモリ
27 ローカルメモリ
28 PGプレーン制御部
100 再生装置
以下、本発明の一実施形態である再生装置について図面を用いて説明する。
<構成>
<使用形態の構成>
まず、図1には再生装置の使用行為についての形態を示した。
ユーザ操作を受けるためにリモコン120があり、当該リモコン130には、再生装置100を制御するための各種キーが搭載されている。この各種キーには、再生開始(Play)、再生停止(Stop)、一時停止(Pause On)、一時停止の解除(Pause Off)、Still機能の解除(still off)、速度指定付きの早送り(Forward Play(speed))、速度指定付きの巻戻し(Backward Play(speed))、音声切り換え(Audio Change)、副映像切り換え(Subtitle Change)、アングル切り換え(Angle Change)を受け付けるキーや、メニュー操作時にあたってのフォーカス移動操作を受け付けるMoveUpキー、MoveDownキー、MoveRightキー、MoveLeftキー、メニュー表示操作を受け付けるPop−upキー、数値入力を受け付けるNumericキーが含まれる。
<再生装置100のハードウェア構成>
次に、図2を用いて、再生装置100の機能構成について説明する。
本発明に係る再生装置100は、本図に示す内部構成に基づき、工業的に生産される。本発明に係る再生装置100は、主としてシステムLSI(Large Scale Integration)と、ドライブ装置という2つのパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムLSIは、再生装置の機能を果たす様々な処理部を集積した集積回路である。こうして生産される再生装置100は、BD−ROMドライブ1、リードバッファ2、デマルチプレクサ3、ビデオデコーダ4、ビデオプレーン5、サウンドプロセッサ6、サウンドプロセッサ7、ミキサー8、サウンドコントローラ9、D/Aコンバータ10、Interactive Graphicsデコーダ11、Interactive Graphicsプレーン12、Presentation Graphicsデコーダ13、Presentation Graphicsプレーン14、JPEGデコーダ15、Stillプレーン16、Stillプレーン制御部17、合成部18a、18b、18c、STC−DELTA付加部19、ATC−DELTA付加部20、ローカルストレージ21、命令ROM22、ユーザイベント処理部23、PSRセット24、CPU25、シナリオメモリ26、ローカルメモリ27を含んで構成される。
リードバッファ2は、FIFO(First In First Out)メモリであり、BD−ROMから読み出されたTSパケットを順に格納した先に格納されたパケットから順次出力する機能を有する。
デマルチプレクサ(De−MUX)3は、リードバッファ2からSourceパケットを取り出して、このSourceパケットを構成するTSパケットをPESパケットに変換する機能を有する。そして変換により得られたPESパケットのうち、STN_Tableに記載されたものの中からPID(Packet IDentifier)をもつものをビデオデコーダ4、オーディオデコーダ6、Interactive Graphicsデコーダ11、Presentation Graphicsデコーダ13のいずれかに出力する機能も有する。Sourceパケット及び、STN_Tableの詳細に関しては後述する。
ビデオプレーン5は、非圧縮形式のピクチャを格納しておくためのプレーンである。プレーンとは、再生装置100において一画面分の画素データを格納しておくためのメモリ領域である。ビデオプレーンはビデオでコーダによって書き込まれたデータを格納し出力する機能を有する。ビデオプレーン5における解像度は1920×1080であり、このビデオプレーン5に格納されたピクチャデータは、16ビットのYUV値で表現された画素データにより構成される。ビデオプレーン5では、ビデオストリームにおける一フレーム毎の再生映像を、スケーリングすることができる。スケーリングとは、一フレーム毎の再生画像をビデオプレーン5全体の1/4(クオータという)、1/1(フルスケールという)のどちらかに変化させることである。かかるスケーリングを、BD−JモードにおいてCPU25からの指示に従い実行するので、ビデオストリームの再生画像を、画面の隅に追いやったり、全面的に出すという画面演出が可能になる。
サウンドプロセッサ7は、BD−ROMから読み出されたファイルsound.bdmvをプリロードしておく機能を有するプリロードバッファ7aと、プリロードされたファイルsound.bdmvにおける複数のサウンドデータのうち、CPU25により指示されたものをデコードして、PCM状態のオーディオデータを出力する機能を有するオーディオデコーダ7bとを含む。プリロードバッファ7aへのプリロードは、BD−ROMの装填時やタイトル切替時に行うことが望ましい。何故なら、AVClipの再生中にファイルsound.bdmvを読み出そうとすると、AVClipとは別のファイルを読み出すための光ピックアップのシークが発生するからである。一方、BD−ROMの装填時やタイトル切替時には、AVClipの再生が継続していることは希なので、かかるタイミングにファイルsound.bdmvを読み出すことにより、AVClip再生が途切れないことを、保証することができる。
サウンドコントローラ9は、サウンドミキサ8から出力された展開された状態のオーディオデータ、及び、サウンドプロセッサ6を介さずに圧縮された状態のオーディオデータのうち、どちらを出力するか切り換える機能を有する。圧縮された状態のオーディオデータを出力する場合は、その出力先の機器(テレビ)においてデコードされる。
I−Graphicsデコーダ(IGデコーダ)11は、BD−ROM又はローカルストレージ21から読み出されたIGストリームをデコードして、非圧縮グラフィクスをInteractive Graphicsプレーン12に書き込む機能を有する。
P−Graphicsデコーダ13は、BD−ROM又はローカルストレージ21から読み出されたPGストリームをデコードして、非圧縮グラフィクスをPresentation Graphics(PG)プレーン11に書き込む機能を有する。P−Graphicsデコーダ13によってデコードされ、Prensentation Graphicsプレーン11に書き込まれたデータが合成されることにより字幕が画面上に現れることになる。
JPEGデコーダ15は、BD−ROM又はローカルストレージ21に記録されているJPEGデータをデコードして、Stillプレーン16に書き込む機能を有する。
Stillプレーン16は、JPEGデータを展開することで得られた非圧縮のグラフィクスデータが格納されるプレーンである。このグラフィクスデータは、Java(登録商標)アプリが描画する、GUIフレームワークのいわゆる“壁紙”として用いられる。
STC_delta=PTS1(1stEND)+Tpp−PTS2(2ndSTART)
として表現される。以上のようにSTC_deltaを求め、これが足し合わされたクロックの計数値を各デコーダに出力する。これにより各デコーダは、2つのSTC_Sequenceにあたるストリームを途切れなく再生してゆくことができる。以上のにより、1つのAVClipの中に、2以上のSTC_Sequenceが存在したとしても、また、連続して再生されるべき2以上のAVClipのそれぞれが、異なるSTC_Sequenceをもっていたとしても、これらのSTC_Sequence間のデコード処理を、シームレスに実行することができる。
1)STC2(2ndSTART)>STC2(1stEND)をみたすこと。
2)TS1からのTSパケットの取り出しと、TS2からのTSパケットの取り出しとが、同じ時間軸に投影されたSTC1と、STC2とにより定義され、バッファのアンダーフローや、オーバーフローをもたらさないこと。
ATC_delta付加部19は、ATC(Arrival Time Clock)を生成する機能を有する。そしてATC_Sequenceの切り換わり時において、それまでのATC_SequenceにおけるATC値(ATC1)に、ATC_deltaと呼ばれるオフセット値を加算することにより、それまでのATC_SequenceにおけるATC値(ATC1)と、新しいATC_SequenceのATC値(ATC2)とを連続した値にする。この加算により、ATC2=ATC1+ATC_deltaになる。ATC_deltaとは、これまで読み出されているトランスポートストリーム(TS1)の最後のTSパケットの入力時点T1から、新たに読み出されたトランスポートストリーム(TS2)の最初のTSパケットの入力時点T2までのオフセット値をいい、“ATC_delta≧N1/TS_recording_rate”という計算式で与えられる。ここで入力時点T2は、TS2の最初のTSパケットの入力時点を、TS1の時間軸上に投影した時点を意味する。またN1は、TS1の最後のビデオPESパケットに後続する、TSパケットのパケット数である。BD−ROMにおいてかかるATC_deltaは、Clip情報に記述されるので、これを用いることにより、ATC_deltaを計算することができる。以上の計算により、これまでのATC_SequenceがもっているATC値(ATC1)と、新たなATC_SequenceがもっているATC値(ATC2)とを、連続した値にすることができる。ATC_deltaが足し合わされたクロックの計数値をデマルチプレクサ(De−MUX)3に出力することで、シームレスなバッファ制御を実現することができる。
ローカルストレージ21は、webサイトからダウンロードされたコンテンツ等、BD−ROM以外の記録媒体、通信媒体から供給されたコンテンツを、メタデータと共に格納しておく機能を有するハードディスクである。このメタデータは、ダウンロードコンテンツをローカルストレージ21にバインドして管理するための情報であり、このローカルストレージ21をアクセスすることで、BD−Jモードにおけるアプリケーションは、ダウンロードコンテンツ長さを利用した様々な処理を行うことができる。
命令ROM22は、再生装置の制御を規定するソフトウェアを記憶している。
ユーザイベント処理部23は、リモコンや再生装置のフロントパネルに対するキー操作に応じて、その操作を行うユーザイベントをCPU25に出力する。
PSR4は、1〜100の値に設定されることで、現在の再生時点が属するタイトルを示し、0に設定されることで、現在の再生時点がトップメニューであることを示す。
PSR6は、0〜999の値に設定されることで、現在の再生時点が属するプレイリスト(カレントPL)の番号を示す。
PSR8は、0〜OxFFFFFFFFの値に設定されることで、45KHzの時間精度を用いて現在の再生時点(カレントPTM(Presentation TiMe))を示す。以上のPSR4〜PSR8により、図18(a)におけるBD−ROM全体の時間軸において、現在の再生時点はどこであるかを特定することができる。
シナリオメモリ26は、カレントのPL情報やカレントのClip情報を格納しておく機能を有するメモリである。カレントPL情報とは、BD−ROMに記録されている複数プレイリスト情報のうち、現在処理対象になっているものをいう。カレントClip情報とは、BD−ROMに記録されている複数Clip情報のうち、現在処理対象になっているものをいう。
以上が、本実施形態に係る再生装置のハードウェア構成である。
<再生装置100のソフトウェア構成>
続いて本実施形態に係る再生装置のソフトウェア構成について説明する。
a)BD Player Deviceの第1階層、
b)BD Player Modelの第2階層、
c)Application Runtime Enviromentの第3階層からなる。
b1)Virtual File System30及びPresentation Engine31の層
b2)Playback Control Engine32の層
からなり、自身より上位の階層に対し、ファンクションAPIを提供する。
第3階層”Application Runtime Enviroment”は、以下のc1),c2)の階層からなる。つまり、
c1)モジュールマネージャ34が存在する層、
c2)BD−Jプラットフォーム35が存在する層
からなる。
Virtual File System30は、ローカルストレージ21に格納されたダウンロードコンテンツを、BD−ROMにおけるディスクコンテンツと一体的に取り扱うための仮想的なファイルシステムである。ここでローカルストレージ21に格納されたダウンロードコンテンツは、SubClip、Clip情報、プレイリスト情報を含む。このダウンロードコンテンツにおけるプレイリスト情報はBD−ROM及びローカルストレージ21のどちらに存在するClip情報であっても、指定できる点で、BD−ROM上のプレイリスト情報と異なる。この指定にあたって、Virtual File System30上のプレイリスト情報は、BD−ROMやローカルストレージ21におけるファイルをフルパスで指定する必要はない。BD−ROM上のファイルシステムやローカルストレージ21上のファイルシステムは、仮想的な1つのファイルシステム(Virtual File System30)として、認識されるからである。故に、PlayItem情報におけるClip_Information_file_nameは、Clip情報の格納したファイルのファイルボデイにあたる5桁の数値を指定することにより、Virtual File System30、BD−ROM上のAVClipを指定することができる。Virtual File System30を介してローカルストレージ21の記録内容を読み出し、BD−ROMの記録内容と動的に組み合わせることにより、様々な再生のバリエーションを産み出すことができる。ローカルストレージ21と、BD−ROMとを組合せてなるディスクコンテンツは、BD−ROMにおけるディスクコンテンツと対等に扱われるので、本発明においてBD−ROMには、ローカルストレージ21+BD−ROMの組合せからなる仮想的な記録媒体をも含むことにする。
以上がPresentation Engine31〜モジュールマネージャ34についての説明である。続いてBD−Jプラットフォーム35について説明する。
<Java(登録商標)仮想マシン36>
図4は、Java(登録商標)仮想マシン36の内部構成を示す図である。本図に示すようにJava(登録商標)仮想マシン36は、図33に示したCPU24と、ユーザクラスローダ52、メソッドエリア53、ワークメモリ54、スレッド55a,b・・・n、Java(登録商標)スタック56a,b・・・nとから構成される。
ワークメモリ54は、いわゆるヒープエリアであり、様々なクラスファイルのインスタンスが格納される。図3に示したアプリケーションマネージャ37は、このワークメモリ54に常駐するレジデントアプリケーションである。ワークメモリ54には、これらレジデント型のインスタンスの他に、メソッドエリア53に読み出されたクラスファイルに対応するインスタンスが格納される。このインスタンスが、アプリケーションを構成するxletプログラムである。かかるxletプログラムをワークメモリ54に配置することによりアプリケーションは実行可能な状態になる。
スレッド55a,b・・・nは、ワークメモリ54に格納されたメソッドを実行する論理的な実行主体であり、ローカル変数や、オペランドスタックに格納された引数をオペランドにして演算を行い、演算結果を、ローカル変数又はオペランドスタックに格納する。図中の矢印ky1,ky2,kynは、ワークメモリ54からスレッド55a,b・・・nへのメソッド供給を象徴的に示している。物理的な実行主体がCPU唯1つであるのに対し、論理的な実行主体たるスレッドは、最大64個Java(登録商標)仮想マシン36内に存在し得る。この64個という数値内において、スレッドを新規に作成することも、既存のスレッドを削除することも可能であり、スレッドの動作数は、Java(登録商標)仮想マシン36の動作中において増減し得る。スレッドの数は適宜増やすことができるので、複数スレッドにより1つのインスタンスの並列実行を行い、インスタンスの高速化を図ることもできる。本図ではCPU24と、スレッドとの対応関係は、1対多の関係にしているが、CPUが複数ある場合、CPUとスレッドとの対応関係は多対多の関係になりうる。スレッド55a,b・・・nによるメソッド実行は、メソッドをなすバイトコードを、CPU24のネイティブコードに変換した上、CPU24に発行することでなされる。
<アプリケーションマネージャ37>
続いてアプリケーションマネージャ37について、説明する。アプリケーションマネージャ37は、Java(登録商標)仮想マシン36内のワークメモリ上で動作するシステムソフトウェアであり、タイトル分岐が発生する度に、分岐前タイトルでは実行されていないが、新たなタイトルではAutoRunの起動属性を有するアプリケーションを起動するようJava(登録商標)仮想マシン36に指示する。それと共に、分岐前タイトルでは実行されていたが、新たなタイトルを生存区間としないアプリケーションを終了させる。これら起動制御及び終了制御は、カレントBD−J Objectにおけるアプリケーション管理テーブルを参照した上でなされる。
<BD−ROMの構成>
次にBD−ROM110に記録されているデータに関して説明する。
図5に示すように、BD−ROM110には、Rootディレクトリの下に、BDMVディレクトリがある。
BDMVディレクトリには、拡張子bdmvが付与されたファイル(index.bdmv,MovieObject.bdmv)がある。そしてこのBDMVディレクトリの配下には、更にPLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリ、BDBJディレクトリ、BDJAディレクトリ、AUXDATAディレクトリと呼ばれる6つのサブディレクトリが存在する。
CLIPINFディレクトリには、拡張子clpiが付与されたファイル(00001.clpi,00002.clpi,00003.clpi)がある。
STREAMディレクトリには、拡張子m2tsが付与されたファイル(00001.m2ts,00002.m2ts,00003.m2ts)がある。
BDJAディレクトリには、拡張子jarが付与されたファイル(00001.jar,00002.jar,00003.jar)がある。以上のディレクトリ構造により、互いに異なる種別の複数ファイルが、BD−ROM上に配置されていることがわかる。
<BD−ROMの構成その1.AVClip>
先ず初めに、拡張子.m2tsが付与されたファイルについて説明する。図6は、拡張子.m2tsが付与されたファイルがどのように構成されているかを模式的に示した図である。拡張子.m2tsが付与されたファイル(00001.m2ts、00002.m2ts、00003.m2ts・・・・・)は、AVClipを格納している。AVClipはMPEG2−Transport Stream形式のデジタルストリームである。このデジタルストリームは、フィルム映像、NTSC(National Television Standards Committee)映像、PAL(Phase Alternation by Line)処理をデジタル化することにより得られたデジタルビデオ、LPCM(Linear Pulse Code Modulation)音源、AC−3音源、DTS(Digital Surround)音源をデジタル化することにより得られたデジタルオーディオを(上1段目)、PESパケットからなるエレメンタリストリームに変換し(上2段目)、更にTSパケットに変換して(上3段目)、同じく字幕系のプレゼンテーショングラフィクスストリーム(Presentatiion Graphics(PG)ストリーム)及び対話系のインタラクティブグラフィクスストリーム(Interactive Graphics(IG)ストリーム)を(下1段目)を、PESパケット列に変換し(下2段目)、更にTSパケットに変換して(下3段目)、これらを多重化することで構成される。
ビデオストリームのうち、1つのPTSで再生される再生単位(ピクチャ等)を、“Video Presentation Unit”という。オーディオストリームのうち、1つのPTSで再生される再生単位を、“Audio Presentation Unit”という。
続いて拡張子.clpiが付与されたファイルについて説明する。拡張子.clpiが付与されたファイル(00001.clpi,00002.clpi,00003.clpi・・・・・)は、Clip情報を格納している。Clip情報は、個々のAVClipについての管理情報である。図7は、Clip情報の内部構成を示す図である。本図の左側に示すようにClip情報は、
i)AVClipについての情報を格納した『ClipInfo()』、
ii)ATC Sequence,STC Sequenceに関する情報を格納した『Sequence Info()』
iii)Program Sequenceに関する情報を格納した『Program Info()』
iv)『Characteristic Point Info(CPI())』
を含んで構成される。
以下、具体例を通じて、EP_mapについて説明する。図8は、映画のビデオストリームに対するEP_map設定を示す図である。第1段目は、表示順序に配置された複数のピクチャ(MPEG4−AVCに規定されたBピクチャ、IDRピクチャ、Pピクチャ)を示し、第2段目は、そのピクチャにおける時間軸を示す。第4段目は、BD−ROM上のTSパケット列を示し、第3段目は、EP_mapの設定を示す。
<PlayList情報>
続いて、PlayList情報について説明する。拡張子“mpls”が付与されたファイル(00001.mpls)は、PlayList(PL)情報を格納したファイルである。PlayList情報は、MainPathと呼ばれる再生経路と、これに対応する再生情報とをプレイリスト(PL)として定義する情報である。
MainPathとは、主たるAVClip上に定義される再生経路である。一方Subpathは、SubClip上に定義される再生経路である。ここでSubClipとは、動画像たるビデオストリームを含まないAVClipである。
先ずMainPathについて説明する。MainPathは、主映像たるビデオストリームやオーディオストリームに対して定義される再生経路である。
MainPathは、矢印mp1で示すように複数のPlayItem情報#1・・・・#mから定義される。
PlayItem情報は、MainPathを構成する1つ以上の論理的な再生区間を定義する。PlayItem情報の構成は、引き出し線hs1によりクローズアップされている。この引き出し線に示すようにPlayItem情報は、再生区間のIN点及びOut点が属するAVClipの再生区間情報のファイル名を示す『Clip_Information_file_name』と、AVClipの符号化方式を示す『Clip_codec_identifier』と、再生区間の始点を示す時間情報『IN_time』と、再生区間の終点を示す時間情報『OUT_time』と、『STN_table』とから構成される。
PlayList情報は、PlayItem情報#1,#2という2つのPlayItem情報を含んでおり、これらPlayItem情報#1,#2のIn_time,Out_timeにより、2つの再生区間が定義されることになる。これらの再生区間を配列させると、AVClip時間軸とは異なる時間軸が定義されることになる。これが第1段目に示すPlayItem時間軸である。このように、PlayItem情報の定義により、AVClipとは異なる時間軸の定義が可能になる。
STN_tableは、Play ItemのClip_Information_file_nameで指定されているAVClipに多重化された複数エレメンタリストリームのうち、再生可能なものを示すテーブルである。具体的にいうとSTN_tableは、複数エレメンタリストリームのそれぞれについてのentryを、attributeと対応付けることで構成される。
entry−attributeの詳細について説明する。図11は、entry−attributeの詳細を示す図である。
ビデオストリームにおけるentryは、AVClipを多重分離するにあたって、当該ビデオストリームの抽出に用いられるPIDを示す『ref_to_stream_PID_of_mainClip』を含む。
ビデオストリームにおけるattributeは、0x02に設定された『stream_coding_type』と、ビデオストリームの表示レートを示す『Frame_rate』等を含む。
オーディオストリームにおけるentryは、AVClipを多重分離するにあたって、当該オーディオストリームの抽出に用いられるPIDを示す『ref_to_stream_PID_of_mainClip』を含む。
図12(c)は、PGストリームに対応したentry−attributeの組みを示す図である。
PGストリームにおけるentryは、AVClipを多重分離するにあたって、当該PGストリームの抽出に用いられるPIDを示す『ref_to_stream_PID_of_mainClip』を含む。
図12(d)は、IGストリームに対応したentry−attributeの組みを示す図である。
IGストリームにおけるentryは、AVClipを多重分離するにあたって、当該IGストリームの抽出に用いられるPIDを示す『ref_to_stream_PID_of_mainClip』を含む。
<PlayList情報の説明その2.PlayListMark>
以上が、本実施形態に係るPlayItem情報についての説明である。続いてPlayListMark情報について説明する。
本図の第1段目は、PLMark情報と、PL時間軸とを示す。この第1段目には、2つのPLMark情報#1〜#2が存在する。矢印kt1,2は、PLMark情報のref_to_PlayItem_Idによる指定を示す。この矢印からもわかるように、PLMark情報のref_to_PlayItem_Idは、PlayItem情報のそれぞれを指定していることがわかる。また、Mark_time_Stampは、PlayItem時間軸のうち、Chapter#1,#2になるべき時点を示す。このように、PLMark情報は、PlayItem時間軸上に、チャプター点を定義することができる。
<Movie Object>
Movie Objectは、図5に示したMovieObject.bdmvというファイルに格納され、ナビゲーションコマンド列を含む。
ナビゲーションコマンド列は、条件分岐、再生装置における状態レジスタの設定、状態レジスタの設定値取得等を実現するコマンド列からなる。Movie Objectにおいて記述可能なコマンドを以下に示す。
1)PlayPLコマンド
書式:PlayPL(第1引数,第2引数)
第1引数は、プレイリストの番号で、再生すべきプレイリストを指定することができる。第2引数は、そのプレイリストに含まれるPlayItemや、そのプレイリストにおける任意の時刻、Chapter、Markを用いて再生開始位置を指定することができる。
ChapterによりPL時間軸上の再生開始位置を指定したPlayPL関数をPlayPLatChapter()、
時刻情報によりPL時間軸上の再生開始位置を指定したPlayPL関数をPlayPLatSpecified Time()という。
2)JMPコマンド
書式:JMP引数
JMPコマンドは、現在の動的シナリオを途中で廃棄し(discard)、引数たる分岐先動的シナリオを実行するという分岐である。JMP命令の形式には、分岐先動的シナリオを直接指定している直接参照のものと、分岐先動的シナリオを間接参照している間接参照のものがある。
以上でMovie Objectについての説明を終える。続いてBD−J Objectについて説明する。
<BD−J Object>
BD−J Objectは、Java(登録商標)プログラミング環境で記述された、BD−Jモードの動的シナリオであり、00001〜00003.bobjというファイルに格納される。
このBD−JモードにおけるJava(登録商標)アプリケーションについて説明する。ここでBD−Jモードが想定しているJava(登録商標)プラットフォームは、Java(登録商標)2Micro_Edition(J2ME)Personal Basis Profile(PBP1.0)と、Globally Executable MHP specification(GEM1.0.2)for package media targetsとをフル実装したものである。
上述したJava(登録商標)プラットフォームは、JFIF(JPEG)やPNG,その他のイメージデータを表示するためのスタンダードJava(登録商標)ライブラリを含む。このため、Java(登録商標)アプリケーションは、HDMVモードにおいてIGストリームにより実現されるGUIとは異なるGUIフレームワークを実現することができる。Java(登録商標)アプリケーションにおけるGUIフレームワークは、GEM1.0.2にて規定されたHAVi(Home Audio/Video interoperability)フレームワークを含み、GEM1.0.2におけるリモートコントロールナビゲーション機構を含む。
このJava(登録商標)アプリケーションの実体にあたるのが、図2におけるBDMVディレクトリ配下のBDJAディレクトリに格納されたJava(登録商標)アーカイブファイル(00001.jar,00002.jar)である。以降、Java(登録商標)アーカイブファイルについて、図16を参照しながら説明する。
Java(登録商標)アーカイブファイル(図2の00001.jar,00002.jar)は、1つ以上のクラスファイル、1つ以上のデータファイル等を1つにまとめることで得られるファイルであり、BD−Jモードにおいて動作すべきJava(登録商標)アプリケーションを構成する。
図16は、アーカイブファイルにより収められているプログラム、データを示す図である。本図におけるプログラム、データは、枠内に示すディレクトリ構造が配置された複数ファイルを、java(登録商標)アーカイバでまとめたものである。枠内に示すディレクトリ構造は、Rootディレクトリ、Java(登録商標)1,2,3ディレクトリ、Image1,2,3ディレクトリとからなり、Rootディレクトリにcommon.pkgが、Java(登録商標)1,Java(登録商標)2,Java(登録商標)3ディレクトリにクラスファイル(00001.class〜00007.class)が、Image1,Image2,Image3ディレクトリに、00001.JPEG〜00003.JPEG、00004.PNG〜00006.PNGが配置されている。java(登録商標)アーカイブファイルは、これらをjava(登録商標)アーカイバでまとめることで得られる。かかるクラスファイル及びデータは、BD−ROMからキャッシュに読み出されるにあたって展開され、キャッシュ上で、ディレクトリに配置された複数ファイルとして取り扱われる。Java(登録商標)アーカイブファイルのファイル名における″zzzzz″という5桁の数値は、アプリケーションのID(applicationID)を示す。本Java(登録商標)アーカイブファイルがキャッシュに読み出された際、このファイル名における数値を参照することにより、任意のJava(登録商標)アプリケーションを構成するプログラム,データを取り出すことができる。
以上が、BD−Jモードにおける動的シナリオについての説明である。
<Index.bdmv>
Index.bdmvは、タイトルを構成する、Movie Object又はBD−J Objectを示すテーブルである。
Index.bdmvについては、以下の国際公開公報に詳細が記載されている。詳細については、本公報を参照されたい。
国際公開公報WO 2004/025651 A1公報
以降、図15に示したアプリケーション管理テーブル、プレイリスト管理テーブルのそれぞれについてより詳しく説明する。
アプリケーション管理テーブル(AMT)について説明する。アプリケーション管理テーブル(AMT)とは、上述したGEM1.0.2for package media targetsにおける“アプリケーション シグナリング”を実装するテーブルである。“アプリケーション シグナリング”とは、GEM1.0.2が規定するMHP(Multimedia Home Platform)において、“サービス”を生存区間としてアプリケーションの起動、実行を行う制御をいう。本実施形態におけるアプリケーション管理テーブルは、この“サービス”の代わりに、BD−ROMにおける“タイトル”を生存区間にして、アプリケーションの起動、実行の制御を実現する。
図17(b)は、アプリケーション管理テーブルを構成する情報要素の意味内容を示す。
『apli_id_ref』は、”アプリケーション識別子”に対する参照値が記述されることにより、左記の生存区間をもつアプリケーションがどれであるかを示す。アプリケーション識別子は、Java(登録商標)アーカイブファイルにおいて、ファイル名として付与された5桁の数値zzzzzで表現される。『apli_id_ref』には、この5桁の数値が記述される。
『run_priority』は、当該生存区間におけるアプリケーションの”起動優先度”が記述される。BD−J Objectでは、これらの情報を用いてアプリケーションの挙動を制御する。
<生存区間>
ここでアプリケーション管理テーブルに規定される情報のうち、生存区間について説明する。
Java(登録商標)仮想マシンにおいてアプリケーションを動作させる場合、時間軸の何処からアプリケーションによるサービスを開始し、時間軸の何処でアプリケーションによるサービスを終えるかという”サービスの開始点・終了点”を明確に規定することが重要になる。このサービスの開始点・終了点を規定するのが、アプリケーション管理テーブルにおける生存区間である。
それでは、図18のような状態遷移をなすディスクコンテンツにおいて、Titleは、どのように生存区間として規定されるのであろうか。BD−ROMのローディングがなされた後、図18において矢印jh1,2,3,4・・・・・に示された参照符号の数値順に分岐がなされ、BD−ROMがイジェクトされたものとする。そうすると、BD−ROMがローディングされてから、イジェクトされるまでの連続時間帯を一本の時間軸と同視することができる。この時間軸を、ディスク全体の時間軸とする。図19(a)は、ディスク全体の時間軸を示す図であり、図19(b)は、この時間軸における構成を示す。図19(b)に示すように、ディスク全体の時間軸は、FirstPlay Titleが再生されている区間、TopMenu Titleが再生されている区間、title#1が再生されている区間等からなる。これらTitleの再生区間はどのように規定されているかというと、Titleは、唯一のBD−J Objectから構成されるから、どれかのMovieObject又はBD−J Objectが、有効になっている期間をTitleの再生区間と考えることができる。
続いてTitle区間と、PL時間軸との関係について説明する。上述したようにMovieObject、BD−J Objectでは、1つの処理手順としてプレイリスト再生手順を記述することができる。プレイリスト再生手順の記述があれば、上述したPL時間軸の全部又は一部がTitle区間に帰属することになる。図20(a)の一例においてBD−J Objectに、プレイリスト管理テーブルが記述されているとする。この場合、BD−J Objectに対応するTitle区間には、図20(b)に示すように、PL時間軸が帰属する。このPL時間軸には更に、複数チャプター(Chapter#1,#2,#3)が定義され得るため、BD−ROM上の時間軸には、BD−ROM全体−Title−プレイリスト−チャプターというドメインが存在することになる。これらのドメインを用いて、アプリケーションの生存区間を記述することができる。尚、プレイリスト再生は、アプリケーション実行と同時になされため、プレイリスト再生の途中で、Title分岐が発生することがある。この場合、1つのTitle再生区間内にはプレイリスト時間軸全体ではなく、プレイリスト時間軸の一部分のみが帰属することになる。つまり1つのTitleの再生区間において、プレイリスト時間軸の全体が帰属するか、その一部分が帰属するかは、Title分岐が何時発生するかによって変わる。
プラットフォームが動作していたとしても、Titleやチャプターという生存区間が終われば、リソースをアプリケーションから回収することができる。リソース回収の機会を保証するので、プラットフォームの動作を安定化させることができる。
タイトル間分岐があった場合でも、分岐元−分岐先において生存しているアプリケーションはワークメモリ上に格納しておき、分岐元にはなく、分岐先にのみ存在するアプリケーションをワークメモリに読み込めば良いから、アプリケーションをワークメモリに読み込む回数は必要最低数になる。このように、読込回数を少なくすることにより、タイトルの境界を意識させないアプリケーション、つまりアンバウンダリなアプリケーションを実現することができる。
「AutoRun」は、対応するタイトルの分岐と同時に、そのアプリケーションをワークメモリに読み込み、且つ実行する旨を示す属性である。あるタイトルから、別のタイトルへの分岐があると、アプリケーション管理を行う管理主体(アプリケーションマネージャ)は、その分岐先タイトルにおいて生存しており、かつ起動属性がAutoRunに設定されたアプリケーションを仮想マシンのワークメモリに読み込み実行する。これによりそのアプリケーションは、タイトル分岐と共に自動的に起動されることになる。
図24は、起動属性がとり得る三態様(Present、AutoRun、Suspend)と、直前タイトルにおけるアプリケーション状態の三態様(非起動、起動中、Suspend)とがとりうる組合せを示す図である。直前状態が”非起動”である場合、起動属性が”AutoRun”であるなら、分岐先タイトルにおいてそのアプリケーションは、起動されることになる。
直前状態が”起動中”である場合、起動属性が”Present”、”AutoRun”であるなら、分岐先タイトルにおいてそのアプリケーションは、何もせず、状態を継続することになる。
最後に、各アプリケーションに対する”起動優先度”について説明する。
この起動優先度は、0〜255の値をとり、メモリリソース枯渇時や、CPU負荷が高まった時に、どのアプリケーションを強制的に終了させるか、また、どちらのアプリケーションからリソースを奪うかという処理をアプリケーションマネージャが行うにあたっての判断材料になる。この場合、アプリケーションマネージャは、起動優先度が低いアプリケーションの動作を終了し、起動優先度が高いアプリケーションの動作を継続させるとの処理を行う。
<プレイリスト管理テーブル>
以上がアプリケーション管理テーブルについての説明である。続いてプレイリスト管理テーブル(PLMT)について説明する。プレイリスト管理テーブルとは、アプリケーションの生存区間において、各アプリケーション実行と同時に行うべき再生制御を示すテーブルである。アプリケーションの動作というのは不安定であり、起動の失敗や異常終了がありうる。そこで起動失敗、異常終了があった場合のFail Safe機構として、本実施形態ではアプリケーションの生存区間毎に、プレイリスト管理テーブルを設けている。プレイリスト管理テーブルは、あるアプリケーションの生存区間が開始した際、これと同時に行うべき再生制御を規定する情報である。この再生制御とは、プレイリスト情報に基づくAVClip再生であり、プレイリスト情報による再生制御を同時に行うことで、アプリケーション実行と、プレイリスト再生とが同時になされることになる。プレイリスト管理テーブルは、アプリケーションの生存区間毎に設けられるとしたが、プレイリスト管理テーブルが設けられるアプリケーションは、タイトルバウンダリのアプリケーションに限られる。何故ならタイトルアンバウンダリーアプリケーションは、全タイトルを生存区間にしているため、アプリケーション実行と同時にプレイリスト再生を行うという制御は、適合しないからである。
図25(a)は、プレイリスト管理テーブルの内部構成を示す図である。本図に示すようにプレイリスト管理テーブルは、『PL_id_ref』と、『Playback_Attribute』とからなる。
『PL_id_ref』は、プレイリスト識別子に対する”参照値”が記述されることにより、アプリケーションの生存区間において再生可能となるプレイリストがどれであるかを示す。プレイリスト識別子は、ファイルYYYYY.MPLSにおいて、ファイル名として付与された5桁の数値YYYYYで表現される。このYYYYYが記述されることにより、『PL_id_ref』は、対応するTitleにおいて再生可能となるプレイリストがどれであるかを示す。
『AutoPlay』とは、対応するタイトルの分岐と同時に、そのプレイリストを再生させる旨を示す属性である。あるタイトルから、別のタイトルへの分岐があると、アプリケーション管理を行う管理主体(アプリケーションマネージャ)は、その分岐先タイトルにおいて再生可能であり、かつ再生属性がAutoPlayに設定されたプレイリストの再生を開始する。これにより起動属性がAutoPlayに設定されたプレイリストは、タイトル分岐と共に自動的に起動されることになる。
また、再生属性が「Present」である場合、この再生属性が付与されたプレイリストは、他のアプリケーションからの再生要求により再生されることになる。アプリケーション管理を行う管理主体(アプリケーションマネージャ)は、起動中のアプリケーションから、プレイリストの再生要求があると、要求を受けたプレイリストのPL_id_refが、プレイリスト管理テーブルに記述されていて、再生属性が「AutoPlay」か「Present」のいずれかか否かを判定する。「AutoPlay」か「Present」のいずれかであれば、そのプレイリストを再生する。一方、要求を受けたプレイリストのPL_id_refがプレイリスト管理テーブルに記述されていない場合、そのプレイリストを再生しない。アプリケーションの要求によるプレイリスト再生は、この「AutoPlay」か「Present」のいずれかが付与されたプレイリストに限られることになる。「Present」は、再生属性を明示的に指定しない場合に付与されるデフォルトの再生属性であるから、あるプレイリストの再生属性が無指定「−−」であるとそのプレイリストの再生属性はこのPresentであることを意味する。
図27は、カレントタイトルがとり得る三態様(プレイリスト管理テーブル無し(i)、プレイリスト管理テーブル有りで尚且つAutoPlay(ii)、プレイリスト管理テーブル有りで尚且つ無指定(iii))と、直前タイトルにおけるプレイリストの状態(非再生状態、再生中状態)とがとりうる6通りの組合せを示す図である。
また”直前状態=再生中状態”と、”カレントタイトル=プレイリスト管理テーブル無し”との組合せにおいて、分岐先タイトルでのプレイリストの再生は、自動的に停止することになる。
title#2においてアプリケーション管理テーブル、プレイリスト管理テーブルは上述したように設定されているので、title#1側に記載はあるが、title#2側には記載がないapplication#1の実行は停止させられる。同じくtitle#1側に記載があるが、title#2側に記載がないPlayList#1の再生も停止させられる。
title#2側のプレイリスト管理テーブルには、再生可能なプレイリストとしてPlayList#2、PlayList#3が記述されている。そしてAutoPlay属性が付与されたプレイリストはない。そのため、仮にtitle#1開始時において自動再生されたPlayList#1の再生がtitle#2まで継続したとしても、PlayList#1の再生は自動的に終了することになる。
<動作>
次に、本実施の形態の再生装置100のBD−ROM110をロードして動画が再生されたり、メニュー表示されるまでの動作を図30に示すフローチャートを用いて説明する。当該動作はアプリケーションマネージャ37による処理でもある。
Title jumpがあった場合(ステップS1のYES)には、タイトル切替を実行し(ステップS7)、次にカレントタイトルに対応するBD−JObjectにPLMTが存在するかどうかをみる(ステップS8)。
アプリケーション管理テーブルがあった場合(ステップS11のYES)には、前タイトルを生存区間としていないが、カレントタイトルを生存区間としているJava(登録商標)アプリケーションのうち、Auto Run属性を付与されているアプリケーションを起動する。アプリケーション管理テーブルがなかった場合(ステップS11のNO)には、前タイトルを生存区間としているがカレントタイトルを生存区間としていないアプリケーションを終了する。
メインとなるアプリケーションが終了していた場合(ステップS2のYES)には、当該アプリケーションが正常に終了したかどうかを判断する(ステップS5)。正常に終了していた場合(ステップS5のYES)には、ステップS1に戻り、以降の処理を実行する。
以上が、BD−ROM110が再生装置100に装着されてから取り出されるまでの動作である。ここに述べたように、再生画像がフルスクリーンの場合と、クォータの場合とで、Stillプレーン16からのデータの出力の可否を決定する。フルスクリーンの場合においては、Stillプレーン16のデータの合成は必要ないため出力せず、こうすることでStillプレーン16の読み出しに用いられるメモリバスバンド幅を開けることができる。
<実施の形態2>
次に本発明に係る実施の形態2について図面を参照しながら説明する。
<再生装置100のハードウェア構成>
再生装置100については、実施の形態1と異なり更に、PGプレーン制御部28が追加されている。ここではPGプレーン制御部28の機能について説明する。その他の各部については、実施の形態1に示したものと変わらない。
<動作>
図32は、実施の形態2においてアプリケーションの要求に基づいて、PGプレーン14並びにStillプレーン16からのデータの出力制御を行うことを示したフローチャートである。
次いで、ビデオプロセッサは、ビデオスケーリングが成功したかどうかをCPU25に通知する(ステップS102)。ビデオスケーリングが成功した場合(ステップS102のYES)には、当該スケーリング指示が、テレビ130の表示画面全体への表示指示であるフルスケーリング指示であるかどうかを判定する(ステップS103)。
以上のようにアプリケーションによる全画面へのビデオスケーリングが成功した場合には、Stillプレーン16からのデータの読み出しを抑制し、PGプレーン14からのデータの読み出しを実行することができる。またアプリケーションによる全画面の1/4サイズへのビデオスケーリングが成功した場合には、Stillプレーン16からのデータの読み出しを実行し、PGプレーン14からのデータの読み出しを抑制することができる。
<実施の形態3>
実施の形態1においてはStillプレーン16の出力制御を行い、Stillプレーン16のデータの出力が必要ない場合にはメモリバスバンド幅をその分だけ開けることができることを示した。
実施の形態1及び2に示したようにStillプレーン16からのデータの出力はビデオスケーリングがフルスケールの場合にはStillプレーン16からのデータの出力を抑制し、ビデオスケーリングがクォータサイズの場合にはStillプレーン16からのデータの出力を実行する。
よって実施の形態3においては、実施の形態1とは異なり、PGプレーン16とStillプレーン16とで使用するメモリ領域を共有する。この場合、アプリケーションからのビデオスケーリングに関する指示がフルスケールである場合には、当該メモリ領域は、PGプレーン14用のメモリ領域として使用される。そしてビデオスケーリングに関する指示がクォータサイズである場合には、当該メモリ領域はStillプレーン16として用いる。具体的には、PGプレーン14とStillプレーン16とはメモリの同じアドレスの領域を共有することになる。
<補足>
上記実施の形態に基づいて本発明に係る再生装置に関して説明してきたが、本発明の実施の形態は上述のものに限るものではない。以下、その変形例について説明していく。
(2)上記実施の形態においてはStillプレーン制御部17はビデオプレーンのスケール変更がなされるかどうかに基づいてStillプレーンからのスチルデータの読み出しを行うかどうかを判断していたが、字幕データを格納するためのPGプレーンに合成すべきデータがあるかどうかによって判断しても良い。
例えば、Stillプレーンの読み出しに換えて、ビデオプレーンへの動画用の画像データの書き込みに用いたり、あるいは、IGプレーンへのGUI画像の書き込みの用いたりすることも可能である。当該構成を備えることにより、再生装置は書き込みと読み出しのサイクルを早めることができると言え、テレビでの画像の表示の遅延をなるべく抑えることができるようになる。
(6)上記実施の形態においては、ビデオプレーンが、フルスクリーンの場合についてのみStillプレーンを合成しないこととしたが、これはStillプレーンとビデオプレーンが共に通常フルスクリーンサイズで用意されるからである。しかし、ビデオプレーン及びStillプレーンが共にフルスクリーンサイズでなくとも、ビデオプレーンのデータが、Stillプレーンのデータの全てを覆い隠すならば、Stillプレーンの合成を実行しない構成にしてもよい。
この場合、アプリケーションにStillプレーン制御部17に対してのデータの出力の抑制あるいは実行の機能を持たせる。こうすることで、ビデオスケーリング時のみならず、Stillプレーン16からのデータの出力制御を実行することができるようになる。
(9)上記実施の形態においては、PGプレーン14には、字幕のみを格納することとしたが、字幕の画像データだけでなく、ビデオプレーンに格納されている動画とは別の動画を格納してもよい。こうすると、例えば表示画面を2つの領域に分割してそれぞれ別の動画を表示できるようになる。
メモリへの書き込みに係る技術が特許文献1に記載されており、この技術によれば、あるGUIオブジェクトにおいて再描画が発生した場合に、修復する必要がある領域を決定するチェック手段、及び、再描画する必要があるオブジェクトを決定する生成手段とによって、メモリへの不必要な書き込みを抑制するので、書き込みが抑制された分だけメモリバスバンド幅を有効に活用することができる。
通常、合成するプレーンは同サイズのプレーンを重畳して合成するが、動画像は元のフルスクリーンサイズからサイズを変更して表示する場合、即ち背景画像を覆い隠さない場合もあり、このときには背景画像は必要になるので合成する。
また、前記所定のサイズとは前記動画像が表示画面においてフルスクリーンで表示されるサイズのことであり、前記再生装置は更に、前記動画像に係るアプリケーションを実行する仮想マシン部を備え、前記合成出力手段は、前記アプリケーションの前記ビデオプレーンに対する縮小指示を受けて、前記背景画像を合成し、縮小指示がない場合には、前記背景画像を合成しないこととしてよい。
再生装置は、実行しているアプリケーションの指示に基づき動画像のサイズ変更を行っており、当該変更指示は通常ビデオプレーンに対してのみなされるが、この指示を受けて合成出力手段は、スチルプレーンからのデータの読み出しを実行するかどうかを判断する。この構成を備えることでスチルプレーンからのデータの出力の必要性の判断を容易に行うことができる。
これにより、記憶手段において、従来通常スチルプレーンと字幕を格納するための字幕プレーンとに別々に用意されたメモリ領域が共用されることによってプレーン一つ分のメモリ領域が空くことになり、空いたメモリ領域は他のデータの記憶に割り当てることができるようになるので、メモリを有効に活用できる。また、従来のようにスチルプレーンと字幕プレーンがある場合に比べてプレーン一つ分減少しており、当然にプレーン一つ減少した分だけアクセスするメモリバスバンド幅も少なくてすむ。
また、動画像を格納するためのビデオプレーンと、GUIとして表示する画像であるGUI画像を格納するためのイメージプレーンと、背景画像を格納するためのスチルプレーンとのメモリ領域を有する記憶手段を備える再生装置のコンピュータに画像を合成させるための処理手順を示した画像合成プログラムであって、前記ビデオプレーンに動画像を格納する動画像格納ステップと、前記イメージプレーンに前記GUI画像を格納するイメージ格納ステップと、前記スチルプレーンに前記背景画像を格納する背景画像格納ステップと、前記動画像が前記背景画像を完全に遮蔽できる所定のサイズである場合に、前記背景画像を読み出さず、前記動画像と前記GUI画像とを読み出し、重畳して合成した合成画像を表す画像信号を出力し、前記動画像が前記所定のサイズでない場合に、前記動画像と前記GUI画像と前記背景画像とを読み出し、重畳して合成した合成画像を表す画像信号を出力する合成出力ステップとを含むこととしてよい。
また、画像を合成して出力する再生装置に搭載される集積回路であって、動画像を格納するためのビデオプレーンと、GUIとして表示する画像であるGUI画像を格納するためのイメージプレーンと、背景画像を格納するためのスチルプレーンとのメモリ領域を有する記憶手段と、前記ビデオプレーンに動画像を格納する動画像格納手段と、前記イメージプレーンに前記GUI画像を格納するイメージ格納手段と、前記スチルプレーンに前記背景画像を格納する背景画像格納手段と、前記動画像が前記背景画像を完全に遮蔽できる所定のサイズである場合に、前記背景画像を読み出さず、前記動画像と前記GUI画像とを読み出し、重畳して合成した合成画像を表す画像信号を出力し、前記動画像が前記所定のサイズでない場合に、前記動画像と前記GUI画像と前記背景画像とを読み出し、重畳して合成した合成画像を表す画像信号を出力する合成出力手段とを備えることとしてよい。
以下、本発明の一実施形態である再生装置について図面を用いて説明する。
<構成>
<使用形態の構成>
まず、図1には再生装置の使用行為についての形態を示した。
ユーザ操作を受けるためにリモコン120があり、当該リモコン130には、再生装置100を制御するための各種キーが搭載されている。この各種キーには、再生開始(Play)、再生停止(Stop)、一時停止(PauseOn)、一時停止の解除(Pause Off)、Still機能の解除(still off)、速度指定付きの早送り(Forward Play(speed))、速度指定付きの巻戻し(BackwardPlay(speed))、音声切り換え(Audio Change)、副映像切り換え(Subtitle Change)、アングル切り換え(AngleChange)を受け付けるキーや、メニュー操作時にあたってのフォーカス移動操作を受け付けるMoveUpキー、MoveDownキー、MoveRightキー、MoveLeftキー、メニュー表示操作を受け付けるPop-upキー、数値入力を受け付けるNumericキーが含まれる。
<再生装置100のハードウェア構成>
次に、図2を用いて、再生装置100の機能構成について説明する。
本発明に係る再生装置100は、本図に示す内部構成に基づき、工業的に生産される。本発明に係る再生装置100は、主としてシステムLSI(Large ScaleIntegration)と、ドライブ装置という2つのパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムLSIは、再生装置の機能を果たす様々な処理部を集積した集積回路である。こうして生産される再生装置100は、BD-ROMドライブ1、リードバッファ2、デマルチプレクサ3、ビデオデコーダ4、ビデオプレーン5、サウンドプロセッサ6、サウンドプロセッサ7、ミキサー8、サウンドコントローラ9、D/Aコンバータ10、InteractiveGraphicsデコーダ11、Interactive Graphicsプレーン12、Presentation Graphicsデコーダ13、PresentationGraphicsプレーン14、JPEGデコーダ15、Stillプレーン16、Stillプレーン制御部17、合成部18a、18b、18c、STC−DELTA付加部19、ATC−DELTA付加部20、ローカルストレージ21、命令ROM22、ユーザイベント処理部23、PSRセット24、CPU25、シナリオメモリ26、ローカルメモリ27を含んで構成される。
リードバッファ2は、FIFO(First In First Out)メモリであり、BD-ROMから読み出されたTSパケットを順に格納した先に格納されたパケットから順次出力する機能を有する。
デマルチプレクサ(De-MUX)3は、リードバッファ2からSourceパケットを取り出して、このSourceパケットを構成するTSパケットをPESパケットに変換する機能を有する。そして変換により得られたPESパケットのうち、STN_Tableに記載されたものの中からPID(PacketIDentifier)をもつものをビデオデコーダ4、オーディオデコーダ6、Interactive Graphicsデコーダ11、PresentationGraphicsデコーダ13のいずれかに出力する機能も有する。Sourceパケット及び、STN_Tableの詳細に関しては後述する。
ビデオプレーン5は、非圧縮形式のピクチャを格納しておくためのプレーンである。プレーンとは、再生装置100において一画面分の画素データを格納しておくためのメモリ領域である。ビデオプレーンはビデオでコーダによって書き込まれたデータを格納し出力する機能を有する。ビデオプレーン5における解像度は1920×1080であり、このビデオプレーン5に格納されたピクチャデータは、16ビットのYUV値で表現された画素データにより構成される。ビデオプレーン5では、ビデオストリームにおける一フレーム毎の再生映像を、スケーリングすることができる。スケーリングとは、一フレーム毎の再生画像をビデオプレーン5全体の1/4(クオータという)、1/1(フルスケールという)のどちらかに変化させることである。かかるスケーリングを、BD-JモードにおいてCPU25からの指示に従い実行するので、ビデオストリームの再生画像を、画面の隅に追いやったり、全面的に出すという画面演出が可能になる。
サウンドプロセッサ7は、BD-ROMから読み出されたファイルsound.bdmvをプリロードしておく機能を有するプリロードバッファ7aと、プリロードされたファイルsound.bdmvにおける複数のサウンドデータのうち、CPU25により指示されたものをデコードして、PCM状態のオーディオデータを出力する機能を有するオーディオデコーダ7bとを含む。プリロードバッファ7aへのプリロードは、BD-ROMの装填時やタイトル切替時に行うことが望ましい。何故なら、AVClipの再生中にファイルsound.bdmvを読み出そうとすると、AVClipとは別のファイルを読み出すための光ピックアップのシークが発生するからである。一方、BD-ROMの装填時やタイトル切替時には、AVClipの再生が継続していることは希なので、かかるタイミングにファイルsound.bdmvを読み出すことにより、AVClip再生が途切れないことを、保証することができる。
サウンドコントローラ9は、サウンドミキサ8から出力された展開された状態のオーディオデータ、及び、サウンドプロセッサ6を介さずに圧縮された状態のオーディオデータのうち、どちらを出力するか切り換える機能を有する。圧縮された状態のオーディオデータを出力する場合は、その出力先の機器(テレビ)においてデコードされる。
I-Graphicsデコーダ(IGデコーダ)11は、BD-ROM又はローカルストレージ21から読み出されたIGストリームをデコードして、非圧縮グラフィクスをInteractiveGraphicsプレーン12に書き込む機能を有する。
P-Graphicsデコーダ13は、BD-ROM又はローカルストレージ21から読み出されたPGストリームをデコードして、非圧縮グラフィクスをPresentationGraphics(PG)プレーン11に書き込む機能を有する。P-Graphicsデコーダ13によってデコードされ、Prensentation Graphicsプレーン11に書き込まれたデータが合成されることにより字幕が画面上に現れることになる。
JPEGデコーダ15は、BD-ROM又はローカルストレージ21に記録されているJPEGデータをデコードして、Stillプレーン16に書き込む機能を有する。
Stillプレーン16は、JPEGデータを展開することで得られた非圧縮のグラフィクスデータが格納されるプレーンである。このグラフィクスデータは、Java(登録商標)アプリが描画する、GUIフレームワークのいわゆる“壁紙”として用いられる。
STC_delta=PTS1(1stEND)+Tpp−PTS2(2ndSTART)
として表現される。以上のようにSTC_deltaを求め、これが足し合わされたクロックの計数値を各デコーダに出力する。これにより各デコーダは、2つのSTC_Sequenceにあたるストリームを途切れなく再生してゆくことができる。以上のにより、1つのAVClipの中に、2以上のSTC_Sequenceが存在したとしても、また、連続して再生されるべき2以上のAVClipのそれぞれが、異なるSTC_Sequenceをもっていたとしても、これらのSTC_Sequence間のデコード処理を、シームレスに実行することができる。
1) STC2(2ndSTART)>STC2(1stEND)をみたすこと。
2) TS1からのTSパケットの取り出しと、TS2からのTSパケットの取り出しとが、同じ時間軸に投影されたSTC1と、STC2とにより定義され、バッファのアンダーフローや、オーバーフローをもたらさないこと。
ATC_delta付加部19は、ATC(Arrival Time Clock)を生成する機能を有する。そしてATC_Sequenceの切り換わり時において、それまでのATC_SequenceにおけるATC値(ATC1)に、ATC_deltaと呼ばれるオフセット値を加算することにより、それまでのATC_SequenceにおけるATC値(ATC1)と、新しいATC_SequenceのATC値(ATC2)とを連続した値にする。この加算により、ATC2=ATC1+ATC_deltaになる。ATC_deltaとは、これまで読み出されているトランスポートストリーム(TS1)の最後のTSパケットの入力時点T1から、新たに読み出されたトランスポートストリーム(TS2)の最初のTSパケットの入力時点T2までのオフセット値をいい、“ATC_delta≧N1/TS_recording_rate”という計算式で与えられる。ここで入力時点T2は、TS2の最初のTSパケットの入力時点を、TS1の時間軸上に投影した時点を意味する。またN1は、TS1の最後のビデオPESパケットに後続する、TSパケットのパケット数である。BD-ROMにおいてかかるATC_deltaは、Clip情報に記述されるので、これを用いることにより、ATC_deltaを計算することができる。以上の計算により、これまでのATC_SequenceがもっているATC値(ATC1)と、新たなATC_SequenceがもっているATC値(ATC2)とを、連続した値にすることができる。ATC_deltaが足し合わされたクロックの計数値をデマルチプレクサ(De-MUX)3に出力することで、シームレスなバッファ制御を実現することができる。
ローカルストレージ21は、webサイトからダウンロードされたコンテンツ等、BD-ROM以外の記録媒体、通信媒体から供給されたコンテンツを、メタデータと共に格納しておく機能を有するハードディスクである。このメタデータは、ダウンロードコンテンツをローカルストレージ21にバインドして管理するための情報であり、このローカルストレージ21をアクセスすることで、BD-Jモードにおけるアプリケーションは、ダウンロードコンテンツ長さを利用した様々な処理を行うことができる。
命令ROM22は、再生装置の制御を規定するソフトウェアを記憶している。
ユーザイベント処理部23は、リモコンや再生装置のフロントパネルに対するキー操作に応じて、その操作を行うユーザイベントをCPU25に出力する。
PSR4は、1〜100の値に設定されることで、現在の再生時点が属するタイトルを示し、0に設定されることで、現在の再生時点がトップメニューであることを示す。
PSR6は、0〜999の値に設定されることで、現在の再生時点が属するプレイリスト(カレントPL)の番号を示す。
PSR8は、0〜OxFFFFFFFFの値に設定されることで、45KHzの時間精度を用いて現在の再生時点(カレントPTM(PresentationTiMe))を示す。以上のPSR4〜PSR8により、図18(a)におけるBD-ROM全体の時間軸において、現在の再生時点はどこであるかを特定することができる。
シナリオメモリ26は、カレントのPL情報やカレントのClip情報を格納しておく機能を有するメモリである。カレントPL情報とは、BD-ROMに記録されている複数プレイリスト情報のうち、現在処理対象になっているものをいう。カレントClip情報とは、BD-ROMに記録されている複数Clip情報のうち、現在処理対象になっているものをいう。
以上が、本実施形態に係る再生装置のハードウェア構成である。
<再生装置100のソフトウェア構成>
続いて本実施形態に係る再生装置のソフトウェア構成について説明する。
a)BD Player Deviceの第1階層、
b)BD Player Modelの第2階層、
c)Application Runtime Enviromentの第3階層からなる。
b1)Virtual File System30及びPresentation Engine31の層
b2)Playback Control Engine32の層
からなり、自身より上位の階層に対し、ファンクションAPIを提供する。
第3階層”Application Runtime Enviroment”は、以下のc1),c2)の階層からなる。つまり、
c1)モジュールマネージャ34が存在する層、
c2)BD-Jプラットフォーム35が存在する層
からなる。
Virtual File System30は、ローカルストレージ21に格納されたダウンロードコンテンツを、BD-ROMにおけるディスクコンテンツと一体的に取り扱うための仮想的なファイルシステムである。ここでローカルストレージ21に格納されたダウンロードコンテンツは、SubClip、Clip情報、プレイリスト情報を含む。このダウンロードコンテンツにおけるプレイリスト情報はBD-ROM及びローカルストレージ21のどちらに存在するClip情報であっても、指定できる点で、BD-ROM上のプレイリスト情報と異なる。この指定にあたって、VirtualFile System30上のプレイリスト情報は、BD-ROMやローカルストレージ21におけるファイルをフルパスで指定する必要はない。BD-ROM上のファイルシステムやローカルストレージ21上のファイルシステムは、仮想的な1つのファイルシステム(VirtualFile System30)として、認識されるからである。故に、PlayItem情報におけるClip_Information_file_nameは、Clip情報の格納したファイルのファイルボデイにあたる5桁の数値を指定することにより、VirtualFile System30、BD-ROM上のAVClipを指定することができる。Virtual File System30を介してローカルストレージ21の記録内容を読み出し、BD-ROMの記録内容と動的に組み合わせることにより、様々な再生のバリエーションを産み出すことができる。ローカルストレージ21と、BD-ROMとを組合せてなるディスクコンテンツは、BD-ROMにおけるディスクコンテンツと対等に扱われるので、本発明においてBD-ROMには、ローカルストレージ21+BD-ROMの組合せからなる仮想的な記録媒体をも含むことにする。
以上がPresentation Engine31〜モジュールマネージャ34についての説明である。続いてBD-Jプラットフォーム35について説明する。
<Java(登録商標)仮想マシン36>
図4は、Java(登録商標)仮想マシン36の内部構成を示す図である。本図に示すようにJava(登録商標)仮想マシン36は、図33に示したCPU24と、ユーザクラスローダ52、メソッドエリア53、ワークメモリ54、スレッド55a,b・・・n、Java(登録商標)スタック56a,b・・・nとから構成される。
ワークメモリ54は、いわゆるヒープエリアであり、様々なクラスファイルのインスタンスが格納される。図3に示したアプリケーションマネージャ37は、このワークメモリ54に常駐するレジデントアプリケーションである。ワークメモリ54には、これらレジデント型のインスタンスの他に、メソッドエリア53に読み出されたクラスファイルに対応するインスタンスが格納される。このインスタンスが、アプリケーションを構成するxletプログラムである。かかるxletプログラムをワークメモリ54に配置することによりアプリケーションは実行可能な状態になる。
スレッド55a,b・・・nは、ワークメモリ54に格納されたメソッドを実行する論理的な実行主体であり、ローカル変数や、オペランドスタックに格納された引数をオペランドにして演算を行い、演算結果を、ローカル変数又はオペランドスタックに格納する。図中の矢印ky1,ky2,kynは、ワークメモリ54からスレッド55a,b・・・nへのメソッド供給を象徴的に示している。物理的な実行主体がCPU唯1つであるのに対し、論理的な実行主体たるスレッドは、最大64個Java(登録商標)仮想マシン36内に存在し得る。この64個という数値内において、スレッドを新規に作成することも、既存のスレッドを削除することも可能であり、スレッドの動作数は、Java(登録商標)仮想マシン36の動作中において増減し得る。スレッドの数は適宜増やすことができるので、複数スレッドにより1つのインスタンスの並列実行を行い、インスタンスの高速化を図ることもできる。本図ではCPU24と、スレッドとの対応関係は、1対多の関係にしているが、CPUが複数ある場合、CPUとスレッドとの対応関係は多対多の関係になりうる。スレッド55a,b・・・nによるメソッド実行は、メソッドをなすバイトコードを、CPU24のネイティブコードに変換した上、CPU24に発行することでなされる。
<アプリケーションマネージャ37>
続いてアプリケーションマネージャ37について、説明する。アプリケーションマネージャ37は、Java(登録商標)仮想マシン36内のワークメモリ上で動作するシステムソフトウェアであり、タイトル分岐が発生する度に、分岐前タイトルでは実行されていないが、新たなタイトルではAutoRunの起動属性を有するアプリケーションを起動するようJava(登録商標)仮想マシン36に指示する。それと共に、分岐前タイトルでは実行されていたが、新たなタイトルを生存区間としないアプリケーションを終了させる。これら起動制御及び終了制御は、カレントBD-JObjectにおけるアプリケーション管理テーブルを参照した上でなされる。
<BD-ROMの構成>
次にBD-ROM110に記録されているデータに関して説明する。
図5に示すように、BD-ROM110には、Rootディレクトリの下に、BDMVディレクトリがある。
BDMVディレクトリには、拡張子bdmvが付与されたファイル(index.bdmv,MovieObject.bdmv)がある。そしてこのBDMVディレクトリの配下には、更にPLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリ、BDBJディレクトリ、BDJAディレクトリ、AUXDATAディレクトリと呼ばれる6つのサブディレクトリが存在する。
CLIPINFディレクトリには、拡張子clpiが付与されたファイル(00001.clpi,00002.clpi,00003.clpi)がある。
STREAMディレクトリには、拡張子m2tsが付与されたファイル(00001.m2ts,00002.m2ts,00003.m2ts)がある。
BDJAディレクトリには、拡張子jarが付与されたファイル(00001.jar,00002.jar,00003.jar)がある。以上のディレクトリ構造により、互いに異なる種別の複数ファイルが、BD-ROM上に配置されていることがわかる。
<BD-ROMの構成その1.AVClip>
先ず初めに、拡張子.m2tsが付与されたファイルについて説明する。図6は、拡張子.m2tsが付与されたファイルがどのように構成されているかを模式的に示した図である。拡張子.m2tsが付与されたファイル(00001.m2ts、00002.m2ts、00003.m2ts・・・・・)は、AVClipを格納している。AVClipはMPEG2-TransportStream形式のデジタルストリームである。このデジタルストリームは、フィルム映像、NTSC(National Television StandardsCommittee)映像、PAL(Phase Alternation by Line)処理をデジタル化することにより得られたデジタルビデオ、LPCM(LinearPulse Code Modulation)音源、AC-3音源、DTS(Digital Surround)音源をデジタル化することにより得られたデジタルオーディオを(上1段目)、PESパケットからなるエレメンタリストリームに変換し(上2段目)、更にTSパケットに変換して(上3段目)、同じく字幕系のプレゼンテーショングラフィクスストリーム(PresentatiionGraphics(PG)ストリーム)及び対話系のインタラクティブグラフィクスストリーム(Interactive Graphics(IG)ストリーム)を(下1段目)を、PESパケット列に変換し(下2段目)、更にTSパケットに変換して(下3段目)、これらを多重化することで構成される。
ビデオストリームのうち、1つのPTSで再生される再生単位(ピクチャ等)を、“Video Presentation Unit”という。オーディオストリームのうち、1つのPTSで再生される再生単位を、“AudioPresentation Unit”という。
続いて拡張子.clpiが付与されたファイルについて説明する。拡張子.clpiが付与されたファイル(00001.clpi,00002.clpi,00003.clpi・・・・・)は、Clip情報を格納している。Clip情報は、個々のAVClipについての管理情報である。図7は、Clip情報の内部構成を示す図である。本図の左側に示すようにClip情報は、
i)AVClipについての情報を格納した『ClipInfo()』、
ii)ATC Sequence,STC Sequenceに関する情報を格納した『Sequence Info()』
iii)Program Sequenceに関する情報を格納した『Program Info()』
iv)『Characteristic Point Info(CPI())』
を含んで構成される。
以下、具体例を通じて、EP_mapについて説明する。図8は、映画のビデオストリームに対するEP_map設定を示す図である。第1段目は、表示順序に配置された複数のピクチャ(MPEG4-AVCに規定されたBピクチャ、IDRピクチャ、Pピクチャ)を示し、第2段目は、そのピクチャにおける時間軸を示す。第4段目は、BD-ROM上のTSパケット列を示し、第3段目は、EP_mapの設定を示す。
<PlayList情報>
続いて、PlayList情報について説明する。拡張子“mpls”が付与されたファイル(00001.mpls)は、PlayList(PL)情報を格納したファイルである。PlayList情報は、MainPathと呼ばれる再生経路と、これに対応する再生情報とをプレイリスト(PL)として定義する情報である。
MainPathとは、主たるAVClip上に定義される再生経路である。一方Subpathは、SubClip上に定義される再生経路である。ここでSubClipとは、動画像たるビデオストリームを含まないAVClipである。
先ずMainPathについて説明する。MainPathは、主映像たるビデオストリームやオーディオストリームに対して定義される再生経路である。
MainPathは、矢印mp1で示すように複数のPlayItem情報#1・・・・#mから定義される。PlayItem情報は、MainPathを構成する1つ以上の論理的な再生区間を定義する。PlayItem情報の構成は、引き出し線hs1によりクローズアップされている。この引き出し線に示すようにPlayItem情報は、再生区間のIN点及びOut点が属するAVClipの再生区間情報のファイル名を示す『Clip_Information_file_name』と、AVClipの符号化方式を示す『Clip_codec_identifier』と、再生区間の始点を示す時間情報『IN_time』と、再生区間の終点を示す時間情報『OUT_time』と、『STN_table』とから構成される。
PlayList情報は、PlayItem情報#1,#2という2つのPlayItem情報を含んでおり、これらPlayItem情報#1,#2のIn_time,Out_timeにより、2つの再生区間が定義されることになる。これらの再生区間を配列させると、AVClip時間軸とは異なる時間軸が定義されることになる。これが第1段目に示すPlayItem時間軸である。このように、PlayItem情報の定義により、AVClipとは異なる時間軸の定義が可能になる。
STN_tableは、Play ItemのClip_Information_file_nameで指定されているAVClipに多重化された複数エレメンタリストリームのうち、再生可能なものを示すテーブルである。具体的にいうとSTN_tableは、複数エレメンタリストリームのそれぞれについてのentryを、attributeと対応付けることで構成される。
entry−attributeの詳細について説明する。図11は、entry−attributeの詳細を示す図である。
ビデオストリームにおけるentryは、AVClipを多重分離するにあたって、当該ビデオストリームの抽出に用いられるPIDを示す『ref_to_stream_PID_of_mainClip』を含む。
ビデオストリームにおけるattributeは、0x02に設定された『stream_coding_type』と、ビデオストリームの表示レートを示す『Frame_rate』等を含む。
オーディオストリームにおけるentryは、AVClipを多重分離するにあたって、当該オーディオストリームの抽出に用いられるPIDを示す『ref_to_stream_PID_of_mainClip』を含む。
図12(c)は、PGストリームに対応したentry−attributeの組みを示す図である。
PGストリームにおけるentryは、AVClipを多重分離するにあたって、当該PGストリームの抽出に用いられるPIDを示す『ref_to_stream_PID_of_mainClip』を含む。
図12(d)は、IGストリームに対応したentry−attributeの組みを示す図である。
IGストリームにおけるentryは、AVClipを多重分離するにあたって、当該IGストリームの抽出に用いられるPIDを示す『ref_to_stream_PID_of_mainClip』を含む。
<PlayList情報の説明その2.PlayListMark>
以上が、本実施形態に係るPlayItem情報についての説明である。続いてPlayListMark情報について説明する。
本図の第1段目は、PLMark情報と、PL時間軸とを示す。この第1段目には、2つのPLMark情報#1〜#2が存在する。矢印kt1,2は、PLMark情報のref_to_PlayItem_Idによる指定を示す。この矢印からもわかるように、PLMark情報のref_to_PlayItem_Idは、PlayItem情報のそれぞれを指定していることがわかる。また、Mark_time_Stampは、PlayItem時間軸のうち、Chapter#1,#2になるべき時点を示す。このように、PLMark情報は、PlayItem時間軸上に、チャプター点を定義することができる。
<Movie Object>
Movie Objectは、図5に示したMovieObject.bdmvというファイルに格納され、ナビゲーションコマンド列を含む。
ナビゲーションコマンド列は、条件分岐、再生装置における状態レジスタの設定、状態レジスタの設定値取得等を実現するコマンド列からなる。Movie Objectにおいて記述可能なコマンドを以下に示す。
1)PlayPLコマンド
書式:PlayPL(第1引数,第2引数)
第1引数は、プレイリストの番号で、再生すべきプレイリストを指定することができる。第2引数は、そのプレイリストに含まれるPlayItemや、そのプレイリストにおける任意の時刻、Chapter、Markを用いて再生開始位置を指定することができる。
ChapterによりPL時間軸上の再生開始位置を指定したPlayPL関数をPlayPLatChapter()、
時刻情報によりPL時間軸上の再生開始位置を指定したPlayPL関数をPlayPLatSpecified Time()という。
2)JMPコマンド
書式:JMP 引数
JMPコマンドは、現在の動的シナリオを途中で廃棄し(discard)、引数たる分岐先動的シナリオを実行するという分岐である。JMP命令の形式には、分岐先動的シナリオを直接指定している直接参照のものと、分岐先動的シナリオを間接参照している間接参照のものがある。
以上でMovie Objectについての説明を終える。続いてBD-J Objectについて説明する。
<BD-J Object>
BD-J Objectは、Java(登録商標)プログラミング環境で記述された、BD-Jモードの動的シナリオであり、00001〜00003.bobjというファイルに格納される。
このBD-JモードにおけるJava(登録商標)アプリケーションについて説明する。ここでBD-Jモードが想定しているJava(登録商標)プラットフォームは、Java(登録商標)2Micro_Edition(J2ME)Personal Basis Profile(PBP 1.0)と、Globally Executable MHPspecification(GEM1.0.2)for package media targetsとをフル実装したものである。
上述したJava(登録商標)プラットフォームは、JFIF(JPEG)やPNG,その他のイメージデータを表示するためのスタンダードJava(登録商標)ライブラリを含む。このため、Java(登録商標)アプリケーションは、HDMVモードにおいてIGストリームにより実現されるGUIとは異なるGUIフレームワークを実現することができる。Java(登録商標)アプリケーションにおけるGUIフレームワークは、GEM1.0.2にて規定されたHAVi(HomeAudio/Video interoperability)フレームワークを含み、GEM1.0.2におけるリモートコントロールナビゲーション機構を含む。
このJava(登録商標)アプリケーションの実体にあたるのが、図2におけるBDMVディレクトリ配下のBDJAディレクトリに格納されたJava(登録商標)アーカイブファイル(00001.jar,00002.jar)である。以降、Java(登録商標)アーカイブファイルについて、図16を参照しながら説明する。
Java(登録商標)アーカイブファイル(図2の00001.jar,00002.jar)は、1つ以上のクラスファイル、1つ以上のデータファイル等を1つにまとめることで得られるファイルであり、BD-Jモードにおいて動作すべきJava(登録商標)アプリケーションを構成する。
図16は、アーカイブファイルにより収められているプログラム、データを示す図である。本図におけるプログラム、データは、枠内に示すディレクトリ構造が配置された複数ファイルを、java(登録商標)アーカイバでまとめたものである。枠内に示すディレクトリ構造は、Rootディレクトリ、Java(登録商標)1,2,3ディレクトリ、Image1,2,3ディレクトリとからなり、Rootディレクトリにcommon.pkgが、Java(登録商標)1,Java(登録商標)2,Java(登録商標)3ディレクトリにクラスファイル(00001.class〜00007.class)が、Image1,Image2,Image3ディレクトリに、00001.JPEG〜00003.JPEG、00004.PNG〜00006.PNGが配置されている。java(登録商標)アーカイブファイルは、これらをjava(登録商標)アーカイバでまとめることで得られる。かかるクラスファイル及びデータは、BD-ROMからキャッシュに読み出されるにあたって展開され、キャッシュ上で、ディレクトリに配置された複数ファイルとして取り扱われる。Java(登録商標)アーカイブファイルのファイル名における"zzzzz"という5桁の数値は、アプリケーションのID(applicationID)を示す。本Java(登録商標)アーカイブファイルがキャッシュに読み出された際、このファイル名における数値を参照することにより、任意のJava(登録商標)アプリケーションを構成するプログラム,データを取り出すことができる。
以上が、BD-Jモードにおける動的シナリオについての説明である。
<Index.bdmv>
Index.bdmvは、タイトルを構成する、Movie Object又はBD-J Objectを示すテーブルである。
Index.bdmvについては、以下の国際公開公報に詳細が記載されている。詳細については、本公報を参照されたい。
国際公開公報WO 2004/025651 A1公報
以降、図15に示したアプリケーション管理テーブル、プレイリスト管理テーブルのそれぞれについてより詳しく説明する。
アプリケーション管理テーブル(AMT)について説明する。アプリケーション管理テーブル(AMT)とは、上述したGEM1.0.2for packagemedia targetsにおける“アプリケーション シグナリング”を実装するテーブルである。“アプリケーション シグナリング”とは、GEM1.0.2が規定するMHP(MultimediaHome Platform)において、“サービス”を生存区間としてアプリケーションの起動、実行を行う制御をいう。本実施形態におけるアプリケーション管理テーブルは、この“サービス”の代わりに、BD-ROMにおける“タイトル”を生存区間にして、アプリケーションの起動、実行の制御を実現する。
図17(b)は、アプリケーション管理テーブルを構成する情報要素の意味内容を示す。
『apli_id_ref』は、”アプリケーション識別子”に対する参照値が記述されることにより、左記の生存区間をもつアプリケーションがどれであるかを示す。アプリケーション識別子は、Java(登録商標)アーカイブファイルにおいて、ファイル名として付与された5桁の数値zzzzzで表現される。『apli_id_ref』には、この5桁の数値が記述される。
『run_priority』は、当該生存区間におけるアプリケーションの”起動優先度”が記述される。BD-J Objectでは、これらの情報を用いてアプリケーションの挙動を制御する。
<生存区間>
ここでアプリケーション管理テーブルに規定される情報のうち、生存区間について説明する。
それでは、図18のような状態遷移をなすディスクコンテンツにおいて、Titleは、どのように生存区間として規定されるのであろうか。BD-ROMのローディングがなされた後、図18において矢印jh1,2,3,4・・・・・に示された参照符号の数値順に分岐がなされ、BD-ROMがイジェクトされたものとする。そうすると、BD-ROMがローディングされてから、イジェクトされるまでの連続時間帯を一本の時間軸と同視することができる。この時間軸を、ディスク全体の時間軸とする。図19(a)は、ディスク全体の時間軸を示す図であり、図19(b)は、この時間軸における構成を示す。図19(b)に示すように、ディスク全体の時間軸は、FirstPlayTitleが再生されている区間、TopMenu Titleが再生されている区間、title#1が再生されている区間等からなる。これらTitleの再生区間はどのように規定されているかというと、Titleは、唯一のBD-JObjectから構成されるから、どれかのMovieObject又はBD-J Objectが、有効になっている期間をTitleの再生区間と考えることができる。
続いてTitle区間と、PL時間軸との関係について説明する。上述したようにMovieObject、BD-J Objectでは、1つの処理手順としてプレイリスト再生手順を記述することができる。プレイリスト再生手順の記述があれば、上述したPL時間軸の全部又は一部がTitle区間に帰属することになる。図20(a)の一例においてBD-JObjectに、プレイリスト管理テーブルが記述されているとする。この場合、BD-J Objectに対応するTitle区間には、図20(b)に示すように、PL時間軸が帰属する。このPL時間軸には更に、複数チャプター(Chapter#1,#2,#3)が定義され得るため、BD-ROM上の時間軸には、BD-ROM全体−Title−プレイリスト−チャプターというドメインが存在することになる。これらのドメインを用いて、アプリケーションの生存区間を記述することができる。尚、プレイリスト再生は、アプリケーション実行と同時になされため、プレイリスト再生の途中で、Title分岐が発生することがある。この場合、1つのTitle再生区間内にはプレイリスト時間軸全体ではなく、プレイリスト時間軸の一部分のみが帰属することになる。つまり1つのTitleの再生区間において、プレイリスト時間軸の全体が帰属するか、その一部分が帰属するかは、Title分岐が何時発生するかによって変わる。
プラットフォームが動作していたとしても、Titleやチャプターという生存区間が終われば、リソースをアプリケーションから回収することができる。リソース回収の機会を保証するので、プラットフォームの動作を安定化させることができる。
タイトル間分岐があった場合でも、分岐元−分岐先において生存しているアプリケーションはワークメモリ上に格納しておき、分岐元にはなく、分岐先にのみ存在するアプリケーションをワークメモリに読み込めば良いから、アプリケーションをワークメモリに読み込む回数は必要最低数になる。このように、読込回数を少なくすることにより、タイトルの境界を意識させないアプリケーション、つまりアンバウンダリなアプリケーションを実現することができる。
「AutoRun」は、対応するタイトルの分岐と同時に、そのアプリケーションをワークメモリに読み込み、且つ実行する旨を示す属性である。あるタイトルから、別のタイトルへの分岐があると、アプリケーション管理を行う管理主体(アプリケーションマネージャ)は、その分岐先タイトルにおいて生存しており、かつ起動属性がAutoRunに設定されたアプリケーションを仮想マシンのワークメモリに読み込み実行する。これによりそのアプリケーションは、タイトル分岐と共に自動的に起動されることになる。
図24は、起動属性がとり得る三態様(Present、AutoRun、Suspend)と、直前タイトルにおけるアプリケーション状態の三態様(非起動、起動中、Suspend)とがとりうる組合せを示す図である。直前状態が”非起動”である場合、起動属性が”AutoRun”であるなら、分岐先タイトルにおいてそのアプリケーションは、起動されることになる。
直前状態が”起動中”である場合、起動属性が”Present”、”AutoRun”であるなら、分岐先タイトルにおいてそのアプリケーションは、何もせず、状態を継続することになる。
最後に、各アプリケーションに対する”起動優先度”について説明する。
この起動優先度は、0〜255の値をとり、メモリリソース枯渇時や、CPU負荷が高まった時に、どのアプリケーションを強制的に終了させるか、また、どちらのアプリケーションからリソースを奪うかという処理をアプリケーションマネージャが行うにあたっての判断材料になる。この場合、アプリケーションマネージャは、起動優先度が低いアプリケーションの動作を終了し、起動優先度が高いアプリケーションの動作を継続させるとの処理を行う。
<プレイリスト管理テーブル>
以上がアプリケーション管理テーブルについての説明である。続いてプレイリスト管理テーブル(PLMT)について説明する。プレイリスト管理テーブルとは、アプリケーションの生存区間において、各アプリケーション実行と同時に行うべき再生制御を示すテーブルである。アプリケーションの動作というのは不安定であり、起動の失敗や異常終了がありうる。そこで起動失敗、異常終了があった場合のFailSafe機構として、本実施形態ではアプリケーションの生存区間毎に、プレイリスト管理テーブルを設けている。プレイリスト管理テーブルは、あるアプリケーションの生存区間が開始した際、これと同時に行うべき再生制御を規定する情報である。この再生制御とは、プレイリスト情報に基づくAVClip再生であり、プレイリスト情報による再生制御を同時に行うことで、アプリケーション実行と、プレイリスト再生とが同時になされることになる。プレイリスト管理テーブルは、アプリケーションの生存区間毎に設けられるとしたが、プレイリスト管理テーブルが設けられるアプリケーションは、タイトルバウンダリのアプリケーションに限られる。何故ならタイトルアンバウンダリーアプリケーションは、全タイトルを生存区間にしているため、アプリケーション実行と同時にプレイリスト再生を行うという制御は、適合しないからである。
図25(a)は、プレイリスト管理テーブルの内部構成を示す図である。本図に示すようにプレイリスト管理テーブルは、『PL_id_ref』と、『Playback_Attribute』とからなる。
『PL_id_ref』は、プレイリスト識別子に対する”参照値”が記述されることにより、アプリケーションの生存区間において再生可能となるプレイリストがどれであるかを示す。プレイリスト識別子は、ファイルYYYYY.MPLSにおいて、ファイル名として付与された5桁の数値YYYYYで表現される。このYYYYYが記述されることにより、『PL_id_ref』は、対応するTitleにおいて再生可能となるプレイリストがどれであるかを示す。
『AutoPlay』とは、対応するタイトルの分岐と同時に、そのプレイリストを再生させる旨を示す属性である。あるタイトルから、別のタイトルへの分岐があると、アプリケーション管理を行う管理主体(アプリケーションマネージャ)は、その分岐先タイトルにおいて再生可能であり、かつ再生属性がAutoPlayに設定されたプレイリストの再生を開始する。これにより起動属性がAutoPlayに設定されたプレイリストは、タイトル分岐と共に自動的に起動されることになる。
また、再生属性が「Present」である場合、この再生属性が付与されたプレイリストは、他のアプリケーションからの再生要求により再生されることになる。アプリケーション管理を行う管理主体(アプリケーションマネージャ)は、起動中のアプリケーションから、プレイリストの再生要求があると、要求を受けたプレイリストのPL_id_refが、プレイリスト管理テーブルに記述されていて、再生属性が「AutoPlay」か「Present」のいずれかか否かを判定する。「AutoPlay」か「Present」のいずれかであれば、そのプレイリストを再生する。一方、要求を受けたプレイリストのPL_id_refがプレイリスト管理テーブルに記述されていない場合、そのプレイリストを再生しない。アプリケーションの要求によるプレイリスト再生は、この「AutoPlay」か「Present」のいずれかが付与されたプレイリストに限られることになる。「Present」は、再生属性を明示的に指定しない場合に付与されるデフォルトの再生属性であるから、あるプレイリストの再生属性が無指定「−−」であるとそのプレイリストの再生属性はこのPresentであることを意味する。
図27は、カレントタイトルがとり得る三態様(プレイリスト管理テーブル無し(i)、プレイリスト管理テーブル有りで尚且つAutoPlay(ii)、プレイリスト管理テーブル有りで尚且つ無指定(iii))と、直前タイトルにおけるプレイリストの状態(非再生状態、再生中状態)とがとりうる6通りの組合せを示す図である。
また”直前状態=再生中状態”と、”カレントタイトル=プレイリスト管理テーブル無し”との組合せにおいて、分岐先タイトルでのプレイリストの再生は、自動的に停止することになる。
title#2においてアプリケーション管理テーブル、プレイリスト管理テーブルは上述したように設定されているので、title#1側に記載はあるが、title#2側には記載がないapplication#1の実行は停止させられる。同じくtitle#1側に記載があるが、title#2側に記載がないPlayList#1の再生も停止させられる。
title#2側のプレイリスト管理テーブルには、再生可能なプレイリストとしてPlayList#2、PlayList#3が記述されている。そしてAutoPlay属性が付与されたプレイリストはない。そのため、仮にtitle#1開始時において自動再生されたPlayList#1の再生がtitle#2まで継続したとしても、PlayList#1の再生は自動的に終了することになる。
<動作>
次に、本実施の形態の再生装置100のBD-ROM110をロードして動画が再生されたり、メニュー表示されるまでの動作を図30に示すフローチャートを用いて説明する。当該動作はアプリケーションマネージャ37による処理でもある。
Title jumpがあった場合(ステップS1のYES)には、タイトル切替を実行し(ステップS7)、次にカレントタイトルに対応するBD-JObjectにPLMTが存在するかどうかをみる(ステップS8)。
アプリケーション管理テーブルがあった場合(ステップS11のYES)には、前タイトルを生存区間としていないが、カレントタイトルを生存区間としているJava(登録商標)アプリケーションのうち、AutoRun属性を付与されているアプリケーションを起動する。アプリケーション管理テーブルがなかった場合(ステップS11のNO)には、前タイトルを生存区間としているがカレントタイトルを生存区間としていないアプリケーションを終了する。
メインとなるアプリケーションが終了していた場合(ステップS2のYES)には、当該アプリケーションが正常に終了したかどうかを判断する(ステップS5)。正常に終了していた場合(ステップS5のYES)には、ステップS1に戻り、以降の処理を実行する。
以上が、BD-ROM110が再生装置100に装着されてから取り出されるまでの動作である。ここに述べたように、再生画像がフルスクリーンの場合と、クォータの場合とで、Stillプレーン16からのデータの出力の可否を決定する。フルスクリーンの場合においては、Stillプレーン16のデータの合成は必要ないため出力せず、こうすることでStillプレーン16の読み出しに用いられるメモリバスバンド幅を開けることができる。
<実施の形態2>
次に本発明に係る実施の形態2について図面を参照しながら説明する。
<再生装置100のハードウェア構成>
再生装置100については、実施の形態1と異なり更に、PGプレーン制御部28が追加されている。ここではPGプレーン制御部28の機能について説明する。その他の各部については、実施の形態1に示したものと変わらない。
<動作>
図32は、実施の形態2においてアプリケーションの要求に基づいて、PGプレーン14並びにStillプレーン16からのデータの出力制御を行うことを示したフローチャートである。
次いで、ビデオプロセッサは、ビデオスケーリングが成功したかどうかをCPU25に通知する(ステップS102)。ビデオスケーリングが成功した場合(ステップS102のYES)には、当該スケーリング指示が、テレビ130の表示画面全体への表示指示であるフルスケーリング指示であるかどうかを判定する(ステップS103)。
以上のようにアプリケーションによる全画面へのビデオスケーリングが成功した場合には、Stillプレーン16からのデータの読み出しを抑制し、PGプレーン14からのデータの読み出しを実行することができる。またアプリケーションによる全画面の1/4サイズへのビデオスケーリングが成功した場合には、Stillプレーン16からのデータの読み出しを実行し、PGプレーン14からのデータの読み出しを抑制することができる。
<実施の形態3>
実施の形態1においてはStillプレーン16の出力制御を行い、Stillプレーン16のデータの出力が必要ない場合にはメモリバスバンド幅をその分だけ開けることができることを示した。
実施の形態1及び2に示したようにStillプレーン16からのデータの出力はビデオスケーリングがフルスケールの場合にはStillプレーン16からのデータの出力を抑制し、ビデオスケーリングがクォータサイズの場合にはStillプレーン16からのデータの出力を実行する。
よって実施の形態3においては、実施の形態1とは異なり、PGプレーン16とStillプレーン16とで使用するメモリ領域を共有する。この場合、アプリケーションからのビデオスケーリングに関する指示がフルスケールである場合には、当該メモリ領域は、PGプレーン14用のメモリ領域として使用される。そしてビデオスケーリングに関する指示がクォータサイズである場合には、当該メモリ領域はStillプレーン16として用いる。具体的には、PGプレーン14とStillプレーン16とはメモリの同じアドレスの領域を共有することになる。
<補足>
上記実施の形態に基づいて本発明に係る再生装置に関して説明してきたが、本発明の実施の形態は上述のものに限るものではない。以下、その変形例について説明していく。
(2)上記実施の形態においてはStillプレーン制御部17はビデオプレーンのスケール変更がなされるかどうかに基づいてStillプレーンからのスチルデータの読み出しを行うかどうかを判断していたが、字幕データを格納するためのPGプレーンに合成すべきデータがあるかどうかによって判断しても良い。
例えば、Stillプレーンの読み出しに換えて、ビデオプレーンへの動画用の画像データの書き込みに用いたり、あるいは、IGプレーンへのGUI画像の書き込みの用いたりすることも可能である。当該構成を備えることにより、再生装置は書き込みと読み出しのサイクルを早めることができると言え、テレビでの画像の表示の遅延をなるべく抑えることができるようになる。
(6)上記実施の形態においては、ビデオプレーンが、フルスクリーンの場合についてのみStillプレーンを合成しないこととしたが、これはStillプレーンとビデオプレーンが共に通常フルスクリーンサイズで用意されるからである。しかし、ビデオプレーン及びStillプレーンが共にフルスクリーンサイズでなくとも、ビデオプレーンのデータが、Stillプレーンのデータの全てを覆い隠すならば、Stillプレーンの合成を実行しない構成にしてもよい。
この場合、アプリケーションにStill プレーン制御部17に対してのデータの出力の抑制あるいは実行の機能を持たせる。こうすることで、ビデオスケーリング時のみならず、Stillプレーン16からのデータの出力制御を実行することができるようになる。
(9)上記実施の形態においては、PGプレーン14には、字幕のみを格納することとしたが、字幕の画像データだけでなく、ビデオプレーンに格納されている動画とは別の動画を格納してもよい。こうすると、例えば表示画面を2つの領域に分割してそれぞれ別の動画を表示できるようになる。
2 リードバッファ
3 デマルチプレクサ
4 ビデオデコーダ
5 ビデオプレーン
6 サウンドプロセッサ
7 サウンドプロセッサ
8 ミキサー
9 サウンドコントローラ
10 D/Aコンバータ
11 Interactive Graphics デコーダ
12 Interactive Graphics プレーン
13 Presentation Graphicsデコーダ
14 Presentation Graphics プレーン
15 JPEGデコーダ
16 Still プレーン
17 Still プレーン制御部
18a、18b、18c 合成部
19 STC−DELTA付加部
20 ATC−DELTA付加部
21 ローカルストレージ
22 命令ROM
23 ユーザイベント処理部
24 PSRセット
25 CPU
26 シナリオメモリ
27 ローカルメモリ
28 PGプレーン制御部
100 再生装置
Claims (10)
- 動画像を格納するためのビデオプレーンと、GUIとして表示する画像であるGUI画像を格納するためのイメージプレーンと、背景画像を格納するためのスチルプレーンとのメモリ領域を有する記憶手段と、
前記ビデオプレーンに動画像を格納する動画像格納手段と、
前記イメージプレーンに前記GUI画像を格納するイメージ格納手段と、
前記スチルプレーンに前記背景画像を格納する背景画像格納手段と、
前記動画像が前記背景画像を遮蔽できる所定のサイズである場合に、前記背景画像を読み出さず、前記動画像と前記GUI画像とを読み出し、重畳して合成した合成画像を表す画像信号を出力し、前記動画像が前記所定のサイズでない場合に、前記動画像と前記GUI画像と前記背景画像とを読み出し、重畳して合成した合成画像を表す画像信号を出力する合成出力手段とを備える
ことを特徴とする再生装置。 - 前記所定のサイズとは前記動画像が表示画面においてフルスクリーンで表示されるサイズのことであり、
前記再生装置は更に、
前記動画像に係るアプリケーションを実行する仮想マシン部を備え、
前記合成出力手段は、前記アプリケーションの前記ビデオプレーンに対する縮小指示を受けて、前記背景画像を合成し、縮小指示がない場合には、前記動前記背景画像を合成しない
ことを特徴とする請求の範囲第1項記載の再生装置。 - 前記スチルプレーンは更に、前記動画像とは異なる時間に応じて切り替わる画像を格納するためのものであって、
前記再生装置は更に、
前記スチルプレーンに前記時間に応じて切り替わる画像を格納する画像格納手段を備え、
前記合成出力手段は、前記動画像が表示画面においてフルスクリーンで表示されるサイズである場合に、前記ビデオプレーンに格納された動画像と前記イメージプレーンに格納されたGUI画像と前記スチルプレーンに格納された時間に応じて切り替わる画像とを読み出し、重畳して合成した合成画像を表す画像信号を出力し、前記動画像がフルスクリーンで表示されるサイズでない場合に、前記ビデオプレーンに格納された動画像と前記イメージプレーンに格納されたGUI画像と前記スチルプレーンに格納された背景画像とを読み出し、重畳し合成した合成画像を表す画像信号を出力する
ことを特徴とする請求の範囲第1項記載の再生装置。 - 前記合成出力手段及び前記各格納手段は、前記記憶手段に接続されているメモリバスを共有しており、
前記イメージ格納手段は、前記合成出力手段がスチルプレーンの読み出しを行わないと判断した場合に、スチルプレーンの読み出しに割り当てられている前記メモリバスの帯域又は時間を、イメージプレーンへの書き込みに用いる
ことを特徴とする請求の範囲第1項記載の再生装置。 - 動画像を格納するためのビデオプレーンと、GUIとして表示する画像であるGUI画像を格納するためのイメージプレーンと、背景画像を格納するためのスチルプレーンとのメモリ領域を有する記憶手段を備える再生装置における、画像を合成する画像合成方法であって、
前記ビデオプレーンに動画像を格納する動画像格納ステップと、
前記イメージプレーンに前記GUI画像を格納するイメージ格納ステップと、
前記スチルプレーンに前記背景画像を格納する背景画像格納ステップと、
前記動画像が前記背景画像を完全に遮蔽できる所定のサイズである場合に、前記背景画像を読み出さず、前記動画像と前記GUI画像とを読み出し、重畳して合成した合成画像を表す画像信号を出力し、前記動画像が前記所定のサイズでない場合に、前記動画像と前記GUI画像と前記背景画像とを読み出し、重畳して合成した合成画像を表す画像信号を出力する合成出力ステップとを含む
ことを特徴とする画像合成方法。 - 前記合成出力ステップ及び前記各格納ステップにおいて、読み出し及び格納に用いる前記記憶手段に接続されているメモリバスを共有しており、
前記イメージ格納ステップでは、前記合成出力ステップにおいてスチルプレーンの読み出しを行わないと判断した場合に、スチルプレーンの読み出しに割り当てられている前記メモリバスの帯域又は時間を、イメージプレーンへの書き込みに用いる
ことを特徴とする請求の範囲第5項記載の画像合成方法。 - 動画像を格納するためのビデオプレーンと、GUIとして表示する画像であるGUI画像を格納するためのイメージプレーンと、背景画像を格納するためのスチルプレーンとのメモリ領域を有する記憶手段を備える再生装置のコンピュータに画像を合成させるための処理手順を示した画像合成プログラムであって、
前記ビデオプレーンに動画像を格納する動画像格納ステップと、
前記イメージプレーンに前記GUI画像を格納するイメージ格納ステップと、
前記スチルプレーンに前記背景画像を格納する背景画像格納ステップと、
前記動画像が前記背景画像を完全に遮蔽できる所定のサイズである場合に、前記背景画像を読み出さず、前記動画像と前記GUI画像とを読み出し、重畳して合成した合成画像を表す画像信号を出力し、前記動画像が前記所定のサイズでない場合に、前記動画像と前記GUI画像と前記背景画像とを読み出し、重畳して合成した合成画像を表す画像信号を出力する合成出力ステップとを含む
ことを特徴とする画像合成プログラム。 - 前記合成出力ステップ及び前記各格納ステップにおいては、読み出し及び格納に用いる前記記憶手段に接続されているメモリバスを共有しており、
前記イメージ格納ステップでは、前記合成出力ステップにおいてスチルプレーンの読み出しを行わないと判断した場合に、スチルプレーンの読み出しに割り当てられている前記メモリバスの帯域又は時間を、イメージプレーンへの書き込みに用いる
ことを特徴とする請求の範囲第7項記載の画像合成プログラム。 - 画像を合成して出力する再生装置に搭載される集積回路であって、
動画像を格納するためのビデオプレーンと、GUIとして表示する画像であるGUI画像を格納するためのイメージプレーンと、背景画像を格納するためのスチルプレーンとのメモリ領域を有する記憶手段と、
前記ビデオプレーンに動画像を格納する動画像格納手段と、
前記イメージプレーンに前記GUI画像を格納するイメージ格納手段と、
前記スチルプレーンに前記背景画像を格納する背景画像格納手段と、
前記動画像が前記背景画像を完全に遮蔽できる所定のサイズである場合に、前記背景画像を読み出さず、前記動画像と前記GUI画像とを読み出し、重畳して合成した合成画像を表す画像信号を出力し、前記動画像が前記所定のサイズでない場合に、前記動画像と前記GUI画像と前記背景画像とを読み出し、重畳して合成した合成画像を表す画像信号を出力する合成出力手段とを備える
ことを特徴とする集積回路。 - 前記合成出力手段及び前記各格納手段は、前記記憶手段に接続されているメモリバスを共有しており、
前記イメージ格納手段は、前記合成出力手段がスチルプレーンの読み出しを行わないと判断した場合に、スチルプレーンの読み出しに割り当てられている前記メモリバスの帯域又は時間を、イメージプレーンへの書き込みに用いる
ことを特徴とする請求の範囲第9項記載の集積回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006547988A JP4949853B2 (ja) | 2004-12-01 | 2005-11-30 | 再生装置、画像合成方法、画像合成プログラム及び集積回路 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004349143 | 2004-12-01 | ||
JP2004349143 | 2004-12-01 | ||
JP2006547988A JP4949853B2 (ja) | 2004-12-01 | 2005-11-30 | 再生装置、画像合成方法、画像合成プログラム及び集積回路 |
PCT/JP2005/022022 WO2006059661A1 (ja) | 2004-12-01 | 2005-11-30 | 再生装置、画像合成方法、画像合成プログラム及び集積回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2006059661A1 true JPWO2006059661A1 (ja) | 2008-06-05 |
JP4949853B2 JP4949853B2 (ja) | 2012-06-13 |
Family
ID=36565094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006547988A Expired - Fee Related JP4949853B2 (ja) | 2004-12-01 | 2005-11-30 | 再生装置、画像合成方法、画像合成プログラム及び集積回路 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8306386B2 (ja) |
EP (1) | EP1818907A4 (ja) |
JP (1) | JP4949853B2 (ja) |
KR (1) | KR101193397B1 (ja) |
CN (2) | CN100514441C (ja) |
WO (1) | WO2006059661A1 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2007119765A1 (ja) * | 2006-04-13 | 2009-08-27 | パナソニック株式会社 | 記録媒体、再生装置、記録装置、システムlsi、方法、プログラム |
US7712047B2 (en) * | 2007-01-03 | 2010-05-04 | Microsoft Corporation | Motion desktop |
KR100897849B1 (ko) | 2007-09-07 | 2009-05-15 | 한국전자통신연구원 | 비정상 프로세스 탐지 방법 및 장치 |
JP5322529B2 (ja) | 2008-07-29 | 2013-10-23 | キヤノン株式会社 | 表示装置、表示制御方法 |
WO2011007416A1 (ja) * | 2009-07-14 | 2011-01-20 | パイオニア株式会社 | 再生装置及び方法、並びにコンピュータプログラム |
JP5544863B2 (ja) * | 2009-12-17 | 2014-07-09 | 富士通株式会社 | 受信装置、受信方法及び受信プログラム |
WO2011155099A1 (ja) * | 2010-06-11 | 2011-12-15 | 三菱電機株式会社 | 映像表示装置 |
US9154797B2 (en) | 2010-09-20 | 2015-10-06 | Onecodec, Limited | Systems and methods for encoding and decoding |
US10129556B2 (en) | 2014-05-16 | 2018-11-13 | Bevara Technologies, Llc | Systems and methods for accessing digital data |
US10025787B2 (en) | 2011-08-17 | 2018-07-17 | Bevara Technologies, Llc | Systems and methods for selecting digital data for archival |
JP5857636B2 (ja) * | 2011-11-02 | 2016-02-10 | ソニー株式会社 | 情報処理装置、情報処理方法及びプログラム |
US9202522B2 (en) * | 2013-05-08 | 2015-12-01 | Adobe Systems Incorporated | Method and apparatus for subtitle display |
TWI530169B (zh) * | 2013-08-23 | 2016-04-11 | 晨星半導體股份有限公司 | 處理影音資料之方法以及相關模組 |
WO2015176009A1 (en) * | 2014-05-16 | 2015-11-19 | Bevara Technologies, Llc | Systems and methods for selecting digital data for archival |
WO2017061434A1 (ja) * | 2015-10-09 | 2017-04-13 | ソニー株式会社 | 情報処理装置、および情報処理方法、並びにプログラム |
JP2018022370A (ja) * | 2016-08-04 | 2018-02-08 | キヤノン株式会社 | アプリケーション実行装置及びその制御方法、並びにプログラム |
CN106980579B (zh) | 2016-09-30 | 2020-08-14 | 阿里巴巴集团控股有限公司 | 一种图片加载方法及装置 |
US10895954B2 (en) * | 2017-06-02 | 2021-01-19 | Apple Inc. | Providing a graphical canvas for handwritten input |
CA3086546A1 (en) | 2018-01-18 | 2019-07-25 | Bevara Technologies, Llc | Browser navigation for facilitating data access |
KR20210074880A (ko) * | 2019-12-12 | 2021-06-22 | 삼성전자주식회사 | 디스플레이 장치 및 그 동작 방법 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0421077A (ja) * | 1990-05-15 | 1992-01-24 | Oki Electric Ind Co Ltd | 画像重ね合わせ装置 |
JPH0773287A (ja) * | 1993-06-15 | 1995-03-17 | Nec Corp | 画像合成回路 |
JP2003101900A (ja) * | 2001-09-20 | 2003-04-04 | Canon Inc | 受信装置 |
JP2003219372A (ja) * | 2002-01-28 | 2003-07-31 | Canon Inc | データ放送受信再生装置、その制御方法、データ放送システム、データ放送装置、データ放送ショッピングにおける商品表示方法、及び制御プログラム |
JP2003298938A (ja) * | 2002-04-01 | 2003-10-17 | Canon Inc | マルチ画面合成装置及びマルチ画面合成装置の制御方法及びマルチ画面合成装置の制御プログラム及び記憶媒体 |
JP2003348444A (ja) * | 2002-05-23 | 2003-12-05 | Sony Corp | 画像信号の処理装置および処理方法 |
JP2004334058A (ja) * | 2003-05-12 | 2004-11-25 | Hitachi Ltd | 表示装置および表示制御方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000010542A (ja) * | 1998-06-24 | 2000-01-14 | Canon Inc | 画像表示装置と画像データの表示方法 |
US6853385B1 (en) | 1999-11-09 | 2005-02-08 | Broadcom Corporation | Video, audio and graphics decode, composite and display system |
US6636222B1 (en) | 1999-11-09 | 2003-10-21 | Broadcom Corporation | Video and graphics system with an MPEG video decoder for concurrent multi-row decoding |
US6573905B1 (en) | 1999-11-09 | 2003-06-03 | Broadcom Corporation | Video and graphics system with parallel processing of graphics windows |
US6538656B1 (en) | 1999-11-09 | 2003-03-25 | Broadcom Corporation | Video and graphics system with a data transport processor |
WO2002089105A2 (en) * | 2001-05-02 | 2002-11-07 | Bitstream, Inc. | Methods, systems, and programming for producing and displaying subpixel-optimized images and digital content including such images |
EP1328114A1 (en) * | 2002-01-10 | 2003-07-16 | Canal+ Technologies Société Anonyme | Image resolution management in a receiver/decoder |
US20040047588A1 (en) | 2002-03-27 | 2004-03-11 | Tomoyuki Okada | Package medium, reproduction apparatus, and reproduction method |
JP2004007518A (ja) | 2002-03-27 | 2004-01-08 | Matsushita Electric Ind Co Ltd | パッケージメディア、再生装置、および再生方法 |
JP4158462B2 (ja) | 2002-09-04 | 2008-10-01 | ソニー株式会社 | 画面表示処理装置及び画面表示処理方法、並びにコンピュータ・プログラム |
JP3837427B2 (ja) | 2002-09-12 | 2006-10-25 | 松下電器産業株式会社 | 記録媒体、再生装置、プログラム、再生方法、記録方法 |
KR100973862B1 (ko) * | 2002-09-25 | 2010-08-03 | 파나소닉 주식회사 | 재생장치, 광 디스크, 기록매체, 재생방법 |
WO2004049710A1 (ja) | 2002-11-28 | 2004-06-10 | Sony Corporation | 再生装置、再生方法、再生プログラムおよび記録媒体 |
JP4715094B2 (ja) * | 2003-01-30 | 2011-07-06 | ソニー株式会社 | 再生装置、再生方法、再生プログラムおよび記録媒体 |
AU2004214180B2 (en) | 2003-02-21 | 2010-01-28 | Panasonic Corporation | Recording Medium, Playback Device, Recording Method, Playback Method, and Computer Program |
US7561779B2 (en) | 2003-03-13 | 2009-07-14 | Panasonic Corporation | Video data processor having converting section for producing NTSC- or PAL-compliant synthetic video data |
-
2005
- 2005-11-30 KR KR1020077012832A patent/KR101193397B1/ko not_active IP Right Cessation
- 2005-11-30 CN CNB2005800415013A patent/CN100514441C/zh not_active Expired - Fee Related
- 2005-11-30 JP JP2006547988A patent/JP4949853B2/ja not_active Expired - Fee Related
- 2005-11-30 US US11/720,531 patent/US8306386B2/en not_active Expired - Fee Related
- 2005-11-30 WO PCT/JP2005/022022 patent/WO2006059661A1/ja active Application Filing
- 2005-11-30 CN CN2009101466192A patent/CN101600122B/zh not_active Expired - Fee Related
- 2005-11-30 EP EP05811752A patent/EP1818907A4/en not_active Ceased
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0421077A (ja) * | 1990-05-15 | 1992-01-24 | Oki Electric Ind Co Ltd | 画像重ね合わせ装置 |
JPH0773287A (ja) * | 1993-06-15 | 1995-03-17 | Nec Corp | 画像合成回路 |
JP2003101900A (ja) * | 2001-09-20 | 2003-04-04 | Canon Inc | 受信装置 |
JP2003219372A (ja) * | 2002-01-28 | 2003-07-31 | Canon Inc | データ放送受信再生装置、その制御方法、データ放送システム、データ放送装置、データ放送ショッピングにおける商品表示方法、及び制御プログラム |
JP2003298938A (ja) * | 2002-04-01 | 2003-10-17 | Canon Inc | マルチ画面合成装置及びマルチ画面合成装置の制御方法及びマルチ画面合成装置の制御プログラム及び記憶媒体 |
JP2003348444A (ja) * | 2002-05-23 | 2003-12-05 | Sony Corp | 画像信号の処理装置および処理方法 |
JP2004334058A (ja) * | 2003-05-12 | 2004-11-25 | Hitachi Ltd | 表示装置および表示制御方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101600122A (zh) | 2009-12-09 |
US20080089660A1 (en) | 2008-04-17 |
CN100514441C (zh) | 2009-07-15 |
JP4949853B2 (ja) | 2012-06-13 |
CN101600122B (zh) | 2011-10-05 |
KR101193397B1 (ko) | 2012-10-24 |
US8306386B2 (en) | 2012-11-06 |
EP1818907A4 (en) | 2008-06-25 |
EP1818907A1 (en) | 2007-08-15 |
CN101069229A (zh) | 2007-11-07 |
KR20070090906A (ko) | 2007-09-06 |
WO2006059661A1 (ja) | 2006-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4949853B2 (ja) | 再生装置、画像合成方法、画像合成プログラム及び集積回路 | |
US8107788B2 (en) | Recording medium, playback device, recording method and playback method | |
JP4012559B2 (ja) | 記録媒体、再生装置、プログラム、再生方法、集積回路 | |
JP4410253B2 (ja) | 読出装置、プログラム、読出方法 | |
JP4664346B2 (ja) | 記録媒体、再生装置、プログラム、再生方法 | |
JP4012563B2 (ja) | 記録媒体、再生装置、プログラム、再生方法。 | |
JP4117019B2 (ja) | 記録媒体、再生装置、記録方法、再生方法 | |
JP4091105B2 (ja) | 記録媒体、再生装置、記録方法、再生方法 | |
JP4084833B2 (ja) | 記録媒体、再生装置、プログラム、再生方法、集積回路 | |
JP2008103067A (ja) | 記録媒体、再生装置、記録方法、再生方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081121 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110913 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111004 |
|
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: 20120214 |
|
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: 20120308 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150316 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4949853 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |