(57)【要約】【課題】回転後の画像データを格納するメモリ領域が必要なく、メモリの節約を図ることができる。【解決手段】画像メモリ１３に格納された画像データをブロック単位で、バッファメモリの所定領域に書き込み、各ブロックごとの画像データを、画像全体を回転させたい方向と同一の方向に回転させて読み出す。読み出した画像データは、従来のように別の画像メモリにマッピングするのではなく、もとの画像メモリ１３の同じ領域に書き戻す。各ブロックについて書き戻しが完了すると、書き戻された後の画像データ（ａ）を、画像回転方向に対応したブロックの順序で１ラインずつ読み出す（（１），（２），．．．，（ｎ），．．．）。これにより、画像全体が回転した回転後の画像データ（ｂ）を出力することができる。【選択図】        図９
2004222199.tif 000002
【特許請求の範囲】
【請求項１】
画像データを回転させて出力することのできる画像処理装置において、
画像メモリに記憶された入力画像データをブロック単位で、画像一時メモリの所定領域に書き込む書込手段と、
画像一時メモリの所定領域に書き込まれた画像データを、回転方向に応じて、書き込み方向とは異なる方向に読み出す第１の読出手段と、
第１の読出手段により読み出された画像データを画像メモリの同じ領域に書き戻す書戻手段と、
書き戻された後の画像データを、画像回転方向に応じたブロックの順序で１ラインずつ読み出す第２の読出手段と、
第２の読出手段により読み出された画像データを出力する出力手段とを備えることを特徴とする画像処理装置。
【請求項２】
画像データを右９０°回転させる場合に、前記第２の読出手段は、書き戻された画像データを、主走査方向の元からスタートして、副走査方向と逆方向に沿ったブロックの順序で１ラインずつ読み出し、当該副走査方向と逆方向に沿った全ブロックの全ラインについて読出しが終わると、主走査方向に１列ずらして、同様に読出していくことを特徴とする請求項１記載の画像処理装置。
【請求項３】
画像データを左９０°回転させる場合に、前記第２の読出手段は、書き戻された画像データを、主走査方向の先からスタートして、副走査方向に沿ったブロックの順序で１ラインずつ読み出し、当該副走査方向に沿った全ブロックの全ラインについて読出しが終わると、主走査方向と逆の方向に１列ずらして、同様に読出していくことを特徴とする請求項１記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像データを回転させて出力することのできる画像処理装置に関するものである。
【０００２】
【従来の技術】
最近の複写機、ファクシミリ、プリンタの画像処理装置などでは、読み取る原稿の向きが所望の向きと違う場合に、画像処理装置が自動的に画像データを回転させて出力することができる機能を備えている。
原稿の向きが所望の向きと違う場合とは、例えば、原稿を誤っておいた場合の他、２イン１などの集約機能を使って、印刷する原稿の向きを自由に設定したい場合、Ａ３のような広い原稿をＡ４などの小さな用紙に縮小印刷したい場合などがある。
【０００３】
このような場合、画像データを回転させるには、従来では、スキャナで読み取った画像データをブロック単位でいったん画像一時メモリに退避させ、この画像一時メモリに対して、アドレス操作により右９０°又は左９０°の回転を施して新たな画像メモリの領域に書き込んでいく、という処理が行われていた。
【０００４】
【特許文献１】特開平１０−２１２５４１号公報
【特許文献２】特開２００１−１２７９７３号公報
【０００５】
【発明が解決しようとする課題】
前記の方法では、回転前の画像データを記憶する画像メモリと、回転後の画像データを記憶する画像メモリとの、通常の２倍容量の画像メモリが必要となる。
そこで、前記特許文献２記載のように、画像入力しながら入力が完了した画像から回転処理をし、回転処理をしながら回転終了した画像から出力することにより、処理の迅速化とメモリの節約を実現する技術もあるが、この技術でも、回転後の画像データを格納するメモリ領域が必要となる。
【０００６】
そこで、本発明は、回転後の画像データを格納するメモリ領域が必要なく、メモリの節約を図ることのできる画像処理装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明の画像処理装置は、画像メモリに記憶された入力画像データをブロック単位で、画像一時（バッファ）メモリの所定領域に書き込む書込手段と、画像一時メモリの所定領域に書き込まれた画像データを、回転方向に応じて、書き込み方向とは異なる方向に読み出す第１の読出手段と、第１の読出手段により読み出された画像データを画像メモリの同じ領域に書き戻す書戻手段と、書き戻された後の画像データを、画像回転方向に応じたブロックの順序で１ラインずつ読み出す第２の読出手段と、第２の読出手段により読み出された画像データを出力する出力手段とを備えるものである。
【０００８】
前記の構成によれば、まず、画像データをブロック単位で、画像一時メモリの所定領域に書き込み、各ブロックごとの画像データを、画像全体を回転させたい方向と同一の方向に回転させて読み出す。読み出した画像データは、従来のように別の画像メモリにマッピングするのではなく、もとの画像メモリの同じ領域に書き戻す。回転対象となる画像データ領域を構成する各ブロックについて書き戻しが完了すると、書き戻された後の画像データを、画像回転方向に応じたブロックの順序で１ラインずつ読み出す。これにより、画像全体が回転した回転後の画像データを出力することができる。
【０００９】
前記「画像回転方向に応じたブロックの順序で１ラインずつ読み出す」とは、画像データを右９０°回転させる場合は、書き戻された画像データを、主走査方向の元からスタートして、副走査方向と逆方向に沿ったブロックの順序で１ラインずつ読み出し、当該副走査方向と逆方向に沿った全ブロックの全ラインについて読出しが終わると、主走査方向に１列ずらして、同様に読出していき、主走査方向の先まで繰り返していくことをいう。つまり、ブロック配置の左下から真上に向かって１ラインずつ繰り返し読出し、その列が終了すると、次の１つ右の列のブロックの真下から真上に向かって１ラインずつ繰り返し読み出し、最後には、一番右の列のブロックの真下から真上に向かって１ラインずつ繰り返し読み出していく。
【００１０】
画像データを左９０°回転させる場合は、書き戻された画像データを、主走査方向の先からスタートして、副走査方向に沿ったブロックの順序で１ラインずつ読み出し、当該副走査方向に沿った全ブロックの全ラインについて読出しが終わると、主走査方向と逆の方向に１列ずらして、同様に読出していき、主走査方向の元まで繰り返していくことをいう。つまり、ブロック配置の右上から真下に向かって１ラインずつ繰り返し読出し、その列が終了すると、次の１つ左の列のブロックの真上から真下に向かって１ラインずつ繰り返し読み出し、最後には、一番左の列のブロックの真上から真下に向かって１ラインずつ繰り返し読み出していく。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態を、添付図面を参照しながら詳細に説明する。
図１は、本発明の画像処理装置の一実施形態としての、画像処理機能を有するディジタルスキャナ１を示すブロック図である。
ディジタルスキャナ１は、原稿台２の上の原稿３を露光ランプ４により照明走査し、その反射光を反射ミラー５によりＣＣＤイメージセンサ６に導く。ＣＣＤイメージセンサ６は、受けた光を光電変換して光の強弱に応じた画像信号に変換しＲＧＢごとに出力する。画像処理部（Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７は、このＣＣＤイメージセンサ６の画像信号に対してＣＣＤ感度補正などの処理を行い、必要に応じて本発明の画像の回転操作を行う。
【００１２】
その後画像信号は、画像圧縮伸張処理が施されてメモリに落とされ、随時、インターフェイスを通してネットワークに送出される。ネットワークに送出された信号は、パーソナルコンピュータなどの相手方の端末装置で受信され、画像が表示される。
また、画像信号は、濃度補正、エッジ処理などの処理が行われた上、Ｃ（シアン）Ｍ（マゼンタ）Ｙ（イエロー）Ｋ（ブラック）の画像信号に変換されて、公知の電子複写式の画像形成装置（図示せず）に供給される。画像形成装置は、一定の速度で回転する感光体表面に、各画像信号に応じたトナー像を形成し、用紙にそれぞれ転写し、用紙に転写されたトナー像を定着することにより、当該用紙の上にカラー画像を形成する。
【００１３】
図２は、原稿台２上の原稿３の走査方向を説明するための平面図である。走査方向には、「主走査方向」と「副走査方向」とがある。副走査方向は、露光ランプ４が露光しながら進む方向である。主走査方向は、それに直角な方向であり、原稿に向かって副走査方向を反時計回りに９０°回転した方向である。なお、図２は、上から見た平面図であり、原稿は下向けにセットされるので、原稿の裏を見ている。したがって、主走査方向は、副走査方向を時計回りに９０°回転した方向に描かれている。
【００１４】
なお、スキャナに原稿自動供給装置を取り付け、原稿自動供給装置から搬送されてくる原稿を定位置に配置したイメージセンサで読み取ることのできるタイプのスキャナにおいて、原稿自動供給装置から搬送されてくる原稿を当該イメージセンサで読み取る場合でも、本発明を適用することができる。この場合、原稿が搬送される方向を副走査方向とする。
図３は、画像処理部７の内部構成を示すブロック図である。同図に示すように、画像処理部７は、ＣＣＤイメージセンサ６の画像信号にＣＣＤ感度補正など施す入力画像処理部１１、入力画像処理された画像信号を蓄積するＳＤＲＡＭからなるビットマップメモリ１３、ビットマップメモリ１３のデータ出し入れを制御するメモリ制御部１２、ビットマップメモリ１３に蓄積された画像信号に対して濃度補正、エッジ処理などの画像処理を行い、Ｃ，Ｍ，Ｙ又はＫの画像信号に変換する出力画像処理部１４を備えている。
【００１５】
さらに、画像処理部７は、画像信号に対して画像圧縮伸張処理を施すＪＰＥＧ圧縮伸張部１６、ハードディスク１８のデータ出し入れを制御するハードディスク制御部１７、ＪＰＥＧ圧縮伸張された画像信号を蓄えるハードディスク１８、並びにネ．ットワークインターフェイス１９を備えている。
この画像処理部７の動作を説明すると、ＣＣＤイメージセンサ６で読み取られた画像信号は、入力画像処理部１１でＣＣＤ感度補正などが施され、メモリ制御部１２を経由してビットマップメモリ１３に蓄積される。ビットマップメモリ１３へのデータの転送は、特定の大きさのブロック単位で行う。ビットマップメモリ１３は、Ａ３カラー画像一面分のデータの蓄積が可能である。蓄積された画像データは、印刷する際にメモリ制御部１２を経由して出力画像処理部１４に出力され、ここで設定に応じた画像処理が行われ、Ｃ，Ｍ，Ｙ又はＫの画像信号に変換され、画像形成処理部１５に送られる。画像形成処理部１５は、この画像信号に基づき、前述した画像形成装置を用いて用紙への画像形成処理を行う。
【００１６】
ビットマップメモリ１３に画像データを蓄積する際に、画像の  右９０°又は左９０°の回転を行うことができる。
図４は、画像の回転操作に関連したメモリ制御部１２の機能を説明するための機能ブロック図である。
メモリ制御部１２は、ビットマップメモリ１３に書き込む入力画像データを一時蓄える画像入力バッファ２３、出力画像処理部１４に出力する画像データを一時蓄える画像出力バッファ２７、画像を回転させる処理に使用する回転バッファ２５、画像を圧縮伸張する処理に使用する圧縮伸張バッファ２９、及びこれらの各バッファにアクセスするアドレスを生成してアクセス制御するＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）２２，２４，２６，２８を備えている。さらにメモリ制御部１２は、各ＤＭＡＣのアクセスの調停、アクセスのためのタイミング制御を行うビットマップメモリインターフェイス２１を備えている。
【００１７】
回転バッファ２５は、１ブロック分の容量を持っている。１ブロックのサイズは、例えば３２ドット×３２ラインとする。この３２×３２という数値は、一例であり、他の数値を採用してもよいことはもちろんである。回転ＤＭＡＣ２４は、この回転バッファ２５に書き込む方向と、回転バッファ２５から読み出す方向とを変更することにより、ブロック内の画像の回転を行う。
本発明は、ＤＭＡＣのアドレス生成方法を設定することにより、回転後のメモリを必要としない回転処理を提供するものである。
【００１８】
以下、本発明の画像の回転処理の内容を詳しく説明する。
図５は、ビットマップメモリ１３に書き込まれた画像の一例を示す図解図である。ビットマップメモリ１３は、前記サイズを持つ複数のブロックにより構成されている。ここでは、６ブロックの領域に書かれた画像「Ｐ」を回転する場合を例にとって説明する。なお、図５において、一度にアクセスできるデータの大きさを「メモリアクセス単位」という。図５では、１ライン分の画素数（３２ドット）を、メモリアクセス単位としている。
【００１９】
（１）右９０°回転する場合
回転ＤＭＡＣ２４は、図６（ａ）に示すように、ビットマップメモリ１３の一番左上にある１ブロック分の画像データを、回転バッファ２５に書き込む。このときの書き込み方向は、図６（ｂ）に示した縦の方向である。書き込み終了後、回転ＤＭＡＣ２４は、書き込み方向から＋９０°回転した方向（反時計回りの方向をプラスとしている）に、回転バッファ２５に書き込まれた画像データを読み出す。読み出した画像データは、ビットマップメモリ１３のもとの領域に上書きする。これにより、ブロック内での回転が完了する。
【００２０】
次に、図７（ａ）に示すように、ビットマップメモリ１３の主走査方向にある次のブロック分の画像データを、回転バッファ２５に書き込む。このときの書き込み方向は、図７（ｂ）に示した縦の方向である。書き込み終了後、書き込み方向から＋９０°回転した方向に、回転バッファ２５に書き込まれた画像データを読み出す。読み出した画像データは、ビットマップメモリ１３のもとの領域に上書きする。これにより、次の画像データのブロック内での回転が完了する。
【００２１】
さらに、以上と同様の回転操作を、ビットマップメモリ１３の主走査方向にある次のブロックで行う。一番右のブロックまで来ると、次の副操作方向に移って、前記と同様の回転処理を繰り返す。このブロックの順序を、図８に矢印Ａで示している。なお、本発明では、回転処理を行うブロックの順序は任意であり、必ずしも図８に示した順序に限定されない。
この結果、図８に示すように、ビットマップメモリ１３のすべてのブロックについて、画像の回転が終了する。
【００２２】
次にブロック内で回転した画像を、画像全体が回転するようなブロックの順序で読み出す。
図９（ａ）は、この読み出し方法を説明するための図解図である。図９（ａ）において、一番左下のブロックの１ライン目（１）から開始して、その上のブロックの１ライン目（２）、さらにその上のブロックの１ライン目（３）と、メモリアクセス単位で、副走査方向と逆の方向に読み出し、一番上のブロックまで来ると、一番下のブロックに戻って２ライン目（４）を読み、同様に副走査方向と逆の方向に、ブロックごとに１ラインずつ読み出していく。一番上のブロックの最終ライン（ｎ）まで読むと、次の主走査方向にある一番下のブロックから、同様に副走査方向と逆の方向に、ブロックごとに１ラインずつ読み出していく。
【００２３】
読み出した画像データの出力は、図９（ｂ）に示すように、主走査方向に沿った出力となる。すなわち、一番左上のブロックの１ライン目（１）から開始して、その右のブロックの１ライン目（２）、さらにその右のブロックの１ライン目（３）と、主走査方向に沿って出力する。一番右のブロックまで来ると、一番左のブロックに戻って２ライン目（４）を出力し、同様に主走査方向にあるブロックごとに１ラインずつ出力していく。一番右のブロックの最終ライン（ｎ）まで出力すると、次の副走査方向にある一番左のブロックから、同様に主走査方向に、ブロックごとに１ラインずつ出力していく。
【００２４】
このようにして、画像全体が右９０°回転した画像データを出力することができる。
（２）左９０°回転する場合
回転ＤＭＡＣ２４を起動すると、回転ＤＭＡＣ２４は、図１０（ａ）に示すように、ビットマップメモリ１３の一番左上にある１ブロック分の画像データを、回転バッファ２５に書き込む。このときの書き込み方向は、図１０（ｂ）に示した縦の方向である。回転ＤＭＡＣ２４は、書き込み終了後、書き込み方向から−９０°回転した方向（時計回りの方向をマイナスとしている）に、回転バッファ２５に書き込まれた画像データを読み出す。読み出した画像データは、ビットマップメモリ１３のもとの領域に上書きする。これにより、ブロック内での回転が完了する。
【００２５】
次に、図１１（ａ）に示すように、ビットマップメモリ１３の主走査方向にある次のブロック分の画像データを、回転バッファ２５に書き込む。このときの書き込み方向は、図１１（ｂ）に示した縦の方向である。書き込み終了後、書き込み方向とは−９０°回転した方向に、回転バッファ２５に書き込まれた画像データを読み出す。読み出した画像データは、ビットマップメモリ１３のもとの領域に上書きする。これにより、次の画像データのブロック内での回転が完了する。
【００２６】
さらに、以上と同様の回転操作を、ビットマップメモリ１３の主走査方向にある次のブロックで行う。一番右のブロックまで来ると、次の副操作方向に移って、前記と同様の回転処理を繰り返す。このブロックの推移を、図１２に矢印Ｂで示している。
この結果、図１２に示すように、ビットマップメモリ１３のすべてのブロックについて、画像の回転が終了する。
【００２７】
次にブロック内で回転した画像を、画像全体が回転するような順序で読み出す。
図１３（ａ）は、この読み出し方法を説明するための図解図である。図１３（ａ）において、一番右上のブロックの１ライン目（１）から開始して、その下のブロックの１ライン目（２）、さらにその下のブロックの１ライン目（３）と、メモリアクセス単位で、副走査方向に読み出し、一番下のブロックまで来ると、一番上のブロックに戻って２ライン目（４）を読み、同様に副走査方向に、ブロックごとに１ラインずつ読み出していく。一番下のブロックの最終ライン（ｎ）まで読むと、次の主走査方向と逆の方向にある一番上のブロックから、同様に副走査方向に、ブロックごとに１ラインずつ読み出していく。
【００２８】
読み出した画像データの出力は、図１３（ｂ）に示すように、主走査方向に沿った出力となる。すなわち、一番左上のブロックの１ライン目（１）から開始して、その右のブロックの１ライン目（２）、さらにその右のブロックの１ライン目（３）と、主走査方向に沿って出力する。一番右のブロックまで来ると、一番左のブロックに戻って２ライン目（４）を出力し、同様に主走査方向にあるブロックごとに１ラインずつ出力していく。一番右のブロックの最終ライン（ｎ）まで出力すると、次の副走査方向にある一番左のブロックから、同様に主走査方向に、ブロックごとに１ラインずつ出力していく。
【００２９】
このようにして、画像全体が左９０°回転した画像データを出力することができる。
なお、いままでの本実施の形態において、図５に示したように、１つの文字をビットマップメモリ１３の複数のブロックに分割して記憶し、それをブロック単位で回転させ、回転方向に応じたブロックの順序で１ラインずつ読み出して文字全体を回転させた。しかし、１つの文字は必ずしも複数のブロックに分割して記憶しなくてもよい。
【００３０】
例えば、図１４（ａ）に、１つの文字を１つのブロックに割り当てた原稿画像を示す。これらの文字からなる原稿画像を左９０°回転させる場合、回転バッファ２５を利用して、図１４（ｂ）に示すように、ブロック単位で、各文字を左９０°回転させる。その後は図１３と同様、最右列からスタートして、副走査方向に沿ったブロックの順序Ｃで１ラインずつ読み出し、当該副走査方向に沿った全ブロックの全ラインについて読出しが終わると、左に１列ずらして、同様に読出していく。これにより、画像全体が左９０°回転した画像図１４（ｃ）を得ることができる。
【００３１】
図１４は、１つの文字を１つのブロックに割り当て、これらの文字からなる原稿画像を左９０°回転させる場合を示したが、右９０°回転させることも可能である（図示せず）。
以上で、本発明の実施の形態を説明したが、本発明の実施は、前記の形態に限定されるものではなく、本発明の範囲内で種々の変更を施すことが可能である。
【００３２】
【発明の効果】
以上のように本発明によれば、画像データをブロック単位で、画像一時メモリの所定領域に書き込み、各ブロックごとの画像データを、画像全体を回転させたい方向に回転させて読み出し、読み出した画像データをもとの画像メモリの同じ領域に書き戻すので、回転後の画像データを格納するメモリ領域が必要なく、メモリの節約を図ることのできる。そして、回転対象となる画像データ領域を構成する各ブロックについて書き戻しが完了すると、書き戻された後の画像データを、画像回転方向に応じたブロックの順序で１ラインずつ読み出すことにより、画像全体が回転した回転後の画像データを出力することができる。
【図面の簡単な説明】
【図１】本発明の画像処理装置の一実施形態としてのディジタルスキャナを示すブロック図である。
【図２】原稿台２上の原稿３の走査方向を説明するための平面図である。
【図３】画像処理部７の内部構成を示すブロック図である。
【図４】画像の回転操作に関連したメモリ制御部１２の機能を説明するための機能ブロック図である。
【図５】ビットマップメモリ１３に書き込まれた画像の一例を示す図解図である。
【図６】ビットマップメモリ１３の１ブロック分の画像データを、回転バッファ２５を使って右９０°回転させる例を示す図解図である。
【図７】ビットマップメモリ１３の他の１ブロック分の画像データを、回転バッファ２５を使って右９０°回転させる例を示す図解図である。
【図８】回転処理を行うブロックの順序の一例を示す図である。
【図９】ブロック内で回転した画像を、画像全体が回転するような順序で読み出す方法を説明するための図解図である。
【図１０】ビットマップメモリ１３の１ブロック分の画像データを、回転バッファ２５を使って左９０°回転させる例を示す図解図である。
【図１１】ビットマップメモリ１３の他の１ブロック分の画像データを、回転バッファ２５を使って左９０°回転させる例を示す図解図である。
【図１２】回転処理を行うブロックの順序の一例を示す図である。
【図１３】ブロック内で回転した画像を、画像全体が回転するような順序で読み出す方法を説明するための図解図である。
【図１４】１つの文字を１つのブロックに割り当て、これらの文字からなる原稿画像を左９０°回転させる方法を説明するための図解図である。
【符号の説明】
１  ディジタルスキャナ
２  原稿台
３  原稿
４  露光ランプ
５  反射ミラー
６  ＣＣＤイメージセンサ
７  画像処理部
１１  入力画像処理部
１２  メモリ制御部
１３  ビットマップメモリ
１４  出力画像処理部
２１  ビットマップメモリインターフェイス
２４  ＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）
２５  回転バッファ
【図１】
2004222199.tif 000003
【図２】
2004222199.tif 000004
【図３】
2004222199.tif 000005
【図４】
2004222199.tif 000006
【図５】
2004222199.tif 000007
【図６】
2004222199.tif 000008
【図７】
2004222199.tif 000009
【図８】
2004222199.tif 000010
【図９】
2004222199.tif 000011
【図１０】
2004222199.tif 000012
【図１１】
2004222199.tif 000013
【図１２】
2004222199.tif 000014
【図１３】
2004222199.tif 000015
【図１４】
2004222199.tif 000016