(57)【要約】【課題】複数のオブジェクトを有する文書画像に対し、そのオブジェクト間隔を利用して同期信号と共に埋め込まれている透かし情報を抽出する際に、オブジェクトの誤認識が発生すると、同期信号を正しく特定して透かし情報を抽出することが困難であった。【解決手段】文書画像から、文字間隔取得部７０２および第１デジタル信号抽出部７０３によって、埋め込まれた前記同期信号と前記透かし情報を示すデータ列を第１デジタル信号として抽出し、参照用同期信号生成部７０４で参照用同期信号を生成する。そして同期位置判定部７０５で、第１デジタル信号における同期信号の位置が正しいか否かを、第１デジタル信号と参照用同期信号との比較によって判定し、正しくない場合には同期位置訂正部７０６で、第１デジタル信号における同期信号の位置を訂正する。そして透かし情報抽出部７０８で、第１デジタル信号から同期信号位置に基づいて透かし情報を抽出する。【選択図】図７
2010034884.tif 000002
【特許請求の範囲】
【請求項１】
複数のオブジェクトを有する文書画像から、オブジェクト間隔を利用して同期信号と共に埋め込まれている透かし情報を抽出する文書処理装置であって、
前記文書画像に埋め込まれている、前記同期信号と前記透かし情報を示すデータ列を第１デジタル信号として抽出する第１デジタル信号抽出手段と、
参照用同期信号を生成する参照用同期信号生成手段と、
前記第１デジタル信号における前記同期信号の位置が正しいか否かを、前記第１デジタル信号と前記参照用同期信号との比較によって判定する同期位置判定手段と、
前記同期位置判定手段によって前記同期信号の位置が正しくないと判定された場合に、前記第１デジタル信号における前記同期信号の位置を訂正する同期位置訂正手段と、
前記第１デジタル信号から、前記同期信号の位置に基づいて前記透かし情報を抽出する透かし情報抽出手段と、
を有することを特徴とする文書処理装置。
【請求項２】
前記第１デジタル信号は、前記オブジェクトの外接矩形の間隔を順方向に２つずつを組とし、各組における２つの間隔の大小関係によって、前記同期信号および前記透かし情報を表現したデータ列であることを特徴とする請求項１に記載の文書処理装置。
【請求項３】
前記同期位置判定手段は、
前記第１デジタル信号における前記同期信号について、前記参照用同期信号と一致するか否かをビット単位で順方向に比較していき、一致しない誤りビットが検出された場合に、前記同期信号の位置が正しくないと判定することを特徴とする請求項２に記載の文書処理装置。
【請求項４】
前記同期位置訂正手段は、
前記同期信号と前記透かし情報を示すデータ列から、前記第１デジタル信号における前記誤りビット以降の前記同期信号に対応する第２デジタル信号を生成し、
前記第２デジタル信号と前記参照用同期信号との比較によって、前記外接矩形の増減の有無を判定し、
該判定結果に基づいて、前記第１デジタル信号における前記同期信号の位置を訂正することを特徴とする請求項３に記載の文書処理装置。
【請求項５】
前記第２デジタル信号は、前記第１デジタル信号における前記外接矩形の間隔の組に対して、間隔を順方向に１つずつずらした組における２つの間隔の大小関係を表現したデータ列であることを特徴とする請求項４に記載の文書処理装置。
【請求項６】
前記同期位置訂正手段は、
前記第２デジタル信号の２ビット目以降を、前記参照用同期信号における前記誤りビット以降と順方向に比較し、全てのビットが一致した場合に、前記外接矩形が１つ増加したと判定することを特徴とする請求項５に記載の文書処理装置。
【請求項７】
前記同期位置訂正手段は、
前記第２デジタル信号の１ビット目以降を、前記参照用同期信号における前記誤りビット以降と順方向に比較し、全てのビットが一致した場合に、前記外接矩形が１つ減少したと判定することを特徴とする請求項５に記載の文書処理装置。
【請求項８】
前記同期位置判定手段は、
隣接する複数の前記オブジェクトにおける外接矩形の幅に基づいて算出され、前記外接矩形の増減が発生していない割合を示す同期信頼度を用いて、前記外接矩形の増減の有無を判定することを特徴とする請求項３に記載の文書処理装置。
【請求項９】
前記同期位置判定手段は、
前記外接矩形の間隔と、前記透かし情報および前記同期信号を文書に埋め込む際に前記間隔を操作するために用いられた値とに基づいて算出され、前記外接矩形の増減が発生していない割合を示す同期信頼度を用いて、前記外接矩形の増減の有無を判定することを特徴とする請求項３に記載の文書処理装置。
【請求項１０】
前記同期位置判定手段は、
隣接する複数の前記オブジェクトにおける外接矩形の幅に基づいて算出され、前記外接矩形の減少が発生した割合を示す削除誤り率を用いて、前記外接矩形の増加または減少のいずれが発生したかを判定することを特徴とする請求項３に記載の文書処理装置。
【請求項１１】
前記オブジェクトは文字を表すオブジェクトであることを特徴とする請求項１乃至１０のいずれか１項に記載の文書処理装置。
【請求項１２】
複数のオブジェクトを有する文書画像から、オブジェクト間隔を利用して同期信号と共に埋め込まれている透かし情報を抽出する文書処理方法であって、
前記文書画像に埋め込まれている、前記同期信号と前記透かし情報を示すデータ列を第１デジタル信号として抽出する第１デジタル信号抽出ステップと、
参照用同期信号を生成する参照用同期信号生成ステップと、
前記第１デジタル信号における前記同期信号の位置が正しいか否かを、前記第１デジタル信号と前記参照用同期信号との比較によって判定する同期位置判定ステップと、
前記同期位置判定ステップにおいて前記同期信号の位置が正しくないと判定された場合に、前記第１デジタル信号における前記同期信号の位置を訂正する同期位置訂正ステップと、
前記第１デジタル信号から、前記同期信号の位置に基づいて前記透かし情報を抽出する透かし情報抽出ステップと、
を有することを特徴とする文書処理方法。
【請求項１３】
コンピュータを請求項１乃至１１のいずれか１項に記載の文書処理装置として機能させるためのプログラム。
【請求項１４】
請求項１３に記載のプログラムを記憶したコンピュータ可読な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は文書処理装置および文書処理方法に関し、特に、文書に埋め込まれた透かし情報を抽出する文書処理装置および文書処理方法に関する。
【背景技術】
【０００２】
近年、文書処理の電子化技術の発達が著しく、それに伴って文書に対するセキュリティの徹底が求められている。このようなセキュリティ技術として、電子文書に電子透かし情報（以下、透かし情報）を埋め込み、これを抽出する、所謂電子透かし技術が注目されている。
【０００３】
電子透かし技術としては例えば、電子文書を画像化した文書画像に対して、その文字間隔を操作して透かし情報を埋め込む方法がある。具体的には図１に示すように、まず周知の文書画像解析技術によって各文字の外接矩形を切り出し、隣接する外接矩形間の空白長を取得することによって、文字間隔Ｐ，Ｓを得る。次に、図１に示す隣接する文字間隔ＰとＳの大小関係を変化させることで、０または１の透かし情報を埋め込む。ここで、Ｐは行頭から文字間隔の数を数えた場合に奇数番目にあたる文字間隔であり、Ｓは偶数番目にあたる文字間隔であるとする。すると抽出時には、埋め込み時と同様に文字間隔を取得していき、文字間隔ＰとＳの大小を比較することで、透かし情報が得られる（例えば特許文献１参照）。
【０００４】
また、文書画像からの透かし情報の抽出時にノイズや歪みなどが生じることが危惧されるが、このような場合に対応するために、同期信号を用いることによって透かし情報を忠実に抽出する方法が提案されている（例えば、特許文献２参照）。
【０００５】
ここで、文字間隔を操作して埋め込まれた透かし情報を忠実に抽出する方法の概要について説明する。
【０００６】
図２に、透かし情報の埋め込み例を示す。同図において、２０１は透かし情報が埋め込まれた文書画像における文字間隔列を示し、透かし情報を示すデータ部と、その同期信号とが、繰り返し埋め込まれている。
【０００７】
例えば、埋め込み前において、同期信号に対応する文字間隔情報が２０２のように構成されていたとすると、埋め込み時には、上述したように文字間隔ＰとＳの大小関係を所定の同期信号情報に基づいて２０３に示すように変化させる。すなわち２０３において、同期信号情報が１ならばＰ＞Ｓとし、０ならばＰ＜Ｓとしている。なお、２０３において斜体文字で示した先頭の「２０」および末尾の「３５」は、同期信号の開始および終了位置を示している。
【０００８】
図２のように埋め込まれたデータ部から透かし情報を抽出する際には、まず画像情報から順次抽出された画像信号について、埋め込み時の同期信号と比較することによって、該画像信号における同期信号の開始および終了位置を特定する。次に、各同期信号の開始および終了位置によって、データ部の位置および長さを特定する。そして、データ部の長さが埋め込み時と同じである場合のみ、該データ部から透かし情報を抽出する。この抽出は具体的に、Ｐ＞Ｓならば１を、Ｐ＜Ｓならば０を抽出する。そして最後に、抽出された各透かし情報を用いて多数決を行って、最終的な抽出情報を決定する。
【０００９】
以上説明したような電子透かし技術は、企業や個人が作成した機密文書が、紙媒体やＣＤ，ＤＶＤなどの記録媒体、またはネットワーク等を介して不正に流出してしまった場合に、その漏洩元の追跡等に利用される。
【特許文献１】特登録０３７２８２０９号
【特許文献２】特開２００４−２４７８８３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記従来の電子透かし技術においては、例えば図４のように埋め込まれた同期信号が正しく抽出できない場合がある。その一因として、ノイズや複写時の文字の太り等により、文字の外接矩形を誤って取得してしまい、文字間隔の数が埋め込み時と異なってしまうことが挙げられる。
【００１１】
ここで図３に、文字の外接矩形が誤って取得される例を示す。同図において、３０１は句点の後のノイズが文字として認識された例を示し、３０２は「訂」が「言」と「丁」の各文字に分割して認識された例を示す。また３０３は、「ト」と「・」が１つの文字として認識された例を示す。
【００１２】
図４は、以上のような誤認識によって、図２に示した同期信号２０３について、円で囲んで示した１つの文字間隔「２５」が増えた例を示している。このような場合には、抽出時と埋め込み時で同期信号が一致しないため、同期信号の開始および終了位置が不明となってしまい、同期信号が正しく抽出されない可能性が高かった。
【００１３】
本発明は上述した問題を解決するためになされたものであり、以下の機能を有する文書処理装置および文書処理方法を提供することを目的とする。すなわち、複数のオブジェクトを有する文書画像から、オブジェクト間隔を利用して同期信号と共に埋め込まれている透かし情報を抽出する際に、オブジェクトの誤認識が発生した場合でも同期信号を正しく特定して透かし情報を抽出する。
【課題を解決するための手段】
【００１４】
上記目的を達成するための一手段として、本発明の文書処理装置は以下の構成を備える。
【００１５】
すなわち、
【発明の効果】
【００１６】
上記構成からなる本発明によれば、文書画像から、オブジェクト間隔を利用して同期信号と共に埋め込まれている透かし情報を抽出する際に、オブジェクトの誤認識が発生した場合でも同期信号を正しく特定して透かし情報を抽出することができる。
【発明を実施するための最良の形態】
【００１７】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１８】
＜第１実施形態＞
本実施形態では、文書におけるオブジェクト間隔を利用して透かし情報の埋め込みおよび抽出を行なう例を示す。オブジェクトとしては、その外接矩形を認識できるものであれば良く、ここではオブジェクトとして文字を用いる例を示す。
【００１９】
●透かし埋め込み処理
まず、本実施形態における透かし情報の埋め込み処理について説明する。
【００２０】
図５は、本実施形態における透かし情報埋め込みを行うための概要構成を示すブロック図である。同図において、５０１は文書入力部であり、透かし情報の埋め込み対象となる文書５００を入力する。５０２は文字間隔取得部であり、入力された文書における文字間隔（文字の外接矩形の間隔）情報を取得し、文書と共に出力する。また、５０４は所定の透かし情報５０３を入力する透かし情報入力部、５０５は同期信号を生成する同期信号生成部であり、５０６は、これらの透かし情報と同期信号に基づいて、埋め込み対象となる埋め込みデータを生成する埋め込みデータ生成部である。また、５０７は埋め込みデータ埋め込み部であり、文字間隔取得部５０２で取得した文字間隔を埋め込みデータに応じて操作することによって、埋め込みデータを文書に埋め込む。そして５０８は出力部であり、埋め込みデータが埋め込まれた文書を、埋め込み済み文書５０９として出力する。
【００２１】
以下、本実施形態における透かし情報の埋め込み処理の詳細について、図６のフローチャートを用いて説明する。
【００２２】
まずステップＳ６０１で文書入力部５０１が、文書５００を入力する。ここで文書５００のフォーマットは特に限定されない。例えば、テキストファイルやポストスクリプト等の電子文書ファイルであっても良いし、文書を画像化したＢＭＰやＴＩＦＦ形式等の文書画像ファイルでも良い。
【００２３】
次にステップＳ６０２で文字間隔取得部５０２が、入力された文書５００から文字間隔情報を取得する。例えば文書５００が電子文書ファイルであれば、各フォーマットの文字間隔データ箇所を解析して、文字間隔情報を取得する。また文書画像であれば、上記従来例で示したように、文書画像解析技術によって各文字の外接矩形を切り出し、隣接する外接矩形間の空白長を、文字間隔情報として取得すれば良い。
【００２４】
次にステップＳ６０３で埋め込みデータ生成部５０６が、文書に埋め込むための埋め込みデータを生成する。具体的には、埋め込みデータ生成部５０６に対し、透かし情報５０３が透かし情報入力部５０４を介して入力され、また、同期信号生成部５０５で生成された同期信号が入力される。すると埋め込みデータ生成部５０６は、図２の２０１に示すように、同期信号とデータ部が繰り返し出現するような埋め込みデータを生成する。このとき、同期信号は固定長であり、本実施形態ではＭビット（Ｍは自然数）の擬似乱数系列を用いて作成されるものとするが、擬似乱数系列以外を用いても構わない。また、データ部も固定長であり、本実施形態ではＮビット（Ｎは自然数）の透かし情報を誤り訂正符号化した値によって構成されている。したがって、データ情報については抽出時のデータ誤りを訂正することができ、正しい透かし情報を得ることができる。なお、データ部は透かし情報そのもので構成されても良いし、また、データ部の長さを示す情報を埋め込みデータに加えることで、データ長自体を可変長にしても良い。
【００２５】
そしてステップＳ６０４で埋め込みデータ埋め込み部５０７が、ステップＳ６０２で取得した文字間隔を、埋め込みデータに応じて操作することによって、埋め込みデータを文書に埋め込む。この埋め込み方法としては、上記従来例に示したような２つの文字間隔Ｐ，Ｓの大小関係を利用した方法を適用する。
【００２６】
最後にステップＳ６０５で出力部５０８が、埋め込み済み文書５０９を出力する。この出力の具体例としては、プリンタ等による印刷出力や、電子媒体のままの出力等が考えられる。
【００２７】
●透かし抽出処理
次に、本実施形態における透かし情報の抽出処理について説明する。本実施形態の透かし抽出処理においては、上述した透かし埋め込み処理によって文書に埋め込まれた埋め込みデータから、透かし情報を抽出する。
【００２８】
図７は、本実施形態における透かし情報抽出を行うための概要構成を示すブロック図である。同図において、７０１は文書入力部であり、透かし情報の抽出対象である埋め込み済み文書７００を入力する。７０２は文字間隔取得部であり、入力された文書内の文字間隔情報を取得する。７０３は第１デジタル信号抽出部であり、得られた文字間隔情報から、その先頭より順次、文字間隔ＰとＳの組み合わせによって生成される第１デジタル信号を抽出する。７０４は参照用同期信号生成部であり、埋め込み時と同様の同期信号を生成し、これを参照用同期信号として出力する。７０５は同期位置判定部であり、第１デジタル信号と参照用同期信号に基づいて、第１デジタル信号内における同期信号の位置を判定する。７０６は同期位置訂正部であり、同期位置判定部７０５において同期信号位置が正しく判定できなかった場合に、同期信号の開始および終了位置を訂正する。７０７は同期位置格納部であり、同期位置判定部７０５で判定された同期信号位置、または同期位置訂正部７０６で訂正された同期信号位置を、その開始および終了位置として保持する。そして７０８は透かし情報抽出部であり、同期信号の開始および終了位置に基づいて、文字間隔情報から透かし情報７０９を抽出する。
【００２９】
以下、本実施形態における透かし情報抽出処理の詳細について、図８のフローチャートを用いて説明する。
【００３０】
まずステップＳ８０１で文書入力部７０１が、埋め込み済み文書７００を入力する。このとき、文書の媒体が印刷物である場合はスキャナ等を用いた入力を行い、電子文書ファイルである場合は画像ファイルに変換されるため、該埋め込み済み文書７００は以降の処理では文書画像として扱われる。
【００３１】
次にステップＳ８０２で文字間隔取得部７０２が、入力された文書画像から文字間隔情報を取得し、ステップＳ８０３で第１デジタル信号抽出部７０３が、該文字間隔情報から第１デジタル信号を抽出する。ここで第１デジタル信号は図１０に示すように、文字間隔の先頭から順に、文字間隔ＰとＳの大小関係によって１または０を表現したデータ列である。例えば、１番目の文字間隔Ｐと２番目の文字間隔Ｓ、また３番目の文字間隔Ｐと４番目の文字間隔Ｓ、等を用いて生成される。
【００３２】
なお、詳細は後述するが、本実施形態では同期位置訂正部７０６において、第１デジタル信号に対し、文字間隔の比較順を１つずらすことによって第２デジタル信号を生成し、これを同期位置訂正の際に利用する。例えば図１０に示すように第２デジタル信号は、２番目の文字間隔Ｓと３番目の文字間隔Ｐ、また４番目の文字間隔Ｓと５番目の文字間隔Ｐ、等を用いて、文書画像から生成される。
【００３３】
次にステップＳ８０４で同期位置判定部７０５が、第１デジタル信号内における同期信号位置、すなわち同期信号の開始および終了位置に該当する部分を選択する。以下、同期信号の開始位置に該当する文字間隔の位置をsync_start、同期信号の終わりの位置に該当する文字間隔の位置をsync_endとする。本実施形態では埋め込みデータが図２に示すように、同期信号Ｍビット、データ部Ｎビットが繰り返されて構成されている。したがって、初期のsync_startをsync_start_1とし、最初に取得された文字間隔とする。以降、後段のステップＳ８０９での同期検出ごとに、次の同期信号が存在する位置に移動する。例えば図２に示すように、sync_start_1の次はsync_start_2となる。なお図２の例では、sync_start_2は２０２での文字間隔「１７」の位置であり、sync_end_2は２０２での文字間隔「３２」である。
【００３４】
次にステップＳ８０５において同期位置判定部７０５は、ステップＳ８０４で選択したsync_startからsync_endまでの部分と参照用同期信号とを、図４に示すようにビット単位で、同じであるか否かを比較する。なお、参照用同期信号とは埋め込み時の同期信号を再現したものであり、図４に示す抽出信号が第１デジタル信号に相当する。以下、ここでの第１デジタル信号と参照用同期信号の比較を、単純比較と称する。この単純比較の結果、全てのビットで同じ値を持つ場合（完全一致）と、少なくとも一部のビットが異なる場合（非完全一致）の２通りの結果になる。
【００３５】
次にステップＳ８０６で同期位置判定部７０５は、ステップＳ８０５における比較の結果に応じて、処理を切り替える。すなわち、第１デジタル信号が参照用同期信号と完全一致する場合にはステップＳ８０７に進み、sync_startおよびsync_endを同期位置格納部７０７に格納する。一方、第１デジタル信号が参照用同期信号と非完全一致である場合にはステップＳ８０８に進み、同期位置訂正部７０６が同期誤り位置を特定して正しい同期位置に訂正する。このとき、訂正されたsync_startおよびsync_endを同期位置格納部７０７に格納する。なお、ステップＳ８０８における同期位置訂正処理の詳細については後述する。
【００３６】
ステップＳ８０７またはステップＳ８０８でsync_startおよびsync_endが格納されると、次にステップＳ８０９で同期位置判定部７０５は、文書内から全ての同期信号を検出したか否かを判定する。未検出の同期信号が残っている場合にはステップＳ８０４に戻って次の同期信号位置を選択する。
【００３７】
一方、全ての検出が終了していればステップＳ８１０に進み、透かし情報抽出部７０８において、文書間隔取得部７０２で取得された文字間隔情報から透かし情報７０９を抽出する。このとき、同期位置格納部７０７に格納されている各sync_start，sync_endを利用する。すなわち図２に示すように、まず、最初に格納されているsync_end（sync_end_1）の次の文字間隔から、次に格納されているsync_start（sync_start_2）の１つ前の文字間隔までをデータ部として抽出する。以降、同様に次のsync_start，sync_endを用いて、各データ部を順次抽出する。ただし、sync_startおよびsync_endがUNKNOWNを示す、すなわち不定である場合には、次に格納されているsync_startおよびsync_endを使用する。そして、抽出されたデータ部に対して誤り訂正符号の復号を行うことによって、透かし情報７０９を取得する。
【００３８】
●同期位置訂正処理
以下、上述したステップＳ８０８における同期位置訂正処理について、図９のフローチャートを用いて詳細に説明する。なお、この同期位置訂正処理は上述したように、第１デジタル信号と参照用同期信号とが非完全一致である場合に、その一致しない箇所すなわち同期誤り位置を特定し、これを正しい同期位置に訂正する処理であり、同期位置訂正部７０６において実行される。
【００３９】
まずステップＳ９０１において、最初の同期誤り位置（初誤り位置）が１ビット目であるか否かを判定し、該判定結果によって処理を切り替える。ここで、初誤り位置が１ビット目である場合は、後述するように、第１デジタル信号列における同期信号の前のデータ部において１つの外接矩形が増加したと考えられるため、ステップＳ９０２に進む。一方、初誤り位置が１ビット目でない場合は、後述するように同期信号内で１つの外接矩形が増加したと考えられるため、ステップＳ９０４に進む。ステップＳ９０２，Ｓ９０４では、外接矩形が埋め込み時よりも１つ増えたか否かを判断するが、以下、この処理を挿入比較処理と称する。
【００４０】
ステップＳ９０２では、データ部での誤りを想定した挿入比較を行なう。すなわち、図１０に示したような第２デジタル信号の２ビット目と参照用同期信号の１ビット目から順に、各ビット位置において同じ値であるか否かを比較する。全ての位置において同じ値であった、すなわち完全一致である場合は、外接矩形が１つ増えたと判定する。また、全ての位置において同じ値というわけではない、すなわち非完全一致である場合は、外接矩形は増えていないと判定する。
【００４１】
ここでステップＳ９０２における、データ部での誤りを想定した挿入比較処理の詳細について、図２３のフローチャートを用いて説明する。
【００４２】
まずステップＳ２３０１において、第２デジタル信号を生成する。具体的には、同期信号の前のデータ部における最後の文字間隔から順に、同期信号の後のデータ部における最初の文字間隔まで、文字間隔を２つずつ用いて、第１デジタル信号に対して文字間隔の組を１つずつずらした信号を第２デジタル信号として生成する。第２デジタル信号は図１０に示すように、第１デジタル信号における文字間隔の組を順方向に１つずつずらし、２番目から順にＳとＰの大小関係で１または０を抽出することによって生成される。例えば、２番目の文字間隔Ｓと３番目の文字間隔Ｐ、４番目の文字間隔Ｓと５番目の文字間隔Ｐなどを用いて抽出される。本実施形態ではこのように文字間隔の組を１つずつずらした第２デジタル信号を用いることによって、外接矩形の増減があるか否かを判断することができる。
【００４３】
次にステップＳ２３０２において、第２デジタル信号と参照用同期信号の比較を開始するために、互いの比較ビットの初期値をセットする。すなわち、第２デジタル信号の比較位置Ｘに２をセットし、参照用同期信号の比較位置Ｙに１をセットする。
【００４４】
次にステップＳ２３０３において、第２デジタル信号のＸビット目と、参照用同期信号のＹビット目の値が同じであるか否かを判定する。値が同じである場合はステップＳ２３０４に進むが、同じではない場合はステップＳ２３０７に進み、比較結果を「外接矩形増減不明」として処理を終了する。
【００４５】
一方、ステップＳ２３０４では、参照用同期信号においてＹビット目が最後のビットであるか否かを判定する。Ｙビット目が参照用同期信号の最後である場合はステップＳ２３０５に進み、比較結果を「外接矩形が１つ増えた」として処理を終了する。一方、Ｙビット目が参照用同期信号の最後ではない場合はステップＳ２３０６に進み、ＸおよびＹをそれぞれインクリメントしてステップＳ２３０３に戻り、比較処理を繰り返す。
【００４６】
ここで図２１に、ステップＳ９０２におけるデータ部での誤りを想定した挿入比較処理において、外接矩形が１つ増えた際の具体例を示し、説明する。同図においては、データ部に、円で囲んで示した値「２５」を有するビットが誤りビットとして増えてしまっている例を示している。
【００４７】
図２１のステップＳ２１０１において、第１デジタル信号と参照用同期信号を１ビット目から比較していく。このとき、データ部が固定長であるにもかかわらずデータ部内に誤りビットが増えているため、第１デジタル信号において本来であれば同期信号でない部分が、同期信号の１ビット目として検出されてしまう。ステップＳ２１０１に示す例では、本来の同期信号の第１ビット目は斜体で表された「２０」のビットであるが、データ部における誤りビットの発生により、本来はデータ部の最終ビットであった「２２」のビットが、同期信号の第１ビットとして検出される。したがって、同期信号の１ビット目が、初誤り位置となることが分かる。
【００４８】
次にステップＳ２１０２において、データ部の最終位置（この場合「２５」のビット）から第２デジタル信号を生成し、第２デジタル信号の２ビット目と参照用同期信号の１ビット目から順次比較していく。その結果、第２デジタル信号の２ビット目以降は全ての位置において参照用同期信号と同じ値であることから、この場合には外接矩形が１つ増加していると判定される。
【００４９】
以上のように、図９のステップＳ９０２においてデータ部での誤りを想定した挿入比較が終了すると、次にステップＳ９０３において、該挿入比較の結果、外接矩形が１つ増加しているか否かを判定する。増えた場合はステップＳ９０６に進むが、増えていない場合はステップＳ９０４に進む。
【００５０】
ステップＳ９０４では、同期信号での誤りを想定した挿入比較を行なう。すなわち、第２デジタル信号の２ビット目と、初誤り位置の次の位置から参照用同期信号の最後の位置まで順に、各ビット位置において同じ値であるか否かを比較する。
【００５１】
なお、ステップＳ９０４における、同期信号での誤りを想定した挿入比較処理の詳細は、上述したデータ部での誤りを想定した挿入比較処理を示す図２３のフローチャートとほぼ同様である。しかしながら、ステップＳ２３０１とステップＳ２３０２の処理が異なるため、ここではそれぞれをステップＳ２３０１ａ，Ｓ２３０２ａとして説明する。ステップＳ２３０１ａにおいては、初誤り位置から同期信号の後のデータ部における最初の文字間隔まで、第１デジタル信号に対して文字間隔の組を１つずつずらした信号を第２デジタル信号として生成する。そしてステップＳ２３０２ａでは、第２デジタル信号の比較位置Ｘにはやはり２をセットするが、参照用同期信号の比較位置Ｙとしては初誤り位置＋１をセットする。
【００５２】
ここで図１１に、ステップＳ９０４における同期信号での誤りを想定した挿入比較処理において、外接矩形が１つ増えた際の具体例を示し、説明する。同図においては、同期信号の中央付近に、円で囲んで示した値「２５」を有するビットが誤りビットとして増えてしまっている例を示している。
【００５３】
図１１のステップＳ１１０１において、第１デジタル信号と参照用同期信号を１ビット目から比較していった結果、初誤り位置が３ビット目にあることが分かる。次にステップＳ１１０２において、３ビット目以降から第２デジタル信号を生成し、第２デジタル信号の２ビット目と参照用同期信号の４ビット目（初誤り位置の次）から順次比較していく。その結果、第２デジタル信号の２ビット目以降は全ての位置において参照用同期信号と同じ値であることから、この場合には外接矩形が１つ増加していると判定される。
【００５４】
以上のように、図９のステップＳ９０４において同期信号での誤りを想定した挿入比較が終了すると、次にステップＳ９０５において、該挿入比較の結果、外接矩形が１つ増加しているか否かを判定する。増えた場合はステップＳ９０６に進むが、増えていない場合はステップＳ９０８に進む。
【００５５】
ステップＳ９０６においては、同期信号の開始および終了位置を示すsync_startおよびsync_endを増加補正する。すなわち、外接矩形の増加がデータ部で発生したと判定された場合は、sync_startおよびsync_endをインクリメントするが、同期信号で発生したと判定される場合には、sync_endのみをインクリメントする。そしてステップＳ９０７へ進み、補正したsync_startおよびsync_endを、透かし情報抽出部７０８に格納する。
【００５６】
ステップＳ９０８においては、初誤り位置が１ビット目であるか否かを判定し、該判定結果によって処理を切り替える。ここで、初誤り位置が１ビット目である場合は、後述するように同期信号の前のデータ部において１つの外接矩形が減少したと考られるため、ステップＳ９０９に進む。一方、初誤り位置が１ビット目でない場合は、後述するように同期信号内で１つの外接矩形が減少したと考られるため、ステップＳ９１１に進む。ステップＳ９０９，Ｓ９１１では、外接矩形が埋め込み時よりも１つ減ったか否かを判断するが、以下、この処理を削除比較と称する。
【００５７】
ステップＳ９０９では、データ部での誤りを想定した削除比較を行なう。すなわち、第２デジタル信号の１ビット目と参照用同期信号の１ビット目から順に、各ビット位置において同じ値であるか否かを比較する。全ての位置において同じ値であった、すなわち完全一致である場合は、外接矩形が１つ減ったと判定する。また、全ての位置において同じ値というわけではない、すなわち非完全一致である場合は、外接矩形は減っていないと判定する。
【００５８】
なお、ステップＳ９０９における、データ部での誤りを想定した削除比較処理の詳細は、上述した挿入比較処理を示す図２３のフローチャートと類似しているが、ステップＳ２３０２とステップＳ２３０５の処理が異なる。そこでここでは、それぞれをステップＳ２３０２ｂ，Ｓ２３０５ｂとして説明する。ステップＳ２３０２ｂでは、第２デジタル信号の比較位置Ｘに１をセットし、参照用同期信号の比較位置Ｙに１をセットする。そしてステップＳ２３０５ｂでは、比較結果を「外接矩形が１つ減った」として、処理を終了する。
【００５９】
ここで図２２に、ステップＳ９０９におけるデータ部での誤りを想定した削除比較処理において、外接矩形が１つ減った際の具体例を示し、説明する。同図においては、データ部の×で示した位置にあったビットが無くなってしまっている例を示している。
【００６０】
図２２のステップＳ２２０１において、第１デジタル信号と参照用同期信号を１ビット目から比較していく。このとき、データ部が固定長であるにもかかわらずデータ部内で１ビット分が減少しているため、本来であれば同期信号の第１ビット目であるはずのビットが、データ部の最終ビットとして検出されてしまう。ステップＳ２２０１に示す例では、本来の同期信号の第１ビット目は斜体で表された「２０」のビットであるが、データ部におけるビットの減少により、これがデータ部とみなされてしまい、同期信号の第１ビットとして「２６」のビットが誤検出されている。したがって、同期信号の１ビット目が、初誤り位置となることが分かる。
【００６１】
次にステップＳ２２０２において、データ部の最終位置（この場合「２０」のビット）から第２デジタル信号を生成し、第２デジタル信号の１ビット目と参照用同期信号の１ビット目から順次比較していく。その結果、第２デジタル信号の１ビット目以降は全ての位置において参照用同期信号と同じ値であることから、この場合には外接矩形が１つ減少していると判定される。
【００６２】
以上のように、図９のステップＳ９０９においてデータ部での誤りを想定した削除比較が終了すると、次にステップＳ９１０において、該削除比較の結果、外接矩形が１つ減少しているか否かを判定する。減った場合はステップＳ９１３に進むが、減っていない場合はステップＳ９１１に進む。
【００６３】
ステップＳ９１１では、同期信号での誤りを想定した削除比較を行なう。すなわち、第２デジタル信号の１ビット目と、初誤り位置の次の位置から参照用同期信号の最後の位置まで順に、各ビット位置において同じ値であるか否かを比較する。
【００６４】
なお、ステップＳ９１１における、同期信号での誤りを想定した削除比較処理の詳細は、上述した挿入比較処理を示す図２３のフローチャートと類似しているが、ステップＳ２３０１とステップＳ２３０２、およびステップＳ２３０５の処理が異なる。そこでここではそれぞれをステップＳ２３０１ｃ，Ｓ２３０２ｃ，Ｓ２３０５ｃとして説明する。ステップＳ２３０１ｃにおいては、初誤り位置から同期信号の後のデータ部における最初の文字間隔まで、第１デジタル信号に対して文字間隔の組を１つずつずらした信号を第２デジタル信号として生成する。そしてステップＳ２３０２ｃでは、第２デジタル信号の比較位置Ｘに１をセットし、参照用同期信号の比較位置Ｙとしては初誤り位置＋１をセットする。またステップＳ２３０５ｃでは、比較結果を「外接矩形が１つ減った」として、処理を終了する。
【００６５】
ここで図１２に、ステップＳ９１１における同期信号での誤りを想定した削除比較処理において、外接矩形が１つ減った際の具体例を示し、説明する。同図においては、同期信号の中央付近に、×で示した位置にあったビットが無くなってしまった例を示している。
【００６６】
図１２のステップＳ１２０１において、第１デジタル信号と参照用同期信号を１ビット目から比較していった結果、初誤り位置が５ビット目にあることが分かる。次にステップＳ１２０２において、５ビット目以降から第２デジタル信号を生成し、第２デジタル信号の１ビット目と参照用同期信号の６ビット目（初誤り位置の次）から順次比較していく。その結果、第２デジタル信号の１ビット目以降は全ての位置において参照用同期信号と同じ値であることから、この場合には外接矩形が１つ減少していると判定される。
【００６７】
以上のように、図９のステップＳ９１１において同期信号での誤りを想定した削除比較が終了すると、次にステップＳ９１２において、該削除比較の結果、外接矩形が１つ減少しているか否かを判定する。減った場合はステップＳ９１３に進むが、減っていない場合はステップＳ９１４に進む。
【００６８】
ステップＳ９１３においては、同期信号の開始および終了位置を示すsync_startおよびsync_endを減少補正する。すなわち、外接矩形の減少がデータ部で発生したと判定された場合は、sync_startおよびsync_endをデクリメントするが、同期信号で発生したと判定される場合には、sync_endのみをデクリメントする。
【００６９】
ステップＳ９１４においては、同期検出ができなかった場合の処理を行なう。具体的には、sync_startおよびsync_endに、検出できなかった旨を示すUNKNOWNを代入する。
【００７０】
そしてステップＳ９０７へ進み、補正したsync_startおよびsync_endを、透かし情報抽出部７０８に格納して、処理を終了する。
【００７１】
以上説明した様に本実施形態によれば、第１デジタル信号と参照用同期信号の単純比較により、誤りが生じたビット以降において、挿入比較および削除比較を行なう。挿入比較によれば外接矩形の１つの増加が判定でき、削除比較によれば外接矩形の１つの減少が判定できるため、外接矩形の１つの増減があった場合でも、同期信号の始まりと終わりの位置を正確に検出することが可能となる。
【００７２】
なお、本実施形態では初誤り位置が１ビット目である場合のみ、データ部での誤りを想定した挿入比較および削除比較を行なう例を示したが、初誤り位置の結果に依らず、最初にデータ部での誤りを想定した挿入比較および削除比較を行なっても構わない。
【００７３】
なお、本実施形態で説明した文字間隔の操作方法は一例に過ぎず、他の方法によって文字間隔を操作することも、本発明の範疇である。また、隣接する行間隔を２つ選択して、透かし情報を埋め込む場合や、複数の文字幅を用いて透かし情報を埋め込む場合にも、本実施形態は適用可能である。
【００７４】
なお、本実施形態ではオブジェクトとして文字を用いる例を示したが、外接矩形を認識できるもの、つまり文字に限らず写真、図形、文字の行、グラフもしくはそれらが混在した全てのオブジェクトに対し、本実施形態は適用可能である。
【００７５】
＜第２実施形態＞
以下、本発明に係る第２実施形態について説明する。
【００７６】
上述した第１実施形態においては、第２デジタル信号と参照用同期信号を比較することによって、外接矩形の増減を判定する例を示した。また第１実施形態では、挿入比較の後に削除比較を行なっているため、外接矩形が１つ減少しているにも関わらず、挿入比較の判定結果によっては、外接矩形が１つ増加したという誤判定が発生する可能性がある。
【００７７】
ここで図１３に、第１実施形態の挿入比較において誤判定が発生する具体例を示し、説明する。まず挿入比較を行う際には、図１３のステップＳ１３０１において、第１デジタル信号と参照用同期信号を１ビット目から比較していった結果、初誤り位置が６ビット目にあることが分かる。すると次にステップＳ１３０２において、６ビット目以降から第２デジタル信号を生成し、第２デジタル信号の２ビット目と参照用同期信号の６ビット目（初誤り位置の次）から順次比較していく。この場合、参照用同期信号の最後の１ビットのみについて比較を行うこととなるため、偶然にも一致してしまうことが容易に起こり得る。このような場合、実際には外接矩形が１つ削除されているにも関わらず、外接矩形が１つ増加していると誤判定されてしまう。
【００７８】
一方で、第１実施形態で示した第１デジタル信号と参照用同期信号の単純比較においては、外接矩形の増減が生じているにも関わらず、偶然に完全一致してしまう可能性もある。従って、上述した第１実施形態についてはさらに、外接矩形の増減をより正確に判定する必要がある。
【００７９】
そこで第２実施形態では上述した第１実施形態に対し、外接矩形の増減判定をより正確に行うことを目的とする。そのために、判定誤りの無い可能性を数値化した同期信頼度Ｄ１と、判定用の閾値Ｔｈ１、および、外接矩形の１つ削除があった可能性を数値化した削除誤り率Ｄ２と、その可能性を判定するための閾値Ｔｈ２、を用いる。
【００８０】
なお、第２実施形態においても、上述した図５に示す透かし情報の埋め込み装置によって文書に透かし情報が埋め込まれ、該埋め込み済み文書に対し、図７に示す透かし情報の抽出装置によって透かし情報が抽出される。第２実施形態における透かし情報の抽出処理は、上述した第１実施形態とほぼ同様であり、図８のフローチャートに従うが、そのステップＳ８０６〜Ｓ８０８による、同期位置訂正および格納処理の内容が異なる。以下、第２実施形態における同期位置訂正処理について、詳細に説明する。
【００８１】
●同期位置訂正および格納処理
第２実施形態における同期位置訂正および格納処理について、図１４のフローチャートを用いて詳細に説明する。図１４に示すフローチャートがすなわち、第１実施形態の図８におけるステップＳ８０６〜Ｓ８０８に置き換わる。
【００８２】
まずステップＳ８１２で同期位置判定部７０５において、同期信頼度Ｄ１および削除誤り率Ｄ２を用いて、外接矩形の増減の仮判定を行う。なお、この外接矩形増減の仮判定処理の詳細については後述する。
【００８３】
次にステップＳ８１３で同期位置判定部７０５において、ステップＳ８１２における外接矩形増減の仮判定結果に応じて、以降の処理を３パターンに切り替える。まず、１）外接矩形増減なし、またはデータ部で外接矩形増減ありの場合はステップＳ８１４に進み、そのままsync_startおよびsync_endを格納する。また、２）同期信号で外接矩形１つ増加の場合はステップＳ８１５に進み、同期位置訂正部７０６において第１実施形態と同様に、同期信号での誤りを想定した挿入比較およびsync_start、sync_endの訂正処理を行なう。また、３）同期信号で外接矩形１つ減少の場合はステップＳ８１６に進み、同期位置訂正部７０６において第１実施形態と同様に、同期信号での誤りを想定した削除比較およびsync_start、sync_endの訂正処理を行なう。
【００８４】
●外接矩形増減仮判定処理
以下、ステップＳ８１２における外接矩形増減の仮判定処理について、図１５のフローチャートを用いて詳細に説明する。上述したようにこの仮判定処理は同期信頼度Ｄ１および削除誤り率Ｄ２を用いて行われ、仮判定結果として、１）外接矩形の増減なし、またはデータ部で外接矩形増減あり、２）同期信号で１つ増加あり、３）同期信号で１つ減少あり、の３パターンが得られる。
【００８５】
まずステップＳ１５０１で、第１デジタル信号が全ての位置で参照用同期信号と同じ値である、すなわち完全一致しているか否かを判定し、完全一致である場合はステップＳ１５０２に進む。ステップＳ１５０２では、第１デジタル信号判定結果を「外接矩形増減なし、またはデータ部で外接矩形増減あり」として、処理を終了する。
【００８６】
一方、ステップＳ１５０１で第１デジタル信号と参照用同期信号が完全一致していないと判定された場合はステップＳ１５０３に進み、初誤り位置を初期化する。具体的には、初誤り位置を１ビット目に設定する。この初期化により、同期信号の信頼度を示す同期信頼度Ｄ１と閾値Ｔｈ１との比較を、同期信号の１ビット目から行うことができる。
【００８７】
次にステップＳ１５０４において、初誤り位置における同期信頼度Ｄ１を算出する。なお、同期信頼度Ｄ１の算出方法については後述するが、同期信頼度Ｄ１は外接矩形の増減が有れば１に近づき、増減が無ければ０に近づく、という特性を有している。
【００８８】
そしてステップＳ１５０５において、同期信頼度Ｄ１が閾値Ｔｈ１（０＜Ｔｈ１≦１）より大きいか否かを判定する。同期信頼度Ｄ１が閾値Ｔｈ１よりも大きい場合は、外接矩形の増減があるとみなしてステップＳ１５０６に進むが、同期信頼度Ｄ１が閾値Ｔｈ１以下である場合は、外接矩形の増減は無いとみなしてステップＳ１５１１に進む。
【００８９】
ステップＳ１５０６では、同期信号の全ビットにおいて同期信頼度Ｄ１と閾値Ｔｈ１を比較したか否かを判断する。全ビットでの比較が終了していた場合はステップＳ１５０７に進むが、未処理のビットが残っている場合にはステップＳ１５１０に進み、初誤り位置をインクリメントしてからステップＳ１５０４に戻る。
【００９０】
ステップＳ１５０７では、データ部での誤りを想定した挿入比較および削除比較を行なう。ここでの挿入比較および削除比較処理については、上述した第１実施形態と同様であるため、説明を省略する。
【００９１】
次にステップＳ１５０８では、ステップＳ１５０７における比較結果を受けて、外接矩形の増減があったか否かを判定する。増減ありの場合はステップＳ１５０９に進み、ステップＳ１５０７の比較結果に基づいてsync_startおよびsync_endを補正してからステップＳ１５０２に進むが、増減なしの場合はそのまま、ステップＳ１５０２に進む。そしてステップＳ１５０２において、第１デジタル信号判定結果を「外接矩形増減なし、またはデータ部で外接矩形増減あり」として、処理を終了する。
【００９２】
また、ステップＳ１５１１においては、ステップＳ１５０５で同期信頼度Ｄ１が閾値Ｔｈ１以下である、すなわち外接矩形の増減が無いと判定された場合に、初誤り位置の削除誤り率Ｄ２を算出する。なお、削除誤り率Ｄ２の詳細については後述するが、削除誤り率Ｄ２は外接矩形が１つ減少していれば１に近づき、外接矩形が１つ増加していれば０に近づく、という特性を有している。
【００９３】
そこでステップＳ１５１２において、削除誤り率Ｄ２が閾値Ｔｈ２（０＜Ｔｈ２≦１）より大きいか否かを判定し、削除誤り率Ｄ２が閾値Ｔｈ２よりも大きい場合は、外接矩形が１つ減少したとみなしてステップＳ１５１４に進む。そしてステップＳ１５１４において第１デジタル信号判定結果を「同期信号で外接矩形が１つ減少」として、処理を終了する。
【００９４】
一方、ステップＳ１５１２において削除誤り率Ｄ２が閾値Ｔｈ２以下である場合は、外接矩形が１つ増加したとみなしてステップＳ１５１３に進み、第１デジタル信号判定結果を「同期信号で外接矩形１つ増加」として、処理を終了する。
【００９５】
●同期信頼度Ｄ１
以下、第２実施形態における、外接矩形の増減が発生していない割合を示す同期信頼度Ｄ１について、詳細に説明する。
【００９６】
同期信頼度Ｄ１は、外接矩形に関する以下の性質を利用して定められる。すなわち、外接矩形の増減がない場合には、透かし情報の埋め込み時と抽出時とで、３文字間の文字幅はほぼ等しいという関係がある。図１６にこの具体例を示し、説明する。
【００９７】
図１６において、各四角形が各文字の外接矩形を示している。まず、１６０１が埋め込み時の３文字間の関係を示している。１６０１において、Ｐ１_inおよびＳ１_inはそれぞれ、同期信頼度Ｄ１の算出対象位置における埋め込み時の文字間隔ＰおよびＳを示す。またＷ１_in，Ｗ２_in，Ｗ３_inは、Ｐ１_inとＳ１_inを構成する３つの外接矩形のそれぞれの文字幅を示す。
【００９８】
ここで、埋め込み時の３文字間の距離Embed_3Lは、以下の(1)式で示される。
【００９９】
Embed_3L＝Ｗ１_in＋Ｐ１_in＋Ｗ２_in＋Ｓ１_in＋Ｗ３_in      ・・・(1)
また、１６０２は抽出時の３文字間の関係を示している。１６０２において、Ｐ１_outおよびＳ１_outはそれぞれ、同期信頼度Ｄ１の算出対象位置における抽出時の文字間隔ＰおよびＳを示す。またＷ１_out，Ｗ２_out，Ｗ３_outは、Ｐ１_outとＳ１_outを構成する３つの外接矩形のそれぞれの文字幅を示す。なお１６０２において、埋め込み時と比べて値が変化した文字幅および文字間隔に関しては、記号を太字で表している。この例では、２文字目の文字幅Ｗ２_outが、複写による文字の太りによって、埋め込み時のＷ２_inから変化している。
【０１００】
ここで、抽出時の３文字間の距離Extract_3Lは、以下の(2)式で示される。
【０１０１】
Extract_3L＝Ｗ１_out＋Ｐ１_out＋Ｗ２_out＋Ｓ１_out＋Ｗ３_out      ・・・(2)
従って、埋め込み時と抽出時の関係より、以下の(3)式が成り立つ。
【０１０２】
Embed_3L≒Extract_3L      ・・・(3)
また、埋め込み時の３文字間の距離Embed_3Lは、平均埋め込み領域幅Embed_3L_aveと等しいと考えられる。すなわち、抽出時の文字幅の平均値Ｗ_out_aveと、文字間隔の平均値charsp_out_aveを用いて、Embed_3L_aveを以下の(4)式によって表すことができる。
【０１０３】
Embed_3L_ave＝３×Ｗ_out_ave＋２×charsp_out_ave      ・・・(4)
従って、同期信頼度Ｄ１は以下の(5)式で表される。
【０１０４】
【数１】
2010034884.tif 000003
【０１０５】
なお、(5)式においてαは１よりも大きい任意の定数であり、例えば、１．１と設定する。また、Ｗ_out_aveおよびcharsp_out_aveとしては、文書の１行の平均に基づいたものであっても良いし、１ページ単位の平均であっても良い。
【０１０６】
(5)式のように算出される同期信頼度Ｄ１は、埋め込み時と抽出時で３文字間の距離に差がないほど１に近づき、差があるほど０に近づくことになる。言い換えれば同期信頼度Ｄ１は、外接矩形の増減がなければ１に近づき、外接矩形の増減があれば０に近づく。したがって第２実施形態では図１５のステップＳ１５０５において、同期信頼度Ｄ１の値に基づいて外接矩形の増減の有無を判定することができる。
【０１０７】
●削除誤り率Ｄ２
以下、第２実施形態における、外接矩形の減少が発生した割合を示す削除誤り率Ｄ２について、詳細に説明する。
【０１０８】
削除誤り率Ｄ２は、外接矩形に関する以下の性質を利用して定められる。すなわち、外接矩形が１つ減った場合には、埋め込み時の２文字が１文字として抽出されてしまい、埋め込み時の３文字間の幅は抽出時の２文字間の幅にほぼ等しくなる、という関係がある。図１７にこの具体例を示し、説明する。
【０１０９】
図１７には図１６と同様に、文字間隔や文字幅などが示されている。図１７において、１７０１は４文字の埋め込み時の状態を示している。それに対して１７０２は、２文字目と３文字目の外接矩形が結合して３文字として抽出された場合を示し、１７０３は１文字目と２文字目の外接矩形が結合して３文字として抽出された場合を示す。なお、Ｐ１_inは、上述した同期信頼度Ｄ１の算出対象位置における、埋め込み時の文字間隔ＰおよびＳを示す。またＰ２_inは、削除誤り率Ｄ２の算出対象位置の次の位置における、埋め込み時の文字間隔ＰおよびＳを示す。
【０１１０】
ここで、抽出時の先頭２文字間の距離Extract_2Lは、以下の(6)式によって示される。
【０１１１】
Extract_2L＝Ｗ１_out＋Ｐ１_out＋Ｗ２_out      ・・・(6)
すると、埋め込み時と抽出時の関係より、抽出時の３文字間の距離Extract_3Lについて以下の(7)式が成り立つ。
【０１１２】
Embed_3L≒Extract_2L      ・・・(7)
さらに、同期信頼度Ｄ１の場合と同様に、平均埋め込み領域幅Embed_3L_aveを用いて、削除誤り率Ｄ２は以下の(8)式で表される。
【０１１３】
【数２】
2010034884.tif 000004
【０１１４】
なお、(8)式においてβは１よりも大きい任意の定数であり、例えば、１．１と設定する。
【０１１５】
(8)式のように算出される削除誤り率Ｄ２は、埋め込み時の３文字間の距離と、抽出時の２文字間の距離に差がないほど１に近づき、差があるほど０に近づくことになる。言い換えれば削除誤り率Ｄ２は、外接矩形が１つ減少していれば１に近づき、外接矩形が１つ増加していれば０に近づく。したがって第２実施形態では図１５のステップＳ１５１２で削除誤り率Ｄ２の値に基づいて、外接矩形が１つ増加したのか、それとも１つ減少したのか、を判定することができる。
【０１１６】
ここで図１８に、第１実施形態の挿入比較では誤判定が発生する図１３の例を、第２実施形態における外接矩形増減判定によって処理した例を示す。
【０１１７】
まず、同期信頼度Ｄ１と、０．８に設定した閾値Ｔｈ１とに基づいて、６ビット目が外接矩形増減による誤りであると検出される。次に、削除誤り率Ｄ２と、０．６に設定した閾値Ｔｈ２とに基づいて、外接矩形が１つ減少したとみなされる。したがってこの場合には後段の処理として挿入比較を行わずに、削除比較による同期位置訂正を行なえば良いことが分かる。
【０１１８】
なお、第２実施形態では、同期信頼度Ｄ１と削除誤り率Ｄ２を用いて外接矩形の増減判定を行う例を示したが、その他の信頼度を用いて増減判定を行っても良い。他の信頼度の例としては、文字の高さを用いる信頼度、等が考えられる。
【０１１９】
以上説明したように第２実施形態によれば、同期信頼度Ｄ１と削除誤り率Ｄ２を用いて外接矩形の増減判定を行うことによって、単純比較における誤りが、データ誤りによるものか、同期信号での外接矩形の増減によるものか、を判定することができる。また、同期信号での誤りを想定した挿入比較、または同期信号での誤りを想定した削除比較の、いずれを適用すべきかを判定することができるため、上述した第１実施形態よりも外接矩形の増減判定をより正確に行なうことができる。
【０１２０】
なお第２実施形態では、削除誤り率Ｄ２と閾値Ｔｈ２により、同期信号において外接矩形が１つ減ったか増えたかをステップＳ８１２で仮判定し、該仮判定結果を確認するために、ステップＳ８１５やＳ８１６で挿入比較および削除比較を行なう例を示した。しかしながら、全体の処理を高速化するために確認用の挿入比較および削除比較を行わないようにしても良い。また、さらなる高速化を実現するために、削除誤り率Ｄ２と閾値Ｔｈ２を用いずに、同期信頼度Ｄ１と閾値Ｔｈ１のみを用いた処理を行っても良い。
【０１２１】
＜第３実施形態＞
以下、本発明に係る第３実施形態について説明する。第３実施形態においては、上述した第２実施形態における同期信頼度Ｄ１を、他の方法によって算出することを特徴とする。また、同期信頼度Ｄ１に基づいて検出された初誤り位置以降については上述した第１実施形態と同様の処理を行なうとし、削除誤り率Ｄ２は使用しないため、第２実施形態よりも高速処理が可能となる。
【０１２２】
●同期信頼度Ｄ１
以下、第３実施形態における、外接矩形の増減が発生していない割合を示す同期信頼度Ｄ１について、詳細に説明する。
【０１２３】
第３実施形態における同期信頼度Ｄ１は、透かし情報の埋め込み時における以下の性質を利用して定められる。すなわち、外接矩形の増減がない場合には、透かし情報の埋め込み時に、所望の文字間隔への調整を行うために用いられる間隔操作値Ｘと、２つの文字間隔Ｐ，Ｓに基づいた関係が維持される。なお、間隔操作値Ｘは任意の値であり、ここではＸ＝３に設定する。
【０１２４】
ここで図２０に、透かし情報として０を埋め込むために、間隔操作値Ｘを用いて文字間隔Ｐ，Ｓを操作する例を示す。図２０において、２００１は透かし情報の埋め込み前における、文字間隔ＰとＳの関係を示している。また２００２は、文字間隔Ｐ＝Ｓとするために、２番目の外接矩形を移動させた例を示す。また２００３は、さらに間隔操作値Ｘを用いて、２００２で等しくなるように制御された文字間隔Ｐ，Ｓをそれぞれ、Ｐ＝Ｐ＋Ｘ，Ｓ＝Ｓ−Ｘとなるように変化させ、Ｐ＜Ｓを実現することによって透かし情報０を埋め込んだ例を示す。
【０１２５】
図２０によれば、２００３に示す間隔操作値Ｘを用いた透かし情報埋め込み時には、以下の(9)式が成り立つことが分かる。
【０１２６】
｜｜Ｐ−Ｓ｜−２Ｘ｜＝０      ・・・(9)
したがって、透かし情報抽出時に外接矩形の増減がなければ、(9)式が成立していると考えられる。
【０１２７】
ここで第３実施形態における同期信頼度Ｄ１は、以下の(10)式によって示される。
【０１２８】
【数３】
2010034884.tif 000005
【０１２９】
なお、(10)式においてγは１よりも大きい任意の定数であり、例えば、１．１と設定する。
【０１３０】
(10)式のように算出される同期信頼度Ｄ１は、(9)式の関係に変化がないほど１に近づき、変化があるほど０に近づくことになる。言い換えれば同期信頼度Ｄ１は、外接矩形の増減がなければ１に近づき、外接矩形の増減があれば０に近づく。したがって第３実施形態においても、上述した第２実施形態と同様に、同期信頼度Ｄ１の値に基づいて外接矩形の増減の有無を判定することができる。
【０１３１】
以上説明したように第３実施形態によれば、同期信頼度Ｄ１を２つの文字間隔Ｐ，Ｓと間隔操作値Ｘに基づいて定めることにより、上述した第２実施形態において３文字間の幅を用いる場合よりも演算量が減少し、処理速度が向上する。
【０１３２】
なお第３実施形態では、透かし情報埋め込み時の文字間隔操作方法の一例に基づいて、同期信頼度Ｄ１を算出する例を示したが、本発明はもちろんこの例に限定されない。その他の種々の文字間隔操作方法に基づいてＤ１を算出し、外接矩形の増減判定に適用することが可能である。
【０１３３】
また、第３実施形態においても第２実施形態と同様に、削除誤り率Ｄ２および閾値Ｔｈ２を用いても良い。
【０１３４】
＜第４実施形態＞
以下、本発明に係る第４実施形態について説明する。第４実施形態においては、上述した第１乃至第３実施形態に係る処理を、コンピュータシステムにおいて行なうことを特徴とする。
【０１３５】
図１９は、第４実施形態におけるコンピュータシステムの基本構成を示すブロック図である。このコンピュータシステムにおいて、上述した各実施形態における全ての機能を実行させるには、各機能構成をプログラムにより表現し、このコンピュータシステムに読み込ませることになる。
【０１３６】
図１９において、１９０１はＣＰＵであり、ＲＡＭ１９０２やＲＯＭ１９０３に格納されているプログラムやデータを用いて、システム全体の制御を行うと共に、上述した各実施形態で説明した各処理を行なう。１９０２はＲＡＭであり、外部記憶装置１９０８からロードされたプログラムやデータ、他のコンピュータシステム１９１４からＩ／Ｆ（インターフェース）１９１５を介してダウンロードしたプログラムやデータを一時的に記憶するエリアを備える。ＲＡＭ１９０２はまた、ＣＰＵ１９０１が各種の処理を行なうために必要とする作業用エリアを備える。１９０３はＲＯＭであり、コンピュータシステムにおける機能プログラムや設定データ等を記憶する。
【０１３７】
１９０４はディスプレイ制御装置であり、画像や文字等をディスプレイ１９０５に表示させるための制御を行なう。１９０５はディスプレイであり、画像や文字などを表示する。なお、ディスプレイ１９０５としてはＣＲＴや液晶画面などが適用可能である。１９０６は操作入力デバイスであり、キーボードやマウス等、ＣＰＵ１９０１に各種のユーザ指示を入力可能なデバイスにより構成される。１９０７は、操作入力デバイス１９０６を介して入力された各種の指示等を、ＣＰＵ１９０１に通知するためのＩ／Ｏである。１９０８は、ハードディスク等の大容量情報記憶装置として機能する外部記憶装置であり、ＯＳ（オペレーティングシステム）や上記各実施形態に係る処理をＣＰＵ１９０１に実行させるためのプログラム、入出力原稿画像、等を記憶する。外部記憶装置１９０８への情報の書き込みや、外部記憶装置１９０８からの情報の読み出しは、Ｉ／Ｏ１９０９を介して行われる。
【０１３８】
１９１０は文書や画像を印刷出力するためのプリンタであり、出力データはＩ／Ｏ１９１１を介してＲＡＭ１９０２、もしくは外部記憶装置１９０８から送られる。なお、プリンタ１９１０としては、例えばインクジェットプリンタ、レーザビームプリンタ、熱転写型プリンタ、ドットインパクトプリンタなどが挙げられる。１９１２は文書や画像を読み取るためのスキャナであり、入力データはＩ／Ｏ１９１３を介してＲＡＭ１９０２、もしくは外部記憶装置１９０８に送られる。そして１９１６は、ＣＰＵ１９０１、ＲＯＭ１９０３、ＲＡＭ１９０２、Ｉ／Ｏ１９１１、Ｉ／Ｏ１９０９、ディスプレイ制御装置１９０４、Ｉ／Ｆ１９１５、Ｉ／Ｏ１９０７、Ｉ／Ｏ１９１３を繋ぐバスである。
【０１３９】
以上説明したように第４実施形態によれば、上述した第１乃至第３実施形態で示した同期信号の検出処理ひいては透かし検出処理を、コンピュータシステムにおいて実現することが可能となる。
【０１４０】
なお第４実施形態では、上記各実施形態の機能を実現するためのプログラムを用意し、これをＣＰＵ１９０１の制御の下に実行する例を示したが、その一部を専用のハードウェア回路等によって実現するようにしても良い。この専用ハードウェア回路としては、スキャナ１９１２やプリンタ１９１０等の外部装置内に備えられたものを適用することも可能である。
【０１４１】
なお、上記各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【０１４２】
＜他の実施形態＞
本発明は例えば、システム、装置、方法、プログラム若しくは記憶媒体(記録媒体)等としての実施態様をとることが可能である。具体的には、複数の機器（例えば、ホストコンピュータ、インタフェース機器、スキャナ、webアプリケーション等）から構成されるシステムに適用しても良いし、また、１つの機器からなる装置に適用しても良い。
【０１４３】
本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。なお、この場合のプログラムとは、実施形態において図に示したフローチャートに対応したコンピュータ可読のプログラムである。
【０１４４】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１４５】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【０１４６】
プログラムを供給するための記録媒体としては、以下に示す媒体がある。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM，DVD-R)などである。
【０１４７】
プログラムの供給方法としては、以下に示す方法も可能である。すなわち、クライアントコンピュータのブラウザからインターネットのホームページに接続し、そこから本発明のコンピュータプログラムそのもの(又は圧縮され自動インストール機能を含むファイル)をハードディスク等の記録媒体にダウンロードする。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【０１４８】
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせることも可能である。すなわち該ユーザは、その鍵情報を使用することによって暗号化されたプログラムを実行し、コンピュータにインストールさせることができる。
【０１４９】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１５０】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、実行されることによっても、前述した実施形態の機能が実現される。すなわち、該プログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行うことが可能である。
【図面の簡単な説明】
【０１５１】
【図１】文書画像に対して、文字の外接矩形に基づく文字間隔を操作して透かし情報を埋め込む方法を説明する図である。
【図２】透かし情報の埋め込み例を示す図である。
【図３】文字の外接矩形が誤って取得される例を示す図である。
【図４】透かし情報の抽出時における同期信号の単純比較例を示す図である。
【図５】本発明に係る第１実施形態における透かし情報の埋め込みを行うための概要構成を示すブロック図である。
【図６】第１実施形態における透かし情報の埋め込み処理を示すフローチャートである。
【図７】第１実施形態における透かし情報の抽出処理を行うための概要構成を示すブロック図である。
【図８】第１実施形態における透かし情報の抽出処理を示すフローチャートである。
【図９】第１実施形態における同期位置訂正処理を示すフローチャートである。
【図１０】第１実施形態における第１デジタル信号および第２デジタル信号の抽出例を示す図である。
【図１１】第１実施形態における、同期信号での誤りを想定した挿入比較処理の具体例を示す図である。
【図１２】第１実施形態における、同期信号での誤りを想定した削除比較処理の具体例を示す図である。
【図１３】第１実施形態において、挿入比較による誤判定が発生する具体例を示す図である。
【図１４】第２実施形態における同期位置訂正および格納処理を示すフローチャートである。
【図１５】第２実施形態における外接矩形増減の仮判定処理を示すフローチャートである。
【図１６】第２実施形態において、外接矩形の増減がない場合に、透かし情報の埋め込み時と抽出時で３文字幅がほぼ等しくなる例を示す図である。
【図１７】第２実施形態において、外接矩形が１つ減った場合に、透かし情報の埋め込み時の３文字幅が抽出時の２文字幅にほぼ等しくなる例を示す図である。
【図１８】第２実施形態における外接矩形増減判定処理の具体例を示す図である。
【図１９】第４実施形態におけるコンピュータシステムの基本構成を示すブロック図である。
【図２０】第３実施形態における、間隔操作値Ｘを用いた文字間隔操作によって透かし情報を埋め込む方法を示す図である。
【図２１】第１実施形態における、データ部での誤りを想定した挿入比較処理の具体例を示す図である。
【図２２】第１実施形態における、データ部での誤りを想定した削除比較処理の具体例を示す図である。
【図２３】第１実施形態における、データ部での誤りを想定した挿入比較処理を示すフローチャートである。
【図１】
2010034884.tif 000006
【図２】
2010034884.tif 000007
【図３】
2010034884.tif 000008
【図４】
2010034884.tif 000009
【図５】
2010034884.tif 000010
【図６】
2010034884.tif 000011
【図７】
2010034884.tif 000012
【図８】
2010034884.tif 000013
【図９】
2010034884.tif 000014
【図１０】
2010034884.tif 000015
【図１１】
2010034884.tif 000016
【図１２】
2010034884.tif 000017
【図１３】
2010034884.tif 000018
【図１４】
2010034884.tif 000019
【図１５】
2010034884.tif 000020
【図１６】
2010034884.tif 000021
【図１７】
2010034884.tif 000022
【図１８】
2010034884.tif 000023
【図１９】
2010034884.tif 000024
【図２０】
2010034884.tif 000025
【図２１】
2010034884.tif 000026
【図２２】
2010034884.tif 000027
【図２３】
2010034884.tif 000028