JP2006087081A - 画像符号化装置、画像復号化装置 - Google Patents
画像符号化装置、画像復号化装置 Download PDFInfo
- Publication number
- JP2006087081A JP2006087081A JP2005230675A JP2005230675A JP2006087081A JP 2006087081 A JP2006087081 A JP 2006087081A JP 2005230675 A JP2005230675 A JP 2005230675A JP 2005230675 A JP2005230675 A JP 2005230675A JP 2006087081 A JP2006087081 A JP 2006087081A
- Authority
- JP
- Japan
- Prior art keywords
- image
- decoding
- still image
- encoded
- stream
- 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.)
- Withdrawn
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】 動画と静止画とが混在する場合に、静止画を動画よりも高画質に符号化および復号化する画像符号化装置および画像復号化方法およびを提供する。
【解決手段】 本発明の画像符号化方法は、静止画および動画像を符号化する画像符号化装置であって、静止画の1ピクチャ当たりの符号量の上限を示す第1の上限と、動画像の1ピクチャ当たりの符号量の上限を示す第2の上限とを決定し、前記第1および第2の上限を満たすように静止画および動画像を符号化し、符号化された静止画と符号化された動画像と多重化することによりストリームを生成し、前記第1および第2の上限を特定する管理情報を生成し、前記ストリームと管理情報とを出力する。
【選択図】 図5
【解決手段】 本発明の画像符号化方法は、静止画および動画像を符号化する画像符号化装置であって、静止画の1ピクチャ当たりの符号量の上限を示す第1の上限と、動画像の1ピクチャ当たりの符号量の上限を示す第2の上限とを決定し、前記第1および第2の上限を満たすように静止画および動画像を符号化し、符号化された静止画と符号化された動画像と多重化することによりストリームを生成し、前記第1および第2の上限を特定する管理情報を生成し、前記ストリームと管理情報とを出力する。
【選択図】 図5
Description
本発明は、画像符号化装置、画像復号化装置等に関し、特に、動画像と静止画とを含むストリームの符号化、復号化に関する。再生時にランダムアクセス性を確保したパッケージメディアに関する。
従来の技術である、DVD−Videoディスク(以下単にDVDと呼ぶ)について説明する。
図1は、DVDの構造を示した図である。図1の下段に示すように、DVDディスク上にはリードインからリードアウトまでの間に論理アドレス空間が設けられ、論理アドレス空間の先頭からファイルシステムのボリューム情報が記録され、続いて映像音声などのアプリケーションデータが記録されている。
ファイルシステムとは、ISO9660やUDF(Universal Disc Format)のことであり、ディスク上のデータをディレクトリまたはファイルと呼ばれる単位で表現する仕組みである。日常使っているPC(パーソナルコンピュータ)の場合でも、FATまたはNTFSと呼ばれるファイルシステムを通すことにより、ディレクトリやファイルという構造でハードディスクに記録されたデータがコンピュータ上で表現され、ユーザビリティを高めている。
DVDの場合、UDFおよびISO9660両方を使用しており(両方を合わせて「UDFブリッジ」と呼ぶ事がある)、UDFまたはISO9660どちらのファイルシステムドライバによってもデータの読み出しができるようになっている。勿論、書き換え型のDVDディスクであるDVD−RAM/R/RWでは、これらファイルシステムを介し、物理的にデータの読み、書き、削除が可能である。
DVD上に記録されたデータは、UDFブリッジを通して、図1左上に示すようなディレクトリまたはファイルとして見ることができる。ルートディレクトリ(図中「ROOT」)の直下に「VIDEO_TS」と呼ばれるディレクトリが置かれ、ここにDVDのアプリケーションデータが記録されている。アプリケーションデータは、複数のファイルとして記録され、主なファイルとして以下のものがある。
VIDEO_TS.IFO ディスク再生制御情報ファイル
VTS_01_0.IFO ビデオタイトルセット#1再生制御情報ファイル
VTS_01_0.VOB ビデオタイトルセット#1ストリームファイル
.....
拡張子として2つの種類が規定されており、「IFO」は再生制御情報が記録されたファイルであって、「VOB」はAVデータであるMPEGストリームが記録されたファイルである。再生制御情報とは、DVDで採用されたインタラクティビティ(ユーザの操作に応じて再生を動的に変化させる技術)を実現するための情報や、メタデータのようなタイトルやAVストリームに付属する情報などのことである。また、DVDでは一般的に再生制御情報のことをナビゲーション情報と呼ぶことがある。
VTS_01_0.IFO ビデオタイトルセット#1再生制御情報ファイル
VTS_01_0.VOB ビデオタイトルセット#1ストリームファイル
.....
拡張子として2つの種類が規定されており、「IFO」は再生制御情報が記録されたファイルであって、「VOB」はAVデータであるMPEGストリームが記録されたファイルである。再生制御情報とは、DVDで採用されたインタラクティビティ(ユーザの操作に応じて再生を動的に変化させる技術)を実現するための情報や、メタデータのようなタイトルやAVストリームに付属する情報などのことである。また、DVDでは一般的に再生制御情報のことをナビゲーション情報と呼ぶことがある。
再生制御情報ファイルは、ディスク全体を管理する「VIDEO_TS.IFO」と、個々のビデオタイトルセット(DVDでは複数のタイトル、言い換えれば異なる映画や異なるバージョンの映画を1枚のディスクに記録することが可能である。)毎の再生制御情報である「VTS_01_0.IFO」がある。ここで、ファイル名ボディにある「01」はビデオタイトルセットの番号を示しており、例えば、ビデオタイトルセット#2の場
合は、「VTS_02_0.IFO」となる。
合は、「VTS_02_0.IFO」となる。
図1の右上部は、DVDのアプリケーション層でのDVDナビゲーション空間であり、前述した再生制御情報が展開された論理構造空間である。「VIDEO_TS.IFO」内の情報は、VMGI(Video Manager Information)として、「VTS_01_0.IFO」または、他のビデオタイトルセット毎に存在する再生制御情報はVTSI(Video Title Set Information)としてDVDナビゲーション空間に展開される。
VTSIの中にはPGC(Program Chain)と呼ばれる再生シーケンスの情報であるPGCI(Program Chain Information)が記述されている。PGCIは、Cellの集合とコマンドと呼ばれる一種のプログラミング情報によって構成されている。Cell自身はVOB(Video Objectの略であり、MPEGストリームを指す)の一部区間または全部区間の集合であり、Cellの再生は、当該VOBのCellによって指定された区間を再生することを意味している。
コマンドは、DVDの仮想マシンによって処理されるものであり、ブラウザ上で実行されるJava(登録商標)スクリプトなどに近いものである。しかしながらJavaスクリプトが論理演算の他にウィンドウやブラウザの制御(例えば、新しいブラウザのウィンドを開くなど)を行うのに対して、DVDのコマンドは、論理演算の他にAVタイトルの再生制御、例えば、再生するチャプタの指定などを実行するだけのものである点で異なっている。
Cellはディスク上に記録されているVOBの開始および終了アドレス(ディスク上での論理記録アドレス)をその内部情報として有しており、プレーヤは、Cellに記述されたVOBの開始および終了アドレス情報を使ってデータの読み出し、再生を実行する。
図2はAVストリーム中に埋め込まれているナビゲーション情報を説明する概略図である。DVDの特長であるインタラクティビティは前述した「VIDEO_TS.IFO」や「VTS_01_0.IFO」などに記録されているナビゲーション情報だけによって実現されているのではなく、幾つかの重要な情報はナビゲーション パック(ナビパックまたは、NV_PCKと称する)と呼ばれる専用キャリアを使いVOB内に映像、音声データと一緒に多重化されている。
ここでは簡単なインタラクティビティの例としてメニューを説明する。メニュー画面上には、幾つかのボタンが現れ、夫々のボタンには当該ボタンが選択実行された時の処理が定義されている。また、メニュー上では一つのボタンが選択されており(ハイライトによって選択ボタン上に半透明色がオーバーレイされており該ボタンが選択状態であることをユーザーに示す)、ユーザは、リモコンの上下左右キーを使って、選択状態のボタンを上下左右の何れかのボタンに移動させることが出来る。リモコンの上下左右キーを使って、選択実行したいボタンまでハイライトを移動させ、決定する(決定キーを押す)ことによって対応するコマンドのプログラムが実行される。一般的には対応するタイトルやチャプタの再生がコマンドによって実行されている。
図2の左上部はNV_PCK内に格納される制御情報の概要を示している。
NV_PCK内には、ハイライトカラー情報と個々のボタン情報などが含まれている。ハイライトカラー情報には、カラーパレット情報が記述され、オーバーレイ表示されるハイライトの半透明色が指定される。ボタン情報には、個々のボタンの位置情報である矩形領域情報と、当該ボタンから他のボタンへの移動情報(ユーザの上下左右キー操作夫々に
対応する移動先ボタンの指定)と、ボタンコマンド情報(当該ボタンが決定された時に実行されるコマンド)が記述されている。
NV_PCK内には、ハイライトカラー情報と個々のボタン情報などが含まれている。ハイライトカラー情報には、カラーパレット情報が記述され、オーバーレイ表示されるハイライトの半透明色が指定される。ボタン情報には、個々のボタンの位置情報である矩形領域情報と、当該ボタンから他のボタンへの移動情報(ユーザの上下左右キー操作夫々に
対応する移動先ボタンの指定)と、ボタンコマンド情報(当該ボタンが決定された時に実行されるコマンド)が記述されている。
メニュー上のハイライトは、図2の中央右上部に示すように、オーバーレイ画像として作られる。オーバーレイ画像は、ボタン情報の矩形領域情報にカラーパレット情報の色をつけた物である。このオーバーレイ画像は図2の右部に示す背景画像と合成されて画面上に表示される。
上述のようにして、DVDではメニューを実現している。また、何故、ナビゲーションデータの一部をNV_PCKを使ってストリーム中に埋め込んでいるのは、ストリームと同期して動的にメニュー情報を更新したり(例えば、映画再生の途中5分〜10分の間にだけメニューが表示されるなど)、同期タイミングが問題となりやすいアプリケーションの場合でも、問題なく実現できるようにしたためである。また、もう一つの大きな理由は、NV_PCKには特殊再生を支援するための情報を格納し、DVD再生時の早送り、巻き戻しなどの非通常再生時にも円滑にAVデータをデコードし再生させる等、ユーザーの操作性を向上させるためである。
図3は、DVDのストリームであるVOBのイメージである。図に示すように、映像、音声、字幕などのデータ(A段)は、MPEGシステム規格(ISO/IEC13818−1)に基づいて、パケットおよびパック化し(B段)、夫々を多重化して1本のMPEGプログラムストリームにしている(C段)。また、前述した通りインタラクティブを実現するためのボタンコマンドを含んだNV_PCKも一緒に多重化をされている。
MPEGシステムの多重化の特徴は、多重化する個々のデータは、そのデコード順に基づくビット列になっているが、多重化されるデータ間、即ち、映像、音声、字幕の間は必ずしも再生順に基づいてビット列が形成されている訳ではない。これは多重化したMPEGシステムストリームのデコーダモデル(一般にSystem Target Decoder、またはSTDと呼ばれる(図3のD段))が多重化を解いた後に個々のエレメンタリーストリームに対応するデコーダバッファを持ち、デコードタイミングまでに一時的にデータを蓄積している事に由来している。例えばDVD−Videoで規定されるデコーダバッファは、個々のエレメンタリーストリーム毎にサイズが異なり、映像に対しては、232KB、音声に対しては4KB、字幕に対しては52KBを夫々有している。
即ち、映像データと並んで多重化されている字幕データが必ずしも同一タイミングでデコードもしくは再生されているわけでは無い。
一方、次世代DVD規格としてBD(Blu−ray Disc)がある。
DVDでは、標準画質(Standard Definition画質)の映像に対する、パッケージ配信(DVD−Video規格)やアナログ放送の記録(DVD Video Recording規格)を目的としてきたが、BDでは、高精度画質(High
Definition画質)のデジタル放送をそのまま記録する(Blu−ray Disc Rewritable規格、以下BD−RE)ことができる。
DVDでは、標準画質(Standard Definition画質)の映像に対する、パッケージ配信(DVD−Video規格)やアナログ放送の記録(DVD Video Recording規格)を目的としてきたが、BDでは、高精度画質(High
Definition画質)のデジタル放送をそのまま記録する(Blu−ray Disc Rewritable規格、以下BD−RE)ことができる。
しかしながら、BD−RE規格は広くデジタル放送の記録を目的としているため、特殊再生の支援情報などが最適化されていない。将来的に、高精度映像をデジタル放送よりも高レートでパッケージ配信させることを考えると(BD−ROM規格)、非通常再生時でもユーザにストレスを与えない仕組みが必要となってくる。
BD−REの特殊再生支援情報(タイムマップ)に関しては、特許文献1に公開されている。
特開2000−228656号公報
従来の情報記録媒体では、動画と静止画において、1ピクチャ当りの符号量の上限値が同一であったため、静止画を高画質に符号化できないという課題がある。
たとえば、MPEG−4 AVCではピクチャの符号量の最大値が規定されている。BDなどのアプリケーション規格では、MPEG−4 AVCにおける規定値、あるいはアプリケーションにおいて独自に設定した値をピクチャの符号量の上限値としている。上限値は、MPEG−4 AVC規格において規定された、MinCR(Minimum Compression Ratio)と呼ばれるパラメータにより制限できる。MinCRとは、原画に対する符号化ピクチャの圧縮率の下限を示すパラメータである。例えば、MinCRが2であれば、符号化ピクチャの符号量は、原画のデータサイズの2分の1以下であることを示す。
従来の情報記録媒体では、動画アプリケーションと静止画アプリケーションにおいて、MinCRとして同一の値を使用していた。動画においては、符号化データを復号する際
の処理量が大きくなることから、特に、1ピクチャを復号する際の演算量が規格で定められた上限値となるようなワーストケースにおいても動作を保証できるように、MinCRが決定される。一方、静止画では、動画に比べて表示間隔が長いことから、復号時の処理量よりも、むしろ画質が重要となる。しかしながら、静止画を高画質に符号化すると符号量が増加するため、静止画と動画でMinCRが同一である従来の情報記録媒体では、特にイントラ符号化時に、ピクチャに対して十分なビットを割り当てられないという課題があった。
の処理量が大きくなることから、特に、1ピクチャを復号する際の演算量が規格で定められた上限値となるようなワーストケースにおいても動作を保証できるように、MinCRが決定される。一方、静止画では、動画に比べて表示間隔が長いことから、復号時の処理量よりも、むしろ画質が重要となる。しかしながら、静止画を高画質に符号化すると符号量が増加するため、静止画と動画でMinCRが同一である従来の情報記録媒体では、特にイントラ符号化時に、ピクチャに対して十分なビットを割り当てられないという課題があった。
本発明は、動画と静止画とが混在する場合に、静止画を動画よりも高画質に符号化および復号化する画像符号化装置および画像復号化装置を提供することを目的とする。
上記目的を達成するため、本発明の画像符号化装置は、静止画および動画像を符号化する画像符号化装置であって、静止画の1ピクチャ当たりの符号量の上限を示す第1の上限と、動画像の1ピクチャ当たりの符号量の上限を示す第2の上限とを決定する決定手段と、
前記第1および第2の上限を満たすように静止画および動画像を符号化する符号化手段と、符号化された静止画と符号化された動画像とを多重化することによりストリームを生成する多重化手段と、前記第1および第2の上限を特定する管理情報を生成する生成手段と、前記ストリームと管理情報とを出力する出力手段とを備える。ここで、前記第1の上限は、第2の上限よりも大きくしてもよい。
前記第1および第2の上限を満たすように静止画および動画像を符号化する符号化手段と、符号化された静止画と符号化された動画像とを多重化することによりストリームを生成する多重化手段と、前記第1および第2の上限を特定する管理情報を生成する生成手段と、前記ストリームと管理情報とを出力する出力手段とを備える。ここで、前記第1の上限は、第2の上限よりも大きくしてもよい。
この構成によれば、静止画の符号量の上限(第1の上限)を動画像の符号量の上限(第2の上限)よりも大きくすることができる。これにより、動画と静止画とが混在する場合に、再生装置において動画像のデコード処理量を抑えつつ、静止画を動画像よりも高画質に符号化することができる。
ここで、前記管理情報は、前記ストリームの所定単位毎に対応するフラグを含み、前記フラグは、対応する所定単位が動画像であるか静止画であるかを示すようにしてもよい。
この構成によれば、ピクチャ当たりの符号量が第1の上限であるか第2の上限であるかをストリーム中の所定単位毎に決定することができる。さらに、画像符号化装置と画像復号化装置との間で第1および第2の上限をそれぞれ固定的に定めておけば、前記管理情報は、第1および第2の上限を必ずしも明示的に表す必要がなく、単に、所定単位のそれぞれが動画像であるか静止画あるかを示すだけで足りる。これにより、管理情報のデータ量をより低減することができる。
ここで、前記第1および第2の上限は、1ピクチャ当たりの符号量が原画のデータ量に対してどれだけ圧縮されているか示すようにしてもよい。
ここで、前記符号化された静止画は、静止画の復号時に参照される初期化情報を格納する第1の単位と、前記静止画の画素データを格納する第2の単位とを含み、前記第1の単位は、前記静止画を繰り返し表示する際のフレームレートを示す情報と、前記フレームレートを示す情報が前記第1の単位に存在するかどうかを示す識別フラグとを含むことができ、前記第1の単位が前記静止画のデータ内に存在する場合には、前記識別フラグがセットされているようにしてもよい。
この構成によれば、静止画の表示時刻および表示時間をフレームレートを基準に設定することができる。
ここで、前記管理情報は、前記ストリーム内の全ての静止画のアドレスに関する情報を有するようにしてもよい。
本発明の画像復号化装置は、符号化された動画像および符号化された静止画を含むストリームを取得する取得手段と、前記ストリームから符号化された静止画と符号化された動画像と分離する分離手段と、分離後の符号化された動画像および符号化された静止画を復号する復号化手段とを備え、前記復号化手段は、符号化された静止画のデコードタイムスタンプからプレゼンテーションタイムスタンプまでのデコード期間にマージンを付与し、付与後のデコード期間に従って符号化された静止画のデコードまたは出力を開始する。
この構成によれば、静止画1ピクチャ当たりの符号量が動画1ピクチャ当たりの符号量よりも多い場合に、動画よりも高画質の静止画を容易にかつ確実に復号化することができる。例えば、画像サイズが大きい静止画の復号時や、携帯電話など処理能力の小さい復号化装置であっても高画質の静止画を復号化することができる。
ここで、画像復号化手段は、符号化された静止画に含まれるデコードタイムスタンプの時刻にデコードを開始し、前記プレゼンテーションタイムスタンプの時刻までに静止画のデコードが完了しなかった場合に、前記プレゼンテーションタイムスタンプにマージンを付与し、付与後のプレゼンテーションタイムスタンプに復号化された静止画を出力するようにしてもよい。
この構成によれば、静止画のデコードが遅延した場合にのみ実際の出力時刻を遅くするので、静止画の符号量や復号時の処理量に応じて出力時刻を動的に柔軟に変更することができる。
ここで、画像復号化手段は、前記デコードタイムスタンプにマージンを付与し、付与後のデコードタイムスタンプの時刻に静止画のデコードを開始するようにしてもよい。
この構成によれば、デコード開始時刻をデコードタイムスタンプの時刻よりも早くするので、静止画の出力遅延を発生させないで、プレゼンテーションタイムスタンプの時刻に適合した再生をすることができる。
ここで、前記符号化された静止画は、静止画の復号時に参照される初期化情報を格納する第1の単位と、前記静止画の画素データを格納する第2の単位とを含み、前記第1の単位は、前記静止画を繰り返し表示する際のフレームレートを示す情報と、前記フレームレートを示す情報が前記第1の単位に存在するかどうかを示す識別フラグとを含むことができ、前記第1の単位が前記静止画のデータ内に存在する際には、前記識別フラグは必ずセットされ、前記復号化手段は、復号化が完了した静止画のプレゼンテーションタイムスタンプから、復号順が次の静止画のプレゼンテーションタイムスタンプまでの間、前記フレームレートに従って前記復号化が完了した静止画を出力するようにしてもよい。
また、本発明の画像符号化方法、画像復号化方法、半導体装置、符号列についても上記と同様の構成であるので、省略する。
以上のように、本発明の画像符号化装置、画像復号化装置等によれば、動画に比べて、静止画における1ピクチャ当りの符号量の上限値を大きく設定することにより、再生装置において動画再生時の処理量を抑えつつ、静止画再生時には高画質な静止画を再生できるという効果が得られ、その実用的価値が高い。
前半
以下、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
の後半
本実施の形態では、BD‐ROMなどのパッケージメディアなどにおいて、動画再生時の処理量を抑えつつ、静止画を高画質に符号化できる情報記録媒体、およびその再生装置について説明する。
以下、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
の後半
本実施の形態では、BD‐ROMなどのパッケージメディアなどにおいて、動画再生時の処理量を抑えつつ、静止画を高画質に符号化できる情報記録媒体、およびその再生装置について説明する。
本実施の形態における情報記録媒体では、動画と静止画のそれぞれに異なるMinCRを適用することにより、動画については復号時の処理量を鑑みてMinCR値を大きくし、静止画については、高画質に符号化するために十分なピクチャサイズを保証できるように、動画よりもMinCR値を小さくする。
図4は、本実施の形態の情報記録媒体のデータ構造例を示す。BD管理情報におけるストリーム管理情報には、ClipInfoと呼ばれるデータ・オブジェクトにおいてクリップの属性情報が示される。なお、クリップとは、AVデータのファイルを指し、例えば、MPEG−4 AVCの静止画ストリームを格納した1つのファイルが、1クリップとなる。動画と静止画とで異なるMinCRが適用されていることを示すには、クリップ毎のMinCR値を示す情報が必要となる。従って、ClipInfoには、参照するクリップにおいて適用されるMinCR値を示す情報が付加される。ここでは、静止画のクリップと動画のクリップに対して適用されるMinCR値が予め定められているものとして、参照するクリップが動画であるか静止画であるかを示すフラグ情報を格納することにより、クリップに適用されるMinCR値を示すことにする。図4の例では、ディスク内に少なくとも静止画と動画のクリップが格納されており、それぞれClipInfo #1とClipInfo #2から参照される。ここで、ClipInfo #1にはクリップが静止画であることを示すフラグ情報、ClipInfo #2にはクリップが動画であることを示すフラグ情報が格納される。このフラグ情報を参照することにより、クリップを構成するピクチャにおけるMinCR値を取得することができる。図4の例では、静止画のクリップにおけるMinCRを2、動画のクリップにおけるMinCRを4とすることにより、静止画の高画質化と動画復号時の処理量の抑制を両立している。なお、ここでのMinCR値は一例であり、この他の組み合わせを使用してもよく、再生装置の処理量に余裕があるアプリケーションにおいては、静止画と動画のMinCR値を同一にしてもよい。また、予め、静止画用と動画用のMinCR値の組み合わせを複数定めておき、特定の組み合わせを示すパラメータを導入することによりMinCR値を示してもよい。また、クリップは、MPEG−2システムのトランスポートストリームやプログラムストリームAVデータをパケット化したストリームであってもよい。
なお、ClipInfoには、application_typeと呼ばれる、クリップを再生するアプリケーションのタイプを示すフィールドが存在する。本フィールドでは、アプリケーションが動画、静止画のどちらであるか、また、静止画である場合にはタイム・ベース、ブラウザブルのどちらであるかを示すことができる。ここで、タイム・ベースとは、予め定められた間隔で静止画を表示するものであり、ブラウザブルとは、ユーザが静止画の表示タイミングを決定できるアプリケーションである。従って、application_typeのフィールド値が、タイム・ベース、あるいはブラウザブルの静止画アプリケーションを指す際には、静止画用のMinCR値が適用され、動画アプリケーションを指す際には、動画用のMinCR値が適用されるとしてもよい。
なお、MinCR値は、動画と静止画で切り替える以外にも、異なる動画のクリップ間でも切り替えることができる。例えば、主映像と副映像が含まれる際には、主映像についてはMinCR値を小さく設定して高画質に符号化し、副映像については処理量を考慮してMinCR値を大きく設定することができる。このときは、MinCR値を示す情報と
しては、静止画であるか動画であるかを示すフラグ情報ではなく、クリップ毎のMinCR値を示す情報を使用する。
しては、静止画であるか動画であるかを示すフラグ情報ではなく、クリップ毎のMinCR値を示す情報を使用する。
なお、動画あるいは静止画の符号量の上限を示すパラメータはMinCRに制限されるものではなく、符号量の上限値をデータサイズとして直接示すなど、他のパラメータであってもよい。
なお、クリップにおけるピクチャの符号量の上限値を示す情報は、ClipInfo以外のBD管理情報に格納してもよいし、符号化データ内に格納してもよい。符号化データに格納する際には、GOP(Group Of Picture)などのランダムアクセス単位毎に格納でき、例えば、MPEG−4 AVCでは、ユーザデータを格納するためのデータ単位を使用することができる。なお、ユーザデータ格納用のデータ単位としては、特定のタイプをもつNAL(Network Abstraction Layer)ユニット、あるいは、ユーザデータ格納用のSEI(Supplemental Enhancement Information)メッセージなどがある。また、ピクチャの符号量の上限値は、ランダムアクセス単位など、クリップとは異なる単位で切り替え可能としてもよい。
また、データ再生装置によっては、動画を復号する際に、1ピクチャの符号化データを復号にかかる時間が予め定められた時間、あるいは、ピクチャの表示時刻に間に合わないと判定されると、当該ピクチャの復号をスキップして次ピクチャの復号を開始することがある。あるいは、動画の復号時にはワーストケースにも対応できる場合でも、本実施の形態の情報記録媒体における静止画を再生する際には、静止画の符号量の上限が動画よりも大きくなり、符号量が大きくなると復号に要する時間も増加するため、結果として静止画の復号がスキップされることがある。ここで、一般的に、静止画の表示間隔は動画に比べて長いために、予め設定された表示開始時刻までに復号が完了していなくても、復号完了後に表示すれば再生品質の低下は軽微である。従って、静止画の復号時は、予め設定された表示開始時刻までに復号が完了しない場合にも、復号をスキップせずに、復号完了後に表示すればよい。
なお、上記においてはBDについて説明したが、静止画と動画を格納することのできる情報記録媒体であれば、同様の方法を用いることができる。また、符号化方式もMPEG−4 AVCに限定されるものではなく、MPEG−2 VideoやSMPTE(Society of Motion Picture Television Engineers)において標準化中であるVC1など他の符号化方式にも適用できる。
図5は、本実施の形態における情報記録媒体に格納されたデータを作成するための多重化方法を示すフローチャートである。本実施の形態の多重化方法は、クリップの種類に応じてMinCR値を切り替えるステップ(ステップS2001、ステップS2002、およびステップS2003)、および、MinCR値を特定するためのフラグ情報を生成して管理情報に含めるステップ(ステップS2004とステップS2005)とを備える点において、従来の多重化方法と異なる。
まず、ステップS2001において、生成するクリップが動画であるか静止画であるか判定する。クリップが静止画である際には、ステップS2002に進み、予め定められた静止画クリップ用のMinCR値を設定し、クリップが動画である際には、ステップS2003進み、予め定められた動画クリップ用のMinCR値を設定する。次に、ステップS1001において、ステップS2002、あるいはステップS2003において設定されたMinCR値を満たすように、クリップを構成するピクチャを符号化し、ステップS1002に進む。ステップS1002では、ステップS1001において符号化されたデータをシステム多重化する。BDでは、システム多重化の方式としてMPEG−2のトランスポートストリームを用いる。次に、ステップS2004では、クリップを構成するピクチャに適用されるMinCR値を特定するためのフラグ情報を生成し、ステップS2005において、ステップS2004において生成したフラグ情報を含んだ管理情報を生成する。最後に、ステップS1003において、管理情報と、システム多重化された符号化データとを結合して出力する。ここで、結合時には、管理情報とシステム多重化された符号化データとを別ファイルとして格納してもよいし、一つのファイルにまとめてもよい。また、別ファイルとして格納する際には、同一ディレクトリに格納することにしてもよい。なお、ステップS2001における静止画用のMinCR値の設定は、ストリームのビットレート、レベル、プロファイルなどに基づいて定めればよい。ここで、レベルとはビットレートやフレームレート、あるいは画像サイズなどの符号化パラメータの上限値を示すパラメータであり、プロファイルとは符号化時に使用できるツールの組み合わせを規定するパラメータである。例えば、ストリームのビットレートが比較的低い場合は、minCRを小さく(符号量の上限を大きく)しても動画のフレームレート内で復号化を完了できるため、静止画と動画で同一のminCRを用いればよい。逆に、ビットレートが比較的高い場合は、静止画のminCRを動画よりも小さく(符号量の上限を大きく)することにより、静止画を高画質化するができる。また、MinCR値を特定するための情報としては、ピクチャの符号量の最大値を直接格納するなど、フラグ情報以外であってもよい。さらに、複数のクリップを扱う場合には、ステップS2001からステップS2005までの処理を繰り返し、全クリップのシステム多重化と管理情報の生成が終了してからステップS1003において統合して出力してもよい。
さらに、静止画は動画とは異なり、各画像をある程度時間をかけて鑑賞できることが望ましいため、表示間隔が所定の値以上となるようにしてもよい。このとき、ステップS1001では、復号順で連続する静止画の表示時刻が所定の値以上となるように符号化してもよい。なお、復号時刻および表示時刻の設定はステップS1002で行うことから、ステップS1002において復号順で連続する静止画の表示時刻が所定の値以上となるように設定するのみとしてもよい。このとき、ステップS1001においては、入力画像を符号化する際に表示時刻の間隔を考慮しなくてもよい。
なお、音声、グラフィックスなどのデータについても、動画あるいは静止画とともに多重化することができるが、ここでは説明を省略する。
図6は、本実施の形態の多重化方法を実現する多重化装置2000の構成を示すブロック図である。多重化装置2000は、MinCR決定部2001、MinCR情報生成部2002、符号化部1001、システム多重化部1002、管理情報作成部2003、結合部1003を備え、MinCR決定部2001、MinCR情報生成部2002を備える点、および、管理情報作成部2003においてMinCR値を特定するためのフラグ情報を含む管理情報を生成する点において、従来の多重化装置と異なる。
以下に、各部の動作について説明する。MinCR決定部は、クリップが動画であるか静止画であるかを示すクリップ属性ClipCharに基づいて、クリップを構成するピクチャに適用するMinCR値を決定し、決定したMinCR値crを符号化部1001とMinCR情報生成部2002に入力する。符号化部1001は、MinCR決定部により決定されたMinCR値crに基づいて、入力の動画像あるいは画像データVinを符号化し、符号化データCdataをシステム多重化部1002に入力する。システム多重化部1002は、符号化データCdataをシステム多重化して多重化データMdataを結合部1003に入力する。一方、MinCR情報作成部は、MinCR値crに基づいて、クリップを構成するピクチャに適用されたMinCR値を特定するためのフラグ情報であるMinCR情報crInfを生成し、管理情報作成部2003に入力する。管理情報生成部は、タイムマップなど、多重化データMdataについての管理情報を生成するためのストリーム情報StrInfをシステム多重化部1002から取得して、MinCR情報crInfを含む管理情報CtrInfを生成し、結合部1003に出力する。結合部1003は、管理情報CtrInfと多重化データMdataとを結合して記録データDoutとして出力する。なお、ストリーム情報StrInfは、符号化部1001から管理情報作成部2003に入力してもよい。
の前半
なお、オーサリングツールなどでデータを作成する際には、符号化データの生成と、システム多重化あるいは管理情報の作成を別々の装置で行うことがあるが、そのような場合でも、各装置の動作は多重化装置2000における各部と同一にすればよい。
の前半
なお、オーサリングツールなどでデータを作成する際には、符号化データの生成と、システム多重化あるいは管理情報の作成を別々の装置で行うことがあるが、そのような場合でも、各装置の動作は多重化装置2000における各部と同一にすればよい。
次に再生方法について説明する。動画ピクチャに比べて静止画の符号量が多い場合には、再生装置の処理能力にも依存するが、DTS(Decoding Time Stamp:復号時刻)からPTS(Presentation Time Stamp:表示時刻)までのデコード期間内に静止画のデコードが間に合わないケースが起こり得る。このようなケースでも正常に静止画を再生出力するために、本実施の形態では、以下に示す第1または第2の再生方法により静止画を再生する。
図7Aは、静止画ストリームの第1の再生方法を示す説明図である。同図において、DTS1は、静止画pic1の符号を載せたパケット(PESパケットと呼ばれる)ヘッダに含まれるデコードタイムスタンプの時刻を指し、静止画pic1のデコードを開始すべき時刻を示す。PTS1は、静止画pic1の符号を載せたパケットヘッダに含まれるプレゼンテーションタイムスタンプの時刻を指し、静止画pic1のプレゼンテーション(出力または表示)を開始すべき時刻を示す。DTS2、DTS3、PTS2、PTS3についても同様である。
同図の静止画pic2は、DTS2の時刻にデコードを開始し、デコード完了時刻がPTS2の時刻の後であった場合を示している。第1の再生方法では、静止画のデコード完了時刻がPTSの時刻に間に合わなかった場合に、デコード完了時刻の直後のフレームグリッドの時刻においてプレゼンテーションを開始するようにしている。
このように第1の再生方法では、符号化された静止画に含まれるデコードタイムスタンプの時刻にデコードを開始し、前記プレゼンテーションタイムスタンプの時刻までに静止画のデコードが完了しない場合に、前記プレゼンテーションタイムスタンプにマージンを付与し、付与後のプレゼンテーションタイムスタンプに復号化された静止画を出力するようにしている。
図7Bは、静止画ストリームの第2の再生方法を示す説明図である。第2の再生方法は、DTSにマージンを付与し、マージンを付与した時刻に静止画のデコードを開始し、PTSの時刻に出力するようにしている。
図8は、静止画ストリームの第1の再生方法を示すフローチャートである。同図のように、第1の再生方法では、静止画ピクチャ(pic_N)のDTS時刻においてpic_Nのデコードを開始し(S3001)、静止画ピクチャ(pic_N)のPTS(PTS_N)時刻においてその復号を完了したかを判定し(S3002)、完了した場合にはPTS(PTS_N)時刻に復号された静止画ピクチャ(pic_N)を出力し(S3003)、完了しなかった場合には復号完了の直後のフレームグリッドの時刻に復号された静止画ピクチャ(pic_N)を出力する(S3004)。
このように第1の再生方法によれば、静止画のデコードが遅延した場合にのみ実際の出力時刻を遅くするので、静止画の符号量に応じて出力時刻を動的に柔軟に変更することができる。
図9は、静止画ストリームの第2の再生方法をフローチャートである。同図のように、第2の再生方法では、静止画ストリームであるか否かを判定し(S4001)、静止画ストリームである場合にはピクチャ(pic_N)のDTS時刻よりも、所定時間Tだけ早い時刻にpic_Nのデコードを開始し(S4002)、静止画ストリームでない場合(動画ストリームである場合)にはDTS時刻において復号を開始する(43003)。ここで所定時間Tは、DTSに付与されるマージンであり、マージンが付与されたDTSからPTSまでの時間が最大符号量の静止画のデコードに要する時間よりも小さくならないように定められる。
この第2の再生方法によれば、デコード開始時刻をDTS時刻よりも早くするので、静止画の出力遅延を発生させないで、PTS時刻に適合した再生をすることができる。
なお、図9では全ての静止画に対してデコード開始時刻を早くするが、静止画の符号量がしきい値を超える場合にのみデコード開始時刻を早くするようにしてもよい。例えば、図7Bのpic1、pic3の符号量がしきい値以下であり、pic2の符号量がしきい値を超えている場合には、pic1、pic3のデコード開始時刻はDTS1、DTS3時刻となる。pic2のデコード開始時刻は(DTS2−T)となる。また、画像サイズやビットレート、あるいはレベルなどのパラメータが所定の値を超える場合にのみステップS4002の処理を行ってもよい。
また、図8、図9に示した第1、第2の再生方法は、後述する図12のプレゼンテーション管理部208、図13および図17のビデオプロセッサ、あるいは図13の合成処理部により実行され、図33のS404に含まれる。
後半
(ディスク上の論理データ構造)
図10は、BD−ROMの構成、特にディスク媒体であるBDディスク(104)と、ディスクに記録されているデータ(101、102、103)の構成を示す図である。BDディスク(104)に記録されるデータは、AVデータ(103)と、AVデータに関する管理情報およびAV再生シーケンスなどのBD管理情報(102)と、インタラクティブを実現するBD再生プログラム(101)である。本実施の形態では、説明の都合上、映画のAVコンテンツを再生するためのAVアプリケーションを主眼においてのBDディスクの説明を行うが、他の用途として用いても勿論同様である。
後半
(ディスク上の論理データ構造)
図10は、BD−ROMの構成、特にディスク媒体であるBDディスク(104)と、ディスクに記録されているデータ(101、102、103)の構成を示す図である。BDディスク(104)に記録されるデータは、AVデータ(103)と、AVデータに関する管理情報およびAV再生シーケンスなどのBD管理情報(102)と、インタラクティブを実現するBD再生プログラム(101)である。本実施の形態では、説明の都合上、映画のAVコンテンツを再生するためのAVアプリケーションを主眼においてのBDディスクの説明を行うが、他の用途として用いても勿論同様である。
図11は、上述したBDディスクに記録されている論理データのディレクトリ・ファイル構成を示した図である。BDディスクは、他の光ディスク、例えばDVDやCDなどと同様にその内周から外周に向けてらせん状に記録領域を持ち、内周のリード・インと外周のリード・アウトの間に論理データを記録できる論理アドレス空間を有している。また、リード・インの内側にはBCA(Burst Cutting Area)と呼ばれるドライブでしか読み出せない特別な領域がある。この領域はアプリケーションから読み出せないため、例えば著作権保護技術などに利用されることがある。
論理アドレス空間には、ファイルシステム情報(ボリューム)を先頭に映像データなどのアプリケーションデータが記録されている。ファイルシステムとは従来技術で説明した通り、UDFやISO9660などのことであり、通常のPCと同じように記録されている論理データをディレクトリ、ファイル構造を使って読み出しする事が可能になっている。
本実施例の場合、BDディスク上のディレクトリ、ファイル構造は、ルートディレクトリ(ROOT)直下にBDVIDEOディレクトリが置かれている。このディレクトリはBDで扱うAVコンテンツや管理情報などのデータ(図10で説明した101、102、103)が格納されているディレクトリである。
BDVIDEOディレクトリの下には、次の7種類のファイルが記録されている。
BD.INFO(ファイル名固定)
「BD管理情報」の一つであり、BDディスク全体に関する情報を記録したファイルである。BDプレーヤは最初にこのファイルを読み出す。
BD.INFO(ファイル名固定)
「BD管理情報」の一つであり、BDディスク全体に関する情報を記録したファイルである。BDプレーヤは最初にこのファイルを読み出す。
BD.PROG(ファイル名固定)
「BD再生プログラム」の一つであり、BDディスク全体に関わる再生制御情報を記録したファイルである。
「BD再生プログラム」の一つであり、BDディスク全体に関わる再生制御情報を記録したファイルである。
XXX.PL(「XXX」は可変、拡張子「PL」は固定)
「BD管理情報」の一つであり、シナリオ(再生シーケンス)であるプレイリスト情報を記録したファイルである。プレイリスト毎に1つのファイルを持っている。
「BD管理情報」の一つであり、シナリオ(再生シーケンス)であるプレイリスト情報を記録したファイルである。プレイリスト毎に1つのファイルを持っている。
XXX.PROG(「XXX」は可変、拡張子「PL」は固定)
「BD再生プログラム」の一つであり、前述したプレイリスト毎の再生制御情報を記録したファイルである。プレイリストとの対応はファイルボディ名(「XXX」が一致する)によって識別される。
「BD再生プログラム」の一つであり、前述したプレイリスト毎の再生制御情報を記録したファイルである。プレイリストとの対応はファイルボディ名(「XXX」が一致する)によって識別される。
YYY.VOB(「YYY」は可変、拡張子「VOB」は固定)
「AVデータ」の一つであり、VOB(従来例で説明したVOBと同じ)を記録したファイルである。VOB毎に1つのファイルを持っている。
「AVデータ」の一つであり、VOB(従来例で説明したVOBと同じ)を記録したファイルである。VOB毎に1つのファイルを持っている。
YYY.VOBI(「YYY」は可変、拡張子「VOBI」は固定)
「BD管理情報」の一つであり、AVデータであるVOBに関わるストリーム管理情報を記録したファイルである。VOBとの対応はファイルボディ名(「YYY」が一致する)によって識別される。
「BD管理情報」の一つであり、AVデータであるVOBに関わるストリーム管理情報を記録したファイルである。VOBとの対応はファイルボディ名(「YYY」が一致する)によって識別される。
ZZZ.PNG(「ZZZ」は可変、拡張子「PNG」は固定)
「AVデータ」の一つであり、字幕およびメニューを構成するためのイメージデータPNG(W3Cによって標準化された画像フォーマットであり「ピング」と読む)を記録したファイルである。1つのPNGイメージ毎に1つのファイルを持つ。
(プレーヤの構成)
次に、前述したBDディスクを再生するプレーヤの構成について図12および図13を用いて説明する。
「AVデータ」の一つであり、字幕およびメニューを構成するためのイメージデータPNG(W3Cによって標準化された画像フォーマットであり「ピング」と読む)を記録したファイルである。1つのPNGイメージ毎に1つのファイルを持つ。
(プレーヤの構成)
次に、前述したBDディスクを再生するプレーヤの構成について図12および図13を用いて説明する。
図12は、プレーヤの大まかな機能構成を示すブロック図である。
BDディスク(201)上のデータは、光ピックアップ(202)を通して読み出される。読み出されたデータは夫々のデータの種類に応じて専用のメモリに転送される。BD再生プログラム(「BD.PROG」または「XXX.PROG」ファイルの中身)はプログラム記録メモリ(203)に、BD管理情報(「BD.INFO」、「XXX.PL」または「YYY.VOBI」)は管理情報記録メモリ(204)に、AVデータ(「YYY.VOB」または「ZZZ.PNG」)はAV記録メモリ(205)に夫々転送される。
BDディスク(201)上のデータは、光ピックアップ(202)を通して読み出される。読み出されたデータは夫々のデータの種類に応じて専用のメモリに転送される。BD再生プログラム(「BD.PROG」または「XXX.PROG」ファイルの中身)はプログラム記録メモリ(203)に、BD管理情報(「BD.INFO」、「XXX.PL」または「YYY.VOBI」)は管理情報記録メモリ(204)に、AVデータ(「YYY.VOB」または「ZZZ.PNG」)はAV記録メモリ(205)に夫々転送される。
プログラム記録メモリ(203)に記録されたBD再生プログラムはプログラム処理部(206)によって、管理情報記録メモリ(204)に記録されたBD管理情報は管理情報処理部(207)によって、また、AV記録メモリ(205)に記録されたAVデータはプレゼンテーション処理部(208)によって夫々処理される。
プログラム処理部(206)は、管理情報処理部(207)より再生するプレイリストの情報やプログラムの実行タイミングなどのイベント情報を受け取りプログラムの処理を行う。また、プログラムでは再生するプレイリストを動的に変える事が可能であり、この場合は管理情報処理部(207)に対してプレイリストの再生命令を送ることで実現する。プログラム処理部(206)は、ユーザからのイベント、即ちリモコンキーからのリクエストを受け、ユーザイベントに対応するプログラムがある場合は、それを実行する。
管理情報処理部(207)は、プログラム処理部(206)の指示を受け、対応するプレイリストおよびプレイリストに対応したVOBの管理情報を解析し、プレゼンテーション処理部(208)に対象となるAVデータの再生を指示する。また、管理情報処理部(207)は、プレゼンテーション処理部(208)より基準時刻情報を受け取り、時刻情報に基づいてプレゼンテーション処理部(208)にAVデータ再生の停止指示を行い、また、プログラム処理部(206)に対してプログラム実行タイミングを示すイベントを生成する。
プレゼンテーション処理部(208)は、映像、音声、字幕/イメージ(静止画)の夫々に対応するデコーダを持ち、管理情報処理部(207)からの指示に従い、AVデータのデコードおよび出力を行う。映像データ、字幕/イメージの場合は、デコード後に夫々の専用プレーン、ビデオプレーン(210)およびイメージプレーン(209)に描画され、合成処理部(211)によって映像の合成処理が行われTVなどの表示デバイスへ出力される。
このように図12に示すように、BDプレーヤは図10で示したBDディスクに記録されているデータ構成に基づいた機器構成をとっている。
図13は前述したプレーヤ構成を詳細化したブロック図である。図13では、AV記録メモリ(205)はイメージメモリ(308)とトラックバッファ(309)に、プログラム処理部(206)はプログラムプロセッサ(302)とUOPマネージャ(303)に、管理情報処理部(207)はシナリオプロセッサ(305)とプレゼンテーションコントローラ(306)に、プレゼンテーション処理部(208)はクロック(307)、デマルチプレクサ(310)、イメージプロセッサ(311)、ビデオプロセッサ(312)とサウンドプロセッサ(313)に夫々対応/展開している。
BDディスク(201)から読み出されたVOBデータ(MPEGストリーム)はトラックバッファ(309)に、イメージデータ(PNG)はイメージメモリ(308)に夫々記録される。デマルチプレクサ(310)がクロック(307)の時刻に基づき、トラックバッファ(309)に記録されたVOBデータを抜き出し、映像データをビデオプロセッサ(312)に音声データをサウンドプロセッサ(313)に夫々送り込む。ビデオプロセッサ(312)およびサウンドプロセッサ(313)は夫々MPEGシステム規格で定める通りに、デコーダバッファとデコーダから夫々構成されている。即ち、デマルチプレクサ(310)から送りこまれる映像、音声夫々のデータは、夫々のデコーダバッファに一時的に記録され、クロック(307)に従い個々のデコーダでデコード処理される。
イメージメモリ(308)に記録されたPNGは、次の2つの処理方法がある。
イメージデータが字幕用の場合は、プレゼンテーションコントローラ(306)によってデコードタイミングが指示される。クロック(307)からの時刻情報をシナリオプロセッサ(305)が一旦受け、適切な字幕表示が行えるように、字幕表示時刻(開始および終了)になればプレゼンテーションコントローラ(306)に対して字幕の表示、非表示の指示を出す。プレゼンテーションコントローラ(306)からデコード/表示の指示を受けたイメージプロセッサ(311)は対応するPNGデータをイメージメモリ(308)から抜き出し、デコードし、イメージプレーン(314)に描画する。
イメージデータが字幕用の場合は、プレゼンテーションコントローラ(306)によってデコードタイミングが指示される。クロック(307)からの時刻情報をシナリオプロセッサ(305)が一旦受け、適切な字幕表示が行えるように、字幕表示時刻(開始および終了)になればプレゼンテーションコントローラ(306)に対して字幕の表示、非表示の指示を出す。プレゼンテーションコントローラ(306)からデコード/表示の指示を受けたイメージプロセッサ(311)は対応するPNGデータをイメージメモリ(308)から抜き出し、デコードし、イメージプレーン(314)に描画する。
次に、イメージデータがメニュー用の場合は、プログラムプロセッサ(302)によってデコードタイミングが指示される。プログラムプロセッサ(302)が何時イメージのデコードを指示するかは、プログラムプロセッサ(302)が処理しているBDプログラムに因るものであって一概には決まらない。
イメージデータおよび映像データは、図12で説明したように夫々デコード後にイメージプレーン(314)、ビデオプレーン(315)に出力され、合成処理部(316)によって合成後出力される。
BDディスク(201)から読み出された管理情報(シナリオ、AV管理情報)は、管理情報記録メモリ(304)に格納されるが、シナリオ情報(「BD.INFO」および「XXX.PL」)はシナリオプロセッサ(305)へ読み込み処理される。また、AV管理情報(「YYY.VOBI」)はプレゼンテーションコントローラ(306)によって読み出され処理される。
シナリオプロセッサ(305)は、プレイリストの情報を解析し、プレイリストによって参照されているVOBとその再生位置をプレゼンテーションコントローラ(306)に指示し、プレゼンテーションコントローラ(306)は対象となるVOBの管理情報(「YYY.VOBI」)を解析して、対象となるVOBを読み出すようにドライブコントローラ(317)に指示を出す。
ドライブコントローラ(317)はプレゼンテーションコントローラ(306)の指示に従い、光ピックアップを移動させ、対象となるAVデータの読み出しを行う。読み出されたAVデータは、前述したようにイメージメモリ(308)またはトラックバッファ(309)に読み出される。
また、シナリオプロセッサ(305)は、クロック(307)の時刻を監視し、管理情報で設定されているタイミングでイベントをプログラムプロセッサ(302)に投げる。
プログラム記録メモリ(301)に記録されたBDプログラム(「BD.PROG」または「XXX.PROG」)は、プログラムプロセッサ302によって実行処理される。プログラムプロセッサ(302)がBDプログラムを処理するのは、シナリオプロセッサ(305)からイベントが送られてきた場合か、UOPマネージャ(303)からイベントが送られてきた場合である。UOPマネージャ(303)は、ユーザからリモコンキーによってリクエストが送られてきた場合に、プログラムプロセッサ(302)に対するイベントを生成する。
(アプリケーション空間)
図14は、BDのアプリケーション空間を示す図である。
(アプリケーション空間)
図14は、BDのアプリケーション空間を示す図である。
BDのアプリケーション空間では、プレイリスト(PlayList)が一つの再生単位になっている。プレイリストはセル(Cell)の連結で、連結の順序により決定される再生シーケンスである静的なシナリオと、プログラムによって記述される動的なシナリオを有している。プログラムによる動的なシナリオが無い限り、プレイリストは個々のセルを順に再生するだけであり、また、全てのセルの再生を終了した時点でプレイリストの再生は終了する。一方で、プログラムは、プレイリストを超えての再生記述や、ユーザ選択またはプレーヤの状態によって再生する対象を動的に変えることが可能である。典型的な例としてはメニューがあげられる。BDの場合、メニューとはユーザの選択によって再生するシナリオと定義でき、プログラムによってプレイリストを動的に選択することである。
ここで言うプログラムとは、時間イベントまたはユーザイベントによって実行されるイベントハンドラの事である。
時間イベントは、プレイリスト中に埋め込まれた時刻情報に基づいて生成されるイベントである。図13で説明したシナリオプロセッサ(305)からプログラムプロセッサ(302)に送られるイベントがこれに相当する。時間イベントが発行されると、プログラムプロセッサ(302)はIDによって対応付けられるイベントハンドラを実行処理する。
前述した通り、実行されるプログラムが他のプレイリストの再生を指示することが可能であり、この場合には、現在再生されているプレイリストの再生は中止され、指定されたプレイリストの再生へと遷移する。
前述した通り、実行されるプログラムが他のプレイリストの再生を指示することが可能であり、この場合には、現在再生されているプレイリストの再生は中止され、指定されたプレイリストの再生へと遷移する。
ユーザイベントは、ユーザのリモコンキー操作によって生成されるイベントである。ユーザイベントは大きく2つのタイプに分けられる。一つ目は、カーソルキー(「上」「下」「左」「右」キー)または「決定」キーの操作によって生成されるメニュー選択のイベントである。メニュー選択のイベントに対応するイベントハンドラはプレイリスト内の限られた期間でのみ有効であり(プレイリストの情報として、個々のイベントハンドラの有効期間が設定されている)、リモコンの「上」「下」「左」「右」キーまたは「決定」キーが押された時に有効なイベントハンドラを検索して、有効なイベントハンドラがある場合は当該イベントハンドラが実行処理される。他の場合は、メニュー選択のイベントは無視されることになる。
二つ目のユーザイベントは、「メニュー」キーの操作によって生成されるメニュー呼び出しのイベントである。メニュー呼び出しのイベントが生成されると、グローバルイベントハンドラが呼ばれる。グローバルイベントハンドラはプレイリストに依存せず、常に有効なイベントハンドラである。この機能を使うことにより、DVDのメニューコール(タイトル再生中に音声、字幕メニューなどを呼び出し、音声または字幕を変更後に中断した地点からのタイトル再生を実行する機能等)を実装することができる。
プレイリストで静的シナリオを構成する単位であるセル(Cell)はVOB(MPEGストリーム)の全部または一部の再生区間を参照したものである。セルはVOB内の再生区間を開始、終了時刻の情報として持っている。個々のVOBと一対になっているVOB管理情報(VOBI)は、その内部にデータの再生時刻に対応した記録アドレスのテーブル情報であるタイムマップ(Time MapまたはTMAP)を有しており、このタイムマップによって前述したVOBの再生、終了時刻をVOB内(即ち対象となるファイル「YYY.VOB」内)での読み出し開始アドレスおよび終了アドレスを導き出すことが可能である。なおタイムマップの詳細は後述する。
(VOBの詳細)
図15は、本実施例で使用するMPEGストリーム(VOB)の構成図である。
(VOBの詳細)
図15は、本実施例で使用するMPEGストリーム(VOB)の構成図である。
図15に示すように、VOBは複数のVOBU(Video Object Unit)によって構成されている。VOBUは、MPEGビデオストリームで言うGOP(Group Of Pictures)を基準として、音声データも含んだ多重化ストリームとしての一再生単位である。VOBUは1.0秒以下のビデオ再生時間を持ち、通常は0.5秒程度の再生時間を持っている。
VOBU先頭のTSパケット(MPEG−2 Transport Stream Packet)は、シーケンスヘッダとそれに続くGOPヘッダとIピクチャ(Intra−coded)を格納しており、このIピクチャからの復号が開始可能なようになっている。また、このVOBU先頭のIピクチャの先頭を含むTSパケットのアドレス(開始アドレス)と、この開始アドレスからIピクチャの最後を含むTSパケットまでのアドレス(終了アドレス)と、このIピクチャの再生開始時刻(PTS)をタイムマップで管理している。したがって、タイムマップのエントリーはVOBU先頭のTSパケットごとに与えられている。
VOBUは、その内部にビデオパケット(V_PKT)とオーディオパケット(A_PKT)を有している。各パケットは188バイトであり、図15に図示してはいないが、各TSパケットの直前には、そのTSパケットの相対的なデコーダ供給開始時刻であるATS(Arrival Time Stamp)が付与されている。
ATSを各TSパケットごとに付与するのは、このTSストリームのシステムレートが固定レートでなく、可変レートであるためである。一般的にシステムレートを固定にする場合にはNULLパケットと呼ばれるダミーのTSパケットを挿入することになるが、限られた記録容量の中に高画質で記録するためには、可変レートが適しており、BDではATS付きのTSストリームとして記録している。
図16は、TSパケットの構成を示した図である。
図16に示すように、TSパケットは、TSパケットヘッダと、適用フィールドと、ペイロード部から構成される。TSパケットヘッダにはPID(Packet Identifier)が格納され、これにより、TSパケットがどのような情報を格納しているのか識別される。適用フィールドにはPCR(Program Clock Reference)が格納される。PCRはストリームをデコードする機器の基準クロック(System Time Clock、STCと呼ぶ)の参照値である。機器は典型的にはPCRのタイミングでシステムストリームをデマルチプレクスし、ビデオストリーム等の各種ストリームを再構築する。ペイロードにはPESパケットが格納される。
図16に示すように、TSパケットは、TSパケットヘッダと、適用フィールドと、ペイロード部から構成される。TSパケットヘッダにはPID(Packet Identifier)が格納され、これにより、TSパケットがどのような情報を格納しているのか識別される。適用フィールドにはPCR(Program Clock Reference)が格納される。PCRはストリームをデコードする機器の基準クロック(System Time Clock、STCと呼ぶ)の参照値である。機器は典型的にはPCRのタイミングでシステムストリームをデマルチプレクスし、ビデオストリーム等の各種ストリームを再構築する。ペイロードにはPESパケットが格納される。
PESパケットヘッダには、DTS(Decoding Time Stamp)とPTS(Presentation Time Stamp)が格納される。DTSは当該PESパケットに格納されるピクチャ/オーディオフレームのデコードタイミングを示し、PTSは映像音声出力等のプレゼンテーションタイミングを示す。ビデオデータおよびオーディオデータといったエレメンタリデータは、PESパケットペイロード(PES Packet Payload)と呼ばれるパケット(PES Packet)のデータ格納領域に先頭から順次入れられていく。PESパケットヘッダには、ペイロードに格納してあるデータがどのストリームなのかを識別するためのID(stream_id)も記録されている。
TSストリームの詳細についてはISO/IEC13818−1で規定されており、BDで特徴的なのはATSを各TSパケットごとに付与したことである。
(VOBのインターリーブ記録)
次に図17および図18を用いてVOBファイルのインターリーブ記録について説明する。
(VOBのインターリーブ記録)
次に図17および図18を用いてVOBファイルのインターリーブ記録について説明する。
図17上段は、前述したプレーヤ構成図の一部である。図の通り、BDディスク上のデータは、光ピックアップを通してVOB即ちMPEGストリームであればトラックバッファへ入力され、PNG即ちイメージデータであればイメージメモリへと入力される。
トラックバッファはFIFOであり、入力されたVOBのデータは入力された順にデマルチプレクサへと送られる。この時、前述したATSに従って個々のTSパケットはトラックバッファから引き抜かれデマルチプレクサを介してビデオプロセッサまたはサウンドプロセッサへとデータが送り届けられる。一方で、イメージデータの場合は、どのイメージを描画するかはプレゼンテーションコントローラによって指示される。また、描画に使ったイメージデータは、字幕用イメージデータの場合は同時にイメージメモリから削除されるが、メニュー用のイメージデータの場合は、そのメニュー描画中はイメージメモリ内にそのまま残される。これはメニューの描画はユーザ操作に依存しており、ユーザーの操作に追従してメニューの一部分を再表示もしくは異なるイメージに置き換えることがあり、その際に再表示される部分のイメージデータをデコードし易くするためである。
図17下段は、BDディスク上でのVOBファイルおよびPNGファイルのインターリーブ記録を示す図である。一般的にROM、例えばCD−ROMやDVD−ROMの場合
、一連の連続再生単位となるAVデータは連続記録されている。これは、連続記録されている限り、ドライブは順次データを読み出し、デコーダに送り届けるだけで良いが、連続データが分断されてディスク上に離散配置されている場合は、個々の連続区間の間でシーク操作が入ることになり、この間データの読み出しが止まることになり、データの供給が止まる可能性があるからである。BDの場合も同様に、VOBファイルは連続領域に記録することができる方が望ましいが、例えば字幕データのようにVOBに記録されている映像データと同期して再生されるデータがあり、VOBファイルと同様に字幕データも何らかの方法によってBDディスクから読み出す事が必要になる。
、一連の連続再生単位となるAVデータは連続記録されている。これは、連続記録されている限り、ドライブは順次データを読み出し、デコーダに送り届けるだけで良いが、連続データが分断されてディスク上に離散配置されている場合は、個々の連続区間の間でシーク操作が入ることになり、この間データの読み出しが止まることになり、データの供給が止まる可能性があるからである。BDの場合も同様に、VOBファイルは連続領域に記録することができる方が望ましいが、例えば字幕データのようにVOBに記録されている映像データと同期して再生されるデータがあり、VOBファイルと同様に字幕データも何らかの方法によってBDディスクから読み出す事が必要になる。
字幕データの読み出し方法の一手段として、VOBの再生開始前に一まとめで字幕用のイメージデータ(PNGファイル)を読み出してしまう方法がある。しかしながら、この場合には大量のメモリが必要となり、非現実的である。
そこで、VOBファイルを幾つかのブロックに分けて、イメージデータとインターリーブ記録する方式を使用している。図17下段はそのインターリーブ記録を説明した図である。
VOBファイルとイメージデータを適切にインターリーブ配置することで、前述したような大量の一時記録メモリ無しに、必要なタイミングでイメージデータをイメージメモリに格納することが可能になる。しかしながらイメージデータを読み出している際には、VOBデータの読み込みは当然のことながら停止することになる。
図18は、この問題を解決するトラックバッファを使ったVOBデータ連続供給モデルを説明する図である。
既に説明したように、VOBのデータは、一旦トラックバッファに蓄積される。トラックバッファへのデータ入力レート(Va)とトラックバッファからのデータ出力レート(Vb)の間に差(Va>Vb)を設けると、BDディスクからデータを読み出し続けている限り、トラックバッファのデータ蓄積量は増加をしていくことになる。
図18の上段に記すようにVOBの一連続記録領域が論理アドレスの”a1”から”a2”まで続くとする。”a2”から”a3”の間は、イメージデータが記録されていて、VOBデータの読み出しが行えない区間であるとする。
図18の下段は、トラックバッファの内部を示す図である。横軸が時間、縦軸がトラックバッファ内部に蓄積されているデータ量を示している。時刻”t1”がVOBの一連続記録領域の開始点である”a1”の読み出しを開始した時刻を示している。この時刻以降、トラックバッファにはレートVa−Vbでデータが蓄積されていくことになる。このレートは言うまでもなくトラックバッファの入出力レートの差である。時刻”t2”は一連続記録領域の終了点である”a2”のデータを読み込む時刻である。即ち時刻”t1”から”t2”の間レートVa−Vbでトラックバッファ内はデータ量が増加していき、時刻”t2”でのデータ蓄積量はB(t2)は下式によって求めることができる。
B(t2) = (Va−Vb)×(t2−t1) (式1)
この後、BDディスク上のアドレス”a3”まではイメージデータが続くため、トラックバッファへの入力は0となり、出力レートである”−Vb”でトラックバッファ内のデータ量は減少していくことになる。これは読み出し位置”a3”まで、時刻でいう”t3”までになる。
この後、BDディスク上のアドレス”a3”まではイメージデータが続くため、トラックバッファへの入力は0となり、出力レートである”−Vb”でトラックバッファ内のデータ量は減少していくことになる。これは読み出し位置”a3”まで、時刻でいう”t3”までになる。
ここで大事なことは、時刻”t3”より前にトラックバッファに蓄積されているデータ量が0になると、デコーダへ供給するVOBのデータが無くなってしまい、VOBの再生
がストップしてしまう可能性がある。しかしながら、時刻”t3”でトラックバッファにデータが残っている場合には、VOBの再生がストップすることなく連続できることを意味している。
がストップしてしまう可能性がある。しかしながら、時刻”t3”でトラックバッファにデータが残っている場合には、VOBの再生がストップすることなく連続できることを意味している。
この条件は下式によって示すことができる。
B(t2) ≧ −Vb×(t3−t2) (式2)
即ち、式2を満たすようにイメージデータ(非VOBデータ)の配置を決めればよい事になる。
(ナビゲーションデータ構造)
図19から図25を用いて、BDのナビゲーションデータ(BD管理情報)構造について説明をする。
B(t2) ≧ −Vb×(t3−t2) (式2)
即ち、式2を満たすようにイメージデータ(非VOBデータ)の配置を決めればよい事になる。
(ナビゲーションデータ構造)
図19から図25を用いて、BDのナビゲーションデータ(BD管理情報)構造について説明をする。
図19は、VOB管理情報ファイル(”YYY.VOBI”)の内部構造を示した図である。
VOB管理情報は、当該VOBのストリーム属性情報(Attribute)とタイムマップを有している。ストリーム属性は、ビデオ属性(Video)、オーディオ属性(Audio#0〜Audio#m)個々に持つ構成となっている。特にオーディオストリームの場合は、VOBが複数本のオーディオストリームを同時に持つことができることから、オーディオストリーム数(Number)によって、データフィールドの有無を示している。
下記はビデオ属性(Video)の持つフィールドと夫々が持ち得る値である。
圧縮方式(Coding):
MPEG1
MPEG2
MPEG4
MPEG4−AVC(Advanced Video Coding)
解像度(Resolution):
1920x1080
1440x1080
1280x720
720x480
720x565
アスペクト比(Aspect)
4:3
16:9
フレームレート(Framerate)
60
59.94(60/1.001)
50
30
29.97(30/1.001)
25
24
23.976(24/1.001)
下記はオーディオ属性(Audio)の持つフィールドと夫々が持ち得る値である。
圧縮方式(Coding):
MPEG1
MPEG2
MPEG4
MPEG4−AVC(Advanced Video Coding)
解像度(Resolution):
1920x1080
1440x1080
1280x720
720x480
720x565
アスペクト比(Aspect)
4:3
16:9
フレームレート(Framerate)
60
59.94(60/1.001)
50
30
29.97(30/1.001)
25
24
23.976(24/1.001)
下記はオーディオ属性(Audio)の持つフィールドと夫々が持ち得る値である。
圧縮方式(Coding):
AC3
MPEG1
MPEG2
LPCM
チャンネル数(Ch):
1〜8
言語属性(Language):
タイムマップ(TMAP)はVOBU毎の情報を持つテーブルであって、当該VOBが有するVOBU数(Number)と各VOBU情報(VOBU#1〜VOBU#n)を持つ。個々のVOBU情報は、VOBU先頭TSパケット(Iピクチャ開始)のアドレスI_startと、そのIピクチャの終了アドレスまでのオフセットアドレス(I_end)、およびそのIピクチャの再生開始時刻(PTS)から構成される。
AC3
MPEG1
MPEG2
LPCM
チャンネル数(Ch):
1〜8
言語属性(Language):
タイムマップ(TMAP)はVOBU毎の情報を持つテーブルであって、当該VOBが有するVOBU数(Number)と各VOBU情報(VOBU#1〜VOBU#n)を持つ。個々のVOBU情報は、VOBU先頭TSパケット(Iピクチャ開始)のアドレスI_startと、そのIピクチャの終了アドレスまでのオフセットアドレス(I_end)、およびそのIピクチャの再生開始時刻(PTS)から構成される。
なお、I_endの値はオフセット値、すなわちIピクチャのサイズを持たせるのではなく、実際のIピクチャの終了アドレスを持たせてもよい。
図20はVOBU情報の詳細を説明する図である。
広く知られているように、MPEGビデオストリームは高画質記録するために可変ビットレート圧縮されることがあり、その再生時間とデータサイズ間に単純な相関はない。逆に、音声の圧縮規格であるAC3は固定ビットレートでの圧縮を行っているため、時間とアドレスとの関係は1次式によって求めることができる。しかしながらMPEGビデオデータの場合は、個々のフレームは固定の表示時間、例えばNTSCの場合は1フレームは1/29.97秒の表示時間を持つが、個々のフレームの圧縮後のデータサイズは絵の特性や圧縮に使ったピクチャタイプ、いわゆるI/P/Bピクチャによってデータサイズは大きく変わってくる。従って、MPEGビデオの場合は、時間とアドレスの関係は一次式の形で表現することは不可能である。
広く知られているように、MPEGビデオストリームは高画質記録するために可変ビットレート圧縮されることがあり、その再生時間とデータサイズ間に単純な相関はない。逆に、音声の圧縮規格であるAC3は固定ビットレートでの圧縮を行っているため、時間とアドレスとの関係は1次式によって求めることができる。しかしながらMPEGビデオデータの場合は、個々のフレームは固定の表示時間、例えばNTSCの場合は1フレームは1/29.97秒の表示時間を持つが、個々のフレームの圧縮後のデータサイズは絵の特性や圧縮に使ったピクチャタイプ、いわゆるI/P/Bピクチャによってデータサイズは大きく変わってくる。従って、MPEGビデオの場合は、時間とアドレスの関係は一次式の形で表現することは不可能である。
当然の事として、MPEGビデオデータを多重化しているMPEGシステムストリーム、即ちVOBも時間とデータサイズとを一次式の形で表現することは不可能である。このため、VOB内での時間とアドレスとの関係を結びつけるのがタイムマップ(TMAP)である。
このようにして、ある時刻情報が与えられた場合、先ずは当該時刻がどのVOBUに属するのかを検索(VOBU毎のPTSを追っていく)して、当該時刻の直前のPTSをTMAPに持つVOBUに飛びこみ(I_startで指定されたアドレス)、VOBU先頭のIピクチャから復号を開始し、当該時刻のピクチャから表示を開始する。
次に図21を使って、プレイリスト情報(”XXX.PL”)の内部構造を説明する。
プレイリスト情報は、セルリスト(CellList)とイベントリスト(EventList)から構成されている。
プレイリスト情報は、セルリスト(CellList)とイベントリスト(EventList)から構成されている。
セルリスト(CellList)は、プレイリスト内の再生セルシーケンスであり、本リストの記述順でセルが再生される事になる。セルリスト(CellList)の中身は、セルの数(Number)と各セル情報(Cell#1〜Cell#n)である。
セル情報(Cell#)は、VOBファイル名(VOBName)、当該VOB内での開始時刻(In)および終了時刻(Out)と、字幕テーブル(SubtitleTable)を持っている。開始時刻(In)および終了時刻(Out)は、夫々当該VOB内でのフレーム番号で表現され、前述したタイムマップを使うことによって再生に必要なVOBデータのアドレスを得る事ができる。
字幕テーブル(SubtitleTable)は、当該VOBと同期再生される字幕情
報を持つテーブルである。字幕は音声同様に複数の言語を持つことができ、字幕テーブル(SubtitleTable)最初の情報も言語数(Number)とそれに続く個々の言語ごとのテーブル(Language#1〜Language#k)から構成されている。
報を持つテーブルである。字幕は音声同様に複数の言語を持つことができ、字幕テーブル(SubtitleTable)最初の情報も言語数(Number)とそれに続く個々の言語ごとのテーブル(Language#1〜Language#k)から構成されている。
各言語のテーブル(Language#)は、言語情報(Lang)と、個々に表示される字幕の字幕情報数(Number)と、個々に表示される字幕の字幕情報(Speech#1〜Speech#j)から構成され、字幕情報(Speech#)は対応するイメージデータファイル名(Name)、字幕表示開始時刻(In)および字幕表示終了時刻(Out)と、字幕の表示位置(Position)から構成されている。
イベントリスト(EventList)は、当該プレイリスト内で発生するイベントを定義したテーブルである。イベントリストは、イベント数(Number)に続いて個々のイベント(Event#1〜Event#m)から構成され、個々のイベント(Event#)は、イベントの種類(Type)、イベントのID(ID)、イベント発生時刻(Time)と有効期間(Duration)から構成されている。
図22は、個々のプレイリスト毎のイベントハンドラ(時間イベントと、メニュー選択用のユーザイベント)を持つイベントハンドラテーブル(”XXX.PROG”)である。
イベントハンドラテーブルは、定義されているイベントハンドラ/プログラム数(Number)と個々のイベントハンドラ/プログラム(Program#1〜Program#n)を有している。各イベントハンドラ/プログラム(Program#)内の記述は、イベントハンドラ開始の定義(<event_handler>タグ)と前述したイベントのIDと対になるイベントハンドラのID(ID)を持ち、その後に当該プログラムもFunctionに続く括弧”{”と”}”の間に記述する。前述の”XXX.PL”のイベントリスト(EventList)に格納されたイベント(Event#1〜Event#m)は”XXX.PROG”のイベントハンドラのID(ID)を用いて特定される。
次に図23を用いてBDディスク全体に関する情報(”BD.INFO”)の内部構造を説明する。
BDディスク全体情報は、タイトルリスト(TitleList)とグローバルイベント用のイベントテーブル(EventList)から構成されている。
タイトルリスト(TitleList)は、ディスク内のタイトル数(Number)と、これに続く各タイトル情報(Title#1〜Title#n)から構成されている。個々のタイトル情報(Title#)は、タイトルに含まれるプレイリストのテーブル(PLTable)とタイトル内のチャプタリスト(ChapterList)を含んでいる。プレイリストのテーブル(PLTable)はタイトル内のプレイリストの数(Number)と、プレイリスト名(Name)即ちプレイリストのファイル名を有している。
チャプタリスト(ChapterList)は、当該タイトルに含まれるチャプタ数(Number)と個々のチャプタ情報(Chapter#1〜Chapter#n)から構成され、個々のチャプタ情報(Chapter#)は当該チャプタが含むセルのテーブル(CellTable)を持ち、セルのテーブル(CellTable)はセル数(Number)と個々のセルのエントリ情報(CellEntry#1〜CellEntry#k)から構成されている。セルのエントリ情報(CellEntry#)は当該セル
を含むプレイリスト名と、プレイリスト内でのセル番号によって記述されている。
を含むプレイリスト名と、プレイリスト内でのセル番号によって記述されている。
イベントリスト(EventList)は、グローバルイベントの数(Number)と個々のグローバルイベントの情報を持っている。ここで注意すべきは、最初に定義されるグローバルイベントは、ファーストイベント(FirstEvent)と呼ばれ、BDディスクがプレーヤに挿入された時、最初に呼ばれるイベントである。グローバルイベント用イベント情報はイベントタイプ(Type)とイベントのID(ID)だけを持っている。
図24は、グローバルイベントハンドラのプログラムのテーブル(”BD.PROG”)である。
本テーブルは、図22で説明したイベントハンドラテーブルと同一内容である。
(イベント発生のメカニズム)
図25から図27を使ってイベント発生のメカニズムについて説明する。
(イベント発生のメカニズム)
図25から図27を使ってイベント発生のメカニズムについて説明する。
図25はタイムイベントの例である。
前述したとおり、タイムイベントはプレイリスト情報(”XXX.PL”)のイベントリスト(EventList)で定義される。タイムイベントとして定義されているイベント、即ちイベントタイプ(Type)が”TimeEvent”の場合、イベント生成時刻(”t1”)になった時点で、ID”Ex1”を持つタイムイベントがシナリオプロセッサからプログラムプロセッサに対してあげられる。プログラムプロセッサは、イベントID”Ex1”を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する。例えば、本実施例の場合では、2つのボタンイメージの描画を行うなどを行うことができる。
前述したとおり、タイムイベントはプレイリスト情報(”XXX.PL”)のイベントリスト(EventList)で定義される。タイムイベントとして定義されているイベント、即ちイベントタイプ(Type)が”TimeEvent”の場合、イベント生成時刻(”t1”)になった時点で、ID”Ex1”を持つタイムイベントがシナリオプロセッサからプログラムプロセッサに対してあげられる。プログラムプロセッサは、イベントID”Ex1”を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する。例えば、本実施例の場合では、2つのボタンイメージの描画を行うなどを行うことができる。
図26はメニュー操作を行うユーザーイベントの例である。
前述したとおり、メニュー操作を行うユーザイベントもプレイリスト情報(”XXX.PL”)のイベントリスト(EventList)で定義される。ユーザイベントとして定義されるイベント、即ちイベントタイプ(Type)が”UserEvent”の場合、イベント生成時刻(”t1”)になった時点で、当該ユーザイベントがレディとなる。この時、イベント自身は未だ生成されてはいない。当該イベントは、有効期間情報(Duration)で記される期間レディ状態にある。
前述したとおり、メニュー操作を行うユーザイベントもプレイリスト情報(”XXX.PL”)のイベントリスト(EventList)で定義される。ユーザイベントとして定義されるイベント、即ちイベントタイプ(Type)が”UserEvent”の場合、イベント生成時刻(”t1”)になった時点で、当該ユーザイベントがレディとなる。この時、イベント自身は未だ生成されてはいない。当該イベントは、有効期間情報(Duration)で記される期間レディ状態にある。
図26に描くように、ユーザがリモコンキーの「上」「下」「左」「右」キーまたは「決定」キーを押した場合、先ずUOPイベントがUOPマネージャによって生成されプログラムプロセッサに上げられる。プログラムプロセッサは、シナリオプロセッサに対してUOPイベントを流し、シナリオプロセッサはUOPイベントを受け取った時刻に有効なユーザイベントが存在するかを検索し、対象となるユーザイベントがあった場合は、ユーザイベントを生成し、プログラムプロセッサに持ち上げる。プログラムプロセッサでは、イベントID”Ev1”を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する。例えば、本実施例の場合では、プレイリスト#2の再生を開始する。
生成されるユーザイベントには、どのリモコンキーがユーザによって押されたかの情報は含まれていない。選択されたリモコンキーの情報は、UOPイベントによってプログラムプロセッサに伝えられ、仮想プレーヤが持つレジスタSPRM(8)に記録保持される。イベントハンドラのプログラムは、このレジスタの値を調べ分岐処理を実行することが可能である。
図27はグローバルイベントの例である。
前述したとおり、グローバルイベントはBDディスク全体に関する情報(”BD.IN
FO”)のイベントリスト(EventList)で定義される。グローバルイベントとして定義されるイベント、即ちイベントタイプ(Type)が”GlobalEvent”の場合、ユーザのリモコンキー操作があった場合にのみイベントが生成される。
前述したとおり、グローバルイベントはBDディスク全体に関する情報(”BD.IN
FO”)のイベントリスト(EventList)で定義される。グローバルイベントとして定義されるイベント、即ちイベントタイプ(Type)が”GlobalEvent”の場合、ユーザのリモコンキー操作があった場合にのみイベントが生成される。
ユーザが”メニュー”を押した場合、先ずUOPイベントがUOPマネージャによって生成されプログラムプロセッサに上げられる。プログラムプロセッサは、シナリオプロセッサに対してUOPイベントを流し、シナリオプロセッサは、該当するグローバルイベントを生成し、プログラムプロセッサに送る。プログラムプロセッサでは、イベントID”menu”を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する。例えば、本実施例の場合ではプレイリスト#3の再生を開始している。
本実施例では、単に”メニュー”キーと呼んでいるが、DVDのように複数のメニューキーがあってもよい。各メニューキーに対応するIDを夫々定義することで対応することが可能である。
(仮想プレーヤマシン)
図28を用いてプログラムプロセッサの機能構成を説明する。
(仮想プレーヤマシン)
図28を用いてプログラムプロセッサの機能構成を説明する。
プログラムプロセッサは、内部に仮想プレーヤマシンを持つ処理モジュールである。仮想プレーヤマシンはBDとして定義された機能モデルであって、各BDプレーヤの実装には依存しないものである。即ち、どのBDプレーヤにおいても同様の機能を実行するできることを保証している。
仮想プレーヤマシンは大きく2つの機能を持っている。プログラミング関数とプレーヤ変数(レジスタ)である。プログラミング関数は、JavaScriptをベースとして、以下に記す2つの機能をBD固有関数として定義している。
リンク関数:現在の再生を停止し、指定するプレイリスト、セル、時刻からの再生を開始する
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方向幅
プレーヤ変数は、プレーヤの状態を示すシステムパラメータ(SPRM)と一般用途として使用可能なゼネラルパラメータ(GPRM)とがある。
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方向幅
プレーヤ変数は、プレーヤの状態を示すシステムパラメータ(SPRM)と一般用途として使用可能なゼネラルパラメータ(GPRM)とがある。
図29はシステムパラメータ(SPRM)の一覧である。
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) : 予備
なお、本実施例では、仮想プレーヤのプログラミング関数をJavaScriptベースとしたが、JavaScriptではなく、UNIX(登録商標)OSなどで使われて
いるB−Shellや、Perl Scriptなど他のプログラミング関数であっても構わなく、言い換えれば、本発明はJavaScriptに限定されるものでは無い。
(プログラムの例)
図30および図31は、イベントハンドラでのプログラムの例である。
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) : 予備
なお、本実施例では、仮想プレーヤのプログラミング関数をJavaScriptベースとしたが、JavaScriptではなく、UNIX(登録商標)OSなどで使われて
いるB−Shellや、Perl Scriptなど他のプログラミング関数であっても構わなく、言い換えれば、本発明はJavaScriptに限定されるものでは無い。
(プログラムの例)
図30および図31は、イベントハンドラでのプログラムの例である。
図30は、2つの選択ボタンを持ったメニューの例である。
セル(PlayList#1.Cell#1)先頭でタイムイベントを使って図30左側のプログラムが実行される。ここでは、最初にゼネラルパラメータの一つGPRM(0)に”1”がセットされている。GPRM(0)は、当該プログラムの中で、選択されているボタンを識別するのに使っている。最初の状態では、左側に配置するボタン1が選択されている事を初期値として持たされている。
セル(PlayList#1.Cell#1)先頭でタイムイベントを使って図30左側のプログラムが実行される。ここでは、最初にゼネラルパラメータの一つGPRM(0)に”1”がセットされている。GPRM(0)は、当該プログラムの中で、選択されているボタンを識別するのに使っている。最初の状態では、左側に配置するボタン1が選択されている事を初期値として持たされている。
次に、PNGの描画を描画関数であるDrawを使ってボタン1、ボタン2夫々について行っている。ボタン1は、座標(10、200)を起点(左端)としてPNGイメージ”1black.png”を描画している。ボタン2は、座標(330,200)を起点(左端)としてPNGイメージ”2white.png”を描画している。
また、本セル最後ではタイムイベントを使って図30右側のプログラムが実行される。ここでは、Link関数を使って当該セルの先頭から再度再生するように指定している。
図31は、メニュー選択のユーザイベントのイベントハンドラの例である。
「左」キー、「右」キー、「決定」キー何れかのリモコンキーが押された場合夫々に対応するプログラムがイベントハンドラに書かれている。ユーザがリモコンキーを押した場合、図26で説明したとおり、ユーザイベントが生成され、図31のイベントハンドラが起動されることになる。本イベントハンドラでは、選択ボタンを識別しているGPRM(0)の値と、選択されたリモコンキーを識別するSPRM(8)を使って分岐処理を行っている。
「左」キー、「右」キー、「決定」キー何れかのリモコンキーが押された場合夫々に対応するプログラムがイベントハンドラに書かれている。ユーザがリモコンキーを押した場合、図26で説明したとおり、ユーザイベントが生成され、図31のイベントハンドラが起動されることになる。本イベントハンドラでは、選択ボタンを識別しているGPRM(0)の値と、選択されたリモコンキーを識別するSPRM(8)を使って分岐処理を行っている。
条件1)ボタン1が選択されている、かつ、選択キーが「右」キーの場合
GPRM(0)を2に再設定して、選択状態にあるボタンを右ボタン2に変更する。
GPRM(0)を2に再設定して、選択状態にあるボタンを右ボタン2に変更する。
ボタン1、ボタン2のイメージを夫々書き換える。
条件2)選択キーが「決定(OK)」の場合で、ボタン1が選択されている場合
プレイリスト#2の再生を開始する
条件3)選択キーが「決定(OK)」の場合で、ボタン2が選択されている場合
プレイリスト#3の再生を開始する
上記のようにして実行処理が行われる。
(プレーヤ処理フロー)
次に図32から図35を用いてプレーヤでの処理フローを説明する。
条件2)選択キーが「決定(OK)」の場合で、ボタン1が選択されている場合
プレイリスト#2の再生を開始する
条件3)選択キーが「決定(OK)」の場合で、ボタン2が選択されている場合
プレイリスト#3の再生を開始する
上記のようにして実行処理が行われる。
(プレーヤ処理フロー)
次に図32から図35を用いてプレーヤでの処理フローを説明する。
図32は、AV再生までの基本処理フローである。
BDディスクを挿入すると(S101)、BDプレーヤはBD.INFOファイルの読み込みと解析(S102)、BD.PROGの読み込み(S103)を実行する。BD.INFOおよびBD.PROGは共に管理情報記録メモリに一旦格納され、シナリオプロセッサによって解析される。
BDディスクを挿入すると(S101)、BDプレーヤはBD.INFOファイルの読み込みと解析(S102)、BD.PROGの読み込み(S103)を実行する。BD.INFOおよびBD.PROGは共に管理情報記録メモリに一旦格納され、シナリオプロセッサによって解析される。
続いて、シナリオプロセッサは、BD.INFOファイル内のファーストイベント(FirstEvent)情報に従い、最初のイベントを生成する(S104)。生成されたファーストイベントは、プログラムプロセッサで受け取られ、当該イベントに対応するイベントハンドラを実行処理する(S105)。
ファーストイベントに対応するイベントハンドラには、最初に再生するべきプレイリスト情報が記録されていることが期待される。仮に、プレイリスト再生が指示されていない場合には、プレーヤは何も再生することなく、ユーザイベントを受け付けるのを待ち続けるだけになる。(S201)。BDプレーヤはユーザからのリモコン操作を受け付けると、UOPマネージャはプログラムマネージャに対してUOPイベントを立ち上げる(S202)。
プログラムマネージャは、UOPイベントがメニューキーかを判別し(S203)、メニューキーの場合は、シナリオプロセッサにUOPイベントを流し、シナリオプロセッサがユーザイベントを生成する(S204)。プログラムプロセッサは生成されたユーザイベントに対応するイベントハンドラを実行処理する(S205)。
図33は、PL再生開始からVOB再生開始までの処理フローである。
前述したように、ファーストイベントハンドラまたはグローバルイベントハンドラによってプレイリスト再生が開始される(S301)。シナリオプロセッサは、再生対象のプレイリスト再生に必要な情報として、プレイリスト情報”XXX.PL”の読み込みと解析(S302)、プレイリストに対応するプログラム情報”XXX.PROG”の読み込みを行う(S303)。続いてシナリオプロセッサは、プレイリストに登録されているセ
ル情報に基づいてセルの再生を指示する(S304)。セル再生は、シナリオプロセッサからプレゼンテーションコントローラに対して要求が出さる事を意味し、プレゼンテーションコントローラはAV再生を開始する(S305)。
前述したように、ファーストイベントハンドラまたはグローバルイベントハンドラによってプレイリスト再生が開始される(S301)。シナリオプロセッサは、再生対象のプレイリスト再生に必要な情報として、プレイリスト情報”XXX.PL”の読み込みと解析(S302)、プレイリストに対応するプログラム情報”XXX.PROG”の読み込みを行う(S303)。続いてシナリオプロセッサは、プレイリストに登録されているセ
ル情報に基づいてセルの再生を指示する(S304)。セル再生は、シナリオプロセッサからプレゼンテーションコントローラに対して要求が出さる事を意味し、プレゼンテーションコントローラはAV再生を開始する(S305)。
AV再生の開始(S401)を開始すると、プレゼンテーションコントローラは再生するセルに対応するVOBの情報ファイル(XXX.VOBI)を読み込みおよび解析をする(S402)。プレゼンテーションコントローラは、タイムマップを使って再生開始するVOBUとそのアドレスを特定し、ドライブコントローラに読み出しアドレスを指示し、ドライブコントローラは対象となるVOBデータを読み出し(S403)、VOBデータがデコーダに送られ再生が開始される(S404)。
VOB再生は、当該VOBの再生区間が終了するまで続けられ(S405)、終了すると次のセル再生S304へ移行する。次にセルが無い場合は、再生が停止する(S406)。
図34は、AV再生開始後からのイベント処理フローである。
BDプレーヤはイベントドリブン型のプレーヤモデルである。プレイリストの再生を開始すると、タイムイベント系、ユーザイベント系、字幕表示系のイベント処理プロセスが夫々起動され、平行してイベント処理を実行するようになる。
BDプレーヤはイベントドリブン型のプレーヤモデルである。プレイリストの再生を開始すると、タイムイベント系、ユーザイベント系、字幕表示系のイベント処理プロセスが夫々起動され、平行してイベント処理を実行するようになる。
S500系の処理は、タイムイベント系の処理フローである。
プレイリスト再生開始後(S501)、プレイリスト再生が終了しているかを確認するステップ(S502)を経て、シナリオプロセッサは、タイムイベント発生時刻になったかを確認する(S503)。タイムイベント発生時刻になっている場合には、シナリオプロセッサはタイムイベントを生成し(S504)、プログラムプロセッサがタイムイベントを受け取りイベントハンドラを実行処理する(S505)。
プレイリスト再生開始後(S501)、プレイリスト再生が終了しているかを確認するステップ(S502)を経て、シナリオプロセッサは、タイムイベント発生時刻になったかを確認する(S503)。タイムイベント発生時刻になっている場合には、シナリオプロセッサはタイムイベントを生成し(S504)、プログラムプロセッサがタイムイベントを受け取りイベントハンドラを実行処理する(S505)。
ステップS503でタイムイベント発生時刻になっていない場合、または、ステップS504でイベントハンドラ実行処理後は再度ステップS502へ戻り、上述した処理を繰り返す。また、ステップS502でプレイリスト再生が終了したことが確認されると、タイムイベント系の処理は強制的に終了する。
S600系の処理は、ユーザイベント系の処理フローである。
プレイリスト再生開始後(S601)、プレイリスト再生終了確認ステップ(S602)を経て、UOP受付確認ステップの処理に移る(S603)。UOPの受付があった場合、UOPマネージャはUOPイベントを生成し(S604)、UOPイベントを受け取ったプログラムプロセッサはUOPイベントがメニューコールであるかを確認し(S605)、メニューコールであった場合は、プログラムプロセッサはシナリオプロセッサにイベントを生成させ(S607)、プログラムプロセッサはイベントハンドラを実行処理する(S608)。
プレイリスト再生開始後(S601)、プレイリスト再生終了確認ステップ(S602)を経て、UOP受付確認ステップの処理に移る(S603)。UOPの受付があった場合、UOPマネージャはUOPイベントを生成し(S604)、UOPイベントを受け取ったプログラムプロセッサはUOPイベントがメニューコールであるかを確認し(S605)、メニューコールであった場合は、プログラムプロセッサはシナリオプロセッサにイベントを生成させ(S607)、プログラムプロセッサはイベントハンドラを実行処理する(S608)。
ステップS605でUOPイベントがメニューコールで無いと判断された場合、UOPイベントはカーソルキーまたは「決定」キーによるイベントである事を示している。この場合、現在時刻がユーザイベント有効期間内であるかをシナリオプロセッサが判断し(S606)、有効期間内である場合には、シナリオプロセッサがユーザイベントを生成し(S607)、プログラムプロセッサが対象のイベントハンドラを実行処理する(S608)。
ステップS603でUOP受付が無い場合、ステップS606で現在時刻がユーザイベント有効期間に無い場合、または、ステップS608でイベントハンドラ実行処理後は再
度ステップS602へ戻り、上述した処理を繰り返す。また、ステップS602でプレイリスト再生が終了したことが確認されると、ユーザイベント系の処理は強制的に終了する。
度ステップS602へ戻り、上述した処理を繰り返す。また、ステップS602でプレイリスト再生が終了したことが確認されると、ユーザイベント系の処理は強制的に終了する。
図35は字幕処理のフローである。
プレイリスト再生開始後(S701)、プレイリスト再生終了確認ステップ(S702)を経て、字幕描画開始時刻確認ステップに移る(S703)。字幕描画開始時刻の場合、シナリオプロセッサはプレゼンテーションコントローラに字幕描画を指示し、プレゼンテーションコントローラはイメージプロセッサに字幕描画を指示する(S704)。ステップS703で字幕描画開始時刻で無いと判断された場合、字幕表示終了時刻であるかを確認する(S705)。字幕表示終了時刻であると判断された場合は、プレゼンテーションコントローラがイメージプロセッサに字幕消去指示を行い、描画されている字幕をイメージプレーンから消去する(S706)。
プレイリスト再生開始後(S701)、プレイリスト再生終了確認ステップ(S702)を経て、字幕描画開始時刻確認ステップに移る(S703)。字幕描画開始時刻の場合、シナリオプロセッサはプレゼンテーションコントローラに字幕描画を指示し、プレゼンテーションコントローラはイメージプロセッサに字幕描画を指示する(S704)。ステップS703で字幕描画開始時刻で無いと判断された場合、字幕表示終了時刻であるかを確認する(S705)。字幕表示終了時刻であると判断された場合は、プレゼンテーションコントローラがイメージプロセッサに字幕消去指示を行い、描画されている字幕をイメージプレーンから消去する(S706)。
字幕描画ステップS704終了後、字幕消去ステップS706終了後、または、字幕表示終了時刻確認ステップS705で当該時刻でないことが判断された場合、ステップS702に戻り、上述した処理を繰り返す。また、ステップS702でプレイリスト再生が終了したことが確認されると、字幕表示系の処理は強制的に終了する。
(実施の形態2)
次に本発明の実施の形態2について説明する。
(実施の形態2)
次に本発明の実施の形態2について説明する。
実施の形態2は、上記のアプリケーションを応用して、静止画によるスライドショーを実現するための説明である。基本的には実施例1に基づく内容であり、拡張または異なる部分を中心に説明する。
(Iピクチャの参照)
図36はスライドショー(静止画アプリケーション)とタイムマップの関係を示している。通常スライドショーは静止画(Iピクチャ)のみから構成されている。タイムマップは静止画データの位置とサイズ情報を持っており、ある静止画が選ばれた場合、必要なデータを取り出してデコーダに送ることにより、1枚の静止画を表示する。通常スライドショーは動画のように順番に表示されるとは限らず、ユーザーのインタラクションのより、表示順序が決まっていないため、どこからでも表示できることを保証するために、単独でデコード可能なイントラ符号化されたIピクチャを利用している。
(Iピクチャの参照)
図36はスライドショー(静止画アプリケーション)とタイムマップの関係を示している。通常スライドショーは静止画(Iピクチャ)のみから構成されている。タイムマップは静止画データの位置とサイズ情報を持っており、ある静止画が選ばれた場合、必要なデータを取り出してデコーダに送ることにより、1枚の静止画を表示する。通常スライドショーは動画のように順番に表示されるとは限らず、ユーザーのインタラクションのより、表示順序が決まっていないため、どこからでも表示できることを保証するために、単独でデコード可能なイントラ符号化されたIピクチャを利用している。
しかし、データ量を抑えるために、Iピクチャを参照して圧縮するPピクチャや2枚以上の前後のピクチャを参照して圧縮するBピクチャであってもスライドショーを実現することは可能である。
ところが、PピクチャやBピクチャは参照しているピクチャがないとデコードすることができない。そのため、ユーザーのインタラクションにより、途中にあるPピクチャやBピクチャから再生を開始しようとしてもデコードできない。そこで、図37に示すように、タイムマップが指しているピクチャがIピクチャであること、他のどの画像も参照していないことを示すフラグを用意する。このフラグを参照することにより、参照画像が必要ない場合、すなわち独立してデコード可能な場合には、前後の表示に関係なくその画像からデコードおよび表示することは可能だが、参照画像が必要な場合には、関連する画像がそれまでにデコードされていなければ表示できないため、表示順序によっては画像が表示できないことを示している。
なお、タイムマップ全体として、タイムマップから参照されるピクチャが必ずIピクチャであること、つまりどのピクチャも独立してデコードすることが可能であることを示すフラグを、図38のようにタイムマップあるいは関連するナビゲーション情報内の一箇所
に記録されていてもよい。このフラグが立っていない場合には、タイムマップのエントリが必ずIピクチャを指しているとは限らないため、参照されているピクチャをデコードできるかどうかは保証されないことになる。
に記録されていてもよい。このフラグが立っていない場合には、タイムマップのエントリが必ずIピクチャを指しているとは限らないため、参照されているピクチャをデコードできるかどうかは保証されないことになる。
なお、これまでの説明ではMPEG2ビデオストリームをもとにIピクチャとして説明していたが、MPEG4−AVC(H.264やJVTとも呼ばれる)の場合では、IDR(Instantaneous Decoder refresh)ピクチャ、あるいはIDRピクチャ以外のIピクチャであってもよく、また、その他の形式の画像の場合でも単独でデコード可能な画像であれば、容易に応用可能である。
(すべてのIピクチャの参照の保証)
図39は動画アプリケーションと静止画アプリケーション(スライドショー)の違いを示している。図39(a)が示すように、動画アプリケーションの場合は一度再生を開始すれば、以降のピクチャを連続的にデコードするため、すべてのIピクチャにタイムマップから参照を設定しておく必要はなく、最低限再生開始したい点にのみタイムマップのエントリーが設定されていればよい。
(すべてのIピクチャの参照の保証)
図39は動画アプリケーションと静止画アプリケーション(スライドショー)の違いを示している。図39(a)が示すように、動画アプリケーションの場合は一度再生を開始すれば、以降のピクチャを連続的にデコードするため、すべてのIピクチャにタイムマップから参照を設定しておく必要はなく、最低限再生開始したい点にのみタイムマップのエントリーが設定されていればよい。
図39(b)はスライドショーの例である。スライドショーの場合は、ユーザーの操作により前後の映像を表示せず、スキップ操作などのより順序に関係なく静止画を表示する必要がある。そのため、すべてのIピクチャに対してタイムマップのエントリーを登録しておかなければ、実際にストリームをすべて解析しなければ表示すべきIピクチャのデータをデコーダに流すことができないため、効率が悪い。各Iピクチャにタイムマップのエントリーがあれば、必要なIピクチャのデータのみを直接アクセスしてデータを読み込み、デコーダに流すことができるため、アクセス効率がよく、表示までの時間も短くてすむため効率がよい。
すべてのIピクチャに対してエントリーが存在することが識別できれば、どのIピクチャにアクセスする際にでもタイムマップのエントリーを参照することにより、読み出すデータの範囲が分かるため、前後のストリームを余分に解析する必要がなくなる。
すべてのIピクチャに対してエントリーが存在することが保証されていない場合、タイムマップに登録されていないIピクチャの表示を指定された場合、その前後のストリームを解析しながら必要なデータを抜き出さなければならず、アクセス効率が悪く、表示するまでに時間がかかるため効率が悪い。
そこで、図40に示すようにタイムマップ内に、すべてのIピクチャがタイムマップから参照されていることが保証されているか否かを示すフラグを用意することにより、前後のストリームを解析しなければいけないか、あるいは必要ないか、静的データを解析するだけで識別できるようになるため、このようなフラグは有効である。
なお、このフラグはスライドショーのような静止画アプリケーションだけではなく、動画アプリケーションにおいても有効であり、どのIピクチャからでも再生を開始できることが保証されるフラグとなる。
(実施の形態3)
実施の形態2において、静止画アプリケーションを実現するための符号化方式としてMPEG‐4 AVCを使用できることを述べた。MPEG−4 AVCの静止画は、MPEG−4AVC規格自体ではなく、MPEG−2システムのMPEG−4 AVC向け拡張規格(ISO/IEC 13818−1 Amendment 3)においてAVC Still Pictureとして規定されている。しかしながら、MPEG−2システム規格では静止画の再生方法について規定しておらず、MPEG−4 AVCの静止画を再生する際の表示タイミングなどを決定できず、再生機器が任意のタイミングで表示を行っていたため機器間での再生動作の互換性が取れないという課題があった。本実施の形態では、MPEG−4 AVCを静止画アプリケーションに適用するための静止画のデータ構造、および表示方法について説明する。
(実施の形態3)
実施の形態2において、静止画アプリケーションを実現するための符号化方式としてMPEG‐4 AVCを使用できることを述べた。MPEG−4 AVCの静止画は、MPEG−4AVC規格自体ではなく、MPEG−2システムのMPEG−4 AVC向け拡張規格(ISO/IEC 13818−1 Amendment 3)においてAVC Still Pictureとして規定されている。しかしながら、MPEG−2システム規格では静止画の再生方法について規定しておらず、MPEG−4 AVCの静止画を再生する際の表示タイミングなどを決定できず、再生機器が任意のタイミングで表示を行っていたため機器間での再生動作の互換性が取れないという課題があった。本実施の形態では、MPEG−4 AVCを静止画アプリケーションに適用するための静止画のデータ構造、および表示方法について説明する。
MPEG−2システム規格におけるAVC Still Pictureは、IDRピクチャ、および当該IDRピクチャから参照されるSPS(Sequence Parameter Set)、および(Picture Parameter Set)を含むと規定されている。図41は、本実施の形態におけるMPEG−4 AVCの静止画(以降、AVC静止画と呼ぶ)のデータ構造を示す。図中のボックスは、それぞれNALユニット(Network Abstraction Unit)を示す。AVC静止画では、End of SequenceのNALユニットを必ず含めることにする。End of Sequenceは、MPEG−4 AVCにおけるシーケンスの終端を示す識別情報であるため、End of SequenceのNALユニットを配置してシーケンスを終了させることにより、AVC静止画の表示方法についてはMPEG−4 AVC規格外で独自に定義することができる。ここで、各NALユニットの出現順序についてはMPEG−4 AVC規格において定められた規定に従うものとする。なお、End of Sequenceの代わりに、End of StreamのNALユニットをAVC静止画の終端に配置してもよい。
次に、図42を参照してAVC静止画の表示方法について説明する。静止画アプリケーションにおいては、静止画の表示時刻、および静止画の表示時間長を規定する必要がある。AVC静止画の表示時刻(PTS:Presentation Time Stamp)は、タイムマップ、あるいはPES(Packetized Elemantary Stream)パケットのヘッダから取得する。ここで、タイムマップにより全ての静止画の表示時刻が示される際には、タイムマップのみを参照して表示時刻を取得することができる。N番目のAVC静止画の表示時刻から、N+1番目のAVC静止画の表示時刻までの間は、N番目のAVC静止画の表示をフリーズする、すなわち、N番目のAVC静止画を繰り返し表示することにする。
AVC静止画を再生する際には、AVC静止画のデータからフレームレートを取得できることが望ましい。MPEG−4 AVCにおいては、動画ストリームの表示レートを、SPS内のVUI(Video Usability Information)により示すことができる。具体的には、num_units_in_tick、time_scale、fixed_frame_rate_flagの3つのフィールドを参照する。ここで、time_scaleはタイムスケールを示し、例えば、30000Hzで動作するクロックのtime_scaleは30000とできる。num_units_in_tickは、クロックが動作する時間を示す基本単位であり、例えば、time_scaleが30000であるクロックのnum_units_in_tickが1001であれば、クロックが動作する際の基本周期が29.97Hzであることを示せる。また、fixed_frame_rate_flagをセットすることにより、フレームレートが固定であると示すことができる。MPEG−4 AVCにおいては、これらのフィールドを用いて、連続する2枚のピクチャの表示時刻の差分値を示すことができるが、本実施の形態では、これらのフィールドを用いて、AVC静止画を繰り返し表示する際のフレームレートを示すことにする。まず、fixed_frame_rate_flagを1にセットすることにより、フレームレートが固定であることを示す。次に、フレームレートを23.976Hzに設定する際には、例えばnum_units_in_tickを1001に、time_scaleを24000に、それぞれセットする。つまり、フレームレート =time_scale/num_units_in_tick となるように両フィールドを設定する。さらに、VUI、およびVUIにおける上記3つのフィールドが存在することを保証するために、SPS内のvui_parameters_present_flag、およびVUI内のtiming_info_present_flagを共に1にセットする。N番目のAVC静止画が、最終のAVC静止画である際には、ユーザ動作があるまで、あるいは、プログラムにより予め定められた次の動作等が開始するまで表示をフリーズさせることとする。なお、フレームレートの設定方法は、time_scale/num_units_in_tickに制限されるものではない。例えば、MPEG−4 AVCの動画ストリームにおいては、time_scale/num_units_in_tickはフィールドのレート(フィールドの表示間隔を示すパラメータ)を示すため、フレームレートはtime_scale/num_units_in_tick/2となる。従って、静止画においてもフレームレートをtime_scale/num_units_in_tic/2としてもよい。
上記の方法により示されるフレームレートは、BD管理情報内で示されるフレームレート値と一致するものとする。具体的には、ストリームの符号化パラメータを示す情報であるStreamCodingInfoにおけるframe_rateフィールドにより示される値と一致する。
なお、AVC静止画を繰り返し表示する際の表示周期は、上記の方法により示されるフレームレートから取得できる。この表示周期を、フレームグリッド、あるいはフィールドグリッドの整数倍としてもよい。ここで、グリッドとは、フレームあるいはフィールドを表示できるタイミングを示す。こうすることで、ビデオ、グラフィックスなど他の映像ソースとの同期再生を保証することができる。ここで、フレームグリッド、あるいはフィールドグリッドはビデオなど特定のストリームのフレームレートを基準として生成される。さらに、N番目とN+1番目のAVC静止画の表示時刻の差分値は、フレームグリッド、あるいはフィールドグリッドの整数倍とすることにしてもよい。
AVC静止画を再生する際に参照するタイムマップとしては、実施の形態2におけるタイムマップを使用する。
なお、BD ROM規格などにおいて、num_units_in_tick、time_scale、fixed_frame_rate_flagのデフォルト値を規定することにより、これらのフィールドを省略することにしてもよい。
なお、ビデオストリームの場合にはストリーム内で解像度を変更することは禁止されているが、静止画のストリームでは解像度を変換しても復号動作におけるバッファ管理などを破綻なく実現できるため、ストリーム内で解像度を変更できることにしてもよい。ここで、解像度はSPS内のフィールドにより示される。
の前半
なお、MPGE−4 AVC以外の符号化方式であっても、同様のデータ構造をもつ場合には、本実施の形態のデータ構造、および再生方法を適用できる。
の後半
(実施の形態4)
さらに、上記各実施の形態で示した情報記録媒体、その符号化方法、復号化方法および多重化方法を実現するためのプログラムを、フレキシブルディスク等の記録媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
の前半
なお、MPGE−4 AVC以外の符号化方式であっても、同様のデータ構造をもつ場合には、本実施の形態のデータ構造、および再生方法を適用できる。
の後半
(実施の形態4)
さらに、上記各実施の形態で示した情報記録媒体、その符号化方法、復号化方法および多重化方法を実現するためのプログラムを、フレキシブルディスク等の記録媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
図43A〜図43Cは、上記各実施の形態の符号化方法および復後か方法を、フレキシブルディスク等の記録媒体に記録されたプログラムを用いて、コンピュータシステムにより実施する場合の説明図である。
図43Bは、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図43Aは、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクFDはケースF内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックTrが
形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクFD上に割り当てられた領域に、上記プログラムが記録されている。
形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクFD上に割り当てられた領域に、上記プログラムが記録されている。
また、図43Cは、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。符号化方法および復号化方法を実現する上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsから上記プログラムをフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより符号化方法および復号化方法を実現する再生方法および記録方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ICカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。
なお、図6、図12、図13等に示したブロック図の各機能ブロックは典型的には集積回路装置であるLSIとして実現される。このLSIは1チップ化されても良いし、複数チップ化されても良い。(例えばメモリ以外の機能ブロックが1チップ化されていても良い。)ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
また、各機能ブロックのうち、データを格納するユニットだけ1チップ化せずに、本実施形態の記録媒体115のように別構成としても良い。
なお、図6、図12、図13等に示したブロック図の各機能ブロックおよび図5、図7〜図9、図32、図33に示したフローチャートにおいて、中心的な部分はプロセッサおよびプログラムによっても実現される。
このように、上記実施の形態で示した画像符号化方法あるいは画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
本発明は、画像を符号化又は復号化するする符号化装置、復号化装置に適しており、動画配信するウェブサーバー、それを受信するネットワーク端末、動画の記録再生可能なデジタルカメラ、カメラ付き携帯電話機、BDなどの光ディスク録画/再生機、PDA、パーソナルコンピュータ等に適している。
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 ドライブコントローラ
1001 符号化部
1002 システム多重化部
1003 結合部
2000 多重化装置
2001 MinCR決定部
2002 MinCR情報生成部
2003 管理情報作成部
3207 動画ダウンコンバータ
3215 字幕ダウンコンバータ
3223 静止画ダウンコンバータ
3228 音声ダウンコンバータ
S101 ディスク挿入ステップ
S102 BD.INFO読み込みステップ
S103 BD.PROG読み込みステップ
S104 ファーストイベント生成ステップ
S105 イベントハンドラ実行ステップ
S201 UOP受付ステップ
S202 UOPイベント生成ステップ
S203 メニューコール判定ステップ
S204 イベント生成ステップ
S205 イベントハンドラ実行ステップ
S301 プレイリスト再生開始ステップ
S302 プレイリスト情報(XXX.PL)読み込みステップ
S303 プレイリストプログラム(XXX.PROG)読み込みステップ
S304 セル再生開始ステップ
S305 AV再生開始ステップ
S401 AV再生開始ステップ
S402 VOB情報(YYY.VOBI)読み込みステップ
S403 VOB(YYY.VOB)読み込みステップ
S404 VOB再生開始ステップ
S405 VOB再生終了ステップ
S406 次セル存在判定ステップ
S501 プレイリスト再生開始ステップ
S502 プレイリスト再生終了判定ステップ
S503 タイムイベント時刻判定ステップ
S504 イベント生成ステップ
S505 イベントハンドラ実行ステップ
S601 プレイリスト再生開始ステップ
S602 プレイリスト再生終了判定ステップ
S603 UOP受付判定ステップ
S604 UOPイベント生成ステップ
S605 メニューコール判定ステップ
S606 ユーザーイベント有効期間判定ステップ
S607 イベント生成ステップ
S608 イベントハンドラ実行ステップ
S701 プレイリスト再生開始ステップ
S702 プレイリスト再生終了判定ステップ
S703 字幕描画開始判定ステップ
S704 字幕描画ステップ
S705 字幕表示終了判定ステップ
S706 字幕消去ステップ
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 ドライブコントローラ
1001 符号化部
1002 システム多重化部
1003 結合部
2000 多重化装置
2001 MinCR決定部
2002 MinCR情報生成部
2003 管理情報作成部
3207 動画ダウンコンバータ
3215 字幕ダウンコンバータ
3223 静止画ダウンコンバータ
3228 音声ダウンコンバータ
S101 ディスク挿入ステップ
S102 BD.INFO読み込みステップ
S103 BD.PROG読み込みステップ
S104 ファーストイベント生成ステップ
S105 イベントハンドラ実行ステップ
S201 UOP受付ステップ
S202 UOPイベント生成ステップ
S203 メニューコール判定ステップ
S204 イベント生成ステップ
S205 イベントハンドラ実行ステップ
S301 プレイリスト再生開始ステップ
S302 プレイリスト情報(XXX.PL)読み込みステップ
S303 プレイリストプログラム(XXX.PROG)読み込みステップ
S304 セル再生開始ステップ
S305 AV再生開始ステップ
S401 AV再生開始ステップ
S402 VOB情報(YYY.VOBI)読み込みステップ
S403 VOB(YYY.VOB)読み込みステップ
S404 VOB再生開始ステップ
S405 VOB再生終了ステップ
S406 次セル存在判定ステップ
S501 プレイリスト再生開始ステップ
S502 プレイリスト再生終了判定ステップ
S503 タイムイベント時刻判定ステップ
S504 イベント生成ステップ
S505 イベントハンドラ実行ステップ
S601 プレイリスト再生開始ステップ
S602 プレイリスト再生終了判定ステップ
S603 UOP受付判定ステップ
S604 UOPイベント生成ステップ
S605 メニューコール判定ステップ
S606 ユーザーイベント有効期間判定ステップ
S607 イベント生成ステップ
S608 イベントハンドラ実行ステップ
S701 プレイリスト再生開始ステップ
S702 プレイリスト再生終了判定ステップ
S703 字幕描画開始判定ステップ
S704 字幕描画ステップ
S705 字幕表示終了判定ステップ
S706 字幕消去ステップ
Claims (15)
- 静止画および動画像を符号化する画像符号化装置であって、
静止画の1ピクチャ当たりの符号量の上限を示す第1の上限と、動画像の1ピクチャ当たりの符号量の上限を示す第2の上限とを決定する決定手段と、
前記第1および第2の上限を満たすように静止画および動画像を符号化する符号化手段と、
符号化された静止画と符号化された動画像とを多重化することによりストリームを生成する多重化手段と、
前記第1および第2の上限を特定する管理情報を生成する生成手段と、
前記ストリームと管理情報とを出力する出力手段と
を備えることを特徴とする画像符号化装置。 - 前記管理情報は、前記ストリームの所定単位毎に対応するフラグを含み、
前記フラグは、対応する所定単位が動画像であるか静止画であるかを示す
ことを請求項1記載の特徴とする画像符号化装置。 - 前記第1および第2の上限は、1ピクチャ当たりの符号量が原画のデータ量に対してどれだけ圧縮されているか示す
ことを請求項2記載の特徴とする画像符号化装置。 - 前記第1の上限は、第2の上限よりも大きい
ことを請求項2記載の特徴とする画像符号化装置。 - 前記符号化された静止画は、静止画の復号時に参照される初期化情報を格納する第1の単位と、前記静止画の画素データを格納する第2の単位とを含み、
前記第1の単位は、前記静止画を繰り返し表示する際のフレームレートを示す情報と、前記フレームレートを示す情報が前記第1の単位に存在するかどうかを示す識別フラグとを含むことができ、
前記第1の単位が前記静止画のデータ内に存在する場合には、前記識別フラグがセットされていること
を特徴とする請求項1記載の画像符号化装置。 - 前記管理情報は、前記ストリーム内の全ての静止画のアドレスに関する情報を有する
ことを請求項1記載の特徴とする画像符号化装置。 - 画像復号化装置であって、
符号化された動画像および符号化された静止画を含むストリームを取得する取得手段と、
前記ストリームから符号化された静止画と符号化された動画像と分離する分離手段と、
分離後の符号化された動画像および符号化された静止画を復号する復号化手段と
を備え、
前記復号化手段は、符号化された静止画のデコードタイムスタンプからプレゼンテーションタイムスタンプまでのデコード期間にマージンを付与し、付与後のデコード期間に従って符号化された静止画のデコードまたは出力を開始する
ことを特徴とする画像復号化装置。 - 画像復号化手段は、
符号化された静止画のデコードタイムスタンプの時刻にデコードを開始し、
前記プレゼンテーションタイムスタンプの時刻までに静止画のデコードが完了しなかった場合に、前記プレゼンテーションタイムスタンプにマージンを付与し、付与後のプレゼンテーションタイムスタンプに復号化された静止画を出力する
ことを特徴とする請求項7記載の画像復号化装置。 - 画像復号化手段は、
前記デコードタイムスタンプにマージンを付与し、付与後のデコードタイムスタンプの時刻に静止画のデコードを開始する
ことを特徴とする請求項7記載の画像復号化装置。 - 前記符号化された静止画は、静止画の復号時に参照される初期化情報を格納する第1の単位と、前記静止画の画素データを格納する第2の単位とを含み、
前記第1の単位は、前記静止画を繰り返し表示する際のフレームレートを示す情報と、前記フレームレートを示す情報が前記第1の単位に存在するかどうかを示す識別フラグとを含むことができ、
前記第1の単位が前記静止画のデータ内に存在する場合は、前記識別フラグがセットされ、
前記復号化手段は、復号化が完了した静止画のプレゼンテーションタイムスタンプから、復号順が次の静止画のプレゼンテーションタイムスタンプまでの間、前記フレームレートに従って前記復号化が完了した静止画を出力する
ことを特徴とする請求項7記載の画像復号化装置。 - 静止画および動画像を符号化する画像符号化方法であって、
静止画の1ピクチャ当たりの符号量の上限を示す第1の上限と、動画像の1ピクチャ当たりの符号量の上限を示す第2の上限とを決定し、
前記第1および第2の上限を満たすように静止画および動画像を符号化し、
符号化された静止画と符号化された動画像と多重化することによりストリームを生成し、
前記第1および第2の上限を特定する管理情報を生成し、
前記ストリームと管理情報とを出力する
ことを特徴とする画像符号化方法。 - 画像復号化方法であって、
符号化された動画像および符号化された静止画を含むストリームを取得し、
前記ストリームから符号化された静止画と符号化された動画像と分離し、
分離後の符号化された動画像および符号化された静止画を復号し、
前記静止画の復号において、符号化された静止画のデコードタイムスタンプからプレゼンテーションタイムスタンプまでのデコード期間にマージンを付与し、付与後のデコード期間に従って符号化された静止画のデコードまたは出力を開始する
ことを特徴とする画像復号化方法。 - 静止画および動画像を符号化する半導体装置であって、
静止画の1ピクチャ当たりの符号量の上限を示す第1の上限と、動画像の1ピクチャ当たりの符号量の上限を示す第2の上限とを決定する決定手段と、
前記第1および第2の上限を満たすように静止画および動画像を符号化する符号化手段と、
符号化された静止画と符号化された動画像とを多重化することによりストリームを生成する多重化手段と、
前記第1および第2の上限を特定する管理情報を生成する生成手段と、
前記ストリームと管理情報とを出力する出力手段と
を備えることを特徴とする半導体装置。 - 半導体装置であって、
符号化された動画像および符号化された静止画を含むストリームを取得する取得手段と、
前記ストリームから符号化された静止画と符号化された動画像と分離する分離手段と、
分離後の符号化された動画像および符号化された静止画を復号する復号化手段と
を備え、
前記復号化手段は、符号化された静止画のデコードタイムスタンプからプレゼンテーションタイムスタンプまでのデコード期間にマージンを付与し、付与後のデコード期間に従って符号化された静止画のデコードまたは出力を開始する
ことを特徴とする半導体装置。 - データ構造を有する符号列であって、
前記符号列は、ストリームデータと管理情報とを含み、
前記ストリームデータは、符号化された静止画と符号化された動画像とを含み、
前記管理情報は、静止画の1ピクチャ当たりの符号量の上限を示す第1の上限と、動画像の1ピクチャ当たりの符号量の上限を示す第2の上限とを特定する情報を含む
を備えることを特徴とする符号列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005230675A JP2006087081A (ja) | 2004-08-18 | 2005-08-09 | 画像符号化装置、画像復号化装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004238431 | 2004-08-18 | ||
JP2005230675A JP2006087081A (ja) | 2004-08-18 | 2005-08-09 | 画像符号化装置、画像復号化装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006087081A true JP2006087081A (ja) | 2006-03-30 |
Family
ID=36165156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005230675A Withdrawn JP2006087081A (ja) | 2004-08-18 | 2005-08-09 | 画像符号化装置、画像復号化装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006087081A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010131584A1 (ja) * | 2009-05-12 | 2010-11-18 | ソニー株式会社 | データ構造および記録媒体、並びに、再生装置、再生方法、プログラム、およびプログラム格納媒体 |
JP2012130036A (ja) * | 2009-05-12 | 2012-07-05 | Sony Corp | 記録方法 |
-
2005
- 2005-08-09 JP JP2005230675A patent/JP2006087081A/ja not_active Withdrawn
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010131584A1 (ja) * | 2009-05-12 | 2010-11-18 | ソニー株式会社 | データ構造および記録媒体、並びに、再生装置、再生方法、プログラム、およびプログラム格納媒体 |
JP2011041249A (ja) * | 2009-05-12 | 2011-02-24 | Sony Corp | データ構造および記録媒体、並びに、再生装置、再生方法、プログラム、およびプログラム格納媒体 |
CN102084659A (zh) * | 2009-05-12 | 2011-06-01 | 索尼公司 | 数据结构和记录介质、播放设备、播放方法、程序和程序存储介质 |
JP2012130036A (ja) * | 2009-05-12 | 2012-07-05 | Sony Corp | 記録方法 |
CN102625123A (zh) * | 2009-05-12 | 2012-08-01 | 索尼公司 | 播放设备 |
US8730304B2 (en) | 2009-05-12 | 2014-05-20 | Sony Corporation | Information processing apparatus, method, program and recording medium |
CN102625123B (zh) * | 2009-05-12 | 2015-01-07 | 索尼公司 | 播放设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4714191B2 (ja) | 画像符号化装置、画像復号化装置および方法 | |
JP4516109B2 (ja) | 多重化方法、多重化装置、逆多重化方法、逆多重化装置および記録方法 | |
JP6227828B2 (ja) | 再生装置および再生方法 | |
JP6466258B2 (ja) | 再生装置、再生方法および記録媒体 | |
WO2016059761A1 (ja) | 記録媒体、再生方法、および再生装置 | |
WO2016038811A1 (ja) | 記録媒体、再生装置、および再生方法 | |
JP2006087081A (ja) | 画像符号化装置、画像復号化装置 | |
WO2016021120A1 (ja) | 再生装置、再生方法および記録媒体 | |
JP2007235185A (ja) | ランダムアクセスに適した情報記録媒体、およびその記録/再生装置、記録/再生方法 | |
JP2006013726A (ja) | 情報記録媒体、およびその記録/再生装置、記録/再生方法 | |
JP2007048383A (ja) | 情報記録媒体およびその記録装置、記録方法、記録プログラム | |
JP2019067481A (ja) | 記録媒体 | |
JP2006073127A (ja) | ランダムアクセスに適した情報記録媒体、およびその記録/再生装置、記録/再生方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20070221 |