(57)【要約】【課題】画像データへの任意データの埋め込みに際して、画質劣化の防止、画像データへ埋め込むデータ量の増大化、ファイルの長大化防止。【解決手段】データ挿入部１５は、挿入したい任意のデータのビット列の埋め込みを開始するＹ成分画像データの量子化代表値R1(Z)からビット列の埋め込みを終了する量子化代表値R1(Y)までの各々の最下位１ビットに、データのビット列の先頭から順に１ビットずつ埋め込む（0≦Z≦m≦Y≦X≦63）。データ挿入を終了するY番目の係数位置は、本来のＥＯＢの１つ前の係数位置（Y=X-1）である。第２の量子化ステップQ2(m)は、第１の量子化ステップQ1(m)の1/2以下であることが好ましく、さらに好ましくは、Q1(m)の7-1/2にする。【選択図】  図２
2007221387.tif 000002
【特許請求の範囲】
【請求項１】
画像データを分割して得られた複数のブロック毎に算出されたＤＣＴ（離散コサイン変換）係数を入力するＤＣＴ係数入力部と、
前記ＤＣＴ係数入力部に入力されたＤＣＴ係数の内、データ挿入を開始する所定の低周波数側の係数位置である開始位置からデータ挿入を終了する所定の高周波数側の係数位置である終了位置までのＤＣＴ係数の各々を対応する量子化幅で除算した値である除算結果値を丸めた値である量子化代表値の最下位１ビットの各々を、挿入すべき任意のデータを構成するビットに変更することで、前記画像データに前記任意のデータを挿入するデータ挿入部と、
を備えるデータ挿入装置。
【請求項２】
前記データ挿入部は、前記量子化代表値のパリティが変更すべきビットの値と対応するように前記除算結果値を丸めて前記量子化代表値を得ることにより、前記画像データに前記任意のデータを挿入する請求項１に記載のデータ挿入装置。
【請求項３】
前記終了位置はＥＯＢ(End of Block）よりも前記ジグザグスキャン順に沿った１つ以上低周波数側の係数位置である請求項１または２に記載のデータ挿入装置。
【請求項４】
第１の量子化幅で量子化されたＤＣＴ（離散コサイン変換）係数が符号化された圧縮符号化画像データを入力する画像データ入力部と、
前記画像データ入力部に入力された圧縮符号化画像データから、前記ＤＣＴ係数を復号化するＤＣＴ係数復号化部と、
前記ＤＣＴ係数復号化部の復号化したＤＣＴ係数の内、データ挿入を開始する所定の低周波数側の係数位置である開始位置からデータ挿入を終了する所定の高周波数側の係数位置である終了位置までのＤＣＴ係数の各々を対応する第１の量子化幅の１／２以下の第２の量子化幅で除算した値である除算結果値を丸めた値である量子化代表値の最下位１ビットの各々を、挿入すべき任意のデータを構成するビットに変更することで、前記画像データに前記任意のデータを挿入するデータ挿入部と、
を備えるデータ挿入装置。
【請求項５】
画像データを複数のブロックに分割するブロック化を行い、ブロック毎にＤＣＴ（離散コサイン変換）係数を算出するＤＣＴ変換部と、各ブロックのＤＣＴ係数を対応する第１の量子化幅で除算した値である除算結果値を丸めることで各ＤＣＴ係数の量子化代表値を決定する量子化部と、各ＤＣＴ係数の量子化代表値を格納した量子化データテーブルを作成し、量子化データテーブルを符号化する符号化部とを備える画像圧縮符号化装置であって、
前記量子化部は、データ挿入を開始する所定の低周波数側の係数位置である開始位置からデータ挿入を終了する所定の高周波数側の係数位置である終了位置までのＤＣＴ係数の各々を対応する第１の量子化幅の１／２以下の第２の量子化幅で除算した値である除算結果値を丸めた値である量子化代表値の最下位１ビットの各々を、挿入すべき任意のデータを構成するビットに変更することで、前記画像データに前記任意のデータを挿入する画像圧縮符号化装置。
【請求項６】
前記量子化部は、前記第２の量子化幅を、低周波数側の係数位置の各ＤＣＴ係数から高周波数側の係数位置の各ＤＣＴ係数に対応させて、ジグザグスキャン順に順次増加させる請求項５に記載の画像圧縮符号化装置。
【請求項７】
画像データを分割して得られた複数のブロック毎に算出されたＤＣＴ（離散コサイン変換）係数を入力するステップと、
入力されたＤＣＴ係数の内、データ挿入を開始する所定の低周波数側の係数位置である開始位置からデータ挿入を終了する所定の高周波数側の係数位置である終了位置までのＤＣＴ係数の各々を対応する量子化幅で除算した値である除算結果値を丸めた値である量子化代表値の最下位１ビットの各々を、挿入すべき任意のデータを構成するビットに変更することで、前記画像データに前記任意のデータを挿入するステップと、
を含むデータ挿入方法。
【請求項８】
第１の量子化幅で量子化されたＤＣＴ（離散コサイン変換）係数が符号化された圧縮符号化画像データを入力するステップと、
入力された圧縮符号化画像データから、前記ＤＣＴ係数を復号化するステップと、
復号化されたＤＣＴ係数の内、データ挿入を開始する所定の低周波数側の係数位置である開始位置からデータ挿入を終了する所定の高周波数側の係数位置である終了位置までのＤＣＴ係数の各々を対応する第１の量子化幅の１／２以下の第２の量子化幅で除算した値である除算結果値を丸めた値である量子化代表値の最下位１ビットの各々を、挿入すべき任意のデータを構成するビットに変更することで、前記画像データに前記任意のデータを挿入するステップと、
を含むデータ挿入方法。
【請求項９】
画像データを複数のブロックに分割するブロック化を行い、ブロック毎にＤＣＴ（離散コサイン変換）係数を算出するステップと、
各ブロックのＤＣＴ係数を対応する第１の量子化幅で除算した値である除算結果値を丸めることで各ＤＣＴ係数の量子化代表値を決定するステップと、
データ挿入を開始する所定の低周波数側の係数位置である開始位置からデータ挿入を終了する所定の高周波数側の係数位置である終了位置までのＤＣＴ係数の各々を対応する第１の量子化幅の１／２以下の第２の量子化幅で除算した値である除算結果値を丸めた値である量子化代表値の最下位１ビットの各々を、挿入すべき任意のデータを構成するビットに変更することで、前記画像データに前記任意のデータを挿入するステップと、
各ＤＣＴ係数の量子化代表値を格納した量子化データテーブルを作成し、量子化データテーブルを符号化するステップと、
を含む画像圧縮符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は圧縮符号化された静止画ないし動画データに任意のデータを埋め込む技術に関する。
【背景技術】
【０００２】
画像データ圧縮の分野において、種々の圧縮アルゴリズムが提案されている。例えば、ＪＰＥＧ圧縮の場合、オリジナル画像データを離散コサイン変換（ＤＣＴ）し、ビット配分を決定して量子化を行う。ベースライン方式の場合、量子化データをハフマン符号化により符号化して符号化データを得る。
【０００３】
この圧縮符号化された画像データに対して任意のデータを付加する技術として、ステガノグラフィ（Steganography）がある。ステガノグラフィは、付加情報（メッセージや画像など）を画像等に対して直接、重畳する処理を実行するものであり、例えば、画像情報の各画素の値を示すビット情報の最下位ビットにデータを入れたり（特許文献１）、あるいはマクロブロックの量子化されたＹ成分のＤＣＴ係数を変更したり（非特許文献１）、あるいは量子化されたＤＣＴ係数の和をある値で割った余りで埋め込みデータを表す（非特許文献２）など、様々な態様のものがある。
【０００４】
なお、ステガノグラフィに類似する情報埋め込み技術として、電子透かし（Watermark）がある。例えば、ＤＣＴ係数ブロック群の中から電子透かしを埋め込むＤＣＴ係数ブロック（埋込ブロック）を一つ以上選択し、選択された埋込ブロックそれぞれに対して、電子透かしを構成する一つのビットを埋め込む（特許文献２）。ただしこの技術は、画像自体の情報付加や著作権管理に使われ、電子透かしとして埋め込まれるデータの量が少なく、データ改変などに対して耐性が要求される。また、埋め込まれたデータの抽出が１００％可能とは限らず、これらの点でステガノグラフィと異なる。
【０００５】
また、データの埋め込みにより画質劣化が生じることがあるが、これを防止する技術としては、例えば、画像を埋め込む場所をＤＣＴ係数の最高周波数の位置にするものがある（特許文献３、非特許文献３）。
【特許文献１】特開２００３−２８９４３５号公報
【特許文献２】特開２０００−１５１９７３号公報
【特許文献３】特開２００２−３３０２７９号公報
【非特許文献１】特許庁標準技術集「ＪＰＥＧ符号化列に対するステガノグラフィ」インターネットＵＲＬ[http://www.jpo.go.jp/shiryou/s_sonota/hyoujun_gijutsu/denshi_sukashi/2_e_2.htm]
【非特許文献２】「埋込位置の特定を必要としないＪＰＥＧ画像へのデータ埋込法」、電子情報通信学会論文誌２００５／１０Ｖｏｌ．Ｊ８８−Ｄ−II  Ｎｏ．１０  ｐｐ．２０３７−２０４５、（社）電子情報通信学会
【非特許文献３】「ＪＰＥＧ符号化列へのバイナリデータのデータ埋込法」、電子情報通信学会論文誌２０００／６Ｖｏｌ．Ｊ８３−Ｄ−II  Ｎｏ．６  ｐｐ．１４６９−１４７６、（社）電子情報通信学会
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１、非特許文献１および特許文献２の技術では、１マクロブロックにつき１ビットしかデータを埋め込むことができず、埋め込めるデータ量が限られてしまう。非特許文献２の技術でも、埋め込めるデータ量が限られる。また、特許文献３および非特許文献３のようにすると、ＥＯＢ（End of Block）符号が消滅するため、符号化効率が低下し、ＪＰＥＧファイルが非常に大きくなる。
【０００７】
本発明は、画像データへの任意データの埋め込みに際して、画質劣化の防止、画像データへ埋め込むデータ量の増大化、ファイルの長大化防止を目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るデータ挿入装置は、画像データを分割して得られた複数のブロック毎に算出されたＤＣＴ（離散コサイン変換）係数を入力するＤＣＴ係数入力部と、ＤＣＴ係数入力部に入力されたＤＣＴ係数の内、データ挿入を開始する所定の低周波数側の係数位置である開始位置からデータ挿入を終了する所定の高周波数側の係数位置である終了位置までのＤＣＴ係数の各々を対応する量子化幅で除算した値である除算結果値を丸めた値である量子化代表値の最下位１ビットの各々を、挿入すべき任意のデータを構成するビットに変更することで、画像データに任意のデータを挿入するデータ挿入部と、を備える。
【０００９】
この発明によると、画像データを分割することで得られたブロックごとに算出された各ＤＣＴ係数の最下位１ビットを任意のデータのビットに変更することで、画像データを埋め込む。従来技術のように、各ブロックに１ビットのデータを挿入するのではなく、各ＤＣＴ係数に１ビットずつデータを挿入できるから、画像データに挿入できるデータ量が格段に増加する。
【００１０】
また、後述するように、データを挿入する可能性のある範囲のＤＣＴ係数の量子化幅を、データを挿入することを想定しない通常の量子化幅より１／２以下の小さい値に設定すれば、各ＤＣＴ係数の変位は高々１ビットであるから、画質に与える影響が少ない。
【００１１】
なお、ＤＣＴ係数入力部に入力されるＤＣＴ係数は、圧縮符号化前の画像データから得られたものであってもよいし、圧縮符号化後の画像データから復号化されたものであってもよい。
【００１２】
ここで、データ挿入部は、除算結果値を丸めた値である量子化代表値のパリティが変更すべきビットの値と対応するように除算結果値を丸めることで各ＤＣＴ係数の量子化代表値を決定することにより、画像データに任意のデータを挿入するとよい。
【００１３】
各量子化代表値の最下位１ビットは量子化代表値のパリティ（偶奇性）を表すが、これが同時に挿入されたビットの値（０または１）と対応していれば、量子化代表値の偶奇性に応じて挿入されたビットを容易に復元できる。
【００１４】
終了位置はＥＯＢ(End of Block）よりもジグザグスキャン順に沿った１つ以上低周波数側の係数位置であることが好ましい。
【００１５】
もし、本来のＥＯＢよりも高周波数側の係数位置の量子化代表値にビット値「１」を挿入した場合、ゼロランレングスが短くなり、符号化の効率が下がり、符号化データが長大化する。このため、ＥＯＢよりも１つ以上低周波数側の係数位置の量子化代表値にビットを挿入する。
【００１６】
なお、挿入ビット「０」とＥＯＢ（End of Block）以下の量子化代表値０の列とを区別するには、ＥＯＢのＤＣＴ係数の量子化代表値を、−１または１のうち、ＥＯＢのＤＣＴ係数の除算結果値と近い方の値に変更するなどして、非０の値のマーカーを挿入するとよい。
【００１７】
本発明に係るデータ挿入装置は、第１の量子化幅で量子化されたＤＣＴ（離散コサイン変換）係数が符号化された圧縮符号化画像データを入力する画像データ入力部と、画像データ入力部に入力された圧縮符号化画像データから、ＤＣＴ係数を復号化するＤＣＴ係数復号化部と、ＤＣＴ係数復号化部の復号化したＤＣＴ係数の内、データ挿入を開始する所定の低周波数側の係数位置である開始位置からデータ挿入を終了する所定の高周波数側の係数位置である終了位置までのＤＣＴ係数の各々を対応する第１の量子化幅の１／２以下の第２の量子化幅で除算した値である除算結果値を丸めた値である量子化代表値の最下位１ビットの各々を、挿入すべき任意のデータを構成するビットに変更することで、画像データに任意のデータを挿入するデータ挿入部と、を備える。
【００１８】
データを挿入するＤＣＴ係数に対応する量子化幅である第２の量子化幅を、ＤＣＴ係数に対応する当初の量子化幅である第１の量子化幅の１／２以下にしておけば、データ挿入にともなう量子化代表値の変位による量子化雑音電力は、第１の量子化幅によるＤＣＴ係数量子化の際の量子化雑音電力と同等となる。よって、データ挿入による画質劣化を防止できる。
【００１９】
本発明は、画像データを複数のブロックに分割するブロック化を行い、ブロック毎にＤＣＴ（離散コサイン変換）係数を算出するＤＣＴ変換部と、各ブロックのＤＣＴ係数を対応する第１の量子化幅で除算した値である除算結果値を丸めることで各ＤＣＴ係数の量子化代表値を決定する量子化部と、各ＤＣＴ係数の量子化代表値を格納した量子化データテーブルを作成し、量子化データテーブルを符号化する符号化部とを備える画像圧縮符号化装置に関する。
【００２０】
この量子化部は、データ挿入を開始する所定の低周波数側の係数位置である開始位置からデータ挿入を終了する所定の高周波数側の係数位置である終了位置までのＤＣＴ係数の各々を対応する第１の量子化幅の１／２以下の第２の量子化幅で除算した値である除算結果値を丸めた値である量子化代表値の最下位１ビットの各々を、挿入すべき任意のデータを構成するビットに変更することで、画像データに任意のデータを挿入する。
【００２１】
データを挿入する場合のＤＣＴ係数に対応する量子化幅である第２の量子化幅を、データを挿入しない場合のＤＣＴ係数に対応する通常の量子化幅である第１の量子化幅の１／２以下にしておけば、データ挿入にともなう量子化代表値の変位は、第１の量子化幅によるＤＣＴ係数量子化の際の量子化誤差と同等となる。よって、データ挿入による画質劣化を防止できる。
【００２２】
量子化部は、第２の量子化幅を、低周波数側の係数位置の各ＤＣＴ係数から高周波数側の係数位置の各ＤＣＴ係数に対応させて、ジグザグスキャン順に順次増加させるとよい。
【００２３】
通常、低周波数側のＤＣＴ係数から高周波数側のＤＣＴ係数にかけて、ジグザグスキャン順に沿って徐々に０の量子化代表値が発生する確率が高くなるよう第１の量子化幅が設定されているからから、これにあわせて第２の量子化幅を増大させることで、画像品質の確保と符号量の増加防止を両立させることができる。
【００２４】
本発明に係るデータ挿入方法は、画像データを分割して得られた複数のブロック毎に算出されたＤＣＴ（離散コサイン変換）係数を入力するステップと、入力されたＤＣＴ係数の内、データ挿入を開始する所定の低周波数側の係数位置である開始位置からデータ挿入を終了する所定の高周波数側の係数位置である終了位置までのＤＣＴ係数の各々を対応する量子化幅で除算した値である除算結果値を丸めた値である量子化代表値の最下位１ビットの各々を、挿入すべき任意のデータを構成するビットに変更することで、画像データに任意のデータを挿入するステップと、を含む。
【００２５】
本発明に係るデータ挿入方法は、第１の量子化幅で量子化されたＤＣＴ（離散コサイン変換）係数が符号化された圧縮符号化画像データを入力するステップと、入力された圧縮符号化画像データから、ＤＣＴ係数を復号化するステップと、復号化されたＤＣＴ係数の内、データ挿入を開始する所定の低周波数側の係数位置である開始位置からデータ挿入を終了する所定の高周波数側の係数位置である終了位置までのＤＣＴ係数の各々を対応する第１の量子化幅の１／２以下の第２の量子化幅で除算した値である除算結果値を丸めた値である量子化代表値の最下位１ビットの各々を、挿入すべき任意のデータを構成するビットに変更することで、画像データに任意のデータを挿入するステップと、を含む。
【００２６】
本発明に係る画像圧縮符号化方法は、画像データを複数のブロックに分割するブロック化を行い、ブロック毎にＤＣＴ（離散コサイン変換）係数を算出するステップと、各ブロックのＤＣＴ係数を対応する第１の量子化幅で除算した値である除算結果値を丸めることで各ＤＣＴ係数の量子化代表値を決定するステップと、データ挿入を開始する所定の低周波数側の係数位置である開始位置からデータ挿入を終了する所定の高周波数側の係数位置である終了位置までのＤＣＴ係数の各々を対応する第１の量子化幅の１／２以下の第２の量子化幅で除算した値である除算結果値を丸めた値である量子化代表値の最下位１ビットの各々を、挿入すべき任意のデータを構成するビットに変更することで、画像データに任意のデータを挿入するステップと、各ＤＣＴ係数の量子化代表値を格納した量子化データテーブルを作成し、量子化データテーブルを符号化するステップと、を含む。
【発明の効果】
【００２７】
本発明によると、画像データを分割することで得られたブロックごとに算出された各ＤＣＴ係数の最下位１ビットを任意のデータのビットに変更することで、画像データを埋め込む。従来技術のように、各ブロックに１ビットのデータを挿入するのではなく、各ＤＣＴ係数に１ビットずつデータを挿入できるから、画像データに挿入できるデータ量が格段に増加する。また、各ＤＣＴ係数の変位は量子化幅を通常の１／２以下にした量子化結果の高々１ビットであるから、画質に与える影響が少ない。
【発明を実施するための最良の形態】
【００２８】
以下、添付した図面を参照し本発明の好ましい実施の形態を説明する。
【００２９】
＜第１実施形態＞
図１は本発明の好ましい第１の実施形態に係る画像圧縮符号化装置のブロック図である。詳細は省略するが、本実施形態で述べる画像圧縮符号化装置の各ブロックはプログラム制御によっても実現可能である。
【００３０】
画像データ作成部１１は、デジタルスチルカメラに内蔵されたアナログフロントエンドなどの画像信号出力部１０から出力された画像信号のガンマ補正、画素補間法による欠陥画素の補間、ホワイトバランスの補正、画像信号の鮮鋭化、手振れによる影響の補正、ＣＭＹＧの色空間からＲＧＢの色空間への色空間変換等の処理を行って被写体像を表すＲＧＢの各色毎のデータを生成し、３×３行列による線形変換により輝度を表す輝度信号（Ｙ）、「青み」成分を表す色差信号（Ｕ）及び「赤み」成分を表す色差信号（Ｖ）のＹＵＶの色空間に変換して画像データを出力する。
【００３１】
ＹＵＶの色空間への変換には例えば、Ｙ＝０．２９９０Ｒ＋０．５８７０Ｇ＋０．１１４０Ｂ  Ｕ＝−０．１６８７Ｒ−０．３３１３Ｇ＋０．５０００Ｂ＋１２８  Ｖ＝０．５０００Ｒ−０．４１８７Ｇ−０．０８１３Ｂ＋１２８という変換式を用いることができる。
【００３２】
なお、白黒画像はＵ＝Ｖ＝０として考えればよく、本発明はカラー画像、白黒画像の両方に適用できる。
【００３３】
ＤＣＴ処理部１２は、画像データ作成部１１から出力された画像データを８×８要素からなる複数のブロック（ここでは説明の便宜上６４個のブロックとする）に分割するブロック化を行い、ブロック毎にＤＣＴ（離散コサイン変換）を行う。ＤＣＴ処理部１２は、ＤＣＴ係数を格納した８×８のテーブル形式のＤＣＴ係数テーブルをブロック毎に作成し、量子化部１３に出力する。
【００３４】
量子化部１３は、ＤＣＴ処理部１２から出力されたブロック毎のＤＣＴ係数テーブルの各ＤＣＴ係数を、量子化表の対応する区間幅（量子化幅あるいは量子化ステップと呼ばれる）で割り、その値の少数以下の桁を丸めることで、各ＤＣＴ係数を量子化する。
【００３５】
量子化代表値Ｑは、例えば、ｘ：量子化前のＤＣＴ係数の値、Δ：量子化幅、g：四捨五入・切捨て・切り上げなどの丸め演算をおこなう関数とすると、
【００３６】
【数１】
2007221387.tif 000003
【００３７】
で表される。ミッドトレッド型の線形量子化では、gは四捨五入の丸め処理を行う関数である。ＪＰＥＧなどでは、
【００３８】
【数２】
2007221387.tif 000004
【００３９】
とΔを別々に符号化している。本明細書では説明の便宜上、数２で求まる値、すなわちＤＣＴ係数を量子化した値を量子化代表値と呼ぶ。
【００４０】
ＤＣＴ処理部１２は、このようにして決定されたＤＣＴ係数の量子化代表値を格納した８×８のテーブル形式の量子化データテーブルをブロック毎に作成し、エントロピー符号化部１４に出力する。
【００４１】
エントロピー符号化部１４は、量子化部１３から出力されたブロック毎の量子化データテーブルをハフマン符号表などを用いてエントロピー符号化し、ビットストリームを出力する。この際、最高周波数の係数位置まで連続するゼロの量子化代表値の列の長さ（ゼロランレングス）を考慮した符号化を行なうことにより、ビット数が効果的に低減される。
【００４２】
符号化データにはＥＯＢ（エンドオブブロック）のコードが付加される。ここで、ＥＯＢとは、ブロック内の後続の量子化代表値は全てゼロであるという意味のコードである。
【００４３】
ＤＣＴを行って得られるＤＣＴ係数テーブルにおいては、左上に画質の劣化が顕在化しやすい低い空間周波数のＤＣＴ係数が配置され、右下に向かうほど画質の劣化が顕在化しにくい高い空間周波数のＤＣＴ係数が配置される。
【００４４】
図２は、量子化データテーブルに格納されている量子化代表値をエントロピー符号化する順序及びエントロピー復号化された量子化代表値を量子化データテーブルに格納する順序を表す図である。図示するように、量子化代表値を左上から右下に向かってジグザグの順序でエントロピー符号化又は格納することから、この順序を一般にジグザグ順序あるいはジグザグシーケンスという。従って、例えばこのジグザグ順序の順にエントロピー復号化を行うと、低い空間周波数のＤＣＴ係数を表す量子化代表値ほど先に復元される。ゼロの量子化代表値の列の先頭には、ＥＯＢが付加されている。
【００４５】
以下、データを挿入しない場合にＹ成分の画像データのＤＣＴ係数D(m)を割る通常の区間幅を第１の量子化ステップQ1(m)で表し、データを挿入する場合にＹ成分の画像データのＤＣＴ係数D(m)を割る区間幅を第２の量子化ステップQ2(m)で表す（mはジグザグ順序を示す添え字であり、0≦m≦63）。また、第１の量子化ステップQ1(m)による量子化によって定まったＥＯＢを本来のＥＯＢと呼び、本来のＥＯＢの量子化代表値のジグザグスキャンの順番をX（0≦X≦63）とする。また、第１の量子化ステップQ1(m)によるＤＣＴ係数D(m)の量子化で求められた量子化代表値をR1(m)で表す。また、第２の量子化ステップQ2(m)によるＤＣＴ係数D(m)の量子化で求められた量子化代表値をR2(m)で表す。
【００４６】
また、第２の量子化ステップQ2(m)による量子化によって定まり、かつ本来のＥＯＢの位置よりも１つ分高周波数側のＥＯＢを新たなＥＯＢと呼び、新たなＥＯＢの量子化代表値のジグザグスキャンの順番をW（0≦W≦63）とする。
【００４７】
データ挿入部１５は、挿入したい任意のデータのビット列の埋め込みを開始するＹ成分画像データの量子化代表値R2(Z)からビット列の埋め込みを終了する量子化代表値R2(Y)までの各々の最下位１ビットに、データのビット列の先頭から順に１ビットずつ埋め込む（0≦Z≦m≦Y≦X≦63）。
【００４８】
具体的には、データ挿入部１５は、ＤＣＴ係数D(m)に対応する量子化ステップQ1(m)と量子化代表値R1(m)を破棄した上、ＤＣＴ係数D(m)に対応する量子化ステップをQ2(m)に設定し、除算結果値D(m)/Q2(m)の丸め演算結果値の偶奇性（パリティ）が埋め込むデータビットの値（０または１）と対応するように除算結果値D(m)/Q2(m)の丸め方向を設定し、設定した丸め方向に除算結果値D(m)/Q2(m)を丸めた値を、ＤＣＴ係数D(m)の量子化代表値R2(m)にすることで、各量子化代表値R2(m)にビットの挿入を行う。
【００４９】
詳細は省略するが、Ｕ・Ｖ成分にも、Ｙ成分と同様にしてデータ埋め込みができるのはいうまでもない。
【００５０】
以下では説明の簡略のため、あるブロックのある１つの量子化代表値R2(m)についてのデータ挿入について説明するが、複数ブロックのそれぞれの量子化代表値R2(m)について、同様にデータ挿入ができる。
【００５１】
本明細書ではデータ挿入を開始するZ番目の係数位置は固定（すなわちZは所定の値）であるものとするが、無論、様々なパラメータに応じて可変にしてもよい。データ挿入を終了するY番目の係数位置は、本来のＥＯＢの１つ前の係数位置（Y=X-1）であることが好ましく、本来のＥＯＢの位置に依存して変化する。これは、本来のＥＯＢ以降にビットを挿入することで、ゼロランレングスが短くなり、符号化効率が低下するのを防止するためである。本来のＥＯＢの位置がデータ埋め込み開始位置(ジグザグスキャン順序がZ番目の係数位置)よりも低周波数側であれば、データ挿入は行わない。
【００５２】
従来例では、１マクロブロックにつき１ビットしかデータ挿入できないが、本実施形態では、１マクロブロックの各量子化代表値R2(m)（0≦Z≦m≦Y≦63）に１ビットずつデータを挿入することができるから、従来例よりも挿入できるデータ量が格段に増加する。
【００５３】
図３は、データ挿入部１５によるビット挿入の一例を示す。この図では、説明の便宜上、第２の量子化ステップQ2(m)は第１の量子化ステップQ1(m)と同じく1であり（Q1(m)=Q2(m)=1)、かつ除算結果値D(m)/Q2(m)は-0.5〜0.5の範囲内であるとする。
【００５４】
データ挿入部１５は、挿入すべきビット値が「０」、除算結果値D(m)/Q2(m)が-0.5<D(m)/Q2(m)≦0であるとすると、丸め方向を＋∞側に設定し、量子化代表値を、R1(m)から、除算結果値D(m)/Q2(m)の最近傍の偶数R2(m)=0に変更する。また、挿入すべきビット値が「０」、除算結果値が0≦D(m)/Q2(m)<0.5であるとすると、丸め方向を-∞側に設定し、量子化代表値を、R1(m)から、を除算結果値D(m)/Q2(m)の最近傍の偶数R2(m)=0に変更する。これらの丸め演算はいわゆる四捨五入に相当し、量子化代表値をR1(m)からR2(m)に変更した際に生じる誤差は、第１の量子化ステップQ1(m)の半分（=0.5）未満であり、第１の量子化ステップQ1(m)による量子化の際の丸め誤差（除算結果値D(m)/Q1(m)の四捨五入による丸め誤差）と変わらない。
【００５５】
一方、挿入すべきビット値が「１」、除算結果値D(m)/Q2(m)が-0.5<D(m)/Q2(m)≦0であるとすると、丸め方向を-∞側に設定し、量子化代表値を、R1(m)から、除算結果値D(m)/Q2(m)の最近傍の奇数R2(m)=-1に変更する。また、挿入すべきビット値が「１」、除算結果値が0≦D(m)/Q2(m)<0.5であるとすると、丸め方向を＋∞側に設定し、量子化代表値を、R1(m)から、除算結果値D(m)/Q2(m)の最近傍の奇数R2(m)=1に変更する。これらの丸め演算はいわゆる切り下げ、切り上げに相当し、量子化代表値をR1(m)からR2(m)に変更した際に生じる誤差は、第１の量子化ステップQ1(m)（=1）未満となり、第１の量子化ステップQ1(m)による量子化の際の丸め誤差（除算結果値D(m)/Q1(m)の四捨五入による丸め誤差）の倍となる。
【００５６】
このように、量子化代表値R2(m)に挿入するデータビットが０であれば量子化代表値R1(m)は除算結果値D(m)/Q2(m)の最近傍の偶数R2(m)に変更され、挿入するデータビットが１であれば量子化代表値R1(m)は除算結果値D(m)/Q2(m)の最近傍の奇数R2(m)に変更される。復号側では、量子化代表値R2(m)が偶数（すなわち最下位ビットが０）であればデータビット０が挿入されており、量子化代表値R2(m)が奇数（すなわち最下位ビットが１）であればデータビット０が挿入されていることを識別できる。
【００５７】
ところで、Q1(m)=Q2(m)とすると、R1(m)からR2(m)への量子化代表値への変更にともなう量子化誤差は、第１の量子化ステップQ1(m)による量子化の際に生じる誤差（量子化誤差）よりも大きくなり、画質劣化の原因となりうる。
【００５８】
そこで本実施形態ではさらに、データ埋め込みによる量子化代表値の変更にともなう画質劣化を、第１の量子化ステップQ1(m)による量子化の量子化誤差の範囲内に収めるため、第２の量子化ステップQ2(m)を、第１の量子化ステップQ1(m)の1/2以下とする。
【００５９】
すなわち、
【００６０】
【数３】
2007221387.tif 000005
【００６１】
を満足するよう第２の量子化ステップQ2(m)を予め設定しておく。
【００６２】
こうすると、第２の量子化ステップQ2(m)による量子化の量子化誤差は、第１の量子化ステップQ1(m)による量子化の量子化誤差と同一か、あるいはそれ未満となり、データビット挿入による画像劣化を発生しにくくすることができる。
【００６３】
人間の知覚特性を表すＣＳＦ（Contrast Sensitivity Function）を元に決定された、最良のQ2(m)の値は、
【００６４】
【数４】
2007221387.tif 000006
【００６５】
である。このQ2(m)の求め方は、後述の実施例で説明する。
【００６６】
ただし、数３や数４のように、量子化ステップQ2(m)がQ1(m)よりも小さい値だと、高周波数側における変更後の量子化代表値R2(m)が０でない値となる確率が高まり、第１の量子化ステップQ1(m)による量子化に比して新たなＥＯＢまででゼロランレングスが発生する確率が落ちたり、ゼロランレングスが短くなる。このため、符号化の効率が低下してＪＰＥＧファイルが長大化する。
【００６７】
このため、本実施形態では、第２の量子化ステップQ2(m)を、低周波数側から高周波数側にかけてジグザグ順に順次増大させるようにする。
【００６８】
一例として、量子化ステップQ2(m)を、
【００６９】
【数５】
2007221387.tif 000007
【００７０】
とし、Q1(m)を小さくする分母を７1/2から2へ順次変化させる。あるいは、
【００７１】
【数６】
2007221387.tif 000008
【００７２】
とし、Q1(m)を小さくする分母を７1/2から1へ順次変化させてもよい。
あるいは、ｋ＜Ｙとなる定数ｋを予め設定しておき、
【００７３】
【数７】
2007221387.tif 000009
【００７４】
とし、mがZとkとの間はQ1(m)を小さくする分母を７1/2から1へ順次変化させ、mがk+1とYとの間はQ1(m)を小さくする分母を1（すなわちQ2(m)はQ1(m)と同じ値）にしてもよい。
【００７５】
元々、低周波数側から高周波数側の係数位置にかけて、徐々に０の量子化代表値が発生する確率が高くなるよう第１の量子化ステップQ1(m)は設定されている。これに関連させて、第１の量子化ステップQ1(m)に数５〜７のような「mの単調増加関数」を乗じた値を第２の量子化ステップQ2(m)とし、Q2(m)の値をジグザグ順に増大させる。こうすると、第２の量子化ステップQ2(m)による量子化により高周波数側での量子化代表値R2(m)が量子化代表値R1(m)に比して０以外の値となる確率が低くなり、データ挿入にともなってゼロランレングスが短くなりＪＰＥＧファイルが長大化するのを可及的に防げる。
【００７６】
さて、上述のように、量子化代表値R2(m)が偶数であれば、その最下位ビットは０である。復号側からすると、新たなＥＯＢの量子化代表値「０」と最も高い周波数側の係数位置の挿入ビット「０」との区別がつかなければならない。
【００７７】
このため、本来のＥＯＢのＤＣＴ係数D(X)の除算結果値D(X)/Q1(X)の量子化代表値R1(X)を、データ終了マーカーとして、−１または１のうち除算結果値D(X)/Q1(X)に最も近い方の値R2(X)に変更する。データ終了マーカーは、新たなＥＯＢよりも１つ分低周波数側の係数位置にあるから、復号側は、低周波数側から順次ＤＣＴ係数を復号化する際にデータ終了マーカーを検出することで、挿入ビット「０」とＥＯＢ（End of Block）以下のゼロ量子化代表値列とを区別できる。
【００７８】
なお、本来のＥＯＢの量子化代表値が終了マーカーに変更されることで、新たなＥＯＢは本来のＥＯＢよりも１つ分高周波数側の係数位置に繰り上がるが、従来技術のようにＥＯＢ自体が消滅してしまうのではなく、たかだか１係数位置ずれるだけであるため、ゼロランレングスの減少による符号化効率の低下、符号量の増加は大きくない。
【００７９】
また、本来のＥＯＢの量子化代表値が０から−１または１に変わることで、画質が劣化することも考えられる。このため、Q2(X)<Q1(X)を本来のＥＯＢのＤＣＴ係数D(X)の量子化ステップに変更し、量子化代表値R1(X)を、−１または１のうち除算結果値D(X)/Q2(X)に最も近い方の値R2(X)に変更すれば、その分、本来のＥＯＢを終了マーカーに変更することによる誤差が小さくなり、画質への影響も小さくなる。
【００８０】
これは、復号側において終了マーカーから本来のＥＯＢのＤＣＴ係数が、
データ終了マーカー×Q2(X)
によって逆量子化されるが、Q2(X)が小さければ小さいほど、本来のＥＯＢのＤＣＴ係数＝０に近づくからである。
【００８１】
特に、Q2(X)≦Q1(X)/2とすれば、量子化代表値R1(X)をデータ終了マーカーに変更することによる誤差は、第１の量子化ステップQ1(X)による量子化の量子化誤差と同じかそれ未満となる。
【実施例】
【００８２】
１．基本アルゴリズム
まず、図４に、データを秘匿する画像に非圧縮画像を使ったステガノグラフィのエンコーダーの例を示す。量子化器Qnで下位nビットが0になった再量子化値の下位nビットに、ランダマイザで白色化した秘匿データ系列を埋め込む。同時に、ディザとフィードバックフィルタF(z)で誤差拡散を行うことにより、画質劣化を知覚されることを極力防ぐ。人間の知覚特性は、例えば図５に示すCSF(Contrast Sensitivity Function)のような特性を有しており（表１、文献[1][2]を参照）、これから図６に示すような知覚されにくい雑音電力スペクトルの形状を仮定することができる。画質劣化を知覚されにくくするためには、この雑音電力スペクトルと再量子化誤差によって生じる雑音のパワースペクトルが相似形になることが望ましい。
【００８３】
つぎに、今回考案したJPEGデータにデータを秘匿する方法の概要を述べる。JPEGの符号化は図７に示す順序で処理が行われる。画素値にデータ秘匿を行ってもその後にＤＣＴ変換と量子化が施されるため、秘匿データが破壊される。そのため、画素値にデータ秘匿をするのではなく、ＤＣＴ係数の量子化の際にデータを秘匿することを考える。なお、今回の研究では一つのＤＣＴ係数にたかだか1ビットのデータを秘匿することにする。これは、元来JPEG符号化が人間の知覚特性を利用して情報量圧縮しており、ＤＣＴ係数に2ビット以上のデータを秘匿すると後述するように量子化雑音電力が大きくなって、画質劣化の知覚を防ぐことが困難になるためである。
【００８４】
図８に、通常の量子化を行うなら偶数の量子化代表値となるＤＣＴ係数に、データ秘匿を行う場合を示す。通常の量子化であれば最大の量子化誤差は量子化ステップの半分であるが、図８では最大で量子化ステップになる。これは通常の量子化で奇数の量子化代表値となるＤＣＴ係数の場合も同じである。平均量子化雑音電力についても述べておく。通常の量子化の量子化ステップをΔ、ＤＣＴ係数xの生起確率を各量子化境界内で一様なp(x)、xの量子化代表値をq(x)とすると、平均雑音電力はMaxの量子化器より、
【００８５】
【数８】
2007221387.tif 000010
【００８６】
図８のようにデータ秘匿を行う場合、量子化ステップをδ、通常の量子化なら量子化代表値が偶数となる確率、奇数となる確率をそれぞれ1/2、埋め込むデータビット’0’,’1’の生起確率をそれぞれ1/2だとすると、平均雑音電力は
【００８７】
【数９】
2007221387.tif 000011
【００８８】
画像データはＤＣＴ変換によって既に周波数領域に変換されているため、ＤＣＴ係数にデータ秘匿をしながら量子化した量子化雑音電力スペクトルが、直接図６のような形状になるように量子化ステップを決定してやる必要がある。
【００８９】
また、量子化ステップがJPEGデータサイズに及ぼす影響を考慮しなければならない。JPEG符号化では、ＤＣＴ係数は図９に示すようにジグザグスキャンをして低域から高域に向かって線形量子化されるため、特に高域においてＤＣＴ係数の量子化値が連続して0になる確率が高い。量子化値として0が続けば、ハフマン符号化時にゼロランレングス符号によってJPEGデータサイズが小さくなる。しかし、量子化ステップが小さいと量子化値が0になる確率が減るため、ゼロランレングス符号によるJPEGデータサイズの減少があまり期待できなくなる。そのため、画質劣化の知覚を防ぐこととJPEGデータサイズが通常より大きくなることの両面を考慮し、量子化ステップとデータを秘匿するＤＣＴ係数の位置を決定する必要がある。
【００９０】
２．輝度データへの秘匿
画像の輝度データに対して任意のデータの埋め込みを行う。埋め込みによる画像の劣化を知覚されにくくするため、以下のような工夫を行った。
1.CSFを検討することで知覚されにくいように埋め込みを行う。
2.埋め込みによって発生する最大の雑音電力を、埋め込みを行わない場合と同じレベルに抑える。
【００９１】
詳細は省略する。
2.2量子化雑音電力と画質劣化の関係
画像へのデータの埋め込みを行うと通常のJPEG圧縮による量子化誤差以上の誤差が発生する。その誤差から生じる雑音のパワーを埋め込みを行わない画像と等しくすることで、画像の劣化を知覚されにくくした。
【００９２】
数９にあるとおり、埋め込みによる誤差の平均雑音電力を通常の平均量子化雑音電力と等しくするには量子化ステップサイズを1/2にすれば良いが、次章の評価実験の結果、1/2では画像の劣化が知覚されやすいことがわかった。
【００９３】
そこで、この原因が埋め込みによる最悪の雑音電力にあるのではないかと推測し、最悪の雑音電力を通常の平均量子化雑音電力と等しくなるような量子化ステップサイズを検討した。
【００９４】
JPEG圧縮における量子化雑音電力は数８よりΔ2／１２である。
【００９５】
データを埋め込んだ場合の誤差による平均雑音電力は数９より、
【００９６】
【数１０】
2007221387.tif 000012
【００９７】
（一重下線は埋め込み誤差なし、二重下線は埋め込み誤差あり）
ここで、埋め込み誤差が発生する場合のみを考えると、
【００９８】
【数１１】
2007221387.tif 000013
【００９９】
となる。埋め込みを行った場合の最大雑音電力と、埋め込みを行っていない場合の量子化雑音電力を等しくするための量子化ステップサイズは、
【０１００】
【数１２】
2007221387.tif 000014
【０１０１】
となり、埋め込みを行う位置の量子化ステップサイズを埋め込まない場合の7-1/2にすれば良いことがわかる。
【０１０２】
しかし、埋め込む位置全ての量子化ステップサイズを7-1/2にすると圧縮率が下がり、ファイルサイズが大きくなってしまう。そこで、人の目の感度が高い周波数帯域では7-1/2とし、感度が低い周波数帯域では1/2の量子化ステップサイズとすることで、画質を維持しつつファイルサイズの増加を抑える。
【０１０３】
３．画質の主観評価
ステガノグラフィ画像と通常のJPEG画像間での画質の主観評価を行った。データの埋め込みにおいて画質と関わるのは、データの埋め込みを開始するＤＣＴ係数の位置(図１０)なので、JPEGのQuality値と埋め込みを開始する位置を変化させた画像を用いて評価を行った。この評価で用いた画像は、埋め込む場所に対応する量子化ステップサイズを1/2にする手法で作成した。
【０１０４】
ここで、JPEGのQuality値とは、JPEGの圧縮率に関わる数値(0〜100)である。大きいほど圧縮率が低く画像の劣化も少ない。IJGのエンコーダの場合、デフォルトのQuality値は75である。
■評価に用いた画像
25枚*16種類(埋め込み開始位置の変化、Qualityの変化(図１１))
■評価者
6名
■評価方法
埋め込みを行っていないJPEG画像とJPEGステガノグラフィ画像を比較し、1〜6の数値で評価を行う。
1画質劣化が非常に気になる
…
5画質劣化が全く気にならない
6ステガノグラフィ画像のほうが画質が良い
図１２に示すように、評価実験の結果、埋め込みによる画質の劣化が予想以上に知覚されることが判明した。そこで埋め込みによる平均最大雑音電力が、埋め込み無しのときの平均量子化雑音電力と等しくなるように量子化ステップサイズを7-1/2にする手法を用いて再度実験を行った。
【０１０５】
この実験は、評価者1名、評価に使用した画像5枚*19種類(前回の16種類+各Qualityの通常JPEG画像)、同じ評価基準で行った。この結果、図１３に示すように、量子化ステップサイズを1/2にしたときよりも知覚されにくくなっていることがわかる。また、埋め込み開始位置を20番以降にすれば評価得点が4.5以上になり、埋め込みを行っても画像の劣化がほぼ気にならないと判断できる。
【０１０６】
図１４に、20番以降にデータを埋め込んだ場合の秘匿データ量とJPEGファイルサイズの増加を示す。
【０１０７】
通常JPEG画像に対して各Qualityで最大15%程度の埋め込みを行うことができた。また、秘匿データ量に対してのJPEGファイルサイズの増加量は1.1倍〜1.7倍となった。Quality95の場合を除けば、埋め込み量を多くした場合の方が埋め込み効率が良いことがわかる。
【０１０８】
図１５は、512x512画素の標準画像Lenaにデータを埋め込んだ場合の秘匿データ量とJPEGファイルサイズの増加を示す。なお、非特許文献２「埋込位置の特定を必要としないＪＰＥＧ画像へのデータ埋込法」におけるQ-factorと本実施例のQualityとの関係は、おおよそ次のとおりである。
【０１０９】
Quality82⇔Q-factor20
Quality28⇔Q-factor80
Quality15⇔Q-factor140
Quality9⇔Q-factor200
【０１１０】
【表１】
2007221387.tif 000015
【０１１１】
＜第２実施形態＞
図１６は本発明の好ましい第２の実施形態に係るデータ挿入機能付き画像圧縮符号化装置のブロック図である。この装置は、第１実施形態と異なり、復号化部２１、再量子化部２２、エントロピー符号化部２３をさらに備える。再量子化部２２は、データ挿入部１５を含んでいる。画像信号出力部１０、画像データ作成部１１、ＤＣＴ処理部１２、量子化部１３、エントロピー符号化部１４は、第１実施形態と同様である。第１処理ブロック１０１は、画像信号出力部１０、画像データ作成部１１、ＤＣＴ処理部１２、量子化部１３、エントロピー符号化部１４を含む。第２処理ブロック１０２は、復号化部２１、再量子化部２２、エントロピー符号化部２３を含む。第１処理ブロック１０１と第２処理ブロックとは必ずしも１つの装置に組み込む必要はなく、別々の装置に組み込まれてもよい。
【０１１２】
復号化部２１は、エントロピー符号化部１４の出力した符号化画像データのＤＣＴ係数D(m)を復号化する。データ挿入部１５は、復号化部２１の復号したＤＣＴ係数D(m)のうち、所定の開始位置のＤＣＴ係数D(Z)から本来のＥＯＢの１つ分低周波数側（非零最高変換係数の１つ前）のＤＣＴ係数D(Y)=D(X-1)を、量子化部１３の符号化画像データの量子化幅Q1(m)よりも小さい量子化幅Q2(m)で割った上、第１実施形態と同様に挿入データビットに応じて除算結果値D(m)/Q2(m)を丸めることで、最下位1ビットにデータビットを挿入しながらＤＣＴ係数D(m)を量子化する。この量子化によって定まった新たなＥＯＢの１つ前の位置の量子化代表値が１または−１であれば変化させない。新たなＥＯＢ以降（非零最高変換係数より上）の位置の零値のＤＣＴ係数はそのまま零値としてデータビットを埋め込まない。
【０１１３】
データ挿入部１５が量子化幅Q2(m)を量子化幅Q1(m)よりも小さくするのは，データを挿入しながら量子化することによる画質劣化を極力防ぐためである。
【０１１４】
再量子化部２２は、データ挿入部１５が量子化代表値を決定したＤＣＴ係数以外のＤＣＴ係数の各々を、対応する量子化幅Q1(m)で割って四捨五入の丸め演算を施して量子化代表値を求め、再び量子化する。
【０１１５】
エントロピー符号化部２３は、再量子化部２２が使用した量子化幅の量子化テーブルと、再量子化部２２が決定した量子化代表値を符号化する。
【０１１６】
このように、第２処理ブロック１０２は、第１処理ブロック１０１でいったん圧縮符号化された画像データに、任意のデータを挿入して、再び圧縮符号化する。
【０１１７】
＜第３実施形態＞
第２実施形態のデータ挿入機能付き画像圧縮符号化装置の再量子化部２２は、量子化部１３の量子化テーブルQ1に基づき、逆量子化用の基本的な量子化テーブルQ2bの調整値(Quality Factor）であるｆを決定してもよい。
【０１１８】
前提として、再量子化部２２は、第２実施形態のようにデータを挿入しない場合のＤＣＴ係数を量子化する基本量子化ステップQb2(m)（0≦m<64）を含む基本的な量子化テーブルQb2を有しているとする。
【０１１９】
かつ、再量子化部２２は、データを挿入する場合のＤＣＴ係数を量子化する基本量子化ステップQb3(m)（0≦m<64）を含む基本的な量子化テーブルQb3を有しているとする。
【０１２０】
復号化部２１は、量子化部１３が量子化テーブルQ1に基づき量子化したＤＣＴ係数を、量子化テーブルQ1に基づき逆量子化した後、逆量子化したＤＣＴ係数と量子化テーブルQ1を再量子化部２２に送る。
【０１２１】
再量子化部２２は、量子化テーブルQ1に基づきｆを決定する。そして、再量子化部２２は、実際にＤＣＴ係数を逆量子化するための量子化テーブルQ2を、Qb2(m)にｆを一律に乗じることにより作成する。すなわち再量子化部２２は、
Q2(m)=Qb2(m)×f（0≦m<64）
により量子化テーブルQ2を作成する。
【０１２２】
かつ、本実施形態では、再量子化部２２は、決定したfを基本量子化ステップQb3(m)に一律に乗じることにより、データ挿入のために使用する量子化テーブルQ3を作成する。
【０１２３】
すなわち再量子化部２２は、
Q3(m)=Qb3(m)×f（0≦m<64）
により量子化テーブルQ3を作成する。
【０１２４】
ただし、直流成分位置からデータ埋め込みを開始するＤＣＴ係数位置（Zの１つ低周波数側の係数位置Z-1）までの量子化ステップは、量子化テーブルQ2、Q3で共通するものとする。すなわち、
Q2(m)=Q3(m)（0≦m≦Z-1）
である。
【０１２５】
データ挿入部１５は、第１および第２実施形態と同様、復号化部２１からの各ＤＣＴ係数を量子化ステップQ3(m)（Z≦m≦Y）によって除算した値である除算結果値の丸め方向を挿入データの値に応じて変えることで、各ＤＣＴ係数の最下位１ビットにデータを挿入する。
【０１２６】
復号化部２１からの各ＤＣＴ係数を量子化ステップQ2(m)によって除算して本来のＥＯＢを決定した後、量子化ステップQ3(m)(Z≦m≦Y)を用いてデータを挿入してもよい。量子化ステップQ3(m)（Z≦m≦Y）の値は、量子化ステップQ2(m)の1/2以下とすることが好ましく、(7)-1/2以下とすることがさらに好ましい。
【図面の簡単な説明】
【０１２７】
【図１】第１実施形態に係る画像圧縮符号化装置のブロック図
【図２】ＪＰＥＧデータ量子化におけるデータ挿入の概念説明図
【図３】量子化代表値の最下位１ビット変更によるデータ挿入の概念説明図
【図４】非圧縮画像を使ったステガノグラフィエンコーダーの一例を示す要部ブロック図
【図５】ＣＳＦの一例を示す図
【図６】雑音電力スペクトルの一例を示す図
【図７】ＪＰＥＧエンコーダーのブロック図
【図８】量子化代表値の最下位１ビット変更によるデータ挿入の概念説明図
【図９】ＤＣＴ係数量子化のジグザグスキャンの概念説明図
【図１０】ＤＣＴ係数の位置を示す図
【図１１】Qualityと埋め込み開始位置の関係を示す図
【図１２】ステガノグラフィ画像の評価を示す図
【図１３】7-1/2と1/2の評価を示す図
【図１４】秘匿データ量とＪＰＥＧファイルサイズの増加の関係を示す図
【図１５】Lena（512x512画素）における秘匿データ量とＪＰＥＧファイルサイズの増加の関係を示す図
【図１６】第２実施形態に係る画像圧縮符号化装置のブロック図
【符号の説明】
【０１２８】
１０：画像信号出力部、１１：画像データ作成部、１２：ＤＣＴ処理部、１３：量子化部、１４：エントロピー符号化部、１５：データ挿入部、２１：復号化部、２２：再量子化部、２３：エントロピー符号化部
【図１】
2007221387.tif 000016
【図２】
2007221387.tif 000017
【図３】
2007221387.tif 000018
【図４】
2007221387.tif 000019
【図５】
2007221387.tif 000020
【図６】
2007221387.tif 000021
【図７】
2007221387.tif 000022
【図８】
2007221387.tif 000023
【図９】
2007221387.tif 000024
【図１０】
2007221387.tif 000025
【図１１】
2007221387.tif 000026
【図１２】
2007221387.tif 000027
【図１３】
2007221387.tif 000028
【図１４】
2007221387.tif 000029
【図１５】
2007221387.tif 000030
【図１６】
2007221387.tif 000031