説明

情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、情報抽出プログラム及び記録媒体

【課題】 印刷やスキャンといった処理による画質の劣化の影響を受けにくい態様で文書画像に情報を埋め込むことができる、又はそのように埋め込まれた情報を抽出することができる情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、情報抽出プログラム及び記録媒体の提供を目的とする。
【解決手段】 文書画像における文字間隔の間隔長を用いて前記文書画像に情報を埋め込む情報埋め込み装置であって、前記文書画像における各文字間隔について、所定区間の値をとらないように前記間隔長を変更し、前記間隔長が前記所定区間の上界の値をとる前記文字間隔に前記情報を埋め込む情報埋め込み手段を有することにより上記課題を解決する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、情報抽出プログラム及び記録媒体に関し、特に特に文書画像への情報の埋め込み、又は文書画像からの情報の抽出を行うための情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、情報抽出プログラム及び記録媒体に関する。
【背景技術】
【0002】
電子透かし技術に代表されるように、従来より、文書画像に任意の情報を人間が容易に視認できない形で埋め込む技術の検討が行われている。例えば、特許文献1には、単語の前後の空白の長さの組み合わせを1つの符号単位とし、前後の長さの比率を署名データのビット値に応じて変化させることで、著作権を保護するための証明データを埋め込む方法が示されている。
【0003】
また、特許文献2には、前後の文字間隔P及びSを用いて、P−SとP+Sとの比を量子化することで情報を埋め込む方法が示されている。
【0004】
更に、特許文献3には、所定数の空白の大小関係のパターンによって情報を埋め込む方法が示されている。
【0005】
このように特許文献1、2及び3は、いずれも文字要素等の間隔(以下「文字間隔」という。)を用いて情報を埋め込み、抽出するものである。
【特許文献1】特開平09−186603号公報
【特許文献2】特開2002−232679号公報
【特許文献3】特開2004−023563号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、文字間隔の長さを用いて情報を埋め込む場合、情報の埋め込まれた文書画像の印刷、及びその印刷物のスキャンといったアナログ処理過程において、文字要素が移動あるいは膨張することがある。その結果、文字要素同士が結合され、文字間隔の長さを正しく抽出できなくなるという問題がある。
【0007】
本発明は、上記の点に鑑みてなされたものであって、印刷やスキャンといった処理による画質の劣化の影響を受けにくい態様で文書画像に情報を埋め込むことができる、又はそのように埋め込まれた情報を抽出することができる情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、情報抽出プログラム及び記録媒体の提供を目的とする。
【課題を解決するための手段】
【0008】
そこで上記課題を解決するため、本発明は、請求項1に記載されるように、文書画像における文字間隔の間隔長を用いて前記文書画像に情報を埋め込む情報埋め込み装置であって、前記文書画像における各文字間隔について、所定区間の値をとらないように前記間隔長を変更し、前記間隔長が前記所定区間の上界の値をとる前記文字間隔に前記情報を埋め込む情報埋め込み手段を有することを特徴とする。
【0009】
このような情報埋め込み装置では、情報が埋め込まれない文字間隔と、情報が埋め込まれる文字間隔との間隔長との間に所定の区間が設けられた画像を生成することができる。したがって、画像の劣化によって文字要素が膨張等した場合であっても、情報が埋め込まれた文字間隔と情報が埋め込まれていない文字間隔との区別とを容易なものとすることができる。
【0010】
また、上記課題を解決するため、本発明は、請求項11に記載されるように、請求項1乃至10いずれか一項記載の情報埋め込み装置によって文書画像に埋め込まれた情報を、前記文書画像における文字間隔の間隔長に基づいて抽出する情報抽出装置であって、前記間隔長が所定の閾値以上又は前記所定の閾値より大きい文字間隔の前記間隔長に基づいて情報を抽出する情報抽出手段を有することを特徴とする。
【0011】
このような情報抽出装置では、情報が埋め込まれる文字間隔との間隔長との間に所定の区間が設けられた画像より適切に情報を抽出することができる。
【0012】
また、上記課題を解決するため、本発明は、上記情報埋め込み装置における情報埋め込み方法、前記情報埋め込み方法を前記情報埋め込み装置に実行させるための情報埋め込みプログラム、又は前記情報埋め込みプログラムを記録した記録媒体としてもよい。
【0013】
また、上記課題を解決するため、本発明は、上記情報抽出装置における情報抽出方法、前記情報抽出方法を前記情報抽出装置に実行させるための情報抽出プログラム、又は前記情報抽出プログラムを記録した記録媒体としてもよい。
【発明の効果】
【0014】
本発明によれば、印刷やスキャンといった処理による画質の劣化の影響を受けにくい態様で文書画像に情報を埋め込むことができる、又はそのように埋め込まれた情報を抽出することができる情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、情報抽出プログラム及び記録媒体を提供することができる。
【発明を実施するための最良の形態】
【0015】
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における情報埋め込み・抽出装置の機能構成例を示す図である。図1において、情報埋め込み・抽出装置10は、画像解析部11、情報埋め込み部12、情報抽出部13、印刷部14、及びスキャン部15等を有する。
【0016】
画像解析部11は、例えば、OCR(Optical Character Recognition)の文字領域分割技術等を用いて、文書画像からの文字領域の抽出、抽出された文字領域からの行の抽出、及び抽出された行における文字要素間の間隔(以下「文字間隔」という。)の抽出等を行う機能である。
【0017】
情報埋め込み部12は、文書画像を操作して、文書画像の文字間隔の長さ(以下「間隔長」という。)を変更することにより、文書画像に情報を埋め込む機能である。
【0018】
情報抽出部13は、情報が埋め込まれた文書画像から当該情報を抽出する機能である。印刷部14及びスキャン部15は、情報埋め込み・抽出装置10に接続されるプリンタ20やスキャナ30のドライバソフト等を含む機能である。
【0019】
図2は、本発明の実施の形態における情報埋め込み・抽出装置のハードウェア構成例を示す図である。図2の情報埋め込み・抽出装置10は、それぞれバスBで相互に接続されているドライブ装置100と、補助記憶装置102と、メモリ装置103と、演算処理装置104と、表示装置105と、入力装置106と等を有するように構成される。
【0020】
情報埋め込み・抽出装置10での処理を実現するプログラムは、フロッピー(登録商標)ディスク、MO、CD−ROM/R/RW、DVD−ROM/R/RW、又はメモリカード等の記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。補助記憶装置102は、インストールされたプログラムを格納すると共に、処理対象とする画像データ等を格納する。
【0021】
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。演算処理装置104は、メモリ装置103に格納されたプログラムに従って情報埋め込み・抽出装置10に係る機能を実行する。表示装置105はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置106はキーボード及びマウス等で構成され、様々な操作指示を入力するために用いられる。
【0022】
なお、情報埋め込み・抽出装置10をネットワークに接続することにより、他の端末からリモートで操作を行ってもよい。この場合、ドライブ装置100、表示装置105及び入力装置106等は、当該他の端末が有していればよく、情報埋め込み・抽出装置10が必ずしも備えている必要はない。
【0023】
以下、情報埋め込み・抽出装置10の情報の埋め込み処理の詳細について説明する。本実施の形態においては、二つの文字間隔(文字要素と文字要素との間の空白)を用いて、それらの間隔長の大小関係によって、1ビットの情報を表現する。例えば、「1」を埋め込むときは、二つの文字間隔のうち、左側の間隔長の方が大きくなるように、「0」を埋め込むときは右側の文字間隔の間隔長の方が大きくなるように間隔長を調節して情報を埋め込む。ここで、二つの文字間隔は連続している必要はない。すなわち、「ABCDE」という文字列があった場合、一つの文字要素(例えば、「B」)の両側の文字間隔である必要はなく、AとBとの文字間隔と、DとEとの文字間隔とのように、その間に複数の文字要素及び文字間隔が含まれる場合であってもよい。
【0024】
また、本実施の形態では、文書画像中の全ての文字間隔の間隔長が、開区間(α β)の値をとらないように、間隔長を変化させる。そして、間隔長が、開区間(α β)の下界に含まれる文字間隔は、情報の埋め込みには用いず、上界に含まれる文字間隔を情報の埋め込みに用いることとする。なお、α及びβは、予め定められた所定値である。
【0025】
図3は、第一の実施の形態における情報の埋め込み処理を説明するためのフローチャートである。
【0026】
例えば、ユーザによって画像データの印刷指示がなされると、情報埋め込み抽出装置10の画像解析部11は、印刷指示の対象となった画像データ(以下「対象画像データ」という。)を読み込み、対象画像データの画像(以下「対象画像」という。)をメモリ装置103内に展開する(S101)。ステップS101に続いてステップS102に進み、画像解析部11は、対象画像の文字領域を抽出する。ステップS102に続いてステップS103に進み、画像解析部11は、抽出された文字領域より行を抽出する。なお、対象画像からの文字領域の抽出や、文字領域からの行の抽出は、例えば、OCRの文字領域分割技術等を用いて行われる。文字領域分割技術等については、例えば、特許第3278471号公報及び特許第3285686号公報等に詳しく説明されている。
【0027】
ステップS103に続いてステップS104に進み、画像解析部11は、各行について文字の高さ方向の黒画素の数の射影ヒストグラムを水平方向とり、黒画素の数が水平方向に連続して0となる区間を「文字間隔」として抽出する。なお、ここで文字間隔は、必ずしも文字と文字との間の空白に限られない。すなわち、黒画素の数が水平方向に連続して0になる区間であれば、例えば、一つの漢字の偏と作りとの間であっても、文字間隔として抽出される。また、対象画像に文字以外の要素、例えば、写真、図、又は表等をも含まれている場合は、これらの各要素間及び各要素内において射影ヒストグラムが連続して0となる区間を文字間隔として抽出してもよい。
【0028】
ステップS104に続いてステップS105に進み、情報埋め込み部12は、対象画像に埋め込む情報を、ユーザに入力させる。ここで、入力された情報を、以下「入力情報」という。入力情報は、例えば、テキスト入力領域を有したダイアログ等を表示させることにより入力させてもよい。また、予め、ファイル等に保存されている情報を入力情報としてもよく、この場合、ステップS105では、当該ファイル等より入力情報を読み込むこととなる。なお、入力情報の値は、2進数による数値を直接入力させてもよいが、例えば、文字列等、人間に理解可能な形式によって入力させてもよい。
【0029】
ステップS105に続いてステップS106に進み、情報埋め込み部12は、間隔長が所定値αより大きい値を持つ文字間隔を二つ選択する。具体的には、行を左上からラスタ走査して選択し、その行の中から、間隔長が所定値αより大きな文字間隔を水平方向の並び順に選択する。なお、ここで選択される文字間隔は、連続している必要はない。
【0030】
ステップS106に続いてステップS107に進み、情報埋め込み部12は、選択された二つの文字間隔の間隔長の和が2βより大きいか否かを判定する。間隔長の和が2β以下である場合は、ステップS108に進み、情報埋め込み部12は、二つの文字間隔のうち、間隔長が小さい方の文字間隔は、情報の埋め込みには用いないため、その間隔値がαとなるように二つの文字間隔の間の文字要素(1又は二つ以上の文字要素)全体的に移動させる。ここで、当該間隔値をαとするのは、情報の埋め込みに用いない文字間隔の間隔長は、区間(α β)の下界であればいずれでもよいところ、なるべく元の値に近い値、すなわち、当該下界の最大値とすることで、当該間隔値の変動量をなるべく小さくするためである。
【0031】
その後、次の文字間隔を選択し、次の一つの文字間隔を、間隔長がαとされた文字間隔の代わりとして選択する。
【0032】
一方、間隔長の和が2βより大きかった場合は、ステップS109に進み、情報埋め込み部12は、埋め込むビット値に応じて、二つの文字間隔の間の文字要素を全体的に移動させることにより二つの文字間隔の間隔長を変更する。すなわち、「1」を埋め込む場合は、左の間隔長が右の間隔長よりも大きくなるまで、文字要素全体を右側に動かす。また、「0」を埋め込む場合、右の間隔長が左の間隔長よりも大きくなるまで、文字要素全体を左側に動かす。但し、いずれの場合でも、両方の間隔長がβ以上となるようにする。
【0033】
なお、二つの文字間隔の大小関係によって情報を埋め込む方法は、例えば、一つの間隔長に対応させて一つの文字間隔に一ビットの情報を埋め込む場合(例えば、間隔長を所定値の偶数倍又は奇数倍とすることで「0」又は「1」を埋め込む場合等)と比較して、印刷及びスキャンによる文字要素の膨張等に対する耐性は強いものと考えられる。すなわち、二つの間隔長の変動傾向は近似するものと考えられるからである。但し、両者の大小関係が逆転しないとも限らないため、両者の間隔長の差はできるだけ大きくしておくことが望ましい。すなわち、小さくする方の間隔長はβとすることが望ましい。
【0034】
ステップS109に続いてステップS110に進み、情報埋め込み部12は、入力情報を構成する全てのビットが埋め込まれたか否かを判定する。全てのビットが埋め込まれていないと判定された場合、余ったビットを対象として、ステップS106以降の処理が実行される。全てのビットが埋め込まれたと判定された場合は、情報の埋め込み処理を終え、例えば、情報の埋め込まれた画像が文書として印刷される。
【0035】
上記の処理によって情報が埋めこまれた文書画像における各文字間隔の間隔長は、α以下であるか、β以上であるということとなる。そして、間隔値がβ以上の文字間隔に情報が埋め込まれていることとなる。
【0036】
次に、図3の処理によって印刷された文書に埋め込み情報を抽出する処理について説明する。図4は、第一の実施の形態における情報抽出処理を説明するためのフローチャートである。
【0037】
例えば、図3の処理によって印刷された文書がスキャナ30に載置され、スキャンが指示されると、スキャン部15は、スキャナ30によって読み取られた文書の画像をメモリ装置103に読み込む(S201)。なお、本ステップの処理は、予めスキャンされて補助記憶装置102に保存されている画像データの画像をメモリ装置103に読み込むものであってもよい。なお、ここでメモリ装置103に読み込まれた画像を、以下「入力画像」という。
【0038】
ステップS201に続いてステップS202に進み、画像解析部11は、入力画像の文字領域を抽出する。ステップS202に続いてステップS203に進み、画像解析部11は、抽出された文字領域より行を抽出する。なお、入力画像からの文字領域の抽出や、文字領域からの行の抽出は、例えば、OCRの文字領域分割技術等を用いて行われる。ステップS203に続いてステップS204に進み、画像解析部11は、各行について文字の高さ方向の黒画素の数の射影ヒストグラムを水平方向にとり、黒画素の数が水平方向に連続して0となる区間を文字間隔として抽出する。なお、ここでの「文字間隔」は、情報を埋め込む際の文字間隔と同義である。
【0039】
ステップS204に続いてステップS205に進み、情報抽出部13は、いずれも間隔長が(α+β)/2以上である文字間隔を二つ選択する。具体的には、対象画像の左上からラスタ走査することにより検出された行の中から、水平方向の並び順に当該文字間隔を選択する。
【0040】
ステップS205に続いてステップS206に進み、情報抽出部13は、選択された二つの文字間隔の間隔長の大小を比較することにより埋め込まれたビット値を判定する。すなわち、左の間隔長が右の間隔長よりも大きければ「1」を、そうでなければ「0」をビット値として判定する、
ステップS206に続いてステップS207に進み、情報抽出部13は、埋め込み情報の全てが抽出されたか否かを判定する。この判定は、予め決められた長さのビット列が抽出されたか、抽出されたビット列から終端パターンが検出されたか、又は全ての文字間隔について抽出処理が行われたか等によって行われる。情報の抽出が完了していないと判定された場合は、ステップS205以降の処理を繰り返す。
【0041】
一方、情報の抽出が完了したと判定された場合は、ステップS208に進み、情報抽出部13は、抽出された情報を所定の出力先に出力する。所定の出力先への出力とは、例えば、表示装置105への表示、所定のファイルへの出力、又はプリンタ20への出力等が相当する。
【0042】
このように、情報の埋め込み時(図3)には、間隔長がβ以上である文字間隔に情報を埋め込んでいるにもかかわらず、情報の抽出時には、間隔長が(α+β)/2である文字間隔を、情報が埋め込まれている文字間隔であると判定している。この意義について以下に説明する。
【0043】
図5は、本発明の実施の形態における情報の埋め込み処理及び抽出処理の意義を説明するための図である。
【0044】
図3において説明した情報の埋め込み処理によって、各文字間隔の間隔長は、グラフ501に示されるように、情報が埋め込まれていない区間[0 α]と、情報が埋め込まれている区間[β ∞)の値を取ることになる。このように変更された間隔長は印刷及びスキャンなどのアナログ処理を経ることによる画質の劣化により、情報抽出時にはグラフ502に示されるように幅を帯びた分布で観測される。このとき、閾値(α+β)/2によって情報が埋め込まれたものと埋め込まれていないものに各文字間隔を分離することができる。原理的には、アナログ処理による最大の誤差が|α−β|/2より小さければ、正しく情報を分離することができるというわけである。
【0045】
更に、上記の情報の埋め込み処理と抽出処理を具体的に説明する。図6は、情報の埋め込み処理及び抽出処理を具体的に説明するための図である。図6においては、「文書画像」という文字列の中に、1ビット分の値「1」を埋め込み、抽出する場合を例として説明する。ここで、文字間隔A、B、及びCのそれぞれの間隔長はαより大きく、また、文字間隔AとBとの間隔長の和は2β以下であり、文字間隔AとCとの間隔長の和は2βより大きいとする。なお、図6における各ステップ番号は、図3又は図4に対応している。
【0046】
まず、間隔長がαより大きい二つの文字間隔A及びBが選択される(S106)。但し、文字間隔A及びBの間隔長の合計が2β以下であるため、間隔長の小さい方の値(ここでは、文字間隔Bの間隔長の値)をαとし、次の文字間隔Cを選択する(S108)。したがって、文字間隔A及びCが二つの文字間隔として選択されたことになる。
【0047】
文字間隔A及びCの間隔長の合計は2βより大きいので、二つの文字間隔に挟まれている要素「書画」を全体的に移動させ、文字間隔Aの間隔長より文字間隔Cの間隔長が大きくなるようにすることにより「1」を埋め込む。ただし、文字間隔A及びBのいずれの間隔長もβ以上となるようにする
情報の埋め込まれた画像を印刷し、さらに印刷された原稿をスキャンする(S150)。このアナログ処理過程によって画質が劣化することにより、文字間隔に誤差が加わる場合がある。
【0048】
スキャンされた画像より、間隔長が(α+β)/2以上の文字間隔を二つ選択する(S205)。ここで、印刷及びスキャンによって生じた誤差が、|α−β|/2より小さければ、文字間隔Aと文字間隔Cとが選択される。そして、文字間隔Aより文字間隔Cの方が間隔長が大きいため、埋め込まれているビット値は「1」であると判定される(S206)。
【0049】
上述したように、第一の実施の形態における情報埋め込み・抽出装置10によれば、情報の埋め込みに使用する文字間隔の間隔長を所定値(β)以上とすることで、印刷及びスキャンといったアナログ処理を通じて、当該文字間隔を形成する文字要素同士が結合する可能性を低下させることができる。
【0050】
また、間隔長が、所定値(α)以下の文字間隔は情報の埋め込み間隔として用いないため、印刷及びスキャンによって失われやすい狭い文字間隔を情報の埋め込み対象から分離することができる。また、狭い文字間隔を動かすと人間の視覚的に不自然さを生じ易い傾向にあるところ、この狭い文字間隔には情報を埋め込まないため不自然さを低減させることができる。
【0051】
また、間隔長について、情報が埋め込まれない区間(−∞ α]、情報が埋め込まれる区間[β ∞)との間に緩衝区間(α β)を設けることにより、印刷及びスキャンによって文字要素が変動したとしても情報埋め込み領域と非埋め込み領域とを情報抽出時にロバストに分離することができる。これによって、アナログ処理過程に対してロバストな情報抽出と、人間の視覚的に画質劣化の少ない情報埋め込みとを共に実現することができる。
【0052】
また、間隔長がα以上であった文字間隔であって、情報の埋め込みに用いられない文字間隔については、上記緩衝区間における下界の最大値(α)に補正されるため、当該間隔長の変動をできるだけ小さく抑えることができ、人間の視覚に対して不自然な画像となることを抑制することができる。
【0053】
また、情報抽出時には、間隔長がβ以上の文字間隔を検索するのではなく、(α+β)/2以上の文字間隔を検索するため、アナログ処理によって間隔長が変動した場合でも、適切に情報を抽出することができる。
次に、第二の実施の形態として、情報埋め込み・抽出装置10が、処理対象とする画像に適応させて所定値α及びβを動的に算出する例について説明する。第二の実施の形態における情報の埋め込み処理は、第一の実施の形態(図3)に対して、ステップS106における、間隔値がαより大きい二つの文字間隔の選択処理のみが異なる。したがって、当該処理のみについて説明する。
【0054】
図7は、第二の実施の形態の情報の埋め込み処理における間隔値がαより大きい二つの文字間隔の選択処理を説明するためのフローチャートである。
【0055】
まず、情報埋め込み部12は、二つの文字間隔を選択する(S106−1)。具体的には、行を左上からラスタ走査して選択し、その行の中から、水平方向の並び順に文字間隔を選択する。なお、第二の実施の形態においては、この時点でα及びβの値は定まっていない。したがって、ここでの文字間隔の選択においては、間隔長がαより大きいという制限はなく、単純に順番に選択される。
【0056】
更に、情報埋め込み部12は、選択された二つの文字間隔を形成する文字要素の高さの和に所定の第一の係数を乗ずることにより算出される値をαとし、第二の係数を乗ずることにより算出される値をβとする(S106−2)。ここで、選択された二つの文字間隔を形成する文字要素とは、図6において、文字間隔AとBとが選択されている場合は、文字要素「文」、「書」及び「画」をいう。したがって、この場合、「文」、「書」及び「画」の文字要素のそれぞれの高さの合計に所定の係数を乗じたものが、α及びβとされる。但し、ここで、α<βとなるようにそれぞれを算出する。また、後述するステップS106−4において新たな文字間隔が選択された場合のように、文字間隔AとCとが選択された場合は、二つの文字間隔の間に二つ以上の文字要素(ここでは、「書」及び「画」)が含まれている。このような場合は、文字間隔の間の二つ以上の文字要素を囲む長方形の高さを一つの高さとして扱い、他の両端の文字(ここでは、「文」及び「像」)の高さとの合計に所定の係数を乗ずればよい。
【0057】
続いて、情報埋め込み部12は、選択されている二つの文字間隔が、いずれも算出されたαより大きいか否かを判定する。この条件が満たされる場合は、当該二つの文字間隔を対象として、ステップS107(図3)に進む。一方、すくなくとも一方の文字間隔の間隔値がα以下である場合は、その文字間隔に代わる次の文字間隔を選択し(S106−4)、ステップS106−2以降の処理を繰り返す。これによって、動的に算出されたαより大きな間隔値を持つ二つの文字間隔が選択される。
【0058】
次に、第二の実施の形態における情報抽出処理について説明する。第二の実施の形態における情報抽出処理は、第一の実施の形態(図4)に対して、ステップS205における、間隔値が(α+β)/2以上である二つの文字間隔の選択処理のみが異なる。したがって、当該処理のみについて説明する。
【0059】
図8は、第二の実施の形態の情報抽出処理における間隔値が(α+β)/2以上の二つの文字間隔の選択処理を説明するためのフローチャートである。
【0060】
まず、情報抽出部13は、二つの文字間隔を選択する(S205−1)。具体的には、行を左上からラスタ走査して選択し、その行の中から、水平方向の並び順に文字間隔を選択する。なお、第二の実施の形態においては、この時点でα及びβの値は定まっていない。したがって、ここでも文字間隔の選択においては、間隔長がαより大きいという制限はなく、単純に順番に選択される。
【0061】
更に、情報抽出部13は、情報埋め込み部12によるα及びβの算出方法と同様に、選択された二つの文字間隔を形成する文字要素の高さの和に所定の第一の係数を乗ずることにより算出される値をαとし、第二の係数を乗ずることにより算出される値をβとする(S205−2)。
【0062】
続いて、情報抽出部13は、選択されている二つの文字間隔が、いずれも(α+β)/2以上であるかを判定する(S205−3)。この条件が満たされる場合は、当該二つの文字間隔を対象として、ステップS207(図4)に進む。一方、すくなくとも一方の文字間隔の間隔値が(α+β)/2より小さい場合は、その文字間隔に代わる次の文字間隔を選択し(S205−4)、ステップS205−2以降の処理を繰り返す。これによって、(α+β)/2以上の間隔値を持つ二つの文字間隔が選択される。
【0063】
上述したように、第二の実施の形態における情報埋め込み・抽出装置10によれば、文字要素の大きさい応じてα及びβの値が算出されるため、人間の視覚に不自然な画像となることをより抑制することができる。なお、α及びβの算出方法は様々である。すなわち、上記において3つの文字要素の高さを用いたのは、あくまでも例であり、例えば、一つの文字要素の高さや、又は幅を用いて算出してもよい。要は、文字要素の大きさに応じてα及びβを算出すれば、文字要素の大きさに応じた間隔長によって情報を埋め込むことができ、それによって不自然な画像の発生を防止できる可能性が高まるという考えによる。
【0064】
ところで、上記においては、画像データに基づいて情報を埋め込む例を説明したが、ワープロソフト等のアプリケーションデータを印刷する際に、本発明に係る情報の埋め込み方法によって印刷物に情報を埋め込んでもよい。そこで、第三の実施の形態として、アプリケーションデータを印刷する際に、情報を埋め込む例について説明する。
【0065】
図9は、第三の実施の形態における情報の埋め込み処理を説明するためのフローチャートである。図9の処理は、アプリケーションデータが、ワープロソフト等のアプリケーションに読み込まれた状態から開始される。
【0066】
ユーザが、アプリケーションの印刷メニューを選択すると、印刷部14におけるプリンタドライバのユーザインタフェース(以下「印刷ダイアログ」という。)が表示される(S301)。ユーザは、印刷ダイアログ上において各種印刷機能の設定を行うと共に、印刷物に情報を埋め込む場合は埋め込む情報を入力し(S302)、印刷の実行を指示する(S303)。なお、ここで埋め込む情報として入力された情報を、以下「入力情報」という。
【0067】
ステップS303に続いてステップS304に進み、プリンタドライバは、アプリケーションデータを印作先のプリンタ20が解釈可能な印刷データに変換すると共に、例えば、印刷ダイアログ上で情報の埋め込みを行う旨の設定がされているか否かを判定する。情報の埋め込みを行う旨の設定とは、例えば、印刷ダイアログ上において入力情報が入力されている場合や、又は、情報の埋め込みを行う旨のチェックボタンがチェックされている場合等が相当する。当該設定がされていない場合は、ステップS306に進み、当該設定がされている場合は、ステップS305に進む。
【0068】
ステップS305において、情報埋め込み部12等は、プリンタドライバによって生成された印刷データに入力情報を埋め込む。印刷データへの入力情報の埋め込みは、例えば、以下のように行われる。情報埋め込み部12は、印刷データの中からテキスト部分を抽出する。続いて、各文字の中心座標を抽出し、近傍の文字をまとめて行を生成する。続いて、各行の中で隣接する文字間隔を抽出する。続いて、量子化部13等は、入力情報を2進数化又はn進数化し、第一又は第二の実施例において説明した処理によって各文字間隔の丸め値を算出する。情報埋め込み部12は、量子化部13等によって算出された丸め値を実現するように、印刷データ内の各文字の座標値を操作する。
【0069】
ステップS305に続いてステップS306に進み、印刷部14によって印刷データが印刷される。
【0070】
上述したように、第三の実施の形態によれば、いわゆるイメージ情報としての画像データに限らず、アプリケーション固有の形式によるアプリケーションデータの印刷物に対しても、本発明に係る情報の埋め込み方法によって情報を埋め込むことができる。なお、図9の処理によって印刷された印刷物からの情報の抽出は、第一又は第二の実施の形態において説明した処理と同様の処理によって行えばよい。
【0071】
なお、上記においては、二つの文字間隔を用いて1ビットを表現する例について説明したが、一つの文字間隔に1ビットの情報を埋め込んでもよい。この場合、間隔長がβより小さい文字間隔には、ビット値は割り当てないこととする。また、間隔長が、α以上β未満である文字間隔については、文字間隔をαに変更すればよい。
【0072】
0と1との区別については、0を埋め込む文字間隔の間隔長は所定値θの偶数倍、1を埋め込む文字間隔の間隔長は所定値θの奇数倍となるように量子化すればよい。但し、間隔長がβ以上である間隔長をそのように量子化すする。そうすることによって、もともと間隔長がβ以上である文字間隔には、0又は1を埋め込むことができ、上記の場合(二つの文字間隔を用いて1ビットを表現する場合)よりも埋め込む情報量を増加させることができる。
【0073】
このように情報を埋め込んだ場合でも、開区間(α β)に含まれる値を間隔長とする文字間隔は存在しない画像が生成されるため、情報の抽出については、間隔長が(α+β)/2以上の文字間隔をビット値が埋め込まれている文字間隔と判定すればよい。そして、ビット値が埋め込まれているものと判定された文字間隔について、その間隔長が所定値θの偶数倍であるか奇数倍であるかによって、埋め込まれた値が0であるのか1であるのかを判定すればよい。
【0074】
但し、画質劣化に対する耐性という観点からは、上記において説明したように、二つの間隔長の大小関係に対して情報を埋め込むほうが望ましい。
【0075】
本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【0076】
【図1】本発明の実施の形態における情報埋め込み・抽出装置の機能構成例を示す図である。
【図2】本発明の実施の形態における情報埋め込み・抽出装置のハードウェア構成例を示す図である。
【図3】第一の実施の形態における情報の埋め込み処理を説明するためのフローチャートである。
【図4】第一の実施の形態における情報抽出処理を説明するためのフローチャートである。
【図5】本発明の実施の形態における情報の埋め込み処理及び抽出処理の意義を説明するための図である。
【図6】情報の埋め込み処理及び抽出処理を具体的に説明するための図である。
【図7】第二の実施の形態の情報の埋め込み処理における間隔値がαより大きい二つの文字間隔の選択処理を説明するためのフローチャートである。
【図8】第二の実施の形態の情報抽出処理における間隔値が(α+β)/2以上の二つの文字間隔の選択処理を説明するためのフローチャート。
【図9】第三の実施の形態における情報の埋め込み処理を説明するためのフローチャートである。
【符号の説明】
【0077】
10 情報埋め込み・抽出装置
11 画像解析部
12 情報埋め込み部
16 印刷部
17 情報抽出部
18 スキャン部
20、51 プリンタ
30、52 スキャナ
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 演算処理装置
105 表示装置
106 入力装置
B バス

【特許請求の範囲】
【請求項1】
文書画像における文字間隔の間隔長を用いて前記文書画像に情報を埋め込む情報埋め込み装置であって、
前記文書画像における各文字間隔について、所定区間の値をとらないように前記間隔長を変更し、前記間隔長が前記所定区間の上界の値をとる前記文字間隔に前記情報を埋め込む情報埋め込み手段を有することを特徴とする情報埋め込み装置。
【請求項2】
前記情報埋め込み手段は、前記間隔長が前記所定区間の値をとる前記文字間隔のうち、前記情報の埋め込みに用いない前記文字間隔の間隔長を前記所定区間の下界の最大値に変更することを特徴とする請求項1記載の情報埋め込み装置。
【請求項3】
前記情報埋め込み手段は、前記文書画像における文字要素の大きさに基づいて前記所定区間を算出することを特徴とする請求項1又は2記載の情報埋め込み装置。
【請求項4】
前記情報埋め込み手段は、二つの前記文字間隔の間隔長の大小関係を調節することにより、該大小関係に対して1ビットずつの情報を埋め込むことを特徴とする請求項1乃至3いずれか一項記載の情報埋め込み装置。
【請求項5】
前記情報埋め込み手段は、前記間隔値がいずれも前記所定区間の下界の最大値より大きく、かつ、前記間隔値の和が前記所定区間の上界の最小値の2倍より大きな二つの前記間隔長の大小関係に対して1ビットずつの情報を埋め込むことを特徴とする請求項4記載の情報埋め込み装置。
【請求項6】
前記情報埋め込み手段は、前記間隔値がいずれも前記所定区間の下界の最大値より大きく、かつ、前記間隔値の和が前記所定区間の上界の最小値の2倍より大きな二つの前記間隔長を前記所定区間の上界の最小値以上としつつ、前記大小関係を調節することを特徴とする請求項5記載の情報埋め込み装置。
【請求項7】
前記情報埋め込み手段は、前記間隔値がいずれも前記所定区間の下界の最大値より大きく、かつ、前記間隔値の和が前記所定区間の上界の最小値の2倍より大きな二つの前記文字間隔の間隔長のいずれか一方を、前記所定区間の最小値とすることを特徴とする請求項6記載の情報埋め込み装置。
【請求項8】
前記情報埋め込み手段は、前記間隔長を量子化することにより前記情報を埋め込むことを特徴とする請求項1乃至3いずれか一項記載の情報埋め込み装置。
【請求項9】
前記情報埋め込み手段は、それぞれの前記文字間隔に対して1ビットずつの情報を埋め込むことを特徴とする請求項8記載の情報埋め込み装置。
【請求項10】
前記情報埋め込み手段は、前記文字間隔に埋め込む値に応じて前記間隔長を所定値の偶数倍又は奇数倍に量子化することを特徴とする請求項8又は9記載の情報埋め込み装置。
【請求項11】
請求項1乃至10いずれか一項記載の情報埋め込み装置によって文書画像に埋め込まれた情報を、前記文書画像における文字間隔の間隔長に基づいて抽出する情報抽出装置であって、
前記間隔長が所定の閾値以上又は前記所定の閾値より大きい文字間隔の前記間隔長に基づいて情報を抽出する情報抽出手段を有することを特徴とする情報抽出装置。
【請求項12】
前記所定の閾値は、前記所定区間の中間値であることを特徴とする請求項11記載の情報抽出装置。
【請求項13】
前記情報抽出手段は、前記文書画像における文字要素の大きさに基づいて前記所定区間を算出することを特徴とする請求項11又は12記載の情報抽出装置。
【請求項14】
前記情報抽出手段は、二つの前記文字間隔の間隔長の大小関係に基づいて、1ビットずつの情報を抽出することを特徴とする請求項11乃至13いずれか一項記載の情報抽出装置。
【請求項15】
前記情報抽出手段は、前記間隔長に基づいてそれぞれの前記文字間隔より1ビットずつの情報を抽出することを特徴とする請求項11乃至13いずれか一項記載の情報抽出装置。
【請求項16】
文書画像における文字間隔の間隔長を用いて前記文書画像に情報を埋め込む情報埋め込み方法であって、
前記文書画像における各文字間隔について、所定区間の値をとらないように前記間隔長を変更する間隔長変更手順と、
前記間隔長変更手順の結果、前記間隔長が前記所定区間の上界の値をとる前記文字間隔に前記情報を埋め込む情報埋め込み手順とを有することを特徴とする情報埋め込み方法。
【請求項17】
前記間隔値変更手順は、前記間隔長が前記所定区間の値をとる前記文字間隔のうち、前記情報の埋め込みに用いない前記文字間隔の間隔長を前記所定区間の下界の最大値に変更することを特徴とする請求項16記載の情報埋め込み方法。
【請求項18】
前記文書画像における文字要素の大きさに基づいて前記所定区間を算出する区間算出手順を有することを特徴とする請求項16又は17記載の情報埋め込み方法。
【請求項19】
前記情報埋め込み手順は、二つの前記文字間隔の間隔長の大小関係を調節することにより、該大小関係に対して1ビットずつの情報を埋め込むことを特徴とする請求項16乃至18いずれか一項記載の情報埋め込み方法。
【請求項20】
前記情報埋め込み手順は、前記間隔長を量子化することにより前記情報を埋め込むことを特徴とする請求項16乃至18いずれか一項記載の情報埋め込み方法。
【請求項21】
前記情報埋め込み手順は、それぞれの前記文字間隔に対して1ビットずつの情報を埋め込むことを特徴とする請求項20記載の情報埋め込み方法。
【請求項22】
前記情報埋め込み手順は、前記文字間隔に埋め込む値に応じて前記間隔長を所定値の偶数倍又は奇数倍に量子化することを特徴とする請求項20又は21記載の情報埋め込み方法。
【請求項23】
請求項16乃至22いずれか一項記載の情報埋め込み方法によって文書画像に埋め込まれた情報を、前記文書画像における文字間隔の間隔長に基づいて抽出する情報抽出方法であって、
前記間隔長が所定の閾値以上又は前記所定の閾値より大きい文字間隔の前記間隔長に基づいて情報を抽出することを特徴とする情報抽出方法。
【請求項24】
前記所定の閾値は、前記所定区間の中間値であることを特徴とする請求項23記載の情報抽出方法。
【請求項25】
コンピュータに、文書画像における文字間隔の間隔長を用いて前記文書画像に情報を埋め込ませる情報埋め込みプログラムであって、
前記文書画像における各文字間隔について、所定区間の値をとらないように前記間隔長を変更する間隔長変更手順と、
前記間隔長変更手順の結果、前記間隔長が前記所定区間の上界の値をとる前記文字間隔に前記情報を埋め込む情報埋め込み手順とを有することを特徴とする情報埋め込みプログラム。
【請求項26】
前記間隔値変更手順は、前記間隔長が前記所定区間の値をとる前記文字間隔のうち、前記情報の埋め込みに用いない前記文字間隔の間隔長を前記所定区間の下界の最大値に変更することを特徴とする請求項25記載の情報埋め込みプログラム。
【請求項27】
前記文書画像における文字要素の大きさに基づいて前記所定区間を算出する区間算出手順を有することを特徴とする請求項25又は26記載の情報埋め込みプログラム。
【請求項28】
前記情報埋め込み手順は、二つの前記文字間隔の間隔長の大小関係を調節することにより、該大小関係に対して1ビットずつの情報を埋め込むことを特徴とする請求項25乃至27いずれか一項記載の情報埋め込みプログラム。
【請求項29】
前記情報埋め込み手順は、前記間隔長を量子化することにより前記情報を埋め込むことを特徴とする請求項25乃至27いずれか一項記載の情報埋め込みプログラム。
【請求項30】
前記情報埋め込み手順は、それぞれの前記文字間隔に対して1ビットずつの情報を埋め込むことを特徴とする請求項29記載の情報埋め込みプログラム。
【請求項31】
前記情報埋め込み手順は、前記文字間隔に埋め込む値に応じて前記間隔長を所定値の偶数倍又は奇数倍に量子化することを特徴とする請求項29又は30記載の情報埋め込みプログラム。
【請求項32】
コンピュータに、請求項25乃至31いずれか一項記載の情報埋め込みプログラムによって文書画像に埋め込まれた情報を、前記文書画像における文字間隔の間隔長に基づいて抽出させる情報抽出プログラムであって、
前記間隔長が所定の閾値以上又は前記所定の閾値より大きい文字間隔の前記間隔長に基づいて情報を抽出する手順を有することを特徴とする情報抽出プログラム。
【請求項33】
前記所定の閾値は、前記所定区間の中間値であることを特徴とする請求項32記載の情報抽出プログラム。
【請求項34】
請求項25乃至31いずれか一項記載の情報埋め込みプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項35】
請求項32又は33記載の情報抽出プログラムを記録したコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2006−222570(P2006−222570A)
【公開日】平成18年8月24日(2006.8.24)
【国際特許分類】
【出願番号】特願2005−32177(P2005−32177)
【出願日】平成17年2月8日(2005.2.8)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】