説明

情報記録媒体、及びデータ再生装置

【課題】基本データのみを復号するデコーダが、基本データと次世代に対応する拡張データとを含むアクセスユニットを処理することを可能にする情報記録媒体を提供する。
【解決手段】複数のアクセスユニットを有する、画像及び音の少なくとも一方を含むストリームが記録される情報記録媒体であって、1個の前記アクセスユニットは、基本データを含む第1のパケット(PES packet(Base+Level1−EXT))と、基本データと関連する拡張データを含む第2のパケット(PES packet(Level2−EXT))とを有し、基本データは、拡張データを必要とすることなく完全な状態に復号することができるデータであり、拡張データは、基本データから生成されるデータの質を向上させるためのデータであり、ストリームは、第1のパケット及び第2のパケットの属性を示す情報(descriptor)を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像や音声のデータが記録される情報記録媒体、及びデータを再生するデータ再生装置等に関する。
【背景技術】
【0002】
従来のDVD−Videoディスク(以下、「DVD」という)について説明する。
【0003】
図1は、DVDの構造を示す図である。図1の下段に示すように、DVDには、リード・イン部からリード・アウト部までの間に論理アドレス空間が設けられている。論理アドレス空間には、先頭にファイルシステムのボリューム情報が記録され、続いて映像や音声などのアプリケーションデータが記録される。
【0004】
DVDのファイルシステムは、ISO9660やUniversal Disc Format(UDF)の
ファイルシステムである。ファイルシステムは、ディスク上のデータをディレクトリまたはファイルと呼ばれる単位で表現するための仕組みである。パーソナルコンピュータ(PC)では、FATまたはNTFSと呼ばれるファイルシステムが用いられている。そのファイルシステムにより、ディレクトリやファイルという構造でハードディスクに記録されたデータは、コンピュータにより処理される。これにより、ユーザビリティが高くなっている。
【0005】
DVDでは、UDFおよびISO9660の両方のファイルシステムが使用されている。UDFおよびISO9660の両方を合わせて「UDFブリッジ」と呼ぶことがある。DVDに記録されているデータは、UDFおよびISO9660のどちらのファイルシステムドライバによっても読み出すことができる。勿論、書き換え可能型のDVDであるDVD−RAM/R/RWでは、これらのファイルシステムを介して、物理的にデータの読み、書き、および削除が可能である。
【0006】
DVDに記録されたデータは、ファイルシステムを介して、図1左上に示すようなディレクトリまたはファイルとして存在する。ルートディレクトリ(図1における「ROOT」)の直下に「VIDEO_TS」と呼ばれるディレクトリが置かれ、ここにDVDのアプリケーションデータが記録されている。アプリケーションデータは、複数のファイルに分割されて記録されている。主なファイルとして以下のものがある。
【0007】
VIDEO_TS.IFO ディスク再生制御情報ファイル
VTS_01_0.IFO ビデオタイトルセット#1再生制御情報ファイル
VTS_01_0.VOB ビデオタイトルセット#1ストリームファイル
.....
【0008】
2つの拡張子が規定されている。「IFO」は、それが付与されているファイルが再生制御情報が記録されたファイルであることを示す拡張子である。「VOB」は、それが付与されているファイルがAVデータであるMPEGストリームが記録されたファイルであることを示す拡張子である。再生制御情報は、DVDについて採用されたインタラクティビティ(ユーザの操作に応じて再生状態を動的に変化させる技術)を実現するための情報や、メタデータのようなタイトルやAVストリームに付属する情報などを含む情報である。DVDでは一般的に、再生制御情報はナビゲーション情報と呼ばれる。
【0009】
再生制御情報ファイルとして、ディスク全体を管理する「VIDEO_TS.IFO」と、個々のビデオタイトルセットの再生制御情報である「VTS_01_0.IFO」とが存在する。ファイル名のボディにある「01」はビデオタイトルセットの番号を示している。例えば、ビデオタイトルセットの番号が#2であれば、そのビデオタイトルセットのファイル名は「VTS_02_0.IFO」である。なおDVDでは、複数のタイトル、言い換えれば内容が異なる複数の映画や、内容が同一でバージョンが異なる複数の映画を1枚のディスクに記録することが可能である。
【0010】
図1の右上部は、DVDのアプリケーション層でのDVDナビゲーション空間、即ち前述した再生制御情報が展開された論理構造空間を示している。「VIDEO_TS.IFO」内の情報は、Video Manager Information(VMGI)として、DVDナビゲーショ
ン空間に展開される。「VTS_01_0.IFO」等のビデオタイトルセット毎に存在する再生制御情報は、Video Title Set Information(VTSI)としてDVDナビゲー
ション空間に展開される。
【0011】
VTSIには、Program Chain(PGC)と呼ばれる再生シーケンスの情報であるProgram Chain Information(PGCI)が記述されている。PGCIは、Cellの集合と、コマンドと呼ばれる一種のプログラミング情報とによって構成されている。Cellは、Video Object(VOB,MPEGストリーム)の一部区間の集合、または全部区間である。Cellの再生は、VOBの、Cellによって指定された区間を再生することを意味している。
【0012】
コマンドは、DVDの仮想マシンによって処理されるものであり、ブラウザ上で実行されるJava(登録商標)スクリプトなどに近いものである。Java(登録商標)スクリプトは、論理演算の他に、ウィンドウやブラウザの制御(例えば、新しいブラウザのウィンドを開く)を行う。それに対して、DVDのコマンドは、論理演算の他には、AVタイトルの再生制御(例えば、再生するチャプタの指定など)のみを行う。このように、DVDのコマンドは、Java(登録商標)スクリプトと異なっている。
【0013】
Cellは、ディスク上に記録されているVOBの開始アドレスおよび終了アドレス(ディスク上での論理記録アドレス)の情報を有している。プレーヤは、Cellに記述されたVOBの開始アドレスおよび終了アドレスの情報を使って、データを読み出して再生する。
【0014】
図2は、AVストリーム中に埋め込まれているナビゲーション情報を説明するための図である。DVDにおいて特徴的なインタラクティビティは、前述した「VIDEO_TS.IFO」や「VTS_01_0.IFO」などに記録されているナビゲーション情報だけによって実現されるのではない。インタラクティビティを実現するための幾つかの重要な情報は、ナビゲーション パック(「ナビパック」または「NV_PCK」という)と呼ばれる専用キャリアが用いられて、VOB内に映像データおよび音声データと一緒に多重化されている。
【0015】
ここでは簡単なインタラクティビティの例としてメニューを説明する。メニュー画面上には幾つかのボタンが現れる。夫々のボタンには、そのボタンが選択され押下されたときの処理の内容が定義されている。メニュー上では一つのボタンが選択される。ハイライトは、選択されているボタン上にオーバーレイされる半透明色の画像であって、それがオーバーレイされているボタンが選択されていることをユーザに示す。ユーザは、リモコンの上下左右キーを使って、選択されているボタンをそのボタンの上下左右の何れかのボタンに移動させることができる。ユーザは、リモコンの上下左右キーを使って、実行させたい処理に対応するボタンまでハイライトを移動させて、決定キーを押す。これによって、選択されたボタンに対応するコマンドのプログラムが実行される。例えば、タイトルやチャプタの再生がコマンドによって実行される(例えば、特許文献1参照)。
【0016】
図2の左上部は、NV_PCK内に格納される制御情報の概要を示している。
【0017】
NV_PCK内には、ハイライトカラー情報や個々のボタン情報などが含まれている。ハイライトカラー情報内には、カラーパレット情報が記述される。カラーパレット情報はオーバーレイするハイライトの半透明色を指定する。ボタン情報内には、個々のボタンの位置情報である矩形領域情報と、あるボタンから他のボタンへの移動情報(ユーザによるリモコンの上下左右キーの選択に対応する移動先ボタンの指定)と、ボタンコマンド情報(そのボタンが選択されたときに実行されるコマンド)とが記述されている。
【0018】
メニュー上のハイライトは、図2の中央右上部に示すように、オーバーレイ画像として作られる。オーバーレイ画像は、ボタン情報内の矩形領域情報によって特定されるボタンの上にカラーパレット情報によって特定される色をつけた画像である。オーバーレイ画像は、図2の右部に示す背景画像と合成されて画面上に表示される。
【0019】
上述したようにして、DVDではメニューが表示される。ナビゲーションデータの一部をNV_PCKを使ってストリーム中に埋め込んでいる理由は、ストリームと同期して動的にメニュー情報を更新することを可能とするためである。例えば、映画が再生されている途中の5分〜10分の間だけメニューが表示されることを可能とするためである。二つ目の理由は、ストリームとメニュー情報とを同期させることが困難なアプリケーションデータであっても、ストリームとメニュー情報とを同期させて表示することを可能とするためである。もう一つの大きな理由は、ユーザの操作性を向上させるためである。例えば、NV_PCKに特殊再生を支援するための情報を格納することにより、DVDに記録されているAVデータを早送りや巻き戻しなどの非通常再生する際にも、円滑にそのAVデータをデコードし再生することが可能となる。
【0020】
図3は、DVDのストリームであるVOBのイメージを示す図である。図3(A)に示す映像、音声、および字幕などのデータは、図3(B)に示すように、MPEGシステム規格(ISO/IEC13818−1)に基づいてパケット化およびパック化され、図3(C)に示すように、夫々は多重化されて、1本のMPEGプログラムストリームが生成される。インタラクティビティを実現するためのボタンコマンドを含んだNV_PCKも、パケットおよびパックと一緒に多重化される。
【0021】
MPEGシステムにおけるデータの多重化の特徴は、多重化される個々のデータはデコード順に基づくビット列になっているが、多重化されるデータ相互については、即ち、映像データ、音声データ、および字幕データ相互については、必ずしも再生順、言い換えればデコード順に配列されているわけではない。これは、MPEGシステムストリームのデコーダモデル(一般に、「System Target Decoder」または「STD」と呼ばれる(図3
(D)参照))が、多重化されているデータを解いた後の個々のエレメンタリーストリームに対応するデコーダバッファを持ち、デコードタイミングまで一時的にデータを蓄積していることに由来している。DVD−Videoで規定されるデコーダバッファのサイズは、エレメンタリーストリーム毎に異なる。映像に対するバッファのサイズは232KBであり、音声に対するバッファのサイズは4KBであり、字幕に対するバッファのサイズは52KBである。
【0022】
即ち、映像データと並んで多重化されている字幕データは、必ずしも映像データと同一タイミングでデコードまたは再生されるわけではない。
【先行技術文献】
【特許文献】
【0023】
【特許文献1】特開平9−282848号公報
【発明の概要】
【発明が解決しようとする課題】
【0024】
従来からDVDで採用されている音声コーデック規格として、「ドルビーディジタル(AC−3)」と、「MPEGオーディオ」と、「LPCM」と、「dts」との4つの規格がある。「dts」はプレーヤオプション機能であり、DVDプレーヤには、dtsデコーダを内蔵するものと、内蔵しないものとがある。また、DVDプレーヤには、AVアンプへのディジタルデータの出力機能として、dts対応機能を有しているものと、有していないものとがある。
【0025】
dtsディジタルデータ出力機能を有しているDVDプレーヤは、Sony/Philips Digital Interconnect Format(SPDIF、民生向けはIEC60958−3規格で規定)と呼ばれるディジタルI/F規格に準拠したデータを、その規格に準拠したAVアンプに出力する。
【0026】
しかしながら、SPDIFは、規格上1.5Mbpsの帯域までしか対応することができず、「dts」の拡張コーデック規格である、20Mbps近い帯域を必要とする「dts++(ロスレス圧縮)」に対応していない。したがって、次世代HD DVD規格(BD規格)が「dts++」に対応しても、SPDIF規格に準拠したAVアンプに、dts++ストリームを出力することはできない。
【0027】
本発明は、上述した課題を考慮し、基本データのみを復号するデコーダが、基本データと次世代に対応する拡張データとを含むアクセスユニットを処理することができるように、基本データと拡張データとを含むアクセスユニットが記録される情報記録媒体を提供することを目的とする。また、本発明は、本発明の情報記録媒体のアクセスユニットを処理するデータ再生装置を提供することを目的とする。
【課題を解決するための手段】
【0028】
上記課題を解決し上記目的を達成するために、本発明の情報記録媒体は、複数のアクセスユニットを有する、画像及び音の少なくとも一方を含むストリームが記録される情報記録媒体であって、1個の前記アクセスユニットは、基本データを含む第1のパケットと、前記基本データと関連する拡張データを含む第2のパケットとを有し、前記基本データは、前記拡張データを必要とすることなく完全な状態に復号することができるデータであり、前記拡張データは、前記基本データから生成されるデータの質を向上させるためのデータであり、前記ストリームは、前記第1のパケット及び前記第2のパケットの属性を示す情報を有する。
【0029】
例えば、前記情報は、前記ストリームのdescriptorに記述されている。
【0030】
例えば、前記アクセスユニットは、音に関するデータであって、前記属性は、チャンネル、周波数、ビットレート、及び、2チャンネルのダウンミックスデータの存在の有無、の少なくとも一つを特定する。
【0031】
例えば、各前記アクセスユニットは一定時間のデータである。
【0032】
本発明のデータ再生装置は、本発明の情報記録媒体に記録されている前記アクセスユニット、及び前記情報を取得する取得手段と、前記情報を用いて、前記アクセスユニットを再生する再生手段とを備える。
【0033】
本発明は、本発明のデータ再生装置の特徴的な構成手段をステップとするデータ再生方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現することもできる。そのプログラムは、CD−ROM等の記録媒体や通信ネットワーク等の伝送媒体を介して流通させることもできる。
【発明の効果】
【0034】
本発明は、基本データのみを復号するデコーダが、基本データと次世代に対応する拡張データとを含むアクセスユニットを処理することができるように、基本データと拡張データとを含むアクセスユニットが記録される情報記録媒体を提供することができる。また、本発明は、本発明の情報記録媒体のアクセスユニットを処理するデータ再生装置を提供することができる。
【0035】
すなわち、本発明により、既存のディジタルI/Fが持つ帯域を越える新しい音声コーデックを使った音声データが記録媒体に記録されている場合であっても、既存のディジタルI/Fに対して従来通りの音声データの抽出および出力が可能になる効果が得られる。
【図面の簡単な説明】
【0036】
【図1】図1は、DVDの構造を示す図である。
【図2】図2は、ナビゲーション情報を説明するための図である。
【図3】図3(A)は、映像、音声、および字幕などのデータを示す図である。図3(B)は、各データをパケット化およびパック化することを示す図である。図3(C)は、パケット化およびパック化されたデータを示す図である。図3(D)は、MPEGシステムストリームのデコーダモデルを示す図である。
【図4】図4は、次世代DVDの構成を示す図である。
【図5】図5は、BDディスクに記録されている論理データのディレクトリおよびファイルの構成を示す図である。
【図6】図6は、プレーヤの機能を示すブロック図である。
【図7】図7は、プレーヤの構成を詳細化したブロック図である。
【図8】図8は、BDのアプリケーション空間を示す図である。
【図9】図9は、MPEGストリーム(VOB)の構成図である。
【図10】図10は、パックの構成を示す図である。
【図11】図11は、BDディスク上でのVOBファイルおよびPNGファイルのインターリーブ記録を説明するための図である。
【図12】図12は、VOBデータ連続供給モデルを説明するための図である。
【図13】図13は、VOB管理情報ファイルの内部構造を示す図である。
【図14】図14は、VOBU情報の詳細を説明するための図である。
【図15】図15は、タイムマップの詳細に説明するための図である。
【図16】図16は、プレイリスト情報の内部構造を示す図である。
【図17】図17は、イベントハンドラテーブルを示す図である。
【図18】図18は、BDディスク全体に関する情報の内部構造を示す図である。
【図19】図19は、グローバルイベントハンドラのプログラムのテーブルを示す図である。
【図20】図20は、タイムイベントの例を示す図である。
【図21】図21は、ユーザイベントの例を示す図である。
【図22】図22は、グローバルイベントの例を示す図である。
【図23】図23は、プログラムプロセッサの機能を説明するための図である。
【図24】図24は、システムパラメータの一覧を示す図である。
【図25】図25は、2つの選択ボタンを持つメニューのプログラムの例を示す図である。
【図26】図26は、ユーザイベントのイベントハンドラの例を示す図である。
【図27】図27は、AVの再生までの基本処理フローを示す図である。
【図28】図28は、PLの再生開始からVOBの再生開始までの処理フローを示す図である。
【図29】図29は、AVの再生開始後からのイベント処理フローを示す図である。
【図30】図30は、字幕処理のフローを示す図である。
【図31】図31は、階層構造を持たないアクセスユニットの構造を示す図である。
【図32】図32は、2つの階層構造を持つアクセスユニットの構造を示す図である。
【図33】図33は、3つの階層構造を持つアクセスユニットの構造を示す図である。
【図34】図34は、階層構造を持つデータを、様々な階層に対応したデコーダに出力するストリーム読込/供給部の、データの出力先毎に異なる動作を説明するための図である。
【図35】図35は、BaseとLevel1−EXTとに対応した機器が広く普及した場合に、Level2−EXTを導入するための理想的なアクセスユニットの構造を示す図である。
【図36】図36は、Level2を含むデータストリームのデータ構造を示す図である。
【図37】図37は、既存のプレーヤやデコーダで復号可能なBase/Level1−EXTと、既存のプレーヤやデコーダでは復号不可能なLevel2−EXTとの2つの部分から構成されているアクセスユニットの処理を説明するための図である。
【図38】図38は、MPEG2−TSへの階層構造を持つアクセスユニットの格納方法を示す図である。
【図39】図39は、descriptorに記述される事項の一例を示す図である。
【図40】図40(A)は、5.1チャンネルのスピーカレイアウトを示す図であり、図40(B)は、7.1チャンネルのスピーカレイアウトを示す図である。
【図41】図41は、チャンネル構造を示す図である。
【図42】図42は、光ディスクに記録する際のMPEG2−TSのファイルフォーマットを示す図である。
【図43】図43は、DVD−Videoで規定されるDTSの詳細を説明するための図である。
【図44】図44は、デマルチプレクサ、および、ストリーム読込/供給部の処理を示すフローチャートである。
【図45】図45は、入力時刻管理装置2000およびデコーダモデル3000の構成図である。
【図46】図46は、Baseを復号するデコーダモデルを破綻させないようにするとともに、かつ、BaseおよびLevel2を復号するデコーダモデルを破綻させないように、BaseとLevel2とを多重化する方法を説明するための図である。
【発明を実施するための形態】
【0037】
以下に、本発明を実施するための最良の形態を図面を参照して説明する。
【0038】
(関連する実施の形態)
(ディスク上の論理データ構造)
図4は、次世代DVD(以下、「BD」という)の構成、特にディスク媒体であるBDディスク104並びに、ディスク104に記録されているデータ101,102,および103の構成を示す図である。BDディスク104には、AVデータ103と、AVデータの管理情報およびAV再生シーケンスなどを含むBD管理情報102と、インタラクティビティを実現するためのBD再生プログラム101とが記録される。本実施の形態では、説明の都合上、映画のAVコンテンツを再生するためのAVアプリケーションデータがBDディスク104に記録されていると仮定する。しかしながら、BDディスク104は、他の用途として用いられてもよい。
【0039】
図5は、BDディスクに記録されている論理データのディレクトリおよびファイルの構成を示す図である。BDディスクは、他の光ディスク、例えばDVDやCDなどと同様に、内周から外周に向けてらせん状に記録領域を持ち、内周のリード・イン部と外周のリード・アウト部との間に論理データを記録するための論理アドレス空間を有している。BDディスクには、リード・イン部の内側に、Burst Cutting Area(BCA)と呼ばれるドライブでしかデータを読み出すことができない特別な領域が存在する。この領域のデータは、アプリケーションデータを利用しても読み出すことができない。そのため、上記領域は、例えば著作権保護技術のためなどに利用されることがある。
【0040】
論理アドレス空間には、ファイルシステム情報(ボリューム)を先頭に、映像データなどのアプリケーションデータが記録されている。ファイルシステムは、「背景技術」で説明した通り、UDFやISO9660などのファイルシステムであり、通常のPCと同じように、記録されている論理データをディレクトリおよびファイルの構造を使って読み出すためのシステムである。
【0041】
本実施の形態におけるBDディスク上のディレクトリおよびファイルの構造では、ルートディレクトリ(ROOT)の直下に、BDVIDEOディレクトリが置かれている。BDVIDEOディレクトリは、BDに記録されるAVコンテンツや管理情報などのデータ(図4のデータ101,102,および103)が格納されているディレクトリである。
【0042】
BDVIDEOディレクトリの下には、次の7種類のファイルが記録されている。
【0043】
BD.INFOファイル(ファイル名固定)
「BD.INFO」ファイルは、「BD管理情報」の一つであり、BDディスク全体に関する情報が記録されたファイルである。BDプレーヤは最初にこのファイルを読み出す。
【0044】
BD.PROGファイル(ファイル名固定)
「BD.PROG」ファイルは、「BD再生プログラム」の一つであり、BDディスク全体に関する再生制御情報が記録されたファイルである。
【0045】
XXX.PLファイル(「XXX」は可変、拡張子「PL」は固定)
「XXX.PL」ファイルは、「BD管理情報」の一つであり、シナリオ(再生シーケンス)であるプレイリスト情報が記録されたファイルである。プレイリスト毎に一つのファイルが存在する。
【0046】
XXX.PROGファイル(「XXX」は可変、拡張子「PL」は固定)
「XXX.PROG」ファイルは、「BD再生プログラム」の一つであり、前述したプレイリスト毎の再生制御情報が記録されたファイルである。「XXX.PROG」ファイルに対応するプレイリストは、ファイルボディ名(「XXX」)が一致するプレイリストである。
【0047】
YYY.VOBファイル(「YYY」は可変、拡張子「VOB」は固定)
「YYY.VOB」ファイルは、「AVデータ」の一つであり、VOB(「背景技術」で説明したVOBと同じ)が記録されたファイルである。VOB毎に一つのファイルが存在する。
【0048】
YYY.VOBIファイル(「YYY」は可変、拡張子「VOBI」は固定)
「YYY.VOBI」ファイルは、「BD管理情報」の一つであり、AVデータであるVOBに関するストリーム管理情報が記録されたファイルである。「YYY.VOBI」ファイルに対応するVOBは、ファイルボディ名(「YYY」)が一致するVOBである。
【0049】
ZZZ.PNGファイル(「ZZZ」は可変、拡張子「PNG」は固定)
「ZZZ.PNG」ファイルは、「AVデータ」の一つであり、字幕およびメニューを構成するためのイメージデータPNG(W3Cによって標準化された画像フォーマットであり「ピング」と読む)が記録されたファイルである。PNGイメージ毎に一つのファイルが存在する。
【0050】
(プレーヤの構成)
次に、前述したBDディスクを再生するプレーヤについて、図6および図7を用いて説明する。
【0051】
図6は、プレーヤの大まかな機能を示すブロック図である。
【0052】
BDディスク201上のデータは、光ピックアップ202を通して読み出される。読み出されたデータは、そのデータの種類に応じて専用のメモリに転送される。BD再生プログラム(「BD.PROG」ファイルまたは「XXX.PROG」ファイル)はプログラム記録メモリ203に転送される。BD管理情報(「BD.INFO」ファイル、「XXX.PL」ファイル、または「YYY.VOBI」ファイル)は管理情報記録メモリ204に転送される。AVデータ(「YYY.VOB」ファイルまたは「ZZZ.PNG」ファイル)はAV記録メモリ205に転送される。
【0053】
プログラム記録メモリ203に記録されたBD再生プログラムはプログラム処理部206によって処理される。管理情報記録メモリ204に記録されたBD管理情報は管理情報処理部207によって処理される。AV記録メモリ205に記録されたAVデータはプレゼンテーション処理部208によって処理される。
【0054】
プログラム処理部206は、管理情報処理部207より再生するプレイリストの情報やプログラムの実行タイミングなどのイベント情報を受け取り、プログラムを実行する。プログラムは再生するプレイリストを動的に変えることが可能である。プログラム処理部206が管理情報処理部207に対してプレイリストの再生命令を送ることで、再生するプレイリストが動的に変わることが実現する。プログラム処理部206は、ユーザからのイベント、即ちリモコンキーからのリクエストを受け、そのイベント(リクエスト)に対応するプログラムがある場合、それを実行する。
【0055】
管理情報処理部207は、プログラム処理部206からの指示を受け、対応するプレイリストおよびプレイリストに対応したVOBの管理情報を解析し、プレゼンテーション処理部208に、対象となるAVデータの再生を指示する。また、管理情報処理部207は、プレゼンテーション処理部208より基準時刻情報を受け取り、基準時刻情報に基づいてプレゼンテーション処理部208にAVデータの再生の停止を指示し、また、プログラム処理部206に対して指示するための、プログラムの実行タイミングを示すイベントを生成する。
【0056】
プレゼンテーション処理部208は、映像、音声、および字幕/イメージ(静止画)の夫々に対応するデコーダを持ち、管理情報処理部207からの指示に従い、AVデータのデコードおよび出力を行う。映像データ、および字幕/イメージは、デコードされた後に夫々の専用プレーン、ビデオプレーン210またはイメージプレーン209に描画される。ビデオプレーン210およびイメージプレーン209に描画された各映像は、合成処理部211によって合成され、TVなどの表示デバイスへ出力される。
【0057】
図6を用いて説明したように、BDプレーヤは図4で示したBDディスクに記録されているデータの構成に対応する構成部を有している。
【0058】
図7は前述したプレーヤの構成を詳細化したブロック図である。図7では、AV記録メモリ205は、イメージメモリ308およびトラックバッファ309として表現されている。プログラム処理部206は、プログラムプロセッサ302およびUOPマネージャ303として表現されている。管理情報処理部207は、シナリオプロセッサ305およびプレゼンテーションコントローラ306として表現されている。プレゼンテーション処理部208は、クロック307、デマルチプレクサ310、イメージプロセッサ311、ビデオプロセッサ312、およびサウンドプロセッサ313として表現されている。
【0059】
BDディスク201から読み出されたVOBデータ(MPEGストリーム)はトラックバッファ309に記録され、イメージデータ(PNG)はイメージメモリ308に記録される。デマルチプレクサ310は、クロック307の時刻に基づき、トラックバッファ309に記録されたVOBデータを抜き出し、映像データをビデオプロセッサ312に送り、音声データをサウンドプロセッサ313に送る。ビデオプロセッサ312およびサウンドプロセッサ313はそれぞれ、MPEGシステム規格で定める通りに、デコーダバッファとデコーダとで構成されている。即ち、デマルチプレクサ310から送りこまれる映像および音声夫々のデータは、夫々のデコーダバッファに一時的に記録され、クロック307の時刻に従い対応するデコーダでデコードされる。
【0060】
イメージメモリ308に記録されたPNGは、次の2つの処理方法によって処理される。
【0061】
イメージデータが字幕用のデータである場合、プレゼンテーションコントローラ306によってデコードタイミングが指示される。シナリオプロセッサ305は、クロック307からの時刻情報を受け、適切に字幕を表示することができるように、字幕の表示開始時刻になると、プレゼンテーションコントローラ306に対して字幕の表示を指示する。同様に、シナリオプロセッサ305は、クロック307からの時刻情報に基づいて、字幕の表示終了時刻になると、プレゼンテーションコントローラ306に対して字幕の表示の停止を指示する。プレゼンテーションコントローラ306からデコード/表示の指示を受けたイメージプロセッサ311は、対応するPNGデータをイメージメモリ308から抜き出してデコードし、イメージプレーン314に描画する。
【0062】
次に、イメージデータがメニュー用のデータである場合を説明する。その場合、プログラムプロセッサ302によってデコードタイミングが指示される。プログラムプロセッサ302がイメージのデコードを指示するタイミングは、プログラムプロセッサ302が処理しているBDプログラムに依存し、一概には決まらない。
【0063】
イメージデータおよび映像データは、図6を用いて説明したように、夫々デコードされた後に、イメージプレーン314またはビデオプレーン315に描画され、合成処理部316によって合成された後、出力される。
【0064】
BDディスク201から読み出された管理情報(シナリオ情報およびAV管理情報)は、管理情報記録メモリ304に格納される。その後、シナリオ情報(「BD.INFO」ファイルおよび「XXX.PL」ファイル)はシナリオプロセッサ305によって読み出される。AV管理情報(「YYY.VOBI」ファイル)はプレゼンテーションコントローラ306によって読み出される。
【0065】
シナリオプロセッサ305は、プレイリストの情報を解析し、プレイリストによって参照されているVOBとその再生位置とをプレゼンテーションコントローラ306に知らせる。プレゼンテーションコントローラ306は、対象となるVOBの管理情報(「YYY.VOBI」ファイル)を解析して、対象となるVOBを読み出すようにドライブコントローラ317に指示を出す。
【0066】
ドライブコントローラ317は、プレゼンテーションコントローラ306からの指示に従い、光ピックアップを移動させ、対象となるAVデータを読み出す。読み出されたAVデータは、前述したようにイメージメモリ308またはトラックバッファ309に格納される。
【0067】
シナリオプロセッサ305は、クロック307の時刻を監視し、管理情報で設定されているタイミングでイベントをプログラムプロセッサ302に出力する。
【0068】
プログラム記録メモリ301に記録されたBDプログラム(「BD.PROG」ファイルまたは「XXX.PROG」ファイル)は、プログラムプロセッサ302によって処理される。プログラムプロセッサ302は、シナリオプロセッサ305からイベントが送られてきた場合か、UOPマネージャ303からイベントが送られてきた場合、BDプログラムを処理する。UOPマネージャ303は、ユーザからリモコンキーによってリクエストが送られてきた場合、プログラムプロセッサ302に対するイベントを生成する。
【0069】
(アプリケーション空間)
図8は、BDのアプリケーション空間を示す図である。
【0070】
BDのアプリケーション空間では、プレイリスト(PlayList)が一つの再生単位である。プレイリストは、セル(Cell)の連結であって、連結の順序により決定される再生シーケンスである静的なシナリオと、プログラムによって記述される動的なシナリオとを有している。プログラムによる動的なシナリオの変化が無い限り、プレイリストは個々のセルを順に再生させる。全てのセルの再生を終了した時点で、プレイリストの再生は終了する。プログラムには、セルの再生順序を変化させる内容を記述することが可能である。また、プログラムは、ユーザの選択またはプレーヤの状態によって再生する対象を動的に変えることが可能である。典型的な例として、メニューが挙げられる。BDでは、メニューはユーザの選択によって再生するシナリオであると定義することができ、プログラムによってプレイリストを動的に変化させることができる。
【0071】
ここで言うプログラムは、時間イベントまたはユーザイベントによって実行されるイベントハンドラである。
【0072】
時間イベントは、プレイリストに埋め込まれた時刻情報に基づいて生成されるイベントである。図7を用いて説明したシナリオプロセッサ305からプログラムプロセッサ302に送られるイベントが、時間イベントの一例である。時間イベントが発行されると、プログラムプロセッサ302は識別子(ID)によって対応付けられるイベントハンドラを実行する。前述した通り、実行されるプログラムは他のプレイリストの再生を指示することが可能である。例えば、プログラムは、現在再生されているプレイリストの再生を中止し、指定されたプレイリストを再生させる。
【0073】
ユーザイベントは、ユーザのリモコンキー操作によって生成されるイベントである。ユーザイベントは大きく2つのタイプに分けられる。
【0074】
一つ目は、カーソルキー(「上」「下」「左」「右」キー)または「決定」キーの操作によって生成されるメニュー選択のイベントである。メニュー選択のイベントに対応するイベントハンドラはプレイリスト内の限られた期間でのみ有効である(プレイリストの情報として、個々のイベントハンドラの有効期間が設定されている)。リモコンの「上」「下」「左」「右」キーまたは「決定」キーが押された場合、有効なイベントハンドラが検索され、有効なイベントハンドラがある場合、そのイベントハンドラが実行される。有効なイベントハンドラがない場合、メニュー選択のイベントは無視される。
【0075】
二つ目のユーザイベントは、「メニュー」キーの操作によって生成されるメニュー呼び出しのイベントである。メニュー呼び出しのイベントが生成されると、グローバルイベントハンドラが呼ばれる。グローバルイベントハンドラはプレイリストに依存せず、常に有効なイベントハンドラである。この機能を使うことにより、DVDのメニューコール(タイトル再生中に音声または字幕を呼び出し、音声または字幕を変更後に中断した地点からタイトルを再生する機能等)を実装することができる。
【0076】
プレイリストで静的シナリオを構成する単位であるセル(Cell)は、VOB(MPEGストリーム)の全部または一部の再生区間を示す。セルは、VOB内の再生区間を、開始時刻および終了時刻の情報として持っている。個々のVOBと一対になっているVOB管理情報(VOBI)は、データの再生時刻に対応した記録アドレスのテーブル情報であるタイムマップ(Time MapまたはTM)を有している。タイムマップを用いることによって、前述したVOBの再生時刻および終了時刻から、VOB内(即ち対象となる「YYY.VOB」ファイル内)での読み出しの開始アドレスおよび終了アドレスを導き出すことが可能である。なおタイムマップの詳細は後述する。
【0077】
(VOBの詳細)
図9は、本実施の形態におけるMPEGストリーム(VOB)の構成図である。
【0078】
図9に示すように、VOBは複数のVideo Object Unit(VOBU)によって構成され
ている。VOBUは、MPEGビデオストリームにおけるGroup Of Pictures(GOP)
を基準として、音声データも含んだ多重化ストリームにおける一再生単位である。VOBUのビデオ再生時間は0.4秒から1.0秒であって、通常は0.5秒程度である。つまり、多くのケースで1GOPには15フレーム程度のフレームが格納されている(NTSCの場合)。
【0079】
VOBUは、ビデオパック(V_PCK)とオーディオパック(A_PCK)とを有している。各パックのサイズは、1セクタと同じであり、本実施の形態では、2KBである。
【0080】
図10は、パックの構成を示す図である。
【0081】
図10に示すように、ビデオデータおよびオーディオデータといったエレメンタリデータは、PES Packet Payload(ペイロード)と呼ばれるPES Packet(パケット)のデータ格納領域に先頭から順次格納される。ペイロードは、PES Packet Header(パケットヘッダ
)が付けられて1つのPES Packet(パケット)を構成する。パケットヘッダには、ペイロードに格納されているデータがどのストリームのデータであるのかを識別するためのstream id(ID)と、そのペイロードのデコードおよび表示夫々の時刻情報であるタイムス
タンプ、即ちDecoding Time Stamp(DTS)およびPresentation Time Stamp(PTS)とが記録される。PTSおよびDTSは、必ずしも全てのパケットヘッダに記録されている訳ではなく、MPEGによってルールが規定されている。ルールの詳細についてはMPEGシステム(ISO/IEC13818−1)の規格書に記述されているので、その説明を省略する。
【0082】
パケットは、更にPack Header(ヘッダ)が付けられて、パックを構成する。そのヘッ
ダには、そのパックがいつデマルチプレクサを通過し、個々のエレメンタリストリームのデコーダバッファに入力されるのかを示すタイムスタンプ、即ちSystem Clock Reference(SCR)が記録されている。
【0083】
(VOBのインターリーブ記録)
次に、図11および図12を用いてVOBファイルのインターリーブ記録について説明する。
【0084】
図11上段は、前述したプレーヤの構成図の一部である。図11に示すように、BDディスク上のVOB即ちMPEGストリームは、光ピックアップを通してトラックバッファへ入力される。BDディスク上のPNG即ちイメージデータは、光ピックアップを通してイメージメモリへ入力される。
【0085】
トラックバッファはFIFO形式のバッファであり、トラックバッファに入力されたVOBのデータは入力された順にデマルチプレクサへ送られる。この時、個々のパックは、前述したSCRに従ってトラックバッファから引き抜かれ、デマルチプレクサを介してビデオプロセッサまたはサウンドプロセッサへ送られる。他方、イメージメモリに入力されたイメージデータについては、どのイメージを描画するかはプレゼンテーションコントローラによって指示される。また、描画に使われたイメージデータは、それが字幕用のイメージデータである場合、使われると同時にイメージメモリから削除される。それに対して、描画に使われたイメージデータがメニュー用のイメージデータである場合、そのメニューが描画されている間はイメージメモリ内にそのまま残される。これは、メニューの描画はユーザの操作に依存しており、ユーザの操作に追従してメニューの一部分を再表示または異なるイメージに置き換える際に、再表示される部分のイメージデータをデコードし易くするためである。
【0086】
図11下段は、BDディスク上でのVOBファイルおよびPNGファイルのインターリーブ記録を示す図である。一般的にROM、例えばCD−ROMやDVD−ROMでは、一連の連続再生単位となるAVデータは連続して記録されている。データが連続して記録されている限り、ドライブは順次データを読み出し、デコーダに送り届ける。しかしながら、連続するデータが分断されてディスク上に離散して配置されている場合、ドライブは個々の連続区間をシークするので、シーク期間においてはデータの読み出しが止まることになり、データの供給が止まる可能性がある。それを防止するために、ROMでは、一連の連続再生単位となるAVデータは連続して記録されている。BDでも、VOBファイルは連続領域に記録されることが望ましい。字幕データのようにVOBに記録されている映像データと同期して再生されるデータは、VOBファイルと同様に何らかの方法によってBDディスクから読み出すことが必要になる。
【0087】
字幕データの読み出し方法の一つとして、VOBの再生開始前に一まとめに字幕用のイメージデータ(PNGファイル)を読み出す方法がある。しかしながら、この方法では、大容量のメモリが必要となり、非現実的である。
【0088】
そこで、本実施の形態では、VOBファイルを幾つかのブロックに分けて、イメージデータとインターリーブ記録する方法を採用している。図11下段はそのインターリーブ記録を説明するための図である。
【0089】
VOBファイルとイメージデータとを適切にインターリーブ配置することで、前述したような大容量の一時記録メモリを用いることなく、必要なタイミングでイメージデータをイメージメモリに格納することが可能になる。なお、イメージデータを読み出している際には、VOBデータの読み出しは当然のことながら停止する。
【0090】
図12は、トラックバッファを使ったVOBデータ連続供給モデルを説明するための図である。
【0091】
既に説明したように、VOBのデータは、一旦トラックバッファに蓄積される。トラックバッファへのデータ入力レート(Va)と、トラックバッファからのデータ出力レート(Vb)との間に差(Va>Vb)を設けると、BDディスクからデータを読み出し続けている限り、トラックバッファのデータ蓄積量は増加していく。
【0092】
図12の上段に示すように、VOBの一連続記録領域が論理アドレスの“a1”から“a2”まで続くとする。論理アドレスの“a2”から“a3”の間は、イメージデータが記録されていて、VOBデータは記録されていない区間であるとする。
【0093】
図12の下段は、トラックバッファ内のデータ量の推移を示す。横軸は時間を示し、縦軸はトラックバッファ内に蓄積されているデータの量を示す。時刻“t1”は、VOBの一連続記録領域の開始点である論理アドレス“a1”のデータの読み出しを開始した時刻を示している。時刻“t1”以降、トラックバッファにはレート(Va−Vb)でデータが蓄積される。そのレートは、トラックバッファへ入力するデータのレートと、トラックバッファから出力するデータのレートとの差である。時刻“t2”は一連続記録領域の終了点である論理アドレス“a2”のデータを読み出す時刻である。即ち時刻“t1”から“t2”の間、レート(Va−Vb)でトラックバッファ内はデータ量が増加する。時刻“t2”でのデータ蓄積量B(t2)は下記の式1によって求めることができる。
【0094】
B(t2) = (Va−Vb)×(t2−t1) (式1)
【0095】
この後、論理アドレスの“a2”から“a3”まではイメージデータが続くため、トラックバッファへのデータの入力は0であり、出力レート“−Vb”でトラックバッファ内のデータ量は減少する。これは論理アドレス“a3”まで、即ち時刻“t3”まで継続する。
【0096】
ここで大事なことは、時刻“t3”より前にトラックバッファに蓄積されているデータ量が0になると、デコーダへ供給するVOBのデータが無くなってしまい、VOBの再生がストップしてしまう可能性がある。時刻“t3”でトラックバッファにデータが残っている場合、VOBの再生はストップすることなく連続する。
【0097】
時刻“t3”より前にトラックバッファに蓄積されているデータ量が0になることを防止するための条件は、下記の式2によって示される。
【0098】
B(t2) ≧ Vb×(t3−t2) (式2)
【0099】
即ち、式2を満たすように、イメージデータ(非VOBデータ)の配置を決めればよい。
【0100】
(ナビゲーションデータ構造)
図13から図19を用いて、BDのナビゲーションデータ(BD管理情報)の構造について説明する。
【0101】
図13は、VOB管理情報ファイル(“YYY.VOBI”)の内部構造を示す図である。
【0102】
VOB管理情報は、VOBのストリーム属性情報(Attribute)と、タイムマップ(TMAP)とを有している。ストリーム属性は、ビデオ属性(Video)と、オーディオ属性(Audio#0〜Audio#m)とを含む。特にオーディオストリームに関しては、VOBが複数のオーディオストリームを同時に持つことができることから、オーディオストリームの数(Number)によって、データフィールドが示される。
【0103】
下記は、ビデオ属性(Video)が持つ複数のフィールドと、夫々のフィールドが持ち得る値を示す。
【0104】
圧縮方式(Coding):
MPEG1
MPEG2
MPEG4
MPEG4−AVC(Advanced Video Coding)
解像度(Resolution):
1920×1080
1280×720
720×480
720×565
アスペクト比(Aspect):
4:3
16:9
フレームレート(Framerate):
60
59.94
50
30
29.97
25
24
23.976
【0105】
下記は、オーディオ属性(Audio)が持つ複数のフィールドと、夫々のフィールドが持ち得る値を示す。
【0106】
圧縮方式(Coding):
AC3
MPEG1
MPEG2
LPCM
DTSHD
チャンネル数(Ch):
1〜8
言語属性(Language):
【0107】
タイムマップ(TMAP)は、VOBU毎の情報を持つテーブルであって、VOBが有するVOBUの数(Number)と、各VOBU情報(VOBU#1〜VOBU#n)とを持つ。個々のVOBU情報は、VOBUの再生時間長(Duration)と、VOBUのデータサイズ(Size)とを有している。
【0108】
図14はVOBU情報の詳細を説明するための図である。
【0109】
広く知られているように、MPEGビデオストリームは可変ビットレート圧縮されることがあり、各フレームの再生時間とデータサイズとには、単純な相関はない。これに対して、音声の圧縮規格であるAC3は、音声データを固定ビットレートで圧縮することを定めているため、音声データについては、時間とアドレスとの関係は1次式によって表現される。MPEGビデオデータでは、個々のフレームは固定の表示時間を持つが、例えばNTSCに対応するMPEGビデオデータでは1フレームは1/29.97秒の表示時間を持つが、個々のフレームの圧縮後のデータサイズは絵の特性やピクチャタイプ、即ちI/P/Bピクチャのタイプによって大きく異なる。従って、MPEGビデオデータについては、時間とアドレスとの関係を一次式で表現することは不可能である。
【0110】
当然のこととして、MPEGビデオデータが多重化されているMPEGシステムストリーム、即ちVOBについても、時間とデータサイズとの関係を一次式で表現することは不可能である。VOBでは、タイムマップ(TMAP)が時間とアドレスとを結びつける。図14に示すように、VOBU毎に、VOBU内のフレームの数と、VOBU内のパックの数(つまりデータサイズ)とをエントリとして持つテーブルがタイムマップ(TMAP)である。
【0111】
図15を用いて、タイムマップ(TMAP)を詳細に説明する。
【0112】
図15に示すように時刻情報が与えられた場合、先ずはその時刻がどのVOBUに属するのかを検索する。即ち、タイムマップのVOBU毎のフレームの数を加算し、フレームの数の和が、与えられた時刻をフレーム数に換算した場合のそのフレーム数を超えるVOBU、またはそのフレーム数に一致するVOBUを検索する。次に、タイムマップのVOBU毎のデータサイズをそのVOBUの直前のVOBUまで加算する。加算によって得られた値が、与えられた時刻を含むフレームを再生するために読み出すべきパックのアドレスを求めるために用いられる。
【0113】
次に、図16を用いて、プレイリスト情報(“XXX.PL”)の内部構造を説明する。
【0114】
プレイリスト情報は、セルリスト(CellList)と、イベントリスト(EventList)とから構成されている。
【0115】
セルリスト(CellList)はプレイリスト内の再生セルシーケンスであり、セルリストの記述順でセルが再生される。セルリスト(CellList)は、セルの数(Number)と、各セル情報(Cell#1〜Cell#n)とから構成されている。
【0116】
セル情報(Cell#)は、VOBファイル名(VOBName)と、VOB内での開始時刻(In)および終了時刻(Out)と、字幕テーブル(SubtitleTable)とを持っている。開始時刻(In)および終了時刻(Out)は、夫々VOB内でのフレーム番号で表現され、前述したタイムマップ(TMAP)を使うことによって再生に必要なVOBデータのアドレスを得ることができる。
【0117】
字幕テーブル(SubtitleTable)は、VOBと同期再生される字幕の情報を持つテーブルである。VOBは音声と同様に複数の言語の字幕を持つことができ、字幕テーブル(SubtitleTable)は、言語の数(Number)と、それに続く言語毎のテーブル(Language#1〜Language#k)とから構成されている。
【0118】
各言語のテーブル(Language#)は、言語情報(Lang)と、個々に表示される字幕の情報の数(Number)と、個々に表示される字幕の情報(字幕情報,Speech#1〜Speech#j)とから構成されている。字幕情報(Speech#)は、対応するイメージデータのファイル名(Name)と、字幕の表示開始時刻(In)および字幕の表示終了時刻(Out)と、字幕の表示位置(Position)とから構成されている。
【0119】
イベントリスト(EventList)は、プレイリスト内で発生するイベントを定義したテーブルである。イベントリストは、イベントの数(Number)と、それに続く個々のイベント(Event#1〜Event#m)とから構成されている。個々のイベント(Event#)は、イベントの種類(Type)と、イベントの識別子(ID)と、イベントの発生時刻(Time)と、イベントの有効期間(Duration)とから構成されている。
【0120】
図17は、個々のプレイリストのイベントハンドラ(時間イベントと、メニュー選択用のユーザイベント)を持つイベントハンドラテーブル(“XXX.PROG”)を示す図である。
【0121】
イベントハンドラテーブルは、定義されているイベントハンドラ/プログラムの数(Number)と、個々のイベントハンドラ/プログラム(Program#1〜Program#n)とを有している。各イベントハンドラ/プログラム(Program#)は、イベントハンドラの開始の定義(<event_handler>タグ)と、前述したイベントの識別子と対になるイベントハンドラの識別子(ID)とを持つ。その後に、プログラムが、Functionに続く括弧“{”と“}”との間に記述される。前述の“XXX.PL”のイベントリスト(EventList)に格納されたイベント(Event#1〜Event#m)は、“XXX.PROG”のイベントハンドラの識別子(ID)を用いて特定される。
【0122】
次に、図18を用いてBDディスク全体に関する情報(“BD.INFO”)の内部構造を説明する。
【0123】
BDディスク全体情報は、タイトルリスト(TitleList)と、グローバルイベント用のイベントテーブル(EventList)とから構成されている。
【0124】
タイトルリスト(TitleList)は、ディスク内のタイトルの数(Number)と、これに続く各タイトル情報(Title#1〜Title#n)とから構成されている。個々のタイトル情報(Title#)は、タイトルに含まれるプレイリストのテーブル(PLTable)と、タイトル内のチャプタリスト(ChapterList)とを含んでいる。プレイリストのテーブル(PLTable)は、タイトル内のプレイリストの数(Number)と、プレイリスト名(Name)即ちプレイリストのファイル名とを有している。
【0125】
チャプタリスト(ChapterList)は、タイトルに含まれるチャプタの数(Number)と、個々のチャプタ情報(Chapter#1〜Chapter#n)とから構成されている。個々のチャプタ情報(Chapter#)は、そのチャプタを含むセルのテーブル(CellTable)を持つ。セルのテーブル(CellTable)は、セルの数(Number)と、個々のセルのエントリ情報(CellEntry#1〜CellEntry#k)とから構成されている。セルのエントリ情報(CellEntry#)は、そのセルを含むプレイリスト名と、プレイリスト内でのセル番号とから構成されている。
【0126】
イベントリスト(EventList)は、グローバルイベントの数(Number)と、個々のグローバルイベントの情報とを持っている。ここで注意すべきは、最初に定義されるグローバルイベントは、ファーストイベント(FirstEvent)と呼ばれ、BDディスクがプレーヤに挿入されたとき、最初に呼ばれる。グローバルイベント用のイベント情報は、イベントタイプ(Type)と、イベントの識別子(ID)とだけを持っている。
【0127】
図19は、グローバルイベントハンドラのプログラムのテーブル(“BD.PROG”)を示す図である。
【0128】
本テーブルの内容は、図17を用いて説明したイベントハンドラテーブルの内容と同じである。
【0129】
(イベント発生のメカニズム)
図20から図22を用いてイベント発生のメカニズムについて説明する。
【0130】
図20はタイムイベントの例を示す図である。
【0131】
前述したとおり、タイムイベントは、プレイリスト情報(“XXX.PL”)のイベントリスト(EventList)で定義される。タイムイベントとして定義されているイベント、即ちイベントタイプ(Type)が“TimeEvent”である場合、イベント生成時刻(“t1”)に、識別子“Ex1”を持つタイムイベントがシナリオプロセッサからプログラムプロセッサに出力される。プログラムプロセッサは、イベント識別子“Ex1”を持つイベントハンドラを探し、対象のイベントハンドラを実行する。例えば、本実施の形態では、2つのボタンイメージの描画等のイベントが行われる。
【0132】
図21はメニュー操作を行うユーザイベントの例を示す図である。
【0133】
前述したとおり、メニュー操作を行うユーザイベントもプレイリスト情報(“XXX.PL”)のイベントリスト(EventList)で定義される。ユーザイベントとして定義されるイベント、即ちイベントタイプ(Type)が“UserEvent”である場合、イベント生成時刻(“t1”)に、ユーザイベントはレディとなる。この時、イベント自身は未だ生成されていない。イベントは、有効期間情報(Duration)で示される期間レディ状態にある。
【0134】
図21に示すように、ユーザがリモコンキーの「上」「下」「左」「右」キーまたは「決定」キーを押した場合、先ずUOPイベントがUOPマネージャによって生成されてプログラムプロセッサに出力される。プログラムプロセッサは、シナリオプロセッサにUOPイベントを出力する。シナリオプロセッサは、UOPイベントを受け取った時刻に有効なユーザイベントが存在するか否かを調べ、有効なユーザイベントがあった場合、ユーザイベントを生成し、プログラムプロセッサに出力する。プログラムプロセッサは、イベント識別子“Ev1”を持つイベントハンドラを探し、対象のイベントハンドラを実行する。例えば、本実施の形態では、プレイリスト#2の再生が開始される。
【0135】
生成されるユーザイベントには、どのリモコンキーがユーザによって押されたのかを特定する情報は含まれない。選択されたリモコンキーの情報は、UOPイベントによってプログラムプロセッサに伝えられ、仮想プレーヤが持つレジスタSPRM(8)に記録され保持される。このレジスタの値を調べることにより、イベントハンドラのプログラムを分岐処理することが可能である。
【0136】
図22はグローバルイベントの例を示す図である。
【0137】
前述したとおり、グローバルイベントはBDディスク全体に関する情報(“BD.INFO”)のイベントリスト(EventList)で定義される。グローバルイベントとして定義されるイベントのタイプ(Type)が“GlobalEvent”である場合、ユーザがリモコンキーを操作したときにのみイベントが生成される。
【0138】
ユーザが“メニュー”キーを押した場合、先ずUOPイベントがUOPマネージャによって生成されてプログラムプロセッサに出力される。プログラムプロセッサはシナリオプロセッサにUOPイベントを出力し、シナリオプロセッサはそのUOPイベントに対応するグローバルイベントを生成し、プログラムプロセッサに送る。プログラムプロセッサは、イベント識別子“menu”を持つイベントハンドラを探し、対象のイベントハンドラを実行する。例えば、本実施の形態では、プレイリスト#3の再生が開始される。
【0139】
本実施の形態では、“メニュー”キーは1個である場合を想定しているが、DVDレコーダのリモコンのように、メニューキーは複数存在していてもよい。その場合、メニューキー毎に対応する識別子が定義される。
【0140】
(仮想プレーヤマシン)
図23を用いてプログラムプロセッサの機能を説明する。
【0141】
プログラムプロセッサは、内部に仮想プレーヤマシンを持つ処理モジュールである。仮想プレーヤマシンは、BDに対応する機能を有し、BDプレーヤの実装には依存しない。即ち、仮想プレーヤマシンは、どのBDプレーヤにおいても同様の機能を実現できることが保証されている。
【0142】
仮想プレーヤマシンは、プログラミング関数とプレーヤ変数(レジスタ)とを持っている。プログラミング関数では、Java(登録商標)Scriptをベースとして、以下に記す2つの機能がBD固有関数として定義されている。
【0143】
リンク関数:現在の再生を停止し、指定されたプレイリスト、セル、または時刻からの再生を開始する
Link(PL#,Cell#,time)
PL# : プレイリスト名
Cell# : セル番号
time : セル内での再生開始時刻
PNG描画関数:指定PNGデータをイメージプレーンに描画する
Draw(File,X,Y)
File : PNGファイル名
X : X座標位置
Y : Y座標位置
イメージプレーンクリア関数:イメージプレーンの指定領域をクリアする
Clear(X,Y,W,H)
X : X座標位置
Y : Y座標位置
W : X方向幅
H : Y方向幅
【0144】
プレーヤ変数として、プレーヤの状態を示すシステムパラメータ(SPRM)と、一般用途として使用可能なゼネラルパラメータ(GPRM)とがある。
【0145】
図24はシステムパラメータ(SPRM)の一覧を示す図である。
【0146】
SPRM(0) : 言語コード
SPRM(1) : 音声ストリーム番号
SPRM(2) : 字幕ストリーム番号
SPRM(3) : アングル番号
SPRM(4) : タイトル番号
SPRM(5) : チャプタ番号
SPRM(6) : プログラム番号
SPRM(7) : セル番号
SPRM(8) : 選択キー情報
SPRM(9) : ナビゲーションタイマー
SPRM(10) : 再生時刻情報
SPRM(11) : カラオケ用ミキシングモード
SPRM(12) : パレンタル用国情報
SPRM(13) : パレンタルレベル
SPRM(14) : プレーヤ設定値(ビデオ)
SPRM(15) : プレーヤ設定値(オーディオ)
SPRM(16) : 音声ストリーム用言語コード
SPRM(17) : 音声ストリーム用言語コード(拡張)
SPRM(18) : 字幕ストリーム用言語コード
SPRM(19) : 字幕ストリーム用言語コード(拡張)
SPRM(20) : プレーヤリージョンコード
SPRM(21) : 予備
SPRM(22) : 予備
SPRM(23) : 再生状態
SPRM(24) : 予備
SPRM(25) : 予備
SPRM(26) : 予備
SPRM(27) : 予備
SPRM(28) : 予備
SPRM(29) : 予備
SPRM(30) : 予備
SPRM(31) : 予備
【0147】
なお、本実施の形態では、仮想プレーヤのプログラミング関数はJava(登録商標)Scriptベースとして定義されているが、プログラミング関数は、UNIX(登録商標) OSなどで使われているB−Shellや、Perl Scriptなどによって定義されてもよい。言い換えれば、プログラミング関数は、Java(登録商標)Scriptによって定義されると限定されない。
【0148】
(プログラムの例)
図25および図26は、イベントハンドラでのプログラムの例を示す図である。
【0149】
図25は、2つの選択ボタンを持つメニューのプログラムの例を示す図である。
【0150】
セル(PlayList#1.Cell#1)の先頭のタイムイベントに基づいて、図25左側のプログラムが実行される。ゼネラルパラメータの一つGPRM(0)に“1”がセットされている。GPRM(0)は、プログラムの中で、選択されているボタンを識別するために用いられている。最初の状態(初期値)では、左側に配置されているボタン1が選択されている。
【0151】
次に、PNGの描画が、描画関数であるDrawを使ってボタン1、ボタン2夫々について行われる。ボタン1は、座標(10、200)を起点(左端)とする領域に、PNGイメージ“1black.png”が描画されることにより形成される。ボタン2は、座標(330,200)を起点(左端)とする領域に、PNGイメージ“2white.png”が描画されることにより形成される。
【0152】
また、本セルの最後のタイムイベントが用いられて、図25右側のプログラムが実行される。ここでは、Link関数を使って、セルの先頭から再度再生するように指定されている。
【0153】
図26は、メニュー選択のユーザイベントのイベントハンドラの例を示す図である。
【0154】
「左」キー、「右」キー、「決定」キーが押された場合の夫々のキーに対応するプログラムが、イベントハンドラに書かれている。ユーザがリモコンキーを押した場合、図21を用いて説明したとおり、ユーザイベントが生成され、図26のイベントハンドラが起動する。本イベントハンドラでは、選択ボタンを識別するGPRM(0)の値と、選択されたリモコンキーを識別するSPRM(8)とを使って、分岐処理が行われる。
【0155】
条件1)ボタン1が選択されている、かつ、選択キーが「右」キーである場合
GPRM(0)を“2”に再設定して、選択状態にあるボタンを右ボタン2に変更する。
【0156】
ボタン1、ボタン2のイメージを夫々書き換える。
【0157】
条件2)選択キーが「決定(OK)」であって、ボタン1が選択されている場合
プレイリスト#2の再生を開始する。
【0158】
条件3)選択キーが「決定(OK)」であって、ボタン2が選択されている場合
プレイリスト#3の再生を開始する。
【0159】
上記のような分岐処理が行われる。
【0160】
(プレーヤ処理フロー)
次に、図27から図30を用いてプレーヤの処理フローを説明する。
【0161】
図27は、AVの再生までの基本処理フローを示す図である。
【0162】
BDディスクが挿入されると(S101)、BDプレーヤは、“BD.INFO”ファイルの読み込みと解析とを行い(S102)、“BD.PROG”ファイルを読み込む(S103)。“BD.INFO”ファイルおよび“BD.PROG”ファイルは、共に管理情報記録メモリに一旦格納され、シナリオプロセッサによって解析される。
【0163】
続いて、シナリオプロセッサは、“BD.INFO”ファイル内のファーストイベント(FirstEvent)情報に従い、最初のイベントを生成する(S104)。生成されたファーストイベントはプログラムプロセッサによって受け取られ、プログラムプロセッサは、そのイベントに対応するイベントハンドラを実行する(S105)。
【0164】
ファーストイベントに対応するイベントハンドラには、最初に再生するべきプレイリスト情報が記録されている、ことが期待される。仮に、プレイリストの再生が指示されていない場合、プレーヤは何も再生することなく、ユーザイベントを待ち続ける(S201)。BDプレーヤがユーザからのリモコン操作による指示を受け付けると、UOPマネージャは、プログラムマネージャに対してUOPイベントの実行を開始させる(S202)。
【0165】
プログラムマネージャは、UOPイベントがメニューキーであるか否かを判別し(S203)、UOPイベントがメニューキーである場合、シナリオプロセッサにUOPイベントを出力し、シナリオプロセッサがユーザイベントを生成する(S204)。プログラムプロセッサは、生成されたユーザイベントに対応するイベントハンドラを実行する(S205)。
【0166】
図28は、PLの再生開始からVOBの再生開始までの処理フローを示す図である。
【0167】
前述したように、ファーストイベントハンドラまたはグローバルイベントハンドラによってプレイリストの再生が開始される(S301)。シナリオプロセッサは、再生対象のプレイリストの再生に必要な情報として、プレイリスト情報“XXX.PL”の読み込みと解析とを行い(S302)、プレイリストに対応するプログラム情報“XXX.PROG”を読み込む(S303)。続いて、シナリオプロセッサは、プレイリストに登録されているセル情報に基づいてセルの再生を指示する(S304)。セルの再生は、シナリオプロセッサからプレゼンテーションコントローラに対して要求が出されたことを意味し、プレゼンテーションコントローラはAVの再生を開始する(S305)。
【0168】
AVの再生が開始されると(S401)、プレゼンテーションコントローラは、再生するセルに対応するVOBの情報ファイル(XXX.VOBI)の読み込みと解析とを行う(S402)。プレゼンテーションコントローラは、タイムマップを使って再生を開始するVOBUとそのアドレスとを特定し、ドライブコントローラに読み出しアドレスを指示し、ドライブコントローラは対象となるVOBデータを読み出す(S403)。これにより、VOBデータがデコーダに送られ、その再生が開始される(S404)。
【0169】
VOBの再生は、そのVOBの再生区間が終了するまで続けられ(S405)、終了すると次のセルの再生(S304)へ移行する。次のセルが無い場合、再生は停止する(S406)。
【0170】
図29は、AVの再生開始後からのイベント処理フローを示す図である。
【0171】
BDプレーヤはイベントドリブン型のプレーヤである。プレイリストの再生が開始すると、タイムイベント系、ユーザイベント系、および字幕表示系のイベント処理が夫々起動し、平行してイベント処理が実行される。
【0172】
S500系の処理は、タイムイベント系の処理である。
【0173】
プレイリストの再生開始後(S501)、プレイリストの再生が終了しているか否かを確認するステップ(S502)を経て、シナリオプロセッサは、タイムイベント発生時刻になったか否かを確認する(S503)。タイムイベント発生時刻になった場合、シナリオプロセッサはタイムイベントを生成し(S504)、プログラムプロセッサはタイムイベントを受け取って、イベントハンドラを実行する(S505)。
【0174】
ステップS503でタイムイベント発生時刻になっていない場合、および、ステップS504でイベントハンドラを実行した後、ステップS502へ戻り、上述した処理を繰り返す。また、ステップS502でプレイリストの再生が終了したことが確認されると、タイムイベント系の処理は強制的に終了する。
【0175】
S600系の処理は、ユーザイベント系の処理である。
【0176】
プレイリストの再生開始後(S601)、プレイリストの再生終了確認ステップ(S602)を経て、UOPの受付確認ステップに移る(S603)。UOPの受付があった場合、UOPマネージャはUOPイベントを生成し(S604)、UOPイベントを受け取ったプログラムプロセッサは、UOPイベントがメニューコールであるか否かを確認する(S605)。UOPイベントがメニューコールである場合、プログラムプロセッサはシナリオプロセッサにイベントを生成させ(S607)、プログラムプロセッサはイベントハンドラを実行する(S608)。
【0177】
ステップS605でUOPイベントがメニューコールでないと判断された場合、UOPイベントはカーソルキーまたは「決定」キーによるイベントであることを示している。この場合、現在時刻がユーザイベント有効期間内であるか否かをシナリオプロセッサが判断する(S606)。現在時刻がユーザイベント有効期間内である場合、シナリオプロセッサがユーザイベントを生成し(S607)、プログラムプロセッサが対象のイベントハンドラを実行する(S608)。
【0178】
ステップS603でUOPが受付けられていない場合、ステップS606で現在時刻がユーザイベント有効期間にない場合、および、ステップS608でイベントハンドラを実行した後、ステップS602へ戻り、上述した処理を繰り返す。また、ステップS602でプレイリストの再生が終了したことが確認されると、ユーザイベント系の処理は強制的に終了する。
【0179】
図30は字幕処理のフローを示す図である。
【0180】
プレイリストの再生開始後(S701)、プレイリストの再生終了確認ステップ(S702)を経て、字幕の描画開始時刻確認ステップ(S703)に移る。現在時刻が字幕の描画開始時刻である場合、シナリオプロセッサはプレゼンテーションコントローラに字幕の描画を指示し、プレゼンテーションコントローラはイメージプロセッサに字幕の描画を指示する(S704)。ステップS703で現在時刻が字幕の描画開始時刻でないと判断された場合、現在時刻が字幕の表示終了時刻であるか否かを確認する(S705)。現在時刻が字幕の表示終了時刻であると判断された場合、プレゼンテーションコントローラはイメージプロセッサに字幕の消去を指示し、イメージプロセッサは描画されている字幕をイメージプレーンから消去する(S706)。
【0181】
字幕の描画ステップS704の終了後、字幕の消去ステップS706の終了後、および、字幕の表示終了時刻確認ステップS705で現在時刻が字幕の表示終了時刻でないことが判断された場合、ステップS702に戻り、上述した処理を繰り返す。また、ステップS702でプレイリストの再生が終了したことが確認されると、字幕の表示に関する処理は強制的に終了する。
【0182】
(実施の形態1)
次に、実施の形態1について説明する。
【0183】
実施の形態1はBDの音声データにおけるストリーム構造に関し、その内容は基本的には上記の関連する実施の形態に基づく。したがって、実施の形態1では、関連する実施の形態から拡張した部分、および関連する実施の形態と異なる部分を中心に説明する。
【0184】
図31は階層構造を持たない1つのアクセスユニット(映像/音声の情報に対する復号および再生の符号化単位)の構造を示す図である。映像符号化方式の一つであるMPEG−2ビデオや、音声符号化方式の一つであるMPEG−1オーディオなどでは、一つのアクセスユニットは、図31に示すように、ヘッダ部(Base Header)と、ペイロード部(Base Payload)とから構成される。
【0185】
Base Headerには、Base frameの同期信号であるBase SYNC、このアクセスユニットのデータサイズを示すAU_SIZE、このアクセスユニットがBase frameからのみ構成されているか否かを示すEXT、もしこのアクセスユニットがBase frameからのみで構成されていない場合に、どのような種類の拡張情報が付与されているのかを示すEXT_ID、および、将来使用される場合のためのリザーブ領域などが設けられている。
【0186】
図31のアクセスユニットでは階層構造は導入されておらず、1つの符号化方式のみで1つのアクセスユニット全体が符号化されている。それは、1種類の復号方式のみで1アクセスユニット全てを復号することができることを意味する。
【0187】
図32は、Base frameに、Base frameとは異なる符号化方式により、例えば、より高画質な映像情報やより高音質な音声情報を符号化したLevel1−EXT frameが追加された、1アクセスユニットの構造を示す図である。
【0188】
Base HeaderのEXTは、このアクセスユニットがBase frameからのみで構成されていないことを示し、EXT_IDは、他の拡張階層データの内、Level1がBase frameに続いて符号化されていることを示している。
【0189】
AU_SIZEは、アクセスユニットのサイズを表す。AU_SIZEを使うことにより、Base frameしか復号できないデコーダ(Level1−EXT frameを復号できないデコーダ)がこのアクセスユニットをLevel1−EXT frameを無視しながら適切に復号できるように、1アクセスユニットを設計することができる。
【0190】
このように、元々ある符号化単位(Base)に新たな拡張部分(Level1−EXT)を追加しても、Level1−EXT frameを無視することにより、図32に示すアクセスユニットにより構成されるストリームを復号することができる。それとともに、次々と新しい圧縮符号化アルゴリズムを導入することができる。
【0191】
同様にLevel2−EXTまで拡張されたアクセスユニットを、図33に示す。Level2−EXTのデータは、例えば、Level1−EXTまでのデータのサンプリングレートより高いサンプリングレートの音声を得るためのLevel1−EXTまでのデータに含まれないデータである。
【0192】
EXT_IDは、Level1とLevel2とが存在することを示すように設定される。
【0193】
図34は、このように階層構造を持って符号化されたデータ(例えば、Level2ストリーム)を、様々な階層に対応したデコーダに出力するストリーム読込/供給部の、データの出力先毎に異なる動作を説明するための図である。
【0194】
Baseデコーダにデータを出力する場合、ストリーム読込/供給部は、Level2ストリームからLevel1−EXTとLevel2−EXTフレームとを取り除いて、Base frameだけを出力する。その際、ストリーム読込/供給部は、Base Headerのアクセスユニットのサイズ情報であるAU_SIZE、Base frameからのみで構成されているか否かを示すEXT、および拡張階層データの種別を示すEXT_IDの各値を書換えて、データを出力する。
【0195】
同様に、Level1デコーダにデータを出力する場合、ストリーム読込/供給部は、Level2ストリームからLevel2−EXT frameを取り除き、AU_SIZE、およびEXT_IDの各値を書換えてデータを出力する。
【0196】
勿論、Level2ストリームをLevel2デコーダに出力する場合、ストリーム読込/供給部は、Level2ストリームをそのまま出力する。
【0197】
ここで、BaseとLevel1−EXTとに対応した機器が広く普及しており、新たにLevel2−EXTを導入する場合を想定する。この場合、Level2ストリームからBase frameとLevel1−EXT frameとを抽出することのみを行い、抽出したデータをその機器に対して出力することが望ましい。つまり、データを一切修正しないことが望ましい。
【0198】
図35は、BaseとLevel1−EXTとに対応した機器が広く普及した場合に、Level2−EXTを導入するための理想的なアクセスユニットの構造を示す図である。
【0199】
図35に示すアクセスユニットでは、アクセスユニットがBaseとLevel1−EXTとから構成される場合と同様に、Level1−EXTまでのデータに関する情報は、Base Header(およびLevel1 Header)に記述されている。それに対して、Level2−EXT以降の拡張階層データに関する情報は、リザーブ領域のようなBase/Level1−EXTデコーダが感知しない領域に記述されている。図35では、EXT_IDにはLevel2は存在しないことを示す値が設定されているが、Level1のフレームまでは使われていなかったリザーブ領域にEXT_ID2が用意され、そこにLevel2の拡張階層データが存在することが記述されている。
【0200】
図35に示すLevel2のアクセスユニット(例えばBase、Level1−EXT、およびLevel2−EXTを含むアクセスユニット)を、Level1のアクセスユニット(Baseのみ、または、BaseおよびLevel1−EXT)へ変換して出力する際、ストリーム読込/供給部は、Level2ストリームからBaseの部分とLevel1−EXTの部分との抽出のみを行う。つまり、ストリーム読込/供給部は、データの書換えを一切行わずにLevel1のデコーダに、Level1のアクセスユニットにより構成されるストリームを出力することが可能となる。
【0201】
上述の方法は、AU_SIZEなどのサイズ情報のビットの割り当て数が少なく、Level2を加えた際に1アクセスユニットのデータサイズが大きすぎて、サイズ情報をAU_SIZEでは表現することができない場合などにも有効である。
【0202】
「DTS」では、DTS++によりロスレス圧縮の符号化データが生成されても、サンプリングPCMデータ如何によっては、ほとんど圧縮の効果が得られない場合がある、その場合、DTSの数100KbpsからからDTS++(ロスレス)の数10Mbps辺りまで、ビットレートが急激に増えることが考えられる。その結果、現在のDTSのCoreヘッダに記述されるアクセスユニットのデータサイズを示すFSIZE(14ビットでバイト単位のデータサイズを示す)では、サイズを示すためのビットフィールドが不足する問題が起こる。このため、DTS++のロスレス圧縮のように、サイズをAU_SIZE(FSIZE)で記述することができない場合、AU_SIZEの範囲を2つのデータブロックに分けることが考えられる。
【0203】
図36は、Level1までサポートする機器が存在し、新たにLevel2を採用する場合のデータストリームのデータ構造を示す図である。
【0204】
図36は、1つのアクセスユニットが、既存のプレーヤやデコーダで復号可能なBase/Level1−EXTと、既存のプレーヤやデコーダでは復号不可能なLevel2−EXTとの2つの部分から構成されていることを、明確に示している。
【0205】
映像や音声のエレメンタリーストリームをMPEG2−TS(transport stream)やMPEG2−PS(program stream)で多重化する場合、データはPESパケットと呼ばれる論理単位に格納されることがMPEG規格で規定されている。
【0206】
PESパケットは、PESヘッダと実データを格納するPESペイロードとから構成され、PESヘッダは図36に示すように様々なフィールドを有する。
【0207】
stream_idは、そのPESパケットのペイロード部に格納されているエレメンタリーストリームの種別を示す。一般にstream_idが異なることは、エレメンタリーストリームが異なることを示す。PES_packet_lengthは、PESパケットのデータサイズを示す。PES_priorityは、そのPESパケットの優先レベルを識別するための情報である。PTS_DTS_flagsは、そのPESペイロードの再生開始時刻情報であるPTSと復号開始時刻情報であるDTSとがあるか否かを示す情報である。PTSとDTSの値が同じ場合にはDTSは省略される。PES_extension_flag、およびPES_extension_flag_2は、夫々PESパケットのペイロード部に拡張データ領域があるか否かを示す情報である。stream_id_extensionは、stream_id=0xFD(extended_stream_id)の場合にのみ存在可能なstream_idを補うための、エレメンタリーストリームの識別補助情報である。
【0208】
アクセスユニットのBaseフレーム部分(図36では、Base+Level1−EXT部分)と、Baseフレームを含まない部分(図36では、Level2−EXT部分)とは、後述するTSパケットの識別情報であるPacket Identifier(PID)を同一
にし、stream_idを異ならせて分けられてもよいし、PTS_DTS_flagsを異ならせて分けられてもよいし、stream_id_extensionを用いて分けられてもよい。Baseフレーム部分を、2032バイト、またはDVD−Videoにも対応する2013バイトで完結する部分とし、1アクセスユニットのそれ以外の部分を、Baseフレームを含まない部分とすることにより、Baseフレーム部分とBaseフレームを含まない部分とが分けられてもよい。
【0209】
例えば、stream_id_extensionを用いる場合、Baseフレームを含むPESパケットもBaseフレームを含まないPESパケットもstream_id=0xFD(プライベートストリーム)となる。そこで、Baseフレームを含むPESパケットのstream_id_extension値(例えば0x70)と、Baseフレームを含まないPESパケットのstream_id_extension値(例えば0x71)とを異なる値に設定する。これにより、プレーヤや外部出力部はBaseフレームを含むデータのみを抽出することができる。この場合、設定されるstream_id_extension値は、論理アドレス0x40から0x7Fのプライベートストリーム領域に記録される。
【0210】
1つ目のPESパケットには、現存する機器に対応する(ディジタルインターフェース上のプロトコルなどが規定されており、尚且つそれに対応した入力端子を持つ、現存するAVレシーバに対応する)Level1までの符号化単位を格納することができる。2つ目のPESパケットには、現存しない機器に対応する(ディジタルインターフェース上のプロトコルなどが規定されていない、またはそれに対応した入力端子を持たない、現存しないAVレシーバに対応する)Level2以降の符号化単位を格納することができる。
【0211】
1つ目のPESパケットと、2つ目以降のPESパケットとは、stream_id、stream_id_extension、またはPTS_DTS_flags、の値を判断することにより区別することが可能である。
【0212】
上述したように、PESヘッダには、PES_packet_lengthなどのサイズ情報があるため、PESペイロードはそのサイズ情報から極めて容易に抽出することができる。従って、Level1−EXTまでの符号化単位が既存のAVレシーバやディジタルインターフェースに互換性が高く1つ目のPESパケットにまとめて格納されている場合、1つ目のPESパケットのPESペイロードは、PESヘッダを解析することで容易に抽出することができる。
【0213】
図37を用いて、既存のプレーヤやデコーダで復号可能なBase/Level1−EXTと、既存のプレーヤやデコーダでは復号不可能なLevel2−EXTとの2つの部分から構成されているアクセスユニットの処理を再度説明する。
【0214】
BDプレーヤ1000において、複数のアクセスユニットにより構成されているストリームが記録されているBDディスク1001から、そのストリームがパーサ1002に入力される。パーサ1002は、各アクセスユニットについて、Baseフレーム部を含む1つ目のPESパケットと、Level2−EXT部だけを含む2つ目以降のPESパケットとを区別する。
【0215】
そして、パーサ1002は、Baseフレーム部のみを処理することができる、BDプレーヤ1000内部のデコーダ1003へ、Baseフレーム部である1つ目のPESパケットを出力する。デコーダ1003は、1つ目のPESパケットをデコードし、デコードデータを、ステレオ/アナログインターフェース1004を介して、テレビ1005に出力する。テレビ1005は、BDプレーヤ1000からのデータを再生し、そのデータに基づく画像および音声を出力する。
【0216】
また、パーサ1002は、SPDIF1006を介して、BDプレーヤ1000外部のA/Vレシーバ1007内の、Baseデコーダ1008、および、Base/Level1−EXTデコーダ1009に、Baseフレーム部を含む1つ目のPESパケットを出力する。Baseデコーダ1008、および、Base/Level1−EXTデコーダ1009は、Baseフレーム部や、それに加えてLevel1−EXTフレーム部を処理することができるデコーダであり、BDプレーヤ1000からの1つ目のPESパケットを処理する。
【0217】
さらに、パーサ1002は、Advanced Digital Interface1011を介して、Baseフレーム部を含む1つ目のPESパケットと、Level2−EXT部だけを含む2つ目以降のPESパケットとを、A/Vレシーバ1007内の、Level2−EXTデコーダ1012に出力する。Level2−EXTデコーダ1012は、BaseからLevel2−EXTフレームまでの全てのフレームを処理することができるデコーダであり、BDプレーヤ1000からの両方のPESパケットを処理する。
【0218】
このように、パーサ1002がアクセスユニットを解析することにより、アクセスユニットは、既存のデコーダであるデコーダ1003、Baseデコーダ1008、および、Base/Level1−EXTデコーダ1009に送信され、処理される。それとともに、アクセスユニットは、Baseフレーム部を含む1つ目のPESパケットと、Level2−EXT部だけを含む2つ目以降のPESパケットとを処理することができるLevel2−EXTデコーダ1012に出力され、処理される。
【0219】
なお、図37のBDプレーヤ1000は、本発明のデータ再生装置の一例である。パーサ1002はデータ分別装置の一例である。
【0220】
全デコーダで復号が保証されているBaseフレームが格納されたPESパケットの次には、それに付加機能を与えることができるものの復号互換性の低い拡張フレーム(Level1−EXTやLevel2−EXTなど)が格納されたPESパケットが続くことが重要である。また、1アクセスユニットの中のデータの並び順は、Base、Level1−EXT、Level2−EXT、Level3−EXT、Level4−EXT、・・・と昇順であり、1アクセスユニットの全ての符号化単位を抽出する際に並べ替えが発生しないことが重要である。
【0221】
DTS(Digital Theater Systems社が開発した音声符号化方式)では、1つ目のBase(DTSではcoreと呼ぶ)を含むPESパケットのペイロードのデータサイズは、ディジタルインターフェースであるSPDIF(Sony/Philips
Digital Interconnect Format、民生向けはIEC60958−3規格で規定)の規定に従い、2032バイト以下とすればよい。これは、48KHzでサンプリングされた音声データの内512サンプルを1フレームに格納するDTS−typeI方式の場合、ビットレートに換算して1524Kbps以下までを1つめのPESパケットにて格納するということになる。
【0222】
ここで、1524[Kbps]=2032[bytes]×8[bits/byte]×48000[sample/sec]/512[sample]
【0223】
DVD−Videoプレーヤから出力されるデータに準拠したDTS対応のAVレシーバ(ホームシアターなど)との互換性を保つには、1つ目のBaseを含むPESパケットのペイロードのデータサイズを、2013バイト以下とすればよい。
【0224】
このようにして、PESパケット単位で、既存のプレーヤ/デコーダと新規のプレーヤ/デコーダとの互換性を保って、1つのアクセスユニットのデータを分割して管理する。つまり、ディジタルインターフェースの規定に応じて、1つのアクセスユニットのデータを分割して管理する。これにより、所定の拡張階層データまでを含むアクセスユニットデータを、一切加工することなく、かつ不整合を起こすことなく送出することができる。
【0225】
図38は、MPEG2−TSで多重化される、階層構造を持つアクセスユニットの構造を示す図である。
【0226】
MPEG2−TSは、1つ188バイトのTSパケットから構成されるディジタルストリームであり、MPEG2−TSのプログラムの構成情報を格納しているProgram Map Table(PMT)の一部は、図38に示すような構造である。
【0227】
MPEG2−TSの規定では、1つのTSパケットが複数のPESパケットを格納することは禁止されている。そのため、図38に示すように、Base+Level1−EXTの符号化単位を格納したPESパケットと、Level2−EXTの符号化単位を格納したPESパケットとは、別々のTSパケットに格納される。
【0228】
MPEG2−TSには、そのMPEG2−TS内に格納されているプログラムを示すPMTパケットが格納されている。PMTは、所定のプログラムに属する映像情報や音声情報などの各種情報がどのPIDのTSパケットで運ばれているのかを示すelementary_stream_PIDと、そのエレメンタリーストリームの符号化種別を示すstream_typeと、そのエレメンタリーストリームについて付加情報を記述した1つまたは複数のdescriptorとを格納している。
【0229】
階層構造を持つ符号化方式に対するdescriptorには、拡張階層のレベル情報(coding_level)や、現時点でサポートされていない、または極めて少ない拡張階層を用いているか否かを示す情報(例えば、Level2を使っているか否かを示す識別情報、Level2_existence)や、符号化データが音声情報であれば、チャンネル配置情報(channel_assignment)や、サンプリング周波数(sampling_frequency)などの情報が記述されることが考えられる。
【0230】
符号化データが映像情報であれば、descriptorに、coding_levelや、Level2_existenceの他に、解像度情報やフレーム周波数などが記述されることが考えられる。
【0231】
ここで、符号化データが音声情報である場合のdescriptorに記述される内容を、図39から図41を用いて説明する。
【0232】
図39に示すように、descriptorには、レベルと、オーディオ属性(Q値、周波数、チャンネル、およびスピーカレイアウト)との関係を記述することができる。スピーカレイアウトの情報を利用することにより、デコーダは、処理するストリームのレイアウトと、実際のレイアウトとが異なっていても、適宜チャンネル毎に修正することができる。図40(A)に、5.1チャンネルのスピーカレイアウトを示し、図40(B)に、7.1チャンネルのスピーカレイアウトを示す。
【0233】
上述したように、descriptorには、Levelとチャンネルとの関係を記述することができる。
【0234】
それだけではなく、図41の“チャンネル構造”に示すように2チャンネルや5.1チャンネルのダウンミックス音が含まれているか否かをチャンネル数情報として記述してもよい。これにより、各チャンネルに対応するデコーダは、適切に音を出力可能か否か識別することができる。例えば、チャンネル構造が7.1ch(2+3.1+2の階層構造)である場合、2ch decoderは、2チャンネルの音を出力することができ、5.1ch decoderは、5.1チャンネル(2+3.1チャンネル)の音を出力することができる。しかしながら、チャンネル構造がこのような階層構造を伴わない7.1chである場合、処理量の都合から2ch decoderおよび5.1ch decoderは、音を出力することができない可能性がある。
【0235】
DTSのデータは、DTS(Baseに相当)およびDTS+(Level1−EXTに相当)のデータと、DTS++(Level2−EXTに相当)のデータとに分けられる。
【0236】
DTS+もDTS++も、どちらも拡張階層データを含むが、その扱いは異なる。そのため、descriptorに、対象ストリームがDTS/DTS+であるのか、DTS++であるのかを識別するための情報(図38のLevel2_existenceに相当)が含められてもよい。
【0237】
なお、Level2_existenceは、対象ストリームがDVD−Videoと同様の形式(DTS−typeI形式)でSPDIFへ出力可能な部分だけを含んでいるのか否かを示す情報として用いられてもよい。
【0238】
これら、Level2_existenceや、coding_levelの情報は、データベースファイル(図13のVOBIファイルのAttribute内など)に記述されてもよい。これらの情報は、ディジタルデータを出力する際の抽出処理が異なることを示すのは勿論であるが、BDのメニュー画面などで映像や音声の属性表示/選択に利用することも可能である。例えば、Level2に対応していないプレーヤは、復号対象のストリームがLevel2のストリームであることをデータベースから判定し、Level2の音声を予め選択不可能としてユーザに供することもできる。
【0239】
図42は、BD−ROMなどの光ディスクに記録する際のMPEG2−TSのファイルフォーマットを示す図である。
【0240】
TSパケット毎に、4バイトのArrival Time Stamp(ATS、TSパケットのデコーダへの入力開始時刻情報)が付与されて1つのTimed TSパケットが構成され、32個のTimed TSパケットがまとめて3セクタ(6KB)に記録される。
【0241】
図43は、DVD−Videoで規定されるDTSの詳細を説明するための図である。
【0242】
DVD−Videoでは、1アクセスユニットの最大サイズは2013バイトと定めてられているが、これがDTS/DTS+/DTS++の何れに属するかは規定されていない。つまり、48KHzで512サンプル分の音声情報を表す1アクセスユニットは、coreのみで構成されていてもよいし、coreとextensionとから構成されていてもよい。
【0243】
最大2013バイトの1アクセスユニットはPESペイロードに格納され、PESヘッダ(PEShdr)とパックヘッダ(Packhdr)とが付与され、全体のサイズは2KBとなる。
【0244】
PESペイロードの音声データだけを格納したDTSバーストペイロードが形成され、それに、2バイトずつで計8バイトのプリアンブル群(Pa,Pb,Pc,Pd)と、stuffingデータとが付与されて、2KBのIEC61937−5フレームが形成される。
【0245】
SPDIF(IEC60958−3)は192フレームを1ブロックとした周期で転送される。1フレームは2つのサブフレームから成り、サブフレームはIEC61937−5フレームの内の2バイトのデータを運ぶ4バイトのデータである。
【0246】
従って、DVD−Videoと互換性を保つようにDTSのデータを送るには、IEC61937−5フレームの内2013バイトまでに収まるように、coreとextensionのビット量を制御すればよい。これにより、データの種類がDTS/DTS+/DTS++の何れであるのかを問う必要はなくなる。
【0247】
これが、BD−ROMでDTS++を格納する場合、coreを含むPESパケットのペイロード部を2013バイト以下の符号化単位とする理由である。
【0248】
当然ながらDVD−Videoと同様に、2013バイト以下で1アクセスユニットを構成するフレームが完結している必要がある。例えば、BaseフレームとLevel1−EXTフレームのサイズが2014バイトであるならば、全体が2013バイトに収まるように再エンコードするか、BaseフレームだけのPESパケットを構成し、Level1−EXTは多重化順序が次のPESパケットに格納するなどとする必要がある。
【0249】
図44は、デマルチプレクサ310(図7)、および、ストリーム読込/供給部(図34)の処理を示すフローチャートである。
【0250】
S801は、SPDIFに対応するために、図36に示すアクセスユニットの一部を抽出して外部に出力するディジタル出力開始ステップである。
【0251】
S802は再生終了判定ステップであり、YESの場合、データの出力を終了し、NOの場合、PESパケットの処理S803へ進む。
【0252】
S803では、PIDによるTSパケットの弁別と、PESパケットのヘッダの解析と、stream_id_extensionの読み出しとを行う。
【0253】
S804では、stream_id_extensionを判定する。そのフィールドの値が、“0x71(非Baseフレーム部)”である場合はS805へ進み、“0x70(Baseフレーム部)”である場合はS806へ進む。
【0254】
S805は、S804で、PESパケットが非Baseフレーム部であると判定された場合に行われるステップであり、S805ではPESパケットを破棄する。
【0255】
S806は、S804で、PESパケットがBaseフレーム部であると判定された場合に行われるステップである。S806では、PESパケットのペイロード(Base+Level1−EXT)を取り出し、図7および図34を用いて説明したとおり、フレームデータをデコーダまたは既存ディジタルI/Fへ出力する。
【0256】
S805およびS806の後に、再生終了判定ステップS802へと戻る。
【0257】
次に、既存のプレーヤやデコーダで復号可能なBase/Level1−EXT(以下、単に“Base”という)と、既存のプレーヤやデコーダでは復号不可能なLevel2−EXT(以下、単に“Level2”という)とを1個のアクセスユニットに多重化する方法を説明する。
【0258】
先ず、図45を用いて、入力時刻管理装置2000と、TS system target decoder model(以下、“デコーダモデル”または“T−STD”という)3000とを説明する。
【0259】
図45に示すように、入力時刻管理装置2000は、リードバッファ(RB)と、de−packetizerと、ATS Counterと、27MHz Clockとを有する。RBは、“xxxx.vob”ファイルを一時的に蓄積する。de−packetizerは、“xxxx.vob”のTSパケットからATSを除去し、最初のTSパケットからATSを除去するとき、最初のTSパケットのATSの値を、ATS Counterにセットする。また、de−packetizerは、ATSの時刻通りに各TSパケットのみをT−STD3000に出力する。27MHz Clockは、27MHzでクロックを出力する。
【0260】
図45に示すように、デコーダモデル3000は、デマルチプレクサと、画像に関するバッファであるTB、MB、およびEBと、デコーダDvと、音データのBaseに関するバッファであるTBa1およびBa1と、デコーダDa1と、音データの「Base+Level2」に関するバッファであるTBa2およびBa2と、デコーダDa2と、システムデータに関するバッファであるTBsysおよびBsysと、デコーダDsysとを有する。
【0261】
画像データは、TB、MB、EB、およびデコーダDvの順に処理される。音データのBaseは、TBa1、Ba1、およびデコーダDa1の順に処理される。音データの「Base+Level2」は、TBa2、Ba2、およびデコーダDa2の順に処理される。システムデータは、TBsys、Bsys、およびデコーダDsysの順に処理される。
【0262】
音データのBaseがデコードされるラインと、音データの「Base+Level2」がデコードされるラインとでは、夫々のストリームの属性に応じてバッファ間のデータの転送レートや、バッファのサイズなどデコーダの仕様が異なる。従って、両方の仕様に対応するように、BaseとLevel2とを多重化しなければならない。Baseのみをデコードする場合、そのデコーダライン(TBa1、Ba1、およびデコーダDa1)で、バッファを破綻させずにBaseのみをデコードすることができなければならない。「Base+Level2」をデコードする場合、そのデコーダライン(TBa2、Ba2、およびデコーダDa2)で、バッファを破綻させずに「Base+Level2」をデコードすることができなければならない。つまり、Baseのデコーダライン(TBa1、Ba1、およびデコーダDa1)でも、「Base+Level2」のデコーダライン(TBa2、Ba2、およびデコーダDa2)でも、バッファを破綻させないように、BaseとLevel2とを1本のストリームとして同一PIDにて多重化しなければならない。
【0263】
図46を用いて、Baseと、「Base+Level2」とをそれぞれのデコーダラインでデコードする際の、TBa1およびTBa2のデータ蓄積量の推移を説明する。
【0264】
TBa1については、n番目のアクセスユニット(Access Unit#n)のBase(Base#n)が、時刻ATS_b#nからビットレート(RTS)で入力して蓄積されると同時にRba1のレートでBa1へと引き抜かれる。Base#nの入力が終了すると、蓄積データ量は一定のビットレート(−Rba1)で減少する。(n+1)番目のアクセスユニット(Access Unit#n+1)のBase(Base#n+1)が、時刻ATS_b#n+1からビットレート(RTS)で入力して蓄積する。図46では、Base#n+1の入力が終了するまでに、TBa1はオーバーフローする。つまり、バッファは破綻する。以降同様の処理が続く。
【0265】
TBa2については、n番目のアクセスユニット(Access Unit#n)のBase(Base#n)が、時刻ATS_b#nからビットレート(RTS)で入力して蓄積されると同時にRba1のレートでBa2へと引き抜かれる。Base#nの入力が終了すると、蓄積データ量は一定のビットレート(−Rba2)で減少する。そして、n番目のアクセスユニットの2個のLevel2(Level2#n)が、入力され蓄積する。入力が無い期間のTBa2の蓄積データ量はビットレート(−Rba2)で減少する。以降同様の処理が続く。図46では、TBa2はオーバーフローしない。つまり、バッファは破綻しない。
【0266】
図46の場合、Base#nのみに対応するデコーダラインは、1個のアクセスユニットが1つのPESパケットに格納されるBaseと、Level1とから構成されているストリームしかデコードすることができず、Level2を含むような高ビットレートのストリームは処理できない。このように低ビットレートしか対応できないTBa1を破綻させないためには、TBa1へのBase#n+1の入力時刻を遅らせる必要がある。つまり、下記の式3が満たされなければならない。
【0267】
TBa1(ATS_b#n+1)+188×(1−Rba1/RTS
≦TBa1のサイズ=512 (式3)
【0268】
式3は、時刻ATS_b#n+1におけるTBa1のデータ蓄積量に、1つのTSパケットを入力する際に増加するバイト量(188×(1−Rba1/RTS))が加算されても、TBa1のサイズを超えないことを意味する。式3を満たす時刻ATS_b#n+1以降に、Base#n+1を多重化するように、ATSを設定し、ストリームにBase#n+1を多重化しなければならない。
【0269】
さらに、Base(1つ目のPESパケット)が格納されるTSパケットの数をNbasとし、Level2(2つ目のPESパケット)が格納されるTSパケットの数をNextとすると、BaseとLevel2とをデコード順に転送するためには、下記の式4が満たされなければならない。
【0270】
[(Nbas+Next)×188×8/RTS]×27000000
≦ ATS_b#(n+1)− ATS_b#n (式4)
【0271】
ここで、ビットレートRba1,RTSの単位は、bits/secondであり、27000000はATSの時刻精度のクロック周波数を意味する。Nbas,Nextの値は、夫々のCodecの最大ビットレートなどの情報から算出することができる。
【0272】
例えば、DTS++の場合、サンプリング周波数が48KHzで、512サンプル/Access Unit(DTS_type1)でCore(Base)が1Mbpsの固定レート、XLL(Level2)が単独で24Mbpsであるとすると、XLLのデータ長=24Mbps×512/48K=32000bytesとなる。これを格納するには、TS/PESヘッダのオーバーヘッドも含めて、174個のTSパケットが必要となる。
【0273】
上記の式3および4が満たされるように、多重化処理は行われなければならず、BaseおよびLevel2を含むTSパケットに適切なATSを付加し、多重化する。これにより、バッファは破綻しない。
【0274】
なお、バッファは、データがオーバーフローする場合だけでなく、アンダーフローする場合にも破綻する。データがアンダーフローしないように、BaseとLevel2とを多重化しなければならない。そのため、データがオーバーフローすることを防止する場合と同様に、バッファのサイズ、バッファへ入力するデータのサイズ、バッファへ入力するデータの速度、および、バッファから出力するデータの速度に基づいて、データがアンダーフローしないように、BaseとLevel2とを多重化する。
【0275】
要するに、各デコーダモデルにおいて、バッファのサイズ、バッファへ入力するデータのサイズ、バッファへ入力するデータの速度、および、バッファから出力するデータの速度を考慮して、各デコーダモデルが破綻しないように、BaseとLevel2とを多重化する。
【産業上の利用可能性】
【0276】
本発明の情報記録媒体は、映像や音声のデータが記録される光ディスク等として有用である。本発明のデータ分別装置は、光ディスク等の本発明の情報記録媒体に記録されているデータから、既存のデコーダまたは、既存のディジタルI/Fに対応する基礎圧縮データを抜き出す装置等として有用である。本発明のデータ再生装置は、光ディスク等の本発明の情報記録媒体から上記基礎圧縮データを抜き出して再生する装置等として有用である。本発明のデータ再生装置は、光ディスク等の本発明の情報記録媒体からのデータに限らず、放送やネットワークを通して供給されるオーディオデータや、ハードディスクや半導体メモリなどの記録メディア上のオーディオデータを再生する再生装置などにも有用である。
【符号の説明】
【0277】
201 BDディスク
202 光ピックアップ
203 プログラム記録メモリ
204 管理情報記録メモリ
205 AV記録メモリ
206 プログラム処理部
207 管理情報処理部
208 プレゼンテーション処理部
209 イメージプレーン
210 ビデオプレーン
211 合成処理部
301 プログラム記録メモリ
302 プログラムプロセッサ
303 UOPマネージャ
304 管理情報記録メモリ
305 シナリオプロセッサ
306 プレゼンテーションコントローラ
307 クロック
308 イメージメモリ
309 トラックバッファ
310 デマルチプレクサ
311 イメージプロセッサ
312 ビデオプロセッサ
313 サウンドプロセッサ
314 イメージプレーン
315 ビデオプレーン
316 合成処理部
317 ドライブコントローラ

【特許請求の範囲】
【請求項1】
複数のアクセスユニットを有する、画像及び音の少なくとも一方を含むストリームが記録される情報記録媒体であって、
前記アクセスユニットは、基本データを含む第1のパケットと、前記基本データと関連する拡張データを含む第2のパケットとを有し、
前記基本データは、前記拡張データを必要とすることなく完全な状態に復号することができるデータであり、前記拡張データは、前記基本データから生成されるデータの質を向上させるためのデータであり、
前記ストリームは、前記第1のパケット及び前記第2のパケットの属性を示す情報を有する
情報記録媒体。
【請求項2】
前記情報は、前記ストリームのdescriptorに記述されている
請求項1記載の情報記録媒体。
【請求項3】
前記アクセスユニットは、音に関するデータであって、
前記属性は、チャンネル、周波数、ビットレート、及び、2チャンネルのダウンミックスデータの存在の有無、の少なくとも一つを特定する
請求項1記載の情報記録媒体。
【請求項4】
各前記アクセスユニットは一定時間のデータである
請求項1記載の情報記録媒体。
【請求項5】
前記情報は、前記ストリームのProgram Map Table(PMT)に記述されている
請求項1記載の情報記録媒体。
【請求項6】
請求項1記載の情報記録媒体に記録されている前記アクセスユニット、及び前記情報を取得する取得手段と、
前記情報を用いて、前記アクセスユニットを再生する再生手段と
を備えるデータ再生装置。
【請求項7】
請求項1記載の情報記録媒体に記録されている前記アクセスユニット、及び前記情報を取得し、
前記情報を用いて、前記アクセスユニットを再生する
データ再生方法。
【請求項8】
請求項1記載の情報記録媒体に記録されている前記アクセスユニット、及び前記情報を取得し、
前記情報を用いて、前記アクセスユニットを再生する
ことをコンピュータに実行させるためのプログラム。
【請求項9】
情報記録媒体への記録方法であって、
複数のアクセスユニットを有する、画像及び音の少なくとも一方を含むストリームを情報記録媒体に記録するステップを含み、
前記記録するステップでは、
前記アクセスユニットが、基本データを含む第1のパケットと、前記基本データと関連する拡張データを含む第2のパケットとを有し、
前記基本データが、前記拡張データを必要とすることなく完全な状態に復号することができるデータであり、前記拡張データが、前記基本データから生成されるデータの質を向上させるためのデータであり、
前記ストリームが、前記第1のパケット及び前記第2のパケットの属性を示す情報を有する
ように、前記ストリームを前記情報記録媒体に記録する記録方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate


【公開番号】特開2010−225264(P2010−225264A)
【公開日】平成22年10月7日(2010.10.7)
【国際特許分類】
【出願番号】特願2010−94418(P2010−94418)
【出願日】平成22年4月15日(2010.4.15)
【分割の表示】特願2006−531816(P2006−531816)の分割
【原出願日】平成17年8月17日(2005.8.17)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】