(57)【要約】【課題】バースト転送が可能な画像メモリを用いた場合に、成分数の多いカラー画像データに対しても成分数の少ないモノクロ画像データに対しても画像回転処理などを内部メモリの増加を抑えて効率よく実行できる画像メモリ制御装置を提供する。【解決手段】ＣＭＹＫＡの５成分のカラー画像を順次入力するときは、成分別に８ラインずつの入力バッファを５個形成して８ライン分の画像データを一時保存した後、入力バッファから同一領域に対応する各成分の画像データを８×８画素単位のブロックで読み出し、これらのブロックを同一行アドレス内の連続する列アドレスにバースト転送で格納する。Ｋ，Ａの２成分のモノクロ画像データを入力するときは、前記入力バッファを２個ずつ組み合わせて１６ラインの入力バッファを２個形成し、ブロックサイズを１６×１６画素に拡張して同様の処理を行う。【選択図】図５
2012146032.tif 000002
【特許請求の範囲】
【請求項１】
Ｎａ×Ｌａ個のラインバッファと、
各画素がＬａ個の成分で表わされた第１画像データを順次入力する第１モードでは、前記Ｎａ×Ｌａ個のラインバッファを、前記第１画像データを成分別に記憶するＮａラインずつのＬａ個の入力バッファとして使用し、各画素がＬｂ（ただし、１≦Ｌｂ＜Ｌａ）個の成分で表わされた第２画像データを順次入力する第２モードでは、前記Ｎａ×Ｌａ個のラインバッファを、前記第２画像データを成分別に記憶するＮｂ（ただし、Ｎｂ＞Ｎａ≧２、かつ、Ｎｂ×Ｌｂ≦Ｎａ×Ｌａ）ラインずつのＬｂ個の入力バッファとして使用するように切り替える切り替え部と、
同一行アドレス内の列アドレス方向にバースト転送可能なメモリへのデータの書き込みを制御するメモリ制御部と、
を備え、
前記メモリ制御部は、前記第１モードでは、前記第１画像データの同一領域に対応する各成分をＮａ×Ｎａ画素単位のブロックとして前記Ｌａ個の入力バッファから読み出し、これらＬａ個のブロックを前記メモリの同一行アドレス内の連続する列アドレスにバースト転送で書き込み、前記第２モードでは、前記第２画像データの同一領域に対応する各成分をＮｂ×Ｎｂ画素単位のブロックとして前記Ｌｂ個の入力バッファから読み出し、これらＬｂ個のブロックを、前記メモリの同一行アドレス内の連続する列アドレスにバースト転送で書き込む
ことを特徴とする画像メモリ制御装置。
【請求項２】
ブロック毎に画像データを９０度回転させる回転処理部をさらに備え、
前記メモリ制御部は、
前記第１モードでは、前記メモリの同一行アドレス内の連続する列アドレスに書き込まれた、同一領域に対応する成分別のＬａ個のブロックを連続してバースト転送で読み出し、これらのＬａ個のブロックをそれぞれ前記回転処理部で９０度回転させ、回転後の前記Ｌａ個のブロックを前記メモリの同一行アドレス内の連続する列アドレスにバースト転送で書き込み、
前記第２モードでは、前記メモリの同一行アドレス内の連続する列アドレスに書き込まれた、同一領域に対応する成分別のＬｂ個のブロックを連続してバースト転送で読み出し、これらのＬｂ個のブロックをそれぞれ前記回転処理部で９０度回転させ、回転後の前記Ｌｂ個のブロックを前記メモリの同一行アドレス内の連続する列アドレスにバースト転送で書き込む
ことを特徴とする請求項１に記載の画像メモリ制御装置。
【請求項３】
前記メモリ制御部は、
前記第１モードでは、前記Ｌａ個の入力バッファから読み出した前記Ｌａ個のブロックを前記メモリに書き込む際に、前記Ｌａ個のブロックを書き込み可能な空き領域が現在の行アドレス内の連続する列アドレスに存在するときは、行アドレスを変更せずに前記Ｌａ個のブロックを書き込み、存在しないときは、行アドレスを変更して前記Ｌａ個のブロックを書き込み、
前記第２モードでは、前記Ｌｂ個の入力バッファから読み出した前記Ｌｂ個のブロックを前記メモリに書き込む際に、前記Ｌｂ個のブロックを書き込み可能な空き領域が現在の行アドレス内の連続する列アドレスに存在するときは、行アドレスを変更せずに前記Ｌｂ個のブロックを書き込み、存在しないときは、行アドレスを変更して前記Ｌｂ個のブロックを書き込む
ことを特徴とする請求項１または２に記載の画像メモリ制御装置。
【請求項４】
ＮｂはＮａのＰ（Ｐは２以上の整数）倍であり、
前記切り替え部は、前記第２モードでは、第１モードにおけるＮａラインずつの入力バッファをＰ個組み合わせて、Ｎｂラインずつの入力バッファを形成する
ことを特徴とする請求項１乃至３のいずれか１つに記載の画像メモリ制御装置。
【請求項５】
前記第１画像データは、複数の色もしくは複数の色と属性情報を成分とするカラー画像データであり、
前記第２画像データは、単色もしくは単色と属性情報を成分とするモノクロ画像データである
ことを特徴とする請求項１乃至４のいずれか１つに記載の画像メモリ制御装置。
【請求項６】
請求項１乃至５のいずれか１つに記載の画像メモリ制御装置と、
前記画像メモリ制御装置がアクセスする、同一行アドレス内の列アドレス方向にバースト転送可能なメモリと、
を有する
ことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同一行アドレス内の列アドレス方向にバースト転送可能なメモリに対して画像データを書き込む画像メモリ制御装置および画像処理装置に関する。
【背景技術】
【０００２】
カラー複写機などの画像処理装置では、大量の画像データを高速に処理する要請があり、メモリへの画像データのリード・ライトに関しても高速性が要求される。
【０００３】
データを高速にリード・ライトする技術の１つとして、DDR SDRAM(Double-Data-Rate Synchronous Dynamic Random Access Memory)のバースト転送を利用する方法がある。このタイプのメモリでは、アドレスを行アドレスと列アドレスに分けて与えるアドレスマルチプレクス方式を採用しており、行アドレスとアクティブコマンドを与えた後、列アドレスとリードコマンドまたは列アドレスとライトコマンドを与えると、その後は、指定されたバースト転送長ＢＬ（たとえば、４バースト）だけ列アドレスがクロックに同期して自動的に増加等してデータを連続的に読み書きできるようになっている。
【０００４】
なお、同一の行アドレス内では、列アドレスとリードコマンドまたは列アドレスとライトコマンドを与え直すことでデータの読み書きを継続できる。また、行アドレスを変更する場合はその前にプリチャージという動作が必要になり、その分、アクセスに時間を要する。また、バンクの切り替え機能を有するDDR SDRAMでは、行アドレスを変更しなければプリチャージなしでバンクを切り替えることができるようになっている。
【０００５】
下記特許文献１には、DDR SDRAMのバンク機能およびバースト転送機能を利用してカラー画像データを時間的に効率よく書き込むようにしたカラーデータの格納方法が提案されている。詳細には、１ページ分のＲ、Ｇ、Ｂデータを画像メモリ（DDR SDRAM）に格納する際に、バースト転送長毎に格納する色を変え、かつ色が変わる毎に、行アドレスは変更せずにバンクを切り替えることにより、３色分の画像データをプリチャージなしに連続的に書き込めるようにしている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−１１７３９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
カラー複写機などの画像処理装置では、スキャナで読み取った原稿と記録紙の向きが異なる場合などに画像全体を９０度回転させる必要が生じるので、画像編集用のページメモリを備えるものが多い。このページメモリにDDR SDRAMを使用する場合、画像データをブロックに分割し、ブロック単位にデータをバースト転送することが行われる。
【０００８】
たとえば、９０度回転処理は、図１６に示すように行われる。この例では、１つのブロックを８画素×８画素とし、１画素当たり４ビットとし、DDR SDRAMのバス幅は６４ビットとする。また、回転対象の元画像は主走査方向に４ブロック、副走査方向に３ブロックの矩形の画像とする。１ブロックのデータ量は２５６ビット（８画素×８画素×４ビット）なので、４バースト転送１回で１つのブロックが転送される。
【０００９】
まず、画像メモリ（DDR SDRAM）からブロック０（図中のa,b,c,d）を４バースト転送で読み出し、このブロック内の画素を並べ替えて９０度回転させる。そして、回転後のブロック０を、元画像全体を９０度回転させた場合のブロック０の位置に、４バースト転送で書き込む。この作業をさらにブロック１〜８について順に行うことで、元画像全体を９０度回転させる処理が完了する。
【００１０】
９０度回転処理では、画像全体の中での各ブロックの位置が、９０度回転前と回転後とで大きく相違するため、ブロックの読み出し時と回転後の書き込み時で行アドレスが異なるようになり、プリチャージおよび行アドレスの指定が毎回必要になる。
【００１１】
そこで、たとえば、図１７のように、主走査方向に並ぶ２つのブロックを単位に回転処理を行うと、読み出し時は２つのブロックが同じ行アドレスにあるのでこれらを連続的にバースト転送できて効率が改善される。しかし、回転後の書き込み時は２つのブロックが副走査方向に並ぶため異なる行アドレスになり、１ブロックずつのバースト転送しかできず、プリチャージや行アドレスの指定がブロック毎に必要となって転送効率が向上しない。逆に、副走査方向に並ぶ２つのブロックを単位に回転処理を行うと、読み出し時の転送効率が向上しなくなると共に、内部メモリが大量に必要になる。結局、回転処理を考慮すると、ブロックは、主走査方向と副走査方向とが同一画素数の、Ｎ画素×Ｎ画素が最適となる。
【００１２】
ところで、各画素が、Ｃ（シアン）、Ｍ（マゼンタ）、Ｙ（イエロ）、Ｋ（ブラック）、Ａ（タグデータ）の５成分のように多数の成分で構成されたカラー画像データを回転処理する場合、従来は、１ブロックに対して図１６の回転処理を成分別に５回行うので、処理量が単純に５倍になっていた。成分別に個別の画像メモリを用意すれば並列処理できるので処理速度の問題はないが、回路構成が大きくなってコスト高になる。一方、図１８に示すように、１つの画像メモリで５成分の全てを格納すると処理速度が問題になる。特許文献１のように色毎にバンクを切り替えれば転送効率は向上するが、バンクの数と成分の数が一致しない場合は無駄なバンクが発生して画像メモリの利用率が低下する。また、ブロックサイズ（Ｎ×Ｎ画素の形でＮ）を大きくすれば、転送効率は向上するが、入力用のラインバッファやブロック単位の回転処理用に大量の内部メモリが必要になってしまう。
【００１３】
また、モノクロ画像の場合、カラー画像に比べると成分数は少ないが、印刷速度がカラーに比べて高速に行われる場合が多い。このため、モノクロ画像に対してもより高速なデータ処理が要請されている。
【００１４】
本発明は、上記の問題を解決しようとするものであり、バースト転送可能な画像メモリを用いた場合に、カラー画像のように成分数の多い画像データに対してもモノクロ画像のように成分数の少ない画像データに対しても回転処理などを内部メモリの増加を抑えて効率よく実行することのできる画像メモリ制御装置および画像処理装置を提供することを目的としている。
【課題を解決するための手段】
【００１５】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
【００１６】
［１］Ｎａ×Ｌａ個のラインバッファと、
各画素がＬａ個の成分で表わされた第１画像データを順次入力する第１モードでは、前記Ｎａ×Ｌａ個のラインバッファを、前記第１画像データを成分別に記憶するＮａラインずつのＬａ個の入力バッファとして使用し、各画素がＬｂ（ただし、１≦Ｌｂ＜Ｌａ）個の成分で表わされた第２画像データを順次入力する第２モードでは、前記Ｎａ×Ｌａ個のラインバッファを、前記第２画像データを成分別に記憶するＮｂ（ただし、Ｎｂ＞Ｎａ≧２、かつ、Ｎｂ×Ｌｂ≦Ｎａ×Ｌａ）ラインずつのＬｂ個の入力バッファとして使用するように切り替える切り替え部と、
同一行アドレス内の列アドレス方向にバースト転送可能なメモリへのデータの書き込みを制御するメモリ制御部と、
を備え、
前記メモリ制御部は、前記第１モードでは、前記第１画像データの同一領域に対応する各成分をＮａ×Ｎａ画素単位のブロックとして前記Ｌａ個の入力バッファから読み出し、これらＬａ個のブロックを前記メモリの同一行アドレス内の連続する列アドレスにバースト転送で書き込み、前記第２モードでは、前記第２画像データの同一領域に対応する各成分をＮｂ×Ｎｂ画素単位のブロックとして前記Ｌｂ個の入力バッファから読み出し、これらＬｂ個のブロックを、前記メモリの同一行アドレス内の連続する列アドレスにバースト転送で書き込む
ことを特徴とする画像メモリ制御装置。
【００１７】
上記発明では、画像データをブロック単位に分割し、同一領域に対する各成分のブロックを同一行アドレス内の連続する列アドレスにバースト転送で書き込む。ここで、成分数の多いカラー画像などを扱う第１モードに比べて成分数の少ないモノクロ画像などを扱う第２モードでは、入力バッファの必要数が少なくなる。そこで、Ｎａ×Ｌａ個用意されたラインバッファから、第２モードでは、第１モードよりも１つの入力バッファ当たりのライン数が多くなるようにして入力バッファを形成する。これにより、第１モードのブロックサイズ（Ｎａ×Ｎａ）に比べて、第２モードのブロックサイズ（Ｎｂ×Ｎｂ）が大きくなる。その結果、成分数（１度に格納するブロック数）が第１モードより少ない第２モードにおいても、上記バースト転送で連続的に書き込むデータ量を多くすることができ、高い転送効率を確保することができる。
【００１８】
［２］ブロック毎に画像データを９０度回転させる回転処理部をさらに備え、
前記メモリ制御部は、
前記第１モードでは、前記メモリの同一行アドレス内の連続する列アドレスに書き込まれた、同一領域に対応する成分別のＬａ個のブロックを連続してバースト転送で読み出し、これらのＬａ個のブロックをそれぞれ前記回転処理部で９０度回転させ、回転後の前記Ｌａ個のブロックを前記メモリの同一行アドレス内の連続する列アドレスにバースト転送で書き込み、
前記第２モードでは、前記メモリの同一行アドレス内の連続する列アドレスに書き込まれた、同一領域に対応する成分別のＬｂ個のブロックを連続してバースト転送で読み出し、これらのＬｂ個のブロックをそれぞれ前記回転処理部で９０度回転させ、回転後の前記Ｌｂ個のブロックを前記メモリの同一行アドレス内の連続する列アドレスにバースト転送で書き込む
ことを特徴とする［１］に記載の画像メモリ制御装置。
【００１９】
上記発明では、回転処理を効率よく行うことができる。
【００２０】
［３］前記メモリ制御部は、
前記第１モードでは、前記Ｌａ個の入力バッファから読み出した前記Ｌａ個のブロックを前記メモリに書き込む際に、前記Ｌａ個のブロックを書き込み可能な空き領域が現在の行アドレス内の連続する列アドレスに存在するときは、行アドレスを変更せずに前記Ｌａ個のブロックを書き込み、存在しないときは、行アドレスを変更して前記Ｌａ個のブロックを書き込み、
前記第２モードでは、前記Ｌｂ個の入力バッファから読み出した前記Ｌｂ個のブロックを前記メモリに書き込む際に、前記Ｌｂ個のブロックを書き込み可能な空き領域が現在の行アドレス内の連続する列アドレスに存在するときは、行アドレスを変更せずに前記Ｌｂ個のブロックを書き込み、存在しないときは、行アドレスを変更して前記Ｌｂ個のブロックを書き込む
ことを特徴とする［１］または［２］に記載の画像メモリ制御装置。
【００２１】
上記発明では、書き込みに際して、行アドレスの変更回数を最小限に抑えることができ、転送効率をより高めることができる。
【００２２】
［４］ＮｂはＮａのＰ（Ｐは２以上の整数）倍であり、
前記切り替え部は、前記第２モードでは、第１モードにおけるＮａラインずつの入力バッファをＰ個組み合わせて、Ｎｂラインずつの入力バッファを形成する
ことを特徴とする［１］乃至［３］のいずれか１つに記載の画像メモリ制御装置。
【００２３】
上記発明では、第１モードの入力バッファを予め形成しておき、これを複数組み合わせることで、第２モードに対応した入力バッファが形成される。よって、切り替え部の構成が簡略となる。
【００２４】
［５］前記第１画像データは、複数の色もしくは複数の色と属性情報を成分とするカラー画像データであり、
前記第２画像データは、単色もしくは単色と属性情報を成分とするモノクロ画像データである
ことを特徴とする［１］乃至［４］のいずれか１つに記載の画像メモリ制御装置。
【００２５】
［６］［１］乃至［５］のいずれか１つに記載の画像メモリ制御装置と、
前記画像メモリ制御装置がアクセスする、同一行アドレス内の列アドレス方向にバースト転送可能なメモリと、
を有する
ことを特徴とする画像処理装置。
【発明の効果】
【００２６】
本発明に係る画像メモリ制御装置および画像処理装置によれば、バースト転送が可能な画像メモリを用いた場合に、カラー画像データのように成分数の多い画像データに対してもモノクロ画像データのように成分数の少ない画像データに対しても回転処理などを内部メモリの増加を抑えつつ効率よく実行することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施の形態に係る画像処理装置の概略構成を示すブロック図である。
【図２】入力される画像データの走査方向および走査順序を示す説明図である。
【図３】画像をＮ画素×Ｎ画素単位のブロックに分割した様子を示す説明図である。
【図４】本発明の実施の形態に係るメモリコントローラの概略構成を示すブロック図である。
【図５】ブロック化部の内部の概略構成を示すブロック図である。
【図６】カラーモード（第１モード）に設定した場合のブロック化部の回路構成およびデータの流れを示す説明図である。
【図７】カラーモード（第１モード）での回転処理を示す説明図である。
【図８】従来の方式で回転処理する場合に画像メモリ（ＳＤＲＡＭ）に与える各種信号を示すタイミングチャートである。
【図９】本実施の形態に係るメモリコントローラがカラーモード（第１モード）で回転処理する場合に画像メモリ（ＳＤＲＡＭ）に与える各種信号を示すタイミングチャートである。
【図１０】図９の続きを示すタイミングチャートである。
【図１１】モノクロモード（第２モード）に設定した場合のブロック化部の回路構成およびデータの流れを示す説明図である。
【図１２】モノクロモード（第２モード）での回転処理を示す説明図である。
【図１３】入力バッファを、カラーモードと同じ８ラインずつの構成とし、８画素×８画素のブロックサイズとしてモノクロ画像データを９０度回転処理する場合に画像メモリ（ＳＤＲＡＭ）に与える各種信号を示すタイミングチャートである。
【図１４】本実施の形態に係るメモリコントローラがモノクロモード（第２モード）で回転処理する場合に画像メモリ（ＳＤＲＡＭ）に与える各種信号を示すタイミングチャートである。
【図１５】図１４の続きを示すタイミングチャートである。
【図１６】一般的な９０度回転処理の手順を示す説明図である。
【図１７】主走査方向に並ぶ２ブロックを単位に回転処理した場合のデータ配列を示す説明図である。
【図１８】１つの画像メモリの異なる領域にカラー画像データを構成する各成分を格納して回転処理した場合のデータ配列を示す説明図である。
【発明を実施するための形態】
【００２８】
以下、図面に基づき本発明の実施の形態を説明する。
【００２９】
図１は、本発明の実施の形態に係る画像メモリ制御装置を含むカラー画像形成装置１０の概略構成を示すブロック図である。カラー画像形成装置１０は、原稿を光学的に読み取って得た画像の複製を記録紙上に形成して印刷出力するコピー機能や、読み取った原稿画像をファイルとして出力したり保存したりするスキャン機能、外部端末から受信した印刷データに基づいて用紙上に画像を形成して出力するプリンタ機能などを備えた、所謂、デジタル複合機である。
【００３０】
カラー画像形成装置１０は、原稿を光学的に読み取ってカラー画像データを取得する入力装置（スキャナ）１１と、入力装置１１から出力されるカラー画像データに対して各種の画像処理を施す入力画像処理部１２と、ＳＤＲＡＭで構成された画像メモリ１３と、画像メモリ１３に対するデータのリード・ライトなどを制御するメモリコントローラ１４と、画像データを保存する大容量不揮発の記憶装置であるハードディスク装置（ＨＤＤ）１５と、ハードディスク装置１５へのデータ転送等を制御するストレージコントローラ１６と、画像データに対してプリント出力のための各種画像処理を施す出力画像処理部１７と、出力画像処理部１７から出力される画像データに基づいて記録紙上に画像を形成してプリント出力する出力装置（プリンタエンジン）１８とを備えている。
【００３１】
さらにカラー画像形成装置１０は、当該カラー画像形成装置１０の動作を統括制御するＣＰＵ２１、バスブリッジ２２、２３、Ｉ／Ｏデバイス２４などを備えている。Ｉ／Ｏデバイス２４は、ユーザＩ／Ｆ用の表示部および操作部からなる操作パネル、ネットワークを通じて他の装置と通信するためのネットワークＩ／Ｆなどである。このほか、図示省略するが、ＣＰＵ２１には、ＣＰＵ２１が実行するプログラムや各種のデータを記憶するフラッシュメモリ、ＣＰＵ２１がプログラムを実行する際に各種のデータを一時的に格納するワークメモリなどが接続されている。
【００３２】
ＣＰＵ２１には、バスブリッジ２２、２３を介してメモリコントローラ１４およびストレージコントローラ１６が接続されている。メモリコントローラ１４およびストレージコントローラ１６はＣＰＵ２１から指示を受けて動作する。さらにメモリコントローラ１４には、入力画像処理部１２の出力する画像データが入力されている。また、メモリコントローラ１４の出力する画像データは出力画像処理部１７に入力されている。
【００３３】
入力装置１１は、原稿に光を照射する光源と、その反射光を受けて原稿を幅方向（主走査方向）に１ライン分読み取るカラーラインイメージセンサと、ライン単位の読取位置を原稿の長さ方向（主走査方向に直交する方向（副走査方向））に順次移動させる移動手段と、原稿からの反射光をカラーラインイメージセンサに導いて結像させるレンズやミラーなどからなる光学経路と、カラーラインイメージセンサの出力するアナログ画像信号をデジタルの画像データに変換するＡ／Ｄ変換部などを備えて構成される。入力装置１１は、Ｒ（レッド）、Ｇ（グリーン）、Ｂ（ブルー）の色成分で構成され、各成分が１画素当たりの８ビットの深さを持つカラー画像データを出力する。
【００３４】
図２に示すように、入力装置１１は、カラーラインイメージセンサによる主走査方向（Ｘ）の１ライン分の読み取り動作を、読み取り位置を副走査方向（Ｙ）に移動させながら繰り返し行うことで原稿３を２次元画像として読み取る。入力装置１１は、該読み取り動作に従ってＲ、Ｇ、Ｂ各成分の画像データを同時に、図２の矢印Ｆで示すような順序で、すなわち、画素毎の画像データを各ラインの先頭（図では左端）から末尾（図では右端）に向けて順に出力することを、副走査方向の先頭のラインから末尾のラインへと順に繰り返すようにして、出力する。
【００３５】
図１に戻って説明を続ける。入力画像処理部１２は、入力装置１１から入力される画像データ（Ｒ，Ｇ，Ｂ）に対して、各種のフィルタ処理や領域判別などを行う。また、カラーモードでは、各画素を、Ｃ（シアン）、Ｍ（マゼンタ）、Ｙ（イエロ）、Ｋ（ブラック）、Ａ（タグデータ）の５成分各８ビットで表した画像データに変換する。モノクロモードでは、各画素を、Ｋ（ブラック）、Ａ（タグデータ）の２成分各８ビットで表した画像データに変換する。タグデータは、その画素の属性を示す情報であり、たとえば、その画素が写真領域に属するか文字領域に属するかを示す。
【００３６】
メモリコントローラ１４は、入力画像処理部１２からの画像データの入力、画像メモリ１３に対する画像データの書き込みおよび読み出し、画像の回転処理、出力画像処理部１７への画像データの出力、さらには、バスブリッジ２２やストレージコントローラ１６との間の画像データの受け渡しを管理し制御する機能を備えている。メモリコントローラ１４の詳細は後述する。
【００３７】
メモリコントローラ１４は、画像メモリ１３への画像データの格納や読み出し、回転処理などの内部処理において、図３に示すように、画像をＮ画素×Ｎ画素単位のブロックに分割して処理する。カラー画像の場合、８画素×８画素をブロックサイズとし、同一領域に対するＣ，Ｍ，Ｙ，Ｋ、Ａの各成分のブロックを作成して処理する。モノクロ画像の場合は、１６画素×１６画素をブロックサイズとし、同一領域に対するＫ成分とＡ成分のブロックを作成して処理する。なお、メモリコントローラ１４は内部処理において画素毎の各成分を４ビットに変換して処理し、出力時には８ビットに戻すようになっている。
【００３８】
出力画像処理部１７は、メモリコントローラ１４から入力される各成分（カラーモードの場合はＣ，Ｍ，Ｙ，Ｋ，Ａの５成分、モノクロモードはＫ，Ａの２成分）各８ビットで構成された画像データに対して、ガンマ変換、周波数変換、ＰＷＭ変換などの画像処理を施す機能を有する。また、出力装置１８から与えられる水平タイミング信号および垂直タイミング信号に同期させて各成分（カラーモードの場合はＣ，Ｍ，Ｙ，Ｋの４成分、モノクロモードの場合はＫ成分のみ）の画像データを、順次、出力装置１８へ送出する、タイミング制御機能などを果たす。
【００３９】
出力装置１８は、出力画像処理部１７から入力された画像データに対応するカラー画像もしくはモノクロ画像を電子写真プロセスによって記録紙上に形成して出力する。ここでは、出力装置１８は、タンデム式のカラーレーザープリンタエンジンである。他の方式のプリンタエンジンであってもかまわない。
【００４０】
図４はメモリコントローラ１４の概略構成を示している。メモリコントローラ１４は、ビット数変換部３１と、ブロック化部３２と、ブロック回転部３３と、メモリＩ／Ｆ部３４と、制御部３５を備えている。ビット数変換部３１は、入力画像処理部１２から順次入力される画像データの画素毎の各成分を８ビットから４ビットに変換する。また、画像データを出力画像処理部１７へ出力する際に各成分を４ビットから８ビットに変換する機能を果たす。
【００４１】
ブロック化部３２は、複数ライン分のラインバッファ４０を備え、ビット数変換部３１から入力される画像データをＮライン分、ラインバッファ４０に一時的に記憶し、Ｎ画素×Ｎ画素のブロック単位に読み出す機能を果たす。切り替え部５０は、カラーモード（第１モード）が設定されているときはラインバッファ４０をＣ，Ｍ，Ｙ，Ｋ，Ａの５成分に振り分けて使用し、モノクロモード（第２モード）では、カラーモードより１成分当たりのライン数が増えるようにラインバッファ４０をＫ，Ａの２成分に振り分けて使用するように切り替える。
【００４２】
メモリＩ／Ｆ部３４は、画像メモリ１３へのデータの入出力、アドレス信号や各種制御信号の入出力を行う。ブロック回転部３３は、ブロック単位に画像を回転させる機能を果たす。制御部３５はメモリコントローラ１４の各部の動作を制御したり、画像メモリ１３へ出力するアドレス信号や制御信号を生成したりする。ここでは、画像メモリ１３の１アドレスに格納できるデータ量は６４ビットとする。
【００４３】
図５は、ブロック化部３２の内部の概略構成を示している。ブロック化部３２は、５チャンネル分の入力ポートｃｈ１〜ｃｈ５を備えている。また、４０ライン分のラインバッファ４０と、切り替え部５０としてのセレクタ５０ａ、５０ｂと、画像メモリ１３の１アドレスに格納できるデータ量（６４ビット）にデータを揃えるための複数の一時メモリ４５と、いずれの一時メモリ４５に記憶されている画像データを画像メモリ１３へ出力する（書き込む）かを選択する出力セレクタ５５とから構成される。
【００４４】
各ラインバッファ４０は、４ビット幅で主走査方向１ライン分の画像データを保持可能なＦＩＦＯ（先入れ先出し）メモリとなっている。
【００４５】
カラーモード（第１モード）では、これら４０ライン分のラインバッファ４０を８ラインずつの５個の入力バッファ（図６のＢ１〜Ｂ５参照）に分け、ｃｈ１〜ｃｈ５に１対１に割り当てて使用する。各入力バッファは、８ライン分のラインバッファを直列に接続すると共に、これら８つのラインバッファの各終端から出力される画像データを８画素分並列に出力する、１入力８出力の直列並列変換器として機能する。ここでは、１画素の１成分は４ビットなので、８画素分の３２ビットが並列に出力される。なお、入力バッファを構成するラインバッファのうち直列接続の入力側から順に第１ラインバッファ、第２ラインバッファ、第３ラインバッファ・・・と称するものとする。
【００４６】
ｃｈ２用の入力バッファの入力の前段には、ｃｈ１用の入力バッファの最終ライン（第８ラインバッファ）の出力とｃｈ２の入力ポートからの入力のいずれか一方を選択してｃｈ２用の入力バッファの第１ラインバッファに入力する入力セレクタ５０ａが設けてある。またｃｈ４用の入力バッファの入力の前段には、ｃｈ３用の入力バッファの最終ライン（第８ラインバッファ）の出力とｃｈ４の入力ポートからの入力のいずれか一方を選択してｃｈ４用の入力バッファの第１ラインバッファに入力する入力セレクタ５０ｂが設けてある。
【００４７】
カラーモード（第１モード）では、ｃｈ１にカラー画像データのＣ成分が、ｃｈ２にＭ成分が、ｃｈ３にＹ成分が、ｃｈ４にＫ成分が、ｃｈ５にＡ成分がそれぞれ入力される。また、入力セレクタ５０ａはｃｈ２の入力ポートを選択し、入力セレクタ５０ｂはｃｈ４の入力ポートを選択する。これにより、ｃｈ毎の５個の入力バッファ（各８ライン）が構成される。
【００４８】
カラーモードでは、入力バッファ毎に設けられた一時メモリ４５ａ〜４５ｅが使用される。一時メモリ４５ａ〜４５ｅは、それぞれ対応する入力バッファから８画素並列に出力される画像データ（３２ビット）を２回分保持し、１６画素単位の画像データ（６４ビット）に纏めて第１セレクタ５５ａに出力する。第１セレクタ５５ａは一時メモリ４５ａ〜４５ｅのいずれか１つを選択して第３セレクタ５５ｃに出力する。
【００４９】
モノクロモード（第２モード）では、ｃｈ１の入力ポートに画像データのＫ成分が、ｃｈ３の入力ポートにＡ成分が入力され、他のｃｈには画像データは入力されない。また、モノクロモードでは入力セレクタ５０ａはｃｈ１用の入力バッファの最終ライン（第８ラインバッファ）の出力を選択し、入力セレクタ５０ｂはｃｈ３用の入力バッファの最終ライン（第８ラインバッファ）の出力を選択する。
【００５０】
入力セレクタ５０ａがｃｈ１用の入力バッファの第８ラインバッファの出力を選択すると、ｃｈ１用の８ライン分のラインバッファとｃｈ２用の８ライン分のラインバッファとが直列に接続されて、１入力１６出力の直列並列変換器としての機能を備えた結合入力バッファ（図１１のＢ１´参照）が形成される。同様に、入力セレクタ５０ｂがｃｈ３用の入力バッファの第８ラインバッファの出力を選択すると、ｃｈ３用の入力バッファとｃｈ４用の入力バッファを合わせた１６ライン分のラインバッファが直列に接続され、１入力１６出力の直列並列変換器としての機能を備えた結合入力バッファ（図１１のＢ２´参照）が形成される。各結合入力バッファは１６画素を並列にした６４ビット幅の画像データを出力する。
【００５１】
またモノクロモードでは、結合入力バッファ毎に設けられた一時メモリ４５ｆ、４５ｇが使用される。一時メモリ４５ｆ、４５ｇは、それぞれ対応する結合入力バッファから１６画素分並列に出力される６４ビット幅の画像データを１回分保持し、その１６画素単位の画像データ（６４ビット）を第２セレクタ５５ｂに出力する。第２セレクタ５５ｂは一時メモリ４５ｆ、４５ｇのいずれか一方を選択して第３セレクタ５５ｃに出力する。
【００５２】
第３セレクタ５５ｃはカラーモードでは第１セレクタ５５ａの出力を画像メモリ１３へ出力し、モノクロモードでは第２セレクタ５５ｂの出力を画像メモリ１３へ出力する。
【００５３】
次に、メモリコントローラ１４の動作を、カラーモードとモノクロモードのそれぞれについて説明する。
【００５４】
＜カラーモードでの画像の格納＞
まず、入力装置１１で原稿をカラーで読み取り、その読み取り中にカラー画像データを順次に画像メモリ１３に格納する動作について説明する。入力装置１１から出力されるＲ，Ｇ，Ｂを成分とする画像データは入力画像処理部１２でＣ，Ｍ，Ｙ，Ｋ，Ａの５成分に変換されてメモリコントローラ１４に入力される。そして、メモリコントローラ１４のビット数変換部３１で各成分４ビットに変換されてブロック化部３２に入力される。
【００５５】
図６は、カラーモードに設定した場合のブロック化部３２の回路構成とデータの流れを示している。カラーモードではｃｈ１に各画素の画像データのＣ成分が、ｃｈ２にＭ成分が、ｃｈ３にＹ成分が、ｃｈ４にＫ成分が、ｃｈ５にＡ成分がそれぞれ１画素当たり４ビットで入力される。そして、ｃｈ１〜ｃｈ５のそれぞれに対して各８ラインの入力バッファＢ１〜Ｂ５が形成される。カラーモードでは図５に示した第３セレクタ５５ｃは第１セレクタ５５ａの出力を選択するように固定されるので、図６では第３セレクタ５５ｃの記載は省略する。
【００５６】
副走査方向に連なる８ライン分の画像データが成分別に各入力バッファＢ１〜Ｂ５に記憶されると、各入力バッファＢ１〜Ｂ５から、元画像内の同一領域に対応する各成分の画像データを８画素×８画素単位のブロックとして読み出し、元画像の同一領域に対応するＣ，Ｍ，Ｙ，Ｋ，Ａの成分別の５つのブロックを、画像メモリ（ＳＤＲＡＭ）１３の同一行アドレス内の連続する列アドレスにバースト転送で書き込む。
【００５７】
成分別の入力バッファからの１ブロックの読み出しは、次のようにして行われる。Ｃ成分の場合、まず、入力バッファＢ１からＣ成分の画像データを８画素（主走査方向が同じ位置で副走査方向に連なる８画素）分並列に読み出すことを２回行って１６画素分（副走査方向８画素×主走査方向２画素の領域に対応する６４ビット）のＣ成分画像データを一時メモリ４５ａ上で１つにパッキングし、このパッキングした１６画素分の画像データ（６４ビット）を第１セレクタ５５ａで選択して画像メモリ１３に出力する、という動作を４回繰り返す。これにより、Ｃ成分の１ブロック（８画素×８画素）が入力バッファＢ１から読み出される。同様に、Ｍ成分の１ブロックを読み出すときは、入力バッファＢ２からＭ成分の画像データを８画素分並列に読み出すことを２回行って１６画素分（６４ビット）のＭ成分の画像データを一時メモリ４５ｂ上で１つにパッキングし、このパッキングした１６画素分の画像データ（６４ビット）を第１セレクタ５５ａで選択して第３セレクタ５５ｃから画像メモリ１３に対して出力する、という動作を４回繰り返す。Ｙ成分、Ｋ成分、Ａ成分についても同様である。
【００５８】
このようにして元画像で同一領域の各成分の画像データを入力バッファＢ１〜Ｂ５からブロック単位にＣ，Ｍ，Ｙ，Ｋ，Ａの順に読み出し、これら５個のブロックを画像メモリ１３の同一行アドレス（ロウアドレス）内の連続する列アドレス（カラムアドレス）に書き込む。
【００５９】
書き込み動作では、まず、目的の格納場所に対応した行アドレスをセットし、当該ブロックの格納場所に対応した列アドレスをセットし、Ｃ成分の１ブロックを４バースト転送で画像メモリ（ＳＤＲＡＭ）１３に書き込む動作を開始する。書き込み動作開始後、４アドレス進んだ列アドレスを、４バースト単位の転送が連続して行われるタイミングでセットし、Ｍ成分の１ブロックを４バースト転送で画像メモリ（ＳＤＲＡＭ）１３に書き込む。同様に、４アドレス進んだ列アドレスを上記のタイミングでセットし、Ｙ成分の１ブロックを次の４バースト転送で画像メモリ（ＳＤＲＡＭ）１３に書き込む。さらに、同様にして、Ｋ成分のブロック、Ａ成分のブロックを連続した列アドレスにそれぞれ４バースト転送で書き込む。このように４バースト転送の書き込みを５回連続して行うことで、元画像で１個のブロックに属するＣ，Ｍ，Ｙ，Ｋ，Ａの各成分のブロックを同一行アドレス内の連続した列アドレスに格納する。
【００６０】
図６の下部では、説明を簡単にするため、ＳＤＲＡＭ１３の列アドレスが１〜１２８の場合を示している。前述の例では元画像で１ブロック分の画像データ（Ｃ，Ｍ，Ｙ，Ｋ，Ａの成分別で５ブロック）を書き込むと、列アドレスが２０アドレス進む。したがって、１つの行アドレスに、その行の先頭から列アドレスを順次増加させて元画像６ブロック分の画像データを書き込むと、同じ行アドレス内の空き領域が元画像で１ブロック分（ＣＭＹＫＡの成分別で５ブロック）の書き込みに必要な容量（２０アドレス分）を下回る。そこで、同一行アドレス内の空き領域が元画像で１ブロック分の画像データ（Ｃ，Ｍ，Ｙ，Ｋ，Ａの成分別で５ブロック）を書き込むために必要な容量未満になったら、行アドレスを変更する。
【００６１】
具体的には、元画像１ブロック分（Ｃ，Ｍ，Ｙ，Ｋ，Ａの成分別で５ブロック）の画像データの書き込みを開始する際に、同一行アドレス内に元画像１ブロック分の画像データの書き込みに必要なだけ空き領域が存在するか否かを判断し、存在する場合は行アドレスを変更せずにそのブロックの画像データ（Ｃ，Ｍ，Ｙ，Ｋ，Ａの成分別で５ブロック）を書き込む。必要な空き領域が存在しない場合は行アドレスを、たとえば、次のアドレスに進めてセットし、列アドレスをその行の先頭アドレスにセットして、当該ブロック（Ｃ，Ｍ，Ｙ，Ｋ，Ａの成分別で５ブロック）の書き込みを行う。
【００６２】
＜カラーモードでの画像の回転処理＞
次に、画像メモリ１３に上記のようにして格納されたカラー画像を９０度回転させる場合の処理手順について説明する。図７に示すように、回転前の画像データは領域Ｅ１に格納されている。回転前の元画像は、８画素×８画素のブロック（該ブロックはＣ，Ｍ，Ｙ，Ｋ，Ａの成分別の５ブロックに相当）が主走査方向に６ブロック、副走査方向に７ブロック並ぶ矩形の画像とする。
【００６３】
まず、元画像で同一ブロックに属するＣ，Ｍ，Ｙ，Ｋ，Ａの成分別の５ブロックを、同一行アドレスの連続する列アドレスからバースト転送で読み出す（Ｐ１）。
【００６４】
詳細には、ＳＤＲＡＭ１３に、該当する行アドレスおよび列アドレスをセットし、４バースト転送の読み出しを、列アドレスを４ずつ進めて５回繰り返すことで、元画像で８画素×８画素の同一ブロックに属するＣ，Ｍ，Ｙ，Ｋ，Ａの５ブロックの画像データを連続的に読み出し、これをブロック回転部３３にセットする（Ｐ１）。
【００６５】
次にブロック回転部３３により、成分別に、８画素×８画素のブロック内で画素位置の並べ替えを行い、ブロック単位の９０度回転を行う（Ｐ２）。なお、図中の（ｘ、ｙ）は回転前のブロック内での各画素の位置座標を示している。たとえば、回転前にブロック内の左上端にあった（０，０）の画素は、９０度回転により右上端に移動している。
【００６６】
ブロック回転部３３で各成分のブロックを９０度回転させた後、これらＣ，Ｍ，Ｙ，Ｋ，Ａの５つのブロックを、画像メモリ１３の別の領域Ｅ２内の所定の位置に書き込む（Ｐ３）。詳細には、元画像全体を９０度回転させた場合の当該ブロックの存在位置に書き込む。言い換えると、回転後の画像を格納する別の領域Ｅ２に画像全体を書き込み終えた後、その領域Ｅ２の先頭から順に画像データを読み出した場合に元画像全体を９０度回転させた画像が得られる位置に書き込む。
【００６７】
この書き込みにおいても、Ｃ，Ｍ，Ｙ，Ｋ，Ａの５ブロックを同一行アドレス内の連続した列アドレスに書き込む。詳細には、該当する行アドレスおよび列アドレスをセットし、４バースト転送の書き込み動作を、列アドレスを４ずつ進めて２０回繰り返すことで、元画像で８画素×８画素の同一ブロックに属するＣ，Ｍ，Ｙ，Ｋ，Ａの成分別の５ブロックの画像データを連続的に書き込む。
【００６８】
図８は、従来（図１６）のように、「ブロックの読み出し」、「ブロックの９０度回転処理」、「回転後のブロックの書き込み」を、成分を切り替えながら順次行う場合に画像メモリ（ＳＤＲＡＭ）１３に与える各信号を示すタイミングチャートである。この場合、「ブロックの読み出し」と「回転後のブロックの書き込み」とが異なる行アドレスになるので、４バースト転送毎に行アドレスが変更される。そのため、４バースト転送毎に、プリチャージや行アドレスを設定するための時間を要し、１つのブロックの１つの成分を回転処理するために２７クロックを要する。したがって、カラー画像の場合、Ｃ，Ｍ，Ｙ，Ｋ，Ａの５成分あるので、１ブロックの回転に、２７×５＝１３５クロックを要する。
【００６９】
図９、図１０は、メモリコントローラ１４が元画像の１ブロック（Ｃ，Ｍ，Ｙ，Ｋ，Ａの成分別の５ブロック）を回転処理する場合に画像メモリ（ＳＤＲＡＭ）１３に与える各種信号を示すタイミングチャートである。図１０は図９の続きを示している。メモリコントローラ１４は、カラーモードにおいて、同一行アドレス内の連続する列アドレスにＣ，Ｍ，Ｙ，Ｋ，Ａの５ブロックを格納するので、行アドレスの変更がＣ，Ｍ，Ｙ，Ｋ，Ａの５ブロック単位となり、図８の場合に比べてプリチャージや行アドレスを設定するための時間が減少する。その結果、元画像の１ブロック（Ｃ，Ｍ，Ｙ，Ｋ，Ａの成分別の５ブロック）を回転処理するための時間は５８クロックに短縮されている。
【００７０】
＜モノクロモードでの画像の格納＞
モノクロモードでは、入力装置１１から出力されるＲ，Ｇ，Ｂを成分とする画像データは入力画像処理部１２でＫ，Ａの２成分に変換されてメモリコントローラ１４に入力される。そして、メモリコントローラ１４のビット数変換部３１で各成分は４ビットに変換されてブロック化部３２に入力される。
【００７１】
図１１は、モノクロモード（第２モード）に設定した場合のブロック化部３２の回路構成とデータの流れを示している。モノクロモードではｃｈ１にモノクロ画像データのＫ成分が、ｃｈ３にＡ成分がそれぞれ画素毎４ビットで入力され、他のｃｈには画像データは入力されない。そして、ｃｈ１に対して、１６ライン分のラインバッファを直列接続した結合入力バッファＢ１´が形成され、ｃｈ３に対して１６ライン分のラインバッファを直列接続した結合入力バッファＢ２´が形成される。モノクロモードでは図５に示した第３セレクタ５５ｃは第２セレクタ５５ｂの出力を選択するように固定されるので、図１１では第３セレクタ５５ｃの記載は省略してある。
【００７２】
副走査方向に連なる１６ライン分の画像データのＫ成分が入力バッファＢ１´に、Ａ成分がＢ２´に記憶された後、各入力バッファＢ１´、Ｂ２´から、元画像内の同一領域に対応する各成分の画像データを１６画素×１６画素単位のブロックとして読み出す。そして、元画像の同一領域に対応するＫ成分とＡ成分の２つのブロックを、画像メモリ（ＳＤＲＡＭ）１３の同一行アドレス内の連続する列アドレスに書き込む。
【００７３】
詳細には、入力バッファＢ１´からＫ成分の画像データを１６画素分（主走査方向が同じ位置で副走査方向に連なる１６画素分の６４ビット）分並列に読み出し、これを一時メモリ４５ｆに一時保存し、この画像データ（６４ビット）を第２セレクタ５５ｂで選択して画像メモリ１３に出力する、という動作を１６回繰り返す。これにより、Ｋ成分の１ブロック（１６画素×１６画素）が結合入力バッファＢ１´から読み出される。同様に、Ａ成分の１ブロックを読み出すときは、入力バッファＢ２´からＡ成分のデータを１６画素分（主走査方向が同じ位置で副走査方向に連なる１６画素分の６４ビット）並列に読み出し、これを一時メモリ４５ｆ、第２セレクタ５５ｂ、第３セレクタ５５ｃを介して画像メモリ１３に出力する、という動作を１６回繰り返す。
【００７４】
このようにして元画像で同一領域の各成分を入力バッファＢ１´、Ｂ２´から１６画素×１６画素単位のブロックでＫ成分，Ａ成分の順に読み出し、これら２つのブロックを画像メモリ１３の同一行アドレス（ロウアドレス）内の連続する列アドレス（カラムアドレス）に書き込む。
【００７５】
書き込み動作では、まず、目的の格納場所に対応する行アドレスをセットし、その格納場所に対応する列アドレスをセットして、Ｋ成分のブロックを、４バースト転送を連続４回行って、画像メモリ（ＳＤＲＡＭ）１３に書き込み、さらに、そのまま連続して４バースト転送を４回行うことでＡ成分のブロックを画像メモリ（ＳＤＲＡＭ）１３に書き込む。すなわち、行アドレスをセットしたのち、４バースト転送を８回連続的に行うことでＫ成分とＡ成分のブロックを同一行アドレス内の連続した列アドレスに連続的に書き込む。なお、途中、４バースト転送が連続して行われるタイミングで、４アドレス進んだ列アドレスを順次セットする。
【００７６】
図１１の下部では、説明を簡単にするため、ＳＤＲＡＭ１３の列アドレスが１〜１２８の場合を示している。元画像で１ブロック分の画像データ（Ｋ成分とＡ成分の２ブロック）を書き込むと、列アドレスが３２アドレス進む。よって、同一の行アドレスに元画像で４ブロック分の画像データを丁度余りなく格納できる。したがって、元画像で４ブロック分の画像データを格納する毎に、行アドレスを次のアドレスに変更する。
【００７７】
＜モノクロモードでの画像の回転処理＞
次に、画像メモリ１３に上記のようにして格納されたモノクロ画像を９０度回転させる場合の処理手順について説明する。図１２に示すように、回転前の画像データは領域Ｇ１に格納されている。回転前の元画像は、１６画素×１６画素のブロック（該ブロックはＫ，Ａの成分別の２ブロックに相当）が主走査方向に４ブロック、副走査方向に６ブロック並ぶ矩形の画像とする。
【００７８】
まず、元画像で同一ブロックに属するＫ，Ａの成分別の２つのブロックを、同一行アドレスの連続する列アドレスからバースト転送によって読み出す（Ｐ１１）。
【００７９】
詳細には、ＳＤＲＡＭ１３に該当する行アドレスおよび列アドレスをセットし、４バースト転送の読み出しを、列アドレスを４ずつ進めて８回繰り返すことで、元画像で１６画素×１６画素の同一ブロックに属するＫ，Ａの２ブロック分の画像データを連続的に読み出し、これをブロック回転部３３にセットする（Ｐ１１）。
【００８０】
次に、ブロック回転部３３により、成分別に、１６画素×１６画素のブロック内で画素位置の並べ替えを行い、ブロック単位の９０度回転を行う（Ｐ１２）。なお、図中の（ｘ、ｙ）は回転前のブロック内での各画素の位置座標を示している。
【００８１】
ブロック回転部３３で各成分のブロックを９０度回転させた後、これらＫ，Ａの２つのブロックを、画像メモリ１３の別の領域Ｇ２内の所定の位置に書き込む（Ｐ１３）。詳細には、元画像全体を９０度回転させた場合の当該ブロックの存在位置に書き込む。言い換えると、回転後の画像を格納する別の領域Ｇ２に画像全体を書き込み終えた後、その領域Ｇ２の先頭から順に画像データを読み出した場合に元画像全体を９０度回転させた画像が得られる位置に書き込む。
【００８２】
この書き込みにおいても、Ｋ，Ａの２ブロックを同一行アドレス内の連続した列アドレスに書き込む。詳細には、該当する行アドレスおよび列アドレスをセットし、４バースト転送の書き込み動作を、列アドレスを４ずつ進めて８回繰り返すことで、元画像で１６画素×１６画素の同一ブロックに属するＫ，Ａ成分の２ブロックの画像データを連続的に書き込む。
【００８３】
図１３は、入力バッファを、カラーモードと同じ８ラインずつの構成とし、８画素×８画素のブロックサイズでモノクロ画像データを９０度回転処理する場合の画像メモリ（ＳＤＲＡＭ）１３に対する各信号を示すタイミングチャートである。ブロックサイズが８画素×８画素の場合、同一行アドレス内の連続する列アドレスに、Ｋ成分とＡ成分の２つのブロックを８バースト転送でリードまたはライトできる。従って、図１３に示すように、読み出しと９０度回転後の書き込みとを合わせて、元画像の１ブロック（Ｋ、Ａ成分の２ブロック）を３５クロックで処理することができる。
【００８４】
これに対してメモリコントローラ１４のモノクロモードを使用すれば、１６画素×１６画素のブロックサイズで処理できるので、プリチャージや行アドレスを設定する回数をより少なくでき、その分、高速に処理することができる。
【００８５】
図１４、図１５は、メモリコントローラ１４がモノクロモードで元画像の１ブロック（Ｋ成分とＡ成分の２ブロック）を回転処理する場合の画像メモリ（ＳＤＲＡＭ）１３に対する各信号を示すタイミングチャートである。図１５は図１４の続きを示している。メモリコントローラ１４は、モノクロモードでは、同一行アドレス内の連続する列アドレスに各１６画素×１６画素のＫ成分とＡ成分の２つのブロックを格納して読み出すので、行アドレスの変更が１６画素×１６画素の２ブロック単位となり、図１３に示す８画素×８画素の２ブロック単位とする場合に比べて、元画像全体を回転するために必要なプリチャージや行アドレスを設定する回数が減少する。すなわち、ブロックサイズが１６画素×１６画素の場合、１６画素×１６画素（Ｋ，Ａの成分別の２ブロック）の画像領域を回転処理するために必要な時間は８７クロックになる。一方、８画素×８画素のブロックサイズで１６画素×１６画素の領域を回転処理するには、８画素×８画素の回転処理を４回行うので、３５クロック×４＝１４０クロックを要する。
【００８６】
このように本発明のメモリコントローラ１４では、モノクロモードにおいて１６ラインずつの結合入力バッファＢ１´、Ｂ２´を形成してブロックサイズを１６画素×１６画素に拡大させるので、モノクロ画像データを扱う場合にも、画像メモリ１３への格納や読み出しの処理速度を大幅に高めて時間短縮することができる。
【００８７】
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
【００８８】
実施の形態の９０度回転処理において、その回転方向は左右いずれでもよく、任意に定めればよい。
【００８９】
実施の形態では、バースト転送長を４バーストとした例を示したが、８バースト転送などでもかまわない。また画像メモリのビット幅を６４ビット、画像データを１画素１成分あたり４ビットとしたが、これらに限定されるものではない。
【００９０】
また、実施の形態では、４０ライン分のラインバッファから、カラーモードでは８ラインずつの入力バッファを５組に形成し、モノクロモードでは、カラーモードの入力バッファを２つ直列接続することで１６ラインずつの結合入力バッファを２組形成するようにしたが、モノクロモードの１ｃｈあたりの入力バッファのライン数はこれに限定されるものではない。モノクロモードにおいて、４０ライン分のラインバッファから、カラーモードのときよりもライン数の多い入力バッファを２組形成すればよく、たとえば、２０ラインずつの入力バッファを２つ形成するように構成されてもよい。
【００９１】
また、カラー画像データはＣ，Ｍ，Ｙ，Ｋ，Ａを成分とし、モノクロ画像データはＫ，Ａを成分とする場合を例示したが、各画像データの成分構成や成分数はこれに限定されるものではない。また、たとえば、モノクロ画像データがＫ成分のみで構成される場合には、入力バッファは１つでよいので、モノクロモードでは、すべてのラインバッファ（本例では４０ライン分）を直列接続し、１入力４０出力の直列並列変換器としての機能を備えた入力バッファを形成するようにしてもよい。
【００９２】
実施の形態では、カラー画像データとモノクロ画像データを扱う場合を例示したが、成分数が異なる２種類の画像データでカラー、モノクロに限定されるものではない。
【００９３】
なお、第１モードでの入力バッファと第２モードでの入力バッファの関係を一般化すれば次のようになる。メモリコントローラ１４がＮａ×Ｌａ個のラインバッファを有するものとする。このとき、各画素がＬａ個の成分で表わされた第１画像データ（たとえば、Ｃ，Ｍ，Ｙ，Ｋ，Ａを成分とするカラー画像データ）を順次入力する第１モードでは、Ｎａ×Ｌａ個のラインバッファを、第１画像データを成分別に記憶するＮａラインずつのＬａ個の入力バッファとして使用する。一方、各画素がＬｂ（ただし、１≦Ｌｂ＜Ｌａ）個の成分で表わされた第２画像データ（たとえば、Ｋ，Ａを成分とするモノクロ画像データ）を順次入力する第２モードでは、Ｎａ×Ｌａ個のラインバッファを、第２画像データを成分別に記憶するＮｂ（ただし、Ｎｂ＞Ｎａ≧２、かつ、Ｎｂ×Ｌｂ≦Ｎａ×Ｌａ）ラインずつのＬｂ個の入力バッファとして使用すればよい。
【００９４】
実施の形態では、本発明をカラー画像形成装置に適用した場合を例示したが、他の装置でもかまわない。カラーとモノクロなど成分数が異なる複数種類の画像データを扱うと共に、副走査方向に走査する順序で順次入力される画像データを画像メモリ（ＳＤＲＡＭ）に格納する画像メモリ制御装置や画像処理装置であればよい。
【符号の説明】
【００９５】
３…原稿
１０…カラー画像形成装置
１１…入力装置
１２…入力画像処理部
１３…画像メモリ
１４…メモリコントローラ
１５…ハードディスク装置
１６…ストレージコントローラ
１７…出力画像処理部
１８…出力装置（プリンタエンジン）
２１…ＣＰＵ
２２、２３…バスブリッジ
２４…Ｉ／Ｏデバイス
３１…ビット数変換部
３２…ブロック化部
３３…ブロック回転部
３４…メモリＩ／Ｆ部
３５…制御部
４０…ラインバッファ
４５…一時メモリ
４５ａ〜４５ｅ…カラーモードで使用される一時メモリ
４５ｆ、４５ｇ…モノクロモードで使用される一時メモリ
５０…切り替え部
５０ａ…入力セレクタ
５０ｂ…入力セレクタ
５５…出力セレクタ
５５ａ…第１セレクタ
５５ｂ…第２セレクタ
５５ｃ…第３セレクタ
Ｂ１〜Ｂ５…カラーモードでの入力バッファ
Ｂ１´、Ｂ２´…モノクロモードでの結合入力バッファ
Ｅ１、Ｇ１…回転前の格納領域
Ｅ２、Ｇ２…回転後の格納領域
Ｆ…走査順序
【図１】
2012146032.tif 000003
【図２】
2012146032.tif 000004
【図３】
2012146032.tif 000005
【図４】
2012146032.tif 000006
【図５】
2012146032.tif 000007
【図８】
2012146032.tif 000008
【図９】
2012146032.tif 000009
【図１０】
2012146032.tif 000010
【図１１】
2012146032.tif 000011
【図１２】
2012146032.tif 000012
【図１６】
2012146032.tif 000013
【図１７】
2012146032.tif 000014
【図６】
2012146032.tif 000015
【図７】
2012146032.tif 000016
【図１３】
2012146032.tif 000017
【図１４】
2012146032.tif 000018
【図１５】
2012146032.tif 000019
【図１８】
2012146032.tif 000020