(57)【要約】【課題】  ビットマップ形式とランレングス形式を使い分けることで２値画像に対して画像処理を施す場合の処理効率を高めること。【解決手段】  画像処理装置１は、画像処理を施す２値画像について、ビットマップ形式の場合の処理コストと、ランレングス形式の場合の処理コストとを比較し、処理コストの小さいデータ形式を選択して２値画像に画像処理を施し、処理後の２値画像を出力する。また、画像処理装置２は、エントロピー符号化された２値画像データについて、ビットマップ形式の２値画像データに復号して画像処理を施した場合の処理コストと、ランレングス形式の２値画像データに復号して画像処理を施した場合の処理コストとを比較し、処理コストの小さいデータ形式の２値画像データに復号した後、画像処理を施して処理後の２値画像データを出力する。【選択図】      図４
2005301457.tif 000002
【特許請求の範囲】
【請求項１】
画像処理を施す２値画像のデータ形式を特定する特定手段と、
前記２値画像に対して画像処理を施した場合の処理量を、前記２値画像のデータ形式をビットマップ形式とした場合とランレングス形式とした場合の各々について、前記２値画像から得られる情報を用いて算出する第１の算出手段と、
前記第１の算出手段により算出された、ビットマップ形式の場合とランレングス形式の場合の処理量を比較し、処理量の少ないデータ形式を選択する選択手段と、
前記特定手段により特定されたデータ形式が前記選択手段により選択されたデータ形式と異なる場合に、前記２値画像のデータ形式を前記選択手段により選択されたデータ形式に変換する変換手段と、
前記選択手段により選択されたデータ形式の前記２値画像に対して画像処理を施す画像処理手段と、
前記画像処理手段により処理された２値画像を出力する出力手段と
を具備することを特徴とする画像処理装置。
【請求項２】
ビットマップ形式とランレングス形式のうち、前記特定手段により特定されたデータ形式と異なるデータ形式に前記２値画像のデータ形式を変換した場合の処理量を、前記２値画像から得られる情報を用いて算出する第２の算出手段をさらに具備し、
前記第１の算出手段は、ビットマップ形式の場合とランレングス形式の場合の処理量のうち、前記特定手段により特定されたデータ形式と異なるデータ形式の処理量については、前記第２の算出手段により算出された処理量を加算する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１の算出手段は、前記２値画像に対して画像処理を施した場合の処理量を、前記２値画像のデータ形式をビットマップ形式とした場合については、前記２値画像の画像サイズを用いて算出する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記第１の算出手段は、前記２値画像に対して画像処理を施した場合の処理量を、前記２値画像のデータ形式をランレングス形式とした場合については、前記２値画像に含まれる、いずれか一方の画素値についてのランの数を用いて算出する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記第２の算出手段は、前記２値画像のデータ形式をランレングス形式へ変換する場合の処理量を、前記２値画像に含まれる、いずれか一方の画素値についてのランの数を用いて算出する
ことを特徴とする請求項２に記載の画像処理装置。
【請求項６】
前記第２の算出手段は、前記２値画像のデータ形式をビットマップ形式へ変換する場合の処理量を、前記２値画像に含まれる、いずれか一方の画素値についてのランの数と前記画素値を有する画素の数を用いて算出する
ことを特徴とする請求項２に記載の画像処理装置。
【請求項７】
当該画像処理装置に入力された２値画像または当該画像処理装置において作成された２値画像のデータ形式がビットマップ形式であった場合に、前記２値画像に含まれる、いずれか一方の画素値についてのランの数を計数する計数手段と、
前記計数手段により計数されたランの数を前記２値画像と対応付けて記憶する記憶手段とをさらに具備し、
前記第１の算出手段は、前記２値画像に対して画像処理を施した場合の処理量を、前記２値画像のデータ形式をランレングス形式とした場合については、前記記憶手段に記憶されているランの数を用いて算出する
ことを特徴とする請求項４に記載の画像処理装置。
【請求項８】
ビットマップ形式の２値画像データから走査順序に従って画素値をｎビット（ｎは２以上の整数）ずつ読み出す読出手段と、
前記読出手段により読み出されたｎビットの画素値の直前の画素値を判別する判別手段と、
前記ｎビットの画素値毎に、当該ｎビットの画素値に含まれる、いずれか一方の画素値についてのランの数を前記直前の画素値に応じて２種類有するデータを記憶する記憶手段と、
前記読出手段により読み出されたｎビットの画素値と、前記判別手段により判別された直前の画素値と、前記記憶手段に記憶されているデータとに基づいて、前記２値画像データに含まれるランの数を計数する計数手段とをさらに具備し、
前記第１の算出手段は、前記特定手段によりビットマップ形式であることが特定された場合、前記２値画像に対して画像処理を施した場合の処理量を、前記２値画像のデータ形式をランレングス形式とした場合については、前記計数手段により計数されたランの数を用いて算出する
ことを特徴とする請求項４に記載の画像処理装置。
【請求項９】
エントロピー符号化された２値画像データを復号して画像処理を施した場合の処理量を、前記２値画像データをビットマップ形式の２値画像データに復号した場合とランレングス形式の２値画像データに復号した場合の各々について算出する第１の算出手段と、
前記第１の算出手段により算出された、ビットマップ形式の場合とランレングス形式の場合の処理量を比較し、処理量の少ないデータ形式を選択する選択手段と、
前記エントロピー符号化された２値画像データを、前記選択手段により選択されたデータ形式の２値画像データに復号する復号手段と、
前記復号手段により復号された２値画像データに対して画像処理を施す画像処理手段と、
前記画像処理手段により処理された２値画像データを出力する出力手段と
を具備することを特徴とする画像処理装置。
【請求項１０】
エントロピー符号化された２値画像データを復号した後のデータ量を特定する特定手段と、
前記エントロピー符号化された２値画像データのデータ量と、前記特定手段により特定されたデータ量とを用いて前記２値画像データの圧縮率を算出する第２の算出手段と、
圧縮率毎に、２値画像に含まれるいずれか一方の画素値についてのランの数を示す情報を記憶する記憶手段とをさらに具備し、
前記第１の算出手段は、ビットマップ形式の２値画像データに復号した場合とランレングス形式の２値画像データに復号した場合の各々の処理量を、前記第２の算出手段により算出された圧縮率と前記記憶手段に記憶されている情報とに基づいて特定されるランの数を用いて算出する
ことを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
コンピュータを、
画像処理を施す２値画像のデータ形式を特定する特定手段と、
前記２値画像に対して画像処理を施した場合の処理量を、前記２値画像のデータ形式をビットマップ形式とした場合とランレングス形式とした場合の各々について、前記２値画像から得られる情報を用いて算出する算出手段と、
前記算出手段により算出された、ビットマップ形式の場合とランレングス形式の場合の処理量を比較し、処理量の少ないデータ形式を選択する選択手段と、
前記特定手段により特定されたデータ形式が前記選択手段により選択されたデータ形式と異なる場合に、前記２値画像のデータ形式を前記選択手段により選択されたデータ形式に変換する変換手段と、
前記選択手段により選択されたデータ形式の前記２値画像に対して画像処理を施す画像処理手段と、
前記画像処理手段により処理された２値画像を出力する出力手段と
として機能させるためのプログラム。
【請求項１２】
コンピュータを、
エントロピー符号化された２値画像データを復号して画像処理を施した場合の処理量を、前記２値画像データをビットマップ形式の２値画像データに復号した場合とランレングス形式の２値画像データに復号した場合の各々について算出する算出手段と、
前記算出手段により算出された、ビットマップ形式の場合とランレングス形式の場合の処理量を比較し、処理量の少ないデータ形式を選択する選択手段と、
前記エントロピー符号化された２値画像データを、前記選択手段により選択されたデータ形式の２値画像データに復号する復号手段と、
前記復号手段により復号された２値画像データに対して画像処理を施す画像処理手段と、
前記画像処理手段により処理された２値画像データを出力する出力手段と
として機能させるためのプログラム。
【請求項１３】
請求項１１または１２に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２値画像に対して画像処理を施す技術に関する。
【背景技術】
【０００２】
白黒画像に代表される２値画像はビットマップ形式で扱われることが多いが、例えば、白黒画像内の白画素と黒画素の出現頻度に一定の格差がある場合は、白黒画像をランレングス形式で扱うと、データ量が低減できることに加え、拡大や縮小、回転等の画像処理をビットマップ形式の場合と比較して短時間で処理することができる。ランレングス形式の２値画像に対して、拡大や縮小、回転等の画像処理を施す技術については種々の提案がなされており、例えば、特許文献１〜３には拡大や縮小に関する技術が、特許文献４，５には回転に関する技術が提案されている。
【０００３】
【特許文献１】特開平０５−２５０４６８号公報
【特許文献２】特開平０６−０４４３６９号公報
【特許文献３】特開平０８−３３１２８８号公報
【特許文献４】特開平０１−１４９１８５号公報
【特許文献５】特開平０２−２９７６７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
例えば、白黒画像にハッチや擬似中間調で表現された自然画が含まれており、かつ、このようなハッチや自然画の占める面積比率が大きいと、白黒画像に含まれる黒ランの数が著しく多くなってしまう。このような白黒画像をランレングス形式で扱うと、ビットマップ形式の場合と比較して白黒画像のデータ量が増えてしまい、拡大や縮小、回転等の画像処理に長い時間を要してしまう。
【０００５】
例えば、白黒画像において全画素中の１％が黒画素で、黒ランの平均のラン長を４、黒ラン１個当たりのデータ量を１６ビットと仮定し、このときのビットマップ形式での白黒画像のデータ量を１００とした場合、ランレングス形式の場合のデータ量は僅かに８である。しかしながら、白黒画像において全画素中の１６％が黒画素で、黒ランの平均のラン長を２、黒ラン１個当たりのデータ量を１６ビットと仮定し、このときのビットマップ形式でのデータ量を１００とした場合、ランレングス形式の場合のデータ量は２５６となり、ビットマップ形式の場合と比較してデータ量が著しく増えてしまう。このように２値画像の画像特性によっては、ランレングス形式で扱うとデータ量の増大を招き、拡大や縮小、回転等の画像処理に長い時間を要してしまう場合がある。
【０００６】
本発明は、以上説明した事情に鑑みてなされたものであり、その目的は、ビットマップ形式とランレングス形式を使い分けることで２値画像に対して画像処理を施す場合の処理効率を高めることである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は、画像処理を施す２値画像のデータ形式を特定する特定手段と、前記２値画像に対して画像処理を施した場合の処理量を、前記２値画像のデータ形式をビットマップ形式とした場合とランレングス形式とした場合の各々について、前記２値画像から得られる情報を用いて算出する第１の算出手段と、前記第１の算出手段により算出された、ビットマップ形式の場合とランレングス形式の場合の処理量を比較し、処理量の少ないデータ形式を選択する選択手段と、前記特定手段により特定されたデータ形式が前記選択手段により選択されたデータ形式と異なる場合に、前記２値画像のデータ形式を前記選択手段により選択されたデータ形式に変換する変換手段と、前記選択手段により選択されたデータ形式の前記２値画像に対して画像処理を施す画像処理手段と、前記画像処理手段により処理された２値画像を出力する出力手段とを具備する画像処理装置を提供する。
【０００８】
また、本発明は、コンピュータを、画像処理を施す２値画像のデータ形式を特定する特定手段と、前記２値画像に対して画像処理を施した場合の処理量を、前記２値画像のデータ形式をビットマップ形式とした場合とランレングス形式とした場合の各々について、前記２値画像から得られる情報を用いて算出する算出手段と、前記算出手段により算出された、ビットマップ形式の場合とランレングス形式の場合の処理量を比較し、処理量の少ないデータ形式を選択する選択手段と、前記特定手段により特定されたデータ形式が前記選択手段により選択されたデータ形式と異なる場合に、前記２値画像のデータ形式を前記選択手段により選択されたデータ形式に変換する変換手段と、前記選択手段により選択されたデータ形式の前記２値画像に対して画像処理を施す画像処理手段と、前記画像処理手段により処理された２値画像を出力する出力手段として機能させるためのプログラムを提供する。また、本発明は、上記プログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
【０００９】
本発明によれば、画像処理装置（コンピュータ）は、画像処理を施す２値画像について、ビットマップ形式の場合の処理量と、ランレングス形式の場合の処理量とを比較し、処理量の少ないデータ形式を選択して２値画像に画像処理を施し、処理後の２値画像を出力する。
【００１０】
また、本発明は、エントロピー符号化された２値画像データを復号して画像処理を施した場合の処理量を、前記２値画像データをビットマップ形式の２値画像データに復号した場合とランレングス形式の２値画像データに復号した場合の各々について算出する第１の算出手段と、前記第１の算出手段により算出された、ビットマップ形式の場合とランレングス形式の場合の処理量を比較し、処理量の少ないデータ形式を選択する選択手段と、前記エントロピー符号化された２値画像データを、前記選択手段により選択されたデータ形式の２値画像データに復号する復号手段と、前記復号手段により復号された２値画像データに対して画像処理を施す画像処理手段と、前記画像処理手段により処理された２値画像データを出力する出力手段とを具備する画像処理装置を提供する。
【００１１】
また、本発明は、コンピュータを、エントロピー符号化された２値画像データを復号して画像処理を施した場合の処理量を、前記２値画像データをビットマップ形式の２値画像データに復号した場合とランレングス形式の２値画像データに復号した場合の各々について算出する算出手段と、前記算出手段により算出された、ビットマップ形式の場合とランレングス形式の場合の処理量を比較し、処理量の少ないデータ形式を選択する選択手段と、前記エントロピー符号化された２値画像データを、前記選択手段により選択されたデータ形式の２値画像データに復号する復号手段と、前記復号手段により復号された２値画像データに対して画像処理を施す画像処理手段と、前記画像処理手段により処理された２値画像データを出力する出力手段として機能させるためのプログラムを提供する。また、本発明は、上記プログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
【００１２】
本発明によれば、画像処理装置（コンピュータ）は、エントロピー符号化された２値画像データについて、ビットマップ形式の２値画像データに復号して画像処理を施した場合の処理量と、ランレングス形式の２値画像データに復号して画像処理を施した場合の処理量とを比較し、処理量の少ないデータ形式の２値画像データに復号した後、画像処理を施して処理後の２値画像データを出力する。
【発明の効果】
【００１３】
本発明によれば、２値画像に対して画像処理を施す場合の処理効率を高めることができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の実施形態について説明する。
［Ａ．第１実施形態］
図１は、本発明の第１実施形態に係る画像処理装置１の主要部を示すブロック図である。同図に示すように画像処理装置１は、画像格納部１１と、ランレングス変換部１２と、ランレングス処理部１３と、ビットマップ変換部１４と、ビットマップ処理部１５と、データ形式選択部１６と、画像入出力部１７と、制御部１８とを有している。なお、画像処理装置１は、２値画像に対して、拡大、縮小、回転、反転等の画像処理を施す機能を有するＣＡＤシステムや複写機、ファクシミリ、パーソナルコンピュータ等である。
【００１５】
画像格納部１１は、画素像処理を施す２値画像データや、画像処理の途中または処理後の２値画像データを格納するメモリである。ランレングス変換部１２は、ビットマップ形式の２値画像データをランレングス形式の２値画像データに変換する。ランレングス処理部１３は、ランレングス形式の２値画像データに対し、拡大、縮小、回転、反転等の画像処理を施す。ビットマップ変換部１４は、ランレングス形式の２値画像データをビットマップ形式の２値画像データに変換する。ビットマップ処理部１５は、ビットマップ形式の２値画像データに対し、拡大、縮小、回転、反転等の画像処理を施す。
【００１６】
データ形式選択部１６は、画像処理を施す２値画像データについて、ビットマップ形式で画像処理を施した場合の処理コスト（処理量）と、ランレングス形式で画像処理を施した場合の処理コストとを比較し、処理コストが小さいデータ形式を選択する。画像入出力部１７は、画像処理装置１の外部から２値画像データを入力して画像格納部１１に格納したり、画像処理を終えた２値画像データを画像処理装置１の外部に出力する。また、この画像入出力部１７は、２値画像を取り込むためのスキャナ部や、画像処理を終えた２値画像を表示するための表示部等を含んでいる。制御部１８は、画像処理装置１の各部１１〜１７を制御する。
【００１７】
次に、ビットマップ形式とランレングス形式の２値画像データについて説明する。図２は、２値画像（縦１３画素×横１６画素）と、この２値画像の白の部分の画素値を０、黒の部分の画素値を１とした場合の、ビットマップ形式の２値画像データと、ランレングス形式の２値画像データとを示す図である。ビットマップ形式の２値画像データは、走査ライン（図中、横方向）毎に、０画素目から７画素目までと８画素目から１５画素目までの８ビット単位で、各画素の画素値（２進数）を１６進数に変換したものである。例えば、同図に示す２値画像の上から２行目の走査ラインについてみてみると、０画素目から７画素目までの各画素値は“０１１１１０１１”、８画素目から１５画素目までの画素値は“１１００１１００”となる。これを各々１６進数に変換すると、“７ｂ”、“ｃｃ”となる。なお、同図に示すビットマップ形式の２値画像データにおいて、先頭に記述された「０ｘ」は、後続するデータが１６進数であることを示す識別子である。
【００１８】
また、ランレングス形式の２値画像データは、走査ライン毎に、走査ラインに含まれる黒ランの数と、各黒ランの開始位置およびラン長を示す情報により構成されている。例えば、同図に示す２値画像の上から２行目の走査ラインについてみてみると、この走査ラインに含まれる黒ランの数は“３”、最初の黒ランの開始位置は“１（画素目）”で、そのラン長は“４（画素分）”、次の黒ランの開始位置は“６”でラン長は“４”、最後の黒ランの開始位置は“１２”でラン長は“２”である。なお、走査ライン毎に記述される黒ランの数の代わりに、例えば（開始位置，ラン長）＝（０，０）のように、実際には存在しないランデータを走査ライン毎にデータの末尾に付加し、走査ラインの終了を示すようにしてもよい。
【００１９】
以降、本明細書では、２値画像を白黒画像とし、白画素の画素値を０、黒画素の画素値を１とする。また、ランレングス形式の２値画像データについては、図２に示したデータ構成を用いるものとする。勿論、これらについてはあくまで例示に過ぎず、例えば、白画素の画素値を１、黒画素の画素値を０としてもよい。また、ランレングス形式の２値画像データは、走査ライン毎に、白ランの数と、各白ランの開始位置およびラン長を示す情報により構成されていてもよい。また、開始位置とラン長の代わりに、開始位置と終了位置、あるいは開始位置と画素値の変化位置を示す情報を用いてもよい。
【００２０】
図３は、データ形式選択部１６の構成について示すブロック図である。同図に示すように、データ形式選択部１６は、ラン数／ラン長計数部６１と、ランレングス変換コスト算出部６２と、ランレングス処理コスト算出部６３と、ビットマップ変換コスト算出部６４と、ビットマップ処理コスト算出部６５と、処理手順制御部６６とを有している。
【００２１】
ラン数／ラン長計数部６１は、２値画像に含まれる黒ランの総数やラン長の総和を計数する。ランレングス変換コスト算出部６２は、ランレングス変換部１２においてビットマップ形式の２値画像データをランレングス形式の２値画像データに変換した場合の処理コストを算出する。ランレングス処理コスト算出部６３は、ランレングス処理部１３においてランレングス形式の２値画像データに対し、拡大、縮小、回転、反転等の画像処理を施した場合の処理コストを算出する。ビットマップ変換コスト算出部６４は、ビットマップ変換部１４においてランレングス形式の２値画像データをビットマップ形式の２値画像データに変換した場合の処理コストを算出する。ビットマップ処理コスト算出部６５は、ビットマップ処理部１５においてビットマップ形式の２値画像データに対し、拡大、縮小、回転、反転等の画像処理を施した場合の処理コストを算出する。処理手順制御部６６は、データ形式選択部１６の各部６１〜６５を制御する。
【００２２】
なお、処理コスト（処理量）は、データ形式の変換処理や画像処理に要する演算量、演算時間、演算プロセッサに加わる負荷量等である。
【００２３】
図４は、第１実施形態に係る画像処理装置１の動作について示すフローチャートである。例えば、ユーザによって、２値画像データと、この２値画像データに対して施される画像処理の内容（拡大、縮小、回転、反転等）とが指定されると、まず、データ形式選択部１６（処理手順制御部６６）は、指定された２値画像データがビットマップ形式であるか否かを判別する（ステップＳ１）。その結果、ビットマップ形式ではなくランレングス形式であった場合は（ステップＳ１：ＮＯ）、ステップＳ８に移行する。一方、ビットマップ形式であった場合（ステップＳ１：ＹＥＳ）、データ形式選択部１６は、２値画像データ（ビットマップ形式）に対し、指定された画像処理を施した場合のビットマップ処理部１５の処理コストを、ビットマップ処理コスト算出部６５を用いて算出する（ステップＳ２）。
【００２４】
ここで、ビットマップ処理コスト算出部６５は、ビットマップ処理部１５の性能に応じて予め定められたコスト算出係数Ｐｂと、画像処理を施す２値画像の画像サイズ（横幅Ｗ、縦幅Ｈ）とを用いて、以下に示す（式１）によりビットマップ処理コストを算出する。なお、横幅Ｗや縦幅Ｈのデータは、例えば、ヘッダ情報として２値画像データに付加されている。
ビットマップ処理コスト＝Ｐｂ×Ｗ×Ｈ  …（式１）
【００２５】
なお、画像サイズ以外の要因（例えば、２値画像の全画素数や黒画素の占める割合等）を組み込んだコスト算出式を用いてビットマップ処理コストを算出してもよい。また、ビットマップ処理コストについて正確な値を算出しようとすると、コストの算出自体に時間を要してしまい、全体の性能を下げてしまうことになる。このため、上述したステップＳ２では、ある程度の精度を持ったビットマップ処理コストの値が簡易に算出できればよい。
【００２６】
次いで、データ形式選択部１６は、画像処理を施す２値画像（ビットマップ形式）に含まれる黒ランの総数を、ラン数／ラン長計数部６１を用いて計数する（ステップＳ３）。ここで、２値画像（ビットマップ形式）に含まれる黒ランの総数を計数する場合、２値画像データ内の各画素値を走査順序に従って１ビットずつチェックしながら黒ランの数を計数していかなければならないが、これでは黒ランの計数に長い時間を要してしまう。そこで、本実施形態に係る画像処理装置１では、以下に説明する方法を用いて、黒ランの総数を短時間のうちに計数できるようにしている。
【００２７】
すなわち、まず、画像処理装置１において図示を省略したメモリには、ビットマップ形式の２値画像データから走査順序に従って８ビットずつ読み出される画素値について、“００００００００”〜“１１１１１１１１”までの計２５６通りの各パターン毎に、この８ビット内に含まれる黒ランの数を示したテーブル８０ａ，８０ｂ（図５参照）が格納されている。このテーブル８０ａ，８０ｂは、前回読み出された８ビットの画素値における最後尾の画素値（以降、本明細書では「直前画素の値」と記載する）が０用のテーブル８０ａと、１用のテーブル８０ｂとに分けられている。また、「ｉｄ」の項目には、“００００００００”〜“１１１１１１１１”までの計２５６通りの各パターンについて、８ビットの画素値を十進数に変換した場合の値が、また「ｒｕｎ」の項目には、黒ランの数が格納されている。
【００２８】
画像処理装置１は、ビットマップ形式の２値画像データから走査順序に従って８ビットずつ画素値を読み出す。また、画像処理装置１は、直前画素の値が０であるのか１であるのかを判別し、テーブル８０ａまたはテーブル８０ｂのどちらを参照するのかを決定する。なお、直前画素の値は、前回読み出した８ビットの画素値と“０ｘ０１”のＡＮＤ演算によって判別され、直前画素の値が０ならばテーブル８０ａが、１ならばテーブル８０ｂが参照される。そして、画像処理装置１は、読み出した８ビットの画素値を１０進数に変換し、変換後の値を引数として直前画素の値に応じてテーブル８０ａまたはテーブル８０ｂから黒ランの数を取得し、これを順次繰り返すことで、画像処理を施す２値画像（ビットマップ形式）に含まれる黒ランの総数を得る。
【００２９】
具体的に説明すると、例えば、図６(ａ)に示すように、直前画素の値が０（白）で、かつ今回読み出された８ビットデータ（８ビットの画素値）が“１１１００１００”である場合、画像処理装置１は、直前画素の値が０用のテーブル８０ａから、今回の８ビットデータ“１１１００１００”を１０進数に変換した値“２２９”を引数として黒ランの数“２”を得る。なお、図６(ａ)からも明らかなように、今回の８ビットデータ内における黒ランの数は２である。次に、図６(ｂ)に示すように、直前画素の値が０で、かつ今回読み出された８ビットデータが“００１１１１１１”である場合、画像処理装置１は、直前画素の値が０用のテーブル８０ａから、今回の８ビットデータを１０進数に変換した値“６３”を引数として黒ランの数“０”を得る。なお、図６(ｂ)においては、今回の８ビットデータ内に黒ランが１つ存在しているが、この黒ランは、今回の８ビットデータの最後尾まで続いているので、次に読み出される８ビットデータ内の黒ランと連続している可能性がある。このため、図６(ｂ)に示すような場合、画像処理装置１は、今回の８ビットデータ内における黒ランの数を０とカウントするのである。
【００３０】
また、図６(ｃ)に示すように、直前画素の値が１（黒）で、かつ今回読み出された８ビットデータが“１１１００１００”である場合、画像処理装置１は、直前画素の値が１用のテーブル８０ｂから、今回の８ビットデータを１０進数に変換した値“２２９”を引数として黒ランの数“２”を得る。なお、図６(ｃ)においては、今回の８ビットデータ内に、前回の８ビットデータから続く１つの黒ランと、それ以外の１つの黒ランが存在しているので、画像処理装置１は、今回の８ビットデータ内における黒ランの数を２とカウントするのである。
【００３１】
一方、図６(ｄ)に示すように、直前画素の値が１（黒）で、かつ今回読み出された８ビットデータが“００１１１１１１”である場合、画像処理装置１は、直前画素の値が１用のテーブル８０ｂから、今回の８ビットデータを１０進数に変換した値“６３”を引数として黒ランの数“１”を得る。なお、図６(ｄ)においては、今回の８ビットデータ内に存在する１つの黒ランが８ビットデータの最後尾まで続いているため、今回の８ビットデータ内に黒ランは無いことになるが、直前画素が黒（１）で、かつ今回の８ビットデータ内における先頭の画素が白（０）であるため、前回の８ビットデータ内の最後尾にあった黒ランが終了していることがわかる。このため、図６(ｄ)に示すような場合、画像処理装置１は、今回の８ビットデータ内における黒ランの数を１とカウントするのである。
【００３２】
なお、各走査ラインの先頭部分については、直前画素が存在しないので直前画素を白（０）とみなす。また、各走査ラインの最後の８ビットデータについては、最後尾の画素が黒（１）である場合、黒ランのカウント数を１加算する。
【００３３】
以上説明したように、図４に示したステップＳ３においてラン数／ラン長計数部６１は、ビットマップ形式の２値画像データについて、８ビットずつ、テーブル８０ａ，８０ｂを参照しながら黒ランの数を求め、これを加算していくことで２値画像（ビットマップ形式）に含まれる黒ランの総数を得る。よって、２値画像データ内の各画素値を走査順序に従って１ビットずつチェックしながら黒ランの数を計数していく場合と比較して、２値画像に含まれる黒ランの総数を短時間のうちに計数できる。
【００３４】
なお、ここでは、８ビット単位で黒ランの数を計数していく場合について説明したが、黒ランの数を計数していく１回当たりのビット数は、８に限定されず任意である。黒ランの数を計数していく１回当たりのビット数が大きい程、一度にチェックできる画素数が増えるので、黒ランの総数をより短時間のうちに計数できる。また、上述したステップＳ３においてラン数／ラン長計数部６１は、２値画像データ（ビットマップ形式）内の各画素値を走査順序に従って１ビットずつチェックしながら黒ランの数を計数してもよい。
【００３５】
また、画像処理装置１は、画像処理装置１に入力された２値画像データがビットマップ形式であった場合や、画像処理装置１において作成された２値画像データがビットマップ形式であった場合に、この２値画像に含まれる黒ランの総数を計数し、計数された黒ランの総数を２値画像データと対応付けて画像格納部１１に記憶しておく構成であってもよい。この場合、上述したステップＳ３においてラン数／ラン長計数部６１は、画像処理を施す２値画像と対応付けられて画像格納部１１に記憶されている黒ランの総数を読み出すことで、この２値画像に含まれる黒ランの総数を得ることができる。
【００３６】
さて、ステップＳ３において黒ランの総数を計数した後、次いで、データ形式選択部１６は、画像処理を施す２値画像データ（ビットマップ形式）をランレングス形式の２値画像データに変換した場合のランレングス変換部１２の処理コストを、ランレングス変換コスト算出部６２を用いて算出する。また、データ形式選択部１６は、ランレングス形式に変換した後の２値画像データに対し、指定された画像処理を施した場合のランレングス処理部１３の処理コストを、ランレングス処理コスト算出部６３を用いて算出する（ステップＳ４）。
【００３７】
ここで、ランレングス変換コスト算出部６２は、ランレングス変換部１２の性能に応じて予め定められたコスト算出係数Ｔｒと、ステップＳ３において求められた黒ランの総数Ｒとを用いて、以下に示す（式２）によりランレングス変換コストを算出する。
ランレングス変換コスト＝Ｔｒ×Ｒ  …（式２）
【００３８】
なお、（式２）の代わりに以下に示す（式３）を用いてランレングス変換コストを算出してもよい。この（式３）は、２値画像データの読み込みやラン検出に要する処理のコスト（２値画像の全画素数に比例する）と、ラン検出を行う場合に必要となる走査ライン毎の初期処理のコスト（２値画像の縦幅Ｈに比例する）を考慮したものであり、Ｔｒｓ，Ｔｒｈは、ランレングス変換部１２の性能に応じて予め定められるコスト算出係数である。
ランレングス変換コスト＝Ｔｒ×Ｒ＋Ｔｒｓ×Ｗ×Ｈ＋Ｔｒｈ×Ｈ  …（式３）
【００３９】
また、ランレングス処理コスト算出部６３は、ランレングス処理部１３の性能に応じて予め定められたコスト算出係数Ｐｒと、ステップＳ３において求められた黒ランの総数Ｒとを用いて、以下に示す（式４）によりランレングス処理コストを算出する。
ランレングス処理コスト＝Ｐｒ×Ｒ  …（式４）
【００４０】
なお、（式４）の代わりに以下に示す（式５）を用いてランレングス処理コストを算出してもよい。この（式５）は、走査ライン毎の初期処理のコスト（２値画像の縦幅Ｈに比例する）を考慮したものであり、Ｐｒｈは、ランレングス処理部１３の性能に応じて予め定められるコスト算出係数である。
ランレングス処理コスト＝Ｐｒ×Ｒ＋Ｐｒｈ×Ｈ  …（式５）
【００４１】
また、ビットマップ処理コストの場合と同様に、ランレングス変換コストやランレングス処理コストについても正確な値を算出しようとすると、コストの算出自体に時間を要してしまい、全体の性能を下げてしまうことになる。このため、上述したステップＳ４では、ある程度の精度を持ったランレングス変換コストやランレングス処理コストの値が簡易に算出できればよい。
【００４２】
次いで、データ形式選択部１６は、ステップＳ４において算出されたランレングス変換コストとランレングス処理コストを加算し、加算されたコストと、ステップＳ２において算出されたビットマップ処理コストとを比較する（ステップＳ５）。その結果、ビットマップ処理コストの方が小さい場合（ステップＳ５：ＹＥＳ）、データ形式選択部１６は、画像処理を施す２値画像データ（ビットマップ形式）を画像格納部１１から読み出してビットマップ処理部１５へ送信する。ビットマップ処理部１５は、受信した２値画像データに対し、拡大、縮小、回転、反転等の指定された画像処理を施す（ステップＳ６）。そして、ビットマップ処理部１５により処理された２値画像データが、画像入出力部１７によって、例えば、表示されたり、印刷のために画像処理装置１の外部へ出力される。
【００４３】
一方、ビットマップ処理コストの方が大きい場合（ステップＳ５：ＮＯ）、データ形式選択部１６は、画像処理を施す２値画像データ（ビットマップ形式）を画像格納部１１から読み出してランレングス変換部１２へ送信する。ランレングス変換部１２は、受信した２値画像データをランレングス形式の２値画像データに変換し、ランレングス処理部１３へ送信する。ランレングス処理部１３は、受信した２値画像データ（ランレングス形式）に対し、指定された画像処理を施す（ステップＳ７）。そして、ランレングス処理部１３により処理された２値画像データが画像入出力部１７によって出力される。
【００４４】
これに対し、ステップＳ１において、２値画像データがビットマップ形式ではなくランレングス形式であると判別された場合（ステップＳ１：ＮＯ）、まず、データ形式選択部１６は、画像処理を施す２値画像（ランレングス形式）に含まれる黒ランの総数とラン長の総和を、ラン数／ラン長計数部６１を用いて計数する（ステップＳ８）。
【００４５】
ここで、ランレングス形式の場合、２値画像に含まれる黒ランの総数は、図２に示したランレングス形式の２値画像データにおいて、各走査ライン毎に先頭に記述してあるラン数を全て加算すれば求めることができる。なお、前述したように、ラン数を各走査ライン毎にその先頭に記述する代わりに、終了コードとして（０，０）等のデータが走査ライン毎にデータの最後尾に付加されている場合は、（開始位置，ラン長）の総数から終了コードの総数を減算することで黒ランの総数を算出できる。また、ラン長の総和については、ランレングス形式の２値画像データであれば、各ラン長の値を全て加算すれば求めることができる。また、ランデータが（開始位置，ラン長）ではなく、例えば、（開始位置，終了位置）の場合は、終了位置−開始位置＋１で各ラン長を求めることができるので、このようにして求めた各ラン長の値を全て加算してやればよい。
【００４６】
次いで、データ形式選択部１６は、画像処理を施す２値画像データ（ランレングス形式）に対し、指定された画像処理を施した場合のランレングス処理部１３の処理コストを、ランレングス処理コスト算出部６３を用いて算出する（ステップＳ９）。このステップＳ９の処理は、前述したステップＳ４におけるランレングス処理コストの算出処理と同じであり、ランレングス処理コスト算出部６３は、前述した（式４）または（式５）を用いてランレングス処理コストを算出する。
【００４７】
この後、データ形式選択部１６は、画像処理を施す２値画像データ（ランレングス形式）をビットマップ形式の２値画像データに変換した場合のビットマップ変換部１４の処理コストを、ビットマップ変換コスト算出部６４を用いて算出する。また、データ形式選択部１６は、ビットマップ形式に変換した後の２値画像データに対し、指定された画像処理を施した場合のビットマップ処理部１５の処理コストを、ビットマップ処理コスト算出部６５を用いて算出する（ステップＳ１０）。
【００４８】
ここで、ランレングス形式からビットマップ形式への変換に要する処理コストは、２値画像に含まれる黒ランの総数とラン長の総和に依存するので、ビットマップ変換コスト算出部６４は、ステップＳ８において求めた黒ランの総数Ｒおよびラン長の総和Ｎと、ビットマップ変換部１４の性能に応じて予め定められたコスト算出係数Ｔｂｒ，Ｔｂｎを用いて、以下に示す（式６）によりビットマップ変換コストを算出する。また、ビットマップ処理コストは、前述した（式１）により算出される。
ビットマップ変換コスト＝Ｔｂｒ×Ｒ＋Ｔｂｎ×Ｎ  …（式６）
【００４９】
勿論、ステップＳ１０においても、ある程度の精度を持ったビットマップ変換コストやビットマップ処理コストの値が簡易に算出できればよい。また、ラン長の総和Ｎは、２値画像に含まれる黒画素の総数と一致するから、ラン長の総和Ｎの代わりに２値画像に含まれる黒画素の総数を用いてもよい。
【００５０】
次いで、データ形式選択部１６は、ステップＳ１０において算出されたビットマップ変換コストとビットマップ処理コストを加算し、加算されたコストと、ステップＳ９において算出されたランレングス処理コストとを比較する（ステップＳ１１）。その結果、ランレングス処理コストの方が小さい場合（ステップＳ１１：ＹＥＳ）、データ形式選択部１６は、画像処理を施す２値画像データ（ランレングス形式）を画像格納部１１から読み出してランレングス処理部１３へ送信する。ランレングス処理部１３は、受信した２値画像データに対し、拡大、縮小、回転、反転等の指定された画像処理を施す（ステップＳ１２）。そして、ランレングス処理部１３により処理された２値画像データが画像入出力部１７によって出力される。
【００５１】
一方、ランレングス処理コストの方が大きい場合（ステップＳ１１：ＮＯ）、データ形式選択部１６は、画像処理を施す２値画像データ（ランレングス形式）を画像格納部１１から読み出してビットマップ変換部１４へ送信する。ビットマップ変換部１４は、受信した２値画像データをビットマップ形式の２値画像データに変換し、ビットマップ処理部１５へ送信する。ビットマップ処理部１５は、受信した２値画像データ（ビットマップ形式）に対し、指定された画像処理を施す（ステップＳ１３）。そして、ビットマップ処理部１５により処理された２値画像データが画像入出力部１７によって出力される。
【００５２】
以上説明したように本実施形態によれば、画像処理装置１は、画像処理を施す２値画像について、ビットマップ形式の場合の処理コストと、ランレングス形式の場合の処理コストとを比較し、処理コストの小さいデータ形式を選択して２値画像に画像処理を施し、処理後の２値画像を出力する。よって、ビットマップ形式とランレングス形式を使い分けることで２値画像に対して画像処理を施す場合の処理効率を高めることができる。
【００５３】
［Ｂ．第２実施形態］
次に第２実施形態について説明する。なお、本実施形態において第１実施形態と共通する部分には同一の符号を使用し、その説明を省略する。
【００５４】
図７は、本発明の第２実施形態に係る画像処理装置２の主要部を示すブロック図である。同図に示す画像処理装置２が第１実施形態において説明した画像処理装置１と異なるのは、ランレングス変換部１２の代わりにランレングス復号部１９を、ビットマップ変換部１４の代わりにビットマップ復号部２０を、データ形式選択部１６の代わりにデータ形式選択部２１を備えている点である。また、本実施形態において、２値画像データは、例えば、ＭＨ（Modified Huffman）方式やＬＺ（Lampel-Ziv）方式等のエントロピー符号化方式を用いて符号化されている。ランレングス復号部１９は、エントロピー符号化されている２値画像データをランレングス形式の２値画像データに復号する。また、ビットマップ復号部２０は、エントロピー符号化されている２値画像データをビットマップ形式の２値画像データに復号する。
【００５５】
また、図８に示すように本実施形態に係るデータ形式選択部２１が第１実施形態において説明したデータ形式選択部１６と異なるのは、ラン数／ラン長計数部６１の代わりにラン数推定部６７を、ランレングス変換コスト算出部６２の代わりにランレングス復号コスト算出部６８を、ビットマップ変換コスト算出部６４の代わりにビットマップ復号コスト算出部６９を備えている点である。
【００５６】
ラン数推定部６７は、エントロピー符号化された２値画像データを復号した後のデータサイズ（データ量）を、例えば、ヘッダ情報として付与されている画像サイズを示す情報（横幅Ｗ、縦幅Ｈ）を用いて２値画像データを復号せずに求め、その値とエントロピー符号化された２値画像データのデータサイズから２値画像データの圧縮率を算出する。また、ラン数推定部６７は、算出した圧縮率から、この２値画像に含まれる黒ランの総数を推定する。ここで、エントロピー符号化では、一般的に２値画像内の画素値の変化が激しい程、すなわち、２値画像に含まれる黒ランの数が多く、かつ黒ランについて平均のラン長が短い程、圧縮率が低下する。そこで、例えば、図９に示すように、圧縮率と、２値画像の全画素数に対する黒ランの総数の割合との関係を示したテーブル８１を画像処理装置２のメモリ（図示省略）に記憶しておき、ラン数推定部６７は、このテーブル８１を参照して、圧縮率から２値画像に含まれる黒ランの総数を推定する。
【００５７】
例えば、圧縮率が０．４５であり、２値画像の全画素数が１０００であった場合、ラン数推定部６７は、図９に示したテーブル８１を参照し、この２値画像に含まれる黒ランの総数を２０と推定する。なお、テーブル８１は、予め多数の２値画像（エントロピー符号化とビットマップ形式）を調査して得られた、圧縮率と全画素数に対する黒ランの総数の割合についての統計値に基づいて作成されている。
【００５８】
また、ランレングス復号コスト算出部６８は、エントロピー符号化された２値画像データをランレングス形式の２値画像データに復号した場合のランレングス復号部１９の処理コストを算出する。このランレングス復号コスト算出部６８は、ランレングス復号部１９の性能に応じて予め定められた１ラン当りの復号コスト係数Ｄｒと、ラン数推定部６７において求められた黒ランの総数Ｒとを用いて、以下に示す（式７）によりランレングス復号コストを算出する。
ランレングス復号コスト＝Ｄｒ×Ｒ  …（式７）
【００５９】
なお、符号データの読み込み処理を考慮し、符号データ量Ｄと、単位データ量当たりの読み出しコスト係数Ｄｄを用いて、（式７）の代わりに以下に示す（式８）によりランレングス復号コストを算出してもよい。
ランレングス復号コスト＝Ｄｒ×Ｒ＋Ｄｄ×Ｄ  …（式８）
【００６０】
また、ランレングス変換コストの場合と同様に、ランレングス復号コストについても正確な値を算出しようとすると、コストの算出自体に時間を要してしまい、全体の性能を下げてしまうことになるので、ある程度の精度を持ったランレングス復号コストが簡易に算出できればよい。
【００６１】
一方、ビットマップ復号コスト算出部６９は、エントロピー符号化された２値画像データをビットマップ形式の２値画像データに復号した場合のビットマップ復号部２０の処理コストを算出する。このビットマップ復号コスト算出部６９は、ビットマップ復号部２０の性能に応じて予め定められた１ラン当りの復号コスト係数Ｄｂと、ラン数推定部６７において求められた黒ランの総数Ｒとを用いて、以下に示す（式９）によりビットマップ復号コストを算出する。勿論、上述した（式８）に示したように、符号データの読み込み処理等を考慮してビットマップ復号コストを算出するようにしてもよい。
ビットマップ復号コスト＝Ｄｂ×Ｒ  …（式９）
【００６２】
なお、ビットマップ復号コストには、ラン長の総和（＝２値画像に含まれる黒画素の総数）も関連すると考えられる。しかしながら、エントロピー符号化された２値画像データからラン長の総和を求めるためには、ビットマップ形式の２値画像データに復号する処理と略同等の処理コストが必要になる場合が多いので、（式９）において平均のラン長が略一定であるとして係数Ｄｂにその分の処理コストを組み込むか、圧縮率に依存する関数を設定して（式９）に追加する等の方法が考えられる。
【００６３】
そして、本実施形態に係る画像処理装置２では、例えば、ユーザによって、２値画像データ（エントロピー符号化）と、この２値画像データに対して施される画像処理の内容（拡大、縮小、回転、反転等）とが指定されると、まず、データ形式選択部２１は、ランレングス復号コスト、ランレングス処理コスト、ビットマップ復号コスト、ビットマップ処理コストを算出する。次いで、データ形式選択部２１は、ランレングス復号コスト＋ランレングス処理コストと、ビットマップ復号コスト＋ビットマップ処理コストとを比較し、処理コストの小さいデータ形式を選択する。これにより、ランレングス形式の２値画像データに復号して画像処理を施すのか、それともビットマップ形式の２値画像データに復号して画像処理を施すのかが決定される。この後、２値画像データ（エントロピー符号化）がデータ形式選択部２１によって選択されたデータ形式の２値画像データに復号され、指定された画像処理が施される。そして、画像処理が施された後の２値画像データが画像入出力部１７によって出力される。
【００６４】
以上説明したように本実施形態によれば、画像処理装置２は、エントロピー符号化された２値画像データについて、ビットマップ形式の２値画像データに復号して画像処理を施した場合の処理コストと、ランレングス形式の２値画像データに復号して画像処理を施した場合の処理コストとを比較し、処理コストの小さいデータ形式の２値画像データに復号した後、画像処理を施して処理後の２値画像データを出力する。よって、ビットマップ形式とランレングス形式を使い分けることで２値画像に対して画像処理を施す場合の処理効率を高めることができる。
【００６５】
［Ｃ．変形例］
（１）画像処理を施した後の２値画像のデータ形式がビットマップ形式またはランレングス形式に指定された場合は、指定されたデータ形式への変換コストをさらに加味して画像処理を施す際のデータ形式を選択する構成としてもよい。例えば、画像処理を施す前の２値画像データがビットマップ形式であり、画像処理を施した後のデータ形式もビットマップ形式が指定された場合、第１実施形態に係る画像処理装置１は、ビットマップ処理コストと、ランレングス変換コスト＋ランレングス処理コスト＋ビットマップ変換コストとを比較し、処理コストの小さいデータ形式を画像処理を施す際のデータ形式として選択する。また、画像処理を施す前の２値画像データがビットマップ形式であり、画像処理を施した後のデータ形式としてランレングス形式が指定された場合、画像処理装置１は、ビットマップ処理コスト＋ランレングス変換コストと、ランレングス変換コスト＋ランレングス処理コストとを比較し、画像処理を施す際のデータ形式を選択する。
【００６６】
（２）拡大、縮小、回転、反転等の画像処理の種類に応じてビットマップ処理コストやランレングス処理コストの値が変わる場合には、例えば、画像処理の種類毎に用意された係数をコスト算出式に組み込む等してビットマップ処理コストやランレングス処理コストを算出する構成としてもよい。例えば、画像処理の種類として拡大が指定された場合、前述した（式２）における黒ランの総数Ｒに対して拡大倍率Ｚを乗算するとともに、画像サイズを示す横幅Ｗと縦幅Ｈのそれぞれに対して拡大倍率Ｚを乗算すればよい。
【００６７】
（３）エントロピー符号化された２値画像データをビットマップ形式の２値画像データに復号する場合、まず、ランレングス形式の２値画像データに復号した後に、これをビットマップ形式の２値画像データに変換する方法を採用することが多い。そこで、図１０に示すようにビットマップ復号部２０の代わりにビットマップ変換部１４を備え、ビットマップ復号コストの算出も、ランレングス復号コスト＋ビットマップ変換コストとして算出する構成としてもよい。
【００６８】
（４）画像処理装置１〜３（コンピュータ）は、図示を省略したメモリにインストールされているプログラムに従って本発明に係る処理（例えば、図４に示した処理）を実行するが、このようなプログラムを、通信によって画像処理装置１〜３に提供するようにしてもよい。あるいは、このようなプログラムを記録媒体に記録して提供するようにしてもよい。
【図面の簡単な説明】
【００６９】
【図１】本発明の第１実施形態に係る画像処理装置１の主要部を示すブロック図である。
【図２】同実施形態に係り、ビットマップ形式とランレングス形式の２値画像データについて説明するための図である。
【図３】同実施形態に係り、データ形式選択部１６の構成を示すブロック図である。
【図４】同実施形態に係る画像処理装置１の動作について示すフローチャートである。
【図５】同実施形態に係り、テーブル８０ａ，８０ｂのデータ構成を示す図である。
【図６】同実施形態に係り、黒ランの計数する動作について説明するための図である。
【図７】第２実施形態に係る画像処理装置２の主要部を示すブロック図である。
【図８】同実施形態に係り、データ形式選択部２１の構成を示すブロック図である。
【図９】同実施形態に係り、圧縮率と、２値画像の全画素数に対する黒ランの総数の割合との関係を示したテーブル８１のデータ構成を示す図である。
【図１０】変形例（３）係る画像処理装置３の主要部を示すブロック図である。
【符号の説明】
【００７０】
１，２，３…画像処理装置、１１…画像格納部、１２…ランレングス変換部、１３…ランレングス処理部、１４…ビットマップ変換部、１５…ビットマップ処理部、１６，２１…データ形式選択部、１７…画像入出力部、１８…制御部、１９…ランレングス復号部、２０…ビットマップ復号部、６１…ラン数／ラン長計数部、６２…ランレングス変換コスト算出部、６３…ランレングス処理コスト算出部、６４…ビットマップ変換コスト算出部、６５…ビットマップ処理コスト算出部、６６…処理手順制御部、６７…ラン数推定部、６８…ランレングス復号コスト算出部、６９…ビットマップ復号コスト算出部、８０ａ，８０ｂ，８１…テーブル。
【図１】
2005301457.tif 000003
【図２】
2005301457.tif 000004
【図３】
2005301457.tif 000005
【図４】
2005301457.tif 000006
【図５】
2005301457.tif 000007
【図６】
2005301457.tif 000008
【図７】
2005301457.tif 000009
【図８】
2005301457.tif 000010
【図９】
2005301457.tif 000011
【図１０】
2005301457.tif 000012