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