(57)【要約】【課題】透かし入り印刷文書に対する透かし読み取り位置のずれを検出する透かし位置ずれ検出装置を提供する。【解決手段】透かし入り印刷文書１１０を読み取った入力画像から、複数の透かし信号が配置された第１透かし信号行列を検出して各透かし信号の位置を特定し、第１透かし信号行列によって表される２以上の情報を検出する透かし検出部１０２と、上記２以上の情報を用いて生成される情報から、第２透かし信号行列を復元する透かし信号行列復元部１０４と、第１透かし信号行列と第２透かし信号行列とを比較し、第２透かし行列の各透かし信号位置に対する、透かし検出部１０２において特定された第１透かし信号行列の各透かし信号位置のずれを算出する透かし位置ずれ算出部１０６と、を備える、透かし位置ずれ検出装置が提供される。【選択図】図１
2008288726.tif 000002
【特許請求の範囲】
【請求項１】
所定の情報を表す透かしが埋め込まれた透かし入り印刷文書から情報を抽出する情報抽出装置であって、
透かし入り印刷文書を読み取った入力画像から、複数の透かし信号が配置された第１透かし信号行列を検出して前記各透かし信号の位置を特定し、前記第１透かし信号行列によって表される２以上の情報を検出する透かし検出部と、
前記２以上の情報を用いて生成される情報から、第２透かし信号行列を復元する透かし信号行列復元部と、
前記第１透かし信号行列と前記第２透かし信号行列とを比較し、前記第２透かし行列の各透かし信号位置に対する、前記透かし検出部によって特定された前記第１透かし信号行列の各透かし信号位置のずれを算出する透かし位置ずれ算出部と、
前記透かし位置ずれ算出部によって算出された前記各透かし信号位置のずれに基づいて、前記第１透かし信号行列の透かし信号の位置を補正する透かし信号位置補正部と、
前記補正された第１透かし信号行列から情報を抽出する情報抽出部と、
を備えることを特徴とする、情報抽出装置。
【請求項２】
所定の情報を表す透かしが埋め込まれた透かし入り印刷文書に対する透かし読み取り位置のずれを検出する透かし位置ずれ検出装置であって、
透かし入り印刷文書を読み取った入力画像から、複数の透かし信号が配置された第１透かし信号行列を検出して前記各透かし信号の位置を特定し、前記第１透かし信号行列によって表される２以上の情報を検出する透かし検出部と、
前記２以上の情報を用いて生成される情報から、第２透かし信号行列を復元する透かし信号行列復元部と、
前記第１透かし信号行列と前記第２透かし信号行列とを比較し、前記第２透かし行列の各透かし信号位置に対する、前記透かし検出部によって特定された前記第１透かし信号行列の各透かし信号位置のずれを算出する透かし位置ずれ算出部と、
を備えることを特徴とする、透かし位置ずれ検出装置。
【請求項３】
前記透かし位置ずれ算出部は、
前記第２透かし信号行列を複数の領域に分割し、前記各領域の透かし信号のパターンに該当する位置を前記第１透かし信号行列から検出し、検出された位置と前記第２透かし信号行列における当該領域の位置との相対値により前記各透かし信号位置のずれを算出することを特徴とする、請求項２に記載の透かし位置ずれ検出装置。
【請求項４】
前記透かし信号行列復元部は、前記第１透かし行列が生成された方法と同じ方法で前記第２透かし行列を復元することを特徴とする、請求項２または３のいずれかに記載の透かし位置ずれ検出装置。
【請求項５】
前記透かし検出部によって検出される前記２以上の情報は、２以上の同一の情報であることを特徴とする、請求項２〜４のいずれかに記載の透かし位置ずれ検出装置。
【請求項６】
前記透かし検出部によって検出される前記２以上の情報は、第１の情報と、前記第１の情報の誤りを検出するための第２の情報とを含むことを特徴とする、請求項２〜５のいずれかに記載の透かし位置ずれ検出装置。
【請求項７】
前記透かし検出部によって検出される前記２以上の情報は、第１の情報と、前記第１の情報の誤りを検出して訂正するための第２の情報とを含むことを特徴とする、請求項２〜５のいずれかに記載の透かし位置ずれ検出装置。
【請求項８】
前記第２の情報を用いて前記第１の情報の誤り検出を行う誤り検出部をさらに含むことを特徴とする、請求項６または７のいずれかに記載の透かし位置ずれ検出装置。
【請求項９】
前記誤り検出部によって検出される誤りの数に基づいて、前記透かし信号行列復元部は、前記第２透かし信号行列の復元を行うか否かを決定することを特徴とする、請求項８に記載の透かし位置ずれ検出装置。
【請求項１０】
所定の情報を表す透かしが埋め込まれた透かし入り印刷文書に対する透かし読み取り位置のずれを検出する透かし位置ずれ検出方法であって、
透かし入り印刷文書を読み取った入力画像から、複数の透かし信号が配置された第１透かし信号行列を検出して前記各透かし信号の位置を特定し、前記第１透かし信号行列によって表される２以上の情報を検出する透かし検出ステップと、
前記２以上の情報を用いて生成される情報から、第２透かし信号行列を復元する透かし信号行列復元ステップと、
前記第１透かし信号行列と前記第２透かし信号行列とを比較し、前記第２透かし行列の各透かし信号位置に対する、前記透かし検出ステップにおいて特定された前記第１透かし信号行列の各透かし信号位置のずれを算出する透かし位置ずれ算出ステップと、
を含むことを特徴とする、透かし位置ずれ検出方法。
【請求項１１】
コンピュータを、請求項２〜９に記載の透かし位置ずれ検出装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、透かし情報抽出装置、透かし位置ずれ検出装置、透かし位置ずれ検出方法及びプログラムに関する。
【背景技術】
【０００２】
従来より、電子データに任意の情報を埋め込む「電子透かし」技術を用いて、紙等の印刷媒体に印刷された文書に対しても、機密情報やコピー・偽造防止のための情報を埋め込む技術が考案されている。このような技術は、印刷文書にデジタル情報を付加して管理するためや、印刷文書の改ざん検知など幅広い用途に用いられている。
【０００３】
例えば、特許文献１には、文書の背景に機密情報等を表す画素のパターン（透かしパターン）を埋め込んだ透かし入り画像を印刷することにより、機密情報や改ざん検出のための情報（透かし情報）等が埋め込まれた印刷文書（透かし入り文書）を作成する方法が開示されている。この方法によると、ドット（画素）の配列によって波の方向及び／又は波長を変化させたドットパターンを複数用意し、１つのドットパターンが１つのシンボルを表すようにドットパターンを組み合わせて配置することにより、透かし情報が表現されるようにしている。透かし入り文書を受け取った側は、その文書をスキャナ等で読み取り、読み取った画像から透かしパターンを検出することにより、埋め込まれている透かし情報を取得する。
【０００４】
また、特許文献２には、上記のような方法で作成された透かし入り文書から透かし情報を抽出する方法が記載されている。この方法によると、まず、対象となる画像全体をスキャンして各透かしパターンによるフィルタリング処理を行い、各透かしパターンの大きさに応じた間隔で、強く反応したフィルタのピーク値を探索する。探索は、隣接するパターンの位置から埋め込み時に使用したパターンの間隔分離れた位置を中心に行う。この探索をフィルタ処理結果全体に対して行い、各フィルタから出力されるピーク値を比較することでパターンを特定し、パターンに関連付けられているシンボル（例えば、０／１で表されるビット値）を抽出する。このようにして抽出されたシンボルを埋め込み処理時と同様の方法で結合することにより、埋め込まれた透かし情報を取得することができる。
【０００５】
このような透かし情報の抽出処理において、従来技術では、スキャンする文書画像上に微小なしわや歪み等が存在しても正確に情報を抽出できるように、フィルタのピーク値を探索し、微小な透かしのずれを補正している。しかし、しわや歪み等が想定しているよりも大きい場合は、透かしパターンが等間隔に並んでいないため、ピーク探索がうまく動作せずパターン位置を正確に特定することができない。また、紙面の汚れ等でフィルタの反応が弱い場合は、フィルタのピーク値探索時にパターン位置のピーク値が下がるためピーク値の位置を特定することができず、その結果、透かしパターンの読み飛ばしや、透かしパターンでは無いところをパターン位置と認識してしまうことが発生する。
【０００６】
このような場合、本来読み取るべき位置ではない位置から情報を読み取るため、その位置に埋め込まれていた透かし情報は正しく読み取ることはできない。また、読み取り位置のずれが一度発生すると、隣接するパターンを特定する際においても、ずれたパターン位置を基準として探索が行われるため、パターンの読み取り位置のずれが連続的に発生する。これを同期ずれといい、同期ずれの結果、読み取られた情報においてバースト的に誤りが発生する。
【０００７】
通常、情報埋め込み時には、情報抽出時のエラー訂正のために、透かし情報にエラー訂正符号を付加して埋め込んだり、透かし情報を複数回繰り返して埋め込んで情報に冗長性を持たせることが行われる。このような方法では、ある程度のエラーであれば訂正可能であるが、上述したような同期ずれによるバースト誤りの場合は、一度に大量の情報にエラーが発生するため、エラー訂正符号や複数回繰り返して埋め込まれた情報を用いてエラーを訂正した後でも、一部のエラーがデータに残る場合があり、抽出された情報の信頼性を低下させる原因となっている。
【０００８】
一方、特許文献３には、透かしパターンの読み取り位置のずれが発生した場合に、ずれを検出して補正する方法が開示されている。この方法によると、透かしパターンの位置を検出するためのパターン（同期パターンという）を一定間隔で埋め込むことにより、情報抽出時にパターンの読み取り位置のずれが発生した場合であっても、同期パターンの位置でずれを補正することができ、バースト誤りの影響をある程度の範囲内に収めることができる。
【０００９】
【特許文献１】特許第３６２８３１２号公報
【特許文献２】特開２００４−５７０２００号公報
【特許文献３】特開２００５−５０５６９０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかし、特許文献３の方法を用いた場合であっても、同期パターンが埋め込まれた間隔よりも狭い範囲内で起こるバースト誤りを訂正することはできないという問題がある。
【００１１】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、透かし読み取り時の読み取り位置のずれを検出し、情報を正確に抽出することが可能な、新規かつ改良された透かし情報抽出装置、透かし位置ずれ検出装置、透かし位置ずれ検出方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明のある観点によれば、所定の情報を表す透かしが埋め込まれた透かし入り印刷文書から情報を抽出する情報抽出装置であって、透かし入り印刷文書を読み取った入力画像から、複数の透かし信号が配置された第１透かし信号行列を検出して各透かし信号の位置を特定し、第１透かし信号行列によって表される２以上の情報を検出する透かし検出部と、２以上の情報を用いて生成される情報から、第２透かし信号行列を復元する透かし信号行列復元部と、第１透かし信号行列と第２透かし信号行列とを比較し、第２透かし行列の各透かし信号位置に対する、透かし検出部によって特定された第１透かし信号行列の各透かし信号位置のずれを算出する透かし位置ずれ算出部と、透かし位置ずれ算出部によって算出された各透かし信号位置のずれに基づいて、第１透かし信号行列の透かし信号の位置を補正する透かし信号位置補正部と、補正された第１透かし信号行列から情報を抽出する情報抽出部と、を備える情報抽出装置が提供される。
【００１３】
また、上記課題を解決するために、本発明の別の観点によれば、所定の情報を表す透かしが埋め込まれた透かし入り印刷文書に対する透かし読み取り位置のずれを検出する透かし位置ずれ検出装置であって、透かし入り印刷文書を読み取った入力画像から、複数の透かし信号が配置された第１透かし信号行列を検出して各透かし信号の位置を特定し、第１透かし信号行列によって表される２以上の情報を検出する透かし検出部と、２以上の情報を用いて生成される情報から、第２透かし信号行列を復元する透かし信号行列復元部と、第１透かし信号行列と第２透かし信号行列とを比較し、第２透かし行列の各透かし信号位置に対する、透かし検出部によって特定された第１透かし信号行列の各透かし信号位置のずれを算出する透かし位置ずれ算出部と、を備える透かし位置ずれ検出装置が提供される。
【００１４】
かかる構成により、紙面のしわや汚れ等が原因で、透かし信号の検出位置が連続してずれる同期ずれが発生した場合であっても、透かし信号位置を補正して正確な情報を抽出することができる。これにより、情報抽出精度が向上し、抽出された情報の信頼性を高めることができる。また、この方法によれば、情報埋め込み側において新たに補正のための情報を埋め込む等の変更が全く必要ないため、情報抽出側の変更のみで抽出精度を上げることが可能である。
【００１５】
また、透かし位置ずれ算出部は、第２透かし信号行列を複数の領域に分割し、各領域の透かし信号のパターンに該当する位置を第１透かし信号行列から検出し、検出された位置と第２透かし信号行列における当該領域の位置との相対値により各透かし信号位置のずれを算出するようにしてもよい。
【００１６】
また、透かし信号行列復元部は、第１透かし行列が生成された方法と同じ方法で第２透かし行列を復元するようにしてもよい。
【００１７】
また、透かし検出部によって検出される２以上の情報は、２以上の同一の情報であってもよい。これは、例えば、同一の情報が２回以上繰り返して埋め込まれたものであってもよい。これにより、紙面の汚れや欠損、文書画像の文字とドットとの重なり等によって透かし信号の一部が検出されない場合でも、複数検出された情報の各ビットの多数決を取る等して元の情報を復元することができる。
【００１８】
また、透かし検出部によって検出される２以上の情報は、第１の情報と、第１の情報の誤りを検出するための第２の情報とを含むものであってもよい。第２の情報は、例えば、ＣＲＣ１６、チェックサム等のエラー検出符号であってもよい。
【００１９】
あるいは、透かし検出部によって検出される２以上の情報は、第１の情報と、第１の情報の誤りを検出して訂正するための第２の情報とを含むものであってもよい。第２の情報は、例えば、ＣＲＣやＢＣＨ、Ｖｉｔａｂｉ等のエラー訂正・検出符号等であってもよい。
【００２０】
また、第２の情報を用いて第１の情報の誤り検出を行う誤り検出部をさらに含むようにしてもよい。
【００２１】
また、誤り検出部によって検出される誤りの数に基づいて、透かし信号行列復元部は、第２透かし信号行列の復元を行うか否かを決定するようにしてもよい。例えば、誤り検出部によって誤りが全く検出されなかった場合は、第２透かし信号行列の復元を行わないようにしてもよい。これにより、不要な透かし信号行列の復元処理を行うことを回避することができる。あるいは、誤りが大量に検出され、位置ずれの補正が不可能であると判断されるような場合に、第２透かし信号行列の復元を行わないようにしてもよい。これにより、補正が可能な場合に限定して透かし信号行列の復元処理を行うことができ、処理を効率良く行うことが可能となる。
【００２２】
また、上記課題を解決するために、本発明の別の観点によれば、所定の情報を表す透かしが埋め込まれた透かし入り印刷文書に対する透かし読み取り位置のずれを検出する透かし位置ずれ検出方法であって、透かし入り印刷文書を読み取った入力画像から、複数の透かし信号が配置された第１透かし信号行列を検出して各透かし信号の位置を特定し、第１透かし信号行列によって表される２以上の情報を検出する透かし検出ステップと、２以上の情報を用いて生成される情報から、第２透かし信号行列を復元する透かし信号行列復元ステップと、第１透かし信号行列と第２透かし信号行列とを比較し、第２透かし行列の各透かし信号位置に対する、透かし検出ステップにおいて特定された第１透かし信号行列の各透かし信号位置のずれを算出する透かし位置ずれ算出ステップと、を含む透かし位置ずれ検出方法が提供される。
【００２３】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータを、上述した透かし位置ずれ検出装置として機能させるためのプログラムが提供される。
【発明の効果】
【００２４】
以上説明したように本発明によれば、透かし読み取り時の読み取り位置のずれを検出し、情報を正確に抽出することが可能となる。
【発明を実施するための最良の形態】
【００２５】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２６】
（第１の実施形態）
図１を参照して、まず、本発明の第１の実施形態に係る透かし情報抽出装置について説明する。図１は、第１の実施形態に係る透かし情報抽出装置１００の概略構成を示すブロック図である。
【００２７】
透かし情報抽出装置１００は、コンピュータ等の情報処理装置からなり、文書の背景に透かしパターンと呼ばれるドット（画素）のパターンが埋め込まれた透かし入り印刷文書１１０を画像として読み取り、埋め込まれた情報を抽出するための装置である。
【００２８】
まず、透かし情報抽出装置１００に入力される透かし入り印刷文書１１０について、図２を参照して説明する。図２は、透かし入り印刷文書１１０の作成方法を説明するための説明面である。透かし入り印刷文書１１０は、図２に示すように、透かしパターンの画像（透かし画像）１１２が文書画像１１１上に重畳配置した透かし入り文書画像１１３を、プリンタ等の出力装置によって印刷出力したものである。透かし入り印刷文書１１０は、白黒（単色）印刷されたものであってもよく、カラー（多色）印刷されたものであってもよいが、本実施形態においては、白黒印刷されたものを前提として説明する。
【００２９】
透かし入り印刷文書１１０に埋め込まれる機密情報等の情報を透かし情報と呼ぶ。透かし情報は、文字列データであってもよく、画像や音声等のデータであってもよい。透かし情報は、Ｎ元符号化（Ｎは２以上）された符号列（ビット列）として表され、各符号が予め生成された透かし信号に置き換えられ、文書画像上に重畳して配置される。以下、透かし情報を表す符号列をデータ符号と称する。
【００３０】
透かし入り印刷文書１１０には、データ符号の他に、データ符号の符号長等の属性を示す情報が含まれてもよい。また、情報読み取り時に発生するエラーを訂正するためのエラー訂正・検出符号等がデータ符号に付加されて埋め込まれてもよい。ここで付加されるエラー訂正・検出符号としては、例えば、ＣＲＣやＢＣＨ、Ｖｉｔａｂｉ等を挙げることができるが、必ずしもこれに限られない。あるいは、エラー訂正・検出符号の代わりに、ＣＲＣ１６、チェックサム等のエラー検出符号を付加するようにしてもよい。
【００３１】
また、透かし情報は、暗号化されて埋め込まれてもよく、暗号化された後に、上述のエラー訂正・検出符号あるいはエラー検出符号が付加されて埋め込まれてもよい。
【００３２】
透かし信号は、任意の大きさの矩形領域中に所定のパターンでドット（画素）が配置されたものである。透かし信号は、例えば、上述の特許文献１（特許第３６２８３１２号公報）に開示された技術を用いて生成されてもよい。同文献に開示された透かし信号は、ドット（黒画素）の配列によって任意の波長と方向を持つ波を表現したものである。上記文献に開示された透かし生成技術は、本発明を説明するための一例に過ぎないため、詳細な説明を省略する。
【００３３】
なお、本実施形態においては、同文献に開示された透かし生成技術を用いて生成された透かし信号が用いられることを前提として説明するが、他の透かし生成技術を用いて生成した透かし信号が埋め込まれた透かし入り印刷文書に対しても、本発明を適用可能であることは言うまでもない。
【００３４】
各透かし信号は、透かし情報を表すＮ元符号の各符号にそれぞれ対応付けられる。例えば、透かし情報が０と１との２元符号で符号化される場合、符号０と１とにそれぞれ異なる透かし信号が割り当てられる。各符号に割り当てられる透かし信号は、複数であってもよい。このような透かし信号を所定の間隔で文書画像上に配置することにより、透かしパターンが形成される。
【００３５】
また、透かし入り印刷文書には、上記特許文献１に開示された透かし埋め込み技術のように、同じデータ符号を表す透かし信号群（以下、透かし信号ユニットと称する）が繰り返し埋め込まれていてもよい。これは、紙面の汚れや欠損、文書画像の文字とドットとの重なり等によってパターンの一部が検出されない場合でも、元の情報を復元することができるようにするためである。透かし信号ユニットの繰り返し数と配置のパターンは任意である。
【００３６】
ここで、１ページ分の透かし画像に同じ透かし信号ユニットを繰り返し埋め込む場合の例を図３を参照して説明する。ここで、図３は、透かし信号ユニットの配置方法を説明するための説明図である。例えば、図３に示すように、１ページ分の透かし画像の水平方向に９個、垂直方向に１１個の透かし信号が配置される場合について説明する。このような９×１１の透かし信号が配置される行列を、以下透かし信号行列と称する。まず、透かし信号行列の第１行にデータ符号の符号長を表す透かし信号ユニットを挿入する。これにより、透かし情報を読み取る側で、透かし信号行列中の透かし信号ユニットの繰り返し回数を算出することができる。なお、符号長は固定とし、符号長を表す透かし信号ユニットを挿入しないようにしてもよい。
【００３７】
その後、第２行から第１０行まで、透かし信号ユニットを繰り返し配置する。この例では１２ビットからなる透かし信号ユニットが埋め込まれるため、残りの第２行から第１１行までの透かし信号行列に、７個の透かし信号ユニットと、剰余分の先頭６ビットまでが透かし信号行列の中に埋め込まれる。
【００３８】
本実施形態においては、上述したような特許文献１の透かし埋め込み技術を用いて、同じ透かし信号ユニットが繰り返し埋め込まれた透かし入り印刷文書が入力されることを前提として説明する。なお、他の透かし埋め込み技術を用いて作成された透かし入り印刷文書に対しても、本発明を適用可能であることは言うまでもない。
【００３９】
以下、図１に基づいて、本実施形態にかかる透かし情報抽出装置１００の構成について説明する。透かし情報抽出装置１００は、図１に示すように、画像入力部１０１と、透かし検出部１０２と、データ符号復元部１０３と、透かし信号行列復元部１０４と、透かし信号行列補正部１０５と、により構成される。以下、透かし情報抽出装置１００の各部について説明し、図４及び５を参照しながら、透かし情報抽出装置１００の動作について説明する。図４及び５は、透かし情報抽出装置１００で実行される透かし情報抽出処理の流れを示すフローチャートである。
【００４０】
（画像入力部１０１）
画像入力部１０１は、スキャナ等の入力手段であり、透かし入り印刷文書１１０を画像データとして取り込む（図４：ステップＳ２００）。取り込まれた画像（以下、入力画像と称する）は、透かし検出部１０２に入力される。なお、入力画像は、回転や伸縮等の補正が行われているものとする。
【００４１】
（透かし検出部１０２）
透かし検出部１０２は、入力画像から透かし信号を検出するための機能部である。透かし検出部１０２は、入力画像全体に対してフィルタリング処理を行って透かし信号位置を特定し、透かし信号を検出する。以下、図４を参照しながら、透かし検出部１０２の処理について説明する。
【００４２】
まず、透かし検出部１０２は、入力画像全体に対してフィルタリング処理を行い、フィルタ出力値の計算を行う（図４：ステップＳ２０２）フィルタリングは、例えば、ガボールフィルタ等の二次元ウェーブレットフィルタを用いて行ってもよいし、あるいは、ガボールフィルタの代わりに、ガボールフィルタと同様な性質を持つ他のフィルタを用いてもよい。フィルタ出力値の計算は、入力画像の全画素においてフィルタと画像間のコンボリューションにより計算される。ガボールフィルタ等を用いたフィルタ出力値の計算方法は、特許文献１〜３に開示された方法を用いてもよい。ここでは、計算方法の詳細については省略する。
【００４３】
ここで、ある画素（ｘ，ｙ）におけるフィルタＡのフィルタ出力値をＦ（Ａ，ｘ，ｙ）と表す。各透かし信号に対応するすべてのフィルタに対してフィルタ出力値を計算した後、各画素において上記のように計算したフィルタ出力値を比較し、その最大値Ｆ（ｘ，ｙ）をフィルタ出力値行列として記憶する。また、値が最大であるフィルタに対応する透かし信号の値をフィルタ種類行列として記憶する。例えば、透かし信号Ａ、Ｂに対してそれぞれ符号を「０」、「１」が割り当てられている場合、ある画素（ｘ，ｙ）において、Ｆ（Ａ，ｘ，ｙ）＞Ｆ（Ｂ，ｘ，ｙ）であれば、フィルタ出力値行列の（ｘ，ｙ）の値としてＦ（Ａ，ｘ，ｙ）を設定し、フィルタ種類行列の（ｘ，ｙ）の値として透かし信号Ａを示す「０」を設定する。
【００４４】
なお、本実施の形態ではフィルタの個数が２つであるが、フィルタの個数がそれより多い場合も、同様に複数のフィルタ出力値の最大値とその際のフィルタに対応する透かし信号の値を記憶すればよい。
【００４５】
次いで、ステップＳ２０２で得られたフィルタ出力値行列を用いて、透かし信号が埋め込まれている入力画像上の位置（透かし信号埋め込み位置と称する）を決定する（図４：ステップＳ２０４）。具体的には、まず、透かし信号の大きさがＳｈ×Ｓｗで構成されていたとすると、格子点の垂直方向の間隔がＳｈ、水平方向の間隔がＳｗ、格子点の個数がＮｈ×Ｎｗの信号位置探索テンプレートを作成する。そのように作成したテンプレートの大きさは、Ｔｈ（Ｓｈ＊Ｎｈ）×Ｔｗ（Ｓｗ＊Ｎｗ）となる。なお、Ｎｈ、Ｎｗには透かし信号埋め込み位置を探索するために最適な値を用いればよい。
【００４６】
次に、フィルタ出力値行列をテンプレートの大きさごとに分割する。さらに、各分割領域で、隣接する領域の信号ユニットに重複しない範囲（水平方向±Ｓｗ／２、垂直方向±Ｓｈ／２）でテンプレートをフィルタ出力値行列上で画素単位に移動させながら、テンプレート格子点上のフィルタ出力値行列値Ｆ（ｘ，ｙ）の総和Ｖを用いて求め、その総和が一番大きいテンプレートの格子点をその領域の透かし信号埋め込み位置とする。
【００４７】
上記の例は、ステップＳ２０２で全画素に対して、フィルタ出力値を求めた場合であり、フィルタリングを行う際、ある一定間隔の画素に対してのみフィルタリングを行うこともできる。例えば、２画素おきにフィルタリングを行った場合は、上記の信号位置探索テンプレートの格子点の間隔も１／２とすればよい。
【００４８】
ステップＳ２０４で決定した透かし信号の埋め込み位置のフィルタ種類行列の値（フィルタに対応した透かし信号の値）を参照することで、透かし信号がＡかＢを決定する（図４：ステップＳ２０６）。上記のようにして、決定した透かし信号の判定結果を記憶する。
【００４９】
次いで、あらかじめ透かし信号を埋め込む際に決めておいたパターンを探索することで透かし信号が埋め込まれている境界を求める（図４：ステップＳ２０８）。ステップＳ２０２では、透かし信号が埋め込まれているかにかかわらず、画像全面に対してフィルタリング処理を行っているので、どの部分に透かし信号が埋め込まれていたかを決定する必要があるためである。信号境界を求める方法は、信号境界を示すパターンをあらかじめ埋め込み側と検出側で決めておく等、どのような方法であってもよい。
【００５０】
（データ符号復元部１０３）
データ符号復元部１０３は、透かし検出部１０２によって透かし信号の位置が特定された透かし信号行列から透かし信号ユニットを取り出し、データ符号を復元するための機能部である。以下、図４〜７を参照してデータ符号復元部１０３によって行われる処理について説明する。図６及び７は、データ符号復元部１０３の処理を説明するための説明図である。
【００５１】
まず、図６に示すように、透かし信号行列１２１の第１行から符号長データ部分の透かし信号パターン１２２を取り出して、埋め込まれたデータ符号の符号長を取得する（図４ステップＳ２１０）。以下、透かし信号行列１２１の各透かし信号をＵ（ｘ，ｙ）で表す。
【００５２】
次いで、透かし信号行列のサイズとステップＳ３００で取得したデータ符号の符号長とに基づいて、データ符号を表す透かし信号ユニットが埋め込まれた数と剰余を計算する。（図４：ステップＳ２１２）
【００５３】
次いで、透かし信号行列１２１の２行目以降から、透かし情報の埋め込み時と逆の方法で透かし信号ユニットを取り出す（図４：ステップＳ２１４）。図６の例では、Ｕ（１，２）（２行１列）から順に１２個の透かし信号毎に分解する（Ｕ（１，２）〜Ｕ（３，３）、Ｕ（４，３）〜Ｕ（６，４）、・・・）。これにより、７個のデータ符号と剰余部分の６ビット（Ｕ（４，１１）〜Ｕ（９，１１））が検出される。
【００５４】
次いで、図７に示すように、ステップＳ３０４で取り出した透かし信号ユニットに対してビット確信度演算を行い、透かし信号行列に埋め込まれた元のデータ符号を復元する（図５：ステップＳ２１６）。
【００５５】
図７を参照して、ステップＳ２１６のビット確信度演算について詳細に説明する。図７のように透かし信号行列の２行１列目から最初に取り出された透かし信号ユニットが表すデータ符号（以下、データ符号ユニットと称する）をＤｕ（１，１）〜Ｄｕ（１２，１）とし、順次Ｄｕ（１，２）〜Ｄｕ（１２，２）、・・・、と表記する。また、剰余部分はＤｕ（１，８）〜Ｄｕ（６，８）とする。ビット確信度演算は、各ビット毎に全データ符号ユニットの多数決を取るなどして、データ符号の各ビットの値を決定することである。
【００５６】
具体的には、例えば図７の例の場合、データ符号の１ビット目は、Ｄｕ（１，１）、Ｄｕ（１，２）、・・・、Ｄｕ（１，８）の信号検出結果が１である方が多い場合には１と判定し，０である方が多い場合には０と判定する。同様に、データ符号の２ビット目はＤｕ（２，１）、Ｄｕ（２，２）、・・・、Ｄｕ（２，８）の信号検出結果による多数決によって判定し、データ符号の１２ビット目はＤｕ（１２，１）、Ｄｕ（１２，２）、・・・、Ｄｕ（１２，７）（Ｄｕ（１２，８）は存在しないため、Ｄｕ（１２，７）までとなる）の信号検出結果による多数決によって判定する。
【００５７】
なお、ここではデータ符号が繰り返し埋め込まれている場合について説明したが、データ符号に誤り訂正符号などが付加されている場合には、誤り訂正符号によりデータ符号を訂正することでデータ符号の各ビットの値を決定するようにしてもよい。
【００５８】
（透かし信号行列復元部１０４）
透かし信号行列復元部１０４は、データ符号復元部１０３によって復元されたデータ符号から、再度透かし信号行列を再構築するための機能部である。以下、図５を参照して、透かし信号行列復元部１０４によって行われる処理について説明する。
【００５９】
透かし信号行列復元部１０４は、図３に示したのと同様の方法で、データ符号復元部１０３によって復元されたデータ符号を表す透かし信号ユニットを順番に配置し、元の透かし信号行列と同じ大きさの行列を生成する（図５：ステップＳ２１８）。なお、本実施形態の例では、元の透かし信号行列の第１行目には符号長データが埋め込まれていたが、透かし信号行列復元部１０４では、符号長データに該当する透かし信号ユニットは省略してもよい。符号長データの透かし信号ユニットを省略した場合は、第１行目から透かし信号ユニットを配置し、元の透かし信号行列より１行分少ない行列（図３の例の場合、９×１０の行列）を生成する。
【００６０】
また、透かし信号ユニットを透かし信号行列に配置する際は、元の透かし信号行列と同じ順序・方法により行うようにする。例えば、元の透かし信号行列において、透かし信号ユニットが行方向に連続になるように配置されていた場合は、透かし信号行列復元部１０４においても、透かし信号ユニットが行方向に連続になるように配置する。
【００６１】
ここで、データ符号復元部１０３において復元されたデータ符号が正しい場合、即ち、透かし検出部１０２によって透かし信号が正しく検出されていた場合、このようにして再構築された透かし信号行列と元の透かし信号行列とは透かし信号の位置が一致する。一方、透かし信号行列の読み取り位置が連続してずれる同期ずれによりバースト誤りが発生した場合の例を図８及び９に示す。
【００６２】
バースト誤りが発生した場合、図８に示すように、データ符号復元部１０３において複数のデータ符号ユニットからビット確信度演算によってデータ符号を復元したとしても、誤りが完全に訂正されずにデータ符号に残ってしまう場合がある。このようなデータ符号から透かし信号行列を再構築すると、図９に示すように、誤りの残った透かし信号行列が得られる。このようにして再構築された透かし信号行列と元の透かし信号行列とを比較することにより、ステップＳ２０４において決定した透かし信号位置のずれを検出することができる。
【００６３】
（透かし信号行列補正部１０５）
透かし信号行列補正部１０５は、透かし信号行列復元部１０４において再構築された透かし信号行列と、元の透かし信号行列とを比較し、透かし信号の読み取り位置のずれを検出して補正するための機能部である。透かし信号行列補正部１０５は、より詳細には、透かし位置ずれ算出部１０６と、透かし信号位置補正部１０７とに分けられる。以下、各部の処理について、図５、図１０及び１１を参照して説明する。ここで、図１０は、透かし位置ずれ算出部１０６の処理を説明するための説明図であり、図１１は、透かし信号位置補正部１０７の処理を説明するための説明図である。
【００６４】
（透かし位置ずれ算出部１０６）
まず、再構築された透かし信号行列１３２をＮ×Ｍのブロックに分割する（図５：ステップＳ２２０）。図９の例では、１０×９の透かし信号行列を５×４のブロックに分割し、各ブロックをＢ（ｎ，ｍ）で表す（ｎ、ｍは、各ブロックの左上に位置する透かし信号行列の位置を表す）。また、元の透かし信号行列１３１をｕ（ｘ，ｙ）で表し、再構築された透かし信号行列１３２をｕｒ（ｘ，ｙ）で表す。
【００６５】
次いで、各ブロックＢ（ｎ，ｍ）に対し、透かし信号行列１３１上で最も似たパターンの存在する位置をズレベクトルとして検出する（図５：ステップＳ２２２）。ここで、（ｂｘ，ｂｙ）から始まるブロックＢのズレベクトルを（ｖｘ，ｖｙ）とすると、ズレベクトルは、以下のように求めることができる。
【００６６】
ブロックＢの位置（ｂｘ，ｂｙ）からのズレベクトル（ｖｘ，ｖｙ）による差分絶対値の総和をＳＡＤ（ｖｘ，ｖｙ）を求める。ＳＡＤは以下の数式１で求められる。
【００６７】
【数１】
2008288726.tif 000003
【００６８】
上記計算により、ＳＡＤ（ｖｘ，ｖｙ）が最小となる（ｖｘ，ｖｙ）をブロックＢのズレベクトルとして求める。また、ずれがない場合だけＳＡＤ（ｘ，ｙ）に重み付けしたり、ずれの度合いによって重みを変えてＳＡＤ（ｘ，ｙ）を計算してもよい。
【００６９】
例えば、ずれがない場合、即ちズレベクトル（ｖｘ，ｖｙ）＝（０，０）のときだけ重み付けを行った場合のＳＡＤは以下の数式２のようになる。
【００７０】
【数２】
2008288726.tif 000004
【００７１】
数式２の例では、重み付けの値として固定値（−１０）を用いたが、重みを以下の数式３のようにして求め、ずれの度合いによって重みが変化するようにしてもよい。
【００７２】
【数３】
2008288726.tif 000005
【００７３】
ＳＡＤの計算を全ブロックに対して行い、透かし信号行列のブロック単位でのズレを検出する。計算は、隣接ブロックと計算範囲をオーバラップさせて行ってもよいし、ブロック単位に独立した（隣接ブロックと計算範囲がオーバラップしない）範囲内で行ってもよい。計算範囲をオーバラップさせる場合、透かし信号位置補正部１０７で取得するブロックの範囲は、オーバラップしていない範囲とする。
【００７４】
図８及び９の場合に上記処理を行うと、図１０に示すようなズレベクトルが求められる。図１０の例では、Ｂ（２，４）〜Ｂ（２，８）、Ｂ（４，４）〜Ｂ（４，８）、Ｂ（６，４）〜Ｂ（６，８）の計９個のブロックにおいて、ズレベクトル（１，０）が取得される。これは、上記９個のブロックの透かし信号の位置がｘ方向に１信号分ずれていることを表す。
【００７５】
（透かし信号位置補正部１０７）
透かし信号位置補正部１０７は、透かし位置ずれ算出部１０６で算出されたズレベクトルを用いて、元の透かし信号行列を補正する機能部である。まず、透かし信号位置補正部１０７は、透かし位置ずれ算出部１０６によって算出されたズレベクトルから位置ずれが検出されたか否かを判定する（図５：ステップＳ２２４）。ここで、位置ずれが検出されなかった場合は、ステップＳ２１６において復元されたデータ符号が抽出された透かし情報として出力される。
【００７６】
なお、このとき、全てのズレベクトルが（０，０）である場合に限られず、ズレベクトルの値の総和や、（０，０）でないズレベクトルの個数、補正処理の実行回数等によって、位置ずれの有無を判定してもよい。
【００７７】
ステップＳ２２４で、位置ずれが検出されたら、補正後の透かし信号行列の各ブロックのデータを求める（図５：ステップＳ２２６）。補正後の透かし信号行列をＵｃ（ｘ，ｙ）とすると、位置（ｂｘ，ｂｙ）から始まるブロックＢのデータは、以下の数式４によって求めることができる。なお、数式４において、ｘ、ｙのとりうる値の範囲は、それぞれｂｘ〜ｂｘ＋Ｎ−１、ｂｙ〜ｂｙ＋Ｍ−１である。
Ｕｃ（ｘ，ｙ）＝ｕ（ｘ＋ｖｘ，ｙ＋ｖｙ）      ・・・（数式４）
【００７８】
上記計算を全ブロックについて行うことで、補正後の透かし信号行列のデータを求めることができる。次いで、図１１に示すように、元の透かし信号行列の位置（ｂｘ，ｂｙ）に上で求めたＵｃ（ｂｘ，ｂｙ）のデータを適用することにより、透かし信号行列を補正する（図５：ステップＳ２２８）。
【００７９】
図１１の例では、Ｂ（２，４）〜Ｂ（２，８）、Ｂ（４，４）〜Ｂ（４，８）、Ｂ（６，４）〜Ｂ（６，８）の９個のブロックの透かし信号の位置がｘ方向に１信号分ずれているため、ｘ方向に１信号分ずれた位置の透かしパターンを当てはめて透かし信号行列を補正する。この場合、透かし信号行列の範囲外となる部分のデータは復元できないため、Ｕｃ（９，５）〜Ｕｃ（９，１０）の部分には誤りが残ったままとなるが、この程度の誤りであれば、ステップＳ２１６のビット確信度演算によって訂正可能であるため、上述したような方法によって同期ずれによるバースト誤りを解消することができる。
【００８０】
透かし信号行列を補正後、ステップＳ２１０に戻り、データ符号復元部１０３によって再度ステップＳ２１０からＳ２１６の処理を行い、補正後の透かし信号行列からデータ符号の復元を行う。
【００８１】
かかる構成により、紙面のしわや汚れ等が原因で、透かし信号の検出位置が連続してずれる同期ずれが発生した場合であっても、透かし信号位置を補正して正確な情報を抽出することができる。これにより、情報抽出精度が向上し、抽出された情報の信頼性を高めることができる。また、この方法によれば、情報埋め込み側において新たに補正のための情報を埋め込む等の変更が全く必要ないため、情報抽出側の変更のみで抽出精度を上げることが可能である。
【００８２】
以上、透かし情報抽出装置１００の構成について説明した。なお、画像入力部１０１、透かし検出部１０２、データ符号復元部１０３、透かし信号行列復元部１０４及び透かし信号行列補正部１０５の各部は、上述した各機能を実行可能なプログラムモジュールをコンピュータ等の情報処理装置にインストールしたソフトウェアで構成されてもよいし、あるいは、上述した各機能を実行可能なプロセッサ等のハードウエアで構成されてもよい。
【００８３】
（第２の実施形態）
次に、図１２を参照して本発明の第２の実施形態に係る透かし情報抽出装置について説明する。図１２は、第２の実施形態に係る透かし情報抽出装置３００の概略構成を示すブロック図である。
【００８４】
本実施形態に係る透かし情報抽出装置３００は、上述した第１の実施形態の透かし情報抽出装置１００の構成に加えて、データ誤り検出部３０８を備えるようにした点が異なる。それ以外の構成、画像入力部３０１、透かし検出部３０２、データ符号復元部３０３、透かし信号行列復元部３０４及び透かし信号行列補正部３０５については、第１の実施形態の透かし情報抽出装置１００の該当する構成要素と実質的に同一の機能を有するものであるから、重複説明を省略する。
【００８５】
以下、図１３を参照しながら、データ誤り検出部３０８について説明する。ここで、図１３は、透かし情報抽出装置３００によって行われる処理の一部を示したフローチャートである。図１３のステップＳ４１６は、図４に示すステップＳ２００〜ステップＳ２１４の処理の後に行われる。
【００８６】
（データ誤り検出部３０８）
データ誤り検出部３０８は、データ符号復元部３０３によって復元されたデータ符号に対して誤り検出処理を実行する機能部である。データ符号には、埋め込み時に予めＣＲＣやＣＢＨ、Ｖｉｔａｂｉ等の誤り訂正・検出符号が付加されており、データ符号復元部３０３は、このような誤り訂正・検出符号を用いて、ステップＳ４１６で復元されたデータ符号の誤り検出・訂正を行う（ステップＳ４１８）。なお、ＣＲＣ１６やチェックサム等の誤り検出機能のみを有する符号が付加されている場合は、誤り検出のみを行う。
【００８７】
なお、データ符号に付加される誤り訂正符号・検出符号は、上述した例に限られないことは言うまでもない。また、１つのデータ符号に対して１つの誤り訂正・検出符号が付加されていてもよく、データ符号をいくつかのビット毎に区切り、区切られたビット列単位で誤り訂正・検出符号が付加されていてもよい。
【００８８】
次いで、検出結果から、データ符号に誤りが含まれるか否かを判定する（ステップＳ４２０）。ここで、データ符号に誤りが含まれないと判定された場合は、ステップＳ４２２以下の処理を行わず、ステップＳ４１６で復元されたデータ符号を透かし情報として出力する。
【００８９】
一方、ステップＳ４２０で、データ符号に誤りがあると判定された場合は、ステップＳ４２２以下の透かし信号行列の復元処理を行うようにする。また、データ符号に誤りがある場合でも、誤りの数や割合から、誤り訂正ができないと判断される場合には、透かし信号行列の復元処理を行わないようにしてもよい。
【００９０】
このように、抽出されたデータ符号に誤りが検出されたときに限り、位置ずれの検出を行うことにより、不要な位置ずれ検出処理を行うことを回避することができる。また、紙面の広範囲に渡って同期ずれが発生した場合等で、位置ずれの補正が不可能であると判断される場合には、位置ずれの検出処理を行わないようにすることもできる。これにより、位置ずれ検出処理を効率良く行うことが可能となる。
【００９１】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【００９２】
【図１】第１の実施形態に係る透かし情報抽出装置の概略構成を示すブロック図である。
【図２】透かし入り印刷文書の作成方法を説明するための説明面である。
【図３】透かし信号ユニットの配置方法を説明するための説明図である。
【図４】第１の実施形態に係る透かし情報抽出装置で実行される透かし情報抽出処理の流れを示すフローチャートである。
【図５】第１の実施形態に係る透かし情報抽出装置で実行される透かし情報抽出処理の流れを示すフローチャートである。
【図６】データ符号復元部の処理を説明するための説明図である。
【図７】データ符号復元部の処理を説明するための説明図である。
【図８】同期ずれによりバースト誤りが発生した場合の例を示す図である。
【図９】同期ずれによりバースト誤りが発生した場合の例を示す図である。
【図１０】透かし位置誤り算出部の処理を説明するための説明図である。
【図１１】透かし信号位置補正部の処理を説明するための説明図である。
【図１２】第２の実施形態に係る透かし情報抽出装置の概略構成を示すブロック図である。
【図１３】第２の実施形態に係る透かし情報抽出装置によって行われる処理の一部を示したフローチャートである。
【符号の説明】
【００９３】
１００、３００    透かし情報抽出装置
１０１、３０１    画像入力部
１０２、３０２    透かし検出部
１０３、３０３    データ符号復元部
１０４、３０４    透かし信号行列復元部
１０５、３０５    透かし信号行列補正部
１０６    透かし位置ずれ算出部
１０７    透かし信号位置補正部
１１０    透かし入り印刷文書
３０８    データ誤り検出部
【図１】
2008288726.tif 000006
【図２】
2008288726.tif 000007
【図３】
2008288726.tif 000008
【図４】
2008288726.tif 000009
【図５】
2008288726.tif 000010
【図６】
2008288726.tif 000011
【図７】
2008288726.tif 000012
【図８】
2008288726.tif 000013
【図９】
2008288726.tif 000014
【図１０】
2008288726.tif 000015
【図１１】
2008288726.tif 000016
【図１２】
2008288726.tif 000017
【図１３】
2008288726.tif 000018