(57)【要約】【課題】バス帯域の効率化等を実現可能な技術を提供する。【解決手段】画像処理インターフェース回路６Ｒは、所定の画像処理を実行するモジュールコア５に接続される。読み出しバッファ１１０は、バスに接続された画像供給元メモリから読み出したデータを格納する。読み出し管理部１３０は、画像供給元メモリから読み出しバッファ１１０へのデータ転送を管理する。コア入力管理部１５０は、読み出しバッファ１１０内の格納データを所定サイズの入力ブロック単位でモジュールコア５へ供給する。読み出し管理部１３０は、読み出しバッファ１１０に複数の入力ブロックが格納されるように、モジュールコア５で処理する入力画像データの読み出しを管理すると共に、入力画像データがバースト転送されるように画像供給元メモリ上の読み出し対象領域を所定の読み出し条件に従って決定する。【選択図】図５
2014035617.tif 000002
【特許請求の範囲】
【請求項１】
所定の画像処理を実行するモジュールコアに接続される画像処理インターフェース回路であって、
バスに接続された画像供給元メモリから読み出したデータを格納するための読み出しバッファと、
前記画像供給元メモリから前記読み出しバッファへのデータ転送を管理する読み出し管理部と、
前記読み出しバッファ内の格納データを所定サイズの入力ブロック単位で前記モジュールコアへ供給するコア入力管理部と
を備え、
前記読み出し管理部は、前記読み出しバッファに複数の入力ブロックが格納されるように、前記モジュールコアで処理する入力画像データの読み出しを管理すると共に、前記入力画像データがバースト転送されるように前記画像供給元メモリ上の読み出し対象領域を所定の読み出し条件に従って決定する、
画像処理インターフェース回路。
【請求項２】
請求項１に記載の画像処理インターフェース回路であって、
前記入力画像データは、それぞれが画素ラインまたは画素ライン群に対応する複数の入力画像データ列を含み、
前記入力ブロックは、前記複数の入力画像データ列のうちのＮ個（Ｎは２以上の整数）の入力画像データ列を対象にして設定され、
前記読み出しバッファは、前記入力ブロックが設定された前記Ｎ個の入力画像データ列がそれぞれ入力されるＮ個の読み出しラインＦＩＦＯ部を含み、
前記所定の読み出し条件は、
前記Ｎ個の入力画像データ列を循環的に選択する旨の循環選択条件と、
入力画像データ列の先頭の側から順に前記読み出し対象領域を設定する旨の列内順序条件と、
各入力画像データ列に対する前記読み出し対象領域の設定は、選択される度に１回とする旨の回数条件と
を含む、画像処理インターフェース回路。
【請求項３】
請求項１に記載の画像処理インターフェース回路であって、
前記入力画像データは、それぞれが画素ラインまたは画素ライン群に対応する複数の入力画像データ列を含み、
前記入力ブロックは、前記複数の入力画像データ列のうちの１個の入力画像データ列を対象にして設定され、
前記読み出しバッファは、前記入力ブロックが設定された前記１個の入力画像データ列が入力される１個の読み出しラインＦＩＦＯ部を含み、
前記所定の読み出し条件は、
入力画像データ列の先頭の側から順に前記読み出し対象領域を設定する旨の列内順序条件
を含む、画像処理インターフェース回路。
【請求項４】
請求項１ないし請求項３のうちのいずれか１項に記載の画像処理インターフェース回路であって、
前記所定の読み出し条件は、前記読み出し対象領域の終了アドレスを前記画像供給元メモリのアドレスアライメント境界に合わせる旨の読み出しアライメント条件を含む、画像処理インターフェース回路。
【請求項５】
請求項４に記載の画像処理インターフェース回路であって、
前記所定の読み出し条件は、前記読み出し対象領域が前記入力画像データ列の始端を含む場合、前記読み出し対象領域のデータ量が前記バスのバス幅の倍数になるように前記読み出し対象領域の開始アドレスを設定する旨の読み出しサイズ条件を含む、画像処理インターフェース回路。
【請求項６】
請求項５に記載の画像処理インターフェース回路であって、
前記所定の読み出し条件は、
前記入力画像データ列中の未読み出し部分が１回のバースト転送で設定可能な最大転送量を超過している場合、且つ、その超過量が前記読み出しサイズ条件の下で設定された前記開始アドレスと前記入力画像データ列の先頭アドレスとの差分よりも大きい場合、前記読み出し対象領域の終了アドレスを前記バースト転送の前記最大転送量に合わせて設定する旨の第１の終了アドレス条件と、
前記超過量が前記差分以下である場合、前記読み出し対象領域の前記終了アドレスを前記入力画像データ列の終端アドレスに設定する旨の第２の終了アドレス条件と
を含む、画像処理インターフェース回路。
【請求項７】
請求項１ないし請求項６のうちのいずれか１項に記載の画像処理インターフェース回路であって、
前記所定の読み出し条件は、前記入力画像データ列中の未読み出し部分が前記バースト転送の前記最大転送量以下である場合、前記読み出し対象領域の終了アドレスを前記入力画像データ列の終端アドレスに設定する旨の第３の終了アドレス条件を含む、画像処理インターフェース回路。
【請求項８】
請求項１ないし請求項７のうちのいずれか１項に記載の画像処理インターフェース回路であって、
前記読み出しバッファは、前記バースト転送の前記最大転送量の１倍よりも大きく且つ２倍よりも小さい容量を有した読み出しラインＦＩＦＯ部を少なくとも１つ含み、
前記読み出し管理部は、前記読み出しラインＦＩＦＯ部内において前記モジュールコアに対する供給済みデータが前記最大転送量以上になった場合、前記供給済みデータに替えて前記画像供給元メモリから読み出した新しいデータを前記読み出しラインＦＩＦＯ部に格納する、
画像処理インターフェース回路。
【請求項９】
所定の画像処理を実行するモジュールコアに接続される画像処理インターフェース回路であって、
前記モジュールコアから出力されるコア出力データを格納するための書き込みバッファと、
前記コア出力データの前記書き込みバッファへの入力を管理するコア出力管理部と、
前記書き込みバッファ内の格納データを、バスに接続された画像格納先メモリへ転送することを管理する書き込み管理部と
を備え、
前記書き込みバッファは、１回のバースト転送で設定可能な最大転送量よりも大きい容量を有した書き込みラインＦＩＦＯ（First In First Out）部を少なくとも１つ含み、
前記書き込み管理部は、前記書き込みラインＦＩＦＯ部ごとに、前記書き込みラインＦＩＦＯ部内のデータのうちで前記バースト転送の対象にする書き込み対象データと、前記画像格納先メモリ上の書き込み先領域とを、所定の書き込み条件に従って決定する、
画像処理インターフェース回路。
【請求項１０】
請求項９に記載の画像処理インターフェース回路であって、
前記所定の書き込み条件は、
前記書き込み対象データを前記バースト転送の前記最大転送量に設定する旨の書き込みサイズ条件と、
前記書き込み先領域を前記画像格納先メモリのアドレスアライメント境界に合わせる旨の書き込みアライメント条件と
のうちの少なくとも一方を含む、画像処理インターフェース回路。
【請求項１１】
請求項９または請求項１０に記載の画像処理インターフェース回路であって、
前記所定の書き込み条件は、前記モジュールコアから出力される出力画像の画素ラインまたは画素ライン群の終端に対応する前記コア出力データまでの範囲で以て前記書き込み対象データを区切ると共に、その区切られた範囲に対応して前記書き込み先領域を設定する旨のライン終端条件を含む、画像処理インターフェース回路。
【請求項１２】
請求項９ないし請求項１１のうちのいずれか１項に記載の画像処理インターフェース回路であって、
前記書き込みラインＦＩＦＯ部は、前記バースト転送の前記最大転送量の１倍よりも大きく且つ２倍よりも小さい容量を有し、
前記書き込み管理部は、前記書き込みラインＦＩＦＯ部内において前記画像格納先メモリに対する転送済みデータが前記最大転送量以上になった場合、前記転送済みデータに替えて新しいコア出力データを前記書き込みラインＦＩＦＯ部に格納する、
画像処理インターフェース回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の画像処理を実行するモジュールコアに接続される画像処理インターフェース回路に関する。
【背景技術】
【０００２】
従来より、画像処理装置では、画像処理モジュールコアとＤＲＡＭ（Dynamic Random Access Memory）との間のデータ転送に、ＤＭＡＣ（Direct Memory Access Controller）が利用されている。例えば、モジュールコアのそれぞれに専用のＤＭＡＣが接続され、各ＤＭＡＣがそれぞれバスに直接接続される。
【０００３】
また、画像処理をいわゆるマクロブロック単位で行うモジュールコアが知られている。例えばＨ．２６４では、１６×１６画素、１６×８画素、８×１６画素、８×８画素、８×４画素、４×８画素、４×４画素から、マクロブロックのサイズを選択可能である。そのような画像処理モジュールコアは、ＤＲＡＭに対するアクセス、すなわち読み出しおよび書き込みをマクロブロック単位で行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−７４４１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、モジュールコアのそれぞれに専用のＤＭＡＣを設ける構成では、多くのＤＭＡＣが存在することでチップ面積の増大を招いてしまう。
【０００６】
また、ＤＲＡＭに対するアクセスをマクロブロック単位で行うと、メモリアクセスの効率が低い。例えば８ビットＹＵＶ４２２の４×４画素のマクロブロックでは１ラインが８バイトしかないので、わずか８バイトの読み出しでＤＲＡＭのＲＯＷアドレスを切り替えなければならない。また、マクロブロックの１ラインずつ読み出し要求を発行すると、多くの要求発行によってバス帯域の消費が大きくなってしまう。これらの点は書き込みについても同様である。
【０００７】
本発明は、ＤＭＡＣの個数抑制、バス帯域の効率化、等を実現可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の態様に係る画像処理インターフェース回路は、所定の画像処理を実行するモジュールコアに接続される画像処理インターフェース回路であって、バスに接続された画像供給元メモリから読み出したデータを格納するための読み出しバッファと、前記画像供給元メモリから前記読み出しバッファへのデータ転送を管理する読み出し管理部と、前記読み出しバッファ内の格納データを所定サイズの入力ブロック単位で前記モジュールコアへ供給するコア入力管理部とを備え、前記読み出し管理部は、前記読み出しバッファに複数の入力ブロックが格納されるように、前記モジュールコアで処理する入力画像データの読み出しを管理すると共に、前記入力画像データがバースト転送されるように前記画像供給元メモリ上の読み出し対象領域を所定の読み出し条件に従って決定する。
【０００９】
本発明の第２の態様に係る画像処理インターフェース回路は、上記の第１の態様に係る画像処理インターフェース回路であって、前記入力画像データは、それぞれが画素ラインまたは画素ライン群に対応する複数の入力画像データ列を含み、前記入力ブロックは、前記複数の入力画像データ列のうちのＮ個（Ｎは２以上の整数）の入力画像データ列を対象にして設定され、前記読み出しバッファは、前記入力ブロックが設定された前記Ｎ個の入力画像データ列がそれぞれ入力されるＮ個の読み出しラインＦＩＦＯ部を含み、前記所定の読み出し条件は、前記Ｎ個の入力画像データ列を循環的に選択する旨の循環選択条件と、入力画像データ列の先頭の側から順に前記読み出し対象領域を設定する旨の列内順序条件と、各入力画像データ列に対する前記読み出し対象領域の設定は、選択される度に１回とする旨の回数条件とを含む。
【００１０】
本発明の第３の態様に係る画像処理インターフェース回路は、上記の第１の態様に係る画像処理インターフェース回路であって、前記入力画像データは、それぞれが画素ラインまたは画素ライン群に対応する複数の入力画像データ列を含み、前記入力ブロックは、前記複数の入力画像データ列のうちの１個の入力画像データ列を対象にして設定され、前記読み出しバッファは、前記入力ブロックが設定された前記１個の入力画像データ列が入力される１個の読み出しラインＦＩＦＯ部を含み、前記所定の読み出し条件は、入力画像データ列の先頭の側から順に前記読み出し対象領域を設定する旨の列内順序条件を含む。
【００１１】
本発明の第４の態様に係る画像処理インターフェース回路は、上記の第１ないし第３の態様のうちのいずれか１つに係る画像処理インターフェース回路であって、前記所定の読み出し条件は、前記読み出し対象領域の終了アドレスを前記画像供給元メモリのアドレスアライメント境界に合わせる旨の読み出しアライメント条件を含む。
【００１２】
本発明の第５の態様に係る画像処理インターフェース回路は、上記の第４の態様に係る画像処理インターフェース回路であって、前記所定の読み出し条件は、前記読み出し対象領域が前記入力画像データ列の始端を含む場合、前記読み出し対象領域のデータ量が前記バスのバス幅の倍数になるように前記読み出し対象領域の開始アドレスを設定する旨の読み出しサイズ条件を含む。
【００１３】
本発明の第６の態様に係る画像処理インターフェース回路は、上記の第５の態様に係る画像処理インターフェース回路であって、前記所定の読み出し条件は、前記入力画像データ列中の未読み出し部分が１回のバースト転送で設定可能な最大転送量を超過している場合、且つ、その超過量が前記読み出しサイズ条件の下で設定された前記開始アドレスと前記入力画像データ列の先頭アドレスとの差分よりも大きい場合、前記読み出し対象領域の終了アドレスを前記バースト転送の前記最大転送量に合わせて設定する旨の第１の終了アドレス条件と、前記超過量が前記差分以下である場合、前記読み出し対象領域の前記終了アドレスを前記入力画像データ列の終端アドレスに設定する旨の第２の終了アドレス条件とを含む。
【００１４】
本発明の第７の態様に係る画像処理インターフェース回路は、上記の第１ないし第６の態様のうちのいずれか１つに係る画像処理インターフェース回路であって、前記所定の読み出し条件は、前記入力画像データ列中の未読み出し部分が前記バースト転送の前記最大転送量以下である場合、前記読み出し対象領域の終了アドレスを前記入力画像データ列の終端アドレスに設定する旨の第３の終了アドレス条件を含む。
【００１５】
本発明の第８の態様に係る画像処理インターフェース回路は、上記の第１ないし第７の態様のうちのいずれか１つに係る画像処理インターフェース回路であって、前記読み出しバッファは、前記バースト転送の前記最大転送量の１倍よりも大きく且つ２倍よりも小さい容量を有した読み出しラインＦＩＦＯ部を少なくとも１つ含み、前記読み出し管理部は、前記読み出しラインＦＩＦＯ部内において前記モジュールコアに対する供給済みデータが前記最大転送量以上になった場合、前記供給済みデータに替えて前記画像供給元メモリから読み出した新しいデータを前記読み出しラインＦＩＦＯ部に格納する。
【００１６】
本発明の第９の態様に係る画像処理インターフェース回路は、所定の画像処理を実行するモジュールコアに接続される画像処理インターフェース回路であって、前記モジュールコアから出力されるコア出力データを格納するための書き込みバッファと、前記コア出力データの前記書き込みバッファへの入力を管理するコア出力管理部と、前記書き込みバッファ内の格納データを、バスに接続された画像格納先メモリへ転送することを管理する書き込み管理部とを備え、前記書き込みバッファは、１回のバースト転送で設定可能な最大転送量よりも大きい容量を有した書き込みラインＦＩＦＯ（First In First Out）部を少なくとも１つ含み、前記書き込み管理部は、前記書き込みラインＦＩＦＯ部ごとに、前記書き込みラインＦＩＦＯ部内のデータのうちで前記バースト転送の対象にする書き込み対象データと、前記画像格納先メモリ上の書き込み先領域とを、所定の書き込み条件に従って決定する。
【００１７】
本発明の第１０の態様に係る画像処理インターフェース回路は、上記の第９の態様に係る画像処理インターフェース回路であって、前記所定の書き込み条件は、前記書き込み対象データを前記バースト転送の前記最大転送量に設定する旨の書き込みサイズ条件と、前記書き込み先領域を前記画像格納先メモリのアドレスアライメント境界に合わせる旨の書き込みアライメント条件とのうちの少なくとも一方を含む。
【００１８】
本発明の第１１の態様に係る画像処理インターフェース回路は、上記の第９または第１０の態様に係る画像処理インターフェース回路であって、前記所定の書き込み条件は、前記モジュールコアから出力される出力画像の画素ラインまたは画素ライン群の終端に対応する前記コア出力データまでの範囲で以て前記書き込み対象データを区切ると共に、その区切られた範囲に対応して前記書き込み先領域を設定する旨のライン終端条件を含む。
【００１９】
本発明の第１２の態様に係る画像処理インターフェース回路は、上記の第９ないし第１１の態様のうちのいずれか１つ係る画像処理インターフェース回路であって、前記書き込みラインＦＩＦＯ部は、前記バースト転送の前記最大転送量の１倍よりも大きく且つ２倍よりも小さい容量を有し、前記書き込み管理部は、前記書き込みラインＦＩＦＯ部内において前記画像格納先メモリに対する転送済みデータが前記最大転送量以上になった場合、前記転送済みデータに替えて新しいコア出力データを前記書き込みラインＦＩＦＯ部に格納する。
【発明の効果】
【００２０】
上記の第１ないし第８の態様によれば、複数回分の入力ブロックを事前にバッファに読み出しておき、且つ、その読み出しにバースト転送を利用する。したがって、モジュールコアで必要となる度に入力ブロックを読み出す構成に比べて、読み出し要求の頻度を抑制可能である。それにより、バス帯域を効率良く利用できる。
【００２１】
上記の第２ないし第８の態様によれば、Ｎ個の入力画像データ列が部分的且つ並行的に読み出され、又、そのような読み出しがＮ個の入力画像データ列の先頭側から順に進行する。このため、一の入力画像データ列を先頭から終端まで読み出しその後に他の入力画像データ列の読み出しを開始する場合に比べて、モジュールコアへのデータ供給に遅延を生じにくい。すなわち、後者の場合、例えば最も先頭側に設定された入力ブロックをモジュールコアに供給するのに要する時間は、Ｎ個の入力画像データ列全体を読み出す時間にほぼ等しい。これに対し、上記の部分的且つ並行的な読み出しによれば、Ｎ個の入力画像データ列全体の読み出しを待たなくても、最も先端側の入力ブロックをモジュールコアに供給し終えることができる。また、上記の部分的且つ並行的な読み出しによれば、読み出しバッファの容量を小さくできる。
【００２２】
上記の第４ないし第８の態様によれば、読み出し対象領域が画像供給元メモリのアドレスアライメント境界を跨ぐ場合に比べて、画像供給元メモリを効率良く動作させることが可能である。それにより、データ転送効率の向上、省電力化等に資する。
【００２３】
上記の第５ないし第８の態様によれば、特に読み出し対象領域が入力画像データ列の始端を含む場合に、入力画像データにとって有意なデータを受信ビット列内において後ろ詰めにすることができる。換言すれば、読み出し対象領域の開始アドレスの調整は、不要なデータを受信ビット列中に含ませることになるが、そのような不要データを意図的に、受信ビット列の前方に配置することができる。したがって、バッファへ読み出した入力画像データ中に不要データが割り込むのを回避できる。このため、上記不要データの管理および除去が容易になる。具体的には、モジュールコアへのデータ供給の際、バッファの出力データのうちで読み出し開始アドレスの調整量に応じた先頭データを無視すれば済む。
【００２４】
上記の第６ないし第８の態様によれば、１回の読み出し要求で以て、転送可能な最大データ量を確保可能である。このため、読み出し要求の回数増加が抑制されることで、データ転送を効率的に行うことができる。また、データ転送の効率化に伴って読み出し要求の頻度が抑制される。
【００２５】
また、上記の第６ないし第８の態様によれば、入力画像データ列中の未読み出し部分がバースト転送の最大転送量を超過している場合、且つ、その超過量が上記読み出しサイズ条件の下で設定された開始アドレスと入力画像データ列の先頭アドレスとの差分以下である場合には、読み出し対象領域の終了アドレスを入力画像データ列の終端アドレスに設定する。これにより、各入力画像データ列について読み出し要求の回数が揃う。このため、かかる点からも、読み出し要求の頻度の抑制を図ることができる。
【００２６】
上記の第７ないし第８の態様によれば、入力画像データ列の終端側部分の読み出しについて、不要な転送動作を抑制できる。したがって、バス帯域を効率良く利用できる。
【００２７】
上記の第８の態様によれば、読み出しバッファの容量を小さくできる。それにより、チップ面積の削減、装置の小型化、省電力化等を図ることができる。
【００２８】
上記の第９ないし第１２の態様によれば、複数個の出力ブロックをバッファに蓄積しておき、且つ、それらを纏めて画像格納先メモリへバースト転送させる。したがって、モジュールコアから出力ブロックが出力される度にその出力ブロックを画像格納先メモリへ転送する構成に比べて、書き込み要求の頻度を抑制可能である。それにより、バス帯域を効率良く利用できる。
【００２９】
上記の第１０ないし第１２の態様によれば、書き込みサイズ条件により、１回の書き込み要求で以て最大データ量を書き込み可能である。このため、データ転送を効率的に行うことができる。また、データ転送の効率化に伴って書き込み要求の頻度が抑制される。また、書き込みアライメント条件により、書き込み先領域が画像格納先メモリのアドレスアライメント境界を跨ぐ場合に比べて、画格納先メモリを効率良く動作させることが可能である。それにより、データ転送効率の向上、省電力化等に資する。
【００３０】
上記の第１１ないし第１２の態様によれば、ライン終端側部分の書き込みについて、不要な転送動作を抑制できる。したがって、バス帯域を効率良く利用できる。
【００３１】
上記の第１２の態様によれば、書き込みバッファの容量を小さくできる。それにより、チップ面積の削減、装置の小型化、省電力化等を図ることができる。
【００３２】
本発明の目的、特徴、局面、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。
【図面の簡単な説明】
【００３３】
【図１】画像処理装置を例示するブロック図である。
【図２】画素および画素ラインを説明する図である。
【図３】マクロブロックおよびブロックラインを説明する図である。
【図４】マクロブロックおよびブロック内画素ラインを説明する図である。
【図５】読み出しＩ／Ｆ回路を例示するブロック図である。
【図６】読み出しＩ／Ｆ回路のバッファを例示する図である。
【図７】ダブルバッファ構成における書き込みおよび読み出しを例示する図である。
【図８】画像供給元メモリからのデータの読み出しを例示する図である。
【図９】画像供給元メモリからのデータの読み出しを例示する図である。
【図１０】画像供給元メモリからのデータの読み出しを例示する図である。
【図１１】読み出し対象領域がバス幅の倍数でない場合の問題を説明する図である。
【図１２】読み出し対象領域がバス幅の倍数でない場合の解決策を説明する図である。
【図１３】画像供給元メモリからのデータの読み出しを例示する図である。
【図１４】読み出しＩ／Ｆ回路を例示するブロック図である。
【図１５】書き込みバッファへのデータ入力を例示する図である。
【図１６】書き込みバッファからのデータ取り出しを例示する図である。
【発明を実施するための形態】
【００３４】
＜全体構成＞
図１に、実施の形態に係る画像処理装置１のブロック図を例示する。図１の例によれば、画像処理装置１は、複数の画像処理モジュール部２と、モジュールアービタ部３と、ＤＭＡＣ（Direct Memory Access Controller）部４と、バス１０と、メモリ１１と、ＣＰＵ１２とを含んでいる。なお、ここでは３つの画像処理モジュール部２を例示するが、この例に限定されるものではない。また、３つの処理モジュール部２を区別する場合、符号２ａ，２ｂ，２ｃを用いることにする。かかる表記法は他の要素についても用いる場合がある。
【００３５】
画像処理モジュール部２ａは、モジュールコア５ａと、読み出し用の画像処理インターフェース回路である読み出しインターフェース（Ｉ／Ｆ）回路６Ｒａと、書き込み用の画像処理インターフェース回路である書き込みインターフェース（Ｉ／Ｆ）回路６Ｗａとを含んでいる。同様に、画像処理モジュール部２ｂ，２ｃは、モジュールコア５ｂ，５ｃと、読み出しＩ／Ｆ回路６Ｒｂ，６Ｒｃと、書き込みＩ／Ｆ回路６Ｗｂ，６Ｗｃとをそれぞれ含んでいる。また、モジュールアービタ部３は、読み出しアービタ３Ｒと、書き込みアービタ３Ｗとを含んでいる。また、ＤＭＡＣ部４は、読み出しＤＭＡＣ４Ｒと、書き込みＤＭＡＣ４Ｗとを含んでいる。
【００３６】
図１に示すように、モジュールコア５ａは読み出しＩ／Ｆ回路６Ｒａに接続され、同様にモジュールコア５ｂ，５ｃは読み出しＩ／Ｆ回路６Ｒｂ，６Ｒｃにそれぞれ接続されている。３つの読み出しＩ／Ｆ回路６Ｒａ，６Ｒｂ，６Ｒｃはいずれも読み出しアービタ３Ｒに接続されている。読み出しアービタ３Ｒは読み出しＤＭＡＣ４Ｒに接続され、読み出しＤＭＡＣ４Ｒはバス１０に接続されている。
【００３７】
また、モジュールコア５ａは書き込みＩ／Ｆ回路６Ｗａに接続され、同様にモジュールコア５ｂ，５ｃは書き込みＩ／Ｆ回路６Ｗｂ，６Ｗｃにそれぞれ接続されている。３つの書き込みＩ／Ｆ回路６Ｗａ，６Ｗｂ，６Ｗｃはいずれも書き込みアービタ３Ｗに接続されている。書き込みアービタ３Ｗは書き込みＤＭＡＣ４Ｗに接続され、書き込みＤＭＡＣ４Ｗはバス１０に接続されている。
【００３８】
すなわち、３つの画像処理モジュール部２ａ，２ｂ，２ｃがモジュールアービタ部３に接続され、モジュールアービタ部３はＤＭＡＣ部４に接続され、ＤＭＡＣ部４はバス１０に接続されている。この場合、ＤＭＡＣ部４はモジュールアービタ部３とバス１０との間に接続されている。
【００３９】
モジュールコア５は、入力画像データに対して所定の画像処理（例えば圧縮、伸長、アフィン変換、各種補正等）を実行し、処理後のデータを出力画像データとして出力する。換言すれば、モジュールコア５は、所定の画像処理によって、入力画像データから出力画像データを生成する。
【００４０】
モジュールコア５は、入力画像データを所定サイズの入力ブロック単位で受け付け、受け付けた入力ブロックに対して画像処理を実行し、処理済みデータをコア出力データとして出力する。なお、コア出力データを、入力ブロックに対応させて、出力ブロックとも称することにする。なお、入力ブロックは１つのデータ列で構成される場合もあれば、複数のデータ列の集合体として構成される場合もある。出力ブロックについても同様である。
【００４１】
モジュールコア５ａ，５ｂ，５ｃの画像処理内容は互いに異なっていてもよいし、あるいはモジュールコア５ａ，５ｂ，５ｃのうちの２つ以上が同じ種類または同じ内容の画像処理を行うコアであってもよい。なお、モジュールコア５として、既存のモジュールコア、例えばいわゆるＩＰ（Intellectual Property）コアとして提供されるモジュールコアを利用可能である。
【００４２】
読み出しＩ／Ｆ回路６Ｒは、モジュールコア５で処理する入力画像データをメモリ１１から読み出し、その入力画像データを入力ブロック単位でモジュールコア５へ供給するための読み出し処理を行う。また、書き込みＩ／Ｆ回路６Ｗは、モジュールコア５から出力ブロックを受け取り、それらの出力ブロックを出力画像データとしてメモリ１１へ書き込むための書き込み処理を行う。
【００４３】
モジュールアービタ部３は、画像処理モジュール部２ａ，２ｂ，２ｃがメモリ１１に対してアクセスするのを調停する。
【００４４】
具体的には、読み出しアービタ３Ｒは、３つの読み出しＩ／Ｆ回路６Ｒから、メモリ１１に対する読み出し要求を受け付け、それらを所定の調停方式に従って調停し、調停によって選択された読み出し要求を読み出しＤＭＡＣ４Ｒへ引き渡す。なお、読み出し要求には、メモリ１１上の読み出し対象領域を特定するための情報が付随する。
【００４５】
また、書き込みアービタ３Ｗは、３つの書き込みＩ／Ｆ回路６Ｗから、メモリ１１に対する書き込み要求を受け付け、それらを所定の調停方式に従って調停し、調停によって選択された書き込み要求を書き込みＤＭＡＣ４Ｗへ引き渡す。なお、書き込み要求には、書き込み対象データと、メモリ１１上の書き込み先領域を特定するための情報とが付随する。
【００４６】
以下では、読み出し対象領域を開始アドレスおよび終了アドレスで特定する場合を例示し、書き込み先領域についても同様に例示する。但し、この例に限定されるものではない。例えば開始アドレスおよびその領域長さによって、読み出し対象領域および書き込み先領域を特定することも可能である。
【００４７】
アービタ３Ｒ，３Ｗによる調停方式として、ここでは、ラウンドロビン方式を例示する。ラウンドロビン方式では、画像処理モジュール部２ａ，２ｂ，２ｃのメモリアクセス要求（ＲＱａ，ＲＱｂ，ＲＱｃと表記することにする）間に複数種類の優先順位付けが予め準備される。そして、いずれか１つの優先順位付けに基づいて調停を行ったならば、使用する優先順位付けを切り替える。
【００４８】
より具体的には、例えば（i）ＲＱａ＞ＲＱｂ＞ＲＱｃ、（ii）ＲＱｂ＞ＲＱｃ＞ＲＱａ、（iii）ＲＱｃ＞ＲＱａ＞ＲＱｂという３種類の優先順位付けが予め準備される。なお、例えばＲＱａ＞ＲＱｂはＲＱａの方がＲＱｂよりも優先順位が高いことを表すものとする。上記（i）の優先順位付けが有効である状態において、ＲＱａ，ＲＱｃが競合したとする。この場合、上記（i）に従って、優先順位の高いＲＱａが選択される。そして、選択されたＲＱａが最下位に規定されている優先順位付け、すなわち上記（ii）が次の調停において有効とされる。
【００４９】
アービタ３Ｒ，３Ｗに他の調停方式を採用してもよい。但し、ラウンドロビン方式は簡易なアルゴリズムの一例であり、そのためアービタ３Ｒ，３Ｗを小規模に構成可能である。
【００５０】
ＤＭＡＣ部４は、モジュールアービタ部３による調停結果に係るメモリアクセスを実行する。
【００５１】
具体的には、読み出しＤＭＡＣ４Ｒは、所定のバス仕様（換言すればバスプロトコル）に準拠したバスインターフェース（Ｉ／Ｆ）を有している。読み出しＤＭＡＣ４Ｒは、当該バスＩ／Ｆを、読み出しアービタ３Ｒから引き渡された読み出し要求に従って制御する。それにより、読み出し要求で指定された、メモリ１１の読み出し対象領域から、データが読み出される。読み出しＤＭＡＣ４Ｒは、読み出したデータを、その読み出し要求を発行した読み出しＩ／Ｆ回路６Ｒへ転送する。
【００５２】
また、書き込みＤＭＡＣ４Ｗも同様にバスＩ／Ｆを有しており、書き込みＤＭＡＣ４Ｗは当該バスＩ／Ｆを、書き込みアービタ３Ｗから引き渡された書き込み要求に従って制御する。より具体的には、書き込みＤＭＡＣ４Ｗは、書き込み要求に係る書き込み対象データが、書き込み要求で指定された書き込み先領域に格納されるように、バスＩ／Ｆを制御する。
【００５３】
ここでは、説明のため、ＤＭＡＣ４Ｒ，４ＷのバスＩ／ＦがＡＸＩ（Advanced eXtensible Interface）に準拠している場合を例示する。但し、この例に限定されるものではない。ＡＸＩによれば、バースト転送が可能である。ＡＸＩの転送制御情報は、バースト長、バーストサイズ、等を含む。具体的には、バースト長は１回のバースト転送で行うデータ転送の回数であり、仕様上は基本的に１〜１６回のいずれかを設定可能である。また、バーストサイズは１回のバースト転送中の各データ転送における最大転送量であり、仕様上は１，２，４，８，１６，３２，６４，１２８バイトのいずれかを設定可能である。
【００５４】
バス１０は例えば、データバス、アドレスバス、制御バス等を含んでいる。ここではデータバスが１２８ビット幅である場合を例示する。この場合、設定可能な最大バーストサイズは１６バイト（１２８ビット）である。なお、ＡＸＩではバスをチャネルと称する場合がある。
【００５５】
メモリ１１は、画像処理モジュール部２へ入力する画像データ、画像処理モジュール部２から出力された画像データ、等を格納する。このため、メモリ１１は、入力画像データを供給する画像供給元メモリとして機能すると共に、出力画像データを格納する画像格納先メモリとしても機能する。なお、画像供給元メモリと画像格納先メモリとを別々の部品で構成してもよい。
【００５６】
ここでは、メモリ１１がＤＲＡＭ（Dynamic Random Access Memory）である場合を例示し、以下ではメモリ１１をＤＲＡＭ１１とも称する。また、ＤＲＡＭ１１が３２バイトでアラインされている場合、換言すればＤＲＡＭ１１が３２バイト境界を有する場合を例示する。但し、これらの例に限定されるものではない。
【００５７】
ＣＰＵ１２は、画像処理装置１の全体的な制御を行う。例えば、ＣＰＵ１２は、画像処理モジュール部２に対して、画像処理の実行の指示、および、その実行に必要な情報の提供を行う。
【００５８】
なお、バス１０に、他のモジュール、例えば外部接続用（外部記憶媒体用、表示装置用等）のインターフェースを提供するモジュールが接続されていてもよい。
【００５９】
また、画像処理装置１は１チップに集積された画像集積回路として提供可能であるが、その例に限定されるものではない。また、画像処理装置１は種々に変形可能である。例えば、ＣＰＵ１２を画像処理装置１内から省き、外部のＣＰＵを画像処理装置１に接続するように変形可能である。また、ＣＰＵ１２の替わりにあるいはＣＰＵ１２と共に、メモリ１１とバス１０の一方または両方を画像処理装置１内から省いてもよい。
【００６０】
画像処理装置１によれば、３つの画像処理モジュール部２ａ，２ｂ，２ｃがＤＭＡＣ部４を共用する。このため、画像処理モジュール部２ａ，２ｂ，２ｃのそれぞれに対してＤＭＡＣ部４を設けた構成に比べて、ＤＭＡＣ部４の数が削減される。それにより、チップ面積を削減可能である。その結果、装置の小型化、省電力化等を図ることができる。
【００６１】
＜画像等の説明＞
画像処理装置１をより具体的に例示する前に、画像等を説明する。図２には四角形の画像Ｇを例示しており、説明を分かりやすくするために当該四角形の直交する２辺を水平方向（換言すれば横方向）Ｈおよび垂直方向（換言すれば縦方向）Ｖにそれぞれ対応させている。画像Ｇは図２の例とは違えて縦長であってもよい。なお、画像Ｇの水平方向ＨがＤＲＡＭ１１のＲＯＷライン方向に対応するものとする。
【００６２】
図２に示すように、画像Ｇは画素ＰＸの集合体として把握される。図２では、画素ＰＸが水平方向Ｈおよび垂直方向Ｖのいずれにも整列している。すなわち、マトリクス状に画素ＰＸが配置されている。
【００６３】
ここで、水平方向Ｈに並んだ画素ＰＸの群を画素ラインＰＬと称することにする。この場合、画像Ｇにおいて、それぞれの画素ラインＰＬは水平方向Ｈに延在しており、複数の画素ラインＰＬが垂直方向Ｖに並んでいる。また、画像Ｇにおいて、画素ラインＰＬは同じ長さを有し（すなわち画素数が同じ）を有し、画素ラインＰＬの始端（ここでは左端とする）の位置が揃っており、終端（ここでは右端とする）の位置も揃っている。
【００６４】
図３および図４に示すように、画像Ｇに対して、画素ＰＸの群であるマクロブロックＭＢが設定される。ここでは、図４の例では、マクロブロックＭＢが水平方向Ｈに連続する８画素×垂直方向Ｖに連続する８画素で構成されている。但し、マクロブロックＭＢのサイズはこの例に限定されるものではない。例えばＨ．２６４では、１６×１６、１６×８、８×１６、８×４、４×８、４×４からマクロブロックサイズを選択可能である。
【００６５】
図３に示すように、マクロブロックＭＢは、画像Ｇの左上隅を起点（換言すれば原点）にして互いに隣接するように設定される。これにより、画像Ｇに対してマトリクス状にマクロブロックＭＢが設定される。
【００６６】
ここで、マクロブロックＭＢ内において水平方向Ｈに並んだ画素ＰＸの群、換言すれば画素ラインＰＬのうちでマクロブロックＭＢ内に存在する部分を、ブロック内画素ラインＭＬ（図４参照）と称することにする。また、水平方向Ｈに並んだマクロブロックＭＢの群をブロックラインＢＬ（図３参照）と称することにする。
【００６７】
なお、説明を簡単にするため、画像Ｇの幅（水平方向Ｈに沿ったサイズ）および高さ（垂直方向Ｖに沿ったサイズ）は、マクロブロックＭＢのそれらの倍数である場合を例示する。すなわち、マクロブロックＭＢが幅８画素×高さ８画素のサイズを有するとの例示において、画像Ｇの水平方向Ｈおよび垂直方向Ｖの画素数はいずれも８の倍数であるとする。
【００６８】
なお、水平方向Ｈと垂直方向Ｖの一方または両方において画像Ｇの画素数が８の倍数でない場合、画像ＧをマクロブロックＭＢ単位で分割すると、マクロブロックＭＢのサイズに満たない小画像が生じる。そのような小画像は、例えば、ダミーデータのパディングによってマクロブロックＭＢのサイズに拡大して画像処理に供される。
【００６９】
上記のように画像Ｇが画素ＰＸの集合体として把握される場合、画像Ｇのデータは画素ＰＸごとの画像データ（すなわち画素データ）の集合体として管理可能である。
【００７０】
これに対し、画素データが他の所定形式のデータに変換され、そのような変換後のデータによって画像データが構成される場合がある。例えば圧縮処理が施された画像データが挙げられる。
【００７１】
圧縮処理は画素に対して（換言すれば画素データに対して）設定されたマクロブロックＭＢ単位で行われ、各マクロブロックＭＢについてストリームデータ（換言すればシーケンシャルデータ）が生成される。このため、圧縮等が施された画像データは、そのようなストリームデータの集合体として把握され、例えば図３において各マクロブロックＭＢをストリームデータに見立てた構成として把握される。
【００７２】
ここで、画像データが画素データで構成されている場合、水平方向Ｈに並んだ画素データから成るデータ列は、１本の画素ラインＰＬに対応する。また、画像データが所定のストリームデータで構成されている場合、水平方向Ｈに並んだストリームデータから成るデータ列は、所定本数（マクロブロックＭＢに含まれていた本数）の画素ラインＰＬ、すなわち画素ラインＰＬの群に対応する。
【００７３】
＜複数ラインモードと１ラインモード＞
ここで、モジュールコア５の入力ブロックがマクロブロックＭＢである場合、すなわち入力ブロックが複数の画素ラインＰＬに対して設定されることにより複数のデータ列（それぞれが画素ラインＰＬに対応する）を含む場合を、複数ラインモードと称することにする。
【００７４】
一方、モジュールコア５の入力ブロックが所定のストリームデータである場合、すなわち入力ブロックが１つのデータ列で構成される場合を、１ラインモードと称することにする。
【００７５】
モジュールコア５の出力ブロックについても同様に、複数ラインモードおよび１ラインモードが定義される。
【００７６】
以下に読み出しＩ／Ｆ回路６Ｒおよび書き込みＩ／Ｆ回路６Ｗの具体例を説明するが、主に、モジュールコア５の入力と出力の両方が複数ラインモードである場合を例に挙げる。例えば画素値の補正、画像のリサイズ等の処理がこれにあたる。入力が複数ラインモードであり且つ出力が１ラインモードの場合（例えば圧縮処理）と、入力が１ラインモードであり且つ出力が複数ラインモードの場合（例えば伸長処理）についても、以下の説明から十分に理解される。
【００７７】
＜読み出しＩ／Ｆ回路６Ｒ＞
図５に、読み出しＩ／Ｆ回路６Ｒのブロック図を例示する。図５の例によれば、読み出しＩ／Ｆ回路６Ｒは、コア側入出力部１００と、読み出しバッファ１１０と、読み出し管理部１３０と、コア入力管理部１５０とを含んでいる。
【００７８】
＜コア側入力部１００＞
コア側入出力部１００は、読み出しＩ／Ｆ回路６Ｒの動作クロックが読み出しアービタ３Ｒのそれと同期している一方、モジュールコア５の動作クロックとは非同期であるとの例に応じて、設けられている。このため、読み出しＩ／Ｆ回路６Ｒの動作クロックがモジュールコア５のそれと同期している場合には、コア側入出力部１００は省略可能である。図３の例によれば、コア側入出力部１００は、入力用の非同期ＦＩＦＯ（First In First Out）部１０１と、出力用の非同期ＦＩＦＯ部１０２とを含んでいる。
【００７９】
＜読み出しバッファ１１０＞
読み出しバッファ１１０は、ＤＲＡＭ１１から読み出したデータを一時的に格納するのに利用される。図６の例では、読み出しバッファ１１０は８個の読み出しラインＦＩＦＯ部１１１を有している。８個の読み出しラインＦＩＦＯ部１１１は、マクロブロックＭＢ（すなわち入力ブロック）が設定された８本の画素ラインＰＬにそれぞれ割り当てられている。具体的には、ｉ＝０〜７として、マクロブロックＭＢ内で上から数えて第ｉ番目の画素ラインＰＬのデータは、第ｉ番目の読み出しラインＦＩＦＯ部１１１に格納される。
【００８０】
ここで、ラインＦＩＦＯ部１１１の個数は、マクロブロックＭＢが設定される画素ラインＰＬの本数と同数またはそれ以上である。例えば１６個のラインＦＩＦＯ部１１１を設ければ、最大１６本の画素ラインＰＬに対応可能であり、そのうちの所定の８個のラインＦＩＦＯ部１１１を使って例えば８本の画素ラインＰＬ分のマクロブロックＭＢに対応可能である。また、１ラインモードの場合も同様である。
【００８１】
各ラインＦＩＦＯ部１１１は、３２個の格納領域１１２を有している。ラインＦＩＦＯ部１１１の１個あたりの格納領域１１２の個数は、１回のバースト転送で設定可能なデータ転送の最大回数（ＡＸＩでは１６回）のＺ倍に選定されている。ここではＺ＝２であるが、これに限定されるものではない（後述する）。
【００８２】
また、１個の格納領域１１２の容量は、基本的には、データバス幅（換言すれば、ハードウェア設計上、設定可能な最大バーストサイズ）と同じ１６バイト（１２８ビット）に選定されている。この場合、１つのラインＦＩＦＯ部１１１は最大で、バースト転送２回分のデータを格納可能である。なお、後述の例では、１個の格納領域１１２の容量が１３２ビット（＝１２８ビット＋４ビット）に拡張される。
【００８３】
ここで、８ビットＹＵＶ４２２の場合、８画素分の画像データ量、すなわちブロック内画素ラインＭＬ分の１本分の画像データ量は、１６バイトである。したがって、１個の格納領域１１２にブロック内画素ラインＭＬの１本分のデータを格納可能であり、８個の格納領域１１２（第０〜７番目のラインＦＩＦＯ部１１１のそれぞれにおいて１個の格納領域１１２を使用）に、マクロブロックＭＢの１個分のデータを格納可能である。つまり、読み出しバッファ１１０の全体で３２個のマクロブロックＭＢのデータを格納可能である。
【００８４】
ここでは、読み出しバッファ１１０が２つのＳＲＡＭ（Static Random Access Memory）１１３，１１４で構成される場合、すなわちダブルバッファ構成を採用する場合を例示する。但し、読み出しバッファ１１０を１つのＳＲＡＭまたは３つ以上のＳＲＡＭで構成することも可能であるし、又、ＳＲＡＭ以外のメモリを利用することも可能である。
【００８５】
ＳＲＡＭ１１３，１１４の１つのアドレスに１つの格納領域１１２が割り当てられており、このため１つのアドレスに１６バイトのデータを格納可能である。１アドレス分のデータは一括で読み書きされる。この場合、ＳＲＡＭ１１３，１１４のワード長は１６バイトである。
【００８６】
また、各ラインＦＩＦＯ部１１１は、ＳＲＡＭ１１３中の１６個の格納領域１１２（これらのアドレスは連続している）と、ＳＲＡＭ１１４中の１６個の格納領域１１２（ＳＲＡＭ１１３中の上記１６個の格納領域１１２と同じアドレスが用意されている）とによって、構成されている。ＳＲＡＭ１１３中の上記１６個の格納領域１１２に対する書き込みはアドレスが小さい方から順番に且つ循環的に行われ、読み出しも同様である。これによりＦＩＦＯが実現される。ＳＲＡＭ１１４中の上記１６個の格納領域１１２についても同様である。
【００８７】
ＳＲＡＭ１１３に対するアクセスと、ＳＲＡＭ１１４に対するアクセスとは、独立に実行可能である。このため、例えば、ＳＲＡＭ１１３，１１４のうちの一方のＳＲＡＭに対して書き込みを行いつつ、他方のＳＲＡＭに対して読み出しを行うことが可能である。なお、同じＳＲＡＭに対してアクセスが衝突した場合、例えば書き込みを優先させ読み出しを１サイクル待たせればよい。
【００８８】
図７には、ＳＲＡＭ１１３，１１４を交互に切り替えながらデータを書き込む例を示している。すなわち、０番目のデータＤ０をＳＲＡＭ１１３に書き込み、１番目のデータＤ１をＳＲＡＭ１１４に書き込み、２番目のデータＤ２をＳＲＡＭ１１３に書き込み、３番目のデータＤ３をＳＲＡＭ１１４に書き込む。これによれば、例えば、ＳＲＡＭ１１４にデータＤ１を書き込みつつ、ＳＲＡＭ１１３からデータＤ０を読み出すことが可能である。
【００８９】
もちろん、ＳＲＡＭ１１３の１６個の格納領域１１２に連続的に書き込み、その後、書き込み先をＳＲＡＭ１１４に切り替えることも可能である。
【００９０】
＜読み出し管理部１３０＞
読み出し管理部１３０は、ＤＲＡＭ１１メモリから読み出しバッファ１１０へのデータ転送を管理する。図５の例によれば、読み出し管理部１３０は、アドレス変換部１３１と、同期ＦＩＦＯ部１３２，１３３と、終了判定部１３４とを含んでいる。
【００９１】
アドレス変換部１３１は、入力画像データの読み出しに必要な情報（以下、読み出し基本情報と称する）をモジュールコア５から非同期ＦＩＦＯ部１０１を介して取得する。読み出し基本情報は、例えば、ＤＲＡＭ１１において入力画像データが格納されている領域の開始アドレスおよび終了アドレス、マクロブロックＭＢ（すなわちモジュールコア５の入力ブロック）のサイズ、画像水平方向ＨにおけるマクロブロックＭＢの個数、等である。
【００９２】
アドレス変換部１３１は、取得した読み出し基本情報に基づいて、ＤＲＡＭ１１上の読み出し対象領域（より具体的には、その領域の開始アドレスおよび終了アドレス）を決定する。この際、読み出し対象領域は、入力画像データが読み出しバッファ１１０へバースト転送されるように、所定の読み出し条件に従って決定される。その決定手法については後に詳述する。
【００９３】
アドレス変換部１３１は、読み出し対象領域の開始アドレスおよび終了アドレスを、読み出し要求と共に、読み出しアービタ３Ｒへ入力する。その後、読み出しＤＭＡＣ４Ｒが、読み出しアービタ３Ｒを介して取得した、読み出し対象領域の開始アドレスおよび終了アドレスに基づいて、その読み出し対象領域のデータをＤＲＡＭ１１から読み出しアービタ３Ｒを介して読み出しバッファ１１０へ、バースト転送する。
【００９４】
また、アドレス変換部１３１は、各回の読み出し要求について、読み出しバッファ１１０に対する書き込み制御を発行する。かかる書き込み制御は、同期ＦＩＦＯ部１３２に入力され、対応する読み出し要求に係るデータを読み出しバッファ１１０に格納する際に利用される。これにより、例えばマクロブロックＭＢ内の第ｉ番目の画素ラインＰＬのデータを、対応する第ｉ番目のラインＦＩＦＯ部１１１に格納することが可能になる。
【００９５】
また、アドレス変換部１３１は、各回の読み出し要求について、読み出し対象領域のデータサイズを、同期ＦＩＦＯ部１３３へ入力する。かかるデータサイズは、終了判定部１３４において、各回の読み出し要求に係る読み出しの終了を検出するのに利用される。具体的には、終了判定部１３４は、ＤＲＡＭ１１から読み出しアービタ３Ｒを介して読み出しバッファ１１０へ入力されるデータのバイト数をカウントしており、そのカウント値が同期ＦＩＦＯ部１３３に入力されたデータサイズと一致したことを以て、所望の読み出し対象領域の読み出しが終了したと判断し、その通知を読み出しアービタ３Ｒへ入力する。
【００９６】
また、アドレス変換部１３１が、決定した読み出し対象領域の終了アドレスが入力画像データの終了アドレスに到達したと判断した場合、その判断結果を同期ＦＩＦＯ部１３３へ入力する。終了判定部１３４は、その判断結果を同期ＦＩＦＯ部１３３から取得したことを以て、入力画像データ全体について読み出しが終了することを知り、その通知を読み出しアービタ３Ｒへ入力する。
【００９７】
＜コア入力管理部１５０＞
コア入力管理部１５０は、読み出しバッファ１１０内の格納データを入力ブロック単位（ここではマクロブロック単位）で、モジュールコア５へ供給する。図５の例によれば、コア入力管理部１５０は、アドレス計算部１５１と、フォーマット変換部１５２とを含んでいる。
【００９８】
アドレス計算部１５１は、モジュールコア５から上記読み出し基本情報を取得し、当該基本情報に基づいて読み出しバッファ１１０からのデータ読み出しを制御する。具体的には、第０番目〜第７番目のラインＦＩＦＯ部１１１を循環的に選択しつつ、選択したラインＦＩＦＯ部１１１からブロック内画素ラインＭＬの１個分のバイト数のデータが読み出されるように、読み出しバッファ１１０内のアドレスを指定する。
【００９９】
ラインＦＩＦＯ部１１１の各格納領域１１２は、基本的には、読み出し操作が１回行われれば、その格納データを破棄または上書きすることが可能になる。但し、所望のデータが２つの格納領域１１２に跨る場合があり、そのような場合に備える必要がある。具体的には、所望データの後ろ側部分を格納している格納領域１１２は、まだ読み出されていないデータの一部も一緒に保持している可能性がある。このため、例えば、格納領域１１２内のデータのうちで読み出し済みの部分だけを削除するようにすればよい。
【０１００】
フォーマット変換部１５２は、読み出しバッファ１１０から読み出したデータを、モジュールコア５の入力に適した所定のフォーマットに変換する。例えば、読み出しバッファ１１０から出力される１２８ビットのデータを所定のビット幅に切り分ける処理が行われる。フォーマット変換部１５２からの出力データが、非同期ＦＩＦＯ部１０２を介してモジュールコア５へ供給される。
【０１０１】
＜読み出しＩ／Ｆ回路６Ｒによる効果＞
読み出しＩ／Ｆ回路６Ｒによれば、複数回分の入力ブロックを事前に読み出しバッファ１１０に読み出しておき、それらの入力ブロックを順次、モジュールコア５へ供給する。しかも、入力ブロックの読み出しにバースト転送が利用されるように、ＤＲＡＭ１１の読み出し対象領域を決定する。したがって、モジュールコア５で必要となる度に入力ブロックを読み出す構成に比べて、各画像処理モジュール部２による読み出し要求の頻度を抑制可能である。それにより、バス帯域を効率良く利用できる。
【０１０２】
また、各画像処理モジュール部２による読み出し要求の頻度抑制に伴って、読み出しアービタ３Ｒに、既存のいわゆるバスアービタ（バスに接続され当該バスの使用権を調停するアービタ）で行われる帯域調整を行わせる必要性が低くなる。したがって、読み出しアービタ３Ｒにはバスアービタに比べて簡易なアルゴリズムを採用可能であり、その結果、読み出しアービタ３Ｒを小規模に構成可能である。
【０１０３】
＜読み出しＩ／Ｆ回路６Ｒによるデータの読み出し＞
図８に、読み出しＩ／Ｆ回路６ＲがＤＲＡＭ１１からデータを読み出す様子を模式的に示す。図８および図９に例示するように、読み出しＩ／Ｆ回路６Ｒは、マクロブロックＭＢの群であるブロックラインＢＬを対象にして、読み出しを行う。
【０１０４】
具体的には、ブロックラインＢＬ中の各画素ラインＰＬを始端（ここでは左端）から終端（ここでは右端）へ向けて、バースト転送を繰り返す。特に、図８に対応する図９に示すように、上から数えて第０番目の画素ラインＰＬの始端からバースト転送を行い、次は第１番目の画素ラインＰＬの始端からバースト転送を行う。その後、第２番目〜第７番目の画素ラインＰＬを順番に選択し、各画素ラインＰＬの始端からバースト転送する。そして、第０番目の画素ラインＰＬに戻り、読み出しが済んでいない部分の先頭からバースト転送を行う。次に、第１番目の画素ラインＰＬのうちで読み出しが済んでいない部分の先頭からバースト転送を行う。以下同様にして、ブロックラインＢＬ全体について読み出しを行う。
【０１０５】
なお、図８では３回のバースト転送によって１本の画素ラインＰＬ分の画素データの読み出しが完了する場合を例示しているが、この例に限定されるものではない。
【０１０６】
この際、１回のバースト転送は、基本的に、設定可能な最大の転送量に設定される。画像処理装置１の場合、１６バイト（１２８ビット）のバーストサイズおよび１６回のバースト長で以て、最大２５６バイトのデータ転送が可能である。
【０１０７】
各回のバースト転送の対象、すなわちＤＲＡＭ１１における読み出し対象領域は、上記のように読み出し管理部１３０（より具体的にはアドレス変換部１３１）によって設定される。この際、読み出し管理部１３０は、次のような読み出し条件に従うことによって、図８および図９に例示した読み出しを行う。
【０１０８】
すなわち、ブロックラインＢＬ内の８本の画素ラインＰＬに対応する８個の入力画像データ列を循環的に選択する旨の条件（循環選択条件）と、上記入力画像データ列の先頭の側から順に読み出し対象領域を設定する旨の条件（列内順序条件）と、各入力画像データ列に対する読み出し対象領域の設定は、選択される度に１回とする旨の条件（回数条件）とに従って、読み出し管理部１３０は読み出し対象領域を順次、決定していく。
【０１０９】
図８および図９に例示した読み出し手法によれば、８本の画素ラインＰＬに対応する８個の入力画像データ列が部分的且つ並行的に読み出され、又、そのような読み出しが８個の入力画像データ列の先頭側から順に進行する。
【０１１０】
このため、一の画素ラインＰＬを先頭から終端まで読み出しその後に他の画素ラインＰＬの読み出しを開始する場合に比べて、モジュールコア５へのデータ供給に遅延を生じにくい。すなわち、後者の場合、例えば最も先頭側に設定されたマクロブロックＭＢをモジュールコア５に供給するのに要する時間は、８本の画素ラインＰＬ全体、すなわちブロックラインＢＬ全体を読み出す時間にほぼ等しい。
【０１１１】
これに対し、図８および図９の示した部分的且つ並行的な読み出しによれば、８本の画素ラインＰＬ全体の読み出しを待たなくても、最も先端側のマクロブロックＭＢをモジュールコア５に供給し終えることができる。
【０１１２】
また、そのような部分的且つ並行的な読み出しによれば、読み出しバッファ１１０の容量を小さくできる。
【０１１３】
ここで、読み出し対象領域の設定に際し、ＤＲＡＭ１１のアドレスアライメントに配慮するのが好ましい。ＤＲＡＭ１１の動作を効率化できるからである。この点に関する読み出し条件として、読み出し対象領域の終了アドレスをＤＲＡＭ１１のアドレスアライメント境界（ここでは３２バイト境界）に合わせる旨の条件（読み出しアライメント条件）が採用される。
【０１１４】
かかる読み出しアライメント条件によれば、或る開始アドレスが与えられた場合、終了アドレスは｛（開始アドレス＆〜０ｘ１ｆ）＋２５５バイト｝によって算出可能である。
【０１１５】
読み出しアライメント条件の採用により、読み出し対象領域がＤＲＡＭ１１のアドレスアライメント境界を跨ぐ場合に比べて、ＤＲＡＭ１１を効率良く動作させることが可能である。それにより、データ転送効率の向上、省電力化等に資する。
【０１１６】
ところで、読み出しアライメント条件によって読み出し対象領域の終了アドレスを調整すると、図１０に示すように画素ラインＰＬの最初のバースト転送および最後のバースト転送では、読み出し対象領域が２５６バイトよりも短くなる場合がある。そのような場合は、例えば、読み出しＤＭＡＣ４Ｒによってバースト長の設定が調整される。
【０１１７】
また、読み出し対象領域が短くなった結果、読み出し対象領域がバス幅（ここでは１２８ビット）の倍数にならない場合が生じうる。読み出しＩ／Ｆ回路６Ｒはバス１０からバス幅単位でデータを受信する点に鑑みると、読み出し対象領域がバス幅の倍数でない場合、図１１に示すように、読み出し対象領域として意図していない不要データも一緒にバス１０から拾うことになる。特にそのような不要データは受信ビット列の末端部分に含まれることになるので、そのまま読み出しバッファ１１０へ入力すると、図１１に示すように、次の読み出し対象領域のデータとの間に不要データが割り込むことになる。コア入力管理部１５０（より具体的にはアドレス計算部１５１）がそのような不要データをモジュールコア５へ供給しないようにすればよいが、そのためには不要データの位置とサイズを管理する必要があり煩雑である。
【０１１８】
そこで、読み出し管理部１３０は、読み出し対象領域が画素ラインＰＬの始端を含む場合、読み出し対象領域のデータ量がバス幅の倍数になるように読み出し対象領域の開始アドレスを設定する旨の条件（読み出しサイズ条件）を利用する。これによれば、図１２に示すように、不要データを受信ビット列内において前詰めすることができる。換言すれば、入力画像データにとって有意なデータを受信ビット列内において後ろ詰めにすることができる。すなわち、読み出し対象領域の開始アドレスの調整は、不要なデータを受信ビット列中に含ませることになるが、そのような不要データを意図的に、受信ビット列の前方に配置することができる。
【０１１９】
したがって、図１２に示すように、１本の画素ラインＰＬに対応するデータ列中に不要データが割り込むのを回避できる。このため、不要データの管理および除去が容易になる。具体的には、コア入力管理部１５０が、各画素ラインＰＬに対応するデータ列のうちで、読み出し開始アドレスの調整量に応じた先頭データを無視すれば済む。なお、上記調整量は、読み出しアライメント条件に従って上記の〜０ｘ１ｆによってマスクされた量、換言すれば読み出しアライメント条件を適用する前の開始アドレスの下位５ビットで与えられる。
【０１２０】
より具体的には、ラインＦＩＦＯ部１１１の格納領域１１２に、読み出したデータを格納するための１２８ビットの前に、読み出し開始アドレスの調整量を格納するための４ビットを設ける。コア入力管理部１５０では、アドレス計算部１５１またはフォーマット変換部１５２が、各格納領域１１２の先頭４ビットを参照することで、不要データの有無と、不要データのサイズ（すなわち、続く１２８ビットのうちでモジュールコア５へ供給しないデータ量）とを判別可能である。
【０１２１】
なお、図１２に示すように、画素ラインＰＬの終端側においても、読み出し対象領域が短くなった結果、読み出し対象領域がバス幅の倍数にならない場合が生じうる。但し、画素ラインＰＬの終端側については、受信ビット列の末端部分に不要データが存在しても特に問題にならない。なぜならば、例えばモジュールコア５への供給データ量が画素ラインＰＬの１本分に到達した段階で、その格納領域１１２から出力される後続ビットは無視すればよく、その結果、不要データを自動的に除去することが可能になるからである。
【０１２２】
次に、読み出し対象領域の終了アドレスの設定に関連した条件（終了アドレス条件）を説明する。読み出し対象領域の終了アドレスは、基本的には、開始アドレス＋２５５バイトに設定される。但し、上記のように、読み出しアライメント条件の下では、ＤＲＡＭ１１のアドレスアライメント境界に配慮して、終了アドレスは｛（開始アドレス＆〜０ｘ１ｆ）＋２５５バイト｝で与えられる。
【０１２３】
また、画素ラインＰＬ中の未読み出し部分がバースト転送の最大転送量（ここでは２５６バイト）以下である場合、読み出し対象領域の終了アドレスを画素ラインＰＬの終端アドレスに設定する。すなわち、図８および図９では画素ラインＰＬの最後の読み出し対象領域も上記最大転送量に相当する例を図示しているが、特に最後の読み出し対象領域が上記最大転送量よりも小さい場合には、その読み出し対象領域のサイズに合わせて終了アドレスを設定すればよい。これによれば、画素ラインＰＬの終端側部分の読み出しについて、不要な転送動作を抑制できる。したがって、バス帯域を効率良く利用できる。
【０１２４】
これに対し、画素ラインＰＬの未読み出し部分が１回のバースト転送で設定可能な最大転送量よりも大きい場合であっても、読み出し対象領域の終了アドレスを画素ラインＰＬの終端アドレスに設定するのが好ましい場合がある。具体的には、図１０に示すように、画素ラインＰＬの最後の読み出し対象領域が小さい場合、その小さい領域を読み出すために読み出し要求を発行するのは効率が悪い。特に、そのような小さい領域が多く存在する場合には、効率低下は大きくなる。
【０１２５】
そこで、画素ラインＰＬ中の未読み出し部分が１回のバースト転送で設定可能な最大転送量を超過している場合、且つ、その超過量が上記読み出しサイズ条件の下で設定された開始アドレスと画素ラインＰＬの先頭アドレスとの差分よりも大きい場合には、上記の基本的な終了アドレス条件と同様に、読み出し対象領域の終了アドレスを上記最大転送量に合わせて設定する。なお、上記差分は、読み出しアライメント条件下における開始アドレスの上記調整量にあたる。
【０１２６】
これによれば、１回の読み出し要求で以て、転送可能な最大データ量を確保可能である。このため、読み出し要求の回数増加が抑制されることで、データ転送を効率的に行うことができる。また、データ転送の効率化に伴って読み出し要求の頻度が抑制されるので、読み出しアービタの処理負荷を低減可能である。
【０１２７】
これに対し、上記超過量が上記差分以下である場合、読み出し対象領域の終了アドレスを画素ラインＰＬの終端アドレスに設定する。これによれば、図１３に示すように、上記のような小さい領域が生じるのを回避できる。また、この場合、バースト転送可能な最大データ量に加え、上記の小さい領域のデータも、１回の読み出し要求で以て確保可能である。また、図１３に示すように、各画素ラインＰＬについて読み出し要求の回数が揃うことになる。その結果、読み出し要求の回数増加が抑制されることで、データ転送を効率的に行うことができる。また、データ転送の効率化に伴って読み出し要求の頻度が抑制されるので、読み出しアービタの処理負荷を低減可能である。
【０１２８】
なお、上記超過量が上記差分以下である場合の終了アドレス条件によれば、１回のバースト転送で設定可能なデータ量を超えて、読み出し要求を行うことになる。このような場合でも、読み出しＤＭＡＣ４Ｒによって２回以上のバースト転送に分割される。一方、読み出したデータを格納するためには、ラインＦＩＦＯ部１１１において１７個以上の格納領域１１２が受け入れ可能になっている必要がある。このため、かかる終了アドレス条件は、ラインＦＩＦＯ部１１１の空き具合の確認と共に、利用すればよい。
【０１２９】
＜書き込みＩ／Ｆ回路６Ｗ＞
図１４に、書き込みＩ／Ｆ回路６Ｗのブロック図を例示する。図１４の例によれば、書き込みＩ／Ｆ回路６Ｗは、コア側入出力部２００と、書き込みバッファ２１０と、書き込み管理部２３０と、コア出力管理部２５０とを含んでいる。
【０１３０】
＜コア側入力部２００＞
コア側入出力部２００は、読み出しＩ／Ｆ回路６Ｒのコア側入出力部１００（図５参照）と同様の目的で設けられている。図１４の例によれば、コア側入出力部２００は、入力用に非同期ＦＩＦＯ部２０１，２０２および非同期パルス部２０３を含んでいる。
【０１３１】
＜書き込みバッファ２１０＞
書き込みバッファ２１０は、モジュールコア５から出力されるコア出力データ（換言すれば出力ブロック）を一時的に格納するのに利用される。ここでは書き込みバッファ２１０が、読み出しＩ／Ｆ回路６Ｒの読み出しバッファ１１０と同様に、８個の書き込みラインＦＩＦＯ部が２つのＳＲＡＭで構成されている場合を例示する。この場合、読み出しバッファ１１０と同様に、８個の書き込みラインＦＩＦＯ部は、出力ブロックに含まれる８本の画素ラインＰＬにそれぞれ割り当てられている。
【０１３２】
ここでは、出力ブロックに含まれる画素ラインＰＬの本数が、入力ブロックが設定される画素ラインＰＬの本数と同じである場合を例示するが、例えばモジュールコア５が画像を垂直方向Ｖに縮小するリサイズ処理を行う場合、出力ブロックに対応する画素ラインＰＬの本数は、入力ブロックに対応する画素ラインＰＬの本数よりも少ない。逆に、画像を垂直方向Ｖに拡大するリサイズ処理では、出力ブロックに対応する画素ラインＰＬの本数は、入力ブロックに対応する画素ラインＰＬの本数よりも多い。
【０１３３】
＜コア出力管理部２５０＞
コア出力管理部２５０は、コア出力データの書き込みバッファ２１０への入力を管理する。図１４の例によれば、コア出力管理部２５０は、アドレス計算部２５１と、フォーマット変換部２５２とを含んでいる。
【０１３４】
コア出力データは、モジュールコア５から非同期ＦＩＦＯ部２０２を介してフォーマット変換部２５２へ入力される。フォーマット変換部２５２は、所定のフォーマットで構成されたコア出力データを、書き込みバッファ２１０の入力に適したフォーマットに変換する。例えば、コア出力データのビット列を、書き込みバッファ２１０の１ワード（１２８ビット）単位に変換する。
【０１３５】
アドレス計算部２５１は、フォーマット変換部２５２の出力データを書き込みバッファ２１０のどのアドレスに格納するのかについて制御する。具体的には、アドレス計算部２５１は、出力画像データをＤＲＡＭ１１へ書き込むために必要な情報（以下、書き込み基本情報と称する）をモジュールコア５から非同期ＦＩＦＯ部２０１を介して取得する。書き込み基本情報は、例えば、ＤＲＡＭ１１において出力画像データの格納先領域の開始アドレスおよび終了アドレス、モジュールコア５の出力ブロック（換言すれば出力側におけるマクロブロックＭＢ）のサイズ、画像水平方向Ｈにおける出力ブロックの個数、等である。
【０１３６】
なお、画像水平方向Ｈにおける出力ブロックの個数の情報は画素ラインＰＬの終端位置の指標となるが、例えばモジュールコア５が、画素ラインＰＬの終端のデータを出力する際に、その通知を非同期パルス部２０３を介してアドレス計算部２５１へ出力してもよい。
【０１３７】
＜書き込み管理部２３０＞
書き込み管理部２３０は、書き込みバッファ２１０内の格納データのＤＲＡＭ１１への転送を管理する。図１４の例によれば、書き込み管理部２３０は、アドレス変換部２３１と、同期ＦＩＦＯ部２３２，２３３と、終了判定部２３４とを含んでいる。
【０１３８】
アドレス変換部２３１は、モジュールコア５から上記書き込み基本情報を取得する。上記のように、画像水平方向Ｈにおける出力ブロックの個数の情報の代わりに、例えばモジュールコア５が画素ラインＰＬの終端のデータを出力する際に発行する通知を、非同期パルス部２０３を介して取得してもよい。
【０１３９】
そして、アドレス変換部２３１は、取得した基本情報に基づいて、書き込みバッファ２１０からのデータ読み出しを制御する。具体的には、アドレス変換部２３１は、図１５に示すように書き込みラインＦＩＦＯ部に格納された各回の出力ブロックのデータを、図１６に示すようにバースト転送のために纏める。また、アドレス変換部２３１は、そのように纏められた書き込み対象データの格納先である、ＤＲＡＭ１１上の書き込み先領域の開始アドレスおよび終了アドレスを設定する。
【０１４０】
書き込み対象データおよび書き込み先領域は、書き込み要求と共に、書き込みアービタ３Ｗへ入力される。その後、書き込みＤＭＡＣ４Ｗが、書き込みアービタ３Ｗを介して取得した書き込み先領域へ、書き込み対象データをバースト転送する。
【０１４１】
書き込み管理部２３１は、書き込み対象データおよび書き込み先領域を、書き込みラインＦＩＦＯ部ごとに決定し、その決定は所定の書き込み条件に従って行われる。書き込み条件については後述する。
【０１４２】
また、アドレス変換部２３１は、各回の書き込み要求について、書き込みバッファ２１０に対する読み出し制御を発行する。かかる読み出し制御は、同期ＦＩＦＯ部２３２に入力され、書き込み対象データを書き込みバッファ２１０から取り出す際に利用される。
【０１４３】
また、アドレス変換部２３１は、各回の書き込み要求について、書き込み先領域のデータサイズを、同期ＦＩＦＯ部２３３へ入力する。かかるデータサイズは、終了判定部２３４において、各回の書き込み要求に係る書き込みの終了を検出するのに利用される。具体的には、終了判定部２３４は、書き込みバッファ２１０から書き込みアービタ３Ｗを介してＤＲＡＭ１１へ転送されるデータのバイト数をカウントしており、そのカウント値が同期ＦＩＦＯ部２３３に入力されたデータサイズと一致したことを以て、所望の書き込み対象データの書き込みが終了したと判断し、その通知を書き込みアービタ３Ｗへ入力する。
【０１４４】
また、アドレス変換部２３１が、出力画像データの全てのデータについて書き込み要求を発行したと判断した場合、その判断結果を同期ＦＩＦＯ部２３３へ入力する。終了判定部２３４は、その判断結果を同期ＦＩＦＯ部２３３から取得したことを以て、出力画像データ全体について書き込みが終了することを知り、その通知を書き込みアービタ３Ｗへ入力する。
【０１４５】
＜書き込みＩ／Ｆ回路６Ｗによる効果＞
書き込みＩ／Ｆ回路６Ｗによれば、複数個の出力ブロックを書き込みバッファ２１０に蓄積しておき、且つ、それらを纏めてＤＲＡＭ１１へバースト転送させる。したがって、モジュールコア５から出力ブロックが出力される度にその出力ブロックをＤＲＡＭ１１へ転送する構成に比べて、各画像処理モジュール部２による書き込み要求の頻度を抑制可能である。それにより、バス帯域を効率良く利用できる。
【０１４６】
また、各画像処理モジュール部２による書き込み要求の頻度抑制に伴って、書き込みアービタ３Ｗに、既存のいわゆるバスアービタで行われる帯域調整を行わせる必要性が低くなる。したがって、書き込みアービタ３Ｗにはバスアービタに比べて簡易なアルゴリズムを採用可能であり、その結果、書き込みアービタ３Ｗを小規模に構成可能である。
【０１４７】
＜書き込みＩ／Ｆ回路６Ｗによるデータの書き込み＞
書き込みＩ／Ｆ回路６Ｗでは、書き込みラインＦＩＦＯ部ごとに未書き込みデータ（ＤＲＡＭ１１への書き込みが済んでいないデータ）の蓄積量が所定閾値を超えたか否かを監視し、未書き込みデータの蓄積量が所定閾値を超えた時点で、その未書き込みデータを書き込み対象データに選定して書き込み要求を発行する。
【０１４８】
上記所定閾値は、基本的には、１回のバースト転送で設定可能な最大転送量である。すなわち、書き込み対象データを上記最大転送量に設定する旨の条件（書き込みサイズ条件）が適用される。かかる書き込みサイズ条件によれば、データ転送を効率的に行うことができる。また、データ転送の効率化に伴って書き込み要求の頻度が抑制されるので、書き込みアービタ３Ｗの処理負荷を低減可能である。
【０１４９】
但し、未書き込みデータが、モジュールコア５から出力される出力画像において画素ラインの終端に到達した場合には、その終端に対応するコア出力データまでの範囲で以て書き込み対象データを区切り、その区切られた範囲（換言すれば、その書き込み対象データのサイズ）に応じた書き込み先領域を設定するのが好ましい（ライン終端条件）。これによれば、ライン終端側部分の書き込みについて、不要な転送動作を抑制できる。したがって、バス帯域を効率良く利用できる。
【０１５０】
また、読み出しＩ／Ｆ回路６Ｒと同様に、ＤＲＡＭ１１のアドレスアライメントに配慮するのが好ましい。具体的には、ＤＲＡＭ１１中の書き込み先領域をＤＲＡＭ１１のアドレスアライメント境界に合わせる旨の条件（書き込みアライメント条件）が採用される。書き込みアライメント条件によれば、書き込み先領域がＤＲＡＭ１１のアドレスアライメント境界を跨ぐ場合に比べて、ＤＲＡＭ１１を効率良く動作させることが可能である。それにより、データ転送効率の向上、省電力化等に資する。
【０１５１】
＜変形例１＞
さて、上記では、各ラインＦＩＦＯ部１１１において、格納領域１１２の個数が、１回のバースト転送で設定可能なデータ転送の最大回数（ＡＸＩでは１６回）の２倍である場合を例示した。しかし、この例に限定されるものではない。
【０１５２】
具体的には、各ラインＦＩＦＯ部１１１の格納領域１１２の個数は、１回のバースト転送で設定可能なデータ転送の最大回数（ＡＸＩでは１６回）の１倍よりも多く且つ２倍よりも少なくてもよい。なお、この場合、各ラインＦＩＦＯ部１１１の容量は、１回のバースト転送で設定可能な最大転送量の１倍よりも大きく且つ２倍よりも小さい。
【０１５３】
そのような設計であっても、各ラインＦＩＦＯ部１１１内において、モジュールコア５に対する供給済みデータがバースト転送の上記最大転送量以上になったことを以て、その供給済みデータに替えてＤＲＡＭ１１から読み出した新しいデータをラインＦＩＦＯ部１１１に格納すればよい。この例によれば、読み出しバッファ１１０の容量を小さくできる。その結果、チップ面積の削減、装置の小型化、省電力化等を図ることができる。
【０１５４】
かかる変形は書き込みバッファ２１０に対しても適用可能である。
【０１５５】
＜変形例２＞
上記では、マクロブロックＭＢが８本の画素ラインＰＬに対して設定され、読み出しバッファ１１０が８個のラインＦＩＦＯ部１１１で構成され、バースト長が１６回である場合を例示した。これに対し、例えばマクロブロックＭＢが１６本の画素ラインＰＬに対応する場合、各ラインＦＩＦＯ部１１１を２分割して利用することにより、１６個のラインＦＩＦＯ部１１１を用意することが可能である。但し、この場合、バースト長は最大８回に制限される。このような手法によれば、読み出しバッファ１１０の容量を増加させることなく、各種サイズのマクロブロックＭＢに柔軟に対応することができる。
【０１５６】
かかる変形は書き込みバッファ２１０に対しても適用可能である。
【０１５７】
＜変形例３＞
上記では１つの画像データを処理対象とする場合を例示した。これに対し、複数の画像データを切り替えながら並列的に処理することも可能である。例えば、Ｙ、Ｕ、Ｖの成分ごとの画像データを切り替えながら、画像上で同じ位置に設定された共通のマクロブロックＭＢを並列的に処理する例が挙げられる。
【０１５８】
＜変形例４＞
本発明は詳細に説明されたが、上記した説明は、すべての局面において、例示であって、本発明がそれに限定されるものではない。例示されていない無数の変形例が、本発明の範囲から外れることなく想定され得るものと解される。
【産業上の利用可能性】
【０１５９】
本発明に係る画像処理装置等は例えばデジタルカメラに搭載可能である。但し、この例に限定されるものではない。
【符号の説明】
【０１６０】
１  画像処理装置
２，２ａ〜２ｃ  画像処理モジュール部
３  モジュールアービタ部
３Ｒ  読み出しアービタ
３Ｗ  書き込みアービタ
４  ＤＭＡＣ部
４Ｒ  読み出しＤＭＡＣ
４Ｗ  書き込みＤＭＡＣ
５，５ａ〜５ｃ  モジュールコア
６Ｒ，６Ｒａ〜６Ｒｃ  読み出しＩ／Ｆ回路（画像処理インターフェース回路）
６Ｗ，６Ｗａ〜６Ｗｂ  書き込みＩ／Ｆ回路（画像処理インターフェース回路）
１０  バス
１１  メモリ（画像供給元メモリ、画像格納先メモリ）
１１０  読み出しバッファ
１３０  読み出し管理部
１５０  コア入力管理部
２１０  書き込みバッファ
２３０  書き込み管理部
２５０  コア出力管理部
ＰＸ  画素
ＰＬ  画素ライン
ＭＢ  マクロブロック
ＢＬ  ブロックライン
【図１】
2014035617.tif 000003
【図２】
2014035617.tif 000004
【図３】
2014035617.tif 000005
【図４】
2014035617.tif 000006
【図５】
2014035617.tif 000007
【図６】
2014035617.tif 000008
【図７】
2014035617.tif 000009
【図８】
2014035617.tif 000010
【図９】
2014035617.tif 000011
【図１０】
2014035617.tif 000012
【図１１】
2014035617.tif 000013
【図１２】
2014035617.tif 000014
【図１３】
2014035617.tif 000015
【図１４】
2014035617.tif 000016
【図１５】
2014035617.tif 000017
【図１６】
2014035617.tif 000018