(57)【要約】【課題】  電子透かし情報を埋め込むべき箇所に、所望の方法で電子透かし情報を埋め込むことが出来ない状況が発生したとしても、その状況を上記画像を用いて伝達し、この電子透かし情報を上記画像から抽出する側で正確に抽出できる様にする。【解決手段】  画像を入力するステップ、電子透かしとして埋め込むべき電子透かし情報を入力するステップ、第１の電子透かし埋め込みアルゴリズムを用いて前記電子透かし情報を埋め込む為に変更されるべき前記画像における各部分について、該埋め込みの為の変更が可能であるか否を判定するステップ、前記各部分のうち、前記埋め込みの為の変更が可能である部分にのみ、電子透かし情報を埋め込むステップ、前記各部分のうち、前記埋め込みの為の変更が不可能である部分に、第２の電子透かし埋め込みアルゴリズムを用いて、前記第１埋め込み手段による埋め込みが成されないことを示す情報を埋め込むステップとを備える。【選択図】  図１
2005117154.tif 000002
【特許請求の範囲】
【請求項１】
画像を入力する画像入力ステップと、
電子透かしとして埋め込むべき電子透かし情報を入力する情報入力ステップと、
第１の電子透かし埋め込みアルゴリズムを用いて前記電子透かし情報を埋め込む為に変更されるべき前記画像における各部分について、該埋め込みの為の変更が可能であるか否を判定する埋め込み可否判定ステップと、
前記各部分のうち、前記埋め込みの為の変更が可能である部分にのみ、電子透かし情報を埋め込む第１埋め込みステップと、
前記各部分のうち、前記埋め込みの為の変更が不可能である部分に、第２の電子透かし埋め込みアルゴリズムを用いて、前記第１埋め込み手段による埋め込みが成されないことを示す情報を埋め込む第２埋め込みステップと
を備えたことを特徴とする電子透かし埋め込み方法。
【請求項２】
画像を入力する画像入力部と、
電子透かしとして埋め込むべき電子透かし情報を入力する情報入力部と、
第１の電子透かし埋め込みアルゴリズムを用いて前記電子透かし情報を埋め込む為に変更されるべき前記画像における各部分について、該埋め込みの為の変更が可能であるか否を判定する埋め込み可否判定部と、
前記各部分のうち、前記埋め込みの為の変更が可能である部分にのみ、電子透かし情報を埋め込む第１埋め込み部と、
前記各部分のうち、前記埋め込みの為の変更が不可能である部分に、第２の電子透かし埋め込みアルゴリズムを用いて、前記第１埋め込み手段による埋め込みが成されないことを示す情報を埋め込む第２埋め込み部と
を備えたことを特徴とする電子透かし埋め込み装置。
【請求項３】
画像を入力する画像入力ステップと、
電子透かしとして埋め込むべき電子透かし情報を入力する情報入力ステップと、
第１の電子透かし埋め込みアルゴリズムを用いて前記電子透かし情報を埋め込む為に変更されるべき前記画像における各部分について、該埋め込みの為の変更が可能であるか否を判定する埋め込み可否判定ステップと、
前記各部分のうち、前記埋め込みの為の変更が可能である部分にのみ、電子透かし情報を埋め込む第１埋め込みステップと、
前記各部分のうち、前記埋め込みの為の変更が不可能である部分に、第２の電子透かし埋め込みアルゴリズムを用いて、前記第１埋め込み手段による埋め込みが成されないことを示す情報を埋め込む第２埋め込みステップと
をコンピュータに実行させる為の電子透かし埋め込みプログラム。
【請求項４】
画像を入力する画像入力ステップと、
電子透かしとして埋め込むべき電子透かし情報を入力する情報入力ステップと、
第１の電子透かし埋め込みアルゴリズムを用いて前記電子透かし情報を埋め込む為に変更されるべき前記画像における各部分について、該埋め込みの為の変更が可能であるか否を判定する埋め込み可否判定ステップと、
前記各部分のうち、前記埋め込みの為の変更が可能である部分にのみ、電子透かし情報を埋め込む第１埋め込みステップと、
前記各部分のうち、前記埋め込みの為の変更が不可能である部分に、第２の電子透かし埋め込みアルゴリズムを用いて、前記第１埋め込み手段による埋め込みが成されないことを示す情報を埋め込む第２埋め込みステップと
をコンピュータに実行させる為の電子透かし埋め込みプログラムを、該コンピュータから読み取り可能な状態に記憶した記憶媒体。
【請求項５】
第１の電子透かし埋め込みアルゴリズムを用いて電子透かし情報が埋め込まれている画像を入力する画像入力ステップと、
前記第１の電子透かし埋め込みアルゴリズムを用いて前記電子透かし情報を埋め込む為に変更されるべき前記画像における各部分について、第２の電子透かし埋め込みアルゴリズムに基づいて、前記第１の電子透かしアルゴリズムを用いて電子すかし情報の埋め込みの為の変更が不可能であったか否かを検出する検出ステップと
前記検出結果に基づいて、前記電子透かし情報を埋め込む為の変更が可能であったと判定される前記画像の部分のみから、前記第１の電子透かし埋め込みアルゴリズムに基づいて、前記電子透かし情報を抽出する電子透かし抽出ステップと
を備えたことを特徴とする電子透かし抽出方法。
【請求項６】
第１の電子透かし埋め込みアルゴリズムを用いて電子透かし情報が埋め込まれている画像を入力する画像入力部と、
前記第１の電子透かし埋め込みアルゴリズムを用いて前記電子透かし情報を埋め込む為に変更されるべき前記画像における各部分について、第２の電子透かし埋め込みアルゴリズムに基づいて、前記第１の電子透かしアルゴリズムを用いて電子すかし情報の埋め込みの為の変更が不可能であったか否かを検出する検出部と
前記検出結果に基づいて、前記電子透かし情報を埋め込む為の変更が可能であったと判定される前記画像の部分のみから、前記第１の電子透かし埋め込みアルゴリズムに基づいて、前記電子透かし情報を抽出する電子透かし抽出部と
を備えたことを特徴とする電子透かし抽出装置。
【請求項７】
第１の電子透かし埋め込みアルゴリズムを用いて電子透かし情報が埋め込まれている画像を入力する画像入力ステップと、
前記第１の電子透かし埋め込みアルゴリズムを用いて前記電子透かし情報を埋め込む為に変更されるべき前記画像における各部分について、第２の電子透かし埋め込みアルゴリズムに基づいて、前記第１の電子透かしアルゴリズムを用いて電子すかし情報の埋め込みの為の変更が不可能であったか否かを検出する検出ステップと
前記検出結果に基づいて、前記電子透かし情報を埋め込む為の変更が可能であったと判定される前記画像の部分のみから、前記第１の電子透かし埋め込みアルゴリズムに基づいて、前記電子透かし情報を抽出する電子透かし抽出ステップと
をコンピュータに実行させる為の電子透かし抽出プログラム。
【請求項８】
第１の電子透かし埋め込みアルゴリズムを用いて電子透かし情報が埋め込まれている画像を入力する画像入力ステップと、
前記第１の電子透かし埋め込みアルゴリズムを用いて前記電子透かし情報を埋め込む為に変更されるべき前記画像における各部分について、第２の電子透かし埋め込みアルゴリズムに基づいて、前記第１の電子透かしアルゴリズムを用いて電子すかし情報の埋め込みの為の変更が不可能であったか否かを検出する検出ステップと
前記検出結果に基づいて、前記電子透かし情報を埋め込む為の変更が可能であったと判定される前記画像の部分のみから、前記第１の電子透かし埋め込みアルゴリズムに基づいて、前記電子透かし情報を抽出する電子透かし抽出ステップと
をコンピュータに実行させる為の電子透かし抽出プログラムを、該コンピュータから読み取り可能な状態に記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書画像等に電子透かし情報を埋め込む方法、及び電子透かし情報が埋め込まれた画像データからこの電子透かし情報を抽出する方法に関するものである。
【背景技術】
【０００２】
従来、文書画像のように文字列で構成される画像に電子透かし情報を埋め込む技術として、例えば、以下の文献に記載されている。
【０００３】
公知技術は、隣接する文字の間の空白の長さを変更することにより電子透かし情報を埋め込む方法である。
【非特許文献１】Ｋｉｎｇ  Ｍｏｎｇｋｕｔ大学による“Ｅｌｅｃｔｒｏｎｉｃ  ｄｏｃｕｍｅｎｔ  ｄａｔａ  ｈｉｄｉｎｇ  ｔｅｃｈｎｉｑｕｅ  ｕｓｉｎｇ  ｉｎｔｅｒ−ｃｈａｒａｃｔｅｒ  ｓｐａｃｅ”，Ｔｈｅ  １９９８  ＩＥＥＥ  Ａｓｉａ−Ｐａｃｉｆｉｃ  Ｃｏｎｆ．Ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ，１９９８，ｐｐ．４１９−４２２．
【発明の開示】
【発明が解決しようとする課題】
【０００４】
次に、本出願人は、文字の間の空白の長さを変更することにより電子透かし情報を埋め込む方法の１つとして、例えば、以下の様な方法を考える。
【０００５】
図１８では、電子透かし情報が埋め込まれる前の文書画像が示されている。
【０００６】
図１９では、図１８の文書画像の一部に電子透かし情報が埋め込まれた後の文書画像が示されている。
【０００７】
各図に示されている矩形は、各文字に外接する矩形である。
【０００８】
図１８及び図１９では、文字（外接矩形）が５文字、文字の間（外接矩形の間）の空白が４つある。
【０００９】
図１８において、Ｐ０、Ｓ０、Ｐ１、Ｓ１は、各文字の間（各外接矩形の間）の空白の長さを示す。図１９においてＰ０’、Ｓ０’、Ｐ１’、Ｓ１’は、電子透かし情報の埋め込みにより、上記Ｐ０、Ｓ０、Ｐ１、Ｓ１が変化した後の長さを示す。
【００１０】
ここでは、１ビットの電子透かし情報を埋め込むために、隣接する２つの空白の長さを調整する。よって、図１８、図１９に示す４つの空白長では、４つの空白が有る場合には、２ビットの電子透かし情報を埋め込むことが可能である。
【００１１】
例えば、Ｐ＞Ｓが１を表し、Ｐ＜Ｓが０を表すと定める。そこで、図１８においてＰ０とＳ０との間の“子”という文字を左方向に、Ｐ１とＳ１との間の“か”という文字を右方向に移動させた場合、埋め込み後の文書画像の一部である図１０では、Ｐ０’＜Ｓ０’、Ｐ１’＜Ｓ１’となり、「０，１」というビット列（電子透かし情報）が埋め込まれたことになる。
【００１２】
しかしながら、上述の電子透かし手法を実施する上においては、埋め込み対象となる文字間の位置関係によって、どうしても情報を埋め込めない場所が生じてしまうという問題が有る。
【００１３】
その一例を説明する。図２０における各矩形は、図１８や図１９の様に各文字の外接矩形である。図２０では、空白の長さＰ及びＳが１画素分の長さしかない。この場合には、ＰとＳの間の文字（２）を左右どちらに移動しても、隣接する文字（１）または（３）に接触してしまい、文書画像として不自然になってしまう。従って、この場合には文字を移動するのは不適切である。
【００１４】
この様な場合に生じる“電子透かし情報が埋め込めなかった場所（空白）”について、その電子透かし情報の検出／抽出側において、電子透かし情報が埋め込まれたことによってその様な空白（空白の長さ）になっているのか、それとも、電子透かし情報を埋め込むことができずにその様な空白（空白の長さ）になっているのかを知ることができない。
【００１５】
従って、全ての場所に電子透かし情報が埋め込まれているという前提の下に、電子透かし情報の抽出を行うので、実際の電子透かし情報とは異なる情報を誤って抽出してしまう問題がある。
【００１６】
本発明は上記問題点に鑑みてなされたものであり、画像へ電子透かし情報を埋め込む際に、電子透かし情報を埋め込むべき箇所に、所望の方法で電子透かし情報を埋め込むことが出来ない状況が発生したとしても、その状況を上記画像を用いて伝達し、この電子透かし情報を上記画像から抽出する側で正確に抽出できる様にすることを主な目的とする。
【課題を解決するための手段】
【００１７】
上記目的を達成する為に本発明の電子透かし埋め込み方法によれば、画像を入力する画像入力ステップと、電子透かしとして埋め込むべき電子透かし情報を入力する情報入力ステップと、第１の電子透かし埋め込みアルゴリズムを用いて前記電子透かし情報を埋め込む為に変更されるべき前記画像における各部分について、該埋め込みの為の変更が可能であるか否を判定する埋め込み可否判定ステップと、前記各部分のうち、前記埋め込みの為の変更が可能である部分にのみ、電子透かし情報を埋め込む第１埋め込みステップと、前記各部分のうち、前記埋め込みの為の変更が不可能である部分に、第２の電子透かし埋め込みアルゴリズムを用いて、前記第１埋め込み手段による埋め込みが成されないことを示す情報を埋め込む第２埋め込みステップとを備えたことを特徴とする。
【発明の効果】
【００１８】
本発明によれば、画像へ電子透かし情報を埋め込む際に、電子透かし情報を埋め込み対象として通常考えられる場所に、所望の方法で電子透かし情報を埋め込むことが出来ない状況が発生したとしても、その状況を上記画像を用いて伝達することができ、結果的に、この電子透かし情報を上記画像から抽出する側で正確に抽出することができる。
【発明を実施するための最良の形態】
【００１９】
＜＜システム概略＞＞
まず最初に、各実施例で電子透かし埋め込み装置、或いは抽出装置として機能する画像処理システムの一例を図２１に示す。
【００２０】
図２１において、２１０１はコンピュータであり、所定のプログラムに基づいて、種々のデータを処理することが可能である。
【００２１】
２１１７は原稿を読み取り、画像データを発生するスキャナである。このコンピュータ２１０１は、スキャナ２１１７から発生した画像データを入力し、この画像データの編集や保存を行う。
【００２２】
２１１６はプリンタであり、スキャナから得た画像データを表す画像、或いはコンピュータ２１０１内部で処理した後の画像データを表す画像を、インクまたはトナー等を用いて紙等へ印刷する。
【００２３】
なお、ユーザからの各種指示は、マウス２１１３、キーボード２１１４を用いて行われる。
【００２４】
コンピュータ２１０１の内部では、バス２１０７により各処理部が接続されており、各処理部の間で種々のデータを送受信できる。
【００２５】
図２１において、２１０２はＭＰＵ（ｍｉｃｒｏ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）である。このＭＰＵ２１０２は、コンピュータ２１０１内部の他の各処理部の動作を制御し、或いは、内部に記憶されたプログラムを実行することができる処理部である。
【００２６】
主記憶装置２１０３は、ＭＰＵ２１０２において行われる各種処理のために、一時的にプログラムや処理対象の画像データを格納しておく装置である。
【００２７】
２１０４は、ＨＤＤ（ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ）である。このＨＤＤ２１０４は、主記憶装置２１０３等に転送されるプログラムや画像データをあらかじめ格納したり、処理後の画像データを保存することのできる処理部である。
【００２８】
２１１５は、スキャナインタフェース（Ｉ／Ｆ）である。このＩ／Ｆ２１１５は、上述したスキャナ２１１７と接続されており、スキャナ２１１７から得られた画像データをコンピュータ内部へ入力する為のインターフェイスである。
【００２９】
２１０８は、プリンタインタフェース（Ｉ／Ｆ）である。Ｉ／Ｆ２１０８は、上述したプリンタ２１１６と接続されており、印刷するべき画像データをコンピュータ内部の各処理部からプリンタ２１１６へ送出する為のインターフェイスである。
【００３０】
２１０９はＣＤドライブである。このＣＤドライブ２１０９は、外部記憶媒体の一つであるＣＤ（ＣＤ−Ｒ／ＣＤ−ＲＷ）に記憶されたデータを読み込んだり、あるいは書き出したりすることができる処理部である。
【００３１】
２１１１はフロッピー（登録商標）ディスク（ＦＤ：ｆｌｏｐｐｙ  ｄｉｓｋ）ドライブである。このＦＤドライブ２１１１は、上記ＣＤドライブ２１０９と同様にＦＤに記憶されたデータの読み込みや、ＦＤへの書き出しをすることができる処理部である。
【００３２】
２１１０は、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）ドライブである。このＤＶＤドライブ２１１０も、上記ＣＤドライブ２１０９と同様に、ＤＶＤ（ＤＶＤ−ＲＷ／ＤＶＤ−ＲＡＭ等）からの読み込みや、ＤＶＤへの書き出しをすることができる処理部である。
【００３３】
なお、上記ＣＤ、ＦＤ、ＤＶＤ等に画像編集用のプログラム、或いはスキャナドライバ、或いはプリンタドライバ、が記憶されている場合には、本コンピュータ２１０１は、これらプログラムをＨＤＤ２１０４上にインストールし、必要に応じて主記憶装置２１０３に転送されるようになっている。
【００３４】
インターフェイス（Ｉ／Ｆ）２１１２は、コンピュータ２１０１として、マウス２１１３やキーボード２１１４を介してユーザからの指示を受理する為のインターフェイスである。
【００３５】
２１０６はモニタである。このモニタ２１０６は、電子透かし情報を埋め込んだ際の処理結果、或いは電子透かし情報を抽出した際の処理結果、或いは上記各種処理の過程を表示することのできる処理部ある。
【００３６】
２１０５はビデオコントローラである。このビデオコントローラ２１０５は、上記モニタに表示するべき画像データをモニタ２１０６に送信するための処理部である。
【実施例１】
【００３７】
以下で説明する実施例では、第１の埋め込み用アルゴリズムを用いて電子透かし情報を埋め込めなかった場合に、補助用のマーキングアルゴリズム（第２の埋め込み用アルゴリズム）を用いて上記電子透かし情報が埋め込めなかったことを示す付加情報を埋め込む。
【００３８】
一方、画像から上記電子透かし情報を抽出する時には、上記補助用のマーキングアルゴリズム（第２の埋め込み用アルゴリズム）に基づいて上記付加情報を検知し、電子透かし情報の通常の埋め込み対象である画像中の何れの部分（空白）に電子透かし情報が埋め込めなかったかを認識する。そして、この認識結果に基づいて特定される“電子透かし情報が埋め込まれている場所”のみから、第１の埋め込み用アルゴリズムに基づいて抽出を行うことができる。
【００３９】
以下、更に具体的な電子透かし情報の埋め込み手順と、抽出手順について説明してゆく。
【００４０】
＜＜電子透かし情報の埋め込み＞＞
図１は、本実施例における電子透かし埋め込み装置を説明するための概略図である。
【００４１】
図１において、１００は、電子透かし情報を埋め込む対象である画像である。
【００４２】
この画像１００は、画像入力部１０１に入力される。なお、この画像入力部１０１の機能は、上述した図２１においては、スキャナ２１１７が処理できる。
【００４３】
次に、文書解析部１０２において、画像１００に含まれる各文字の位置関係が解析される。
【００４４】
次に、透かし情報埋め込み可能性判定部１０３において、電子透かし情報を埋め込めるか否かの判定が行われる。この判定部１０３において、“電子透かしの埋め込みは不可能である”と判定した場合には、補助用マーキング埋め込み部１０４により、第２の電子透かし埋め込み方法を用いて、電子透かし情報が埋め込めなかった場所を示す付加情報を埋め込む。
【００４５】
透かし情報埋め込み部１０６では、本来埋め込むべき電子透かし情報１０５を入力し、この情報１０５を、画像１００における“電子透かし情報を埋め込むことが可能である”と判断された場所にのみ、第１の電子透かし埋め込み方法を用いて、埋め込む。
【００４６】
上記、文書解析部１０２、判定部１０３、埋め込み部１０４、埋め込み部１０６の動作は、図２１においては、主にＭＰＵ２１０２が所定プログラムに基づき、かつ主記憶装置２１０３等と連携して実行する。
【００４７】
最後に、画像出力部１０７により、透かし埋め込み画像１０８が生成される。この画像入力部１０１の機能は、上述した図２１においては、プリンタ２１１６が処理できる。
【００４８】
また、上記処理に際し、図２１のモニタ２１０６で実行状況を確認したり、電子透かしの埋め込み結果を確認したりすることも可能である。
【００４９】
図３は、本実施例における、電子透かし情報の埋め込み処理の手順を示すフローチャートである。
【００５０】
まず、ステップＳ３０１において、電子透かし情報の埋め込み対象となる画像１００が、画像入力部１０１（スキャナ２１１７等）から入力される。なお、この画像１００は、スキャナ２１１７からの入力する場合に限らず、コンピュータ２１０１内の処理部（例えばハードディスク２１０４）に存在する画像データを取得しても良い。また例えば、ＣＤドライブ２１０９、ＤＶＤドライブ２１１０、ＦＤドライブ２１１１等により各記憶媒体に格納された画像データを取得しても良い。
【００５１】
次にステップＳ３０２において、文書解析手段１０２は、画像１００から“外接矩形”の抽出を行う。
【００５２】
この外接矩形とは、画像１００内に存在する１つ１つの文字に外接する矩形であって、１文字に１つの矩形が対応する。この外接矩形の検出方法は、例えば、画像１００内の各画素値を垂直座標軸に対して射影し、空白部分（黒色である文字のない部分）を探索して行を判別して行（文字列）への分割を行う。続いて、この行（文字列）に対して水平座標軸に対して射影し、空白部分を探索して文字単位に分割する。これによって、各文字を外接矩形で切り出すことが可能である。
【００５３】
次に、ステップＳ３０３において、画像１００に埋め込むべき電子透かし情報１０５を入力する。この入力は、例えば図２１のキーボード２１１４やマウス２１１３等により行うことができる。ただし、この電子透かし情報１０５としては、例えば、コンピュータ２１０１内の処理部（例えばハードディスク２１０４）に存在するデータを利用しても良い。また例えば、ＣＤドライブ２１０９、ＤＶＤドライブ２１１０、ＦＤドライブ２１１１等により各記憶媒体に格納されたデータを利用しても良い。
【００５４】
＜電子透かし埋め込み方法（第１電子透かし埋め込みアルゴリズム）＞
次に、上述した図１の透かし情報埋め込み部１０６による、電子透かし情報の埋め込みアルゴリズム（第１の電子透かし埋め込み方法）について説明する。
【００５５】
図１０は、本実施例の埋め込み方法（第１電子透かし埋め込みアルゴリズム）を示す概略図である。
【００５６】
ここで示す埋め込みアルゴリズムは、水平方向に並ばない所定位置関係を持つ文字同士の距離を調節することにより電子透かし情報を埋め込むというものである。この為に、一部の外接矩形（文字）を水平方向に移動させる。
【００５７】
図中、（Ａ，Ｂ）と記載されている矩形は、各文字の外接矩形である。
【００５８】
例えば、移動させる外接矩形は（２，２）、（２，４）である。一方、（１，１）、（１，３）、（２，１）、（２，３）はアンカーポイントとして動かさない。
【００５９】
そして、電子透かし情報の埋め込みは、水平方向に並ばない所定位置関係を持つ文字同士「（２，２）と（１，１）」の水平方向の距離Ｌ１と、水平方向に並ばない所定位置関係を持つ文字同士「（２，２）と（１，３）」の水平方向の距離Ｒ１との大小関係を調節することで達成される。
【００６０】
例えば、１ビットの情報「１」を埋め込みたいときはＬ１＞Ｒ１となるように外接矩形の位置関係を調節し、１ビットの情報「０」を埋め込みたいときはＬ１＜Ｒ１となるように外接矩形の位置関係を調節する。
【００６１】
以上が、本実施例で適用する、電子透かし情報の埋め込みアルゴリズム（第１の電子透かし埋め込み方法）である。
【００６２】
図３の説明に戻る。
【００６３】
次に、ステップＳ３０４において、電子透かし情報１０５として埋め込まれるべき先頭の文字（ビット情報）が選択される。
【００６４】
例えば、図１の電子透かし情報１０５として示した「０１００１０１０１１１・・・」を画像１００に埋め込む場合には、先頭の文字とは１ビットの情報「０」である。
【００６５】
次に、ステップＳ３０５において、電子透かし情報１０５を埋め込むために位置を調整（水平方向へ移動）するべき外接矩形を選択する。上述した図１０の説明においては、外接矩形（２，２）を最初に選択する。
【００６６】
次に、ステップＳ３０６において、位置調整（電子透かし埋め込み）の対象となる外接矩形について、“この外接矩形の位置を調整することが可能か否か”言い換えれば“この外接矩形の位置を調整することにより、電子透かし情報を埋め込むことができるか否か”を判定する。この判定は、埋め込み可能性判定部１０３で実行される。
【００６７】
＜電子透かし埋め込みの可否判定＞
図５は、上記ステップＳ３０６内の、埋め込み可能性判定部１０３による、詳細な動作手順を示すフローチャートである。
【００６８】
まず最初に、ステップＳ３０６ａにおいて、上記ステップ３０６で判定対象となっている外接矩形に電子透かし情報を埋め込む場合に変化する可能性の有る距離パラメータ（例えば、外接矩形（２，２）を判定中であれば、図１０のＬ１，Ｒ１，Ｓｌ，Ｓｒの距離パラメータ）を算出して、記憶する。
【００６９】
上記Ｌ１は、“注目している外接矩形（２，２）と、それと水平方向に並ばない所定位置関係を持つ文字（１，１）との水平方向の距離”である。
【００７０】
上記Ｒ１は、“注目している外接矩形（２，２）と、それと水平方向に並ばない所定位置関係を持つ文字（１，３）との水平方向の距離”である。
【００７１】
上記Ｓｌは、外接矩形（２，２）とその左隣の外接矩形（２、１）との水平方向の距離である。この距離Ｓｌは、“注目する外接矩形を左に移動させることのできる最大移動距離”であると解釈できる。
【００７２】
上記Ｓｒは、注目している外接矩形（２，２）とその右隣の外接矩形（２，３）との水平方向の距離である。この距離Ｓｒは、“注目する外接矩形を右に移動させることのできる最大移動距離”であると解釈できる。
【００７３】
これらの距離は、例えば図２１の２１０３の主記憶装置に記憶する。
【００７４】
次にステップＳ３０６ｂにおいて、所定の判定条件に基づいて、電子透かし情報の埋め込みが可能か否かの判定を行う。
【００７５】
この判定条件については、「０」が埋め込めない条件と「１」が埋め込めない条件とで異なる。
【００７６】
また、後述するが、本実施例では、電子透かし情報（ビット情報）の「１」を埋め込みたい時には、Ｌ１＞Ｒ１という大小関係となる様に、注目している外接矩形を移動させるものとする。一方、電子透かし情報（ビット情報）の「０」を埋め込みたい時には、Ｌ１＜Ｒ１という大小関係となる様に、注目している外接矩形を移動させるものとする。よって、この前提に基づいて、以下の判定を行う。
【００７７】
本実施例において、電子透かし情報（ビット情報）の「１」を埋め込みたい時には、「注目している外接矩形を最も右方向へ移動した時の距離Ｌ１（Ｌ１の最大値）が、その時の距離Ｒ１（Ｒ１の最小値）よりも大きくなるか否か」を判定する。即ち、
Ｌ１＋Ｓｒ＞Ｒ１−Ｓｒ    ・・・（式１）
を満たすか否かを判定する。この（式１）を満たせば、ビット情報「１」は埋め込める。
【００７８】
これと同様に、電子透かし情報（ビット情報）の「０」を埋め込みたい時には、「注目している外接矩形を最も左方向へ移動した時の距離Ｒ１（Ｒ１の最大値）が、その時の距離Ｌ１（Ｌ１の最小値）よりも大きくなるか否か」を判定する。即ち、
Ｌ１−Ｓｌ＜Ｒ１＋Ｓｌ    ・・・（式２）
を満たすか否かを判定する。この（式２）を満たせば、ビット情報「０」は埋め込める。
【００７９】
もし、ステップＳ３０６において、“注目している外接矩形（２，２）の調整により、電子透かし情報（ビット情報）の「１」を埋め込もうとしている場合”には、ステップＳ３０６ｂでは、上記（式１）を参照し、この条件を満たすか否かを判定することにより、電子透かし情報の埋め込みが可能か否かを判定する。
【００８０】
また、ステップＳ３０６において、“注目している外接矩形（２，２）の調整により、電子透かし情報（ビット情報）の「０」を埋め込もうとしている場合”には、ステップＳ３０６ｂでは、上記（式２）を参照し、この条件を満たすか否かを判定することにより、電子透かし情報の埋め込みが可能か否かを判定する。
【００８１】
図３の説明に戻る。
【００８２】
もし、ステップＳ３０６において“Ｎｏ（埋め込み不可能）”と判定された場合には、ステップＳ３０７に進む。
【００８３】
ステップＳ３０７では、補助マーキング埋め込み部１０４は、そこで判定対象となっている外接矩形（上記説明では外接矩形（２，２））に対して、第２の電子透かし埋め込み方法を用いて、「電子透かし情報（ビット情報）を埋め込むことができなかった場所であること」を示すマーキングを行う。
【００８４】
以下に、ステップＳ３０７において補助マーキング埋め込み部１０４が行うマーキング方法を、詳しく説明する。
【００８５】
＜マーキング方法（第２電子透かし埋め込みアルゴリズム）＞
以下、図６のフローチャート、及び図１１を用いて、マーキング方法について説明する。
【００８６】
図６は、上記ステップＳ３０７内の、補助マーキング埋め込み部１０４による、詳細な動作手順を示すフローチャートである。
【００８７】
図１１は、本実施例の埋め込み方法（第２電子透かし埋め込みアルゴリズム）を示す概略図である。
【００８８】
まず、Ｓ３０７ａにおいて、Ｓ３０６にて判定対象となっていた外接矩形（上述の例では矩形（２，２））が配置されている行（水平方向の文字列）のベースラインを算出する。
【００８９】
なお、図１１においては、矩形（２，２）行は、上から２つ目の行に属すると考えられる。
【００９０】
本実施例では、このベースラインとは、この行に属する各文字（外接矩形）の底（外接矩形の下辺）の位置の平均とする。よって、Ｓ３０７ａにおいて、この行の外接矩形の位置の平均を求め、この位置をベースラインと決める。
【００９１】
次に、ステップＳ３０７ｂにおいて、上記注目している外接矩形（この説明では矩形（２，２））の位置を、上記ベースラインよりも所定距離だけ下方向に移動させる。図１１においては、注目している外接矩形（２，２）を距離Ｈ１だけ下方向に移動させている。
【００９２】
この移動処理が、マーキングに相当する。これにより、電子透かし情報を抽出しようとする者／装置が、多数の文字が配列された画像から、他の文字よりも所定距離だけ下にずれている文字を検出することができ、その検出の結果、「この文字（外接矩形）には電子透かし情報（ビット情報）が埋め込まれていない」と判定することが可能になる。
【００９３】
ただし、ある行において、全部の文字を下方向にずらしてしまった場合には、「その行の全てに電子透かし情報が埋め込まれている」と誤判定してしまう可能性が有る。従って、これを回避する為に、本実施例では、例えば、「１行中に埋め込めない文字（外接矩形）が所定割合（所定個数）の場合には、その行に属する全ての文字に電子透かし情報を埋め込まない。」といった制御を掛ける。例えば、本実施例において、８０パーセント以上の文字（外接矩形）に電子透かし情報が埋め込めない場合には、その行（文字列）には電子透かし情報は埋め込まないことと決め、その行については、最後（右端）の１文字のみを所定距離だけ上方向に移動させる等により、元の文字配列を極力変化させない様にしておく。
【００９４】
以上説明した様なマーキング処理（Ｓ３０７ａ、Ｓ３０７ｂ）が完了したら、図３ステップＳ３０５に戻る。そして、次の電子透かし情報（ビット情報）の埋め込み対象となる外接矩形（上記説明では、矩形（２，２）の次の矩形（２，４））を選択し、Ｓ３０６の判定を続ける。
【００９５】
図３の説明に戻る。もし、ステップＳ３０６において“Ｙｅｓ（埋め込み可能）”と判定された場合には、ステップＳ３０８に進む。ステップＳ３０８における電子透かし情報の埋め込み方法（第１電子透かし埋め込みアルゴリズム）については、上述した通りだが、本ステップＳ３０８での説明として簡単に示す。
【００９６】
＜電子透かし情報の埋め込み（第１電子透かし埋め込みアルゴリズム）＞
図７は、ステップＳ３０８における電子透かし情報の埋め込み手順を示すフローチャートである。
【００９７】
まず、ステップＳ３０８ａにおいて、Ｓ３０６で判定対象となっていた文字（外接矩形）へ埋め込まれるべき電子透かし情報（ビット情報）が「１」であるか否かを判断する。
【００９８】
上記判定により、埋め込まれるべきビット情報が「１」であった場合（Ｙｅｓの場合）には、ステップＳ３０８ｂへ進む。
【００９９】
ステップＳ３０８ｂでは、上述した距離ＬｎとＲｎとの関係が、Ｌｎ＞Ｒｎとなるように変更する。例えば、矩形（２，２）が電子透かし情報の埋め込み対象となっている場合には、Ｌ１＞Ｒ１となる様にこの矩形（２，２）の位置を変更する。同じく、矩形（２，４）が電子透かし情報の埋め込み対象となっている場合には、Ｌ２＞Ｒ２となるようにこの矩形（２，４）の位置を変更する。
【０１００】
上記判定により、埋め込まれるべきビット情報が「０」であった場合（Ｎｏの場合）には、ステップＳ３０８ｃへ進む。
【０１０１】
ステップＳ３０８ｃでは、上述した距離ＬｎとＲｎとの関係が、Ｌｎ＜Ｒｎとなるように変更する。例えば、矩形（２，２）が電子透かし情報の埋め込み対象となっている場合には、Ｌ１＜Ｒ１となる様にこの矩形（２，２）の位置を変更する。同じく、矩形（２，４）が電子透かし情報の埋め込み対象となっている場合には、Ｌ２＜Ｒ２となるようにこの矩形（２，４）の位置を変更する。
【０１０２】
なお本実施例では、注目する矩形において、予め、目的とするＬｎとＲｎとの大小関係が成り立っているならば、例えば視覚的な不自然さをできるだけ抑えることを目的として、あえて矩形を移動しなくても良い。ここで、本実施例では、以下の変形が可能である。
【０１０３】
例えば、ビット情報「１」を埋め込みたい場合に、予めＬｎ＞Ｒｎとなっている場合には、更に、そのＬｎ−Ｒｎの差を検出する。そして、この差が大きい場合には、上述した様に矩形を移動しないが、この差が余り大きくない場合には、所定量以上の差となる様に、上記矩形を左に移動する。また例えば、ビット情報「０」を埋め込みたい場合に、予めＬｎ＜Ｒｎとなっている場合には、更に、そのＬｎ−Ｒｎの差を検出する。そして、この差が大きい場合には、上述した様に矩形を移動しないが、この差が余り大きくない場合には、所定量以上の差となる様に、上記矩形を左に移動する。
【０１０４】
また、上記趣旨を更に上位概念としてまとめて、以下の条件を満たしているか否かを判定し、その条件を満たさない場合のみ、矩形の位置を下記条件を満たす様に調整することとしても良い。 
条件ｉ）埋め込まれるビット情報の基準が、ＬｎとＲｎとの大小関係と合致するか。 
条件ｉｉ）Ｌｎ−Ｒｎの絶対値｜Ｌｎ−Ｒｎ｜の大きさが、所定量以上であるか。 
以上の各種変形例によれば、「ＬｎとＲｎとを検出する以前に、それらの大小関係が何らかの理由で微量に変化することによる電子透かし情報（ビット情報）誤検出」を防ぐことができる。
【０１０５】
図３の説明に戻る。ステップ３０９では、Ｓ３０８にて処理した矩形が、最後の処理対象の矩形であるか否かを判定する。或いは、Ｓ３０８にて埋め込んだビット情報が、画像１００に埋め込むべき電子透かし情報の最後のビット情報である否かを判定する。
【０１０６】
上記判定により、処理対象となる最後の矩形か、或いは、最後のビット情報であった場合（Ｙｅｓの場合）には、更なるステップＳ３０４〜Ｓ３０８の処理は不要であると判断し、ステップＳ３１０へ進む。一方、Ｎｏの場合には、ステップ３０４に進み、更なるステップＳ３０４〜Ｓ３０８の処理を行う。
【０１０７】
ステップＳ３１０において、上記ステップＳ３０９までの処理により確定した、各文字（外接矩形）の配置に基づく画像を生成する。
【０１０８】
なお、このステップＳ３１０では、文字（外接矩形）の相対的な配置さえ変化しなければ、幾らかの画像処理を加えても良い。例えば、他の画像の上に、Ｓ３０９までで得られた画像を上書きした画像（画像データ）を生成しても良い。或いは、他の画像を第１領域とし、Ｓ３０９までで得られた画像を第２領域として、必要なレイアウトが行うことにより新たな画像（画像データ）を生成しても良い。
【０１０９】
ステップＳ３１１では、ステップＳ３１０で生成された画像（画像データ）を所望の媒体へ出力する。例えば、図２１のコンピュータ２１０１におけるプリンタ２１１６等に可視状態の画像として、印刷出力することができる。また、不図示のネットワーク回線から、外部端末へ画像データとして出力することもできる。或いは、ＣＤ２１０９、ＤＶＤ２１１０、ＦＤ２１１１を介して画像データとして記憶媒体へ記憶させることもできる。また、ＨＤＤ２１０４等、内部処理部へ保存しておくこともできる。
【０１１０】
＜＜電子透かし情報の抽出＞＞
図２は、本実施例における電子透かし抽出装置を説明するための概略図である。
【０１１１】
図２において、２００は、電子透かし情報を抽出する対象である画像である。この画像２００には電子透かし情報が埋め込まれているであろうと予想して入力するものである。
【０１１２】
この画像２００は、画像入力部２０１に入力される。なお、この画像入力部２０１の機能は、上述した図２１においては、スキャナ２１１７が処理できる。
【０１１３】
次に、文書解析部２０２において、画像２００に含まれる各文字の位置関係が解析される。
【０１１４】
次に、補助用マーキング検出部２０３により、上述した第２の電子透かし埋め込み方法に基づいて、画像２００における“電子透かし情報が埋め込めなかった”場所を検出する。
【０１１５】
透かし情報抽出部２０４では、上記検出結果を参照して、画像２００における“（埋め込み側で）電子透かし情報を埋め込むことが可能であった”と判断された場所からのみ、第１の電子透かし埋め込み方法を用いて、電子透かし情報（ビット情報）２０４を抽出する。
【０１１６】
この電子透かし情報２０４は、上記抽出が成功すれば、図１の電子透かし情報１０５と同一のものになる。
【０１１７】
上記、文書解析部２０２、補助用マーキング検出部２０３、透かし情報抽出部２０４の動作は、図２１においては、主にＭＰＵ２１０２が所定プログラムに基づき、かつ主記憶装置２１０３等と連携して実行する。
【０１１８】
図４は、本実施例における、電子透かし情報の抽出処理の手順を示すフローチャートである。
【０１１９】
まず、ステップＳ４０１において、電子透かし情報の抽出対象となる画像２００が、画像入力部２０１（スキャナ２１１７等）から入力される。
【０１２０】
なお、この画像２００は、図３のＳ３１１で出力される画像（画像データ）であるから、上述した様に、スキャナ２１１７からの入力する場合に限らず、コンピュータ２１０１内の処理部（例えばハードディスク２１０４）に存在する画像データを取得しても良い。また例えば、ＣＤドライブ２１０９、ＤＶＤドライブ２１１０、ＦＤドライブ２１１１等により各記憶媒体に格納された画像データを取得しても良い。
【０１２１】
次にステップＳ４０２において、文書解析手段２０２は、画像２００から上述した“外接矩形”の抽出を行う。
【０１２２】
次に、ステップＳ４０３において、電子透かし情報の抽出対象となる外接矩形について、“（埋め込み側で）この外接矩形の位置を調整することが可能だったか否か”言い換えれば“（埋め込み側で）この外接矩形の位置を調整することにより、電子透かし情報を埋め込むことができたか否か”を判定する。この判定は、補助マーキング検出部２０３で実行される。
【０１２３】
＜電子透かし抽出の可否判定（埋め込み側での電子透かし情報の埋め込み可否判定）＞
図８は、上記ステップＳ４０３内の、補助マーキング検出部２０３による、詳細な動作手順を示すフローチャートである。
【０１２４】
まず、Ｓ４０３ａにおいて、Ｓ４０３にて判定対象となっていた外接矩形（例えば図１１の矩形（２，２））が配置されている行（水平方向の文字列）のベースラインを算出する。
【０１２５】
なお、図１１においては、矩形（２，２）行は、上から２つ目の行に属すると考えられる。本実施例では、このベースラインとは、この行に属する各文字（外接矩形）の底（外接矩形の下辺）の位置の平均とする。よって、Ｓ４０３ａにおいて、この行の外接矩形の位置の平均を求め、この位置をベースラインと決める。
【０１２６】
次に、ステップＳ４０３ｂにおいて、上記注目している外接矩形（この説明では矩形（２，２））を選択する。
【０１２７】
次に、ステップＳ４０３ｃにおいて、上記注目している外接矩形（この説明では矩形（２，２））の下辺と、上記ベースラインとの位置を比較する。
【０１２８】
このステップＳ４０３ｃにおいて、注目している外接矩形の下辺が、ベースラインよりも所定距離、或いは所定距離以上、下方向にズレている場合には、「この文字（外接矩形）には電子透かし情報（ビット情報）が埋め込まれていない」と判定する。この場合、ステップＳ４０３ｄへ進む。
【０１２９】
一方、ステップＳ４０３ｃにおいて、注目している外接矩形の下辺が、ベースラインよりも所定距離、或いは所定距離以上、下方向にズレていない場合には、「この文字（外接矩形）には電子透かし情報（ビット情報）が埋め込まれている」と判定する。この場合、ステップＳ４０３ｅへ進む。
【０１３０】
次に、ステップＳ４０３ｄにおいて、「注目している外接矩形は、電子透かし情報（ビット情報）が埋め込まれていない文字（外接矩形）である」として、図２１の主記憶装置２１０３等に記憶する。
【０１３１】
一方、ステップＳ４０３ｅにおいて、「注目している外接矩形は、電子透かし情報（ビット情報）が埋め込まれている文字（外接矩形）である」として、図２１の主記憶装置２１０３等に記憶する。
【０１３２】
図４の説明に戻る。
【０１３３】
次に、ステップ４０４において、電子透かし抽出部２０４は、「注目している外接矩形は、電子透かし情報（ビット情報）が埋め込まれている文字（外接矩形）である」と判定された外接矩形のみに対して、次の電子透かし情報の抽出を行う。
【０１３４】
＜電子透かし情報の抽出（第１電子透かし埋め込みアルゴリズム）＞
図９は、ステップＳ４０４における電子透かし情報の抽出手順を示すフローチャートである。
【０１３５】
このステップ４０４では、上記ステップＳ４０３ｅにおいて、「電子透かし情報（ビット情報）が埋め込まれている文字（外接矩形）」として記憶された外接矩形のみを、以下のステップＳ４０４ｂ〜Ｓ４０４ｅまでの処理対象として、順次処理することとする。
【０１３６】
まず、ステップＳ４０４ａにおいて、主記憶装置２１０３等に記憶されたステップＳ４０３の判定結果に基づいて、現在の処理対象となっている文字（外接矩形）から電子透かし情報を抽出するべきか否かを判定する。もし、このステップＳ４０４ａでの処理対象となる文字（外接矩形）が「電子透かし情報（ビット情報）が埋め込まれていない文字（外接矩形）」である場合には、ステップＳ４０４ｂへは進まずに、ステップＳ４０５へ進む。一方、このステップＳ４０４ａでの処理対象となる文字（外接矩形）が「電子透かし情報（ビット情報）が埋め込まれている文字（外接矩形）」である場合には、ステップＳ４０４ｂに進む。
【０１３７】
ステップＳ４０４ｂでは、現在の処理対象となっている文字（外接矩形）に電子透かし情報を埋め込む場合に変化する可能性の有る距離パラメータＬｎ、Ｒｎ（例えば、外接矩形（２，２）を判定中であれば、図１０のＬ１、Ｒ１の距離パラメータ）を算出して、記憶する。
【０１３８】
次に、ステップＳ４０４ｃにおいて、これらＬｎ、Ｒｎの比較を行う。
【０１３９】
もし、Ｌｎ＞Ｒｎであれば、ステップＳ４０４ｄへ進む。ステップＳ４０４ｄでは、その文字（外接矩形）に埋め込まれている電子透かし情報（ビット情報）は「１」と判定し、これを電子透かし情報を構成するビット情報「１」として出力する。
【０１４０】
もし、Ｌｎ＜Ｒｎであれば、ステップＳ４０４ｅへ進む。ステップＳ４０４ｅでは、その文字（外接矩形）に埋め込まれている電子透かし情報（ビット情報）は「０」と判定し、これを電子透かし情報を構成するビット情報「０」として出力する。
【０１４１】
このステップＳ４０４ｄ及びＳ４０４ｅで出力されたビット情報は、主記憶装置２１０３等に累積記憶される。
【０１４２】
次に、ステップＳ４０６において、処理対象となっている文字（外接矩形）が最終の外接矩形か否かを判定する。もし、最終の文字（外接矩形）が処理済みであれば、ステップＳ４０６へ進む。一方、未処理の文字（外接矩形）が存在する場合には、ステップＳ４０３へ戻る。
【０１４３】
ステップＳ４０６では、上記ステップＳ４０４ｄ及びＳ４０４ｅにて出力され、かつ、主記憶装置２１０に累積記憶された全てのビット情報を、最終的な電子透かし情報として出力する。この電子透かし情報は、図２１のプリンタ２１１６により電子透かし情報を印刷しても良いし、モニタ２１０６に表示しても良いし、不図示のネットワーク回線から外部端末へ出力しても良いし、ＣＤ２１０９、ＤＶＤ２１１０、ＦＤ２１１１を介して各種記憶媒体へ記憶させても良いし、ＨＤＤ２１０４等、内部処理部へ保存しても良い。
【実施例２】
【０１４４】
上記実施例１においては、第１の電子透かし埋め込みアルゴリズムとして、文字（外接矩形）を水平方向へ移動させ、文字間の空白の距離を調節し、その結果、複数個の距離の大小関係を変化させて電子透かし情報（ビット情報）を表現していた。
【０１４５】
また上記実施例１においては、第２の電子透かし埋め込みアルゴリズムとして、文字（外接矩形）を垂直方向へ移動させ、同行の他の文字との垂直方向の位置をズラすことにより、電子透かし情報（埋め込み不可能を示す情報）を表現していた。
【０１４６】
しかしながら、上記第１、第２の電子透かし埋め込みアルゴリズムは、上記方法に限られず、種々のアルゴリズムの組合せに適用可能である。
【０１４７】
この実施例２では、第１の電子透かし埋め込みアルゴリズムとして、文字（外接矩形）の重心の間隔を用いた埋め込み方法を適用し、第２の電子透かし埋め込みアルゴリズム（補助用マーキングアルゴリズム）として、文字（外接矩形）の回転を用いた方法を適用する。
【０１４８】
以下、実施例１から実施例２へ変更する際に注目するべき点についてのみ詳細に説明する。電子透かし埋め込みアルゴリズムに関らない装置構成や手順については、基本的に同様であるので、重複して説明しない。よって例えば、実施例２においても、実施例１と同様に、図１から図４等がそのまま適用可能である。
【０１４９】
＜電子透かし埋め込み方法（第１電子透かし埋め込みアルゴリズム）＞
以下に、上述した図１の透かし情報埋め込み部１０６による、電子透かし情報の埋め込みアルゴリズム（第１の電子透かし埋め込み方法）の変形例について説明する。
【０１５０】
図１２は、本実施例の埋め込み方法（第１電子透かし埋め込みアルゴリズム）を示す概略図である。
【０１５１】
図１２に示す各文字（外接矩形）において、電子透かし情報の埋め込みの為に移動させるのは外接矩形（２）及び外接矩形（４）及び外接矩形（６）である。
【０１５２】
外接矩形（２）を移動させる場合について、図１２を用いて具体的に説明する。
【０１５３】
ここでは、外接矩形（２）と外接矩形（１）との夫々の重心の間の水平方向の距離Ｌ１と、外接矩形（２）と外接矩形（３）との夫々の重心の間の水平方向の距離Ｒ１との大小関係を調整することにより、電子透かし情報（ビット情報）を埋め込む。
【０１５４】
例えば、ビット情報「１」を埋め込みたいときには、Ｌ１＞Ｒ１となる様に外接矩形（２）を水平方向に移動させ、ビット情報「０」を埋め込みたいときには、Ｌ１＜Ｒ１となる様に外接矩形（２）を水平方向に移動させる。また、第１の実施例と同様、外接矩形（２）の位置を移動させなくても、目標とするＬ１とＲ２との大小関係が成り立っているならば、あえて移動を実行する必要はない。
【０１５５】
＜電子透かし埋め込みの可否判定＞
図５のフローチャートを用いて、実施例２を説明する。
【０１５６】
まず最初に、ステップＳ３０６ａにおいて、上記ステップ３０６で判定対象となっている外接矩形に電子透かし情報を埋め込む場合に変化する可能性の有る距離パラメータ（例えば、外接矩形（２，２）を判定中であれば、図１２のＬ１，Ｒ１，Ｓｌ，Ｓｒの距離パラメータ）を算出して、記憶する。
【０１５７】
上記Ｌ１は、“注目している外接矩形（２）の重心と、それと水平方向に並ぶ所定位置関係を持つ文字（１）の重心との水平方向の距離”である。
【０１５８】
上記Ｒ１は、“注目している外接矩形（２）の重心と、それと水平方向に並ばない所定位置関係を持つ文字（３）の重心との水平方向の距離”である。
【０１５９】
なお、本実施例では、ＬｎとＲｎは、重心同士の間の距離である点に注意して欲しい。
【０１６０】
上記Ｓｌは、外接矩形（２）とその左隣の外接矩形（１）との水平方向の距離である。この距離Ｓｌは、“注目する外接矩形を左に移動させることのできる最大移動距離”であると解釈できる。
【０１６１】
上記Ｓｒは、注目している外接矩形（２）とその右隣の外接矩形（３）との水平方向の距離である。この距離Ｓｒは、“注目する外接矩形を右に移動させることのできる最大移動距離”であると解釈できる。
【０１６２】
これらの距離は、例えば図２１の２１０３の主記憶装置に記憶する。
【０１６３】
次にステップＳ３０６ｂにおいて、所定の判定条件に基づいて、電子透かし情報の埋め込みが可能か否かの判定を行う。
【０１６４】
この判定条件については、「０」が埋め込めない条件と「１」が埋め込めない条件とで異なる。
【０１６５】
本実施例において、電子透かし情報（ビット情報）の「１」を埋め込みたい時には、「注目している外接矩形を最も右方向へ移動した時の距離Ｌ１（Ｌ１の最大値）が、その時の距離Ｒ１（Ｒ１の最小値）よりも大きくなるか否か」を判定する。即ち、
Ｌ１＋Ｓｒ＞Ｒ１−Ｓｒ    ・・・（式３）
を満たすか否かを判定する。この（式３）を満たせば、ビット情報「１」は埋め込める。
【０１６６】
これと同様に、電子透かし情報（ビット情報）の「０」を埋め込みたい時には、「注目している外接矩形を最も左方向へ移動した時の距離Ｒ１（Ｒ１の最大値）が、その時の距離Ｌ１（Ｌ１の最小値）よりも大きくなるか否か」を判定する。即ち、
Ｌ１−Ｓｌ＜Ｒ１＋Ｓｌ    ・・・（式４）
を満たすか否かを判定する。この（式４）を満たせば、ビット情報「０」は埋め込める。
【０１６７】
もし、ステップＳ３０６において、“注目している外接矩形（２）の調整により、電子透かし情報（ビット情報）の「１」を埋め込もうとしている場合”には、ステップＳ３０６ｂでは、上記（式３）を参照し、この条件を満たすか否かを判定することにより、電子透かし情報の埋め込みが可能か否かを判定する。
【０１６８】
また、ステップＳ３０６において、“注目している外接矩形（２）の調整により、電子透かし情報（ビット情報）の「０」を埋め込もうとしている場合”には、ステップＳ３０６ｂでは、上記（式４）を参照し、この条件を満たすか否かを判定することにより、電子透かし情報の埋め込みが可能か否かを判定する。
【０１６９】
＜マーキング方法（第２電子透かし埋め込みアルゴリズム）＞
図１３は、上記ステップＳ３０７内の、補助マーキング埋め込み部１０４による、詳細な動作手順を示すフローチャートである。
【０１７０】
図１５は、本実施例の埋め込み方法（第２電子透かし埋め込みアルゴリズム）を示す概略図である。
【０１７１】
まず、Ｓ３０７−２ａにおいて、Ｓ３０６にて判定対象となっていた外接矩形（上述の例では矩形（２））の重心を算出する。
【０１７２】
次に、ステップＳ３０７−２ｂにおいて、上記注目している外接矩形（この説明では矩形（２））を、上記算出された重心を中心として、例えば図１５の様に、時計回りに回転させる。
【０１７３】
この回転処理が、マーキングに相当する。これにより、電子透かし情報を抽出しようとする者／装置が、多数の文字が配列された画像から、他の文字よりも所定角度だけ回転している文字を検出することができ、その検出の結果、「この文字（外接矩形）には電子透かし情報（ビット情報）が埋め込まれていない」と判定することが可能になる。
【０１７４】
＜電子透かし抽出の可否判定（埋め込み側での電子透かし情報の埋め込み可否判定）＞
図１４は、上記ステップＳ４０３内の、補助マーキング検出部２０３による、詳細な動作手順を示すフローチャートである。
【０１７５】
まず、ステップＳ４０３−２ａにおいて、Ｓ４０３にて判定対象となっていた外接矩形（例えば図１２の矩形（２））が選択される。
【０１７６】
次に、ステップＳ４０３−２ｂにおいて、上記注目している外接矩形の重心を算出する。
【０１７７】
次に、ステップＳ４０３−２ｃにおいて、上記注目している外接矩形（この説明では矩形（２））が回転しているか否かを判定する。
【０１７８】
このステップＳ４０３−２ｃにおいて、注目している外接矩形が回転している場合には、「この文字（外接矩形）には電子透かし情報（ビット情報）が埋め込まれていない」と判定する。この場合、ステップＳ４０３−２ｄへ進む。
【０１７９】
一方、ステップＳ４０３ｃにおいて、注目している外接矩形が回転していない場合には、「この文字（外接矩形）には電子透かし情報（ビット情報）が埋め込まれている」と判定する。この場合、ステップＳ４０３−２ｅへ進む。
【０１８０】
次に、ステップＳ４０３ｄにおいて、「注目している外接矩形は、電子透かし情報（ビット情報）が埋め込まれていない文字（外接矩形）である」として、図２１の主記憶装置２１０３等に記憶する。
【０１８１】
一方、ステップＳ４０３ｅにおいて、「注目している外接矩形は、電子透かし情報（ビット情報）が埋め込まれている文字（外接矩形）である」として、図２１の主記憶装置２１０３等に記憶する。
【０１８２】
＜電子透かし情報の抽出（第１電子透かし埋め込みアルゴリズム）＞
電子透かし情報の抽出の考え方に関しては、抽出アルゴリズムが異なる自体は同様である。即ち、「電子透かし情報（ビット情報）が埋め込まれている文字（外接矩形）」として記憶された外接矩形のみから、上述した本実施例の電子透かし埋め込みアルゴリズム（重心を用いた方法）に基づいて、電子透かし情報を抽出する。
【０１８３】
まず、主記憶装置２１０３等に記憶された判定結果に基づいて、現在の処理対象となっている文字（外接矩形）から電子透かし情報を抽出するべきか否かを判定する。もし、ここでの処理対象となる文字（外接矩形）が「電子透かし情報（ビット情報）が埋め込まれていない文字（外接矩形）」である場合には、電子透かし情報の抽出処理は行わない。一方、ここでの処理対象となる文字（外接矩形）が「電子透かし情報（ビット情報）が埋め込まれている文字（外接矩形）」である場合には、電子透かし情報の抽出処理を行う。
【０１８４】
抽出の際には、上述した様に各文字（外接矩形）の重心を算出して、記憶する。
【０１８５】
次に、隣り合う重心同士の距離ＬｎとＲｎとを算出する。
【０１８６】
もし、Ｌｎ＞Ｒｎであれば、その文字（外接矩形）に埋め込まれている電子透かし情報（ビット情報）は「１」と判定し、これを電子透かし情報を構成するビット情報「１」として出力する。
【０１８７】
もし、Ｌｎ＜Ｒｎであれば、その文字（外接矩形）に埋め込まれている電子透かし情報（ビット情報）は「０」と判定し、これを電子透かし情報を構成するビット情報「０」として出力する。
【０１８８】
ここで出力されたビット情報１／０は、主記憶装置２１０３等に累積記憶される。
【０１８９】
そして、主記憶装置２１０に累積記憶された全てのビット情報を、最終的な電子透かし情報として出力する。この電子透かし情報は、図２１のプリンタ２１１６により電子透かし情報を印刷しても良いし、モニタ２１０６に表示しても良いし、不図示のネットワーク回線から外部端末へ出力しても良いし、ＣＤ２１０９、ＤＶＤ２１１０、ＦＤ２１１１を介して各種記憶媒体へ記憶させても良いし、ＨＤＤ２１０４等、内部処理部へ保存しても良い。
【実施例３】
【０１９０】
上記各実施例は、文字列で構成される画像における電子透かし技術について説明していたが、本発明はこれに限らず、カラーの多値画像における電子透かし技術としても当然に適用可能である。以下で、その変形例を簡単に説明しておく。
【０１９１】
この実施例では、第１の電子透かし埋め込みアルゴリズムには、カラー画像を構成するＲＧＢ成分におけるＢ（青）成分に電子透かし情報を埋め込む方法を適用する。一方、第２の電子透かし埋め込みアルゴリズム（補助マーキングアルゴリズム）には、Ｒ（赤）成分の周波数領域の位相スペクトルを変更することにより電子透かし情報を埋め込む方法を適用する。これら埋め込みアルゴリズムは周知であるので特に詳細説明しない。
【０１９２】
図１６は、カラー多値画像に電子透かし情報を埋め込む際の処理手順を示すフローチャートである。この図１６に示す処理手順は、実施例１の処理手順とほぼ同様であるので、実施例１、２と異なる部分についてのみ説明する。
【０１９３】
まず、実施例１（図３）と異なる点は、カラー多値画像に対する電子透かし情報の埋め込みでは、文書解析部１０２が不要である。即ち、図１６では図１のステップＳ３０２に相当するステップは不要である。
【０１９４】
また、電子透かしの埋め込み対象が文字（外接矩形）単位ではなく画素単位となるため、ステップＳ３０５の代わりに、ステップＳ１６０４が存在し、そこでは埋め込み対象の画素を順次選択する様になっている。
【０１９５】
ステップＳ１６０５では、本実施例の第１の電子透かし埋め込みアルゴリズムでＢ（青）成分に電子透かし情報が埋め込めるか否かを判定する。具体的には、透かし情報埋め込み可能性判定部１０３により、埋め込み対象となる画素の値が０や２５５等、「それ以上に濃度変化を行えない状況」である場合を判定し、その様な状況の場合には、“その画素には電子透かし情報を埋め込むことが不可能である”と判定する。
【０１９６】
そして、ステップＳ１６０６において、その画素に対応するＲ（赤）成分に対して、補助マーキング埋め込み部１０４により、“電子透かし情報を埋め込むことが不可能な画素であること”を示す付加情報の埋め込みを行う。
【０１９７】
一方、ステップＳ１６０７において、電子透かしの埋め込みが可能な画素に対して、第１の電子透かし埋め込みアルゴリズムを用いて、電子すかし情報の埋め込みを行う。
【０１９８】
＜マーキング方法（第２電子透かし埋め込みアルゴリズム）＞
ここで、本実施例の補助マーキング（第２電子透かし埋め込みアルゴリズム）について説明する。
【０１９９】
なお、この補助マーキングの前に、予め、Ｒ（赤）成分の周波数領域の位相部に対して前処理をしておく。例えば、各位相部において、補助マークとして置換される値（例えばπ／２）が最初から存在する場合には、予め別の値、例えば−π／１８０だけずらしておく。
【０２００】
次に、補助マーキング埋め込み部１０４においては、例えばＢ（青）成分の実空間上の位置（ｉ，ｊ）＝（１００，１００）の画素値Ｉｉ，ｊへ電子透かし情報を埋め込むことができない場合には、（ｉ，ｊ）＝（１００，１００）の位相θｉ，ｊをπ／２に変更する。
【０２０１】
＜電子透かし抽出の可否判定（埋め込み側での電子透かし情報の埋め込み可否判定）＞
図１７は、カラー多値画像から電子透かし情報を抽出するときの処理手順を示すフローチャートである。ステップＳ１７０１では電子透かし情報が埋め込まれている画像を入力する。
【０２０２】
次に、ステップＳ１７０２において、補助用マーキング検出部２０３により上記補助マークを検出する。本実施例では、θｉ，ｊ＝π／２となっている（ｉ，ｊ）を「電子透かし情報の埋め込みができなかった画素の位置を示す情報」として記憶しておく。
【０２０３】
＜電子透かし情報の抽出（第１電子透かし埋め込みアルゴリズム）＞
次に、ステップＳ１７０３において、電子透かし抽出部２０４により、上記ステップＳ１７０２の検出結果に基づいて、電子透かし情報が埋め込まれている画素のみから、電子透かし情報の抽出を行う。
【０２０４】
以上、本実施例では、電子透かし情報の埋め込み対象をＢ（青）成分とし、補助マークを埋め込む成分をＲ（赤）成分の周波数領域としたが、本発明はこれに限らない。例えば、各処理対象の色成分を変更しても構わない。
【０２０５】
（他の実施例）
なお、本発明は、上記各種実施例で説明してきた組合せの様に、補助マーキングにより埋め込まれた補助マーク（付加情報）の検出精度が、第１の電子透かし埋め込みアルゴリズムによる電子透かし情報の埋め込みによって影響を受けない様になっていれば、第１、第２の埋め込みアルゴリズムの組合せとしては、様々な変形を許容する。
【０２０６】
また、第１、第２の埋め込みアルゴリズムを用いた各情報の埋め込み順番も、上記影響が出ないのであれば、適宜変更が可能である。
【０２０７】
また、上記第１の実施例では、ベースラインを算出する時に、複数の外接矩形の下辺の位置の平均としたが、本発明はこれに限らず、処理中の行にアンカーポイントが存在する場合には、そのアンカーポイントのみをベースラインの算出に用いても良い。
【０２０８】
また、第１の実施例では、第２の埋め込みアルゴリズムとして、注目する外接矩形をベースラインよりも下方向にズラす方法を用いたが、本発明はこれに限らない。例えば、注目する外接矩形が属する行の下部に余白がなく、下方向へ移動が不可能な場合には、下方向へ移動させるべき外接矩形以外の全てを上方向に移動させる等、別の対処も可能である。或いは、ズラすべき外接矩形を上方向に移動させる様に、全ての文字列に対する基準を変更しても良い。
【０２０９】
また、上記各実施例では、電子透かし情報（ビット情報）を埋め込めなかった場合に、「その場所に電子透かしを埋め込めたこと」を示す付加情報を第２の埋め込みアルゴリズムにより埋め込む様にしたが、本発明はこれに限らず、電子透かし情報（ビット情報）を埋め込めた場合に、「その場所に電子透かしを埋め込めたこと」を示す付加情報を第２の埋め込みアルゴリズムにより埋め込む様にしても良い。この前者と後者の何れの基準を選択するかは、画像１００における多数の文字列において電子透かし情報を埋め込める文字（外接矩形）の割合に応じて選択すれば良い。例えば、殆どの文字へ電子透かし情報が埋め込めるのであれば、前者の基準を選択すれば、第２の電子透かしアルゴリズムでの埋め込み箇所（不自然な画像箇所）を少なくできるであろう。一方、殆どの文字へ電子透かし情報が埋め込めないのであれば、後者の基準を選択すれば第２の電子透かしアルゴリズムでの埋め込み箇所（不自然な画像箇所）を少なくできるであろう。より具体的には、上記実施例において、前処理として、埋め込み対象の画像１００を解析し、この解析結果に基づいて、上記前者か後者の何れかを選択し、更に、何れを選択したかの結果を示す基準情報を上記画像１００の特定箇所に付加しておく。そうすることにより、電子透かしの抽出時には、画像１００の基準情報を解読すれば、何れの基準で第２のアルゴリズムによる付加情報の埋め込みが行われたかが判るであろう。
【０２１０】
なお、上記各実施例では、電子透かし情報（ビット情報）を第１の埋め込みアルゴリズムで埋め込めない場合に、第２の埋め込みアルゴリズムで埋め込めなかったことを示す付加情報を埋め込む技術を説明したが、上記技術を応用し、例えば、第１のアルゴリズムで電子透かし情報を埋め込めない位置に、第２のアルゴリズムでこの電子透かし情報を埋め込む様にすることも可能である。参考に、この変形例を示すフローチャートを図２２と図２３に示しておくが、詳細な説明は省略する。
【０２１１】
なお、本発明は、複数の機器（例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置等）に適用しても良い。
【０２１２】
また、本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【０２１３】
この場合は、記録媒体から読み出されたプログラムコード自体が上述した実施例の機能を実現することになり、また、そのプログラムコードを記録した記録媒体も本発明に該当するであろう。
【０２１４】
また、コンピュータが上記プログラムコードを読み出して実行することにより、上記実施例の機能を実現する場合に限らず、そのプログラムコードに基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行う場合も本発明の範疇に含まれる。
【０２１５】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコード基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行う場合も本発明の範疇に含まれる。
【０２１６】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートを実行可能なプログラムコードが格納されることになる。
【図面の簡単な説明】
【０２１７】
【図１】電子透かし埋め込み装置を説明するための概略図
【図２】電子透かし抽出装置を説明するための概略図
【図３】電子透かし情報の埋め込み処理の手順を示すフローチャート
【図４】電子透かし情報の抽出処理の手順を示すフローチャート
【図５】埋め込み可能性判定部１０３の処理手順を示したフローチャート
【図６】補助用マーキング埋め込み部１０４の処理手順を示したフローチャート
【図７】電子透かし情報の埋め込み手順を示すフローチャート
【図８】補助用マーキング抽出部２０３の処理手順を示したフローチャート
【図９】電子透かし情報の抽出手順を示すフローチャート
【図１０】第１電子透かし埋め込みアルゴリズムを説明する概略図
【図１１】第２電子透かし埋め込みアルゴリズムを説明する概略図
【図１２】第１電子透かし埋め込みアルゴリズムを説明する概略図
【図１３】補助用マーキング埋め込み部１０４の処理手順を示したフローチャート
【図１４】補助用マーキング抽出部２０３の処理手順を示したフローチャート
【図１５】第２電子透かし埋め込みアルゴリズムを示す概略図
【図１６】カラー多値画像に電子透かし情報を埋め込む処理手順を示すフローチャート
【図１７】カラー多値画像から電子透かし情報を抽出する処理手順を示すフローチャート
【図１８】電子透かし情報が埋め込まれる前の文書画像を示す図
【図１９】文書画像の一部に電子透かし情報が埋め込まれた後の文書画像が示す図
【図２０】電子透かし情報を埋め込めない場所が生じてしまう場合の一例を示す図
【図２１】各実施例の実施に適用可能な画像処理システムの一例を示す図
【図２２】変形例における電子透かし情報の埋め込み処理の手順を示すフローチャート
【図２３】変形例における電子透かし情報の抽出処理の手順を示すフローチャート
【符号の説明】
【０２１８】
１００  画像
１０１  画像入力部
１０２  文書解析部
１０３  透かし情報埋め込み可能性判定部
１０４  補助用マーキング埋め込み部
１０５  電子透かし情報
１０６  透かし情報埋め込み部
１０７  画像出力部
【図１】
2005117154.tif 000003
【図２】
2005117154.tif 000004
【図３】
2005117154.tif 000005
【図４】
2005117154.tif 000006
【図５】
2005117154.tif 000007
【図６】
2005117154.tif 000008
【図７】
2005117154.tif 000009
【図８】
2005117154.tif 000010
【図９】
2005117154.tif 000011
【図１０】
2005117154.tif 000012
【図１１】
2005117154.tif 000013
【図１２】
2005117154.tif 000014
【図１３】
2005117154.tif 000015
【図１４】
2005117154.tif 000016
【図１５】
2005117154.tif 000017
【図１６】
2005117154.tif 000018
【図１７】
2005117154.tif 000019
【図１８】
2005117154.tif 000020
【図１９】
2005117154.tif 000021
【図２０】
2005117154.tif 000022
【図２１】
2005117154.tif 000023
【図２２】
2005117154.tif 000024
【図２３】
2005117154.tif 000025