(57)【要約】【課題】文書に埋め込み可能な情報量を犠牲にすることなく、抽出した情報における異常値を検出できる方法で、電子透かしを埋め込む。【解決手段】入力文書を取得する。埋込数値の集合を示す埋込情報を取得する。数値列を同期情報として取得する。同期情報と埋込情報とを組み合わせて、各々の隣接する文字間の間隔の差分値を示す差分情報を生成する。入力文書中の隣接する文字間の間隔の差分値が、差分情報の対応する値となるように、隣接する文字間を構成する文字のうち後端の文字を移動して、埋込文書を生成する。埋込文書を出力する。【選択図】図１０
2010262117.tif 000002
【特許請求の範囲】
【請求項１】
文書中の文字間隔を変化させて埋込情報を埋め込む情報処理装置であって、
入力文書を取得する手段と、
埋込数値の集合を示す埋込情報を取得する手段と、
数値列を同期情報として取得する同期情報取得手段と、
前記同期情報と前記埋込情報とを組み合わせて、各々の隣接する文字間の間隔の差分値を示す差分情報を生成する計算手段と、
前記入力文書中の隣接する文字間の間隔の差分値が、前記差分情報の対応する値となるように、前記隣接する文字間を構成する文字のうち後端の文字を移動して、埋込文書を生成する移動手段と、
前記埋込文書を出力する出力手段とを備えることを特徴とする情報処理装置。
【請求項２】
前記計算手段は、前記同期情報の各値に対して、前記埋込情報の対応する値に従って符号を付した値を、前記差分情報の値とすることを特徴とする、請求項１に記載の情報処理装置。
【請求項３】
前記埋込情報は、Ｎ個の前記埋込数値で表される部分情報を、複数個有し、
前記同期情報取得手段は、Ｎ個の数値を有する数値列を同期情報として取得することを特徴とする、請求項１又は２に記載の情報処理装置。
【請求項４】
前記移動手段は、
前記入力文書から、連続する第１の文字間の間隔、第２の文字間の間隔及び第３の文字間の間隔を選択し、
前記差分情報から、前記第１の文字間の間隔と前記第２の文字間の間隔との差に対応する第１の差分値と、前記第２の文字間の間隔と前記第３の文字間の間隔との差に対応する第２の差分値とを選択し、
前記第１の文字間の間隔と前記第２の文字間の間隔との差が前記第１の差分値となるように、前記第２の文字間を構成する文字のうち後端の文字を移動し、
さらに前記第２の文字間の間隔と前記第３の文字間の間隔との差が前記第２の差分値となるように、前記第３の文字間を構成する文字のうち後端の文字を移動することを特徴とする、請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
前記計算手段は、
前記埋込情報の各値を可逆に変換する手段と、
前記同期情報と前記変換した埋込情報とを組み合わせて、前記差分情報を生成する生成手段とを備えることを特徴とする、請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記計算手段は０と１とが偏り無く分布する二値データである鍵ストリームを取得する手段をさらに備え、前記生成手段は、前記埋込情報と前記鍵ストリームとの間で論理演算を行うことにより当該埋込情報を変換することを特徴とする、請求項５に記載の画像処理装置。
【請求項７】
請求項１乃至６の何れか１項に記載の情報処理装置が生成した埋込文書から情報を抽出する情報処理装置であって、
前記埋込文書を取得する手段と、
前記計算手段が用いた前記同期情報を取得する手段と、
前記埋込文書中の連続する文字間の間隔の差分値を読み取り、読取情報として取得する手段と、
前記同期情報と前記読取情報の値とを比較して誤りを検出し、誤りを示す誤り情報を出力する手段と、
前記読取情報から抽出情報を抽出する抽出手段と、
前記抽出情報を出力する手段とを備えることを特徴とする情報処理装置。
【請求項８】
前記抽出手段は、前記読取情報に含まれる値を前記誤り情報を用いて修正し、前記修正した読取情報から前記抽出情報を抽出することを特徴とする、請求項７に記載の情報処理装置。
【請求項９】
文書中の文字間隔を変化させて埋込情報を埋め込む情報処理装置が行う情報処理方法であって、
入力文書を取得する工程と、
埋込数値の集合を示す埋込情報を取得する工程と、
数値列を同期情報として取得する同期情報取得工程と、
前記同期情報と前記埋込情報とを組み合わせて、各々の隣接する文字間の間隔の差分値を示す差分情報を生成する計算工程と、
前記入力文書中の隣接する文字間の間隔の差分値が、前記差分情報の対応する値となるように、前記隣接する文字間を構成する文字のうち後端の文字を移動して、埋込文書を生成する移動工程と、
前記埋込文書を出力する出力工程とを備えることを特徴とする情報処理方法。
【請求項１０】
コンピュータを、請求項１乃至８の何れか１項に記載の画像処理装置が有する各手段として動作させるためのコンピュータプログラム。
【請求項１１】
請求項１０に記載のコンピュータプログラムを格納した、コンピュータが読取可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子透かし埋め込み技術及び抽出技術に関する。
【背景技術】
【０００２】
文書に追跡情報や複写制御等の情報を持たせるため、文書に電子透かしによって透かし情報を埋め込む手法が提案されている。その一方法として、文字間隔を変化させる方法がある。文字間隔を利用して埋め込んだ電子透かしを読み取る場合には、文字の外接矩形を検出し、外接矩形の間隔を文字間隔とする。しかし、コピー等によって文書に対してノイズが加わる等の理由で、１文字毎に外接矩形を切り出せず、データを正しく抽出できないことがある。特許文献１ではその対策として、同期ビットとデータとを組み合わせた透かし情報を埋め込むことにより、データの開始位置とデータの終了位置を検出できるようにしている。データの開始位置と終了位置との間のデータ長が指定値とは異なる場合、その区間のデータが異常値を持つことを知ることができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２４７８８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来技術のように、文字間の空白長を操作し、同期ビットを埋め込んで、データの開始位置と終了位置とを検出して異常値を検出できるようにした方法では、データを埋め込める場所が減少し、埋め込める情報量が少なくなるという問題があった。
【０００５】
本発明は、文書に埋め込み可能な情報量を犠牲にすることなく、抽出した情報における異常値を検出できる方法で、電子透かしを埋め込む方法を提供する。
【課題を解決するための手段】
【０００６】
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。すなわち、
文書中の文字間隔を変化させて埋込情報を埋め込む情報処理装置であって、
入力文書を取得する手段と、
埋込数値の集合を示す埋込情報を取得する手段と、
数値列を同期情報として取得する同期情報取得手段と、
前記同期情報と前記埋込情報とを組み合わせて、各々の隣接する文字間の間隔の差分値を示す差分情報を生成する計算手段と、
前記入力文書中の隣接する文字間の間隔の差分値が、前記差分情報の対応する値となるように、前記隣接する文字間を構成する文字のうち後端の文字を移動して、埋込文書を生成する移動手段と、
前記埋込文書を出力する出力手段とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、文書に埋め込み可能な情報量を犠牲にすることなく、抽出した情報における異常値を検出できる方法で、電子透かしを埋め込むことができる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態に係る透かし情報し埋め込み装置のブロック図である。
【図２】第１の実施形態に係る透かし情報抽出装置のブロック図である。
【図３】第１の実施形態に係る透かし情報埋め込み処理を示すフローチャート。
【図４】第１の実施形態に係るデータブロックの構成方法を示す図である。
【図５】透かし情報ランダム化の例を示す図である。
【図６】ステップＳ３０４の処理を詳しく説明するフローチャートである。
【図７】同期波形から間隔差分絶対値を決定する方法を示す図である。
【図８】ステップＳ３０６の処理を詳しく説明するフローチャートである。
【図９】第１の実施形態に係る透かし情報抽出処理を示すフローチャートである。
【図１０】第１の実施形態における透かし情報埋め込み方法を示す図である。
【図１１】ステップＳ９０４の処理を詳しく説明するフローチャートである。
【図１２】ステップＳ９０４ｃの処理を詳しく説明するフローチャートである。
【図１３】文字矩形抽出に誤りが生じた場合を示す図である。
【図１４】第２の実施形態における透かし情報埋め込み方法を示す図である。
【図１５】第３の実施形態に係る情報処理装置の電気的構成を説明する。
【図１６】透かし情報のランダム化を行わない場合を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施例を図面に基づいて説明する。ただし、発明の範囲は以下の実施例に限定されるものではない。
【００１０】
＜第１の実施形態＞
以下、図面を参照して、本発明の第１の実施形態に係る透かし情報抽出・埋め込み装置について説明する。
［透かし情報埋め込み方法］
本実施形態では、同期ビットに相当する役割を果たすものとして同期波形を導入し、この同期波形を文字間隔差分値の絶対値（間隔差分絶対値と呼ぶ）を操作することで文書中に埋め込むことにする。同期波形については後述する。同期波形を構成するビット数はデータブロック長に依存する。データブロック長は透かし情報の検出率の目標値により定まるパラメーターであり、誤り訂正符号を透かし情報に含めるのなら、通常は誤り訂正符号の符号長となる。埋め込みたい透かし情報をデータブロック単位に分割する例を図４に示す。透かし情報は、データブロック（部分情報）を複数個有する。同期波形を導入することにより、抽出した透かし情報における異常値を検出することができる。しかしながら本実施形態ではそれにとどまらず、同期波形に従ってデータブロックを正しい長さに修復できる。
【００１１】
文字間隔を操作して電子透かしを埋め込む一つの方法として次の方法がある。すなわち、文書中に含まれる文字間隔を、２つの文字間隔からなる組にグループ化する。１つの組に含まれる２つの文字間隔について、１つ目の文字間隔と２つ目の文字間隔との差の正負を用いて透かし情報を埋め込む。この方法に対しても、上記の同期波形技術を導入することができる。しかしながら本実施形態では他の方法で文字間隔を操作して電子透かしを埋め込むこととする。すなわち、本実施形態ではグループ化を行わず、例えば３つの連続する文字間隔について１つ目と２つ目の文字間隔の差と、２つ目と３つ目の文字間隔の差との双方を用いてより高密度に透かし情報を埋め込む。
【００１２】
連続する文字間隔の差（間隔差分と呼ぶ）の正負を利用して文字間隔を埋め込む本実施形態の方法の概略についてまず述べる。図１０に、本実施形態の方法に従って８文字からなる文字列に透かし情報を埋め込んだ例を示す。図１０には８文字の文字矩形が示されており、それぞれの文字矩形の間隔は順に１１，１９，２５，２１，１８，２０，１８である。連続する文字矩形の間隔の差を算出すると、順に＋８，＋６，−４，−３，＋２，−２となる。文字矩形の間隔の差が正の時は埋め込まれている情報は「１」であり、負の時は「０」である。すなわち、この８文字からなる文字列に埋め込まれている情報は「１１００１０」となる。透かし情報を埋め込む際は、透かし情報から間隔差分の符号を決定し、決定した符号に従って文字矩形の間隔を決定して、決定した間隔となるように文字を移動すればよい。すなわち、第１の文字間と第２の文字間とについて、第１の文字間隔と第２の文字間隔との差が決定した符号に従う第１の差分値となるように、第１の文字間隔と第２の文字間隔とを決定する。また、第２の文字間と第３の文字間とについて、第２の文字間隔と第３の文字間隔との差が決定した符号に従う第２の差分値となるように、第２の文字間隔と第３の文字間隔とを決定する。具体的な方法については後述する。もちろん間隔差分が負の時に「１」、正の時に「０」を埋め込んでもよい。間隔差分値の単位としては例えば０．１ｍｍ単位等の実際の長さに基づいた単位であればよい。間隔差分値はｐｉｘｅｌ単位であってもよいが、透かし情報埋め込み文書を印刷する場合、透かし情報埋め込み装置の出力解像度（ｄｐｉ）と透かし情報抽出装置の読取解像度（ｄｐｉ）とが同一である必要がある。
【００１３】
間隔差分を利用して透かし情報を埋め込む場合、埋め込む透かし情報の「０」「１」の出現確率に偏りがあると、適切に文字間隔を配分することができなくなる。例えば、図１６のように透かし情報が全て「０」の場合、文字間隔が単調減少して不自然な文書となってしまう。そこで、透かし情報をそのまま直接上記の規則で埋め込むことはせずに、いったんランダム化処理を行って「０」と「１」の出現確率をほぼ等しくしてから埋め込むことにする。
【００１４】
［装置構成］
図１は、本実施形態に係る透かし情報埋め込み装置を説明するための概念図である。文書解析部１０２は、入力部１０１が取得した文書１００（入力文書）の文書解析を行って文書中（入力文書中）の文字の大きさ及び位置情報を認識する。間隔差分絶対値決定部１０３は、同期波形に基づいて文字間隔の差分値の絶対値を決定する。ランダム化部１０５は、透かし情報１０４（埋込情報）を取得し、鍵を用いてランダム化する。符号付間隔差分値決定部１０６は、間隔差分絶対値決定部１０３が決定した間隔差分絶対値とランダム化部１０５がランダム化した透かし情報とから符号付間隔差分値を決定する。文字移動部１０７は、符号付間隔差分値決定部１０６が決定した符号付間隔差分値に基づいて文字の配置を決定する。出力部１０８は、透かし情報埋め込み文書１０９を出力する。
【００１５】
図２は、本実施形態に係る透かし情報抽出装置を説明するための概念図である。文書解析部２０２は、入力部２０１が取得した透かし情報埋め込み文書１０９内の文書解析を行って文字の大きさ及び位置情報を認識する。参照間隔差分絶対値決定部２０３は、データブロックを識別するために使用する参照間隔差分絶対値を決定する。透かし抽出部２０４は、参照間隔差分絶対値決定部２０３が決定した参照間隔差分絶対値と文書解析部２０２が認識した文字間隔とを用いてランダム化透かし情報を抽出する。透かし情報復元部２０５は、透かし情報埋め込み装置のランダム化部１０５と共通の鍵を用いて、ランダム化透かし情報から透かし情報２０６を復元して出力する。
【００１６】
［透かし情報埋め込み処理］
まず、上述した構成による透かし情報埋め込み装置の動作手順について説明する。図３は本実施形態に係る透かし情報埋め込み装置の動作手順を説明するフローチャートである。
【００１７】
［文書入力処理］
まず入力部１０１は、透かし情報の埋め込み対象となる文書１００を取得し、文書解析部１０２に入力する（ステップＳ３０１）。入力部１０１は例えばスキャナであって、紙文書をスキャンして取得してもよい。また、入力部１０１は例えばＤＶＤドライブ等の入出力装置であって、本実施形態に係る透かし情報埋め込み装置とは独立のスキャナが取得して生成したビットマップ等の画像を文書１００として取得してもよい。さらに、文書１００はアプリケーションプログラム固有の形式、テキスト等などをはじめとする種々の電子データが記憶媒体に格納されたものでもよいし、これらの電子データを画像処理ソフトなどによって変換した画像でもよい。
【００１８】
［文書解析処理］
文書解析部１０２は、文書１００に含まれる文字の位置を検出し、文字間隔の算出を行う（ステップＳ３０２）。文字の位置検出及び間隔の算出は、文字の外接矩形を検出する等の通常の方法で行えばよい。例えば横書き文書の画像を処理する場合は、文書画像の各画素値を垂直座標軸に対して射影し、空白部分を探索して行分割を行う。その後、行単位で文書画像を水平座標軸に対して射影し、空白部分を探索して文字単位に分割して文字の外接矩形を抽出する。また、文書が電子データの場合は、電子データのフォーマットを解析して文字間隔を算出してもよい。例えば、ページ記述言語の一つであるPostscriptの場合は、［56 47 45…］のように、文字の描画位置のオフセット値が指定されており、文字間隔を算出することが可能である。
【００１９】
［透かし情報ランダム化処理］
ランダム化部１０５は、透かし情報１０４を取得してランダム化処理を行う（ステップＳ３０３）。透かし情報１０４は埋込数値の集合である。ステップＳ３０３では、透かし情報をランダム化透かし情報へと変換するが、この変換方法はランダム化透かし情報から透かし情報への逆変換が可能であり、ランダム化透かし情報中で「０」と「１」との個数に偏りが生じなければ何でもよい。本実施形態では例として、排他的論理和を使用する暗号学的方法を説明する。ただし暗号学的方法を用いる必要はなく、例えばｇｚｉｐなどの可逆圧縮アルゴリズムを用いても同様の効果を得ることができる。
【００２０】
まず、あらかじめ用意した固有鍵をシードとする疑似乱数を生成し、鍵ストリームとする（ステップＳ３０３ａ）。次に、鍵ストリームと透かし情報１０４との論理演算を行う、例えば排他的論理和をとることにより、ランダム化透かし情報を生成する（ステップＳ３０３ｂ）。図５にステップＳ３０３ｂで行われる処理例を示した。ここで述べたような透かし情報からランダム化透かし情報を得る方法は、平文を透かし情報、出力する暗号文をランダム化透かし情報として、ＡＥＳ−ＣＴＲモードなどのストリーム暗号を用いることによっても実現できる。ストリーム暗号では、暗号文のランダム性は平文のビット値分布によらず、鍵ストリームのランダム性のみに依存する。したがって、鍵ストリームが「０」と「１」とが偏り無く分布する二値データである場合、透かし情報の内容によらずに、「０」「１」の出現確率がほぼ同じとなるランダム化透かし情報が得られる。また、標準的なストリーム暗号を用いる限り、ランダム化透かし情報内で部分的に「０」又は「１」が連続してしまい、文字間隔が部分的に単調減少あるいは単調増加してしまう確率も抑えられる。
【００２１】
［間隔差分絶対値決定］
間隔差分絶対値決定部１０３は、文字間隔差分絶対値を決定する（ステップＳ３０４）。文字間隔差分絶対値により、以下で述べる同期波形を表現する。図６に詳細なフローチャートを示す。ステップＳ３０４の処理は、全て間隔差分絶対値決定部１０３が行う。
【００２２】
まず、処理対象行を選択する（ステップＳ３０４ａ）。ステップＳ３０２での文書解析結果に従って、文書１００の１行目から順番に選択していけばよい。次に、ステップＳ３０４ａで選択した行について、隣接する文字間隔値の差を取って文字間隔差分値の絶対値を算出する（ステップＳ３０４ｂ）。文字間隔の各々は、ステップＳ３０２で既に取得している。例えば、選択行の文字間隔が「１１，１９，２５，２１，１８，２０，１８」であるときを考える。この場合、文字間隔差分値はそれぞれ「８（１９−１１），６（２５−１９），−４（２１−２５），−３（１８−２１），２（２０−１８），−２（１８−２０）」となる。このように、隣接する文字間隔の差が文字間隔差分値である。この値の絶対値が間隔差分絶対値、すなわち「８，６，４，３，２，２」である。
【００２３】
次に、選択行の間隔差分絶対値の分布から最大間隔差分絶対値を決定し（ステップＳ３０４ｃ）、さらに最小間隔差分絶対値を決定する（ステップＳ３０４ｄ）。この最大及び最小間隔差分絶対値の範囲内に、透かし情報埋め込み後の文字間隔差分絶対値が入るようにする。最大間隔差分絶対値及び最小間隔差分絶対値の決定方法は自由である。例えば、最大間隔差分絶対値は、選択行の間隔差分絶対値のうち最も大きい値としてもよく、この場合透かし情報埋め込み文書の文字間隔差分を文書１００の文字間隔差分よりも小さくでき、不自然な文書となることを防ぐことができる。また、最小間隔差分絶対値を小さくしすぎると最も小さい正の間隔差分と最も大きい負の間隔差分とが近くなりすぎる。本実施形態では間隔差分の正負を用いて透かし情報を埋め込むので、このことは読み取り時の誤りの増加につながる。このため、最小間隔差分絶対値を、例えば透かし情報埋め込み装置が出力する透かし情報埋め込み文書の画像解像度に従い、間隔差分の正負を正しく読み取ることが可能なように決めてもよい。さらには、最大間隔差分絶対値及び最小間隔差分絶対値は固定値でもよく、この場合ステップ３０４ｂの処理も必要ない。
【００２４】
以上で求めた最大間隔差分絶対値・最小間隔差分絶対値及びあらかじめ定めた同期波形から埋め込み後の間隔差分絶対値を決定する（ステップＳ３０４ｅ）。決定方法は以下の通りである。同期波形は、図７（ａ）のように、データブロック長や具体的な文字間隔差分値によらない形式で保持されている。同期波形は、少なくとも番号ｔに対して間隔差分絶対値ｓを与えるものであればよい。例えば、図７（ａ）の同期波形はｔ，Ｔ，Ａ，ｍに関するｓの関数であって、以下の式で表される。
s = -4(A - m)/T * t + A   [0≦t＜T/4]
s = 16(A - m)/3T * (t - T/4) + m   [T/4≦t＜7T/16]
s = -8(A - m)/T * (t - T/2) + (A + m)/2   [7T/16≦t＜T/2]
s = 8(A - m)/T * (t - T/2) + (A + m)/2   [T/2≦t＜9T/16]
s = -8(A - m)/T * (t - 9T/16) + A   [9T/16≦t＜11T/16]
s = 8(A - m)/T * (t - 3T/4) + (A + m)/2   [11T/16≦t＜3T/4]
s = -8(A - m)/T * (t - 3T/4) + (A + m)/2   [3T/4≦t＜13T/16]
s = 16(A - m)/3T * (t - T) + A   [13T/16≦t＜T]
この同期波形を、ｔ＝番号、Ｔ＝データブロック長、Ａ＝最大間隔差分絶対値，ｍ＝最小間隔差分絶対値となるように対応付ける。データブロック長は前述の通り透かし情報の目標検出率に基づいて決められる。データブロック長は、透かし情報１０４に関連付けられたデータとして間隔差分絶対値決定部１０３が取得すればよい。また、間隔差分絶対値決定部１０３がユーザの指示を取得してもよい。
【００２５】
そして、ｔ＝０，１，２，…，Ｔ−１を同期波形に代入し、得られた写像であるｓ０，ｓ１，ｓ２，…，ｓＴ−１の小数点以下を四捨五入した値を同期数列（同期情報）とする（同期情報取得）。図７（ａ）の同期数列について、最大間隔差分絶対値Ａ＝８、最小間隔差分絶対値ｍ＝２、データブロック長Ｔ＝３１を割り当てる場合、得られる同期数列の各値は図７（ｂ）の黒丸に対応する。すなわち、Ｎビットからなるデータブロックを用いる場合には、Ｎ個の数値を持つ同期数列を用意する。
【００２６】
最後に、同期数列の値を文字間隔差分絶対値として割り当てる。１行目を処理している場合は、１番目の文字間隔差分絶対値としてｓ０を、２番目としてｓ１を、３番目としてｓ２を、それぞれ順番に割り当てる。同期数列の最後の値ｓＴ−１を割り当てても、まだ絶対値を割り当てていない文字間隔差分が処理行に存在する場合は、残りの文字間隔差分に対して再びｓ０から順番に同期数列を割り当てていく。処理行の全ての文字間隔差分に同期数列を割り当てたら、最後に割り当てた同期数列の値ｓｉについて、ｉの値を記憶しておく。ループして次の処理対象行を選択し、戻ってきたステップＳ３０４ｅで新たな同期数列を決定した後には、１番目の文字間隔差分絶対値として同期数列のｉ＋１番目（ｉ＋１番目が存在しない場合は０番目）から順番に値を割り当てていく。次に、処理した行が最終行か判定し（ステップＳ３０４ｆ）、ＹＥＳならステップＳ３０５に進み、ＮｏならステップＳ３０４ａに戻る。
【００２７】
本実施形態では、ある行の最後の文字間隔差分に割り当てた同期数列の番号を記憶しておき、次の行の最初の文字間隔差分に次の番号から割り当てていく。しかしながら、番号を記憶せずに、次の行の最初の文字間隔差分には同期数列の１番目を割り当てるようにしてもよい。
【００２８】
同期波形としては間隔差分絶対値として正の値を返す関数なら何でも使うことができ、例えば三角関数を含む式でもよい。ただし、あまりにも１周期での増減が少ない同期波形を用いると、埋め込んだ同期波形を検出することが困難になる。そのため、同期波形としての使用に適さないことに注意すべきである。また、透かし情報埋め込み装置が用いる同期波形と、透かし情報抽出装置が用いる同期波形とが同じである必要がある。透かし情報埋込装置と透かし情報抽出装置とは同じ方法で同期数列を決定する。しかし、例えば文書に基づいて計算した最大文字間隔差分絶対値から同期数列を算出する場合、最大文字間隔差分絶対値が同一でないと、算出された同期数列も異なるものとなる。すなわち、入力文書１００と透かし情報埋め込み文書１０９との各行の最大文字間隔差分絶対値は等しいことが好ましい。言い換えると、透かし情報埋め込みの前後で各行の最大文字間隔差分絶対値が変わらない同期波形を用いることが好ましい。例えば、１行の文字間隔差分数がデータブロック長よりも大きく、かつ同期数列中の何れかの数が最大文字間隔差分絶対値であればよい。もちろん、同期数列が最大文字間隔差分絶対値等の文書から求まるパラメータに依存しないならば、例えば図７（ａ）の同期波形においてＡとｍが固定値ならば、この問題は生じない。
【００２９】
［符号付間隔差分値決定］
符号付間隔差分値決定部１０６は、間隔差分絶対値決定部１０３が求めた間隔差分絶対値に符号を付けて、符号付間隔差分値（差分情報）を生成する（ステップＳ３０５）。符号は、ランダム化部１０５が求めたランダム化透かし情報に基づいて決定する。符号付け規則としては、ランダム化透かし情報が「１」なら符号を正とし、「０」なら符号を負とすればよい。例えば図１０に示すように、間隔差分絶対値が８，６，４，３，２，２であり、ランダム化透かし情報が「１１００１０」である場合を考える。この場合、ランダム化透かし情報が示す符号は「＋＋−−＋−」であり、この符号を間隔差分絶対値に付けて「＋８，＋６，−４，−３，＋２，−２」とする。ステップＳ３０４で取得した間隔差分値絶対値の数がランダム化透かし情報の長さより多い場合は、ランダム化透かし情報を繰り返して間隔差分値に対応付けてもよい。また、ステップＳ３０４で取得した間隔差分値絶対値の数がランダム化透かし情報の長さより短い場合には、透かし情報が長すぎることをユーザに対して通知して処理を中止するようにしてもよい。
【００３０】
［文字矩形移動］
次に、文字移動部１０７は、符号付間隔差分値決定部１０６が求めた符号付間隔差分値に基づいて文字間隔を決定し、文書１００上の文字を移動する（ステップＳ３０６）。図８は処理の詳細を示すフローチャートである。まず処理行を選択する（ステップＳ３０６ａ）。例えば、文書中の１行目から順次選択すればよい。次に文書解析部１０２が求めた文字間隔情報を利用して、１行に存在する各文字間隔の平均値を求める（ステップＳ３０６ｂ）。次に、透かし情報を埋め込んだ後の各文字間隔を決定する（ステップＳ３０６ｃ）。具体的には、処理行における最初の文字間隔をその平均値とし、残りの文字間隔は直前の文字間隔に符号付間隔差分値を足すことによって順次求めるればよい。例えば符号付間隔差分値が図１０のように８，６，−４，−３，２，−２と決定されたとし、１行の文字間隔の平均値が１１だったとする。すると文字間隔は、１１，１９（１１＋８），２５（１９＋６），２１（２５−４），１８（２１−３），２０（１８＋２），１８（２０−２）となる。
【００３１】
こうしてステップＳ３０６ｃで決定した文字間隔となるように、ステップＳ３０６ａで選択した行の文字を移動する（ステップＳ３０６ｄ）。具体的には、ある文字間隔について、前の文字間隔との差が対応する文字間隔差分値となるように、その文字間隔を構成する後端の文字を移動して配置すればよい。次にステップＳ３０６ａで選択した行が最終行か判定し（ステップＳ３０６ｅ）、ＹＥＳならステップＳ３０７に進み、ＮＯならステップＳ３０６ａに戻って次の行を選択する。
【００３２】
ステップＳ３０６ｃで求めた文字間隔の合計値が、埋め込み前の文字間隔の合計値と異なる場合、各文字間隔差分絶対値が表す同期波形を大きく変化させない範囲で、埋め込み前の文字間隔の合計値と等しくなるように文字間隔を変更してもよい。
【００３３】
［文書生成］
出力部１０８は、文字移動部１０７が文字を移動した文書（埋込文書）の画像を、透かし情報埋め込み文書１０９として出力する（ステップＳ３０７）。出力としては印刷しても記憶装置等に画像データとして記憶してもよく、また、ネットワーク等を介して他の端末等に送信してもよい。
【００３４】
［透かし情報抽出処理］
続けて、上述した構成による透かし情報抽出装置の動作手順について説明する。図９は本実施形態に係る透かし情報抽出装置の動作手順を説明するフローチャートである。まず入力部２０１は、透かし情報埋め込み装置が生成した透かし情報埋め込み文書１０９を検証画像として取得し、文書解析部２０２に入力する（ステップＳ９０１）。入力部２０１は例えばスキャナであって、紙媒体の透かし情報埋め込み文書１０９をスキャンして取得してもよい。また、入力部２０１は例えばＤＶＤドライブ等の入出力装置であって、ビットマップ等の画像を透かし情報埋め込み文書１０９として取得してもよい。さらに、透かし情報埋め込み文書１０９は記憶媒体に格納されたものでもよい。次に文書解析部２０２が、透かし情報埋め込み時と同様に透かし情報埋込文書１０９中（埋込文書中）の文書解析を行って文字間隔を求める（ステップＳ９０２）。
【００３５】
次に、参照間隔差分絶対値決定部２０３で、文書解析部２０２が得た文字間隔情報（読取情報）に基づいて、参照間隔差分絶対値を決定する（ステップＳ９０３）。このステップは埋め込み時に行った、間隔差分値の分布に基づいて同期波形から間隔差分絶対値を決定した処理（ステップＳ３０４）とほぼ同じである。異なる点は、求めた間隔差分絶対値を次の透かし抽出部でデータブロックの同期に用いるための参照間隔差分絶対値として用いる点である。
【００３６】
続けて、透かし抽出部２０４がランダム化透かし情報抽出を行う（ステップＳ９０４）。ステップＳ９０４の詳細は図１１を用いて説明する。まず透かし抽出部２０４は処理行を選択する（ステップＳ９０４ａ）。先頭行から順に選択していけばよい。次に、文書解析部２０２が取得した文字間隔情報を用い、隣接する文字間隔値の差を取って間隔差分値を算出する（ステップＳ９０４ｂ）。次に、参照間隔差分絶対値決定部２０３が求めた参照間隔差分絶対値と比較し、食い違いが生じたら修正を行う（ステップＳ９０４ｃ）。ステップＳ９０４ｃの詳細については後述する。
【００３７】
次に、透かし抽出部Ｓ９０４は間隔差分値の正負を判定する（ステップＳ９０４ｄ）。例えば図１０に示すように間隔差分値が８，６，−４，−３，２，−２の順に並んでいれば、間隔差分値の正負は「＋＋−−＋−」である。本実施形態では「＋」に「１」を、「−」に「０」を対応付けるから、この場合「１１００１０」のビット列が得られる。ステップＳ９０４ｄで決定したビット列は適切なバッファに順番に格納する。バッファは透かし抽出部２０４が有していても、その他の場所にあってもよい。
【００３８】
次に、ステップＳ９０４ａで選択した行が最終行か判定し（ステップＳ９０４ｅ）、ＹＥＳならステップＳ９０５に進み、ＮｏならステップＳ９０４ａに戻る。ステップＳ９０４が終了すると、バッファにはランダム化透かし情報が格納されている。
【００３９】
［透かし情報復元部］
そして透かし情報復元部２０５は、透かし抽出部２０４が取得したランダム化透かし情報から透かし情報を復元し、復元した透かし情報（抽出情報）を出力する（ステップＳ９０５）。ステップＳ９０５では、透かし情報埋め込み時のステップＳ３０３とほぼ同じ処理を行う。ステップＳ９０５ａで用いる固有鍵は、ステップＳ３０３で用いた固有鍵と同じであり、同じ鍵ストリームを生成する。ステップＳ９０５がステップＳ３０３とは異なる点は、ステップＳ９０５ｂにおいてランダム化透かし情報を入力して透かし情報を出力する点である。本実施形態ではランダム化透かし情報の生成に排他的論理和を用いているため、ランダム化透かし情報と鍵ストリームとに排他的論理和計算を行うことで、元の透かし情報を生成することができる。ランダム化に可逆圧縮アルゴリズムを用いた場合は、埋め込み装置と抽出装置で使用するアルゴリズムを共通にすれば同様の効果が得られる。
【００４０】
以上、本発明の、透かし情報埋め込み装置及び透かし情報抽出装置の処理手順を説明した。
【００４１】
［修正処理］
ステップＳ９０４ｃの修正処理についてここで詳しく説明する。図１３に示すように、コピーなどの影響でノイズが加わり、文字矩形の抽出に誤りが生じた場合、参照間隔差分絶対値と間隔差分値の間に食い違いが生じる。図１３（ａ）のように、文字矩形が、埋め込み時と比べて一つ減少した場合、２つの文字間隔差分値が１つになる。また、１つの文字を２つの文字として認識してしまい、文字矩形が一つ増加した場合は１つの文字間隔差分値が２つになる。いずれの場合も値はまったく異なる値になるが、その後に続く値は参照間隔差分絶対値通りに回復する。
【００４２】
この比較ステップにおいては、読み取った文字間隔差分絶対値と参照間隔差分絶対値とが一致していない場所を特定し、参照間隔差分絶対値を用いてデータを修正する。その際の正負の符号は任意でよい。例えば、読み取った間隔差分値「８，６，−４，−１，−２」と参照間隔差分絶対値「８，６，４，３，２，２」とを比較する。差分絶対値が合わないところを＊印で表すと、間隔差分値は「８，６，−４，＊，＊，−２」と判定できる。＊印の部分を参照間隔差分絶対値を用いて修正する。正負の符号は任意でよいので、例えば修正後の間隔差分値を「８，６，−４，３，−２，２」と決定すればよい。このことにより、正しく読み取ることができずにビットが増え又は減ってしまったデータブロックについて、正しいビット数に戻すことができる。データブロック長は固定なので、この処理によってデータブロックの開始位置と終了位置とを検出することができる。さらに、そのデータブロック中で読み取ることができなかったビットの数と位置も検出することができる。この時、修正を行ったビットがどれであるかを示すデータを出力してもよい。
【００４３】
ここでは＊で示した箇所以外は完全に間隔差分絶対値が一致したが、プリント・スキャンを経た文書画像の場合、完全に一致するとは限らない。そこで、一致状態にあると判定する許容範囲を設けることもできる。ここで重要なのは、許容範囲を大きくしすぎると修正すべき部分を一致していると判定してしまう問題が生じる可能性があるということである。そこで、一致度にスコアを導入し、個々の間隔差分絶対値の一致度スコアの累積値が閾値を超えるか否かで、読み取った間隔差分絶対値と参照間隔差分絶対値とが一致しているか否かを判定することが可能である。
【００４４】
上の処理を示したのが図１２のフローチャートである。このステップＳ９０４ｃの処理は、全て透かし情報復元部２０５が行う。初期化処理として、参照間隔差分絶対値へのポインタPr１，Pr２を共に参照波形の先頭の１つ前、すなわち参照間隔差分絶対値の先頭の１つ前にセットする。参照間隔差分絶対値の先頭とは、埋め込み方法に依存するが、本実施形態の埋め込み方法を用いた場合には前の行で最後にポインタPr1が示した参照間隔差分絶対値の１つ後を示す。また、間隔差分絶対値へのポインタPa１，Pa２を共に行頭の１つ前、すなわち間隔差分絶対値の先頭の１つ前にセットする。（ステップＳ９０４ｃ−１）。まず、ポインタPa１とPa２とを１つずつ進め、進めた後のPa１（＝Pa２）が指し示す間隔差分絶対値を選択する。また、ポインタPa１とPa２とを１つずつ進め、進めた後のPr１（＝Pr２）が指し示す参照間隔差分絶対値を選択する（ステップＳ９０４ｃ−２）。次に、Pa１（＝Pa２）が指し示す間隔差分絶対値と、Pr１（＝Pr２）が指し示す参照間隔差分絶対値とを用いて、下記に示すスコアを算出する（ステップＳ９０４ｃ−３）。
【００４５】
（スコア）  ＝  ｜（参照間隔差分絶対値）  −  （間隔差分絶対値）｜  ／Ａ  
ここで、スコアの判定のために許容度Ａを導入する。許容度Ａは、固定値でも解像度等の文書画像から得られるパラメータでもよく、例えば最大間隔差分絶対値に設定すればよい。次に、スコアが所定の値(たとえば1/2)以上、すなわち許容度の範囲を越えて異なっているかを判定する(ステップＳ９０４ｃ−４)。もし異なっている場合（ＹＥＳ）はステップＳ９０４ｃ−５に進む。もしスコアが所定の値以下、すなわち許容度の範囲内で一致する場合（ＮＯ）はステップＳ９０４ｃ−９に進む。
【００４６】
ステップＳ９０４ｃ−５においては、Pr１を１つ進め、Pr１が示す参照間隔差分絶対値とPa１が示す間隔差分絶対値とが許容度の範囲内で一致するまでPa１を１つずつ進める。一致しているか否かの判定はステップＳ９０４ｃ−４と同様に行う。さらに、一致するまでのPa１の増加量を記憶する。３個以上の文字を１つの文字として（１つの文字矩形として）認識してしまう可能性は低いため、Pa１をあらかじめ定められた数、例えば３つ進めても一致しない場合、Pa１の増加量を０としてステップＳ９０４ｃ−６に進んでもよい。次に、Pa２を１つ進め、Pr２が示す参照間隔差分絶対値とPa２が示す間隔差分絶対値とが許容度の範囲内で一致するまでPr２を１つずつ進める。一致しているか否かの判定はステップＳ９０４ｃ−４と同様に行う。Pr２をあらかじめ定められた数、例えば３つ進めても一致しない場合、ステップＳ９０４ｃ−５と同様にPr２の増加量を０としてもよい。さらに、一致するまでのPr２の増加量を記憶する。（ステップＳ９０４ｃ−６）。文字矩形の数が増加する読み取り誤りが起きている時の、ステップＳ９０４ｃ−５におけるポインタの動きの例を図１３（ｂ）に示した。また、文字矩形の数が減少する読み取り誤りが起きている時の、ステップＳ９０４ｃ−６におけるポインタの動きの例を図１３（ｃ）に示した。
【００４７】
次に、Pa１の増加量＞Pr２の増加量ならば文字矩形の数が増加していると判断し、Pa１の値をPa２の値としてセットし、Pr１の値をPr２の値としてセットする。Pa１の増加量＜Pr２の増加量ならば文字矩形の数が減少していると判断し、Pa２の値をPa１の値としてセットし、Pr２の値をPr１の値としてセットする（ステップＳ９０４ｃ−７）。次に、増加・減少の判断結果およびポインタ値を用いて参照波形に基づいて修正を行う（ステップＳ９０４ｃ−８）。文字矩形の数が増加している場合には、Pa１の増加量は誤っている値の数に等しい。すなわち、Pa１の増加量をｎとすると、Pa１が示す間隔差分絶対値のｎ個前の値から、Pa１が示す間隔差分絶対値の１つ前の値までは誤っていると判断される。この場合、透かし情報埋め込み文書を正しく読み込んでいればこれらの値の代わりに１つの間隔差分絶対値が存在するはずである。よって、誤っている値を削除し、適当な値を挿入すればよい。例えば、Pr１が示す参照間隔差分絶対値の１つ前の値を挿入すればよい。また、文字矩形の数が減少している場合には、誤っている値の数は１つであると判定される。この場合、Pr２の増加量をｎとすると、Pa２が示す間隔差分絶対値の１つ前の値を削除し、ｎ個の適当な値を代わりに挿入すればよい。適当な値としては、例えばPr２が示す参照間隔差分絶対値のｎ個前の値から、Pr２が示す参照間隔差分絶対値の１つ前の値までを用いればよい。次に、Pa１（＝Pa２）が指し示す間隔差分絶対値が選択した行の末尾であるか判定し（ステップＳ９０４ｃ−９）、ＹＥＳであれば次のステップＳ９０４ｄに進み、ＮＯであればステップＳ９０４ｃ−２に戻る。
【００４８】
ステップＳ９０４ｃ−８においてPa１の増加量＝Pr２の増加量となることは通常はないが、その場合にはそのままステップＳ９０４ｃ−９に進んでもよいし、ユーザに警告を発して処理を終了してもよい。また、Pa１の増加量とPr２の増加量とがともに０となった場合には、ステップＳ９０４ｃ−５及びステップＳ９０４ｃ−６の処理を、Pr１とPa２とをさらに１つずつ進めておこなってもよい。ステップＳ９０４ｃ−５及びステップＳ９０４ｃ−６の処理においてPa１又はPr２を増加させている時に行の末端に到達してしまった時は、次行の間隔差分絶対値及び参照間隔差分絶対値を計算してからさらに比較を進めてもよい。さらには、ポインタは、透かし情報復元部２０５が有するメモリ、又は外部のメモリに格納しておけばよい。ステップＳ９０４ｃでは修正処理を行うが、修正箇所、すなわち抽出した透かし情報のうち誤りが存在する箇所をユーザに通知することが好ましい。また、食い違いを発見した際にユーザに警告を発して処理を終了するようにしてもよい。これだけで誤りを検出するという目的は達成できる。
【００４９】
＜第２の実施形態＞
第１の実施形態の埋め込み規則では、透かし情報が０，１の２値で構成されていることを前提としていた。本実施形態では、多値で構成された透かし情報を埋め込む。例えば図１４のように、埋め込む情報を０から７までの８値とする。埋め込む透かし情報に応じて間隔差分絶対値の十の位の数値及び符号を決定し、同期波形は間隔差分絶対値の一の位を使用して埋め込む。
【００５０】
例えば図１４（ｂ）のように「３５３３４３」を埋め込む場合、図１４（ａ）の符号表に従うと「−２，＋５，−３，−３，＋２，−２」との数値列が得られる。図１４（ａ）の符号表においては、埋め込む情報に対して２つの数値の何れを選択してもよい。例えば、情報「７」に対しては「＋９」を選択しても「＋８」を選択してもよい。絶対値が小さい方を選択する、又は文字間隔の総和の埋め込み前後での変化が小さくなるように選択する、等の選択方法が考えられる。第１の実施形態の方法に従って同期波形から決定した同期数列、例えば「８，９，７，２，９，９」を一の位として組み合わせると、符号付間隔差分値として「−２８，＋５９，−３７，−３２，＋２９，−２８」が得られる。この符号付間隔差分値を、第１の実施形態と同様に連続する文字矩形の間隔の差の正負を利用して埋め込めばよい。透かし情報抽出装置は、読み取った符号と十の位の数値とから、図１４（ａ）の符号表を用いて埋め込んだ情報を得ることができる。本実施形態の場合も、埋め込む情報において０から３（間隔差分値の符号が負）と４から７（間隔差分値の符号が正）との分布に偏りがあると文書が不自然になるため、ランダム化が必要である。
【００５１】
図１４（ａ）のように、符号付間隔差分値の符号及び十の位として−１，０，＋１を使用しないことで、透かし情報抽出装置が情報「３」と「４」とを読み間違える可能性を減らすことができる。また、例えば図１４の例において、情報「５」に対しては設定する文字間隔差分値が＋４５〜＋５４の間に入るように決め、＋４０〜＋４４及び＋５５〜＋５９は埋め込み時には使わないようにすることで、さらに耐性を高めることができる。符号表をさらに複雑にし、解像度を上げることにより、さらに複雑な多値情報を埋め込むことができる。
【００５２】
＜第３の実施形態＞
図１５は、本実施形態に係る透かし情報抽出・埋め込み装置の電気的構成を説明するための図である。なお、透かし情報抽出・埋め込み装置の実現に当たっては、図１５に示される全ての機能を使用することは必須ではない。
【００５３】
図１５において、コンピュータ１５０１は、一般に普及しているパーソナルコンピュータであり、スキャナ等の画像入力装置１５１７が読み取った画像を入力し、編集や保管を行うことが可能である。また、画像入力装置１５１７が得た画像をプリンタ１５１６から印刷することができる。なお、ユーザからの各種指示等は、マウス１５１３、キーボード１５１４からの入力操作により行われる。
【００５４】
コンピュータ１５０１の内部では、バス１５０７により後述する各ブロックが接続され、種々のデータの受け渡しが可能である。図１５において、ＣＰＵ１５０２は、コンピュータ１５０１内部の各ブロックの動作を制御し、あるいは内部に記憶されたコンピュータプログラムを実行することができる。主記憶装置１５０３は、ＣＰＵ１５０２において行われる処理のために、一時的にプログラムや処理対象の画像データを格納しておく装置である。ハードディスク（ＨＤＤ）１５０４は、主記憶装置１５０３等に転送されるプログラムや画像データをあらかじめ格納したり、処理後の画像データを保存することのできる装置である。
【００５５】
インタフェース（Ｉ／Ｆ）１５１５は、原稿やフィルム等を読み取って、画像データを生成する画像入力装置１５１７と接続され、画像入力装置１５１７で得られた画像データを入力することのできるＩ／Ｆである。インタフェース（Ｉ／Ｆ）１５０８は、画像データを印刷するプリンタ１５１６と接続され、印刷する画像データをプリンタ１５１６に送信することのできるＩ／Ｆである。
【００５６】
ＣＤドライブ１５０９は、外部記憶媒体の一つであるＣＤ（ＣＤ−Ｒ／ＣＤ−ＲＷ）に記憶されたデータを読み込んだり、あるいは書き出すことができる装置である。ＦＤＤドライブ１５１１は、ＣＤドライブ１５０９と同様にＦＤＤからの読み込みや、ＦＤＤへの書き出しをすることができる装置である。ＤＶＤドライブ１５１０は、ＦＤＤドライブ１５１１と同様に、ＤＶＤからの読み込みや、ＤＶＤへの書き出しをすることができる装置である。尚、ＣＤ、ＦＤＤ、ＤＶＤ等に画像編集用のプログラム、あるいはプリンタドライバが記憶されている場合には、これらプログラムをＨＤＤ１５０４上にインストールし、必要に応じて主記憶装置１５０３に転送されるようになっている。
【００５７】
インタフェース（Ｉ／Ｆ）１５１２は、マウス１５１３やキーボード１５１４からの入力指示を受け付けるために、これらと接続されるＩ／Ｆである。また、モニタ１５０６は、透かし情報の抽出処理結果や処理過程を表示することのできる表示装置である。さらに、ビデオコントローラ１５０５は、表示データをモニタ１５０６に送信するための装置である。なお、本発明は、複数の機器（例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置等）に適用してもよい。
【００５８】
本実施形態に係る動作手順は、例えば以下のようにして達成される。すなわち、図１５に示す情報処理装置において、例えばマウス１５１３やキーボード１５１４からの入力指示により、ＣＰＵ１５０２等が、ＨＤＤ１５０４等のコンピュータ読取可能な記録媒体から主記憶装置１５０３等のメモリにプログラムをロードする。そして、メモリ上のプログラムをＣＰＵ１５０２等が実行する。この時、モニタ１５０６により実行状況や、その結果をモニタすることも可能である。
【００５９】
＜その他の実施形態＞
本発明は同期波形を用いて透かし情報を埋め込む方法に関するものである。さらに埋め込み可能な情報量を増やす目的で、文字間隔のグループ化を行わず、例えば３つの文字間隔について１つ目と２つ目の文字間隔の差と、２つ目と３つ目の文字間隔の差との双方を用いてより高密度に透かし情報を埋め込む方法を採用した。しかしながら、後者の高密度に透かし情報を埋め込む方法は、同期波形を用いずに透かし情報を埋め込む場合にも適用可能である。例えば、文字間隔の差をｋに固定し、「１」を埋め込む場合は文字間隔差分値を＋ｋに、「０」を埋め込む場合は文字間隔差分値を−ｋにすればよい。
【００６０】
先述の通り、文字間隔を２つの文字間隔の組にグループ化してから、グループ内の文字間隔を操作する方法にも、本発明の同期波形を導入することができる。この場合文字矩形を正しく認識できないと、正しく認識できなかった位置以降ではグループ化する文字間隔の組もずれてしまう。正しく認識できなかったと判定された位置から文字間隔のグループ化をやり直してから同期波形との比較を続けることで、上述の実施形態の方法に従って抽出したデータが異常であることを検出するとともにデータを補正することができる。
【図１】
2010262117.tif 000003
【図２】
2010262117.tif 000004
【図３】
2010262117.tif 000005
【図４】
2010262117.tif 000006
【図５】
2010262117.tif 000007
【図６】
2010262117.tif 000008
【図７】
2010262117.tif 000009
【図８】
2010262117.tif 000010
【図９】
2010262117.tif 000011
【図１０】
2010262117.tif 000012
【図１１】
2010262117.tif 000013
【図１２】
2010262117.tif 000014
【図１３】
2010262117.tif 000015
【図１４】
2010262117.tif 000016
【図１５】
2010262117.tif 000017
【図１６】
2010262117.tif 000018