(57)【要約】      （修正有）【課題】メモリに対する高速なデータ転送を実現し得るメモリコントローラ、画像処理装置及びデータ転送方法を提供する。【解決手段】画像処理装置１００において、メモリコントローラ１０４は、コマンドを保持する保持手段１１４と、コマンドの発行順序を入れ替る入れ替え手段１１５と、を備える。該入れ替え手段は、メモリ１０５に備えられている複数のバンクのうちの第１のバンクに対するアクセスが行われる所定コマンドが保持手段に保持されている場合に、所定コマンドが発行される前の所定期間において第１のバンクとは異なる第２のバンクに対するアクセスが行われるコマンドが発行されるように、保持手段から出力されるコマンドの発行順序を入れ替える。【選択図】図１
2019185447.tif 000002
【特許請求の範囲】
【請求項１】
コマンドを保持する保持手段と、
メモリに備えられている複数のバンクのうちの第１のバンクに対するアクセスが行われる所定コマンドが前記保持手段に保持されている場合に、前記所定コマンドが発行される前の所定期間において前記第１のバンクとは異なる第２のバンクに対するアクセスが行われるコマンドが発行されるように、前記保持手段から出力されるコマンドの発行順序を入れ替える入れ替え手段と
を有することを特徴とするメモリコントローラ。
【請求項２】
前記入れ替え手段は、前記メモリへのデータ転送を行い得ない時間が最小となるように、コマンドの発行順序を入れ替えることを特徴とする請求項１に記載のメモリコントローラ。
【請求項３】
前記メモリは、ＬＰＤＤＲ４規格に準拠していることを特徴とする請求項１又は２に記載のメモリコントローラ。
【請求項４】
前記所定コマンドは、マスクトライトコマンドであることを特徴とする請求項３に記載のメモリコントローラ。
【請求項５】
前記保持手段は、前記所定コマンドを保持する所定コマンド保持手段を更に有し、
複数のバスマスタからのアクセス要求を調停する調停手段を更に有し、
前記調停手段は、前記所定コマンド保持手段がマスクトライトコマンドを保持しきれなくなった場合に調停を停止することを特徴とする請求項１から４のいずれか１項に記載のメモリコントローラ。
【請求項６】
複数のバスマスタからのアクセス要求を調停する調停手段を更に有し、
前記調停手段は、優先度に基づいて前記バスマスタからのアクセス要求を調停することを特徴とする請求項１から４のいずれか１項に記載のメモリコントローラ。
【請求項７】
複数のバスマスタからのアクセス要求を調停する調停手段を更に有し、
前記調停手段は、前記バスマスタからのアクセス要求に応じた転送サイズに基づいて優先度を制御することを特徴とする請求項１から４のいずれか１項に記載のメモリコントローラ。
【請求項８】
画像の一部である部分領域を指定したアクセス要求と、前記メモリのマッピング情報とに基づいて、前記メモリにアクセスするためのコマンドを生成するコマンド生成手段を更に有することを特徴とする請求項１から７のいずれか１項に記載のメモリコントローラ。
【請求項９】
前記コマンド生成手段は、前記メモリへのデータ転送を行い得ない時間が最小となるように、コマンドを生成することを特徴とする請求項８に記載のメモリコントローラ。
【請求項１０】
画像を取得する取得手段と、
前記取得手段によって取得された画像をメモリに転送するメモリコントローラであって、コマンドを保持する保持手段と、メモリに備えられている複数のバンクのうちの第１のバンクに対するアクセスが行われる所定コマンドが前記保持手段に保持されている場合に、前記所定コマンドが発行される前の所定期間において前記第１のバンクとは異なる第２のバンクに対するアクセスが行われるコマンドが発行されるように、前記保持手段から出力されるコマンドの発行順序を入れ替える入れ替え手段とを有するメモリコントローラと
を有することを特徴とする画像処理装置。
【請求項１１】
コマンドを保持するステップと、
メモリに備えられている複数のバンクのうちの第１のバンクに対するアクセスが行われる所定コマンドが保持されている場合に、前記所定コマンドが発行される前の所定期間において前記第１のバンクとは異なる第２のバンクに対するアクセスが行われるコマンドが発行されるように、コマンドの発行順序を入れ替えるステップと
を有することを特徴とするデータ転送方法。
【請求項１２】
コンピュータに、
コマンドを保持するステップと、
メモリに備えられている複数のバンクのうちの第１のバンクに対するアクセスが行われる所定コマンドが保持されている場合に、前記所定コマンドが発行される前の所定期間において前記第１のバンクとは異なる第２のバンクに対するアクセスが行われるコマンドが発行されるように、コマンドの発行順序を入れ替えるステップとを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリコントローラ、画像処理装置及びデータ転送方法に関する。
【背景技術】
【０００２】
近時、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）が注目を集めている。ＳＤＲＡＭは、例えば、画像処理等を行う際のワークエリア等として用いられ得る。ＳＤＲＡＭの高速化を実現するため、ＪＥＤＥＣ（Ｊｏｉｎｔ  Ｅｌｅｃｔｒｏｎ  Ｄｅｖｉｃｅ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｃｏｕｎｃｉｌ）によって新しい規格が提案されている。また、低消費電力のＳＤＲＡＭの規格であるＬＰＤＤＲ４（非特許文献１）が提案されている。また、特許文献１には、バスマスタからのアクセス要求をバンク単位やページ単位のコマンドに分割し、コマンドの発行順序を入れ替えることによって、ページミスヒットによるオーバーヘッドを隠蔽する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２６０４７２号公報
【非特許文献】
【０００４】
【非特許文献１】ＪＥＤＥＣ  ＳＴＡＮＤＡＲＤ  ＬＰＤＤＲ４  ＳＤＲＡＭ  ＪＥＳＤ２０９−４
【発明の概要】
【発明が解決しようとする課題】
【０００５】
メモリに対する高速なデータ転送を実現することは必ずしも容易ではない。
本発明の目的は、メモリに対する高速なデータ転送を実現し得るメモリコントローラ、画像処理装置及びデータ転送方法を提供することにある。
【課題を解決するための手段】
【０００６】
実施形態の一観点によれば、コマンドを保持する保持手段と、メモリに備えられている複数のバンクのうちの第１のバンクに対するアクセスが行われる所定コマンドが前記保持手段に保持されている場合に、前記所定コマンドが発行される前の所定期間において前記第１のバンクとは異なる第２のバンクに対するアクセスが行われるコマンドが発行されるように、前記保持手段から出力されるコマンドの発行順序を入れ替える入れ替え手段とを有することを特徴とするメモリコントローラが提供される。
【発明の効果】
【０００７】
本発明によれば、メモリに対する高速なデータ転送を実現し得るメモリコントローラ、画像処理装置及びデータ転送方法を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態による画像処理装置を示すブロック図である。
【図２】第１実施形態による画像処理装置の動作を示すフローチャートである。
【図３】コマンドキューの状態の例を示す図である。
【図４−１】第１実施形態による画像処理装置の動作の例を示すタイミングチャートである。
【図４−２】第１実施形態による画像処理装置の動作の例を示すタイミングチャートである。
【図５】第２実施形態による画像処理装置を示すブロック図である。
【図６】第２実施形態による画像処理装置の動作を示すフローチャートである。
【図７】コマンドキューの状態の例を示す図である。
【図８】第２実施形態による画像処理装置の動作の例を示すタイミングチャートである。
【図９−１】ＳＤＲＡＭのアドレス空間における画像データのマッピングの例を示す図である。
【図９−２】ＳＤＲＡＭのアドレス空間における画像データのマッピングの例を示す図である。
【図９−３】ＳＤＲＡＭのアドレス空間における画像データのマッピングの例を示す図である。
【図１０】第３実施形態による画像処理装置を示すブロック図である。
【図１１】第３実施形態による画像処理装置の動作の例を示すフローチャートである。
【図１２】第３実施形態による画像処理装置の動作の例を示すタイミングチャートである。
【図１３−１】ＳＤＲＡＭの動作の例を示すタイミングチャートである。
【図１３−２】ＳＤＲＡＭの動作の例を示すタイミングチャートである。
【発明を実施するための形態】
【０００９】
［第１実施形態］
第１実施形態による画像処理装置を図１乃至図４を用いて説明する。図１は、第１実施形態による画像処理装置を示すブロック図である。本実施形態では、本実施形態によるメモリコントローラ１０４が画像処理装置１００、より具体的には、撮像装置に備えられている場合を例に説明するが、これに限定されるものではない。本実施形態によるメモリコントローラ１０４は、あらゆる電子装置に備えられ得る。
【００１０】
画像処理装置１００は、撮像素子１０１と、画像処理手段１０２と、メモリバス１０３と、メモリコントローラ１０４と、ＳＤＲＡＭ１０５とを有する。画像処理装置１００は、現像処理手段１０６と、表示制御手段１０７と、表示手段１０８と、符号化手段１０９と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１１とを更に有する。画像処理装置１００には、記録媒体１１０が備えられる。記録媒体１１０は、画像処理装置１００の本体から着脱可能であってもよいし着脱不能であってもよい。
【００１１】
撮像素子（撮像センサ）１０１は、被写体像を光電変換することにより得られる画像データを出力する。
【００１２】
画像処理手段１０２は、撮像素子１０１から出力される画像データに対して所定の画像処理を行う。かかる画像処理としては、例えば、欠陥画素補正、シェーディング補正等が挙げられる。画像処理手段１０２によって画像処理が施され画像データは、メモリバス１０３及びメモリコントローラ１０４を介して、ＳＤＲＡＭ１０５に記録される。
【００１３】
ＳＤＲＡＭ１０５は、画像データを記録する記憶媒体である。ＳＤＲＡＭ１０５は、ＬＰＤＤＲ４（Ｌｏｗ  Ｐｏｗｅｒ  Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ４）規格に準拠したメモリであるものとする。バーストアクセス単位にアラインしないサイズのデータをＬＰＤＤＲ４規格のＤＲＡＭのバンクに書き込む際には、専用のライトコマンドであるマスクトライト（Ｍａｓｋｅｄ  Ｗｒｉｔｅ）コマンドを発行することを要する。マスクトライトコマンドが発行された場合には、リードモディファイライト（Ｒｅａｄ  Ｍｏｄｉｆｙ  Ｗｒｉｔｅ）の動作が行われる。リードモディファイライトの動作が実行されている間は、書き込み対象のバンクに対する他のコマンドを処理することができない。したがって、バーストアクセス単位にアラインしないサイズのデータを含むデータをＳＤＲＡＭ１０５に書き込むためには、長時間を要する。
【００１４】
現像処理手段１０６は、ＳＤＲＡＭ１０５に記録されている画像データを、メモリコントローラ１０４及びメモリバス１０３を介して読み出す。現像処理手段１０６は、ＳＤＲＡＭ１０５から読み出した画像データに対して所定の現像処理を行う。かかる現像処理としては、例えば、画素補間、フィルタ処理、リサイズ処理（縮小処理）、色変換処理、フォーマット変換処理等が上げられる。フォーマット変換処理においては、例えば、圧縮画像データとして保存するのに最適なフォーマットであるＹＣｂＣｒ形式にフォーマットが変換される。現像処理手段１０６によって現像処理が施された画像データは、メモリバス１０３及びメモリコントローラ１０４を介して、ＳＤＲＡＭ１０５に記録される。
【００１５】
表示制御手段１０７は、現像処理が施された画像データを、メモリバス１０３及びメモリコントローラ１０４を介してＳＤＲＡＭ１０５から読み出し、読み出した画像データを表示手段１０８に供給する。
【００１６】
符号化手段１０９は、現像処理が施された画像データを、メモリバス１０３及びメモリコントローラ１０４を介してＳＤＲＡＭ１０５から読み出し、読み出した画像データに対して所定の符号化処理（圧縮・符号化処理）を行う。符号化処理としては、例えば、Ｈ．２６４規格等に準拠した符号化処理等が上げられる。符号化処理が施された画像データは、記録媒体１１０に記録される。
【００１７】
ＣＰＵ１１１は、本実施形態による画像処理装置１００の全体の制御を司るとともに、所定の処理を行う。ＣＰＵ１１１は、ＳＤＲＡＭ１０５に格納されたプログラム等をフェッチする。そして、ＣＰＵ１１１は、本実施形態による画像処理装置１００に備えられた各機能ブロックを、プログラムに従って適宜制御する。
【００１８】
メモリコントローラ１０４は、調停手段１１２と、コマンド分割手段１１３と、コマンドキュー（コマンド保持手段）１１４と、リオーダー制御手段１１５と、データバッファ１１６とを有する。
【００１９】
調停手段１１２は、各々のバスマスタからのアクセス要求に対して、予め設定されている優先度に従って１つのバスマスタからのアクセス要求を選択し、選択したアクセス要求をコマンド分割手段１１３に供給する。
【００２０】
コマンド分割手段１１３は、調停手段１１２から供給されるアクセス要求等のコマンドを、バンク単位やページ単位に分割し、分割したコマンドをコマンドキュー１１４に供給する。
【００２１】
コマンドキュー１１４は、コマンド分割手段１１３によって分割されたコマンドを一時的に保持し、ＳＤＲＡＭ１０５に対してコマンドを順番に発行する。保持しているキューの数が上限に達した場合、コマンドキュー１１４は、調停手段１１２による調停を一時的に停止させるための停止信号を調停手段１１２に供給する。
【００２２】
リオーダー制御手段１１５は、データの転送効率を向上すべく、コマンドキュー１１４に記録されているコマンドの順番を入れ替える。
【００２３】
データバッファ１１６は、ＳＤＲＡＭ１０５に書き込まれるデータであるライトデータやＳＤＲＡＭ１０５から読み出されたデータであるリードデータを一時的に保持する。バスマスタとデータバッファ１１６との間で、メモリバス１０３を介してデータが送受信される。
【００２４】
ＬＰＤＤＲ４規格に準拠したＳＤＲＡＭ１０５に対してデータの書き込みを行う際、ライトデータに同期して供給されるデータマスク信号によってデータのマスク処理が指示された場合には、マスクトライトコマンドＭＷＲの発行が必要となる。このため、データバッファ１１６は、データのマスク処理が必要となる範囲を示す情報を、コマンドキュー１１４に通知する。
【００２５】
コマンドキュー１１４は、データのマスク処理が必要となる範囲を示す情報と、対象のコマンドとを、コマンド分割手段１１３に供給する。
コマンド分割手段１１３は、通常のライトコマンド（Ｗｒｉｔｅ  Ｃｏｍｍａｎｄ、書き込みコマンド）ＷＲとマスクトライトコマンドＭＷＲとに分割して、コマンドキュー１１４にコマンドを供給する。
【００２６】
リオーダー制御手段１１５は、通常のライトとＭＷＲとに分割された状態で、再度、コマンドの順番の入れ替えを行う。
【００２７】
ＳＤＲＡＭ１０５には、データが記憶される記憶エリアが備えられている。ＳＤＲＡＭ１０５に備えられた記憶エリアのアドレス空間は、複数のバンク（Ｂａｎｋ）に分割されている。各々のバンクには、バンクアドレスが割り当てられている。バンクは、複数のロウ（Ｒｏｗ）に分割されている。複数のロウの各々には、ロウアドレスが割り当てられている。ロウは、複数のカラム（Ｃｏｌｕｍｎ）に分割されている。複数のカラムの各々には、カラムアドレスが割り当てられている。１つのロウアドレスに含まれている領域はページと称される。ＳＤＲＡＭ１０５においては、アクセスが行われるページを予めオープンしておく必要があり、アクセスする際のバンクの状況によって転送効率が変化する。また、ＬＰＤＤＲ４規格においては、ライトデータ（書き込みデータ）の一部をマスクした書き込み処理をＳＤＲＡＭ１０５に対して実行する場合には、マスクトライトコマンドＭＷＲが発行される。
【００２８】
図１３は、ＳＤＲＡＭ１０５の動作の例を示すタイミングチャートである。図１３（ａ）には、同一バンク・同一ページへのライトアクセスが連続して行われる場合の例が示されている。
【００２９】
タイミングＴ１３０１においては、アクティブコマンド（Ａｃｔｉｖｅ  Ｃｏｍｍａｎｄ）ＡＣＴが発行される。この際、バンクアドレスは０とされ、ロウアドレスは０とされる。こうして、アクセスされるページがオープンされる。
【００３０】
タイミングＴ１３０１から時間ｔＲＣＤ（ＲＡＳ  ｔｏ  ＣＡＳ  ｄｅｌａｙ）が経過した後のタイミングＴ１３０２において、ライトコマンドＷＲが発行される。この際、バンクアドレスは０とされ、カラムアドレスは０とされる。
【００３１】
タイミングＴ１３０２から時間ＷＬ（Ｗｒｉｔｅ  Ｌａｔｅｎｃｙ）が経過した後のタイミングＴ１３０３において、ライトデータの転送が開始される。モードレジスタに予め設定されたバースト長（Ｂｕｒｓｔ  Ｌｅｎｇｔｈ）の転送が終了すると、タイミングＴ１３０２において発行されたライトコマンドＷＲに応じた書き込み処理が完了する。
【００３２】
同一バンク・同一ページへの連続アクセスの場合には、ページの変更が不要であるため、データ転送を連続して行い得る。そこで、第１番目のデータ転送が終了するタイミングＴ１３０５に対して時間ＷＬだけ前のタイミングＴ１３０４において、第２番目のデータ転送のためのライトコマンドＷＲが発行される。この際、バンクアドレスは０とされ、カラムアドレスは１とされる。このように、同一バンク・同一ページへの連続アクセスは、データが転送されない期間が生じないため、転送効率が良好である。
【００３３】
図１３（ｂ）には、マスクトライトコマンドＭＷＲが用いられる場合の動作の例が示されている。タイミングＴ１３１１〜Ｔ１３１３における動作は、図１３（ａ）を用いて上述したタイミングＴ１３０１〜Ｔ１３０３における動作と同様であるため、説明を省略する。タイミングＴ１３０４において、第１番目のデータ転送が終了する。
【００３４】
マスクトライトコマンドＭＷＲに応じてアクセスされるバンクに対して行われたライトアクセスから時間ｔＣＣＤＭＷ（ＣＡＳ  ｔｏ  ＣＡＳ  ｄｅｌａｙ  Ｍａｓｋｅｄ  Ｗｒｉｔｅ）が経過するまでは、当該マスクトライトコマンドＭＷＲを発行し得ない。タイミングＴ１３１２において発行されたライトコマンドＷＲに応じてアクセスされたバンクのバンクアドレスは０であり、マスクトライトコマンドＭＷＲに応じてアクセスされるバンクのバンクアドレスは０である。従って、タイミングＴ１３１２におけるライトコマンドＷＲの発行から時間ｔＣＣＤＭＷ（所定期間）が経過するまでは、マスクトライトコマンドＭＷＲを発行し得ない。このため、タイミングＴ１３１２から時間ｔＣＣＤＭＷが経過した後のタイミングＴ１３１５において、マスクトライトコマンドＭＷＲが発行される。この際、バンクアドレスと、カラムアドレスとが発行される。バンクアドレスが０とされ、カラムアドレスが１とされる場合が例として示されている。
【００３５】
タイミングＴ１３１５から時間ＷＬが経過したタイミングＴ１３１６において、第２番目のデータ転送が開始される。
【００３６】
図１３（ｂ）に示す例においては、タイミングＴ１３１４からタイミングＴ１３１５まではデータ転送を行い得ない。このため、図１３（ｂ）に示す例は、図１３（ａ）に示す例に対して転送効率が低い。
【００３７】
図１３（ｃ）には、同一バンク・異ページに対して連続アクセスが行われる場合の例が示されている。
【００３８】
タイミングＴ１３２１〜Ｔ１３２３における動作は、図１３（ａ）を用いて上述したタイミングＴ１３０１〜Ｔ１３０３における動作と同様であるため、説明を省略する。タイミングＴ１３２４において、第１番目のデータ転送が終了する。
【００３９】
同一バンク・異ページへの連続アクセスの場合には、オープンされているページを一旦クローズし、第２番目のデータ転送においてアクセスされるページをオープンする必要がある。このため、タイミングＴ１３２４から時間ｔＷＲ（Ｗｒｉｔｅ  Ｒｅｃｏｖｅｒｙ  Ｔｉｍｅ）が経過した後のタイミングＴ１３２５において、プレチャージコマンド（Ｐｒｅｃｈａｒｇｅ  Ｃｏｍｍａｎｄ）ＰＲＥが発行される。この際、バンクアドレスは例えば０とされる。これにより、ページがクローズされる。一旦オープンしたページは、時間ｔＲＡＳ（Ｒｏｗ  Ａｃｔｉｖｅ  Ｔｉｍｅ）が経過した後でないとクローズすることができない。即ち、ページがオープンされたタイミングＴ１３２１から時間ｔＲＡＳが経過するまでは、当該ページをクローズすることができない。また、同一バンク・異ページへの連続アクセスを行う場合には、ページをクローズしてから時間ｔＲＰ（Ｐｒｅｃｈａｒｇｅ  ｔｏ  Ａｃｔｉｖｅ  Ｃｏｍｍａｎｄ  Ｐｅｒｉｏｄ）が経過した後に、第２番目のデータ転送のための処理が行われる。このため、タイミングＴ１３２５から時間ｔＲＰが経過した後のタイミングＴ１３２６において、アクティブコマンドＡＣＴが発行される。この際、バンクアドレスは０とされ、ロウアドレスは１とされる。このように、同一バンク・異ページへの連続アクセスは、バンクを一旦クローズし、バンクをオープンし直すため、転送効率が低い。タイミングＴ１３２６から時間ｔＲＣＤが経過した後のタイミングＴ１３２７において、ライトコマンドＷＲが発行される。この際、バンクアドレスは０とされ、カラムアドレスは１とされる。タイミングＴ１３２７から時間ＷＬが経過した後のタイミングＴ１３２８において、データ転送が開始される。タイミングＴ１５２９において、データ転送が終了する。
【００４０】
図１３（ｃ）に示す例においては、タイミングＴ１３２４からタイミングＴ１３２８まではデータ転送を行い得ない。このため、図１３（ｃ）に示す例は、図１３（ａ）に示す例に対して転送効率が低い。
【００４１】
図１３（ｄ）には、異バンクへの連続アクセスが行われる場合の例が示されている。
タイミングＴ１３３１〜Ｔ１３３３における動作は、図１３（ａ）を用いて上述したタイミングＴ１３０１〜Ｔ１３０３における動作と同様であるため、説明を省略する。タイミングＴ１３３６において、第１番目のデータ転送が終了する。各バンクは独立してページのオープンが可能であり、他のバンクに対してデータ転送が行われている最中にページをオープン／クローズすることが可能である。そこで、第１番目のデータ転送が終了するタイミングＴ１３３６に対して時間ｔＲＣＤ＋ＷＬだけ前のタイミングＴ１３３４において、アクティブコマンドＡＣＴが発行される。この際、バンクアドレスは１とされ、ロウアドレスは０とされる。これにより、ページがオープンされる。
【００４２】
タイミングＴ１３３４から時間ｔＲＣＤが経過した後のタイミングＴ１３３５において、ライトコマンドＷＲが発行される。この際、バンクアドレスは１とされ、カラムアドレスは２とされる。
【００４３】
タイミングＴ１３３５から時間ＷＬが経過した後のタイミングＴ１３３６において、第１番目のデータ転送が終了するとともに、第２番目のデータ転送が開始される。
【００４４】
タイミングＴ１３３６から時間ｔＷＲが経過した後のタイミングＴ１３３７において、プレチャージコマンドＰＲＥが発行される。この際、バンクアドレスは０とされる。これにより、ページがクローズされる。
【００４５】
第２番目のデータ転送が終了するタイミングＴ１３４０に対して時間ｔＲＣＤ＋ＷＬだけ前のタイミングＴ１３３８において、アクティブコマンドＡＣＴが発行される。この際、バンクアドレスは０とされ、ロウアドレスは１とされる。これにより、ページがオープンされる。
【００４６】
タイミングＴ１３３８から時間ｔＲＣＤが経過した後のタイミングＴ１３３９において、ライトコマンドＷＲが発行される。この際、バンクアドレスは０とされ、カラムアドレスは０とされる。
【００４７】
こうして、図１３（ｄ）に示す例においては、３つのデータ転送が連続して行われる。このように、同一バンク・異ページへの連続アクセスの間に他バンクへの転送を挿入し、ページのオープン／クローズを当該他バンクへのデータ転送中に実行することにより、転送効率を向上させ得る。
【００４８】
図２は、本実施形態による画像処理装置１００の動作を示すフローチャートである。図２には、画像処理装置１００に備えられたリオーダー制御手段１１５によって行われる処理が示されている。
【００４９】
コマンドキュー１１４に新しいコマンドが追加された場合には、コマンドキュー１１４内に蓄えられているコマンドを順番通りに処理する場合における処理時間が算出される（ステップＳ２０１）。即ち、コマンドキュー１１４内に蓄えられているコマンドの処理の順番が入れ替えられない場合における処理時間が算出される。この後、ステップＳ２０２に遷移する。
【００５０】
ステップＳ２０２においては、コマンドキュー１１４内に蓄えられているコマンドの処理の順番を入れ替えた場合における処理時間が算出される。この後、ステップＳ２０３に遷移する。
【００５１】
ステップＳ２０３においては、コマンドの処理の順番を入れ替えた場合の処理時間が、コマンドの処理の順番を入れ替えない場合の処理時間より短いか否かが比較される。コマンドの処理の順番を入れ替えた場合の処理時間が、コマンドの処理の順番を入れ替えない場合の処理時間より短い場合には（ステップＳ２０３においてＹＥＳ）、ステップＳ２０４に遷移する。コマンドの処理の順番を入れ替えた場合の処理時間が、コマンドの処理の順番を入れ替えない場合の処理時間より短くない場合には（ステップＳ２０３においてＮＯ）、図２に示す処理が完了する。
【００５２】
ステップＳ２０４においては、コマンドの処理の順番の入れ替えが行われる。こうして、図２に示す処理が完了する。
【００５３】
図３は、コマンドキュー１１４の状態の例を示す図である。図３には、ＩＤ１のコマンドがコマンドキュー１１４内に格納されている状態で、ＩＤ２のコマンドが調停手段１１２によって受け付けられ、その後、ＩＤ２のコマンドが分割される場合の例が示されている。図４は、本実施形態による画像処理装置１００の動作の例を示すタイミングチャートである。
【００５４】
図３（ａ）は、ＩＤ２のコマンドがＩＤ２−１のコマンドとＩＤ２−２のコマンドとに分割された場合の例が示されている。図３（ａ）に示す状態においては、コマンドの処理の順番は入れ替えられていない。上述したステップＳ２０１においては、例えば、図３（ａ）のようにコマンドが配されている場合の処理時間が算出される。図４（ａ）は、コマンドの処理の順番を入れ替えない場合の動作を示すタイミングチャートである。
【００５５】
タイミングＴ４０１において、アクティブコマンドＡＣＴが発行される。この際、バンクアドレスは０とされ、ロウアドレスは１とされる。こうして、ＩＤ１のコマンドに応じてデータが転送されるページがオープンされる。
【００５６】
タイミングＴ４０１から時間ｔＲＣＤが経過した後のタイミングＴ４０２において、ライトコマンドＷＲが発行される。この際、バンクアドレスは０とされ、カラムアドレスは０とされる。
【００５７】
タイミングＴ４０２から時間ＷＬが経過した後のタイミングＴ４０３において、ＩＤ１のコマンドに応じたデータ転送が開始される。図４においては、１回のライトコマンドＷＲによって転送されるデータのサイズが３２バイト（Ｂｙｔｅ）である場合を例に説明する。ＩＤ１のコマンドにおける転送サイズは例えば１２８バイトである。このため、タイミングＴ４０４〜Ｔ４０６においては、残りの９６バイト分のライトコマンドＷＲが発行される。即ち、タイミングＴ４０４において、ライトコマンドＷＲが発行される。この際、バンクアドレスは０とされ、カラムアドレスは１とされる。この後、タイミングＴ４０５において、ライトコマンドＷＲが発行される。この際、バンクアドレスは０とされ、カラムアドレスは２とされる。この後、タイミングＴ４０６において、ライトコマンドＷＲが発行される。この際、バンクアドレスは０とされ、カラムアドレスは３とされる。
【００５８】
タイミングＴ４０７において、ＩＤ１のコマンドに応じたデータ転送が終了する。タイミングＴ４０７は、アクティブコマンドＡＣＴが発行されたタイミングＴ４０１から時間ｔＲＡＳが経過した後のタイミングよりも後のタイミングである。従って、タイミングＴ４０７においては、ページをクローズすることが可能である。図３（ａ）に示すように、ＩＤ１のコマンドの次にはＩＤ２−１のコマンドが位置する。ＩＤ１のコマンドとＩＤ２−１のコマンドとによって、同一バンク・異ページへの連続アクセスが行われる。このため、ページを一旦クローズし、アクセスされるページをオープンすることを要する。このため、タイミングＴ４０７から時間ｔＷＲが経過した後のタイミングＴ４０８において、プレチャージコマンドＰＲＥが発行される。この際、バンクアドレスは０とされる。これにより、バンク０がクローズされる。
【００５９】
タイミングＴ４０８から時間ｔＲＰが経過した後のタイミングＴ４０９において、アクティブコマンドＡＣＴが発行される。この際、バンクアドレスは０とされ、ロウアドレスは０とされる。こうして、ＩＤ２−１のコマンドに応じたデータ転送が行われるページがオープンされる。
【００６０】
タイミングＴ４０９から時間ｔＲＣＤが経過した後のタイミングＴ４１０において、ライトコマンドＷＲが発行される。この際、バンクアドレスは０とされ、カラムアドレスは６２とされる。
【００６１】
タイミングＴ４１０から時間ＷＬが経過した後のタイミングＴ４１１において、ＩＤ２−１のコマンドに応じたデータ転送が開始される。ＩＤ２−１のコマンドにおける転送サイズは６４バイトであるため、タイミングＴ４１２において、残りの３２バイト分のライトコマンドＷＲが発行される。この際、バンクアドレスは０とされ、カラムアドレスは６３とされる。
【００６２】
図３（ａ）に示すように、ＩＤ２−１のコマンドの次は、ＩＤ２−２のコマンドである。ＩＤ２−１のコマンドと、ＩＤ２−２のコマンドとは、バンクアドレスが異なっている。このため、タイミングＴ４１３において、アクティブコマンドＡＣＴが発行される。この際、バンクアドレスは１とされ、ロウアドレスは０とされる。こうして、ＩＤ２−２のコマンドに応じたデータ転送が行われるページがオープンされる。
【００６３】
タイミングＴ４１３から時間ｔＲＣＤが経過した後のタイミングＴ４１４において、ライトコマンドＷＲが発行される。この際、バンクアドレスは１とされ、カラムアドレスは０とされる。
【００６４】
タイミングＴ４１４から時間ＷＬが経過した後のタイミングＴ４１５において、ＩＤ２−１のコマンドに応じたデータ転送が終了し、ＩＤ２−２のコマンドに応じたデータ転送が開始される。ＩＤ２−２のコマンドにおける転送サイズは、６４バイトである。このため、タイミングＴ４１６において、残りの３２バイト分のライトコマンドＷＲが発行される。この際、バンクアドレスは１とされ、カラムアドレスは１とされる。
【００６５】
タイミングＴ４１７において、ＩＤ２−２のコマンドに応じたデータ転送が完了する。こうして、コマンドキュー１１４内に格納されたコマンドに応じた処理が終了する。
【００６６】
上述したステップＳ２０１においては、タイミングＴ４０１からタイミングＴ４１７に至るまでの時間が算出される。即ち、コマンドの処理の順番を入れ替えない場合の処理時間がステップＳ２０１において算出される。
【００６７】
図４（ｂ）は、ＩＤ２−１のコマンドとＩＤ２−２のコマンドの順番が入れ替えられた状態を示している。上述したステップＳ２０２においては、例えば、図４（ｂ）のようにコマンドが配されている場合の処理時間が算出される。
【００６８】
まず、タイミングＴ４２１〜Ｔ４２６の動作は、図４（ａ）におけるタイミングＴ４０１〜Ｔ４０６の動作と同様であるため、説明を省略する。
【００６９】
ＩＤ１のコマンドとＩＤ２−２のコマンドとは、バンクアドレスが異なっている。このため、タイミングＴ４２７において、アクティブコマンドＡＣＴが発行される。この際、バンクアドレスは１とされ、ロウアドレスは０とされる。こうして、ＩＤ２−２のコマンドに応じたデータ転送が行われるページがオープンされる。
【００７０】
タイミングＴ４２７から時間ｔＲＣＤが経過した後のタイミングＴ４２８において、ライトコマンドＷＲが発行される。この際、バンクアドレスは１とされ、カラムアドレスは０とされる。
【００７１】
タイミングＴ４２８から時間ＷＬが経過した後のタイミングＴ４２９において、ＩＤ１のコマンドに応じたデータ転送が終了し、ＩＤ２−２のコマンドに応じたデータ転送が開始される。
【００７２】
タイミングＴ４２９から時間ｔＷＲが経過した後のタイミングＴ４３０は、アクティブコマンドＡＣＴが発行されたタイミングＴ４２１から時間ｔＲＡＳが経過した後のタイミングよりも後のタイミングである。従って、タイミングＴ４３０においては、ページをクローズすることが可能である。図３（ｂ）に示すように、ＩＤ２−２のコマンドと、ＩＤ２−１のコマンドとは、バンクアドレスが異なっている。このため、タイミングＴ４３０において、プレチャージコマンドＰＲＥが発行される。この際、バンクアドレスは０とされる。これにより、バンク０がクローズされる。
【００７３】
ＩＤ２−２のコマンドにおける転送サイズは６４バイトであるため、タイミングＴ４３１において、残りの３２バイト分のライトコマンドＷＲが発行される。この際、バンクアドレスは１とされ、カラムアドレスは１とされる。
【００７４】
タイミングＴ４３０から時間ｔＲＰが経過した後のタイミングＴ４３２において、アクティブコマンドＡＣＴが発行される。この際、バンクアドレスは０とされ、ロウアドレスは０とされる。こうして、ＩＤ２−１のコマンドに応じたデータ転送が行われるページがオープンされる。
【００７５】
タイミングＴ４３２から時間ｔＲＣＤが経過した後のタイミングＴ４３３において、ライトコマンドＷＲが発行される。この際、バンクアドレスは０とされ、カラムアドレスは６２とされる。
【００７６】
タイミングＴ４３３から時間ＷＬが経過した後のタイミングＴ４３４において、ＩＤ２−２のコマンドに応じたデータ転送が終了し、ＩＤ２−１のコマンドに応じたデータ転送が開始される。
【００７７】
ＩＤ２−１のコマンドにおける転送サイズは６４バイトであるため、タイミングＴ４３５において、残りの３２バイト分のライトコマンドＷＲが発行される。この際、バンクアドレスは０とされ、カラムアドレスは６３とされる。
【００７８】
タイミングＴ４３６において、ＩＤ２−１のコマンドに応じたデータ転送が完了する。こうして、コマンドキュー１１４内に格納されたコマンドに応じた処理が終了する。
【００７９】
上述したステップＳ２０２においては、タイミングＴ４２１からタイミングＴ４３６に至るまでの時間が算出される。即ち、コマンドの処理の順番を入れ替えた場合の処理時間がステップＳ２０２において算出される。
【００８０】
図４（ａ）と図４（ｂ）とから分かるように、コマンドの処理の順番を入れ替えた場合の処理時間の方が、コマンドの処理の順番を入れ替えない場合の処理時間より短い。このような場合、コマンドの処理の順番の入れ替えが行われる。
【００８１】
ところで、バスの転送形式が、アドレスフェーズとデータフェーズとが分離されたスプリットバスである場合には、アドレスフェーズの段階において、ライトデータに対するマスクの要否が考慮されない場合がある。この場合、コマンドキュー１１４にコマンドが格納された後にデータフェーズが実行され、データフェーズが終了した後にライトデータに対するマスクの要否が判明する。図３（ｂ）のようにコマンドが配されている場合において、ＩＤ２−２のコマンドに応じたデータ転送のうちの後半の３２バイトに対して、ライトデータのマスクが必要となった場合には、図４（ｃ）に示すような動作が行われる。
【００８２】
タイミングＴ４４１〜Ｔ４５０の動作は、図４（ｂ）におけるタイミングＴ４２１〜４３０の動作の同様であるため、説明を省略する。図４（ｃ）に示す例においては、タイミングＴ４５０から時間ｔＲＰが経過したタイミングにおいて、ＩＤ２−２のコマンドに応じたデータ転送のうちの前半の３２バイトのデータ転送が終了する。
【００８３】
ＩＤ２−２のコマンドに応じたデータ転送のうちの後半の３２バイトに対してライトデータのマスクを行う場合には、マスクトライトコマンドＭＷＲの発行が必要となる。このため、タイミングＴ４４８から時間ｔＣＣＤＭＷが経過した後のタイミングＴ４５１において、マスクトライトコマンドＭＷＲが発行される。この際、バンクアドレスは１とされ、カラムアドレスは１とされる。
【００８４】
タイミングＴ４５２において、ＩＤ２−２のコマンドに応じたデータ転送のうちの後半の３２バイトのデータ転送が開始される。タイミングＴ４５２〜４５６の動作は、図４（ｂ）におけるタイミングＴ４３２〜４３６の動作と同様であるため、説明を省略する。
【００８５】
図４（ｃ）に示すような例においては、時間ｔＣＣＤＭＷの制約がオーバーヘッドとして顕在化するため、転送効率の低下を招く。そこで、ライトデータのマスクが必要であることがデータバッファ１１６によって判定された場合には、以下のような処理が行われる。即ち、ライトデータのマスクが必要となるようなライトコマンドＷＲが、通常のライトコマンドＷＲとマスクトライトコマンドＭＷＲとに分割され、処理時間の再算出が行われる。
【００８６】
図４（ｄ）は、ＩＤ２−２のコマンドを分割することによりＩＤ２−２−１のコマンドとＩＤ２−２−２のコマンドとを得るとともに、ＩＤ２−２−１のコマンドとＩＤ２−２−２のコマンドの処理の順番を入れ替えた状態を示している。ＩＤ２−２−１のコマンドとＩＤ２−２−２のコマンドとによって、同一バンク・同一ページへの連続アクセスが行われる。ＩＤ２−２−１のコマンドは、通常のライトコマンドＷＲであり、ＩＤ２−２−２のコマンドは、マスクトライトコマンドＭＷＲである。
タイミングＴ４６１〜Ｔ４６７の動作は、図４（ｂ）におけるタイミングＴ４２１〜Ｔ４２７の動作と同様であるため、説明を省略する。
【００８７】
タイミングＴ４６７から時間ｔＲＣＤが経過した後のタイミングＴ４６８において、マスクトライトコマンドＭＷＲが発行される。この際、バンクアドレスは１とされ、カラムアドレスは１とされる。タイミングＴ４６８においてマスクトライトコマンドＭＷＲを発行し得るのは、バンクアドレスが１であるライトコマンドＷＲが発行されたタイミングからタイミングＴ４６８までの経過時間が時間ｔＣＣＤＭＷ以上であるためである。
【００８８】
タイミングＴ４６８から時間ＷＬが経過したタイミングＴ４６９において、ＩＤ１のコマンドに応じたデータ転送が終了し、ＩＤ２−２−２のコマンドに応じたデータ転送が開始される。
【００８９】
タイミングＴ４６９から時間ｔＷＲが経過した後のタイミングＴ４７０は、アクティブコマンドＡＣＴが発行されたタイミングＴ４６１から時間ｔＲＡＳが経過した後のタイミングよりも後のタイミングである。従って、タイミングＴ４７０においては、ページをクローズすることが可能である。このため、タイミングＴ４７０において、プレチャージコマンドＰＲＥが発行される。この際、バンクアドレスは０とされる。これにより、バンク０がクローズされる。
【００９０】
上述したように、ＩＤ２−２−２のコマンドとＩＤ２−２−１のコマンドとによって、同一バンク・同一ページへの連続アクセスが行われる。ＩＤ２−２−１のコマンドは通常のライトコマンドであるため、タイミングＴ４７１においてライトコマンドＷＲが発行される。この際、バンクアドレスは１とされ、カラムアドレスは０とされる。
【００９１】
タイミングＴ４７１から時間ＷＬが経過したタイミングＴ４７２において、ＩＤ２−２−２のコマンドに応じたデータ転送が終了し、ＩＤ２−２−１のコマンドに応じたデータ転送が開始される。
【００９２】
ＩＤ２−２−１のコマンドの次はＩＤ２−１のコマンドである。ＩＤ２−２−１のコマンドと、ＩＤ２−１のコマンドとは、バンクアドレスが異なっている。このため、タイミングＴ４７２において、アクティブコマンドＡＣＴが発行される。この際、バンクアドレスは０とされ、ロウアドレスは０とされる。これにより、ＩＤ２−１のコマンドに応じたデータ転送が行われるページがオープンされる。
タイミングＴ４７２から時間ｔＲＣＤが経過した後のタイミングＴ４７３において、ライトコマンドＷＲが発行される。この際、バンクアドレスは０とされ、カラムアドレスは６２とされる。
【００９３】
タイミングＴ４７３から時間ＷＬが経過したタイミングＴ４７４において、ＩＤ２−２−１のコマンドに応じたデータ転送が終了し、ＩＤ２−１のコマンドに応じたデータ転送が開始される。
【００９４】
ＩＤ２−１のコマンドにおける転送サイズは６４バイトであるため、タイミングＴ４７５において、残りの３２バイト分のライトコマンドＷＲが発行される。この際、バンクアドレスは０とされ、カラムアドレスは６３とされる。
【００９５】
タイミングＴ４７６において、ＩＤ２−１のコマンドに応じたデータ転送が完了する。こうして、コマンドキュー１１４内に格納されたコマンドに応じた処理が終了する。
【００９６】
図４（ｃ）と図４（ｄ）とから分かるように、コマンドを分割するとともに、分割することにより得られた複数のコマンドの処理の順番を入れ替えた場合における処理時間の方が、このような処理を行わない場合における処理時間よりも短い。このような場合、コマンドを分割するとともに、分割することにより得られた複数のコマンドの処理の順番が入れ替えられる。
【００９７】
このように、本実施形態によれば、一部にマスクが必要となるようなコマンドであるＩＤ２−２のコマンドを、通常のライトコマンドＷＲであるＩＤ２−２−１のコマンドと、マスクトライトコマンドＭＷＲであるＩＤ２−２−２のコマンドとに分割する。そして、ＩＤ２−２−１のコマンドとＩＤ２−２−２のコマンドとの処理の順番を入れ替えることにより、マスクトライトコマンドＭＷＲであるＩＤ２−２−２のコマンドを、通常のライトコマンドＷＲであるＩＤ２−２−１のコマンドの前に位置させる。ＩＤ２−２−２のコマンドが実行される前に実行されるコマンドはＩＤ１のコマンドであり、ＩＤ１のコマンドにおけるバンクアドレスはＩＤ２−２−２のコマンドにおけるバンクアドレスと異なっている。このため、マスクトライトコマンドＭＷＲに応じた書き込みが行われるバンクアドレスと同一のバンクアドレスに対するライトコマンドＷＲが、マスクトライトコマンドＭＷＲが発行される前に発行されない。このため、本実施形態によれば、マスクトライトコマンドＭＷＲが速やかに発行される。このため、本実施形態によれば、オーバーヘッドを回避することができ、良好な効率でデータ転送を行うことができる。
【００９８】
［第２実施形態］
第２実施形態による画像処理装置を図５乃至図８を用いて説明する。図１乃至図４に示す第１実施形態による画像処理装置と同一の構成要素には、同一の符号を付して説明を省略又は簡潔にする。
【００９９】
図１３を用いて上述したように、同一バンク・異ページへの連続アクセスが行われる場合においては、オープンしているページを一旦クローズし、次にアクセスするページをオープンすることを要する。また、一旦オープンしたページは、時間ｔＲＡＳが経過した後でないとクローズすることができない。複数のバスマスタからＳＤＲＡＭ１０５に対してアクセスが行われる場合において、同一バンクへの連続アクセスが行われるか否かは、各バスマスタからのアクセス要求のタイミングによって異なる。このため、バスマスタの個々のアクセス仕様による差は少ない。しかし、データ転送に必要な時間が、時間ｔＲＡＳよりも大きい場合には、時間ｔＲＡＳが経過するまで待機することを要しないため、バスマスタから転送されるデータのサイズが大きいほど、時間ｔＲＡＳによるオーバーヘッドが生じにくい。一方、バスマスタから転送されるデータのサイズが小さい場合には、時間ｔＲＡＳによるオーバーヘッドが生じやすい。このため、転送サイズが小さいバスマスタについて、時間ｔＲＡＳによるオーバーヘッドが生じないようにすれば、転送効率を向上し得る。また、第１実施形態においては、一部にマスクが必要となるようなコマンドが通常のライトコマンドＷＲとマスクトライトコマンドＭＷＲとに分割され、分割により得られたコマンドが入れ替えられる。しかし、分割により得られたマスクトライトコマンドＭＷＲに応じたデータ転送のサイズは例えば３２バイトと小さい。マスクを要する箇所が多数存在する場合には、マスクトライトコマンドＭＷＲの占める比率が高くなるため、コマンドの処理の順番を入れ替えることによってオーバーヘッドを低減し得る可能性が低下し、転送効率の低下を抑制し得ない。そこで、本実施形態では、コマンドキュー１１４の状況に応じて調停の制御を切り替えることによって、オーバーヘッドを回避し得る。
【０１００】
図５は、本実施形態による画像処理装置５００を示すブロック図である。
評価値処理手段５０１は、色変換前の画像データと色変換後の画像データとを、メモリコントローラ１０４を介してＳＤＲＡＭ１０５から取得する。そして、評価値処理手段５０１は、予め設定された画像領域単位で色情報を分析することによって評価値を生成し、生成した評価値を、メモリコントローラ１０４を介してＳＤＲＡＭ１０５に供給する。
【０１０１】
コマンドキュー１１４は、通常キュー５０２と、ＭＷＲキュー（所定コマンド保持手段）５０３とを有する。通常キュー５０２には、データを書き込む際にデータのマスクが必要とされない通常のライトコマンドＷＲが格納される。また、通常キュー５０２には、リードコマンドＲＤも格納され得る。ＭＷＲキュー５０３には、マスクトライトコマンドＭＷＲが格納される。
【０１０２】
リオーダー制御手段１１５は、転送効率を向上し得るように、通常キュー５０２及びＭＷＲキュー５０３に記録されているコマンドの処理の順番の入れ替えを行う。
【０１０３】
コマンドキュー１１４から供給される情報は、調停手段１１２に供給される。調停手段１１２は、予め設定されている優先度情報と、コマンドキュー１１４から供給される情報と、バスマスタからの転送要求とに基づいて調停を行う。
【０１０４】
画像処理装置５００に備えられているバスマスタのうちの画像処理手段１０２及び表示制御手段１０７は、行単位での画像データの読み出しや書き込みをＳＤＲＡＭ１０５に対して行う必要があるため、処理周期が短い。このため、調停手段１１２において待機可能な時間のマージンが小さい。このため、画像処理手段１０２や表示制御手段１０７に対しては、調停における優先度は比較的高く設定される。また、ＣＰＵ１１１からＳＤＲＡＭ１０５に対してのアクセスレイテンシが長くなると、処理性能の低下を招く。このため、ＣＰＵ１１１に対しては、調停における優先度は比較的高く設定される。
【０１０５】
一方、画像処理手段１０２、表示制御手段１０７及びＣＰＵ１１１以外のバスマスタに対しては、調停における優先度は比較的低く設定される。これらのバスマスタは、ＳＤＲＡＭ１０５から１枚の画像データの読み出しを行った後に、ＳＤＲＡＭ１０５に対して１枚の画像データを書き込む。即ち、これらのバスマスタは、行単位で処理を完了させることを要するわけではなく、１フレームの画像単位で処理を完了すればよい。このため、これらのバスマスタは、調停における優先度は比較的低く設定される。これらのバスマスタ間においては、アクセス回数が多いほど、調停における優先度が高く設定される。
【０１０６】
このため、調停における優先度は、例えば以下のように設定される。
（画像処理手段１０２、表示制御手段１０７、ＣＰＵ１１１）＞（現像処理手段１０６、符号化手段１０９）＞評価値処理手段５０１
【０１０７】
図６は、本実施形態による画像処理装置５００の動作を示すフローチャートである。図６には、画像処理装置５００に備えられた調停手段１１２によって行われる処理が示されている。
【０１０８】
ＭＷＲキュー５０３に格納されているマスクトライトコマンドＭＷＲの数が予め設定された閾値以上であるか否かが判定される（ステップＳ６０１）。ＭＷＲキュー５０３に格納されているマスクトライトコマンドＭＷＲの数が閾値未満である場合には（ステップＳ６０１においてＮＯ）、ステップＳ６０２に遷移する。一方、ＭＷＲキュー５０３に格納されているマスクトライトコマンドＭＷＲの数が閾値以上である場合には（ステップＳ６０１においてＹＥＳ）、ステップＳ６０３に遷移する。
【０１０９】
ステップＳ６０２においては、通常の優先度に基づいてアクセス要求が選択される。即ち、予め設定されているバスマスタの優先度に基づいて、最も優先度が高いバスマスタによるアクセス要求が選択され、選択されたアクセス要求がコマンド分割手段１１３に供給される。
【０１１０】
ステップＳ６０３においては、オーバーヘッドを回避し得るようなライトアクセス要求が存在しているか否かが判定される。オーバーヘッドを回避し得るライトアクセス要求が存在している場合には（ステップＳ６０３においてＹＥＳ）、ステップＳ６０４に遷移する。オーバーヘッドを回避し得るライトアクセス要求が存在していない場合には（ステップＳ６０３においてＮＯ）、ステップＳ６０５に遷移する。
【０１１１】
ステップＳ６０４においては、オーバーヘッドを回避し得るようなライトアクセス要求のうちから、最も優先度が高いライトアクセス要求が選択される。
【０１１２】
ステップＳ６０５においては、ＭＷＲキュー５０３に格納されているマスクトライトコマンドＭＷＲにおけるバンクアドレスと異なるバンクアドレスに対するライトアクセス要求が存在するか否かが判定される。ＭＷＲキュー５０３に格納されているマスクトライトコマンドＭＷＲにおけるバンクアドレスと異なるバンクアドレスに対するライトアクセス要求が存在する場合には（ステップＳ６０５においてＹＥＳ）、ステップＳ６０６に遷移する。一方、ＭＷＲキュー５０３に格納されているマスクトライトコマンドＭＷＲにおけるバンクアドレスと異なるバンクアドレスに対するライトアクセス要求が存在しない場合には（ステップＳ６０５においてＮＯ）、ステップＳ６０２に遷移する。
【０１１３】
ステップＳ６０６においては、ＭＷＲキュー５０３に格納されているマスクトライトコマンドＭＷＲにおけるバンクアドレスと異なるバンクアドレスに対するライトアクセスのうちの最も優先度が高いライトアクセス要求が選択される。
こうして、図６に示す処理が完了する。
【０１１４】
図７は、コマンドキュー１１４の状態の例を示す図である。ナンバー（ＮＯ）が１〜４のコマンドは、通常キュー５０２内に格納されている。ナンバーがＭＷＲ１〜ＭＷＲ４のコマンドは、ＭＷＲキュー５０３に格納されている。図７（ａ）には、通常キュー５０２に空きが生じている場合の例が示されている。図７（ａ）に示す例においては、ＭＷＲキュー５０３内に空きが１つしか存在していないため、２箇所以上でデータのマスクが必要な場合には、ＭＷＲキュー５０３内にマスクトライトコマンドＭＷＲを格納しきれなくなる。ＭＷＲキュー５０３内にマスクトライトコマンドＭＷＲを格納しきれない場合には、マスクトライトコマンドＭＷＲのオーバーヘッドを回避し得ないため、転送効率の低下を招きかねない。図７（ｂ）は、オーバーヘッドを回避し得るようなライトコマンドＷＲが存在する場合の例を示している。図８は、本実施形態による画像処理装置１００の動作の例を示すタイミングチャートである。コマンドキュー１１４に格納されているコマンドが図７（ｂ）に示すようになっている場合には、図８（ａ）に示すような動作が実行される。
【０１１５】
タイミングＴ８０１においては、アクティブコマンドＡＣＴが発行される。この際、バンクアドレスは１とされ、ロウアドレスは０とされる。これにより、ＩＤ１のコマンドに応じたデータ転送が行われるページがオープンされる。
【０１１６】
タイミングＴ８０１から時間ｔＲＣＤが経過した後のタイミングＴ８０２において、リードコマンドＲＤが発行される。この際、バンクアドレスは１とされ、カラムアドレスは０とされる。
【０１１７】
タイミングＴ８０３においては、リードコマンドＲＤが発行される。この際、バンクアドレスは１とされ、カラムアドレスは３２とされる。
【０１１８】
タイミングＴ８０２から時間ＲＬが経過した後のタイミングＴ８０４において、ＩＤ１のコマンドに応じたデータ転送が開始される。
【０１１９】
ＩＤ１のコマンドに応じたデータ転送が終了するタイミングＴ８０５において、ＩＤ２のコマンドに応じたデータ転送が開始される。このように、ＩＤ１のコマンドに応じた読み出しと、ＩＤ２のコマンドに応じた読み出しとは、同一バンク・同一ページへの連続して読み出しである。
【０１２０】
ＩＤ２のコマンドはリードコマンドＲＤであるのに対し、ＩＤ３のコマンドはライトコマンドＷＲである。また、ＩＤ２のコマンドに応じた読み出しが行われるバンクアドレスは、ＩＤ３のコマンドに応じた書き込みが行われるバンクアドレスと異なる。リードからライトへの切り替えの際には所定の時間を空ける必要がある。ここでは、説明を簡単にするため、時間ｔＲＣＤと時間ＷＬとの合計が、リードからライトへの切り替えの際に空けることを要する時間と同等であるものとして説明する。
【０１２１】
ＩＤ２のコマンドに応じたデータ転送が終了するタイミングＴ８０６において、アクティブコマンドＡＣＴが発行される。この際、バンクアドレスは０とされ、ロウアドレスは０とされる。これにより、ＩＤ３のコマンドに応じたデータ転送が行われるページがオープンされる。
【０１２２】
タイミングＴ８０６から時間ｔＲＣＤが経過した後のタイミングＴ８０７において、ライトコマンドＷＲが発行される。この際、バンクアドレスは０とされ、カラムアドレスは０とされる。
【０１２３】
タイミングＴ８０７から時間ＷＬが経過したタイミングＴ８０８において、ＩＤ３のコマンドに応じたデータ転送が開始される。
【０１２４】
ＩＤ３のコマンドに応じて転送されるデータのサイズは１２８バイトである。このため、タイミングＴ８０９〜Ｔ８１１においては、残りの９６バイト分のライトコマンドＷＲが発行される。即ち、タイミングＴ８０９において、ライトコマンドＷＲが発行される。この際、バンクアドレスは０とされ、カラムアドレスは１とされる。この後、タイミングＴ８１０において、ライトコマンドＷＲが発行される。この際、バンクアドレスは０とされ、カラムアドレスは２とされる。この後、タイミングＴ８１１において、ライトコマンドＷＲが発行される。この際、バンクアドレスは０とされ、カラムアドレスは３とされる。
【０１２５】
ＩＤ３のコマンドに応じた書き込みが行われるバンクアドレスと、ＩＤ７のコマンドに応じた書き込みが行われるバンクアドレスとは異なっている。このため、タイミングＴ８１２において、アクティブコマンドＡＣＴが発行される。この際、バンクアドレスは２とされ、ロウアドレスは０とされる。これにより、ＩＤ７のコマンドに応じたデータ転送が行われるページがオープンされる。
【０１２６】
タイミングＴ８１２から時間ｔＲＣＤが経過した後のタイミングＴ８１３において、ライトコマンドＷＲが発行される。この際、バンクアドレスは２とされ、カラムアドレスは０とされる。
【０１２７】
タイミングＴ８１３から時間ＷＬが経過したタイミングＴ８１４において、ＩＤ３のコマンドに応じたデータ転送が終了し、ＩＤ７のコマンドに応じたデータ転送が開始される。
【０１２８】
タイミングＴ８１４は、アクティブコマンドＡＣＴが発行されたタイミングＴ８０６から時間ｔＲＡＳが経過した後のタイミングよりも後のタイミングである。従って、タイミングＴ８１５においては、ページをクローズすることが可能である。従って、タイミングＴ８０４においては、プレチャージコマンドＰＲＥが発行される。この際、バンクアドレスは０とされ、バンクアドレスは０とされる。これにより、バンク０がクローズされる。
【０１２９】
ＩＤ７のコマンドに応じて転送されるデータのサイズは１２８バイトである。このため、タイミングＴ８１６〜Ｔ８１８においては、残りの９６バイト分のライトコマンドＷＲが発行される。即ち、タイミングＴ８１６において、ライトコマンドＷＲが発行される。この際、バンクアドレスは２とされ、カラムアドレスは１とされる。この後、タイミングＴ８１７において、ライトコマンドＷＲが発行される。この際、バンクアドレスは２とされ、カラムアドレスは２とされる。この後、タイミングＴ８１８において、ライトコマンドＷＲが発行される。この際、バンクアドレスは２とされ、カラムアドレスは３とされる。
【０１３０】
タイミングＴ８１９においては、アクティブコマンドＡＣＴが発行される。この際、バンクアドレスは０とされ、ロウアドレスは１とされる。
【０１３１】
タイミングＴ８１９から時間ｔＲＣＤが経過した後のタイミングＴ８２０において、マスクトライトコマンドＭＷＲが発行される。この際、バンクアドレスは０とされ、カラムアドレスは０とされる。これにより、ＩＤ４のコマンドに応じたデータ転送が行われるページがオープンされる。タイミングＴ８２０においてマスクトライトコマンドＭＷＲを発行し得るのは、バンクアドレスが０であるライトコマンドが発行されたタイミングＴ８１１からタイミングＴ８２０までの経過時間が時間ｔＣＣＤＭＷ以上であるためである。
【０１３２】
タイミングＴ８２０から時間ＷＬが経過したタイミングＴ８２１において、ＩＤ７のコマンドに応じたデータ転送が終了し、ＩＤ４のコマンドに応じたデータ転送が行われる。
タイミングＴ８２２において、ＩＤ４のコマンドに応じたデータの転送が完了する。
【０１３３】
図８（ａ）に示す例においては、タイミングＴ８０８〜Ｔ８２２においてデータ転送が連続的に実行されるとともに、ＩＤ４のコマンドに応じたマスクトライトコマンドＭＷＲが実行される際にもオーバーヘッドが回避される。
【０１３４】
図７（ｃ）は、オーバーヘッドを回避し得るようなライトコマンドＷＲが存在していない場合の例を示している。コマンドキュー１１４に格納されているコマンドが図７（ｃ）に示すようになっている場合には、図８（ｂ）に示すような動作が実行される。
図７（ｃ）に示す例においては、ＩＤ７のコマンドにおける転送サイズが３２バイトと小さいため、マスクトライトコマンドＭＷＲのオーバーヘッドを完全には回避し得ない。
【０１３５】
タイミングＴ８３１〜Ｔ８４５の動作は、図８（ａ）におけるタイミングＴ８０１〜Ｔ８１５の動作と同様であるため、説明を省略する。
【０１３６】
タイミングＴ８４５から時間ｔＲＰが経過したタイミングＴ８４６において、ＩＤ７のコマンドに応じたデータ転送が終了するとともに、アクティブコマンドＡＣＴが発行される。この際、バンクアドレスは０とされ、ロウアドレスは１とされる。これにより、ＩＤ４のコマンドに応じたデータ転送が行われるページがオープンされる。
【０１３７】
ＩＤ４のコマンドはマスクトライトコマンドＭＷＲである。このため、当該マスクトライトコマンドＭＷＲにおけるバンクアドレスと同一のバンクアドレスに対するライトコマンドＷＲが発行されたタイミングＴ８４１から時間ｔＣＣＤＭＷが経過しなければ、当該マスクトライトコマンドＭＷＲを発行し得ない。このため、タイミングＴ８４１から時間ｔＣＣＤＭＷが経過した後のタイミングＴ８４７において、当該マスクトライトコマンドＭＷＲが発行される。この際、バンクアドレスは０とされ、カラムアドレスは０とされる。
【０１３８】
タイミングＴ８４７から時間ＷＬが経過したタイミングＴ８４８において、ＩＤ４のコマンドに応じたデータ転送が開始される。そして、タイミングＴ８４９において、ＩＤ４のコマンドに応じたデータ転送が完了する。
【０１３９】
図８（ｂ）に示す例では、タイミングＴ８４６〜Ｔ８４８においては、マスクトライトコマンドＭＷＲを発行する際の制限である時間ｔＣＣＤＭＷにより、データ転送を行い得ない。換言すれば、図８（ｂ）に示す例においては、ＩＤ７のコマンドにおける転送サイズが比較的小さいため、マスクトライトコマンドＭＷＲのオーバーヘッドを完全には回避し得ない。しかし、図８（ｂ）に示す例は、マスクトライトコマンドＭＷＲのオーバーヘッドを全く解消し得ないわけではなく、マスクトライトコマンドＭＷＲのオーバーヘッドをある程度は抑制し得る。また、図８（ｂ）に示す例においては、時間ｔＣＣＤＭＷの少なくとも一部と時間ｔＲＡＳの少なくとも一部とが互いに重複しているため、オーバーヘッドが低減され得る。
【０１４０】
調停における優先度が比較的低いバスマスタは、ＳＤＲＡＭ１０５に対するアクセス要求が多い際においては、アクセス要求を発してから当該アクセス要求が調停手段１１２によって選択されるまでの時間が長くなりがちである。このようなバスマスタとしては、例えば、評価値処理手段５０１等が上げられる。また、このようなバスマスタから転送されるデータのサイズは、比較的小さい場合が多い。転送サイズが小さいと、時間ｔＲＡＳによるオーバーヘッドが生じる可能性が比較的高くなる。ＭＷＲキュー５０３の空きが少なくなった際に、マスクトライトコマンドＭＷＲと組み合わせてデータ転送を行うようにすれば、オーバーヘッドの発生が抑制され、転送効率が向上する。
【０１４１】
このように、本実施形態によれば、コマンドキュー１１４の状態に応じて調停手段１１２の制御が切り替えられる。このため、本実施形態においても、オーバーヘッドが低減され、転送効率を向上させ得る。
【０１４２】
［第３実施形態］
第３実施形態による画像処理装置を図９乃至図１２を用いて説明する。図１乃至図８に示す第１又は第２実施形態による画像処理装置と同一の構成要素には、同一の符号を付して説明を省略又は簡潔にする。
ＳＤＲＡＭ１０５に書き込まれている画像の一部である部分画像（矩形画像）をＳＤＲＡＭ１０５から読み出し、当該部分画像に対して所定の画像処理を施し、画像処理が施された部分画像をＳＤＲＡＭ１０５に再び書き込む場合がある。
【０１４３】
図９は、ＳＤＲＡＭ１０５のアドレス空間における画像データのマッピングの例を示す図である。
【０１４４】
図９（ａ）においては、画像を複数に分割することにより確定されるブロックが破線によって表されている。図９（ａ）に示す例においては、説明を簡略化するため、水平方向におけるブロック数は８とされ、垂直方向におけるブロック数は８とされている。各々のブロック内に示された数値は、当該ブロックの座標を示している。例えば、座標０１は、垂直方向における座標値が０であり、水平方向における座標値が１であることを示している。
【０１４５】
図９（ｂ）には、ＳＤＲＡＭ１０５のアドレス空間が示されている。図９（ｂ）の左半分のアドレス空間はバンクアドレスが０のアドレス空間であり、図９（ｂ）の右半分のアドレス空間はバンクアドレスが１のアドレス空間である。Ｂ０はバンクアドレスが０であることを意味し、Ｂ１はバンクアドレスが１であることを意味する。Ｒ０〜Ｒ７は、ロウアドレスがそれぞれ０〜７であることを意味する。Ｃ０〜Ｃ３は、カラムアドレスがそれぞれ０から３であることを意味する。ここでは、説明を簡略化するため、バンクアドレス０に４×８のブロックが割り当てられ、バンクアドレス１にも４×８のブロックが割り当てられている例が示されている。水平方向に配列された４つのブロック、即ち、４×１のブロックに対して、１つのロウアドレスが割り当てられている。４×１のブロックの各々に対して左側から順にカラムアドレスが割り当てられている。例えば、バンクアドレスが０、ロウアドレスが０、カラムアドレスが０であるブロックは、座標が００であるブロックである。また、バンクアドレスが１、ロウアドレスが７、カラムアドレスが３であるブロックは、座標が７７であるブロックである。
【０１４６】
図９（ｃ）に示す例においては、２×２のブロックに対して１つのロウアドレスが割り当てられている。１つのロウアドレスに属する２×２のブロックに対して、左上から時計回りにカラムアドレスが割り当てられている。例えば、バンクアドレスが０、ロウアドレスが０、カラムアドレスが０であるブロックは、座標が００であるブロックである。また、バンクアドレスが３であり、ロウアドレスが１であり、カラムアドレスが３であるブロックは、座標が７７であるブロックである。
【０１４７】
図９（ｄ）は、図９（ｂ）に示されたアドレス空間の一部を抜き出して示した図である。図９（ｅ）は、図９（ｃ）に示されたアドレス空間の一部を抜き出して示した図である。図９（ｄ）及び図９（ｅ）にそれぞれ示されたアドレス空間は、上述した部分画像に対応している。図９（ｄ）及び図９（ｅ）には、座標１１を起点とする４×４のブロックがそれぞれ抜き出されている。
【０１４８】
同一バンク・異ページへの連続アクセスの場合、バンクを一旦クローズし、バンクをオープンし直すことを要する。図９（ｄ）に示す例においては、例えば、座標が１１であるブロックと座標が２１であるブロックとは、同一バンク・異ページの関係にある。このため、座標１１を起点とするラスタスキャンによって部分画像の転送を行う場合、時間ｔＲＡＳによるオーバーヘッドを回避し得ない。これに対し、図９（ｅ）に示す例においては、例えば、座標が２１であるブロックと座標が３１であるブロックとは、同一バンク・同一ページの関係にある。従って、図９（ｅ）に示す例においては、オーバーヘッドを低減することが可能である。しかし、図９（ｅ）に示すような例においても、必ずしも十分にオーバーヘッドを低減し得ない。
【０１４９】
図１０は、本実施形態による画像処理装置１０００を示すブロック図である。
矩形判定手段１００１は、調停手段１１２によって選択されたバスマスタからのアクセス要求が、予め設定されている矩形領域（部分領域）に対するアクセス要求であるか否かを判定する。調停手段１１２によって選択されたバスマスタからのアクセス要求が、予め設定されている矩形領域に対するアクセス要求である場合、矩形判定手段１００１は、コマンドの分割を停止させるための信号をコマンド分割手段１１３に供給する。また、このような場合、矩形判定手段１００１は、矩形領域に対するコマンドであることを示すフラグをコマンドキュー１１４に供給する。
【０１５０】
コマンドキュー１１４は、キュー１００２と、矩形コマンド生成手段１００３とを有する。
キュー１００２は、供給されるコマンドを保持し、リオーダー制御手段１１５からの入れ替え指示に基づいてコマンドの順番を入れ替える。
矩形コマンド生成手段１００３は、矩形領域を指定したアクセス要求と、ＳＤＲＡＭ１０５のマッピング情報とに基づいて、ＳＤＲＡＭ１０５にアクセスするためのコマンドを生成する。なお、矩形領域を指定したアクセス要求は、バスマスタから供給される。
図１１は、本実施形態による画像処理装置１０００の動作を示すフローチャートである。図１１には、矩形コマンド生成手段１００３によって行われる処理が示されている。図１２は、本実施形態による画像処理装置１０００の動作を示すタイミングチャートである。
【０１５１】
ステップＳ１１０１において、矩形コマンド生成手段１００３は、入力されたコマンドが矩形領域に対するアクセス要求であるか否かを判定する。入力されたコマンドが矩形領域に対するアクセス要求でない場合には（ステップＳ１１０１においてＮＯ）、ステップＳ１１０２に遷移する。入力されたコマンドが矩形領域に対するアクセス要求である場合には（ステップＳ１１０１においてＹＥＳ）、ステップＳ１１０３に遷移する。
【０１５２】
ステップＳ１１０２においては、コマンドの発行が行われる。
ステップＳ１１０３においては、転送ライン数が閾値Ｎ以上であるか否かが判定される。閾値Ｎは、矩形領域のマッピング仕様に基づいて予め設定されている。転送ライン数が閾値Ｎ以上である場合には（ステップＳ１１０３においてＹＥＳ）、ステップＳ１１０４に遷移する。転送ライン数が閾値Ｎ未満である場合には（ステップＳ１１０３においてＮＯ）、ステップＳ１１０５に遷移する。
【０１５３】
ステップＳ１１０４においては、分割フラグに１がセットされ、転送ライン数にＮがセットされる。この後、ステップＳ１１０６に遷移する。
【０１５４】
ステップＳ１１０５においては、分割フラグに０がセットされ、矩形領域の垂直方向におけるサイズが転送ライン数にセットされる。この後、ステップＳ１１０６に遷移する。
【０１５５】
ステップＳ１１０６においては、転送サイズＭが設定されるとともに、コマンドが発行される。転送サイズＭは、矩形領域のマッピング仕様に基づいて予め設定される。この後、ステップＳ１１０７に遷移する。
【０１５６】
ステップＳ１１０７においては、転送サイズが１だけ減らされるとともに、次の転送用のコマンドが生成される。矩形領域のデータ転送をどのような順序で行うとマスクトライトコマンドＭＷＲのオーバーヘッドが最小化されるかは、矩形領域のマッピング仕様によって求められ得る。
【０１５７】
図９（ｆ）は、矩形領域の例を示す図である。図９（ｆ）に示す例においては、１×８のブロックによって矩形領域が構成されている。図１２は、図９（ｆ）に示すような矩形領域のデータ転送の例を示すタイミングチャートである。図１２（ａ）は、参考例の場合を示している。図１２（ｂ）は、本実施形態の場合を示している。
【０１５８】
図１２（ａ）に示す例においては、タイミングＴ１２０１において、アクティブコマンドＡＣＴが発行される。この際、バンクアドレスは０とされ、ロウアドレスは０とされる。これにより、座標が００であるブロックの転送が行われるページがオープンされる。
【０１５９】
タイミングＴ１２０１から時間ｔＲＣＤが経過した後のタイミングＴ１２０２において、マスクトライトコマンドＭＷＲが発行される。この際、バンクアドレスは０とされ、カラムアドレスは０とされる。
タイミングＴ１２０２から時間ＷＬが経過した後のタイミングＴ１２０３において、座標が００であるブロックのデータ転送が開始され、当該データ転送はタイミングＴ１２０４において終了する。
【０１６０】
タイミングＴ１２０２から時間ｔＣＣＤＭＷが経過した後のタイミングＴ１２０５において、マスクトライトコマンドＭＷＲが発行される。この際、バンクアドレスは０とされ、カラムアドレスは２とされる。
タイミングＴ１２０５から時間ＷＬが経過した後のタイミングＴ１２０６において、座標が１０であるブロックのデータ転送が開始され、当該データ転送がタイミングＴ１２０７において終了する。
【０１６１】
このように、参考例の場合においては、タイミングＴ１２０４〜Ｔ１２０６において、データ転送が行われないため、転送効率が低下する。
【０１６２】
図１２（ｂ）に示す例においては、タイミングＴ１２１１において、アクティブコマンドＡＣＴが発行される。この際、バンクアドレスは０とされ、ロウアドレスは０とされる。これにより、座標が００であるブロックの転送が行われるページがオープンされる。
【０１６３】
タイミングＴ１２１１から時間ｔＲＣＤが経過した後のタイミングＴ１２１２において、マスクトライトコマンドＭＷＲが発行される。この際、バンクアドレスは０とされ、カラムアドレスは０とされる。
【０１６４】
タイミングＴ１２１２から時間ＷＬが経過したタイミングＴ１２１３において、アクティブコマンドＡＣＴが発行される。この際、バンクアドレスは１とされ、ロウアドレスは０とされる。こうして、座標が２０のブロックのデータの転送が行われるページがオープンされる。タイミングＴ１２１３においては、座標が００であるブロックのデータの転送が開始される。
【０１６５】
タイミングＴ１２１３から時間ｔＲＣＤが経過した後のタイミングＴ１２１４において、マスクトライトコマンドＭＷＲが発行される。この際、バンクアドレスは１とされ、カラムアドレスは０とされる。
【０１６６】
タイミングＴ１２１４から時間ＷＬが経過したタイミングＴ１２１５において、アクティブコマンドＡＣＴが発行される。この際、バンクアドレスは４とされ、ロウアドレスは１とされる。こうして、座標が４０であるブロックのデータの転送が行われるページがオープンされる。タイミングＴ１２１５においては、座標が００であるブロックのデータの転送が終了し、座標が２０であるブロックのデータの転送が開始される。
【０１６７】
タイミングＴ１２１５から時間ｔＲＣＤが経過した後のタイミングＴ１２１６において、マスクトライトコマンドＭＷＲが発行される。この際、バンクアドレスは４とされ、カラムアドレスは０とされる。
【０１６８】
タイミングＴ１２１６から時間ＷＬが経過した後のタイミングＴ１２１７において、アクティブコマンドＡＣＴが発行される。この際、バンクアドレスは５とされ、ロウアドレスは１とされる。こうして、座標が６０であるブロックのデータの転送が行われるページがオープンされる。タイミングＴ１２１６においては、座標が２０であるブロックのデータの転送が終了し、座標が４０であるブロックのデータの転送が開始される。
【０１６９】
タイミングＴ１２１７から時間ｔＲＣＤが経過した後のタイミングＴ１２１８において、マスクトライトコマンドＭＷＲが発行される。この際、バンクアドレスは５とされ、カラムアドレスは０とされる。
【０１７０】
座標が４０であるブロックのデータの転送が終了すると、座標が６０であるデータの転送が開始される。
【０１７１】
タイミングＴ１２１２から時間ｔＣＣＤＭＷが経過した後のタイミングＴ１２１９において、マスクトライトコマンドＭＷＲが発行される。この際、バンクアドレスは０とされ、カラムアドレスは１とされる。
【０１７２】
座標が６０であるブロックのデータの転送が終了すると、座標が１０であるブロックのデータの転送が開始される。
【０１７３】
タイミングＴ１２１４から時間ｔＣＣＤＭＷが経過した後のタイミングＴ１２２０において、マスクトライトコマンドＭＷＲが発行される。この際、バンクアドレスは１とされ、カラムアドレスは１とされる。
【０１７４】
座標が１０であるブロックのデータの転送が終了すると、座標が３０であるブロックのデータの転送が開始される。
【０１７５】
タイミングＴ１２１６から時間ｔＣＣＤＭＷが経過した後のタイミングＴ１２２１において、マスクトライトコマンドＭＷＲが発行される。この際、バンクアドレスは４とされ、カラムアドレスは１とされる。
【０１７６】
座標が３０であるブロックのデータの転送が終了すると、座標が５０であるブロックのデータの転送が開始される。
【０１７７】
タイミングＴ１２１８から時間ｔＣＣＤＭＷが経過した後のタイミングＴ１２２２において、マスクトライトコマンドＭＷＲが発行される。この際、バンクアドレスは５とされ、カラムアドレスは１とされる。
【０１７８】
座標が５０であるブロックのデータの転送が終了すると、座標が７０であるブロックのデータの転送が開始される。
【０１７９】
タイミングＴ１２２３において、座標が７０であるブロックのデータの転送が終了する。
【０１８０】
このように、図１２（ｂ）に示す例においては、データ転送の順番の入れ替えが行われているため、データの転送が連続的に行われ、オーバーヘッドが回避される。
ステップＳ１１０８においては、転送ライン数が０であるか否かが判定される。転送ライン数が０でない場合には（ステップＳ１１０８においてＮＯ）、ステップＳ１１０６に戻る。転送ライン数が０である場合には（ステップＳ１１０８においてＹＥＳ）、ステップＳ１１０９に遷移する。
【０１８１】
ステップＳ１１０９においては、分割フラグが０であるか否かが判定される。分割フラグが０でない場合には（ステップＳ１１０３においてＮＯ）、ステップＳ１１０３に戻る。分割フラグが０である場合には（ステップＳ１１０３においてＹＥＳ）、図１１に示す処理が終了する。
【０１８２】
このように、本実施形態によれば、ＳＤＲＡＭ１０５のアドレス空間のマッピングの仕様に応じてコマンドの発行の順序が入れ替えられる。このため、本実施形態によれば、マスクトライトコマンドＭＷＲのオーバーヘッドが低減され、転送効率が向上される。
【０１８３】
［変形実施形態］
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【０１８４】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記録媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１８５】
１０１  撮像素子
１０２  画像処理手段
１０３  メモリバス
１０４  メモリコントローラ
１０５  ＳＤＲＡＭ
１０６  現像処理手段
１０７  表示制御手段
１０８  表示手段
１０９  符号化手段
１１０  記録媒体
１１１  ＣＰＵ
１１２  調停手段
１１３  コマンドキュー
１１４  データバッファ
１１５  リオーダー制御手段
１１６  データバッファ
５０１  評価値処理手段
５０２  通常キュー
５０３  ＭＷＲキュー
１００１  矩形判定手段
１００２  キュー
１００３  矩形コマンド生成手段
【図１】
2019185447.tif 000003
【図２】
2019185447.tif 000004
【図３】
2019185447.tif 000005
【図４−１】
2019185447.tif 000006
【図４−２】
2019185447.tif 000007
【図５】
2019185447.tif 000008
【図６】
2019185447.tif 000009
【図７】
2019185447.tif 000010
【図８】
2019185447.tif 000011
【図９−１】
2019185447.tif 000012
【図９−２】
2019185447.tif 000013
【図９−３】
2019185447.tif 000014
【図１０】
2019185447.tif 000015
【図１１】
2019185447.tif 000016
【図１２】
2019185447.tif 000017
【図１３−１】
2019185447.tif 000018
【図１３−２】
2019185447.tif 000019