(57)【要約】【課題】  画像全体に渡ってデータを分散させて埋め込みながら、埋め込みデータ量を可変設定することができ、必要なデータ量を埋め込むことができる、あるいはその埋め込んだデータを精度よく検出することができる画像処理装置、画像処理方法、および画像処理プログラムを提供する。【解決手段】  埋め込みデータを複数のデータブロックに分割する埋め込みデータ分割手段と、データを埋め込まれる原画像を複数の画像ブロックに分割する画像分割手段と、分割された各画像ブロックに、所定の対応規則に従って、前記複数のデータブロックの何れかを対応づける画像内データブロック配置手段とを有する、データ埋め込み／検出処理を行う画像処理装置、画像処理方法、および画像処理プログラム。【選択図】        図６
2007049440.tif 000002
【特許請求の範囲】
【請求項１】
画像情報にデータを埋め込み、データ埋め込み画像を作成するデータ埋め込み手段を有する画像処理装置において、
埋め込みデータを複数のデータブロックに分割し、分割された各データブロックに、当該データブロックを特定するデータを付与する埋め込みデータ分割手段と、
前記埋め込みデータ分割手段で分割された各データブロックのサイズに応じて、データを埋め込まれる原画像を複数の画像ブロックに分割する画像分割手段と、
前記画像分割手段で分割された複数の画像ブロックそれぞれに、所定の対応規則に従って、前記複数のデータブロックの何れかを対応づける画像内データブロック配置手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記データ埋め込み手段は、
前記画像分割手段で分割された各画像ブロックそれぞれに対して、前記画像内データブロック配置手段により二次元的な対応規則で対応づけられた前記データブロックを、前記埋め込みデータ分割手段で付与された当該データブロックを特定するデータと共に埋め込み処理し、データ埋め込み画像を作成する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記データ埋め込み手段は、
前記画像分割手段で分割された各画像ブロックそれぞれに対して、前記画像内データブロック配置手段で対応づけられた前記データブロックに付与された当該データブロックを特定するデータを、各々の対応する画像ブロック内の複数箇所に埋め込み処理する
ことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記データ埋め込み手段は、
前記画像分割手段で分割された各画像ブロックそれぞれに対して、前記画像内データブロック配置手段で対応づけられた前記データブロックが、埋め込まれたデータの最初もしくは最後のデータブロックであることを示すデータを、各々の対応する画像ブロック内に埋め込み処理する
ことを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
前記データ埋め込み手段は、
前記画像分割手段で分割された各画像ブロックそれぞれに対して、その画像ブロック内の特定の位置に、隣接する他の画像ブロックとの境界位置を示すデータを埋め込み処理する
ことを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記データ埋め込み手段は、
前記画像分割手段で分割された各画像ブロックそれぞれに対して、前記画像内データブロック配置手段で対応づけられた前記データブロックに付与された当該データブロックを特定するデータを、誤り訂正符号により符号化して埋め込み処理する
ことを特徴とする請求項１乃至５の何れか１項に記載の画像処理装置。
【請求項７】
前記データ埋め込み手段は、
前記画像分割手段で分割された各画像ブロックそれぞれに対して、前記画像内データブロック配置手段で対応づけられた前記データブロックを埋め込み処理する際に、前記データブロックに付与された当該データブロックを特定するデータ以外のデータには、誤り訂正符号による符号化を行うことなく埋め込み処理する
ことを特徴とする請求項１乃至６の何れか１項に記載の画像処理装置。
【請求項８】
請求項１乃至７の何れか１項に記載の画像処理装置により作成されたデータ埋め込み画像、あるいは当該データ埋め込み画像に対して印刷、読み取りの処理を経た画像から、埋め込まれたデータを検出し、復元するデータ検出手段を有することを特徴とする画像処理装置。
【請求項９】
前記データ検出手段は、
対象となる画像から、前記画像分割手段で分割された各画像ブロックを検出し、各画像ブロックそれぞれに対して、対応するデータブロックを、前記埋め込みデータ分割手段で付与されたデータブロックを特定するデータにより特定し、各データブロックそれぞれに対して埋め込まれたデータを検出処理し、埋め込みデータを復元する
ことを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記データ検出手段は、
検出された各画像ブロックそれぞれに対して、対応する前記データブロックを特定するデータを検出処理するときは、前記画像内データブロック配置手段で用いられた所定の対応規則に基づき、周辺の他の画像ブロックでの検出結果に基づいて検出処理する
ことを特徴とする請求項８または９に記載の画像処理装置。
【請求項１１】
前記データ検出手段は、
検出された各画像ブロックそれぞれに対して、対応する前記データブロックを特定するデータが誤り訂正符号により符号化されていた場合、誤り検出処理を行い、誤りありと判定された場合には対応する前記データブロックを特定するデータとは見なさない
ことを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
画像情報にデータを埋め込み、データ埋め込み画像を作成するデータ埋め込み工程を有する画像処理方法において、
埋め込みデータを複数のデータブロックに分割し、分割された各データブロックに、当該ブロックを特定するデータを付与する埋め込みデータ分割工程と、
前記埋め込みデータ分割工程で分割された各データブロックのサイズに応じて、データを埋め込まれる原画像を、複数の画像ブロックに分割する画像分割工程と、
前記画像分割工程で分割された複数の画像ブロックそれぞれに、所定の対応規則に従って、前記複数のデータブロックの何れかを対応づける画像内データブロック配置工程と、
を有することを特徴とする画像処理方法。
【請求項１３】
前記データ埋め込み工程は、
前記画像分割工程で分割された各画像ブロックそれぞれに対して、前記画像内データブロック配置工程により二次元的な対応規則で対応づけられた前記データブロックを、前記埋め込みデータ分割工程で付与された当該データブロックを特定するデータと共に埋め込み処理し、データ埋め込み画像を作成する
ことを特徴とする請求項１２に記載の画像処理方法。
【請求項１４】
前記データ埋め込み工程は、
前記画像分割工程で分割された各画像ブロックそれぞれに対して、前記画像内データブロック配置工程で対応づけられた前記データブロックに付与された当該データブロックを特定するデータを、各々の対応する画像ブロック内の複数箇所に埋め込み処理する
ことを特徴とする請求項１２または１３に記載の画像処理方法。
【請求項１５】
前記データ埋め込み工程は、
前記画像分割工程で分割された各画像ブロックそれぞれに対して、前記画像内データブロック配置工程で対応づけられた前記データブロックが、埋め込まれたデータの最初もしくは最後のデータブロックであることを示すデータを、各々の対応する画像ブロック内に埋め込み処理する
ことを特徴とする請求項１２乃至１４の何れか１項に記載の画像処理方法。
【請求項１６】
前記データ埋め込み工程は、
前記画像分割工程で分割された各画像ブロックそれぞれに対して、その画像ブロック内の特定の位置に、隣接する他の画像ブロックとの境界位置を示すデータを埋め込み処理する
ことを特徴とする請求項１２乃至１５の何れか１項に記載の画像処理方法。
【請求項１７】
前記データ埋め込み工程は、
前記画像分割工程で分割された各画像ブロックそれぞれに対して、前記画像内データブロック配置工程で対応づけられた前記データブロックに付与された当該データブロックを特定するデータを、誤り訂正符号により符号化して埋め込み処理する
ことを特徴とする請求項１２乃至１６の何れか１項に記載の画像処理方法。
【請求項１８】
前記データ埋め込み工程は、
前記画像分割工程で分割された各画像ブロックそれぞれに対して、前記画像内データブロック配置工程で対応づけられた前記データブロックを埋め込み処理する際に、前記データブロックに付与された当該データブロックを特定するデータ以外のデータには、誤り訂正符号による符号化を行うことなく埋め込み処理する
ことを特徴とする請求項１２乃至１７の何れか１項に記載の画像処理方法。
【請求項１９】
請求項１２乃至１８の何れか１項に記載の画像処理方法により作成されたデータ埋め込み画像、あるいは当該データ埋め込み画像に対して印刷、読み取りの処理を経た画像から、埋め込まれたデータを検出し、復元するデータ検出工程を有することを特徴とする画像処理方法。
【請求項２０】
前記データ検出工程は、
対象となる画像から、前記画像分割工程で分割された各画像ブロックを検出し、各画像ブロックそれぞれに対して、対応するデータブロックを、前記埋め込みデータ分割工程で付与されたデータブロックを特定するデータにより特定し、各データブロックそれぞれに対して埋め込まれたデータを検出処理し、埋め込みデータを復元する
ことを特徴とする請求項１９に記載の画像処理方法。
【請求項２１】
前記データ検出工程は、
検出された各画像ブロックそれぞれに対して、対応する前記データブロックを特定するデータを検出処理するときは、前記画像内データブロック配置工程で用いられた所定の対応規則に基づき、周辺の他の画像ブロックでの検出結果に基づいて検出処理する
ことを特徴とする請求項１９または２０に記載の画像処理方法。
【請求項２２】
前記データ検出工程は、
検出された各画像ブロックそれぞれに対して、対応する前記データブロックを特定するデータが誤り訂正符号により符号化されていた場合、誤り検出処理を行い、誤りありと判定された場合には対応する前記データブロックを特定するデータとは見なさない
ことを特徴とする請求項２１に記載の画像処理方法。
【請求項２３】
請求項１２乃至２２の何れか１項に記載の画像処理方法をコンピュータに実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は画像処理装置、画像処理方法、および画像処理プログラムに関し、特に、画像へのデータの埋め込みや検出を行なうことができる画像処理装置、画像処理方法、および画像処理プログラムに関する。
【背景技術】
【０００２】
情報のデジタル化の進展とともに、電子透かしなどに代表されるデータ埋め込みの技術が一般化し、近年では、印刷物などのアナログ画像媒体にも適用されるようになってきている。印刷物に対するデータの埋め込みは、電子データの場合と異なり、画像プリント時や画像読み取り時に埋め込み信号の劣化が大きく、様々な対策手法が検討されている。
【０００３】
印刷物に対するデータ埋め込みの代表的な方法としては、プリント時に、文書画像などに地紋のような形でドットを配置し、一見すると背景模様のように見えながら、そのドット配置（ドットパターン）にデータが埋め込まれており、スキャナなどで前記文書画像を読みとった際に、文書画像とともに再現された前記ドットパターンを検出し、埋め込まれたデータを抽出するという技術がある（例えば、特許文献１および２参照）。
【０００４】
これらのドットパターンを用いるデータの埋め込み、検出の技術は、文書画像のような印刷物の場合により適した手法であり、埋め込み、検出の効率を高め、その精度も向上させた。
【０００５】
しかしながら、文書画像には、その画像の一部だけが利用されたり、画像の一部の画質劣化があったりして、読み取り、検出のできない画像領域が発生する可能性がある。また読み取りが可能であっても、画質劣化などで検出誤りの発生する可能性が依然としてある。
【０００６】
画像において検出に有効でない領域があっても、埋め込んだデータを検出できるように、画像全体をブロックに分割して、画像全体に渡り、各ブロックにデータを分散するような形でデータを埋め込む技術が提案されている（例えば、特許文献３参照）。これにより画像の一部に読み取りできない領域があっても、他の箇所から読み取りが可能になる。
【０００７】
またデータを誤り訂正符号を用いて符号化し、検出時に誤り訂正ができるような形で埋め込む技術も提案されている（例えば、特許文献４参照）。これにより何ビットかの検出誤りが発生しても、その誤りを判断して修正することが可能となった。
【０００８】
しかしながら、誤り訂正符号を利用することは、検出力を向上する代わりに埋め込み可能なデータ量を減少させることになる。また、画像中に読み取りに使用できない領域が発生した場合には、誤り訂正符号も役には立たない。画像をブロックに分割して、データを分散して埋め込む方法も、読み取りを確実にはするものの、同じデータを各ブロックに繰り返し埋め込むため、埋め込み可能なデータ量は制約を受ける。
【０００９】
またどちらの場合も、埋め込んだデータを検出するためには、埋め込むデータ量を予め固定する必要がある。あるいは別途データ量に関する情報を検出する側に伝達する手段を必要とする。すなわち、埋め込み時に埋め込みデータ量を任意に可変とすることが困難であり、対策が求められる。
【特許文献１】特開２００３−１０１７６２号公報
【特許文献２】特開２００４−１２８８４５号公報
【特許文献３】特開２０００−５９６１０号公報
【特許文献４】特開２００２−２１８２０７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上記のように、埋め込みデータの読み取り、検出を確実にするため、埋め込みデータ量を減らしすぎず、画像全体に渡って、データが埋め込まれるようにし、また埋め込みデータ量を任意に設定できるような、画像へのデータ埋め込み方法が求められている。
【００１１】
本発明の目的は、上記課題を解決し、画像全体に渡ってデータを分散させて埋め込みながら、埋め込みデータ量を可変設定することができ、必要なデータ量を埋め込むことができる、あるいはその埋め込んだデータを精度よく検出することができる画像処理装置、画像処理方法、および画像処理プログラムを提供することである。
【課題を解決するための手段】
【００１２】
上記の課題を解決するために、本発明は以下の特徴を有するものである。
【００１３】
（１）
画像情報にデータを埋め込み、データ埋め込み画像を作成するデータ埋め込み手段を有する画像処理装置において、前記埋め込みデータを複数のデータブロックに分割し、分割された各データブロックに、当該データブロックを特定するデータを付与する埋め込みデータ分割手段と、前記埋め込みデータ分割手段で分割された各データブロックのサイズに応じて、データを埋め込まれる原画像を複数の画像ブロックに分割する画像分割手段と、前記画像分割手段で分割された複数の画像ブロックそれぞれに、所定の対応規則に従って、前記複数のデータブロックの何れかを対応づける画像内データブロック配置手段と、を有することを特徴とする画像処理装置。
【００１４】
（２）
前記データ埋め込み手段は、前記画像分割手段で分割された各画像ブロックそれぞれに対して、前記画像内データブロック配置手段により二次元的な対応規則で対応づけられた前記データブロックを、前記埋め込みデータ分割手段で付与された当該データブロックを特定するデータと共に埋め込み処理し、データ埋め込み画像を作成することを特徴とする前記（１）に記載の画像処理装置。
【００１５】
（３）
前記データ埋め込み手段は、前記画像分割手段で分割された各画像ブロックそれぞれに対して、前記画像内データブロック配置手段で対応づけられた前記データブロックに付与された当該データブロックを特定するデータを、各々の対応する画像ブロック内の複数箇所に埋め込み処理することを特徴とする前記（１）または（２）に記載の画像処理装置。
【００１６】
（４）
前記データ埋め込み手段は、前記画像分割手段で分割された各画像ブロックそれぞれに対して、前記画像内データブロック配置手段で対応づけられた前記データブロックが、埋め込まれたデータの最初もしくは最後のデータブロックであることを示すデータを、各々の対応する画像ブロック内に埋め込み処理することを特徴とする前記（１）乃至（３）の何れか１項に記載の画像処理装置。
【００１７】
（５）
前記データ埋め込み手段は、前記画像分割手段で分割された各画像ブロックそれぞれに対して、その画像ブロック内の特定の位置に、隣接する他の画像ブロックとの境界位置を示すデータを埋め込み処理することを特徴とする前記（１）乃至（４）の何れか１項に記載の画像処理装置。
【００１８】
（６）
前記データ埋め込み手段は、前記画像分割手段で分割された各画像ブロックそれぞれに対して、前記画像内データブロック配置手段で対応づけられた前記データブロックに付与された当該データブロックを特定するデータを、誤り訂正符号により符号化して埋め込み処理することを特徴とする前記（１）乃至（５）の何れか１項に記載の画像処理装置。
【００１９】
（７）
前記データ埋め込み手段は、前記画像分割手段で分割された各画像ブロックそれぞれに対して、前記画像内データブロック配置手段で対応づけられた前記データブロックを埋め込み処理する際に、前記データブロックに付与された当該データブロックを特定するデータ以外のデータには、誤り訂正符号による符号化を行うことなく埋め込み処理することを特徴とする前記（１）乃至（６）の何れか１項に記載の画像処理装置。
【００２０】
（８）
前記（１）乃至（７）の何れか１項に記載の画像処理装置により作成されたデータ埋め込み画像、あるいは当該データ埋め込み画像に対して印刷、読み取りの処理を経た画像から、埋め込まれたデータを検出し、復元するデータ検出手段を有することを特徴とする画像処理装置。
【００２１】
（９）
前記データ検出手段は、対象となる画像から、前記画像分割手段で分割された各画像ブロックを検出し、各画像ブロックそれぞれに対して、対応するデータブロックを、前記埋め込みデータ分割手段で付与されたデータブロックを特定するデータにより特定し、各データブロックそれぞれに対して埋め込まれたデータを検出処理し、埋め込みデータを復元することを特徴とする前記（８）に記載の画像処理装置。
【００２２】
（１０）
前記データ検出手段は、検出された各画像ブロックそれぞれに対して、対応する前記データブロックを特定するデータを検出処理するときは、前記画像内データブロック配置手段で用いられた所定の対応規則に基づき、周辺の他の画像ブロックでの検出結果に基づいて検出処理することを特徴とする前記（８）または（９）に記載の画像処理装置。
【００２３】
（１１）
前記データ検出手段は、検出された各画像ブロックそれぞれに対して、対応する前記データブロックを特定するデータが誤り訂正符号により符号化されていた場合、誤り検出処理を行い、誤りありと判定された場合には対応する前記データブロックを特定するデータとは見なさないことを特徴とする前記（１０）に記載の画像処理装置。
【００２４】
（１２）
画像情報にデータを埋め込み、データ埋め込み画像を作成するデータ埋め込み工程を有する画像処理方法において、前記埋め込みデータを複数のデータブロックに分割し、分割された各データブロックに、当該ブロックを特定するデータを付与する埋め込みデータ分割工程と、前記埋め込みデータ分割工程で分割された各データブロックのサイズに応じて、データを埋め込まれる原画像を、複数の画像ブロックに分割する画像分割工程と、前記画像分割工程で分割された複数の画像ブロックそれぞれに、所定の対応規則に従って、前記複数のデータブロックの何れかを対応づける画像内データブロック配置工程と、を有することを特徴とする画像処理方法。
【００２５】
（１３）
前記データ埋め込み工程は、前記画像分割工程で分割された各画像ブロックそれぞれに対して、前記画像内データブロック配置工程により二次元的な対応規則で対応づけられた前記データブロックを、前記埋め込みデータ分割工程で付与された当該データブロックを特定するデータと共に埋め込み処理し、データ埋め込み画像を作成することを特徴とする前記（１２）に記載の画像処理方法。
【００２６】
（１４）
前記データ埋め込み工程は、前記画像分割工程で分割された各画像ブロックそれぞれに対して、前記画像内データブロック配置工程で対応づけられた前記データブロックに付与された当該データブロックを特定するデータを、各々の対応する画像ブロック内の複数箇所に埋め込み処理することを特徴とする前記（１２）または（１３）に記載の画像処理方法。
【００２７】
（１５）
前記データ埋め込み工程は、前記画像分割工程で分割された各画像ブロックそれぞれに対して、前記画像内データブロック配置工程で対応づけられた前記データブロックが、埋め込まれたデータの最初もしくは最後のデータブロックであることを示すデータを、各々の対応する画像ブロック内に埋め込み処理することを特徴とする前記（１２）乃至（１４）の何れか１項に記載の画像処理方法。
【００２８】
（１６）
前記データ埋め込み工程は、前記画像分割工程で分割された各画像ブロックそれぞれに対して、その画像ブロック内の特定の位置に、隣接する他の画像ブロックとの境界位置を示すデータを埋め込み処理することを特徴とする前記（１２）乃至（１５）の何れか１項に記載の画像処理方法。
【００２９】
（１７）
前記データ埋め込み工程は、前記画像分割工程で分割された各画像ブロックそれぞれに対して、前記画像内データブロック配置工程で対応づけられた前記データブロックに付与された当該データブロックを特定するデータを、誤り訂正符号により符号化して埋め込み処理することを特徴とする前記（１２）乃至（１６）の何れか１項に記載の画像処理方法。
【００３０】
（１８）
前記データ埋め込み工程は、前記画像分割工程で分割された各画像ブロックそれぞれに対して、前記画像内データブロック配置工程で対応づけられた前記データブロックを埋め込み処理する際に、前記データブロックに付与された当該データブロックを特定するデータ以外のデータには、誤り訂正符号による符号化を行うことなく埋め込み処理することを特徴とする前記（１２）乃至（１７）の何れか１項に記載の画像処理方法。
【００３１】
（１９）
前記（１２）乃至（１８）の何れか１項に記載の画像処理方法により作成されたデータ埋め込み画像、あるいは当該データ埋め込み画像に対して印刷、読み取りの処理を経た画像から、埋め込まれたデータを検出し、復元するデータ検出工程を有することを特徴とする画像処理方法。
【００３２】
（２０）
前記データ検出工程は、対象となる画像から、前記画像分割工程で分割された各画像ブロックを検出し、各画像ブロックそれぞれに対して、対応するデータブロックを、前記埋め込みデータ分割工程で付与されたデータブロックを特定するデータにより特定し、各データブロックそれぞれに対して埋め込まれたデータを検出処理し、埋め込みデータを復元することを特徴とする前記（１９）に記載の画像処理方法。
【００３３】
（２１）
前記データ検出工程は、検出された各画像ブロックそれぞれに対して、対応する前記データブロックを特定するデータを検出処理するときは、前記画像内データブロック配置工程で用いられた所定の対応規則に基づき、周辺の他の画像ブロックでの検出結果に基づいて検出処理することを特徴とする前記（１９）または（２０）に記載の画像処理方法。
【００３４】
（２２）
前記データ検出工程は、検出された各画像ブロックそれぞれに対して、対応する前記データブロックを特定するデータが誤り訂正符号により符号化されていた場合、誤り検出処理を行い、誤りありと判定された場合には対応する前記データブロックを特定するデータとは見なさないことを特徴とする前記（２１）に記載の画像処理方法。
【００３５】
（２３）
前記（１２）乃至（２２）の何れか１項に記載の画像処理方法をコンピュータに実行させることを特徴とする画像処理プログラム。
【発明の効果】
【００３６】
本発明によれば、画像をブロックに分割し、それぞれの画像ブロックに、やはり分割したデータブロックを所定の規則に従って対応付け、画像全体に渡ってデータを分散させて埋め込み処理を行うことにより、画像の一部欠損にも強いデータ検出が可能で、なおかつデータの冗長性を保持できるので、誤り訂正符号などの必要性がなく、データ検出を確実にするためのデータ量抑制が少なく、必要なデータ量を埋め込み、検出することができる画像処理装置、画像処理方法、および画像処理プログラムを提供することができる。
【００３７】
さらに本発明によれば、所定の規則に従って分割したデータを対応づけているため、埋め込みデータ量を可変設定しても、埋め込まれた情報からデータ量を検出でき、埋め込みデータ全体の復元が容易な、データ量可変対応の埋め込み、検出のできる画像処理装置、画像処理方法、および画像処理プログラムを提供することができる。
【発明を実施するための最良の形態】
【００３８】
本発明は、例えばスキャナやカメラなどの画像読み取り装置、複写機、多機能型のプリンタ（以下、ＭＦＰと称する）などの画像入出力機能を有する画像形成装置などに実施可能である。またそれらの画像入出力装置と接続されたパーソナルコンピュータなどのプログラムを用いた画像データ処理機能を有する装置においても実施可能である。
【００３９】
（実施形態例１）
図１を用いて、パーソナルコンピュータ（以下、ＰＣと称する）を用いた画像処理装置を例にして、本発明の第１の実施の形態例を説明する。図１は、第１の実施の形態例における画像処理装置の構成を示すブロック図である。
【００４０】
図を参照して画像処理装置は、ＰＣ（パーソナルコンピュータ）３０１と、表示装置として動作するモニタ３０３と、ユーザの入力装置として動作するマウス３０５およびキーボード３０７と、データやプログラムを記憶する外部記憶装置３０９と、画像などを出力するプリンタ３１１と、原稿から画像を読取るスキャナ３１３とから構成される。
【００４１】
ＰＣ３０１内のメモリには、ドット埋め込み処理ソフト３０１ａと、ドット検出処理ソフト３０１ｂのいずれかあるいは両方が記録されており、これらソフトウェア（プログラム）に従いコンピュータが動作する。本実施形態例では、ドット埋め込み処理ソフト３０１ａと、ドット検出処理ソフト３０１ｂの両方がＰＣ３０１内のメモリに記録されているものとしている。
【００４２】
図２は、図１のＰＣ３０１の内部をより詳細に説明する図である。
【００４３】
図を参照してＰＣ３０１内には、入出力インタフェイス４０３と、ＣＰＵおよびメモリ４０５と、記憶装置４０１とが含まれる。
【００４４】
記憶装置４０１内には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）４０９と、演算処理部４０７とが含まれている。なお記憶装置４０１の一部は、外部記憶装置としてもよい。
【００４５】
キーボード３０７やマウス３０５からのユーザ指示４２１、およびスキャナ３１３からのスキャン画像４２７は、入出力インタフェイス４０３を介して、ＰＣ３０１に入力される。また、ＰＣ３０１から入出力インタフェイス４０３を介してモニタ３０３やプリンタ３１１にデータが送られることにより、画像データ表示４２３やプリント画像４２５の出力が実行される。
【００４６】
（埋め込み／検出処理の概略フロー）
図３（ａ）には、上記装置においてドット埋め込み処理ソフト３０１ａに従い処理されるドット埋め込み処理の概略フローを示す。図３（ｂ）には、同じくドット検出処理ソフト３０１ｂに従い処理されるドット検出処理の概略フローを示す。図３（ａ）および（ｂ）を用いて、埋め込み／検出処理の概略を説明する。詳細は後述する。
【００４７】
図３（ａ）におけるドット埋め込み処理の開始時点で、データを埋め込まれる文書画像などの画像データ１１が入力されている。一方では、次のステップＳ１１でその画像データ１１に埋め込むべき埋め込みデータ１２が用意されている。ステップＳ１１では、埋め込みデータ１２がブロックに分割処理される。併せてそれに対応するよう画像データ１１の方もブロックに分割されている。
【００４８】
次のステップＳ１２では、画像データのブロックごとに、対応する埋め込みデータブロックのデータが、ドットパターンとして打たれていく。すなわち、文書画像にドットパターンが地模様のようになって付加されていく。これがステップＳ１３でプリントされて埋め込み処理の終了時点では、印刷物１３となって出力される。
【００４９】
図３（ｂ）のドット検出処理では、これとは逆に、ステップＳ１４で印刷物１３をスキャナなどで読み取る。次のステップＳ１５では、読み取った画像データに対して、付加されたドットパターンを検出し、元のビットデータに戻す。さらにステップＳ１６で、各ブロックのデータを総合して元の埋め込みデータを復元処理し、復元された埋め込みデータ１４が得られて検出処理を終了する。
【００５０】
図４は、上記の埋め込み処理によりドットが埋め込まれた印刷物１３の具体例を示す図である。印刷物１３において、背景が全体的にグレーがかって見えている領域１５があるが、これがドットパターンを埋め込んだ領域であり、実は小さなドットが小さな間隔で数多くほぼ全面に打たれているのである。
【００５１】
（埋め込み／検出処理の機能構成）
図５の埋め込み／検出処理の機能構成ブロック図を用いて、上記のドット埋め込み／検出処理に関わる機能構成を説明する。
【００５２】
１０１は画像入力部であり、埋め込みデータ１２が埋め込まれる画像データ１１を入力する。あるいはデータを検出すべき印刷物１３を画像入力する。例えばスキャナ３１３やその他ＰＣに接続された一般入力装置や通信回線などにより入力される。１０２は埋め込みデータ１２の入力部であり、埋め込みデータがキーボード３０７やマウス３０５のユーザ指示４２１などにより、入力される。
【００５３】
１０３は入力された画像データ１１を画像ブロックに分割処理する画像分割処理部であり、画像分割手段として機能する。１０４は入力された埋め込みデータ１２をデータブロックに分割処理する埋め込みデータ分割処理部であり、埋め込みデータ分割手段として機能する。
【００５４】
１０５は画像内データブロック配置処理部であり、分割された各画像ブロックに同じく分割された各データブロックを所定の規則に従い対応付ける処理を行う。画像内データブロック配置手段として機能する。
【００５５】
１０６は、各画像ブロックごとに所定のデータブロックのデータをドットパターンとして埋め込んでいくデータ埋め込み処理部であり、データ埋め込み手段として機能する。１０７は、各画像ブロックからドットパターンを検出することでデータブロックのデータを読み取り、埋め込みデータを復元するデータ検出処理部であり、データ検出手段として機能する。
【００５６】
１０３から１０６の各処理部は、それぞれドット埋め込み処理ソフト３０１ａの一部がＰＣ記憶装置４０１の処理演算部４０７において動作するものである。１０７のデータ検出処理部はドット検出処理ソフト３０１ｂが、同じくＰＣ記憶装置４０１の処理演算部４０７において動作するものである。
【００５７】
１０８は、埋め込み処理中の画像データの一時記憶など、処理に必要な情報記憶を行うメモリであり、記憶装置４０１により記憶される。１０９は出力部であり、埋め込み処理や検出処理の結果などを出力する。例えばプリンタ３１１やモニタ３０３などにより、データを埋め込んだ印刷物１３や復元された埋め込みデータ１４などが出力される。
【００５８】
１１０は制御部であり、上記の各処理部の処理全体を制御する。ＰＣ３０１におけるＣＰＵ／メモリ４０５がこの制御を実行する。
【００５９】
（データ埋め込み処理例１）
図６はデータ埋め込み処理例の各工程を示すフローチャートである。図６を用いて、データ埋め込み処理の一例の詳細な流れを説明する。また適時、図５も参照する。
【００６０】
データ埋め込み処理が開始されると、まず画像データと埋め込みデータが入力される。
【００６１】
ステップＳ１０１はデータ入力工程であり、埋め込みデータ入力部１０２が埋め込みデータを入力し、メモリ１０８に一時記憶する。同じくステップＳ１０２は画像入力工程であり、画像入力部１０１がデータを埋め込まれる文書画像などの画像データを入力し、同じくメモリ１０８に一時記憶する。
【００６２】
ステップＳ１０３は、埋め込みデータのデータ長に基づき、適切なブロック数に埋め込みデータを分割する。データ埋め込み処理例１では１画像ブロック当たり６バイト埋め込みの処理を設定する。例えば、埋め込みデータ長が６６バイトであれば１１のブロックに埋め込みデータを分割し、１データブロックを６バイト長にする。これで１画像ブロック毎に１データブロックを対応させ、埋め込むことができる。
【００６３】
ステップＳ１０４では、ステップＳ１０３で設定したブロックサイズ（この場合６バイト）に従ってデータを分割していく。
【００６４】
ステップＳ１０５では、ステップＳ１０４で分割した各データブロックにデータブロック番号（以後、単にブロック番号ともいう）を付与していく。このデータブロック番号は、そのデータブロックを特定するデータとして用いる。すなわち、そのデータブロックが、分割する前の埋め込みデータのどの部分に相当するかを特定するものであり、その目的を達成できるならば必ずしも番号である必要はない。
【００６５】
ここでは埋め込みデータの最初の６バイトを０ブロック目の番号０とし、最後の６バイトを１０ブロック目の番号１０とするように順番に番号を振り、ブロック番号とした。ブロック番号は１バイトで表現し、データブロックに付け加えた。すなわち、１データブロック当たりデータ６バイトに対し、ブロック番号１バイトが増えたことになる。
【００６６】
以上のステップＳ１０３、Ｓ１０４、Ｓ１０５が協働して埋め込みデータ分割工程として機能することになる。これらのステップは、埋め込みデータ分割処理部１０４によって実行される。
【００６７】
図８を用いて上述の埋め込みデータ分割工程を説明する。図８は６６バイトの埋め込みデータをバイト単位で並べ、１１ブロックに分割した様子を図示したものである。
【００６８】
図８において、２１の埋め込みデータ例は、１行が６バイトで１ブロックを示し、１１行分で１１ブロックである。２２のブロック番号は、埋め込みデータ１ブロック（１行）に対して１つずつ、０から１０までの番号を振ってある。
【００６９】
６６バイトの埋め込みデータの最初の１バイトは、８ビットの二進数データ１１０１００１１を２１１（左上）と表現している。その右が２バイト目で５である。さらに右へ行き、６バイト目が４で、ここまでが最初のブロック、すなわちブロック番号０のデータブロックとなる。ブロック番号０が１バイトデータとして付与される。つまりデータとしては８ビットの００００００００が付加される。
【００７０】
同様にして次の行の６バイト分データがブロック番号１のデータブロックとなる。以下同様で、最終的には最終行の９４に始まり、４５に終わる６バイト分のデータがブロック番号１０の最終ブロック、すなわち１１番目のデータブロックとなる。そしてブロック番号データとして１０、すなわち８ビットの００００１０１０が付加される。
【００７１】
このそれぞれの６バイトデータ（＋ブロック番号１バイト）が、埋め込みの単位となり、後述の画像ブロックにドットパターンとして埋め込まれる。
【００７２】
図６に戻り、次に画像分割工程について説明する。
【００７３】
ステップＳ１０６では、画像をブロックに分割するために、ブロックサイズを決定する。これは分割された埋め込みデータのデータブロックサイズと対応していなければならない。この場合、分割された埋め込みデータが各６バイトであり、さらにそれに付与されるデータ量も考慮して１画像ブロック当たり８バイトが埋め込みできるような設定とする。
【００７４】
後述するが、１ビット埋め込むのに１６画素×１６画素のドットパターンを使用するとすれば、８バイトでは１６画素×１６画素の６４倍、例えば１２８画素×１２８画素の画像ブロックサイズとなる。
【００７５】
ステップＳ１０７では、ステップＳ１０６で設定した画像ブロックサイズ（この場合、１２８画素×１２８画素）に従って、画像全体をブロック分割していく。
【００７６】
以上のステップＳ１０６、１０７が協働して画像分割工程として機能することになる。これらのステップは、画像分割処理部１０３によって実行される。
【００７７】
次のステップＳ１０８は、画像内データブロック配置工程である。画像内データブロック配置処理部１０５が以下の工程を実行する。
【００７８】
画像が分割された各画像ブロックごとに、分割されたデータブロックを対応づけていく。データブロックはこの場合１１ブロックであり、画像ブロック数の方が圧倒的に多い。これを利用して埋め込みに繰り返し冗長性を持たせる。しかも、あるデータブロックが繰り返し埋め込まれるのみならず、できる限り画像全体に渡って分散されるように埋め込まれることが望ましい。これにより画像の一部で埋め込みデータが検出できないという事態が生じても、画像の他の箇所で検出できる可能性を大きくすることができる。
【００７９】
上記の目的を達するために、各画像ブロックに対して、所定の規則に従って各データブロックを対応づけることができる。その配置の仕方は様々なバリエーションが考えられるが、図９を用いてその一例を説明する。
【００８０】
図９は、画像が画像ブロックに分割されており、その各画像ブロックに対して、埋め込むデータブロックのブロック番号を対応させた様子を図示したものである。
【００８１】
図９において、例えば画像領域３１は６×１０個の桝目からなり、画像ブロック例３２が示すように、１つの桝目が１画像ブロックを表している（但し、図９は例示であり、実際の画像では画像ブロック数は遙かに多くなる）。
【００８２】
各画像ブロックの桝目内の数値が、その画像ブロックに対応するデータブロックのブロック番号を示す。ここでの各画像ブロックに対するブロック番号の対応させ方を規定するのは、次のような規則である。
（１）左上の最初の画像ブロックに対しては、ブロック番号０を初期値として与える。
（２）画像ブロックを右に進むと、ブロック番号は１増える。但し、総ブロック数を超えないように、総ブロック数で割った余りをブロック番号とする。
（３）画像ブロックを下に進むと、ブロック番号は５増える。但し、総ブロック数を超えないように、総ブロック数で割った余りをブロック番号とする。
【００８３】
実際、図９で画像ブロックを右へ進むとブロック番号は１ずつ増えており、１０の次は０となっている。また、画像ブロックを下へたどるとブロック番号は５ずつ増えていき、例えば１０の次は４であり、１５を１１で割った余りになっている。
【００８４】
このように左右方向と上下方向、二次元的に相関を持つように、画像ブロックとブロック番号は対応づけられており、データが分割されバラバラに分散されているように見えながら、ブロック番号を基にして、一部が定まれば全体が定まるようになっている。しかも、同じブロック番号の同じデータブロックが全体に分散され、繰り返し埋め込まれるような配置となっている。
【００８５】
このことから、冗長による検出誤り防止と画像の一部欠損に対する耐性向上、ブロック番号の付与とその検出誤り対策によりデータが分割されていても一意的に復元可能、などの効果が生み出される。
【００８６】
またブロック番号を付与してこういった二次元的配置を行うことで、データ長が変更されても、その情報もこの配置から読み取ることができ、予めデータ長に関する情報を得ておく必要はない。データ長の任意可変性を有するという効果もある。
【００８７】
図６に戻り、次のステップＳ１０９は、データ埋め込み工程である。データ埋め込み処理部１０６がこの工程を実行する。
【００８８】
各画像ブロックごとに、ステップＳ１０８で対応付けられた各データブロックのデータをドットパターン化し、各画像ブロック内のどの位置に配置するかを定め、ドットパターンの配列という形で画像に付加し、埋め込み画像を作成する。これらの処理の詳細は後述する。
【００８９】
次いでステップＳ１１０では、埋め込み画像出力工程であり、出力部１０９が、ステップＳ１０９で作成された埋め込み画像を、例えばプリントして印刷物にするといった形で出力する。これでデータ埋め込み処理は終了する。
【００９０】
図７を用いて、上記ステップＳ１０９のデータ埋め込み工程の詳細な流れを説明する。図７は、画像ブロックごとでの対応データブロック埋め込みの各工程を示すフローチャートである。
【００９１】
ステップＳ２０１では、処理対象となる画像ブロックを設定する。後のステップＳ２０９での判定に応じて、処理対象となる画像ブロックは更新されていくのである。
【００９２】
ステップＳ２０２では、ステップＳ２０１で設定した画像ブロックに対して、対応するデータブロック番号をメモリ１０８から参照する。これにより、必要時にそのブロック番号のデータブロックを引き出してくることができる。
【００９３】
ステップＳ２０３では、データを構成する各ビットの信号を１ビット毎にドットパターン化する、そのドットパターンをメモリ１０８から参照しておく。参照して、各ビットをすぐにパターンに変換できるよう用意しておくのは、３つのドットパターンである。
【００９４】
図１０には、使用するドットパターンの実例を示す。何れも１６画素×１６画素のパターンであり、パターンの境界を示す各パターンに共通の黒のドットと、その信号（パターン）に特有の位置にある黒のドット、そして背景となる白（ドットのない部分）からなる。図１０（ａ）から（ｃ）は、パターンの境界をわかりやすくするため、１６画素×１６画素のパターンより少し大きめに図示している。
【００９５】
図１０（ａ）はビット０を表すドットパターンであり、ｂ０がこの信号に特有の位置にあるドットである。図１０（ｂ）はビット１を表すドットパターンであり、ｂ１がこの信号に特有の位置にあるドットである。ビット０とビット１の違いは、このｂ０とｂ１、どちらの位置にドットがあるかによるものである。
【００９６】
図１０（ｃ）は特殊データと呼称している。ｄ０、ｄ１がこの信号に特有の位置にあるドットである。特殊データは、ビット０やビット１といったデータを表すものではなく、画像ブロック内のある特定の位置に配置することにより、分割された画像ブロックの境界の位置を特定するためのものである。
【００９７】
画像ブロックとデータブロックは対応づけられており、データブロックを一つの単位として取り出すためには、各画像ブロック領域を特定する必要がある。後述するようにこの特殊データがその主たる手がかりであり、通常のデータと区別できるように異なったパターンを用いている。
【００９８】
以下のステップＳ２０４からステップＳ２０８にかけて、画像ブロック内にデータの埋め込み、すなわちドットパターンに変換して画像データに付加していく処理を行う。画像ブロック内にどのようにデータを配置していくかをまず説明する。
【００９９】
図１１は、１２８画素×１２８画素の画像ブロック内に１６画素×１６画素のドットパターンで表されるデータをどのように配置していくかを示した図である。
【０１００】
図１１においては、例えば画像ブロック例３２ａは８×８個の桝目からなり、ドットパターン例３３が示すように、１つの桝目が１つのドットパターンを表している。従って画像ブロック例３２ａは、左右方向に８パターン、上下方向に８パターンの、６４パターンからなる。
【０１０１】
画像ブロック内の６４パターンの配列を、上から順に見ると、最初の段は、特殊データ、未使用部分そしてフラグからなる。
【０１０２】
特殊データは、上述したように画像ブロックの境界を示すためのものである。左上の角に位置づけている。
【０１０３】
右上にはフラグを位置づけている。フラグはデータブロックの総数、つまり最終のデータブロック番号を知るためのものであり、最終のデータブロックの場合にはビット１を、それ以外の場合にはビット０を入れる。これにより最終のデータブロック番号をより確実に知ることができ、近接する画像ブロックでのデータブロック番号から、読み取りにくかった画像ブロックのデータブロック番号を、データブロック配置の二次元的相関を利用して検出することがやりやすくなる。
【０１０４】
画像ブロックの２段目の８パターンはブロック番号を表す。これは既に述べたようにこの画像ブロックに対応するデータブロックの元の埋め込みデータでの位置を特定するデータであり、この画像ブロック内に存在することに意味があり、埋め込みデータ本体のように画像全体に分散させることはできない。従ってブロック番号をより確実に検出するための手だては考えておく必要がある。
【０１０５】
後述するように、ブロック番号のみは誤り訂正符号を利用することも考えられるし、上記のように、近接する画像ブロックでのデータブロック番号から、読み取りにくかった画像ブロックのデータブロック番号を、データブロック配置の二次元的相関を利用して検出することも必要であろう。
【０１０６】
３段目以下、８段目までが、データブロックの本体部分６バイトが当てられる部分である。６段、すなわち４８パターン分に６バイト、すなわち４８ビットのデータが、図に示すような配置でドットパターンに変換して当てはめられることになる。
【０１０７】
図１２に、図８に示した埋め込みデータのブロック番号０、すなわち最初のデータブロックのデータを画像ブロック３２ａに対応させて配置し、当てはめた例を示す。
【０１０８】
左上に画像ブロックの境界を示す特殊データ、そして未使用である６個のビット０、右上にはフラグとして、最終ブロックではないのでビット０が入っている。２段目にはブロック番号が０であるので、すべてビット０が入る。３段目には１バイト目のデータ、すなわち２１１を示す１１０１００１１の各ビットが、そして各段同様にして、最下段には６バイト目、すなわち４を示す０００００１００の各ビットが、それぞれ対応するドットパターンに変換されて埋め込まれることになる。
【０１０９】
図１３には、同じく図８に示した埋め込みデータのブロック番号１０、すなわち最後のデータブロックのデータを画像ブロック３２ａに対応させて配置し、当てはめた例を示す。
【０１１０】
図１２のブロック番号０の場合とデータの内容は異なるが、その配置は同様である。右上のフラグについては、最終ブロックであるのでビット１が入る。２段目にはブロック番号が１０であるので、００００１０１０の各ビットが入る。３段目以降に最終ブロックの各データが入るのも同様である。
【０１１１】
図７に戻り、ステップＳ２０１で設定した処理対象の画像ブロックに対し、以下のステップＳ２０４からステップＳ２０８の工程で、対応するデータブロックの各ビットデータが順次埋め込まれる。画像ブロック内の配置は上述の通りである。ステップＳ２０２で参照したデータブロックの各ビットデータを、それぞれステップＳ２０３で参照したドットパターンに変換し、画像ブロック内の所定の位置に順次埋め込むという処理を行う。
【０１１２】
ステップＳ２０４では、上記特殊データをパターン化して埋め込む。
【０１１３】
ステップＳ２０５では、未使用ビットをパターン化して埋め込む。
【０１１４】
ステップＳ２０６では、フラグデータをパターン化して埋め込む。
【０１１５】
ステップＳ２０７では、ブロック番号データをパターン化して埋め込む。
【０１１６】
ステップＳ２０８では、データブロック本体の埋め込みデータ６バイト分をパターン化して埋め込む。
【０１１７】
以上で設定した画像ブロックに対するドットパターン埋め込みは終了する。
【０１１８】
次にステップＳ２０９では、画像分割された全画像ブロックに対してステップＳ２０１からステップＳ２０８のドットパターン埋め込み処理を終了したかどうかを判定する。
【０１１９】
まだ未処理の画像ブロックが残っている場合（ステップＳ２０９：ＮＯ）は、ステップＳ２０１へ戻り、処理対象の画像ブロックを更新し、新たな画像ブロックの設定でステップＳ２０２以下を実行する。これらの操作は、ステップＳ２０９で全画像ブロックの処理を終えたと判定されるまで繰り返される。
【０１２０】
全画像ブロックに対して処理を終了した場合（ステップＳ２０９：ＹＥＳ）は、画像ブロックごとのデータ埋め込み処理は終了であり、データ埋め込み画像の作成を終えたことになる。図６のステップＳ１０９が終了したことになるので、図６の次のステップＳ１１０、すなわちデータ埋め込み画像を出力する工程へ進めばよい。
【０１２１】
（データ埋め込み処理例２）
データ埋め込み処理の別の例を、同じく図６を用いて説明する。図６はデータ埋め込み処理例の各工程を示すフローチャートであり、この処理の流れはデータ埋め込み処理例１（以下、処理例１と称する）と同様である。詳細な流れの違いを以下に説明する。
【０１２２】
データ埋め込み処理が開始されると、まず画像データと埋め込みデータが入力されるのは処理例１と同様であり、ステップＳ１０１とステップＳ１０２の説明は省略する。
【０１２３】
ステップＳ１０３は、埋め込みデータのデータ長に基づき、適切なブロック数に埋め込みデータを分割する。データ埋め込み処理例２では１画像ブロック当たり２８バイト埋め込みの処理を設定する。例えば、埋め込みデータ長が３０８バイトであれば１１のブロックに埋め込みデータを分割し、１データブロックを２８バイト長にする。これで１画像ブロック毎に１データブロックを対応させ、埋め込むことができる。
【０１２４】
ステップＳ１０４では、ステップＳ１０３で設定したデータブロックサイズ（この場合２８バイト）に従ってデータを分割していく。
【０１２５】
ステップＳ１０５では、ステップＳ１０４で分割した各データブロックにデータブロック番号を付与していくのは処理例１と同様である。ここでは埋め込みデータの最初の２８バイトを０ブロック目の番号０とし、最後の２８バイトを１０ブロック目の番号１０とするように順番に番号を振り、ブロック番号とした。
【０１２６】
この処理例が処理例１と異なる点として、ブロック番号の検出力を向上するため、画像ブロックのサイズを大きく取っていることを利用して、１画像ブロック内の二箇所に、異なる配置で繰り返しブロック番号を埋め込む処理を行っている。
【０１２７】
また併せて、ブロック番号を上位４ビットと下位４ビットに分割し、それぞれ誤り訂正符号により符号化する処理を行っている。４ビットに分割したのは、４ビットを７ビット化するタイプの誤り訂正符号により符号化するためである。それにより上位４ビットと下位４ビットはそれぞれ７ビットになり、各々二回ずつ埋め込まれるため、合計２８ビットがブロック番号データとして２８バイトのデータブロック本体に付け加わることになる。具体的な画像ブロック内での配置は後述する。
【０１２８】
誤り訂正符号による符号化の方式は、公知の様々な方法が知られている。それらの任意の方式を用いることが可能であるが、この処理例では図１４に示すような巡回ハミング方式の誤り訂正符号化を採っている。
【０１２９】
図１４においては、１６通りの４ビット情報に対して、それぞれが符号化され、７ビットの誤り訂正可能な符号化データが得られる対応関係を示している。例えば、４ビットの００００を誤り訂正符号化すると７ビットの０００００００となる。４ビットの００１１であれば７ビットの００１１１０１となる。
【０１３０】
符号化の詳細は省略するが、総ビット数が増えているものの、ビット０とビット１の並び方に特定の規則が生ずるように配置されるため、ビットの欠損や読み誤りがあっても、その規則を利用して復元することが可能になる。
【０１３１】
処理例１でも説明したように、データブロック番号は、その画像ブロックに埋め込まれたデータブロックを特定するためのデータであり、その画像ブロック内で読みとれなければ意味がないため、特に読み取り誤りの少ないように対策しなければならない。後述の二次元的な画像内データブロック配置の規則を用いた復元を用いればよいが、さらに補強するため、こういった画像ブロック内での繰り返し埋め込みや誤り訂正符号化を用いてもよい。
【０１３２】
以上のステップＳ１０３、１０４、１０５が協働して埋め込みデータ分割工程として機能することになるのは処理例１と同様である。これらのステップは、埋め込みデータ分割処理部１０４によって実行される。
【０１３３】
ステップＳ１０６では、画像をブロックに分割するために、ブロックサイズを決定する。これも処理例１と同様であるが、異なる点として、分割された埋め込みデータが各２８バイトであり、さらにそれに付与されるブロック番号などのデータ量も考慮して１画像ブロック当たり３２バイトが埋め込みできるような設定としている。
【０１３４】
１ビット埋め込むのに１６画素×１６画素のドットパターンを使用するのは同じなので、３２バイトでは１６画素×１６画素の２５６倍、例えば２５６画素×２５６画素の画像ブロックサイズとなる。
【０１３５】
ステップＳ１０７では、ステップＳ１０６で設定した画像ブロックサイズ（この場合、２５６画素×２５６画素）に従って、画像全体をブロック分割していく。
【０１３６】
以上のステップＳ１０６、１０７が協働して画像分割工程として機能することになるのも処理例１と同様である。これらのステップは、画像分割処理部１０３によって実行される。
【０１３７】
次のステップＳ１０８は、画像内データブロック配置工程である。画像内データブロック配置処理部１０５が以下の工程を実行する。
【０１３８】
この工程も処理例１と同様であるが、再度、以下にその目的と概略を述べる。
【０１３９】
画像が分割された各画像ブロックごとに、分割されたデータブロックを対応づけていく。これを利用して埋め込みに繰り返し冗長性を持たせる。しかも、あるデータブロックが繰り返し埋め込まれるのみならず、できる限り画像全体に渡って分散されるように埋め込まれることが望ましい。これにより画像の一部で埋め込みデータが検出できないという事態が生じても、画像の他の箇所で検出できる可能性を大きくすることができる。
【０１４０】
上記の目的を達するために、各画像ブロックに対して、所定の規則に従って各データブロックを対応づけることができる。その配置の仕方は様々なバリエーションが考えられる。
【０１４１】
処理例１で図９を用いてその一例を説明したが、同じ説明を適用することができる。すなわち、図９に対してブロック番号の対応させ方を規定するのは、次のような規則である。
（１）左上の最初の画像ブロックに対しては、ブロック番号０を初期値として与える。
（２）画像ブロックを右に進むと、ブロック番号は１増える。但し、総ブロック数を超えないように、総ブロック数で割った余りをブロック番号とする。
（３）画像ブロックを下に進むと、ブロック番号は５増える。但し、総ブロック数を超えないように、総ブロック数で割った余りをブロック番号とする。
【０１４２】
このように左右方向と上下方向、二次元的に相関を持つように画像ブロックとブロック番号は対応づけられており、データが分割されバラバラに分散されているように見えながら、ブロック番号を基にして、一部が定まれば全体が定まるようになっている。しかも、同じブロック番号の同じデータブロックが全体に分散され、繰り返し埋め込まれるような配置となっている。
【０１４３】
このことから、冗長による検出誤り防止と画像の一部欠損に対する耐性向上、ブロック番号の付与とその検出誤り対策によりデータが分割されていても一意的に復元可能、などの効果が生み出される。
【０１４４】
またブロック番号を付与してこういった二次元的配置を行うことで、データ長が変更されても、その情報もこの配置から読み取ることができ、予めデータ長に関する情報を得ておく必要はない。データ長の任意可変性を有するという効果もある。
【０１４５】
次のステップＳ１０９は、データ埋め込み工程である。データ埋め込み処理部１０６が以下の工程を実行する。
【０１４６】
各画像ブロックごとに、ステップＳ１０８で対応付けられた各データブロックのデータをドットパターン化し、各画像ブロック内のどの位置に配置するかを定め、ドットパターンの配列という形で画像に付加し、埋め込み画像を作成するのは、処理例１と同様であるが、その詳細については異なる。この工程の詳細は後述する。
【０１４７】
次いでステップＳ１１０では、埋め込み画像出力工程であり、出力部１０９が、ステップＳ１０９で作成された埋め込み画像を、例えばプリントして印刷物にするといった形で出力するのは、処理例１と同様である。これでデータ埋め込み処理は終了する。
【０１４８】
図７を用いて、上記ステップＳ１０９のデータ埋め込み工程の詳細な流れを説明する。図７は、画像ブロックごとの対応データブロック埋め込みの各工程を示すフローチャートである。
【０１４９】
ステップＳ２０１からステップＳ２０３については、処理例１と同様であり、説明を省略する。
【０１５０】
図１０を用いて説明した、使用するドットパターンの実例（ビット０を表すドットパターン、ビット１を表すドットパターン、特殊データと呼称するドットパターン）についても同様である。
【０１５１】
引き続くステップＳ２０４からステップＳ２０７にかけて、画像ブロック内にデータの埋め込み、すなわちドットパターンに変換して画像データに付加していく処理を行う。画像ブロック内にどのようにデータを配置していくかについては、処理例１とは異なるので、以下に具体的に説明する。
【０１５２】
図１５は、２５６画素×２５６画素の画像ブロック内に１６画素×１６画素のドットパターンで表されるデータをどのように配置していくかを示した図である。
【０１５３】
図１５においては、例えば画像ブロック例３２ｂは１６×１６個の桝目からなり、ドットパターン例３３が示すように、１つの桝目が１つのドットパターンを表している。従って画像ブロック例３２ｂは、左右方向に１６パターン、上下方向に１６パターンの、２５６パターンからなる。
【０１５４】
配置されているデータは、処理例１と同様に、特殊データ、フラグ、ブロック番号データ、データブロックの本体データである。ただし、本体データは２８バイトであり、ブロック番号データは、誤り訂正符号化と繰り返し埋め込みを含めて２８ビットである。
【０１５５】
特殊データは、画像ブロックの境界を示すためのものであり、処理例１と同様に左上の角に位置づけている。フラグはデータブロックの総数、つまり最終のデータブロック番号を知るためのものであり、右上の角に位置づけているのも同様である。
【０１５６】
フラグには、最終のデータブロックの場合にはビット１を、それ以外の場合にはビット０を入れる。これにより最終のデータブロック番号をより確実に知ることができ、近接する画像ブロックでのブロック番号から、読み取りにくかった画像ブロックのブロック番号を、データブロック配置の二次元的相関を利用して検出することがやりやすくなる。
【０１５７】
特殊データとフラグの間の１４パターン分には本体データの２７バイト目と２８バイト目を入れている。２８バイト目が２ビット足りない分は２段目の右端の余った２ビット分に入れている。
【０１５８】
画像ブロックの２段目の内１４パターンにはブロック番号を入れている。これは既に述べたようにこの画像ブロックに対応するデータブロックの元の埋め込みデータでの位置を特定するデータであり、この画像ブロック内に存在することに意味があり、データのように画像全体に分散させることはできない。従ってブロック番号を誤りなく検出するために、ここでは誤り訂正符号化を行ったうえ、９段目にも繰り返し同じデータを入れている。
【０１５９】
誤り訂正符号の利用については、前述したように巡回ハミング方式を用いて、上位４ビット、下位４ビットをそれぞれ７ビットに符号化し、計１４ビットを２段目に入れている。もちろん、誤り訂正符号化の有無にかかわらず、近接する画像ブロックでのブロック番号から、読み取りにくかった画像ブロックのブロック番号を、データブロック配置の二次元的相関を利用して検出することも併せて行えばよい。
【０１６０】
３段目以下、８段目までは、データブロックの本体部分１２バイトが当てられる部分である。各段にそれぞれ２バイト分で６段、すなわち９６パターン分に１バイト目から１２バイト目、すなわち９６ビットのデータがドットパターンに変換して当てはめられることになる。
【０１６１】
９段目には、再びブロック番号データを入れている。つまり、２段目と同じデータを繰り返し入れているのである。但し、上位ビットデータと下位ビットデータの順序は入れ替えている。また余った２ビット分は未使用としてビット０を入れている。
【０１６２】
１０段目から最後の１６段目までは、再びデータブロックの本体部分１４バイト分が当てられる。同様にして、各段にそれぞれ２バイト分で７段、すなわち１１２パターン分に１３バイト目から２６バイト目、すなわち１１２ビットのデータがドットパターンに変換して当てはめられることになる。
【０１６３】
図７に戻ると、ステップＳ２０１で設定した処理対象の画像ブロックに対し、以下のステップＳ２０４からステップＳ２０８の工程で、対応するデータブロックの各ビットデータが順次埋め込まれる。但し、画像ブロック内の配置は上述の通りであり、処理例１とは異なっている。
【０１６４】
ステップＳ２０４では、上記特殊データをパターン化して埋め込む。
【０１６５】
ステップＳ２０５では、未使用ビットをパターン化して埋め込む。
【０１６６】
ステップＳ２０６では、フラグデータをパターン化して埋め込む。
【０１６７】
ステップＳ２０７では、ブロック番号データをパターン化して埋め込む。但し、ブロック番号は誤り訂正符号化されており、異なる配置で複数回埋め込まれる。
【０１６８】
ステップＳ２０８では、データブロック本体の埋め込みデータ２８バイト分をパターン化して埋め込む。
【０１６９】
以上で設定した画像ブロックに対するドットパターン埋め込みは終了する。
【０１７０】
次にステップＳ２０９では、画像分割された全画像ブロックに対してステップＳ２０１からステップＳ２０８のドットパターン埋め込み処理を終了したかどうかを判定する。
【０１７１】
まだ未処理の画像ブロックが残っている場合（ステップＳ２０９：ＮＯ）は、ステップＳ２０１へ戻り、処理対象の画像ブロックを更新し、新たな画像ブロックの設定でステップＳ２０２以下を実行する。これらの操作は、ステップＳ２０９で全画像ブロックの処理を終えたと判定されるまで繰り返される。これらは処理例１と同様である。
【０１７２】
全画像ブロックに対して処理を終了した場合（ステップＳ２０９：ＹＥＳ）は、画像ブロックごとのデータ埋め込み処理は終了であり、データ埋め込み画像の作成を終えたことになる。図６のステップＳ１０９が終了したことになるので、図６の次のステップＳ１１０、すなわちデータ埋め込み画像を出力する工程へ進めばよい。
【０１７３】
（データ検出処理例）
図１６、図１７を用いて、埋め込みデータ検出処理の一例を説明する。図１６は、データ検出処理例の各工程を示すフローチャートである。図１７は、図１６のステップＳ３０３の工程の詳細な流れを示すフローチャートである。これらの処理の流れはデータ埋め込み処理例１および処理例２に共通して適用できる。
【０１７４】
データ検出処理が開始されると、まずデータ埋め込み画像の画像データが入力される。
【０１７５】
ステップＳ３０１は、データ埋め込み画像入力工程であり、画像入力部１０１がデータを埋め込まれた文書画像などの画像データを入力し、メモリ１０８に一時記憶する。
【０１７６】
ステップＳ３０２は、各画像ブロックの領域を特定する工程であり、ドットパターンを読み取りながら、そこに含まれている特殊データをパターンマッチングを行うことで検索し、特殊データの位置を元にして、画像ブロックの境界を特定していく。
【０１７７】
ステップＳ３０３は、画像ブロックごとのデータ検出工程であり、ステップＳ３０２で特定した画像ブロックごとに、読み取ったドットパターンをデータ化していき、各画像ブロックのデータ検出を行う。データ検出の詳細は後述する。
【０１７８】
ステップＳ３０４は、データブロックを特定する工程であり、各画像ブロックのブロック番号を検出し、それに基づき検出データのデータブロックとしての位置づけを決定する。ここでブロック番号の検出に伴い、画像内データブロック配置の二次元的な相関関係を用いて、読み取りの誤りなどを補正する。また誤り訂正符号化を行っている場合はその復元処理も行う。
【０１７９】
ステップＳ３０５は、埋め込みデータを復元する工程であり、ステップＳ３０４で各画像ブロックから検出したデータを総合して、埋め込みデータを復元する。
【０１８０】
データ検出処理部１０７が、ステップＳ３０２からステップＳ３０５の工程を実行する。
【０１８１】
ステップＳ３０６は、埋め込みデータ出力工程であり、出力部１０９が、ステップＳ３０５で得られた埋め込みデータを、例えばモニタに表示するとか、あるいはメモリに記憶して用途に応じた参照が可能な状態にする。これでデータ検出処理は終了する。
【０１８２】
図１７を用いて、上記ステップＳ３０３のデータ検出工程の詳細な流れを説明する。図１７は、画像ブロックごとの対応データブロック検出の各工程を示すフローチャートである。
【０１８３】
ステップＳ４０１では、処理対象となる画像ブロックを設定する。後のステップＳ４０９での判定に応じて、処理対象となる画像ブロックは更新されていくのである。
【０１８４】
ステップＳ４０２では、ドットパターンを読み取り、特殊データを検知する。このデータは、既に画像ブロックの境界を特定するのに使用している。
【０１８５】
ステップＳ４０３では、ドットパターンを読み取り、未使用データを検知する。これも使用しないが、データの配置を確立する意味がある。
【０１８６】
ステップＳ４０４では、ドットパターンを読み取り、フラグを検知する。フラグがビット１であるとそのデータブロックが最終ブロックであり、ブロック番号からデータブロックの総数を知ることができる。これはデータブロック配置の二次元的相関を利用して隣接する画像ブロックのデータブロック番号からブロック番号を特定するのに役に立つ。
【０１８７】
ステップＳ４０５では、ドットパターンを読み取り、データブロック番号を検出する。検出誤りの補強処理や誤り訂正符号の処理は、後のステップＳ３０４（図１６）で行う。
【０１８８】
ステップＳ４０６では、ドットパターンを読み取り、データブロックの本体データを検出する。これも他の画像ブロックでのデータも参照して誤りなどを補正する処理は、後のステップＳ３０５（図１６）で行う。
【０１８９】
以上、設定した画像ブロックでのデータ検出を終えると、ステップＳ４０７でブロック番号を元に、データブロックとしての元の埋め込みデータでの位置づけを設定する。
【０１９０】
さらにステップＳ４０８で対応するデータブロックとしての仮の復元データとして、メモリに記憶しておく。後のステップＳ３０５（図１６）で検出データを総合して埋め込みデータを復元するためである。
【０１９１】
次にステップＳ４０９では、全画像ブロックに対してステップＳ４０１からステップＳ４０８の検出処理を終了したかどうかを判定する。
【０１９２】
まだ未処理の画像ブロックが残っている場合（ステップＳ４０９：ＮＯ）は、ステップＳ４０１へ戻り、処理対象の画像ブロックを更新し、新たな画像ブロックの設定でステップＳ４０２以下を実行する。これらの操作は、ステップＳ４０９で全画像ブロックの処理を終えたと判定されるまで繰り返される。
【０１９３】
全画像ブロックに対して処理を終了した場合（ステップＳ４０９：ＹＥＳ）は、画像ブロックごとでのデータ検出処理は終了したことになる。図１６のステップＳ３０３が終了したことになるので、図１６の次のステップＳ３０４以下、すなわちデータブロックの配置を元に各画像ブロックでの検出データを総合して埋め込みデータを復元し、出力する工程へ進めばよい。
【０１９４】
なお、画像全体に分散して埋め込まれたデータブロックの本体データをステップＳ４０６にて複数回検出するが、その検出データの各ビットがビット０もしくはビット１と検出された回数をカウントしておき、ステップＳ３０５で、多数決により統計的に埋め込みデータを復元することができる。
【０１９５】
（実施形態例２）
図１８を用いて、ＭＦＰ（多機能型プリンタ）を用いた画像処理装置を例にして、本発明の第２の実施の形態例を説明する。図１８は、第２の実施の形態例における画像処理装置の構成を示すブロック図である。
【０１９６】
図を参照して画像処理装置は、ＭＦＰ本体５０１と、ユーザの入力操作および表示装置として動作する操作パネル部５０３と、画像などを出力するプリンタ部５１１と、原稿から画像を読取るスキャナ部５１３とから構成される。
【０１９７】
ＭＦＰ本体５０１内の画像処理Ｈ／Ｗ（ハードウェア）５０２には、実施形態例１におけるドット埋め込み処理ソフト３０１ａと、ドット検出処理ソフト３０１ｂのいずれかあるいは両方に相当する処理が、回路的に実行可能なようにハードウェア化されており、これらのハード化された画像処理回路に従い埋め込みあるいは検出の処理が実行される。すなわち、画像処理Ｈ／Ｗ（ハードウェア）５０２の機能は、実施形態例１におけるＰＣ３０１の入出力インタフェイス４０３、ＣＰＵ／メモリ４０５、そして記憶装置４０１の機能に相当する。従って、これらの画像処理Ｈ／Ｗ（ハードウェア）５０２に従って、スキャナ５１３からの埋め込み／検出処理に必要な画像入力や、プリンタ５１１への埋め込み画像の出力なども行われる。
【０１９８】
図３の埋め込み／検出処理の概略フロー、そして図５の埋め込み／検出処理の機能構成ブロック図も、実施形態例１と同様に適用することができる。これらの図を用いて、実施形態例２の場合の埋め込み処理に関わる機能構成を説明する。
【０１９９】
画像入力部１０１は、埋め込みデータ１２を埋め込まれる画像データ１１を入力する。あるいはデータを検出すべき印刷物１３を画像入力する。例えばスキャナ部５１３やその他ＭＦＰに接続された一般入力装置や通信回線などにより入力される。埋め込みデータ入力部１０２は、埋め込みデータ１２が操作パネル部５０３のユーザ指示や他の入力機器などにより入力される。出力部１０９は、埋め込み処理や検出処理の結果などを出力する。例えばプリンタ５１１によりデータを埋め込んだ印刷物１３などが出力される。
【０２００】
画像分割手段として機能する画像分割処理部１０３、埋め込みデータ分割手段として機能する埋め込みデータ分割処理部１０４、画像内データブロック配置手段として機能する画像内データブロック配置処理部１０５、データ埋め込み手段として機能するデータ埋め込み処理部１０６、データ検出手段として機能するデータ検出処理部１０７、処理に必要な情報記憶を行うメモリ１０８、そして上記の各処理部の処理全体を制御する制御部１１０の各処理部は、それぞれ画像処理Ｈ／Ｗ（ハードウェア）５０２においてその実行処理がハードウェアとして回路化され、実行されるようになっている。
【０２０１】
データ埋め込みと検出の処理の詳細については、実施形態例１で述べた埋め込み／検出の処理例がそのまま適用できるので、ここでは繰り返して説明しない。
【０２０２】
（実施形態における効果と実施形態の変更）
上記のような実施形態により、画像をブロックに分割し、それぞれの画像ブロックに、やはり埋め込みデータを分割したデータブロックを、所定の規則に従って対応付け、画像全体に渡ってデータを分散させて埋め込み処理を行うことができる。これにより、画像の一部欠損にも強いデータ検出が可能で、なおかつデータの冗長性を保持できるので、誤り訂正符号などの必要性がなく、データ検出を確実にするためのデータ量抑制が少なく、必要なデータ量を埋め込み、検出することが可能になる。
【０２０３】
また、所定の規則に従って分割したデータを対応づけているため、埋め込みデータ量を可変設定しても、埋め込まれた情報からデータ量を検出でき、埋め込みデータ全体の復元が容易な、データ量可変対応の埋め込み、検出が可能になる。
【０２０４】
その他にも様々な実施形態の変更が可能である。例えば、画像ブロックとデータブロックの対応規則として任意の方式を採ることができる。二次元的な相関を持たせるような方法だけでも、上述の例以外にも様々に考えられるが、周辺の画像ブロックから当該画像ブロックのデータブロックを特定できるという効果は、同様に得ることができる。
【０２０５】
また、複数の画像ブロックに同じデータブロックが繰り返して配置されるという冗長性を利用して、同じデータブロックが画像全体に渡って分散されるような様々な対応関係を考案して、同様の効果を得ることができる。
【０２０６】
またデータブロックを特定するデータの確実性を補強するために、フラグデータを埋め込んだり、画像ブロックの境界を特定するために、特殊データを埋め込んだり、といった例も同様の効果を有する他の方法に変更することが可能である。
【０２０７】
さらに誤り訂正符号の使用についても、埋め込み、検出の意図に応じて様々な変更が可能である。データブロックを特定するデータのように、その画像ブロックにしか埋め込めない重要なデータについては、誤り訂正符号を使用するとか、画像全体に渡って繰り返し埋め込んだ冗長性のあるデータについては使用しないとか、任意に設定することができる。またデータブロックを特定するデータのように、上記実施例のようなより強力な復元法があれば、誤り訂正符号化を誤り検出に用いるだけで、それによる訂正を行わないことも考えられる。
【０２０８】
なお、上述の実施形態例ではプリンタとスキャナの両方が接続された装置を画像処理装置の具体例としてあげたが、プリンタとスキャナとは別体でもよい。この場合、プリンタを備えた画像処理装置によってデータ埋め込み処理の行われた画像のプリントが行なわれ、それにより得られた印刷物を、スキャナを備えた画像処理装置によって読取り、埋め込みデータの検出処理を行なうこととなる。
【０２０９】
また、上記実施形態例では埋め込み、検出処理における画像ブロックのサイズ、データ長とデータブロックのサイズ、使用するドットパターンとそのサイズ、埋め込むデータの画像ブロック内の配置、画像ブロックとデータブロックの対応関係などは、すべて例示であり、任意に変更可能である。
【０２１０】
なお、上述の実施の形態例として、パーソナルコンピュータを用いた画像処理装置、ＭＦＰを用いた画像処理装置を例に挙げたが、装置の形態も任意に変更可能である。また、上記の処理を実行するプログラムとして任意の記録媒体に記録して、当該プログラムの実行可能な様々な装置で使用することもできる。
【０２１１】
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０２１２】
【図１】第１の実施形態例における画像処理装置の構成を示すブロック図である。
【図２】図１におけるパーソナルコンピュータ３０１の内部構成を示すブロック図である。
【図３】本実施形態例における埋め込み／検出処理の概略フローを示すフローチャートである。
【図４】埋め込み処理によりドットが埋め込まれた印刷物の具体例を示す図である。
【図５】本実施形態例における埋め込み／検出処理の機能構成を示すブロック図である。
【図６】データ埋め込み処理例の各工程を示すフローチャートである。
【図７】図６におけるデータ埋め込み工程Ｓ１０９内の各工程を示すフローチャートである。
【図８】データ埋め込み処理例１における埋め込みデータとその分割の具体例を示す図である。
【図９】分割された画像ブロックと分割されたデータブロックの対応関係の一例を示す図である。
【図１０】ドット埋め込みに使用するドットパターンの具体例を示す図である。
【図１１】データ埋め込み処理例１における画像ブロック内のデータ配置を示すブロック内データ配置規則図である。
【図１２】図１１の配置規則に従い、図８の０ブロック目データを画像ブロックに配置した具体例を示すデータ配置図である。
【図１３】図１１の配置規則に従い、図８の１０ブロック目データを画像ブロックに配置した具体例を示すデータ配置図である。
【図１４】データ埋め込み処理例２で用いた巡回ハミング方式の誤り訂正符号の説明図である。
【図１５】データ埋め込み処理例２における画像ブロック内のデータ配置を示すブロック内データ配置規則図である。
【図１６】データ検出処理例の各工程を示すフローチャートである。
【図１７】図１６におけるデータ検出工程Ｓ３０３内の各工程を示すフローチャートである。
【図１８】第２の実施形態例における画像処理装置の構成を示すブロック図である。
【符号の説明】
【０２１３】
１１  画像データ
１２  埋め込みデータ
１３  印刷物
１４  （復元された）埋め込みデータ
１５  ドットパターンを埋め込んだ画像領域
２１  埋め込みデータ例
２２  ブロック番号
３１  画像領域
３２、３２ａ、３２ｂ  画像ブロック例
３３  ドットパターン例
１０１  画像入力部
１０２  埋め込みデータ入力部
１０３  画像分割処理部
１０４  埋め込みデータ分割処理部
１０５  画像内データブロック配置処理部
１０６  データ埋め込み処理部
１０７  データ検出処理部
１０８  メモリ
１０９  出力部
１１０  制御部
３０１  パーソナルコンピュータ（ＰＣ）
３０３  モニタ
３０５  マウス
３０７  キーボード
３０９  外部記憶装置
３１１  プリンタ
３１３  スキャナ
４０１  記憶装置
４０３  入出力インタフェイス
４０５  ＣＰＵ／メモリ
４０７  処理演算部
４０９  ＯＳ
４２１  ユーザ指示
４２３  画像データ表示
４２５  プリント画像
４２７  スキャン画像
５０１  ＭＦＰ本体
５０２  画像処理Ｈ／Ｗ
５０３  操作パネル部
５１１  プリンタ部
５１３  スキャナ部
【図１】
2007049440.tif 000003
【図２】
2007049440.tif 000004
【図３】
2007049440.tif 000005
【図４】
2007049440.tif 000006
【図５】
2007049440.tif 000007
【図６】
2007049440.tif 000008
【図７】
2007049440.tif 000009
【図８】
2007049440.tif 000010
【図９】
2007049440.tif 000011
【図１０】
2007049440.tif 000012
【図１１】
2007049440.tif 000013
【図１２】
2007049440.tif 000014
【図１３】
2007049440.tif 000015
【図１４】
2007049440.tif 000016
【図１５】
2007049440.tif 000017
【図１６】
2007049440.tif 000018
【図１７】
2007049440.tif 000019
【図１８】
2007049440.tif 000020