(57)【要約】【課題】  電子透かし情報の埋め込み側と抽出側とにおいて、電子透かし情報が埋め込まれた文字群として、全く同じ文字群を認識することができる様にすること、また抽出側において、上記文字列から全ての電子透かし情報を確実に抽出できるようにする。【解決手段】  注目文字に埋め込まれる可能性の有るいずれの電子透かし情報を埋め込んだとしても、前記注目文字が隣接文字に対して所定距離隔てた状態を維持できるか否かを判定する判定工程と、この判定結果に応じて電子透かし情報の埋め込み対象を設定する設定工程とを備える。【選択図】  図１
2005020707.tif 000002
【特許請求の範囲】
【請求項１】
所定方向に並ぶ文字列における注目文字を、前記所定方向へ移動することにより、電子透かし情報を埋め込む情報処理方法であって、
前記注目文字に埋め込まれる可能性の有るいずれの電子透かし情報を埋め込んだとしても、前記注目文字が隣接文字に対して所定距離隔てた状態を維持できるか否かを判定する判定工程と、
該判定工程で所定距離隔てた状態を維持できると判定した場合には、前記注目文字を電子透かし情報の埋め込み対象として設定し、前記状態を維持できないと判定した場合には、前記注目文字を電子透かし情報の埋め込み対象でないものとして設定する設定工程と、
該設定工程で埋め込み対象として設定された文字の位置を、電子透かし情報に基づいて調節する調節工程とを備えることを特徴とする情報処理方法。
【請求項２】
前記注目文字の１つに埋め込まれる可能性の有る情報は、０または１を示す１ビットの情報であることを特徴とする請求項１に記載の情報処理方法。
【請求項３】
前記所定距離は、１画素に相当することを特徴とする請求項１に記載の情報処理方法。
【請求項４】
前記所定距離は、１画素より多い複数画素に相当することを特徴とする請求項１に記載の情報処理方法。
【請求項５】
所定方向に並ぶ文字列における注目文字を、前記所定方向へ移動することにより、電子透かし情報を埋め込む情報処理装置であって、
前記注目文字に埋め込まれる可能性の有るいずれの電子透かし情報を埋め込んだとしても、前記注目文字が隣接文字に対して所定距離隔てた状態を維持できるか否かを判定する判定手段と、
該判定手段により所定距離隔てた状態を維持できると判定した場合には、前記注目文字を電子透かし情報の埋め込み対象として設定し、前記状態を維持できないと判定した場合には、前記注目文字を電子透かし情報の埋め込み対象でないものとして設定する設定手段と、
該設定手段により埋め込み対象として設定された文字の位置を、電子透かし情報に基づいて調節する調節手段とを備えることを特徴とする情報処理装置。
【請求項６】
所定方向に並ぶ文字列における注目文字を、前記所定方向へ移動することにより、電子透かし情報を埋め込む為のプログラムであって、
前記注目文字に埋め込まれる可能性の有るいずれの電子透かし情報を埋め込んだとしても、前記注目文字が隣接文字に対して所定距離隔てた状態を維持できるか否かを判定する判定工程と、
該判定工程で所定距離隔てた状態を維持できると判定した場合には、前記注目文字を電子透かし情報の埋め込み対象として設定し、前記状態を維持できないと判定した場合には、前記注目文字を電子透かし情報の埋め込み対象でないものとして設定する設定工程と、
該設定工程で埋め込み対象として設定された文字の位置を、電子透かし情報に基づいて調節する調節工程とを含むコンピュータプログラム。
【請求項７】
前記請求項６に記載のコンピュータプログラムを、所定の情報処理装置から読み取り可能な状態で記憶したコンピュータ可読記憶媒体。
【請求項８】
所定方向に並ぶ文字列における注目文字を前記所定方向へ移動することにより埋め込まれた電子透かし情報を、前記文字列から抽出する情報処理方法であって、
前記注目文字に埋め込まれる可能性の有るいずれの電子透かし情報を埋め込んだとしても、前記注目文字が隣接文字に対して所定距離隔てた状態を維持できるか否かを判定する判定工程と、
該判定工程で所定距離隔てた状態を維持できると判定した場合には、前記注目文字を電子透かし情報の埋め込み対象であるとして設定し、前記状態を維持できないと判定した場合には、前記注目文字を電子透かし情報の埋め込み対象でないものとして設定する設定工程と、
該設定工程で埋め込み対象として設定された文字のみから、電子透かし情報を抽出する抽出工程とを備えることを特徴とする情報処理方法。
【請求項９】
前記注目文字の１つに埋め込まれる可能性の有る情報は、０または１を示す１ビットの情報であることを特徴とする請求項８に記載の情報処理方法。
【請求項１０】
前記所定距離は、１画素に相当することを特徴とする請求項８に記載の情報処理方法。
【請求項１１】
前記所定距離は、１画素より多い複数画素に相当することを特徴とする請求項８に記載の情報処理方法。
【請求項１２】
所定方向に並ぶ文字列における注目文字を前記所定方向へ移動することにより埋め込まれた電子透かし情報を、前記文字列から抽出する情報処理装置であって、
前記注目文字に埋め込まれる可能性の有るいずれの電子透かし情報を埋め込んだとしても、前記注目文字が隣接文字に対して所定距離隔てた状態を維持できるか否かを判定する判定手段と、
該判定手段で所定距離隔てた状態を維持できると判定した場合には、前記注目文字を電子透かし情報の埋め込み対象であるとして設定し、前記状態を維持できないと判定した場合には、前記注目文字を電子透かし情報の埋め込み対象でないものとして設定する設定手段と、
該設定手段で埋め込み対象として設定された文字のみから、電子透かし情報を抽出する抽出手段とを備えることを特徴とする情報処理装置。
【請求項１３】
所定方向に並ぶ文字列における注目文字を前記所定方向へ移動することにより埋め込まれた電子透かし情報を、前記文字列から抽出する為のコンピュータプログラムであって、
前記注目文字に埋め込まれる可能性の有るいずれの電子透かし情報を埋め込んだとしても、前記注目文字が隣接文字に対して所定距離隔てた状態を維持できるか否かを判定する判定工程と、
該判定工程で所定距離隔てた状態を維持できると判定した場合には、前記注目文字を電子透かし情報の埋め込み対象であるとして設定し、前記状態を維持できないと判定した場合には、前記注目文字を電子透かし情報の埋め込み対象でないものとして設定する設定工程と、
該設定工程で埋め込み対象として設定された文字のみから、電子透かし情報を抽出する抽出工程とを含むコンピュータプログラム。
【請求項１４】
前記請求項１３に記載のコンピュータプログラムを、所定の情報処理装置から読み取り可能な状態で記憶したコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子透かし情報の埋め込みまたは抽出技術を適用する情報処理方法および情報処理装置およびコンピュータプログラムおよびこれを記憶した記憶媒体に関するものである。
【背景技術】
【０００２】
近年、文字、画像、音声などのディジタルデータ化が進むなかで、ディジタルデータそのものの不正コピー防止や、ディジタルデータとメタデータの関連付け等が求められている。
【０００３】
一方、文書画像等は依然として印刷物として配布されることが多い。このように、ディジタルデータと印刷物とが併用されているので、ディジタルデータを印刷物として配布する際の配布先の制御や、印刷物とディジタルデータとをリンクさせるような技術も求められている。このような状況において、静止画などの多値画像や文書画像に電子透かし情報を埋め込む手法が提案されている。
【０００４】
電子透かし情報の埋め込みとは、一般に、画像データや音声データ、文字データなどに、人間に知覚出来ないようにオリジナルデータの一部を変更して別の情報を埋め込む技術である。
【０００５】
例えば、多値画像における電子透かし技術としては、画素の濃度の冗長性を利用した種々の方法が知られている。しかしながら、文書画像のような二値画像には冗長度が少なく、電子透かし技術を実現するのが難しい。これを考慮して、文書画像に特有の特徴を利用した電子透かし方式もいくつか知られている。
【０００６】
例えば、行のベースラインを動かす方法、単語間の空白の長さを操作（変更）する方法、及び、文字を回転して傾斜を操作（変更）する方法、文字間の空白の長さを操作（変更）する方法などが挙げられる。これらの微小の操作（変更）により、文書画像にも別の情報を埋め込むことができる。
【０００７】
具体例として、文字間の空白の長さを操作（変更）する方法（例えば非特許文献１）を、図９と図１０を用いて説明する。
【０００８】
図９は、電子透かし情報の埋め込み前の文書画像の一部を示す図である。図１０は、図９の文書画像の一部に対して透かし情報を埋め込んだ後の文書画像の一部を示す図である。図９に示される各文字間の空白長Ｐ0、Ｓ0、Ｐ1、Ｓ1は、透かし情報が埋め込まれると、図１０に示される各文字間の空白長Ｐ0'、Ｓ0'、Ｐ1'、Ｓ1'になる。図９及び図１０では、文字が５文字、文字間の空白が４つある。１ビットに対して２つの空白長を割り当てることから、４つの空白によって２ビットの情報を埋め込むことが可能である。
【０００９】
例えば、Ｐ＞Ｓ が“１”を表し、Ｐ＜Ｓが“０”を表すとする。そこで、図９においてＰ0とＳ0との間の文字を左に、Ｐ1とＳ1との間の文字を右にシフトした場合、埋め込み後の文書画像の一部である図１０では、Ｐ0'＜Ｓ0'、Ｐ1'＜Ｓ1'となり、“０”、“０”というビット列（２ビット）が埋め込まれたことになる。
【非特許文献１】King Mongkut大学による「Electronic document data hiding technique using inter-character space」, The 1998 IEEE Asia-Pacific Conf. On Circuits and Systems,1998,pp.419-422.
【発明の開示】
【発明が解決しようとする課題】
【００１０】
このような文書用の電子透かし情報の埋め込みにおいて、互いの外接矩形の位置関係が理由で、情報を埋め込むことができない場所が生じる場合がある。例えば、図１１のように、各Ｐ、Ｓの長さが１画素の場合、外接矩形を左右どちらに移動しても、隣の外接矩形に接触してしまい、移動することができない。
【００１１】
このような場合、例えば、電子透かし情報の抽出側では、埋め込み側で埋め込めなかった上述の場所が、もともと情報が埋め込まれていた場所であるのか、あるいは埋め込めなかった場所であるのかを判別することはできなかった。
【００１２】
すなわち、従来は、埋め込み側と抽出側とにおいて、電子透かし情報が埋め込まれた文字群として、全く同じ文字群を認識することが困難であった。
【００１３】
本発明は、上述の従来例に鑑みてなされたものであり、電子透かし情報の埋め込み側と抽出側とにおいて、電子透かし情報が埋め込まれた文字群として、全く同じ文字群を認識することができる様にすること、そして抽出側において、上記文字列から全ての電子透かし情報を確実に抽出できるようにすることを目的とする。
【課題を解決するための手段】
【００１４】
この課題を解決するため、例えば本発明の情報処理方法は、以下の工程を備える。すなわち、
所定方向に並ぶ文字列における注目文字を、前記所定方向へ移動することにより、電子透かし情報を埋め込む情報処理方法であって、
前記注目文字に埋め込まれる可能性の有るいずれの電子透かし情報を埋め込んだとしても、前記注目文字が隣接文字に対して所定距離隔てた状態を維持できるか否かを判定する判定工程と、
該判定工程で所定距離隔てた状態を維持できると判定した場合には、前記注目文字を電子透かし情報の埋め込み対象として設定し、前記状態を維持できないと判定した場合には、前記注目文字を電子透かし情報の埋め込み対象でないものとして設定する設定工程と、
該設定工程で埋め込み対象として設定された文字の位置を、電子透かし情報に基づいて調節する調節工程とを備えることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、電子透かし情報の埋め込み側と抽出側で、電子透かし情報が埋め込まれた位置として、全く同じ位置を認識することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明に好適な実施形態を図面に基づいて説明する。
【００１７】
＜１．情報処理装置の構成と情報処理の概要＞
図１２は、本実施形態における電子透かし情報の埋め込み及び抽出を実施可能な情報処理装置を示す図である。
【００１８】
この図において、コンピュータ１２０１は、一般のパーソナルコンピュータ等の情報処理装置である。その内部構成を以下に述べる。
【００１９】
１２０２は、装置全体の制御を司るＭＰＵである。１２０３はＢＩＯＳやブートプログラムを記憶しているＲＯＭ、およびＲＡＭで構成される主記憶装置である。この主記憶装置１２０３のＲＡＭ上にＯＳや各種アプリケーション等がロードされ実行される。
【００２０】
１２０４は、ＯＳ、各種アプリケーションやデータファイル等を記憶するデバイスで、例えばハードディスクデバイス（ＨＤＤ）である。
【００２１】
１２０５は、ビデオメモリを内蔵するビデオコントローラであり、ＭＰＵ１２０２の制御の下で、表示されるべきビットマップイメージの展開処理及び展開されたビットマップイメージを読み取ってビデオ信号としてモニタ１２０６に出力する処理を行う。
【００２２】
１２０７は、上記構成及び以下の各種デバイスを接続するシステムバスである。
【００２３】
１２０８は、プリンタ１２１６と接続するためのインタフェース（Ｉ／Ｆ）である。１２０９は、ＣＤ−ＲＯＭドライブである。１２１０はＤＶＤドライブである。１２１１はフロッピー（登録商標）ドライブである。１２１２はマウス（登録商標）である。１２１３やキーボード１２１４を接続するためのインタフェースである。そして１２１５はイメージスキャナ１２１７を接続するためのインタフェースである。
【００２４】
上記構成において、コンピュータ１２０１の電源を入れると、ＭＰＵ１２０２は主記憶装置１２０３内のＲＯＭのブートプログラムに従って、ＨＤＤ１２０４からＯＳをＲＡＭにロードし、以下に説明する電子透かし情報の埋め込み、或いは、電子透かし情報の抽出のために使用されるプログラムをＲＡＭにロードしてそれぞれの機能を実現する。
【００２５】
図１は、本実施形態における情報処理装置（コンピュータ１２０１）が電子透かし情報を埋め込む装置として動作する場合の、各種機能の概略を示す図である。
【００２６】
オリジナルの文書画像１００がイメージスキャナ１０１上にセットされると、画像入力部１０１は、その画像１００を読み取り、この画像を表すディジタル画像データを発生する。
【００２７】
文書解析部１０２は、上記画像データの水平方向における黒ドット（有意ドット）の数を検出し、黒ドットの数を表すヒストグラムに基づいて各文字の行を抽出する。更に、各行の画像データの垂直方向における黒ドットの数を検出し、黒ドットの数を表すヒストグラムに基づいて、１つ１つの文字イメージ（文字を表す複数画素からなる画像）の位置とサイズ（外接矩形の水平方向の幅、垂直方向の高さ）を決定する。外接矩形の検出方法は公知であるが、詳細は後述する。また、文書解析部１０２は、上記画像データと、上記決定された各位置と各サイズを示す情報を、後段の透かし情報埋め込み可能性判定部１０３（以下、判定部１０３とする）に出力する。
【００２８】
判定部１０３は、注目している文字イメージとその周辺の文字イメージについての上記各位置及び各サイズに基づいて、電子透かし情報（電子透かし情報を構成する１ビット情報）を注目文字を動かすことによって埋め込むことが可能であるか否かを判定する。そして、上記画像データと、上記決定した各位置と各サイズを示す情報、および上記判定結果（埋め込みが可能であると判定された文字の位置）と他の各種情報（後述する各種長さを示す情報）を、後段の透かし情報埋め込み部１０５に出力する。
【００２９】
透かし情報埋め込み部１０５は、判定部１０３から受信した各情報に基づいて、予め用意された電子透かし情報１０４（例えば、著作者名を示す文字コード等）を、上記画像データに埋め込み、画像出力部１０６にその結果（電子透かし情報が埋め込まれた画像データ）を出力する。
【００３０】
画像出力部１０６は、この結果（電子透かし情報が埋め込まれた画像データ）を１画面分の画像データ１０７として出力する。この画像データ１０７は、電子ファイルとして記憶装置や記憶媒体（ＣＤ−ＲやＣＤ−Ｒ／Ｗ等）に保存しても構わないし、不図示のネットワークインタフェースを介してネットワーク上に出力しても良い。勿論、プリンタ１２１６で可視画像として出力（印刷）しても構わない。
【００３１】
図２は、本実施形態における情報処理装置が、電子透かし情報が埋め込まれている画像データ１０７から、埋め込まれた電子透かし情報を抽出するための機能を示した図である。
【００３２】
まず、検査の対象となる画像２００を画像入力部２０１から入力する。画像２００はイメージスキャナで読取った画像でもよいし、ＣＤ−ＲＯＭ等の記憶媒体に記憶されたものを読み出した画像でも良い、或いはネットワークを介して受信したものでも構わない。
【００３３】
文書解析部２０２は、上記画像入力部２０１から入力された画像２００の内容を解析する。この解析は、基本的に、図１に示される文書解析部１０２と同様の機能を有する。すなわち、文書解析部２０２は、多数の文字から行を認識し、更に各行における１つ１つ文字（文字画像）を認識する機能を有する。
【００３４】
次に、透かし情報埋め込み可能性判定部２０３（以下、判定部２０３とする）では、注目する文字イメージとその周辺の文字イメージのそれぞれの位置及びサイズに基づいて、電子透かし情報（電子透かし情報を構成する１ビット情報）を注目文字を動かすことによって埋め込むことが可能であったか否かを推理判定する。そして、埋め込むことが可能であったと推理判定した場合のみ、実際に電子透かし情報が埋め込まれていると判断し、電子透かし情報の抽出に必要な情報を、後段の透かし情報抽出部２０４に出力する。
【００３５】
透かし情報抽出部２０４は、判定部２０３から受信した各種情報に基づいて、入力した画像データから、そこに埋め込まれた電子透かし情報２０５の抽出を行う。
【００３６】
なお、上記電子透かし情報２０５の抽出は、埋め込まれている１つ１つのビットを単位として行うので、この電子透かし情報２０５は１ビットずつ出力されるであろう。ただし、もしも埋め込まれている電子透かし情報（ビット列）が、文字コードを構成するビット情報であれば、結果的に、文字コード（文書画像２００において可視表示されている文字列とは必ずしも関係の無い、隠された文字列を表すコード）を順次抽出して出力することになる。
【００３７】
また、ここで抽出されたビット列、あるいは抽出された文字コードが表す文字を出力する先である媒体は、ディスプレイの画面であっても良いし、印刷物であっても良い。なお、この場合には、入力した文書画像２００と共に出力することが望ましい。
【００３８】
＜２．電子透かし情報を埋め込む処理の説明＞
次に、本実施形態における電子透かし情報１０４を埋め込み処理について説明する。
【００３９】
図３は、本実施形態における文書用の電子透かし情報埋め込み装置（情報処理装置）の動作手順を説明するためのフローチャートである。この図は、図１の機能を実現するための処理手順に対応付けることができる。
【００４０】
まず、ステップＳ３０１において、画像入力部１０１（例えば図１２のスキャナ１２１７等）を介して、電子透かし情報１０４の埋め込み対象となる文書画像１００が入力される。そして、文書画像１００を表す画像データが文書解析手段１０２に入力される。
【００４１】
なお、この文書画像１００は、印刷物を１２１７のスキャナなどから入力したものであっても、文書編集アプリケーションプログラムを利用して作成された電子データであっても良い。また、各種アプリケーションプログラムに固有の形式、或いはテキスト形式等の電子データを画像処理ソフトなどによってビットマップに変換したものであっても良い。また、１２０４のハードディスクや１２０９のＣＤドライブ、ＤＶＤドライブ１２１０、ＦＤＤドライブ１２１１などに接続された各記憶媒体に格納された電子データであっても良い。
【００４２】
次に、ステップＳ３０２において、文書解析手段１０２によって、入力された文書画像の内容の解析が行われる。ここでは、入力された文書画像から１つ１つの文字イメージに外接する四角形（矩形）の位置及びサイズの抽出が行われる。
【００４３】
文字イメージの位置及びその文字に外接する四角形（矩形）の抽出処理は、文字認識処理における公知の文字領域の抽出処理と同じである。一般には、文書画像の各有意画素（黒画素）の個数を主走査方向にカウントすることにより、各１画素ライン単位にヒストグラムを作成し、黒画素が存在しない主走査ライン（空白部分）を検出することにより、各行を認識する。その後、各行の単位で、副走査方向に有意画素をカウントする処理を行うことにより、１画素列毎にヒストグラムを作成し、黒画素が存在しない副走査ライン（空白部分）を検出することにより、１つ１つの文字（文字画像）を認識する。これにより、各文字の外接矩形（各文字の位置や矩形サイズ）を特定することができる。
【００４４】
ステップＳ３０３において、埋め込みたい電子透かし情報１０４を入力する。この電子透かし情報１０４は、キーボード１２１４から入力しても良いし、種々の記憶装置に予め電子透かし情報ファイルとして用意しておき、それを指定することでそのファイルを読込むことにより入力しても良い。なおこの電子透かし情報１０４は、「１」または「０」で構成されるビット列を１つ１つ入力しても良いし、数ビットからなる文字コードとして上記キーボード等から１文字ずつ入力しても良い。
【００４５】
次に、ステップＳ３０４において、未だ埋め込みが行われていない注目文字（未だＳ３０４の判定が行われていない注目文字）について、電子透かし情報を埋め込むことが可能か否かの判定処理（図１の判定部１０３に相当）が行われる。これは、言い換えれば、埋め込みが可能である注目文字を１つ特定する為のステップである。続いて、ステップＳ３０５では、電子透かし情報を埋め込むことが可能であると判定された文字（矩形）に対して、電子透かし情報（電子透かし情報を構成する１ビット情報）の埋め込み処理（図１の透かし情報埋め込み部１０５による埋め込み）を行う。
【００４６】
ステップＳ３０６では、電子透かし情報１０４として埋め込むべき全てのビット情報が文書画像１００を表す画像データに埋め込まれたか否かを判定する。そこで全てのビットが埋め込まれていれば、Ｓ３０７に処理を進める。もし、全てのビット情報が未だ埋め込まれていなければ、再度、Ｓ３０４の処理を実行する。
【００４７】
ここで、以下に、本実施形態で採用する電子透かし情報の埋め込みアルゴリズムの説明、および、ステップＳ３０４の判定処理の説明、およびステップＳ３０５の埋め込み処理について詳細に説明する。
【００４８】
＜２−１．電子透かし情報を埋め込むアルゴリズムの説明＞
ここでは、本実施形態で採用する電子透かし情報の埋め込みアルゴリズムを説明する。
【００４９】
本実施形態における電子透かし情報の埋め込みは、その周囲の動かさない文字を参照しながら、各注目文字を動かすことによって行われる。
【００５０】
図８は、本実施形態の埋め込み方法の概略を示す図である。図の（ｉ，ｊ）で示される矩形が各文字イメージの外接矩形である。なお、ｉは行の位置、ｊは列の位置を示すパラメータである。
【００５１】
本実施形態において、電子透かし情報を埋め込むために移動させる可能性が有る文字、すなわち各注目の外接矩形は、図中、２行目の矩形（２、２）、（２、４）、…、（２、２ｎ）（ｎ＝１、２…）と予め決めておく。本実施形態では、これら矩形（文字画像）の夫々について、電子透かし情報を埋め込めるか否か、言い換えれば、動かして良いか否かを判定することになる。
【００５２】
本実施形態では、図中の１行目の全矩形（１、ｎ）はアンカーポイントとして動かさない。
【００５３】
また、注目される各外接矩形が属する２行目においては、奇数番目の矩形（２、１）、（２、３）、…、（２、２ｎ−１）をアンカーポイントとして動かさない。
【００５４】
また、３行目の矩形（文字画像）についても、２行目の場合と同様に、偶数番目の矩形（３、２）、（３、４）、…、（２、２ｎ）を注目矩形（移動の可能性が有る矩形）とし、奇数番目の矩形（３、１）、（３、３）、…、（３、２ｎ−１）をアンカーポイントとする。
【００５５】
４行目以降についても、２行目と同様に注目矩形とアンカーポイントを設定する。
【００５６】
これらアンカーポイントとなる各矩形は、電子透かし情報が埋め込まれていない文書画像においても、電子透かし情報が埋め込まれている文書画像においても、必ず同じ位置に配置されている。
【００５７】
本実施形態における電子透かし情報の埋め込みにおいて、まず最初に、外接矩形（２、２）に注目する。矩形（２、２）と（１、１）の水平方向（左方向）の距離をＬ２２、矩形（２、２）と（１、３）の水平方向（右方向）の距離をＲ２２とした場合、本実施形態では、これら２つの大小関係を操作（変更）することにより電子透かし情報を埋め込む。（一般的な表現として、座標ｘの注目矩形における上記左方向の距離をＬｘ、右方向の距離をＲｘと記載する）
たとえば、「１」のビットを埋め込みたいときは、Ｌ２２＞Ｒ２２となるように注目矩形（２、２）を水平移動させる。また、「０」のビットを埋め込みたいときは、Ｌ２２＜Ｒ２２となるように外接矩形を移動させる。
【００５８】
上記移動の考え方に基づいて、次に注目される外接矩形（２、４）以降、（２，６）、…、（２、２ｎ）、…、（３、２ｎ）、…、（４、２ｎ）、…についても同様に、１ビット情報を埋め込んで良いと判定された場合に限って、注目される外接矩形を移動させることにより、電子透かし情報１０４を構成する各１ビット情報「１」または「０」を順次埋め込む。
【００５９】
以上、電子透かし情報の埋め込みアルゴリズムについて説明した。
【００６０】
＜２−２．埋め込みの可否を判定するアルゴリズムの説明＞
ここでは、ステップＳ３０４で実行される判定部１０３の動作を詳細に説明する。本実施形態では、この電子透かし情報を埋め込む前に、判定部１０３により、移動しようとしている外接矩形（最初であれば、矩形（２、２））が埋め込み可能な外接矩形であるかどうかを判定する。
【００６１】
図５は、本実施形態における判定部１０３の処理手順の詳細な手順を示すフローチャートである。この手順について以下で説明する。
【００６２】
まず、ステップＳ３０４ａにおいて、電子透かし情報を埋め込むために移動させる可能性の有る外接矩形（最初であれば、矩形（２、２））を選択する。
【００６３】
次に、ステップＳ３０４ｂにおいて、先に説明したＬ２２、Ｒ２２、及び、注目矩形（２、２）と、注目矩形と同じ行において隣接する矩形（２、１）、（２、３）との距離Ｓｒ２２、 Ｓｌ２２を算出し、記憶する。
【００６４】
ここで、Ｓｒ２２は、注目する外接矩形（２、２）の右隣の外接矩形（２、３）との水平方向における距離であり、注目する外接矩形を右に移動させることのできる最大の移動距離であると解釈することができる（一般的な表現として、座標ｘの注目矩形における右方向への最大移動距離をＳｒｘと記載する）。
【００６５】
同様に、Ｓｌ２２は、注目する外接矩形（２、２）の左隣の外接矩形（２、１）との水平方向における距離であり、注目する外接矩形を左に移動させることのできる最大の移動距離であると解釈できる（一般的な表現として、座標ｘの注目矩形における左方向への最大移動距離をＳｌｘと記載する）。これら２つの長さを示す情報は主記憶装置１２０３に記憶しておく。
【００６６】
次に、ステップＳ３０４ｃにおいて、電子透かし情報を埋め込むことが可能であるか否かの判定を行う。
【００６７】
本実施形態では、「０」が埋め込めない条件と「１」が埋め込めない条件のいずれかが成立するとき、即ち、埋め込まれる可能性の有る少なくとも１つの電子透かし情報（ビット情報）が埋め込めないような条件を満たすときには、現在注目している矩形には、電子透かし情報を埋め込まない。即ち、埋め込み処理をスキップする。
【００６８】
具体的には、現在注目している矩形に電子透かし情報（ビット情報）の「１」を埋め込みたいとき、Ｌ２２＞Ｒ２２となるように注目する外接矩形を移動させたいにもかかわらず、もし注目する外接矩形を最大限に移動したとしても、Ｌ２２とＲ２２の大小関係をＬ２２＞Ｒ２２とすることができない場合には、埋め込み不可能な条件に該当する。上述したような「１」が埋め込めない条件は、次の式を満たす場合である。
Ｌｘ  ＋  Ｓｒｘ  ≦  Ｒｘ −  Ｓｒｘ  … （式１）
外接矩形（２、２）について上記（式１）を用いて表すと、
Ｌ２２  ＋  Ｓｒ２２  ≦  Ｒ２２ −  Ｓｒ２２
となる。
【００６９】
同様に、「０」が埋め込めない条件は、次の式を満たす場合である。
Ｌｘ  −  Ｓｌｘ  ≧  Ｒｘ ＋  Ｓｌｘ  … （式２）
外接矩形（２、２）について上記（式２）を用いて表すと、
Ｌ２２  −  Ｓｌ２２  ≧  Ｒ２２ ＋  Ｓｌ２２
となる。
【００７０】
例えば、上記（式１）の条件が成立している場合は、Ｌ２２＜Ｒ２２の関係が常に成り立つので、埋め込みたい情報が「０」のときは無条件で「０」が埋め込める。しかしながら、もしこの外接矩形を埋め込み対象としてしまうと、この外接矩形が「０」を埋め込もうと意図とした状況で「０」が埋め込まれたのか、「１」を埋め込もうと意図した状況で不本意にも「１」が埋め込めずに「０」が埋め込まれてしまっているのかを、抽出側では判別することができない。
【００７１】
本実施形態ではこの状況を鑑みて、そこで埋め込むべきビット情報が「０」であるか「１」であるかにかかわらず、（式１）および（式２）のいずれかが成り立つときには、埋め込み処理をスキップすることに決定する。これにより、電子透かし情報の埋め込み側と抽出側で、電子透かし情報が埋め込まれた位置として、全く同じ位置を認識することができる。
【００７２】
もし、図５のステップＳ３０４ｃにおいてＮｏの場合には、ステップＳ３０４ａに戻り、電子透かし情報が埋め込まれる可能性を持つ次の注目矩形（最初であれば、矩形（２、４））を選択する。一方、ステップＳ３０４ｃにおいてＹｅｓの場合には、現在注目している矩形（最初であれば、矩形（２、２））を特定する情報を、電子透かし情報を埋め込む矩形として記憶し、ステップＳ３０５に進む。そして、後段の電子透かし埋め込み部１０５によって、その矩形に電子透かし情報の埋め込みが行われる。
【００７３】
＜２−３．電子透かし情報を埋め込むアルゴリズムの説明＞
ここでは、ステップＳ３０５における電子透かし埋め込み部１０５による動作を詳細に説明する。
【００７４】
図６は、本実施形態における、複数の文字イメージの間の距離の関係を利用した電子透かし情報の埋め込み方法の一例を説明するためのフローチャートである。
【００７５】
ステップＳ３０５では、上記画像データと、各矩形の位置と各サイズを示す情報と、上記判定部１０３の判定結果（電子透かし情報の埋め込みが可能であると判定された文字の位置）と、上述した各種長さを示す情報とが、判定部１０３から電子透かし埋め込み部１０５に送られる。
【００７６】
まず、ステップＳ３０５ａにおいて、電子透かし情報１０４として埋め込まれるべき先頭の１ビットが選択される。例えば、電子透かし情報１０４として「０１００１０１０１１１・・・」が入力された場合、先頭のビット「０」が選択される。
【００７７】
次に、ステップＳ３０５ｂにおいて、埋め込まれるビット情報が「１」であるか否かが判断される。
【００７８】
もし、上記ビット情報が「１」の場合（Ｙｅｓの場合）には、ステップＳ３０５ｃにおいて、Ｌ２２＞Ｒ２２となるように注目矩形の位置を変更する。もし位置を変更しなくてもＬ２２＞Ｒ２２が成り立っているならば、注目矩形を移動をする必要はない。
【００７９】
もし、上記ビット情報が「０」の場合（Ｎｏの場合）には、ステップＳ３０５ｄにおいて、Ｌ２２＜Ｒ２２となるように注目矩形の位置を変更する。但し、もし位置を変更しなくてもＬ２２＜Ｒ２２が成り立っているならば、注目矩形を移動をする必要はない。
【００８０】
なお、ステップＳ３０５ｃ、Ｓ３０５ｄの位置の変更は、その時点で注目矩形の位置を変更しても良いし、後述するように一旦位置情報（移動情報）として保持しておき、後段のＳ３０７等にて全ての注目文字（矩形）の位置をまとめて変更・調整するようにしても良い。
【００８１】
ステップＳ３０６では、電子透かし情報１０４として埋め込まれるべき選択中の１ビットが、電子透かし情報１０４の最後のビットであるか否かを判断する。もし、最後のビットの場合（Ｙｅｓの場合）には、電子透かし情報１０４の埋め込み処理を終了する。一方、選択中のビットがまだ最後のビットではない場合（Ｎｏの場合）には、ステップＳ３０４に戻って、電子透かし情報の埋め込みを続行する。
【００８２】
ステップＳ３０７では、上記Ｓ３０５で電子透かし情報１０４が埋め込まれた画像データを出力するか、或いは上記ステップＳ３０５で特定された各注目矩形の位置情報（移動情報）に基づいて全ての注目文字（矩形）の位置をまとめて変更・調整することにより、電子透かし情報１０４が埋め込まれた画像データを出力する。
【００８３】
ステップＳ３０８では、電子透かし情報１０４が埋め込まれた画像または画像データを、画像出力部１０６から出力する。この出力には、印刷、或いは記憶装置等への画像データとしての記憶、或いはネットワーク等から他の端末等への送信が該当する。
【００８４】
＜２−４．参照テーブルの説明＞
なお、上述したように、本実施形態では、入力画像データ（画像１００）とともに図１で示した各処理部で処理された結果（矩形の位置、サイズ、長さの情報等）を、後段の処理部に伝達するが、これらの情報は参照テーブルとして伝達される。そして、この参照テーブルは、各処理部の共有データとして主記憶装置１２０３に保持し、各処理部が必要に応じてアクセスする様にしても良いし、各処理部が処理する画像データの付属データとして添付する様にしても良い。
【００８５】
図１３は参照テーブルの例である。この図において、各レコード（テーブル内の１行）が１つの外接矩形に対応する各種情報である。各フィールド（テーブル内の１列）について説明する。第１フィールドには、外接矩形を特定するインデックス情報が格納される。第２フィールドには、オリジナルの文書画像における各外接矩形の座標位置（外接矩形の左上隅の座標）が格納される。第３フィールドには、外接矩形のサイズ（幅と高さ）が格納される。
【００８６】
上述した様に、上記第１から第３フィールドのデータは、図１における文書解析部１０２によって生成される。文書解析部１０２は、入力した文書画像中に含まれる全文字イメージ（矩形）のレコードを作成する。なお、主記憶装置１２０３に共有データとして参照テーブルを保持する方法を適用する場合には、主記憶装置１２０３内に第４フィールド以降もデータ領域として確保する。一方、各処理部が付属データとして参照テーブルを添付する方法を適用する場合には、各処理部が処理した時点で随時、必要な各フィールドを追加する。
【００８７】
上述した様に本実施形態では、電子透かし情報を埋め込む可能性の有る外接矩形を、２行め以降、かつ偶数番目の矩形であることを予め決めている。よって、判定部１０３では、それぞれの注目するべき矩形について、その矩形に関連する上述の長さを示す情報（Ｌ２２、Ｒ２２、Ｓｒ、Ｓｌ）を算出して、この算出結果を第４フィールドに格納する。また、この長さを示す情報に基づいて、注目する矩形に電子透かし情報が埋め込めるか否かを判定し、その判定結果を第５フィールドに１ビットのフラグとして格納する。例えば、このフラグが「ＯＫ」を示す場合には、注目する外接矩形は「０」および「１」の何れの電子透かし情報を埋め込むことができる。なお、電子透かし情報を埋め込む可能性の有る外接矩形のうち「０」および「１」の何れかの電子透かし情報を埋め込むことができない矩形群、および位置を動かさないと予め決めてある外接矩形群については、第５フィールドのフラグは「−」としておく。
【００８８】
透かし情報埋め込み部１０５は、第５フィールドが「ＯＫ」となっている外接矩形の位置のみを、電子透かし情報１０４の各ビット情報に基づいて変更する。なお、位置が変更された後の矩形の位置を示す座標情報には、本実施形態で矩形を水平方向へのみ移動させていることを考慮すると、ｘ座標のみを付与すれば良い。この移動後の矩形の座標は、第６フィールドに格納する。
【００８９】
なお、図３の説明として、１つ１つの注目する矩形についてステップＳ３０４からステップＳ３０６を行うことにより電子透かし情報の埋め込みを行う方法について説明したが、その変形例として、ステップＳ３０４において、電子透かし情報を埋め込む可能性のある全ての外接矩形について、電子透かし情報を埋め込むことができるか否かの判定を行い、それが完了した後に、ステップＳ３０５において、各注目する外接矩形の位置情報をを変更するようにしても良い。
【００９０】
この変形例を実行するメリットとして、電子透かし情報を埋め込む前に、図１３に示す参照テーブルの第５フィールドの「ＯＫ」となっている個数をカウントできるので、埋め込みを開始する前に、予め全ての電子透かし情報を埋め込むことができるか否かを判定できる点が有る。
【００９１】
即ち、ステップＳ３０４における全ての判定の結果、「ＯＫ」となった矩形の数がｍ個あった場合、最大ｍビットまでの電子透かし情報を入力画像に埋め込むことができると判る。よって、電子透かし情報１０４を構成する全てのビット数と上記ｍ個とを比較することにより、埋め込まれるビット数の観点において、電子透かし情報を埋め込むことが可能であるのか否かが、直ちに判明する。
【００９２】
そして、もし電子透かし情報を埋め込める外接矩形の個数がｍ個に満たないと判断した場合には、本実施形態の情報処理装置は、その旨を、例えば表示画面にメッセージを表示する等により報知する。この報知を確認したユーザは、それ以降の処理を打ち切るか、埋め込めるビット数に対応する電子透かし情報の一部を埋め込むかを選択できる。
【００９３】
なお、電子透かし情報が日本語の場合には一般的にその情報に含まれる１文字は１６ビットとして扱われる。この場合、上記変形例において、電子透かし情報を埋め込む前にカウントした“埋め込み可能なビット数”が１６×ｎビット＋ａ（ａは１５以下の整数）である場合には、１６ビットに満たない最後のａビットの埋め込みは行わない。すなわち、埋め込もうとする１単位の情報を構成する全ビット数を埋め込めない場合は、その１単位分の情報の埋め込みは行わない。
【００９４】
以上が、実施形態における電子透かし情報の埋め込みに関する説明である。
【００９５】
＜３．電子透かし情報を抽出する処理の説明＞
次に、本実施形態における、電子透かし情報が埋め込まれた画像からこの情報を抽出する処理手順（図２の処理手順）について、図４のフローチャートを用いて詳細に説明する。
【００９６】
まず、ステップＳ４０１において、画像入力部２０１（図１２のスキャナ１２１７等）が、電子透かし情報が抽出（検出）される文書画像２００を入力し、更に文書解析部２０２に出力する。ここでは、スキャナ１２１７で印刷物等の文書画像２００を入力することを想定しているが、本発明はこれに限らない。例えば、この文書画像２００は、文書編集アプリケーションプログラムを利用して作成された電子画像データ（ハードディスク１２０４、或いはＣＤドライブ１２０９やＤＶＤドライブ１２１０やＦＤＤドライブ１２１１等に接続された記憶媒体に格納され、アプリケーションプログラム固有の形式、テキスト形式等の種々の電子データ）を画像処理ソフト等によってビットマップに変換したものであっても良い。或いは、インターネットからダウンロードした画像ファイルであっても良い。
【００９７】
ステップＳ４０２において、文書解析部２０２は、入力された文書画像２００から上述の外接四角形（矩形）に関する情報（各矩形の位置及びサイズ）の抽出を行う。この文書解析部２０２の処理は、既に説明した図１における文書解析部１０２の処理と同様であり、この解析技術は文字認識処理において利用されている公知技術である。
【００９８】
次にステップＳ４０３において、電子透かし情報が抽出（検出）される外接矩形に、実際に電子透かし情報が埋め込まれているかどうかを、埋め込み可能性判定部２０３で判定する。この埋め込み可能性判定部２０３は、既に説明した図１の埋め込み可能性判定部１０３と同一のものである。
【００９９】
本実施形態の説明で注目すべきことは、上記抽出側の埋め込み可能性判定部２０３の判定と、埋め込み側の埋め込み可能性判定部１０３の判定とが、全く同じ結果を導き出せるということである。なぜなら、埋め込み可能性判定部２０３の判定でも適用する（式１）および（式２）にはパラメータＬx、Ｒx、Ｓｒx、Ｓｌxに影響を与える注目矩形以外の矩形群が移動していないからである。よって、たとえ注目矩形が移動したことが原因で上記各パラメータがＬx’、Ｒx’、Ｓｒx’、Ｓｌx’に変わったとしても、（式１）および（式２）に基づく「注目矩形に電子透かし情報を埋め込めるか否か」についての判定結果は変わらない。
【０１００】
例えば、注目矩形が移動する前のパラメータをＬx、Ｒx、Ｓｒx、Ｓｌxとし、その移動後のパラメータをＬx’、Ｒx’、Ｓｒx’、Ｓｌx’とすると、（式１）で表される条件は、（式１’）のようにも表せる。
Ｌx’＋  Ｓｒx’  ≦  Ｒx’−  Ｓｒx’  … （式１’）
【０１０１】
更に、上記注目矩形を移動した量をＳｘと表すと、（式１’）は、（式１’’）のようにも表せる。
（Ｌx＋Ｓx）＋（Ｓｒx−Ｓx）  ≦  （Ｒx−Ｓx）−（Ｓｒx−Ｓx）  … （式１’’）
この（式１’’）の判断は、結局、（式１）の判断と同じである。なお、（式２）についても同様ことが言える。
【０１０２】
したがって、埋め込み時に「電子透かし情報を埋め込むことができる」と判定した場所（注目矩形）については、抽出時でも「電子透かしを埋め込むことができた」と判断することができる。
【０１０３】
ステップＳ４０３において電子透かし情報が抽出されるべき外接矩形が選ばれた後、ステップＳ４０４では、電子透かし抽出部２０４が電子透かし情報の抽出（検出）を行う。この処理は、例えば図７で示すフローチャートに従って実行される。以下、図７について簡単に説明する。
【０１０４】
まず、ステップＳ４０４ａにおいて、電子透かし情報が抽出されるべき外接矩形に属する上述した２つのパラメータＬx、Ｒxの比較を行う。もし、Ｌx ＞ Ｒxであれば、ステップＳ４０４ｂに処理を進め、入力画像に埋め込まれている電子透かし情報（ビット情報）は「１」であると判断する。一方、もし、Ｌx＜Ｒxであれば、ステップＳ４０４ｃに処理を進め、電子透かし情報（ビット情報）は「０」であると判断する。
【０１０５】
ステップＳ４０５では、現在選択されている外接矩形が文書画像における最後の外接矩形かどうかを判断し、最後の矩形であれば処理を終了し、最後の矩形でなければステップＳ４０３に処理を進め、上記抽出処理を継続する。
【０１０６】
以上説明したように、本実施形態によれば、埋め込み側において電子透かし情報を埋め込むことができなかった場所（矩形）を、抽出側においても上記埋め込み側と全く同じ判定条件を使用して判断することができる。従って、抽出箇所を誤ることなく、確実に電子透かし情報の抽出を行うことできる。
【０１０７】
＜変形例１＞
変形例として、図９、図１０に示したタイプの電子透かし情報の埋め込み、および抽出のアルゴリズムに、上記実施形態で説明した考え方を適用した場合について説明する。
【０１０８】
なお、各種処理に必要な構成および処理手順は上記実施形態と殆ど同様であり、図１から図７を適用することができる。以下、上記実施形態と異なる箇所について主に説明し、共通する箇所についての説明は省略する。
【０１０９】
図９、図１０に示したタイプの電子透かし情報の埋め込みアルゴリズムにおいても、上記実施形態の説明と同様に、埋め込み可能性判定部１０３で用いる判定条件を定義できる。
【０１１０】
まず、それぞれのビット情報「０」と「１」を、注目外接矩形（文字）に埋め込むことができない条件を考える。
【０１１１】
注目する外接矩形の左隣の外接矩形との距離をＰ、右隣の外接矩形との距離をＳとする。本実施形態において、ビット情報「１」を注目矩形に埋め込めない場合というのは、注目矩形を右方向に最大限移動してもＰ＞Ｓとならない場合であり、以下の式を満たす場合と言える。
Ｓ≦１  かつ  Ｐ≦Ｓ  … （式３）
【０１１２】
一方、「０」が埋め込めない条件は、左方向に最大限移動してもＰ＜Ｓとならない場合であり、以下の式を満たす場合と言える。
Ｐ≦１  かつ  Ｐ≧Ｓ  … （式４）
【０１１３】
そして、上記（式３）、（式４）のどちらかが成り立つ場合には、注目矩形に電子透かし情報を埋め込まない。なお、上記（式３）は、Ｐ≦Ｓ≦１、上記（式４）は、Ｓ≦Ｐ≦１と変形して記載できる。
【０１１４】
上記２つの条件式は、Ｐ、Ｓの夫々が必ず自然数であるならば、Ｓ＝Ｐ＝１という条件を満たすことと同意である。したがって、注目矩形に電子透かし情報を埋め込まない条件は、簡単に、下記の様に表現できる。
Ｓ＝１  かつ  Ｐ＝１  … （式５）
この（式５）の条件の真理値は、埋め込み時と抽出時で変わらないことを以下に示す。
【０１１５】
第１に、埋め込み側で電子透かし情報を埋め込まなかった場合（電子透かし情報の埋め込みをスキップした場合）は、上記（式５）が成り立っており、外接矩形の移動は行われていないので、当然、抽出側でもＰとＳは同じである。よって、抽出側でも上記（式５）が成り立つ。したがって抽出時も電子透かしの抽出をスキップする。
【０１１６】
第２に、埋め込み側で電子透かし情報を埋め込んだ場合（電子透かし情報の埋め込みをスキップしなかった場合）は、上記（式５）は成り立っていない。即ち、Ｓ＞１かつＰ＞１であるか、Ｓ＝１かつＰ＞１であるか、Ｓ＞１かつＰ＝１である。そして、電子透かし情報の埋め込みは、Ｐ＞０、Ｓ＞０となるように注目矩形を移動するので、これら３つの状態の何れの状態で注目矩形を移動したとしても、Ｐ’＝１かつＳ’＝１とはなり得ない。したがって、抽出側においても上記（式５）は成立しておらず、電子透かし情報が埋め込まれていると判断できる。
【０１１７】
＜変形例２＞
上記実施形態では、Ｓｒｘが右方向の最大移動量であり、Ｓｌｘが左方向の最大移動量であると定義したが、文書画像の画質の劣化が許容範囲を超えない様に、最大移動量を独立して定め、（式１）および（式２）と同等の条件式を定めることも効果的である。上記実施形態１では、隣接する外接矩形間の最低距離は１画素と考えたが、この変形例２では、最低距離が上記１画素以上の数画素になる様に条件式を設定する。例えば、隣接する外接矩形との間に最低限必要な余白（マージン）をＭであると定義すると、上記（式１）は（式６）に変形し、（式２）は（式７）に変形することができる。
Ｌx ＋（Ｓｒx − Ｍ）≦ Ｒx −（Ｓｒx − Ｍ）… （式６）
Ｌx −（Ｓｌx − Ｍ）≧ Ｒx ＋（Ｓｌx − Ｍ）… （式７）
【０１１８】
この式を用いれば、２つの文字間が極端に狭くなるといった、大きな画質の劣化を起こさずに、電子透かし情報を入力画像に埋め込むことができる。上記実施形態に（式６）及び（式７）を適用する方法を簡単に述べる。
【０１１９】
図３のステップＳ３０４において、（式６）及び（式７）を、電子透かし情報を埋め込むことが可能か否かを判定する条件に適用する。
【０１２０】
そして、上記ステップＳ３０４の判定により、“隣接文字（外接矩形）との距離（マージン）を最低距離Ｍ以上に維持した状態で、確実に「１」および「０」を埋め込むことができると判別された注目矩形”にのみ、図６で説明した埋め込みステップを実行する。
【０１２１】
一方、抽出時には、図４の判定ステップＳ４０３において、（式６）及び（式７）を電子透かし情報を埋め込むことが可能だったか否かを判定する条件に適用する。この判定の結果、埋め込み可能であったと判定される注目矩形から電子透かし情報「１」「０」を抽出する。なお、この抽出方法は上述の実施形態と同様である。
【０１２２】
上記のように、各文字間に１画素以上の余白を設けることを条件にすれば、電子透かしが埋め込まれた画像の画質劣化を、できるだけ少なくすることができる。
【０１２３】
＜変形例３＞
上記実施形態１から変形例２までは、埋め込み時にＬxとＲxの差が１画素でもあれば埋め込み完了であった。本変形例では、その差を所定量T以上にするものである。
【０１２４】
電子透かし情報を確実に抽出できる度合い、いわゆる電子透かし情報の攻撃耐性を高めるためには、ＬxとＲxの差を大きくする必要がある場合が有る。ＬxとＲxの差が大きければ、図２の画像２００の文字間に少々の変更が施されたとしても、電子透かし情報を抽出できるであろう。このような目的を達成できない場合というのは、左右両方向について「注目矩形を最大量移動してもＬｘとＲｘの差を一定量以上に大きくすることができない」という場合である。これを考慮し、上記（式１）は（式８）に変形し、（式２）は（式９）に変形することが有効である。
Ｌx ＋ Ｓｒx − Ｔ ≦ Ｒx − Ｓｒx  … （式８）
Ｌx − Ｓｌx ＋ Ｔ ≧ Ｒx ＋ Ｓｌx  … （式９）
なお、上記Ｔは、電子透かし情報を埋め込むために調整されたＬxとＲxの間の差として、許される最小限の差分値である。上記実施形態に（式８）及び（式９）を適用する方法を簡単に述べる。
【０１２５】
図３のステップＳ３０４において、（式８）及び（式９）を、電子透かし情報を埋め込むことが可能か否かを判定する条件に適用する。
【０１２６】
そして、上記ステップＳ３０４の判定により、“最大量移動された場合にＬｘとＲｘの差を一定量T以上に大きくすることができると判別された矩形”にのみ、図６で説明した埋め込みステップを実行する。
【０１２７】
本変形例では、図６のステップＳ３０５ｃにおいて「１」を埋め込む時に、「Ｌx’−Ｒｘ’＞Ｔ」となるように外接矩形の位置を変更する。またステップＳ３０５ｄにおいて「０」を埋め込む時に「Ｒｘ’−Ｌｘ’＞Ｔ」となるように外接矩形の位置を変更する。
【０１２８】
一方、抽出時には、図４のステップＳ４０３において、（式８）及び（式９）を電子透かし情報を埋め込むことが可能だったか否かを判定する条件に適用する。この判定の結果、埋め込み可能であったと判定される注目矩形から電子透かし情報「１」「０」を抽出する。なお、この抽出方法は上述の実施形態と同様である。
【０１２９】
＜変形例４＞
変形例２では画質の劣化を防ぐ工夫をし、変形例３では耐性を高めるための工夫をした。一般的に、電子透かし技術においては、上記画質と耐性と埋め込み可能な情報量の３つのパラメータはトレードオフの関係にある。即ち、画質劣化を抑えようとすると、埋め込める情報量が減り、耐性が低くなる。また、耐性を高めると、埋め込める情報量が減り、画質劣化が大きくなる。よって、各パラメータを適度に設定できることが望ましい。本変形例では、上述した画質と耐性の設定を同時に制御できるようにする。
【０１３０】
本変形例では、上記（式１）は（式１０）に変形し、（式２）は（式１１）に変形する。
Ｌx −Ｔ＋（Ｓｒx − Ｍ）≦ Ｒx −（Ｓｒx − Ｍ）… （式１０）
Ｌx ＋Ｔ−（Ｓｌx − Ｍ）≧ Ｒx ＋（Ｓｌx − Ｍ）… （式１１）
【０１３１】
上記実施形態に（式１０）及び（式１１）を適用する方法を簡単に述べる。
【０１３２】
図３のステップＳ３０４において、（式１０）及び（式１１）を、電子透かし情報を埋め込むことが可能か否かを判定する条件に適用する。
【０１３３】
そして、上記ステップＳ３０４の判定により、“隣接文字（外接矩形）との距離（マージン）を最低距離Ｍ以上に維持した状態で、確実に「１」および「０」を埋め込むことができ、かつ、最大量移動された場合にＬｘとＲｘの差を一定量T以上に大きくすることができると判別された矩形”にのみ、図６で説明した埋め込みステップを実行する。
【０１３４】
本変形例では、図６のステップＳ３０５ｃにおいて「１」を埋め込む時に、「Ｌx’−Ｒｘ’＞Ｔ」となるように外接矩形の位置を変更する。またステップＳ３０５ｄにおいて「０」を埋め込む時に「Ｒｘ’−Ｌｘ’＞Ｔ」となるように外接矩形の位置を変更する。
【０１３５】
一方、抽出時には、図４のステップＳ４０３において、（式１０）及び（式１１）を電子透かし情報を埋め込むことが可能だったか否かを判定する条件に適用する。この判定の結果、埋め込み可能であったと判定される注目矩形から電子透かし情報「１」「０」を抽出する。なお、この抽出方法は上述の実施形態と同様である。
【０１３６】
＜変形例５＞
上記変形例４では、所望の画質と耐性を維持しつつ、文書画像に電子透かしを埋め込むことについて述べた。しかしながら、パラメータＭ及びＴの両方を同時に用いた判定式（式１０）、（式１１）で判定することは、厳しい判定であると言える。この様な判定を行った場合、埋め込み不可能と判定される注目矩形が増えてしまい、その結果、埋め込むことができる情報量は非常に少ないかもしれない。よって、本変形例では、上記変形例４よりも、文書全体に埋め込める情報量が多くなるように、判定基準と埋め込み方法を変形する。なお、本変形例では、画質を出来るだけ維持するか、耐性を出来るだけ維持するかによって、判定及び埋め込み処理の仕方が異なるので、以下、夫々の場合を説明する。
【０１３７】
［画質優先］
まず、画質を優先する場合について説明する。
【０１３８】
この場合においては、図１〜５及び７を用い、図６の代わりに後述する図１４を適用する。
【０１３９】
図３のステップＳ３０４において、変形例２と同様に、（式６）及び（式７）を用いて、電子透かし情報を埋め込むことが可能か否かを判定する。そして、この判定により、“隣接文字（外接矩形）との距離（マージン）を最低距離Ｍ以上に維持した状態で、確実に「１」および「０」を埋め込むことができると判別された注目矩形”に、後述するステップＳ３０５の埋め込みステップを実行する。
【０１４０】
次に、以下の説明で用いる“Ｓｈｉｆｔ”を定義しておく。“Ｓｈｉｆｔ”とは、電子透かしを埋め込む為の移動前のＬｘ及びＲｘと、その移動後のＬｘ’及びＲｘ’とを、
Ｌｘ’＝Ｌｘ＋Ｓｈｉｆｔ
Ｒｘ’＝Ｒｘ−Ｓｈｉｆｔ
として関連付ける、いわゆる“移動量”である。また、この移動量は１次元のベクトル量であり、右方向の移動量を正、左方向の移動量を負とする。
【０１４１】
以下の説明では移動量の増減を行うが、移動量の増加とは、このベクトルの大きさを増加させることを言う。例えば、＋３から１増加させると＋４であり、−３から１増加させると−４である。移動量の減少も、同様に、大きさを減少させることを意味するが、これは移動の向きを逆転させない範囲での減少に限られる。即ち、例えば、＋３から４減少させて−１にすることはできず、−３から４減少させて＋１にすることもできない。
【０１４２】
図１４は、図３のステップＳ３０５の詳細を示している。
【０１４３】
まず、ステップＳ３０５−２ａにおいて、電子透かし情報１０４として埋め込まれるべき先頭の１ビットが選択される。例えば、電子透かし情報１０４として「０１００１０１０１１１・・・」が入力された場合、先頭のビット「０」が選択される。
【０１４４】
次に、ステップＳ３０５−２ｂにおいて、埋め込まれるビット情報が「１」であるか否かが判断される。
【０１４５】
もし、上記ビット情報が「１」の場合（Ｙｅｓの場合）には、ステップＳ３０５−２ｃにおいて、Ｌx’−Ｒｘ’＞Ｔとなるように注目矩形の位置を変更するための右向き（正）の移動量Ｓｈｉｆｔ＝（Ｒ−Ｌ）／２＋（Ｔ＋１）／２を計算し、これを記憶する。もし位置を変更しなくてもＬx’−Ｒｘ’＞Ｔが成り立っているならば、注目矩形を移動をする必要はないため、Ｓｈｉｆｔ＝０でよい。
【０１４６】
もし、上記ビット情報が「０」の場合（Ｎｏの場合）には、ステップＳ３０５−２ｄにおいて、Ｒｘ’−Ｌｘ’＞Ｔとなるように注目矩形の位置を変更するための左向き（負）の移動量Ｓｈｉｆｔ＝−（Ｌ−Ｒ）／２−（Ｔ＋１）／２を計算し、記憶する。但し、もし位置を変更しなくてもＲｘ’−Ｌｘ’＞Ｔが成り立っているならば、注目矩形を移動をする必要はないため、Ｓｈｉｆｔ＝０となる。
【０１４７】
次に、ステップＳ３０５−２ｅにおいて、注目矩形の両隣の矩形との距離を計算し、小さいほうをｄとする。そして、このｄがＭ以下かどうか判断する。
【０１４８】
もしｄ≦Ｍの場合（Ｙｅｓの場合）は、ステップＳ３０５−２ｆにより、移動量Ｓｈｉｆｔを１減らす。これは、「１」を埋め込むために右に移動していた矩形は左へ、或いは「０」を埋め込むために左に移動していた矩形は右へ、すなわち逆方向へ戻すことを意味する。つまり、このステップＳ３０５−２ｅにおいて、画質を保持するために設定したマージンＭを下回っている場合には、注目矩形（文字）の周囲を視覚的に高画質にするために、上記移動量Ｓｈｉｆｔを出来るだけ減らす。言い換えれば、上述した耐性を適当量下げる。
【０１４９】
もしｄ＞Ｍ（Ｎｏ）であれば、ステップＳ３０５−２ｇにより、移動量Ｓｈｉｆｔを用いて実際に外接矩形を移動する。即ち、このＳ３０５−２ｇにおいて実際に電子透かしが埋め込まれる。その後、次の図３のステップＳ３０６に進む。ステップＳ３０６は上述したものと同様である。
【０１５０】
一方、抽出時には、図４のステップＳ４０３において、（式６）及び（式７）を電子透かし情報を埋め込むことが可能だったか否かを判定する条件に適用する。この判定の結果、埋め込み可能であったと判定される注目矩形から電子透かし情報「１」「０」を抽出する。なお、この抽出方法は上述の実施形態と同様である。
【０１５１】
［耐性優先］
次に、耐性を優先する場合について説明する。
【０１５２】
この場合においては、図１〜５及び７を用い、図６の代わりに後述する図１５を適用する。
【０１５３】
図３のステップＳ３０４において、変形例３と同様に、（式８）及び（式９）を用いて、電子透かし情報を埋め込むことが可能か否かを判定する。そして、この判定により、“最大量移動された場合にＬｘとＲｘの差を一定量Ｔ以上に大きくすることができると判別された矩形”に、後述するステップＳ３０５の埋め込みステップを実行する。
【０１５４】
図１５は、図３のステップＳ３０５の詳細を示している。
【０１５５】
まず、ステップＳ３０５−３ａにおいて、電子透かし情報１０４として埋め込まれるべき先頭の１ビットが選択される。例えば、電子透かし情報１０４として「０１００１０１０１１１・・・」が入力された場合、先頭のビット「０」が選択される。
【０１５６】
次に、ステップＳ３０５−３ｂにおいて、埋め込まれるビット情報が「１」であるか否かが判断される。
【０１５７】
もし、上記ビット情報が「１」の場合（Ｙｅｓの場合）には、ステップＳ３０５−３ｃにおいて、Ｌx’−Ｒｘ’＞Ｔとなるように注目矩形の位置を変更するための右向き（正）の移動量Ｓｈｉｆｔ＝（Ｒ−Ｌ）／２  ＋（Ｔ＋１）／２を計算し、記憶する。もし位置を変更しなくてもＬx’−Ｒｘ’＞Ｔが成り立っているならば、注目矩形を移動をする必要はないため、Ｓｈｉｆｔ＝０でよい。
【０１５８】
もし、上記ビット情報が「０」の場合（Ｎｏの場合）には、ステップＳ３０５−３ｄにおいて、Ｒｘ’−Ｌｘ’＞Ｔとなるように注目矩形の位置を変更するための左向き（負）の移動量Ｓｈｉｆｔ＝−（Ｌ−Ｒ）／２−（Ｔ＋１）／２を計算し、記憶する。但し、もし位置を変更しなくてもＲｘ’−Ｌｘ’＞Ｔが成り立っているならば、注目矩形を移動をする必要はないため、Ｓｈｉｆｔ＝０となる。
【０１５９】
次に、ステップＳ３０５−３ｅにおいて、注目矩形の両隣の矩形との距離を計算し、小さい方をｄとする。このｄがｄ＞Ｍかつｄ＞Ｔ／２を満たすかどうか判断する。
【０１６０】
もしｄ＞Ｍかつｄ＞Ｔ／２（Ｙｅｓ）の場合、ステップＳ３０５−３ｆで移動量Ｓｈｉｆｔを１増やす。これは、「１」を埋め込むために右に移動していた矩形は右へ、或いは「０」を埋め込むために左に移動していた矩形は左へ、すなわち最初に設定したＳｈｉｆｔと同方向へ移動することを意味する。つまり、画質を維持するために必要なマージンＭよりもｄが大きい間は、出来るだけ強く電子透かしを埋め込む為にＳｈｉｆｔの幅を大きくする。即ち、これは上述の耐性を高めることを意味する。
【０１６１】
なお、埋め込む為に一方向に移動しすぎたことにより、抽出時における（式８）及び（式９）の判定において埋め込み不可能と判定されないよう、電子透かしが埋め込まれた後のｄはＴ／２以下になっている必要もある。
【０１６２】
もしｄ≦Ｍまたはｄ≦Ｔ／２（Ｎｏ）であればステップＳ３０５−３ｇにおいて移動量Ｓｈｉｆｔを用いて実際に外接矩形を移動する。その後、次の図３のステップＳ３０６に進む。ステップＳ３０６は上述したものと同様である。
【０１６３】
一方、抽出時には、図４のステップＳ４０３において、（式８）及び（式９）を電子透かし情報を埋め込むことが可能だったか否かを判定する条件に適用する。この判定の結果、埋め込み可能であったと判定される注目矩形から電子透かし情報「１」「０」を抽出する。なお、この抽出方法は上述の実施形態と同様である。
【０１６４】
以上の処理を行うことにより、埋め込み可能な情報量の調整も行うことが可能である。
【０１６５】
なお、上記実施形態の機能はコンピュータプログラムに基づいてコンピュータが実現できるわけであるから、本発明はかかるコンピュータプログラムもその範疇とする。また、通常、コンピュータプログラムは、ＣＤ−ＲＯＭ等のコンピュータ可読記憶媒体に記憶（格納）され、それをコンピュータ内にコピーもしくはインストールすることで実行可能となるわけであるから、本発明がかかるコンピュータ可読記憶媒体をもその範疇とする。
【０１６６】
また、上記実施形態では、電子透かし情報の埋め込み処理を、スキャナ等の入力装置で入力した画像データに対して行うとして説明したが、例えば、プリンタドライバに埋め込み機能を組み込み、そのドライバによる処理を経由して出力される画像データに対して上述の埋め込み処理を実行するようにしても良い。
【０１６７】
プリンタドライバ内に電子透かし情報の埋め込み機能を組み込む場合には、文書編集処理等の為のアプリケーションプログラム上で印刷指示を行って、このプログラムから渡された文字コードや書体及びサイズ、位置等に基づいて、公知の手順に従って文字パターンを生成する。そして、生成された文字パターンを、予め用意された電子透かし情報１０４（もしくは印刷する際に電子透かし情報１０４をキーボード等から入力しても良い）に基づいて、上記実施形態で説明した様に、各注目文字（矩形）の位置を微小にずらすことにより、電子透かし情報を埋め込む。
【０１６８】
なお、本発明は、上述したような電子透かし情報の埋め込みアルゴリズム、言い換えれば、電子透かし情報を埋め込む可能性が有る位置に、それを埋め込みことができない場合が稀に存在するようなアルゴリズムの全てに適用できる。
【図面の簡単な説明】
【０１６９】
【図１】電子透かし埋め込み装置の機能を示す図である。
【図２】電子透かし抽出装置の機能を示す図である。
【図３】電子透かし情報の埋め込み処理の全体の手順を示すフローチャートである。
【図４】電子透かし情報の抽出処理の全体の手順を示すフローチャートである。
【図５】埋め込み可能性の判定を行う処理手順を示すフローチャートである。
【図６】電子透かし情報の埋め込み処理手順を示すフローチャートである。
【図７】電子透かし情報の抽出処理手順を示すフローチャートである。
【図８】電子透かし情報の埋め込みの原理を説明するための図である。
【図９】電子透かし情報を埋め込む対象となる画像を示す図である。
【図１０】電子透かし情報を埋め込んだ後の画像を示す図である。
【図１１】電子透かし情報が埋め込み不可能と判断される例を説明するための図である。
【図１２】情報処理装置の構成を示す図である。
【図１３】テーブルの一例を示す図である。
【図１４】電子透かし情報の埋め込み処理手順を示すフローチャートである。
【図１５】電子透かし情報の埋め込み処理手順を示すフローチャートである。
【図１】
2005020707.tif 000003
【図２】
2005020707.tif 000004
【図３】
2005020707.tif 000005
【図４】
2005020707.tif 000006
【図５】
2005020707.tif 000007
【図６】
2005020707.tif 000008
【図７】
2005020707.tif 000009
【図８】
2005020707.tif 000010
【図９】
2005020707.tif 000011
【図１０】
2005020707.tif 000012
【図１１】
2005020707.tif 000013
【図１２】
2005020707.tif 000014
【図１３】
2005020707.tif 000015
【図１４】
2005020707.tif 000016
【図１５】
2005020707.tif 000017