(57)【特許請求の範囲】
【請求項１】
文書画像に電子透かし情報を埋め込む画像処理装置であって、
前記文書画像における文字イメージ或いは文字を構成する要素である要素イメージに外接する矩形を抽出する抽出手段と、
埋め込み対象となる情報のビットの論理値に基づき、注目矩形の位置を、隣合う他の矩形のいずれかへのシフトするシフト量を決定するシフト量算出手段と、
該シフト量算出手段で算出したシフト量に基づいて、注目矩形の文字イメージ或いは要素イメージをシフトするシフト手段とを備え、
前記シフト量算出手段は、注目矩形の前に位置する他の矩形との距離をＰ、後に位置する矩形との距離をＳとしたとき、Ｐ−ＳとＰ＋Ｓとの比に基づいて、電子透かし情報が表すよう注目矩形の位置のシフト量を算出することを特徴とする画像処理装置。
【請求項２】
前記文書画像はイメージスキャナより入力することを特徴とする請求項第１項に記載の画像処理装置。
【請求項３】
情報の埋め込み対象となる矩形は、１行中にある矩形群の１つ置きの矩形とすることを特徴とする請求項第１項又は第２項に記載の画像処理装置。
【請求項４】
文書画像に電子透かし情報を埋め込む画像処理方法であって、
前記文書画像における文字イメージ或いは文字を構成する要素である要素イメージに外接する矩形を抽出する抽出工程と、
埋め込み対象となる情報のビットの論理値に基づき、注目矩形の位置を、隣合う他の矩形のいずれかへのシフトするシフト量を決定するシフト量算出工程と、
該シフト量算出工程で算出したシフト量に基づいて、注目矩形の文字イメージ或いは要素イメージをシフトするシフト工程とを備え、
前記シフト量算出工程は、注目矩形の前に位置する他の矩形との距離をＰ、後に位置する矩形との距離をＳとしたとき、Ｐ−ＳとＰ＋Ｓとの比に基づいて、電子透かし情報が表せるよう注目矩形の位置のシフト量を算出することを特徴とする画像処理方法。
【請求項５】
文書画像に電子透かし情報を埋め込むコンピュータプログラムであって、
前記文書画像における文字イメージ或いは文字を構成する要素である要素イメージに外接する矩形を抽出する抽出工程のプログラムコードと、
埋め込み対象となる情報のビットの論理値に基づき、注目矩形の位置を、隣合う他の矩形のいずれかへのシフトするシフト量を決定するシフト量算出工程のプログラムコードと、
該シフト量算出工程で算出したシフト量に基づいて、注目矩形の文字イメージ或いは要素イメージをシフトするシフト工程のプログラムコードとを有し、
前記シフト量算出工程のプログラムコードは、注目矩形の前に位置する他の矩形との距離をＰ、後に位置する矩形との距離をＳとしたとき、Ｐ−ＳとＰ＋Ｓとの比に基づいて、電子透かし情報が表せるよう注目矩形の位置のシフト量を算出することを特徴とするコンピュータプログラム。
【請求項６】
請求項第５項に記載のコンピュータプログラムは、プリンタドライバプログラムであって、
印刷指示がなされたとき、電子透かし情報を埋め込むか否かを選択するための選択ユーザーインタフェースを表示するプログラムコードと、
埋め込む指示があった場合、上位処理から渡されたデータ中の文字に関する情報から、文字パターンを発生し、発生した文字パターン或いは該文字パターンを構成する要素イメージパターンを前記抽出工程に渡す工程のプログラムコード
を備えることを特徴とするコンピュータプログラム。
【請求項７】
請求項第５項または第６項に記載のコンピュータプログラムを記憶する記憶媒体。
【請求項８】
文書画像を入力し、当該文書画像中に埋め込まれた透かし情報を抽出する画像処理装置であって、
前記文書画像における文字イメージ或いは文字を構成する要素である要素イメージに外接する矩形を判別する外接矩形判別手段と、
注目矩形に隣合う他の矩形との距離を算出する算出手段と、
該算出手段で算出された距離に基づいて、注目矩形に対して埋め込まれた情報を埋め込み情報抽出手段とを備え、
前記埋め込み情報抽出手段は、注目矩形と当該注目矩形の前に位置する矩形間の距離をＰ、注目矩形と当該注目矩形の後に位置する矩形間の距離をＳとしたとき、Ｐ−ＳとＰ＋Ｓの比に基づいて埋め込み情報のビットを抽出することを特徴とする画像処理装置。
【請求項９】
文書画像を入力し、当該文書画像中に埋め込まれた透かし情報を抽出する画像処理方法であって、
前記文書画像における文字イメージ或いは文字を構成する要素である要素イメージに外接する矩形を抽出する外接矩形判別工程と、
注目矩形に隣合う他の矩形との距離を算出する算出工程と、
該算出工程で算出された距離に基づいて、注目矩形に対して埋め込まれた情報を埋め込み情報抽出工程とを備え、
前記埋め込み情報抽出工程は、注目矩形と当該注目矩形の前に位置する矩形間の距離をＰ、注目矩形と当該注目矩形の後に位置する矩形間の距離をＳとしたとき、Ｐ−ＳとＰ＋Ｓの比に基づいて埋め込み情報のビットを抽出することを特徴とする画像処理方法。
【請求項１０】
複数の単語からなる文書画像に電子透かし情報を埋め込む画像処理装置であって、
前記文書画像において、各単語に隣接する単語間の距離を変更することにより、前記文書画像に電子透かし情報を埋め込む電子透かし埋め込み手段とを備え、
前記電子透かし埋め込み手段は、所定の単語とその前後に隣接する単語との各距離をＰ、Ｓとしたとき、Ｐ−ＳとＰ＋Ｓとの比の量子化値に基づいて電子透かし情報を表す様にしたことを特徴とする画像処理装置。
【請求項１１】
複数の単語からなる文書画像に電子透かし情報を埋め込む画像処理方法であって、
前記文書画像において、各単語に隣接する単語間の距離を変更することにより、前記文書画像に電子透かし情報を埋め込む電子透かし埋め込みステップとを備え、
前記電子透かし埋め込みステップにおいて、所定の単語とその前後に隣接する単語との各距離をＰ、Ｓとしたとき、Ｐ−ＳとＰ＋Ｓとの比の量子化値に基づいて電子透かし情報を表す様にしたことを特徴とする画像処理方法。
【請求項１２】
複数の単語からなる文書画像に電子透かし情報を埋め込む画像処理プログラムをコンピュータから読み取り可能な状態に記憶した記憶媒体であって、前記プログラムは、
前記文書画像において、各単語に隣接する単語間の距離を変更することにより、前記文書画像に電子透かし情報を埋め込む電子透かし埋め込みステップとを備え、
前記電子透かし埋め込みステップにおいて、所定の単語とその前後に隣接する単語との各距離をＰ、Ｓとしたとき、Ｐ−ＳとＰ＋Ｓとの比の量子化値に基づいて電子透かし情報を表す様にしたことを特徴とする記憶媒体。
【請求項１３】
複数の単語からなる文書画像から電子透かし情報を抽出する画像処理装置であって、
前記文書画像において、各単語に隣接する単語間の距離に基づいて、前記文書画像に電子透かし情報を検出する電子透かし検出手段を備え、
前記電子透かし検出手段にて検出される電子透かし情報は、所定の単語とその前後に隣接する単語との各距離をＰ、Ｓとしたとき、Ｐ−ＳとＰ＋Ｓとの比の量子化値に基づいて表されていることを特徴とする画像処理装置。
【請求項１４】
複数の単語からなる文書画像から電子透かし情報を抽出する画像処理方法であって、
前記文書画像において、各単語に隣接する単語間の距離に基づいて、前記文書画像に電子透かし情報を検出する電子透かし検出ステップを備え、
前記電子透かし検出ステップにて検出される電子透かし情報は、所定の単語とその前後に隣接する単語との各距離をＰ、Ｓとしたとき、Ｐ−ＳとＰ＋Ｓとの比の量子化値に基づいて表されていることを特徴とする画像処理方法。
【請求項１５】
複数の単語からなる文書画像から電子透かし情報を抽出する画像処理プログラムをコンピュータから読み取り可能な状態で記憶した記憶媒体であって、該プログラムは、
前記文書画像において、各単語に隣接する単語間の距離に基づいて、前記文書画像に電子透かし情報を検出する電子透かし検出ステップを備え、
前記電子透かし検出ステップにて検出される電子透かし情報は、所定の単語とその前後に隣接する単語との各距離をＰ、Ｓとしたとき、Ｐ−ＳとＰ＋Ｓとの比の量子化値に基づいて表されていることを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、文書画像のデジタルデータに電子透かし情報を埋め込む、或いはそこから電子透かし情報を抽出する画像処理装置、及び方法、及びこの方法を記憶した記憶媒体に関するものである。
【０００２】
【従来の技術】
近年、インターネット上で画像や音声などのデジタルデータの著作権保護手段として、電子透かし技術が注目されている。電子透かし技術は、画像や音声などのデジタルデータを人間が知覚できない程度に操作することにより電子透かし情報を埋め込む技術である。
【０００３】
多値画像に対する電子透かし技術としては、一般的に画素の濃度の冗長性を利用した種々の方法が知られている。また、２値画像である文書画像に対する電子透かし技術としては、例えば、英文（欧文）の単語間の空白長を変更することにより電子透かし情報を埋め込む特開平９−１８６６０３（ＵＳＰ５８６１６１９）が知られている。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記従来技術における、複数文字からなる単語を処理単位としてその単語間の距離を調節するという単純なものでは、自然な出力結果を得ることは難しい。
【０００５】
そこで、本発明は、文字間の空白部分の距離を利用して情報の埋め込みを行い、自然な出力を得ることを可能にし、且つ、単語間に対するものより、より多くの情報を埋め込むことを可能ならしめる画像処理装置及び方法及びプログラム及び記憶媒体を提供しようとするものである。
【０００６】
また、他の発明は、単語間の空白を利用するにしても、より自然な出力結果とする画像処理装置及び方法及びプログラム及び記憶媒体を提供しようとするものである。
【０００７】
【課題を解決するための手段】
かかる課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、
文書画像に電子透かし情報を埋め込む画像処理装置であって、
前記文書画像における文字イメージ或いは文字を構成する要素である要素イメージに外接する矩形を抽出する抽出手段と、
埋め込み対象となる情報のビットの論理値に基づき、注目矩形の位置を、隣合う他の矩形のいずれかへのシフトするシフト量を決定するシフト量算出手段と、
該シフト量算出手段で算出したシフト量に基づいて、注目矩形の文字イメージ或いは要素イメージをシフトするシフト手段とを備え、
前記シフト量算出手段は、注目矩形の前に位置する他の矩形との距離をＰ、後に位置する矩形との距離をＳとしたとき、Ｐ−ＳとＰ＋Ｓとの比に基づいて、電子透かし情報が表すよう注目矩形の位置のシフト量を算出することを特徴とする。
【０００８】
【発明の実施の形態】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【０００９】
＜第１の実施の形態＞
本実施形態では、日本語の文書データ（漢字を用いた文書データ）に対して領域分割と文字要素外接矩形抽出からなる文書画像解析技術を用い、文字要素外接矩形間の空白長を用いて、情報を埋め込む電子透かしについて説明する。より具体的には、例えば特開平９−１８６６０３号（米国特許第５８６１６１９号）において単語間に適用された手法をそのまま採用した場合に、漢字の「へん」と「つくり」が離れてしまうなどの、不自然な文書画像を作りだしてしまう問題に鑑み、本実施形態では、単語間ではなく、文字或いは文字を構成する要素（へん、つくり等）間の空白長を利用し、且つ、できるだけ不自然さが少なく、デジタル上においては確実に透かし情報の抽出が可能な埋め込みを提案する。
【００１０】
本実施形態は、大きく分けて、電子透かし埋め込み手法と、電子透かし抽出手法に分けられる。図１に電子透かし埋め込み手法の概要を、図２に電子透かし抽出手法の概要を示す。以下、順を追って説明する。
【００１１】
＜埋め込み法＞
先ず、電子透かし埋め込み法について述べる。図１において、入力文書画像１０１（例えばイメージスキャナ等で読み取る）は、先ず後述する文書画像解析部１０２によって、テキスト領域やグラフ等の図形の領域に分割され、さらにテキスト領域に対しては、文字要素毎に外接矩形が抽出される。その結果が図示の符号１０４である。ここで、文字要素とは、文字認識技術で知られている射影技術（水平・垂直方向にドットのヒストグラムを作成し、行間、文字要素間を判定する技術）を用いて抽出された矩形領域（連続する有意なドットの広がりに外接する矩形）を指し、一つの文字である場合と、文字の構成要素（へん、つくり等）である場合がある。なお、文書画像中のテキスト領域（文字列領域）と非テキスト領域への領域分割（分離）は公知の技術を用いるとする。また、図示の符号１０４は分かり易く示しているものであり、実際は、例えば文書画像の左上隅を原点にし、その位置から各矩形の左上隅、右下隅の座標、或いは、矩形の左上隅の座標とその矩形の高さ及び幅等のデータを抽出し、それを文字の並び順にメモリに記憶するものであり、図示の如く矩形を描画するものではない。
【００１２】
また、抽出されたテキスト領域内の各文字（或いは文字要素）の外接矩形の情報（座標データ）から、外接矩形間の空白長を算出する。
【００１３】
詳細は後述するが、或る行の矩形の数が３０個（文字数が３０であるとは限らない）あった場合、両端の矩形は除外し、２番目の矩形、４番目の矩形、…と偶数番めの矩形に着目する。今、或る注目矩形とその前に位置する矩形（以下、前矩形）との間の空白長Ｐ、注目矩形とその後続する矩形（後矩形）との間の空白長Ｓを算出し、注目矩形を左右に微小距離シフトしてＰ，Ｓの関係を制御することで、注目矩形に対して情報１ビット（０か１）を埋め込む。１行が３０矩形の場合には、３０／２−１＝１４ビットを埋め込むことになる。なお、ここでは偶数番めの矩形について情報を埋め込む例を示したが、前後する矩形が存在する矩形に対して情報を埋めこめばよいので、この条件を満たす限りは奇数番目の矩形に情報を埋め込んでも構わない。また、埋め込む矩形が１つ置きに（間に埋め込み対象外の矩形を１つ設けること）したのは、連続する矩形に順に情報を埋め込むと、１つの空白距離が前後する矩形で共有する状態となってしまい、制御できるのが常に後矩形との距離としてなってしまい、徐々に誤差が累積されてしまい、レイアウトが大きく変わるためである。
【００１４】
上記のようにして、或る外接矩形内の領域を左右にシフトすることで、電子透かし情報１０６を埋め込んだ文書画像１０５を透かし埋め込み処理（１０３）で生成することになる。
【００１５】
＜文書画像解析技術＞
文書画像解析技術は本来、文字認識技術の要素技術の一つであり、入力された文書画像に対して、テキスト領域やグラフ等の図形の領域などへの分割と、テキスト領域に対しては、射影を用いて文字単位での切り出しを行うものである。例として、特開平６−６８３０１を挙げることができる。
【００１６】
＜抽出手法＞
次に電子透かし抽出手法について述べる。電子透かし抽出手法においては、電子透かし埋め込み手法と同様、先ず、文字認識技術で使われる文書画像解析手段２０２によって、透かし埋め込み画像２０１（イメージスキャナ等で読み取る）から、領域分割と射影によって、文字毎に外接矩形２０３を抽出する。次に抽出された外接矩形群の情報を用いて、隣接する外接矩形間の空白長を算出する。
【００１７】
その偶数番目の矩形に注目し、前矩形間の距離Ｐ、後矩形間の距離Ｓの関係から注目矩形に埋め込まれた情報１ビットを抽出する。これをその行の他の矩形（偶数番めの矩形）についても同様に行い、埋め込まれた情報を抽出していく。
【００１８】
＜埋め込み規則＞
次に埋め込み規則について述べる。先ず、１ビットの情報を埋め込む矩形の前後の空白長を上記のようにＰ，Ｓと定める（図３参照）。この１ビットを埋め込むための矩形は、先に説明したように１つの行において両端の矩形を除いて、一つおきに定まる。次にここで定めた空白長Ｐ，Ｓに対して、（Ｐ−Ｓ）／（Ｐ＋Ｓ）を算出し（但し、この値は０、若しくは小さな値になるので分母に小さな値を乗算、若しくは分子に大きな値を乗算することになる）、適当な量子化ステップで量子化する。量子化代表値には、交互に０か１を割り当てておく。
【００１９】
透かし情報抽出の際には、例えば、図４の式１によって、埋め込まれている値を抽出（「mod」は２で割ったときの余りを返す関数であり、２値化にすることを意味している）することができる。ここでαは量子化ステップを示す。
【００２０】
透かし情報埋め込みの際には、１ビットを埋め込むための矩形（文字若しくは文字構成要素の）外接矩形内の領域を、１ピクセルずつ左右にふりながら、図４の式１を算出し、その結果が埋め込もうとする値(０若しくは１)となるまで、平行移動の方向（左または右）と幅（ピクセル数）を探索する。
【００２１】
この探索のフローチャートを図５並びに図６に示す。また、これらの詳細について以下に説明する。なお、説明を簡単なものとするため、文書画像が横書きである例について説明する。
【００２２】
まず、変数の意味であるが、これは以下の通りである。
【００２３】
変数ｉは平行移動幅の候補を示す。変数Flag1は情報を埋め込むのに動かす矩形を、距離iだけ右に動かす際に右の矩形と接触するか否かを示し、接触する場合には１を取る。また、変数Flag2は距離iだけ左に矩形を動かす際に、接触するか否かを示す。Flag1同様、接触する場合に１を取る。
【００２４】
次に、このフローチャートの各処理を、処理のフローに沿って説明する。このフローはステップＳ５０１から開始する。
【００２５】
本処理が開始されると、まず、ステップＳ５０２で、変数群の初期値を設定する。すなわち、ｉ＝ｆｌａｇ１＝ｆｌａｇ２＝０とする。
【００２６】
次いで、ステップＳ５０３では、埋め込みのために動かす対象の注目矩形（注目文字或いは文字要素の部分イメージ、以下略）を距離ｉだけ右に平行移動した際に、右隣の文字若しくは文字要素である矩形（前矩形）に接触するか否かを判定する。接触する場合にはステップＳ５０４に進み、変数ｆｌａｇ１を“１”にセットする。
【００２７】
また、ステップＳ５０５では、注目矩形を距離ｉだけ左に平行移動した際に、左隣の矩形に接触するか否かを判定する。接触する場合にはステップＳ５０６でｆｌａｇ２に“１”にセットする。
【００２８】
ステップＳ５０７では、平行移動の距離ｉで示される値の際、左右両方に接触してしまうか否かを判定する。左右両方に接触してしまう場合には、ステップＳ５０８で平行移動幅を０とし、平行移動幅の計算を終了し、この場合は、埋め込みが不可能とする。
【００２９】
また、左右両方に接触はしないと判断した場合、図６のステップＳ６０１に進む。このステップＳ６０１では、注目矩形を距離iだけ右に平行移動する際に、埋め込もうとするビットが図４の式１によって、得られるか否かを判定する。得られる場合には、ステップＳ６０２において平行移動幅をｉとして平行移動幅の計算を終了する。なお、ここで平行移動幅は、値が正の場合に、右に平行移動することを意味し、負の場合には、左に平行移動することを意味するものと定める。
【００３０】
ステップＳ６０３では、注目矩形を距離iだけ左に平行移動する際に、埋め込もうとするビットが図４の式１によって、得られるか否かを判定する。得られる場合には、ステップＳ６０４において平行移動幅を−ｉとして平行移動幅の計算を終了する。
【００３１】
ステップＳ６０５においては、ｉの値をインクリメントし、ステップＳ５０３へ処理を戻す。
【００３２】
探索結果を、平行移動する方向と距離と定めた上で、実際に１ビットを埋め込むための文字の外接矩形内の領域を平行移動する。以上のような処理を、文書画像全体に対して行うことで、電子透かし情報を文書画像に埋め込むことができる。
【００３３】
埋め込むべき全文字或いは全文字要素についてのシフト量が決定される（決定された各矩形のシフト量は、その矩形を特定する情報と関連付けられて一旦メモリに格納される）ので、オリジナル文書画像中の該当する矩形内のイメージをその決定されたシフト量に従ってシフトし、埋め込み後の文書画像を生成することになる。
【００３４】
以上説明した埋め込み手法，抽出手法は、図７に示す信号処理装置を用いて実現可能である。
【００３５】
同図において、ホストコンピュータ７０１は例えば一般に普及しているパーソナルコンピュータで実現できる。スキャナ７１４は透かし情報の埋め込み対象となる文書の原稿を読み取るためのものである。また、コンピュータ７０１は読み取った画像を編集・保管することが可能である。更に、ここで得られた画像をプリンタ７１５から印刷させることが可能である。また、ユーザーからの各種マニュアル指示等は、マウス７１２、キーボード７１３からの入力により行われる。
【００３６】
ホストコンピュータ７０１の内部では、バス７１６により後述する各ブロックが接続され、種々のデータの受け渡しが可能である。
【００３７】
図中、７０３は、内部の各ブロックの動作を制御、或いは内部に記憶されたプログラムを実行することのできるＣＰＵである。７０４は、印刷されることが認められていない特定画像を記憶したり、あらかじめ必要な画像処理プログラム等を記憶しておくＲＯＭである。７０５は、ＣＰＵにて処理を行うために一時的にプログラムや処理対象の画像データを格納しておくＲＡＭである。７０６は、ＯＳやアプリケーション等のＲＡＭ等に転送されるプログラムや画像データをあらかじめ格納したり、処理後の画像データを保存することのできるハードディスク（ＨＤ）である。７０７は、原稿或いはフィルム等をＣＣＤにて読み取り、画像データを生成するスキャナと接続し、スキャナで得られた画像データを入力することのできるスキャナインターフェイス（Ｉ／Ｆ）である。７０８は、外部記憶媒体の一つであるＣＤ（ＣＤ−Ｒ）に記憶されたデータを読み込み或いは書き出すことのできるＣＤドライブである。７０９は、７０８と同様にＦＤからの読み込み、ＦＤへの書き出しができるＦＤドライブである。７１０も、７０８と同様にＤＶＤからの読み込み、ＤＶＤへの書き出しができるＤＶＤドライブである。尚、ＣＤ，ＦＤ，ＤＶＤ等に画像編集用のプログラム、或いはプリンタドライバが記憶されている場合には、これらプログラムをＨＤ７０６上にインストールし、必要に応じてＲＡＭ７０５に転送されるようになっている。７１１は、マウス７１２或いはキーボード７１３からの入力指示を受け付けるためにこれらと接続されるインターフェイス（Ｉ／Ｆ）である。
【００３８】
かかる構成において、アプリケーションを用いて、スキャナ７１４で透かし情報を埋め込む対象となる原稿を読み取ることになる（場合によってはＨＤ７０６やリムーバル記憶媒体に格納された文書画像でも良い）。次いで、透かし情報（例えば著作者名等の情報）をキーボード７１３等から入力し、その情報をビット列にして、先に説明した処理を実行するプログラムを実行させ、情報の埋め込みを行う。埋め込まれ、生成された文書画像は例えばネットワーク上に格納して第三者が閲覧できるようにしても良いし、プリンタ７１５で印刷するようにしても構わない。
【００３９】
また、上記実施形態では、埋め込むビットの情報として、図４の式を用いた。単純にＰからＳを減じた値が０以上か０未満かによって、“０”、“１”の１ビットを埋め込んでも良いが、この場合、文書画像の文字サイズ等は一切考慮されない。すなわち、文字が小さい文書や文字が大きな文書等に適応的に対処できない。かかる点、図４のようにすることで、文字サイズが大きい場合に相対的に文字（矩形）間の距離も大きくなることに適用できることになり、より自然な出力結果を得ることができる。また、図４における分母に乗算するαは小さな値を取ることになるが、この値も適応的に変化させるようにしてもよい（例えば、矩形間の平均距離に応じて変化する等）。
【００４０】
また、上記実施形態では、シフトする量を示す変数ｉは“１”、すなわち、読み取った画像における１画素単位にシフトする例を説明した。この場合の１画素はイメージスキャナの読み取り解像度に依存するものとなるものの、第三者が同じ解像度で読み取るとは限らない。そこで、シフトする最小単位は、その原稿の読み取り解像度に依存して決定するようにしてもよい。最も単純な手法は、現存するほとんどのイメージスキャナは最低でも２００ｄｐｉの解像度はあるだろうから、この２００ｄｐｉで読み取ったとしたときの１画素のサイズを基準にしする。従って、６００ｄｐｉの解像度を有するスキャナで読み取った場合には、変数ｉは“３”単位に増加させるようにする。
【００４１】
また、上記実施形態では、文字或いは文字を構成する要素に着目して処理を行ったが、図４の式を英語等の言語における文章中の単語間の空白部分に適用しても構わない。一般に英単語は、数文字で構成されるものであるので、一行中の単語間の空白部分の数は、日本語等の漢字圏より少なく、埋め込む情報量が少なくなるが、単語間の空白部分を自然な状態で維持することは可能になるという効果がある。単語間の空白と、文字間の空白の区別は、所定距離以上を単語間と認定する等の処理を行えばよい。当然、シフトするのは単語全体をシフトさせることになる。なお、埋め込まれた情報を抽出するのは、第１の実施形態での対象が文字から単語になったものであるので、その説明は省略する。
【００４２】
＜第２の実施の形態＞
上記第１の実施形態は、既存の文書画像を例にして説明したが、本願発明はこれに限定されるものではない。例えば、パーソナルコンピュータで動作しているＯＳが米国マイクロソフト社のＷｉｎｄｏｗｓの場合、それにインストールするプリンタドライバに上記の機能を搭載するようにしても構わない。
【００４３】
以下、プリンタドライバで実現する場合の動作処理を図８のフローチャートに従って説明する。
【００４４】
ワープロ等のアプリケーション等から印刷指示を受けると、本プリンタドライバが起動する。
【００４５】
まず、ステップＳ８１で印刷しようとする文書に対して埋め込みを行うか否かを問い合わせるメッセージを表示し、操作者に選択させる。なお、この選択は、印刷処理の際に表示されるダイアログボックスを活用し、そのオプションを選択した際に表示されるようにしても構わない。
【００４６】
いずれにせよ、ステップＳ８２では埋め込みが指示されたか否かを判断し、否の場合には、通常のプリンタドライバと同様の動作を行うべく、ステップＳ８３に進む（例えばＰＤＬ記述言語に変換して出力する処理）。
【００４７】
また、ステップＳ８２で埋め込みが指示されていると判断した場合には、ステップＳ８４に進み、操作者に埋め込むべき情報を入力を行わせる。なお、埋め込み情報を入力するタイミングは、このタイミングである必要はなく、例えばステップＳ８１で埋め込みを行うタイミングで入力するようにしても構わないし、予め著作情報を記述したファイルとして、或いはレジストリに登録しておき、その内容を活用するようにしても構わない。
【００４８】
ステップＳ８５では、ＯＳを介してアプリケーションより受信した印刷対象のデータを解析し、それが文字に関するものである場合には、印刷用の文字パターンを発生し、その外接矩形（１つの文字に対して２つ発生する場合もあり得る）の算出、及び、前後する矩形との距離に基づいて着目矩形に対し情報の埋め込みを行う。埋め込むべき矩形は、後続する矩形があることが必要になるから、実際は３つの矩形が生成される毎にに行うことになる。いずれにしても、アプリケーションから渡されるデータを解析すれば、それが文字に関するものであるのか、イメージや図形等の非文字情報であるのか確実に判別できることになるので、像域分離は単純なものとすることが可能となる。
【００４９】
こうして、印刷出力するだけの最低単位の埋め込み後のイメージ（例えば１ページ分のイメージ）が生成されると、それをステップＳ８６でＯＳに出力し、ＯＳはそのデータをプリンタに出力する処理を行うことになる。
【００５０】
上記の如く、本第２の実施形態の場合、透かし情報を埋め込む場合には、文字を含む文書データをイメージデータの形式でプリンタに出力せざるを得ないが、一般的なユーザーにとっては通常のアプリケーションにおける作業の一貫として埋め込みを行うことが可能となる。つまり、埋め込みに関する格別な知識がなくても、実現できることになる。
【００５１】
＜他の実施形態＞
上記の如く、本発明は、汎用の情報処理装置（パーソナルコンピュータ等）のコンピュータ（CPUあるいはMPU）によって実現可能である。従って、コンピュータに上記実施の形態を実現するためのソフトウエアのプログラムコードを供給し，このプログラムコードに従って上記システムあるいは装置のコンピュータが上記各種デバイスを動作させることにより上記実施の形態を実現する場合も本発明の範疇に含まれる．
またこの場合，前記ソフトウエアのプログラムコード自体が上記実施の形態の機能を実現することになり，そのプログラムコード自体，及びそのプログラムコードをコンピュータに供給するための記憶媒体、具体的には上記プログラムコードを格納した磁気ディスク（フロッピーディスクやハードディスク）、光ディスク（ＣＤＲＯＭ、ＣＤ−Ｒ等）、メモリカード、テープ（紙テープ、磁気テープ等）、ＲＯＭ素子等を用いることができる．
また，上記コンピュータが，供給されたプログラムコードのみに従って各種デバイスを制御することにより，上記実施の形態の機能が実現される場合だけではなく、上記プログラムコードがコンピュータ上で稼働しているOS(オペレーティングシステム)、あるいは他のアプリケーションソフト等と共同して上記実施の形態が実現される場合にもかかるプログラムコードは本発明の範疇に含まれる。
【００５２】
更に，この供給されたプログラムコードが，コンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後，そのプログラムコードの指示に基づいてその機能拡張ボードや機能格納ユニットに備わるCPU等が実際の処理の一部または全部を行い，その処理によって上記実施の形態が実現される場合も本発明の範疇に含まれる。
【００５３】
以上説明した様に、本実施形態によれば、１文字毎、或いは該１文字を構成する"へん"や"つくり"などの部分構成毎に空白長が存在するような文書画像に適した、電子透かし情報の埋め込みを行うことができる。また、互いに隣接する各単語、文字、部分構成等の空白長がいかなるものであっても、電子透かし情報を埋め込む為のこの空白長の変動量をできるだけ小さく抑え、視覚的な画質劣化を抑えることができる。
【００５４】
また互いに隣接する各単語、文字、部分構成等の空白長がいかなるものであっても、電子透かし情報を埋め込む為のこの空白長の変動量をできるだけ小さく抑え、視覚的な画質劣化を抑えることが可能になる。
【００５５】
【発明の効果】
以上説明したように本発明によれば、文字間の空白部分の距離を利用して情報の埋め込みを行い、自然な出力を得ることを可能にし、且つ、単語間に対するものより、より多くの情報を埋め込むことが可能になる。
【００５６】
また、他の発明によれば、単語間の空白を利用するにしても、より自然な出力結果とすることが可能になる。
【図面の簡単な説明】
【図１】実施形態における電子透かし埋め込みのための機能ブロック図である。
【図２】実施形態における電子透かしの抽出のための機能ブロック図である。
【図３】実施形態における埋め込み処理を説明するための図である。
【図４】実施形態における埋め込み／抽出処理における量子化の演算式を示す図である。
【図５】実施形態における埋め込み処理のフローチャートである。
【図６】実施形態における埋め込み処理のフローチャートである。
【図７】実施形態における情報処理装置に適用した際のブロック構成図である。
【図８】第２の実施形態におけるプリンタドライバの動作処理手順を示すフローチャートである。
【図１】
0003728209.tif 000002
【図２】
0003728209.tif 000003
【図３】
0003728209.tif 000004
【図４】
0003728209.tif 000005
【図５】
0003728209.tif 000006
【図６】
0003728209.tif 000007
【図７】
0003728209.tif 000008
【図８】
0003728209.tif 000009