(57)【要約】【課題】画質を劣化させずに改ざんの検出効果を高めた電子透かしを埋め込んで映像の改ざんを検出する。【解決手段】映像に対して、ＪＰＥＧ符号化工程におけるＹＣｂＣｒ変換、ダウンサンプリング、ＤＣＴ、ＤＣＴ係数量子化が実行され、次いで、電子透かしデータにデータ誤り検出符号を付与して誤り検出符号データとし、該データを所定の暗号化方法により暗号化済み符号データとし、そして、選択された色成分のＤＣＴブロックのグループ分けが実行される。暗号化済み符号データ埋め込み手段１３はＤＣＴブロックの量子化係数の最大値と基準値の差に映像依存値を加えた値に基づき前記各グループに属するＤＣＴブロックへ暗号化符号データを埋め込む。前記埋め込み完了後は量子化係数が通常のＪＰＥＧ符号化工程と同様にエントロピー圧縮され、所定のＪＰＥＧフォーマットに適合するように整形されてＪＰＥＧ符号化が完了する。【選択図】図１
2010187131.tif 000002
【特許請求の範囲】
【請求項１】
改ざん検出用電子透かしを埋め込むステップと前記埋め込まれた電子透かしを検出するステップとを有する電子透かし埋め込み検出方法であって、
前記電子透かしを埋め込むステップは、
量子化手段が映像をＪＰＥＧ符号化工程における離散変換係数量子化までの処理を行うステップと、
符号化手段が前記映像に埋め込む電子透かしデータにデータ誤り検出符号を付与して誤り検出符号データを作成するステップと、
暗号化手段が前記誤り検出符号データを暗号化して暗号化済み符号データを生成するステップと、
色成分選択手段が前記暗号化済み符号データを埋め込む色成分を選択するステップと、
グループ分割手段が前記選択した色成分の離散コサイン変換ブロックを暗号化済み符号化データのｂｉｔ数と同じ個数ずつのグループに分けるステップと、
最大絶対値選択手段が前記各グループの離散コサイン変換ブロックの量子化係数の中から量子化係数の最大絶対値を選択するステップと、
基準値選択手段が予め定められた乱数値と映像依存値とに基づき、前記量子化係数の最大絶対値を除いた量子化係数から一つの基準値を選ぶステップと、
暗号化済み符号データ埋め込み手段が、前記暗号化済み符号データのｂｉｔ０を埋め込む離散コサイン変換ブロックの量子化係数の最大値と前記基準値の差に前記映像依存値を加えた値が偶数になるように、ｂｉｔ１の埋め込みに対応する離散コサイン変換ブロックの量子化係数の最大値と基準値の差に前記映像依存値を加えた値が奇数になるように、前記量子化係数の最大絶対値に−Ｋ，０，Ｋ（Ｋは任意の正奇数）のいずれかを加えるステップと、
ＪＰＥＧ符号化手段が前記埋め込み完了後の量子化係数をエントロピー圧縮しさらにＪＰＥＧフォーマットに整形するステップと
を有すること
を特徴とする電子透かし埋め込み検出方法。
【請求項２】
前記離散変換係数量子化までの処理を行うステップと誤り検出符号データを作成するステップとの間に、
ＪＰＥＧ形式整形手段が、前記量子化手段によって量子化処理されたデータをエントロピー圧縮処理しさらにＪＰＥＧ形式のデータに整形するステップと、
データ整形エントロピー復号手段が、前記ＪＰＥＧ形式のデータをデータ列整形しさらにエントロピー復号処理して離散コサイン変換ブロック係数値を得るステップと
をさらに有すること
を特徴とする請求項１に記載の電子透かし埋め込み検出方法。
【請求項３】
前記電子透かしを検出するステップは、
復号手段がＪＰＥＧ符号化映像をＪＰＥＧ復号化工程におけるエントロピー復号までの処理によって離散コサイン変換ブロックの量子化係数までに変換するステップと、
色成分選択手段が前記ＪＰＥＧ符号化映像の誤り検出符号データが埋め込まれた色成分を選択するステップと、
グループ分割手段が前記選択した色成分の離散コサイン変換ブロックを暗号化済み符号化データのｂｉｔ数と同じ個数ずつ離散コサイン変換ブロックを含むグループに分けるステップと、
最大絶対値選択手段が前記分けられた各グループに属する離散コサイン変換ブロックの量子化係数から最大絶対値を選択するステップと、
基準値選択手段が、予め定められた乱数値と映像依存値に基づき、前記量子化係数の最大値のものを除いたものから１つの基準値を選択するステップと、
ビットデータ検出手段が前記選択された最大値と基準値の差に前記映像依存値を加えた値が偶数なら０を奇数なら１をビットデータとして検出するステップと、暗号復号化手段が前記検出された各離散コサイン変換ブロックのビットデータ値（０ｏｒ１）を所定の暗号復号化の入力ｂｉｔとして対応付け暗号復号化を行うステップと、
誤り検出復号手段が、暗号復号化したデータに対し所定誤り検出復号化を行い誤りの有無を判断し、誤りが有る場合は誤りの発生した離散コサイン変換ブロックを含むグループを得る一方、誤り無しの場合は埋め込まれた電子透かしデータを得るステップと、
映像化手段が前記ＪＰＥＧ符号化映像をＪＰＥＧ復号して映像とするステップと、
重畳表示手段が、前記復号された映像と共に前記誤りの有無と誤りの発生したグループに属する離散コサイン変換ブロックの位置を目立つように色を変えて表示させるステップと
を有すること
を特徴とする請求項１または２に記載の電子透かし埋め込み検出方法。
【請求項４】
改ざん検出用電子透かしを埋め込む電子透かし埋め込み手段と前記埋め込まれた電子透かしを検出する電子透かし検出手段とを備えた電子透かし埋め込み検出装置であって、
前記電子透かし埋め込み手段は、
映像をＪＰＥＧ符号化工程における離散変換係数量子化までの処理を行う量子化手段と、
前記映像に埋め込む電子透かしデータにデータ誤り検出符号を付与して誤り検出符号データを作成する符号化手段と、
前記誤り検出符号データを暗号化して暗号化済み符号データを生成する暗号化手段と、
前記暗号化済み符号データを埋め込む色成分を選択する色成分選択手段と、
前記選択した色成分の離散コサイン変換ブロックを暗号化済み符号化データのｂｉｔ数と同じ個数ずつのグループに分けるグループ分割手段と、
前記各グループの離散コサイン変換ブロックの量子化係数の中から量子化係数の最大絶対値を選択する最大絶対値選択手段と、
予め定められた乱数値と映像依存値とに基づき、前記量子化係数の最大絶対値を除いた量子化係数から一つの基準値を選ぶ基準値選択手段と、
前記暗号化済み符号データのｂｉｔ０を埋め込む離散コサイン変換ブロックの量子化係数の最大値と前記基準値の差に前記映像依存値を加えた値が偶数になるように、ｂｉｔ１の埋め込みに対応する離散コサイン変換ブロックの量子化係数の最大値と基準値の差に前記映像依存値を加えた値が奇数になるように、前記量子化係数の最大絶対値に−Ｋ，０，Ｋ（Ｋは任意の正奇数）のいずれかを加える暗号化済み符号データ埋め込み手段と、
前記埋め込み完了後の量子化係数をエントロピー圧縮し、さらにＪＰＥＧフォーマットに整形するＪＰＥＧ符号化手段と
を備えたこと
を特徴とする電子透かし埋め込み検出装置。
【請求項５】
前記量子化手段と前記符号化手段との間に、
前記量子化手段にて量子化処理されたデータをエントロピー圧縮処理しさらにＪＰＥＧ形式のデータに整形するＪＰＥＧ形式整形手段と、
前記ＪＰＥＧ形式のデータをデータ列整形しさらにエントロピー復号処理して離散コサイン変換ブロック係数値を得るデータ整形エントロピー復号手段と
をさらに備えたこと
を特徴とする請求項４に記載の電子透かし埋め込み検出装置。
【請求項６】
前記電子透かし検出手段は、
ＪＰＥＧ符号化映像をＪＰＥＧ復号化工程におけるエントロピー復号までの処理によって離散コサイン変換ブロックの量子化係数までに変換する復号手段と、
前記ＪＰＥＧ符号化映像の誤り検出符号データが埋め込まれた色成分を選択する色成分選択手段と、
前記選択した色成分の離散コサイン変換ブロックを暗号化済み符号化データのｂｉｔ数と同じ個数ずつ離散コサイン変換ブロックを含むグループに分けるグループ分割手段と、
前記分けられた各グループに属する離散コサイン変換ブロックの量子化係数から最大絶対値を選択する最大絶対値選択手段と、
予め定められた乱数値と映像依存値に基づき、前記量子化係数の最大値のものを除いたものから１つの基準値を選択する基準値選択手段と、
前記選択された最大値と基準値の差に前記映像依存値を加えた値が偶数なら０を奇数なら１をビットデータとして検出するビットデータ検出手段と、
前記検出された各離散コサイン変換ブロックのビットデータ値（０ｏｒ１）を所定の暗号復号化の入力ｂｉｔとして対応付け暗号復号化を行う暗号復号化手段と、
暗号復号化したデータに対し所定誤り検出復号化を行い誤りの有無を判断し、誤りが有る場合は誤りの発生した離散コサイン変換ブロックを含むグループを得る一方、誤り無しの場合は埋め込まれた電子透かしデータを得る誤り検出復号手段と、
前記ＪＰＥＧ符号化映像をＪＰＥＧ復号して映像とする映像化手段と、
前記復号された映像と共に前記誤りの有無と誤りの発生したグループに属する離散コサイン変換ブロックの位置を目立つように色を変えて表示させる重畳表示手段と
を備えたこと
を特徴とする請求項４または５に記載の電子透かし埋め込み検出装置。
【請求項７】
請求項４から６のいずれか１項に記載の電子透かし埋め込み検出装置を構成する各手段としてコンピュータを機能させるプログラム。
【請求項８】
請求項７に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル映像記録装置に係り、デジタル映像の改ざんを検出するための電子透かし埋め込みと前記改ざんを検出するための技術に関する。
【背景技術】
【０００２】
近年、デジタルカメラやカメラ付き携帯電話機の普及により、誰もが手軽にデジタル写真映像を撮影できるようになった。デジタルカメラやカメラ付き携帯電話機でのデジタル映像の保持方式はその圧縮率の高さと画質のトレードオフ性が良好であることから、ＪＰＥＧ符号化形式がデファクトスタンダードとなっている。一部の機種ではＪＰＥＧ２０００符号化や非圧縮映像形式で保持することができるものもあるが、最も普及しているのはＪＰＥＧ符号化方式である。
【０００３】
デジタルカメラ、特にカメラ付き携帯電話機は手軽に撮影可能なため、これを用いて撮影したデジタル映像を動産担保の証拠としたり、交通事故の証拠としたり、建築現場での工程証明としたり、ゴミ処理場で正しく処理した証明としたりしたいというニーズがある。またデジタルカメラではないが類似するものとしてはドライブレコーダーがあり、撮影された映像は交通事故の参考証拠として用いられる。
【０００４】
しかしながら、デジタル映像は複製や編集が容易であるという性質があるために、映像が改ざんされていないかを証明するのが難しく、法律上は参考証拠に留まっており、決定的な証拠にはなり得ないという問題があった。
【０００５】
そこで、証拠性を高めるために、デジタル映像に電子透かしを付加し、電子透かしが壊れずに入っているかどうかで映像の信憑性を高める手段が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１０−３０８９４３号公報
【非特許文献】
【０００７】
【非特許文献１】書籍「やり直しのための工業数学，情報通信と信号解析・暗号，誤り訂正符号，積分変換」，三谷政昭著，ＣＱ出版社，ＩＳＢＮ４−７８９８−３３１８−６
【非特許文献２】仕様書「１２８ビットブロック暗号Ｃａｍｅｌｌｉａアルゴリズム仕様書  第２．０版」，青木和麻呂他著，日本電信電話株式会社，三菱電機株式会社，２００１年９月２６日
【非特許文献３】仕様書，“Ａｎｎｏｕｎｃｉｎｇ  ｔｈｅ  ＡＤＶＡＣＥＤ  ＥＮＣＲＹＰＴＩＯＮ  ＳＴＡＮＤＡＲＤ（ＡＥＳ）”，Ｆｅｄｅｒａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｔａｎｄａｒｄｓ  Ｐｕｂｌｉｃａｔｉｏｎ  １９７，Ｎｏｖｅｍｂｅｒ  ２６，２００１
【非特許文献４】仕様書，“ＳＥＣＵＲＥ  ＨＡＳＨ  ＳＴＡＮＤＡＲＤ”，Ｆｅｄｅｒａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｔａｎｄａｒｄｓ  Ｐｕｂｌｉｃａｔｉｏｎ  １８０−２，Ａｕｇｕｓｔ  １  ２００２
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１等の方法では量子化係数のゼロラン部直前に値の大きな（＞１）透かしデータを埋め込むため透かし埋め込みによる画質劣化が大きいという問題があった。画質劣化が大きいと証拠写真としての信憑性が下がるため望ましくない。
【課題を解決するための手段】
【０００９】
本発明はＪＰＥＧ符号化及びＪＰＥＧ復号化の技術と密接に関わっている。
【００１０】
通常のＪＰＥＧ符号化とＪＰＥＧ復号化は図２１に示されたフローチャートによって実行される。本明細書の中でＤＣＴと表記されているのは離散コサイン変換（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）の意味である。
【００１１】
図２１（ａ）に示された通常のＪＰＥＧ符号化工程では、先ず、デジタル映像を入力し（ステップＳ１１）、画像をＹＣｂＣｒ（輝度スカラ（Ｙ）・色相ベクトル（ＣｂＣｒ））変換する（ステップＳ１２）。
【００１２】
次にステップＳ１３においてダウンサンプリング処理によりＣｂ，Ｃｒの情報を削減した後、ＤＣＴ（Ｄｉｓｃｒａｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ；離散コサイン変換）処理を行ってＤＣＴ係数を得る（ステップＳ１４）。
【００１３】
次にＤＣＴ係数を量子化し（ステップＳ１５）、エントロピー圧縮を行い（ステップＳ１６）、所定のＪＰＥＧフォーマット、例えばＪＦＩＦ（ＪＰＥＧ  Ｆｉｌｅ  Ｉｎｔｅｒｃｈａｎｇｅ  Ｆｏｒｍａｔ）に適合するよう整形を行う（ステップＳ１７）。
【００１４】
一方、図２１（ｂ）に示された通常のＪＰＥＧ復号化工程では、先ず、ＪＰＥＧ符号化されたデジタル映像データを入力し（ステップＳ９１）、ＪＦＩＦ形式からデータ列へ整形する（ステップＳ９２）。
【００１５】
次に、エントロピー復号し（ステップＳ９３）、逆量子化（ステップＳ９４）および逆ＤＣＴ（ステップＳ９５）を行った後、必要があれば色空間変換を行う（ステップＳ９６）。
【００１６】
映像への電子透かし埋め込み方法は、映像を８×８サンプリング画素のブロック（ＤＣＴブロックと呼ぶ）に分けて各々のブロックに１ｂｉｔを割り当てて電子透かしデータを誤り検出符号化かつ暗号化したｂｉｔを埋め込むことが基本である。
【００１７】
本発明に係る電子透かし埋め込み検出方法とその装置では、電子透かしデータのｂｉｔは直接ＤＣＴブロックへは対応させずに、一度誤り検出符号化して冗長性を持たせてから対応させる。誤り検出符号を用いることにより、何も埋め込んでいないのに偶然埋め込んだことと同じ結果が得られることを防ぐ、および復号時に元の電子透かしデータを知ることなく誤り（改ざん）の有無を知るという２つのメリットが得られる。
【００１８】
映像に含まれるＤＣＴブロックの総数は一般に大きい（ＶＧＡ映像の輝度成分で４８００個）ので、本発明では、ＤＣＴブロックをグループに分けて１グループ中で独立に誤り検出符号化するようにする。これにより、誤りがあった場合はその誤りが含まれるグループを特定でき、誤り（改ざん）の場所を知るというメリットが得られる。
【００１９】
また、本発明では、ＤＣＴブロック内の量子化係数の変調方法では、量子化係数の絶対値の最大値と、乱数発生手段で生成させた乱数値と映像の内容に依存して値の変わる映像依存値Ｄとに基づき、最大値を除いた量子化係数中から１つ選んだ基準値を用いる。そして、量子化係数の絶対値の最大値に−Ｋあるいは０あるいはＫ（Ｋは任意の正奇数）を加える操作により基準値との差分に所定の映像依存値Ｄを加えた値の偶奇を調整する。この方法の利点は元々値の大きい係数に小変分のみを与えるため量子化係数の変化が少なく、埋め込み後の美観に影響を与え難い点である。ＤＣＴブロック内の量子化係数を変調する方式は先行技術に係る特許文献１の画像処理方法を含めて複数あるが、いずれの方法も変調による量子化係数の変化が大きく、美観的には不利となる。
【００２０】
以上の乱数生成法とＤＣＴ内の基準値選択法とパリティ変調法により、改ざんの検出効果が高まり、偽造に対する脆弱性が解消される。
【００２１】
本発明の電子透かし埋め込み検出方法の態様としては、改ざん検出用電子透かしを埋め込むステップと前記埋め込まれた電子透かしを検出するステップとを有する電子透かし埋め込み検出方法であって、前記電子透かしを埋め込むステップは、量子化手段が映像をＪＰＥＧ符号化工程における離散変換係数量子化までの処理を行うステップと、符号化手段が前記映像に埋め込む電子透かしデータにデータ誤り検出符号を付与して誤り検出符号データを作成するステップと、暗号化手段が前記誤り検出符号データを暗号化して暗号化済み符号データを生成するステップと、色成分選択手段が前記暗号化済み符号データを埋め込む色成分を選択するステップと、グループ分割手段が前記選択した色成分の離散コサイン変換ブロックを暗号化済み符号化データのｂｉｔ数と同じ個数ずつのグループに分けるステップと、最大絶対値選択手段が前記各グループの離散コサイン変換ブロックの量子化係数の中から量子化係数の最大絶対値を選択するステップと、基準値選択手段が予め定められた乱数値と映像依存値とに基づき、前記量子化係数の最大絶対値を除いた量子化係数から一つの基準値を選ぶステップと、暗号化済み符号データ埋め込み手段が、前記暗号化済み符号データのｂｉｔ０を埋め込む離散コサイン変換ブロックの量子化係数の最大値と前記基準値の差に前記映像依存値を加えた値が偶数になるように、ｂｉｔ１の埋め込みに対応する離散コサイン変換ブロックの量子化係数の最大値と基準値の差に前記映像依存値を加えた値が奇数になるように、前記量子化係数の最大絶対値に−Ｋ，０，Ｋ（Ｋは任意の正奇数）のいずれかを加えるステップと、ＪＰＥＧ符号化手段が前記埋め込み完了後の量子化係数をエントロピー圧縮しさらにＪＰＥＧフォーマットに整形するステップとを有する。
【００２２】
前記離散変換係数量子化までの処理を行うステップと誤り検出符号データを作成するステップとの間には、ＪＰＥＧ形式整形手段が前記量子化手段によって量子化処理されたデータをエントロピー圧縮処理しさらにＪＰＥＧ形式のデータに整形するステップと、データ整形エントロピー復号手段が前記ＪＰＥＧ形式のデータをデータ列整形しさらにエントロピー復号処理して離散コサイン変換ブロック係数値を得るステップとをさらに有するとよい。
【００２３】
また、前記電子透かし埋め込み検出方法において、前記電子透かしを検出するステップは、復号手段がＪＰＥＧ符号化映像をＪＰＥＧ復号化工程におけるエントロピー復号までの処理によって離散コサイン変換ブロックの量子化係数までに変換するステップと、色成分選択手段が前記ＪＰＥＧ符号化映像の誤り検出符号データが埋め込まれた色成分を選択するステップと、グループ分割手段が前記選択した色成分の離散コサイン変換ブロックを暗号化済み符号化データのｂｉｔ数と同じ個数ずつ離散コサイン変換ブロックを含むグループに分けるステップと、最大絶対値選択手段が前記分けられた各グループに属する離散コサイン変換ブロックの量子化係数から最大絶対値を選択するステップと、基準値選択手段が、予め定められた乱数値と映像依存値に基づき、前記量子化係数の最大値のものを除いたものから１つの基準値を選択するステップと、ビットデータ検出手段が前記選択された最大値と基準値の差に前記映像依存値を加えた値が偶数なら０を奇数なら１をビットデータとして検出するステップと、暗号復号化手段が前記検出された各離散コサイン変換ブロックのビットデータ値（０ｏｒ１）を所定の暗号復号化の入力ｂｉｔとして対応付け暗号復号化を行うステップと、誤り検出復号手段が、暗号復号化したデータに対し所定誤り検出復号化を行い誤りの有無を判断し、誤りが有る場合は誤りの発生した離散コサイン変換ブロックを含むグループを得る一方、誤り無しの場合は埋め込まれた電子透かしデータを得るステップと、映像化手段が前記ＪＰＥＧ符号化映像をＪＰＥＧ復号して映像とするステップと、重畳表示手段が、前記復号された映像と共に前記誤りの有無と誤りの発生したグループに属する離散コサイン変換ブロックの位置を目立つように色を変えて表示させるステップとを有する。
【００２４】
本発明の電子透かし埋め込み検出装置の態様としては、改ざん検出用電子透かしを埋め込む電子透かし埋め込み手段と前記埋め込まれた電子透かしを検出する電子透かし検出手段とを備えた電子透かし埋め込み検出装置であって、前記電子透かし埋め込み手段は、前記映像をＪＰＥＧ符号化工程における離散変換係数量子化までの処理を行う量子化手段と、前記映像に埋め込む電子透かしデータにデータ誤り検出符号を付与して誤り検出符号データを作成する符号化手段と、前記誤り検出符号データを暗号化して暗号化済み符号データを生成する暗号化手段と、前記暗号化済み符号データを埋め込む色成分を選択する色成分選択手段と、前記選択した色成分の離散コサイン変換ブロックを暗号化済み符号化データのｂｉｔ数と同じ個数ずつのグループに分けるグループ分割手段と、前記各グループの離散コサイン変換ブロックの量子化係数の中から量子化係数の最大絶対値を選択する最大絶対値選択手段と、予め定められた乱数値と映像依存値とに基づき、前記量子化係数の最大絶対値を除いた量子化係数から一つの基準値を選ぶ基準値選択手段と、前記暗号化済み符号データのｂｉｔ０を埋め込む離散コサイン変換ブロックの量子化係数の最大値と前記基準値の差に前記映像依存値を加えた値が偶数になるように、ｂｉｔ１の埋め込みに対応する離散コサイン変換ブロックの量子化係数の最大値と基準値の差に前記映像依存値を加えた値が奇数になるように、前記量子化係数の最大絶対値に−Ｋ，０，Ｋ（Ｋは任意の正奇数）のいずれかを加える暗号化済み符号データ埋め込み手段と、前記埋め込み完了後の量子化係数をエントロピー圧縮し、さらにＪＰＥＧフォーマットに整形するＪＰＥＧ符号化手段とを備える。
【００２５】
前記電子透かし埋め込み検出装置において、前記量子化手段と前記符号化手段との間に、前記量子化手段にて量子化処理されたデータをエントロピー圧縮処理しさらにＪＰＥＧ形式のデータに整形するＪＰＥＧ形式整形手段と、前記ＪＰＥＧ形式のデータをデータ列整形しさらにエントロピー復号処理して離散コサイン変換ブロック係数値を得るデータ整形エントロピー復号手段とをさらに備えるとよい。
【００２６】
また、前記電子透かし埋め込み検出装置において、前記電子透かし検出手段は、ＪＰＥＧ符号化映像をＪＰＥＧ復号化工程におけるエントロピー復号までの処理によって離散コサイン変換ブロックの量子化係数までに変換する復号手段と、前記ＪＰＥＧ符号化映像の誤り検出符号データが埋め込まれた色成分を選択する色成分選択手段と、前記選択した色成分の離散コサイン変換ブロックを暗号化済み符号化データのｂｉｔ数と同じ個数ずつ離散コサイン変換ブロックを含むグループに分けるグループ分割手段と、前記分けられた各グループに属する離散コサイン変換ブロックの量子化係数から最大絶対値を選択する最大絶対値選択手段と、予め定められた乱数値と映像依存値に基づき、前記量子化係数の最大値のものを除いたものから１つの基準値を選択する基準値選択手段と、前記選択された最大値と基準値の差に前記映像依存値を加えた値が偶数なら０を奇数なら１をビットデータとして検出するビットデータ検出手段と、前記検出された各離散コサイン変換ブロックのビットデータ値（０ｏｒ１）を所定の暗号復号化の入力ｂｉｔとして対応付け暗号復号化を行う暗号復号化手段と、暗号復号化したデータに対し所定誤り検出復号化を行い誤りの有無を判断し、誤りが有る場合は誤りの発生した離散コサイン変換ブロックを含むグループを得る一方、誤り無しの場合は埋め込まれた電子透かしデータを得る誤り検出復号手段と、前記ＪＰＥＧ符号化映像をＪＰＥＧ復号して映像とする映像化手段と、前記復号された映像と共に前記誤りの有無と誤りの発生したグループに属する離散コサイン変換ブロックの位置を目立つように色を変えて表示させる重畳表示手段とを備える。
【００２７】
尚、本発明は前記電子透かし埋め込み検出装置を構成する各手段としてコンピュータを機能させるプログラムまたはこれを記録したコンピュータ読み取り可能な記録媒体の態様とすることもできる。
【発明の効果】
【００２８】
以上の発明によれば、電子透かしをＪＰＥＧ映像の量子化係数に埋め込むにあたり、値の最大な係数を選び、与える変分は高々Ｋのため、美観を損ねずに埋め込むことができる。
【００２９】
また、透かしが壊れていることを誤り検出符号により検出した場合、壊れた透かしデータが含まれる映像グループ（＝映像範囲）が改ざんされていることが分かるので、映像のどの場所が透かし埋め込み後に改ざんされたかどうかを知ることができる。
【００３０】
さらに、本発明は埋め込みデータを暗号化しており、かつ埋め込みアルゴリズムでも乱数を使って埋め込み係数の位置を決めているため、暗号鍵および乱数の初期値を知るものでなければ、本技術のアルゴリズムを熟知した者でも偽造することが難しい。このため、暗号鍵と乱数の初期値を秘密にしておけば、偽の映像を真正な映像と偽る攻撃を防ぐことができる。また、映像依存値の導入により、乱数により決まる埋め込み係数位置が画像の内容によっても変化するため、複数の埋め込み済み画像を解析して本技術の乱数生成パターンを推定し電子透かしを偽造しようとする攻撃者に対して乱数生成パターンを推定し難くする効果がある。
【００３１】
そして、電子透かしを複数の色成分に埋め込むことにより、同一の画像位置に複数の電子透かしが埋め込まれるようになるため、本発明の電子透かしを偽造しようとする攻撃者にとって偽造難易度が増す効果が得られる。
【００３２】
以上のように本発明によれば画質を劣化させずに改ざんに対する検出効果を高めた電子透かしを埋め込んで映像の改ざんを検出できる。
【図面の簡単な説明】
【００３３】
【図１】発明の実施形態に係る電子透かし埋め込み検出装置の電子透かし埋め込み手段の構成図。
【図２】発明の実施形態に係る電子透かし埋め込み検出装置の電子透かし検出手段の構成図。
【図３】発明の実施形態に係る電子透かし埋め込みのフローチャート。
【図４】離散コサイン変換ブロックのグループ分割のフローチャート。
【図５】各グループに属する離散コサイン変換ブロックへ暗号化符号データ埋め込みのフローチャート。
【図６】絶対値の最大値Ｍ１選択のフローチャート。
【図７】ｋ番目の離散コサイン変換ブロックの基準値Ｍ２選択のフローチャート。
【図８】埋め込みビットによる最大値Ｍ１調整のフローチャート。
【図９】各グループに属する離散コサイン変換ブロックから暗号化済み符号データ検出のフローチャート。
【図１０】離散コサイン変換ブロックグループ分け（対象ＶＧＡ画像）の一例。
【図１１】量子化係数の一例。
【図１２】逆ジグザグスキャンの一例。
【図１３】ラスタースキャンの一例。
【図１４】最大値を除いたラスタースキャンの一例。
【図１５】誤りが無い場合の表示例。
【図１６】改ざん箇所の表示例。
【図１７】埋め込みデータのフォーマットの一例。
【図１８】偶数行パリティビット付加の一例。
【図１９】発明の他の実施形態に係る電子透かし埋め込み検出装置の電子透かし埋め込み手段の構成図。
【図２０】発明の他の実施形態に係る電子透かし埋め込みのフローチャート。
【図２１】通常のＪＰＥＧ符号化とＪＰＥＧ復号化のフローチャート。
【発明を実施するための形態】
【００３４】
以下、図面を参照しながら本発明の実施の形態を説明するが、本発明は下記の実施形態例に限定されるものでない。
【００３５】
本発明の実施形態に係る電子透かし埋め込み検出装置は図１に示された電子透かし埋め込み手段１と図２に示された電子透かし検出手段３０とを備える。
【００３６】
図１に示された電子透かし埋め込み手段１において、映像入力手段２は改ざん検出用電子透かしデータが埋め込まれる埋め込み対象のデジタル映像を量子化手段３に入力する。
【００３７】
量子化手段３は映像入力手段２から入力されたデジタル映像を通常のＪＰＥＧ符号化工程におけるＹＣｂＣｒ変換処理、ダウンサンプリング処理、ＤＣＴ処理、ＤＣＴ係数量子化処理を行う。
【００３８】
電子透かしデータ入力手段４は前記入力された映像に埋め込む電子透かしデータを電子透かしデータ誤り訂正符号化手段５に入力する。
【００３９】
電子透かしデータ誤り訂正符号化手段５は前記入力された映像に埋め込む電子透かしデータにデータ誤り検出符号を付与して誤り検出符号データを作成する。
【００４０】
暗号化手段６は前記誤り検出符号データを暗号化して暗号化済み符号データを生成する。
【００４１】
色成分選択手段７は前記暗号化済み符号データを埋め込む色成分を選択する。
【００４２】
ＤＣＴブロックグループ分割手段８は前記選択した色成分のＤＣＴブロックを暗号化済み符号化データのｂｉｔ数と同じ個数ずつのグループに分ける。
【００４３】
絶対値選択手段９は前記各グループのＤＣＴブロックの量子化係数の中から量子化係数の最大絶対値を選択する。
【００４４】
基準値選択手段１０は乱数発生手段１１で得られた乱数値と映像依存値取得手段１２で取得された映像依存値とに基づき、前記量子化係数の最大絶対値を除いた量子化係数から一つの基準値を選択する。
【００４５】
暗号化済み符号データ埋め込み手段１３は前記暗号化済み符号データのｂｉｔ０を埋め込む離散コサイン変換ブロックの量子化係数の最大値と前記選択された基準値との差に前記映像依存値を加えた値が偶数になるように、ｂｉｔ１の埋め込みに対応する離散コサイン変換ブロックの量子化係数の最大値と基準値の差に前記映像依存値を加えた値が奇数になるように、前記量子化係数の最大絶対値に−Ｋ，０，Ｋ（Ｋは任意の正奇数）のいずれかを加える。
【００４６】
エントロピー圧縮手段１４は前記埋め込み完了後の量子化係数をエントロピー圧縮する。
【００４７】
ＪＦＩＦ形式整形手段１５は前記圧縮されたデータをさらにＪＰＥＧフォーマットに整形する。
【００４８】
一方、図２に示された電子透かし検出手段３０において、ＪＰＥＧ符号化映像データ入力手段３１はＪＰＥＧ符号化映像を復号手段３２に入力する。
【００４９】
復号手段３２は入力されたＪＰＥＧ符号化映像をＪＰＥＧ復号化工程におけるＪＦＩＦ形式からデータ形式への整形処理、さらにエントロピー復号までの処理を行ってＤＣＴブロックの量子化係数までに変換する。
【００５０】
色成分選択手段３３は前記ＪＰＥＧ符号化映像の誤り検出符号データが埋め込まれた色成分を選択する。
【００５１】
ＤＣＴブロックグループ分割手段３４は前記選択した色成分のＤＣＴブロックを暗号化済み符号化データのｂｉｔ数と同じ個数ずつ離散コサイン変換ブロックを含むグループに分ける。
【００５２】
最大絶対値選択手段３５は前記分けられた各グループに属する離散コサイン変換ブロックの量子化係数から最大絶対値を選択する。
【００５３】
基準値選択手段３６は、乱数発生手段３７で得られた乱数値と映像依存値取得手段３８で取得された映像依存値とに基づき前記量子化係数の最大値のものを除いたものから１つの基準値を選択する。
【００５４】
ビットデータ検出手段３９は、前記選択された最大絶対値と基準値の差に前記映像依存値を加えた値が偶数なら０を奇数なら１をビットデータとして検出する。
【００５５】
暗号復号化手段４０は、前記検出された各離散コサイン変換ブロックのビットデータ値（０ｏｒ１）を所定の暗号復号化の入力ｂｉｔとして対応付け暗号復号化を行う。
【００５６】
誤り検出復号手段４１は、前記暗号復号化したデータに対して所定誤り検出復号化を行い誤りの有無を判断し、誤りが有る場合は誤りの発生した離散コサイン変換ブロックを含むグループを得る一方、誤り無しの場合は埋め込まれた電子透かしデータを得る。
【００５７】
逆量子化手段４２は前記ＤＣＴブロックの量子化係数を逆量子化処理してＤＣＴ係数に戻す。逆ＤＣＴ手段４３はＤＣＴ係数の逆ＤＣＴ処理を行う。
【００５８】
色空間変換手段４４は前記逆ＤＣＴ処理によって得た映像を色変換処理する。
【００５９】
重畳表示手段４５は色変換処理された映像と共に前記誤りの有無と誤りの発生したグループに属するＤＣＴブロックの位置を目立つように色を変えて表示させるようにする。
【００６０】
先ず、電子透かし埋め込み手段１による改ざん検出用電子透かし埋め込みのステップ（Ｓ２１〜Ｓ２８）について図３〜図８のフローチャートを参照しながら説明する。
【００６１】
Ｓ２１：映像入力手段２は埋め込み対象のデジタル映像を量子化手段３に入力する（図１参照）。
【００６２】
Ｓ２２：量子化手段３は、前記入力された映像に対して通常のＪＰＥＧ符号化の工程（図２１（ａ）のＳ１２〜Ｓ１５）と同じ処理を進め、ＹＣｂＣｒ変換とダウンサンプリングとＤＣＴを経てＤＣＴ係数の量子化まで行なう。量子化後は各ＤＣＴブロック内では８×８＝６４個の量子化係数が存在する状態になる。図１１に量子化係数の例を示す。量子化係数はＹ，Ｃｂ，Ｃｒの色成分毎に存在する。前記ダウンサンプリングの際にはＹ（輝度）成分よりＣｂ，Ｃｒ（色）成分の方を粗くサンプリングするのが一般的であるので、ＤＣＴブロックの数はＹ成分が最も多くなる。Ｙ，Ｃｂ，Ｃｒいずれの場合であっても、ＤＣＴブロックの中には８×８の量子化係数が含まれることは変わりない。
【００６３】
Ｓ２３：前記入力された映像に対して埋め込む電子透かしデータが電子透かしデータ入力手段４によって電子透かしデータ誤り訂正符号化手段５に入力される。例えば電子透かしデータが４４８ｂｉｔであるとする。この４４８ｂｉｔというのは任意に決定可能であり、後述する誤り検出符号化により冗長化した結果のｂｉｔ数が、後述する分割された１グループ内のＤＣＴブロック数と同じになる条件下で任意に選び得る。
【００６４】
Ｓ２４：電子透かしデータ誤り訂正符号化手段５は誤り検出符号として例えば偶数行パリティ符号を選ぶ。４４８ｂｉｔを７列６４行に並べ、各行に偶数パリティｂｉｔを１個付加する。偶数パリティｂｉｔとはパリティｂｉｔを含めた各行の８個のデータｂｉｔの中で１となる個数が偶数個となるようにパリティｂｉｔの値を１か０に定める方法である。各行に偶数パリティｂｉｔを付加した結果、誤り検出符号化されたデータは６４個のパリティｂｉｔが加わり全体で４４８＋６４＝５１２ｂｉｔとなる（図１８）。誤り検出符号は偶数行パリティに限らずこれ以外例えばＢＣＨ誤り検出符号（非特許文献１）を使っても発明の本質は変わらない。
【００６５】
Ｓ２５：暗号化手段６は、誤り検出符号化された５１２ｂｉｔのデータを暗号化して、５１２ｂｉｔの暗号化済み符号データを生成する。暗号には例えばｃａｍｅｌｌｉａ暗号を用いる（非特許文献２）。Ｃａｍｅｌｌｉａは１２８ｂｉｔのブロック暗号であり、１２８ｂｉｔのデータの並びを別の１２８ｂｉｔのデータの並び（暗号化済み符号化データ）に変換する。変換するときには１２８／１９２／２５６ｂｉｔの暗号鍵を必要とする。暗号化済み符号化データを復号して元のデータ符号を得るには、暗号化時と同じ暗号鍵を使ってｃａｍｅｌｌｉａ復号処理を行う。Ｃａｍｅｌｌｉａは１２８ｂｉｔのブロック暗号であるので、５１２ｂｉｔの誤り検出符号を暗号化する場合は５１２／１２８＝４回の処理を必要とする。暗号化方法はｃａｍｅｌｌｉａに限らずこれ以外の方法を使っても発明の本質は変わらない。
【００６６】
Ｓ２６：色成分選択手段７は、透かしデータから生成した誤り検出符号データを埋め込む色成分をＹ，Ｃｂ，Ｃｒの中から任意に２つ以上選択する。本明細書ではＹとＣｂの２つを選んだ場合を用いて説明するが他の組み合わせでも処理は同じである。
【００６７】
Ｓ２７：ＤＣＴブロック分割手段８は、映像中のＤＣＴブロックのグループ分割を行う。
【００６８】
グループ分割の手順を図４のフローチャートに示す。前記２つの色成分をそれぞれ第１色成分、第２色成分とおく（Ｓ４１）。第１の色成分と第２の色成分のＤＣＴブロックをこの順番につなげて１列に並べる（Ｓ４２）。次にこの列の若い方から数えて暗号化済み符号化データのｂｉｔ数（上記例では５１２）ずつＤＣＴを取り出し１グループとする（Ｓ４３）。グループには先頭の５１２個を第１グループ、次の５１２個を第２グループと連続したグループ番号を付与する（Ｓ４４，Ｓ４５）。最後に５１２個に満たないＤＣＴブロックが残った場合、それらは無視してグループ分割には使わない（Ｓ４６）。グループ分けの様子を図１０に示した。
【００６９】
Ｓ２８：暗号化済み符号データ埋め込み手段１３は、基準値選択手段１０で取得された基準値と、映像依存値取得手段１２で取得された映像依存値とに基づき、各グループに含まれるＤＣＴブロックへ暗号化済み符号データを埋め込む。
【００７０】
図５を参照しながら暗号化済み符号データを埋め込みの具体的な手順（Ｓ５１〜Ｓ５７）について説明する。
【００７１】
暗号化済み符号データ埋め込み手段１３による各グループへの暗号化済み符号データ埋め込みは、グループ毎に独立して行なわれるが、埋め込み時に用いるＤＣＴブロックの通番ｋは全グループを通して附番する（Ｓ５２）。したがって、第１グループのときだけｋを値０に初期化する（Ｓ５１）。
【００７２】
量子化係数の絶対値の最大値Ｍ１は最大値選択手段９によって見出される（Ｓ５３）。図１１に示された事例では最大値選択手段９は６４個の量子化係数の中から絶対値最大値を見つけている。量子化係数は８×８の正方形に並んでおり、左上が直流成分であり右下に行くほど高周波成分を表す。絶対値最大値が複数個ある場合は次のようにして定める。このアルゴリズムをフローチャートにしたもの（Ｓ６１〜Ｓ６５）を図６に示す。
【００７３】
図６において、最初に最大値Ｍ１を０とした後（Ｓ６１）、逆ジグザグスキャンにより進み係数Ａを取り（Ｓ６２）、｜Ａ｜＞Ｍ１か否かを判定し（Ｓ６３）、｜Ａ｜＞Ｍ１である場合はＭ１＝｜Ａ｜とし（Ｓ６４）、以上のＳ６２〜Ｓ６４を、全ての量子化係数をスキャンし終わる（Ｓ６５）まで繰り返し実行する。
【００７４】
最大値が２個以上ある場合は、図１２に示す逆ジグザグスキャン（通常のＪＰＥＧのジグザグスキャンの逆順）の順序で最初に出現したものを最大値とする。同値のものがあった場合、逆ジグザグスキャンで先に出現したものを採用する理由は、透かし埋め込みに用いる量子化係数をなるべく高周波成分側に持って行き、目立ちにくくするためである。上記のように選んだ最大値をＭ１とする。
【００７５】
映像依存値Ｄは映像依存値取得手段１２によって次の様に定められる（Ｓ５４）。ｋ番目のＤＣＴブロックの映像依存値Ｄをｄ（ｋ）と表すとｄ（ｋ）は以下の式（１）で定義される。ｋは全ＤＣＴブロックの通番である。
【００７６】
【数１】
2010187131.tif 000003
【００７７】
本例ではハッシュ関数として例えばＳＨＡ−１を用いるとする（例えば非特許文献４）。ｅkはｋ番目のＤＣＴブロック中の量子化係数６４個を全て２進数で表し、ラスタースキャン（図１３）順に並べたビット列を示す。このとき用いる量子化係数は、後述する埋め込みｂｉｔによりＭ１を調整する手段にて調整済みの係数とする。Ｒは乱数発生手段１１で発生させた乱数をハッシュ関数にてハッシュ値に変換した値である。
【００７８】
基準値Ｍ２の選択（Ｓ５５）では、基準値選択手段１０が１ＤＣＴブロック内の量子化係数６４個の内、最大値Ｍ１を除いた６３個の中からランダムに選ぶ。基準値選択手段１０での基準値Ｍ２選択のフローチャートを図７に示した。基準値Ｍ２の選択ではＤＣＴ毎に前記フローチャートの処理を行う。基準値選択手段１０は乱数発生手段１１から乱数αを得る（Ｓ７１）。そして、この乱数αと映像依存値Ｄ（映像依存値取得手段１２が算出（Ｓ７２））とを用いて式（２）にてβを計算し（Ｓ７３）、ＤＣＴブロック内のＭ１を除いた６３個の係数をラスタースキャン順に数え（図１４）、β番目をＭ２とする（Ｓ７４）。
【００７９】
β＝（（α＋映像依存値Ｄ）ｍｏｄ  ６３）＋１…（２）
乱数発生手段１１は乱数の種（初期値）が同一ならば同じ乱数列が得られる方法、例えば線形合同法を用いる。線形合同法の内容は後述する発明の構成の例により詳細に説明する。乱数発生方法は線形合同法に限らず、乱数の種を決定すれば出力される乱数列が決定論的に決まるような他の方法を使っても発明の本質は変わらない。
【００８０】
暗号化済み符号データ埋め込み手段１３において、埋め込みｂｉｔにより最大値Ｍ１を調整するステップ（Ｓ５６）での埋め込みの方針は、データ１を埋め込む場合は最大値Ｍ１−基準値Ｍ２＋映像依存値Ｄ＝奇数となるように、データ０を埋め込む場合は最大値Ｍ１−基準値Ｍ２＋映像依存値Ｄ＝偶数となるように最大値Ｍ１を調整する。この調整は任意正奇数を減じるか、任意正奇数を加えるか、何もしないかの３つから選ぶ。任意正奇数は、より小さい値を使う方が埋め込み後の美観は有利となる。
【００８１】
この調整方法の具体的な手順を図８のフローチャートに示した。
【００８２】
例えば１を埋め込みたいとき、Ｍ１＝１５，Ｍ２＝１４，Ｄ＝６の場合はＭ１−Ｍ２＋Ｄ＝７で既に奇数であるから何もしない（Ｓ８１，Ｓ８２，Ｓ８４）。Ｍ１＝１５，Ｍ２＝１５，Ｄ＝６の場合はＭ１−Ｍ２＋Ｄ＝６で偶数であるからＭ１の正負を吟味し（Ｓ８１，Ｓ８２，Ｓ８３，Ｓ８５）、正であるからＭ１に例えば正奇数１を加えてＭ１＝１５＋１＝１６とする（Ｓ８６）。
【００８３】
他の例も示す。データ０を埋め込みたいとき、Ｍ１＝−１８，Ｍ２＝１１，Ｄ＝６の場合はＭ１−Ｍ２＋Ｄ＝−２３で奇数であるからＭ１の正負を吟味し（Ｓ８１，Ｓ８２，Ｓ８３，Ｓ８５）、負であるから例えば正奇数１を減じてＭ１＝−１８−１＝−１９とする（Ｓ８７）。Ｍ１＝−１８，Ｍ２＝１０，Ｄ＝６の場合はＭ１−Ｍ２＋Ｄ＝−２２で偶数であるから何もしない（Ｓ８１，Ｓ８２，Ｓ８３）。
【００８４】
第１グループ内の全ＤＣＴブロックについて暗号化済み符号データのｂｉｔを上記のように各々埋め込んだ後は、第２グループ以降最終グループまでについても第１グループと同様に暗号化済み符号データを埋め込む（Ｓ５７，Ｓ５２）。暗号化済み符号データは全てのグループで同じデータでも良いし、各グループで異なっても良い。暗号化済みデータが各グループで同じか異なるかはアプリケーションの都合により決めて良く、本発明の本質には影響しない。
【００８５】
Ｓ２９：全てのグループについて暗号化済み符号データｂｉｔの埋め込み（Ｓ２８）が終了したら、図２１（ａ）に示された通常のＪＰＥＧ符号化の工程と同様にエントロピー圧縮（Ｓ１６）と整形処理（Ｓ１７）が実行される。エントロピー圧縮はエントロピー圧縮手段１４によって実行される。次いで、ＪＦＩＦ形式への適合のための整形処理はデータ整形手段１５によって実行される。この整形処理で得られたＪＰＥＧ映像は図示省略の表示手段（ディスプレイ）を介して出力表示される。
【００８６】
次に、図２の電子透かし検出手段３０による電子透かし検出（改ざん検出を含む）のステップについて，図９を参照しながら説明する。
【００８７】
電子透かし検出手段３０では、予め取り決めとして埋め込みの際に使用した選択色成分、ブロック形状、ブロック数、誤り検出符号化方法と暗号化方法とその暗号鍵、乱数発生方法と乱数発生の初期値は検出側も同じ情報を図示省略した格納手段に保持している。
【００８８】
先ず、図２のＪＰＥＧ符号化映像データ入力手段３１によって入力されたデジタル映像データ（ＪＰＥＧ符号化映像）は、復号手段３２によって通常のＪＰＥＧ復号化工程であるデータ整形とエントロピー復号処理が実行されて、ＤＣＴブロックの量子化係数にまで変換される。次いで、図３を参照して説明した埋め込み時（Ｓ２１〜Ｓ２８）に用いたものと同じ色成分（Ｓ２６）の選択が色成分選択手段３３によって実行される。続いて、前記埋め込み時に用いたものと同じＤＣＴブロックのグループ分けがＤＣＴブロックグループ分割手段３４によって実行される（図１０参照）。
【００８９】
そして、各グループの各ＤＣＴブロックについて暗号化済み符号データ１ｏｒ０が図９に示したフローチャートの手順で検出される。
【００９０】
Ｓ１０１，Ｓ１０２：ビットデータ検出手段３９は、検出時に用いるＤＣＴブロックの通番ｋは全グループを通して附番する。したがって、第１グループのときだけｋを値０に初期化する。
【００９１】
Ｓ１０３：最大絶対値選択手段３５は６４個の量子化係数値を吟味して絶対値の最大値Ｍ１を決める。最大値Ｍ１を決める方法は前述の埋め込み時（図６参照）と全く同じである。
【００９２】
Ｓ１０４〜Ｓ１０６：基準値選択手段３６は基準値Ｍ２も前述の埋め込み時と全く同じ方法で決める（図７参照）。このとき用いる乱数発生手段３７の構成と初期値は前記埋め込み時と同じであり、映像依存値取得手段３８による映像依存値Ｄの定め方も前記埋め込み時と同じである。
【００９３】
Ｓ１０７：ビットデータ検出手段３９は、上記選んだ最大値Ｍ１と基準値Ｍ２を吟味し、最大値Ｍ１−基準値Ｍ２＋映像依存値Ｄが偶数ならば０が、最大値Ｍ１−基準値Ｍ２＋映像依存値Ｄが奇数なら１が埋め込まれていると判断する。
【００９４】
Ｓ１０２：ビットデータ検出手段３９は１グループ内の全てのＤＣＴブロックからｂｉｔ（１ｏｒ０）を検出する（本例では全部で５１２ｂｉｔ）。
【００９５】
そして、暗号復号化手段４０は前記検出されたビットデータに対し暗号の復号化を行う。復号時には埋め込み時と同じ暗号鍵を用いる。
【００９６】
次いで、誤り検出復号手段４１は得られた５１２ｂｉｔの復号化データ符号に対して誤り検出復号化処理を行う。その結果、誤りの有無が得られ、もし誤りがなければ４４８ｂｉｔの埋め込み透かしデータが得られ、誤りがあれば誤りを含むグループがどれであるかの情報が得られる。第１グループの改ざん検出後、第２から最終グループまで同じ手順にて改ざん検出を行う。
【００９７】
続いて、通常のＪＰＥＧ復号化の手順（図２１（ｂ）のＳ９４〜Ｓ９６）と同様に、逆量子化手段４２が各ＤＣＴブロックの量子化係数を逆量子化しＤＣＴ係数に戻し、逆ＤＣＴ手段４３がこのＤＣＴ係数に対し逆ＤＣＴ処理を行う。さらにこれに対して色空間変換手段４４が色空間変換を行い映像とする。
【００９８】
また、誤り検出復号手段４１にて得られた誤りの有無、誤りグループ、埋め込み透かしデータを用いて、以下のように改ざんの有無と改ざん場所が分かる。
【００９９】
全てのグループから誤りが検出されなかった場合は、その映像は透かし埋め込み後から改ざんされていないとみなす（図１５）。
【０１００】
誤りが検出されたグループ内の映像は原本とは異なっている。つまり改ざんされている。この場合グループを構成するＤＣＴブロックが占めるエリア内のどこかに改ざん可能性がある（図１６）。
【０１０１】
誤り発生箇所重畳表示手段４５は、誤り箇所すなわち改ざん箇所を表現する場合、図１６に示すように機能手段４２〜４４による処理を介してＪＰＥＧ復号化された映像に改ざんされたグループの位置をあらわす目印が重畳表示されるように図示省略された表示手段（ディスプレイ）に表示させる。これより、どこの位置が改ざんされたかが分かりやすい。
【０１０２】
以上説明した本発明では、上記の構成以外にも、幾つかの構成をとり得る。構成のバリエーションは、埋め込む電子透かしデータのｂｉｔ数の多寡、埋め込む対象の色成分の組み合わせ、誤り検出符号の種類、暗号化方法の種類、乱数発生方法の種類を変えることにより、多種多様な構成が得られる。
【０１０３】
１．埋め込み電子透かしデータｂｉｔ数
（１）誤り検出符号の面からは、誤り検出符号が構成できる条件で任意の値を取り得る。例えば最小としたいのなら、データ１ｂｉｔとパリティ１ｂｉｔとなる。最大値の方は映像の大きさで決まる。例えば６４０×４８０画素のＶＧＡ画像にてＹ成分とＣｂ成分を用いる場合は、Ｙ成分とＣｂ成分を合わせたＤＣＴ個数は７２００個であるから、この場合のデータｂｉｔ数の最大値は誤り検出符号を加えて７２００以下ということになる。
【０１０４】
（２）暗号化方式の面からは、暗号化方式の選び方でｂｉｔ数が制約を受ける。詳細な説明で述べたｃａｍｅｌｌｉａ暗号はブロック暗号と呼ばれ、１２８ｂｉｔ長を１ブロックとしたデータを、１２８ｂｉｔの暗号化された符号データに変換する。この場合誤り検出符号を加えたｂｉｔ数はブロック長１２８の倍数であることが望ましい。必須ではなく望ましいとしたのは、１２８の倍数でなくても、ｂｉｔ数が足りない分は０か１のデータを付加すること（パディング）により１２８の倍数に出来るからである。しかしながら、パディングにより無意味なデータを付加するよりは、何かしら意味のあるデータを付加した方がアプリケーション面では有利と言える。
【０１０５】
（３）埋め込むデータを何にするかはアプリケーションに依存するが、例えば映像を証拠に利用する場合は、カメラ固有ＩＤ、撮影時刻（あればカメラ内時計より取得する）、撮影場所（ＧＰＳ等により取得する）を埋め込んでも良い。また、改ざん場所を特定するためには、映像をグループ分けしたそれぞれのグループに０あるいは１から通し番号を振り、それを埋め込んでも良い。埋め込むデータフォーマットの例を図１７に示す。埋め込むデータとフォーマットはこの例に限らずアプリケーションの要求により任意に設計し得る。
【０１０６】
２．埋め込み対象色成分選択の組み合わせ
（１）詳細な説明で述べたように、Ｙ，Ｃｂ，Ｃｒの中から任意の２つ以上を選択する。具体的にはＹとＣｂ，ＹとＣｒ，ＣｂとＣｒ，ＹとＣｂとＣｒの４通りの選び方がある。
【０１０７】
３．誤り検出符号の種類
（１）行パリティ。最も簡単な誤り検出符号であり、元ｂｉｔデータを行列の形に並べ、各行にパリティｂｉｔを１ｂｉｔ付加したものである（図１８参照）。図１８に示された事例では、埋め込みデータを６４行×７行（＝４４８）に並べ、各行の末尾に偶数パリティビットを付加する。偶数パリティとは、パリティビットも含めた各行のビット並び中の１の数が偶数になるように、パリティビットを０か１に定める方法である。偶数パリティならば、パリティｂｉｔも含めた各行の１の数が偶数個になるようにパリティｂｉｔを選ぶ。奇数パリティであれば、１の数が奇数個になるようにパリティｂｉｔを選ぶ。パリティｂｉｔを付加した分、全体のｂｉｔ数が増える。詳細な説明では元データ４４８ｂｉｔを６４行に並べていたため、総ｂｉｔは６４ｂｉｔ増えて４４８＋６４＝５１２ｂｉｔとなる。行パリティと似たものに列パリティがある。パリティの付加を列単位に行うことのみ異なり、他は行パリティと同じである。
【０１０８】
（２）行列パリティ。元ｂｉｔデータを行列の形に並べ、各行と各列にパリティｂｉｔを付加したものである。垂直水平パリティとも呼ばれる。行パリティ、列パリティ単独よりも付加するパリティｂｉｔは増えるが、誤り検出の精度はより高くなる。
【０１０９】
（３）ハミング符号。詳細は非特許文献１の第４７〜５３頁を参照のこと。ハミング符号では元データｂｉｔをｋ個、検査ｂｉｔ（冗長ｂｉｔ）をｍ個とすると、２m−ｍ≧ｋ＋１の関係となる。例えば総ｂｉｔ数が５００ｂｉｔ程度と仮定するとｍ＝９、ｋ＝５０２の組み合わせがある。つまり、元データが５０２ｂｉｔで、検査ｂｉｔが９ｂｉｔ、総ｂｉｔが５１１ｂｉｔである。なお、ハミング符号は誤り検出だけでなく誤り訂正も可能であるが、本発明においては、誤り訂正機能は使用しない。
【０１１０】
（４）巡回符号（ＣＲＣ符号）。詳細は非特許文献１の第５４〜６５頁を参照のこと。巡回符号はハードウェア化しやすいという特徴を持つ。巡回符号も誤り検出だけでなく誤り訂正が可能であるが、本発明では誤り訂正機能は使用しない。
【０１１１】
（５）ＢＣＨ符号。詳細は非特許文献１の第６６〜７５頁を参照のこと。ＢＣＨ符号は巡回符号の一種でランダム誤りの訂正能力が高い。しかしながら、本発明では誤り訂正機能は使用しないため、ＢＣＨ符号を採用するのは、既にＢＣＨ符号化モジュールが存在しており、それを流用することでコスト的な利点があるときに限られる。
【０１１２】
（６）ＲＳ符号（リードソロモン符号）。詳細は非特許文献１の７６〜８１頁を参照のこと。ＲＳ符号は巡回符号の一種でバースト誤りの訂正能力が高い。しかしながら、本発明では誤り訂正機能は使用しないため、ＲＳ符号を採用するのは、既にＲＳ符号化モジュールが存在しており、それを流用することでコスト的な利点があるときに限られる。
【０１１３】
４．暗号化方法の種類
（１）ｃａｍｅｌｌｉａ暗号。この詳細は非特許文献２を参照のこと。Ｃａｍｅｌｌｉａ暗号は共通鍵方式１２８ｂｉｔブロック暗号であり、暗号化と復号化には共通の鍵を用いる。１２８ｂｉｔブロック暗号とは１２８ｂｉｔの元データを１２８ｂｉｔの暗号化データに暗号化及び１２８ｂｉｔの暗号化データを１２８ｂｉｔの元データに復号化できることを示す。暗号化と復号化の際には共通鍵が必要である。共通鍵は１２８ｂｉｔ長、１９６ｂｉｔ長、２５６ｂｉｔ長のいずれかを使うことができる。鍵長が長いほど暗号強度（暗号の破られ難さ）が高い。
【０１１４】
（２）ＡＥＳ暗号。詳細は非特許文献３を参照のこと。ＡＥＳ暗号は共通鍵方式１２８ｂｉｔブロック暗号であり、暗号化と復号化には共通の鍵を用いる。１２８ｂｉｔブロック暗号とは１２８ｂｉｔの元データを１２８ｂｉｔの暗号化データに暗号化及び１２８ｂｉｔの暗号化データを１２８ｂｉｔの元データに復号化できることを示す。暗号化と復号化の際には共通鍵が必要である。共通鍵は１２８ｂｉｔ長、１９６ｂｉｔ長、２５６ｂｉｔ長のいずれかを使うことができる。鍵長が長いほど暗号強度（暗号の破られ難さ）が高い。
【０１１５】
５．乱数発生方法
（１）線形合同法。擬似乱数列を生成するアルゴリズムである。アルゴリズムは漸化式Ｘｎ＋１＝（Ａ＊Ｘｎ＋Ｂ）ｍｏｄ  Ｍにて与えられる。Ａ，Ｂ，Ｍは定数でＭ＞Ａ，Ｍ＞Ｂ，Ａ＞０，Ｂ＞０である。Ｘ0が乱数の種であり、これを決めると以降のＸ1，Ｘ2，．．．が再現可能な形で得られる。本発明ではＭ，Ａ，Ｂは予め適当な値を決めておき、その情報を埋め込み側と検出側で共有する。乱数の種Ｘ0も適当な値を決めておいて、埋め込み側と検出側で共有しておけば良いが、本発明では暗号鍵に使った値をそのまま用いるのが簡単である。
【０１１６】
（２）混合合同法。擬似乱数列を生成するアルゴリズムである。本アルゴリズムでは整数の初期値ａと値ｂ，ｃを決定し、ａｂ＋ｃ＝ａ’の式に代入する。求まったａ’の中央からａと同じ桁だけ数を抜き出し乱数を得る。その後、再び上記の式のａに得られた乱数を代入する作業を繰り返して擬似乱数列を得る。初期値ａが乱数の種となる。乱数の種は適当な値を決めておいて、埋め込み側と検出側で共有しておけば良いが、本発明では暗号鍵に使った値をそのまま用いるのが簡単である。
【０１１７】
６．本発明の構成要素のバリエーション
デジタルカメラの中には光学部と電子回路部を一体化したカメラモジュールを使用して製造しているものがあり、光学部で受光した映像はカメラモジュールからＪＰＥＧフォーマットデータとして出力される。この場合、ＪＰＥＧ符号化途中のＤＣＴ係数を外へ取り出すことはできない。
【０１１８】
そこで、図１９に示された本発明の他の実施形態に係る電子透かし埋め込み手段２０は、カメラモジュールを使用しているデジタルカメラに対して本発明に係る電子透かし埋め込みの方法が適用される場合の電子透かし埋め込み方法の態様である。
【０１１９】
カメラモジュールからＤＣＴ係数を取り出せないため、電子透かし埋め込み手段２０はＪＰＥＧフォーマットデータを受け取り、それをＪＦＩＦ形式からのデータ整形とエントロピー復号を行ってＤＣＴブロック係数を得る。この構成変更により、電子透かし埋め込み手段１と同じようにＤＣＴブロック係数を変更することが可能となる。
【０１２０】
電子透かし埋め込み手段２０は、図１９に示されたように、量子化手段３の代わりにＪＦＩＦ形式整形手段２１とデータ整形エントロピー復号手段２２を備えていること以外は、図１の電子透かし埋め込み手段１と同じ構成となっている。
【０１２１】
電子透かし埋め込み手段２０による電子透かし埋め込みの手順（Ｓ２１，Ｓ３１，Ｓ３２，Ｓ２３〜Ｓ２９）を説明したフローチャートを図２０に示した。
【０１２２】
Ｓ３１：ＪＦＩＦ形式整形手段２１は、映像入力手段２から入力（Ｓ２１）された埋め込み対象のデジタル映像に対して、通常のＪＰＥＧ符号化工程におけるＹＣｂＣｒ変換処理、ダウンサンプリング処理、ＤＣＴ処理、ＤＣＴ係数量子化処理、エントロピー圧縮処理およびＪＦＩＦ形式への整形処理（すなわち図２１（ａ）のステップＳ１２〜Ｓ１７の処理）を行う。
【０１２３】
Ｓ３２：データ整形エントロピー復号手段２２は、ＪＦＩＦ形式整形手段２１からＪＰＥＧ形式に整形されたデータを受け取り、これをＪＦＩＦ形式からデータ列へ整形処理し、さらにエントロピー復号処理してＤＣＴブロック係数を得る。
【０１２４】
Ｓ２３〜Ｓ２９：前記得られたＤＣＴブロック係数は図１９に示された機能手段４〜１５での電子透かし埋め込みの過程に供される。図２０に示された本実施形態に係る電子透かし埋め込みの過程Ｓ２３〜Ｓ２９では図３を参照しながら説明した電子透かし埋め込みの過程Ｓ２３〜Ｓ２９と同じ処理が実行される。
【０１２５】
以上の発明を構成する電子透かし埋め込み手段１，２０と電子透かし検出手段３０はコンピュータのハードウェアとプログラムの協働によって実現できる。また、電子透かし埋め込みの際に使用した選択色成分、ブロック形状、ブロック数、誤り検出符号化方法と暗号化方法とその暗号鍵、乱数発生方法と乱数発生の初期値等はハードディスク装置等の格納手段に格納される。前記機能手段１，２０，３０としてコンピュータを機能させるプログラムは既知の記録媒体（例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＭＯ、ＨＤＤ、Ｂｌｕ−ｒａｙ  Ｄｉｓｋ（登録商標）等）に格納してまたはネットワークを通じて提供できる。
【０１２６】
以上説明したように本発明の電子透かし埋め込み検出装置によれば、電子透かしをＪＰＥＧ映像の量子化係数に埋め込むにあたり、値の最大な係数を選び、与える変分は高々Ｋのため、美観を損ねずに埋め込むことができる。
【０１２７】
また、透かしが壊れていることを誤り検出符号により検出した場合、壊れた透かしデータが含まれる映像グループ（＝映像範囲）が改ざんされていることが分かるので、映像のどの場所が透かし埋め込み後に改ざんされたかどうかを知ることができる。
【０１２８】
さらに、本発明は埋め込みデータを暗号化しており、かつ埋め込みアルゴリズムでも乱数を使って埋め込み係数の位置を決めているため、暗号鍵および乱数の初期値を知るものでなければ、本技術のアルゴリズムを熟知した者でも偽造することが難しい。このため、暗号鍵と乱数の初期値を秘密にしておけば、偽の映像を真正な映像と偽る攻撃を防ぐことができる。また、映像依存値の導入により、乱数により決まる埋め込み係数位置が画像の内容によっても変化するため、複数の埋め込み済み画像を解析して本技術の乱数生成パターンを推定し電子透かしを偽造しようとする攻撃者に対して乱数生成パターンを推定し難くする効果が生じる。そして、電子透かしを複数の色成分に埋め込むことにより、同一の画像位置に複数の電子透かしが埋め込まれるようになるため、本発明の電子透かしを偽造しようとする攻撃者にとって偽造難易度が増す効果が得られる。なぜなら、複数の色成分の電子透かしを両方とも矛盾のないように偽造しなくてはならないからである。
【符号の説明】
【０１２９】
１，２０…電子透かし埋め込み手段
２…映像入力手段、３…量子化手段、４…電子透かしデータ入力手段、５…電子透かしデータ誤り訂正符号化手段、６…暗号化手段、７…色成分選択手段、８…ＤＣＴブロックグループ分割手段、９…絶対値選択手段、１０…基準値選択手段、１１…乱数発生手段、１２…映像依存値取得手段、１３…暗号化済み符号データ埋め込み手段、１４…エントロピー圧縮手段、１５…ＪＦＩＦ形式整形手段
２１…ＪＦＩＦ形式整形手段、２２…データ整形エントロピー復号手段
３０…電子透かし検出手段
３１…ＪＰＥＧ符号化映像データ入力手段、３２…復号手段、３３…色成分選択手段、３４…ＤＣＴブロックグループ分割手段、３５…最大絶対値選択手段、３６…基準値選択手段、３７…乱数発生手段、３８…映像依存値取得手段、３９…ビットデータ検出手段、４０…暗号復号化手段、４１…誤り検出復号手段、４２…逆量子化手段、４３…逆ＤＣＴ手段、４４…色空間変換手段、４５…重畳表示手段
【図１】
2010187131.tif 000004
【図２】
2010187131.tif 000005
【図３】
2010187131.tif 000006
【図４】
2010187131.tif 000007
【図５】
2010187131.tif 000008
【図６】
2010187131.tif 000009
【図７】
2010187131.tif 000010
【図８】
2010187131.tif 000011
【図９】
2010187131.tif 000012
【図１０】
2010187131.tif 000013
【図１１】
2010187131.tif 000014
【図１２】
2010187131.tif 000015
【図１３】
2010187131.tif 000016
【図１４】
2010187131.tif 000017
【図１５】
2010187131.tif 000018
【図１６】
2010187131.tif 000019
【図１７】
2010187131.tif 000020
【図１８】
2010187131.tif 000021
【図１９】
2010187131.tif 000022
【図２０】
2010187131.tif 000023
【図２１】
2010187131.tif 000024