(57)【特許請求の範囲】
【請求項１】
画像処理装置において、
スキャン方向およびカラム方向の刻みが実数で１を超えないように設定される第１の記憶手段と、
基準点の２次元座標の小数部が格納される第２の記憶手段と、
前記小数部および前記刻みの累積加減算を行いキャリー信号を出力する累積加減算手段と、
前記刻みのプラス方向またはマイナス方向に前記累積加減算手段が出力したキャリー信号の累積加減算を行う整数部累積加減算手段と、
前記累積加減算手段が出力する前記キャリー信号により選択され２次元座標の基準点からのＸ軸方向にはキャリアップはなくＹ軸方向にプラスのキャリアップがある場合、Ｘ軸方向にマイナスのキャリアップがありＹ軸方向にプラスのキャリアップがある場合、Ｘ軸方向にプラスのキャリアップがありＹ軸方向にプラスのキャリアップがある場合、Ｘ軸方向にプラスのキャリアップがありＹ軸方向にキャリアップがない場合、それぞれの場合の変位バイト数がそれぞれ格納される４つの変位バイト数記憶手段と、
前記刻みのプラス方向またはマイナス方向に前記４つの変位バイト数記憶手段からの出力の累積加減算を行う１次元アドレス累積加減算手段と、
を備えたことを特徴とする画像処理装置。
【請求項２】
２次元座標のｘ座標値と、ソース画像上の有効領域ｘ軸方向における二つの境界座標値のいずれか一方とを比較する第一の比較手段と、
前記２次元座標のｙ座標値と、前記ソース画像上の有効領域ｙ軸方向における二つの境界座標値のいずれか一方とを比較する第二の比較手段と、
前記第一の比手段の比較結果に応じて前記２次元座標のｘ座票値と比較される境界座標値を他方の値に変更するとともに、前記第二の比較手段の比較結果に応じて前記２次元座標のｙ座標と比較される境界座標値を他方の値に変更する状態制御手段と、
を備えたことを特徴とする請求項1記載の画像処理装置。
【請求項３】
多値ソース画像または擬似多値ソース画像を二値に変換する多値二値変換手段と、
該多値二値変換手段の出力または二値ソース画像の一方を選択する第１のマルチプレクサと、
多値デスティネーション画像を二値に変する多値二値変換手段と、
該多値二値変換手段の出力または二値デスティネーション画像の一方を選択する第２のマルチプレクサと、
前記第１のマルチプレクサの出力または前記第２のマルチプレクサの出力に基づいて二値画素の演算を行う二値画素演算手段と、
該二値画素演算手段の力に基づいて二直を多値に変換する二値多値変換手段と、
を備えたことを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記多値ソース画像または前記擬似多値ソース画像を網点テーブルを用いて網点化を行う網点化手段を前記第１のマルチプレクサの前段に設けたことを特徴とする請求項３に記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、座標のアフィン変換などをハードウェアで行う画像処理装置に関する。
近年コンピュータに接続する、スキャナおよびプリンタなど入出力デバイスの入出力解像度の高密度化に伴い、画像処理に対する対象画像のデータ量が増大してきた。この動向に対し、ソフトウェアにて画像処理を行うには、処理データ量が大きくなり過ぎたために、画像処理をサポートするハードウェアが必要となってきている。
【０００２】
このハードウェアによりアフィン変換の高速化を図ること、アフィン変換時における領域判定において回路規模を削減すること、回路の汎用化により統一的に画像処理を行うことなどが要望されている。
【０００３】
【従来の技術】
従来の画像処理装置においては、座標に関するアフィン変換は、アフィン変換行列を使用して、デスティネーション（出力座標系）からソース（入力座標系）へのアドレス変換を行い、入力座標系の画素を２次元座標からメモリ格納アドレスである１次元座標へ変換し、画素を読みだしていた。
【０００４】
このようにアフィン変換行列を演算することは、ソフトウェアではさして負荷にはならないが、ハードウェアにて実現する場合には、累積積和演算回路が必要となり、回路規模の増加につながる。
また、ソフトウェアにて実現した場合でも、通常アフィン変換行列は、３×３の正方行列を使用するために、複数の積和演算が画素毎に発生するために速度的にも問題がある。
【０００５】
また、アフィン変換を行った場合、ソース画像領域に対して、無効な仮想的２次元座標が生成される。この仮想的な２次元座標に関して、ソース・データを読みだすことは、通常メモリにマップされない空間をアクセスすることになり、システム・ダウンの障害となる可能性があり、システムの信頼性の低下を招く。また、仮想的な２次元座標空間のソース・データがデスティネーションへの出力に対して影響のないデータの場合はよいが、そうでない場合には、ソースの有効領域の判定を仮想２次元座標に関して行い、ソース・データのアクセスを実行しないように制御する必要がある。
【０００６】
この課題に関して従来では、ソースの有効領域を矩形で表現し、アフィン変換部より算出された仮想２次元座標に対して、有効な矩形領域であるか否かを判定することになるが、その方法には以下の２通りの手法が取られている。
（１）矩形領域のＸ０／Ｙ０／Ｘ１／Ｙ１の判定を順次行い、全部の条件を満たした場合にアクセスを行う。
（２）矩形領域のＸ０／Ｙ０／Ｘ１／Ｙ１の判定を一括して行い、全部の条件が満たされた場合にのみアクセスを行う。
【０００７】
図１６に示すように、矩形は、ソースの有効領域を示し、（Ｘ０，Ｙ０），  （Ｘ１，Ｙ１）は境界座標を示す。Ｘ０≦ｘ≦Ｘ１でＹ１≦ｙ≦Ｙ０のとき、  （ｘ，ｙ）は領域内にあると判定する。
前述の先の手法では、ハードウェア化した場合に、回路規模は最小で済むが、判定部の速度が低下し、全体としてシステムの処理速度が低下する。
【０００８】
また後の手法では、処理は高速であるが、ハード規模が増大するという問題が生じる。
ＯＲ間引きのようにアフィン変換自体は、縮小のパラメータであるが、ソースに対するアクセスは、単純に間引くのではなく、累積のＯＲ処理を行う場合、ＯＲ間引きの専用の回路ならば関係ないが、通常のアフィン変換の処理回路と共通化する場合には、従来では、独立した回路構成となり、回路規模が増大する傾向があった。
【０００９】
ソース画像とデスティネーション画像のいずれかが多値であった場合、デスティネーション画像に対してソース画像を演算（論理演算など）して配置する場合には、単純な二値画像処理とは、演算処理形態を独立させて、実現することが多かったために、実現回路規模が増大する結果となっていた。
以上の演算自体は二値画像処理的な処理であっても、入力画像などが多値の場合で、入力多値画像を単純に二値化できる画像のみの場合ばかりではなく、網点化処理などの場合にも同様な問題となっていた。
【００１０】
【発明が解決しようとする課題】
前述したように、従来の画像処理装置にあっては、アフィン変換においては、ＯＲ間引きなどと通常の単純アフィン変換との統一がとられていないため、回路規模が増大し、また高速化を図ることができなかった。また、アフィン変換時における領域判定においては、比較の回数が多く、回路規模が増大するという問題があった。さらに、ソース画像とデスティネーション画像のいずれかが多値であった場合、デスティネーション画像に対してソース画像を演算して配置するとき個別の回路を開発していたため、回路規模が増大するという問題があった。
【００１１】
本発明は、このような従来の問題点に鑑みてなされたものであって、アフィン変換回路の回路規模の削減、アフィン変換の高速化を図り、アフィン変換時の領域判定においても回路規模の削減を図り、さらに、画素演算における統一的な画像処理を行うことで回路規模の削減を図ることができる画像処理装置を提供することを目的とする。
【００１２】
【課題を解決するための手段】
図１は本発明の原理説明図である。
本発明は、座標のアフィン変換を行う画像処理装置を対象とし、スキャン方向およびカラム方向の刻みが実数で１を超えないように設定される第１の記憶手段１１と、基準点の２次元座標の小数部が格納される第２の記憶手段１２と、小数部および刻みの累積加減算を行いキャリー信号を出力する累積加減算手段１３と、刻みのプラス方向またはマイナス方向に累積加減算手段１３が出力したキャリー信号の累積加減算を行う整数部累積加減算手段１４と、累積加減算手段１３が出力するキャリー信号により選択され２次元座標の基準点からのＸ軸方向にはキャリアップはなくＹ軸方向にプラスのキャリアップがある場合、Ｘ軸方向にマイナスのキャリアップがありＹ軸方向にプラスのキャリアップがある場合、Ｘ軸方向にプラスのキャリアップがありＹ軸方向にプラスのキャリアップがある場合、Ｘ軸方向にプラスのキャリアップがありＹ軸方向にキャリアップがない場合、のそれぞれの場合の変位バイト数がそれぞれ格納される４つの変位バイト数記憶手段１９と、刻みのプラス方向またはマイナス方向に前記４つの変位バイト数記憶手段からの出力の累積加減算を行う１次元アドレス累積加減算手段２０と、を備えている。
【００１４】
また、本発明は、ソース画像の有効領域の判定を２次元座標について行う画像処理装置を対象とし、２次元座標と境界座標とを比較する比較手段２４と、２次元座標のスキャン方向またはカラム方向によって境界座標の一方を選択し、比較手段２４による比較結果によって境界座標の他方に変える状態制御手段２３と、を備えている。
【００１５】
また、本発明は、ソース画像が多値、疑似多値または二値であり、デスティネーション画像が多値、または二値であるとき、画像処理して二値デスティネーション画像または多値デスティネーション画像として出力する画像処理装置であって、多値ソース画像または疑似多値ソース画像を二値に変換する多値二値変換手段３９と、多値二値変換手段３９の出力または二値ソース画像の一方を選択する第１のマルチプレクサ４０と、多値デスティネーション画像を二値に変換する多値二値変換手段３６と、多値二値変換手段３６の出力または二値デスティネーション画像の一方を選択する第２のマルチプレクサ３７と、第１のマルチプレクサ４０の出力または第２のマルチプレクサ３７の出力に基づいて二値画素の演算を行う二値画素演算手段３８と、二値画素演算手段３８の出力に基づいて二値を多値に変換する二値多値変換手段４６を備えている。
【００１６】
さらに、本発明においては、多値ソース画像または疑似多値ソース画像を網点テーブル４２を用いて網点化を行う網点化手段４１を第１のマルチプレクサの前段に設けている。
【００１７】
【作用】
このような構成を備えた本発明の画像処理装置によれば、スキャン方向およびカラム方向の刻みが実数で１を超えないように第１の記憶手段１１に設定するとともに、基準点の２次元座標の小数部を第２の記憶手段１２に格納し、小数部および刻みの累積加減算を行いキャリー信号を出力するので、ＯＲ間引きなどと通常の単純アフィン変換との統一を図ることができ、回路規模の削減およびアフィン変換の高速化を図ることができる。
【００１８】
また、刻みのプラス方向またはマイナス方向に累積加減算手段１３が出力したキャリー信号の累積加減算を行うので、２次元座標の管理を確実に行うことができる。
また、２次元座標の基準点からの８連結方向の変位バイト数を複数の記憶手段１９にそれぞれ格納し、累積加減算手段１３が出力するキャリー信号により複数の記憶手段１９の１つを選択し、刻みのプラス方向またはマイナス方向に複数の記憶手段１９からの出力の累積加減算を行うので、高速で１次元アドレスを求めることができる。
【００１９】
また、２次元座標と境界座標とを比較し、２次元座標のスキャン方向またはカラム方向によって境界座標の一方を選択し、比較手段２４による比較結果によって境界座標の他方に変えるので、アフィン変換時の領域判定において、回路規模を削減することができる。
また、ソース画像が多値、疑似多値または二値であり、デスティネーション画像が多値、または二値であるとき、画像処理して二値デスティネーション画像または多値デスティネーション画像として出力する際、多値ソース画像または疑似多値ソース画像を二値に変換し、その出力または二値ソース画像の一方を選択し、また、多値デスティネーション画像を二値に変換し、その出力または二値デスティネーション画像の一方を選択し、選択された一方の出力または選択された他方の出力に基づいて二値画素の演算を行い、二値画素演算された出力に基づいて二値を多値に変換するので、回路が汎用化され、統一的に画像処理を行うことができる。その結果、個別に回路を開発するのに比べて回路規模を削減することができる。
【００２０】
さらに、多値ソース画像または疑似多値ソース画像を網点テーブル４２を用いて網点化を行うので、さらに、回路を汎用化することができ、統一的に画像処理を行うことが可能となる。
【００２１】
【実施例】
図２は本発明の一実施例を示す全体構成図である。
図２において、１は入力段のメモリであり、メモリ１は複数個で構成され、メモリ１内には二値ソース画像、多値ソース画像、疑似多値ソース画像が格納される。２は出力段のメモリであり、メモリ２は複数個で構成され、メモリ２内には二値デスティネーション画像、多値デスティネーション画像が格納される。３は表示部であり、表示部３には出力段のメモリ２内に格納された二値デスティネーション画像および多値デスティネーション画像が表示される。
【００２２】
４はデータ演算部であり、データ演算部４は、多値ソース画像または疑似多値ソース画像を二値画像に変換し、また、多値デスティネーション画像を二値画像に変換し、二値画素を演算して、二値デスティネーション画像または多値デスティネーション画像として出力する。このデータ演算部４は、回路が汎用化され、統一的に画像処理を行うことができ、個別に回路を開発する場合に比較して回路規模を削減することができるようになっている。
【００２３】
５はアフィン変換部であり、アフィン変換部５はスキャン方向およびカラム方向の刻みが実数で１を超えないように設定することで、拡大、縮小、回転、ＯＲ間引きなどの各種演算処理を単一のハードウェアで精度よく実現することができ、さらに直接的にかつ高速で１次元アドレスを求めることができる。
６は領域判定部であり、領域判定部６は、アフィン変換時の領域判定を行う際に、回路規模の削減を図ることができる。７はＣＰＵであり、ＣＰＵ７は各部の制御を行う。
【００２４】
次に、図３は前記アフィン変換部５の構成例を示す図である。
図３において、１１は第１の記憶手段としての第１のレジスタであり、第１のレジスタ１１内にはオペレータによりソフトウェアでスキャン方向およびカラム方向の刻みが実数で１を超えないように設定される。このレジスタ１１はＸ方向およびＹ方向に１個ずつ、合計２個設けられる。第１のレジスタ１１は累積加減算手段としてのアキュムレータ１３に対して刻みを出力する。
【００２５】
１２は第２の記憶手段としての第２のレジスタであり、第２のレジスタ１２内にはオペレータによりソフトウェアで基準点の２次座標の小数部が設定される。このレジスタ１２にもＸ方向およびＹ方向に１個ずつ、合計２個設けられる。第２のレジスタ１２はアキュムレータ１３に対して小数部を出力する。
アキュムレータ１３は、第２のレジスタ１２からの小数部と第１のレジスタ１１からの刻みを受信して、累積加減算を行い、キャリアップを示すキャリー信号を整数部累積加減算手段としての整数部アキュムレータ１４に出力する。整数部アキュムレータ１４、第１のレジスタ１１の刻みのプラス方向またはマイナス方向にアキュムレータ１３からのキャリー信号の累積加減算を行う。整数部アキュムレータ１４は２次元座標を管理するために必要であり、座標の管理を行わない場合には特に必要としない。
【００２６】
ここで、アフィン変換の拡大処理は、図４に示される。
図４（Ａ）は入力するソース画像を示し、図４（Ｂ）は出力されるデスティネーション画像を示す。図４（Ａ）の矢印ａはスキャン方向へのアクセスを示す。図４（Ａ）の「１／ｊ」が図４（Ｂ）の「１」に拡大処理されることを示す。したがって、ｊは｜ｊ｜＞１になる。１／ｊは１以下であるから、１／ｎは１以下、１／ｍは１以下になる。すなわち、｜ｍ｜，｜ｎ｜は１以上の値となる。
【００２７】
１／ｎ，１／ｍが前述した刻みであり、刻みは実数で１を超えないように第１のレジスタ１１に設定される。刻みは、方向をもち、図４（Ａ）に示すように、アクセスが矢印ａで示す方向のときはプラス方向になる。
アフィン変換の縮小処理は、図５に示される。
図５（Ａ）は入力するソース画像を示し、図５（Ｂ）は出力されるデスティネーション画像を示す。図５（Ａ）の矢印ａはスキャン方向へのアクセスを示す。図５（Ａ）の距離「１」が図５（Ｂ）の１／ｋに縮小処理されることを示す。ｋは１＜｜ｋ｜である。刻みは１／ｏ，１／ｐで示され、｜ｐ｜，｜ｏ｜は１以上の値である。
【００２８】
したがって、各画素へのステップは、１以下の刻みをアキュムレータ１３で累積加減算することで、２次元座標上に実現することができる。なお、図４では拡大処理を、図５では縮小処理を示したが、回転の場合も同様に処理される。
図６は第２のレジスタ１２に設定される小数部の説明図である。
図６において、２次元座標（ｘ，ｙ）から次の２次元座標（Ｘ，Ｙ）へのステップにおいて、α，βは刻みをそれぞれ示し、α＝１／ｎ，β＝１／ｍである。（ｘ，ｙ）が例えば（１１．１，２．０）で示され、（Ｘ，Ｙ）が（１１．５，２．３）で示されるとすると、刻みはαが０．４、βが０．３であり、Ｘ方向の小数部は０．１、Ｙ方向の小数部は、０．０でそれぞれ示される。
【００２９】
また、刻みの方向は、α＝０．４，β＝０．３であるから、Ｘ方向，Ｙ方向ともにプラス方向となっている。刻みであるα＝０．４，β＝０．３が累積加算されて、１を超えると、キャリー信号が整数部アキュムレータ１４に出力され、整数部アキュムレータ１４は整数の累積加減算を行う。
再び図３において、１５〜１８は第３〜第６のレジスタを示し、第３〜第６のレジスタ１５〜１８は複数の記憶手段１９を構成している。第３のレジスタ１５には、２次元座標の基準点からの８連結方向の１つを示す変位バイト数、例えば＋Ｌが格納される。第４のレジスタ１６には、２次元座標の基準点から８連結方向の１つを示す変位バイト数、例えば＋Ｌ−１が格納される。第５のレジスタ１７には２次元座標の基準点からの８連結方向の１つを示す変位バイト数、例えば＋Ｌ＋１が格納される。第６のレジスタ１６には２次元座標の基準点からの８連結の１つを示す変位バイト数、例えば＋１が格納される。これらの第３〜第６のレジスタ１５〜１８はアキュムレータ１３からのキャリー信号によって選択され、その変位バイト数を１次元アドレス累積加減算である１次元アドレスアキュムレータ２０に出力する。１次元アドレスアキュムレータ２０は、第１のレジスタ１１からの刻みのプラス方向、またはマイナス方向に第３〜第６のレジスタ１５〜１８からの出力を累積加減算し、２次元座標から１次元アドレスへの変換を行う。
【００３０】
ここで、ソース画像に対して回転を含めたアフィン変換を実施した場合、従来では以下の演算により１次元アドレスを求めていた。
ＡＤＤＲ＝Ｙ×Ｌ＋（Ｘ／Ｂ）＋ＯＦＦＳＥＴ
ＡＤＤＲ：１次元アドレス
Ｙ      ：アフィン変換後の縦座標
Ｘ      ：アフィン変換後の横座標
Ｌ      ：ソース画像のバイト数
Ｂ      ：８ビット／画素ビット数
このような乗算、除算を行わないように、本実施例においては、ソース画像の次の画素は、連続する画素であることがわかっているので、刻みの累積加減算を行う。アキュムレータ１３から整数部アキュムレータ１４へのキャリー信号により、図７に示すような処理を行う。
【００３１】
図７において、ＯＡは２次元座標の基準点であり、＋Ｌ，＋Ｌ＋１，＋１，−Ｌ＋１，−Ｌ，−Ｌ−１，−１，＋Ｌ−１は基準点ＯＡからの８連結方向の変位バイト数をそれぞれ示す。
＋ＬはＸ方向にキャリアップはなく、Ｙ方向にプラスのキャリアップがあることを示し、＋Ｌ−１はＸ方向にマイナスのキャリアップがあり、Ｙ方向にプラスのキャリアップがあることを示し、＋Ｌ＋１はＸ方向にプラスのキャリアップがあり、Ｙ方向にプラスのキャリアップがあることを示し、＋１はＸ方向にプラスのキャリアップがあり、Ｙ方向にはキャリアップがないことを示す。＋Ｌは符号を反対にすると−Ｌを示すことができ、＋Ｌ−１は符号を反対にすると−Ｌ＋１を示すことができ、＋Ｌ＋１は符号を反対にすると−Ｌ−１を示すことができ、＋１は符号を反対にすると−１を示すことができる。したがって、＋Ｌ，＋Ｌ−１，＋Ｌ＋１，＋１で８連結方向を示すことができ、第３〜第６のレジスタ１５〜１８の４個で８連結方向を示すことができる。
【００３２】
例えば、＋Ｌ＋１のときは、第５のレジスタ１７が選択され、プラス方向に１次元アドレスアキュムレータ２０が第５のレジスタ１７の出力を累積加算することになる。こうして、乗算、除算を行うことなく、加減算で１次元アドレスを求めることができる。
次に、図３の動作を説明する。
【００３３】
第１のレジスタ１１は、実数で１を超えないように設定された刻みをアキュムレータ１３に出力し、また、第２のレジスタ１２は小数部をアキュムレータ１３に出力する。アキュムレータ１３は小数部と刻みの累積加減算を行い、キャリー信号を整数部アキュムレータ１４に送出する。整数部アキュムレータ１４は第１のレジスタ１１からの刻みのプラス方向またはマイナス方向にキャリー信号を累積加減算を行う。こうして、各画素へのステップは、１以下の刻みを累積加減算することで２次元座標上に実現することができる。
【００３４】
次に、アキュムレータ１３が出力するキャリー信号により、第３〜第６のレジスタ１５〜１８が選択され、選択された第３〜第６のレジスタ１５〜１８は基準点ＯＡからの８連結方向に変位バイト数（＋Ｌ，＋Ｌ＋１，＋１，−Ｌ＋１，−Ｌ，−Ｌ−１，−１，＋Ｌ−１）を１次元アドレスアキュムレータ２０に出力する。１次元アドレスアキュムレータ２０は、刻みのプラス方向またはマイナス方向に変位バイト数を累積加減算する、こうして、累積加減算により、１次元アドレスが求められる。
【００３５】
このようなアフィン変換を行うと、自動的にＯＲ間引きのためのアドレス生成が行われる。すなわち、アフィン変換にて離散的に指示される画素の間をスキャンするアクセスと異なり、連結の画素をアクセスするため、ＯＲ間引きのようなアクセスに適している。
したがって、ＯＲ間引きなどと通常の単純アフィン変換との統一が図られ、回路規模の削減およびアフィン変換の高速化を図ることができる。
【００３６】
次に、図８は領域判定部６の構成例を示す図である。
図８において、２１はメモリを示し、メモリ２１内には２次元座標ｘが格納される。２次元座標ｘは、前記整数部アキュムレータ１４により求められる。
２２はレジスタであり、レジスタ２２には境界座標Ｘ０またはＸ１が設定される。２３は状態制御手段としての状態制御部であり、状態制御部２３は、刻みがプラス方向のときはレジスタ２２にＸ０をセットし、刻みがマイナス方向のときはレジスタ２２にＸ１をセットする。また、状態制御部２３は、比較手段としてのコンパレータ２４の比較結果により、レジスタ２３にセットする境界座標を変えるとともに、領域判定結果を出力する。
【００３７】
コンパレータ２４は、２次元座標ｘと境界座標Ｘ０，Ｘ１との比較を行う。マルチプレクサ２５は、状態制御部２５により制御、コンパレータ２４の出力を切り換える。
なお、図８において、Ｘ方向についての領域判定の構成を示したが、Ｙ方向についても同様に構成される。
【００３８】
次に、図９は領域判定の説明図である。
図９において、矢印ａのアクセスの場合は、刻みがプラス方向であることを示し、矢印ｂのアクセスの場合には刻みがマイナス方向であることを示す。
矢印ａのアクセスの場合、ｘとＸ０をコンパレータ２４で比較する。ｘ＜Ｘ０のときは領域外と判定し、ｘ≧Ｘ０のときは領域内と判定する。領域内と判定されたときは、ｘとＸ１との比較に切り換える。ｘ≦Ｘ１のときは領域内であると判定し、ｘ＞Ｘ１のときは領域外であると判定する。一方、ｙとＹ０を比較し、ｙ＞Ｙ０のときは、後は全て領域外であると判定する。すなわち、比較対象はＸ０，Ｙ０であり、Ｘ０に関しては条件が一致した後にＸ１との比較に切り換える。Ｙ０に関してもＹ０の条件に外れたら、後は全て領域外と判定する。
【００３９】
矢印ｂのアクセスの場合、ｘとＸ１をコンパレータ２４で比較する。ｘ＞Ｘ１のときは領域外と判定し、ｘ≦Ｘ１のときは領域内と判定する。領域内と判定したときは、ｘとＸ０との比較に切り換える。ｘ＜Ｘ０のときは領域外であると判定し、ｘ≧Ｘ０のときは領域内であると判定する。一方、ｙとＹ１を比較し、ｙ＜Ｙ１のときは、後は全て領域外であると判定する。すなわち、比較対象はＸ１，Ｙ１であり、Ｘ１の条件が満たされた後は、Ｘ０の比較に切り換える。Ｙ１についてもＹ１の条件に外れたら、後は全て領域外と判定する。
【００４０】
矢印ａのアクセスの場合、従来においては、
Ｘ０≦ｘ≦Ｘ１
Ｙ１≦ｙ≦Ｙ０
の比較が必要であったが、本実施例においては、
Ｘ０≦ｘ
ｙ≦Ｙ０
の比較で良い。
【００４１】
したがって、コンパレータの数を半分にすることができる。すなわち、アフィン変換時の領域判定を行う場合に、回路規模を削減することができる。
次に、図１０はデータ演算部４の構成例を示す図である。
図１０において、疑似多値ソース画像３１、多値ソース画像３２、および二値ソース画像３３は入力段の前記複数のメモリ１にそれぞれ格納される。また、二値デスティネーション画像３４および多値デスティネーション画像３５は、出力段の前記複数のメモリ２にそれぞれ格納される。
【００４２】
二値画像は、１画素に対して１ビットで構成され、多値画像は、１画素に対して複数ビットで構成される。また、疑似多値画像は、濃淡以外の付加情報ビットをもつもので、例えばある領域のマスクビットをもつ。
多値デスティネーション画像３５は、多値二値変換手段としての多値二値変換部３６によりテーブル演算により二値デスティネーション画像に変換され、第２のマルチプレクサ３７に出力される。第２のマルチプレクサ３７は二値デスティネーション画像３４と二値に変換された二値デスティネーション画像を選択して二値画素演算手段としての二値画素演算部３８に出力する。
【００４３】
多値ソース画像３２または疑似多値ソース画像３１は、多値二値変換手段としての多値二値変換部３９によりテーブル演算で二値ソース画像に変換されて、第１のマルチプレクサ４０に出力される。
４１は網点化手段としての網点化部であり、網点化部４１は網点テーブル４２を参照して多値ソース画像３２または疑似多値ソース画像３１を網点化し二値ソース画像として第１のマルチプレクサ４０に出力する。網点テーブル４２は、例えば図７に示すように、９画素で単一１０階調を示すもので、黒を１として黒の数字により０〜９の１０階調を示す。網点化部４１は、図１２に示すように、例えば「９」で示す階調のときは９と網点テーブル４２の数字とを比較し、９と等しいか９より小さいときは黒とする。また、「８」や「５」の場合も同様に処理される。こうして、１２画素（４×３）の多値画像を（１２×９）の二値画像に変換する。
【００４４】
網点化部４２で網点化された二値画像は、第１のマルチプレクサ４０に出力される。第１のマルチプレクサ４０は、二値ソース画像３３、多値二値変換部３９で変換された二値ソース画像、網点化部４１で網点化された二値ソース画像のうちの１つを選択して二値画素演算手段としての二値画素演算部３８に出力する。
４３はマスク生成部であり、マスク生成部４３はマスクパターン４４を用いて多値ソース画像３２または疑似多値ソース画像３１のマスクを生成し、二値画素演算部３８に出力する。
【００４５】
二値画素演算部３８は、マスク生成部４３の出力、第１のマルチプレクサ４０の出力、または第２のマルチプレクサ３７の出力に基づいて二値画素の演算を行う。二値画素演算部３８で演算された二値画像は二値デスティネーション画像４５として出力段のメモリ２に格納され、また、二値多値変換手段としての二値多値変換部４６によりテーブル演算で多値画像に変換された多値デスティネーション画像４７として出力段のメモリ２に格納される。
【００４６】
次に、図１３はソース画像とデスティネーション画像を合成した一例を示す図である。
図１３において、Ａは二値ソース画像を示し、二値ソース画像Ａは第１のマルチプレクサ４０を経て二値画素演算部３８に出力される。Ｂは二値デスティネーション画像を示し、二値デスティネーション画像Ｂは第２のマルチプレクサ３７を経て二値画素演算部３８に出力される。二値画素演算部３８は二値画素の演算を行い、Ｃに示すように二値デスティネーション画像として出力する。
【００４７】
また、図１４はＢが多値デスティネーション画像の場合であり、ＡＢＣは例えばカラーで表示されている。この多値デスティネーション画像Ｂは多値二値変換部３５で二値画像変換されて、第２のマルチプレクサ３７を経て二値画素演算部３８に出力される。
Ａは二値ソース画像である。二値ソース画像Ａは、第１のマルチプレクサ４０を経て二値画素演算部３８に出力される。二値画素演算部３８は第１のマルチプレクサ４０の出力と第２のマルチプレクサ３７の出力に基づいて二値画素の演算を行う。二値画素演算部３８の出力は二値多値変換部４６で多値画像に変換され、Ｃに示すように多値画像デスティネーション画像として出力される。また、Ａを多値ソース画像または疑似多値ソース画像としても同様に処理される。さらに、多値ソース画像Ａまたは疑似多値ソース画像Ａを網点化した場合も同様である。
【００４８】
次に、マスクの例を図１５に示す。
図１５において、ａはマスクパターンの例を示し、このマスクパターンａとｂに示す疑似多値ソース画像とにより、ｃに示すようなマスクがマスク生成部４３で生成される。疑似多値ソース画像ｂは多値二値変換部３９によりｄに示すような二値画像に変換される。この二値画像ｄとマスクｃにより、二値画素演算部３８によりｅに示すような二値画像が生成される。この二値画像ｅは二値多値変換部４６でｆに示すような多値画像に変換されて出力される。
【００４９】
このように、二値画素演算部３８では二値画素を処理対象とし、入力段および出力段にて多値二値変換部３６，３９、網点化部４１および多値二値変換部４６を付加することで、回路が汎用化され、統一的な画像処理を行うことができる。その結果、個別に多値画像専用の回路を開発するのに比べ、回路規模を削減することができる。
【００５０】
【発明の効果】
以上説明してきたように、本発明によれば、スキャン方向およびカラム方向の刻みが実数で１を超えないように設定して、累積加減算を行ってアフィン変換を行うため、ＯＲ間引きなどと通常の単純アフィン変換との統一をとることができ、回路情報の削減およびアフィン変換の高速化を図ることができる。
【００５１】
また、アフィン変換時における領域判定では、比較手段を半分にすることができるので、回路規模を削減することができる。
さらに、二値画素演算手段を二値画素を処理対象とし、入力段および出力段にて多値二値変換手段、網点化手段および多値二値変換手段を付加したため、回路が汎用化され、統一的に画像処理を行うことができる。その結果、個別に回路を開発するのに比べて回路規模を削減することができる。
【図面の簡単な説明】
【図１】本発明の原理説明図
【図２】本発明の一実施例を示す全体構成図
【図３】アフィン変換部の構成例を示す図
【図４】アフィン変換の拡大処理の説明図
【図５】アフィン変換の縮小処理の説明図
【図６】小数部の説明図
【図７】１次元アドレスへの変換の説明図
【図８】領域判定部の構成例を示す図
【図９】領域判定の説明図
【図１０】データ演算部の構成例を示す図
【図１１】網点テーブルを示す図
【図１２】網点化の説明図
【図１３】ソース画像とデスティネーション画像を合成した一例を示す図
【図１４】ソース画像とデスティネーション画像を合成した他の例を示す図
【図１５】マスクの例を示す図
【図１６】従来の領域判定の説明図
【符号の説明】
１，２：メモリ
３：表示部
４：データ演算部
５：アフィン変換部
６：領域判定部
７：ＣＰＵ
１１：第１のレジスタ（第１の記憶手段）
１２：第２のレジスタ（第２の記憶手段）
１３：アキュムレータ（累積加減算手段）
１４：整数部アキュムレータ（整数部累積加減算手段）
１５〜１８：第３〜第６のレジスタ
１９：複数の記憶手段
２０：１次元アドレスアキュムレータ（１次元アドレス累積加減算手段）
２１：メモリ
２２：レジスタ
２３：状態判定部
２４：コンパレータ（比較手段）
２５：マルチプレクサ
３１：疑似多値ソース画像
３２：多値ソース画像
３３：二値ソース画像
３４：二値デスティネーション画像
３５：多値デスティネーション画像
３６：多値二値変換部（多値二値変換手段）
３７：第２のマルチプレクサ
３８：二値画素演算部（二値画素演算手段）
３９：多値二値変換部（多値二値変換手段）
４０：第１のマルチプレクサ
４１：網点化部（網点化手段）
４２：網点テーブル
４３：マスク生成部
４４：マスクパターン
４５：二値デスティネーション画像
４６：二値多値変換部（二値多値変換手段）
４７：多値デスティネーション画像
【図１】
0003611898.tif 000002
【図２】
0003611898.tif 000003
【図３】
0003611898.tif 000004
【図４】
0003611898.tif 000005
【図５】
0003611898.tif 000006
【図６】
0003611898.tif 000007
【図７】
0003611898.tif 000008
【図８】
0003611898.tif 000009
【図９】
0003611898.tif 000010
【図１０】
0003611898.tif 000011
【図１１】
0003611898.tif 000012
【図１２】
0003611898.tif 000013
【図１３】
0003611898.tif 000014
【図１４】
0003611898.tif 000015
【図１５】
0003611898.tif 000016
【図１６】
0003611898.tif 000017