(57)【特許請求の範囲】
【請求項１】
ストリームに含まれる符号化された複数のピクチャを、既に復号化されてメモリに格納されたピクチャを参照して復号化する画像復号化方法であって、
前記ストリームに含まれる各ピクチャを順に復号化し、前記各ピクチャのうち参照に用いられるピクチャを前記メモリに格納して管理する第１の格納ステップと、
ランダムアクセス再生が指定されたか否かを判別する判別ステップと、
前記判別ステップでランダムアクセス再生が指定されたと判別されたときには、前記メモリ内でピクチャを管理するための管理状態を変更する状態変更ステップと、
前記状態変更ステップで変更された管理状態を初期状態として、前記ランダムアクセス再生先からの各ピクチャを順に復号化し、前記各ピクチャのうち参照に用いられるピクチャを前記メモリに格納して管理する第２の格納ステップと
を含むことを特徴とする画像復号化方法。
【請求項２】
前記ストリームに含まれる符号化された複数のピクチャは、アクセス単位でグループ分けされており、
前記判別ステップでは、他のアクセス単位のピクチャを参照することが許されたアクセス単位からのランダムアクセス再生が指定されたか否かを判別する
ことを特徴とする請求項１記載の画像復号化方法。
【請求項３】
前記第１及び第２の格納ステップでは、復号化された各ピクチャを識別するためのピクチャ番号を生成して前記各ピクチャに付与することで、前記参照に用いられるピクチャを管理し、
前記状態変更ステップでは、前記ピクチャ番号を生成するためのオフセット値を前記管理状態として更新する
ことを特徴とする請求項２記載の画像復号化方法。
【請求項４】
前記第１の格納ステップでは、復号化対象のアクセス単位に含まれる全てのピクチャが復号化されるごとに、前記オフセット値を大きくなるように更新しながら、前記ストリームのアクセス単位ごとに各ピクチャに割り当てられたカウント値と前記オフセット値とを用いて、復号化された各ピクチャに対するピクチャ番号を生成し、
前記状態変更ステップでは、前記オフセット値を大きくなるように更新し、
前記第２の格納ステップでは、前記更新されたオフセット値を初期状態として、復号化対象のアクセス単位に含まれる全てのピクチャが復号化されるごとに、前記オフセット値を大きくなるように更新しながら、前記カウント値とオフセット値とを用いて、前記ランダムアクセス再生先からの復号化された各ピクチャに対するピクチャ番号を生成する
ことを特徴とする請求項３記載の画像復号化方法。
【請求項５】
前記第１及び第２の格納ステップと前記状態変更ステップでは、少なくともアクセス単位におけるカウント値の最大値だけ大きくなるように前記オフセット値を更新する
ことを特徴とする請求項４記載の画像復号化方法。
【請求項６】
前記第１及び第２の格納ステップでは、復号化された各ピクチャを識別するためのピクチャ番号を生成して前記各ピクチャに付与することで、前記参照に用いられるピクチャを管理し、
前記状態変更ステップでは、前記メモリに格納されている全てのピクチャを非参照の状態に変更することで、前記管理状態を変更する
ことを特徴とする請求項２記載の画像復号化方法。
【請求項７】
前記状態変更ステップでは、前記メモリに格納されている全てのピクチャを、表示し得る状態で残しつつ、非参照の状態に変更する
ことを特徴とする請求項６記載の画像復号化方法。
【請求項８】
前記第１及び第２の格納ステップでは、復号化された各ピクチャを識別するためのピクチャ番号を生成して前記各ピクチャに付与することで、前記参照に用いられるピクチャを管理し、
前記第１の格納ステップでは、復号化対象のピクチャのカウント値が直前に復号化されたピクチャのカウント値よりも小さくなるごとに、前記ピクチャ番号を生成するためのオフセット値を大きくなるように更新しながら、前記ストリームのアクセス単位ごとに各ピクチャに割り当てられたカウント値と前記オフセット値とを用いて、復号化された各ピクチャに対するピクチャ番号を生成し、
前記状態変更ステップでは、前記管理状態として存在する前記オフセット値を小さくなるように更新し、
前記第２の格納ステップでは、前記更新されたオフセット値を初期状態として、復号化対象のピクチャのカウント値が直前に復号化されたピクチャのカウント値よりも小さくなるごとに、前記オフセット値を大きくなるように更新しながら、前記カウント値とオフセット値とを用いて、前記ランダムアクセス再生先からの復号化された各ピクチャに対するピクチャ番号を生成する
ことを特徴とする請求項７記載の画像復号化方法。
【請求項９】
前記状態変更ステップでは、前記オフセット値を０に更新する
ことを特徴とする請求項８記載の画像復号化方法。
【請求項１０】
前記第２の格納ステップでは、さらに、ランダムアクセス再生の開始に基づく開始情報を用いて前記メモリに格納されるピクチャを管理する
ことを特徴とする請求項７記載の画像復号化方法。
【請求項１１】
前記第２の格納ステップでは、ランダムアクセス再生が開始されるごとに更新されるランダムアクセス番号を前記開始情報として用いる
ことを特徴とする請求項１０記載の画像復号化方法。
【請求項１２】
前記メモリは、ピクチャに対する管理態様が互いに異なる第１及び第２の格納領域を有し、
前記状態変更ステップでは、さらに、ランダムアクセス再生先に応じて、前記第１及び第２の格納領域の大きさを相補的に変更する
ことを特徴とする請求項７記載の画像復号化方法。
【請求項１３】
前記第１の格納領域では、ピクチャが新たに格納されるときには、最も古く格納されたピクチャが破棄され、
前記第２の格納領域では、ピクチャが新たに格納されるときには、指定されたピクチャが破棄される
ことを特徴とする請求項１２記載の画像復号化方法。
【請求項１４】
前記状態変更ステップでは、ランダムアクセス再生先に応じて設定すべき前記第１及び第２の格納領域の大きさが特定できるか否かを判別し、特定できないと判別したときには、前記メモリの全ての領域を前記第１の格納領域に割り当てる
ことを特徴とする請求項１３記載の画像復号化方法。
【請求項１５】
前記第２の格納ステップでは、さらに、前記メモリに非参照の状態にされたピクチャがあるときには、前記ピクチャを直前に格納された参照可能なピクチャに置き換える
ことを特徴とする請求項６記載の画像復号化方法。
【請求項１６】
前記第１及び第２の格納ステップでは、復号化された各ピクチャを識別するためのピクチャ番号を生成して前記各ピクチャに付与することで、前記参照に用いられるピクチャを管理し、
前記状態変更ステップでは、メモリに格納されているピクチャのピクチャ番号を、ランダムアクセス再生先のピクチャのピクチャ番号よりも小さなピクチャ番号に変更する
ことを特徴とする請求項２記載の画像復号化方法。
【請求項１７】
前記状態変更ステップでは、メモリに格納されているピクチャを、ランダムアクセス再生先のピクチャのピクチャ番号よりも小さなピクチャ番号を有するダミーピクチャに置き換える
ことを特徴とする請求項１６記載の画像復号化方法。
【請求項１８】
前記ダミーピクチャは、前記ストリームに含まれていないピクチャである
ことを特徴とする請求項１７記載の画像復号化方法。
【請求項１９】
前記ダミーピクチャは、前記第１の格納ステップで復号化されたピクチャである
ことを特徴とする請求項１７記載の画像復号化方法。
【請求項２０】
ストリームに含まれる符号化された複数のピクチャを、既に復号化されてメモリに格納されたピクチャを参照して復号化する画像復号化装置であって、
前記ストリームに含まれる各ピクチャを順に復号化し、前記各ピクチャのうち参照に用いられるピクチャを前記メモリに格納して管理する第１の格納手段と、
ランダムアクセス再生が指定されたか否かを判別する判別手段と、
前記判別手段でランダムアクセス再生が指定されたと判別されたときには、前記メモリ内でピクチャを管理するための管理状態を変更する状態変更手段と、
前記状態変更手段で変更された管理状態を初期状態として、前記ランダムアクセス再生先からの各ピクチャを順に復号化し、前記各ピクチャのうち参照に用いられるピクチャを前記メモリに格納して管理する第２の格納手段と
を備えることを特徴とする画像復号化装置。
【請求項２１】
ストリームに含まれる符号化された複数のピクチャを、既に復号化されてメモリに格納されたピクチャを参照して復号化する集積回路であって、
前記ストリームに含まれる各ピクチャを順に復号化し、前記各ピクチャのうち参照に用いられるピクチャを前記メモリに格納して管理する第１の格納手段と、
ランダムアクセス再生が指定されたか否かを判別する判別手段と、
前記判別手段でランダムアクセス再生が指定されたと判別されたときには、前記メモリ内でピクチャを管理するための管理状態を変更する状態変更手段と、
前記状態変更手段で変更された管理状態を初期状態として、前記ランダムアクセス再生先からの各ピクチャを順に復号化し、前記各ピクチャのうち参照に用いられるピクチャを前記メモリに格納して管理する第２の格納手段と
を備えることを特徴とする集積回路。
【請求項２２】
ストリームに含まれる符号化された複数のピクチャを、既に復号化されてメモリに格納されたピクチャを参照して復号化するためのプログラムであって、
前記ストリームに含まれる各ピクチャを順に復号化し、前記各ピクチャのうち参照に用いられるピクチャを前記メモリに格納して管理する第１の格納ステップと、
ランダムアクセス再生が指定されたか否かを判別する判別ステップと、
前記判別ステップでランダムアクセス再生が指定されたと判別されたときには、前記メモリ内でピクチャを管理するための管理状態を変更する状態変更ステップと、
前記状態変更ステップで変更された管理状態を初期状態として、前記ランダムアクセス再生先からの各ピクチャを順に復号化し、前記各ピクチャのうち参照に用いられるピクチャを前記メモリに格納して管理する第２の格納ステップと
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストリームに含まれる符号化されたピクチャを復号化して再生する画像復号化方法に関する。
【背景技術】
【０００２】
近年、音声や画像などを統合的に扱うマルチメディア時代を迎え、従来からの情報メディア、つまり新聞、雑誌、テレビ、ラジオ、電話等の情報を人に伝達する手段がマルチメディアの対象として取り上げられるようになってきた。一般に、マルチメディアとは、文字だけでなく、図形、音声、特に画像等を同時に関連づけて表すことをいうが、上記従来の情報メディアをマルチメディアの対象とするには、その情報をディジタル形式にして表すことが必須条件となる。
【０００３】
ところが、上記各情報メディアの持つ情報量をディジタル情報量として見積もってみると、文字の場合１文字当たりの情報量は１〜２バイトであるのに対し、音声の場合１秒当たり６４Ｋｂｉｔｓ（電話品質）、さらに動画については１秒当たり１００Ｍｂｉｔｓ（現行テレビ受信品質）以上の情報量が必要となり、上記情報メディアでその膨大な情報をディジタル形式でそのまま扱うことは現実的では無い。例えば、テレビ電話は、６４Ｋｂｉｔ/ｓ〜１．５Ｍｂｉｔｓ/ｓの伝送速度を持つサービス総合ディジタル網（ＩＳＤＮ：Integrated Services Digital Network）によってすでに実用化されているが、テレビ・カメラの映像をそのままＩＳＤＮで送ることは不可能である。
【０００４】
そこで、必要となってくるのが情報の圧縮技術であり、例えば、テレビ電話の場合、ＩＴＵ−Ｔ（国際電気通信連合  電気通信標準化部門）で勧告されたＨ．２６１やＨ．２６３規格の動画圧縮技術が用いられている。また、ＭＰＥＧ−１規格の情報圧縮技術によると、通常の音楽用ＣＤ（コンパクト・ディスク）に音声情報とともに画像情報を入れることも可能となる。
【０００５】
ここで、ＭＰＥＧ（Moving Picture Experts Group）とは、ＩＳＯ／ＩＥＣ（国際標準化機構  国際電気標準会議）で標準化された動画像信号圧縮の国際規格であり、ＭＰＥＧ−１は、動画像信号を１．５Ｍｂｐｓまで、つまりテレビ信号の情報を約１００分の１にまで圧縮する規格である。また、ＭＰＥＧ−１規格では対象とする品質を伝送速度が主として約１．５Ｍｂｐｓで実現できる程度の中程度の品質としたことから、さらなる高画質化の要求をみたすべく規格化されたＭＰＥＧ−２では、動画像信号を２〜１５ＭｂｐｓでＴＶ放送品質を実現する。さらに現状では、ＭＰＥＧ−１及びＭＰＥＧ−２の標準化を進めてきた作業グループ（ISO/IEC JTC1/SC29/WG11）によって、ＭＰＥＧ−１、ＭＰＥＧ−２を上回る圧縮率を達成し、更に物体単位で符号化・復号化・操作を可能とし、マルチメディア時代に必要な新しい機能を実現するＭＰＥＧ−４が規格化された。ＭＰＥＧ−４では、当初、低ビットレートの符号化方法の標準化を目指して進められたが、現在はインタレース画像も含む高ビットレートも含む、より汎用的な符号化に拡張されている。
【０００６】
更に、２００３年に、ＩＳＯ／ＩＥＣとＩＴＵ−Ｔが共同でより高圧縮率の次世代画像符号化方式として、ＭＰＥＧ−４ ＡＶＣおよびＩＴＵ Ｈ．２６４が標準化されている（例えば、非特許文献１参照。）。Ｈ．２６４規格は、現在ＨＤ（High Definition）画像などに適したＨｉｇｈ Ｐｒｏｆｉｌｅ対応の改正規格案を策定中である。ＭＰＥＧ−２の動画像圧縮技術用いたアプリケーションとしては、映画などを再生するＤＶＤプレーヤが一般的になっているが、ＢＤ−ＲＯＭ（Blu-ray Disk ROM）を用いたプレーヤではＨ．２６４の圧縮規格が採用される予定であり、現在そのフォーマット規格の策定段階である。
【０００７】
一般に動画像の符号化では、時間方向および空間方向の冗長性を削減することによって情報量の圧縮を行う。そこで時間的な冗長性の削減を目的とする画面間予測符号化では、前方または後方のピクチャを参照してブロック単位で動きの検出および予測画像の作成を行い、得られた予測画像と符号化対象ピクチャとの差分値に対して符号化を行う。ここで、ピクチャとは１枚の画面を表す用語であり、プログレッシブ画像ではフレームを意味し、インタレース画像ではフレームもしくはフィールドを意味する。ここで、インタレース画像とは、１つのフレームが時刻の異なる２つのフィールドから構成される画像である。インタレース画像の符号化や復号化処理においては、１つのフレームをフレームのまま処理したり、２つのフィールドとして処理したり、フレーム内のブロック毎にフレーム構造またはフィールド構造として処理したりすることができる。
【０００８】
参照画像を持たず画面内予測符号化を行うものをＩピクチャと呼ぶ。また、１枚のピクチャのみを参照し画面間予測符号化を行うものをＰピクチャと呼ぶ。また、同時に２枚のピクチャを参照して画面間予測符号化を行うことのできるものをＢピクチャと呼ぶ。Ｂピクチャは表示時間が前方もしくは後方から任意の組み合わせとして２枚のピクチャを参照することが可能である。参照画像（参照ピクチャ）は符号化および復号化の基本単位であるブロックごとに指定することができるが、符号化を行ったストリーム（ビットストリーム）中に先に記述される方の参照ピクチャを第１参照ピクチャ、後に記述される方を第２参照ピクチャとして区別する。ただし、これらのピクチャを符号化および復号化する場合の条件として、参照するピクチャが既に符号化および復号化されている必要がある。
【０００９】
Ｐピクチャ又はＢピクチャの符号化には、動き補償画面間予測符号化が用いられている。動き補償画面間予測符号化とは、画面間予測符号化に動き補償を適用した符号化方式である。動き補償とは、単純に参照フレームの画素値から予測するのではなく、ピクチャ内の各部の動き量（以下、これを動きベクトルと呼ぶ）を検出し、当該動き量を考慮した予測を行うことにより予測精度を向上すると共に、データ量を減らす方式である。例えば、符号化対象ピクチャの動きベクトルを検出し、その動きベクトルの分だけシフトした予測値と符号化対象ピクチャとの予測残差を符号化することによりデータ量を減している。この方式の場合には、復号化の際に動きベクトルの情報が必要になるため、動きベクトルも符号化されて記録又は伝送される。
【００１０】
動きベクトルはマクロブロック単位で検出されており、具体的には、符号化対象ピクチャ側のマクロブロックを固定しておき、参照ピクチャ側のマクロブロックを探索範囲内で移動させ、基準ブロックと最も似通った参照ブロックの位置を見つけることにより、動きベクトルが検出される。
【００１１】
図１Ａおよび図１Ｂは、従来のＭＰＥＧ２のストリームの構成図である。
【００１２】
図１Ａおよび図１Ｂに示すようにＭＰＥＧ−２のストリームは以下のような階層構造を有している。ストリーム（Stream）は、複数のグループ・オブ・ピクチャ（Group Of Picture、GOP）から構成されており、これを符号化処理の基本単位とすることで動画像の編集やランダムアクセスが可能になっている。グループ・オブ・ピクチャは、複数のピクチャから構成され、各ピクチャは、Ｉピクチャ、Ｐピクチャ又はＢピクチャである。ストリーム、ＧＯＰおよびピクチャはさらにそれぞれの単位の区切りを示す同期信号（sync）と当該単位に共通のデータであるヘッダ（header）から構成されている。
【００１３】
図２は、他の従来のストリームの構成図である。
【００１４】
このストリームは、現在ＩＴＵ−ＴとＩＳＯ／ＩＥＣが共同で標準化中のＪＶＴ（H.264/MPEG-4 AVC）に対応する。ＪＶＴでは、ヘッダという概念は無く、共通データはストリームの先頭にパラメータセットＰＳという名称で配置される。また、ＧＯＰに相当する概念は無いが他のピクチャに依存せずに復号化できる特別なピクチャ単位でデータを分割すればＧＯＰに相当するランダムアクセス可能な単位が構成できるので、これをランダムアクセスユニットＲＡＵと呼ぶことにする。パラメータセットＰＳには、各ピクチャのヘッダに相当するデータであるピクチャパラメータセットＰＰＳと、ＭＰＥＧ−２におけるＧＯＰ以上の単位のヘッダに相当するシーケンスパラメータセットＳＰＳがある。各ピクチャには前記ピクチャパラメータセットＰＰＳおよびシーケンスパラメータセットＳＰＳの何れを参照するかを示す識別子が付与される。即ち、それぞれ互いに異なる複数のピクチャパラメータセットＰＰＳおよびシーケンスパラメータセットＳＰＳは、１回だけ符号化され、各ピクチャではそのセットの中のどれを参照するかを識別子で示すことで、各ピクチャ毎に同じ値のパラメータセット（ヘッダ）を何回も符号化する無駄を省き圧縮率を向上している。ピクチャ番号ＰＮはピクチャを識別するための識別番号である。なお、ここでのピクチャ番号ＰＮとはピクチャの表示の順番を示す番号であって、上記非特許文献１に記載された、復号化順を示すＰｉｃｔｕｒｅＮｕｍｂｅｒとは異なる。シーケンスパラメータセットＳＰＳには、最大参照可能ピクチャ数、画像サイズ等が含まれており、ピクチャパラメータセットＰＰＳには、可変長符号化のタイプ（ハフマン符号化と算術符号化の切替）、量子化ステップの初期値、参照ピクチャ数等が含まれている。
【００１５】
図３Ａおよび図３Ｂは、従来のＭＰＥＧ−２などで使用されているＧＯＰ間の参照状態の説明図である。
【００１６】
図３Ａは、Ｃｌｏｓｅｄ ＧＯＰにおけるピクチャ間の予測構造を示す。同図で斜線をつけたピクチャは他のピクチャから参照されるピクチャである。また、各ピクチャは表示順で配列している。Ｃｌｏｓｅｄ ＧＯＰ構造ではＩＤＲ（Instantaneous Decoding Refresh）ピクチャよりも表示時刻で前になるＢピクチャ（Ｂ６、Ｂ７）は、ＩＤＲピクチャのみを参照した予測符号化が可能であり、ＧＯＰを跨いだ参照はできない。また、図３ＢはＯｐｅｎ ＧＯＰにおけるピクチャ間の予測構造を示す。同図で斜線をつけたピクチャは図３Ａと同様に他のピクチャから参照されるピクチャである。また、各ピクチャは表示順で配列している。Ｏｐｅｎ ＧＯＰ構造ではＩピクチャ（Ｉ８）よりも表示時刻で前になるＢピクチャ（Ｂ６、Ｂ７）は、同じＧＯＰ３内のピクチャに加えて直前のＧＯＰ４のＰピクチャ（Ｐ５）を参照した予測符号化が可能となっている。
【００１７】
ＭＰＥＧ−２ではＰピクチャ（Ｐ２、Ｐ５、Ｐ１１、Ｐ１４）は表示時刻が直前１枚のＩピクチャもしくはＰピクチャのみを参照した予測符号化が可能である。また、Ｂピクチャ（Ｂ０、Ｂ１、Ｂ３、Ｂ４、Ｂ６、Ｂ７、Ｂ９、Ｂ１０、Ｂ１２及びＢ１３）は表示時刻が直前１枚と直後１枚のＩピクチャもしくはＰピクチャを参照した予測符号化が可能であり、更に、ストリームに配置される順序も決まっている。
【００１８】
一方、Ｈ．２６４の規格では、符号化効率（圧縮率）を大きく向上させるために、非常に柔軟なピクチャ間の予測構造を導入している。つまり、Ｐピクチャは直前１枚だけの参照ではなく、既に復号化した後のピクチャで、参照ピクチャのバッファに管理されていれば、前方後方を問わず複数枚のＩピクチャもしくはＰピクチャもしくはＢピクチャから符号化ブロックごとに異なるピクチャを１枚ずつ選択することが可能である。また同様に、Ｂピクチャでは、直前の１枚と直後の１枚だけでなく、前方後方を問わず複数枚のＩピクチャもしくはＰピクチャもしくはＢピクチャから符号化ブロックごとに異なるピクチャを２枚ずつ選択することが可能である。
【００１９】
ＢＤ−ＲＯＭのフォーマット規格では、Ｏｐｅｎ ＧＯＰ構造となるストリーム位置でも従来と同様にランダムアクセスユニットＲＡＵとすることが可能である。ただし、Ｈ．２６４規格のピクチャ間の予測符号化には例えば次の制限がかかっている。
【００２０】
（１）ランダムアクセス再生開始点として指定されているＩピクチャの表示時刻で直前にあるＢピクチャ（Ｂ６、Ｂ７）は、表示時刻の前後のピクチャを参照する可能性があるため、ランダムアクセス再生時には表示を行わない。
【００２１】
（２）ランダムアクセス再生開始点として指定されているＩピクチャの表示時刻後方のピクチャからは、そのＩピクチャよりも表示時刻で前方のピクチャを参照してはいけない。
【００２２】
図４は、従来の画像復号化方法を実現する画像復号化装置のブロック図である。
【００２３】
図４の画像復号化装置は、可変長復号化部９０１と、動き補償部９０２と、ピクチャメモリ９０３と、加算部９０４と、変換部９０５とを備えている。
【００２４】
可変長復号化部９０１は、ストリームＳｔｒを復号化し、量子化値Ｑｃｏ、相対インデックスＩｎｄ、ピクチャタイプＰｔｙおよび動きベクトルＭＶを出力する。量子化値Ｑｃｏ、相対インデックスＩｎｄおよび動きベクトルＭＶは、ピクチャメモリ９０３、動き補償部９０２および変換部９０５に入力され復号化処理が行われる。
【００２５】
変換部９０５は、量子化値Ｑｃｏを逆量子化して周波数係数に復元し、さらに周波数係数から画素差分値に逆周波数変換し、加算部９０４に出力する。
【００２６】
加算部９０４は、画素差分値と動き補償部９０２から出力される予測画像とを加算して復号化画像Ｖｏｕｔを生成する。生成した復号化画像Ｖｏｕｔはピクチャメモリ９０３に保存される。この時、複数のピクチャを参照ピクチャとして使用することができるように、参照するピクチャの識別番号を指定するための参照番号（相対インデックスＩｎｄ）がブロックごとに必要となる。そこで、相対インデックスＩｎｄと、ピクチャメモリ９０３中の各ピクチャが有するピクチャ番号との対応を取ることにより、相対インデックスＩｎｄによって参照ピクチャを指定することが可能となる。
【００２７】
ピクチャメモリ９０３は、参照ピクチャリストを備えて、復号化されて参照に用いられる参照ピクチャはこの参照ピクチャリストに格納される。また、この参照ピクチャリストは、参照ピクチャをＦＩＦＯ（First In First Out）管理するリスト（ＳＴＲＬ＝Short Term Reference List）と、明示的に指定された参照ピクチャをリストに蓄えるか破棄するかの管理を行うリスト（ＬＴＲＬ＝Long Term Reference List）とを有する。
【００２８】
動き補償部９０２は、上記処理によって検出された動きベクトルおよび相対インデックスＩｎｄを用いて、ピクチャメモリ９０３に格納されている復号化画像から予測画像に最適な画像領域を取り出す。そして、動き補償部９０２は、上述の予測画像を生成して加算部９０４に出力する。
【００２９】
次に、相対インデックスＩｎｄによってピクチャを指定するために、各ピクチャに付加するピクチャ番号ＰＮの生成方法について説明する。ここでは、Ｈ．２６４で定義されている３つのピクチャ番号ＰＮの生成方法から例として２つの方法の概略を説明する。
【００３０】
（ピクチャ番号の生成方法例１）
図５は、ピクチャ番号の生成方法例１の説明図である。
【００３１】
以下、図５を用いてピクチャ番号の生成方法例１を説明する。生成方法例１では、復号化処理において変数として管理するオフセット値Ｍｓｂと、それぞれのピクチャに付加されている、オフセット値Ｍｓｂからの差分値（カウント値ｌｓｂ）とを加算することによりピクチャ番号ＰＮを生成する。
【００３２】
図５において、各ピクチャＰｉｃはＩ、ＰおよびＢのいずれかのピクチャであり、画面への表示順に並べられている。ただし、復号化順は、ＩＤＲ、…、Ｐ３、Ｂ１、Ｂ２、Ｐ６、Ｂ４、Ｂ５、Ｉ９、Ｂ７、Ｂ８、…の並びで復号化されていることを想定している。Ｍｓｂ１とＭｓｂ２はオフセット値Ｍｓｂの値を表しており、Ｍｓｂ１＝９６、Ｍｓｂ２＝１１２となっているとする。
【００３３】
ピクチャＰｉｃの並びの先頭に示すように、ストリームの開始点や復号化対象のＧＯＰとその前のＧＯＰの間に参照関係がない場所には、アクセスユニットＡＵの最初に復号されるＩピクチャとしてＩＤＲピクチャが存在する。まず、ＩＤＲピクチャの復号化時には、オフセット値Ｍｓｂは０に初期化され、カウント値ｌｓｂも０となっているので、そのＩＤＲピクチャのピクチャ番号ＰＮは０となる。例えば、次のＰピクチャでカウント値ｌｓｂが３となっている場合には、Ｍｓｂ＋ｌｓｂ＝０＋３＝３となり、そのＰピクチャに対するピクチャ番号ＰＮは３となる。
【００３４】
また、その次のＢピクチャでカウント値ｌｓｂが１となっている場合には０＋１＝１で、そのＢピクチャに対するピクチャ番号ＰＮは１となり、さらにその次のＢピクチャでカウント値ｌｓｂが２となっている場合には０＋２＝２で、そのＢピクチャに対するピクチャ番号ＰＮは２となる。
【００３５】
ここで、以上に示した動作を繰り返しつつ、カウント値ｌｓｂのビット数が大きくなりすぎず、符号化効率を落とさないように、カウント値ｌｓｂが一定の値（最大カウント値Ｌｓｂ）になると、オフセット値Ｍｓｂに最大カウント値Ｌｓｂを加える処理を行い、カウント値ｌｓｂの値が最大カウント値Ｌｓｂを超えないように管理している。例えば、最大カウント値Ｌｓｂ＝１６の場合、カウント値ｌｓｂが最大カウント値Ｌｓｂに６回到達するとオフセット値Ｍｓｂは０＋１６×６＝９６の値に更新されていることになる。
【００３６】
また、ピクチャＰ３を復号化する時、オフセット値Ｍｓｂが９６に更新されており、カウント値ｌｓｂ＝１２となっている場合、ピクチャＰ３のピクチャ番号ＰＮは９６＋１２＝１０８となる。同様に、ピクチャＢ１、Ｂ２、Ｐ６、Ｂ４及びＢ５（復号化順）で、カウント値ｌｓｂが１０、１１、１５、１３及び１４となっている場合、ピクチャ番号ＰＮはそれぞれ１０７、１０８、１１１、１０９及び１１０となる。
【００３７】
さらに、ピクチャＩ９、Ｂ７、Ｂ８及びＢ１０以降はカウント値ｌｓｂをそのまま増加させると最大カウント値Ｌｓｂの１６を超えてしまうので、オフセット値Ｍｓｂ＝Ｍｓｂ１＋最大カウント値Ｌｓｂ＝９６＋１６＝１１２のようにオフセット値Ｍｓｂを更新することによって、カウント値ｌｓｂを１６未満の数に抑えている。そこで、ピクチャＩ９、Ｂ７、Ｂ８及びＢ１０において、カウント値ｌｓｂが２、０、１及び３となり、ピクチャ番号ＰＮはそれぞれ１１４、１１２、１１３及び１１５となる。
【００３８】
以上のように、ピクチャごとに付加されているカウント値ｌｓｂと復号化処理で更新管理するオフセット値Ｍｓｂを用いてピクチャ番号ＰＮを生成し、このピクチャ番号を用いて画面への表示順序や参照ピクチャの管理を行うことが可能となる。
【００３９】
（ピクチャ番号の生成方法例２）
図６は、ピクチャ番号の生成方法例２の説明図である。
【００４０】
図６のピクチャ番号の生成方法例２では、復号化処理において変数として管理されているオフセット値ＦＮＯとそれぞれのピクチャに付加されているフレーム番号（カウント値）ｆｎとを加算し、さらに加算結果を２倍することによりピクチャ番号ＰＮを生成する。なお、非参照のピクチャの場合は、上述の加算結果から１を減算することにより、そのピクチャに対するピクチャ番号ＰＮを生成する。
【００４１】
ＦＮＯ１とＦＮＯ２は、オフセット値ＦＮＯの値を表しており、図６に示した例ではＦＮＯ１＝９６、ＦＮＯ２＝１１２となっている。
【００４２】
まず、ＩＤＲピクチャを復号化する時に、オフセット値ＦＮＯは０に初期化され、フレーム番号ｆｎも０となり、そのＩＤＲピクチャに対するピクチャ番号ＰＮは０となる。次のＢピクチャでフレーム番号ｆｎが１となっている場合には２×（オフセット値ＦＮＯ＋フレーム番号ｆｎ）＝２×（０＋１）＝２となり、そのＢピクチャに対するピクチャ番号ＰＮは２となる。
【００４３】
また、その次のＢピクチャでフレーム番号ｆｎが２となっている場合には２×（０＋２）＝４で、そのＢピクチャに対するピクチャ番号ＰＮは４となり、さらにその次のＰピクチャでフレーム番号フレーム番号ｆｎが３となっている場合には２×（０＋３）＝６で、そのＰピクチャに対するピクチャ番号ＰＮは６となる。
【００４４】
フレーム番号ｆｎが直前に復号化したピクチャのフレーム番号よりも小さくなる場合は、オフセット値ＦＮＯに最大フレーム番号ＭＦＮを加える処理を行い、オフセット値ＦＮＯを更新する。
【００４５】
これは、フレーム番号の取り得る値を一定以下に制限して符号化ビット量を削減しつつ、大きな値のピクチャ番号ＰＮも表現できるようにするための仕組みである。図６では、例えばフレーム番号ｆｎが直前に復号化したピクチャのフレーム番号よりも小さくなることが６回発生した場合のオフセット値ＦＮＯがＦＮＯ１となり、７回目の発生でＦＮＯ２の状態に更新していることを示している。
【００４６】
例えば、ピクチャＰｉｃの中のピクチャＢ１を復号化する時、オフセット値ＦＮＯが９６に更新されており、フレーム番号ｆｎ＝１０となっているとすると、ピクチャＢ１のピクチャ番号ＰＮは２×（９６＋１０）＝２１２となる。同様に、ピクチャＢ２、Ｐ３、Ｂ４、Ｂ５及びＰ６（復号化順）で、フレーム番号ｆｎが１１、１２、１３、１４及び１５となっている場合、ピクチャ番号ＰＮはそれぞれ２１４、２１６、２１８、２２０及び２２２となる。
【００４７】
また、ピクチャＢ７を復号化する時、フレーム番号ｆｎが０になっていたとすると、直前のピクチャのフレーム番号である１５よりも小さな値となるため、オフセット値ＦＮＯが更新され、オフセット値ＦＮＯ＝ＦＮＯ１＋最大フレーム番号ＭＦＮ＝９６＋１６＝１１２となる。従って、ピクチャＢ７のピクチャ番号ＰＮは２×（１１２＋０）＝２２４となり、同様にピクチャＢ８、Ｉ９及びＢ１０において、フレーム番号ｆｎが１、２、３となっている場合、ピクチャ番号ＰＮはそれぞれ２２６、２２８及び２３０となる。
【００４８】
従って、ピクチャ番号の生成方法例１と同様に、ピクチャごとに付加されているフレーム番号ｆｎの値と復号化処理で更新管理するオフセット値ＦＮＯを用いてピクチャ番号ＰＮを生成することができ、このピクチャ番号を用いて参照ピクチャの管理を行うことが可能となる。なお、ピクチャ番号の生成方法例２では、復号化順と表示順は等しくなる。
【非特許文献１】ISO/IEC 14496-10, International Standard: "Information technology - Coding of audio-visual objects - Part 10 : Advanced video coding"（2003-12-01）. pp. 82-100
【発明の開示】
【発明が解決しようとする課題】
【００４９】
しかしながら、上記従来の画像復号化方法では、ランダムアクセス再生が行われたときに、不適切なピクチャを参照して復号化対象のピクチャを復号化してしまうという問題がある。
【００５０】
例えばＢＤ−ＲＯＭにおいてランダムアクセス再生を行う時、ランダムアクセス再生の開始点として指定されているストリームの位置がＯｐｅｎ ＧＯＰ構造をとっている場合には、上述のＢＤ−ＲＯＭのフォーマット制限だけでは正常な復号化処理ができないことがある。
【００５１】
従来のＭＰＥＧ−２などの画面間動き補償予測でのピクチャ参照の関係では、上述のような問題は生じない。このような場合には、Ｂピクチャによって参照されるピクチャが、そのＢピクチャの前後のＩピクチャもしくはＰピクチャの１枚に限定されているため、Ｏｐｅｎ ＧＯＰへのランダムアクセス再生が発生しても、再生開始点のＩピクチャよりも表示順で前に位置するＢピクチャのみの復号化と表示を行わないことだけで、Ｉピクチャから正常に復号化処理することができる。
【００５２】
しかし、Ｈ．２６４規格の場合、複数枚の参照画像を選択できるため、Ｏｐｅｎ ＧＯＰ構造をとるランダムアクセスポイント（Random Access Point、ＲＡＰ）からのランダムアクセス再生（特殊再生）が発生した場合には、本来通常の連続再生でピクチャメモリ１０３に蓄えられているはずの再生開始位置より前の再生情報がないためピクチャ番号を正常に生成できないことがある。
【００５３】
即ち、ランダムアクセス再生が行われたときには、参照ピクチャリストのピクチャに対するピクチャ番号に基づく管理が乱れ、その結果、適切なピクチャを参照してストリームに含まれる各ピクチャを正常に復号化することができないという問題が生じるのである。
【００５４】
以下、ランダムアクセス再生時にピクチャ番号の生成が正常にできず、参照ピクチャリストの管理に悪影響を与え、参照ピクチャの選択が異常となる状況に関して２つの例を用いて説明する。
【００５５】
（ピクチャ番号の生成方法例１を用いた誤動作例）
図７は、ピクチャ番号の生成方法例１によるＳＴＲＬの管理方法の説明図である。なお、この図７は、図５の復号化の流れに従った場合にＦＩＦＯにより管理されるＳＴＲＬの状態を示す。ここでは、説明を簡単にするため、ＳＴＲＬは４枚の参照ピクチャを管理している。図５と同様に、ＰＮはピクチャ番号を表し、Ｐｉｃは復号化対象のピクチャを表しているが、異なる点としてピクチャＰｉｃの並びは復号化順としている。ＲＡＰはランダムアクセスポイントを示しており、ストリームはＯｐｅｎ ＧＯＰの構造となっているものとする。また、STRL（a）〜（ｆ）は、それぞれＦＩＦＯ管理のＳＴＲＬの状態を示しており、ピクチャの復号化に伴うＳＴＲＬの状態遷移を表している。
【００５６】
ランダムアクセスユニットＲＡＵがＣｌｏｓｅｄ ＧＯＰ構造となっている時は、最初にＩＤＲピクチャが復号化される。この時ＳＴＲＬで管理される各領域は全て空（empty）になり（STRL（a）の状態）、ピクチャ番号ＰＮは０に初期化される。次に、ＩＤＲピクチャの復号化後に、ＳＴＲＬにＩＤＲピクチャが挿入される（STRL（b）の状態）。以降、新規に参照ピクチャとして管理する必要のあるピクチャＰｉｃが復号化された後には、ＳＴＲＬにおいてＦＩＦＯ管理に従って参照ピクチャの破棄と追加が行われる。
【００５７】
例えば、ピクチャ番号ＰＮが１０８のピクチャＰ３が参照ピクチャとして復号化された場合、ＳＴＲＬからピクチャ番号ＰＮが９９より小さいピクチャが非参照ピクチャとなり、新たにピクチャ番号ＰＮが１０８のピクチャＰ３が参照ピクチャとしてＳＴＲＬに追加される（STRL（c）の状態）。また、ピクチャ番号ＰＮが１０６、１０７のピクチャＢ１、Ｂ２が非参照ピクチャとして復号化され、ピクチャ番号ＰＮが１１１のピクチャＰ６が参照ピクチャとして復号化された場合、ＳＴＲＬからピクチャ番号ＰＮが９９のピクチャＰｘが非参照ピクチャとなり、新たにピクチャ番号ＰＮが１１１のピクチャＰ６が参照ピクチャとしてＳＴＲＬに追加される（STRL（d）の状態）。
【００５８】
さらに、ピクチャ番号ＰＮが１０９、１１０のピクチャＢ４、Ｂ５が非参照ピクチャとして復号化され、ランダムアクセスポイントＲＡＰを跨いで、ピクチャ番号ＰＮが１１４のピクチャＩ９が参照ピクチャとして復号化された場合、ＳＴＲＬからピクチャ番号ＰＮが１０２のピクチャＰｙが非参照ピクチャとなり、新たにピクチャ番号ＰＮが１１４のピクチャＩ９が参照ピクチャとしてＳＴＲＬに追加される（STRL（e）の状態）。
【００５９】
続いて、ピクチャ番号ＰＮが１１２、１１３のピクチャＢ７、Ｂ８が非参照ピクチャとして復号化され、ピクチャ番号ＰＮが１１７のピクチャＰ１２が参照ピクチャとして復号化された場合、ＳＴＲＬからピクチャ番号ＰＮが１０５のピクチャＰｚが非参照ピクチャとなり、新たにピクチャ番号ＰＮが１１７のピクチャＰ１２が参照ピクチャとしてＳＴＲＬに追加される（STRL（f）の状態）。以降同様に、ピクチャ番号ＰＮが１１５、１１６のピクチャＢ１０、Ｂ１１が非参照ピクチャとして復号化され、参照ピクチャの管理が続けて行われる。
【００６０】
ＳＴＲＬで管理される各参照ピクチャは、相対インデックスＩｎｄで指定されるために、復号化対象のピクチャがＰピクチャであれば片方向参照用の１つのリストに、Ｂピクチャであれば両方向参照用の２つのリストに並び替えられる。L0＿for＿B11＿n（Ｌ０リスト）とL1＿for＿B11＿n（Ｌ１リスト）は、ピクチャ番号ＰＮが１１６のピクチャＢ１１を復号化する時に生成されるリストである。復号化対象のピクチャがＢピクチャの場合、まず、ＳＴＲＬの参照ピクチャのうち、復号化対象のピクチャ番号と比べてピクチャ番号が小さい参照ピクチャが、復号化対象ピクチャに近い順に並べられ、次に、ＳＴＲＬの参照ピクチャのうち、復号化対象のピクチャ番号と比べてピクチャ番号が大きい参照ピクチャが、復号化対象ピクチャに近い順に並べられる。これにより上述のＬ０リストが生成される。さらに、ＳＴＲＬの参照ピクチャのうち、復号化対象のピクチャ番号と比べてピクチャ番号が大きい参照ピクチャが、復号化対象ピクチャに近い順に並べられ、次に、ＳＴＲＬの参照ピクチャのうち、復号化対象のピクチャ番号と比べてピクチャ番号が小さい参照ピクチャが、復号化対象ピクチャに近い順に並べられる。これにより上述のＬ１リストが生成される。相対インデックスＩｎｄを用いて、それぞれのリストからピクチャを１枚ずつ指定することにより、参照ピクチャが決定される。
【００６１】
また、RefIdxは、相対インデックスＩｎｄのリストを示し、Ｌ０リストとＬ１リストのそれぞれにおける参照ピクチャの並びと対応するように各相対インデックスＩｎｄを示す。例えば、L0＿for＿B11＿nの場合、相対インデックス（index0）によってピクチャ番号ＰＮが１１４のピクチャＩ９が選択され、以下同様に、相対インデックス（index1）によってピクチャ番号ＰＮが１１１のピクチャＰ６が選択され、相対インデックス（index2）によってピクチャ番号ＰＮが１０８のピクチャＰ３が選択され、相対インデックス（index3）によってピクチャ番号ＰＮが１１７のＰ１２ピクチャが選択される。
【００６２】
ところが、上述のようなピクチャ番号ＰＮの生成方法では、ランダムアクセスが発生すると、Ｌ０リストとＬ１リストを適切に管理することができない場合がある。
【００６３】
図８は、ピクチャ番号の生成方法例１によって管理されるリストによって、誤動作が生じる例を説明するための説明図である。この図８に示す例は、図７のピクチャＰ３より４枚前のピクチャ番号ＰＮが１０１番のＢピクチャを復号化した直後にピクチャＩ９からスキップ再生（ランダムアクセス再生）が行われた場合の例を示したものである。図８において図７と同じ記号のものは同じ意味のものであるとして説明を省略する。
【００６４】
図８中のSTRL（g）はピクチャ番号ＰＮが１０１のＳＴＲＬの状態を示している。また、STRL（h）は、前述のピクチャ番号ＰＮが１０１のＢピクチャの位置からピクチャＩ９にスキップし、ピクチャＩ９を復号化した後のＳＴＲＬの状態を示している。ここで、スキップ動作を行った場合には、その間のピクチャＰ３、Ｂ１、Ｂ２など（図中では斜線をつけたピクチャＰｉｃ）は復号化されない。そのため、ＳＴＲＬは、STRL（g）の状態から更新され、オフセット値Ｍｓｂは、その前のオフセット値Ｍｓｂ（９６）に維持される。従って、ピクチャＩ９、Ｂ７及びＢ８のピクチャ番号はそれぞれ、Ｍｓｂ＋ｌｓｂ＝９６＋２＝９８、Ｍｓｂ＋ｌｓｂ＝９６＋０＝９６、及びＭｓｂ＋ｌｓｂ＝９６＋１＝９７のように生成される。ただし、ランダムアクセス時には、Ｉピクチャの表示順で直前となるＢピクチャは復号化する必要がないので、図８中の横線を付けて示すピクチャＢ７，Ｂ８は復号化されない。また、同様にピクチャＰ１２のピクチャ番号は１０１、ピクチャＢ１０のピクチャ番号は９９、ピクチャＢ１１のピクチャ番号は１００としてそれぞれ生成される。
【００６５】
また、それぞれのピクチャに付加したピクチャ番号ＰＮの値と復号化対象のピクチャ番号ＰＮとによってＬ０リストとＬ１リストが生成される。したがって、ピクチャ番号ＰＮが１００となるピクチャＢ１１が復号化対象となっている場合、Ｌ０リスト（L0＿for＿B11＿r1）とＬ１リスト（L1＿for＿B11＿r1）とはそれぞれ「＃９９：Ｐｘ、＃９８：Ｉ９、＃１０１：Ｐ１２、＃１０２：Ｐｙ」及び「＃１０１：Ｐ１２、＃１０２：Ｐｙ、＃９９：Ｐｘ、＃９８：Ｉ９」となる。
【００６６】
ところが、通常の連続再生の場合には、図７に示すように、相対インデックス（index0）を用いればＬ０リストからピクチャＩ９を参照できるが、ランダムアクセス再生が行われた場合には、図８に示すように、上述と同様に相対インデックス（index0）を用いてもピクチャＩ９を参照できず、誤ってピクチャＰｘを参照してしまう。即ち、ランダムアクセス再生が行われたときには、不適切なピクチャを参照して復号化対象のピクチャを復号化してしまう。
【００６７】
（ピクチャ番号の生成方法例２の誤動作例）
図９は、ピクチャ番号の生成方法例２によるＳＴＲＬの管理方法の説明図である。
【００６８】
ピクチャ番号ＰＮの管理できる最大値を最大ピクチャ番号ＭＰＮとし、ピクチャＩ０の場所がＯｐｅｎ ＧＯＰのランダムアクセスポイントＲＡＰとして指定されており、通常の連続再生ではピクチャＩ０の復号化時点でオフセット値ＦＮＯが最大ピクチャ番号ＭＰＮ−最大フレーム番号ＭＦＮ＋１の値になる。また、ピクチャＰ８までの復号化を行った時点で、ピクチャＰ８のピクチャ番号は最大ピクチャ番号ＭＰＮとなり、Ｏｐｅｎ ＧＯＰが閉じられ、次のＩＤＲピクチャからＣｌｏｓｅｄ ＧＯＰとして新たなＧＯＰ構造が始まる。また、各ピクチャＩ０、Ｂ１、Ｂ２、…、Ｂ６、Ｂ７、Ｐ８の復号化において、フレーム番号ｆｎがそれぞれ０、１、２、…、最大フレーム番号ＭＦＮ−３、最大フレーム番号ＭＦＮ−２、最大フレーム番号ＭＦＮ−１となる時、上記各ピクチャのピクチャ番号ＰＮは、２×（最大ピクチャ番号ＭＰＮ−最大フレーム番号ＭＦＮ＋１）、２×（最大ピクチャ番号ＭＰＮ−最大フレーム番号ＭＦＮ＋２）、２×（最大ピクチャ番号ＭＰＮ−最大フレーム番号ＭＦＮ＋３）、…、２×（最大ピクチャ番号ＭＰＮ−２）、２×（最大ピクチャ番号ＭＰＮ−１）、２×（最大ピクチャ番号ＭＰＮ）となる。
【００６９】
ここで、再生位置がピクチャＢ４からランダムアクセスポイントＲＡＰに後方ジャンプ（BackJamp）した場合について説明する。この場合、ピクチャＢ４のフレーム番号ｆｎは最大フレーム番号ＭＦＮ−５であり、ジャンプ後に復号化を行うピクチャＩ０のフレーム番号ｆｎは０であるので、（ピクチャＢ４のフレーム番号ｆｎ）＞（ピクチャＩ０のフレーム番号ｆｎ）となる。したがって、フレーム番号ｆｎが小さくなるため、オフセット値ＦＮＯは、最大ピクチャ番号ＭＰＮ−最大フレーム番号ＭＦＮ＋１から、最大フレーム番号ＭＦＮを加算した最大ピクチャ番号ＭＰＮ＋１に更新される。従って、ピクチャＩ０のピクチャ番号ＰＮは２（オフセット値ＦＮＯ＋フレーム番号ｆｎ）＝２（最大ピクチャ番号ＭＰＮ＋１＋０）＝２（最大ピクチャ番号ＭＰＮ＋１）となってしまう。
【００７０】
つまり、ピクチャ番号ＰＮは、管理可能な最大の値である最大ピクチャ番号ＭＰＮを超えてしまうため、ピクチャ番号ＰＮのビット精度によってはピクチャ番号ＰＮがマイナスの値になってしまう可能性が生じる。もし、マイナスの値が付けられてしまえば、そのピクチャ番号ＰＮがＳＴＲＬの中で一番小さくなってしまうため、（ピクチャ番号の生成方法例１を用いた誤動作例）と同様に、Ｌ０リストとＬ１リストが通常の連続再生とは異なる状態になってしまう。その結果、相対インデックスＩｎｄを用いて正常な参照ピクチャの指定が出来なくなってしまうため、以降の復号化が正常には行われないという誤動作が引き起こされる。
【００７１】
そこで、本発明は、かかる問題に鑑みてなされたものであって、ランダムアクセス再生が行われたときにおいても、適切なピクチャを参照して復号化対象のピクチャを復号化する画像復号化方法を提供することを目的とする。
【課題を解決するための手段】
【００７２】
上記目的を達成するために、本発明に係る画像復号化方法は、ストリームに含まれる符号化された複数のピクチャを、既に復号化されてメモリに格納されたピクチャを参照して復号化する画像復号化方法であって、前記ストリームに含まれる各ピクチャを順に復号化し、前記各ピクチャのうち参照に用いられるピクチャを前記メモリに格納して管理する第１の格納ステップと、ランダムアクセス再生が指定されたか否かを判別する判別ステップと、前記判別ステップでランダムアクセス再生が指定されたと判別されたときには、前記メモリ内でピクチャを管理するための管理状態を変更する状態変更ステップと、前記状態変更ステップで変更された管理状態を初期状態として、前記ランダムアクセス再生先からの各ピクチャを順に復号化し、前記各ピクチャのうち参照に用いられるピクチャを前記メモリに格納して管理する第２の格納ステップとを含むことを特徴とする。例えば、前記ストリームに含まれる符号化された複数のピクチャは、アクセス単位でグループ分けされており、前記判別ステップでは、他のアクセス単位のピクチャを参照することが許されたアクセス単位からのランダムアクセス再生が指定されたか否かを判別する。また、前記第１及び第２の格納ステップでは、復号化された各ピクチャを識別するためのピクチャ番号を生成して前記各ピクチャに付与することで、前記参照に用いられるピクチャを管理し、前記状態変更ステップでは、前記ピクチャ番号を生成するためのオフセット値を前記管理状態として更新する。
【００７３】
ランダムアクセス再生が指定されたときには、従来では、オフセット値が更新されなかったり、オフセット値が必要以上に大きく更新されたりすることで不適切なピクチャ番号が生成されてしまい、その結果、メモリに格納されるピクチャをそのピクチャ番号を用いて適切に管理することができなかった。そこで、本発明に係る画像復号化方法では、ランダムアクセス再生が指定されたときには、それまでのオフセット値などのピクチャを管理するための管理状態が変更されて、その変更された管理状態を初期状態としてランダムアクセス再生が行われるため、適切なピクチャ番号を生成してメモリに格納されるピクチャを正常に管理することができる。その結果、適切なピクチャを参照してランダムアクセス再生先からの復号化対象の各ピクチャを復号化することができる。従って、Ｈ．２６４規格を用いたＢＤ−ＲＯＭフォーマット規格において、通常の連続再生もランダムアクセス再生も正常に行うことが可能となる。
【００７４】
また、前記第１の格納ステップでは、復号化対象のアクセス単位に含まれる全てのピクチャが復号化されるごとに、前記オフセット値を大きくなるように更新しながら、前記ストリームのアクセス単位ごとに各ピクチャに割り当てられたカウント値と前記オフセット値とを用いて、復号化された各ピクチャに対するピクチャ番号を生成し、前記状態変更ステップでは、前記オフセット値を大きくなるように更新し、前記第２の格納ステップでは、前記更新されたオフセット値を初期状態として、復号化対象のアクセス単位に含まれる全てのピクチャが復号化されるごとに、前記オフセット値を大きくなるように更新しながら、前記カウント値とオフセット値とを用いて、前記ランダムアクセス再生先からの復号化された各ピクチャに対するピクチャ番号を生成することを特徴としても良い。
【００７５】
これにより、ランダムアクセス再生が指定されたときには、アクセス単位に含まれる全てのピクチャが復号化されるごとにオフセット値を大きくさせるのと同様に、オフセット値が大きく更新されるため、ランダムアクセス再生先からのピクチャに対するピクチャ番号が、それまでのピクチャに対するピクチャ番号よりも小さくなってしまうことを防ぎ、メモリに格納されるピクチャを正常に管理することができる。
【００７６】
例えば、前記第１及び第２の格納ステップと前記状態変更ステップでは、少なくともアクセス単位におけるカウント値の最大値だけ大きくなるように前記オフセット値を更新する。
【００７７】
これにより、ランダムアクセス再生先からのピクチャに対するピクチャ番号が、それまでのピクチャに対するピクチャ番号よりも小さくなってしまうことを確実に防ぐことができる。
【００７８】
また、前記第１及び第２の格納ステップでは、復号化された各ピクチャを識別するためのピクチャ番号を生成して前記各ピクチャに付与することで、前記参照に用いられるピクチャを管理し、前記状態変更ステップでは、前記メモリに格納されている全てのピクチャを非参照の状態に変更することで、前記管理状態を変更することを特徴としても良い。
【００７９】
これにより、ランダムアクセス再生が指定されたときには、それまでにメモリに格納されている全てのピクチャが非参照の状態に変更されるため、ランダムアクセス再生前にメモリに格納されたピクチャと、ランダムアクセス再生後にメモリに格納されるピクチャとの間で、ピクチャ番号に基づく管理に乱れが生じるのを防ぐことできる。その結果、適切なピクチャを参照してランダムアクセス再生先からの復号化対象の各ピクチャを復号化することができる。
【００８０】
また、前記第１及び第２の格納ステップでは、復号化された各ピクチャを識別するためのピクチャ番号を生成して前記各ピクチャに付与することで、前記参照に用いられるピクチャを管理し、前記第１の格納ステップでは、復号化対象のピクチャのカウント値が直前に復号化されたピクチャのカウント値よりも小さくなるごとに、前記ピクチャ番号を生成するためのオフセット値を大きくなるように更新しながら、前記ストリームのアクセス単位ごとに各ピクチャに割り当てられたカウント値と前記オフセット値とを用いて、復号化された各ピクチャに対するピクチャ番号を生成し、前記状態変更ステップでは、前記管理状態として存在する前記オフセット値を小さくなるように更新し、前記第２の格納ステップでは、前記更新されたオフセット値を初期状態として、復号化対象のピクチャのカウント値が直前に復号化されたピクチャのカウント値よりも小さくなるごとに、前記オフセット値を大きくなるように更新しながら、前記カウント値とオフセット値とを用いて、前記ランダムアクセス再生先からの復号化された各ピクチャに対するピクチャ番号を生成することを特徴としても良い。例えば、前記状態変更ステップでは、前記オフセット値を０に更新する。
【００８１】
ランダムアクセス再生が指定されたときには、従来では、オフセット値が必要以上に大きく更新されることで不適切なピクチャ番号が生成されてしまい、その結果、メモリに格納されるピクチャをそのピクチャ番号を用いて適切に管理することができなかった。そこで、本発明に係る画像復号化方法では、ランダムアクセス再生が指定されたときには、それまでのオフセット値が小さくなるように変更されて、且つ、メモリ内のピクチャが非参照の状態に変更されて、その変更された管理状態を初期状態としてランダムアクセス再生が行われるため、適切なピクチャ番号を生成してメモリに格納されるピクチャを正常に管理することができる。その結果、適切なピクチャを参照してランダムアクセス再生先からの復号化対象の各ピクチャを復号化することができる。つまり、ランダムアクセス再生が指定されたときには、前記オフセット値が小さく更新されるため、ピクチャ番号が異常に大きくなることを要因にしてピクチャ番号に基づく管理に乱れが生じてしまうのを防ぐことができる。
【００８２】
また、前記第２の格納ステップでは、さらに、前記メモリに非参照の状態にされたピクチャがあるときには、前記ピクチャを直前に格納された参照可能なピクチャに置き換えることを特徴としても良い。
【００８３】
これにより、さらに適切なピクチャを参照することができる。
【００８４】
また、前記第２の格納ステップでは、さらに、ランダムアクセス再生の開始に基づく開始情報を用いて前記メモリに格納されるピクチャを管理することを特徴としても良い。例えば、前記第２の格納ステップでは、ランダムアクセス再生が開始されるごとに更新されるランダムアクセス番号を前記開始情報として用いる。
【００８５】
従来では表示時刻の最も古いピクチャを特定してそのピクチャをメモリから破棄していたが、ランダムアクセス再生が多く指定されると、表示されていないにも関わらずピクチャが破棄されてしまうことがある。そこで、本発明に係る画像復号化方法では、ランダムアクセス番号を用いてピクチャを管理することで、表示されていないピクチャをメモリに残しておくことができる。
【００８６】
また、前記メモリは、ピクチャに対する管理態様が互いに異なる第１及び第２の格納領域を有し、前記状態変更ステップでは、さらに、ランダムアクセス再生先に応じて、前記第１及び第２の格納領域の大きさを相補的に変更することを特徴としても良い。例えば、前記第１の格納領域では、ピクチャが新たに格納されるときには、最も古く格納されたピクチャが破棄され、前記第２の格納領域では、ピクチャが新たに格納されるときには、指定されたピクチャが破棄される。
【００８７】
これにより、第１及び第２の格納領域の大きさが、通常の連続再生とランダムアクセス再生とで異なってしまうことを防ぎ、メモリに格納されるピクチャを正常に管理することができる。
【００８８】
また、前記第１及び第２の格納ステップでは、復号化された各ピクチャを識別するためのピクチャ番号を生成して前記各ピクチャに付与することで、前記参照に用いられるピクチャを管理し、前記状態変更ステップでは、メモリに格納されているピクチャのピクチャ番号を、ランダムアクセス再生先のピクチャのピクチャ番号よりも小さなピクチャ番号に変更することを特徴としてもよい。
【００８９】
これにより、ランダムアクセス再生によって復号化されなかったピクチャが、あたかも通常通り復号化されてメモリに格納された状態となる。その結果、適切なピクチャを参照してランダムアクセス再生先からの復号化対象の各ピクチャを復号化することができる。
【００９０】
また、前記状態変更ステップでは、メモリに格納されているピクチャを、ランダムアクセス再生先のピクチャのピクチャ番号よりも小さなピクチャ番号を有するダミーピクチャに置き換えることを特徴としてもよい。例えば、前記ダミーピクチャは、前記ストリームに含まれていないピクチャや、前記第１の格納ステップで復号化されたピクチャである。
【００９１】
これにより、上述と同様、ランダムアクセス再生によって復号化されなかったピクチャが、あたかも通常通り復号化されてメモリに格納された状態となる。その結果、適切なピクチャを参照してランダムアクセス再生先からの復号化対象の各ピクチャを復号化することができる。
【００９２】
なお、本発明は、このような画像復号化方法として実現することができるだけでなく、その方法を用いて動作する画像復号化装置や集積回路、その方法に基づく動作をコンピュータに実行させるプログラム、そのプログラムを格納する記憶媒体としても実現することができる。
【発明の効果】
【００９３】
本発明の画像復号化方法は、ランダムアクセス再生が行われたときにおいても、適切なピクチャを参照して復号化対象のピクチャを復号化することができるという作用効果を奏する。
【発明を実施するための最良の形態】
【００９４】
以下、本発明の画像復号化方法について図面を参照しながら説明する。
【００９５】
（実施の形態１）
本発明の第１の実施の形態における画像復号化方法では、図５に示すピクチャ番号の生成方法例１を基礎にピクチャ番号を生成して、ストリームに含まれる各ピクチャを復号化する。
【００９６】
図１０は、本実施の形態の画像復号化方法を実現する画像復号化装置のブロック図である。
【００９７】
本実施の形態の画像復号化装置１００は、可変長復号化部１０１と、動き補償部１０２と、ピクチャメモリ１０３と、加算部１０４と、変換部１０５と、メモリ管理部１０６と、ピクチャ番号生成部１０７と、再生判別部１０８とを備えている。
【００９８】
可変長復号化部１０１は、ストリームＳｔｒを復号化し、量子化値Ｑｃｏ、相対インデックスＩｎｄ、ピクチャタイプＰｔｙおよび動きベクトルＭＶを出力する。量子化値Ｑｃｏ、相対インデックスＩｎｄおよび動きベクトルＭＶは、ピクチャメモリ１０３、動き補償部１０２および変換部１０５に入力され復号化処理が行われる。
【００９９】
変換部１０５は、量子化値Ｑｃｏを逆量子化して周波数係数に復元し、さらに周波数係数から画素差分値に逆周波数変換し、その画素差分値を加算部１０４に出力する。
【０１００】
加算部１０４は、画素差分値と動き補償部１０２から出力される予測画像とを加算して復号化画像Ｖｏｕｔを生成する。生成した復号化画像Ｖｏｕｔはピクチャメモリ１０３に保存される。この時、複数のピクチャを参照ピクチャとして使用することができるように、参照するピクチャの識別番号を指定するための参照番号（相対インデックスＩｎｄ）がブロックごとに必要となる。そこで、相対インデックスＩｎｄと、ピクチャメモリ１０３中の各ピクチャが有するピクチャ番号との対応を取ることにより、相対インデックスＩｎｄによって参照ピクチャを指定することが可能となる。
【０１０１】
動き補償部１０２は、上記処理によって検出された動きベクトルおよび相対インデックスＩｎｄを用いて、ピクチャメモリ１０３に格納されている復号化画像から予測画像に最適な画像領域を取り出す。そして、動き補償部１０２は、上述の予測画像を生成して加算部１０４に出力する。
【０１０２】
再生判別部１０８は、再生形式の判別を行う。即ち、再生判別部１０８は、シーケンス再生を行うときに、通常の連続再生を行うか、それともＯｐｅｎ ＧＯＰ構造をとるランダムアクセスポイントＲＡＰからのランダムアクセス再生を行うかの判別を行う。例えば、再生判別部１０８は、画像復号化装置の上位階層に位置するシステム制御による指示に従って再生形式を判別する。また、再生判別部１０８は、ランダムアクセスポイントＲＡＰのＧＯＰがＩＤＲピクチャを含むときには、そのＧＯＰはＣｌｏｓｅｄ ＧＯＰ構造であると判別し、ＩＤＲピクチャを含まないときには、そのＧＯＰはＯｐｅｎ ＧＯＰ構造であると判別する。なお、各ピクチャに付加されているフレーム番号ｆｎの復号化のトレース結果から再生形式を推定することも可能である。また、上記通常の連続再生には、Ｃｌｏｓｅｄ ＧＯＰからのランダムアクセス再生が含まれる。
【０１０３】
そして、再生判別部１０８は、その判別結果を示す再生判別信号を出力する。
【０１０４】
ピクチャ番号生成部１０７は、再生判別部１０８から再生判別信号を取得して、その再生判別信号の示す再生形式（通常の連続再生またはランダムアクセス再生）に基づいて、ピクチャ番号を生成して出力する。
【０１０５】
メモリ管理部１０６は、再生判別部１０８から出力された再生判別信号と、ピクチャ番号生成部１０７から出力されたピクチャ番号とを用いて、ピクチャメモリ１０３に格納されるピクチャの管理を行う。
【０１０６】
図１１は、画像復号化装置１００の動作の一例を示すフロー図である。
【０１０７】
まず、画像復号化装置１００は、ストリームＳｔｒの再生処理が開始されると、開始位置にある復号化対象のピクチャを復号化し（ステップＳ１００）、生成方法例１に基づいて、そのピクチャに対するピクチャ番号を生成する（ステップＳ１０２）。そして、画像復号化装置１００は、そのピクチャに対してピクチャ番号を付与し、そのピクチャをピクチャメモリ１０３に格納する（ステップＳ１０４）。次に、画像復号化装置１００は、ランダムアクセス再生が指定されたか否かを判別し（ステップＳ１０６）、指定されたと判別したときは（ステップＳ１０６のＹ）、ピクチャの管理状態を変更する（ステップＳ１０８）。そして、画像復号化装置１００は、ランダムアクセス再生先のピクチャに対して、ステップＳ１００からの処理を繰り返し実行する。つまり、画像復号化装置１００は、変更された管理状態を初期状態として、ランダムアクセス再生先からの各ピクチャを順に復号化し、各ピクチャのうち参照に用いられるピクチャをピクチャメモリ１０３に格納して管理する。
【０１０８】
一方、ステップＳ１０６でランダムアクセス再生が指定されていないと判別したときには（ステップＳ１０６のＮ）、画像復号化装置１００は、シーケンス再生にしたがって未復号のピクチャがあるか否かを判別する（ステップＳ１１０）。未復号のピクチャがあると判別したときには（ステップＳ１１０のＹ）、画像復号化装置１００は、そのピクチャに対して、ステップＳ１００からの処理を繰り返し実行する。一方、未復号のピクチャがないと判別したときには（ステップＳ１１０のＮ）、ストリームＳｔｒの再生処理を終了する。
【０１０９】
図１２は、ピクチャ番号生成部１０７の動作を示すフロー図である。
【０１１０】
ピクチャ番号生成部１０７は、図１２に示すように、まず、再生判別部１０８から再生判別信号を取得し（ステップＳ１２０）、その再生判別信号に基づいて、指定される再生形式が通常の連続再生か、Ｏｐｅｎ ＧＯＰ構造のランダムアクセスポイントＲＡＰからのランダムアクセス再生かを判定する（ステップＳ１２２）。
【０１１１】
ここで、ピクチャ番号生成部１０７は、ステップＳ１２２で通常の連続再生が指定されたと判別したときには、生成方法例１によりピクチャ番号を生成する。
【０１１２】
一方、ピクチャ番号生成部１０７は、ステップＳ１２２でランダムアクセス再生が指定されたと判別したときには、オフセット値Ｍｓｂに最大カウント値Ｌｓｂを加算してそのオフセット値Ｍｓｂを更新する（ステップＳ１２６）。次に、ピクチャ番号生成部１０７は、生成方法例１に基づき、ランダムアクセスポイントＲＡＰのピクチャに対して、その更新されたオフセット値Ｍｓｂと、そのピクチャのカウント値ｌｓｂとを加算したピクチャ番号ＰＮを生成する（ステップＳ１２８）。
【０１１３】
このように本実施の形態では、ランダムアクセス再生が行われたときには、ピクチャの管理状態を変更する、つまりオフセット値Ｍｓｂに最大カウント値Ｌｓｂを加算してそのオフセット値Ｍｓｂを更新することで、ランダムアクセス再生を開始した時のピクチャ番号ＰＮを、ＳＴＲＬに存在する既存のピクチャＰｉｃの持ついかなるピクチャ番号ＰＮよりも大きな値とする。これにより、誤動作の発生を防ぐことができる。
【０１１４】
なお、本実施の形態では、オフセット値Ｍｓｂに最大カウント値Ｌｓｂを加算してそのオフセット値Ｍｓｂを更新したが、ランダムアクセス再生を開始した時のピクチャ番号ＰＮを、他の方法により、ＳＴＲＬに存在する既存のピクチャＰｉｃの持ついかなるピクチャ番号ＰＮよりも大きな値としても良い。
【０１１５】
図１３は、本実施の形態により管理されるピクチャメモリ１０３の様子を説明するための説明図である。
【０１１６】
まず、ピクチャ番号１０１のピクチャＢの復号化後に、スキップ（ランダムアクセス再生）が発生してピクチャＩ９が復号化されると、オフセット値Ｍｓｂは、９６＋１６＝１１２に更新される。次に、ピクチャＩ９に対するピクチャ番号ＰＮとして、Ｍｓｂ＋ｌｓｂ＝１１２＋２＝１１４が生成される。その結果、参照ピクチャリストは、更新されてSTRL（h'）の状態となり、続けてピクチャＰ１２の復号化後に参照ピクチャリストはSTRL（i'）の状態に更新される。さらにピクチャＢ１０、ピクチャＢ１１の復号化が続けられる。
【０１１７】
この時、ＳＴＲＬ（参照ピクチャリスト）の中でピクチャＰ１２のピクチャ番号ＰＮが最も大きく、その次にピクチャＩ９のピクチャ番号ＰＮが大きくなるため、図１３に示すＬ０リスト（L0＿for＿B11＿r2）とＬ１リスト（L1＿for＿B11＿r2）が生成される。その結果、従来では通常の連続再生と同様の相対インデックスＩｎｄで指定できなかったピクチャＩ９やピクチャＰ１２を指定することができる。
【０１１８】
このように、本実施の形態では、ランダムアクセス再生が行われるときには、まず、オフセット値Ｍｓｂを強制的に大きくなるように更新してピクチャの管理状態を変更する。したがって、図８に示すようなランダムアクセス再生後のピクチャ番号がランダムアクセス再生前のピクチャ番号よりも小さくなるのを防ぐことができる。その結果、参照ピクチャリストのピクチャに対するピクチャ番号ＰＮに基づく管理の乱れを防ぎ、通常の連続再生の場合と同様に、相対インデックスＩｎｄを用いて適切なピクチャを参照して復号化対象のピクチャを復号化することができる。
【０１１９】
（変形例１）
ここで、本実施の形態のピクチャの管理状態の変更に関する変形例を説明する。
【０１２０】
上記実施の形態では、ランダムアクセス再生が指定されたときには、オフセット値Ｍｓｂを更新することで、ピクチャの管理状態を変更したが、本変形例では、ピクチャメモリ１０３に参照用として格納されている全てのピクチャを非参照とする。
【０１２１】
これにより、ランダムアクセス再生時から復号化されたピクチャのみがピクチャメモリ１０３に格納されるため、ランダムアクセス再生前に格納されたピクチャと、ランダムアクセス再生後に格納されたピクチャとの間で、混乱が生じてしまうのを防ぐことができる。また、ランダムアクセス再生時にピクチャ番号ＰＮが強制的に大きくなることがないため、ピクチャ番号ＰＮの管理可能な最大値（最大ピクチャ番号ＭＰＮ）を越えてしまうことなく、ピクチャ番号ＰＮの増大に基づく誤動作の発生を防ぐことができる。
【０１２２】
ここで、さらに、Ｌ０リストの生成においても、特別な処理を行っても良い。
【０１２３】
図１４は、Ｌ０リストの生成方法を説明するための説明図である。
【０１２４】
まず、ピクチャ番号１０１のピクチャＢの復号化後に、スキップ（ランダムアクセス再生）が発生し、ピクチャＩ９が復号化されると、参照ピクチャリスト（ＳＴＲＬ）の全てのピクチャが非参照となる。即ち、参照ピクチャリストに格納されていたピクチャは、参照用のピクチャとしては消去されて、その格納されていた領域は空（empty）となる。次に、生成方法例１にしたがって、ピクチャＩ９に対するピクチャ番号ＰＮとして、Ｍｓｂ＋ｌｓｂ＝９６＋２＝９８が生成される。その結果、参照ピクチャリストは、更新されてSTRL（h'）の状態となり、続けてピクチャＰ１２の復号化後に参照ピクチャリストはSTRL（i'）の状態に更新される。さらにピクチャＢ１０およびピクチャＢ１１の復号化が続けられる。
【０１２５】
このようなSTRL（i'）の状態の参照ピクチャリストから、上述の規格で定められた方法でＬ０リスト（L0＿for＿B11＿r3）とＬ１リスト（L1＿for＿B11＿r3）が生成される。
【０１２６】
さらに、Ｌ０リスト（L0＿for＿B11＿r3）は、最後に追加されたピクチャ番号ＰＮのピクチャと同じピクチャが空の領域に続けて挿入されることにより、Ｌ０リスト（L0＿for＿B11＿r4）に更新される。
【０１２７】
このように、空の領域にピクチャが挿入されることにより、ランダムアクセス再生が行われた場合にも、Ｌ０リストから所望のピクチャを参照ピクチャとしてより適切に選択することができる。
【０１２８】
例えば、ピクチャＢ１１が前方１枚のピクチャＩ９と後方１枚のピクチャＰ１２を参照する場合を想定する。この場合、それらのピクチャＩ９、Ｐ１２を参照するためには、図７に示す通常の連続再生の場合と同様、Ｌ０リスト（L0＿for＿B11＿r4）に対して０番の相対インデックス（Index0）を指定し、Ｌ１リスト（L1＿for＿B11＿r3）に対して０番の相対インデックス（Index0）を指定すればよい。
【０１２９】
また例えば、ピクチャＢ１１がピクチャＰ１２に対して後方２枚参照する場合を想定する。この場合、図７に示す通常の連続再生では、ピクチャＰ１２を参照するために、Ｌ０リスト（L0＿for＿B11＿n）に対して３番の相対インデックス（Index3）を指定する必要がある。
【０１３０】
ここで、仮に、Ｌ０リスト（L0＿for＿B11＿r3）を更新することなく、空の領域を残したままにしておくと、Ｌ０リスト（L0＿for＿B11＿r3）に対して３番の相対インデックス（Index3）を指定しても、ピクチャＰ１２を参照することができない。そこで、Ｌ０リスト（L0＿for＿B11＿r3）をＬ０リスト（L0＿for＿B11＿r4）に更新しておく。即ち、Ｌ０リスト（L0＿for＿B11＿r3）の空き領域に、直前に格納されたピクチャＰ１２を埋め込む。これにより、図７に示す通常の連続再生の場合と同様に３番の相対インデックス（Index3）を指定することで、ピクチャＰ１２を参照することができる。また、このようにＬ０リストの空き領域を埋めておけば、１番から３番の何れの相対インデックスＩｎｄを指定しても、ピクチャＰ１２を正常に参照することができる。
【０１３１】
（変形例２）
ここで、本実施の形態のピクチャの管理状態の変更に関する他の変形例を説明する。
【０１３２】
上記実施の形態では、ランダムアクセス再生が指定されたときには、オフセット値Ｍｓｂを更新することで、ピクチャの管理状態を変更したが、本変形例では、参照可能なピクチャの枚数だけ、ランダムアクセス再生先のピクチャのピクチャ番号よりも小さなピクチャ番号を持つ仮のピクチャ（ダミーピクチャ）をＳＴＲＬに挿入することで、ピクチャの管理状態を変更する。
【０１３３】
これにより、ランダムアクセスによって復号化が省かれたピクチャが、あたかも通常通り復号化されてピクチャメモリ１０３に格納された状態となる。その結果、適切なピクチャを参照してランダムアクセス再生先からの復号化対象の各ピクチャを復号化することができる。
【０１３４】
図１５は、本変形例に係るＬ０リストおよびＬ１リストの生成方法を説明するための説明図である。
【０１３５】
まず、ピクチャ番号１０１のピクチャＢの復号化後に、スキップ（ランダムアクセス再生）が発生すると、ピクチャＩ９の復号化に先立って、ピクチャＩ９に割当てられるピクチャ番号ＰＮが算出される。例えば、生成方法例１にしたがって、ピクチャＩ９に対するピクチャ番号ＰＮとして、Ｍｓｂ＋ｌｓｂ＝９６＋２＝９８が算出される。そして、そのピクチャＩ９のピクチャ番号ＰＮよりも小さなピクチャ番号ＰＮを持つ仮のピクチャが、参照可能なピクチャの枚数だけ、参照ピクチャリスト（ＳＴＲＬ）に挿入される。その結果、参照ピクチャリストは、STRL（ｊ）の状態となる。つまり、ピクチャ番号が１０２のピクチャＰｙが、ピクチャ番号が９７のダミーピクチャに置き換えられ、ピクチャ番号が９９のピクチャＰｘが、ピクチャ番号が９６のダミーピクチャに置き換えられる。さらに、ピクチャ番号が９６のピクチャＰｗが、ピクチャ番号が９５のダミーピクチャに置き換えられ、ピクチャ番号が９３のピクチャＰｖが、ピクチャ番号が９４のダミーピクチャに置き換えられる。
【０１３６】
ここで、上述の仮のピクチャは、その後の復号化処理において実際には参照に使用されないので、ランダムアクセス再生先のピクチャ番号よりも小さなピクチャ番号が割り当てられた、ストリームＳｔｒに存在しないピクチャであってもよい。例えば、その仮のピクチャは、全ての画素値が所定の値（例えば０など）を示すようなピクチャや、画素値を持たないピクチャである。また、上述の仮のピクチャは、ストリームＳｔｒにあるピクチャのうち既に復号化されたピクチャであってもよい。例えば、その仮のピクチャは直前に復号化されたピクチャである。なお、参照ピクチャリストに格納されているピクチャを置き換えることなく、そのピクチャのピクチャ番号だけを、ランダムアクセス再生先のピクチャ番号よりも小さなピクチャ番号に変更してもよい。
【０１３７】
次に、ピクチャＩ９の復号化が行われると、参照ピクチャリストは更新されてSTRL（h'）の状態となり、続けてピクチャＰ１２の復号化後に、参照ピクチャリストはSTRL（i'）の状態に更新される。さらにピクチャＢ１０およびピクチャＢ１１の復号化が続けられる。
【０１３８】
このようなSTRL（i'）の状態の参照ピクチャリストから、上述の規格で定められた方法でＬ０リスト（L0＿for＿B11＿r5）とＬ１リスト（L1＿for＿B11＿r5）が生成される。
【０１３９】
このように、仮のピクチャを挿入することにより、ランダムアクセス再生が行われた場合にも、Ｌ０リストから所望のピクチャを参照ピクチャとしてより適切に選択することができる。
【０１４０】
例えば、ピクチャＢ１１が前方１枚のピクチャＩ９と後方１枚のピクチャＰ１２を参照する場合を想定する。この場合、それらのピクチャＩ９、Ｐ１２を参照するためには、図７に示す通常の連続再生の場合と同様、Ｌ０リスト（L0＿for＿B11＿r5）に対して０番の相対インデックス（Index0）を指定し、Ｌ１リスト（L1＿for＿B11＿r5）に対して０番の相対インデックス（Index0）を指定すればよい。
【０１４１】
また例えば、ピクチャＢ１１がピクチャＰ１２に対して後方２枚参照する場合を想定する。この場合、図７に示す通常の連続再生では、ピクチャＰ１２を参照するために、Ｌ０リスト（L0＿for＿B11＿n）に対して３番の相対インデックス（Index3）を指定する必要があるが、その場合と全く同様に、Ｌ０リスト（L0＿for＿B11＿r5）に対して３番の相対インデックス（Index3）を指定することで、ピクチャＰ１２を参照することができる。
【０１４２】
（実施の形態２）
本発明の第２の実施の形態における画像復号化方法では、図６に示すピクチャ番号の生成方法例２を基礎にピクチャ番号を生成して、ストリームに含まれる各ピクチャを復号化する。
【０１４３】
図１６は、本実施の形態の画像復号化方法を実現する画像復号化装置のブロック図である。
【０１４４】
本実施の形態の画像復号化装置２００は、可変長復号化部１０１と、動き補償部１０２と、ピクチャメモリ１０３と、加算部１０４と、変換部１０５と、メモリ管理部２０６と、ピクチャ番号生成部２０７と、再生判別部１０８とを備えている。
【０１４５】
なお、本実施の形態の画像復号化装置２００が備える構成要素のうち、実施の形態１の画像復号化装置１００が備える構成要素と同一のものは、実施の形態１と同一の符号を付して示し、詳細な説明は省略する。
【０１４６】
ピクチャ番号生成部２０７は、再生判別部１０８から再生判別信号を取得して、その再生判別信号の示す再生形式（通常の連続再生かランダムアクセス再生）に基づいて、ピクチャ番号を生成して出力する。
【０１４７】
メモリ管理部２０６は、再生判別部１０８から出力された再生判別信号と、ピクチャ番号生成部２０７から出力されたピクチャ番号とを用いて、ピクチャメモリ１０３に格納されるピクチャの管理を行う。
【０１４８】
図１７は、画像復号化装置２００の動作の一例を示すフロー図である。
【０１４９】
まず、画像復号化装置２００は、ストリームＳｔｒの再生処理が開始されると、開始位置にある復号化対象のピクチャを復号化し（ステップＳ２００）、生成方法例２に基づいて、そのピクチャに対するピクチャ番号を生成する（ステップＳ２０２）。そして、画像復号化装置２００は、そのピクチャに対してピクチャ番号を付与し、そのピクチャをピクチャメモリ１０３に格納する（ステップＳ２０４）。次に、画像復号化装置２００は、ランダムアクセス再生が指定されたか否かを判別し（ステップＳ２０６）、指定されたと判別したときは（ステップＳ２０６のＹ）、実施の形態１とは異なる態様でピクチャの管理状態を変更する（ステップＳ２０８）。そして、画像復号化装置２００は、ランダムアクセス再生先のピクチャに対して、ステップＳ２００からの処理を繰り返し実行する。つまり、画像復号化装置２００は、変更された管理状態を初期状態として、ランダムアクセス再生先からの各ピクチャを順に復号化し、各ピクチャのうち参照に用いられるピクチャをピクチャメモリ１０３に格納して管理する。
【０１５０】
一方、ステップＳ１０６でランダムアクセス再生が指定されていないと判別したときには（ステップＳ２０６のＮ）、画像復号化装置１００は、シーケンス再生にしたがって未復号のピクチャがあるか否かを判別する（ステップＳ２１０）。未復号のピクチャがあると判別したときには（ステップＳ２１０のＹ）、画像復号化装置２００は、そのピクチャに対して、ステップＳ２００からの処理を繰り返し実行する。一方、未復号のピクチャがないと判別したときには（ステップＳ２１０のＮ）、ストリームＳｔｒの再生処理を終了する。
【０１５１】
図１８は、ピクチャ番号生成部２０７の動作を示すフロー図である。
【０１５２】
ピクチャ番号生成部２０７は、図１８に示すように、まず、再生判別部１０８から再生判別信号を取得し（ステップＳ２２０）、その再生判別信号に基づいて、指定される再生形式が通常の連続再生か、Ｏｐｅｎ ＧＯＰ構造のランダムアクセスポイントＲＡＰからのランダムアクセス再生かを判定する（ステップＳ２２２）。
【０１５３】
ここで、ピクチャ番号生成部２０７は、ステップＳ２２２で通常の連続再生が指定されたと判別したときには、生成方法例２によりピクチャ番号を生成する（ステップＳ２２４）。
【０１５４】
一方、ピクチャ番号生成部２０７は、ステップＳ２２２でランダムアクセス再生が指定されたと判別したときには、参照ピクチャリストのＳＴＲＬを初期化する（ステップＳ２２６）。即ち、ピクチャ番号生成部２０７は、参照ピクチャリストのＳＴＲＬに格納されている全てのピクチャを非参照とする。例えば、Ｈ．２６４の規格ではリスト管理において、「ＳＴＲＬ参照（used for short term reference）」の状態が「非参照（unused for reference）」の状態に更新される。
【０１５５】
参照ピクチャリストのＳＴＲＬが初期化されることにより、ＳＴＲＬには参照ピクチャは存在しないため、ＳＴＲＬに存在するピクチャＰｉｃの中で特殊再生（ランダムアクセス再生）を開始した時のピクチャ番号ＰＮは最も大きな値をとることになる。ただし、図９を用いて説明したように、ピクチャ番号ＰＮが最大ピクチャ番号ＭＰＮ付近となってしまう時には、ランダムアクセス再生位置からのシーケンス再生を続けていくうちにピクチャ番号ＰＮが最大ピクチャ番号ＭＰＮを越えて、誤動作が生じる可能性がある。即ち、誤動作が生じないように各ピクチャを管理するためには、ピクチャ番号ＰＮを０に近い正の数にすれば良い。つまり、ピクチャ番号ＰＮがオフセット値ＦＮＯとフレーム番号ｆｎから生成されるので、オフセット値ＦＮＯを小さい自然数に設定し直せばよい。
【０１５６】
そこで、ピクチャ番号生成部２０７は、オフセット値ＦＮＯを強制的に０にする（ステップＳ２２８）。なお、オフセット値ＦＮＯを、Ｃｌｏｓｅｄ ＧＯＰから再生が始まった状態に近い値や、０以上で小さい値にしても良い。
【０１５７】
このような参照ピクチャリストの初期化とオフセット値ＦＮＯ＝０の設定により、ピクチャの管理状態が変更される。
【０１５８】
そして、ピクチャ番号生成部２０７は、変更されたピクチャの管理状態を初期状態として、生成方法例２に基づき、ランダムアクセスポイントＲＡＰからの各ピクチャに対して、オフセット値ＦＮＯと、そのピクチャのフレーム番号（カウント値）ｆｎとを加算して２倍することにより、ピクチャ番号ＰＮを生成する（ステップＳ２３０）。
【０１５９】
なお、ランダムアクセス再生開始直前のフレーム番号ｆｎの保存値を例えば０などの値に変更しておいても良い。これはランダムアクセス再生の開始後、オフセット値ＦＮＯに最大フレーム番号ＭＦＮの加算処理が発生しオフセット値ＦＮＯ及びピクチャ番号ＰＮの値が大きくなってしまうのを防ぐためである。
【０１６０】
このように、本実施の形態では、ランダムアクセス再生が行われるときには、まず、参照ピクチャリストの初期化とオフセット値ＦＮＯ＝０の設定とを行ってピクチャの管理状態を変更する。したがって、図９に示すようなピクチャ番号ＰＮが最大ピクチャ番号を越えてしまうのを防ぐことができる。その結果、参照ピクチャリストのピクチャに対するピクチャ番号ＰＮに基づく管理の乱れを防ぎ、通常の連続再生の場合と同様に、相対インデックスＩｎｄを用いて適切なピクチャを参照して復号化対象のピクチャを復号化することができる。
【０１６１】
なお、実施の形態１と実施の形態２において、ランダムアクセス再生時におけるピクチャ番号ＰＮの生成方法を説明したが、画面表示時刻を示すプレゼンテーション・タイム・スタンプ（Presentation Time Stamp、ＰＴＳ）の情報がストリーム中に含まれるのであれば、通常の連続再生時とランダムアクセス再生時とでピクチャ番号ＰＮの生成方法を切り替えずにＰＴＳを流用し、Ｌ０リストとＬ１リストを作り出すことも可能である。
【０１６２】
（変形例１）
ここで、本実施の形態の参照ピクチャリストの管理方法についての変形例について説明する。
【０１６３】
図１９は、本変形例における参照ピクチャリスト（ＳＴＲＬ）の管理方法を説明するための説明図である。
【０１６４】
例えば、図１９の（ａ）に示すようなストリームの再生が行われることを想定する。ストリームに含まれる各ピクチャは、通常、図中左側から右側の順に処理される。つまり、ストリーム上の時間は左から右に流れている。また、各ランダムアクセスポイントＲＡＰの先頭ピクチャはピクチャＩ０、Ｉ１、Ｉ２及びＩ３である。
【０１６５】
ここで、ピクチャＰ４、Ｐ５、Ｐ６及びＩ７を連続再生した後、ピクチャＩ３を再生し、ピクチャＩ２を再生し、ピクチャＩ１を再生し、最後にピクチャＩ０を再生していく後方へのスキップ動作（ランダムアクセス再生）が行われる。
【０１６６】
上述のようなランダムアクセス再生が行われると、上述の実施の形態では、それまでの参照ピクチャリストが初期化される、つまり参照ピクチャリストに含まれる全てのピクチャが非参照とされる。そして、参照ピクチャリストはＰＴＳ管理されるため、それらの非参照とされたピクチャのうち、ＰＴＳの最も古いピクチャが参照ピクチャリストから破棄されて、その破棄された領域に新たなピクチャが格納される。
【０１６７】
即ち、参照ピクチャリストの状態は、図１９の（ｂ）に示すように、ピクチャＰ４から順にピクチャＩ７まで復号されたときには状態ａ００となり、ピクチャＩ３が復号化されたときには状態ａ０１となり、ピクチャＩ２が復号化されたときには状態ａ０２となり、ピクチャＩ１が復号化されたときには状態ａ０３となり、ピクチャＩ０が復号化されたときには状態ａ０４となる。なお、図１９中の斜線で示すピクチャは、非参照とされたピクチャであって、表示用としてのみ残されているピクチャである。
【０１６８】
状態ａ００における参照ピクチャリストでは、ピクチャＩ７、Ｐ６、Ｐ５、Ｐ４の順で相対インデックスＩｎｄが付けられ、逆に、ピクチャＰ４、Ｐ５、Ｐ６、Ｐ７の順で画面表示され、各ピクチャは「表示待ち」もしくは「表示済み」のどちらかの状態になっている。
【０１６９】
状態ａ０１における参照ピクチャリストでは、ピクチャＩ７、Ｐ６、Ｐ５、Ｐ４が「非参照」とされ、新たにピクチャＩ３が参照ピクチャとしてピクチャＰ４に上書きされている。また各ピクチャは、ピクチャＩ３、Ｐ５、Ｐ６、Ｉ７の順で配置されて画面表示される。
【０１７０】
状態ａ０２における参照ピクチャリストでは、ピクチャＩ３が「非参照」とされた上で、新たにピクチャＩ２が参照ピクチャとしてそのピクチャＩ３に上書きされている。また各ピクチャは、ピクチャＩ２、Ｐ５、Ｐ６、Ｉ７の順で配置されて画面表示される。
【０１７１】
状態ａ０３における参照ピクチャリストでは、ピクチャＩ２が「非参照」とされた上で、新たにピクチャＩ１が参照ピクチャとしてそのピクチャＩ２に上書きされている。また各ピクチャは、ピクチャＩ１、Ｐ５、Ｐ６、Ｉ７の順で配置されて画面表示される。
【０１７２】
状態ａ０４における参照ピクチャリストでは、ピクチャＩ０が「非参照」とされた上で、新たにピクチャＩ０が参照ピクチャとしてそのピクチャＩ１に上書きされている。また各ピクチャは、ピクチャＩ０、Ｐ５、Ｐ６、Ｉ７の順で配置されて画面表示される。
【０１７３】
従って、画面表示のタイミングによっては、逆再生でピクチャＩ０が再生された後に、ピクチャＰ５、Ｐ６及びＩ７が表示されたりする。また、復号化処理が画面表示処理よりも早く行われるような場合、参照ピクチャリストに格納されたピクチャＩ３、Ｉ２、Ｉ１及びＩ０が、画面表示前に、次の復号化されたピクチャの上書きによって、画面表示できなかったりする可能性が考えられる。
【０１７４】
そこで、本変形例では、Ｏｐｅｎ ＧＯＰのランダムアクセスポイントＲＡＰへのアクセスを伴うランダムアクセス再生を行う場合は、ＰＴＳの情報を部分的に用いずに参照ピクチャリストの管理を行うことにより前述の画面表示の誤動作を回避することができる。
【０１７５】
具体的に、本変形例では、ランダムアクセス再生が開始されるごとにＲＡＩＤ番号を更新して、参照ピクチャリストに格納されるピクチャに対してそのＲＡＩＤ番号を付与する。そして、ＰＴＳとそのＲＡＩＤ番号とを用いて参照ピクチャリストを管理する。これにより、図１９の（ｃ）に示すように、参照ピクチャリストに格納されたピクチャが長期間保持されて、上述の誤動作を防ぐことができる。
【０１７６】
図２０Ａは、メモリ管理部２０６が付与対象のピクチャに対してＲＡＩＤ番号を付与する動作を示すフロー図である。
【０１７７】
まず、メモリ管理部２０６は、参照ピクチャリストに格納すべきピクチャであって、ＲＡＩＤ番号の付与対象となるピクチャが再生処理の最初にあるか否かを判別する（ステップＳ３００）。例えば、参照ピクチャリストが全て非参照で表示済みのピクチャしか残っていない状態となっているか否か判断する。
【０１７８】
ここで、再生処理の最初であると判別すると（ステップＳ３００のＹ）、メモリ管理部２０６は、付与対象ピクチャのＲＡＩＤ番号を０に決定する（ステップＳ３０２）。一方、再生処理の最初でないと判別すると（ステップＳ３００のＮ）、メモリ管理部２０６は、さらに、付与対象のピクチャはランダムアクセス再生の最初にあるか否かを判別する（ステップＳ３０４）。
【０１７９】
ここで、ランダムアクセス再生の最初であると判別すると（ステップＳ３０４のＹ）、メモリ管理部２０６は、前回他のピクチャに付与されたＲＡＩＤ番号に１を加算した値を、付与対象ピクチャのＲＡＩＤ番号として決定する（ステップＳ３０６）。一方、ランダムアクセス再生の最初でないと判別すると（ステップＳ３０４のＮ）、メモリ管理部２０６は、前回他のピクチャに付与されたＲＡＩＤ番号を、付与対象ピクチャのＲＡＩＤ番号として決定する（ステップＳ３０８）。
【０１８０】
そして、メモリ管理部２０６は、上述のように、決定したＲＡＩＤ番号を付与対象ピクチャに付与して参照ピクチャリストに格納する（ステップＳ３１０）。
【０１８１】
図２０Ｂは、メモリ管理部２０６が参照ピクチャリストに格納されたピクチャの中から破棄されるピクチャを選択する動作を示すフロー図である。
【０１８２】
まず、メモリ管理部２０６は、参照ピクチャリストに格納されているピクチャのうち、ＲＡＩＤ番号が最も小さいピクチャ群を選択する（ステップＳ３２０）。
【０１８３】
次に、メモリ管理部２０６は、選択したピクチャ群の中でＰＴＳの最も古いピクチャを、破棄されるピクチャとして選択する（ステップＳ３２２）。
【０１８４】
なお、実際の処理では各ピクチャの状態が「参照」状態であるか「非参照」状態であるか、及び「表示待ち」状態であるか「表示済み」状態であるかなどの判定処理も必要となる。
【０１８５】
図１９の（ｃ）は、上述のようにＲＡＩＤ番号を用いたメモリ管理部２０６の管理によって実現される参照ピクチャリストの状態を示す図である。
【０１８６】
参照ピクチャリストの状態は、図１９の（ｃ）に示すように、ピクチャＰ４から順にピクチャＩ７まで復号されたときには状態ａ１０となり、ピクチャＩ３が復号化されたときには状態ａ１１となり、ピクチャＩ２が復号化されたときには状態ａ１２となり、ピクチャＩ１が復号化されたときには状態ａ１３となり、ピクチャＩ０が復号化されたときには状態ａ１４となる。なお、図１９中の斜線で示すピクチャは、非参照とされたピクチャである。
【０１８７】
状態ａ１０における参照ピクチャリストでは、上述の状態ａ００の参照ピクチャリストと同様、ピクチャＩ７、Ｐ６、Ｐ５、Ｐ４の順で相対インデックスＩｎｄが付けられ、逆に、ピクチャＰ４、Ｐ５、Ｐ６、Ｐ７の順で画面表示され、各ピクチャは「表示待ち」もしくは「表示済み」のどちらかの状態になっている。また、これらの全てのピクチャに付与されたＲＡＩＤ番号は０である。
【０１８８】
状態ａ１１における参照ピクチャリストでは、ピクチャＩ７、Ｐ６、Ｐ５、Ｐ４が「非参照」とされてピクチャＰ４が破棄され、新たにピクチャＩ３が参照ピクチャとして追加されている。ここで、ピクチャＩ７、Ｐ６、Ｐ５のＲＡＩＤ番号は０であり、ピクチャＩ３のＲＡＩＤ番号は１であるため、ピクチャＩ７、Ｐ６、Ｐ５とピクチャＩ３との間ではＰＴＳによる管理は行われず、ピクチャＩ７、Ｐ６、Ｐ５の間でのみＰＴＳによる管理が行われる。したがって、各ピクチャはピクチャＰ５、Ｐ６、Ｉ７、Ｉ３の順で配列されて画面表示される。
【０１８９】
状態ａ１２における参照ピクチャリストでは、ピクチャＩ３が「非参照」とされてピクチャＰ５が破棄され、新たにピクチャＩ２が参照ピクチャとして追加されている。また各ピクチャは、ピクチャＰ６、Ｉ７、Ｉ３、Ｉ２の順で配置されて画面表示される。
【０１９０】
状態ａ１３における参照ピクチャリストでは、ピクチャＩ２が「非参照」とされてピクチャＰ６が破棄され、新たにピクチャＩ１が参照ピクチャとして追加されている。また各ピクチャは、ピクチャＩ７、Ｉ３、Ｉ２、Ｉ１の順で配置されて画面表示される。
【０１９１】
状態ａ１４における参照ピクチャリストでは、ピクチャＩ１が「非参照」とされてピクチャＩ７が破棄され、新たにピクチャＩ０が参照ピクチャとして追加されている。また各ピクチャは、ピクチャＩ３、Ｉ２、Ｉ１、Ｉ０の順で配置されて画面表示される。
【０１９２】
このように本変形例では、ＰＴＳとＲＡＩＤ番号に基づいて参照ピクチャリストを管理するため、画面表示に必要な順番でピクチャを残すことができる。
【０１９３】
なお、本変形例では、ランダムアクセス再生が指定されたときには、オフセット値ＦＮＯを更新しなくてもよい。即ち、本変形例では、オフセット値ＦＮＯを更新することなく参照ピクチャリストを初期化し、上述のようにＰＴＳとＲＡＩＤ番号に基づいてその参照ピクチャリストを管理してもよい。
【０１９４】
（変形例２）
ここで、本実施の形態の参照ピクチャリストの管理方法についての他の変形例について説明する。  本変形例では、参照ピクチャリストのＳＴＲＬとＬＴＲＬのそれぞれで管理されるピクチャの枚数を、ランダムアクセス再生先に合わせて相補的に変更する点に特徴がある。
【０１９５】
図２１Ａから図２１Ｆは、本変形例における参照ピクチャリストの状態を示す図である。
【０１９６】
参照ピクチャリストＲＰＬは、上述のようにＦＩＦＯ的な管理を行うＳＴＲＬと、明示的に指定されたピクチャの格納破棄を行うＬＴＲＬとで構成されている。
【０１９７】
例えば、メモリ管理部２０６は、図２１Ａに示すように、全体で６枚のピクチャを管理し得るように参照ピクチャリストＲＰＬを構成し、４枚のピクチャＰ４、Ｐ５、Ｐ６及びＩ７をＳＴＲＬに格納し、２枚のピクチャＰ０、Ｐ１をＬＴＲＬに格納する。
【０１９８】
ここで、ランダムアクセス再生が行われると、メモリ管理部２０６は、まず、図２１Ｂに示すように、参照ピクチャリストＲＰＬの管理対象となる全てのピクチャを非参照とする。即ち、ＬＴＲＬ及びＳＴＲＬのそれぞれに格納されているピクチャが非参照に設定される。
【０１９９】
次に、メモリ管理部２０６は、ランダムアクセス再生先のＳＴＲＬ及びＬＴＲＬの管理枚数の特定を試みる。その結果、ランダムアクセス再生先のＳＴＲＬの管理枚数が４枚でＬＴＲＬの管理枚数が２枚であることが分かれば、メモリ管理部２０６は、現状のＳＴＲＬ及びＬＴＲＬの管理枚数を維持する。そして、メモリ管理部２０６は、ＳＴＲＬに格納されている非参照のピクチャを順に破棄し、図２１Ｃに示すように、新しい４枚のピクチャｎｅｗ０、ｎｅｗ１、ｎｅｗ２及びｎｅｗ３をＳＴＲＬに格納する。
【０２００】
ここで、ランダムアクセス再生先のＳＴＲＬの管理枚数が５枚でＬＴＲＬの管理枚数が１枚であることが分かれば、メモリ管理部２０６は、図２１Ｅに示すように、現状のＳＴＲＬ及びＬＴＲＬの管理枚数をそのランダムアクセス再生先に合わせて変更する。そして、メモリ管理部２０６は、５枚のピクチャｎｅｗ０、ｎｅｗ１、ｎｅｗ２、ｎｅｗ３、ｎｅｗ４をＳＴＲＬに格納する。
【０２０１】
仮に、メモリ管理部２０６が、ＳＴＲＬ及びＬＴＲＬの管理枚数をそのランダムアクセス再生先に合わせて変更しなければ、図２１Ｄに示すように、ピクチャｎｅｗ４を格納するためにピクチャｎｅｗ０が破棄される。このような場合、ピクチャｎｅｗ０を参照することができなくなり、復号化処理に誤動作を引き起こしてしまう可能性が生じる。そこで、本変形例では、上述のように、ＳＴＲＬ及びＬＴＲＬの管理枚数をそのランダムアクセス再生先に合わせて変更することにより、誤動作の発生を防ぐのである。
【０２０２】
また、メモリ管理部２０６は、ランダムアクセス再生先のＳＴＲＬ及びＬＴＲＬの管理枚数がそれぞれ６枚及び０枚であることが分かれば、図２１Ｆに示すように、ＳＴＲＬの管理枚数を６枚に変更し、ＬＴＲＬの管理枚数を０枚に変更する。なお、ランダムアクセス再生開始後に、ＬＴＲＬにピクチャを格納する必要がある時は、特別な処理として必要に応じてＳＴＲＬの管理枚数を減らしてＬＴＲＬの管理枚数を増やす処理を行ってから、そのピクチャの格納を行う。
【０２０３】
また、メモリ管理部２０６は、ランダムアクセス再生先のＳＴＲＬ及びＬＴＲＬの管理枚数の特定を試みた結果、その管理枚数が分からなければ、ＳＴＲＬの管理枚数を最大の６枚に変更し、ＬＴＲＬの管理枚数を最小の０枚に変更する。なお、その後、管理枚数が分かるまでは、ＬＴＲＬへのピクチャの格納が指示される度に、ＳＴＲＬとＬＴＲＬの管理枚数を更新して、指示されたピクチャの格納を行なう。このようなＬＴＲＬへのピクチャの格納の指示は、例えばピクチャのヘッダ情報領域にあるＭＭＣＯ（memory management control operation）に記されている。
【０２０４】
このように、本変形例では、Ｏｐｅｎ ＧＯＰへのランダムアクセスが発生した場合は、ランダムアクセス再生が発生した時の参照ピクチャリストＲＰＬの特別な管理処理として、ＳＴＲＬの全てのピクチャを「非参照」にするだけでなく、ＬＴＲＬの全てのピクチャに関しても「非参照」にした後、ＳＴＲＬ及びＬＴＲＬの管理枚数をそのランダムアクセス再生先に合わせて変更する。
【０２０５】
なお、本変形例では、ランダムアクセス再生が指定されたときには、オフセット値ＦＮＯを更新しなくてもよい。即ち、本変形例では、オフセット値ＦＮＯを更新することなく参照ピクチャリストを初期化し、上述のようにＳＴＲＬ及びＬＴＲＬの管理枚数をそのランダムアクセス再生先に合わせて変更してもよい。
【０２０６】
なお、本実施の形態及び各変形例においも、実施の形態１の変形例１と同様、Ｌ０リストの空き領域に、直前に格納されたピクチャを埋め込んでも良い。
【０２０７】
なお、本実施の形態及び各変形例においも、実施の形態１の変形例２と同様、参照可能なピクチャの枚数だけ、ランダムアクセス再生先のピクチャのピクチャ番号よりも小さなピクチャ番号を持つ仮のピクチャをＳＴＲＬ及びＬＴＲＬに挿入してもよい。
【０２０８】
（実施の形態３）
さらに、上記各実施の形態で示した画像復号化方法を実現するためのプログラムを、フレキシブルディスク等の記録媒体に記録することにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
【０２０９】
図２２Ａから図２２Ｃは、上記各実施の形態の画像復号化方法を、フレキシブルディスク等の記録媒体に記録されたプログラムを用いて、コンピュータシステムにより実施する場合の説明図である。
【０２１０】
図２２Ｂは、フレキシブルディスクＦの正面図、側面図、及びフレキシブルディスク本体ＦＤの正面図である。図２２Ａは、記録媒体本体であるフレキシブルディスク本体ＦＤの物理フォーマットの例を示している。フレキシブルディスクＦは、フレキシブルディスク本体ＦＤをケースに内蔵して構成される。フレキシブルディスク本体ＦＤの表面には、同心円状に外周からは内周に向かって複数のトラックＴｒが形成され、各トラックは角度方向に１６のセクタＳｅに分割されている。従って、上記プログラムを格納したフレキシブルディスクＦでは、上記フレキシブルディスク本体ＦＤ上に割り当てられた領域に、上記プログラムが記録されている。
【０２１１】
また、図２２Ｃは、フレキシブルディスクＦに対して上記プログラムの記録再生を行うための構成を示す。画像復号化方法を実現する上記プログラムをフレキシブルディスクＦに記録する場合は、コンピュータシステムＣｓから上記プログラムをフレキシブルディスクドライブＦＤＤを介して書き込む。また、フレキシブルディスクＦ内のプログラムにより上記画像復号化方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブＦＤＤによりプログラムをフレキシブルディスクＦから読み出し、コンピュータシステムに転送する。
【０２１２】
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ＩＣカード、ＲＯＭカセット等、プログラムを記録できるものであれば同様に実施することができる。
【０２１３】
（実施の形態４）
本実施の形態のＡＶ処理装置は、上記実施の形態１又は２で示した画像復号化方法を用いた応用的な動作を行う。
【０２１４】
図２３は、本実施の形態のＡＶ処理装置の構成を示す構成図である。
【０２１５】
このＡＶ処理装置５００は、ディジタル圧縮された音声及び画像を再生するＤＶＤプレーヤやＢＤ−ＲＯＭプレーヤなどとして構成されている。
【０２１６】
ストーム入出力部５０１は、外部からストリームexStrを取得する。画像符号化復号化部５０３は、画像の符号化及び復号化を行う。音声符号化復号化部５０４は、音声の符号化及び復号化を行う。メモリ５０５は、ストリームexStrや符号化データや復号化データなどのデータを格納する。メモリ入出力部５０６は、メモリ５０５に対してデータの格納や取出しを行う。画像処理部５０７は、画像信号に対してプレ処理及びポスト処理を行う。画像入出力部５０８は、画像処理部５０７で処理された、もしくは画像処理部５０７で処理されずに通過された画像信号を外部に画像信号exVSigとして出力する。また、画像入出力部５０８は、外部からの画像信号exVSigを取り込む。
【０２１７】
また、音声処理部５０９は、音声信号に対してプレ処理及びポスト処理を行う。音声入出力部５１０は、音声処理部５０９で処理された、もしくは音声処理部５０９で処理されずに通過だけされた音声信号を外部に音声信号exASigとして出力する。また、音声入出力部５１０は、外部からの音声信号exASigを取り込む。ＡＶ制御部５１１は、ＡＶ処理装置５００の全体の制御を行う。
【０２１８】
そして、ストリーム入出力部５０１、画像符号化復号化部５０３、音声符号化復号化部５０４、メモリ入出力部５０６、画像処理部５０７、音声処理部５０９、及びＡＶ制御部５１１は、ストリームexStrや音声・画像の復号データなどのデータを転送するバス５０２に接続されている。
【０２１９】
ここで、このようなＡＶ処理装置５００の復号化動作について説明する。まず、ストリーム入出力部exStrIFは、光ディスクなどの蓄積メディアからのデータの読み出しや、衛星放送などからのデータ受信により、音声及び画像のストリームexStrを取得する。画像符号化復号化部５０３は、そのストリームexStrから画像ストリームを抽出し、音声符号化復号化部５０４は、音声ストリームを抽出する。
【０２２０】
メモリ入出力部５０６は、画像符号化復号化部５０３によって復号化された画像データをメモリ５０５に格納する。画像処理部５０７は、メモリ５０５に格納されたデータを取り出して、ノイズ除去などの加工処理を行う。また、画像符号化復号化部５０３は、メモリ５０５に格納された画像データを再び取り出して、画面間動き補償予測の参照ピクチャとして使用する。
【０２２１】
ここで、画像符号化復号化部５０３は、実施の形態１又は２の画像復号化装置１００，２００を備える。なお、画像符号化復号化部５０３は、画像復号化装置１００，２００のピクチャメモリ１０３を備えていなくても良い。この場合、画像符号化復号化部５０３は、ピクチャメモリ１０３の代わりにメモリ５０５を使用する。また、上述の画像ストリームは実施の形態１又は２のストリームＳｔｒに相当する。
【０２２２】
一方、メモリ入出力部５０６は、音声符号化復号化部５０４によって復号化された音声データをメモリ５０５に格納する。音声処理部５０９は、メモリ５０５に格納されたデータを取得して、そのデータに対して音響などに関連する加工処理を行う。
【０２２３】
最後に、音声と画像の時間的な同期をとりながら、画像処理部５０７で加工処理されたデータは、画像入出力部５０８を介して画像信号exVSigとして出力されテレビ画面などに表示される。また、音声処理部５０９で加工処理されたデータは、音声入出力部５１０を介して音声信号exASigとして出力されスピーカなどから出力される。
【０２２４】
なお、実施の形態１又は２の画像復号化装置１００，２００が有する各構成要素は、典型的には集積回路であるＬＳＩ（Large Scale Integration）として実現される。これらは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されても良い。（例えばピクチャメモリ１０３などのメモリ以外の各構成要素が１チップ化されても良い。）
また、集積回路としてＬＳＩを挙げたが、集積度の違いにより、ＩＣ（Integrated Circuit）、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩとして実現しても良い。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて構成要素の集積化を行ってもよい。なお、バイオ技術の適応等が可能性としてありえる。
【０２２５】
また、各構成要素のうち、復号化の対象となるデータを格納するメモリ（ピクチャメモリ１０３やメモリ５０５）だけ１チップ化せずに別構成としても良い。
【産業上の利用可能性】
【０２２６】
本発明の画像復号化方法は、ランダムアクセス再生が行われたときにおいても、適切なピクチャを参照して復号化対象のピクチャを復号化することができるという効果を奏し、例えばＨ．２６４規格を用いた画像や音声を再生するＤＶＤプレーヤやＢＤ−ＲＯＭプレーヤなどに適用することができる。
【図面の簡単な説明】
【０２２７】
【図１Ａ】図１Ａは、従来のＭＰＥＧ２のストリームの構成図である。
【図１Ｂ】図１Ｂは、従来のＭＰＥＧ２のストリームの他の構成図である。
【図２】図２は、他の従来のストリームの構成図である。
【図３Ａ】図３Ａは、従来のＭＰＥＧ−２などで使用されているＧＯＰ間の参照状態の説明図である。
【図３Ｂ】図３Ｂは、従来のＭＰＥＧ−２などで使用されている他のＧＯＰ間の参照状態の説明図である。
【図４】図４は、従来の画像復号化方法を実現する画像復号化装置のブロック図である。
【図５】図５は、ピクチャ番号の生成方法例１の説明図である。
【図６】図６は、ピクチャ番号の生成方法例２の説明図である。
【図７】図７は、ピクチャ番号の生成方法例１によるＳＴＲＬの管理方法の説明図である。
【図８】図８は、ピクチャ番号の生成方法例１によって管理されるリストによって、誤動作が生じる例を説明するための説明図である。
【図９】図９は、ピクチャ番号の生成方法例２によるＳＴＲＬの管理方法の説明図である。
【図１０】図１０は、本発明の実施の形態１の画像復号化方法を実現する画像復号化装置のブロック図である。
【図１１】図１１は、同上の画像復号化装置の動作の一例を示すフロー図である。
【図１２】図１２は、同上のピクチャ番号生成部の動作を示すフロー図である。
【図１３】図１３は、同上のピクチャメモリの様子を説明するための説明図である。
【図１４】図１４は、同上の変形例１に係るＬ０リストの生成方法を説明するための説明図である。
【図１５】図１５は、同上の変形例２に係るＬ０リストおよびＬ１リストの生成方法を説明するための説明図である。
【図１６】図１６は、本発明の実施の形態２の画像復号化方法を実現する画像復号化装置のブロック図である。
【図１７】図１７は、同上の画像復号化装置の動作の一例を示すフロー図である。
【図１８】図１８は、同上のピクチャ番号生成部の動作を示すフロー図である。
【図１９】図１９は、同上の変形例１に係る参照ピクチャリスト（ＳＴＲＬ）の管理方法を説明するための説明図である。
【図２０Ａ】図２０Ａは、同上の変形例１に係るメモリ管理部が付与対象のピクチャに対してＲＡＩＤ番号を付与する動作を示すフロー図である。
【図２０Ｂ】図２０Ｂは、同上の変形例１に係るメモリ管理部が参照ピクチャリストに格納されたピクチャの中から破棄されるピクチャを選択する動作を示すフロー図である。
【図２１Ａ】図２１Ａは、同上の変形例２における参照ピクチャリストの状態を示す図である。
【図２１Ｂ】図２１Ｂは、同上の変形例２における参照ピクチャリストの他の状態を示す図である。
【図２１Ｃ】図２１Ｃは、同上の変形例２における参照ピクチャリストのさらに他の状態を示す図である。
【図２１Ｄ】図２１Ｄは、同上の変形例２における参照ピクチャリストのさらに他の状態を示す図である。
【図２１Ｅ】図２１Ｅは、同上の変形例２における参照ピクチャリストのさらに他の状態を示す図である。
【図２１Ｆ】図２１Ｆは、同上の変形例２における参照ピクチャリストのさらに他の状態を示す図である。
【図２２Ａ】図２２Ａは、実施の形態１及び２の画像復号化方法を、フレキシブルディスク等の記録媒体に記録されたプログラムを用いて、コンピュータシステムにより実施する場合の説明図である。
【図２２Ｂ】図２２Ｂは、実施の形態１及び２の画像復号化方法を、フレキシブルディスク等の記録媒体に記録されたプログラムを用いて、コンピュータシステムにより実施する場合の他の説明図である。
【図２２Ｃ】図２２Ｃは、実施の形態１及び２の画像復号化方法を、フレキシブルディスク等の記録媒体に記録されたプログラムを用いて、コンピュータシステムにより実施する場合のさらに他の説明図である。
【図２３】図２３は、本実施の形態４のＡＶ処理装置の構成を示す構成図である。
【符号の説明】
【０２２８】
１００    画像復号化装置
１０１    可変長復号化部
１０２    動き補償部
１０３    ピクチャメモリ
１０４    加算部
１０５    変換部
１０６    メモリ管理部
１０７    ピクチャ番号生成部
１０８    再生判別部
Ｐｉｃ    ピクチャ
ＲＡＰ    ランダムアクセスポイント
ＰＮ      ピクチャ番号
ＳＴＲＬ    ショートタームリファレンスリスト
ＬＴＲＬ    ロングタームリファレンスリスト
ＲＰＬ    参照ピクチャリスト
Ｓｔｒ    ストリーム
Ｑｃｏ    量子化値
Ｉｎｄ    相対インデックス
Ｐｔｙ    ピクチャタイプ
ＭＶ    動きベクトル
Ｖｏｕｔ    復元画像
【図１Ａ】
0004769717.tif 000002
【図１Ｂ】
0004769717.tif 000003
【図２】
0004769717.tif 000004
【図３Ａ】
0004769717.tif 000005
【図３Ｂ】
0004769717.tif 000006
【図４】
0004769717.tif 000007
【図５】
0004769717.tif 000008
【図６】
0004769717.tif 000009
【図７】
0004769717.tif 000010
【図８】
0004769717.tif 000011
【図９】
0004769717.tif 000012
【図１０】
0004769717.tif 000013
【図１１】
0004769717.tif 000014
【図１２】
0004769717.tif 000015
【図１３】
0004769717.tif 000016
【図１４】
0004769717.tif 000017
【図１５】
0004769717.tif 000018
【図１６】
0004769717.tif 000019
【図１７】
0004769717.tif 000020
【図１８】
0004769717.tif 000021
【図１９】
0004769717.tif 000022
【図２０Ａ】
0004769717.tif 000023
【図２０Ｂ】
0004769717.tif 000024
【図２１Ａ】
0004769717.tif 000025
【図２１Ｂ】
0004769717.tif 000026
【図２１Ｃ】
0004769717.tif 000027
【図２１Ｄ】
0004769717.tif 000028
【図２１Ｅ】
0004769717.tif 000029
【図２１Ｆ】
0004769717.tif 000030
【図２２Ａ】
0004769717.tif 000031
【図２２Ｂ】
0004769717.tif 000032
【図２２Ｃ】
0004769717.tif 000033
【図２３】
0004769717.tif 000034