(57)【要約】【課題】  原稿の光学読み取りによって生成された原画像を縮小する際に、画素データを保持するラインメモリの記憶容量を削減することができる画像処理装置を提供する。【解決手段】  画像縮小部が、原稿読取部から水平方向に隣接するＮ個の画素データが入力されるごとに当該Ｎ個の画素データを平均化して水平縮小画素データを生成する水平縮小部と、水平縮小画素データを所定値で割った商を求めてゲイン調整値を生成するゲイン調整部と、ゲイン調整値を保持するラインメモリと、ゲイン調整部によってゲイン調整値が生成されるごとに当該ゲイン調整値をラインメモリ上の対応するゲイン調整値に加算することを繰り返し、原稿読取部から垂直方向に隣接するＭ個の画素データが入力されるごとに当該Ｍ個の画素データを平均化した垂直縮小画素データを生成する垂直縮小部により構成される。【選択図】  図２
2010050759.tif 000002
【特許請求の範囲】
【請求項１】
原稿の光学読み取りによって原画像を生成し、画素データを順次に出力する原稿読取部と、上記原画像を水平方向に１／Ｎ（Ｎは２以上の整数）に縮小するとともに、垂直方向に１／Ｍ（Ｍは２以上の整数）に縮小して縮小画像を生成する画像縮小部と、上記縮小画像を表示する画像表示部とを有する画像処理装置であって、
上記画像縮小部は、上記原稿読取部から水平方向に隣接するＮ個の上記画素データが入力されるごとに当該Ｎ個の画素データを平均化して水平縮小画素データを生成する水平縮小部と、
上記水平縮小画素データを所定値で割った商を求めてゲイン調整値を生成するゲイン調整部と、
上記ゲイン調整値を保持するラインメモリと、
上記ゲイン調整部によってゲイン調整値が生成されるごとに当該ゲイン調整値を上記ラインメモリ上の対応するゲイン調整値に加算することを繰り返し、上記原稿読取部から垂直方向に隣接するＭ個の上記画素データが入力されるごとに当該Ｍ個の画素データを平均化した垂直縮小画素データを生成する垂直縮小部とを備えたことを特徴とする画像処理装置。
【請求項２】
上記水平縮小部が、上記画素データを保持するレジスタと、
水平方向に隣接する２以上の上記画素データを加算する加算器と、
ビット位置をシフトさせることによって上記加算器によるＮ個の画素データの加算結果をＮで割った商を求め、上記水平縮小画素データとして出力するシフタとからなることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
上記ラインメモリが、第１ラインメモリ及び第２ラインメモリからなり、
上記垂直縮小部が、第１ラインメモリ及び第２ラインメモリのいずれか一方のラインメモリから上記縮小画像を読み出して上記画像表示部へ出力している間に、他方のラインメモリを使用して上記垂直縮小画素データを生成することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
原稿の光学読み取りによって原画像を生成し、２値の画素データを順次に出力する原稿読取部と、上記原画像を水平方向に１／Ｎ（Ｎは２以上の整数）に縮小するとともに、垂直方向に１／Ｍ（Ｍは２以上の整数）に縮小して縮小画像を生成する画像縮小部と、上記縮小画像を表示する画像表示部とを有する画像処理装置であって、
上記画像縮小部は、上記原稿読取部から水平方向に隣接するＮ個の上記画素データが入力されるごとに当該Ｎ個の画素データを加算した水平縮小画素データを生成する水平縮小部と、
上記水平縮小画素データにＮ，Ｍ及び出力画素データのビット幅に応じて予め定められる所定値を乗算してゲイン調整値を生成するゲイン調整部と、
上記ゲイン調整値を保持するラインメモリと、
上記ゲイン調整部によってゲイン調整値が生成されるごとに当該ゲイン調整値を上記ラインメモリ上の対応するゲイン調整値に加算することを繰り返し、上記原稿読取部から垂直方向に隣接するＭ個の上記画素データが入力されるごとに当該Ｍ個の画素データを平均化した垂直縮小画素データを生成する垂直縮小部とを備えたことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に係り、さらに詳しくは、原稿の光学読み取りによって原画像を生成する原稿読取部と、原画像を縮小して縮小画像を生成する画像縮小部と、縮小画像を表示する画像表示部とを有する画像処理装置の改良に関する。
【背景技術】
【０００２】
画像処理の際に画素データを一時記憶させるメモリとしては、１枚の画像単位で画素データを保持するフレームメモリが使用されることが多かった（例えば、特許文献１〜３）。フレームメモリは、ＤＲＡＭによって構成されるが、近年、高速化及び低消費電力化のために様々な改良がなされている。例えば、メモリコントローラによるバーストアクセスを工夫することによってメモリアクセスの回数を削減している。また、同一ブロック内の任意の画素データに対して、水平走査方向以外に垂直走査方向にもバーストアクセスが可能なメモリ、或いは、マトリクス状にメモリセル群を配置し、行デコーダ及び列デコーダによる画素データの同時アクセスが可能なメモリが提案されている。
【０００３】
この様なフレームメモリを用いる方法は、メモリアクセスのタイミングに余裕があり、また、垂直方向に隣接する複数の画素列を処理単位として行われる画像処理であっても容易に行えるという点で、水平走査方向の画素列単位で画素データを保持するラインメモリを用いるのに比べて有利である。しかしながら、フレームメモリは、ラインメモリに比べてメモリアクセスの制御が複雑であることから、製造コストが増大してしまうという問題があった。
【特許文献１】特開２００１−１９７３６５号公報
【特許文献２】特開昭６１−２８１６７２号公報
【特許文献３】特開２００５−１１７５０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、上記事情に鑑みてなされたものであり、画像処理の際に画素データを一時記憶させるメモリにラインメモリを用いることによって製造コストを削減することができる画像処理装置を提供することを目的とする。特に、原稿の光学読み取りによって生成された原画像を縮小する際に、画素データを保持するラインメモリの記憶容量を削減することができる画像処理装置を提供することを目的とする。また、原画像の縮小処理に要する時間を短縮することができる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
第１の本発明による画像処理装置は、原稿の光学読み取りによって原画像を生成し、画素データを順次に出力する原稿読取部と、上記原画像を水平方向に１／Ｎ（Ｎは２以上の整数）に縮小するとともに、垂直方向に１／Ｍ（Ｍは２以上の整数）に縮小して縮小画像を生成する画像縮小部と、上記縮小画像を表示する画像表示部とを有する画像処理装置であって、上記画像縮小部が、上記原稿読取部から水平方向に隣接するＮ個の上記画素データが入力されるごとに当該Ｎ個の画素データを平均化して水平縮小画素データを生成する水平縮小部と、上記水平縮小画素データを所定値で割った商を求めてゲイン調整値を生成するゲイン調整部と、上記ゲイン調整値を保持するラインメモリと、上記ゲイン調整部によってゲイン調整値が生成されるごとに当該ゲイン調整値を上記ラインメモリ上の対応するゲイン調整値に加算することを繰り返し、上記原稿読取部から垂直方向に隣接するＭ個の上記画素データが入力されるごとに当該Ｍ個の画素データを平均化した垂直縮小画素データを生成する垂直縮小部とを備えて構成される。
【０００６】
この画像処理装置では、原稿読取部から水平方向に隣接するＮ個の画素データが入力されるごとに当該Ｎ個の画素データを平均化して水平縮小画素データが生成され、水平縮小画素データを所定値で割った商としてゲイン調整値が生成される。そして、ゲイン調整部によってゲイン調整値が生成されるごとに当該ゲイン調整値をラインメモリ上の対応するゲイン調整値に加算することを繰り返し、原稿読取部から垂直方向に隣接するＭ個の画素データが入力されるごとに当該Ｍ個の画素データを平均化した垂直縮小画素データが生成される。この様な構成によれば、原稿の光学読み取りによって生成された原画像を縮小する際に、画素データを一時記憶させるメモリにラインメモリしか用いないので、１枚の画像単位で画素データを保持するフレームメモリを用いるのに比べて製造コストを削減することができる。特に、水平方向に隣接するＮ個の画素データを平均化した水平縮小画素データから得られるゲイン調整値をラインメモリに保持させるので、原稿読取部から入力される画素データをそのまま保持させるのに比べてラインメモリの記憶容量を削減することができる。しかも、水平縮小画素データを所定値で割った商として生成されるゲイン調整値を保持させるので、ラインメモリにおけるデータ格納領域のビット幅が増大するのを抑制することができる。
【０００７】
第２の本発明による画像処理装置は、上記構成に加え、上記水平縮小部が、上記画素データを保持するレジスタと、水平方向に隣接する２以上の上記画素データを加算する加算器と、ビット位置をシフトさせることによって上記加算器によるＮ個の画素データの加算結果をＮで割った商を求め、上記水平縮小画素データとして出力するシフタとからなるように構成される。この様な構成によれば、水平方向に隣接するＮ個の画素データを加算してからシフタに割り算させるので、シフタに割り算させてから複数の画素データを加算するのに比べて画素データの平均化による誤差を抑制することができる。
【０００８】
第３の本発明による画像処理装置は、上記構成に加え、上記ラインメモリが、第１ラインメモリ及び第２ラインメモリからなり、上記垂直縮小部が、第１ラインメモリ及び第２ラインメモリのいずれか一方のラインメモリから上記縮小画像を読み出して上記画像表示部へ出力している間に、他方のラインメモリを使用して上記垂直縮小画素データを生成するように構成される。この様な構成によれば、一方のラインメモリから縮小画像を読み出している間に他方のラインメモリを使用して垂直縮小画素データの生成が行われ、縮小画像をラインメモリから読み出している期間中、垂直縮小画素データの生成を停止させる必要がないので、原画像の縮小処理に要する時間を短縮することができる。
【０００９】
第４の本発明による画像処理装置は、原稿の光学読み取りによって原画像を生成し、２値の画素データを順次に出力する原稿読取部と、上記原画像を水平方向に１／Ｎ（Ｎは２以上の整数）に縮小するとともに、垂直方向に１／Ｍ（Ｍは２以上の整数）に縮小して縮小画像を生成する画像縮小部と、上記縮小画像を表示する画像表示部とを有する画像処理装置であって、上記画像縮小部が、上記原稿読取部から水平方向に隣接するＮ個の上記画素データが入力されるごとに当該Ｎ個の画素データを加算した水平縮小画素データを生成する水平縮小部と、上記水平縮小画素データにＮ，Ｍ及び出力画素データのビット幅に応じて予め定められる所定値を乗算してゲイン調整値を生成するゲイン調整部と、上記ゲイン調整値を保持するラインメモリと、上記ゲイン調整部によってゲイン調整値が生成されるごとに当該ゲイン調整値を上記ラインメモリ上の対応するゲイン調整値に加算することを繰り返し、上記原稿読取部から垂直方向に隣接するＭ個の上記画素データが入力されるごとに当該Ｍ個の画素データを平均化した垂直縮小画素データを生成する垂直縮小部とを備えて構成される。
【００１０】
この画像処理装置では、原稿読取部から水平方向に隣接するＮ個の画素データが入力されるごとに当該Ｎ個の画素データを加算して水平縮小画素データが生成され、水平縮小画素データに所定値を乗算してゲイン調整値が生成される。そして、ゲイン調整部によってゲイン調整値が生成されるごとに当該ゲイン調整値をラインメモリ上の対応するゲイン調整値に加算することを繰り返し、原稿読取部から垂直方向に隣接するＭ個の画素データが入力されるごとに当該Ｍ個の画素データを平均化した垂直縮小画素データが生成される。この様な構成によれば、原稿の光学読み取りによって生成された原画像を縮小する際に、画素データを一時記憶させるメモリにラインメモリしか用いないので、１枚の画像単位で画素データを保持するフレームメモリを用いるのに比べて製造コストを削減することができる。特に、水平方向に隣接するＮ個の画素データを加算した水平縮小画素データから得られるゲイン調整値をラインメモリに保持させるので、原稿読取部から入力される画素データをそのまま保持させるのに比べてラインメモリの記憶容量を削減することができる。
【発明の効果】
【００１１】
本発明による画像処理装置によれば、原稿の光学読み取りによって生成された原画像を縮小する際に、画素データを一時記憶させるメモリとしてラインメモリを用いるので、１枚の画像単位で画素データを保持するフレームメモリを用いるのに比べて製造コストを削減することができる。特に、水平方向に隣接するＮ個の画素データについて平均化した水平縮小画素データから得られるゲイン調整値をラインメモリに保持させるので、原稿読取部から入力される画素データをそのまま保持させるのに比べてラインメモリの記憶容量を削減することができる。しかも、水平縮小画素データを所定値で割った商として生成されるゲイン調整値を保持させるので、ラインメモリにおけるデータ格納領域のビット幅が増大するのを抑制することができる。
【００１２】
また、一方のラインメモリから縮小画像を読み出している間に他方のラインメモリを使用して垂直縮小画素データの生成が行われ、縮小画像をラインメモリから読み出している期間中、垂直縮小画素データの生成を停止させる必要がないので、原画像の縮小処理に要する時間を短縮することができる。
【発明を実施するための最良の形態】
【００１３】
実施の形態１．
図１は、本発明の実施の形態１による画像処理装置の概略構成の一例を示したブロック図である。この画像処理装置１は、イメージスキャナ２、画像縮小部３及び画像表示部４を備え、イメージスキャナ２で読み取った原画像を縮小してＬＣＤ１３上に表示させる動作を行っている。
【００１４】
イメージスキャナ２は、原稿の光学読み取りによって原画像を生成し、画素データを順次に出力する原稿読取部であり、原稿に光を照射する光源装置と、原稿による反射光を受光して受光量に応じた画素データを生成するイメージセンサーと、読取位置を水平方向及び垂直方向に走査させる走査装置などによって構成される。
【００１５】
上記画素データは、所定のビット幅、例えば、８ビット（２５６階調）のモノクロデータであり、水平走査方向に隣接する画素ごとのデータとしてイメージスキャナ２から出力されるものとする。ここでは、イメージスキャナ２から出力される画素データが、８ビットのモノクロデータであるものとして以下に説明するが、カラー画像が原画像として出力されるものであっても良い。カラー画像を縮小する場合には、ＲＧＢごとの多値データとして処理される。
【００１６】
画像縮小部３は、イメージスキャナ２から順次に入力される画素データを平均化することによって、原画像の画像サイズを縮小させた縮小画像を生成する動作を行っている。具体的には、水平方向に関して１／Ｎ（Ｎは２以上の整数）縮小するとともに、垂直方向に関して１／Ｍ（Ｍは２以上の整数）に縮小することによって、上記縮小画像を生成し、縮小画素データを順次に出力する動作が行われる。
【００１７】
画像表示部４は、表示メモリ１１、表示コントローラ１２及びＬＣＤ１３からなり、画像縮小部３から入力された縮小画像をＬＣＤ１３上に表示する動作を行っている。表示メモリ１１は、ビットマップ形式の画像データをＬＣＤ１３上の画素に対応付けて保持するメモリ、例えば、ＶＲＡＭであり、画像縮小部３から入力された縮小画像が１枚の画像単位で保持される。
【００１８】
表示コントローラ１２は、表示メモリ１１上の画像データに基づいてＬＣＤ１３を制御し、縮小画像を表示させる動作を行っている。ＬＣＤ１３は、多数の画素がマトリクス状に配置されたパネルディスプレイである。
【００１９】
ここでは、ＬＣＤ１３における水平方向の画素数Ａ１と垂直方向の画素数Ｂ１とが、それぞれイメージスキャナ２によって読取可能な水平走査方向の最大画素数Ａ２と垂直走査方向の最大画素数Ｂ２とに比べて小さいものとする。例えば、ＬＣＤ１３が、Ａ１＝６４０、Ｂ１＝４８０のＶＧＡサイズのディスプレイであるのに対して、読取可能な最大画素数は、Ａ２＝２５６０、Ｂ２＝１８０８程度となっている。
【００２０】
図２は、図１の画像処理装置１の要部における構成例を示したブロック図であり、画像縮小部３内の機能構成の一例が示されている。この画像縮小部３は、水平縮小部２０、ゲイン調整部３０、垂直縮小部４０、第１ラインメモリ４３及び第２ラインメモリ４４により構成される。
【００２１】
水平縮小部２０は、イメージスキャナ２から原画像として順次に入力される画素データについて、水平方向に隣接するＮ個の画素データを平均化して水平縮小画素データを生成し、ゲイン調整部３０へ出力する動作を行っている。画素データの平均化による水平縮小画素データの生成は、イメージスキャナ２から水平方向に隣接するＮ個の画素データが入力されるごとに、当該Ｎ個の画素データについて行われる。
【００２２】
この様な水平縮小部２０は、例えば、イメージスキャナ２から入力された画素データを保持するレジスタと、水平方向に隣接する複数の画素データを加算する加算器と、ビット位置をシフトさせることによって上記加算器によるＮ個の画素データの加算結果をＮで割った商を求め、水平縮小画素データとして出力するシフタなどによって構成される。
【００２３】
ここでは、水平縮小部２０が、１次シフトレジスタ２１、セレクタ２２、加算器２３、シフタ２４及び２次シフトレジスタ２５からなり、Ｎが２ｋの形で表される整数であるものとする。１次シフトレジスタ２１は、イメージスキャナ２から画素ごとに順次に入力される画素データを一時記憶し、水平方向に隣接するＮ１個の画素データを一括して加算器２３へ出力するレジスタである。
【００２４】
加算器２３は、１次シフトレジスタ２１から入力されるＮ１個の画素データを加算し、その加算結果をシフタ２４へ出力する回路素子である。シフタ２４は、ビット位置をシフトさせることによってＮ１個の画素データの加算結果をＮ１で割った商を求める回路素子である。ここでは、Ｎ１個の画素データの加算結果をＮ１で割ったときに小数点以下に端数が生じた場合、小数点以下の端数は切り捨てられるものとする。もしくは、端数が０．５以上の場合は切り上げ、端数が０．５未満の場合は切り捨てるように処理しても良い。つまり、シフタ２４から出力される画素データは、８ビットの整数値となる。
【００２５】
２次シフトレジスタ２５は、シフタ２４から画素ごとに順次に入力される画素データを一時記憶し、水平方向に隣接するＮ２個の画素データを一括してセレクタ２２へ出力するレジスタである。
【００２６】
セレクタ２２は、１次シフトレジスタ２１及び加算器２３間に配置される回路素子であり、１次シフトレジスタ２１から入力される画素データと、２次シフトレジスタから入力される画素データとのいずれかを選択的に加算器２３へ出力する動作を行っている。
【００２７】
加算器２３では、１次シフトレジスタ２１からＮ１個の画素データが入力された場合に、Ｎ１個の画素データを加算して、加算結果をシフタ２４へ出力し、２次シフトレジスタ２５からＮ２個の画素データが入力された場合には、Ｎ２個の画素データを加算して、加算結果をシフタ２４へ出力する動作が行われる。
【００２８】
また、シフタ２４では、Ｎ１個の画素データが加算された場合に、Ｎ１個の画素データの加算結果をＮ１で割った商を求め、その演算結果を２次シフトレジスタ２５へ出力し、Ｎ２個の画素データが加算された場合に、Ｎ２個の画素データの加算結果をＮ２で割った商を求め、その演算結果を水平方向に隣接するＮ（Ｎ＝Ｎ１×Ｎ２）個の画素データを平均化した水平縮小画素データとしてゲイン調整部３０へ出力する動作が行われる。
【００２９】
Ｎ２個の画素データを加算してその加算結果をＮ２で割った商をゲイン調整部３０へ出力する動作は、Ｎ１個の画素データを加算してその加算結果をＮ１で割った商を２次シフトレジスタ２５へ出力する動作をＮ２回繰り返すごとに行われる。
【００３０】
ここでは、シフタ２４の構成を簡素化するという観点から、Ｎ１＝Ｎ２であるものとする。例えば、Ｎ１＝Ｎ２＝４の場合、原画像が縮小率１／１６で水平走査方向に縮小され、水平方向に隣接する１６個の画素データを平均化した水平縮小画素データが生成される。
【００３１】
なお、平均化処理において、重み係数を用いた演算によってＮ個の画素データから水平縮小画素データを生成しても良い。例えば、水平方向の縮小率が１／３の場合、３つの画素データについて、１：２：１の割合で平均化しても良い。
【００３２】
また、水平方向の縮小率に応じて、中心とする縮小ブロックの前後の縮小ブロックにオーバーラップさせた画素数の画素データの平均値を算出して水平縮小画素データとするものであっても良い。例えば、水平方向の縮小率が１／４の場合、中心とする縮小ブロックの４つの画素に加えて、直前の隣接ブロックにおける後方の２画素と、直後の隣接ブロックにおける前方の２画素とを合わせた８画素分の画素データの平均値を算出して水平縮小画素データとしても良い。
【００３３】
ゲイン調整部３０は、水平縮小部２０から入力される水平縮小画素データのゲインを調整する回路素子であり、水平縮小画素データを所定値で割った商を求めてゲイン調整値を生成し、垂直縮小部４０へ出力する動作を行っている。このゲイン調整部３０は、例えば、ビット位置をシフトさせることによって水平縮小画素データを所定値で割った商を求めるシフタによって構成される。上記所定値は、垂直走査方向の縮小率、出力画素データのビット幅に応じて予め定められる。
【００３４】
ここでは、垂直走査方向の縮小率が１／Ｍであることから、ゲイン調整部３０が、水平縮小部２０から入力された水平縮小画素データをＭで割った商を求め、ゲイン調整値として垂直縮小部４０へ出力されるものとする。また、Ｍは、２ｋの形で表される整数であるものとする。
【００３５】
第１ラインメモリ４３及び第２ラインメモリ４４は、いずれもゲイン調整値を保持するラインメモリであり、水平方向の画素列単位で画像データが保持される。これらのラインメモリ４３，４４は、ＳＲＡＭ又はレジスタによって構成される。
【００３６】
垂直縮小部４０は、加算器４１及びメモリコントローラ４２からなり、ゲイン調整部３０から入力されるゲイン調整値について、垂直方向に隣接するＭ個の画素データを平均化して垂直縮小画素データを生成し、縮小画像として画像表示部４へ出力する動作を行っている。
【００３７】
具体的には、ゲイン調整部３０によってゲイン調整値が生成されるごとに当該ゲイン調整値をラインメモリ４３，４４上の対応するゲイン調整値に加算することを繰り返す動作が行われる。そして、イメージスキャナ２から垂直方向に隣接するＭ個の画素データが入力されるごとに、当該Ｍ個の画素データを平均化した垂直縮小画素データを生成し、縮小画像としてラインメモリ４３，４４に書き込む動作が行われる。
【００３８】
メモリコントローラ４２は、ラインメモリ４３，４４に対して画素データを読み書きする回路素子である。このメモリコントローラ４２では、原画像における水平走査方向のある画素列について、ゲイン調整部３０からゲイン調整値が入力されるごとに、データ格納領域を異ならせながら当該ゲイン調整値をラインメモリ４３，４４に書き込む動作が行われる。
【００３９】
そして、次の画素列について、ゲイン調整部３０から加算器４１にゲイン調整値が入力されるごとに、当該ゲイン調整値に対応するゲイン調整値をラインメモリ４３，４４から読み出して加算器４１へ出力し、加算器４１によるこれらゲイン調整値の加算結果を累積値としてラインメモリ４３，４４に書き込む動作が行われる。
【００４０】
つまり、加算器４１では、上記次の画素列について、ゲイン調整部３０からゲイン調整値が入力されるごとに当該ゲイン調整値と、メモリコントローラ４２によってラインメモリ４３，４４から読み出されたゲイン調整値とを加算する動作が行われる。
【００４１】
垂直縮小部４０では、第１ラインメモリ４３及び第２ラインメモリ４４のいずれか一方のラインメモリから縮小画像を読み出して画像表示部４へ出力している間に、他方のラインメモリを使用して垂直縮小画素データの生成が行われる。つまり、垂直縮小部４０では、ゲイン調整部３０から入力されるゲイン調整値の書き込みと、画像表示部４への垂直縮小画素データの読み出しとにそれぞれラインメモリ４３及び４４を用いるいわゆるダブルバッファリングが行われる。
【００４２】
図３（ａ）〜（ｄ）は、図２の画像縮小部３の動作の一例を示した図であり、イメージスキャナ２から順次に入力される画素データを水平縮小率１／４、垂直縮小率１／４で水平及び垂直方向に縮小して垂直縮小画素データが生成される様子が模式的に示されている。
【００４３】
図３（ａ）には、イメージスキャナ２から原画像として入力されるｋライン目の入力画像データについて、４個の画素データの平均化処理によって水平縮小画素データを生成し、ゲイン調整によって得られるゲイン調整値をラインメモリに格納する様子が示されている。ｋライン目の入力画像データは、水平走査方向に隣接する２５６０個の画素データからなり、連続する４個の画素データからなる縮小ブロックに区分して縮小処理される。
【００４４】
ここでは、原画像におけるｋライン目の画素列を縮小処理の開始ラインと呼び、（ｋ＋３）ライン目の画素列を終了ラインと呼ぶことにし、開始ラインから終了ラインまでの４つの画素列を縮小ブロックとして垂直走査方向の縮小処理が行われる。
【００４５】
また、１つ前の縮小ブロック、すなわち、（ｋ−１）ライン目の画素列を終了ラインとする縮小ブロックにおいて、垂直縮小画素データが確定し、当該垂直縮小画素データを一方のラインメモリ（メモリＢ）から出力デバイス、すなわち、画像表示部４へ読み出している間に、他方のラインメモリ（メモリＡ）にメモリアクセスが切り替えられ、現在の縮小ブロックについての縮小処理が開始される。
【００４６】
まず、ｋライン目の各入力画素データ（８ビットの多値データ）について、水平縮小率１／４で４画素ごとに平均化処理が行われる。具体的には、水平走査方向の第１の縮小ブロックについて、０，３２，６４，９６の画素データが平均化され、水平縮小データ「４８」が生成される。この水平縮小データ「４８」は、ゲイン調整のためにライン数の４で除算され、ゲイン調整値「１２」が生成される。このｋライン目の画素列は、現在の縮小ブロックの開始ラインであることから、ゲイン調整値「１２」がそのままメモリＡの１画素目に書き込まれる。
【００４７】
次に、水平走査方向の第２の縮小ブロックについて、１２８，１６０，１９２，２２４の画素データが平均化され、水平縮小データ「１７６」が生成される。この水平縮小データ「１７６」は、ゲイン調整のためにライン数の４で除算され、ゲイン調整値「４４」が生成され、そのままメモリＡの２画素目に書き込まれる。
【００４８】
この様な水平走査方向の縮小処理は、ｋライン目の画素列における最後端の画素まで繰り返される。
【００４９】
図３（ｂ）には、（ｋ＋１）ライン目の入力画像データについて、４個の画素データの平均化処理によって水平縮小画素データを生成し、ゲイン調整によって得られるゲイン調整値をラインメモリに格納する様子が示されている。（ｋ＋１）ライン目の各入力画素データについて、ｋライン目と同様に水平縮小率１／４で４画素ごとに平均化処理が行われる。具体的には、水平走査方向の第１の縮小ブロックについて、２２４，０，３２，６４の画素データが平均化され、水平縮小データ「８０」が生成される。この水平縮小データ「８０」は、ゲイン調整のためにライン数の４で除算され、ゲイン調整値「２０」が生成される。そして、ゲイン調整値「２０」と、メモリＡから読み出した累積値「１２」とが加算され、新たな累積値「３２」が１画素目に書き込まれる。
【００５０】
次に、水平走査方向の第２の縮小ブロックについて、９６，１２８，１６０，１９２の画素データが平均化され、水平縮小データ「１４４」が生成される。この水平縮小データ「１４４」は、ゲイン調整のためにライン数の４で除算され、ゲイン調整値「３６」が生成される。そして、ゲイン調整値「３６」と、メモリＡから読み出した累積値「４４」とが加算され、新たな累積値「８０」が２画素目に書き込まれる。
【００５１】
この様な水平走査方向の縮小処理は、（ｋ＋１）ライン目の画素列における最後端の画素まで繰り返される。
【００５２】
図３（ｃ）には、（ｋ＋２）ライン目の入力画像データについて、４個の画素データの平均化処理によって水平縮小画素データを生成し、ゲイン調整によって得られるゲイン調整値をラインメモリに格納する様子が示されている。また、図３（ｄ）には、（ｋ＋３）ライン目の入力画像データについて、４個の画素データの平均化処理によって水平縮小画素データを生成し、ゲイン調整によって得られるゲイン調整値をラインメモリに格納する様子が示されている。
【００５３】
（ｋ＋２）ライン及び（ｋ＋３）ライン目の各入力画素データについても、（ｋ＋１）ライン目と同様に水平縮小率１／４で４画素ごとに平均化処理が行われ、水平縮小データが生成される。そして、この水平縮小データからゲイン調整値が生成され、当該ゲイン調整値と、メモリＡから読み出した累積値との加算値が１画素目に書き込まれる。この様な水平走査方向の縮小処理は、（ｋ＋３）ライン目の画素列における最後端の画素まで繰り返される。
【００５４】
原画像における（ｋ＋３）ライン目の画素列について、ゲイン調整値の累積加算値の書き込みが終了した時点で縮小画像のラインデータが確定する。
【００５５】
本実施の形態によれば、原画像を縮小する際に、画素データを一時記憶させるメモリにラインメモリ４３，４４しか用いないので、１枚の画像単位で画素データを保持するフレームメモリを用いるのに比べて製造コストを削減することができる。特に、水平方向に隣接するＮ個の画素データを平均化した水平縮小画素データから得られるゲイン調整値をラインメモリ４３，４４に保持させるので、イメージスキャナ２から入力される画素データをそのまま保持させるのに比べてラインメモリ４３，４４の記憶容量を削減することができる。しかも、水平縮小画素データを所定値で割った商として生成されるゲイン調整値を保持させるので、ラインメモリ４３，４４におけるデータ格納領域のビット幅が増大するのを抑制することができる。
【００５６】
また、水平方向に隣接するＮ個の画素データを加算してからシフタ２４に割り算させるので、シフタに割り算させてから複数の画素データを加算するのに比べて画素データの平均化による誤差を抑制することができる。さらに、一方のラインメモリから縮小画像を読み出している間に他方のラインメモリを使用して垂直縮小画素データの生成が行われ、縮小画像をラインメモリから読み出している期間中、垂直縮小画素データの生成を停止させる必要がないので、原画像の縮小処理に要する時間を短縮することができる。
【００５７】
実施の形態２．
実施の形態１では、多値の原画像を縮小する場合の例について説明した。これに対し、本実施の形態では、２値の原画像を縮小する場合について説明する。
【００５８】
図４は、本発明の実施の形態２による画像処理装置の要部における一構成例を示したブロック図であり、画像縮小部５０内の機能構成の一例が示されている。この画像縮小部５０は、水平縮小部６０、ゲイン調整部７０、垂直縮小部４０、第１ラインメモリ４３及び第２ラインメモリ４４により構成される。垂直縮小部４０、第１ラインメモリ４３及び第２ラインメモリ４４は、図２の画像縮小部３におけるものと同様の構成である。
【００５９】
水平縮小部６０は、イメージスキャナ２から２値の原画像として順次に入力される画素データについて、水平方向に隣接するＮ個の画素データを加算して水平縮小画素データを生成し、ゲイン調整部７０へ出力する動作を行っている。具体的には、イメージスキャナ２からの画素データを保持するレジスタ６２と、水平方向に隣接するＮ個の画素データを加算する加算器６１によって構成される。
【００６０】
ゲイン調整部７０は、水平縮小部６０から入力される水平縮小画素データのゲインを調整する回路素子であり、水平縮小画素データと所定値とを乗算して多値のゲイン調整値を生成し、垂直縮小部４０へ出力する動作を行っている。
【００６１】
このゲイン調整部７０は、例えば、ビット位置をシフトさせることによって水平縮小画素データと所定値とを乗算するシフタによって構成される。上記所定値は、水平走査方向及び垂直走査方向の各縮小率、出力画素データのビット幅に応じて予め定められる。
【００６２】
例えば、水平走査方向の縮小率が１／Ｎ、垂直走査方向の縮小率が１／Ｍ、出力画素データのビット幅がｋ（ｋは２以上の整数）ビットである場合、水平縮小部６０から入力される水平縮小画素データに２ｋ／（Ｎ×Ｍ）が乗算され、その乗算結果がゲイン調整値として垂直縮小部４０へ出力される。なお、Ｎ，Ｍ，ｋの各値によっては、上記所定値である２ｋ／（Ｎ×Ｍ）が１未満になることもあり、その場合には、水平縮小画素データを（Ｎ×Ｍ）／２ｋで除算した結果がゲイン調整値となる。
【００６３】
図５（ａ）〜（ｄ）は、図４の画像縮小部５０の動作の一例を示した図であり、イメージスキャナ２から順次に入力される画素データを水平縮小率１／４、垂直縮小率１／４で水平及び垂直方向に縮小して垂直縮小画素データが生成される様子が模式的に示されている。
【００６４】
図５（ａ）には、イメージスキャナ２から原画像として入力されるｋライン目の入力画像データについて、４個の画素データの加算処理によって水平縮小画素データを生成し、ゲイン調整によって得られるゲイン調整値をラインメモリに格納する様子が示されている。ｋライン目の入力画像データは、水平走査方向に隣接する２５６０個の画素データからなり、連続する４個の画素データからなる縮小ブロックに区分して縮小処理される。
【００６５】
まず、ｋライン目の各入力画素データ（１ビットの２値データ）について、水平縮小率１／４で４画素ごとに加算処理が行われる。具体的には、水平走査方向の第１の縮小ブロックについて、０，０，０，０の画素データが加算され、水平縮小データ「０」が生成される。この水平縮小データ「０」は、ゲイン調整のために、出力画素データの階調数２５６を縮小ブロックの全画素数１６で割った値１６が乗算され、ゲイン調整値「０」が生成される。このｋライン目の画素列は、現在の縮小ブロックの開始ラインであることから、ゲイン調整値「０」がそのままメモリＡの１画素目に書き込まれる。
【００６６】
次に、水平走査方向の第２の縮小ブロックについて、１，１，１，１の画素データが加算され、水平縮小データ「４」が生成される。この水平縮小データ「４」は、ゲイン調整のために、出力画素データの階調数２５６を縮小ブロックの全画素数１６で割った値１６が乗算され、ゲイン調整値「６４」が生成され、そのままメモリＡの２画素目に書き込まれる。
【００６７】
この様な水平走査方向の縮小処理は、ｋライン目の画素列における最後端の画素まで繰り返される。
【００６８】
図５（ｂ）には、（ｋ＋１）ライン目の入力画像データについて、４個の画素データの加算処理によって水平縮小画素データを生成し、ゲイン調整によって得られるゲイン調整値をラインメモリに格納する様子が示されている。（ｋ＋１）ライン目の各入力画素データについて、ｋライン目と同様に水平縮小率１／４で４画素ごとに加算処理が行われる。具体的には、水平走査方向の第１の縮小ブロックについて、１，０，０，０の画素データが加算され、水平縮小データ「１」が生成される。この水平縮小データ「１」は、ゲイン調整のために、出力画素データの階調数２５６を縮小ブロックの全画素数１６で割った値１６が乗算され、ゲイン調整値「１６」が生成される。そして、ゲイン調整値「１６」と、メモリＡから読み出した累積値「０」とが加算され、新たな累積値「１６」が１画素目に書き込まれる。
【００６９】
次に、水平走査方向の第２の縮小ブロックについて、０，１，１，１の画素データが加算され、水平縮小データ「３」が生成される。この水平縮小データ「３」は、ゲイン調整のために、出力画素データの階調数２５６を縮小ブロックの全画素数１６で割った値１６が乗算され、ゲイン調整値「４８」が生成される。そして、ゲイン調整値「４８」と、メモリＡから読み出した累積値「６４」とが加算され、新たな累積値「１１２」が２画素目に書き込まれる。
【００７０】
この様な水平走査方向の縮小処理は、（ｋ＋１）ライン目の画素列における最後端の画素まで繰り返される。
【００７１】
図５（ｃ）には、（ｋ＋２）ライン目の入力画像データについて、４個の画素データの加算処理によって水平縮小画素データを生成し、ゲイン調整によって得られるゲイン調整値をラインメモリに格納する様子が示されている。また、図５（ｄ）には、（ｋ＋３）ライン目の入力画像データについて、４個の画素データの加算処理によって水平縮小画素データを生成し、ゲイン調整によって得られるゲイン調整値をラインメモリに格納する様子が示されている。
【００７２】
（ｋ＋２）ライン及び（ｋ＋３）ライン目の各入力画素データについても、（ｋ＋１）ライン目と同様に水平縮小率１／４で４画素ごとに加算処理が行われ、水平縮小データが生成される。そして、この水平縮小データからゲイン調整値が生成され、当該ゲイン調整値と、メモリＡから読み出した累積値との加算値が１画素目に書き込まれる。この様な水平走査方向の縮小処理は、（ｋ＋３）ライン目の画素列における最後端の画素まで繰り返される。
【００７３】
原画像における（ｋ＋３）ライン目の画素列について、ゲイン調整値の累積加算値の書き込みが終了した時点で縮小画像のラインデータが確定する。
【００７４】
この様な構成によっても、水平方向に隣接するＮ個の画素データを加算した水平縮小画素データから得られるゲイン調整値をラインメモリ４３，４４に保持させるので、イメージスキャナ２から入力される画素データをそのまま保持させるのに比べてラインメモリ４３，４４の記憶容量を削減することができる。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施の形態１による画像処理装置の概略構成の一例を示したブロック図である。
【図２】図１の画像処理装置１の要部における構成例を示したブロック図であり、画像縮小部３内の機能構成の一例が示されている。
【図３】図２の画像縮小部３の動作の一例を示した図であり、画素データを水平及び垂直方向に縮小して垂直縮小画素データが生成される様子が模式的に示されている。
【図４】本発明の実施の形態２による画像処理装置の要部における一構成例を示したブロック図であり、画像縮小部５０内の機能構成の一例が示されている。
【図５】図４の画像縮小部５０の動作の一例を示した図であり、画素データを水平及び垂直方向に縮小して垂直縮小画素データが生成される様子が模式的に示されている。
【符号の説明】
【００７６】
１  画像処理装置
２  イメージスキャナ
３  画像縮小部
４  画像表示部
１１  表示メモリ
１２  表示コントローラ
１３  ＬＣＤ
２０  水平縮小部
２１  １次シフトレジスタ
２２  セレクタ
２３  加算器
２４  シフタ
２５  ２次シフトレジスタ
３０  ゲイン調整部
４０  垂直縮小部
４１  加算器
４２  メモリコントローラ
４３  第１ラインメモリ
４４  第２ラインメモリ
５０  画像縮小部
６０  水平縮小部
６１  加算器
６２  レジスタ
７０  ゲイン調整部
【図１】
2010050759.tif 000003
【図２】
2010050759.tif 000004
【図３】
2010050759.tif 000005
【図４】
2010050759.tif 000006
【図５】
2010050759.tif 000007