JP2007221387A - データ挿入装置および方法ならびに画像圧縮符号化装置および方法 - Google Patents
データ挿入装置および方法ならびに画像圧縮符号化装置および方法 Download PDFInfo
- Publication number
- JP2007221387A JP2007221387A JP2006038630A JP2006038630A JP2007221387A JP 2007221387 A JP2007221387 A JP 2007221387A JP 2006038630 A JP2006038630 A JP 2006038630A JP 2006038630 A JP2006038630 A JP 2006038630A JP 2007221387 A JP2007221387 A JP 2007221387A
- Authority
- JP
- Japan
- Prior art keywords
- data
- quantization
- dct
- value
- coefficient
- 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
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
【課題】画像データへの任意データの埋め込みに際して、画質劣化の防止、画像データへ埋め込むデータ量の増大化、ファイルの長大化防止。
【解決手段】データ挿入部15は、挿入したい任意のデータのビット列の埋め込みを開始するY成分画像データの量子化代表値R1(Z)からビット列の埋め込みを終了する量子化代表値R1(Y)までの各々の最下位1ビットに、データのビット列の先頭から順に1ビットずつ埋め込む(0≦Z≦m≦Y≦X≦63)。データ挿入を終了するY番目の係数位置は、本来のEOBの1つ前の係数位置(Y=X-1)である。第2の量子化ステップQ2(m)は、第1の量子化ステップQ1(m)の1/2以下であることが好ましく、さらに好ましくは、Q1(m)の7-1/2にする。
【選択図】 図2
【解決手段】データ挿入部15は、挿入したい任意のデータのビット列の埋め込みを開始するY成分画像データの量子化代表値R1(Z)からビット列の埋め込みを終了する量子化代表値R1(Y)までの各々の最下位1ビットに、データのビット列の先頭から順に1ビットずつ埋め込む(0≦Z≦m≦Y≦X≦63)。データ挿入を終了するY番目の係数位置は、本来のEOBの1つ前の係数位置(Y=X-1)である。第2の量子化ステップQ2(m)は、第1の量子化ステップQ1(m)の1/2以下であることが好ましく、さらに好ましくは、Q1(m)の7-1/2にする。
【選択図】 図2
Description
本発明は圧縮符号化された静止画ないし動画データに任意のデータを埋め込む技術に関する。
画像データ圧縮の分野において、種々の圧縮アルゴリズムが提案されている。例えば、JPEG圧縮の場合、オリジナル画像データを離散コサイン変換(DCT)し、ビット配分を決定して量子化を行う。ベースライン方式の場合、量子化データをハフマン符号化により符号化して符号化データを得る。
この圧縮符号化された画像データに対して任意のデータを付加する技術として、ステガノグラフィ(Steganography)がある。ステガノグラフィは、付加情報(メッセージや画像など)を画像等に対して直接、重畳する処理を実行するものであり、例えば、画像情報の各画素の値を示すビット情報の最下位ビットにデータを入れたり(特許文献1)、あるいはマクロブロックの量子化されたY成分のDCT係数を変更したり(非特許文献1)、あるいは量子化されたDCT係数の和をある値で割った余りで埋め込みデータを表す(非特許文献2)など、様々な態様のものがある。
なお、ステガノグラフィに類似する情報埋め込み技術として、電子透かし(Watermark)がある。例えば、DCT係数ブロック群の中から電子透かしを埋め込むDCT係数ブロック(埋込ブロック)を一つ以上選択し、選択された埋込ブロックそれぞれに対して、電子透かしを構成する一つのビットを埋め込む(特許文献2)。ただしこの技術は、画像自体の情報付加や著作権管理に使われ、電子透かしとして埋め込まれるデータの量が少なく、データ改変などに対して耐性が要求される。また、埋め込まれたデータの抽出が100%可能とは限らず、これらの点でステガノグラフィと異なる。
また、データの埋め込みにより画質劣化が生じることがあるが、これを防止する技術としては、例えば、画像を埋め込む場所をDCT係数の最高周波数の位置にするものがある(特許文献3、非特許文献3)。
特開2003−289435号公報
特開2000−151973号公報
特開2002−330279号公報
特許庁標準技術集「JPEG符号化列に対するステガノグラフィ」インターネットURL[http://www.jpo.go.jp/shiryou/s_sonota/hyoujun_gijutsu/denshi_sukashi/2_e_2.htm]
「埋込位置の特定を必要としないJPEG画像へのデータ埋込法」、電子情報通信学会論文誌2005/10Vol.J88−D−II No.10 pp.2037−2045、(社)電子情報通信学会
「JPEG符号化列へのバイナリデータのデータ埋込法」、電子情報通信学会論文誌2000/6Vol.J83−D−II No.6 pp.1469−1476、(社)電子情報通信学会
特許文献1、非特許文献1および特許文献2の技術では、1マクロブロックにつき1ビットしかデータを埋め込むことができず、埋め込めるデータ量が限られてしまう。非特許文献2の技術でも、埋め込めるデータ量が限られる。また、特許文献3および非特許文献3のようにすると、EOB(End of Block)符号が消滅するため、符号化効率が低下し、JPEGファイルが非常に大きくなる。
本発明は、画像データへの任意データの埋め込みに際して、画質劣化の防止、画像データへ埋め込むデータ量の増大化、ファイルの長大化防止を目的とする。
本発明に係るデータ挿入装置は、画像データを分割して得られた複数のブロック毎に算出されたDCT(離散コサイン変換)係数を入力するDCT係数入力部と、DCT係数入力部に入力されたDCT係数の内、データ挿入を開始する所定の低周波数側の係数位置である開始位置からデータ挿入を終了する所定の高周波数側の係数位置である終了位置までのDCT係数の各々を対応する量子化幅で除算した値である除算結果値を丸めた値である量子化代表値の最下位1ビットの各々を、挿入すべき任意のデータを構成するビットに変更することで、画像データに任意のデータを挿入するデータ挿入部と、を備える。
この発明によると、画像データを分割することで得られたブロックごとに算出された各DCT係数の最下位1ビットを任意のデータのビットに変更することで、画像データを埋め込む。従来技術のように、各ブロックに1ビットのデータを挿入するのではなく、各DCT係数に1ビットずつデータを挿入できるから、画像データに挿入できるデータ量が格段に増加する。
また、後述するように、データを挿入する可能性のある範囲のDCT係数の量子化幅を、データを挿入することを想定しない通常の量子化幅より1/2以下の小さい値に設定すれば、各DCT係数の変位は高々1ビットであるから、画質に与える影響が少ない。
なお、DCT係数入力部に入力されるDCT係数は、圧縮符号化前の画像データから得られたものであってもよいし、圧縮符号化後の画像データから復号化されたものであってもよい。
ここで、データ挿入部は、除算結果値を丸めた値である量子化代表値のパリティが変更すべきビットの値と対応するように除算結果値を丸めることで各DCT係数の量子化代表値を決定することにより、画像データに任意のデータを挿入するとよい。
各量子化代表値の最下位1ビットは量子化代表値のパリティ(偶奇性)を表すが、これが同時に挿入されたビットの値(0または1)と対応していれば、量子化代表値の偶奇性に応じて挿入されたビットを容易に復元できる。
終了位置はEOB(End of Block)よりもジグザグスキャン順に沿った1つ以上低周波数側の係数位置であることが好ましい。
もし、本来のEOBよりも高周波数側の係数位置の量子化代表値にビット値「1」を挿入した場合、ゼロランレングスが短くなり、符号化の効率が下がり、符号化データが長大化する。このため、EOBよりも1つ以上低周波数側の係数位置の量子化代表値にビットを挿入する。
なお、挿入ビット「0」とEOB(End of Block)以下の量子化代表値0の列とを区別するには、EOBのDCT係数の量子化代表値を、−1または1のうち、EOBのDCT係数の除算結果値と近い方の値に変更するなどして、非0の値のマーカーを挿入するとよい。
本発明に係るデータ挿入装置は、第1の量子化幅で量子化されたDCT(離散コサイン変換)係数が符号化された圧縮符号化画像データを入力する画像データ入力部と、画像データ入力部に入力された圧縮符号化画像データから、DCT係数を復号化するDCT係数復号化部と、DCT係数復号化部の復号化したDCT係数の内、データ挿入を開始する所定の低周波数側の係数位置である開始位置からデータ挿入を終了する所定の高周波数側の係数位置である終了位置までのDCT係数の各々を対応する第1の量子化幅の1/2以下の第2の量子化幅で除算した値である除算結果値を丸めた値である量子化代表値の最下位1ビットの各々を、挿入すべき任意のデータを構成するビットに変更することで、画像データに任意のデータを挿入するデータ挿入部と、を備える。
データを挿入するDCT係数に対応する量子化幅である第2の量子化幅を、DCT係数に対応する当初の量子化幅である第1の量子化幅の1/2以下にしておけば、データ挿入にともなう量子化代表値の変位による量子化雑音電力は、第1の量子化幅によるDCT係数量子化の際の量子化雑音電力と同等となる。よって、データ挿入による画質劣化を防止できる。
本発明は、画像データを複数のブロックに分割するブロック化を行い、ブロック毎にDCT(離散コサイン変換)係数を算出するDCT変換部と、各ブロックのDCT係数を対応する第1の量子化幅で除算した値である除算結果値を丸めることで各DCT係数の量子化代表値を決定する量子化部と、各DCT係数の量子化代表値を格納した量子化データテーブルを作成し、量子化データテーブルを符号化する符号化部とを備える画像圧縮符号化装置に関する。
この量子化部は、データ挿入を開始する所定の低周波数側の係数位置である開始位置からデータ挿入を終了する所定の高周波数側の係数位置である終了位置までのDCT係数の各々を対応する第1の量子化幅の1/2以下の第2の量子化幅で除算した値である除算結果値を丸めた値である量子化代表値の最下位1ビットの各々を、挿入すべき任意のデータを構成するビットに変更することで、画像データに任意のデータを挿入する。
データを挿入する場合のDCT係数に対応する量子化幅である第2の量子化幅を、データを挿入しない場合のDCT係数に対応する通常の量子化幅である第1の量子化幅の1/2以下にしておけば、データ挿入にともなう量子化代表値の変位は、第1の量子化幅によるDCT係数量子化の際の量子化誤差と同等となる。よって、データ挿入による画質劣化を防止できる。
量子化部は、第2の量子化幅を、低周波数側の係数位置の各DCT係数から高周波数側の係数位置の各DCT係数に対応させて、ジグザグスキャン順に順次増加させるとよい。
通常、低周波数側のDCT係数から高周波数側のDCT係数にかけて、ジグザグスキャン順に沿って徐々に0の量子化代表値が発生する確率が高くなるよう第1の量子化幅が設定されているからから、これにあわせて第2の量子化幅を増大させることで、画像品質の確保と符号量の増加防止を両立させることができる。
本発明に係るデータ挿入方法は、画像データを分割して得られた複数のブロック毎に算出されたDCT(離散コサイン変換)係数を入力するステップと、入力されたDCT係数の内、データ挿入を開始する所定の低周波数側の係数位置である開始位置からデータ挿入を終了する所定の高周波数側の係数位置である終了位置までのDCT係数の各々を対応する量子化幅で除算した値である除算結果値を丸めた値である量子化代表値の最下位1ビットの各々を、挿入すべき任意のデータを構成するビットに変更することで、画像データに任意のデータを挿入するステップと、を含む。
本発明に係るデータ挿入方法は、第1の量子化幅で量子化されたDCT(離散コサイン変換)係数が符号化された圧縮符号化画像データを入力するステップと、入力された圧縮符号化画像データから、DCT係数を復号化するステップと、復号化されたDCT係数の内、データ挿入を開始する所定の低周波数側の係数位置である開始位置からデータ挿入を終了する所定の高周波数側の係数位置である終了位置までのDCT係数の各々を対応する第1の量子化幅の1/2以下の第2の量子化幅で除算した値である除算結果値を丸めた値である量子化代表値の最下位1ビットの各々を、挿入すべき任意のデータを構成するビットに変更することで、画像データに任意のデータを挿入するステップと、を含む。
本発明に係る画像圧縮符号化方法は、画像データを複数のブロックに分割するブロック化を行い、ブロック毎にDCT(離散コサイン変換)係数を算出するステップと、各ブロックのDCT係数を対応する第1の量子化幅で除算した値である除算結果値を丸めることで各DCT係数の量子化代表値を決定するステップと、データ挿入を開始する所定の低周波数側の係数位置である開始位置からデータ挿入を終了する所定の高周波数側の係数位置である終了位置までのDCT係数の各々を対応する第1の量子化幅の1/2以下の第2の量子化幅で除算した値である除算結果値を丸めた値である量子化代表値の最下位1ビットの各々を、挿入すべき任意のデータを構成するビットに変更することで、画像データに任意のデータを挿入するステップと、各DCT係数の量子化代表値を格納した量子化データテーブルを作成し、量子化データテーブルを符号化するステップと、を含む。
本発明によると、画像データを分割することで得られたブロックごとに算出された各DCT係数の最下位1ビットを任意のデータのビットに変更することで、画像データを埋め込む。従来技術のように、各ブロックに1ビットのデータを挿入するのではなく、各DCT係数に1ビットずつデータを挿入できるから、画像データに挿入できるデータ量が格段に増加する。また、各DCT係数の変位は量子化幅を通常の1/2以下にした量子化結果の高々1ビットであるから、画質に与える影響が少ない。
以下、添付した図面を参照し本発明の好ましい実施の形態を説明する。
<第1実施形態>
図1は本発明の好ましい第1の実施形態に係る画像圧縮符号化装置のブロック図である。詳細は省略するが、本実施形態で述べる画像圧縮符号化装置の各ブロックはプログラム制御によっても実現可能である。
図1は本発明の好ましい第1の実施形態に係る画像圧縮符号化装置のブロック図である。詳細は省略するが、本実施形態で述べる画像圧縮符号化装置の各ブロックはプログラム制御によっても実現可能である。
画像データ作成部11は、デジタルスチルカメラに内蔵されたアナログフロントエンドなどの画像信号出力部10から出力された画像信号のガンマ補正、画素補間法による欠陥画素の補間、ホワイトバランスの補正、画像信号の鮮鋭化、手振れによる影響の補正、CMYGの色空間からRGBの色空間への色空間変換等の処理を行って被写体像を表すRGBの各色毎のデータを生成し、3×3行列による線形変換により輝度を表す輝度信号(Y)、「青み」成分を表す色差信号(U)及び「赤み」成分を表す色差信号(V)のYUVの色空間に変換して画像データを出力する。
YUVの色空間への変換には例えば、Y=0.2990R+0.5870G+0.1140B U=−0.1687R−0.3313G+0.5000B+128 V=0.5000R−0.4187G−0.0813B+128という変換式を用いることができる。
なお、白黒画像はU=V=0として考えればよく、本発明はカラー画像、白黒画像の両方に適用できる。
DCT処理部12は、画像データ作成部11から出力された画像データを8×8要素からなる複数のブロック(ここでは説明の便宜上64個のブロックとする)に分割するブロック化を行い、ブロック毎にDCT(離散コサイン変換)を行う。DCT処理部12は、DCT係数を格納した8×8のテーブル形式のDCT係数テーブルをブロック毎に作成し、量子化部13に出力する。
量子化部13は、DCT処理部12から出力されたブロック毎のDCT係数テーブルの各DCT係数を、量子化表の対応する区間幅(量子化幅あるいは量子化ステップと呼ばれる)で割り、その値の少数以下の桁を丸めることで、各DCT係数を量子化する。
量子化代表値Qは、例えば、x:量子化前のDCT係数の値、Δ:量子化幅、g:四捨五入・切捨て・切り上げなどの丸め演算をおこなう関数とすると、
で表される。ミッドトレッド型の線形量子化では、gは四捨五入の丸め処理を行う関数である。JPEGなどでは、
とΔを別々に符号化している。本明細書では説明の便宜上、数2で求まる値、すなわちDCT係数を量子化した値を量子化代表値と呼ぶ。
DCT処理部12は、このようにして決定されたDCT係数の量子化代表値を格納した8×8のテーブル形式の量子化データテーブルをブロック毎に作成し、エントロピー符号化部14に出力する。
エントロピー符号化部14は、量子化部13から出力されたブロック毎の量子化データテーブルをハフマン符号表などを用いてエントロピー符号化し、ビットストリームを出力する。この際、最高周波数の係数位置まで連続するゼロの量子化代表値の列の長さ(ゼロランレングス)を考慮した符号化を行なうことにより、ビット数が効果的に低減される。
符号化データにはEOB(エンドオブブロック)のコードが付加される。ここで、EOBとは、ブロック内の後続の量子化代表値は全てゼロであるという意味のコードである。
DCTを行って得られるDCT係数テーブルにおいては、左上に画質の劣化が顕在化しやすい低い空間周波数のDCT係数が配置され、右下に向かうほど画質の劣化が顕在化しにくい高い空間周波数のDCT係数が配置される。
図2は、量子化データテーブルに格納されている量子化代表値をエントロピー符号化する順序及びエントロピー復号化された量子化代表値を量子化データテーブルに格納する順序を表す図である。図示するように、量子化代表値を左上から右下に向かってジグザグの順序でエントロピー符号化又は格納することから、この順序を一般にジグザグ順序あるいはジグザグシーケンスという。従って、例えばこのジグザグ順序の順にエントロピー復号化を行うと、低い空間周波数のDCT係数を表す量子化代表値ほど先に復元される。ゼロの量子化代表値の列の先頭には、EOBが付加されている。
以下、データを挿入しない場合にY成分の画像データのDCT係数D(m)を割る通常の区間幅を第1の量子化ステップQ1(m)で表し、データを挿入する場合にY成分の画像データのDCT係数D(m)を割る区間幅を第2の量子化ステップQ2(m)で表す(mはジグザグ順序を示す添え字であり、0≦m≦63)。また、第1の量子化ステップQ1(m)による量子化によって定まったEOBを本来のEOBと呼び、本来のEOBの量子化代表値のジグザグスキャンの順番をX(0≦X≦63)とする。また、第1の量子化ステップQ1(m)によるDCT係数D(m)の量子化で求められた量子化代表値をR1(m)で表す。また、第2の量子化ステップQ2(m)によるDCT係数D(m)の量子化で求められた量子化代表値をR2(m)で表す。
また、第2の量子化ステップQ2(m)による量子化によって定まり、かつ本来のEOBの位置よりも1つ分高周波数側のEOBを新たなEOBと呼び、新たなEOBの量子化代表値のジグザグスキャンの順番をW(0≦W≦63)とする。
データ挿入部15は、挿入したい任意のデータのビット列の埋め込みを開始するY成分画像データの量子化代表値R2(Z)からビット列の埋め込みを終了する量子化代表値R2(Y)までの各々の最下位1ビットに、データのビット列の先頭から順に1ビットずつ埋め込む(0≦Z≦m≦Y≦X≦63)。
具体的には、データ挿入部15は、DCT係数D(m)に対応する量子化ステップQ1(m)と量子化代表値R1(m)を破棄した上、DCT係数D(m)に対応する量子化ステップをQ2(m)に設定し、除算結果値D(m)/Q2(m)の丸め演算結果値の偶奇性(パリティ)が埋め込むデータビットの値(0または1)と対応するように除算結果値D(m)/Q2(m)の丸め方向を設定し、設定した丸め方向に除算結果値D(m)/Q2(m)を丸めた値を、DCT係数D(m)の量子化代表値R2(m)にすることで、各量子化代表値R2(m)にビットの挿入を行う。
詳細は省略するが、U・V成分にも、Y成分と同様にしてデータ埋め込みができるのはいうまでもない。
以下では説明の簡略のため、あるブロックのある1つの量子化代表値R2(m)についてのデータ挿入について説明するが、複数ブロックのそれぞれの量子化代表値R2(m)について、同様にデータ挿入ができる。
本明細書ではデータ挿入を開始するZ番目の係数位置は固定(すなわちZは所定の値)であるものとするが、無論、様々なパラメータに応じて可変にしてもよい。データ挿入を終了するY番目の係数位置は、本来のEOBの1つ前の係数位置(Y=X-1)であることが好ましく、本来のEOBの位置に依存して変化する。これは、本来のEOB以降にビットを挿入することで、ゼロランレングスが短くなり、符号化効率が低下するのを防止するためである。本来のEOBの位置がデータ埋め込み開始位置(ジグザグスキャン順序がZ番目の係数位置)よりも低周波数側であれば、データ挿入は行わない。
従来例では、1マクロブロックにつき1ビットしかデータ挿入できないが、本実施形態では、1マクロブロックの各量子化代表値R2(m)(0≦Z≦m≦Y≦63)に1ビットずつデータを挿入することができるから、従来例よりも挿入できるデータ量が格段に増加する。
図3は、データ挿入部15によるビット挿入の一例を示す。この図では、説明の便宜上、第2の量子化ステップQ2(m)は第1の量子化ステップQ1(m)と同じく1であり(Q1(m)=Q2(m)=1)、かつ除算結果値D(m)/Q2(m)は-0.5〜0.5の範囲内であるとする。
データ挿入部15は、挿入すべきビット値が「0」、除算結果値D(m)/Q2(m)が-0.5<D(m)/Q2(m)≦0であるとすると、丸め方向を+∞側に設定し、量子化代表値を、R1(m)から、除算結果値D(m)/Q2(m)の最近傍の偶数R2(m)=0に変更する。また、挿入すべきビット値が「0」、除算結果値が0≦D(m)/Q2(m)<0.5であるとすると、丸め方向を-∞側に設定し、量子化代表値を、R1(m)から、を除算結果値D(m)/Q2(m)の最近傍の偶数R2(m)=0に変更する。これらの丸め演算はいわゆる四捨五入に相当し、量子化代表値をR1(m)からR2(m)に変更した際に生じる誤差は、第1の量子化ステップQ1(m)の半分(=0.5)未満であり、第1の量子化ステップQ1(m)による量子化の際の丸め誤差(除算結果値D(m)/Q1(m)の四捨五入による丸め誤差)と変わらない。
一方、挿入すべきビット値が「1」、除算結果値D(m)/Q2(m)が-0.5<D(m)/Q2(m)≦0であるとすると、丸め方向を-∞側に設定し、量子化代表値を、R1(m)から、除算結果値D(m)/Q2(m)の最近傍の奇数R2(m)=-1に変更する。また、挿入すべきビット値が「1」、除算結果値が0≦D(m)/Q2(m)<0.5であるとすると、丸め方向を+∞側に設定し、量子化代表値を、R1(m)から、除算結果値D(m)/Q2(m)の最近傍の奇数R2(m)=1に変更する。これらの丸め演算はいわゆる切り下げ、切り上げに相当し、量子化代表値をR1(m)からR2(m)に変更した際に生じる誤差は、第1の量子化ステップQ1(m)(=1)未満となり、第1の量子化ステップQ1(m)による量子化の際の丸め誤差(除算結果値D(m)/Q1(m)の四捨五入による丸め誤差)の倍となる。
このように、量子化代表値R2(m)に挿入するデータビットが0であれば量子化代表値R1(m)は除算結果値D(m)/Q2(m)の最近傍の偶数R2(m)に変更され、挿入するデータビットが1であれば量子化代表値R1(m)は除算結果値D(m)/Q2(m)の最近傍の奇数R2(m)に変更される。復号側では、量子化代表値R2(m)が偶数(すなわち最下位ビットが0)であればデータビット0が挿入されており、量子化代表値R2(m)が奇数(すなわち最下位ビットが1)であればデータビット0が挿入されていることを識別できる。
ところで、Q1(m)=Q2(m)とすると、R1(m)からR2(m)への量子化代表値への変更にともなう量子化誤差は、第1の量子化ステップQ1(m)による量子化の際に生じる誤差(量子化誤差)よりも大きくなり、画質劣化の原因となりうる。
そこで本実施形態ではさらに、データ埋め込みによる量子化代表値の変更にともなう画質劣化を、第1の量子化ステップQ1(m)による量子化の量子化誤差の範囲内に収めるため、第2の量子化ステップQ2(m)を、第1の量子化ステップQ1(m)の1/2以下とする。
すなわち、
を満足するよう第2の量子化ステップQ2(m)を予め設定しておく。
こうすると、第2の量子化ステップQ2(m)による量子化の量子化誤差は、第1の量子化ステップQ1(m)による量子化の量子化誤差と同一か、あるいはそれ未満となり、データビット挿入による画像劣化を発生しにくくすることができる。
人間の知覚特性を表すCSF(Contrast Sensitivity Function)を元に決定された、最良のQ2(m)の値は、
である。このQ2(m)の求め方は、後述の実施例で説明する。
ただし、数3や数4のように、量子化ステップQ2(m)がQ1(m)よりも小さい値だと、高周波数側における変更後の量子化代表値R2(m)が0でない値となる確率が高まり、第1の量子化ステップQ1(m)による量子化に比して新たなEOBまででゼロランレングスが発生する確率が落ちたり、ゼロランレングスが短くなる。このため、符号化の効率が低下してJPEGファイルが長大化する。
このため、本実施形態では、第2の量子化ステップQ2(m)を、低周波数側から高周波数側にかけてジグザグ順に順次増大させるようにする。
一例として、量子化ステップQ2(m)を、
とし、Q1(m)を小さくする分母を71/2から2へ順次変化させる。あるいは、
とし、Q1(m)を小さくする分母を71/2から1へ順次変化させてもよい。
あるいは、k<Yとなる定数kを予め設定しておき、
あるいは、k<Yとなる定数kを予め設定しておき、
とし、mがZとkとの間はQ1(m)を小さくする分母を71/2から1へ順次変化させ、mがk+1とYとの間はQ1(m)を小さくする分母を1(すなわちQ2(m)はQ1(m)と同じ値)にしてもよい。
元々、低周波数側から高周波数側の係数位置にかけて、徐々に0の量子化代表値が発生する確率が高くなるよう第1の量子化ステップQ1(m)は設定されている。これに関連させて、第1の量子化ステップQ1(m)に数5〜7のような「mの単調増加関数」を乗じた値を第2の量子化ステップQ2(m)とし、Q2(m)の値をジグザグ順に増大させる。こうすると、第2の量子化ステップQ2(m)による量子化により高周波数側での量子化代表値R2(m)が量子化代表値R1(m)に比して0以外の値となる確率が低くなり、データ挿入にともなってゼロランレングスが短くなりJPEGファイルが長大化するのを可及的に防げる。
さて、上述のように、量子化代表値R2(m)が偶数であれば、その最下位ビットは0である。復号側からすると、新たなEOBの量子化代表値「0」と最も高い周波数側の係数位置の挿入ビット「0」との区別がつかなければならない。
このため、本来のEOBのDCT係数D(X)の除算結果値D(X)/Q1(X)の量子化代表値R1(X)を、データ終了マーカーとして、−1または1のうち除算結果値D(X)/Q1(X)に最も近い方の値R2(X)に変更する。データ終了マーカーは、新たなEOBよりも1つ分低周波数側の係数位置にあるから、復号側は、低周波数側から順次DCT係数を復号化する際にデータ終了マーカーを検出することで、挿入ビット「0」とEOB(End of Block)以下のゼロ量子化代表値列とを区別できる。
なお、本来のEOBの量子化代表値が終了マーカーに変更されることで、新たなEOBは本来のEOBよりも1つ分高周波数側の係数位置に繰り上がるが、従来技術のようにEOB自体が消滅してしまうのではなく、たかだか1係数位置ずれるだけであるため、ゼロランレングスの減少による符号化効率の低下、符号量の増加は大きくない。
また、本来のEOBの量子化代表値が0から−1または1に変わることで、画質が劣化することも考えられる。このため、Q2(X)<Q1(X)を本来のEOBのDCT係数D(X)の量子化ステップに変更し、量子化代表値R1(X)を、−1または1のうち除算結果値D(X)/Q2(X)に最も近い方の値R2(X)に変更すれば、その分、本来のEOBを終了マーカーに変更することによる誤差が小さくなり、画質への影響も小さくなる。
これは、復号側において終了マーカーから本来のEOBのDCT係数が、
データ終了マーカー×Q2(X)
によって逆量子化されるが、Q2(X)が小さければ小さいほど、本来のEOBのDCT係数=0に近づくからである。
データ終了マーカー×Q2(X)
によって逆量子化されるが、Q2(X)が小さければ小さいほど、本来のEOBのDCT係数=0に近づくからである。
特に、Q2(X)≦Q1(X)/2とすれば、量子化代表値R1(X)をデータ終了マーカーに変更することによる誤差は、第1の量子化ステップQ1(X)による量子化の量子化誤差と同じかそれ未満となる。
1.基本アルゴリズム
まず、図4に、データを秘匿する画像に非圧縮画像を使ったステガノグラフィのエンコーダーの例を示す。量子化器Qnで下位nビットが0になった再量子化値の下位nビットに、ランダマイザで白色化した秘匿データ系列を埋め込む。同時に、ディザとフィードバックフィルタF(z)で誤差拡散を行うことにより、画質劣化を知覚されることを極力防ぐ。人間の知覚特性は、例えば図5に示すCSF(Contrast Sensitivity Function)のような特性を有しており(表1、文献[1][2]を参照)、これから図6に示すような知覚されにくい雑音電力スペクトルの形状を仮定することができる。画質劣化を知覚されにくくするためには、この雑音電力スペクトルと再量子化誤差によって生じる雑音のパワースペクトルが相似形になることが望ましい。
まず、図4に、データを秘匿する画像に非圧縮画像を使ったステガノグラフィのエンコーダーの例を示す。量子化器Qnで下位nビットが0になった再量子化値の下位nビットに、ランダマイザで白色化した秘匿データ系列を埋め込む。同時に、ディザとフィードバックフィルタF(z)で誤差拡散を行うことにより、画質劣化を知覚されることを極力防ぐ。人間の知覚特性は、例えば図5に示すCSF(Contrast Sensitivity Function)のような特性を有しており(表1、文献[1][2]を参照)、これから図6に示すような知覚されにくい雑音電力スペクトルの形状を仮定することができる。画質劣化を知覚されにくくするためには、この雑音電力スペクトルと再量子化誤差によって生じる雑音のパワースペクトルが相似形になることが望ましい。
つぎに、今回考案したJPEGデータにデータを秘匿する方法の概要を述べる。JPEGの符号化は図7に示す順序で処理が行われる。画素値にデータ秘匿を行ってもその後にDCT変換と量子化が施されるため、秘匿データが破壊される。そのため、画素値にデータ秘匿をするのではなく、DCT係数の量子化の際にデータを秘匿することを考える。なお、今回の研究では一つのDCT係数にたかだか1ビットのデータを秘匿することにする。これは、元来JPEG符号化が人間の知覚特性を利用して情報量圧縮しており、DCT係数に2ビット以上のデータを秘匿すると後述するように量子化雑音電力が大きくなって、画質劣化の知覚を防ぐことが困難になるためである。
図8に、通常の量子化を行うなら偶数の量子化代表値となるDCT係数に、データ秘匿を行う場合を示す。通常の量子化であれば最大の量子化誤差は量子化ステップの半分であるが、図8では最大で量子化ステップになる。これは通常の量子化で奇数の量子化代表値となるDCT係数の場合も同じである。平均量子化雑音電力についても述べておく。通常の量子化の量子化ステップをΔ、DCT係数xの生起確率を各量子化境界内で一様なp(x)、xの量子化代表値をq(x)とすると、平均雑音電力はMaxの量子化器より、
図8のようにデータ秘匿を行う場合、量子化ステップをδ、通常の量子化なら量子化代表値が偶数となる確率、奇数となる確率をそれぞれ1/2、埋め込むデータビット’0’,’1’の生起確率をそれぞれ1/2だとすると、平均雑音電力は
画像データはDCT変換によって既に周波数領域に変換されているため、DCT係数にデータ秘匿をしながら量子化した量子化雑音電力スペクトルが、直接図6のような形状になるように量子化ステップを決定してやる必要がある。
また、量子化ステップがJPEGデータサイズに及ぼす影響を考慮しなければならない。JPEG符号化では、DCT係数は図9に示すようにジグザグスキャンをして低域から高域に向かって線形量子化されるため、特に高域においてDCT係数の量子化値が連続して0になる確率が高い。量子化値として0が続けば、ハフマン符号化時にゼロランレングス符号によってJPEGデータサイズが小さくなる。しかし、量子化ステップが小さいと量子化値が0になる確率が減るため、ゼロランレングス符号によるJPEGデータサイズの減少があまり期待できなくなる。そのため、画質劣化の知覚を防ぐこととJPEGデータサイズが通常より大きくなることの両面を考慮し、量子化ステップとデータを秘匿するDCT係数の位置を決定する必要がある。
2.輝度データへの秘匿
画像の輝度データに対して任意のデータの埋め込みを行う。埋め込みによる画像の劣化を知覚されにくくするため、以下のような工夫を行った。
1.CSFを検討することで知覚されにくいように埋め込みを行う。
2.埋め込みによって発生する最大の雑音電力を、埋め込みを行わない場合と同じレベルに抑える。
画像の輝度データに対して任意のデータの埋め込みを行う。埋め込みによる画像の劣化を知覚されにくくするため、以下のような工夫を行った。
1.CSFを検討することで知覚されにくいように埋め込みを行う。
2.埋め込みによって発生する最大の雑音電力を、埋め込みを行わない場合と同じレベルに抑える。
詳細は省略する。
2.2量子化雑音電力と画質劣化の関係
画像へのデータの埋め込みを行うと通常のJPEG圧縮による量子化誤差以上の誤差が発生する。その誤差から生じる雑音のパワーを埋め込みを行わない画像と等しくすることで、画像の劣化を知覚されにくくした。
2.2量子化雑音電力と画質劣化の関係
画像へのデータの埋め込みを行うと通常のJPEG圧縮による量子化誤差以上の誤差が発生する。その誤差から生じる雑音のパワーを埋め込みを行わない画像と等しくすることで、画像の劣化を知覚されにくくした。
数9にあるとおり、埋め込みによる誤差の平均雑音電力を通常の平均量子化雑音電力と等しくするには量子化ステップサイズを1/2にすれば良いが、次章の評価実験の結果、1/2では画像の劣化が知覚されやすいことがわかった。
そこで、この原因が埋め込みによる最悪の雑音電力にあるのではないかと推測し、最悪の雑音電力を通常の平均量子化雑音電力と等しくなるような量子化ステップサイズを検討した。
JPEG圧縮における量子化雑音電力は数8よりΔ2/12である。
データを埋め込んだ場合の誤差による平均雑音電力は数9より、
(一重下線は埋め込み誤差なし、二重下線は埋め込み誤差あり)
ここで、埋め込み誤差が発生する場合のみを考えると、
ここで、埋め込み誤差が発生する場合のみを考えると、
となる。埋め込みを行った場合の最大雑音電力と、埋め込みを行っていない場合の量子化雑音電力を等しくするための量子化ステップサイズは、
となり、埋め込みを行う位置の量子化ステップサイズを埋め込まない場合の7-1/2にすれば良いことがわかる。
しかし、埋め込む位置全ての量子化ステップサイズを7-1/2にすると圧縮率が下がり、ファイルサイズが大きくなってしまう。そこで、人の目の感度が高い周波数帯域では7-1/2とし、感度が低い周波数帯域では1/2の量子化ステップサイズとすることで、画質を維持しつつファイルサイズの増加を抑える。
3.画質の主観評価
ステガノグラフィ画像と通常のJPEG画像間での画質の主観評価を行った。データの埋め込みにおいて画質と関わるのは、データの埋め込みを開始するDCT係数の位置(図10)なので、JPEGのQuality値と埋め込みを開始する位置を変化させた画像を用いて評価を行った。この評価で用いた画像は、埋め込む場所に対応する量子化ステップサイズを1/2にする手法で作成した。
ステガノグラフィ画像と通常のJPEG画像間での画質の主観評価を行った。データの埋め込みにおいて画質と関わるのは、データの埋め込みを開始するDCT係数の位置(図10)なので、JPEGのQuality値と埋め込みを開始する位置を変化させた画像を用いて評価を行った。この評価で用いた画像は、埋め込む場所に対応する量子化ステップサイズを1/2にする手法で作成した。
ここで、JPEGのQuality値とは、JPEGの圧縮率に関わる数値(0〜100)である。大きいほど圧縮率が低く画像の劣化も少ない。IJGのエンコーダの場合、デフォルトのQuality値は75である。
■評価に用いた画像
25枚*16種類(埋め込み開始位置の変化、Qualityの変化(図11))
■評価者
6名
■評価方法
埋め込みを行っていないJPEG画像とJPEGステガノグラフィ画像を比較し、1〜6の数値で評価を行う。
1画質劣化が非常に気になる
…
5画質劣化が全く気にならない
6ステガノグラフィ画像のほうが画質が良い
図12に示すように、評価実験の結果、埋め込みによる画質の劣化が予想以上に知覚されることが判明した。そこで埋め込みによる平均最大雑音電力が、埋め込み無しのときの平均量子化雑音電力と等しくなるように量子化ステップサイズを7-1/2にする手法を用いて再度実験を行った。
■評価に用いた画像
25枚*16種類(埋め込み開始位置の変化、Qualityの変化(図11))
■評価者
6名
■評価方法
埋め込みを行っていないJPEG画像とJPEGステガノグラフィ画像を比較し、1〜6の数値で評価を行う。
1画質劣化が非常に気になる
…
5画質劣化が全く気にならない
6ステガノグラフィ画像のほうが画質が良い
図12に示すように、評価実験の結果、埋め込みによる画質の劣化が予想以上に知覚されることが判明した。そこで埋め込みによる平均最大雑音電力が、埋め込み無しのときの平均量子化雑音電力と等しくなるように量子化ステップサイズを7-1/2にする手法を用いて再度実験を行った。
この実験は、評価者1名、評価に使用した画像5枚*19種類(前回の16種類+各Qualityの通常JPEG画像)、同じ評価基準で行った。この結果、図13に示すように、量子化ステップサイズを1/2にしたときよりも知覚されにくくなっていることがわかる。また、埋め込み開始位置を20番以降にすれば評価得点が4.5以上になり、埋め込みを行っても画像の劣化がほぼ気にならないと判断できる。
図14に、20番以降にデータを埋め込んだ場合の秘匿データ量とJPEGファイルサイズの増加を示す。
通常JPEG画像に対して各Qualityで最大15%程度の埋め込みを行うことができた。また、秘匿データ量に対してのJPEGファイルサイズの増加量は1.1倍〜1.7倍となった。Quality95の場合を除けば、埋め込み量を多くした場合の方が埋め込み効率が良いことがわかる。
図15は、512x512画素の標準画像Lenaにデータを埋め込んだ場合の秘匿データ量とJPEGファイルサイズの増加を示す。なお、非特許文献2「埋込位置の特定を必要としないJPEG画像へのデータ埋込法」におけるQ-factorと本実施例のQualityとの関係は、おおよそ次のとおりである。
Quality82⇔Q-factor20
Quality28⇔Q-factor80
Quality15⇔Q-factor140
Quality9⇔Q-factor200
Quality28⇔Q-factor80
Quality15⇔Q-factor140
Quality9⇔Q-factor200
<第2実施形態>
図16は本発明の好ましい第2の実施形態に係るデータ挿入機能付き画像圧縮符号化装置のブロック図である。この装置は、第1実施形態と異なり、復号化部21、再量子化部22、エントロピー符号化部23をさらに備える。再量子化部22は、データ挿入部15を含んでいる。画像信号出力部10、画像データ作成部11、DCT処理部12、量子化部13、エントロピー符号化部14は、第1実施形態と同様である。第1処理ブロック101は、画像信号出力部10、画像データ作成部11、DCT処理部12、量子化部13、エントロピー符号化部14を含む。第2処理ブロック102は、復号化部21、再量子化部22、エントロピー符号化部23を含む。第1処理ブロック101と第2処理ブロックとは必ずしも1つの装置に組み込む必要はなく、別々の装置に組み込まれてもよい。
図16は本発明の好ましい第2の実施形態に係るデータ挿入機能付き画像圧縮符号化装置のブロック図である。この装置は、第1実施形態と異なり、復号化部21、再量子化部22、エントロピー符号化部23をさらに備える。再量子化部22は、データ挿入部15を含んでいる。画像信号出力部10、画像データ作成部11、DCT処理部12、量子化部13、エントロピー符号化部14は、第1実施形態と同様である。第1処理ブロック101は、画像信号出力部10、画像データ作成部11、DCT処理部12、量子化部13、エントロピー符号化部14を含む。第2処理ブロック102は、復号化部21、再量子化部22、エントロピー符号化部23を含む。第1処理ブロック101と第2処理ブロックとは必ずしも1つの装置に組み込む必要はなく、別々の装置に組み込まれてもよい。
復号化部21は、エントロピー符号化部14の出力した符号化画像データのDCT係数D(m)を復号化する。データ挿入部15は、復号化部21の復号したDCT係数D(m)のうち、所定の開始位置のDCT係数D(Z)から本来のEOBの1つ分低周波数側(非零最高変換係数の1つ前)のDCT係数D(Y)=D(X-1)を、量子化部13の符号化画像データの量子化幅Q1(m)よりも小さい量子化幅Q2(m)で割った上、第1実施形態と同様に挿入データビットに応じて除算結果値D(m)/Q2(m)を丸めることで、最下位1ビットにデータビットを挿入しながらDCT係数D(m)を量子化する。この量子化によって定まった新たなEOBの1つ前の位置の量子化代表値が1または−1であれば変化させない。新たなEOB以降(非零最高変換係数より上)の位置の零値のDCT係数はそのまま零値としてデータビットを埋め込まない。
データ挿入部15が量子化幅Q2(m)を量子化幅Q1(m)よりも小さくするのは,データを挿入しながら量子化することによる画質劣化を極力防ぐためである。
再量子化部22は、データ挿入部15が量子化代表値を決定したDCT係数以外のDCT係数の各々を、対応する量子化幅Q1(m)で割って四捨五入の丸め演算を施して量子化代表値を求め、再び量子化する。
エントロピー符号化部23は、再量子化部22が使用した量子化幅の量子化テーブルと、再量子化部22が決定した量子化代表値を符号化する。
このように、第2処理ブロック102は、第1処理ブロック101でいったん圧縮符号化された画像データに、任意のデータを挿入して、再び圧縮符号化する。
<第3実施形態>
第2実施形態のデータ挿入機能付き画像圧縮符号化装置の再量子化部22は、量子化部13の量子化テーブルQ1に基づき、逆量子化用の基本的な量子化テーブルQ2bの調整値(Quality Factor)であるfを決定してもよい。
第2実施形態のデータ挿入機能付き画像圧縮符号化装置の再量子化部22は、量子化部13の量子化テーブルQ1に基づき、逆量子化用の基本的な量子化テーブルQ2bの調整値(Quality Factor)であるfを決定してもよい。
前提として、再量子化部22は、第2実施形態のようにデータを挿入しない場合のDCT係数を量子化する基本量子化ステップQb2(m)(0≦m<64)を含む基本的な量子化テーブルQb2を有しているとする。
かつ、再量子化部22は、データを挿入する場合のDCT係数を量子化する基本量子化ステップQb3(m)(0≦m<64)を含む基本的な量子化テーブルQb3を有しているとする。
復号化部21は、量子化部13が量子化テーブルQ1に基づき量子化したDCT係数を、量子化テーブルQ1に基づき逆量子化した後、逆量子化したDCT係数と量子化テーブルQ1を再量子化部22に送る。
再量子化部22は、量子化テーブルQ1に基づきfを決定する。そして、再量子化部22は、実際にDCT係数を逆量子化するための量子化テーブルQ2を、Qb2(m)にfを一律に乗じることにより作成する。すなわち再量子化部22は、
Q2(m)=Qb2(m)×f(0≦m<64)
により量子化テーブルQ2を作成する。
Q2(m)=Qb2(m)×f(0≦m<64)
により量子化テーブルQ2を作成する。
かつ、本実施形態では、再量子化部22は、決定したfを基本量子化ステップQb3(m)に一律に乗じることにより、データ挿入のために使用する量子化テーブルQ3を作成する。
すなわち再量子化部22は、
Q3(m)=Qb3(m)×f(0≦m<64)
により量子化テーブルQ3を作成する。
Q3(m)=Qb3(m)×f(0≦m<64)
により量子化テーブルQ3を作成する。
ただし、直流成分位置からデータ埋め込みを開始するDCT係数位置(Zの1つ低周波数側の係数位置Z-1)までの量子化ステップは、量子化テーブルQ2、Q3で共通するものとする。すなわち、
Q2(m)=Q3(m)(0≦m≦Z-1)
である。
Q2(m)=Q3(m)(0≦m≦Z-1)
である。
データ挿入部15は、第1および第2実施形態と同様、復号化部21からの各DCT係数を量子化ステップQ3(m)(Z≦m≦Y)によって除算した値である除算結果値の丸め方向を挿入データの値に応じて変えることで、各DCT係数の最下位1ビットにデータを挿入する。
復号化部21からの各DCT係数を量子化ステップQ2(m)によって除算して本来のEOBを決定した後、量子化ステップQ3(m)(Z≦m≦Y)を用いてデータを挿入してもよい。量子化ステップQ3(m)(Z≦m≦Y)の値は、量子化ステップQ2(m)の1/2以下とすることが好ましく、(7)-1/2以下とすることがさらに好ましい。
10:画像信号出力部、11:画像データ作成部、12:DCT処理部、13:量子化部、14:エントロピー符号化部、15:データ挿入部、21:復号化部、22:再量子化部、23:エントロピー符号化部
Claims (9)
- 画像データを分割して得られた複数のブロック毎に算出されたDCT(離散コサイン変換)係数を入力するDCT係数入力部と、
前記DCT係数入力部に入力されたDCT係数の内、データ挿入を開始する所定の低周波数側の係数位置である開始位置からデータ挿入を終了する所定の高周波数側の係数位置である終了位置までのDCT係数の各々を対応する量子化幅で除算した値である除算結果値を丸めた値である量子化代表値の最下位1ビットの各々を、挿入すべき任意のデータを構成するビットに変更することで、前記画像データに前記任意のデータを挿入するデータ挿入部と、
を備えるデータ挿入装置。 - 前記データ挿入部は、前記量子化代表値のパリティが変更すべきビットの値と対応するように前記除算結果値を丸めて前記量子化代表値を得ることにより、前記画像データに前記任意のデータを挿入する請求項1に記載のデータ挿入装置。
- 前記終了位置はEOB(End of Block)よりも前記ジグザグスキャン順に沿った1つ以上低周波数側の係数位置である請求項1または2に記載のデータ挿入装置。
- 第1の量子化幅で量子化されたDCT(離散コサイン変換)係数が符号化された圧縮符号化画像データを入力する画像データ入力部と、
前記画像データ入力部に入力された圧縮符号化画像データから、前記DCT係数を復号化するDCT係数復号化部と、
前記DCT係数復号化部の復号化したDCT係数の内、データ挿入を開始する所定の低周波数側の係数位置である開始位置からデータ挿入を終了する所定の高周波数側の係数位置である終了位置までのDCT係数の各々を対応する第1の量子化幅の1/2以下の第2の量子化幅で除算した値である除算結果値を丸めた値である量子化代表値の最下位1ビットの各々を、挿入すべき任意のデータを構成するビットに変更することで、前記画像データに前記任意のデータを挿入するデータ挿入部と、
を備えるデータ挿入装置。 - 画像データを複数のブロックに分割するブロック化を行い、ブロック毎にDCT(離散コサイン変換)係数を算出するDCT変換部と、各ブロックのDCT係数を対応する第1の量子化幅で除算した値である除算結果値を丸めることで各DCT係数の量子化代表値を決定する量子化部と、各DCT係数の量子化代表値を格納した量子化データテーブルを作成し、量子化データテーブルを符号化する符号化部とを備える画像圧縮符号化装置であって、
前記量子化部は、データ挿入を開始する所定の低周波数側の係数位置である開始位置からデータ挿入を終了する所定の高周波数側の係数位置である終了位置までのDCT係数の各々を対応する第1の量子化幅の1/2以下の第2の量子化幅で除算した値である除算結果値を丸めた値である量子化代表値の最下位1ビットの各々を、挿入すべき任意のデータを構成するビットに変更することで、前記画像データに前記任意のデータを挿入する画像圧縮符号化装置。 - 前記量子化部は、前記第2の量子化幅を、低周波数側の係数位置の各DCT係数から高周波数側の係数位置の各DCT係数に対応させて、ジグザグスキャン順に順次増加させる請求項5に記載の画像圧縮符号化装置。
- 画像データを分割して得られた複数のブロック毎に算出されたDCT(離散コサイン変換)係数を入力するステップと、
入力されたDCT係数の内、データ挿入を開始する所定の低周波数側の係数位置である開始位置からデータ挿入を終了する所定の高周波数側の係数位置である終了位置までのDCT係数の各々を対応する量子化幅で除算した値である除算結果値を丸めた値である量子化代表値の最下位1ビットの各々を、挿入すべき任意のデータを構成するビットに変更することで、前記画像データに前記任意のデータを挿入するステップと、
を含むデータ挿入方法。 - 第1の量子化幅で量子化されたDCT(離散コサイン変換)係数が符号化された圧縮符号化画像データを入力するステップと、
入力された圧縮符号化画像データから、前記DCT係数を復号化するステップと、
復号化されたDCT係数の内、データ挿入を開始する所定の低周波数側の係数位置である開始位置からデータ挿入を終了する所定の高周波数側の係数位置である終了位置までのDCT係数の各々を対応する第1の量子化幅の1/2以下の第2の量子化幅で除算した値である除算結果値を丸めた値である量子化代表値の最下位1ビットの各々を、挿入すべき任意のデータを構成するビットに変更することで、前記画像データに前記任意のデータを挿入するステップと、
を含むデータ挿入方法。 - 画像データを複数のブロックに分割するブロック化を行い、ブロック毎にDCT(離散コサイン変換)係数を算出するステップと、
各ブロックのDCT係数を対応する第1の量子化幅で除算した値である除算結果値を丸めることで各DCT係数の量子化代表値を決定するステップと、
データ挿入を開始する所定の低周波数側の係数位置である開始位置からデータ挿入を終了する所定の高周波数側の係数位置である終了位置までのDCT係数の各々を対応する第1の量子化幅の1/2以下の第2の量子化幅で除算した値である除算結果値を丸めた値である量子化代表値の最下位1ビットの各々を、挿入すべき任意のデータを構成するビットに変更することで、前記画像データに前記任意のデータを挿入するステップと、
各DCT係数の量子化代表値を格納した量子化データテーブルを作成し、量子化データテーブルを符号化するステップと、
を含む画像圧縮符号化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006038630A JP2007221387A (ja) | 2006-02-15 | 2006-02-15 | データ挿入装置および方法ならびに画像圧縮符号化装置および方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006038630A JP2007221387A (ja) | 2006-02-15 | 2006-02-15 | データ挿入装置および方法ならびに画像圧縮符号化装置および方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007221387A true JP2007221387A (ja) | 2007-08-30 |
Family
ID=38498171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006038630A Pending JP2007221387A (ja) | 2006-02-15 | 2006-02-15 | データ挿入装置および方法ならびに画像圧縮符号化装置および方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007221387A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009047833A1 (ja) * | 2007-10-09 | 2009-04-16 | C4 Technology, Inc. | 電子透かし埋め込み方法、電子透かし埋め込み装置、プログラムおよびコンピューター読み取り可能な記録媒体 |
JP2010219798A (ja) * | 2009-03-16 | 2010-09-30 | Ricoh Co Ltd | 画像符号・復号化装置、画像符号・復号化方法、プログラム、記録媒体及び画像処理装置 |
-
2006
- 2006-02-15 JP JP2006038630A patent/JP2007221387A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009047833A1 (ja) * | 2007-10-09 | 2009-04-16 | C4 Technology, Inc. | 電子透かし埋め込み方法、電子透かし埋め込み装置、プログラムおよびコンピューター読み取り可能な記録媒体 |
JP2010219798A (ja) * | 2009-03-16 | 2010-09-30 | Ricoh Co Ltd | 画像符号・復号化装置、画像符号・復号化方法、プログラム、記録媒体及び画像処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8995522B2 (en) | Method and system for rate control | |
JP4365957B2 (ja) | 画像処理方法及びその装置及び記憶媒体 | |
KR101266577B1 (ko) | 화상 처리 방법 및 장치 | |
US20020129253A1 (en) | Watermarking a compressed information signal | |
JP2014519215A (ja) | データをロッシー圧縮符号化する方法および装置、および、データを再構築する対応する方法および装置 | |
US20010048769A1 (en) | Method and system for compressing motion image information | |
EP1413143B1 (en) | Processing a compressed media signal | |
JP2006081152A (ja) | デジタル画像符号化装置、デジタル画像符号化プログラム、デジタル画像符号化方法、及びデジタル画像復号化装置、デジタル画像復号化プログラム、並びにデジタル画像復号化方法 | |
JP2006505173A (ja) | 可変ビットレート信号の電子透かし付与方法 | |
JP2004241869A (ja) | 透かし埋め込み及び画像圧縮部 | |
TW201320757A (zh) | 位元串流型式之畫像的解碼方法 | |
Li et al. | A reversible data hiding scheme for JPEG images | |
JP2007221387A (ja) | データ挿入装置および方法ならびに画像圧縮符号化装置および方法 | |
JP4642509B2 (ja) | 圧縮画像データへの秘匿情報の埋め込み装置および秘匿データ埋め込み符号化装置 | |
Seki et al. | Quantization-based image steganography without data hiding position memorization | |
JP4919213B2 (ja) | 電子透かし挿入方式および検出方式 | |
US7646926B2 (en) | Image encoding apparatus | |
JP2007221388A (ja) | データ挿入装置および方法ならびに画像圧縮符号化装置および方法 | |
JP5235850B2 (ja) | 画像符号化装置、画像復号化装置、画像符号化・復号化システム及びその方法 | |
JP2007535262A (ja) | 圧縮情報信号に透かしを入れる方法 | |
JP5086777B2 (ja) | 画像符号化装置及びその制御方法、コンピュータプログラム並びにコンピュータ可読記憶媒体 | |
JP4731972B2 (ja) | 画像符号化方法及び画像符号化装置 | |
Watanabe et al. | Two-layer lossless HDR coding using histogram packing technique with backward compatibility to JPEG | |
JP2007221389A (ja) | データ挿入装置および方法ならびに画像圧縮符号化装置および方法 | |
JP2019068385A (ja) | 符号化装置、その制御方法、および制御プログラム、並びに撮像装置 |