(57)【特許請求の範囲】
【請求項１】
参照画像データを格納する内部メモリと，
入力されるビデオストリームに含まれる各ピクチャの参照ピクチャ識別情報と動きベクトル情報に基づいて前記参照画像データを取得して前記ピクチャの復号画像データを生成するインター予測処理部と，
前記参照ピクチャ識別情報に対応する複数の参照ピクチャの復号画像データを外部メモリから読み出し，前記複数の参照ピクチャそれぞれと処理対象ピクチャとの前記ビデオストリームでの時間的間隔に応じたデータ容量比で，前記外部メモリから読み出した前記参照ピクチャの復号画像データを前記参照画像データとして前記内部メモリに格納するプリフェッチ制御部とを有し，
前記ピクチャは，復号処理で後方ピクチャの参照画像データは参照されず前方ピクチャの参照画像データが参照される第１のピクチャと，前記復号処理で前記後方ピクチャの参照画像データと前方ピクチャの参照画像データが参照可能な第２のピクチャとを有し，
前記プリフェッチ制御部は，処理対象の前記第２のピクチャの参照ピクチャ識別情報と，前記処理対象の第２のピクチャの後の前記第１のピクチャの参照ピクチャ識別情報とが，同じ前方ピクチャを有する場合には，前記処理対象の第２のピクチャの参照ピクチャ識別情報に対応する前記参照ピクチャの復号画像データを，前記時間的間隔に応じたデータ容量比で前記内部メモリに格納し，前記同じ前方ピクチャを参照しない場合には，前記時間的間隔に応じないデータ容量比で前記内部メモリに格納する動画像復号装置。
【請求項２】
参照画像データを格納する内部メモリと，
入力されるビデオストリームに含まれる各ピクチャの参照ピクチャ識別情報と動きベクトル情報に基づいて前記参照画像データを取得して前記ピクチャの復号画像データを生成するインター予測処理部と，
前記参照ピクチャ識別情報に対応する複数の参照ピクチャの復号画像データを外部メモリから読み出し，前記複数の参照ピクチャそれぞれと処理対象ピクチャとの前記ビデオストリームでの時間的間隔に応じたデータ容量比で，前記外部メモリから読み出した前記参照ピクチャの復号画像データを前記参照画像データとして前記内部メモリに格納するプリフェッチ制御部とを有し，
前記ピクチャは，復号処理で後方ピクチャの参照画像データは参照されず前方ピクチャの参照画像データが参照される第１のピクチャと，前記復号処理で前記後方ピクチャの参照画像データと前方ピクチャの参照画像データが参照可能な第２のピクチャとを有し，
前記プリフェッチ制御部は，処理対象の前記第２のピクチャの参照ピクチャ識別情報が前記前方ピクチャと前記後方ピクチャとを有し，前記処理対象の第２のピクチャの後方の前記第１のピクチャの参照ピクチャ識別情報が前記処理対象の第２のピクチャの参照ピクチャ識別情報の前方ピクチャを有する場合には，前記処理対象の第２のピクチャの参照ピクチャ識別情報に対応する前記参照ピクチャの復号画像データを，前記時間的間隔に比例したデータ容量比で且つ前記第１のピクチャの参照ピクチャと同じ参照ピクチャの復号画像データは前記時間的間隔に比例したデータ容量比より高いデータ容量比で，前記内部メモリに格納する動画像復号装置。
【請求項３】
請求項１または２において，
前記時間的間隔に応じたデータ容量比は，第１の時間的間隔の場合に第１のデータ容量であり，前記第１の時間的間隔より長い第２の時間的間隔の場合に前記第１のデータ容量より大きい第２のデータ容量である動画像復号装置。
【請求項４】
請求項１において，
前記時間的間隔に応じたデータ容量比は，前記時間的間隔に比例したデータ容量比である動画像復号装置。
【請求項５】
請求項１乃至４のいずれかにおいて，
前記インター予測処理部は，当該インター予測処理対象のピクチャ内の複数のブロックをラスタスキャン順にインター予測処理をし，
前記プリフェッチ制御部は，前記参照ピクチャ識別情報に対応する前記参照ピクチャの復号画像データのうち，前記インター予測処理対象のピクチャ内の処理対象ブロックが属するブロック行の上下所定ブロック行数の復号画像データを前記内部メモリに格納し，さらに，前記処理対象ブロックの直前に処理された複数ブロックの動きベクトルの平均方向に対応して，上下のブロック行数のうち当該平均方向に対応するブロック行数をより多くするように前記復号画像データを前記内部メモリに格納する上下のブロック行数を変更する動画像復号装置。
【請求項６】
入力されるビデオストリームに含まれる各ピクチャの参照ピクチャ識別情報と動きベクトル情報に基づいて内部メモリに格納された参照画像データを取得して前記ピクチャの復号画像データを生成するインター予測処理工程と，
前記参照ピクチャ識別情報に対応する複数の参照ピクチャの復号画像データを外部メモリから読み出し，前記複数の参照ピクチャそれぞれと処理対象ピクチャとの前記ビデオストリームでの時間的間隔に応じたデータ容量比で，前記外部メモリから読み出した前記参照ピクチャの復号画像データを前記参照画像データとして前記内部メモリに格納するプリフェッチ制御工程とを有し，
前記ピクチャは，復号処理で後方ピクチャの参照画像データは参照されず前方ピクチャの参照画像データが参照される第１のピクチャと，前記復号処理で前記後方ピクチャの参照画像データと前方ピクチャの参照画像データが参照可能な第２のピクチャとを有し，
前記プリフェッチ制御工程では，処理対象の前記第２のピクチャの参照ピクチャ識別情報と，前記処理対象の第２のピクチャの後の前記第１のピクチャの参照ピクチャ識別情報とが，同じ前方ピクチャを有する場合には，前記処理対象の第２のピクチャの参照ピクチャ識別情報に対応する前記参照ピクチャの復号画像データを，前記時間的間隔に応じたデータ容量比で前記内部メモリに格納し，前記同じ前方ピクチャを参照しない場合には，前記時間的間隔に応じないデータ容量比で前記内部メモリに格納する動画像復号方法。
【請求項７】
入力されるビデオストリームに含まれる各ピクチャの参照ピクチャ識別情報と動きベクトル情報に基づいて内部メモリに格納された参照画像データを取得して前記ピクチャの復号画像データを生成するインター予測処理工程と，
前記参照ピクチャ識別情報に対応する複数の参照ピクチャの復号画像データを外部メモリから読み出し，前記複数の参照ピクチャそれぞれと処理対象ピクチャとの前記ビデオストリームでの時間的間隔に応じたデータ容量比で，前記外部メモリから読み出した前記参照ピクチャの復号画像データを前記参照画像データとして前記内部メモリに格納するプリフェッチ制御工程とを有し，
前記ピクチャは，復号処理で後方ピクチャの参照画像データは参照されず前方ピクチャの参照画像データが参照される第１のピクチャと，前記復号処理で前記後方ピクチャの参照画像データと前方ピクチャの参照画像データが参照可能な第２のピクチャとを有し，
前記プリフェッチ制御工程では，処理対象の前記第２のピクチャの参照ピクチャ識別情報が前記前方ピクチャと前記後方ピクチャとを有し，前記処理対象の第２のピクチャの後方の前記第１のピクチャの参照ピクチャ識別情報が前記処理対象の第２のピクチャの参照ピクチャ識別情報の前方ピクチャを有する場合には，前記処理対象の第２のピクチャの参照ピクチャ識別情報に対応する前記参照ピクチャの復号画像データを，前記時間的間隔に比例したデータ容量比で且つ前記第１のピクチャの参照ピクチャと同じ参照ピクチャの復号画像データは前記時間的間隔に比例したデータ容量比より高いデータ容量比で，前記内部メモリに格納する動画像復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，動画像復号装置及び動画像復号方法に関する。
【背景技術】
【０００２】
動画像を圧縮する情報圧縮技術として，MPEG-2ビデオ(Moving Picture Experts Group)やH.264などの画像圧縮規格が広く知られている。これらの画像圧縮規格による画像処理装置は，イメージセンサ等で取得した原画像データを符号化してビデオストリームを生成する符号化装置と，ビデオストリームを復号して復号画像データを生成する復号装置とがある。動画像の符号化装置，復号装置については，例えば以下の特許文献に記載されている。
【０００３】
近年のビデオカメラやデジタルカメラは，動画機能の性能が目覚ましく向上し，HDTV(High Definition Television)画像（1920×1080画素）を30フレーム／秒で処理するのが一般的になっている。
【０００４】
動画像符号化装置は，原画像データを入力して一旦外部メモリのフレームメモリに格納し，フレームメモリから原画像データと参照画像データとを読み出し，両者を比較して動きベクトルを求めてインター予測モードの符号化を行う。さらに，インター予測モードとイントラ予測モードのいずれかを決定し，決定した予測モードで生成した予測画像と原画像との差分データを生成し，差分データを圧縮してビデオストリームを出力する。また，符号化装置では，ビデオストリームで採用した予測モードで復号してローカルデコード画像と呼ばれる復号画像データを生成して，それをフレームメモリに格納し，PピクチャやBピクチャの符号化処理の参照画像データとして利用する。
【０００５】
一方，動画像復号装置は，ビデオストリームを入力し，それに含まれている予測モードや動きベクトル等に基づいて復号画像である参照画像データから予測画像データを生成し，予測画像データにストリームデータに含まれている差分データを加算して復号画像データを生成し，復号画像データをフレームメモリに格納する。この復号画像データが復号出力として出力されるとともに，後のピクチャの復号処理で参照画像データとして利用される。
【０００６】
以下，画像処理装置の処理対象は一般にデータであるが，簡単のために，原画像データ，予測画像データ，復号画像データ，参照画像データを，単に原画像，予測画像，復号画像，参照画像と称する場合がある。また，ピクチャはしばしば面と称することがある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−２７０６８３号公報
【特許文献２】特開２００８−２７８４２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
動画像復号装置では，インター予測処理において，参照面識別子と動きベクトルに基づいて復号ずみの参照面（参照ピクチャ）の参照画像をメモリから取得する。このインター予測処理における参照画像のメモリアクセスは，動画像復号装置において大きな工数を占める。特に，SDRAMなどの外部メモリであるフレームメモリへのアクセスは，リフレッシュ制御や他のリソースからのアクセスとの競合により，しばしば読み出しが待たされる場合がある。一方，インター予測処理での参照画像のアクセスでは同じ場所の参照画像を繰り返し読み出すことが頻繁に発生する。
【０００９】
そこで，予測画像データを生成する前にあらかじめ，SDRAMなどの外部メモリのフレームメモリからSRAMなどの高速の内部メモリであるプリフェッチメモリに復号画像をプリフェッチしておくことが有効である。そして，インター予測処理では，参照画像が含まれる参照面（参照ピクチャ）の識別情報と，その参照面内の参照画像の位置を示す動きベクトルとに基づいて，参照画像のアクセスをプリフェッチメモリに対して行い，ヒットした場合はプリフェッチメモリから読み出し，ヒットしなかった場合に外部メモリから読み出す。このヒット率を向上させることができれば，外部メモリへの帯域が削減でき，画像装置全体の性能が向上する。
【００１０】
しかしながら，高速内部メモリであるプリフェッチメモリの記憶容量は，コストの問題から自ずと限界がある。そのため，あらかじめプリフェッチメモリに格納しておく復号画像データのデータ量にも限界があり，ヒット率を向上させることは容易ではない。
【００１１】
そこで，本発明の目的は，ヒット率を向上させるプリフェッチメモリへのプリフェッチ制御を行う動画像復号装置及び動画像復号方法を提供することにある。
【課題を解決するための手段】
【００１２】
動画像復号装置の第１の側面は，入力されるビデオストリームに含まれる各ピクチャの参照ピクチャ識別情報と動きベクトル情報に基づいて参照画像データを取得して前記ピクチャの復号画像データを生成するインター予測処理部と，
前記参照画像データを格納するプリフェッチメモリと，
前記ピクチャのインター予測処理のために，外部メモリから前記復号画像データを読み出して前記参照画像データとして前記プリフェッチメモリに格納するプリフェッチ制御部とを有し，
前記プリフェッチ制御部は，前記参照ピクチャ識別情報に対応する参照ピクチャの復号画像データを前記外部メモリから読み出して，前記参照ピクチャと処理対象ピクチャとの前記ビデオストリームでの時間的間隔に応じたデータ容量比で，前記プリフェッチメモリに格納する。
【発明の効果】
【００１３】
第１の側面によれば，インター予測処理において参照画像データのプリフェッチメモリのヒット率を向上させることができる。
【図面の簡単な説明】
【００１４】
【図１】動画像の復号装置の構成図である。
【図２】インター予測処理とプリフェッチ制御とを説明する復号装置の構成図である。
【図３】復号装置３０によるピクチャの処理順番を示す図である。
【図４】ピクチャ内のマクロブロックMBの処理順番と動きベクトルMV復元処理とを示す図である。
【図５】インター予測処理部での復号画像生成部３９の処理を説明する図である。
【図６】プリフェッチする参照ピクチャの割当を説明する図である。
【図７】参照ピクチャ内でプリフェッチする画像領域の更新を説明する図である。
【図８】参照ピクチャの問題点を示す図である。
【図９】自然な動画の一例を示す図である。
【図１０】参照ピクチャ内のプリフェッチ領域について説明する図である。
【図１１】本実施の形態における動画像復号装置の処理のフローチャート図である。
【図１２】プリフェッチ制御回路による参照面数を決める処理のフローチャート図である。
【図１３】参照先の類型別の条件パラメータを示す図である。
【図１４】ケース１のプリフェッチ面数が１面の場合の参照面のデータ量の制御のフローチャート図である。
【図１５】図１４で特定された参照面の５つの例（ケース１-１乃至１-５）を示す図である。
【図１６】図１６は，ケース２のプリフェッチ面数が２面の場合の参照面のデータ量の制御のフローチャート図である。
【図１７】図１６で特定された参照面の９つの例（ケース2-0-1乃至2-2-4）を示す図である。
【図１８】図１６で特定された参照面の９つの例（ケース2-0-1乃至2-2-4）を示す図である。
【図１９】図１６で特定された参照面の９つの例（ケース2-0-1乃至2-2-4）を示す図である。
【図２０】ケース３のプリフェッチ面数が３面の場合の参照面のデータ量の制御のフローチャート図である。
【図２１】図２０で特定された参照面の６つの例（ケース3-1-1乃至3-2-3と3-2-1乃至3-2-3）を示す図である。
【図２２】処理対象マクロブロック行に対する直前のマクロブロック行の動きベクトルの傾向を監視する方法を示す図である。
【図２３】本実施の形態における各参照ピクチャ内のプリフェッチ領域の更新制御を説明する図である。
【図２４】プリフェッチ制御回路による参照ピクチャ内のプリフェッチ領域の更新制御を示すフローチャート図である。
【発明を実施するための形態】
【００１５】
図１は，動画像の復号装置の構成図である。復号装置３０は，動画像データであるビデオストリーム１０を入力し復号処理を行い，復号画像データをSDRAM等の大容量の外部メモリ２０に格納する。すなわち，外部メモリ２０はフレームメモリの領域を有する。そして，復号装置３０は，例えばLSIチップで構成される。
【００１６】
復号装置３０は，可変長復号などを行う復号部３１と，処理対象ピクチャとは異なるピクチャの復号画像を参照して処理対象ピクチャの復号画像を生成するインター予測処理部３２と，イントラ予測など他の処理で復号画像を生成する他の処理部３６とを有する。インター予測部３２は，復号画像の生成に際して，外部メモリ２０に格納された他のピクチャの復号画像を参照する。そのために，プリフェッチ制御回路３３が外部メモリ２０にアクセスしてあらかじめ他のピクチャの復号画像を読み出し，SRAMなどの高速の内部メモリであるプリフェッチメモリ３４に参照画像として格納する。そして，インター予測部３２が参照する復号画像のアクセスはまずプリフェッチメモリ３４に行い，ヒットすればプリフェッチメモリ３４からその復号画像を参照画像として読み出し，ヒットしなければ外部メモリ２０内のフレームメモリから復号画像を参照画像として読み出す。プリフェッチ制御回路３３は，上記のようなプリフェッチメモリのヒット判定と外部メモリ２０へのプリフェッチ制御とを行う。
【００１７】
SDRAMの外部メモリ２０は，他のアクセスとの競合やSDRAMに固有のリフレッシュ動作などにより，アクセス時間が内部メモリと比較すると長くなる。したがって，上記のプリフェッチメモリでのヒット率を向上させることで，SDRAMである外部メモリ３０への帯域を抑制することができる。
【００１８】
図２は，インター予測処理とプリフェッチ制御とを説明する復号装置の構成図である。図３は，復号装置３０によるピクチャの処理順番を示す図である。図３において左方向が時間軸である。一例として規格H.264のビデオストリームの復号処理を説明する。
【００１９】
図３に示されるとおり，ビデオストリーム１０は，Iピクチャ，Pピクチャ，Bピクチャ，Bピクチャ，Pピクチャ，Bピクチャ，Bピクチャの順番で入力され，それらの復号処理の順番は（１）-（７）である。原画像の順番は，図３中の復号画像に示されるとおり，I,B,B,P,B,B,Pのように，IまたはPピクチャ（以下I/Pピクチャと称する）がBピクチャの時間的に前方と後方に配置されている。
【００２０】
ここで，Iピクチャは，画面内予測（イントラ予測）を行うピクチャであり他のピクチャを参照しない。Pピクチャは，画面間予測（インター予測）またはイントラ予測を行うピクチャでありインター予測の場合に時間的に前方のI/Pピクチャを参照可能である。そして，Bピクチャは，インター予測またはイントラ予測を行うピクチャでありインター予測の場合に時間的に前方，後方，または双方向のピクチャを参照可能である。したがって，Bピクチャが後方参照する可能性があるそのBピクチャより後方のI/Pピクチャが，そのBピクチャより先に復号処理されて，そのBピクチャのインター予測処理でI/Pピクチャの復号画像を参照できるようになっている。
【００２１】
図２に示される可変長復号部３１は，ビデオストリーム１０のピクチャの順番（１）-（７）に，可変長復号処理を行って，各ピクチャの，I,P,Bピクチャのいずれかを示すスライス(Slice)タイプと，ピクチャ内の複数のマクロブロック（MB）のインター予測かイントラ予測かの判定結果を示すMBタイプと，マクロブロックの参照面（参照ピクチャ）を表す参照面識別子（参照ピクチャ識別情報）REFIDXL0（前方参照の識別子），REFIDXL1（後方参照の識別子）と，差分ベクトル情報MVDとを抽出する。そして，差分ベクトル情報MVDと参照面識別子REFIDXL0/L1とは，インター予測処理部３２に供給される。
【００２２】
図２の復号装置３０は，インター予測処理部３２とイントラ予測処理部３６とを有し，各マクロブロック毎に，符号化処理で採用された予測判定に基づいて，インター予測またはイントラ予測のいずれかを行う。本実施の形態の説明ではインター予測処理部３２について詳述する。インター予測処理とは，PピクチャまたはBピクチャを復号する処理であり，復号順の過去に復号したピクチャの画像を参照し，現在処理中のピクチャの現在処理中のマクロブロックMBの画像をその参照画像から生成する処理である。
【００２３】
図３に示されるとおり，インター予測処理部３２は，PピクチャとBピクチャとを順番（２）-（７）で，動きベクトル（MV）復元処理３８と復号画像生成処理３９とを行う。なお，順番（１）はIピクチャであるので，イントラ予測処理部３６にて他のピクチャを参照せずに復号画像が生成され，外部メモリ２０内のフレームバッファ内に格納される。以下，動きベクトル復元処理３８と，復号画像生成処理３９について説明する。
【００２４】
図４は，ピクチャ内のマクロブロックMBの処理順番と動きベクトルMV復元処理とを示す図である。図４に示されるとおり，１つのピクチャはラスタスキャン方向に配置された複数のマクロブロックMB毎に復号処理される。マクロブロックMVはたとえば水平方向１６画素，垂直方向１６画素の画素マトリクスである。
【００２５】
次に，差分ベクトル情報MVDは，現在処理中のマクロブロックCuの動きベクトルMVと，その現在処理中のマクロブロックCuの前に処理済みの周囲のマクロブロックA,B,Cの動きベクトルの中間値との差分ベクトルである。大部分の動画像では周囲のマクロブロックとは同じ動きベクトルになることが多いので，符号化処理では，各マクロブロックMBの動きベクトルではなく，それよりデータ量が少なくなる蓋然性が高い差分ベクトル情報MVDをビデオストリームに含めている。
【００２６】
そこで，動きベクトル(MV)復元処理部３８では，現在処理中のマクロブロックMBの差分ベクトル情報MVDに，周辺のマクロブロックMBの復元済み動きベクトルMVA,MVB,MVCの中間値MVPを加算して，以下の式のように動きベクトルMVを復元する。
MV=MVD+MVP
すなわち，図２に示されるとおり，MV復元処理部３８は，現在処理中のマクロブロックCuに隣接する周囲のマクロブロックA,B,Cの位置を算出し，それらマクロブロックの復元済み動きベクトルの中間値MVPを演算し，処理中のマクロブロックCuの動きベクトルMVを上記の式で計算する。
【００２７】
次に，インター予測処理部３２内の復号画像生成部３９は，処理中のピクチャ内の処理中のマクロブロック毎に，参照画像のフレームバッファ内の取得位置を計算し，参照画像の読み出しを実行し，読み出した参照画像を動きベクトルの小数点に応じてフィルタ処理を行い，処理中のマクロブロックの復号画像として，外部メモリ２０内のフレームバッファ内に格納する。
【００２８】
図５は，インター予測処理部での復号画像生成部３９の処理を説明する図である。図５の左側のPピクチャでは，マクロブロックMBの復号処理で，復号画像の時間的に前方のI/Pピクチャを参照（前方参照）して，参照ピクチャ内の動きベクトルMVに対応する位置の復号画像（水平方向／垂直方向１６画素の画像）を参照画像として読み出す。つまり，読み出すべき参照画像は，参照ピクチャ識別子REFIDXに対応するピクチャ内における動きベクトルMVの位置の復号画像になる。H.264の規格では，前方参照の場合の参照ピクチャインデックス（識別子）はL0であり，直前のI/Pピクチャであれば識別子はL0(0),２つ前方のI/Pピクチャであれば識別子はL0(1)である。
【００２９】
図５の右側のBピクチャでは，マクロブロックMBの復号処理で，復号画像の時間的に前方のI/Pピクチャを参照（前方参照）及び／または後方のI/Pピクチャを参照（後方参照）して，参照ピクセル内の動きベクトルMVに対応する位置の復号画像を参照画像として読み出す。つまり，読み出すべき参照画像は，参照ピクチャ識別子REFIDXに対応するピクチャ内における動きベクトルMVの位置の復号画像になる。H.264の規格では，前方参照の識別子は前述と同じであり，後方参照の識別子はL1であり，直前のI/Pピクチャであれば識別子はL1(0),２つ前方のI/Pピクチャであれば識別子はL1(1)である。
【００３０】
したがって，インター予測処理内の復号画像生成部３９は，各マクロブロックについて，その参照ピクチャ識別子REFIDXに対応する参照ピクチャ内の，復元した動きベクトルMVの位置にある復号画像を内部メモリであるプリフェッチメモリ３４または外部メモリ２０内のフレームバッファから読み出す。
【００３１】
次に，プリフェッチ制御について説明する。図６は，プリフェッチする参照ピクチャの割当を説明する図である。そして，図７は，参照ピクチャ内でプリフェッチする画像領域の更新を説明する図である。
【００３２】
図６の左側に示されるとおり，Pピクチャの復号処理でのインター予測処理では，前方の２つのI/Pピクチャを参照する可能性がある。そこで，プリフェッチ制御回路３３は，参照ピクチャ識別子RefidxL0(0),L0(1)に対応するI/Pピクチャ内の復号画像を外部メモリ２０内のフレームバッファから読み出してプリフェッチメモリ３４に格納する。後述するとおり，参照されるI/Pピクチャ内の全ての復号画像ではなく，処理対象のマクロブロックの行の上下所定MB行数の復号画像をプリフェッチメモリ３４に格納するのが一般的である。
【００３３】
そして，２つのI/Pピクチャ内の復号画像のプリフェッチメモリ３４内のデータ容量は，例えば均等にしてどのような参照ピクチャ識別子と動きベクトルに対しても或る程度のヒット率が得られるようにされる。
【００３４】
また，図６の右側に示されるとおり，Bピクチャの復号処理でのインター予測処理では，前方の２つのI/Pピクチャと，後方の１つまたは２つのI/Pピクチャを参照する可能性がある。したがって，プリフェッチ制御回路３３は，参照ピクチャ識別子RefidxL0(0)，L0(1)，L1(0)，L1(1)に対応する４つのI/Pピクチャ内の復号画像を外部メモリ２０内のフレームバッファから読み出してプリフェッチメモリ３４に格納する。この場合も，４つのI/Pピクチャ内の復号画像のプリフェッチメモリ３４内のデータ容量は一般に均等にされる。
【００３５】
図７に示した参照ピクチャ内でプリフェッチする画像領域の更新では，参照ピクチャ内の現在処理中のマクロブロックCuと，それに対するプリフェッチされる領域４０とが示されている。図７の左から右へ（１）（２）（３）の順にプリフェッチされる領域４０が更新される。図７（１）に示されるように，一般に，処理中のマクロブロックCuが属するMB行４２と，その上の数MB行４１と，その下の数MB行４３とが，プリフェッチされる領域４０である。一般に，動きベクトルMVの内容を確認せずにインター予測処理が行われるため，そして，処理対象のマクロブロックCuの動きベクトルが上下いずれの方向になってもプリフェッチメモリでヒットする蓋然性を高くする為に，このようなプリフェッチ領域４０にされている。
【００３６】
そして，図７（１）のMB行４２に属する全てのマクロブロックのインター処理が完了すると，図７（２）のように最上MB行４４が削除され，代わりに最下MB行４５がプリフェッチされ格納される。つまり，現在処理中のMBの行４２が更新されると，プリフェッチ領域４０も更新される。これがプリフェッチする画像領域の更新処理である。同様に，図７（２）でMB行４２のマクロブロックの処理が完了すると、図７（３）のように新たなMB行４５の復号画像が更新される。
【００３７】
［本実施の形態が解決するプリフェッチ制御］
図８は，参照ピクチャの問題点を示す図である。図８では，Pピクチャは前方の１または２面のI/Pピクチャを参照し，Bピクチャは前方の１もしくは２面のI/Pピクチャまたは後方の１面のI/Pピクチャを参照する例である。前述のとおり，プリフェッチ制御回路３３が，参照する可能性のある前方または後方のI/Pピクチャの復号画像をプリフェッチしてプリフェッチメモリ３４に格納すると，参照ピクチャ識別子が示す参照ピクチャに偏りが発生し，極端な場合にあるI/Pピクチャが全く参照されない，またはほとんど参照されない場合には，無駄なプリフェッチ領域の復号画像をプリフェッチメモリに格納することになり，プリフェッチ制御の効果が高くない場合がある。
【００３８】
図８のケース１では，Pピクチャのインター予測処理で，直前のI/Pピクチャ（RefidxL0(0)）よりさらに１つ前方のI/Pピクチャ(RefidxL0(1))への参照が圧倒的に多い。ケース２では，Bピクチャのインター予測処理で，直前のI/Pピクチャ（RefidxL0(0)）への参照が他のI/Pピクチャへの参照より圧倒的に多い。ケース３では，Bピクチャのインター予測処理で，直前のI/Pピクチャ（RefidxL0(0)）と直後のI/Pピクチャ（RefidxL1(0)）への参照が同等で，且つ他のI/Pピクチャへ(RefidxL0(1))の参照より圧倒的に多い。しかし，ケース４では，Bピクチャのインター予測処理で，前方２つのI/Pピクチャ（RefidxL0(0)，RefidxL0(1)）と直後のI/Pピクチャ（RefidxL1(0)）への参照が同等である。
【００３９】
ケース４の場合は，図６に示したように可能性のある参照ピクチャのプリフェッチデータ容量を均等にしておけばヒット率を有る程度高くすることができるが，ケース１，２，３の場合は，可能性のある参照ピクチャのプリフェッチデータ容量を均等にすると逆にヒット率が低下し，外部メモリ２０へのアクセスが発生し，処理効率が低下する。
【００４０】
そこで，本実施の形態では，プリフェッチ制御回路３３が，処理対象のピクチャ内の全マクロブロックの参照ピクセル識別子を集計して，参照画像のアクセス効率が最も高くなるようにプリフェッチすべきピクチャを決定する。
【００４１】
図９は，自然な動画の一例を示す図である。図９には，２つのI/PピクチャI/P1,I/P2とBピクチャとさらに２つのI/PピクチャI/P3,I/P4内の上から下に移動する画像が含まれているマクロブロックCu1,Cu2,Cu,Cu3,Cu4が示されている。このような自然の動画の場合，Bピクチャの現在処理中のマクロブロックCuのインター予測処理では，前方の２つのI/PピクチャI/P1,I/P2内の画像ブロックCu1,Cu2への動きベクトルにしたがって参照画像が読み出される。さらに，最後方のI/PピクチャI/P4のマクロブロックCu4のインター予測処理でも，前方の１つのI/PピクチャI/P2内の画像ブロックCu2への動きベクトルにしたがって参照画像が読み出される。つまり，５つのピクチャ内の画像ブロックCu1,Cu2,Cu,Cu3,Cu4は，時間と共に一定方向に移動する時間的相関性が高い画像である。
【００４２】
このような場合，Bピクチャのインター予測処理では，直前のI/PピクチャI/P2内の画像ブロックCu2よりもその前方のI/PピクチャI/P1内の画像ブロックCu1への動きベクトルのほうが大きい。したがって，プリフェッチ領域は，Bピクチャより時間的により離れているI/PピクチャI/P1のほうが時間的により近いI/PピクチャI/P2よりも広くすることで，プリフェッチメモリでのヒット率を向上させることができる。
【００４３】
そこで，本実施の形態では，プリフェッチ制御回路が，処理対象のピクチャとそれから参照される参照ピクチャとが，図９のような時間的な相関性が高い動画か否かを監視し，その場合は，処理対象のピクチャと参照ピクチャとの時間差（時間的間隔）に対応したデータ容量比で，参照ピクチャの復号画像をプリフェッチメモリ内に格納する。
【００４４】
図１０は，参照ピクチャ内のプリフェッチ領域について説明する図である。図１０中，参照ピクチャ内の現在処理中のマクロブロックCuとそれが属するMB行４２と，プリフェッチ領域４０とが示されている。また，図１０中の矢印は現在処理中のMB行４２内のマクロブロックの動きベクトルを示している。
【００４５】
図７で説明したとおり，一般的には，参照ピクチャ内のプリフェッチ領域４０は，現在処理中のマクロブロックCuのMB行４２の上下に同じ行数のMB行の復号画像がプリフェッチされている。その場合，図１０（１）の例では，処理対象MB行４２内のマクロブロックの動きベクトルMVの上下方向が同等の場合は，図７のように上下に同数のMB行の復号画像をプリフェッチすればヒット率が向上する。しかし，図１０（２）の例のように，動きベクトルMVが上方向のほうが多い場合や，図１０（３）の例のように，動きベクトルMVが下方向のほうが多い場合は，逆にヒット率は低下する。
【００４６】
そこで，本実施の形態では，プリフェッチ制御回路は，動きベクトルMVの傾向を予めチェックし，その動きベクトルの方向に対応したプリフェッチ領域をより広くする。
【００４７】
［本実施の形態］
図１１は，本実施の形態における動画像復号装置の処理のフローチャート図である。動画像復号装置の構成は，図１，２と同様である。図１１において，まず，動画像復号装置３０は，ビデオストリームを入力し（S10），可変長復号部３１がベデオストリームの１ピクチャ分のデータを可変長復号して，１ピクチャ内のマクロブロックMBの差分ベクトル情報MVDと参照ピクチャ識別子REFIDXとを抽出する。そして，プリフェッチ制御回路３３が，その抽出した参照ピクチャ識別子REFIDXに基づいて参照面数を決定し（S14），参照面が複数の場合は参照面に対応するプリフェッチメモリ内のデータ容量を決定する（S16）。
【００４８】
参照面数の決定は，１ピクチャ内の全てのマクロブロックの参照ピクチャ識別子を集計し，所定基準値以上参照されている参照ピクチャを特定して，参照面数を決定する。つまり，ピクチャ単位でプリフェッチする参照面数を決定する。この特定された参照ピクチャの復号画像がプリフェッチメモリに格納される。本実施の形態では，参照するピクチャ数が多い前方参照１面目，前方参照尾２面目，後方参照１面目の合計３面までとする。具体的には後述する。
【００４９】
また，参照ピクチャに対応するプリフェッチメモリ内のデータ容量の決定は，PピクチャとBピクチャとが同じI/Pピクチャを参照しているような時間的相関が強い場合に，参照ピクチャ間の容量比が処理対象のピクチャと参照ピクチャとの時間間隔の比率になるようにする。具体的には後述する。
【００５０】
さらに，動画像復号装置３０内のインター予測処理部３２は，１つのピクチャ内の複数のマクロブロックをラスタスキャンの順番で，前述した動きベクトルMVの復元処理（S22）と，参照ピクチャ識別子REFIDXと動きベクトルMVに対応する参照画像をプリフェッチメモリまたは外部メモリ内のフレームバッファから読み出し復号画像を生成する（S24）。
【００５１】
復元処理S22と復号画像生成S24と平行して，プリフェッチ制御回路３３が，処理対象のマクロブロックがマクロブロック行の先頭になる度に（S18のY），プリフェッチメモリ３４に格納されている参照ピクチャの復号画像を更新する。後で詳述するが，処理対象のマクロブロック行より前に処理されたマクロブロック行内のマクロブロックの動きベクトルMVを集計し，その平均値の方向のマクロブロック行数が多くなるように，プリフェッチする復号画像のマクロブロック行数を制御する。つまり，処理対象マクロブロック行の上下のプリフェッチする領域をマクロブロック行毎に更新する。後述する例では，処理中のマクロブロック行より前に処理された２行のマクロブロック行の動きベクトルの累積値に基づいて，処理中のマクロブロック行の上下のプリフェッチする領域を変更する。
【００５２】
［参照面数の決定例］
図１２は，プリフェッチ制御回路による参照面数を決める処理のフローチャート図である。前述のとおり，参照するピクチャ数が多い前方参照１面目，前方参照尾２面目，後方参照１面目の合計３面までとする。
【００５３】
プリフェッチ制御回路による参照面決定処理では，処理中のピクチャのマクロブロックの参照ピクチャ識別子REFIDXを集計する。まず，前方参照１面目，前方参照尾２面目，後方参照１面目それぞれのカウント値を初期化する(S30)。そして，処理対象ピクチャ内の全てのマクロブロックの可変復調される参照ピクチャ識別子REFIDXを集計する。すなわち，前方参照１面目（refidxL0=0）の場合はカウント値count_L0_0をインクリメントし（S31,S32），前方参照２面目（refidxL0=1）の場合はカウント値count_L0_1をインクリメントし（S33,S34），後方参照１面目（refidxL1=0）の場合はカウント値count_L1_0をインクリメントする（S35,S36）。
【００５４】
Y処理対象ピクチャ内の全てのマクロブロックの参照ピクチャ識別子を集計すると（S37のY），その集計した各参照面のカウント値に基づいてプリフェッチ面が１面（S40），２面（S43），３面（S44）のいずれであるか判定する。すなわち，工程S38のYでは，以下のいずれかの場合に対応する１ピクチャのみプリフェッチされる。
(1)count_L0_1=0 & count_L1_1の場合は，前方参照１面目のみプリフェッチ
(2)count_L0_0=0 & count_L1_1の場合は，前方参照２面目のみプリフェッチ
(3)count_L0_0=0 & count_L0_1の場合は，後方参照１面目のみプリフェッチ
また，工程S39のYでは，以下のいずれかの場合も対応する１ピクチャのみプリフェッチされる。
(4)count_L0_0>>count_L0_1およびcount_L0_0>>count_L1_0の場合は，前方参照１面目のみプリフェッチ
(5)count_L0_1>>count_L0_0およびcount_L0_1>>count_L1_0の場合は，前方参照２面目のみプリフェッチ
(6)count_L1_0>>count_L0_0およびcount_L1_0>>count_L0_1の場合は，後方参照１面目のみプリフェッチ
ただし，>>は十分に多いことを示し，比較した２つのカウント値の差が基準値を超える場合や，あるカウント値count_Lx_xが基準値を超えることを示す。以下同様である。
【００５５】
そして，工程S41でYの場合に，工程S39のYでは，以下のいずれかの場合に対応する２ピクチャのみプリフェッチされる。
(7)count_L1_0=0の場合は，前方参照１面目と２面目のみプリフェッチ
(8)count_L0_0=0の場合は，前方参照２面目と後方参照１面目のみプリフェッチ
(9)count_L0_1=0の場合は，前方参照１面目と後方参照１面目のみプリフェッチ
さらに，工程S41でNの場合に，工程S42のYでは，以下のいずれかの場合に対応する２ピクチャのみプリフェッチされる。
(10)count_L0_1>>count_L0_0およびcount_L1_0>>count_L0_0の場合は，前方参照１面目以外の２面のみプリフェッチ
(11)count_L1_0>>count_L0_1およびcount_L0_0>>count_L0_1の場合は，前方参照２面目以外の２面のみプリフェッチ
(12)count_L0_0>>count_L1_0およびcount_L0_1>>count_L1_0の場合は，後方参照１面目のみプリフェッチ
最後に，上記（１）乃至（１２）のいずれにも該当しない場合，すなわち，３面がほぼ均等参照される場合は，３面の復号画像がプリフェッチされる（S42のN,S44）。
【００５６】
［参照面のプリフェッチする復号画像のデータ容量］
次に，複数の参照面の復号画像をプリフェッチメモリに格納する場合は，連続するピクチャの時間的相関が強い場合を判定し，強い場合は処理対象ピクチャと参照ピクチャとの時間的間隔の比率のデータ量でプリフェッチメモリに格納する。
【００５７】
以下，説明を簡単化するために，PピクチャとBピクチャの参照先の類型を以下のとおり定義する。すなわち，図１３は，参照先の類型別の条件パラメータを示す図である。この図には，２つのBピクチャとその後方の１つのPピクチャが，いずれのピクチャを参照するかの類型を示す。図示されるとおり，Pピクチャを復号するときに参照される類型は，以下の３種類であり，その場合の条件パラメータP_CONDは以下のとおりである。
(1)P_COND=00：前方参照１面目
(2)P_COND=01：前方参照２面目
(3)P_COND=02：前方参照１，２面目
さらに，１枚目のBピクチャを復号するときに参照される類型は，以下の４種類であり，その条件パラメータB_CONDは以下のとおりである。
(4)B_COND=10：前方参照１面目，後方参照１面目
(5)B_COND=11：前方参照２面目，後方参照１面目
(6)B_COND=12：前方参照１，２面目
(7)B_COND=13：前方参照１，２面目および後方参照１面目（図示せず）
そして，２枚目のBピクチャを復号するときに参照される類型は，以下の４種類であり，その条件パラメータB_CONDは以下のとおりである。
(8)B_COND=20：前方参照１面目，後方参照１面目
(9)B_COND=21：前方参照２面目，後方参照１面目
(10)B_COND=22：前方参照１，２面目
(11)B_COND=23：前方参照１，２面目および後方参照１面目（図示せず）
次に，図１２のケース１，２，３（プリフェッチ面１，２，３のケース）別に，プリフェッチメモリ内の参照面のデータ量の制御について説明する。
【００５８】
図１４は，ケース１のプリフェッチ面数が１面の場合の参照面のデータ量の制御のフローチャート図である。図１５は，図１４で特定された参照面の５つの例（ケース１-１乃至１-５）を示す図である。図１４において，処理対象のピクチャがPピクチャの場合は（S50のY）,特定された参照ピクチャが前方参照１枚目（S51のY）か前方参照２枚目か(S51のN)かにより，ケース１-１と１-２に分かれる（S52,S54）。ケース１-１，１-２に該当する場合は，後で復号処理されるBピクチャのためにそれぞれ状態パラメータP_COND=00,01を保持しておく（S53,S55）。また，Bピクチャの場合は（S50のN）,Bピクチャが１枚目および２枚目のいずれでも，特定された参照ピクチャが前方参照１枚目（S56のY），前方参照２枚目（S57のY），後方参照１枚目（S57のN）に対応して，ケース１-３，１-４，１-５となる。このBピクチャの復号処理は後のPピクチャの復号処理でのプリフェッチデータ量に影響を及ぼさないので，この状態パラメータを保持することはしない。
【００５９】
図１４の５つのケース１-１乃至１-５の場合は，参照ピクチャが１面のみであるので，プリフェッチメモリの全容量が１つの参照ピクチャの復号画像のデータ容量になる。
【００６０】
図１６は，ケース２のプリフェッチ面数が２面の場合の参照面のデータ量の制御のフローチャート図である。図１７，図１８，図１９は，図１６で特定された参照面の９つの例（ケース2-0-1乃至2-2-4）を示す図である。図１６において，処理対象のピクチャがPピクチャの場合は（S60のY）,ケース２-０-１になり（S61），この場合は後のBピクチャの復号処理のために状態パラメータP_COND=02を保持する。ケース２-０-１は図１７に示されている。
【００６１】
図１７の場合，Pピクチャが時間的に前方の２つのI/Pピクチャを参照ピクチャとしている。このような場合，図９のBピクチャと時間的に前方のI/Pピクチャと同様に，図１７の２つのI/PピクチャとPピクチャとの間には時間的相関が強く，自然な動画像のように移動する画像が時間と共に一定方向に移動していると考えられる。したがって，２つのI/Pピクチャの復号画像のプリフェッチメモリ内のデータ容量比は，PピクチャとI/Pピクチャの時間間隔に比例した比率である，４：３にするのが好ましい。つまり，前方のI/Pピクチャのプリフェッチメモリ内のデータ容量を後方のI/Pピクチャのそれの４／３倍にして，前方のI/Pピクチャに対するより大きな動きベクトルに対してもプリフェッチメモリ内のその前方I/Pピクチャ内のプリフェッチ復号画像から抽出できる蓋然性を高くする。
【００６２】
図１６に戻り，また，Bピクチャの場合は（S60のN）,Bピクチャが１枚目の場合（S63のY）と２枚目の場合（S63のN）とで,以前にPピクチャのプリフェッチ制御の時に保持していた参照ピクチャの状態パラメータP_CONDと，現在復号処理しているBピクチャの参照ピクチャの状態パラメータB_CONDとの組み合わせ（S64のY，S65のY，S66のY，S66のN）により，それぞれ４つのケース２-１-１乃至２-１-４とケース２-２-１乃至２-２-４とに分かれる。これらの８つのケースについては，図１８，図１９に示されている。
【００６３】
図１８の６つのケースは，いずれも，現在復号処理中のBピクチャが２つのピクチャを参照しており，Bピクチャが参照しているI/Pピクチャと，そのBピクチャより先に復号処理されたPピクチャが参照しているI/Pピクチャとが一致する。例えば、ケース２-１-１の場合，Pピクチャが左から２枚目のI/Pピクチャを参照し，その後復号処理されるBピクチャもその２枚目の同じI/Pピクチャを参照している。この場合も，図９と同様に左から２枚目のI/Pピクチャ，次のBピクチャ，そして５枚目のPピクチャとは，ある動画エレメントが時間と共に移動していて時間的相関が強いと考えられる。
【００６４】
そこで，Bピクチャが参照する２つピクチャ，I/PピクチャとPピクチャのプリフェッチメモリ内のデータ容量比をBピクチャからの時間的間隔の比率，１：２に設定するのが望ましい。すなわち，Bピクチャから参照ピクチャであるI/PピクチャとPピクチャとの時間的間隔は，概ね動きベクトルの大きさに対応しているので，そのデータ容量比をその時間的間隔の比率にすることで，より大きな動きベクトルが予想される参照ピクチャのデータ容量を大きくしてプリフェッチ領域をより広くし，より小さな動きベクトルが予想される参照ピクチャは小さくする。
【００６５】
ケース２−２−１の場合は，２枚目のBピクチャが参照する例であり，ケース２−１−１と同じである。
【００６６】
またケース２−１−３の場合は，BピクチャとPピクチャとが同じ２つのI/Pピクチャを参照している例であり，この場合も左から１，２枚目のI/Pピクチャと４枚目のBピクチャと５枚目のPピクチャとの間の時間的相関が強いと見なせるので，Bピクチャが参照する２つのIPピクチャのプリフェッチメモリ内のデータ容量比をBピクチャからの時間間隔の比，３：２に設定するのが望ましい。ケース２−２−３も，ケース２−１−３と同じである。
【００６７】
ケース２−１−２の場合は，BピクチャとPピクチャとが直前のI/Pピクチャを参照せずにそれよりさらに前の左から１枚目のI/Pピクチャを参照している。一般に自然な動画の場合は，参照ピクチャは直前の左から２枚目のI/Pピクチャを含む。ただし，その直前の２枚目のI/Pピクチャがフラッシュにより画像が変化したり，カメラの前に遮蔽物体が一時的に飛び込んできたなどの特殊な事情で画像が変化している場合は，直前のI/Pピクチャには参照できる画像がなく，それより前の左から１枚目のI/Pピクチャを参照することが考えられる。ケース２−１−２と２−２−２はそのような事情であることが考えられ，BピクチャとPピクチャとが同じ１つ目のI/Pピクチャを参照しているので時間の相関性は強いと見なすことができる。
【００６８】
図１９は，Bピクチャが参照するピクチャについて，図１６のいずれの条件S64-S69にも該当しないケースを示す。すなわち，図１９のケース２−１−４，２−２−４は，Bピクチャが参照するI/PピクチャとPピクチャが参照するI/Pピクチャとが一致しておらず，時間的相関が弱いと判断できるケースである。このような場合は，Bピクチャが参照するI/PピクチャとPピクチャのプリフェッチメモリ内のデータ容量比は，Bピクチャからの時間間隔によらず一定にする。つまり，これらのケースでは，プリフェッチメモリ内のデータ容量を動きベクトルの大きさに対応した大きさにすることによるメリットはあまり期待できないからである。
【００６９】
図２０は，ケース３のプリフェッチ面数が３面の場合の参照面のデータ量の制御のフローチャート図である。図２１は，図２０で特定された参照面の６つの例（ケース3-1-1乃至3-2-3と3-2-1乃至3-2-3）を示す図である。図２０において，Bピクチャが３つのピクチャ（２つのI/Pピクチャと１つのPピクチャ）を参照するケースについて，その前に復号処理されたPピクチャの参照ピクチャの状態パラメータP_COND=00,01に応じて６つのケースに分類している。すなわち，プリフェッチ制御回路は，１枚目のBピクチャの場合（S70のY)に，P_COND=00，01，それ以外の３つのケース３−１−１〜３−１−３と，２枚目のBピクチャの場合（S70のN)に，P_COND=00，01，それ以外の３つのケース３−２−１〜３−２−３とに分類する（S71,S72,S73,S74)。
【００７０】
そして，BピクチャとPピクチャとが同じI/Pピクチャを参照する場合は，連続するピクチャの時間的相関が強いと見なして，Bピクチャが参照する３つのピクチャ（２つのI/Pピクチャと１つのPピクチャ）のプリフェッチメモリ内のデータ容量の比率を，参照面が２枚の場合と同様に，Bピクチャとの時間的間隔に対応した比にする。ただし，Bピクチャが参照する３つのピクチャのうち，Pピクチャも参照するI/Pピクチャのプリフェッチメモリ内のデータ容量の比率を，上記の時間的間隔に対応した比率よりもα（０＜α＜１）だけ多くする。
【００７１】
例えば，ケース３−１−１の場合は，Pピクチャが２つ目のI/Pピクチャを参照している。したがって，Bピクチャは２つ目のI/Pピクチャとの相関がより強いと見なすことができる。そこで，データ容量の比率を２つ目のI/Pピクチャについては＋αとし，時間的間隔に対応した比率よりも多くするのが望ましい。他のケースも同様の考え方で，Pピクチャも参照しているI/Pピクチャの比率を＋αしている。
【００７２】
［各参照ピクチャ内のプリフェッチ領域の更新制御］
前述のとおり，本実施の形態では，プリフェッチ制御回路が，処理対象マクロブロック行の上下のプリフェッチする領域をマクロブロック行毎に更新する。一例として，処理中のマクロブロック行より前に処理された２行のマクロブロック行の動きベクトルの累積値に基づいて，処理中のマクロブロック行の上下のプリフェッチする領域を変更する。
【００７３】
参照ピクチャの復号画像のプリフェッチメモリ内の更新は，図７で説明したとおり，処理対象のマクロブロック行が更新されるたびに新しい処理対象マクロブロック行の上下均等にプリフェッチ領域を割り当てている。それに対して，本実施の形態では，プリフェッチ制御回路が，処理対象マクロブロック行の直前のマクロブロック行における動きベクトルを集計し，その動きベクトルの傾向に対応して処理対象マクロブロック行の上限のプリフェッチ領域を更新する。たとえば，処理対象マクロブロック行の直前の２つのマクロブロック行における動きベクトルの平均値がより上側を向いていた場合は，処理対象マクロブロック行より上側のプリフェッチ領域を下側より多くなるように更新し，動きベクトルの平均値がより下側を向いていた場合は，処理対象マクロブロック行より下側のプリフェッチ領域を上側より多くなるように更新する。
【００７４】
ただし，図７で説明したとおり，処理対象マクロブロック行が更新されるたびに新しいマクロブロック行の復号画像をプリフェッチするので，下側より上側のプリフェッチ領域をより多くするためには，上側の再充填をしなければ，処理対象のマクロブロック行の処理スピードでしかプリフェッチ領域の比率を変更することができない。つまり，N行の処理対象マクロブロック行が処理される間，下側のプリフェッチ領域の更新を停止することで，Nマクロブロック行だけ上側のプリフェッチ領域を多くすることができる。
【００７５】
図２２は，処理対象マクロブロック行に対する直前のマクロブロック行の動きベクトルの傾向を監視する方法を示す図である。現在処理中のマクロブロックCuを含むマクロブロック行４２の直前に復号処理された２つのマクロブロック行４６，４７に属するマクロブロックの動きベクトルの平均値をそれぞれ集計する。ピクチャに対してX軸が右水平方向，Y軸が下垂直方向とし，１個のマクロブロックMBの画素数が１６×１６とすると，動きベクトルが１個のマクロブロックの画素数だけ下の方向を向いていると，その動きベクトルの大きさは＋１６になり，上の方向を向いていると−１６になるとする。そして，２つのマクロブロック行４６，４７に属するマクロブロックの動きベクトルの平均値をMVyとすると，その値と動きベクトルの方向及び大きさとの関係は，図中に示されるように以下のとおりである。
MVy=-32の場合は，2MB Line 上方向
MVy=-16の場合は，1MB Line 上方向
MVy=+16の場合は，1MB Line 下方向
MVy=+32の場合は，2MB Line 下方向
図２３は，本実施の形態における各参照ピクチャ内のプリフェッチ領域の更新制御を説明する図である。プリフェッチ制御回路は，図２２に示した処理対象マクロブロック行の直前の数マクロブロック行の動きベクトルの平均値（Y軸の値）を監視し，その平均値に基づいて処理対象マクロブロック行の上下のプリフェッチ領域の比率を更新制御する。
【００７６】
この例では，ケース１〜５と，２つのマクロブロック行４６，４７の動きベクトルの平均値との関係は，次の通りである。
ケース１：１MBライン４６がMVy-16以下且つ２MBライン４７がMVy-16以下
ケース２：１MBライン４６がMVy+16以上且つ２MBライン４７がMVy+16以上
ケース３：１MBライン４６がMVy-16以下又は２MBライン４７がMVy-16以下
ケース４：１MBライン４６がMVy+16以下又は２MBライン４７がMVy+16以下
ケース５：上記のいずれにも該当しない。つまり，４６，４７のMVyが共に１MBライン４６がMVy-16以下且つ２MBライン４７がMVy-16以下
そして，各ケース１〜５とプリフェッチ領域の割り当ての関係は，次の通りである。
ケース１：処理対象マクロブロック行４２の上に８マクロブロック行，下に４マクロブロック行，プリフェッチ領域を割り当てる。
ケース２：処理対象マクロブロック行４２の上に４マクロブロック行，下に８マクロブロック行，プリフェッチ領域を割り当てる。
ケース３：処理対象マクロブロック行４２の上に７マクロブロック行，下に５マクロブロック行，プリフェッチ領域を割り当てる。
ケース４：処理対象マクロブロック行４２の上に５マクロブロック行，下に７マクロブロック行，プリフェッチ領域を割り当てる。
ケース５：処理対象マクロブロック行４２の上下に６マクロブロック行ずつ均等にプリフェッチ領域を割り当てる。この例は，図７と同じ。
【００７７】
図２４は，プリフェッチ制御回路による参照ピクチャ内のプリフェッチ領域の更新制御を示すフローチャート図である。図２４は，図１１における工程S18以降の，マクロブロックラインの先頭か否かの判定工程S18と，参照面プリフェッチ更新制御S20を詳述するとともに，それに伴う追加の処理S81-S84とが示されている。図２４内の工程S22,S24,S26は，図１１の工程S22,S24,S26と同じである。
【００７８】
図２４において，現在復号処理中のマクロブロック行(MBLine）の動きベクトル(MV)累積値を初期化し（S80)，処理対象のマクロブロックMBがマクロブロック行(MBLine)の先頭になるまでの間（S18のN)，現在処理中のマクロブロック行のMV累積値に現在処理中のマクロブロックMBの動きベクトルMVのY軸成分MVyを加算する（S81)。そして，処理対象のマクロブロックMBが現在処理中のマクロブロック行の最終マクロブロックになると（S82のY)，１マクロブロック行上のMV平均値に，減算処理中のマクロブロック行のMV累積値をその行のマクロブロック数で除した平均値を代入し，さらに，１マクロブロック行上のMV平均値を２マクロブロック行上のMV平均値に代入する（S83)。さらに，現在処理中のマクロブロック行(MBLine）の動きベクトル(MV)累積値を初期化する（S84)。
【００７９】
そして，インター予測処理部は，処理対象のマクロブロックについて，動きベクトルMVの復元処理（S22)と，復号画像生成処理（S24)とを行う。動きベクトルMVの復元処理では，隣接マクロブロックの動きベクトルの平均値に差分ベクトル情報MVDを加算し，復号画像生成処理では，プリフェッチメモリまたはフレームバッファから復号画像を参照画像として取得し，フィルタ処理を行う。
【００８０】
そして，次に処理対象のマクロブロックがマクロブロック行MVLineの先頭になるので，工程S18はYになり，プリフェッチ制御回路は，２マクロブロック行上のMV平均値と１マクロブロック行上のMV平均値との組み合わせから，図２３に示した５つのケースを判定し（S201〜S204)，各ケース１〜５に対応して図２３に示した参照ピクチャのプリフェッチメモリ内のプリフェッチ領域（処理対象マクロブロック行の上下の領域）に，フレームバッファ内の復号画像を格納する（S205)。工程S205の５つのケースでの処理は，プリフェッチ領域の更新とプリフェッチ領域への復号画像の格納である。
【００８１】
プリフェッチ制御回路は，上記の処理を各マクロブロック行に対して行い，復号対象のピクチャの復号処理が完了するまで（S26のY)，その処理を継続する。
【００８２】
［参照ピクチャのデータ容量比と各参照ピクチャ内のプリフェッチ領域の更新制御］
上述したPピクチャやBピクチャが参照する複数の参照ピクチャ間のデータ容量比と，各三章ピクチャ内のプリフェッチ領域の更新制御とを組み合わせることができる。たとえば，２つの参照ピクチャ間のデータ容量比が２：１の場合は，それらの参照ピクチャ内のプリフェッチ領域を，それぞれ処理中マクロブロック行に加えて上下合計で２４マクロブロック行：１２マクロブロック行とする。そして，前者の参照ピクチャ内では，上下それぞれ１２マクロブロック行のプリフェッチ領域に対して，直前の動きベクトル平均値に応じて上を多くしたり少なくしたりする。また，後者の参照ピクチャ内では，上下それぞれ６マクロブロック行のプリフェッチ領域に対して，直前の動きベクトル平均値に応じて上を多くしたり少なくしたりする。
【００８３】
以上の通り，本実施の形態の動画像復号装置によれば，ビデオストリームの復号処理で例えば前方の２つのI/Pピクチャと後方の１つのI/Pピクチャへの参照ピクチャ識別子を処理対象ピクチャについてカウントすることで，処理対象のピクチャのインター予測処理前に，プリフェッチ効果の高い参照面を決定しプリフェッチメモリ内に復号画像をプリフェッチしておくことで，ヒット率が向上し，インター予測処理の効率を高めることができる。
【００８４】
そして，参照面が複数の場合，処理対象がPピクチャの場合は，参照ピクチャとの時間的間隔の比率にプリフェッチメモリ内の参照ピクチャのデータ容量比を制御し，処理対象がBピクチャの場合は，BピクチャとPピクチャとが同じI/Pピクチャを参照しているなど時間的相関が強い場合に，参照ピクチャとの時間的間隔の比率にプリフェッチメモリ内のBピクチャが参照する複数の参照ピクチャのデータ容量比を制御する。これによりプリフェッチメモリのヒット率を向上させることができる。
【００８５】
さらに，各参照ピクチャにおいて，現在処理中のマクロブロック行の１マクロブロック行上と２マクロブロック行上のマクロブロックの動きベクトルの平均値を求め，その平均動きベクトルの方向のプリフェッチ領域を増やすように更新制御する。それにより，プリフェッチメモリでのヒット率を向上させることができる。
【００８６】
以上の実施の形態をまとめると，次の付記のとおりである。
【００８７】
（付記１）
入力されるビデオストリームに含まれる各ピクチャの参照ピクチャ識別情報と動きベクトル情報に基づいて参照画像データを取得して前記ピクチャの復号画像データを生成するインター予測処理部と，
前記参照画像データを格納する内部メモリと，
前記ピクチャのインター予測処理のために，外部メモリから前記復号画像データを読み出して前記参照画像データとして前記内部メモリに格納するプリフェッチ制御部とを有し，
前記プリフェッチ制御部は，前記参照ピクチャ識別情報に対応する参照ピクチャの復号画像データを前記外部メモリから読み出して，前記参照ピクチャと処理対象ピクチャとの前記ビデオストリームでの時間的間隔に応じたデータ容量比で，前記内部メモリに格納する動画像復号装置。
【００８８】
（付記２）
付記１において，
前記時間的間隔に応じたデータ容量比は，第１の時間的間隔の場合に第１のデータ容量であり，前記第１の時間的間隔より長い第２の時間的間隔の場合に前記第１のデータ容量より大きい第２のデータ容量である動画像復号装置。
【００８９】
（付記３）
付記２において，
前記時間的間隔に応じたデータ容量比は，前記時間的間隔に比例したデータ容量比である動画像復号装置。
【００９０】
（付記４）
付記１，２または３において，
前記ピクチャは，復号処理で後方ピクチャの参照画像データは参照されず前方ピクチャの参照画像データが参照される第１のピクチャと，復号処理で前記後方ピクチャの参照画像データと前方ピクチャの参照画像データが参照可能な第２のピクチャとを有し，
前記プリフェッチ制御部は，当該処理対象の第２のピクチャの参照ピクチャ識別情報と，前記処理対象の第２のピクチャの後の前記第１のピクチャの参照ピクチャ識別情報とが，同じ前方ピクチャを有する場合には，前記処理対象の第２のピクチャの参照ピクチャ識別情報に対応する参照ピクチャの復号画像データを，前記時間的間隔に応じたデータ容量比で前記内部メモリに格納し，同じ前方ピクチャを参照しない場合には，前記時間的間隔に応じないデータ容量比で前記内部メモリに格納する動画像復号装置。
【００９１】
（付記５）
付記１または２において，
前記ピクチャは，復号処理で後方ピクチャの参照画像データは参照されず前方ピクチャの参照画像データが参照される第１のピクチャと，復号処理で前記後方ピクチャの参照画像データと前方ピクチャの参照画像データが参照可能な第２のピクチャとを有し，
前記プリフェッチ制御部は，当該処理対象の第２のピクチャの参照ピクチャ識別情報が前方ピクチャと後方ピクチャとを有し，前記処理対象の第２のピクチャの後方の前記第１のピクチャの参照ピクチャ識別情報が前記処理対象の第２のピクチャの参照ピクチャ識別情報の前方ピクチャを有する場合には，前記処理対象の第２のピクチャの参照ピクチャ識別情報に対応する参照ピクチャの復号画像データを，前記時間的間隔に比例したデータ容量比で且つ前記第１のピクチャの参照ピクチャと同じ参照ピクチャの復号画像データは前記時間的間隔に比例したデータ容量比より高いデータ容量比で，前記内部メモリに格納する動画像復号装置。
【００９２】
（付記６）
付記１乃至５のいずれかにおいて，
前記インター予測処理部は，当該インター予測処理対象のピクチャ内の複数のブロックをラスタスキャン順にインター予測処理をし，
前記プリフェッチ制御部は，参照ピクチャ識別情報に対応する参照ピクチャの参照画像データを，前記インター予測処理対象のピクチャ内の処理対象ブロックが属するブロック行の上下所定ブロック行数の復号画像データを前記内部メモリに格納し，さらに，前記処理対象ブロックの直前に処理された複数ブロックの動きベクトルの平均方向に対応して，上下のブロック行数のうち当該平均方向に対応するブロック行数をより多くするように前記内部メモリに格納する上下のブロック行数を変更する動画像復号装置。
【００９３】
（付記７）
付記１乃至５のいずれかにおいて，
前記インター予測処理部は，当該インター予測処理対象のピクチャ内の複数のブロックをインター予測処理し，
前記プリフェッチ制御部は，前記インター予測処理対象のピクチャ内の複数のブロックの参照ピクチャ識別情報を集計し，所定の基準数を超えるブロックが参照する第１の参照ピクチャの復号画像データを前記内部メモリに格納し，前記第１の参照ピクチャ以外の参照ピクチャの復号画像データを前記内部メモリには格納しない動画像復号装置。
【００９４】
（付記８）
入力されるビデオストリームに含まれる各ピクチャの参照ピクチャ識別情報と動きベクトル情報に基づいて参照画像データを取得して前記ピクチャの復号画像データを生成するインター予測処理工程と，
前記ピクチャのインター予測処理のために，外部メモリから前記復号画像データを読み出して前記参照画像データとして内部メモリに格納するプリフェッチ制御工程とを有し，
前記プリフェッチ制御工程では，前記参照ピクチャ識別情報に対応する参照ピクチャの復号画像データを前記外部メモリから読み出して，前記参照ピクチャと処理対象ピクチャとの前記ビデオストリームでの時間的間隔に応じたデータ容量比で，前記内部メモリに格納する動画像復号方法。
【符号の説明】
【００９５】
１０：ビデオストリーム
３０：動画像復号装置
３１：可変長復号部
３２：インター予測処理部
３３：プリフェッチ制御部
３４：プリフェッチメモリ（内部メモリ）
２０：外部メモリ
【図１】
0005803697.tif 000002
【図２】
0005803697.tif 000003
【図３】
0005803697.tif 000004
【図４】
0005803697.tif 000005
【図５】
0005803697.tif 000006
【図６】
0005803697.tif 000007
【図９】
0005803697.tif 000008
【図１１】
0005803697.tif 000009
【図１２】
0005803697.tif 000010
【図１３】
0005803697.tif 000011
【図１４】
0005803697.tif 000012
【図１５】
0005803697.tif 000013
【図１６】
0005803697.tif 000014
【図１７】
0005803697.tif 000015
【図１８】
0005803697.tif 000016
【図１９】
0005803697.tif 000017
【図２０】
0005803697.tif 000018
【図２１】
0005803697.tif 000019
【図２４】
0005803697.tif 000020
【図７】
0005803697.tif 000021
【図８】
0005803697.tif 000022
【図１０】
0005803697.tif 000023
【図２２】
0005803697.tif 000024
【図２３】
0005803697.tif 000025