(57)【要約】【課題】回転処理用の回路規模を増大させることなく、回転処理の前と後の画像データの読出しと書込みの際のメモリアクセスで、バーストアクセスのサイズを大きくして回転処理速度を向上させた画像処理装置を提供する。【解決手段】単位サイズの矩形画像データを回転させる画像回転処理手段を備え、回転後の単位サイズの矩形画像データを再度画像メモリに書込み、前記の読出しと書込みを繰り返して回転画像データを取得する画像処理装置である。前記の画像回転処理手段で回転させる単位サイズの矩形画像データを列状に複数並べて、単位サイズの矩形画像データの１辺のデータを超えるデータを連続するアドレス領域とし、回転させる単位サイズの矩形画像データより長いバースト長となるようにメモリアクセスして、単位サイズの矩形画像データの読出し及び書込みを行う。【選択図】図１２
2008136125.tif 000002
【特許請求の範囲】
【請求項１】
画像データを格納する画像メモリと、画像メモリへのデータ書込み及び読出しを制御するメモリコントローラと、前記画像メモリに格納された画像データから所定の単位サイズの矩形画像データを読出し、前記単位サイズの矩形画像データを回転させる画像回転処理手段を備え、回転後の前記単位サイズの矩形画像データを再度前記画像メモリに書込み、前記読出しと書込みを繰り返して回転画像データを取得する画像処理装置であって、
前記画像回転処理手段で回転させる前記単位サイズの矩形画像データを列状に複数並べて、前記単位サイズの矩形画像データの１辺のデータを超えるデータを連続するアドレス領域とし、前記回転させる単位サイズの矩形画像データより長いバースト長となるようにメモリアクセスして、前記単位サイズの矩形画像データを読出し及び書込むことを特徴とする画像処理装置。
【請求項２】
列状に並べられる前記単位サイズの矩形画像データは、前記画像データから抽出され、複数のプレーンに割り当てられていることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像データがカラー画像データである場合、前記複数の単位サイズの矩形画像データは、色成分で複数のプレーンに割り当てられていることを特徴とする請求項２に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像メモリ上の画像データを読出して回転処理する画像処理装置に関する。
【背景技術】
【０００２】
プリンタや複写機などの画像処理装置において、入力された画像データ又は装置内に格納されている画像データを、例えば、９０度回転或いは２７０度回転させて、出力することがある。この画像データの回転としては、例えば、Ａ４用紙の長短方向を切り替えて印刷するような例が考えられるが、この場合、画像データを９０度回転させることにより用紙の収納状態を入れ変えずに印刷することができる。このような画像の回転処理を高速で行うのに、今までにも種々の提案がなされている。
【０００３】
例えば、特許文献１には、画像回転処理部と画像メモリのデータ転送で、メモリアクセスを、画像読出し時にはバーストアクセスで行い、画像書込み時にはシングルアクセスで行うことにより、高速な回転画像処理を実現する画像回転装置が開示されている。また、特許文献２には、画像データをメモリ上に格納する際に、１ラインのデータの最後に適切な量の無効データを追加することにより、現在のライン先頭データと、次のライン先頭データのバンクアドレスが連続するように調整している。これにより、通常のライン方向に順次データを読出してもバンクアドレスの連続性が保たれ、バンクインターリーブアクセスが可能となって、高速で回転画像を得ることができる装置が開示されている。
【特許文献１】特開２０００−７９７２３号公報
【特許文献２】特開２００５−１７４１４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示のように、回転処理前の画像データの読出しをバーストアクセスで行うことにより処理速度を速めることはできるが、回転処理後の書込みにはシングルアクセスで行うため、処理速度が十分図られているとは言えない。また、特許文献２に開示のように、画像データの構成を工夫することによりバンクインターリーブによるメモリへのアクセス速度を向上させることはできても、バーストサイズを大きくすると、回転回路規模も増大するということまでは考慮されていない。
【０００５】
メモリ上のデータの読出し及び書込みの際のメモリアクセスには、一般的に連続するアドレス領域に対して、バーストメモリアクセスで処理するのが効率的である。しかし、メモリ上にある画像データが９０度回転されて再書込みされる画像データは、不連続なアドレスとなり、シングルメモリアクセスすることとなるため効率的でない。このため、処理速度を向上させるには、回転処理前の読出し時だけでなく、回転処理後の書込み時に対してもバーストメモリアクセスで処理することが望ましいが、これには回転処理用のバッファと回転処理回路が巨大化するという問題がある。
【０００６】
本発明は上述した実情に鑑みてなされたもので、回転処理用の回路規模を増大させることなく、回転処理の前と後の画像データの読出しと書込みの際のメモリアクセスで、バーストアクセスのサイズを大きくして回転処理速度を向上させた画像処理装置の提供を目的する。
【課題を解決するための手段】
【０００７】
本発明による画像処理装置は、画像データを格納する画像メモリと、画像メモリへのデータ書込み及び読出しを制御するメモリコントローラと、画像メモリに格納された画像データから所定の単位サイズの矩形画像データを読出し、単位サイズの矩形画像データを回転させる画像回転処理手段を備え、回転後の単位サイズの矩形画像データを再度画像メモリに書込み、前記の読出しと書込みを繰り返して回転画像データを取得する画像処理装置である。前記の画像回転処理手段で回転させる単位サイズの矩形画像データを列状に複数並べて、単位サイズの矩形画像データの１辺のデータを超えるデータを連続するアドレス領域とし、回転させる単位サイズの矩形画像データより長いバースト長となるようにメモリアクセスして、単位サイズの矩形画像データの読出し及び書込みを行う。
また、列状に並べられる単位サイズの矩形画像データは、１つの画像データから抽出され、複数のプレーンに割り当てることができる。そして、画像データがカラー画像データである場合、複数の単位サイズの矩形画像データは、色成分で複数のプレーンに割り当てることができる。
【発明の効果】
【０００８】
本発明によれば、回転処理回路の回路規模を同じとすると、メモリアクセスの時間を短縮することができ、バーストアクセスを効率良く実行して、回転処理速度を速めることができる。
【発明を実施するための最良の形態】
【０００９】
図により本発明の概略を説明する。図１は本発明の対象とする画像処理装置の概略を説明する図である。図中、１は画像処理装置、２は画像入力装置、３は画像出力装置、４は画像入力部、５は画像メモリ、６はメモリコントローラ、７は画像出力部、８は制御部（ＣＰＵ）、９，１０はその他の画像処理部、１１は画像回転処理部を示す。
【００１０】
本発明による画像データを回転処理機能を備える画像処理装置１は、例えば、デジタル複合機等の画像形成装置に適用することができる。この画像処理装置１は、少なくとも、画像データが入力される画像入力部２と入力された画像を出力する出力装置３を有している。画像入力装置２は、ＦＤ，ＣＤ、ＵＳＢメモリ等の記録媒体を介しての入力、ネットワーク接続されたパソコン端末やファクシミリ等からの入力、原稿画像を直接読取るＣＣＤスキャナ等からの入力など各種の入力手段を用いることができ、画像入力部４を介して入力画像処理装置内に入力される。
【００１１】
これらの入力された画像データは、ＣＰＵを含む制御部８による制御によって、画像処理装置１内の画像処理部９，１０及び後述する画像回転処理手段としての画像回転処理部１１により回転処理され、画像出力部７を介して画像出力装置３により出力される。画像出力装置３は、用紙に印刷して出力する以外に、ディスプレイで表示したり、通信回線を通じて外部装置や、その他ＦＤ，ＣＤ、ＵＳＢメモリ等の記録媒体に格納して出力することができる。
【００１２】
画像入力装置２から入力された画像は、一旦、メモリコントローラ６により画像メモリ５に書込まれる。また、画像メモリ５に既に書込まれている画像データは、メモリコントローラ６により所定の画素数を回転の単位サイズとして読出し、画像回転処理部１１で所定の方向に回転させた後、再度、画像メモリ５の別の場所等に回転画像データとして書込まれる。なお、画像回転処理部１１では、単位サイズの画像を回転処理するための回転バッファ（図１１参照）を備える。画像メモリ５には、この回転した後の回転画像データを書込む領域を設定するようにしてもよいが、別途、他にメモリを設けるようにしてもよい。
【００１３】
図２は、画像回転の概略を説明する図で、画像メモリ上にある画像の回転状態をイメージで示したものである。図２（Ａ）に示すように、左側の画像Ａを反時計方向に９０回転させるとする。画像Ａの画像データは図２（Ｂ）に示すように、画像メモリの複数のメモリ領域にマトリックス状に分割されたデータで格納され、それぞれのメモリ領域に格納されたデータはＸ方向に読込まれて、９０度回転された後にＹ方向に書込まれる。したがって、回転後の画像データを読出す場合、回転前の画像データと読出し方向が異なる。
【００１４】
画像Ａの画像データは、例えば、図２（Ｂ）の左側の図に示すように、マトリックス状に配されたそれぞれメモリ領域のＸ方向に、分割されたデータ００，０１，０２，・・０Ｘ、・・・・・・、Ｙ０，Ｙ１，Ｙ２・・・ＹＸの順で格納される。そして、前記のメモリ領域のＹ方向には、データ００，１０，・・・Ｙ０、・・・・・・、０Ｘ，１Ｘ，・・・ＹＸの順で格納されるとする。このような配列で格納されたメモリ上の画像データを、図２（Ａ）のように９０度回転すると、図２（Ｂ）の右側の図に示すように分割されたデータの格納状態が変換される。すなわち、Ｘ方向には、分割されたデータ０Ｘ，１Ｘ，・・・ＹＸ、・・・・・・、００，１０，・・・Ｙ０の順で並ぶように格納され、Ｙ方向には、画像データのデータ０Ｘ，・・・０２，０１，００、・・・・・・、ＹＸ・・・，Ｙ２，Ｙ１，Ｙ０の順で並ぶように格納される。
【００１５】
また、図２（Ｃ）に示すように、各メモリ領域は多数のマトリックス状に配列された画素からなり、分割されたデータは、複数の単位データ（ｂｉｔ）データで構成されている。例えば、図２（Ｃ）の左側の図示すように、例えば、分割されたデータＹ０内の各単位データは、当該メモリ領域内の複数画素のＸ方向に、単位データ００，０１，０２，・・０Ｎ、・・・・・・、Ｍ０，Ｍ１，Ｍ２・・・ＭＮの順で格納され、Ｙ方向に単位データ００，１０，２０，・・・Ｍ０、・・・・・・、０Ｎ，１Ｎ，２Ｎ・・・ＭＮの順で格納されているとする。このように配列されたメモリ上の画像データを９０度回転すると、図２（Ｃ）の右側の図に示すように配列された単位データに変換される。すなわち、Ｘ方向に、単位データ０Ｎ，１Ｎ，２Ｎ，・・・ＭＮ、・・・・・・、００，１０，・・・Ｍ０の順で格納され、Ｙ方向に単位データ０Ｎ，・・・０２，０１，００、・・・・・・、ＭＮ，・・・Ｍ２，Ｍ１，Ｍ０の順で格納される。
【００１６】
図３は、入力されているメモリ上の画像を回転処理するために、メモリから画像データを読出すときのメモリアクセスについて説明する図である。図３（Ａ）は、シングルリードアクセス、図３（Ｂ）は４バーストリードアクセス、図３（Ｃ）は８バーストアクセスの例を示している。なお、メモリには、例えば、データのバーストモード転送に適したＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）を用いた例で説明する。
【００１７】
図において、クロック（ＣＬＫ））に同期して、ｔ＝０のタイミングで立ち上げ用のアクティブコマンド（ＡＣＴ）とローアドレスが入力され、次いで、ｔ＝２のタイミングでリードコマンド（ＲＥＡＤ）とカラムアドレスが入力され、ｔ＝４のタイミングで、リードデータが戻ってデータ（Ｄ１，Ｄ２・・・）の読出しが可能となる。この後、順次、新たなＡＣＴコマンドとＲＥＡＤコマンドで、指定アドレスデータの読出しが行われる。
【００１８】
図３（Ａ）のシングルリードアクセスでは、読出し可能な単位サイズのデータＤ１をアクセスして読出すのに、ｔ＝０〜４の合計５サイクル分で行われる。すなわち、５サイクルのタイミング時間毎に、ＡＣＴコマンドとＲＥＡＤコマンドが入力され、順次、１つの単位データをアクセスして転送する。
【００１９】
これに対し、図３（Ｂ）の４バーストリードアクセスの場合は、読出し可能な単位サイズのデータＤ１をアクセスして読出し、これに引続いてアドレスが連続する次の単位サイズのデータＤ２，Ｄ３，Ｄ４を、１つのＡＣＴコマンドとＲＥＡＤコマンドの入力で連続するアクセス領域として読出し、４つのデータＤ１〜Ｄ４をまとめて転送することができる。この場合、４つの単位サイズのデータ（Ｄ１〜Ｄ４）のそれぞれのアクセスに１サイクルを要するとして、ＡＣＴコマンドの入力から、合計８サイクル分のタイミング時間で読出すことができる。
【００２０】
また、図３（Ｃ）の８バーストリードアクセスの場合は、読出し可能な単位サイズのデータＤ１をアクセスし、これに引続いてアドレスが連続する次の単位サイズのデータＤ２〜Ｄ８を１つのＡＣＴコマンドとＲＥＡＤコマンドの入力で連続するアクセス領域として読出し、この８つのデータＤ１〜Ｄ８をまとめて転送することができる。この場合、８つの単位サイズのデータ（Ｄ１〜Ｄ８）のそれぞれのアクセスに１サイクルを要するとして、ＡＣＴコマンドの入力から、合計１２サイクル分のタイミング時間で読出すことができる。
【００２１】
図４は、図３で読出したメモリ上の画像を９０度回転処理した後、回転後の画像を再度メモリに書込むときのメモリアクセスについて説明する図である。図４（Ａ）は、シングルライトアクセス、図４（Ｂ）は４バーストライトアクセス、図４（Ｃ）は８バーストライトアクセスの例を示している。
【００２２】
図３で説明したのと同様に、クロック（ＣＬＫ））に同期して、まず、ｔ＝０のタイミングで立ち上げ用のアクティブコマンド（ＡＣＴ）とローアドレスが入力され、次いで、ｔ＝２のタイミングでライトコマンド（ＷＲＩＴＥ）の入力と同時に書込まれるデータが入力される。この後、順次、ＡＣＴコマンドとＷＲＩＴＥコマンドで、指定アドレスからのデータの書込みが行われる。
【００２３】
図４（Ａ）のシングルライトアクセスでは、書込み可能な単位サイズのデータＤ１をアクセスして書込むのに、例えば、ｔ＝０〜４の合計５サイクル分で行われるとする。すなわち、５サイクルのタイミング時間毎にＡＣＴコマンドとＷＲＩＴＥコマンドを入力し、順次、単位データをアクセスして書込みが行われる。
【００２４】
これに対し、図４（Ｂ）の４バーストライトアクセスの場合は、書込み可能な単位サイズのデータＤ１をアクセスして書込み、これに引続いてアドレスが連続する次の単位サイズのデータＤ２，Ｄ３，Ｄ４を連続アクセスして入力し、４つのデータを連続して書込むことができる。この場合、４つの単位サイズのデータ（Ｄ１〜Ｄ４）のそれぞれのアクセスに１サイクルを要するとして、ＡＣＴコマンドの入力から、合計８サイクル分のタイミング時間でアクセスすることができる。
【００２５】
また、図４（Ｃ）の８バーストリードアクセスの場合は、書込み可能な単位サイズのデータＤ１をアクセスして書込み、これに引続いてアドレスが連続する次の単位サイズのデータＤ２〜Ｄ８を連続アクセスして入力し、この８つのデータを連続して書込むことができる。この場合、８つの単位サイズのデータ（Ｄ１〜Ｄ８）のそれぞれのアクセスに１サイクルを要するとして、ＡＣＴコマンドの入力から、合計１２サイクル分のタイミング時間でアクセスすることができる。
【００２６】
図５〜図１０は、回転される単位サイズの画像データ領域の回転前と回転後のデータアクセス量を説明する図で、本発明の説明に先だって参考例として例示するものである。
図５〜図１０の左側の図は、画像メモリから読出す回転される単位サイズの画像データ領域（以下、回転単位画像データという）の画素データの配列を示し、右側の図は９０度回転後の回転単位画像データの画素データの配列を示している。
【００２７】
図５は、通常のデジタルデータの単位データとされている８画素（８ｂｉｔ＝１ｂｙｔｅ）×１ラインの画素配列状態を、回転単位画像データとした例である。このデータ読出しのライン方向（横方向）に、８画素に対応する画像データが一列に格納されている状態を示している。この回転単位画像データは、回転前の読出し時はアドレス付与のライン方向に沿って１ライン分（１回）のアクセスで読出すことができる。この回転単位画像データが９０度回転されると、１画素分のデータが上下方向（図の縦方向）に８ライン分並んで、１画素×８ラインの画素配列状態となる。この結果、回転後の回転単位画像データを書込むには、１画素のデータを８ライン分（８回）アクセスして書込むこととなる。
【００２８】
図６は、８画素（１ｂｙｔｅ）×８ラインの正方形状に配列した矩形の画素配列状態を、回転単位画像データとした例である。この回転単位画像データは、ライン方向に１ｂｙｔｅ分の画素データが縦方向に８ライン分配列されているので、回転前の読出し時は１ｂｙｔｅのデータをライン方向（図の横方向）に沿って８回アクセして読出される。この回転単位画像データが９０度回転されると、ライン方向には回転前と同様に１ｂｙｔｅ分のデータが並び、縦方向にも８ライン分の画素が並ぶ。この結果、回転後の回転単位画像データを書込むには、回転前と同様に、１ｂｙｔｅのデータを８ライン分（８回）アクセスして書込むこととなる。
【００２９】
図７は、図６の回転単位画像データの８倍分のデータに相当する６４画素（８ｂｙｔｅ）×８ラインの長方形状に配列した矩形の画素配列状態を、回転単位画像データとした例である。この回転単位画像データは、ライン方向に８ｂｙｔｅ分の画素データが縦方向に８ライン分配列されているので、回転前の読出し時は８ｂｙｔｅのデータをライン方向に沿って８回アクセスして読出される。この回転単位画像データが９０度回転されると、ライン方向には１ｂｙｔｅ分の画素データが並び、縦方向には６４ライン分の画素が並ぶ。この結果、回転後の回転単位画像データを書込むには、回転前の８回のアクセスに対して、１ｂｙｔｅのデータを８倍の６４ライン分（６４回）アクセスして書込むこととなる。
【００３０】
図８は、図７の回転単位画像データの８倍分のデータに相当する６４画素（８ｂｙｔｅ）×６４画素（８ｂｙｔｅ）の正方形状に配列した矩形の画像配列状態を、回転単位画像データとした例である。この回転単位画像データは、ライン方向に８ｂｙｔｅ分の画素データが縦方向に６４ライン分配列されているので、回転前の読出し時は８ｂｙｔｅのデータをライン方向に沿って６４回アクセスして読出される。この回転単位画像データが９０度回転されると、ライン方向には８ｂｙｔｅ分のデータが並び、縦方向には６４ライン分の画素が並ぶこととなる。この結果、回転後の画像データを書込むには、回転前と同様に、８ｂｙｔｅのデータを６４ライン分（６４回）アクセスして書込むこととなる。
【００３１】
図９は、図８の回転単位画像データの８倍分のデータに相当する２５６画素（３２ｂｙｔｅ）×６４ラインの長方形状に配列した矩形の画素配列状態を、回転単位画像データとした例である。この回転単位画像データは、ライン方向に３２ｂｙｔｅ分の画素データが縦方向に６４ライン分配列されているので、回転前の読出し時は３２ｂｙｔｅのデータをライン方向に沿って６４回アクセスして読出される。この回転単位画像データが９０度回転されると、ライン方向には８ｂｙｔｅ分のデータが並び、縦方向には２５６ライン分の画素が並ぶこととなる。この結果、回転後の画像データを書込むには、回転前の６４回のアクセス対して、８ｂｙｔｅのデータを８倍の２５６ライン分（２５６回）アクセスして書込むこととなる。
【００３２】
図１０は、図９の回転単位画像データの４倍分のデータに相当する２５６画素（６４ｂｙｔｅ）×２５６ラインの正方形状に配列した矩形の画素配列状態を、回転単位画像データとした例である。この回転単位画像データは、ライン方向に３２ｂｙｔｅ分の画素データが縦方向に２５６ライン分配列されているので、回転前の読出し時は３２ｂｙｔｅのデータをライン方向に沿って２５６回アクセスして読出される。この回転単位画像データが９０度回転されると、ライン方向には３２ｂｙｔｅ分のデータが並び、縦方向にも２５６ライン分の画素が並ぶこととなる。この結果、回転後の画像データを書込むには、回転前と同様、３２ｂｙｔｅのデータを２５６ライン分（２５６回）アクセスして書込むこととなる。
【００３３】
上述した図５〜図１０に示した回転単位画像データは、その回転処理には回転単位画像データの画素数に等しい記憶素子を持つ回転バッファが必要となる。図１１は、回転バッファの一例を示す図で、マトリクス状に配された複数の記憶素子によって構成される回転バッファと、回転バッファに入力される回転前の画像データおよび回転バッファから出力される回転後の画像データの配列を示している。各記憶素子は、格子状に走るワード線とビット線の交差点に配置され、例えば、各記憶素子はフリップフロップよって構成される。図に示す回転バッファは、図６で説明した８画素×８ライン用の例で、合計６４個の記憶素子を有している。
【００３４】
すなわち、回転単位画像データのサイズが大きいと、回転処理のためのバッファ容量も大きくなるが、回転処理の操作回数も少なくて回転処理速度が早くなる。一方、回転単位画像データのサイズを小さくすると、回転処理のためのバッファ容量は小さくてすむが、回転処理の操作回数が多くなるとともに、画像データの読取り書込みの際のデータアクセスにも時間がかかるという問題が生じる。
【００３５】
したがって、本発明においては、上述のようなことから回転処理のためのメモリ容量をあまり大きくすることなく、しかも、画像データの読取り書込み時におけるデータアクセスの時間を少なくして、効率よく画像の回転処理を実現することにある。以下に、本発明の概略を説明する。
【００３６】
図１２は、本発明の実施形態の一例を説明する図である。本実施形態では、上述した回転単位画像データは、図８において説明したのと同様な一辺を８ｂｙｔｅの画素数として６４画素（８ｂｙｔｅ）×６４ラインの正方形状に配列した矩形の回転単位画像データを４組で形成している。なお、４組の回転単位画像データ（以下、画像Ａ、画像Ｂ，画像Ｃ，画像Ｄという）で、一頁分の画像を形成するものとする。
【００３７】
この場合、４つの画像Ａ、画像Ｂ，画像Ｃ，画像Ｄは、それぞれの画像を個別に格納するプレーンメモリを用いて処理することができ、したがって、４つのプレーンで構成される個別の回転単位画像データで処理することができる。また、画像データがカラー画像である場合、４つの画像Ａ、画像Ｂ，画像Ｃ，画像Ｄは、例えば、カラー画像のＹ（イエロー）、Ｍ（マゼンダ）、Ｃ（シアン）、Ｋ（黒）を想定したプレーンで処理することができる。メモリから読み出された４つのプレーン画像Ａ，画像Ｂ，画像Ｃ，画像Ｄは、図１１で説明したような回転バッファでそれぞれ個別に９０度回転処理される。このため、本実施形態では、４つの回転バッファを備え、同時に回転処理されることとなる。なお、１頁分の画像領域を４分割した画像データとしてもよい。
【００３８】
上記の画像Ａ、画像Ｂ，画像Ｃ，画像Ｄの４つのプレーン画像は、それぞれがライン方向に８ｂｙｔｅで、縦方向に６４ライン分の画素が配列されている。したがって、回転処理のためにそれぞれのプレーン画像毎にデータアクセスして読出すとすれば、８ｂｙｔｅのデータをライン方向に沿って（６４×４＝２６５）回アクセスして読出すこととなる。しかし、画像Ａ，画像Ｂ，画像Ｃ，画像Ｄの４つのプレーン画像をライン方向に一列に並べて連続したアドレス領域としておくことにより、４つのプレーン画像はライン方向に（８ｂｙｔｅ×４プレーン＝３２ｂｙｔｅ）で、縦方向に６４ライン分の画素が配列されていることになる。このため、画像回転前の読出し時には、３２ｂｙｔｅのデータをライン方向（図の横方向）に沿って６４回アクセスして読出すことができる。
【００３９】
前記のようにして読出され回転処理された画像Ａ，画像Ｂ，画像Ｃ，画像Ｄのプレーン画像は、例えば、読出された画像メモリの別の領域に書込まれる。本発明では、それぞれが回転された４つの画像Ａ、画像Ｂ，画像Ｃ，画像Ｄが、ライン方向に連続してアクセス可能なようにアドレスを与える。これにより、回転された４つのプレーン画像Ａ、画像Ｂ，画像Ｃ，画像Ｄは、ライン方向に（８ｂｙｔｅ×４プレーン＝３２ｂｙｔｅ）で縦方向に６４ライン分の画素が配列される。この結果、画像回転後の画像データを書込むには、回転前と同じように、３２ｂｙｔｅのデータをライン方向に沿って６４回アクセスして書込むことができる。
【００４０】
次に、図１３により、メモリにアクセスする単位データとアクセス時間との関係について説明する。データの読出し書込みに際して、メモリの単位データに付与されるアドレスをアクセスするが、このためのメモリアクセス時間が必要となる。なお、図１３には、６４ｂｉｔ（８ｂｙｔｅ）のデータ量以下を１アクセスの単位データとし、３２ｂｙｔｅ分（４単位データ分）をアクセスするときのサイクル数が示されている。このサイクル数は、図３又は図４のメモリアクセスに関するタイミングチャートで例示したサイクル数である。
【００４１】
アクセス単位が「１ｂｉｔ」の場合は、最少単位データ毎のアクセスで、図３（Ａ）又は図４（Ａ）のシングルアクセスとなる。この場合、単位データＤ１をアクセスするのに５サイクルを要し、３２ｂｙｔｅ分のデータをアクセスするには、１２８０サイクルのアクセスタイムを要する。
【００４２】
アクセス単位が「１ｂｙｔｅ」の場合は、８ｂｉｔの単位データで、６４ｂｉｔ以下の単位データであるので、この場合も、図３（Ａ）又は図４（Ａ）のシングルアクセスとなる。この場合、単位データＤ１をアクセスするのに５サイクルを要し、３２ｂｙｔｅ分のデータをアクセスするには、１６０サイクルのアクセスタイムを要する。
【００４３】
アクセス単位が「８ｂｙｔｅ」の場合は、６４ｂｉｔの単位データであるので、この場合も、図３（Ａ）又は図４（Ａ）のシングルアクセスとなる。この場合、単位データＤ１をアクセスするのに５サイクルを要し、３２ｂｙｔｅ分のデータをアクセスするには、２０サイクルのアクセスタイムを要する。
【００４４】
アクセス単位が「３２ｂｙｔｅ」の場合は、６４ｂｉｔ×４のデータ量で、メモリが６４ｂｉｔを１単位としているので、４単位のアクセスデータとなる。したがって、この場合は、図３（Ｂ）又は図４（Ｂ）の４バースアクセスとなる。この場合、４つの単位データＤ１〜Ｄ４を連続してアクセスするので８サイクルを要し、３２ｂｙｔｅ分のデータをアクセスするには、８サイクルのアクセスタイムを要する。
【００４５】
アクセス単位が「６４ｂｙｔｅ」の場合は、６４ｂｉｔ×８のデータ量となるが、メモリが６４ｂｉｔを１単位としているので、８単位のアクセスデータとなる。したがって、この場合は、図３（Ｃ）又は図４（Ｃ）の８バースアクセスとなる。この場合、８つの単位データＤ１〜Ｄ８を連続してアクセスするので１２サイクルを要し、３２ｂｙｔｅ分のデータをアクセスするには、６サイクルのアクセスタイムを要する。
【００４６】
次に、図１４により、上述した図５〜図１０、図１２で説明した各回転単位画像データに対するメモリアクセス時間と回転回路規模について説明する。
まず、図５に示した８画素（１ｂｙｔｅ）×１ラインの回転単位画像データの場合について説明する。この回転単位画像データは、図１３で示したように、リードアクセス単位（１ｂｙｔｅ）で２５６画素（３２ｂｙｔｅ）分のメモリアクセス時間が１６０サイクル、ライトアクセス単位（１ｂｉｔ）で同１２８０サイクル、両者の合計のメモリアクセス時間は、１４４０サイクルである。これに要する回転回路規模は８記憶素子である。
【００４７】
図６の８画素（１ｂｙｔｅ）×８ラインの回転単位画像データの例について説明する。この回転単位画像データは、リードアクセス単位（１ｂｙｔｅ）で２５６画素（３２ｂｙｔｅ）分のメモリアクセス時間が１６０サイクル、ライトアクセス単位（１ｂｙｔｅ）で同１６０サイクル、両者の合計のメモリアクセス時間は、３２０サイクルである。これに要する回転回路規模は８×８の６４記憶素子である。
【００４８】
図７の６４画素（８ｂｙｔｅ）×８ラインの回転単位画像データの例について説明する。この回転単位画像データは、リードアクセス単位（８ｂｙｔｅ）で２５６画素（３２ｂｙｔｅ）分のメモリアクセス時間が２０サイクル、ライトアクセス単位（１ｂｙｔｅ）で同１６０サイクル、両者の合計のメモリアクセス時間は、１８０サイクルである。これに要する回転回路規模は６４×８の５１２記憶素子である。
【００４９】
図８の６４画素（８ｂｙｔｅ）×６４ラインの回転単位画像データの例について説明する。この回転単位画像データは、リードアクセス単位（８ｂｙｔｅ）で２５６画素（３２ｂｙｔｅ）分のメモリアクセス時間が２０サイクル、ライトアクセス単位（８ｂｙｔｅ）で同２０サイクル、両者の合計のメモリアクセス時間は、４０サイクルである。これに要する回転回路規模は６４×６４の４０９６記憶素子である。
【００５０】
図９の２５６画素（３２ｂｙｔｅ）×６４ラインの回転単位画像データの例について説明する。この回転単位画像データは、リードアクセス単位（３２ｂｙｔｅ）で２５６画素（３２ｂｙｔｅ）分のメモリアクセス時間が８サイクル、ライトアクセス単位（８ｂｙｔｅ）で同２０サイクル、両者の合計のメモリアクセス時間は、２８サイクルである。これに要する回転回路規模は２５６×６４の１６３８４記憶素子である。
【００５１】
図１０の２５６画素（３２ｂｙｔｅ）×２５６ラインの回転単位画像データの例について説明する。この回転単位画像データは、リードアクセス単位（３２ｂｙｔｅ）で２５６画素（３２ｂｙｔｅ）分のメモリアクセス時間が８サイクル、ライトアクセス単位（３２ｂｙｔｅ）で同８サイクル、両者の合計のメモリアクセス時間は、１６サイクルである。これに要する回転回路規模は２５６×２５６の６５５３６記憶素子となり、極めて大きなメモリ容量が必要となる。
【００５２】
上記の図５〜図１０の回転単位画像データを回転領域とする例に対して、本発明に係る図１２の例は、６４画素（８ｂｙｔｅ）×６４ライン×４プレーンとしている。この回転領域は、リードアクセス単位（３２ｂｙｔｅ）で３２ｂｙｔｅ分のメモリアクセス時間が８サイクル、ライトアクセス単位（３２ｂｙｔｅ）で同８サイクルで、両者の合計のメモリアクセス時間は、１６サイクルである。これに要する回転回路規模は６４×６４×４の１６３８４記憶素子である。
【００５３】
図１４に示すように、回転単位画像データのサイズを大きくすると、メモリアクセス時間は少なくなるが、回転回路規模は次第に大きくなり回転バッファの容量を大きくする必要があることがわかる。また、回転単位画像データが図６、図８、図１０のように、正方形状の矩形画像データである場合は、メモリアクセス時間は、リードアクセスとライトアクセスで同じであり、アクセス時間に関しては効率的であると言える。しかし、回転回路規模が大きくなり、実際的ではない。
【００５４】
しかし、本発明による図１２の回転領域（６４画素×６４ライン×４プレーン）と、参考例の図９の回転領域（２５６画素×６４ライン）とを比較すると、回転処理に必要とする回転回路規模は、共に１６３８４記憶素子で同じである。また、メモリの３２ｂｙｔｅ分のメモリアクセス時間において、リードアクセス時間は共に８サイクルと同じである。しかし、ライトアクセス時間は、本発明の図１２図の場合は、８サイクルでリードとライトの合計で１６サイクルを要するのに対し、参考例の図９の場合は２０サイクルでリードとライトの合計で２８サイクルを要している。
【００５５】
本発明は、図１２に示すような形態で画像回転できるように、画像メモリ上の画像データのアドレスを、回転させる単位サイズの複数の矩形画像データ（例えば、４つの画像Ａ〜画像Ｄ）に付し、データ読出し方向に列状に並べる。そして、列状に並べられた複数の矩形画像データをライン方向で連続するアクセス領域として画像データを読出し、回転処理部にデータを転送する。すなわち、単位サイズ矩形画像データの１辺のデータより長い整数倍（単位サイズ１辺のデータ長の整数倍）のデータ分のメモリを連続してアクセスする。これは、図３で説明したメモリアクセスにおいて、４バーストリードアクセスに該当するもので、回転させる単位サイズの矩形画像データより長いバースト長でメモリにアクセスして読出す、と言いかえることができる。
【００５６】
そして、回転処理により回転された後の単位サイズの複数の矩形画像データは、回転前と同様の順序でデータ読出し方向のライン方向に列状に並べられる。この回転された後の列状に並べられた複数の矩形画像データは、再度画像メモリに書込むためにライン方向に連続アクセスされ、画像回転処理部からデータを転送して画像メモリに書込まれる。すなわち、この回転後のデータ書込みに際しても、読出し時と同様に、単位サイズ矩形画像データの１辺のデータより長い整数倍のデータ分のメモリに連続してアクセス可能とする。これは、図４で説明したメモリアクセスで、４バーストライトアクセスに該当するもので、回転された単位サイズの矩形画像データより長いバースト長でメモリにアクセスして書込む、と言いかえることができる。
【００５７】
上述のように画像処理装置の画像回転処理を実行するように構成することにより、回転処理部の回路規模を大きくすることなく、画像データの読取り書込み時のメモリアクセス時間を効率よく短縮して、画像の回転処理速度を向上させることができる。
【図面の簡単な説明】
【００５８】
【図１】本発明が適用される画像処理装置の概略を説明する図ある。
【図２】画像回転についての概略をイメージで説明する図である。
【図３】データ転送のバーストリードアクセスについて説明する図である。
【図４】データ転送のバーストライトアクセスについて説明する図である。
【図５】（８画素×１ライン）の回転単位画像データについて説明する図である。
【図６】（８画素×８ライン）の回転単位画像データについて説明する図である。
【図７】（６４画素×８ライン）の回転単位画像データについて説明する図である。
【図８】（６４画素×６４ライン）の回転単位画像データについて説明する図である。
【図９】（２５６画素×６４ライン）の回転単位画像データについて説明する図である。
【図１０】（２５６画素×２５６ライン）の回転単位画像データについて説明する図である。
【図１１】回転の一例を示す図である。
【図１２】本発明の実施形態の一例を説明する図である。
【図１３】メモリアクセス単位データとアクセス時間との関係を説明する図である。
【図１４】回転単位画像データに対するメモリアクセス時間と回転回路規模を説明する図である。
【符号の説明】
【００５９】
１…画像処理装置、２…画像入力装置、３…画像出力装置、４…画像入力部、５…メモリ、６…メモリコントローラ、７…画像出力部、８…制御部、９，１０…その他の画像処理部、１１…画像回転処理部。
【図１】
2008136125.tif 000003
【図２】
2008136125.tif 000004
【図３】
2008136125.tif 000005
【図４】
2008136125.tif 000006
【図５】
2008136125.tif 000007
【図６】
2008136125.tif 000008
【図７】
2008136125.tif 000009
【図８】
2008136125.tif 000010
【図９】
2008136125.tif 000011
【図１０】
2008136125.tif 000012
【図１１】
2008136125.tif 000013
【図１２】
2008136125.tif 000014
【図１３】
2008136125.tif 000015
【図１４】
2008136125.tif 000016