(57)【特許請求の範囲】
【請求項１】
文書画像に対して電子透かしのデータ列を埋め込む電子透かし埋め込み装置であって、
前記文書画像を構成する各文字の外接矩形を求める外接矩形計算手段と、
注目外接矩形と、当該注目外接矩形と所定個数離れた位置にある外接矩形との組である第１の組において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義される第１のパラメータと、前記第１の組とは異なる第２の組において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義される第２のパラメータとを求めるパラメータ計算手段と、
埋め込むデータに応じて前記第１のパラメータが示す値と第２のパラメータが示す値の大小関係が変化するように、前記組を構成する外接矩形の高さ、前記組における外接矩形間の距離のうち少なくとも一つを変更することで、変更する外接矩形に対応する文字を制御する制御手段と
を備えることを特徴とする電子透かし埋め込み装置。
【請求項２】
前記第１のパラメータ、前記第２のパラメータは、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義される矩形の面積を示すことを特徴とする請求項１に記載の電子透かし埋め込み装置。
【請求項３】
文書画像に対して電子透かしのデータ列を埋め込む電子透かし埋め込み装置であって、
前記文書画像を構成する各文字の外接矩形を求める外接矩形計算手段と、
注目外接矩形と、当該注目外接矩形と所定個数離れた位置にある外接矩形との組において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義されるパラメータを全ての組について求め、全ての当該パラメータが示す値の平均値を求める平均値計算手段と、
埋め込むデータに応じて、注目組に対する前記パラメータが示す値と前記平均値の大小関係が変化するように、当該注目組を構成する外接矩形の高さ、当該注目組における外接矩形間の距離のうち少なくとも一つを変更することで、変更する外接矩形に対応する文字を制御する制御手段と
を備えることを特徴とする電子透かし埋め込み装置。
【請求項４】
請求項１又は２に記載の電子透かし埋め込み装置により電子透かしのデータ列が埋め込まれた文書画像から当該電子透かしのデータ列を抽出する電子透かし抽出装置であって、
前記文書画像を構成する各文字の外接矩形を求める外接矩形計算手段と、
注目外接矩形と、当該注目外接矩形と所定個数離れた位置にある外接矩形との組である第１の組において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義される第１のパラメータと、前記第１の組とは異なる第２の組において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義される第２のパラメータとを求めるパラメータ計算手段と、
前記第１のパラメータが示す値と第２のパラメータが示す値との大小関係を所定の値で表現することで、当該値を電子透かしのデータとして得る抽出手段と
を備えることを特徴とする電子透かし抽出装置。
【請求項５】
前記第１のパラメータ、前記第２のパラメータは、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義される矩形の面積を示すことを特徴とする請求項４に記載の電子透かし抽出装置。
【請求項６】
請求項３に記載の電子透かし埋め込み装置により電子透かしのデータ列が埋め込まれた文書画像から当該電子透かしのデータ列を抽出する電子透かし抽出装置であって、
前記文書画像を構成する各文字の外接矩形を求める外接矩形計算手段と、
注目外接矩形と、当該注目外接矩形と所定個数離れた位置にある外接矩形との組において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義されるパラメータを全ての組について求め、全ての当該パラメータが示す値の平均値を求める平均値計算手段と、
当該平均値と、注目組の前記パラメータが示す値との大小関係を所定の値で表現することで、当該値を電子透かしのデータとして得る抽出手段と
を備えることを特徴とする電子透かし抽出装置。
【請求項７】
文書画像に対して電子透かしのデータ列を埋め込む電子透かし埋め込み方法であって、
前記文書画像を構成する各文字の外接矩形を求める外接矩形計算工程と、
注目外接矩形と、当該注目外接矩形と所定個数離れた位置にある外接矩形との組である第１の組において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義される第１のパラメータと、前記第１の組とは異なる第２の組において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義される第２のパラメータとを求めるパラメータ計算工程と、
埋め込むデータに応じて前記第１のパラメータが示す値と第２のパラメータが示す値の大小関係が変化するように、前記組を構成する外接矩形の高さ、前記組における外接矩形間の距離のうち少なくとも一つを変更することで、変更する外接矩形に対応する文字を制御する制御工程と
を備えることを特徴とする電子透かし埋め込み方法。
【請求項８】
文書画像に対して電子透かしのデータ列を埋め込む電子透かし埋め込み方法であって、
前記文書画像を構成する各文字の外接矩形を求める外接矩形計算工程と、
注目外接矩形と、当該注目外接矩形と所定個数離れた位置にある外接矩形との組において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義されるパラメータを全ての組について求め、全ての当該パラメータが示す値の平均値を求める平均値計算工程と、
埋め込むデータに応じて、注目組に対する前記パラメータが示す値と前記平均値の大小関係が変化するように、当該注目組を構成する外接矩形の高さ、当該注目組における外接矩形間の距離のうち少なくとも一つを変更することで、変更する外接矩形に対応する文字を制御する制御工程と
を備えることを特徴とする電子透かし埋め込み方法。
【請求項９】
請求項７に記載の電子透かし埋め込み方法により電子透かしのデータ列が埋め込まれた文書画像から当該電子透かしのデータ列を抽出する電子透かし抽出方法であって、
前記文書画像を構成する各文字の外接矩形を求める外接矩形計算工程と、
注目外接矩形と、当該注目外接矩形と所定個数離れた位置にある外接矩形との組である第１の組において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義される第１のパラメータと、前記第１の組とは異なる第２の組において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義される第２のパラメータとを求めるパラメータ計算工程と、
前記第１のパラメータが示す値と第２のパラメータが示す値との大小関係を所定の値で表現することで、当該値を電子透かしのデータとして得る抽出工程と
を備えることを特徴とする電子透かし抽出方法。
【請求項１０】
請求項８に記載の電子透かし埋め込み方法により電子透かしのデータ列が埋め込まれた文書画像から当該電子透かしのデータ列を抽出する電子透かし抽出方法であって、
前記文書画像を構成する各文字の外接矩形を求める外接矩形計算工程と、
注目外接矩形と、当該注目外接矩形と所定個数離れた位置にある外接矩形との組において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義されるパラメータを全ての組について求め、全ての当該パラメータが示す値の平均値を求める平均値計算工程と、
当該平均値と、注目組の前記パラメータが示す値との大小関係を所定の値で表現することで、当該値を電子透かしのデータとして得る抽出工程と
を備えることを特徴とする電子透かし抽出方法。
【請求項１１】
コンピュータを、請求項１乃至３のいずれか１項に記載の電子透かし埋め込み装置として機能させることを特徴とするプログラム。
【請求項１２】
コンピュータを、請求項４乃至６のいずれか１項に記載の電子透かし抽出装置として機能させることを特徴とするプログラム。
【請求項１３】
コンピュータに、請求項７又は８に記載の電子透かし埋め込み方法を実行させるためのプログラム。
【請求項１４】
コンピュータに、請求項９又は１０に記載の電子透かし抽出方法を実行させるためのプログラム。
【請求項１５】
請求項１１乃至１４のいずれか１項に記載のプログラムを格納することを特徴とするコンピュータ読みとり可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、文書画像に電子透かしを埋め込む電子透かし埋め込み装置、及び電子透かしが埋め込まされた文書画像から電子透かしを抽出する電子透かし抽出装置、及びそれらの方法に関するものである。
【０００２】
【従来の技術】
インターネット上で画像や音声などのディジタルデータを流通させる際の著作権保護の方法として、電子透かしが注目されている。電子透かしは、画像や音声などのディジタルデータに対して、人間が知覚できないように透かし情報を埋め込む技術である。例えば、多値画像に対する電子透かし技術としては、多値画素の濃度の冗長性を利用する種々の方法が知られている。
【０００３】
一方、文書画像のような二値画像は冗長度が少なく、電子透かし技術を実現するのが難しい。しかしながら、文書画像特有の特徴を利用した電子透かし方式がいくつか知られている。例えば、行のベースラインを動かす方法（特許第3136061）、単語間空白長を操作する方法（米国特許第6086706、特開平9-186603号公報）、文字間の空白長を操作する方法（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.）、中村康弘，松井甲子雄，  “和文書へのシール画像による電子透かし”，情報処理学会論文誌 Vol.38 No.11 Nov. 1997.で述べられているような文字を回転して傾斜を変化させるなどが挙げられる。
【０００４】
【発明が解決しようとする課題】
しかし文書画像は冗長度が少なく、今まで提案された従来手法は行のベースラインや、語間スペースや文字の回転という１変数の変更によって、情報を埋め込むために変更点が目立つ、すなわち画質劣化が大きいと言う欠点があった。
【０００５】
本発明は以上問題に鑑みてなされたものであり、電子透かしのデータ列を埋め込んだ文書画像の画質劣化を軽減する電子透かしの埋め込み装置及びその方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
本発明の目的を達成するために、例えば本発明の電子透かし埋め込み装置は以下の構成を備える。
【０００７】
すなわち、文書画像に対して電子透かしのデータ列を埋め込む電子透かし埋め込み装置であって、
前記文書画像を構成する各文字の外接矩形を求める外接矩形計算手段と、
注目外接矩形と、当該注目外接矩形と所定個数離れた位置にある外接矩形との組である第１の組において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義される第１のパラメータと、前記第１の組とは異なる第２の組において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義される第２のパラメータとを求めるパラメータ計算手段と、
埋め込むデータに応じて前記第１のパラメータが示す値と第２のパラメータが示す値の大小関係が変化するように、前記組を構成する外接矩形の高さ、前記組における外接矩形間の距離のうち少なくとも一つを変更することで、変更する外接矩形に対応する文字を制御する制御手段と
を備えることを特徴とする。
【０００８】
本発明の目的を達成するために、例えば本発明の電子透かし埋め込み装置は以下の構成を備える。
【０００９】
すなわち、文書画像に対して電子透かしのデータ列を埋め込む電子透かし埋め込み装置であって、
前記文書画像を構成する各文字の外接矩形を求める外接矩形計算手段と、
注目外接矩形と、当該注目外接矩形と所定個数離れた位置にある外接矩形との組において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義されるパラメータを全ての組について求め、全ての当該パラメータが示す値の平均値を求める平均値計算手段と、
埋め込むデータに応じて、注目組に対する前記パラメータが示す値と前記平均値の大小関係が変化するように、当該注目組を構成する外接矩形の高さ、当該注目組における外接矩形間の距離のうち少なくとも一つを変更することで、変更する外接矩形に対応する文字を制御する制御手段と
を備えることを特徴とする。
【００１０】
本発明の目的を達成するために、例えば本発明の電子透かし抽出装置は以下の構成を備える。
【００１１】
すなわち、上記電子透かし埋め込み装置により電子透かしのデータ列が埋め込まれた文書画像から当該電子透かしのデータ列を抽出する電子透かし抽出装置であって、
前記文書画像を構成する各文字の外接矩形を求める外接矩形計算手段と、
注目外接矩形と、当該注目外接矩形と所定個数離れた位置にある外接矩形との組である第１の組において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義される第１のパラメータと、前記第１の組とは異なる第２の組において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義される第２のパラメータとを求めるパラメータ計算手段と、
前記第１のパラメータが示す値と第２のパラメータが示す値との大小関係を所定の値で表現することで、当該値を電子透かしのデータとして得る抽出手段と
を備えることを特徴とする。
【００１２】
本発明の目的を達成するために、例えば本発明の電子透かし抽出装置は以下の構成を備える。
【００１３】
すなわち、上記電子透かし埋め込み装置により電子透かしのデータ列が埋め込まれた文書画像から当該電子透かしのデータ列を抽出する電子透かし抽出装置であって、
前記文書画像を構成する各文字の外接矩形を求める外接矩形計算手段と、
注目外接矩形と、当該注目外接矩形と所定個数離れた位置にある外接矩形との組において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義されるパラメータを全ての組について求め、全ての当該パラメータが示す値の平均値を求める平均値計算手段と、
当該平均値と、注目組の前記パラメータが示す値との大小関係を所定の値で表現することで、当該値を電子透かしのデータとして得る抽出手段と
を備えることを特徴とする。
【００１４】
本発明の目的を達成するために、例えば本発明の電子透かし埋め込み方法は以下の構成を備える。
【００１５】
すなわち、文書画像に対して電子透かしのデータ列を埋め込む電子透かし埋め込み方法であって、
前記文書画像を構成する各文字の外接矩形を求める外接矩形計算工程と、
注目外接矩形と、当該注目外接矩形と所定個数離れた位置にある外接矩形との組である第１の組において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義される第１のパラメータと、前記第１の組とは異なる第２の組において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義される第２のパラメータとを求めるパラメータ計算工程と、
埋め込むデータに応じて前記第１のパラメータが示す値と第２のパラメータが示す値の大小関係が変化するように、前記組を構成する外接矩形の高さ、前記組における外接矩形間の距離のうち少なくとも一つを変更することで、変更する外接矩形に対応する文字を制御する制御工程と
を備えることを特徴とする。
【００１６】
本発明の目的を達成するために、例えば本発明の電子透かし埋め込み方法は以下の構成を備える。
【００１７】
すなわち、文書画像に対して電子透かしのデータ列を埋め込む電子透かし埋め込み方法であって、
前記文書画像を構成する各文字の外接矩形を求める外接矩形計算工程と、
注目外接矩形と、当該注目外接矩形と所定個数離れた位置にある外接矩形との組において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義されるパラメータを全ての組について求め、全ての当該パラメータが示す値の平均値を求める平均値計算工程と、
埋め込むデータに応じて、注目組に対する前記パラメータが示す値と前記平均値の大小関係が変化するように、当該注目組を構成する外接矩形の高さ、当該注目組における外接矩形間の距離のうち少なくとも一つを変更することで、変更する外接矩形に対応する文字を制御する制御工程と
を備えることを特徴とする。
【００１８】
本発明の目的を達成するために、例えば本発明の電子透かし抽出方法は以下の構成を備える。
【００１９】
すなわち、上記電子透かし埋め込み方法により電子透かしのデータ列が埋め込まれた文書画像から当該電子透かしのデータ列を抽出する電子透かし抽出方法であって、
前記文書画像を構成する各文字の外接矩形を求める外接矩形計算工程と、
注目外接矩形と、当該注目外接矩形と所定個数離れた位置にある外接矩形との組である第１の組において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義される第１のパラメータと、前記第１の組とは異なる第２の組において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義される第２のパラメータとを求めるパラメータ計算工程と、
前記第１のパラメータが示す値と第２のパラメータが示す値との大小関係を所定の値で表現することで、当該値を電子透かしのデータとして得る抽出工程と
を備えることを特徴とする。
【００２０】
本発明の目的を達成するために、例えば本発明の電子透かし抽出方法は以下の構成を備える。
【００２１】
すなわち、上記電子透かし埋め込み方法により電子透かしのデータ列が埋め込まれた文書画像から当該電子透かしのデータ列を抽出する電子透かし抽出方法であって、
前記文書画像を構成する各文字の外接矩形を求める外接矩形計算工程と、
注目外接矩形と、当該注目外接矩形と所定個数離れた位置にある外接矩形との組において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義されるパラメータを全ての組について求め、全ての当該パラメータが示す値の平均値を求める平均値計算工程と、
当該平均値と、注目組の前記パラメータが示す値との大小関係を所定の値で表現することで、当該値を電子透かしのデータとして得る抽出工程と
を備えることを特徴とする。
【００２２】
【発明の実施の形態】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００２３】
［第１の実施形態］
本実施形態に係る電子透かしのデータ列を埋め込む方法について図２を用いて説明する。図２は文書画像において、各文字の隣接していない外接矩形間の距離を用いた本実施形態に係る電子透かしのデータ列を埋め込む方法を説明するための図である。
【００２４】
Ａ〜Ｇの矩形は文書画像において各文字の外接矩形を示すものであり、文書解析技術を用いて抽出されるものである。各文字の外接矩形とは、文字に外接する矩形であって、文字認識を行う領域を指す情報である。各文字の外接矩形を求める方法としては、まず文書画像の各画素値を垂直座標軸に対して射影し、空白部分（黒色である文字のない部分）を探索して行を判別して行分割を行う。その後、行単位で文書画像を水平座標軸に対して射影し、空白部分を探索して文字単位に分割する。これによって、各文字を外接矩形で切り出すことが可能となる。この方法として例えば特開平６−６８３０１号公報に開示されている方法を挙げることができる。
【００２５】
また同図において２０１は外接矩形Ａ、Ｃ間の距離を示し、２０２は外接矩形Ｂ、Ｄ間の距離を示し、２０３は外接矩形Ｄ、Ｆ間の距離を示し、２０４は外接矩形Ｅ、Ｇ間の距離を示す。上述の通り、本実施形態に係る電子透かしのデータ列の埋め込み方法では、これらの距離を、埋め込むデータに応じて変化させる。
【００２６】
以下、上述の電子透かしのデータ列の埋め込み方法について説明する。図３に本実施形態に係る電子透かし埋め込み装置として、及び電子透かしのデータ列が埋め込まれた文書画像から電子透かしのデータ列を抽出する電子透かし抽出装置としてのコンピュータの基本構成を示す。なお、上記埋め込み方法、及び抽出方法を実現するために図３に示した各部全てを使用することは必須ではない。
【００２７】
同図において、コンピュータ３０１は一般に普及しているパーソナルコンピュータやワークステーションなどであって、スキャナ３１７から読み取られた画像を入力し、編集や保管を行うことが可能である。また、スキャナ３１７から得られた画像をプリンタ３１６から紙やＯＨＰ等の記録媒体に印刷させることができる。尚、ユーザからの各種指示等は、マウス３１３、キーボード３１４を用いて入力することができる。
【００２８】
コンピュータ３０１の内部では、バス３０７により後述する各ブロックが接続され、夫々のブロック間で種々のデータの受け渡しが可能である。ＭＰＵ３０２は、コンピュータ３０１内部の各ブロックの動作を制御すると共に、ＲＡＭとしての主記憶装置３０３に記憶されたプログラムを実行することで後述の電子透かしのデータ列の埋め込みに関する一連の処理、及びこの埋め込み処理により文書画像に埋め込まれた電子透かしのデータ列を抽出する一連の処理を実行する。
【００２９】
主記憶装置３０３は、ＨＤＤ３０４，ＣＤ−ＲＯＭドライブ装置３０９、ＤＶＤ−ＲＯＭドライブ装置３１０、ＦＤドライブ装置３１１等からロードされたプログラムやデータを一時的に記憶するエリアを備えると共に、ＭＰＵ３０２が各種の処理を実行するために一時的に処理対象のデータなどを記憶するワークエリアを備える。
【００３０】
ハードディスクドライブ（ＨＤＤ）装置３０４は、主記憶装置３０３にロードされるプログラムや文書画像データを予め保存しておいたり、処理後の文書画像データを保存することができる。インタフェース（Ｉ／Ｆ）３１５は、原稿やフィルム等に記録された情報を読み取って、画像データを生成するスキャナ３１７と接続され、スキャナ３１７で得られた画像データを入力するためのＩ／Ｆである。Ｉ／Ｆ３０８は、画像データを印刷するプリンタ３１６と接続され、印刷する画像データをプリンタ３１６に送信するためのＩ／Ｆである。
【００３１】
ＣＤ−ＲＯＭドライブ装置３０９は、外部記憶媒体の一つであるＣＤ−ＲＯＭ（ＣＤ−Ｒ／ＣＤ−ＲＷ）に記憶されたデータを読み込んだり、あるいは書き出すことができる装置である。ＦＤ（フロッピー（登録商標）ディスク）ドライブ装置３１１はＣＤ−ＲＯＭドライブ装置３０９と同様にＦＤからデータを読み出したり、ＦＤへデータを書き込んだりすることができる装置である。ＤＶＤ−ＲＯＭドライブ装置３１０は、ＦＤドライブ装置３１１と同様に、ＤＶＤからデータを読み出したり、ＤＶＤへデータを書き込んだりすることができる装置である。尚、上記ＣＤ−ＲＯＭ、ＦＤ、ＤＶＤ−ＲＯＭ等にプログラム、あるいはプリンタドライバが記憶されている場合には、これらプログラムをＨＤＤ３０４にインストールし、必要に応じて主記憶装置３０３にロードされるようになっている。
【００３２】
Ｉ／Ｆ３１２は、マウス３１３やキーボード３１４からの入力指示を受け付けるために、これらと接続されるＩ／Ｆである。また、モニタ３０６は、電子透かしのデータ列の抽出処理結果や処理過程を表示することのできる表示装置である。さらに、ビデオコントローラ３０５は、表示データをモニタ３０６に送信するための装置である。
【００３３】
以上の構成を備えるコンピュータが行う電子透かしのデータ列の埋め込み処理について、同処理のフローチャートを示す図６を参照して説明する。なお、以下の説明では１つ置きの外接矩形間の距離（図２を例に取ると、２０１と２０２，２０３と２０４）を用いる。また、以下の処理の経過などは適宜モニタ３０６上に表示しても良い。
【００３４】
まず、マウス３１３もしくはキーボード３１４を用いたユーザからの指示入力に応じて、電子透かし埋め込みを行う文書画像を主記憶装置３０３にロードする（ステップＳ６００）。この文書画像は、文書が記録された紙などの記録媒体をスキャナ３１７により読みとり、読みとった結果をビットマップ化したものとする。
【００３５】
しかし文書画像を得る方法はこれに限定されるものではなく、他にも例えば、一般の文書エディタで作成された文書、もしくは上記ＣＤ−ＲＯＭドライブ装置３０９，もしくはＤＶＤ−ＲＯＭドライブ装置３１０、もしくはＦＤドライブ装置３１１から主記憶装置３０３にロードされた文書のデータを用いてビットマップ化し、文書画像を作成しても良い。また、ＬＡＮやインターネットなどのネットワークに接続可能なネットワークＩ／Ｆを上記装置に備え、ネットワークを介して外部から文書画像を受信し、得ても良い。しかし上記いずれの場合でも、文書画像はビットマップ化されたものである。
【００３６】
次に、ビットマップ化された文書画像に対し前述の文書解析を行い、各文字の外接矩形を求める（ステップＳ６０１）。次に、ユーザは１，もしくは０からなる電子透かしのデータ列をキーボード３１４，もしくはマウス３１３を用いて入力すると、このデータ列はＩ／Ｆ３１２を介して主記憶装置３０３に出力され、主記憶装置３０３に格納される（ステップＳ６０２）。
【００３７】
次に、文書の先頭から２つの、隣接していない外接矩形間の距離を求め、夫々をｄ１，ｄ２とする（ステップＳ６０３）。図２の例では、上記２０１の距離を求め、これをｄ１、２０２の距離を求め、これをｄ２とする（ステップＳ６０３）。そして埋め込むデータが１である場合、処理をステップＳ６０５に進め、ｄ１＞ｄ２となるように、以下の２つのパラメータの変更処理のいずれか、もしくはその組み合わせによる処理を行う（ステップＳ６０５）。
【００３８】
・  外接矩形Ｂの列方向の大きさを大きくする、もしくは外接矩形Ｃの列方向の大きさを小さくする（サイズに関するパラメータの変更）
・  外接矩形Ｃの位置を外接矩形Ｄ側に移動させる、もしくは外接矩形Ｂの位置を外接矩形Ｄ側に移動させる（位置に関するパラメータの変更）
この２つのパラメータの変更処理のいずれか、もしくはその組み合わせによる処理のどちらを行うかの指示は予め決めていても良いし、ユーザにより入力させても良い。
【００３９】
一方、埋め込むデータが０である場合、処理をステップＳ６０６に進め、ｄ１＜ｄ２となるように、以下の２つのパラメータの変更処理のいずれか、もしくはその組み合わせによる処理を行う（ステップＳ６０６）。
【００４０】
・  外接矩形Ｂの列方向の大きさを小さくする、もしくは外接矩形Ｃの列方向の大きさを大きくする（サイズに関するパラメータの変更）
・  外接矩形Ｃの位置を外接矩形Ａ側に移動させる、もしくは外接矩形Ｂの位置を外接矩形Ａ側に移動させる（位置に関するパラメータの変更）
この２つのパラメータの変更処理のいずれか、もしくはその組み合わせによる処理のどちらを行うかの指示は予め決めていても良いし、ユーザにより入力させても良い。また、外接矩形の位置、サイズを変更する制御処理に伴って、外接矩形で囲まれている文字の位置、サイズも同様に変更されるものとする。
【００４１】
またステップＳ６０５、Ｓ６０６による処理は、その変更部分が最も目立たないように、すなわち画質劣化が小さくなるように上記各パラメータを予め調節しておく。
【００４２】
特に図２の例では３つおきの外接矩形（図２では外接矩形Ａ、Ｄ、Ｇ）の位置は変化しないので、３個の外接矩形を単位としてその中のバランスで最も画質劣化のないように、データの埋め込み処理を行う。これにより、外接矩形間のスペース“のみ”を変更する場合に対して人間の視覚的に違和感の無い埋め込みが実現できる。
【００４３】
図６に戻って、更に埋め込むデータがある場合には処理をステップＳ６０３に戻し、上記処理を繰り返す。例えば埋め込むデータがまだある場合、図２の例では外接矩形Ｄ、Ｆ間の距離を求め、これをｄ１とし、更に外接矩形Ｅ、Ｇ間の距離を求め、これをｄ２とし、以上の埋め込み処理の説明で、外接矩形Ａ，Ｂ，Ｃ，Ｄを夫々外接矩形Ｄ，Ｅ，Ｆ，Ｇと読み替えて以上の処理を繰り返す。
【００４４】
以上の処理により、文書画像に対して電子透かしのデータ列の埋め込みを行うことができる。
【００４５】
次に、上記処理により埋め込んだ電子透かしのデータ列の抽出方法について説明する。上述の通り、電子透かしのデータ列を抽出する処理も図３に示したコンピュータにより行われる。図７に上記コンピュータが行う、上記処理により埋め込んだ電子透かしのデータ列の抽出処理のフローチャートを示す。
【００４６】
まず、マウス３１３もしくはキーボード３１４を用いたユーザからの指示入力に応じて、電子透かしのデータ列が埋め込まれた文書画像（以下、埋め込み画像）を主記憶装置３０３にロードする（ステップＳ７００）。この埋め込み画像は、上記埋め込み処理による埋め込み画像をプリンタ３１６によりプリントした紙やＯＨＰなどの記録媒体をスキャナ３１７により読みとり、読みとった結果をビットマップ化したものとする。しかし、埋め込み画像を得る方法はこれに限定されるものではなく、上記ＨＤＤ３０４、もしくはＣＤ−ＲＯＭドライブ装置３０９，もしくはＤＶＤ−ＲＯＭドライブ装置３１０、もしくはＦＤドライブ装置３１１から主記憶装置３０３にロードされたものであってもよい。また、ＬＡＮやインターネットなどのネットワークに接続可能なネットワークＩ／Ｆを上記装置に備え、ネットワークを介して外部から受信し、得ても良い。
【００４７】
次に、埋め込み画像に対し前述の文書解析を行い、各文字の外接矩形を求める（ステップＳ７０１）。本ステップにおける処理は、上記ステップＳ６０１における処理内容と同じである。
【００４８】
次に、上記２０１の距離ｄ１と２０２の距離ｄ２とを求める（ステップＳ７０２）。ｄ１＞ｄ２の場合（ステップＳ７０３）、処理をステップＳ７０４に進め、埋め込まれたデータを１として主記憶装置３０３に記録する（ステップＳ７０４）。一方、ｄ１＜ｄ２の場合、処理をステップＳ７０５に進め、埋め込まれたデータを０として主記憶装置３０３に記録する（ステップＳ７０５）。
【００４９】
そして処理対象の外接矩形がまだ残っているかを判断する（ステップＳ７０６）。図２の例では外接矩形Ａ，Ｂ，Ｃ，Ｄ以降にまだＥ，Ｆ，Ｇが残っているので、処理をステップＳ７０２に戻し、外接矩形Ｄ、Ｆ間の距離を求め、これをｄ１とし、更に外接矩形Ｅ、Ｇ間の距離を求め、これをｄ２とし、以上の抽出処理の説明で、外接矩形Ａ，Ｂ，Ｃ，Ｄを夫々外接矩形Ｄ，Ｅ，Ｆ，Ｇと読み替えて以上の処理を繰り返す。また予め電子透かしのデータの個数がわかっている場合には、その個数分のデータが主記憶装置３０３に記録されたか否かを判断すればよい。
【００５０】
そして処理対象の外接矩形が残っていないとステップＳ７０６で判断された場合、ステップＳ７０４，ステップＳ７０５で主記憶装置３０３に記録されたデータ列を電子透かしのデータ列として得ることができる。以上の処理により、上記方法により電子透かしのデータ列が埋め込まれた文書画像から、このデータ列を抽出することができる。
【００５１】
なお、以上の説明では外接矩形Ａ，Ｃ間の距離と外接矩形Ｂ，Ｄ間の距離との大小関係に応じて電子透かしのデータを埋め込んだ後、次に外接矩形Ｄ，Ｆ間の距離と外接矩形Ｅ，Ｇ間の距離との大小関係に応じて電子透かしのデータを埋め込んだが、大小関係の比較対象はこれに限定されるものではない。すなわち、例えば、外接矩形Ａ，Ｃ間の距離と外接矩形Ｄ，Ｆ間の距離との大小関係に応じて電子透かしのデータを埋め込んだ後、次に外接矩形Ｂ，Ｄ間の距離と外接矩形Ｅ，Ｇ間の距離との大小関係に応じて電子透かしのデータを埋め込んでも良い。
【００５２】
また、ある値を初期値として擬似乱数を発生させ、その乱数の値に応じて大小関係の比較対象を選択しても良い。例えば乱数の値が１の場合、外接矩形Ａ，Ｃ間の距離と外接矩形Ｂ，Ｄ間の距離との大小関係に応じて電子透かしのデータを埋め込んだ後、次に外接矩形Ｄ，Ｆ間の距離と外接矩形Ｅ，Ｇ間の距離との大小関係に応じて電子透かしのデータを埋め込み処理を行い、乱数の値が２の場合、外接矩形Ａ，Ｃ間の距離と外接矩形Ｄ，Ｆ間の距離との大小関係に応じて電子透かしのデータを埋め込んだ後、次に外接矩形Ｂ，Ｄ間の距離と外接矩形Ｅ，Ｇ間の距離との大小関係に応じて電子透かしのデータを埋め込む処理を行うとしてもよい。
【００５３】
またここでは４つの距離の組み合わせの一例を用いた電子透かしのデータ列の埋め込み方法について説明したが、外接矩形の数が更に増えると、どの外接矩形間の距離同士の大小関係を用いるかの組み合わせ数は膨大なものとなるため、上記乱数を用いた大小関係の比較対象の選択方法を用いると、上記初期値を鍵として埋め込み側と抽出側で共有すれば、その鍵を知らない第３者はアルゴリズムが公開されても、埋め込まれた情報を抽出することはできなくなり、秘匿性が向上する。
【００５４】
また、上記説明では簡単のために隣接しない外接矩形として１つおきの外接矩形を用いて説明したが、上記の電子透かしの埋め込み方法、及び抽出方法が１つおきの外接矩形に限定されないことは明らかである。
【００５５】
また上記説明において、埋め込むデータが１の場合、ｄ１＞ｄ２となるように、０の場合、ｄ１＜ｄ２となるように上記パラメータ処理を行ったが、これに限定されるものではなく、不等号の向きは逆でも良い。すなわち、埋め込むデータが１の場合、ｄ１＜ｄ２となるように、０の場合、ｄ１＞ｄ２となるように上記パラメータ処理を行っても良い。その場合、当然抽出処理もこれに対応させる必要があり、ｄ１＞ｄ２の場合、埋め込まれたデータを０として主記憶装置３０３に記録し、ｄ１＜ｄ２の場合、埋め込まれたデータを１として主記憶装置３０３に記録する。
【００５６】
［第２の実施形態］
本実施形態では、第１の実施形態に係る電子透かしのデータ列の埋め込み方法とは異なる方法で電子透かしのデータ列を文書画像に埋め込む。以下、本実施形態に係る電子透かしのデータ列を文書画像に埋め込む方法及び、この文書画像から電子透かしのデータ列を抽出する方法について説明する。なお、これらの埋め込み方法、抽出方法を実行するコンピュータの基本構成、及び各部の機能については第１の実施形態と同じとする。
【００５７】
本実施形態に係る電子透かしのデータ列を埋め込む方法について図１を用いて説明する。図１は文書画像において各文字の隣接していない外接矩形間の距離を用いた本実施形態に係る電子透かしのデータ列を埋め込む方法を説明するための図である。
【００５８】
Ａ〜Ｇの矩形は文書画像において１行を構成する各文字の外接矩形を示すものであり、第１の実施形態で説明した処理により得られるものである。また同図において１０１は外接矩形Ａ、Ｃ間の距離を示し、１０２は外接矩形Ｂ、Ｄ間の距離を示し、１０３は外接矩形Ｃ、Ｅ間の距離を示し、１０４は外接矩形Ｄ、Ｆ間の距離を示し、１０５は外接矩形Ｅ、Ｇ間の距離を示す。上述の通り、本実施形態に係る電子透かしのデータ列の埋め込み方法では、これらの距離を、埋め込むデータに応じて変化させる。
【００５９】
次に、コンピュータが行う本実施形態に係る電子透かしのデータ列の埋め込み処理について、同処理のフローチャートを示す図４を参照して説明する。なお、以下の説明では１つ置きの外接矩形間の距離（図１では１０１乃至１０５）を用いる。また、以下の処理の経過などは適宜モニタ３０６上に表示しても良い。
【００６０】
なお、ステップＳ４００からステップＳ４０２までの各ステップにおける処理は、ステップＳ６００からステップＳ６０２までの各ステップにおける処理と同じであるために、その説明を省略する。
【００６１】
次に、１行文の各外接矩形間の距離、すなわち、１０１乃至１０５の距離の総和を計算し、その平均値ｐを求める（ステップＳ４０３）。具体的には、１０１乃至１０５の夫々の距離をｘ１，ｘ２，ｘ３，ｘ４、ｘ５とすると、その平均値ｐは
ｐ＝（ｘ１＋ｘ２＋ｘ３＋ｘ４＋ｘ５）／５
として求める。そして埋め込むデータが１の場合、外接矩形間の距離が平均値よりも長くなるように、外接矩形のサイズに関するパラメータの変更及び／又は位置に関するパラメータの変更を行う（ステップＳ４０５）。例えば１０１の距離を制御対象とする場合、埋め込むデータが１の場合、
・  外接矩形Ｃの列方向の大きさを小さくする（サイズに関するパラメータの変更）
・  外接矩形Ｃの位置を外接矩形Ｄ側に移動させる（位置に関するパラメータの変更）
のいずれか、もしくはその組み合わせによる処理を行う。なお、どちらを行うかの指示は予め決めていても良いし、ユーザにより入力させても良い。
【００６２】
一方、埋め込むデータが０の場合、外接矩形間の距離が平均値よりも短くなるように、外接矩形のサイズに関するパラメータの変更及び／又は位置に関するパラメータの変更を行う（ステップＳ４０６）。例えば１０１の距離を制御対象とする場合、埋め込むデータが０の場合、
・  外接矩形Ｃの列方向の大きさを大きくする（サイズに関するパラメータの変更）
・  外接矩形Ｃの位置を外接矩形Ｂ側に移動させる（位置に関するパラメータの変更）
のいずれか、もしくはその組み合わせによる処理を行う。なお、どちらを行うかの指示は予め決めていても良いし、ユーザにより入力させても良い。また、外接矩形の位置、サイズを変更する制御処理に伴って、外接矩形で囲まれている文字の位置、サイズも同様に変更されるものとする。またステップＳ４０５，Ｓ４０６による処理は、その変更部分が最も目立たないように、すなわち画質劣化が小さくなるように上記各パラメータを予め調節しておく。
【００６３】
そして更に埋め込むデータがある場合には処理をステップＳ４０４に戻し、上記処理を繰り返す。例えば埋め込むデータがまだある場合、図１の例では１０２の距離を制御対象として上記処理を行う。
【００６４】
以上の処理により、文書画像に対して電子透かしのデータ列の埋め込みを行うことができる。なお、埋め込むデータ列が１行分の埋め込みで収まらない場合、次の行において同じ処理を繰り返す。
【００６５】
そして最後に、上記平均値を鍵としてＨＤＤ３０４に保存する（ステップＳ４０８）。ただし、埋め込み処理が複数の行にわたる場合、埋め込み対象となる行すべて、または段落毎など、複数の行に対する隣接しない外接矩形間の長さの平均値を鍵として用いれば、鍵として保存する数を減少させることができる。
【００６６】
次に、上記処理により埋め込んだ電子透かしのデータ列の抽出方法について説明する。上述の通り、電子透かしのデータ列を抽出する処理も図３に示したコンピュータにより行われる。図５に上記コンピュータが行う、上記処理により埋め込んだ電子透かしのデータ列の抽出処理のフローチャートを示す。
【００６７】
ステップＳ５００，Ｓ５０１の各ステップにおける処理は上記ステップＳ７００，Ｓ７０１の各ステップにおける処理と同じであるために、その説明を省略する。そしてステップＳ５０２では、上記ステップＳ４０８で鍵としてＨＤＤ３０４に保存された平均値Ｄを主記憶装置３０３にロードする（ステップＳ５０２）。そして隣接していない外接矩形間の距離ｄを求める（ステップＳ５０３）。この距離ｄとして最初は図１の例では、ｄ＝１０１の距離とする。
【００６８】
そしてｄ＞Ｄの場合、処理をステップＳ５０５に進め、埋め込まれたデータを１として主記憶装置３０３に記録する（ステップＳ５０５）。一方、ｄ＜Ｄの場合、処理をステップＳ５０６に進め、埋め込まれたデータを０として主記憶装置３０３に記録する（ステップＳ５０６）。
【００６９】
そして処理対象の外接矩形間がまだ残っているかを判断する（ステップＳ５０７）。図１の例では１０１の距離以降にまだ１０２の距離、１０３の距離、１０４の距離、１０５の距離が残っているので、処理をステップＳ５０３に戻し、ｄ＝１０２の距離とし、以上の処理を繰り返す。また予め電子透かしのデータの個数がわかっている場合には、その個数分のデータが主記憶装置３０３に記録されたか否かを判断すればよい。
【００７０】
そして処理対象の外接矩形が残っていないとステップＳ５０７で判断された場合、ステップＳ５０６，ステップＳ５０７で主記憶装置３０３に記録されたデータ列を電子透かしのデータ列として得ることができる。以上の処理により、上記方法により電子透かしのデータ列が埋め込まれた文書画像から、このデータ列を抽出することができる。
【００７１】
本実施形態に係る上記の電子透かしのデータ列の埋め込み方法は、第１の実施形態に係る電子透かしのデータ列の埋め込み方法に対して、同じ文字数が含まれた文書画像に電子透かしのデータ列の埋め込む場合に、より多くの情報量を埋め込むことができる。これは第１の実施形態に係る方法が４つの外接矩形を用いて１つの情報（上記説明では１ビットの情報）を埋め込むに対し、第２の実施形態の方法では２つの外接矩形を用いて１つの情報を埋め込むことができることに起因するものである。
【００７２】
しかし文書画像全体が拡大や縮小されている場合、本実施形態に係る上記埋め込み方法は、第１の実施形態に係る埋め込み方法の様な長さの相対的な比較ではなく、平均値という固定値との比較であるため、情報の抽出が困難になる場合が考えられる。しかし、埋め込み時における情報系列がランダムである、すなわち１と０の出現確率が同等である場合、埋め込み時の平均値と、抽出時の平均値は同じであるので、上記ステップＳ４０８で、埋め込み時に用いた平均値を鍵として保存せずに、ステップＳ５０２では、再度、ステップＳ４０３と同様の処理を行い、平均値を計算し直しても良い。
【００７３】
情報系列のランダム化は埋め込む情報の暗号処理などにより容易に実現できる。また、埋め込む情報系列の１と０の出現確率の偏りを吸収するために、１行中の全ての外接矩形を用いず、行末の数個分はその偏りの修正用として用いることができる。これは、例えば１行中に埋め込むデータ列に１を示すデータが著しく多い場合、この行の長さが全ての行の長さの平均値に比べて著しく長くなってしまい、明らかに目立ってしまう。
【００７４】
そこでこの場合、この１行中のすべての外接矩形間に１を埋め込むのではなく、予め定めた個数（１行中に１を埋め込んだ場合に、上記平均値と比べて著しく長くなったと認識し難いレベルまでの１のデータの個数）分１を埋め込み、残りの外接矩形間には０を埋め込む。０を埋め込むのは、１を多く埋め込むことで上記平均値よりも長くなった１行の長さを短く修正するためである。
【００７５】
例えば８個の１からなるデータ列を６個の外接矩形間に埋め込む場合、先頭から４個の外接矩形間に１を埋め込み、最後の２個の外接矩形間に０を埋め込む。そして残りの２個の１は次の行に埋め込む。このようにすることで、１の多いデータ列を埋め込む場合、１行が著しく長くなることはない。
【００７６】
また逆に、１行に埋め込むデータ列に０を示すデータが著しく場合、この行の長さが上記平均値よりも著しく短くなってしまい、明らかに目立ってしまう。そこで、上記処理の説明において、１を０，０を１と読み替えた処理を行うことで、０の多いデータ列を埋め込む場合、１行が著しく短くなることはない。
【００７７】
なおこの場合、修正用の外接矩形間の個数を埋め込み側と抽出側とで共有しておく必要があり、抽出側では最後の数個の外接矩形から情報を抽出しない。
【００７８】
また、上記説明では簡単のために隣接しない外接矩形として１つおきの外接矩形を用いて説明したが、上記の電子透かしの埋め込み方法、及び抽出方法が１つおきの外接矩形に限定されないことは明らかである。
【００７９】
また上記説明において、埋め込むデータが１の場合、ｄ＞Ｄとなるように、０の場合、ｄ＜Ｄとなるように上記パラメータ処理を行ったが、これに限定されるものではなく、不等号の向きは逆でも良い。すなわち、埋め込むデータが１の場合、ｄ＜Ｄとなるように、０の場合、ｄ＞Ｄとなるように上記パラメータ処理を行っても良い。その場合、当然抽出処理もこれに対応させる必要があり、ｄ＞Ｄの場合、埋め込まれたデータを０として主記憶装置３０３に記録し、ｄ＜Ｄの場合、埋め込まれたデータを１として主記憶装置３０３に記録する。
【００８０】
［第３の実施形態］
本実施形態では、上記実施形態に係る電子透かしのデータ列の埋め込み方法とは異なる方法で電子透かしのデータ列を文書画像に埋め込む。以下、本実施形態に係る電子透かしのデータ列を文書画像に埋め込む方法及び、この文書画像から電子透かしのデータ列を抽出する方法について説明する。なお、これらの埋め込み方法、抽出方法を実行するコンピュータの基本構成、及び各部の機能については第１の実施形態と同じとする。
【００８１】
本実施形態に係る電子透かしのデータ列を埋め込む方法について図８を用いて説明する。図８は文書画像において隣接した２個ずつの外接矩形において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義される面積を用いた本実施形態に係る電子透かしのデータ列を埋め込む方法を説明するための図である。
【００８２】
同図で、８０１は外接矩形Ａの左端と外接矩形Ｂの右端との距離、８０２は外接矩形Ｂの左端と外接矩形Ｃの右端との距離、８０３は外接矩形Ｃの左端と外接矩形Ｄの右端との距離、８０４は外接矩形Ｄの左端と外接矩形Ｅの右端との距離、８０５は外接矩形Ｅの左端と外接矩形Ｆの右端との距離、８０６は外接矩形Ｆの左端と外接矩形Ｇの右端との距離を示す。また同図においてｂは外接矩形Ｂの高さ、ｃは外接矩形Ｃの高さ、ｄは外接矩形Ｄの高さ、ｅは外接矩形Ｅの高さ、ｆは外接矩形Ｆの高さ、ｇは外接矩形Ｇの高さを示す。
【００８３】
本実施形態に係る電子透かしのデータ列の埋め込み方法は、夫々の外接矩形の組（図８の例では、外接矩形Ａ、Ｂの組、外接矩形Ｂ、Ｃの組、外接矩形Ｃ、Ｄの組、外接矩形Ｄ、Ｅの組、外接矩形Ｅ、Ｆの組、外接矩形Ｆ、Ｇの組）において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義される矩形の面積（図８の例では、８０１の距離×ｂで示される面積、８０２の距離×ｃで示される面積、８０３の距離×ｄで示される面積、８０４の距離×ｅで示される面積、８０５の距離×ｆで示される面積、８０６の距離×ｇで示される面積）を埋め込むデータに応じて変化させる。なお、各組の面積の計算に用いる高さはその組に含まれるどちらの外接矩形の高さを用いても良い。また本実施形態は、１組に含まれる外接矩形の数が２つに限定されるものではない。
【００８４】
次に、コンピュータが行う本実施形態に係る電子透かしのデータ列の埋め込み処理について、同処理のフローチャートを示す図９を参照して説明する。また、以下の処理の経過などは適宜モニタ３０６上に表示しても良い。
【００８５】
なお、ステップＳ９００からステップＳ９０２までの各ステップにおける処理は、ステップＳ６００からステップＳ６０２までの各ステップにおける処理と同じであるために、その説明を省略する。
【００８６】
次に、文書の先頭から２つの組の面積を求め、夫々をＳ１，Ｓ２とする（ステップＳ９０３）。図８の例では、８０１の距離×ｂを求め、これをＳ１、距離８０２×ｃを求め、これをＳ２とする。そして埋め込むデータが１である場合、処理をステップＳ９０５に進め、Ｓ１＜Ｓ２となるように、面積Ｓ１を定義する幅と高さ、面積Ｓ２を定義する幅と高さの４つのパラメータを変更する（ステップＳ９０５）。図８の例では、高さｂ、距離８０１，高さｃ、距離８０２の４つのパラメータのうち１つ以上を変更して、Ｓ１＜Ｓ２となるようにする。
【００８７】
一方、埋め込むデータが０である場合、処理をステップＳ９０６に進め、Ｓ１＞Ｓ２となるように、面積Ｓ１を定義する幅と高さ、面積Ｓ２を定義する幅と高さの４つのパラメータを変更する（ステップＳ９０６）。図８の例では、高さｂ、距離８０１，高さｃ、距離８０２の４つのパラメータのうち１つ以上を変更して、Ｓ１＜Ｓ２となるようにする。また、外接矩形の位置、サイズを変更する制御処理に伴って、外接矩形で囲まれている文字の位置、サイズも同様に変更されるものとする。
【００８８】
またステップＳ９０５、Ｓ９０６による処理は、その変更部分が最も目立たないように、すなわち画質劣化が小さくなるように上記各パラメータを予め調節しておく。
【００８９】
そして更に埋め込むデータがある場合には処理をステップＳ９０３に戻し、上記処理を繰り返す。例えば埋め込むデータがまだある場合、図８の例では距離８０３×ｄを求め、これを面積Ｓ１とし、距離８０４×ｅを求め、これをＳ２として以上の処理を繰り返す。
【００９０】
以上の処理により、文書画像に対して電子透かしのデータ列の埋め込みを行うことができる。
【００９１】
次に、上記処理により埋め込んだ電子透かしのデータ列の抽出方法について説明する。上述の通り、電子透かしのデータ列を抽出する処理も図３に示したコンピュータにより行われる。図１０に上記コンピュータが行う、上記処理により埋め込んだ電子透かしのデータ列の抽出処理のフローチャートを示す。
【００９２】
ステップＳ１０００，Ｓ１００１、Ｓ１００２の各ステップの処理は、ステップＳ７００，Ｓ７０１、Ｓ９０３の各ステップの処理と同じであるために、その説明を省略する。
【００９３】
そしてまず初めはＳ１は距離８０１×ｂ、Ｓ２は距離８０２×ｃとして求め、Ｓ１＜Ｓ２の場合（ステップＳ１００３）、処理をステップＳ１００４に進め、埋め込まれたデータを１として主記憶装置３０３に記録する（ステップＳ１００４）。一方、Ｓ１＞Ｓ２の場合、処理をステップＳ１００５に進め、埋め込まれたデータを０として主記憶装置３０３に記録する（ステップＳ１００５）。
【００９４】
そして処理対象の外接矩形がまだ残っているかを判断する（ステップＳ１００６）。図８の例では次にＳ１を距離８０３×ｄ、Ｓ２を距離８０４×ｅとし、以上の処理を繰り返す。また予め電子透かしのデータの個数がわかっている場合には、その個数分のデータが主記憶装置３０３に記録されたか否かを判断すればよい。
【００９５】
そして処理対象の外接矩形が残っていないとステップＳ１００６で判断された場合、ステップＳ１００４，ステップＳ１００５で主記憶装置３０３に記録されたデータ列を電子透かしのデータ列として得ることができる。以上の処理により、上記方法により電子透かしのデータ列が埋め込まれた文書画像から、このデータ列を抽出することができる。
【００９６】
なお、本実施形態ではＳ１，Ｓ２として２つの外接矩形による矩形の面積を用いたが、これ以外にも、外接矩形を定義する複数の独立したパラメータを用いて定式化したものを用いても良い。
【００９７】
例えば、距離８０１＋ｂをＳ１，距離８０２＋ｃをＳ２としても良いし、距離８０１＋（ｂ×０．１）をＳ１，距離８０２＋（ｃ×０．１）をＳ２としても良い。また８０１乃至８０６を左側の外接矩形の左端から右側の外接矩形の右端までの距離とせずに、第１の実施形態と同様に、左側の外接矩形の右端から右側の外接矩形の左端までの距離としてもよい。また、上記面積の比較対象は鍵により指定しても良い。また、各面積に対して情報を埋め込む方法として他にも、第２の実施形態と同様にして、全部の面積の平均値を求め、埋め込む情報が１の場合には埋め込む対象の面積を大きくし、埋め込む情報が０の場合には埋め込む対象の面積を小さくしても良い。
【００９８】
また上記説明において、埋め込むデータが１の場合、Ｓ１＜Ｓ２となるように、０の場合、Ｓ１＞Ｓ２となるように上記パラメータ処理を行ったが、これに限定されるものではなく、不等号の向きは逆でも良い。すなわち、埋め込むデータが１の場合、Ｓ１＞Ｓ２となるように、０の場合、Ｓ１＜Ｓ２となるように上記パラメータ処理を行っても良い。その場合、当然抽出処理もこれに対応させる必要があり、Ｓ１＜Ｓ２の場合、埋め込まれたデータを０として主記憶装置３０３に記録し、Ｓ１＞Ｓ２の場合、埋め込まれたデータを１として主記憶装置３０３に記録する。
【００９９】
［第４の実施形態］
また、上記各実施形態に係る電子透かしのデータ列の埋め込み方法、抽出方法を実行するプログラムをプリンタドライバに適用してもよい。
【０１００】
［そのほかの実施形態］
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０１０１】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０２】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０３】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【０１０４】
【発明の効果】
以上説明した通り、本発明により、文書画像に電子透かしのデータ列を埋め込んでも、文書画像の画質の劣化を軽減することができ、人間に目に認識しがたく電子透かしの埋め込みを行うことができる。
【図面の簡単な説明】
【図１】文書画像において各文字の隣接していない外接矩形間の距離を用いた本発明の第２の実施形態に係る電子透かしのデータ列を埋め込む方法を説明するための図である。
【図２】文書画像において、各文字の隣接していない外接矩形間の距離を用いた本発明の第１の実施形態に係る電子透かしのデータ列を埋め込む方法を説明するための図である。
【図３】本発明の実施形態に係る電子透かし埋め込み装置、電子透かし抽出装置としてのコンピュータの基本構成を示すブロック図である。
【図４】本発明の第２の実施形態に係る電子透かしのデータ列の埋め込み処理のフローチャートを示す図である。
【図５】本発明の第２の実施形態に係る電子透かしのデータ列の抽出処理のフローチャートを示す図である。
【図６】本発明の第１の実施形態に係る電子透かしのデータ列の埋め込み処理のフローチャートを示す図である。
【図７】本発明の第１の実施形態に係る電子透かしのデータ列の抽出処理のフローチャートを示す図である。
【図８】文書画像において隣接した２個ずつの外接矩形において、一方の外接矩形の高さと、両方の外接矩形間の距離とで定義される面積を用いた本発明の第３の実施形態に係る電子透かしのデータ列を埋め込む方法を説明するための図である。
【図９】本発明の第３の実施形態に係る電子透かしのデータ列の埋め込み処理のフローチャートを示す図である。
【図１０】本発明の第３の実施形態に係る電子透かしのデータ列の抽出処理のフローチャートを示す図である。
【図１】
0003703445.tif 000002
【図２】
0003703445.tif 000003
【図３】
0003703445.tif 000004
【図４】
0003703445.tif 000005
【図５】
0003703445.tif 000006
【図６】
0003703445.tif 000007
【図７】
0003703445.tif 000008
【図８】
0003703445.tif 000009
【図９】
0003703445.tif 000010
【図１０】
0003703445.tif 000011