説明

文書検証システム、文書検証方法、文書検証プログラム及び記録媒体

【課題】インクのにじみ、トナーの飛び散り、印刷・スキャンの際の歪みや雑音等が発生しても、高い精度で文書の改ざんを検出する。
【解決手段】文書検証システム111は、透かしデータから、原文書データの複数の領域の特徴量を取得し、n値化閾値の複数の候補を受け付け、検証対象文書の画像データの、前記原文書データの複数の領域と対応している複数の領域に含まれる画素の画素値を、n値化閾値の複数の候補を使用してn値化し、n値化された画素値に基づいて算出した比較用特徴量を取得し、対応する領域毎に、原文書データの特徴量との差が最も小さい比較用特徴量を確定特徴量とし、確定特徴量を取得する際に使用されたn値化閾値を、隣接する領域同士で比較し、比較した差が所定の値よりも大きい場合、当該領域において検証対象文書が改ざんされていると判断する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文書検証システム、文書検証方法、文書検証プログラム及び記録媒体に関する。
【背景技術】
【0002】
文書の特徴量を抽出し、その文書を、プリンタを用いて印刷する際に、抽出した特徴量を電子透かし等を用いて紙面に対して埋め込む技術が知られている。また、印刷された紙面をスキャンして、埋め込まれている電子透かし等から特徴量を読み取り、一方、スキャンされた画像から特徴量を読み取り、双方の特徴量を比較することによって、紙面の改ざん、偽造及び変造等を検知する技術が知られている。
【0003】
特許文献1に記載された技術では、まず、透かし画像形成部は、文書画像を参照して、機密情報に基づいて透かし画像を作成する。次に、所定のフィルタを用いて、所定のシンボルを識別可能なドットパターンを埋め込む埋め込み領域を文書画像から算出し、埋め込み領域に対する文字領域の割合が所定の閾値以下であるか否かを判定する。埋め込み領域に対する文字領域の割合が所定の閾値以下である場合、文字領域と重ならない埋め込み領域に、少なくとも一部の機密情報を含むシンボルを識別可能なドットパターン(シンボルユニット)を、所定の数埋め込む。
特許文献1に記載された技術は、文書画像を参照し、文字領域に重ならない領域に機密情報を埋め込むため、元の文書に関わらず、確実に機密情報を埋め込むことができるとしている。
【0004】
特許文献2に記載された技術では、印刷物の印刷内容の改ざん有無を判定する改ざん検出システムに、元画像が印刷された印刷物を読み取って作成された読み取り画像に変更を加えて、読み取り画像に各々異なる変更が加えられた複数の変更画像を作成する変更画像作成部と、複数の変更画像の各々の特徴量を計測する特徴量計測部と、元画像の特徴量と、各変更画像の特徴量との差分値を求める特徴量差分算出部と、特徴量差分算出部によって求められた値に基づいて読み取り画像が改ざんされているか否かを判定する判定部とを設けている。
特許文献2に記載された技術は、印刷前の画像の特徴量と印刷後の画像の特徴量とを用いて改ざん有無判定を適切に行うことが可能な改ざん検出システムおよび改ざん検出方法を提供できるものとしている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】米国特許出願公開第2005/0018845号明細書(請求項1)
【特許文献2】特開2006−261824号公報(請求項1)
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、前記したように、特許文献1に記載された技術では、埋め込み領域に対する文字領域の割合が所定の閾値以下であるか否かを判定し、埋め込み領域に対する文字領域の割合が所定の閾値以下である場合に処理を行うため、埋め込み領域に対する文字領域の割合が印刷後に変化しないことが要求される。ところが、家庭用インクジェットプリンタ等では、文書を印刷した場合にインクのにじみが発生し、埋め込み領域に対する文字領域の割合が大きくなる可能性がある。また、オフィス用のページプリンタでも、文書を印刷した場合にトナーの飛び散りが発生し、埋め込み領域に対する文字領域の割合が大きくなる可能性がある。
【0007】
また、文書をスキャンする場合に、レンズ等の光学系によって発生するぼけの影響によって、埋め込み領域に対する文字領域の割合が変化する可能性がある。このため、印刷後の文書を再びスキャンし、紙面の改ざんを検知する場合、埋め込み領域に対する文字領域の割合が増大するため、改ざんされていない部分も改ざんであると検知されてしまう可能性があった。
さらに、ローラの回転に起因する歪みや雑音の混入により、文字領域が変化し、元の文書の特徴量とスキャン画像の特徴量との差が大きくなり、改ざんされていない部分も改ざんであると検知されてしまう可能性があった。また、スキャン画像を2値化する際、その2値化閾値の取り方によって文字領域が変化するため、元の文書の特徴量とスキャン画像の特徴量との差が大きくなり、改ざんされていない部分も改ざんであると検知されてしまう可能性があった。これらの誤検知を防ぐために改ざんであると判定する閾値を弱めると、改ざんされている文書を改ざんされていないと誤検知してしまう可能性があった。
【0008】
特許文献2に記載された技術では、元画像が印刷された印刷物を読み取って作成された読み取り画像に変更を加えて、前記読み取り画像に各々異なる変更が加えられた複数の変更画像を作成する。そして、前記複数の変更画像の各々の特徴量を計測し、前記元画像の特徴量との差分値を求める。そして、最小の差分値と、改ざん検出のための閾値とを比較して、差分値が改ざん検出のための閾値よりも小さければその領域の画像は改ざんされていないと判定し、差分値が改ざん検出のための閾値以上であれば、改ざんされていると判定する。
しかし、複数の差分値と一つの改ざん検出のための閾値とをそれぞれ比較しているため、改ざんされた後の画像に対して変更を加えた結果、差分値が改ざん検出のための閾値よりも小さくなり、改ざんされているのに改ざんされていないと判定してしまう可能性があった。
以上述べたように、特許文献1、特許文献2によって開示された技術には、印刷媒体が改ざんされた場合に、改ざんされた事実が確認できない可能性があるという課題があった。
【0009】
そこで、本発明は、インクのにじみ、トナーの飛び散り、スキャンの際の歪みや雑音等が発生しても、高い精度で文書の改ざんを検出することができるシステム等を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明の文書検証システムは、原文書データが前記原文書データの複数の領域の特徴量を表す透かしデータとともに印刷用媒体に対して印刷された検証対象文書を読み取り、当該印刷された検証対象文書が改ざんされているか否かを検証する文書検証システムであって、前記透かしデータから、前記原文書データの複数の領域の特徴量を取得し、前記検証対象文書の画像データの画素値をn値化(n≧2)するn値化閾値の複数の候補を受け付け、前記検証対象文書の画像データの、前記原文書データの複数の領域と対応している複数の領域に含まれる画素の画素値を、前記n値化閾値の複数の候補を使用してn値化し、前記n値化された画素値に基づいて算出した比較用特徴量を取得し、対応する領域毎に、前記取得した原文書データの特徴量と、前記比較用特徴量とを比較し、前記取得した原文書データの特徴量との差が最も小さい前記比較用特徴量を確定特徴量とし、前記確定特徴量を取得する際に使用された前記n値化閾値の候補を、改ざん判別用n値化閾値として、対応する領域毎に取得し、前記領域の前記改ざん判別用n値化閾値を、隣接する領域の前記改ざん判別用n値化閾値と比較し、比較した差が所定の値よりも大きい場合、当該領域において検証対象文書が改ざんされていると判断する。
【発明の効果】
【0011】
本発明によれば、インクのにじみ、トナーの飛び散り、スキャンの際の歪みや雑音等が発生しても、高い精度で文書の改ざんを検出することができるシステム等を提供することが可能になる。
【図面の簡単な説明】
【0012】
【図1】本実施形態に係る文書作成システムの構成例を示す図である。
【図2】本実施形態に係る文書検証システムの構成例を示す図である。
【図3】本実施形態に係る文書作成システム及び文書検証システムの各装置のハードウエア構成図である。
【図4】本実施形態に係る特徴量タイプテーブルの一例を示す図である。
【図5】(a)は、本実施形態に係る改ざん検出対象領域レコードの一例を示す図である。(b)は、本実施形態に係る改ざん検出対象領域を説明する図である。
【図6】(a)は、本実施形態に係る重心利用タイプにおける重心の求め方を説明する図である。(b)は、本実施形態に係る重心利用タイプにおける特徴量を説明する図である。
【図7】(a)は、本実施形態に係るラン数利用タイプを説明する図である。(b)は、本実施形態に係る面積利用タイプを説明する図である。
【図8】(a)は、本実施形態に係る重心リストの一例を示す図である。(b)は、本実施形態に係る文書特徴量のコンピュータ内部表現の一例を示す図である。
【図9】(a)は、本実施形態に係る領域規定情報の一例を示す図である。(b)は、本実施形態に係る領域座標の模式図である。(c)は、本実施形態に係る検証対象文書画像座標の模式図である。
【図10】(a)及び(b)は、本実施形態に係る内部補間処理の一例を示す図である。
【図11】(a)〜(h)は、本実施形態に係る改ざん文書に対する改ざん検出処理の一例を示す図である。
【図12】(a)〜(h)は、本実施形態に係る非改ざん文書に対する改ざん検出処理の一例を示す図である。
【図13】本実施形態に係る特徴量データの一例を示す図である。
【図14】本実施形態に係るルール改ざん検出結果データの一例を示す図である。
【図15】本実施形態に係る文書作成処理手順のフローチャートである。
【図16】本実施形態に係る文書作成処理手順のステップS405の詳細フローチャートである。
【図17】本実施形態に係る文書検証処理手順のフローチャートである。
【図18】本実施形態に係る文書検証処理手順のステップS606の詳細フローチャートである。
【図19】本実施形態に係る文書検証処理手順のステップS607の詳細フローチャートである。
【図20】本実施形態に係る文書検証処理手順のステップS609の詳細フローチャートである。
【図21】本実施形態に係る文書検証処理手順のステップS610の詳細フローチャートである。
【図22】本実施形態に係る改ざん検出結果画面の一例を示す図である。
【発明を実施するための形態】
【0013】
以降、本発明を実施するための形態(「本実施形態」という)を、図等を参照しながら詳細に説明する。
【0014】
(文書作成システム)
図1に沿って、文書作成システムを説明する。
文書作成システム101は、文書検証システム111(後記)が読み取る、透かしデータが埋め込まれた印刷文書を作成するシステムである。
文書作成システム101は、文書作成端末装置102、文書特徴量抽出装置103、透かしデータ作成装置104、地紋透かし埋込装置105及び改ざん検出対象データベース(DB)装置106を有する。これらの各装置102〜106は、ネットワーク110を介して相互に接続されている。
【0015】
文書作成端末装置102は、文書データを受け付け、その文書データとともに、その文書データの特徴を現す文書特徴量を透かしデータとして印刷媒体に印刷する。
文書特徴量抽出装置103は、文書データの文書特徴量を抽出する。文書特徴量とは、文書データ全体の特徴を表す量であって、特徴量タイプ、特徴量が取得されている領域、その領域の数、領域毎の特徴量を含む情報である(詳細後記)。なお、特徴量とは、その文書データのある領域毎の特徴を示す量であって、いくつかのタイプがある(詳細後記)。
文書特徴量抽出装置103のメモリ202は、特徴量タイプテーブル107を有する。さらに文書特徴量抽出装置103のメモリ202は、特徴量抽出プログラム108を有する。特徴量抽出プログラム108には特徴量タイプに応じていくつかの種類があり、ここでは、重心利用タイプ特徴量抽出プログラムを記載した(詳細後記)。
【0016】
透かしデータ作成装置104は、透かしデータを作成する。透かしデータとは、一般的には、印刷した際に人間に視認されにくい「透かし」そのものである。本実施形態においては、透かしデータは、縦横の格子状に配列された微小な格子点及びその格子点の間に配置された微小な情報点からなるドットパターンである。この透かしデータは、格子点に対する情報点の位置関係に対して「0」、「1」等のシンボルを対応付けており、それらのシンボルの集合が、文書データの文書特徴量を表している。
【0017】
地紋透かし埋込装置105は、透かしデータを文書データに埋め込む。
改ざん検出対象データベース装置106は、改ざん検出対象データベース109を格納する。改ざん検出対象データベース109には、改ざん検出対象領域レコード251(図5の説明にて後記)が記憶されている。
【0018】
前記した各装置102〜106は、それぞれ別個の装置として説明した。しかし、前記各装置102〜106のすべて又は一部が、纏まって1つの装置として構成されていてもよい。
【0019】
図3に沿って、前記各装置102〜106のハードウエア構成を説明する。
文書作成端末装置102、文書特徴量抽出装置103、透かしデータ作成装置104、地紋透かし埋込装置105及び改ざん検出対象データベース装置106は、それぞれ一般的なコンピュータであり、それぞれが図3のハードウエア構成を有するものとする。
【0020】
例えば、文書作成端末装置102は、CPU(Central Processing Unit)201、メモリ202、ハードディスク203、ネットワークインターフェース204、キーボード205、ディスプレイ206、スキャナ207及びプリンタ208を有する。これらは、インターフェース209によって相互に接続されている。
【0021】
CPU201は、中央処理装置であり、メモリ202に格納されているプログラム、又はハードディスク203からメモリ202に読み出されたプログラムを実行する。なお、プログラムは、必要に応じて、文書作成端末装置102が利用可能であり、着脱可能な記録媒体によって導入されてもよい。また、ネットワークインターフェース204によって、通信媒体(通信回線又は通信回線上の搬送波)を介して、文書作成端末装置102に導入されてもよい。
メモリ202は、CPU201に実行されるプログラム及びデータを一時的に格納する。
インターフェース209は、文書作成端末装置102内の各構成を接続する。
ネットワークインターフェース204は、ネットワークを110介して外部と通信するインターフェースである。
【0022】
キーボード205は、文書作成端末装置102への指示及びデータを入力するために、ユーザが操作する入力装置である。
ディスプレイ206は、処理結果等を表示する装置である。
スキャナ207は、印刷物等を光学的に読み取り、読み取った結果を画像として文書作成端末装置102内に入力する装置である。
プリンタ208は、処理結果等を印刷媒体(例えば、紙面)に印刷する装置である。
ハードディスク203は、プログラム及びデータを格納する装置であり、例えば、不揮発性メモリ等によって構成することができる。この場合、ハードディスク203に格納されたプログラム及びデータは、電源をOFFとしても保存される。
【0023】
文書特徴量抽出装置103、透かしデータ作成装置104、地紋透かし埋込装置105及び改ざん検出対象データベース装置106のハードウエア構成も基本的に同様である。しかしながら、ハードディスク203、ネットワークインターフェース204、キーボード205、ディスプレイ206、スキャナ207及びプリンタ208は、それぞれ必要に応じて省略されてもよい。
【0024】
(特徴量タイプテーブル)
図4に沿って、特徴量タイプテーブル107を説明する。
特徴量タイプテーブル107においては、特徴量タイプID欄301に記憶された特徴量タイプIDに関連付けて、特徴量タイプ欄302には特徴量タイプが、特徴量抽出プログラム欄303には特徴量抽出プログラム情報が、特徴量比較プログラム欄304には特徴量比較プログラム情報が、記憶されている。
【0025】
特徴量タイプID欄301の特徴量タイプIDは、特徴量タイプを一意に特定する識別子である。
特徴量タイプ欄302の特徴量タイプは、文書データの特徴量の種類であり、ここでは、例えば重心利用タイプ、ラン数利用タイプ及び面積利用タイプを含む複数の特徴量タイプが記憶されているものとする。重心利用タイプ、ラン数利用タイプ及び面積利用タイプの特徴量が、どのようにして文書データから抽出されるかは後記する。
特徴量抽出プログラム欄303の特徴量抽出プログラム情報は、特徴量を文書データ等から抽出するプログラムの所在を示す情報である。
特徴量比較プログラム欄304の特徴量比較プログラム情報は、文書データの特徴量を検証対象文書画像(又は修正画像)の特徴量と比較するプログラムの所在を示す情報である(詳細後記)。特徴量抽出プログラムそのもの及び特徴量比較プログラムそのものは、文書作成システム101の内部に格納されていてもよいし、外部に格納されていてもかまわない。
【0026】
図5(a)及び(b)に沿って、改ざん検出対象領域レコード251を説明する。改ざん検出対象データベース109には、1又は複数の改ざん検出対象領域レコード251が記憶されている(図5(a))。個々の改ざん検出対象領域レコード251には、改ざん検出対象レコードを一意に特定する識別子である改ざん検出対象レコード番号が記憶されている。
個々の改ざん検出対象領域レコード251においては、改ざん検出対象領域ID欄311に記憶された改ざん検出対象領域IDに関連付けて、始点欄312には始点が、終点欄313には終点が記憶されている。
【0027】
改ざん検出対象領域ID欄311の改ざん検出対象領域IDは、改ざんがされているか否かの判断を行う領域(以降「改ざん検出対象領域」という。また以下の説明において、単に「領域」ということもある)を、その改ざん検出対象領域レコード251内において一意に特定する識別子である。改ざん検出対象領域の形状は任意である。本実施形態においては、正方形とする。
始点欄312の始点は、改ざん検出対象領域の左上の点の座標である。
終点欄313の終点は、改ざん検出対象領域の右下の点の座標である。
【0028】
図5(b)は、文書データに直交座標(X軸、Y軸)を当てはめた図である。例えば、改ざん検出対象領域レコード番号が「3」である改ざん検出対象レコード251が有する改ざん検出対象領域のうち、改ざん検出対象領域ID「1」、「2」及び「3」により特定される改ざん検出対象領域は、図5(b)においては、それぞれ符号「323」、「324」及び「325」の領域である。
【0029】
(特徴量タイプ)
以降に、特徴量タイプとしての、「重心利用タイプ」、「ラン数利用タイプ」及び「面積利用タイプ」を順次説明する。この3つのタイプの特徴量は、いずれも、文書データを画像データに変換した場合の画素(ピクセル)の画素値に基づいて算出される。
白黒画像の場合、画素は、256段階の輝度(=画素値)を有する。画素値「0」が最も暗く「黒」色であることを示し、画素値「255」が最も明るく「白」色であることを示し、その間の画素値は、輝度の異なる「灰色」である。
カラー画像の場合、画素は、3原色(赤、緑及び青)毎に256段階の階調を有している。そして、各画素の輝度は「輝度=0.299R+0.587G+0.114B」の式で計算される。ここで、R、G、及びBは、それぞれ、赤、緑及び青の階調である。
画素値は、2値化して表される。すなわち、ある閾値以上の画素値を有する画素は、完全な「白」(画素値=255)、ある閾値未満の画素値を有する画素は、完全な「黒」(画素値=0)とする。この処理を「2値化」といい、このときの閾値を「2値化閾値」という。
ここで、「2値化」を「n値化」(n=2,3,4,・・・)と一般化することも可能である。n−1個の閾値(n値化閾値)を用いて、画素値をn個に区分し、区分されたそれぞれに代表的な画素値を割り当てることが可能である。
以降の「重心利用タイプ」、「ラン数利用タイプ」及び「面積利用タイプ」においては、n値化の例として、2値化された画素を用いる。
【0030】
(重心利用タイプ)
図6(a)及び(b)に沿って、重心利用タイプを説明する。
図6(a)には、ある1つの改ざん検出対象領域が示されている。この改ざん検出対象領域には、画素が100(10×10)個存在する。そのうち、4つの画素331〜334が黒画素(2値化され、完全な黒とされた画素)であり、それらの座標がそれぞれ(1,9)、(2,1)、(6,8)及び(7,2)であったとする。
この4つの画素のX座標の平均値は4である((1+2+6+7)/4=4)。同様にY座標の平均値は5である((9+1+8+2)/4=5)。このとき4つの黒画素の重心の座標は(4,5)となる。そしてこの重心の座標が、当該改ざん検出対象領域における特徴量である。
【0031】
実際には、画素の数はより多い場合が多い。図6(b)を参照すると、「4」という数字がある幅を持った線で記載されている。その線は多数の黒画素で構成されている。そして、それらの黒画素の重心は、符号335の点である。
なお、重心の座標は、整数ではなく小数であってもかまわない。この場合浮動小数点表現等を使用して計算結果の数を近似してもよい。
【0032】
(ラン数利用タイプ)
図7(a)に沿って、ラン数利用タイプを説明する。
ある1つの改ざん検出対象領域において、任意の位置に縦(Y軸に平行な)の直線を所定の数だけ(図の例では2本)引く。そして各直線が黒画素と交差した回数をカウントする。例えば、直線341は、「ラ」という文字を構成する黒画素と、3回交差するので、この直線に対して「3」を関連付ける。同様に、縦線342に対して「1」を関連付ける。
全く同様に、任意の位置に横(X軸に平行な)の直線を所定の数だけ(図の例では2本)引く。そして各直線が黒画素と交差した回数をカウントする。その結果、直線343に対して「6」が、直線344に対して「5」が関連付けられる。
そして、縦の直線との交差回数の平均値((3+1)/2=2.0)及び横の直線との交差回数の平均値((6+5)/2=5.5)を算出し、「2.0」と「5.5」の組合せを特徴量とする。
【0033】
(面積利用タイプ)
図7(b)に沿って、面積利用タイプを説明する。
ある1つの改ざん検出対象領域をいくつかの同じ面積のブロックに分け、そのブロックが含む黒画素の数が所定の閾値以上であるブロックの数を全ブロックの数で除する。図の例であれば、所定の閾値を「1」とすれば、1個以上の黒画素が存在するブロックの数は92であるので、92/256=0.359が特徴量となる。
以上では、特徴量タイプとして、「重心利用タイプ」、「ラン数利用タイプ」及び「面積利用タイプ」を説明したが、これら以外の特徴量タイプを用いてもかまわない。以降の説明では、文書作成システム101(及び文書検証システム111)が、「重心利用タイプ」を用いる例を説明する。
【0034】
(文書作成処理手順)
図15に沿って、文書作成処理手順を説明する。
図15の文書作成処理手順は、文書作成システム101の各装置102〜105のCPU201が、各装置102〜105のメモリ202に各装置102〜105のハードディスクからプログラム(図示せず)を読み出した上で実行する。
【0035】
ステップS401において、文書作成端末装置102は、文書データ、特徴量タイプID、改ざん検出対象領域レコード番号、改ざん検出対象領域ID及び2値化閾値を受け付ける。
文書データは、例えば、一般のワープロソフト、テキストエディタ等コンピュータ上で動作可能なソフトウエアによって作成されたデータである。
改ざん検出対象領域IDとして例えば「*」のような記号を受け付けた場合は、ある改ざん検出対象領域レコード251に含まれる全ての改ざん検出対象領域を特定する改ざん検出対象領域IDを受け付けたものと看做してもよい。
なお、文書作成端末装置102は、文書データを受け付ける代わりに、文書データを一意に特定する識別子を受け付けてもよい。この場合、文書データは、この識別子に関連付けられたうえで、文書作成端末装置102のハードディスク203、又は文書作成端末装置102に接続されている装置のハードディスク203に記憶されているものとする。さらに、文書作成端末装置102は、受け付けた識別子を検索キーとして、それらのハードディスク203を検索し、文書データを取得するものとする。
【0036】
ステップS402において、文書作成端末装置102は、文書データ、特徴量タイプID、改ざん検出対象領域レコード番号、改ざん検出対象領域ID及び2値化閾値を文書特徴量抽出装置103に送信する。
【0037】
ステップS403において、文書特徴量抽出装置103は、特徴量抽出プログラムを取得する。
具体的には、ステップS402において送信された特徴量タイプIDを検索キーとして特徴量タイプテーブル107を検索し、該当した行の特徴量抽出プログラム情報を取得し、その所在場所にある特徴量抽出プログラムを取得する。ここでは、重心利用タイプ特徴量抽出プログラム108が取得されたものとする。
【0038】
ステップS404において、文書特徴量抽出装置103は、特徴量抽出プログラムを稼動する。
具体的には、ステップS403において取得した特徴量抽出プログラムを稼動する。
【0039】
ステップS405において、文書特徴量抽出装置103は、文書データから文書特徴量を抽出し、文書作成端末装置102に送信する。
ステップS405の詳細は、後記する。
【0040】
ステップS406において、文書作成端末装置102は、文書特徴量を透かしデータ作成装置104に送信する。
【0041】
ステップS407において、透かしデータ作成装置104は、文書特徴量から透かしデータを作成し、文書作成端末装置102に送信する。
透かしデータには、文書特徴量がそのまま用いられてもよい。また、一般的なアルゴリズムにしたがって暗号化された文書特徴量が用いられてもよい。一般的な暗号アルゴリズムにしたがって電子署名が付された文書特徴量が用いられてもよい。タイムスタンプが付与された文書特徴量が用いられてよい。
【0042】
本実施形態の透かしデータは、前記したように、印刷媒体上に印刷された場合、人間には視認することが困難なドットパターンとなる。例えば、四隅に格子点を有するある正方形の領域を4つの部分(左上、右上、左下、右下)に分割し、各部分に情報点が1つあるか否かに応じて、その正方形の領域に16(2×2×2×2)種類のシンボル「0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F」を割り当てることが可能である。したがって、後記する16進数に変換された文書特徴量のコンピュータ内部表現(図8(b)の符号354)を透かしデータによって表すことができる。
【0043】
ステップS408において、文書作成端末装置102は、文書データ及び透かしデータを地紋透かし埋込装置105に送信する。
【0044】
ステップS409において、地紋透かし埋込装置105は、文書データに透かしデータを埋め込み、透かしデータ入り文書データを作成し、文書作成端末装置102に送信する。
具体的には、地紋透かし埋込装置105は、第一に、文書データを画像化する。文書データの画像化には、市販のワープロソフトから所定の仮想プリンタに印刷し、印刷された文書データがPDFデータに変換される公知技術、及び、PDFデータから画像データに変換する公知技術を用いることができる。
第二に、画像化された文書データに透かしデータを埋め込む。画像化された文書データに透かしデータを埋め込む方法としては、公知技術を用いることができるが、例えば、出願人による特開2006-279640号公報に開示されている技術を用いることができる。
【0045】
ステップS410において、文書作成端末装置102は、透かしデータ入り文書データを表示し、ユーザの求めに応じて印刷する。
本実施形形態では、透かしデータ入り文書データは画像であるため、従来技術を用いて、文書作成端末装置102のディスプレイ206に表示すること、及びプリンタ208によって印刷することが可能である。文書作成端末装置102は、透かしデータ入り文書データを、他の装置に送信したうえで、受信した装置が、透かしデータ入り文書データを印刷してもよい。
ここで、文書作成処理手順を終了する。
【0046】
なお、ステップS405では、文書特徴量抽出装置103は、抽出された文書特徴量を文書作成端末装置102に送信しているが、抽出された文書特徴量を透かしデータ作成装置104に送信してもよい。この場合、文書作成処理手順はステップS406を省略し、ステップS407に進む。
また、ステップS407では、透かしデータ作成装置104は、作成された透かしデータを文書作成端末装置102に送信しているが、作成された透かしデータを地紋透かし埋込装置105に送信してもよい。この場合、文書作成処理手順はステップS408を省略し、ステップS409に進む。
【0047】
(文書作成処理手順のS405の詳細)
図16に沿って、ステップS405の詳細を説明する。
ステップS501において、文書特徴量抽出装置103は、改ざん検出対象領域レコード251を取得する。
具体的には、文書特徴量抽出装置103は、第一に、ステップS401において受け付けた改ざん検出対象領域レコード番号を検索キーにして、改ざん検出対象データベース109を検索し、該当した改ざん検出対象領域レコード251(図5(a)参照)を取得する。
第二に、文書特徴量抽出装置103は、ステップS401において受け付けた改ざん検出対象領域IDを検索キーにして、取得した改ざん検出領域レコードを検索し、該当した行を取得する。この1行分のデータを1つのエントリとする(詳細後記)。
第三に、ステップS401において取得した文書データ全体の画像を作成する。
第四に、重心リスト252(図8(a)参照)を作成し、文書特徴量抽出装置103のメモリ202に一時的に保存する。重心リスト252は、改ざん検出対象領域ID欄351と重心欄352を関連付けて記憶した表である。この段階で、重心リスト252の行は未だ作成されていない。
【0048】
ステップS502において、文書特徴量抽出装置103は、未処理のエントリがあるか否かを判断する。
具体的には、文書特徴量抽出装置103は、ステップS501において取得した行のうち、未処理のエントリがある場合(ステップS502“Yes”)は、未処理のエントリを1つ取得したうえでステップS503に進み、それ以外の場合(ステップS502“No”)は、ステップS505に進む。
【0049】
ステップS503において、文書特徴量抽出装置103は、2値化閾値を用いて、文書データから改ざん検出対象領域の領域画像を作成する。
具体的には、文書特徴量抽出装置103は、第一に、ステップS502において取得したエントリに含まれている始点及び終点に基づいて、ステップS501において作成した文書データ全体の画像から、改ざん検出対象領域を切り出す。切り出された画像を「領域画像」と言う。
第二に、ステップS401において受け付けた2値化閾値を用いて切り出した領域画像の画素値を2値化する。
【0050】
ステップS504において、文書特徴量抽出装置103は、領域画像の重心を計算する。
具体的には、文書特徴量抽出装置103は、第一に、領域画像に含まれる全ての黒画素の重心の座標値を計算する。
第二に、重心リスト252の新たな1つの行を作成し、その行の改ざん検出対象領域ID欄351に、ステップS502において取得したエントリに含まれる改ざん検出対象領域IDを記憶し、その行の重心欄352に、計算した重心の座標値を記憶する。
【0051】
ステップS505において、文書特徴量抽出装置103は、重心リスト252から文書特徴量を作成する。
具体的には、文書特徴量抽出装置103は、第一に、ステップS401にて受け付けた特徴量タイプID及び改ざん検出対象領域レコード番号を4桁の16進数に変換する。例えば、重心利用タイプを特定する特徴量タイプID「1」は16進数「0001」に変換される。改ざん検出対象領域レコード番号として「3」が受け付けられている場合、「3」は16進数「0003」に変換される。
第二に、改ざん検出対象領域の数(重心リスト252の行の数である)を4桁の16進数に変換する。例えば行の数が「10」である場合、「10」は16進数「000A」に変換される。
第三に、重心リスト252の行毎に、改ざん検出対象領域IDを4桁の16進数に変換し、重心のX座標及びY座標をそれぞれ8桁の16進数に変換する。例えば、1行目の改ざん検出対象領域ID「1」は16進数「0001」に、1行目の重心のX座標「2.4」は16進数「4019999A」に、1行目の重心のY座標「3.3」は16進数「40533333」に変換される。「第三」の処理は、重心リスト252のすべての行について繰り返される。すると、図8(b)の符号353に示すような、16進数に変換された改ざん検出対象領域ID、重心のX座標及び重心のY座標をその順に結合した組が複数作成される。
第四に、16進数に変換された、特徴量タイプID、改ざん検出対象領域レコード番号及び改ざん検出対象領域の数をその順に並べ、さらにその末尾に、16進数に変換された改ざん検出対象領域、重心のX座標及び重心のY座標をその順に結合した組を、重心の数だけ繰り返し並べる。このようにして文書特徴量のコンピュータ内部表現「0001・・・40900000」が作成される(図8(b)の符号354)。
【0052】
なお、前記の例では、特徴量タイプID、改ざん検出対象領域レコード番号、改ざん検出対象領域の数及び改ざん検出対象領域IDを4桁の16進数に変換し、重心のX座標及びY座標を8桁の16進数に変換することとした。しかしながら、他の桁数が用いられてもよいし、16進数以外の進数が用いられてもよい。
【0053】
ステップS506において、文書特徴量抽出装置103は、文書特徴量を文書作成端末装置102に送信する。
その後、ステップS406に戻る。
【0054】
(文書検証システム)
図2に沿って、文書検証システム111を説明する。
文書検証システム111は、文書作成システム101が印刷する、透かしデータが埋め込まれた印刷文書が改ざんされているか否かを検証するシステムである。
文書検証システム111は、文書検証端末装置112、地紋透かし読取装置113、文書画像修正装置114、改ざん検出装置115及び改ざん検出対象データベース装置106を有する。これらの各装置112〜115及び106は、ネットワーク118を介して相互に接続されている。
【0055】
文書検証端末装置112は、文書作成システム101の文書作成端末装置102が印刷媒体に対して印刷した、透かしデータ入り文書データであって、改ざんされている可能性のある文書(検証対象文書)を読み取る。
地紋透かし読取装置113は、読み取られた検証対象文書から、透かしデータを抽出する。
文書画像修正装置114は、読み取られた検証対象文書画像(歪みを有していることが多い)を、歪みの少ない画像に修正し、改ざん検出の精度を上げる。
改ざん検出装置115は、検証対象文書が改ざんされているか否かを検証する。
改ざん検出装置115のメモリ202は、特徴量タイプテーブル107(図4)を有する。さらに改ざん検出装置115のメモリ202は、特徴量抽出プログラム108及び特徴量比較プログラム116を有する。特徴量抽出プログラム108には特徴量タイプに応じていくつかの種類があり、ここでは、重心利用タイプ抽出プログラムを記載した。特徴量比較プログラム116には特徴量タイプに応じていくつかの種類があり、ここでは、重心利用タイプ比較プログラムを記載した。
【0056】
改ざん検出対象データベース装置106は、改ざん検出対象データベース109を格納する。改ざん検出対象データベース109には、改ざん検出対象領域レコード251(図5(a)参照)が記憶されている。
【0057】
前記した各装置112〜115及び106は、それぞれ別個の装置として説明した。しかし、前記各装置112〜115及び106のすべて又は一部が、纏まって1つの装置として構成されていてもよい。また、特徴量タイプテーブル107、改ざん検出対象データベース装置106、特徴量比較プログラム116、改ざん検出対象領域レコード251及び特徴量抽出プログラム108は、文書作成システム101において説明したものと同じである。特徴量抽出プログラム108及び特徴量比較プログラム116は、文書検証システム111の内部に格納されていてもよいし、外部に格納されていてもかまわない。
【0058】
文書検証端末装置112、地紋透かし読取装置113、文書画像修正装置114、改ざん検出装置115及び改ざん検出対象データベース装置106は、それぞれ一般的なコンピュータであり、それぞれが図3のハードウエア構成を有するものとし、ネットワークインターフェース204、キーボード205、ディスプレイ206、スキャナ207、プリンタ208及びハードディスク203は、それぞれ必要に応じて省略されてもよい。
【0059】
(文書検証処理手順)
図17に沿って、文書検証処理手順を説明する。
図17の文書検証処理手順は、文書検証システム111の各装置のCPU201が、各装置のメモリ202に各装置のハードディスク203からプログラム(図示せず)を読み出した上で実行する。当該プログラムは、コンピュータ読み取り可能な記録媒体に格納され得るものとする。
【0060】
ステップS601において、文書検証端末装置112は、検証対象文書をスキャンして検証対象文書画像を作成する。
検証対象文書のスキャンには、スキャナ207が使用される。
「検証対象文書の画像データ」には、ここでの検証対象文書画像が相当する。
【0061】
ステップS602において、文書検証端末装置112は、判定閾値及び改ざん検出の指示を受け付ける。
判定閾値は、改ざんの有無を判定するために2値化閾値同士の差分に対して適用される閾値である(詳細後記)。判定閾値及び改ざん検出の指示は、キーボード205から入力される。
【0062】
ステップS603において、文書検証端末装置112は、検証対象文書画像を地紋透かし読取装置113に送信する。
【0063】
ステップS604において、地紋透かし読取装置113は、検証対象文書画像に埋め込まれた透かしデータから領域規定情報253(図9(a)参照)を作成し、透かしデータ及び領域規定情報253を、文書検証端末装置112に送信する。
前記したように、透かしデータは、文書特徴量のコンピュータ内部表現を表している。一方、透かしデータには、格子点が含まれている。地紋透かし読取装置113は、読み取った透かしデータの格子点の座標を読み取り、元の文書データに比して検証対象文書画像がどの程度歪んでいるかを示す領域規定情報253を作成する。ここでいう歪みは、人為的な改ざんとは無関係であり、人為的な改ざんがなされていなくともスキャナ207等で検証対象文書をスキャンする際、光学的に、又はローラの回転などに起因して生ずる歪みを意味する。
【0064】
例えば、スキャナにより読み込まれる前の検証対象文書には、ドットパターンの格子点が、図9(b)のように規則正しく並んでいる。一方スキャナ207に読み取られた後の検証対象文書画像のドットパターンの格子点は、図9(c)のように正しく上下左右に配列されておらず、多少歪んでいる。
図9(a)の領域規定情報253は、領域座標欄361に記憶された領域座標に関連付けて、検証対象文書画像座標欄362には検証対象文書画像座標が記憶されている。
領域座標欄361の領域座標は、予め配置された複数の点の相対的な座標であり、図9(b)の各格子点の位置関係を表す。ここで例えば(X座標,Y座標)=(m,n)と表現した場合、それは、m番目の縦線とn番目の横線が交差する位置を表す。但し、m、nは0,1,2,3,・・・であり、便宜上「0番目」から数えるものとする。
検証対象文書画像座標欄362の検証対象文書画像座標は、実際にスキャナ207が検証対象文書画像から読み取った図9(c)の格子点の座標である。
【0065】
具体的には、地紋透かし読取装置113は、第一に、検証対象文書画像から透かしデータの格子点を読み取る。なお、格子点と情報点との区別は、公知技術(特開2006-279640号公報)を使用して、ある点につき、その点の上下の誤差を含む領域に点が存在する評価値と、その点の左右の誤差を含む領域に点が存在する評価値とが概ね等しい点を格子点であると判定する。
第二に、領域規定情報253(図9(a))を作成する。この段階では各行は未だ作成されていない。
第三に、領域規定情報253の新たな行を作成し、領域座標欄361に領域座標(相対的な位置関係)を記憶する。ここでは、左上から右に進み、直ぐ下を左から右に進み(繰り返し)、左下から右下に進んで終了するように各行に領域座標を記憶する。続いて、「第一」において読み取った格子点の座標を、左上から右に進み、直ぐ下を左から右に進み(繰り返し)、左下から右下に進んで終了する順番で、作成済の行の検証対象文書画像座標欄362に記憶し、領域規定情報253を完成する。なお、領域規定情報253の1行を1つのエントリとする(詳細後記)。
第五に、透かしデータ及び完成した領域規定情報253を文書検証端末装置112に送信する。以降の処理において、領域規定情報253は、検証対象文書画像の歪みを修正するために使用される。
【0066】
ステップS605において、文書検証端末装置112は、検証対象文書画像及び領域規定情報253を文書画像修正装置114に送信する。
【0067】
ステップS606において、文書画像修正装置114は、修正画像を作成し、文書検証端末装置112に送信する。
ステップS606の詳細は、後記する。
【0068】
ステップS607において、文書検証端末装置112は、特徴量タイプID、改ざん検出対象領域レコード番号及び特徴量を抽出する。
ステップS607の詳細は、後記する。
【0069】
ステップS608において、文書検証端末装置112は、特徴量タイプID、改ざん検出対象領域レコード番号、重心リスト252及び修正画像を改ざん検出装置115に送信する。
【0070】
ステップS609において、改ざん検出装置115は、改ざん検出処理を行い、検証結果を文書検証端末装置112に送信する。
ステップS609の詳細は、後記する。
【0071】
ステップS610において、文書検証端末装置112は、検証結果を表示する。
ステップS610の詳細は、後記する。
ここで、文書検証処理手順を終了する。
【0072】
前記した文書検証処理手順においては、検証対象文書画像に歪み等がある場合を想定し、ステップS606において、この歪み等を修正し修正画像とし、ステップS609において、修正画像の特徴量と文書データ(元の文書)の特徴量を比較している。しかしながら、ステップS606を省略し、修正していない検証対象文書画像の特徴量と文書データ(元の文書)の特徴量を比較することも可能である。
【0073】
(文書検証処理手順のS606の詳細)
図18に沿って、ステップS606の詳細を説明する。
ステップS701において、文書画像修正装置114は、領域座標の最大値を取得する。
具体的には、文書画像修正装置114は、第一に、ステップS605において送信された領域規定情報253を受け取る。
第二に、受け取った領域規定情報253の領域座標欄361の領域座標のうち、X座標の最大値及びY座標の最大値を取得し、それぞれ、xm及びymとする。図9(a)の例では、xm=2、ym=2である。
【0074】
ステップS702において、文書画像修正装置114は、修正中画像を作成する。
具体的には、文書画像修正装置114は、第一に、横の画素数が(xm×gx+1)であり縦の画素数が(ym×gy+1)である領域(修正中画像)を作成する。
gx及びgyは、所与の値であり、例えば、検証対象文書画像の格子点(図9(c)参照)と隣接する格子点との間に存在する画素の数に一致させてもよい。ここでは、gx=60及びgy=60とする。
【0075】
ステップS703において、文書画像修正装置114は、未処理のエントリがあるか否かを判断する。
具体的には、文書画像修正装置114は、ステップS604において作成した領域規定情報253の行のうち、未処理のエントリがある場合(ステップS703“Yes”)は、ステップS704に進み、それ以外の場合(ステップS703“No”)は、ステップS705に進む。
【0076】
ステップS704において、文書画像修正装置114は、内部補間処理を行い検証対象文書画像の画素値を対応する修正中画像の画素にコピーする。そして、ステップS703へ戻る。
【0077】
(内部補間処理)
図10(a)及び(b)に沿って、内部補間処理を説明する。
図10(a)の4つの格子点で囲まれる正方形は、修正中画像のある1つの領域である。これらの4つの格子点のうち、左上の格子点の相対的な座標値が図9(a)の領域座標である。
図10(b)の4つの格子点で囲まれる四角形は、検証対象文書画像の対応する1つの領域である。これら4つの格子点のうち左上の格子点の座標値が図9(b)の検証対象文書画像座標である。
内部補間処理は、図10(a)の領域中の全ての画素について、図10(b)の領域の対応する位置にある画素の画素値をコピーすることによって、修正中画像を完成させる処理である。
【0078】
具体的には、文書画像修正装置114は、第一に、領域規定情報253の未処理の1行を1つのエントリとして取得する。
第二に、取得した行の領域座標によって特定される(取得した領域画像が示す格子点、その右の格子点、下の格子点及び右下の格子点によって囲まれる)、修正中画像上の領域に存在する任意の1つの画素を取り出す。
第三に、取り出した画素が、領域をどのように内分しているかを求める。図10(a)の例では、画素363は、領域をX軸方向にs:1−sに内分し、Y軸方向にt:1−tに内分している。
第四に、「第一」において取得した行の検証対象文書画像座標によって特定される(「第二」における4つの格子点に対応する4つの格子点に囲まれる)、検証対象文書画像上の領域を求める。その結果、図10(b)の四角形が求められたとする。
第五に、検証対象文書画像上の領域の4辺を、「第三」にて求めた内分比で内分する。そして4つの内分点のうち隣り合わない辺に属する2つの内分点を直線で結び、2つの直線の交点に位置する、検証対象文書画像上の画素364の画素値を取得する。
第五に、取得した画素364の画素値を、画素363の画素値とする。
「第二」〜「第五」の処理は、修正中画像の当該領域(1つのエントリに対応している)に属する全ての画素について繰り返す。
【0079】
ステップS705において、文書画像修正装置114は、修正中画像を修正画像として文書検証端末装置112に送信する。
ステップS703、S704のループが終了した段階で、歪みを含む可能性がある検証対象文書画像は、歪みのない修正画像として再生されたことになる。改ざんがある場合は、改ざんがあるまま再生されることになる。
その後、ステップS607に戻る。
【0080】
(文書検証処理手順のS607の詳細)
図19に沿って、ステップS607の詳細を説明する。
ステップS801において、文書検証端末装置112は、透かしデータから特徴量タイプID及び改ざん検出対象領域レコード番号を抽出する。
具体的には、文書検証端末装置112は、透かしデータが暗号化されている場合は復号化することによって、透かしデータに電子署名が付与されている場合には、電子署名を検証することによって、透かしデータにタイムスタンプが付与されている場合にはタイムスタンプを検証することによって文書特徴量のコンピュータ内部表現354(図8(b)参照)を取得する。
第二に、特徴量のコンピュータ内部表現354(16進数で表現されている)の初めの4桁を文書特徴量タイプIDとして、それに続く4桁を改ざん検出対象領域レコード番号として抽出する。
【0081】
ステップS802において、文書検証端末装置112は、特徴量タイプIDが「1」であるか否かを判断する。
具体的には、文書検証端末装置112は、第一に、ステップS801において抽出された特徴量タイプIDが「1」であるか否かを判断し、特徴量タイプIDが「1」である場合(ステップS802“Yes”)は、ステップS803に進み、それ以外の場合(ステップS802“No”)はステップS807に進む。
【0082】
ステップS803において、文書検証端末装置112は、改ざん検出対象領域の数を抽出する。
具体的には、文書検証端末装置112は、第一に、ステップS801において取得した文書特徴量のコンピュータ内部表現の、改ざん検出対象領域レコード番号に続く4桁を改ざん検出対象領域の数として抽出する。
第二に、重心リスト252(図8(a))を作成し、文書検証端末装置112のメモリ202に一時的に保存する。この段階で、重心リスト252の行は改ざん検出対象領域の数だけ作成するが、空欄のままとする。
【0083】
ステップS804において、文書検証端末装置112は、未処理の改ざん検出対象領域があるか否かを判断する。
具体的には、文書検証端末装置112は、ステップS801において取得した文書特徴量のコンピュータ内部表現のなかに、16進数に変換された改ざん検出対象領域ID、重心のX座標及び重心のY座標をその順に結合した組のうち未だ抽出されていない組がある場合(ステップS804“Yes”)は、ステップS801において取得した文書特徴量のコンピュータ内部表現の、改ざん検出対象領域の数に続く4桁を改ざん検出対象領域IDとして、それに続く8桁を重心のX座標として、さらにそれに続く8桁を重心のY座標として抽出したうえで、ステップS805に進む。それ以外の場合(ステップS804“No”)は、ステップS806に進む。
【0084】
ステップS805において、文書検証端末装置112は、重心リスト252に重心を追加する。
具体的には、文書検証端末装置112は、ステップS803において作成した重心リスト252の1つの行の改ざん検出対象領域ID欄351に改ざん検出対象領域IDを、重心欄352に重心のX座標及びY座標を記憶する。そして、ステップS804に戻る。
【0085】
ステップS806において、文書検証端末装置112は、特徴量タイプID、改ざん検出対象領域レコード番号及び重心リスト252を透かしデータの解釈結果として保持する。
その後、ステップS608に戻る。
【0086】
ステップS807において、文書検証端末装置112は、エラーメッセージを出力して終了する。
具体的には、文書検証端末装置112は、例えば「不明な特徴量タイプです」というエラーメッセージをディスプレイ206に表示する。そして、文書検証処理手順を終了する。
【0087】
ステップS802においては、特徴量タイプIDが「1」(重心利用タイプ)であるか否かの判断をしている。しかしながら、特徴量タイプIDが「1」以外であった場合には、その特徴量タイプIDに対応する文書特徴量抽出プログラム108を稼動させてもよい。
【0088】
(文書検証処理手順のS609の詳細)
ステップS609は、改ざん検出処理を行うステップであるが、その詳細説明に入る前に、2値化閾値と特徴量の関係を、図13の特徴量データ254に沿って説明する。
図13には、ある改ざん検出対象領域についての、2値化閾値(行376)、特徴量(行377)、特徴量の差(行378)及び、画像見本が相互に関連付けて記載されている。
列371は、文書データ(元の文書)の画像見本が「A」であり、その特徴量(重心)が「5.1,8.4」であることを示している。
列372は、2値化閾値「40」によって2値化した修正画像の画像見本が「A(線が最も細い)」であり、特徴量が「4.4,7.6」であり、特徴量の差が「0.8」であることを示している。
特徴量の差とは、元の文書の特徴量(列371の行377にある「5.1,8.4」)との差であり、X座標の差とY座標の差のうち小さくない方である(詳細後記)。列372から375についても同様である。
2値化閾値の値を変化させると、画像見本も特徴量も変化する。2値化閾値の値を大きくする程、黒画素となる灰色画素の数が増えるので、「A」の線は太くなる。元の文書の特徴量(列371の行377)と同じ特徴量を与える2値化閾値は「70」(列373行376)であるが、他の2値化閾値を用いれば特徴量は乖離し、元の文書が改ざんされていなくても改ざんされていると判断されてしまう可能性がある。
なお、特徴量データ254は、以降に説明する改ざん検出処理のなかで作成され、改ざん検出装置115のメモリ202に保持される(但し画像見本を除く)。
【0089】
さらに、ステップS609の詳細を説明する前に、ステップS609において行われる処理内容を、図11、図12に沿って模式的に説明する。
図11は、改ざんがなされている場合、図12は改ざんがなされていない場合を示す。
【0090】
まず、図11について説明する。
図11(a)の太枠内の3×3の領域は、9個の改ざん検証対象領域である。そして、図11(a)〜(h)は、この9個の改ざん検出対象領域である。
図11(b)、(c)及び(e)には、改ざん検出対象領域毎に、特徴量(重心のX座標と重心のY座標)が記載されている。
【0091】
図11(b)には、透かしデータから抽出された特徴量(重心)、すなわち、文書データ(元の文書)の改ざん検出対象領域毎の特徴量が記載されている。
図11(c)には、修正画像の特徴量、すなわち検証対象文書画像の歪みを修正した画像の特徴量が記載されている。図11(c)においては、2値化閾値の候補の数だけ特徴量のセットが存在する(このセットを紙が重なるように表現した。同一の「紙」上に記載された特徴量は、共通の2値化閾値候補に基づいて算出されている)。
そして、改ざん検出対象領域毎に、図11(b)の特徴量と、図11(c)の特徴量のすべてを比較し、図11(b)の特徴量に最も近い図11(c)の特徴量を転記したものが、図11(e)である。
【0092】
図11(d)の「2値化閾値マップ」は、図11(e)の特徴量を算出するときに用いた2値化閾値である。例えば、図11(d)の左下の改ざん検出対象領域の2値化閾値は「103」である。この「103」を使用して修正画像を2値化し特徴量を算出した結果が「11.7,7.9」である(図11(e)の左下)。「103」以外の2値化閾値候補を使用すれば、「11.7,7.9」以外の特徴量が複数算出されることになる(図11(c)の左下に重なっている)。しかし、「11.8,8.0」(図11(b)の左下)との差が最小である特徴量は「11.7,7.9」である。
【0093】
図11(f)は、図11(b)と図11(e)との差である。但しX座標の差の絶対値とY座標の差の絶対値のうち小さくない方を表している。
図11(d)において、上辺で隣接する2値化閾値との差(上段)及び左辺で隣接する2値化閾値との差(下段)を記載したのが、図11(g)である。
例えば図11(d)の中央下の「125」に注目する。「125」を基準にして上辺で隣接する2値化閾値は「104」である。左辺で隣接する2値化閾値は「103」である。このとき、図11(g)の中央下の上段「+21」は、125−104=21であることを示している。同様に、図11(g)の中央下の下段「+22」は、125−103=22であることを示している。上(左)辺で隣接する2値化閾値が存在しない場合は、上(下)段には「0」を記憶する。
【0094】
図11(g)において、上辺で隣接する2値化閾値との差及び左辺で隣接する2値化閾値のうちのいずれかが所定の値よりも大きい場合、その改ざん検出対象領域で改ざんがあったと判断し(「Y」)、それ以外の場合は改ざんがなかった(「N」)と判断したのが、図11(h)である。
図12についても全く同様である。
【0095】
図11(f)と図12(f)とを比較すると、いずれも特徴量の差は最大でも「0.1」であり、一見していずれも改ざんがなかったかのように見える。しかしながら、図11(h)と図12(h)とを比較すると、図11(h)においては、右下と中下の改ざん検出対象領域において、改ざんが検出されている(「Y」)。
【0096】
図20に沿って、適宜図11及び12を参照しつつ、ステップS609の詳細を説明する。
ステップS901において、改ざん検出装置115は、特徴量抽出プログラム108及び特徴量比較プログラム116を起動する。
具体的には、改ざん検出装置115は、ステップS608において、文書検証端末装置112が送信した特徴量タイプIDを検索キーとして特徴量タイプテーブル107を検索し、該当した行の特徴量抽出プログラム情報及び特徴量比較プログラム情報に基づいて、特徴量抽出プログラム及び特徴量比較プログラムを起動する。
ここでは、特徴量タイプは「1」であり、重心利用タイプ特徴量抽出プログラム及び重心利用タイプ特徴量比較プログラムが起動されるものとする。
【0097】
ステップS902において、改ざん検出装置115は、改ざん検出対象領域レコード251(図5(a)参照)を取得する。
具体的には、改ざん検出装置115は、ステップS608において、文書検証端末装置112が送信した改ざん検出対象領域レコード番号を検索キーとして、改ざん検出対象データベース109を検索し、該当した改ざん検出対象領域レコード251を取得する。
【0098】
ステップS903において、改ざん検出装置115は、未処理のエントリがあるか否かを判断する。
具体的には、改ざん検出装置115は、ステップS608において送信された重心リスト252(図8(a)参照)に未処理の行がある場合(ステップS903“Yes”)は、重心リスト252の未処理の1行の改ざん検出対象領域ID及び重心を取得して、ステップS904に進む。それ以外の場合(ステップS903“No”)は、ステップS910に進む。
【0099】
ステップS904において、改ざん検出装置115は、特徴量データをクリアする。
具体的には、改ざん検出装置115は、直前に処理をした改ざん検出対象領域についての特徴量データ254(図13参照)をクリアする。
なお、ステップS904を最初に経由したときは、列が空欄の特徴量データ254(詳細後記)を作成し、メモリ202に保持することとする。
【0100】
ステップS905において、改ざん検出装置115は、2値化閾値の候補が残っているか否かを判断する。
具体的には、改ざん検出装置115は、第一に、2値化閾値の候補を所定の方法で複数個受け付ける。例えば、ユーザが文書検証端末装置112のキーボード205を介して複数の2値化閾値の候補を入力するのを受け付ける。
第二に、未処理の2値化閾値の候補が残っている場合(ステップS905“Yes”)、未処理の2値化閾値の候補のうちから1つを取得してステップS906に進む。それ以外の場合(ステップS905“No”)は、ステップS909に進む。
【0101】
ステップS906において、改ざん検出装置115は、修正画像を2値化する。
具体的には、改ざん検出装置115は、第一に、改ざん検出対象領域IDを検索キーとして改ざん検出対象領域レコード251(図5(a)参照)を検索し、該当した行の始点及び終点を取得する。
第二に、始点及び終点に基づいて、ステップS608において送信された修正画像の該当する領域を切り出す。
第三に、切り出された修正画像の領域のすべての画素を2値化閾値の候補により2値化する。
【0102】
ステップS907において、改ざん検出装置115は、2値化された修正画像から特徴量を算出する。
具体的には、改ざん検出装置115は、特徴量抽出プログラム108を用いて、文書特徴量抽出装置103が文書作成処理手順のステップS405において行った処理と同様の処理を行う。すなわち、2値化されかつ切り出された修正画像の領域から、特徴量(黒画素の重心)を算出する。
「比較用特徴量」には、ここで算出される特徴量が相当する。
【0103】
ステップS908において、改ざん検出装置115は、特徴量の差を取得する。
具体的には、改ざん検出装置115は、第一に、ステップS907において取得した重心と、ステップS903において取得した重心リスト252(図8(a)参照)の重心とを、X座標同士及びY座標同士比較する。そして、X座標の差の絶対値とY座標の差の絶対値のうち小さくない方を特徴量の差として取得する。
第二に、特徴量データ254(図13参照)に新たな列を作成し、2値化閾値の行376にステップS905において取得した2値化閾値の候補を、特徴量の行377にステップS907にて算出した特徴量を、特徴量の差の行378に「第一」において取得した特徴量の差を記憶する。そして、ステップS905に戻る。
【0104】
ステップS909において、改ざん検出装置115は、最小の特徴量の差を与えた2値化閾値を取得する。
具体的には、改ざん検出装置115は、特徴量データ254の特徴量の差のうち最小の特徴量の差に対応している2値化閾値を改ざん検出対象領域に関連付けて記憶する(図11(d)、図12(d)の2値化閾値マップ)。そして、ステップS903に戻る。
2値化閾値マップは、最小の特徴量の差を与えた2値化閾値を、改ざん検出対象領域に対応付けて記憶した表である。
「確定特徴量」には、特徴量データ254の特徴量のうち、特徴量の差が最小である特徴量が相当する。
「改ざん判別用n値化閾値」には、2値化マップの各領域の2値化閾値が相当する。なお、2値化をn値化と一般化することができることは前記の通りである。
【0105】
ステップS910において、改ざん検出装置115は、未処理の2値化閾値があるか否かを判断する。
具体的には、改ざん検出装置115は、2値化閾値マップの2値化閾値のうち、未処理の2値化閾値がある場合(ステップS910“Yes”)は、未処理の2値化閾値を1つ保持してステップS911に進む。それ以外の場合(ステップS910“No”)は、ステップS914に進む。
【0106】
ステップS911において、改ざん検出装置115は、近傍の2値化閾値同士の差を算出する。
具体的には、改ざん検出装置115は、ステップS911において保持した2値化閾値とその上辺で隣接する改ざん検出対象領域の2値化閾値との差(上辺差)を算出し、さらに、ステップS911において保持した2値化閾値とその左辺で隣接する改ざん検出対象領域の2値化閾値との差(左辺差)を算出する。上(左)辺で隣接する改ざん検出対象領域の2値化閾値が存在しない場合は、上辺差は「0」とする。
【0107】
ステップS912において、改ざん検出装置115は、近傍の2値化閾値同士の差が判定閾値より大きいか否かを判断する。
具体的には、改ざん検出装置115は、上辺差の絶対値又は左辺差の絶対値の少なくともいずれかが、ステップS602において受け付けた判定閾値より大きい場合(ステップS912“Yes”)、改ざんが行われたと判断し、その差の絶対値(上辺差の絶対値及び左辺差の絶対値の両者が判定閾値より大きい場合は、小さくない方の差の絶対値)を保持してステップS913に進む。それ以外の場合(ステップS912“No”)は、改ざんが行われなかったと判断し、ステップS910に戻る。
【0108】
ステップS913において、改ざん検出装置115は、改ざん検出結果データを作成する。
具体的には、改ざん検出装置115は、最初にステップS913を経由したとき、行が空欄である改ざん検出結果データ255(図14)を作成する。改ざん検出結果データ255は、改ざん検出対象領域IDに関連付けて2値化閾値の差を記憶した表である。
そして、最初にステップS913を経由したとき及びそれ以降ステップ913を経由したとき、改ざん検出結果データ255の新たな行を作成し、差欄380にステップS912において保持した差の絶対値を、改ざん検出対象領域ID欄379にその差の絶対値を取得した改ざん検出対象領域を特定する改ざん検出対象領域IDを記憶する。そして、ステップS910に戻る。
【0109】
ステップS914において、改ざん検出装置115は、改ざん検出結果データ255を文書検証端末装置112に送信する。
その後、ステップS610に戻る。
【0110】
(変形例1)
ステップS912において、改ざん検出装置115は、上辺差の絶対値又は左辺差の絶対値のいずれかが、ステップS602において受け付けた判定閾値より大きい場合、改ざんが行われたと判断した。しかしながら、左辺差とその直ぐ左にある左辺差との合計の絶対値又は上辺差とその直ぐ上にある上辺差との合計の絶対値のいずれかが判定閾値より大きい場合、改ざんが行われたと判断するようにしてもよい。
例えば、図11(g)の中央下及び右下の改ざん検出対象領域の左辺差は、それぞれ「+22」及び「−21」である。すると、左辺差とその直ぐ左にある左辺差との合計の絶対値は、|22−21|=1である。この「1」と判定閾値(たとえば10)によって、右下の改ざん検出対象領域が改ざんされたか否かが判断されることになる。
図11(h)によれば、右下の改ざん検出対象領域は、改ざんされている(「Y」)と判断されている。しかしながら、実は右下の改ざん検出対象領域は改ざんされておらず、「Y」と判断されたのは、左辺で隣接する改ざん検出対象領域が改ざんされていることの影響を受けた結果である。当該変形例を用いると、このような影響を軽減でき、判断の精度が向上する。
【0111】
(変形例2)
ステップS905において、改ざん検出装置115は、2値化閾値の候補を所定の方法で複数個受け付けることとした。しかしながら、2値化閾値の候補は、外部から与えられるのではなく、改ざん検出装置115自体が複数作成するようにしてもよい。この場合、例えば1〜255の輝度を2値化閾値の候補としてもよい。この場合、全ての輝度について2値化処理ができるので、最良の2値化閾値を選択することができ、最良の改ざん検出ができる。また、より高速に処理を行いたい場合は、二分探索法を応用しても良い。この場合、まず輝度を0〜127と、128〜255に分け、それぞれの中間値である64と192を最初の2値化閾値の候補とする。次に、得られた文書データ(元の文書)の特徴量と修正画像の特徴量との差の大きさを、閾値64と閾値192で比べ、より小さい差を算出した方の輝度グループを選択する。例えば閾値64の方がより小さい差を算出したとすれば、輝度0〜127が選択される。次に最初に戻り、輝度0〜127を輝度0〜63と64〜127に分け、それぞれの中間値である32と96を2値化の候補とし、以下繰り返すことで、小さい差の2値化閾値を選択してもよい。
【0112】
(文書検証処理手順のS610の詳細)
図21に沿って、ステップS610の詳細を説明する。
ステップS1001において、文書検証端末装置112は、改ざんが行われていると判断された改ざん検出対象領域のエントリを取得する。
具体的には、文書検証端末装置112は、第一に、ステップS607(S801)において抽出した改ざん検出対象領域レコード番号を検索キーとして改ざん検出対象データベース109を検索し、該当した改ざん検出対象領域レコード251(図5(a)参照)を取得する。
第二に、改ざん検出結果データ255(図14参照)のすべての行の改ざん検出対象領域IDを検索キーとして、「第一」において取得した改ざん検出対象領域レコード251を検索し、該当したすべての行の始点及び終点を取得する。そして、始点及び終点の組をエントリとする。
【0113】
ステップS1002において、文書検証端末装置112は、未処理のエントリがあるか否かを判断する。
具体的には、文書検証端末装置112は、未処理のエントリがある場合(ステップS1002“Yes”)は、始点及び終点を保持して、ステップS1003へ進む。それ以外の場合(ステップS1002“No”)は、文書検証処理手順を終了する。
【0114】
ステップS1003において、文書検証端末装置112は、改ざん検出結果を表示する。
具体的には、文書検証端末装置112は、図22に示すように、修正画像381をディスプレイ206に表示し、始点及び終点に基づいて、改ざんが行われた改ざん検出対象領域382、383を強調表示する。このとき、「改ざんが検出されました」のようなメッセージ384を表示してもよい。そして、ステップS1002に戻る。
【符号の説明】
【0115】
101 文書作成システム
102 文書作成端末装置
103 文書特徴量抽出装置
104 透かしデータ作成装置
105 地紋透かし埋込装置
106 改ざん検出対象データベース装置
107 特徴量タイプテーブル
108 特徴量抽出プログラム
110 ネットワーク
111 文書検証システム
112 文書検証端末装置
113 地紋透かし読取装置
114 文書画像修正装置
115 改ざん検出装置
116 特徴量比較プログラム
201 CPU
202 メモリ
203 ハードディスク
204 ネットワークインターフェース
205 キーボード
206 ディスプレイ
207 スキャナ
208 プリンタ
209 インターフェース
251 改ざん検出対象領域レコード
252 重心リスト
253 領域規定情報
254 特徴量データ
255 改ざん検出結果データ

【特許請求の範囲】
【請求項1】
原文書データが前記原文書データの複数の領域の特徴量を表す透かしデータとともに印刷用媒体に対して印刷された検証対象文書を読み取り、当該印刷された検証対象文書が改ざんされているか否かを検証する文書検証システムであって、
前記文書検証システムは、
前記透かしデータから、前記原文書データの複数の領域の特徴量を取得し、
前記検証対象文書の画像データの画素値をn値化(n≧2)するn値化閾値の複数の候補を受け付け、
前記検証対象文書の画像データの、前記原文書データの複数の領域と対応している複数の領域に含まれる画素の画素値を、前記n値化閾値の複数の候補を使用してn値化し、
前記n値化された画素値に基づいて算出した比較用特徴量を取得し、
対応する領域毎に、前記取得した原文書データの特徴量と、前記比較用特徴量とを比較し、前記取得した原文書データの特徴量との差が最も小さい前記比較用特徴量を確定特徴量とし、
前記確定特徴量を取得する際に使用された前記n値化閾値の候補を、改ざん判別用n値化閾値として、対応する領域毎に取得し、
前記領域の前記改ざん判別用n値化閾値を、隣接する領域の前記改ざん判別用n値化閾値と比較し、比較した差が所定の値よりも大きい場合、当該領域において検証対象文書が改ざんされていると判断すること、
を特徴とする文書検証システム。
【請求項2】
前記nは2であり、
前記原文書データの複数の領域の特徴量は、
当該領域に含まれる2値化された画素のうちの黒画素の重心を示す座標値であり、
前記比較用特徴量は、
前記検証対象文書の画像データの複数の領域に含まれる2値化された画素のうちの黒画素の重心を示す座標値であること、
を特徴とする請求項1に記載の文書検証システム。
【請求項3】
前記検証対象文書の画像データは、
前記検証対象部文書に含まれる前記透かしデータが表す格子点の位置情報に基づいて、前記検証対象文書の歪みを修正した後のものであること、
を特徴とする請求項1に記載の文書検証システム。
【請求項4】
原文書データが前記原文書データの複数の領域の特徴量を表す透かしデータとともに印刷用媒体に対して印刷された検証対象文書を読み取り、当該印刷された検証対象文書が改ざんされているか否かを検証する文書検証システムを用いた文書検証方法であって、
前記文書検証システムは、
前記透かしデータから、前記原文書データの複数の領域の特徴量を取得し、
前記検証対象文書の画像データの画素値をn値化(n≧2)するn値化閾値の複数の候補を受け付け、
前記検証対象文書の画像データの、前記原文書データの複数の領域と対応している複数の領域に含まれる画素の画素値を、前記n値化閾値の複数の候補を使用してn値化し、
前記n値化された画素値に基づいて算出した比較用特徴量を取得し、
対応する領域毎に、前記取得した原文書データの特徴量と、前記比較用特徴量とを比較し、前記取得した原文書データの特徴量との差が最も小さい前記比較用特徴量を確定特徴量とし、
前記確定特徴量を取得する際に使用された前記n値化閾値の候補を、改ざん判別用n値化閾値として、対応する領域毎に取得し、
前記領域の前記改ざん判別用n値化閾値を、隣接する領域の前記改ざん判別用n値化閾値と比較し、比較した差が所定の値よりも大きい場合、当該領域において検証対象文書が改ざんされていると判断すること、
を特徴とする文書検証方法。
【請求項5】
前記nは2であり、
前記原文書データの複数の領域の特徴量は、
当該領域に含まれる2値化された画素のうちの黒画素の重心を示す座標値であり、
前記比較用特徴量は、
前記検証対象文書の画像データの複数の領域に含まれる2値化された画素のうちの黒画素の重心を示す座標値であること、
を特徴とする請求項4に記載の文書検証方法。
【請求項6】
前記検証対象文書の画像データは、
前記検証対象部文書に含まれる前記透かしデータが表す格子点の位置情報に基づいて、前記検証対象文書の歪みを修正した後のものであること、
を特徴とする請求項4に記載の文書検証方法。
【請求項7】
原文書データが前記原文書データの複数の領域の特徴量を表す透かしデータとともに印刷用媒体に対して印刷された検証対象文書を読み取り、当該印刷された検証対象文書が改ざんされているか否かを検証する文書検証システムを機能させる文書検証プログラムであって、
前記文書検証プログラムは、
前記文書検証システムに対して、
前記透かしデータから、前記原文書データの複数の領域の特徴量を取得し、
前記検証対象文書の画像データの画素値をn値化(n≧2)するn値化閾値の複数の候補を受け付け、
前記検証対象文書の画像データの、前記原文書データの複数の領域と対応している複数の領域に含まれる画素の画素値を、前記n値化閾値の複数の候補を使用してn値化し、
前記n値化された画素値に基づいて算出した比較用特徴量を取得し、
対応する領域毎に、前記取得した原文書データの特徴量と、前記比較用特徴量とを比較し、前記取得した原文書データの特徴量との差が最も小さい前記比較用特徴量を確定特徴量とし、
前記確定特徴量を取得する際に使用された前記n値化閾値の候補を、改ざん判別用n値化閾値として、対応する領域毎に取得し、
前記領域の前記改ざん判別用n値化閾値を、隣接する領域の前記改ざん判別用n値化閾値と比較し、比較した差が所定の値よりも大きい場合、当該領域において検証対象文書が改ざんされていると判断する処理を実行させること、
を特徴とする文書検証プログラム。
【請求項8】
前記nは2であり、
前記原文書データの複数の領域の特徴量は、
当該領域に含まれる2値化された画素のうちの黒画素の重心を示す座標値であり、
前記比較用特徴量は、
前記検証対象文書の画像データの複数の領域に含まれる2値化された画素のうちの黒画素の重心を示す座標値であること、
を特徴とする請求項7に記載の文書検証プログラム。
【請求項9】
前記検証対象文書の画像データは、
前記検証対象部文書に含まれる前記透かしデータが表す格子点の位置情報に基づいて、前記検証対象文書の歪みを修正した後のものであること、
を特徴とする請求項7に記載の文書検証プログラム。
【請求項10】
原文書データが前記原文書データの複数の領域の特徴量を表す透かしデータとともに印刷用媒体に対して印刷された検証対象文書を読み取り、当該印刷された検証対象文書が改ざんされているか否かを検証する文書検証システムを機能させる文書検証プログラムを記録したコンピュータ読み取り可能な記録媒体あって、
前記文書検証システムに対して、
前記透かしデータから、前記原文書データの複数の領域の特徴量を取得し、
前記検証対象文書の画像データの画素値をn値化(n≧2)するn値化閾値の複数の候補を受け付け、
前記検証対象文書の画像データの、前記原文書データの複数の領域と対応している複数の領域に含まれる画素の画素値を、前記n値化閾値の複数の候補を使用してn値化し、
前記n値化された画素値に基づいて算出した比較用特徴量を取得し、
対応する領域毎に、前記取得した原文書データの特徴量と、前記比較用特徴量とを比較し、前記取得した原文書データの特徴量との差が最も小さい前記比較用特徴量を確定特徴量とし、
前記確定特徴量を取得する際に使用された前記n値化閾値の候補を、改ざん判別用n値化閾値として、対応する領域毎に取得し、
前記領域の前記改ざん判別用n値化閾値を、隣接する領域の前記改ざん判別用n値化閾値と比較し、比較した差が所定の値よりも大きい場合、当該領域において検証対象文書が改ざんされていると判断する処理を実行させる、
文書検証プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項11】
前記nは2であり、
前記原文書データの複数の領域の特徴量は、
当該領域に含まれる2値化された画素のうちの黒画素の重心を示す座標値であり、
前記比較用特徴量は、
前記検証対象文書の画像データの複数の領域に含まれる2値化された画素のうちの黒画素の重心を示す座標値であること、
を特徴とする請求項10に記載の文書検証プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項12】
前記検証対象文書の画像データは、
前記検証対象部文書に含まれる前記透かしデータが表す格子点の位置情報に基づいて、前記検証対象文書の歪みを修正した後のものであること、
を特徴とする請求項10に記載の文書検証プログラムを記録したコンピュータ読み取り可能な記録媒体。

【図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

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2011−66669(P2011−66669A)
【公開日】平成23年3月31日(2011.3.31)
【国際特許分類】
【出願番号】特願2009−215288(P2009−215288)
【出願日】平成21年9月17日(2009.9.17)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】