(57)【要約】【課題】画像データを処理単位ずつ転送する際の転送速度をさほど落とさず、格納手段における画像データの使用格納領域を少なく抑えることができる画像データ処理装置、記録装置及び画像データ処理方法を提供する。【解決手段】ＤＲＡＭに印刷イメージデータＰＤが格納されている。印刷イメージデータＰＤは、行方向（ライン方向）（図中の左右方向）に転送単位の４画素に満たない行余りデータＤｒが、列余りデータＤｃの末尾に続けて、転送単位の４×４画素領域（図中太線枠領域）が画素で満たされている満データＤｆの配列範囲（バーストラスターサイズＢＲ）内に収まるように格納されている。印刷イメージデータＰＤを構成するデータが回転処理のために読み出されるとき、データの配列順序で読み出し可能なアドレスを生成するアドレス生成部を有している。【選択図】図５
2011182106.tif 000002
【特許請求の範囲】
【請求項１】
画像データに処理を施す画像データ処理装置であって、
前記画像データを格納する格納手段と、
前記画像データに処理を施す処理手段と、
前記画像データを前記格納手段から前記処理手段へ処理単位のデータずつ転送する転送手段とを備え、
前記処理手段は、前記格納手段から前記処理単位ずつ転送されてくる前記データに順次処理を施す構成であり、
前記格納手段において、前記画像データは、１個が前記処理単位で満たされたＸ×Ｙ個の満データがＸ行×Ｙ列のマトリクス配列で格納されるとともに、行方向に前記処理単位に満たない行余りデータがある場合には、当該行余りデータが、満データＹ列配列幅内に配列されたデータの末尾に続けて前記満データＹ列配列幅内に収まるようにアラインして格納される構成であり、
前記転送手段は、前記格納手段から前記処理手段へ前記データを前記画像データにおける前記アライン前の元の順番で転送することを特徴とする画像データ処理装置。
【請求項２】
画像データに処理を施す画像データ処理装置であって、
前記画像データを処理単位のデータずつ読込んで該データに処理を施す処理手段と、
処理後の画像データを格納するための格納手段と、
前記処理が施された前記処理単位のデータを前記処理手段から前記格納手段へ順次転送して前記格納手段に処理後の画像データを格納させる転送手段とを備え、
前記転送手段は、前記処理後の画像データを、前記格納手段に対して、１個が前記処理単位で満たされたＹ×Ｘ個の満データがＹ行×Ｘ列のマトリクス状に配列されるとともに、行方向に前記処理単位に満たない行余りデータがある場合には、当該行余りデータが、満データＸ列配列幅内に配列されたデータの末尾に続けて、前記満データＸ列配列幅内に収まるようにアラインして格納させることを特徴とする画像データ処理装置。
【請求項３】
画像データに処理を施す画像データ処理装置であって、
処理前の画像データを格納する格納手段と、
前記画像データに処理を施す処理手段と、
前記処理前の画像データを前記格納手段から前記処理手段へ処理単位のデータずつ転送するとともに、前記処理手段が前記処理単位ずつ転送されてくる前記データに順次処理を施して生成された前記処理後のデータを前記処理手段から前記格納手段へ順次転送することで前記処理が施された画像データを前記格納手段に格納させる転送手段とを備え、
前記格納手段において、前記画像データは、１個が前記処理単位で満たされたＸ×Ｙ個の満データがＸ行×Ｙ列のマトリクス配列で格納されるとともに、行方向に前記処理単位に満たない行余りデータがある場合には、当該行余りデータが、満データＹ列配列幅内に配列されたデータの末尾に続けて前記満データＹ列配列幅内に収まるようにアラインして格納される構成であり、
前記転送手段は、前記格納手段から前記処理手段へ前記データを前記画像データにおける前記アライン前の元の順番で転送し、
前記処理が施された前記処理単位のデータを前記処理手段から前記格納手段へ順次転送して前記格納手段に処理後の画像データを格納させる転送手段とを備え、
前記転送手段は、前記処理後の画像データを、前記格納手段に対して、１個が前記処理単位で満たされたＹ×Ｘ個の満データがＹ行×Ｘ列のマトリクス状に配列されるとともに、前記行余りデータがある場合には、当該行余りデータが、満データＸ列配列幅内に配列されたデータの末尾に続けて、前記満データＸ列配列幅内に収まるようにアラインして格納させることを特徴とする画像データ処理装置。
【請求項４】
前記処理手段は画像データに回転処理を施す回転処理手段であり、
前記転送手段は、前記処理単位が行方向と列方向で画素数の等しいＫ×Ｋ画素（但しＫ≧２）の正方ブロックの前記データをバースト転送することを特徴とする請求項１乃至３のうちいずれか一項に記載の画像データ処理装置。
【請求項５】
前記転送手段は、前記格納手段からデータを読み出して転送する際の読出しアドレスを生成するか、又は前記格納手段に転送したデータを書き込む際の書込みアドレスを生成するアドレス生成手段を、更に備えたことを特徴とする請求項１乃至４のうちいずれか一項に記載の画像データ処理装置。
【請求項６】
前記アドレス生成手段は、転送すべきデータが行余りデータであるか否かを判定する判定手段と、
データが行余りデータ以外である場合には第１のアドレス生成演算式に従ってアドレスを生成し、データが行余りデータである場合には第２のアドレス生成演算式に従ってアドレスを生成することを特徴とする請求項５に記載の画像データ処理装置。
【請求項７】
請求項１乃至６のいずれか一項に記載の画像データ処理装置と、
媒体を搬送する搬送手段と、
前記搬送手段により搬送される媒体に画像を形成する記録手段とを備え、
前記記録手段は前記処理手段による処理が施された画像データに基づき制御されることを特徴とする記録装置。
【請求項８】
画像データに処理を施す画像データ処理方法であって、
格納手段において、前記画像データを、１個が処理単位で満たされたＸ×Ｙ個の満データがＸ行×Ｙ列のマトリクス配列で格納されるとともに、行方向に前記処理単位に満たない行余りデータがある場合には、当該行余りデータが、満データＹ列配列幅内に配列されたデータの末尾に続けて前記満データＹ列配列幅内に収まるようにアラインして格納しておき、
前記画像データを前記格納手段から処理手段へ前記処理単位のデータずつ転送する転送ステップと、
前記処理手段が、前記格納手段から前記処理単位ずつ転送されてくる前記データに順次処理を施す処理ステップと、を備え、
前記転送ステップでは、前記データを前記アライン前の元の順番で前記格納手段から前記処理手段へ転送することを特徴とする画像データ処理方法。
【請求項９】
画像データに処理を施す画像データ処理方法であって、
前記画像データを処理単位のデータずつ読込んで処理手段が該データに処理を施す処理ステップと、
前記処理が施された前記処理単位のデータを転送手段が前記処理手段から格納手段へ順次転送することで前記格納手段に処理後の画像データを格納させる転送ステップと、を備え、
前記転送ステップでは、前記転送手段は、１個が前記処理単位で満たされたＹ×Ｘ個の満データがＹ行×Ｘ列のマトリクス状に配列されるとともに、行方向に前記処理単位に満たない行余りデータがある場合には、当該行余りデータが、満データＸ列配列幅内に配列されたデータの末尾に続けて、前記満データＸ列配列幅内に収まるようにアラインして格納させることを特徴とする画像データ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、格納手段と処理手段との間で処理単位ずつのデータ転送を伴って画像データに処理を施す画像データ処理装置、記録装置及び画像データ処理方法に関する。
【背景技術】
【０００２】
例えば特許文献１、２には、インクを噴射する印刷ヘッドを備えた記録装置（流体噴射装置）が開示されている。例えばスキャナーユニットにより読み込まれた画像データに、２値化処理（ハーフトーン処理）、ＲＧＢ表色系からＣＭＹＫ表色系への色変換処理、インターレース処理、縦横変換処理（回転処理）などの複数の処理が施され、これらの処理を経て生成されたヘッド制御データに基づき印刷ヘッドは駆動される。このとき、各処理では、処理前の画像データがバッファーから処理ユニットへ処理単位ずつ転送され、処理ユニットで処理が施された処理単位のデータはバッファーへ順次転送される。このときのデータ転送には高速処理可能なバースト転送が採用される（例えば特許文献１、２）。
【０００３】
例えば縦横変換処理（回転処理）では、画素の並び順がライン方向（横方向）である画像データを、印刷ヘッドのノズル配列に対応させたラスター方向（縦方向）の画素の並び順とすべく画像データの縦方向と横方向を入れ換える処理が回転ユニットにより行われる。この場合、回転ユニットへバッファーから処理単位のデータずつバースト転送され、縦横変換（回転）後のデータが回転ユニットからバッファーへ順次バースト転送される。
【０００４】
図１０（ａ）は回転処理前の画像データ（印刷イメージデータ）を示し、図１０（ｂ）は回転処理後の画像データ（ヘッドイメージデータ）を示す。図１０（ａ）では、回転処理前の印刷イメージデータを構成する各画素は、Ｎ行×Ｍ列のマトリクス状に配列されている。通常、回転処理時の画像データは数１００行×数１００列ぐらいの画素数であるが、図１０では説明を簡単にするため、画素数６行×１０列の画像データの例で説明する。ここで、画素の符号「Ｎ-Ｍ」は、Ｎ行Ｍ列目の画素データを指す。
【０００５】
回転処理では、ＤＲＡＭ１００に格納された印刷イメージデータを、例えば４×４画素分の正方領域（正方ブロック）のデータずつ図中に太数字で示す順番で回転ユニットへバースト転送する。そして、回転ユニットは、転送されてきたデータに回転処理（縦横変換処理）を施し、その回転後のデータを、ＤＲＡＭ１００へバースト転送し、図１０（ｂ）に太数字で示す位置に格納することで、ＤＲＡＭ１００に縦横変換されたヘッドイメージデータが生成される。
【０００６】
ところで、バースト転送方式では、図１０に太線枠で囲った回転処理単位の正方ブロック（４×４画素）のデータを転送する場合、バーストサイズ（１６ビット×４）である１行（４画素）ずつ４回転送する。そして、正方ブロックが図１０（ａ）に示す太数字「１」、「２」、…「６」の順番で読出されて回転ユニットへ順次転送される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−１２２５９４号公報
【特許文献２】特開２００８−２２１７６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、図１０に示すように、太数字「１」、「２」のデータはその太線枠の領域内が４×４の画素データで満ちた満データになっている。ところが、太数字「３」、「６」のデータは行方向に画素データがバーストサイズの４画素に満たない行余りデータになっており、太数字「４」、「５」、「６」のデータが列方向に画素データが転送回数「４」（４画素）に満たない列余りデータになっている。このため、行余りデータには、図１０（ａ）に網掛けで示すダミーデータを用意し、行余りデータについてもバーストサイズを確保してバースト転送できるようにしていた。この場合、４画素に満たないときだけバースト転送の指定の仕方を変えてダミーデータの転送を回避する方法もあるが、指定の仕方が複雑になって、転送速度が却って遅くなり好ましくない。
【０００９】
このため、バースト転送方式で高速転送を行おうとすると、ダミーデータを格納しておく必要があり、ダミーデータの格納領域が余分に必要となるので、データ格納領域（記憶容量）の大きなＤＲＡＭ１００を用意したり、ＤＲＡＭ１００における他データの格納領域が圧迫されたりするなどの問題があった。このため、ダミーデータをなるべく減らしたいという要望があった。また、回転処理後のデータが、ＤＲＡＭ１００に図１０（ｂ）に太数字で示す位置に格納されることでヘッドイメージデータが生成されるが、同図（ｂ）に示すようにＤＲＡＭ１００にダミーデータと一緒に格納されるので、ＤＲＡＭ１００の格納領域がダミーデータの分だけ余分に必要なり、前述の問題が同様に発生する。
【００１０】
本発明は、上記課題に鑑みてなされたものであり、その目的の一つは、画像データを処理単位ずつ転送する際の転送速度をさほど落とさず、格納手段における画像データの使用格納領域を少なく抑えることができる画像データ処理装置、記録装置及び画像データ処理方法を提供することにある。
【課題を解決するための手段】
【００１１】
上記問題点を解決するために、本発明（第１発明）は、画像データに処理を施す画像データ処理装置であって、前記画像データを格納する格納手段と、前記画像データに処理を施す処理手段と、前記画像データを前記格納手段から前記処理手段へ処理単位のデータずつ転送する転送手段とを備え、前記処理手段は、前記格納手段から前記処理単位ずつ転送されてくる前記データに順次処理を施す構成であり、前記格納手段において、前記画像データは、１個が前記処理単位で満たされたＸ×Ｙ個の満データがＸ行×Ｙ列のマトリクス配列で格納されるとともに、行方向に前記処理単位に満たない行余りデータがある場合には、当該行余りデータが、満データＹ列配列幅内に配列されたデータの末尾に続けて前記満データＹ列配列幅内に収まるようにアラインして格納される構成であり、前記転送手段は、前記格納手段から前記処理手段へ前記データを前記画像データにおける前記アライン前の元の順番で転送することを要旨とする。
【００１２】
この発明によれば、処理前の画像データは、格納手段に、行余りデータが、満データＹ列配列幅内のデータの末尾に続けて満データＹ列配列幅内に収まるように格納されるので、格納手段における処理前の画像データの使用格納領域を少なく抑えることができる。よって、画像データを処理単位ずつ転送する際の転送速度をさほど落とさず、格納手段における画像データの使用格納領域を少なく抑えることができる。
【００１３】
本発明（第２発明）は、画像データに処理を施す画像データ処理装置であって、前記画像データを処理単位のデータずつ読込んで該データに処理を施す処理手段と、処理後の画像データを格納するための格納手段と、前記処理が施された前記処理単位のデータを前記処理手段から前記格納手段へ順次転送して前記格納手段に処理後の画像データを格納させる転送手段とを備え、前記転送手段は、前記処理後の画像データを、前記格納手段に対して、１個が前記処理単位で満たされたＹ×Ｘ個の満データがＹ行×Ｘ列のマトリクス状に配列されるとともに、行方向に前記処理単位に満たない行余りデータがある場合には、当該行余りデータが、満データＸ列配列幅内に配列されたデータの末尾に続けて、前記満データＸ列配列幅内に収まるようにアラインして格納させることを要旨とする。
【００１４】
この発明によれば、処理後の画像データは、格納手段に、行余りデータが、満データＸ列配列幅内のデータの末尾に続けて満データＸ列配列幅内に収まるように格納されるので、格納手段における処理後の画像データの使用格納領域を少なく抑えることができる。よって、画像データを処理単位ずつ転送する際の転送速度をさほど落とさず、格納手段における画像データの使用格納領域を少なく抑えることができる。
【００１５】
本発明は、画像データに処理を施す画像データ処理装置であって、処理前の画像データを格納する格納手段と、前記画像データに処理を施す処理手段と、前記処理前の画像データを前記格納手段から前記処理手段へ処理単位のデータずつ転送するとともに、前記処理手段が前記処理単位ずつ転送されてくる前記データに順次処理を施して生成された前記処理後のデータを前記処理手段から前記格納手段へ順次転送することで前記処理が施された画像データを前記格納手段に格納させる転送手段とを備え、前記格納手段において、前記画像データは、１個が前記処理単位で満たされたＸ×Ｙ個の満データがＸ行×Ｙ列のマトリクス配列で格納されるとともに、行方向に前記処理単位に満たない行余りデータがある場合には、当該行余りデータが、満データＹ列配列幅内に配列されたデータの末尾に続けて前記満データＹ列配列幅内に収まるようにアラインして格納される構成であり、前記転送手段は、前記格納手段から前記処理手段へ前記データを前記画像データにおける前記アライン前の元の順番で転送し、前記処理が施された前記処理単位のデータを前記処理手段から前記格納手段へ順次転送して前記格納手段に処理後の画像データを格納させる転送手段とを備え、前記転送手段は、前記処理後の画像データを、前記格納手段に対して、１個が前記処理単位で満たされたＹ×Ｘ個の満データがＹ行×Ｘ列のマトリクス状に配列されるとともに、前記行余りデータがある場合には、当該行余りデータが、満データＸ列配列幅内に配列されたデータの末尾に続けて、前記満データＸ列配列幅内に収まるようにアラインして格納させることを要旨とする。
【００１６】
この発明によれば、上記第１発明と上記第２発明との両方の構成を備えるので、格納手段における処理前の画像データの使用格納領域を少なく抑えることができるうえ、処理後の画像データの使用格納領域を少なく抑えることができる。よって、画像データを処理単位ずつ転送する際の転送速度をさほど落とさず、格納手段における画像データの使用格納領域を少なく抑えることができる。
【００１７】
本発明の画像データ処理装置では、前記処理手段は画像データに回転処理を施す回転処理手段であり、前記転送手段は、前記処理単位が行方向と列方向で画素数の等しいＫ×Ｋ画素（但しＫ≧２）の正方ブロックの前記データをバースト転送することを要旨とする。この発明によれば、正方ブロック（Ｋ×Ｋ画素）のデータの転送をバースト転送で行えるので、Ｋ×Ｋ画素のデータずつ行われる回転処理を高速に行いつつ、格納手段においてデータの使用格納領域を少なく抑えることができる。
【００１８】
本発明の画像データ処理装置では、前記転送手段は、前記格納手段からデータを読み出して転送する際の読出しアドレスを生成するか、又は前記格納手段に転送したデータを書き込む際の書込みアドレスを生成するアドレス生成手段を、更に備えたことを要旨とする。
【００１９】
この発明によれば、転送手段は、アドレス生成手段が生成したアドレスを指定して転送の指示を行うことにより、画像データを構成するデータを元の配列順序で転送できる。
本発明の画像データ処理装置では、前記アドレス生成手段は、転送すべきデータが行余りデータであるか否かを判定する判定手段と、データが行余りデータ以外である場合には第１のアドレス生成演算式に従ってアドレスを生成し、データが行余りデータである場合には第２のアドレス生成演算式に従ってアドレスを生成することを要旨とする。
【００２０】
この発明によれば、アドレス生成手段は、転送すべきデータが行余りデータであるか否かによって、それぞれに応じた第１又は第２のアドレス生成演算式に従ってアドレスを生成するので、転送手段は、アドレス生成手段が生成したアドレスを指定して転送の指示を行うことにより、画像データを元の配列順序で転送することができる。
【００２１】
本発明は、上記発明の画像データ処理装置と、媒体を搬送する搬送手段と、前記搬送手段により搬送される媒体に画像を形成する記録手段とを備え、前記記録手段は前記処理手段による処理が施された画像データに基づき制御されることを要旨とする。
【００２２】
この発明の記録装置によれば、上記画像データ処理装置に係る発明と同様の効果を得ることができる。
本発明は、画像データに処理を施す画像データ処理方法であって、格納手段において、前記画像データを、１個が前記処理単位で満たされたＸ×Ｙ個の満データがＸ行×Ｙ列のマトリクス配列で格納されるとともに、行方向に前記処理単位に満たない行余りデータがある場合には、当該行余りデータが、満データＹ列配列幅内に配列されたデータの末尾に続けて前記満データＹ列配列幅内に収まるようにアラインして格納しておき、前記画像データを前記格納手段から処理手段へ前記処理単位のデータずつ転送する転送ステップと、前記処理手段が、前記格納手段から前記処理単位ずつ転送されてくる前記データに順次処理を施す処理ステップと、を備え、前記転送ステップでは、前記データを前記アライン前の元の順番で前記格納手段から前記処理手段へ転送することを要旨とする。この発明によれば、第１発明に係る画像処理装置と同様の作用効果を得ることができる。
【００２３】
本発明は、画像データに処理を施す画像データ処理方法であって、前記画像データを処理単位のデータずつ読込んで処理手段が該データに処理を施す処理ステップと、前記処理が施された前記処理単位のデータを転送手段が前記処理手段から前記格納手段へ順次転送することで前記格納手段に処理後の画像データを格納させる転送ステップと、を備え、前記転送ステップでは、前記転送手段は、１個が前記処理単位で満たされたＹ×Ｘ個の満データがＹ行×Ｘ列のマトリクス状に配列されるとともに、行方向に前記処理単位に満たない行余りデータがある場合には、当該行余りデータが、満データＸ列配列幅内に配列されたデータの末尾に続けて、前記満データＸ列配列幅内に収まるようにアラインして格納させることを要旨とする。この発明によれば、第２発明に係る画像処理装置と同様の作用効果を得ることができる。
【図面の簡単な説明】
【００２４】
【図１】一実施形態における複合機の斜視図。
【図２】印刷ヘッドの模式底面図。
【図３】複合機の電気的構成を示すブロック図。
【図４】縦横変換処理に係る電気的構成を示すブロック図。
【図５】（ａ）印刷イメージデータの格納構造、（ｂ）ヘッドイメージデータの格納構造をそれぞれ説明するための模式図。
【図６】（ａ）印刷イメージデータの格納構造、（ｂ）ヘッドイメージデータの格納構造をそれぞれ示す模式図。
【図７】ソース側のアドレス生成方法を説明する模式図。
【図８】ディスティネーション側のアドレス生成方法を説明する模式図。
【図９】ＳＲＡＭにおける回転処理を説明する模式図。
【図１０】（ａ）（ｂ）従来技術における回転処理時のデータ格納構造を示す模式図。
【発明を実施するための形態】
【００２５】
以下、本発明を具体化した一実施形態を図１〜図９に基づいて説明する。図１は、スキャナー機能を備えた印刷装置である複合機１１の斜視図である。記録手段の一例である流体噴射装置としての複合機１１は本体１２とカバー１３とを備える。本体１２の下側部分がプリンター部１４になっており、上側部分がスキャナー部１５になっている。プリンター部１４は、例えばインクジェット記録方式を採用する。本体１２の前側上段部には、操作パネル１７が設けられている。また、本体１２の前側下部には、印刷済みの用紙Ｐが排出される排紙部１８が設けられている。本体１２において排紙部１８の図１における右上位置には、メモリーカード１９を挿抜可能なカードスロット２０が設けられている。
【００２６】
図１に示すように、操作パネル１７にはその幅方向中央部に表示部２１（例えば液晶ディスプレイ）が設けられている。また、操作パネル１７には、電源ボタン２２、モード選択ボタン２３、印刷／スキャンを開始するスタートボタン２４、実行中の動作を中止するストップボタン２５等が配設されている。モード選択ボタン２３の操作によって、「メモリーカード」「コピー」「スキャン」等を含む５つモードのうち一つを選択でき、メモリーカード１９から読み取った画像データに基づく写真等の印刷や、原稿のコピー印刷、原稿のスキャニングなどを行うことができる。
【００２７】
図３は、複合機１１の電気的構成を示すブロック図である。複合機１１は、全体的な制御を司る制御装置３０を備える。制御装置３０は、プリンター部１４及びスキャナー部１５を駆動制御する。制御装置３０は、プリンター部１４を構成するキャリッジモーター２７、搬送手段を構成する搬送モーター２８及び記録手段の一例である流体噴射ヘッドを構成する印刷ヘッド２９を駆動制御することにより、プリンター部１４に用紙Ｐ（媒体）への印刷を行わせる。
【００２８】
この制御装置３０には、ＣＰＵ３１（中央処理装置）、ＡＳＩＣ３２（Application SpecificＩＣ）、ＲＯＭ３３、メモリーコントローラー３４、ＤＲＡＭ３５（Dynamic Random Access Memory）及びモーター駆動回路３６が備えられている。なお、ＤＲＡＭ３５としては、SDRAM（Synchronous DRAM）、DDR SDRAM（Double-Data-Rate SDRAM）、DDR2 SDRAM、DDR3 SDRAMなどが用いられているが、その他、EDO DRAM（Extended Data Out DRAM）、バーストEDO DRAMなどを用いることができる。
【００２９】
ＲＯＭ３３には、プログラムや各種制御に必要な設定データなどが記憶されている。ＣＰＵ３１はＲＯＭ３３から読み出したプログラム（例えばファームウェア用プログラム）を実行してコマンド及び指令値をモーター駆動回路３６に与えることによりキャリッジモーター２７及び搬送モーター２８を駆動制御する。これにより、プリンター部１４における用紙の搬送制御、及び印刷ヘッド２９を備える不図示のキャリッジを主走査方向へ移動させるキャリッジ制御が行われる。
【００３０】
また、複合機１１は、通信インターフェイス（以下、「通信Ｉ／Ｆ３７」という）を備える。例えば不図示のホスト装置（パーソナルコンピューター等）から転送されてきた印刷データは、通信Ｉ／Ｆ３７が受信する。この通信Ｉ／Ｆ３７に接続されたバス３８には、制御装置３０を構成するＣＰＵ３１、ＡＳＩＣ３２、ＲＯＭ３３、メモリーコントローラー３４、ＤＲＡＭ３５及びモーター駆動回路３６が接続されるとともに、スキャナー入力回路４１、メモリーカード入出力回路４２及び操作パネル１７が接続されている。
【００３１】
スキャナー部１５は、原稿を光学的に読み取るラインセンサー１５ａと、ラインセンサー１５ａからの読取信号（アナログ信号）をＡ／Ｄ変換して多階調のＲＧＢ画像データ（ラインデータ）として出力するＡ／Ｄ変換回路１５ｂとを備える。スキャナー入力回路４１は、ＣＰＵ３１の制御の下、スキャナー部１５から入力されるＲＧＢ画像データに対しライン間補正処理及び解像度変換処理を施す。そして、これらの処理が施されたＲＧＢ画像データはＡＳＩＣ３２に入力され、不図示の圧縮回路によりＪＰＥＧ画像データに圧縮される。また、メモリーカード入出力回路４２は、スロット２０に挿着されたメモリーカード１９から例えばＪＰＥＧ画像データを読み込む。
【００３２】
ＤＲＡＭ３５は、その一部の記憶領域が画像データ格納用のバッファーとして使用され、入力バッファー３５ａと中間バッファー３５ｂと出力バッファー３５ｃとを備える。入力バッファー３５ａには、ホスト装置から受信した印刷データ、スキャナー部１５経由及びメモリーカード入出力回路４２経由のＪＰＥＧ画像データなどが格納される。
【００３３】
ＡＳＩＣ３２は、入力バッファー３５ａに格納された画像データ（印刷データ、ＪＰＥＧ画像データ等）に、その画像データ種に応じた画像処理を施すため、図３に示すＪＰＥＧ解凍回路４３、画像処理回路４４、縦横変換回路４５及びヘッド制御ユニット４６を内蔵している。
【００３４】
ＪＰＥＧ解凍回路４３は、入力バッファー３５ａから読み込んだＪＰＥＧ画像データを解凍（伸張）してＲＧＢ画像データに展開し、その展開したＲＧＢ画像データを中間バッファー３５ｂに格納する。
【００３５】
画像処理回路４４は、中間バッファー３５ｂから読み込んだＲＧＢ画像データに対して、解像度変換処理、色変換処理、ハーフトーン処理等を含む公知の画像処理を施す。ここで、解像度変換処理とは、ＲＧＢ画像データの解像度を表示用解像度から印刷用解像度に変換する処理である。色変換処理とは、ＲＧＢ画像データをＲＧＢ表色系からＣＭＹＫ表色系のＣＭＹＫ画像データへ色変換テーブル（図示せず）を参照して変換する処理である。ハーフトーン処理とは、ＣＭＹＫ画像データの画素の階調値（例えば２５６階調）を、印刷用の階調値（例えば２階調又は４階調など）に変換する処理である。中間バッファー３５ｂは、これらの各画像処理終了後の画像データをそれぞれ格納する３つの格納領域を備え、これらの画像処理を全て終了した最終の印刷イメージデータ（ＣＭＹＫ画像データ）は、中間バッファー３５ｂの最終段の格納領域に格納される。
【００３６】
縦横変換回路４５は、中間バッファー３５ｂから読み込んだ印刷イメージデータに縦横変換処理を施す。縦横変換処理とは、印刷イメージデータの画素の並び順を、表示用の横方向（ライン方向）の並び順から、印刷ヘッド２９のノズル配列（つまりインク噴射順序）に合わせた縦方向（ラスター方向）の並び順に変換する処理である。そして、縦横変換処理後のヘッドイメージデータは出力バッファー３５ｃ（イメージバッファー）に格納される。
【００３７】
ヘッド制御ユニット４６は、出力バッファー３５ｃに格納されたヘッドイメージデータを、印刷ヘッド２９による印刷制御（噴射制御）が可能なヘッド制御データに変換する。ヘッド制御データは、ヘッド制御ユニット４６から例えば１パス分（印刷ヘッドの１走査分）ずつ印刷ヘッド２９へ転送される。印刷ヘッド２９は不図示のヘッド駆動回路を内蔵し、ヘッド駆動回路がヘッド制御データに基づきインクの噴射制御を行う。
【００３８】
図２は、印刷ヘッドの底面（ノズル開口面）を示す。図２に示すように、印刷ヘッド２９のノズル開口面２９Ａには、副走査方向（図２における上下方向）に一定のノズルピッチで配列された計１８０個のノズル♯１〜♯１８０よりなるノズル列が４色分（４列）形成されている。本例では、各ノズル列は、１８０個ずつのノズル２９Ｋ，２９Ｃ，２９Ｍ，２９Ｙを備え、黒（Ｋ）、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）のインク滴の噴射に使用される。
【００３９】
また、印刷ヘッド２９には、図２に示す各ノズル♯１〜♯１８０と対応する吐出駆動素子４８がノズルと同数内蔵されている（但し、図２では印刷ヘッド２９の外側に模式的に描いている）。吐出駆動素子４８は、例えば圧電振動素子又は静電駆動素子からなる。印刷ヘッド２９は、不図示のヘッド駆動回路により、ヘッド制御ユニット４６から転送されたヘッド制御データに基づいて吐出駆動素子４８の駆動制御を行って、ノズルからの噴射制御を行う。もちろん吐出駆動素子４８はノズル通路内のインクを加熱するヒーターでもよく、ヒーターで加熱したインク内に沸騰により発生した気泡の膨張を利用してノズルからインク滴を吐出させる構成でもよい。
【００４０】
図２に示す印刷ヘッド２９は、プリンター部１４において主走査方向（図２における左右方向）に移動可能に設けられた不図示のキャリッジの下部に固定されている。キャリッジモーター２７の駆動により、印刷ヘッド２９はキャリッジと共に主走査方向に移動し、その移動途中でノズルからインク滴を１ドット間隔で噴射することにより、用紙Ｐに印刷が施される。
【００４１】
図４は、回転処理に係る部分の詳細な構成図を示す。図４に示すように、縦横変換回路４５は、バス３８に接続された回転ユニット５０と、この回転ユニット５０に接続されたＳＲＡＭ７０とを備える。ＤＲＡＭ３５は、前述の中間バッファー３５ｂと出力バッファー３５ｃとを備える（但し図４では入力バッファー３５ａを省略している）。図４に示すように、中間バッファー３５ｂには回転ユニット５０による回転処理前の印刷イメージデータＰＤが格納され、出力バッファー３５ｃには回転ユニット５０による回転処理後のヘッドイメージデータＨＤが格納されるようになっている。
【００４２】
図４に示す回転ユニット５０は、転送手段の一例としてのＤＭＡコントローラー５１と、回転手段の一例としての回転処理部５２とを備える。ＤＭＡコントローラー５１は、メモリーコントローラー３４に対してアドレスを指定して読出し（リード）又は書込み（ライト）のリクエストを行うことにより、ＤＲＡＭ３５との間で行われるデータ転送の制御を司る。詳しくは、ＤＭＡコントローラー５１は、メモリーコントローラー３４に対してＤＲＡＭ３５からの読出しアドレスＡＤreadを指定して、ＤＲＡＭ３５（詳しくは中間バッファー３５ｂ）から印刷イメージデータＰＤを設定サイズ（処理単位）のデータずつ回転ユニット５０に転送する第１転送機能を有する。また、回転処理部５２は、ＤＲＡＭ３５内の印刷イメージデータＰＤのうち回転ユニット５０へ設定サイズ（処理単位）ずつ転送されてきたデータをＳＲＡＭ７０に格納し、ＳＲＡＭ７０に格納されたデータに回転処理（縦横変換処理）を施す機能を有する。また、ＤＭＡコントローラー５１は、メモリーコントローラー３４に対してＤＲＡＭ３５への書込みアドレスＡＤwriteを指定して、回転処理後のデータをＳＲＡＭ７０からＤＲＡＭ３５（詳しくは出力バッファー３５ｃ）へ設定サイズ（処理単位）ずつ転送する第２転送機能を有する。
【００４３】
図４に示すように、ＤＭＡコントローラー５１は、上記第１転送機能及び第２転送機能を実現するための構成として、設定レジスター５３、シーケンサー５４、第１カウンター５５、第２カウンター５６、第３カウンター５７、第４カウンター５８、第１アドレス生成部５９、第２アドレス生成部６０及び転送指示部６１を備える。
【００４４】
第１アドレス生成部５９は、回転処理前のデータをＤＲＡＭ３５から回転ユニット５０へ転送する際の読出しアドレスＡＤreadを生成する。第２アドレス生成部６０は、回転処理後のデータをＳＲＡＭ７０からＤＲＡＭ３５へ転送する際の書込みアドレスＡＤwriteを生成する。
【００４５】
設定レジスター５３には、印刷イメージデータＰＤ及びヘッドイメージデータＨＤに関する設定情報がＣＰＵ３１により設定される。設定レジスター５３の各種設定情報は、各アドレス生成部５９，６０がアドレスを生成する際に使用される。また、設定レジスター５３には、バースト転送用の設定情報として、バースト転送１回当たりのデータサイズであるバーストサイズＢＳ（本例では１６ビット×４）と、転送回数Ｔ（本例では４回）とが、ＣＰＵ３１により設定される。
【００４６】
シーケンサー５４は、各カウンター５５〜５８の計数処理などを司る。各カウンター５５〜５８は、回転処理対象のデータのうちの対象画素が印刷イメージデータＰＤにおける何行目・何列目の画素であるかなどを計数する。各アドレス生成部５９，６０は、設定レジスター５３の設定情報と、各カウンター５５〜５８の計数値とを用いて、各アドレスＡＤread，ＡＤwriteを生成する。第１アドレス生成部５９は読出しアドレスＡＤreadの生成に使用する判定部５９ａ及び演算部５９ｂを備え、第２アドレス生成部６０は書込みアドレスＡＤwriteの生成に使用する判定部６０ａ及び演算部６０ｂを備える。なお、本実施形態では、判定部５９ａ，６０ａにより、判定手段が構成される。
【００４７】
転送指示部６１は、回転ユニット５０とＤＲＡＭ３５との間におけるデータの転送を指示する機能を有する。転送指示部６１は、メモリーコントローラー３４に対して第１アドレス生成部５９の生成した読出しアドレスＡＤreadを指定してリードリクエストを行うことで、ＤＲＡＭ３５から回転ユニット５０へのデータの転送を行う。また、転送指示部６１は、メモリーコントローラー３４に対して第２アドレス生成部６０の生成した書込みアドレスＡＤwriteを指定してライトリクエストを行うことで、回転ユニット５０からＤＲＡＭ３５へのデータの転送を行う。
【００４８】
一方、図４に示す回転処理部５２は、回転制御部６２及びデータレジスター６３を備える。ＤＲＡＭ３５から回転ユニット５０に転送されたデータは、データレジスター６３に一旦格納される。回転処理部５２は、データレジスター６３に回転処理単位のデータが蓄積されると、そのデータをＳＲＡＭ７０に格納する。回転制御部６２は、そのデータをＳＲＡＭ７０から再び読込んで回転処理（縦横変換処理）を施しつつ再びＳＲＡＭ７０に書き込むことでデータを９０度回転させる。ＳＲＡＭ７０は、回転処理用の格納領域をデータ２面分備え、回転制御部６２は、２面の格納領域を交互に使用することで回転処理を高速に進める。
【００４９】
図４に示すように、ＤＲＡＭ３５における中間バッファー３５ｂには、印刷イメージデータＰＤが、図中に太数字で示す順番にデータが配列されたデータ格納構造で格納されている。これは、画像処理回路４４内の不図示のＤＭＡコントローラー（転送手段）が、バースト転送した各データをＤＲＡＭ３５の中間バッファー３５ｂに図４に示す配列で格納したことによる。
【００５０】
ＤＭＡコントローラー５１は、メモリーコントローラー３４に対して、読出しアドレスＡＤreadとデータサイズ（バーストサイズＢＳ）とを指定して、リード又はライトのリクエストとを行う。メモリーコントローラー３４は、ＤＭＡコントローラー５１からリードリクエストを受け付けると、ＤＲＡＭ３５における指定の読出しアドレスＡＤreadから指定データサイズのデータを順次読み出す。そして、この読み出されたデータは、リードリクエスト元の回転ユニット５０へ転送される。また、メモリーコントローラー３４は、ＤＭＡコントローラー５１からライトリクエストを受け付けると、回転ユニット５０からバースト転送されてきたデータを、ＤＲＡＭ３５における指定の書込みアドレスＡＤwriteに順次書き込む。
【００５１】
図５は、ＤＲＡＭにおけるデータ格納構造を示す。図５（ａ）は回転処理前の印刷イメージデータを示し、図５（ｂ）は回転処理後のヘッドイメージデータを示す。なお、図５では説明を簡単にするため、図１０と同様に、画素配列が６行×１０列の画像データを例にしている。
【００５２】
図５（ａ）において、画素の符号「Ｎ-Ｍ」は、図１０と同様、印刷イメージデータＰＤにおける第Ｎ行のＭ列目の画素データを指す。図５（ａ）において、太線枠の範囲が、回転処理の１単位となっている。この１単位（処理単位）には、回転処理の前後で行と列の各画素数が同じになるように、Ｋ×Ｋ画素の正方ブロックが設定される。本実施形態では、一例として４×４画素の正方ブロックが設定される。また、本例では、図５（ａ）に示すように１画素（１ユニット）はＢバイト（本例ではＢ＝１６ビット）である。バースト転送１回分のバーストサイズＢＳは、４画素データ分の４・Ｂバイトである。図５における太線枠で囲む正方ブロック（処理単位）のデータを転送する場合、まず１行目の４画素分（４・Ｂバイト）の画素データがバースト転送され、続けて２行目、３行目、４行目の順で４画素分（４・Ｂバイト）ずつの画素データが順次バースト転送され、原則、処理単位の転送に、転送回数「４回」のバースト転送が行われる。
【００５３】
本実施形態では、図５（ａ）において太線枠で囲まれた太数字「１」、「２」のブロックのデータが、１回の転送単位（処理単位）である４×４画素の正方ブロック内が全て画素データで満たされた満データＤｆとなっている。また、図５（ａ）において右側に破線枠で囲む太数字「３」、「６」のブロックのデータが行方向にバーストサイズＢＳの４画素に満たない行余りデータとなっている。さらに、図５（ａ）において太線枠で囲む太数字「４」、「５」のブロックのデータが列方向に転送回数「４回」分の４画素に満たない列余りデータＤｃとなっている。
【００５４】
ここで、図５（ａ）において、印刷イメージデータＰＤの行方向（図５（ａ）における横方向）のサイズを「ラスターサイズＲ」、印刷イメージデータＰＤの列方向（図５（ａ）における縦方向）のサイズを「ラインサイズＬ」と定義する。また、満データＤｆが行方向に存在する範囲のサイズを「バーストラスターサイズＢＲ」、満データＤｆが列方向に存在する範囲のサイズを「バーストラインサイズＢＬ」と定義する。なお、各サイズＲ，Ｌ，ＢＲ，ＢＬは、画素数に相当する値である。
【００５５】
本実施形態では、図５（ａ）において破線枠で囲まれた行余りデータ「３」、「６」は、ＤＲＡＭ３５において、同図（ａ）に矢印で示す位置に格納される。すなわち、「３」、「６」の行余りデータＤｒは、列余りデータＤｃの末尾（図５（ａ）では画素６-８）に続けて、満データＤｆの配列幅（つまりバーストラスターサイズＢＲ）内に収まるように配列される。つまり、印刷イメージデータＰＤは、Ｘ・Ｙ個の満データＤｆがＸ行Ｙ列のマトリクス状に配列されるとともに、Ｘ個の行余りデータＤｒが、Ｙ個の列余りデータＤｃの末尾に続けて、満データＤｆのＹ列配列幅（Ｙ列分の配列幅）内に収まるように配列された状態でＤＲＡＭ３５に格納される。
【００５６】
一方、図５（ｂ）に示すように、回転処理後のヘッドイメージデータＨＤでは、太線枠で囲まれた太数字「１」、「２」の領域のデータが、１回の転送単位（処理単位）である４×４画素の正方ブロック内が全て画素データで満たされた満データＤｆとなっている。また、図５（ｂ）において太線枠で囲まれた太数字「３」の領域のデータが、列方向に転送回数「４回」分の４画素に満たない列余りデータＤｃとなっている。また、図５（ｂ）において右側に破線枠で囲まれた太数字「４」、「５」、「６」の領域のデータは、行方向にバーストサイズＢＳの４画素に満たない行余りデータとなっている。なお、図５（ｂ）に示すヘッドイメージデータＨＤは、印刷イメージデータＰＤを縦横変換したものであるため、その行方向の各サイズと列方向のサイズが逆になっている。すなわち、ヘッドイメージデータＨＤでは、その行方向（図５（ｂ）における横方向）のサイズが「ラインサイズＬ」、その列方向（図５（ｂ）における縦方向）のサイズが「ラスターサイズＲ」となる。また、ヘッドイメージデータＨＤにおいて満データＤｆが行方向に存在する範囲のサイズが「バーストラインサイズＢＬ」、満データＤｆが列方向に存在する範囲のサイズが「バーストラスターサイズＢＲ」となる。
【００５７】
本実施形態では、図５（ｂ）において破線枠で囲まれた行余りデータ「４」、「５」、「６」が、ＤＲＡＭ３５において同図（ｂ）に矢印で示す位置に配列される。すなわち、「４」、「５」、「６」の行余りデータＤｒは、「３」の列余りデータＤｃの末尾（図５（ｂ）では画素４-１０）に続けて、満データＤｆの配列幅（つまりバーストラインサイズＢＬ）内に収まるように配列されるようになっている。つまり、ヘッドイメージデータＨＤは、Ｙ・Ｘ個の満データＤｆがＹ行Ｘ列のマトリクス状に配列されるとともに、Ｙ個の行余りデータＤｒが、Ｘ個の列余りデータＤｃの末尾に続けて、満データＤｆのＸ列配列幅（Ｘ列分の配列幅）内に収まるように配列された状態でＤＲＡＭ３５に格納される。
【００５８】
図６は、このようなデータ配列でＤＲＡＭ３５に格納された印刷イメージデータＰＤと、回転処理後にＤＲＡＭ３５に格納されるヘッドイメージデータＨＤとのデータ格納構造を示す。印刷イメージデータＰＤが、ＤＲＡＭ３５に図６（ａ）に示すようにアラインされた状態で格納されることにより、図１０の従来技術で多数（図１０（ａ）の例では３６個）存在していたダミーデータの数が少なく抑えられている。また、回転処理後のヘッドイメージデータＨＤが、ＤＲＡＭ３５に図６（ｂ）に示すようにアラインされた状態で格納されることにより、図１０に示す従来技術で多数（図１０（ｂ）の例では３６個）存在していたダミーデータの数が少なく抑えられる。
【００５９】
ここで、このように印刷イメージデータＰＤが図６（ａ）に示すデータ格納構造であっても、データ「１」「２」「３」「４」「５」「６」の順番でバースト転送できる読出しアドレスを指定できるように第１アドレス生成部５９（図４参照）が用意されている。また、回転処理後のヘッドイメージデータＨＤを、ＤＲＡＭ３５に図６（ｂ）に示すデータ格納構造で格納できる書込みアドレスを指定できるように第２アドレス生成部６０（図４参照）が用意されている。
【００６０】
次に、アドレス生成部５９，６０によるアドレス生成方法を説明する。ＣＰＵ３１が設定レジスター５３に設定する設定情報としては、図５に示すラスターサイズＲ、ラインサイズＬ、バーストラスターサイズＢＲ、バーストラインサイズＢＬがある。これらのサイズＲ，Ｌ，ＢＲ，ＢＬは、印刷イメージデータＰＤ用とヘッドイメージデータＨＤ用とで別々に設定される。また、ＣＰＵ３１は設定レジスター５３に、印刷イメージデータＰＤのベースアドレスBase Address、及びヘッドイメージデータＨＤのベースアドレスBase Addressを設定する。また、ＣＰＵ３１は設定レジスター５３に、バースト転送条件として、バーストサイズＢＳ（本例では４・Ｂバイト）及び転送回数Ｔ（本例では４回）を設定する。
【００６１】
第１カウンター５５は、ベースアドレスBase Addressから行方向（ライン方向）（図５（ａ）における横方向）に何番目（つまり何列目）の画素であるかをデータポジションＲＰとして計数する。データポジションＲＰは、０，１，２，…，ＢＲ，ＢＲ＋１，…，Ｒ（但しＲ≧ＢＲ）をカウントする。
【００６２】
第２カウンター５６は、ベースアドレスBase Addressから列方向（ラスター方向）（図５（ａ）における縦方向）の何番目（つまり何行目）の画素であるかをデータポジションＬＰとして計数する。第２カウンター５６は、第１カウンター５５が１行の画素数分に相当するラスターサイズＲを計数し終わって、データポジションＲＰがラスターサイズＲに達する（ＲＰ＝Ｒ）度に「１」ずつ加算される。データポジションＬＰは、０，１，２，…，ＢＬ，ＢＬ＋１，…，Ｌ（但しＬ≧ＢＬ）をカウントする。このため、第２カウンター５６のデータポジションＬＰがラインサイズＬに達し（ＬＰ＝Ｌ）、かつ第１カウンター５５のデータポジションＲＰがラスターサイズＲに達すると（ＲＰ＝Ｒ）、シーケンサー５４は印刷イメージデータの全画素について回転処理（つまりアドレス生成処理）が終了したと判断する。
【００６３】
第３カウンター５７は、４×４画素の正方ブロック内で対象画素が行方向（ライン方向）に何番目（何列目）であるかを計数する。第４カウンター５８は、４×４画素の正方ブロック内で対象画素が列方向（ラスター方向）に何番目（つまり何行目）であるかを計数する。第３カウンター５７が「１」，「２」，「３」，「４」と計数して正方ブロック内の１行目の４画素を計数し終わると、初期値「１」にリセットされるとともに、第４カウンター５８が「１」を加算して２行目を指す「２」になる。次に第３カウンター５７が２行目の４画素を計数し終わると第４カウンター５８が「３」になり、続いて第３カウンター５７が３行目の４画素を計数し終わると第４カウンター５８が「４」になり、最後に第３カウンター５７が４行目の４画素を計数する。
【００６４】
第１カウンター５５は、第３及び第４カウンター５７，５８が第１行第１列目の正方ブロック内の画素を全て計数し終わると、はじめて同一行の次列のブロック内の第１列画素を指すデータポジションＲＰ（この例では「５」）に値を進める。また、第２カウンター５６は、図５（ａ）において１行目の最終列ブロック内の画素を第３及び第４カウンター５７，５８が全て計数し終わって、１行目の全ブロックの画素を計数し終わると、次行の第１列ブロック内の１行目の画素を指すデータポジションＬＰ（この例では「５」）に値を進める。つまり、第１カウンター５５のデータポジションＲＰは、各行の第１列ブロックで「１，２，３，４」を４回繰り返し、同一行の次列のブロックで「５，６，７，８」を４回繰り返し、同一行第Ｙ列目（満データＤｆの最終列）のブロックで「４・（Ｙ−１）＋１，４・（Ｙ−１）＋２，４・（Ｙ−１）＋３，４・Ｙ」を４回繰り返す。そして、同一行最終列の（Ｙ＋１）列目（行余りデータの列で図５（ａ）では太数字「３」）のブロックで「ＢＲ＋１，ＢＲ＋２，…，ＢＲ＋ｒ（＝Ｒ）」を４回繰り返す。但し、ｒは行余りデータの行方向の画素数（ｒ＝Ｒ−ＢＲ）であり、０≦ｒ＜Ｋ（＝４）である。
【００６５】
一方、第２カウンター５６は、第１行ブロックで第１列から第（Ｙ＋１）列までの各ブロックで「１，２，３，４」を１回ずつ計数し、第２行の各列のブロックで「５，６，７，８」を１回ずつ計数し、第Ｘ行（満データＤｆの最終行）の各列のブロックで「４・（Ｘ−１）＋１，４・（Ｘ−１）＋２，４・（Ｘ−１）＋３，４・Ｘ」を１回ずつ計数する。そして、最終の第（Ｘ＋１）行（列余りデータＤｃの行）の各列のブロックで「ＢＬ＋１，ＢＬ＋２，…，ＢＬ＋ｃ（＝Ｌ）」を１回ずつ計数する。但し、ｃは列余りデータの列方向の画素数（ｃ＝Ｌ−ＢＬ）であり、０≦ｃ＜Ｋ（＝４）である。
【００６６】
そして、シーケンサー５４は、データポジションＬＰ＝ＬかつデータポジションＲＰ＝Ｒになると、印刷イメージデータＰＤの全画素データの転送が終了したと判断する。なお、（Ｙ＋１）列目のブロックは行余りデータＤｒが属するブロックを指し、（Ｘ＋１）行目のブロックは列余りデータＤｒが属するブロックを指す。このため、行余りデータＤｒが存在しない場合は最終列が第Ｙ列になり、列余りデータＤｃが存在しない場合は最終行が第Ｘ列になる。
【００６７】
以下、図７及び図８を用いてアドレス生成方法を説明する。図７は、第１アドレス生成部５９によるソース側アドレス生成方法の説明図、図８は、第２アドレス生成部６０によるディスティネーション側アドレス生成方法の説明図である。まず、図７を用いて、第１アドレス生成部５９によるソース側アドレス生成方法について説明する。
【００６８】
データポジションＲＰがバーストラスターサイズＢＲ以下（ＲＰ≦ＢＲ）で満データ内にある場合と、データポジションＲＰがバーストラスターサイズＢＲを超えて（ＲＰ＞ＢＲ）行余りデータ内にある場合とで、読出しアドレス生成用の演算式を使い分ける。
【００６９】
ＲＰ≦ＢＲの場合、ＤＲＡＭ３５における印刷イメージデータＰＤのＭ行Ｎ列の画素Ｍ−Ｎの読出しアドレスＡＤreadは、次式で与えられる。
ＡＤread＝Base Address＋（Ｍ−１）×ＢＲ×Ｂ＋（Ｎ−１）×Ｂ  …（１）
また、ＲＰ＞ＢＲの場合、ＤＲＡＭ３５における印刷イメージデータＰＤのＭ行Ｎ列の画素Ｍ-Ｎの読出しアドレスＡＤreadは、次式で与えられる。
ＡＤread＝Base Address＋（ＢＲ×Ｌ）＋（Ｍ−１）×（Ｒ−ＢＲ）×Ｂ＋（Ｎ−ＢＲ−１）×Ｂ  …（２）
図４に示す第１アドレス生成部５９の判定部５９ａは、データポジションＲＰが、ＲＰ≦ＢＲであるか、ＲＰ＞ＢＲであるかを判定する。第１アドレス生成部５９の演算部５９ｂは、上記（１）式と上記（２）式のうち判定部５９ａの判定結果に応じた一方の演算式に基づき、設定レジスター５３の設定値Base Address，ＢＲ，Ｌ，Ｂ及び第１及び第２カウンター５５，５６の計数値ＲＰ（＝Ｎ），ＬＰ（＝Ｍ）を用いて、読出しアドレスＡＤreadを演算する。但し、このときのベースアドレスBase Addressは、印刷イメージデータＰＤのものである。なお、印刷イメージデータＰＤにおいて転送対象の画素データの位置をＭ行Ｎ列で表したときの数値Ｍ，Ｎは、第２カウンター５６の計数値としてＭ（＝ＬＰ）が与えられ、第１カウンター５５の計数値としてＮ（＝ＲＰ）が与えられる。
【００７０】
演算部５９ｂは、第３カウンター５７が「１」のときに、第１及び第２カウンター５５，５６が計数しているデータポジションＲＰ（＝Ｎ），ＬＰ（＝Ｍ）のＮ，Ｍを用いて、読出しアドレスＡＤreadを演算する。ここで、第３カウンター５７が「１」のときとは、１回のバースト転送の対象となる４画素分（バーストサイズＢＳ）のデータにおける先頭画素のポジションを指すときであり、このときのＮ，Ｍを用いることにより、ブロック毎に４回行うバースト転送の各回の読出しアドレスＡＤreadを算出できる。なお、前記（１）式が第１のアドレス生成演算式に相当し、前記（２）式が第２のアドレス生成演算式に相当する。
【００７１】
なお、画像処理回路４４内の不図示の前述のＤＭＡコントローラーは、第１アドレス生成部５９と同様の構成の不図示のアドレス生成部を備える。この不図示のアドレス生成部は、内蔵する判定部及び演算部により、第１アドレス生成部５９と同様の手法で、判定部の判定結果に応じて前記（１）式又は（２）式を用いて書込みアドレスを算出する。そして、ＤＲＡＭ３５におけるその算出した書込みアドレスにバースト転送した各バーストデータを順次書き込むことにより、印刷イメージデータＰＤを図６（ａ）に示すデータ格納構造に格納する。
【００７２】
次に、図８を用いて、第２アドレス生成部６０によるディスティネーション側アドレス生成方法について説明する。
データポジションＬＰがバーストラインサイズＢＬ以下（ＬＰ≦ＢＬ）で満データ内にある場合と、データポジションＬＰがバーストラインサイズＢＬを超えて（ＲＰ＞ＢＲ）行余りデータ内にある場合とで、書込みアドレス生成用の演算式を使い分ける。
【００７３】
ＬＰ≦ＢＬの場合、ヘッドイメージデータＨＤのＭ行Ｎ列の画素データＤM-NのＤＲＡＭ３５への書込みアドレスＡＤwriteは、次式で与えられる。
ＡＤwrite＝Base Address＋（Ｎ−１）×ＢＬ×Ｂ＋（Ｍ−１）×Ｂ  …（３）
また、ＬＰ＞ＢＬの場合、ヘッドイメージデータＨＤのＭ行Ｎ列の画素データＤM-NのＤＲＡＭ３５への書込みアドレスＡＤwriteは、次式で与えられる。
ＡＤwrite＝Base Address＋（ＢＲ×Ｒ）＋（Ｎ−１）×（Ｌ−ＢＬ）×Ｂ＋（Ｍ−ＢＬ−１）×Ｂ  …（４）
図４に示す第２アドレス生成部６０の判定部６０ａは、データポジションＬＰが、ＬＰ≦ＢＬであるか、ＬＰ＞ＢＬであるかを判定する。第２アドレス生成部６０の演算部６０ｂは、上記（３）式と上記（４）式のうち判定部６０ａの判定結果に応じた一方の演算式に基づき、設定レジスター５３の設定値Base Address，ＢＬ，Ｒ，Ｂ及び第１及び第２カウンター５５，５６の計数値ＲＰ（＝Ｍ），ＬＰ（＝Ｎ）を用いて、書込みアドレスＡＤwriteを演算する。但し、このときのベースアドレスBase Addressは、ヘッドイメージデータＨＤのものである。なお、ヘッドイメージデータＨＤにおいて転送対象の画素データの位置をＭ行Ｎ列で表したときの数値Ｍ，Ｎは、第１カウンター５５の計数値としてＭ（＝ＲＰ）が与えられ、第２カウンター５６の計数値としてＮ（＝ＬＰ）が与えられる。
【００７４】
演算部６０ｂは、第４カウンター５８が「１」のときに、第１及び第２カウンター５５，５６が計数しているデータポジションＲＰ（＝Ｎ），ＬＰ（＝Ｍ）のＮ，Ｍを用いて、書込みアドレスＡＤwriteを演算する。ここで、第４カウンター５８が「１」のときとは、１回のバースト転送の対象となる４画素分（バーストサイズＢＳ）のデータにおける先頭画素のポジションを指すときであり、このときのＮ，Ｍを用いることにより、ブロック毎に４回行うバースト転送の各回の書込みアドレスＡＤwriteを算出できる。なお、前記（３）式が第１のアドレス生成演算式に相当し、前記（４）式が第２のアドレス生成演算式に相当する。
【００７５】
次に回転ユニット５０における縦横変換処理（回転処理）について説明する。なお、以下の説明において、ブロックのデータＤｆ，Ｄｒ，Ｄｃを特に区別しない場合は、単にデータＤという場合がある。回転ユニット５０は、ＤＲＡＭ３５（詳しくは第１バッファー３５ａ）に格納された印刷イメージデータＰＤを４×４画素分のデータずつ回転ユニット５０へ転送しつつ、転送されてきたデータに回転処理を施し、回転処理後のデータをＤＲＡＭ３５（詳しくは第２バッファー３５ｂ）に順次転送して書き込む。
【００７６】
このとき、回転ユニット５０の転送指示部６１が、メモリーコントローラー３４に対して第１アドレス生成部５９が生成した読出しアドレスＡＤreadを指定してリードリクエストを行う。その結果、印刷イメージデータＰＤを構成する４×４画素の正方ブロックのデータＤが、バーストサイズＢＳ（４画素データ）ずつの４回のバースト転送により転送される。そして、ＤＲＡＭ３５に図６（ａ）に示すように格納された印刷イメージデータＰＤは、図６（ａ）に太数字で示したブロックのデータＤの順番で読み出されて回転ユニット５０へバースト転送される。回転ユニット５０は、４×４画素のブロックずつ転送されてくるデータＤに回転処理（縦横変換処理）を施す。
【００７７】
図９は、回転ユニットによるデータの回転処理を説明する模式図である。図９において左側が回転前のデータ、右側が回転後のデータを示す。また、図９では各データを上から順番に転送順で示している。なお、左側のデータの左上に示す＜＞内の数字は、図６に太線枠で示すブロックに付された太数字に対応している。
【００７８】
データの回転処理は、図４に示す回転処理部５２が行う。回転前のデータＤは、一旦データレジスター６３に蓄積されてからＳＲＡＭ７０に格納される。
このとき、回転制御部６２は、バーストサイズＢＳずつ４回で転送されてくる４画素データ（以下、「バーストデータ」ともいう）を、ＳＲＡＭ７０の１行目〜４行目に順番に格納する。回転制御部６２は、ＳＲＡＭ７０からデータＤを読み込みつつ回転処理を施して回転後のデータを再びＳＲＡＭ７０に書き込む。この回転処理は例えば行方向に読み出した画素データを列方向に書き込むことにより行われる。この回転処理の結果、図９で左側に示す回転前のデータＤは、図９で右側に示すデータＤのように縦横変換される。
【００７９】
ここで、図６（ａ）における太数字「１」及び「２」の満データＤｆは、そのときのＭ，Ｎを用いて前記（１）式の演算式に基づき算出された読出しアドレスＡＤreadから順次読出されて４回で転送されてきたバーストデータが、図９左側のＳＲＡＭ７０の１行目〜４行目に順次格納されることで、図９左側のように格納される。そして、図９左側の＜１＞及び＜２＞の満データＤｆに回転処理が順次施されて、図９右側に示す回転後のデータＤｆが生成される。
【００８０】
次に、図６に網掛けで示す太数字「３」の行余りデータＤｒは、列余りデータＤｃの末尾に続けて満データ配列幅（バーストラスターサイズＢＲ）内に格納されている。このとき、第１アドレス生成部５９は、図７における画素１-９のときのＭ，Ｎを用いて前記（２）式に基づき、図６（ａ）における画素１-９を含むバーストデータの読出しアドレスＡＤreadを算出する。この結果、図６（ａ）における太数字「３」のブロックのうち画素１-９を先頭とする４画素分のバーストデータが図９左側のＳＲＡＭ７０の１行目に格納される。次に第１アドレス生成部５９は、図７における画素２-９のときのＭ，Ｎを用いて前記（２）式に基づき、図６（ａ）における画素２-９を含むバーストデータの読出しアドレスＡＤreadを算出する。この結果、図６（ａ）における太数字「３」のブロックのうち画素２-９を先頭とする４画素分のバーストデータが図９左側のＳＲＡＭ７０の２行目に格納される。以下、同様に、図６（ａ）における太数字「３」のブロックのうち画素３-９を先頭とする４画素分のバーストデータが図９左側のＳＲＡＭ７０の３行目に格納され、最後に図６（ａ）における太数字「３」のブロックのうち画素４-９を先頭とする４画素分のバーストデータが図９左側のＳＲＡＭ７０の４行目に格納される。このため、図９左側の＜３＞における空白の領域には、実際にはバーストデータ中の後側２画素分の不要データが格納されている。そして、この＜３＞の行余りデータＤｒに回転処理が施されて、図９右側に示す回転後のデータＤｃが生成される。
【００８１】
同様に列余りデータ＜４＞及び＜５＞についても、図９左側に示す配列でＳＲＡＭ７０に格納される。図９左側の＜４＞、＜５＞における空白の領域の少なくとも一部には、実際には一緒にバースト転送されてきた不要データが格納されている。そして、＜４＞及び＜５＞の列余りデータＤｃに回転処理が施されて、図９右側に示す回転後のデータＤｒが生成される。
【００８２】
次に、図６に網掛けで示す太数字「６」の行余りデータＤｒは、満データ配列幅（バーストラスターサイズＢＲ）内に格納されている。このとき、第１アドレス生成部５９は、図７における画素５-９のときのＭ，Ｎを用いて前記（２）式に基づき、図６（ａ）における画素５-９を含むバーストデータの読出しアドレスＡＤreadを算出する。この結果、図６（ａ）における太数字「６」のブロックのうち画素５-９を先頭とする４画素分のバーストデータが図９左側のＳＲＡＭ７０の１行目に格納される。次に第１アドレス生成部５９は、図７における画素６-９のときのＭ，Ｎを用いて前記（２）式に基づき、図６（ａ）における画素６-９を含むバーストデータの読出しアドレスＡＤreadを算出する。この結果、図６（ａ）における太数字「６」のブロックのうち画素６-９を先頭とする４画素分のバーストデータが図９左側のＳＲＡＭ７０の２行目に格納される。このとき、印刷イメージデータＰＤの全画素のカウント処理が終わり、データポジションＲＰ，ＬＰがＲＰ＝ＲかつＬＰ＝Ｌになるので、印刷イメージデータＰＤの転送を終了する。図９左側の＜６＞における空白の領域の一部には、実際にはバーストデータ中の後側２画素分の不要データが格納されている。そして、この＜６＞の行余りデータＤｒに回転処理が施されて、図９の右側に示す回転後のデータＤｒが生成される。
【００８３】
このように順次転送されてくるデータＤに１つずつ順番に回転処理が施され、回転後のデータを第２アドレス生成部６０が生成した書込みアドレスＡＤwriteを指定してメモリーコントローラー３４にライトリクエストを行うことにより順次ＤＲＡＭ３５に転送する。この結果、回転後のデータＤは、図６（ｂ）に太数字で示す配列で格納される。
【００８４】
ここで、回転後のデータＤをＳＲＡＭ７０からＤＲＡＭ３５へ転送する場合は、図８に破線枠で囲まれた太数字「４」、「５」、「６」のブロックが、書込み先のＤＲＡＭ３５（出力バッファー３５ｃ）において行余りデータＤｒになる（図９右側の＜４＞〜＜６＞のブロックを参照）。また、図８に太線枠で囲まれた太数字「３」のブロックが、書込み先のＤＲＡＭ３５（出力バッファー３５ｃ）において列余りデータＤｃになる（図９右側の＜３＞のブロックを参照）。
【００８５】
ここで、図９右側に示す回転後の＜１＞及び＜２＞の満データＤｆは、そのときのＭ，Ｎを用いて前記（３）式の演算式に基づき算出された書込みアドレスＡＤwriteを指定してバーストデータずつ読出されてＤＲＡＭ３５へ転送されることで、図６（ｂ）に示す太数字「１」及び「２」のブロックに順次格納される。
【００８６】
次に、図９右側に網掛けで示す＜３＞の列余りデータＤｃは、そのときのＭ，Ｎを用いて前記（３）式の演算式に基づき算出された書込みアドレスＡＤwriteを指定してバーストデータずつ読み出されてＤＲＡＭ３５へ転送されることで、図６（ｂ）に示す太数字「３」のブロックに格納される。この時点では、一緒に転送された不要データが太数字「３」のブロック下側（太数字「４」）の領域に格納される。
【００８７】
次に、図９右側に示す＜４＞、＜５＞の行余りデータＤｒは、そのときのＭ，Ｎを用いて前記（４）式の演算式に基づき算出された書込みアドレスＡＤwriteを指定してバーストデータずつ読み出されてＤＲＡＭ３５へ転送されることで、図６（ｂ）に示す太数字「４」、「５」のブロックに格納される。このとき、図６（ｂ）における＜４＞のブロックは、「３」の転送時に書き込まれた不要データに上書きされる。
【００８８】
また、このとき、図６（ｂ）における太数字「４」のブロックのうち画素５-１を先頭とする４画素分のバーストデータがまず格納され、次に画素５-２を先頭とする４画素分のバーストデータが格納されて画素５-２、６-２が不要データに上書きされ、以下同様に画素５-３を先頭とする４画素分のバーストデータ、画素５-４を先頭とする４画素分のバーストデータ順次格納される。図６（ｂ）における太数字「５」のブロックも、同様に４画素ずつ４回書き込まれる。このため、図６（ｂ）のブロック「４」、「５」の右側に１行当たり２画素分の不要データ（ダミーデータ）が発生する。
【００８９】
そして、図９右側に示す＜６＞の行余りデータＤｒは、そのときのＭ，Ｎを用いて前記（４）式の演算式に基づき算出された書込みアドレスＡＤwriteを指定してバーストデータずつ読み出されてＤＲＡＭ３５へ転送されることで、図６（ｂ）に示す太数字「６」のブロックに格納される。このとき、４画素ずつ２回書き込まれる。このため、図６（ｂ）のブロック「６」の右側に２画素分の不要データ（ダミーデータ）が発生する（ダミーデータは合計１０個）。もちろん、ブロック「６」についても、転送条件を統一し、４画素（バーストデータ）ずつ４回転送する構成としてもよく、この場合、ブロック「６」の下側に６画素分（６・Ｂバイト）のダミーデータが発生する（ダミーデータは合計１６個）。
【００９０】
こうしてヘッドイメージデータＨＤは、図８に破線で示す領域の行余りデータが、図６に示すように満データ配列幅（バーストラインサイズＢＬ）内に収まるように格納される。
【００９１】
以上詳述したように、本実施形態では、以下に示す効果を得ることができる。
（１）ＤＲＡＭ３５に印刷イメージデータＰＤを格納する場合、行方向（ライン方向）に転送単位である４×４画素に満たない行余りデータＤｒを、列余りデータＤｃの末尾（満データ配列幅内のデータの末尾）に続けて満データ配列幅（バーストラスターサイズＢＲ）内に収まるように格納する構成である。よって、バースト転送を効率よく行うために格納すべきダミーデータを抑制でき、印刷イメージデータＰＤの格納に必要なＤＲＡＭ３５の使用容量を低減できる。従って、ＤＲＡＭ３５の使用容量を節約でき、他のデータの格納に使用可能な格納領域を増やすことができる。よって、印刷イメージデータＰＤをＤＲＡＭ３５から回転ユニット５０へ処理単位（４×４画素の正方領域）ずつバースト転送する際の転送速度をさほど落とさず、ＤＲＡＭ３５における印刷イメージデータＰＤの使用格納領域を少なく抑えることができる。
【００９２】
（２）ＤＲＡＭ３５にヘッドイメージデータＨＤを格納する場合、行方向（ラスター方向）に転送単位である４×４画素に満たない行余りデータＤｒを、列余りデータＤｃの末尾（満データ配列幅内のデータの末尾）に続けて満データ配列幅（バーストラインサイズＢＬ）内に収まるように格納する構成である。よって、バースト転送を効率よく行うために格納すべきダミーデータを抑制できる。この結果、ヘッドイメージデータＨＤの格納に必要なＤＲＡＭ３５の使用容量を低減できる。従って、ＤＲＡＭ３５の使用容量を節約でき、他のデータの格納に使用可能な格納領域を増やすことができる。よって、回転処理後のデータＤを回転ユニット５０からＤＲＡＭ３５へ処理単位（４×４画素の正方領域）ずつバースト転送する際の転送速度をさほど落とさず、ＤＲＡＭ３５におけるヘッドイメージデータＨＤの使用格納領域を少なく抑えることができる。
【００９３】
（３）図６（ａ）に示すデータ格納構造を採用しても、第１アドレス生成部５９が印刷イメージデータＰＤを構成するデータＤをＤＲＡＭ３５から元の配列順（画像自体の配列順）に読み出し可能なアドレスＡＤreadを生成する。よって、印刷イメージデータＰＤを構成するデータＤをＤＲＡＭ３５から適切な順番で回転ユニット５０へ転送できる。
【００９４】
（４）回転処理後のデータＤをＤＲＡＭ３５へ転送する際に、第２アドレス生成部６０が生成した書込みアドレスＡＤwriteを指定するので、行余りデータＤｒを満データ配列幅内に収まるように図６（ｂ）に示すアラインしたデータ格納構造でヘッドイメージデータＨＤを格納できる。
【００９５】
（５）第１アドレス生成部５９は、データポジションＲＰがＢＲ以下（ＲＰ≦ＢＲ）であるか否かを判定した判定結果に応じて、使用すべき読出しアドレスＡＤread生成用の演算式を（１）式と（２）式の間で切り替える。よって、印刷イメージデータＰＤが図６（ａ）に示すデータ格納構造で格納されていても、適切な読出しアドレスＡＤreadを生成できる。
【００９６】
（６）第２アドレス生成部６０は、データポジションＬＰがＢＬ以下（ＬＰ≦ＢＬ）であるか否かを判定した判定結果に応じて、使用すべきアドレスＡＤwrite生成用の演算式を（３）式と（４）式の間で切り替える。よって、適切な書込みアドレスＡＤwriteを生成して、ヘッドイメージデータＨＤを図６（ｂ）に示すデータ格納構造で格納できる。
【００９７】
（７）印刷イメージデータＰＤのデータ格納構造をコンパクトにでき、かつ回転処理後のヘッドイメージデータＨＤのデータ格納構造をコンパクトにできるので、ＤＲＡＭ３５において回転処理の前後で使用される格納領域をかなり低減できる。
【００９８】
（８）行余りデータＤｒが満データ配列範囲（バーストラスターサイズＢＲ）内に収まるデータ配列でＤＲＡＭ３５に印刷イメージデータＰＤを格納したので、ＤＲＡＭ３５から回転ユニット５０へのデータのバースト転送を高速に行うことができる。従って、バースト転送速度をできるだけ落とさず、ＤＲＡＭ３５における印刷イメージデータＰＤの使用格納領域を効果的に低減できる。
【００９９】
（９）処理後のデータをＤＲＡＭ３５に転送する場合、画像データの画像自体の元々の順番で、ブロック「１」、「２」、「３」、「４」、「５」、「６」の順に転送してＤＲＡＭ３５に格納するので、前のブロックの転送時に書き込まれた不要データを、後から転送された後続のブロックで上書きできる。
【０１００】
（１０）行余りデータＤｒが満データ配列範囲（バーストラインサイズＢＬ）内に収まるデータ配列でＤＲＡＭ３５にヘッドイメージデータＨＤを格納したので、回転ユニット５０からＤＲＡＭ３５への回転処理後のデータＤのバースト転送を高速に行うことができる。従って、バースト転送速度をできるだけ落とさず、ＤＲＡＭ３５におけるヘッドイメージデータＨＤの使用格納領域を効果的に低減できる。
【０１０１】
（１１）搬送モーター２８の駆動により搬送される用紙に印刷ヘッド２９がインク滴を噴射して画像を形成するプリンター部１４を有する複合機１１に画像処理装置を設けたので、複合機１１においてデータ転送速度の低減を抑えつつ、ＤＲＡＭ３５の格納領域を有効活用できる。
【０１０２】
なお、上記実施形態は以下の形態に変更することもできる。
・処理手段は、回転手段に限定されず、他の処理を行ってもよい。処理手段は、例えば画像処理を行ってもよい。画像処理としては、例えば解像度変換処理、色変換処理、ハーフトーン処理、インターレース処理（マイクロウィーブ処理）等が挙げられる。その他、処理は、圧縮処理や解凍処理でもよい。要するに、画像データを設定サイズずつ処理手段に転送し、処理手段がその転送された設定サイズずつのデータに順次処理を施す構成であれば、処理の種類は特に限定されない。
【０１０３】
・転送単位（処理単位）は、４×４画素に限定されず、例えば８×８画素、１６×１６画素、６４×６４画素の単位でもよい。また、転送単位は、Ｋ×Ｋ画素の正方ブロックに限定されず、Ｋ×Ｊ画素（Ｋ≠Ｊ）の矩形ブロックでもよい。すなわち、処理回路（処理手段）における処理単位に合わせた適宜な転送単位を設定できる。
【０１０４】
・アドレスの生成に使用するカウンターは２つでもよい。例えば第３及び第４カウンター５７，５８を廃止し、第１及び第２カウンター５５，５６の計数値を用いてアドレスを算出する。この場合、第１カウンター５５の計数値ＲＰが、「１」、「５」、「９」、…（ＲＰ＝４・（Ｙ−１）＋１）のときに、そのときのＲＰ（＝Ｍ），ＬＰ（＝Ｎ）を用いて読出しアドレスＡＤreadを演算する。また、第２カウンター５６の計数値ＬＰが、「１」、「５」、「９」、…（ＬＰ＝４・（Ｘ−１）＋１）のときに、そのときのＲＰ（＝Ｍ），ＬＰ（＝Ｎ）を用いて書込みアドレスＡＤwriteを演算する構成を採用すればよい。
【０１０５】
・転送手段の一例であるＤＭＡコントローラー５１は、回転ユニット５０の外側に独立した回路として設けられていてもよい。また、転送手段の転送方式はバースト転送方式に限定されない。他の転送方式も採用できる。
【０１０６】
・前記実施形態では、印刷イメージデータＰＤの格納と、ヘッドイメージデータＨＤの格納との両方の格納に、本発明のデータ格納構造を採用したが、これら両者のうち一方のみに本発明のデータ格納構造を採用してもよい。例えば図６（ａ）に示すデータ格納構造でＤＲＡＭに格納された印刷イメージデータＰＤから、前記（１）式又は（２）式を用いて算出した読出しアドレスＡＤreadを指定して読出したデータを、回転処理後に、図１０（ｂ）に示すように格納する構成でもよい。この場合、ＤＲＡＭ３５における中間バッファー３５ｂの使用格納領域を抑制できる。また、例えば図１０（ａ）に示すデータ格納構造でＤＲＡＭに格納された印刷イメージデータから読出したデータを、前記（３）式又は（４）式を用いて算出した書込みアドレスＡＤwriteを指定して図６（ｂ）に示すように格納する構成でもよい。この場合、ＤＲＡＭ３５における出力バッファー３５ｃの使用格納領域を抑制できる。
【０１０７】
・アドレス生成方法（判定部の判定内容・演算部の演算内容等）は、適宜変更してもよい。要するに、目的のアドレスを生成できる方法であれば、他の演算式を用いた演算によりアドレスを生成してもよい。
【０１０８】
・印刷イメージデータＰＤとヘッドイメージデータＨＤは同じＤＲＡＭに格納することに限定されず、異なるＤＲＡＭに格納する構成としてもよい。
・回転ユニット５０は、ハードウェアの構成に限定されず、その一部にソフトウェアの部分を含みハードウェアとソフトウェアとの協働により構成されてもよい。さらには処理速度が多少低下するが、ソフトウェアにより構成されもよい。
【０１０９】
・前記各実施形態では、インクジェット式のプリンター部１４が採用されているが、インク以外の他の流体を噴射したり吐出したりする流体噴射装置を採用してもよい。また、微小量の液滴を吐出させる液体噴射ヘッド等を備える各種の液体噴射装置に流用可能である。この場合、液滴とは、上記液体噴射装置から吐出される液体の状態を言い、粒状、涙状、糸状に尾を引くものも含むものとする。また、ここでいう液体とは、液体噴射装置が噴射させることができるような材料であればよい。例えば、物質が液相であるときの状態のものであればよく、粘性の高い又は低い液状体、ゾル、ゲル水、その他の無機溶剤、有機溶剤、溶液、液状樹脂、液状金属（金属融液）のような流状体、また物質の一状態としての液体のみならず、顔料や金属粒子などの固形物からなる機能材料の粒子が溶媒に溶解、分散または混合されたものなどを含む。また、液体の代表的な例としては上記実施形態で説明したようなインクや液晶等が挙げられる。ここで、インクとは一般的な水性インクおよび油性インク並びにジェルインク、ホットメルトインク等の各種液体組成物を包含するものとする。液体噴射装置の具体例としては、例えば液晶ディスプレイ、ＥＬ（エレクトロルミネッセンス）ディスプレイ、面発光ディスプレイ、カラーフィルタの製造などに用いられる電極材や色材などの材料を分散または溶解のかたちで含む液体を噴射する液体噴射装置を挙げることができる。また、バイオチップ製造に用いられる生体有機物を噴射する液体噴射装置、精密ピペットとして用いられ試料となる液体を噴射する液体噴射装置、捺染装置やマイクロディスペンサ等であってもよい。さらに、時計やカメラ等の精密機械にピンポイントで潤滑油を噴射する液体噴射装置、光通信素子等に用いられる微小半球レンズ（光学レンズ）などを形成するために紫外線硬化樹脂等の透明樹脂液を基板上に噴射する液体噴射装置、基板などをエッチングするために酸又はアルカリ等のエッチング液を噴射する液体噴射装置を採用してもよい。そして、これらのうちいずれか一種の液体噴射装置に本発明を適用することができる。また、流体は、トナーなどの粉粒体でもよい。なお、本明細書でいう流体には、気体のみからなるものは含まないものとする。
【０１１０】
・また、前記各実施形態では、スキャナー機能を備えたカラーインクジェット式のプリンター部１４が採用されているが、ワイヤインパクト式記録装置、熱転写式記録装置、電子写真式記録装置等の記録装置を採用してもよい。また、これらの記録装置は、モノクロ記録装置を採用しても良い。また、これらの記録装置は、スキャナー機能を備えない記録装置を採用してもよい。
【０１１１】
なお、前記実施形態及び変形例から把握される技術的思想を以下に記載する。
（イ）前記転送手段は、前記処理単位のデータの行方向サイズをバーストサイズとし、前記処理単位のデータをバーストサイズずつバースト転送する構成であり、前記行余りデータとは、前記画像データを前記処理単位のデータずつ区分した場合に、行方向に前記バーストサイズに満たないデータであることを特徴とする請求項１乃至６のうちいずれか一項に記載の画像データ処理装置。また、前記行余りデータが、上記（イ）と同様の構成であることを特徴とする請求項８又は９に記載の画像データ処理方法。
【符号の説明】
【０１１２】
１１…記録装置の一例である流体噴射装置としての複合機、１４…プリンター部、２８…搬送手段の一例である搬送モーター、２９…記録手段の一例である流体噴射ヘッドとしての印刷ヘッド、３５…格納手段の一例としてのＤＲＡＭ、３５ｂ…処理前の画像データを格納するための格納手段の一例である中間バッファー、３５ｃ…処理前の画像データを格納するための格納手段の一例である出力バッファー、５０…回転ユニット、５１…転送手段の一例としてのＤＭＡコントローラー、５２…処理手段及び回転処理手段の一例としての回転処理部、５３…設定レジスター、５４…シーケンサー、５５…第１カウンター、５６…第２カウンター、５７…第３カウンター、５８…第４カウンター、５９…アドレス生成手段の一例である第１アドレス生成部、５９ａ…判定手段としての判定部、５９ｂ…演算部、６０…アドレス生成手段の一例である第２アドレス生成部、６０ａ…判定手段としての判定部、６０ｂ…演算部、６１…転送指示部、７０…ＳＲＡＭ、ＰＤ…処理前の画像データの一例である印刷イメージデータ、ＨＤ…処理後の画像データの一例であるヘッドイメージデータ、Ｄｆ…処理単位のデータとしての満データ、Ｄｒ…処理単位のデータとしての行余りデータ、Ｄｃ…処理単位のデータとしての列余りデータ、ＢＳ…バーストサイズ、ＡＤread…アドレスとしての読出しアドレス、ＡＤwrite…アドレスとしての書込みアドレス、Ｐ…媒体の一例である用紙。
【図１】
2011182106.tif 000003
【図２】
2011182106.tif 000004
【図３】
2011182106.tif 000005
【図４】
2011182106.tif 000006
【図５】
2011182106.tif 000007
【図６】
2011182106.tif 000008
【図７】
2011182106.tif 000009
【図８】
2011182106.tif 000010
【図９】
2011182106.tif 000011
【図１０】
2011182106.tif 000012