(57)【特許請求の範囲】
【請求項１】
文書画像中の連続して並ぶ３文字における２つの文字間隔Ｐ，Ｓに、大小関係を持たせることで１ビットの情報を埋め込む画像処理装置であって、
前記文書画像中のテキスト領域を判別する判別手段と、
該判別手段により判別されたテキスト領域内の各文字の外接矩形を抽出する外接矩形抽出手段と、
前記間隔Ｐ、Ｓの合計値が予め設定された埋め込み強度値に依存した閾値以上となることを条件として定義したとき、前記外接矩形抽出手段で抽出した各外接矩形の位置とサイズに基づき、前記条件を満たさない連続して並ぶ３文字分の外接矩形が有るか否かを判定する判定手段と、
該判定手段で前記条件を満たさないと判定された、前記連続して並ぶ３文字分の外接矩形があると判定された場合、前記閾値に達するための不足した距離ｄをかせぐために、前記連続して並ぶ３文字分の外接矩形の各文字に対する、前記並び方向に対する縮小後のサイズを決定し、決定したサイズで前記各文字の前記並び方向のサイズを縮小する縮小手段と、
前記縮小手段による縮小処理を経た各文字の外接矩形とサイズに基づき、連続して並ぶ３文字における前記２つの文字間隔Ｐ，Ｓが、埋め込み対象の１ビットの値に応じ、且つ、前記埋め込み強度に依存した大小関係を有するように、各文字の位置を変更する文字位置変更手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記文書画像は、ビットマップで表現されることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記文書画像は、ページ記述言語で表現されており、
前記縮小手段及び前記文字位置変更手段は、前記ページ記述言語を変更することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記縮小手段は、前記連続して並ぶ３文字を含む予め定めた範囲内における複数の文字の文字幅の合計値に対する前記文字間の距離の割合に応じて、前記範囲内における各文字に文字幅の不足分を配分することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記予め定めた範囲は、行毎、列毎、又は単語毎に規定される範囲であることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記縮小手段は、前記範囲内の端部に近接する文字ほど文字幅が小さくなるように、前記縮小手段により縮小する縮小幅の重み付けを行うことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記縮小手段は、前記文字の並び方向のサイズを縮小した後、前記並び方向の線幅が前記文字の並び方向に直交する方向の線幅と同一となるように、前記文字の並び方向に画素を付加することを特徴とする請求項４に記載の画像処理装置。
【請求項８】
前記縮小手段は、前記文字幅の不足分を配分する際に、整数のみで演算することを特徴とする請求項４又は５に記載の画像処理装置。
【請求項９】
前記判定手段で前記条件を満たさない、連続して並ぶ３文字分の外接矩形があると判断された行又は列が存在する場合には、前記行又は列の他の文字において、予め設定した閾値以上の文字間の距離を持つ部位を検索し、該部位が有る場合には、前記閾値より小さいと判定された部位の前記文字間の距離が前記閾値以上となるように該文字間の距離を調整する調整手段を更に備え、
前記縮小手段は、前記判定手段によって、前記文字間の距離が前記閾値以上であると判定された部位が前記行又は列内に無い場合、又は前記調整手段によって、文字幅の不足分を補うことができない場合にのみ前記文字の並び方向のサイズを縮小することを特徴とする請求項１に記載の画像処理装置。
【請求項１０】
前記判定手段で前記条件を満たさない、連続して並ぶ３文字分の外接矩形があると判断された行又は列が存在する場合には、前記行又は列の端部と出力用紙の端部との間の距離が規定値より大きいか否かを更に判定し、
前記判定手段によって、前記行又は列の端部と出力用紙の端部との間の距離が前記規定値より大きいと判定された場合には、該行又は列の前記テキスト領域を前記文字の並び方向に拡張して、前記文字間の距離が前記閾値以上となるように、前記文字間の距離を調整する調整手段を更に備え、
前記縮小手段は、前記行又は列の端部と前記出力用紙の端部との間の距離が前記規定値以下である場合にのみ、前記文字の並び方向のサイズを縮小することを特徴とする請求項１に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書画像へ情報を埋め込む技術に関するものである。
【背景技術】
【０００２】
単語間や文字間の空白長を操作することによって、文書画像へ情報を埋め込む技術がある（特許文献１及び２）。これにより、１ビットの情報が文字前後の２つの空白長により表現されることになる。
【特許文献１】特開平９−１８６６０３号公報
【特許文献２】特許第３７２８２０９号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、前述のように、文字間の空白長の大小関係で情報を埋め込む手法を用いると、もともと文字間の空白長が狭いプロポーショナルフォントや半角文字等の場合には、情報が埋め込まれているか否かを判定することが難しい。また、印刷時やスキャン時に発生するノイズや歪みにより、誤って情報が抽出される可能性がある。
【０００４】
従って、本発明の目的は、埋め込まれた情報をより正確に抽出可能に、文書画像へ情報を埋め込むことにある。
【課題を解決するための手段】
【０００５】
本発明においては、文書画像中の連続して並ぶ３文字における２つの文字間隔Ｐ，Ｓに、大小関係を持たせることで１ビットの情報を埋め込む画像処理装置であって、前記文書画像中のテキスト領域を判別する判別手段と、該判別手段により判別されたテキスト領域内の各文字の外接矩形を抽出する外接矩形抽出手段と、前記間隔Ｐ、Ｓの合計値が予め設定された埋め込み強度値に依存した閾値以上となることを条件として定義したとき、前記外接矩形抽出手段で抽出した各外接矩形の位置とサイズに基づき、前記条件を満たさない連続して並ぶ３文字分の外接矩形が有るか否かを判定する判定手段と、該判定手段で前記条件を満たさないと判定された、前記連続して並ぶ３文字分の外接矩形があると判定された場合、前記閾値に達するための不足した距離ｄをかせぐために、前記連続して並ぶ３文字分の外接矩形の各文字に対する、前記並び方向に対する縮小後のサイズを決定し、決定したサイズで前記各文字の前記並び方向のサイズを縮小する縮小手段と、前記縮小手段による縮小処理を経た各文字の外接矩形とサイズに基づき、連続して並ぶ３文字における前記２つの文字間隔Ｐ，Ｓが、埋め込み対象の１ビットの値に応じ、且つ、前記埋め込み強度に依存した大小関係を有するように、各文字の位置を変更する文字位置変更手段と、を備えることを特徴とする画像処理装置が提供される。
【発明の効果】
【０００６】
以上述べた通り、本発明によれば、埋め込まれた情報をより正確に抽出可能に、文書画像へ情報を埋め込むことができる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の好適な実施形態について、添付図面を参照して詳細に説明する。
【０００８】
＜第１の実施形態＞
［全体構成］
図８は、本発明の第１の実施形態に係る画像処理システム８００の構成図である。コンピュータ８０１は、一般に普及しているパーソナルコンピュータ等の汎用の情報処理装置であり、画像入力装置であるスキャナ８１７から読み取られた画像を入力し、編集及び保管等が可能である。また、スキャナ８１７から読み取られた画像をプリンタ８１６から印刷可能である。なお、ユーザからの各種指示等は、マウス（登録商標）８１３やキーボード８１４等の指示入力部からの入力操作により行われる。コンピュータ８０１の内部では、バス８０７により後述の各ブロックが接続され、種々のデータの受け渡しが可能である。
【０００９】
ＭＰＵ８０２は、コンピュータ８０１内部の各ブロックの動作を制御したり、内部に記憶されたプログラムを実行したりすることができる。主記憶装置８０３は、ＲＡＭを備え、ＭＰＵ８０２で行う処理のために、一時的にプログラムや処理対象の画像データを格納する装置である。ハードディスク（ＨＤＤ）８０４は、主記憶装置８０３等に転送されるＯＳであり、アプリケーションプログラムや画像データを予め格納したり、処理後の画像データを保存したりすることができる装置である。
【００１０】
スキャナインタフェース（Ｉ／Ｆ）８１５は、原稿やフィルム等を読み取って、画像データを生成するスキャナ８１７と接続され、スキャナ８１７で得られた画像データを入力することができるＩ／Ｆである。プリンタインタフェース８０８は、画像データを印刷するプリンタ８１６と接続され、印刷する画像データをプリンタ８１６に送信することができるＩ／Ｆである。
【００１１】
ＣＤドライブ８０９は、外部記憶媒体の１つであるＣＤ（ＣＤ−Ｒ／ＣＤ−ＲＷ）に記憶されたデータを読み込んだり、書き出したりすることができる装置である。ＦＤＤドライブ８１１は、ＣＤドライブ８０９と同様にＦＤＤからの読み込みや、ＦＤＤへの書き出しをすることができる装置である。ＤＶＤドライブ８１０は、ＦＤＤドライブ８１１と同様に、ＤＶＤからの読み込みや、ＤＶＤへの書き出しをすることができる装置である。
【００１２】
なお、ＣＤ、ＦＤＤ、ＤＶＤ等に画像編集用のプログラムやプリンタドライバが記憶されている場合には、これらをＨＤＤ８０４上にインストールし、必要に応じて主記憶装置８０３に転送するようになっている。
【００１３】
インタフェース（Ｉ／Ｆ）８１２は、マウス８１３やキーボード８１４からの入力指示を受け付けるために、これらと接続されるＩ／Ｆである。また、モニタ８０６は、情報の埋め込み処理結果や処理過程を表示することができる表示装置である。さらに、ビデオコントローラ８０５は、表示データをモニタ８０６に送信するための装置である。
【００１４】
なお、本発明に係る装置は、複数の機器（例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機、ファクシミリ装置等）に適用してもよい。
【００１５】
上記構成において、マウス８１３やキーボード８１４からの入力指示により主記憶装置８０３にロードしたプログラムをＭＰＵ８０２を用いて実行することによって、情報埋め込み装置や情報抽出装置として機能することになる。この場合には、モニタ８０６により実行状況や実行結果を表示させることが可能である。
【００１６】
［情報埋め込み装置１００の構成］
図１は、本発明の第１の実施形態に係る情報埋め込み装置１００の機能的構成を示すブロック図である。情報埋め込み装置１００は、文書画像中の文字間の距離を変更することで、情報を埋め込む装置である。また、情報埋め込み装置１００は、判別部１０１と、外接矩形抽出部１０２と、判定部１０３と、縮小部１０４と、文字位置変更部１０５と、を備える。
【００１７】
判別部１０１は、文書画像中のテキスト、図、写真等の領域からテキスト領域を判別する。ここで、文書画像は、本実施形態では、ビットマップで表現されており、各画素の値が白又は黒である二値画像で構成されるものとする。
【００１８】
外接矩形抽出部１０２は、判別部１０１により判別されたテキスト領域内の各文字の外接矩形を抽出する。この処理は、最初に水平方向の射影により行を抽出し、抽出された行毎に垂直方向の射影を用いて、文字を抽出するものである。
【００１９】
判別部１０１及び外接矩形抽出部１０２は、公知の文書画像解析技術に基づいて行われる。文書画像解析技術は、文字認識技術の要素技術であり、例えば、特開平６−６８３０１号公報に開示されている。
【００２０】
判定部１０３は、抽出した各外接矩形の位置とサイズに基づいて、文字間の距離が閾値より小さい箇所が有るか否かを判定する。なお、外接矩形の抽出結果から、文字位置を変更することによる情報埋め込み、並びに印刷及びスキャニングの特性を考慮する。
【００２１】
縮小部１０４は、判定部１０３で、文字間の距離が閾値より小さいと判定された文字については、文字間の距離を閾値以上とすべく、文字の並び方向のサイズを縮小する。また、縮小部１０４は、文字を縮小する際には、予め定めた範囲内における複数の文字の文字幅の合計値に対する文字間の距離の割合に応じて、範囲内における各文字に文字幅の不足分を配分する。なお、詳細は後述するが、ニアレストネイバー法、線形補間法、又はｂｉｃｕｂｉｃ法を用いて、文字の並び方向のみ縮小する。
【００２２】
文字位置変更部１０５は、判定部１０３で文字間の距離が閾値以上となった文字、縮小部１０４による縮小後の文字の位置を、埋め込み対象の情報に従って左右方向に変更し、情報が埋め込まれた文書画像を生成する。
【００２３】
なお、判別部１０１、外接矩形抽出部１０２、判定部１０３、縮小部１０４、及び文字位置変更部１０５は、ＭＰＵ８０２が実行するプログラムによって動作する。
【００２４】
また、情報を抽出する情報抽出装置は、情報埋め込み装置１００と同様の構成で、埋め込まれた情報を抽出することができる。
【００２５】
［画像処理］
図３は、第１の実施形態に係る画像処理手順を模式的に示す図である。文字間の間隔を操作することによって、情報を埋め込む場合には、文字間の距離の大小関係によって、１ｂｉｔの情報を埋め込むことができる。
【００２６】
例えば、図３で示すように、情報埋め込み前の文字ｂの前後における２つの文字間の距離をそれぞれ、Ｐ、Ｓとし、埋め込み後の文字ｂの前後における文字間の距離をそれぞれＰ’、Ｓ’とする。また、Ｐ’＞Ｓ’である場合には０が埋め込まれているものとし、Ｐ’＜Ｓ’である場合には１が埋め込まれているものとすることができる。なお、Ｐ’、Ｓ’は、次式のように表すことができる。
【００２７】
埋め込み対象の情報が０である場合には、Ｐ’＝（Ｐ＋Ｓ）（１＋ρ）／２、Ｓ’＝（Ｐ＋Ｓ）（１−ρ）／２と表すことができる。一方、埋め込み対象の情報が１である場合には、Ｐ’＝（Ｐ＋Ｓ）（１−ρ）／２、Ｓ’＝（Ｐ＋Ｓ）（１＋ρ）／２と表すことができる。なお、ρは埋め込み強度を表す定数である。これらの関係を埋め込み処理の前後で満たすように、文字の位置を左右方向に変更する。
【００２８】
これにより、文字から構成されるテキスト領域に、人間の目では認識できない程度（不可視的）に２つの文字間の距離に大小関係を設けることにより、情報を埋め込むことができる。すなわち、このように情報を埋め込む場合、埋め込み可能な情報量は文字数に依存する。なお、規則性を持たせて（例えば、１文字おきに）文字に情報を埋め込んだり、誤り訂正符号を付したりすることによって、情報抽出時の認識の誤りを抑制することができる。また、誤り訂正符号には、例えば、ＢＣＨ符号やリードソロモン符号を用いることができる。
【００２９】
［判定部１０３での処理］
上述のように、文字前後の２つの文字間の距離に大小関係をつけることによって情報を埋め込む場合、埋め込み前後の文字間の距離の差は、（Ｐ＋Ｓ）ρとなる。ここで、値ｅは、文字間の距離の誤差を考慮して定める値とする。プリンタ・スキャナによる処理を経ると、この値ｅの範囲で文字間の距離が変動する可能性がある。このため、値ｅは、予め対象となるプリンタ・スキャナで、多くのサンプルを用いて文字間の距離の変動に関する統計を取り、その結果を考慮して決定する。このようにして、値ｅを定めると、文字間の文字間の距離が十分でないと判定する条件は、（Ｐ＋Ｓ）ρ＜ｅ、すなわち、（Ｐ＋Ｓ）＜ｅ／ρとなる。つまり、文字間の距離が十分であるか否かは、所望の埋め込み強度ρ及び値ｅによって定まる。
【００３０】
上述の判定部１０３は、埋め込み対象となる文字間の距離の全ての組み合わせについて判定し、文字間の距離の和が十分でないと判定された部分の情報（文字の位置）を、文字幅縮小箇所情報として出力する。この文字幅縮小個所情報は、複数の文字の位置に関する情報で、１つの文字について、その座標（行番号と左から何番目かの数）を含む。
【００３１】
［縮小部１０４での処理］
次に、文字幅縮小箇所情報によって表される文字と、その前後の文字をどれだけ縮小するかについて説明する。
【００３２】
まず、Ｐ’、Ｓ’を情報埋め込み後の文字間の距離とすると、条件Ｐ’＋Ｓ’＞ｅ／ρが満たされる必要がある。従って、Ｐ、Ｓを埋め込み前の文字間の距離として、ＰとＳとの文字間の距離の合計をｄだけ増やす場合には、Ｐ＋Ｓ＋ｄ＞ｅ／ρ、すなわち、ｄ＞ｅ／ρ−（Ｐ＋Ｓ）が満たされる必要がある。この条件を満たし、必要な文字間の距離を得るために、各文字をどれだけ縮小するかは、必要な文字間の距離の増加分をどのようにして各文字の縮小幅へ割り当てるかによる。
【００３３】
図４は、第１の実施形態に係る縮小部１０４の処理手順を示す図である。すなわち、埋め込み時に位置を変更する文字とその前後の文字に必要な文字間の距離の増加分を割り当てる。
【００３４】
オリジナル文書画像中で、位置を変更する文字「い」の前に隣り合う文字「あ」の文字幅をｗ０、位置を変更する文字「あ」の文字幅をｗ１、位置を変更する文字「あ」の後ろに隣り合う文字「う」の文字幅をｗ２とする。また、縮小後の文字幅をそれぞれ、ｗ０’、ｗ１’、ｗ２’とする。この場合には、次式の関係を満たすように、文字幅を縮小する。
【００３５】
ここでは、文字間の距離をｄだけ増加させるべき場合に、各文字に文字間の距離の増加分ｄをどのように割り当てるかの例を示す。例えば、次式（１）から（４）のうち、使用状況（例えば、文書画像の種類等）に応じて適切な式を選択して用いる。
（１）ｗ０’＝ｗ０−ｄ／３、ｗ１’＝ｗ１−ｄ／３、ｗ２’＝ｗ２−ｄ／３
（２）ｗ０’＝ｗ０−ｄｗ０／（ｗ０＋ｗ１＋ｗ２）、ｗ１’＝ｗ１−ｄｗ１／（ｗ０＋ｗ１＋ｗ２）、ｗ２’＝ｗ２−ｄｗ２／（ｗ０＋ｗ１＋ｗ２）
（３）ｗ０’＝ｗ０−ｄ／２、ｗ１’＝ｗ１−ｄ／２、ｗ２’＝ｗ２
（４）ｗ０’＝ｗ０ーｄｗ０／（ｗ０＋ｗ１）、ｗ１’＝ｗ１−ｄｗ１／（ｗ０＋ｗ１）、ｗ２’＝ｗ２
（１）は、３つの各文字の縮小幅が均等となるように割り当てる（すなわち、ｄ／３ずつ）。（２）は、隣り合う３つの文字幅の合計値（ｗ０＋ｗ１＋ｗ２）に対する各文字幅ｗ０、ｗ１、ｗ２の比に応じて、３つの各文字に縮小幅を割り当てる。（３）は、隣り合う２つの文字の縮小幅が均等となるように割り当てる（すなわち、ｄ／２ずつ）。（４）は、隣り合う２つの文字幅の合計値（ｗ０＋ｗ１）に対する各文字幅ｗ０、ｗ１の比に応じて、２つの各文字に縮小幅を割り当てる。
【００３６】
この場合、図３において、矩形領域ａは、元の矩形領域とそれぞれの左端が一致するように、矩形領域ｃは、元の矩形領域とそれぞれの右端が一致するようにする。また、矩形領域ｂは、前後の文字間の距離の和が上述の条件を満たせばよく、最終的に文字の位置を変更した後の文字間の距離の値が、情報を表すために適切な大小関係を有していればよいため、情報埋め込み時の文字の位置の変更幅は、任意に定めることができる。
【００３７】
［情報埋め込み装置１００の動作手順］
図５は、第１の実施形態に係る情報埋め込み装置１００の動作手順を示すフローチャートである。まず、判別部１０１において、オリジナル文書画像中のテキスト領域を判別する（ステップＳ５０１）。次に、外接矩形抽出部１０２において、各文字の外接矩形を抽出し（ステップＳ５０２）、抽出結果が外接矩形の位置とサイズに関する情報（外接矩形情報）として、ＲＡＭ等に記憶する。記憶された外接矩形情報に基づいて、判定部１０３において、文字間の距離が閾値より小さい箇所が有るか否かを判定する（ステップＳ５０３）。ここで、この判定結果を表す情報であり、文字幅を縮小すべき部位を表す情報（文字幅縮小箇所情報）をＲＡＭ等に記憶する。
【００３８】
次に、オリジナル文書画像、文字幅縮小箇所情報、及び外接矩形情報に基づいて、縮小部１０４で、文字間の距離が閾値より小さいと判定された文字について、文字間の距離を閾値以上とすべく、文字の並び方向のサイズを縮小する（ステップＳ５０４）。ここで、文字の並び方向のサイズを縮小した文書画像（前処理済み文書画像）が生成される。最後に、前処理済み文書画像と埋め込み対象の情報に基づいて、文字位置変更部１０５において、文字の位置を変更する（ステップＳ５０５）。
【００３９】
以上述べた通り、本実施形態によれば、文字の位置を変更する前に予め文字幅を縮小して、情報の埋め込みスペースを確保した後、情報が埋め込まれる。このため、もともと文字間の距離が狭いプロポーショナルフォントや半角文字等が混在する文書画像であっても、それらの箇所には、通常の全角文字等と同様に情報を埋め込むことができる。これにより、埋め込まれた情報をより正確に抽出可能に、文書画像へ情報を埋め込むことができる。
【００４０】
なお、本実施形態では、文字が左右方向に配列されている場合（横書き）を想定したため、縮小部１０４で文字の左右方向のサイズを縮小した。しかし、文字が上下方向に配列されている場合（縦書き）には、文字の上下方向のサイズを縮小してもよい。
【００４１】
また、本実施形態では、文字の並び方向（左右方向）のみのサイズを縮小したが、少なくとも当該文字の並び方向のサイズを縮小すればよいため、文字の並び方向に垂直な方向（上下方向）のサイズも合わせて縮小してもよい。
【００４２】
［第１の実施形態の変形例］
上述の実施形態では、文書画像がビットマップで表現されているものを想定したが、本変形例では、文書画像がページ記述言語（以下、ＰＤＬとも言う。）で表現されている点で異なる。
【００４３】
図２は、第１の実施形態の変形例に係る情報埋め込み装置２００の機能的構成を示すブロック図である。情報埋め込み装置２００は、判別部２０１と、判定部２０２と、縮小部２０３と、文字位置変更部２０４と、を備える。
【００４４】
判別部２０１は、ＰＤＬで表現されるオリジナル文書画像中のテキスト領域を判別する部分である。
【００４５】
判定部２０２は、抽出した各外接矩形の位置とサイズに基づいて、文字間の距離が閾値より小さい箇所が有るか否かを判定する部分である。文字間の距離が十分でない場合には、その位置に関する情報が、文字幅縮小箇所情報として出力される。
【００４６】
縮小部２０３は、判定部２０２で、文字間の距離が閾値より小さいと判定された文字については、文字間の距離を閾値以上とすべく、少なくとも文字の並び方向のサイズを縮小する部分である。すなわち、オリジナル文書画像及び文字幅縮小箇所情報に基づいて、不足する文字間の距離を拡張するために、他の部位の文字幅を縮小し、前処理済み文書画像を得る。
【００４７】
文字位置変更部２０４は、判定部２０２で文字間の距離が閾値以上となった文字、縮小部２０３による縮小後の文字の位置を、埋め込み対象の情報に従って左右方向に変更し、ＰＤＬで表現された情報が埋め込まれた文書画像を得る。なお、本実施形態では、縮小部１０４及び文字位置変更部１０５での処理は、ＰＤＬを変更する処理である。
【００４８】
図１３は、第１の実施形態の変形例に係る情報埋め込み装置２００の動作手順を示すフローチャートである。まず、ＰＤＬで表現されるオリジナル文書画像中のテキスト領域を判別し（ステップＳ１３０１）、各文字の大きさや位置等の情報が含まれた情報（文字情報）がＲＡＭ等に記憶される。次に、抽出した各外接矩形の位置とサイズに基づいて、文字間の距離が閾値より小さい箇所が有るか否かを判定する（ステップＳ１３０２）。すなわち、上述の情報埋め込み方式、並びに印刷及びスキャンによる誤差を考慮し、埋め込まれた情報が確実に抽出できるように、文字間の距離が閾値より大きいか否かを、情報を埋め込む全ての部位に対して判定する。ここで、文字間の距離が閾値以下であると判定された部位に関する情報が、文字幅縮小箇所情報としてＲＡＭ等に記憶される。
【００４９】
次に、文字情報及び文字幅縮小箇所情報に基づいて、ＰＤＬで表現されたオリジナル文書に対して、文字幅が縮小される（ステップＳ１３０３）。最後に、埋め込み対象の情報及び前処理済み文書（ＰＤＬ）に基づいて、文字の位置が変更され（ステップＳ１３０４）、ＰＤＬで表現され、情報が埋め込まれた文書が出力される。
【００５０】
本変形例によれば、ＰＤＬを変更することにより情報を埋め込むことができる。
【００５１】
＜第２の実施形態＞
上述の第１の実施形態では、文字間の距離が十分に確保されていない部位が連続する場合を想定しなかったが、本実施形態では、文字間の距離が十分に確保されていない部位が連続する場合を想定する点で異なる。
【００５２】
図６は、第２の実施形態に係る情報埋め込み装置の処理手順を示す図である。なお、文字幅が縮小される前の文字幅を、ｗ１、ｗ２、ｗ３、ｗ４、ｗ５とし、文字幅が縮小された後の文字幅を、ｗ１’、ｗ２’、ｗ３’、ｗ４’、ｗ５’とする。この場合、ｗ１’乃至ｗ５’は、ｗ１乃至ｗ５を用いて、次式のように表すことができる。
【００５３】
ｗ１’＝ｗ１−（ｄ１＋ｄ２）ｗ１／（ｗ１＋ｗ２＋ｗ３＋ｗ４＋ｗ５）
ｗ２’＝ｗ２−（ｄ１＋ｄ２）ｗ２／（ｗ１＋ｗ２＋ｗ３＋ｗ４＋ｗ５）
ｗ３’＝ｗ３−（ｄ１＋ｄ２）ｗ３／（ｗ１＋ｗ２＋ｗ３＋ｗ４＋ｗ５）
ｗ４’＝ｗ４−（ｄ１＋ｄ２）ｗ４／（ｗ１＋ｗ２＋ｗ３＋ｗ４＋ｗ５）
ｗ５’＝ｗ５−（ｄ１＋ｄ２）ｗ５／（ｗ１＋ｗ２＋ｗ３＋ｗ４＋ｗ５）
これらの数式で示す文字幅の縮小前後における関係は、第１の実施形態で述べた数式（２）に類似する。しかし、前述の数式（２）では、２つの文字間の距離に隣り合う３つの文字すべてに縮小幅を割り当てるため（図３参照）、埋め込み時に文字の位置が変更されない文字も縮小されてしまう。また、この場合には、縮小処理を１つの文字に対して２度施す場合が生じる。例えば、図４で示した、隣り合う３文字「あ」「い」「う」の文字幅を縮小した場合であっても、右端部の文字「う」及び文字「う」に続く２文字で文字幅を縮小することになるため、文字「う」は２度縮小処理が施されることになる。
【００５４】
一方、本実施形態では、縮小処理を１度だけ行えばよく、縮小幅が連続する文字に分散される。なお、６文字以上連続する場合にも同様に計算することができるし、行又は列全体をまとめて計算することもできる。
【００５５】
本実施形態によれば、情報が埋め込まれた文書画像の見た目の不自然さを軽減することができる。
【００５６】
なお、本実施形態では、縮小部は、予め定めた範囲内における複数の文字の文字幅の合計値に対する文字間の距離の割合に応じて、予め定めた範囲内における各文字に文字幅の不足分を配分した。しかし、縮小部は、予め定めた範囲内の端部に近接する文字ほど小さく、中心に近接する文字ほど大きくなるように縮小幅の重み付けを行ってもよい。予め定めた範囲は、行毎、列毎、又は単語毎に規定される範囲とすることができる。また、例えば、公知技術である、ハミング窓、ハニング窓、三角窓等に基づいて、重み係数を決定し、重み付けパラメータは、和を取ると１となるように設定してもよい。
【００５７】
＜第３の実施形態＞
上述の第２の実施形態では、各文字の文字幅に応じて、文字幅の不足分を配分するため、小数点以下の演算を行う必要があるが、本実施形態では整数のみで演算し、文字幅の不足分を配分することができる点で異なる。
【００５８】
図７は、第３の実施形態に係る情報埋め込み装置の動作手順を示すフローチャートである。ここでは、公知技術であるブレゼンハムの直線描画の計算手法にならって、整数値のみによる比例配分の演算を行う。
【００５９】
まず、整数で表された比率ｄを入力チェックし（ステップＳ７０１）、比率ｄの累積値ｓｕｍを計算する（ステップＳ７０２）。次に、比率ｄが累積値ｓｕｍより大きいか否かを判定する（ステップＳ７０３）。ステップＳ７０３で入力された比率が累積値より大きい（ｄ＞ｓｕｍ）と判定された場合には、ステップＳ７０４に進み、入力された比率が累積値以下である（ｄ＜＝ｓｕｍ）と判定された場合には、ステップＳ７１５に進む。
【００６０】
次に、各変数の値を初期化し（ステップＳ７０４）、ループのカウンタｉに初期値０を代入する（ステップＳ７０５）。ステップＳ７０６からステップＳ７１３までの処理は、ループ内の処理である。次に、ｅｒｒｏｒにｄｅｌｔａｙを加算する（ステップＳ７０６）。次に、ｅｒｒｏｒがｄｅｌｔａｘより大きい（ｅｒｒｏｒ＞ｄｅｌｔａｘ）か否かを判定し（ステップＳ７０７）、ステップＳ７０７でｅｒｒｏｒがｄｅｌｔａｘ以下（ｅｒｒｏｒ＜＝ｄｅｌｔａｘ）であると判定された場合には、ステップＳ７１０に進む。一方、ステップＳ７０７でｅｒｒｏｒがｄｅｌｔａｘよりも大きい（ｅｒｒｏｒ＞ｄｅｌｔａｘ）と判定された場合には、ｙをインクリメントし（ステップＳ７０８）、ｅｒｒｏｒにｄｅｌｔａｙを加算する（ステップＳ７０９）。
【００６１】
次に、ｙがｉｎ＿ｓｕｍ＿ｓｏｆａｒ［ｉｎｄｅｘ］以上であるか否かを判定し（ステップＳ７１０）、ｙがｉｎ＿ｓｕｍ＿ｓｏｆａｒ［ｉｎｄｅｘ］より小さいと判定された場合には、ステップＳ７１４に進む。一方、ｙがｉｎ＿ｓｕｍ＿ｓｏｆａｒ［ｉｎｄｅｘ］以上であると判定された場合には、ステップＳ７１１に進み、ｏｕｔ［ｉｎｄｅｘ］に、ｉ−ｐｒｅｖ＿ｐｔを代入する。次に、ｐｒｅｖ＿ｐｔに、ｉを代入し（ステップＳ７１２）、ｉｎｄｅｘをインクリメントする（ステップＳ７１３）。ステップＳ７１４は、ループの終了を示す。増分がｉ＋＋で、終了条件は、ｉ＞ｄｅｌｔａｘである。
【００６２】
ステップＳ７０３で比率ｄが累積値ｓｕｍ以下（ｄ＜＝ｓｕｍ）であると判定された場合には、各変数の値を初期化し（ステップＳ７１５）、ループのカウンタｉに初期値０を代入する（ステップＳ７１６）。ステップＳ７１７乃至ステップＳ７２４は、ループ内の処理である。次に、ｅｒｒｏｒにｄｅｌｔａｙを加算し（ステップＳ７１７）、ｅｒｒｏｒがｄｅｌｔａｘより大きい（ｅｒｒｏｒ＞ｄｅｌｔａｘ）か否かを判定する（ステップＳ７１８）。ステップＳ７１８で、ｅｒｒｏｒがｄｅｌｔａｘより大きい（ｅｒｒｏｒ＞ｄｅｌｔａｘ）と判定された場合には、ステップＳ７１９に進む。
【００６３】
次に、ｙをインクリメントし（ステップＳ７１９）、ｅｒｒｏｒに、ｄｅｌｔａｙを加算する（ステップＳ７２０）。次に、Ｉがｉｎ＿ｓｕｍ＿ｓｏｆａｒ［ｉｎｄｅｘ］以上であるか否かを判定し（ステップＳ７２１）、Ｉがｉｎ＿ｓｕｍ＿ｓｏｆａｒ［ｉｎｄｅｘ］以上である場合には、ステップＳ７２２に進む。その後、ｏｕｔ［ｉｎｄｅｘ］にｙ−ｐｒｅｖ＿ｐｔを代入し（ステップＳ７２２）、ｐｒｅｖ＿ｐｔに、yを代入して（ステップＳ７２３）、ｉｎｄｅｘをインクリメントする（ステップＳ７２４）。ステップＳ７２５は、ループの終了を示す。増分がｉ＋＋で、終了条件はｉ＞ｄｅｌｔａｘである。
【００６４】
本実施形態によれば、ブレゼンハムの直線描画の計算手法を用いて比例配分の計算を整数演算のみで行うことにより、浮動少数点演算を必要としないため、低コストな計算機資源で、情報を埋め込むための演算を高速に実行することができる。
【００６５】
＜第４の実施形態＞
上述の第１乃至第３の実施形態では、ニアレストネイバー法や線形補間法等により文字を縮小したが、これらを単純に文書画像の左右方向にのみ適用した場合、文字の線幅（太さ）が上下方向と左右方向との間で異なるため、見た目が不自然になる可能性がある。これに対して、本実施形態では、縮小部は、文字を文字の並び方向に縮小した後、左右方向の線幅が文字の左右方向に対して垂直方向（上下方向）の線幅と同一となるように、文字の左右方向に画素を付加する点で異なる。すなわち、左右方向にのみ文字を縮小すると共に、文字の線幅を上下方向と左右方向との間で一定に保持するために、左右方向に画素を付加する。
【００６６】
文字の線幅が予め認識されている場合には、文字を縮小した際に細くなった分の左右方向の画素数を計算し、その分だけ文字を左右方向に太らせるように、黒画素を、黒画素と白画素の境界となる部分に付加する。
【００６７】
文字の線幅が予め認識されていない場合には、例えば、特公昭５９−４２９０６や特公昭６１−２２３７等に開示された技術に基づいて、自動的に文字の線幅を求めてもよい。  本実施形態によれば、文字幅を縮小することにより生じる文字の変形を簡易かつ確実に抑制することができる。
【００６８】
＜第５の実施形態＞
上述の第１乃至第４の実施形態では、文字幅を縮小する際の文字の変形を抑制するため、文字幅を縮小させることで確保できる文字間の距離には限界がある。一方、本実施形態では、他の文字間の距離に余裕があるか否かを調べ、余裕がある場合には、その余裕分を不足する文字間の距離の部分に配分するように、行に含まれる全ての文字の位置を変更することで情報の埋め込みに必要な文字間の距離を確保する。従って、本実施形態では、追加された処理を行っても文字間の距離が、なお不足する場合にのみ文字幅を縮小すればよい点で異なる。
【００６９】
図９は、第５の実施形態に係る情報埋め込み装置９００の機能的構成を示すブロック図である。情報埋め込み装置９００は、判別部９０１と、外接矩形抽出部９０２と、判定部９０３と、計算部９０４と、調整部９０５と、縮小部９０６と、文字位置変更部９０７と、を備える。
【００７０】
判別部９０１は、オリジナル文書画像中のテキスト領域や図又は写真等の領域からテキスト領域を判別する。ここで、オリジナル文書画像は、各画素の値が白又は黒である二値画像で構成されるものとする。
【００７１】
外接矩形抽出部９０２は、判別部９０１により判別されたテキスト領域内の各文字の外接矩形を抽出し、抽出した各外接矩形の位置とサイズに関する情報（外接矩形情報）を得る。これは、まず、水平方向の射影により行を抽出し、抽出された行毎に垂直方向の射影を用いて、文字を抽出するものである。
【００７２】
判定部９０３は、外接矩形情報に基づいて、文字間の距離が閾値より小さい箇所が有るか否かを判定する。すなわち、後述の文字間操作による情報埋め込み方式、並びに印刷及びスキャニングの特性を考慮して、情報を適切に埋め込むために、文字間の距離が十分であるか否かを判定する。
【００７３】
計算部９０４は、情報の埋め込み方式を考慮して、行毎に文字間の距離の不足分を計算する部分である。なお、情報を埋め込む際には、第１の実施形態と同様に行うものとする。
【００７４】
調整部９０５は、判定部９０３で文字間の距離が閾値より小さいと判定された文字が同じ行又は列内に存在する場合には、行又は列の他の文字において、文字間の距離が閾値以上であると判定された部位を検索する。該部位が有る場合には、閾値より小さいと判定された文字間の距離が閾値以上となるように該文字間の距離を調整する。すなわち、文字間の距離の不足分の計算結果から、その距離の不足する箇所に、文字間の距離に余裕がある分を配分するように、各行に含まれる全ての文字の位置をまとめて調整する。
【００７５】
縮小部９０６は、判定部９０３によって、文字間の距離が閾値以上であると判定された文字が同じ行又は列内に無い場合、又は調整部９０５によって、文字幅の不足分を補うことができない場合にのみ文字の並び方向のサイズを縮小する。すなわち、埋め込み対象の情報を適切に埋め込むことができないと判定された部分のために文字幅の縮小を行い、前処理済み文書画像を生成する。文字を縮小する際には、左右方向のみ縮小し、ニアレストネイバー法、線形補間法、ｂｉｃｕｂｉｃ法のいずれかを用いることとする。
【００７６】
文字位置変更部９０７は、前処理済み文書画像における、文字間の距離が閾値以上となった文字、縮小部９０６による縮小後の文字の位置を、埋め込み対象の情報に従って左右方向に変更し、情報が埋め込まれた文書画像を生成する。
【００７７】
図１０は、情報埋め込み装置９００の動作手順を示すフローチャートである。まず、判別部９０１において、オリジナル文書画像中のテキスト領域、図又は写真等の領域からテキスト領域を判別する（ステップＳ１００１）。次に、ステップ１００１で判別されたテキスト領域内の各文字の外接矩形を抽出し（ステップＳ１００２）、外接矩形情報を得る。次に、判定部９０３において、外接矩形情報に基づいて、文字間の距離が閾値より小さい箇所が有るか否かを判定し（ステップＳ１００３）、文字幅縮小箇所情報１を得る。この際、第１の実施形態で述べた情報埋め込み方式、並びに印刷及びスキャンによる誤差を考慮する。
【００７８】
次に、調整部９０５において、文字間の距離の不足分を調整し（ステップＳ１００４）、その距離に余裕のある箇所に関しては、行中に含まれるすべての文字の位置を左右方向に変更することにより、その距離の不足する箇所に必要な距離を補う処理をする。このようにして、前処理済み文書画像１、及び文字幅縮小箇所情報２を出力する。文字幅縮小箇所情報２は、文字幅縮小箇所情報１から、文字間の距離の不足分を調整することによって、文字幅を縮小する必要がなくなった項目を除いたものである。
【００７９】
次に、文字幅縮小箇所情報２に基づいて、前処理済み文書画像１中の文字幅を縮小し（ステップＳ１００５）、前処理済み文書画像２を得る。次に、前処理済み文書画像２に対して、埋め込み対象の情報に基づいて、文字の位置を変更し（ステップＳ１００６）、情報が埋め込まれた文書画像を出力する。
【００８０】
本実施形態によれば、文字幅を縮小する箇所を低減することにより、文字の不自然な変形をより確実に低減することができる。
【００８１】
＜第６の実施形態＞
上述の第５の実施形態では、判定部で文字間の距離が不足すると判定された場合に、同じ行の他の部位の文字間の距離に余裕が有る場合には、その余裕分を不足する部位に配分する処理を行った。一方、本実施形態では、判定部で文字間の距離が不足すると判定された場合に、同じ行の左右端部と出力用紙端部との間（余白部）に余裕がある場合にその行を余白部に拡張する処理を行う点で異なる。
【００８２】
図１１は、第６の実施形態に係る情報埋め込み装置１１００の機能的構成を示すブロック図である。情報埋め込み装置１１００は、判別部１１０１と、外接矩形抽出部１１０２と、判定部１１０３と、調整部１１０４と、縮小部１１０５と、及び文字位置変更部１１０６と、を備える。
【００８３】
判別部１１０１は、オリジナル文書画像中のテキスト領域や図又は写真等の領域からテキスト領域を判別する。ここで、オリジナル文書画像は、各画素の値が白又は黒である二値画像で構成されるものとする。
【００８４】
外接矩形抽出部１１０２は、判別部９０１により判別されたテキスト領域内の各文字の外接矩形を抽出する。これは、最初に、水平方向の射影により行を抽出し、抽出された行毎に垂直方向の射影を用いて、文字を抽出するものである。
【００８５】
判定部１１０３は、抽出した各外接矩形の位置とサイズに基づいて、文字間の距離が閾値より小さい箇所が有るか否かを判定する。文字間の距離が前記閾値より小さいと判定された場合には、行又は列の端部と出力用紙の端部との間の距離が閾値より大きいか否かを更に判定する。すなわち、外接矩形の抽出結果に基づいて、文字の位置を変更することによる情報埋め込み方式、並びに印刷及びスキャニングの特性を考慮して、情報を適切に埋め込むために、文字間の距離が十分であるか否かを判定する。
【００８６】
調整部１１０４は、判定部１１０３によって、行又は列の端部と出力用紙の端部との間の距離が閾値より大きいと判定された場合には、行又は列のテキスト領域を左右方向に拡張して、文字間の距離が閾値以上となるように、文字間の距離を調整する。すなわち、判定部１１０３で文字間の距離が十分でないと判定された文字のある行に対して、行の左右の余白部に行を拡張しても文書の体裁を崩さない場合には、その行に含まれる各文字の位置を左右方向に変更する部分である。これにより、行の幅を拡張し文字間の距離の不足分を得る。
【００８７】
縮小部１１０５は、行又は列の端部と出力用紙の端部との間の距離が閾値以下である場合にのみ、文字の並び方向のサイズを縮小する。すなわち、情報を適切に埋め込むことができないと判定された部分のために文字幅の縮小を行い、前処理済み文書画像を生成する。文字を縮小する際には、水平方向のみ行い、例えば、ニアレストネイバー法、線形補間法、ｂｉｃｕｂｉｃ法のいずれかを用いることとする。
【００８８】
文字位置変更部１１０６は、埋め込み対象の情報に応じて、前処理済み文書画像内の文字の位置を左右方向に変更することによって、情報が埋め込まれた文書画像を生成する。
【００８９】
図１２は、第６の実施形態に係る情報埋め込み装置１１００の動作手順を示すフローチャートである。
【００９０】
まず、判別部１１０１において、オリジナル文書画像中のテキスト領域や図又は写真等の領域からテキスト領域を判別する。（ステップＳ１２０１）。次に、判別部９０１により判別されたテキスト領域内の各文字の外接矩形を抽出し、外接矩形情報を出力する（ステップＳ１２０２）。次に、判定部１１０３において、抽出した各外接矩形の位置とサイズに基づいて、文字間の距離が閾値より小さい箇所が有るか否かを判定し（ステップＳ１２０３）、文字幅縮小箇所情報１を出力する。
【００９１】
次に、調整部１１０４において、行の左右の余白に文書の体裁を崩さないほどの十分な余裕がある場合には、行の中に含まれる各文字の位置を変更することによって行の幅を広げ（ステップＳ１２０４）、前処理済み文書画像１を生成する。ここで、文字幅縮小箇所情報１から、この処理により不要となったものを除去し、文字幅縮小箇所情報２を得る。
【００９２】
次に、縮小部１１０５において、文字幅縮小箇所情報２に基づいて、前処理済み文書画像１に対して文字幅を縮小する（ステップＳ１２０５）。最後に、文字位置変更部１１０６において、埋め込み対象の情報に基づいて、前処理済み文書画像２に対して文字の位置を変更し（ステップＳ１２０６）、情報が埋め込まれた文書画像を出力する。
【００９３】
本実施形態によれば、文字幅の縮小を低減することにより、文字の不自然な変形をより確実に抑制することができる。
【図面の簡単な説明】
【００９４】
【図１】第１の実施形態に係る情報埋め込み装置１００の機能的構成を示すブロック図である。
【図２】第１の実施形態の変形例に係る情報埋め込み装置２００の機能的構成を示すブロック図である。
【図３】第１の実施形態に係る画像処理手順を模式的に示す図である。
【図４】第１の実施形態に係る縮小部１０４の処理手順を示す図である。
【図５】第１の実施形態に係る情報埋め込み装置１００の動作手順を示すフローチャートである。
【図６】第２の実施形態に係る情報埋め込み装置の処理手順を示す図である。
【図７】第３の実施形態に係る情報埋め込み装置の動作手順を示すフローチャートである。
【図８】第１の実施形態に係る画像処理システム８００の構成図である。
【図９】第５の実施形態に係る情報埋め込み装置９００の機能的構成を示すブロック図である。
【図１０】第５の実施形態に係る情報埋め込み装置９００の動作手順を示すフローチャートである。
【図１１】第６の実施形態に係る情報埋め込み装置１１００の機能的構成を示すブロック図である。
【図１２】第６の実施形態に係る情報埋め込み装置１１００の動作手順を示すフローチャートである。
【図１３】第１の実施形態の変形例に係る情報埋め込み装置２００の動作手順を示すフローチャートである。
【符号の説明】
【００９５】
１００  画像処理装置
１０１  判別部
１０２  外接矩形抽出部
１０３  判定部
１０４  縮小部
１０５  文字位置変更部
【図１】
0004956366.tif 000002
【図２】
0004956366.tif 000003
【図３】
0004956366.tif 000004
【図４】
0004956366.tif 000005
【図５】
0004956366.tif 000006
【図６】
0004956366.tif 000007
【図７】
0004956366.tif 000008
【図８】
0004956366.tif 000009
【図９】
0004956366.tif 000010
【図１０】
0004956366.tif 000011
【図１１】
0004956366.tif 000012
【図１２】
0004956366.tif 000013
【図１３】
0004956366.tif 000014