(57)【要約】【課題】復号時の処理負荷を増大させることなく再生途切れを発生させない画像符号化方法を提供する。【解決手段】周囲の状況に応じて適応的に符号化を行う可変長符号化方式と、周囲の状況に応じて適応的に符号化を行う２値の算術符号化方式とを切り替えて動画像を符号化する動画像符号化方法であって、シームレスな連続再生の対象となる連続区間を決定し、前記連続区間を構成し、復号順で先頭のピクチャが画面内符号化ピクチャである各再生区間において、前記可変長符号化方式、または、前記算術符号化方式を用いて、動画像ストリームを生成し、前記再生区間の再生順を示すプレイリストを含み、前記再生区間における符号化方式が、前記可変長符号化方式、または、前記算術符号化方式に固定されていることを、前記再生区間ごとに示す第１フラグ情報が、前記プレイリスト内に格納された管理情報を生成する。【選択図】図１１
2010028861.tif 000002
【特許請求の範囲】
【請求項１】
周囲の状況に応じて、適応的に符号化を行う可変長符号化方式と、周囲の状況に応じて、適応的に符号化を行う２値の算術符号化方式とを切り替えて動画像を符号化する動画像符号化方法であって、
シームレスな連続再生の対象となる連続区間を決定する決定ステップと、
前記連続区間を構成し、復号順で先頭のピクチャが画面内符号化ピクチャである各再生区間において、前記可変長符号化方式、および、前記算術符号化方式のいずれか一方を用いて、動画像を符号化することにより動画像ストリームを生成する生成ステップと、
前記再生区間の再生順を示すプレイリストを含み、前記再生区間における符号化方式が、前記可変長符号化方式、および、前記算術符号化方式のいずれか一方に固定されていることを、前記再生区間ごとに示す第１フラグ情報が、前記プレイリスト内に格納された管理情報を生成する管理情報生成ステップと
を有することを特徴とする動画像符号化方法。
【請求項２】
周囲の状況に応じて、適応的に符号化を行う可変長符号化方式と、周囲の状況に応じて、適応的に符号化を行う２値の算術符号化方式とを切り替えて動画像を符号化する動画像符号化装置であって、
シームレスな連続再生の対象となる連続区間を決定する決定手段と、
前記連続区間を構成し、復号順で先頭のピクチャが画面内符号化ピクチャである各再生区間において、前記可変長符号化方式、および、前記算術符号化方式のいずれか一方を用いて、動画像を符号化することにより動画像ストリームを生成する符号化手段と、
前記再生区間の再生順を示すプレイリストを含み、前記再生区間における符号化方式が、前記可変長符号化方式、および、前記算術符号化方式のいずれか一方に固定されていることを、前記再生区間ごとに示す第１フラグ情報が、前記プレイリスト内に格納された管理情報を生成する生成手段と
を備えることを特徴とする動画像符号化装置。
【請求項３】
周囲の状況に応じて、適応的に符号化を行う可変長符号化方式と、周囲の状況に応じて、適応的に符号化を行う２値の算術符号化方式とを切り換えて符号化された動画像と、その他の情報とを含む動画像ストリームと、管理情報とから動画像を復号する動画像復号化方法であって、
シームレスな連続再生の対象となる連続区間を構成し、復号順で先頭のピクチャが画面内符号化ピクチャである再生区間において、連続する前記再生区間における符号化方式が、前記可変長符号化方式、および、前記算術符号化方式のいずれか一方に固定されていることを示す第１フラグ情報を、前記管理情報が有する前記再生区間の再生順を示すプレイリストから、前記再生区間ごとに抽出する第１の抽出ステップと、
前記第１フラグ情報を抽出した場合に、同一の符号化方式を用いて復号を行うことを決定する決定ステップと、
前記動画像ストリームから、符号化方式が、前記可変長符号化方式、および、前記算術符号化方式のいずれであるかを示す第２フラグ情報を抽出する第２の抽出ステップと、
前記決定ステップにおいて同一の符号化方式を用いて復号すると決定した場合に、前記第２フラグが示す符号化方式を用いて、連続する前記再生区間の接続点においてシームレスに復号を行う復号ステップと
を有することを特徴とする動画像復号化方法。
【請求項４】
周囲の状況に応じて、適応的に符号化を行う可変長符号化方式と、周囲の状況に応じて、適応的に符号化を行う２値の算術符号化方式とを切り換えて符号化された動画像と、その他の情報とを含む動画像ストリームと、管理情報とから動画像を復号する動画像復号化装置であって、
シームレスな連続再生の対象となる連続区間を構成し、復号順で先頭のピクチャが画面内符号化ピクチャである再生区間において、連続する前記再生区間における符号化方式が、前記可変長符号化方式、および、前記算術符号化方式のいずれか一方に固定されていることを示す第１フラグ情報を、前記管理情報が有する前記再生区間の再生順を示すプレイリストから、前記再生区間ごとに抽出する第１の抽出手段と、
前記第１フラグ情報を抽出した場合に、同一の符号化方式を用いて復号を行うことを決定する決定手段と、
前記動画像ストリームから、符号化方式が、前記可変長符号化方式、および、前記算術符号化方式のいずれであるかを示す第２フラグ情報を抽出する第２の抽出手段と、
前記決定手段において同一の符号化方式を用いて復号すると決定した場合に、前記第２フラグが示す符号化方式を用いて、連続する前記再生区間の接続点においてシームレスに復号を行う復号手段と
を有することを特徴とする動画像復号化装置。
【請求項５】
周囲の状況に応じて、適応的に符号化を行う可変長符号化方式と、周囲の状況に応じて、適応的に符号化を行う２値の算術符号化方式とを切り替えて符号化した動画像を含む動画像ストリームと、管理情報とをコンピュータ読み取り可能な記録媒体に記録する記録方法であって、
シームレスな連続再生の対象となる連続区間を決定する決定ステップと、
前記連続区間を構成し、復号順で先頭のピクチャが画面内符号化ピクチャである各再生区間において、前記可変長符号化方式、および、前記算術符号化方式のいずれか一方を用いて、動画像を符号化することにより動画像ストリームを生成する生成ステップと、
前記再生区間の再生順を示すプレイリストを含み、前記再生区間における符号化方式が、前記可変長符号化方式、および、前記算術符号化方式のいずれか一方に固定されていることを、前記再生区間ごとに示す第１フラグ情報が、前記プレイリスト内に格納された管理情報を生成する管理情報生成ステップと、
前記動画像ストリームと管理情報とを記録媒体に記録する記録ステップと
を有することを特徴とする記録媒体への記録方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可変長符号化の方式を切り替えて動画像を符号化する動画像符号化方法および装置、動画像復号化方法および装置並びに記録方法に関する。
【背景技術】
【０００２】
従来の技術である、ＤＶＤ−Ｖｉｄｅｏディスク（以下単にＤＶＤと呼ぶ）について説明する。
【０００３】
図１は、ＤＶＤの構造を示した図である。図１の下段に示すように、ＤＶＤディスク上にはリード・インからリード・アウトまでの間に論理アドレス空間が設けられ、論理アドレス空間の先頭からファイルシステムのボリューム情報が記録され、続いて映像音声などのアプリケーションデータが記録されている。
【０００４】
ファイルシステムとは、ＩＳＯ９６６０やＵＤＦ（Ｕｎｉｖｅｒｓａｌ  Ｄｉｓｃ  Ｆｏｒｍａｔ）のことであり、ディスク上のデータをディレクトリまたはファイルと呼ばれる単位で表現する仕組みである。日常使っているＰＣ（パーソナルコンピュータ）の場合でも、ＦＡＴまたはＮＴＦＳと呼ばれるファイルシステムを通すことにより、ディレクトリやファイルという構造でハードディスクに記録されたデータがコンピュータ上で表現され、ユーザビリティを高めている。
【０００５】
ＤＶＤの場合、ＵＤＦおよびＩＳＯ９６６０両方を使用しており（両方を合わせて「ＵＤＦブリッジ」と呼ぶ事がある）、ＵＤＦまたはＩＳＯ９６６０どちらのファイルシステムドライバによってもデータの読み出しができるようになっている。勿論、書き換え型のＤＶＤディスクであるＤＶＤ−ＲＡＭ／Ｒ／ＲＷでは、これらファイルシステムを介し、物理的にデータの読み、書き、削除が可能である。
【０００６】
ＤＶＤ上に記録されたデータは、ＵＤＦブリッジを通して、図１左上に示すようなディレクトリまたはファイルとして見ることができる。ルートディレクトリ（図中「ＲＯＯＴ」）の直下に「ＶＩＤＥＯ＿ＴＳ」と呼ばれるディレクトリが置かれ、ここにＤＶＤのアプリケーションデータが記録されている。アプリケーションデータは、複数のファイルとして記録され、主なファイルとして以下のものがある。
【０００７】
ＶＩＤＥＯ＿ＴＳ．ＩＦＯ    ディスク再生制御情報ファイル
ＶＴＳ＿０１＿０．ＩＦＯ    ビデオタイトルセット＃１再生制御情報ファイル
ＶＴＳ＿０１＿０．ＶＯＢ    ビデオタイトルセット＃１ストリームファイル
．．．．．
【０００８】
拡張子として２つの種類が規定されており、「ＩＦＯ」は再生制御情報が記録されたファイルであって、「ＶＯＢ」はＡＶデータであるＭＰＥＧストリームが記録されたファイルである。再生制御情報とは、ＤＶＤで採用されたインタラクティビティ（ユーザの操作に応じて再生を動的に変化させる技術）を実現するための情報や、メタデータのようなタイトルやＡＶストリームに付属する情報などのことである。また、ＤＶＤでは一般的に再生制御情報のことをナビゲーション情報と呼ぶことがある。
【０００９】
再生制御情報ファイルは、ディスク全体を管理する「ＶＩＤＥＯ＿ＴＳ．ＩＦＯ」と、個々のビデオタイトルセット（ＤＶＤでは複数のタイトル、言い換えれば異なる映画や異なるバージョンの映画を１枚のディスクに記録することが可能である。）毎の再生制御情報である「ＶＴＳ＿０１＿０．ＩＦＯ」がある。ここで、ファイル名ボディにある「０１」はビデオタイトルセットの番号を示しており、例えば、ビデオタイトルセット＃２の場合は、「ＶＴＳ＿０２＿０．ＩＦＯ」となる。
【００１０】
図１の右上部は、ＤＶＤのアプリケーション層でのＤＶＤナビゲーション空間であり、前述した再生制御情報が展開された論理構造空間である。「ＶＩＤＥＯ＿ＴＳ．ＩＦＯ」内の情報は、ＶＭＧＩ（Ｖｉｄｅｏ  Ｍａｎａｇｅｒ  Ｉｎｆｏｒｍａｔｉｏｎ）として、「ＶＴＳ＿０１＿０．ＩＦＯ」または、他のビデオタイトルセット毎に存在する再生制御情報はＶＴＳＩ（Ｖｉｄｅｏ  Ｔｉｔｌｅ  Ｓｅｔ  Ｉｎｆｏｒｍａｔｉｏｎ）としてＤＶＤナビゲーション空間に展開される。
【００１１】
ＶＴＳＩの中にはＰＧＣ（Ｐｒｏｇｒａｍ  Ｃｈａｉｎ）と呼ばれる再生シーケンスの情報であるＰＧＣＩ（Ｐｒｏｇｒａｍ  Ｃｈａｉｎ  Ｉｎｆｏｒｍａｔｉｏｎ）が記述されている。ＰＧＣＩは、Ｃｅｌｌの集合とコマンドと呼ばれる一種のプログラミング情報によって構成されている。Ｃｅｌｌ自身はＶＯＢ（Ｖｉｄｅｏ  Ｏｂｊｅｃｔの略であり、ＭＰＥＧストリームを指す）の一部区間または全部区間の集合であり、Ｃｅｌｌの再生は、当該ＶＯＢのＣｅｌｌによって指定された区間を再生することを意味している。
【００１２】
コマンドは、ＤＶＤの仮想マシンによって処理されるものであり、ブラウザ上で実行されるＪａｖａ（登録商標）スクリプトなどに近いものである。しかしながらＪａｖａ(登録商標）スクリプトが論理演算の他にウィンドウやブラウザの制御（例えば、新しいブラウザのウィンドウを開くなど）を行うのに対して、ＤＶＤのコマンドは、論理演算の他にＡＶタイトルの再生制御、例えば、再生するチャプタの指定などを実行するだけのものである点で異なっている。
【００１３】
Ｃｅｌｌはディスク上に記録されているＶＯＢの開始および終了アドレス（ディスク上での論理記録アドレス）をその内部情報として有しており、プレーヤは、Ｃｅｌｌに記述されたＶＯＢの開始および終了アドレス情報を使ってデータの読み出し、再生を実行する。
【００１４】
図２はＡＶストリーム中に埋め込まれているナビゲーション情報を説明する概略図である。ＤＶＤの特長であるインタラクティビティは前述した「ＶＩＤＥＯ＿ＴＳ．ＩＦＯ」や「ＶＴＳ＿０１＿０．ＩＦＯ」などに記録されているナビゲーション情報だけによって実現されているのではなく、幾つかの重要な情報はナビゲーション  パック（ナビパックまたは、ＮＶ＿ＰＣＫと称する）と呼ばれる専用キャリアを使いＶＯＢ内に映像、音声データと一緒に多重化されている。
【００１５】
ここでは簡単なインタラクティビティの例としてメニューを説明する。メニュー画面上には、幾つかのボタンが現れ、夫々のボタンには当該ボタンが選択実行された時の処理が定義されている。また、メニュー上では一つのボタンが選択されており（ハイライトによって選択ボタン上に半透明色がオーバーレイされており該ボタンが選択状態であることをユーザに示す）、ユーザは、リモコンの上下左右キーを使って、選択状態のボタンを上下左右の何れかのボタンに移動させることが出来る。リモコンの上下左右キーを使って、選択実行したいボタンまでハイライトを移動させ、決定する（決定キーを押す）ことによって対応するコマンドのプログラムが実行される。一般的には対応するタイトルやチャプタの再生がコマンドによって実行されている。
【００１６】
図２の左上部はＮＶ＿ＰＣＫ内に格納される制御情報の概要を示している。
【００１７】
ＮＶ＿ＰＣＫ内には、ハイライトカラー情報と個々のボタン情報などが含まれている。ハイライトカラー情報には、カラーパレット情報が記述され、オーバーレイ表示されるハイライトの半透明色が指定される。ボタン情報には、個々のボタンの位置情報である矩形領域情報と、当該ボタンから他のボタンへの移動情報（ユーザの上下左右キー操作夫々に対応する移動先ボタンの指定）と、ボタンコマンド情報（当該ボタンが決定された時に実行されるコマンド）が記述されている。
【００１８】
メニュー上のハイライトは、図２の中央右上部に示すように、オーバーレイ画像として作られる。オーバーレイ画像は、ボタン情報の矩形領域情報にカラーパレット情報の色をつけた物である。このオーバーレイ画像は図２の右部に示す背景画像と合成されて画面上に表示される。
【００１９】
上述のようにして、ＤＶＤではメニューを実現している。また、何故、ナビゲーションデータの一部をＮＶ＿ＰＣＫを使ってストリーム中に埋め込んでいるのは、ストリームと同期して動的にメニュー情報を更新したり（例えば、映画再生の途中５分〜１０分の間にだけメニューが表示されるなど）、同期タイミングが問題となりやすいアプリケーションの場合でも、問題なく実現できるようにしたためである。また、もう一つの大きな理由は、ＮＶ＿ＰＣＫには特殊再生を支援するための情報を格納し、ＤＶＤ再生時の早送り、巻き戻しなどの非通常再生時にも円滑にＡＶデータをデコードし再生させる等、ユーザの操作性を向上させるためである。
【００２０】
図３は、ＤＶＤのストリームであるＶＯＢのイメージである。図に示すように、映像、音声、字幕などのデータ（Ａ段）は、ＭＰＥＧシステム規格（ＩＳＯ／ＩＥＣ１３８１８−１）に基づいて、パケットおよびパック化し（Ｂ段）、夫々を多重化して１本のＭＰＥＧプログラムストリームにしている（Ｃ段）。また、前述した通りインタラクティブを実現するためのボタンコマンドを含んだＮＶ＿ＰＣＫも一緒に多重化をされている。
【００２１】
ＭＰＥＧシステムの多重化の特徴は、多重化する個々のデータは、そのデコード順に基づくビット列になっているが、多重化されるデータ間、即ち、映像、音声、字幕の間は必ずしも再生順に基づいてビット列が形成されている訳ではない。これは多重化したＭＰＥＧシステムストリームのデコーダモデル（一般にＳｙｓｔｅｍ  Ｔａｒｇｅｔ  Ｄｅｃｏｄｅｒ、またはＳＴＤと呼ばれる（図３のＤ段））が多重化を解いた後に個々のエレメンタリーストリームに対応するデコーダバッファを持ち、デコードタイミングまでに一時的にデータを蓄積している事に由来している。例えばＤＶＤ−Ｖｉｄｅｏで規定されるデコーダバッファは、個々のエレメンタリーストリーム毎にサイズが異なり、映像に対しては、２３２ＫＢ、音声に対しては４ＫＢ、字幕に対しては５２ＫＢを夫々有している。
【００２２】
即ち、映像データと並んで多重化されている字幕データが必ずしも同一タイミングでデコードもしくは再生されているわけでは無い。
【００２３】
一方、次世代ＤＶＤ規格としてＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）がある。
【００２４】
ＤＶＤでは、標準画質（Ｓｔａｎｄａｒｄ  Ｄｅｆｉｎｉｔｉｏｎ画質）の映像に対する、パッケージ配信（ＤＶＤ−Ｖｉｄｅｏ規格）やアナログ放送の記録（ＤＶＤ  Ｖｉｄｅｏ  Ｒｅｃｏｒｄｉｎｇ規格）を目的としてきたが、ＢＤでは、高精度画質（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ画質）のデジタル放送をそのまま記録する（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ  Ｒｅｗｒｉｔａｂｌｅ規格、以下ＢＤ−ＲＥ）ことができる。
【００２５】
しかしながら、ＢＤ−ＲＥ規格は広くデジタル放送の記録を目的としているため、特殊再生の支援情報などが最適化されていない。将来的に、高精度映像をデジタル放送よりも高レートでパッケージ配信させることを考えると（ＢＤ−ＲＯＭ規格）、非通常再生時でもユーザにストレスを与えない仕組みが必要となってくる。
【００２６】
また、ＢＤにおける動画像の符号化方式の１つとして、ＭＰＥＧ−４  ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）が採用されている。ＭＰＥＧ−４  ＡＶＣとは、ＩＳＯ／ＩＥＣ（国際標準化機構  国際電気標準会議）のJTC1/SC29/WG11とＩＴＵ−Ｔ（国際電気通信連合  電気通信標準化部門）が共同で策定した高圧縮率の次世代符号化方式である。
【００２７】
一般に動画像の符号化では、時間方向および空間方向の冗長性を削減することによって情報量の圧縮を行う。そこで時間的な冗長性の削減を目的とする画面間予測符号化では、前方または後方のピクチャを参照してブロック単位で動きの検出および予測画像の作成を行い、得られた予測画像と符号化対象ピクチャとの差分値に対して符号化を行う。ここで、ピクチャとは１枚の画面を表す用語であり、プログレッシブ画像ではフレームを意味し、インタレース画像ではフレームもしくはフィールドを意味する。ここで、インタレース画像とは、１つのフレームが時刻の異なる２つのフィールドから構成される画像である。インタレース画像の符号化や復号化処理においては、１つのフレームをフレームのまま処理したり、２つのフィールドとして処理したり、フレーム内のブロック毎にフレーム構造またはフィールド構造として処理したりすることができる。
【００２８】
参照画像を持たず画面内予測符号化を行うものをＩピクチャと呼ぶ。また、１枚のピクチャのみを参照し画面間予測符号化を行うものをＰピクチャと呼ぶ。また、同時に２枚のピクチャを参照して画面間予測符号化を行うことのできるものをＢピクチャと呼ぶ。Ｂピクチャは表示時間が前方もしくは後方から任意の組み合わせとして２枚のピクチャを参照することが可能である。参照画像（参照ピクチャ）は符号化および復号化の基本単位であるブロックごとに指定することができるが、符号化を行ったビットストリーム中に先に記述される方の参照ピクチャを第１参照ピクチャ、後に記述される方を第２参照ピクチャとして区別する。ただし、これらのピクチャを符号化および復号化する場合の条件として、参照するピクチャが既に符号化および復号化されている必要がある。
【００２９】
符号化する画像から、画面内予測、あるいは画面間予測から得られた予測信号を引き算した残差信号は、周波数変換して量子化した後に、可変長符号化されて符号化ストリームとして出力される。ＭＰＥＧ−４  ＡＶＣには、可変長符号化の方式としてＣＡＶＬＣ（Context-Adaptive Variable Length Coding：コンテキスト適応型可変長符号化）とＣＡＢＡＣ（Context-Adaptive Binary Arithmetic Coding：コンテキスト適応型２値算術符号化）の２種類があり、ピクチャ単位で切り替えることができる。ここで、コンテキスト適応型とは、周囲の状況に応じて効率の良い符号化方式を適応的に選択する方式である。
【００３０】
図４は、ＭＰＥＧ−４  ＡＶＣのストリームにおいて、ランダムアクセス可能な単位を構成するピクチャに適用される可変長符号化の方式を示す例である。ここで、ＭＰＥＧ−４  ＡＶＣでは、ＭＰＥＧ−２ビデオのＧＯＰ（Group of Pictures）に相当する概念は無いが他のピクチャに依存せずに復号化できる特別なピクチャ単位でデータを分割すればＧＯＰに相当するランダムアクセス可能な単位が構成できるので、これをランダムアクセス単位 （ＲＡＵ）と呼ぶことにする。図４に示すように、可変長符号化の方式としてＣＡＢＡＣ、あるいはＣＡＶＬＣが適用されるかがピクチャ単位で切り替わる。
【００３１】
次に、ＣＡＢＡＣとＣＡＶＬＣとでは可変長復号時の処理が異なるため、図５Ａから図５Ｃを参照してそれぞれの可変長復号処理について説明する。図５Ａは、ＣＡＢＡＣにより可変長符号化されたデータの復号処理であるＣＡＢＡＤ（Context-Adaptive Binary Arithmetic Decoding：コンテキスト適応型２値算術復号）と、ＣＡＶＬＣにより可変長符号化されたデータの復号処理であるＣＡＶＬＤ（Context-Adaptive Variable Length Decoding：コンテキスト適応型可変長復号）とを行う画像復号化装置のブロック図を示す。
【００３２】
ＣＡＢＡＤを伴う画像復号化処理は次のように行われる。まず、ＣＡＢＡＣが適用された符号化データVinがストリームバッファ５００１に入力される。続いて、算術復号部５００２は、ストリームバッファから符号化データVrを読み出して算術復号を行い、２値データBin1を２値データバッファ５００３に入力する。２値データ復号処理部５００４は、２値データバッファ５００３から２値データBin2を取得して、２値データを復号し、復号後の２値データDin1を画素復元部５００５に入力する。画素復元部５００５は、２値復号データDin1に対して逆量子化、逆変換、および動き補償などを行い、画素を復元し、復号データ Voutを出力する。
【００３３】
図５Ｂは、ＣＡＢＡＣが適用された符号化データを復号開始してから、画素復元処理を実施するまでの動作を示すフローチャートである。まず、ステップ５００１において、ＣＡＢＡＣが適用された符号化データVinを算術復号して、２値データを生成する。次に、ステップ５００２において、１以上のピクチャなど、所定のデータ単位分の２値データが揃ったかどうか判定し、揃った際にはステップＳ５００３に進み、揃っていない場合にはステップＳ５００２の処理を繰り返す。ここで、２値データのバッファリングを行うのは、ＣＡＢＡＣでは、ピクチャあるいはマクロブロックあたりの２値データの符号量が著しく大きくなることがあり、それに伴い算術復号の処理負荷も著しく増加し得るため、ワーストケースにおいても途切れのない再生を実現するためには、予め一定量の算術復号処理を行っておく必要があるためである。ステップＳ５００３では、２値データを復号し、ステップＳ５００４において画素復元処理を実施する。このように、ＣＡＢＡＤにおいては、ステップＳ５００１およびステップＳ５００２において所定のデータ単位分の２値データが揃うまで画素復元処理を開始できないため、復号開始時に遅延が発生する。
【００３４】
ＣＡＶＬＤを伴う画像復号化処理は次のように行われる。まず、ＣＡＶＬＣが適用された符号化データVinがストリームバッファ５００１に入力される。続いて、ＣＡＶＬＤ部５００６は、可変長復号処理を行い、ＶＬＤ復号データDin2を画素復元部５００５に入力する。画素復元部５００５は、逆量子化、逆変換、および動き補償などを行い、画素を復元し、復号データVoutを出力する。図５Ｃは、ＣＡＶＬＣが適用された符号化データを復号開始してから、画素復元処理を実施するまでの動作を示すフローチャートである。まず、ステップS５００５においてＣＡＶＬＤを行い、続いて、ステップＳ５００４において画素復元処理を実施する。このように、ＣＡＶＬＤにおいては、ＣＡＢＡＤとは異なり、画素復元処理を開始する前に、所定のデータ単位分のデータが揃うまで待つ必要がないとともに、２値データバッファ５００３のような、可変長復号処理における中間バッファをもつ必要がない。
【００３５】
図６は、図４の例のように、ストリームの途中で可変長符号化の方式が切り替わるストリームを復号する、従来の復号装置の動作を示すフローチャートである。まず、ステップＳ５１０１において、ピクチャに適用された可変長符号化方式を示す情報を取得して、ステップＳ５１０２に進む。ステップＳ５１０２では、復号順で直前のピクチャと現ピクチャとで可変長符号化の方式が切り替わったかどうかを判定する。ＣＡＢＡＤとＣＡＶＬＤとでは、可変長復号処理におけるバッファの管理方法が異なるため、可変長符号化の方式が切り替わった際には、ステップＳ５１０３に進んでバッファ管理の切替え処理を行い、可変長符号化の方式が切り替わっていなければステップＳ５１０４に進む。ステップＳ５１０４において可変長符号化方式がＣＡＶＬＣであるかどうか判定し、ＣＡＶＬＣである際にはステップＳ５１０５に進んでＣＡＶＬＤ処理を行い、ＣＡＢＡＣである際にはステップＳ５１０６に進む。ステップＳ５１０６では、復号順で直前のピクチャと現ピクチャとで可変長符号化の方式が切り替わったかどうか判定し、切り替わった際にはステップＳ５１０７に進み、図５のステップＳ５００１とステップＳ５００２に示すように、所定のデータ単位分の２値データが揃うまで算術復号を行ってから、２値データを復号する。ステップＳ５１０６で可変長符号化の方式が切り替わっていないと判定された際には、ステップＳ５１０８に進み、通常のＣＡＢＡＤ処理を行う。ここで、通常のＣＡＢＡＤ処理とは、ＣＡＶＬＣからＣＡＢＡＣに切り替わる、あるいはＣＡＢＡＣが適用されたストリームの復号を開始する際に必要であった２値データのバッファリングを行わない処理である。最後に、ステップＳ５１０９において画素復元処理を実施する。
【先行技術文献】
【特許文献】
【００３６】
【特許文献１】特開２０００−２２８６５６号公報
【非特許文献】
【００３７】
【非特許文献１】Proposed SMPTE Standard for Television: VC-1 Compressed Video Bitstream Format and Decoding Process, Final Committee Draft 1 Revision 6, 2005.7.13
【発明の概要】
【発明が解決しようとする課題】
【００３８】
このように、従来のＭＰＥＧ−４  ＡＶＣのストリームが多重化された従来の情報記録媒体を再生する際には、ピクチャ単位で可変長符号化の方式が切り替わるため、ＣＡＶＬＣからＣＡＢＡＣに切り替わる際には、２値データのバッファリングに伴い遅延が発生するという第１の課題があった。特に、切り替わりの頻度が高くなると遅延が累積し、再生が途切れてしまうことがある。また、ＣＡＢＡＣとＣＡＶＬＣとでは、バッファ管理の方法が異なるため、可変長符号化の方式が切り替わるたびにバッファ管理の方式を切り替える必要があり、復号時の処理負荷が増大するという第２の課題があった。
【００３９】
本発明は、復号時の処理負荷を増大させることなく再生途切れを発生させない動画像符号化方法および装置、動画像復号化方法および装置並びに記録方法を提供することを目的とする。
【課題を解決するための手段】
【００４０】
上記目的を達成する画像符号化方法は、可変長符号化の方式を切り替えて動画像を符号化する動画像符号化方法であって、連続再生の対象となる連続区間を決定し、前記連続区間において可変長符号化の方式を切り替えないで、動画像を符号化することによりストリームを生成し、前記連続区間における可変長符号化の方式が固定であることを示す第１フラグ情報を含む管理情報を生成する。
【００４１】
この構成によれば、連続再生の対象となる区間において可変長符号化の方式を固定にしているので、可変長符号化の方式の切り替わりに起因する復号時の遅延をなくすことができ、復号時の再生品質を向上させることができる。また、バッファ管理方法の切替えに伴う処理負荷を軽減することができる。
【００４２】
ここで、前記連続区間は、１つのストリームに対応し、トランスポートストリームのパケット識別子によって特定される区間としてもよい。
【００４３】
ここで、前記連続区間を構成するストリームは、トランスポートストリームのパケット識別子によって特定されるようにしてもよい。
【００４４】
ここで、前記連続区間は、シームレス接続の対象となるストリームを含む区間としてもよい。
【００４５】
ここで、前記連続区間は、シームレスなマルチアングルを構成する各アングルに対応するストリームを含む区間としてもよい。
【００４６】
ここで、前記連続区間は、ノンシームレス・マルチアングルを構成する各アングルに対応するストリームを含む区間としてもよい。
【００４７】
ここで、動画像符号化方法は、さらに、符号化された動画像の所定単位毎に、可変長符号化の方式を示す第２フラグ情報をストリームに挿入するようにしてもよい。
【００４８】
ここで、前記管理情報は、ストリームの全部または一部を再生区間として、１つ以上の再生区間の再生順を示すプレイリストを含み、前記第１フラグ情報は、プレイリストに示される再生区間毎に生成され、前記所定単位は、MPEG-4 AVCで符号化されたストリームにおけるピクチャ・パラメータ・セットが付加される単位であるとしてもよい。
【００４９】
この構成によれば、ＭＰＥＧ−４  ＡＶＣなどストリーム内で可変長符号化の方式を切り替えられる符号化を用いて、復号時の処理負荷を増大させることなく再生途切れを防止することができる。
【００５０】
ここで、前記管理情報は、ストリームの全部または一部を再生区間として、１つ以上の再生区間の再生順を示すプレイリストを含み、前記第１フラグ情報は、プレイリストに示される再生区間毎に生成され、前記第２フラグ情報は、マクロブロック単位の情報についての可変長符号化方式を示し、前記所定単位は、ストリームにおけるピクチャ単位であり、前記マクロブロック単位の情報は、可変長符号化方式がビットプレーン符号化における第１の方式である場合には、ストリームにおけるマクロブロック単位で付加され、可変長符号化方式がビットプレーン符号化における第２の方式である場合には、ストリームにおけるピクチャ単位で付加され、前記第２の方式では、ピクチャ内の全マクロブロックに対応する第２フラグ情報がストリームにおけるピクチャの先頭に挿入されるようにしてもよい。
【００５１】
この構成によれば、ＶＣ−１などストリーム内で可変長符号化の方式を切り替えられる符号化を用いて、復号時の処理負荷を増大させることなく再生途切れを防止することができる。
【００５２】
ここで、前記第１フラグ情報は、前記連続区間における可変長符号化の方式が固定であることを示し、かつ、当該ストリームがシームレスの対象であることを示すようにしてもよい。
【００５３】
この構成によれば、管理情報のデータ量を削減することができる。
【００５４】
また、本発明の画像符号化装置は、上記画像符号化方法と同様の手段を備えるので、詳細は省略する。
【００５５】
また、本発明における、コンピュータ読取可能な構造を有するデータは、管理情報と、符号化された動画像を示すストリームとを含み、前記管理情報は、連続再生の対象となる連続区間における可変長符号化の方式が固定であることを示す第１フラグ情報を含み、前記ストリームは、符号化された動画像の所定単位毎に、可変長符号化の方式を示す第２フラグ情報とを含む。
【００５６】
この構成によれば、連続再生の対象となる区間において可変長符号化の方式を固定にしているので、可変長符号化の方式の切り替わりに起因する復号時の遅延をなくすことができ、復号時の再生品質を向上させることができる。また、バッファ管理方法の切替えに伴う処理負荷を軽減することができる。
【００５７】
ここで、前記管理情報は、ストリームの全部または一部を再生区間として、１つ以上の再生区間の再生順を示すプレイリストを含み、前記第１フラグ情報は、プレイリストに示される各ストリームに対応し、前記所定単位は、ストリームにおけるピクチャ・パラメータ・セットが付加される単位としてもよい。
【００５８】
ここで、前記管理情報は、ストリームの全部または一部を再生区間として、１つ以上の再生区間の再生順を示すプレイリストを含み、前記第１フラグ情報は、プレイリストに示される各ストリームに対応し、前記第２フラグ情報は、マクロブロック毎の可変長符号化方式を示し、前記所定単位は、可変長符号化方式が第１の方式である場合には、ストリームにおけるマクロブロック単位であり、可変長符号化方式が第２の方式である場合には、ストリームにおけるピクチャ単位であり、可変長符号化方式が前記第２の方式である場合に、ピクチャ内の全マクロブロックに対応する第２フラグ情報がストリームにおけるピクチャの先頭に挿入されるようにしてもよい。
【発明の効果】
【００５９】
以上のように、本発明の動画像符号化方法によれば、連続区間において動画像の符号化データに適用される可変長符号化の方式を固定としたことで、可変長符号化の方式の切り替わりに起因する復号時の遅延をなくすことができるとともに、バッファ管理方法の切替えに伴う処理負荷を軽減できる。例えば、ＭＰＥＧ−４  ＡＶＣや、ＶＣ−１などストリーム内で可変長符号化の方式を切り替えられるストリームが多重化されたパッケージメディアの再生品質を向上させることができるとともに、再生装置の処理負荷を軽減でき、その実用的価値が高い。
【図面の簡単な説明】
【００６０】
【図１】図１は、ＤＶＤの構成図である。
【図２】図２は、ハイライトの構成図である。
【図３】図３は、ＤＶＤでの多重化の例を示す図である。
【図４】図４は、従来のＭＰＥＧ−４  ＡＶＣストリームにおいてピクチャ単位に適用される可変長符号化方式の例を示す図である。
【図５Ａ】図５Ａは、ＣＡＢＡＣとＣＡＶＬＣが適用された符号化ストリームを復号する復号装置の構成を示すブロック図である。
【図５Ｂ】図５Ｂは、ＣＡＢＡＣが適用された符号化ストリームを復号する動作を示すフローチャートである。
【図５Ｃ】図５Ｃは、ＣＡＶＬＣが適用された符号化ストリームを復号する動作を示すフローチャートである。
【図６】図６は、従来の復号装置の動作を示すフローチャートである。
【図７】図７は、実施の形態１の情報記録媒体に格納されるＭＰＥＧ−４  ＡＶＣストリームにおいてピクチャ単位に適用される可変長符号化の方式の例を示す図である。
【図８】図８は、情報記録媒体において、可変長符号化の方式が固定である単位を示すフラグ情報の格納例を示す図である。
【図９】図９は、情報記録媒体を再生する復号装置の動作を示すフローチャートである。
【図１０】図１０は、多重化装置の構成を示すブロック図である。
【図１１】図１１は、多重化装置の動作を示すフローチャートである。
【図１２】図１２は、図１１中のＳ５２０１の具体例を示すフローチャートである。
【図１３】図１３は、図１１中のＳ５２０２の具体例を示すフローチャートである。
【図１４】図１４は、図１１中のＳ５２０３の他の具体例を示すフローチャートである。
【図１５】図１５は、図１１中のＳ５２０４の具体例を示すフローチャートである。
【図１６】図１６は、ＨＤ−ＤＶＤのデータ階層図である。
【図１７】図１７は、ＨＤ−ＤＶＤ上の論理空間の構成図である。
【図１８】図１８は、ＨＤ−ＤＶＤプレーヤの概要ブロック図である。
【図１９】図１９は、ＨＤ−ＤＶＤプレーヤの構成ブロック図である。
【図２０】図２０は、ＨＤ−ＤＶＤのアプリケーション空間の説明図である。
【図２１】図２１は、ＭＰＥＧストリーム（ＶＯＢ）の構成図である。
【図２２】図２２は、パックの構成図である。
【図２３】図２３は、ＡＶストリームとプレーヤ構成の関係を説明する図である。
【図２４】図２４は、トラックバッファへのＡＶデータ連続供給モデル図である。
【図２５】図２５は、ＶＯＢ情報ファイル構成図である。
【図２６】図２６は、タイムマップの説明図である。
【図２７】図２７は、プレイリストファイルの構成図である。
【図２８】図２８は、プレイリストに対応するプログラムファイルの構成図である。
【図２９】図２９は、ＢＤディスク全体管理情報ファイルの構成図である。
【図３０】図３０は、グローバルイベントハンドラを記録するファイルの構成図である。
【図３１】図３１は、タイムイベントの例を説明する図である。
【図３２】図３２は、ユーザイベントの例を説明する図である。
【図３３】図３３は、グローバルイベントハンドラの例を説明する図である。
【図３４】図３４は、仮想マシンの構成図である。
【図３５】図３５は、プレーヤ変数テーブルの図である。
【図３６】図３６は、イベントハンドラ（タイムイベント）の例を示す図である。
【図３７】図３７は、イベントハンドラ（ユーザイベント）の例を示す図である。
【図３８】図３８は、プレーヤの基本処理のフローチャートである。
【図３９】図３９は、プレイリスト再生処理のフローチャートである。
【図４０】図４０は、イベント処理のフローチャートである。
【図４１】図４１は、字幕処理のフローチャートである。
【図４２】図４２は、実施の形態２のタイムマップと静止画の関係を説明する図である。
【図４３】図４３は、参照するピクチャがデコード可能か否かを示すフラグを説明する図である。
【図４４】図４４は、すべてのエントリがＩピクチャを参照することを示すフラグを説明する図である。
【図４５】図４５は、動画アプリケーションとスライドショーの違いを説明する図である。
【図４６】図４６は、すべてのＩピクチャが参照されていることを保証するフラグを説明する図である。
【図４７】図４７は、実施の形態３のＭＰＥＧ−４  ＡＶＣにおける静止画のデータ構造を示す図である。
【図４８】図４８は、ＭＰＥＧ−４  ＡＶＣにおける静止画の再生方法を説明する図である。
【図４９】図４９は、クリップに対して特定のＭｉｎＣＲ値が適用されることを示すフラグ、およびデータ構造を説明する図である。
【図５０】図５０は、実施の形態５の多重化方法の動作を示すフローチャートである。
【図５１】図５１は、多重化装置の構成を示すブロック図である。
【図５２Ａ】図５２Ａは、実施の形態６における記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。
【図５２Ｂ】図５２Ｂは、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示す。
【図５２Ｃ】図５２Ｃは、フレキシブルディスクＦＤに上記プログラムの記録再生を行うための構成を示す。
【発明を実施するための形態】
【００６１】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００６２】
（実施の形態１）
まず本発明の第１の実施の形態について説明する。
【００６３】
本実施の形態では、ＢＤ−ＲＯＭなどのパッケージメディアなどにおいて、動画像の符号化データを復号する際に、可変長符号化方式が切り替わることによる復号動作の遅延、また、同時に必要となるバッファ管理方法の切替えに伴う処理負荷の増加を抑えることのできる情報記録媒体、およびその再生装置について説明する。ここで、動画像の符号化方式はＭＰＥＧ−４  ＡＶＣとするが、ストリームの途中で可変長符号化方式を切り替えることのできる他の符号化方式であってもよい。
【００６４】
本実施の形態の情報記録媒体に格納されるＭＰＥＧ−４  ＡＶＣストリームにおいては、可変長符号化の方式を切り替えることのできる単位が制約されるとともに、切替え単位が制約されていること、あるいは制約された切替え単位を示す情報が管理情報に格納される。
【００６５】
図７は、ＭＰＥＧ−４  ＡＶＣのストリームにおける、可変長符号化方式の切替え単位の制約例を示す。ＢＤ−ＲＯＭなどのパッケージメディアにおいては、プレイリストなどによって、動画像の符号化データを連続して再生する単位（以降、連続再生単位と呼ぶ）が示されるため、連続再生単位において可変長符号化方式を固定とすれば、連続して再生される区間において、可変長符号化方式の切替えに伴う復号動作の遅延や、バッファ管理方法の切り替わりは発生しない。従って、本実施の形態では、連続再生単位において可変長符号化方式を固定とする。図７（ａ）と（ｂ）は、それぞれ、連続再生単位において可変長符号化の方式をＣＡＶＬＣのみ、ＣＡＢＡＣのみに制限した例を示す。さらに、連続して再生されるクリップの接続条件には、シームレス接続と、非シームレス接続の２種類がある。ここでの接続とは、同一クリップ内の複数の区間を接続するケースを含めるものとする。非シームレス接続においては、例えば、オープンＧＯＰへの接続時のように復号動作にギャップが発生することがあるため、可変長符号化方式の切り替わりも許容することにして、シームレス接続される連続再生単位において可変長符号化の方式を固定としてもよい。
【００６６】
なお、クリップやランダムアクセス単位（ＲＡＵ）など連続再生単位とは異なる単位において可変長符号化の方式を固定としてもよい。図７（ｃ）と（ｄ）は、クリップ単位で固定とした例、図７（ｅ）はランダムアクセス単位で固定とした例を示す。
【００６７】
次に、管理情報においては、ＭＰＥＧ−４  ＡＶＣのストリームにおいて、可変長符号化方式の切替え単位が制約されていることを示すフラグ情報が格納される。ここでは、符号化方式の識別情報をフラグとして使用する。図８は、ＢＤ−ＲＯＭにおけるフラグの格納例を示す。ＢＤ−ＲＯＭにおいては、プレイリストから参照される各クリップの符号化方式は、管理情報内のStreamCodingInfoと呼ばれる領域に格納されるため、ここで符号化方式がＭＰＥＧ−４  ＡＶＣであることが示される際には、連続再生単位において可変長符号化の方式が固定であるとする。なお、可変長符号化の方式がＣＡＢＡＣであるかＣＡＶＬＣであるかを別途示してもよい。
【００６８】
なお、可変長符号化方式の切替え単位が制約されていることを示すフラグを別途規定して格納してもよいし、さらに、切替え単位を示す情報を格納してもよい。また、これらの情報は、ＭＰＥＧ−４  ＡＶＣのストリーム内に格納してもよい。例えば、ランダムアクセス単位内のピクチャにおいて可変長符号化の方式が固定であることを示す情報を、ランダムアクセス単位の先頭ピクチャにおけるＳＥＩ（Ｓｕｐｐｌｅｍｅｎｔａｌ  Ｅｎｈａｎｃｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ）、あるいはＵｎｓｐｅｃｉｆｉｅｄのタイプを持つＮＡＬ（Ｎｅｔｗｏｒｋ  Ａｂｓｔｒａｃｔｉｏｎ  Ｌａｙｅｒ）ユニットに格納できる。
【００６９】
なお、ＭＰＥＧ−４  ＡＶＣでは、ピクチャ単位の初期化情報を示すＰＰＳ（Ｐｉｃｔｕｒｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）内の entropy＿coding＿mode＿flagにおいて、可変長符号化の方式がＣＡＶＬＣであるかＣＡＢＡＣであるかが示される。従って、一定の区間において可変長符号化の方式が固定である際には、当該区間におけるピクチャが参照する全てのＰＰＳにおいて、entropy＿coding＿mode＿flagのフィールド値が固定となる。ＭＰＥＧ−４  ＡＶＣでは、復号順で所定の区間に存在するピクチャから参照されないＰＰＳを、前記所定の区間に格納することも許されるが、区間内のピクチャから参照されないＰＰＳにおけるentropy＿coding＿mode＿flagのフィールド値については特に制限する必要はない。例えば、ランダムアクセス単位RAU内のピクチャが参照するPPSは、全てランダムアクセス単位RAU内に存在することが保証されるが、ランダムアクセス単位RAU内のピクチャから参照されないPPSがランダムアクセス単位内に存在してもよい。このとき、参照されないPPSは復号に影響しないため、entropy＿coding＿mode＿flagのフィールド値については制限しなくてもよい。ただし、所定区間に含まれるPPSにおけるentropy＿coding＿mode＿flagのフィールド値を一意に定めたほうが扱いが簡単であるため、参照されないPPSも含めてフィールド値を固定としてもよい。
【００７０】
図９は、本実施の形態の情報記録媒体における連続再生単位の復号動作を示すフローチャートである。連続再生単位においては可変長符号化の方式が固定であるため、図６の従来の復号動作とは異なり、復号途中での２値データのバッファリング、およびバッファ管理方法の切替えは不要となる。各ステップの動作については、図６において同一符号を附したステップと同一であるため、説明を省略する。
【００７１】
さらに、新規の符号化方式として、現在、SMPTE（The Society of Motion Picture and Television Engineers）でVC-1（非特許文献１）の規格が策定中である。VC-1では、マクロブロック（16×16画素の大きさを有する単位）の符号化方法を示す種々のフラグが定義されている。フラグとしては例えば、スキップマクロブロックであるか否か、フィールドモード／フレームモードのいずれであるか、ダイレクトモードマクロブロックであるか否か、等がある。
【００７２】
拡張された符号化ツールの一つに、ビットプレーン符号化がある。ビットプレーン符号化は、上記のマクロブロックの符号化方法を示すフラグを示す際に用いられる。ビットプレーン符号化では、これらのフラグを１ピクチャ分まとめて、ピクチャヘッダで示すことができる。一般的に隣接するマクロブロックは相関が高いため、フラグにも相関が高くなる。よって、隣接する複数のマクロブロックのフラグをまとめて符号化することにより、フラグを表現する符号量を削減することができる。
【００７３】
ビットプレーン符号化では、７種類の符号化方法が規定されている。うち１つはマクロブロックヘッダで各フラグを符号化する方法であり、この方法はローモード（RAW MODE）と呼ばれ、MPEG-2ビデオ方式やMPEG-4ビジュアル方式と同様の方法となる。残りの６つの方法は、１ピクチャ分のフラグをまとめて符号化する方法であり、隣接するマクロブロックのフラグをどのようにまとめて符号化するかにより、異なる方法が定義されている。この６つの方法としては、例えば、左右に隣接する２つのマクロブロックのフラグをまとめて符号化する方法、水平方向に並ぶ一列のマクロブロックのフラグがすべて「０」であればそれを１ビットの「０」で表し、一列のマクロブロックのフラグに１つでも「１」があれば各フラグをそのまま符号化する方法、等がある。
【００７４】
ビットプレーン符号化でこの７種類のいずれの方法を用いるかは、フラグ毎に独立して、ピクチャ単位で変更することができる。
【００７５】
ここで、ビットプレーン符号化において、マクロブロックヘッダで各フラグを符号化する方法のみを使う場合をモード１、１ピクチャ分のフラグをまとめて符号化する方法のみを使う場合をモード２とすると、モード１とモード２とでは復号時の動作が異なるため、モードの切り替わり部分において処理の負荷が増大し、遅延が発生することがある。そこで、上記可変長符号化の切り替わり単位を制約したのと同様に、ビットプレーン符号化についてもモード１とモード２の切り替わり単位を制約してもよい。例えば、連続再生単位、あるいはシームレス接続される連続再生単位において、モードを固定とする。また、ビットプレーン符号化のモードが所定の単位において固定であることを示すフラグ情報を管理情報に含めてもよい。例えば、StreamCodingInfoにより示される符号化方式をフラグ情報として使用し、符号化方式がVC -１であると示される際には所定の単位においてビットプレーン符号化のモードが固定であるとできる。
【００７６】
さらに、マクロブロックヘッダで各フラグを符号化する方法と１ピクチャ分のフラグをまとめて符号化する方法を共に使える場合をモード３とすると、VC- 1の使用される環境に応じて、モード１とモード３を使い分けるケースがある。例えば、処理能力が低い端末向けにはモード１を使い、処理能力が高い端末向けにはモード３を使うことができる。このようなケースでは、所定の再生単位においてモード１、あるいはモード３のどちらか一方に固定することが有効である。さらに、モード１、あるいはモード３のどちらか一方に固定されていることを示すフラグ情報、あるいは、どちらのモードに固定されているかを示す情報を、管理情報、あるいは符号化ストリームに格納できる。なお、モード２とモード３を使い分けてもよい。
【００７７】
図１０は、本実施の形態の多重化方法を実現する多重化装置５１００の構成を示すブロック図である。多重化装置５１００は、切替え単位決定部５１０１、切替え情報生成部５１０２、符号化部５１０３、システム多重化部５１０４、管理情報作成部５１０５、結合部５１０６を備える。以下に、各部の動作について説明する。
【００７８】
切替え単位決定部５１０１は、可変長符号化の方式を切り替えられる単位を決定し、決定した切替え単位Ｕｎｉｔを切替え情報生成部５１０２、および符号化部５１０３に入力する。切替え単位は予め定められているものとするが、外部から設定できるようにしてもよい。切替え情報生成部５１０２は、切替え単位Ｕｎｉｔに基づいて、可変長符号化を切替え可能な単位を示す切替え情報ＳｗＩｎｆを生成し、管理情報作成部５１０５に入力する。符号化部５１０３は、切替え単位Ｕｎｉｔの制約を満たすように各クリップのデータを符号化し、符号化データＣｄａｔａ１をシステム多重化部５１０４に入力する。システム多重化部５１０４は、符号化データＣｄａｔａ１をシステム多重化し、ストリーム情報ＳｔｒＩｎｆ１を管理情報作成部５１０５に入力し、多重化データＭｄａｔａ１を結合部５１０６に入力する。ＢＤ−ＲＯＭではシステム多重化の方式として、ソースパケットと呼ばれる、ＭＰＥＧ−２のトランスポートストリームに４バイトのヘッダを付加した方式が用いられる。また、ストリーム情報ＳｔｒＩｎｆ１は、タイムマップなど、多重化データＭｄａｔａ１についての管理情報を生成するための情報を含む。管理情報作成部５１０５は、ストリーム情報ＳｔｒＩｎｆ１に基づいて生成したタイムマップ、および切替え情報ＳｗＩｎｆなどを含む管理情報ＣｔｒＩｎｆ１を生成し、結合部５１０６に入力する。結合部５１０６は、管理情報ＣｔｒｌＩｎｆ１と多重化データＭｄａｔａ１を結合して記録データＤｏｕｔ１として出力する。
【００７９】
なお、オーサリングツールなどでデータを作成する際には、符号化データの生成と、システム多重化あるいは管理情報の作成を別々の装置で行うことがあるが、そのような場合でも、各装置の動作は多重化装置５１００における各部と同一にすればよい。
【００８０】
図１１は、本実施の形態における情報記録媒体に格納された多重化データを作成するための多重化方法の動作を示すフローチャートである。本実施の形態の多重化方法は、可変長符号化の方式を切り替えられる単位を決定するステップ（ステップＳ５２０１）、決定した単位に基づいてクリップを符号化するステップ（ステップＳ５２０２）、および可変長符号化の切替え単位を示すフラグ情報を生成するステップ（ステップＳ５２０４）とを備える点において、従来の多重化方法と異なる。
【００８１】
まず、ステップＳ５２０１において、可変長符号化の方式を切り替えられる単位を決定する。すなわち、連続再生単位、クリップ、あるいはランダムアクセス単位のいずれの単位で切替え可能であるかを決定する。続いて、ステップＳ５２０２では、ステップＳ５２０１で決定した切替え単位に基づいてＭＰＥＧ−４  ＡＶＣのクリップのデータを符号化する。ステップＳ５２０３では、最終クリップの符号化が終了したかどうかを判定し、終了したと判定された際にはステップＳ５２０４に進み、終了していないと判定されればステップＳ５２０２に戻りクリップの符号化を繰り返す。ステップＳ５２０４では、可変長符号化の切替え単位を示すフラグ情報を生成し、ステップＳ５２０５に進む。ステップＳ５２０５では、ステップＳ５２０４において生成したフラグ情報を含む管理情報を作成し、管理情報とクリップのデータとを多重化して出力する。
【００８２】
図１２は、図１１中の可変長符号の方式を切り替えられる単位を決定するステップ（Ｓ５２０１）の具体例を示すフローチャートである。同図では、可変長符号の方式を切り替えられる最小単位を図７（ｃ）、（ｄ）に示したクリップとしている。ここで、クリップとは、記録媒体上ではＡＶデータのファイルとして格納され、例えば、ＭＰＥＧ−４  ＡＶＣの１つのストリームや、VC-1の１つのストリームを格納した１つのファイルを指す。また、クリップは、トランスポートストリームでは、ＴＳパケットの識別子によって特定されるストリームを指す。
【００８３】
図１２において、切り替え単位決定部５１０１は、符号化対象のピクチャがクリップの開始ピクチャであるか否かを判定し（Ｓ５２０１ａ）、開始ピクチャでない場合つまりクリップの途中のピクチャである場合には、当該クリップの符号化では可変長符号の方式を切り替え不可と決定する（Ｓ５２０１ｆ）。
【００８４】
開始ピクチャである場合、切り替え単位決定部５１０１は、開始ピクチャのクリップが、符号化済の直前のクリップとシームレス接続されるか否かを判定し（Ｓ５２０１ｂ）、シームレス接続される場合には、開始ピクチャのクリップの符号化では可変長符号の方式を切り替え不可と決定する（Ｓ５２０１ｆ）。
【００８５】
シームレス接続されない場合、切り替え単位決定部５１０１は、開始ピクチャのクリップが、マルチアングルを構成するアングルに対応するクリップであるか否かを判定し（Ｓ５２０１ｃ）、当該アングルに対応するクリップである場合には開始ピクチャのクリップの符号化では、当該マルチアングルを構成するアングル間では可変長符号の方式を切り替え不可と決定する（Ｓ５２０１ｆ）。ここで、各アングルにシームレスに接続できるシームレス・マルチアングルにおいては、各アングルの可変長符号化の方式は、マルチアングル区間の直前のクリップと同一の方式に決定される。一方、各アングルにシームレスに接続できることが保証されないノンシームレス・マルチアングルにおいては、各アングルにおいて可変長符号化の方式が同一であれば、当該方式がマルチアングル区間の直前のクリップと異なっていてもよい。
【００８６】
また、切り替え単位決定部５１０１は、符号化対象のピクチャがクリップの開始ピクチャであって、Ｓ５１０１ｂ〜Ｓ５１０１ｃのいずれにも該当しない場合（ｎｏの場合）には、開始ピクチャのクリップの可変長符号化方式を、符号化済の直前のクリップに対して切り替え可能と決定する（Ｓ５２０１ｅ）。
【００８７】
このように図１２のフローチャートでは、切り替え単位決定部５１０１において切り替えられないと決定されるクリップは、（ａ）トランスポートストリームのパケット識別子によって特定されるクリップ、（ｂ）シームレス接続の対象となる複数のクリップ、（ｃ）マルチアングルを構成する各アングルに対応する複数のクリップと決定される。なお、Ｓ５２０１ａ〜Ｓ５２０１ｃの判定は、どの順序で行ってもよい。なお、マルチアングルの場合についても、シームレス・マルチアングルにおいてのみ、可変長符号化方式を切り替え不可としてもよい。また、クリップはファイル名などパケット識別子とは異なる情報により識別してもよい。また、図１２において可変長符号の方式を切り替えられる最小単位が図７（ｃ）、（ｄ）に示したクリップである場合を説明したが、図７（ｅ）のようなＲＡＵを最小単位としてもよい。その場合、図中の「クリップ」を「ＲＡＵ」に読み替えた処理を行えばよい。
【００８８】
図１３は、図１１中のクリップ符号化ステップ（Ｓ５２０２）の具体例を示すフローチャートである。図１３では、ＭＰＥＧ−４  ＡＶＣの符号化を行う場合を示している。同図において、符号化部５１０３は、クリップの符号化開始に先立って当該クリップの可変長符号の方式を切り替え可能か否かを判定する（Ｓ５２０２ａ）。この判定は、図１２での決定に従う。符号化部５１０３は、切り替え可能と判定された場合には当該クリップの可変長符号化方式を任意に決定し（Ｓ５２０２ｂ）、切り替え可能でないと判定された場合には当該クリップの可変長符号化方式を互いにシームレス接続される直前の、あるいは同一のマルチアングルを構成する他のクリップと同じ方式に決定する（Ｓ５２０２ｃ）。さらに、符号化部５１０３は、決定された可変長符号化方式を示すフラグをピクチャ・パラメータ・セットＰＰＳに設定し（Ｓ５２０２ｄ）、決定された可変長符号化方式に従って当該クリップを符号化する（Ｓ５２０２ｅ）。このフラグは、ＭＰＥＧ４−ＡＶＣでは、entropy＿coding＿mode＿flagと呼ばれる。
【００８９】
このように、符号化部５１０３は、切り替え可能でないと判定された連続区間のクリップに対して可変長符号化の方式を切り替えないで、動画像を符号化することにより符号化データＣｄａｔａ１を生成する。
【００９０】
図１４は、図１１中のフラグ情報生成ステップ（Ｓ５２０４）および管理情報生成ステップ（Ｓ５２０５）の具体例を示すフローチャートである。
【００９１】
同図において切替え情報生成部５１０２は、符号化部５１０３によって符号化されたクリップが、可変長符号化方式を切り替え可能と判定されたクリップであるか否かを判定し（Ｓ５２０４ａ）、切り替え可能と判定されたクリップである場合には、可変長符号化の方式が固定であることを示すフラグ情報を生成し、当該クリップに対応付けてフラグ情報をメモリのワーク領域に蓄積し（Ｓ５２０４ｂ）、切り替え可能と判定されたクリップでない場合には、可変長符号化の方式が固定でないことを示すフラグ情報を生成し、当該クリップに対応付けてフラグ情報をメモリのワーク領域に蓄積する（Ｓ５２０４ｂ）。さらに、切替え情報生成部５１０２は、当該クリップが、符号化部５１０３によって符号化された最後のクリップであるか否かを判定し（Ｓ５２０４ｄ）、最後のクリップでなければ上記Ｓ５２０４ａ〜Ｓ５２０４ｃを繰り返し、最後のクリップであればメモリのワーク領域に蓄積されたフラグ情報を切り替え情報ＳｗＩｎｆとして管理情報作成部５１０５に出力する。
【００９２】
さらに、管理情報作成部５１０５は、プレイリストを含む管理情報を生成し（Ｓ５２０５ａ）、切り替え情報ＳｗＩｎｆを参照して、プレイリストに含まれるプレイアイテムに可変長符号化の方式が固定であることを示すフラグ情報を付加する（Ｓ５２０５ｂ）。なお、フラグ情報は、直前のプレイアイテムにより参照される再生区間と可変長符号化の方式が同一であるかどうかを示すものであってもよい。ここで、プレイリストは、１つ以上のプレイアイテムの再生順を示す。プレイアイテムは、再生すべきクリップを指す情報であり、１つのクリップの全部または一部を再生区間として指す。また、上記フラグ情報は、プレイアイテムに付加されている他のパラメータと兼用してもよい。その場合、例えば、クリップがシームレス接続されることを意味するパラメータ（例えば” connection＿condition=５”）を上記フラグ情報と兼用することができる。なぜなら、図１２において、切り替えられないと決定される連続区間（可変長符号化の方式が固定である区間）は、（ａ）トランスポートストリームのパケット識別子によって特定されるクリップ、（ｂ）シームレス接続の対象となる複数のクリップ、（ｃ）マルチアングルを構成する各アングルに対応する複数のクリップであり、このうち（ｃ）はシームレス接続が前提だからである。また、マルチアングル区間であるかどうかは、”is＿multi＿angle”と呼ばれるフラグによって示すことができるため、本フラグを可変長符号化の方式が固定であることを示すフラグと兼用してもよい。これにより、管理情報のデータ量を削減することができる。
【００９３】
図１５は、図１１中のクリップ符号化ステップ（Ｓ５２０２）の他の具体例を示すフローチャートである。図１５では、VC-1の符号化を行う場合を示している。同図において、符号化部５１０３は、クリップの符号化開始に先立って当該クリップの可変長符号の方式を、ローモードとそれ以外のモードとの間で切り替え可能か否かを判定する（Ｓ５２０２ａ）。この判定は、図１２での決定に従う。符号化部５１０３は、切り替え可能と判定された場合には当該クリップのビットプレーン符号化の方式を任意に決定し（Ｓ５２０２ｆ）、切り替え可能でないと判定された場合には当該クリップのビットプレーン符号化方式を直前のクリップと同じ方式に決定する（Ｓ５２０２ｇ）。符号化部５１０３は、決定されたビットプレーン符号化方式がローモード（RAW MODE）であるかそれ以外の方式であるかを判定する（Ｓ５２０２ｈ）。符号化部５１０３は、モードを示す情報をピクチャ単位に付加し、ローモード（RAW MODE）であると判定された場合、マクロブロックＭＢ毎の所定の情報を各マクロブロックにおいて符号化し（Ｓ５２０２ｉ）、ローモード（RAW MODE）でないと判定された場合、マクロブロックＭＢ毎の所定の情報をピクチャの先頭にまとめて設定し、当該クリップを符号化する（Ｓ５２０２ｊ）。なお、前記モードを示す情報は、VC-1においてはIMODEと呼ばれるフィールドにより示される。
【００９４】
このように、符号化部５１０３は、切り替え可能でないと判定された連続区間のクリップに対してビットプレーン符号化の方式を切り替えないで、動画像を符号化することにより符号化データＣｄａｔａ１を生成する。
【００９５】
なお、上記プレイリストは光ディスクにおける使用に限定されるものではなく、ネットワーク経由でストリームを受信する際に、まずプレイリストを受信して解析し、受信するストリームを決定した後に、実際のストリームの受信を開始するような使い方も可能である。また、ストリームをRTP（Real-time Transport Protocol）のパケットやTSパケットなどにパケット化してからIP（Internet Protocol）網で伝送する際にも、再生制御情報として、例えばSDP（Session Description Protocol）などにより、再生区間において可変長符号化の方式が固定であるかどうかを示してもよい。
【００９６】
以下に、本実施の形態に係る画像符号化方法により生成したデータを格納したBD-ROMディスクのデータ構造、および当該ディスクを再生するプレーヤの構成について示す。
【００９７】
（ディスク上の論理データ構造）
図１６は、ＢＤ−ＲＯＭの構成、特にディスク媒体であるＢＤディスク（１０４）と、ディスクに記録されているデータ（１０１、１０２、１０３）の構成を示す図である。ＢＤディスク（１０４）に記録されるデータは、ＡＶデータ（１０３）と、ＡＶデータに関する管理情報およびＡＶ再生シーケンスなどのＢＤ管理情報（１０２）と、インタラクティブを実現するＢＤ再生プログラム（１０１）である。本実施の形態では、説明の都合上、映画のＡＶコンテンツを再生するためのＡＶアプリケーションを主眼においてのＢＤディスクの説明を行うが、他の用途として用いても勿論同様である。
【００９８】
図１７は、上述したＢＤディスクに記録されている論理データのディレクトリ・ファイル構成を示した図である。ＢＤディスクは、他の光ディスク、例えばＤＶＤやＣＤなどと同様にその内周から外周に向けてらせん状に記録領域を持ち、内周のリード・インと外周のリード・アウトの間に論理データを記録できる論理アドレス空間を有している。また、リード・インの内側にはＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）と呼ばれるドライブでしか読み出せない特別な領域がある。この領域はアプリケーションから読み出せないため、例えば著作権保護技術などに利用されることがある。
【００９９】
論理アドレス空間には、ファイルシステム情報（ボリューム）を先頭に映像データなどのアプリケーションデータが記録されている。ファイルシステムとは従来技術で説明した通り、ＵＤＦやＩＳＯ９６６０などのことであり、通常のＰＣと同じように記録されている論理データをディレクトリ、ファイル構造を使って読み出しする事が可能になっている。
【０１００】
本実施例の場合、ＢＤディスク上のディレクトリ、ファイル構造は、ルートディレクトリ（ＲＯＯＴ）直下にＢＤＶＩＤＥＯディレクトリが置かれている。このディレクトリはＢＤで扱うＡＶコンテンツや管理情報などのデータ（図１６で説明した１０１、１０２、１０３）が格納されているディレクトリである。
【０１０１】
ＢＤＶＩＤＥＯディレクトリの下には、次の７種類のファイルが記録されている。
【０１０２】
ＢＤ．ＩＮＦＯ（ファイル名固定）
「ＢＤ管理情報」の一つであり、ＢＤディスク全体に関する情報を記録したファイルである。ＢＤプレーヤは最初にこのファイルを読み出す。
【０１０３】
ＢＤ．ＰＲＯＧ（ファイル名固定）
「ＢＤ再生プログラム」の一つであり、ＢＤディスク全体に関わる再生制御情報を記録したファイルである。
【０１０４】
ＸＸＸ．ＰＬ（「ＸＸＸ」は可変、拡張子「ＰＬ」は固定）
「ＢＤ管理情報」の一つであり、シナリオ（再生シーケンス）であるプレイリスト情報を記録したファイルである。プレイリスト毎に１つのファイルを持っている。
【０１０５】
ＸＸＸ．ＰＲＯＧ（「ＸＸＸ」は可変、拡張子「ＰＬ」は固定）
「ＢＤ再生プログラム」の一つであり、前述したプレイリスト毎の再生制御情報を記録したファイルである。プレイリストとの対応はファイルボディ名（「ＸＸＸ」が一致する）によって識別される。
【０１０６】
ＹＹＹ．ＶＯＢ（「ＹＹＹ」は可変、拡張子「ＶＯＢ」は固定）
「ＡＶデータ」の一つであり、ＶＯＢ（従来例で説明したＶＯＢと同じ）を記録したファイルである。ＶＯＢ毎に１つのファイルを持っている。
【０１０７】
ＹＹＹ．ＶＯＢＩ（「ＹＹＹ」は可変、拡張子「ＶＯＢＩ」は固定）
「ＢＤ管理情報」の一つであり、ＡＶデータであるＶＯＢに関わるストリーム管理情報を記録したファイルである。ＶＯＢとの対応はファイルボディ名（「ＹＹＹ」が一致する）によって識別される。
【０１０８】
ＺＺＺ．ＰＮＧ（「ＺＺＺ」は可変、拡張子「ＰＮＧ」は固定）
「ＡＶデータ」の一つであり、字幕およびメニューを構成するためのイメージデータＰＮＧ（Ｗ３Ｃによって標準化された画像フォーマットであり「ピング」と読む）を記録したファイルである。１つのＰＮＧイメージ毎に１つのファイルを持つ。
【０１０９】
（プレーヤの構成）
次に、前述したＢＤディスクを再生するプレーヤの構成について図１８および図１９を用いて説明する。
【０１１０】
図１８は、プレーヤの大まかな機能構成を示すブロック図である。
【０１１１】
ＢＤディスク（２０１）上のデータは、光ピックアップ（２０２）を通して読み出される。読み出されたデータは夫々のデータの種類に応じて専用のメモリに転送される。ＢＤ再生プログラム（「ＢＤ．ＰＲＯＧ」または「ＸＸＸ．ＰＲＯＧ」ファイルの中身）はプログラム記録メモリ（２０３）に、ＢＤ管理情報（「ＢＤ．ＩＮＦＯ」、「ＸＸＸ．ＰＬ」または「ＹＹＹ．ＶＯＢＩ」）は管理情報記録メモリ（２０４）に、ＡＶデータ（「ＹＹＹ．ＶＯＢ」または「ＺＺＺ．ＰＮＧ」）はＡＶ記録メモリ（２０５）に夫々転送される。
【０１１２】
プログラム記録メモリ（２０３）に記録されたＢＤ再生プログラムはプログラム処理部（２０６）によって、管理情報記録メモリ（２０４）に記録されたＢＤ管理情報は管理情報処理部（２０７）によって、また、ＡＶ記録メモリ（２０５）に記録されたＡＶデータはプレゼンテーション処理部（２０８）によって夫々処理される。
【０１１３】
プログラム処理部（２０６）は、管理情報処理部（２０７）より再生するプレイリストの情報やプログラムの実行タイミングなどのイベント情報を受け取りプログラムの処理を行う。また、プログラムでは再生するプレイリストを動的に変える事が可能であり、この場合は管理情報処理部（２０７）に対してプレイリストの再生命令を送ることで実現する。プログラム処理部（２０６）は、ユーザからのイベント、即ちリモコンキーからのリクエストを受け、ユーザイベントに対応するプログラムがある場合は、それを実行する。
【０１１４】
管理情報処理部（２０７）は、プログラム処理部（２０６）の指示を受け、対応するプレイリストおよびプレイリストに対応したＶＯＢの管理情報を解析し、プレゼンテーション処理部（２０８）に対象となるＡＶデータの再生を指示する。また、管理情報処理部（２０７）は、プレゼンテーション処理部（２０８）より基準時刻情報を受け取り、時刻情報に基づいてプレゼンテーション処理部（２０８）にＡＶデータ再生の停止指示を行い、また、プログラム処理部（２０６）に対してプログラム実行タイミングを示すイベントを生成する。
【０１１５】
プレゼンテーション処理部（２０８）は、映像、音声、字幕／イメージ（静止画）の夫々に対応するデコーダを持ち、管理情報処理部（２０７）からの指示に従い、ＡＶデータのデコードおよび出力を行う。映像データ、字幕／イメージの場合は、デコード後に夫々の専用プレーン、ビデオプレーン（２１０）およびイメージプレーン（２０９）に描画され、合成処理部（２１１）によって映像の合成処理が行われＴＶなどの表示デバイスへ出力される。
【０１１６】
このように図１８に示すように、ＢＤプレーヤは図１６で示したＢＤディスクに記録されているデータ構成に基づいた機器構成をとっている。
【０１１７】
図１９は前述したプレーヤ構成を詳細化したブロック図である。図１９では、ＡＶ記録メモリ（２０５）はイメージメモリ（３０８）とトラックバッファ（３０９）に、プログラム処理部（２０６）はプログラムプロセッサ（３０２）とＵＯＰマネージャ（３０３）に、管理情報処理部（２０７）はシナリオプロセッサ（３０５）とプレゼンテーションコントローラ（３０６）に、プレゼンテーション処理部（２０８）はクロック（３０７）、デマルチプレクサ（３１０）、イメージプロセッサ（３１１）、ビデオプロセッサ（３１２）とサウンドプロセッサ（３１３）に夫々対応／展開している。
【０１１８】
ＢＤディスク（２０１）から読み出されたＶＯＢデータ（ＭＰＥＧストリーム）はトラックバッファ（３０９）に、イメージデータ（ＰＮＧ）はイメージメモリ（３０８）に夫々記録される。デマルチプレクサ（３１０）がクロック（３０７）の時刻に基づき、トラックバッファ（３０９）に記録されたＶＯＢデータを抜き出し、映像データをビデオプロセッサ（３１２）に音声データをサウンドプロセッサ（３１３）に夫々送り込む。ビデオプロセッサ（３１２）およびサウンドプロセッサ（３１３）は夫々ＭＰＥＧシステム規格で定める通りに、デコーダバッファとデコーダから夫々構成されている。即ち、デマルチプレクサ（３１０）から送りこまれる映像、音声夫々のデータは、夫々のデコーダバッファに一時的に記録され、クロック（３０７）に従い個々のデコーダでデコード処理される。
【０１１９】
イメージメモリ（３０８）に記録されたＰＮＧは、次の２つの処理方法がある。
【０１２０】
イメージデータが字幕用の場合は、プレゼンテーションコントローラ（３０６）によってデコードタイミングが指示される。クロック（３０７）からの時刻情報をシナリオプロセッサ（３０５）が一旦受け、適切な字幕表示が行えるように、字幕表示時刻（開始および終了）になればプレゼンテーションコントローラ（３０６）に対して字幕の表示、非表示の指示を出す。プレゼンテーションコントローラ（３０６）からデコード／表示の指示を受けたイメージプロセッサ（３１１）は対応するＰＮＧデータをイメージメモリ（３０８）から抜き出し、デコードし、イメージプレーン（３１４）に描画する。
【０１２１】
次に、イメージデータがメニュー用の場合は、プログラムプロセッサ（３０２）によってデコードタイミングが指示される。プログラムプロセッサ（３０２）が何時イメージのデコードを指示するかは、プログラムプロセッサ（３０２）が処理しているＢＤプログラムに因るものであって一概には決まらない。
【０１２２】
イメージデータおよび映像データは、図１８で説明したように夫々デコード後にイメージプレーン（３１４）、ビデオプレーン（３１５）に出力され、合成処理部（３１６）によって合成後出力される。
【０１２３】
ＢＤディスク（２０１）から読み出された管理情報（シナリオ、ＡＶ管理情報）は、管理情報記録メモリ（３０４）に格納されるが、シナリオ情報（「ＢＤ．ＩＮＦＯ」および「ＸＸＸ．ＰＬ」）はシナリオプロセッサ（３０５）へ読み込み処理される。また、ＡＶ管理情報（「ＹＹＹ．ＶＯＢＩ」）はプレゼンテーションコントローラ（３０６）によって読み出され処理される。
【０１２４】
シナリオプロセッサ（３０５）は、プレイリストの情報を解析し、プレイリストによって参照されているＶＯＢとその再生位置をプレゼンテーションコントローラ（３０６）に指示し、プレゼンテーションコントローラ（３０６）は対象となるＶＯＢの管理情報（「ＹＹＹ．ＶＯＢＩ」）を解析して、対象となるＶＯＢを読み出すようにドライブコントローラ（３１７）に指示を出す。
【０１２５】
ドライブコントローラ（３１７）はプレゼンテーションコントローラ（３０６）の指示に従い、光ピックアップを移動させ、対象となるＡＶデータの読み出しを行う。読み出されたＡＶデータは、前述したようにイメージメモリ（３０８）またはトラックバッファ（３０９）に読み出される。
【０１２６】
また、シナリオプロセッサ（３０５）は、クロック（３０７）の時刻を監視し、管理情報で設定されているタイミングでイベントをプログラムプロセッサ（３０２）に投げる。
【０１２７】
プログラム記録メモリ（３０１）に記録されたＢＤプログラム（「ＢＤ．ＰＲＯＧ」または「ＸＸＸ．ＰＲＯＧ」）は、プログラムプロセッサ３０２によって実行処理される。プログラムプロセッサ（３０２）がＢＤプログラムを処理するのは、シナリオプロセッサ（３０５）からイベントが送られてきた場合か、ＵＯＰマネージャ（３０３）からイベントが送られてきた場合である。ＵＯＰマネージャ（３０３）は、ユーザからリモコンキーによってリクエストが送られてきた場合に、プログラムプロセッサ（３０２）に対するイベントを生成する。
【０１２８】
（アプリケーション空間）
図２０は、ＢＤのアプリケーション空間を示す図である。
【０１２９】
ＢＤのアプリケーション空間では、プレイリスト（ＰｌａｙＬｉｓｔ）が一つの再生単位になっている。プレイリストはセル（Ｃｅｌｌ）の連結で、連結の順序により決定される再生シーケンスである静的なシナリオと、プログラムによって記述される動的なシナリオを有している。プログラムによる動的なシナリオが無い限り、プレイリストは個々のセルを順に再生するだけであり、また、全てのセルの再生を終了した時点でプレイリストの再生は終了する。一方で、プログラムは、プレイリストを超えての再生記述や、ユーザ選択またはプレーヤの状態によって再生する対象を動的に変えることが可能である。典型的な例としてはメニューがあげられる。ＢＤの場合、メニューとはユーザの選択によって再生するシナリオと定義でき、プログラムによってプレイリストを動的に選択することである。
【０１３０】
ここで言うプログラムとは、時間イベントまたはユーザイベントによって実行されるイベントハンドラの事である。
【０１３１】
時間イベントは、プレイリスト中に埋め込まれた時刻情報に基づいて生成されるイベントである。図１９で説明したシナリオプロセッサ（３０５）からプログラムプロセッサ（３０２）に送られるイベントがこれに相当する。時間イベントが発行されると、プログラムプロセッサ（３０２）はＩＤによって対応付けられるイベントハンドラを実行処理する。前述した通り、実行されるプログラムが他のプレイリストの再生を指示することが可能であり、この場合には、現在再生されているプレイリストの再生は中止され、指定されたプレイリストの再生へと遷移する。
【０１３２】
ユーザイベントは、ユーザのリモコンキー操作によって生成されるイベントである。ユーザイベントは大きく２つのタイプに分けられる。一つ目は、カーソルキー（「上」「下」「左」「右」キー）または「決定」キーの操作によって生成されるメニュー選択のイベントである。メニュー選択のイベントに対応するイベントハンドラはプレイリスト内の限られた期間でのみ有効であり（プレイリストの情報として、個々のイベントハンドラの有効期間が設定されている）、リモコンの「上」「下」「左」「右」キーまたは「決定」キーが押された時に有効なイベントハンドラを検索して、有効なイベントハンドラがある場合は当該イベントハンドラが実行処理される。他の場合は、メニュー選択のイベントは無視されることになる。
【０１３３】
二つ目のユーザイベントは、「メニュー」キーの操作によって生成されるメニュー呼び出しのイベントである。メニュー呼び出しのイベントが生成されると、グローバルイベントハンドラが呼ばれる。グローバルイベントハンドラはプレイリストに依存せず、常に有効なイベントハンドラである。この機能を使うことにより、ＤＶＤのメニューコール（タイトル再生中に音声、字幕メニューなどを呼び出し、音声または字幕を変更後に中断した地点からのタイトル再生を実行する機能等）を実装することができる。
【０１３４】
プレイリストで静的シナリオを構成する単位であるセル（Ｃｅｌｌ）はＶＯＢ（ＭＰＥＧストリーム）の全部または一部の再生区間を参照したものである。セルはＶＯＢ内の再生区間を開始、終了時刻の情報として持っている。個々のＶＯＢと一対になっているＶＯＢ管理情報（ＶＯＢＩ）は、その内部にデータの再生時刻に対応した記録アドレスのテーブル情報であるタイムマップ（Ｔｉｍｅ  ＭａｐまたはＴＭＡＰ）を有しており、このタイムマップによって前述したＶＯＢの再生、終了時刻をＶＯＢ内（即ち対象となるファイル「ＹＹＹ．ＶＯＢ」内）での読み出し開始アドレスおよび終了アドレスを導き出すことが可能である。なおタイムマップの詳細は後述する。
【０１３５】
（ＶＯＢの詳細）
図２１は、本実施例で使用するＭＰＥＧストリーム（ＶＯＢ）の構成図である。
【０１３６】
図２１に示すように、ＶＯＢは複数のＶＯＢＵ（Ｖｉｄｅｏ  Ｏｂｊｅｃｔ  Ｕｎｉｔ）によって構成されている。ＶＯＢＵは、ＭＰＥＧビデオストリームで言うＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅｓ）を基準として、音声データも含んだ多重化ストリームとしての一再生単位である。ＶＯＢＵは１．０秒以下のビデオ再生時間を持ち、通常は０．５秒程度の再生時間を持っている。
【０１３７】
ＶＯＢＵ先頭のＴＳパケット（ＭＰＥＧ−２  Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ  Ｐａｃｋｅｔ）は、シーケンスヘッダとそれに続くＧＯＰヘッダとＩピクチャ（Ｉｎｔｒａ−ｃｏｄｅｄ）を格納しており、このＩピクチャからの復号が開始可能なようになっている。また、このＶＯＢＵ先頭のＩピクチャの先頭を含むＴＳパケットのアドレス（開始アドレス）と、この開始アドレスからＩピクチャの最後を含むＴＳパケットまでのアドレス（終了アドレス）と、このＩピクチャの再生開始時刻（ＰＴＳ）をタイムマップで管理している。したがって、タイムマップのエントリはＶＯＢＵ先頭のＴＳパケットごとに与えられている。
【０１３８】
ＶＯＢＵは、その内部にビデオパケット（Ｖ＿ＰＫＴ）とオーディオパケット（Ａ＿ＰＫＴ）を有している。各パケットは１８８バイトであり、図２１に図示してはいないが、各ＴＳパケットの直前には、そのＴＳパケットの相対的なデコーダ供給開始時刻であるＡＴＳ（Ａｒｒｉｖａｌ  Ｔｉｍｅ  Ｓｔａｍｐ）が付与されている。
【０１３９】
ＡＴＳを各ＴＳパケットごとに付与するのは、このＴＳストリームのシステムレートが固定レートでなく、可変レートであるためである。一般的にシステムレートを固定にする場合にはＮＵＬＬパケットと呼ばれるダミーのＴＳパケットを挿入することになるが、限られた記録容量の中に高画質で記録するためには、可変レートが適しており、ＢＤではＡＴＳ付きのＴＳストリームとして記録している。
【０１４０】
図２２は、ＴＳパケットの構成を示した図である。
【０１４１】
図２２に示すように、ＴＳパケットは、ＴＳパケットヘッダと、適用フィールドと、ペイロード部から構成される。ＴＳパケットヘッダにはＰＩＤ（Ｐａｃｋｅｔ  Ｉｄｅｎｔｉｆｉｅｒ）が格納され、これにより、ＴＳパケットがどのような情報を格納しているのか識別される。適用フィールドにはＰＣＲ（Ｐｒｏｇｒａｍ  Ｃｌｏｃｋ  Ｒｅｆｅｒｅｎｃｅ）が格納される。ＰＣＲはストリームをデコードする機器の基準クロック（Ｓｙｓｔｅｍ  Ｔｉｍｅ  Ｃｌｏｃｋ、ＳＴＣと呼ぶ）の参照値である。機器は典型的にはＰＣＲのタイミングでシステムストリームをデマルチプレクスし、ビデオストリーム等の各種ストリームを再構築する。ペイロードにはＰＥＳパケットが格納される。
【０１４２】
ＰＥＳパケットヘッダには、ＤＴＳ（Ｄｅｃｏｄｉｎｇ  Ｔｉｍｅ  Ｓｔａｍｐ）とＰＴＳ（Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ  Ｓｔａｍｐ）が格納される。ＤＴＳは当該ＰＥＳパケットに格納されるピクチャ／オーディオフレームのデコードタイミングを示し、ＰＴＳは映像音声出力等のプレゼンテーションタイミングを示す。ビデオデータおよびオーディオデータといったエレメンタリデータは、ＰＥＳパケットペイロード（ＰＥＳ  Ｐａｃｋｅｔ  Ｐａｙｌｏａｄ）と呼ばれるパケット（ＰＥＳ  Ｐａｃｋｅｔ）のデータ格納領域に先頭から順次入れられていく。ＰＥＳパケットヘッダには、ペイロードに格納してあるデータがどのストリームなのかを識別するためのＩＤ（ｓｔｒｅａｍ＿ｉｄ）も記録されている。
【０１４３】
ＴＳストリームの詳細についてはＩＳＯ／ＩＥＣ１３８１８−１で規定されており、ＢＤで特徴的なのはＡＴＳを各ＴＳパケットごとに付与したことである。
【０１４４】
（ＶＯＢのインターリーブ記録）
次に図２３および図２４を用いてＶＯＢファイルのインターリーブ記録について説明する。
【０１４５】
図２３上段は、前述したプレーヤ構成図の一部である。図の通り、ＢＤディスク上のデータは、光ピックアップを通してＶＯＢ即ちＭＰＥＧストリームであればトラックバッファへ入力され、ＰＮＧ即ちイメージデータであればイメージメモリへと入力される。
【０１４６】
トラックバッファはＦＩＦＯであり、入力されたＶＯＢのデータは入力された順にデマルチプレクサへと送られる。この時、前述したＡＴＳに従って個々のＴＳパケットはトラックバッファから引き抜かれデマルチプレクサを介してビデオプロセッサまたはサウンドプロセッサへとデータが送り届けられる。一方で、イメージデータの場合は、どのイメージを描画するかはプレゼンテーションコントローラによって指示される。また、描画に使ったイメージデータは、字幕用イメージデータの場合は同時にイメージメモリから削除されるが、メニュー用のイメージデータの場合は、そのメニュー描画中はイメージメモリ内にそのまま残される。これはメニューの描画はユーザ操作に依存しており、ユーザの操作に追従してメニューの一部分を再表示もしくは異なるイメージに置き換えることがあり、その際に再表示される部分のイメージデータをデコードし易くするためである。
【０１４７】
図２３下段は、ＢＤディスク上でのＶＯＢファイルおよびＰＮＧファイルのインターリーブ記録を示す図である。一般的にＲＯＭ、例えばＣＤ−ＲＯＭやＤＶＤ−ＲＯＭの場合、一連の連続再生単位となるＡＶデータは連続記録されている。これは、連続記録されている限り、ドライブは順次データを読み出し、デコーダに送り届けるだけで良いが、連続データが分断されてディスク上に離散配置されている場合は、個々の連続区間の間でシーク操作が入ることになり、この間データの読み出しが止まることになり、データの供給が止まる可能性があるからである。ＢＤの場合も同様に、ＶＯＢファイルは連続領域に記録することができる方が望ましいが、例えば字幕データのようにＶＯＢに記録されている映像データと同期して再生されるデータがあり、ＶＯＢファイルと同様に字幕データも何らかの方法によってＢＤディスクから読み出す事が必要になる。
【０１４８】
字幕データの読み出し方法の一手段として、ＶＯＢの再生開始前に一まとめで字幕用のイメージデータ（ＰＮＧファイル）を読み出してしまう方法がある。しかしながら、この場合には大量のメモリが必要となり、非現実的である。
【０１４９】
そこで、ＶＯＢファイルを幾つかのブロックに分けて、イメージデータとインターリーブ記録する方式を使用している。図２３下段はそのインターリーブ記録を説明した図である。
【０１５０】
ＶＯＢファイルとイメージデータを適切にインターリーブ配置することで、前述したような大量の一時記録メモリ無しに、必要なタイミングでイメージデータをイメージメモリに格納することが可能になる。しかしながらイメージデータを読み出している際には、ＶＯＢデータの読み込みは当然のことながら停止することになる。
【０１５１】
図２４は、この問題を解決するトラックバッファを使ったＶＯＢデータ連続供給モデルを説明する図である。
【０１５２】
既に説明したように、ＶＯＢのデータは、一旦トラックバッファに蓄積される。トラックバッファへのデータ入力レート（Ｖａ）とトラックバッファからのデータ出力レート（Ｖｂ）の間に差（Ｖａ＞Ｖｂ）を設けると、ＢＤディスクからデータを読み出し続けている限り、トラックバッファのデータ蓄積量は増加をしていくことになる。
【０１５３】
図２４の上段に記すようにＶＯＢの一連続記録領域が論理アドレスの”ａ１”から”ａ２”まで続くとする。”ａ２”から”ａ３”の間は、イメージデータが記録されていて、ＶＯＢデータの読み出しが行えない区間であるとする。
【０１５４】
図２４の下段は、トラックバッファの内部を示す図である。横軸が時間、縦軸がトラックバッファ内部に蓄積されているデータ量を示している。時刻”ｔ１” がＶＯＢの一連続記録領域の開始点である”ａ１”の読み出しを開始した時刻を示している。この時刻以降、トラックバッファにはレートＶａ−Ｖｂでデータが蓄積されていくことになる。このレートは言うまでもなくトラックバッファの入出力レートの差である。時刻”ｔ２”は一連続記録領域の終了点である”ａ２” のデータを読み込む時刻である。即ち時刻”ｔ１”から”ｔ２”の間レートＶａ−Ｖｂでトラックバッファ内はデータ量が増加していき、時刻”ｔ２”でのデータ蓄積量Ｂ（ｔ２）は下式によって求めることができる。
【０１５５】
Ｂ（ｔ２）  ＝  （Ｖａ−Ｖｂ）×（ｔ２−ｔ１）        （式１）
【０１５６】
この後、ＢＤディスク上のアドレス”ａ３”まではイメージデータが続くため、トラックバッファへの入力は０となり、出力レートである”−Ｖｂ”でトラックバッファ内のデータ量は減少していくことになる。これは読み出し位置”ａ３”まで、時刻でいう”ｔ３”までになる。
【０１５７】
ここで大事なことは、時刻”ｔ３”より前にトラックバッファに蓄積されているデータ量が０になると、デコーダへ供給するＶＯＢのデータが無くなってしまい、ＶＯＢの再生がストップしてしまう可能性がある。しかしながら、時刻”ｔ３”でトラックバッファにデータが残っている場合には、ＶＯＢの再生がストップすることなく連続できることを意味している。
【０１５８】
この条件は下式によって示すことができる。
【０１５９】
Ｂ（ｔ２）  ≧  −Ｖｂ×（ｔ３−ｔ２）                （式２）
【０１６０】
即ち、式２を満たすようにイメージデータ（非ＶＯＢデータ）の配置を決めればよい事になる。
【０１６１】
（ナビゲーションデータ構造）
図２５から図３１を用いて、ＢＤのナビゲーションデータ（ＢＤ管理情報）構造について説明をする。
【０１６２】
図２５は、ＶＯＢ管理情報ファイル（”ＹＹＹ．ＶＯＢＩ”）の内部構造を示した図である。
【０１６３】
ＶＯＢ管理情報は、当該ＶＯＢのストリーム属性情報（Ａｔｔｒｉｂｕｔｅ）とタイムマップを有している。ストリーム属性は、ビデオ属性（Ｖｉｄｅｏ）、オーディオ属性（Ａｕｄｉｏ＃０〜Ａｕｄｉｏ＃ｍ）個々に持つ構成となっている。特にオーディオストリームの場合は、ＶＯＢが複数本のオーディオストリームを同時に持つことができることから、オーディオストリーム数（Ｎｕｍｂｅｒ）によって、データフィールドの有無を示している。
【０１６４】
下記はビデオ属性（Ｖｉｄｅｏ）の持つフィールドと夫々が持ち得る値である。
【０１６５】
圧縮方式（Ｃｏｄｉｎｇ）：
ＭＰＥＧ１
ＭＰＥＧ２
ＭＰＥＧ４
ＭＰＥＧ４−ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）
解像度（Ｒｅｓｏｌｕｔｉｏｎ）：
１９２０ｘ１０８０
１４４０ｘ１０８０
１２８０ｘ７２０
７２０ｘ４８０
７２０ｘ５６５
アスペクト比（Ａｓｐｅｃｔ）：
４：３
１６：９
フレームレート（Ｆｒａｍｅｒａｔｅ）：
６０
５９．９４（６０／１．００１）
５０
３０
２９．９７（３０／１．００１）
２５
２４
２３．９７６（２４／１．００１）
【０１６６】
下記はオーディオ属性（Ａｕｄｉｏ）の持つフィールドと夫々が持ち得る値である。
【０１６７】
圧縮方式（Ｃｏｄｉｎｇ）：
ＡＣ３
ＭＰＥＧ１
ＭＰＥＧ２
ＬＰＣＭ
チャンネル数（Ｃｈ）：
１〜８
言語属性（Ｌａｎｇｕａｇｅ）：
【０１６８】
タイムマップ（ＴＭＡＰ）はＶＯＢＵ毎の情報を持つテーブルであって、当該ＶＯＢが有するＶＯＢＵ数（Ｎｕｍｂｅｒ）と各ＶＯＢＵ情報（ＶＯＢＵ＃１〜ＶＯＢＵ＃ｎ）を持つ。個々のＶＯＢＵ情報は、ＶＯＢＵ先頭ＴＳパケット（Ｉピクチャ開始）のアドレスＩ＿ｓｔａｒｔと、そのＩピクチャの終了アドレスまでのオフセットアドレス（Ｉ＿ｅｎｄ）、およびそのＩピクチャの再生開始時刻（ＰＴＳ）から構成される。
【０１６９】
なお、Ｉ＿ｅｎｄの値はオフセット値、すなわちＩピクチャのサイズを持たせるのではなく、実際のＩピクチャの終了アドレスを持たせてもよい。
【０１７０】
図２６はＶＯＢＵ情報の詳細を説明する図である。
【０１７１】
広く知られているように、ＭＰＥＧビデオストリームは高画質記録するために可変ビットレート圧縮されることがあり、その再生時間とデータサイズ間に単純な相関はない。逆に、音声の圧縮規格であるＡＣ３は固定ビットレートでの圧縮を行っているため、時間とアドレスとの関係は１次式によって求めることができる。しかしながらＭＰＥＧビデオデータの場合は、個々のフレームは固定の表示時間、例えばＮＴＳＣの場合は１フレームは１／２９．９７秒の表示時間を持つが、個々のフレームの圧縮後のデータサイズは絵の特性や圧縮に使ったピクチャタイプ、いわゆるＩ／Ｐ／Ｂピクチャによってデータサイズは大きく変わってくる。従って、ＭＰＥＧビデオの場合は、時間とアドレスの関係は一次式の形で表現することは不可能である。
【０１７２】
当然の事として、ＭＰＥＧビデオデータを多重化しているＭＰＥＧシステムストリーム、即ちＶＯＢも時間とデータサイズとを一次式の形で表現することは不可能である。このため、ＶＯＢ内での時間とアドレスとの関係を結びつけるのがタイムマップ（ＴＭＡＰ）である。
【０１７３】
このようにして、ある時刻情報が与えられた場合、先ずは当該時刻がどのＶＯＢＵに属するのかを検索（ＶＯＢＵ毎のＰＴＳを追っていく）して、当該時刻の直前のＰＴＳをＴＭＡＰに持つＶＯＢＵに飛びこみ（Ｉ＿ｓｔａｒｔで指定されたアドレス）、ＶＯＢＵ先頭のＩピクチャから復号を開始し、当該時刻のピクチャから表示を開始する。
【０１７４】
次に図２７を使って、プレイリスト情報（”ＸＸＸ．ＰＬ”）の内部構造を説明する。
【０１７５】
プレイリスト情報は、セルリスト（ＣｅｌｌＬｉｓｔ）とイベントリスト（ＥｖｅｎｔＬｉｓｔ）から構成されている。
【０１７６】
セルリスト（ＣｅｌｌＬｉｓｔ）は、プレイリスト内の再生セルシーケンスであり、本リストの記述順でセルが再生される事になる。セルリスト（ＣｅｌｌＬｉｓｔ）の中身は、セルの数（Ｎｕｍｂｅｒ）と各セル情報（Ｃｅｌｌ＃１〜Ｃｅｌｌ＃ｎ）である。
【０１７７】
セル情報（Ｃｅｌｌ＃）は、ＶＯＢファイル名（ＶＯＢＮａｍｅ）、当該ＶＯＢ内での開始時刻（Ｉｎ）および終了時刻（Ｏｕｔ）と、字幕テーブル（ＳｕｂｔｉｔｌｅＴａｂｌｅ）を持っている。開始時刻（Ｉｎ）および終了時刻（Ｏｕｔ）は、夫々当該ＶＯＢ内でのフレーム番号で表現され、前述したタイムマップを使うことによって再生に必要なＶＯＢデータのアドレスを得る事ができる。
【０１７８】
字幕テーブル（ＳｕｂｔｉｔｌｅＴａｂｌｅ）は、当該ＶＯＢと同期再生される字幕情報を持つテーブルである。字幕は音声同様に複数の言語を持つことができ、字幕テーブル（ＳｕｂｔｉｔｌｅＴａｂｌｅ）最初の情報も言語数（Ｎｕｍｂｅｒ）とそれに続く個々の言語ごとのテーブル（Ｌａｎｇｕａｇｅ＃１〜Ｌａｎｇｕａｇｅ＃ｋ）から構成されている。
【０１７９】
各言語のテーブル（Ｌａｎｇｕａｇｅ＃）は、言語情報（Ｌａｎｇ）と、個々に表示される字幕の字幕情報数（Ｎｕｍｂｅｒ）と、個々に表示される字幕の字幕情報（Ｓｐｅｅｃｈ＃１〜Ｓｐｅｅｃｈ＃ｊ）から構成され、字幕情報（Ｓｐｅｅｃｈ＃）は対応するイメージデータファイル名（Ｎａｍｅ）、字幕表示開始時刻（Ｉｎ）および字幕表示終了時刻（Ｏｕｔ）と、字幕の表示位置（Ｐｏｓｉｔｉｏｎ）から構成されている。
【０１８０】
イベントリスト（ＥｖｅｎｔＬｉｓｔ）は、当該プレイリスト内で発生するイベントを定義したテーブルである。イベントリストは、イベント数（Ｎｕｍｂｅｒ）に続いて個々のイベント（Ｅｖｅｎｔ＃１〜Ｅｖｅｎｔ＃ｍ）から構成され、個々のイベント（Ｅｖｅｎｔ＃）は、イベントの種類（Ｔｙｐｅ）、イベントのＩＤ（ＩＤ）、イベント発生時刻（Ｔｉｍｅ）と有効期間（Ｄｕｒａｔｉｏｎ）から構成されている。
【０１８１】
図２８は、個々のプレイリスト毎のイベントハンドラ（時間イベントと、メニュー選択用のユーザイベント）を持つイベントハンドラテーブル（”ＸＸＸ．ＰＲＯＧ”）である。
【０１８２】
イベントハンドラテーブルは、定義されているイベントハンドラ／プログラム数（Ｎｕｍｂｅｒ）と個々のイベントハンドラ／プログラム（Ｐｒｏｇｒａｍ＃１〜Ｐｒｏｇｒａｍ＃ｎ）を有している。各イベントハンドラ／プログラム（Ｐｒｏｇｒａｍ＃）内の記述は、イベントハンドラ開始の定義（＜ｅｖｅｎｔ＿ｈａｎｄｌｅｒ＞タグ）と前述したイベントのＩＤと対になるイベントハンドラのＩＤ（ＩＤ）を持ち、その後に当該プログラムもＦｕｎｃｔｉｏｎに続く括弧”｛”と”｝”の間に記述する。前述の”ＸＸＸ．ＰＬ”のイベントリスト（ＥｖｅｎｔＬｉｓｔ）に格納されたイベント（Ｅｖｅｎｔ＃１〜Ｅｖｅｎｔ＃ｍ）は”ＸＸＸ．ＰＲＯＧ”のイベントハンドラのＩＤ（ＩＤ）を用いて特定される。
【０１８３】
次に図２９を用いてＢＤディスク全体に関する情報（”ＢＤ．ＩＮＦＯ”）の内部構造を説明する。
【０１８４】
ＢＤディスク全体情報は、タイトルリスト（ＴｉｔｌｅＬｉｓｔ）とグローバルイベント用のイベントテーブル（ＥｖｅｎｔＬｉｓｔ）から構成されている。
【０１８５】
タイトルリスト（ＴｉｔｌｅＬｉｓｔ）は、ディスク内のタイトル数（Ｎｕｍｂｅｒ）と、これに続く各タイトル情報（Ｔｉｔｌｅ＃１〜Ｔｉｔｌｅ＃ｎ）から構成されている。個々のタイトル情報（Ｔｉｔｌｅ＃）は、タイトルに含まれるプレイリストのテーブル（ＰＬＴａｂｌｅ）とタイトル内のチャプタリスト（ＣｈａｐｔｅｒＬｉｓｔ）を含んでいる。プレイリストのテーブル（ＰＬＴａｂｌｅ）はタイトル内のプレイリストの数（Ｎｕｍｂｅｒ）と、プレイリスト名（Ｎａｍｅ）即ちプレイリストのファイル名を有している。
【０１８６】
チャプタリスト（ＣｈａｐｔｅｒＬｉｓｔ）は、当該タイトルに含まれるチャプタ数（Ｎｕｍｂｅｒ）と個々のチャプタ情報（Ｃｈａｐｔｅｒ＃１〜Ｃｈａｐｔｅｒ＃ｎ）から構成され、個々のチャプタ情報（Ｃｈａｐｔｅｒ＃）は当該チャプタが含むセルのテーブル（ＣｅｌｌＴａｂｌｅ）を持ち、セルのテーブル（ＣｅｌｌＴａｂｌｅ）はセル数（Ｎｕｍｂｅｒ）と個々のセルのエントリ情報（ＣｅｌｌＥｎｔｒｙ＃１〜ＣｅｌｌＥｎｔｒｙ＃ｋ）から構成されている。セルのエントリ情報（ＣｅｌｌＥｎｔｒｙ＃）は当該セルを含むプレイリスト名と、プレイリスト内でのセル番号によって記述されている。
【０１８７】
イベントリスト（ＥｖｅｎｔＬｉｓｔ）は、グローバルイベントの数（Ｎｕｍｂｅｒ）と個々のグローバルイベントの情報を持っている。ここで注意すべきは、最初に定義されるグローバルイベントは、ファーストイベント（ＦｉｒｓｔＥｖｅｎｔ）と呼ばれ、ＢＤディスクがプレーヤに挿入された時、最初に呼ばれるイベントである。グローバルイベント用イベント情報はイベントタイプ（Ｔｙｐｅ）とイベントのＩＤ（ＩＤ）だけを持っている。
【０１８８】
図３０は、グローバルイベントハンドラのプログラムのテーブル（”ＢＤ．ＰＲＯＧ”）である。
【０１８９】
本テーブルは、図２８で説明したイベントハンドラテーブルと同一内容である。
【０１９０】
（イベント発生のメカニズム）
図３１から図３３を使ってイベント発生のメカニズムについて説明する。
【０１９１】
図３１はタイムイベントの例である。
【０１９２】
前述したとおり、タイムイベントはプレイリスト情報（”ＸＸＸ．ＰＬ”）のイベントリスト（ＥｖｅｎｔＬｉｓｔ）で定義される。タイムイベントとして定義されているイベント、即ちイベントタイプ（Ｔｙｐｅ）が”ＴｉｍｅＥｖｅｎｔ”の場合、イベント生成時刻（”ｔ１”）になった時点で、ＩＤ”Ｅｘ１”を持つタイムイベントがシナリオプロセッサからプログラムプロセッサに対してあげられる。プログラムプロセッサは、イベントＩＤ”Ｅｘ１”を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する。例えば、本実施例の場合では、２つのボタンイメージの描画を行うなどを行うことができる。
【０１９３】
図３２はメニュー操作を行うユーザイベントの例である。
【０１９４】
前述したとおり、メニュー操作を行うユーザイベントもプレイリスト情報（”ＸＸＸ．ＰＬ”）のイベントリスト（ＥｖｅｎｔＬｉｓｔ）で定義される。ユーザイベントとして定義されるイベント、即ちイベントタイプ（Ｔｙｐｅ）が”ＵｓｅｒＥｖｅｎｔ”の場合、イベント生成時刻（”ｔ１”）になった時点で、当該ユーザイベントがレディとなる。この時、イベント自身は未だ生成されてはいない。当該イベントは、有効期間情報（Ｄｕｒａｔｉｏｎ）で記される期間レディ状態にある。
【０１９５】
図３２に描くように、ユーザがリモコンキーの「上」「下」「左」「右」キーまたは「決定」キーを押した場合、先ずＵＯＰイベントがＵＯＰマネージャによって生成されプログラムプロセッサに上げられる。プログラムプロセッサは、シナリオプロセッサに対してＵＯＰイベントを流し、シナリオプロセッサはＵＯＰイベントを受け取った時刻に有効なユーザイベントが存在するかを検索し、対象となるユーザイベントがあった場合は、ユーザイベントを生成し、プログラムプロセッサに持ち上げる。プログラムプロセッサでは、イベントＩＤ”Ｅｖ１”を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する。例えば、本実施例の場合では、プレイリスト＃２の再生を開始する。
【０１９６】
生成されるユーザイベントには、どのリモコンキーがユーザによって押されたかの情報は含まれていない。選択されたリモコンキーの情報は、ＵＯＰイベントによってプログラムプロセッサに伝えられ、仮想プレーヤが持つレジスタＳＰＲＭ（８）に記録保持される。イベントハンドラのプログラムは、このレジスタの値を調べ分岐処理を実行することが可能である。
【０１９７】
図３３はグローバルイベントの例である。
【０１９８】
前述したとおり、グローバルイベントはＢＤディスク全体に関する情報（”ＢＤ．ＩＮＦＯ”）のイベントリスト（ＥｖｅｎｔＬｉｓｔ）で定義される。グローバルイベントとして定義されるイベント、即ちイベントタイプ（Ｔｙｐｅ）が”ＧｌｏｂａｌＥｖｅｎｔ”の場合、ユーザのリモコンキー操作があった場合にのみイベントが生成される。
【０１９９】
ユーザが”メニュー”を押した場合、先ずＵＯＰイベントがＵＯＰマネージャによって生成されプログラムプロセッサに上げられる。プログラムプロセッサは、シナリオプロセッサに対してＵＯＰイベントを流し、シナリオプロセッサは、該当するグローバルイベントを生成し、プログラムプロセッサに送る。プログラムプロセッサでは、イベントＩＤ”ｍｅｎｕ”を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する。例えば、本実施例の場合ではプレイリスト＃３の再生を開始している。
【０２００】
本実施例では、単に”メニュー”キーと呼んでいるが、ＤＶＤのように複数のメニューキーがあってもよい。各メニューキーに対応するＩＤを夫々定義することで対応することが可能である。
【０２０１】
（仮想プレーヤマシン）
図３４を用いてプログラムプロセッサの機能構成を説明する。
【０２０２】
プログラムプロセッサは、内部に仮想プレーヤマシンを持つ処理モジュールである。仮想プレーヤマシンはＢＤとして定義された機能モデルであって、各ＢＤプレーヤの実装には依存しないものである。即ち、どのＢＤプレーヤにおいても同様の機能を実行するできることを保証している。
【０２０３】
仮想プレーヤマシンは大きく２つの機能を持っている。プログラミング関数とプレーヤ変数（レジスタ）である。プログラミング関数は、Ｊａｖａ(登録商標）Ｓｃｒｉｐｔをベースとして、以下に記す２つの機能をＢＤ固有関数として定義している。
【０２０４】
リンク関数：現在の再生を停止し、指定するプレイリスト、セル、時刻からの再生を開始する
Ｌｉｎｋ（ＰＬ＃，Ｃｅｌｌ＃，ｔｉｍｅ）
ＰＬ＃  ：  プレイリスト名
Ｃｅｌｌ＃  ：  セル番号
ｔｉｍｅ  ：  セル内での再生開始時刻
ＰＮＧ描画関数：指定ＰＮＧデータをイメージプレーンに描画する
Ｄｒａｗ（Ｆｉｌｅ，Ｘ，Ｙ）
Ｆｉｌｅ  ：  ＰＮＧファイル名
Ｘ  ：  Ｘ座標位置
Ｙ  ：  Ｙ座標位置
イメージプレーンクリア関数：イメージプレーンの指定領域をクリアする
Ｃｌｅａｒ（Ｘ，Ｙ，Ｗ，Ｈ）
Ｘ  ：  Ｘ座標位置
Ｙ  ：  Ｙ座標位置
Ｗ  ：  Ｘ方向幅
Ｈ  ：  Ｙ方向幅
【０２０５】
プレーヤ変数は、プレーヤの状態を示すシステムパラメータ（ＳＰＲＭ）と一般用途として使用可能なゼネラルパラメータ（ＧＰＲＭ）とがある。
【０２０６】
図３５はシステムパラメータ（ＳＰＲＭ）の一覧である。
【０２０７】
ＳＰＲＭ（０）      ：  言語コード
ＳＰＲＭ（１）      ：  音声ストリーム番号
ＳＰＲＭ（２）      ：  字幕ストリーム番号
ＳＰＲＭ（３）      ：  アングル番号
ＳＰＲＭ（４）      ：  タイトル番号
ＳＰＲＭ（５）      ：  チャプタ番号
ＳＰＲＭ（６）      ：  プログラム番号
ＳＰＲＭ（７）      ：  セル番号
ＳＰＲＭ（８）      ：  選択キー情報
ＳＰＲＭ（９）      ：  ナビゲーションタイマー
ＳＰＲＭ（１０）    ：  再生時刻情報
ＳＰＲＭ（１１）    ：  カラオケ用ミキシングモード
ＳＰＲＭ（１２）    ：  パレンタル用国情報
ＳＰＲＭ（１３）    ：  パレンタルレベル
ＳＰＲＭ（１４）    ：  プレーヤ設定値（ビデオ）
ＳＰＲＭ（１５）    ：  プレーヤ設定値（オーディオ）
ＳＰＲＭ（１６）    ：  音声ストリーム用言語コード
ＳＰＲＭ（１７）    ：  音声ストリーム用言語コード（拡張）
ＳＰＲＭ（１８）    ：  字幕ストリーム用言語コード
ＳＰＲＭ（１９）    ：  字幕ストリーム用言語コード（拡張）
ＳＰＲＭ（２０）    ：  プレーヤリージョンコード
ＳＰＲＭ（２１）    ：  予備
ＳＰＲＭ（２２）    ：  予備
ＳＰＲＭ（２３）    ：  再生状態
ＳＰＲＭ（２４）    ：  予備
ＳＰＲＭ（２５）    ：  予備
ＳＰＲＭ（２６）    ：  予備
ＳＰＲＭ（２７）    ：  予備
ＳＰＲＭ（２８）    ：  予備
ＳＰＲＭ（２９）    ：  予備
ＳＰＲＭ（３０）    ：  予備
ＳＰＲＭ（３１）    ：  予備
【０２０８】
なお、本実施例では、仮想プレーヤのプログラミング関数をＪａｖａ（登録商標）Ｓｃｒｉｐｔベースとしたが、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔではなく、ＵＮＩＸ（登録商標）  ＯＳなどで使われているＢ−Ｓｈｅｌｌや、Ｐｅｒｌ  Ｓｃｒｉｐｔなど他のプログラミング関数であっても構わなく、言い換えれば、本発明はＪａｖａ(登録商標）Ｓｃｒｉｐｔに限定されるものでは無い。
【０２０９】
（プログラムの例）
図３６および図３７は、イベントハンドラでのプログラムの例である。
【０２１０】
図３６は、２つの選択ボタンを持ったメニューの例である。
【０２１１】
セル（ＰｌａｙＬｉｓｔ＃１．Ｃｅｌｌ＃１）先頭でタイムイベントを使って図３６左側のプログラムが実行される。ここでは、最初にゼネラルパラメータの一つＧＰＲＭ（０）に”１”がセットされている。ＧＰＲＭ（０）は、当該プログラムの中で、選択されているボタンを識別するのに使っている。最初の状態では、左側に配置するボタン１が選択されている事を初期値として持たされている。
【０２１２】
次に、ＰＮＧの描画を描画関数であるＤｒａｗを使ってボタン１、ボタン２夫々について行っている。ボタン１は、座標（１０、２００）を起点（左端）としてＰＮＧイメージ”１ｂｌａｃｋ．ｐｎｇ”を描画している。ボタン２は、座標（３３０，２００）を起点（左端）としてＰＮＧイメージ”２ｗｈｉｔｅ．ｐｎｇ”を描画している。
【０２１３】
また、本セル最後ではタイムイベントを使って図３６右側のプログラムが実行される。ここでは、Ｌｉｎｋ関数を使って当該セルの先頭から再度再生するように指定している。
【０２１４】
図３７は、メニュー選択のユーザイベントのイベントハンドラの例である。
【０２１５】
「左」キー、「右」キー、「決定」キー何れかのリモコンキーが押された場合夫々に対応するプログラムがイベントハンドラに書かれている。ユーザがリモコンキーを押した場合、図３２で説明したとおり、ユーザイベントが生成され、図３７のイベントハンドラが起動されることになる。本イベントハンドラでは、選択ボタンを識別しているＧＰＲＭ（０）の値と、選択されたリモコンキーを識別するＳＰＲＭ（８）を使って分岐処理を行っている。
【０２１６】
条件１）ボタン１が選択されている、かつ、選択キーが「右」キーの場合
ＧＰＲＭ（０）を２に再設定して、選択状態にあるボタンを右ボタン２に変更する。
【０２１７】
ボタン１、ボタン２のイメージを夫々書き換える。
【０２１８】
条件２）選択キーが「決定（ＯＫ）」の場合で、ボタン１が選択されている場合
プレイリスト＃２の再生を開始する
【０２１９】
条件３）選択キーが「決定（ＯＫ）」の場合で、ボタン２が選択されている場合
プレイリスト＃３の再生を開始する
【０２２０】
上記のようにして実行処理が行われる。
【０２２１】
（プレーヤ処理フロー）
次に図３８から図４１を用いてプレーヤでの処理フローを説明する。
【０２２２】
図３８は、ＡＶ再生までの基本処理フローである。
【０２２３】
ＢＤディスクを挿入すると（Ｓ１０１）、ＢＤプレーヤはＢＤ．ＩＮＦＯファイルの読み込みと解析（Ｓ１０２）、ＢＤ．ＰＲＯＧの読み込み（Ｓ１０３）を実行する。ＢＤ．ＩＮＦＯおよびＢＤ．ＰＲＯＧは共に管理情報記録メモリに一旦格納され、シナリオプロセッサによって解析される。
【０２２４】
続いて、シナリオプロセッサは、ＢＤ．ＩＮＦＯファイル内のファーストイベント（ＦｉｒｓｔＥｖｅｎｔ）情報に従い、最初のイベントを生成する（Ｓ１０４）。生成されたファーストイベントは、プログラムプロセッサで受け取られ、当該イベントに対応するイベントハンドラを実行処理する（Ｓ１０５）。
【０２２５】
ファーストイベントに対応するイベントハンドラには、最初に再生するべきプレイリスト情報が記録されていることが期待される。仮に、プレイリスト再生が指示されていない場合には、プレーヤは何も再生することなく、ユーザイベントを受け付けるのを待ち続けるだけになる。（Ｓ２０１）。ＢＤプレーヤはユーザからのリモコン操作を受け付けると、ＵＯＰマネージャはプログラムマネージャに対してＵＯＰイベントを立ち上げる（Ｓ２０２）。
【０２２６】
プログラムマネージャは、ＵＯＰイベントがメニューキーかを判別し（Ｓ２０３）、メニューキーの場合は、シナリオプロセッサにＵＯＰイベントを流し、シナリオプロセッサがユーザイベントを生成する（Ｓ２０４）。プログラムプロセッサは生成されたユーザイベントに対応するイベントハンドラを実行処理する（Ｓ２０５）。
【０２２７】
図３９は、ＰＬ再生開始からＶＯＢ再生開始までの処理フローである。
【０２２８】
前述したように、ファーストイベントハンドラまたはグローバルイベントハンドラによってプレイリスト再生が開始される（Ｓ３０１）。シナリオプロセッサは、再生対象のプレイリスト再生に必要な情報として、プレイリスト情報”ＸＸＸ．ＰＬ”の読み込みと解析（Ｓ３０２）、プレイリストに対応するプログラム情報”ＸＸＸ．ＰＲＯＧ”の読み込みを行う（Ｓ３０３）。続いてシナリオプロセッサは、プレイリストに登録されているセル情報に基づいてセルの再生を指示する（Ｓ３０４）。セル再生は、シナリオプロセッサからプレゼンテーションコントローラに対して要求が出される事を意味し、プレゼンテーションコントローラはＡＶ再生を開始する（Ｓ３０５）。
【０２２９】
ＡＶ再生の開始（Ｓ４０１）を開始すると、プレゼンテーションコントローラは再生するセルに対応するＶＯＢの情報ファイル（ＸＸＸ．ＶＯＢＩ）を読み込みおよび解析をする（Ｓ４０２）。プレゼンテーションコントローラは、タイムマップを使って再生開始するＶＯＢＵとそのアドレスを特定し、ドライブコントローラに読み出しアドレスを指示し、ドライブコントローラは対象となるＶＯＢデータを読み出し（Ｓ４０３）、ＶＯＢデータがデコーダに送られ再生が開始される（Ｓ４０４）。
【０２３０】
ＶＯＢ再生は、当該ＶＯＢの再生区間が終了するまで続けられ（Ｓ４０５）、終了すると次のセル再生（Ｓ３０４）へ移行する。次にセルが無い場合は、再生が停止する（Ｓ４０６）。
【０２３１】
図４０は、ＡＶ再生開始後からのイベント処理フローである。
【０２３２】
ＢＤプレーヤはイベントドリブン型のプレーヤモデルである。プレイリストの再生を開始すると、タイムイベント系、ユーザイベント系、字幕表示系のイベント処理プロセスが夫々起動され、平行してイベント処理を実行するようになる。
【０２３３】
Ｓ５００系の処理は、タイムイベント系の処理フローである。
【０２３４】
プレイリスト再生開始後（Ｓ５０１）、プレイリスト再生が終了しているかを確認するステップ（Ｓ５０２）を経て、シナリオプロセッサは、タイムイベント発生時刻になったかを確認する（Ｓ５０３）。タイムイベント発生時刻になっている場合には、シナリオプロセッサはタイムイベントを生成し（Ｓ５０４）、プログラムプロセッサがタイムイベントを受け取りイベントハンドラを実行処理する（Ｓ５０５）。
【０２３５】
ステップＳ５０３でタイムイベント発生時刻になっていない場合、または、ステップＳ５０４でイベントハンドラ実行処理後は再度ステップＳ５０２へ戻り、上述した処理を繰り返す。また、ステップＳ５０２でプレイリスト再生が終了したことが確認されると、タイムイベント系の処理は強制的に終了する。
【０２３６】
Ｓ６００系の処理は、ユーザイベント系の処理フローである。
【０２３７】
プレイリスト再生開始後（Ｓ６０１）、プレイリスト再生終了確認ステップ（Ｓ６０２）を経て、ＵＯＰ受付確認ステップの処理に移る（Ｓ６０３）。ＵＯＰの受付があった場合、ＵＯＰマネージャはＵＯＰイベントを生成し（Ｓ６０４）、ＵＯＰイベントを受け取ったプログラムプロセッサはＵＯＰイベントがメニューコールであるかを確認し（Ｓ６０５）、メニューコールであった場合は、プログラムプロセッサはシナリオプロセッサにイベントを生成させ（Ｓ６０７）、プログラムプロセッサはイベントハンドラを実行処理する（Ｓ６０８）。
【０２３８】
ステップＳ６０５でＵＯＰイベントがメニューコールで無いと判断された場合、ＵＯＰイベントはカーソルキーまたは「決定」キーによるイベントである事を示している。この場合、現在時刻がユーザイベント有効期間内であるかをシナリオプロセッサが判断し（Ｓ６０６）、有効期間内である場合には、シナリオプロセッサがユーザイベントを生成し（Ｓ６０７）、プログラムプロセッサが対象のイベントハンドラを実行処理する（Ｓ６０８）。
【０２３９】
ステップＳ６０３でＵＯＰ受付が無い場合、ステップＳ６０６で現在時刻がユーザイベント有効期間に無い場合、または、ステップＳ６０８でイベントハンドラ実行処理後は再度ステップＳ６０２へ戻り、上述した処理を繰り返す。また、ステップＳ６０２でプレイリスト再生が終了したことが確認されると、ユーザイベント系の処理は強制的に終了する。
【０２４０】
図４１は字幕処理のフローである。
【０２４１】
プレイリスト再生開始後（Ｓ７０１）、プレイリスト再生終了確認ステップ（Ｓ７０２）を経て、字幕描画開始時刻確認ステップに移る（Ｓ７０３）。字幕描画開始時刻の場合、シナリオプロセッサはプレゼンテーションコントローラに字幕描画を指示し、プレゼンテーションコントローラはイメージプロセッサに字幕描画を指示する（Ｓ７０４）。ステップＳ７０３で字幕描画開始時刻で無いと判断された場合、字幕表示終了時刻であるかを確認する（Ｓ７０５）。字幕表示終了時刻であると判断された場合は、プレゼンテーションコントローラがイメージプロセッサに字幕消去指示を行い、描画されている字幕をイメージプレーンから消去する（Ｓ７０６）。
【０２４２】
字幕描画ステップＳ７０４終了後、字幕消去ステップＳ７０６終了後、または、字幕表示終了時刻確認ステップＳ７０５で当該時刻でないことが判断された場合、ステップＳ７０２に戻り、上述した処理を繰り返す。また、ステップＳ７０２でプレイリスト再生が終了したことが確認されると、字幕表示系の処理は強制的に終了する。
【０２４３】
（実施の形態２）
次に本発明の第２の実施の形態について説明する。
【０２４４】
第２の実施の形態は、上記のアプリケーションを応用して、静止画によるスライドショーを実現するための説明である。基本的には実施例１に基づく内容であり、拡張または異なる部分を中心に説明する。
【０２４５】
（Ｉピクチャの参照）
図４２はスライドショー（静止画アプリケーション）とタイムマップの関係を示している。通常スライドショーは静止画（Ｉピクチャ）のみから構成されている。タイムマップは静止画データの位置とサイズ情報を持っており、ある静止画が選ばれた場合、必要なデータを取り出してデコーダに送ることにより、１枚の静止画を表示する。通常スライドショーは動画のように順番に表示されるとは限らず、ユーザのインタラクションのより、表示順序が決まっていないため、どこからでも表示できることを保証するために、単独でデコード可能なイントラ符号化されたＩピクチャを利用している。
【０２４６】
しかし、データ量を抑えるために、Ｉピクチャを参照して圧縮するＰピクチャや２枚以上の前後のピクチャを参照して圧縮するＢピクチャであってもスライドショーを実現することは可能である。
【０２４７】
ところが、ＰピクチャやＢピクチャは参照しているピクチャがないとデコードすることができない。そのため、ユーザのインタラクションにより、途中にあるＰピクチャやＢピクチャから再生を開始しようとしてもデコードできない。そこで、図４３に示すように、タイムマップが指しているピクチャがＩピクチャであること、他のどの画像も参照していないことを示すフラグを用意する。このフラグを参照することにより、参照画像が必要ない場合、すなわち独立してデコード可能な場合には、前後の表示に関係なくその画像からデコードおよび表示することは可能だが、参照画像が必要な場合には、関連する画像がそれまでにデコードされていなければ表示できないため、表示順序によっては画像が表示できないことを示している。
【０２４８】
なお、タイムマップ全体として、タイムマップから参照されるピクチャが必ずＩピクチャであること、つまりどのピクチャも独立してデコードすることが可能であることを示すフラグを、図４４のようにタイムマップあるいは関連するナビゲーション情報内の一箇所に記録されていてもよい。このフラグが立っていない場合には、タイムマップのエントリが必ずＩピクチャを指しているとは限らないため、参照されているピクチャをデコードできるかどうかは保証されないことになる。
【０２４９】
なお、これまでの説明ではＭＰＥＧ２ビデオストリームをもとにＩピクチャとして説明していたが、ＭＰＥＧ４−ＡＶＣ（Ｈ．２６４やＪＶＴとも呼ばれる）の場合では、ＩＤＲ（Ｉｎｓｔａｎｔａｎｅｏｕｓ  Ｄｅｃｏｄｅｒ  ｒｅｆｒｅｓｈ）ピクチャ、あるいはＩＤＲピクチャ以外のＩピクチャであってもよく、また、その他の形式の画像の場合でも単独でデコード可能な画像であれば、容易に応用可能である。
【０２５０】
（すべてのＩピクチャの参照の保証）
図４５は動画アプリケーションと静止画アプリケーション（スライドショー）の違いを示している。図４５（ａ）が示すように、動画アプリケーションの場合は一度再生を開始すれば、以降のピクチャを連続的にデコードするため、すべてのＩピクチャにタイムマップから参照を設定しておく必要はなく、最低限再生開始したい点にのみタイムマップのエントリが設定されていればよい。
【０２５１】
図４５（ｂ）はスライドショーの例である。スライドショーの場合は、ユーザの操作により前後の映像を表示せず、スキップ操作などのより順序に関係なく静止画を表示する必要がある。そのため、すべてのＩピクチャに対してタイムマップのエントリを登録しておかなければ、実際にストリームをすべて解析しなければ表示すべきＩピクチャのデータをデコーダに流すことができないため、効率が悪い。各Ｉピクチャにタイムマップのエントリがあれば、必要なＩピクチャのデータのみを直接アクセスしてデータを読み込み、デコーダに流すことができるため、アクセス効率がよく、表示までの時間も短くてすむため効率がよい。
【０２５２】
すべてのＩピクチャに対してエントリが存在することが識別できれば、どのＩピクチャにアクセスする際にでもタイムマップのエントリを参照することにより、読み出すデータの範囲が分かるため、前後のストリームを余分に解析する必要がなくなる。
【０２５３】
すべてのＩピクチャに対してエントリが存在することが保証されていない場合、タイムマップに登録されていないＩピクチャの表示を指定された場合、その前後のストリームを解析しながら必要なデータを抜き出さなければならず、アクセス効率が悪く、表示するまでに時間がかかるため効率が悪い。
【０２５４】
そこで、図４６に示すように、すべてのＩピクチャがタイムマップから参照されていることが保証されているか否かを示すフラグを用意することにより、前後のストリームを解析しなければいけないか、あるいは必要ないか、静的データを解析するだけで識別できるようになるため、このようなフラグは有効である。
【０２５５】
なお、このフラグはスライドショーのような静止画アプリケーションだけではなく、動画アプリケーションにおいても有効であり、どのＩピクチャからでも再生を開始できることが保証されるフラグとなる。
【０２５６】
（実施の形態３）
実施の形態２において、静止画アプリケーションを実現するための符号化方式としてＭＰＥＧ−４  ＡＶＣを使用できることを述べた。ＭＰＥＧ−４  ＡＶＣの静止画は、ＭＰＥＧ−４ＡＶＣ規格自体ではなく、ＭＰＥＧ−２システムのＭＰＥＧ−４  ＡＶＣ向け拡張規格（ＩＳＯ／ＩＥＣ  １３８１８−１  Ａｍｅｎｄｍｅｎｔ  ３）においてＡＶＣ  Ｓｔｉｌｌ  Ｐｉｃｔｕｒｅとして規定されている。しかしながら、ＭＰＥＧ−２システム規格では静止画の再生方法について規定しておらず、静止画アプリケーションにおいて使用するためには再生方法を別途規定する必要がある。本実施の形態では、ＭＰＥＧ−４  ＡＶＣを静止画アプリケーションに適用するための静止画のデータ構造、および表示方法について説明する。
【０２５７】
ＭＰＥＧ−２システム規格におけるＡＶＣ  Ｓｔｉｌｌ  Ｐｉｃｔｕｒｅは、ＩＤＲピクチャ、および当該ＩＤＲピクチャから参照されるＳＰＳ（Ｓｅｑｕｅｎｃｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）、および（Ｐｉｃｔｕｒｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）を含むと規定されている。図４７は、本実施の形態におけるＭＰＥＧ−４  ＡＶＣの静止画（以降、ＡＶＣ静止画と呼ぶ）のデータ構造を示す。図中のボックスは、それぞれＮＡＬユニット（Ｎｅｔｗｏｒｋ  Ａｂｓｔｒａｃｔｉｏｎ  Ｕｎｉｔ）を示す。ＡＶＣ静止画では、Ｅｎｄ  ｏｆ  ＳｅｑｕｅｎｃｅのＮＡＬユニットを必ず含めることにする。Ｅｎｄ  ｏｆ  Ｓｅｑｕｅｎｃｅは、ＭＰＥＧ−４  ＡＶＣにおけるシーケンスの終端を示す識別情報であるため、Ｅｎｄ  ｏｆ  ＳｅｑｕｅｎｃｅのＮＡＬユニットを配置してシーケンスを終了させることにより、ＡＶＣ静止画の表示方法についてはＭＰＥＧ−４  ＡＶＣ規格外で独自に定義することができる。ここで、各ＮＡＬユニットの出現順序についてはＭＰＥＧ−４  ＡＶＣ規格において定められた規定に従うものとする。
【０２５８】
次に、図４８を参照してＡＶＣ静止画の表示方法について説明する。静止画アプリケーションにおいては、静止画の表示時刻、および静止画の表示時間長を規定する必要がある。ＡＶＣ静止画の表示時刻（ＰＴＳ：Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ  Ｓｔａｍｐ）は、タイムマップ、あるいはＰＥＳ（Ｐａｃｋｅｔｉｚｅｄ  Ｅｌｅｍａｎｔａｒｙ  Ｓｔｒｅａｍ）パケットのヘッダから取得する。ここで、タイムマップにより全ての静止画の表示時刻が示される際には、タイムマップのみを参照して表示時刻を取得することができる。Ｎ番目のＡＶＣ静止画の表示時刻から、Ｎ＋１番目のＡＶＣ静止画の表示時刻までの間は、Ｎ番目のＡＶＣ静止画の表示をフリーズする、すなわち、Ｎ番目のＡＶＣ静止画を繰り返し表示することにする。
【０２５９】
ＡＶＣ静止画を再生する際には、ＡＶＣ静止画のデータからフレームレートを取得できることが望ましい。ＭＰＥＧ−４  ＡＶＣにおいては、動画ストリームの表示レートを、ＳＰＳ内のＶＵＩ（Ｖｉｄｅｏ  Ｕｓａｂｉｌｉｔｙ  Ｉｎｆｏｒｍａｔｉｏｎ）により示すことができる。具体的には、ｎｕｍ＿ｕｎｉｔｓ＿ｉｎ＿ｔｉｃｋ、ｔｉｍｅ＿ｓｃａｌｅ、ｆｉｘｅｄ＿ｆｒａｍｅ＿ｒａｔｅ＿ｆｌａｇの３つのフィールドを参照する。ここで、ｔｉｍｅ＿ｓｃａｌｅはタイムスケールを示し、例えば、３００００Ｈｚで動作するクロックのｔｉｍｅ＿ｓｃａｌｅは３００００とできる。ｎｕｍ＿ｕｎｉｔｓ＿ｉｎ＿ｔｉｃｋは、クロックが動作する時間を示す基本単位であり、例えば、ｔｉｍｅ＿ｓｃａｌｅが３００００であるクロックのｎｕｍ＿ｕｎｉｔｓ＿ｉｎ＿ｔｉｃｋが１００１であれば、クロックが動作する際の基本周期が２９．９７Ｈｚであることを示せる。また、ｆｉｘｅｄ＿ｆｒａｍｅ＿ｒａｔｅ＿ｆｌａｇをセットすることにより、フレームレートが固定であると示すことができる。ＭＰＥＧ−４  ＡＶＣにおいては、これらのフィールドを用いて、連続する２枚のピクチャの表示時刻の差分値を示すことができるが、本実施の形態では、これらのフィールドを用いて、ＡＶＣ静止画を繰り返し表示する際のフレームレートを示すことにする。まず、ｆｉｘｅｄ＿ｆｒａｍｅ＿ｒａｔｅ＿ｆｌａｇを１にセットすることにより、フレームレートが固定であることを示す。次に、フレームレートを２３．９７６Ｈｚに設定する際には、例えばｎｕｍ＿ｕｎｉｔｓ＿ｉｎ＿ｔｉｃｋを１００１に、ｔｉｍｅ＿ｓｃａｌｅを２４０００に、それぞれセットする。つまり、フレームレート＝ｔｉｍｅ＿ｓｃａｌｅ／ｎｕｍ＿ｕｎｉｔｓ＿ｉｎ＿ｔｉｃｋ  となるように両フィールドを設定する。さらに、ＶＵＩ、およびＶＵＩにおける上記３つのフィールドが存在することを保証するために、ＳＰＳ内のｖｕｉ＿ｐａｒａｍｅｔｅｒｓ＿ｐｒｅｓｅｎｔ＿ｆｌａｇ、およびＶＵＩ内のｔｉｍｉｎｇ＿ｉｎｆｏ＿ｐｒｅｓｅｎｔ＿ｆｌａｇを共に１にセットする。Ｎ番目のＡＶＣ静止画が、最終のＡＶＣ静止画である際には、ユーザ動作があるまで、あるいは、プログラムにより予め定められた次の動作等が開始するまで表示をフリーズさせることとする。なお、フレームレートの設定方法は、ｔｉｍｅ＿ｓｃａｌｅ／ｎｕｍ＿ｕｎｉｔｓ＿ｉｎ＿ｔｉｃｋに制限されるものではない。例えば、ＭＰＥＧ−４  ＡＶＣの動画ストリームにおいては、ｔｉｍｅ＿ｓｃａｌｅ／ｎｕｍ＿ｕｎｉｔｓ＿ｉｎ＿ｔｉｃｋはフィールドのレート（フィールドの表示間隔を示すパラメータ）を示すため、フレームレートはｔｉｍｅ＿ｓｃａｌｅ／ｎｕｍ＿ｕｎｉｔｓ＿ｉｎ＿ｔｉｃｋ／２となる。従って、静止画においてもフレームレートをｔｉｍｅ＿ｓｃａｌｅ／ｎｕｍ＿ｕｎｉｔｓ＿ｉｎ＿ｔｉｃ／２としてもよい。
【０２６０】
上記の方法により示されるフレームレートは、ＢＤ管理情報内で示されるフレームレート値と一致するものとする。具体的には、ＳｔｒｅａｍＣｏｄｉｎｇＩｎｆｏにおけるｆｒａｍｅ＿ｒａｔｅフィールドにより示される値と一致する。
【０２６１】
なお、ＡＶＣ静止画を繰り返し表示する際の表示周期は、上記の方法により示されるフレームレートから取得できる。この表示周期を、フレームグリッド、あるいはフィールドグリッドの整数倍とすることにしてもよい。こうすることで、ビデオ、グラフィックスなど他の映像ソースとの同期再生を保証することができる。ここで、フレームグリッド、あるいはフィールドグリッドはビデオなど特定のストリームのフレームレートを基準として生成される。さらに、Ｎ番目とＮ＋１番目のＡＶＣ静止画の表示時刻の差分値は、フレームグリッド、あるいはフィールドグリッドの整数倍とすることにしてもよい。
【０２６２】
ＡＶＣ静止画を再生する際に参照するタイムマップとしては、実施の形態２におけるタイムマップを使用する。
【０２６３】
なお、ＢＤ  ＲＯＭ規格などにおいて、ｎｕｍ＿ｕｎｉｔｓ＿ｉｎ＿ｔｉｃｋ、ｔｉｍｅ＿ｓｃａｌｅ、ｆｉｘｅｄ＿ｆｒａｍｅ＿ｒａｔｅ＿ｆｌａｇのデフォルト値を規定することにより、これらのフィールドを省略することにしてもよい。
【０２６４】
なお、ビデオストリームの場合にはストリーム内で解像度を変更することは禁止されているが、静止画のストリームでは解像度を変換しても復号動作におけるバッファ管理などを破綻なく実現できるため、ストリーム内で解像度を変更できることにしてもよい。ここで、解像度はＳＰＳ内のフィールドにより示される。
【０２６５】
なお、ＭＰＧＥ−４  ＡＶＣ以外の符号化方式であっても、同様のデータ構造をもつ場合には、本実施の形態のデータ構造、および再生方法を適用できる。
【０２６６】
（実施の形態４）
実施の形態２および実施の形態３において、静止画アプリケーションを実現するための符号化方式としてＭＰＥＧ−４  ＡＶＣを使用できることを述べた。本実施の形態４では、BD−ROMなどのパッケージメディアなどにおいて、動画再生時の処理量を抑えつつ、静止画を高画質に符号化できる情報記録媒体、およびその再生装置について説明する。
【０２６７】
まず、従来の情報記録媒体について説明する。ＭＰＥＧ−４  ＡＶＣではピクチャの符号量の最大値が規定されている。ＢＤなどのアプリケーション規格では、ＭＰＥＧ−４  ＡＶＣにおける規定値、あるいはアプリケーションにおいて独自に設定した値をピクチャの符号量の上限値としている。上限値は、ＭＰＥＧ−４  ＡＶＣ規格において規定された、ＭｉｎＣＲ（Ｍｉｎｉｍｕｍ  Ｃｏｍｐｒｅｓｓｉｏｎ  Ｒａｔｉｏ）と呼ばれるパラメータにより制限できる。ＭｉｎＣＲとは、原画に対する符号化ピクチャの圧縮率の下限を示すパラメータである。例えば、ＭｉｎＣＲが２であれば、符号化ピクチャの符号量は、原画のサイズの２分の１以下であることを示す。
【０２６８】
従来の情報記録媒体では、動画アプリケーションと静止画アプリケーションにおいて、ＭｉｎＣＲとして同一の値を使用していた。動画においては、符号化データを復号する際の処理量が大きくなることから、特に、１ピクチャを復号する際の演算量が規格で定められた上限値となるようなワーストケースにおいても動作を保証できるように、ＭｉｎＣＲが決定される。一方、静止画では、動画に比べて表示間隔が長いことから、復号時の処理量よりも、むしろ画質が重要となる。しかしながら、静止画を高画質に符号化すると符号量が増加するため、静止画と動画でＭｉｎＣＲが同一である従来の情報記録媒体では、特にイントラ符号化時に、ピクチャに対して十分なビットを割り当てられないという課題があった。
【０２６９】
本実施の形態４における情報記録媒体では、動画と静止画のそれぞれに異なるＭｉｎＣＲを適用することにより、動画については復号時の処理量を鑑みてＭｉｎＣＲ値を大きくし、静止画については、高画質に符号化するために十分なピクチャサイズを保証できるように、動画よりもＭｉｎＣＲ値を小さくする。
【０２７０】
図４９は、本実施の形態４の情報記録媒体のデータ構造例を示す。ＢＤ管理情報におけるストリーム管理情報には、ＣｌｉｐＩｎｆｏと呼ばれるデータ・オブジェクトにおいてクリップの属性情報が示される。なお、クリップとは、ＡＶデータのファイルを指し、例えば、ＭＰＥＧ−４  ＡＶＣの静止画ストリームを格納した１つのファイルが、１クリップとなる。動画と静止画とで異なるＭｉｎＣＲが適用されていることを示すには、クリップ毎のＭｉｎＣＲ値を示す情報が必要となる。従って、ＣｌｉｐＩｎｆｏには、参照するクリップにおいて適用されるＭｉｎＣＲ値を示す情報が付加される。ここでは、静止画のクリップと動画のクリップに対して適用されるＭｉｎＣＲ値が予め定められているものとして、参照するクリップが動画であるか静止画であるかを示すフラグ情報を格納することにより、クリップに適用されるＭｉｎＣＲ値を示すことにする。図４９の例では、ディスク内に少なくとも静止画と動画のクリップが格納されており、それぞれＣｌｉｐＩｎｆｏ＃１とＣｌｉｐＩｎｆｏ＃２から参照される。ここで、ＣｌｉｐＩｎｆｏ ＃１にはクリップが静止画であることを示すフラグ情報、ＣｌｉｐＩｎｆｏ ＃２にはクリップが動画であることを示すフラグ情報が格納される。このフラグ情報を参照することにより、クリップを構成するピクチャにおけるＭｉｎＣＲ値を取得することができる。図４９の例では、静止画のクリップにおけるＭｉｎＣＲを２、動画のクリップにおけるＭｉｎＣＲを４とすることにより、静止画の高画質化と動画復号時の処理量の抑制を両立している。なお、ここでのＭｉｎＣＲ値は一例であり、この他の組み合わせを使用してもよく、再生装置の処理量に余裕があるアプリケーションにおいては、静止画と動画のＭｉｎＣＲ値を同一にしてもよい。また、予め、静止画用と動画用のＭｉｎＣＲ値の組み合わせを複数定めておき、特定の組み合わせを示すパラメータを導入することによりＭｉｎＣＲ値を示してもよい。また、クリップが静止画であることが示される際には、連続する２枚のピクチャを復号、あるいは表示する際の間隔が予め定められた値以上、あるいは大きくなることを保証してもよい。例えば、静止画の場合には連続する２枚のピクチャの表示間隔が０．５秒以上であるとする。これにより、ＭｉｎＣＲ値が２であり、１ピクチャあたりの符号量が大きくなる際にも、表示間隔が０．５秒以上と十分に長いため、各ピクチャの復号が保証できる。
【０２７１】
なお、ＣｌｉｐＩｎｆｏには、ａｐｐｌｉｃａｔｉｏｎ＿ｔｙｐｅと呼ばれる、クリップを再生するアプリケーションのタイプを示すフィールドが存在する。本フィールドでは、アプリケーションが動画、静止画のどちらであるか、また、静止画である場合にはタイム・ベース、ブラウザブルのどちらであるかを示すことができる。ここで、タイム・ベースとは、予め定められた間隔で静止画を表示するものであり、ブラウザブルとは、ユーザが静止画の表示タイミングを決定できるアプリケーションである。従って、ａｐｐｌｉｃａｔｉｏｎ＿ｔｙｐｅのフィールド値が、タイム・ベース、あるいはブラウザブルの静止画アプリケーションを指す際には、静止画用のＭｉｎＣＲ値が適用され、動画アプリケーションを指す際には、動画用のＭｉｎＣＲ値が適用されるとしてもよい。
【０２７２】
なお、ＭｉｎＣＲ値は、動画と静止画で切り替える以外にも、異なる動画のクリップ間でも切り替えることができる。例えば、主映像と副映像が含まれる際には、主映像についてはＭｉｎＣＲ値を小さく設定して高画質に符号化し、副映像については処理量を考慮してＭｉｎＣＲ値を大きく設定することができる。このときは、ＭｉｎＣＲ値を示す情報としては、静止画であるか動画であるかを示すフラグ情報ではなく、クリップ毎のＭｉｎＣＲ値を示す情報を使用する。
【０２７３】
なお、動画あるいは静止画の符号量の上限を示すパラメータはＭｉｎＣＲに制限されるものではなく、符号量の上限値をデータサイズとして直接示すなど、他のパラメータであってもよい。
【０２７４】
なお、クリップにおけるピクチャの符号量の上限値を示す情報は、ＣｌｉｐＩｎｆｏ以外のＢＤ管理情報に格納してもよいし、符号化データ内に格納してもよい。符号化データに格納する際には、ＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ）などのランダムアクセス単位毎に格納でき、例えば、ＭＰＥＧ−４  ＡＶＣでは、ユーザデータを格納するためのデータ単位を使用することができる。なお、ユーザデータ格納用のデータ単位としては、特定のタイプをもつＮＡＬ（Ｎｅｔｗｏｒｋ  Ａｂｓｔｒａｃｔｉｏｎ  Ｌａｙｅｒ）ユニット、あるいは、ユーザデータ格納用のＳＥＩ（Ｓｕｐｐｌｅｍｅｎｔａｌ  Ｅｎｈａｎｃｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ）メッセージなどがある。また、ピクチャの符号量の上限値は、ランダムアクセス単位など、クリップとは異なる単位で切り替え可能としてもよい。
【０２７５】
また、データ再生装置によっては、動画を復号する際に、１ピクチャの符号化データを復号にかかる時間が予め定められた時間、あるいは、ピクチャの表示間隔を超えると判定されると、当該ピクチャの復号をスキップして次ピクチャの復号を開始することがある。あるいは、動画の復号時にはワーストケースにも対応できる場合でも、本実施の形態の情報記録媒体における静止画を再生する際には、静止画の符号量の上限が動画よりも大きくなり、符号量が大きくなると復号に要する時間も増加するため、結果として静止画の復号がスキップされることがある。ここで、一般的に、静止画の表示間隔は動画に比べて長いために、予め設定された表示開始時刻までに復号が完了していなくても、復号完了後に表示すれば再生品質の低下は軽微である。従って、静止画の復号時は、予め設定された表示開始時刻までに復号が完了しない場合にも、復号をスキップせずに、復号完了後に表示すればよい。
【０２７６】
なお、上記においてはＢＤについて説明したが、静止画と動画を格納することのできる情報記録媒体であれば、同様の方法を用いることができる。また、符号化方式もＭＰＥＧ−４  ＡＶＣに限定されるものではなく、ＭＰＥＧ−２  Ｖｉｄｅｏなど他の符号化方式にも適用できる。
【０２７７】
（実施の形態５）
図５０は、本実施の形態４における情報記録媒体に格納されたデータを作成するための多重化方法を示すフローチャートである。本実施の形態の多重化方法は、クリップの種類に応じてＭｉｎＣＲ値を切り替えるステップ（ステップＳ２００１、ステップＳ２００２、およびステップＳ２００３）、および、ＭｉｎＣＲ値を特定するためのフラグ情報を生成して管理情報に含めるステップ（ステップＳ２００４とステップＳ２００５）とを備える点において、従来の多重化方法と異なる。
【０２７８】
まず、ステップＳ２００１において、生成するクリップが動画であるか静止画であるか判定する。クリップが静止画である際には、ステップＳ２００２に進み、予め定められた静止画クリップ用のＭｉｎＣＲ値を設定し、クリップが動画である際には、ステップＳ２００３進み、予め定められた動画クリップ用のＭｉｎＣＲ値を設定する。次に、ステップＳ１００１において、ステップＳ２００２、あるいはステップＳ２００３において設定されたＭｉｎＣＲ値を満たすように、クリップを構成するピクチャを符号化し、ステップＳ１００２に進む。ステップＳ１００２では、ステップＳ１００１において符号化されたデータをシステム多重化する。ＢＤでは、システム多重化の方式としてＭＰＥＧ−２のトランスポートストリームを用いる。次に、ステップＳ２００４では、クリップを構成するピクチャに適用されるＭｉｎＣＲ値を特定するためのフラグ情報を生成し、ステップＳ２００５において、ステップＳ２００４において生成したフラグ情報を含んだ管理情報を生成する。最後に、ステップＳ１００３において、管理情報と、システム多重化された符号化データとを結合して出力する。また、ＭｉｎＣＲ値を特定するための情報としては、ピクチャの符号量の最大値を直接格納するなど、フラグ情報以外であってもよい。
【０２７９】
なお、音声、グラフィックスなどのデータについても、動画あるいは静止画とともに多重化することができるが、ここでは説明を省略する。
【０２８０】
図５１は、本実施の形態５の多重化方法を実現する多重化装置２０００の構成を示すブロック図である。多重化装置２０００は、ＭｉｎＣＲ決定部２００１、ＭｉｎＣＲ情報生成部２００２、符号化部１００１、システム多重化部１００２、管理情報作成部２００３、結合部１００３を備え、ＭｉｎＣＲ決定部２００１、ＭｉｎＣＲ情報生成部２００２を備える点、および、管理情報作成部２００３においてＭｉｎＣＲ値を特定するためのフラグ情報を含む管理情報を生成する点において、従来の多重化装置と異なる。
【０２８１】
以下に、各部の動作について説明する。ＭｉｎＣＲ決定部は、クリップが動画であるか静止画であるかを示すクリップ属性ＣｌｉｐＣｈａｒに基づいて、クリップを構成するピクチャに適用するＭｉｎＣＲ値を決定し、決定したＭｉｎＣＲ値ｃｒを符号化部１００１とＭｉｎＣＲ情報生成部２００２に入力する。符号化部１００１は、ＭｉｎＣＲ決定部により決定されたＭｉｎＣＲ値ｃｒに基づいて、入力の動画像あるいは画像データＶｉｎを符号化し、符号化データＣｄａｔａをシステム多重化部１００２に入力する。システム多重化部１００２は、符号化データＣｄａｔａをシステム多重化して多重化データＭｄａｔａを結合部１００３に入力する。一方、ＭｉｎＣＲ情報生成部は、ＭｉｎＣＲ値ｃｒに基づいて、クリップを構成するピクチャに適用されたＭｉｎＣＲ値を特定するためのフラグ情報であるＭｉｎＣＲ情報ｃｒＩｎｆを生成し、管理情報作成部２００３に入力する。管理情報生成部は、タイムマップなど、多重化データＭｄａｔａについての管理情報を生成するためのストリーム情報ＳｔｒＩｎｆをシステム多重化部１００２から取得して、ＭｉｎＣＲ情報ｃｒＩｎｆを含む管理情報ＣｔｒＩｎｆを生成し、結合部１００３に出力する。結合部１００３は、管理情報ＣｔｒＩｎｆと多重化データＭｄａｔａとを結合して記録データＤｏｕｔとして出力する。ここで、符号化部１００１は、クリップの種類、あるいはＭｉｎＣＲ値に基づいて、連続する２枚のピクチャの復号、あるいは表示間隔の下限を設定してもよい。
【０２８２】
なお、オーサリングツールなどでデータを作成する際には、符号化データの生成と、システム多重化あるいは管理情報の作成を別々の装置で行うことがあるが、そのような場合でも、各装置の動作は多重化装置２０００における各部と同一にすればよい。
【０２８３】
（実施の形態６）
さらに、上記各実施の形態で示した情報記録媒体、その再生方法および記録方法を実現するためのプログラムを、フレキシブルディスク等の記録媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
【０２８４】
図５２Ａ〜図５２Ｃは、上記各実施の形態の再生方法および記録方法を、フレキシブルディスク等の記録媒体に記録されたプログラムを用いて、コンピュータシステムにより実施する場合の説明図である。
【０２８５】
図５２Ｂ は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図５２Ａは、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクＦＤはケースＦ内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックＴｒが形成され、各トラックは角度方向に１６のセクタＳｅに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクＦＤ上に割り当てられた領域に、上記プログラムが記録されている。
【０２８６】
また、図５２Ｃ は、フレキシブルディスクＦＤに上記プログラムの記録再生を行うための構成を示す。再生方法および記録方法を実現する上記プログラムをフレキシブルディスクＦＤに記録する場合は、コンピュータシステムＣｓから上記プログラムをフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより再生方法および記録方法を実現する再生方法および記録方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
【０２８７】
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ＩＣカード、ＲＯＭカセット等、プログラムを記録できるものであれば同様に実施することができる。
【０２８８】
なお、図１０、図１８、図１９、図２３、図５１等に示したブロック図の各機能ブロックは典型的には集積回路装置であるＬＳＩとして実現される。このＬＳＩは１チップ化されても良いし、複数チップ化されても良い。（例えばメモリ以外の機能ブロックが１チップ化されていても良い。）ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０２８９】
集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【０２９０】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【０２９１】
また、各機能ブロックのうち、データを格納するユニットだけ１チップ化せずに、本実施形態の記録媒体のように別構成としても良い。
【０２９２】
なお、図１０、１８、１９、２３、５１等に示したブロック図の各機能ブロックおよび図９、１１〜１５、３８〜４１、５０に示したフローチャートにおいて、中心的な部分はプロセッサおよびプログラムによっても実現される。
【０２９３】
このように、上記実施の形態で示した画像符号化方法あるいは画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
【産業上の利用可能性】
【０２９４】
本発明に係る画像符号化方法は、管理情報により示される連続再生単位において、動画像の符号化データに適用される可変長符号化の方式を固定としたことで、可変長符号化の方式の切り替わりに起因する復号時の遅延をなくすことができるとともに、バッファ管理方法の切替えに伴う処理負荷を軽減できるため、ＭＰＥＧ−４  ＡＶＣなどストリーム内で可変長符号化の方式を切り替えられるストリームが多重化されたパッケージメディアなどに適している。
【符号の説明】
【０２９５】
２０１    ＢＤディスク
２０２    光ピックアップ
２０３    プログラム記録メモリ
２０４    管理情報記録メモリ
２０５    ＡＶ記録メモリ
２０６    プログラム処理部
２０７    管理情報処理部
２０８    プレゼンテーション処理部
２０９    イメージプレーン
２１０    ビデオプレーン
２１１    合成処理部
３０１    プログラム記録メモリ
３０２    プログラムプロセッサ
３０３    ＵＯＰマネージャ
３０４    管理情報記録メモリ
３０５    シナリオプロセッサ
３０６    プレゼンテーションコントローラ
３０７    クロック
３０８    イメージメモリ
３０９    トラックバッファ
３１０    デマルチプレクサ
３１１    イメージプロセッサ
３１２    ビデオプロセッサ
３１３    サウンドプロセッサ
３１４    イメージプレーン
３１５    ビデオプレーン
３１６    合成処理部
３１７    ドライブコントローラ
３２０７    動画ダウンコンバータ
３２１５    字幕ダウンコンバータ
３２２３    静止画ダウンコンバータ
３２２８    音声ダウンコンバータ
Ｓ１０１    ディスク挿入ステップ
Ｓ１０２    ＢＤ．ＩＮＦＯ読み込みステップ
Ｓ１０３    ＢＤ．ＰＲＯＧ読み込みステップ
Ｓ１０４    ファーストイベント生成ステップ
Ｓ１０５    イベントハンドラ実行ステップ
Ｓ２０１    ＵＯＰ受付ステップ
Ｓ２０２    ＵＯＰイベント生成ステップ
Ｓ２０３    メニューコール判定ステップ
Ｓ２０４    イベント生成ステップ
Ｓ２０５    イベントハンドラ実行ステップ
Ｓ３０１    プレイリスト再生開始ステップ
Ｓ３０２    プレイリスト情報（ＸＸＸ．ＰＬ）読み込みステップ
Ｓ３０３    プレイリストプログラム（ＸＸＸ．ＰＲＯＧ）読み込みステップ
Ｓ３０４    セル再生開始ステップ
Ｓ３０５    ＡＶ再生開始ステップ
Ｓ４０１    ＡＶ再生開始ステップ
Ｓ４０２    ＶＯＢ情報（ＹＹＹ．ＶＯＢＩ）読み込みステップ
Ｓ４０３    ＶＯＢ（ＹＹＹ．ＶＯＢ）読み込みステップ
Ｓ４０４    ＶＯＢ再生開始ステップ
Ｓ４０５    ＶＯＢ再生終了ステップ
Ｓ４０６    次セル存在判定ステップ
Ｓ５０１    プレイリスト再生開始ステップ
Ｓ５０２    プレイリスト再生終了判定ステップ
Ｓ５０３    タイムイベント時刻判定ステップ
Ｓ５０４    イベント生成ステップ
Ｓ５０５    イベントハンドラ実行ステップ
Ｓ６０１    プレイリスト再生開始ステップ
Ｓ６０２    プレイリスト再生終了判定ステップ
Ｓ６０３    ＵＯＰ受付判定ステップ
Ｓ６０４    ＵＯＰイベント生成ステップ
Ｓ６０５    メニューコール判定ステップ
Ｓ６０６    ユーザイベント有効期間判定ステップ
Ｓ６０７    イベント生成ステップ
Ｓ６０８    イベントハンドラ実行ステップ
Ｓ７０１    プレイリスト再生開始ステップ
Ｓ７０２    プレイリスト再生終了判定ステップ
Ｓ７０３    字幕描画開始判定ステップ
Ｓ７０４    字幕描画ステップ
Ｓ７０５    字幕表示終了判定ステップ
Ｓ７０６    字幕消去ステップ
【図１】
2010028861.tif 000003
【図２】
2010028861.tif 000004
【図３】
2010028861.tif 000005
【図４】
2010028861.tif 000006
【図５Ａ】
2010028861.tif 000007
【図５Ｂ】
2010028861.tif 000008
【図５Ｃ】
2010028861.tif 000009
【図６】
2010028861.tif 000010
【図７】
2010028861.tif 000011
【図８】
2010028861.tif 000012
【図９】
2010028861.tif 000013
【図１０】
2010028861.tif 000014
【図１１】
2010028861.tif 000015
【図１２】
2010028861.tif 000016
【図１３】
2010028861.tif 000017
【図１４】
2010028861.tif 000018
【図１５】
2010028861.tif 000019
【図１６】
2010028861.tif 000020
【図１７】
2010028861.tif 000021
【図１８】
2010028861.tif 000022
【図１９】
2010028861.tif 000023
【図２０】
2010028861.tif 000024
【図２１】
2010028861.tif 000025
【図２２】
2010028861.tif 000026
【図２３】
2010028861.tif 000027
【図２４】
2010028861.tif 000028
【図２５】
2010028861.tif 000029
【図２６】
2010028861.tif 000030
【図２７】
2010028861.tif 000031
【図２８】
2010028861.tif 000032
【図２９】
2010028861.tif 000033
【図３０】
2010028861.tif 000034
【図３１】
2010028861.tif 000035
【図３２】
2010028861.tif 000036
【図３３】
2010028861.tif 000037
【図３４】
2010028861.tif 000038
【図３５】
2010028861.tif 000039
【図３６】
2010028861.tif 000040
【図３７】
2010028861.tif 000041
【図３８】
2010028861.tif 000042
【図３９】
2010028861.tif 000043
【図４０】
2010028861.tif 000044
【図４１】
2010028861.tif 000045
【図４２】
2010028861.tif 000046
【図４３】
2010028861.tif 000047
【図４４】
2010028861.tif 000048
【図４５】
2010028861.tif 000049
【図４６】
2010028861.tif 000050
【図４７】
2010028861.tif 000051
【図４８】
2010028861.tif 000052
【図４９】
2010028861.tif 000053
【図５０】
2010028861.tif 000054
【図５１】
2010028861.tif 000055
【図５２Ａ】
2010028861.tif 000056
【図５２Ｂ】
2010028861.tif 000057
【図５２Ｃ】
2010028861.tif 000058