説明

情報記録媒体、画像符号化方法、および画像復号方法

【課題】 VC−1においてランダムアクセス単位の先頭がP/Iピクチャであると、シームレス接続やマルチアングル再生時に、P/Iピクチャの第1フィールドであるPピクチャが復号できず、解像度が半分になるという課題があった。
【解決手段】 クローズドGOP型のRAUであることを識別するフラグがセットされている際には、RAUの先頭にはP/Iピクチャを配置しない。画像復号装置では、RAUの先頭がP/Iピクチャであるかどうかに応じて表示動作を切替えるための手段が不要となる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シームレス接続やマルチアングル再生などの特殊再生時に有効な補助情報を符号化する画像符号化方法と画像復号方法、およびそのストリームに関する。
【背景技術】
【0002】
近年、音声,画像,その他の画素値を統合的に扱うマルチメディア時代を迎え、従来からの情報メディア,つまり新聞,雑誌,テレビ,ラジオ,電話等の情報を人に伝達する手段がマルチメディアの対象として取り上げられるようになってきた。一般に、マルチメディアとは、文字だけでなく、図形、音声、特に画像等を同時に関連づけて表すことをいうが、上記従来の情報メディアをマルチメディアの対象とするには、その情報をディジタル形式にして表すことが必須条件となる。
【0003】
ところが、上記各情報メディアの持つ情報量をディジタル情報量として見積もってみると、文字の場合1文字当たりの情報量は1〜2バイトであるのに対し、音声の場合1秒当たり64Kbits(電話品質)、さらに動画については1秒当たり100Mbits(現行テレビ受信品質)以上の情報量が必要となり、上記情報メディアでその膨大な情報をディジタル形式でそのまま扱うことは現実的では無い。例えば、テレビ電話は、64Kbit/s〜1.5Mbits/sの伝送速度を持つサービス総合ディジタル網(ISDN : Integrated Services Digital Network)によってすでに実用化されているが、テレビ・カメラの映像をそのままISDNで送ることは不可能である。
【0004】
そこで、必要となってくるのが情報の圧縮技術であり、例えば、テレビ電話の場合、ITU−T(国際電気通信連合 電気通信標準化部門)で勧告されたH.261やH.263規格の動画圧縮技術が用いられている。また、MPEG−1規格の情報圧縮技術によると、通常の音楽用CD(コンパクト・ディスク)に音声情報とともに画像情報を入れることも可能となる。
【0005】
ここで、MPEG(Moving Picture Experts Group)とは、ISO/IEC(国際標準化機構 国際電気標準会議)で標準化された動画像信号圧縮の国際規格であり、MPEG−1は、動画像信号を1.5Mbpsまで、つまりテレビ信号の情報を約100分の1にまで圧縮する規格である。また、MPEG−1規格では対象とする品質を伝送速度が主として約1.5Mbpsで実現できる程度の中程度の品質としたことから、さらなる高画質化の要求をみたすべく規格化されたMPEG−2では、動画像信号を2〜15MbpsでTV放送品質を実現する。さらに現状では、MPEG−1,MPEG−2と標準化を進めてきた作業グループ(ISO/IEC JTC1/SC29/WG11)によって、MPEG−1,MPEG−2を上回る圧縮率を達成し、更に物体単位で符号化・復号・操作を可能とし、マルチメディア時代に必要な新しい機能を実現するMPEG−4が規格化された。MPEG−4では、当初、低ビットレートの符号化方法の標準化を目指して進められたが、現在はインタレース画像も含む高ビットレートも含む、より汎用的な符号化に拡張されている。その後、ISO/IECとITU−Tが共同でより高圧縮率の次世代画像符号化方式として、MPEG−4 AVC(Advanced Video Coding)がされ、さらに、現在SMPTE(Society of Motion Picture and Television Engineers)においてVC−1(非特許文献1)が規格化中である。VC−1では、MPEG−2、およびMPEG−4の方式をベースとして、符号化ツール等の拡張を行っている。このうちVC−1は、BD(Blu−ray disc)、HD(High Definition)−DVDなど次世代の光ディスク関連機器などで使用される見込みである。
【0006】
一般に動画像の符号化では、時間方向および空間方向の冗長性を削減することによって情報量の圧縮を行う。そこで時間的な冗長性の削減を目的とする画面間予測符号化では、前方または後方のピクチャを参照してブロック単位で動きの検出および予測画像の作成を行い、得られた予測画像と符号化対象ピクチャとの差分値に対して符号化を行う。ここで、ピクチャとは1枚の画面を表す用語であり、プログレッシブ画像ではフレームを意味し、インタレース画像ではフレームもしくはフィールドを意味する。ここで、インタレース画像とは、1つのフレームが時刻の異なる2つのフィールドから構成される画像である。インタレース画像の符号化や復号処理においては、1つのフレームをフレームのまま処理したり、2つのフィールドとして処理したり、フレーム内のブロック毎にフレーム構造またはフィールド構造として処理したりすることができる。
【0007】
参照画像を持たず画面内予測符号化を行うものをIピクチャと呼ぶ。また、1枚のピクチャのみを参照し画面間予測符号化を行うものをPピクチャと呼ぶ。また、同時に2枚のピクチャを参照して画面間予測符号化を行うことのできるものをBピクチャと呼ぶ。Bピクチャは表示時間が前方もしくは後方から任意の組み合わせとして2枚のピクチャを参照することが可能である。ただし、これらのピクチャを符号化および復号する場合の条件として、参照するピクチャが既に符号化および復号されている必要がある。
【0008】
次に、VC−1のストリーム構造について説明する。VC−1も基本的にはMPEG−2と同一のストリーム構造をもつ。ただし、ランダムアクセスポイントは、エントリ・ポイント(Entry Point)と呼ばれ、エントリ・ポイントにはヘッダ(Entry Point Header)が付加される。エントリ・ポイントから次のエントリ・ポイントまでのデータがランダムアクセス単位となり、MPEG−2におけるGOP(Group of Pictures)に相当する。以降、VC−1におけるランダムアクセス単位をRAU(Random Access Point)と呼ぶ。ここで、RAUには、RAUを構成するピクチャについてのユーザーデータ(エントリ・ポイントレベルのユーザーデータ)を格納することができ、エントリ・ポイント・ヘッダの直後に格納される。
【0009】
VC−1におけるピクチャのタイプについて以下に示す。まず、I、P、BピクチャについてはMPEG−2と同等の予測構造をもつが、これら3種類のピクチャに加えて、Skippedピクチャ、およびBIピクチャの2種類が定義される。Skippedピクチャとは、画素データを含まないピクチャであり、復号順で直前の参照ピクチャと同一の画素データを持つPピクチャとして扱う。例えば、下記の例では、S6がP4と同一であるとみなされるため、ストリームの復号時の動作は(1)と(2)で同一となる。
【0010】
(1)表示順: I0 B1 P2 B3 P4 B5 S6 (SはSkippedピクチャを示す)
(2)表示順: I0 B1 P2 B3 P4 B5 P4
Skippedピクチャは、画像が静止しているケースにおいて特に有効である。例えば、RAUの途中から画像が静止する際には、I0 P1 P2 P3 S4 S5 S6..のように、画像が静止している部分についてはSkippedピクチャを使用することで、符号量が削減できる。また、BIピクチャとは、BピクチャとIピクチャの性質を併せ持つピクチャである。具体的には、復号と表示の順序は異なり、他のピクチャからは参照されないという点でBピクチャの性質をもち、全てのマクロブロックが画面内符号化されており、他のピクチャを参照しないという点でIピクチャの性質をもつ。
【0011】
次に、I、P、B、Skipped、およびBIピクチャの判別方法を説明する。基本的にはピクチャレイヤのピクチャタイプを参照することによりピクチャのタイプが判別できるが、ピクチャレイヤにより示すことのできるピクチャタイプはプロファイルに応じて下記のように規定される。
【0012】
シンプル・プロファイル: I、P
メイン・プロファイル: I、P、B、BI
アドバンスト・プロファイル: I、P、B、BI、Skipped
【0013】
ここで、シンプル、メインの両プロファイルではピクチャレイヤのピクチャタイプにからはSkippedピクチャを判別できないため、任意のピクチャタイプをもつピクチャのサイズが1バイト以下である際に、当該ピクチャがSkippedピクチャであると規定されている。また、メイン・プロファイルでは、BまたはBIピクチャを示すピクチャタイプが定義されており、ピクチャタイプからBピクチャとBIピクチャとを区別することはできない。
【0014】
VC−1のRAUにおいても、MPEG−2と同様にオープンGOP型とクローズドGOP型とがある。クローズドGOP型とは、RAU内のBピクチャが復号順で直前のRAU内のIピクチャあるいはPピクチャを参照しないタイプである。一方、オープンGOP型は、RAU内のBピクチャが復号順で直前のRAU内のIピクチャあるいはPピクチャを参照してもよいタイプである。なお、オープン型、クローズド型ともに、RAU内のIピクチャとPピクチャは、復号順で直前のRAU内のIピクチャとPピクチャを参照できない。
【0015】
次に、フィールド符号化時に1フレームを構成するフィールドのタイプについて説明する。VC−1では、アドバンスト・プロファイルだけがフィールド符号化に対応しており、フィールド符号化時の第1フィールドと第2フィールドのピクチャタイプは、ピクチャレイヤにおけるフィールド・ピクチャタイプにより示される。フィールド・ピクチャタイプは、(第1フィールドのピクチャタイプ、第2フィールドのピクチャタイプ)として、(I、I)、(I、P)、(P、I)、(P、P)、(B、B)、(B、BI)、(BI、B)、(BI、BI)の8通りが定義されている。以降、これらのピクチャを、それぞれI/Iピクチャ、I/Iピクチャ、I/Pピクチャ、P/Iピクチャ、P/Pピクチャ、B/Bピクチャ、B/BIピクチャ、BI/Iピクチャ、BI/BIピクチャと呼ぶ。ここで、1フレームを構成する2つのフィールドは、フィールド・ペアと呼ばる。I/Pピクチャなど上記8通りのピクチャは、ピクチャと表記するが、全てフィールド・ペアである。なお、MPEG−2においては、P/Iピクチャ、B/BIピクチャ、BI/Iピクチャ、およびBI/BIピクチャは存在しない。
【0016】
図35は、従来の画像符号化方法を実現する画像符号化装置1のブロック図である。
画像符号化装置1は、入力される画像信号Vin を圧縮符号化して可変長符号化等のビットストリームに変換した画像符号化信号Str を出力する装置であり、動き検出ユニットME、動き補償ユニットMC、減算ユニットSub、直交変換ユニットT、量子化ユニットQ、逆量子化ユニットIQ、逆直交変換ユニットIT、加算ユニットAdd、ピクチャメモリPicMem、スイッチSW、および可変長符号化ユニットVLCを備えている。
【0017】
画像信号Vin は、減算ユニットSubおよび動き検出ユニットMEに入力される。減算ユニットSubは、入力された画像信号Vin と予測画像の差分値を計算し、直交変換ユニットTに出力する。直交変換ユニットTは、差分値を周波数係数に変換し、量子化ユニットQに出力する。量子化ユニットQは、入力された周波数係数を量子化し、量子化値Qcoefを可変長符号化ユニットに出力する。
【0018】
逆量子化ユニットIQは、量子化値Qcoefを逆量子化して周波数係数に復元し、逆直交変換ユニットITに出力する。逆直交変換ユニットITは、周波数係数から画素差分値に逆周波数変換し、加算ユニットAddに出力する。加算ユニットAddは、画素差分値と動き補償ユニットMCから出力される予測画像とを加算して復号画像とする。スイッチSWは、当該復号画像の保存が指示された場合にONになり、復号画像はピクチャメモリPicMemに保存される。
【0019】
一方、画像信号Vin がマクロブロック単位で入力された動き検出ユニットMEは、ピクチャメモリPicMemに格納されている復号画像を探索対象とし、最も入力画像信号に近い画像領域を検出することによってその位置を指し示す動きベクトルMVを決定する。
【0020】
動き補償ユニットMCでは、上記処理によって検出された動きベクトルなどを用いて、ピクチャメモリPicMemに格納されている復号画像から予測画像に最適な画像領域を取り出す。
【0021】
ピクチャ予測構造決定ユニットPTYPEはRAU開始ピクチャRAUinによって対象ピクチャがRAUの開始位置であれば、対象ピクチャをランダムアクセスが可能な特別なピクチャとして符号化(画面内符号化)するように、ピクチャタイプPtypeで動き検出ユニットMEおよび動き補償ユニットMCに指示し、更にそのピクチャタイプPtypeを可変長符号化ユニットVLCで符号化する。ここで、先頭ピクチャをフィールドとして符号化する際のピクチャタイプとしては、I/I、I/P、およびP/Iピクチャを自由に選択できる。
【0022】
可変長符号化ユニットVLCは量子化値Qcoef、ピクチャタイプPtypeおよび動きベクトルMVなどを可変長符号化して符号化ストリームStrとする。
【0023】
図36は、従来の画像復号方法を実現する画像復号装置3のブロック図である。同図において、図35の画像符号化装置1のブロック図と同じ動作をするユニットは同じ記号を付し、説明を省略する。可変長復号ユニットVLDは符号化ストリームStrを復号し、量子化値Qcoef、相対インデックスIndex、ピクチャタイプPtypeおよび動きベクトルMVを出力する。量子化値Qcoef、相対インデックスIndexおよび動きベクトルMVは、ピクチャメモリPicMem、動き補償ユニットMCおよび逆量子化ユニットIQに入力され復号処理が行われるが、その動作は図14の従来の画像符号化方法を実現する画像符号化装置のブロック図で説明済みである。バッファメモリBufMemは、復号画像Voutを格納するメモリである。表示方法切替ユニットModeSetは、次に表示するピクチャがRAUの先頭ピクチャである際には、ピクチャタイプを取得するために必要なデータPinfをバッファメモリBufMemに格納された復号画像データから取得する。さらに、当該ピクチャがP/Iピクチャである際には、第1フィールドと第2フィールドにおいて同一の画像を表示する旨を表示命令modeによって表示ユニットDispに通知する。P/Iピクチャでなければ、第1フィールドと第2フィールドは、1フレームを構成するフィールド・ペアにおける第1フィールドと第2フィールドを、それぞれ表示するように表示ユニットDispに指示する。表示ユニットDispは、バッファメモリBufMemから復号画像Dinを取得し、表示命令modeに従って表示する。なお、ピクチャメモリPicMemとバッファメモリBufMemは共用してもよい。
【0024】
図37は、従来の画像復号装置3において、マルチアングル再生や、同一ストリーム内の異なる区間を連続して再生するなどの特殊再生時の表示動作を示すフローチャートである。まず、ステップS1001において表示対象のピクチャがRAUの先頭ピクチャであるかどうか判定する。先頭ピクチャであれば、ステップS1002に進み、先頭ピクチャでなければステップS1005に進む。ステップS1002では、ピクチャのピクチャタイプを取得して、ステップS1003においてP/Iピクチャであったかどうか判定する。P/Iピクチャである際にはステップS1004に進み、P/IピクチャでなければステップS1005に進む。ステップS1004では、第2フィールドを2回繰り返して表示すると決定する。つまり、P/Iピクチャにおいては、第1フィールドであるPピクチャは復号できないため、第2フィールドであるIピクチャをPピクチャの代わりに表示することになる。ステップS1005では、フィールド・ペアを構成する第1フィールドと第2フィールドを、それぞれ順番に表示すると決定する。
【特許文献1】特開2000−228656号公報
【非特許文献1】Proposed SMPTE Standard for Television: VC−9 Compressed Video Bitstream Format and Decoding Process, Committee Draft 1, 2004.7.19
【発明の開示】
【発明が解決しようとする課題】
【0025】
RAUの先頭ピクチャがP/Iピクチャであると、飛び込み再生やマルチアングル再生などの特殊再生時に、P/Iピクチャの第1フィールドであるPピクチャが再生できないという課題があった。また、RAUの先頭がP/Iピクチャである際には、第2フィールドを繰り返して表示するなどして、P/Iピクチャ以外のピクチャとは表示動作を切替える必要があり、表示に係る処理が増加するという課題もあった。以下に、特殊再生時の課題について説明する。
【0026】
図27が示すように、P/IピクチャをRAUの先頭ピクチャとして用いることも可能である。RAUの先頭は特殊再生等における再生開始点として指定することができる位置であるが、P/Iピクチャを先頭ピクチャとして有しているRAUから再生を開始する場合、第1フィールドであるPピクチャは前方の他のピクチャを参照しているために復号することができない。そのため、第2フィールドであるIピクチャからデコードを開始することになり、このP/Iピクチャであるフレームの画像を表示するときには、第2フィールドの画像のみからフレームを表示することになる。例えば、第2フィールドの画像を2回出力することにより、1フレームの画像を表示する。
【0027】
さらに、図28が示すように、RAU先頭のピクチャのみ読み込む早送り再生のような特殊再生をする場合、同様にPピクチャはデコードできないので、1フレームのうちの1フィールドしかデコードできず、解像度が半分に落ちてしまう欠点がある。
【0028】
また、DVDやBDなどでは、プレイリストを用いて同一ストリームにおいて異なる時間位置のストリームを連続再生する、あるいは、マルチアングル再生時に異なるアングルを構成するストリームを連続して再生するなどの特殊再生が一般的に行われる。さらに、追記型、あるいは書き換え型のディスクにおいては、編集後のストリームをプレイリストによって仮想的に連結することもある。このとき、プレイリストでは、プレイアイテムと呼ばれる再生区間を連続して再生する。図29は、プレイリストから指される第1プレイアイテムと第2プレイアイテムとを連続的に再生する例を示す。ここで、第2プレイアイテムの先頭ピクチャがP/Iピクチャであると、P/Iピクチャを構成するPピクチャは復号できず、第1プレイアイテムから第2プレイアイテムへのシームレスな接続が実現できない。
【課題を解決するための手段】
【0029】
本発明は、以上の課題を解決するためになされたものである。
本発明の請求項1にかかる情報記録媒体は、少なくとも動画像の符号化データを多重化したストリームとその管理情報とを記録した情報記録媒体であって、前記管理情報は前記ストリーム内の動画像の再生時刻情報、サイズ情報、およびストリーム内での開始アドレス情報とを記録し、前記動画像の符号化データは、1以上のランダムアクセス可能な単位から構成され、前記動画像の符号化方式においては、1フレームの画像をフィールド単位で符号化する際に、第1フィールドを前方予測ピクチャとし、第2フィールドを面内符号化ピクチャとして符号化されたフィールド・ペアを使用できる際に、前記符号化データにおいて前記フィールド・ペアが存在するかどうかを示す識別情報を格納することを特徴とする。
【0030】
本発明の請求項2にかかる情報記録媒体は、前記ランダムアクセス単位には、ランダムアクセス単位内の双方向予測ピクチャが、復号順で直前のランダムアクセス単位内のピクチャを参照することを禁止した、クローズド型のランダムアクセス単位と、ランダムアクセス単位内の双方向予測ピクチャが、復号順で直前のランダムアクセス単位内のピクチャを参照することを許容した、オープン型のランダムアクセス単位と、の2種類があり、前記識別情報は、前記ランダムアクセス単位がクローズド型であるかどうかを示す情報であり、前記ランダムアクセス単位がクローズド型である際には、前記ランダムアクセス単位の先頭に前記フィールド・ペアが存在しないことを特徴とする請求項1記載の情報記録媒体である。
【0031】
本発明の請求項3にかかる情報記録媒体は、前記識別情報は、前記符号化ストリームのビットレートが所定の値以下であるかどうかを示す情報であることを特徴とする請求項1記載の情報記録媒体である。
【0032】
本発明の請求項4にかかる情報記録媒体は、前記動画像は再生時刻に応じて複数の再生区間に分割され、前記管理情報は、1以上の前記動画像における1以上の前記再生区間を連続して再生するための情報を格納し、前記識別情報は、前記管理情報に格納され、前記連続して再生される前記再生区間がシームレスに接続されるかどうかを示し、前記シームレスに接続されることが示される際には、接続先となる前記再生区間の先頭は前記フィールド・ペアでないことを特徴とする請求項1の情報記録媒体である。
【0033】
本発明の請求項5にかかる情報記録媒体は、前記動画像は再生時刻に応じて複数の再生区間に分割され、前記管理情報は、1以上の前記動画像における1以上の前記再生区間を連続して再生するための情報を格納し、前記識別情報は、前記管理情報に格納され、前記連続して再生される区間が、それぞれ異なる動画像のストリームに属するかどうかを識別する情報であり、前記異なる動画ストリームに属することが示される際には、接続先となる前記再生区間の先頭は前記フィールド・ペアでないことを特徴とする。
【0034】
本発明の請求項6にかかる画像符号化方法は、動画像を1以上のランダムアクセス単位に符号化する画像符号化方法であって、前記動画像の符号化方式においては、1フレームの画像をフィールド単位で符号化する際に、第1フィールドを前方予測ピクチャとし、第2フィールドを面内符号化ピクチャとして符号化されたフィールド・ペアを使用できる際に、前記ランダムアクセス単位の先頭ピクチャが前記フィールド・ペアであるかどうかを示す情報を作成する補助情報作成ステップと、前記作成した補助情報と画素を符号化して符号化ストリームを作成する符号化ステップと、を備えることを特徴とする。
【0035】
本発明の請求項7にかかる画像符号化装置は、動画像を1以上のランダムアクセス単位に符号化する画像符号化装置であって、前記動画像の符号化方式においては、1フレームの画像をフィールド単位で符号化する際に、第1フィールドを前方予測ピクチャとし、第2フィールドを面内符号化ピクチャとして符号化されたフィールド・ペアを使用できる際に、前記ランダムアクセス単位の先頭ピクチャが前記フィールド・ペアであるかどうかを示す情報を作成する補助情報作成手段と、前記作成した補助情報と画素を符号化して符号化ストリームを作成する符号化手段と、を備えることを特徴とする。
【0036】
本発明の請求項8にかかる画像復号方法は、請求項1の情報記録媒体に記録された符号化データを復号して再生する画像復号方法であって、前記識別情報により、前記ランダムアクセス単位の先頭ピクチャが前記フィールド・ペアでないことが示される場合に、前記先頭ピクチャにおける第1フィールド、および第2フィールドを、それぞれ1番目と2番目に表示する表示ステップ、を備えることを特徴とする。
【0037】
本発明の請求項9にかかる画像復号装置は、請求項1の情報記録媒体に記録された符号化データを復号して再生する画像復号装置であって、前記識別情報により、前記ランダムアクセス単位の先頭ピクチャが前記フィールド・ペアでないことが示される場合に、前記先頭ピクチャにおける第1フィールド、および第2フィールドを、それぞれ1番目と2番目に表示する表示手段、を備えることを特徴とする。
【0038】
本発明の請求項10にかかる情報記録媒体は、少なくとも動画像の符号化データを多重化したストリームとその管理情報とを記録した情報記録媒体であって、前記管理情報は前記ストリーム内の動画像の再生時刻情報、サイズ情報、およびストリーム内での開始アドレス情報とを記録し、前記動画像の符号化データは、1以上のランダムアクセス可能な単位から構成され、前記動画像の符号化方式においては、1フレームの画像をフィールド単位で符号化する際に、第1フィールドを前方予測ピクチャとし、第2フィールドを面内符号化ピクチャとして符号化されたフィールド・ペアを使用できる際に、前記ランダムアクセス単位の先頭とは異なるピクチャが前記フィールド・ペアであるときには、前記ランダムアクセス単位内のピクチャであって、前記フィールド・ペアよりも表示順が後であるピクチャは、前記フィールド・ペアの第1フィールドを参照しないことが保証され、前記保証されることを示す情報を前記ストリーム内に格納することを特徴とする。
【0039】
本発明の請求項11にかかる情報記録媒体は、少なくとも動画像の符号化データを多重化したストリームとその管理情報とを記録した情報記録媒体であって、前記管理情報は前記ストリーム内の動画像の再生時刻情報、サイズ情報、およびストリーム内での開始アドレス情報とを記録し、前記動画像の符号化データは、1以上のランダムアクセス可能な単位から構成され、前記動画像の符号化方式においては、1フレームの画像をフィールド単位で符号化する際に、第1フィールドを前方予測ピクチャとし、第2フィールドを面内符号化ピクチャとして符号化されたフィールド・ペアを使用できる際に、前記ランダムアクセス単位の先頭とは異なるピクチャが前記フィールド・ペアであるときには、前記ランダムアクセス単位内のピクチャであって、前記フィールド・ペアよりも表示順が後であるピクチャは、前記フィールド・ペアの第1フィールドを参照する場合としない場合とがあり、前記フィールド・ペアよりも表示順が後であるピクチャが、前記フィールド・ペアの第1フィールドを参照するかどうかを示す情報を前記ストリーム内に格納することを特徴とする。
【0040】
本発明の請求項12にかかる情報記録媒体は、少なくとも動画像の符号化データを多重化したストリームとその管理情報とを記録した情報記録媒体であって、前記管理情報は前記ストリーム内の動画像の再生時刻情報、サイズ情報、およびストリーム内での開始アドレス情報とを記録し、前記動画像の符号化データは、1以上のピクチャをまとめたグループ化単位が複数連結されたデータであり、前記管理情報は、ランダムアクセスすることができる前記グループ化単位の一覧情報を格納し、前記動画像の符号化方式においては、1フレームの画像をフィールド単位で符号化する際に、第1フィールドを前方予測ピクチャとし、第2フィールドを面内符号化ピクチャとして符号化されたフィールド・ペアを使用できる際に、前記ストリームは、前記一覧情報から指されない前記グループ化単位の先頭ピクチャが前記フィールド・ペアであるかどうかを示す情報を格納することを特徴とする。
【発明の効果】
【0041】
以上のように、本発明によれば、P/Iピクチャを使用する際に、ストリームおよび管理情報を制約することにより、特殊再生時の再生品質を向上させることができ、特殊再生機能が重視されるパッケージメディアにおいて、特にその実用的価値が高い。
【発明を実施するための最良の形態】
【0042】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【0043】
(実施の形態1)
まず最初に本発明の第1の実施の形態について説明する。
【0044】
(ディスク上の論理データ構造)
図1は、BD−ROMの構成、特にディスク媒体であるBDディスク(104)と、ディスクに記録されているデータ(101、102、103)の構成を示す図である。BDディスク(104)に記録されるデータは、AVデータ(103)と、AVデータに関する管理情報およびAV再生シーケンスなどのBD管理情報(102)と、インタラクティブを実現するBD再生プログラム(101)である。本実施の形態では、説明の都合上、映画のAVコンテンツを再生するためのAVアプリケーションを主眼においてのBDディスクの説明を行うが、他の用途として用いても勿論同様である。
【0045】
図2は、上述したBDディスクに記録されている論理データのディレクトリ・ファイル構成を示した図である。BDディスクは、他の光ディスク、例えばDVDやCDなどと同様にその内周から外周に向けてらせん状に記録領域を持ち、内周のリード・インと外周のリード・アウトの間に論理データを記録できる論理アドレス空間を有している。また、リード・インの内側にはBCA(Burst Cutting Area)と呼ばれるドライブでしか読み出せない特別な領域がある。この領域はアプリケーションから読み出せないため、例えば著作権保護技術などに利用されることがある。
【0046】
論理アドレス空間には、ファイルシステム情報(ボリューム)を先頭に映像データなどのアプリケーションデータが記録されている。ファイルシステムとは従来技術で説明した通り、UDFやISO9660などのことであり、通常のPCと同じように記録されている論理データをディレクトリ、ファイル構造を使って読み出しする事が可能になっている。
【0047】
本実施例の場合、BDディスク上のディレクトリ、ファイル構造は、ルートディレクトリ(ROOT)直下にBDVIDEOディレクトリが置かれている。このディレクトリはBDで扱うAVコンテンツや管理情報などのデータ(図1で説明した101、102、103)が格納されているディレクトリである。
【0048】
BDVIDEOディレクトリの下には、次の7種類のファイルが記録されている。
【0049】
BD.INFO(ファイル名固定)
「BD管理情報」の一つであり、BDディスク全体に関する情報を記録したファイルである。BDプレーヤは最初にこのファイルを読み出す。
【0050】
BD.PROG(ファイル名固定)
「BD再生プログラム」の一つであり、BDディスク全体に関わる再生制御情報を記録したファイルである。
【0051】
XXX.PL(「XXX」は可変、拡張子「PL」は固定)
「BD管理情報」の一つであり、シナリオ(再生シーケンス)であるプレイリスト情報を記録したファイルである。プレイリスト毎に1つのファイルを持っている。
【0052】
XXX.PROG(「XXX」は可変、拡張子「PL」は固定)
「BD再生プログラム」の一つであり、前述したプレイリスト毎の再生制御情報を記録したファイルである。プレイリストとの対応はファイルボディ名(「XXX」が一致する)によって識別される。
【0053】
YYY.VOB(「YYY」は可変、拡張子「VOB」は固定)
「AVデータ」の一つであり、VOB(従来例で説明したVOBと同じ)を記録したファイルである。VOB毎に1つのファイルを持っている。
【0054】
YYY.VOBI(「YYY」は可変、拡張子「VOBI」は固定)
「BD管理情報」の一つであり、AVデータであるVOBに関わるストリーム管理情報を記録したファイルである。VOBとの対応はファイルボディ名(「YYY」が一致する)によって識別される。
【0055】
ZZZ.PNG(「ZZZ」は可変、拡張子「PNG」は固定)
「AVデータ」の一つであり、字幕およびメニューを構成するためのイメージデータPNG(W3Cによって標準化された画像フォーマットであり「ピング」と読む)を記録したファイルである。1つのPNGイメージ毎に1つのファイルを持つ。
【0056】
(プレーヤの構成)
次に、前述したBDディスクを再生するプレーヤの構成について図6および図7を用いて説明する。
【0057】
図3は、プレーヤの大まかな機能構成を示すブロック図である。
BDディスク(201)上のデータは、光ピックアップ(202)を通して読み出される。読み出されたデータは夫々のデータの種類に応じて専用のメモリに転送される。BD再生プログラム(「BD.PROG」または「XXX.PROG」ファイルの中身)はプログラム記録メモリ(203)に、BD管理情報(「BD.INFO」、「XXX.PL」または「YYY.VOBI」)は管理情報記録メモリ(204)に、AVデータ(「YYY.VOB」または「ZZZ.PNG」)はAV記録メモリ(205)に夫々転送される。
【0058】
プログラム記録メモリ(203)に記録されたBD再生プログラムはプログラム処理部(206)によって、管理情報記録メモリ(204)に記録されたBD管理情報は管理情報処理部(207)によって、また、AV記録メモリ(205)に記録されたAVデータはプレゼンテーション処理部(208)によって夫々処理される。
【0059】
プログラム処理部(206)は、管理情報処理部(207)より再生するプレイリストの情報やプログラムの実行タイミングなどのイベント情報を受け取りプログラムの処理を行う。また、プログラムでは再生するプレイリストを動的に変える事が可能であり、この場合は管理情報処理部(207)に対してプレイリストの再生命令を送ることで実現する。プログラム処理部(206)は、ユーザからのイベント、即ちリモコンキーからのリクエストを受け、ユーザイベントに対応するプログラムがある場合は、それを実行する。
【0060】
管理情報処理部(207)は、プログラム処理部(206)の指示を受け、対応するプレイリストおよびプレイリストに対応したVOBの管理情報を解析し、プレゼンテーション処理部(208)に対象となるAVデータの再生を指示する。また、管理情報処理部(207)は、プレゼンテーション処理部(208)より基準時刻情報を受け取り、時刻情報に基づいてプレゼンテーション処理部(208)にAVデータ再生の停止指示を行い、また、プログラム処理部(206)に対してプログラム実行タイミングを示すイベントを生成する。
【0061】
プレゼンテーション処理部(208)は、映像、音声、字幕/イメージ(静止画)の夫々に対応するデコーダを持ち、管理情報処理部(207)からの指示に従い、AVデータのデコードおよび出力を行う。映像データ、字幕/イメージの場合は、デコード後に夫々の専用プレーン、ビデオプレーン(210)およびイメージプレーン(209)に描画され、合成処理部(211)によって映像の合成処理が行われTVなどの表示デバイスへ出力される。
【0062】
このように図3に示すように、BDプレーヤは図1で示したBDディスクに記録されているデータ構成に基づいた機器構成をとっている。
【0063】
図4は前述したプレーヤ構成を詳細化したブロック図である。図7では、AV記録メモリ(205)はイメージメモリ(308)とトラックバッファ(309)に、プログラム処理部(206)はプログラムプロセッサ(302)とUOPマネージャ(303)に、管理情報処理部(207)はシナリオプロセッサ(305)とプレゼンテーションコントローラ(306)に、プレゼンテーション処理部(208)はクロック(307)、デマルチプレクサ(310)、イメージプロセッサ(311)、ビデオプロセッサ(312)とサウンドプロセッサ(313)に夫々対応/展開している。
【0064】
BDディスク(201)から読み出されたVOBデータ(MPEGストリーム)はトラックバッファ(309)に、イメージデータ(PNG)はイメージメモリ(308)に夫々記録される。デマルチプレクサ(310)がクロック(307)の時刻に基づき、トラックバッファ(309)に記録されたVOBデータを抜き出し、映像データをビデオプロセッサ(312)に音声データをサウンドプロセッサ(313)に夫々送り込む。ビデオプロセッサ(312)およびサウンドプロセッサ(313)は夫々MPEGシステム規格で定める通りに、デコーダバッファとデコーダから夫々構成されている。即ち、デマルチプレクサ(310)から送りこまれる映像、音声夫々のデータは、夫々のデコーダバッファに一時的に記録され、クロック(307)に従い個々のデコーダでデコード処理される。
【0065】
イメージメモリ(308)に記録されたPNGは、次の2つの処理方法がある。
イメージデータが字幕用の場合は、プレゼンテーションコントローラ(306)によってデコードタイミングが指示される。クロック(307)からの時刻情報をシナリオプロセッサ(305)が一旦受け、適切な字幕表示が行えるように、字幕表示時刻(開始および終了)になればプレゼンテーションコントローラ(306)に対して字幕の表示、非表示の指示を出す。プレゼンテーションコントローラ(306)からデコード/表示の指示を受けたイメージプロセッサ(311)は対応するPNGデータをイメージメモリ(308)から抜き出し、デコードし、イメージプレーン(314)に描画する。
【0066】
次に、イメージデータがメニュー用の場合は、プログラムプロセッサ(302)によってデコードタイミングが指示される。プログラムプロセッサ(302)が何時イメージのデコードを指示するかは、プログラムプロセッサ(302)が処理しているBDプログラムに因るものであって一概には決まらない。
【0067】
イメージデータおよび映像データは、図6で説明したように夫々デコード後にイメージプレーン(314)、ビデオプレーン(315)に出力され、合成処理部(316)によって合成後出力される。
【0068】
BDディスク(201)から読み出された管理情報(シナリオ、AV管理情報)は、管理情報記録メモリ(304)に格納されるが、シナリオ情報(「BD.INFO」および「XXX.PL」)はシナリオプロセッサ(305)へ読み込み処理される。また、AV管理情報(「YYY.VOBI」)はプレゼンテーションコントローラ(306)によって読み出され処理される。
【0069】
シナリオプロセッサ(305)は、プレイリストの情報を解析し、プレイリストによって参照されているVOBとその再生位置をプレゼンテーションコントローラ(306)に指示し、プレゼンテーションコントローラ(306)は対象となるVOBの管理情報(「YYY.VOBI」)を解析して、対象となるVOBを読み出すようにドライブコントローラ(317)に指示を出す。
【0070】
ドライブコントローラ(317)はプレゼンテーションコントローラ(306)の指示に従い、光ピックアップを移動させ、対象となるAVデータの読み出しを行う。読み出されたAVデータは、前述したようにイメージメモリ(308)またはトラックバッファ(309)に読み出される。
【0071】
また、シナリオプロセッサ(305)は、クロック(307)の時刻を監視し、管理情報で設定されているタイミングでイベントをプログラムプロセッサ(302)に投げる。
【0072】
プログラム記録メモリ(301)に記録されたBDプログラム(「BD.PROG」または「XXX.PROG」)は、プログラムプロセッサ302によって実行処理される。プログラムプロセッサ(302)がBDプログラムを処理するのは、シナリオプロセッサ(305)からイベントが送られてきた場合か、UOPマネージャ(303)からイベントが送られてきた場合である。UOPマネージャ(303)は、ユーザからリモコンキーによってリクエストが送られてきた場合に、プログラムプロセッサ(302)に対するイベントを生成する。
【0073】
(アプリケーション空間)
図5は、BDのアプリケーション空間を示す図である。
【0074】
BDのアプリケーション空間では、プレイリスト(PlayList)が一つの再生単位になっている。プレイリストはセル(Cell)の連結で、連結の順序により決定される再生シーケンスである静的なシナリオと、プログラムによって記述される動的なシナリオを有している。プログラムによる動的なシナリオが無い限り、プレイリストは個々のセルを順に再生するだけであり、また、全てのセルの再生を終了した時点でプレイリストの再生は終了する。一方で、プログラムは、プレイリストを超えての再生記述や、ユーザ選択またはプレーヤの状態によって再生する対象を動的に変えることが可能である。典型的な例としてはメニューがあげられる。BDの場合、メニューとはユーザの選択によって再生するシナリオと定義でき、プログラムによってプレイリストを動的に選択することである。
【0075】
ここで言うプログラムとは、時間イベントまたはユーザイベントによって実行されるイベントハンドラの事である。
【0076】
時間イベントは、プレイリスト中に埋め込まれた時刻情報に基づいて生成されるイベントである。図4で説明したシナリオプロセッサ(305)からプログラムプロセッサ(302)に送られるイベントがこれに相当する。時間イベントが発行されると、プログラムプロセッサ(302)はIDによって対応付けられるイベントハンドラを実行処理する。前述した通り、実行されるプログラムが他のプレイリストの再生を指示することが可能であり、この場合には、現在再生されているプレイリストの再生は中止され、指定されたプレイリストの再生へと遷移する。
【0077】
ユーザイベントは、ユーザのリモコンキー操作によって生成されるイベントである。ユーザイベントは大きく2つのタイプに分けられる。一つ目は、カーソルキー(「上」「下」「左」「右」キー)または「決定」キーの操作によって生成されるメニュー選択のイベントである。メニュー選択のイベントに対応するイベントハンドラはプレイリスト内の限られた期間でのみ有効であり(プレイリストの情報として、個々のイベントハンドラの有効期間が設定されている)、リモコンの「上」「下」「左」「右」キーまたは「決定」キーが押された時に有効なイベントハンドラを検索して、有効なイベントハンドラがある場合は当該イベントハンドラが実行処理される。他の場合は、メニュー選択のイベントは無視されることになる。
【0078】
二つ目のユーザイベントは、「メニュー」キーの操作によって生成されるメニュー呼び出しのイベントである。メニュー呼び出しのイベントが生成されると、グローバルイベントハンドラが呼ばれる。グローバルイベントハンドラはプレイリストに依存せず、常に有効なイベントハンドラである。この機能を使うことにより、DVDのメニューコール(タイトル再生中に音声、字幕メニューなどを呼び出し、音声または字幕を変更後に中断した地点からのタイトル再生を実行する機能等)を実装することができる。
【0079】
プレイリストで静的シナリオを構成する単位であるセル(Cell)はVOB(MPEGストリーム)の全部または一部の再生区間を参照したものである。セルはVOB内の再生区間を開始、終了時刻の情報として持っている。個々のVOBと一対になっているVOB管理情報(VOBI)は、その内部にデータの再生時刻に対応した記録アドレスのテーブル情報であるタイムマップ(Time MapまたはTMAP)を有しており、このタイムマップによって前述したVOBの再生、終了時刻をVOB内(即ち対象となるファイル「YYY.VOB」内)での読み出し開始アドレスおよび終了アドレスを導き出すことが可能である。なおタイムマップの詳細は後述する。
【0080】
(VOBの詳細)
図6は、本実施例で使用するMPEGストリーム(VOB)の構成図である。
【0081】
図6に示すように、VOBは複数のVOBU(Video Object Unit)によって構成されている。VOBUは、MPEGビデオストリームで言うGOP(Group Of Pictures)を基準として、音声データも含んだ多重化ストリームとしての一再生単位である。VOBUは1.0秒以下のビデオ再生時間を持ち、通常は0.5秒程度の再生時間を持っている。
【0082】
VOBU先頭のTSパケット(MPEG−2 Transport Stream Packet)は、シーケンスヘッダとそれに続くGOPヘッダとIピクチャ(Intra−coded)を格納しており、このIピクチャからの復号が開始可能なようになっている。また、このVOBU先頭のIピクチャの先頭を含むTSパケットのアドレス(開始アドレス)と、この開始アドレスからIピクチャの最後を含むTSパケットまでのアドレス(終了アドレス)と、このIピクチャの再生開始時刻(PTS)をタイムマップで管理している。したがって、タイムマップのエントリーはVOBU先頭のTSパケットごとに与えられている。
【0083】
VOBUは、その内部にビデオパケット(V_PKT)とオーディオパケット(A_PKT)を有している。各パケットは188バイトであり、図6に図示してはいないが、各TSパケットの直前には、そのTSパケットの相対的なデコーダ供給開始時刻であるATS(Arrival Time Stamp)が付与されている。
【0084】
ATSを各TSパケットごとに付与するのは、このTSストリームのシステムレートが固定レートでなく、可変レートであるためである。一般的にシステムレートを固定にする場合にはNULLパケットと呼ばれるダミーのTSパケットを挿入することになるが、限られた記録容量の中に高画質で記録するためには、可変レートが適しており、BDではATS付きのTSストリームとして記録している。
【0085】
図7は、TSパケットの構成を示した図である。
図7に示すように、TSパケットは、TSパケットヘッダと、適用フィールドと、ペイロード部から構成される。TSパケットヘッダにはPID(Packet Identifier)が格納され、これにより、TSパケットがどのような情報を格納しているのか識別される。適用フィールドにはPCR(Program Clock Reference)が格納される。PCRはストリームをデコードする機器の基準クロック(System Time Clock、STCと呼ぶ)の参照値である。機器は典型的にはPCRのタイミングでシステムストリームをデマルチプレクスし、ビデオストリーム等の各種ストリームを再構築する。ペイロードにはPESパケットが格納される。
【0086】
PESパケットヘッダには、DTS(Decoding Time Stamp)とPTS(Presentation Time Stamp)が格納される。DTSは当該PESパケットに格納されるピクチャ/オーディオフレームのデコードタイミングを示し、PTSは映像音声出力等のプレゼンテーションタイミングを示す。ビデオデータおよびオーディオデータといったエレメンタリデータは、PESパケットペイロード(PES Packet Payload)と呼ばれるパケット(PES Packet)のデータ格納領域に先頭から順次入れられていく。PESパケットヘッダには、ペイロードに格納してあるデータがどのストリームなのかを識別するためのID(stream_id)も記録されている。
【0087】
TSストリームの詳細についてはISO/IEC13818−1で規定されており、BDで特徴的なのはATSを各TSパケットごとに付与したことである。
【0088】
(VOBのインターリーブ記録)
次に図8および図9を用いてVOBファイルのインターリーブ記録について説明する。
【0089】
図8上段は、前述したプレーヤ構成図の一部である。図の通り、BDディスク上のデータは、光ピックアップを通してVOB即ちMPEGストリームであればトラックバッファへ入力され、PNG即ちイメージデータであればイメージメモリへと入力される。
【0090】
トラックバッファはFIFOであり、入力されたVOBのデータは入力された順にデマルチプレクサへと送られる。この時、前述したATSに従って個々のTSパケットはトラックバッファから引き抜かれデマルチプレクサを介してビデオプロセッサまたはサウンドプロセッサへとデータが送り届けられる。一方で、イメージデータの場合は、どのイメージを描画するかはプレゼンテーションコントローラによって指示される。また、描画に使ったイメージデータは、字幕用イメージデータの場合は同時にイメージメモリから削除されるが、メニュー用のイメージデータの場合は、そのメニュー描画中はイメージメモリ内にそのまま残される。これはメニューの描画はユーザ操作に依存しており、ユーザーの操作に追従してメニューの一部分を再表示もしくは異なるイメージに置き換えることがあり、その際に再表示される部分のイメージデータをデコードし易くするためである。
【0091】
図8下段は、BDディスク上でのVOBファイルおよびPNGファイルのインターリーブ記録を示す図である。一般的にROM、例えばCD−ROMやDVD−ROMの場合、一連の連続再生単位となるAVデータは連続記録されている。これは、連続記録されている限り、ドライブは順次データを読み出し、デコーダに送り届けるだけで良いが、連続データが分断されてディスク上に離散配置されている場合は、個々の連続区間の間でシーク操作が入ることになり、この間データの読み出しが止まることになり、データの供給が止まる可能性があるからである。BDの場合も同様に、VOBファイルは連続領域に記録することができる方が望ましいが、例えば字幕データのようにVOBに記録されている映像データと同期して再生されるデータがあり、VOBファイルと同様に字幕データも何らかの方法によってBDディスクから読み出す事が必要になる。
【0092】
字幕データの読み出し方法の一手段として、VOBの再生開始前に一まとめで字幕用のイメージデータ(PNGファイル)を読み出してしまう方法がある。しかしながら、この場合には大量のメモリが必要となり、非現実的である。
【0093】
そこで、VOBファイルを幾つかのブロックに分けて、イメージデータとインターリーブ記録する方式を使用している。図8下段はそのインターリーブ記録を説明した図である。
【0094】
VOBファイルとイメージデータを適切にインターリーブ配置することで、前述したような大量の一時記録メモリ無しに、必要なタイミングでイメージデータをイメージメモリに格納することが可能になる。しかしながらイメージデータを読み出している際には、VOBデータの読み込みは当然のことながら停止することになる。
【0095】
図9は、この問題を解決するトラックバッファを使ったVOBデータ連続供給モデルを説明する図である。
【0096】
既に説明したように、VOBのデータは、一旦トラックバッファに蓄積される。トラックバッファへのデータ入力レート(Va)とトラックバッファからのデータ出力レート(Vb)の間に差(Va>Vb)を設けると、BDディスクからデータを読み出し続けている限り、トラックバッファのデータ蓄積量は増加をしていくことになる。
【0097】
図9の上段に記すようにVOBの一連続記録領域が論理アドレスの”a1”から”a2”まで続くとする。”a2”から”a3”の間は、イメージデータが記録されていて、VOBデータの読み出しが行えない区間であるとする。
【0098】
図9の下段は、トラックバッファの内部を示す図である。横軸が時間、縦軸がトラックバッファ内部に蓄積されているデータ量を示している。時刻”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”までになる。
【0099】
ここで大事なことは、時刻”t3”より前にトラックバッファに蓄積されているデータ量が0になると、デコーダへ供給するVOBのデータが無くなってしまい、VOBの再生がストップしてしまう可能性がある。しかしながら、時刻”t3”でトラックバッファにデータが残っている場合には、VOBの再生がストップすることなく連続できることを意味している。
【0100】
この条件は下式によって示すことができる。

B(t2) ≧ −Vb×(t3−t2) (式2)

即ち、式2を満たすようにイメージデータ(非VOBデータ)の配置を決めればよい事になる。
【0101】
(ナビゲーションデータ構造)
図10から図16を用いて、BDのナビゲーションデータ(BD管理情報)構造について説明をする。
【0102】
図10は、VOB管理情報情報ファイル(”YYY.VOBI”)の内部構造を示した図である。
【0103】
VOB管理情報は、当該VOBのストリーム属性情報(Attribute)とタイムマップを有している。ストリーム属性は、ビデオ属性(Video)、オーディオ属性(Audio#0〜Audio#m)個々に持つ構成となっている。特にオーディオストリームの場合は、VOBが複数本のオーディオストリームを同時に持つことができることから、オーディオストリーム数(Number)によって、データフィールドの有無を示している。
【0104】
下記はビデオ属性(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)
【0105】
下記はオーディオ属性(Audio)の持つフィールドと夫々が持ち得る値である。
圧縮方式(Coding):
AC3
MPEG1
MPEG2
LPCM
チャンネル数(Ch):
1〜8
言語属性(Language):
【0106】
タイムマップ(TMAP)はVOBU毎の情報を持つテーブルであって、当該VOBが有するVOBU数(Number)と各VOBU情報(VOBU#1〜VOBU#n)を持つ。個々のVOBU情報は、VOBU先頭TSパケット(Iピクチャ開始)のアドレスI_startと、そのIピクチャの終了アドレスまでのオフセットアドレス(I_end)、およびそのIピクチャの再生開始時刻(PTS)から構成される。
【0107】
なお、I_endの値はオフセット値、すなわちIピクチャのサイズを持たせるのではなく、実際のIピクチャの終了アドレスを持たせてもよい。
【0108】
図11はVOBU情報の詳細を説明する図である。
広く知られているように、MPEGビデオストリームは高画質記録するために可変ビットレート圧縮されることがあり、その再生時間とデータサイズ間に単純な相関はない。逆に、音声の圧縮規格であるAC3は固定ビットレートでの圧縮を行っているため、時間とアドレスとの関係は1次式によって求めることができる。しかしながらMPEGビデオデータの場合は、個々のフレームは固定の表示時間、例えばNTSCの場合は1フレームは1/29.97秒の表示時間を持つが、個々のフレームの圧縮後のデータサイズは絵の特性や圧縮に使ったピクチャタイプ、いわゆるI/P/Bピクチャによってデータサイズは大きく変わってくる。従って、MPEGビデオの場合は、時間とアドレスの関係は一次式の形で表現することは不可能である。
【0109】
当然の事として、MPEGビデオデータを多重化しているMPEGシステムストリーム、即ちVOBも時間とデータサイズとを一次式の形で表現することは不可能である。このため、VOB内での時間とアドレスとの関係を結びつけるのがタイムマップ(TMAP)である。
【0110】
このようにして、ある時刻情報が与えられた場合、先ずは当該時刻がどのVOBUに属するのかを検索(VOBU毎のPTSを追っていく)して、当該時刻の直前のPTSをTMAPに持つVOBUに飛びこみ(I_startで指定されたアドレス)、VOBU先頭のIピクチャから復号を開始し、当該時刻のピクチャから表示を開始する。
【0111】
次に図12を使って、プレイリスト情報(”XXX.PL”)の内部構造を説明する。
プレイリスト情報は、セルリスト(CellList)とイベントリスト(EventList)から構成されている。
【0112】
セルリスト(CellList)は、プレイリスト内の再生セルシーケンスであり、本リストの記述順でセルが再生される事になる。セルリスト(CellList)の中身は、セルの数(Number)と各セル情報(Cell#1〜Cell#n)である。
【0113】
セル情報(Cell#)は、VOBファイル名(VOBName)、当該VOB内での開始時刻(In)および終了時刻(Out)と、字幕テーブル(SubtitleTable)を持っている。開始時刻(In)および終了時刻(Out)は、夫々当該VOB内でのフレーム番号で表現され、前述したタイムマップを使うことによって再生に必要なVOBデータのアドレスを得る事ができる。
【0114】
字幕テーブル(SubtitleTable)は、当該VOBと同期再生される字幕情報を持つテーブルである。字幕は音声同様に複数の言語を持つことができ、字幕テーブル(SubtitleTable)最初の情報も言語数(Number)とそれに続く個々の言語ごとのテーブル(Language#1〜Language#k)から構成されている。
【0115】
各言語のテーブル(Language#)は、言語情報(Lang)と、個々に表示される字幕の字幕情報数(Number)と、個々に表示される字幕の字幕情報(Speech#1〜Speech#j)から構成され、字幕情報(Speech#)は対応するイメージデータファイル名(Name)、字幕表示開始時刻(In)および字幕表示終了時刻(Out)と、字幕の表示位置(Position)から構成されている。
【0116】
イベントリスト(EventList)は、当該プレイリスト内で発生するイベントを定義したテーブルである。イベントリストは、イベント数(Number)に続いて個々のイベント(Event#1〜Event#m)から構成され、個々のイベント(Event#)は、イベントの種類(Type)、イベントのID(ID)、イベント発生時刻(Time)と有効期間(Duration)から構成されている。
【0117】
図13は、個々のプレイリスト毎のイベントハンドラ(時間イベントと、メニュー選択用のユーザイベント)を持つイベントハンドラテーブル(”XXX.PROG”)である。
【0118】
イベントハンドラテーブルは、定義されているイベントハンドラ/プログラム数(Number)と個々のイベントハンドラ/プログラム(Program#1〜Program#n)を有している。各イベントハンドラ/プログラム(Program#)内の記述は、イベントハンドラ開始の定義(<event_handler>タグ)と前述したイベントのIDと対になるイベントハンドラのID(ID)を持ち、その後に当該プログラムもFunctionに続く括弧”{”と”}”の間に記述する。前述の”XXX.PL”のイベントリスト(EventList)に格納されたイベント(Event#1〜Event#m)は”XXX.PROG”のイベントハンドラのID(ID)を用いて特定される。
【0119】
次に図14を用いてBDディスク全体に関する情報(”BD.INFO”)の内部構造を説明する。
【0120】
BDディスク全体情報は、タイトルリスト(TitleList)とグローバルイベント用のイベントテーブル(EventList)から構成されている。
【0121】
タイトルリスト(TitleList)は、ディスク内のタイトル数(Number)と、これに続く各タイトル情報(Title#1〜Title#n)から構成されている。個々のタイトル情報(Title#)は、タイトルに含まれるプレイリストのテーブル(PLTable)とタイトル内のチャプタリスト(ChapterList)を含んでいる。プレイリストのテーブル(PLTable)はタイトル内のプレイリストの数(Number)と、プレイリスト名(Name)即ちプレイリストのファイル名を有している。
【0122】
チャプタリスト(ChapterList)は、当該タイトルに含まれるチャプタ数(Number)と個々のチャプタ情報(Chapter#1〜Chapter#n)から構成され、個々のチャプタ情報(Chapter#)は当該チャプタが含むセルのテーブル(CellTable)を持ち、セルのテーブル(CellTable)はセル数(Number)と個々のセルのエントリ情報(CellEntry#1〜CellEntry#k)から構成されている。セルのエントリ情報(CellEntry#)は当該セルを含むプレイリスト名と、プレイリスト内でのセル番号によって記述されている。
【0123】
イベントリスト(EventList)は、グローバルイベントの数(Number)と個々のグローバルイベントの情報を持っている。ここで注意すべきは、最初に定義されるグローバルイベントは、ファーストイベント(FirstEvent)と呼ばれ、BDディスクがプレーヤに挿入された時、最初に呼ばれるイベントである。グローバルイベント用イベント情報はイベントタイプ(Type)とイベントのID(ID)だけを持っている。
【0124】
図15は、グローバルイベントハンドラのプログラムのテーブル(”BD.PROG”)である。
【0125】
本テーブルは、図16で説明したイベントハンドラテーブルと同一内容である。
【0126】
(イベント発生のメカニズム)
図16から図18を使ってイベント発生のメカニズムについて説明する。
【0127】
図16はタイムイベントの例である。
前述したとおり、タイムイベントはプレイリスト情報(”XXX.PL”)のイベントリスト(EventList)で定義される。タイムイベントとして定義されているイベント、即ちイベントタイプ(Type)が”TimeEvent”の場合、イベント生成時刻(”t1”)になった時点で、ID”Ex1”を持つタイムイベントがシナリオプロセッサからプログラムプロセッサに対してあげられる。プログラムプロセッサは、イベントID”Ex1”を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する。例えば、本実施例の場合では、2つのボタンイメージの描画を行うなどを行うことができる。
【0128】
図17はメニュー操作を行うユーザーイベントの例である。
前述したとおり、メニュー操作を行うユーザイベントもプレイリスト情報(”XXX.PL”)のイベントリスト(EventList)で定義される。ユーザイベントとして定義されるイベント、即ちイベントタイプ(Type)が”UserEvent”の場合、イベント生成時刻(”t1”)になった時点で、当該ユーザイベントがレディとなる。この時、イベント自身は未だ生成されてはいない。当該イベントは、有効期間情報(Duration)で記される期間レディ状態にある。
【0129】
図17に描くように、ユーザがリモコンキーの「上」「下」「左」「右」キーまたは「決定」キーを押した場合、先ずUOPイベントがUOPマネージャによって生成されプログラムプロセッサに上げられる。プログラムプロセッサは、シナリオプロセッサに対してUOPイベントを流し、シナリオプロセッサはUOPイベントを受け取った時刻に有効なユーザイベントが存在するかを検索し、対象となるユーザイベントがあった場合は、ユーザイベントを生成し、プログラムプロセッサに持ち上げる。プログラムプロセッサでは、イベントID”Ev1”を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する。例えば、本実施例の場合では、プレイリスト#2の再生を開始する。
【0130】
生成されるユーザイベントには、どのリモコンキーがユーザによって押されたかの情報は含まれていない。選択されたリモコンキーの情報は、UOPイベントによってプログラムプロセッサに伝えられ、仮想プレーヤが持つレジスタSPRM(8)に記録保持される。イベントハンドラのプログラムは、このレジスタの値を調べ分岐処理を実行することが可能である。
【0131】
図18はグローバルイベントの例である。
前述したとおり、グローバルイベントはBDディスク全体に関する情報(”BD.INFO”)のイベントリスト(EventList)で定義される。グローバルイベントとして定義されるイベント、即ちイベントタイプ(Type)が”GlobalEvent”の場合、ユーザのリモコンキー操作があった場合にのみイベントが生成される。
【0132】
ユーザが”メニュー”を押した場合、先ずUOPイベントがUOPマネージャによって生成されプログラムプロセッサに上げられる。プログラムプロセッサは、シナリオプロセッサに対してUOPイベントを流し、シナリオプロセッサは、該当するグローバルイベントを生成し、プログラムプロセッサに送る。プログラムプロセッサでは、イベントID”menu”を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する。例えば、本実施例の場合ではプレイリスト#3の再生を開始している。
【0133】
本実施例では、単に”メニュー”キーと呼んでいるが、DVDのように複数のメニューキーがあってもよい。各メニューキーに対応するIDを夫々定義することで対応することが可能である。
【0134】
(仮想プレーヤマシン)
図19を用いてプログラムプロセッサの機能構成を説明する。
【0135】
プログラムプロセッサは、内部に仮想プレーヤマシンを持つ処理モジュールである。仮想プレーヤマシンはBDとして定義された機能モデルであって、各BDプレーヤの実装には依存しないものである。即ち、どのBDプレーヤにおいても同様の機能を実行するできることを保証している。
【0136】
仮想プレーヤマシンは大きく2つの機能を持っている。プログラミング関数とプレーヤ変数(レジスタ)である。プログラミング関数は、Java(登録商標)Scriptをベースとして、以下に記す2つの機能をBD固有関数として定義している。
【0137】
リンク関数:現在の再生を停止し、指定するプレイリスト、セル、時刻からの再生を開始する
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)とがある。
【0138】
図20はシステムパラメータ(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に限定されるものでは無い。
【0139】
(プログラムの例)
図21および図22は、イベントハンドラでのプログラムの例である。
【0140】
図21は、2つの選択ボタンを持ったメニューの例である。
セル(PlayList#1.Cell#1)先頭でタイムイベントを使って図24左側のプログラムが実行される。ここでは、最初にゼネラルパラメータの一つGPRM(0)に”1”がセットされている。GPRM(0)は、当該プログラムの中で、選択されているボタンを識別するのに使っている。最初の状態では、左側に配置するボタン1が選択されている事を初期値として持たされている。
【0141】
次に、PNGの描画を描画関数であるDrawを使ってボタン1、ボタン2夫々について行っている。ボタン1は、座標(10、200)を起点(左端)としてPNGイメージ”1black.png”を描画している。ボタン2は、座標(330,200)を起点(左端)としてPNGイメージ”2white.png”を描画している。
【0142】
また、本セル最後ではタイムイベントを使って図24右側のプログラムが実行される。ここでは、Link関数を使って当該セルの先頭から再度再生するように指定している。
【0143】
図22は、メニュー選択のユーザイベントのイベントハンドラの例である。
「左」キー、「右」キー、「決定」キー何れかのリモコンキーが押された場合夫々に対応するプログラムがイベントハンドラに書かれている。ユーザがリモコンキーを押した場合、図17で説明したとおり、ユーザイベントが生成され、図22のイベントハンドラが起動されることになる。本イベントハンドラでは、選択ボタンを識別しているGPRM(0)の値と、選択されたリモコンキーを識別するSPRM(8)を使って分岐処理を行っている。
【0144】
条件1)ボタン1が選択されている、かつ、選択キーが「右」キーの場合
GPRM(0)を2に再設定して、選択状態にあるボタンを右ボタン2に変更する。
ボタン1、ボタン2のイメージを夫々書き換える。
条件2)選択キーが「決定(OK)」の場合で、ボタン1が選択されている場合
プレイリスト#2の再生を開始する
条件3)選択キーが「決定(OK)」の場合で、ボタン2が選択されている場合
プレイリスト#3の再生を開始する
上記のようにして実行処理が行われる。
【0145】
(プレーヤ処理フロー)
次に図23から図26を用いてプレーヤでの処理フローを説明する。
【0146】
図23は、AV再生までの基本処理フローである。
BDディスクを挿入すると(S101)、BDプレーヤはBD.INFOファイルの読み込みと解析(S102)、BD.PROGの読み込み(S103)を実行する。BD.INFOおよびBD.PROGは共に管理情報記録メモリに一旦格納され、シナリオプロセッサによって解析される。
【0147】
続いて、シナリオプロセッサは、BD.INFOファイル内のファーストイベント(FirstEvent)情報に従い、最初のイベントを生成する(S104)。生成されたファーストイベントは、プログラムプロセッサで受け取られ、当該イベントに対応するイベントハンドラを実行処理する(S105)。
【0148】
ファーストイベントに対応するイベントハンドラには、最初に再生するべきプレイリスト情報が記録されていることが期待される。仮に、プレイリスト再生が指示されていない場合には、プレーヤは何も再生することなく、ユーザイベントを受け付けるのを待ち続けるだけになる。(S201)。BDプレーヤはユーザからのリモコン操作を受け付けると、UOPマネージャはプログラムマネージャに対してUOPイベントを立ち上げる(S202)。
【0149】
プログラムマネージャは、UOPイベントがメニューキーかを判別し(S203)、メニューキーの場合は、シナリオプロセッサにUOPイベントを流し、シナリオプロセッサがユーザイベントを生成する(S204)。プログラムプロセッサは生成されたユーザイベントに対応するイベントハンドラを実行処理する(S205)。
【0150】
図24は、PL再生開始からVOB再生開始までの処理フローである。
前述したように、ファーストイベントハンドラまたはグローバルイベントハンドラによってプレイリスト再生が開始される(S301)。シナリオプロセッサは、再生対象のプレイリスト再生に必要な情報として、プレイリスト情報”XXX.PL”の読み込みと解析(S302)、プレイリストに対応するプログラム情報”XXX.PROG”の読み込みを行う(S303)。続いてシナリオプロセッサは、プレイリストに登録されているセル情報に基づいてセルの再生を指示する(S304)。セル再生は、シナリオプロセッサからプレゼンテーションコントローラに対して要求が出さる事を意味し、プレゼンテーションコントローラはAV再生を開始する(S305)。
【0151】
AV再生の開始(S401)を開始すると、プレゼンテーションコントローラは再生するセルに対応するVOBの情報ファイル(XXX.VOBI)を読み込みおよび解析をする(S402)。プレゼンテーションコントローラは、タイムマップを使って再生開始するVOBUとそのアドレスを特定し、ドライブコントローラに読み出しアドレスを指示し、ドライブコントローラは対象となるVOBデータを読み出し(S403)、VOBデータがデコーダに送られ再生が開始される(S404)。
【0152】
VOB再生は、当該VOBの再生区間が終了するまで続けられ(S405)、終了すると次のセル再生S304へ移行する。次にセルが無い場合は、再生が停止する(S406)。
【0153】
図25は、AV再生開始後からのイベント処理フローである。
BDプレーヤはイベントドリブン型のプレーヤモデルである。プレイリストの再生を開始すると、タイムイベント系、ユーザイベント系、字幕表示系のイベント処理プロセスが夫々起動され、平行してイベント処理を実行するようになる。
【0154】
S500系の処理は、タイムイベント系の処理フローである。
プレイリスト再生開始後(S501)、プレイリスト再生が終了しているかを確認するステップ(S502)を経て、シナリオプロセッサは、タイムイベント発生時刻になったかを確認する(S503)。タイムイベント発生時刻になっている場合には、シナリオプロセッサはタイムイベントを生成し(S504)、プログラムプロセッサがタイムイベントを受け取りイベントハンドラを実行処理する(S505)。
【0155】
ステップS503でタイムイベント発生時刻になっていない場合、または、ステップS504でイベントハンドラ実行処理後は再度ステップS502へ戻り、上述した処理を繰り返す。また、ステップS502でプレイリスト再生が終了したことが確認されると、タイムイベント系の処理は強制的に終了する。
【0156】
S600系の処理は、ユーザイベント系の処理フローである。
プレイリスト再生開始後(S601)、プレイリスト再生終了確認ステップ(S602)を経て、UOP受付確認ステップの処理に移る(S603)。UOPの受付があった場合、UOPマネージャはUOPイベントを生成し(S604)、UOPイベントを受け取ったプログラムプロセッサはUOPイベントがメニューコールであるかを確認し(S605)、メニューコールであった場合は、プログラムプロセッサはシナリオプロセッサにイベントを生成させ(S607)、プログラムプロセッサはイベントハンドラを実行処理する(S608)。
【0157】
ステップS605でUOPイベントがメニューコールで無いと判断された場合、UOPイベントはカーソルキーまたは「決定」キーによるイベントである事を示している。この場合、現在時刻がユーザイベント有効期間内であるかをシナリオプロセッサが判断し(S606)、有効期間内である場合には、シナリオプロセッサがユーザイベントを生成し(S607)、プログラムプロセッサが対象のイベントハンドラを実行処理する(S608)。
【0158】
ステップS603でUOP受付が無い場合、ステップS606で現在時刻がユーザイベント有効期間に無い場合、または、ステップS608でイベントハンドラ実行処理後は再度ステップS602へ戻り、上述した処理を繰り返す。また、ステップS602でプレイリスト再生が終了したことが確認されると、ユーザイベント系の処理は強制的に終了する。
【0159】
図26は字幕処理のフローである。
プレイリスト再生開始後(S701)、プレイリスト再生終了確認ステップ(S702)を経て、字幕描画開始時刻確認ステップに移る(S703)。字幕描画開始時刻の場合、シナリオプロセッサはプレゼンテーションコントローラに字幕描画を指示し、プレゼンテーションコントローラはイメージプロセッサに字幕描画を指示する(S704)。ステップS703で字幕描画開始時刻で無いと判断された場合、字幕表示終了時刻であるかを確認する(S705)。字幕表示終了時刻であると判断された場合は、プレゼンテーションコントローラがイメージプロセッサに字幕消去指示を行い、描画されている字幕をイメージプレーンから消去する(S706)。
【0160】
字幕描画ステップS704終了後、字幕消去ステップS706終了後、または、字幕表示終了時刻確認ステップS705で当該時刻でないことが判断された場合、ステップS702に戻り、上述した処理を繰り返す。また、ステップS702でプレイリスト再生が終了したことが確認されると、字幕表示系の処理は強制的に終了する。
【0161】
(実施の形態2)
本実施の形態では、P/Iピクチャを使用する際に、ストリームおよび管理情報を制約することにより特殊再生時の再生品質を向上させる。以下に、符号化ストリームを多重化する際の制約事項について説明する。
【0162】
まず、タイムマップと符号化ストリームとの関係について説明する。タイムマップからは、再生開始点として選択できる位置や、特殊再生時に読み込むことができるピクチャ指すことができる。本発明のタイムマップは、再生開始点として選択できる位置や、特殊再生時に読み込むことができる点として、P/Iピクチャから開始するRAUは選択しない。
【0163】
図30は、タイムマップとRAUの関係を示している。再生開始点や特殊再生時に読み込まれるRAU先頭のピクチャの位置は、図30が示すようにタイムマップに時間と関連付けられてアドレスが格納されている。時間を指定されると、タイムマップを利用して、再生開始するアドレスを割り出し、シークを行って再生を開始するわけである。この際、P/Iピクチャは、再生開始位置や特殊再生時に読み込まれるピクチャとして適切ではないため、タイムマップには登録しない。こうすることにより、再生開始点や特殊再生時には選択されず、解像度が半分に落ちた画像から再生が開始されることが回避できる。
【0164】
また、タイムマップの属性情報の1つとして、ストリーム中にP/Iピクチャが存在しないことを保証するフラグがあってもよい。このフラグが有効であれば、P/Iピクチャは存在しないので、どのRAU先頭から再生を開始してもよい。
【0165】
また、タイムマップの属性情報の1つとして、タイムマップがP/Iピクチャを指していないことを保証するフラグがあってもよい。このフラグが有効であれば、タイムマップはP/Iピクチャを指していないため、タイムマップに登録してあるRAU先頭位置から再生を開始すればよい。
【0166】
この2つの属性情報のいずれかがあれば、プレーヤはストリームを解析することなく、タイムマップを参照するだけで、十分な解像度をもって再生を開始できる再生開始位置の情報を取得することが可能となる。
【0167】
図31は、タイムマップに属性情報を追加して、タイムマップが指すピクチャのピクチャタイプを登録できるようにした例である。このようにピクチャタイプが分かれば、再生開始位置としてP/Iピクチャは選ばないよう、プレーヤが判断することも可能となるので、このような方法も有効である。
【0168】
なお、図32に示すように、P/Iピクチャにおいて、第1フィールドのPピクチャが第2フィールドのIピクチャを参照している場合、最初のフレームをデコードすることが可能となるため、これまで述べてきたP/Iピクチャと区別して、こちらの場合は再生開始点や特殊再生時に表示できるピクチャとして選択してもよい。
【0169】
以下に、制約方法の他の例について説明する。
ストリームの接続点、あるいはアングルの切替え点においては、切替え前後で再生画像をシームレスに連結できることが重要である。従って、シームレスな接続を実現するために、切替え後の先頭ピクチャとしてP/Iピクチャを禁止することは有効であり、下記が可能である。
【0170】
1.タイムマップからP/Iピクチャを指さない
2.ストリームにおいてRAUの先頭をP/Iピクチャとしない
以下、1、2の順に説明する。
【0171】
タイムマップには、現プレイアイテムと直前のプレイアイテムとがシームレスに接続できるかどうかを示すフラグが格納される。従って、当該フラグにより、シームレスに接続できることが示されるプレイアイテムにおいては、プレイアイテムの先頭ピクチャとしてP/Iピクチャを配置しないことにしてもよい。また、タイムマップにおいては、プレイアイテムが1以上のアングルについての情報を示すことができ、さらに、アングル切替えをシームレスに行えるかどうかを示すフラグが格納できる。従って、シームレスなアングル切替えが可能であると示される際には、各アングルの先頭ピクチャとしてP/Iピクチャを配置しないことにしてもよい。あるいは、アングル切替えのポイントにおいては、シームレスであるかどうかに関わらず、アングル切替わり後の先頭ピクチャとしてはP/Iピクチャを禁止してもよい。また、各プレイアイテムをランダムアクセス再生することがコンテンツ作成者によって許可されているかどうかを示すフラグも格納されるため、ランダムアクセスが許可される際には、プレイアイテムの先頭にP/Iピクチャを配置しないことにしてもよい。図33の例は、シームレス接続可能であることを示すフラグがセットされていれば、プレイアイテムの先頭ピクチャはI/Iピクチャ、またはI/Pピクチャのみであり、セットされていなければ、P/Iピクチャがプレイアイテムの先頭であってもよいことを示す。
【0172】
なお、本方式はP/Iピクチャに限定されるものではなく、RAUの先頭ピクチャの復号が保証できないケース全般において使用できる。なお、シームレスに接続できるかどうかを示す情報は、現プレイアイテムと直後のプレイアイテムとの関係を示してもよいし、プレイリストにより示される全てのプレイアイテムについての情報であってもよい。
【0173】
次に、タイムマップと組み合わせずに、VC−1のストリーム内で制約する例について説明する。P/Iピクチャの有無は、RAU内のピクチャの復号を開始する前に判定できることが望ましいことから、RAUの先頭ピクチャがP/Iピクチャであるかどうかを示す情報をRAUの先頭に格納する。先に、VC−1のRAUには、クローズドGOP型とオープンGOP型の2種類があることを述べた。RAUがどちらのタイプであるかは、エントリ・ポイントのヘッダ内のフラグにより示され、フラグがセットされていればクローズドGOP型、セットされていなければオープンGOP型となる。シームレス接続やマルチアングル再生などにおいては、クローズドGOP型のRAUから再生を開始するのが一般的であるため、クローズドRAUの先頭ピクチャをP/Iピクチャとしないことにする。このとき、RAUがクローズドGOP型であるかどうかを示すフラグを、RAUの先頭ピクチャがP/Iピクチャであるかどうかを示すフラグとして使うことができる。従って、図34に示すように、エントリ・ポイントのヘッダにおいてクローズドGOP型のRAUであることが示される場合には、RAUの先頭ピクチャとしてP/Iピクチャを禁止し、オープンGOP型のRAUであることが示される場合にはRAUの先頭ピクチャとしてP/Iピクチャを使用可能とする。なお、RAUの先頭がP/Iピクチャであるかどうかを示す情報を、ユーザーデータなどを利用して別途格納してもよい。
【0174】
さらに、タイムマップの情報とストリーム内の情報とを組み合わせて使うことにより、ランダムアクセス単位の属性として下記4種類の情報を示すことができる。
【0175】
1.クローズドGOP型のRAUであり、RAUの先頭ピクチャはP/Iピクチャではない
2.クローズドGOP型のRAUであり、RAUの先頭ピクチャはP/Iピクチャであってもよい
3.オープンGOP型のRAUであり、RAUの先頭ピクチャはP/Iピクチャではない
4.オープンGOP型のRAUであり、RAUの先頭ピクチャはP/Iピクチャであってもよい
【0176】
例えば、(ストリーム内でクローズド型のGOPであるかどうかを示すフラグ、タイムマップにおいてシームレス接続可能かどうかを示すフラグ)=(1,1)、(1,0)、(0,1)、(0,0)の組み合わせが、それぞれ上記1、2、3、4を示すとする。こうすることで、Iピクチャのみの高速再生、飛び込み再生、シームレス接続、あるいはマルチアングル再生など、アプリケーションによって重視されるパターンに応じて上記のいずれかの属性を選択して使用できる。具体的には、上記1と、上記3あるいは上記4を選択すれば、オープンGOP型のRAUにおいてはI/Pピクチャの配置に対しては制約がなく、クローズドGOP型のRAUではI/Pピクチャを先頭に配置しないことになる。なお、上記1と上記2、およびオープンGOP型のRAUの3種類を定義してもよい。
【0177】
また、ストリームのビットレートに応じてP/Iピクチャが使用できるかどうかを切替えてもよい。P/Iピクチャは、フレーム内の第2フィールドにおいてシーンチェンジが発生する際に有効であり、特に、低ビットレート時に有効である。従って、VC−1のストリーム、あるいは管理情報により示されるビットレートが所定の値以下、あるいは未満である場合にのみP/Iピクチャを使用可能としてもよい。ビットレートは、シーケンス・レイヤにおいて示すことができる。さらに、エントリ・ポイントレベルなどのユーザーデータにおいて、ビットレートを示してもよい。ここで、ユーザーデータにおいてビットレートを直接示さずに、RAUの先頭がP/Iピクチャであることを示す情報などが存在すれば、対応するRAU、あるいはストリーム全体におけるビットレートが所定の値以下、あるいは未満であるとしてもよい。ここで、再生機器の処理能力の上限値を設定するという意味で最大ビットレートが望ましいが、平均ビットレートであってもよい。また、VC−1規格では複数のレベルを設けて、レベル毎にビットレートや復号時に必要なバッファサイズなどを規定している。従って、レベルに応じてP/Iピクチャが使用できるかどうかを切替えてもよい。なお、レベルはシーケンス・レイヤなどにより示される。
【0178】
なお、上記の各制約方法を組み合わせて使用してもよく、例えば、ビットレートが所定の値以下である際には、オープンGOP型のRAUにおいてのみP/Iピクチャを使用可能とする、などとしてもよい。これは、クローズドGOP型のRAUではGOPの先頭ピクチャから画質を劣化させずに再生できることが望ましいが、オープンGOP型のRAUでは、元々ランダムアクセス時に復号できないピクチャが存在し得るため、P/Iピクチャの存在により復号できないピクチャが1枚増加することに対する許容度が大きいことによる。
【0179】
なお、BDやHD−DVDなど特定のアプリケーションでVC−1ストリームを使用する際には、RAUの先頭をP/Iピクチャとすることを禁止してもよい。このとき、BD−ROMであれば、BD−INFOなど特定の名前のディレクトリが存在するかどうかによってアプリケーションの種類が示される。また、VC−1のストリームがメインのコンテンツであるか、ボーナス映像など付加的なコンテンツであるかに応じてP/Iピクチャの使用可否を切替えてもよい。一般に、付加的なコンテンツはビットレートが低く、P/Iピクチャが有効であるため、P/Iピクチャを使用可とし、ビットレートの高いメインのコンテンツにおいてはP/Iピクチャの使用を禁止する。ここで、メインのコンテンツであるか、付加的なコンテンツであるかは、BD管理情報内のフラグにより示される。あるいは、ネットワーク経由、ハードディスクなど光ディスクとは異なる場所に蓄積されたコンテンツを付加的なコンテンツとみなすこともできる。
【0180】
また、符号化ストリームはVC−1に限定されるものではなく、第1フィールドがPピクチャで、第2フィールドがIピクチャであるフィールド・ペアを使える任意の符号化方式に適用できる。
【0181】
(実施の形態3)
図38は、実施の形態2に係るVC−1のストリームを符号化する本発明の符号化方法のフローチャートであり、クローズドGOP型のRAUでは先頭にP/Iピクチャを配置しないように制約するステップS1101からステップS1103を新たに備えた点において従来の符号化方法と異なる。
【0182】
まず、ステップS1101では、符号化するピクチャがRAUの先頭ピクチャであるかどうか判定し、先頭ピクチャであればステップS1102に進み、そうでなければステップS1104に進む。ステップS1103では、RAUがクローズドGOP型であるかどうか判定し、クローズドGOP型である際にはステップS1103に進み、そうでなければステップS1104に進む。ステップS1103では、ピクチャをフィールドとして符号化する際には、I/Iピクチャ、またはI/Pピクチャを用い、P/Iピクチャは使用しないと決定する。続いて、ステップS1104では、ステップS1103の決定に基づいてRAUを構成するピクチャを符号化する。ここで、クローズドGOP型のRAUである際には、RAUがクローズドGOP型であることを示すフラグをセットする。なお、ステップS1101に先立ってステップS1102の処理を行ってもよい。
【0183】
また、本符号化方法により符号化したストリームを、オーディオなどと多重化してもよい。多重化方式としては、MPEG−2のトランスポートストリーム、あるいはBD(Blu−ray Disc)などパッケージメディア毎に規定された方式がある。
【0184】
なお、出力されたストリームを多重化する際には、シームレス接続マルチアングル再生におけるアングルの切替りにおいては、接続点あるいは切替り点の直後の先頭ピクチャがP/Iピクチャとならないようにタイムマップを作成する。具体的には、接続点や切替り点としてはクローズドGOP型のRAUのみを指定してもよい。
【0185】
図39は、本実施の形態の符号化方法を実現する画像符号化装置10の構成を示すブロック図である。画像符号化装置10は、上記ステップS1101からステップS1103までの処理を行うタイプ制限ユニットLIMITを備えた点において従来の画像符号化装置1と異なる。予測構造決定ユニットPTYEは、タイプ制限ユニットLIMITにより指定されたピクチャタイプの制限情報LmtInfに基づいてピクチャの予測構造を決定する。
【0186】
(実施の形態4)
図40は、実施の形態2に係るVC−1ストリームの多重化データを復号する画像復号方法において、マルチアングル再生や、同一ストリーム内の異なる区間を連続して再生するなどの特殊再生時の表示動作を示すフローチャートである。本画像復号方法では、RAUの先頭ピクチャがP/Iピクチャであるかどうかに応じてピクチャの表示動作を切替えるステップS1001からステップS1004までの動作が不要である点において従来の画像復号方法と異なる。
【0187】
なお、タイムマップなどの管理情報によってマルチアングル再生が可能である、あるいは、シームレスに接続できることが保証される場合に限り、表示動作を切替えないことにして、当該情報が管理情報から識別できない場合には、従来の画像復号方法と同様に表示動作を切替えてもよい。
【0188】
なお、RAUがクローズドGOP型である際には表示動作を切替えずに、オープンGOP型であれば従来の画像復号方法と同様に表示動作を切替えてもよい。
【0189】
図41は、本実施の形態の復号方法を実現する画像復号装置30の構成を示すブロック図である。画像復号装置30は、表示切替ユニットModeSetを備えない点において従来の画像復号装置と異なる。
【0190】
なお、上記各実施の形態における動画像の符号化方式はVC−1に限定されるものではなく、同様の予測構造を有する符号化方式全般に適用できる。
【0191】
(実施の形態5)
本実施の形態5では、P/Iピクチャを用いることにより、ランダムアクセス再生や逆再生などの特殊再生の機能性向上を実現するデータ構造について説明する。
【0192】
まず、従来のデータ構造における第1の課題について説明する。図43は、従来のRAUの構造例を示す。図43の例では、各ピクチャはフィールド構造で符号化されており、RAUの途中にはP/Iピクチャが存在する。VC−1規格では、RAUの先頭ピクチャとなるP/Iピクチャについては、表示順がP/Iピクチャよりも後であるピクチャが、P/IピクチャにおけるPピクチャを参照することを禁止しているが、RAUの途中のP/Iピクチャについては、前記制約は規定していない。従って、図43に示すように、P/Iピクチャよりも後のピクチャがP/IピクチャのPピクチャを参照してもよい。このとき、P/IピクチャのPピクチャは、表示順で前方のPピクチャを参照できることから、P/Iピクチャ以降のピクチャを復号するためには、RAUの先頭ピクチャから復号しなければならない。従って、ユーザ操作などにより、P/Iピクチャ以降のピクチャから再生を開始する場合にも、タイムマップからランダムアクセス・ポイントとして指されたRAUの先頭から、IピクチャとPピクチャを少なくとも復号する必要がある。特に、RAUの再生時間長が長く、RAUを構成するピクチャの数が増えると、飛び込み位置から再生開始するために復号が必要なピクチャの数が増え、遅延および処理量が増大するという第1の課題がある。
【0193】
図44は、従来のデータ構造の第2の課題について示す。実施の形態1から実施の形態4で述べたように、RAUの先頭ピクチャがP/Iピクチャであると、RAUの先頭のフレーム、あるいはフィールド・ペアのみを再生して高速再生を実現する際の再生品質が低下することから、RAUの先頭にはP/Iピクチャを配置しないように規定することがある。ここで、図44(a)に示すように、第1フィールドと第2フィールドの間でシーンチェンジが発生したとする。特殊再生時には、シーンチェンジの発生位置から飛込み再生できることが望ましいため、RAUを分割することを考えると、RAUの先頭にはP/Iピクチャを配置できないことから、図44(b)に示すようにRAUの先頭ピクチャをI/Iピクチャとする必要がある。この例のように、第1フィールドと第2フィールドの間でシーンチェンジが発生している際には、第1フィールドについては表示順で前の画像との相関が高いため、P/Iピクチャを使用したほうが符号化効率が向上する。従って、先頭ピクチャをI/Iピクチャにすることにより符号化効率が低下するという第2の課題がある。
【0194】
図45は、本実施の形態のRAU構造例を示す。図45のRAUでは、RAUの途中のP/Iピクチャの予測構造について次の制約を設ける。
【0195】
・表示順がP/Iピクチャよりも後であるピクチャは、P/IピクチャにおけるPピクチャを参照しない。
【0196】
これにより、ユーザ操作などにより、P/Iピクチャ以降のピクチャから再生を開始する場合にも、P/IピクチャにおけるIピクチャから復号開始することにより、P/Iピクチャ以降のピクチャを復号でき、飛び込み再生時の遅延および処理量が軽減できるという効果が得られる。また、逆再生を行う場合にも、P/Iピクチャ以降のピクチャを再生する際に、RAUの先頭ピクチャから読み込んで復号する必要がなく、P/IピクチャのIピクチャ、および以降のピクチャのみを読み込めばよいため、逆再生時に必要なバッファメモリのサイズ、あるいは、バッファメモリへのデータ読み込み回数を低減できるという効果が得られる。なお、P/Iピクチャは、通常、第1フィールドと第2フィールドの間でシーンチェンジが発生する際に使用されるため、P/Iピクチャ以降のピクチャと、P/IピクチャにおけるPピクチャとの相関関係は低く、当該Pピクチャへの参照を制約しても符号化効率への影響は軽微である。
【0197】
図46は、本実施の形態のRAU構造の他の例である。図45の例では、タイムマップにおいてランダムアクセス・ポイントとして指される位置と、RAUとが一対一に対応していた。一方、図46では、タイムマップが指すN番目とN+1番目のランダムアクセス・ポイントの間に複数のRAUが存在する。つまり、タイムマップから指されないRAUが存在し、ここでは、RAU2はタイムマップから指されない。図46は、図45のRAUをRAU1とRAU2の2つのRAUに分割したものであり、RAUの先頭ピクチャはP/Iピクチャとなる。ここで、RAU2の先頭P/Iピクチャ以降のピクチャから再生を開始する場合、RAU内の後続ピクチャは先頭P/IピクチャのPピクチャを参照しないことが保証されるため、先頭P/IピクチャのIピクチャから復号開始すればよい。
【0198】
このように、特殊再生時に復号動作をリセットするポイントとして、P/Iピクチャが使用できる。さらに、P/Iピクチャよりも後のピクチャがP/IピクチャのPピクチャを参照しないという制約は、RAU内の全てのP/Iピクチャに対して適用してもよいが、特殊再生時の効率を向上させるには、P/Iピクチャに対して選択的に制約をかければよく、P/Iピクチャに対して制約が適用されるかどうかを示す情報を付加することは有効である。この情報は、符号化ストリーム内に格納してもよいし、管理情報に格納してもよい。図47は、表示順がP/Iピクチャよりも後のピクチャがP/IピクチャのPピクチャを参照しないという制約が適用されるかどうかを示す情報を符号化ストリーム内に格納した例である。ここでは、RAUマップと呼ぶマップ情報により当該情報を格納する。図47(a)に示すように、RAUマップはRAU内のピクチャデータよりも前に配置される。例えば、VC−1であればエントリ・ポイントレベルのユーザデータに格納できる。ここで、図47(a)のRAUマップは、図47(b)のRAUについての情報を示す。図47(b)のRAUでは、RAU内に4つのP/Iピクチャが存在し、2番目のP/Iピクチャについてのみ参照関係が制約されている。従って、2番目のP/Iピクチャは、特殊再生時に復号動作をリセットするポイントとして使用できる。そこで、RAUマップには、1番目、3番目、4番目のP/Iピクチャについては参照関係が制約されていることが保証されておらず、2番目のP/Iピクチャについては参照関係が制約されていることが保証されている、ことが示される。
【0199】
図54は、RAUマップのシンタックス例である。図54(a)は、RAUを構成するフレーム、あるいはフィールド・ペアのタイプの一覧を復号順に示したテーブルである。各パラメータの定義は以下の通りとする。
【0200】
num_frame_in_RAU: RAUを構成するフレーム、あるいはフィールド・ペアの個数
frame_flag: フレームであるかフィールド・ペアであるかを判別するフラグ
frame_type: フレームのタイプ(Iフレーム、Pフレーム、Bフレーム、BIフレーム、Skippedフレームなど)を示す識別子
field_pair_type: フィールド・ペアのタイプ(I/Iピクチャ、I/Pピクチャ、P/Iピクチャなど)
【0201】
ここで、field_pair_typeにおいて、復号動作がリセットできることが保証されたP/Iピクチャと、復号動作がリセットできることが保証されていないP/Iピクチャとで、異なる識別子を用いることにより、両者を区別できる。
【0202】
図54(b)は、RAUを構成するフレーム、あるいはフィールドのタイプの一覧を復号順に示したテーブルである。各パラメータの定義は以下の通りとする。
【0203】
num_picture_in_RAU: RAUを構成するフレーム、あるいはフィールドの個数
frame_flag: フレームであるかフィールドであるかを判別するフラグ
picture_type: フレーム、あるいはフィールドのタイプ
【0204】
ここで、P/Iピクチャの第1フィールドであるPピクチャについて、復号動作がリセットできることが保証されたP/IピクチャのPピクチャと、復号動作がリセットできることが保証されていないP/IピクチャのPピクチャとは、picture_typeにおいて異なる識別子を用いることにより区別される。
【0205】
なお、frame_flagには、フレームであるかフィールドであるかだけではなく、フレームにおけるに3:2プルダウン(テレシネ変換)についての情報などを含めてもよい。
【0206】
RAU内に復号動作をリセットするポイントを設けることは、RAUの再生時間長が長い場合に特に有効である。ここで、RAUの時間長は、Iピクチャの間隔に依存し、IピクチャはPピクチャやBピクチャに比べて符号量が多いため、RAUの時間長を長くしてIピクチャの間隔を長くすることにより、結果としてビットレートを低減できる。従って、低ビットレート時にはRAUの時間長を長くすることが有効である。このため、RAUの再生時間長が所定の値以上、あるいは、符号化ストリームのビットレートが所定の値以下である場合にのみ、P/Iピクチャに対する参照関係の制約を適用する、あるいは、RAUマップを付加してP/Iピクチャに対する参照関係の制約があるかどうかを示してもよい。さらに、RAUの先頭Iピクチャのみを再生する高速再生など特殊再生時の再生品質を考慮して、RAUの再生時間長を所定の時間以下としてもよい。また、タイムマップにより指されるランダムアクセス・ポイント間の表示時刻あるいは復号時刻の差分値を所定の値以下としてもよい。ここで、オープンGOP型のRAUでは、タイムマップにより指されるIピクチャの表示時刻よりも、RAU内で最初に表示されるBピクチャなどの表示時刻のほうが早くなることに注意する。
【0207】
RAU内に複数のP/Iピクチャが存在する場合には、特殊再生の実現容易性を考慮して、当該P/Iピクチャについて参照関係を制約するかどうかを決定できる。例えば、1秒など所定の単位で、特殊再生時に復号動作がリセットできるポイントを設ける際には、P/Iピクチャ間の表示時刻の差分が前記所定の単位以下となるように、P/Iピクチャについての参照関係を制約できる。
【0208】
以下に、図46のようなケースでも、タイムマップが示す連続した2つのランダムアクセス・ポイントの間に特殊再生時の復号動作をリセットできるポイントが存在するかどうか示す方法を示す。図48は、タイムマップによりランダムアクセス・ポイントであることが示されるRAUの前にRAUマップを配置して、次のランダムアクセス・ポイントとの間にあるRAUについての情報を示す例である。ここでは、ランダムアクセス・ポイントの間には、2つのRAUが存在し、それぞれの再生時間長が1秒であることが示される。RAUは、復号動作をリセットするポイントとして使用できるため、各RAUの再生時間長に基づいて、何番目のRAUから復号を開始すればよいか決定できる。さらに、RAUマップにおいて、各RAUマップの先頭がP/Iピクチャであるかどうかを示してもよい。図48におけるRAUマップと、図47に示したRAU単位のマップ情報とを合わせて使用してもよい。
【0209】
(実施の形態6)
本実施の形態6では、実施の形態5で示したデータを生成する画像符号化方法、および画像符号化装置について説明する。
【0210】
図49は、本実施の形態の画像符号化方法において、ピクチャの参照関係を制約するかどうかを判定する際の動作を示すフローチャートである。まず、ステップS2001において、現フレームあるいはフィールド・ペアをP/Iピクチャとして符号化するかどうか判定し、ステップS2002に進む。ステップS2002では、現フレームあるいはフィールド・ペアがRAUの先頭フレームを構成するピクチャであるかどう判定し、先頭フレームを構成するピクチャであればステップS2003に進み、そうでなければステップS2004に進む。ステップS2003では、現フレームあるいはフィールド・ペアが復号動作をリセットできるピクチャとするかどうか判定し、リセットするピクチャであればステップS2004に進み、そうでなければ処理を終了する。ステップS2004では、RAU内において表示順が現P/Iピクチャよりも後であるピクチャが、現P/IピクチャにおけるPピクチャを参照しないように、後続ピクチャの参照関係を制約すると決定する。なお、全てのP/Iピクチャを、復号動作がリセットできるピクチャとしてもよい。
【0211】
図50は、RAUマップをRAUの先頭に付加する際の動作を示すフローチャートである。本フローチャートでは、RAUマップの生成動作を主に説明し、各ピクチャの符号化動作の詳細については説明を省略する。まず、ステップS2101では、P/Iピクチャに関連して後続ピクチャの参照関係を制約するかどうか判定する。次に、ステップS2102では、ステップS2101で決定した制約を満たすように、ピクチャの参照関係を決定し、ステップS2103に進む。ステップS2103では、現ピクチャがRAUの最終ピクチャであるかどうか判定し、最終ピクチャであればステップS2104に進み、そうでなければ処理を終了する。なお、ステップS2013では、現ピクチャがRAU内の最終P/Iピクチャであるかどうか判定してもよい。最後に、ステップS2014では、P/Iピクチャについての情報を格納したRAUマップを生成し、RAUを構成するピクチャデータの前に付加する。
【0212】
図51は、本実施の形態の画像符号化方法を実現する画像符号化装置2000の構成を示すブロック図である。画像符号化装置2000は、P/I制約決定ユニットPlimとマップ情報作成ユニットMapInfoを新たに備えた点、および予測構造決定ユニットPTYPEの動作が異なる点において従来の画像符号化装置1と異なる。P/I制約決定ユニットPlimは、ステップS2001からステップS2004までの処理を行い、符号化されるピクチャがP/Iピクチャである際には、RAU内の後続ピクチャが当該P/IピクチャのPピクチャを参照しないとするかどうか決定する。予測構造決定ユニットPTYPEは、P/I制約決定ユニットPlimで決定された条件を満たすように、ピクチャの符号化タイプおよび参照関係などを決定する。一方、マップ情報作成ユニットMapInfoは、実施の形態5で述べたRAUマップを生成する。
【0213】
(実施の形態7)
本実施の形態7では、実施の形態5で示したデータを復号する画像復号方法、および画像復号装置について説明する。
【0214】
図52は、本実施の形態の画像復号方法における特殊再生時の復号動作を示すフローチャートである。本方法は、ユーザ操作などにより飛び込み再生、あるいは逆再生などを行う際に、復号を開始するピクチャを決定する際に特に有効である。まず、ステップS2201において、タイムマップにより指されるピクチャとは異なるピクチャ(Pic_st)から再生開始するかどうか判定し、Pic_stと異なるピクチャから再生開始する際には、ステップS2202に進み、そうでなければステップS2204に進む。ステップS2202では、Pic_stよりも復号順が前である、復号動作をリセットできるP/Iピクチャ(PI_st)が存在するかどうか判定する。ここで、判定時には、RAUマップを参照して、復号順が、
・Pic_stよりも前であり、
・タイムマップにより指されるRAUの先頭ピクチャよりも後である、
復号動作がリセットできるP/Iピクチャを検索する。なお、PI_stは、Pic_stよりも復号順が前であり、かつ復号順がPic_stに最も近いピクチャとする。
【0215】
次に、ステップS2203では、PI_stにおけるIピクチャから復号開始すると決定する。ステップS2204では、タイムマップにより指されるRAUの先頭ピクチャから復号開始すると決定する。
【0216】
図53は、本実施の形態の画像復号方法を実現する画像復号装置3000の構成を示すブロック図である。画像復号装置3000は、PI情報取得ユニットPIselを備える点において従来の画像復号装置3と異なる。
【0217】
ユーザ操作などにより特殊再生を指示する信号TrickModeがPI情報取得ユニットPIselに入力されると、PI情報取得ユニットPIselは、可変長復号ユニットVLDからRAUマップの情報MapInfを取得する。ここで、可変長復号ユニットVLDは、符号化ストリームを解析してRAUマップを取得し、PI情報取得ユニットPIselに入力する。さらに、PI情報取得ユニットPIselは、RAUマップの情報MapInfを解析して、復号を開始するピクチャを決定し、決定した復号開始ピクチャを示す情報SelPicをストリーム抽出ユニットEXTに入力する。
【0218】
(実施の形態8)
さらに、上記各実施の形態で示した画像符号化方法および画像復号方法を実現するためのプログラムを、フレキシブルディスク等の記録媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
【0219】
図42は、上記各実施の形態の画像符号化方法および画像復号方法を、フレキシブルディスク等の記録媒体に記録されたプログラムを用いて、コンピュータシステムにより実施する場合の説明図である。
【0220】
図42(b)は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図42(a)は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクFDはケースF内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクFD上に割り当てられた領域に、上記プログラムが記録されている。
【0221】
また、図42(c)は、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。画像符号化方法および画像復号方法を実現する上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsから上記プログラムをフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより画像符号化方法および画像復号方法を実現する上記画像符号化方法および画像復号方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
【0222】
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ICカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。
【産業上の利用可能性】
【0223】
本発明に係る画像符号化方法および画像復号方法は、VC−1のストリームを再生する際に、高速や逆再生などの特殊再生機能を備える機器全般に適用することができ、特殊再生機能が重視される光ディスク関連機器において特に有効である。
【図面の簡単な説明】
【0224】
【図1】HD−DVDのデータ階層図
【図2】HD−DVD上の論理空間の構成図
【図3】HD−DVDプレーヤの概要ブロック図
【図4】HD−DVDプレーヤの構成ブロック図
【図5】HD−DVDのアプリケーション空間の説明図
【図6】MPEGストリーム(VOB)の構成図
【図7】パックの構成図
【図8】AVストリームとプレーヤ構成の関係を説明する図
【図9】トラックバッファへのAVデータ連続供給モデル図
【図10】VOB情報ファイル構成図
【図11】タイムマップの説明図
【図12】プレイリストファイルの構成図
【図13】プレイリストに対応するプログラムファイルの構成図
【図14】BDディスク全体管理情報ファイルの構成図
【図15】グローバルイベントハンドラを記録するファイルの構成図
【図16】タイムイベントの例を説明する図
【図17】ユーザイベントの例を説明する図
【図18】グローバルイベントハンドラの例を説明する図
【図19】仮想マシンの構成図
【図20】プレーヤ変数テーブルの図
【図21】イベントハンドラ(タイムイベント)の例を示す図
【図22】イベントハンドラ(ユーザイベント)の例を示す図
【図23】プレーヤの基本処理のフローチャート
【図24】プレイリスト再生処理のフローチャート
【図25】イベント処理のフローチャート
【図26】字幕処理のフローチャート
【図27】RAU先頭のP/Iピクチャを説明する図
【図28】P/Iピクチャにおける第1の特殊再生例を説明する図
【図29】P/Iピクチャを特殊再生に使用する際の課題を説明する図
【図30】タイムマップとP/Iピクチャの関係図
【図31】ピクチャタイプ属性を持つタイムマップとP/Iピクチャの関係図
【図32】第2フィールドのIピクチャを参照するP/Iピクチャの説明図
【図33】P/Iピクチャにおける第2の特殊再生例を説明する図
【図34】本発明の実施の形態1のストリーム構造を示す図
【図35】従来の画像符号化装置の構成を示すブロック図
【図36】従来の画像復号装置の構成を示すブロック図
【図37】従来の画像復号装置の動作を示すフローチャート
【図38】本発明の実施の形態3の画像符号化方法の動作を示すフローチャート
【図39】本発明の実施の形態3の画像符号化装置の構成を示すブロック図
【図40】本発明の実施の形態4の画像復号方法の動作を示すフローチャート
【図41】本発明の実施の形態4の画像復号装置の構成を示すブロック図
【図42】本発明の画像符号化方法および画像復号方法を実現するためのプログラムを記録した記録媒体
【図43】従来のデータ構造において、ランダムアクセス単位の途中から再生を開始する場合の課題を示す図
【図44】従来のデータ構造において、シーンチェンジが発生した場合の課題を示す図
【図45】本実施の形態5のランダムアクセス単位の第1の構成例を示す図
【図46】本実施の形態5のランダムアクセス単位の第2の構成例を示す図
【図47】本実施の形態5において、ランダムアクセス単位の先頭に付加される第1の補助情報について説明する図
【図48】本実施の形態5において、ランダムアクセス単位の先頭に付加される第2の補助情報について説明する図
【図49】本実施の形態6の画像符号化方法において、ピクチャの参照関係を制約する際の動作を示すフローチャート
【図50】本実施の形態6の画像符号化方法の動作を示すフローチャート
【図51】本実施の形態6の画像符号化装置の構成を示すブロック図
【図52】本実施の形態7の画像復号方法の動作を示すフローチャート
【図53】本実施の形態7の画像復号装置の構成を示すブロック図
【図54】RAUマップのシンタックス例を示す図
【符号の説明】
【0225】
LIMIT タイプ制限ユニット
PTYPE 予測構造決定ユニット
VLC 可変長符号化ユニット
PicMem ピクチャメモリ

【特許請求の範囲】
【請求項1】
少なくとも動画像の符号化データを多重化したストリームとその管理情報とを記録した情報記録媒体であって、前記管理情報は前記ストリーム内の動画像の再生時刻情報、サイズ情報、およびストリーム内での開始アドレス情報とを記録し、
前記動画像の符号化データは、1以上のランダムアクセス可能な単位から構成され、
前記動画像の符号化方式においては、1フレームの画像をフィールド単位で符号化する際に、第1フィールドを前方予測ピクチャとし、第2フィールドを面内符号化ピクチャとして符号化されたフィールド・ペアを使用できる際に、
前記符号化データにおいて前記フィールド・ペアが存在するかどうかを示す識別情報を格納する
ことを特徴とする情報記録媒体。
【請求項2】
前記ランダムアクセス単位には、
ランダムアクセス単位内の双方向予測ピクチャが、復号順で直前のランダムアクセス単位内のピクチャを参照することを禁止した、クローズド型のランダムアクセス単位と、
ランダムアクセス単位内の双方向予測ピクチャが、復号順で直前のランダムアクセス単位内のピクチャを参照することを許容した、オープン型のランダムアクセス単位と、
の2種類があり、
前記識別情報は、前記ランダムアクセス単位がクローズド型であるかどうかを示す情報であり、
前記ランダムアクセス単位がクローズド型である際には、前記ランダムアクセス単位の先頭に前記フィールド・ペアが存在しない
ことを特徴とする請求項1記載の情報記録媒体。
【請求項3】
前記識別情報は、前記符号化ストリームのビットレートが所定の値以下であるかどうかを示す情報である
ことを特徴とする請求項1記載の情報記録媒体。
【請求項4】
前記動画像は再生時刻に応じて複数の再生区間に分割され、前記管理情報は、1以上の前記動画像における1以上の前記再生区間を連続して再生するための情報を格納し、
前記識別情報は、前記管理情報に格納され、前記連続して再生される前記再生区間がシームレスに接続されるかどうかを示し、
前記シームレスに接続されることが示される際には、接続先となる前記再生区間の先頭は前記フィールド・ペアでない
ことを特徴とする請求項1の情報記録媒体。
【請求項5】
前記動画像は再生時刻に応じて複数の再生区間に分割され、前記管理情報は、1以上の前記動画像における1以上の前記再生区間を連続して再生するための情報を格納し、
前記識別情報は、前記管理情報に格納され、前記連続して再生される区間が、それぞれ異なる動画像のストリームに属するかどうかを識別する情報であり、
前記異なる動画ストリームに属することが示される際には、接続先となる前記再生区間の先頭は前記フィールド・ペアでない
ことを特徴とする請求項1の情報記録媒体。
【請求項6】
動画像を1以上のランダムアクセス単位に符号化する画像符号化方法であって、
前記動画像の符号化方式においては、1フレームの画像をフィールド単位で符号化する際に、第1フィールドを前方予測ピクチャとし、第2フィールドを面内符号化ピクチャとして符号化されたフィールド・ペアを使用できる際に、
前記ランダムアクセス単位の先頭ピクチャが前記フィールド・ペアであるかどうかを示す情報を作成する補助情報作成ステップと、
前記作成した補助情報と画素を符号化して符号化ストリームを作成する符号化ステップと
を備えることを特徴とした画像符号化方法。
【請求項7】
動画像を1以上のランダムアクセス単位に符号化する画像符号化装置であって、
前記動画像の符号化方式においては、1フレームの画像をフィールド単位で符号化する際に、第1フィールドを前方予測ピクチャとし、第2フィールドを面内符号化ピクチャとして符号化されたフィールド・ペアを使用できる際に、
前記ランダムアクセス単位の先頭ピクチャが前記フィールド・ペアであるかどうかを示す情報を作成する補助情報作成手段と、
前記作成した補助情報と画素を符号化して符号化ストリームを作成する符号化手段と、
を備えることを特徴とした画像符号化装置。
【請求項8】
請求項1の情報記録媒体に記録された符号化データを復号して再生する画像復号方法であって、
前記識別情報により、前記ランダムアクセス単位の先頭ピクチャが前記フィールド・ペアでないことが示される場合に、前記先頭ピクチャにおける第1フィールド、および第2フィールドを、それぞれ1番目と2番目に表示する表示ステップ、
を備えることを特徴とした画像復号方法。
【請求項9】
請求項1の情報記録媒体に記録された符号化データを復号して再生する画像復号装置であって、
前記識別情報により、前記ランダムアクセス単位の先頭ピクチャが前記フィールド・ペアでないことが示される場合に、前記先頭ピクチャにおける第1フィールド、および第2フィールドを、それぞれ1番目と2番目に表示する表示手段、
を備えることを特徴とした画像復号装置。
【請求項10】
少なくとも動画像の符号化データを多重化したストリームとその管理情報とを記録した情報記録媒体であって、前記管理情報は前記ストリーム内の動画像の再生時刻情報、サイズ情報、およびストリーム内での開始アドレス情報とを記録し、
前記動画像の符号化データは、1以上のランダムアクセス可能な単位から構成され、
前記動画像の符号化方式においては、1フレームの画像をフィールド単位で符号化する際に、第1フィールドを前方予測ピクチャとし、第2フィールドを面内符号化ピクチャとして符号化されたフィールド・ペアを使用できる際に、
前記ランダムアクセス単位の先頭とは異なるピクチャが前記フィールド・ペアであるときには、前記ランダムアクセス単位内のピクチャであって、前記フィールド・ペアよりも表示順が後であるピクチャは、前記フィールド・ペアの第1フィールドを参照しないことが保証され、
前記保証されることを示す情報を前記ストリーム内に格納することを特徴とする情報記録媒体。
【請求項11】
少なくとも動画像の符号化データを多重化したストリームとその管理情報とを記録した情報記録媒体であって、前記管理情報は前記ストリーム内の動画像の再生時刻情報、サイズ情報、およびストリーム内での開始アドレス情報とを記録し、
前記動画像の符号化データは、1以上のランダムアクセス可能な単位から構成され、
前記動画像の符号化方式においては、1フレームの画像をフィールド単位で符号化する際に、第1フィールドを前方予測ピクチャとし、第2フィールドを面内符号化ピクチャとして符号化されたフィールド・ペアを使用できる際に、
前記ランダムアクセス単位の先頭とは異なるピクチャが前記フィールド・ペアであるときには、前記ランダムアクセス単位内のピクチャであって、前記フィールド・ペアよりも表示順が後であるピクチャは、前記フィールド・ペアの第1フィールドを参照する場合としない場合とがあり、
前記フィールド・ペアよりも表示順が後であるピクチャが、前記フィールド・ペアの第1フィールドを参照するかどうかを示す情報を前記ストリーム内に格納することを特徴とする情報記録媒体。
【請求項12】
少なくとも動画像の符号化データを多重化したストリームとその管理情報とを記録した情報記録媒体であって、前記管理情報は前記ストリーム内の動画像の再生時刻情報、サイズ情報、およびストリーム内での開始アドレス情報とを記録し、
前記動画像の符号化データは、1以上のピクチャをまとめたグループ化単位が複数連結されたデータであり、
前記管理情報は、ランダムアクセスすることができる前記グループ化単位の一覧情報を格納し、
前記動画像の符号化方式においては、1フレームの画像をフィールド単位で符号化する際に、第1フィールドを前方予測ピクチャとし、第2フィールドを面内符号化ピクチャとして符号化されたフィールド・ペアを使用できる際に、
前記ストリームは、前記一覧情報から指されない前記グループ化単位の先頭ピクチャが前記フィールド・ペアであるかどうかを示す情報を格納することを特徴とする情報記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate

【図47】
image rotate

【図48】
image rotate

【図49】
image rotate

【図50】
image rotate

【図51】
image rotate

【図52】
image rotate

【図53】
image rotate

【図54】
image rotate


【公開番号】特開2006−157855(P2006−157855A)
【公開日】平成18年6月15日(2006.6.15)
【国際特許分類】
【出願番号】特願2005−49981(P2005−49981)
【出願日】平成17年2月25日(2005.2.25)
【出願人】(000005821)松下電器産業株式会社 (73,050)
【Fターム(参考)】