JP2009124300A - 透かし埋め込み付きjpeg符号化装置,透かし埋め込み付きjpeg符号化方法,透かし埋め込み付きjpeg符号化プログラム及びそのプログラムを記録した記録媒体、その透かし埋め込み付きjpeg画像データに対する改ざん検出装置,透かし埋め込み付きjpeg画像データに対する改ざん検出方法,透かし埋め込み付きjpeg画像データに対する改ざん検出プログラム及びそのプログラムを記録した記録媒体 - Google Patents
透かし埋め込み付きjpeg符号化装置,透かし埋め込み付きjpeg符号化方法,透かし埋め込み付きjpeg符号化プログラム及びそのプログラムを記録した記録媒体、その透かし埋め込み付きjpeg画像データに対する改ざん検出装置,透かし埋め込み付きjpeg画像データに対する改ざん検出方法,透かし埋め込み付きjpeg画像データに対する改ざん検出プログラム及びそのプログラムを記録した記録媒体 Download PDFInfo
- Publication number
- JP2009124300A JP2009124300A JP2007294183A JP2007294183A JP2009124300A JP 2009124300 A JP2009124300 A JP 2009124300A JP 2007294183 A JP2007294183 A JP 2007294183A JP 2007294183 A JP2007294183 A JP 2007294183A JP 2009124300 A JP2009124300 A JP 2009124300A
- Authority
- JP
- Japan
- Prior art keywords
- value
- error detection
- data
- jpeg
- watermark
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
【課題】電子透かしデータの埋め込みによる画質劣化を小さくする透かし埋め込み付きJPEG画像データを出力し、その画像データに対する改ざんを検出する。
【解決手段】JPEG符号化方法における量子化後に、電子透かしデータに対し、所定の誤り検出符号を使って符号化処理を行い、誤り検出符号データを生成する(S307)。その誤り検出符号データを埋め込む画像コンポーネントを選択する(S308)。選択した画像コンポーネントに含まれるDCTブロックを、1グループに含まれるDCTブロック数が、誤り検出符号化後のビット数と同じ数になるようにグループ分けを行う(S309)。各DCTブロックに対し、量子化係数の部分集合に基づいて誤り検出符号データを生成し埋め込む(S310)。そして、エントロピー圧縮以降の処理を行い、JPEG画像データを出力する。さらに、そのJPEG画像データに対し、誤り検出処理を行う。
【選択図】図1
【解決手段】JPEG符号化方法における量子化後に、電子透かしデータに対し、所定の誤り検出符号を使って符号化処理を行い、誤り検出符号データを生成する(S307)。その誤り検出符号データを埋め込む画像コンポーネントを選択する(S308)。選択した画像コンポーネントに含まれるDCTブロックを、1グループに含まれるDCTブロック数が、誤り検出符号化後のビット数と同じ数になるようにグループ分けを行う(S309)。各DCTブロックに対し、量子化係数の部分集合に基づいて誤り検出符号データを生成し埋め込む(S310)。そして、エントロピー圧縮以降の処理を行い、JPEG画像データを出力する。さらに、そのJPEG画像データに対し、誤り検出処理を行う。
【選択図】図1
Description
本発明は、デジタル画像の改ざんを検出するための電子透かし技術に関するものである。
近年、デジタルカメラやカメラ付き携帯電話機の普及によって、誰もが手軽にデジタル写真画像を撮影できるようになった。デジタルカメラやカメラ付き携帯電話機によるデジタル画像データの保持方式(以下、単に画像保持方式という)は、その圧縮率の高さと画質のトレードオフ性が良好であるため、JPEG(Joint Photographic Experts Group)符号化形式をデファクトスタンダードとしている。一部の機種では、JPEG2000符号化や非圧縮画像で保持できる画像保持方式を採用のものも存在する。しかし、最も普及している画像保持方式は、JPEG符号化方式である。
例えば、図14(a)が通常のJPEG符号化の手順(S101〜S107)を示すフローチャート、図14(b)がJPEG復号化の手順(S201〜S206)を示すフローチャートである。なお、これらの手順は、一般的な手順であるため、説明を省略する。
デジタルカメラ(特に、カメラ付き携帯電話機)は手軽に撮影可能なため、このデジタルカメラを用いて撮影したデジタル画像データを交通事故の証拠としたり、建築現場での工程証明としたり、ゴミ処理場での正しく処理した証明としたりしたいというニーズが知られている。
しかしながら、デジタル画像データは複製や編集が容易であるという特徴を有するために、デジタル画像データに対する改ざんをしていないことを証明することは困難である。例えば、デジタル画像データは、法律上では参考証拠に留まっており、決定的な証拠にはなり得ないという問題も知られている。
デジタル画像データの証拠性を高めるために、デジタル画像データに電子透かしを付加し、電子透かしが壊れずに入っているか否かによって、デジタル画像データの信憑性を高める電子透かし技術(例えば、非特許文献1参照)が提案されている。
特許庁、"その他参考情報 JPEG"、[online]、平成15(2003)年3月28日、特許庁、[平成19(2007)年10月11日検索]、インターネット<URL:http://www.jpo.go.jp/shiryou/s_sonota/hyoujun_gijutsu/denshi_sukashi/1_a_4_1.htm>。
特許庁、"その他参考情報 JPEG"、[online]、平成15(2003)年3月28日、特許庁、[平成19(2007)年10月11日検索]、インターネット<URL:http://www.jpo.go.jp/shiryou/s_sonota/hyoujun_gijutsu/denshi_sukashi/1_a_4_1.htm>。
しかしながら、上述の電子透かし技術は、量子化係数のゼロラン部直前に値の大きな電子透かしデータ(例えば、値が1より大きい(>1)電子透かしデータ)を埋め込むため、透かし埋め込みによる画質劣化が大きいという問題があった。
本発明は、前記課題に基づいてなされたものであって、電子透かしデータの埋め込みによる画質劣化を小さくする透かし埋め込み付きJPEG画像データを出力する透かし埋め込み付きJPEG符号化装置,透かし埋め込み付きJPEG符号化方法,透かし埋め込み付きJPEG符号化プログラム及びそのプログラムを記録した記録媒体、その透かし埋め込み付きJPEG画像データに対する改ざん検出装置,透かし埋め込み付きJPEG画像データに対する改ざん検出方法,透かし埋め込み付きJPEG画像データに対する改ざん検出プログラム及びそのプログラムを記録した記録媒体を提供することにある。
本発明は、前記課題の解決を図るための電子透かし埋め込み原理を以下に説明する。
デジタル画像データに対する基本的な電子透かし埋め込み方法は、デジタル画像データを8×8サンプリング画素のブロック(DCT(Discrete Cosine Transform)ブロックと呼ぶ)に分けて各々のブロックに1ビットを割り当てて電子透かしデータを符号化したビットを埋め込む方法である。
電子透かしデータのビットは直接DCTブロックへは対応させずに、一度誤り検出符号化して冗長性を持たせてから対応させる。
デジタル画像データに含まれるDCTブロックの総数は一般に大きい(例えば、VGA(Video Graphics Array)画像の輝度成分で4800個)ため、DCTブロックをグループに分けて1グループ中で独立に誤り検出符号化する。
DCTブロック内の量子化係数の変調方法では、量子化係数の絶対値の最大値に−Kあるいは0あるいはK(なお、Kは任意の正奇数)を加える操作によって、次点値との差分の偶奇を調整する。なお、Kの絶対値は小さい方が良い。
埋め込み位置の空間周波数を選ぶため、電子透かし埋め込み時に、DCTブロック内の量子化係数から埋め込む所定の部分集合を抜き出す処理を行っている。なお、美観に影響を与えず、かつ改ざんを効率良く検出するためにはDC(Direct Current)成分を除く低中周波数部分を選ぶと有利である。
前記課題の解決を図るために、請求項1記載の発明は、記憶部と、入力部と、該記憶部からデジタル画像データを入力部を使って入力する画像入力手段と、YCbCr変換手段と、ダウンサンプリング手段と、DCT(Discrete Cosine Transform)手段と、量子化手段と、エントロピー圧縮手段と、JFIF(JPEG File Interchange Format)形式へ整形する整形手段と、を備え、該デジタル画像データに対し、該YCbCr変換手段と、該ダウンサンプリング手段と、該DCT手段と、該量子化手段と、を使って、該デジタル画像データを量子化し、DCTブロックに含まれる量子化係数を取得し、JPEG(Joint Photographic Experts Group)符号化する透かし埋め込み付きJPEG符号化装置であって、前記記憶部から電子透かしデータを入力部を使って入力する透かしデータ入力手段と、入力された電子透かしデータに対し、所定の誤り検出符号を使って符号化処理を行い、誤り検出符号データを生成する透かしデータ誤り検出符号化手段と、 生成された誤り検出符号データを埋め込む画像コンポーネントをY成分,Cb成分,Cr成分の中から選択する画像コンポーネント選択手段と、前記選択した画像コンポーネントに含まれるDCTブロックを、1グループに含まれるDCTブロック数が、誤り検出符号化後のビット数と同じ数になるようにグループ分けを行うDCTブロックグループ分割手段と、各グループに含まれるDCTブロックに対し、前記量子化係数の低中周波数成分である部分集合に基づいて誤り検出符号データを生成し埋め込む誤り検出符号データ埋め込み手段と、を備えることを特徴とする。
請求項2記載の発明は、請求項1に記載の発明において、前記誤り検出符号データ埋め込み手段が、前記量子化係数から低中周波数成分を選び出すため、左上頂点からの距離を横方向Xマス、縦方向Yマスとして条件「α<X+Y<β(α,βは閾値)」を満たす台形状の部分集合を選択する手段と、前記台形状の部分集合中の値を吟味して絶対値の最大値と次点の値である次点値を特定する絶対値の最大値と次点値選択手段と、前記誤り検出符号データを構成する各ビットと次点値とに基づいて前記絶対値の最大値を調整する最大値調整手段と、を備えることを特徴とする。
請求項3記載の発明は、請求項2に記載の発明において、前記絶対値の最大値と次点値選択手段が、前記絶対値の最大値が複数個ある場合に、逆ジグザグスキャンの順序で、最初に現れたものを最大値とし、次に現れたものを次点値とし、該絶対値の最大値が1個で次点値が2個以上ある場合は、逆ジグザグスキャンの順序で、2個以上の次点値のうち最初のものを採用する手段、を備えることを特徴とする。
請求項4記載の発明は、請求項2また3に記載の発明において、前記最大値調整手段が、前記誤り検出符号データにおけるビット値「1」を埋め込む場合は、絶対値の最大値から次点値を減じた値が奇数になるように、該誤り検出符号データにおけるビット値「0」を埋め込む場合は、絶対値の最大値から次点値を減じた値が偶数になるように、該絶対値の最大値に対し、任意正奇数を減算するか、任意正奇数を加算するか、何もしないかの3つの演算処理から選択する手段、を備えることを特徴とする。
請求項5記載の発明は、記憶部と、入力部と、該記憶部から請求項1乃至4のいずれかに記載の透かし埋め込み付きJPEG符号化装置によって、符号化されたJPEG画像データを入力部を使って入力する画像入力手段と、JFIF形式からデータ列へ整形する整形手段と、エントロピー復号手段と、逆量子化手段と、逆DCT手段と、色空間変換手段と、を備え、該JPEG画像データに対し、JFIF形式からデータ列へ整形する整形手段と、エントロピー復号手段と、を使って、該JPEG画像データに応じたDCTブロックの量子化係数を取得し、復号する装置に使用する透かし埋め込み付きJPEG画像データに対する改ざん検出装置であって、前記JPEG画像データの画像コンポーネントをY成分,Cb成分,Cr成分の中から選択する画像コンポーネント選択手段と、前記選択した画像コンポーネントに含まれるDCTブロックを、1グループに含まれるDCTブロック数が、誤り検出符号化後のビット数と同じ数になるようにグループ分けを行うDCTブロックグループ分割手段と、前記各グループの各DCTブロックについて、誤り検出対象データにおけるビット値「1」もしくは「0」を検出し、誤り検出対象データを出力する誤り検出対象データ検出手段と、前記出力された誤り検出対象データに対し、請求項1乃至4に記載の透かし埋め込み付きJPEG符号化装置で用いた所定の誤り検出符号に基づく誤り検出復号化処理を行い、その処理結果として、誤りの有無を取得し、誤りが無ければ、予め埋め込まれた埋め込み透かしデータを取得し、誤りが有れば、該誤りを含むグループを特定する誤り検出復号手段と、を備えることを特徴とする。
請求項6記載の発明は、請求項5に記載の発明において、前記誤り検出対象データ検出手段が、前記量子化係数から低中周波数成分を選び出すため、左上頂点からの距離を横方向Xマス、縦方向Yマスとして条件「α<X+Y<β(α,βは閾値)」を満たす台形状の部分集合を選択する手段と、前記台形状の部分集合中の値を吟味して絶対値の最大値と次点の値である次点値を特定する絶対値の最大値と次点値選択手段と、前記絶対値の最大値から次点値を減算した値が偶数か奇数かをチェックし、該値が偶数であった場合、誤り検出対象データにおけるビット値「0」を出力し、該値が奇数であった場合、誤り検出符号データにおけるビット値「1」を出力する手段と、を備えることを特徴とする。
請求項7記載の発明は、請求項6に記載の発明において、前記絶対値の最大値と次点値選択手段が、前記絶対値の最大値が複数個ある場合に、逆ジグザグスキャンの順序で、最初に現れたものを最大値とし、次に現れたものを次点値とし、該絶対値の最大値が1個で次点値が2個以上ある場合は、逆ジグザグスキャンの順序で、2個以上の次点値のうち最初のものを採用する手段、を備えることを特徴とする。
請求項8記載の発明は、記憶部と、入力部と、該記憶部からデジタル画像データを入力部を使って入力する画像入力手段と、YCbCr変換手段と、ダウンサンプリング手段と、DCT手段と、量子化手段と、エントロピー圧縮手段と、JFIF形式へ整形する整形手段と、を備え、該デジタル画像データに対し、該YCbCr変換手段と、該ダウンサンプリング手段と、該DCT手段と、該量子化手段と、を使って、該デジタル画像データを量子化し、DCTブロックに含まれる量子化係数を取得し、JPEG符号化する装置に使用する透かし埋め込み付きJPEG符号化方法であって、前記記憶部から電子透かしデータを入力部を使って入力する透かしデータ入力ステップと、入力された電子透かしデータに対し、所定の誤り検出符号を使って符号化処理を行い、誤り検出符号データを生成する透かしデータ誤り検出符号化ステップと、生成された誤り検出符号データを埋め込む画像コンポーネントをY成分,Cb成分,Cr成分の中から選択する画像コンポーネント選択ステップと、前記選択した画像コンポーネントに含まれるDCTブロックを、1グループに含まれるDCTブロック数が、誤り検出符号化後のビット数と同じ数になるようにグループ分けを行うDCTブロックグループ分割ステップと、各グループに含まれるDCTブロックに対し、前記量子化係数の低中周波数成分である部分集合に基づいて誤り検出符号データを生成し埋め込む誤り検出符号データ埋め込みステップと、を有することを特徴とする。
請求項9記載の発明は、請求項8に記載の発明において、前記誤り検出符号データ埋め込みステップが、前記量子化係数から低中周波数成分を選び出すため、左上頂点からの距離を横方向Xマス、縦方向Yマスとして条件「α<X+Y<β(α,βは閾値)」を満たす台形状の部分集合を選択するステップと、前記台形状の部分集合中の値を吟味して絶対値の最大値と次点の値である次点値を特定する絶対値の最大値と次点値選択ステップと、前記誤り検出符号データを構成する各ビットと次点値とに基づいて前記絶対値の最大値を調整する最大値調整ステップと、を有することを特徴とする。
請求項10記載の発明は、請求項9に記載の発明において、前記絶対値の最大値と次点値選択ステップが、前記絶対値の最大値が複数個ある場合に、逆ジグザグスキャンの順序で、最初に現れたものを最大値とし、次に現れたものを次点値とし、該絶対値の最大値が1個で次点値が2個以上ある場合は、逆ジグザグスキャンの順序で、2個以上の次点値のうち最初のものを採用するステップ、を有することを特徴とする。
請求項11記載の発明は、請求項9また10に記載の発明において、前記最大値調整ステップが、前記誤り検出符号データにおけるビット値「1」を埋め込む場合は、絶対値の最大値から次点値を減じた値が奇数になるように、該誤り検出符号データにおけるビット値「0」を埋め込む場合は、絶対値の最大値から次点値を減じた値が偶数になるように、該絶対値の最大値に対し、任意正奇数を減算するか、任意正奇数を加算するか、何もしないかの3つの演算処理から選択するステップ、を有することを特徴とする。
請求項12記載の発明は、記憶部と、入力部と、該記憶部から請求項1乃至4のいずれかに記載の透かし埋め込み付きJPEG符号化装置によって、符号化されたJPEG画像データを入力部を使って入力する画像入力手段と、JFIF形式からデータ列へ整形する整形手段と、エントロピー復号手段と、逆量子化手段と、逆DCT手段と、色空間変換手段と、を備え、該JPEG画像データに対し、JFIF形式からデータ列へ整形する整形手段と、エントロピー復号手段と、を使って、該JPEG画像データに応じたDCTブロックの量子化係数を取得し、復号する装置に使用する透かし埋め込み付きJPEG画像データに対する改ざん検出方法であって、前記JPEG画像データの画像コンポーネントをY成分,Cb成分,Cr成分の中から選択する画像コンポーネント選択ステップと、前記選択した画像コンポーネントに含まれるDCTブロックを、1グループに含まれるDCTブロック数が、誤り検出符号化後のビット数と同じ数になるようにグループ分けを行うDCTブロックグループ分割ステップと、前記各グループの各DCTブロックについて、誤り検出対象データにおけるビット値「1」もしくは「0」を検出し、誤り検出対象データを出力する誤り検出対象データ検出ステップと、前記出力された誤り検出対象データに対し、請求項1乃至4に記載の透かし埋め込み付きJPEG符号化装置で用いた所定の誤り検出符号に基づく誤り検出復号化処理を行い、その処理結果として、誤りの有無を取得し、誤りが無ければ、予め埋め込まれた埋め込み透かしデータを取得し、誤りが有れば、該誤りを含むグループを特定する誤り検出復号ステップと、を有することを特徴とする。
請求項13記載の発明は、請求項12に記載の発明において、前記誤り検出対象データ検出ステップが、前記量子化係数から低中周波数成分を選び出すため、左上頂点からの距離を横方向Xマス、縦方向Yマスとして条件「α<X+Y<β(α,βは閾値)」を満たす台形状の部分集合を選択するステップと、前記台形状の部分集合中の値を吟味して絶対値の最大値と次点の値である次点値を特定する絶対値の最大値と次点値選択ステップと、前記絶対値の最大値から次点値を減算した値が偶数か奇数かをチェックし、該値が偶数であった場合、誤り検出対象データにおけるビット値「0」を出力し、該値が奇数であった場合、誤り検出符号データにおけるビット値「1」を出力するステップと、を有することを特徴とする。
請求項14記載の発明は、請求項13に記載の発明において、前記絶対値の最大値と次点値選択ステップが、前記絶対値の最大値が複数個ある場合に、逆ジグザグスキャンの順序で、最初に現れたものを最大値とし、次に現れたものを次点値とし、該絶対値の最大値が1個で次点値が2個以上ある場合は、逆ジグザグスキャンの順序で、2個以上の次点値のうち最初のものを採用するステップ、を有することを特徴とする。
請求項15記載の発明は、透かし埋め込み付きJPEG符号化プログラムであって、コンピュータを請求項1乃至4のいずれかに記載の透かし埋め込み付きJPEG符号化装置における各手段として機能させることを特徴とする。
請求項16記載の発明は、透かし埋め込み付きJPEG画像データに対する改ざん検出プログラムであって、コンピュータを請求項5乃至7のいずれかに記載の透かし埋め込み付きJPEG画像データに対する改ざん検出装置における各手段として機能させることを特徴とする。
請求項17記載の発明は、記録媒体であって、請求項15に記載の透かし埋め込み付きJPEG符号化プログラムを記録したことを特徴とする。
請求項18記載の発明は、記録媒体であって、請求項16に記載の透かし埋め込み付きJPEG画像データに対する改ざん検出プログラムを記録したことを特徴とする。
前記請求項1,8に記載の発明は、量子化係数の低中周波数成分を対象にした誤り検出符号データを生成できる。DCTブロックから構成されたグループを取得できる。
前記請求項2,3,4,9,10,11に記載の発明は、JPEG符号化方法における量子化係数に電子透かしデータを埋め込むにあたり、絶対値の最大な量子化係数を選び、与える変分を高々1とすることができる。
前記請求項5,6,7,12,13,14に記載の発明は、請求項1乃至4に記載された埋め込み付きJPEG符号化装置から出力された、美観を損ねていない(画質劣化が小さい)透かし埋め込み付きJPEG画像データの誤りを取得できる。
前記請求項15に記載の発明は、請求項1乃至4のいずれかに記載の透かし埋め込み付きJPEG符号化装置をコンピュータプログラムとして記載できる。
前記請求項16に記載の発明は、請求項5乃至7のいずれかに記載の透かし埋め込み付きJPEG画像データに対する改ざん検出装置をコンピュータプログラムとして記載できる。
前記請求項17に記載の発明は、透かし埋め込み付きJPEG符号化プログラムを記録媒体に記録できる。
前記請求項18に記載の発明は、透かし埋め込み付きJPEG画像データに対する改ざん検出プログラムを記録媒体に記録できる。
以上示したように請求項1,8の発明によれば、入力されたデジタル画像データの美観を損ねず(画質劣化を小さくし)に、電子透かしデータを埋め込むことができる。DCTブロックから構成されたグループに基づいて誤り(改ざん)の位置を特定できる。
請求項2,3,4,9,10,11の発明によれば、入力されたデジタル画像データの美観を損ねず(画質劣化を小さくし)に、電子透かしデータを埋め込むことができる。
請求項5,6,7,12,13,14の発明によれば、その誤りを検出した場合、誤っている(即ち、改ざんされている)電子透かしデータを含むグループを特定できる。
請求項15の発明によれば、透かし埋め込み付きJPEG符号化装置としてコンピュータを動作させるコンピュータプログラムを提供できる。
請求項16の発明によれば、透かし埋め込み付きJPEG画像データに対する改ざん検出装置としてコンピュータを動作させるコンピュータプログラムを提供できる。
請求項17の発明によれば、透かし埋め込み付きJPEG符号化プログラムとしてコンピュータを動作させるコンピュータプログラムを記録した記録媒体を提供できる。
請求項18の発明によれば、透かし埋め込み付きJPEG画像データに対する改ざん検出プログラムとしてコンピュータを動作させるコンピュータプログラムを記録した記録媒体を提供できる。
これらを以って電子透かし技術分野に貢献できる。
本実施形態における透かし埋め込み付きJPEG符号化方法を図1〜図4に基づいて説明する。図1は、透かし埋め込み付きJPEG符号化方法のメインフローチャート。図2〜図4は、そのメインフローチャートに対するサブルーチンフローチャートである。なお、本実施形態における透かし埋め込み付きJPEG符号化方法をコンピュータなどの装置に実装する場合、予め備えられた記憶部に、該方法で使用する情報もしくはデータを格納し、管理しても良い。
まず、電子透かしデータの埋め込み対象となるデジタル画像データ(例えば、無圧縮のビットマップイメージ形式もしくはラスタイメージ形式のデジタル画像データ)を取得する(画像入力ステップ:S301)。なお、本実施形態における透かし埋め込み付きJPEG符号化方法をコンピュータなどの装置に実装する場合、予め備えられた記憶部に格納された電子透かしデータの埋め込み対象となるデジタル画像データを取得し入力する入力部を使って入力しても良いし、予め備えられた通信部から該デジタル画像データを取得し入力する入力部を使って入力しても良い。
次に、通常のJPEG符号化の手順(例えば、図14(a)中のステップS102〜S105)と同じ手順を進める。即ち、YCbCr変換(S102)とダウンサンプリング(S103)を経て、DCT係数の量子化までの手順であって、図1中では、ステップS302(YCbCr変換ステップ),S303(ダウンサンプリングステップ),S304(DCT(Discrete Cosine Transform)ステップ),S305(量子化ステップ)を行なう。
なお、量子化ステップ(S305)後は、各DCTブロック内では64(=8×8)個の量子化係数が存在する状態になる。量子化係数は、輝度Y成分(以下、単にYと記載する),青みCb成分(以下、単にCbと記載する),赤みCr成分(以下、単にCbと記載する)の画像コンポーネント毎に存在する。前記ダウンサンプリング(S303)の際にはY成分よりCb及びCr成分の方を粗くサンプリングする方法が一般的であるため、DCTブロックの数はY成分が最も多くなる。Y,Cb,Crのうちいずれであっても、DCTブロック中が8×8個の量子化係数を含むことには変わりない。
次に、電子透かしデータ(例えば、図11中の電子透かしデータD)を取得する(透かしデータ入力ステップ:S306)。なお、本実施形態における透かし埋め込み付きJPEG符号化方法をコンピュータなどの装置に実装する場合、予め備えられた記憶部に格納された電子透かしデータを取得し入力する入力部を使って入力しても良いし、予め備えられた通信部から該電子透かしデータを取得し入力する入力部を使って入力しても良い。
次に、透かしデータ入力ステップ(S306)によって得られた電子透かしデータに対し透かしデータ誤り検出符号化処理を行い、誤り検出符号データを生成する(S307:透かしデータ誤り検出符号化ステップ)。
例えば、電子透かしデータのデータ長を31ビット(bit)としても良い。この電子透かしデータのデータ長(例えば、31ビット)は任意に決定可能である。後述する誤り検出符号化により冗長化した結果のビット数が、後述する分割された1グループ内のDCTブロック数を超えない範囲で任意に選び得る。
この透かしデータ誤り検出符号化ステップ(S307)では、誤り検出符号として、例えば、(64,31)拡張BCH(Bose,Ray−Chaudhuri,Hocquenghem)を採用する。この括弧付き表記の意味は、31ビットのデータを64ビットに冗長化して符号化し、その符号化アルゴリズムには拡張BCHを用いるという意味である。括弧内の左項(この例では64)は誤り検出符号で使える数値であれば任意に選び得る。誤り検出符号は、拡張BCHに限らずこれ以外を採用しても良い。
次に、電子透かしデータから生成した誤り検出符号データを埋め込む画像コンポーネントをY,Cb,Crの中から選択する(S308:画像コンポーネント(色成分)選択ステップ)。
なお、画像コンポーネントは、それぞれ単独にひとつ選択しても良いし、任意の2つを選んでも良く、また3つともを選ぶこともできる。ただし、2つ以上を選ぶと使用できるDCTブロックが増える代わりに、DCTブロックのグループ分けが複雑になってしまう。また、本実施形態における透かし埋め込み付きJPEG符号化方法をコンピュータなどの装置に実装する場合、画像コンポーネントは、予め選択してあっても良いし、予め備えられたユーザインタフェース手段(例えば、キーボード装置)を使って選択しても良い。
以下では、説明を容易にするためにYのみを選ぶこととする。Yを選ぶことにより、白黒画像でも対応できるという利点も生じる。他の有効な選び方としてはCbのみを選ぶという方法がある。このCbのみを選ぶという方法では、人間の視覚は青もしくは黄の変化を知覚しにくいため、目立ちにくいという利点が生じる。
次に、入力されたデジタル画像データに対しDCTブロックグループ分割を行う(S309:DCTブロックグループ分割ステップ)。より具体的に、ブロック分けの例を図5に基づいて説明する。なお、符号G’で示すものは、グループGを詳細化した図である。
選択した画像コンポーネントのサイズ(もしくは入力されたデジタル画像データの画像サイズ)から8×8(=水平画素数BH×垂直画素数BV)画素のDCTブロックBが何個存在するかを計算しておく。例えば、640×480(=水平画素数PH×垂直画素数PV)画素のVGAサイズのデジタル画像データPでY成分を選んだ場合、4800(=640×480/(8×8))個のDCTブロックBが存在することになる。そして、これらDCTブロックBを誤り検出符号化後のビット数(上記では64ビット)ずつのグループGに分ける。即ち、1グループに含まれるDCTブロック数が、誤り検出符号化後のビット数と同じ数になるようにグループ分けを行う。
グループの分け方は任意で良いが、なるべくブロックが一塊になるように分けた方が、改ざんされた場所の特定が容易である。以下の説明では、4800個のDCTブロックを64個ずつのグループに分け、グループ数は75グループ(=4800/64)となる。
1グループ(例えば、グループG’)のサイズは、例えば、16DCTブロック×4DCTブロックすなわち128画素×32画素(=水平画素数GH×垂直画素数GV)の矩形タイルとすれば、同じ形のブロックになるため、元画像であるデジタル画像データPに隙間なく割り当てることができる。
なお、図5中では各グループの形状を等しく設定したが、含まれるDCTブロックの数さえ同じであれば、グループの形状が等しい必要はなく様々なグループ分けの方法が存在し得る。
次に、各グループに含まれる(属する)DCTブロックに対し、前記量子化係数の部分集合に基づいて誤り検出符号データを生成し埋め込む(S310:各グループに属するDCTブロックへ誤り検出符号データを埋め込みステップ)。ステップS310を図2のフローチャートに基づいて処理詳細(DCTブロック内の量子化係数の変調方法)を説明する。なお、以下に説明する処理は、全DCTブロックに対して処理を行う(S401)。また、以下の説明では、量子化係数(例えば、図6中の量子化係数群Qにおける量子化係数)は、8×8の正方形に並んでおり、左上が直流成分であり右下ほど高周波成分を表すものとする。
前記8×8個の量子化係数から低中周波数成分を選び出すため、左上頂点からの距離を横方向Xマス、縦方向Yマスとして条件「α<X+Y<β(α,βは閾値)」を満たす台形状の部分集合(例えば、図7中の部分集合q)を選択する(S402:量子化係数部分集合選択ステップ)。例えば、図7中の部分集合qは、α=1,β=8と設定した場合の部分集合である。なお、以下の説明では、閾値α,βは、DCTブロックにおける8×8個の量子化係数の中から低周波(左上方向)に偏るように決める値であるため、閾値αは1または2の値となり、閾値βは3,4,5,6,7,8,9のいずれかの値となる。
次に、台形状の部分集合q中の値を吟味して絶対値の最大値(以下、単に最大値という)と次点の値である次点値(以下、単に次点値という)を特定する(S403:絶対値の最大値と次点値選択ステップ)。
ステップS403では、最大値や次点値が複数個ある場合に、次の方法のように、最大値と次点値を特定する。
同値の最大値がある場合は、逆ジグザグスキャンの順序で、最初に現れたものを最大値とし、次に現れたものを次点値とする。
最大値が1個で次点値が2個以上ある場合は逆ジグザグスキャンの順序で、2個以上の次点値のうち最初のものを採用する。
なお、上述の最大値と次点値を特定する方法の理由は、透かし埋め込みに用いる点をなるべく高周波に持って行き、目立ちにくくするためである。
ステップS403において、最大値が複数個ある場合に、台形状の部分集合q中の値を吟味して最大値と次点値の値を見つける(選択する)方法を図3中のフローチャートに基づいて詳しく説明する。
まず、最大値候補M1,次点値候補M2をそれぞれ0に設定する(S501)。
次に、図8中の逆ジグザグスキャン方向R(即ち、通常のJPEGのジグザグスキャン方向の逆順)の順序で量子化係数(例えば、量子化係数A)を読み出す(S502)。
量子化係数Aの絶対値が最大値候補M1の絶対値より大きい(|A|>|M1|)か否かをチェックする(S503)。量子化係数Aの絶対値が最大値候補M1の絶対値より大きい場合は、ステップS505へ進む。量子化係数Aの絶対値が最大値候補M1の絶対値より大きくない場合は、ステップS504へ進む。
ステップS505は、最大値候補M1に量子化係数Aを設定し、ステップS507へ進む。
ステップS504では、量子化係数Aの絶対値が次点値候補M2の絶対値より大きい(|A|>|M2|)か否かをチェックする。量子化係数Aの絶対値が次点値候補M2の絶対値より大きい場合は、ステップS506へ進む。量子化係数Aの絶対値が次点値候補M2の絶対値より大きくない場合は、ステップS502へ進む。
ステップS506は、次点値候補M2に量子化係数Aを設定し、ステップS507へ進む。
ステップS507は、量子化係数を全スキャンしたか否かをチェックする。全スキャンした場合、当該処理を終了し、最終的な最大値候補M1を量子化係数の絶対値の最大値M1(以下、単に最大値M1という)と見做し、次点値候補M2を量子化係数の絶対値の次点値M2(以下、単に次点値M2という)と見做す。全スキャンしていない場合、ステップS502へ進む。
次に、埋め込みビット(即ち、誤り検出符号データを構成する各ビット)に基づいて最大値M1を調整する(S404:埋め込みビットによる最大値M1の調整ステップ)。埋め込みビットによる最大値M1の調整ステップ(S404)における埋め込みの方針は、誤り検出符号データにおけるビット値「1」を埋め込む場合は条件「M1−M2=奇数」を満たすように、誤り検出符号データにおけるビット値「0」を埋め込む場合は条件「M1−M2=偶数」を満たすように最大値M1を調整することである。調整は、任意正奇数を減じる(減算する)か、任意正奇数を加える(加算する)か、何もしないかの3つの演算処理から選択する。なお、任意正奇数は、より小さい値を使う方が、埋め込み後の美観を有利とする。
最終的に埋め込みビットを対応するDCTブロックへ埋め込む。
ステップS404における埋め込みビットによる最大値M1の調整処理を図4のフローチャートに基づいて説明する。
まず、最大値M1から次点値M2を減算し、その減算結果が偶数か否かをチェックする(S601)。その減算結果が偶数の場合は、ステップS602へ進む。その減算結果が偶数でない場合は、ステップS603へ進む。
ステップS602では、埋め込みビットがビット値「0」か否かをチェックする。埋め込みビットがビット値「0」であった場合、当該処理を終了する。埋め込みビットがビット値「0」でなかった場合、ステップS604へ進む。
ステップS603では、埋め込みビットがビット値「0」か否かをチェックする。埋め込みビットがビット値「0」であった場合、ステップS604へ進む。埋め込みビットがビット値「0」でなかった場合、当該処理を終了する。
ステップS604では、最大値M1が0以上か否かをチェックする。最大値M1が0以上の場合、ステップS605へ進む。最大値M1が0以上でなかった場合、ステップS606へ進む。
ステップS605は、最大値M1に任意正奇数Kを加算し、その加算した値を最大値M1と見做し、当該処理を終了する。
ステップS606は、最大値M1から任意正奇数Kを減算し、その減算した値を最大値M1と見做し、当該処理を終了する。
図4中のフローチャートにおいて、例えば、ビット値「1」を埋め込みたいときであって、最大値M1=15,次点値M2=14の場合、式「M1−M2=1」で既に奇数であるから何もしない(S601,S603)。
同様に、最大値M1=15、次点値M2=15の場合、式「M1−M2=0」で偶数であるから最大値M1の正負を吟味し、正であるから最大値M1に、例えば、1(=正奇数K)を加えて、最大値M1は16(=15+1)とする(S601,S602,S604,S605)。
他の例としては、ビット値「0」を埋め込みたいときであって、最大値M1=−18,次点値M2=11の場合、式「M1−M2=−29」で奇数であるから最大値M1の正負を吟味し、負であるから、例えば、1(=正奇数K)を減じて最大値M1は−19(=−18−1)とする(S601,S603,S604,S606)。
同様に、最大値M1=−18,次点値M2=10の場合、式「M1−M2=−28」で偶数であるから何もしない(S601,S602)。
以上のように、1グループ内の全DCTブロックに対応する透かしデータ誤り検出符号化ステップ(S307)によって冗長化した結果(即ち、誤り検出符号データ)における各ビットを上記のように埋め込む。
そして、全てのグループ(上述からの説明により、75個のグループ)について、図4中のフローチャートと同じ処理を行う。また、埋め込むための誤り検出符号データは、全てのグループで同じものとする。
全てのグループについて誤り検出符号ビットの埋め込み(S310)が終了した場合、残りの処理は、通常のJPEG符号化の工程と同じように、エントロピー圧縮ステップ(S311)と所定のJFIF(JPEG File Interchange Format)形式に適合するようデータ整形ステップ(S312:JFIF形式へ整形する整形ステップ)を実行しJPEG画像データとして出力する。
次に、本実施形態における透かし埋め込み付きJPEG符号化方法によって出力されたJPEG画像データ(透かし埋め込み付きJPEG画像データ)に対する改ざん検出(即ち、電子透かしの検出)方法を図9,図10のフローチャートに基づいて説明する。図9は、JPEG画像データに対する改ざんの検出方法のメインフローチャートである。図10は、そのメインフローチャートに対するサブルーチンフローチャートである。
なお、本実施形態における透かし埋め込み付きJPEG符号化方法によって出力された透かし埋め込み付きJPEG画像データに対する改ざん検出方法において、予め取り決めとして、埋め込みの際に使用したブロック形状,ブロック数,誤り検出符号化方法とそのパラメータは、検出する際も同じ情報を用いるものとする。本実施形態における透かし埋め込み付きJPEG画像データに対する改ざん検出方法をコンピュータなどの装置に実装する場合、予め備えられた記憶部に、該方法で使用する情報もしくはデータを格納し、管理しても良い。
まず、電子透かしデータを埋め込まれたデジタル画像データ(即ち、透かし埋め込み付きJPEG画像データ)を取得する(デジタル画像入力ステップ:S701)。なお、本実施形態における透かし埋め込み付きJPEG符号化方法によって出力されたJPEG画像データに対する改ざんの検出方法をコンピュータなどの装置に実装する場合、予め備えられた記憶部に格納された電子透かしデータを埋め込まれたデジタル画像データを取得し入力する入力部を使って入力しても良いし、予め備えられた通信部から該電子透かしデータを埋め込まれたデジタル画像データを取得し入力する入力部を使って入力しても良い。
デジタル画像データ入力ステップ(S701)にて入力されたデジタル画像データは、通常のJPEG復号化工程であるデータ整形(S702:JFIF形式からデータ列へ整形する整形ステップ)とエントロピー復号ステップ(S703:エントロピー復号ステップ)を経てDCTブロックの量子化係数にまで変換される。
次に、埋め込み時に用いたものと同じ画像コンポーネント選択を行う(S704:色成分選択ステップ)。
次に、埋め込み時に用いたものと同じDCTブロックのグループ分けを行う(S7056:DCTブロックグループ分割ステップ)。詳細は、上述の図5に関する説明を参照のこと。
次に、各グループの各DCTブロックについて、誤り検出対象データにおけるビット値「1」もしくは「0」を検出し、誤り検出対象データを出力する(S706:各グループに属するDCTブロックから誤り検出対象データ検出ステップ)。
各グループに属するDCTブロックから誤り検出対象データ検出ステップ(S706)の詳細な処理を図10のフローチャートに基づいて説明する。なお、以下に説明する処理は、全DCTブロックに対して処理を行う(S801)。
まず、左上頂点からの距離を横方向Xマス、縦方向Yマスとして条件「α<X+Y<β」の台形状の部分集合を選択する(S802:量子化係数部分集合選択ステップ)。なお、選択方法は埋め込み時と同じ(上述の図7に関する説明と同じ)である。
次に、台形状の部分集合の中の値を吟味して絶対値の最大値(以下、単に最大値という)M1と次点値(以下、単に次点値という)M2を選択する(S803)。最大値M1が複数個ある場合は、埋め込み時と全く同様に、図3に基づいて、最大値M1,次点値M2を定める。
次に、最大値M1から次点値M2を減算した値(最大値M1−次点値M2)が偶数か奇数かをチェックする(S804)。偶数であった場合、ステップS805へ進む。奇数であった場合、ステップS806へ進む。
ステップS805では、誤り検出対象データにおけるビット値「0」を出力する。
ステップS806では、誤り検出符号データにおけるビット値「1」を出力する。
上述のように、1グループ内の全てのDCTブロックから出力値(誤り検出対象データ)を検出する(上述の説明において、64個の出力)。
この出力値(誤り検出対象データ)に対し、誤り検出復号ステップにて、誤り検出符号として採用した拡張BCHに基づく誤り検出復号化処理を行う(S707:誤り検出復号ステップ)。
その誤り検出復号ステップ(S707)の結果として、誤りの有無が得られる。例えば、誤りが無ければ、予め埋め込まれた31ビットの埋め込み透かしデータが得られる。さらに、誤りが有れば、誤りを含むグループを特定できる。なお、本実施形態におけるJPEG画像データに対する改ざんの検出方法をコンピュータなどの装置に実装する場合、誤りの有無、埋め込み透かしデータ、誤りを含むグループを予め備えられた記憶部に格納し、最終的にそれらを表示しても良い。
全てのグループ(上述の説明に基づき、例えば、75個)に対して図10で説明する改ざんの検出方法を行う。
次に、通常のJPEG復号化の手順と同様に各DCTブロックの量子化係数を逆量子化しDCT係数に戻し(S708:逆量子化)、そのDCT係数を逆DCTを行って(S709:逆DCT)画像データに戻す。必要があれば、色空間変換を行って画像データに戻す(S710:色空間変換ステップ)。
そして、本実施形態におけるJPEG画像データに対する改ざんの検出方法をコンピュータなどの装置に実装する場合、誤り検出復号ステップ(S707)において得られた誤りの有無,誤りグループ,埋め込み透かしデータを用いて、以下のように改ざんの有無と改ざん場所が判明するように、予め備えられた提示部を使って表示しても良い(S711:誤り発生箇所重畳表示ステップ)。
例えば、図11中の透かし埋め込み付きJPEG画像データP1のように、全てのグループ(例えば、図11中のグループG11〜G15,G21〜G25,G31〜G35)から誤りが検出されず、かつ、透かしデータ(例えば、図11中の電子透かしデータD)が埋め込み時と同じだった場合は、その透かし埋め込み付きJPEG画像データP1は透かし埋め込み後から改ざんされていないとみなすことができる。
また、図12中の透かし埋め込み付きJPEG画像データP2のように、誤りが検出されたグループ(例えば、図12中のグループG32)内の電子透かしデータは、原本(埋め込まれた電子透かしデータ)とは異なっているため、JPEG画像データP2が改ざんされていることが判る。即ち、図12中では、グループG32を構成するDCTブロックが占めるエリア内のどこかに改ざん可能性がある。
また、図13中の透かし埋め込み付きJPEG画像データP3のように、誤りが検出されないグループで、かつ、誤り検出復号ステップ(S707)で得られた透かしデータと埋め込まれていた電子透かしデータ(原本)を比較し異なる場合は、そのグループ(図13中のJPEG画像データP3のグループG32)が、改ざんされていることが判る。即ち、図13中では、グループG32内を構成するDCTブロックが占めるエリア内のどこかに改ざん可能性がある。
また、改ざんの検出時に埋め込み時の透かしデータが分からない場合も考えられる。この場合は多数決により埋め込み透かしデータを推定できる。つまり、得られた透かし埋め込みデータのうち最も出現頻度の大きいものを埋め込み時の透かしデータとみなすのである。
なお、誤り箇所(すなわち、改ざん箇所)を表現する場合は、図12に示すようにJPEG復号化された画像データに、改ざんされたグループの位置をあらわす目印(例えば、目立つように色を変えて重畳)表示すると、改ざんされた箇所が分かりやすい。
本実施形態における各ステップを手段(例えば、コンピュータプログラムにおける手段)として構成し、透かし埋め込み付きJPEG符号化装置及び透かし埋め込み付きJPEG画像データに対する改ざん検出装置を実装しても良い。なお、それらの装置は、各ステップで必要とされる情報を格納する記憶部(例えば、メモリやハードディスクドライブ装置),各部を制御する制御部(例えば、CPU(Central Processing Unit)),通信装置や入出力装置を含み、データを入力する入力部,データを出力する出力部を備えているものとする。透かし埋め込み付きJPEG画像データに対する改ざん検出装置は、誤り箇所を表示するための提示部(例えば、ディスプレイ装置)を備えていても良い。
例えば、図1中のステップS301〜S312の各ステップを手段として構成し、透かし埋め込み付きJPEG符号化装置を実装しても良い。また、図9中のステップS701〜S711の各ステップを手段として構成し、透かし埋め込み付きJPEG画像データに対する改ざん検出装置を実装しても良い。
また、図1中のステップS301〜S305,S311〜S312は、既存のJPEG符号化方法と同じため、既に実装された手段と考えても良い。即ち、ステップS306〜S310は、ステップS301〜S305,S311〜S312にそれぞれ対応する手段を(直接もしくは間接的に)使用する方法と考えられる。
同様に、図9中のステップS701〜S703,S708〜S710は、既存のJPEG復号化方法と同じため、既に実装された手段と考えても良い。即ち、ステップS704〜S707は、ステップS701〜S703,S708〜S710にそれぞれ対応する手段を(直接もしくは間接的に)使用する方法と考えられる。
また、本実施形態の透かし埋め込み付きJPEG符号化装置及び透かし埋め込み付きJPEG画像データに対する改ざん検出装置における各部(もしくは各手段)の一部もしくは全部の機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して本発明を実現することができること、本実施形態の透かし埋め込み付きJPEG符号化方法及び透かし埋め込み付きJPEG画像データに対する改ざん検出方法(手順)をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもなく、コンピュータでその機能を実現するためのプログラムを、そのコンピュータが読み取り可能な記録媒体(記憶媒体)、例えばFD(Floppy(登録商標) Disk)や、MO(Magneto−Optical disk)、ROM(Read Only Memory)、メモリカード、CD(Compact Disk)、DVD(Digital Versatile Disk)、リムーバブルディスクなどに記録して、保存したり、配布したりすることが可能である。また、上記のプログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
さらに、本実施形態の透かし埋め込み付きJPEG符号化装置及び透かし埋め込み付きJPEG画像データに対する改ざん検出装置に関する方法を記述したコンピュータプログラムを、その方法に必要とされる入出力データを格納したメモリや外部記憶部等にアクセスするように実装してもよい。
以上のように、本実施形態によれば、誤り検出符号を用いることによって、何も埋め込んでいないのに偶然埋め込んだことと同じ結果が得られることを防ぎ、および復号時に元の電子透かしデータを知ることなく誤り(改ざん)の有無を知る、という2つのメリットを得られる。
また、本実施形態のように、DCTブロックをグループに分けて1グループ中で独立に誤り検出符号化することによって、誤りがあった場合はその誤りが含まれるグループを特定でき、誤り(即ち、改ざん)の場所を知るというメリットが得られる。
また、本実施形態におけるDCTブロック内の量子化係数の変調方法の利点は、元々値の大きい係数に小変分のみを与えるため、量子化係数の変化が少なく、埋め込み後の美観に影響を与え難い点である。DCTブロック内の量子化係数を変調する方式は、上述の電子透かし技術(例えば、非特許文献1)のものも含めて複数知られているが、いずれも変調による量子化係数の変化が大きく、美観的には不利となる。
以上、本発明の実施形態について説明したが、本発明は説明した実施形態に限定されるものでなく、各請求項に記載した範囲において各種の変形を行うことが可能である。
例えば、本実施形態では、誤り検出符号として、拡張BCHを用いたが、例えば、ターボ符号を用いても良い。
B…DCTブロック
BH…DCTブロックの水平画素数
BV…DCTブロックの垂直画素数
D…電子透かしデータ
G,G’,G11〜G15,G21〜G25,G31〜G35…グループ
GH…グループの水平画素数
GV…グループの垂直画素数
P…デジタル画像データ
P1,P2,P3…透かし埋め込み付きJPEG画像データ
PH…デジタル画像データの水平画素数
PV…デジタル画像データの垂直画素数
Q…量子化係数群
q…量子化係数による台形状の部分集合
R…逆ジグザグスキャン方向
BH…DCTブロックの水平画素数
BV…DCTブロックの垂直画素数
D…電子透かしデータ
G,G’,G11〜G15,G21〜G25,G31〜G35…グループ
GH…グループの水平画素数
GV…グループの垂直画素数
P…デジタル画像データ
P1,P2,P3…透かし埋め込み付きJPEG画像データ
PH…デジタル画像データの水平画素数
PV…デジタル画像データの垂直画素数
Q…量子化係数群
q…量子化係数による台形状の部分集合
R…逆ジグザグスキャン方向
Claims (18)
- 記憶部と、入力部と、
該記憶部からデジタル画像データを入力部を使って入力する画像入力手段と、
YCbCr変換手段と、
ダウンサンプリング手段と、
DCT(Discrete Cosine Transform)手段と、
量子化手段と、
エントロピー圧縮手段と、
JFIF(JPEG File Interchange Format)形式へ整形する整形手段と、
を備え、該デジタル画像データに対し、該YCbCr変換手段と、該ダウンサンプリング手段と、該DCT手段と、該量子化手段と、を使って、
該デジタル画像データを量子化し、DCTブロックに含まれる量子化係数を取得し、JPEG(Joint Photographic Experts Group)符号化する透かし埋め込み付きJPEG符号化装置であって、
前記記憶部から電子透かしデータを入力部を使って入力する透かしデータ入力手段と、
入力された電子透かしデータに対し、所定の誤り検出符号を使って符号化処理を行い、誤り検出符号データを生成する透かしデータ誤り検出符号化手段と、
生成された誤り検出符号データを埋め込む画像コンポーネントをY成分,Cb成分,Cr成分の中から選択する画像コンポーネント選択手段と、
前記選択した画像コンポーネントに含まれるDCTブロックを、1グループに含まれるDCTブロック数が、誤り検出符号化後のビット数と同じ数になるようにグループ分けを行うDCTブロックグループ分割手段と、
各グループに含まれるDCTブロックに対し、前記量子化係数の低中周波数成分である部分集合に基づいて誤り検出符号データを生成し埋め込む誤り検出符号データ埋め込み手段と、
を備えることを特徴とする透かし埋め込み付きJPEG符号化装置。 - 請求項1に記載の透かし埋め込み付きJPEG符号化装置において、
前記誤り検出符号データ埋め込み手段が、
前記量子化係数から低中周波数成分を選び出すため、左上頂点からの距離を横方向Xマス、縦方向Yマスとして条件「α<X+Y<β(α,βは閾値)」を満たす台形状の部分集合を選択する手段と、
前記台形状の部分集合中の値を吟味して絶対値の最大値と次点の値である次点値を特定する絶対値の最大値と次点値選択手段と、
前記誤り検出符号データを構成する各ビットと次点値とに基づいて前記絶対値の最大値を調整する最大値調整手段と、
を備えることを特徴とする透かし埋め込み付きJPEG符号化装置。 - 請求項2に記載の透かし埋め込み付きJPEG符号化装置において、
前記絶対値の最大値と次点値選択手段が、
前記絶対値の最大値が複数個ある場合に、逆ジグザグスキャンの順序で、最初に現れたものを最大値とし、次に現れたものを次点値とし、
該絶対値の最大値が1個で次点値が2個以上ある場合は、逆ジグザグスキャンの順序で、2個以上の次点値のうち最初のものを採用する手段、
を備える
ことを特徴とする透かし埋め込み付きJPEG符号化装置。 - 請求項2また3に記載の透かし埋め込み付きJPEG符号化装置において、
前記最大値調整手段が、
前記誤り検出符号データにおけるビット値「1」を埋め込む場合は、絶対値の最大値から次点値を減じた値が奇数になるように、
該誤り検出符号データにおけるビット値「0」を埋め込む場合は、絶対値の最大値から次点値を減じた値が偶数になるように、
該絶対値の最大値に対し、任意正奇数を減算するか、任意正奇数を加算するか、何もしないかの3つの演算処理から選択する手段、
を備える
ことを特徴とする透かし埋め込み付きJPEG符号化装置。 - 記憶部と、入力部と、
該記憶部から請求項1乃至4のいずれかに記載の透かし埋め込み付きJPEG符号化装置によって、符号化されたJPEG画像データを入力部を使って入力する画像入力手段と、
JFIF形式からデータ列へ整形する整形手段と、
エントロピー復号手段と、
逆量子化手段と、
逆DCT手段と、
色空間変換手段と、
を備え、該JPEG画像データに対し、JFIF形式からデータ列へ整形する整形手段と、エントロピー復号手段と、を使って、
該JPEG画像データに応じたDCTブロックの量子化係数を取得し、復号する装置に使用する
透かし埋め込み付きJPEG画像データに対する改ざん検出装置であって、
前記JPEG画像データの画像コンポーネントをY成分,Cb成分,Cr成分の中から選択する画像コンポーネント選択手段と、
前記選択した画像コンポーネントに含まれるDCTブロックを、1グループに含まれるDCTブロック数が、誤り検出符号化後のビット数と同じ数になるようにグループ分けを行うDCTブロックグループ分割手段と、
前記各グループの各DCTブロックについて、誤り検出対象データにおけるビット値「1」もしくは「0」を検出し、誤り検出対象データを出力する誤り検出対象データ検出手段と、
前記出力された誤り検出対象データに対し、請求項1乃至4に記載の透かし埋め込み付きJPEG符号化装置で用いた所定の誤り検出符号に基づく誤り検出復号化処理を行い、
その処理結果として、誤りの有無を取得し、
誤りが無ければ、予め埋め込まれた埋め込み透かしデータを取得し、
誤りが有れば、該誤りを含むグループを特定する
誤り検出復号手段と、
を備えることを特徴とする透かし埋め込み付きJPEG画像データに対する改ざん検出装置。 - 請求項5に記載の透かし埋め込み付きJPEG画像データに対する改ざん検出装置において、
前記誤り検出対象データ検出手段が、
前記量子化係数から低中周波数成分を選び出すため、左上頂点からの距離を横方向Xマス、縦方向Yマスとして条件「α<X+Y<β(α,βは閾値)」を満たす台形状の部分集合を選択する手段と、
前記台形状の部分集合中の値を吟味して絶対値の最大値と次点の値である次点値を特定する絶対値の最大値と次点値選択手段と、
前記絶対値の最大値から次点値を減算した値が偶数か奇数かをチェックし、
該値が偶数であった場合、誤り検出対象データにおけるビット値「0」を出力し、
該値が奇数であった場合、誤り検出符号データにおけるビット値「1」を出力する手段と、
を備える
ことを特徴とする透かし埋め込み付きJPEG画像データに対する改ざん検出装置。 - 請求項6に記載の透かし埋め込み付きJPEG画像データに対する改ざん検出装置において、
前記絶対値の最大値と次点値選択手段が、
前記絶対値の最大値が複数個ある場合に、逆ジグザグスキャンの順序で、最初に現れたものを最大値とし、次に現れたものを次点値とし、
該絶対値の最大値が1個で次点値が2個以上ある場合は、逆ジグザグスキャンの順序で、2個以上の次点値のうち最初のものを採用する手段、
を備える
ことを特徴とする透かし埋め込み付きJPEG画像データに対する改ざん検出装置。 - 記憶部と、入力部と、
該記憶部からデジタル画像データを入力部を使って入力する画像入力手段と、
YCbCr変換手段と、
ダウンサンプリング手段と、
DCT手段と、
量子化手段と、
エントロピー圧縮手段と、
JFIF形式へ整形する整形手段と、
を備え、該デジタル画像データに対し、該YCbCr変換手段と、該ダウンサンプリング手段と、該DCT手段と、該量子化手段と、を使って、
該デジタル画像データを量子化し、DCTブロックに含まれる量子化係数を取得し、JPEG符号化する装置に使用する
透かし埋め込み付きJPEG符号化方法であって、
前記記憶部から電子透かしデータを入力部を使って入力する透かしデータ入力ステップと、
入力された電子透かしデータに対し、所定の誤り検出符号を使って符号化処理を行い、誤り検出符号データを生成する透かしデータ誤り検出符号化ステップと、
生成された誤り検出符号データを埋め込む画像コンポーネントをY成分,Cb成分,Cr成分の中から選択する画像コンポーネント選択ステップと、
前記選択した画像コンポーネントに含まれるDCTブロックを、1グループに含まれるDCTブロック数が、誤り検出符号化後のビット数と同じ数になるようにグループ分けを行うDCTブロックグループ分割ステップと、
各グループに含まれるDCTブロックに対し、前記量子化係数の低中周波数成分である部分集合に基づいて誤り検出符号データを生成し埋め込む誤り検出符号データ埋め込みステップと、
を有することを特徴とする透かし埋め込み付きJPEG符号化方法。 - 請求項8に記載の透かし埋め込み付きJPEG符号化方法において、
前記誤り検出符号データ埋め込みステップが、
前記量子化係数から低中周波数成分を選び出すため、左上頂点からの距離を横方向Xマス、縦方向Yマスとして条件「α<X+Y<β(α,βは閾値)」を満たす台形状の部分集合を選択するステップと、
前記台形状の部分集合中の値を吟味して絶対値の最大値と次点の値である次点値を特定する絶対値の最大値と次点値選択ステップと、
前記誤り検出符号データを構成する各ビットと次点値とに基づいて前記絶対値の最大値を調整する最大値調整ステップと、
を有することを特徴とする透かし埋め込み付きJPEG符号化方法。 - 請求項9に記載の透かし埋め込み付きJPEG符号化方法において、
前記絶対値の最大値と次点値選択ステップが、
前記絶対値の最大値が複数個ある場合に、逆ジグザグスキャンの順序で、最初に現れたものを最大値とし、次に現れたものを次点値とし、
該絶対値の最大値が1個で次点値が2個以上ある場合は、逆ジグザグスキャンの順序で、2個以上の次点値のうち最初のものを採用するステップ、
を有する
ことを特徴とする透かし埋め込み付きJPEG符号化方法。 - 請求項9また10に記載の透かし埋め込み付きJPEG符号化方法において、
前記最大値調整ステップが、
前記誤り検出符号データにおけるビット値「1」を埋め込む場合は、絶対値の最大値から次点値を減じた値が奇数になるように、
該誤り検出符号データにおけるビット値「0」を埋め込む場合は、絶対値の最大値から次点値を減じた値が偶数になるように、
該絶対値の最大値に対し、任意正奇数を減算するか、任意正奇数を加算するか、何もしないかの3つの演算処理から選択するステップ、
を有する
ことを特徴とする透かし埋め込み付きJPEG符号化方法。 - 記憶部と、入力部と、
該記憶部から請求項1乃至4のいずれかに記載の透かし埋め込み付きJPEG符号化装置によって、符号化されたJPEG画像データを入力部を使って入力する画像入力手段と、
JFIF形式からデータ列へ整形する整形手段と、
エントロピー復号手段と、
逆量子化手段と、
逆DCT手段と、
色空間変換手段と、
を備え、該JPEG画像データに対し、JFIF形式からデータ列へ整形する整形手段と、エントロピー復号手段と、を使って、
該JPEG画像データに応じたDCTブロックの量子化係数を取得し、復号する装置に使用する
透かし埋め込み付きJPEG画像データに対する改ざん検出方法であって、
前記JPEG画像データの画像コンポーネントをY成分,Cb成分,Cr成分の中から選択する画像コンポーネント選択ステップと、
前記選択した画像コンポーネントに含まれるDCTブロックを、1グループに含まれるDCTブロック数が、誤り検出符号化後のビット数と同じ数になるようにグループ分けを行うDCTブロックグループ分割ステップと、
前記各グループの各DCTブロックについて、誤り検出対象データにおけるビット値「1」もしくは「0」を検出し、誤り検出対象データを出力する誤り検出対象データ検出ステップと、
前記出力された誤り検出対象データに対し、請求項1乃至4に記載の透かし埋め込み付きJPEG符号化装置で用いた所定の誤り検出符号に基づく誤り検出復号化処理を行い、
その処理結果として、誤りの有無を取得し、
誤りが無ければ、予め埋め込まれた埋め込み透かしデータを取得し、
誤りが有れば、該誤りを含むグループを特定する
誤り検出復号ステップと、
を有することを特徴とする透かし埋め込み付きJPEG画像データに対する改ざん検出方法。 - 請求項12に記載の透かし埋め込み付きJPEG画像データに対する改ざん検出方法において、
前記誤り検出対象データ検出ステップが、
前記量子化係数から低中周波数成分を選び出すため、左上頂点からの距離を横方向Xマス、縦方向Yマスとして条件「α<X+Y<β(α,βは閾値)」を満たす台形状の部分集合を選択するステップと、
前記台形状の部分集合中の値を吟味して絶対値の最大値と次点の値である次点値を特定する絶対値の最大値と次点値選択ステップと、
前記絶対値の最大値から次点値を減算した値が偶数か奇数かをチェックし、
該値が偶数であった場合、誤り検出対象データにおけるビット値「0」を出力し、
該値が奇数であった場合、誤り検出符号データにおけるビット値「1」を出力するステップと、
を有する
ことを特徴とする透かし埋め込み付きJPEG画像データに対する改ざん検出方法。 - 請求項13に記載の透かし埋め込み付きJPEG画像データに対する改ざん検出方法において、
前記絶対値の最大値と次点値選択ステップが、
前記絶対値の最大値が複数個ある場合に、逆ジグザグスキャンの順序で、最初に現れたものを最大値とし、次に現れたものを次点値とし、
該絶対値の最大値が1個で次点値が2個以上ある場合は、逆ジグザグスキャンの順序で、2個以上の次点値のうち最初のものを採用するステップ、
を有する
ことを特徴とする透かし埋め込み付きJPEG画像データに対する改ざん検出方法。 - コンピュータを請求項1乃至4のいずれかに記載の透かし埋め込み付きJPEG符号化装置における各手段として機能させることを特徴とする透かし埋め込み付きJPEG符号化プログラム。
- コンピュータを請求項5乃至7のいずれかに記載の透かし埋め込み付きJPEG画像データに対する改ざん検出装置における各手段として機能させることを特徴とする透かし埋め込み付きJPEG画像データに対する改ざん検出プログラム。
- 請求項15に記載の透かし埋め込み付きJPEG符号化プログラムを記録したことを特徴とする記録媒体。
- 請求項16に記載の透かし埋め込み付きJPEG画像データに対する改ざん検出プログラムを記録したことを特徴とする記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007294183A JP2009124300A (ja) | 2007-11-13 | 2007-11-13 | 透かし埋め込み付きjpeg符号化装置,透かし埋め込み付きjpeg符号化方法,透かし埋め込み付きjpeg符号化プログラム及びそのプログラムを記録した記録媒体、その透かし埋め込み付きjpeg画像データに対する改ざん検出装置,透かし埋め込み付きjpeg画像データに対する改ざん検出方法,透かし埋め込み付きjpeg画像データに対する改ざん検出プログラム及びそのプログラムを記録した記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007294183A JP2009124300A (ja) | 2007-11-13 | 2007-11-13 | 透かし埋め込み付きjpeg符号化装置,透かし埋め込み付きjpeg符号化方法,透かし埋め込み付きjpeg符号化プログラム及びそのプログラムを記録した記録媒体、その透かし埋め込み付きjpeg画像データに対する改ざん検出装置,透かし埋め込み付きjpeg画像データに対する改ざん検出方法,透かし埋め込み付きjpeg画像データに対する改ざん検出プログラム及びそのプログラムを記録した記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009124300A true JP2009124300A (ja) | 2009-06-04 |
Family
ID=40816008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007294183A Pending JP2009124300A (ja) | 2007-11-13 | 2007-11-13 | 透かし埋め込み付きjpeg符号化装置,透かし埋め込み付きjpeg符号化方法,透かし埋め込み付きjpeg符号化プログラム及びそのプログラムを記録した記録媒体、その透かし埋め込み付きjpeg画像データに対する改ざん検出装置,透かし埋め込み付きjpeg画像データに対する改ざん検出方法,透かし埋め込み付きjpeg画像データに対する改ざん検出プログラム及びそのプログラムを記録した記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009124300A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101835049A (zh) * | 2010-05-24 | 2010-09-15 | 上海师范大学 | 一种jpeg图像自嵌入数字水印的生成及认证方法 |
CN101924889A (zh) * | 2009-06-11 | 2010-12-22 | 索尼公司 | 图像处理装置和图像处理方法 |
CN113179407A (zh) * | 2021-04-23 | 2021-07-27 | 山东大学 | 基于帧间dct系数相关性的视频水印嵌入和提取方法及系统 |
-
2007
- 2007-11-13 JP JP2007294183A patent/JP2009124300A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101924889A (zh) * | 2009-06-11 | 2010-12-22 | 索尼公司 | 图像处理装置和图像处理方法 |
CN101924889B (zh) * | 2009-06-11 | 2013-08-28 | 索尼公司 | 图像处理装置和图像处理方法 |
CN101835049A (zh) * | 2010-05-24 | 2010-09-15 | 上海师范大学 | 一种jpeg图像自嵌入数字水印的生成及认证方法 |
CN113179407A (zh) * | 2021-04-23 | 2021-07-27 | 山东大学 | 基于帧间dct系数相关性的视频水印嵌入和提取方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7194630B2 (en) | Information processing apparatus, information processing system, information processing method, storage medium and program | |
JP5373909B2 (ja) | 圧縮ビデオにおける構文要素のcabac/avc準拠の透かし入れ | |
US7545938B2 (en) | Digital watermarking which allows tampering to be detected on a block-specific basis | |
US7706618B2 (en) | Image coding apparatus, image coding method, and recording medium, capable of creating highly versatile data | |
JP4176114B2 (ja) | 画像圧縮装置およびそれを備えた画像読取装置、画像圧縮装置を備えた画像処理装置並びにそれを備えた画像形成装置、画像圧縮処理方法 | |
Kelash et al. | Hiding data in video sequences using steganography algorithms | |
JP2004140764A (ja) | 画像処理装置及び画像処理方法 | |
WO2005094058A1 (ja) | 印刷媒体の品質調整システム,検査用透かし媒体出力装置,透かし品質検査装置,調整済透かし媒体出力装置,印刷媒体の品質調整方法,および検査用透かし媒体 | |
JP2011193394A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
KR20190133363A (ko) | 워터마크 기반의 이미지 무결성 검증 방법 및 장치 | |
US7840027B2 (en) | Data embedding apparatus and printed material | |
JP2009124300A (ja) | 透かし埋め込み付きjpeg符号化装置,透かし埋め込み付きjpeg符号化方法,透かし埋め込み付きjpeg符号化プログラム及びそのプログラムを記録した記録媒体、その透かし埋め込み付きjpeg画像データに対する改ざん検出装置,透かし埋め込み付きjpeg画像データに対する改ざん検出方法,透かし埋め込み付きjpeg画像データに対する改ざん検出プログラム及びそのプログラムを記録した記録媒体 | |
JP5086951B2 (ja) | 画像生成装置、画像生成方法、コンピュータが実行可能なプログラム、およびコンピュータが読み取り可能な記録媒体 | |
CN111065000B (zh) | 视频水印处理方法、装置及存储介质 | |
JP5299197B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP4945541B2 (ja) | 劣化ホスト信号利用の電子透かし埋め込み検出方法 | |
JP2003289435A (ja) | 画像データ作成方法、改竄検出方法、画像データ作成装置、改竄検出装置、コンピュータプログラム、及び記録媒体 | |
JP2007068098A (ja) | 画像処理方法および画像処理装置 | |
JP2007151134A (ja) | 画像圧縮装置および画像伸張装置、ならびに画像圧縮方法および画像伸張方法をコンピュータに実行させるためのプログラムをそれぞれ記録したコンピュータ読取可能な記録媒体 | |
JP2007074362A (ja) | 符号化装置、復号化装置、符号化方法、復号化方法及びこれらのプログラム | |
JP2010098743A (ja) | 画像処理装置、画像読取装置、及び画像処理方法 | |
TWI335522B (en) | Method for embedding watermark | |
JP2008067309A (ja) | 検証データ埋め込み方法、プログラムおよび装置、画像改竄検出方法、プログラムおよび装置ならびに画像改竄検出システム | |
Nithyanandam et al. | A Image Steganography Technique on Spatial Domain Using Matrix and LSB Embedding based on Huffman Encoding | |
JP2008148110A (ja) | 画像処理装置およびその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20090618 |