(57)【要約】      （修正有）【課題】文書に埋め込まれた文字間透かし情報の有無を高速に判定する。【解決手段】ステップＳ２０３〜Ｓ２０６において、文書画像における文字間隔値を抽出して該文字間隔値のばらつきとして分散を算出する。そしてステップＳ２０７で、該算出された分散が、ステップＳ２０１で予め設定された閾値よりも小さい場合に、文書画像に文字間透かし情報が埋め込まれていると判定する。このように文字間隔値の分散を用いることにより、文字間透かし情報の有無を高速に判定できる。このとき、文書上の全部の文字でなく一部の文字の間隔値を用いて判定を行うことで、さらなる高速化が可能である。【選択図】図２
2010124451.tif 000002
【特許請求の範囲】
【請求項１】
文書画像に対し、文字間隔を利用した透かし情報が埋め込まれているか否かを判定する文書処理装置であって、
文書画像を入力する入力手段と、
前記文書画像における文字間隔値を抽出する文字間隔値抽出手段と、
前記文字間隔値のばらつきを算出する計算手段と、
前記計算手段で算出されたばらつきの値を、予め設定された閾値と比較することによって、前記文書画像に透かし情報が埋め込まれているか否かを判定する判定手段と、
を有することを特徴とする文書処理装置。
【請求項２】
前記文字間隔値抽出手段は、予め設定された数の文字間隔値を抽出する
ことを特徴とする請求項１に記載の文書処理装置。
【請求項３】
前記文字間隔値抽出手段は、前記予め設定された数の文字間隔値として、２の倍数個の文字間隔値を抽出する
ことを特徴とする請求項２に記載の文書処理装置。
【請求項４】
前記計算手段は、２個の文字間隔値を１ペアとしてその差を求め、各ペアにおける差についてのばらつきを算出する
ことを特徴とする請求項１乃至３のいずれか１項に記載の文書処理装置。
【請求項５】
前記判定手段は、前記ばらつきの値が前記閾値よりも小さく、かつ、前記各ペアにおける差の平均が予め設定された範囲内である場合に、前記文書画像に透かし情報が埋め込まれていると判定する
ことを特徴とする請求項４に記載の文書処理装置。
【請求項６】
前記計算手段は、予め設定された複数個の差の平均を求め、該平均を用いて前記ばらつきを算出する
ことを特徴とする請求項５に記載の文書処理装置。
【請求項７】
前記計算手段は、前記各ペアにおける差のうち、予め設定された適正差閾値を超えるものは前記ばらつきの算出対象から除外する
ことを特徴とする請求項５または６に記載の文書処理装置。
【請求項８】
前記判定手段は、前記ばらつきの値が前記閾値よりも小さい場合に、前記文書画像に透かし情報が埋め込まれていると判定する
ことを特徴とする請求項１乃至４のいずれか１項に記載の文書処理装置。
【請求項９】
前記判定手段で前記文書画像に透かし情報が埋め込まれていると判定された場合に、該透かし情報を抽出する透かし情報抽出手段を更に有する
ことを特徴とする請求項１乃至８のいずれか１項に記載の文書処理装置。
【請求項１０】
前記計算手段は、前記ばらつきとして分散を算出する
ことを特徴とする請求項１乃至９のいずれか１項に記載の文書処理装置。
【請求項１１】
前記計算手段は、前記ばらつきとして偏差もしくは標準偏差を算出する
ことを特徴とする請求項１乃至９のいずれか１項に記載の文書処理装置。
【請求項１２】
前記判定手段の判定結果に基づいて、前記文書画像の出力を制御する制御手段と、
前記制御手段による制御内容を表示する表示手段と
を更に有することを特徴とする請求項１乃至１１のいずれか１項に記載の文書処理装置。
【請求項１３】
前記透かし情報として、情報漏洩追跡用の透かし情報を埋め込んだ文書画像を印刷する印刷手段を更に備え、
前記判定手段の判定の結果、前記情報漏洩追跡用の透かし情報が前記入力手段で入力した文書画像に含まれる場合、該情報漏洩追跡用の透かし情報を抽出、分析することで、該文書画像の漏洩元を特定する
ことを特徴とする請求項１乃至１２のいずれか１項に記載の文書処理装置。
【請求項１４】
文書画像に対し、文字間隔を利用した透かし情報が埋め込まれているか否かを判定する文書処理方法であって、
文書画像を入力する入力ステップと、
前記文書画像における文字間隔値を抽出する文字間隔値抽出ステップと、
前記文字間隔値のばらつきを算出する計算ステップと、
前記計算ステップにおいて算出されたばらつきの値を、予め設定された閾値と比較することによって、前記文書画像に透かし情報が埋め込まれているか否かを判定する判定ステップと、
を有することを特徴とする文書処理方法。
【請求項１５】
文書画像に対し、文字間隔を利用した透かし情報が埋め込まれているか否かを判定する文書処理を、コンピュータに機能させるためのプログラムであって、
文書画像を入力する入力手段と、
前記文書画像における文字間隔値を抽出する文字間隔値抽出手段と、
前記文字間隔値のばらつきを算出する計算手段と、
前記計算手段で算出されたばらつきの値を、予め設定された閾値と比較することによって、前記文書画像に透かし情報が埋め込まれているか否かを判定する判定手段と、
して機能させることを特徴とするプログラム。
【請求項１６】
請求項１５に記載のプログラムを記憶したコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は文書処理装置および文書処理方法に関し、特に、文書画像に文字間隔を利用した透かし情報が埋め込まれているか否かを判定する文書処理装置および文書処理方法に関する。
【背景技術】
【０００２】
文書画像に著作権や複写制御等の情報を不可視な状態で持たせるため、文字間の空白長である文字間隔を微小に変更して情報を埋め込む方法が知られている（例えば、特許文献１参照）。以下、このように文字間隔を利用して埋め込まれた情報を文字間透かしと称する。
【０００３】
文字間隔を用いた情報埋め込み規則としては、例えば、まず、各文字の外接矩形と、その外接矩形間の距離、つまり、文字間隔値として、隣り合う１ペアＰ，Ｓを順次抽出し、ペアにおける各文字間隔の大小関係に応じて「０」または「１」を規定する。この「０」および「１」のデータ列により、文字間透かしを表現している。
【０００４】
このように文書画像に埋め込まれた文字間透かしは、以下のように抽出される。まず、各文字の外接矩形と、その外接矩形間の距離つまり文字間隔値Ｐ，Ｓを抽出し、文字間隔値Ｐ，Ｓのペア毎に、その大小関係を調べ、埋め込み時に使用した規則に従って、情報が「０」であるか「１」であるかを判定していく。そして、得られた「０」または「１」の情報を連結したデータ列を検証することによって透かし情報の有無をまず判定し、透かし情報が有ると判定された場合に、該情報を抽出する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２３２６７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来の文字透かしの埋め込み方法によれば、透かし情報の有無判定を行うためには、「０」と「１」のデータ列の抽出処理まで行う必要があり、非常に処理時間がかかってしまう。
【０００７】
例えば、複写機において透かし情報に基づく複写許可制御を行う場合、一連の複写動作に遅延が発生することを避けるために、透かし情報の有無判定はできるだけ短時間で行うことが要求される。
【０００８】
本発明は上述した問題を解決するためになされたものであり、文書画像に対して文字間透かし情報の有無を高速に判定可能とする文書処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するための一手段として、本発明の文書処理装置は以下の構成を備える。
【００１０】
すなわち、文書画像に対し、文字間隔を利用した透かし情報が埋め込まれているか否かを判定する文書処理装置であって、文書画像を入力する入力手段と、前記文書画像における文字間隔値を抽出する文字間隔値抽出手段と、前記文字間隔値のばらつきを算出する計算手段と、前記計算手段で算出されたばらつきの値を、予め設定された閾値と比較することによって、前記文書画像に透かし情報が埋め込まれているか否かを判定する判定手段と、を有することを特徴とする。
【発明の効果】
【００１１】
上記構成からなる発明によれば、文書画像に対して文字間透かし情報の有無を高速に判定することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態における文書処理装置の主要な機能構成を示すブロック図である。
【図２】第１実施形態における文字間透かし情報の有無判定処理を示すフローチャートである。
【図３】文字間透かし情報が埋め込まれた文書原稿例を示す図である。
【図４】第１実施形態における透かし入り原稿のばらつき計算例を示す図である。
【図５】第１実施形態における通常原稿のばらつき計算例を示す図である。
【図６】第１実施形態において、文書原稿上での文字間隔値の取得位置を制御する例を示す図である。
【図７】第２実施形態において、「句読点」について文字間隔制御を行わない例を示す図である。
【図８】第２実施形態における文字間透かし情報の有無判定処理を示すフローチャートである。
【図９】第２実施形態における透かし入り原稿のばらつき計算例を示す図である。
【図１０】第３実施形態における処理対象となる、透かし入り原稿例を示す図である。
【図１１】第３実施形態における文書処理装置の主要な機能構成を示すブロック図である。
【図１２】第３実施形態における文字間透かし情報の抽出処理を示すフローチャートである。
【図１３】第４実施形態におけるコンピュータシステムの基本構成を示すブロック図である。
【発明を実施するための形態】
【００１３】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１４】
＜第１実施形態＞
本実施形態においては、文書画像に対し、文字間隔を利用した文字間透かし情報が埋め込まれているか否かを高速に判定することを特徴とする。ここで、図３に、本実施形態における判定対象となる、文字間透かし情報の埋め込み例を示す。図３によれば、「電子透かし情報」という文字列に対し、２つの文字間隔値を使って１ビットの情報を埋め込む例を示している。
【００１５】
まず、ステップＳ１において、一般的な文字認識技術のひとつである文字外接矩形抽出技術等を利用して、各文字の外接矩形と、その外接矩形間の距離、つまり、文字間隔値Ｐ，Ｓを抽出する。次に、ステップＳ２において、ペアとなる文字間隔値Ｐ，Ｓが同じ値になるように正規化する。そして、ステップＳ３において、２値情報の「０」を埋め込む場合にはＰ＞Ｓとなるように、「１」を埋め込む場合にはＰ＜Ｓとなるように、文字を動かして文字間隔が制御されている。
【００１６】
具体的には、例えば、予め文字動作量Ｘを規定しておき、Ｐ＞Ｓとする場合にはＰ＝Ｐ＋Ｘ，Ｓ＝Ｓ−Ｘとし、Ｐ＜Ｓとする場合にはＰ＝Ｐ−Ｘ，Ｓ＝Ｓ＋Ｘとすることで、文字間隔制御を実現している。本実施形態では、処理対象となる文書において、図３に示すような文字間透かしの有無を高速に判定する。
【００１７】
図１は、本実施形態における文書処理装置の主要な機能構成を示すブロック図である。図１に示すように、本実施形態における文書処理装置は、原稿入力部１０１、文字抽出部１０２、文字間隔値抽出部１０３、計算部１０４、判定部１０５から構成される。原稿入力部１０１は、記録紙上の印刷画像や電子（ＰＤＦ等）画像に限らず文書画像を入力する。文字抽出部１０２は、入力した文書画像から文字部分のみを抽出する。文字間隔値抽出部１０３は、文字と文字の文字間隔値を抽出する。また、計算部１０４は、抽出した文字間隔値のばらつきを計算する。判定部１０５は、該計算結果に基づいて透かし情報の有無を判定する。
【００１８】
以下、本実施形態における文字間透かし情報の有無判定処理について、図２のフローチャートを用いて説明する。
【００１９】
まず、ステップＳ２０１において、判定部１０５が、文書画像に透かし情報が含まれるか否かの判定に用いる分散閾値Ａを設定する。この分散閾値Ａは、判定部１０５に保持しておけば良く、ここでは例として、分散閾値Ａを１．０とする。
【００２０】
次に、ステップＳ２０２において、原稿入力部１０１が、原稿としての文書画像を入力し、原稿データＩとして文字抽出部１０２に供給する。ここで、文書画像が紙原稿であるとすると、原稿入力部１０１は、電荷結合素子ＣＣＤまたは光学センサ等の読取ユニットを用いて文書画像を入力する。原稿入力部１０１は、画像入力指示に応じて、読取ユニットによる文書画像の撮影、電気信号処理、デジタル信号処理等を行って、原稿データＩを生成する。また、文書処理装置内において原稿データＩをＰＤＦ等のデータ形式で処理する場合は、原稿入力部１０１はその形式に従って処理を実行する。
【００２１】
そして、ステップＳ２０３において、文字抽出部１０２が、原稿データＩから文字部分を抽出する。さらに、ステップＳ２０４において、文字間隔値抽出部１０３が、該抽出した文字の文字間隔値を順次抽出する。この際、原稿データＩの全ての文字と文字間隔値を抽出する必要は無く、高速化のために予め定めた文字数、および該文字数に対応する文字間隔値を抽出するように設定にしておいても良い。
【００２２】
なお、本実施形態で抽出対象としている文字間透かし情報は、２つの文字間隔の大小関係によって情報を埋め込んでいるため、２つの文字間隔値を１ペアとして、全Ｎペアにおける２Ｎ個の文字間隔値を取得する必要がある。つまり、文字間隔値としては２の倍数個を取得すべきであり、２個が最低個数となる。以下では説明を簡便とするために、ある１行中の１２個の文字間隔値を抽出する例について説明する。
【００２３】
本実施形態における文字間隔値の定義としては、文字と文字の間の空白部分であっても良いし、一つの文字の幅部分と空白部分の幅との和を一つの文字間隔値としても良く、装置内の処理を鑑みて最適な定義を設定すれば良い。
【００２４】
以上のように、ステップＳ２０４で文字間隔値を抽出すると、次にステップＳ２０５及びステップ２０６において、計算部１０４が、文字間隔値のばらつきを計算する。詳細には、ステップＳ２０５において、計算部１０４が、ペアとなる文字間隔値ごとに２つの文字間隔値の差を算出する。ステップＳ２０６において、計算部１０４が、この差におけるばらつきを計算する。
【００２５】
ここで、本実施形態におけるばらつき計算の具体例を示す。本実施形態では、ばらつき計算として分散を用いることとし、以下、文字間透かしの有無に応じた分散の算出例を示す。
【００２６】
図４に、文字間透かしが埋め込まれた文書画像における分散の算出例を示す。文字間隔値として順に１７，１０，１２，２０，・・・が抽出されたとすると、ペアごとに２つの文字間隔値の差（絶対値）を算出すると、順に７，８，８，８，・・・となる。図４に示す例は、上述した文字動作量Ｘを４に設定した場合であるため、ペアとなる文字間隔ＰとＳの差は２Ｘとなり、理論上は８となるはずであるが、コピーによる文字の太り等の影響により、この差の平均Ａｖｅとして７．６７が得られる。これらの差毎に、この平均Ａｖｅを用いて偏差の２乗の平均を計算することによって、分散Ｖとして０．２２が得られる。
【００２７】
ここで、差の平均Ａｖｅを、先頭から複数個の差によって算出することで、分散Ｖの算出を高速化することができる。例えば、図４にある「差」の先頭からの３値である７，８，８を用いて平均Ａｖｅを算出し、以降の偏差の計算にはこの平均Ａｖｅを用いることで、すべての差の値が抽出されるのを待つこと無しに、偏差の計算を開始することができる。つまり、各文字間隔値によるシーケンシャルな処理を効率的に行うことができ、処理の高速化が図れる。
【００２８】
一方、原稿入力部１０１に透かし情報を有さない（文字間隔が操作されていない）通常原稿が入力される場合もある。このように、文字間透かしが埋め込まれていない文書画像における分散結果の一例を図５に示す。文字間隔値として順に１３，１４，１５，１７，・・・が抽出されたとすると、ペアごとに２つの文字間隔値の差（絶対値）を算出すると、順に１，２，４，・・・となる。この場合、この差の平均Ａｖｅは３．０となる。これらの差毎に、この平均Ａｖｅを用いて偏差の２乗の平均を計算することによって、分散Ｖとして６.０が得られる。
【００２９】
このように、一般に文字間透かしの有無に応じて、ペアごとの文字間隔値の差の分散が異なってくる。すなわち、文字間透かしが有る場合には分散は相対的に小さく、文字間透かしがない場合には分散は相対的に大きくなる傾向がある。
【００３０】
そこで、ステップＳ２０７において、判定部１０５が、ステップＳ２０６で算出した分散Ｖを、ステップＳ２０１で設定した分散閾値Ａ＝１．０と比較する。そして、Ｖ＜Ａである場合（ステップＳ２０７でＹＥＳ）、ステップＳ２０８で「透かし情報有り」と判定する。一方、Ｖ＜ＡでなければステップＳ２０９で「透かし情報無し」と判定する。
【００３１】
また、ステップＳ２０１における分散閾値設定の際には、コピーを繰り返した原稿においては文字自体の太り、つまり、文字間隔値が狭まることもあるので、その点も考慮して閾値を設定すると良い。
【００３２】
さらに判定精度を上げるために、差の平均Ａｖｅに閾値を設けることも有効である。すなわち、ステップＳ２０１において、分散閾値Ａだけでなく、平均Ａｖｅの閾値Ｂも設定しておく。そして、例えば、文字動作量Ｘ＝４であれば、コピーによる文字太りも考慮し、平均Ａｖｅとして２Ｘ＝８に対してマージンを持たせ、閾値Ｂを６〜１０の範囲に設定しておく。そして、ステップＳ２０７において、平均Ａｖｅが平均閾値Ｂの範囲内（６＜Ａｖｅ＜１０）であるという第１の条件と、分散Ｖが分散閾値Ａより小さい（Ｖ＜Ａ）という第２の条件を考慮する。すなわち、第１および第２の条件の両方を満足する場合に、ステップＳ２０８で「透かし情報有り」と判定するようにすれば良い。
【００３３】
なお、本実施形態で説明した文字間透かしの有無判定に対する、さらなる性能向上策について、図６（ａ）を用いて説明する。図６（ａ）に示す文書画像６０１において、文字間隔値を取得するブロックを、主走査方向の矢印Ａ，Ｂ，Ｃで示したように複数の箇所に設定しておくことが有効である。その際の文字間透かしの有無の判定方法としては、矢印Ａ，Ｂ，Ｃの少なくとも一つ、もしくは全てにおいて、得られた分散が分散閾値Ａより低い場合に「透かし情報有り」と判定することが考えられる。
【００３４】
また、矢印Ａ、Ｂ、Ｃについて、簡単に説明するために、本実施形態では、これら３箇所を明示して説明しているが、実際には、矢印Ａ、Ｂ、Ｃ以外にも副走査方向に矢印は存在する。よって、副走査方向に４つ以上、周期的かつ離散的に矢印が点在している場合もここでの説明内容に含まれる。また点在する矢印の数は、原稿のサイズ（Ａ４、Ａ３等）に応じて適宜変化させるべきである。
【００３５】
もし、矢印Ａ、Ｂ、Ｃ、…の少なくとも一つにおける分散が分散閾値Ａより低い場合に「透かし情報有り」と判定するモード（第１モードとする）を採用することを想定する。この場合、文書画像中の一部にでも透かし情報が埋め込まれていそうなブロック（文字列）を検出できたときに「透かし情報有り」と判定することができる。即ち、この判定は、透かし情報の存在について反応性が良い判定である。
【００３６】
一方、もし、矢印Ａ、Ｂ、Ｃ、…の全てにおいて、得られた分散が分散閾値Ａより低い場合に「透かし情報有り」と判定するモード（第２モードとする）を採用すると想定する。この場合、文書画像中の全てに透かし情報が埋め込まれていないと「透かし情報有り」と判定しない。よって、この判定は、透かし情報の存在について反応性は悪い。しかしながら、「透かし情報有り」と誤判定してしまうことによる後段の無駄な処理を発生することを抑制することができるという効果がある。
【００３７】
また、本実施形態では、上記第１モードと第２モードの設定あるいは切替を、ユーザが必要に応じて、所定の入力・指示部から入力・指示することができる。
【００３８】
なお、上記第１、第２モードとして説明した判定方法の更なる改良として、以下のような判定方法（第３モード）を利用することも有効である。本実施形態では、第１、第２モードの代わりとして、またはこれらモードと並列して第３モードが利用できる。第３モードでは、矢印Ａ、Ｂ、Ｃ、…のうち、得られた分散が分散閾値Ａより低いものが、所定の割合以上あった場合に「透かし情報有り」と判定する。
【００３９】
具体例として、副走査方向に点在する矢印（Ａ、Ｂ、Ｃ、…）が２０個からなり、かつ、各矢印の部分で得られた分散が分散閾値Ａより低いものが１０個あった場合を考える。この場合、「透かし情報有り」と判定された判定箇所（矢印）は５０％であり、所定の割合（ここでは４０％とする）を超えていると判定する。注目する点は、この第３モードにおいては、上記閾値の役割となる割合（４０％）をユーザによって変更することができる点である。よって、この割合を０．０１％とすれば、第１モードと同様の判定もできる。また、この割合を９９．９％とすれば第２モードと同様の判定もできる。この第３モードの判定基準となる割合の設定は、上述した所定の入力・指示部からユーザが入力・指示できる。
【００４０】
以上においては、副走査方向に複数個の判定箇所（矢印Ａ、Ｂ、Ｃ、…）を配置することを説明したが、より精度の高い判定をするためには、主走査方向へも離散的に判定箇所（矢印）を配置することが好ましい。具体的には、矢印Ａで示す判定領域と同ラインにおいて、矢印Ａとは少し離れた位置に存在する矢印Ａ’を配置する。同じく、矢印Ｂで示す判定領域と同ラインにおいて、矢印Ｂとは少し離れた位置に存在する矢印Ｂ’を配置する。同様に、矢印Ｃ’を配置する。不図示の他の矢印Ｚ（Ｚは変数）についても、同様に矢印Ｚ’を配置する。
【００４１】
そして、これら全ての矢印について、それぞれ上述した「透かし情報有り」であるか「透かし情報無し」であるかの判定を行う。そして、各矢印に対する判定結果は、上述した第３モードの判定手法に基づいて、文書画像の全体として「透かし情報有り」であるか「透かし情報無し」であるかの判定が行われる。このようにすることにより、主走査方向と副走査方向の２次元方向において、離散的に透かし情報の有無を判定することになり、判定の精度はより高くなるであろう。
【００４２】
更に、ユーザには予想できない構造の文書画像にも対応するために、図６（ｂ）の矢印のようにランダムな位置から文字間隔値を取得する方法も有効である。この場合、文書画像６０２におけるＤの領域内（換言すれば、各行の最後尾に相当する領域）に該当する矢印からの文字間隔値の取得は注意を要する。背景技術として説明した図３の文字間透かし方法において、一行の文字数が偶数個であれば、最後の文字とその前の文字の間隔値は分散の計算から除外する必要がある（埋め込み時にこの２つの文字は動かしていないため）。
【００４３】
そのために、一行の文字数を行頭（図６では左端）からあらかじめ数え、結果が偶数であれば、この最後の文字間隔値を計算から除外する処理を行う。これにより正確な分散の計算が行える利点がある。もしくは、行末（図６では右端）から行頭に向けて処理を行う場合、次のような判定を行なう。つまり、「１．行末から数え最初の文字間隔値からペアを作っていき分散を計算して判定した判定結果」と、「２．行末から数え２番目の文字間隔値からペアを作っていき分散を計算して判定した判定結果」とを求める。そして、これらの１と２における判定結果の内、いずれかが「透かし情報有り」と判定できれば、最終的に「透かし情報有り」と判定するようにすればよい。これにより、一行全体の文字間隔値を数える必要がないので高速に透かし情報有無の判定が行えるという利点がある。
【００４４】
以上説明した様に第１実施形態によれば、文書画像における文字間隔のばらつきに基づいて文字間透かし情報の有無を判定する。したがって、文書画像に対して実際に埋め込まれた値をデータ列として抽出・検証する場合と比べて、高速かつ確実に、文字間透かし情報の有無を判定することが可能となる。
【００４５】
これにより、文字間透かしの有無によって入力文書に対する処理を切り替えるシステムにおいて、適切な処理が高速に行えるため、システム全体としての処理効率が向上する。例えば、複写機において文字間透かしに基づく複写許可制御を行う場合にも、複写動作を遅延させることがない。
【００４６】
＜第２実施形態＞
以下、本発明に係る第２実施形態について説明する。第２実施形態は、上述した第１実施形態の変形例として実現される。すなわち、第１実施形態では、１文字おきに文字を動かして文字間隔を制御することで、文字間透かしを埋め込んだ文書画像を処理する例を示している。第２実施形態では、「句読点」等については意図的に文字間隔制御を禁止する文書画像を処理対象とする。
【００４７】
例えば、図７に示すように、動かす対象文字が「句読点」等である場合には、これを動かしてしまうと、場合によっては句読点が右にずれて右横の外接矩形に近づき、文書に違和感が生じてしまう。このような場合、句読点を意図的に動かさないことで、むしろ文書品質を維持することができる。このように「句読点」等を動かさない文書画像を処理対象とした場合、第１実施形態によって文字間透かし情報を抽出すると、以下のような不具合が発生する。すなわち、該動かさない文字の前後の文字間隔値（図７ではＰ２とＳ２）を含んで分散が算出されるため、文字間透かしの有無判定を誤ってしまう可能性がある。そこで、第２実施形態では、文字間透かし情報の抽出時に、「句読点」等については移動されないものとして検出を行い、この部分については文字間透かし情報抽出を禁止することを特徴とする。
【００４８】
以下、第２実施形態における文字間透かし有無の判定処理について、特に上述した第１実施形態との相違点を中心に説明する。なお、第２実施形態における文書処理装置の構成は、上述した第１実施形態における図１と同様であるため、ここでは説明を省略する。
【００４９】
図８は、第２実施形態における文字間透かし情報の有無判定処理を示すフローチャートである。
【００５０】
まず、ステップＳ８０１において、判定部１０５が、文書画像に透かし情報が含まれるか否かの判定に用いる分散閾値Ａと、文字間隔値の適正な差を選択するための適正差閾値Ｂを設定する。この分散閾値Ａおよび適正差閾値Ｂは、第１実施形態と同様に、判定部１０５に保持しておけば良く、ここでは例としてＡ＝１．０、Ｂ＝２０とする。
【００５１】
次に、ステップＳ８０２〜Ｓ８０５において、第１実施形態のステップＳ２０２〜Ｓ２０５と同様に、入力された原稿から文字部分を抽出して、文字間隔値を取得し、さらにペアとなる文字間隔値ごとに２つの文字間隔値の差を算出する。
【００５２】
ここでは、例として、図９に示すように、ある１行中の１２個の文字間隔値を抽出するとし、この中に句読点部分が含まれているとする。すなわち、文字間隔値として順に１７，１０，１２，２０，・・・，１０，６０が抽出されたとすると、ペアごとに２つの文字間隔値の差（絶対値）を算出すると、順に７．０，８．０，・・・，７．０，５０．０となる。この場合、最後の２つの文字間隔値１０と６０が読点部分に相当し、その差は５０．０である。
【００５３】
以上のように、ステップＳ８０５において、ペア毎の差が算出されると、次に、ステップＳ８０６及びステップＳ８０７において、この差におけるばらつきを計算する。すなわち、まずステップＳ８０６で、各差をステップＳ８０１で設定した適正差閾値Ｂ＝２０と比較することにより、適正な差を選別する。具体的には、例えば、図９に示す各差のうち、適正差閾値Ｂ＝２０を超えるもの、すなわち「５０．０」を、ばらつきの算出対象から除外する。そして、ステップＳ８０７において、残った差（図９の黒枠内）を用いて、第１実施形態と同様に分散Ｖを計算する。図９に示す例においては、５０．０を除外した差から平均Ａｖｅを算出することによって、分散Ｖとして０．２４が得られる。
【００５４】
そして、ステップＳ８０８において、判定部１０５において、ステップＳ８０７で算出した分散Ｖ＝０．２４を、ステップＳ２０１で設定した分散閾値Ａ＝１．０と比較する。この場合、Ｖ＜Ａであるため、ステップＳ８０９において、「透かし情報有り」と判定する。一方、Ｖ＜Ａでない場合、ステップＳ８１０において、「透かし情報無し」と判定して、処理を終了する。
【００５５】
なお、第２実施形態では、不適正な差を除外し、残った差を用いて分散を計算する例を示しているが、これに限定されず、除外した分の文字間隔の数を補充してから、平均、分散を計算するようにしても良い。
【００５６】
また、除外対象となる差を決定する方法としても、第２実施形態のように、差の値によって決定する以外に、文字間隔値もしくは分散の値に基づいて、除外対象を決定するようにしても良い。
【００５７】
また、第２実施形態では「句読点」によって文字間隔の差が大きくなる場合の対策を示したが、別の課題として、「カンマ」等、文字間隔の差が小さくなる場合や、文書上のノイズや追記等によって不適当な文字間隔値を取得してしまう場合が考えられる。その対策としては、ステップＳ８０６で適正な差を選別する際に、複数の差のうち、中間に該当する差を選別して利用することが考えられる。例えば、６個の文字間隔値の差が７，８，８，７，２，５０であった場合、最大値である５０と最小値である２を省いた残り４個の値（７，８，８，７）を用いて、分散を計算する。これにより、より適切な分散を算出することができ、透かし情報有無の判定の信頼度を向上させることができる。なお、ここでは中間に該当する値を用いる例を示したが、除外対象を最小値のみまたは最大値のみとする当、ユースケースに応じて不適切な差の除外基準を設定すれば良い。
【００５８】
以上説明した様に、第２実施形態によれば、文書品質を保つために「句読点」等については文字間隔制御を禁止する文書画像についても、高速かつ確実に透かし情報の有無を判定することができる。
【００５９】
なお、第１および第２実施形態においては、計算部１０４において分散を算出し、判定部１０５で閾値と比較する例を示したが、偏差や標準偏差等、入力値のばらつきを示す値であれば分散に代えて適用可能である。
【００６０】
また、第１および第２実施形態においては、図３に示すような、１ペアの文字間隔の大小関係によって透かし情報が埋め込まれた文書画像を処理対象として説明した。しかしながら、本発明において処理対象となりうる文書画像における文字間透かしは、他の方法によって埋め込まれていても良い。例えば、最初の文字間隔を基準文字間隔として、この基準文字間隔と他の文字間隔との差分によって順次情報を埋め込む等、文字間隔を操作して透かし情報を埋め込む方法であれば本発明は適用可能である。
【００６１】
また、第１および第２実施形態では横書きの文書画像に対して文字間透かしの有無判定を行う例を示したが、縦書きの文書に対しても本実施形態が同様に適用できることは言うまでもない。
【００６２】
＜第３実施形態＞
以下、本発明に係る第３実施形態について説明する。第３実施形態においては、上述した第１および第２実施形態による透かし情報の有無判定処理を、実際の透かし情報の抽出時に利用する例を示す。
【００６３】
図１１（ａ）は、第３実施形態における文書処理装置の主要な機能構成を示すブロック図であり、上述した第１実施形態で図１と同様の構成には同一番号を付し、説明を省略する。図１１においては、判定部１０５の指示に応じて透かし情報の抽出を行う透かし情報抽出部１０６を備えることを特徴とする。
【００６４】
図１２は、第３実施形態における文字間透かし情報の抽出処理を示すフローチャートである。
【００６５】
ここでは、入力画像として図１０に示す形式の文書画像１００１を想定し、該文書画像１００１に対して透かし情報の抽出を行う例を示す。文書画像１００１には、文字列Ｄから文字列Ｅまでの文書領域Ｂにのみ文字間透かし情報が埋め込まれており、残る標題Ａおよび文書領域Ｃの文字列には透かし情報は埋め込まれていないものとする。
【００６６】
まず、ステップＳ１２０１において、判定部１１０５が、第１実施形態と同様に、文書画像に透かし情報が含まれるか否かの判定に用いる分散閾値Ａを設定する。この分散閾値Ａは、判定部１１０５に保持しておけば良く、ここでは例としてＡ＝１．０とする。
【００６７】
次にステップＳ１２０２において、原稿入力部１１０１が、原稿として図１０に示す文書画像１００１を入力し、原稿データＩとして文字抽出部１１０２に供給する。
【００６８】
そして、ステップＳ１２０３において、文字抽出部１０２が、原稿データＩを文字認識技術を利用してブロック分割し、該ブロック分割された領域から文字列を切り出す、所謂行切りを行う。例えば、図１０に示す文書画像１００１であれば、ブロック分割によって標題Ａ，文書領域Ｂ，文書領域Ｃが抽出され、さらに行切りにより、標題Ａである文字列、文書領域Ｂ内の文字列ＤからＥまで、文書領域Ｃ内の文字列Ｆ以降、の各行が抽出される。
【００６９】
続いて、ステップＳ１２０４において、文字抽出部１１０２が、まず、最初の一行分（図１０では標題Ａ）について、各文字の外接矩形を抽出（文字切り）する。この際、行内の全ての文字と文字間隔値を抽出する必要は無く、高速化のために予め定めた文字数、および該文字数に対応する文字間隔値を抽出するように設定にしておいても良い。そして、ステップＳ１２０５において、文字間隔値抽出部１１０３が、該抽出した文字の文字間隔値を順次抽出する。
【００７０】
以上のように、ステップＳ１２０５で文字間隔値を抽出すると、次にステップＳ１２０６及びステップＳ１２０７において、計算部１１０４が、文字間隔値のばらつきを計算する。詳細には、ステップＳ１２０６において、計算部１１０４が、ペアとなる文字間隔値ごとに２つの文字間隔値の差を算出する。ステップＳ１２０７において、計算部１１０４が、この差における分散Ｖを算出する。
【００７１】
次に、ステップＳ１２０８において、判定部１１０５が、分散Ｖと分散閾値Ａを比較する。この場合、図１０に例示する標題Ａには透かし情報は入っていないため、分散Ｖ＞分散閾値Ａとなり、ステップＳ１２１０に進む。ステップＳ１２１０において、判定部１１０５が、現在の処理行が最後の行であるか否かを判定し、最後の行ではないためステップＳ１２０４に戻る。
【００７２】
ステップＳ１２０４において、図１０に示す標題Ａの次の行である文字列Ｄの一行分について、各文字の外接矩形を抽出する。
【００７３】
この場合、図１０において文字列Ｄを含む文書領域Ｂには透かし情報が入っている。そのため、ステップＳ１２０５〜Ｓ１２０７によって算出される分散Ｖは、ステップＳ１２０８で分散Ｖ＜分散閾値Ａとなる。この場合、ステップＳ１２０９に進み、透かし情報抽出部１０６が、判定部１０５の指示に従って、文字列Ｄから透かし情報の抽出を行う。その後、ステップＳ１２１０に進み、最後の行の処理が終了するまで、ステップＳ１２０４からの処理を繰り返す。
【００７４】
このように、第３実施形態によれば、最後の行まで一行ずつ、透かし情報の有無判定を行い、透かし情報が有ると判定された行のみに対し、透かし情報の抽出を試みる。例えば、図１０に示す例では、透かし情報を含む文書領域Ｂの文字列のみに対して情報抽出を試み、透かし情報を含まない標題Ａと文書領域Ｃに対しては情報抽出を行わない（禁止する）。
【００７５】
なお、第３実施形態では一行ずつ透かし情報の有無判定を行う例を示しているが、これに限定されず、各文書領域の最初の行だけについて、判定を行っても良く、これにより、処理全体を更に高速化できる。例えば、図１０に例示した文書画像１００１であれば、まず、文書領域Ｂの先頭文字列Ｄを判定し、該判定結果が「透かし情報有り」であれば、文書領域Ｂ全体に対して一気に透かし情報の抽出を行う。そして、次に、文書領域Ｃの先頭文字列Ｆを判定し、判定結果が「透かし情報無し」であれば、そこで処理を終了する。
【００７６】
以上説明した様に第３実施形態によれば、同一文書画像内で透かし情報が入っている領域と、入っていない領域が混在している場合にも、透かし情報が入っている領域を高速に特定し、効率的な情報抽出を行うことが可能である。
【００７７】
＜第４実施形態＞
本実施形態では、第１乃至３実施形態の文書処理装置を組み込んだ、複合機（ＭＦＰ：Multi Function Peripheral）の制御について説明する。本実施形態で説明しない動作については、上述の第１乃至３実施形態で説明した動作を行っているものとする。
【００７８】
図１１（ｂ）は、本実施形態における文書処理装置の主要な機能構成を示すブロック図である。図１１（ｂ）は、図１（ａ）の機能構成に対して、ＭＦＰ制御部１１０７、プリンタ等の出力部１１０８、表示部１１０９が追加されている。
【００７９】
ＭＦＰのユースケースの一例として、不正コピー防止機能がある。これは、機密文書等に透かし情報を埋め込んでおき、無条件にコピーさせることを防ぐ機能である。
【００８０】
まず、ユーザは、ＭＦＰを使って文書のコピーを実行する。具体的には、スキャナとなる原稿入力部１１０１に文書をセットし、表示部１１０９を用いてコピー処理の指示を行う。
【００８１】
その後の処理は、第１及び第２実施形態と同様に透かし情報の有無の判定を行う（図２のフローチャート）。ここでは、詳細説明は割愛し、判定部１１０５での透かし情報の有無の判定後の処理を説明する。
まず、判定部１１０５で、「透かし情報有り」と判定された場合は、透かし情報抽出部１１０６は、文書画像全体の透かし情報の抽出を行い、その透かし情報をＭＦＰ制御部１１０７に通知する。ＭＦＰ制御部１１０７では、透かし情報から機密文書であると判定した場合は、コピー処理を強制終了する。そして、表示部１１０９に、例えば、「コピー禁止文書です」のような通知を表示する。別の方法として、判定部１１０５で「透かし情報有り」と判定された段階で、ＭＦＰ制御部１１０７で機密文書であると判定するようにしてもよい。
【００８２】
一方、判定部１１０５で「透かし情報無し」と判定された場合は、透かし情報抽出部１１０６は、その結果をＭＦＰ制御部１１０７に通知する。次に、ＭＦＰ制御部１１０７では、「透かし情報無し」なので機密文書でないと判定し、出力部１１０８より、原稿入力部１１０１で読み取った文書画像をそのまま出力する。つまり、コピー処理を実行する。表示部１１０９には、例えば、「コピー終了」のような通知を表示する。
【００８３】
ＭＦＰでのその他のユースケースとしては、機密文書の情報漏洩追跡がある。これは、機密文書等に透かし情報として、印刷日時、印刷者、配布先者、ＭＦＰ個体番号等の情報漏洩追跡用（印刷元特定用）の透かし情報を埋め込んだ文書画像を印刷する。そして、機密文書が外部に漏洩し、その後、文書が入手できれば、ＭＦＰを使って本発明による「透かし情報有無」を判定し、判定の結果、「透かし情報有り」となったら、文書全体から透かし情報を抽出、分析することで漏洩元を追跡（特定）できる。印刷者等の漏洩元を追跡する一連の情報をＩＤ番号で管理できるのであれば、透かし情報としてＩＤ番号だけを埋め込む方法でもよい。
【００８４】
以上説明した様に、第４実施形態によれば、第１乃至第３実施形態の構成を利用することで、不正コピー防止機能や情報漏洩追跡機能を高速に実現することができる。具体的には、透かし情報の有無の判定結果に基づいて、文書画像を出力する制御の制御内容を表示部に通知することができる。
【００８５】
＜第５実施形態＞
以下、本発明に係る第５実施形態について説明する。第５実施形態においては、上述した第１乃至第４実施形態に係る処理を、コンピュータシステムにおいて行なうことを特徴とする。
【００８６】
図１３は、第５実施形態におけるコンピュータシステムの基本構成を示すブロック図である。このコンピュータシステムにおいて、上述した各実施形態における全ての機能を実行させるには、各機能構成をプログラムにより表現し、このコンピュータシステムに読み込ませることになる。
【００８７】
図１３において、１３０１はＣＰＵであり、ＲＡＭ１３０２やＲＯＭ１３０３に格納されているプログラムやデータを用いて、システム全体の制御を行うと共に、上述した各実施形態で説明した各処理を行なう。１３０２はＲＡＭであり、外部記憶装置１３０８からロードされたプログラムやデータ、他のコンピュータシステム１３１４からＩ／Ｆ（インターフェース）１３１５を介してダウンロードしたプログラムやデータを一時的に記憶するエリアを備える。ＲＡＭ１３０２はまた、ＣＰＵ１３０１が各種の処理を行なうために必要とする作業用エリアを備える。１３０３はＲＯＭであり、コンピュータシステムにおける機能プログラムや設定データ等を記憶する。
【００８８】
１３０４はディスプレイ制御装置であり、画像や文字等をディスプレイ１３０５に表示させるための制御を行なう。１３０５はディスプレイであり、画像や文字などを表示する。なお、ディスプレイ１３０５としてはＣＲＴや液晶画面などが適用可能である。１３０６は操作入力デバイスであり、キーボードやマウス等、ＣＰＵ１３０１に各種のユーザ指示を入力可能なデバイスにより構成される。１３０７は、操作入力デバイス１３０６を介して入力された各種の指示等を、ＣＰＵ１３０１に通知するためのＩ／Ｏである。１３０８は、ハードディスク等の大容量情報記憶装置として機能する外部記憶装置であり、ＯＳ（オペレーティングシステム）や上記各実施形態に係る処理をＣＰＵ１３０１に実行させるためのプログラム、入出力原稿画像、等を記憶する。外部記憶装置１３０８への情報の書き込みや、外部記憶装置１３０８からの情報の読み出しは、Ｉ／Ｏ１３０９を介して行われる。
【００８９】
１３１０は文書や画像を印刷出力するためのプリンタであり、出力データはＩ／Ｏ１３１１を介してＲＡＭ１３０２、もしくは外部記憶装置１３０８から送られる。なお、プリンタ１３１０としては、例えばインクジェットプリンタ、レーザビームプリンタ、熱転写型プリンタ、ドットインパクトプリンタなどが挙げられる。１３１２は文書や画像を読み取るためのスキャナであり、入力データはＩ／Ｏ１３１３を介してＲＡＭ１３０２、もしくは外部記憶装置１３０８に送られる。そして１３１６は、ＣＰＵ１３０１、ＲＯＭ１３０３、ＲＡＭ１３０２、Ｉ／Ｏ１３１１、Ｉ／Ｏ１３０９、ディスプレイ制御装置１３０４、Ｉ／Ｆ１３１５、Ｉ／Ｏ１３０７、Ｉ／Ｏ１３１３を繋ぐバスである。
【００９０】
以上説明したように第５実施形態によれば、上述した第１乃至第４実施形態で示した文字間透かし情報の有無判定、および透かし情報の検出処理を、コンピュータシステムにおいて実現することが可能となる。
【００９１】
なお、第５実施形態では、上記第１乃至第４実施形態の機能を実現するためのプログラムを用意し、これをＣＰＵ９０１の制御の下に実行する例を示したが、その一部を専用のハードウェア回路等によって実現するようにしても良い。この専用ハードウェア回路としては、スキャナ１３１２やプリンタ１３１０等の外部装置内に備えられたものを適用することも可能である。
【００９２】
なお、上記各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００９３】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体（コンピュータ可読記憶媒体）を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が、そのプログラムを読み出して実行する処理である。
【図１】
2010124451.tif 000003
【図２】
2010124451.tif 000004
【図３】
2010124451.tif 000005
【図４】
2010124451.tif 000006
【図５】
2010124451.tif 000007
【図６】
2010124451.tif 000008
【図７】
2010124451.tif 000009
【図８】
2010124451.tif 000010
【図９】
2010124451.tif 000011
【図１０】
2010124451.tif 000012
【図１１】
2010124451.tif 000013
【図１２】
2010124451.tif 000014
【図１３】
2010124451.tif 000015