(57)【要約】【課題】  印刷やスキャンといった処理による画質の劣化の影響を受けにくい態様で文書画像に情報を埋め込むことができる、又はそのように埋め込まれた情報を抽出することができる情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、情報抽出プログラム及び記録媒体の提供を目的とする。【解決手段】  文書画像における文字間隔の間隔長を用いて前記文書画像に情報を埋め込む情報埋め込み装置であって、前記文書画像における各文字間隔について、所定区間の値をとらないように前記間隔長を変更し、前記間隔長が前記所定区間の上界の値をとる前記文字間隔に前記情報を埋め込む情報埋め込み手段を有することにより上記課題を解決する。【選択図】  図１
2006222570.tif 000002
【特許請求の範囲】
【請求項１】
文書画像における文字間隔の間隔長を用いて前記文書画像に情報を埋め込む情報埋め込み装置であって、
前記文書画像における各文字間隔について、所定区間の値をとらないように前記間隔長を変更し、前記間隔長が前記所定区間の上界の値をとる前記文字間隔に前記情報を埋め込む情報埋め込み手段を有することを特徴とする情報埋め込み装置。
【請求項２】
前記情報埋め込み手段は、前記間隔長が前記所定区間の値をとる前記文字間隔のうち、前記情報の埋め込みに用いない前記文字間隔の間隔長を前記所定区間の下界の最大値に変更することを特徴とする請求項１記載の情報埋め込み装置。
【請求項３】
前記情報埋め込み手段は、前記文書画像における文字要素の大きさに基づいて前記所定区間を算出することを特徴とする請求項１又は２記載の情報埋め込み装置。
【請求項４】
前記情報埋め込み手段は、二つの前記文字間隔の間隔長の大小関係を調節することにより、該大小関係に対して１ビットずつの情報を埋め込むことを特徴とする請求項１乃至３いずれか一項記載の情報埋め込み装置。
【請求項５】
前記情報埋め込み手段は、前記間隔値がいずれも前記所定区間の下界の最大値より大きく、かつ、前記間隔値の和が前記所定区間の上界の最小値の２倍より大きな二つの前記間隔長の大小関係に対して１ビットずつの情報を埋め込むことを特徴とする請求項４記載の情報埋め込み装置。
【請求項６】
前記情報埋め込み手段は、前記間隔値がいずれも前記所定区間の下界の最大値より大きく、かつ、前記間隔値の和が前記所定区間の上界の最小値の２倍より大きな二つの前記間隔長を前記所定区間の上界の最小値以上としつつ、前記大小関係を調節することを特徴とする請求項５記載の情報埋め込み装置。
【請求項７】
前記情報埋め込み手段は、前記間隔値がいずれも前記所定区間の下界の最大値より大きく、かつ、前記間隔値の和が前記所定区間の上界の最小値の２倍より大きな二つの前記文字間隔の間隔長のいずれか一方を、前記所定区間の最小値とすることを特徴とする請求項６記載の情報埋め込み装置。
【請求項８】
前記情報埋め込み手段は、前記間隔長を量子化することにより前記情報を埋め込むことを特徴とする請求項１乃至３いずれか一項記載の情報埋め込み装置。
【請求項９】
前記情報埋め込み手段は、それぞれの前記文字間隔に対して１ビットずつの情報を埋め込むことを特徴とする請求項８記載の情報埋め込み装置。
【請求項１０】
前記情報埋め込み手段は、前記文字間隔に埋め込む値に応じて前記間隔長を所定値の偶数倍又は奇数倍に量子化することを特徴とする請求項８又は９記載の情報埋め込み装置。
【請求項１１】
請求項１乃至１０いずれか一項記載の情報埋め込み装置によって文書画像に埋め込まれた情報を、前記文書画像における文字間隔の間隔長に基づいて抽出する情報抽出装置であって、
前記間隔長が所定の閾値以上又は前記所定の閾値より大きい文字間隔の前記間隔長に基づいて情報を抽出する情報抽出手段を有することを特徴とする情報抽出装置。
【請求項１２】
前記所定の閾値は、前記所定区間の中間値であることを特徴とする請求項１１記載の情報抽出装置。
【請求項１３】
前記情報抽出手段は、前記文書画像における文字要素の大きさに基づいて前記所定区間を算出することを特徴とする請求項１１又は１２記載の情報抽出装置。
【請求項１４】
前記情報抽出手段は、二つの前記文字間隔の間隔長の大小関係に基づいて、１ビットずつの情報を抽出することを特徴とする請求項１１乃至１３いずれか一項記載の情報抽出装置。
【請求項１５】
前記情報抽出手段は、前記間隔長に基づいてそれぞれの前記文字間隔より１ビットずつの情報を抽出することを特徴とする請求項１１乃至１３いずれか一項記載の情報抽出装置。
【請求項１６】
文書画像における文字間隔の間隔長を用いて前記文書画像に情報を埋め込む情報埋め込み方法であって、
前記文書画像における各文字間隔について、所定区間の値をとらないように前記間隔長を変更する間隔長変更手順と、
前記間隔長変更手順の結果、前記間隔長が前記所定区間の上界の値をとる前記文字間隔に前記情報を埋め込む情報埋め込み手順とを有することを特徴とする情報埋め込み方法。
【請求項１７】
前記間隔値変更手順は、前記間隔長が前記所定区間の値をとる前記文字間隔のうち、前記情報の埋め込みに用いない前記文字間隔の間隔長を前記所定区間の下界の最大値に変更することを特徴とする請求項１６記載の情報埋め込み方法。
【請求項１８】
前記文書画像における文字要素の大きさに基づいて前記所定区間を算出する区間算出手順を有することを特徴とする請求項１６又は１７記載の情報埋め込み方法。
【請求項１９】
前記情報埋め込み手順は、二つの前記文字間隔の間隔長の大小関係を調節することにより、該大小関係に対して１ビットずつの情報を埋め込むことを特徴とする請求項１６乃至１８いずれか一項記載の情報埋め込み方法。
【請求項２０】
前記情報埋め込み手順は、前記間隔長を量子化することにより前記情報を埋め込むことを特徴とする請求項１６乃至１８いずれか一項記載の情報埋め込み方法。
【請求項２１】
前記情報埋め込み手順は、それぞれの前記文字間隔に対して１ビットずつの情報を埋め込むことを特徴とする請求項２０記載の情報埋め込み方法。
【請求項２２】
前記情報埋め込み手順は、前記文字間隔に埋め込む値に応じて前記間隔長を所定値の偶数倍又は奇数倍に量子化することを特徴とする請求項２０又は２１記載の情報埋め込み方法。
【請求項２３】
請求項１６乃至２２いずれか一項記載の情報埋め込み方法によって文書画像に埋め込まれた情報を、前記文書画像における文字間隔の間隔長に基づいて抽出する情報抽出方法であって、
前記間隔長が所定の閾値以上又は前記所定の閾値より大きい文字間隔の前記間隔長に基づいて情報を抽出することを特徴とする情報抽出方法。
【請求項２４】
前記所定の閾値は、前記所定区間の中間値であることを特徴とする請求項２３記載の情報抽出方法。
【請求項２５】
コンピュータに、文書画像における文字間隔の間隔長を用いて前記文書画像に情報を埋め込ませる情報埋め込みプログラムであって、
前記文書画像における各文字間隔について、所定区間の値をとらないように前記間隔長を変更する間隔長変更手順と、
前記間隔長変更手順の結果、前記間隔長が前記所定区間の上界の値をとる前記文字間隔に前記情報を埋め込む情報埋め込み手順とを有することを特徴とする情報埋め込みプログラム。
【請求項２６】
前記間隔値変更手順は、前記間隔長が前記所定区間の値をとる前記文字間隔のうち、前記情報の埋め込みに用いない前記文字間隔の間隔長を前記所定区間の下界の最大値に変更することを特徴とする請求項２５記載の情報埋め込みプログラム。
【請求項２７】
前記文書画像における文字要素の大きさに基づいて前記所定区間を算出する区間算出手順を有することを特徴とする請求項２５又は２６記載の情報埋め込みプログラム。
【請求項２８】
前記情報埋め込み手順は、二つの前記文字間隔の間隔長の大小関係を調節することにより、該大小関係に対して１ビットずつの情報を埋め込むことを特徴とする請求項２５乃至２７いずれか一項記載の情報埋め込みプログラム。
【請求項２９】
前記情報埋め込み手順は、前記間隔長を量子化することにより前記情報を埋め込むことを特徴とする請求項２５乃至２７いずれか一項記載の情報埋め込みプログラム。
【請求項３０】
前記情報埋め込み手順は、それぞれの前記文字間隔に対して１ビットずつの情報を埋め込むことを特徴とする請求項２９記載の情報埋め込みプログラム。
【請求項３１】
前記情報埋め込み手順は、前記文字間隔に埋め込む値に応じて前記間隔長を所定値の偶数倍又は奇数倍に量子化することを特徴とする請求項２９又は３０記載の情報埋め込みプログラム。
【請求項３２】
コンピュータに、請求項２５乃至３１いずれか一項記載の情報埋め込みプログラムによって文書画像に埋め込まれた情報を、前記文書画像における文字間隔の間隔長に基づいて抽出させる情報抽出プログラムであって、
前記間隔長が所定の閾値以上又は前記所定の閾値より大きい文字間隔の前記間隔長に基づいて情報を抽出する手順を有することを特徴とする情報抽出プログラム。
【請求項３３】
前記所定の閾値は、前記所定区間の中間値であることを特徴とする請求項３２記載の情報抽出プログラム。
【請求項３４】
請求項２５乃至３１いずれか一項記載の情報埋め込みプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項３５】
請求項３２又は３３記載の情報抽出プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、情報抽出プログラム及び記録媒体に関し、特に特に文書画像への情報の埋め込み、又は文書画像からの情報の抽出を行うための情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、情報抽出プログラム及び記録媒体に関する。
【背景技術】
【０００２】
電子透かし技術に代表されるように、従来より、文書画像に任意の情報を人間が容易に視認できない形で埋め込む技術の検討が行われている。例えば、特許文献１には、単語の前後の空白の長さの組み合わせを１つの符号単位とし、前後の長さの比率を署名データのビット値に応じて変化させることで、著作権を保護するための証明データを埋め込む方法が示されている。
【０００３】
また、特許文献２には、前後の文字間隔Ｐ及びＳを用いて、Ｐ−ＳとＰ＋Ｓとの比を量子化することで情報を埋め込む方法が示されている。
【０００４】
更に、特許文献３には、所定数の空白の大小関係のパターンによって情報を埋め込む方法が示されている。
【０００５】
このように特許文献１、２及び３は、いずれも文字要素等の間隔（以下「文字間隔」という。）を用いて情報を埋め込み、抽出するものである。
【特許文献１】特開平０９−１８６６０３号公報
【特許文献２】特開２００２−２３２６７９号公報
【特許文献３】特開２００４−０２３５６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、文字間隔の長さを用いて情報を埋め込む場合、情報の埋め込まれた文書画像の印刷、及びその印刷物のスキャンといったアナログ処理過程において、文字要素が移動あるいは膨張することがある。その結果、文字要素同士が結合され、文字間隔の長さを正しく抽出できなくなるという問題がある。
【０００７】
本発明は、上記の点に鑑みてなされたものであって、印刷やスキャンといった処理による画質の劣化の影響を受けにくい態様で文書画像に情報を埋め込むことができる、又はそのように埋め込まれた情報を抽出することができる情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、情報抽出プログラム及び記録媒体の提供を目的とする。
【課題を解決するための手段】
【０００８】
そこで上記課題を解決するため、本発明は、請求項１に記載されるように、文書画像における文字間隔の間隔長を用いて前記文書画像に情報を埋め込む情報埋め込み装置であって、前記文書画像における各文字間隔について、所定区間の値をとらないように前記間隔長を変更し、前記間隔長が前記所定区間の上界の値をとる前記文字間隔に前記情報を埋め込む情報埋め込み手段を有することを特徴とする。
【０００９】
このような情報埋め込み装置では、情報が埋め込まれない文字間隔と、情報が埋め込まれる文字間隔との間隔長との間に所定の区間が設けられた画像を生成することができる。したがって、画像の劣化によって文字要素が膨張等した場合であっても、情報が埋め込まれた文字間隔と情報が埋め込まれていない文字間隔との区別とを容易なものとすることができる。
【００１０】
また、上記課題を解決するため、本発明は、請求項１１に記載されるように、請求項１乃至１０いずれか一項記載の情報埋め込み装置によって文書画像に埋め込まれた情報を、前記文書画像における文字間隔の間隔長に基づいて抽出する情報抽出装置であって、前記間隔長が所定の閾値以上又は前記所定の閾値より大きい文字間隔の前記間隔長に基づいて情報を抽出する情報抽出手段を有することを特徴とする。
【００１１】
このような情報抽出装置では、情報が埋め込まれる文字間隔との間隔長との間に所定の区間が設けられた画像より適切に情報を抽出することができる。
【００１２】
また、上記課題を解決するため、本発明は、上記情報埋め込み装置における情報埋め込み方法、前記情報埋め込み方法を前記情報埋め込み装置に実行させるための情報埋め込みプログラム、又は前記情報埋め込みプログラムを記録した記録媒体としてもよい。
【００１３】
また、上記課題を解決するため、本発明は、上記情報抽出装置における情報抽出方法、前記情報抽出方法を前記情報抽出装置に実行させるための情報抽出プログラム、又は前記情報抽出プログラムを記録した記録媒体としてもよい。
【発明の効果】
【００１４】
本発明によれば、印刷やスキャンといった処理による画質の劣化の影響を受けにくい態様で文書画像に情報を埋め込むことができる、又はそのように埋め込まれた情報を抽出することができる情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、情報抽出プログラム及び記録媒体を提供することができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における情報埋め込み・抽出装置の機能構成例を示す図である。図１において、情報埋め込み・抽出装置１０は、画像解析部１１、情報埋め込み部１２、情報抽出部１３、印刷部１４、及びスキャン部１５等を有する。
【００１６】
画像解析部１１は、例えば、ＯＣＲ（Optical Character Recognition）の文字領域分割技術等を用いて、文書画像からの文字領域の抽出、抽出された文字領域からの行の抽出、及び抽出された行における文字要素間の間隔（以下「文字間隔」という。）の抽出等を行う機能である。
【００１７】
情報埋め込み部１２は、文書画像を操作して、文書画像の文字間隔の長さ（以下「間隔長」という。）を変更することにより、文書画像に情報を埋め込む機能である。
【００１８】
情報抽出部１３は、情報が埋め込まれた文書画像から当該情報を抽出する機能である。印刷部１４及びスキャン部１５は、情報埋め込み・抽出装置１０に接続されるプリンタ２０やスキャナ３０のドライバソフト等を含む機能である。
【００１９】
図２は、本発明の実施の形態における情報埋め込み・抽出装置のハードウェア構成例を示す図である。図２の情報埋め込み・抽出装置１０は、それぞれバスBで相互に接続されているドライブ装置１００と、補助記憶装置１０２と、メモリ装置１０３と、演算処理装置１０４と、表示装置１０５と、入力装置１０６と等を有するように構成される。
【００２０】
情報埋め込み・抽出装置１０での処理を実現するプログラムは、フロッピー（登録商標）ディスク、ＭＯ、ＣＤ−ＲＯＭ／Ｒ／ＲＷ、ＤＶＤ−ＲＯＭ／Ｒ／ＲＷ、又はメモリカード等の記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、処理対象とする画像データ等を格納する。
【００２１】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。演算処理装置１０４は、メモリ装置１０３に格納されたプログラムに従って情報埋め込み・抽出装置１０に係る機能を実行する。表示装置１０５はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置１０６はキーボード及びマウス等で構成され、様々な操作指示を入力するために用いられる。
【００２２】
なお、情報埋め込み・抽出装置１０をネットワークに接続することにより、他の端末からリモートで操作を行ってもよい。この場合、ドライブ装置１００、表示装置１０５及び入力装置１０６等は、当該他の端末が有していればよく、情報埋め込み・抽出装置１０が必ずしも備えている必要はない。
【００２３】
以下、情報埋め込み・抽出装置１０の情報の埋め込み処理の詳細について説明する。本実施の形態においては、二つの文字間隔（文字要素と文字要素との間の空白）を用いて、それらの間隔長の大小関係によって、１ビットの情報を表現する。例えば、「１」を埋め込むときは、二つの文字間隔のうち、左側の間隔長の方が大きくなるように、「０」を埋め込むときは右側の文字間隔の間隔長の方が大きくなるように間隔長を調節して情報を埋め込む。ここで、二つの文字間隔は連続している必要はない。すなわち、「ＡＢＣＤＥ」という文字列があった場合、一つの文字要素（例えば、「Ｂ」）の両側の文字間隔である必要はなく、ＡとＢとの文字間隔と、ＤとＥとの文字間隔とのように、その間に複数の文字要素及び文字間隔が含まれる場合であってもよい。
【００２４】
また、本実施の形態では、文書画像中の全ての文字間隔の間隔長が、開区間（α β）の値をとらないように、間隔長を変化させる。そして、間隔長が、開区間（α  β）の下界に含まれる文字間隔は、情報の埋め込みには用いず、上界に含まれる文字間隔を情報の埋め込みに用いることとする。なお、α及びβは、予め定められた所定値である。
【００２５】
図３は、第一の実施の形態における情報の埋め込み処理を説明するためのフローチャートである。
【００２６】
例えば、ユーザによって画像データの印刷指示がなされると、情報埋め込み抽出装置１０の画像解析部１１は、印刷指示の対象となった画像データ（以下「対象画像データ」という。）を読み込み、対象画像データの画像（以下「対象画像」という。）をメモリ装置１０３内に展開する（Ｓ１０１）。ステップＳ１０１に続いてステップＳ１０２に進み、画像解析部１１は、対象画像の文字領域を抽出する。ステップＳ１０２に続いてステップＳ１０３に進み、画像解析部１１は、抽出された文字領域より行を抽出する。なお、対象画像からの文字領域の抽出や、文字領域からの行の抽出は、例えば、ＯＣＲの文字領域分割技術等を用いて行われる。文字領域分割技術等については、例えば、特許第３２７８４７１号公報及び特許第３２８５６８６号公報等に詳しく説明されている。
【００２７】
ステップＳ１０３に続いてステップＳ１０４に進み、画像解析部１１は、各行について文字の高さ方向の黒画素の数の射影ヒストグラムを水平方向とり、黒画素の数が水平方向に連続して０となる区間を「文字間隔」として抽出する。なお、ここで文字間隔は、必ずしも文字と文字との間の空白に限られない。すなわち、黒画素の数が水平方向に連続して０になる区間であれば、例えば、一つの漢字の偏と作りとの間であっても、文字間隔として抽出される。また、対象画像に文字以外の要素、例えば、写真、図、又は表等をも含まれている場合は、これらの各要素間及び各要素内において射影ヒストグラムが連続して０となる区間を文字間隔として抽出してもよい。
【００２８】
ステップＳ１０４に続いてステップＳ１０５に進み、情報埋め込み部１２は、対象画像に埋め込む情報を、ユーザに入力させる。ここで、入力された情報を、以下「入力情報」という。入力情報は、例えば、テキスト入力領域を有したダイアログ等を表示させることにより入力させてもよい。また、予め、ファイル等に保存されている情報を入力情報としてもよく、この場合、ステップＳ１０５では、当該ファイル等より入力情報を読み込むこととなる。なお、入力情報の値は、２進数による数値を直接入力させてもよいが、例えば、文字列等、人間に理解可能な形式によって入力させてもよい。
【００２９】
ステップＳ１０５に続いてステップＳ１０６に進み、情報埋め込み部１２は、間隔長が所定値αより大きい値を持つ文字間隔を二つ選択する。具体的には、行を左上からラスタ走査して選択し、その行の中から、間隔長が所定値αより大きな文字間隔を水平方向の並び順に選択する。なお、ここで選択される文字間隔は、連続している必要はない。
【００３０】
ステップＳ１０６に続いてステップＳ１０７に進み、情報埋め込み部１２は、選択された二つの文字間隔の間隔長の和が２βより大きいか否かを判定する。間隔長の和が２β以下である場合は、ステップＳ１０８に進み、情報埋め込み部１２は、二つの文字間隔のうち、間隔長が小さい方の文字間隔は、情報の埋め込みには用いないため、その間隔値がαとなるように二つの文字間隔の間の文字要素（１又は二つ以上の文字要素）全体的に移動させる。ここで、当該間隔値をαとするのは、情報の埋め込みに用いない文字間隔の間隔長は、区間（α  β）の下界であればいずれでもよいところ、なるべく元の値に近い値、すなわち、当該下界の最大値とすることで、当該間隔値の変動量をなるべく小さくするためである。
【００３１】
その後、次の文字間隔を選択し、次の一つの文字間隔を、間隔長がαとされた文字間隔の代わりとして選択する。
【００３２】
一方、間隔長の和が２βより大きかった場合は、ステップＳ１０９に進み、情報埋め込み部１２は、埋め込むビット値に応じて、二つの文字間隔の間の文字要素を全体的に移動させることにより二つの文字間隔の間隔長を変更する。すなわち、「１」を埋め込む場合は、左の間隔長が右の間隔長よりも大きくなるまで、文字要素全体を右側に動かす。また、「０」を埋め込む場合、右の間隔長が左の間隔長よりも大きくなるまで、文字要素全体を左側に動かす。但し、いずれの場合でも、両方の間隔長がβ以上となるようにする。
【００３３】
なお、二つの文字間隔の大小関係によって情報を埋め込む方法は、例えば、一つの間隔長に対応させて一つの文字間隔に一ビットの情報を埋め込む場合（例えば、間隔長を所定値の偶数倍又は奇数倍とすることで「０」又は「１」を埋め込む場合等）と比較して、印刷及びスキャンによる文字要素の膨張等に対する耐性は強いものと考えられる。すなわち、二つの間隔長の変動傾向は近似するものと考えられるからである。但し、両者の大小関係が逆転しないとも限らないため、両者の間隔長の差はできるだけ大きくしておくことが望ましい。すなわち、小さくする方の間隔長はβとすることが望ましい。
【００３４】
ステップＳ１０９に続いてステップＳ１１０に進み、情報埋め込み部１２は、入力情報を構成する全てのビットが埋め込まれたか否かを判定する。全てのビットが埋め込まれていないと判定された場合、余ったビットを対象として、ステップＳ１０６以降の処理が実行される。全てのビットが埋め込まれたと判定された場合は、情報の埋め込み処理を終え、例えば、情報の埋め込まれた画像が文書として印刷される。
【００３５】
上記の処理によって情報が埋めこまれた文書画像における各文字間隔の間隔長は、α以下であるか、β以上であるということとなる。そして、間隔値がβ以上の文字間隔に情報が埋め込まれていることとなる。
【００３６】
次に、図３の処理によって印刷された文書に埋め込み情報を抽出する処理について説明する。図４は、第一の実施の形態における情報抽出処理を説明するためのフローチャートである。
【００３７】
例えば、図３の処理によって印刷された文書がスキャナ３０に載置され、スキャンが指示されると、スキャン部１５は、スキャナ３０によって読み取られた文書の画像をメモリ装置１０３に読み込む（Ｓ２０１）。なお、本ステップの処理は、予めスキャンされて補助記憶装置１０２に保存されている画像データの画像をメモリ装置１０３に読み込むものであってもよい。なお、ここでメモリ装置１０３に読み込まれた画像を、以下「入力画像」という。
【００３８】
ステップＳ２０１に続いてステップＳ２０２に進み、画像解析部１１は、入力画像の文字領域を抽出する。ステップＳ２０２に続いてステップＳ２０３に進み、画像解析部１１は、抽出された文字領域より行を抽出する。なお、入力画像からの文字領域の抽出や、文字領域からの行の抽出は、例えば、ＯＣＲの文字領域分割技術等を用いて行われる。ステップＳ２０３に続いてステップＳ２０４に進み、画像解析部１１は、各行について文字の高さ方向の黒画素の数の射影ヒストグラムを水平方向にとり、黒画素の数が水平方向に連続して０となる区間を文字間隔として抽出する。なお、ここでの「文字間隔」は、情報を埋め込む際の文字間隔と同義である。
【００３９】
ステップＳ２０４に続いてステップＳ２０５に進み、情報抽出部１３は、いずれも間隔長が（α＋β）／２以上である文字間隔を二つ選択する。具体的には、対象画像の左上からラスタ走査することにより検出された行の中から、水平方向の並び順に当該文字間隔を選択する。
【００４０】
ステップＳ２０５に続いてステップＳ２０６に進み、情報抽出部１３は、選択された二つの文字間隔の間隔長の大小を比較することにより埋め込まれたビット値を判定する。すなわち、左の間隔長が右の間隔長よりも大きければ「１」を、そうでなければ「０」をビット値として判定する、
ステップＳ２０６に続いてステップＳ２０７に進み、情報抽出部１３は、埋め込み情報の全てが抽出されたか否かを判定する。この判定は、予め決められた長さのビット列が抽出されたか、抽出されたビット列から終端パターンが検出されたか、又は全ての文字間隔について抽出処理が行われたか等によって行われる。情報の抽出が完了していないと判定された場合は、ステップＳ２０５以降の処理を繰り返す。
【００４１】
一方、情報の抽出が完了したと判定された場合は、ステップＳ２０８に進み、情報抽出部１３は、抽出された情報を所定の出力先に出力する。所定の出力先への出力とは、例えば、表示装置１０５への表示、所定のファイルへの出力、又はプリンタ２０への出力等が相当する。
【００４２】
このように、情報の埋め込み時（図３）には、間隔長がβ以上である文字間隔に情報を埋め込んでいるにもかかわらず、情報の抽出時には、間隔長が（α＋β）／２である文字間隔を、情報が埋め込まれている文字間隔であると判定している。この意義について以下に説明する。
【００４３】
図５は、本発明の実施の形態における情報の埋め込み処理及び抽出処理の意義を説明するための図である。
【００４４】
図３において説明した情報の埋め込み処理によって、各文字間隔の間隔長は、グラフ５０１に示されるように、情報が埋め込まれていない区間[0 α]と、情報が埋め込まれている区間[β ∞)の値を取ることになる。このように変更された間隔長は印刷及びスキャンなどのアナログ処理を経ることによる画質の劣化により、情報抽出時にはグラフ５０２に示されるように幅を帯びた分布で観測される。このとき、閾値（α+β）／２によって情報が埋め込まれたものと埋め込まれていないものに各文字間隔を分離することができる。原理的には、アナログ処理による最大の誤差が｜α−β｜／２より小さければ、正しく情報を分離することができるというわけである。
【００４５】
更に、上記の情報の埋め込み処理と抽出処理を具体的に説明する。図６は、情報の埋め込み処理及び抽出処理を具体的に説明するための図である。図６においては、「文書画像」という文字列の中に、１ビット分の値「１」を埋め込み、抽出する場合を例として説明する。ここで、文字間隔Ａ、Ｂ、及びＣのそれぞれの間隔長はαより大きく、また、文字間隔ＡとＢとの間隔長の和は２β以下であり、文字間隔ＡとＣとの間隔長の和は２βより大きいとする。なお、図６における各ステップ番号は、図３又は図４に対応している。
【００４６】
まず、間隔長がαより大きい二つの文字間隔Ａ及びＢが選択される（Ｓ１０６）。但し、文字間隔Ａ及びＢの間隔長の合計が２β以下であるため、間隔長の小さい方の値（ここでは、文字間隔Ｂの間隔長の値）をαとし、次の文字間隔Ｃを選択する（Ｓ１０８）。したがって、文字間隔Ａ及びＣが二つの文字間隔として選択されたことになる。
【００４７】
文字間隔Ａ及びＣの間隔長の合計は２βより大きいので、二つの文字間隔に挟まれている要素「書画」を全体的に移動させ、文字間隔Ａの間隔長より文字間隔Ｃの間隔長が大きくなるようにすることにより「１」を埋め込む。ただし、文字間隔Ａ及びＢのいずれの間隔長もβ以上となるようにする
情報の埋め込まれた画像を印刷し、さらに印刷された原稿をスキャンする（Ｓ１５０）。このアナログ処理過程によって画質が劣化することにより、文字間隔に誤差が加わる場合がある。
【００４８】
スキャンされた画像より、間隔長が（α＋β）／２以上の文字間隔を二つ選択する（Ｓ２０５）。ここで、印刷及びスキャンによって生じた誤差が、｜α−β｜／２より小さければ、文字間隔Ａと文字間隔Ｃとが選択される。そして、文字間隔Ａより文字間隔Ｃの方が間隔長が大きいため、埋め込まれているビット値は「１」であると判定される（Ｓ２０６）。
【００４９】
上述したように、第一の実施の形態における情報埋め込み・抽出装置１０によれば、情報の埋め込みに使用する文字間隔の間隔長を所定値（β）以上とすることで、印刷及びスキャンといったアナログ処理を通じて、当該文字間隔を形成する文字要素同士が結合する可能性を低下させることができる。
【００５０】
また、間隔長が、所定値（α）以下の文字間隔は情報の埋め込み間隔として用いないため、印刷及びスキャンによって失われやすい狭い文字間隔を情報の埋め込み対象から分離することができる。また、狭い文字間隔を動かすと人間の視覚的に不自然さを生じ易い傾向にあるところ、この狭い文字間隔には情報を埋め込まないため不自然さを低減させることができる。
【００５１】
また、間隔長について、情報が埋め込まれない区間（−∞  α］、情報が埋め込まれる区間［β  ∞）との間に緩衝区間（α  β）を設けることにより、印刷及びスキャンによって文字要素が変動したとしても情報埋め込み領域と非埋め込み領域とを情報抽出時にロバストに分離することができる。これによって、アナログ処理過程に対してロバストな情報抽出と、人間の視覚的に画質劣化の少ない情報埋め込みとを共に実現することができる。
【００５２】
また、間隔長がα以上であった文字間隔であって、情報の埋め込みに用いられない文字間隔については、上記緩衝区間における下界の最大値（α）に補正されるため、当該間隔長の変動をできるだけ小さく抑えることができ、人間の視覚に対して不自然な画像となることを抑制することができる。
【００５３】
また、情報抽出時には、間隔長がβ以上の文字間隔を検索するのではなく、（α＋β）／２以上の文字間隔を検索するため、アナログ処理によって間隔長が変動した場合でも、適切に情報を抽出することができる。
次に、第二の実施の形態として、情報埋め込み・抽出装置１０が、処理対象とする画像に適応させて所定値α及びβを動的に算出する例について説明する。第二の実施の形態における情報の埋め込み処理は、第一の実施の形態（図３）に対して、ステップＳ１０６における、間隔値がαより大きい二つの文字間隔の選択処理のみが異なる。したがって、当該処理のみについて説明する。
【００５４】
図７は、第二の実施の形態の情報の埋め込み処理における間隔値がαより大きい二つの文字間隔の選択処理を説明するためのフローチャートである。
【００５５】
まず、情報埋め込み部１２は、二つの文字間隔を選択する（Ｓ１０６−１）。具体的には、行を左上からラスタ走査して選択し、その行の中から、水平方向の並び順に文字間隔を選択する。なお、第二の実施の形態においては、この時点でα及びβの値は定まっていない。したがって、ここでの文字間隔の選択においては、間隔長がαより大きいという制限はなく、単純に順番に選択される。
【００５６】
更に、情報埋め込み部１２は、選択された二つの文字間隔を形成する文字要素の高さの和に所定の第一の係数を乗ずることにより算出される値をαとし、第二の係数を乗ずることにより算出される値をβとする（Ｓ１０６−２）。ここで、選択された二つの文字間隔を形成する文字要素とは、図６において、文字間隔ＡとＢとが選択されている場合は、文字要素「文」、「書」及び「画」をいう。したがって、この場合、「文」、「書」及び「画」の文字要素のそれぞれの高さの合計に所定の係数を乗じたものが、α及びβとされる。但し、ここで、α＜βとなるようにそれぞれを算出する。また、後述するステップＳ１０６−４において新たな文字間隔が選択された場合のように、文字間隔ＡとＣとが選択された場合は、二つの文字間隔の間に二つ以上の文字要素（ここでは、「書」及び「画」）が含まれている。このような場合は、文字間隔の間の二つ以上の文字要素を囲む長方形の高さを一つの高さとして扱い、他の両端の文字（ここでは、「文」及び「像」）の高さとの合計に所定の係数を乗ずればよい。
【００５７】
続いて、情報埋め込み部１２は、選択されている二つの文字間隔が、いずれも算出されたαより大きいか否かを判定する。この条件が満たされる場合は、当該二つの文字間隔を対象として、ステップＳ１０７（図３）に進む。一方、すくなくとも一方の文字間隔の間隔値がα以下である場合は、その文字間隔に代わる次の文字間隔を選択し（Ｓ１０６−４）、ステップＳ１０６−２以降の処理を繰り返す。これによって、動的に算出されたαより大きな間隔値を持つ二つの文字間隔が選択される。
【００５８】
次に、第二の実施の形態における情報抽出処理について説明する。第二の実施の形態における情報抽出処理は、第一の実施の形態（図４）に対して、ステップＳ２０５における、間隔値が（α＋β）／２以上である二つの文字間隔の選択処理のみが異なる。したがって、当該処理のみについて説明する。
【００５９】
図８は、第二の実施の形態の情報抽出処理における間隔値が（α＋β）／２以上の二つの文字間隔の選択処理を説明するためのフローチャートである。
【００６０】
まず、情報抽出部１３は、二つの文字間隔を選択する（Ｓ２０５−１）。具体的には、行を左上からラスタ走査して選択し、その行の中から、水平方向の並び順に文字間隔を選択する。なお、第二の実施の形態においては、この時点でα及びβの値は定まっていない。したがって、ここでも文字間隔の選択においては、間隔長がαより大きいという制限はなく、単純に順番に選択される。
【００６１】
更に、情報抽出部１３は、情報埋め込み部１２によるα及びβの算出方法と同様に、選択された二つの文字間隔を形成する文字要素の高さの和に所定の第一の係数を乗ずることにより算出される値をαとし、第二の係数を乗ずることにより算出される値をβとする（Ｓ２０５−２）。
【００６２】
続いて、情報抽出部１３は、選択されている二つの文字間隔が、いずれも（α＋β）／２以上であるかを判定する（Ｓ２０５−３）。この条件が満たされる場合は、当該二つの文字間隔を対象として、ステップＳ２０７（図４）に進む。一方、すくなくとも一方の文字間隔の間隔値が（α＋β）／２より小さい場合は、その文字間隔に代わる次の文字間隔を選択し（Ｓ２０５−４）、ステップＳ２０５−２以降の処理を繰り返す。これによって、（α＋β）／２以上の間隔値を持つ二つの文字間隔が選択される。
【００６３】
上述したように、第二の実施の形態における情報埋め込み・抽出装置１０によれば、文字要素の大きさい応じてα及びβの値が算出されるため、人間の視覚に不自然な画像となることをより抑制することができる。なお、α及びβの算出方法は様々である。すなわち、上記において３つの文字要素の高さを用いたのは、あくまでも例であり、例えば、一つの文字要素の高さや、又は幅を用いて算出してもよい。要は、文字要素の大きさに応じてα及びβを算出すれば、文字要素の大きさに応じた間隔長によって情報を埋め込むことができ、それによって不自然な画像の発生を防止できる可能性が高まるという考えによる。
【００６４】
ところで、上記においては、画像データに基づいて情報を埋め込む例を説明したが、ワープロソフト等のアプリケーションデータを印刷する際に、本発明に係る情報の埋め込み方法によって印刷物に情報を埋め込んでもよい。そこで、第三の実施の形態として、アプリケーションデータを印刷する際に、情報を埋め込む例について説明する。
【００６５】
図９は、第三の実施の形態における情報の埋め込み処理を説明するためのフローチャートである。図９の処理は、アプリケーションデータが、ワープロソフト等のアプリケーションに読み込まれた状態から開始される。
【００６６】
ユーザが、アプリケーションの印刷メニューを選択すると、印刷部１４におけるプリンタドライバのユーザインタフェース（以下「印刷ダイアログ」という。）が表示される（Ｓ３０１）。ユーザは、印刷ダイアログ上において各種印刷機能の設定を行うと共に、印刷物に情報を埋め込む場合は埋め込む情報を入力し（Ｓ３０２）、印刷の実行を指示する（Ｓ３０３）。なお、ここで埋め込む情報として入力された情報を、以下「入力情報」という。
【００６７】
ステップＳ３０３に続いてステップＳ３０４に進み、プリンタドライバは、アプリケーションデータを印作先のプリンタ２０が解釈可能な印刷データに変換すると共に、例えば、印刷ダイアログ上で情報の埋め込みを行う旨の設定がされているか否かを判定する。情報の埋め込みを行う旨の設定とは、例えば、印刷ダイアログ上において入力情報が入力されている場合や、又は、情報の埋め込みを行う旨のチェックボタンがチェックされている場合等が相当する。当該設定がされていない場合は、ステップＳ３０６に進み、当該設定がされている場合は、ステップＳ３０５に進む。
【００６８】
ステップＳ３０５において、情報埋め込み部１２等は、プリンタドライバによって生成された印刷データに入力情報を埋め込む。印刷データへの入力情報の埋め込みは、例えば、以下のように行われる。情報埋め込み部１２は、印刷データの中からテキスト部分を抽出する。続いて、各文字の中心座標を抽出し、近傍の文字をまとめて行を生成する。続いて、各行の中で隣接する文字間隔を抽出する。続いて、量子化部１３等は、入力情報を２進数化又はｎ進数化し、第一又は第二の実施例において説明した処理によって各文字間隔の丸め値を算出する。情報埋め込み部１２は、量子化部１３等によって算出された丸め値を実現するように、印刷データ内の各文字の座標値を操作する。
【００６９】
ステップＳ３０５に続いてステップＳ３０６に進み、印刷部１４によって印刷データが印刷される。
【００７０】
上述したように、第三の実施の形態によれば、いわゆるイメージ情報としての画像データに限らず、アプリケーション固有の形式によるアプリケーションデータの印刷物に対しても、本発明に係る情報の埋め込み方法によって情報を埋め込むことができる。なお、図９の処理によって印刷された印刷物からの情報の抽出は、第一又は第二の実施の形態において説明した処理と同様の処理によって行えばよい。
【００７１】
なお、上記においては、二つの文字間隔を用いて１ビットを表現する例について説明したが、一つの文字間隔に１ビットの情報を埋め込んでもよい。この場合、間隔長がβより小さい文字間隔には、ビット値は割り当てないこととする。また、間隔長が、α以上β未満である文字間隔については、文字間隔をαに変更すればよい。
【００７２】
０と１との区別については、０を埋め込む文字間隔の間隔長は所定値θの偶数倍、１を埋め込む文字間隔の間隔長は所定値θの奇数倍となるように量子化すればよい。但し、間隔長がβ以上である間隔長をそのように量子化すする。そうすることによって、もともと間隔長がβ以上である文字間隔には、０又は１を埋め込むことができ、上記の場合（二つの文字間隔を用いて１ビットを表現する場合）よりも埋め込む情報量を増加させることができる。
【００７３】
このように情報を埋め込んだ場合でも、開区間（α  β）に含まれる値を間隔長とする文字間隔は存在しない画像が生成されるため、情報の抽出については、間隔長が（α＋β）／２以上の文字間隔をビット値が埋め込まれている文字間隔と判定すればよい。そして、ビット値が埋め込まれているものと判定された文字間隔について、その間隔長が所定値θの偶数倍であるか奇数倍であるかによって、埋め込まれた値が０であるのか１であるのかを判定すればよい。
【００７４】
但し、画質劣化に対する耐性という観点からは、上記において説明したように、二つの間隔長の大小関係に対して情報を埋め込むほうが望ましい。
【００７５】
本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００７６】
【図１】本発明の実施の形態における情報埋め込み・抽出装置の機能構成例を示す図である。
【図２】本発明の実施の形態における情報埋め込み・抽出装置のハードウェア構成例を示す図である。
【図３】第一の実施の形態における情報の埋め込み処理を説明するためのフローチャートである。
【図４】第一の実施の形態における情報抽出処理を説明するためのフローチャートである。
【図５】本発明の実施の形態における情報の埋め込み処理及び抽出処理の意義を説明するための図である。
【図６】情報の埋め込み処理及び抽出処理を具体的に説明するための図である。
【図７】第二の実施の形態の情報の埋め込み処理における間隔値がαより大きい二つの文字間隔の選択処理を説明するためのフローチャートである。
【図８】第二の実施の形態の情報抽出処理における間隔値が（α＋β）／２以上の二つの文字間隔の選択処理を説明するためのフローチャート。
【図９】第三の実施の形態における情報の埋め込み処理を説明するためのフローチャートである。
【符号の説明】
【００７７】
１０          情報埋め込み・抽出装置
１１          画像解析部
１２          情報埋め込み部
１６          印刷部
１７          情報抽出部
１８          スキャン部
２０、５１          プリンタ
３０、５２          スキャナ
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        演算処理装置
１０５        表示装置
１０６        入力装置
Ｂ            バス
【図１】
2006222570.tif 000003
【図２】
2006222570.tif 000004
【図３】
2006222570.tif 000005
【図４】
2006222570.tif 000006
【図５】
2006222570.tif 000007
【図６】
2006222570.tif 000008
【図７】
2006222570.tif 000009
【図８】
2006222570.tif 000010
【図９】
2006222570.tif 000011