(57)【特許請求の範囲】
【請求項１】
第１画像データ及び第２画像データを記憶する第１記憶部と、
前記第１記憶部に記憶される前記第１画像データ及び第２画像データそれぞれを、行方向及び列方向に並ぶ複数のブロック毎の画像ブロックに分けて、行方向又は列方向に沿って順に画像ブロックに対応する画像ブロックデータを読み出す読出部と、
行方向及び列方向に並ぶ複数の記憶領域を有し、前記読出部により読み出された複数の画像ブロックデータを前記複数の記憶領域に行方向又は列方方向に沿って記憶する第２記憶部と、
前記読出部により読み出された複数の画像ブロックデータを前記第２記憶部における前記複数の記憶領域に行方向又は列方方向に沿って順に書き込むと共に、前記第２記憶部に記憶された複数の画像ブロックデータを行方向又は列方方向に沿って順に読み出す書込読出部と、
行方向及び列方向に並ぶ複数の記憶ブロックを有し、前記書込読出部により読み出された複数の画像ブロックデータを前記複数の記憶ブロックに行方向又は列方方向に沿って記憶する第３記憶部と、
前記書込読出部により読み出された複数の画像ブロックデータを前記読出部における読出し方向と同じ方向に沿って順に前記第３記憶部における前記複数の記憶ブロックに書き込む書込部と、
第１画像データに基づく第１画像を回転させる回転角度である第１回転角度を設定する第１回転角度設定部と、
第２画像データに基づく第２画像を回転させる回転角度である第２回転角度を設定する第２回転角度設定部と、
前記書込読出部によって第１画像データにおける複数の画像ブロックデータを前記第２記憶部に書き込んだ行方向又は列方向を基準として、前記第１回転角度設定部により設定された前記第１回転角度に基づいて、第１画像データにおける複数の画像ブロックデータの読み出し方向を設定する読出方向設定部と、
第１画像データに基づく画像と、第２画像データに基づく画像とが連続して回転される場合において、第２画像データにおける複数の画像ブロックデータを前記第２記憶部に書き込む方向を、前記読出方向設定部により設定された第１画像データにおける複数の画像データブロックの読み出し方向と同じ方向に設定する書込方向設定部と、
第１画像データに基づく画像と、第２画像データに基づく画像とが連続して回転される場合において、前記第２記憶部における１つの記憶領域において、該１つの記憶領域に記憶された第１画像データにおける画像ブロックデータの読み出しと、第２画像データにおける画像ブロックデータの該１つの記憶領域への書き込みとを連続して行う処理を１セットとして、他の記憶領域に対しても前記処理の前記１セットを順に行うよう前記書込読出部を制御する制御部と、を備え、
前記第２記憶部の前記複数の記憶領域において、行方向に並ぶ記憶領域の数と、列方向に並ぶ記憶領域の数とは同数である、
画像回転装置。
【請求項２】
前記読出方向設定部は、第２画像データにおける複数の画像ブロックデータの前記書込読出部による読み出し方向を、第１画像データにおける複数の画像ブロックデータを前記第２記憶部から読み出すために設定された読み出し方向を基準として、前記第２回転角度設定部により設定された前記第２回転角度に基づいて設定する
請求項１に記載の画像回転装置。
【請求項３】
前記読出方向設定部は、第２画像データにおける複数の画像ブロックデータの前記書込読出部による読み出し方向を、前記書込方向設定部により設定された第２画像データにおける複数の画像ブロックデータを第２記憶部に書き込む方向を基準として、前記第２回転角度設定部により設定された前記第２回転角度に基づいて設定する
請求項１に記載の画像回転装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データに基づく画像を回転させる画像回転装置に関する。
【背景技術】
【０００２】
画像データに基づく画像を回転させる画像回転装置には、入力側データバッファと、前段画像回転用データバッファと、後段画像回転用データバッファと、出力側データバッファとを備えるものがある。このような画像回転装置では、前段画像回転用データバッファと、後段画像回転用データバッファを利用して画像を回転させている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２１９１４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載された発明では、画像を回転させるために２つのバッファ（前段画像回転用データバッファ及び後段画像回転用データバッファ）が必要になるため、画像回転用のバッファ（記憶部）の記憶容量を大きくする必要がある。
【０００５】
本発明は、従来よりも記憶容量の小さい記憶部を利用して画像データに基づく画像を回転させる画像回転装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、第１画像データ及び第２画像データを記憶する第１記憶部と、前記第１記憶部に記憶される前記第１画像データ及び第２画像データそれぞれを、行方向及び列方向に並ぶ複数のブロック毎の画像ブロックに分けて、行方向又は列方向に沿って順に画像ブロックに対応する画像ブロックデータを読み出す読出部と、行方向及び列方向に並ぶ複数の記憶領域を有し、前記読出部により読み出された複数の画像ブロックデータを前記複数の記憶領域に行方向又は列方方向に沿って記憶する第２記憶部と、前記読出部により読み出された複数の画像ブロックデータを前記第２記憶部における前記複数の記憶領域に行方向又は列方方向に沿って順に書き込むと共に、前記第２記憶部に記憶された複数の画像ブロックデータを行方向又は列方方向に沿って順に読み出す書込読出部と、行方向及び列方向に並ぶ複数の記憶ブロックを有し、前記書込読出部により読み出された複数の画像ブロックデータを前記複数の記憶ブロックに行方向又は列方方向に沿って記憶する第３記憶部と、前記書込読出部により読み出された複数の画像ブロックデータを前記読出部における読出し方向と同じ方向に沿って順に前記第３記憶部における前記複数の記憶ブロックに書き込む書込部と、第１画像データに基づく第１画像を回転させる回転角度である第１回転角度を設定する第１回転角度設定部と、第２画像データに基づく第２画像を回転させる回転角度である第２回転角度を設定する第２回転角度設定部と、前記書込読出部によって第１画像データにおける複数の画像ブロックデータを前記第２記憶部に書き込んだ行方向又は列方向を基準として、前記第１回転角度設定部により設定された前記第１回転角度に基づいて、第１画像データにおける複数の画像ブロックデータの読み出し方向を設定する読出方向設定部と、第１画像データに基づく画像と、第２画像データに基づく画像とが連続して回転される場合において、第２画像データにおける複数の画像ブロックデータを前記第２記憶部に書き込む方向を、前記読出方向設定部により設定された第１画像データにおける複数の画像データブロックの読み出し方向と同じ方向に設定する書込方向設定部と、第１画像データに基づく画像と、第２画像データに基づく画像とが連続して回転される場合において、前記第２記憶部における１つの記憶領域において、該１つの記憶領域に記憶された第１画像データにおける画像ブロックデータの読み出しと、第２画像データにおける画像ブロックデータの該１つの記憶領域への書き込みとを連続して行う処理を１セットとして、他の記憶領域に対しても前記処理の前記１セットを順に行うよう前記書込読出部を制御する制御部と、を備える画像回転装置に関する。
【０００７】
また、前記読出方向設定部は、第２画像データにおける複数の画像ブロックデータの前記書込読出部による読み出し方向を、第１画像データにおける複数の画像ブロックデータを前記第２記憶部から読み出すために設定された読み出し方向を基準として、前記第２回転角度設定部により設定された前記第２回転角度に基づいて設定することが好ましい。
【０００８】
また、前記読出方向設定部は、第２画像データにおける複数の画像ブロックデータの前記書込読出部による読み出し方向を、前記書込方向設定部により設定された第２画像データにおける複数の画像ブロックデータを第２記憶部に書き込む方向を基準として、前記第２回転角度設定部により設定された前記第２回転角度に基づいて設定することが好ましい。
【発明の効果】
【０００９】
本発明は、従来よりも記憶容量の小さい記憶部を利用して画像データに基づく画像を回転させる画像回転装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係る画像回転装置の機能構成を説明するためのブロック図である。
【図２】画像データに基づく画像を９０°回転させる場合における第２記憶部への画像ブロックデータの書き込み及び読み出しについて説明するための図である。
【図３】画像データに基づく画像を１８０°回転させる場合における第２記憶部への画像ブロックデータの書き込み及び読み出しについて説明するための図である。
【図４】画像データに基づく画像を２７０°回転させる場合における第２記憶部への画像ブロックデータの書き込み及び読み出しについて説明するための図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明の画像回転装置の一実施形態について説明する。図１は、本発明の一実施形態に係る画像回転装置１の機能構成を説明するためのブロック図である。
【００１２】
画像回転装置１は、第１記憶部１１と、第２記憶部１２と、第３記憶部１３と、読出部１４と、書込読出部１５と、書込部１６と、第１回転角度設定部１７と、第２回転角度設定部１８と、読出方向設定部１９と、書込方向設定部２０と、制御部２１とを備える。
【００１３】
第１記憶部１１は、第１画像データ及び第２画像データを記憶する。第１画像データは、１番目に画像が回転されるデータのことである。第２画像データは、第１画像データに続いて２番目に画像が回転されるデータのことである。また、第１記憶部１１は、３つ以上の画像データに基づく画像が回転される場合には、３番目以降に画像が回転される画像データをも記憶する。第１記憶部１１は、例えば、半導体メモリやハードディスク等によって構成される。
【００１４】
読出部１４は、第１記憶部１１に記憶される第１画像データ及び第２画像データそれぞれを、行方向及び列方向に並ぶ複数のブロック毎の画像ブロックに分けて、行方向又は列方向に沿って順に画像ブロックに対応する画像ブロックデータを読み出す。読出部１４は、第１記憶部１１に画像データが書き込まれる方向と同一方向に、第１記憶部１１から画像ブロックデータを読み出す。
【００１５】
第２記憶部１２は、行方向及び列方向に並ぶ複数の記憶領域１２１を有し、読出部１４により読み出された複数の画像ブロックデータを複数の記憶領域１２１に行方向又は列方方向に沿って記憶する。すなわち、１個の記憶領域１２１には、１つの画像ブロックデータが記憶される。行方向及び列方向には、それぞれ同数の記憶領域１２１が配置される。第２記憶部１２は、例えば、半導体メモリ等によって構成される。なお、第２記憶部１２を構成する記憶領域１２１の個数は、図１に示す個数（４個）に限定されることはなく、他の個数であってもよい。
【００１６】
書込読出部１５は、読出部１４により読み出された複数の画像ブロックデータを第２記憶部１２における複数の記憶領域１２１に行方向又は列方方向に沿って順に書き込むと共に、第２記憶部１２に記憶された複数の画像ブロックデータを行方向又は列方方向に沿って順に読み出す。
【００１７】
第３記憶部１３は、行方向及び列方向に並ぶ複数の記憶ブロック１３１を有し、書込読出部１５により読み出された複数の画像ブロックデータを複数の記憶領域１２１に行方向又は列方方向に沿って記憶する。第３記憶部１３は、書込読出部１５によって読み出された複数の画像ブロックデータを記憶することにより、画像回転後の画像データを記憶する。第３記憶部１３は、例えば、半導体メモリやハードディスク等によって構成される。なお、第３記憶部１３を構成する記憶ブロック１３１の個数は、図１に示す個数（４個）に限定されることはなく、少なくとも第２記憶部１２の記憶領域１２１と同じ個数であればよい。
【００１８】
書込部１６は、書込読出部１５により読み出された複数の画像ブロックデータを読出部１４における読み出し方向と同じ方向に沿って順に第３記憶部１３における複数の記憶ブロック１３１に書き込む。また、書込部１６は、第３記憶部１３から画像データ（画像ブロックデータ）が読み出される方向と同一方向に、第３記憶部１３に画像ブロックデータを書き込む。
【００１９】
第１回転角度設定部１７は、第１画像データに基づく第１画像を回転させる回転角度である第１回転角度を設定する。第１回転角度設定部１７は、第１回転角度を、９０°、１８０°及び２７０°のいずれかに設定することが可能である。
【００２０】
第２回転角度設定部１８は、第２画像データに基づく第２画像を回転させる回転角度である第２回転角度を設定する。第２回転角度設定部１８は、第２回転角度を、９０°、１８０°及び２７０°のいずれかに設定することが可能である。第２回転角度設定部１８によって設定される第２回転角度と、第１回転角度設定部１７によって設定された第１回転角度とは、同一の角度であってもよく、異なる角度であってもよい。
【００２１】
読出方向設定部１９は、書込読出部１５によって第１画像データにおける複数の画像ブロックデータを第２記憶部１２に書き込んだ行方向又は列方向を基準として、第１回転角度設定部１７により設定された第１回転角度に基づいて、第１画像データにおける複数の画像ブロックデータの読み出し方向を設定する。
【００２２】
例えば、読出方向設定部１９は、詳細を後述する書込方向設定部２０によって第１画像データにおける画像ブロックデータの書き込み方向が列方向に設定され、画像の回転角度が９０°又は２７０°の場合に、画像ブロックデータの読み出し方向を行方向に設定する。また、読出方向設定部１９は、書込方向設定部２０によって第１画像データにおける画像ブロックデータの書き込み方向が行方向に設定され、画像の回転角度が９０°又は２７０°の場合に、画像ブロックデータの読み出し方向を列方向に設定する。また、読出方向設定部１９は、書込方向設定部２０によって第１画像データにおける画像ブロックデータの書き込み方向が行方向に設定され、画像の回転角度が１８０°の場合に、画像ブロックデータの読み出し方向を行方向に設定する。また、読出方向設定部１９は、書込方向設定部２０によって第１画像データにおける画像ブロックデータの書き込み方向が列方向に設定され、画像の回転角度が１８０°の場合に、画像ブロックデータの読み出し方向を列方向に設定する。
【００２３】
また、読出方向設定部１９は、第２画像データにおける複数の画像ブロックデータの書込読出部１５による読み出し方向を、第１画像データにおける複数の画像ブロックデータを第２記憶部１２から読み出すために設定された読み出し方向を基準として、第２回転角度設定部１８により設定された第２回転角度に基づいて設定することが可能である。例えば、第１画像データにおける画像ブロックデータの読み出し方向が列方向に設定され、第２画像データに基づく第２画像の回転角度（第２回転角度）が９０°に設定されている場合、読出方向設定部１９は、列方向（第１画像データにおける画像ブロックデータの読み出し方向）を基準として、第２画像データにおける画像ブロックの読み出し方向を行方向に設定する。
【００２４】
また、読出方向設定部１９は、第２画像データにおける複数の画像ブロックデータの書込読出部１５による読み出し方向を、書込方向設定部２０により設定された第２画像データにおける複数の画像ブロックデータを第２記憶部１２に書き込む方向を基準として、第２回転角度設定部１８により設定された第２回転角度に基づいて設定することも可能である。例えば、第２画像データにおける画像ブロックデータの書き込み方向が列方向に設定され、第２画像データに基づく第２画像の回転角度（第２回転角度）が９０°に設定されている場合、読出方向設定部１９は、列方向（第２画像データにおける画像ブロックデータの書き込み方向）を基準として、第２画像データにおける画像ブロックの読み出し方向を行方向に設定する。
【００２５】
書込方向設定部２０は、第１画像データに基づく画像と、第２画像データに基づく画像とが連続して回転される場合において、第２画像データにおける複数の画像ブロックデータを第２記憶部１２に書き込む方向を、読出方向設定部１９により設定された第１画像データにおける複数の画像データブロックの読み出し方向と同じ方向に設定する。すなわち、書込方向設定部２０は、第１画像データに基づく第１画像に続けて第２画像データに基づく第２画像が回転される場合、第２画像データにおける画像ブロックデータの第２記憶部１２への書き込み方向を、第１画像データにおける画像ブロックデータの第２記憶部１２からの読み出し方向と同一方向に設定する。なお、書込方向設定部２０は、第１画像データの画像ブロックを第２記憶部１２に書き込む場合には、読出方向設定部１９によって設定された読み出し方向にかかわらず、所定の方向（初期設定方向）に書き込み方向を設定する。
【００２６】
制御部２１は、第１画像データに基づく画像と、第２画像データに基づく画像とが連続して回転される場合において、第２記憶部１２における１つの記憶領域１２１において、該１つの記憶領域１２１に記憶された第１画像データにおける画像ブロックデータの読み出しと、第２画像データにおける画像ブロックデータの該１つの記憶領域１２１への書き込みとを連続して行う処理を１セットとして、他の記憶領域１２１に対しても処理の１セットを順に行うよう書込読出部１５を制御する。
【００２７】
これにより、書込読出部１５は、ある１つの記憶領域１２１に記憶される第１画像データにおける画像ブロックデータを読み出し、次に、その画像ブロックデータが読み出されたその記憶領域１２１に第２画像データにおける画像ブロックデータを書き込む。次に、書込読出部１５は、読出方向設定部１９によって設定される読み出し方向（書込方向設定部２０によって設定される書き込み方向）に隣接する他の記憶領域１２１に記憶される第１画像データにおける画像ブロックデータを読み出し、次に、その記憶領域１２１に第２画像データにおける画像ブロックデータを書き込む。以降、書込読出部１５は、上述した動作を繰り返す。
【００２８】
次に、画像回転装置１の動作について説明する。図２は、画像データに基づく画像を９０°回転させる場合における第２記憶部１２への画像ブロックデータの書き込み及び読み出しについて説明するための図である。図３は、画像データに基づく画像を１８０°回転させる場合における第２記憶部１２への画像ブロックデータの書き込み及び読み出しについて説明するための図である。図４は、画像データに基づく画像を２７０°回転させる場合における第２記憶部１２への画像ブロックデータの書き込み及び読み出しについて説明するための図である。
【００２９】
なお、図２〜図４では、複数の記憶領域１２１を備える第２記憶部１２の一例として１６個（４×４）の記憶領域１２１を備えるものを示している。しかしながら、本発明の第２記憶部は、図２〜図４に示す例に限定されることはなく、縦方向に沿って配置される記憶領域１２１の個数と、横方向に沿って配置される記憶領域１２１の個数が同数のものであれば記憶領域１２１の個数について如何なるものであってもよい。
【００３０】
はじめに、図２を参照して、複数の画像データに基づく画像を連続して９０°回転させる場合について説明する。
まず、第１回転角度設定部１７及び第２回転角度設定部１８は、それぞれ第１回転角度及び第２回転角度を９０°に設定する。書込方向設定部２０は、第１画像データを第２記憶部１２に書き込む場合、第１画像データを構成する画像ブロックデータの書き込み方向を初期設定方向に設定する。なお、初期設定方向は、図２の場合では、行方向である。
【００３１】
次に、書込読出部１５は、読出部１４によって第１記憶部１１から読み出された第１画像データを構成する複数の画像ブロックデータを、書込方向設定部２０によって設定された書き込み方向（初期設定方向）に基づいて、図２（Ａ）の矢印（１）〜（４）により示す方向及びその矢印の数字の順番に、第２記憶部１２を構成する複数の記憶領域１２１に順次書き込む。すなわち、書込読出部１５は、図２（Ａ）において左上の配置される記憶領域１２１ａに対して、第１画像データを構成する複数の画像ブロックデータ「０」〜「１５」のうちの画像ブロックデータ「０」を書き込む。
【００３２】
次に、書込読出部１５は、図２（Ａ）において左上に配置される記憶領域１２１ａと同一の行（１行目）に配置される各記憶領域１２１に対して、右方向（図２（Ａ）の矢印（１）により示す方向）に沿って順に画像ブロックデータ「１」〜「３」を書き込む。
【００３３】
次に、書込読出部１５は、２行目に配置される各記憶領域１２１に対して、右方向（図２（Ａ）の矢印（２）により示す方向）に沿って順に画像ブロックデータ「４」〜「７」を書き込む。次に、書込読出部１５は、上記と同様に、３行目の各記憶領域１２１に対して、右方向（図２（Ａ）の矢印（３）により示す方向）に沿って順に画像ブロックデータ「８」〜「１１」を書き込み、その後、４行目の各記憶領域１２１に対して、右方向（図２（Ａ）の矢印（４）により示す方向）に画像ブロックデータ「１２」〜「１５」を順に書き込む。
【００３４】
次に、読出方向設定部１９は、画像を９０°回転させるので、第２記憶部１２に記憶される画像ブロックデータの読み出し方向を列方向に設定する。また、書込方向設定部２０は、第２画像データを構成する画像ブロックデータの第２記憶部１２への書き込み方向を列方向に設定する。
【００３５】
次に、書込読出部１５は、読出方向設定部１９によって設定された読み出し方向に基づいて、図２（Ｂ）の矢印（１）〜（４）により示す方向及びその矢印の数字の順番に、記憶領域１２１に記憶される画像ブロックデータを読み出す。また、書込読出部１５は、書込方向設定部２０によって設定された書き込み方向に基づいて、図２（Ｂ）の矢印（１）〜（４）により示す方向及びその矢印の数字の順番に、第２画像データの画像ブロックデータを記憶領域１２１に書き込む。
【００３６】
具体的には、まず、書込読出部１５は、図２（Ｂ）において左下に配置される記憶領域１２１ｂから第１画像データの画像ブロックデータ「１２」を読み出す。読み出された画像ブロックデータ「１２」は、書込部１６によって第３記憶部１３に記憶される。次に、書込読出部１５は、その画像ブロックデータ「１２」が記憶されていた記憶領域１２１ｂに対して、第２画像データを構成する複数の画像ブロックデータ「０」〜「１５」のうち画像ブロックデータ「０」を書き込む。
【００３７】
次に、書込読出部１５は、第１画像データの画像ブロックデータ「８」が記憶されている記憶領域１２１ｃからその画像ブロックデータ「８」を読み出す。読み出された画像ブロックデータ「８」は、書込部１６によって第３記憶部１３に記憶される。次に、書込読出部１５は、画像ブロックデータ「８」が記憶されていた記憶領域１２１ｃに対して、第２画像データの画像ブロックデータ「１」を書き込む。
【００３８】
次に、書込読出部１５は、図２（Ｂ）において左下に配置される記憶領域１２１ｂと同一の列（１列目）に配置される他の記憶領域１２１から、上方向（図２（Ｂ）の矢印（１）により示す方向）に沿って順に第１画像データの画像ブロックデータの読み出す処理と、第１画像データの画像ブロックデータが読み出された記憶領域１２１に対して第２画像データの画像ブロックデータの書き込む処理とを交互に行う。書込読出部１５によって第２記憶部１２から読み出された画像ブロックデータは、第３記憶部１３に書き込まれる。
【００３９】
次に、書込読出部１５は、制御部２１による制御に基づいて、図２（Ｂ）において左側から２列目に配置される記憶領域１２１に対して、矢印（２）により示す方向に沿って順に、第１画像データの画像ブロックデータの読み出す処理と、第２画像データの画像ブロックデータの書き込む処理とを交互に行う。
【００４０】
同様に、書込読出部１５は、図２（Ｂ）において、左側から３列目及び４列目に配置される記憶領域１２１に対して、それぞれ矢印（３）及び矢印（４）により示す方向に沿って順に、制御部２１による制御に基づいて、第１画像データの画像ブロックデータの読み出す処理と、第２画像データの画像ブロックデータの書き込み処理とを交互に行う。
【００４１】
次に、読出方向設定部１９は、第２画像データの画像ブロックデータを第２記憶部１２から読み出す方向を行方向に設定する。また、書込方向設定部２０は、３番目に画像を回転する第３画像データの画像ブロックデータを第２記憶部１２に書き込む方向を行方向に設定する。
【００４２】
次に、書込読出部１５は、読出方向設定部１９及び書込方向設定部２０によってそれぞれ設定された読み出し方向及び書き込み方向（図２（Ｃ）の矢印（１）〜（４）により示す方向）に沿って、第２画像データの画像ブロックデータを記憶領域１２１から読み出す処理と、第３画像データの画像ブロックデータを記憶領域１２１へ書き込む処理とを交互に行う。第２記憶部１２から読み出された画像ブロックデータは、書込部１６によって第３記憶部１３に書き込まれる。
【００４３】
次に、読出方向設定部１９は、第３画像データの画像ブロックデータを第２記憶部１２から読み出す方向を列方向に設定する。また、書込方向設定部２０は、４番目に画像を回転する第４画像データの画像ブロックデータを第２記憶部１２に書き込む方向を列方向に設定する。
【００４４】
次に、書込読出部１５は、読出方向設定部１９及び書込方向設定部２０によってそれぞれ設定された読み出し方向及び書き込み方向（図２（Ｄ）の矢印（１）〜（４）により示す方向）に沿って、第３画像データの画像ブロックデータを記憶領域１２１から読み出す処理と、第４画像データの画像ブロックデータを記憶領域１２１へ書き込む処理を交互に行う。第２記憶部１２から読み出された画像ブロックデータは、書込部１６によって第３記憶部１３に書き込まれる。
【００４５】
次に、読出方向設定部１９は、第４画像データの画像ブロックデータを第２記憶部１２から読み出す方向を行方向に設定する。また、書込方向設定部２０は、５番目に画像を回転する第５画像データの画像ブロックデータを第２記憶部１２に書き込む方向を行方向に設定する。
【００４６】
次に、書込読出部１５は、読出方向設定部１９及び書込方向設定部２０によってそれぞれ設定された読み出し方向及び書き込み方向（図２（Ｅ）の矢印（１）〜（４）により示す方向）に沿って、制御部２１による制御に基づいて、第４画像データを構成する画像ブロックデータの記憶領域１２１からの読み出しと、第５画像データを構成する画像ブロックデータの記憶領域１２１への書き込みとを交互に行う。第２記憶部１２から読み出された画像ブロックデータは、書込部１６によって第３記憶部１３に書き込まれる。
【００４７】
以降は、図２（Ａ）〜（Ｅ）を用いて説明した画像回転動作を繰り返すことにより、画像データに基づく画像の回転を連続して行う。
【００４８】
次に、図３を参照して、複数の画像データに基づく画像を連続して１８０°回転させる場合について説明する。
【００４９】
まず、第１回転角度設定部１７及び第２回転角度設定部１８は、それぞれ第１回転角度及び第２回転角度を１８０°に設定する。書込方向設定部２０は、第１画像データを第２記憶部１２に書き込む場合、第１画像データを構成する画像ブロックデータの書き込み方向を初期設定方向に設定する。なお、初期設定方向は、図３の場合では、行方向である。また、読出方向設定部１９は、画像を１８０°回転させるので、第２記憶部１２に記憶される画像ブロックデータの読出し方向を行方向に設定する。
【００５０】
次に、書込読出部１５は、図２（Ａ）を用いて説明した場合と同様に、図３（Ａ）の矢印（１）〜（４）により示す方向及びその矢印の数字の順番に、読出部１４によって第１記憶部１１から読み出された第１画像データを構成する複数の画像ブロックデータを、第２記憶部１２の複数の記憶領域１２１にそれぞれ書き込む。
【００５１】
次に、書込読出部１５は、読出方向設定部１９によって設定された読み出し方向に基づいて、図３（Ｂ）の矢印（１）〜（４）に示す方向及びその矢印の数字の順番に、記憶領域１２１に記憶される画像ブロックデータを読み出す。また、書込読出部１５は、書込方向設定部２０によって設定された書き込み方向に基づいて、図３（Ｂ）の矢印（１）〜（４）に示す方向及びその矢印の数字の順番に、読出部１４によって第１記憶部１１から読み出された第２画像データを構成する複数の画像ブロックデータを、複数の記憶領域１２１にそれぞれ書き込む。
【００５２】
具体的には、まず、書込読出部１５は、図３（Ｂ）に示す右下の記憶領域１２１ｄから第１画像データの画像ブロックデータ「１５」を読み出す。読み出された画像ブロックデータ「１５」は、書込部１６によって第３記憶部１３に記憶される。次に、書込読出部１５は、画像ブロックデータ「１５」が記憶されていた記憶領域１２１ｄに対して、第１記憶部１１に記憶される第２画像データの画像ブロックデータ「０」を書き込む。
【００５３】
次に、書込読出部１５は、上記と同様に、第２記憶部１２の右下に配置される記憶領域１２１ｄと同一の行に配置される他の記憶領域１２１から第１画像データの画像ブロックデータ「１４」、「１３」、「１２」を読み出すことと、その画像データ「１４」、「１３」、「１２」が読み出された記憶領域１２１に対して第２画像データの画像ブロックデータ「１」〜「３」を書き込むことを交互に行う。
【００５４】
書込読出部１５は、第２記憶部１２における最下行（４行目）に配置される記憶領域１２１に対する画像ブロックデータの読み出しと書き込みが終了した後は、３行目に配置される記憶領域１２１、２行目に配置される記憶領域１２１、１行目に配置される記憶領域１２１の順に、且つ、図３（Ｂ）の矢印（２）〜（４）により示す方向に、第１画像データの画像ブロックデータの読み出しと第２画像データの書き込みとを交互に行う。
【００５５】
第２画像データを構成する複数の画像ブロックデータ「０」〜「１５」の全てを第２記憶部１２に記憶させた後は、書込読出部１５は、上記と同様に、第２画像データに基づく画像を１８０°回転させるために第２画像データの画像ブロックデータ「０」〜「１５」を図３（Ｃ）の矢印（１）〜（４）により示す方向及びその矢印の数字の順番に読み出す。また、書込読出部１５は、上記と同様に、図３（Ｃ）の矢印（１）〜（４）により示す方向及びその矢印の数字の順番に、３番目に画像回転が行われる第３画像データの画像ブロックデータを記憶領域１２１に書き込む。なお、書込読出部１５は、第２画像データの画像ブロックデータの読み出しと、第３画像データの画像ブロックデータの書き込みとを交互に行う。
【００５６】
以降は、図３（Ａ）〜（Ｃ）を用いて説明した画像回転動作を繰り返すことにより、画像データに基づく画像の回転を連続して行う。
【００５７】
なお、上記の例では、記憶領域１２１の行方向に沿って画像ブロックデータの書き込み、読み出しを行うことにより、画像を１８０°回転させる場合について説明した。しかしながら、本発明は、この例に限定されることはなく、記憶領域１２１に列方向に沿って画像ブロックデータの書き込み、読み出しを行うことにより、画像を１８０°回転させてもよい。
【００５８】
次に、図４を参照して、複数の画像データに基づく画像を連続して２７０°回転させる場合について説明する。
【００５９】
まず、第１回転角度設定部１７及び第２回転角度設定部１８は、それぞれ第１回転角度及び第２回転角度を２７０°に設定する。書込方向設定部２０は、第１画像データを第２記憶部１２に書き込む場合、第１画像データを構成する画像ブロックデータの書き込み方向を初期設定方向に設定する。なお、初期設定方向は、図４の場合では、行方向である。
【００６０】
次に、書込読出部１５は、図２（Ａ）を用いて説明した場合と同様に、図４（Ａ）の矢印（１）〜（４）により示す方向及びその矢印の数字の順番に、読出部１４によって第１記憶部１１から読み出された第１画像データを構成する複数の画像ブロックデータを、第２記憶部１２の複数の記憶領域１２１にそれぞれ書き込む。
【００６１】
次に、読出方向設定部１９は、画像を２７０°回転させるために、第２記憶部１２に記憶される画像ブロックデータの読み出し方向を列方向に設定する。また、書込方向設定部２０は、第２画像データを構成する画像ブロックデータの第２記憶部１２への書き込み方向を列方向に設定する。
【００６２】
次に、書込読出部１５は、読出方向設定部１９によって設定された読み出し方向に基づいて、図４（Ｂ）の矢印（１）〜（４）により示す方向及びその矢印の数字の順番に、記憶領域１２１に記憶される画像ブロックデータを読み出す。また、書込読出部１５は、書込方向設定部２０によって設定された書き込み方向に基づいて、図４（Ｂ）の矢印（１）〜（４）により示す方向及びその矢印の数字の順番に、第２画像データの画像ブロックデータを記憶領域１２１に書き込む。すなわち、書込読出部１５は、制御部２１による制御に基づいて、第１画像データの画像ブロックデータを読み出す処理と、その読み出された画像ブロックデータが記憶されていた記憶領域１２１に対して第２画像データの画像ブロックデータを書き込む処理とを交互に行うと共に、その処理を図４（Ｂ）の矢印（１）〜（４）により示す方向及びその矢印の数字の順番に順次行う。書込読出部１５によって第２記憶部１２から読み出された画像ブロックデータは、書込部１６によって第３記憶部１３に書き込まれる。
【００６３】
次に、読出方向設定部１９は、画像を２７０°回転させるために、第２記憶部１２に記憶される画像ブロックデータの読み出し方向を行方向に設定する。また、書込方向設定部２０は、３番目に画像を回転させる第３画像データの画像ブロックデータの第２記憶部１２への書き込み方向を行方向に設定する。
【００６４】
次に、書込読出部１５は、第２画像データの画像ブロックデータを記憶領域１２１から読み出す処理と、第３画像データの画像ブロックデータを記憶領域１２１に書き込む処理とを交互に行うと共に、その処理を読出方向設定部１９及び書込方向設定部２０によってそれぞれ設定された読み出し方向及び書き込み方向（図４（Ｃ）の矢印（１）〜（４）により示す方向）に、且つ、その矢印の数字の順番に順次に行う。
【００６５】
次に、読出方向設定部１９は、画像を２７０°回転させるために、第２記憶部１２に記憶される画像ブロックデータの読み出し方向を列方向に設定する。また、書込方向設定部２０は、４番目に画像を回転させる第４画像データの画像ブロックデータの第２記憶部１２への書き込み方向を列方向に設定する。
【００６６】
次に、書込読出部１５は、第３画像データの画像ブロックデータを記憶領域１２１から読み出す処理と、第４画像データの画像ブロックデータを記憶領域１２１へ書き込む処理とを交互に行うと共に、その処理を読出方向設定部１９及び書込方向設定部２０によってそれぞれ設定された読み出し方向及び書き込み方向（図４（Ｄ）の矢印（１）〜（４）により示す方向）に、且つ、その矢印の数字の順番に順次に行う。
【００６７】
次に、読出方向設定部１９は、画像を２７０°回転させるために、第２記憶部１２に記憶される画像ブロックデータの読み出し方向を行方向に設定する。また、書込方向設定部２０は、５番目に画像を回転させる第５画像データの画像ブロックデータの第２記憶部１２への書き込み方向を行方向に設定する。
【００６８】
次に、書込読出部１５は、第４画像データの画像ブロックデータを記憶領域１２１から読み出す処理と、第５画像データの画像ブロックデータを記憶領域１２１へ書き込む処理とを交互に行うと共に、その処理を読出方向設定部１９及び書込方向設定部２０によってそれぞれ設定された読み出し方向及び書き込み方向（図４（Ｅ）の矢印（１）〜（４）により示す方向）に、且つ、その矢印の数字の順番に順次に行う。
【００６９】
以降は、図４（Ａ）〜（Ｅ）を用いて説明した画像回転動作を繰り返すことにより、画像データに基づく画像の回転を連続して行う。
【００７０】
以上説明したように、本実施形態の画像回転装置１によれば、以下の効果が奏される。
すなわち、画像回転装置１は、書込方向設定部２０によって設定された書き込み方向に沿って第１画像データ構成する画像ブロックデータを、第２記憶部１２を構成する記憶領域１２１に書き込むと共に、第１画像データを構成する画像ブロックデータを１つの記憶領域１２１から読み出すことと、第２画像データを構成する画像ブロックデータをその１つの記憶領域１２１に書き込むこととを、読出方向設定部１９によって設定された読み出し方向及び書込方向設定部２０によって設定された書き込み方向に沿って交互に繰り返す構成である。このため、画像回転装置１は、１つの画像データを記憶する記憶容量を第２記憶部１２が備えるだけで、画像データに基づく画像を回転することができるので、画像回転時に用いられる第２記憶部１２の記憶容量を従来よりも小さくすることができる。また、画像回転装置１は、１つの記憶領域１２１から第１画像データの画像ブロックデータを読み出した直後に、その記憶領域１２１に対して第２画像データの画像ブロックデータを書き込むので、画像を回転させるためにかかる時間が従来よりも遅くなることを防ぐことができる。
【００７１】
また、画像回転装置１は、読出方向設定部１９により、第２画像データにおける複数の画像ブロックデータの書込読出部１５による読み出し方向を、第１画像データにおける複数の画像ブロックデータを第２記憶部１２から読み出すために設定された読み出し方向を基準として、第２回転角度設定部１８により設定された第２回転角度に基づいて設定する。画像回転装置１は、読出方向設定部１９により、第２画像データにおける複数の画像ブロックデータの書込読出部１５による読み出し方向を、書込方向設定部２０により設定された第２画像データにおける複数の画像ブロックデータを第２記憶部１２に書き込む方向を基準として、第２回転角度設定部１８により設定された第２回転角度に基づいて設定する。これにより、画像回転装置１は、第２画像データに基づく画像を回転させることができる。
【００７２】
なお、上述した実施形態では、複数の画像データに基づく画像を同一の回転角度で連続して回転させる場合について説明した。しかしながら、本発明は、この実施形態に限定されることはない。すなわち、画像回転装置は、複数の画像データに基づく画像をそれぞれ異なる回転角度で連続して回転させてもよい。
【００７３】
上述した画像回転装置１は、例えば、コピー機能やプリンタ機能等を備える複合機等の画像形成装置に搭載されることにより、複合機において生成された画像データ又は複合機に接続されるパーソナルコンピュータ等から送信された画像データに基づく画像を回転させることが可能である。そして、複合機は、第３記憶部１３に記憶される画像データを読み出して、画像形成部により画像データに基づくトナー画像を感光体ドラム又は中間転写ベルトに形成し、転写部により感光体ドラム又は中間転写ベルトに形成されたトナー画像を用紙に転写し、定着部によりトナー画像を用紙に定着させる。これにより、画像回転後の画像データに基づく画像が用紙に形成される。
【００７４】
また、上述した画像回転装置１は、パーソナルコンピュータに搭載されることにより、そのパーソナルコンピュータにおいて生成された画像データ又は外部からパーソナルコンピュータに入力された画像データに基づく画像を回転させることが可能である。そして、パーソナルコンピュータは、第３記憶部１３に記憶される画像データに基づく画像を表示部に表示させ、又は、通信部によって第３記憶部１３に記憶される画像データを外部に送信することが可能である。
【符号の説明】
【００７５】
１…画像回転装置、１１…第１記憶部、１２…第２記憶部、１２１…記憶領域、１３…第３記憶部、１３１…記憶ブロック、１４…読出部、１５…書込読出部、１６…書込部、１７…第１回転角度設定部、１８…第２回転角度設定部、１９…読出方向設定部、２０…書込方向設定部、２１…制御部
【図１】
0005460510.tif 000002
【図２】
0005460510.tif 000003
【図３】
0005460510.tif 000004
【図４】
0005460510.tif 000005