(57)【特許請求の範囲】
【請求項１】
参照画像を記憶する参照画像記憶部からプリフェッチされた領域のプリフェッチ画像を記憶するプリフェッチ画像記憶部と、
符号化対象画像を縮小した縮小画像を用いて動き探索を行い、前記符号化対象画像に含まれる符号化対象ブロックの探索結果を生成する第１探索部と、
前記探索結果から前記符号化対象ブロックと前記プリフェッチ画像とのマッチングが失敗すると予測した場合、前記参照画像内の前記プリフェッチされた領域の外側の領域の画像を読み出すために前記参照画像記憶部にアクセスするアクセス回数の評価値に基づいて、前記参照画像内の前記プリフェッチされた領域の外側の領域を探索すると判定する判定部と、
前記判定部が前記外側の領域を探索すると判定した場合、前記符号化対象ブロックと前記参照画像内の前記外側の領域を含むマッチング対象領域の画像とのマッチングを行って、インター予測結果を生成する第２探索部と、
前記インター予測結果に基づいて、前記符号化対象ブロックを符号化する符号化部と、
を備えることを特徴とする画像圧縮装置。
【請求項２】
前記判定部は、前記第１探索部での前記探索結果に基づいて前記参照画像内の前記マッチング対象領域を決定し、前記マッチング対象領域が前記プリフェッチされた領域内に収まらない場合、前記符号化対象ブロックと前記プリフェッチ画像との前記マッチングが失敗すると予測する予測部を含むことを特徴とする請求項１記載の画像圧縮装置。
【請求項３】
前記判定部は、前記アクセス回数の評価値を計算する評価部と、前記アクセス回数の評価値に基づいて前記外側の領域を探索するか否かを判定する探索判定部とをさらに含むことを特徴とする請求項２記載の画像圧縮装置。
【請求項４】
前記第１探索部は、前記符号化対象画像に含まれる複数のブロックそれぞれに対する複数の探索結果を生成し、前記評価部は、前記予測部が前記複数のブロックに対するマッチングが失敗すると予測した場合、前記複数のブロックそれぞれに対する複数の評価値を計算し、前記探索判定部は、前記複数の評価値を比較した結果に基づいて、前記複数のブロックそれぞれに対して前記外側の領域を探索するか否かを判定することを特徴とする請求項３記載の画像圧縮装置。
【請求項５】
前記評価部は、前記複数の探索結果それぞれが示す前記複数のブロックと前記参照画像との相違度を用いて、前記複数のブロックそれぞれに対する複数のアクセス回数を重み付けすることで、前記複数の評価値を計算することを特徴とする請求項４記載の画像圧縮装置。
【請求項６】
前記参照画像記憶部は、前記参照画像とは異なる別の参照画像をさらに記憶し、前記プリフェッチ画像記憶部は、前記別の参照画像からプリフェッチされた領域の別のプリフェッチ画像をさらに記憶し、前記判定部は、前記符号化対象ブロックと前記別のプリフェッチ画像とのマッチングが成功すると予測した場合、前記符号化対象ブロックに対して前記外側の領域を探索すると判定する確率を低下させることを特徴とする請求項１乃至５のいずれか１項に記載の画像圧縮装置。
【請求項７】
参照画像を記憶する参照画像記憶部からプリフェッチされた領域のプリフェッチ画像を記憶する画像圧縮装置が、
符号化対象画像を縮小した縮小画像を用いて動き探索を行い、前記符号化対象画像に含まれる符号化対象ブロックの探索結果を生成し、
前記探索結果から前記符号化対象ブロックと前記プリフェッチ画像とのマッチングが失敗すると予測した場合、前記参照画像内の前記プリフェッチされた領域の外側の領域の画像を読み出すために前記参照画像記憶部にアクセスするアクセス回数の評価値に基づいて、前記参照画像内の前記プリフェッチされた領域の外側の領域を探索すると判定し、
前記符号化対象ブロックと前記参照画像内の前記外側の領域を含むマッチング対象領域の画像とのマッチングを行って、インター予測結果を生成し、
前記インター予測結果に基づいて、前記符号化対象ブロックを符号化する、
ことを特徴とする画像圧縮方法。
【請求項８】
参照画像を記憶する参照画像記憶部からプリフェッチされた領域のプリフェッチ画像を記憶するコンピュータのための画像圧縮プログラムであって、
符号化対象画像を縮小した縮小画像を用いて動き探索を行い、前記符号化対象画像に含まれる符号化対象ブロックの探索結果を生成し、
前記探索結果から前記符号化対象ブロックと前記プリフェッチ画像とのマッチングが失敗すると予測した場合、前記参照画像内の前記プリフェッチされた領域の外側の領域の画像を読み出すために前記参照画像記憶部にアクセスするアクセス回数の評価値に基づいて、前記参照画像内の前記プリフェッチされた領域の外側の領域を探索すると判定し、
前記符号化対象ブロックと前記参照画像内の前記外側の領域を含むマッチング対象領域の画像とのマッチングを行って、インター予測結果を生成し、
前記インター予測結果に基づいて、前記符号化対象ブロックを符号化する、
処理をコンピュータに実行させる画像圧縮プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像圧縮装置、画像圧縮方法、及び画像圧縮プログラムに関する。
【背景技術】
【０００２】
近年、高画質かつ高圧縮な映像コンテンツが配信されている。また、昨今の映像コンテンツの配信は、生放送等に対応するため、リアルタイム性が望まれる場合も数多く存在する。
【０００３】
このリアルタイム性を阻害する要因の１つが、画像取得のための外部メモリに対するメモリアクセスである。外部メモリに対するメモリアクセスは処理量が大きいため、リアルタイム性が望まれるアーキテクチャでは、アクセス量が制限されることが多い。
【０００４】
映像コンテンツの配信に用いられる画像圧縮装置では、映像信号に対して空間方向の予測（画面内予測）を行うイントラ予測と、時間方向の予測（画面間予測）を行うインター予測とが併用される。そして、画像圧縮装置は、最も符号化誤差が小さい予測モードを選択して、選択した予測モードを含む符号化ストリームを生成する。
【０００５】
イントラ予測は、画面内予測という性質上、インター予測と比較して符号化誤差が大きくなりやすい。一方、インター予測では、画面間予測を行うために、外部メモリであるフレームメモリから予測対象となる参照画像が読み出されるため、イントラ予測と比較して処理量が非常に多くなる。
【０００６】
参照画像を記憶するフレームメモリとしては、Dynamic Random Access Memory（ＤＲＡＭ）が使用されることが多い。ＤＲＡＭは、大容量であるが、メモリアクセスに時間がかかる。インター予測のために動き探索において、１画面分の参照画像全体を探索すると、フレームメモリに対するアクセス量が膨大となり、処理量が非常に大きくなる。
【０００７】
そこで、プリフェッチメモリと呼ばれる内部メモリに、参照画像の探索範囲の一部をプリフェッチ領域として予め格納しておくことがある（例えば、特許文献１〜特許文献４を参照）。この場合、プリフェッチメモリに格納されたプリフェッチ領域を探索することで、フレームメモリに対するアクセス量が削減される。プリフェッチメモリとしては、Static Random Access Memory（ＳＲＡＭ）が使用されることが多い。ＳＲＡＭは、メモリアクセスを高速で行うことができるが、小容量である。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１３−１２６０８３号公報
【特許文献２】特開２０１３−１７２３５０号公報
【特許文献３】特開２００８−１４１２８８号公報
【特許文献４】特開平１１−２６２０１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
画面の一部が別方向へ大きく動くような映像の場合、プリフェッチ領域内で探索が失敗する確率が高くなり、フレームメモリに対するメモリアクセスが増加する。しかし、フレームメモリの帯域幅に対する制限によって、増加したメモリアクセスが不可能な場合、インター予測の代わりにイントラ予測が選択され、圧縮効率の低下を招く。
【００１０】
なお、かかる問題は、画面の一部が別方向へ大きく動くような映像に限らず、プリフェッチ領域内で探索が失敗する確率が高い他の映像においても生ずるものである。
【００１１】
１つの側面において、本発明は、プリフェッチした参照画像を用いる画像圧縮において圧縮効率を向上させることを目的とする。
【課題を解決するための手段】
【００１２】
１つの案では、画像圧縮装置は、プリフェッチ画像記憶部、第１探索部、第２探索部、判定部、及び符号化部を含む。
【００１３】
プリフェッチ画像記憶部は、参照画像を記憶する参照画像記憶部からプリフェッチされた領域のプリフェッチ画像を記憶する。第１探索部は、符号化対象画像を縮小した縮小画像を用いて動き探索を行い、符号化対象画像に含まれる符号化対象ブロックの探索結果を生成する。
【００１４】
判定部は、探索結果から符号化対象ブロックとプリフェッチ画像とのマッチングが失敗すると予測した場合、その探索結果に基づいて、参照画像内のプリフェッチされた領域の外側の領域を探索すると判定する。第２探索部は、判定部が外側の領域を探索すると判定した場合、符号化対象ブロックと参照画像内の外側の領域を含むマッチング対象領域の画像とのマッチングを行って、インター予測結果を生成する。符号化部は、インター予測結果に基づいて、符号化対象ブロックを符号化する。
【発明の効果】
【００１５】
実施形態によれば、プリフェッチした参照画像を用いる画像圧縮において圧縮効率を向上させることができる。
【図面の簡単な説明】
【００１６】
【図１】画像圧縮装置の構成図である。
【図２】モード判定部の構成図である。
【図３】インター予測部の構成図である。
【図４】参照画像の探索範囲を示す図である。
【図５】動き探索処理のフローチャートである。
【図６】プリフェッチ領域と動きベクトルとの関係を示す図である。
【図７】所定方向に移動するプリフェッチ領域を示す図である。
【図８】適応的に移動するプリフェッチ領域を示す図である。
【図９】原画像及び縮小画像を示す図である。
【図１０】プリフェッチした参照画像を用いる画像圧縮装置の構成図である。
【図１１】画像圧縮処理のフローチャートである。
【図１２】前段探索及び後段探索を行うインター予測部の構成図である。
【図１３】判定部の構成図である。
【図１４Ａ】インター予測処理のフローチャート（その１）である。
【図１４Ｂ】インター予測処理のフローチャート（その２）である。
【図１５】マッチング対象領域とプリフェッチ領域との関係を示す図である。
【図１６】予測結果を示す図である。
【図１７】評価値バッファを示す図である。
【図１８】更新処理のフローチャートである。
【図１９】判定結果バッファを示す図である。
【図２０Ａ】複数の参照画像を用いるインター予測処理のフローチャート（その１）である。
【図２０Ｂ】複数の参照画像を用いるインター予測処理のフローチャート（その２）である。
【図２１】複数の参照画像を用いるインター予測処理の判定結果バッファを示す図である。
【図２２】情報処理装置の構成図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照しながら、実施形態を詳細に説明する。
図１は、画像圧縮装置の構成例を示している。図１の画像圧縮装置１０１は、モード判定部１１１及び符号化部１１２を含む。モード判定部１１１は、入力される映像信号に対してイントラ予測及びインター予測を行い、最も符号化誤差が小さい予測モードを選択して、選択した予測モードを示すモード情報を符号化部１１２へ出力する。
【００１８】
映像信号は、複数の時刻それぞれにおける複数の画像を含む。これらの画像の各々が、符号化対象画像（原画像）として画像圧縮装置１０１に入力される。各画像は、カラー画像であってもよく、モノクロ画像であってもよい。画像がカラー画像である場合、画素値はＲＧＢ形式であってもよく、ＹＵＶ形式であってもよい。
【００１９】
図２は、図１のモード判定部１１１の構成例を示している。図２のモード判定部１１１は、イントラ予測部２０１、インター予測部２０２、及び選択部２０３を含み、符号化対象画像をブロック毎に分割し、各ブロックを符号化対象ブロックとして処理する。
【００２０】
イントラ予測部２０１は、符号化対象画像内の既に符号化された周辺画素の画素値から、符号化対象ブロックのイントラ予測ブロック画像を生成する。インター予測部２０２は、動き探索に用いる参照画像を、外部メモリであるフレームメモリ１０２から読み出して、符号化対象ブロックに対する動き補償を行うことで、インター予測ブロック画像を生成する。
【００２１】
選択部２０３は、予測モードを選択して、符号化対象ブロックの形状、予測情報等を含むモード情報を出力する。イントラ予測の場合、予測情報には予測方向が含まれ、インター予測の場合、予測情報には参照画像及び動きベクトルの情報が含まれる。
【００２２】
符号化部１１２は、モード情報に従って符号化対象ブロックを符号化し、符号化ストリームを出力する。符号化部１１２は、符号化対象ブロックとイントラ予測ブロック画像又はインター予測ブロック画像との差分を表す予測誤差信号に対して、周波数変換、量子化、及びエントロピー符号化を行うことで、符号化ストリームを生成する。
【００２３】
このとき、符号化部１１２は、符号化対象ブロックの量子化結果に対して、逆量子化及び逆周波数変換を行うことで、再構成予測誤差信号を生成し、予測ブロック画像と再構成予測誤差信号とを加算することで復号画像を生成する。そして、符号化部１１２は、生成した復号画像をフレームメモリ１０２へ出力する。フレームメモリ１０２は、復号画像を蓄積し、蓄積された復号画像を参照画像として、モード判定部１１１へ出力する。
【００２４】
画像圧縮装置１０１は、生成した符号化ストリームを、不図示の画像復元装置へ送信し、画像復元装置は、符号化ストリームを復号して映像信号を復元する。符号化方式としては、Ｈ．２６４、High Efficiency Video Coding（ＨＥＶＣ）等が用いられる。
【００２５】
画像圧縮装置１０１は、様々な用途に利用される。例えば、画像圧縮装置１０１を、ビデオカメラ、映像送信装置、映像受信装置、テレビ電話システム、コンピュータ、又は携帯電話機に組み込むことも可能である。
【００２６】
ところで、モード判定部１１１は、インター予測に失敗した場合、又はリアルタイム性の高いアーキテクチャにおいてインター予測が間に合わなかった場合、符号化対象ブロックに対してイントラ予測を適用する。このように、符号化誤差に基づく予測モードの判定が行われなかった場合、符号化後のデータ量が増大する可能性が高く、圧縮効率の低下を招く。
【００２７】
インター予測部２０２は、インター予測ブロック画像を生成する際、動き探索によって画面間の動きを検出する。この動き探索では、ブロック毎にブロックマッチングが行われ、参照画像内で符号化対象ブロックと類似する領域が探索される。そして、ブロックマッチングの結果によって、符号化対象ブロックの動きベクトル、符号化対象ブロックと参照画像との間の差分絶対値和（ＳＡＤ）、及び符号化対象ブロックの分割形状が決定される。ＳＡＤが小さくなる動きベクトル及び分割形状を採用することで、エントロピー符号化後のデータ量を低減することができ、圧縮効率が向上する。
【００２８】
図３は、図２のインター予測部２０２の構成例を示している。図３のインター予測部２０２は、プリフェッチメモリ３０１及び探索部３０２を含む。プリフェッチメモリ３０１は、フレームメモリ１０２が記憶する参照画像のうち、プリフェッチした領域の画像を記憶する。
【００２９】
図４は、参照画像の探索範囲の例を示している。図４の参照画像４０１の探索範囲４１１のうち、一部の領域がプリフェッチ領域４１２として、予めプリフェッチメモリ３０１に格納される。探索部３０２は、プリフェッチ領域４１２のデータを用いて、フレームメモリ１０２に対するアクセスを可能な限り抑制しつつ、ブロックマッチングを行う。
【００３０】
図５は、図３のインター予測部２０２が行う動き探索処理の例を示すフローチャートである。まず、インター予測部２０２は、初期書き込みを行って、参照画像の一部の領域のデータをプリフェッチメモリ３０１に書き込む（ステップ５０１）。
【００３１】
次に、探索部３０２は、プリフェッチメモリ３０１からデータを読み出し（ステップ５０２）、１つのブロックを選択して、選択したブロックと読み出したデータとのブロックマッチングを行い、インター予測結果を生成する（ステップ５０３）。そして、探索部３０２は、選択したブロックが符号化対象画像内の最終ブロックであるか否かをチェックする（ステップ５０４）。
【００３２】
選択したブロックが最終ブロックではない場合（ステップ５０４，ＮＯ）、インター予測部２０２は、プリフェッチメモリ３０１のデータを更新し（ステップ５０５）、探索部３０２は、次のブロックを選択して、ステップ５０２以降の処理を繰り返す。そして、選択したブロックが最終ブロックである場合（ステップ５０４，ＹＥＳ）、インター予測部２０２は、処理を終了する。
【００３３】
ところで、ステップ５０３において、選択したブロックのマッチング対象領域がプリフェッチ領域４１２内に収まっていないこともあり得る。この場合、探索部３０２は、プリフェッチ領域４１２の外側の領域を探索するか、又は、ブロックマッチングを終了してインター予測失敗を選択部２０３に通知する。
【００３４】
プリフェッチ領域４１２の外側の領域を探索する場合、探索部３０２は、フレームメモリ１０２に直接アクセスして、外側の領域のデータを読み出す。フレームメモリ１０２に対するアクセス回数及びブロックマッチングの成功率、すなわち、動作効率及び圧縮効率を考慮すると、プリフェッチ領域４１２内で探索が成功した場合が最も効率がよい。
【００３５】
図６は、プリフェッチ領域と動きベクトルとの関係の例を示している。参照画像の探索範囲６０１内において、符号化対象画像に写っている物体６２１に対応する物体６３１を探索する場合を考える。
【００３６】
図６（ａ）の場合、物体６２１の動きベクトル６４１がプリフェッチ領域６１１内の位置を指しており、物体６３１がプリフェッチ領域６１１内に存在する。この場合、プリフェッチ領域６１１内でブロックマッチングが成功するため、動作効率及び圧縮効率がよい。
【００３７】
図６（ｂ）の場合、物体６２１の動きベクトル６４２がプリフェッチ領域６１２内の位置を指しており、物体６３１がプリフェッチ領域６１２内に存在する。この場合、プリフェッチ領域６１２内でブロックマッチングが成功するため、図６（ａ）の場合と同様に、動作効率及び圧縮効率がよい。しかし、プリフェッチ領域６１２はプリフェッチ領域６１１よりも大きいため、プリフェッチメモリ３０１の容量が大きくなる。
【００３８】
図６（ｃ）の場合、物体６２１の動きベクトル６４３がプリフェッチ領域６１３内の位置を指しており、物体６３１がプリフェッチ領域６１３内に存在する。この場合、プリフェッチ領域６１３内でブロックマッチングが成功するため、図６（ａ）の場合と同様に、動作効率及び圧縮効率がよい。
【００３９】
図６（ｄ）の場合、物体６２１の動きベクトル６４４がプリフェッチ領域６１４の外側の位置を指しており、物体６３１がプリフェッチ領域６１４内に存在しない。この場合、プリフェッチ領域６１４の外側の領域を探索するためにフレームメモリ１０２にアクセスすると、動作効率が低下する。一方、インター予測失敗と判定してイントラ予測を適用すると、圧縮効率が低下する。
【００４０】
プリフェッチ領域としては、例えば、特許文献１又は特許文献２に開示されているように、符号化対象ブロックの位置を基点とする所定領域を用いることができる。この場合、符号化対象ブロックを上下左右に所定数の画素だけ拡張した矩形領域が、プリフェッチ領域として用いられる。
【００４１】
また、符号化対象画像全体の動きを抽出して、符号化対象ブロックの位置に対して全体の動きを表すオフセットを付加して、プリフェッチ領域を決定してもよい。このように、符号化対象画像の特徴を抽出して利用することで、符号化対象画像に適したプリフェッチ領域を設定することができる。
【００４２】
さらに、ブロックマッチングにおけるメモリアクセスを抑制するため、特許文献３に開示されているように、符号化対象ブロックの位置に合わせてプリフェッチ領域を移動させることもできる。
【００４３】
図７は、所定方向に移動するプリフェッチ領域の例を示している。符号化対象画像７０１内の位置（ｘ，ｙ）にあるブロック７１１が符号化対象ブロックである場合、領域７２１がプリフェッチ領域として設定される。
【００４４】
次に、位置（ｘ＋１，ｙ）にあるブロック７１２が符号化対象ブロックになった場合、領域７２２が新たなプリフェッチ領域として設定される。この場合、領域７２３のデータは破棄され、領域７２４のデータがフレームメモリ１０２から取得される。
【００４５】
図８は、画像全体の動きに合わせて適応的に移動するプリフェッチ領域の例を示している。符号化対象画像８０１内の位置（ｘ，ｙ）にあるブロック８１１が符号化対象ブロックである場合、符号化対象画像８０１から、画像全体の平均的な動きを示すベクトル８３１として（ＭＶｘ，ＭＶｙ）が抽出される。そして、元のプリフェッチ領域である領域８２１をベクトル８３１に沿って移動させた領域８２２が、プリフェッチ領域として設定される。
【００４６】
次に、位置（ｘ＋１，ｙ）にあるブロック８１２が符号化対象ブロックになった場合、領域８２３がプリフェッチ領域として設定される。この場合、領域８２４のデータは破棄され、領域８２５のデータがフレームメモリ１０２から取得される。
【００４７】
このように、プリフェッチ領域を画像全体の動きに合わせて移動させることで、例えばパン又はスクロールが発生する映像に対して、動作効率及び圧縮効率を改善することができる。
【００４８】
ところで、画像全体の動きは、例えば、特許文献４に開示されているように、符号化対象画像を縮小した縮小画像を用いた動き探索によって抽出することができる。縮小画像を用いた動き探索は、前段探索とも呼ばれ、原画像よりも粗い精度でブロックマッチングを行うことで、原画像の動きを効率よく検出するための技術である。
【００４９】
図９は、Ｈ．２６４に基づく符号化方式における原画像及び縮小画像の例を示している。縮小画像９０２のサイズは原画像９０１のサイズよりも小さいが、マクロブロック（ＭＢ）自体のサイズは変化しないため、縮小画像９０２を用いたブロックマッチングは、疎粒度の処理になる。この場合、原画像９０１を用いたブロックマッチングと同様に、動きベクトル、ＳＡＤ、及び分割形状が決定される。
【００５０】
しかしながら、画像全体の動きに合わせて適応的にプリフェッチ領域を設定しても、マッチング対象領域がプリフェッチ領域から外れて、プリフェッチ領域内でブロックマッチングが成功しない場合もあり得る。例えば、画面内で左向きにスクロールしている映像において、画面の中央を車両、電車等の移動体が右向きに通過するような場面では、マッチング対象領域がプリフェッチ領域から外れる可能性が高い。
【００５１】
このように、画面の一部が別方向へ大きく動くような映像の場合、プリフェッチ領域内でブロックマッチングが成功するブロックと、失敗するブロックとが混在し、フレームメモリ１０２に対するメモリアクセスが増加する。しかし、フレームメモリ１０２の帯域幅に対する制限によって、メモリアクセス回数は制限される。そして、増加したメモリアクセスが不可能な場合、インター予測の代わりにイントラ予測が選択され、圧縮効率の低下を招く。
【００５２】
図１０は、プリフェッチした参照画像を用いる画像圧縮装置の構成例を示している。図１０の画像圧縮装置１００１は、プリフェッチ画像記憶部１０１１、探索部１０１２、探索部１０１３、判定部１０１４、及び符号化部１０１５を含む。プリフェッチ画像記憶部１０１１は、参照画像を記憶する参照画像記憶部からプリフェッチされた領域のプリフェッチ画像１０２１を記憶する。
【００５３】
図１１は、図１０の画像圧縮装置１００１が行う画像圧縮処理の例を示すフローチャートである。まず、探索部１０１２は、符号化対象画像を縮小した縮小画像を用いて動き探索を行い、符号化対象画像に含まれる符号化対象ブロックの探索結果を生成する（ステップ１１０１）。
【００５４】
次に、判定部１０１４は、探索結果から符号化対象ブロックとプリフェッチ画像１０２１とのマッチングが失敗すると予測した場合、その探索結果に基づいて、参照画像内のプリフェッチされた領域の外側の領域を探索すると判定する（ステップ１１０２）。
【００５５】
次に、探索部１０１３は、判定部が外側の領域を探索すると判定した場合、符号化対象ブロックと参照画像内の外側の領域を含むマッチング対象領域の画像とのマッチングを行って、インター予測結果を生成する（ステップ１１０３）。
【００５６】
そして、符号化部１０１５は、インター予測結果に基づいて、符号化対象ブロックを符号化する（ステップ１１０４）。
【００５７】
このような画像圧縮装置１００１によれば、プリフェッチした参照画像を用いる画像圧縮において圧縮効率を向上させることができる。
【００５８】
図１の画像圧縮装置１０１は、図１０の画像圧縮装置１００１に対応し、フレームメモリ１０２は、参照画像記憶部に対応し、符号化部１１２は、符号化部１０１５に対応する。
【００５９】
図１２は、図２のインター予測部２０２の構成例を示している。図１２のインター予測部２０２は、探索部１０１２、探索部１０１３、判定部１０１４、及びプリフェッチメモリ１２０１を含む。
【００６０】
プリフェッチメモリ１２０１は、図１０のプリフェッチ画像記憶部１０１１に対応し、フレームメモリ１０２からプリフェッチした領域のデータを記憶する。探索部１０１２は、プリフェッチメモリ１２０１が記憶するデータを用いて前段探索を行い、探索部１０１３は、プリフェッチメモリ１２０１が記憶するデータ及びフレームメモリ１０２から読み出したデータを用いて、後段探索を行う。
【００６１】
前段探索において、探索部１０１２は、符号化対象画像を縮小した縮小画像を用いて、符号化対象画像に含まれる各ブロックの動き探索を行い、各ブロックの動きベクトル、ＳＡＤ、及び分割形状を、探索結果として判定部１０１４へ出力する。
【００６２】
判定部１０１４は、前段探索の探索結果を用いて、後段探索におけるブロックマッチングのマッチング対象領域がプリフェッチメモリ１２０１内に収まるか否かを判定する。そして、マッチング対象領域がプリフェッチメモリ１２０１内に収まらない場合、判定部１０１４は、後段探索においてプリフェッチ領域の外側の領域を探索するか否かを判定し、判定結果を探索部１０１３へ出力する。
【００６３】
後段探索において、探索部１０１３は、判定部１０１４が出力する判定結果に従って、符号化対象画像の原画像を用いて、符号化対象ブロックの動き探索を行う。そして、探索部１０１３は、符号化対象ブロックの動きベクトル、ＳＡＤ、及び分割形状を、インター予測結果として選択部２０３へ出力する。
【００６４】
図１３は、図１２の判定部１０１４の構成例を示している。図１３の判定部１０１４は、予測部１３０１、位置計算部１３０２、評価部１３０３、探索判定部１３０４、評価値バッファ１３０５、及び判定結果バッファ１３０６を含む。
【００６５】
位置計算部１３０２は、後段探索においてプリフェッチメモリ１２０１にプリフェッチされるプリフェッチ領域の位置を計算し、計算したプリフェッチ領域の位置を、予測部１３０１及び評価部１３０３へ出力する。プリフェッチ領域としては、例えば、符号化対象ブロックの位置を基点とする所定領域が用いられる。
【００６６】
予測部１３０１は、前段探索の探索結果に含まれる各ブロックの動きベクトル及び分割形状を用いて、参照画像内のマッチング対象領域を求める。そして、予測部１３０１は、マッチング対象領域を位置計算部１３０２が出力するプリフェッチ領域と比較することで、プリフェッチ領域内におけるブロックマッチングが成功するか否かを予測し、予測結果を評価部１３０３へ出力する。また、予測部１３０１は、予測結果を判定結果バッファ１３０６に格納する。
【００６７】
マッチング対象領域をプリフェッチ領域と比較することで、プリフェッチ領域内におけるブロックマッチングが成功するか否かを精度よく予測することができる。
【００６８】
評価部１３０３は、プリフェッチ領域内におけるブロックマッチングが失敗した場合に、プリフェッチ領域の外側の領域を探索する優先度を表す評価値を計算し、計算した評価値をブロック毎に評価値バッファ１３０５に格納する。これにより、評価値バッファ１３０５には、符号化対象画像内のそれぞれのブロックの評価値が蓄積される。この評価値としては、例えば、プリフェッチ領域の外側の領域のデータを読み出すためにフレームメモリ１０２にアクセスするアクセス回数の評価値が用いられる。
【００６９】
探索判定部１３０４は、評価値バッファ１３０５を参照してそれぞれのブロックの評価値を比較することで、各ブロックに対してプリフェッチ領域の外側の領域を探索するか否かを判定し、判定結果を判定結果バッファ１３０６に格納する。
【００７０】
画像圧縮装置１００１は、例えば、ハードウェア回路として実装することができる。この場合、画像圧縮装置１００１の各構成要素を個別の回路として実装してもよく、１つの集積回路として実装してもよい。
【００７１】
図１４Ａ及び図１４Ｂは、図１２のインター予測部２０２が行うインター予測処理の例を示すフローチャートである。まず、探索部１０１２は、前段探索を行って、各ブロックの動きベクトル、ＳＡＤ、及び分割形状を含む探索結果を生成し（ステップ１４０１）、判定部１０１４の位置計算部１３０２は、プリフェッチ領域の位置を計算する（ステップ１４０２）。
【００７２】
次に、予測部１３０１は、前段探索の探索結果に含まれる１つのブロックを選択し、そのブロックの動きベクトル及び分割形状を用いて、参照画像内のマッチング対象領域を求める。そして、予測部１３０１は、マッチング対象領域がプリフェッチ領域内に収まるか否かをチェックする（ステップ１４０３）。
【００７３】
マッチング対象領域がプリフェッチ領域内に収まる場合、予測部１３０１は、プリフェッチ領域内におけるブロックマッチングが成功すると予測する。一方、マッチング対象領域がプリフェッチ領域内に収まらない場合、予測部１３０１は、プリフェッチ領域内におけるブロックマッチングが失敗すると予測する。
【００７４】
図１５は、マッチング対象領域とプリフェッチ領域との関係の例を示している。前段探索で用いたブロックのうち、ブロック１５１１のマッチング対象領域１５３１は、ブロック１５１１の動きベクトル１５２１が指す位置を基点とする所定領域である。一方、ブロック１５１２のマッチング対象領域１５３２は、ブロック１５１２の動きベクトル１５２２が指す位置を基点とする所定領域である。
【００７５】
この場合、マッチング対象領域１５３１はプリフェッチ領域１５０１内に収まっているため、ブロック１５１１に対するブロックマッチングは成功すると予測される。一方、マッチング対象領域１５３２はプリフェッチ領域１５０１内に収まらないため、ブロック１５１２に対するブロックマッチングは失敗すると予測される。
【００７６】
ブロックマッチングが成功すると予測した場合（ステップ１４０３，ＹＥＳ）、予測部１３０１は、予測結果を判定結果として判定結果バッファ１３０６に格納する（ステップ１４０４）。この場合、プリフェッチ領域内における通常のブロックマッチングを行うことを示す判定結果が、判定結果バッファ１３０６に格納される。
【００７７】
次に、予測部１３０１は、選択したブロックが前段探索の探索結果に含まれる最終ブロックであるか否かをチェックする（ステップ１４０５）。選択したブロックが最終ブロックではない場合（ステップ１４０５，ＮＯ）、予測部１３０１は、次のブロックを選択して、ステップ１４０３以降の処理を繰り返す。
【００７８】
一方、ブロックマッチングが失敗すると予測した場合（ステップ１４０３，ＮＯ）、評価部１３０３は、プリフェッチ領域の外側の領域を探索する優先度を表す評価値を計算し（ステップ１４０８）、評価値バッファ１３０５に格納する（ステップ１４０９）。そして、予測部１３０１は、ステップ１４０５以降の処理を行う。
【００７９】
選択したブロックが最終ブロックである場合（ステップ１４０５，ＹＥＳ）、探索判定部１３０４は、評価値バッファ１３０５の評価値に基づいて、各ブロックに対してプリフェッチ領域の外側の領域を探索するか否かを判定する（ステップ１４０６）。そして、探索判定部１３０４は、判定結果を判定結果バッファ１３０６に格納する（ステップ１４０７）。この場合、プリフェッチ領域の外側の領域を探索してブロックマッチングを行うことを示す判定結果、又は探索を行わないことを示す判定結果のいずれか一方が、判定結果バッファ１３０６に格納される。
【００８０】
次に、後段探索において、探索部１０１３は、符号化対象画像内の１つのブロックを選択し、選択したブロックに対応する、判定結果バッファ１３０６の判定結果をチェックする（ステップ１４１０）。判定結果が探索を行うことを示す場合（ステップ１４１０，ＹＥＳ）、探索部１０１３は、その判定結果がプリフェッチ領域内におけるブロックマッチングを示しているか否かをチェックする（ステップ１４１１）。
【００８１】
判定結果がプリフェッチ領域内におけるブロックマッチングを示す場合（ステップ１４１１，ＹＥＳ）、探索部１０１３は、プリフェッチメモリ１２０１内のプリフェッチ領域のデータを更新する（ステップ１４１２）。次に、探索部１０１３は、プリフェッチメモリ１２０１からデータを読み出し（ステップ１４１３）、選択したブロックと読み出したデータとのブロックマッチングを行い、インター予測結果を生成する（ステップ１４１４）。
【００８２】
そして、探索部１０１３は、選択したブロックが符号化対象画像内の最終ブロックであるか否かをチェックする（ステップ１４１５）。選択したブロックが最終ブロックではない場合（ステップ１４１５，ＮＯ）、探索部１０１３は、次のブロックを選択して、ステップ１４１０以降の処理を繰り返す。
【００８３】
一方、判定結果がプリフェッチ領域の外側の領域におけるブロックマッチングを示す場合（ステップ１４１１，ＮＯ）、探索部１０１３は、フレームメモリ１０２から外側の領域のデータを読み出す（ステップ１４１６）。次に、探索部１０１３は、選択したブロックと、読み出したデータを含むマッチング対象領域のデータとのブロックマッチングを行い、インター予測結果を生成する（ステップ１４１４）。そして、探索部１０１３は、ステップ１４１５以降の処理を行う。
【００８４】
判定結果が探索を行わないことを示す場合（ステップ１４１０，ＮＯ）、探索部１０１３は、ブロックマッチングを行うことなく、ステップ１４１５以降の処理を行う。この場合、インター予測結果が生成されないため、選択部２０３は、そのブロックの予測結果として、イントラ予測結果を選択する。そして、選択したブロックが最終ブロックである場合（ステップ１４１５，ＹＥＳ）、探索部１０１３は、処理を終了する。
【００８５】
図１６は、ステップ１４０３における予測結果の例を示している。図１６の網掛けで示されるブロックでは、プリフェッチ領域内におけるブロックマッチングが成功すると予測され、それ以外のブロック１６０１〜ブロック１６０４では、プリフェッチ領域内におけるブロックマッチングが失敗すると予測される。
【００８６】
この場合、ステップ１４０８において、ブロック１６０１〜ブロック１６０４の各々に対して評価値が計算される。このとき、評価部１３０３は、例えば、次式により、簡易評価値Ｅ１及び詳細評価値Ｅ２の２種類の評価値を計算する。
Ｅ１＝（Ｐｘ＋α）×（Ｐｙ＋α）−β                    （１）
Ｅ２＝（（Ｐｘ＋α）×（Ｐｙ＋α）−β）×ＤＳＡＤ      （２）
ＤＳＡＤ＝ＲＳＡＤ／（Ｐｘ×Ｐｙ）                      （３）
【００８７】
Ｐｘは、前段探索におけるブロックの水平方向の画素数を、後段探索におけるブロックの水平方向の画素数に換算した値を表し、Ｐｙは、前段探索におけるブロックの垂直方向の画素数を、後段探索におけるブロックの垂直方向の画素数に換算した値を表す。
【００８８】
αは、前段探索におけるブロックを拡張するための画素数を表す。例えば、７×７の矩形領域を単位としてブロックマッチングが行われる場合、処理対象画素の上下左右３画素の範囲がブロックマッチングに使用されるため、α＝６となる。
【００８９】
βは、前段探索におけるマッチング対象領域のうちプリフェッチ領域内に含まれる部分の画素数を表す。プリフェッチ領域内に含まれる部分については、フレームメモリ１０２から新たに読み出す必要がないため、マッチング対象領域の画素数（Ｐｘ＋α）×（Ｐｙ＋α）からβが減算される。
【００９０】
ＲＳＡＤは、前段探索におけるブロックのＳＡＤを表し、ＤＳＡＤは、ＲＳＡＤを後段探索におけるブロックの１画素当たりのＳＡＤに換算した値を表す。
【００９１】
プリフェッチ領域の外側の領域のデータを読み出すためにフレームメモリ１０２にアクセスするアクセス回数は、その領域のデータ量に比例すると考えられる。簡易評価値Ｅ１及び詳細評価値Ｅ２は、プリフェッチ領域の外側の領域のデータ量を表すため、その領域のデータを読み出すためのメモリアクセス回数の指標として用いることができる。簡易評価値Ｅ１又は詳細評価値Ｅ２が小さいブロックほど、メモリアクセス回数が少なくなるため、動作効率はよくなる。したがって、簡易評価値Ｅ１又は詳細評価値Ｅ２が小さいブロックほど、プリフェッチ領域の外側の領域を探索する優先度が高く設定される。
【００９２】
詳細評価値Ｅ２は、ＤＳＡＤを用いて簡易評価値Ｅ１を重み付けした値である。インター予測におけるＳＡＤが大きい場合、イントラ予測を選択した方が圧縮効率が向上するため、そのブロックの予測結果としてイントラ予測結果が選択される確率が高くなる。そこで、簡易評価値Ｅ１にＤＳＡＤを重みとして乗算することで、ＤＳＡＤが小さなブロックの優先度を高くしている。
【００９３】
図１７は、評価値バッファ１３０５の例を示している。評価値バッファ１３０５は、Ｋ個のブロックにそれぞれ対応するエントリ１７０１−１〜エントリ１７０１−Ｋを記憶する。Ｋは、プリフェッチ領域内におけるブロックマッチングが失敗すると予測されたブロックの個数を表す。
【００９４】
エントリ１７０１−ｉ（ｉ＝１〜Ｋ）は、簡易評価値Ｅ１（ｉ）及び詳細評価値Ｅ２（ｉ）を含む。エントリ１７０１−１〜エントリ１７０１−Ｋは、Ｅ２（ｉ）を第１キーとしてＥ２（ｉ）の昇順にソートされている。
Ｅ２（１）≦Ｅ２（２）≦．．．≦Ｅ２（Ｋ）      （４）
【００９５】
したがって、エントリ１７０１−１の優先度が最も高く、エントリ１７０１−１から遠いエントリほど優先度が低くなる。ただし、Ｅ２（ｉ）が同値の場合は、Ｅ１（ｉ）を第２キーとしてＥ１（ｉ）の昇順にソートされる。Ｅ２（ｉ）及びＥ１（ｉ）が同値の場合は、サイズが大きい方のブロックの優先度が高くなるようにソートされる。Ｅ２（ｉ）及びＥ１（ｉ）が同値で、サイズも同じである場合は、いずれのブロックの優先度が高くなっても構わない。
【００９６】
ステップ１４０６において、探索判定部１３０４は、例えば、アーキテクチャにより許容されるＥ１の総和の上限値Ｎを用いて、プリフェッチ領域の外側の領域を探索するか否かを判定することができる。
【００９７】
この場合、探索判定部１３０４は、評価値バッファ１３０５のエントリのうち、優先度の高いものから順に１個ずつエントリを選択して、選択したエントリのＥ１（ｉ）の総和を計算する。そして、Ｅ１（ｉ）の総和がＮ以下である場合、探索判定部１３０４は、選択したエントリについて、プリフェッチ領域の外側の領域を探索すると判定する。一方、Ｅ１（ｉ）の総和がＮを超える場合、探索判定部１３０４は、最後に選択したエントリと残りのエントリについて、探索を行わないと判定する。
【００９８】
例えば、Ｅ１（１）＋Ｅ１（２）＋Ｅ１（３）≦Ｎである場合、範囲１７０２のエントリ１７０１−１〜エントリ１７０１−３に対応する３個のブロックに対して、プリフェッチ領域の外側の領域を探索すると判定される。一方、Ｅ１（１）＋Ｅ１（２）＋Ｅ１（３）＋Ｅ１（４）＞Ｎである場合、エントリ１７０１−４〜エントリ１７０１−Ｋに対応する（Ｋ−３）個のブロックに対して、探索を行わないと判定される。
【００９９】
このように、プリフェッチ領域内におけるブロックマッチングが失敗すると予測されたブロックの一部に対して、外側の領域を探索すると判定することで、後段探索において、インター予測結果が生成されるブロックの個数が増加する。これにより、選択部２０３によってインター予測結果が選択されるブロックが増加するため、圧縮効率が向上する。上限値Ｎは、例えば、以下のようにして決定することができる。
【０１００】
画像圧縮処理では、リアルタイム性を確保するため、１フレーム当たりの処理時間が予め決まっていることが多い。あるアーキテクチャにおいて、１フレーム当たりの処理時間がＣ１サイクルであり、１フレームの符号化に最大Ｃ２サイクルかかる場合、１フレーム当たりの猶予時間は、（Ｃ１−Ｃ２）サイクルとなる。この猶予時間を用いて、フレームメモリ１０２に対するメモリアクセス回数を計算することが可能である。
【０１０１】
１サイクル当たりにフレームメモリ１０２から読み出せるデータ量は、アーキテクチャによって異なる。１サイクルにつきγ画素のデータが読み出せるとすると、（Ｃ１−Ｃ２）サイクルの間に読み出せる画素数は、（Ｃ１−Ｃ２）×γとなる。この場合、Ｎ＝（Ｃ１−Ｃ２）×γと設定される。
【０１０２】
このように、上限値Ｎをアーキテクチャにより許容される値に設定することで、動作効率を保障した上で、圧縮効率を改善することができる。
【０１０３】
なお、探索を行わないと判定されたブロックについては、後段探索が行われないため、その探索時間を猶予時間に加算することも可能である。前段探索におけるブロックの分割形状から、プリフェッチ領域内におけるブロックマッチングを行う場合の探索時間は一意に決定できる。そこで、（Ｃ１−Ｃ２）サイクルの猶予時間に対して、探索を行わないと判定されたブロックの探索時間を加算することで、上限値Ｎの値が増加する。
【０１０４】
図１８は、探索判定部１３０４が行う上限値Ｎの更新処理の例を示すフローチャートである。この更新処理は、探索判定部１３０４がＮ＝（Ｃ１−Ｃ２）×γと設定して、評価値バッファ１３０５の各エントリに対する判定を一旦行った後に、判定結果を変更するために行われる。
【０１０５】
この更新処理では、評価値バッファ１３０５のエントリを指す探索無効ポインタＰＴＲ１及び探索有効ポインタＰＴＲ２が用いられる。例えば、ＰＴＲ１又はＰＴＲ２が指すエントリがエントリ１７０１−ｉである場合、そのポインタの値はｉである。ＰＴＲ１は、探索を行わないと判定されたエントリを指すポインタであり、処理開始時において、ＰＴＲ１＝Ｋに設定される。ＰＴＲ２は、プリフェッチ領域の外側の領域を探索すると判定されたエントリのうち、最も優先度の低いエントリを指すポインタである。
【０１０６】
まず、探索判定部１３０４は、ＰＴＲ１とＰＴＲ２とを比較し（ステップ１８０１）、ＰＴＲ１＞ＰＴＲ２である場合（ステップ１８０１，ＹＥＳ）、Ｃ（ＰＴＲ１）×γをＮに加算する（ステップ１８０２）。Ｃ（ＰＴＲ１）は、ＰＴＲ１が指すエントリの探索時間を表す。
【０１０７】
このとき、探索判定部１３０４は、探索を行わないと判定したエントリについて、更新されたＮを用いて、プリフェッチ領域の外側の領域を探索するか否かを再度判定する。そして、探索判定部１３０４は、外側の領域を探索すると再判定したエントリのうち、最も優先度の低いエントリを指すポインタＰＴＲ３を生成する（ステップ１８０３）。
【０１０８】
次に、探索判定部１３０４は、ＰＴＲ１を１だけデクリメントして（ステップ１８０４）、ＰＴＲ１とＰＴＲ３とを比較する（ステップ１８０５）。ＰＴＲ１＞ＰＴＲ３である場合（ステップ１８０５，ＹＥＳ）、探索判定部１３０４は、ＰＴＲ２にＰＴＲ３を設定することで、ＰＴＲ２を更新する（ステップ１８０６）。そして、探索判定部１３０４は、ステップ１８０１以降の処理を繰り返す。
【０１０９】
そして、ＰＴＲ１≦ＰＴＲ２である場合（ステップ１８０１，ＮＯ）、又はＰＴＲ１≦ＰＴＲ３である場合（ステップ１８０５，ＮＯ）、探索判定部１３０４は、処理を終了する。
【０１１０】
このような更新処理によれば、探索を行わないブロックの余剰サイクルを用いて読み出せる画素数をＮに加算することで、プリフェッチ領域の外側の領域を探索するブロックの個数が増加するため、圧縮効率がさらに向上する。
【０１１１】
図１９は、判定結果バッファ１３０６の例を示している。この例では、前段探索において、符号化対象画像がブロックＢ１〜ブロックＢ１４の１４個のブロックに分割されている。
【０１１２】
このうち、ブロックＢ１、ブロックＢ２、ブロックＢ５〜ブロックＢ７、ブロックＢ９、ブロックＢ１１、ブロックＢ１３、及びブロックＢ１４に対しては、プリフェッチ領域内におけるブロックマッチングが成功すると予測される。一方、ブロックＢ３、ブロックＢ４、ブロックＢ８、ブロックＢ１０、及びブロックＢ１２に対しては、プリフェッチ領域内におけるブロックマッチングが失敗すると予測される。
【０１１３】
この場合、判定結果バッファ１３０６のブロックＢ１、ブロックＢ２、ブロックＢ５〜ブロックＢ７、ブロックＢ９、ブロックＢ１１、ブロックＢ１３、及びブロックＢ１４のエントリには、判定結果Ｄ１が格納される。判定結果Ｄ１は、プリフェッチ領域内におけるブロックマッチングを行うことを示す。
【０１１４】
評価値バッファ１３０５には、ブロックマッチングが失敗すると予測された５個のブロックに対応するエントリ１９０１−１〜エントリ１９０１−５が、Ｅ２の昇順に格納される。それぞれのエントリのＥ２及びＥ１の値は、以下の通りである。
エントリ１９０１−１  Ｂ３    Ｅ２＝１０２，Ｅ１＝２７
エントリ１９０１−２  Ｂ１２  Ｅ２＝１２６，Ｅ１＝３５
エントリ１９０１−３  Ｂ１０  Ｅ２＝１２８，Ｅ１＝３２
エントリ１９０１−４  Ｂ４    Ｅ２＝１３１，Ｅ１＝４０
エントリ１９０１−５  Ｂ８    Ｅ２＝１３１，Ｅ１＝４５
【０１１５】
例えば、上限値Ｎが１００である場合、範囲１９０２のエントリ１９０１−１〜エントリ１９０１−３のＥ１の総和は９４であり、Ｎ以下となる。そこで、ブロックＢ３、ブロックＢ１２、及びブロックＢ１０に対して、プリフェッチ領域の外側の領域を探索すると判定され、判定結果バッファ１３０６のそれらのブロックのエントリには、判定結果Ｄ２が格納される。判定結果Ｄ２は、プリフェッチ領域の外側の領域を探索してブロックマッチングを行うことを示す。
【０１１６】
一方、ブロックＢ４及びブロックＢ８に対しては、探索を行わないと判定され、判定結果バッファ１３０６のそれらのブロックのエントリには、探索を行わないことを示す判定結果Ｄ３が格納される。
【０１１７】
図１９の例では、符号化対象画像が１４個のブロックに分割されているが、Ｈ．２６４又はＨＥＶＣの画像圧縮処理では、符号化対象画像のサイズが大きいため、より多くのブロックに分割される。この場合、プリフェッチ領域の外側の領域を探索すると判定されるブロックの個数も増加するため、動作効率の低下を抑えながら、圧縮効率を大きく改善することが可能になる。
【０１１８】
なお、簡易評価値Ｅ１及び詳細評価値Ｅ２の両方を用いることが最良であるが、簡易評価値Ｅ１のみを用いて探索判定を行うことも可能である。この場合、評価値バッファ１３０５は、エントリをＥ１の昇順にソートして格納し、探索判定部１３０４は、Ｅ１の総和の上限値Ｎにより指定される範囲内で、外側の領域を探索するエントリを選択する。
【０１１９】
ところで、Ｈ．２６４又はＨＥＶＣの画像圧縮処理では、１枚の符号化対象画像に対して複数の参照画像を用意しておき、インター予測に使用する参照画像をブロック毎に選択することができる。この場合、インター予測部２０２は、参照画像毎に前段探索及び後段探索を行う。
【０１２０】
図２０Ａ及び図２０Ｂは、複数の参照画像を用いるインター予測処理の例を示すフローチャートである。まず、探索部１０１２は、１枚の参照画像を選択して、選択した参照画像を用いて前段探索を行い、探索結果を生成する（ステップ２００１）。次に、判定部１０１４は、ステップ２００２〜ステップ２０１１の処理を行って、判定結果を生成する。
【０１２１】
ステップ２００１〜ステップ２００３、ステップ２００５、ステップ２００６、及びステップ２００７の処理は、図１４Ａのステップ１４０１〜ステップ１４０５及びステップ１４０８の処理と同様である。
【０１２２】
ブロックマッチングが失敗すると予測した場合（ステップ２００３，ＮＯ）、評価部１３０３は、評価値を計算した後（ステップ２００７）、選択した参照画像とは異なる別の参照画像を用いた予測結果をチェックする（ステップ２００８）。
【０１２３】
別の参照画像を用いた前段探索において、選択したブロックと同じ位置かつ同じ形状のブロックが存在し、そのブロックに対して、ステップ２００３において既にブロックマッチングが成功すると予測されている場合があり得る。この場合（ステップ２００８，ＹＥＳ）、評価部１３０３は、選択したブロックの優先度を下げて、評価値を評価値バッファ１３０５に格納する（ステップ２００９）。
【０１２４】
ステップ２００９においては、例えば、評価値バッファ１３０５内に設けられた低優先度領域に、評価値が格納される。これにより、そのブロックに対してプリフェッチ領域の外側の領域を探索すると判定される確率が低下する。
【０１２５】
一方、いずれの参照画像を用いた予測においても、同じブロックに対してブロックマッチングが成功すると予測されていない場合（ステップ２００８，ＮＯ）、評価部１３０３は、評価値を評価値バッファ１３０５に格納する（ステップ２０１０）。この場合、低優先度領域以外の領域に、評価値が格納される。
【０１２６】
ブロックマッチングが成功すると予測した場合（ステップ２００３，ＹＥＳ）、評価部１３０３は、別の参照画像を用いた予測結果をチェックする（ステップ２００４）。いずれの参照画像を用いた予測においても、同じブロックに対してブロックマッチングが失敗すると予測されていない場合（ステップ２００４，ＮＯ）、評価部１３０３は、判定結果を判定結果バッファ１３０６に格納する（ステップ２００５）。
【０１２７】
一方、別の参照画像を用いた予測において、同じブロックに対してブロックマッチングが失敗すると予測されている場合（ステップ２００４，ＹＥＳ）、評価部１３０３は、ステップ２０１１の処理を行った後に、ステップ２００５の処理を行う。ステップ２０１１において、評価部１３０３は、評価値バッファ１３０５に格納されている、別の参照画像を用いて計算した評価値を、低優先度領域に移動させる。
【０１２８】
選択したブロックが最終ブロックである場合（ステップ２００６，ＹＥＳ）、探索部１０１２は、次の参照画像を選択して、ステップ２００１以降の処理を繰り返す。これにより、評価値バッファ１３０５には、符号化対象画像内のそれぞれのブロックの評価値が、参照画像毎に蓄積される。
【０１２９】
そして、すべての参照画像を選択した場合、探索判定部１３０４は、評価値バッファ１３０５の評価値に基づいて、各参照画像を用いた場合の各ブロックに対してプリフェッチ領域の外側の領域を探索するか否かを判定する（ステップ２０１２）。このとき、探索判定部１３０４は、ステップ１４０６と同様に、上限値Ｎを用いて外側の領域を探索するか否かを判定することができる。そして、探索判定部１３０４は、すべての参照画像に対するブロック毎の判定結果を、判定結果バッファ１３０６に格納する（ステップ２０１３）。
【０１３０】
次に、後段探索において、探索部１０１３は、１枚の参照画像を選択して、選択した参照画像を用いてステップ２０１４〜ステップ２０２０の処理を行い、インター予測結果を生成する。ステップ２０１４〜ステップ２０２０の処理は、図１４Ａのステップ１４１０〜ステップ１４１６の処理と同様である。
【０１３１】
このようなインター予測処理によれば、別の参照画像を用いてブロックマッチングが成功すると予測されたブロックの優先度を下げることで、一度もブロックマッチングが成功すると予測されていないブロックの優先度を上げることができる。これにより、後段探索において、それぞれのブロックに対してインター予測結果が生成される可能性が高くなり、選択部２０３によってインター予測結果が選択される確率が高くなるため、圧縮効率が向上する。
【０１３２】
図２１は、複数の参照画像を用いるインター予測処理の判定結果バッファ１３０６の例を示している。この例では、参照画像Ｒ１及び参照画像Ｒ２の２枚の参照画像が用いられ、最初に参照画像Ｒ１を用いた前段探索が行われ、次に、参照画像Ｒ２を用いた前段探索が行われる。
【０１３３】
参照画像Ｒ１を用いた前段探索において、符号化対象画像がブロックＢ１〜ブロックＢ１４の１４個のブロックに分割されている。このうち、ブロックＢ１、ブロックＢ２、ブロックＢ５〜ブロックＢ７、ブロックＢ９、及びブロックＢ１１〜ブロックＢ１３に対しては、プリフェッチ領域内におけるブロックマッチングが成功すると予測される。一方、ブロックＢ３、ブロックＢ４、ブロックＢ８、ブロックＢ１０、及びブロックＢ１４に対しては、プリフェッチ領域内におけるブロックマッチングが失敗すると予測される。
【０１３４】
また、参照画像Ｒ２を用いた前段探索において、符号化対象画像がブロックＢ１５〜ブロックＢ２７の１３個のブロックに分割されている。このうち、ブロックＢ１６、ブロックＢ１７、ブロックＢ１９〜ブロックＢ２１、及びブロックＢ２４〜ブロックＢ２６に対しては、プリフェッチ領域内におけるブロックマッチングが成功すると予測される。一方、ブロックＢ１５、ブロックＢ１８、ブロックＢ２２、ブロックＢ２３、及びブロックＢ２７に対しては、プリフェッチ領域内におけるブロックマッチングが失敗すると予測される。
【０１３５】
この場合、判定結果バッファ１３０６のブロックＢ１、ブロックＢ２、ブロックＢ５〜ブロックＢ７、ブロックＢ９、及びブロックＢ１１〜ブロックＢ１３のエントリには、判定結果Ｄ１が格納される。また、ブロックＢ１６、ブロックＢ１７、ブロックＢ１９〜ブロックＢ２１、及びブロックＢ２４〜ブロックＢ２６のエントリにも、判定結果Ｄ１が格納される。
【０１３６】
評価値バッファ１３０５には、ブロックマッチングが失敗すると予測された１０個のブロックに対応するエントリ２１０１−１〜エントリ２１０１−１０が、Ｅ２の昇順に格納される。
【０１３７】
ただし、参照画像Ｒ１を用いた前段探索におけるブロックＢ１は、参照画像Ｒ２を用いた前段探索におけるブロックＢ１５と同じ位置かつ同じ形状のブロックである。したがって、ブロックＢ１５に対する予測では、ブロックＢ１に対する予測結果がチェックされる。そして、ブロックＢ１に対してブロックマッチングが成功すると予測されている場合（判定結果Ｄ１）、ブロックＢ１５のエントリ２１０１−８は、低優先度領域２１０３に格納される。
【０１３８】
同様に、ブロックＢ１７に対する予測では、ブロックＢ３に対する予測結果がチェックされる。そして、ブロックＢ３に対してブロックマッチングが失敗すると予測されている場合（判定結果Ｄ３）、ブロックＢ３のエントリ２１０１−９は、低優先度領域２１０３に移動する。
【０１３９】
また、ブロックＢ２１に対する予測では、ブロックＢ８に対する予測結果がチェックされ、ブロックＢ８に対してブロックマッチングが失敗すると予測されている場合、ブロックＢ８のエントリ２１０１−１０は、低優先度領域２１０３に移動する。
【０１４０】
さらに、ブロックＢ２２に対する予測では、ブロックＢ９に対する予測結果がチェックされ、ブロックＢ９に対してブロックマッチングが成功すると予測されている場合、ブロックＢ２２のエントリ２１０１−７は、低優先度領域２１０３に格納される。
【０１４１】
低優先度領域２１０３内のエントリ２１０１−７〜エントリ２１０１−１０は、それらのＥ２の値に基づいてソートされ、エントリ２１０１−１〜エントリ２１０１−６のＥ２の値には影響されない。それぞれのエントリのＥ２及びＥ１の値は、以下の通りである。
エントリ２１０１−１    Ｂ２３  Ｅ２＝１０２，Ｅ１＝２７
エントリ２１０１−２    Ｂ１８  Ｅ２＝１２６，Ｅ１＝３２
エントリ２１０１−３    Ｂ１０  Ｅ２＝１２８，Ｅ１＝３５
エントリ２１０１−４    Ｂ２７  Ｅ２＝１３１，Ｅ１＝４０
エントリ２１０１−５    Ｂ１４  Ｅ２＝１３４，Ｅ１＝４０
エントリ２１０１−６    Ｂ４    Ｅ２＝１４０，Ｅ１＝２６
エントリ２１０１−７    Ｂ２２  Ｅ２＝１３１，Ｅ１＝２６
エントリ２１０１−８    Ｂ１５  Ｅ２＝１５４，Ｅ１＝３４
エントリ２１０１−９    Ｂ３    Ｅ２＝１７８，Ｅ１＝５６
エントリ２１０１−１０  Ｂ８    Ｅ２＝１８０，Ｅ１＝５２
【０１４２】
例えば、上限値Ｎが１５０である場合、範囲２１０２のエントリ２１０１−１〜エントリ２１０１−４のＥ１の総和は１３４であり、Ｎ以下となる。そこで、ブロックＢ２３、ブロックＢ１８、ブロックＢ１０、及びブロックＢ２７に対して、プリフェッチ領域の外側の領域を探索すると判定され、判定結果バッファ１３０６のそれらのブロックのエントリには、判定結果Ｄ２が格納される。
【０１４３】
一方、ブロックＢ１４、ブロックＢ４、ブロックＢ２２、ブロックＢ１５、ブロックＢ３、及びブロックＢ８に対しては、探索を行わないと判定され、判定結果バッファ１３０６のそれらのブロックのエントリには、判定結果Ｄ３が格納される。
【０１４４】
図１の画像圧縮装置１０１、図２のモード判定部１１１、及び図３のインター予測部２０２の構成は一例に過ぎず、画像圧縮装置１０１の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。
【０１４５】
また、図１０の画像圧縮装置１００１、図１２のインター予測部２０２、及び図１３の判定部１０１４の構成は一例に過ぎず、画像圧縮装置１００１の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。例えば、図１３の判定部１０１４において、評価値を用いることなく、プリフェッチ領域の外側の領域を探索するか否かを判定する場合、評価部１３０３及び評価値バッファ１３０５を省略することができる。
【０１４６】
図５、図１１、図１４Ａ、図１４Ｂ、図１８、図２０Ａ、及び図２０Ｂに示したフローチャートは一例に過ぎず、画像圧縮装置の構成又は条件に応じて一部の処理を省略又は変更してもよい。例えば、図１４Ａのインター予測処理において、評価値を用いることなく、プリフェッチ領域の外側の領域を探索するか否かを判定する場合、ステップ１４０８及びステップ１４０９の処理を省略することができる。
【０１４７】
図１４Ａのステップ１４０１、図１４Ｂのステップ１４１４、図２０Ａのステップ２００１、及び図２０Ｂのステップ２０１８において、ＳＡＤの代わりに、ブロックと参照画像との相違度を表す別の指標を用いてもよい。例えば、ブロックと参照画像との間の差分二乗和を含む探索結果又はインター予測結果を生成することもできる。
【０１４８】
図４、図６〜図８、及び図１５の探索範囲及びプリフェッチ領域は一例に過ぎず、画像圧縮装置の構成又は条件に応じて別の探索範囲又はプリフェッチ領域を用いてもよい。図９の原画像及び縮小画像は一例に過ぎず、画像圧縮装置の構成又は条件に応じて別の原画像又は縮小画像を用いてもよい。
【０１４９】
図１５の動きベクトル及びマッチング対象領域は一例に過ぎず、入力される映像信号に応じて別の動きベクトル及びマッチング対象領域が生成されることもある。図１６の予測結果と図１７、図１９、及び図２１の評価値バッファ及び判定結果バッファのエントリは一例に過ぎず、入力される映像信号に応じて別の予測結果又はエントリが生成されることもある。
【０１５０】
式（１）〜式（４）は一例に過ぎず、画像圧縮装置の構成又は条件に応じて別の計算式を用いてもよい。例えば、式（１）及び式（２）の簡易評価値Ｅ１及び詳細評価値Ｅ２の代わりに、メモリアクセス回数を表す別の評価値を用いてもよく、式（３）のＲＳＡＤの代わりに、ブロックと参照画像との相違度を表す別の指標を用いてもよい。
【０１５１】
図１の画像圧縮装置１０１及び図１０の画像圧縮装置１００１は、ハードウェア回路として実装することもでき、図２２に示すような情報処理装置（コンピュータ）を用いて実装することもできる。
【０１５２】
図２２の情報処理装置は、Central Processing Unit（ＣＰＵ）２２０１、メモリ２２０２、入力装置２２０３、出力装置２２０４、補助記憶装置２２０５、媒体駆動装置２２０６、及びネットワーク接続装置２２０７を備える。これらの構成要素はバス２２０８により互いに接続されている。図１のフレームメモリ１０２は、バス２２０８に接続されていてもよい。
【０１５３】
メモリ２２０２は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）、フラッシュメモリ等の半導体メモリであり、画像圧縮処理に用いられるプログラム及びデータを記憶する。メモリ２２０２は、図３のプリフェッチメモリ３０１、図１０のプリフェッチ画像記憶部１０１１、図１２のプリフェッチメモリ１２０１、図１３の評価値バッファ１３０５、及び判定結果バッファ１３０６として用いることができる。
【０１５４】
ＣＰＵ２２０１（プロセッサ）は、例えば、メモリ２２０２を利用してプログラムを実行することにより、図１のモード判定部１１１及び符号化部１１２として動作する。ＣＰＵ２２０１は、図２のイントラ予測部２０１、インター予測部２０２、選択部２０３、及び図３の探索部３０２としても動作する。
【０１５５】
ＣＰＵ２２０１は、メモリ２２０２を利用してプログラムを実行することにより、図１０の探索部１０１２、探索部１０１３、判定部１０１４、及び符号化部１０１５としても動作する。ＣＰＵ２２０１は、図１２の判定部１０１４、図１３の予測部１３０１、位置計算部１３０２、評価部１３０３、及び探索判定部１３０４としても動作する。
【０１５６】
入力装置２２０３は、例えば、キーボード、ポインティングデバイス等であり、ユーザ又はオペレータからの指示又は情報の入力に用いられる。出力装置２２０４は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザ又はオペレータへの問い合わせ又は処理結果の出力に用いられる。
【０１５７】
補助記憶装置２２０５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置２２０５は、ハードディスクドライブであってもよい。情報処理装置は、補助記憶装置２２０５にプログラム及びデータを格納しておき、それらをメモリ２２０２にロードして使用することができる。
【０１５８】
媒体駆動装置２２０６は、可搬型記録媒体２２０９を駆動し、その記録内容にアクセスする。可搬型記録媒体２２０９は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体２２０９は、Compact Disk Read Only Memory（ＣＤ−ＲＯＭ）、Digital Versatile Disk（ＤＶＤ）、又はUniversal Serial Bus（ＵＳＢ）メモリであってもよい。ユーザ又はオペレータは、この可搬型記録媒体２２０９にプログラム及びデータを格納しておき、それらをメモリ２２０２にロードして使用することができる。
【０１５９】
このように、処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ２２０２、補助記憶装置２２０５、及び可搬型記録媒体２２０９のような、物理的な（非一時的な）記録媒体である。
【０１６０】
ネットワーク接続装置２２０７は、Local Area Network（ＬＡＮ）、インターネット等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。ネットワーク接続装置２２０７は、符号化ストリームを画像復元装置へ送信することもできる。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置２２０７を介して受信し、それらをメモリ２２０２にロードして使用することもできる。
【０１６１】
なお、情報処理装置が図２２のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、ユーザ又はオペレータとのインタフェースが不要の場合は、入力装置２２０３及び出力装置２２０４を省略してもよい。また、情報処理装置が可搬型記録媒体２２０９にアクセスしない場合は、媒体駆動装置２２０６を省略してもよい。
【０１６２】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【０１６３】
図１乃至図２２を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
（付記１）
参照画像を記憶する参照画像記憶部からプリフェッチされた領域のプリフェッチ画像を記憶するプリフェッチ画像記憶部と、
符号化対象画像を縮小した縮小画像を用いて動き探索を行い、前記符号化対象画像に含まれる符号化対象ブロックの探索結果を生成する第１探索部と、
前記探索結果から前記符号化対象ブロックと前記プリフェッチ画像とのマッチングが失敗すると予測した場合、前記探索結果に基づいて、前記参照画像内の前記プリフェッチされた領域の外側の領域を探索すると判定する判定部と、
前記判定部が前記外側の領域を探索すると判定した場合、前記符号化対象ブロックと前記参照画像内の前記外側の領域を含むマッチング対象領域の画像とのマッチングを行って、インター予測結果を生成する第２探索部と、
前記インター予測結果に基づいて、前記符号化対象ブロックを符号化する符号化部と、
を備えることを特徴とする画像圧縮装置。
（付記２）
前記判定部は、前記第１探索部での前記探索結果に基づいて前記参照画像内の前記マッチング対象領域を決定し、前記マッチング対象領域が前記プリフェッチされた領域内に収まらない場合、前記符号化対象ブロックと前記プリフェッチ画像との前記マッチングが失敗すると予測する予測部を含むことを特徴とする付記１記載の画像圧縮装置。
（付記３）
前記判定部は、前記外側の領域の画像を読み出すために前記参照画像記憶部にアクセスするアクセス回数の評価値を計算する評価部と、前記評価値に基づいて前記外側の領域を探索するか否かを判定する探索判定部とをさらに含むことを特徴とする付記２記載の画像圧縮装置。
（付記４）
前記第１探索部は、前記符号化対象画像に含まれる複数のブロックそれぞれに対する複数の探索結果を生成し、前記評価部は、前記予測部が前記複数のブロックに対するマッチングが失敗すると予測した場合、前記複数のブロックそれぞれに対する複数の評価値を計算し、前記探索判定部は、前記複数の評価値を比較した結果に基づいて、前記複数のブロックそれぞれに対して前記外側の領域を探索するか否かを判定することを特徴とする付記３記載の画像圧縮装置。
（付記５）
前記評価部は、前記複数の探索結果それぞれが示す前記複数のブロックと前記参照画像との相違度を用いて、前記複数のブロックそれぞれに対する複数のアクセス回数を重み付けすることで、前記複数の評価値を計算することを特徴とする付記４記載の画像圧縮装置。
（付記６）
前記参照画像記憶部は、前記参照画像とは異なる別の参照画像をさらに記憶し、前記プリフェッチ画像記憶部は、前記別の参照画像からプリフェッチされた領域の別のプリフェッチ画像をさらに記憶し、前記判定部は、前記符号化対象ブロックと前記別のプリフェッチ画像とのマッチングが成功すると予測した場合、前記符号化対象ブロックに対して前記外側の領域を探索すると判定する確率を低下させることを特徴とする付記１乃至５のいずれか１項に記載の画像圧縮装置。
（付記７）
参照画像を記憶する参照画像記憶部からプリフェッチされた領域のプリフェッチ画像を記憶する画像圧縮装置が、
符号化対象画像を縮小した縮小画像を用いて動き探索を行い、前記符号化対象画像に含まれる符号化対象ブロックの探索結果を生成し、
前記探索結果から前記符号化対象ブロックと前記プリフェッチ画像とのマッチングが失敗すると予測した場合、前記探索結果に基づいて、前記参照画像内の前記プリフェッチされた領域の外側の領域を探索すると判定し、
前記符号化対象ブロックと前記参照画像内の前記外側の領域を含むマッチング対象領域の画像とのマッチングを行って、インター予測結果を生成し、
前記インター予測結果に基づいて、前記符号化対象ブロックを符号化する、
ことを特徴とする画像圧縮方法。
（付記８）
前記画像圧縮装置は、前記探索結果に基づいて前記参照画像内の前記マッチング対象領域を決定し、前記マッチング対象領域が前記プリフェッチされた領域内に収まらない場合、前記符号化対象ブロックと前記プリフェッチ画像との前記マッチングが失敗すると予測することを特徴とする付記７記載の画像圧縮方法。
（付記９）
前記画像圧縮装置は、前記外側の領域の画像を読み出すために前記参照画像記憶部にアクセスするアクセス回数の評価値を計算し、前記評価値に基づいて前記外側の領域を探索するか否かを判定することを特徴とする付記８記載の画像圧縮方法。
（付記１０）
前記画像圧縮装置は、前記符号化対象画像に含まれる複数のブロックそれぞれに対する複数の探索結果を生成し、前記複数のブロックに対するマッチングが失敗すると予測した場合、前記複数のブロックそれぞれに対する複数の評価値を計算し、前記複数の評価値を比較した結果に基づいて、前記複数のブロックそれぞれに対して前記外側の領域を探索するか否かを判定することを特徴とする付記９記載の画像圧縮方法。
（付記１１）
参照画像を記憶する参照画像記憶部からプリフェッチされた領域のプリフェッチ画像を記憶するコンピュータのための画像圧縮プログラムであって、
符号化対象画像を縮小した縮小画像を用いて動き探索を行い、前記符号化対象画像に含まれる符号化対象ブロックの探索結果を生成し、
前記探索結果から前記符号化対象ブロックと前記プリフェッチ画像とのマッチングが失敗すると予測した場合、前記探索結果に基づいて、前記参照画像内の前記プリフェッチされた領域の外側の領域を探索すると判定し、
前記符号化対象ブロックと前記参照画像内の前記外側の領域を含むマッチング対象領域の画像とのマッチングを行って、インター予測結果を生成し、
前記インター予測結果に基づいて、前記符号化対象ブロックを符号化する、
処理をコンピュータに実行させる画像圧縮プログラム。
（付記１２）
前記コンピュータは、前記探索結果に基づいて前記参照画像内の前記マッチング対象領域を決定し、前記マッチング対象領域が前記プリフェッチされた領域内に収まらない場合、前記符号化対象ブロックと前記プリフェッチ画像との前記マッチングが失敗すると予測することを特徴とする付記１１記載の画像圧縮プログラム。
（付記１３）
前記コンピュータは、前記外側の領域の画像を読み出すために前記参照画像記憶部にアクセスするアクセス回数の評価値を計算し、前記評価値に基づいて前記外側の領域を探索するか否かを判定することを特徴とする付記１２記載の画像圧縮プログラム。
（付記１４）
前記コンピュータは、前記符号化対象画像に含まれる複数のブロックそれぞれに対する複数の探索結果を生成し、前記複数のブロックに対するマッチングが失敗すると予測した場合、前記複数のブロックそれぞれに対する複数の評価値を計算し、前記複数の評価値を比較した結果に基づいて、前記複数のブロックそれぞれに対して前記外側の領域を探索するか否かを判定することを特徴とする付記１３記載の画像圧縮プログラム。
【符号の説明】
【０１６４】
１０１、１００１  画像圧縮装置
１０２  フレームメモリ
１１１  モード判定部
１１２、１０１５  符号化部
２０１  イントラ予測部
２０２  インター予測部
２０３  選択部
３０１、１２０１  プリフェッチメモリ
３０２、１０１２、１０１３  探索部
４０１  参照画像
４１１  探索範囲
４１２、６１１〜６１４、１５０１  プリフェッチ領域
６０１  探索範囲
６２１、６３１  物体
６４１〜６４４、１５２１、１５２２  動きベクトル
７０１、８０１  符号化対象画像
７１１、７１２、８１１、８１２、１５１１、１５１２、１６０１〜１６０４  ブロック
７２１〜７２４、８２１〜８２５  領域
８３１  ベクトル
９０１  原画像
９０２  縮小画像
１０１１  プリフェッチ画像記憶部
１０１４  判定部
１０２１  プリフェッチ画像
１３０１  予測部
１３０２  位置計算部
１３０３  評価部
１３０４  探索判定部
１３０５  評価値バッファ
１３０６  判定結果バッファ
１５３１、１５３２  マッチング対象領域
１７０１−１〜１７０１−Ｋ、１９０１−１〜１９０１−５、２１０１−１〜２１０１−１０  エントリ
１７０２、１９０２、２１０２  範囲
２１０３  低優先度領域
２２０１  ＣＰＵ
２２０２  メモリ
２２０３  入力装置
２２０４  出力装置
２２０５  補助記憶装置
２２０６  媒体駆動装置
２２０７  ネットワーク接続装置
２２０８  バス
２２０９  可搬型記録媒体
【図１】
0006728870.tif 000002
【図２】
0006728870.tif 000003
【図３】
0006728870.tif 000004
【図４】
0006728870.tif 000005
【図５】
0006728870.tif 000006
【図６】
0006728870.tif 000007
【図７】
0006728870.tif 000008
【図８】
0006728870.tif 000009
【図９】
0006728870.tif 000010
【図１０】
0006728870.tif 000011
【図１１】
0006728870.tif 000012
【図１２】
0006728870.tif 000013
【図１３】
0006728870.tif 000014
【図１４Ａ】
0006728870.tif 000015
【図１４Ｂ】
0006728870.tif 000016
【図１５】
0006728870.tif 000017
【図１６】
0006728870.tif 000018
【図１７】
0006728870.tif 000019
【図１８】
0006728870.tif 000020
【図１９】
0006728870.tif 000021
【図２０Ａ】
0006728870.tif 000022
【図２０Ｂ】
0006728870.tif 000023
【図２１】
0006728870.tif 000024
【図２２】
0006728870.tif 000025