(57)【特許請求の範囲】
【請求項１】
画像データを記憶する記憶手段を有し、この記憶手段に設定された回転角度に応じて回転処理を施して画像データを格納するか、または、この記憶手段に記憶された画像データを設定された回転角度に応じた回転処理を施して読み出すことによって回転機能を実現する画像処理装置において、
前記記憶手段内の画像データにアクセスする際に、一度に読み出せるデータのバースト長を２としてアクセスし、ラインごとにアドレス制御を昇順、降順に切り替えてアクセスすることを特徴とする画像処理装置。
【請求項２】
複数のダイレクト・メモリ・アクセス・コントローラ（ＤＭＡＣ）が共通の前記記憶手段にアクセスする回路において、前記複数のダイレクト・メモリ・アクセス・コントローラの調整を行う際にアドレス制御方法も調整の要因にすることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
画像データを記憶する記憶手段を有し、この記憶手段に設定された回転角度に応じて回転処理を施して画像データを格納するか、または、この記憶手段に記憶された画像データを設定された回転角度に応じた回転処理を施して読み出すことによって回転機能を実現する画像処理装置において、
前記記憶手段内の画像データにアクセスする際に、データの並びをラインごとにアドレスの昇順、降順に切り替えて配置し、一度に読み出せるデータのバースト長を２としてアクセスすることを特徴とする画像処理装置。
【請求項４】
回転角度のメモリ上の配列の行と列とを切り替える行列切り替え手段を有することを特徴とする請求項１ないし請求項３のいずれかに記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置に関し、特に画像に回転処理を施して回転された画像を出力する画像処理装置に関する。
【０００２】
【従来の技術】
プリンタや複写機などの画像処理装置において、近年、画像データを９０度、１８０度、２７０度回転させる機能を有する高機能なデジタル画像処理装置が開発されてきている。これらの画像処理装置は、画像データを記憶するページメモリを有し、設定された回転角度に応じた回転処理を施して画像データをページメモリに格納したり、ページメモリに記憶された画像データを回転処理を施して画像データを読み出してすることで回転機能を実現する。ところで、このように回転画像を形成するためには、読み出しか書き込みのどちらかにおいてメモリにシングルアクセスでアクセスする必要があるため、効率が非常に悪くシステムの効率、生産性を低下させている。
【０００３】
この問題を解決するため、従来から、いろいろな提案がなされているが、何らかのラインバッファやメモリを画像データの一時格納用に設けるようにしているため、メモリの大きさには大小があっても回路規模の増大につながっている。また、回路規模の増大は消費電力の増加につながり、さらにクロックが大量のドライブを必要とするラインバッファやメモリではとくに大きな影響を与える。
また、通常ページメモリは回転のために専用に設けられることはほとんどなく、多くのインターフェースや画像処理回路と共有して使用される。そのためメモリアービタ機能をもつ回路によって時分割され順次アクセスされる。そのためアドレス制御の設定切り替えが、繰り替えされれば繰り替えされるほどパホーマンスの低下につながる。
また、メモリ配列の角度を固定すると、バンク数で制限される方向のメモリ配列角度のパホーマンスがいつもその他の角度より悪くなるという問題がある。
【０００４】
【発明が解決しようとする課題】
上述のごとく、従来の回転機能を有する画像処理装置は、読み出しか書き込みのどちらかがシングルアクセスでメモリアクセスする必要があるため、効率が非常に悪く生産性を低下させているという問題があった。また、アドレス制御の設定切り替えがパホーマンスの低下につながるという問題があった。また、メモリ配列の角度を固定すると、バンク数で制限される方向のメモリ配列角度のパホーマンスが悪くなるという問題があった。
本発明は、比較的簡単にこの問題を解決して、どの回転角の場合でも直接バーストアクセスでき、回路規模を縮小し、かつ効率を向上することができる画像処理装置の実現を課題とする。
【０００５】
【課題を解決するための手段】
上記課題を達成するため、本発明の請求項１の発明は、画像データを記憶する記憶手段を有し、この記憶手段に設定された回転角度に応じて回転処理を施して画像データを格納するか、または、この記憶手段に記憶された画像データを設定された回転角度に応じた回転処理を施して読み出すことによって回転機能を実現する画像処理装置において、前記記憶手段内の画像データにアクセスする際に、一度に読み出せるデータのバースト長を２としてアクセスし、ラインごとにアドレス制御を昇順、降順に切り替えてアクセスすることを特徴とする。
これにより、直接バーストアクセスでき、システムパホーマンスを極端に低下させることなく、また回転画像生成のために新規のバッファやメモリを必要としない回転機能を有する画像処理装置を実現することができる。
【０００６】
また、本発明の請求項２の発明は、複数のダイレクト・メモリ・アクセス・コントローラ（ＤＭＡＣ）が共通の前記記憶手段にアクセスする回路において、前記複数のダイレクト・メモリ・アクセス・コントローラの調整を行う際にアドレス制御方法も調整の要因にすることを特徴とする。
これにより、メモリアービタ回路の優先要因の１つに現在のアドレス制御を追加し、極力アドレス切り替えをなくして、パホーマンスの低下を抑制することが可能な画像処理装置を実現することができる。
【０００７】
また、本発明の請求項３の発明は、画像データを記憶する記憶手段を有し、この記憶手段に設定された回転角度に応じて回転処理を施して画像データを格納するか、または、この記憶手段に記憶された画像データを設定された回転角度に応じた回転処理を施して読み出すことによって回転機能を実現する処理装置において、前記記憶手段内の画像データにアクセスする際に、データの並びをラインごとにアドレスの昇順、降順に切り替えて配置し、一度に読み出せるデータのバースト長を２としてアクセスすることを特徴とする。
これにより、直接バーストアクセスでき、システムパホーマンスを極端に低下させることなく、また回転画像生成のために新規のバッファやメモリを必要としない回転機能を有する画像処理装置を実現することができる。
【０００８】
また、本発明の請求項４の発明は、回転角度のメモリ上の配列の行と列とを切り替える行列切り替え手段を有することを特徴とする。
これにより、メモリ配列上の角度を切り替え設定することにより、最大バースト長を長くし、メモリアクセスのオーバーヘッドを少なくしパホーマンスを良くすることが可能な回転機能を有する画像処理装置を実現することができる。
【０００９】
【発明の実施の形態】
以下、本発明にかかる画像処理装置を添付図面を参照にして詳細に説明する。
【００１０】
図１にページメモリ配列の概念図を示す。ライン数６、１ラインのデータ数１６、バンク数４で説明するがライン数、データ数、バンク数を限定するものではない。図１中Ｒｏｗ０、Ｒｏｗ１はローアドレス、Ｂ０〜Ｂ３はバンクアドレス、Ｃ０〜Ｃ１１はコラムアドレスをあらわす。
【００１１】
本発明では、画像の回転角度に応じた回転処理を以下に述べるように行う。
画像回転角０度のときのデータをライン１の１番目から１６番目にアクセスする場合、１番目−２番目のデータはアドレス（Ｒｏｗ０、Ｂ０、Ｃ０）にアドレス昇順でＣ０−Ｃ１とアクセスする。３番目−４番目のデータはＢ０をＢ１に、５番目−６番目のデータはＢ０をＢ２に、７番目−８番目のデータはＢ０をＢ３にして同様にアクセスする。この場合、交互にバンクアクセスできるため、データバス上は１番目〜８番目のデータは連続している。すなわち８バースト動作している場合の実実行時間と同じである。次に９番目〜１６番目のデータはローアドレスをＲｏｗ０からＲｏｗ１に変更し、バンクアドレス、コラムアドレスは１番目〜８番目と同様にアクセスする。
【００１２】
次に、ライン２の１番目から１６番目にアクセスする場合、最初にアドレスアクセスを昇順から降順にセットする。
１番目−２番目のデータはアドレス（Ｒｏｗ０、Ｂ０、Ｃ３）にＣ３−Ｃ２とアクセスする。３番目〜１６番目のデータはライン１のアクセスでコラムアドレスがＣ３−Ｃ２に変わるだけでその他は同じアクセスである。
ライン３、ライン５のアクセスは、ライン１のアクセスでコラムアドレスをライン３の時はＣ４、ライン５の時はＣ８とし、最初にアドレスアクセスを降順から昇順にセットする。そのあとのアクセスはライン１の場合とコラムアドレスが異なるだけでその他は同様で行う。
ライン４、ライン６のアクセスは、ライン２のアクセスでコラムアドレスが、ライン４の時はＣ７、ライン６の時はＣ１１になるだけでその他は同様である。
すなわち偶数ライン、奇数ラインともそれぞれ基準のコラムアドレスからラインが進むごとにコラムアドレスで４ずつ増加してアクセスされる。
【００１３】
一方、画像回転９０度（時計回り）の時は、ライン６〜ライン１の１番目のデータが、最初のラインのデータになる。
まず、アドレス（Ｒｏｗ０、Ｂ０、Ｃ１１）にシングルアクセスする。次にアドレス（Ｒｏｗ０、Ｂ０、Ｃ８）にアドレス降順でＣ８−Ｃ７とアクセスする。次にアドレス（Ｒｏｗ０、Ｂ０、Ｃ４）にＣ４−Ｃ３とアクセスする。ここで、この２つのアクセスは共通のローアドレス、バンクに対するアクセスで、実実行時間は４バーストと同じになる。最後にアドレス（Ｒｏｗ０、Ｂ０、Ｃ０）にシングルアクセスする。
【００１４】
次のラインは、ライン６〜ライン１の２番目のデータになる。この時はまずアドレス（Ｒｏｗ０、Ｂ０、Ｃ１０）にＣ１０−Ｃ９とアクセスし、次はアドレス（Ｒｏｗ０、Ｂ０、Ｃ６）にＣ６−Ｃ５とアクセスし，最後にアドレス（Ｒｏｗ０、Ｂ０、Ｃ２）にＣ２−Ｃ１とアクセスする。この時も共通ローアドレス、バンクへのアクセスで６個のデータがデータバス上に連続している。すなわち６バースト動作している場合の実実行時間と同じである。
ライン６〜ライン１の３番目、５番目、７番目のアクセスは、１番目のＢ０がそれぞれＢ１、Ｂ２、Ｂ３に変更した上で、１番目と同様のアクセスで、９番目、１１番目、１３番目、１５番目は、それぞれ１番目、３番目、５番目、７番目のアクセスでＲｏｗ０がＲｏｗ１に変わる同様のアクセスになる。また４番目、６番目、８番目のアクセスは、２番目のアクセスでそれぞれＢ０がそれぞれＢ１、Ｂ２、Ｂ３に変わるだけで、２番目と同様のアクセスになる。１０番目、１２番目、１４番目、１６番目は、それぞれ２番目、４番目、６番目、８番目のアクセスでＲｏｗ０がＲｏｗ１に変わる同様のアクセスになる。
【００１５】
画像回転１８０度（時計回り）の時は、ライン６の１６番目〜１番目が、最初のラインのデータになる。まずアドレス（Ｒｏｗ１、Ｂ３、Ｃ１０）でアドレス昇順でＣ１０−Ｃ１１と１６番目−１５番目のデータをアクセスする。１４番目−１３番目のデータは、Ｂ３をＢ２に、１２番目−１１番目のデータはＢ１、１０番目−９番目のデータはＢ０に同様にアクセスする。この場合、交互バンクアクセスのため、０度と同様に８バースト動作になる。次に８番目〜１番目のデータはローアドレスをＲｏｗ１からＲｏｗ０に変更し、バンクアドレス、コラムアドレスは１番目〜８番目と同様にアクセスする。
【００１６】
次のラインのデータは、ライン５の１６番目〜１番目のデータで、最初にアドレスアクセスを昇順から降順にセットする。１６番目−１５番目のデータはアドレス（Ｒｏｗ１、Ｂ３、Ｃ９）にＣ９−Ｃ８とアクセスする。
１４番目〜１番目のデータは最初のラインアクセスで、コラムアドレスがＣ１０−Ｃ９からＣ９−Ｃ８に変わるだけでその他は同様である。それ以後のラインは奇数ライン、偶数ラインで同様の動作になるが、それぞれラインが進むごとにコラムアドレスが４ずつ減少していく。また偶数・奇数のラインの切り替わりでアドレスアクセスが降順・昇順に切り替わる。
【００１７】
画像回転２７０度（時計回り）の時は、ライン１〜ライン６の１６番目のデータが、最初のラインのデータになる。まずアドレス（Ｒｏｗ１、Ｂ３、Ｃ１）にアドレス昇順でＣ１−Ｃ２とアクセスする。次にアドレス（Ｒｏｗ１、Ｂ３、Ｃ５）にＣ５−Ｃ６、また、アドレス（Ｒｏｗ１、Ｂ３、Ｃ９）にＣ９−Ｃ１０とアクセスする。この時は９０度と同様６バースト動作になる。
【００１８】
次のラインのデータはライン１〜ライン６の１５番目で、まずアドレス（Ｒｏｗ１、Ｂ３、Ｃ０）にシングルアクセスする。
次にアドレス（Ｒｏｗ１、Ｂ３、Ｃ３）にＣ３−Ｃ４、アドレス（Ｒｏｗ１、Ｂ３、Ｃ７）にＣ７−Ｃ８とアクセスする。これで４バースト動作になる。最後にアドレス（Ｒｏｗ１、Ｂ３、Ｃ１１）にシングルアクセスする。
ライン１〜ライン６の１４番目、１２番目、１０番目のアクセスは、１６番目のＢ３がそれぞれＢ２、Ｂ１、Ｂ０で１６番目と同様のアクセスで実現でき、８番目、６番目、４番目、２番目は、それぞれ１６番目、１４番目、１２番目、１０番目のアクセスでＲｏｗ１がＲｏｗ０に変わるだけの同様のアクセスになる。また１３番目、１１番目、９番目のアクセスは、１５番目のアクセスでそれぞれＢ３がＢ２、Ｂ１、Ｂ０に変わるだけで、１５番目と同様のアクセスになる。
さらに、７番目、５番目、３番目、１番目は、それぞれ１５番目、１３番目、１１番目、９番目のアクセスでＲｏｗ１がＲｏｗ０に変わるだけの同様のアクセスになる。
【００１９】
このように、画像データのメモリアクセス時の基本バースト長を２に限定し、偶数ラインと奇数ラインでメモリアクセス時のアドレス制御を昇順、降順に切り替えることにより、ページメモリへの回転アクセスを行う場合に、どの回転角（９０度、１８０度、２７０度、０度）でも直接バーストアクセスでき、システムパホーマンスを極端に低下させることがない。また回転画像生成のために新規のバッファやメモリを必要としない。したがって、従来に比べ回路規模も縮小でき、コストの削減、消費電力削減を実現できる。
【００２０】
図２に、本発明の画像処理装置のダイレクト・メモリ・アクセス・コントローラ（ＤＭＡＣ）とメモリアービタ回路を含むページメモリ周辺のブロック図を示す。ここで、符号１はＤＭＡＣ１、符号２はＤＭＡＣ２、符号３はメモリアービタ回路、符号４はメモリインタフェース（Ｉ／Ｆ）回路、符号５はページメモリである。
ダイレクト・メモリ・アクセス・コントローラをＤＭＡＣ１（１）とＤＭＡＣ２（２）の２つで説明するが、これは数を限定するものではなく、数は４でも２０でもいくつでもかまわない。
【００２１】
ページメモリは回転専用にもつことはほとんどなく、多くのインターフェースや画像処理回路と共有して使用される。そのためメモリアービタ機能をもつ回路によって時分割され順次アクセスされる。そのためアドレス制御の設定切り替えが繰り替えされれは、繰り替えされるほどパホーマンスの低下につながる。この点を解決する方法を示す。
【００２２】
図中、画像データ１はＤＭＡＣ１（１）とページメモリ５とでアクセスされる画像データで、ＤＭＡＣ１（１）には、動作する回転角度を設定する角度設定回路１３と画像のライン制御をするライン制御回路１２とアドレスを出力するアドレス制御回路１１、データの入出力を行うデータ制御回路１４が含まれている。ＤＭＡＣ１（１）は、以上に述べた回転処理での画像データのアクセス要求をメモリアービタ回路３に出力する。そのときアドレスアクセスの昇順か降順を示す信号ｕ／ｄ１もメモリアービタ回路３に出力する。
画像データ２はＤＭＡＣ２（２）とページメモリ５とでアクセスされる画像データで、ＤＭＡＣ２（２）は、画像のライン制御をするライン制御回路２２と、アドレス出力するアドレス制御回路２１、データの入出力を行うデータ制御回路２３が含まれている。
【００２３】
ここで、ＤＭＡＣ２（２）は回転制御がなく０度固定である。ＤＭＡＣ２（２）は、以上に述べた回転処理での０度のアクセス要求をメモリアービタ回路３に出す。またアドレスアクセスの昇順か降順を示す信号ｕ／ｄ２もメモリアービタ回路３に出力する。メモリアービタ回路３は、優先度ＤＭＡＣ１＞ＤＭＡＣ２で各ＤＭＡＣからの要求に応じメモリＩ／Ｆ回路４に要求する。ＤＭＡＣ１（１）、ＤＭＡＣ２（２）から同時に要求がきた場合は、まずＤＭＡＣ１（１）を優先し、あるデータ数の処理を実行するとＤＭＡＣ２（２）の要求を受け付ける。またあるデータ数の処理をするとＤＭＡＣ１（１）のデータアクセスに切り替わる。この動作を繰り返す。
【００２４】
この時、ＤＭＡＣ１（１）がラインを更新しｕ／ｄ１信号が反転すると、メモリアービタ回路３は一時ＤＭＡＣ１（１）の優先度を下げＤＭＡＣ２（２）を連続して動作させる。ここであるデータ数の処理をするか、ｕ／ｄ２信号が反転するとＤＭＡＣ１（１）の要求を受け付ける。
このように、メモリアービタ回路の優先要因の１つに現在のアドレス制御を追加し、極力アドレス切り替えをなくすことで、アドレスアクセス方法設定動作回数を減らすことができ、パホーマンス低下を低減することができる。
【００２５】
以上に述べた回転処理で、０度、１８０度での偶数ラインのアクセス時に、アドレスアクセス方法を切り替えずにデータの並びを変えるようにする。
１番目のデータＤ１と２番目のデータＤ２をＤ１−Ｄ２とバースト転送するのではなく、Ｄ２−Ｄ１にしてアドレスアクセスは昇順のままにする。こうすることによりラインごとのアドレスアクセス方法のためのセット動作がはぶけ、それによるパホーマンスの低下をなくすことができる。また９０度、２７０度のアクセスは変えなくてよく同じ制御でよい。
このように、アドレス制御は昇順か降順のどちらかに固定し、偶数ラインの各２バーストのデータｄ１、ｄ２の並びをｄ２、ｄ１に入れかえる。これによりアドレス制御切り替え設定のためのオーバーヘッドがなくなり、より良いパホーマンスを実現することができる。
【００２６】
以上の説明では、交互にバンクアクセスする方向の最大バースト数は２×バンク数で限定されていた。しかし、もう一方の方向は、ライン数が多くなれなるほどバーストサイズを大きくすることができる（もちろんページメモリの制約内において）。
ページメモリのアクセスにおいて２バーストの連続アクセスで実バースト長を長くすることが可能であるが、メモリ配列のＸ方向、Ｙ方向のどちらかが、メモリのバンク数によって最大バースト長が２×バンク数で制限される。そのためメモリ配列の角度を固定すると、バンク数で制限される方向のメモリ配列角度のパホーマンスがいつもその他の角度より悪くなる。
【００２７】
そこで、どちらの方向を０度にするかを変更できる機能を図２中の角度設定回路１３に追加し、状況に応じて行と列とを切り替え、メモリ配列上の角度を切り替え設定する。これにより、最大バースト長を長くし、メモリアクセスのオーバーヘッドを少なくすることができ、パホーマンスを良くすることができる。
【００２８】
【発明の効果】
以上説明したように本発明の請求項１の発明は、画像データのメモリアクセス時の基本バースト長を２に限定し、偶数ラインと奇数ラインでメモリアクセス時のアドレス制御を昇順、降順に切り替えることにより、ページメモリへの回転アクセスを行う場合にどの回転角（９０度、１８０度、２７０度、０度）でも直接バーストアクセスでき、回転角によってシステムパホーマンスを極端に低下させることがない。また、回転画像生成のために新規のバッファやメモリを必要としないので、従来に比べ回路規模も縮小でき、コストの削減、消費電力削減をはかることができる。
【００２９】
また、本発明の請求項２の発明は、メモリアービタ回路の優先要因の１つに現在のアドレス制御を追加するようにする。
このように、メモリアービタ回路の優先要因の１つに現在のアドレス制御を追加し、極力アドレス切り替えをなくすことで、アドレスアクセス方法設定動作回数を減らすことができ、パホーマンス低下を低減することができる。
【００３０】
また、本発明の請求項３の発明は、アドレス制御を切り替えるのではなく、データ配列を入れ替えるようにする。すなわちアドレス制御は昇順か降順のどちらかに固定し、偶数ラインの各２バーストのデータｄ１、ｄ２の並びをｄ２、ｄ１に入れかえる。これによりアドレス制御切り替え設定のためのオーバーヘッドがなくなり、より良いパホーマンスを実現することができる。
【００３１】
また、本発明の請求項４の発明は、ページメモリのアクセスにおいて２バーストの連続アクセスで実バースト長を長くすることが可能であるが、メモリ配列のＸ方向、Ｙ方向のどちらかが、メモリのバンク数によって最大バースト長が２×バンク数で制限される。そのためメモリ配列の角度を固定すると、バンク数で制限される方向のメモリ配列角度のパホーマンスがいつもその他の角度よりわるくなる。
そこで、メモリ配列上の角度をＸ方向、Ｙ方向に切り替え設定することにより、最大バースト長を長くし、メモリアクセスのオーバーヘッドを少なくしパホーマンスを良くすることができる。
【図面の簡単な説明】
【図１】本発明でのページメモリ配列の概念図。
【図２】本発明の画像処理装置のページメモリ周辺のブロック図。
【符号の説明】
１    ＤＭＡＣ１
２    ＤＭＡＣ２
３    メモリアービタ回路
４    メモリインタフェース（Ｉ／Ｆ）回路
５    ページメモリ
【図１】
0003704101.tif 000002
【図２】
0003704101.tif 000003