(57)【要約】【課題】動き補償を行う際にメモリから転送する画素情報の転送効率の向上を図ることが可能な画像処理装置およびその方法、並びにプログラムを提供する。【解決手段】画像処理装置１００において、メモリ３００は、復号化画像の第一フィールドと第二フィールドを別領域に保持し、複数の参照面のフィールド面をそれぞれ別領域に保持し、符号化および復号化回路２００は、画像データを分割したマクロブロックを複数に分割して動き補償予測を行うことが可能で、動き補償予測に従った動き補償を行う動き補償回路２５０を含み、動き補償回路２５０は、動き補償処理において、メモリに保持される復号化画像を転送する際に、マクロブロックの分割情報および参照ピクチャ情報を基に、分割されたマクロブロック内で、同一の参照面または同一のフィールド面の少なくとも一方への転送要求を並べ替えて連続してメモリに転送する。【選択図】図５
2010154061.tif 000002
【特許請求の範囲】
【請求項１】
メモリと、
符号化された画像データを上記メモリとのデータの授受により復号化する復号化回路と、を有し、
上記メモリは、
上記復号化された画像の第一フィールドと第二フィールドを別領域に保持し、複数の参照面のフィールド面をそれぞれ別領域に保持し、
上記復号化回路は、
画像データを分割したマクロブロックを複数に分割して動き補償予測を行うことが可能で、当該動き補償予測に従った動き補償を行う動き補償回路を含み、
上記動き補償回路は、
動き補償処理において、上記メモリに保持される復号化画像を転送する際に、マクロブロックの分割情報および参照ピクチャ情報を基に、分割されたマクロブロック内で、同一の参照面または同一のフィールド面の少なくとも一方への転送要求を並べ替えて連続して上記メモリに転送する
画像処理装置。
【請求項２】
メモリと、
画像データを上記メモリとのデータの授受により符号化する符号化回路と、を有し、
上記メモリは、
上記復号化画像の第一フィールドと第二フィールドを別領域に保持し、複数の参照面のフィールド面をそれぞれ別領域に保持し、
上記符号化回路は、
画像データを分割したマクロブロックを複数に分割して動き補償予測を行うことが可能で、当該動き補償予測に従った動き補償を行う動き補償回路を含み、
上記動き補償回路は、
動き補償処理において、上記メモリに保持される復号化画像を転送する際に、マクロブロックの分割情報および参照ピクチャ情報を基に、分割されたマクロブロック内で、同一の参照面または同一のフィールド面の少なくとも一方への転送要求を並べ替えて連続して上記メモリに転送する
画像処理装置。
【請求項３】
メモリと、
入力された画像データを上記メモリとのデータの授受により符号化し、入力された符号化された画像データを上記メモリとのデータの授受により復号化する符号化および復号化回路と、を有し、
上記メモリは、
上記復号化画像の第一フィールドと第二フィールドを別領域に保持し、複数の参照面のフィールド面をそれぞれ別領域に保持し、
上記符号化および復号化回路は、
画像データを分割したマクロブロックを複数に分割して動き補償予測を行うことが可能で、当該動き補償予測に従った動き補償を行う動き補償回路を含み、
上記動き補償回路は、
動き補償処理において、上記メモリに保持される復号化画像を転送する際に、マクロブロックの分割情報および参照ピクチャ情報を基に、分割されたマクロブロック内で、同一の参照面または同一のフィールド面の少なくとも一方への転送要求を並べ替えて連続して上記メモリに転送する
画像処理装置。
【請求項４】
上記動き補償回路は、
動き補償において、上記メモリに保持された復号化画像を転送する際に、分割されたマクロブロック内で、同一参照面を持つ分割における同一のフィールド面への転送要求を並べ替えて連結して上記メモリに転送する
請求項１から３のいずれか一に記載の画像処理装置。
【請求項５】
上記動き補償回路は、
動き補償において、上記メモリに保持された復号化画像を転送する際に、分割されたマクロブロック内で、同一のフィールド面への転送要求および同一の参照面への転送要求を並べ替えて連結して上記メモリに転送する
請求項１から３のいずれか一に記載の画像処理装置。
【請求項６】
符号化された画像データを復号化するに際に、
復号化された画像の第一フィールドと第二フィールドをメモリの別領域に保持し、
複数の参照用のフィールド面をそれぞれ別領域に保持し、
動き補償処理において、上記メモリに保持される復号化画像を転送する際に、マクロブロックの分割情報および参照ピクチャ情報を基に、分割されたマクロブロック内で、同一の参照面または同一のフィールド面の少なくとも一方への転送要求を並べ替えて連続して転送する
画像処理方法。
【請求項７】
画像データを符号化するに際に、
復号化画像の第一フィールドと第二フィールドをメモリの別領域に保持し、
複数の参照用のフィールド面をそれぞれ別領域に保持し、
動き補償処理において、上記メモリに保持される復号化画像を転送する際に、マクロブロックの分割情報および参照ピクチャ情報を基に、分割されたマクロブロック内で、同一の参照面または同一のフィールド面の少なくとも一方への転送要求を並べ替えて連続して転送する
画像処理方法。
【請求項８】
上記動き補償において、上記メモリに保持された復号化画像を転送する際に、分割されたマクロブロック内で、同一参照面を持つ分割における同一のフィールド面への転送要求を並べ替えて連結して上記メモリに転送する
請求項６または７記載の画像処理方法。
【請求項９】
上記動き補償において、上記メモリに保持された復号化画像を転送する際に、分割されたマクロブロック内で、同一のフィールド面への転送要求および同一の参照面への転送要求を並べ替えて連結して上記メモリに転送する
請求項６または７記載の画像処理方法。
【請求項１０】
符号化された画像データを復号化する、または、画像データを符号化するに際に、
復号化画像の第一フィールドと第二フィールドをメモリの別領域に保持する処理と、
複数の参照用のフィールド面をそれぞれ別領域に保持する処理と、
動き補償処理において、上記メモリに保持される復号化画像を転送する際に、マクロブロックの分割情報および参照ピクチャ情報を基に、分割されたマクロブロック内で、同一の参照面または同一のフィールド面の少なくとも一方への転送要求を並べ替えて連続して転送する処理と
を含む画像処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル画像を処理する画像処理装置およびその方法、並びにプログラムに関するものである。
【背景技術】
【０００２】
近年、画像情報をデジタル化して取り扱い、その際、効率の高い情報の伝達および蓄積を目的とし、画像情報特有の冗長性を利用した画像処理装置が普及している。
特に、離散コサイン変換（Discrete Cosine Transform：ＤＣＴ）等の直交変換と動き補償とにより圧縮するＭＰＥＧ（Moving Picture Experts Group）等の方式に準拠した装置が普及している。
【０００３】
このように、動画像圧縮符号化および復号化技術の重要な要素に、「動き補償予測」がある。
動き補償予測とは、動画像を構成する連続したピクチャがどのように動いたのかを検出し、その画素情報を予測画像として利用することにより効率よく圧縮を行う手法である。
【０００４】
ＭＰＥＧ等の代表的な動画像圧縮方法では、動き補償予測を行う際、ピクチャを分割した「マクロブロック（ＭＢ）」と呼ばれる分割単位毎に、表示順で前方向または後方に位置する他のピクチャ内の画素情報と比較する。そして、この動画像圧縮方法では、どの方向へどの大きさ動くかを示す動きベクトルを使用する。
なお、比較されるピクチャを「参照画」または「参照面」と呼ぶ。
【０００５】
近年、新たな動画像圧縮符号化および復号化技術として規格化された、ＭＰＥＧ４−ＡＶＣ (Advanced Video Coding）においては、動き補償予測において、より符号化効率を高めるために、新しい手法が導入されている。
【０００６】
その中の一つとして、ＡＶＣにおいては通常のマクロブロックに対し、図１（Ａ）〜（Ｄ）に示すように、さらに１分割、２分割、４分割された単位でそれぞれ異なった参照面と動きベクトルを指定することができる。
【０００７】
さらに、マクロブロックが４分割された場合、それぞれの分割は「サブマクロブロック」と呼ばれ、図２（Ａ）〜（Ｄ）に示すように、さらに１分割、２分割、４分割された単位でそれぞれ異なった動きベクトルを指定することができる。
【０００８】
この分割は双方向動き補償予測でも可能となっているため、１マクロブロックあたり最大８面の異なった参照ピクチャと３２分割された単位でそれぞれ異なった動きベクトルを指定することができる。実際は、レベル制約により隣り合う２マクロブロックでの動きベクトルの本数には制限が発生する。
【０００９】
また、ＭＰＥＧ４−ＡＶＣの動き補償予測で取り入れられた手法として、輝度情報については６タップの補間フィルタを採用している。
そのため、マクロブロック内のそれぞれの分割について、図３（Ａ）〜（Ｃ）に示すように分割領域から上下合わせて５画素、左右合わせて５画素分拡大した領域の画素情報を補間フィルタ処理のために外部メモリから転送する必要がある。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上記２点の特徴によりＡＶＣにおいては、１マクロブロック当たりの動き補償予測を行うために外部メモリから転送しなければならない画素情報の転送量が、ＭＰＥＧ２などの符号化技術にくらべて増大するという特徴がある。
そのため、条件によっては画像符号化および復号化処理において動き補償予測のために必要な外部メモリ間でのデータ転送量が、システム全体での転送量の多くを占め、符号化および復号化回路のパフォーマンスネックになる場合が発生する。
【００１１】
マクロブロック単位で動き補償予測を行うために必要な画素データを外部メモリから取得する際に、マクロブロックの情報から必要な外部メモリ上のアドレスを計算し、アクセス要求をする必要がある。
ここでのマクロブロックの情報とは、マクロブロックの位置情報、マクロブロックの予測方向(双方向かまたは片方向かの)情報、マクロブロックの分割情報、各分割における参照面情報を含む。
さらにマクロブロックの情報とは、サブマクロブロックの分割情報、マクロブロックが含まれるピクチャがインターレースフレームピクチャかプログレッシブフレームピクチャかフィールドピクチャかの情報、および各分割における動きベクトル情報を含む。
【００１２】
一般的にマクロブロック情報から外部メモリへのアドレス要求は、マクロブロック内の分割に応じて、順番に処理が行われる。
図４に示すような分割が行われた場合は、分割番号「0-0」,「1-0」,「1-1」,「1-2」,「1-3」,「2-0」,「2-1」,「3-0」,「3-1」の順にアドレスが計算され、アクセス要求がその順番で行われる。
また、インターレースフレーム画像を扱う場合は、それぞれの分割において、第一フィールドのデータへのアドレス要求と第二フィールドへのアドレス要求が分割されて発行される。
【００１３】
このようなアドレス要求発行順における問題点は以下の点にある。
一連のアドレス要求の連続のなかで、要求されるアドレスが、頻繁に大きく変化してしまうことにより、外部メモリ(ＤＲＡＭ)のロウアドレス境界をまたぐ頻度が高くなる。その結果、アクティブコマンド、プリチャージコマンドに要するクロック数が多くなり、転送効率が低下するという点にある。
また、この転送効率の低下は参照画像を外部メモリ(ＤＲＡＭ)の複数のバンクにマップすることによって転送効率の向上を図るバンクインターリーブなどの工夫を行っても発生してしまうことになる。
【００１４】
本発明は、動き補償を行う際にメモリから転送する画素情報の転送効率の向上を図ることが可能な画像処理装置およびその方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【００１５】
本発明の第１の観点の画像処理装置は、メモリと、入力された画像データを上記メモリとのデータの授受により符号化し、入力された符号化された画像データを上記メモリとのデータの授受により復号化する符号化または、および復号化回路と、を有し、上記メモリは、上記復号化画像の第一フィールドと第二フィールドを別領域に保持し、複数の参照面のフィールド面をそれぞれ別領域に保持し、上記符号化または、および復号化回路は、画像データを分割したマクロブロックを複数に分割して動き補償予測を行うことが可能で、当該動き補償予測に従った動き補償を行う動き補償回路を含み、上記動き補償回路は、動き補償処理において、上記メモリに保持される復号化画像を転送する際に、マクロブロックの分割情報および参照ピクチャ情報を基に、分割されたマクロブロック内で、同一の参照面または同一のフィールド面の少なくとも一方への転送要求を並べ替えて連続して上記メモリに転送する。
【００１６】
本発明の第２の観点の画像処理方法は、符号化された画像データを復号化するに際に、あるいは画像データを符号化するに際に、復号化された画像の第一フィールドと第二フィールドをメモリの別領域に保持し、複数の参照用のフィールド面をそれぞれ別領域に保持し、動き補償処理において、上記メモリに保持される復号化画像を転送する際に、マクロブロックの分割情報および参照ピクチャ情報を基に、分割されたマクロブロック内で、同一の参照面または同一のフィールド面の少なくとも一方への転送要求を並べ替えて連続して転送する。
【００１７】
本発明の第３の観点は、符号化された画像データを復号化する、または、画像データを符号化するに際に、復号化画像の第一フィールドと第二フィールドをメモリの別領域に保持する処理と、複数の参照用のフィールド面をそれぞれ別領域に保持する処理と、
動き補償処理において、上記メモリに保持される復号化画像を転送する際に、マクロブロックの分割情報および参照ピクチャ情報を基に、分割されたマクロブロック内で、同一の参照面または同一のフィールド面の少なくとも一方への転送要求を並べ替えて連続して転送する処理とを含む画像処理をコンピュータに実行させるプログラムである。
【００１８】
本発明によれば、メモリに、復号化画像の第一フィールドと第二フィールドが別領域に保持され、複数の参照面のフィールド面がそれぞれ別領域に保持される。
そして、動き補償回路における動き補償処理において、マクロブロックの分割情報および参照ピクチャ情報を基に、分割されたマクロブロック内で、同一の参照面または同一のフィールド面の少なくとも一方への転送要求が並べ替えられて連続してメモリに転送される。
【発明の効果】
【００１９】
本発明によれば、動き補償を行う際にメモリから転送する画素情報の転送効率の向上を図ることができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態を図面に関連付けて説明する。
なお、説明は以下の順序で行う。
１．画像処理装置の全体構成
２．アドレス要求を生成する第１のアルゴリズム例
３．アドレス要求を生成する第２のアルゴリズム例
４．アドレス要求を生成する第３のアルゴリズム例
【００２１】
＜１．画像処理装置の全体構成＞
図５は、本発明の実施形態に係る画像処理装置の構成を示すブロック図である。
【００２２】
本画像処理装置１００は、図５に示すように、画像符号化／復号化回路２００、およびたとえばＤＲＡＭからなる外部メモリ３００を有する。
画像符号化／復号化回路２００は、バス・外部メモリ(ＤＲＡＭ)コントローラ２１０、ビットストリーム入出力部２２０、ビデオインターフェース２３０、および画像処理部２４０を有する。
また、図５において、ＡＤＲはアドレスを示す、ＤＴはデータを示している。
【００２３】
本実施形態の画像処理装置１００は、ＭＰＥＧ規格に従って符号化された画像データを復号化する機能を有する。
画像処理装置１００は、復号化された画像の第一フィールドField0と第二フィールドField1を、たとえばＤＲＡＭからなる外部メモリ３００の別領域に保持し、複数の参照用のフィールド面をそれぞれ別領域に保持する。
画像処理装置１００は、動き補償機能を有し、この動き補償において外部メモリ３００に保持された復号化画像を転送する際に、以下に示すような並べ替え転送を行うことにより、外部メモリ３００から転送する画素情報の転送効率の改善を図っている。
画像処理装置１００は、マクロブロックＭＢの分割情報および参照ピクチャ情報を基に、分割されたマクロブロックＭＢ内で、同一の参照面または同一のフィールド面の少なくとも一方への転送要求を並べ替えて連結して転送する機能を有する。
たとえば、画像処理装置１００は、外部メモリ３００に保持された復号化画像を転送する際に、分割されたマクロブロックＭＢ内で、同一参照面を持つ分割における同一のフィールド面への転送要求を並べ替えて連結して転送する機能を有する。
あるいは画像処理装置１００は、外部メモリ３００に保持された復号化画像を転送する際に、分割されたマクロブロックＭＢ内で、同一のフィールド面への転送要求および同一の参照面への転送要求を並べ替えて連結して転送する機能を有する。
【００２４】
なお、以上の挙げた並べ替え転送機能は、ＭＰＥＧ規格に従って画像データを符号化する装置で、動き補償を行う場合にも同様に適用可能である。
すなわち、画像処理装置１００は、ローカルデコード(復号化)画像の第一フィールドと第二フィールドを外部メモリ３００の別領域に保持し、複数の参照用のフィールド面をそれぞれ別領域に保持し、動き補償を行う場合にも同様に適用可能である。
すなわち、画像処理装置１００は、マクロブロックＭＢの分割情報および参照ピクチャ情報を基に、分割されたマクロブロックＭＢ内で、同一の参照面または同一のフィールド面の少なくとも一方への転送要求を並べ替えて連結して転送する機能を有する。
たとえば、画像処理装置１００は、外部メモリ３００に保持された復号化画像を転送する際に、分割されたマクロブロックＭＢ内で、同一参照面を持つ分割における同一のフィールド面への転送要求を並べ替えて連結して転送する機能を有する。
あるいは画像処理装置１００は、外部メモリ３００に保持された復号化画像を転送する際に、分割されたマクロブロックＭＢ内で、同一のフィールド面への転送要求および同一の参照面への転送要求を並べ替えて連結して転送する機能を有する。
【００２５】
以下に、画像処理装置１００の各部の構成、機能について具体的に説明する。
【００２６】
バス・外部メモリコントローラ２１０は、ビットストリーム入出力部２２０、ビデオインターフェース２３０、および画像処理部２４０の相互間のデータ転送の制御を行う。
バス・外部メモリコントローラ２１０は、ビットストリーム入出力部２２０、ビデオインターフェース２３０、および画像処理部２４０の各々と、外部メモリ３００との間のアドレスＡＤＲ、データＤＴの転送制御を行う。
【００２７】
ビットストリーム入出力部２２０は、たとえば画像処理部２４０で符号化されて得られたビットストリームデータを、バス・外部メモリコントローラ２１０を通して入力し、外部機器に送信する。
ビットストリーム入出力部２２０は、ビットストリームデータを入力し、そのデータをバス・外部メモリコントローラ２１０を通して画像処理部２４０に転送する。
また、ビットストリーム入力出部２２０は、バス・外部メモリコントローラ２１０を通して外部メモリ３００へのアクセスが可能である。
【００２８】
ビデオインターフェース２３０は、たとえば符号化しようとする画像データ（ビデオ信号）を入力し、その画像ゲートをバス・外部メモリコントローラ２１０を通して画像処理部２４０に転送する。
ビデオインターフェース２３０は、たとえば画像処理部２４０で符号化しようとする画像データ（ビデオ信号）を、バス・外部メモリコントローラ２１０を通して入力し、外部のビデオ装置に送信する。
また、ビデオインターフェース２３０は、バス・外部メモリコントローラ２１０を通して外部メモリ３００へのアクセスが可能である。
【００２９】
画像処理部２４０は、ビデオインターフェース２３０を通して入力した、たとえば符号化しようとする画像データ（ビデオ信号）を符号化し、ビットストリームデータとしてバス・外部メモリコントローラ２１０を通してビットストリームデータ入出力部２２０に転送する。
画像処理部２４０は、ビットストリーム入出力部２２０を通して入力したビットストリームデータを復号化し、バス・外部メモリコントローラ２１０を通してビデオインターフェース２３０に転送する。
【００３０】
画像処理部２４０は、符号化処理および復号化処理を行うに際し、画像データを分割したマクロブロックを複数に分割して動き補償予測を行うことが可能で、動き補償予測に従った動き補償を行う動き補償回路２５０、および制御部２６０を含む。
動き補償回路２５０は、マクロブロックＭＢの分割情報および参照ピクチャ情報を基に、分割されたマクロブロックＭＢ内で、同一の参照面または同一のフィールド面の少なくとも一方への転送要求を並べ替えて連結して転送する機能を有する。
たとえば、動き補償回路２５０は、外部メモリ３００に保持された復号化画像を転送する際に、分割されたマクロブロックＭＢ内で、同一参照面を持つ分割における同一のフィールド面への転送要求を並べ替えて連結して転送する機能を有する。
あるいは動き補償回路２５０は、外部メモリ３００に保持された復号化画像を転送する際に、分割されたマクロブロックＭＢ内で、同一のフィールド面への転送要求および同一の参照面への転送要求を並べ替えて連結して転送する機能を有する。
【００３１】
画像処理部２４０内にある動き補償回路２５０は、バス・外部メモリ(ＤＲＡＭ)コントローラ２１０を介して、外部メモリ(ＤＲＡＭ)３００とのデータの授受が可能に接続されている。
【００３２】
図６は、図５の動き補償回路の構成例を示すブロック図である。
【００３３】
動き補償回路２５０は、図６に示すように、アドレス生成器２５１、バッファＲＡＭ２５２、および画素処理回路２５３を有する。
【００３４】
動き補償回路２５０のアドレス生成器２５１は、画像処理部２４０内の制御部２６０から動き補償を行うマクロブロックの情報ＭＢＩを取得する。
このマクロブロック情報ＭＢＩを元にアドレス生成器２５１が外部メモリ(ＤＲＡＭ)３００に要求するアドレスを計算し、バス・外部メモリ(ＤＲＡＭ)コントローラ部２１０に対してアドレス要求を行う。
バス・外部メモリ(ＤＲＡＭ)コントローラ部２１０では、動き補償回路２５０からのアドレス要求に基づき外部メモリ(ＤＲＡＭ)３００にアクティブ・プリチャージ等のコマンドを発行し、転送されたデータを動き補償回路２５０に転送する。
転送されたデータは動き補償回路２５０内のバッファＲＡＭ２５２に保存され、後段の画素処理回路２５３に転送される。
画素処理回路２５３においては、たとえば動き補償にかかわる空間補間フィルタによるフィルタリング処理が行われる。
【００３５】
以下に、本実施形態の特徴的な機能である動き補償回路２５０のアドレス生成器２５１におけるマクロブロック情報からアドレス要求を生成するアルゴリズムについて具体的に説明する。
【００３６】
＜２．アドレス要求を生成する第１のアルゴリズム例＞
図７は、アドレス生成器２５１におけるマクロブロック情報からアドレス要求を生成する第１のアルゴリズムのフローチャートを示す図である。
【００３７】
画像処理部２４０の制御部２６０から動き補償回路２５０に入力されるマクロブロック情報ＭＢＩには、以下の情報を含む。
マクロブロック情報ＭＢＩには、マクロブロックの位置情報、マクロブロックの予測方向(双方向または片方向)情報、マクロブロックの分割情報、および各分割における参照面情報、サブマクロブロックの分割情報が含まれる。
さらに、マクロブロック情報ＭＢＩには、フレームピクチャかフィールドピクチャかの情報、および各分割における動きベクトル情報が含まれる。
【００３８】
まず、ステップＳＴ１において、アドレス生成器２５１は、マクロブロックのすべての各分割における参照面の情報を元に同じ参照面の分割が連続するように並び替える。
その後、アドレス生成器２５１は、ステップＳＴ２において、処理対象マクロブロックがプログレッシブフレームピクチャもしくはフィールドピクチャに含まれるか、インターレースフレームピクチャに含まれるかの判断を行う。
ステップＳＴ２において、プログレッシブフレームピクチャもしくはマクロブロックであると判断した場合は、アドレス生成器２５１は、ステップＳＴ３において同じ参照面の中で分割の番号順に動きベクトルに基づきアドレス要求を発行する。
ステップＳＴ２において、処理対象マクロブロックがインターレースフレームピクチャに含まれると判断した場合、アドレス生成器２５１は、ステップＳＴ１の上記並べ替えの後に、ステップＳＴ４の処理を行う。
ステップＳＴ４において、アドレス生成器２５１は、同じ参照面をもつ分割内で、第一フィールドfield0に対するアドレス要求と第二フィールドfield1に対するアドレス要求が連続するように並び替え、ステップＳＴ５により分割の番号順にアドレス要求を行う。
【００３９】
図８（Ａ）〜（Ｄ）は、インターレースフレームピクチャに含まれるマクロブロックの場合の、アドレス並べ替えの例を示す図である。
【００４０】
図８（Ａ）はマクロブロックＭＢの分割例を示している。
マクロブロックＭＢは、サブマクロブロックＳＭＢ０、ＳＭＢ１、ＳＭＢ２、ＳＭＢ３に分割される。
サブマクロブロックＳＭＢ１は、さらにブロックＳＭＢ１ ０、ＳＭＢ１ １、ＳＭＢ１ ２、ＳＭＢ１ ３を含む。
サブマクロブロックＳＭＢ２は、さらにブロックＳＭＢ２ ０、ＳＭＢ２ １を含む。
サブマクロブロックＳＭＢ３は、さらにブロックＳＭＢ３ ０、ＳＭＢ３ １を含む。
この分割例では、各分割ブロックを区別するめに分割番号「0-0」,「1-0」,「1-1」,「1-2」,「1-3」,「2-0」,「2-1」,「3-0」,「3-1」が付してある。
図８（Ｂ）〜（Ｄ）は発行順序を並べて示す図であって、図８（Ｂ）は初期状態時のリストであってアドレス発行順をマクロブロックの分割順にならべたリストを示している。
図８（Ｃ）は図７のステップＳＴ１の処理後のリストを、図８（Ｄ）は図７のステップＳＴ４の処理後のリストを、それぞれ示している。
【００４１】
図８（Ｂ）の初期状態でのリストは次の順序となっている。
この場合、発行順序は分割番号「0-0」,「1-0」,「1-1」,「1-2」,「1-3」,「2-0」,「2-1」,「3-0」,「3-1」の順となっている。各分割番号のブロックごとに第一フィールドfield0および第二フィールドfield1に対応する。
リストは、「Index0 0 field0  参照面＃０」、「Index0 0 field1  参照面＃０」、「Index1 0 field0  参照面＃１」、「Index1 0 field1  参照面＃１」、「Index1 1 field0  参照面＃１」、「Index1 1 field1  参照面＃１」の順序となっている。
続いて、「Index1 2 field0  参照面＃１」、「Index1 2 field1  参照面＃１」、「Index1 3 field0  参照面＃１」、「Index1 3 field1  参照面＃１」の順序となっている。
続いて、「Index2 0 field0  参照面＃０」、「Index2 0 field1  参照面＃０」、「Index2 1 field0  参照面＃０」、「Index2 1 field1  参照面＃０」の順序となっている。
続いて、「Index3 0 field0  参照面＃１」、「Index3 0 field1  参照面＃１」、「Index3 1 field0  参照面＃１」、「Index3 1 field1  参照面＃１」の順序となっている。
【００４２】
図８（Ｃ）のリストは、図８（Ｂ）のリストを同一参照面による並べ替えにより次の順序となっている。
リストは、「Index0 0 field0  参照面＃０」、「Index0 0 field1  参照面＃０」、「Index2 0 field0  参照面＃０」、「Index2 0 field1  参照面＃０」、「Index2 1 field0  参照面＃０」、「Index2 1 field1  参照面＃０」の順序となっている。
続いて、「Index1 0 field0  参照面＃１」、「Index1 0 field1  参照面＃１」、「Index1 1 field0  参照面＃１」、「Index1 1 field1  参照面＃１」の順序となっている。
続いて、「Index1 2 field0  参照面＃１」、「Index1 2 field1  参照面＃１」、「Index1 3 field0  参照面＃１」、「Index1 3 field1  参照面＃１」の順序となっている。
続いて、「Index3 0 field0  参照面＃１」、「Index3 0 field1  参照面＃１」、「Index3 1 field0  参照面＃１」、「Index3 1 field1  参照面＃１」の順序となっている。
【００４３】
図８（Ｄ）のリストは、図８（Ｃ）のリストをインターレースフレームに対して同一フィールドによる並べ替えにより次の順序となっている。
リストは、「Index0 0 field0  参照面＃０」、「Index2 0 field0  参照面＃０」、「Index2 1 field0  参照面＃０」、「Index0 0 field1  参照面＃０」、「Index2 0 field1  参照面＃０」、「Index2 1 field1  参照面＃０」の順序となっている。
続いて、「Index1 0 field0  参照面＃１」、「Index1 1 field0  参照面＃１」、「Index1 2 field0  参照面＃１」、「Index1 3 field0  参照面＃１」の順序となっている。
続いて、「Index3 0 field0  参照面＃１」、「Index3 1 field0  参照面＃１」、「Index1 0 field1  参照面＃１」、「Index1 1 field1  参照面＃１」の順序となっている。
続いて、「Index1 2 field1  参照面＃１」、「Index1 3 field1  参照面＃１」、「Index3 0 field1  参照面＃１」、「Index3 1 field1  参照面＃１」の順序となっている。
【００４４】
これらは各分割におけるフィールドおよび参照面情報のリストであり、図８（Ｂ）はアドレス発行順をマクロブロックの分割順に並べて図８（Ｂ）のリストが形成される。
このリストに対してステップＳＴ１を行った結果が図８（Ｃ）として形成される。
処理対象マクロブロックはインターレースフレームに含まれるので、ステップＳＴ２の次にステップＳＴ４の処理が行われる。その結果、図８（Ｄ）に示すようなリストが形成される。
そして、ステップＳＴ５において、このリスト順に動きベクトル情報から参照画のＤＲＡＭマッピングに応じてアドレス要求を生成する。
【００４５】
＜３．アドレス要求を生成する第２のアルゴリズム例＞
図９は、アドレス生成器２５１におけるマクロブロック情報からアドレス要求を生成する第２のアルゴリズムのフローチャートを示す図である。
【００４６】
図９の第２のアルゴリズムは、アドレス生成器２５１におけるマクロブロック情報からアドレス要求を生成するアルゴリズムの第１の変形例として示されている。
【００４７】
このアルゴリズムにおいては、始めにステップＳＴ１１において、アドレス生成器２５１は、プログレッシブフレーム／フィールドピクチャかインターレースフレームかの判断を行う。
ステップＳＴ１１において、プログレッシブフレーム／フィールドピクチャであると判断した場合は、アドレス生成器２５１は、ステップＳＴ１２において同一参照面による並べ替えを行ってから、ステップＳＴ１３においてアドレス要求を生成する。
ステップＳＴ１１において、インターレースフレームである判断した場合、アドレス生成器２５１は、ステップＳＴ１４において同一フィールドによる並べ替えを行い、その後ステップＳＴ１５において同一参照面に対する並べ替えを行う。
その後にステップＳＴ１６において、アドレス生成器２５１は、アドレス要求を生成する。
【００４８】
＜４．アドレス要求を生成する第３のアルゴリズム例＞
図１０は、アドレス生成器２５１におけるマクロブロック情報からアドレス要求を生成する第３のアルゴリズムのフローチャートを示す図である。
【００４９】
図１０の第３のアルゴリズムは、アドレス生成器２５１におけるマクロブロック情報からアドレス要求を生成するアルゴリズムの第２の変形例として示されている。
【００５０】
第３のアルゴリズムでは、アドレス生成器２５１は、参照面による並べ替えはせずにステップＳＴ２１において同一参照面をもつ分割におけるフィールドによる並べ替えのみを行う。その後、ステップＳＴ２２において、アドレス生成器２５１は、アドレス要求を生成する。
【００５１】
図１１（Ａ）〜（Ｃ）は、図１０の第３のアルゴリズムにおけるインターレースフレームピクチャに含まれるマクロブロックの場合の、アドレス並べ替えの例を示す図である。
【００５２】
図１１（Ａ）はマクロブロックＭＢの分割例を示している。
マクロブロックＭＢは、サブマクロブロックＳＭＢ０、ＳＭＢ１、ＳＭＢ２、ＳＭＢ３に分割される。
サブマクロブロックＳＭＢ１は、さらにブロックＳＭＢ１ ０、ＳＭＢ１ １、ＳＭＢ１ ２、ＳＭＢ１ ３を含む。
サブマクロブロックＳＭＢ２は、さらにブロックＳＭＢ２ ０、ＳＭＢ２ １を含む。
サブマクロブロックＳＭＢ３は、さらにブロックＳＭＢ３ ０、ＳＭＢ３ １を含む。
この分割例では、各分割ブロックを区別するめに分割番号「0-0」,「1-0」,「1-1」,「1-2」,「1-3」,「2-0」,「2-1」,「3-0」,「3-1」が付してある。
図１１（Ｂ），（Ｃ）は発行順序を並べて示す図であって、図１１（Ｂ）は初期状態時のリストであってアドレス発行順をマクロブロックの分割順にならべたリストを示している。
図１１（Ｃ）は同一参照面をもつ分割におけるフィールドによる並べ替えのみを行った後のリストを示している。
【００５３】
図１１（Ｂ）の初期状態でのリストは次の順序となっている。
この場合、発行順序は分割番号「0-0」,「1-0」,「1-1」,「1-2」,「1-3」,「2-0」,「2-1」,「3-0」,「3-1」の順となっている。各分割番号のブロックごとに第一フィールドfield0および第二フィールドfield1に対応する。
リストは、「Index0 0 field0  参照面＃０」、「Index0 0 field1  参照面＃０」、「Index1 0 field0  参照面＃１」、「Index1 0 field1  参照面＃１」、「Index1 1 field0  参照面＃１」、「Index1 1 field1  参照面＃１」の順序となっている。
続いて、「Index1 2 field0  参照面＃１」、「Index1 2 field1  参照面＃１」、「Index1 3 field0  参照面＃１」、「Index1 3 field1  参照面＃１」の順序となっている。
続いて、「Index2 0 field0  参照面＃０」、「Index2 0 field1  参照面＃０」、「Index2 1 field0  参照面＃０」、「Index2 1 field1  参照面＃０」の順序となっている。
続いて、「Index3 0 field0  参照面＃１」、「Index3 0 field1  参照面＃１」、「Index3 1 field0  参照面＃１」、「Index3 1 field1  参照面＃１」の順序となっている。
【００５４】
図１１（Ｃ）のリストは、図１１（Ｂ）のリストを同一参照面をもつ分割におけるフィールドによる並べ替えにより次の順序となっている。
リストは、「Index0 0 field0  参照面＃０」、「Index0 0 field1  参照面＃０」、「Index1 0 field0  参照面＃１」、「Index1 1 field0  参照面＃１」、「Index1 2 field0  参照面＃１」、「Index1 3 field0  参照面＃１」の順序となっている。
続いて、「Index1 0 field1  参照面＃１」、「Index1 1 field1  参照面＃１」、「Index1 2 field1  参照面＃１」、「Index1 3 field1  参照面＃１」の順序となっている。
続いて、「Index2 0 field0  参照面＃０」、「Index2 1 field0  参照面＃０」、「Index2 0 field0  参照面＃０」、「Index2 1 field1  参照面＃０」の順序となっている。
続いて、「Index3 0 field0  参照面＃１」、「Index3 1 field0  参照面＃１」、「Index3 0 field0  参照面＃１」、「Index3 1 field1  参照面＃１」の順序となっている。
【００５５】
図８の場合と同様に、図１１（Ｂ）には、アドレス発行順をマクロブロックの分割順にならべたリストが示されている。
このリストに対して、ステップＳＴ２１において、アドレス生成器２５１が同一参照面を持つ分割内でフィールドによる並べ替えを行った結果が図１１（Ｃ）に示されている。
この後、ステップＳＴ２２において、アドレス生成器２５１が、このリスト順に動きベクトル情報から参照画のＤＲＡＭマッピングに応じてアドレス要求を生成する。
【００５６】
以上説明したように、本実施形態によれば、画像処理装置１００は、特徴的な構成として、符号化および復号化回路２００に、符号化および復号化を行う画像処理部２４０を有する。
画像処理部２４０は、符号化処理および復号化処理を行うに際し、画像データを分割したマクロブロックを複数に分割して動き補償予測を行うことが可能で、動き補償予測に従った動き補償を行う動き補償回路２５０、および制御部２６０を含む。
動き補償回路２５０は、マクロブロックＭＢの分割情報および参照ピクチャ情報を基に、分割されたマクロブロックＭＢ内で、同一の参照面または同一のフィールド面の少なくとも一方への転送要求を並べ替えて連結して転送する機能を有する。
たとえば、動き補償回路２５０は、外部メモリ３００に保持された復号化画像を転送する際に、分割されたマクロブロックＭＢ内で、同一参照面を持つ分割における同一のフィールド面への転送要求を並べ替えて連結して転送する機能を有する。
あるいは動き補償回路２５０は、外部メモリ３００に保持された復号化画像を転送する際に、分割されたマクロブロックＭＢ内で、同一のフィールド面への転送要求および同一の参照面への転送要求を並べ替えて連結して転送する機能を有する。
したがって、本実施形態によれば、以下の効果を得ることができる。
【００５７】
本実施形態によれば、ＭＰＥＧ規格に従って符号化された画像データを復号化する回路装置において、動き補償を行う際に外部メモリ(ＤＲＡＭ)から転送する画素情報の転送効率の向上を図ることができる。
また、本実施形態によれば、ＭＰＥＧ規格に従って画像データを符号化する回路装置において、動き補償を行う際に外部メモリ(ＤＲＡＭ)から転送する画素情報の転送効率の向上を図ることができる。
【００５８】
また、以上詳細に説明した方法は、上記手順に応じたプログラムとして形成し、ＣＰＵ等のコンピュータで実行するように構成することも可能である。
また、このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー（登録商標）ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし上記プログラムを実行するように構成可能である。
【図面の簡単な説明】
【００５９】
【図１】マクロブロックの分割例を示す図である。
【図２】サブマクロブロックの分割例を示す図である。
【図３】補間フィルタに必要な画素について説明するための図である。
【図４】マクロブロックの他の分割例を示す図である。
【図５】本発明の実施形態に係る画像処理装置の構成例を示すブロック図である。
【図６】図５の動き補償回路の構成例を示すブロック図である。
【図７】アドレス生成器におけるマクロブロック情報からアドレス要求を生成する第１のアルゴリズムのフローチャートを示す図である。
【図８】インターレースフレームピクチャに含まれるマクロブロックの場合の、アドレス並べ替えの例を示す図である。
【図９】アドレス生成器におけるマクロブロック情報からアドレス要求を生成する第２のアルゴリズムのフローチャートを示す図である。
【図１０】アドレス生成器におけるマクロブロック情報からアドレス要求を生成する第３のアルゴリズムのフローチャートを示す図である。
【図１１】図１０の第３のアルゴリズムにおけるインターレースフレームピクチャに含まれるマクロブロックの場合の、アドレス並べ替えの例を示す図である。
【符号の説明】
【００６０】
１００・・・画像処理装置、２００・・・画像符号化および復号化回路、２１０・・・
バス・外部メモリコントローラ、２２０・・・ビットストリーム入力出部、２３０・・・ビデオインターフェース、２４０・・・画像処理部、２５０・・・動き補償回路、２５１・・・アドレス生成器、２５２・・・バッファＲＡＭ、２５３・・・画素処理回路、２６０・・・制御部、３００・・・外部メモリ。
【図１】
2010154061.tif 000003
【図２】
2010154061.tif 000004
【図３】
2010154061.tif 000005
【図４】
2010154061.tif 000006
【図５】
2010154061.tif 000007
【図６】
2010154061.tif 000008
【図７】
2010154061.tif 000009
【図８】
2010154061.tif 000010
【図９】
2010154061.tif 000011
【図１０】
2010154061.tif 000012
【図１１】
2010154061.tif 000013