(57)【要約】【課題】  文字間隔が狭いフォントを含む電子文書であっても違和感が発生しにくく、且つ、正しく抽出できるように情報を埋め込む。【解決手段】  文書解析部２０２は、入力部２０１が入力した文書画像データを解析し、各文字の外接矩形のサイズと位置を抽出する。そして、埋め込み方法分別部２０３は、連続する３文字の文字列内の２つの文字間隔Ａ，Ｂの合計値と予め設定された閾値Ｔｈとを比較することで、着目文字列が、文字間隔調整を行うことで埋め込むのに好適なタイプか、文字幅を調節することで埋め込むのに好適なタイプかを判定する。透かし埋め込み部２０６は、決定した埋め込み方法に従い、着目文字列に対して１ビットの情報を埋め込む。【選択図】図２
2011059899.tif 000002
【特許請求の範囲】
【請求項１】
電子文書に情報を埋め込む情報処理装置であって、
入力された電子文書を解析し、各文字の配置情報を抽出する文書解析手段と、
該文書解析手段で得られた各文字の配置情報に従って、連続する複数の文字で構成される文字群を選択し、前記文字群の文字間隔を算出し、算出した文字間隔に基づき、着目している文字群が文字間隔を調整して埋め込むのに適した第１のタイプであるか、前記第１のタイプ以外の第２のタイプのいずれに属するのかを判定する判定手段と、
該判定手段の判定結果が、前記着目している文字群が前記第１のタイプであることを示す場合、前記着目している文字群における隣り合う２つの文字間隔Ａ，Ｂの関係が埋め込むべき１ビットの値に応じた関係となるべく、前記文字間隔Ａ，Ｂで挟まれる文字の位置を調整する第１の埋め込み手段と、
該判定手段の判定結果が、前記着目している文字群が前記第２のタイプであることを示す場合、前記着目している文字群における隣り合う２つの文字のそれぞれの文字幅の関係が埋め込むべき１ビットの値に応じた関係となるべく、一方の文字幅を所定長だけ増加すると共に他方の文字幅を前記所定長だけ減少させる第２の埋め込み手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記文字群は連続する３文字であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記判定手段は、
前記隣り合う２つの文字間隔Ａ，Ｂと、予め設定された閾値Ｔｈとの関係が、
条件：Ａ＋Ｂ≧Ｔｈ
を満たすとき、前記着目している文字群は前記第１のタイプであると判定し、
前記条件を満たさない場合、前記着目している文字群は前記第２のタイプであると判定する
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記電子文書は、イメージスキャナで読取った原稿画像データであり、
前記文書解析手段は、前記原稿画像データの各文字の外接矩形の位置とサイズを抽出する
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記電子文書は、ページ記述言語で記述された電子文書であり、
前記文書解析手段は、前記ページ記述言語の記述に従って、着目している文字群における文字間隔を算出する
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項６】
前記電子文書は、ページ記述言語で記述された電子文書であり、
前記文書解析手段は、前記電子文書のページ記述言語に従って、ビットマップイメージデータを生成し、生成されたビットマップイメージデータの各文字の外接矩形の位置とサイズを抽出し、
前記第１の埋め込み手段、及び、前記第２の埋め込み手段は、ページ記述言語の文字幅、配置位置に関する記述を変更する
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項７】
前記判定手段は、前回の判定における文字群の最後の文字を、次の判定における文字群の先頭文字として選択することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
情報が埋め込まれた電子文書から、前記情報を抽出する情報処理装置であって、
入力された電子文書を解析し、各文字の配置情報を抽出する文書解析手段と、
該文書解析手段で得られた各文字の配置情報に従って、連続する複数の文字で構成される文字群を選択し、前記文字群の文字間隔を算出し、算出した文字間隔に基づき、着目している文字群が文字間隔を調整して埋め込むのに適した第１のタイプであるか、前記第１のタイプ以外の第２のタイプのいずれに属するのかを判定する判定手段と、
該判定手段の判定結果が、前記着目している文字群が前記第１のタイプであることを示す場合、前記着目している文字群における隣り合う２つの文字間隔Ａ，Ｂに基づき、埋め込まれた１ビットの値を抽出する第１の抽出手段と、
該判定手段の判定結果が、前記着目している文字群が前記第２のタイプであることを示す場合、前記着目している文字群における隣り合う２つの文字のそれぞれの文字幅の関係に基づき、埋め込まれた１ビットの値を抽出する第２の抽出手段と
を備えることを特徴とする情報処理装置。
【請求項９】
電子文書に情報を埋め込む情報処理装置の制御方法であって、
文書解析手段が、入力された電子文書を解析し、各文字の配置情報を抽出する文書解析工程と、
判定手段が、該文書解析工程で得られた各文字の配置情報に従って、連続する複数の文字で構成される文字群を選択し、前記文字群の文字間隔を算出し、算出した文字間隔に基づき、着目している文字群が文字間隔を調整して埋め込むのに適した第１のタイプであるか、前記第１のタイプ以外の第２のタイプのいずれに属するのかを判定する判定工程と、
該判定工程の判定結果が、前記着目している文字群が前記第１のタイプであることを示す場合、第１の埋め込み手段が、前記着目している文字群における隣り合う２つの文字間隔Ａ，Ｂの関係が埋め込むべき１ビットの値に応じた関係となるべく、前記文字間隔Ａ，Ｂで挟まれる文字の位置を調整する第１の埋め込み工程と、
該判定工程の判定結果が、前記着目している文字群が前記第２のタイプであることを示す場合、第２の埋め込み手段が、前記着目している文字群における隣り合う２つの文字のそれぞれの文字幅の関係が埋め込むべき１ビットの値に応じた関係となるべく、一方の文字幅を所定長だけ増加すると共に他方の文字幅を前記所定長だけ減少させる第２の埋め込み工程と、
を備えることを特徴とする情報処理装置の制御方法。
【請求項１０】
情報が埋め込まれた電子文書から、前記情報を抽出する情報処理装置の制御方法であって、
文書解析手段が、入力された電子文書を解析し、各文字の配置情報を抽出する文書解析工程と、
判定手段が、該文書解析工程で得られた各文字の配置情報に従って、連続する複数の文字で構成される文字群を選択し、前記文字群の文字間隔を算出し、算出した文字間隔に基づき、着目している文字群が文字間隔を調整して埋め込むのに適した第１のタイプであるか、前記第１のタイプ以外の第２のタイプのいずれに属するのかを判定する判定工程と、
該判定工程の判定結果が、前記着目している文字群が前記第１のタイプであることを示す場合、第１の抽出手段が、前記着目している文字群における隣り合う２つの文字間隔Ａ，Ｂに基づき、埋め込まれた１ビットの値を抽出する第１の抽出工程と、
該判定工程の判定結果が、前記着目している文字群が前記第２のタイプであることを示す場合、第２の抽出手段が、前記着目している文字群における隣り合う２つの文字のそれぞれの文字幅の関係に基づき、埋め込まれた１ビットの値を抽出する第２の抽出工程と
を備えることを特徴とする情報処理装置の制御方法。
【請求項１１】
コンピュータに読み込ませ実行させることで、前記コンピュータを請求項１乃至８のいずれか１項に記載の情報処理装置として機能させることを特徴とするコンピュータプログラム。
【請求項１２】
請求項１１に記載のコンピュータプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子文書に情報を付加するための技術に関する。
【背景技術】
【０００２】
近年の電子化において、文書に対するセキュリティ技術が求められている。なかでも以下の電子文書において電子透かし情報（以下、透かしとする）を埋め込み、抽出する技術が注目されている。例えば、電子文書の画像化した文書画像に対して、文字間隔を操作し透かしを埋め込む方法がある（特許文献１）。また、文書画像に対して、行の文字の高さを操作し透かしを埋め込む方法がある（特許文献２）。これらの技術は、企業や個人が作成した機密文書が紙での手渡し、又はＣＤ，ＤＶＤなどの記録媒体、更にはネットワークなどを通じて、不正流出した時の追跡調査などに利用できる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３７２８２０９号公報
【特許文献２】特許第３８４８１４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では操作する前の各文字間の空白部分である文字間隔の大きさの違いについては考慮されていない。つまり、英数字やプロポーショナルフォントなどの一部で文字間隔が極端に狭い箇所がある場合に、情報を埋め込むことで図１のように文字同士が結合してしまう問題が起こる。よって、埋め込み後の文書の見た目が悪くなり、さらに抽出時に結合した部分の情報は抽出できなくなってしまう。
【０００５】
本発明は、この課題を解決して文字間隔が狭いフォントを含む電子文書であっても違和感が発生しにくく、且つ、正しく抽出できるように情報を埋め込む技術を提供するものである。
【課題を解決するための手段】
【０００６】
この課題を解決するため、例えば本発明の情報処理装置は以下の構成を備える。すなわち、
電子文書に情報を埋め込む情報処理装置であって、
入力された電子文書を解析し、各文字の配置情報を抽出する文書解析手段と、
該文書解析手段で得られた各文字の配置情報に従って、連続する複数の文字で構成される文字群を選択し、前記文字群の文字間隔を算出し、算出した文字間隔に基づき、着目している文字群が文字間隔を調整して埋め込むのに適した第１のタイプであるか、前記第１のタイプ以外の第２のタイプのいずれに属するのかを判定する判定手段と、
該判定手段の判定結果が、前記着目している文字群が前記第１のタイプであることを示す場合、前記着目している文字群における隣り合う２つの文字間隔Ａ，Ｂの関係が埋め込むべき１ビットの値に応じた関係となるべく、前記文字間隔Ａ，Ｂで挟まれる文字の位置を調整する第１の埋め込み手段と、
該判定手段の判定結果が、前記着目している文字群が前記第２のタイプであることを示す場合、前記着目している文字群における隣り合う２つの文字のそれぞれの文字幅の関係が埋め込むべき１ビットの値に応じた関係となるべく、一方の文字幅を所定長だけ増加すると共に他方の文字幅を前記所定長だけ減少させる第２の埋め込み手段とを備える。
【発明の効果】
【０００７】
本発明によれば、文字間隔が狭いフォントを含む電子文書であっても違和感が発生しにくく、且つ、正しく抽出できるように情報を埋め込むことが可能になる。
【図面の簡単な説明】
【０００８】
【図１】文字間隔を調整して情報を埋め込む場合の不具合の例を示す図。
【図２】第１の実施形態の埋め込み装置のブロック構成図。
【図３】第１の実施形態における埋め込み手順を示すフローチャート。
【図４】図３の埋め込み方法の分別の内容を示すフローチャート。
【図５】図３の透かし埋め込みの内容を示すフローチャート。
【図６】文書解析部で抽出する文字とその外接矩形の関係を示す図。
【図７】実施形態における３文字を選択する順を示す図。
【図８】第１の実施形態における透かし埋め込みの例を示す図。
【図９】第１の実施形態における抽出装置のブロック構成図。
【図１０】透かし情報の抽出手順を示すフローチャート。
【図１１】図１０の透かし抽出の内容を示すフローチャート。
【図１２】第２の実施形態におけるフォント情報の例を示す図。
【図１３】電子文書の文字間隔に関係する部分の記述例を示す図。
【図１４】第３の実施形態の埋め込み装置のブロック構成図。
【図１５】コンピュータのブロック構成図。
【図１６】図３の埋め込み方法の分別の内容を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【００１０】
［第１の実施形態］
＜透かし埋め込み方法＞
図２は、第１の実施形態における透かし埋め込み装置の構成及び情報の流れを示す図である。具体的には、複合機を想定し、埋め込む透かしとしては装置をユニークに特定する情報（メーカのモデル名、シリアル番号）として説明する。
【００１１】
本装置は、埋め込み対象である電子文書を画像化した文書画像２００を入力する入力部２０１を備える。本実施形態における入力部２０１は、原稿を光学的に読取り、２値の原稿画像データ（ビットマップイメージデータ）として出力するイメージスキャナであるとする。しかし、画像ファイルを記憶している記憶媒体からその画像ファイルを読み込む装置や、ネットワーク上のサーバから画像ファイルを受信する構成でも構わず、その種類は問わない。また、透かし埋め込み装置は、文書画像の文字の外接矩形を抽出し、文字間隔を算出する文書解析部２０２と、文字間隔から求まる値と対応するしきい値を用いて、埋め込み方法を分別する埋め込み方法分別部２０３を有する。そして、透かし埋め込み装置は、透かし入力部２０５より入力された透かし２０４を用いて、透かしの埋め込みを行う透かし埋め込み部２０６と、透かし埋め込み文書画像２０８を出力する出力部２０７をも有する。実施形態における出力部２０７はプリンタであるが、埋め込み後の画像をファイルとして記憶媒体に保存しても、ネットワークに出力しても良く、その種類は問わない。以下、透かしの埋め込み方法の具体的な実現方法について述べる。
【００１２】
実施形態における透かし埋め込み装置の処理手順を図３のフローチャートに従って説明する。まず、入力部２０１が文書画像２００を入力する（Ｓ３０１）。文書画像は２値画像であって、例えば、ＢＭＰ（Microsoft Windows（登録商標） Bitmap Image）やＴＩＦＦ（Tagged Image File Format）などが挙げられる。次に、文書解析部２０２は、入力した文書画像を解析し、各文字の配置情報を抽出する。具体的には、文書解析部２０２は図６に示すような、各文字画像の外接矩形（文字領域）の検出を行う（Ｓ３０２）。外接矩形の検出は、入力した文書画像の各画素値を垂直座標軸に対して射影し、空白部分（黒色である文字のない部分）を探索して行を判別して行分割を行う。その後、行単位に、文書画像を水平座標軸に対して射影し、空白部分を探索して文字単位に分割する。これによって、各文字の高さと幅から、外接矩形を決定できるようになる。また、外接矩形を求めたことにより、例えば、１行中に連続する３文字の文字列について、図６に示す各文字の外接矩形の左下隅の座標Ｓ１、Ｓ２、Ｓ３、各文字の文字幅Ｗ１、Ｗ２、Ｗ３が算出される。このようにして、外接矩形が検出されると、連続する３文字の外接矩形から、それら１文字目と２文字目の文字間隔Ａ、２文字目と３文字目の文字間隔Ｂを次式に従って算出する（Ｓ３０３）。
Ａ＝Ｓ２−(Ｓ１＋Ｗ１)
Ｂ＝Ｓ３−(Ｓ２＋Ｗ２)
【００１３】
次に、詳細は後述するが、文書画像の文字間隔Ａ、Ｂと、予め設定された文字間隔閾値Ｔｈによって、埋め込み方法が分別される（Ｓ３０４）。そして、分別された埋め込み方法に従い、着目文字列（文字）について、透かし入力部２０５が入力した透かし２０４の１ビットの埋め込みが行なわれる（Ｓ３０５）。なお、この埋め込み処理についての詳細も後述することとする。そして、分別された埋め込み方法に従い、着目文字列（文字）について、透かし入力部２０５が入力した透かし２０４の１ビットの埋め込みが行なわれる（Ｓ３０５）。こうして、埋め込むべき情報の埋め込み処理が終了すると、出力部２０７が介して透かし埋め込み済みの文書画像２０８を出力する。
【００１４】
＜埋め込み方法分別部＞
図４は、図３におけるＳ３０４、すなわち、埋め込み方法分別部２０３の処理を示すフローチャートである。以下、同図、及び、図６を参照して説明する。
【００１５】
先ず、埋め込み方法分別部２０３は、文書画像中の着目行か連続する３文字分の外接矩形を選択する。選択する順序は行順であり、１つの行では左端の文字から連続する３文字の外接矩形を選択する（Ｓ３０４ａ）。そして、選択した連続する３文字の文字列が、文字間隔を調整して情報を埋め込むのに適した文字列であるか否かを判定する。具体的には、先のＳ３０３において求めた外接矩形に関する情報から求めた文字間隔ＡとＢの合計値と、予め設定された文字間隔閾値Ｔｈとを比較し、合計値が文字間隔閾値以上であるか否かが判断される（Ｓ３０４ｂ）。ここで、条件「Ａ＋Ｂ≧Ｔｈ」を満たす場合（ＹＥＳ）、着目文字列は、文字間隔を調整して埋め込みできる状態（第１のタイプの文字列）であると判断し、着目文字列に対する埋め込み方法の種類を特定する変数Ｕを“１”に設定する（Ｓ３０４ｃ）。一方、Ａ＋Ｂ＜Ｔｈであると判定された場合、着目文字列の文字間隔を調整して埋め込むことができず、文字幅を調整するのに適した文字列（第１のタイプ以外＝第２のタイプの文字列）と判定し、埋め込み方法の種類を特定する変数Ｕを“２”に設定する（Ｓ３０４ｄ）。そして、文書の終わりであるか否かを判断し（Ｓ３０４ｅ）、否の場合には、次の３文字を選択し、上記処理を行う。実施形態では連続する３文字について１ビットの情報を埋め込む。そして、１つの文書画像に、より多くの情報を埋め込むため、前回選択した文字列の最後の文字を、今回選択する文字列の先頭文字とする。図７はこの選択する３文字の推移を示している。この結果、３文字について１ビットを埋め込むものの、実質的２文字について１ビットを埋め込むことに成功する。こうして、埋め込み方法分別部２０３は、入力した文書画像における各文字の外接矩形情報に基づき、連続する３文字単位に、変数Ｕの値を決定する。決定した変数Ｕは、後続する透かし埋め込み部２０６に供給される。
【００１６】
なお、上記では、埋め込み方法の分別に、文字間隔Ａ，Ｂの合計値と閾値Ｔｈとを比較するものとしたが、文字間隔ＡとＢがともにＴｈ以上なら、文字間隔を操作した埋め込み方法に設定し、そうでなければ、文字幅を操作した埋め込み方法に設定される。また、一つの文字幅に基づく文字幅閾値をＺとして、Ｗ１とＷ２がともにＺ以上なら、文字間隔が狭いとみなして文字幅を操作した埋め込み方法に設定し、そうでなければ、文字間隔が広いとみなして文字間隔を操作した埋め込み方法を設定しても良い。なお、文字間隔が異なる文字群を分別できる方法ならば、いずれにも本発明が適応できることは言うまでもない。
【００１７】
＜透かし埋め込み部＞
次に、実施形態における透かし埋め込み部２０６を説明する。この透かし埋め込み部２０６は、後述する２種類の埋め込み法を使い分ける。第１の埋め込み法は、連続する３つの文字列中の２番目の文字（中央の文字）の位置を調整することで、その両隣の文字との距離Ａ，Ｂの関係を、埋め込むビットの値に応じた関係にするものである。第２の埋め込み法は、連続する３つの文字列中の先頭と２番目の文字の幅を調整することで、それら２つの文字の幅Ｗ１、Ｗ２の関係を、埋め込むビットの値に応じた関係にするものである。
【００１８】
図５は、図３におけるＳ３０５、すなわち、透かし埋め込み部２０６の処理を示すフローチャートである。透かし埋め込み部２０６は、文書画像中における連続する３文字（以下、この３文字を着目文字列という）を選択する（Ｓ３０５ａ）。この選択処理のアルゴリズムは、埋め込み方法分別部２０３のそれと同じである。次に、透かし埋め込み部２０６は、着目文字列に対する、埋め込み方法分別部２０３の分別の判定結果、すなわち、変数Ｕを受け取り、その値が“１”であるか否かを判定する（Ｓ３０５ｂ）。Ｕ＝１である場合（ＹＥＳ）は文字間隔を調整した埋め込み処理を行うため、処理はＳ３０５ｃに進む。この埋め込み処理は以下のように行う。
【００１９】
まず、埋め込み対象の１ビットの値が“１”である場合、着目文字列の文字間隔Ａ，Ｂの関係が『Ａ＜Ｂ』となるように、着目文字列中の中央の文字画像のみを移動させる。一方、埋め込み対象の１ビットの値が“０”である場合、着目文字列の文字間隔Ａ，Ｂの関係が『Ａ≧Ｂ』となるように、着目文字列中の中央の文字画像のみを移動させる。上記の通りであるので、埋め込む前後の「Ａ＋Ｂ」の値は一定である。これによって、透かし埋め込み文書画像から埋め込まれた透かしを抽出するときの抽出方法分別が可能となる。また、２文字目のみを移動させているので、透かし挿入前後で行の幅が変化することもない。
【００２０】
上記の説明した方法に限らず、抽出時に埋め込み時と同様に文字群を分別できるならば、他の文字の間隔を使って情報を埋め込む場合いずれにも本発明が適応できることは言うまでもない。
【００２１】
一方、透かし埋め込み部２０６が、Ｓ３０５ｂにて、Ｕ＝１ではない場合、すなわち、Ｕ＝２であると判断した場合、文字幅を調整した埋め込み方法を行うため、処理はＳ３０５ｄに進む。この埋め込み処理は、以下のように行う。
【００２２】
埋め込み対象のビットの値が“１”の場合、文字幅Ｗ１、Ｗ２において『Ｗ１＜Ｗ２』の関係が成立するまで、以下の処理を実行する。なお、αの値は予め設定された正の所定値である。
Ｗ１＝Ｗ１−α
Ｗ２＝Ｗ２＋α
すなわち、着目文字列中の外接矩形内の先頭文字画像の幅を減少、２番目の外接矩形内の文字画像の幅を増加させる処理を行う。ただし、着目文字列の後端の外接矩形内の文字画像の位置やサイズは変更しない。更に、着目文字列中の先頭の文字画像の外接矩形の左下隅の位置、及び、着目文字列中の中央の文字画像の外接矩形の右下隅の位置は不動とする。換言すれば、文字間隔Ａは一定に保ったまま、文字間隔Ａを挟む２つの文字のサイズを変更する。
【００２３】
また、埋め込み対象のビットの値が“０”の場合、文字幅Ｗ１、Ｗ２において『Ｗ１≧Ｗ２』の関係が成立するまで、以下の処理を実行する。
Ｗ１＝Ｗ１＋α
Ｗ２＝Ｗ２−α
すなわち、着目文字列中の外接矩形内の先頭文字画像の幅を増加、２番目の外接矩形内の文字画像の幅を減少させる処理を行う。ただし、着目文字列の後端の外接矩形内の文字画像の位置やサイズは変更しない。更に、着目文字列中の先頭の文字画像の外接矩形の左下隅の位置、及び、着目文字列中の中央の文字画像の外接矩形の右下隅の位置は不動とする。
【００２４】
上記のようＳ３０５ｃ、Ｓ３０５ｄのいずれによっても、着目文字列について１ビットの透かしが埋め込まれる。そして、Ｓ３０５ｃ、Ｓ３０５ｄのいずれの処理を行ったとしても、着目文字列の先頭文字画像の外接矩形の左辺と、着目文字列の後端の文字画像の外接矩形の右辺の位置は変化しないので、透かしを埋め込める。つまり、透かし抽出時に文字間隔による埋め込みが行われたか、文字幅による埋め込みかが行われたかを分別することが可能になる。さらに、透かしの挿入前後で行の幅も変化もしない。
【００２５】
なお、実施形態における文字幅の調整による埋め込みでは、連続する３文字中の先頭、２番目の文字の幅を調整するものとしたが、２番目と３番目の文字の調整でも構わない。要するに、先頭の文字の左下隅の位置と最後の文字の右下隅の位置が不動であり、連続する２つの文字の一方の文字幅を所定長（α）だけ増加させた場合には、他方の文字幅を同じ長さだけ減少させればよい。
【００２６】
こうして、最後のＳ３０５ｅは、文書の終わりか否かを判断される。否の場合には、次の３文字を選択し、上記処理を繰り返す。また、選択した３文字が文書画像中の最終行の最後の３文字であると判断した場合には本処理を終える。
【００２７】
図８は、本実施形態における電子文書の文字間隔および文字幅の変化例を示したものである。２つの文字間隔の総和に基づいて埋め込み方法が異なることが分かる。
【００２８】
＜透かし抽出方法＞
上記の透かし情報埋め込み装置が第１の埋め込み方法、第２の埋め込み方法の２種類の埋め込み方法を切り替えて情報埋め込みを行った。従って、透かし情報抽出装置も、基本は第１の抽出方法、第２の抽出方法を繰り替えて、埋め込まれた情報を抽出することになる。
【００２９】
本実施形態における透かし情報抽出装置の構成とその処理内容を図９を参照して説明する。本実施形態における透かし情報抽出装置が、透かし情報が埋め込まれた文書画像データ９００、又は、透かし埋め込み文書の印刷物９０１は、入力部９０２を介して２値の画像データとして文書解析部９０３に供給される。入力部９０２はイメージスキャナや画像データを受信するインタフェースで良い。文書解析部９０３は、埋め込み側と同様に、入力した文書画像の文字画像の外接矩形の位置（実施形態では、外接矩形の左下隅の座標）とサイズ（文字の並び方向の幅）を抽出する。そして、抽出方法分別部９０４は、文書解析部９０３で抽出した情報に基づき、３文字分の文字列単位に、その中の文字間隔と閾値Ｔｈを用いて、埋め込み方法を分別し、その結果、透かし抽出部９０５に出力する。透かし抽出部９０５は、判定された埋め込み方法に従って、埋め込まれた情報を抽出し、透かし９０６として出力する。以下、透かしの抽出方法の具体的な実現方法について述べる。
【００３０】
図１０は、本実施形態における透かし抽出装置の動作手順を説明するためのフローチャートである。透かし抽出装置は、先ず、入力部９０２を介して、透かしが埋め込まれた２値の文書画像を入力する（Ｓ１００１）。次いで、文書解析部９０３が、埋め込み側と同様に、入力した文書画像の黒画素の投影処理を行う文字画像の外接矩形の位置とサイズの検出が行い（Ｓ１００２）、各文字間隔を算出する（Ｓ１００３）。抽出方法分別部９０４は、入力した文書画像中の着目行中の着目文字列（３文字）分における１文字目と２文字目の文字間隔Ａ、２文字目と３文字目の文字間隔Ｂ、及び、閾値Ｔｈに基づき、透かし抽出方法を分別する（Ｓ１００４）。ここで、分別の判断式は透かし埋め込み時と同様であり、文字間隔による埋め込みが行われたか、文字幅による埋め込みかが行われたかを判断し、どの埋め込み方法かを示す値であるＵを得る。この後、透かし抽出部９０５は、着目文字列に対する値Ｕに従って、埋め込まれたビットの値を抽出し、出力する。
【００３１】
図１１は、本実施形態における抽出方法分別部９０４の処理内容を示すフローチャートである。以下、同図に従って、抽出方法分別部９０４の処理手順を説明する。
【００３２】
まず、抽出方法分別部９０４は、文書画像中の着目行中の着目文字列（実施形態では３文字）を選択することで、その選択された文字列の文字間隔Ａ、Ｂを得る（Ｓ１００５ａ）。そして、抽出方法分別部９０４は、Ａ＋Ｂと閾値とを比較することで、値Ｕの値を決定し、その値Ｕの値が“１”であるか否かを判定する（Ｓ１００５ｂ）。すなわち、抽出方法分別部９０４は、文字間隔、文字幅調整のいずれによって着目文字列に１ビットの値が埋め込まれたのかを判定する。透かし抽出部９０５は、値Ｕの値が“１”の場合、文字間隔調整による埋め込みが行われたと判断し、Ｓ１００５ｃに処理を進め、次のようにして埋め込まれたビットを次のようにして判定する。
・Ａ＜Ｂの場合：埋め込まれたビットは「１」と判定する。
・Ａ＜Ｂではない場合：埋め込まれたビットは「０」と判定する。
【００３３】
一方、判定ステップＳ１００５ｂの判定がＮｏ（Ｕ＝２）であると判定した場合、着目文字列に対して文字幅調整による埋め込みが行われたと判断し、Ｓ１００５ｄに処理を進め、次のようにして埋め込まれたビットを次のようにして判定する。
・Ｗ１＜Ｗ２である場合は、埋め込まれたビットは「１」と判定する。
・Ｗ１＜Ｗ２ではない場合は、埋め込まれたビットは「０」と判定する。
【００３４】
そして上記の処理を、文書の終わりに到達するまで、繰り返す（Ｓ１００５ｅ）。ここでは、埋め込みおよび抽出にて分別に用いられる文字間隔の総和および行の幅が変化しない文字間隔および文字幅を用いた透かし埋め込み方法を説明した。ただし、文字間隔の総和が変化しなければ、行の幅が変化する方法を含む他の透かし埋め込み方法が適用できるのはいうまでもない。例えば、文字の配置位置を垂直方向に移動させることや文字の高さを変化させることでも可能である。また、行の幅が変化する文字間隔および文字幅を用いた透かし埋め込み方法においても、文字間隔の総和が変化しなければ適用できるのはいうまでもない。
【００３５】
なお、上記実施形態では、文書画像を入力し、黒画素の垂直、水平軸への投影処理を行い、行の検出から、各文字の外接矩形を求めるものとしたが、例えば、平仮名文字「い」の場合、その左側と右側部分にそれぞれ独立した外接矩形が検出されることになる可能性がある。特に漢字の偏（へん）と旁（つくり）にも言えることである。従って、上記実施形態における文字の外接矩形という表現は便宜的なものであり、文字を構成する文字構成要素の外接矩形の位置の調整は、サイズ（幅）を調整すると言っても構わない。
【００３６】
また、ＯＣＲ（Optical Character Reader）を用いて、文字を識別し、各文字の外接矩形を求めても良い。
【００３７】
［変形例］
第１の実施形態では連続する３文字を順に選択し、選択した３文字毎に埋め込み方法を設定した。しかしながら、埋め込み方法の切り替えを頻繁に切り替える処理が必要になる。そこで、３文字よりも多い数であり、連続して配置されている文字数を単位に、埋め込み方法を分別する例を説明する。３文字よりも多く、連続して複数の文字が配置されている、代表的なものとしては、行が挙げられる。そこで、以下では、埋め込み方法を行単位で分別し、埋め込むことで、処理効率を向上させる方法を変形例として示す。
【００３８】
この変形例は、第１の実施形態における＜埋め込み方法分別部＞と＜透かし埋め込み部＞が異なる。また、抽出側でそれぞれの処理に対応する抽出方法分別部および透かし抽出部が異なる。
【００３９】
＜埋め込み方法分別部＞
図１６は変形例における埋め込み方法分別部２０３の処理を示すフローチャートである。以下、図１６を参照して説明する。
【００４０】
先ず、埋め込み方法分別部２０３は、文書画像中の一番上の順に行を選択する（Ｓ３０４ｆ）。次に、選択した行の文字間隔値の平均値ＳＰａｖｅを求める（Ｓ３０４ｇ）。具体的には、行に存在する文字間隔値の合計を求め、合計を行の文字間隔の数（正確には、文字数−１）で割ることで求める。
【００４１】
そして、その行に対して、先のＳ３０４ｇにおいて求めた文字間隔の平均値ＳＰａｖｅと、予め設定された文字間隔閾値Ｔｈとを比較し、平均値が文字間隔閾値以上であるか否かが判断する（Ｓ３０４ｈ）。ここで、条件「ＳＰａｖｅ≧Ｔｈ」を満たす場合（ＹＥＳ）、対象の行に対する埋め込み方法の種類を特定する変数Ｕを“１”に設定する（Ｓ３０４ｉ）。一方、ＳＰａｖｅ＜Ｔｈであると判定された場合、埋め込み方法の種類を特定する変数Ｕを“２”に設定する（Ｓ３０４ｊ）。その後、文書の終わりであるか否かを判断し（Ｓ３０４ｋ）、否の場合には、次の行を選択し、上記処理を行う。
【００４２】
抽出方法分別部も同様に行単位で文字間隔の平均値ＳＰａｖｅを求め、ＳＰａｖｅと設定された文字間隔閾値Ｔｈと比較することで抽出方法を設定する。
【００４３】
＜透かし埋め込み部＞
変形例では、第１の実施形態の透かし埋め込み部の処理を示す図５のステップＳ３０５ａ、Ｓ３０５ｃおよびＳ３０５ｄが異なる。Ｓ３０５ａは第１の実施形態では３文字を選択するが、変形例では１行を選択する。そして、Ｓ３０５ｃおよびＳ３０５ｄでは、行の先頭から連続する３文字を順次選択し、第１の実施形態で説明した文字間隔を操作した埋め込みまたは文字幅を操作した埋め込みを行う。
【００４４】
透かし抽出部も同様に１行を選択し、抽出方法分別部で設定した抽出方法に基づいて透かしの抽出を行う。なお、変形例では行毎に埋め込み方法を設定したが、段落やページ単位で埋め込み方法を設定しても良い。なお、変形例では第１の実施形態と同様に連続する３文字で１ビットを埋め込む方法を用いたが、行全体の文字間隔または文字幅をひとつのまとまりで変化させて透かしを埋め込んでも良い。
【００４５】
［第２の実施形態］
上記第１の実施形態では、電子文書を画像化した文書画像に埋め込みを行う。よって、電子文書ではデータとして存在していた文字コード情報が消失してしまう。つまり、透かし埋め込み後に再度編集をおこなうには、ＯＣＲなどを用いて文字コードを復元する操作をしなければならず効率が悪い。そこで、非画像である電子文書に直接埋め込み処理を行う例を以下に説明する。電子文書のフォーマットとしては、文字間隔および文字幅の微小的な操作を記述可能なページ記述言語が望ましい。例えば、PostScript（Adobe Systems社の商標）が該当する。ただし、透かしの埋め込みおよび抽出両方が実現可能ならば、電子文書のフォーマットについて問わないことはいうまでもない。
【００４６】
＜透かし埋め込み方法＞
第１の実施形態に対する第２の実施形態の構成概念上の違いは、図２の入力部２０１に埋め込み対象である電子文書を画像化せずに直接入力する点と、出力部２０７から出力されるのが、透かし埋め込み文書画像２０８ではなく、透かし埋め込み電子文書である。以下、透かしの埋め込み方法の具体的な実現方法について述べる。第２の実施形態における透かし埋め込み装置の動作手順を以下に説明する。
【００４７】
まず、入力部２０１は、文書画像２００ではなく、電子文書を入力する。次いで、文書解析部２０２は、電子文書の各フォント情報の抽出を行う。フォント情報は、各フォント形式で定義された情報であり、例えば、ＴｒｕｅＴｙｐｅフォントでは図１２のように示される。図１２より、各文字の領域があり、ＬＳＢ（Left Side Bearing）やＲＳＢ（Right Side Bearing）などが文字の余白を形成していることが分かる。ここで、第１の実施形態と同じく、文字列として３文字を１組と考える。第１番目の文字乃至第３番目の文字が存在するので、それぞれのＬＳＢ、ＲＳＢをＬＳＢ１、ＬＳＢ２、ＬＳＢ３、並びに、ＲＳＢ１、ＲＳＢ２、ＲＳＢ３と表す。文書解析部２０２は、これらＬＳＢ、ＲＳＢを抽出する。そして、文書解析部２０２は、抽出したＬＳＢ、ＲＳＢに基づき、着目文字列の文字間隔Ａ，Ｂを次式に従って算出する。
Ａ＝β×(ＲＳＢ１＋ＬＳＢ２)
Ｂ＝β×(ＲＳＢ２＋ＬＳＢ３)
ここで、βは画像解像度およびフォントの大きさで決める係数である。
【００４８】
この結果、第１の実施形態と同様、文字間隔Ａ，Ｂが得られたので、「Ａ＋Ｂ」と閾値Ｔｈとを比較することで、埋め込み方法を分別する。
【００４９】
この後は、第１の実施形態と同様である。ただし、本第２の実施形態の場合、文字間隔を調整する場合には、電子文書中の文字に配置に関する記述を変更することになる。また、文字幅を変更する場合には、文字の位置とフォントサイズの変更することで対処する。例えば、図１３に示すようなPostScript（Adobe Systems社の商標）では対象文字から次の文字までの距離（pixel値）が記述されている場合がある。よって、文字間隔を変更する場合は、それらの値を画像解像度やフォントの大きさに考慮して変更すれば良い。そして、記述を変更した透かし埋め込み電子文書が出力することになる。
【００５０】
＜透かし抽出方法＞
第１の実施形態に対する本第２の実施形態の違いは、入力部９０２が入力する対象が、透かし埋め込み文書画像ではな、くページ記述言語で記述された電子文書である点である。また、文書解析部９０３は、電子文書を解析し、各文字のＬＳＢ、ＲＳＢを抽出し、３文字の文字列単位に文字間隔Ａ、Ｂを算出する点である。また、文字の幅は、指摘された書体名で、指定されたサイズの文字パターンを生成し、その上で外接矩形を求めることで文字幅を決定すればよい。
【００５１】
［第３の実施形態］
上記第２の実施形態では、電子文書のフォント情報を用いて、透かしの埋め込み方法を分別した。しかしながら、フォント情報から分別に用いる文字間隔を獲得するのは、ヒンティングなどのレンダリングする際に用いられる技術をフォントの種類毎に対応しなければならず、効率の点で改善の余地がある。そこで、電子文書から文書画像を生成し、文書画像の文字間隔や文字幅などを参照することで埋め込み方法の分別および埋め込みを行う例を第３の実施形態として説明する。
【００５２】
＜透かし埋め込み方法＞
図１４は、第３の実施形態における透かし埋め込み装置のブロック構成図である。第２の実施形態との構成概念上の違いは、まず入力部１４０１の出力先として、透かし埋め込み部１４０７と文書画像生成部１４０２に分かれていることである。透かし埋め込み部１４０７に直接出力されるのは、電子文書そのものである。また、文書画像生成部１４０２は、入力部１４０１が入力した電子文書１４００に基づき、文書画像データを生成する。生成された文書画像データは、第１の実施形態と同様にして、文書解析部１４０３において、各文字画像の外接矩形のサイズと位置を取得することで、文字間隔を算出する。そして、埋め込み方法分別部１４０４は、連続する３文字の文字間隔Ａ，Ｂに基づき埋め込み方法を分別する。透かし埋め込み部１４０７は、透かし入力部１４０６を介して入力した透かし１４０５を、ビット単位に、電子文書に埋め込む。この際に、文書画像から得られた埋め込み方法および文字間隔、文字幅をもとに、第２の実施形態と同様に電子文書に対して透かし埋め込みを行う。最後に、出力部１４０８は、透かし埋め込み電子文書１４０９を出力する。以下、本第３の実施形態における透かし埋め込み装置の動作手順を説明する。
【００５３】
まず、入力部１４０１は、電子文書１４００を入力する（Ｓ３０１）。そして、文書画像生成部１４０２は、入力した電子文書１４００を解釈することで、文書画像を生成する。文書解析部１４０３は、生成された文書画像を解析することで、各文字画像の外接矩形のサイズと位置を求め（Ｓ３０２）、連続する３つの文字の文字間Ａ，Ｂを算出する（Ｓ３０３）。埋め込み方法分別部１４０４は、算出したＡ，Ｂの合計値と、閾値Ｔｈとを比較することで、連続する３文字を単位とする埋め込み方法を分別し、その分別結果を値Ｕとして透かし埋め込み部１４０７に出力する（Ｓ３０４）。透かし埋め込み部１４０７は、透かし入力部１４０６が入力した透かし１４０５の１ビットの値を、埋め込み方法分別部１４０４からの埋め込み方法の種類に従い、入力部１４０１からの電子文書で示される３文字分の記述を変更することで、埋め込む。そして、この埋め込み処理を、少なくとも透かし１４０５の全ビットが埋め込まれるまで実行する。出力部１４０８は、第２の実施形態と同様に、記述を変更した電子文書１４０９を出力することになる。
【００５４】
［第４の実施形態］
上記第１乃至第３の実施形態を、パーソナルコンピュータなどの汎用情報処理装置に実行させるコンピュータプログラムで実現しても良い。図１５はこの場合の情報処理装置の構成図である。同図に示す様に、Ｉ／Ｏ１５１１、１５１３を介して、スキャナ１５１２やプリンタ１５１０が接続される。また、Ｉ／Ｏ１５０７や１５０９を介して、キーボードやマウスなどの操作入力デバイス１５０６、ハードディスクなどの外部記憶装置１５０８が選択されている。本装置への電源がＯＮになると、ＣＰＵ１５０１はＲＯＭ１５０３に格納されたブートプログラムに従って、外部記憶装置１５０８からＯＳ（オペレーティングシステム）をＲＡＭ１５０２にロードし、そのロードしたＯＳを実行する。この結果、操作入力デバイス１５０６による操作入力や、ディスプレイ制御装置１５０４を介してのディスプレイ１５０５の表示が行え、ユーザインタフェースを構築することになる。
【００５５】
そして、ユーザが、透かしの埋め込みのためのアプリケーションプログラム、或いは、透かしの抽出のためのアプリケーションプログラムの起動を指示したとする。このとき、ＣＰＵ１５０１は外部記憶装置１５０８から該当するアプリケーションプログラムをＲＡＭ１５０２にロードし、実行する。この結果、本装置が透かし埋め込み装置や抽出装置として機能することになる。このとき、アプリケーションプログラムにおける関数やサブルーチンが図２などの各処理部として代替されることになる。また、例えば、透かし埋め込み装置として機能する場合、埋め込み対象の電子文書を外部装置１５０８から読込むのか、スキャナ１５１２から読込むのか、インタフェース１５１５を介してネットワーク上の他の装置から受信するかを選択することになる。そして、埋め込み後の電子文書を、プリンタ１５１０により印刷物として出力するのか、外部記憶装置１５０８に埋め込み後の電子文書ファイルとして保存するのか、また、ネットワーク上に出力するのかを選択することになる。
【００５６】
なお、上記各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００５７】
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011059899.tif 000003
【図２】
2011059899.tif 000004
【図３】
2011059899.tif 000005
【図４】
2011059899.tif 000006
【図５】
2011059899.tif 000007
【図６】
2011059899.tif 000008
【図７】
2011059899.tif 000009
【図８】
2011059899.tif 000010
【図９】
2011059899.tif 000011
【図１０】
2011059899.tif 000012
【図１１】
2011059899.tif 000013
【図１２】
2011059899.tif 000014
【図１３】
2011059899.tif 000015
【図１４】
2011059899.tif 000016
【図１５】
2011059899.tif 000017
【図１６】
2011059899.tif 000018