(57)【特許請求の範囲】
【請求項１】
異なるフレームの画像データを参照ピクチャとして動き補償予測符号化を行う画像処理方法であって、
複数の参照ピクチャからなり、任意のフレーム間隔で、符号化されたピクチャを復号化したピクチャにより内部の参照ピクチャが更新される参照リストを有し、
上記参照リストが更新された後、次の符号化対象ピクチャから、次に上記参照リストの更新に使用される符号化対象ピクチャまでの一連の複数の符号化対象ピクチャについて動き補償予測を行う際、上記参照リスト内の複数の参照ピクチャにおいて上記動き補償予測のために参照される複数の探索範囲の画像データをそれぞれメモリから読み出して一括して符号化手段に供給することによって、当該符号化手段が、上記一連の複数の符号化対象ピクチャにおける各符号化対象ピクチャと上記参照リスト内の複数の参照ピクチャとの間で動きベクトルを探索する処理を並列に行い符号化することを特徴とする画像処理方法。
【請求項２】
符号化されるピクチャには、動き補償予測を行わないＩピクチャ、前方向予測を行うＰピクチャ、及び双方向予測を行うＢピクチャがあることを特徴とする請求項１記載の画像処理方法。
【請求項３】
上記参照リスト内で動き補償予測のために参照される参照ピクチャがｐ枚、上記一連の複数の符号化対象ピクチャがｍ枚である場合に（ｐ及びｍは任意の自然数）、ｍ枚の符号化対象ピクチャの動き補償予測を行うために、上記参照リストから読み込むデータ量は最大ｐ枚分のピクチャであることを特徴とする請求項１又は２記載の画像処理方法。
【請求項４】
上記Ｉピクチャ及びＰピクチャは、定められた間隔で周期的に設定されており、
上記参照リスト内の参照ピクチャは、上記Ｉピクチャ又はＰピクチャを符号化した後、当該符号化されたピクチャを復号化したピクチャにより周期的に更新され、
上記参照リストが更新された後、次に符号化対象となるＢピクチャから、次に上記参照リストの更新に使用されるＩピクチャ又はＰピクチャまでの一連の複数の符号化対象ピクチャについて動き補償予測を並列に行うことを特徴とする請求項２記載の画像処理方法。
【請求項５】
上記参照リスト内で動き補償予測のために参照される参照ピクチャがｐ枚、上記Ｉピクチャ及びＰピクチャが設定される間隔がｍ枚である場合に（ｐ及びｍは任意の自然数）、ｍ枚の符号化対象ピクチャの動き補償予測を行うために、上記参照リストから読み込むデータ量は最大ｐ枚分のピクチャであることを特徴とする請求項４記載の画像処理方法。
【請求項６】
異なるフレームの画像データを参照ピクチャとして動き補償予測符号化を行う画像処理方法であって、
符号化するピクチャには、動き補償予測を行わないＩピクチャ、前方向予測を行うＰピクチャ、及び双方向予測を行うＢピクチャがあり、
フレームメモリ内に記憶されている参照ピクチャは、上記Ｉピクチャ又はＰピクチャ又は一部のＢピクチャを符号化した後、当該符号化されたピクチャを復号化したピクチャにより更新され、
上記フレームメモリの内容が更新された後、次の符号化対象ピクチャから、次に上記フレームメモリの内容更新に使用される符号化対象ピクチャまでの一連の複数の符号化対象ピクチャについて動き補償予測を行う際、上記フレームメモリ内に記憶されている複数の参照ピクチャにおいて上記動き補償予測のために参照される複数の探索範囲の画像データをそれぞれ上記フレームメモリから読み出して一括して符号化手段に供給することによって、当該符号化手段が、上記一連の複数の符号化対象ピクチャにおける各符号化対象ピクチャと上記フレームメモリ内に記憶されている複数の参照ピクチャとの間で動きベクトルを探索する処理を並列に行い符号化することを特徴とする画像処理方法。
【請求項７】
上記フレームメモリ内で動き補償予測のために参照される参照ピクチャが２枚、上記一連の複数の符号化対象ピクチャがｍ枚である場合に（ｍは任意の自然数）、ｍ枚の符号化対象ピクチャの動き補償予測を行うために、上記フレームメモリから読み込むデータ量は最大２枚分のピクチャであることを特徴とする請求項６記載の画像処理方法。
【請求項８】
各符号化対象ピクチャについて動きベクトルを探索する処理を行うマクロブロックをそれぞれ１つ選択するとともに、選択したマクロブロックに共通する探索範囲を各参照ピクチャから読み出して、上記各マクロブロックについてそれぞれ動きベクトルを探索する処理を行い、
すべてのマクロブロックで動きベクトルを探索する処理が終わった後、次のマクロブロックを各符号化対象ピクチャから選択し、当該次のマクロブロックに共通する探索範囲に応じて各参照ピクチャから画像データを読み出して、上記次の各マクロブロックについてそれぞれ動きベクトルを探索する処理を行うことを順次繰り返して、複数の符号化対象ピクチャについて並列に動きベクトルを探索する処理を行うことを特徴とする請求項１〜７の何れか１項に記載の画像処理方法。
【請求項９】
請求項１、４、６の何れか１項に記載の画像処理方法を用いる画像処理装置であって、
参照ピクチャの画像データを記憶するメモリ手段と、
上記動き補償予測を含む符号化処理を行う符号化手段とを備えることを特徴とする画像処理装置。
【請求項１０】
異なるフレームの画像データを参照ピクチャとして動き補償予測符号化を行う画像処理方法であって、
複数の上記参照ピクチャを記憶手段に記憶させる記憶ステップと、
上記記憶手段に記憶される参照ピクチャの更新後、次の符号化対象ピクチャから上記記憶手段に参照ピクチャとして次に記憶される符号化対象ピクチャまでの複数の符号化対象ピクチャにそれぞれ含まれるマクロブロックに対応する共通の探索範囲の画像データを、上記記憶手段に記憶されている複数の参照ピクチャからそれぞれ読み出して一括して符号化手段に供給する読み出しステップと、
上記読み出しステップにて読み出された上記共通の探索範囲の画像データを用い、上記複数の符号化対象ピクチャにそれぞれ含まれるマクロブロックについて動きベクトルを探索する処理を並列に行い符号化する符号化ステップとを有することを特徴とする画像処理方法。
【請求項１１】
上記共通の探索範囲は、上記複数の符号化対象ピクチャにそれぞれ含まれる各マクロブロックに対するそれぞれの探索範囲が包含される範囲であることを特徴とする請求項１０記載の画像処理方法。
【請求項１２】
上記符号化ステップでは、上記読み出しステップにて読み出された上記共通の探索範囲の画像データのうち、各符号化対象ピクチャにそれぞれ含まれるマクロブロックの探索範囲に対応する画像データで動きベクトルを探索する処理を行うことを特徴とする請求項１０又は１１記載の画像処理方法。
【請求項１３】
異なるフレームの画像データを参照ピクチャとして動き補償予測符号化を行う画像処理装置であって、
複数の上記参照ピクチャが記憶される記憶手段と、
上記記憶手段に記憶される参照ピクチャの更新後、次の符号化対象ピクチャから上記記憶手段に参照ピクチャとして次に記憶される符号化対象ピクチャまでの複数の符号化対象ピクチャにそれぞれ含まれるマクロブロックに対応する共通の探索範囲の画像データを、上記記憶手段に記憶されている複数の参照ピクチャからそれぞれ読み出して一括して符号化手段に供給する読み出し手段と、
上記読み出し手段により読み出された上記共通の探索範囲の画像データを用い、上記複数の符号化対象ピクチャにそれぞれ含まれるマクロブロックについて動きベクトルを探索する処理を並列に行い符号化する符号化手段とを備えることを特徴とする画像処理装置。
【請求項１４】
異なるフレームの画像データを参照ピクチャとして動き補償予測符号化を行う画像処理をコンピュータに実行させるためのプログラムであって、
複数の上記参照ピクチャを記憶手段に記憶させる記憶ステップと、
上記記憶手段に記憶される参照ピクチャの更新後、次の符号化対象ピクチャから上記記憶手段に参照ピクチャとして次に記憶される符号化対象ピクチャまでの複数の符号化対象ピクチャにそれぞれ含まれるマクロブロックに対応する共通の探索範囲の画像データを、上記記憶手段に記憶されている複数の参照ピクチャからそれぞれ読み出して一括して符号化手段に供給する読み出しステップと、
上記読み出しステップにて読み出された上記共通の探索範囲の画像データを用い、上記複数の符号化対象ピクチャにそれぞれ含まれるマクロブロックについて動きベクトルを探索する処理を並列に行い符号化する符号化ステップとをコンピュータに実行させるためのプログラム。
【請求項１５】
請求項１４記載のプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フレーム間相関を利用して画像データを圧縮する画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
従来から、画像データを圧縮して記録するための様々な画像符号化方式が提案されている。そして、新たにＭＰＥＧ４  ｐａｒｔ−１０：ＡＶＣ〔Advanced Video Coding〕（ＩＳＯ／ＩＥＣ  １４４９６−１０、別名Ｈ．２６４）方式が提案されている。以下、Ｈ．２６４画像符号化方式を、単に「Ｈ．２６４方式」とも称す。
【０００３】
Ｈ．２６４方式では、動き補償予測、離散コサイン変換（ＤＣＴ：Discrete Cosine Transform）、量子化、及びエントロピー符号化などを組み合わせて画像データを符号化する。動き補償予測は、異なるフレームの画像データを参照ピクチャとして用い行われる。
【０００４】
また、画像データを符号化する符号化回路の構成では、符号化手順を分割してパイプライン化することで、１つの符号化対象の画像データを数フレームの時間で符号化する例は多い。例えば、非特許文献１には、７段のパイプラインを用いて画像データを圧縮符号化するＨ．２６４方式に準拠した符号化回路が記載されている。
【０００５】
【非特許文献１】「Ｈ．２６４とＭＰＥＧ−４に両対応  携帯機器向けコーデック・コアを開発」，日経エレクトロニクス，日経ＢＰ社，２００４年９月２７日号，ｎｏ．８８３，ｐ．１２３−１３３
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述のように異なるフレームの画像データを参照し動き補償予測を行うインター予測を用いて画像データを符号化する場合、符号化対象の画像データに加えて、参照ピクチャの画像データも扱うため、符号化処理にて扱うデータ量が多くなる。Ｈ．２６４方式では、参照ピクチャを複数枚利用できるため、さらにデータ量が多くなる傾向にある。
【０００７】
符号化回路において、参照ピクチャが記憶されているフレームメモリから符号化処理を行うコーデック部に読み込むべき参照ピクチャの数が多いと、コーデック部とフレームメモリの間のデータ・アクセス数が膨大になる。そのため、データ転送に用いるクロックを高速化（高周波数化）させたり、データ・バス幅を増大させたりするなどの対応が必要となるが、消費電力の増大や高速クロックに対応した設計上の困難などが生じてしまう。
【０００８】
本発明は、このような事情に鑑みてなされたものであり、インター予測を用いて画像データを符号化する際に、参照ピクチャを読み込むためのメモリアクセス量を削減することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る画像処理方法は、異なるフレームの画像データを参照ピクチャとして動き補償予測符号化を行う画像処理方法であって、複数の参照ピクチャからなり、任意のフレーム間隔で、符号化されたピクチャを復号化したピクチャにより内部の参照ピクチャが更新される参照リストを有し、上記参照リストが更新された後、次の符号化対象ピクチャから、次に上記参照リストの更新に使用される符号化対象ピクチャまでの一連の複数の符号化対象ピクチャについて動き補償予測を行う際、上記参照リスト内の複数の参照ピクチャにおいて上記動き補償予測のために参照される複数の探索範囲の画像データをそれぞれメモリから読み出して一括して符号化手段に供給することによって、当該符号化手段が、上記一連の複数の符号化対象ピクチャにおける各符号化対象ピクチャと上記参照リスト内の複数の参照ピクチャとの間で動きベクトルを探索する処理を並列に行い符号化することを特徴とする。
本発明に係る画像処理方法は、異なるフレームの画像データを参照ピクチャとして動き補償予測符号化を行う画像処理方法であって、符号化するピクチャには、動き補償予測を行わないＩピクチャ、前方向予測を行うＰピクチャ、及び双方向予測を行うＢピクチャがあり、フレームメモリ内に記憶されている参照ピクチャは、上記Ｉピクチャ又はＰピクチャ又は一部のＢピクチャを符号化した後、当該符号化されたピクチャを復号化したピクチャにより更新され、上記フレームメモリの内容が更新された後、次の符号化対象ピクチャから、次に上記フレームメモリの内容更新に使用される符号化対象ピクチャまでの一連の複数の符号化対象ピクチャについて動き補償予測を行う際、上記フレームメモリ内に記憶されている複数の参照ピクチャにおいて上記動き補償予測のために参照される複数の探索範囲の画像データをそれぞれ上記フレームメモリから読み出して一括して符号化手段に供給することによって、当該符号化手段が、上記一連の複数の符号化対象ピクチャにおける各符号化対象ピクチャと上記フレームメモリ内に記憶されている複数の参照ピクチャとの間で動きベクトルを探索する処理を並列に行い符号化することを特徴とする。
本発明に係る画像処理装置は、上記画像処理方法を用いる画像処理装置であって、参照ピクチャの画像データを記憶するメモリ手段と、上記動き補償予測を含む符号化処理を行う符号化手段とを備えることを特徴とする。
本発明に係る画像処理方法は、異なるフレームの画像データを参照ピクチャとして動き補償予測符号化を行う画像処理方法であって、複数の上記参照ピクチャを記憶手段に記憶させる記憶ステップと、上記記憶手段に記憶される参照ピクチャの更新後、次の符号化対象ピクチャから上記記憶手段に参照ピクチャとして次に記憶される符号化対象ピクチャまでの複数の符号化対象ピクチャにそれぞれ含まれるマクロブロックに対応する共通の探索範囲の画像データを、上記記憶手段に記憶されている複数の参照ピクチャからそれぞれ読み出して一括して符号化手段に供給する読み出しステップと、上記読み出しステップにて読み出された上記共通の探索範囲の画像データを用い、上記複数の符号化対象ピクチャにそれぞれ含まれるマクロブロックについて動きベクトルを探索する処理を並列に行い符号化する符号化ステップとを有することを特徴とする。
本発明に係る画像処理装置は、異なるフレームの画像データを参照ピクチャとして動き補償予測符号化を行う画像処理装置であって、複数の上記参照ピクチャが記憶される記憶手段と、上記記憶手段に記憶される参照ピクチャの更新後、次の符号化対象ピクチャから上記記憶手段に参照ピクチャとして次に記憶される符号化対象ピクチャまでの複数の符号化対象ピクチャにそれぞれ含まれるマクロブロックに対応する共通の探索範囲の画像データを、上記記憶手段に記憶されている複数の参照ピクチャからそれぞれ読み出して一括して符号化手段に供給する読み出し手段と、上記読み出し手段により読み出された上記共通の探索範囲の画像データを用い、上記複数の符号化対象ピクチャにそれぞれ含まれるマクロブロックについて動きベクトルを探索する処理を並列に行い符号化する符号化手段とを備えることを特徴とする。
本発明に係るプログラムは、異なるフレームの画像データを参照ピクチャとして動き補償予測符号化を行う画像処理をコンピュータに実行させるためのプログラムであって、複数の上記参照ピクチャを記憶手段に記憶させる記憶ステップと、上記記憶手段に記憶される参照ピクチャの更新後、次の符号化対象ピクチャから上記記憶手段に参照ピクチャとして次に記憶される符号化対象ピクチャまでの複数の符号化対象ピクチャにそれぞれ含まれるマクロブロックに対応する共通の探索範囲の画像データを、上記記憶手段に記憶されている複数の参照ピクチャからそれぞれ読み出して一括して符号化手段に供給する読み出しステップと、上記読み出しステップにて読み出された上記共通の探索範囲の画像データを用い、上記複数の符号化対象ピクチャにそれぞれ含まれるマクロブロックについて動きベクトルを探索する処理を並列に行い符号化する符号化ステップとをコンピュータに実行させることを特徴とする。
本発明に係るコンピュータ読み取り可能な記録媒体は、上記プログラムを記録したことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、参照ピクチャを用いて符号化を行う際、複数の符号化対象ピクチャにそれぞれ含まれるマクロブロックに対応する共通の探索範囲の画像データを複数の参照ピクチャからそれぞれ読み出して一括して符号化手段に供給し、各符号化対象ピクチャにそれぞれ含まれるマクロブロックについて動きベクトルを探索する処理を並列に行う。これにより、符号化処理にて参照ピクチャを読み込むためのメモリアクセス量を削減することができ、また符号化処理に要する消費電力を低減することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施形態を図面に基づいて説明する。
（第１の実施形態）
以下に説明する本発明の第１の実施形態による画像処理装置を適用した符号化器は、入力される画像データをＨ．２６４方式に準拠した画像符号化方式で符号化するものである。
【００１２】
図１は、第１の実施形態における符号化器１００の構成例を示すブロック図である。
符号化器１００は、符号化処理を行うコーデック部（符号化部）１０１、及び画像データを記憶する画像メモリ１１１、１１２、１１３を備える。画像メモリは、入力である符号化対象の画像データを記憶するビデオメモリ１１１、参照ピクチャを記憶するフレームメモリ１１２、及び符号化結果であるストリームを記憶するためのストリームバッファ１１３の３種類がある。このうち、ビデオメモリ１１１とフレームメモリ１１２は、非圧縮画像データを記憶するため、特に大きな容量が必要となる。
【００１３】
なお、３種類の画像メモリ１１１、１１２、１１３は、それぞれ異なるメモリチップで構成しても良いし、１つのメモリチップ内に各領域を割り振って構成しても良い。また、３種類の画像メモリ１１１、１１２、１１３は、そのなかの２種類の画像メモリを１つのメモリチップ内に各領域を割り振って構成し、残り１種類の画像メモリを独立したメモリチップで構成しても良い。
【００１４】
コーデック部１０１は、主な符号化機能を内蔵しており、スケーリング部１０２、動き推定部１０３、エントロピー符号化部１０４、及び局所復号部１０５を有し構成される。スケーリング部１０２は、ビデオメモリ１１１より読み出した符号化対象画像データを離散コサイン変換（ＤＣＴ：Discrete Cosine Transform）し、さらに量子化する。スケーリング部１０２は、量子化した符号化対象画像データを、エントロピー符号化部１０４及び局所復号部１０５に出力する。スケーリング部１０２での処理においては、動き補償予測を行う場合、動き推定部１０３での処理結果が参照される。
【００１５】
動き推定部１０３は、ビデオメモリ１１１より読み出した符号化対象画像データ及びフレームメモリ１１２より読み出した参照ピクチャに基づいて動き検出を行うことで動き補償予測を行う。エントロピー符号化部１０４は、スケーリング部１０２で量子化された符号化対象画像データをエントロピー符号化し、ストリームバッファ１１３に供給する。局所復号部１０５は、スケーリング部１０２で量子化された符号化対象画像データに、逆量子化や逆ＤＣＴ変換等の復号処理を施す。局所復号部１０５は、符号化された画像データを局所的に復号して得られた画像データを参照ピクチャとしてフレームメモリ１１２に記憶させる。
【００１６】
図２は、コーデック部（符号化部）１０１の機能的構成を示すブロック図である。
図２に示すように、入力された符号化対象の画像データは、マクロブロックに分けられ、減算器２０１で予測値との差分を求め、ＤＣＴ変換部２０２で整数ＤＣＴ変換される。さらに、量子化部２０３で量子化された後、差分画像データとしてエントロピー符号化２１５に供給されるとともに、逆量子化部２０４に供給される。
【００１７】
逆量子化部２０４に供給された画像データは、逆量子化部２０４で逆量子化された後、逆ＤＣＴ変換部２０５で逆整数ＤＣＴ変換され、加算器２０６で予測値が加えられ画像が復元される。加算器２０６の出力は、イントラ予測のためのフレームメモリ２０７に送られるとともに、デブロッキングフィルター処理を施すデブロッキングフィルター処理部２０９を介してインター予測のためのフレームメモリ２１０に送られる。
【００１８】
イントラ予測のためのフレームメモリ２０７内の画像は、イントラ予測部２０８でのイントラ予測で使用される。イントラ予測では、同一ピクチャ内で、既に符号化されたブロックの隣接画素の値が予測値として用いられる。
【００１９】
インター予測のためのフレームメモリ２１０内の画像は、後述するように複数のピクチャで構成され、そのピクチャが２つの参照リストＬｉｓｔ０とＬｉｓｔ１に分けられている。フレームメモリ２１０内の画像は、インター予測部２１１でのインター予測で使用され、予測後はメモリコントローラー２１３によって、内部の画像が更新される。インター予測では、フレームの異なる画像データに対して、動き推定部２１２が動き検出を行って最適な動きベクトルを求めて予測画像を決定する。
【００２０】
イントラ予測とインター予測の結果、選択部２１４で最適な予測が選択され、イントラ予測モード又は予測ベクトルが、エントロピー符号化部２１５に供給され、差分画像データとともに符号化されて出力ビットストリームが形成される。
【００２１】
以下、一般的なＨ．２６４方式での符号化順序及び符号化方法について説明する。
まず、Ｈ．２６４方式での画像データの符号化順序を、図３を用いて説明する。
ここでは、イントラ予測のみを行うＩピクチャ、前方向予測のみを行うＰピクチャ、及び双方向予測を行うＢピクチャの割合が、Ｉピクチャが１５フレーム間隔、Ｐピクチャが３フレーム間隔、その間のＢピクチャが２フレームである場合で説明する。
【００２２】
図３においては、画像データに係る表示順序、符号化順序、及び出力ビットストリーム上での配置を示しており、四角の中にはピクチャの種類と表示順を示す番号を記入してある。例えば、Ｉ１５は表示順が１５番目のＩピクチャであり、Ｐ１８は表示順が１８番目のＰピクチャであり、Ｂ１６は表示順が１６番目のＢピクチャである。符号化を行う順序は表示順序と異なり、予測を行う順に符号化を行う。すなわち、図３に示した例では、Ｉ１５，Ｐ１８，Ｂ１６，Ｂ１７，Ｐ２１，Ｂ１９，Ｂ２０，…といった順に符号化され、出力ストリーム上はこの順序で配置される。
【００２３】
この場合の参照リストの一例を図４に示す。インター予測に使用する参照リストは、符号化対象ピクチャの種類によって異なっている。符号化対象ピクチャがＰピクチャである場合には、参照リストＬｉｓｔ０のみを使用して、主に前方向予測を行う。符号化対象ピクチャがＢピクチャである場合には、参照リストＬｉｓｔ０及びＬｉｓｔ１を用いて、双方向予測（又は前方あるいは後方のみの予測）を行う。
【００２４】
すなわち、参照リストＬｉｓｔ０には主に前方向予測のための参照ピクチャが格納され、参照リストＬｉｓｔ１には主に後方向予測のための参照ピクチャが格納される。図４には、表示順が２１番目のＰピクチャであるピクチャＰ２１でインター予測を行う場合を示している。各参照リストには最大５枚の参照ピクチャを割り当てられるようにしている。
【００２５】
図４における４０１はピクチャＰ２１でインター予測を行う時に参照リスト（Ｌｉｓｔ０）に格納されている参照ピクチャの例である。参照リスト内には既に符号化が終わって復号化されたピクチャが格納されている。この例では、ピクチャＰ０６，Ｐ０９，Ｐ１２，Ｉ１５，Ｐ１８が参照リストに収められている。
【００２６】
インター予測では、マクロブロック毎に、参照リスト中の参照ピクチャ内から最適な予測値をもつ動きベクトルを求め、予測したブロックとの差分値を求めて符号化する。参照リスト内のピクチャは、参照ピクチャ番号が順に与えられて区別される（図示した番号とは別に与えられる）。ピクチャＰ２１の符号化が終わると、参照リストからは最も古い参照ピクチャ（この例ではピクチャＰ０６）が参照リストから除去され、新たにピクチャＰ２１が復号化されて参照リストに追加される。符号化は、図３に示したように、この後ピクチャＢ１９，Ｂ２０と行われ、さらにピクチャＰ２４へと続く。
【００２７】
図５は、参照リストの変化の様子を符号化対象ピクチャ毎に示した図である。図５においては、符号化されるピクチャ順に上から下へと、符号化処理中のピクチャと参照リストＬｉｓｔ０及びＬｉｓｔ１の内容を示してある。図５に示すようにＰピクチャ（又はＩピクチャ）が符号化されると、参照リストが更新され、その符号化されたピクチャが復号されて加えられるとともに、参照リスト中の最も古いピクチャが除去されている。なお、図５に示す例では、参照リストＬｉｓｔ１は１つのピクチャしか有していないが、これは後方参照を多くすると復号までのバッファ量が増えてしまうため、あまり離れた後方ピクチャの参照を避けたためである。
【００２８】
図５に示す例では、Ｉピクチャ又はＰピクチャを符号化した後、参照リストの更新を行っているが、Ｈ．２６４方式の規格では、Ｉピクチャ又はＰピクチャに限らず、Ｂピクチャも参照リストに加えることができる。また、Ｉピクチャ又はＰピクチャであっても、参照リストに加えないこともできる。すなわち、参照リストの更新は、任意のピクチャで行われることになる。逆に、参照リストの更新が行われなければ、参照リストは変化しない。実用的には、Ｉピクチャ又はＰピクチャが一定の周期で設定され、そのＩピクチャ又はＰピクチャにより、参照リストの更新も周期的に行われるように設定される場合が多い。
【００２９】
ここで、マクロブロック毎のインター予測について、図６を用いて詳細に説明する。
図６において、６０１は符号化対象ピクチャ、６０２〜６０５は参照リスト内の参照ピクチャである。Ｈ．２６４方式でのインター予測では、マクロブロック毎に参照リスト内の参照ピクチャを選択できる。すなわち、図６に示すように、符号化対象ピクチャ６０１におけるマクロブロック６０６では参照ピクチャ６０２を参照し、マクロブロック６０７では参照ピクチャ６０４を参照し、マクロブロック６０８では参照ピクチャ６０３をそれぞれ参照している。
【００３０】
なお、Ｈ．２６４方式のインター予測は、１６×１６画素のマクロブロックを単位に行うが、このマクロブロックを更に小さいサブマクロブロックに分割して予測を行うことも可能となっている。この場合、１つのマクロブロックにインター予測により求まる最適な動きベクトルが複数決定されることになる。以下では簡単のため、サブマクロブロックに分割せずに、１６×１６画素のマクロブロックに対してインター予測により１つの最適な動きベクトルが決定される場合で説明する。
【００３１】
インター予測におけるマクロブロックと参照ピクチャ上の探索範囲について、図７〜図９を参照して説明する。
図７は、符号化対象ピクチャＢ１９についてのマクロブロックと参照ピクチャの探索範囲の一例を示す図である。符号化対象ピクチャＢ１９を符号化する際、参照リストはＬｉｓｔ０とＬｉｓｔ１で構成されており、参照リストＬｉｓｔ０には参照ピクチャＰ０９，Ｐ１２，Ｉ１５，Ｐ１８が格納され、参照Ｌｉｓｔ１には参照ピクチャＰ２１が格納されている。
【００３２】
図７に示すように、符号化対象ピクチャＢ１９上の１つのマクロブロックＭＢＡに対して、各参照ピクチャ上に探索範囲が設定される。参照ピクチャＰ０９については探索範囲Ｓ０９Ａが設定され、参照ピクチャＰ１２については探索範囲Ｓ１２Ａが設定され、参照ピクチャＩ１５については探索範囲Ｓ１５Ａが設定されている。また、参照ピクチャＰ１８については探索範囲Ｓ１８Ａが設定され、参照ピクチャＰ２１については探索範囲Ｓ２１Ａが設定されている。
【００３３】
Ｈ．２６４方式では、マクロブロックのサイズは１６×１６画素である。探索範囲については、マクロブロックより大きめの範囲が割り当てられ、通常マクロブロックの数倍の大きさで、例えば３２×３２画素ほどの範囲である。また、探索範囲の位置は、各参照ピクチャで同一である必要はなく、既に行われた探索結果などから異なる位置であっても良い。マクロブロックＭＢＡは、各探索範囲（Ｓ０９Ａ，Ｓ１２Ａ，Ｓ１５Ａ，Ｓ１８Ａ，Ｓ２１Ａ）に対して動き予測が行われ、最適な動きベクトルが決定される。
【００３４】
同様に、符号化対象ピクチャＢ２０についてのマクロブロックと参照ピクチャの探索範囲を図８に示し、符号化対象ピクチャＰ２４についてのマクロブロックと参照ピクチャの探索範囲を図９に示す。
【００３５】
図８に示すように、符号化対象ピクチャＢ２０を符号化する際、参照リストはＬｉｓｔ０とＬｉｓｔ１で構成されている。符号化対象ピクチャＢ２０上のマクロブロックＭＢＢに対して、各参照ピクチャに探索範囲Ｓ０９Ｂ，Ｓ１２Ｂ，Ｓ１５Ｂ，Ｓ１８Ｂ，Ｓ２１Ｂが設定されている。また、図９に示すように、符号化対象ピクチャＰ２４を符号化する際、参照リストはＬｉｓｔ０のみで構成されている。符号化対象ピクチャＰ２４上のマクロブロックＭＢＣに対して、各参照ピクチャに探索範囲Ｓ０９Ｃ，Ｓ１２Ｃ，Ｓ１５Ｃ，Ｓ１８Ｃ，Ｓ２１Ｃが設定されている。
【００３６】
ここで、参照リスト内の各参照ピクチャに設定される探索範囲は、符号化対象ピクチャが異なればその位置が異なっても構わない。例えば、図７〜図９に示した参照ピクチャＰ０９で、マクロブロックＭＢＡ，ＭＢＢ，ＭＢＣに対して探索範囲Ｓ０９Ａ，Ｓ０９Ｂ，Ｓ０９Ｃが設定されるが、それぞれ異なる範囲となっても良い。通常は、近接した範囲が設定されることが多い。
【００３７】
本実施形態における符号化器でインター予測を行う場合のデータの動きについて、図１０を参照して説明する。
符号化対象画像データにおける符号化するマクロブロックＭＢのデータが、ビデオメモリ１００１からインター予測部１００２に読み込まれる。また、参照ピクチャ内の探索範囲Ｓの画像データがフレームメモリ１００３からインター予測部１００２に読み込まれる。
【００３８】
インター予測部１００２は、読み込まれたマクロブロックＭＢのデータと探索範囲Ｓのデータを差分誤差などで比較し、探索範囲Ｓにおける最適な動きベクトルを求める。１つの参照ピクチャの探索範囲Ｓについて処理が終了したら、次の参照ピクチャの探索範囲Ｓにおける最適な動きベクトルを求める。すべての参照ピクチャの探索範囲について処理が終了すると、そのマクロブロックについて、すべての参照ピクチャの中で最適な動きベクトルが決まる。
【００３９】
１つのマクロブロックの予測処理が終了すると、ビデオメモリ１００１からは次のマクロブロックのデータがインター予測部１００２に読み込まれ、フレームメモリ１００３からは次の探索範囲の画像データがインター予測部１００２に読み込まれる。符号化対象画像データ内のすべてのマクロブロックで動きベクトルが求まったら、次の画像データの処理に移る。この際、参照リスト内の参照ピクチャを更新する場合もある。
【００４０】
以上をまとめて、インター予測に関する処理の流れを、図１１を参照して説明する。
図１１は、インター予測に関する処理の流れを示すフローチャートである。
インター予測が開始されると、コーデック部は、符号化対象ピクチャにおいてインター予測を行うマクロブロックを決定し（１１０１）、そのマクロブロックのデータをビデオメモリ１００１から読み込む（１１０２）。次に、コーデック部は、参照リスト内の参照ピクチャを決定し（１１０３）、決定した参照ピクチャの探索範囲の画像データをフレームメモリから読み込む（１１０４）。
【００４１】
コーデック部は、読み込んだマクロブロックのデータと探索範囲のデータを用いて動き予測を行い（１１０５）、この探索範囲内での最適な動きベクトルを決定する（１１０６）。続いて、次の参照ピクチャを決定し、同様にして動きベクトルを求める。コーデック部は、参照リスト内のすべての参照ピクチャを参照し、このマクロブロックの参照ピクチャ間での最適な動きベクトルを決定する（１１０７）。
【００４２】
そして、コーデック部は、１つのマクロブロックの予測が終了したら次のマクロブロックの動き予測に移る。その後、符号化対象ピクチャ内のすべてのマクロブロックで処理が終了したら、その符号化対象ピクチャについてインター予測は終了となる。
【００４３】
インター予測を行う際、フレームメモリから読み出すデータの量は、符号化対象ピクチャのすべてのマクロブロックのインター予測を行うための探索範囲のデータでよく、必ずしも参照ピクチャのすべてのデータを読むとは限らない。ただし、通常、探索範囲は、符号化対象のマクロブロックに近接した位置となるので、参照ピクチャのほとんどすべてのデータを探索することとなる。すなわち、フレームメモリからは、１つの符号化対象ピクチャに対して、参照リスト内のすべての参照ピクチャのデータが読み出される。また、インター予測の際、フレームメモリから読み出すデータの量は、フレームメモリ内のすべての参照ピクチャのデータ量が最大値（上限）となる。
【００４４】
ここで、フレームメモリからコーデック部に読み込まれるピクチャについて、図５に示したピクチャＢ１９，Ｂ２０，Ｐ２４の３枚のピクチャを符号化する場合を一例として説明する。この場合、符号化対象ピクチャＢ１９は、直前に符号化されたピクチャＰ２１によって参照リストが更新された次の符号化対象ピクチャであり、符号化対象ピクチャＰ２４は次に参照リストに追加される予定のピクチャである。したがって、各ピクチャＢ１９，Ｂ２０，Ｐ２４を符号化する際には、図５に示したように参照リスト内の参照ピクチャの変化はない。各ピクチャＢ１９，Ｂ２０，Ｐ２４は、参照リストＬｉｓｔ０とＬｉｓｔ１の区別を考慮しなければ、参照リスト中の参照ピクチャＰ０９，Ｐ１２，Ｉ１５，Ｐ１８，Ｐ２１を参照してインター予測が行われる。
【００４５】
この様子を図１２に模式的に示す。図１２においては、時間軸方向（ピクチャＢ１９からピクチャＰ２４に向かう方向）に時間が経過し処理が進むことを示している。すなわち、符号化対象であるビデオメモリ上の画像は、ピクチャＢ１９，Ｂ２０，Ｐ２４と順次移行していく。各ピクチャの符号化処理は、１フレーム単位内に終了する必要がある。ここで、１フレーム単位は、パイプライン処理を行わない場合には１フレーム時間と等価である考えて良い。
【００４６】
まず、符号化対象ピクチャＢ１９が符号化される。コーデック部は、ビデオメモリからマクロブロックＭＢＡのデータを読み出す。また、コーデック部は、それに対応する各参照ピクチャＰ０９，Ｐ１２，Ｉ１５，Ｐ１８，Ｐ２１の探索範囲Ｓ０９Ａ，Ｓ１２Ａ，Ｓ１５Ａ，Ｓ１８Ａ，Ｓ２１Ａの画像データを順次フレームメモリから読み出す。コーデック部は、この探索範囲についてインター予測を行い、１つの動きベクトルｍｖＡを求める。この処理を符号化対象ピクチャＢ１９のすべてのマクロブロックについて行う。
【００４７】
その後、コーデック部は、次の符号化対象ピクチャＢ２０の処理に移る。符号化対象ピクチャＢ２０についても同様に、コーデック部は、マクロブロックＭＢＢのデータ及び探索範囲Ｓ０９Ｂ，Ｓ１２Ｂ，Ｓ１５Ｂ，Ｓ１８Ｂ，Ｓ２１Ｂの画像データを読み出す。そして、コーデック部は、この探索範囲でのインター予測により動きベクトルｍｖＢを求める。
【００４８】
コーデック部は、符号化対象ピクチャＢ２０のすべてのマクロブロックのインター予測が終了したら、次に符号化対象ピクチャＰ２４の処理に移る。符号化対象ピクチャＰ２４についても同様に、コーデック部は、マクロブロックＭＢＣのデータ及び探索範囲Ｓ０９Ｃ，Ｓ１２Ｃ，Ｓ１５Ｃ，Ｓ１８Ｃ，Ｓ２１Ｃの画像データを読み出し、インター予測により動きベクトルｍｖＣを求める。符号化対象ピクチャＰ２４のすべてのマクロブロックのインター予測が終了すると、符号化対象ピクチャＰ２４が符号化される。コーデック部は、符号化されたピクチャＰ２４を復号して参照リストに追加し、参照リストを更新する。
【００４９】
図１２に示すように、１つの符号化対象ピクチャを処理する際、フレームメモリからは５枚の参照ピクチャの画像データが順次読み込まれる。したがって、図１２に示した３枚の符号化対象ピクチャＢ１９，Ｂ２０，Ｐ２４を符号化する際には、フレームメモリから各５枚、総計１５ピクチャ分の画像データが読み込まれることになる。
【００５０】
上述した処理フローを簡単にまとめると、図１３に示した流れとなる。すなわち、符号化対象ピクチャＰ２１の符号化終了後、参照リストの更新が行われて、その後符号化対象ピクチャＢ１９、Ｂ２０，Ｐ２４と順次符号化され、符号化対象ピクチャＰ２４の符号化後に参照リストの更新が行われる。各符号化対象ピクチャの符号化処理は、それぞれ図１１に示した流れで、マクロブロック読み込み、探索範囲読み込み、動き予測、ベクトル決定等の処理を順次行い、順次ストリームを出力している。
【００５１】
ここで、上述のように符号化手順をパイプライン化し画像データを符号化するものがあるが、複数のパイプラインで複数のピクチャを処理しているとしても、１つの単位時間（フレーム時間）の中ではピクチャに対する一連の処理がすべて行われていることになる。すなわち、１つの符号化対象ピクチャでインター予測を行う場合には、参照リスト内の参照ピクチャをすべてアクセスしている。また、フレーム時間をまたがるパイプライン処理を行うとしても、参照リストに追加する予定のピクチャの符号化処理は、次のピクチャのインター予測を行う前に終了していなければ、インター予測で最適な動きベクトルを決定できない。したがって、パイプライン化されていても、図１２に示したように１フレームという処理単位で、各参照ピクチャを読み出すことに変わりはない。すなわち、３枚の符号化対象ピクチャを符号化する場合には、３フレーム時間内に各符号化対象ピクチャについてフレームメモリから各５枚、総計１５ピクチャ分の画像データが読み込まれていることとなる。以上説明した様に、Ｈ．２６４の一般的な符号化順序及び符号化方式では、フレームメモリに対するアクセス量が多い。
【００５２】
そこで、第１の実施形態における符号化器では、複数の符号化対象ピクチャのインター予測を並列的に行うことで、フレームメモリから参照ピクチャを読み込むためのアクセス量を削減するようにしている。例えば、３枚の符号化対象ピクチャＢ１９、Ｂ２０、Ｐ２４を符号化する場合に、参照ピクチャの画像データを総計１５枚分読み込むのではなく、５ピクチャ分読み込むだけで３枚の符号化対象ピクチャＢ１９、Ｂ２０、Ｐ２４についてのインター予測を行う。
【００５３】
第１の実施形態における符号化器での符号化手順について説明する。
以下、説明の都合上、図１４に示すように、Ｉピクチャが１５フレーム間隔、Ｐピクチャが３フレーム間隔、その間のＢピクチャが２フレームで構成され、Ｉピクチャ及びＰピクチャを符号化後、参照リストに加える場合を一例に説明する。
【００５４】
図１４は、第１の実施形態における符号化処理の順序を説明するための図である。図１４においては、画像データに係る表示順序、符号化順序、及び出力ビットストリーム上での配置を示している。
【００５５】
本実施形態では、コーデック部は、図１４に示すように３枚の符号化対象ピクチャの符号化処理を並列的に行う。例えば、３枚の符号化対象ピクチャＢ１９，Ｂ２０，Ｐ２４は、直前の３枚の符号化対象ピクチャＢ１６，Ｂ１７，Ｐ２１を符号化した後、並列的に符号化処理を行う。そして、符号化処理後、通常の符号化順序である符号化対象ピクチャＢ１９，Ｂ２０，Ｐ２４の順に直してストリーム化する。
【００５６】
図１５は、図１４に示すように符号化対象ピクチャを符号化する際の参照リストの様子を示した図である。符号化対象ピクチャＢ１９，Ｂ２０，Ｐ２４を符号化する直前に、コーデック部により符号化対象ピクチャＢ１６，Ｂ１７，Ｐ２１が符号化され、そのうち符号化されたピクチャＰ２１が復号化されて参照リストに追加される。
【００５７】
すなわち、符号化対象ピクチャＢ１６，Ｂ１７，Ｐ２１を符号化する際には、参照リストＬｉｓｔ０に参照ピクチャＰ０６，Ｐ０９，Ｐ１２，Ｉ１５，Ｐ１８があり、参照リストＬｉｓｔ１に参照ピクチャＰ１８がある。参照リスト内の参照ピクチャは、符号化対象ピクチャＢ１６，Ｂ１７，Ｐ２１のインター予測にそれぞれ使用された後、参照リストＬｉｓｔ０からは最も古い参照ピクチャＰ０６が削除され、参照リストＬｉｓｔ１からは最も古い参照ピクチャＰ１８が削除される。また、符号化対象ピクチャＢ１６，Ｂ１７，Ｐ２１の符号化後、符号化されたピクチャＰ２１が復号され参照ピクチャとしてそれぞれの参照リストに追加される。
【００５８】
符号化対象ピクチャＢ１９，Ｂ２０，Ｐ２４の符号化処理において、符号化対象ピクチャＢ１９及びＢ２０はＢピクチャであるから、そのインター予測では参照リストＬｉｓｔ０及びＬｉｓｔ１を使用する。すなわち、参照リストＬｉｓｔ０の参照ピクチャＰ０９，Ｐ１２，Ｉ１５，Ｐ１８の４枚と、参照リストＬｉｓｔ１の参照ピクチャＰ２１の１枚との、計５枚の参照ピクチャを参照する。なお、参照リストＬｉｓｔ０の参照ピクチャＰ２１は、参照リストＬｉｓｔ１と重複するので参照する必要は少ない。また、符号化対象ピクチャＰ２４はＰピクチャであるから、そのインター予測では参照リストＬｉｓｔ０のみを使用し、参照ピクチャＰ０９，Ｐ１２，Ｉ１５，Ｐ１８，Ｐ２１の５枚の参照ピクチャを参照する。
【００５９】
つまり、符号化対象ピクチャＢ１９，Ｂ２０，Ｐ２４に係るインター予測で参照するピクチャは、参照ピクチャＰ０９，Ｐ１２，Ｉ１５，Ｐ１８，Ｐ２１の５枚であり、これがフレームメモリ内に記憶されていることになる。参照ピクチャＰ２１が参照リストＬｉｓｔ０となるかＬｉｓｔ１となるかの違いはあるが、ピクチャＰ２１の画像データ自体に変化はなく、符号化対象ピクチャＢ１９，Ｂ２０，Ｐ２４を符号化する際、フレームメモリ内の参照ピクチャの数及び種類は一定である。フレームメモリ内の参照ピクチャが、次に更新されるのは、符号化対象ピクチャＰ２４を符号化後、符号化されたピクチャＰ２４を復号した後である。
【００６０】
次に、図１６及び図１７を参照して、本実施形態においてインター予測を並列に行う際の各参照ピクチャの探索範囲について説明する。符号化対象ピクチャＢ１９のマクロブロックＭＢＡ、符号化対象ピクチャＢ２０のマクロブロックＭＢＢ、及び符号化対象ピクチャＰ２４のマクロブロックＭＢＣに係るインター予測を並列的に行う場合を一例として説明する。
【００６１】
本実施形態では、各マクロブロックＭＢＡ，ＭＢＢ，ＭＣＣの探索範囲として、共通する探索範囲が参照ピクチャに割り当てられる。例えば、参照ピクチャＰ０９については探索範囲Ｓ０９が設定され、参照ピクチャＰ１２については探索範囲Ｓ１２が設定され、参照ピクチャＩ１５については探索範囲Ｓ１５が設定される。また、参照ピクチャＰ１８については探索範囲Ｓ１８が設定され、参照ピクチャＰ２１については探索範囲Ｓ２１が設定される。
【００６２】
ここで、参照ピクチャに設定される探索範囲は、図１７に示すように従来の符号化対象ピクチャ単独で設定する各マクロブロックＭＢＡ，ＭＢＢ，ＭＣＣのすべての探索範囲を含む範囲に設定される。図１７は、参照ピクチャＰ０９に設定された探索範囲Ｓ０９の一例を示す図である。
【００６３】
符号化対象ピクチャＢ１９、Ｂ２０、Ｐ２４を単独で符号化する際には、図７から図９を参照して説明したように、以下のように参照ピクチャＰ０９について探索範囲が設定されていた。すなわち、参照ピクチャＰ０９については、符号化対象ピクチャＢ１９の符号化時にはマクロブロックＭＢＡに対して探索範囲Ｓ０９Ａが設定され、符号化対象ピクチャＢ２０の符号化時にはマクロブロックＭＢＢに対して探索範囲Ｓ０９Ｂが設定されていた。また、符号化対象ピクチャＰ２４の符号化時にはマクロブロックＭＢＣに対して探索範囲Ｓ０９Ｃが設定されていた。
【００６４】
本実施形態における探索範囲は、これら探索範囲を包含するものであり、図１７に示すように探索範囲Ｓ０９は、各マクロブロックＭＢＡ、ＭＢＢ、ＭＢＣに対する探索範囲Ｓ０９Ａ、Ｓ０９Ｂ、及びＳ０９Ｃを含むように設定する。図１７においては、説明をわかりやすくするため、探索範囲Ｓ０９Ａ、Ｓ０９Ｂ、Ｓ０９Ｃが完全に別の位置に設定された場合を示したが、実際上は、３つの探索範囲Ｓ０９Ａ、Ｓ０９Ｂ、Ｓ０９Ｃは近くに設定され、重複する場合も多い。そのため、本実施形態で参照ピクチャに設定される探索範囲は、従来の探索範囲の大きさ（３２×３２程度）と比べて、それほど大きくはならない。なお、図１７に示す探索範囲Ｓ０９の設定は一例であり、探索範囲Ｓ０９Ａ、Ｓ０９Ｂ、及びＳ０９Ｃを包含さえすれば、探索範囲Ｓ０９の設定は任意である。
【００６５】
また、図１６に示す他の参照ピクチャＰ１２，Ｉ１５，Ｐ１８，Ｐ２１の探索範囲についても同様に設定される。すなわち、参照ピクチャＰ１２の探索範囲Ｓ１２は、探索範囲Ｓ１２Ａ、Ｓ１２Ｂ、Ｓ１２Ｃを含む範囲に設定し、参照ピクチャＩ１５の探索範囲Ｓ１５は、探索範囲Ｓ１５Ａ、Ｓ１５Ｂ、Ｓ１５Ｃを含む範囲に設定する。また、参照ピクチャＰ１８の探索範囲Ｓ１８は、探索範囲Ｓ１８Ａ、Ｓ１８Ｂ、Ｓ１８Ｃを包含するように設定し、参照ピクチャＰ２１の探索範囲Ｓ２１は、探索範囲Ｓ２１Ａ、Ｓ２１Ｂ、Ｓ２１Ｃを包含するように設定する。
【００６６】
次に、図１８及び図１９を参照して、第１の実施形態におけるインター予測の並列処理動作について説明する。
図１８は、第１の実施形態におけるインター予測の並列処理の様子を模式的に示す図である。図１８においては、３枚の符号化対象ピクチャＢ１９、Ｂ２０、Ｐ２４を符号化する場合を一例として示しており、特にインター予測で使用するデータの読み込み状態を示している。図１８では、時間軸方向に時間が経過するものとする。
【００６７】
直前に符号化が終了した符号化対象ピクチャＰ２１が復号され、参照リストが更新された直後の状態から図示している。まず、コーデック部は、符号化対象ピクチャＢ１９のマクロブロックＭＢＡのデータ、符号化対象ピクチャＢ２０のマクロブロックＭＢＢのデータ、及び符号化対象ピクチャＰ２４のマクロブロックＭＢＣのデータをビデオメモリから読み出す。また、コーデック部は、参照ピクチャＰ０９より探索範囲Ｓ０９の画像データ、参照ピクチャＰ１２より探索範囲Ｓ１２の画像データ、及び参照ピクチャＩ１５より探索範囲Ｓ１５の画像データをフレームメモリから読み出す。また、コーデック部は、参照ピクチャＰ１８より探索範囲Ｓ１８の画像データ、及び参照ピクチャＰ２１より探索範囲Ｓ２１の画像データをフレームメモリから読み出す。
【００６８】
次に、コーデック部は、マクロブロックＭＢＡに係るインター予測を行う。具体的には、コーデック部は、読み込んだ探索範囲Ｓ０９のうちのマクロブロックＭＢＡに対して使用される探索範囲Ｓ０９Ａについてインター予測を行う。また、コーデック部は、探索範囲Ｓ１２のうちのマクロブロックＭＢＡに対して使用される探索範囲Ｓ１２Ａ、及び探索範囲Ｓ１５のうちのマクロブロックＭＢＡに対して使用される探索範囲Ｓ１５Ａについてそれぞれインター予測を行う。同様に、探索範囲Ｓ１８のうちのマクロブロックＭＢＡに対して使用される探索範囲Ｓ１８Ａ、及び探索範囲Ｓ２１のうちのマクロブロックＭＢＡに対して使用される探索範囲Ｓ２１Ａについて、それぞれインター予測を行う。コーデック部は、各参照ピクチャから読み込んだすべての探索範囲でのインター予測が終了すると、マクロブロックＭＢＡについて最適な動きベクトルｍｖＡを決定する。
【００６９】
同様に、コーデック部は、マクロブロックＭＢＢについて、読み込んだ探索範囲のうちのマクロブロックＭＢＢに対して使用される探索範囲についてインター予測を行う。すなわち、コーデック部は、探索範囲Ｓ０９のうちの探索範囲Ｓ０９Ｂ、探索範囲Ｓ１２のうちの探索範囲Ｓ１２Ｂ、及び探索範囲Ｓ１５のうちの探索範囲Ｓ１５Ｂについてそれぞれインター予測を行う。また、コーデック部は、探索範囲Ｓ１８のうちの探索範囲Ｓ１８Ｂ、及び探索範囲Ｓ２１のうちの探索範囲Ｓ２１Ｂについてそれぞれインター予測を行う。そして、コーデック部は、各参照ピクチャの探索範囲でのインター予測に基づき、マクロブロックＭＢＢについて最適な動きベクトルｍｖＢを決定する。
【００７０】
さらに、コーデック部は、マクロブロックＭＢＣについて、読み込んだ探索範囲のうちのマクロブロックＭＢＣに対して使用される探索範囲についてインター予測を行う。コーデック部は、探索範囲Ｓ０９内の探索範囲Ｓ０９Ｃ、探索範囲Ｓ１２内の探索範囲Ｓ１２Ｃ、探索範囲Ｓ１５内の探索範囲Ｓ１５Ｃ、探索範囲Ｓ１８内の探索範囲Ｓ１８Ｃ、探索範囲Ｓ２１内の探索範囲Ｓ２１Ｃについてそれぞれインター予測を行う。コーデック部は、各参照ピクチャの探索範囲でのインター予測に基づき、マクロブロックＭＢＣについて最適な動きベクトルｍｖＣを決定する。
【００７１】
各マクロブロックＭＢＡ、ＭＢＢ、ＭＢＣについて、最適な動きベクトルｍｖＡ、ｍｖＢ、ｍｖＣが決定すると、コーデック部は、ビデオメモリから符号化対象ピクチャＢ１９、Ｂ２０、Ｐ２４の次のマクロブロックのデータを読み込む。また、コーデック部は、フレームメモリから次の探索範囲の画像データを読み込んで、次のインター予測を行う。次の探索範囲として読み込む範囲は、既に読み込んでいる探索範囲と重複する部分がある場合には、新たに必要となる範囲だけを読み込むようにしても良い。このようにすることで、符号化処理にてフレームメモリから読み出すデータ量を低減することができる。
【００７２】
以上の処理を繰り返して、符号化対象ピクチャＢ１９、Ｂ２０、Ｐ２４のすべてのマクロブロックについてインター予測を行い、最適な動きベクトルが求まると、符号化対象ピクチャについてのインター予測が終了し、各ピクチャについての符号化が終了する。コーデック部は、符号化が終了したら、ストリームバッファに符号化したデータを出力する。このとき、コーデック部は、通常の符号化順序であるピクチャＢ１９、Ｂ２０、Ｐ２４の順に符号化したデータを出力する。さらに、コーデック部は、符号化されたピクチャＰ２４を復号して参照リストに加えるとともに、参照リストからピクチャＰ２１を削除し、参照リストを更新する。
【００７３】
以上の動作フローを図１９に示す。
符号化対象ピクチャＢ１６，Ｂ１７，Ｐ２１の符号化後、符号化されたピクチャＰ２１が復号され、参照リストの更新が行われる（１９０１）。
【００７４】
その後、コーデック部は、各符号化対象ピクチャＢ１９、Ｂ２０、Ｐ２４のマクロブロックのデータをビデオメモリから読み込む（１９０２）とともに、それに対応したインター予測の探索範囲の画像データをフレームメモリから読み込む（１９０３）。コーデック部は、読み込んだマクロブロックのデータと探索範囲のデータを用いて、このマクロブロックに対してインター予測を行う（１９０４）。次に、コーデック部は、各参照ピクチャから読み込んだすべての探索範囲でのインター予測が終了すると、その結果を基にマクロブロックについての最適な動きベクトルを決定する（１９０５）。その後、コーデック部は、各符号化対象ピクチャの次のマクロブロックの処理に移る。
【００７５】
そして、コーデック部は、３枚の符号化対象ピクチャ内のすべてのマクロブロックに対して動き予測に係る処理が終了したら、３枚の符号化対象ピクチャを符号化する。次に、コーデック部は、通常の符号化順序、すなわちピクチャＢ１９、Ｂ２０、Ｐ２４の順でストリームを出力する（１９０６，１９０７，１９０８）。続いて、コーデック部は、符号化されたピクチャＰ２４を復号して参照リストに追加し参照リストを更新する（１９０９）。
【００７６】
なお、上述した説明では、マクロブロックＭＢＡ、ＭＢＢ、ＭＢＣの順序でデータを読み出し、探索範囲Ｓ０９、Ｓ１２、Ｓ１５、Ｓ１８、Ｓ２１の順序で画像データを読み出している。しかしながら、符号化対象ピクチャＢ１９、Ｂ２０、Ｐ２４のインター予測は独立して行うことができるので、これらのデータ等の読み出し順序自体は前後しても処理可能である。
【００７７】
例えば、マクロブロックＭＢＡのデータを読み込み、探索範囲Ｓ０９の画像データを読み込んで探索範囲Ｓ０９Ａ内を探索し、次に探索範囲Ｓ１２の画像データを読み込んでＳ１２Ａを探索する。続いて、探索範囲Ｓ１５の画像データを読み込んで探索範囲Ｓ１５Ａを探索し、次に探索範囲Ｓ１８の画像データを読み込んで探索範囲Ｓ１８Ａを探索し、次に探索範囲Ｓ２１の画像データを読んで探索範囲Ｓ２１Ａを探索し、動きベクトルｍｖＡを決定する。
【００７８】
続いて、マクロブロックＭＢＢのデータを読み込む。そして、探索範囲Ｓ０９内の探索範囲Ｓ０９Ｂ、探索範囲Ｓ１２内の探索範囲Ｓ１２Ｂ、探索範囲Ｓ１５内の探索範囲Ｓ１５Ｂ、探索範囲Ｓ１８内の探索範囲Ｓ１８Ｂ、及び探索範囲Ｓ２１内の探索範囲Ｓ２１Ｂをそれぞれ探索して、動きベクトルｍｖＢを決定する。
【００７９】
最後に、マクロブロックＭＢＣのデータを読み込む。そして、探索範囲Ｓ０９内の探索範囲Ｓ０９Ｃ、探索範囲Ｓ１２内の探索範囲Ｓ１２Ｃ、探索範囲Ｓ１５内の探索範囲Ｓ１５Ｃ、探索範囲Ｓ１８内の探索範囲Ｓ１８Ｃ、探索範囲Ｓ２１内の探索範囲Ｓ２１Ｃを探索し動きベクトルｍｖＣを決定することも可能である。
【００８０】
また、マクロブロックＭＢＣのデータを先に読み込み、マクロブロックＭＢＢ、ＭＢＡの順でデータを読み込むようにしても良い。
上述した並列処理で必要なことは、複数の符号化対象ピクチャのマクロブロックのインター予測を並列に処理できることであり、インター予測の際、フレームメモリからの探索範囲の読み出しは、参照ピクチャ毎に共通する探索範囲を読み込めば良いことである。
【００８１】
なお、上述した説明では、インター予測を並列して行うことを中心に説明したが、インター予測以外の符号化処理、例えばエントロピー符号化などは、元々ピクチャ間で独立して処理できるものであるから、本実施形態においても並列的に処理することができる。
【００８２】
また、上述した説明では、Ｉピクチャ又はＰピクチャが３フレーム間隔と、一定の周期を有する場合を一例として説明した。ここで、Ｈ．２６４方式の規格自体では、Ｂピクチャを参照リストの更新に使用することも、Ｉピクチャ又はＰピクチャを参照リストに加えないことも任意である。すなわち、本実施形態は、参照リストの更新から次の参照リストの更新までの間にある符号化対象ピクチャのインター予測を並列して行うのであって、参照リストの更新間隔は任意であってよい。通常、本実施形態と同様に、Ｉピクチャ又はＰピクチャが一定の周期で設定され、このＩピクチャ又はＰピクチャにより参照リストも周期的に更新されるように設定される場合が実用的である。
【００８３】
以上、説明したように第１の実施形態では、参照リストの更新から次の参照リストの更新までの間にある複数の符号化対象ピクチャ（例えば、上述した例における符号化対象ピクチャＢ１９，Ｂ２０，Ｐ２４）のインター予測を並列して行う。各符号化対象ピクチャの処理は、並列してインター予測を行う符号化対象ピクチャの数に応じて、例えば３枚の符号化対象ピクチャのインター予測を並列して行う場合には３フレーム単位内に終了すれば良い。
【００８４】
また、第１の実施形態では、フレームメモリから参照ピクチャの探索範囲の画像データを読み込む際に、符号化対象ピクチャの各マクロブロックに共通な探索範囲を順次読み込む。さらに、インター予測を行う際に、フレームメモリから読み出すデータの量は、フレームメモリ内のすべての参照ピクチャのデータ量が最大値（上限）であった。したがって、第１の実施形態によれば、例えば３枚の符号化対象ピクチャ（Ｂ１９、Ｂ２０、Ｐ２４）のインター予測を並列して行う場合には、３フレーム時間内に、フレームメモリから最大５枚分の参照ピクチャのデータを読み込めば良い。つまり、１フレーム時間で見ると、最大５／３枚分のデータをフレームメモリから読み込めば良い。これは、従来、１フレーム時間中に各符号化対象ピクチャで参照ピクチャを５枚づつ読んでいた場合と比較して、フレームメモリから読み出すデータ量が大幅に削減されていることになる。参照リストの更新から次の参照リストの更新までの間の符号化対象ピクチャ数をｍ、参照リスト内の参照ピクチャ数をｐとした場合、第１の実施形態では、ｍ毎のピクチャの処理間（ｍフレーム時間）に、最大ｐ枚の参照ピクチャのデータを読み込めば良い。すなわち、１フレーム時間中に、フレームメモリへのアクセス量が最大でｐ／ｍになる。
【００８５】
したがって、第１の実施形態によれば、インター予測を用いて画像データを符号化する符号化器にて、符号化処理を行うコーデック部（符号化部）と、符号化対象の画像データ及び参照ピクチャを記憶する画像メモリとの間のアクセス量を大幅に削減できる。これにより、データ転送に用いるクロックを高速化させたりする必要がなく、また消費電力などを低減することができる。
【００８６】
（第２の実施形態）
次に、第２の実施形態について説明する。
Ｈ．２６４方式以前からインター予測を行う符号化方式として、ＭＰＥＧ１、ＭＰＥＧ２、ＭＰＥＧ４（ＳＰ、ＡＳＰ）等が規格化されている。ここで、ＭＰＥＧ２を一例として簡単に説明する。
【００８７】
ＭＰＥＧ２規格では、Ｈ．２６４方式と同様にイントラ予測のみを行うＩピクチャ、前方向予測のみを行うＰピクチャ、及び双方向予測を行うＢピクチャで構成されている。しかし、図２０に示すように、ＭＰＥＧ２規格においてインター予測に用いる参照ピクチャは、Ｐピクチャを符号化する場合には、直前に符号化した１枚のＩピクチャ又はＰピクチャのみに限定されている。また、Ｂピクチャを符号化する場合には、前後それぞれ１枚のＩピクチャ又はＰピクチャに限定されている。ＭＰＥＧ２規格では、参照する参照ピクチャが限定されていることから参照リストという形式を取っていないが、符号化した画像データを復号してフレームメモリに記憶し、それを読み出してインター予測する点はＨ．２６４方式と同様である。
【００８８】
ＭＰＥＧ２規格でも符号化順序は、Ｈ．２６４方式と同様であり、図３に示したように、符号化順序は表示順序と異なり予測を行う順に符号化を行い、出力ストリーム上では符号化順序で符号化データが並ぶ。ここで、一般的なＭＰＥＧ２規格に準拠した符号化処理でのインター予測について図２１を参照して説明する。
【００８９】
図２１は、符号化対象ピクチャＢ１９、Ｂ２０、Ｐ２４を符号化する際のインター予測の様子を示す図である。図２１においては、直前の符号化対象ピクチャＰ２１の符号化後、それを復号して参照ピクチャＰ２１でフレームメモリの内容を更新した後の状態を図示している。このとき、フレームメモリ内には、参照ピクチャＰ２１と、さらにその前に符号化・復号化した参照ピクチャＰ１８が記憶されている。
【００９０】
符号化対象ピクチャＢ１９のインター予測では参照ピクチャＰ１８及びＰ２１を参照し、符号化対象ピクチャＢ２０のインター予測では参照ピクチャＰ１８及びＰ２１を参照し、符号化対象ピクチャＰ２４のインター予測では参照ピクチャＰ２１を参照する。例えば、コーデック部は、符号化対象ピクチャＢ１９のマクロブロックＭＢＡについて、マクロブロックＭＢＡのデータ及び参照ピクチャＰ１８，Ｐ２１の探索範囲Ｓ１８Ａ、Ｓ２１Ａのデータを、ビデオメモリ及びフレームメモリから読み込みインター予測を行う。同様に、コーデック部は、符号化対象ピクチャＢ２０のマクロブロックＭＢＢについて、マクロブロックＭＢＢのデータ及び参照ピクチャＰ１８，Ｐ２１の探索範囲Ｓ１８Ｂ、Ｓ２１Ｂのデータを、ビデオメモリ及びフレームメモリから読み込みインター予測を行う。また、コーデック部は、符号化対象ピクチャＰ２４のマクロブロックＭＢＣについて、マクロブロックＭＢＣのデータ及び参照ピクチャＰ２１の探索範囲Ｓ２１Ｃのデータを、ビデオメモリ及びフレームメモリから読み込みインター予測を行う。そして、符号化対象ピクチャＰ２４の符号化処理後、符号化されたピクチャＰ２４を復号してフレームメモリに記憶しフレームメモリの内容を更新する。
【００９１】
図２１に示した符号化手順の処理フローを図２２に示す。
符号化対象ピクチャＰ２１の符号化終了後、フレームメモリの内容が更新されて（２２０１）、その後符号化対象ピクチャＢ１９、Ｂ２０，Ｐ２４と順次符号化され、符号化対象ピクチャＰ２４の符号化後にフレームメモリの内容が更新される（２２０５）。各符号化対象ピクチャＢ１９、Ｂ２０，Ｐ２４の符号化処理（２２０２、２２０３、２２０４）は、Ｈ．２６４方式と同様に、マクロブロック読み込み、探索範囲読み込み、動き予測、ベクトル決定等の処理を順次行い、順次ストリームを出力している。
【００９２】
ここで、上述した説明から明らかなように、従来の一般的なＭＰＥＧ２規格に準拠した符号化処理についても、第１の実施形態において説明した従来のＨ．２６４方式での符号化処理と同様の問題がある。本発明の第２の実施形態による画像処理装置を適用した符号化器は、第１の実施形態と同様に複数の符号化対象ピクチャのインター予測を並列的に行うことで、フレームメモリから参照ピクチャを読み込むためのアクセス量を削減するようにしている。ただし、第２の実施形態における符号化器は、入力される画像データをＭＰＥＧ２規格に準拠した画像符号化方式で符号化する。
【００９３】
なお、第２の実施形態における符号化器の構成は、上述した第１の実施形態と同様の構成であるので、その説明は省略する。しかし、ＭＰＥＧ２の場合には、参照リストを構成しないので参照リストは備えていない。したがって、参照リストの更新でなく、フレームメモリの内容の更新となる。
【００９４】
第２の実施形態における符号化器での符号化処理について、図２３及び図２４を参照して説明する。上述したようにＭＰＥＧ２規格では、符号化処理にてインター予測に使う参照ピクチャは、Ｉピクチャ又はＰピクチャに限られている。また、Ｉピクチャ又はＰピクチャは、符号化後、必ずフレームメモリを更新して、参照ピクチャとして利用される。以下では、ピクチャＰ２１の符号化終了後にそれが復号化されてフレームメモリの内容が更新された後、次にフレームメモリの内容が更新されるピクチャＰ２４の符号化までの間にピクチャＢ１９、Ｂ２０、Ｐ２４を符号化する場合を一例として説明する。
【００９５】
図２３は、第２の実施形態における符号化処理でのインター予測の並列処理の様子を模式的に示す図である。ここで図示しているように、符号化対象ピクチャＢ１９，Ｂ２０，Ｐ２４を符号化する際には、直前に符号化され復号化されたピクチャＰ２１と、そのさらに前のＰピクチャであるピクチャＰ１８がフレームメモリに記憶されており、インター予測で参照される。
【００９６】
まず、コーデック部は、符号化対象ピクチャＢ１９のマクロブロックＭＢＡのデータ、符号化対象ピクチャＢ２０のマクロブロックＭＢＢのデータ、及び符号化対象ピクチャＰ２４のマクロブロックＭＢＣのデータをビデオメモリから読み出す。また、コーデック部は、参照ピクチャＰ１８より探索範囲Ｓ１８の画像データ、及び参照ピクチャＰ２１より探索範囲Ｓ２１の画像データをフレームメモリから読み出す。
【００９７】
なお、各参照ピクチャに設定される探索範囲Ｓ１８、Ｓ２１は、第１の実施形態と同様に各マクロブロックＭＢＡ、ＭＢＢ、ＭＢＣに対する探索範囲を包含するように設定されている。具体的には、探索範囲Ｓ１８は、マクロブロックＭＢＡに対する探索範囲Ｓ１８Ａ及びマクロブロックＭＢＢに対する探索範囲Ｓ１８Ｂを含む範囲に設定される。また、探索範囲Ｓ２１は、マクロブロックＭＢＡに対する探索範囲Ｓ２１Ａ、マクロブロックＭＢＢに対する探索範囲Ｓ２１Ｂ、及びマクロブロックＭＢＣに対する探索範囲Ｓ２１Ｃを含むように設定される。
【００９８】
次に、コーデック部は、マクロブロックＭＢＡについて、読み込んだ探索範囲Ｓ１８のうちのマクロブロックＭＢＡに対して使用される探索範囲Ｓ１８Ａについてインター予測を行う。また同様に、コーデック部は、探索範囲Ｓ２１のうちのマクロブロックＭＢＡに対して使用される探索範囲Ｓ２１Ａについてインター予測を行う。コーデック部は、参照ピクチャＰ１８、Ｐ２１から読み込んだ探索範囲でのインター予測が終了すると、マクロブロックＭＢＡについて最適な動きベクトルｍｖＡを決定する。
【００９９】
同様に、コーデック部は、マクロブロックＭＢＢについて、読み込んだ探索範囲のうちのマクロブロックＭＢＢに対して使用される探索範囲についてインター予測を行う。すなわち、コーデック部は、探索範囲Ｓ１８のうちの探索範囲Ｓ１８Ｂ、及び探索範囲Ｓ２１のうちの探索範囲Ｓ２１Ｂについてそれぞれインター予測を行い、最適な動きベクトルｍｖＢを決定する。
【０１００】
さらに、コーデック部は、マクロブロックＭＢＣについて、読み込んだ探索範囲Ｓ２１のうちのマクロブロックＭＢＣに対して使用される探索範囲Ｓ２１Ｃについてインター予測を行い、動きベクトルｍｖＣを決定する。
【０１０１】
各マクロブロックＭＢＡ、ＭＢＢ、ＭＢＣについて、最適な動きベクトルｍｖＡ、ｍｖＢ、ｍｖＣが決定すると、コーデック部は、ビデオメモリから符号化対象ピクチャＢ１９、Ｂ２０、Ｐ２４の次のマクロブロックのデータを読み込む。また、コーデック部は、フレームメモリから次の探索範囲の画像データを読み込んで、次のインター予測を行う。次の探索範囲として読み込む範囲は、既に読み込んでいる探索範囲と重複する部分がある場合には、新たに必要となる範囲だけを読み込むようにしても良い。このようにすることで、符号化処理にてフレームメモリから読み出すデータ量をさらに低減することができる。
【０１０２】
以上の処理を繰り返して、符号化対象ピクチャＢ１９，Ｂ２０，Ｐ２４のすべてのマクロブロックについてインター予測を行い、最適な動きベクトルが求まると、符号化対象ピクチャについてのインター予測が終了し、各ピクチャについての符号化が終了する。コーデック部は、符号化が終了したら、通常の符号化順序であるＢ１９，Ｂ２０，Ｐ２４の順に符号化したデータをストリームバッファに出力する。さらに、コーデック部は、符号化されたピクチャＰ２４を復号してフレームメモリに記憶するとともに、フレームメモリからピクチャＰ１８を削除し、フレームメモリの内容を更新する。
【０１０３】
以上の動作フローを図２４に示す。
符号化対象ピクチャＢ１６，Ｂ１７，Ｐ２１の符号化後、符号化されたピクチャＰ２１を復号しフレームメモリの内容を更新する（２４０１）。
【０１０４】
その後、コーデック部は、各符号化対象ピクチャＢ１９、Ｂ２０、Ｐ２４のマクロブロックのデータをビデオメモリから読み込む（２４０２）とともに、それに対応したインター予測の探索範囲の画像データをフレームメモリから読み込む（２４０３）。コーデック部は、このマクロブロックに対してインター予測を行い（２４０４）、それぞれに最適な動きベクトルを決定する（２４０５）。その後、コーデック部は、各符号化対象ピクチャの次のマクロブロックの処理に移り、処理２４０２〜２４０５を同様に行う。
【０１０５】
そして、コーデック部は、３枚の符号化対象ピクチャ内のすべてのマクロブロックに対して動き予測に係る処理が終了したら、３枚の符号化対象ピクチャを符号化する。次に、コーデック部は、通常の符号化順序、すなわちピクチャＢ１９、Ｂ２０、Ｐ２４の順でストリームを出力する（２４０６，２４０７，２４０８）。続いて、コーデック部は、符号化されたピクチャＰ２４を復号してフレームメモリに記憶しフレームメモリの内容を更新する（２４０９）。
【０１０６】
なお、上述した説明では、マクロブロックＭＢＡ、ＭＢＢ、ＭＢＣの順序でデータを読み出し、探索範囲Ｓ１８、Ｓ２１の順序で画像データを読み出している。しかしながら、符号化対象ピクチャＢ１９、Ｂ２０、Ｐ２４のインター予測は独立して行うことができるので、これらのデータ等の読み出し順序自体は前後しても処理可能である。
【０１０７】
第２の実施形態では、ＭＰＥＧ２規格に準拠した符号化処理にて、フレームメモリの内容更新から次のフレームメモリの内容更新までの間にある複数の符号化対象ピクチャ（例えば、符号化対象ピクチャＢ１９，Ｂ２０，Ｐ２４）のインター予測を並列して行う。これにより、各符号化対象ピクチャの処理は、並列してインター予測を行う符号化対象ピクチャの数に応じて、例えば３枚の符号化対象ピクチャＢ１９，Ｂ２０，Ｐ２４のインター予測を行う場合には３フレーム単位内に終了すれば良い。
【０１０８】
また、第２の実施形態では、フレームメモリから参照ピクチャの探索範囲の画像データを読み込む際に、符号化対象ピクチャの各マクロブロックに共通な探索範囲を順次読み込む。さらに、インター予測を行う際に、フレームメモリから読み出すデータの量は、フレームメモリ内のすべての参照ピクチャのデータ量が最大値（上限）であった。したがって、第２の実施形態によれば、例えば３枚の符号化対象ピクチャＢ１９、Ｂ２０、Ｐ２４のインター予測を並列して行う場合には、３フレーム時間内に、フレームメモリから最大２枚分の参照ピクチャのデータを読み込めばよい。つまり、１フレーム時間で見ると、最大２／３枚分のデータをフレームメモリから読み込めば良い。これは、従来、１フレーム時間中に、符号化対象ピクチャがＢピクチャであれば２枚づつ、Ｐピクチャであれば１枚づつ読んでいた場合と比較して、フレームメモリから読み出すデータ量が大幅に削減されていることになる。フレームメモリの内容更新から次のフレームメモリの内容更新までの間の符号化対象ピクチャ数をｍ、フレームメモリ内の参照ピクチャ数を２とした場合、ｍ毎のピクチャの処理間に、最大２枚の参照ピクチャのデータをフレームメモリから読み込めば良い。すなわち、１フレーム時間中に、フレームメモリへのアクセス量が最大で２／ｍになり、符号化処理を行うコーデック部（符号化部）と、符号化対象の画像データ及び参照ピクチャを記憶する画像メモリとの間のアクセス量を大幅に削減できる。これにより、データ転送に用いるクロックを高速化させたりする必要がなく、また消費電力などを低減することができる。
【０１０９】
（本発明の他の実施形態）
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置又はシステム内のコンピュータ（ＣＰＵ又はＭＰＵ）に対し、上記実施形態の機能を実現するためのソフトウェアのプログラムを供給する。そして、そのシステム又は装置のコンピュータに格納されたプログラムに従って上記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
また、この場合、上記ソフトウェアのプログラム自体が上述した実施形態の機能を実現することになり、そのプログラム自体は本発明を構成する。また、そのプログラムをコンピュータに供給するための手段、例えばかかるプログラムを格納した記録媒体は本発明を構成する。かかるプログラムを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
また、供給されたプログラムがコンピュータにて稼働しているオペレーティングシステム又は他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるプログラムは本発明の実施形態に含まれることは言うまでもない。
さらに、供給されたプログラムがコンピュータに係る機能拡張ボードや機能拡張ユニットに備わるメモリに格納された後、そのプログラムの指示に基づいてその機能拡張ボード等に備わるＣＰＵ等が実際の処理の一部又は全部を行う。その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【０１１０】
例えば、第１及び第２の実施形態に示した画像処理装置は、図２５に示すようなコンピュータ機能５００を有し、そのＣＰＵ５０１により第１及び第２の実施形態での動作が実施される。
コンピュータ機能５００は、図２５に示すように、ＣＰＵ５０１と、ＲＯＭ５０２と、ＲＡＭ５０３とを備える。また、キーボード（ＫＢ）５０９のキーボードコントローラ（ＫＢＣ）５０５と、表示部としてのＣＲＴディスプレイ（ＣＲＴ）５１０のＣＲＴコントローラ（ＣＲＴＣ）５０６とを備える。さらに、ハードディスク（ＨＤ）５１１及びフレキシブルディスク（ＦＤ）５１２のディスクコントローラ（ＤＫＣ）５０７と、ネットワークインタフェースカード（ＮＩＣ）５０８とを備える。それら機能部５０１、５０２、５０３、５０５、５０６、５０７、５０８は、システムバス５０４を介して互いに通信可能に接続された構成としている。
ＣＰＵ５０１は、ＲＯＭ５０２又はＨＤ５１１に記憶されたソフトウェア、又はＦＤ５１２より供給されるソフトウェアを実行することで、システムバス５０４に接続された各構成部を総括的に制御する。すなわち、ＣＰＵ５０１は、上述したような動作を行うための処理プログラムを、ＲＯＭ５０２、ＨＤ５１１、又はＦＤ５１２から読み出して実行することで、第１及び第２の実施形態での動作を実現するための制御を行う。ＲＡＭ５０３は、ＣＰＵ５０１の主メモリ又はワークエリア等として機能する。
ＫＢＣ５０５は、ＫＢ５０９や図示していないポインティングデバイス等からの指示入力を制御する。ＣＲＴＣ５０６は、ＣＲＴ５１０の表示を制御する。ＤＫＣ５０７は、ブートプログラム、種々のアプリケーション、ユーザファイル、ネットワーク管理プログラム、及び第１及び第２の実施形態における上記処理プログラム等を記憶するＨＤ５１１及びＦＤ５１２とのアクセスを制御する。ＮＩＣ５０８はネットワーク５１３上の他の装置と双方向にデータをやりとりする。
【０１１１】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【０１１２】
【図１】本発明の第１の実施形態における符号化器の構成例を示す図である。
【図２】図１に示したコーデック部の機能的構成を示す図である。
【図３】Ｈ．２６４方式での画像データの符号化順序を説明するための図である。
【図４】参照リストの一例を示す図である。
【図５】符号化対象ピクチャ毎の参照リストの変化の様子を示す図である。
【図６】Ｈ．２６４方式でのマクロブロックのインター予測を説明するための図である。
【図７】符号化対象ピクチャのマクロブロックと参照ピクチャの探索範囲の一例を示す図である。
【図８】符号化対象ピクチャのマクロブロックと参照ピクチャの探索範囲の他の例を示す図である。
【図９】符号化対象ピクチャのマクロブロックと参照ピクチャの探索範囲の他の例を示す図である。
【図１０】本実施形態における符号化器でインター予測を行う場合のデータの動きを説明するための図である。
【図１１】Ｈ．２６４方式でのインター予測に関する処理の流れを示すフローチャートである。
【図１２】Ｈ．２６４方式でのインター予測の様子を示す図である。
【図１３】Ｈ．２６４方式での符号化処理を示すフローチャートである。
【図１４】第１の実施形態における符号化処理の順序を説明するための図である。
【図１５】第１の実施形態において符号化対象ピクチャを符号化する際の参照リストの様子を示す図である。
【図１６】本実施形態においてインター予測を行う際の参照ピクチャの探索範囲を説明するための図である。
【図１７】本実施形態における参照ピクチャの探索範囲の一例を示す図である。
【図１８】第１の実施形態におけるインター予測の並列処理の様子を模式的に示す図である。
【図１９】図１８に示す処理動作の流れを示すフローチャートである。
【図２０】ＭＰＥＧ２規格における画像符号化を説明するための図である。
【図２１】ＭＰＥＧ２規格に準拠した符号化処理でのインター予測の様子を示す図である。
【図２２】図２１に示すＭＰＥＧ２規格に準拠した符号化処理を示すフローチャートである。
【図２３】第２の実施形態における符号化処理でのインター予測の並列処理の様子を模式的に示す図である。
【図２４】図２３に示す処理動作の流れを示すフローチャートである。
【図２５】本実施例における画像処理装置を実現可能なコンピュータ機能を示すブロック図である。
【符号の説明】
【０１１３】
１００  符号化器
１０１  コーデック部（符号化部）
１０２  スケーリング部
１０３  動き推定部
１０４  エントロピー符号化部
１０５  局所復号部
１１１  ビデオメモリ
１１２  フレームメモリ
１１３  ストリームバッファ
【図１】
0004822940.tif 000002
【図２】
0004822940.tif 000003
【図３】
0004822940.tif 000004
【図４】
0004822940.tif 000005
【図５】
0004822940.tif 000006
【図６】
0004822940.tif 000007
【図７】
0004822940.tif 000008
【図８】
0004822940.tif 000009
【図９】
0004822940.tif 000010
【図１０】
0004822940.tif 000011
【図１１】
0004822940.tif 000012
【図１２】
0004822940.tif 000013
【図１３】
0004822940.tif 000014
【図１４】
0004822940.tif 000015
【図１５】
0004822940.tif 000016
【図１６】
0004822940.tif 000017
【図１７】
0004822940.tif 000018
【図１８】
0004822940.tif 000019
【図１９】
0004822940.tif 000020
【図２０】
0004822940.tif 000021
【図２１】
0004822940.tif 000022
【図２２】
0004822940.tif 000023
【図２３】
0004822940.tif 000024
【図２４】
0004822940.tif 000025
【図２５】
0004822940.tif 000026