(57)【要約】【課題】画像の一部が改ざんされた場合でも画像の改ざんの有無を検出することが可能な画像に埋め込まれたコードのデコード装置、デコード方法、及びデコードプログラムを提供することを課題とする。【解決手段】デコード装置１であって、画像１０からデータを抽出するデータ抽出手段３と、データの発生頻度を桁ごとに算出するデータ発生頻度算出手段４と、発生頻度の少ないデータが重み付き多数決による検出結果として決定されるか、または、重み付き多数決が同数となることによって重み付き多数決による検出結果の決定ができなくなるように、発生頻度に応じた重みを基準コードごとに設定する重み付け手段５と、重み付きの多数決によってデータの検出結果を決定する第一の多数決手段６と、第一の多数決手段６によって決定された検出コードの正誤に従って画像１０の改ざんの有無を判定する判定手段７と、を備える。【選択図】図２
2008042394.tif 000002
【特許請求の範囲】
【請求項１】
一以上の桁（Ｍ桁）のデータで構成された改ざんを検出する基準となる基準コードが画像部分に複数回（Ｎ回）繰り返して埋め込まれた、そのような画像からデータを抽出するデータ抽出手段と、
前記画像中で同一の桁に位置する画像部分から抽出されたデータが異なる複数の基準コードとの間で不一致となるときの、それぞれのデータの発生頻度を前記桁ごとに算出するデータ発生頻度算出手段と、
前記データのうち発生頻度の少ないデータが重み付き多数決による検出結果として決定されるか、または、重み付き多数決が同数となることによって重み付き多数決による検出結果の決定ができなくなるように、発生頻度に応じた重みを前記基準コードごとに設定する重み付け手段と、
前記データの発生頻度に前記重みを加算した重み付きの多数決によって、それぞれの桁に対するデータの検出結果を決定する第一の多数決手段と、
前記第一の多数決手段によって決定された桁ごとの検出結果を組み合わせて構成される検出コードの正誤に従って前記画像の改ざんの有無を判定する判定手段と、を備える画像に埋め込まれたコードのデコード装置。
【請求項２】
前記デコード装置は、前記データの発生頻度に前記重みを加算しない重み無しの多数決によって、それぞれの桁に対するデータの検出結果を決定する第二の多数決手段を更に有し、
前記判定手段は、前記第二の多数決手段によって決定された桁ごとの検出結果を組み合わせて構成される平均コードが前記検出コードと一致しない場合に、前記画像に改ざん有りと判定する、
請求項１に記載の画像に埋め込まれたコードのデコード装置。
【請求項３】
前記基準コードの各値は、２進数で構成され、
前記重み付け手段は、前記データのうち発生頻度の多いデータの個数をＰとし、前記データのうち発生頻度の少ないデータの個数をＱとし、数式Ｐ−Ｑ＋１により算出される値が、前記画像において重み付けを行う重み付け対象領域内にある画像部分のデータのうちの発生頻度の少ない方のデータの重みとなるように該データの各値の重みを決定する、
請求項１又は２に記載の画像に埋め込まれたコードのデコード装置。
【請求項４】
一以上の桁（Ｍ桁）のデータで構成された改ざんを検出する基準となる基準コードが画像部分に複数回（Ｎ回）繰り返して埋め込まれた、そのような画像からデータを抽出するデータ抽出工程と、
前記画像中で同一の桁に位置する画像部分から抽出されたデータが異なる複数の基準コードとの間で不一致となるときの、それぞれのデータの発生頻度を前記桁ごとに算出するデータ発生頻度算出工程と、
前記データのうち発生頻度の少ないデータが重み付き多数決による検出結果として決定されるか、または、重み付き多数決が同数となることによって重み付き多数決による検出結果の決定ができなくなるように、発生頻度に応じた重みを前記基準コードごとに設定する重み付け工程と、
前記データの発生頻度に前記重みを加算した重み付きの多数決によって、それぞれの桁に対するデータの検出結果を決定する第一の多数決工程と、
前記第一の多数決工程によって決定された桁ごとの検出結果を組み合わせて構成される検出コードの正誤に従って前記画像の改ざんの有無を判定する判定工程と、を有する画像に埋め込まれたコードのデコード方法。
【請求項５】
前記デコード方法は、前記データの発生頻度に前記重みを加算しない重み無しの多数決
によって、それぞれの桁に対するデータの検出結果を決定する第二の多数決工程を更に有し、
前記判定工程は、前記第二の多数決工程によって決定された桁ごとの検出結果を組み合わせて構成される平均コードが前記検出コードと一致しない場合に、前記画像に改ざん有りと判定する、
請求項４に記載の画像に埋め込まれたコードのデコード方法。
【請求項６】
前記基準コードの各値は、２進数で構成され、
前記重み付け工程は、前記データのうち発生頻度の多いデータの個数をＰとし、前記データのうち発生頻度の少ないデータの個数をＱとし、数式Ｐ−Ｑ＋１により算出される値が、前記画像において重み付けを行う重み付け対象領域内にある画像部分のデータのうちの発生頻度の少ない方のデータの重みとなるように該データの各値の重みを決定する、
請求項４又は５の何れかに記載の画像に埋め込まれたコードのデコード方法。
【請求項７】
コンピュータに、
一以上の桁（Ｍ桁）のデータで構成された改ざんを検出する基準となる基準コードが画像部分に複数回（Ｎ回）繰り返して埋め込まれた、そのような画像からデータを抽出するデータ抽出工程と、
前記画像中で同一の桁に位置する画像部分から抽出されたデータが異なる複数の基準コードとの間で不一致となるときの、それぞれのデータの発生頻度を前記桁ごとに算出するデータ発生頻度算出工程と、
前記データのうち発生頻度の少ないデータが重み付き多数決による検出結果として決定されるか、または、重み付き多数決が同数となることによって重み付き多数決による検出結果の決定ができなくなるように、発生頻度に応じた重みを前記基準コードごとに設定する重み付け工程と、
前記データの発生頻度に前記重みを加算した重み付きの多数決によって、それぞれの桁に対するデータの検出結果を決定する第一の多数決工程と、
前記第一の多数決工程によって決定された桁ごとの検出結果を組み合わせて構成される検出コードの正誤に従って前記画像の改ざんの有無を判定する判定工程と、を実行させる画像に埋め込まれたコードのデコードプログラム。
【請求項８】
前記デコードプログラムは、前記データの発生頻度に前記重みを加算しない重み無しの多数決によって、それぞれの桁に対するデータの検出結果を決定する第二の多数決工程を更に実行し、
前記判定工程は、前記第二の多数決工程によって決定された桁ごとの検出結果を組み合わせて構成される平均コードが前記検出コードと一致しない場合に、前記画像に改ざん有りと判定する、
請求項７に記載の画像に埋め込まれたコードのデコードプログラム。
【請求項９】
前記基準コードの各値は、２進数で構成され、
前記重み付け工程は、前記データのうち発生頻度の多いデータの個数をＰとし、前記データのうち発生頻度の少ないデータの個数をＱとし、数式Ｐ−Ｑ＋１により算出される値が、前記画像において重み付けを行う重み付け対象領域内にある画像部分のデータのうちの発生頻度の少ない方のデータの重みとなるように該データの各値の重みを決定する、
請求項７又は８に記載の画像に埋め込まれたコードのデコードプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の改ざんを検出するデコード装置、デコード方法、及びデコードプログラムに関する。
【背景技術】
【０００２】
画像にコードを埋め込む方法として、画像をブロック単位に分割し、隣接するブロックの画素値のレベルの大小関係によりコードを埋め込む方法がある。また、画像に埋め込まれたコードを抽出するデコード方法として、同一のコードを複数回繰り返すように画像に予め埋め込んでおき、画像から抽出された複数個のコードのうち最頻出のコードを多数決により決定する方法（例えば、特許文献１が挙げられる。）がある。この方法によれば、抽出されたコードに部分的な誤りがあっても正しいコードを取得することが可能である。これは、抽出されたコードの一部が誤っていたとしても正しいコードが多ければ、多数決により正しいコードを得ることができる、という考えに基づくものである。
【特許文献１】特開２００４−３４９８７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の多数決を使ったデコード方法によれば、画像の一部が意図的に改ざんされた場合であっても、正しいコードがデコードされてしまう。例えば、図９に示すように、４ビットのコードが５回繰り返すように埋め込まれた画像の一部分が改ざんされ、２回目と３回目に埋め込まれたデータのコードが正しいコードと一致しなくなった場合を考える。ここで、各桁ごとに最も発生頻度の高いデータを多数決により決定していく方法でデコードすると、デコードにより抽出されたコードが予め埋め込まれていたコードと一致してしまう。すなわち、図９に示すように、予め埋め込まれていたコード（図９において示す「基準コード」。）は「０、１、０、１」であるのに対し、抽出されたデータ（図９において示す「データ」。）は、「０、１、０、１」「１、０、１、０」「１、１、０、０」「０、１、０、１」「０、１、０、１」である。ここで、第一桁目は、データ「１」の発生頻度が２で、データ「０」の発生頻度が３である。よって、多数決により、コード（図９において示す「検出コード」。）の第一桁目のデータは「０」に決定される。コードの第二桁目から第四桁目までについても、同様の方法により順次決定する。このようにして決定された検出コードは「０、１、０、１」となるため、基準コードと一致してしまう。このため、デコードされたコードに基づいて画像の改ざんの有無を検出することができない。
【０００４】
人物の顔写真などの場合、目や鼻などの特徴的な部分を狙った改ざんが行われやすい。このような特徴的な部分を狙った改ざんが行われても、重み付けを行わない従来の多数決によるデコード方法によれば、複数回埋め込まれたコードの各桁の値のうち最も発生頻度の多い値が選択されてしまう。各桁の値のうち最も発生頻度の多い値が選択されてしまうので、特徴的な一部分が改ざんされても多数決によって抽出されるコードが反転しない。よって、画像の特徴的な部分を狙った改ざんが行われても、従来技術によれば正しいコードがデコードされてしまい、改ざんが検出できない。
【０００５】
本発明では、上述した課題に鑑み、画像の一部が改ざんされた場合でも画像の改ざんの有無を検出することが可能なデコード装置、デコード方法、及びデコードプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００６】
本発明は、上記した課題を解決するために、画像に埋め込まれたデータに重み付けを行
い、重み付きの多数決によって決定された検出コードの正誤に従って改ざんの有無を判定することとした。これにより、画像の一部が改ざんされた場合でも画像の改ざんの有無を検出することが可能となる。
【０００７】
詳細には、画像に埋め込まれたコードのデコード装置であって、一以上の桁（Ｍ桁）のデータで構成された改ざんを検出する基準となる基準コードが画像部分に複数回（Ｎ回）繰り返して埋め込まれた、そのような画像からデータを抽出するデータ抽出手段と、前記画像中で同一の桁に位置する画像部分から抽出されたデータが異なる複数の基準コードとの間で不一致となるときの、それぞれのデータの発生頻度を前記桁ごとに算出するデータ発生頻度算出手段と、前記データのうち発生頻度の少ないデータが重み付き多数決による検出結果として決定されるか、または、重み付き多数決が同数となることによって重み付き多数決による検出結果の決定ができなくなるように、発生頻度に応じた重みを前記基準コードごとに設定する重み付け手段と、前記データの発生頻度に前記重みを加算した重み付きの多数決によって、それぞれの桁に対するデータの検出結果を決定する第一の多数決手段と、前記第一の多数決手段によって決定された桁ごとの検出結果を組み合わせて構成される検出コードの正誤に従って前記画像の改ざんの有無を判定する判定手段と、を備える。
【０００８】
本発明に係るデコード装置は、画像の一部分が改ざんされた場合、その部分から抽出されるデータが改ざん前のデータと異なるものとなる確率が高いことを前提としている。例えば、画像データの画素値の最上位ビットを利用してコードを埋め込んだ画像が改ざんされた場合、改ざんされた領域の画素値は改ざん前の画素値と異なる値になる確率が高い。改ざん前後で画素値が変わると、抽出されるコードも変化する。
【０００９】
そこで、抽出したデータのうち発生頻度の少ない方のデータが多数決により決定されるか、または、多数決が同数になることによってデータが決定できなくなるように、発生頻度の少ない方のデータの重みが発生頻度の多い方のデータの重みと同じ重みになるかそれよりも重くなるようにする。そして、重みを加算した重み付き多数決により決定された桁ごとの検出結果を組み合わせて構成される検出コードに基づいて、画像の改ざんの有無を判定する。このような重み付き多数決であれば、画像の一部が改ざんされた場合、改ざん前後で変化しなかった発生頻度の多い方のデータが決定されることはない。よって、このような重み付き多数決によるデコード方式であれば、画像の一部に改ざんが施された場合に抽出される検出コードは、改ざん前の画像に埋め込まれた基準コードと異なるものになるため、検出コードに基づいて画像の改ざんの有無を判定することが可能になる。
【００１０】
以上により、本発明に係るデコード装置によれば、画像の一部が改ざんされた場合でも画像の改ざんの有無を検出することが可能になる。
【００１１】
また、上述のデコード装置において、前記デコード装置は、前記データの発生頻度に前記重みを加算しない重み無しの多数決によって、それぞれの桁に対するデータの検出結果を決定する第二の多数決手段を更に有し、前記判定手段は、前記第二の多数決手段によって決定された桁ごとの検出結果を組み合わせて構成される平均コードが前記検出コードと一致しない場合に、前記画像に改ざん有りと判定するようにしてもよい。
【００１２】
これによれば、予め埋め込まれた基準コードを取得できない場合でも、改ざんの有無を検出することが可能になる。
【００１３】
また、上述のデコード装置において、前記基準コードの各値は、２進数で構成され、前記重み付け手段は、前記データのうち発生頻度の多いデータの個数をＰとし、前記データのうち発生頻度の少ないデータの個数をＱとし、数式Ｐ−Ｑ＋１により算出される値が、
前記画像において重み付けを行う重み付け対象領域内にある画像部分のデータのうちの発生頻度の少ない方のデータの重みとなるように該データの各値の重みを決定するようにしてもよい。
【００１４】
これにより、画像の改ざん前後で変化した発生頻度の少ない方のデータが多数決により決定されるか、または、多数決が同数になることによってデータが決定できなくなるようにすることが可能になる。
【００１５】
また、本発明は方法の面からも捉えられる。即ち、画像に埋め込まれたコードのデコード方法であって、一以上の桁（Ｍ桁）のデータで構成された改ざんを検出する基準となる基準コードが画像部分に複数回（Ｎ回）繰り返して埋め込まれた、そのような画像からデータを抽出するデータ抽出工程と、前記画像中で同一の桁に位置する画像部分から抽出されたデータが異なる複数の基準コードとの間で不一致となるときの、それぞれのデータの発生頻度を前記桁ごとに算出するデータ発生頻度算出工程と、前記データのうち発生頻度の少ないデータが重み付き多数決による検出結果として決定されるか、または、重み付き多数決が同数となることによって重み付き多数決による検出結果の決定ができなくなるように、発生頻度に応じた重みを前記基準コードごとに設定する重み付け工程と、前記データの発生頻度に前記重みを加算した重み付きの多数決によって、それぞれの桁に対するデータの検出結果を決定する第一の多数決工程と、前記第一の多数決工程によって決定された桁ごとの検出結果を組み合わせて構成される検出コードの正誤に従って前記画像の改ざんの有無を判定する判定工程と、を有するようにしてもよい。
【００１６】
また、本発明はプログラムの面からも捉えられる。即ち、画像に埋め込まれたコードのデコードプログラムであって、コンピュータに、一以上の桁（Ｍ桁）のデータで構成された改ざんを検出する基準となる基準コードが画像部分に複数回（Ｎ回）繰り返して埋め込まれた、そのような画像からデータを抽出するデータ抽出工程と、前記画像中で同一の桁に位置する画像部分から抽出されたデータが異なる複数の基準コードとの間で不一致となるときの、それぞれのデータの発生頻度を前記桁ごとに算出するデータ発生頻度算出工程と、前記データのうち発生頻度の少ないデータが重み付き多数決による検出結果として決定されるか、または、重み付き多数決が同数となることによって重み付き多数決による検出結果の決定ができなくなるように、発生頻度に応じた重みを前記基準コードごとに設定する重み付け工程と、前記データの発生頻度に前記重みを加算した重み付きの多数決によって、それぞれの桁に対するデータの検出結果を決定する第一の多数決工程と、前記第一の多数決工程によって決定された桁ごとの検出結果を組み合わせて構成される検出コードの正誤に従って前記画像の改ざんの有無を判定する判定工程と、を実行させるようにしてもよい。
【発明の効果】
【００１７】
本発明によれば、画像の一部が改ざんされた場合でも画像の改ざんの有無を検出することが可能となる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施形態に係る画像に埋め込まれたコードのデコード装置、デコード方法、及びデコードプログラムについて、例示的に説明する。以下に示す実施形態は例示であり、本発明はこれらに限定されない。
【００１９】
＜実施形態１の構成＞
図１は、本発明の一実施形態に係るデコード装置１の全体構成を示す。デコード装置１は、画像取得部２、データ抽出部３（本発明でいう、「データ抽出手段」に相当。）、データ発生頻度算出部４（本発明でいう、「データ発生頻度算出手段」に相当。）、重み付
け部５（本発明でいう、「重み付け手段」に相当。）、第一の多数決部６（本発明でいう、「第一の多数決手段」に相当。）、及び判定部７（本発明でいう、「判定手段」に相当。）を備える。
【００２０】
これらの構成は、ＣＰＵ（中央演算処理装置）やメモリ等を備えたコンピュータに本発明に係るデコードプログラムを実行せしめることにより実現してもよいし、電気的な回路により実現してもよい。
【００２１】
画像取得部２は、改ざんの有無の判定を行う対象の画像を、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）、ＭＯＳ（Ｍｅｔａｌ  Ｏｘｉｃｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）デバイス等の撮像素子を備えたカメラやスキャナ等により画像データとして取得する。取得した画像は、データ抽出部３に伝送される。なお、本実施形態においては、カメラ等を用いて画像を取得することを前提としている。しかし、本発明は、これに限られない。例えば、ネットワーク上の電子ファイル等から画像を取得してもよい。
【００２２】
データ抽出部３は、画像取得部２から伝送された画像の中に埋め込まれているＭ×Ｎ個の値からなるデータを抽出する。データ抽出部３は、Ｍ×Ｎ個の複数の画像部分に分割された画像のうち、隣接する画像部分の画素値のレベルの大小関係を比較することによりデータを読み取る。データ抽出部３は、抽出したＭ×Ｎ個の値からなるデータをデータ発生頻度算出部４と重み付け部５に伝送する。
【００２３】
データ発生頻度算出部４は、データ抽出部３から伝送されたデータが異なる複数の行との間で不一致となるときの、データの発生頻度を前記桁ごとに算出する。例えば、第一行目のデータが「１」、第二行目のデータが「０」、第三行目のデータが「１」であれば、データ「１」の発生頻度が２、データ「０」の発生頻度が１である。データ発生頻度算出部４は、算出したデータの発生頻度を重み付け部５に伝送する。
【００２４】
重み付け部５は、データ発生頻度算出部４から伝送されたデータの発生頻度を参照し、発生頻度の少ない方のデータが重み付き多数決による検出結果として決定されるか、または、重み付き多数決が同数となることによってデータの決定ができなくなるように、発生頻度に応じた重み付けをデータごとに設定する。
【００２５】
具体的には、発生頻度の多い方のデータの個数から発生頻度の少ない方のデータの個数を減算することで算出された値に１を加算した値を、発生頻度の少ない方のデータの重みにする。これにより、発生頻度の少ない方のデータの重みの合計は、発生頻度の多い方のデータの重みの合計と同じかそれ以上となる。
【００２６】
重み付け部５は、データ抽出部３から伝送されるデータに重み付けを行い、第一の多数決部６に伝送する。
【００２７】
第一の多数決部６は、重み付け部５から伝送された重み付けされたデータを取得する。第一の多数決部６は、重みの合計を比較する重み付きの多数決を行うことで、それぞれの桁に対するデータの検出結果を決定する。第一の多数決部６は、重み付き多数決によって決定した桁ごとの検出結果を組み合わせた検出コードを構成する。第一の多数決部６は、構成した検出コードを判定部７に伝送する。ここで、検出コードとは、第一の多数決部６によって決定されるコードであり、改ざんを判定するために用いるコードである。
【００２８】
判定部７は、第一の多数決部６から伝送された検出コードに基づいて改ざんの有無を判定する。
【００２９】
＜実施形態１の処理フローの概要＞
図２は、本実施形態に係る改ざん検出方法の処理フローの概要図である。本実施形態においては、図２において示すように、目や鼻、口といった部位が重み付けを行う重み付け対象領域１１として指定されている。そして、画像１０に埋め込まれたデータに重み付けを行い、重み付き多数決を実行することで検出コードを取得する。検出コードの中に不定の値が含まれていた場合に改ざん有りと判定する。
【００３０】
＜実施形態１の処理フローの詳細＞
次に、デコード装置１の具体的な処理フローを、図３に示すフロー図を参照しながら説明する。
【００３１】
図４は、本実施形態において改ざんの有無を判定する対象となる画像１０を示す。本実施形態においては、オフィス等に用いられているセキュリティカード用の顔写真について、改ざんの有無を検出することを目的とする。一般的に、人の顔は、目や鼻、口といった部位が最も特徴的な部分と考えられる。写真と本人とを比較して照合する際も、こういった特徴的な部位を見比べることが多い。よって、顔写真は、このような特徴的な部位である目や鼻、口の部位を狙って改ざんされることが多い。従って、本実施形態においては、上記画像１０のうち、目や鼻、口の部位を重み付けを行う重み付け対象領域１１とする。また、これら以外の部位を重み付け対象外領域１２とする。なお、改ざんの有無を検出する対象となる画像１０は、旅券の顔写真データや高級絵画の画像データ、重要書類の画像データ等であってもよい。また、重み付けを行う重み付け対象領域１１は、目や鼻、口の部位といった特徴的な部位のみならず、画像の全ての領域を重み付け対象領域１１としてもよい。
【００３２】
なお、説明の便宜上、以下の説明においては、画像１０に埋め込まれた改ざんを検出する基準コードの桁数ＭをＭ＝４、基準コードの埋め込み回数ＮをＮ＝５とする。また、重み付け対象領域１１は、２回目、及び３回目に書き込まれたコードが埋まっている領域とする。また、重み付け対象領域１１以外の領域を、重み付け対象外領域１２とする。図５において示すように、画像１０には、「０、１、０、１」からなる基準コードが５回埋め込まれていたものとする。そして、画像１０の改ざんにより、２回目に埋め込まれていたコードが「１、０、１、０」に、３回目に埋め込まれていたコードが「１、１、０、０」になっているものとする。図５の枠内左上の値が、抽出されたデータを示す。ここで、基準コードとは、画像１０の改ざんを検出するためのコードであり、改ざん前の画像１０に予め埋め込まれたコードである。
【００３３】
画像取得部２は、画像１０を取得する（Ｓ１０１）。画像１０には、図６において示すようにＭ×Ｎ個の画像部分にデータが埋め込まれている。データ抽出部３は、画像取得部２から伝送された画像１０を分析し、図５に示すような画像１０に埋め込まれている２０個のデータ（Ｍ×Ｎ＝４×５＝２０）を抽出する（Ｓ１０２）。データ抽出部３は、抽出したデータをデータ発生頻度算出部４と重み付け部５に伝送する。
【００３４】
データ発生頻度算出部４は、データ抽出部３から伝送された「０、１、０、１」「１、０、１、０」「１、１、０、０」「０、１、０、１」「０、１、０、１」の値からなるデータについて、以下のようにして各桁毎にデータの発生頻度を決定する（Ｓ１０３）。
【００３５】
Ｐは発生頻度の多い方のデータの個数を示し、Ｑは発生頻度の少ない方のデータの個数を示すものとする。第１桁目は、データ「１」の発生頻度が２回、データ「０」の発生頻度が３回である。よって、Ｐ1＝３、Ｑ1＝２となる。第２桁目は、データ「１」の発生頻度が４回、データ「０」の発生頻度が１回である。よって、Ｐ2＝４、Ｑ2＝１となる。第３桁目は、データ「１」の発生頻度が１回、データ「０」の発生頻度が４回である。よっ
て、Ｐ3＝４、Ｑ3＝１となる。第４桁目は、データ「１」の発生頻度が３回、データ「０」の発生頻度が２回である。よって、Ｐ4＝３、Ｑ4＝２となる。
【００３６】
データ発生頻度算出部４は、算出した上記Ｐ1〜4、及びＱ1〜4を重み付け部５に伝送する。
【００３７】
重み付け部５は、データ発生頻度算出部４から上記Ｐ1〜4、及びＱ1〜4を取得したら、データ抽出部３から伝送されるデータを図５に示すように重み付け対象領域１１と重み付け対象外領域１２とに区分けする（Ｓ１０４）。
【００３８】
次に、重み付け部５は、数式Ｐ−Ｑ＋１により各データの重みを決定する。この重みが、重み付け対象領域１１内にあるデータのうち発生頻度の少ないデータの重みとなる。また、発生頻度の多いデータの重みは１とする。
【００３９】
第１桁目はＰ1＝３、Ｑ1＝２であるから、発生頻度の少ない方のデータであるデータ「１」の重みは２となり、発生頻度の多い方のデータであるデータ「０」の重みは１となる。
【００４０】
第２桁目はＰ2＝４、Ｑ2＝１であるから、発生頻度の少ない方のデータであるデータ「０」の重みは４となり、発生頻度の多い方のデータであるデータ「１」の重みは１となる。
【００４１】
第３桁目はＰ3＝４、Ｑ3＝１であるから、発生頻度の少ない方のデータであるデータ「１」の重みは４となり、発生頻度の多い方のデータであるデータ「０」の重みは１となる。
【００４２】
第４桁目はＰ4＝３、Ｑ4＝２であるから、発生頻度の少ない方のデータであるデータ「０」の重みは２となり、発生頻度の多い方のデータであるデータ「１」の重みは１となる。なお、図５の枠内右下に、それぞれのデータの重みを示す。
【００４３】
重み付け部５は、データ抽出部３から取得したデータに対して重み付けを行い、重み付けしたデータを第一の多数決部６に伝送する。
【００４４】
第一の多数決部６は、重み付け部５から伝送された重み付けされたデータについて、各値の重みを参照しながら各桁毎に最も重みのあるデータを多数決により決定する（Ｓ１０５）。図５において示すように、第１桁目は、データ「０」の重みの合計が３であり、データ「１」の重みの合計が４である。よって、検出コードの第１桁目は、重み付き多数決によりデータ「１」と決定される。また、第２桁目は、データ「０」の重みの合計が４であり、データ「１」の重みの合計も４である。よって、検出コード０の第２桁目は、多数決によりデータを決定することができない。従って、検出コード９の第２桁目は、データ「×」（不定の値）に決定される。第３桁目、第４桁目についても同様の方法によりデータを決定する。第一の多数決部６は、このようにして検出コード「１、×、×、０」を取得する。第一の多数決部６は、取得した検出コードを判定部７に伝送する。
【００４５】
判定部７は、第一の多数決部６から伝送された検出コードを分析する（Ｓ１０６）。デコードが成功（検出コードに不定の値「×」が含まれていなかった場合。）していれば、画像１０は改ざんされていないと判定する（Ｓ１０７）。しかし、本実施形態においては、検出コードが「１、×、×、０」である。よって、検出コードに不定の値「×」が含まれている。従って、判定部７は、画像１０が改ざんされていると判定する（Ｓ１０８）。
【００４６】
以上により、本実施形態に係るデコード装置１により、一部分が改ざんされた画像１０であっても、改ざん有りを検出することが可能になる。
【００４７】
なお、本実施形態は、検出コードに不定の値「×」が含まれているか否かにより、改ざんの有無を判定していたが、画像に埋め込まれた基準コードと検出コードとを比較し、コードが一致すれば改ざん無し、コードが一致しなければ改ざん有りと判定するようにしてもよい。
【００４８】
＜実施形態２の構成＞
図７は、本発明の第二の実施形態に係るデコード装置１３の全体構成を示す。本実施形態に係るデコード装置１３は、画像から抽出したデータに重み付けを行わない多数決を行うことで決定したコードと検出コードとを比較し、改ざんの有無を判定する。デコード装置１３は、上述した実施形態１に係るデコード装置１の構成要素の他に、第二の多数決部１４を更に備える。なお、説明の便宜上、上述した実施形態１と同様の構成要素や処理方法については同一の符号を付し、その説明を省略する。
【００４９】
第二の多数決部１４は、データ抽出部３から伝送された重み付けされていないデータを取得する。第二の多数決部１４は、データの各値の発生頻度について各桁毎に比較し、各桁ごとに最頻出の値を決定する。第二の多数決部１４は、多数決により決定して構成した平均コードを判定部７に伝送する。ここで、平均コードとは、第二の多数決部１４によって決定されるコードであり、改ざんを判定するために用いるコードである。
【００５０】
＜実施形態２の処理フロー＞
次に、デコード装置１３の処理フローを、図８に示す処理フロー図を参照しながら説明する。
【００５１】
第二の多数決部１４は、データ抽出部３から伝送された重み付けされていないデータについて、データの各値の発生頻度を各桁毎に比較し、平均コードを決定する（Ｓ２０６）。図５において示すように、第１桁目は、シンボル「０」の発生頻度が３であり、シンボル「１」の発生頻度が２である。よって、平均コードの第１桁目は多数決によりシンボル「０」と決定される。また、第２桁目は、シンボル「０」の発生頻度が１であり、シンボル「１」の発生頻度が４である。よって、平均コードの第２桁目は、多数決によりシンボル「１」と決定される。第３桁目、第４桁目についても同様の方法によりシンボルを決定する。第二の多数決部１４は、このような方法により、平均コード「０、１、０、１」を取得する。第二の多数決部１４は、取得した平均コードを判定部７に伝送する。
【００５２】
判定部７は、第一の多数決部６から伝送された検出コードと、第二の多数決部１４から伝送された平均コードとを比較する（Ｓ２０７）。コードが互いに一致していれば、画像１０は改ざんされていないと判定される（Ｓ２０８）。しかし、本実施形態においては、平均コードが「０、１、０、１」なのに対し、検出コードが「１、×、×、０」である。よって、コードが互いに一致していない。従って、判定部７は、画像１０が改ざんされていると判定する（Ｓ２０９）。
【００５３】
以上により、本実施形態に係るデコード装置１３によれば、画像１０に埋め込まれた基準コードを取得することができない場合や、画像１０の一部が改ざんされているにも関わらず検出コードの中に不定の値が発生しなかった場合でも、改ざんの有無を検出することが可能になる。また、画像１０に埋め込まれた基準コードの取得と改ざんの検出とを同時に行うことが可能なため、デコードの処理時間やコストを低減できる。
【００５４】
〔その他〕
本発明は、以下のように特定することができる。
（付記１）一以上の桁（Ｍ桁）のデータで構成された改ざんを検出する基準となる基準コードが画像部分に複数回（Ｎ回）繰り返して埋め込まれた、そのような画像からデータを抽出するデータ抽出手段と、前記画像中で同一の桁に位置する画像部分から抽出されたデータが異なる複数の基準コードとの間で不一致となるときの、それぞれのデータの発生頻度を前記桁ごとに算出するデータ発生頻度算出手段と、前記データのうち発生頻度の少ないデータが重み付き多数決による検出結果として決定されるか、または、重み付き多数決が同数となることによって重み付き多数決による検出結果の決定ができなくなるように、発生頻度に応じた重みを前記基準コードごとに設定する重み付け手段と、前記データの発生頻度に前記重みを加算した重み付きの多数決によって、それぞれの桁に対するデータの検出結果を決定する第一の多数決手段と、前記第一の多数決手段によって決定された桁ごとの検出結果を組み合わせて構成される検出コードの正誤に従って前記画像の改ざんの有無を判定する判定手段と、を備える画像に埋め込まれたコードのデコード装置。
（付記２）前記判定手段は、前記重み付き多数決が同数となることによって重み付き多数決による検出結果の決定ができなかったデータが前記検出コードに含まれている場合に、前記画像に改ざん有りと判定する、付記１に記載の画像に埋め込まれたコードのデコード装置。
（付記３）前記判定手段は、前記検出コードが前記基準コードと一致しない場合に、前記画像に改ざん有りと判定する、付記１に記載の画像に埋め込まれたコードのデコード装置。
（付記４）前記デコード装置は、前記データの発生頻度に前記重みを加算しない重み無しの多数決によって、それぞれの桁に対するデータの検出結果を決定する第二の多数決手段を更に有し、前記判定手段は、前記第二の多数決手段によって決定された桁ごとの検出結果を組み合わせて構成される平均コードが前記検出コードと一致しない場合に、前記画像に改ざん有りと判定する、付記１に記載の画像に埋め込まれたコードのデコード装置。
（付記５）前記基準コードの各値は、２進数で構成され、前記重み付け手段は、前記データのうち発生頻度の多いデータの個数をＰとし、前記データのうち発生頻度の少ないデータの個数をＱとし、数式Ｐ−Ｑ＋１により算出される値が、前記画像において重み付けを行う重み付け対象領域内にある画像部分のデータのうちの発生頻度の少ない方のデータの重みとなるように該データの各値の重みを決定する、付記１から４の何れかに記載の画像に埋め込まれたコードのデコード装置。
（付記６）前記重み付け対象領域は、前記画像のうち特徴的な部分を抽出することにより決定される、付記５に記載の画像に埋め込まれたコードのデコード装置。
（付記７）前記重み付け対象領域は、ユーザが設定することにより決定される、付記５に記載の画像に埋め込まれたコードのデコード装置。
（付記８）一以上の桁（Ｍ桁）のデータで構成された改ざんを検出する基準となる基準コードが画像部分に複数回（Ｎ回）繰り返して埋め込まれた、そのような画像からデータを抽出するデータ抽出工程と、前記画像中で同一の桁に位置する画像部分から抽出されたデータが異なる複数の基準コードとの間で不一致となるときの、それぞれのデータの発生頻度を前記桁ごとに算出するデータ発生頻度算出工程と、前記データのうち発生頻度の少ないデータが重み付き多数決による検出結果として決定されるか、または、重み付き多数決が同数となることによって重み付き多数決による検出結果の決定ができなくなるように、発生頻度に応じた重みを前記基準コードごとに設定する重み付け工程と、前記データの発生頻度に前記重みを加算した重み付きの多数決によって、それぞれの桁に対するデータの検出結果を決定する第一の多数決工程と、前記第一の多数決工程によって決定された桁ごとの検出結果を組み合わせて構成される検出コードの正誤に従って前記画像の改ざんの有無を判定する判定工程と、を有する画像に埋め込まれたコードのデコード方法。
（付記９）前記判定工程は、前記重み付き多数決が同数となることによって重み付き多数決による検出結果の決定ができなかったデータが前記検出コードに含まれている場合に、前記画像に改ざん有りと判定する、付記８に記載の画像に埋め込まれたコードのデコード
方法。
（付記１０）前記判定工程は、前記検出コードが前記基準コードと一致しない場合に、前記画像に改ざん有りと判定する、付記８に記載の画像に埋め込まれたコードのデコード方法。
（付記１１）前記デコード方法は、前記データの発生頻度に前記重みを加算しない重み無しの多数決によって、それぞれの桁に対するデータの検出結果を決定する第二の多数決工程を更に有し、前記判定工程は、前記第二の多数決工程によって決定された桁ごとの検出結果を組み合わせて構成される平均コードが前記検出コードと一致しない場合に、前記画像に改ざん有りと判定する、付記８に記載の画像に埋め込まれたコードのデコード方法。（付記１２）前記基準コードの各値は、２進数で構成され、前記重み付け工程は、前記データのうち発生頻度の多いデータの個数をＰとし、前記データのうち発生頻度の少ないデータの個数をＱとし、数式Ｐ−Ｑ＋１により算出される値が、前記画像において重み付けを行う重み付け対象領域内にある画像部分のデータのうちの発生頻度の少ない方のデータの重みとなるように該データの各値の重みを決定する、付記８から１１の何れかに記載の画像に埋め込まれたコードのデコード方法。
（付記１３）前記重み付け対象領域は、前記画像のうち特徴的な部分を抽出することにより決定される、付記１２に記載の画像に埋め込まれたコードのデコード方法。
（付記１４）前記重み付け対象領域は、ユーザが設定することにより決定される、付記１２に記載の画像に埋め込まれたコードのデコード方法。
（付記１５）コンピュータに、一以上の桁（Ｍ桁）のデータで構成された改ざんを検出する基準となる基準コードが画像部分に複数回（Ｎ回）繰り返して埋め込まれた、そのような画像からデータを抽出するデータ抽出工程と、前記画像中で同一の桁に位置する画像部分から抽出されたデータが異なる複数の基準コードとの間で不一致となるときの、それぞれのデータの発生頻度を前記桁ごとに算出するデータ発生頻度算出工程と、前記データのうち発生頻度の少ないデータが重み付き多数決による検出結果として決定されるか、または、重み付き多数決が同数となることによって重み付き多数決による検出結果の決定ができなくなるように、発生頻度に応じた重みを前記基準コードごとに設定する重み付け工程と、前記データの発生頻度に前記重みを加算した重み付きの多数決によって、それぞれの桁に対するデータの検出結果を決定する第一の多数決工程と、前記第一の多数決工程によって決定された桁ごとの検出結果を組み合わせて構成される検出コードの正誤に従って前記画像の改ざんの有無を判定する判定工程と、を実行させる画像に埋め込まれたコードのデコードプログラム。
（付記１６）前記判定工程は、前記重み付き多数決が同数となることによって重み付き多数決による検出結果の決定ができなかったデータが前記検出コードに含まれている場合に、前記画像に改ざん有りと判定する、付記１５に記載の画像に埋め込まれたコードのデコードプログラム。
（付記１７）前記判定工程は、前記検出コードが前記基準コードと一致しない場合に、前記画像に改ざん有りと判定する、付記１５に記載の画像に埋め込まれたコードのデコードプログラム。
（付記１８）前記デコードプログラムは、前記データの発生頻度に前記重みを加算しない重み無しの多数決によって、それぞれの桁に対するデータの検出結果を決定する第二の多数決工程を更に実行し、前記判定工程は、前記第二の多数決工程によって決定された桁ごとの検出結果を組み合わせて構成される平均コードが前記検出コードと一致しない場合に、前記画像に改ざん有りと判定する、付記１５に記載の画像に埋め込まれたコードのデコードプログラム。
（付記１９）前記基準コードの各値は、２進数で構成され、前記重み付け工程は、前記データのうち発生頻度の多いデータの個数をＰとし、前記データのうち発生頻度の少ないデータの個数をＱとし、数式Ｐ−Ｑ＋１により算出される値が、前記画像において重み付けを行う重み付け対象領域内にある画像部分のデータのうちの発生頻度の少ない方のデータの重みとなるように該データの各値の重みを決定する、付記１５から１８の何れかに記載
の画像に埋め込まれたコードのデコードプログラム。
（付記２０）前記重み付け対象領域は、前記画像のうち特徴的な部分を抽出することにより決定される、付記１９に記載の画像に埋め込まれたコードのデコードプログラム。
（付記２１）前記重み付け対象領域は、ユーザが設定することにより決定される、付記１９に記載の画像に埋め込まれたコードのデコードプログラム。
【図面の簡単な説明】
【００５５】
【図１】デコード装置の全体構成図。
【図２】デコード装置の処理フローの概要図。
【図３】デコード装置の処理フロー図。
【図４】改ざん検出対象の画像を示す図。
【図５】抽出されたコードを示す図。
【図６】改ざん検出対象の画像を示す図。
【図７】デコード装置の全体構成図。
【図８】デコード装置の処理フロー図。
【図９】従来技術により抽出されたコードを示す図。
【符号の説明】
【００５６】
１、１３・・・・デコード装置
２・・・・・・・画像取得部
３・・・・・・・データ抽出部
４・・・・・・・データ発生頻度算出部
５・・・・・・・重み付け部
６・・・・・・・第一の多数決部
７・・・・・・・判定部
８・・・・・・・記憶装置
１０・・・・・・画像
１１・・・・・・重み付け対象領域
１２・・・・・・重み付け対象外領域
１４・・・・・・第二の多数決部
【図１】
2008042394.tif 000003
【図２】
2008042394.tif 000004
【図３】
2008042394.tif 000005
【図４】
2008042394.tif 000006
【図５】
2008042394.tif 000007
【図６】
2008042394.tif 000008
【図７】
2008042394.tif 000009
【図８】
2008042394.tif 000010
【図９】
2008042394.tif 000011