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