(57)【要約】孤立したドットの発生を防いで画質劣化のない安定したドットを生成させるとともに、ハーフトーン処理の処理速度の早い画像処理装置や、画像処理方法を提供すること。入力画像データに対して、２種類以上のレベル値を有する出力画像データに変換して出力する画像処理装置において、予め決められた画素群に基づいて前記画素群に含まれる前記各画素の前記入力画像データから重心位置を決定する重心位置決定手段と、前記重心位置決定手段で決定した前記重心位置に基づく画素に前記レベル値を付与する付与手段と、を備えた画像処理装置であることを特徴とする。【特許請求の範囲】
【請求項１】
入力画像データに対して、２種類以上のレベル値を有する出力画像データに変換して出力する画像処理装置において、
予め決められた画素群に基づいて前記画素群に含まれる前記各画素の前記入力画像データから重心位置を決定する重心位置決定手段と、
前記重心位置決定手段で決定した前記重心位置に基づく画素に前記レベル値を付与する付与手段と、
を備えたことを特徴とする画像処理装置。
【請求項２】
請求の範囲１記載の画像処理装置において、
さらに、前記付与手段で付与された前記レベル値に対してＫ段階（Ｋは正の整数）のパルス幅を生成するパルス幅変調手段、
を備えることを特徴とする画像処理装置。
【請求項３】
請求の範囲１記載の画像処理装置において、
前記重心位置決定手段は、前記各画素の画素位置と前記各画素の前記入力画像データのレベル値との積を前記画素群に含まれる全画素に対して演算し、その和を前記画素群に含まれる各画素の前記入力画像データのレベル値の合計値で除算した値を重心位置として決定する、ことを特徴とする画像処理装置。
【請求項４】
請求の範囲１記載の画像処理装置において、
前記付与手段は、前記レベル値を前記重心位置に近い画素から優先的に選択し、当該選択した画素に前記レベル値を付与する、ことを特徴とする画像処理装置。
【請求項５】
請求の範囲１記載の画像処理装置において、
前記付与手段は、前記レベル値を前記重心位置に最も近い画素に付与したとき、前記画素群に含まれる各画素のレベル値の合計値から前記付与したレベル値を減算して前記レベル値に余りがあれば当該余りのレベル値を前記レベル値を付与した画素以外の画素であって前記重心位置から最も近い画素に付与する、ことを特徴とする画像処理装置。
【請求項６】
請求の範囲５記載の画像処理装置において、
前記付与手段は、前記余りのレベル値が１画素分のドットを生成させる前記レベル値でないとき、前記余りのレベル値を前記レベル値を付与した画素以外の画素で前記重心位置から最も近い画素でありかつ前記画素群に含まれる画素に付与する、ことを特徴とする画像処理装置。
【請求項７】
請求の範囲１記載の画像処理装置において、
前記重心位置決定手段は、前記画素群に含まれる各画素の座標位置を保持することで前記画素群を予め決めている、ことを特徴とする画像処理装置。
【請求項８】
請求の範囲１記載の画像処理装置において、
前記画素群に含まれる各画素は互いに隣接している、ことを特徴とする画像処理装置。
【請求項９】
入力画像データに対して、２種類以上のレベル値を有する出力画像データに変換して出力する画像処理方法において、
予め決められた画素群に基づいて前記画素群に含まれる前記各画素の前記入力画像データから重心位置を決定する重心位置決定工程と、
前記重心位置決定工程で決定した前記重心位置に基づく画素に前記レベル値を付与する付与工程と、
を備えたことを特徴とする画像処理方法。
【請求項１０】
入力画像データに対して、２種類以上のレベル値を有する出力画像データに変換して出力する処理をコンピュータに実行させるためのプログラムにおいて、
予め決められた画素群に基づいて前記画素群に含まれる前記各画素の前記入力画像データから重心位置を決定する重心位置決定処理と、
前記重心位置決定処理で決定した前記重心位置に基づく画素に前記レベル値を付与する付与処理と、
をコンピュータに実行させることを特徴とするプログラム。
【請求項１１】
入力画像データに対して、２種類以上のレベル値を有する出力画像データに変換することで網点画像を生成する網点画像生成装置において、
予め決められた画素群に基づいて前記画素群に含まれる前記各画素の前記入力画像データから重心位置を決定する重心位置決定手段と、
前記重心位置決定手段で決定した前記重心位置に基づく画素に前記レベル値を付与する付与手段と、
を備えたことを特徴とする網点画像生成装置。
【請求項１２】
入力画像データに対して、２種類以上のレベル値を有する出力画像データに変換することで網点画像を生成する網点画像生成方法において、
予め決められた画素群に基づいて前記画素群に含まれる前記各画素の前記入力画像データから重心位置を決定する重心位置決定工程と、
前記重心位置決定工程で決定した前記重心位置に基づく画素に前記レベル値を付与する付与工程と、
を備えたことを特徴とする網点画像生成方法。
【請求項１３】
入力画像データに対して、２種類以上のレベル値を有する出力画像データに変換することで網点画像を生成する網点画像生成処理をコンピュータに実行させるプログラムにおいて、
予め決められた画素群に基づいて前記画素群に含まれる前記各画素の前記入力画像データから重心位置を決定する重心位置決定処理と、
前記重心位置決定処理で決定した前記重心位置に基づく画素に前記レベル値を付与する付与処理と、
をコンピュータに実行させることを特徴とするプログラム。
【請求項１４】
入力画像データに、入力画像データの複数の画素を含む予め定められたセルを割り当てる手段と、
前記セル内の前記複数の画素の階調値からセル内の重心位置を決定する手段と、
前記セル内の前記複数の画素の階調値の和に対応するドットを、少なくとも前記重心位置を含む画素に発生させる手段と、
を有する画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、レーザプリンタなどの画像処理装置における階調画像データのハーフトーン処理に関する。詳しくは、予め決められたセルを用い、そのセル内に含まれる画素の階調値から重心位置を求めその重心位置に、セル内の画素の階調値の和に対応する分のドットを生成させるようにしたハーフトーン処理に関する。
【背景技術】
【０００２】  従来から、プリンタなどの画像処理装置は、画素ごとに多値の階調値を有する階調データに対して、ドットの有無を表す２値の値に変換して印刷用紙に印刷を行うようになされている。一般には、多値の階調値を２値の値に変換する処理のことをハーフトーン処理と称されている。【０００３】  かかるハーフトーン処理として、所定の階調値が蓄積されるまで所定の順番で画素を探索し、蓄積された階調値を入力階調値が大きい画素から順番に再配分する処理（以下、ＣＡＰＩＸ法）がある（例えば、以下の非特許文献１）。【０００４】  また、各画素の階調値の合計が所定の閾値になるまで所定の順番で画素を選択して複数画素からなる画素群（以下、「セル」）を構成し、そのセルの中心位置にドットを生成させるようにしたハーフトーン処理も知られている（例えば、以下の特許文献１）。【０００５】  さらに、重心位置から最も近い位置にある画素を閾値に達するまで選択しながらセルを構成し、セル内の重心位置にドットを生成させるようにするが、その閾値を入力階調値に応じて変化させるようにしたものもある（例えば、以下の特許文献２）。【０００６】  さらに、入力階調値と所定のサイズからなる閾値マトリックス（変換テーブル）とを比較してドットを生成させるようにした、いわゆる網点処理によるハーフトーン処理もある。
【非特許文献１】黒沢俊晴、他３名、“周辺濃度集積再配分法（ＣＡＰＩＸ法）による擬似中間階調プロセッサ”、画像電子学会誌  第１７巻  第５号（１９８８年）
【特許文献１】特開平１１−２７５２８号公報
【特許文献２】特願２００３−３５２２７０号
【発明の開示】
【発明が解決しようとする課題】
【０００７】  しかしながら、上述したＣＡＰＩＸ法では入力階調値の大きい画素がとびとびに存在したとき、その入力階調値に応じて蓄積階調値を配分することになりドットもとびとびに存在することになる。かかる孤立したドットをレーザプリンタで再現させると、必ずしも安定したドットが再現できるとは限らない。感光体ドラムへのトナーの付着はまとまった大きさのドットの方が安定するからである。かかる不安定なドットは画質劣化を生じさせる原因となっていた。【０００８】  また、上述した特開平１１−２７５２８号は、階調値の合計が“２５５”となるまで画素を選択してセルを構成するようにし、その中心に位置する画素にドットを生成させるようにしている。したがって、１画素分のドットを生成させるようにしているため、同様に孤立したドットが発生し、ドットの再現が不安定となる。【０００９】  一方、上述した特願２００３−３５２２７０号は、セルの構成に必要な閾値を入力階調値に応じて変化させることで、安定したサイズのドットを発生させるようにしている。しかしながら、セルを構成する画素を選択するために重心位置を何度も演算する必要がありハーフトーン処理が遅くなるという問題があった。【００１０】  さらに、上述した網点処理に関しても、連続した入力階調値が存在する領域において、閾値マトリックス内の比較する閾値によっては孤立したドットを発生させる場合もある。【００１１】  そこで、本発明は、孤立したドットの発生を防いで画質劣化のない安定したドットを生成させるとともに、ハーフトーン処理の処理速度の早い画像処理装置や、画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】  上記目的を達成するために本発明は、入力画像データに対して、２種類以上のレベル値を有する出力画像データに変換して出力する画像処理装置において、予め決められた画素群に基づいて画素群に含まれる各画素の入力画像データから重心位置を決定する重心位置決定手段と、重心位置決定手段で決定した重心位置に基づく画素にレベル値を付与する付与手段と、を備えたことを特徴としている。これにより、例えば、画素群が予め決められているので処理が早くなり、そして重心位置に基づく画素にドットを生成させるレベル値を付与しているのでドットが集中し孤立したドットの生成を防ぐことができる。【００１３】  また、本発明は上記画像処理装置において、上記付与手段で付与されたＮ種類のレベル値に対してＫ段階（Ｋは正の整数）のパルス幅を生成するパルス幅変調手段、をさらに備えることを特徴としている。これにより、例えば、より多くの階調表現を可能としたハーフトーン処理を実現することができる。【００１４】  さらに、本発明は上記画像処理装置において、上記重心位置決定手段は、各画素の画素位置と各画素の入力画像データのレベル値との積を画素群に含まれる全画素に対して演算し、その和を画素群に含まれる各画素の入力画像データのレベル値の合計値で除算した値を重心位置として決定する、ことを特徴としている。これにより、例えば、各画素の階調値を含めた重心位置を容易に演算することができる。【００１５】  さらに、本発明は上記画像処理装置において、上記付与手段は、レベル値を重心位置に近い画素から優先的に選択し、当該選択した画素にレベル値を付与する、ことを特徴としている。これにより、例えば、重心位置に近い画素から順番にレベル値を付与するため、孤立したドットの発生を防ぐことができる。【００１６】  さらに、本発明は上記画像処理装置において、上記付与手段は、レベル値を重心位置に最も近い画素に付与したとき、画素群に含まれる各画素のレベル値の合計値から付与したレベル値を減算してレベル値に余りがあれば当該余りのレベル値をレベル値を付与した画素以外の画素であって重心位置から最も近い画素に付与する、ことを特徴としている。これにより、例えば、重心位置から成長したドットが生成され、ある程度まとまったドットが生成されるので孤立したドットの生成を防ぐことができる。【００１７】  さらに、本発明は上記画像処理装置において、上記付与手段は余りのレベル値が１画素分のドットを生成させるＮ種類のレベル値でないとき、余りのレベル値をＮ種類のレベル値を付与した画素以外の画素で重心位置から最も近い画素でありかつ画素群に含まれる画素に付与する、ことを特徴としている。【００１８】  さらに、本発明は上記画像処理装置において、上記重心位置決定手段は画素群に含まれる各画素の座標位置を保持することで画素群を予め決めている、ことを特徴としている。これにより、例えば、セルを構成するために重心位置を何度も演算することがないためにハーフトーン処理の早い画像処理装置を提供することができる。【００１９】  さらに、本発明は上記画像処理装置において、画素群に含まれる各画素は互いに隣接している、ことを特徴としている。これにより、例えば、セ��がまとまった面積を持つため孤立したドットの発生を防ぐとともに、セルを構成する画素の位置情報を少なくすることができるためメモリ容量の削減を図ることができる。【００２０】  また、上記目的を達成するために本発明は、入力画像データに対して、２種類以上のレベル値を有する出力画像データに変換して出力する画像処理方法において、予め決められた画素群に基づいて画素群に含まれる各画素の入力画像データから重心位置を決定する重心位置決定工程と、重心位置決定工程で決定した重心位置に基づく画素にレベル値を付与する付与工程と、を備えたことを特徴としている。これにより、例えば、画素群が予め決められているので処理が早くなり、重心位置に最も近い画素にドットを生成させるレベル値を付与しているのでドットが集中し孤立したドットの生成を防ぐことができる。【００２１】  さらに、上記目的を達成するために本発明は、入力画像データに対して、２種類以上のレベル値を有する出力画像データに変換して出力する処理をコンピュータに実行させるためのプログラムにおいて、予め決められた画素群に基づいて画素群に含まれる各画素の入力画像データから重心位置を決定する重心位置決定処理と、重心位置決定処理で決定した重心位置に基づく画素にレベル値を付与する付与処理と、をコンピュータに実行させるプログラムであることを特徴としている。これにより、例えば、画素群が予め決められているので処理が早くなり、重心位置に最も近い画素にドットを生成させるレベル値を付与しているのでドットが集中し孤立したドットの生成を防ぐ処理をコンピュータで実現することができる。【００２２】  さらに、上記目的を達成するために本発明は、入力画像データに対して、２種類以上のレベル値を有する出力画像データに変換することで網点画像を生成する網点画像生成装置において、予め決められた画素群に基づいて画素群に含まれる各画素の前記入力画像データから重心位置を決定する重心位置決定手段と、重心位置決定手段で決定した重心位置に基づく画素に前記レベル値を付与する付与手段と、を備えたことを特徴としている。これにより、例えば、処理の早い網点画像を生成するとともに孤立した網点の生成を防ぎ、さらに、解像性が向上し、入力階調値に忠実な出力を得る。【００２３】  さらに、上記目的を達成するために本発明は、入力画像データに対して、２種類以上のレベル値を有する出力画像データに変換することで網点画像を生成する網点画像生成方法において、予め決められた画素群に基づいて画素群に含まれる各画素の入力画像データから重心位置を決定する重心位置決定工程と、重心位置決定工程で決定した重心位置に基づく画素に前記レベル値を付与する付与工程と、を備えたことを特徴としている。これにより、例えば、処理の早い網点画像を生成するとともに孤立した網点の生成を防ぎ、さらに、解像性が向上し、入力階調値に忠実な出力を得る。【００２４】  さらに、上記目的を達成するために本発明は、入力画像データに対して、２種類以上のレベル値を有する出力画像データに変換することで網点画像を生成する網点画像生成処理をコンピュータに実行させるプログラムにおいて、予め決められた画素群に基づいて画素群に含まれる���画素の入力画像データから重心位置を決定する重心位置決定処理と、重心位置決定処理で決定した重心位置に基づく画素にレベル値を付与する付与処理と、をコンピュータに実行させるプログラムであることを特徴としている。これにより、例えば、処理の早い網点画像を生成するとともに孤立した網点の生成を防ぎ、さらに、解像性が向上し、入力階調値に忠実な出力を得る処理をコンピュータで実現することができる。
さらに、上記目的を達成するために本発明は、入力画像データに、入力画像データの複数の画素を含む予め定められたセルを割り当てる手段と、セル内の複数の画素の階調値からセル内の重心位置を決定する手段と、セル内の複数の画素の階調値の和に対応するドットを少なくとも重心位置を含む画素に発生させる手段と、を有する画像処理装置であることを特徴としている。これにより、例えば、孤立したドットの発生を防ぐとともに処理の早い画像処理装置を提供することができる。
【図面の簡単な説明】
【００２５】［図１］本発明が適用されるシステム全体の構成を示す図である。
［図２］画像処理装置の具体的構成を示す図である。
［図３Ａ］セルブロックの例を示す図である。
［図３Ｂ］セルブロックの例を示す図である。
［図３Ｃ］セルブロックの例を示す図である。
［図３Ｄ］セルブロックの例を示す図である。
［図４］入力画像に対して適用されるセルブロックの種類を説明するための図である。
［図５］本発明に係る処理の動作を示すフローチャートである。
［図６］本発明に係る処理の動作を示すフローチャートである。
［図７］ドット生成処理の動作を示すフローチャートである。
［図８Ａ］入力バッファ領域２６１の例を示す図である。
［図８Ｂ］出力バッファ領域２６２の例を示す図である。
［図９Ａ］出力バッファ領域２６２の例を示す図である。
［図９Ｂ］出力バッファ領域２６２の例を示す図である。
［図１０Ａ］入力バッファ領域２６１の例を示す図である。
［図１０Ｂ］出力バッファ領域２６２の例を示す図である。
［図１１Ａ］出力バッファ領域２６２の例を示す図である。
［図１１Ｂ］出力バッファ領域２６２の例を示す図である。
［図１２Ａ］セルブロックの例を示す図である。
［図１２Ｂ］セルブロックの例を示す図である。
［図１３］セルブロックの例を示す図である。
［図１４］本発明が適用される他のシステム全体の構成を示す図である。
【発明を実施するための最良の形態】
【００２６】  以下、図面を参照して本発明を実施するための最良の形態を説明する。図１は、本発明が適用されるシステム全体の構成を示す図である。全体としてホストコンピュータ１０と、画像処理装置２０とから構成される。【００２７】  ホストコンピュータ１０は、アプリケーション部１１とラスタライズ部１２とから構成される。アプリケーション部１１では、文字データ、図形データ、ビットマップデータ等の印刷対象のデータが生成される。例えば、ホストコンピュータ１０でワードプロセッサや図形ツールなどのアプリケーションプログラムを使用してキーボード等の操作により文字データや図形データなどが生成される。生成されたこれらのデータは、ラスタライズ部１２へ出力される。【００２８】  ラスタライズ部１２では、アプリケーション部１１から出力された印刷対象のデータを画素ごと（又はドットごと）に８ビットの階調データに変換する。したがって、各画素０から２５５までの階調値（レベル値）を有することになる。ラスタライズ部１２における階調データの生成は、実際にはホストコンピュータ１０に実装されたドライバによって処理が行われる。ラスタライズ部１２から出力される階調データは、画像処理装置２０に出力される。なお、本実施例においてこの階調データはモノクロデータとして以下説明する。【００２９】  画像処理装置２０は、全体として画像処理部２１と印刷エンジン２２とから構成される。画像処理部２１は、ハーフトーン処理部２１１と、パルス幅変調部２１２とから構成される。ハーフトーン処理部２１１は、ホストコンピュータ１０から出力された階調データが入力され、２値以上の多値の値（レベル値）に変換し、量子化データを出力する。パルス幅変調部２１２は、ハーフトーン処理部２１１から出力された量子化データが入力され、この量子化データに対してドットごとにレーザ駆動パルス有り又は無しを示す駆動データを生成する。生成した駆動データは、印刷エンジン２２に出力される。【００３０】  印刷エンジン２２は、レーザドライバ２２１とレーザーダイオード（ＬＤ）２２２とから構成される。レーザドライバ２２１は、パルス幅変調部２１２からの駆動データが入力され、その駆動データをもとに駆動パルスあり又はなし等を示す制御データを生成し、レーザーダイオード２２２に出力する。レーザーダイオード２２２は、レーザドライバ２２１から出力された制御データに基づいて駆動され、さらに図示しない感光ドラムや転写ベルトが駆動されて、実際に印刷用紙等の記録媒体にホストコンピュータ１０からのデータが印刷されることになる。【００３１】  次に図２を参照して、画像処理装置２０の具体的構成について説明する。ここで、図１の画像処理装置２０のうち、ハーフトーン処理部２１１及びパルス幅変調部２１２は、図２におけるＣＰＵ２４、ＲＯＭ２５、及びＲＡＭ２６に対応する。【００３２】  画像処理装置２０は、入力インターフェース（Ｉ／Ｆ）２３、ＣＰＵ２４、ＲＯＭ２５、ＲＡＭ２６、印刷エンジン２２とから構成され、バスを介して互いに接続されている。入力Ｉ／Ｆ２３は、ホストコンピュータ１０と画像処理装置２０とのインターフェースの役割を果たす。入力Ｉ／Ｆ２３には、所定の伝送���式により伝送された、ホストコンピュータ１０からの階調データが入力され、ＣＰＵ２４の制御により画像処理装置２０で処理できるデータに変換される。入力された階調データは、一旦ＲＡＭ２６に格納される。【００３３】  ＣＰＵ２４は、バスを介して入力Ｉ／Ｆ２３、ＲＯＭ２５、ＲＡＭ２６、印刷エンジン２２と接続され、ＲＯＭ２５に格納されたプログラムを適宜読み出して、ハーフトーン処理等の各種処理を行う。その詳細は後述する。【００３４】  ＲＡＭ２６は、ＣＰＵ２４で実行される各処理のワーキングメモリとして役割を果たし、処理中や処理後の各種データが格納される。また、印刷エンジン２２のレーザドライバ２２１を駆動させるための駆動データも格納される。【００３５】  印刷エンジン２２は、図１の印刷エンジンと同様の構成で、ＲＡＭ２６に格納された駆動データがＣＰＵ２４の制御により入力されて、上述した印刷処理が行われることになる。【００３６】  次に本発明によるハーフトーン処理の詳細について図面を参照しながら説明するが、最初に、図３乃至図４を参照して本発明の概要について簡単に説明する。まず、図３に示すように４種類のセルブロック２５１〜２５４を用意する。すなわち、図３Ａに示す左上端用セルブロック２５１と、図３Ｂに示す上端用セルブロック２５２と、図３Ｃに示す左端用セルブロック２５３と、図３Ｄに示す通常領域用セルブロック２５４である。【００３７】  各セルブロック２５１〜２５４内には複数のセル（図中、太線で表示）が存在する。そして、セルブロック２５１〜２５４の各セル内には入力画素が複数存在し、各セル内で重心位置を求めてドット生成のための処理を進めることになる。【００３８】  これらの４つのセルブロック２５１〜２５４は、１ページ（又は１フレーム）分の入力画像１００に対して図４に示すように適用される。すなわち、入力画像１００の左上端ブロックＢｋ１１には、左上端用セルブロック２５１が適用され、入力画像１００の上端ブロックＢｋ２１〜Ｂｋｍ１（ｍ≧２）には上端用セルブロック２５２が適用される。また、入力画像１００の左端ブロックＢｋ１２〜Ｂｋ１ｎ（ｎ≧２）には左端用セルブロック２５３が適用され、入力画像１００のそれ以外のブロックＢｋＸＹ（２≦Ｘ≦ｍ、２≦Ｙ≦ｎ）には通常領域用セルブロック２５４が適用される。【００３９】  ここで、図３に戻り左上端用セルブロック２５１の上部にある７番目のセルの右半分は右隣のセルブロック２５２に含まれることになり、したがって上端用セルブロック２５２の左上にある１番目のセルの左側はセル番号が割り当てられておらず、上端用セルブロック２５２内で処理は行われないことになる。これは、かかる７番目のセルを２つに区切って左上端用セルブロック２５１、上端用セルブロック２５２それぞれ別々に処理を行うと別々にドットが打たれてしまい、孤立したドットの発生につながる。そこで、２つのセルブロックに跨っているセルについてはいずれか一方のセルブロック内で処理するようにしている。このようなことは、左上端用セルブロック２５１の最も下に位置するセルと左端用セルブロック２５３の最も上に位置するセルなど、各セルブロック２５１〜２５４間で発生する。【００４０】  このようなセルブロック２５１〜２５４を入力画像１００に適用し、各ブロック２５１〜２５４内の予め決められたセル枠内で入力階調値に応じた重心位置を求め、当該重心に位置する画素にドット生成を示す値（例えば“２５５”）を割り当てる。このときセル内の階調値の合計に応じてさらにドット生成を示す値を割り当てるときは、重心から最も近い画素に割り当てるようにする。【００４１】  重心位置の演算ではセル内の画素の階調値の合計値に応じて重心位置にドットを集中させるよう処理を行っているために、孤立したドットの発生を抑え、ある程度の大きさのドットが発生しやすくなる。したがって、安定したドットが発生し画質劣化のない画像を再生することができる。また、セルを構成するときに、毎回重心位置を演算してセルに取りこむべき画素を求めることはせず、セルブロック２５１〜２５４内で予め決められたセルを適用しているため、セル構成のための処理時間がなくなり、その分処理が早くなる。【００４２】  さらに、従来の網点処理の場合は各網点セル（閾値マトリックス）で閾値と入力階調値とを比較するようにしているが、閾値によってはドットが発生したりしなかったりなど孤立したドットの発生が生じることも考えられる。しかし、本発明のようにまわりの画素から階調値を集めて重心位置からドットを生成するようにしているため、網点処理と比較して安定したドットを再現することができる。【００４３】  さらに、従来の網点処理と比較して本発明の場合、解像性が向上し、入力階調値に忠実な出力を得ることができる。すなわち、従来の網点処理では網点（ドット）位置が固定されているため、解像性が網点周期程度に劣化し、例えば文字がギザつくジャギーが発生したり、小さく薄い文字が読みにくくなる等の問題があった。本発明では重心位置にドットが発生して網点が形成されることになるので、細線やエッジの再現性が向上してジャギーが発生せず、小さく薄い文字が読み易くなり、高解像度の網点画像を生成する。また、従来の網点処理の場合、大きい閾値によって入力階調値が切り捨てられ細い線が再現されなかったり、或いはその逆で入力階調値がドット生成を示す“２５５”に切り上げられ太線に変換されたり、入力階調値と出力階調値との不一致の問題があった。本発明ではセルに含まれる階調値の合計と同じ階調値を有する網点が生成されることになり、入力画像の階調値に忠実な出力を得ることができる。なお、以上の議論に鑑みて、本発明が適用されるのは図１に示す画像処理装置のみならず、同じ機能を有する網点画像生成装置に適用しても全く同様の効果を奏することが言える。【００４４】  次に本発明に係るハーフトーン処理の詳細について適宜図面を参照して説明することにする。図５乃至図７は、処理の動作を示すフローチャートである。【００４５】  図５に示すように、ＣＰＵ２４はＲＯＭ２５から本処理を実行するためのプログラムを読み出すことで処理が開始される（ステップＳ１０）。次いで、ＣＰＵ２４は入力画像１００をＲＡＭ２６に読み込む処理を行う（ステップＳ１１）。例えば、ＲＡＭ２６の所定領域に設けられた入力バッファ領域２６１に入力画像１００の各階調値が格納される。この例を図８Ａに示す。この入力バ��ファ領域２６１の各座標位置は全体画像の各画素位置に対応するもので、（０，０）の座標位置は、全体画像の（０，０）に位置する画素に対応する。また、各座標位置に格納された値は当該画素の入力階調値を示す。図８Ａの例は、入力画像１００の左上端に薄い線が存在する画像の例である。なお、入力バッファ領域２６１は５行５列の例で示しているが、これは説明を容易にするためであって、例えば１ページ（１フレーム）分の画像を格納できる構成であってもよいし、この図より少ない行と列の構成であってもよい。【００４６】  図５に戻り、次いでＣＰＵ２４は繰り返しブロックを入力画像１００の左上に設定し、Ｎに“１”を代入する（ステップＳ１２）。すなわち、入力画像１００の左上端ブロックＢｋ１１に左上端用セルブロック２５１を適用するようにし、さらにセルブロック２５１内のセル番号を示すＮに“１”を代入する。入力画像１００の左上端部の領域から処理を始めるためである。図８Ａの例では、この領域２６１に左上端用セルブロック２５１の番号１のセル（以下、セル（１））が適用されることになる。【００４７】  次いで、ＣＰＵ２４はブロック内のＮ番目のセルに含まれる全画素を参照する（ステップＳ１３）。図８Ａの例では、セル（１）に含まれる全画素を参照することになる。このセル（１）の枠は、図８Ａにおいて太線で示す。ここで、各セルに含まれる参照すべき画素は例えば座標位置でリスト化され、かかる情報がＲＯＭ２５（又はＲＡＭ２６）に格納される。そして、本ステップＳ１３の処理の際にＣＰＵ２４が読み出してセル内に含まれる画素を参照することになる。図８Ａの例では、セル（１）に含まれる画素として、（０，０）、（１，０）、・・・、（４，０）、（０，１）、・・・、（１，４）がリスト化されＲＯＭ２５等に格納されている。セルブロック２５１内の他のセル（Ｎ）についても同様である。【００４８】  次いで、ＣＰＵ２４はセル内における参照画素の階調値の合計を演算する（ステップＳ１４）。その後の重心位置演算の処理で必要だからである。図８Ａの例においてセル（１）内の階調値の合計は、“３６５”となる。この合計値は、ＣＰＵ２４によって、例えばＲＡＭ２６の所定領域に格納される。【００４９】  次いで、ＣＰＵ２４は参照画素の重心を演算する（ステップＳ１５）。重心位置に基づいてドットを生成する処理を行うためである。重心位置の演算は、以下の式を用いる。【００５０】
2005109851.tif 000002
［数１］に示すように、各座標位置に当該画素の階調値を積算した値をセル内の参照画素すべてに対して行い、その和をセル内の階調値の合計値（ステップＳ１５で演算した値）で除算する。この［数１］は、例えばＲＯＭ２５に格納され、本処理のときにＣＰＵ２４がＲＯＭ２５から読み出して演算を行う。図８Ａの例では、（Ｘ重心，Ｙ重心）≒（１．５１，１．５１）となる。演算した重心位置は、例えばＲＡＭ２６に格納される。【００５１】  図５に戻り、次いでＣＰＵ２４はドット生成処理を行う（ステップＳ１６）。すなわち、演算した重心位置からドットをどの画素位置に生成させるかの処理を行う。ドット生成処理の詳細を図７に示す。ドット生成処理（ステップＳ１６）に移行すると、まずＣＰＵ２４は重心位置に最も近いドット未出力画素を探索する（ステップＳ１６１）。図８Ｂには、ＲＡＭ２６の所定領域内に設けられた出力バッファ領域２６２の例を示す。この出力バッファ領域２６２は、ドットの生成の有無を示す値を格納するためのメモリで、入力バッファ領域２６１と同様に各座標位置が全体画像の各画素位置に対応する。なお、この出力バッファ領域２６２の全領域には予め“０”が格納されているものとする。ここでドット未出力画素とは、ドット無しを示す“０”が格納された画素のことで、ドット未出力画素の探索は出力バッファ領域２６２から判断することができる。図８Ａの例では、重心位置の座標が（１．５１，１．５１）となっているので、（２，２）の座標に位置する未出力画素を探索することになる。なお、図８Ｂには理解の容易のため、重心位置２６２１を示す。【００５２】  図７に戻り、次いでＣＰＵ２４は未出力画素があるか否か判断する（ステップＳ１６２）。図８Ｂの例では探索した画素（２，２）はドット未出力画素なので本ステップで“ＹＥＳ”と判断され、ステップＳ１６３に移行する。【００５３】  ステップＳ１６３においてＣＰＵ２４は、残り階調値が“２５５”よりも大きいか否か判断する（ステップＳ１６３）。図８Ｂの例では、階調値の合計値は“３６５”で、この時点で階調値の減算が行われていないので、残り階調値は“３６５”である。よって、本ステップＳ１６３で“ＹＥＳ”が選択され、処理はステップＳ１６４に移行する。【００５４】  ステップＳ１６４においてＣＰＵ２４は探索した画素に“２５５”を出力する。すなわち、出力バッファ領域２６２の探索画素に対応する座標位置に“２５５”が格納される。本実施例においてこの“２５５”は、１画素全体に対してドットの生成を表す値となっている。図８Ｂに示すように、座標位置（２，２）に“２５５”が格納される。【００５５】  次いで、ＣＰＵ２４は残り階調値から“２５５”を減算する（ステップＳ１６５）。図８Ｂの例では、残り階調値“３６５”から“２５５”を減算すると、“１１０”となる。減算後の残り階調値も、例えばＲＡＭ２６に格納される。【００５６】  次いで、ＣＰＵ２４は残り階調値があるか否か判断する（ステップＳ１６６）。上述のステップＳ１６５で減算後の残り階調値がＲＡＭ２６に格納されるので、かかる値を読み出して“０”か否かで判断することができる。残り階調値があれば（本ステップで“ＹＥＳ”のとき）、処理は再びステップＳ１６１に移行して上述の処理を繰り返す。一方、残り階調値がないと（本ステップで“ＮＯ”のとき）、ドット生成処理が終了して図５のステップＳ１７に移行する。【００５７】  すなわち、ステップＳ１６１からステップＳ１６６までの処理では、重心に最も近いドット未出力画素から順に“２５５”を出力し、セル内の階調値の合計値がなくなるまでこれを繰り返すことになる。したがって、セル内の階調値の合計値が多いと、それだけ“２５５”を出力する画素が多くなりドットの生成が多くなる。合計値が低いと逆にドットの生成が少なくなる。よって、セル内の入力階調値の大きさに対応したドットを生成させることができる。【００５８】  一方、残り階調値が“２５５”以下のとき（ステップＳ１６３で“ＮＯ”のとき）、残り階調値を探索した画素に出力する（ステップＳ１６７）。図８Ｂの例では、残り階調値が“１１０”で、“２５５”以下のため、この残りの階調値“１１０”を重心位置に最も近いドット未出力画素に出力することになる。重心位置（１．５１，１．５１）に最も近いドット未出力画素は、（２，１）と（１，２）に位置する２つの画素がある。この場合、図９Ａに示すように残りの階調値“１１０”を均等に２つの画素に出力するようにしてもよいし、図９Ｂに示すようにいずれか一方の画素に出力するようにしてもよい。そして、ドット生成処理（ステップＳ１６）が終了して、図５のステップＳ１７に移行することになる。【００５９】  また、重心に最も近いドット未出力画素を探索したものの未出力画素がないとき（ステップＳ１６２で“ＮＯ”のとき）、セル内の全画素についてドット生成を示す値が格納されたことになり、本ドット生成処理が終了してステップＳ１７に移行することになる。【００６０】  ドット生成処理（ステップＳ１６）においては、上述したようにセル内の階調値の合計値に基づいて重心位置に近い画素から順にドット生成を示す値を出力するようにしているために、ドットは重心位置を中心に円状に成長し、まとまったドットを生成させる確率が高くなる。【００６１】  レーザプリンタの場合、露光ユニット内のレーザ光を感光体ドラムに照射することで潜像を形成するが、例えば１画素分のドットを形成させるようにするとき、かかる潜像が形成された感光体ドラムにトナーを付着させるとドット幅が小さすぎてトナーがうまく付着できない場合もある。印刷再生された用紙上では本来あるべき位置にドットが形成されていなかったりする場合もある。すなわち、孤立したドットはその再現性が不安定で、これが画質の劣化に繋がってしまう。【００６２】  一方、３画素分、４画素分と、できるだけ大きな、まとまったドットを生成させるようにすれば、トナーがうまく付着できすにドットが形成されない等の不都合を解消して画質劣化を防止することができる。そのために、本発明では重心位置を中心にして順次ドットを生成させるようにし、孤立したドットの生成を防いでいる。【００６３】  再び図５に戻り、ドット生成処理（ステップＳ１６）が終了すると、次いでセル番号ＮがＮＭＡＸか否か判断する（ステップＳ１７）。ＮＭＡＸは、セルブロック２５１〜２５４内に含まれるセルの数の最大値である。ここでは、各���ルブロック２５１〜２５４内の全てのセルに対してステップＳ１３からステップＳ１６までの処理が終了したか否かを判断している。例えば、このＮＭＡＸはＲＯＭ２５（又はＲＡＭ２６）に格納され本ステップでＣＰＵ２４が適宜読み出して、ＲＡＭ２６に格納されたセル番号Ｎの値と比較することで処理を行う。【００６４】  セル番号ＮがＮＭＡＸと等しくないとき（ステップＳ１７で“ＮＯ”のとき）、次いでＣＰＵ２４はセル番号Ｎに１を加算し（ステップＳ１８）、その次のセルに対して上述の処理を繰り返すことになる（ステップＳ１３に移行）。図９Ａ、Ｂの例では１番目のセルに対して処理が終了したことになるので、２番目のセルに対して上述の処理（ステップＳ１３からＳ１７）を繰り返すことになる。【００６５】  一方、セル番号ＮがＮＭＡＸと等しいとき（ステップＳ１７で“ＹＥＳ”のとき）、すなわち１つのセルブロック２５１〜２５４内のすべてのセルに対して上述の処理を終えたとき、図６のステップＳ１９に移行し、ブロック右端より右に未処理画素があるか否か判断する（ステップＳ１９）。例えば、図９Ａ、Ｂの例では入力画像１００の左上端ブロックＢｋ１１（図４参照）の処理なので、そのブロックＢｋ１１の右隣には未処理画素を含むブロックＢｋ１２が存在するため、本ステップで“ＹＥＳ”が選択される。【００６６】  ブロック右端より右に未処理画素があれば（ステップＳ１９で“ＹＥＳ”のとき）、ブロックを１つ右に移動し、そのブロック内での上述した処理を行うべくセル番号Ｎに“１”を代入する（ステップＳ２０）。すなわち、最初に左上端のブロックＢｋ１１に対して処理を行い、次にその右隣にあるブロックＢｋ１２の処理（ステップＳ１３からＳ１８までの処理）を行い、順次処理対象のブロックを１つずつ右側に移動させるのである。【００６７】  なお、上端用セルブロック２５２に含まれる各セルのリスト化された座標位置については、入力画像の各上端ブロックＢｋ２１〜Ｂｋｍ１に適用する各ブロック２５２間ですべて同じである。すなわち、入力画像１００のブロックＢｋ２１とブロックＢｋ３１とで適用される上端用セルブロック２５２内の座標位置は同じである。しかし、入力画像１００のブロックＢｋ２１とＢｋ３１とでは各画素の座標位置は異なる。そこで、ブロックＢｋ２１の幅分の距離（オフセット値）を上端用セルブロック２５２の各セルの座標位置に加算してブロックＢｋ３１に対して上端用セルブロック２５２を適用する。また、ブロックＢｋ４１に対しては、この演算した上端用セルブロック２５２の各セルの座標位置にブロックＢｋ３１の幅分の距離を加算する。順次これを繰り返して各上端ブロックＢｋ２１〜Ｂｋｍ１に適用する上端用セルブロック２５２の各セルの座標位置を求める。これにより、上端用セルブロック２５２について各ブロックＢｋ２１〜Ｂｋｍ１に適用するセルブロック２５２ごとに異なるセル内の座標位置を持たせる必要がなく、メモリ容量（ＲＯＭ２５など）の削減を図ることができる。このことは、左端用セルブロック２５３や通常領域用セルブロック２５４に関しても全く同様である。【００６８】  図６に戻り、ブロック右端より右に未処理画素がないとき（ステップＳ１９で“ＮＯ”のとき）、次いでＣＰＵ２４はブロック下端より下に未処理画素があるか否か判断する（ステップＳ２１）。例えば、左上端のブロックＢｋ１１から順次右にブロックを移動させ、右上端のブロックＢｋｍ１（図４参照）の処理が終了したとき、その右に未処理画素が存在せず（ステップ１９で“ＮＯ”）、本ステップＳ２１に移行することになる。この場合に、ブロックＢｋｍ１の下端より下に処理を行っていない画素が存在するので“ＹＥＳ”が選択される。【００６９】  ここで、入力画像１００の右上端ブロックＢｋｍ１に適用される上端用セルブロック２５２に関し、図３Ｂに示すように最も右側に位置するセル（セル（７）やセル（１３）など）の右隣には適用すべきセルが存在しない。これは、セル（７）の中央付近から右側には入力画素が存在しないからである。つまり、入力画像１００の右端は、セル（７）の中央付近から鉛直方向を境にして存在している。もし、セル（７）やセル（１３）より右側に入力画像１００の右端が位置しているときは、再びその領域に上端用セルブロック２５２を適用し、入力画素がないと処理を行わないようにすればよい。このことは、ブロックＢｋ１ｎに適用される左端用セルブロック２５３や、ブロックＢｋｍｎに適用される通常領域用セルブロック２５４に関しても同様である。【００７０】  図６に戻り、ブロック下端より下に未処理画素が存在すると（ステップＳ２１で“ＹＥＳ”のとき）、次いでＣＰＵ２４はブロックを１段下の最左位置に移動させ、当該ブロックでの処理を行うべくセル番号Ｎに“１”を代入して、ステップＳ１３に移行することになる。例えば、ブロックＢｋｍ１（図４参照）まで処理を終了すると、次はその下の最も左端に位置するブロックＢｋ１２に対して処理（ステップＳ１３からステップＳ１８までの処理）を進めることになる。【００７１】  一方、ブロック下端より下に未処理画素がないとき（ステップＳ２１で“ＮＯ”のとき）、以上述べてきた一連の処理は終了することになる（ステップＳ２３）。例えば、最も右下に位置するブロックＢｋｍｎでの処理が終了すると、そのブロックＢｋｍｎの右端より右に未処理画素がなく（ステップＳ１９で“ＮＯ”）、しかも、ブロックＢｋｍｎの下端より下に未処理画素が存在しない（ステップＳ２１で“ＮＯ”）ので、入力画像１００のすべてのブロックに対する処理が終了したことになる。【００７２】  ステップＳ１９からステップＳ２２までの処理はブロックの移動のさせ方に関する処理である。かかる移動の方法以外にも、例えば右上端ブロックＢｋｍ１から順次左側のブロックに移動させ、最も左のブロックに移動するとすぐ下の右端のブロックに移動して処理を行う場合でもよいし、左下端ブロックＢｋ１ｎから順次右ブロックに移動してすぐ上のブロックへと処理を行う場合でもよい。【００７３】  そして、出力バッファ領域２６２に格納されたドット生成の有無を示す出力値が量子化データとしてハーフトーン処理部２１１（図１参照）からパルス幅変調部２１２に出力される。そして、この値に基づくパルス幅が生成され印刷画像が印刷用紙等に形成される。例えば、“２５５”が出力された画素では１画素分のパルス幅が生成され、“１２８”では１画素の半��のパルス幅、“６４”は４／１のパルス幅、等となる。すなわち、出力バッファ領域２６２に格納された出力値はトナーのビーム付着領域であるドット領域を表現し、ドット生成の有無のみならずドットの大きさを表現することになる。より多くの階調表現（明るさの表現）が可能となり、レーザプリンタで多く使用されている。本実施例では、パルス幅変調部２１２において“２５６”段階のパルスを生成するものとする。もちろん、これ以上の段階数でもこれ以下の段階数のパルスを生成するものでもよい。【００７４】  図８乃至図９に示す例は、薄い線が斜めに存在する画像の例でドットの生成について説明したが、次に入力階調値が突然変化するような、いわゆるエッジの領域でのドットの生成について説明する。その例を図１０以降に示す。【００７５】  処理の詳細は説明したので、図１０以降の例では簡単に説明することにする。図１０Ａに示すように入力バッファ領域２６１に入力階調値が格納されることで入力画像１００の読み込みが行われる（ステップＳ１１）。そして、この領域に左上端用セルブロック２５１のセル番号１のセル（１）が適用される（ステップＳ１２、Ｓ１３）。もちろん、処理を早くするためにセルの大きさは固定である。セル（１）内の階調値の合計は“２１９０”（ステップＳ１４）で、重心位置を［数１］を用いて演算すると（Ｘ重心，Ｙ重心）≒（２．７５，１．１２）となる（ステップＳ１５）。【００７６】  そして、ドット生成処理（ステップＳ１６）に移行し、重心位置に位置するドット未処理画素を探索する（ステップＳ１６１）。まず、画素（３，１）を探索する。この画素位置はドット未出力画素（“０”が格納されている画素）なので、当該画素位置に“２５５”を出力する（ステップＳ１６２、Ｓ１６３ともに“ＹＥＳ”、ステップＳ１６４）。図１０Ｂにその例を示す。次に、階調値値の合計“２１９０”から“２５５”を減算すると、“１９３５”となり（ステップＳ１６５）、残り階調値があるため（ステップＳ１６６で“ＹＥＳ”）再び重心に最も近い未出力画素を探索する（ステップＳ１６１）。【００７７】  これを繰り返すことで図１１Ａに示す状態となる。なお、この図に示す例は、重心位置から最も近い画素を探索するときにセル（１）内（点線で図示）のドット未出力画素を探索するようにしている。しかし、必ずしもセル内でドット未出力画素を探索する必要はなく、図１１Ｂに示すようにセル（１）の領域外でのドット未出力画素を探索し、当該画素にドット生成を示す値を出力してもよい。なお、最後の残り階調値は“１５０”で、図１１Ａの例では（１，１）の画素位置に、図１１Ｂの例では（４，０）の画素位置に出力される。【００７８】  図１１Ａ、Ｂに示すように、このエッジの領域においても、重心位置を中心にしてドットが固まって配置されるため、孤立したドットと比較して安定したドットの再現を行うことができる。また、エッジの再現性についても図１１Ａ、Ｂともに入力階調値に忠実で解像度もよい。とくに、セル内でのドット未出力画素の探索に拘泥しない図１１Ｂの例は良好である。【００７９】  また、入力階調値の変化のない、平坦な画像に対して本発明に係るハーフトーン処理を適用すると、各セ��の大きさはほぼ均等であるため、隣接するセルで生成されるドット間距離にばらつきが少なくなる。したがって、視覚的に良好な画像が形成される。この場合も、重心位置を中心にしてドットを生成させるようにしているため、孤立したドットの発生を防ぎ、また、セルの大きさも固定のため処理が早くなることはいうまでもない。【００８０】  なお、図３等から明らかであるが、各セルを構成する画素は当該セル内で互いに隣接して位置している。例えばセル（１）を構成する画素の一部が、（１００，０）の位置にある等とびとびに存在すると逆に孤立したドットを発生することになる。図３等のようにセルを構成することで、セルがまとまった面積を持つため孤立したドットの発生を抑えることができる。また、互いに隣接しているため、当該セル内に位置する画素の座標位置に関する情報を少なくすることができる。したがって、ＲＯＭ２５等に格納された位置情報も少なくなるのでメモリ容量の削減を図ることができる。【００８１】  以上説明してきたように、本発明によれば孤立したドットの発生を防いで安定したドットを生成させるとともに、処理の速度が早いハーフトーン処理を実現することができる。【００８２】  上述の例では、セルブロック２５１〜２５４の例として円状のセル枠からなるブロックで説明したが、図１２Ａに示すひし形のセル枠を有するセルブロックであってもよい。また、図１２Ｂに示すようにセル枠が四角形で上下がずれるような配置であってもよいし、図１３に示すように四角形のセル枠が上下整列して配置されるようなセルブロックであってもよい。要するに、各セルブロックですき間がないようにセルを構成させるようにすればよい。この場合でも、上述した例と同様の作用効果を奏する。【００８３】  また、上述の例ではモノクロデータに対するハーフトーン処理であったが、カラーデータに対する処理であってもよい。この場合、ホストコンピュータ１０からＲＧＢ（レッド、グリーン、ブルー）の階調データが画像処理装置２０に入力され、画像処理装置２０においてＣＭＹＫ（シアン、マゼンタ、イエロー、ブラック）の色変換処理を行い、各色ごとに上述の処理を行うことになる。【００８４】  さらに、上述したハーフトーン処理がホストコンピュータ１０で行われるようにしてもよい。この場合、上述したハーフトーン処理後の量子化データがホストコンピュータ１０から画像処理装置２０に入力され、画像処理部２１でパルス幅変調を行うことになる。このとき、ホストコンピュータ１０が本発明に係る画像処理装置として機能する。【００８５】  さらに、図１４に示すように、色変換処理と本発明に係るハーフトーン処理とがホストコンピュータ１０で行われ、ホストコンピュータ１０でカラーデータに対する処理が行われるようにしてもよい。この場合、量子化データが画像処理装置２０に出力され、パルス幅変調等の処理が行われて印刷が行われる。【００８６】  さらに、上述の例では入力階調値として“０”から“２５５”までのレベル値を有し、また出力階調値の例も“０”から“２５５”までのレベル値を有するものとして説明したが、これ以外にも入出力ともに“０”から“１２７”等種々のレベル値であってもよい。一般的には、入力階調値がＮ種類（Ｎは整数）のレベル値を有していたときに出力階調値がＭ種類（Ｍも整数で、Ｎ≧Ｍ）のレベル値を有していればよい。【００８７】  さらに、上述の例ではセル内に含まれる画素に関して、その座標位置をリスト化して処理を行うとして説明したが、それ以外にも例えば、各位置の画素が何番目のセルに属しているかのセル番号を記録したマトリックスによる処理でもよい。例えば、かかるマトリックスをＲＯＭ２５等に格納しておき、このマトリックスと入力データとを重ねて画素ごとにどのセルに含まれるかをＣＰＵ２４で判定し、各セルで重心位置を演算して処理を進めるようにする。かかる場合でも全く同様の効果を奏することができる。【００８８】  さらに、画像処理装置２０の例としては上述したプリンタ以外にも、ファクシミリや複写機、これらの機能を有するいわゆる複合機であっても、同様の作用効果を奏する。さらに、ホストコンピュータ１０としてパーソナルコンピュータや携帯電話、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｃｅ）、デジタルカメラ、その他の情報携帯端末であってもよい。
【図１】
2005109851.tif 000003
【図２】
2005109851.tif 000004
2005109851.tif 000005
2005109851.tif 000006
2005109851.tif 000007
2005109851.tif 000008
【図４】
2005109851.tif 000009
【図５】
2005109851.tif 000010
【図６】
2005109851.tif 000011
【図７】
2005109851.tif 000012
2005109851.tif 000013
2005109851.tif 000014
2005109851.tif 000015
2005109851.tif 000016
2005109851.tif 000017
【図１３】
2005109851.tif 000018
【図１４】
2005109851.tif 000019
【国際調査報告】
2005109851.tif 000020
2005109851.tif 000021
2005109851.tif 000022
2005109851.tif 000023