(57)【特許請求の範囲】
【請求項１】
画像データの入力と出力との少なくとも一方を行うことで画像データの処理を行う複数のデータ転送回路と、
連続データ転送可能なメモリと、
前記メモリに接続されるバスと、
前記データ転送回路からの要求に応じて前記メモリを使用する際にバス使用権の調停を行う調停回路と、
制御部と、
を有する画像処理装置であって、
前記制御部は、前記メモリの転送帯域が前記データ転送回路それぞれに必要なデータ転送の帯域の合計を満たすように、データ転送を連続して行う際の連続数を意味するバースト転送長を調整した後に、前記データ転送回路それぞれが必要なデータ転送の帯域を満たすように、前記バースト転送長を調整して各データ転送回路に対して帯域を割り振り、
前記調停回路は、前記データ転送回路それぞれが必要なデータ転送の帯域を満たすように調整されたバースト転送長に応じた前記バス使用権を付与する、
ことを特徴とする画像処理装置。
【請求項２】
前記調停回路は、前記データ転送回路が前記メモリに対してシーケンシャルアクセスを行う場合に、前記バースト転送長に応じて前記バス使用権を付与する、
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記調停回路は、前記データ転送回路が前記メモリに対してランダムアクセスを行う場合には、Ｎ×Ｎ画素単位の画像データについて同一位置の複数チャンネルについての連続データ転送を複数回繰り返すことで、前記帯域のデータ転送を行う、
ことを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記制御部は、前記バースト転送長を前記各データ転送回路に対して割り振る際に、前記データ転送回路それぞれが必要なデータ転送の帯域である必要帯域を満たすと共に、前記バースト転送長の割り振りにより定まる割当帯域が前記必要帯域を超過する部分が小さくなるようにする、
ことを特徴とする請求項１−３のいずれか一項に記載の画像処理装置。
【請求項５】
前記請求項１−４のいずれか一項に記載の画像処理装置と、
前記画像処理装置で処理された前記画像データに応じて画像を形成する画像形成部と、
を有する画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像形成装置に関し、特に、バースト転送が可能なメモリを用いた場合に複数のデータ転送回路からの要求に応じてバス使用権の調停を効率良く行う技術に関する。
【背景技術】
【０００２】
画像形成装置では、解像度の向上や生産性の向上に伴って、大容量の画像データを短時間に処理する必要がある。このため、高速にデータを扱えるメモリでデータを扱うように構成されている。
【０００３】
例えば、バースト転送が可能なDDR SDRAM(Double-Data-Rate Synchronous Dynamic Random Access Memory)などの半導体メモリを使用することで、一度に転送できるメモリ量を増大させ、高速化を図ろうとしている。
【０００４】
なお、DDR SDRAMとしては、DDR,DDR2,DDR3などのように、バースト転送できるデータ量（バースト転送長）が、基本となるSDRAMと比較して、２倍，４倍，８倍と、増大する方向に進歩している。
【０００５】
また、複数の回路がメモリに対してデータ転送の要求を行う場合には、メモリ調停回路を設けて、バスの使用権を適切に割り当てる必要がある。
【０００６】
なお、SDRAMにおける高速なデータ転送を行う場合のメモリ調停に関しては、以下の特許文献などに提案がなされている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−１８０６５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
また、２枚の画像を１枚の用紙上に形成する２ｉｎ１などの処理では、画像を９０度回転させる処理が必要になる。このため、Ｎ画素×Ｎ画素というように、正方形の領域の画素をまとめてた状態にしてメモリ上で扱うことで、画像回転の処理を高速かつ容易にすることも行われている。なお、この場合に、この正方形の画素サイズを大きくすることで、以上のバースト転送長を大きくすることにつながり、高速な処理が可能になる可能性がある。
【０００９】
しかし、以上の場合に、１つのブロックを構成するＮそのものを大きくすると、一度に扱えるデータ量が大きくなる反面、画像回転処理に必要な内部メモリが大量に必要になり、実用的ではなくなる。
【００１０】
また、以上の特許文献１記載の手法では、バースト転送が可能なDDR SDRAM(Double-Data-Rate Synchronous Dynamic Random Access Memory)などの半導体メモリを使用することで、一度に転送できるメモリ量を増大させ、高速化を図ろうとしている。そして、連続要求信号を設けて、調停回路が、１つのデータ転送回路に対して連続したバス使用権を与えることが提案されている。これにより、高速な連続データ転送が可能になることが期待される。
【００１１】
しかし、その間に他のデータ転送回路がデータを扱うことができなくなり、トータルとして装置全体のパフォーマンスが低下してしまうという新たな問題が生じる。
【００１２】
本発明は、バースト転送が可能なメモリを用いた場合に複数のデータ転送回路からの要求に応じてバス使用権の調停を効率良く行える画像処理装置及び画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題は、以下の画像処理装置又は画像形成装置により解決される。
【００１４】
画像データの入力と出力との少なくとも一方を行うことで画像データの処理を行う複数のデータ転送回路と、連続データ転送可能なメモリと、前記メモリに接続されるバスと、前記データ転送回路からの要求に応じて前記メモリを使用する際にバス使用権の調停を行う調停回路と、制御部と、を有する画像処理装置、または、この画像処理装置を有する画像形成装置であって、前記制御部は、前記メモリの転送帯域が前記データ転送回路それぞれに必要なデータ転送の帯域の合計を満たすように、データ転送を連続して行う際の連続数を意味するバースト転送長を調整した後に、前記データ転送回路それぞれが必要なデータ転送の帯域を満たすように、前記バースト転送長を調整して各データ転送回路に対して帯域を割り振り、前記調停回路は、前記データ転送回路それぞれが必要なデータ転送の帯域を満たすように調整されたバースト転送長に応じた前記バス使用権を付与する、ことを特徴とする。
【００１５】
また、以上の前記調停回路は、前記データ転送回路が前記メモリに対してシーケンシャルアクセスを行う場合に、前記バースト転送長に応じて前記バス使用権を付与する。
【００１６】
また、以上の前記調停回路は、前記データ転送回路が前記メモリに対してランダムアクセスを行う場合には、Ｎ×Ｎ画素単位の画像データについて同一位置の複数チャンネルについての連続データ転送を複数回繰り返すことで、前記帯域のデータ転送を行う。
【００１７】
また、以上の前記制御部は、前記バースト転送長を前記各データ転送回路に対して割り振る際に、前記データ転送回路それぞれが必要なデータ転送の帯域である必要帯域を満たすと共に、前記バースト転送長の割り振りにより定まる割当帯域が前記必要帯域を超過する部分が小さくなるようにする。
【発明の効果】
【００１８】
画像データの入力と出力との少なくとも一方を行うことで画像データの処理を行う複数のデータ転送回路と、連続データ転送可能なメモリと、前記メモリに接続されるバスと、前記データ転送回路からの要求に応じて前記メモリを使用する際にバス使用権の調停を行う調停回路と、制御部と、を有する画像処理装置、または、この画像処理装置を有する画像形成装置において、制御部は、メモリの転送帯域がデータ転送回路それぞれに必要なデータ転送の帯域の合計を満たすように、データ転送を連続して行う際の連続数を意味するバースト転送長を調整した後に、データ転送回路それぞれが必要なデータ転送の帯域を満たすように、バースト転送長を調整して各データ転送回路に対して帯域を割り振り、調停回路は、データ転送回路それぞれが必要なデータ転送の帯域を満たすように調整されたバースト転送長に応じた前記バス使用権を付与するため、バースト転送が可能なメモリを用いた場合に複数のデータ転送回路からの要求に応じてバス使用権の調停を効率良く行える。
【００１９】
また、以上の調停回路は、データ転送回路が前記メモリに対してシーケンシャルアクセスを行う場合に、バースト転送長に応じてバス使用権を付与することで、バースト転送が可能なメモリの特性を活かしつつ、複数のデータ転送回路からの要求に応じてバス使用権の調停を効率良く行える。
【００２０】
また、以上の調停回路は、データ転送回路がメモリに対してランダムアクセスを行う場合には、Ｎ×Ｎ画素単位の画像データについて同一位置の複数チャンネルについての連続データ転送を複数回繰り返して帯域のデータ転送を行うことで、バースト転送が可能なメモリを用いた場合に、ランダムアクセスの場合にも効率を落とすことなく、複数のデータ転送回路からの要求に応じてバス使用権の調停を効率良く行える。
【００２１】
また、以上の制御部は、バースト転送長を各データ転送回路に対して割り振る際に、データ転送回路それぞれが必要なデータ転送の帯域である必要帯域を満たすと共に、バースト転送長の割り振りにより定まる割当帯域が必要帯域を超過する部分が小さくなるようにすることで、他のデータ転送回路に割り振れる帯域を減少させることなく、すなわち、無駄なく、効率良く、複数のデータ転送回路からの要求に応じてバス使用権の調停を行える。
【００２２】
また、この画像処理装置や画像形成装置によれば、効率的なバス使用権の調停が可能になるため、処理回路を従来より低クロックで動作させても結果として十分な処理が可能になり、低電力化を図ることができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の実施形態の概略構成を示す構成図である。
【図２】本発明の実施形態の動作を示すフローチャートである。
【図３】本発明の実施形態の動作を示すフローチャートである。
【図４】本発明の実施形態の動作を示すフローチャートである。
【図５】本発明の実施形態のデータ処理の様子を示す説明図である
【図６】本発明の実施形態のデータ処理の様子を示す説明図である
【図７】本発明の実施形態のデータ処理の様子を示す説明図である
【発明を実施するための形態】
【００２４】
以下、図面を参照して本発明の画像処理装置及び画像形成装置を実施するための形態（実施形態）を詳細に説明する。ここでは、画像処理装置を含む画像形成装置を具体例にして、実施形態の説明を行う。
【００２５】
〔構成〕
ここで、実施形態の画像形成装置１００の構成を、図１に基づいて詳細に説明する。なお、画像形成装置１００として既知であって、本実施形態の特徴的な動作や制御に直接に関係しない一般的な部分についての説明は省略してある。
【００２６】
図１に示す画像形成装置１００は、各部を制御する全体制御部１０１、操作者が各種操作入力を行うと共に各種表示を行う操作表示部１０５、画像データの入力と出力との少なくとも一方を行うことで画像データの処理を行う複数のデータ転送回路１１０ａから１１０ｅと、データ転送回路からの要求に応じてメモリを使用する際にバス使用権の調停を行うと共にメモリ制御とを行う記憶制御部１２０と、連続データ転送可能なメモリ１３０と、記憶制御部１２０とメモリ１３０との間を接続するバスＢと、を備えて構成されている。
【００２７】
ここで、全体制御部１０１は、図示しないＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等を備える。ここで、ＣＰＵは、ＲＡＭの所定領域をワークエリアとし、ＲＯＭに記憶されている各種プログラムを実行して、画像形成装置１００の各部を統括的に制御する。
【００２８】
操作表示部１０５は、キーボード、マウス、タッチパネル等の入力デバイスを備え、入力される各種指示信号を全体制御部１０１に送信する。また、操作表示部１０５は、ＬＣＤ（Liquid Crystal Display）やＣＲＴ（Cathode Ray Tube）等の表示手段を備え、全体制御部１０１から入力される各種画像データを表示する。なお、この操作表示部は操作部と表示部が別であってもよいが、表示されたアイコンあるいはキーを押下するタッチパネルであってもよい。
【００２９】
データ転送回路１１０ａ〜１１０ｅは、例えば、原稿を読み取ってＲＧＢＡ形式の入力画像データを生成するスキャナとしてのデータ転送回路１１０ａ、ＲＧＢＡ形式の入力画像データに対して入力画像処理を施してＹＭＣＫＡ形式の画像データに変換する入力画像処理部としてのデータ転送回路１１０ｂ、ＹＭＣＫＡ形式の画像データや各種データを記憶する不揮発性の記憶部としてのデータ転送回路１１０ｃ、ＹＭＣＫＡ形式の画像データを出力（画像形成）用のＹＭＣＫ方式の画像データに変換する出力画像処理部としてのデータ転送回路１１０ｄ、ＹＭＣＫ方式の画像データを受けて用紙上に画像を形成するプリンタとしてのデータ転送回路１１０ｅ、として構成することができる。
【００３０】
なお、データ転送回路１１０ａとしてのスキャナでは、シェーディング補正、変倍処理、傾き補正処理等の画像処理を施した上で、ＲＧＢＡ形式の画像データを出力する。データ転送回路１１０ｂとしての入力画像処理部は、画像がカラーかモノクロかに応じて処理を変える機能を有しており、スキャナで得られた入力画像データに対して、カラー画像であれば色変換（ＲＧＢ→ＹＭＣＫ）などの入力画像処理を施すものである。データ転送回路１１０ｄとしての出力画像処理部は、記憶された画像データに対して、画像形成に必要なプリンタガンマ変換、誤差拡散処理、微笑変倍処理などの出力画像処理を施すものである。データ転送回路１１０ｅとしてのプリンタは、電子写真方式や各種方式の画像形成部や印刷装置であり、複写機やプリンタやファクシミリ装置などにおいて所定の記録紙上に画像を形成して出力するプリントエンジンに該当する部分である。
【００３１】
また、データ転送回路１１０ａ〜１１０ｅの具体例としては、これに限定されるものではない。
【００３２】
また、ここでは、Ｒ（レッド）、Ｇ（グリーン）、Ｂ（ブルー）、Ａ（タグデータあるいは属性情報）を意味している。また、Ｙ（イエロー）、Ｍ（マゼンタ）、Ｃ（シアン）、Ｋ（ブラック）、Ａ（タグデータあるいは属性情報）を意味している。
【００３３】
記憶制御部１２０は、データ転送回路１１０ａ〜１１０ｅに対応してメモリ１３０にアクセスするためのデータを格納するバッファ１２０ａ〜１２０ｅ、バッファ１２０ａ〜１２０ｅに格納されたデータを参照してラウンドロビン方式等によりバス使用権を付与するメモリ調停回路１２１、メモリ調停回路１２１が付与するバス使用権に応じてデータ転送回路１１０ａ〜１１０ｅのいずれかとメモリ１３０との間でデータ転送を許可するマルチプレクサ１２２、メモリ１３０を制御するメモリコントローラ１２５、を備えて構成されている。
【００３４】
ここで、メモリ調停回路１２１は、データ転送回路１１０ａ〜１１０ｅそれぞれが必要なデータ転送の帯域（これを必要帯域と呼ぶ）を満たすように、データ転送を連続して行う際の連続数を意味するバースト転送長を各データ転送回路に対して割り当てて、該バースト転送長に応じたバス使用権を付与するための制御を行う。
【００３５】
また、ここでは、メモリ調停回路１２１とメモリコントローラ１２５とが記憶制御部１２０として一体の構成を示すが、メモリ調停回路１２１とメモリコントローラ１２５とは分離独立して存在していてもよい。
【００３６】
メモリ１３０は、バースト転送によって連続データ転送が可能なDDR SDRAM(Double-Data-Rate Synchronous Dynamic Random Access Memory)などの半導体メモリを使用して一度に転送できるメモリ量を増大させた状態で画像データを記憶するものである。
【００３７】
〔動作〕
まず、全体制御部１０１は、各データ転送回路１１０ａ〜１１０ｅが扱うデータ量を算出する（図２中のステップＳ１０１）。なお、画像形成装置１００においては、画像の解像度、色（チャンネル）数、階調数、用紙サイズに応じてデータ量は定まる。
【００３８】
例えば、解像度６００dpiでＡ４サイズ１枚のデータ量は、スキャナにおいて、ＲＧＢＡの４チャンネルであって、１画素あたり８ビット階調の場合には、１３７Ｍバイトになる。解像度６００dpiでＡ４サイズ１枚のデータ量は、ＹＭＣＫの５チャンネルであって、１画素あたり４ビット階調の圧縮画像データの場合には、８５．７Ｍバイトになる。解像度１２００dpiでＡ４サイズ１枚のデータ量は、ＹＭＣの４チャンネルであって、１画素あたり８ビット階調の画像形成用画像データの場合には、５４８．２Ｍバイトになる。
【００３９】
すなわち、データ転送回路１１０ａの出力であるＤＭＡ＃１は、解像度６００dpi、ＲＧＢＡの４チャンネルで、１画素あたり８ビットのデータを転送するため、データ量は１３７Ｍバイトになる。データ転送回路１１０ｂの入力であるＤＭＡ＃２は、解像度６００dpi、ＲＧＢＡの４チャンネルで、１画素あたり８ビットのデータを転送するため、データ量は１３７Ｍバイトになる。データ転送回路１１０ｂの出力であるＤＭＡ＃３は、解像度６００dpi、ＹＭＣＫＡの５チャンネルで、１画素あたり４ビットのデータを転送するため、データ量は８５．７Ｍバイトになる。データ転送回路１１０ｃの入力であるＤＭＡ＃４は、解像度６００dpi、ＹＭＣＫＡの５チャンネルで、１画素あたり４ビットのデータを転送するため、データ量は８５．７Ｍバイトになる。データ転送回路１１０ｃの出力であるＤＭＡ＃５は、解像度６００dpi、ＹＭＣＫＡの５チャンネルで、１画素あたり４ビットのデータを転送するため、データ量は８５．７Ｍバイトになる。データ転送回路１１０ｄの入力であるＤＭＡ＃６は、解像度６００dpi、ＹＭＣＫＡの５チャンネルで、１画素あたり４ビットのデータを転送するため、データ量は８５．７Ｍバイトになる。データ転送回路１１０ｄの出力であるＤＭＡ＃７は、解像度１２００dpi、ＹＭＣＫの４チャンネルで、１画素あたり８ビットのデータを転送するため、データ量は５４８．２Ｍバイトになる。データ転送回路１１０ｅの入力であるＤＭＡ＃８は、解像度１２００dpi、ＹＭＣＫの４チャンネルで、１画素あたり８ビットのデータを転送するため、データ量は５４８．２Ｍバイトになる。
【００４０】
そして、全体制御部１０１は、各データ転送回路１１０ａ〜１１０ｅそれぞれが単位処理時間にデータを扱うのに必要になる帯域（必要帯域）と、全てのデータ転送回路１１０ａ〜１１０ｅの必要帯域の合計の帯域（必要総帯域）とを算出する（図２中のステップＳ１０２）。
【００４１】
ここで、単位処理時間とは、画像形成装置１００が１分間に１２０枚の用紙を処理する能力を有する場合、０．５秒に１枚分の画像データを処理すればよいため、０．５秒に相当する。但し、スキャン入力であるＤＭＡ＃１と、プリンタ出力であるＤＭＡ＃８とは、制御信号に同期する必要があるのと、用紙と用紙の間隔（紙間）が存在する。ここで、紙間が０．１秒程度であるとすると、０．４秒に１枚の画像データを処理する必要が生じるため、０．４秒が単位処理時間である。
【００４２】
この場合、
ＤＭＡ＃１は１３７Ｍバイト／０．４秒＝３４２．５Ｍバイト/s，
ＤＭＡ＃２は１３７Ｍバイト／０．５秒＝２７４Ｍバイト/s，
ＤＭＡ＃３は８５．７Ｍバイト／０．５秒＝１７１．４Ｍバイト/s，
ＤＭＡ＃４は８５．７Ｍバイト／０．５秒＝１７１．４Ｍバイト/s，
ＤＭＡ＃５は８５．７Ｍバイト／０．５秒＝１７１．４Ｍバイト/s，
ＤＭＡ＃６は８５．７Ｍバイト／０．５秒＝１７１．４Ｍバイト/s，
ＤＭＡ＃７は５４８．２Ｍバイト／０．５秒＝１０９６．４Ｍバイト/s，
ＤＭＡ＃８は５４８．２Ｍバイト／０．４秒＝１３７０．５Ｍバイト/s，
になる。また、必要総帯域は、３７６９Ｍバイト/sになる。
【００４３】
全体制御部１０１は、以上の必要帯域や必要総帯域を満たすように、バースト転送長を算出する（図２中のステップＳ１０３）。なお、この実施形態において、バースト転送長とは、一度のバースト転送を行う際のデータ量を意味する。
【００４４】
画像形成装置１００においては画像回転が要求されることもあり、正方形となるＮ×Ｎ画素単位で画像データをパッキングして扱うことで、画像回転処理前後で縦横の画素数が等しくなるため、画像回転処理を行う場合にも効率の良いデータ転送が可能になる。
【００４５】
但し、１チャンネルのみであるとバースト転送長を大きくしても効率が悪い場合があるので、ＲＧＢＡの４チャンネル、またはＹＭＣＫＡの５チャンネルの同じ位置のＮ×Ｎ画素を転送対象として、バースト転送長を大きくすることが望ましい。なお、この画像回転の際の効率については、図５〜図７降を参照して、後に詳しく説明する。
【００４６】
例えば、メモリ１３０とのインタフェースが６４ビットで、１画素４ビットの圧縮画像データを８×８画素単位でパッキングして扱うとすると、ＲＧＢＡ等の４チャンネルの場合にはバースト転送長を１６、ＹＭＣＫＡの５チャンネルの場合にはバースト転送長を２０、とする。
【００４７】
なお、以上の具体例の場合には、ＤＭＡ＃２，ＤＭＡ＃４，ＤＭＡ＃６はシーケンシャルアクセスではなくランダムアクセスとなるので、バースト転送長を以上の１６や２０より大きくすることができない。仮に、６４バースト転送としても、１６バースト転送の４倍の時間が掛かり、バースト転送長を大きくする意味が無くなる。また、ＤＭＡ＃７とＤＭＡ＃８とは、各色で画像形成のタイミングが異なるため、各チャンネル毎に別のアドレスにアクセスすることになる。このため、転送効率を高めるためにはチャンネル内でシーケンシャルアクセスによりバースト転送長を長くする必要がある。
【００４８】
ここで、全体制御部１０１は、以上のように算出されたバースト転送長とした場合のメモリ１３０の転送帯域を算出する（図２中のステップＳ１０４）。更に、全体制御部１０１は、算出された転送帯域が、ステップＳ１０２で算出された必要総帯域を満足しているかを判断する（図２中のステップＳ１０５）。
【００４９】
例えば、ＤＤＲ３−１０６６の規格の半導体素子をメモリ１３０として使用した場合に、以上のバースト転送長でリード／ライトがランダムなアドレスにアクセスした場合には、メモリの転送帯域は約２８９９Ｍバイト/sとなる。この転送帯域（２８９９Ｍバイト/s）では、ステップＳ１０２で算出された必要総帯域（３７６９Ｍバイト/s）を満足することができないため（図２中のステップＳ１０５でＮＯ）、全体制御部１０１はバースト転送長を再計算する（図２中のステップＳ１０３）。
【００５０】
ここで、４チャンネルの画像データを扱う場合にはバースト転送長を６４、５チャンネルの画像データを扱う場合にはバースト転送長を８０を、１回に調停する単位と定めると、各ＤＭＡのバースト転送長は、
ＤＭＡ＃１ではバースト転送長＝６４，
ＤＭＡ＃２ではバースト転送長＝１６×４，
ＤＭＡ＃３ではバースト転送長＝８０，
ＤＭＡ＃４ではバースト転送長＝２０×４，
ＤＭＡ＃５ではバースト転送長＝８０，
ＤＭＡ＃６ではバースト転送長＝２０×４，
ＤＭＡ＃７ではバースト転送長＝６４×４，
ＤＭＡ＃８ではバースト転送長＝６４×４，
と定めることができる。
【００５１】
なお、ここで、１６×４とある場合は、バースト転送長を１６として、４回繰り返すことを意味している。
【００５２】
そして、以上のようにバースト転送長を定めた場合の各ＤＭＡに割り振られる帯域は
ＤＭＡ＃１は２６６Ｍバイト/s，
ＤＭＡ＃２は２６６Ｍバイト/s，
ＤＭＡ＃３は３３２Ｍバイト/s，
ＤＭＡ＃４は３３２Ｍバイト/s，
ＤＭＡ＃５は３３２Ｍバイト/s，
ＤＭＡ＃６は３３２Ｍバイト/s，
ＤＭＡ＃７は１０６４Ｍバイト/s，
ＤＭＡ＃８は１０６４Ｍバイト/s，
になる。
【００５３】
この場合の転送帯域は、３９８８Ｍバイト/sになり、ステップＳ１０２で算出された必要総帯域（３７６９Ｍバイト/s）を満足している（図２中のステップＳ１０５でＹＥＳ）。
【００５４】
しかし、以上のバースト転送長による帯域は、ＤＭＡ＃１，ＤＭＡ＃２，ＤＭＡ＃７，ＤＭＡ＃８において、ステップＳ１０２で求めた必要帯域を満たしていない（図２中のステップＳ１０６、Ｓ１０７でＮＯ）。
【００５５】
なお、ＤＭＡ＃８は画像転送回路１１０ｅ（プリンタ）への画像データを流すデータ転送であり、この部分で不足があると正常な位置に印字することが出来ない等の著しい不調が生じる。
【００５６】
なお、以上の各ＤＭＡの帯域を詳細に調べると、必要帯域をみたしているＤＭＡ＃３〜ＤＭＡ＃６において、必要帯域が１７１Ｍバイト/sであるのに対し、２倍近い３３２Ｍバイト/sの帯域が割り振られていて、無駄が極めて大きい。このような無駄な帯域があると、他のＤＭＡに対して割り振れる帯域が狭められてしまう。そのため、全体的にバースト転送長をより大きくする必要があり、これに連動してバッファ１２０ａ〜１２０ｅの容量も大きくしなければならず、無駄が大きくなる。
【００５７】
そこで、必要帯域を大きく上回る帯域が割り振られているＤＭＡ＃３〜ＤＭＡ＃６について、必要帯域を満たす範囲でできるだけ無駄がない帯域となるように、バースト転送長を削減する方向に調整する（図２中のステップＳ１０８）。また、必要帯域を大きく下回っている部分では、必要な程度に応じてバースト転送長を大きくする（図２中のステップＳ１０８）。これにより、他の不足しているＤＭＡに対して割り振られる帯域が相対的に増えることになり、全体で無駄なく必要帯域を満たせるようになる。また、バッファ１２０ａ〜１２０ｅの容量も適切な値とすることが可能になる。
【００５８】
ここで、各ＤＭＡのバースト転送長を、
ＤＭＡ＃１ではバースト転送長＝８０，
ＤＭＡ＃２ではバースト転送長＝１６×４，
ＤＭＡ＃３ではバースト転送長＝４０，
ＤＭＡ＃４ではバースト転送長＝２０×２，
ＤＭＡ＃５ではバースト転送長＝４０，
ＤＭＡ＃６ではバースト転送長＝２０×２，
ＤＭＡ＃７ではバースト転送長＝６４×４，
ＤＭＡ＃８ではバースト転送長＝８０×４，
と定める。
【００５９】
そして、以上のようにバースト転送長を定めた場合の各ＤＭＡに割り振られる帯域は
ＤＭＡ＃１は３５２Ｍバイト/s，
ＤＭＡ＃２は２８２Ｍバイト/s，
ＤＭＡ＃３は１７６Ｍバイト/s，
ＤＭＡ＃４は１７６Ｍバイト/s，
ＤＭＡ＃５は１７６Ｍバイト/s，
ＤＭＡ＃６は１７６Ｍバイト/s，
ＤＭＡ＃７は１１２９Ｍバイト/s，
ＤＭＡ＃８は１４１１Ｍバイト/s，
になる。
【００６０】
この場合の各転送帯域は必要帯域を上回って満足するようになる（図２中のステップＳ１０７でＹＥＳ）。
【００６１】
従って、全体制御部１０１は、以上のバースト転送長、あるいは、バースト転送長の繰り返しになるように、
ＤＭＡ＃１の重みは５，
ＤＭＡ＃２の重みは４，
ＤＭＡ＃３の重みは２，
ＤＭＡ＃４の重みは２，
ＤＭＡ＃５の重みは２，
ＤＭＡ＃６の重みは２，
ＤＭＡ＃７の重みは４，
ＤＭＡ＃８の重みは５，
と定める（図２中のステップＳ１０９）。
【００６２】
以上のようにして、各データ転送回路１１０ａ〜１１０ｅが扱うデータ量から求めた必要帯域を満足しつつ無駄のない状態にバースト転送長を定めることで、全てのデータ転送が単位処理時間内に完了するようになり、円滑な処理が可能になる。なお、以上の説明で用いた具体的数値は一例であって、これに限定されるものではなく、各種の変更が可能である。
【００６３】
そして、この実施形態によれば、連続した効率的な読み書きが可能になるため、処理回路を従来より低クロックで動作させても結果として十分な処理が可能になり、低電力化を図ることができる。また、従来より低速な制御回路やメモリを使用することが可能になるため、装置の低価格化を実現することも可能になる。
【００６４】
以下、調停の動作の具体例（１）について簡単に説明する。ここでは、図３のフローチャートを参照し、終了信号が存在しない場合の動作について説明する。なお、この終了信号が存在しない場合とは、画像形成装置１００全体として各データ転送回路１１０ａ〜１１０ｅの処理に余裕がある状態で行われる。
【００６５】
まず、全体制御部１０１は、以上のように決定されたバースト転送長を記憶制御部１２０に通知する。記憶制御部１２０では、全体制御部１０１から受信したバースト転送長（または、バースト転送長と繰り返し回数）を各データ転送回路１１０ａ〜１１０ｅの最大転送回数として設定する（図３中のステップＳ２０１）。
【００６６】
ここで、画像形成装置１００が動作を開始すると、メモリ調停回路１２１は調停を開始する（図３中のステップＳ２０２）。すなわち、データ転送回路１１０ａ〜１１０ｅの中でデータ転送が許可されたデータ転送回路１１０ｘには、メモリ調停回路１２１により、ラウンドロビン方式等によりバス使用権が付与される（図３中のステップＳ２０３）。
【００６７】
バス使用権が付与されたデータ転送回路１１０ｘでは、メモリ調停回路１２１の制御により、データ転送の回数が定められた最大転送回数に達するまで（図３中のステップＳ２０５でＮＯ）、メモリ１３０との間でデータ転送を行う（図３中のステップＳ２０４）。
【００６８】
また、バス使用権が付与されたデータ転送回路１１０ｘにおいてデータ転送の回数が定められた最大転送回数に達したら（図３中のステップＳ２０５でＹＥＳ）、メモリ調停回路１２１は、データ転送回路１１０ｘ対応するバッファ１２０ｘに蓄積されているデータ容量を確認する（図３中のステップＳ２０６）。
【００６９】
バッファ１２０ｘ内に転送単位に相当するデータが蓄積されていれば（図３中のステップＳ２０６でＹＥＳ）、メモリ調停回路１２１は、データ転送回路１１０ｘにデータ転送を行わせる（図３中のステップＳ２０４）。
【００７０】
バッファ１２０ｘ内に転送単位に相当するデータが蓄積されていれなければ（図３中のステップＳ２０６でＮＯ）、メモリ調停回路１２１は、データ転送回路１１０ｘのデータ転送が完了したとみなして、他のデータ転送回路１１０ｙにバス使用権を付与してデータ転送を行わせる（図３中のステップＳ２０４）。これ以後、同様にして、メモリ調停回路１２１は調停を行って、各データ転送回路１１０ａ〜１１０ｅのいずれかについてラウンドロビン方式等によりバス使用権を割り当てるようにしてデータ転送の制御を繰り返し行う。
【００７１】
以下、調停の動作の具体例（２）について簡単に説明する。ここでは、図４のフローチャートを参照し、終了信号が存在する場合の動作について説明する。
【００７２】
まず、全体制御部１０１は、以上のように決定されたバースト転送長を記憶制御部１２０に通知する。記憶制御部１２０では、全体制御部１０１から受信したバースト転送長（または、バースト転送長と繰り返し回数）を各データ転送回路１１０ａ〜１１０ｅの最大転送回数として設定する（図４中のステップＳ３０１）。
【００７３】
ここで、画像形成装置１００が動作を開始すると、データ転送回路１１０ａ〜１１０ｅについて設定されたバースト転送長の最終データで無ければ（図４中のステップＳ３０２でＮＯ）、対応するバッファ１２０ｘ内に転送単位に相当するデータが蓄積されるのを待ち（図４中のステップＳ３０３でＮＯ、Ｓ３０２、Ｓ３０３でＹＥＳ）、メモリ調停回路１２１は調停を開始する（図４中のステップＳ３０４）。
【００７４】
また、設定されたバースト転送長の最終データである場合は（図４中のステップＳ３０２でＹＥＳ）、バッファの容量が満たされていなくても、メモリ調停回路１２１は調停を開始する（図４中のステップＳ３０４）。
【００７５】
ここで、データ転送回路１１０ａ〜１１０ｅの中でデータ転送が許可されたデータ転送回路１１０ｘには、ラウンドロビン方式等の調停を行うメモリ調停回路１２１により、バス使用権が付与される（図４中のステップＳ３０５）。
【００７６】
バス使用権が付与されたデータ転送回路１１０ｘでは、メモリ調停回路１２１の制御により、バースト転送長により定められたデータ転送の回数に至るまで（図４中のステップＳ３０２）、メモリ１３０との間でデータ転送を行う（図４中のステップＳ３０６）。
【００７７】
また、バス使用権が付与されたデータ転送回路１１０ｘで、バースト転送長により定められたバースト転送長に相当するデータ転送を行った後は、メモリ調停回路１２１はラウンドロビン方式等により、データ転送回路１１０ａ〜１１０ｅ中の他のデータ転送回路１１０ｙにバス使用権を付与する（図４中のステップＳ３０４，Ｓ３０５，Ｓ３０６）。これ以後、同様にして、メモリ調停回路１２１は調停を行って、各データ転送回路１１０ａ〜１１０ｅのいずれかについてラウンドロビン方式等によりバス使用権を割り当てるようにしてデータ転送の制御を繰り返し行う。
【００７８】
ここで、図５以降の説明図を参照して、画像回転とバースト転送長との関係について説明する。
【００７９】
図５の（ａ）領域は回転前の画像データの一部を示しており、１〜８の８つのブロックに分けて処理される。ここで、各ブロックは図５（ｂ）に示されるよう、８×８画素（Ｎ×Ｎ画素）の集合体である。
【００８０】
なお、この場合、バースト転送長Ｘにおいて、Ｘ＝８として、８バースト（Ｘバースト）転送が可能なメモリ１３０を使用した場合を想定して説明する。ここでバースト転送長Ｘとは、１回のバースト転送を行う際のデータ量を意味する。
【００８１】
ここでは、図５（ａ）（ｂ）のように行（縦）方向８画素（Ｎ画素）を列（横）方向に８列バースト（Ｘ＝８として、Ｘバースト）転送により連続して１回で読み出し、図５（ｃ）のように画素の並べ替えにより９０°回転させた上で、再び図５（ｃ）（ｄ）のように、行方向８画素を列方向に８列バースト転送により連続して１回でメモリ１３０に書き込むようにする。このように、Ｎ×Ｎ画素を転送対象とすることで、画像回転時にも良好な処理が可能になる。
【００８２】
そして、バースト転送長を更に大きくして高速化を図る場合について、図６を用いて説明する。
【００８３】
この図６の場合も図５（ｂ）で示したものと同様に、各ブロックは８×８画素（Ｎ×Ｎ画素）の集合体である。この場合に、１６バースト（Ｘ＝８として、２Ｘバースト）転送が可能なメモリ１３０を使用した場合を想定して説明する。
【００８４】
ここでは、図６（ａ）のように行（縦）方向８画素を列（横）方向に１６列バースト（２Ｘバースト）転送により連続して読み出し、図６（ｂ）のように画素の並べ替えにより９０°回転させる。ただし、図６（ｃ）に示すごとく、画像回転後のブロック１，２の位置が回転前と異なるため、行（縦）方向８画素を列（横）方向に８列バースト転送の書き込みを、２回繰り返してメモリ１３０に書き込むようにする。
【００８５】
この場合、図６（ａ）の読み出し時はシーケンシャルアクセスで１６バースト転送により高速に行えるが、回転処理後の行（縦）アドレスが異なるため、図６（ｃ）の書き込み時には連続して一度に書き込むことができなくなり、バースト転送量を大きくしたにもかかわらず、高速な処理を実現することができない状態になる。
【００８６】
以上のように、１チャンネル（同一色内のデータ）のみであるとバースト転送長を大きくしても効率が良くない場合があるので、ＲＧＢＡの４チャンネル、またはＹＭＣＫＡの５チャンネルの同じ位置のＮ×Ｎ画素を転送対象として、バースト転送長を大きくすることについて説明する。
【００８７】
ここでは、図７に示すよう、Ｃ（シアン）、Ｍ（マゼンタ）、Ｙ（イエロー）、Ｋ（黒）、Ａ（タグデータ）の場合、すなわち、５チャンネルの場合を具体例とする。さらに、図５や図６と同様に、ブロックの画素数Ｎ＝８として、８×８画素のブロック単位の画像データを具体例として、バースト転送長Ｘ＝８を具体例にして説明を行う。なお、ここでは、ＹＭＣＫの各色がＣＭＹＫの順に並んでいる場合を具体例にする。
【００８８】
ここで、図７（ａ）は回転前と回転後の画像データが格納されるメモリ１３０の様子を模式的に示しており、Ｃ１はシアンＣについての８×８画素のブロックであり（図７（ｃ）参照）、Ｍ１はマゼンタＭについての前記Ｃ１と同一画素位置の８×８画素のブロックであり、Ｙ１はイエローＹについての前記Ｃ１，Ｍ１と同一画素位置の８×８画素のブロックであり、Ｋ１は黒Ｋについての前記Ｃ１，Ｍ１，Ｙ１と同一画素位置の８×８画素のブロックであり、Ａ１はタグデータＡについての前記Ｃ１，Ｍ１，Ｙ１，Ｋ１と同一画素位置の８×８画素のブロックである。
【００８９】
ここでは、同一画素位置である、Ｃ１，Ｍ１，Ｙ１，Ｋ１，Ａ１の８×８画素のブロックについて、５チャンネル分の画像データを、メモリ１３０に対して、同一行アドレスで隣接する異なる列アドレスに書き込む。したがって、次の８×８画素のブロックＣ２，Ｍ２，Ｙ２，Ｋ２，Ａ２、また、それ以降の画素についても同様である。
【００９０】
画像を９０°あるいは２７０°回転させる場合、さきほど書き込みを行ったメモリ１３０の先頭位置から５チャンネル分の８×８画素を、記憶制御部１４１の指示により８画素・８×５バースト転送により読み出す。読み出した画像データを、各チャンネルごとに画素並べ替えを行って、各８×８画素内で回転を行う（図７（ｃ）（ｄ）（ｅ））。
【００９１】
そして、記憶制御部１４１は、並べ替えを行ったＮ×Ｎ画素単位（ブロック単位）の５チャンネル分の画像データを、メモリ１３０に対して、同一行アドレスで隣接する異なる列アドレスに書き込む。この際は、さきほど読み出したメモリ１３０の領域（回転前画像領域）とは異なる領域（回転後画像領域）に書き込む。また、このとき、ＣＭＹＫＡの５チャンネル分の画像データについては、メモリ１３０に対して、同一行アドレスで隣接する異なる列アドレスにシーケンシャルに書き込むため、効率が落ちることはない。
【００９２】
すなわち、Ｎ×Ｎ画素単位の５チャンネル分の同一行アドレスで隣接する異なる列アドレスに書き込まれた画像データをメモリ１３０から連続して読み出し、メモリ１３０から読み出された各チャンネルあたりＮ×Ｎ画素単位の画像データをそれぞれ回転させ、回転されたＮ×Ｎ画素単位の５チャンネル分の画像データをメモリ１３０に対して同一行アドレスで隣接する異なる列アドレスに連続して書き込むようにしているため、バースト転送長を大きくした連続した読み書きが可能になり、バースト転送が可能なメモリ１３０を用いた場合に画像回転処理実行時のデータ転送を効率的に行えるようになる。すなわち、画素位置としてはランダムアクセスになるような場合であっても、同一画素の複数チャンネル方向にシーケンシャルアクセスが可能になるため、バースト転送長を大きくしても効率的なデータ転送が可能になる。
【００９３】
なお、ここではＣＭＹＫＡの５チャンネルの場合を具体例にしたが、ＲＧＢＡやＹＭＣＫの４チャンネルの場合にも、バースト転送長を大きくすることにより効率的なデータ転送が可能になる。
【００９４】
〔その他の実施形態（１）〕
なお、以上の実施形態はスキャナやプリントエンジンを有する画像形成装置１００を具体例にして説明してきたが、これに限定されるものではない。たとえば、スキャナやプリントエンジンを備えず、バースト転送による効率の良い画像回転処理を実行する画像処理装置も本発明の実施形態の一態様である。
【００９５】
〔その他の実施形態（２）〕
なお、以上の実施形態はカラー画像形成を行う画像処理装置や画像形成装置を想定していたが、これに限定されるものではない。たとえば、モノクロの画像処理装置や画像形成装置であっても、画像データとタグデータとの２チャンネルについて、バースト転送が可能な画像メモリを用いた場合に連続して読み出しと書き込みとがバースト転送により実現できる。
【符号の説明】
【００９６】
１００  画像形成装置
１０１  全体制御部
１０５  操作部
１１０ａ〜１１０ｅ  データ転送回路
１２０  記憶制御部
１２１  メモリ調停回路
１２５  メモリコントローラ
１３０  メモリ
【図１】
0005924104.tif 000002
【図２】
0005924104.tif 000003
【図３】
0005924104.tif 000004
【図４】
0005924104.tif 000005
【図５】
0005924104.tif 000006
【図６】
0005924104.tif 000007
【図７】
0005924104.tif 000008