JP4532331B2 - 情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、及び情報抽出プログラム - Google Patents

情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、及び情報抽出プログラム Download PDF

Info

Publication number
JP4532331B2
JP4532331B2 JP2005125305A JP2005125305A JP4532331B2 JP 4532331 B2 JP4532331 B2 JP 4532331B2 JP 2005125305 A JP2005125305 A JP 2005125305A JP 2005125305 A JP2005125305 A JP 2005125305A JP 4532331 B2 JP4532331 B2 JP 4532331B2
Authority
JP
Japan
Prior art keywords
character
information
length
character interval
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005125305A
Other languages
English (en)
Other versions
JP2006191520A (ja
JP2006191520A5 (ja
Inventor
崇之 原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2005125305A priority Critical patent/JP4532331B2/ja
Priority to US11/296,351 priority patent/US7630514B2/en
Publication of JP2006191520A publication Critical patent/JP2006191520A/ja
Publication of JP2006191520A5 publication Critical patent/JP2006191520A5/ja
Application granted granted Critical
Publication of JP4532331B2 publication Critical patent/JP4532331B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/189Automatic justification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Document Processing Apparatus (AREA)
  • Record Information Processing For Printing (AREA)

Description

本発明は、情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、及び情報抽出プログラに関し、特に文書画像への情報の埋め込み、又は文書画像からの情報の抽出を行うための情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、及び情報抽出プログラに関する。
電子透かし技術に代表されるように、従来より、文書画像に任意の情報を人間が容易に視認できない形で埋め込む技術の検討が行われている。例えば、特許文献1には、単語の前後の空白の長さの組み合わせを1つの符号単位とし、前後の長さの比率を署名データのビット値に応じて変化させることで、著作権を保護するための証明データを埋め込む方法が示されている。
また、特許文献2には、前後の文字間隔P及びSを用いて、P−SとP+Sとの比を量子化することで情報を埋め込む方法が示されている。
更に、特許文献3には、所定数の空白の大小関係のパターンによって情報を埋め込む方法が示されている。
特開平9−186603号公報 特開2002−232679号公報 特開2004−023563号公報
しかしながら、特許文献1記載の方法は、英文のように単語間に大きな空白がある文書には有効であるが、和文には適用が難しい。また、特許文献1及び2記載の方法は、単語又は文字の前後の空白で一つの情報を表すため、埋め込み可能な情報量が少ないという問題がある。
一方、特許文献3記載の方法によれば、N個の空白を用いてlog2N!ビットという多くの情報を埋め込むことができる。しかしながら、空白の大小関係を変更するためには大きく文字を移動させる必要があり、人間の視覚に不自然さを感じさせる画像になり易いという問題がある。
本発明は、上記の点に鑑みてなされたものであって、文書画像に適切に情報を埋め込むことができ、また、埋め込まれた情報を抽出することができる情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、及び情報抽出プログラの提供を目的とする。
そこで上記課題を解決するため、文書画像に情報を埋め込む情報埋め込み装置であって、前記文書画像より文字間隔を抽出する画像解析手段と、前記文字間隔に割り当てる情報に応じて当該文字間隔長を変更する第一の文字間隔長変更手段と、前記文字間隔長変更手段によって文字間隔長が変更された行の長さの変化量が所定の基準を満たかを判定する判定手段と、前記判定手段によって前記所定の基準を満たないと判定された場合に、前記変化量を小さくする方向に前記文字間隔長を変更する第二の文字間隔長変更手段とを有することを特徴とする。
このような情報埋め込み装置では、文字間隔ごとに情報を埋め込むことができるため、比較的多くの情報を埋め込むことができる。また、行の変化量を所定の基準が満たされるように調整するため、見た目の不自然さを小さくすることができる。
また、上記課題を解決するため、本発明は、請求項1乃至いずれか一項記載の情報埋め込み装置によって情報を埋め込まれた文書画像より情報を抽出する情報抽出装置であって、前記文書画像より文字間隔を抽出する画像解析手段と、前記画像解析手段によって抽出された前記文字間隔の文字間隔長に基づいて前記文書画像に埋め込まれた情報を抽出する情報抽出手段とを有することを特徴とする。
このような情報抽出装置では、請求項1乃至記載の情報埋め込み装置によって情報を埋め込まれた文書画像より情報を抽出することができる。
また、上記課題を解決するため、本発明は、上記情報埋め込み装置における情報埋め込み方法、文書画像生成方法、印刷物生成方法、前記情報埋め込み方法を前記情報埋め込み装置に実行させるための情報埋め込みプログラム、又は前記情報埋め込みプログラムを記録した記録媒体としてもよい。
更に、上記課題を解決するための、本発明は、上記情報抽出装置における情報抽出方法、前記情報抽出方法を前記情報抽出装置に実行させるための情報抽出プログラム、又は前記情報抽出プログラムを記録した記録媒体としてもよい。
本発明によれば、文書画像に適切に情報を埋め込むことができ、また、埋め込まれた情報を抽出することができる情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、及び情報抽出プログラを提供することができる。
以下、図面に基づいて本発明の実施の形態を説明する。まず、本実施の形態における、文字領域を有する画像(以下「文書画像」という。)への情報の埋め込み方法の概要について説明する。図1は、第一の実施の形態における文書画像への情報の埋め込み方法の概要を説明するための図である。第一の実施の形態においては、文書画像中の各文字間隔を変更する(量子化する)ことにより、それぞれの文字間隔に1ビットの情報を割り当てる。なお、図1において、文字間隔は文字と文字との間の空白部分といった程度の意味として説明するが、文字間隔の詳細については後述される。
図1は、2進数による「011」という情報を「文書画像」と記載された行に埋め込む例が示されている。情報を埋め込む前の初期状態として、「文」と「書」、「書」と「画」、「画」と「像」との文字間隔はそれぞれ、l、l、lであるとする(状態(A))。なお、以下において、l、l、lは、各文字間隔の長さ(文字間隔長)を示すと共に、各文字間隔自体を特定する符号として利用する。
「011」を埋め込む場合、lには「0」が、lには「1」が、lには「1」が順番に割り当てられる。そして、各文字間隔長は、例えば、割り当てられた値が「0」である場合は、定数qの偶数倍に、「1」である場合は、定数qの奇数倍に量子化される(状態(B))。この際、元の文字間隔長に最も近い値に量子化される。すなわち、lであれば、qの偶数倍であってlに最も近い値に量子化される。その結果、各文字間隔の量子化後の行の長さには、各文字間隔が量子化されることによる累積的な変化量(以下「累積誤差」という。)eが生じる。この累積誤差eは、見た目に不自然さを感じさせるため、所定の条件に合致する文字間隔を、累積誤差eを減らす方向に、2q分だけ補正する(状態(C))。2q分だけ変化させるのは、当該文字間隔とqとの偶数倍又は奇数倍という関係を維持するためである。なお、図1においては、lが2q分だけ増加された例が示されている。
次に、上述した方法を用いて文書画像への情報の埋め込みと、文書画像からの情報の抽出とを行う装置について説明する。図2は、本発明の実施の形態における情報埋め込み・抽出装置の機能構成例を示す図である。図2において、情報埋め込み・抽出装置10は、画像解析部11、情報埋め込み部12、量子化部13、補正部14、累積誤差判定部15、印刷部16、情報抽出部17、及びスキャン部18等を有する。
画像解析部11は、例えば、OCR(Optical Character Recognition)の文字領域分割技術等を用いて、文書画像からの文字領域の抽出、抽出された文字領域からの行の抽出、及び抽出された行における文字間隔の抽出等を行う。文字領域分割技術等については、例えば、特許第3278471号公報及び特許第3285686号公報等に詳しく説明されている。
量子化部13は、各文字間隔に埋め込む情報の値に応じて、各文字間隔長について量子化された値を算出する。累積誤差判定部15は、各行における累積誤差が所定の基準を満たしているかを判定する。所定の基準とは、例えば、所定の閾値以下であること等が相当する。補正部14は、累積誤差判定部15によって累積誤差が所定の基準を満たしていないと判定された場合に、所定の条件に合致する文字間隔の文字間隔長を補正することにより、その累積誤差を小さくする。情報埋め込み部12は、文書画像を操作して、量子化部13によって算出された値、又は補正部14によって補正された値に各文字間隔長を変更する。情報抽出部17は、情報が埋め込まれた画像から当該情報を抽出する。印刷部16及びスキャン部18は、情報埋め込み・抽出装置10に接続されるプリンタ20やスキャナ30のドライバソフト等を含む。
図3は、本発明の実施の形態における情報埋め込み・抽出装置のハードウェア構成例を示す図である。図3の情報埋め込み・抽出装置10は、それぞれバスBで相互に接続されているドライブ装置100と、補助記憶装置102と、メモリ装置103と、演算処理装置104と、表示装置105と、入力装置106と等を有するように構成される。
情報埋め込み・抽出装置10での処理を実現するプログラムは、CD―ROM等の記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。補助記憶装置102は、インストールされたプログラムを格納すると共に、処理対象とする画像データ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。演算処理装置104は、メモリ装置103に格納されたプログラムに従って情報埋め込み・抽出装置10に係る機能を実行する。表示装置105はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置106はキーボード及びマウス等で構成され、様々な操作指示を入力するために用いられる。
なお、情報埋め込み・抽出装置10をネットワークに接続することにより、他の端末からリモートで操作を行ってもよい。この場合、ドライブ装置100、表示装置105及び入力装置106等は、当該他の端末が有していればよく、情報埋め込み・抽出装置10が必ずしも備えている必要はない。
以下、情報埋め込み・抽出装置10の情報の埋め込み処理の詳細について説明する。図4は、第一の実施の形態における情報の埋め込み処理を説明するためのフローチャートである。
ユーザによって画像データの印刷指示がなされると(S101)、情報埋め込み抽出装置10の画像解析部11は、印刷指示の対象となった画像データ(以下「対象画像データ」という。)を読み込み、対象画像データの画像(以下「対象画像」という。)をメモリ装置103内に展開する(S102)。ステップS102に続いてステップS103に進み、画像解析部11は、対象画像の文字領域を抽出する。ステップS103に続いてステップS104に進み、画像解析部11は、抽出された文字領域より行を抽出する。なお、対象画像からの文字領域の抽出や、文字領域からの行の抽出は、例えば、OCRの文字領域分割技術等を用いて行われる。
ステップS104に続いてステップS105に進み、画像解析部11は、各行について文字の高さ方向の黒画素の数の射影ヒストグラムを水平方向とり、黒画素の数が水平方向に連続して0となる区間を「文字間隔」として抽出する。なお、ここで文字間隔は、必ずしも文字と文字との間の空白に限られない。すなわち、黒画素の数が水平方向に連続して0になる区間であれば、例えば、一つの漢字の偏と作りとの間であっても、文字間隔として抽出される。また、対象画像に文字以外の要素、例えば、写真、図、又は表等をも含まれている場合は、これらの各要素間及び各要素内において射影ヒストグラムが連続して0となる区間を文字間隔として抽出してもよい。また、行と行との間も文字間隔として抽出してもよい。
ステップS105に続いてステップS106に進み、情報埋め込み部12は、対象画像に埋め込む情報を、ユーザに入力させる。ここで、入力された情報を、以下「入力情報」という。入力情報は、例えば、テキスト入力領域を有したダイアログ等を表示させることにより入力させてもよい。また、予め、ファイル等に保存されている情報を入力情報としてもよく、この場合、ステップS106では、当該ファイル等より入力情報を読み込むこととなる。なお、入力情報の値は、2進数による数値を直接入力させてもよいが、例えば、文字列等、人間に理解可能な形式によって入力させてもよい。但し、入力情報の情報量の上限は、抽出された文字間隔の数と同数のビット数となる。
ステップS106に続いてステップS107に進み、情報埋め込み部12は、入力情報の埋め込み対象とする行を一つ選択する。行の選択は、例えば、対象画像の左上からラスタ走査し、検出された順に埋め込み対象としてもよい。なお、選択された行を、以下「カレント行」という。
ステップS107に続いてステップS108に進み、量子化部13等は、カレント行の各文字間隔の長さについて、それぞれの文字間隔に埋め込まれるビット値に応じて量子化又は補正された値(以下「丸め値」という。)を算出する。ステップS108に続いてステップS109に進み、情報埋め込み部12は、対象画像のカレント行における各文字間隔を、量子化部13等によって算出された丸め値に変更することにより、対象画像に入力情報を埋め込む。
ステップS109に続いてステップS110に進み、情報埋め込み部12は、入力情報を構成する全てのビットが埋め込まれたか否かを判定する。全てのビットが埋め込まれていないと判定された場合、すなわち入力情報を構成するビットの数が、カレント行の文字間隔の数より多い場合は、余ったビットを対象として、ステップS107以降の処理が実行される。全てのビットが埋め込まれたと判定された場合は、ステップS111に進み、印刷部16によって対象画像がプリンタ20より印刷される。
次に、ステップS108における、文字間隔の丸め値の算出処理の詳細について説明する。図5は、第一の実施の形態におけるカレント行の各文字間隔の丸め値の算出処理を説明するためのフローチャートである。
量子化部13は、入力情報を2進数にし(S108−1)、2進数にされた入力情報の各ビット値をカレント行の各文字間隔に1ビットずつ割り当てる(S108−2)。各ビット値の割り当ては、上位ビットから順に、左側の文字間隔から行えばよい。ステップS108−2に続いてステップS108−3に進み、量子化部13は、ビット値が割り当てられた各文字間隔の文字間隔長を、そのビット値に応じて量子化する。すなわち、例えば、割り当てられたビット値が0である場合は、その文字間隔長を定数qの偶数倍、又は割り当てられたビット値が1である場合は、その文字間隔長を定数qの奇数倍であって、かつ、元の文字間隔長に最も近い値に量子化する。
ステップS108−3に続いてステップS108−4に進み、累積誤差判定部15は、カレント行の累積誤差の絶対値が、閾値θ以下であるか否かを判定する。累積誤差の絶対値がθ以下である場合は、カレント行における処理を終了させる。
一方、累積誤差の絶対値がθより大きい場合は、ステップS108−5に進み、補正部14は、累積誤差と同じ方向に量子化された文字間隔であって、これまで補正(後述される)の対象とされていない文字間隔の中で、量子化前の文字間隔長と量子化後の文字間隔長との差(以下「量子化誤差」という。)が最も大きなものの文字間隔長を補正する。ここで、「累積誤差と同じ方向に量子化された文字間隔」とは、量子化誤差の方向が、累積誤差の方向と同じ文字間隔をいい、例えば、累積誤差がマイナスの場合(文字間隔長の量子化によりカレント行全体の長さが小さくなった場合)は、文字間隔長が小さくなった文字間隔をいう。また、「補正」とは、量子化誤差と逆方向に2q分だけ文字間隔長を変更することをいう。すなわち、量子化によって文字間隔長が小さくなった場合は、量子化後の文字間隔長を2q分だけ大きくし、量子化によって文字間隔長が大きくなった場合は、量子化後の文字間隔長を2q分だけ小さくする。
要するに、「累積誤差と同じ方向に量子化された文字間隔」を補正するということは、当該文字間隔について、量子化前後の差(量子化誤差)の拡大をできるだけ小さく抑えつつ、累積誤差を小さくするということになる。
ステップS108−5に続いてステップS108−6に進み、補正部14は、累積誤差と同じ方向に量子化された文字間隔の全てについて補正が行われたか否かを判定する。まだ補正が行なわれていない文字間隔がある場合は、ステップS108−4以降の処理を繰り返す。一方、累積誤差と同じ方向に量子化された文字間隔の全てについて補正が行われている場合は、ステップS108−7に進み、累積誤差判定部15は、補正の結果の累積誤差の絶対値が、θ以下であるか否かを判定する。累積誤差の絶対値がθ以下である場合は、カレント行における処理を終了させる。
一方、累積誤差と同じ方向に量子化された文字間隔の全てについて補正を行っても累積誤差の絶対値がθより大きい場合は、ステップS108−8に進み、量子化誤差が最小の文字間隔の文字間隔長を補正する。なお、ステップS108−8の処理は、累積誤差の絶対値がθ以下になるまで繰り返され(S108−7でNoの場合)、累積誤差の絶対値がθ以下になるとカレント行に対する丸め値の算出処理が終了する。
図5の処理の結果、カレント行の各文字間隔長について、量子化されたものは量子化後の値が、更に補正されたものは補正後の値が丸め値とされる。なお、上記の処理の結果、累積誤差は、行の右端に生じることになるが、例えば、図5の処理の終了後、行全体をセンタリングすることにより、累積誤差を行の左右に分散させてもよい。
なお、上記において、定数qの値は、大きくすると画像の劣化が大きくなり、小さくすると後述される情報の抽出時の抽出精度が劣化するところ、例えば、対象画像が600dpiである場合は、7が望ましいことが経験的に知られており、解像度にほぼ比例する。また、奇数であることが望ましい。更に、閾値θは、qと同値であることが、画像の劣化を抑えるという観点より望ましい。
次に、図4の処理によって印刷された文書に埋め込まれた情報を抽出する処理について説明する。図6は、第一の実施の形態における情報抽出処理を説明するためのフローチャートである。
例えば、図4の処理によって印刷された文書がスキャナ30に載置され、スキャンが指示されると、スキャン部18は、スキャナ30によって読み取られた文書の画像をメモリ装置103に読み込む(S201)。なお、本ステップの処理は、予めスキャンされて補助記憶装置102に保存されている画像データの画像をメモリ装置103に読み込むものであってもよい。なお、ここでメモリ装置103に読み込まれた画像を、以下「入力画像」という。
ステップS201に続いてステップS202に進み、画像解析部11は、入力画像の文字領域を抽出する。ステップS202に続いてステップS203に進み、画像解析部11は、抽出された文字領域より行を抽出する。なお、入力画像からの文字領域の抽出や、文字領域からの行の抽出は、例えば、OCRの文字領域分割技術等を用いて行われる。ステップS203に続いてステップS204に進み、画像解析部11は、各行について文字の高さ方向の黒画素の数の射影ヒストグラムを水平方向にとり、黒画素の数が水平方向に連続して0となる区間を文字間隔として抽出する。なお、ここでの「文字間隔」は、情報を埋め込む際の文字間隔と同義である。
ステップS204に続いてステップS205に進み、情報抽出部17は、文字間隔の一つを選択し、当該文字間隔を処理対象とする。文字間隔の選択は、例えば、入力画像の左上からラスタ走査し、検出された順に選択してもよい。なお、選択された文字間隔を、以下「カレント文字間隔」という。ステップS205に続いてステップS206に進み、情報抽出部17は、カレント文字間隔の文字間隔長(以下「カレント文字間隔長」という。)から埋め込まれたビット値を判定する。すなわち、カレント文字間隔長を、情報埋め込み時と同じ値である定数qで除算し、その商を最も近い整数に丸める。丸められた値が偶数であるときはビット値は「0」、奇数であるときはビット値は「1」であると判定される。
ステップS206に続いてステップS207に進み、情報抽出部17は、埋め込み情報の全てが抽出されたか否かを判定する。この判定は、予め決められた長さのビット列が抽出されたか、抽出されたビット列から終端パターンが検出されたか、又は全ての文字間隔について抽出処理が行われたか等によって行われる。情報の抽出が完了したと判定された場合は、ステップS205に進み、次の文字間隔を対象としてビット値の抽出が実行される。
一方、情報の抽出が完了したと判定された場合は、ステップS208に進み、情報抽出部17は、抽出された情報を所定の出力先に出力する。所定の出力先への出力とは、例えば、表示装置105への表示、所定のファイルへの出力、又はプリンタ20への出力等が相当する。
上述したように、第一の実施の形態における情報埋め込み・抽出装置10によれば、文字領域を有する画像または文書に対して人間が視認できない、もしくは視認が困難な形で情報を埋め込むことができると共に埋め込まれた情報を抽出することができる。このとき文字間隔に1ビットの情報を割り当てることで、埋め込む情報量を増大させることができる。また、累積誤差を所定の値以下にすることにより、人間の視覚に対する不自然さを減少させることができる。
ところで、第一の実施の形態では、入力情報を2進数化し、各ビット(すなわち、各桁)を、各文字間隔に割り当てる例について説明したが、例えば、入力情報をn進数化し、その各桁を各文字間隔に割り当ててもよい。そこで、第二の実施の形態として、第一の実施の形態を一般化した例、すなわち、n進数化された入力情報の各桁を各文字間隔に割り当てる例について説明する。第二の実施の形態において、第一の実施の形態における図4に相当する処理は第一の実施の形態とほぼ同様であり、その違いは自明であるため、以下では、第一の実施の形態における図5に相当する処理、すなわち、丸め値の算出処理について説明する。
図7は、第二の実施の形態におけるカレント行の各文字間隔の丸め値の算出処理を説明するためのフローチャートである。図7に示される処理手順は、図5において説明したものとほぼ同様である。
量子化部13は、入力情報をn進数にし(S108−11)、n進数にされた入力情報の各桁値をカレント行の各文字間隔に1桁ずつ割り当てる(S108−12)。各桁値の割り当ては、上位桁から順に、左側の文字間隔から行えばよい。ステップS108−12に続いてステップS108−13に進み、量子化部13は、桁値が割り当てられた各文字間隔の長さを、その桁値に応じて量子化する。例えば、(n・k+b)×qで示される値であって、元の文字間隔長に最も近い値に量子化される。ここで、kは整数であり、bは、割り当てられた桁値である。例えば、n=3である場合(3進数の場合)は、0、1又は2が各文字間隔に割り当てられることになる。この場合、0が割り当てられた文字間隔長は、3kq、1が割り当てられた文字間隔長は、(3k+1)×q、2が割り当てられた文字間隔長は、(3k+2)×qとされ、算出される値が元の文字間隔長に最も近くなるようにkが定められる。
ステップS108−13に続いてステップS108−14に進み、累積誤差判定部15は、カレント行の累積誤差の絶対値が、閾値θ以下であるか否かを判定する。累積誤差の絶対値がθ以下である場合は、カレント行における処理を終了させる。
一方、累積誤差の絶対値がθより大きい場合は、ステップS108−15に進み、補正部14は、累積誤差と同じ方向に量子化された文字間隔であって、これまで補正の対象とされていない文字間隔の中で、量子化誤差が最も大きなものの文字間隔長を補正する。ここで、「補正」とは、量子化誤差と逆方向にnq分だけ文字間隔長を変更することをいう。すなわち、量子化によって文字間隔長が小さくなった場合は、量子化後の文字間隔長をnq分だけ大きくし、量子化によって文字間隔長が大きくなった場合は、量子化後の文字間隔長をnq分だけ小さくする。
ステップS108−15に続いてステップS108−16に進み、補正部14は、累積誤差と同じ方向に量子化された文字間隔の全てについて補正が行われたか否かを判定する。まだ補正が行なわれていない文字間隔がある場合は、ステップS108−14以降の処理を繰り返す。一方、累積誤差と同じ方向に量子化された文字間隔の全てについて補正が行われている場合は、ステップS108−17に進み、累積誤差判定部15は、補正の結果の累積誤差の絶対値が、θ以下であるか否かを判定する。累積誤差の絶対値がθ以下である場合は、カレント行における処理を終了させる。
一方、累積誤差と同じ方向に量子化された文字間隔の全てについて補正を行っても累積誤差の絶対値がθより大きい場合は、ステップS108−18に進み、量子化誤差が最小の文字間隔の文字間隔長を補正する。なお、ステップS108−18の処理は、累積誤差の絶対値がθ以下になるまで繰り返され(S108−17でNoの場合)、累積誤差の絶対値がθ以下になるとカレント行に対する量子化処理が終了する。
図7の処理の結果、カレント行の各文字間隔長について、量子化されたものは量子化後の値が、更に補正されたものは補正後の値が丸め値とされる。なお、行全体をセンタリングすることにより、累積誤差を行の左右に分散させてもよいのは第一の実施の形態の場合と同様である。
次に第二の実施の形態における情報抽出処理について説明する。第二の実施の形態における情報抽出処理は、第一の実施の形態におけるもの(図6)とほぼ同様である。但し、ステップS206の処理が、以下のように異なる。
すなわち、情報抽出部17は、カレント文字間隔長を、情報埋め込み時と同じ値である定数qで除算し、その商を最も近い整数に丸める。更に、丸められた値をnで除算し、その剰余を埋め込まれた値(桁値)として抽出する。
上述したように、第二の実施の形態における情報埋め込み及び抽出方法によれば、第一の実施の形態に比べて、より多くの情報の埋め込み及び抽出を行うことができる。すなわち、第一の実施の形態における埋め込み方法では、各文字間隔に1ビットずつの情報を埋め込むことができたが、第二の実施の形態における埋め込み方法によれば、各文字間隔にlognビットずつの情報を埋め込むことがでる。但し、nの値を大きくすると情報が埋め込まれた画像の視覚的な不自然さが増大する。したがって、nの値をユーザが自由に設定できるようにし、文書の性質等に合わせて画質と情報量とのバランスを調節できるようにしてもよい。なお、n=2とした場合は、第一の実施の形態における埋め込み方法そのものとなる。
ところで、上記においては、画像データに基づいて情報を埋め込む例を説明したが、ワープロソフト等のアプリケーションデータを印刷する際に、本発明に係る情報の埋め込み方法によって印刷物に情報を埋め込んでもよい。そこで、第三の実施の形態として、アプリケーションデータを印刷する際に、情報を埋め込む例について説明する。
図8は、第三の実施の形態における情報の埋め込み処理を説明するためのフローチャートである。図8の処理は、アプリケーションデータが、ワープロソフト等のアプリケーションに読み込まれた状態から開始される。
ユーザが、アプリケーションの印刷メニューを選択すると、印刷部16におけるプリンタドライバのユーザインタフェース(以下「印刷ダイアログ」という。)が表示される(S301)。ユーザは、印刷ダイアログ上において各種印刷機能の設定を行うと共に、印刷物に情報を埋め込む場合は埋め込む情報を入力し(S302)、印刷の実行を指示する(S303)。なお、ここで埋め込む情報として入力された情報を、以下「入力情報」という。
ステップS303に続いてステップS304に進み、プリンタドライバは、アプリケーションデータを印刷先のプリンタ20が解釈可能な印刷データに変換すると共に、例えば、印刷ダイアログ上で情報の埋め込みを行う旨の設定がされているか否かを判定する。情報の埋め込みを行う旨の設定とは、例えば、印刷ダイアログ上において入力情報が入力されている場合や、又は、情報の埋め込みを行う旨のチェックボタンがチェックされている場合等が相当する。当該設定がされていない場合は、ステップS306に進み、当該設定がされている場合は、ステップS305に進む。
ステップS305において、情報埋め込み部12等は、プリンタドライバによって生成された印刷データに入力情報を埋め込む。印刷データへの入力情報の埋め込みは、例えば、以下のように行われる。情報埋め込み部12は、印刷データの中からテキスト部分を抽出する。続いて、各文字の中心座標を抽出し、近傍の文字をまとめて行を生成する。続いて、各行の中で隣接する文字間隔を抽出する。続いて、量子化部13等は、入力情報を2進数化又はn進数化し、第一又は第二の実施例において説明した処理によって各文字間隔の丸め値を算出する。情報埋め込み部12は、量子化部13等によって算出された丸め値を実現するように、印刷データ内の各文字の座標値を操作する。
ステップS305に続いてステップS306に進み、印刷部16によって印刷データが印刷される。
上述したように、第三の実施の形態によれば、いわゆるイメージ情報としての画像データに限らず、アプリケーション固有の形式によるアプリケーションデータの印刷物に対しても、本発明に係る情報の埋め込み方法によって情報を埋め込むことができる。なお、図8の処理によって印刷された印刷物からの情報の抽出は、第一又は第二の実施の形態において説明した処理と同様の処理によって行えばよい。
ところで、情報埋め込み・抽出装置10における機能を、例えば、コピー機等の画像形成装置に実装してもよい。そこで、第四の実施の形態として、画像形成装置に情報の埋め込み機能を実装した例について説明する。
図9は、第四の実施の形態における画像形成装置の機能構成例を示す図である。図9中、図2と同一部分には同一符号を付し、その説明は省略する。図9において、画像形成装置50は、情報埋め込み・抽出装置10に実装されているものと同様の画像解析部11、情報埋め込み部12、量子化部13、補正部14、及び累積誤差判定部15等を有し、更に、原稿をスキャンし、画像データとして取り込むためのハードウェア(スキャナ52)と、画像データを印刷するためのハードウェア(プリンタ51)とを内蔵している。
図10は、第四の実施の形態における画像形成装置による情報の埋め込み処理を説明するためのフローチャートである。
ステップS401において、ユーザは、画像形成装置10のコンタクトガラス又はADF(Auto Document Feeder)に原稿をセットする。ステップS401に続いてステップS402に進み、ユーザは、画像形成装置10の操作パネル等において、各種の印刷機能の設定を行うと共に、原稿のコピーに情報を埋め込む場合は埋め込む情報を入力し(S402)、コピーの実行を指示する(S403)。なお、ここで埋め込む情報として入力された情報を、以下「入力情報」という。
ステップS403に続いてステップS404に進み、スキャン52は、原稿をスキャンし、画像データとして読み込む。以下、読み込まれた画像データの画像を「入力画像」という。ステップS404に続いてステップS405に進み、画像解析部11は、例えば、操作パネル上で情報の埋め込みを行う旨の設定がされているか否かを判定する。当該設定がされていない場合は、ステップS407に進み、当該設定がされている場合は、ステップS406に進む。
ステップS406において、情報埋め込み部12等は、第一又は第二の実施の形態において説明した処理によって、入力情報を入力画像に埋め込む。なお、入力情報が埋め込まれた画像を、以下「情報埋め込み画像」という。ステップS407に続いてステップS408に進み、プリンタ51は、情報埋め込み画像を印刷する。
上述したように、第四の実施の形態における画像形成装置10によれば、原稿をコピーする際に、コピーとして出力される印刷物に本発明に係る情報の埋め込み方法によって情報を埋め込むことができる。なお、図10の処理によって印刷された印刷物からの情報の抽出は、第一又は第二の実施の形態において説明した処理と同様の処理によって行えばよい。
なお、第一の実施の形態において説明した、丸め値を算出する手順(図5)は、次の最適化問題を解き、その解を用いて情報を埋め込むことに等しい。
Figure 0004532331
ここで、nは対象とする行における文字間隔の総数、siはi番目の情報埋め込み後の文字間隔、
Figure 0004532331
はi番目の情報埋め込み前の文字間隔、qは量子化単位、biはi番目の埋め込むビット値(0または1)、Zは整数の集合である。
以下、にその解法を示す。
ステップ1:
次式が成り立つか否かを判定する。成り立てばステップ2へ進み、成り立たなければ、解なしで終了する。
Figure 0004532331
ステップ2:
Figure 0004532331
ステップ3:
以下の式が成り立つか否かを判定する。成り立てば終了し、成り立たなければステップ4へ進む。
Figure 0004532331
ステップ4:
Figure 0004532331
の正負を判定する。正ならばステップ5へ進み、負ならばステップ6へ進む。
ステップ5:
以下の操作を行いステップ3へ進む。
Figure 0004532331
Figure 0004532331
ステップ6:
以下の操作を行いステップ3へ進む。
Figure 0004532331
Figure 0004532331
閾値の取り方によっては解が存在しない場合が存在するが、その場合でも画像の生成は可能であるので、そのまま処理を進めても、エラー終了させても良い
なお、上記による情報の埋め込みは、情報の埋め込み前後の文字間隔長の差分の二乗和を、累積誤差が閾値以下になるという条件下で最小化することに等しい。以下、その証明を行う。
まず、解の有無の判定について説明する。式(1)の第二・第三の制約式よりsiの最小値は(2−bi)qである。また、siに最大値は存在しない。ところで、式(1)の第一の制約式は次の二つの式に分解できる。
Figure 0004532331
Figure 0004532331
siの存在域[(2−bi)qi ∞)でこれらの式が満たされれば解が存在する。siの存在域に上限がないことから式(9)が成り立つ。siの下限において式(10)が成り立てば、解が存在することになる。すなわち、
Figure 0004532331
が成り立てば式(1)の最適化問題の解が存在する。
次に、求解法について説明する。制約条件の第一式を緩和すると最適解は、
Figure 0004532331
である。
Figure 0004532331
のとき、第二の制約式より、kiを1減少させるとsiは2q減少する。このことから、任意のiを選択し、
Figure 0004532331
を2q減少させる操作を有限回繰り返せば、第一の制約式を満たすことができる。この操作を行う回数は選択するiによらず一定である。ところで、siが2q減少したときのJ(s)の増分△si-2qJ(s)は、
Figure 0004532331
である。すなわち、
Figure 0004532331
が最大となるsiを2q減少させる操作を行ったとき、J(s)の増分は最も小さくなる。このことから、
Figure 0004532331
として、
Figure 0004532331
が最大となるsiに対し、
Figure 0004532331
とする操作を第二の制約式が満たされるまで繰り返し実行したとき、最適化問題(1)の最適解が求まる。
Figure 0004532331
のとき、第二の制約式より、kiを1増加させるとsiは2q増加する。このことから、任意のiを選択し、
Figure 0004532331
を2q増加させる操作を有限回繰り返せば、第一の制約式を満たすことができる。この操作を行う回数は選択するiによらず一定である。ところで、siが2q増加したときのJ(s)の増分△si+2qJ(s)は、
Figure 0004532331
である。すなわち、
Figure 0004532331
が最小となるsiを2q増加させる操作を行ったとき、J(s)の増分は最も小さくなる。このことから、
Figure 0004532331
として、
Figure 0004532331
が最小となるsiに対し、
Figure 0004532331
とする操作を第二の制約式が満たされるまで繰り返し実行したとき、最適化問題(1)の最適解が求まる。
なお、上記をふまえ、図5において説明した丸め値の算出処理は、図11のように書き直すことができる。図11は、第一の実施の形態におけるカレント行の各文字間隔の丸め値の算出処理を示す第二のフローチャートである。
ます、入力情報が2進数にされ(S501)、2進数にされた入力情報の各ビット値がカレント行の各文字間隔に1ビットずつ割り当てられる(S502)。ステップS503では、式(2)を用いて解の有無が判定される(S503)。解が存在すればステップS504に進み、解が存在しなければ処理が終了する。
ステップS504では、対応付けられたビット値が「0」のときは定数qの偶数倍、「1」のときは定数qの奇数倍で元の文字間隔長に最も近い値に文字間隔長が量子化される。ステップS504に続いてステップS505に進み、累積誤差の絶対値がq以下であるか否かが判定される。累積誤差の絶対値がq以下ならば処理が終了し、そうでなければステップS506へ進む。
ステップS506では、累積誤差の正負が判定される。累積誤差が正ならばステップS507へ、負ならば処理ステップS508へ進む。ステップS507では、文字間隔長の符号付変化量が最大の文字間隔が選択され、当該文字間隔長が2q減少させられる。一方、処理ステップS508では、文字間隔長の符号付変化量が最小の文字間隔が選択され、当該文字間隔長が2q増加させられる。ステップS507又はS508に続いてステップS505以下の処理が繰り返される。
次に、第五の実施の形態について説明する。第五の実施の形態においては、第一の実施の形態において説明した情報の埋め込み方法について、埋め込まれた情報及び情報が埋め込まれていること自体の秘匿性を向上させる技術について説明する。
図12は、第五の実施の形態における文書画像への情報の埋め込み方法の概要を説明するための図である。図12では図1と同様、2進数による「011」という情報を「文書画像」と記載された行に埋め込む例が示されている。情報を埋め込む前の初期状態として、「文」と「書」、「書」と「画」、「画」と「像」との文字間隔はそれぞれ、l、l、lであるとする(状態(A))。なお、l、l、lは、各文字間隔の長さ(文字間隔長)を示すと共に、各文字間隔自体を特定する符号として利用する。
図12において、(A)及び(B)については、図1と同様である。すなわち、lには「0」が、lには「1」が、lには「1」が順番に割り当てられる。そして、各文字間隔長は、例えば、割り当てられた値が「0」である場合は、定数qの偶数倍に、「1」である場合は、定数qの奇数倍に量子化される(状態(B))。この際、元の文字間隔長に最も近い値に量子化される。第五の実施の形態では、量子化された文字間隔長のそれぞれに[-q/2, q/2)の区間の値をとる擬似乱数εを加算する(状態(C))。図中では、lにεが、lにεが、lにεがそれぞれ加算された例が示されている。各文字間隔長に加算される擬似乱数εの値は同じでもよいし、それぞれ異なっていても良い。情報の秘匿性の向上という観点からは後者の方が好ましい。なお、この後、第一の実施の形態におけるように、累積誤差の補正処理を行ってもよい。
図12に示される情報の埋め込み方法を実現する情報の埋め込み処理は、第一の実施の形態における図4及び図5と共通する点が多い。そこで、ここでは、図4及び図5との差分についてのみ説明する。第五の実施の形態では、図5のステップS108−3における処理が図13に示される処理に置き換わる。
図13は、第五の実施の形態における情報の埋め込み処理を説明するためのフローチャートである。
図5のステップS108−2に続いて、量子化部13は、情報(ビット値)を埋め込む文字間隔を一つ選択する(S108−3a)。続いて、量子化部13は、選択された文字間隔の文字間隔長(以下「カレント文字間隔長」という。)を当該文字間隔に埋め込むビット値に応じて量子化する(S108−3b)。すなわち、例えば、割り当てられたビット値が0である場合は、カレント文字間隔長を定数qの偶数倍、又は割り当てられたビット値が1である場合は、カレント文字間隔長を定数qの奇数倍であって、かつ、元のカレント文字間隔長に最も近い値に量子化する。
続いて、量子化部13は、カレント文字間隔長に[-q/2, q/2)の擬似乱数を加算する(S108−3c)。続いて、量子化部13は、カレント行に対する情報の埋め込みが完了したか否かを判定する(S108−3d)。完了していない場合は、次の文字間隔長を処理対象としてステップS108−3a以降の処理が繰り返される。情報の埋め込みが完了した場合は、図5のステップS108−4以降の処理(累積誤差の補正等)が実行され、情報が埋め込まれた文書が印刷される。
次に、上述の処理によって印刷された文書に埋め込まれた情報を抽出する方法について説明する。図14は、第五の実施の形態における情報抽出方法の概要を説明するための図である。
図14において、状態(A)は、情報が埋め込まれた状態を示す。状態(A)における各文字間隔長よりビット値を抽出するには、まず、各文字間隔長より擬似乱数εを減算する(B)。続いて、各文字間隔長を定数qで除算することにより得られる商(C)が、偶数か奇数かによってビット値が判定される(D)。
図14に示される情報抽出方法を実現する情報抽出処理を図15に示す。図15は、第五の実施の形態における情報抽出処理を説明するためのフローチャートである。図15中、図6(第一の実施の形態における情報抽出処理)と同一ステップには同一符号を付し、その説明は省略する。
図15では、図6に対してステップS205aが追加されている。すなわち、文字間隔長を定数qによって除算することによりビット値を判定する(S206)前に、当該文字間隔長より当該文字間隔長に加算された擬似乱数を減算する(S205a)。
上述したように、第五の実施の形態における情報埋め込み・抽出装置10によれば、情報の埋め込みを行う側と情報抽出を行う側で、情報埋め込み時に各文字間隔長に加算される擬似乱数を秘密裏に共有することで、第三者に対して埋め込み情報の内容、及び情報埋め込みの有無の秘匿性を向上させることができる。
ところで、印刷及びスキャンといったアナログ処理過程を経ることにより画像が劣化し、情報の埋め込み時に埋め込んだ順番通りに各文字間隔から情報が抽出できないということが考えられる。例えば、情報の埋め込み時には文字間隔として検出された部分が、印刷及びスキャンという処理過程を経ることにより潰れてしまい、情報抽出時に文字間隔として検出されないことにより、抽出されたビット列がずれてしまうといった場合が典型的な例である。
そこで、第六の実施の形態として、第五の実施の形態で用いた擬似乱数を利用して、抽出されたビット列の正当性の検証を行う例を説明する。なお、第六の実施の形態において、情報の埋め込み処理は第五の実施の形態において説明したもの(図12、図13)と同様であるとする。
図16は、第六の実施の形態における情報抽出処理を説明するためのフローチャートである。
図16において、ステップS601〜S604は、第一の実施の形態における情報抽出処理(図6)のステップS201〜S204と同じであるため、その説明は省略する。
ステップS605において、情報抽出部17は、抽出された各文字間隔長について、情報の埋め込み時に使用された定数qで除算した場合の剰余の列を得る。このとき剰余は[-q/2, q/2)の区間の値として取る。
続いて、情報抽出部17は、各文字間隔長から得られた剰余の列と、情報の埋め込み時に当該各文字間隔長に加算された擬似乱数の列とのマッチングを取る(S606)。マッチングは、例えば、図17に示される評価関数(1)を制約条件(2)の中で最小とする写像fを求める問題に帰着することができる。
マッチングを取ることにより、埋め込んだi番目のビットは、f(i)番目として観測されたと判断することができる。このマッチングの問題は全探索で解くことができる。また、データ長が長い場合はメタヒューリスティクスを用いた探索で現実的な時間で解くことができる。なお、評価関数、制約条件の構成は図17に示したものに限られない。例えば、評価関数については剰余の絶対誤差の和を用いてもよく、また、制約条件についてはレイアウトの状態に依存したもの等を用いてもよい。
続いて、情報抽出部17は、マッチングの結果に基づいて情報を抽出する文字間隔の順番を決定し、決定された順番で各文字間隔長に埋め込まれたビット値を判定する(S607)。ビット値の判定処理は、図14及び図15で説明した通りである。すなわち、文字間隔長より擬似乱数を減算し、その値を定数qで除算することで得られる商が偶数か奇数かによって判定される。
ステップS608は、ステップS208と同じであるため説明は省略する。
上述したように、第六の実施の形態における情報埋め込み・抽出装置10によれば、画像に埋め込まれたビット列が 印刷及びスキャンなどのアナログ処理過程によって乱れた場合であっても、情報の埋め込み時の順番に復元することができる。
次に、第七の実施の形態として、抽出されたビット列の順番のマッチングの別の例について説明する。
第七の実施の形態では、情報埋め込み時に擬似乱数列ではなく一定の長さ(以下「単位長」という。)で同じ値が続く数列を用いる。例えば、単位長が4である{0, 0, 0, 0, q/2, q/2, q/2, q/2}を繰り返す数列を用いてもよい。かかる数列を用いて情報の埋め込みを行った場合、ビット列の順番のマッチングは次のように行う。
まず、各文字間隔長について定数qによる剰余を算出する。その剰余の値εが-q/4以上、q/4未満である文字間隔にはラベルAを、それ以外の文字間隔にはラベルBを付ける。これを全ての文字間隔に対して行う。そして、抽出された順番に各文字間隔のラベルを調べていき、同じラベルが連続する区間を一つのブロックとする。このブロック単位で情報を抽出し、(1)ビット数が単位長に満たないブロック、又は(2)次のブロックのビット数が単位長と同じであるときに、当該ブロックのビット数が単位長より大きいブロックは誤りがあるものと判断する。なお、情報埋め込み時に誤り訂正符号を埋め込んでおくことにより、誤りのあるビット値を訂正できるようにしてもよい。
図18は、抽出されたビット値の誤り検出の具体例を概念的に示す図である。図18は、量子化単位(定数q)は6、単位長4ビットで各文字間隔にビット値を埋め込んだ画像に対しある種の画像変換(印刷及びスキャン等)を行った後、その画像より抽出された情報について誤り検出を行う例を示す。
図中(A)は、画像より抽出された各文字間隔の文字間隔長の配列を示す。図中(B)は、各文字間隔長についての定数q(6)による剰余を示す。上述したように、剰余は[-q/2, q/2)の区間の値として取られる。したがって、ここでは−3以上2以下の値となる。
図中(C)は、剰余に基づいて各文字間隔に付けられたラベルを示す。ここでは、剰余が-6/4以上6/4未満である文字間隔に対してラベルAが、それ以外に対してラベルBが付けられる。
図中(D)では、同じラベルが連続する区間をブロックとし、そのブロック内のビット数を単位長(4)と比較することにより、ラベルBが3つしか連続していないブロックにおける誤りが検出されている。
この方法によれば、(単位長−1)ビットまでの連続誤りに対してその誤り位置を判定することができる。例えば、単位長が4である場合は、3ビットまでの連続誤りに対し、誤り検出能力を有することになる。
ところで、上記第五の実施の形態において説明した情報の埋め込み方法は、上記第三の実施の形態において説明した、アプリケーションデータを印刷する際の情報の埋め込み処理に適用してもよい。
この場合、ステップS305(図8)においてプリンタドライバによって生成された印刷データに情報を埋め込む処理は、以下のように行われる。情報埋め込み部12は、印刷データの中からテキスト部分を抽出する。続いて、各文字の中心座標を抽出し、近傍の文字をまとめて行を生成する。続いて、各行の中で隣接する文字間隔を抽出する。続いて、量子化部13等は、入力情報を2進数化又はn進数化し、第五の実施の形態において説明した処理によって、擬似乱数εを各文字間隔長に加算することにより各文字間隔の丸め値を算出する。情報埋め込み部12は、量子化部13等によって算出された丸め値を実現するように、印刷データ内の各文字の座標値を操作する。
こうすることで、いわゆるイメージ情報としての画像データに限らず、アプリケーション固有の形式によるアプリケーションデータの印刷物に対しても、第五の実施の形態に係る情報の埋め込み方法によって情報を埋め込むことができる。なお、この場合の情報の抽出及び乱れたビット列の復元等は、第五、六又は第七の実施の形態において説明した処理と同様の処理によって行えばよい。
本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
第一の実施の形態における文書画像への情報の埋め込み方法の概要を説明するための図である。 本発明の実施の形態における情報埋め込み・抽出装置の機能構成例を示す図である。 本発明の実施の形態における情報埋め込み・抽出装置のハードウェア構成例を示す図である。 第一の実施の形態における情報の埋め込み処理を説明するためのフローチャートである。 第一の実施の形態におけるカレント行の各文字間隔の丸め値の算出処理を説明するためのフローチャートである。 第一の実施の形態における情報抽出処理を説明するためのフローチャートである。 第二の実施の形態におけるカレント行の各文字間隔の丸め値の算出処理を説明するためのフローチャートである。 第三の実施の形態における情報の埋め込み処理を説明するためのフローチャートである。 第四の実施の形態における画像形成装置の機能構成例を示す図である。 第四の実施の形態における画像形成装置による情報の埋め込み処理を説明するためのフローチャートである。 第一の実施の形態におけるカレント行の各文字間隔の丸め値の算出処理を示す第二のフローチャートである。 第五の実施の形態における文書画像への情報の埋め込み方法の概要を説明するための図である。 第五の実施の形態における情報の埋め込み処理を説明するためのフローチャートである。 第五の実施の形態における情報抽出方法の概要を説明するための図である。 第五の実施の形態における情報抽出処理を説明するためのフローチャートである。 第六の実施の形態における情報抽出処理を説明するためのフローチャートである。 マッチングに使用する評価関数を示す図である。 抽出されたビット値の誤り検出の具体例を概念的に示す図である。
符号の説明
10 情報埋め込み・抽出装置
11 画像解析部
12 情報埋め込み部
13 量子化部
14 補正部
15 累積誤差判定部
16 印刷部
17 情報抽出部
18 スキャン部
20、51 プリンタ
30、52 スキャナ
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 演算処理装置
105 表示装置
106 入力装置
B バス

Claims (13)

  1. 文書画像にn進数の情報を埋め込む情報埋め込み装置であって、
    前記文書画像より文字間隔を抽出する画像解析手段と、
    前記文字間隔ごとに前記情報の各桁値を割り当て、nに所定の整数を乗じた値と割り当てられた前記桁値との和に所定の定数を乗じることにより得られる値のうち、前記文字間隔長に最も近い値に前記文字間隔長を変更する第一の文字間隔長変更手段と、
    前記文字間隔長変更手段によって文字間隔長が変更された行の長さの変化量が所定の基準を満たすかを判定する判定手段と、
    前記判定手段によって前記所定の基準を満たさないと判定された場合に、前記行の長さの変化量と同じ方向に変更された少なくとも一部の前記文字間隔長を、nに前記定数を乗じることにより得られる値だけ前記変化量の方向と逆方向に変更する第二の文字間隔長変更手段とを有することを特徴とする情報埋め込み装置。
  2. 前記第二の文字間隔長変更手段は、前記文字間隔長が前記行の長さの変化量と同じ方向に変更された前記文字間隔の中で、前記文字間隔長の変化量が最も大きい前記文字間隔の前記文字間隔長を変更することを特徴とする請求項1記載の情報埋め込み装置。
  3. 前記第二の文字間隔長変更手段は、前記行の長さの変化量が前記所定の基準を満たすまで、前記行の長さの変化量と同じ方向に変更された複数の前記文字間隔について順番に前記文字間隔長を変更することを特徴とする請求項1記載の情報埋め込み装置。
  4. 前記第二の文字間隔長変更手段は、前記行の長さの変化量と同じ方向に前記文字間隔長が変更された全ての前記文字間隔の文字間隔長を変更しても前記行の長さの変化量が前記所定の基準を満たさない場合に、前記文字間隔長の変化量が最も小さい前記文字間隔の前記文字間隔長を、前記行の長さの変化量を小さくする方向に変更することを特徴とする請求項3記載の情報埋め込み装置。
  5. 前記第二の文字間隔長変更手段は、前記行の長さの変化量が前記所定の基準を満たすまで、前記文字間隔長の変化量が最も小さい前記文字間隔の前記文字間隔長を繰り返し変更することを特徴とする請求項4記載の情報埋め込み装置。
  6. 前記n進数は、2進数であり、
    前記第一の文字間隔長変更手段は、前記桁値として0が割り当てられた前記文字間隔については前記所定の定数の偶数倍の値うち当該文字間隔長に最も近い値に当該文字間隔長を変更し、前記桁値として1が割り当てられた前記文字間隔については前記所定の定数の奇数倍の値うち当該文字間隔長に最も近い値に当該文字間隔長を変更する請求項1乃至5いずれか一項記載の情報埋め込み装置。
  7. 前記文字間隔長変更手段は、前記桁値に前記所定の定数を乗じ、更に所定の乱数を加算することにより得られる値に前記文字間隔長を変更する請求項6記載の情報埋め込み装置。
  8. 前記文字間隔長変更手段は、前記桁値に前記所定の定数を乗じた値に、所定の単位で同一の値が繰り返される数列を構成する値を順番に加算する請求項7記載の情報埋め込み装置。
  9. 請求項1乃至いずれか一項記載の情報埋め込み装置によって情報を埋め込まれた文書画像より情報を抽出する情報抽出装置であって、
    前記文書画像より文字間隔を抽出する画像解析手段と、
    前記画像解析手段によって抽出された前記文字間隔の文字間隔長を前記所定の定数で除することによる得られる値に最も近い整数をnで除した場合の剰余を当該文字間隔に埋め込まれた値として抽出する情報抽出手段とを有することを特徴とする情報抽出装置。
  10. 文書画像にn進数の情報を埋め込む情報埋め込み方法であって、
    前記文書画像より文字間隔を抽出する画像解析手順と、
    前記文字間隔ごとに前記情報の各桁値を割り当て、nに所定の整数を乗じた値と割り当てられた前記桁値との和に所定の定数を乗じることにより得られる値のうち、前記文字間隔長に最も近い値に前記文字間隔長を変更する第一の文字間隔長変更手順と、
    前記文字間隔長変更手順において文字間隔長が変更された行の長さの変化量が所定の基準を満たすかを判定する判定手順と、
    前記判定手順において、前記所定の基準を満たさないと判定された場合に、前記行の長さの変化量と同じ方向に変更された少なくとも一部の前記文字間隔長を、nに前記定数を乗じることにより得られる値だけ前記変化量の方向と逆方向に変更する第二の文字間隔長変更手順とを有することを特徴とする情報埋め込み方法。
  11. 請求項10記載の情報埋め込み方法によって情報を埋め込まれた文書画像より情報を抽出する情報抽出方法であって、
    前記文書画像より文字間隔を抽出する画像解析手順と、
    前記画像解析手順において抽出された前記文字間隔の文字間隔長を前記所定の定数で除することによる得られる値に最も近い整数をnで除した場合の剰余を当該文字間隔に埋め込まれた値として抽出する情報抽出手順とを有することを特徴とする情報抽出方法。
  12. コンピュータに、文書画像へのn進数の情報の埋め込みを実行させる情報埋め込みプログラムであって、
    前記文書画像より文字間隔を抽出する画像解析手順と、
    前記文字間隔ごとに前記情報の各桁値を割り当て、nに所定の整数を乗じた値と割り当てられた前記桁値との和に所定の定数を乗じることにより得られる値のうち、前記文字間隔長に最も近い値に前記文字間隔長を変更する第一の文字間隔長変更手順と、
    前記文字間隔長変更手順において文字間隔長が変更された行の長さの変化量が所定の基準を満たすかを判定する判定手順と、
    前記判定手順において、前記所定の基準を満たさないと判定された場合に、前記行の長さの変化量と同じ方向に変更された少なくとも一部の前記文字間隔長を、nに前記定数を乗じることにより得られる値だけ前記変化量の方向と逆方向に変更する第二の文字間隔長変更手順とを前記コンピュータに実行させる情報埋め込みプログラム。
  13. 請求項12記載の情報埋め込みプログラムに基づきコンピュータによって情報を埋め込まれた文書画像より文字間隔を抽出する画像解析手順と、
    前記画像解析手順において抽出された前記文字間隔の文字間隔長を前記所定の定数で除することによる得られる値に最も近い整数をnで除した場合の剰余を当該文字間隔に埋め込まれた値として抽出する情報抽出手順とをコンピュータに実行させるための情報抽出プログラム。
JP2005125305A 2004-12-08 2005-04-22 情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、及び情報抽出プログラム Expired - Fee Related JP4532331B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005125305A JP4532331B2 (ja) 2004-12-08 2005-04-22 情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、及び情報抽出プログラム
US11/296,351 US7630514B2 (en) 2004-12-08 2005-12-08 Embedding and extracting additional information in a document image

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004355485 2004-12-08
JP2005125305A JP4532331B2 (ja) 2004-12-08 2005-04-22 情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、及び情報抽出プログラム

Publications (3)

Publication Number Publication Date
JP2006191520A JP2006191520A (ja) 2006-07-20
JP2006191520A5 JP2006191520A5 (ja) 2008-06-19
JP4532331B2 true JP4532331B2 (ja) 2010-08-25

Family

ID=36640487

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005125305A Expired - Fee Related JP4532331B2 (ja) 2004-12-08 2005-04-22 情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、及び情報抽出プログラム

Country Status (2)

Country Link
US (1) US7630514B2 (ja)
JP (1) JP4532331B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007299321A (ja) * 2006-05-02 2007-11-15 Ricoh Co Ltd 情報処理装置、情報処理方法、情報処理プログラム、及び、情報記憶媒体
JP2008085695A (ja) * 2006-09-28 2008-04-10 Fujitsu Ltd 電子透かし埋め込み装置および検出装置
JP4740166B2 (ja) 2007-01-31 2011-08-03 株式会社リコー 画像形成装置、画像形成システム、画像形成方法、プログラム、および記録媒体
JP4871793B2 (ja) * 2007-06-15 2012-02-08 キヤノン株式会社 情報処理装置及びその方法
US8149451B2 (en) * 2007-07-18 2012-04-03 Ricoh Company, Ltd. Information processing device, information embedding method, and program
JP5471580B2 (ja) * 2010-02-23 2014-04-16 富士ゼロックス株式会社 画像処理装置及びプログラム
US9075961B2 (en) * 2013-09-10 2015-07-07 Crimsonlogic Pte Ltd Method and system for embedding data in a text document
GB2524724B (en) * 2014-03-19 2021-07-07 Omarco Network Solutions Ltd Steganographic document alteration
US9798948B2 (en) * 2015-07-31 2017-10-24 Datalogic IP Tech, S.r.l. Optical character recognition localization tool

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004023566A (ja) * 2002-06-18 2004-01-22 Canon Inc 電子透かし埋め込み装置、電子透かし抽出装置、及びそれらの方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3545782B2 (ja) * 1993-08-31 2004-07-21 株式会社リコー 極秘文書の機密保持方法
US6086706A (en) * 1993-12-20 2000-07-11 Lucent Technologies Inc. Document copying deterrent method
JP3448091B2 (ja) * 1994-02-18 2003-09-16 富士通株式会社 符号化復号化装置及び符号化復号化方法
JP3542678B2 (ja) 1995-12-28 2004-07-14 沖電気工業株式会社 電子文書の単語間の空白部分の長さを利用した符号化および復号化方法、電子文書への署名情報の埋め込み方法、機密文書の暗号化方法
US6222932B1 (en) * 1997-06-27 2001-04-24 International Business Machines Corporation Automatic adjustment of image watermark strength based on computed image texture
US6456393B1 (en) * 1998-08-18 2002-09-24 Seiko Epson Corporation Information embedding in document copies
JP3567975B2 (ja) * 2000-01-24 2004-09-22 日本電気株式会社 電子透かし検出・挿入装置
JP4310031B2 (ja) 2000-07-11 2009-08-05 キヤノン株式会社 画像処理装置、画像処理方法及び記憶媒体
JP3728209B2 (ja) 2001-01-30 2005-12-21 キヤノン株式会社 画像処理方法及び装置及びコンピュータプログラム及び記憶媒体
JP2002344911A (ja) 2001-05-22 2002-11-29 Matsushita Electric Ind Co Ltd デジタル情報埋め込み装置および抽出装置
US6882753B2 (en) * 2001-06-04 2005-04-19 Silicon Integrated Systems Corp. Adaptive quantization using code length in image compression
US7039215B2 (en) * 2001-07-18 2006-05-02 Oki Electric Industry Co., Ltd. Watermark information embedment device and watermark information detection device
US20030210803A1 (en) * 2002-03-29 2003-11-13 Canon Kabushiki Kaisha Image processing apparatus and method
JP3884997B2 (ja) 2002-06-18 2007-02-21 キヤノン株式会社 電子透かし埋め込み装置及び電子透かし抽出装置並びにそれらの方法、コンピュータプログラム、記録媒体
JP3919656B2 (ja) * 2002-12-09 2007-05-30 キヤノン株式会社 電子透かし埋め込み装置、電子透かし埋め込み方法、電子透かし抽出装置、電子透かし抽出方法
US8014557B2 (en) * 2003-06-23 2011-09-06 Digimarc Corporation Watermarking electronic text documents
US7324662B2 (en) * 2004-05-21 2008-01-29 Nanyang Technological University Method, software, and device for hiding data in binary image, while preserving image quality

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004023566A (ja) * 2002-06-18 2004-01-22 Canon Inc 電子透かし埋め込み装置、電子透かし抽出装置、及びそれらの方法

Also Published As

Publication number Publication date
JP2006191520A (ja) 2006-07-20
US20060147084A1 (en) 2006-07-06
US7630514B2 (en) 2009-12-08

Similar Documents

Publication Publication Date Title
JP4532331B2 (ja) 情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、及び情報抽出プログラム
JP2940496B2 (ja) パタンマッチング符号化装置及び方法
JP5014832B2 (ja) 画像処理装置、画像処理方法およびコンピュータプログラム
CN101160950B (zh) 图像处理装置和图像处理方法
EP1667422A1 (en) Printed matter processing system, watermark-containing document printing device, watermark-containing document read device, printed matter processing method, information read device, and information read method
US8270663B2 (en) Watermarked information embedding apparatus
JP2006050551A (ja) 画像処理装置及びその方法、並びにプログラム及び記憶媒体
JP4260781B2 (ja) 情報埋め込み装置、情報埋め込み方法および情報埋め込みプログラム
US7627136B2 (en) Information embedding device, information detecting device, information embedding and detecting system, information embedding method, information detecting method, information embedding program, information detecting program, information embedding and detecting program, and recording medium
EP1798950A1 (en) Image processing method and image processing device
EP2088553A1 (en) Apparatus, system, and method for identifying embedded information
JP4893643B2 (ja) 検出方法および検出装置
JP2016184914A (ja) 画像処理装置
JP2021044803A (ja) 画像処理装置、画像処理方法、及びプログラム
JP2005045799A (ja) 部分的テンプレート照合を用いた画質向上
JP2009070061A (ja) 2次元コード読み取り装置、2次元コード読み取り方法、2次元コード読み取りプログラム及び記録媒体
JP4807401B2 (ja) 画像処理装置、画像形成装置およびプログラム
JP6055952B1 (ja) 画像検査装置、画像検査方法、およびプログラム
JP2007049440A (ja) 画像処理装置、画像処理方法、および画像処理プログラム
US20100104131A1 (en) Document processing apparatus and document processing method
JP4517667B2 (ja) 文書画像照合装置、文書画像位置合わせ方法及びプログラム
JP6413450B2 (ja) 画像処理装置、画像形成装置およびプログラム
JP2010074444A (ja) 画像圧縮装置、画像圧縮方法、画像復号装置、画像復号方法、及び、コンピュータプログラム
JP4390723B2 (ja) 情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、情報抽出プログラム及び記録媒体
JP2007096503A (ja) 画像処理装置、画像処理方法、および画像処理プログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080422

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080422

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100402

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100601

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100610

R150 Certificate of patent or registration of utility model

Ref document number: 4532331

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130618

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees