JP2007115398A - 再生装置、プログラム、再生方法 - Google Patents
再生装置、プログラム、再生方法 Download PDFInfo
- Publication number
- JP2007115398A JP2007115398A JP2006303976A JP2006303976A JP2007115398A JP 2007115398 A JP2007115398 A JP 2007115398A JP 2006303976 A JP2006303976 A JP 2006303976A JP 2006303976 A JP2006303976 A JP 2006303976A JP 2007115398 A JP2007115398 A JP 2007115398A
- Authority
- JP
- Japan
- Prior art keywords
- stream
- condition
- playback
- audio stream
- button
- 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
- 238000000034 method Methods 0.000 title claims description 192
- 230000008569 process Effects 0.000 claims description 51
- 239000000284 extract Substances 0.000 claims description 4
- 230000007704 transition Effects 0.000 description 75
- 238000012545 processing Methods 0.000 description 74
- 102100027674 CTD small phosphatase-like protein Human genes 0.000 description 70
- 101000725950 Homo sapiens CTD small phosphatase-like protein Proteins 0.000 description 70
- 230000008859 change Effects 0.000 description 67
- 230000002452 interceptive effect Effects 0.000 description 31
- 102100027667 Carboxy-terminal domain RNA polymerase II polypeptide A small phosphatase 2 Human genes 0.000 description 27
- 101000725947 Homo sapiens Carboxy-terminal domain RNA polymerase II polypeptide A small phosphatase 2 Proteins 0.000 description 27
- 238000010586 diagram Methods 0.000 description 25
- 230000006870 function Effects 0.000 description 19
- 239000000203 mixture Substances 0.000 description 11
- 230000000694 effects Effects 0.000 description 9
- 230000006835 compression Effects 0.000 description 7
- 238000007906 compression Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000003825 pressing Methods 0.000 description 4
- 230000006837 decompression Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000001994 activation Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000011068 loading method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 230000036316 preload Effects 0.000 description 2
- 230000001172 regenerating effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100137868 Solanum lycopersicum PAD1 gene Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012508 change request Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
【解決手段】再生装置は、BD-ROMに記録されている複数オーディオストリームのそれぞれが、複数の条件のうち、どれを満たすかを判定する。そのうち条件(a)は、オーディオストリームのコーディングタイプと、PSR15の設定値とを比較することによる、再生能力の存在であり、条件(b)は、オーディオストリームの言語コードと、PSR16の設定値とを比較することによる、言語属性の一致であり、条件(c)は、オーディオストリームのプレゼンテーションタイプと、PSR15の設定値とを比較することによる、サラウンド出力能力の存在である。条件(a)、条件(b)、条件(c)の全てを満たすオーディオストリームが存在しない場合、条件(a)及び条件(b)を満たすオーディオストリームのうち、先頭エントリーにあたるものを選択する。
【選択図】図21
Description
ここでコーディックに、AC-3(2ch),AC-3(5.1ch),DTS(5.1ch)という種別があり、言語属性に日本語、英語がある場合、計6つの組合せについて、オーディオストリームが製作されデジタルストリームに多重されることになる。これらのオーディオストリームには、特定の番号体系が付されているので、複数オーディオストリームのうち、どれかの番号を再生装置側の状態レジスタに設定しておき、この番号を有するオーディオストリームを選択して再生させるという動作を再生装置に行わせば、ある決まったコーディック−言語に対応しているオーディオストリームが常に再生されることになる。
尚、上述した再生機能には、以下の特許文献に示す先行技術が存在する。
以降、本発明に係る再生装置の実施形態について説明する。先ず始めに、本発明に係る再生装置の実施行為のうち、使用行為についての形態を説明する。図1は、本発明に係る再生装置の、使用行為についての形態を示す図である。図1において、本発明に係る再生装置は再生装置200であり、テレビ300、リモコン400と共にホームシアターシステムを形成する。
またリモコン400は、再生装置に対する操作をユーザから受け付けるものである。図1(b)は、対話画面に対する操作をユーザから受け付けるためのリモコン400におけるキーを示す図である。本図に示すようにリモコン400は、MoveUpキー、MoveDownキー、MoveRightキー、MoveLeftキー、音声切り換え操作を受け付ける音声切換キー、字幕切り換え操作を受け付ける字幕切換キー、数値キー「0」〜「9」が設けられている。
続いて本発明に係る再生装置の再生の対象となる、記録媒体であるBD-ROMについて説明する。図2は、BD-ROMの構成を示す図である。本図の第4段目にBD-ROMを示し、第3段目にBD-ROM上のトラックを示す。本図のトラックは、BD-ROMの内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。ディレクトリ構造を用いてBD-ROMの応用層フォーマット(アプリケーションフォーマット)を表現すると、図中の第1段目のようになる。本図に示すようにBD-ROMには、ROOTディレクトリの下にBDMVディレクトリがあり、BDMVディレクトリの配下には、YYY.MPLS,XXX.CLPI,XXX.M2TS,ZZZ.M2TS,ZZZ.CLPIといったファイルが存在する。ファイルXXX.M2TSがAVClipにあたり、ファイルXXX.CLPIがClip情報にあたる。
<AVClipの構成>
続いて、映画コンテンツの構成要素(AVClip−Clip情報)のうち、AVClipについて説明する。
AVClipは(中段)、複数のビデオフレーム(ピクチャpj1,2,3)からなるビデオストリーム、複数のオーディオフレームからなるオーディオストリームを(上1段目)、PESパケット列に変換し(上2段目)、更にTSパケットに変換し(上3段目)、同じく字幕系のプレゼンテーショングラフィクスストリーム(PGストリーム)及び対話系のインタラクティブグラフィクスストリーム(IGストリーム)を(下1段目)を、PESパケット列に変換し(下2段目)、更にTSパケットに変換して(下3段目)、これらを多重化することで構成される。
続いて、XXX.CLPIについて説明する。
Clip情報(XXX.CLPI)は、個々のAVClipについての管理情報である。図4は、Clip情報の内部構成を示す図である。図中の引き出し線はClip情報の構成をクローズアップしている。引き出し線hn1に示すように、Clip情報(XXX.CLPI)は、「Program Info.」と、ビデオストリームのうち、Iピクチャの先頭に頭出しするための「EP_map」とを含む。
各エントリーは、引き出し線hn6に示すように、対応するIピクチャの再生開始時刻を、Iピクチャのアドレスと、Iピクチャのサイズ(I-size)とを対応づけて示す。Iピクチャの再生開始時刻は、Iピクチャのタイムスタンプ(Presentation Time Stamp)で表現される。またIピクチャアドレスは、TSパケットの連番(SPN(Source Packet Number))で表現される。尚、XXX.CLPIのファイル名XXXは、Clip情報が対応しているAVClipと同じ名称が使用される。つまり本図におけるAVClipのファイル名はXXXであるから、AVClip(XXX.M2TS)に対応していることを意味する。以上がClip情報についての説明である。
続いてZZZ.M2TS、ZZZ.CLPIについて説明する。サブClip(ZZZ.M2TS)は、他のAVClipと同期再生されるストリームを格納したファイルである。かかるストリームの代表的なものが上述したtextSTストリームである。この他のサブClipには、オーディオストリームやIGストリームがある。サブClipと区別するため、図3に示したAVClipをメインClipと呼ぶ。
<PL情報の構成>
続いてYYY.MPLSについて説明する。プレイリスト情報(YYY.MPLS)は、メインパス、サブパスと呼ばれる2種類の再生経路を束ねたものをPlaylist(PL)として定義する情報である。図5は、プレイリスト情報のデータ構造を示す図であり、本図に示すようにプレイリスト情報は、メインパスを定義するPlay Item情報#1,#2・・・・#mと、サブパスを定義するサブパス情報#1,#2・・・・#pとからなる。
先ずメインパスについて説明する。メインパスは、複数のPlayItem情報(PlayItem情報#1,#2,#3・・・#m)と、これらPlayItem情報数(Number)とから定義される。PlayItem情報は、メインパスを構成する1つ以上の論理的な再生区間を定義する。PlayItem情報の構成は、引き出し線hs1によりクローズアップされている。この引き出し線に示すようにPlayItem情報は、再生区間のIn点及びOut点が属するAVClipのClip情報のファイル名を示す『Clip_Information_file_name』と、当該AVClipがどのような符号化方式で符号化されているかを示す『Clip_codec_identifier』と、再生区間の始点を示す時間情報『IN_time』と、再生区間の終点を示す時間情報『OUT_time』と、AVClipやサブClipに多重化されているエレメンタリストリームのうち、再生可能なものを示す『STN_table』とから構成される。
様々なPL情報を定義するだけで、映画作品のバリエーションは増えるので、映画制作者の表現の幅を増やせることが、静的なシナリオの最大のメリットである。また、BD-ROMにおける再生単位には、PlayItemといったものの他、Title、Chapterがある。Titleとは、いわゆる映画作品に相当する再生単位であり、1つ以上のPL情報から構成される。一方Chapterとは、いわゆる章に相当する単位であり、Mark情報と呼ばれる情報により規定される。
<サブパス>
図5の矢印hc1は、サブパス情報の内部構成をクローズアップして示す。この矢印hc1に示すように各サブパス情報は、1つ以上のサブPlayItemからなる。また各サブPlayItemは、図中の矢印hc2に示すように『Clip_information_file_name』、『clip_codec_identifier』、『SubPlayItem_In_time』、『SubPlayItem_Out_time』、『sync_PlayItem_id』、『sync_start_PTS_of_PlayItem』からなる。
『Clip_codec_identifier』は、サブClipがどのような符号化方式で符号化されているかを示す。
『SubPlayItem_In_time』は、サブClipの再生時間軸上における、サブPlayItemの始点を示す情報である。
『sync_PlayItem_id』は、メインパスを構成するPlayItemのうち、本サブPlayItemが同期すべきものを一意に指定する情報である。SubPlayItem_In_timeは、このsync_PlayItem_idで指定されたPlay Itemの再生時間軸上に存在する。
上述したPlay Item情報の構成においてSTN_tableは、状態設定に用いられる情報であり、本発明の実施になくてはならない必要不可欠な要素である。以降STN_tableについてより詳細に説明する。
STN_tableは、Play ItemのClip_Information_file_nameで指定されているAVClipに多重化された複数エレメンタリストリームやサブPlayItemのClip_Information_file_nameで指定されているサブClip内のエレメンタリストリームのうち、再生可能なものを示すテーブルである。具体的にいうと、複数エレメンタリストリームのそれぞれについてのentryを、attributeと対応付けることで構成される。ここで”再生可能”とは、Play Itemにより指定されているAVClipに多重されているエレメンタリストリームを主として意味する。しかしこれだけではなく、AVClipとは別個に記録されながら、このエレメンタリストリームと共に再生されるエレメンタリストリーム(textSTストリーム)も含む。
entry−attributeの詳細について説明する。図9(a)〜(d)は、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』を含む。
PGストリームにおけるentryは、AVClipを多重分離するにあたって、当該PGストリームの抽出に用いられるPIDを示す『ref_to_stream_PID_of_mainClip』を含む。
PGストリームにおけるattributeは、0x90に設定されることによりPGストリームのコーディックを示す『stream_coding_type』と、対応するPGストリームの言語属性を示す『PG_language code』とからなる。
textSTストリームにおけるentryは、textSTストリームを格納したSubClipのentry識別子を示す『ref_to_subClip_entry_ID』と、Subpath情報のIDを示す『ref_to_subPath_ID』と、textSTストリームに付加されたPIDを示す『ref_to_stream_PID_of_subClip』とからなる。
図9(e)は、IGストリームに対応したentry−attributeの組みを示す図である。
IGストリームにおけるattributeは、0x91に設定されることによりIGストリームのコーディックを示す『stream_coding_type』と、対応するIGストリームの言語属性を示す『language code』とからなる。以上が各エレメンタリストリームについてのentry−attributeのデータ構造である。STN_tableにおけるentryの順位は、対応するストリームを選択するにあたっての優先順位として解釈される。またSTN_tableにおいてtextSTストリーム、PGストリームをひとまとめにして記述しているのは、PGストリーム、textSTストリームを対等に扱い、これらの優劣を規定するためである。つまりPG_textST_streamに相当するentry群においてtextSTストリームに対応するentryがPGストリームに対応するentryより上位に記述されている場合、PGストリームよりもtextSTストリームが優先的に選択されることになる。逆にSTN_tableにおいてPGストリームに対応するentryが、textSTストリームに対応するentryより上位に記述されている場合、PGストリームが優先的に選択されることになる。
以上がBD-ROMにおけるアプリケーションフォーマットのデータ構造である。本発明に係る再生装置が対象としている記録媒体は、BD-ROMだけではない。再生装置に内蔵されているHDも再生の対象となる。このHDに記録されているデータについて説明する。かかるHDにも、サブClipを格納したファイル、Clip情報を格納したファイル、プレイリスト情報を格納したファイルが存在する。これらのファイルは、ネットワークを介してプリロードされたサブClip、Clip情報、プレイリスト情報である。図10は、プリロードされたプレイリスト情報の内部構成を示す図である。本図に示すようにプリロードプレイリスト情報は、図5に示したBD-ROM上のプレイリスト情報と同じ構成になっている。異なるのは、Play Item情報におけるClip_Information_file_name及びサブPlayItem情報のClip_Information_file_nameが、BD-ROM及びHDのどちらに存在するClip情報であっても、指定できる点である。この指定にあたって、プリロードプレイリスト情報は、BD-ROM上のファイルをフルパスで指定する必要はない。本HDは、BD-ROMと一体になって、仮想的な1つのドライブ(バーチャルパッケージと呼ばれる)として、再生装置により認識されるからである。故に、Play Item情報におけるClip_Information_file_name及びサブPlayItem情報のClip_Information_file_nameは、Clip情報の格納したファイルのファイルボデイにあたる数値XXX,ZZZを指定することにより、HD、BD-ROM上のAVClipを指定することができる。図11は、HD上のプレイリスト情報内のClip_Information_file_nameによるファイル指定を示す図である。本図における矢印rf1,rf2,rf3は、プレイリスト情報におけるPlay ItemのClip_Information_file_nameによる指定を示し、矢印pf1,pf2,pf3は、プレイリスト情報におけるサブPlayItemのClip_Information_file_nameによる指定を示す。このようなClip_Information_file_nameによる指定により、HD上のサブClipに定義されたサブパスを、BD-ROM上のメインClip上に定義されたメインパスと同期して再生することができる。
以上が記録媒体の説明である。続いて本発明に係る再生装置の実施形態について説明する。図12は、本発明に係る再生装置の内部構成を示す図である。本発明に係る再生装置は、本図に示す内部に基づき、工業的に生産される。本発明に係る再生装置は、主としてシステムLSIと、ドライブ装置という2つのパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムLSIは、再生装置の機能を果たす様々な処理部を集積した集積回路である。こうして生産される再生装置は、BDドライブ1、リードバッファ2、デマルチプレクサ3、ビデオデコーダ4、ビデオプレーン5、P-Graphicsデコーダ9、Presentation Graphicsプレーン10、合成部11、フォントゼネレータ12、I-Graphicsデコーダ13、スイッチ14、Interactive Graphicsプレーン15、合成部16、HDD17、リードバッファ18、デマルチプレクサ19、オーディオデコーダ20、シナリオメモリ23、制御部24、スイッチ25、CLUT部26、CLUT部27、PSRセット28、操作受付部29、遷移制御部30から構成される。
リードバッファ2は、FIFOメモリであり、BD-ROMから読み出されたTSパケットが先入れ先出し式に格納される。
デマルチプレクサ(De-MUX)3は、リードバッファ2からTSパケットを取り出して、このTSパケットを構成するTSパケットをPESパケットに変換する。そして変換により得られたPESパケットのうち、制御部24から設定されたstreamPIDをもつものをビデオデコーダ4、オーディオデコーダ20、P-Graphicsデコーダ9、I-Graphicsデコーダ13のどれかに出力する。
ビデオプレーン5は、非圧縮形式のピクチャを格納しておくためのプレーンである。プレーンとは、再生装置において一画面分の画素データを格納しておくためのメモリ領域である。再生装置に複数のプレーンを設けておき、これらプレーンの格納内容を画素毎に加算して、映像出力を行えば、複数の映像内容を合成させた上で映像出力を行うことができる。ビデオプレーン5における解像度は1920×1080であり、このビデオプレーン5に格納されたピクチャデータは、16ビットのYUV値で表現された画素データにより構成される。
Presentation Graphicsプレーン10は、一画面分の領域をもったメモリであり、一画面分の非圧縮グラフィクスを格納することができる。本プレーンにおける解像度は1920×1080であり、Presentation Graphicsプレーン10中の非圧縮グラフィクスの各画素は8ビットのインデックスカラーで表現される。CLUT(Color Lookup Table)を用いてかかるインデックスカラーを変換することにより、Presentation Graphicsプレーン10に格納された非圧縮グラフィクスは、表示に供される。
フォントゼネレータ12は、文字フォントを用いてtextSTストリームに含まれるテキストコードをビットマップに展開する。
I-Graphicsデコーダ13は、BD-ROM又はHDから読み出されたIGストリームをデコードして、非圧縮グラフィクスをInteractive Graphicsプレーン15に書き込む。
Interactive Graphicsプレーン15は、I-Graphicsデコーダ13によるデコードで得られた非圧縮グラフィクスが書き込まれる。
HDD17は、上述した再生装置組込型のHDである。本HDDの記録内容を読み出し、BD-ROMの記録内容と動的に組み合わせることにより、BD-ROMに存在しないグラフィクスストリームの再生や、BD-ROMに存在しないtextSTストリームによる再生を実現することができる。
デマルチプレクサ(De-MUX)19は、リードバッファ18からTSパケットを取り出して、TSパケットをPESパケットに変換する。そして変換により得られたPESパケットのうち、制御部24により指示されたstreamPIDをもつものをフォントゼネレータ12に出力する。
シナリオメモリ23は、カレントのPL情報やカレントのClip情報を格納しておくためのメモリである。カレントPL情報とは、BD-ROMに記録されている複数PL情報のうち、現在処理対象になっているものをいう。カレントClip情報とは、BD-ROMに記録されている複数Clip情報のうち、現在処理対象になっているものをいう。
CLUT部26は、ビデオプレーン5に格納された非圧縮グラフィクスにおけるインデックスカラーを、Y,Cr,Cb値に変換する。
CLUT部27は、Interactive Graphicsプレーン15に格納された非圧縮グラフィクスにおけるインデックスカラーを、Y,Cr,Cb値に変換する。
操作受付部29は、ストリーム等を選択する操作が、リモコンや再生装置のフロントパネルに対してなされれば、その操作を示すUser Operation情報を制御部24に出力する。
また操作受付部29から出力されたUser Operation情報やI-Graphicsデコーダ13から出力されたボタンコマンドによりPSRの変更が要求された場合、遷移制御部30は、操作受付部29から出力されたUser Operation情報、I-Graphicsデコーダ13から出力されたボタンコマンドに基づき、PSRに設定すべき値(値X)を決定し、この値Xに基づき、PSRを更新する処理を行う。ここで操作受付部29から出力されたUser Operation情報が、音声切換キー、副映像切換キーの押下を示すものであるなら、PSRの数値に1を加えた値を値Xとして決定する。また操作受付部29から出力されたUser Operation情報が数値キーの押下を示すものなら、その押下された値を値Xとして決定する。一方、操作受付部29から出力されたボタンコマンドがPSRの設定を再生装置に命じるものなら、そのボタンコマンドの引数で指定された値を値Xとして決定する。このようにして値Xが決定されれば、値Xが有効な値(Valid)であるか、不定値であるは、無効な値(Invalid)であるかを判定し、判定結果に応じたPSR更新処理を行う。ここで値Xが有効であるなら、値Xを用いてPSRを上書きする。値Xが不定値であるなら、最適な値を選んでPSRに設定する。値Xが無効な値であるなら、PSRの数値を維持する。
<PSRについての説明>
以上が本発明に係る再生装置の構成である。続いてPSRセットにおける個々のPSRについて説明する。PSRセットのうちPSR1、PSR2、PSR15、PSR16、PSR30は、再生装置における音声・字幕の選択や、これらをデコード・表示する能力の有無、言語設定を示すものである。図13は、PSR1、PSR2、PSR15、PSR16、PSR30の詳細設定を示すである。
PSR2は、disp_flagを含み、再生装置により現在選択されているPG_textST_streamを特定する。disp_flagは、”0”に設定されることにより、PGストリーム及びtextSTストリームの表示が不可能であることを示し、”1”に設定されることによりPGストリーム及びtextSTストリームの表示が可能であることを示す。
AC-3 capabilityは、0001bに設定されることによりAC-3形式のステレオ音声を再生できる能力が再生装置にあることを示し、0010bに設定されることによりAC-3形式のサラウンド音声を再生できる能力が再生装置にあることを示す。
PSR30は、最上位ビットが”0”に設定されることによりテキスト字幕を表示する能力が再生装置に存在しない旨を示し、最上位ビットが”1”に設定されることによりテキスト字幕を表示する能力が再生装置に存在する旨を示す。
PSR4は、1〜100の値に設定されることで、現在の再生時点が属するタイトルを示し、0に設定されることで、現在の再生時点がトップメニューであることを示す。
PSR5は、1〜999の値に設定されることで、現在の再生時点が属するチャプター番号を示し、0xFFFFに設定されることで、再生装置においてチャプター番号が無効であることを示す。
PSR7は、0〜255の値に設定されることで、現在の再生時点が属するPlay Item(カレントPlay Item)の番号を示す。
PSR8は、0〜OxFFFFFFFFの値に設定されることで、45KHzの時間精度を用いて現在の再生時点(カレントPTM)を示す。以上がPSR4〜PSR8についての説明である。
図13に示したPSRのうち、PSR1の状態遷移について更に詳しく説明する。
PSR1は、カレントPlay ItemのSTN_tableにentryが記述されている複数オーディオストリームのうち、1つを特定するものである。PSR1の設定値が変化すれば、再生装置はこの変化後のオーディオストリームを再生する。PSR1は初期値として0xFFが設定されており、再生装置により1〜32の値に設定されうる。この0xFFは、不定値であり、オーディオストリームが存在しない旨、又は、オーディオストリームが選択されてない旨を示す。1〜32の設定値は、オーディオストリーム番号として解釈される。
Invalidとは、PSR1の値が、0であるか、又は、Play ItemのSTN_tableに記述されたentry数を上回る番号になっていることを意味する。また、Play ItemのSTN_tableに記述されたentry数が1〜32の値であったとしても、デコードできない場合がある。
Procedure when playback condition is changedは、何等かの事象が再生装置に生じたため、再生装置の状態が変化した際に実行すべき処理手順を示す。
これら破線枠に示されるProcedure when playback condition is changed、Procedure when change is requestedが、本発明の主眼となるストリームの選択手順であり、後でフローチャートを交えて詳細に説明する。
状態遷移を意味する矢印に添えられた注釈は、各状態遷移のトリガとなるべき事象を意味する。つまり本図では、”Load Disc”、”Change a Stream”,”Start PlayList playback”,”Cross a PlayItem boundary”,”Terminate PlayList playback”というような事象が発生した際、PSR1の状態遷移がなされることになる。これらの記法を理解して図15(a)を参照すれば、Invalid→Invalidの状態遷移時、Valid→Invalidの状態遷移時には、上述した処理手順は実行されていないことがわかる。これに対しInvalid→Valid間の状態遷移、Valid→Valid間の状態遷移は何れも破線枠を経由している。つまりPSR1をValidに設定するにあたって、上述したProcedure when playback condition is changed、Procedure when change is requestedによりPSR1は設定されるのである。
『Load Disc』とは、再生装置にBD-ROMがローディングされたとの事象を意味する。PSR1は、かかるローディング時において、一旦不定値(0xFF)に設定されるのである。
『Start PlayList playback』とは、PLに基づく再生処理が開始したとの事象を意味する。かかる事象が発生時において、Procedure when playback condition is changedが実行され、PSR1はValidに設定されることがわかる。
『ChangeXXX』とは、ユーザによるXXX(本図ではStream)の切り換え要求がなされたとの事象を意味する。PSR1がInvalidである場合に、かかる事象が発生すれば(図中のcj1)、PSR1はその要求通りの値に設定される。こうして設定された値がたとえ有効なストリーム番号を示していたとしても、このPSR1の設定値はInvalidな値として取り扱われる。即ち、事象”ChangeXXX”による状態遷移では、InvalidであるPSRが、Validに変えることはない。
ステップS1は、STN_tableにおけるentry数が0であるか否かの判定であり、もし0であればPSR1の値を維持する(ステップS3)。
ステップS6、ステップS7は、全てのオーディオストリームについてステップS8を繰り返すループ処理を形成している。このループ処理において、処理対象となる個々のオーディオストリームを、オーディオストリームiという。ステップS8は、オーディオストリームiが3つの条件(a)(b)(c)を満たすかのチェックを行う。
条件(b)とは、オーディオストリームiの言語属性が再生装置の言語設定と同じであることであり、これを満たすか否かの判定は、STN_tableに記述されたオーディオストリームiのAudio_language_codeがPSR16の設定値と同じであるか否かの比較でなされる。
条件(c)が、どのようなケースで満たされるかについて、図17を参照しながら説明する。図17は、再生能力と、ストリームの属性との組合せを表形式で示した図である。再生装置の能力には、ステレオ出力、サラウンド出力の2つがあり、ストリームの属性には、ステレオ、サラウンドの2つがある。
再生装置側のサラウンド出力の能力があり、オーディオストリームの属性がステレオである場合、オーディオストリームの再生は可能になる。
再生装置側のサラウンド出力の能力があり、オーディオストリームの属性がサラウンドである場合、このオーディオストリームの再生は可能になる。
これらの複数の条件のうち、「オーディオストリームiがどれとどれを満たすか」、また「何個の条件を満たすか」という、満たすべき条件のパターンにより、本フローチャートは、オーディオストリームに優先順位を付与する。
ステップS10は、(a)(b)(c)の全てを満たすオーディオストリームが存在するかどうかの判定である。もし存在すれば、(a)(b)(c)を満たすオーディオストリームの番号をPSR1に設定する(ステップS15)。
ステップS11は、(a)(b)(c)の全てを満たすオーディオストリームが存在しない場合、(a)(b)を満たすオーディオストリームが存在するかどうかの判定である。もし存在すれば、(a)(b)を満たすオーディオストリームのうち、STN_tableにおけるエントリー順位が最も高いものをPSR1に設定する(ステップS16)。
以上がProcedure when playback condition is changedである。続いてProcedure when change is requestedについて説明する。図19は、ストリーム変化時におけるPSR1の設定手順を示すフローチャートである。本フローチャートと、図15(b)との違いは、図15(b)におけるPSR1の表記がXに置き換えられている点である。このXは、操作受付部29から出力されたUser Operation情報やI-Graphicsデコーダ13から出力されたボタンコマンドに基づく値である。
もしPSR1の設定値が0xFFであるなら、PSR1を設定する(ステップS24)。このステップS24の処理手順は、図16に示した処理手順と同一である(図16のうち、ステップS9の判定はProcedure when change is requestedでは必要ではない。何故ならProcedure when change is requestedでは、条件(a)(b)(c)を満たすオーディオストリームが1つも存在しない場合、ユーザが設定した値XをPSR1に設定せず、PSR1の設定値を維持するからである。)。
<PSR1設定の具体例>
以降具体例を交えながら、本フローチャートの処理について説明する。
かかる再生装置に対し、図20(b)に示すオーディオストリーム、STN_tableが記録されたBD-ROMがローディングされたとする。このSTN_tableには、図20(c)に示すように6つのオーディオストリームのentryが記述されている。
以上の説明により、条件(a)、条件(b)、条件(c)の全てを満たすストリームが選択されることが明らかになったが、サラウンド出力の能力が再生装置にない場合、ストリーム選択はどのように行われるのだろうか。ここで再生装置側にサラウンドの出力能力が存在せず、AVClipに、AC-3(2ch)のオーディオストリームと、AC-3(5.1ch)のオーディオストリームとが多重化されているケースを想定する。図17の表では、何れのオーディオストリームの再生も可能になるので、かかるオーディオストリームを図16の処理手順の対象とした場合、これらのオーディオストリームには、優劣がつかない。
こうすることでサラウンド再生の能力をもたない再生装置では、AC-3(2ch)の音声が優先的に再生されることになる。一方、ビットレートを比較すると、
AC-3(5.1ch)のビットレートは384Kbps、AC-3(2ch)のビットレートは192kbpsであり、AC-3(5.1ch)の方が高い。この事実を重視するオーサリング担当者は、AC-3(2ch)の再生より、AC-3(5.1ch)のダウンミキシング再生を期待していることが多い。このようにダウンミキシングに対する期待が高ければ、オーサリング担当者はSTN_tableにおいて、AC-3(5.1ch)のentryを高く設定すればよい。
ここで、オーサリング担当者が、AC-3(5.1ch)のダウンミキシング再生より、AC-3(2ch)の再生を期待している場合のSTN_tableの記述例と、オーディオストリームの選択例とについて図21を参照しながら説明する。
AC-3(5.1ch)のダウンミキシング再生を期待しているので、STN_tableにおいて、AC-3(5.1ch)のオーディオストリーム(オーディオストリーム2、オーディオストリーム5)のentry順位は、AC-3(2ch)のオーディオストリーム(オーディオストリーム1、オーディオストリーム4)のentry順位より高く設定されている(図22(b))。このようにオーディオストリーム5のentry順位はオーディオストリーム4よりも高く設定されているので、オーディオストリーム4、オーディオストリーム5が同じ条件(a)、条件(b)を満たす場合、再生装置はオーディオストリーム5を選んで再生する(図22(c))。
<PSR2の状態遷移>
続いてPSR2について説明する。PSR2は、カレントPlay ItemのSTN_tableにentryが記述された複数PGストリーム又は複数textSTストリームのうち、再生すべきものの特定に用いられる。PSR2の設定値が変化すれば、再生装置はこの変化後のPGストリーム又はtextSTストリームを再生する。PSR2は初期値として不定値が設定されており、再生装置により1〜255の値に設定されうる。0xFFFFは、不定値であり、PGストリーム及びtextSTストリームが存在しない旨、又は、PGストリーム及びtextSTストリームが選択されてない旨を示す。1〜255の設定値は、PG_textST_stream番号として解釈される。図23(a)は、PSR2が取り得る状態遷移を示す図である。本図の状態遷移は、図15(a)と同じになっている。また、図23(b)は、PSR2におけるProcedure when playback condition is changedを示すフローチャート、図24はProcedure when change is requestedを示すフローチャートである。これらのフローチャートも、図15(b)、図19と同じになっている。ただし、ステップS5、ステップS23におけるPSR2の設定は、大きく異なっている。
本フローチャートのステップS31、ステップS32は、STN_tableに記述されているPG_textST_streamのそれぞれについて、ステップS33〜ステップS35の処理を繰り返すループ処理になっている。本ループ処理において処理対象となるPG_textST_streamをPG_textST_streamiとする。ステップS33は、PG_textST_streamiのstream_coding_typeが0x90であるか、0x92であるかの判定であり、もし0x91であるならステップS34に移行する。
(a)PGストリームiを再生する能力が再生装置に存在すること
(b)PGストリームiの言語属性が再生装置の言語設定と一致すること
この(b)の条件は、STN_tableにおけるPG_language_codeがPSR17と一致するか否かの判定でなされる。
(a)textSTストリームiを再生する能力が再生装置に存在すること
(b)textSTストリームiの言語属性が再生装置の言語設定と一致すること
(a)の条件を具備しているかの判定は、再生装置のPSR30が"再生能力有"を示すかどうかでなされる。(b)の条件を具備しているかの判定は、STN_tableのtextST_language_codeがPSR17の設定値と一致しているかどうかでなされる。
ステップS36は、(a)を満たすPG_textST_streamが存在しないかどうかの判定であり、もし存在しないのなら、ステップS39においてInvalidな値(0xFFFF)をPSR2に設定する(ステップS38)。
ステップS41は、(a)のみを満たすPGstream、(a)のみを満たすtextST_streamのうち、STN_tableにおけるエントリー順位が最も高いものをPSR2に設定する。以降具体例を交えながら、本フローチャートの処理について説明する。
この具体例で想定している再生装置は、図26(a)に示すようにPGストリームをデコードする能力はもっているが、textSTストリームをデコードする能力はもっていない再生装置である。そして日本語音声を示すよう、言語設定がなされているものとする。
かかる再生装置に対し、図26(b)に示すようなSTN_tableがロードされたとする。このSTN_tableには、2つのtextSTストリームのentry(PG_textST_stream1,3)と、2つのPGストリームのentry(PG_textST_stream2,4)とが記述されている。
各ストリームについての条件具備が明らかになったので、条件(a)〜条件(b)の全てを満たす4つ目のストリームに最高順位を付与する。
以降、図27を参照しながら、STN_tableにおけるentryの順序によるPG_textST_stream選択について説明する。ここで想定する再生装置は、PGストリーム、textSTストリームの双方をデコードする能力をもつ再生装置である。この再生装置の言語設定と同じ言語属性をもつPGストリーム、textSTストリームが複数存在する場合、これらPGストリーム、textSTストリームに対する優先順位が同じになってしまう。かかる場合、図27に示すように、オーサリング担当者が選択を望むストリームについてのentryを、STN_tableの先頭順位に記述する。そしてPGストリームにあたるentryを次順位以降に記述しておく。ここでオーサリング担当者が選択を望んでいるストリームがtextSTストリームであり、これのentryがSTN_tableの先頭に記述されたとすると、自動的にtextSTストリームが選択され、PGストリームが後回しにされる。
<変更例>
Procedure when change is requestedにおいて値Xが無効な値であるなら、遷移制御部30はPSR1,2の格納値を維持するとしたが、ユーザにより音声切換キー、字幕切換キーが押下された場合の処理としては望ましくない。音声切換キー、字幕切換キーが押下された場合、本来値Xは”PSR+1”になるべきである。にも拘らず、値Xが無効であるとの理由で、PSR1,2の格納値が維持されれば、ユーザは再生装置が誤動作しているように、感じるからである。
第2実施形態は、マルチアングル区間における状態設定に関する。マルチアングル区間実現のためのデータ構造は図5に示したPlay Item情報にある。図28は、Play Item情報のデータ構造を示す図である。本図に示すようにマルチアングル区間対応のPlay Item情報は、通常のPlay Itemとの互換部分と、マルチアングル区間実現のための拡張部分とからなる。互換部分のデータ構造は図5と同じであり、『Clip_Information_file_name』、『Clip_codec_identifier_id』『IN_time』、『OUT_time』、『STN_table』である。マルチアングル区間において、この互換部分で指定されるAVClipは、1本目のアングル区間として取り扱われる。こうすることで、マルチアングル区間に対応しえない再生装置(BD-REのデータ構造しか対応しえない再生装置)が、マルチアングル区間対応のPlay Itemを読み取ったとしても、この互換部分のみを参照して再生を行うことで、1本目のアングル区間を再生してゆくことができる。拡張部分のデータ構造は、『is_multi_angles』,『number_of_angles』,『Angle情報[2]・・・[j]』からなる。
『number_of_angles』は、マルチアングル区間を示すよう『is_multi_angles』が設定されている場合、このマルチアングル区間を構成するアングル数を示す。
『Angle情報[2]・・・[j]』は、マルチアングル区間における個々のアングル区間についての情報であり、『Clip_Information_file_name』、『Clip_codec_identifier』を含む。
『Clip_codec_identifier』は、アングル情報のClip_Information_file_nameにて記述されたファイル名のAVClipにおける符号化方式を示す。
以上の説明においてアングル情報には、In_time、Out_timeがない。これは、2本目以降のアングル区間は、互換部分に存在するIn_time、Out_timeにより、Play Itemの始点、終点が指定されるためである。従って、アングル情報内のClip_Information_file_nameで指定されるAVClipは、互換部分内のClip_Information_file_nameで指定されるAVClipと、同一再生時間でなければならない。また、AVClip再生時間軸において、個々の再生タイミングを規定するタイムスタンプ(System Time Clock)の値が厳密に同一でなければならない。
具体的にいうと制御部24は、カレントPL情報のうち、1つのPlay Itemを再生する際、PSR3の設定値を参照する。PSR3の設定値が=1であれば、Play ItemのIn_time,Out_timeが存在するAVClipをアクセスし、これのPlay ItemのIn_timeからOut_timeまでのTSパケットを読み出すようBD-ROMドライブ1を制御する。そしてTSパケットが読み出されれば、これを順次ビデオデコーダ4に投入し、アングル区間を再生させてゆく。
PSR3の状態遷移について説明する。図32(a)は、PSR3の状態遷移を示す図である。本図を図15(a)とを比較すると、事象Cross PlayItem Boundaryをトリガとした状態遷移は存在しないことがわかる。そしてStart PlayList Playback、Terminate PlayList PlaybackがStart PlayItem with multiangle structure,End of PlayItem with multiangle structureに置き換わっている。またProcedure when change is requestedは、”stream change is requested”ではなく、”angle change is requested”に置き換わっている。しかしこれらを除き、PSR3の状態遷移は図15(a)と同じになっている。
図33(a)では、PSR3がアングル番号=2を示すよう設定されていると仮定する。この状態でPlayItem#1の再生が開始されると、制御部24はPSR3の設定値=2により指示されるアングル区間(Right1)を選択して再生する。かかるRight1の再生が継続し、Right1の再生が終了すれば、PSR3は、アングル番号=2を維持したままInvalidになる。
第3実施形態は、対話機能の実行時における状態設定に関する。ここで想定する対話機能とは、複数ページからなり、個々のページにグラフィカルなボタン部材を配置させてユーザからの操作を受け付けるというものである。対話機能の実行にあたって、表示可能な複数ページのうち、どのページを表示させるか、そしてそのページにおける複数ボタンのうち、どれにフォーカスをあてるかを規定するのが本実施形態における状態設定である。
2以上のページ、ボタンを表示させるためのデータ構造は、第1実施形態に示したIGストリームに存在する。図34を参照しながらIGストリームについて説明する。IGストリームは、ICS、PDS、ODSからなる。ODSはボタンをグラフィカルに表示させるためのグラフィクスデータであり、PDSは、ボタンの発色を規定するパレットデータである。
図34の矢印cu1は、ICSの内部構成をクローズアップしている。この矢印に示すようにICSは、『loading_model』,『user_interface_model』,『composition_time_out_pts』,『selection_time_out_pts』,『user_time_out_duration』、表示可能な複数ページのそれぞれに対応する『ページ情報(1)(2)・・・(i)・・・(n)』を含む。
『user_Interface_model』は、動画の再生進行中、ページを常時表示させるか(Always-on)、ユーザ操作に基づきポップアップ表示させるかを示す(Pop-up)。
『composition_time_out_PTS』は、対話機能を有効とする期間の終期を示す。
続いてページ情報について説明する。本図における矢印cu2はページ情報の内部構成をクローズアップしている。この矢印に示すようにページ情報は、『page_id』,『UO_mask_table』,『IN_effect』,『Out_effect』,『animation_frame_rate_code』,『default_selected_button_id_ref』、『default_activated_button_id_ref』,『pallet_id_ref』,複数ボタンのそれぞれに対応する『ボタン情報(1)(2)・・・(i)・・・(n)』を含む。
『UO_Mask_Table』は、ICSに対応するDisplay Setにおけるユーザ操作の許可/不許可を示す。このマスクフィールドが不許可に設定されていれば、再生装置に対するユーザ操作は無効になる。
『In_effect』は、ページの表示開始時あたって実行すべき表示効果を示す。
『animation_frame_rate_code』は、アニメーション型ボタンに適用すべきフレームレートを記述する。
『default_selected_button_id_ref』は、対話画面の表示が始まったとき、デフォルトでセレクテッド状態に設定すべきボタンを動的に定めるか、静的に定めるかを示す。本フィールドが”OxFF”であれば、デフォルトでセレクテッド状態に設定すべきボタンを動的に定める旨を示す。この場合、再生装置におけるPSRの設定値が優先的に解釈され、PSR10に示されるボタンがセレクテッド状態になる。本フィールドが0xFFでなければ、デフォルトでセレクテッド状態に設定すべきボタンを静的に定める旨を示す。この場合、『default_selected_button_id_ref』に規定されたボタン番号でPSR10を上書きし、本フィールドで指示されるボタンをセレクテッド状態に設定する。
『ボタン情報(Button_info)』は、対話画面において合成される各ボタンを定義する情報である。図35は、ボタン情報についての内部構成を示す図である。図中の引き出し線hp1はICSにより制御されるi番目のボタンについてのボタン情報iの内部構成をクローズアップしている。ページに表示される個々のボタンの状態には、ノーマル状態、セレクテッド状態、アクティブ状態がある。ノーマル状態とは、単に表示されているに過ぎない状態である。これに対しセレクテッド状態とは、ユーザ操作によりフォーカスが当てられているが、確定に至っていない状態をいう。アクティブ状態とは、確定に至った状態をいう。かかる状態があるので、ボタン情報iには、以下の情報要素が規定されている。
『numerically_selectable_flag』は、ボタンiの数値選択を許可するか否かを示すフラグである。
『auto_action_flag』は、ボタンiを自動的にアクティブ状態にするかどうかを示す。auto_action_flagがオン(ビット値1)に設定されれば、ボタンiは、セレクテッド状態になる代わりにアクティブ状態になる。auto_action_flagがオフ(ビット値0)に設定されれば、ボタンiは、選択されたとしてもセレクテッド状態になるにすぎない。
『upper_button_number』は、ボタンiがセレクテッド状態である場合においてMOVEUPキーが押下された場合、ボタンiの代わりに、セレクテッド状態にすべきボタンの番号を示す。もしこのフィールドにボタンiの番号が設定されていれば、MOVEUPキーの押下は無視される。
『end_object_id_normal』は、ノーマル状態のボタンiをアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番たる『object_ID』のうち、最後の番号がこのend_object_id_normalに記述される。このEnd_object_id_normalに示されるIDが、start_object_id_normalに示されるIDと同じである場合、このIDにて示されるグラフィックスオブジェクトの静止画が、ボタンiの絵柄になる。
『start_object_id_selected』は、セレクテッド状態のボタンiをアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番のうち、最初の番号がこのstart_object_id_selectedに記述される。
『start_object_id_activated』は、アクティブ状態のボタンiをアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番のうち、最初の番号がこのstart_object_id_activatedに記述される。
続いてボタンコマンドについて説明する。
『ボタンコマンド(button_command)』は、ボタンiがアクティブ状態になれば、実行されるコマンドである。ボタンコマンドでは、以下の(i)〜(iv)のコマンドを使用することにより、PSR,GPRに値を設定したり、これらPSR,GPRから値を取得したりすることができる。
(i)Get value of Player Status Registerコマンド
書式:Get value of Player Status Register(引数)
この関数は、引数で指定されたPlayer Status Registerの設定値を取得する。
(ii)Set value of Player Status Registerコマンド
書式:Set value of Player Status Register(第1引数、第2引数)
この関数は、第1引数で指定されたPlayer Status Registerに、第2引数で指定された値を設定させる。
(iii)Get value of General Purpose Registerコマンド
書式:Get value of General Purpose Register(引数)
この関数は、引数で指定されたGeneral Purpose Registerの設定値を取得する関数である。
(iv)Set value of General Purpose Registerコマンド
書式:Set value of General Purpose Register(第1引数、第2引数)
この関数は、第1引数で指定されたGeneral Purpose Registerに、第2引数で指定された値を設定させる。
<具体例>
以上がICSの内部構成である。ICSによる対話制御の具体例について以下説明する。本具体例は、図36のようなODS、ICSを想定している。図36は、あるDSnに含まれるODSと、ICSとの関係を示す図である。このDSnには、ODS11〜19,21〜29,31〜39,41〜49が含まれているものとする。これらのODSのうち、ODS11〜19は、ボタン1-Aの各状態を描いたものであり、ODS21〜29は、ボタンBの各状態を描いたもの、ODS31〜39は、ボタン1-Cの各状態を描いたもの、ODS41〜49は、ボタン1-Dの各状態を描いたものとする(図中の括弧}を参照)。一方、ICSには、ページ1〜ページ3という3枚のページに対応するページ情報(1)(2)(3)が存在しており、このうち先頭ページにあたるページ1おけるbutton_info(1),(2),(3),(4)にて、これらのボタン1-A〜ボタン1-Dの状態制御が記述されている(図中の矢印bh1,2,3,4参照)。
以上が記録媒体の改良である。続いて本実施形態に係る再生装置について説明する。再生装置が有する複数PSRのうち、対話機能に係るものは、PSR0、PSR11、PSR10である。図41を参照しながら、PSR0、PSR10、PSR11について説明する。
PSR0は、カレントPlay ItemのSTN_tableにentryが記述されている複数IGストリームのうち、1つを特定するものである。
PSR10は、PSR11により特定されるページに複数ボタンが存在する場合、それら複数ボタンのうち1つを特定するものである。
対話機能を実現するにあたって、PSR0は、以下のような状態遷移を行う。PSR0は初期値として1が設定されており、再生装置により2〜32の値に設定されうる。図42(a)は、PSR0が取り得る状態遷移を示す。図42(b)は、PSR0におけるProcedure when playback condition is changedを示し、図43はPSR0におけるProcedure when change is requestedのフローチャートを示す。これらの状態遷移、フローチャートは、第1実施形態に示したPSR1、PSR2と同じである。オーディオストリーム、PG_textST_streamの場合と同様、複数言語に対応するIGストリームがAVClipに多重されている場合、これらの中から、再生装置側の言語設定に応じたものが選ばれ、表示されることになる。この際、再生装置は、対応するentryが、STN_tableにおいて何番目に位置するかに従いIGストリームを選ぶ。これによりオーサリング担当者は、STN_tableにおけるentryの記述順序を規定することができ、複数IGストリームのうち、所望のものを優先的に選択させることができる。以上がPSR0の状態遷移についての説明である。
続いて本実施形態に係る再生装置の構成について説明する。再生すべきIGストリームがPSR0に示されているので、第2実施形態に係る再生装置において制御部24、デマルチプレクサ3は、以下の処理を行う。
デマルチプレクサ3は、BD-ROM及びHDから読み出されたTSパケットのうち、制御部24から設定されたPIDを有するものをI-Graphicsデコーダ13に出力する。これによりI-Graphicsデコーダ13には、ICS、PDS、ODSが順次供給されることになる。
続いて図44を参照しながら、I-Graphicsデコーダ13の内部構成について説明する。図44に示すようにI-Graphicsデコーダ13は、Coded Data Buffer33、Stream Graphics Processor34、Object Buffer35、Composition Buffer36、Graphics Controller37から構成される。
Stream Graphics Processor34は、ODSをデコードして、デコードにより得られた非圧縮グラフィクスをObject Buffer35に書き込む。
Object Buffer35は、Stream Graphics Processor34のデコードにより得られた非圧縮グラフィクス(図中の四角枠)が多数配置されるバッファである。
Graphics Controller37は、Composition Buffer36に配置されたICSにおける複数ページ情報のうち、PSR11により指定されているもの(カレントページ情報)のボタン情報を参照して、グラフィクスの描画を行う。この描画は、カレントページ情報内の各ボタン情報において、normal_state_infoのstart_object_id_normal,End_object_id_normalにより指定されているグラフィクスをObject Buffer15から読み出し、Interactive Graphicsプレーン15に書き込むことでなされる。カレントページ情報内のボタン情報のうち、PSR10により指定されているものについては、selected_state_infoのstart_object_id_selected,End_object_id_selectedにより指定されているグラフィクスをObject Buffer15から読み出し、Interactive Graphicsプレーン15に書き込むこと描画される。図中の矢印bg1,2,3,4は、以上のGraphics Controller37による描画を象徴的に示している。かかる描画により、ボタン1-A〜ボタン1-Dが配されたページがInteractive Graphicsプレーン15に現れ、動画に合成されることになる。
図45は、Graphics Controller37の処理のうち、メインルーチンにあたる処理を示すフローチャートである。本フローチャートは、ステップS88(アニメーション処理)、ステップS89(UO処理)を行いつつも、ステップS81、S82、ステップS83の何れかの事象が成立しているかどうかを判定し、もしどれかの事象が成立すれば、該当する処理を実行してメインルーチンにリターンするものである。
ステップS82は、現在の再生時点がselection_TimeOut_PTSに示される時刻であるかの判定であり、もしそうであれば、ボタンをアクティベートする処理を行う(ステップS86)。
ステップS95では、button_info(p)がカレントボタンに対応するbutton_infoであるか否かを判定する。もしそうであれば、ステップS96に、異なるならステップS97に移行する。
ステップS97では、button_info(p)のnormal_state_infoに指定されているstart_object_id_normalのグラフィクスオブジェクトを、グラフィクスオブジェクト(p)としてObject Buffer35から特定する。
図47は、ボタンのオートアクティベートの処理手順を示すフローチャートである。先ずdefault_activated__button_id_refが0であるか,FFであるかどうかを判定し(ステップS100)、00であれば何の処理も行わずメインルーチンにリターンする。FFであれば、カレントボタンiをアクティブ状態に遷移する(ステップS102)。そしてカレントボタンiに対応する変数animation(i)を0に設定してメインルーチンにリターンする(ステップS103)。
以上の処理により、セレクテッド状態のボタンは、所定時間の経過時においてアクティブ状態に遷移させられることになる。以上が、図47のフローチャートの全容である。
ここで初期表示は、各button_infoのnormal_state_infoにおけるstart_object_id_normal、selected_state_infoにおけるstart_object_id_selectedで指定されているグラフィクスオブジェクトを、Interactive Graphicsプレーン15に書き込まれることにより実現した。アニメーションとは、メインルーチンのループ処理が一巡する度に、各ボタンにおける任意のコマ(qコマ目にあるグラフィクスオブジェクト)をこのInteractive Graphicsプレーン15に上書する処理である。この更新は、button_infoのnormal_state_info、selected_state_infoで指定されているグラフィクスオブジェクトを、一枚ずつInteractive Graphicsプレーン15に書き込んでメインルーチンにリターンすることでなされる。ここで変数qとは、各ボタン情報のbutton_infoのnormal_state_info、selected_state_infoで指定されている個々のグラフィクスオブジェクトを指定するための変数である。
ステップS110は初期表示が済んでいるか否かの判定であり、もし済んでいなけれ何の処理も行わずにリターンする。もし済んでいればステップS111〜ステップS123の処理を実行する。ステップS111〜ステップS123は、ICSにおける各button_infoについて、ステップS113〜ステップS123の処理を繰り返すというループ処理を構成している(ステップS111、ステップS112)。
ステップS114は、button_info(p)が、現在セレクテッド状態にあるボタン(カレントボタン)に対応するbutton_infoであるか否かの判定である。
カレントボタン以外のボタンならば、button_info(p).normal_state_infoにおけるstart_object_id_normalに変数qを足した識別子をID(q)とする(ステップS115)。
ステップS116は、カレントボタンがアクティブ状態であるかの判定であり、もしそうであれば、ステップS117においてbutton_info(p).actioned_state_infoにおけるstart_object_id_activatedに変数qを足した識別子をID(q)とする。そしてbutton_info(p)に含まれるボタンコマンドのうち、1つを実行する(ステップS118)。
こうしてID(q)が決まれば、Object Buffer35に存在する、ID(q)を有するグラフィクスオブジェクト(q)を、button_info(p)のbutton_horizontal_position,button_vertical_positionに示されるGraphics Plane15上の位置に書き込む(ステップS120)。
ステップS121は、start_object_id_normal+qがend_object_id_normalに達したか否かの判定であり、もし達しないなら変数qをインクリメントした値を変数animation(p)に設定する(ステップS122)。もし達したなら変数animation(p)を0に初期化する(ステップS123)。以上の処理は、ICSにおける全てのbutton_infoについて繰り返される(ステップS111、ステップS112)。全てのbutton_infoについて、処理がなされれば、メインルーチンにリターンする。
図50は、UO処理の処理手順を示すフローチャートである。本フローチャートは、ステップS140〜ステップS143の何れかの事象が成立しているかどうかを判定し、もしどれかの事象が成立すれば、該当する処理を実行してメインルーチンにリターンする。ステップS140は、UOmaskTableが"1"に設定されているかどうかの判定であり、もしに設定されていれば、何の処理も行わずに、メインルーチンにリターンする。
ステップS142は、activatedキーが押下されたかどうかの判定であり、もしそうであれば、カレントボタンiをアクティブ状態に遷移する(ステップS144)。その後、変数animation(i)を0に設定する(ステップS145)。図51の処理手順のうち、ステップS147はサブルーチン化されている。このサブルーチンの処理手順を示したのが図51である。以降これらのフローチャートについて説明する。
そしてカレントボタンをボタンYとし、新たにカレントボタンになるボタンをボタンXとする(ステップS151)。XをPSR10に設定するにあたって、Procedure when change is requestedを実行する(ステップS152)。
以上がグラフィクスデコーダの処理である。
<フォーカス移動の具体例>
以上のページ切り換えにおいて、切換先ページにおけるどのボタンをセレクテッド状態にするかの指定は、オーサリング担当者の判断にかかっている。ここでどのようなフォーカス移動を実現するかが問題となる。ここでフォーカスとは、セレクテッド状態になっているボタンのことをいい、フォーカス移動とは、上述したボタンコマンドやデフォルトセレクテッドボタンを用いることにより、ページ切り換えに応じてセレクテッド状態になっているボタンを動的に、又は、静的に移動させることである。
このようなキー操作の手間の煩わしさを軽減するのが、フォーカス移動である。以降フォーカス移動の実現手順について説明する。図53は、図52に示したページ1〜ページ4を、選択メニュー、チャプターメニューにどのように割り当てるかを示す図である。図52に示した複数ページのうち、ページ1を選択メニューに割り当て、ページ2を第1話のチャプターメニュー、ページ3を第2話のチャプターメニュー、ページ4を第3話のチャプターメニューにそれぞれ割り当てるものとする。
このような割り当てを行った後、ページ1のボタン1-Aのボタンコマンド、ページ2のボタン2-Fのボタンコマンドを用いて、図54のような処理手順を記述する。本図におけるボタン1-Aのボタンコマンドで記述された処理手順は、ボタン1-Aの確定時には、(1)PSR10の設定値をGPRに退避し、(2)PSR11に値2を、(3)PSR10に値1を設定するというものである。
一方、ページ2のボタン2-Fのボタンコマンドで記述された処理手順は、(1)PSR11に1を設定し、(2)”GPRに退避した値+1”をPSR10に設定するというものである。
以上のようにページ1のボタン1-A、ページ2のボタン2-Fのボタンコマンドを記述すれば、第1話のチャプターメニューの表示が終了して選択メニューの再表示する際、第1話から第2話のボタンに、フォーカスが自動的に移動することになる。同様のボタンコマンドの記述を、ページ1のボタン1-B〜ボタン1-D、他のページのボタンについて繰り返せば、図55に示すようなフォーカス移動が実現されることになる。
以上のフォーカス移動の実現において、個々のボタン毎にボタンコマンドを記述せねばならないので、ボタンやページの数が多ければ、バグの発生もあるだろうし、かかるバグを発見するためのテスト作業も必要になる。
<PSR11の状態遷移>
PSR11は、IGストリームにおいて現在表示されているページ(カレントページ)を示す。PSR11は、00〜FFの値をとり、再生装置はこのPSR11の値をページ番号として解釈してページ表示を行う。図57(a)は、PSR11の状態遷移を示す図である。本図を図15(a)と比較すると、事象Cross PlayItem Boundaryをトリガとした状態遷移は存在しないことがわかる。そしてInvalidからValidへの状態遷移のトリガがStart PlayList PlaybackからInteractive Composition Segment become Validに置き換わっており、ValidからInvalidへの状態遷移がTerminate PlayList PlaybackからInteractive Composition Segment become invalidに置き換わっている。またProcedure when change is requestedは、Stream change is requestedではなく、page change is requestedに置き換わっている。これらを除き、図15(a)と同じである。
図57(c)は、PSR11についてのProcedure when change is requestedを示すフローチャートである。Procedure when change is requestedは、XがValidであるか否かを判定し(ステップS155)、もしValidであれば、このXをPSR11に設定し、もしInvalidであるなら(ステップS156)、このPSR11を維持するというものである(ステップS157)。以上がPSR11についての説明である。
以下、PSR10の状態遷移について説明する。図58(a)は、PSR10の状態遷移を示す図である。本図を図57(a)と比較すると、事象Change Page,事象Button Disabledをトリガとした状態遷移が加えられている点を除き、図57と同じになっている。そしてProcedure when change is requestedは、page change is requestedではなく、button change is requestedに置き換わっている
事象Change Pageとは、ページの切り換えが命じられたとの事象であり、事象Button Disabledとは、ページにて表示されたボタンが操作不可能になったという事象である。これらの事象が発生すれば、Procedure when playback condition is changedに移行し、PSR10に設定すべき値を再設定してからValidに戻る。
図58(b)は、PSR10のProcedure when playback condition is changedを示すフローチャートである。
ステップS161は、カレントページにおけるデフォルトセレクテッドボタンが有効であるか否かの判定である。もしステップS161がYesであるなら、デフォルトセレクテッドボタンをPSR10に設定する(ステップS162)。
図59は、PSR10のProcedure when change is requestedを示すフローチャートである。本フローチャートにおけるステップS166は、XがValidなボタン番号であるか否かを判定し、もしValidであるならXをPSR10に設定する(ステップS168)。もしXがInvalidであるなら、PSR10の設定値を維持する(ステップS167)。
以上の説明は、本発明の全ての実施行為の形態を示している訳ではない。下記(A)(B)(C)(D)・・・・・の変更を施した実施行為の形態によっても、本発明の実施は可能となる。本願の請求項に係る各発明は、以上に記載した複数の実施形態及びそれらの変形形態を拡張した記載、ないし、一般化した記載としている。拡張ないし一般化の程度は、本発明の技術分野の、出願当時の技術水準の特性に基づく。
(F)各実施形態におけるデジタルストリームは、BD-ROM規格のAVClipであったが、DVD-Video規格、DVD-Video Recording規格のVOB(Video Object)であってもよい。VOBは、ビデオストリーム、オーディオストリームを多重化することにより得られたISO/IEC13818-1規格準拠のプログラムストリームである。またAVClipにおけるビデオストリームは、MPEG4やWMV方式であってもよい。更にオーディオストリームは、Linear-PCM方式、MP3方式、MPEG-AAC方式であってもよい。
またビデオテープに記録されているアナログ/デジタルの映像信号をエンコードしてコンテンツを得ても良い。更にビデオカメラから直接取り込んだアナログ/デジタルの映像信号をエンコードしてコンテンツを得ても良い。他にも、配信サーバにより配信されるデジタル著作物でもよい。
(K)第3実施形態では、PSR10、PSR10に値を設定するようなボタンコマンドをICSに記述したが、PSR1、PSR2、PSR3に値を設定するようなボタンコマンドを記述してもよい。例えばPSR2が英語字幕を示しているのであれば、日本語音声を選択するように、ボタンコマンドを記述してもよい。
(c)PGストリームに対応したentry−attributeの組みを示す図である。
(d)textSTストリームに対応したentry−attributeの組みを示す図である。
(e)IGストリームに対応したentry−attributeの組みを示す図である。
(c)PSR3におけるProcedure when change is requestedを示すフローチャートである。
(c)PSR11についてのProcedure when change is requestedを示すフローチャートである。
2 リードバッファ
3 デマルチプレクサ
4 ビデオデコーダ
5 ビデオプレーン
9 P-Graphicsデコーダ
10 Presentation Graphicsプレーン
11 合成部
12 フォントゼネレータ
13 I-Graphicsデコーダ
14 スイッチ
15 Interactive Graphicsプレーン
16 合成部
17 コントローラ
18 リードバッファ
19 デマルチプレクサ
20 オーディオデコーダ
21 スイッチ
22 スイッチ
23 シナリオメモリ
24 制御部
25 スイッチ
26 CLUT部
27 CLUT部
28 PSRセット
29 操作受付部
30 遷移制御部
200 再生装置
300 テレビ
400 リモコン
Claims (8)
- 記録媒体に記録されている複数オーディオストリームのそれぞれが、複数の条件のうち、いずれの条件を満たすかを判定して、満たすと判定された条件の組合せに応じてオーディオストリームを選択し再生する再生装置であって、
ステレオ再生の能力が存在するか、サラウンド再生の能力が存在するか、再生能力がないかを、各符号化方式毎に示すコンフィグレーションレジスタと、
再生装置における言語設定を示す言語設定レジスタと、
再生対象となるオーディオストリームの番号を格納するストリーム番号レジスタとを備え、
複数の条件には、第1条件、第2条件、第3条件があり、
第1条件は、オーディオストリームの符号化方式と、コンフィグレーションレジスタの設定値とを比較することによる、再生能力の存在であり、
第2条件は、オーディオストリームの言語コードと、言語設定レジスタの設定値とを比較することによる、言語属性の一致であり、
第3条件は、オーディオストリームのチャンネル数と、コンフィグレーションレジスタの設定値とを比較することによる、サラウンド再生能力の存在であり、
第1条件、第2条件、第3条件の全てを満たすオーディオストリームが存在しない場合、第1条件及び第2条件を満たすオーディオストリームのうち、エントリー順位が最も高いオーディオストリームを選択して、そのオーディオストリームのストリーム番号を、再生装置におけるストリーム番号レジスタに設定することを特徴とする再生装置。 - 第1条件、第2条件、第3条件の全てを満たすオーディオストリーム、第1条件及び第2条件を満たすオーディオストリーム、第1条件及び第3条件を満たすオーディオストリームが何れも存在しない場合、第1条件を満たすオーディオストリームのうち、エントリー順位が最も高いオーディオストリームを選択して、そのオーディオストリームのストリーム番号を、再生装置におけるストリーム番号レジスタに設定する ことを特徴とする請求項1記載の再生装置。
- 前記記録媒体には、ストリーム番号テーブルが記録されており、
前記ストリーム番号テーブルは、各オーディオストリームについてのパケット識別子の参照値を、ストリーム番号と対応づけて示し、
前記再生装置は、
ストリーム番号レジスタに書き込まれたストリーム番号に対応するパケット識別子の参照値をストリーム番号テーブルから取り出して、そのパケット識別子の参照値に基づき、オーディオストリームの再生を行う再生手段を備える、請求項1記載の再生装置。 - 前記エントリー順位が最も高いオーディオストリームとは、ストリーム番号テーブルでの順位が最も高いものである、請求項3記載の再生装置。
- 前記再生装置は、記録媒体に記録されたプレイリスト情報に従って、ビデオストリーム及びオーディオストリームを同期させながら再生するものであり、
プレイリスト情報は、ビデオストリームにおける再生区間を指定する再生区間情報を複数含み、再生区間情報は、各再生区間において、再生が許可されている複数のオーディオストリームを示すストリーム番号テーブルを有しており、
再生中の再生区間情報が、新たな再生区間情報に切り換わる度に、選択手段は、選択処理を実行する、請求項1記載の再生装置。 - 前記再生装置は、オーディオストリーム選択操作を受け付ける受付手段を備え、
選択操作において、ユーザが要求したストリーム番号が無効である場合に、選択手段は、選択処理を実行する、請求項5記載の再生装置。 - 記録媒体に記録されている複数オーディオストリームのそれぞれが、複数の条件のうち、いずれの条件を満たすかを判定して、満たすと判定された条件の組合せに応じてオーディオストリームを選択し再生するコンピュータ上で実行する再生方法であって、
コンピュータに、
ステレオ再生の能力が存在するか、サラウンド再生の能力が存在するか、再生能力がないかを、各符号化方式毎に示すコンフィグレーションレジスタと、
再生装置における言語設定を示す言語設定レジスタと、
再生対象となるオーディオストリームの番号を格納するストリーム番号レジスタとを設けておき、
複数の条件には、第1条件、第2条件、第3条件があり、
第1条件は、オーディオストリームの符号化方式と、コンフィグレーションレジスタの設定値とを比較することによる、再生能力の存在であり、
第2条件は、オーディオストリームの言語コードと、言語設定レジスタの設定値とを比較することによる、言語属性の一致であり、
第3条件は、オーディオストリームのチャンネル数と、コンフィグレーションレジスタの設定値とを比較することによる、サラウンド再生能力の存在であり、
第1条件、第2条件、第3条件の全てを満たすオーディオストリームが存在しない場合、第1条件及び第2条件を満たすオーディオストリームのうち、エントリー順位が最も高いオーディオストリームを選択して、そのオーディオストリームのストリーム番号を、コンピュータのストリーム番号レジスタに設定することを特徴とする再生方法。 - 記録媒体に記録されている複数オーディオストリームのそれぞれが、複数の条件のうち、いずれの条件を満たすかを判定して、満たすと判定された条件の組合せに応じてオーディオストリームを選択し再生する処理をコンピュータに実行させるプログラムであって、
コンピュータは、
ステレオ再生の能力が存在するか、サラウンド再生の能力が存在するか、再生能力がないかを、各符号化方式毎に示すコンフィグレーションレジスタと、
再生装置における言語設定を示す言語設定レジスタと、
再生対象となるオーディオストリームの番号を格納するストリーム番号レジスタとを備え、
複数の条件には、第1条件、第2条件、第3条件があり、
第1条件は、オーディオストリームの符号化方式と、コンフィグレーションレジスタの設定値とを比較することによる、再生能力の存在であり、
第2条件は、オーディオストリームの言語コードと、言語設定レジスタの設定値とを比較することによる、言語属性の一致であり、
第3条件は、オーディオストリームのチャンネル数と、コンフィグレーションレジスタの設定値とを比較することによる、サラウンド再生能力の存在であり、
第1条件、第2条件、第3条件の全てを満たすオーディオストリームが存在しない場合、第1条件及び第2条件を満たすオーディオストリームのうち、エントリー順位が最も高いオーディオストリームを選択して、そのオーディオストリームのストリーム番号を、コンピュータのストリーム番号レジスタに設定することを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006303976A JP3962760B2 (ja) | 2003-06-18 | 2006-11-09 | 再生装置、プログラム、再生方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003173208 | 2003-06-18 | ||
JP2006303976A JP3962760B2 (ja) | 2003-06-18 | 2006-11-09 | 再生装置、プログラム、再生方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005507270A Division JPWO2004114658A1 (ja) | 2003-06-18 | 2004-06-17 | 再生装置、プログラム、再生方法。 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007115398A true JP2007115398A (ja) | 2007-05-10 |
JP3962760B2 JP3962760B2 (ja) | 2007-08-22 |
Family
ID=38097418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006303976A Expired - Fee Related JP3962760B2 (ja) | 2003-06-18 | 2006-11-09 | 再生装置、プログラム、再生方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3962760B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019212357A (ja) * | 2018-05-31 | 2019-12-12 | 百度在線網絡技術(北京)有限公司 | オーディオ再生方法、装置、機器及び記憶媒体 |
-
2006
- 2006-11-09 JP JP2006303976A patent/JP3962760B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019212357A (ja) * | 2018-05-31 | 2019-12-12 | 百度在線網絡技術(北京)有限公司 | オーディオ再生方法、装置、機器及び記憶媒体 |
Also Published As
Publication number | Publication date |
---|---|
JP3962760B2 (ja) | 2007-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4659102B2 (ja) | システムlsi | |
JP3962760B2 (ja) | 再生装置、プログラム、再生方法 | |
JP4624937B2 (ja) | 再生装置、プログラム、再生方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070312 |
|
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: 20070424 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070521 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3962760 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110525 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120525 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130525 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130525 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140525 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |