(57)【要約】【課題】画像データの伝送効率を向上させ得る画像処理装置及び画像処理方法を提供する。【解決手段】画像を構成する複数のブロックの各々を順次出力する処理手段と、所定のアクセス単位でアクセスされるメモリと、複数のブロックのうちの第１のブロックの一部に対応する第１のデータに、第１のブロックに対応しない第２のデータを結合することにより得られるとともに、アクセス単位にアラインする結合データを、メモリに書き込む第１の書き込み手段とを有している。【選択図】図５
2019185446.tif 000002
【特許請求の範囲】
【請求項１】
画像を構成する複数のブロックの各々を順次出力する処理手段と、
所定のアクセス単位でアクセスされるメモリと、
前記複数のブロックのうちの第１のブロックの一部に対応する第１のデータに、前記第１のブロックに対応しない第２のデータを結合することにより得られるとともに、前記アクセス単位にアラインする結合データを、前記メモリに書き込む第１の書き込み手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記第１のデータのサイズと前記第２のデータのサイズのいずれもが前記アクセス単位のサイズより小さく、
前記結合データのサイズは、前記アクセス単位のサイズであることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第２のデータは、前記第１のブロックに隣接する第２のブロックに含まれることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記第１のブロックは、前記画像を複数の領域に分割することにより画定される複数の分割領域のうちの第１の分割領域に含まれている第１のラインであり、
前記第２のブロックは、前記第１の分割領域に隣接する第２の分割領域に含まれている第２のラインであることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記第２のデータは、ダミーデータであることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項６】
前記ダミーデータは、他のデータと区別が可能なデータであることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記メモリに書き込まれた前記画像を読み出す読み出し手段を更に有し、
前記読み出し手段は、前記メモリから読み出された前記結合データから前記ダミーデータを除去することを特徴とする請求項５又は６に記載の画像処理装置。
【請求項８】
前記メモリの容量に所定値以上の余裕がある場合に、前記第１のデータに前記第２のデータを結合することを特徴とする請求項５から７のいずれか１項に記載の画像処理装置。
【請求項９】
前記メモリに前記画像を書き込む際に用いられるバスラインの帯域使用率が所定値以上である場合に、前記第１のデータに前記第２のデータを結合することを特徴とする請求項５から８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記第１の書き込み手段と異なる第２の書き込み手段を更に有し、
前記第２の書き込み手段によって前記第１のデータに前記第２のデータが結合されることを特徴とする請求項１から９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記第１のブロックのサイズが所定値未満である場合に、前記第１のデータに前記第２のデータが結合されることを特徴とする請求項１から１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記画像の分割数が所定値以上である場合に、前記第１のデータに前記第２のデータが結合されることを特徴とする請求項１から１１のいずれか１項に記載の画像処理装置。
【請求項１３】
前記メモリは、ＬＰＤＤＲ４規格に準拠していることを特徴とする請求項１乃至１２のいずれか１項に記載の画像処理装置。
【請求項１４】
画像を構成する複数のブロックの各々を順次出力するステップと、
前記複数のブロックのうちの第１のブロックの一部に対応する第１のデータに、前記第１のブロックに対応しない第２のデータを結合することにより得られるとともに、メモリのアクセス単位にアラインする結合データを生成するステップと、
前記メモリに前記結合データを書き込むステップと
を有することを特徴とする画像処理方法。
【請求項１５】
コンピュータに、
画像を構成する複数のブロックの各々を順次出力するステップと、
前記複数のブロックのうちの第１のブロックの一部に対応する第１のデータに、前記第１のブロックに対応しない第２のデータを結合することにより得られるとともに、メモリのアクセス単位にアラインする結合データを生成するステップと、
前記メモリに前記結合データを書き込むステップとを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
デジタルカメラ等の画像処理装置においては、画素補間、ホワイトバランス、シャープネス、ノイズ低減、縮小／拡大等の各種画像処理が行われる。これらの画像処理においては、ワークエリアとして機能し得るＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメモリに画像データが一時的に格納される。
【０００３】
特許文献１には、ＤＲＡＭの複数のページの境界を横断するアクセスが発生しても、ページミスによるアクセスのオーバーヘッドの増大を軽減し得る画像処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−４３１９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、メモリのアクセス単位にアラインしないサイズの画像データをメモリに書き込む際に、書き込み速度の低下が生じる場合がある。
【０００６】
本発明の目的は、メモリの書き込み速度の低下を抑制し得る画像処理装置及び画像処理方法を提供することにある。
【課題を解決するための手段】
【０００７】
実施形態の一観点によれば、画像を構成する複数のブロックの各々を順次出力する処理手段と、所定のアクセス単位でアクセスされるメモリと、前記複数のブロックのうちの第１のブロックの一部に対応する第１のデータに、前記第１のブロックに対応しない第２のデータを結合することにより得られるとともに、前記アクセス単位にアラインする結合データを、前記メモリに書き込む第１の書き込み手段とを有することを特徴とする画像処理装置が提供される。
【発明の効果】
【０００８】
本発明によれば、メモリの書き込み速度の低下を抑制し得る画像処理装置及び画像処理方法を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態による画像処理装置を示すブロック図である。
【図２】第１実施形態による画像処理装置のデータ転送部に備えられたＷＲＤＭＡＣを示すブロック図である。
【図３】第１実施形態による画像処理装置のＷＲＤＭＡＣに備えられたＳＲＡＭのデータ格納領域の構成の例を示す図である。
【図４Ａ】第１実施形態による画像処理装置の動作を示すタイミングチャートである。
【図４Ｂ】第１実施形態による画像処理装置の動作を示すタイミングチャートである。
【図５】１フレームの画像に対応する仮想的なアドレス空間を示す図である。
【図６】第２実施形態による画像処理装置のデータ転送部に備えられたＷＲＤＭＡＣを示すブロック図である。
【図７】第２実施形態による画像処理装置のＷＲＤＭＡＣにそれぞれ備えられたＳＲＡＭのデータ格納領域の構成の例を示す図である。
【図８】第３実施形態による画像処理装置の動作の例を示すフローチャートである。
【図９】第４実施形態による画像処理装置のＷＲＤＭＡＣに備えられたＳＲＡＭのデータ格納領域の構成の例を示す図である。
【図１０Ａ】第４実施形態による画像処理装置の動作を示すタイミングチャートである。
【図１０Ｂ】第４実施形態による画像処理装置の動作を示すタイミングチャートである。
【図１１】１フレームの画像に対応する仮想的なアドレス空間を示す図である。
【図１２】第５実施形態による画像処理装置のデータ転送部に備えられたＲＤＤＭＡＣを示すブロック図である。
【図１３】データをＤＲＡＭに書き込む際のブロック分割と、ＤＲＡＭに書き込まれたデータを読み出す際のブロック分割とを概念的に示す図である。
【図１４】第５実施形態による画像処理装置の動作を示すフローチャートである。
【図１５】第６実施形態による画像処理装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の実施形態を説明する。ただし、本発明は以下の実施形態に限定されるものではない。
【００１１】
［第１実施形態］
第１実施形態による画像処理装置及び画像処理方法について図１乃至図５を用いて説明する。
【００１２】
図１は、本実施形態による画像処理装置を示すブロック図である。本実施形態では、画像処理装置１００がデジタルカメラである場合を例として説明するが、これに限定されるものではない。
【００１３】
画像処理装置１００は、撮像素子１０２と、Ａ／Ｄ変換部１０３と、画像処理部１０４と、データ転送部１０５と、メモリ制御部１０６と、ＤＲＡＭ１０７とを有する。画像処理装置１００は、不揮発性メモリ制御部１０８と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０９と、表示制御部１１０と、表示部１１１とを更に有する。画像処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１２と、操作部１１３と、システムバス（バスライン）１１４と、メモリバス（バスライン）１１５とを更に有する。画像処理装置１００には、撮像光学系１０１が備えられる。撮像光学系は、画像処理装置１００のボディから着脱可能であってもよいし着脱不能であってもよい。
【００１４】
撮像光学系（結像光学部）１０１は、レンズ、絞り等を備える。撮像光学系１０１は、撮影の際に、フォーカス調節、露出調節等を行う。撮像光学系１０１は、撮像素子１０２の撮像面に被写体の光学像を結像する。
【００１５】
撮像素子（固体撮像素子）１０２は、光学像を電気信号（アナログの画像信号）に変換する光電変換機能を有する。撮像素子１０２は、例えばＣＣＤイメージセンサ、ＣＭＯＳセンサ等によって構成される。
【００１６】
Ａ／Ｄ変換部１０３は、撮像素子１０２から出力されるアナログの画像信号をデジタルの画像信号に変換する。なお、ここでは、Ａ／Ｄ変換部１０３が撮像素子１０２と別個に設けられている場合を例に説明するが、これに限定されるものではない。Ａ／Ｄ変換部１０３が撮像素子１０２に備えられていてもよい。例えば、Ａ／Ｄ変換部１０３は、４Ｋ解像度の画像を示すデジタル画像信号を出力するものとする。
【００１７】
ＣＰＵ１１２は、画像処理装置１００の全体の制御を司る。ＣＰＵ１１２は、マイクロコンピュータ等を備える。ＣＰＵ１１２は、画像処理装置１００に備えられた各機能ブロックを制御する。ＣＰＵ１１２は、システムバス１１４を介して各機能ブロックを制御する。システムバス１１４と別個に設けられたメモリバス１１５を介して、画像データの転送等が行われる。
【００１８】
ＤＲＡＭ（揮発性メモリ）１０７は、データ等が一時的に格納される記憶媒体（メモリ）である。例えば、静止画像、動画像、音声データ、ＣＰＵ１１２を動作させるための定数、ＣＰＵ１１２を動作させるためのプログラム等がＤＲＡＭ１０７に格納される。ＤＲＡＭ１０７は、これらを格納するのに十分な記憶容量を備える。ＤＲＡＭ１０７は、所定のアクセス単位でアクセスされる。ＤＲＡＭ１０７におけるバーストアクセス単位（アクセス単位、メモリアクセス単位）は、例えば３２バイトである。ＤＲＡＭ１０７は、例えば、ＬＰＤＤＲ４（Ｌｏｗ  Ｐｏｗｅｒ  Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ４）規格に準拠したＤＲＡＭであるものとする。バーストアクセス単位にアラインしないサイズのデータをＬＰＤＤＲ４規格のＤＲＡＭに書き込む際には、Ｍａｓｋｅｄ  Ｗｒｉｔｅコマンドを発行することを要する。Ｍａｓｋｅｄ  Ｗｒｉｔｅコマンドが発行された場合には、Ｒｅａｄ  Ｍｏｄｉｆｙ  Ｗｒｉｔｅの動作が行われる。Ｒｅａｄ  Ｍｏｄｉｆｙ  Ｗｒｉｔｅの動作が実行されている間は、他のコマンドを処理することができない。したがって、バーストアクセス単位にアラインしないサイズのデータを含むデータをＤＲＡＭ１０７に書き込むためには、長時間を要する。メモリ制御部１０６は、ＣＰＵ１１２又はデータ転送部１０５からの指示に基づいて、ＤＲＡＭ１０７に対するデータの書き込み及び読み出しを行う。メモリ制御部１０６は、ＤＲＡＭ１０７に対して、データの書き込み及び読み出しのためのコマンドを発行する。なお、本実施形態では、ＬＰＤＤＲ４規格のＤＲＡＭ１０７を用いる場合を例に説明するが、これに限定されるものではない。高速で書き込みや読み出しを行い得るメモリを適宜用い得る。
【００１９】
不揮発性メモリ制御部１０８は、ＣＰＵ１１２からの指示に基づいて、ＲＯＭ（不揮発性メモリ）１０９に対してデータの読み出しを行う。ＲＯＭ１０９としては、例えばＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）等が用いられる。ＲＯＭ１０９には、ＣＰＵ１１２を動作させるための定数、ＣＰＵ１１２を動作させるためのプログラム等が記憶される。
【００２０】
ＣＰＵ１１２は、システムバス１１４を介して、画像処理部１０４、データ転送部１０５、メモリ制御部１０６、不揮発性メモリ制御部１０８、表示制御部１１０、操作部１１３、撮像素子１０２等を制御する。ＲＯＭ１０９に記録されたプログラムがＣＰＵ１１２によって実行されることにより、本実施形態による画像処理装置１００によって様々な処理が行われる。
【００２１】
表示部１１１は、例えば液晶表示装置（液晶モニタ）等を備える。表示部１１１は、表示制御部１１０により制御される。各種の画像データ等が表示部１１１に表示される。操作部１１３は、ユーザによって操作されるスイッチ、ボタン等を含む。電源のＯＮ／ＯＦＦ、シャッタのＯＮ／ＯＦＦ等が、操作部１１３が操作されることによって行われる。
【００２２】
画像処理部１０４は、各種画像処理を行うモジュール（画像処理モジュール）と、バッファメモリとを備える。データ転送部１０５は、データ転送を行う複数のＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）を備えている。
【００２３】
図２は、本実施形態による画像処理装置１００のデータ転送部１０５に備えられたＷＲＤＭＡＣ２０２を示すブロック図である。図２には、画像処理部１０４に備えられたモジュール２０１と、データ転送部１０５に備えられたＷＲＤＭＡＣ２０２と、メモリバス１１５とが示されている。図３は、本実施形態による画像処理装置１００のＷＲＤＭＡＣ２０２に備えられたＳＲＡＭ２０７のデータ格納領域の構成の例を示す図である。
【００２４】
モジュールＡ（ＭＯＤＵＬＥ  Ａ）、即ち、モジュール２０１は、所定の画像処理を行う。モジュール２０１とＷＲＤＭＡＣ２０２とは、信号線ＤＡＴＡ＿Ａ、ＶＡＬＩＤ＿Ａ、ＳＴＯＰ＿Ａによって接続されている。モジュール２０１によって所定の処理が施されたデータは、信号線ＤＡＴＡ＿Ａを介してＷＲＤＭＡＣ２０２に伝送される。有効データ出力期間である場合にのみ、モジュール２０１からＷＲＤＭＡＣ２０２に供給される信号ＶＡＬＩＤ＿ＡがＨｉｇｈレベルとなる。ＷＲＤＭＡＣ２０２が何らかの要因によってＢＵＳＹ状態となり、ＷＲＤＭＡＣ２０２がデータを受け付け得ない状態である場合には、ＷＲＤＭＡＣ２０２からモジュール２０１に供給されるＳＴＯＰ＿Ａ信号がＨｉｇｈレベルとなる。ＳＴＯＰ＿Ａ信号がＨｉｇｈレベルになると、モジュール２０１からＷＲＤＭＡＣ２０２へのデータの伝送が停止される。モジュール２０１は、画像を構成する複数のブロックの各々を順次出力する処理手段として機能し得る。
【００２５】
ＷＲＤＭＡＣ（ＷＲＤＭＡＣ＿０）２０２には、アドレス演算部２０３、書き込み制御部２０４、ＳＲＡＭ２０７、読み出し制御部２０８、バスＩ／Ｆ部２０９が備えられている。
【００２６】
アドレス演算部２０３は、ＤＲＡＭ１０７に対するデータの書き込み等を行う際のアドレス値を演算する。また、アドレス演算部２０３は、ＤＲＡＭ１０７に画像データを書き込む際の先頭アドレス、即ち、スタートアドレスを管理・制御する。アドレス演算部２０３は、アドレスのインクリメントを行い得る。アドレス演算部２０３は、データ転送長等の管理・制御を行う。データ転送長の制御においては、１回のアドレス指定によって連続してアクセス可能なワード数に対応するように転送バースト長が設定される。なお、ここでは、１ワードが３２バイト、即ち、２５６ビット（ｂｉｔ）である場合を例に説明するが、これに限定されるものではない。また、ここでは、転送バースト長は、例えば３２、６４又は１２８に設定し得る。なお、転送バースト長はこれらに限定されるものではない。また、アドレス演算部２０３は、オフセット値を加算することによってアドレス値を更新することもできる。
【００２７】
書き込み制御部２０４は、モジュール（ＭＯＤＵＬＥ  Ａ）２０１から受信したデータをＳＲＡＭ２０７に書き込むための制御を行う。ＳＲＡＭ２０７は、メモリバンク２０７ａと、メモリバンク２０７ｂと、端数データ格納用領域２０７ｃ（図３参照）とを備えている。例えば、例えば、メモリバンク２０７ａ、即ち、ＢＡＮＫ０へのデータの書き込みが行われている際、メモリバンク２０７ｂ、即ち、ＢＡＮＫ１からデータの読み出しを行うことが可能である。メモリバンク２０７ａ、即ち、ＢＡＮＫ０からデータの読み出しが行われている際、メモリバンク２０７ｂ、即ち、ＢＡＮＫ１へのデータの書き込みを行うことが可能である。
【００２８】
書き込み制御部２０４とＳＲＡＭ２０７とは、信号線ＷＲ＿ＡＤＤＲ＿０、ＷＥＮ＿０、ＤＩＮ＿０によって接続されている。書き込み制御部２０４は、信号線ＷＲ＿ＡＤＤＲ＿０を介して書き込みアドレスをＳＲＡＭ２０７に供給する。書き込み制御部２０４は、信号線ＤＩＮ＿０を介してデータをＳＲＡＭ２０７に供給する。書き込み制御部２０４は、信号線ＷＥＮ＿０を介して書き込みイネーブル信号をＳＲＡＭ２０７に供給する。書き込みイネーブル信号ＷＥＮ＿０がＨｉｇｈレベルの際、書き込み制御部２０４から供給されるデータがＳＲＡＭ２０７に書き込まれる。
【００２９】
読み出し制御部２０８は、ＳＲＡＭ２０７からデータを読み出し、読み出したデータをバスＩ／Ｆ部２０９に供給する。読み出し制御部２０８とＳＲＡＭ２０７とは、信号線ＲＤ＿ＡＤＤＲ＿０、ＲＥＮ＿０、ＤＯＵＴ＿０によって接続されている。読み出し制御部２０８は、信号線ＲＤ＿ＡＤＤＲ＿０を介して読み出しアドレスをＳＲＡＭ２０７に供給する。読み出し制御部２０８は、信号線ＤＯＵＴ＿０を介してデータをＳＲＡＭ２０７から読み出す。信号ＲＥＮ＿０がＨｉｇｈレベルの際、ＳＲＡＭ２０７から出力されるデータが読み出し制御部２０８によって読み出される。
【００３０】
バスＩ／Ｆ部２０９は、メモリバス１１５を介して各機能ブロックとの間で信号の授受を行うためのインターフェースである。バスＩ／Ｆ部２０９とアドレス演算部２０３とは、信号線ＭＥＭ＿ＡＤＤＲ＿０を介して接続されている。ＤＲＡＭ１０７に対して書き込みを開始する際のアドレスである書き込み開始アドレスが、アドレス演算部２０３からバスＩ／Ｆ部２０９に信号線ＭＥＭ＿ＡＤＤＲ＿０を介して供給される。また、転送バースト長を示す情報が、アドレス演算部２０３からバスＩ／Ｆ部２０９に信号線ＭＥＭ＿ＡＤＤＲ＿０を介して供給される。
【００３１】
ＤＲＡＭ１０７に対するデータの書き込みは以下のようにして行われる。即ち、モジュール（ＭＯＤＵＬＥ  Ａ）２０１からＷＲＤＭＡＣ（ＷＲＤＭＡＣ＿０）２０２に対してデータが供給される。アドレス演算部２０３は、ＤＲＡＭ１０７に対して書き込みを開始する際のアドレスである書き込み開始アドレスと、転送バースト長を示す情報とを、信号線ＭＥＭ＿ＡＤＤＲ＿０を介してバスＩ／Ｆ部２０９に供給する。書き込み制御部２０４は、モジュール２０１から供給されたデータをＳＲＡＭ２０７に書き込む。ＳＲＡＭ２０７のメモリバンク２０７ａ、即ち、ＢＡＮＫ０に対する書き込みが完了すると、バスＩ／Ｆ部２０９は、データの転送の許可を要求するための信号であるリクエスト信号ＲＥＱ＿０を、メモリバス１１５を介して伝送する。また、バスＩ／Ｆ部２０９は、書き込み開始アドレスと、転送バースト長を示す情報とを、メモリバス１１５を介して伝送する。ＤＲＡＭ１０７が書き込み可能な状態になると、書き込みを許可することを示すＨｉｇｈレベルの許可信号ＡＣＫ＿０がメモリバス１１５を介してバスＩ／Ｆ部２０９に供給される。読み出し制御部２０８は、ＳＲＡＭ２０７のメモリバンク２０７ａ、即ち、ＢＡＮＫ０から信号線ＤＯＵＴ＿０を介してデータを読み出し、読み出したデータを信号線ＷＤＡＴＡ＿０及びメモリバス１１５を介して伝送する。ＳＲＡＭ２０７のメモリバンク２０７ａからのデータの読み出しと並行して、ＳＲＡＭ２０７のメモリバンク２０７ｂへのデータの書き込みが行われる。メモリバンク２０７ａとメモリバンク２０７ｂとに対する書き込み及び読み出しが交互に継続的に行われることによって、モジュール２０１から供給されるデータ（画像データ）がメモリバス１１５を介してＤＲＡＭ１０７に書き込まれる。
【００３２】
ＷＲＤＭＡＣ２０２は、ＤＲＡＭ１０７のアクセス単位にアラインする結合データをメモリに書き込む書き込み手段として機能し得る。結合データは、例えば、複数のブロックのうちの第１のブロックの一部に対応する第１のデータに、第１のブロックに対応しない第２のデータを結合することにより得られる。
【００３３】
図５は、１フレームの画像に対応する仮想的なアドレス空間を示す図である。図５に示すように、１フレームの画像データを水平方向に４分割するとともに垂直方向に３分割することによって矩形の分割ブロック（分割領域）５０１ａ〜５０１ｌが画定されている。モジュール２０１からＷＲＤＭＡＣ２０２へは、分割ブロック５０１ａ〜５０１ｌを単位とするデータの伝送が実行される。また、ＷＲＤＭＡＣ２０２からＤＲＡＭ１０７へも、分割ブロック５０１ａ〜５０１ｌを単位とするデータの伝送が実行される。なお、本明細書においては、個々の分割ブロックについて説明する際には、符号５０１ａ〜５０１ｌを用い、分割ブロック一般について説明する際には、符号５０１を用いることとする。各々の分割ブロック５０１は、複数のライン（ブロック）５０３が含まれている。図５における矢印は、アクセスの順序を概念的に示している。なお、１フレームの画像の左上端の画素のデータが書き込まれるアドレスが、当該画像データが書き込まれるアドレス領域の先頭のアドレスとなる。当該画像データの先頭が書き込まれるアドレスは、例えばＤＲＡＭ１０７の０ｘ１０００番地とする。当該画像の第１番目のラインから最終のラインまでが連続したアドレスに順次書き込まれる。当該画像の第ｎ番目のラインの最後尾に位置する画素のデータが書き込まれるアドレスの次のアドレスには、当該画像の第ｎ＋１番目のラインの先頭に位置する画素のデータが書き込まれる。当該画像の右下端に位置する画素のデータが書き込まれるアドレスが、当該画像データが書き込まれるアドレス領域の最後尾のアドレスとなる。
【００３４】
まず、図５の左上に位置する分割ブロック５０１ａの画像データが伝送される。分割ブロック５０１ａの画像データの伝送が完了した後には、分割ブロック５０１ａの右側に位置する分割ブロック５０１ｂの画像データの伝送が行われる。分割ブロック５０１ｂの画像データの伝送が完了した後には、分割ブロック５０１ｂの右側に位置する分割ブロック５０１ｃの画像データの伝送が行われる。分割ブロック５０１ｃの画像データの伝送が完了した後には、分割ブロック５０１ｃの右側に位置する分割ブロック５０１ｄの画像データの伝送が行われる。このように、第１番目のブロックライン５０２ａに位置する分割ブロック５０１ａ〜５０１ｄの画像データの伝送が順次行われる。第１番目のブロックライン５０２ａに位置する分割ブロック５０１ａ〜５０１ｄの画像データの伝送が完了した後には、第２番目のブロックライン５０２ｂに位置する分割ブロック５０１ｅ〜５０１ｈの画像データの伝送が順次行われる。第２番目のブロックライン５０２ｂに位置する分割ブロック５０１ｅ〜５０１ｈの画像データの伝送が完了した後には、第３番目のブロックライン５０２ｃに位置する分割ブロック５０１ｉ〜５０１ｌの画像データの伝送が順次行われる。このように、画像データの伝送は分割ブロック５０１を単位として行われる。一方、上述したように、ＤＲＡＭ１０７においては、画像の第１番目のラインから最終のラインまでが連続したアドレスに書き込まれることを要する。分割ブロック５０１の水平方向におけるデータサイズは例えば５０２バイトである。分割ブロック５０１の垂直方向におけるラインの数は例えば６４である。
【００３５】
分割ブロック５０１に含まれるラインのサイズに対応する転送バースト長で伝送が行われるため、後述するような処理が行われない場合には、以下のような事象が生じ得る。即ち、上述したように分割ブロック５０１の水平方向におけるデータサイズは例えば５０２バイトである。一方、ＤＲＡＭ１０７におけるバーストアクセス単位は、例えば３２バイトである。このため、例えば、分割ブロック５０１ａの第１番目のラインの右端において、２２バイトの端数データの書き込みアクセスが生じる。このような端数データは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインしない。ＤＲＡＭ１０７におけるバーストアクセス単位にアラインしないこのような端数データが生じた場合には、ＤＲＡＭ１０７におけるバーストアクセス単位にデータがアラインする場合と比較して、コマンドオーバーヘッドが大きくなってしまう。
【００３６】
ＳＲＡＭ２０７は、例えば、５１２ワード、即ち、１６３８４バイトの容量を有している。ＳＲＡＭ２０７の０ｘ０００番地〜０ｘ０７Ｆ番地までのアドレスは、ＢＡＮＫ０、即ち、メモリバンク２０７ａに割り当てられている。ＳＲＡＭ２０７の０ｘ０８０番地〜０ｘ０ＦＦ番地までのアドレスは、ＢＡＮＫ１、即ち、メモリバンク２０７ｂに割り当てられている。ＳＲＡＭ２０７の０ｘ１００番地〜０ｘ１ＦＦ番地までのアドレスは、後述する端数データ５０４ＬＲを格納するための領域、即ち、端数データ格納用領域２０７ｃに割り当てられている。
【００３７】
図４Ａ及び図４Ｂは、本実施形態による画像処理装置１００の動作を示すタイミングチャートである。図４Ａ及び図４Ｂには、ＤＲＡＭ１０７にデータを書き込む際におけるＳＲＡＭ２０７の動作が示されている。図４Ａ及び図４Ｂには、信号ＷＲ＿ＡＤＤＲ＿０、ＷＥＮ＿０、ＤＩＮ＿０、ＲＤ＿ＡＤＤＲ＿０、ＲＥＮ＿０、ＤＯＵＴ＿０が示されている。図４Ａには、タイミングｔ４０１からタイミングｔ４０６までの動作が示されており、図４Ｂには、タイミングｔ４０５からタイミングｔ４１０までの動作が示されている。
【００３８】
タイミングｔ４０１からタイミングｔ４０３までの期間４１１は、モジュール２０１から出力される分割ブロック５０１ａの画像データがＳＲＡＭ２０７に書き込まれる期間である。期間４１１においては、以下のような処理が行われる。
【００３９】
まず、分割ブロック５０１ａの第１番目のラインのデータのうちの右端に位置する端数データ５０４ａ１Ｒ（図５参照）以外のデータ５０４ａ１Ｃ（図５参照）が、ＳＲＡＭ２０７に書き込まれる。データ５０４ａ１Ｃのサイズは、例えば４８０バイトである。データ５０４ａ１Ｃは、ＳＲＡＭ２０７の例えばメモリバンク２０７ａ、即ち、ＢＡＮＫ０に書き込まれる。データ５０４ａ１ＣをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０００番地である。なお、ライン５０３に含まれるデータのうちの端数データを除くデータ一般について説明する際には、符号５０４Ｃを用いることとする。また、ライン５０３の右端に位置する端数データ一般について説明する際には、符号５０４Ｒを用いることとする。
【００４０】
次に、分割ブロック５０１ａの第１番目のラインのデータのうちの右端に位置する端数データ５０４ａ１Ｒが、ＳＲＡＭ２０７に書き込まれる。データ５０４ａ１Ｒのサイズは、例えば２２バイトである。データ５０４ａ１Ｒは、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃに書き込まれる。データ５０４ａ１ＲをＳＲＡＭ２０７に書き込む際のアドレスは、例えば０ｘ１００番地である。
【００４１】
次に、分割ブロック５０１ａの第２番目のラインのデータのうちの右端に位置する端数データ５０４ａ２Ｒ以外のデータ５０４ａ２Ｃが、ＳＲＡＭ２０７に書き込まれる。データ５０４ａ２Ｃのサイズは、例えば４８０バイトである。データ５０４ａ２Ｃは、ＳＲＡＭ２０７の例えばメモリバンク２０７ｂ、即ち、ＢＡＮＫ１に書き込まれる。データ５０４ａ２ＣをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０８０番地である。
【００４２】
次に、分割ブロック５０１ａの第２番目のラインのデータのうちの右端に位置する端数データ５０４ａ２Ｒが、ＳＲＡＭ２０７に書き込まれる。データ５０４ａ２Ｒのサイズは、例えば２２バイトである。データ５０４ａ２Ｒは、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃに書き込まれる。データ５０４ａ２ＲをＳＲＡＭ２０７に書き込む際のアドレスは、例えば０ｘ１０１番地である。
【００４３】
この後も、上記と同様の処理が、分割ブロック５０１ａの第３番目以降のラインについて順次行われる。分割ブロック５０１ａに含まれているラインは、上述したように例えば６４である。分割ブロック５０１ａの第６４番目のラインのデータは、以下のようにして処理される。即ち、分割ブロック５０１ａの第６４番目のラインのデータのうちの右端に位置する端数データ５０４ａ６４Ｒ以外のデータ５０４ａ６４Ｃが、ＳＲＡＭ２０７に書き込まれる。データ５０４ａ６４Ｃのサイズは、例えば４８０バイトである。データ５０４ａ６４Ｃは、ＳＲＡＭ２０７のメモリバンク２０７ｂ、即ち、ＢＡＮＫ１に書き込まれる。データ５０４ａ６４ＣをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０８０番地である。この後、分割ブロック５０１ａの第６４番目のラインのデータのうちの右端に位置する端数データ５０４ａ６４Ｒが、ＳＲＡＭ２０７に書き込まれる。データ５０４ａ６４Ｒのサイズは、例えば２２バイトである。データ５０４ａ６４Ｒは、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃに書き込まれる。データ５０４ａ６４ＲをＳＲＡＭ２０７に書き込む際のアドレスは、例えば０ｘ１３Ｆ番地である。
【００４４】
タイミングｔ４０２からタイミングｔ４０４までの期間４１２は、分割ブロック５０１ａの画像データがＳＲＡＭ２０７から読み出される期間である。期間４１２の一部は、上述した期間４１１の一部と重複している。期間４１２においては、以下のような処理が行われる。
【００４５】
まず、分割ブロック５０１ａの第１番目のラインのデータのうちの右端に位置する端数データ５０４ａ１Ｒ以外のデータ５０４ａ１Ｃが、ＳＲＡＭ２０７から読み出される。データ５０４ａ１Ｃのサイズは、上述したように例えば４８０バイトである。データ５０４ａ１Ｃは、ＳＲＡＭ２０７のメモリバンク２０７ａ、即ち、ＢＡＮＫ０から読み出される。データ５０４ａ１ＣをＳＲＡＭ２０７から読み出す際の先頭アドレスは、例えば０ｘ０００番地である。ＳＲＡＭ２０７から読み出されたデータ５０４ａ１Ｃは、メモリバス１５１を介して伝送される。ＤＲＡＭ１０７に画像データを書き込む際の先頭アドレス、即ち、ＤＲＡＭ１０７のスタートアドレスは、上述したように、例えば０ｘ１０００番地である。従って、アドレス演算部２０３は、データ５０４ａ１ＣをＤＲＡＭ１０７に書き込む際の書き込み開始アドレスを０ｘ１０００番地と設定する。こうして得られた書き込み開始アドレスは、信号線ＲＥＱ＿０を介して伝送される。こうして、分割ブロック５０１ａの第１番目のラインのデータのうちの右端に位置する端数データ５０４ａ１Ｒ以外のデータ５０４ａ１ＣがＤＲＡＭ１０７に書き込まれる。４８０バイト分のデータ５０４ａ１Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。なお、ＤＲＡＭ１０７におけるバーストアクセス単位は、上述したように例えば３２バイトである。
【００４６】
次に、分割ブロック５０１ａの第２番目のラインのデータのうちの右端に位置する端数データ５０４ａ２Ｒ以外のデータ５０４ａ２Ｃが、ＳＲＡＭ２０７から読み出される。データ５０４ａ２Ｃのサイズは、上述したように例えば４８０バイトである。データ５０４ａ２Ｃは、ＳＲＡＭ２０７のメモリバンク２０７ｂ、即ち、ＢＡＮＫ１から読み出される。データ５０４ａ２ＣをＳＲＡＭ２０７から読み出す際の先頭アドレスは、例えば０ｘ０８０番地である。ＳＲＡＭ２０７から読み出されたデータ５０４ａ２Ｃは、メモリバス１５１を介して伝送される。アドレス演算部２０３は、データ５０４ａ１Ｃの書き込み開始アドレスである０ｘ１０００番地に、オフセット値を加算することによって、データ５０４ａ２Ｃの書き込み開始アドレスを生成する。オフセット値は、以下のようにして決定される。上述したように、分割ブロック５０１の水平方向におけるデータサイズは例えば５０２バイトである。水平方向における分割ブロック５０１の数は４である。アラインを調整するための後述するダミーデータのサイズは、８バイトである。従って、オフセット値は、５０２×４＋８＝２０１６バイトとされる。こうして得られる書き込み開始アドレスは、例えば０ｘ１７Ｅ０番地である。こうして、分割ブロック５０１ａの第２番目のラインのデータのうちの右端に位置する端数データ５０４ａ２Ｒ以外のデータ５０４ａ２ＣがＤＲＡＭ１０７に書き込まれる。４８０バイト分のデータ５０４ａ２Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【００４７】
この後も、上記と同様の処理が、分割ブロック５０１ａの第３番目以降のラインについて順次行われる。分割ブロック５０１ａに含まれているラインは、上述したように例えば６４である。分割ブロック５０１ａの第６４番目のラインのデータは、以下のようにして処理される。即ち、分割ブロック５０１ａの第６４番目のラインのデータのうちの右端に位置する端数データ５０４ａ６４Ｒ以外のデータ５０４ａ６４Ｃが、ＳＲＡＭ２０７から読み出される。データ５０４ａ６４Ｃのサイズは、例えば４８０バイトである。データ５０４ａ６４Ｃは、ＳＲＡＭ２０７のメモリバンク２０７ｂ、即ち、ＢＡＮＫ１から読み出される。データ５０４ａ６４ＣをＳＲＡＭ２０７から読み出す際の先頭アドレスは、例えば０ｘ０８０番地である。ＳＲＡＭ２０７から読み出されたデータ５０４ａ６４Ｃは、メモリバス１５１を介して伝送される。アドレス演算部２０３は、分割ブロック５０１ａの第６３番目のラインの右端に位置する端数データ５０４Ｒ以外のデータ５０４Ｃの書き込み開始アドレスにオフセット値を加算することによって、データ５０４ａ６４Ｃの書き込み開始アドレスを生成する。こうして、分割ブロック５０１ａの第６４番目のラインのデータのうちの右端に位置する端数データ５０４ａ６４Ｒ以外のデータ５０４ａ６４ＣがＤＲＡＭ１０７に書き込まれる。４８０バイト分のデータ５０４ａ６４Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【００４８】
タイミングｔ４０３からタイミングｔ４０５までの期間４１３は、モジュール２０１から出力される分割ブロック５０１ｂの画像データがＳＲＡＭ２０７に書き込まれる期間である。期間４１３の一部は、上述した期間４１２の一部と重複している。期間４１３においては、以下のような処理が行われる。
【００４９】
まず、分割ブロック５０１ｂの第１番目のラインのデータのうちの左端に位置する端数データ５０４ｂ１Ｌが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｂ１Ｌのサイズは、例えば１０バイトである。データ５０４ｂ１Ｌは、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃに書き込まれる。データ５０４ｂ１ＬをＳＲＡＭ２０７に書き込む際のアドレスは、例えば０ｘ１００番地である。０ｘ１００番地には、分割ブロック５０１ａの第１番目のラインの右端に位置する端数データ５０４ａ１Ｒが既に書き込まれている。端数データ５０４ｂ１Ｌは、端数データ５０４ａ１Ｒに続くように書き込まれる。端数データ５０４ａ１Ｒのサイズは、２２バイトである。端数データ５０４ｂ１Ｌのサイズは、１０バイトである。従って、ＳＲＡＭ２０７の０ｘ１００番地には、合計で３２バイト分のデータが書き込まれる。３２バイト分のデータは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。なお、ライン５０３の左端に位置する端数データ一般を説明する際には、符号５０４Ｌを用いることとする。また、ライン５０３に含まれる端数データ一般について説明する際には、符号５０４ＬＲを用いることとする。
【００５０】
次に、分割ブロック５０１ｂの第１番目のラインのデータのうちのデータ５０４ｂ１Ｃが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｂ１Ｃは、分割ブロック５０１ｂの第１番目のラインのデータのうちから、当該ラインの左端に位置する端数データ５０４ｂ１Ｌと当該ラインの右端に位置する端数データ５０４ｂ１Ｒとを除いたデータである。データ５０４ｂ１Ｃのサイズは、例えば４８０バイトである。データ５０４ｂ１Ｃは、ＳＲＡＭ２０７の例えばメモリバンク２０７ａ、即ち、ＢＡＮＫ０に書き込まれる。データ５０４ｂ１ＣをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０００番地である。
【００５１】
次に、分割ブロック５０１ｂの第１番目のラインのデータのうちの右端に位置する端数データ５０４ｂ１Ｒが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｂ１Ｒのサイズは、例えば１２バイトである。データ５０４ｂ１Ｒは、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃに書き込まれる。データ５０４ｂ１ＲをＳＲＡＭ２０７に書き込む際のアドレスは、例えば０ｘ１８０番地である。
【００５２】
次に、分割ブロック５０１ｂの第２番目のラインのデータのうちの左端に位置する端数データ５０４ｂ２Ｌが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｂ２Ｌのサイズは、例えば１０バイトである。データ５０４ｂ２Ｌは、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃに書き込まれる。データ５０４ｂ２ＬをＳＲＡＭ２０７に書き込む際のアドレスは、例えば０ｘ１０１番地である。０ｘ１０１番地には、分割ブロック５０１ａの第２番目のラインの右端に位置する端数データ５０４ａ２Ｒが既に書き込まれている。端数データ５０４ｂ２Ｌは、端数データ５０４ａ２Ｒに続くように書き込まれる。端数データ５０４ａ２Ｒのサイズは、２２バイトである。端数データ５０４ｂ２Ｌのサイズは、１０バイトである。従って、ＳＲＡＭ２０７の０ｘ１０１番地には、合計で３２バイト分のデータが書き込まれる。３２バイト分のデータは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【００５３】
次に、分割ブロック５０１ｂの第２番目のラインのデータのうちのデータ５０４ｂ２Ｃが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｂ２Ｃは、分割ブロック５０１ｂの第２番目のラインのデータのうちから、当該ラインの左端に位置する端数データ５０４ｂ２Ｌと当該ラインの右端に位置する端数データ５０４ｂ２Ｒとを除いたデータである。データ５０４ｂ２Ｃのサイズは、例えば４８０バイトである。データ５０４ｂ２Ｃは、ＳＲＡＭ２０７の例えばメモリバンク２０７ｂ、即ち、ＢＡＮＫ１に書き込まれる。データ５０４ｂ２ＣをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０８０番地である。
【００５４】
次に、分割ブロック５０１ｂの第２番目のラインのデータのうちの右端に位置する端数データ５０４ｂ２Ｒが、ＳＲＡＭ２０７に書き込まれる。５０４ｂ２Ｒのサイズは、例えば１２バイトである。５０４ｂ２Ｒは、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃに書き込まれる。５０４ｂ２ＲをＳＲＡＭ２０７に書き込む際のアドレスは、例えば０ｘ１８１番地である。
【００５５】
この後も、上記と同様の処理が、分割ブロック５０１ｂの第３番目以降のラインについて順次行われる。例えば、分割ブロック５０１ｂの第３番目のラインのデータのうちの左端に位置する例えば１０バイトの端数データ５０４ｂ３Ｌは、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃの例えば０ｘ１０２番地に書き込まれる。分割ブロック５０１ｂに含まれているラインは、上述したように例えば６４である。分割ブロック５０１ｂの第６４番目のラインのデータのうちの左端に位置する端数データ５０４ｂ６４Ｌ（図５参照）が、ＳＲＡＭ２０７に書き込まれる。データ５０４ｂ６４Ｌのサイズは、例えば１０バイトである。データ５０４ｂ６４Ｌは、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃに書き込まれる。データ５０４ｂ６４ＬをＳＲＡＭ２０７に書き込む際のアドレスは、例えば０ｘ１３Ｆ番地である。０ｘ１３Ｆ番地には、分割ブロック５０１ｂの第６４番目のラインの右端に位置する端数データ５０４ａ６４Ｒが既に書き込まれている。端数データ５０４ｂ６４Ｌは、端数データ５０４ａ６４Ｒに続くように書き込まれる。端数データ５０４ａ６４Ｒのサイズは、２２バイトである。端数データ５０４ｂ６４Ｌのサイズは、１０バイトである。従って、ＳＲＡＭ２０７の０ｘ１３Ｆ番地には、合計で３２バイト分のデータが書き込まれる。３２バイト分のデータは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。この後、分割ブロック５０１ｂの第６４番目のラインのデータのうちのデータ５０４ｂ６４Ｃが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｂ６４Ｃは、分割ブロック５０１ｂの第６４番目のラインのデータのうちから、当該ラインの左端に位置する端数データ５０４ｂ６４Ｌと当該ラインの右端に位置する端数データ５０４ｂ６４Ｒとを除いたデータである。データ５０４ｂ６４Ｃのサイズは、例えば４８０バイトである。データ５０４ｂ６４Ｃは、ＳＲＡＭ２０７の例えばメモリバンク２０７ｂ、即ち、ＢＡＮＫ１に書き込まれる。データ５０４ｂ６４ＣをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０８０番地である。この後、分割ブロック５０１ｂの第６４番目のラインのデータのうちの右端に位置する端数データ５０４ｂ６４Ｒが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｂ６４Ｒのサイズは、例えば１２バイトである。データ５０４ｂ６４Ｒは、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃに書き込まれる。データ５０４ｂ６４ＲをＳＲＡＭ２０７に書き込む際のアドレスは、例えば０ｘ１ＢＦ番地である。
【００５６】
タイミングｔ４０４からタイミングｔ４０６までの期間４１４は、分割ブロック５０１ｂの画像データがＳＲＡＭ２０７から読み出される期間である。期間４１４の一部は、上述した期間４１３の一部と重複している。期間４１４においては、以下のような処理が行われる。
【００５７】
まず、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃのうちの０ｘ１００番地に格納されている端数データ５０４ａ１Ｒ、５０４ｂ１Ｌが読み出される。上述したように、端数データ５０４ａ１Ｒは、分割ブロック５０１ａの第１番目のラインの右端に位置するものである。上述したように、端数データ５０４ｂ１Ｌは、分割ブロック５０１ｂの第１番目のラインの左端に位置するものである。
【００５８】
次に、分割ブロック５０１ｂの第１番目のラインのデータのうちのデータ５０４ｂ１Ｃが、ＳＲＡＭ２０７から読み出される。データ５０４ｂ１Ｃは、上述したように、分割ブロック５０１ｂの第１番目のラインのデータのうちから、当該ラインの左端に位置する端数データ５０４ｂ１Ｌと当該ラインの右端に位置する端数データ５０４ｂ１Ｒとを除いたデータである。データ５０４ｂ１Ｃのサイズは、上述したように例えば４８０バイトである。データ５０４ｂ１Ｃは、ＳＲＡＭ２０７のメモリバンク２０７ａ、即ち、ＢＡＮＫ０から読み出される。データ５０４ｂ１ＣをＳＲＡＭ２０７から読み出す際の先頭アドレスは、例えば０ｘ０００番地である。
【００５９】
ＳＲＡＭ２０７から読み出されたこれらのデータ、即ち、端数データ５０４ａ１Ｒ、５０４ｂ１Ｌ及びデータ５０４ｂ１Ｃは、メモリバス１５１を介して伝送される。端数データ５０４ａ１Ｒ、５０４ｂ１Ｌの書き込み開始アドレスは、例えば０ｘ１１Ｅ０番地である。データ５０４ｂ１Ｃの書き込みアドレスは、例えば０ｘ１２００番地である。上述したように、端数データ５０４ａ１Ｒのサイズは２２バイトである。また、上述したように、端数データ５０４ｂ１Ｌのサイズは、１０バイトである。また、上述したように、データ５０４ｂ１Ｃのサイズは、４８０バイトである。従って、ＳＲＡＭ２０７から読み出されるこれらのデータ５０４ａ１Ｒ、５０４ｂ１Ｌ、５０４ｂ１Ｃの合計のサイズは、５１２バイトである。合計のサイズが５１２バイトであるこれらのデータ５０４ａ１Ｒ、５０４ｂ１Ｌ、５０４ｂ１Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。こうして、ＤＲＡＭ１０７のうちのデータ５０４ａ１Ｃが書き込まれたアドレスの直後のアドレスに、端数データ５０４ａ１Ｒ、５０４ｂ１Ｌ及びデータ５０４ｂ１Ｃが書き込まれる。換言すれば、ＤＲＡＭ１０７のうちのデータ５０４ａ１Ｃが書き込まれたアドレスの直後のアドレスに、端数データ５０４ａ１Ｒに端数データ５０４ｂ１Ｌを結合することにより得られる結合データと、データ５０４ｂ１Ｃとが順次書き込まれる。
【００６０】
次に、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃのうちの０ｘ１０１番地に格納されている端数データ５０４ａ２Ｒ、５０４ｂ２Ｌが読み出される。上述したように、端数データ５０４ａ２Ｒは、分割ブロック５０１ａの第２番目のラインの右端に位置するものである。上述したように、端数データ５０４ｂ２Ｌは、分割ブロック５０１ｂの第２番目のラインの左端に位置するものである。
【００６１】
次に、分割ブロック５０１ｂの第２番目のラインのデータのうちのデータ５０４ｂ２Ｃが、ＳＲＡＭ２０７から読み出される。データ５０４ｂ２Ｃは、上述したように、分割ブロック５０１ｂの第２番目のラインのデータのうちから、当該ラインの左端に位置する端数データ５０４ｂ２Ｌと当該ラインの右端に位置する端数データ５０４ｂ２Ｒとを除いたデータである。データ５０４ｂ２Ｃのサイズは、上述したように例えば４８０バイトである。データ５０４ｂ２Ｃは、ＳＲＡＭ２０７のメモリバンク２０７ｂ、即ち、ＢＡＮＫ１から読み出される。データ５０４ｂ２ＣをＳＲＡＭ２０７から読み出す際の先頭アドレスは、例えば０ｘ０８０番地である。
【００６２】
ＳＲＡＭ２０７から読み出されたこれらのデータ、即ち、端数データ５０４ａ２Ｒ、５０４ｂ２Ｌ及びデータ５０４ｂ２Ｃは、メモリバス１５１を介して伝送される。アドレス演算部２０３は、オフセット値を加算することによって、これらのデータ５０４ａ２Ｒ、５０４ｂ２Ｌ、５０４ｂ２Ｃの書き込み開始アドレスを生成する。オフセット値は、上述したように、例えば２０１６バイトである。こうして、ＤＲＡＭ１０７のうちのデータ５０４ａ２Ｃが書き込まれたアドレスの直後のアドレスに、端数データ５０４ａ２Ｒ、５０４ｂ２Ｌ及びデータ５０４ｂ２Ｃが書き込まれる。換言すれば、ＤＲＡＭ１０７のうちのデータ５０４ａ２Ｃが書き込まれたアドレスの直後のアドレスに、端数データ５０４ａ２Ｒに端数データ５０４ｂ２Ｌを結合することにより得られる結合データと、データ５０４ｂ２Ｃとが順次書き込まれる。５１２バイト分のこれらのデータ５０４ａ２Ｒ、５０４ｂ２Ｌ、５０４ｂ２Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【００６３】
この後も、上記と同様の処理が、分割ブロック５０１ｂの第３番目以降のラインについて順次行われる。分割ブロック５０１ｂに含まれているラインは、上述したように例えば６４である。従って、上記と同様の処理が、分割ブロック５０１ｂの第６４番目のラインまで繰り返し行われる。
【００６４】
タイミングｔ４０５からタイミングｔ４０７までの期間４１５は、モジュール２０１から出力される分割ブロック５０１ｃの画像データがＳＲＡＭ２０７に書き込まれる期間である。期間４１５の一部は、上述した期間４１４の一部と重複している。期間４１５においては、以下のような処理が行われる。
【００６５】
まず、分割ブロック５０１ｃの第１番目のラインのデータのうちの左端に位置する端数データ５０４ｃ１Ｌが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｃ１Ｌのサイズは、例えば２０バイトである。データ５０４ｃ１Ｌは、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃに書き込まれる。データ５０４ｃ１ＬをＳＲＡＭ２０７に書き込む際のアドレスは、例えば０ｘ１８０番地である。０ｘ１８０番地には、分割ブロック５０１ｂの第１番目のラインの右端に位置する端数データ５０４ｂ１Ｒが既に書き込まれている。端数データ５０４ｃ１Ｌは、端数データ５０４ｂ１Ｒに続くように書き込まれる。端数データ５０４ｂ１Ｒのサイズは、１２バイトである。端数データ５０４ｃ１Ｌのサイズは、２０バイトである。従って、ＳＲＡＭ２０７の０ｘ１８０番地には、合計で３２バイト分のデータが書き込まれる。３２バイト分のデータは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【００６６】
次に、分割ブロック５０１ｃの第１番目のラインのデータのうちのデータ５０４ｃ１Ｃが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｃ１Ｃは、分割ブロック５０１ｃの第１番目のラインのデータのうちから、当該ラインの左端に位置する端数データ５０４ｃ１Ｌと当該ラインの右端に位置する端数データ５０４ｃ１Ｒとを除いたデータである。データ５０４ｃ１Ｃのサイズは、例えば４８０バイトである。データ５０４ｃ１Ｃは、ＳＲＡＭ２０７の例えばメモリバンク２０７ａ、即ち、ＢＡＮＫ０に書き込まれる。データ５０４ｃ１ＣをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０００番地である。
【００６７】
次に、分割ブロック５０１ｃの第１番目のラインのデータのうちの右端に位置する端数データ５０４ｃ１Ｒが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｃ１Ｒのサイズは、例えば２バイトである。データ５０４ｃ１Ｒは、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃに書き込まれる。データ５０４ｃ１ＲをＳＲＡＭ２０７に書き込む際のアドレスは、例えば０ｘ１００番地である。
【００６８】
次に、分割ブロック５０１ｃの第２番目のラインのデータのうちの左端に位置する端数データ５０４ｃ２Ｌが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｃ２Ｌのサイズは、例えば２０バイトである。データ５０４ｃ２Ｌは、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃに書き込まれる。データ５０４ｃ２ＬをＳＲＡＭ２０７に書き込む際のアドレスは、例えば０ｘ１８１番地である。０ｘ１８１番地には、分割ブロック５０１ｂの第２番目のラインの右端に位置する端数データ５０４ｂ２Ｒが既に書き込まれている。端数データ５０４ｃ２Ｌは、端数データ５０４ｂ２Ｒに続くように書き込まれる。端数データ５０４ｂ２Ｒのサイズは、１２バイトである。端数データ５０４ｃ２Ｌのサイズは、２０バイトである。従って、ＳＲＡＭ２０７の０ｘ１８１番地には、合計で３２バイト分のデータが書き込まれる。３２バイト分のデータは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【００６９】
次に、分割ブロック５０１ｃの第２番目のラインのデータのうちのデータ５０４ｃ２Ｃが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｃ２Ｃは、分割ブロック５０１ｃの第２番目のラインのデータのうちから、当該ラインの左端に位置する端数データ５０４ｃ２Ｌと当該ラインの右端に位置する端数データ５０４ｃ２Ｒとを除いたデータである。データ５０４ｃ２Ｃのサイズは、例えば４８０バイトである。データ５０４ｃ２Ｃは、ＳＲＡＭ２０７の例えばメモリバンク２０７ｂ、即ち、ＢＡＮＫ１に書き込まれる。データ５０４ｃ２ＣをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０８０番地である。
【００７０】
次に、分割ブロック５０１ｃの第２番目のラインのデータのうちの右端に位置する端数データ５０４ｃ２Ｒが、ＳＲＡＭ２０７に書き込まれる。端数データ５０４ｃ２Ｒのサイズは、例えば２バイトである。データ５０４ｃ２Ｒは、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃに書き込まれる。データ５０４ｃ２ＲをＳＲＡＭ２０７に書き込む際のアドレスは、例えば０ｘ１０１番地である。
【００７１】
この後も、上記と同様の処理が、分割ブロック５０１ｃの第３番目以降のラインについて順次行われる。例えば、分割ブロック５０１ｃの第３番目のラインのデータのうちの左端に位置する例えば２０バイトの端数データ５０４ｃ３Ｌは、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃの例えば０ｘ１８２番地に書き込まれる。分割ブロック５０１ｃの第６４番目のラインのデータのうちの左端に位置する端数データ５０４ｃ６４Ｌ（図５参照）が、ＳＲＡＭ２０７に書き込まれる。データ５０４ｃ６４Ｌのサイズは、例えば２０バイトである。データ５０４ｃ６４Ｌは、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃに書き込まれる。データ５０４ｃ６４ＬをＳＲＡＭ２０７に書き込む際のアドレスは、例えば０ｘ１ＢＦ番地である。０ｘ１ＢＦ番地には、分割ブロック５０１ｂの第６４番目のラインの右端に位置する端数データ５０４ｂ６４Ｒが既に書き込まれている。端数データ５０４ｃ６４Ｌは、端数データ５０４ｂ６４Ｒに続くように書き込まれる。端数データ５０４ｂ６４Ｒのサイズは、１２バイトである。端数データ５０４ｃ６４Ｌのサイズは、２０バイトである。従って、ＳＲＡＭ２０７の０ｘ１ＢＦ番地には、合計で３２バイト分のデータが書き込まれる。３２バイト分のデータは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。この後、分割ブロック５０１ｃの第６４番目のラインのデータのうちのデータ５０４ｃ６４Ｃが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｃ６４Ｃは、分割ブロック５０１ｃの第６４番目のラインのデータのうちから、当該ラインの左端に位置する端数データ５０４ｃ６４Ｌと当該ラインの右端に位置する端数データ５０４ｃ６４Ｒとを除いたデータである。データ５０４ｃ６４Ｃのサイズは、例えば４８０バイトである。データ５０４ｃ６４Ｃは、ＳＲＡＭ２０７の例えばメモリバンク２０７ｂ、即ち、ＢＡＮＫ１に書き込まれる。データ５０４ｃ６４ＣをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０８０番地である。この後、分割ブロック５０１ｃの第６４番目のラインのデータのうちの右端に位置する端数データ５０４ｃ６４Ｒが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｃ６４Ｒのサイズは、例えば２バイトである。データ５０４ｃ６４Ｒは、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃに書き込まれる。データ５０４ｃ６４ＲをＳＲＡＭ２０７に書き込む際のアドレスは、例えば０ｘ１３Ｆ番地である。
【００７２】
タイミングｔ４０６からタイミングｔ４０８までの期間４１６は、分割ブロック５０１ｃの画像データがＳＲＡＭ２０７から読み出される期間である。期間４１６の一部は、上述した期間４１５の一部と重複している。期間４１６においては、以下のような処理が行われる。
【００７３】
まず、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃのうちの０ｘ１８０番地に格納されている端数データ５０４ｂ１Ｒ、５０４ｃ１Ｌが読み出される。上述したように、端数データ５０４ｂ１Ｒは、分割ブロック５０１ｂの第１番目のラインの右端に位置するものである。上述したように、端数データ５０４ｃ１Ｌは、分割ブロック５０１ｃの第１番目のラインの左端に位置するものである。
【００７４】
次に、分割ブロック５０１ｃの第１番目のラインのデータのうちのデータ５０４ｃ１Ｃが、ＳＲＡＭ２０７から読み出される。データ５０４ｃ１Ｃは、上述したように、分割ブロック５０１ｃの第１番目のラインのデータのうちから、当該ラインの左端に位置する端数データ５０４ｃ１Ｌと当該ラインの右端に位置する端数データ５０４ｃ１Ｒとを除いたデータである。データ５０４ｃ１Ｃのサイズは、上述したように例えば４８０バイトである。データ５０４ｃ１Ｃは、ＳＲＡＭ２０７のメモリバンク２０７ａ、即ち、ＢＡＮＫ０から読み出される。データ５０４ｃ１ＣをＳＲＡＭ２０７から読み出す際の先頭アドレスは、例えば０ｘ０００番地である。
【００７５】
ＳＲＡＭ２０７から読み出されたこれらのデータ、即ち、端数データ５０４ｂ１Ｒ、５０４ｃ１Ｌ及びデータ５０４ｃ１Ｃは、メモリバス１５１を介して伝送される。端数データ５０４ｂ１Ｒ、５０４ｃ１Ｌの書き込み開始アドレスは、例えば０ｘ１３Ｅ０番地である。データ５０４ｃ１Ｃの書き込みアドレスは、例えば０ｘ１４００番地である。上述したように、端数データ５０４ｂ１Ｒのサイズは１２バイトである。また、上述したように、端数データ５０４ｃ１Ｌのサイズは、２０バイトである。また、上述したように、データ５０４ｃ１Ｃのサイズは、４８０バイトである。従って、ＳＲＡＭ２０７から読み出されるこれらのデータ５０４ｂ１Ｒ、５０４ｃ１Ｌ、５０４ｃ１Ｃの合計のサイズは、５１２バイトである。合計のサイズが５１２バイトであるこれらのデータ５０４ｂ１Ｒ、５０４ｃ１Ｌ、５０４ｃ１Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。こうして、ＤＲＡＭ１０７のうちのデータ５０４ｂ１Ｃが書き込まれたアドレスの直後のアドレスに、端数データ５０４ｂ１Ｒ、５０４ｃ１Ｌ及びデータ５０４ｃ１Ｃが書き込まれる。換言すれば、ＤＲＡＭ１０７のうちのデータ５０４ｂ１Ｃが書き込まれたアドレスの直後のアドレスに、端数データ５０４ｂ１Ｒに端数データ５０４ｃ１Ｌを結合することにより得られる結合データと、データ５０４ｃ１Ｃとが順次書き込まれる。
【００７６】
次に、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃのうちの０ｘ１８１番地に格納されている端数データ５０４ｂ２Ｒ、５０４ｃ２Ｌが読み出される。上述したように、端数データ５０４ｂ２Ｒは、分割ブロック５０１ｂの第２番目のラインの右端に位置するものである。上述したように、端数データ５０４ｃ２Ｌは、分割ブロック５０１ｃの第２番目のラインの左端に位置するものである。
【００７７】
次に、分割ブロック５０１ｃの第２番目のラインのデータのうちのデータ５０４ｃ２Ｃが、ＳＲＡＭ２０７から読み出される。データ５０４ｃ２Ｃは、上述したように、分割ブロック５０１ｃの第２番目のラインのデータのうちから、当該ラインの左端に位置する端数データ５０４ｃ２Ｌと当該ラインの右端に位置する端数データ５０４ｃ２Ｒとを除いたデータである。データ５０４ｃ２Ｃのサイズは、上述したように例えば４８０バイトである。データ５０４ｃ２Ｃは、ＳＲＡＭ２０７のメモリバンク２０７ｂ、即ち、ＢＡＮＫ１から読み出される。データ５０４ｃ２ＣをＳＲＡＭ２０７から読み出す際の先頭アドレスは、例えば０ｘ０８０番地である。
【００７８】
ＳＲＡＭ２０７から読み出されたこれらのデータ、即ち、端数データ５０４ｂ２Ｒ、５０４ｃ２Ｌ及びデータ５０４ｃ２Ｃは、メモリバス１５１を介して伝送される。アドレス演算部２０３は、オフセット値を加算することによって、これらのデータ５０４ｂ２Ｒ、５０４ｃ２Ｌ、５０４ｃ２Ｃの書き込み開始アドレスを生成する。オフセット値は、上述したように、例えば２０１６バイトである。こうして、ＤＲＡＭ１０７のうちのデータ５０４ｂ２Ｃが書き込まれたアドレスの直後のアドレスに、端数データ５０４ｂ２Ｒ、５０４ｃ２Ｌ及びデータ５０４ｃ２Ｃが書き込まれる。換言すれば、ＤＲＡＭ１０７のうちのデータ５０４ｂ２Ｃが書き込まれたアドレスの直後のアドレスに、端数データ５０４ｂ２Ｒに端数データ５０４ｃ２Ｌを結合することにより得られる結合データと、データ５０４ｃ２Ｃとが順次書き込まれる。５１２バイト分のこれらのデータ５０４ｂ２Ｒ、５０４ｃ２Ｌ、５０４ｃ２Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【００７９】
この後も、上記と同様の処理が、分割ブロック５０１ｃの第３番目以降のラインについて順次行われる。分割ブロック５０１ｃに含まれているラインは、上述したように例えば６４である。従って、上記と同様の処理が、分割ブロック５０１ｃの第６４番目のラインまで繰り返し行われる。
【００８０】
タイミングｔ４０７からタイミングｔ４０９までの期間４１７は、モジュール２０１から出力される分割ブロック５０１ｂの画像データがＳＲＡＭ２０７に書き込まれる期間である。期間４１７の一部は、上述した期間４１６の一部と重複している。期間４１７においては、以下のような処理が行われる。
【００８１】
まず、分割ブロック５０１ｄの第１番目のラインのデータのうちの左端に位置する端数データ５０４ｄ１Ｌが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｄ１Ｌのサイズは、例えば３０バイトである。データ５０４ｄ１Ｌは、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃに書き込まれる。データ５０４ｄ１ＬをＳＲＡＭ２０７に書き込む際のアドレスは、例えば０ｘ１００番地である。０ｘ１００番地には、分割ブロック５０１ｃの第１番目のラインの右端に位置する端数データ５０４ｃ１Ｒが既に書き込まれている。端数データ５０４ｄ１Ｌは、端数データ５０４ｃ１Ｒに続くように書き込まれる。端数データ５０４ｃ１Ｒのサイズは、２バイトである。端数データ５０４ｄ１Ｌのサイズは、３０バイトである。従って、ＳＲＡＭ２０７の０ｘ１００番地には、合計で３２バイト分のデータが書き込まれる。３２バイト分のデータは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【００８２】
次に、分割ブロック５０１ｄの第１番目のラインのデータのうちのデータ５０４ｄ１Ｃが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｄ１Ｃは、分割ブロック５０１ｄの第１番目のラインのデータのうちから、当該ラインの左端に位置する端数データ５０４ｄ１Ｌと当該ラインの右端に位置する端数データ５０４ｄ１Ｒとを除いたデータである。データ５０４ｄ１Ｃのサイズは、例えば４４８バイトである。データ５０４ｄ１Ｃは、ＳＲＡＭ２０７の例えばメモリバンク２０７ａ、即ち、ＢＡＮＫ０に書き込まれる。データ５０４ｄ１ＣをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０００番地である。
【００８３】
次に、分割ブロック５０１ｄの第１番目のラインのデータのうちの右端に位置する端数データ５０４ｄ１Ｒと、ダミーデータ５０４ｄ１Ｄとが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｄ１Ｒのサイズは、例えば２４バイトである。ダミーデータ５０４ｄ１Ｄのサイズは、例えば８バイトである。端数データ５０４ｄ１Ｒ及びダミーデータ５０４ｄ１Ｄは、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃに書き込まれる。端数データ５０４ｄ１Ｒ及びダミーデータ５０４ｄ１ＤをＳＲＡＭ２０７に書き込む際のアドレスは、例えば０ｘ１８０番地である。端数データ５０４ｄ１Ｒのサイズは、上述したように２４バイトである。ダミーデータ５０４ｄ１Ｄのサイズは、８バイトである。従って、ＳＲＡＭ２０７の０ｘ１８０番地には、合計で３２バイト分のデータが書き込まれる。３２バイト分のデータは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。なお、ダミーデータ一般について説明する際には、符号５０４Ｄを用いることとする。ダミーデータ５０４Ｄとしては、通常のデータと区別可能なデータが用いられる。例えば、値が０のデータ等が、ダミーデータ５０４Ｄとして用いられ得る。
【００８４】
次に、分割ブロック５０１ｃの第２番目のラインのデータのうちの左端に位置する端数データ５０４ｄ２Ｌが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｄ２Ｌのサイズは、例えば３０バイトである。データ５０４ｄ２Ｌは、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃに書き込まれる。データ５０４ｄ２ＬをＳＲＡＭ２０７に書き込む際のアドレスは、例えば０ｘ１０１番地である。０ｘ１０１番地には、分割ブロック５０１ｃの第２番目のラインの右端に位置する端数データ５０４ｃ２Ｒが既に書き込まれている。端数データ５０４ｄ２Ｌは、端数データ５０４ｃ２Ｒに続くように書き込まれる。端数データ５０４ｃ２Ｒのサイズは、２バイトである。端数データ５０４ｄ２Ｌのサイズは、３０バイトである。従って、ＳＲＡＭ２０７の０ｘ１０１番地には、合計で３２バイト分のデータが書き込まれる。３２バイト分のデータは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【００８５】
次に、分割ブロック５０１ｄの第２番目のラインのデータのうちのデータ５０４ｄ２Ｃが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｄ２Ｃは、分割ブロック５０１ｄの第２番目のラインのデータのうちから、当該ラインの左端に位置する端数データ５０４ｄ２Ｌと当該ラインの右端に位置する端数データ５０４ｄ２Ｒとを除いたデータである。データ５０４ｄ２Ｃのサイズは、例えば４４８バイトである。データ５０４ｄ２Ｃは、ＳＲＡＭ２０７の例えばメモリバンク２０７ｂ、即ち、ＢＡＮＫ１に書き込まれる。データ５０４ｄ２ＣをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０８０番地である。
【００８６】
次に、分割ブロック５０１ｄの第２番目のラインのデータのうちの右端に位置する端数データ５０４ｄ２Ｒと、ダミーデータ５０４ｄ２Ｄとが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｄ２Ｒのサイズは、例えば２４バイトである。ダミーデータ５０４ｄ２Ｄのサイズは、例えば８バイトである。端数データ５０４ｄ２Ｒ及びダミーデータ５０４ｄ２Ｄは、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃに書き込まれる。端数データ５０４ｄ２Ｒ及びダミーデータ５０４ｄ２ＤをＳＲＡＭ２０７に書き込む際のアドレスは、例えば０ｘ１８１番地である。端数データ５０４ｄ２Ｒのサイズは、上述したように２４バイトである。ダミーデータ５０４ｄ２Ｄのサイズは、８バイトである。従って、ＳＲＡＭ２０７の０ｘ１８１番地には、合計で３２バイト分のデータが書き込まれる。３２バイト分のデータは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【００８７】
この後も、上記と同様の処理が、分割ブロック５０１ｄの第３番目以降のラインについて順次行われる。例えば、分割ブロック５０１ｂの第３番目のラインのデータのうちの左端に位置する例えば３０バイトの端数データ５０４ｄ３Ｌは、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃの例えば０ｘ１０２番地に書き込まれる。分割ブロック５０１ｄに含まれているラインは、上述したように例えば６４である。分割ブロック５０１ｄの第６４番目のラインのデータのうちの左端に位置する端数データ５０４ｄ６４Ｌ（図５参照）が、ＳＲＡＭ２０７に書き込まれる。データ５０４ｄ６４Ｌのサイズは、例えば３０バイトである。データ５０４ｄ６４Ｌは、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃに書き込まれる。データ５０４ｄ６４ＬをＳＲＡＭ２０７に書き込む際のアドレスは、例えば０ｘ１３Ｆ番地である。０ｘ１３Ｆ番地には、分割ブロック５０１ｃの第６４番目のラインの右端に位置する端数データ５０４ｃ６４Ｒが既に書き込まれている。端数データ５０４ｄ６４Ｌは、端数データ５０４ｃ６４Ｒに続くように書き込まれる。端数データ５０４ｃ６４Ｒのサイズは、２バイトである。端数データ５０４ｄ６４Ｌのサイズは、３０バイトである。従って、ＳＲＡＭ２０７の０ｘ１３Ｆ番地には、合計で３２バイト分のデータが書き込まれる。３２バイト分のデータは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。この後、分割ブロック５０１ｄの第６４番目のラインのデータのうちのデータ５０４ｄ６４Ｃが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｄ６４Ｃは、分割ブロック５０１ｄの第６４番目のラインのデータのうちから、当該ラインの左端に位置する端数データ５０４ｄ６４Ｌと当該ラインの右端に位置する端数データ５０４ｄ６４Ｒとを除いたデータである。データ５０４ｄ６４Ｃのサイズは、例えば４４８バイトである。データ５０４ｄ６４Ｃは、ＳＲＡＭ２０７の例えばメモリバンク２０７ｂ、即ち、ＢＡＮＫ１に書き込まれる。データ５０４ｄ６４ＣをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０８０番地である。この後、分割ブロック５０１ｄの第６４番目のラインのデータのうちの右端に位置する端数データ５０４ｄ６４Ｒと、ダミーデータ５０４ｄ６４Ｄとが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｄ６４Ｒのサイズは、例えば２４バイトである。ダミーデータ５０４ｄ６４Ｄのサイズは、例えば８バイトである。端数データ５０４ｄ６４Ｒ及びダミーデータ５０４ｄ６４Ｄは、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃに書き込まれる。端数データ５０４ｄ６４Ｒ及びダミーデータ５０４ｄ６４ＤをＳＲＡＭ２０７に書き込む際のアドレスは、例えば０ｘ１ＢＦ番地である。端数データ５０４ｄ６４Ｒのサイズは、上述したように２４バイトである。ダミーデータ５０４ｄ６４Ｄのサイズは、８バイトである。従って、ＳＲＡＭ２０７の０ｘ１ＢＦ番地には、合計で３２バイト分のデータが書き込まれる。３２バイト分のデータは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【００８８】
タイミングｔ４０８からタイミングｔ４１０までの期間４１８は、分割ブロック５０１ｄの画像データがＳＲＡＭ２０７から読み出される期間である。期間４１８の一部は、上述した期間４１７の一部と重複している。期間４１８においては、以下のような処理が行われる。
【００８９】
まず、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃのうちの０ｘ１００番地に格納されている端数データ５０４ｃ１Ｒ、データ５０４ｄ１Ｌが読み出される。上述したように、端数データ５０４ｃ１Ｒは、分割ブロック５０１ｃの第１番目のラインの右端に位置するものである。上述したように、端数データ５０４ｄ１Ｌは、分割ブロック５０１ｄの第１番目のラインの左端に位置するものである。
【００９０】
次に、分割ブロック５０１ｄの第１番目のラインのデータのうちのデータ５０４ｄ１Ｃが、ＳＲＡＭ２０７から読み出される。データ５０４ｄ１Ｃは、上述したように、分割ブロック５０１ｄの第１番目のラインのデータのうちから、当該ラインの左端に位置する端数データ５０４ｄ１Ｌと当該ラインの右端に位置する端数データ５０４ｄ１Ｒとを除いたデータである。データ５０４ｄ１Ｃのサイズは、上述したように例えば４４８バイトである。データ５０４ｄ１Ｃは、ＳＲＡＭ２０７のメモリバンク２０７ａ、即ち、ＢＡＮＫ０から読み出される。データ５０４ｄ１ＣをＳＲＡＭ２０７から読み出す際の先頭アドレスは、例えば０ｘ０００番地である。
【００９１】
次に、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃのうちの０ｘ１８０番地に格納されている端数データ５０４ｄ１Ｒ及びダミーデータ５０４ｄ１Ｄが読み出される。上述したように、端数データ５０４ｄ１Ｒは、分割ブロック５０１ｄの第１番目のラインの右端に位置するものである。
【００９２】
ＳＲＡＭ２０７から読み出されたこれらのデータ、即ち、端数データ５０４ｃ１Ｒ、データ５０４ｄ１Ｌ、データ５０４ｄ１Ｃ、端数データ５０４ｄ１Ｒ、及び、ダミーデータ５０４ｄ１Ｄは、メモリバス１５１を介して伝送される。端数データ５０４ｃ１Ｒ、データ５０４ｄ１Ｌの書き込み開始アドレスは、例えば０ｘ１５Ｅ０番地である。データ５０４ｄ１Ｃの書き込みアドレスは、例えば０ｘ１６００番地である。端数データ５０４ｄ１Ｒ及びダミーデータ５０４ｄ１Ｄの書き込みアドレスは、例えば０ｘ１７Ｃ０番地である。上述したように、端数データ５０４ｃ１Ｒのサイズは２バイトである。また、上述したように、端数データ５０４ｄ１Ｌのサイズは、３０バイトである。また、上述したように、データ５０４ｄ１Ｃのサイズは、４４８バイトである。また、上述したように、端数データ５０４ｄ１Ｒのサイズは２４バイトである。また、上述したように、ダミーデータ５０４ｄ１Ｄのサイズは８バイトである。従って、ＳＲＡＭ２０７から読み出されるこれらのデータ５０４ｃ１Ｒ、５０４ｄ１Ｌ、５０４ｄ１Ｃ、５０４ｄ１Ｒ、５０４ｄ１Ｄの合計のサイズは、５１２バイトである。合計のサイズが５１２バイトであるこれらのデータ５０４ｃ１Ｒ、５０４ｄ１Ｌ、５０４ｄ１Ｃ、５０４ｄ１Ｒ、５０４ｄ１Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。こうして、ＤＲＡＭ１０７のうちのデータ５０４ｃ１Ｃが書き込まれたアドレスの直後のアドレスに、端数データ５０４ｃ１Ｒ、データ５０４ｄ１Ｌ、データ５０４ｄ１Ｃ、端数データ５０４ｄ１Ｒ、及び、ダミーデータ５０４ｄ１Ｄが書き込まれる。換言すれば、ＤＲＡＭ１０７のうちのデータ５０４ｃ１Ｃが書き込まれたアドレスの直後のアドレスに、以下のようなデータが順次書き込まれる。即ち、端数データ５０４ｃ１Ｒに端数データ５０４ｄ１Ｌを結合することにより得られる結合データと、データ５０４ｄ１Ｃと、端数データ５０４ｄ１Ｒにダミーデータ５０４ｄ１Ｄを結合することにより得られる結合データとが順次書き込まれる。
【００９３】
次に、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃのうちの０ｘ１０１番地に格納されている端数データ５０４ｃ２Ｒ、５０４ｄ２Ｌが読み出される。上述したように、端数データ５０４ｃ２Ｒは、分割ブロック５０１ｃの第２番目のラインの右端に位置するものである。上述したように、端数データ５０４ｄ２Ｌは、分割ブロック５０１ｄの第２番目のラインの左端に位置するものである。
【００９４】
次に、分割ブロック５０１ｃの第２番目のラインのデータのうちのデータ５０４ｄ２Ｃが、ＳＲＡＭ２０７から読み出される。データ５０４ｄ２Ｃは、上述したように、分割ブロック５０１ｃの第２番目のラインのデータのうちから、当該ラインの左端に位置する端数データ５０４ｄ２Ｌと当該ラインの右端に位置する端数データ５０４ｄ２Ｒとを除いたデータである。データ５０４ｄ２Ｃのサイズは、上述したように例えば４４８バイトである。データ５０４ｄ２Ｃは、ＳＲＡＭ２０７のメモリバンク２０７ｂ、即ち、ＢＡＮＫ１から読み出される。データ５０４ｄ２ＣをＳＲＡＭ２０７から読み出す際の先頭アドレスは、例えば０ｘ０８０番地である。
【００９５】
次に、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃのうちの０ｘ１８１番地に格納されている端数データ５０４ｄ２Ｒ及びダミーデータ５０４ｄ２Ｄが読み出される。上述したように、端数データ５０４ｄ２Ｒは、分割ブロック５０１ｄの第２番目のラインの右端に位置するものである。
【００９６】
ＳＲＡＭ２０７から読み出されたこれらのデータ、即ち、端数データ５０４ｃ２Ｒ、５０４ｄ２Ｌ、データ５０４ｄ２Ｃ、端数データ５０４ｄ２Ｒ、及び、ダミーデータ５０４ｄ２Ｄは、メモリバス１５１を介して伝送される。アドレス演算部２０３は、オフセット値を加算することによって、これらのデータ５０４ｃ２Ｒ、５０４ｄ２Ｌ、５０４ｄ２Ｃ、５０４ｄ２Ｒ、５０４ｄ２Ｄの書き込み開始アドレスを生成する。オフセット値は、上述したように、例えば２０１６バイトである。上述したように、端数データ５０４ｃ２Ｒのサイズは２バイトである。また、上述したように、端数データ５０４ｄ２Ｌのサイズは、３０バイトである。また、上述したように、データ５０４ｄ２Ｃのサイズは、４４８バイトである。また、上述したように、端数データ５０４ｄ２Ｒのサイズは２４バイトである。また、上述したように、ダミーデータ５０４ｄ２Ｄのサイズは８バイトである。従って、ＳＲＡＭ２０７から読み出されるこれらのデータ５０４ｃ２Ｒ、５０４ｄ２Ｌ、５０４ｄ２Ｃ、５０４ｄ２Ｒ、５０４ｄ２Ｄの合計のサイズは、５１２バイトである。合計のサイズが５１２バイトであるこれらのデータ５０４ｃ２Ｒ、５０４ｄ２Ｌ、５０４ｄ２Ｃ、５０４ｄ２Ｒ、５０４ｄ２Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。こうして、ＤＲＡＭ１０７のうちのデータ５０４ｃ２Ｃが書き込まれたアドレスの直後のアドレスに、端数データ５０４ｃ２Ｒ、５０４ｄ２Ｌ、データ５０４ｄ２Ｃ、端数データ５０４ｄ２Ｒ、及び、ダミーデータ５０４ｄ２Ｄが書き込まれる。換言すれば、ＤＲＡＭ１０７のうちのデータ５０４ｃ２Ｃが書き込まれたアドレスの直後のアドレスに、以下のようなデータが順次書き込まれる。即ち、端数データ５０４ｃ２Ｒに端数データ５０４ｄ２Ｌを結合することにより得られる結合データと、データ５０４ｄ２Ｃと、端数データ５０４ｄ２Ｒにダミーデータ５０４ｄ２Ｄを結合することにより得られる結合データとが順次書き込まれる。
【００９７】
この後も、上記と同様の処理が、分割ブロック５０１ｄの第３番目以降のラインについて順次行われる。分割ブロック５０１ｄに含まれているラインは、上述したように例えば６４である。従って、上記と同様の処理が、分割ブロック５０１ｃの第６４番目のラインまで繰り返し行われる。
この後、上記と同様にして、分割ブロック５０１ｅ〜５０１ｌに対する処理が行われる。
【００９８】
なお、分割ブロック５０１ｄの各ラインの右端に位置する端数データと、分割ブロック５０１ａの各ラインの左端に位置する端数データとを結合させて、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃに書き込むようにしてもよい。この場合、分割ブロック５０１ｄの各ラインの最後にこのようなデータが書き込まれる。分割ブロック５０１ｄの各ラインの右端に位置する端数データと、分割ブロック５０１ａの各ラインの左端に位置する端数データとを組み合わせることにより得られるデータも、ＤＲＡＭ１０７のバーストアクセス単位にアラインし得る。
【００９９】
このように、本実施形態によれば、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインするように、端数データのサイズの調整が行われる。このため、本実施形態によれば、コマンドオーバーヘッドを低減することができ、書き込み速度の低下を抑制し得る。
【０１００】
［第２実施形態］
第２実施形態による画像処理装置及び画像処理方法について図６及び図７を用いて説明する。第１実施形態による画像処理装置等と同一の構成要素には、同一の符号を付して説明を省略又は簡潔にする。
【０１０１】
本実施形態による画像処理装置１００は、ＷＲＤＭＡＣ２０２とは異なるＷＲＤＭＡＣ２３２に備えられたＳＲＡＭ２３７に端数データ５０４ＬＲやダミーデータ５０４Ｄを一時的に格納するものである。
【０１０２】
図６は、本実施形態による画像処理装置１００のデータ転送部１０５に備えられたＷＲＤＭＡＣ２０２，２１２，２２２，２３２を示すブロック図である。図６には、モジュール２０１，２１１，２２１と、セレクタ２５１と、ＷＲＤＭＡＣ２０２，２１２，２２２，２３２と、メモリバス１１５とが示されている。モジュール２０１、即ち、モジュールＡ（ＭＯＤＵＬＥ  Ａ）は、第１実施形態において上述したように、画像処理部１０４に備えられている。モジュールＢ（ＭＯＤＵＬＥ  Ｂ）、即ち、モジュール２１１も、画像処理部１０４に備えられている。モジュールＣ（ＭＯＤＵＬＥ  Ｃ）、即ち、モジュール２２１も、画像処理部１０４に備えられている。図７は、本実施形態による画像処理装置１００のＷＲＤＭＡＣ２０２、２３２にそれぞれ備えられたＳＲＡＭ２０７、２３７のデータ格納領域の構成の例を示す図である。
【０１０３】
モジュール２０１，２１１，２２１は、所定の画像処理をそれぞれ行う。モジュール２０１，２１１，２２１とＷＲＤＭＡＣ２０２，２１２，２２２，２３２とは、セレクタ２５１を介して接続され得る。モジュール２０１，２１１，２２１から出力されるデータは、信号線ＤＡＴＡ＿Ａ，ＤＡＴＡ＿Ｂ，ＤＡＴＡ＿Ｃをそれぞれ介して伝送される。ＷＲＤＭＡＣ２０２，２１２，２２２，２３２には、信号線ＤＡＴＡ＿０，ＤＡＴＡ＿１，ＤＡＴＡ＿２，ＤＡＴＡ＿３をそれぞれ介してデータが供給される。有効データ出力期間であることを示す信号が、信号線ＶＡＬＩＤ＿Ａ，ＶＡＬＩＤ＿Ｂ，ＶＡＬＩＤ＿Ｃをそれぞれ介して、モジュール２０１，２１１，２２１からそれぞれ出力される。有効データ出力期間であることを示す信号が、信号線ＶＡＬＩＤ＿０，ＶＡＬＩＤ＿１，ＶＡＬＩＤ＿２，ＶＡＬＩＤ＿３をそれぞれ介して、ＷＲＤＭＡＣ２０２，２１２，２２２，２３２にそれぞれ供給される。ＷＲＤＭＡＣ２０２，２１２，２２２，２３２がデータを受け付け得ない状態であることを示す信号が、信号線ＳＴＯＰ＿０，ＳＴＯＰ＿１，ＳＴＯＰ＿２，ＳＴＯＰ＿３をそれぞれ介して、ＷＲＤＭＡＣ２０２，２１２，２２２，２３２からそれぞれ出力される。ＷＲＤＭＡＣ２０２，２１２，２２２，２３２がデータを受け付け得ない状態であることを示す信号が、信号線ＳＴＯＰ＿Ａ，ＳＴＯＰ＿Ｂ，ＳＴＯＰ＿Ｃをそれぞれ介して、モジュール２０１，２１１，２２１に供給される。セレクタ２５１は、これらの信号の供給先を適宜選択する。
【０１０４】
ＷＲＤＭＡＣ（ＷＲＤＭＡＣ＿０）２０２には、第１実施形態において上述したように、アドレス演算部２０３、書き込み制御部２０４、ＳＲＡＭ２０７、読み出し制御部２０８、バスＩ／Ｆ部２０９が備えられている。ＷＲＤＭＡＣ（ＷＲＤＭＡＣ＿１）２１２には、アドレス演算部２１３、書き込み制御部２１４、ＳＲＡＭ２１７、読み出し制御部２１８、バスＩ／Ｆ部２１９が備えられている。ＷＲＤＭＡＣ（ＷＲＤＭＡＣ＿２）２２２には、アドレス演算部２２３、書き込み制御部２２４、ＳＲＡＭ２２７、読み出し制御部２２８、バスＩ／Ｆ部２２９が備えられている。ＷＲＤＭＡＣ（ＷＲＤＭＡＣ＿３）２３２には、アドレス演算部２３３、書き込み制御部２３４、ＳＲＡＭ２３７、読み出し制御部２３８、バスＩ／Ｆ部２３９が備えられている。ＳＲＡＭ２０７は、第１実施形態において上述したように、２つのメモリバンク２０７ａ、２０７ｂを備えている。ＳＲＡＭ２１７は、２つのメモリバンク２１７ａ、２１７ｂを備えている。ＳＲＡＭ２２７は、２つのメモリバンク２２７ａ、２２７ｂを備えている。ＳＲＡＭ２３７は、２つのメモリバンク２３７ａ、２３７ｂを備えている。
【０１０５】
アドレス演算部２１３，２２３，２３３は、アドレス演算部２０３と同様の機能を有する。書き込み制御部２１４，２２４，２３４は、書き込み制御部２０４と同様の機能を有する。ＳＲＡＭ２１７，２２７，２３７は、ＳＲＡＭ２０７と同様の機能を有する。読み出し制御部２１８，２２８，２３８は、読み出し制御部２０８と同様の機能を有する。バスＩ／Ｆ部２１９，２２９，２３９は、バスＩ／Ｆ部２０９と同様の機能を有する。
【０１０６】
書き込み制御部２０４，２１４，２２４，２３４とＳＲＡＭ２０７，２１７，２２７，２３７との間には、書き込み用のメモリバス２６０が備えられている。ＳＲＡＭ２０７，２１７，２２７，２３７と読み出し制御部２０８，２１８，２２８，２３８との間には、読み出し用のメモリバス２６１が備えられている。書き込み制御部２０４，２１４，２２４，２３４は、当該書き込み制御部が備えられたＷＲＤＭＡＣ２０２，２１２，２２２，２３２とは異なるＷＲＤＭＡＣに備えられたＳＲＡＭ２０７，２１７，２２７，２３７に、メモリバス２６０介してアクセスし得る。例えば、ＷＲＤＭＡＣ２０２に備えられたＳＲＡＭ書き込み制御部２０４は、ＷＲＤＭＡＣ２３２に備えられたＳＲＡＭ２３７に対して、メモリバス２６０を介して書き込み処理を行い得る。
【０１０７】
ここでは、モジュール２０１，２１１，２２１とＷＲＤＭＡＣ２０２，２１２，２２２，２３２とが以下のように接続されている場合を例に説明する。即ち、モジュール２０１は、セレクタ２５１を介してＷＲＤＭＡＣ２０２に接続されている。また、モジュール２１１は、セレクタ２５１を介してＷＲＤＭＡＣ２１２に接続されている。また、モジュール２２１は、セレクタ２５１を介してＷＲＤＭＡＣ２２２に接続されている。ＷＲＤＭＡＣ２３２は、モジュール２０１，２１１，２２１のいずれも接続されておらず、未使用状態である。ここでは、ＷＲＤＭＡＣ２０２に備えられたＳＲＡＭ２０７が、端数データ５０４ＬＲとダミーデータ５０４Ｄのいずれでもないデータ５０４Ｃを格納するために用いられる場合を例に説明する。また、ここでは、未使用状態のＷＲＤＭＡＣであるＷＲＤＭＡＣ２３２に備えられたＳＲＡＭ２３７が、端数データ５０４ＬＲ及びダミーデータ５０４Ｄを格納するために用いられる場合を例に説明する。
【０１０８】
書き込み制御部２０４，２１４，２２４，２３４からそれぞれ出力される書き込みアドレスは、信号線ＷＲ＿ＡＤＤＲ＿０＿ＩＢＵＳ，ＷＲ＿ＡＤＤＲ＿１＿ＩＢＵＳ，ＷＲ＿ＡＤＤＲ＿２＿ＩＢＵＳ，ＷＲ＿ＡＤＤＲ＿３＿ＩＢＵＳを介して供給される。信号線ＷＲ＿ＡＤＤＲ＿０＿ＯＢＵＳ，ＷＲ＿ＡＤＤＲ＿１＿ＯＢＵＳ，ＷＲ＿ＡＤＤＲ＿２＿ＯＢＵＳ，ＷＲ＿ＡＤＤＲ＿３＿ＯＢＵＳをそれぞれ介して、ＳＲＡＭ２０７，２１７，２２７，２３７に書き込みアドレスがそれぞれ供給される。
【０１０９】
書き込み制御部２０４，２１４，２２４，２３４からそれぞれ出力される書き込みイネーブル信号は、信号線ＷＥＮ＿０＿ＩＢＵＳ，ＷＥＮ＿１＿ＩＢＵＳ，ＷＥＮ＿２＿ＩＢＵＳ，ＷＥＮ＿３＿ＩＢＵＳを介してそれぞれ供給される。信号線ＷＥＮ＿０＿ＯＢＵＳ，ＷＥＮ＿１＿ＯＢＵＳ，ＷＥＮ＿２＿ＯＢＵＳ，ＷＥＮ＿３＿ＯＢＵＳをそれぞれ介して、ＳＲＡＭ２０７，２１７，２２７，２３７に書き込みイネーブル信号がそれぞれ供給される。
【０１１０】
書き込み制御部２０４，２１４，２２４，２３４からそれぞれ出力されるデータは、信号線ＤＩＮ＿０＿ＩＢＵＳ，ＤＩＮ＿１＿ＩＢＵＳ，ＤＩＮ＿２＿ＩＢＵＳ，ＤＩＮ＿３＿ＩＢＵＳを介してそれぞれ供給される。信号線ＤＩＮ＿０＿ＯＢＵＳ，ＤＩＮ＿１＿ＯＢＵＳ，ＤＩＮ＿２＿ＯＢＵＳ，ＤＩＮ＿３＿ＯＢＵＳを介して、ＳＲＡＭ２０７，２１７，２２７，２３７にデータがそれぞれ供給される。
【０１１１】
読み出し制御部２０８，２１８，２２８，２３８は、信号線ＲＤ＿ＡＤＤＲ＿０＿ＩＢＵＳ，ＲＤ＿ＡＤＤＲ＿１＿ＩＢＵＳ，ＲＤ＿ＡＤＤＲ＿２＿ＩＢＵＳ，ＲＤ＿ＡＤＤＲ＿３＿ＩＢＵＳを介して読み出しアドレスを供給する。信号線ＲＤ＿ＡＤＤＲ＿０＿ＯＢＵＳ，ＲＤ＿ＡＤＤＲ＿１＿ＯＢＵＳ，ＲＤ＿ＡＤＤＲ＿２＿ＯＢＵＳ，ＲＤ＿ＡＤＤＲ＿３＿ＯＢＵＳを介して、読み出しアドレスがＳＲＡＭ２０７，２１７，２２７，２３７にそれぞれ供給される。
【０１１２】
読み出し制御部２０８，２１８，２２８，２３８は、信号線ＲＥＮ＿０＿ＩＢＵＳ，ＲＥＮ＿１＿ＩＢＵＳ，ＲＥＮ＿２＿ＩＢＵＳ，ＲＥＮ＿３＿ＩＢＵＳを介して読み出しイネーブル信号を供給する。信号線ＲＥＮ＿０＿ＯＢＵＳ，ＲＥＮ＿１＿ＯＢＵＳ，ＲＥＮ＿２＿ＯＢＵＳ，ＲＥＮ＿３＿ＯＢＵＳを介して、読み出しイネーブル信号がＳＲＡＭ２０７，２１７，２２７，２３７にそれぞれ供給される。
【０１１３】
ＳＲＡＭ２０７，２１７，２２７，２３７は、信号線ＤＯＵＴ＿０＿ＯＢＵＳ，ＤＯＵＴ＿１＿ＯＢＵＳ，ＤＯＵＴ＿２＿ＯＢＵＳ，ＤＯＵＴ＿３＿ＯＢＵＳを介してデータを供給する。信号線ＤＯＵＴ＿０＿ＩＢＵＳ，ＤＯＵＴ＿１＿ＩＢＵＳ，ＤＯＵＴ＿２＿ＩＢＵＳ，ＤＯＵＴ＿３＿ＩＢＵＳを介して、読み出し制御部２０８，２１８，２２８，２３８にデータが供給される。
【０１１４】
アドレス演算部２０３，２１３，２２３，２３３は、信号線ＭＥＭ＿ＡＤＤＲ＿０，ＭＥＭ＿ＡＤＤＲ＿１，ＭＥＭ＿ＡＤＤＲ＿２，ＭＥＭ＿ＡＤＤＲ＿３をそれぞれ介して、以下のような信号をバスＩ／Ｆ部２０９，２１９，２２９，２３９に供給する。アドレス演算部２０３，２１３，２２３，２３３は、ＤＲＡＭ１０７に対して書き込みを行う際の書き込み開始アドレスを、信号線ＭＥＭ＿ＡＤＤＲ＿０，ＭＥＭ＿ＡＤＤＲ＿１，ＭＥＭ＿ＡＤＤＲ＿２，ＭＥＭ＿ＡＤＤＲ＿３をそれぞれ介して供給する。また、アドレス演算部２０３，２１３，２２３，２３３は、転送バースト長を示す情報を、信号線ＭＥＭ＿ＡＤＤＲ＿０，ＭＥＭ＿ＡＤＤＲ＿１，ＭＥＭ＿ＡＤＤＲ＿２，ＭＥＭ＿ＡＤＤＲ＿３をそれぞれ介して供給する。
【０１１５】
バスＩ／Ｆ部２０９，２１９，２２９，２３９は、リクエスト信号ＲＥＱ＿０，ＲＥＱ＿１，ＲＥＱ＿２，ＲＥＱ＿３を、メモリバス１１５を介してそれぞれ伝送する。書き込みを許可することを示す許可信号ＡＣＫ＿０，ＡＣＫ＿１，ＡＣＫ＿２，ＡＣＫ＿３が、メモリバス１１５を介してバスＩ／Ｆ部２０９，２１９，２２９，２３９にそれぞれ供給される。ＳＲＡＭ２０７，２１７，２２７，２３７からそれぞれ読み出されるデータは、信号線ＷＤＡＴＡ＿０，ＷＤＡＴＡ＿１，ＷＤＡＴＡ＿２，ＷＤＡＴＡ＿３をそれぞれ介し、更にメモリバス１１５を介して伝送される。
【０１１６】
端数データ５０４ＬＲとダミーデータ５０４Ｄのいずれでもないデータ５０４Ｃは、第１実施形態と同様に、ＷＲＤＭＡＣ２０２に備えられたＳＲＡＭ２０７に一時的に格納される。一方、端数データ５０４ＬＲ及びダミーデータ５０４Ｄは、ＷＲＤＭＡＣ２０２とは異なるＷＲＤＭＡＣである例えばＷＲＤＭＡＣ２３２に備えられたＳＲＡＭ２３７に一時的に格納される。
【０１１７】
具体的には、端数データ５０４ＬＲとダミーデータ５０４Ｄのいずれでもないデータ５０４Ｃは、以下のようにしてＳＲＡＭ２０７に書き込まれる。書き込み制御部２０４は、信号線ＷＲ＿ＡＤＤＲ＿０＿ＩＢＵＳ、メモリバス２６０、及び、信号線ＷＲ＿ＡＤＤＲ＿０＿ＯＢＵＳを介して、書き込みアドレスをＳＲＡＭ２０７に供給する。また、書き込み制御部２０４は、信号線ＷＥＮ＿０＿ＩＢＵＳ、メモリバス２６０、及び、信号線ＷＥＮ＿０＿ＯＢＵＳを介して、書き込みイネーブル信号をＳＲＡＭ２０７に供給する。また、書き込み制御部２０４は、信号線ＤＩＮ＿０＿ＩＢＵＳ、メモリバス２６０、及び、信号線ＤＩＮ＿０＿ＯＢＵＳを介して、データをＳＲＡＭ２０７に供給する。こうして、端数データ５０４ＬＲとダミーデータ５０４Ｄのいずれでもないデータ５０４ＣがＳＲＡＭ２０７に書き込まれる。
【０１１８】
端数データ５０４ＬＲとダミーデータ５０４Ｄのいずれでもないデータ５０４Ｃは、以下のようにしてＳＲＡＭ２０７から読み出される。読み出し制御部２０８は、信号線ＲＤ＿ＡＤＤＲ＿０＿ＩＢＵＳ、メモリバス２６１、及び、信号線ＲＤ＿ＡＤＤＲ＿０＿ＯＢＵＳを介して、読み出しアドレスをＳＲＡＭ２０７に供給する。また、読み出し制御部２０８は、信号線ＲＥＮ＿０＿ＩＢＵＳ、メモリバス２６１、及び、信号線ＲＥＮ＿０＿ＯＢＵＳを介して、読み出しイネーブル信号をＳＲＡＭ２０７に供給する。ＳＲＡＭ２０７は、信号線ＤＯＵＴ＿０＿ＯＢＵＳ、メモリバス２６１、及び、信号線ＤＯＵＴ＿０＿ＩＢＵＳを介して、データを読み出し制御部２０８に供給する。こうして、端数データ５０４ＬＲとダミーデータ５０４Ｄのいずれでもないデータ５０４ＣがＳＲＡＭ２０７から読み出される。ＳＲＡＭ２０７から読み出されたデータ５０４Ｃは、メモリバス１１５を介して伝送される。
【０１１９】
端数データ５０４ＬＲは、以下のようにしてＳＲＡＭ２３７に書き込まれる。ダミーデータ５０４Ｄも、端数データ５０４ＬＲの場合と同様に、以下のようにしてＳＲＡＭ２３７に書き込まれる。書き込み制御部２０４は、信号線ＷＲ＿ＡＤＤＲ＿０＿ＩＢＵＳ、メモリバス２６０、及び、信号線ＷＲ＿ＡＤＤＲ＿３＿ＯＢＵＳを介して、書き込みアドレスをＳＲＡＭ２３７に供給する。また、書き込み制御部２０４は、信号線ＷＥＮ＿０＿ＩＢＵＳ、メモリバス２６０、及び、信号線ＷＥＮ＿３＿ＯＢＵＳを介して、書き込みイネーブル信号をＳＲＡＭ２３７に供給する。また、書き込み制御部２０４は、信号線ＤＩＮ＿０＿ＩＢＵＳ、メモリバス２６０、及び、信号線ＤＩＮ＿３＿ＯＢＵＳを介して、データをＳＲＡＭ２３７に供給する。こうして、端数データ５０４ＬＲやダミーデータ５０４ＤがＳＲＡＭ２３７に書き込まれる。
【０１２０】
端数データ５０４ＬＲは、以下のようにしてＳＲＡＭ２３７から読み出される。ダミーデータ５０４Ｄも、端数データ５０４ＬＲと同様に、以下のようにしてＳＲＡＭ２３７から読み出される。読み出し制御部２０８は、信号線ＲＤ＿ＡＤＤＲ＿０＿ＩＢＵＳ、メモリバス２６１、及び、信号線ＲＤ＿ＡＤＤＲ＿３＿ＯＢＵＳを介して、読み出しアドレスをＳＲＡＭ２３７に供給する。また、読み出し制御部２０８は、信号線ＲＥＮ＿０＿ＩＢＵＳ、メモリバス２６１、及び、信号線ＲＥＮ＿３＿ＯＢＵＳを介して、読み出しイネーブル信号をＳＲＡＭ２３７に供給する。ＳＲＡＭ２３７は、信号線ＤＯＵＴ＿３＿ＯＢＵＳ、メモリバス２６１、及び、信号線ＤＯＵＴ＿０＿ＩＢＵＳを介して、データを読み出し制御部２０８に供給する。こうして、端数データ５０４ＬＲやダミーデータ５０４ＤがＳＲＡＭ２３７から読み出される。ＳＲＡＭ２３７から読み出された端数データ５０４ＬＲやダミーデータ５０４Ｄは、メモリバス１１５を介して伝送される。
【０１２１】
なお、動作のタイミングについては、図４Ａ及び図４Ｂを用いて上述した第１実施形態の場合と同様であるため説明を省略する。
【０１２２】
このように、ＷＲＤＭＡＣ２０２とは異なるＷＲＤＭＡＣ２３２に備えられたＳＲＡＭ２３７に端数データ５０４ＬＲやダミーデータ５０４Ｄを一時的に格納するようにしてよい。
【０１２３】
［第３実施形態］
第３実施形態による画像処理装置及び画像処理方法について図８を用いて説明する。第１又は第２実施形態による画像処理装置等と同一の構成要素には、同一の符号を付して説明を省略又は簡潔にする。
【０１２４】
図８は、本実施形態による画像処理装置１００の動作の例を示すフローチャートである。本実施形態による画像処理装置１００は、例えば、図２に示すようなＷＲＤＭＡＣ２０２を有している。
【０１２５】
ステップＳ８０１においては、転送パラメータの設定がＷＲＤＭＡＣ２０２において行われる。転送パラメータとしては、分割ブロック５０１の水平方向におけるデータサイズ、分割数等が挙げられる。この後、ステップＳ８０２に遷移する。
【０１２６】
ステップＳ８０２においては、分割ブロック５０１の水平方向におけるデータサイズが所定サイズ未満であるか否かが判定される。所定サイズは、例えば５１２バイトとされるが、これに限定されるものではない。分割ブロック５０１の水平方向におけるデータサイズが所定サイズ未満である場合には（ステップＳ８０２においてＹＥＳ）、ステップＳ８０４に遷移する。分割ブロック５０１の水平方向におけるデータサイズが所定サイズ以上である場合には（ステップＳ８０２においてＮＯ）、ステップＳ８０３に遷移する。
【０１２７】
ステップＳ８０３においては、分割ブロック５０１の水平方向における分割数が所定数以上であるか否かを判定する。換言すれば、分割ブロック５０１のサイズが所定値未満であるか否かが判定される。所定数は、例えば１６とされるが、これに限定されるものではない。分割ブロック５０１の水平方向における分割数が所定数以上である場合には（ステップＳ８０３においてＹＥＳ）、ステップＳ８０４に遷移する。分割ブロック５０１の水平方向における分割数が所定数である場合には（ステップＳ８０３においてＮＯ）、ステップＳ８０５に遷移する。
【０１２８】
ステップＳ８０４においては、ＤＲＡＭ１０７におけるバーストアクセス単位にデータサイズをアラインさせる処理を行いつつ、データをＤＲＡＭ１０７に書き込む。具体的には、互いに隣接する分割ブロック５０１の各々のライン５０３の端数データ５０４ＬＲが互いに結合される。第１及び第２実施形態において上述したように、端数データ５０４ＬＲは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインするように互いに結合される。結合された端数データ５０４ＬＲは、ＳＲＡＭ２０７の端数データ格納用領域２０７ｃに書き込まれる。ＳＲＡＭ２０７の端数データ格納用領域２０７ｃに書き込まれた端数データ５０４ＬＲは、ＳＲＡＭ２０７から読み出さる。ＳＲＡＭ２０７から読み出された端数データ５０４ＬＲは、ＤＲＡＭ１０７に書き込まれる。
ステップＳ８０５においては、ＤＲＡＭ１０７におけるバーストアクセス単位にデータサイズをアラインさせる処理を行うことなく、データをＤＲＡＭ１０７に書き込む。
こうして、図８に示す処理が完了する。
【０１２９】
このように、分割ブロック５０１の水平方向のデータサイズが所定サイズ未満である場合や分割ブロック５０１の水平方向の分割数が所定数より大きい場合に、ＤＲＡＭ１０７のバーストアクセス単位にデータサイズをアラインさせるようにしてもよい。これらの場合以外の場合には、ＤＲＡＭ１０７のバーストアクセス単位にデータサイズをアラインさせる処理を行わないようにしてもよい。これらの場合には、ＤＲＡＭ１０７におけるバーストアクセス単位にデータサイズがアラインしない頻度が低く、著しいコマンドオーバーヘッドが生じないためである。
【０１３０】
［第４実施形態］
第４実施形態による画像処理装置及び画像処理方法について図９乃至図１１を用いて説明する。第１乃至第３実施形態による画像処理装置等と同一の構成要素には、同一の符号を付して説明を省略又は簡潔にする。
【０１３１】
本実施形態による画像処理装置１００は、各々の端数データ５０４Ｒに対してダミーデータ５０４Ｄを付すものである。
【０１３２】
本実施形態による画像処理装置１００の基本的な構成は、図１を用いて上述した第１実施形態における画像処理装置１００の基本的な構成と同様である。
【０１３３】
図９は、本実施形態による画像処理装置１００のＷＲＤＭＡＣ２０２に備えられたＳＲＡＭ２０７のデータ格納領域の構成の例を示す図である。
図９に示すように、本実施形態による画像処理装置１００のＷＲＤＭＡＣ２０２に備えられたＳＲＡＭ２０７は、メモリバンク２０７ａと、メモリバンク２０７ｂとを備えている。
【０１３４】
図１１は、１フレームの画像に対応する仮想的なアドレス空間を示す図である。第１実施形態と同様に、１フレームの画像データを水平方向に４分割するとともに垂直方向に３分割することによって矩形の分割ブロック５０１ａ〜５０１ｌが画定されている。第１実施形態と同様に、モジュール２０１からＷＲＤＭＡＣ２０２へは、分割ブロック５０１ａ〜５０１ｌを単位とするデータの伝送が実行される。また、第１実施形態と同様に、ＷＲＤＭＡＣ２０２からＤＲＡＭ１０７へも、分割ブロック５０１ａ〜５０１ｌを単位とするデータの伝送が実行される。第１実施形態と同様に、１フレームの画像の左上端の画素のデータが書き込まれるアドレスが、当該画像データが書き込まれるアドレス領域の先頭のアドレスとなる。第１実施形態と同様に、当該画像データの先頭が書き込まれるアドレスは、例えばＤＲＡＭ１０７の０ｘ１０００番地とする。第１実施形態と同様に、当該画像の第１番目のラインから最終のラインまでが連続したアドレスに順次書き込まれる。第１実施形態と同様に、当該画像の第ｎ番目のラインの最後尾に位置する画素のデータが書き込まれるアドレスの次のアドレスには、当該画像の第ｎ＋１番目のラインの先頭に位置する画素のデータが書き込まれる。第１実施形態と同様に、当該画像の右下端に位置する画素のデータが書き込まれるアドレスが、当該画像データが書き込まれるアドレス領域の最後尾のアドレスとなる。
【０１３５】
第１実施形態と同様に、第１番目のブロックライン５０２ａに位置する分割ブロック５０１ａ〜５０１ｄの画像データの伝送が順次行われる。第１実施形態と同様に、第１番目のブロックライン５０２ａに位置する分割ブロック５０１ａ〜５０１ｄの画像データの伝送が完了した後には、第２番目のブロックライン５０２ｂに位置する分割ブロック５０１ｅ〜５０１ｈの画像データの伝送が順次行われる。第１実施形態と同様に、第２番目のブロックライン５０２ｂに位置する分割ブロック５０１ｅ〜５０１ｈの画像データの伝送が完了した後には、第３番目のブロックライン５０２ｃに位置する分割ブロック５０１ｉ〜５０１ｌの画像データの伝送が順次行われる。第１実施形態と同様に、ＤＲＡＭ１０７においては、画像の第１番目のラインから最終のラインまでが連続したアドレスに書き込まれることを要する。
【０１３６】
分割ブロック５０１ａ、５０１ｅ、５０１ｉの水平方向におけるデータサイズは例えば５０２バイトである。分割ブロック５０１ｂ、５０１ｆ、５０１ｊの水平方向におけるデータサイズは例えば４９０バイトである。分割ブロック５０１ｃ、５０１ｇ、５０１ｋの水平方向におけるデータサイズは例えば５１０バイトである。分割ブロック５０１ｄ、５０１ｈ、５０１ｌの水平方向におけるデータサイズは例えば５００バイトである。分割ブロック５０１の垂直方向におけるラインの数は例えば６４である。
【０１３７】
分割ブロック５０１に含まれるラインのサイズに対応する転送バースト長で伝送が行われるため、後述するような処理が行われない場合には、以下のような事象が生じ得る。即ち、上述したように分割ブロック５０１ａ、５０１ｅ、５０１ｉの水平方向におけるデータサイズは例えば５０２バイトである。一方、ＤＲＡＭ１０７におけるバーストアクセス単位は、例えば３２バイトである。このため、例えば、分割ブロック５０１ａ、５０１ｅ、５０１ｉのラインの右端において、２２バイトの端数データの書き込みアクセスが生じる。また、上述したように分割ブロック５０１ｂ、５０１ｆ、５０１ｊの水平方向におけるデータサイズは例えば４９０バイトである。一方、ＤＲＡＭ１０７におけるバーストアクセス単位は、例えば３２バイトである。このため、例えば、分割ブロック５０１ｂ、５０１ｆ、５０１ｊのラインの右端において、１０バイトの端数データの書き込みアクセスが生じる。また、上述したように分割ブロック５０１ｃ、５０１ｇ、５０１ｋの水平方向におけるデータサイズは例えば５１０バイトである。一方、ＤＲＡＭ１０７におけるバーストアクセス単位は、例えば３２バイトである。このため、例えば、分割ブロック５０１ｃ、５０１ｇ、５０１ｋのラインの右端において、３０バイトの端数データの書き込みアクセスが生じる。また、上述したように分割ブロック５０１ｄ、５０１ｈ、５０１ｌの水平方向におけるデータサイズは例えば５００バイトである。一方、ＤＲＡＭ１０７におけるバーストアクセス単位は、例えば３２バイトである。このため、例えば、分割ブロック５０１ｄ、５０１ｈ、５０１ｌのラインの右端において、２０バイトの端数データの書き込みアクセスが生じる。上述したように、このような端数データは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインしない。上述したように、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインしないこのような端数データが生じた場合には、ＤＲＡＭ１０７におけるバーストアクセス単位にデータがアラインする場合と比較して、コマンドオーバーヘッドが大きくなってしまう。
【０１３８】
ＳＲＡＭ２０７は、例えば、５１２ワード、即ち、１６３８４バイトの容量を有している。ＳＲＡＭ２０７の０ｘ０００番地〜０ｘ０７Ｆ番地までのアドレスは、ＢＡＮＫ０、即ち、メモリバンク２０７ａに割り当てられている。ＳＲＡＭ２０７の０ｘ０８０番地〜０ｘ０ＦＦ番地までのアドレスは、ＢＡＮＫ１、即ち、メモリバンク２０７ｂに割り当てられている。
【０１３９】
図１０Ａ及び図１０Ｂは、本実施形態による画像処理装置１００の動作を示すタイミングチャートである。図１０Ａ及び図１０Ｂには、ＤＲＡＭ１０７にデータを書き込む際におけるＳＲＡＭ２０７の動作が示されている。図１０Ａ及び図１０Ｂには、信号ＷＲ＿ＡＤＤＲ＿０、ＷＥＮ＿０、ＤＩＮ＿０、ＲＤ＿ＡＤＤＲ＿０、ＲＥＮ＿０、ＤＯＵＴ＿０が示されている。図１０Ａには、タイミングｔ１００１からタイミングｔ１００６までの動作が示されており、図１０Ｂには、タイミングｔ１００５からタイミングｔ１０１０までの動作が示されている。
【０１４０】
タイミングｔ１００１からタイミングｔ１００３までの期間１０１１は、モジュール２０１から出力される分割ブロック５０１ａの画像データがＳＲＡＭ２０７に書き込まれる期間である。期間１０１１においては、以下のような処理が行われる。
【０１４１】
まず、分割ブロック５０１ａの第１番目のラインのうちの右端に位置する端数データ５０４ａ１Ｒ以外のデータ５０４ａ１Ｃが、ＳＲＡＭ２０７に書き込まれる。データ５０４ａ１Ｃは、ＳＲＡＭ２０７の例えばメモリバンク２０７ａ、即ち、ＢＡＮＫ０に書き込まれる。データ５０４ａ１ＣをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０００番地である。データ５０４ａ１Ｃのサイズは、例えば４８０バイトである。このため、データ５０４ａ１Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１４２】
次に、分割ブロック５０１ａの第１番目のラインのうちの右端に位置する端数データ５０４ａ１Ｒと、ダミーデータ５０４ａ１Ｄとが、ＳＲＡＭ２０７に書き込まれる。端数データ５０４ａ１Ｒ及びダミーデータ５０４ａ１Ｄは、ＳＲＡＭ２０７の例えばメモリバンク２０７ａ、即ち、ＢＡＮＫ０に書き込まれる。端数データ５０４ａ１Ｒ及びダミーデータ５０４ａ１ＤをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ００Ｆ番地である。データ５０４ａ１Ｒのサイズは、例えば２２バイトである。ダミーデータ５０４ａ１Ｄのサイズは、例えば１０バイトである。合計のサイズが３２バイトであるこれらのデータ５０４ａ１Ｒ、５０４ａ１Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１４３】
次に、分割ブロック５０１ａの第２番目のラインのうちの右端に位置する端数データ５０４ａ２Ｒ以外のデータ５０４ａ２Ｃが、ＳＲＡＭ２０７に書き込まれる。データ５０４ａ２Ｃは、ＳＲＡＭ２０７の例えばメモリバンク２０７ｂ、即ち、ＢＡＮＫ１に書き込まれる。データ５０４ａ２ＣをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０８０番地である。データ５０４ａ２Ｃのサイズは、例えば４８０バイトである。このため、データ５０４ａ２Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１４４】
次に、分割ブロック５０１ａの第２番目のラインのうちの右端に位置する端数データ５０４ａ２Ｒと、ダミーデータ５０４ａ２Ｄとが、ＳＲＡＭ２０７に書き込まれる。端数データ５０４ａ２Ｒ及びダミーデータ５０４ａ２Ｄは、ＳＲＡＭ２０７の例えばメモリバンク２０７ｂ、即ち、ＢＡＮＫ１に書き込まれる。端数データ５０４ａ２Ｒ及びダミーデータ５０４ａ２ＤをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０８Ｆ番地である。データ５０４ａ２Ｒのサイズは、例えば２２バイトである。ダミーデータ５０４ａ２Ｄのサイズは、例えば１０バイトである。合計のサイズが３２バイトであるこれらのデータ５０４ａ２Ｒ、５０４ａ２Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１４５】
この後も、上記と同様の処理が、分割ブロック５０１ａの第３番目以降のラインについて順次行われる。分割ブロック５０１ａに含まれているラインは、上述したように例えば６４である。分割ブロック５０１ａの第６４番目のラインのデータは、以下のようにして処理される。即ち、分割ブロック５０１ａの第６４番目のラインのデータのうちの右端に位置する端数データ５０４ａ６４Ｒ以外のデータ５０４ａ６４Ｃが、ＳＲＡＭ２０７に書き込まれる。データ５０４ａ６４Ｃは、ＳＲＡＭ２０７のメモリバンク２０７ｂ、即ち、ＢＡＮＫ１に書き込まれる。データ５０４ａ６４ＣをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０８０番地である。データ５０４ａ６４Ｃのサイズは、例えば４８０バイトである。このため、データ５０４ａ６４Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。この後、分割ブロック５０１ａの第６４番目のラインのデータのうちの右端に位置する端数データ５０４ａ６４Ｒと、ダミーデータ５０４ａ６４Ｄとが、ＳＲＡＭ２０７に書き込まれる。端数データ５０４ａ６４Ｒ及びダミーデータ５０４ａ６４Ｄは、ＳＲＡＭ２０７のメモリバンク２０７ｂ、即ち、ＢＡＮＫ１に書き込まれる。端数データ５０４ａ６４Ｒ及びダミーデータ５０４ａ６４ＤをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０８Ｆ番地である。データ５０４ａ６４Ｒのサイズは、例えば２２バイトである。ダミーデータ５０４ａ６４Ｄのサイズは、例えば１０バイトである。合計のサイズが３２バイトであるこれらのデータ５０４ａ６４Ｒ、５０４ａ６４Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１４６】
タイミングｔ１００２からタイミングｔ１００４までの期間１０１２は、分割ブロック５０１ａの画像データがＳＲＡＭ２０７から読み出される期間である。期間１０１２の一部は、上述した期間１０１１の一部と重複している。期間１０１２においては、以下のような処理が行われる。
【０１４７】
まず、分割ブロック５０１ａの第１番目のラインのデータのうちの右端に位置する端数データ５０４ａ１Ｒ以外のデータ５０４ａ１Ｃが、ＳＲＡＭ２０７から読み出される。データ５０４ａ１Ｃのサイズは、上述したように例えば４８０バイトである。データ５０４ａ１Ｃは、ＳＲＡＭ２０７のメモリバンク２０７ａ、即ち、ＢＡＮＫ０から読み出される。データ５０４ａ１ＣをＳＲＡＭ２０７から読み出す際の先頭アドレスは、例えば０ｘ０００番地である。ＳＲＡＭ２０７から読み出されたデータ５０４ａ１Ｃは、メモリバス１５１を介して伝送される。ＤＲＡＭ１０７に画像データを書き込む際の先頭アドレス、即ち、ＤＲＡＭ１０７のスタートアドレスは、上述したように、例えば０ｘ１０００番地である。従って、アドレス演算部２０３は、データ５０４ａ１ＣをＤＲＡＭ１０７に書き込む際の書き込み開始アドレスを０ｘ１０００番地と設定する。こうして得られた書き込み開始アドレスは、信号線ＲＥＱ＿０を介して伝送される。こうして、分割ブロック５０１ａの第１番目のラインのデータのうちの右端に位置する端数データ５０４ａ１Ｒ以外のデータ５０４ａ１ＣがＤＲＡＭ１０７に書き込まれる。４８０バイト分のデータ５０４ａ１Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１４８】
次に、分割ブロック５０１ａの第１番目のラインのデータのうちの右端に位置する端数データ５０４ａ１Ｒと、ダミーデータ５０４ａ１Ｄとが、ＳＲＡＭ２０７から読み出される。端数データ５０４ａ１Ｒ及びダミーデータ５０４ａ１ＤをＳＲＡＭ２０７から読み出す際の先頭アドレスは、例えば０ｘ００Ｆ番地である。ＳＲＡＭ２０７から読み出された端数データ５０４ａ１Ｒと、ダミーデータ５０４ａ１Ｄとは、メモリバス１５１を介して伝送される。データ５０４ａ１Ｒのサイズは、上述したように、例えば２２バイトである。ダミーデータ５０４ａ１Ｄのサイズは、上述したように、例えば１０バイトである。合計のサイズが３２バイトであるこれらのデータ５０４ａ１Ｒ、５０４ａ１Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１４９】
次に、分割ブロック５０１ａの第２番目のラインのデータのうちの右端に位置する端数データ５０４ａ２Ｒ以外のデータ５０４ａ２Ｃが、ＳＲＡＭ２０７から読み出される。データ５０４ａ２Ｃのサイズは、上述したように例えば４８０バイトである。データ５０４ａ２Ｃは、ＳＲＡＭ２０７のメモリバンク２０７ｂ、即ち、ＢＡＮＫ１から読み出される。データ５０４ａ２ＣをＳＲＡＭ２０７から読み出す際の先頭アドレスは、例えば０ｘ０８０番地である。ＳＲＡＭ２０７から読み出されたデータ５０４ａ２Ｃは、メモリバス１５１を介して伝送される。アドレス演算部２０３は、データ５０４ａ１Ｃの書き込み開始アドレスである０ｘ１０００番地に、オフセット値を加算することによって、データ５０４ａ２Ｃの書き込み開始アドレスを生成する。オフセット値は、例えば２０４８バイトとされる。こうして得られる書き込み開始アドレスは、例えば０ｘ１８００番地である。こうして得られる書き込み開始アドレスは、信号線ＲＥＱ＿０を介して伝送される。こうして、分割ブロック５０１ａの第２番目のラインのデータのうちの右端に位置する端数データ５０４ａ２Ｒ以外のデータ５０４ａ２ＣがＤＲＡＭ１０７に書き込まれる。４８０バイト分のデータ５０４ａ２Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１５０】
次に、分割ブロック５０１ａの第２番目のラインのデータのうちの右端に位置する端数データ５０４ａ２Ｒと、ダミーデータ５０４ａ２Ｄとが、ＳＲＡＭ２０７から読み出される。端数データ５０４ａ２Ｒ及びダミーデータ５０４ａ２ＤをＳＲＡＭ２０７から読み出す際の先頭アドレスは、例えば０ｘ０８Ｆ番地である。ＳＲＡＭ２０７から読み出された端数データ５０４ａ２Ｒと、ダミーデータ５０４ａ２Ｄとは、メモリバス１５１を介して伝送される。データ５０４ａ２Ｒのサイズは、上述したように、例えば２２バイトである。ダミーデータ５０４ａ２Ｄのサイズは、上述したように、例えば１０バイトである。合計のサイズが３２バイトであるこれらのデータ５０４ａ２Ｒ、５０４ａ２Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１５１】
この後も、上記と同様の処理が、分割ブロック５０１ａの第３番目以降のラインについて順次行われる。分割ブロック５０１ａに含まれているラインは、上述したように例えば６４である。分割ブロック５０１ａの第６４番目のラインのデータは、以下のようにして処理される。即ち、分割ブロック５０１ａの第６４番目のラインのデータのうちの右端に位置する端数データ５０４ａ６４Ｒ以外のデータ５０４ａ６４Ｃが、ＳＲＡＭ２０７から読み出される。ＳＲＡＭ２０７から読み出されたデータ５０４ａ６４Ｃは、メモリバス１５１を介して伝送される。こうして、分割ブロック５０１ａの第６４番目のラインのデータのうちの右端に位置する端数データ５０４ａ６４Ｒ以外のデータ５０４ａ６４ＣがＤＲＡＭ１０７に書き込まれる。データ５０４ａ６４Ｃのサイズは、上述したように例えば４８０バイトである。４８０バイト分のデータ５０４ａ６４Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。分割ブロック５０１ａの第６４番目のラインのデータのうちの右端に位置する端数データ５０４ａ６４Ｒと、ダミーデータ５０４ａ６４Ｄとが、ＳＲＡＭ２０７から読み出される。ＳＲＡＭ２０７から読み出された端数データ５０４ａ６４Ｒと、ダミーデータ５０４ａ６４Ｄとは、メモリバス１５１を介して伝送される。データ５０４ａ６４Ｒのサイズは、上述したように、例えば２２バイトである。ダミーデータ５０４ａ６４Ｄのサイズは、上述したように、例えば１０バイトである。合計のサイズが３２バイトであるこれらのデータ５０４ａ６４Ｒ、５０４ａ６４Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１５２】
タイミングｔ１００３からタイミングｔ１００５までの期間１０１３は、モジュール２０１から出力される分割ブロック５０１ｂの画像データがＳＲＡＭ２０７に書き込まれる期間である。期間１０１３においては、以下のような処理が行われる。
【０１５３】
まず、分割ブロック５０１ｂの第１番目のラインのうちの右端に位置する端数データ５０４ｂ１Ｒ以外のデータ５０４ｂ１Ｃが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｂ１Ｃは、ＳＲＡＭ２０７の例えばメモリバンク２０７ａ、即ち、ＢＡＮＫ０に書き込まれる。データ５０４ｂ１ＣをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０００番地である。データ５０４ｂ１Ｃのサイズは、例えば４８０バイトである。このため、データ５０４ｂ１Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１５４】
次に、分割ブロック５０１ｂの第１番目のラインのうちの右端に位置する端数データ５０４ｂ１Ｒと、ダミーデータ５０４ｂ１Ｄとが、ＳＲＡＭ２０７に書き込まれる。端数データ５０４ｂ１Ｒ及びダミーデータ５０４ｂ１Ｄは、ＳＲＡＭ２０７の例えばメモリバンク２０７ａ、即ち、ＢＡＮＫ０に書き込まれる。端数データ５０４ｂ１Ｒ及びダミーデータ５０４ｂ１ＤをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ００Ｆ番地である。データ５０４ｂ１Ｒのサイズは、例えば１０バイトである。ダミーデータ５０４ｂ１Ｄのサイズは、例えば２２バイトである。合計のサイズが３２バイトであるこれらのデータ５０４ｂ１Ｒ、５０４ｂ１Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１５５】
次に、分割ブロック５０１ｂの第２番目のラインのうちの右端に位置する端数データ５０４ｂ２Ｒ以外のデータ５０４ｂ２Ｃが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｂ２Ｃは、ＳＲＡＭ２０７の例えばメモリバンク２０７ｂ、即ち、ＢＡＮＫ１に書き込まれる。データ５０４ｂ２ＣをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０８０番地である。データ５０４ｂ２Ｃのサイズは、例えば４８０バイトである。このため、データ５０４ｂ２Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１５６】
次に、分割ブロック５０１ｂの第２番目のラインのうちの右端に位置する端数データ５０４ｂ２Ｒと、ダミーデータ５０４ｂ２Ｄとが、ＳＲＡＭ２０７に書き込まれる。端数データ５０４ｂ２Ｒ及びダミーデータ５０４ｂ２Ｄは、ＳＲＡＭ２０７の例えばメモリバンク２０７ｂ、即ち、ＢＡＮＫ１に書き込まれる。端数データ５０４ｂ２Ｒ及びダミーデータ５０４ｂ２ＤをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０８Ｆ番地である。データ５０４ｂ２Ｒのサイズは、例えば１０バイトである。ダミーデータ５０４ｂ２Ｄのサイズは、例えば２２バイトである。合計のサイズが３２バイトであるこれらのデータ５０４ｂ２Ｒ、５０４ｂ２Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１５７】
この後も、上記と同様の処理が、分割ブロック５０１ｂの第３番目以降のラインについて順次行われる。分割ブロック５０１ｂに含まれているラインは、上述したように例えば６４である。分割ブロック５０１ｂの第６４番目のラインのデータは、以下のようにして処理される。即ち、分割ブロック５０１ｂの第６４番目のラインのうちの右端に位置する端数データ５０４ｂ６４Ｒ以外のデータ５０４ｂ６４Ｃが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｂ６４Ｃは、ＳＲＡＭ２０７の例えばメモリバンク２０７ｂ、即ち、ＢＡＮＫ１に書き込まれる。データ５０４ｂ６４ＣをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０８０番地である。データ５０４ｂ６４Ｃのサイズは、例えば４８０バイトである。このため、データ５０４ｂ６４Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。この後、分割ブロック５０１ｂの第６４番目のラインのうちの右端に位置する端数データ５０４ｂ６４Ｒと、ダミーデータ５０４ｂ６４Ｄとが、ＳＲＡＭ２０７に書き込まれる。端数データ５０４ｂ６４Ｒ及びダミーデータ５０４ｂ６４Ｄは、ＳＲＡＭ２０７の例えばメモリバンク２０７ｂ、即ち、ＢＡＮＫ１に書き込まれる。端数データ５０４ｂ６４Ｒ及びダミーデータ５０４ｂ６４ＤをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０８Ｆ番地である。データ５０４ｂ６４Ｒのサイズは、例えば１０バイトである。ダミーデータ５０４ｂ６４Ｄのサイズは、例えば２２バイトである。合計のサイズが３２バイトであるこれらのデータ５０４ｂ６４Ｒ、５０４ｂ６４Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１５８】
タイミングｔ１００４からタイミングｔ１００６までの期間１０１４は、分割ブロック５０１ｂの画像データがＳＲＡＭ２０７から読み出される期間である。期間１０１４の一部は、上述した期間１０１３の一部と重複している。期間１０１４においては、以下のような処理が行われる。
【０１５９】
まず、分割ブロック５０１ｂの第１番目のラインのデータのうちの右端に位置する端数データ５０４ｂ１Ｒ以外のデータ５０４ｂ１Ｃが、ＳＲＡＭ２０７から読み出される。データ５０４ｂ１Ｃのサイズは、上述したように例えば４８０バイトである。データ５０４ｂ１Ｃは、ＳＲＡＭ２０７のメモリバンク２０７ａ、即ち、ＢＡＮＫ０から読み出される。データ５０４ｂ１ＣをＳＲＡＭ２０７から読み出す際の先頭アドレスは、例えば０ｘ０００番地である。ＳＲＡＭ２０７から読み出されたデータ５０４ｂ１Ｃは、メモリバス１５１を介して伝送される。アドレス演算部２０３は、データ５０４ａ１Ｃの書き込み開始アドレスである０ｘ１０００番地に、オフセット値を加算することによって、データ５０４ｂ１Ｃの書き込み開始アドレスを生成する。分割ブロック５０１ａの第１番目のラインのデータの直後に分割ブロック５０１ｂの第１番目のラインのデータが位置するように、オフセット値が設定される。こうして得られる書き込み開始アドレスは、例えば０ｘ１２００番地である。こうして得られる書き込み開始アドレスは、信号線ＲＥＱ＿０を介して伝送される。こうして、分割ブロック５０１ｂの第１番目のラインのデータのうちの右端に位置する端数データ５０４ｂ１Ｒ以外のデータ５０４ｂ１ＣがＤＲＡＭ１０７に書き込まれる。４８０バイト分のデータ５０４ｂ１Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１６０】
次に、分割ブロック５０１ｂの第１番目のラインのデータのうちの右端に位置する端数データ５０４ｂ１Ｒと、ダミーデータ５０４ｂ１Ｄとが、ＳＲＡＭ２０７から読み出される。ＳＲＡＭ２０７から読み出された端数データ５０４ｂ１Ｒと、ダミーデータ５０４ｂ１Ｄとは、メモリバス１５１を介して伝送される。データ５０４ｂ１Ｒのサイズは、上述したように、例えば１０バイトである。ダミーデータ５０４ｂ１Ｄのサイズは、上述したように、例えば２２バイトである。合計のサイズが３２バイトであるこれらのデータ５０４ｂ１Ｒ、５０４ｂ１Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１６１】
次に、分割ブロック５０１ｂの第２番目のラインのデータのうちの右端に位置する端数データ５０４ｂ２Ｒ以外のデータ５０４ｂ２Ｃが、ＳＲＡＭ２０７から読み出される。データ５０４ｂ２Ｃのサイズは、上述したように例えば４８０バイトである。データ５０４ｂ２Ｃは、ＳＲＡＭ２０７のメモリバンク２０７ｂ、即ち、ＢＡＮＫ１から読み出される。データ５０４ｂ２ＣをＳＲＡＭ２０７から読み出す際の先頭アドレスは、例えば０ｘ０８０番地である。ＳＲＡＭ２０７から読み出されたデータ５０４ｂ２Ｃは、メモリバス１５１を介して伝送される。アドレス演算部２０３は、データ５０４ｂ１Ｃの書き込み開始アドレスである０ｘ１２００番地に、オフセット値を加算することによって、データ５０４ｂ２Ｃの書き込み開始アドレスを生成する。オフセット値は、例えば２０４８バイトとされる。こうして得られる書き込み開始アドレスは、例えば０ｘ１Ａ００番地である。こうして得られる書き込み開始アドレスは、信号線ＲＥＱ＿０を介して伝送される。こうして、分割ブロック５０１ｂの第２番目のラインのデータのうちの右端に位置する端数データ５０４ｂ２Ｒ以外のデータ５０４ｂ２ＣがＤＲＡＭ１０７に書き込まれる。４８０バイト分のデータ５０４ｂ２Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１６２】
次に、分割ブロック５０１ｂの第２番目のラインのデータのうちの右端に位置する端数データ５０４ｂ２Ｒと、ダミーデータ５０４ｂ２Ｄとが、ＳＲＡＭ２０７から読み出される。ＳＲＡＭ２０７から読み出された端数データ５０４ｂ２Ｒと、ダミーデータ５０４ｂ２Ｄとは、メモリバス１５１を介して伝送される。データ５０４ｂ２Ｒのサイズは、上述したように、例えば１０バイトである。ダミーデータ５０４ｂ２Ｄのサイズは、上述したように、例えば２２バイトである。合計のサイズが３２バイトであるこれらのデータ５０４ｂ２Ｒ、５０４ｂ２Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１６３】
この後も、上記と同様の処理が、分割ブロック５０１ｂの第３番目以降のラインについて順次行われる。分割ブロック５０１ｂに含まれているラインは、上述したように例えば６４である。分割ブロック５０１ｂの第６４番目のラインのデータは、以下のようにして処理される。即ち、分割ブロック５０１ｂの第６４番目のラインのデータのうちの右端に位置する端数データ５０４ｂ６４Ｒ以外のデータ５０４ｂ６４Ｃが、ＳＲＡＭ２０７から読み出される。ＳＲＡＭ２０７から読み出されたデータ５０４ｂ６４Ｃは、メモリバス１５１を介して伝送される。こうして、分割ブロック５０１ｂの第６４番目のラインのデータのうちの右端に位置する端数データ５０４ｂ６４Ｒ以外のデータ５０４ｂ６４ＣがＤＲＡＭ１０７に書き込まれる。データ５０４ｂ６４Ｃのサイズは、上述したように例えば４８０バイトである。４８０バイト分のデータ５０４ｂ６４Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。分割ブロック５０１ｂの第６４番目のラインのデータのうちの右端に位置する端数データ５０４ｂ６４Ｒと、ダミーデータ５０４ｂ６４Ｄとが、ＳＲＡＭ２０７から読み出される。ＳＲＡＭ２０７から読み出された端数データ５０４ｂ６４Ｒと、ダミーデータ５０４ｂ６４Ｄとは、メモリバス１５１を介して伝送される。データ５０４ｂ６４Ｒのサイズは、上述したように、例えば１０バイトである。ダミーデータ５０４ｂ６４Ｄのサイズは、上述したように、例えば２２バイトである。合計のサイズが３２バイトであるこれらのデータ５０４ｂ６４Ｒ、５０４ｂ６４Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１６４】
タイミングｔ１００５からタイミングｔ１００７までの期間１０１５は、モジュール２０１から出力される分割ブロック５０１ｃの画像データがＳＲＡＭ２０７に書き込まれる期間である。期間１０１５においては、以下のような処理が行われる。
【０１６５】
まず、分割ブロック５０１ｃの第１番目のラインのうちの右端に位置する端数データ５０４ｃ１Ｒ以外のデータ５０４ｃ１Ｃが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｃ１Ｃは、ＳＲＡＭ２０７の例えばメモリバンク２０７ａ、即ち、ＢＡＮＫ０に書き込まれる。データ５０４ｃ１ＣをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０００番地である。データ５０４ｃ１Ｃのサイズは、例えば４８０バイトである。このため、データ５０４ｃ１Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１６６】
次に、分割ブロック５０１ｃの第１番目のラインのうちの右端に位置する端数データ５０４ｃ１Ｒと、ダミーデータ５０４ｃ１Ｄとが、ＳＲＡＭ２０７に書き込まれる。端数データ５０４ｃ１Ｒ及びダミーデータ５０４ｃ１Ｄは、ＳＲＡＭ２０７の例えばメモリバンク２０７ａ、即ち、ＢＡＮＫ０に書き込まれる。端数データ５０４ｃ１Ｒ及びダミーデータ５０４ｃ１ＤをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ００Ｆ番地である。データ５０４ｃ１Ｒのサイズは、例えば３０バイトである。ダミーデータ５０４ｃ１Ｄのサイズは、例えば２バイトである。合計のサイズが３２バイトであるこれらのデータ５０４ｃ１Ｒ、５０４ｃ１Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１６７】
次に、分割ブロック５０１ｃの第２番目のラインのうちの右端に位置する端数データ５０４ｃ２Ｒ以外のデータ５０４ｃ２Ｃが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｃ２Ｃは、ＳＲＡＭ２０７の例えばメモリバンク２０７ｂ、即ち、ＢＡＮＫ１に書き込まれる。データ５０４ｃ２ＣをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０８０番地である。データ５０４ｃ２Ｃのサイズは、例えば４８０バイトである。このため、データ５０４ｃ２Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１６８】
次に、分割ブロック５０１ｃの第２番目のラインのうちの右端に位置する端数データ５０４ｃ２Ｒと、ダミーデータ５０４ｃ２Ｄとが、ＳＲＡＭ２０７に書き込まれる。端数データ５０４ｃ２Ｒ及びダミーデータ５０４ｃ２Ｄは、ＳＲＡＭ２０７の例えばメモリバンク２０７ｂ、即ち、ＢＡＮＫ１に書き込まれる。端数データ５０４ｃ２Ｒ及びダミーデータ５０４ｃ２ＤをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０８Ｆ番地である。データ５０４ｃ２Ｒのサイズは、例えば３０バイトである。ダミーデータ５０４ｃ２Ｄのサイズは、例えば２バイトである。合計のサイズが３２バイトであるこれらのデータ５０４ｃ２Ｒ、５０４ｃ２Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１６９】
この後も、上記と同様の処理が、分割ブロック５０１ｃの第３番目以降のラインについて順次行われる。分割ブロック５０１ｃに含まれているラインは、上述したように例えば６４である。分割ブロック５０１ｃの第６４番目のラインのデータは、以下のようにして処理される。即ち、分割ブロック５０１ｃの第６４番目のラインのうちの右端に位置する端数データ５０４ｃ６４Ｒ以外のデータ５０４ｃ６４Ｃが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｃ６４Ｃは、ＳＲＡＭ２０７の例えばメモリバンク２０７ｂ、即ち、ＢＡＮＫ１に書き込まれる。データ５０４ｃ６４ＣをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０８０番地である。データ５０４ｃ６４Ｃのサイズは、例えば４８０バイトである。このため、データ５０４ｃ６４Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。この後、分割ブロック５０１ｃの第６４番目のラインのうちの右端に位置する端数データ５０４ｃ６４Ｒと、ダミーデータ５０４ｃ６４Ｄとが、ＳＲＡＭ２０７に書き込まれる。端数データ５０４ｃ６４Ｒ及びダミーデータ５０４ｃ６４Ｄは、ＳＲＡＭ２０７の例えばメモリバンク２０７ｂ、即ち、ＢＡＮＫ１に書き込まれる。端数データ５０４ｃ６４Ｒ及びダミーデータ５０４ｃ６４ＤをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０８Ｆ番地である。データ５０４ｃ６４Ｒのサイズは、例えば３０バイトである。ダミーデータ５０４ｃ６４Ｄのサイズは、例えば２バイトである。合計のサイズが３２バイトであるこれらのデータ５０４ｃ６４Ｒ、５０４ｃ６４Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１７０】
タイミングｔ１００６からタイミングｔ１００８までの期間１０１６は、分割ブロック５０１ｃの画像データがＳＲＡＭ２０７から読み出される期間である。期間１０１６の一部は、上述した期間１０１５の一部と重複している。期間１０１６においては、以下のような処理が行われる。
【０１７１】
まず、分割ブロック５０１ｃの第１番目のラインのデータのうちの右端に位置する端数データ５０４ｃ１Ｒ以外のデータ５０４ｃ１Ｃが、ＳＲＡＭ２０７から読み出される。データ５０４ｃ１Ｃのサイズは、上述したように例えば４８０バイトである。データ５０４ｃ１Ｃは、ＳＲＡＭ２０７のメモリバンク２０７ａ、即ち、ＢＡＮＫ０から読み出される。データ５０４ｃ１ＣをＳＲＡＭ２０７から読み出す際の先頭アドレスは、例えば０ｘ０００番地である。ＳＲＡＭ２０７から読み出されたデータ５０４ｃ１Ｃは、メモリバス１５１を介して伝送される。アドレス演算部２０３は、データ５０４ｂ１Ｃの書き込み開始アドレスである０ｘ１２００番地に、オフセット値を加算することによって、データ５０４ｃ１Ｃの書き込み開始アドレスを生成する。分割ブロック５０１ｂの第１番目のラインのデータの直後に分割ブロック５０１ｃの第１番目のラインのデータが位置するように、オフセット値が設定される。こうして得られる書き込み開始アドレスは、例えば０ｘ１４００番地である。こうして得られる書き込み開始アドレスは、信号線ＲＥＱ＿０を介して伝送される。こうして、分割ブロック５０１ｃの第１番目のラインのデータのうちの右端に位置する端数データ５０４ｃ１Ｒ以外のデータ５０４ｃ１ＣがＤＲＡＭ１０７に書き込まれる。４８０バイト分のデータ５０４ｃ１Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１７２】
次に、分割ブロック５０１ｃの第１番目のラインのデータのうちの右端に位置する端数データ５０４ｃ１Ｒと、ダミーデータ５０４ｃ１Ｄとが、ＳＲＡＭ２０７から読み出される。ＳＲＡＭ２０７から読み出された端数データ５０４ｃ１Ｒと、ダミーデータ５０４ｃ１Ｄとは、メモリバス１５１を介して伝送される。データ５０４ｃ１Ｒのサイズは、上述したように、例えば３０バイトである。ダミーデータ５０４ｃ１Ｄのサイズは、上述したように、例えば２バイトである。合計のサイズが３２バイトであるこれらのデータ５０４ｃ１Ｒ、５０４ｃ１Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１７３】
次に、分割ブロック５０１ｃの第２番目のラインのデータのうちの右端に位置する端数データ５０４ｃ２Ｒ以外のデータ５０４ｃ２Ｃが、ＳＲＡＭ２０７から読み出される。データ５０４ｃ２Ｃのサイズは、上述したように例えば４８０バイトである。データ５０４ｃ２Ｃは、ＳＲＡＭ２０７のメモリバンク２０７ｂ、即ち、ＢＡＮＫ１から読み出される。データ５０４ｃ２ＣをＳＲＡＭ２０７から読み出す際の先頭アドレスは、例えば０ｘ０８０番地である。ＳＲＡＭ２０７から読み出されたデータ５０４ｃ２Ｃは、メモリバス１５１を介して伝送される。アドレス演算部２０３は、データ５０４ｃ１Ｃの書き込み開始アドレスである０ｘ１４００番地に、オフセット値を加算することによって、データ５０４ｃ２Ｃの書き込み開始アドレスを生成する。オフセット値は、例えば２０４８バイトとされる。こうして得られる書き込み開始アドレスは、例えば０ｘ１Ｃ００番地である。こうして得られる書き込み開始アドレスは、信号線ＲＥＱ＿０を介して伝送される。こうして、分割ブロック５０１ｃの第２番目のラインのデータのうちの右端に位置する端数データ５０４ｃ２Ｒ以外のデータ５０４ｃ２ＣがＤＲＡＭ１０７に書き込まれる。４８０バイト分のデータ５０４ｃ２Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１７４】
次に、分割ブロック５０１ｃの第２番目のラインのデータのうちの右端に位置する端数データ５０４ｃ２Ｒと、ダミーデータ５０４ｃ２Ｄとが、ＳＲＡＭ２０７から読み出される。ＳＲＡＭ２０７から読み出された端数データ５０４ｃ２Ｒと、ダミーデータ５０４ｃ２Ｄとは、メモリバス１５１を介して伝送される。データ５０４ｃ２Ｒのサイズは、上述したように、例えば３０バイトである。ダミーデータ５０４ｃ２Ｄのサイズは、上述したように、例えば２バイトである。合計のサイズが３２バイトであるこれらのデータ５０４ｃ２Ｒ、５０４ｃ２Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１７５】
この後も、上記と同様の処理が、分割ブロック５０１ｃの第３番目以降のラインについて順次行われる。分割ブロック５０１ｃに含まれているラインは、上述したように例えば６４である。分割ブロック５０１ｃの第６４番目のラインのデータは、以下のようにして処理される。即ち、分割ブロック５０１ｃの第６４番目のラインのデータのうちの右端に位置する端数データ５０４ｃ６４Ｒ以外のデータ５０４ｃ６４Ｃが、ＳＲＡＭ２０７から読み出される。ＳＲＡＭ２０７から読み出されたデータ５０４ｃ６４Ｃは、メモリバス１５１を介して伝送される。こうして、分割ブロック５０１ｃの第６４番目のラインのデータのうちの右端に位置する端数データ５０４ｃ６４Ｒ以外のデータ５０４ｃ６４ＣがＤＲＡＭ１０７に書き込まれる。データ５０４ｃ６４Ｃのサイズは、上述したように例えば４８０バイトである。４８０バイト分のデータ５０４ｃ６４Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。分割ブロック５０１ｃの第６４番目のラインのデータのうちの右端に位置する端数データ５０４ｃ６４Ｒと、ダミーデータ５０４ｃ６４Ｄとが、ＳＲＡＭ２０７から読み出される。ＳＲＡＭ２０７から読み出された端数データ５０４ｃ６４Ｒと、ダミーデータ５０４ｃ６４Ｄとは、メモリバス１５１を介して伝送される。データ５０４ｃ６４Ｒのサイズは、上述したように、例えば３０バイトである。ダミーデータ５０４ｃ６４Ｄのサイズは、上述したように、例えば２バイトである。合計のサイズが３２バイトであるこれらのデータ５０４ｃ６４Ｒ、５０４ｃ６４Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１７６】
タイミングｔ１００７からタイミングｔ１００９までの期間１０１７は、モジュール２０１から出力される分割ブロック５０１ｄの画像データがＳＲＡＭ２０７に書き込まれる期間である。期間１０１７においては、以下のような処理が行われる。
【０１７７】
まず、分割ブロック５０１ｄの第１番目のラインのうちの右端に位置する端数データ５０４ｄ１Ｒ以外のデータ５０４ｄ１Ｃが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｄ１Ｃは、ＳＲＡＭ２０７の例えばメモリバンク２０７ａ、即ち、ＢＡＮＫ０に書き込まれる。データ５０４ｄ１ＣをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０００番地である。データ５０４ｄ１Ｃのサイズは、例えば４８０バイトである。このため、データ５０４ｄ１Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１７８】
次に、分割ブロック５０１ｃの第１番目のラインのうちの右端に位置する端数データ５０４ｄ１Ｒと、ダミーデータ５０４ｄ１Ｄとが、ＳＲＡＭ２０７に書き込まれる。端数データ５０４ｄ１Ｒ及びダミーデータ５０４ｄ１Ｄは、ＳＲＡＭ２０７の例えばメモリバンク２０７ａ、即ち、ＢＡＮＫ０に書き込まれる。端数データ５０４ｄ１Ｒ及びダミーデータ５０４ｄ１ＤをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ００Ｆ番地である。データ５０４ｄ１Ｒのサイズは、例えば２０バイトである。ダミーデータ５０４ｄ１Ｄのサイズは、例えば１２バイトである。合計のサイズが３２バイトであるこれらのデータ５０４ｄ１Ｒ、５０４ｄ１Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１７９】
次に、分割ブロック５０１ｄの第２番目のラインのうちの右端に位置する端数データ５０４ｄ２Ｒ以外のデータ５０４ｄ２Ｃが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｄ２Ｃは、ＳＲＡＭ２０７の例えばメモリバンク２０７ｂ、即ち、ＢＡＮＫ１に書き込まれる。データ５０４ｄ２ＣをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０８０番地である。データ５０４ｄ２Ｃのサイズは、例えば４８０バイトである。このため、データ５０４ｄ２Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１８０】
次に、分割ブロック５０１ｄの第２番目のラインのうちの右端に位置する端数データ５０４ｄ２Ｒと、ダミーデータ５０４ｄ２Ｄとが、ＳＲＡＭ２０７に書き込まれる。端数データ５０４ｄ２Ｒ及びダミーデータ５０４ｄ２Ｄは、ＳＲＡＭ２０７の例えばメモリバンク２０７ｂ、即ち、ＢＡＮＫ１に書き込まれる。端数データ５０４ｃ２Ｒ及びダミーデータ５０４ｄ２ＤをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０８Ｆ番地である。データ５０４ｄ２Ｒのサイズは、例えば２０バイトである。ダミーデータ５０４ｄ２Ｄのサイズは、例えば１２バイトである。合計のサイズが３２バイトであるこれらのデータ５０４ｄ２Ｒ、５０４ｄ２Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１８１】
この後も、上記と同様の処理が、分割ブロック５０１ｄの第３番目以降のラインについて順次行われる。分割ブロック５０１ｄに含まれているラインは、上述したように例えば６４である。分割ブロック５０１ｄの第６４番目のラインのデータは、以下のようにして処理される。即ち、分割ブロック５０１ｄの第６４番目のラインのうちの右端に位置する端数データ５０４ｄ６４Ｒ以外のデータ５０４ｄ６４Ｃが、ＳＲＡＭ２０７に書き込まれる。データ５０４ｄ６４Ｃは、ＳＲＡＭ２０７の例えばメモリバンク２０７ｂ、即ち、ＢＡＮＫ１に書き込まれる。データ５０４ｄ６４ＣをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０８０番地である。データ５０４ｄ６４Ｃのサイズは、例えば４８０バイトである。このため、データ５０４ｄ６４Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。この後、分割ブロック５０１ｄの第６４番目のラインのうちの右端に位置する端数データ５０４ｄ６４Ｒと、ダミーデータ５０４ｄ６４Ｄとが、ＳＲＡＭ２０７に書き込まれる。端数データ５０４ｄ６４Ｒ及びダミーデータ５０４ｄ６４Ｄは、ＳＲＡＭ２０７の例えばメモリバンク２０７ｂ、即ち、ＢＡＮＫ１に書き込まれる。端数データ５０４ｄ６４Ｒ及びダミーデータ５０４ｄ６４ＤをＳＲＡＭ２０７に書き込む際の先頭アドレスは、例えば０ｘ０８Ｆ番地である。データ５０４ｄ６４Ｒのサイズは、例えば２０バイトである。ダミーデータ５０４ｄ６４Ｄのサイズは、例えば１２バイトである。合計のサイズが３２バイトであるこれらのデータ５０４ｄ６４Ｒ、５０４ｄ６４Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１８２】
タイミングｔ１００８からタイミングｔ１０１０までの期間１０１８は、分割ブロック５０１ｄの画像データがＳＲＡＭ２０７から読み出される期間である。期間１０１８の一部は、上述した期間１０１７の一部と重複している。期間１０１８においては、以下のような処理が行われる。
【０１８３】
まず、分割ブロック５０１ｄの第１番目のラインのデータのうちの右端に位置する端数データ５０４ｄ１Ｒ以外のデータ５０４ｄ１Ｃが、ＳＲＡＭ２０７から読み出される。データ５０４ｄ１Ｃのサイズは、上述したように例えば４８０バイトである。データ５０４ｄ１Ｃは、ＳＲＡＭ２０７のメモリバンク２０７ａ、即ち、ＢＡＮＫ０から読み出される。データ５０４ｄ１ＣをＳＲＡＭ２０７から読み出す際の先頭アドレスは、例えば０ｘ０００番地である。ＳＲＡＭ２０７から読み出されたデータ５０４ｄ１Ｃは、メモリバス１５１を介して伝送される。アドレス演算部２０３は、データ５０４ｃ１Ｃの書き込み開始アドレスである０ｘ１４００番地に、オフセット値を加算することによって、データ５０４ｄ１Ｃの書き込み開始アドレスを生成する。分割ブロック５０１ｃの第１番目のラインのデータの直後に分割ブロック５０１ｄの第１番目のラインのデータが位置するように、オフセット値が設定される。こうして得られる書き込み開始アドレスは、例えば０ｘ１６００番地である。こうして得られる書き込み開始アドレスは、信号線ＲＥＱ＿０を介して伝送される。こうして、分割ブロック５０１ｄの第１番目のラインのデータのうちの右端に位置する端数データ５０４ｄ１Ｒ以外のデータ５０４ｄ１ＣがＤＲＡＭ１０７に書き込まれる。４８０バイト分のデータ５０４ｄ１Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１８４】
次に、分割ブロック５０１ｄの第１番目のラインのデータのうちの右端に位置する端数データ５０４ｄ１Ｒと、ダミーデータ５０４ｄ１Ｄとが、ＳＲＡＭ２０７から読み出される。ＳＲＡＭ２０７から読み出された端数データ５０４ｄ１Ｒと、ダミーデータ５０４ｄ１Ｄとは、メモリバス１５１を介して伝送される。データ５０４ｄ１Ｒのサイズは、上述したように、例えば２０バイトである。ダミーデータ５０４ｄ１Ｄのサイズは、上述したように、例えば１２バイトである。合計のサイズが３２バイトであるこれらのデータ５０４ｄ１Ｒ、５０４ｄ１Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１８５】
次に、分割ブロック５０１ｄの第２番目のラインのデータのうちの右端に位置する端数データ５０４ｄ２Ｒ以外のデータ５０４ｄ２Ｃが、ＳＲＡＭ２０７から読み出される。データ５０４ｄ２Ｃのサイズは、上述したように例えば４８０バイトである。データ５０４ｄ２Ｃは、ＳＲＡＭ２０７のメモリバンク２０７ｂ、即ち、ＢＡＮＫ１から読み出される。データ５０４ｄ２ＣをＳＲＡＭ２０７から読み出す際の先頭アドレスは、例えば０ｘ０８０番地である。ＳＲＡＭ２０７から読み出されたデータ５０４ｄ２Ｃは、メモリバス１５１を介して伝送される。アドレス演算部２０３は、データ５０４ｄ１Ｃの書き込み開始アドレスである０ｘ１６００番地に、オフセット値を加算することによって、データ５０４ｄ２Ｃの書き込み開始アドレスを生成する。オフセット値は、例えば２０４８バイトとされる。こうして得られる書き込み開始アドレスは、例えば０ｘ１Ｅ００番地である。こうして得られる書き込み開始アドレスは、信号線ＲＥＱ＿０を介して伝送される。こうして、分割ブロック５０１ｄの第２番目のラインのデータのうちの右端に位置する端数データ５０４ｄ２Ｒ以外のデータ５０４ｄ２ＣがＤＲＡＭ１０７に書き込まれる。４８０バイト分のデータ５０４ｄ２Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１８６】
次に、分割ブロック５０１ｄの第２番目のラインのデータのうちの右端に位置する端数データ５０４ｄ２Ｒと、ダミーデータ５０４ｄ２Ｄとが、ＳＲＡＭ２０７から読み出される。ＳＲＡＭ２０７から読み出された端数データ５０４ｄ２Ｒと、ダミーデータ５０４ｄ２Ｄとは、メモリバス１５１を介して伝送される。データ５０４ｄ２Ｒのサイズは、上述したように、例えば３０バイトである。ダミーデータ５０４ｄ２Ｄのサイズは、上述したように、例えば２バイトである。合計のサイズが３２バイトであるこれらのデータ５０４ｄ２Ｒ、５０４ｄ２Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
【０１８７】
この後も、上記と同様の処理が、分割ブロック５０１ｄの第３番目以降のラインについて順次行われる。分割ブロック５０１ｄに含まれているラインは、上述したように例えば６４である。分割ブロック５０１ｄの第６４番目のラインのデータは、以下のようにして処理される。即ち、分割ブロック５０１ｄの第６４番目のラインのデータのうちの右端に位置する端数データ５０４ｄ６４Ｒ以外のデータ５０４ｄ６４Ｃが、ＳＲＡＭ２０７から読み出される。ＳＲＡＭ２０７から読み出されたデータ５０４ｄ６４Ｃは、メモリバス１５１を介して伝送される。こうして、分割ブロック５０１ｄの第６４番目のラインのデータのうちの右端に位置する端数データ５０４ｄ６４Ｒ以外のデータ５０４ｄ６４ＣがＤＲＡＭ１０７に書き込まれる。データ５０４ｄ６４Ｃのサイズは、上述したように例えば４８０バイトである。４８０バイト分のデータ５０４ｄ６４Ｃは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。分割ブロック５０１ｄの第６４番目のラインのデータのうちの右端に位置する端数データ５０４ｄ６４Ｒと、ダミーデータ５０４ｄ６４Ｄとが、ＳＲＡＭ２０７から読み出される。ＳＲＡＭ２０７から読み出された端数データ５０４ｄ６４Ｒと、ダミーデータ５０４ｄ６４Ｄとは、メモリバス１５１を介して伝送される。データ５０４ｄ６４Ｒのサイズは、上述したように、例えば２０バイトである。ダミーデータ５０４ｄ６４Ｄのサイズは、上述したように、例えば１２バイトである。合計のサイズが３２バイトであるこれらのデータ５０４ｄ６４Ｒ、５０４ｄ６４Ｄは、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインする。
この後、上記と同様にして、分割ブロック５０１ｅ〜５０１ｌに対する処理が行われる。
【０１８８】
このように、本実施形態によれば、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインするように、各々のライン５０３のデータに端数データ５０４ＬＲが付される。このため、本実施形態においても、コマンドオーバーヘッドを低減することができ、書き込み速度の低下を抑制し得る。
【０１８９】
［第５実施形態］
第５実施形態による画像処理装置及び画像処理方法について図１２乃至図１４を用いて説明する。第１乃至第４実施形態による画像処理装置等と同一の構成要素には、同一の符号を付して説明を省略又は簡潔にする。
【０１９０】
本実施形態による画像処理装置１００の基本的な構成は、図１を用いて上述した第１実施形態における画像処理装置１００の基本的な構成と同様である。
【０１９１】
図１２は、本実施形態による画像処理装置１００のデータ転送部１０５に備えられたＲＤＤＭＡＣを示すブロック図である。図１２には、画像処理部１０４に備えられたモジュール１２０１と、データ転送部１０５に備えられたＲＤＤＭＡＣ１２０２と、メモリバス１１５とが示されている。
【０１９２】
モジュールＤ（ＭＯＤＵＬＥ  Ｄ）、即ち、モジュール１２０１は、所定の画像処理を行う。モジュール１２０１とＲＤＤＭＡＣ１２０２とは、信号線ＤＡＴＡ＿Ａ、ＶＡＬＩＤ＿Ａ、ＳＴＯＰ＿Ａによって接続されている。ＲＤＤＭＡＣ１２０２によってＤＲＡＭ１０７から読み出されたデータは、信号線ＤＡＴＡ＿Ａを介してモジュール１２０１に供給される。有効データ出力期間である場合にのみ、ＲＤＤＭＡＣ１２０２からモジュール１２０１に供給される信号ＶＡＬＩＤ＿ＡがＨｉｇｈレベルとなる。モジュール１２０１が何らかの要因によってＢＵＳＹ状態となり、モジュール１２０１がデータを受け付け得ない状態である場合には、モジュール１２０１からＲＤＤＭＡＣ１２０２に供給されるＳＴＯＰ＿Ａ信号がＨｉｇｈレベルとなる。ＳＴＯＰ＿Ａ信号がＨｉｇｈレベルになると、ＲＤＤＭＡＣ１２０２からモジュール１２０１へのデータの伝送が停止される。
【０１９３】
ＲＤＤＭＡＣ（ＲＤＤＭＡＣ＿０）１２０２には、アドレス演算部１２０３、読み出し制御部１２０４、ＳＲＡＭ１２０７、書き込み制御部１２０８、バスＩ／Ｆ部１２０９が備えられている。
【０１９４】
アドレス演算部１２０３は、ＤＲＡＭ１０７に対するデータの読み出し等を行う際のアドレス値を演算する。また、アドレス演算部１２０３は、ＤＲＡＭ１０７から画像データを読み出す際の先頭アドレス、即ち、スタートアドレスを管理・制御する。アドレス演算部１２０３は、アドレスのインクリメントを行い得る。アドレス演算部１２０３は、データ転送長等の管理・制御を行う。データ転送長の制御においては、１回のアドレス指定によって連続してアクセス可能なワード数に対応するように転送バースト長が設定される。なお、ここでは、１ワードが３２バイト、即ち、２５６ビット（ｂｉｔ）である場合を例に説明するが、これに限定されるものではない。また、ここでは、転送バースト長は、例えば３２、６４又は１２８に設定し得る。なお、転送バースト長はこれらに限定されるものではない。また、アドレス演算部２０３は、オフセット値を加算することによってアドレス値を更新することもできる。
【０１９５】
バスＩ／Ｆ部１２０９は、メモリバス１１５を介して各機能ブロックとの間で信号の授受を行うためのインターフェースである。バスＩ／Ｆ部１２０９とアドレス演算部１２０３とは、信号線ＭＥＭ＿ＡＤＤＲ＿０を介して接続されている。ＤＲＡＭ１０７に対して読み出しを開始する際のアドレスである読み出し開始アドレスが、アドレス演算部１２０３からバスＩ／Ｆ部１２０９に信号線ＭＥＭ＿ＡＤＤＲ＿０を介して供給される。また、転送バースト長を示す情報が、アドレス演算部１２０３からバスＩ／Ｆ部１２０９に信号線ＭＥＭ＿ＡＤＤＲ＿０を介して供給される。
【０１９６】
書き込み制御部１２０８は、ＤＲＡＭ１０７から受信したデータをＳＲＡＭ１２０７に書き込むための制御を行う。ＳＲＡＭ１２０７は、メモリバンク１２０７ａと、メモリバンク１２０７ｂとを備えている。例えば、例えば、メモリバンク１２０７ａ、即ち、ＢＡＮＫ０へのデータの書き込みが行われている際、メモリバンク１２０７ｂ、即ち、ＢＡＮＫ１からデータの読み出しを行うことが可能である。メモリバンク１２０７ａ、即ち、ＢＡＮＫ０からデータの読み出しが行われている際、メモリバンク１２０７ｂ、即ち、ＢＡＮＫ１へのデータの書き込みを行うことが可能である。
【０１９７】
書き込み制御部１２０８とＳＲＡＭ１２０７とは、信号線ＷＲ＿ＡＤＤＲ＿０、ＷＥＮ＿０、ＤＩＮ＿０によって接続されている。書き込み制御部１２０８は、信号線ＷＲ＿ＡＤＤＲ＿０を介して書き込みアドレスをＳＲＡＭ１２０７に供給する。書き込み制御部１２０８は、信号線ＤＩＮ＿０を介してデータをＳＲＡＭ１２０７に供給する。書き込み制御部１２０８は、信号線ＷＥＮ＿０を介して書き込みイネーブル信号をＳＲＡＭ１２０７に供給する。書き込みイネーブル信号ＷＥＮ＿０がＨｉｇｈレベルの際、書き込み制御部１２０８から供給されるデータがＳＲＡＭ１２０７に書き込まれる。
【０１９８】
読み出し制御部１２０４は、ＳＲＡＭ１２０７からデータを読み出し、読み出したデータをモジュール１２０１に供給する。読み出し制御部１２０４とＳＲＡＭ１２０７とは、信号線ＲＤ＿ＡＤＤＲ＿０、ＲＥＮ＿０、ＤＯＵＴ＿０によって接続されている。読み出し制御部１２０４は、信号線ＲＤ＿ＡＤＤＲ＿０を介して読み出しアドレスをＳＲＡＭ１２０７に供給する。読み出し制御部１２０４は、信号線ＤＯＵＴ＿０を介してデータをＳＲＡＭ１２０７から読み出す。読み出し制御部１２０４は、信号線ＲＥＮ＿０を介して読み出しイネーブル信号をＳＲＡＭ１２０７に供給する。読み出しイネーブル信号ＲＥＮ＿０がＨｉｇｈレベルの際、ＳＲＡＭ１２０７から出力されるデータが読み出し制御部１２０４によって読み出される。
【０１９９】
ＤＲＡＭ１０７に対するデータの読み出しは以下のようにして行われる。即ち、アドレス演算部１２０３は、ＤＲＡＭ１０７に対して読み出しを開始する際のアドレスである読み出し開始アドレスと、転送バースト長を示す情報とを、信号線ＭＥＭ＿ＡＤＤＲ＿０を介してバスＩ／Ｆ部１２０９に供給する。バスＩ／Ｆ部１２０９は、データの転送を要求するための信号であるリクエスト信号ＲＥＱ＿０を、メモリバス１１５を介して伝送する。また、バスＩ／Ｆ部１２０９は、読み出し開始アドレスと、転送バースト長を示す情報とを、メモリバス１１５を介して伝送する。ＤＲＡＭ１０７が読み出し可能な状態になると、読み出しを許可することを示すＨｉｇｈレベルの許可信号ＡＣＫ＿０がメモリバス１１５を介してバスＩ／Ｆ部１２０９に供給される。メモリバス１１５及び信号線ＲＤＡＴＡ０を介して、ＤＲＡＭ１０７からバスＩ／Ｆ部１２０９にデータが伝送される。書き込み制御部１２０８は、ＤＲＡＭ１０７から供給されたデータをＳＲＡＭ１２０７に書き込む。読み出し制御部１２０４は、ＳＲＡＭ１２０７からデータを読み出す。読み出し制御部１２０４は、ＳＲＡＭ１２０７から読み出したデータを、信号線ＤＡＴＡ＿Ａを介してモジュール１２０１に供給する。読み出し制御部１２０４がＳＲＡＭ１２０７から読み出すデータには、ダミーデータ５０４Ｄが付されている。読み出し制御部１２０４は、ＳＲＡＭ１２０７から読み出したデータに付されているダミーデータ５０４Ｄを削除する。読み出し制御部１２０４は、ＳＲＡＭ１２０７から読み出したデータからダミーデータ５０４Ｄを除去することによって得られるデータを、モジュール１２０１に供給する。ＳＲＡＭ１２０７のメモリバンク１２０７ａからのデータの読み出しと並行して、ＳＲＡＭ１２０７のメモリバンク１２０７ｂへのデータの書き込みが行われる。メモリバンク１２０７ａとメモリバンク１２０７ｂとに対する書き込み及び読み出しが交互に継続的に行われることによって、ＤＲＡＭ１０７から読み出されるデータ（画像データ）がモジュール１２０１に供給される。
【０２００】
図１３は、データをＤＲＡＭ１０７に書き込む際のブロック分割と、ＤＲＡＭ１０７に書き込まれたデータを読み出す際のブロック分割とを概念的に示す図である。図１３は、１フレームの画像に対応する仮想的なアドレス空間を示している。図１１を用いて上述した第４実施形態の場合と同様に、１フレームの画像データを水平方向に４分割するとともに垂直方向に３分割することによって矩形の分割ブロック５０１ａ〜５０１ｌが画定されている。また、１フレームの画像データの一部を水平方向に５分割するとともに垂直方向に３分割することによって矩形の分割ブロック１３０１ａ〜１３０１ｏが確定されている。分割ブロック１３０１ａ〜１３０１ｏは、太い実線を用いて示されている。なお、本明細書においては、個々の分割ブロックについて説明する際には、符号１３０１ａ〜１３０１ｏを用い、分割ブロック一般について説明する際には、符号１３０１を用いることとする。データをＤＲＡＭ１０７に書き込む際には、分割ブロック５０１ａ〜５０１ｌを単位とするデータの伝送が実行される。データをＤＲＡＭ１０７から読み出す際には、例えば分割ブロック１３０１ａ〜１３０１ｏを単位とするデータの伝送が実行される。なお、各々の分割ブロック５０１の右側には、ＤＲＡＭ１０７におけるバーストアクセス単位にアラインするように付加されたダミーデータ５０４Ｄが存在している。
【０２０１】
図１４は、本実施形態による画像処理装置１００の動作を示すフローチャートである。
ステップＳ１４０１においては、転送パラメータの設定がＲＤＤＭＡＣ１２０２において行われる。転送パラメータとしては、分割ブロック１３０１の水平方向におけるデータサイズ、分割数等が挙げられる。この後、ステップＳ１４０２に遷移する。
【０２０２】
ステップＳ１４０２においては、分割ブロック１３０１の第１番目のラインのデータが読み出される。分割ブロック１３０１の第１番目のラインのデータを読み出す際におけるデータサイズは、最大バースト長とする。分割ブロック１３０１の第１番目のラインに対する読み出しを行う際においては、当該分割ブロック１３０１の各々のラインに含まれるダミーデータのサイズは不明である。このため、分割ブロック１３０１の第１番目のラインに対する読み出しを行う際には、最大バースト長での読み出しが行われる。最大バースト長で読み出しが行われるため、余分なデータも読み出され得る。この後、ステップＳ１４０３に遷移する。
【０２０３】
ステップＳ１４０３においては、読み出されたデータのうちのダミーデータを除く部分のデータのサイズが、分割ブロック１３０１の水平方向におけるサイズに達したか否かが判定される。読み出されたデータのうちのダミーデータを除く部分のデータのサイズが分割ブロック１３０１の水平方向におけるサイズに達した場合には（ステップＳ１４０３においてＹＥＳ）、ステップＳ１４０４に遷移する。読み出されたデータのうちのダミーデータを除く部分のデータのサイズが分割ブロック１３０１の水平方向におけるサイズに達していない場合には（ステップＳ１４０３においてＮＯ）、ステップＳ１４０２が繰り返される。
【０２０４】
ステップＳ１４０４においては、読み出されたデータに含まれるダミーデータのサイズが判定される。分割ブロック１３０１の第１番目のラインの水平方向におけるサイズと、当該ラインに付されたダミーデータのサイズとの合計が、当該分割ブロック１３０１の第２番目以降のラインに対する読み出しを行う際の読み出しサイズとして設定される。これにより、第２番目以降のラインに対する読み出しを行う際には、余分なデータの読み出しがなくなり、効率的な読み出しを行うことが可能となる。この後、ステップＳ１４０５に遷移する。
【０２０５】
ステップＳ１４０５においては、分割ブロック１３０１の第２番目以降のラインのデータの読み出しが行われる。分割ブロック１３０１の第２番目以降のラインのデータを読み出す際におけるデータサイズは、最大バースト長とする。この後、ステップＳ１４０６に遷移する。
【０２０６】
ステップＳ１４０６においては、データの読み出しをもう一度だけ行うことによって、読み出したデータのサイズの合計が、ステップＳ１４０４において設定された読み出しサイズに達するか否かが判定される。データの読み出しをもう一度行うだけでは、読み出したデータのサイズの合計が、ステップＳ１４０４において設定された読み出しサイズに達しない場合には（ステップＳ１４０６においてＮＯ）、ステップＳ１４０５に戻る。データの読み出しをもう一度だけ行うことによって、読み出したデータのサイズの合計が、ステップＳ１４０４において設定された読み出しサイズに達する場合には（ステップＳ１４０６においてＹＥＳ）、ステップＳ１４０７に遷移する。
【０２０７】
ステップＳ１４０７においては、データの読み出しが行われる。この際、端数データの読み出しも行われ得る。この後、ステップＳ１４０８に遷移する。
【０２０８】
ステップＳ１４０８においては、分割ブロック１３０１に含まれる全てのラインの読み出しが完了したか否かが判定される。分割ブロック１３０１に含まれる全てのラインの読み出しが完了していない場合には（ステップＳ１４０８においてＮＯ）、ステップＳ１４１０に遷移する。
ステップＳ１４１０においては、読み出し対象となるラインが次のラインに変更される。この後、ステップＳ１４０５に戻る。
【０２０９】
分割ブロック１３０１に含まれる全てのラインの読み出しが完了した場合には（ステップＳ１４０８においてＹＥＳ）、ステップＳ１４０９に遷移する。
【０２１０】
ステップＳ１４０９においては、全ての分割ブロック１３０１からの読み出しが完了したか否かが判定される。全ての分割ブロック１３０１からの読み出しが完了していない場合には（ステップＳ１４０９においてＮＯ）、ステップＳ１４１１に遷移する。
ステップＳ１４１１においては、読み出し対象となる分割ブロック１３０１が次の分割ブロック１３０１に変更される。この後、ステップＳ１４０２に戻る。
【０２１１】
全ての分割ブロック１３０１からの読み出しが完了した場合には（ステップＳ１４０９においてＹＥＳ）、図１４に示す読み出し処理が完了する。
【０２１２】
このように、本実施形態によれば、分割ブロック１３０１の第１番目のラインから読み出されたデータに基づいて、読み出しサイズを設定する。このため、分割ブロック１３０２の第２番目以降のラインからデータを読み出す際には、余分な読み出しが行われない。このため、本実施形態によれば、効率的にデータの読み出しを行うことができる。
【０２１３】
［第６実施形態］
第６実施形態による画像処理装置及び画像処理方法について図１５を用いて説明する。第１乃至第５実施形態による画像処理装置等と同一の構成要素には、同一の符号を付して説明を省略又は簡潔にする。
【０２１４】
本実施形態による画像処理装置１００の基本的な構成は、図１を用いて上述した第１実施形態における画像処理装置１００の基本的な構成と同様である。
【０２１５】
本実施形態による画像処理装置１００に備えられたデータ転送部１０５には、図２を用いて上述したＷＲＤＭＡＣ２０２が備えられている。
【０２１６】
また、本実施形態による画像処理装置１００に備えられたメモリ制御部１０６は、メモリバス１１５の帯域（帯域使用率）を測定し得る帯域検出機能を有している。メモリ制御部１０６は、データ転送部１０５から発せられるデータ転送要求の数であるデータ転送要求数と、データ転送部１０５が要求するデータ転送長である要求データ転送長とに基づいて、メモリバス１１５の帯域を測定する。メモリ制御部１０６は、メモリバス１１５の帯域の測定結果をＣＰＵ１１２に通知する。
【０２１７】
図１５は、本実施形態による画像処理装置の動作を示すフローチャートである。
ステップＳ１５０１においては、転送パラメータの設定がＷＲＤＭＡＣ２０２において行われる。転送パラメータとしては、分割ブロック５０１の水平方向におけるデータサイズ、分割ブロック５０１の垂直方向におけるデータサイズ、分割数等が挙げられる。この後、ステップＳ１５０２に遷移する。
【０２１８】
ステップＳ１５０２においては、ＤＲＡＭ１０７の容量に余裕があるか否かが判定される。具体的には、ステップＳ１５０１において設定された転送パラメータに基づいて、ダミーデータを付加した場合に必要なワーク領域が算出される。そして、ダミーデータを付加した場合に必要となる領域がＤＲＡＭ１０７内に存在しているか否かが判定される。ＤＲＡＭ１０７の容量に所定値以上の余裕があると判定された場合には（ステップＳ１５０２においてＹＥＳ）、ステップＳ１５０３に遷移する。一方、ＤＲＡＭ１０７の容量に所定値以上の余裕がないと判定された場合には（ステップＳ１５０２においてＮＯ）、ステップＳ１５０５に遷移する。
【０２１９】
ステップＳ１５０３においては、メモリバス１１５の帯域に余裕があるか否かが判定される。メモリバス１１５の帯域に余裕があるか否かは、メモリ制御部１０６に備えられた帯域検出機能を用いて判定され得る。メモリ制御部１０６は、帯域使用率を測定する。帯域使用率が所定値以上である場合には、メモリバス１１５の帯域に余裕がないと判定される。メモリバス１１５の帯域に余裕がない場合には（ステップＳ１５０３においてＮＯ）、ステップＳ１５０４に遷移する。所定値は、例えば６０％とし得るが、これに限定されるものではない。帯域使用率が所定値未満である場合には、メモリバス１１５の帯域に余裕があると判定される。メモリバス１１５の帯域に余裕がある場合には（ステップＳ１５０３においてＹＥＳ）、ステップＳ１５０５に遷移する。
【０２２０】
ステップＳ１５０４においては、図１１を用いて上述したように、ダミーデータ５０４Ｄが付加されたデータがＤＲＡＭ１０７に書き込まれる。この場合、ＤＲＡＭ１０７の容量には余裕が必要であるが、コマンドオーバーヘッドを低減し得る。
【０２２１】
ステップＳ１５０５においては、ダミーデータ５０４Ｄを付加することなくデータがＤＲＡＭ１０７に書き込まれる。この場合、コマンドオーバーヘッドの増加を招くが、ＤＲＡＭ１０７の容量には大きな余裕は必要ない。
【０２２２】
このように、ＤＲＡＭ１０７における容量の余裕の有無や、メモリバス１１５における帯域の余裕の有無に応じて、ダミーデータを付加するか否かを切り替えるようにしてもよい。
【０２２３】
［変形実施形態］
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記録媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０２２４】
１１５…メモリバス
２０１…モジュール
２０２…ＷＲＤＭＡＣ
【図１】
2019185446.tif 000003
【図２】
2019185446.tif 000004
【図３】
2019185446.tif 000005
【図４Ａ】
2019185446.tif 000006
【図４Ｂ】
2019185446.tif 000007
【図５】
2019185446.tif 000008
【図６】
2019185446.tif 000009
【図７】
2019185446.tif 000010
【図８】
2019185446.tif 000011
【図９】
2019185446.tif 000012
【図１０Ａ】
2019185446.tif 000013
【図１０Ｂ】
2019185446.tif 000014
【図１１】
2019185446.tif 000015
【図１２】
2019185446.tif 000016
【図１３】
2019185446.tif 000017
【図１４】
2019185446.tif 000018
【図１５】
2019185446.tif 000019