(57)【特許請求の範囲】
【請求項１】
文書画像に情報を埋め込む画像処理装置であって、
前記文書画像より行及び文字間隔を抽出する画像解析手段と、
埋め込み情報を複数のブロックに分割し、前記ブロックごとに当該ブロックの識別情報を付加したブロック情報を生成するブロック情報生成手段と
前記画像解析手段によって抽出された行ごとに、当該行の先頭又は最後尾からのそれぞれの前記文字間隔に対し前記ブロック情報をランダムな順番で割り当て、前記ブロック情報の末尾が前記行の最後尾の前記文字間隔又は前記行の先頭の前記文字間隔と一致しない場合は、次の行の先頭又は最後尾の前記文字間隔に対して、いずれかの前記ブロック情報の先頭を一致させる情報割り当て手段と、
割り当てられた情報に応じて前記文字間隔の文字間隔長を変更する文字間隔長変更手段とを有することを特徴とする画像処理装置。
【請求項２】
前記情報割り当て手段は、同一の前記ブロックについて複数の前記ブロック情報を割り当てることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記文字間隔長変更手段は、連続する前記文字間隔の長さの大小関係を変更することを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記文字間隔長変更手段は、前記文字間隔長を、前記文字間隔に割り当てられた情報に応じて所定の定数の整数倍の値とすることを特徴とする請求項１又は２記載の画像処理装置。
【請求項５】
複数のブロックに分割されて埋め込まれた埋め込み情報を文書画像より抽出する画像処理装置であって、
前記文書画像より行及び文字間隔を抽出する画像解析手段と、
前記画像解析手段によって抽出された前記文字間隔の文字間隔長に基づいて当該文字間隔に埋め込まれた情報を抽出し、前記行ごとに当該行の所定の位置からのそれぞれの前記文字間隔から抽出された情報に基づいて、前記ブロックごとのブロック情報を生成するブロック情報生成手段と、
前記ブロック情報に含まれている識別情報に基づいて当該ブロック情報が属する前記ブロックを識別するブロック識別手段と、
前記ブロックごとに、当該ブロックに係る複数の前記ブロック情報に基づいて当該ブロックの値を判定し、判定された値を前記識別情報に基づいて連結することにより前記埋め込み情報を復号する埋め込み情報復号手段とを有することを特徴とする画像処理装置。
【請求項６】
前記ブロック情報生成手段は、前記行ごとに当該行の先頭又は最後尾からのそれぞれの前記文字間隔から抽出された情報に基づいて、前記ブロックごとの前記ブロック情報を生成することを特徴とする請求項５記載の画像処理装置。
【請求項７】
前記埋め込み情報復号手段は、前記ブロックごとに、当該ブロックに係る複数の前記ブロック情報の値の多数決により、当該ブロックの値を判定することを特徴とする請求項５又は６記載の画像処理装置。
【請求項８】
前記埋め込み情報復号手段は、前記ブロックごとに、当該ブロックに係る複数の前記ブロック情報について、ビットごとにビッド値が０である第一の信頼度と、１である第二の信頼度とを算出し、前記複数の前記ブロック情報の同一ビットごとに、前記第一の信頼度の平均値と前記第二の信頼度の平均値とを算出し、前記平均値の高い方のビット値を当該ビッドのビット値と判定する請求項５又は６記載の画像形成装置。
【請求項９】
前記埋め込み情報復号手段は、前記ブロックごとに、当該ブロックに係る複数の前記ブロック情報のそれぞれの信頼度を算出し、前記ブロック情報のビットごとに、ビット値が０である前記ブロック情報の前記信頼度の合計と、ビット値が１である前記ブロック情報の前記信頼度の合計とを算出し、前記合計の大きい方のビッド値を当該ビットのビット値と判定する請求項５又は６記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、特に文書画像に対して情報を埋め込み、文書画像より埋め込み情報を抽出する画像処理装置に関する。
【背景技術】
【０００２】
電子透かし・ステガノグラフィに代表される情報埋め込み・抽出技術分野において、従来、任意の情報を人間が容易に視認できない形で文書画像（文字又は文字列を描画要素として含む画像）に埋め込む技術の検討が行われている。そのような技術の一つのアプローチとして文字間隔を変更して情報を埋め込む技術がある。例えば、特許文献１には、単語の前後の空白の長さの組み合わせを１つの符号単位とし、前後の長さの比率を署名データのビット値に応じて変化させることで著作権を保護するための証明データを埋め込む方法が示されている。
【０００３】
また、特許文献２には、文字の前後の文字間隔Ｐ及びＳを用いて、Ｐ−ＳとＰ＋Ｓとの比を量子化することで情報を埋め込む方法が示されている。
【０００４】
更に、特許文献３には、埋め込む情報に合わせて文字間隔長を所定の数の定数倍に量子化する方法が示されている。
【特許文献１】特許第３５４２６７８号公報
【特許文献２】特開２００２−２３２６７９号公報
【特許文献３】特開２００４−３５５４８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１及び特許文献２の方法は、文字間隔の抽出自体を誤ると埋め込み情報の同期が崩れてしまい（例えば、埋め込まれたビットが途中でずれてしまい）、埋め込まれた情報の大部分を誤った値として抽出し得るという問題があった。一方、特許文献３には同期の方法が示されているものの、文字間隔長の変動に弱いという問題があった。
【０００６】
本発明は、上記の点に鑑みてなされたものであって、文書画像からの文字間隔の抽出に誤りが生じた場合であっても当該文書画像より適切に情報が抽出できるように当該情報を埋め込むことのできる画像処理装置の提供を目的とする。
【０００７】
また、本発明は、文書画像からの文字間隔の抽出に誤りが生じた場合であっても当該文書画像より適切に情報を抽出することのできる画像処理装置の提供を目的とする。
【課題を解決するための手段】
【０００８】
そこで上記課題を解決するため、本発明は、文書画像に情報を埋め込む画像処理装置であって、前記文書画像より行及び文字間隔を抽出する画像解析手段と、埋め込み情報を複数のブロックに分割し、前記ブロックごとに当該ブロックの識別情報を付加したブロック情報を生成するブロック情報生成手段と前記画像解析手段によって抽出された行ごとに、当該行の所定の位置からのそれぞれの前記文字間隔に対し前記ブロック情報を割り当てる情報割り当て手段と、割り当てられた情報に応じて前記文字間隔の文字間隔長を変更する文字間隔長変更手段とを有することを特徴とする。
【０００９】
このような画像処理装置では、文書画像からの文字間隔の抽出に誤りが生じた場合であっても当該文書画像より適切に情報が抽出できるように当該情報を埋め込むことができる。
【００１０】
また、本発明は、複数のブロックに分割されて埋め込まれた埋め込み情報を文書画像より抽出する画像処理装置であって、前記文書画像より行及び文字間隔を抽出する画像解析手段と、前記画像解析手段によって抽出された前記文字間隔の文字間隔長に基づいて当該文字間隔に埋め込まれた情報を抽出し、前記行ごとに当該行の所定の位置からのそれぞれの前記文字間隔から抽出された情報に基づいて、前記ブロックごとのブロック情報を生成するブロック情報生成手段と、それぞれの前記ブロックごとに、当該ブロックに係る複数のブロック情報に基づいて当該ブロックの値を判定し、判定された値を連結することにより前記埋め込み情報を復号する埋め込み情報復号手段とを有することを特徴とする。
【００１１】
このような画像処理装置では、文書画像からの文字間隔の抽出に誤りが生じた場合であっても当該文書画像より適切に情報を抽出することができる。
【００１２】
また、上記課題を解決するため、本発明は、上記画像処理装置における画像処理方法、前記画像処理方法を前記画像処理装置に実行させるための画像処理プログラム、又は前記画像処理プログラムを記録した記録媒体としてもよい。
【発明の効果】
【００１３】
本発明によれば、文書画像からの文字間隔の抽出に誤りが生じた場合であっても当該文書画像より適切に情報が抽出できるように当該情報を埋め込むことのできる画像処理装置を提供することができる。
【００１４】
また、本発明によれば、文書画像からの文字間隔の抽出に誤りが生じた場合であっても当該文書画像より適切に情報を抽出することのできる画像処理装置を提供することができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における画像処理装置の機能構成例を示す図である。
【００１６】
図１において画像処理装置１０は、文書画像（少なくとも文字列をその描画要素として含む画像をいう。）に対する情報の埋め込み機能と、文書画像からの情報の抽出機能とを有する装置であり、画像取得部１０１、画像解析部１０２、情報埋め込み部１０３、ブロック情報生成部１０４、情報割り当て部１０５、文字間隔長変更部１０６、印刷部１０７、情報抽出部１０８、ブロック情報抽出部１０９、及び情報復号部１１０等を有する。
【００１７】
画像取得部１０１、はアプリケーション３０、記憶装置４０又はスキャナ５０等から文書画像を取得し、メモリ上に展開する。情報の埋め込み時には情報の埋め込み対象とされる文書画像が取得され、情報の抽出時には情報が埋め込まれた文書画像が取得される。アプリケーション３０、記憶装置４０及びスキャナ５０等は、画像処理装置１０に内蔵されていてもよいし、ネットワーク（有線又は無線を問わない。）やケーブル等を介して接続する他の装置に備えられているものであってもよい。
【００１８】
画像解析部１０２は、画像取得部１０１によってメモリ上に展開された文書画像から行及び文字間隔を抽出する。
【００１９】
情報埋め込み部１０３は、画像解析部１０２によって抽出された文字間隔を操作することにより、文書画像に対して情報を埋め込むための処理を制御する。情報埋め込み部１０３は、情報の埋め込み処理に際し、ブロック情報生成部１０４、情報割り当て部１０５、文字間隔長変更部１０６、及び印刷部１０７等を用いる。
【００２０】
ブロック情報生成部１０４は、文書画像に埋め込む情報を所定の情報量（長さ）ごと（例えば、４ビットごと）のブロックに分割し、ブロックごとに当該ブロックの識別情報（例えば、２ビット）を付加したブロック情報（例えば、６ビット）を生成する。なお、以下、ブロック情報において、識別情報の部分をブロック識別情報といい、埋め込み情報に相当する部分（ブロック識別情報以外の４ビット）を、ブロック実情報という。
【００２１】
情報割り当て部１０５は、ブロック情報生成部１０４によって生成された各ブロック情報について、当該ブロック情報を構成する値（例えば、ビット値）を文書画像の各文字間隔に割り当てる。この際、情報割り当て部１０５は、行の先頭又は最後尾等、所定の位置からブロック情報を割り当てる。
【００２２】
文字間隔長変更部１０６は、割り当てられた値に応じて各文字間隔の長さ（文字間隔長）を変更することにより、文書画像に対して情報を埋め込む。印刷部１０７は、情報が埋め込まれた文書画像をプリンタ２０に印刷させる。プリンタ２０は、画像処理装置１０に内蔵されていてもよいし、ネットワーク又やケーブル等を介して画像処理装置１０と接続されていてもよい。
【００２３】
情報抽出部１０８は、画像解析部１０２によって抽出された文字間隔に基づいて、文書画像より埋め込み情報を抽出するための処理を制御する。情報抽出部１０８は、埋め込み情報の抽出に際し、ブロック情報抽出部１０９及び情報復号部１１０等を用いる。ブロック情報抽出部１０９は各文字間隔から情報を抽出し、抽出された情報に基づいてブロックごとのブロック情報を生成する。情報復号部１１０は、生成されたブロック情報に基づいて埋め込み情報を復号する。
【００２４】
図２は、本発明の実施の形態における画像処理装置のハードウェア構成例を示す図である。図２の画像処理装置１０は、それぞれバスBで相互に接続されているドライブ装置１２０と、補助記憶装置１２２と、メモリ装置１２３と、演算処理装置１２４と、表示装置１２５と、入力装置１２６と等を有するように構成される。
【００２５】
画像処理装置１０での処理を実現するプログラムは、CD―ROM等の記録媒体１２１によって提供される。プログラムを記録した記録媒体１２１がドライブ装置１２０にセットされると、プログラムが記録媒体１２１からドライブ装置１２０を介して補助記憶装置１２２にインストールされる。補助記憶装置１２２は、インストールされたプログラムを格納すると共に、処理対象とする画像データ等を格納する。
【００２６】
メモリ装置１２３は、プログラムの起動指示があった場合に、補助記憶装置１２２からプログラムを読み出して格納する。演算処理装置１２４は、メモリ装置１２３に格納されたプログラムに従って画像処理装置１０に係る機能を実行する。表示装置１２５はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置１２６はキーボード及びマウス等で構成され、様々な操作指示を入力するために用いられる。
【００２７】
なお、画像処理装置１０をネットワークに接続することにより、他の端末からリモートで操作を行ってもよい。この場合、ドライブ装置１２０、表示装置１２５及び入力装置１２６等は、当該他の端末が有していればよく、画像処理装置１０が必ずしも備えている必要はない。
【００２８】
以下、図１の画像処理装置１０によって実行される処理手順について説明する。図３は、第一の実施の形態における情報埋め込み処理を説明するためのフローチャートである。第一の実施の形態では、連続する文字間隔の大小関係を変更することで文書画像に情報を埋め込み、そのようにして埋め込まれた情報を抽出する例について説明する。
【００２９】
ステップＳ２０１において、画像取得部１０１は、アプリケーション３０、記憶装置４０又はスキャナ５０等より、情報の埋め込み対象とする文書画像（以下「対象画像」という。）を取得し、メモリ上に展開する。続いて、情報埋め込み部１０３は、対象画像に埋め込む情報（以下「埋め込み情報」という。）を取得する（Ｓ２０２）。埋め込み情報は、このタイミングでＧＵＩ（Graphical User Interface）等を表示させユーザに入力させてもよいし、予め補助記憶装置１２２等に保存されているファイル等より読み込んでもよい。なお、本実施の形態において、埋め込み情報は２進数に変換されて保持されるが、必ずしも２進数である必要はない。
【００３０】
続いて、画像解析部１０２は、メモリ上に展開された対象画像に含まれている文字列によって構成される行及び文字間隔を抽出する（Ｓ２０３）。文書画像からの行及び文字間隔の抽出については周知の方法を用いて行えばよい。例えば、特許第３２７８４７１号公報又は特許第３２８５６８６号公報等に示されるような技術を用いてもよい。
【００３１】
続いて、ブロック情報生成部１０４は、埋め込み情報としてのビット列を所定のビット数ごとに複数のブロックに分割し、ブロックごとに当該ブロックの識別情報を付加したブロック情報を生成する（Ｓ２０４）。
【００３２】
図４は、ブロック情報の生成処理の一例を概念的に示す図である。図４では、１６ビットからなる埋め込み情報を４つのブロックに分割する例を示している。すなわち、ｂ１〜ｂ１６からなる１６ビットを、ｂ１〜ｂ４（ブロック０）、ｂ５〜ｂ８（ブロック１）、ｂ９〜ｂ１２（ブロック２）、ｂ１３〜ｂ１６（ブロック３）の４つのブロックに分割し、それぞれのブロックの先頭に２ビットのブロック識別情報を付加している。図４では、ブロック０、ブロック１、ブロック２、ブロック３のそれぞれのブロック識別情報の値は、「００」、「１０」、「０１」、「１１」とされている。なお、以下の説明では、ブロック識別情報をも含む（６ビットの）情報をブロック情報という。
【００３３】
続いて、情報割り当て部１０５は、各ブロック情報の各ビットを、画像解析部１０２によって抽出された文字間隔に割り当てる（Ｓ２０５）。
【００３４】
図５は、文書画像における文字間隔へのブロック情報の割り当て方を説明するための図である。
【００３５】
図５において、最小単位の各矩形は一つの文字間隔を表現し、互いに接する一連の矩形群は行を表現する。図５では、４行目までが表示されており、１〜４行目までの各行では、それぞれ、１５個、１２個、８個、１６個の文字間隔が抽出された場合を例としている。なお、各矩形の中に示される値は、当該文字間隔に割り当てられたビット値を示す。
【００３６】
図５において注目すべき点の一つとして、行の先頭（行頭）でブロック情報との同期をとっていることが挙げられる。すなわち、各行頭の文字間隔には、必ずいずれかのブロック情報の先頭ビットが割り当てられ、その後に続くビットが順番に各文字間隔に割り当てられる。したがって、行末とブロック情報の末尾とが一致しなかったとき、すなわち、行末の文字間隔に割り当てられたビットが、あるブロック情報の途中のビットである場合、その次の行は、そのまま続きのビットではなく、当該ブロック情報の先頭又は他のブロック情報の先頭のビットから順に割り当てられる。
【００３７】
なお、図５の例では、ブロック０、１、２，３の順で割り当てられているが、ブロック間の並びは、埋め込み情報における順番に一致している必要はなく、ランダムでもよい。但し、同一ブロックについて複数のブロック情報が割り当てられ、同一ブロックに係る複数のブロック情報は、異なる行に割り当てられるのが望ましい。
【００３８】
また、ブロック情報の先頭と同期を取るのは必ずしも行頭である必要はなく、行の中での位置とブロック内での位置を一対一に対応付けることができればよい。したがって、例えば、行末とブロック情報の先頭とを一致させてもよいし（この場合、行末から順に（図中では左方向に）ビットを割り当てればよい。）、また、行頭と行末とに交互にブロック情報を同期させてもよい。更には、行頭から何番目の文字間隔といったように、所定の規則に基づいてブロック情報との同期を図ってもよい。
【００３９】
続いて、文字間隔長変更部１０６は、割り当てられた情報に応じて各文字間隔長を変更する（Ｓ２０６）。文字間隔長の変更の方法は所定のものに限定されない。第一の実施の形態では連続する文字間隔の文字間隔長の大小関係を操作することにより情報を埋め込む方法を例として説明する。
【００４０】
図６は、連続する文字間隔長の大小関係を操作することにより情報を埋め込む方法を説明するための図である。
【００４１】
図６では、ＡＢＣという文字列において、ＡとＢとの間の文字間隔に情報を埋め込む場合を例としている。なお、ＡとＢとの間と文字間隔Ｓｉといい、ＢとＣとの間を文字間隔Ｓｉ＋１という。またそれぞれの文字間隔長を文字間隔長Ｓｉ、文字間隔長Ｓｉ＋１という。
【００４２】
図６に示される方法では、文字間隔Ｓｉに「０」を埋め込む場合、文字間隔長Ｓｉを文字間隔長Ｓｉ＋１より大きくする。一方、文字間隔Ｓｉに「１」を埋め込む場合、文字間隔長Ｓｉを文字間隔長Ｓｉ＋１より小さくする。但し、この方法では行の最後の文字間隔に情報を埋め込むことができないので、ステップＳ２０５において、行の最後の文字間隔に情報を割り当てないようにしておく必要がある。
【００４３】
続いて、印刷部１０７は、情報が埋め込まれた対象画像をプリンタ２０に印刷させ、処理を終了させる。
【００４４】
次に、図３の処理によって情報が埋め込まれた印刷文書をスキャンすることにより得られる文書画像より情報を抽出する例について説明する。図７は、第一の実施の形態における情報抽出処理を説明するためのフローチャートである。
【００４５】
ステップＳ３０１において、画像取得部１０１は、スキャナ５０によってスキャンされた印刷文書の文書画像（以下「対象画像」という。）をメモリ上に展開する。続いて、画像解析部１０２は、メモリ上に展開された対象画像に含まれている文字列によって構成される行及び文字間隔を抽出する（Ｓ３０２）。
【００４６】
続いて、ブロック情報抽出部１０９は、抽出された行及び文字間隔に基づいて対象画像に埋め込まれているブロック情報を抽出する（Ｓ３０３）。すなわち、行ごとに当該行の先頭から文字間隔長の大小関係を測定することにより、ビット値（０又は１）を抽出する。抽出されたビット値をブロック情報長単位（本実施の形態では６ビット）にまとめることでブロック情報を生成する。なお、ここでは、各ブロックについて複数のブロック情報が抽出される。
【００４７】
続いて、情報復号部１１０は、抽出されたブロック情報に基づいて埋め込み情報を復号する（Ｓ３０４）。すなわち、各ブロック情報についてブロック識別情報に基づいて当該ブロック情報が属するブロックを識別する。続いて、各ブロックについて当該ブロックに係る複数のブロック情報のブロック実情報を比較することで当該ブロックのブロック実情報の各ビット値を判定する。実情報のビット値の判定は、同一のブロックに係るブロック実情報の多数決によって行う。更に、ブロックごとに判定された実情報のビット値をブロックの順番に応じて連結することにより、埋め込み情報を復号する。
【００４８】
より具体的には、抽出された一のブロック情報が属するブロックがブロックｉであり、当該ブロックｉのｊ番目の位置のビット値がｂであったときは、埋め込み情報の４×ｉ＋（ｊ−２)番目の位置のビット値がｂである方に一票を入れる。これを抽出された全てのブロック情報に基づいて行った後、埋め込み情報の各ビットで票数の多い方のビット値を採用する。
【００４９】
上述したように、第一の実施の形態における画像処理装置１０によれば、同一ブロックについて複数埋め込まれたブロック情報の多数決によってそれぞれのブロック実情報が判定されるため、安定的に埋め込み情報を抽出することができる。また、ブロック情報に分割することにより、一行ではおさまりきらないような長い情報であっても適切に埋め込むことができる。更に、行ごとにブロック情報との同期がとられているため、ある行において文字間隔の抽出等に誤りがあっても、その誤りの影響を当該行内におさめることができ、多数決の信頼性を高めることができる。
【００５０】
次に、第二の実施の形態について説明する。第二の実施の形態では、文字間隔長を量子化することにより情報を埋め込み、そのようにして埋め込まれた情報を抽出する例について説明する。
【００５１】
第二の実施の形態において、画像処理装置１０の機能構成例及び処理手順は基本的に第一の実施の形態と同様でよい。但し、情報を埋め込む際の処理手順（図３）において、ステップＳ２０６の内容が異なる。すなわち、第二の実施の形態のステップＳ２０６において文字間隔長変更部１０６は、割り当てられた情報に応じて各文字間隔長を所定の定数（以下「量子化単位」という。）の整数倍の値に変更する。このとき、埋め込むビット値が「１」のとき量子化単位の奇数倍、埋め込むビット値が「０」のとき量子化単位の偶数倍とすることで当該ビット値を表現する。この際、量子化前の文字間隔長に最も近い値を採用すると画質劣化を小さく抑えることができる。
【００５２】
図８は、文字間隔長を量子化することにより情報を埋め込む方法を説明するための図である。
【００５３】
図８の例では、量子化単位をｑとした場合に、「文書画像」という文字列によって構成される３つの文字間隔に、「００１」というビット列を埋め込む例を示している。各文字間隔長は、２ｑ、４ｑ、３ｑに変更されている。
【００５４】
なお、０／１と偶数倍／奇数倍との対応は、逆であってもよい。
【００５５】
第二の実施の形態ではまた、情報を抽出する際の処理手順（図７）において、ステップＳ３０３の内容が異なる。すなわち、第二の実施の形態のステップＳ３０３では、ブロック情報抽出部１０９は、各文字間隔長を量子化単位（図８ではｑ）で除した場合の商が偶数であるか奇数であるか基づいて、各文字間隔に埋め込まれたビット値を判定する。
【００５６】
上述したように、第二の実施の形態における画像処理装置１０によれば、第一の実施の形態とは異なる情報の表現方法で、第一の実施の形態と同様の効果を得ることができる。
【００５７】
なお、第二の実施の形態では、文字間隔長を量子化単位の整数倍とする例について説明したが、例えば、割り当てられた情報に対応する値の集合を予め定めておき、集合に属する値に文字間隔長をその変更するようにしてもよい。すなわち、第二の実施の形態において説明した、文字間隔長を量子化単位の整数倍とする例は、割り当てられた情報に対応する所定の集合に属する値に文字間隔長を変更する例の一つに相当する。
【００５８】
次に、第三の実施の形態について説明する。第三の実施の形態では、情報抽出処理の別の形態について説明する。
【００５９】
第一及び第二の実施の形態におけるステップＳ３０４では、埋め込み情報のビットごとに多数決を取っているが、第三の実施の形態では、０及び１に対する多数決ではなく、その中間値を含んだ値を用いて重み付けの投票を行う。すなわち０又は１であることの確からしさを表す指標を用いてビット値を復号する。ここで、その確からしさを表す指標を信頼度と呼ぶこととする。
【００６０】
信頼度の算出には様々な方法が考えられる。例えば、情報埋め込みと情報抽出の間での文字間隔長の変化のモデルをガウス分布と仮定すると、以下の式を用いてそのビットが「０」である信頼度を算出することができる。
【００６１】
【数１】
0004575873.tif 000002
ここで、ｘは情報抽出対象の文字間隔長、集合Ｓ０は「０」を埋め込むときに文字間隔長が変更される値の集合（第二の実施の形態における方法を採用する場合、量子化単位ｑの偶数倍数の集合）、δは文字間隔の観測装置（スキャナ５０）のサンプリング間隔、μ、σはそれぞれ平均、標準偏差に対応するパラメータである。ビットが’1’である信頼度も、集合Ｓ０を「１」を埋め込むときに文字間隔長が変更される値の集合Ｓ１に置き換えることで算出できる。
【００６２】
このように０及び１の信頼度の平均値をビットごとに算出し、信頼度の平均値が高い方のビット値を抽出する。
【００６３】
上述したように、第三の実施の形態における画像処理装置１０によれば、信頼度といった指標を用いて第一又は第二の実施の形態と同様の効果を得ることができる。
【００６４】
次に、第四の実施の形態について説明する。第四の実施の形態では、第二の実施の形態のように、文字間隔長を量子化することで文書画像に埋め込まれた情報を、信頼度を用いて抽出する例について説明する。ただし、第四の実施の形態における信頼度の算出方法は、第三の実施の形態において説明したものとは異なる。
【００６５】
第四の実施の形態の情報埋め込み時において、文字間隔変更部１０６は、文字間隔長の量子化を以下の式に基づいて行う。
【００６６】
【数２】
0004575873.tif 000003
ここで、xは文字間隔長、ｂは埋め込むビット値（０又は１）、ｑは量子化単位、ｋは任意の整数、ｃｉは０以上ｑ−１以下の値を取る整数の数列、添え字のｉはブロック情報中でｉ番目のビットであることを示している。
【００６７】
情報抽出時には、ブロック情報抽出部１０９は、観測された文字間隔長をブロックごとに量子化単位ｑで割った余りとｃｉとの距離を算出し、その距離を用いて信頼度を算出する（この信頼度はブロック単位で得られることに注意）。更に、得られた信頼度に基づいてビットごとに多数決を行う。
【００６８】
図９は、第四の実施の形態におけるブロック情報の信頼度の算出例を示す図である。
【００６９】
図９の（Ａ）に示されるように、あるブロック情報を埋め込む前の各文字間隔長が、２２、１８、２１、３２、４３、２８であるとする。また、（Ｂ）に示されるように、当該ブロック情報のビット列は、０、０、０、０、０、０であるとする。更に、（Ｃ）に示されるように、それぞれのｃｉの値は、３、１、４、１、０、２であるとする。この場合、量子化単位を「５」として当該ブロック情報を埋め込むと、（Ｄ）に示されるように、情報の埋め込み後の各文字間隔長は、２３、２１、２４、３１、４０，３２となる。
【００７０】
このようにして情報の埋め込まれた文書画像を印刷し、スキャンして得られた画像より各文字間隔長を抽出してみると、（Ｅ）に示されるように、２２、２０、２４、３３、３９、３２だった場合の当該ブロック情報の信頼度を算出する場合を考える。
【００７１】
各文字間隔長を量子化単位（「５」）で除した余りを算出すると、２、０、４、３、４、２という値が得られる（Ｆ）。更に、各文字間隔ごとにｃｉとの距離（差）ｄｉを算出すると、１、１、０、２、１、０となる（Ｇ）。これに基づいて、ΣP−ｄｉという式で信頼度を算出するとする（但し、信頼度の算出式はこれに限るものではない）。そうすると、当該ブロック情報の信頼度は、Ｐ−１＋Ｐ−１＋Ｐ０＋Ｐ−２＋Ｐ−１＋Ｐ０となる（Ｈ）。なお、ｄｉは５を法とする整数剰余環上のリー距離である（したがってｄ５は４ではなく１である）。
【００７２】
ブロック情報ごとに信頼度を算出した後は、図１０のようにビットごとに信頼度で重み付けをして多数決によって情報を復号する。
【００７３】
図１０は、第四の実施の形態において各ビットの信頼度に基づいてビット値を判定する例を説明するための図である。
【００７４】
図１０では、ブロック０について、三つのブロック情報（ブロック情報０−１、ブロック情報０−２、ブロック情報０−３）が抽出され、それぞれの信頼度が２．４、３．３、１．７として算出された例を示している。ここで、ブロック０の３ビット目（識別情報を除けば１ビット目）のビット値が、ブロック情報ごとに１、０、１だった場合、当該ビット値は、各ブロック情報の信頼度に基づいて以下のように判定される。
【００７５】
すなわち、ブロック情報０−１に対する信頼度によれば、当該ビット値が０である信頼度は０であり、１である信頼度は２．４である。また、ブロック情報０−２に対する信頼度によれば、当該ビット値が０である信頼度は３．３、１である信頼度は０である。また、ブロック情報０−３に対する信頼度によれば、当該ビット値が０である信頼度は０、１である信頼度は１．７である。三つのブロック情報に基づいて算出された０及び１の信頼度をそれぞれについて合計すると、３．３と４．１となる。ここで、１の信頼度の方が大きいため、当該ビット値は１として判定される。このようなことを、他のビット及び他のブロック情報について行うことにより、埋め込み情報が抽出される。
【００７６】
次に、第五の実施の形態について説明する。第五の実施の形態では、上記において説明した各実施の形態において、誤り訂正符号を組み合わせた例について説明する。すなわち、第五の実施の形態において、ブロック情報生成部１０４は、埋め込み情報に対して誤り訂正符号を施した後、当該埋め込み情報をブロックに分割する。
【００７７】
情報抽出の際は、情報復号部１１０は、ステップＳ３０４の処理で誤り訂正符号化された埋め込み情報を復号した後、その誤り訂正符号を復号することにより、元の埋め込み情報を復号する。また、第三の実施の形態において説明した信頼度を用いて軟判定復号を行うことで、誤り訂正能力を高めてもよい。
【００７８】
上述したように、第五の実施の形態における画像処理装置１０によれば、埋め込み情報に対し誤り訂正符号を施すことにより、抽出された埋め込み情報の誤りの検出及びその訂正を可能とすることができる。したがって、画像に埋め込まれた情報をより安定的に抽出することができる。
【００７９】
なお、誤り訂正符号には例えばハミング符号、ＢＣＨ符号、リードソロモン符号、畳み込み符号、ターボ符号、低密度パリティ検査符号、及びこれらの組み合わせを用いてもよい。但し、適用可能な誤り訂正符号はこれらの符号に限るものではない。
【００８０】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００８１】
【図１】本発明の実施の形態における画像処理装置の機能構成例を示す図である。
【図２】本発明の実施の形態における画像処理装置のハードウェア構成例を示す図である。
【図３】第一の実施の形態における情報埋め込み処理を説明するためのフローチャートである。
【図４】ブロック情報の生成処理の一例を概念的に示す図である。
【図５】文書画像における文字間隔へのブロック情報の割り当て方を説明するための図である。
【図６】連続する文字間隔長の大小関係を操作することにより情報を埋め込む方法を説明するための図である。
【図７】第一の実施の形態における情報抽出処理を説明するためのフローチャートである。
【図８】文字間隔長を量子化することにより情報を埋め込む方法を説明するための図である。
【図９】第四の実施の形態におけるブロック情報の信頼度の算出例を示す図である。
【図１０】第四の実施の形態において各ビットの信頼度に基づいてビット値を判定する例を説明するための図である。
【符号の説明】
【００８２】
１０          画像処理装置
２０          プリンタ２０
３０          アプリケーション３０
４０          記憶装置
５０          スキャナ
１０１          画像取得部
１０２          画像解析部
１０３          情報埋め込み部
１０４          ブロック情報生成部
１０５          情報割り当て部
１０６          文字間隔長変更部
１０７          印刷部
１０８          情報抽出部
１０９          ブロック情報抽出部
１１０          情報復号部
１２０        ドライブ装置
１２１        記録媒体
１２２        補助記憶装置
１２３        メモリ装置
１２４        演算処理装置
１２５        表示装置
１２６        入力装置
Ｂ            バス
【図１】
0004575873.tif 000004
【図２】
0004575873.tif 000005
【図３】
0004575873.tif 000006
【図４】
0004575873.tif 000007
【図５】
0004575873.tif 000008
【図６】
0004575873.tif 000009
【図７】
0004575873.tif 000010
【図８】
0004575873.tif 000011
【図９】
0004575873.tif 000012
【図１０】
0004575873.tif 000013