(57)【要約】【課題】  高い精度の文字画像の検出を必要とせず、画像に埋め込んだ情報のビット数と、画像から抽出したビット数が高い精度で一致させることを可能にする。【解決手段】  文章が記述された原稿画像データを解析し、有意な画素の集合の２次元的範囲を示す外接矩形を検出し、各外接矩形の座標と大きさを示す外接矩形情報を抽出する（ステップＳ３０２ａ）。そして、得られた外接矩形情報に基づき、文字画像の並ぶ行を特定し、当該１行分のイメージデータの領域を、埋め込むべきビット数で分割する（ステップＳ３０２ｃ）。この分割された各領域を埋め込み単位として決定する。【選択図】  図１０
2008098946.tif 000002
【特許請求の範囲】
【請求項１】
文章が記述された原稿画像中に透かし情報を埋め込む画像処理装置であって、
原稿画像データを入力する入力手段と、
入力した原稿画像データを解析し、有意な画素の集合の２次元的範囲を示す外接矩形を検出し、各外接矩形の座標と大きさを示す外接矩形情報を抽出する画像解析手段と、
該画像解析手段で得られた外接矩形情報に基づき、文字画像の並ぶ行を特定し、当該１行分のイメージデータの領域を分割する分割手段と、
該分割手段で分割した分割領域を単位に、透かし情報を埋め込む埋め込み手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記埋め込み手段は、分割領域内のイメージデータと、透かし情報に対応するパターンとを論理演算する手段を含むことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記分割手段は、１行のイメージデータの領域の行の長さを、予め定められた数で等分割することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記分割手段で分割した区切り位置が１つの外接矩形内にある場合、行末方向であって当該外接矩形の境界位置を、前記区切り位置に変更する手段を備えることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記分割手段は、１行のイメージデータに含まれる全外接矩形の幅の総和を、予め定められた数で等分割することで１ビットの埋め込む有意画素数範囲を決定し、当該決定された有意画素数範囲の整数倍となる位置を分割領域の区切り位置とすることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項６】
文章が記述された原稿画像中に透かし情報を埋め込む画像処理装置の制御方法であって、
原稿画像データを入力する入力工程と、
入力した原稿画像データを解析し、有意な画素の集合の２次元的範囲を示す外接矩形を検出し、各外接矩形の座標と大きさを示す外接矩形情報を抽出する画像解析工程と、
該画像解析工程で得られた外接矩形情報に基づき、文字画像の並ぶ行を特定し、当該１行分のイメージデータの領域を分割する分割工程と、
該分割手工程分割した分割領域を単位に、透かし情報を埋め込む埋め込み工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項７】
コンピュータが読込み実行することで、請求項１乃至５のいずれか１項に記載の画像処理装置が有する各手段として機能することを特徴とするコンピュータプログラム。
【請求項８】
請求項７に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【請求項９】
文章が記述された原稿画像中に埋め込まれた透かし情報を抽出する画像処理装置であって、
原稿画像データを入力する入力手段と、
入力した原稿画像データを解析し、有意な画素の集合の２次元的範囲を示す外接矩形を検出し、各外接矩形の座標と大きさを示す外接矩形情報を抽出する画像解析手段と、
該画像解析手段で得られた外接矩形情報に基づき、文字画像の並ぶ行を特定し、当該１行分のイメージデータの領域を分割する分割手段と、
該分割手段で分割した分割領域を単位に、透かし情報を抽出する抽出手段と、
を備えることを特徴とする画像処理装置。
【請求項１０】
文章が記述された原稿画像中に埋め込まれた透かし情報を抽出する画像処理装置の制御方法であって、
原稿画像データを入力する入力工程と、
入力した原稿画像データを解析し、有意な画素の集合の２次元的範囲を示す外接矩形を検出し、各外接矩形の座標と大きさを示す外接矩形情報を抽出する画像解析工程と、
該画像解析工程で得られた外接矩形情報に基づき、文字画像の並ぶ行を特定し、当該１行分のイメージデータの領域を分割する分割工程と、
該分割工程で分割した分割領域を単位に、透かし情報を抽出する抽出工程と、
を備えることを特徴とする画像処理装置の制御方法。
【請求項１１】
コンピュータが読込み実行することで、請求項９に記載の画像処理装置が有する各手段として機能することを特徴とするコンピュータプログラム。
【請求項１２】
請求項１１に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書画像への情報の埋め込み技術に関するものである。
【背景技術】
【０００２】
近年、プリンタ、複写機などのデジタル画像形成装置の印刷画質の向上は著しく、容易に高画質の印刷物を手にすることができるようになってきている。つまり、誰もが高性能スキャナ、プリンタ、複写機そしてコンピュータによる画像処理により、要求される印刷物を得ることが可能となってきている。そのため、文書の不正コピー、改ざん等の問題が発生し、それらを防止、あるいは抑止させるため、印刷物そのものにアクセス制御情報を透かし情報として埋め込もうという動きが近年活発となってきている。
【０００３】
このような機能としては、印刷物にアクセス制御情報を目に見えないように埋め込む不可視タイプの電子透かし技術が知られている。一般的な実現方法として、英文字列のスペースの量をコントロールすることにより情報を埋め込むタイプ（特許文献１）が知られている。また、これ以外としては、文字を回転するタイプ、文字を拡大縮小するタイプ、また文字を変形させて情報を埋め込むタイプ等も知られている。
【０００４】
英文文字列のスペースの量をコントロールするタイプの埋め込みの原理を図１５を参照して説明する。同図の符号２５０１は、埋め込み対象の入力画像データ中の或る行のイメージデータを示している。英語の場合、単語間にはスペースがあるので、連続する２つのスペースの前のスペースの幅をｐ、後のスペースの幅をｓとする。また、同図の符号２５０２は情報の埋め込み後のイメージデータを示しており、ｐ１、ｓ１は埋め込みによって変更されたスペースの幅を示している。
【０００５】
ここで、埋め込むべき情報の１ビットが“０”なら、埋め込み後のイメージのスペースｐ１、ｓ１を次のようにして決定する。
ｐ１←（１＋ｑ）（ｐ＋ｓ）／２
ｓ１←（１−ｑ）（ｐ＋ｓ）／２
ここで、ここでｑは０＜ｑ＜１の適当な値である。
【０００６】
また、埋め込むべき情報の１ビットが“１”なら次のようにする。
ｐ１←（１−ｑ）（ｐ＋ｓ）／２
ｓ１←（１＋ｑ）（ｐ＋ｓ）／２
【０００７】
図１６は、文字の大きさを拡大あるいは縮小することによる情報を埋め込む例を示している。図示の符号２５１１が情報を埋め込む前のイメージデータ、符号２５１２が情報埋め込み後のイメージデータを示している。
【０００８】
図示では、埋め込むべき情報の１ビットが“１”なら、元の文字イメージよりも拡大し、埋め込むべき情報の１ビットが“０”なら、縮小する例を示しておる。従って、図示の場合、文字「像」に埋め込まれた情報は“１”、文字「再」に埋め込まれた情報は“０”となる。尚、埋め込みの対象となる文字は、連続する文字であっても、数文字間隔であっても、あらかじめ定められた位置の文字であってもよい。
【０００９】
図１７は、文字を回転による情報の埋め込み例を示している。回転による埋め込みは、例えば、ビット“１”を埋め込む場合には文字画像を所定角度だけ時計回りに回転される。また、ビット“０”を埋め込む場合には、反時計回りに所定角度だけ回転させる。尚、埋め込みの対象となる文字は、連続する文字であっても、数文字間隔であっても、あらかじめ定められた位置の文字であってもよい。
【特許文献１】米国特許第６０８６７０６号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上記の文献の場合、情報を埋め込む側及び情報を抽出する側の双方が、各文字画像の位置を高い精度で検出することが必要となる。一般には、文字画像の抽出は、その文字画像の外接矩形を検出することで行われる。しかし、文字画像の検出精度が低いと、例えば文字「い」は２つの左右の文字パーツが独立して検出されることになる。従って、埋め込み側の文字画像の検出精度と、情報抽出側の文字画像の検出精度が異なると、埋めこんだビット数と、抽出したビット数とが異なってしまう。
【００１１】
本発明はかかる問題点に鑑みなされたものであり、高い文字画像の検出精度を不要とし、埋め込み及び抽出の精度を高くすることを可能にする技術を提供しようとするものである。
【課題を解決するための手段】
【００１２】
この課題を解決するため、本発明の画像処理装置は以下の構成を備える。すなわち、
文章が記述された原稿画像中に透かし情報を埋め込む画像処理装置であって、
原稿画像データを入力する入力手段と、
入力した原稿画像データを解析し、有意な画素の集合の２次元的範囲を示す外接矩形を検出し、各外接矩形の座標と大きさを示す外接矩形情報を抽出する画像解析手段と、
該画像解析手段で得られた外接矩形情報に基づき、文字画像の並ぶ行を特定し、当該１行分のイメージデータの領域を分割する分割手段と、
該分割手段で分割した分割領域を単位に、透かし情報を埋め込む埋め込み手段とを備える。
【発明の効果】
【００１３】
本発明によれば、高い精度の文字画像の検出を必要とせず、画像に埋め込んだ情報のビット数と、画像から抽出したビット数が高い精度で一致させることができる。
【発明を実施するための最良の形態】
【００１４】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【００１５】
＜第１の実施形態＞
図１は、本発明における電子透かし埋め込み装置の構成図である。
【００１６】
図示において、まず、透かし情報を埋め込む対象である文書画像１００が画像入力部１０１に入力される。画像入力部１０１はイメージスキャナとするが、記憶媒体に格納された画像データファイルであっても構わない。
【００１７】
次に、文書解析部１０２では、文書画像１００内の文字画像の位置が解析される。なお、ここでは便宜的に「文字画像」と呼ぶが、偏（へん）、旁（つくり）となることもあるので、厳密には有意画素の塊りを意味する。領域分割定部１０３では、文書画像１００を埋め込み領域に分割する。埋め込み部１０６では、透かし情報入力部１０５より入力された透かし情報１０４を用いて、領域分割部１０３で得られた位置情報に従って抜き出した文字画像に電子透かしの埋め込みを行なう。そして、画像出力部１０７によって透かし埋め込み画像１０８が出力される。実施形態での出力先は、プリンタとする。
【００１８】
図２は、実施形態における電子透かし埋め込み装置および抽出装置の電気的構成を説明するための図である。尚，電子透かし埋め込み装置および抽出装置の実現に当たっては，図２に示される全ての機能を使用することは必須ではない。
【００１９】
図２において，コンピュータ２０１は，一般に普及しているパーソナルコンピュータ等の汎用の情報処理装置であり、スキャナ等の画像入力装置２１７から読み取られた画像を入力し，編集や保管を行うことが可能である。また，画像入力装置２１７で得られた画像をプリンタ２１６から印刷させることができる。尚、ユーザからの各種指示等は、ポインティングデバイスであるマウス２１３，キーボード２１４からの入力操作により行われる。コンピュータ２０１の内部では，バス２０７により後述する各ブロックが接続され、種々のデータの受け渡しが可能である。
【００２０】
図２において、ＣＰＵ２０２は、コンピュータ２０１内部の各ブロックの動作を制御し、あるいは内部に記憶されたプログラムを実行することができる。主記憶装置（ＲＡＭで構成される）２０３は、ＣＰＵ２０２において行われる処理のために、一時的にプログラムや処理対象の画像データを格納しておく装置である。ハードディスク（ＨＤＤ）２０４は、主記憶装置２０３等に転送されるＯＳ（オペレーティングシステム）、実施形態における電子透かし埋め込み、抽出アプリケーションプログラムが格納されている。また、このＨＤＤ２０４は、画像データファイルを格納したり、処理後の画像データを保存するためにも使用される。
【００２１】
スキャナインタフェース（Ｉ／Ｆ）２１５は、原稿やフィルム等を読み取って、画像データを生成するスキャナ２１７を接続し、スキャナ２１７で得られた画像データを本装置に入力するＩ／Ｆである。プリンタインタフェース２０８は、画像データを印刷するプリンタ２１６を接続し、印刷する画像データをプリンタ１２１６に送信するＩ／Ｆである。
【００２２】
ＣＤドライブ２０９は、外部記憶媒体の一つであるＣＤ（ＣＤ−Ｒ／ＣＤ−ＲＷ）に記憶されたデータを読み込んだり、あるいは書き出すことができる装置である。ＦＤＤドライブ２１１は、ＣＤドライブ２０９と同様にＦＤＤからの読み込みや、ＦＤＤへの書き出しをすることができる装置である。ＤＶＤドライブ２１０は、ＦＤＤドライブ２１１と同様に、ＤＶＤからの読み込みや、ＤＶＤへの書き出しをすることができる装置である。尚、ＣＤ、ＦＤＤ、ＤＶＤ等に画像編集用のプログラム、あるいはプリンタドライバが記憶されている場合には、これらプログラムをＨＤＤ２０４上にインストールし、必要に応じて主記憶装置２０３に転送されるようになっている。
【００２３】
インタフェース（Ｉ／Ｆ）２１２は、マウス２１３やキーボード２１４からの入力指示を受け付けるために、これらと接続されるＩ／Ｆである。また、モニタ２０６は、透かし情報の抽出処理結果や処理過程を表示することのできる表示装置である。さらに、ビデオコントローラ２０５は、表示データをモニタ２０６に送信するための装置である。
【００２４】
尚、本発明は、複数の機器（例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファックシミリ装置）に適用してもよい。
【００２５】
上記構成において、マウス２１３やキーボード２１４からの入力指示により、主記憶装置２０３にロードしたプログラムをＣＰＵ２０２が実行することによって電子透かしの埋め込み装置、或いは、抽出装置として機能することになる。このとき、モニタ２０６により実行状況や、その結果をモニタすることも可能である。
【００２６】
以下、電子透かしの埋め込み方法と抽出方法の具体的な実現方法について述べる。
【００２７】
図３は、本実施形態における電子透かしの埋め込みを行なうアプリケーションプログラムに基づくＣＰＵ２０２の処理手順を示すフローチャートである。このアプリケーションプログラムを実行することで、図１に示す各処理部を構成することになる。
【００２８】
まず、ステップＳ３０１において、透かし情報の埋め込み対象となる文書画像１００が、図２のスキャナ２１７に代表される画像入力部１０１を介して、文書解析部１０２に入力される。文書画像１００は、印刷物をスキャナ２１７などから入力し、それをビットマップ化したものでも良いし、文書編集アプリケーションプログラムを利用して作成された電子データであっても良い。また、ハードディスク２０４やＣＤドライブ２０９、ＤＶＤドライブ２１０、ＦＤＤドライブ２１１などに接続された各記憶媒体に格納された種々のアプリケーションプログラムによる電子データを、画像処理ソフトなどによってビットマップ化したものでも良い。
【００２９】
次に、ステップＳ３０２において、文書解析部１０２の文書画像の解析結果に基づき、領域分割部１０３にて、入力した画像データから、埋め込み対象となる画像領域に分割する。
【００３０】
このステップＳ３０２の処理を、図１０のフローチャートに従って説明する。
【００３１】
先ず、ステップＳ３０２ａでは、文書解析部１０２で解析の結果に基づき、各文字の外接矩形の座標と大きさを抽出する。外接矩形の抽出は、一般の文字認識する際の文字画像領域の抽出と同じである。すなわち、画像データ内の文章が横書きの場合には、画像データを垂直軸に対して投影し、黒画素の分布と白画素の分布を得て、白画素の存在する範囲を行間として判定し、行間と行間との間を文字列が存在する行として決定する。今度は行を水平軸に投影し、黒画素の分布を得て、個々の文字画像と考えられる画像の区切り位置を求める。なお、画像データ中の文章が縦書きの場合には、最初に水平軸、次に垂直軸に投影すればよい。縦書きか、横書きかは、最初に投影した座標軸に、空白（行間スペース）があるか否かで判断すればよい。
【００３２】
このようにして、個々の文字画像の外接矩形の位置とサイズが求めることができる。通常、文字認識においては、文字「い」等が左右の２つのパーツとして認識されることを除外するため、文字抽出精度を高めるための後処理が必要であるが、本実施形態ではこの程度で構わない。なお、抽出した外接矩形の座標位置、幅、高さを示す情報は主記憶装置２０３に格納しておく。また、以下の説明では、説明を単純なものとするため、文書画像中の文書は横書きであるものとして説明する。
【００３３】
次に、ステップＳ３０２ｂにおいて、文書画像の１行分の外接矩形の情報を主記憶装置２３から入力する。そして、注目行の長さを、予め設定された個数ｎで分割する。行の長さは、その行の最初の外接矩形の座標と、最後の外接矩形の座標と幅から求めることができる。ここで分割数ｎは、予め設定されている値であり、ＨＤＤ２０４等に予め設定情報として記憶されているものである。本実施形態では、ｎ＝４として説明する。
【００３４】
図１３（ａ）は、１行の文字画像が「１−Ｃ−２  音響」であることを示している。図示の場合、１行の幅は４８０ポイント（＝１行の水平方向画素数が４８０）としているので、これを４分割すると、１分割領域の幅は１２０ポイントとなり、図１３（ｂ）のように区切りができる。本実施形態では、図１３（ｂ）のようにして決定された分割領域を埋め込み単位として決定する。各領域が決定されると、各領域の左右端の座標データを主記憶装置２０３に格納する。なお、埋め込み領域の高さは、行の高さと等しい。
【００３５】
ステップＳ３０２ｄでは、注目行が最終行であるか否かを判断し、否の場合にはステップＳ３０２ｂ、３０２ｃを繰り返す。
【００３６】
以上のようにして、入力した文書画像に対する埋め込み領域が決定される。
【００３７】
図３の説明に戻る。以上のようにして、入力した文書画像について、埋め込み領域が決定すると、処理はステップＳ３０３に進む。このステップＳ３０３では、埋め込みたい透かし情報１０４を、キーボード２１４に代表される透かし情報入力部１０５から入力する。なお、透かし情報は、あらかじめＨＤＤ２０４等の記憶装置に蓄積し、それを利用しても構わない。
【００３８】
次に、ステップＳ３０４において、主記憶装置２０３に記憶していた埋め込み領域（分割領域）の座標情報を参照し、入力した画像データから該当する領域内のイメージデータを取得する。そして、ステップＳ３０６にて、取得したイメージデータに、透かし情報の１ビットの情報を埋め込む。埋め込み後のイメージデータは、主記憶装置２０３（ＨＤＤ２０４でも構わない）に格納する。
【００３９】
そして、ステップＳ３０７にて、最終領域であるか否かを判定し、否の場合にはステップＳ３０４、Ｓ３０６の処理を繰り返す。なお、ステップＳ３０７では埋め込むべき情報を全て埋め込んだか否かで判断しても構わない。
【００４０】
こうして、埋め込み処理が終了すると、各埋め込み後領域のイメージデータが主記憶装置２０３に格納されている。従って、ステップＳ３０８では、それぞれの領域の座標情報に基づき、各イメージデータを連結することで、１ページ分の文書画像を生成する。そして、生成させた画像データをプリンタ２１６に出力し、印刷出力する。なお、ここでは、出力対象をプリンタとしたが、フロッピー（登録商標）ディスク等の記憶媒体に出力しても良いし、ネットワーク上に送信しても構わない。
【００４１】
ここで、実施形態におけるステップＳ３０６の処理を説明する。
【００４２】
本実施形態では、異なる２つの２値のマスク用パターンを用意し、それを用いて文字に透かし情報を埋め込む。先ず、埋め込みの例を示し、その手順については後述することとする。
【００４３】
図６に示す２つのパターン６０４、６０５がマスクパターンである。図示の如く、これらのパターンは３×３画素のサイズを持つ。文字画像に、透かし情報中の“０”の１ビットを埋め込む場合には、パターン６０４を繰り返し用いて、マスク（論理積）処理を行なう。この結果、文字画像６０２を得ることができる。また、文字画像に、透かし情報中の“１”の１ビットを埋め込む場合には、パターン６０５を繰り返し用いて、マスク処理を行なう。この結果、文字画像６０３を得ることができる。文字画像６０２は、斜め右上から斜め左下に向かう方向の縞模様となり、文字画像６０３は斜め左上から斜め右下に向かう縞模様となる。つまり、この模様により埋め込まれたビットが“０”であるか、“１”であるかが判別可能になる。図示のマスクパターン６０４、６０５はその一例であり、必ずしもこのパターンに限るものではない。要するに、埋め込まれた情報が識別できるようなパターンであれば良い。
【００４４】
また、上記の埋め込み処理は、文字画像「イ」に埋め込むものであったが、本実施形態では、先に説明したように、図１３（ｂ）に示される領域（図示では、水平方向の画素数が１２０ポイント）を対象にしている点に注意されたい。
【００４５】
ここで、実施形態におけるステップＳ３０６の処理を、図４のフローチャートに従って説明する。
【００４６】
先ず、ステップＳ３０６ａでは、透かし情報１０４から、埋め込むべき情報を１ビット選択する。選択順は、透かし情報１０４の先頭ビットから順番に選択する。従って、最初のステップＳ３０６ａに処理では、透かし情報１０４の先頭の１ビットとなる。
【００４７】
ステップＳ３０６ｂでは、埋め込まれる透かし情報のビットが“１”であるか否かを判断する。埋め込むべきビットが“１”であれば、ステップＳ３０６ｃに進み、先のステップＳ３０４で読込んだ１分割領域のイメージデータに対して、パターン６０５を用いて埋め込み処理を行なう。一方、ステップＳ３０６ｂにて、埋め込まれる透かし情報のビットが“０”である場合には、ステップＳ３０６ｄに進み、１分割領域のイメージデータに対して、パターン６０４を用いて埋め込み処理を行なう。
【００４８】
ここで、ステップＳ３０６ｃの詳細を、図５のフローチャートと、図１１を用いて説明する。ステップＳ３０６ｄの処理は、利用するパターンが異なるだけであるので、その説明は省略する。
【００４９】
以下の説明で、分割領域内の座標（ｉ，ｊ）の画素値をｆ（ｉ，ｊ）、マスク処理後の画素値をｔ（ｉ，ｊ）とする。分割領域の水平方向の画素数をＷ、分割領域の高さをＨとすると、ｘは０≦ｘ≦Ｗ−１、ｙは０≦ｙ≦Ｈ−１となる。また、パターン６０５の３×３のサイズであるので、その１つの要素をＰ（ｉ mod ３, ｊ mod ３）とする。ここで、「ｘ  mod  ｙ」は、整数ｘをｙで除算した際の余りを返す関数である。従って、パターン６０５内の水平、垂直方向の座標は共に０、１、２のいずれかとなる。また、パターン６０５における黒画素は“１”、白画素は“０”であるものとする。
【００５０】
先ず、ステップＳ３０６ｃ１にて、変数ｊを“０”で初期化する。この変数ｊは領域の垂直方向の座標を示すインデックスである。次いで、ステップＳ３０６ｃ２にて、変数ｉを“０”で初期化する。この変数ｊは領域の水平方向の座標を示すインデックスである。
【００５１】
次に、ステップＳ３０６ｃ３に進み、変数ＭにＰ（ｉ mod ３, ｊ mod ３）を代入する。従って、変数Ｍは、“０”か“１”の値となる。
【００５２】
次いで、ステップＳ３０６ｃ４に進み、埋め込み後の画素値ｔ（ｉ，ｊ）を以下の式で算出する。
ｔ（ｉ，ｊ）＝Ｍ・ｆ（ｉ，ｊ）
この結果、Ｍ＝１の場合には、分割領域の画素値ｆ（ｉ，ｊ）がそのまま出力画素値ｔ（ｉ，ｊ）となり、Ｍ＝０の場合には出力画素値ｔ（ｉ，ｊ）は強制的に“０”（白画素）となる。
【００５３】
次に、ステップＳ３０６ｃ５に進み、変数ｉを“１”だけ増加させ、ステップＳ３０６ｃ６にて、変数ｉと領域の水平方向のサイズＷとを比較する。ｉ＜Ｗである場合には、注目画素位置が水平方向の末端に位置していないことになるので、ステップＳ３０６ｃ３以降の処理を繰り返す。
【００５４】
また、ｉ＝Ｗであると判断した場合には、ステップＳ３０６ｃ７に進み、変数ｊを“１”だけ増加させる。そして、ステップＳ３０６ｃ８にて、変数ｊと領域の垂直方向のサイズＨとを比較する。ｊ＜Ｈであると判断した場合には、注目画素が分割領域の最終ラインにないことになるので、ステップＳ３０６ｃ２以降の処理を繰り返す。
【００５５】
以上の結果、埋め込むべき１ビットが“１”の場合、分割領域内のイメージデータを、パターン６０５を繰り返し用いてマスク処理することになる。
【００５６】
次に、実施形態における電子透かし情報の抽出を説明する。図７は抽出装置のブロック構成図である。
【００５７】
図７に示すように、埋め込まれた透かし情報を抽出したい文書画像２００が、図２のスキャナ２１７に代表される画像入力部７０１に入力される。そして、この入力に応じて、文書解析部７０２において文字の位置関係が解析される。そして、領域解析定部７０３において、文書画像の文字領域の分割が行われる。透かし情報抽出部７０４では、電子透かしの抽出が行われ、透かし情報７０５が出力される。
【００５８】
図８は、電子透かし抽出装置として機能する抽出アプリケーションの処理手順を示すフローチャートである。このアプリケーションを実行することで、ＣＰＵは図７に示す機能ブロック図を構成することになる。
【００５９】
まず、ステップＳ８０１において、画像入力部７０１が透かし情報が埋め込まれた画像を入力する。
【００６０】
次いで、ステップＳ８０２では、文書解析部７０２にてスキャナ２１７から入力した画像データを解析し、領域分割部７０３にて画像データから、埋め込み領域のイメージデータを分割する。この領域分割は、情報の埋め込み時の領域分割（図１の領域分割部１０３）と同じである。この結果、入力した画像データと各分割領域の座標（位置と大きさ）情報が主記憶装置２０３に格納される。
【００６１】
なお、ここでは文書画像は印刷物をスキャナ２１７から入力し、それをビットマップ化したものとしているが、これに限定されるものではない。例えば、文書編集アプリケーションプログラムを利用して作成された画像の電子データ、またはハードディスク２０４やＣＤドライブ２０９、ＤＶＤドライブ２１０、ＦＤＤドライブ２１１などに接続された各記憶媒体に格納された画像データファイルでも良い。
【００６２】
次に、ステップＳ８０３において、主記憶装置２０３に格納された１つの分割領域の座標データを参照し、該当する領域内のイメージデータを入力しする。
【００６３】
そして、ステップＳ８０５にて、入力したイメージデータから電子透かしとして埋め込まれた１ビットを抽出し、抽出した１ビットの情報を主記憶装置２０３に予め確保された抽出結果格納領域（不図示）に格納する。
【００６４】
そして、ステップＳ８０６にて、最後の分割領域について情報の抽出処理が行われたと判断するまで、ステップＳ８０３、８０５の処理を繰り返す。
【００６５】
こうして、全分割領域についての埋め込み情報の抽出が完了すると、主記憶装置２０３内の抽出結果格納領域に格納された透かし情報（複数ビット）を出力する。出力先は表示画面に表示する。また、透かし情報のビット情報が、文字コードを表わすのであれば、文字を表示しても良い。
【００６６】
ここで、ステップＳ８０５の透かし情報の抽出処理の詳細を、図９のフローチャートに従って説明する。
【００６７】
先ず、ステップＳ８０５ａにて、注目分割領域内のイメージデータとパターン６０４とので相互相関を情報から、パターン６０４に対する最大類似度ＭａｘＰ０を求める。
【００６８】
実施形態の場合、パターン６０４は３×３のサイズである。従って、イメージデータの左上隅を原点（０，０）を開始位置として、パターン６０４を繰り返し適用して一致度を算出する。一致度は、例えば、パターン６０４内の白画素位置と分割領域内のイメージデータの該当する位置の画素が白画素となる数と、パターン６０４内の黒画素位置と分割領域内のイメージデータの該当する位置の画素が黒画素となる数との和とすれば良い。
【００６９】
分割領域内の座標（ｉ，ｊ）の画素値をｆ（ｉ，ｊ）、パターン６０４の画素値をｔ（ｉ，ｊ）とする。また、分割領域の左上隅を原点（０，０）とし、その原点を一致度算出の基準位置とするなら、一致度Ａ（０，０）は、次の様に算出できる。
Ａ(0,0)＝Σ{t(i mod 3, j mod 3)×ｆ（i,j)｝＋Σ{(1-t(i mod 3, j mod 3))×ｆ（i,j)｝
ここでΣは、ｉ＝0,1,2,…,Ｗ-1、ｊ＝0,1,2,…,Ｈ−１の合算を意味する。
【００７０】
次に、座標（１，０）を開始位置として、一致度Ａ（１，０）を求める。
Ａ(1,0)＝Σ{t(i mod 3, j mod 3)×ｆ（i+1,j)｝＋Σ{(1-t(i mod 3, j mod 3))×ｆ（i+1,j)｝
以降、開始位置（２，０）、（０、１）、（１，１）、（２，１）、（２、０）、（２、１）、（２、２）それぞれを開始位置に設定し、同様に一致度Ａ（,）を求める。つまり、９回、一致度を求めることになる。そして、その中の最大の一致度を、パターン６０４との最大類似度ＭａｘＰ０として決定する。一致度を求める際の開始位置の座標を１画素ずつずらす理由は、原稿読み取り時の読取りずれを考慮してのものである。
【００７１】
ステップＳ８０５ｂでは、注目分割領域内のイメージデータとパターン６０５とので相互相関を情報から、パターン６０５に対する最大類似度ＭａｘＰ１を求める。このステップＳ８０５ｂとステップＳ８０５ａとの違いは、適用するパターンが異なるだけで、それ以外は同じである。
【００７２】
こうして、最大類似度ＭａｘＰ０とＭａｘＰ１が求められると、処理はステップＳ８０５ｃに進み、ＭａｘＰ０とＭａｘＰ１とを比較する。ＭａｘＰ１＞ＭａｘＰ０であるとした場合、注目分割領域にはパターン６０５で情報が埋め込まれたと判断できる。従って、ステップＳ８０５ｄでは、注目分割領域に埋め込まれたビットは“１”であるとして抽出する。
【００７３】
一方、ＭａｘＰ１≦ＭａｘＰ０であるとした場合、注目分割領域にはパターン６０４で情報が埋め込まれたと判断できる。ステップＳ８０５ｅでは、注目分割領域に埋め込まれたビットは“０”であるとして抽出する。
【００７４】
以上説明したように本実施形態によれば、文字で構成される文書画像内の文字のレイアウトを変更せず、尚且つ、高い文字画像の抽出精度でなくても、精度の高い埋め込みと抽出が行なえるようになる。
【００７５】
＜変形例の説明＞
上記実施形態では、文書画像中の１行のイメージデータは図１３（ａ）に示す場合、それを行長をＮ分割し（実施形態ではＮ＝４）、同図（ｂ）のように、４つの分割領域を決定し、各分割領域に１ビットを埋め込むものであった。
【００７６】
しかしながら、図１３（ｂ）の場合、文字画像「音」は、２つの領域に分割される。従って、２番目の分割領域に埋め込むべきビットと、３番目の分割領域に埋め込むべきビットが異なるとき、文字画像「音」が異なるパターンでマスクされることになり、見る人によっては違和感を感じる可能性が残る。
【００７７】
本実施形態では、各文字画像の外接矩形の座標とサイズを求めているので、分割領域の区切り位置が、或る外接矩形内にあるか否かは容易に判断できる。そこで、このような状況になった場合、図１３（ｃ）に示すように、区切り位置を、該当する外接矩形の右端位置にまで移動させても良い。
【００７８】
また、分割領域の長さが長いほど、埋め込むことができるビット数が経るが、抽出した情報の信頼性は増す。従って、上記のように、領域の区切り位置を調整していって、行の最後の分割領域の長さが、他の分割領域の平均長さ対して、設定された比率以下になる場合、図１３（ｄ）に示すように、最後から１つ前の分割領域と最後の分割領域とを結合しても構わない。
【００７９】
＜第２の実施形態＞
上記実施形態では、１行に４ビットを埋め込む場合に、その行長を４等分し、各分割領域に１ビットを埋め込むものであった。
【００８０】
しかし、単語と単語との間にスペースを含む英語の場合、或る分割領域にはスペースが存在する割合が高く、実際の文字画像が少ないということも起こり得る。つまり、このような分割領域内の有効画素数（黒画素数）が少ないので、抽出した情報の信頼性は低いものとならざるをえない。
【００８１】
そこで、本第２の実施形態では、この問題を解決するものである。
【００８２】
図１４（ａ）は或る１行のイメージデータを示している。個々の文字画像の外接矩形の座標、サイズは既に求められているので、その行に含まれる外接矩形の幅の総和を算出する。図示の場合、外接矩形の個数は７つであり、それぞれの幅の総和は２０＋５０＋４７＋５０＋３８＋６３＋６５＝３３２となる。今、１行に４ビットを埋め込むとした場合、総和を４で除算することで、１ビットを埋め込む有意な水平方向画素数「８２」を得る。
【００８３】
従って、各外接矩形を順番に足し和せていき、「８２」となる位置を、分割領域の区切り位置として決定する。この結果、図１４（ｂ）に示すような、分割領域が定義できる。なお、外接矩形の幅の総和が埋め込みビット数（実施形態では４）の整数倍になるとは限らない。このような場合には、最後の領域サイズに、除算した際の余り加えるものとする。
【００８４】
上記の処理を行なうと、１行にスペースが幾つも存在したとしても、埋め込み情報の信頼性は平均化させることが可能になる。
【００８５】
本第２の実施形態における領域分割処理を図１２のフローチャートに従って説明する。同図は、図１０のフローチャートに置き換わるものと考えると分かりやすい。なお、これ以外の処理、並びに、装置構成は第１の実施形態と同じである。
【００８６】
先ず、ステップＳ３０２ａ’では、文書解析部１０２で解析の結果に基づき、各文字の外接矩形の座標と大きさを抽出し、その情報を主記憶装置２０３に格納する。
【００８７】
次に、ステップＳ３０２ｂ’において、文書画像の１行分の外接矩形の情報を主記憶装置２０３から入力する。そして、ステップＳ３０２ｃ’にて、注目行に含まれる全外接矩形の幅の総和を算出する。そして、ステップＳ３０２ｄ’にて、埋め込むビット数で、その総和を除算し、１ビットを埋め込む際の有効長を決定する。
【００８８】
次いで、ステップＳ３０２ｅ’にて、注目行に含まれる各外接矩形の幅と、決定された有効長に従って、注目行の分割位置を決定していく。決定した分割位置は、主記憶装置２０３に格納する。
【００８９】
上記以外は、第１の実施形態と同じであるので、その説明は省略する。
【００９０】
以上説明したように本第２の実施形態によれば、第１の実施形態に加えて、信頼性の低い情報埋め込み領域が発生しにくくできるようになる。
【００９１】
＜第３の実施形態＞
上記第１、第２の実施形態では、基本的に、１行に埋め込むビット数は固定とするものであった。
【００９２】
しかし、文字画像のサイズが、或る程度以上である場合、例え１文字であっても、十分な精度で情報を埋め込みと抽出を行なうことができる。
【００９３】
そこで、１行のイメージデータの埋め込み領域を決定する際、その行に含まれる各外接矩形のサイズが閾値を以上の場合には、１外接矩形に対して１ビットを埋め込むようにする。そして、その行に含まれる各外接矩形のサイズが閾値未満の場合には第１、又は、第２の実施形態に従って埋め込むようにしてもよい。
【００９４】
＜その他の実施形態＞
上記実施形態では、２つのパターンを用い、埋め込むべきビットに応じてそのいずれかを選択し、分割領域内のイメージデータと論理積を行なうことで埋め込む例を示した。しかしながら、２つの異なる色、濃淡の違いで“０”、“１”を表わしても構わない。
【００９５】
また、上記実施形態からも明らかなように、本発明はコンピュータが実行するアプリケーションプログラムでもって実現できるものであるから、当然本発明はコンピュータプログラムをもその範疇とする。また、通常、コンピュータプログラムは、それを格納したＣＤ−ＲＯＭ等のコンピュータ可読記憶媒体を、コンピュータにセットし、システムにコピーもしくはインストールすることで実行可能になる。従って、このようなコンピュータ可読記憶媒体も本発明の範疇に入ることも明らかである。
【図面の簡単な説明】
【００９６】
【図１】実施形態における電子透かし埋め込み装置の構成図である。
【図２】実施形態における電子透かし埋め込み装置および抽出装置の電気的構成を示す図である。
【図３】第１の実施形態における電子透かし埋め込み処理手順を示すフローチャートである。
【図４】図３のステップＳ３０６の処理内容を示すフローチャートである。
【図５】図４のステップＳ３０６ｃの処理内容を示すフローチャートである。
【図６】実施形態における電子透かし埋め込み原理を説明するための図である。
【図７】実施形態における電子透かし抽出装置の構成図である。
【図８】実施形態における電子透かし抽出処理手順を示すフローチャートである。
【図９】図８のステップＳ８０５の処理内容を示すフローチャートである。
【図１０】図３のステップＳ３０２の処理内容を示すフローチャートである。
【図１１】実施形態におけるマスクパターンを用いた電子透かしの埋め込みの処理を説明するための図である。
【図１２】第２の実施形態における領域分割処理を示すフローチャートである。
【図１３】第１の実施形態における領域分割の概要を説明するための図である。
【図１４】第２の実施形態における領域分割の概要を説明するための図である。
【図１５】文字の間隔を利用した電子透かし埋め込みの原理を説明するための図である。
【図１６】文字サイズの変更による電子透かし埋め込みの原理を説明するための図である。
【図１７】文字画像の回転よる電子透かし埋め込みの原理を説明するための図である。
【図１】
2008098946.tif 000003
【図２】
2008098946.tif 000004
【図３】
2008098946.tif 000005
【図４】
2008098946.tif 000006
【図５】
2008098946.tif 000007
【図６】
2008098946.tif 000008
【図７】
2008098946.tif 000009
【図８】
2008098946.tif 000010
【図９】
2008098946.tif 000011
【図１０】
2008098946.tif 000012
【図１１】
2008098946.tif 000013
【図１２】
2008098946.tif 000014
【図１３】
2008098946.tif 000015
【図１４】
2008098946.tif 000016
【図１５】
2008098946.tif 000017
【図１６】
2008098946.tif 000018
【図１７】
2008098946.tif 000019