(57)【要約】      （修正有）【課題】小さい規模のラインメモリーを使用してハードウェア処理での回転処理を可能とする画像処理装置を提供する。【解決手段】ブロック出力部２は、原稿画像を分割して得られる画像ブロックの画像データを出力する。ラインメモリーは、スタティックＲＡＭにおける一定ワード数の幅を有するメモリー領域３ａに設定されている。データ書込部は、画像ブロックの画像データをラインメモリに書き込む。データ読出部は、ラインメモリーから画像データを１ワードずつ読み出し、回転角度に応じた順序で画像データを出力する。コントローラー５は、画像ブロックのブロックサイズを回転角度に応じた値に設定する。【選択図】図１
2019129356.tif 000002
【特許請求の範囲】
【請求項１】
スタティックＲＡＭにおける一定ワード数の幅を有するメモリー領域に設定されたラインメモリーと、
原稿画像を分割して得られる画像ブロックの画像データを出力するブロック出力部と、
前記画像ブロックの画像データを前記ラインメモリーに書き込むデータ書込部と、
前記ラインメモリーから前記画像データを１ワードずつ読み出し、回転角度に応じた順序で前記画像データを出力するデータ読出部と、
前記画像ブロックのブロックサイズを前記回転角度に応じた値に設定するコントローラーと、
を備えることを特徴とする画像処理装置。
【請求項２】
自動原稿送り器とプラテンガラスとを備え、前記自動原稿送り器により搬送されてきた原稿から前記原稿画像を読み取る第１モード、および、前記プラテンガラスに載置された原稿から前記原稿画像を読み取る第２モードを動作モードとして実行可能な画像読取部をさらに備え、
前記コントローラーは、（ａ）前記第１モードでの前記回転角度の上限値を、前記第２モードでの前記回転角度の上限値より小さく設定し、（ｂ）前記第１モードでの前記ブロックサイズを、前記第２モードでの前記ブロックサイズより大きく設定し、（ｃ）前記メモリー領域をワード方向において所定分割数に分割して、前記第１モードでの前記ラインメモリーの本数を前記第２モードでの前記ラインメモリーの本数より少なく、かつ、前記第１モードでの前記ラインメモリーの長さを前記第２モードでの前記ラインメモリーの長さより大きく設定すること、
を特徴とする請求項１記載の画像処理装置。
【請求項３】
前記一定ワード数は、前記第１モードでの前記ブロックサイズおよび前記分割数に基づいて設定されていることを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記第２モードでの前記回転角度の上限値は４５度であることを特徴とする請求項２記載の画像処理装置。
【請求項５】
１または複数のカラムバッファーをさらに備え、
前記データ読出部は、１ワードごとに読み出した前記画像データを前記カラムバッファーに記憶し、読み出した前記画像データと前記カラムバッファーに記憶された前記画像データとに基づいて、回転処理とともに、補間処理または変倍処理を行うこと、
を特徴とする請求項１から請求項４のうちのいずれか１項記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関するものである。
【背景技術】
【０００２】
ある画像処理装置は、画像の回転角度に応じて回転処理に必要な最小限サイズのバッファーを確保し、回転角度に応じたアクセス方法でバッファー内の画像データにアクセスして、回転処理を行う（例えば特許文献１参照）。
【０００３】
また、別の画像処理装置は、画像ブロックごとに、９０度単位の回転処理を行う（例えば特許文献２参照）。
【０００４】
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１９７０５０号公報
【特許文献２】特開２０００−１２５１１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の画像処理装置のように、ソフトウェア処理で回転処理を行う場合、回転角度に応じてバッファーを確保することができるが、ハードウェア処理で高速に回転処理を行う場合、所定サイズのラインメモリーを使用するため、回転角度が大きいほど、大きなサイズのラインメモリーが必要になってしまう。
【０００７】
本発明は、上記の問題に鑑みてなされたものであり、小さい規模のラインメモリーを使用してハードウェア処理で回転処理を実行する画像処理装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る画像処理装置は、スタティックＲＡＭ（Random Access Memory）における一定ワード数の幅を有するメモリー領域に設定されたラインメモリーと、原稿画像を分割して得られる画像ブロックの画像データを出力するブロック出力部と、前記画像ブロックの画像データを前記ラインメモリーに書き込むデータ書込部と、前記ラインメモリーから前記画像データを１ワードずつ読み出し、回転角度に応じた順序で前記画像データを出力するデータ読出部と、前記画像ブロックのブロックサイズを前記回転角度に応じた値に設定するコントローラーとを備える。
【発明の効果】
【０００９】
本発明によれば、小さい規模のラインメモリーを使用してハードウェア処理で回転処理を実行する画像処理装置が得られる。
【００１０】
本発明の上記又は他の目的、特徴および優位性は、添付の図面とともに以下の詳細な説明から更に明らかになる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。
【図２】図２は、図１におけるメモリー領域３ａを説明する図である。
【図３】図３は、実施の形態１における回転バッファー部３の構成の一例を示すブロック図である。
【図４】図４は、図１におけるブロック出力部２に設定されるブロックサイズについて説明する図である。
【図５】図５は、第１モードのためのメモリー領域３ａの分割について説明する図である。
【図６】図６は、実施の形態１における第１モードでの回転バッファー部３の構成の一例を示すブロック図である。
【図７】図７は、実施の形態２における回転バッファー部３の構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下、図に基づいて本発明の実施の形態を説明する。
【００１３】
実施の形態１．
【００１４】
図１は、本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。図１に示す画像処理装置は、例えば、スキャナー、コピー機、ファクシミリ機、複合機などであって、原稿から原稿画像を光学的に読み取り、ハードウェア処理で、その原稿画像を回転させる。
【００１５】
図１に示す画像処理装置は、画像読取部１、ブロック出力部２、回転バッファー部３、画像処理部４、およびコントローラー５を備える。
【００１６】
画像読取部１は、プラテングラス、自動原稿送り器、画像読取光学系、撮像素子、画像データ生成回路などを備え、プラテングラスに載置された原稿、または自動原稿送り器により搬送されてきた原稿の原稿画像を、画像読取光学系によって撮像素子に撮像させ、画像データ生成回路によって、撮像素子により読み取られた画像（原稿画像）の画像データを出力する。ここでは、撮像素子はラインセンサーであり、画像読取部１は、１ラインずつ画像データを出力する。
【００１７】
画像読取部１は、自動原稿送り器により搬送されてきた原稿から原稿画像を読み取る第１モード、および、プラテンガラスに載置された原稿から原稿画像を読み取る第２モードを動作モードとして実行可能である。
【００１８】
例えば、自動原稿送り器は、自動原稿送り器に原稿がセットされたことを検知するセンサーを備え、画像読取部１は、そのセンサーにより原稿が検出された場合には、第１モードで画像読取を実行し、そうではない場合には、第２モードで画像読取を実行する。
【００１９】
ブロック出力部２は、画像読取部１から出力される画像データを受け付け、原稿画像を分割して得られる画像ブロックの画像データとして回転バッファー部３に出力するバッファー回路である。
【００２０】
ブロック出力部２は、画像ブロックのライン数（副走査方向の幅）と同数のライン（原稿画像のライン）を画像読取部１から受信すると、そのラインを主走査方向に分割して得られる画像ブロックの画像データを所定の順序で出力する。
【００２１】
回転バッファー部３は、画像ブロックの回転処理のために、一時的に、画像ブロックを保持するためのバッファーである。
【００２２】
【００２３】
回転バッファー部３は、図示せぬスタティックＲＡＭにおける一定ワード数の幅を有するメモリー領域３ａを備え、そのメモリー領域３ａには、所定のＮ本（Ｎ＞１）のラインメモリー１１−１〜１１−Ｎが設定されている。
【００２４】
図２は、図１におけるメモリー領域３ａを説明する図である。
【００２５】
リードライトの単位となる１ワードが、Ｎ本のラインにおける主走査方向の同一位置のＮ個の画素に対応し、メモリー領域３ａとして、Ｍ画素×Ｎライン分の領域が確保される。ここで、１画素のデータ量が２４ビットである場合（例えば８ビットＲＧＢカラーデータの場合）、１ワードのビット長は、２４×Ｎビットとなる。
【００２６】
図３は、実施の形態１における回転バッファー部３の構成の一例を示すブロック図である。図３に示すように、回転バッファー部３は、データ書込部１２と、データ読出部１３とをさらに備える。
【００２７】
データ書込部１２は、上述の画像ブロックの画像データをラインメモリー１１−１〜１１−Ｎに書き込む回路である。
【００２８】
データ読出部１３は、ラインメモリー１１−１〜１１−Ｎから画像データを１ワードずつ読み出し、回転角度に応じた順序で画像データを出力する。
【００２９】
具体的には、第ｊワード（ｊ＝１，・・・，Ｍ）の画像データとして、ラインメモリー１１−１〜１１−Ｎにおける第ｊ画素の画像データ（つまり、Ｎ画素分の画像データ）が、１回のデータリードで読み出される。
【００３０】
図１に戻り、画像処理部４は、回転された後の原稿画像の画像データに対して所定の画像処理を実行する。
【００３１】
コントローラー５は、画像読取部１、ブロック出力部２、回転バッファー部３などを制御する。特に、コントローラー５は、上述の画像ブロックのブロックサイズを回転角度に応じた値に設定する。
【００３２】
ここで、回転角度は、ユーザーにより設定されてもよいし、読取画像から自動的に検出される原稿画像の傾き角をゼロにするように自動的に設定されるようにしてもよい。
【００３３】
図４は、図１におけるブロック出力部２に設定されるブロックサイズについて説明する図である。なお、ブロックサイズは、画像ブロックの主走査方向の幅（画素数）である。画像ブロックの副走査方向の幅（画素数）も、ブロックサイズとしてもよい。
【００３４】
ラインメモリー１１−１〜１１−Ｎの本数をＮとし、回転角度をｄ（度）とすると、ブロックサイズＢＳ（ｄ）の上限値ＢＳｍ（ｄ）は、Ｎ＝ｃｅｉｌ（ＢＳｍ（ｄ）×ｓｉｎ（ｄ×π／１８０））＋１で表される（なお、ｃｅｉｌ（ｘ）は、ｘ以上でかつ最小の整数を返す関数である）。なお、右辺の「＋１」は、回転を行わない際に使用される１本のラインメモリーを示している。例えば、Ｎ＝２０かつｄ＝４５度の場合、（２０−１）＝ｃｅｉｌ（ＢＳｍ（４５）×ｓｉｎ（４５×π／１８０）））となり、ＢＳｍ（４５）＝２６画素となる。また、Ｎ＝２０かつｄ＝１０度の場合、（２０−１）＝ｃｅｉｌ（ＢＳｍ（１０）×ｓｉｎ（４５×π／１８０）））となり、ＢＳｍ（１０）＝１０９画素となる。
【００３５】
さらに、コントローラー５は、（ａ）上述の第１モードでの回転角度の上限値を、第２モードでの回転角度の上限値より小さく設定し、（ｂ）第１モードでのブロックサイズを、第２モードでのブロックサイズより大きく設定し、（ｃ）メモリー領域３ａをワード方向において所定分割数に分割して、第１モードでのラインメモリーの本数を第２モードでのラインメモリーの本数より少なく、かつ、第１モードでのラインメモリーの長さを第２モードでのラインメモリーの長さより大きく設定する。
【００３６】
第１モードでは、自動原稿送り器によって連続的に原稿画像が読み取られるため、原稿画像の回転を高速に処理することが要求されるため、ブロックサイズが大きく設定され、そのブロックサイズに合わせて、第２モードの場合に比べ、ラインメモリーに対するリードライトの順序が変更される。
【００３７】
図５は、第１モードのためのメモリー領域３ａの分割について説明する図である。図６は、実施の形態１における第１モードでの回転バッファー部３の構成の一例を示すブロック図である。
【００３８】
なお、図３は、第２モードでの回転バッファー部３の構成を示しており、図４は、第２モードでのブロックサイズＢＳ（ｄ）を説明している。
【００３９】
図５に示す場合では、メモリー領域３ａが、２つの分割領域３１，３２へ分割され、図６に示すように、実質的に（つまり、リードライトの観点からでは）、各ラインメモリー４１−ｉ（ｉ＝１，・・・，Ｎ／２）の画素数が２×Ｍである、Ｎ／２本のラインメモリー４１−１〜４１−（Ｎ／２）が設定される。
【００４０】
つまり、物理的には、図２に示すようにメモリー領域３ａが確保されているが、論理的には、図６に示すようにラインメモリー４１−１〜４１−（Ｎ／２）が設定される。
【００４１】
そして、物理的には、１ワードで、Ｎ個の画素のリードライトが行われるため、第１モードでは、図６に示すように、１回のライトで、２つの画素位置（ｊとＭ＋ｊ）の画像データが書き込まれ、１回のリードで、２つの画素位置（ｊとＭ＋ｊ）の画像データが読み出される。
【００４２】
なお、メモリー領域３ａのワード数は、第１モードでのブロックサイズおよび分割数に基づいて設定されている。例えば、第１モードでのブロックサイズＢＳ１が２５６画素であり分割数が２である場合、ワード数が１２８（＝２５６／２）になるように、メモリー領域３ａは確保される。
【００４３】
また、例えば、第２モードでの回転角度の上限値は４５度とされ、第１モードでの回転角度の上限値は２度とされる。
【００４４】
なお、例えば、ブロック出力部２、回転バッファー部３、画像処理部４、およびコントローラー５は、ソフトウェア処理を行うプロセッサーを含まず専用回路で上述の処理を行うＡＳＩＣ（Application Specific Integrated Circuit）である。
【００４５】
次に、上記画像処理装置の動作について説明する。
【００４６】
なお、ここでは、上述の分割数が２である場合について説明する。上述の分割数は３でもよい。
【００４７】
コントローラー５は、画像読取部１の動作モード（上述の第１モードまたは第２モード）を特定し、特定した動作モードに応じた動作をするように、ブロック出力部２および回転バッファー部３を設定する。さらに、コントローラー５は、原稿画像の回転角度を特定し、回転バッファー部３に設定する。
【００４８】
（ａ）第１モードの場合
【００４９】
画像読取部１が第１モードで画像読取を行う場合、コントローラー５は、第１モードのための所定のブロックサイズをブロック出力部２に設定し、さらに、回転バッファー部３におけるラインメモリーの構成を、図６に示すように設定する。
【００５０】
そして、ブロック出力部２は、画像ブロックの各ラインの画素位置ｊ，Ｍ＋ｊ（ｊ＝１，・・・，ＢＳ１／２；ＢＳ１＝２Ｍ）の２つの画素の画像データを順番に出力し、回転バッファー部３では、図６に示すように、データ書込部１２が、その２つの画素の画像データを、１ワード（つまり、１回）の書き込みで、ラインメモリー４１−１〜４１−（Ｎ／２）における対応する位置に書き込む。
【００５１】
このようにして、画像ブロックの画像データが順番にラインメモリー４１−１〜４１−（Ｎ／２）に格納されておき、上述の回転角度に必要なライン数の画像データが、ラインメモリー４１−１〜４１−（Ｎ／２）に格納されると、データ読出部１３は、その画像データを順番に読み出し、回転角度に応じた回転処理を行い、回転後の１ラインの画像データを出力する。その後、データ読出部１３は、１ラインずつ、順次、同様の回転処理を行い、回転後の１ラインの画像データを出力する。
【００５２】
このとき、図６に示すように、データ読出部１３は、各ラインメモリー４１−１〜４１−（Ｎ／２）の画素位置ｊ，Ｍ＋ｊ（ｊ＝１，・・・，Ｍ）の合計Ｎ個の画像データを１ワードとして読み出し、回転処理を行う。つまり、ラインメモリー４１−ｉの長さは２Ｍであるが、Ｍ回のリードで、ラインメモリー４１−ｉ内の全データを読み出せる。
【００５３】
このようにして、第１モードでは、回転バッファー部３は、物理的に固定サイズのメモリー領域３ａを分割してラインメモリー４１−ｉを長く設定し、ブロックサイズを大きくして、高速に回転処理を実行する。
【００５４】
（ｂ）第２モードの場合
【００５５】
画像読取部１が第２モードで画像読取を行う場合、コントローラー５は、特定した回転角度に応じたブロックサイズをブロック出力部２に設定し、さらに、回転バッファー部３におけるラインメモリーの構成を、図３に示すように設定する。
【００５６】
そして、ブロック出力部２は、画像ブロックの各ラインの画素位置ｊ（ｊ＝１，・・・，Ｍ）の１つの画素の画像データを順番に出力し、回転バッファー部３では、図３に示すように、データ書込部１２が、その１つの画素の画像データを、１ワード（つまり、１回）の書き込みで、ラインメモリー１１−１〜１１−Ｎにおける対応する位置に書き込む。なお、このとき、ラインメモリー１１−１におけるＭ画素分の領域のうち、ブロックサイズＢＳ（ｄ）分の領域だけが使用される。
【００５７】
このようにして、画像ブロックの画像データが順番にラインメモリー１１−１〜１１−Ｎに格納されておき、上述の回転角度に必要なライン数の画像データが、ラインメモリー１１−１〜１１−Ｎに格納されると、データ読出部１３は、その画像データを順番に読み出し、回転角度に応じた回転処理を行い、回転後の１ラインの画像データを出力する。その後、データ読出部１３は、１ラインずつ、順次、同様の回転処理を行い、回転後の１ラインの画像データを出力する。
【００５８】
このとき、図３に示すように、データ読出部１３は、各ラインメモリー１１−１〜１１−Ｎの画素位置ｊ（ｊ＝１，・・・，Ｍ）の合計Ｎ個の画像データを１ワードとして読み出し、回転処理を行う。
【００５９】
このようにして、第２モードでは、回転バッファー部３は、物理的に固定サイズのメモリー領域３ａにおいてラインメモリー１１−１〜１１−Ｎの本数を多く設定し、大きな回転角度を許容できるように回転処理を実行する。
【００６０】
以上のように、上記実施の形態１によれば、ブロック出力部２は、原稿画像を分割して得られる画像ブロックの画像データを出力する。ラインメモリー１１−１〜１１−Ｎは、スタティックＲＡＭにおける一定ワード数の幅を有するメモリー領域３ａに設定されている。データ書込部１２は、画像ブロックの画像データをラインメモリー１１−１〜１１−Ｎに書き込む。データ読出部１３は、ラインメモリー１１−１〜１１−Ｎから画像データを１ワードずつ読み出し、回転角度に応じた順序で画像データを出力する。コントローラー５は、画像ブロックのブロックサイズを回転角度に応じた値に設定する。
【００６１】
これにより、（上述の第２モードにおいて）回転角度が大きいほどブロックサイズを小さくすることで、小さい規模のラインメモリー１１−１〜１１−Ｎを使用してハードウェア処理での回転処理が可能とされる。また、（上述の第２モードにおいて）回転角度が小さいほど、ブロックサイズが大きくなるため、処理速度が高くなる。
【００６２】
実施の形態２．
【００６３】
図７は、実施の形態２における回転バッファー部３の構成の一例を示すブロック図である。実施の形態２では、回転バッファー部３は、１または複数のカラムバッファー２１と、演算部２２とをさらに備える。そして、実施の形態２では、データ読出部１３は、１ワードごとに読み出した画像データをカラムバッファー２１に記憶し、読み出した画像データとカラムバッファー２１に記憶されている画像データ（つまり、１回前のリードにより読み出された画像データ）とに基づいて、演算部２２で回転処理とともに補間処理または変倍処理を行う。
【００６４】
ここで、演算部２２は、ハードウェア処理で、上述の補間処理または変倍処理を行う。
【００６５】
なお、実施の形態２に係る画像処理装置のその他の構成および動作については実施の形態１と同様であるので、その説明を省略する。
【００６６】
以上のように、上記実施の形態２によれば、回転処理とともに補間処理または変倍処理が１つのハードウェア処理として実行されるため、補間処理または変倍処理が要求される場合でも、補間処理または変倍処理の処理時間が別途かからずに済む。
【００６７】
なお、上述の実施の形態に対する様々な変更および修正については、当業者には明らかである。そのような変更および修正は、その主題の趣旨および範囲から離れることなく、かつ、意図された利点を弱めることなく行われてもよい。つまり、そのような変更および修正が請求の範囲に含まれることを意図している。
【産業上の利用可能性】
【００６８】
本発明は、例えば、スキャナー、複合機などに適用可能である。
【符号の説明】
【００６９】
１  画像読取部
２  ブロック出力部
３ａ  メモリー領域
５  コントローラー
１１−１〜１１−Ｎ，４１−１〜４１−（Ｎ／２）  ラインメモリー
１２  データ書込部
１３  データ読出部
２１  カラムバッファー
２２  演算部
【図１】
2019129356.tif 000003
【図２】
2019129356.tif 000004
【図３】
2019129356.tif 000005
【図４】
2019129356.tif 000006
【図５】
2019129356.tif 000007
【図６】
2019129356.tif 000008
【図７】
2019129356.tif 000009