(57)【特許請求の範囲】
【請求項１】
画像データを複数のブロックに分割しこれらの各々に直交変換処理を施して前記ブロック毎の直交変換係数を得る直交変換部と、
透かしデータ埋め込み対象ブロックの直交変換係数に透かしデータを埋め込む透かし埋め込み部と、
前記直交変換係数の各々に量子化ステップ幅で量子化処理を施して量子化データを得る量子化部と、
前記量子化データの各々に符号化処理を施して符号化データを得る符号化部と、を含む画像符号化装置であって、
前記透かしデータ埋め込み対象ブロックの画像品質と当該透かしデータ埋め込み対象ブロックの周辺ブロックの画像品質とが同等となるように当該透かしデータ埋め込み対象ブロックに対応する前記量子化ステップ幅の大きさを設定しこれを前記量子化部及び透かし埋め込み部に与える制御部を含み、
前記透かし埋め込み部は、当該設定された大きさの量子化ステップ幅に基づいて前記直交変換係数に対して丸め処理を施し、当該丸め処理後の直交変換係数に対して前記透かしデータのデータ値に応じて当該量子化ステップ幅の大きさの加減算によって当該透かしデータの埋め込みをなすことを特徴とする画像符号化装置。
【請求項２】
前記透かし埋め込み部は、前記透かしデータ埋め込み対象ブロックの直交変換係数に前記量子化ステップ幅の大きさのＭ（Ｍは３以上の整数）倍の値で丸め処理を施して得られた値に、前記透かしデータの値に応じて前記量子化ステップ幅の大きさの０倍、１倍及び−１倍の内のいずれかを加算することを前記透かしデータの埋め込みとすることを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記制御部は、次式
【数１】
0004900135.tif 000016
（Ｎは前記透かしデータ埋め込み対象ブロックの画素数、Ｍは３以上の整数、Ａは前記画像データのピーク信号レベル、ｒは前記透かしデータ埋め込み対象ブロックの周辺ブロックの画像品質）で得られる値Ｑを前記透かしデータ埋め込み対象ブロックの量子化ステップ幅の大きさとすることを特徴とする請求項１に記載の画像符号化装置。
【請求項４】
前記透かし埋め込み部は、前記透かしデータ埋め込み対象ブロックの直交変換係数に前記量子化ステップ幅の大きさの２倍の値で丸め処理を施して得られた値に、前記透かしデータの値に応じて前記量子化ステップ幅の大きさを加算する又は加算しないことを前記透かしデータの埋め込みとすることを特徴とする請求項１に記載の画像符号化装置。
【請求項５】
前記制御部は、次式
【数２】
0004900135.tif 000017
（Ｎは前記透かしデータ埋め込み対象ブロックの画素数、Ａは前記画像データのピーク信号レベル、ｒは前記透かしデータ埋め込み対象ブロックの周辺ブロックの画像品質）で得られる値Ｑを前記透かしデータ埋め込み対象ブロックの量子化ステップ幅の大きさとすることを特徴とする請求項１に記載の画像符号化装置。
【請求項６】
前記透かし埋め込み部は、前記透かしデータ埋め込み対象ブロックの直交変換係数に前記量子化ステップ幅の大きさのＭ（Ｍは２以上の整数）倍の値で丸め処理を施して丸め直交変換係数を得て前記透かしデータの値に応じて前記丸め直交変換係数が０以上であれば前記丸め直交変換係数に前記量子化ステップ幅の大きさの半分の値を加算し且つ前記丸め直交変換係数が０未満であれば前記丸め直交変換係数から前記量子化ステップ幅の大きさの半分の値を減算することを前記透かしデータの埋め込みとすることを特徴とする請求項１に記載の画像符号化装置。
【請求項７】
前記制御部は、次式
【数３】
0004900135.tif 000018
（Ｎは前記透かしデータ埋め込み対象ブロックの画素数、Ｍは３以上の整数、Ａは前記画像データのピーク信号レベル、ｒは前記透かしデータ埋め込み対象ブロックの周辺ブロックの画像品質）で得られる値Ｑを前記透かしデータ埋め込み対象ブロックの量子化ステップ幅の大きさとすることを特徴とする請求項１に記載の画像符号化装置。
【請求項８】
前記周辺ブロックの画像品質は、次式
【数４】
0004900135.tif 000019
（Ａは画像データのピーク信号レベル、Ｑｎは前記周辺ブロックの量子化ステップ幅、Ｅ０は前記ブロック全体の誤差エネルギー）で得られる値ＰＳＮＲであることを特徴とする請求項３又は５又は７に記載の画像符号化装置。
【請求項９】
符号化データの各々を復号して量子化データを得る逆符号化部と、
当該量子化データの各々にブロック毎に設定された大きさの量子化ステップ幅で逆量子化処理を施して直交変換係数を得る逆量子化部と、
透かしデータが埋め込まれている直交変換係数から当該透かしデータを検出する透かしデータ検出部と、
前記直交変換係数の各々に逆直交変換処理を施して画像データを得る逆直交変換部と、を含む画像復号装置であって、
前記透かしデータ検出部は、当該設定された大きさの量子化ステップ幅に基づいて前記直交変換係数に対して丸め処理を施し、前記直交変換係数から当該丸め処理後の直交変換係数を減算して得られた結果に基づいて前記透かしデータの検出をなすことを特徴とする画像復号装置。
【請求項１０】
前記透かしデータ検出部は、前記透かしデータが埋め込まれている直交変換係数から、当該直交変換係数に前記量子化ステップ幅の大きさのＭ（Ｍは３以上の整数）倍の値で丸め処理を施して得られた値を減算し、当該減算によって得られた値が０、正数及び負数の内のいずれであるかに応じて３値の透かしデータの値を判別することを前記透かしデータの検出とすることを特徴とする請求項９に記載の画像復号装置。
【請求項１１】
前記透かしデータ検出部は、前記透かしデータが埋め込まれている直交変換係数から、当該直交変換係数に前記量子化ステップ幅の大きさの２倍の値で丸め処理を施して得られた値を減算し、当該減算によって得られた値が０であるか否かに応じて２値の透かしデータの値を判別することを前記透かしデータの検出とすることを特徴とする請求項９に記載の画像復号装置。
【請求項１２】
前記透かしデータ検出部は、前記透かしデータが埋め込まれている直交変換係数から、当該直交変換係数に前記量子化ステップ幅の大きさのＭ（Ｍは２以上の整数）倍の値で丸め処理を施して得られた値を減算し、当該減算によって得られた値が０であるか否かに応じて２値の透かしデータの値を判別することを前記透かしデータの検出とすることを特徴とする請求項９に記載の画像復号装置。
【請求項１３】
前記透かしデータ検出部は、前記透かしデータが埋め込まれている直交変換係数から前記透かしデータの値と前記量子化ステップ幅の大きさとの積を減算して前記透かしデータを除去する透かしデータ除去手段を含み、
前記逆直交変換部は、当該除去によって得られた直交変換係数に前記逆直交変換処理を施して得られたデータを前記画像データとすることを特徴とする請求項９に記載の画像復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は静止画や動画などの画像データに電子透かしを埋め込んで圧縮符号化する画像符号化装置及び電子透かしが埋め込まれた圧縮符号化画像データを復号する画像復号装置に関する。
【背景技術】
【０００２】
画像データに電子透かしを埋め込む方法が非特許文献１に開示されている。当該方法は先ず、透かし画像の画質をＰＳＮＲ（Peak Signal-to-Noise Ratio）値に基づいて２次元ＤＣＴ（Discrete Cosine Transform）係数の量子化幅Ｑを求める。次に透かし埋め込み対象の画像を複数のブロックに分割し、ブロック毎に２次元ＤＣＴ処理を施す。続いてブロック及び当該ブロック中に含まれるＤＣＴ係数の内の１つを選択して、当該係数を量子化幅Ｑで量子化する。更に、当該量子化によって得られたＤＣＴ係数に、埋め込むべき透かしビットに応じた値を加算し、当該加算によって得られたＤＣＴ係数に逆２次元ＤＣＴ処理を施す。上記の処理を、所定の透かしビット列が全て画像データに埋め込まれるまで繰り返すというものである。透かしビットが埋め込まれた量子化データから、当該量子化データを量子化幅Ｑで丸め処理して得られた値を減算すれば、透かしビット列に応じた値が得られ、これに基づいて透かしビットを抽出することができる。
【非特許文献１】埋め込み係数をブロック毎に変更可能な画質保証型電子透かし法  映像メディア学会誌  Vol.59, No.3, 430〜434頁（2005年）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、非特許文献１に開示される方法を用いて符号化処理を行った場合、符号化による量子化誤差により透かし画像に劣化が生じ、電子透かしを抽出できなくなるという問題があった。すなわち、電子透かしが埋め込まれた画像データを符号化する場合、透かしビットに相当する符号データに量子化誤差が生じ、その結果、電子透かしの抽出を試みても、透かしビットに応じた値が正しく得られなかった。
【０００４】
本発明は上記した如き問題点に鑑みてなされたものであって、画像の劣化を低減し且つ電子透かしを正確に検出可能とする画像符号化装置及び画像復号装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明による画像符号化装置は、画像データを複数のブロックに分割しこれらの各々に直交変換処理を施して前記ブロック毎の直交変換係数を得る直交変換部と、透かしデータ埋め込み対象ブロックの直交変換係数に透かしデータを埋め込む透かし埋め込み部と、前記直交変換係数の各々に量子化ステップ幅で量子化処理を施して量子化データを得る量子化部と、前記量子化データの各々に符号化処理を施して符号化データを得る符号化部と、を含む画像符号化装置であって、前記透かしデータ埋め込み対象ブロックの画像品質と当該透かしデータ埋め込み対象ブロックの周辺ブロックの画像品質とが同等となるように当該透かしデータ埋め込み対象ブロックに対応する前記量子化ステップ幅の大きさを設定しこれを前記量子化部及び透かし埋め込み部に与える制御部を含み、前記透かし埋め込み部は、当該設定された大きさの量子化ステップ幅に基づいて前記直交変換係数に対して丸め処理を施し、当該丸め処理後の直交変換係数に対して前記透かしデータのデータ値に応じて当該量子化ステップ幅の大きさの加減算によって当該透かしデータの埋め込みをなすことを特徴とする。
【０００６】
本発明による画像復号装置は、符号化データの各々を復号して量子化データを得る逆符号化部と、当該量子化データの各々にブロック毎に設定された大きさの量子化ステップ幅で逆量子化処理を施して直交変換係数を得る逆量子化部と、透かしデータが埋め込まれている直交変換係数から当該透かしデータを検出する透かしデータ検出部と、前記直交変換係数の各々に逆直交変換処理を施して画像データを得る逆直交変換部と、を含む画像復号装置であって、前記透かしデータ検出部は、当該設定された大きさの量子化ステップ幅に基づいて前記直交変換係数に対して丸め処理を施し、前記直交変換係数から当該丸め処理後の直交変換係数を減算して得られた結果に基づいて前記透かしデータの検出をなすことを特徴とする。
【発明を実施するための最良の形態】
【０００７】
以下、本発明に係る実施例について添付の図面を参照しつつ詳細に説明する。
【０００８】
＜第１の実施例＞
図１は本発明による画像符号化装置及び画像復号装置を伝送路と共に表すブロック図である。画像符号化装置１０は、直交変換部１１と、透かし埋め込部１２と、量子化部１３と、可変長符号化部１４と、制御部１５と、を含む。
【０００９】
直交変換部１１は、外部より受け取った画像データＰＤを複数のブロックに分割し、これらの各々に対して、例えばＤＣＴ（Discrete Cosine Transform）などの直交変換処理を施して、ブロック毎の直交変換係数（以下、ＤＣＴ係数と称する）ＤＣを生成する。直交変換部１１は、ＤＣＴ係数ＤＣを透かし埋め込部１２に与える。
【００１０】
透かし埋め込み部１２は、直交変換部１１からのＤＣＴ係数ＤＣに、外部より受け取った透かしデータＴＤを埋め込む機能を有する。本実施例における透かしデータの値は０、１及び−１の３値であるとする。透かし埋め込部１２は、制御部１５から透かし埋め込み位置データＬＣを受け取り、これに基づいて透かしデータＴＤの埋め込み対象のＤＣＴ係数を識別する。
【００１１】
透かし埋め込部１２は、制御部１５から量子化ステップ幅ＷＳを受け取り、これを用いて当該ＤＣＴ係数に透かしデータＴＤを埋め込む。当該透かしデータの埋め込み処理の詳細については後述する。透かし埋め込部１２は、透かしデータの埋め込みによって得られた透かし入りＤＣＴ係数ＴＣを量子化部１３に与える。また、透かし埋め込部１２は、直交変換部１１からのＤＣＴ係数が透かしデータ埋め込み対象でないと判別した場合には、これをそのまま量子化部１３に与える。
【００１２】
量子化部１３は、透かし埋め込部１２からの透かし入りＤＣＴ係数ＴＣに対して、制御部１５からの量子化ステップ幅ＷＳで、通常の量子化処理を施す。また、量子化部１３は透かし埋め込部１２から透かし埋め込み無しのＤＣＴ係数を受け取った場合にも、これに制御部１５からの量子化ステップ幅ＷＳで、通常の量子化処理を施す。量子化部１３は量子化処理によって得られた量子化データＱＤを可変長符号化部１４に与える。
【００１３】
可変長符号化部１４は、量子化部１３からの量子化データＱＤに対して通常の可変長符号化処理を施して符号化データＳＤを得る。可変長符号化部１４は、伝送路２０を介して符号化データＳＤを画像復号装置３０に送信する。
【００１４】
制御部１５は、透かしデータ埋め込み対象ブロックの画像品質と当該透かしデータ埋め込み対象ブロックの周辺ブロックの画像品質との相違が小となるように（両者の画質が同等となるように）、当該透かしデータ埋め込み対象ブロックに対応する量子化ステップ幅ＷＳの大きさを設定し、これを量子化部１３及び透かし埋め込み部１２に与える。当該量子化ステップ幅ＷＳの大きさは、後述する式（１）によって算出される。ここでの周辺ブロックとは、透かしデータ埋め込み対象ブロックに隣接する少なくとも１つのブロックである。
【００１５】
制御部１５は、可変長符号化部１４からの符号量データＳＡに基づいて、動画像データの送受信ビットレートが所定の範囲に収まるように周辺ブロックの量子化ステップ幅ＷＳの大きさを設定し、これを量子化部１３に与える。
【００１６】
制御部１５は、透かしデータＴＤの埋め込み対象のＤＣＴ係数ＤＣを示す透かし埋め込み位置データＬＣを予め記憶しており、これに基づいて各ブロックが透かしデータ埋め込み対象ブロックであるのか、周辺ブロックであるのかを判別できる。制御部１５は、透かし埋め込み位置データＬＣを透かし埋め込部１２に与える。また、制御部１５は、伝送路２０を介して透かし埋め込み位置データＬＣを画像復号装置３０に送信する。
【００１７】
伝送路２０は、有線、無線いずれの伝送路でも良く、例えばインターネットなどの通信網でも良い。
【００１８】
画像復号装置３０は、逆可変長符号化部３１と、逆量子化部３２と、透かし検出部３３と、逆直交変換部３４と、を含む。
【００１９】
逆可変長符号化部３１は、伝送路２０より符号化データＳＤを受け取り、これに通常の逆可変長符号化処理を施して量子化データＱＤを得る。逆可変長符号化部３１は、量子化データＱＤを逆量子化部３２に与える。
【００２０】
逆量子化部３２は、量子化データＱＤに対してブロック毎の量子化ステップ幅で通常の逆量子化処理を施して透かし入りＤＣＴ係数ＴＣを得る。逆量子化部３２は、透かし入りＤＣＴ係数ＴＣを透かし検出部３３に与える。なお、逆量子化部３２は、透かしの埋め込まれていない量子化データを逆可変長符号化部３１から受け取った場合にも、当該量子化データに対して逆量子化処理を施してＤＣＴ係数を得て、当該ＤＣＴ係数を透かし検出部３３に与える。
【００２１】
透かし検出部３３は、伝送路２０より透かし埋め込み位置データＬＣを受け取り、これとブロック毎の量子化ステップ幅とに基づいて、透かし入りＤＣＴ係数ＴＣから透かしデータＴＤを検出する。透かし検出部３３は、透かし入りＤＣＴ係数ＴＣから透かしデータＴＤを除去して得られた透かし除去ＤＣＴ係数ＪＣを逆直交変換部３４に与える。また、透かし検出部３３は、当該検出によって得られた透かしデータＴＤを出力する。
【００２２】
逆直交変換部３４は、透かし検出部３３からの透かし除去ＤＣＴ係数ＪＣに通常の逆直交変換処理を施して画像データＰＤとし、これを出力する。
【００２３】
図２は透かし埋め込み及び圧縮符号化処理ルーチンを表すフローチャートである。以下、図２を参照しつつ、画像符号化装置１０における透かし埋め込み及び圧縮符号化処理について説明する。
【００２４】
先ず、直交変換部１１は、外部より画像データを受け取ったら、これを複数のブロックに分割する。ここでは一例として画像データはブロックサイズが８×８画素の複数のブロックに分割されるものとする。直交変換部１１は、更に当該分割によって得られたブロックの各々に対して直交変換処理を施して、ＤＣＴ係数を生成する（ステップＳ２０１）。直交変換部１１は、当該ＤＣＴ係数を透かし埋め込部１２に与える。
【００２５】
次に、制御部１５が量子化ステップ幅の大きさを算出する（Ｓ２０２）。制御部１５は、自身が記憶している透かし埋め込み位置データに基づいて透かし埋め込み対象のブロックを把握している。制御部１５は、透かし埋め込み対象ブロックの量子化ステップ幅Ｑを式（１）で算出する。
【００２６】
【数１】
0004900135.tif 000002
【００２７】
ここで、Ｎは透かしデータ埋め込み対象ブロックの画素数、Ｍは３以上の整数、Ａは画像データのピーク信号レベル、ｒは透かしデータ埋め込み対象ブロックの周辺ブロックの画像品質を表す。ここでの画像品質とは例えばＰＳＮＲ（Peak Signal-to-Noise Ratio）値の平均値などである。式（１）によって、透かしデータ埋め込み対象ブロックの画像品質が、透かしデータが埋め込まれない周辺ブロックの画像品質と同等になる量子化ステップ幅が算出される。式（１）の算出根拠及び妥当性については後述する。
【００２８】
制御部１５は、可変長符号化部１４からの符号量データに基づいてビットレートが所定の範囲に収まるように周辺ブロックの量子化ステップ幅Ｑｎを決定する。透かしデータが埋め込まれない周辺ブロックの量子化による誤差は、周辺ブロックの量子化ステップ幅Ｑｎに対して−Ｑｎ／２〜＋Ｑｎ／２の範囲で一様分布となるので、ブロック全体の誤差エネルギーＥ０は式（２）のようになる。
【００２９】
【数２】
0004900135.tif 000003
【００３０】
式（１−２）より、制御部１５は、周辺ブロックのＰＳＮＲ値を式（３）で算出し、これを適用する。
【００３１】
【数３】
0004900135.tif 000004
【００３２】
続いて、透かし埋め込部１２は、透かし埋め込み処理ルーチンを実行する（Ｓ２０３）。図３は透かし埋め込み処理ルーチンを表すフローチャートである。以下、図３を参照しつつ、透かし埋め込部１２における透かし埋め込み処理について説明する。
【００３３】
透かし埋め込部１２は、直交変換部１１からＤＣＴ係数を受け取り、制御部１５から透かし埋め込み位置データを受け取る。透かし埋め込部１２は、当該透かし埋め込み位置データに基づいて透かしデータ埋め込み対象のＤＣＴ係数を識別する（Ｓ３０１）。透かし埋め込部１２は、直交変換部１１からのＤＣＴ係数が埋め込み対象でないと判別した場合、当該ＤＣＴ係数には透かしデータを埋め込まずに当該処理を終了し、当該ＤＣＴ係数をそのまま量子化部１３に与える。
【００３４】
透かし埋め込部１２は、直交変換部１１からのＤＣＴ係数が埋め込み対象であると判別した場合、制御部１５から量子化ステップ幅を受け取り、外部から透かしデータを受け取る（Ｓ３０２）。図４は透かしデータ埋め込み対象のブロック及びそのＤＣＴ係数を表す図である。ここでは一例としてブロックサイズを８×８画素（＝６４画素）としている。６４画素の各々のＤＣＴ係数がｆ１〜ｆ６４で表されている。ここでは、一例として透かし埋め込み位置データが、透かしデータ埋め込み対象のＤＣＴ係数としてｆ６４を示しているものとする。
【００３５】
透かし埋め込部１２は、透かしデータ埋め込み対象のＤＣＴ係数ｆ６４に対して、制御部１５からの量子化ステップ幅の３倍の値で丸め処理を施す（Ｓ３０３）。図５は丸め処理における入力値と出力値の関係を表すグラフである。横軸は入力値、すなわち、丸め処理前のＤＣＴ係数を表す。縦軸は、出力値、すなわち、丸め処理後のＤＣＴ係数を表す。同図に示される丸め処理は、入力値が正数の領域では四捨五入の操作に相当し、入力値が負数の領域では符号を反転させたのち四捨五入して再度符号を反転させる処理に相当する。例えば、入力値（丸め処理前のＤＣＴ係数）が０．４であれば出力値（丸め処理後のＤＣＴ係数）は０となり、入力値が０．５であれば出力値は＋１となる。また、入力値が−０．４であれば出力値は０となり、入力値が−０．５であれば出力値は−１となる。
【００３６】
透かし埋め込部１２は、ＤＣＴ係数に対して量子化ステップ幅の３倍の値で丸め処理を施す。具体的には、先ず、ＤＣＴ係数を量子化ステップ幅の３倍の値で除算し、次に、当該除算によって得られた値を入力値として図５に示される特性に従って整数化した出力値を得る。最後に当該出力値に量子化ステップ幅の３倍の値を乗算することにより、丸め処理後のＤＣＴ係数が得られる。
【００３７】
ここでは、透かしデータの値は０、１及び−１の３値であるとする。透かし埋め込部１２は、外部から受け取った透かしデータの値が１である場合、丸め処理後のＤＣＴ係数に量子化ステップ幅の値を加算して透かし入りＤＣＴ係数を得る（Ｓ３０４、Ｓ３０５）。当該透かしデータの値が−１である場合、透かし埋め込部１２は丸め処理後のＤＣＴ係数から量子化ステップ幅の値を減算して透かし入りＤＣＴ係数を得る（Ｓ３０６、Ｓ３０７）。また、当該透かしデータの値が０である場合、透かし埋め込部１２は、丸め処理後のＤＣＴ係数に対して量子化ステップ幅の加減算は行わない。なお、透かし埋め込部１２は、透かし埋め込み対象ではないＤＣＴ係数ｆ１〜ｆ６３については透かし埋め込み処理を施さない。透かし埋め込部１２は、上記処理によって得られた透かし入りＤＣＴ係数を量子化部１３に与える。
【００３８】
再び図2を参照する。上記した透かし埋め込み処理（Ｓ２０３）に続いて、量子化部１３は、透かし入り及び透かし埋め込み無しのＤＣＴ係数の各々に対して、制御部１５からの量子化ステップ幅で通常の量子化処理を施して量子化データを得る（Ｓ２０４）。具体的には、先ず、ＤＣＴ係数を量子化ステップ幅で除算し、次に、当該除算によって得られた値を入力値として図５に示される特性に従って整数化した出力値（量子化データ）を得る。量子化部１３は当該量子化データを可変長符号化部１４に与える。
【００３９】
可変長符号化部１４は、量子化部１３からの量子化データに対して通常の可変長符号化処理を施して符号化データを得る（Ｓ２０５）。続いて可変長符号化部１４は、伝送路２０を介して当該符号化データを画像復号装置３０に送信する（Ｓ２０６）。これと同時に、可変長符号化部１４は、当該符号化処理において発生した符号量を表す符号量データを制御部１５に与える。
【００４０】
続いて、画像復号装置３０における透かし検出及び復号化処理について説明する。図６は透かし検出及び復号化処理ルーチンを表すフローチャートである。
【００４１】
先ず、逆可変長符号化部３１が伝送路２０を介して符号化データを受信する（Ｓ６０１）。逆可変長符号化部３１は当該符号化データに通常の可変長符号化処理を施して量子化データを得る（Ｓ６０２）。逆可変長符号化部３１は当該量子化データを逆量子化部３２に与える。
【００４２】
逆量子化部３２は、逆可変長符号化部３１からの量子化データに対してブロック毎の量子化ステップ幅で通常の逆量子化処理を施してＤＣＴ係数を得る（Ｓ６０３）。逆量子化部３２は、当該透かし入りＤＣＴ係数を透かし検出部３３に与える。以下、透かしの埋め込まれているＤＣＴ係数を透かし入りＤＣＴ係数と称する。
【００４３】
透かし検出部３３は、伝送路２０より透かし埋め込み位置データを受け取り、これとブロック毎の量子化ステップ幅とに基づいて、逆量子化部３２からの透かし入りＤＣＴ係数から透かしデータＴＤを検出する透かし検出処理を行う（Ｓ６０４）。図７は透かし検出処理ルーチンを表すフローチャートである。
【００４４】
先ず、透かし検出部３３は、透かし埋め込み位置データに基づいて、逆量子化部３２からのＤＣＴ係数が、透かし埋め込み対象のＤＣＴ係数であるか否かを判別する（Ｓ７０１）。透かし検出部３３は、ＤＣＴ係数が透かし埋め込み対象でないと判別した場合、当該処理を終了し、当該ＤＣＴ係数をそのまま逆直交変換部３４に与える。透かし検出部３３は、ＤＣＴ係数が透かし入りＤＣＴ係数であると判別した場合、当該ＤＣＴ係数から、当該ＤＣＴ係数を量子化ステップ幅の３倍の値で丸めた値を減算する（Ｓ７０２）。
【００４５】
透かし検出部３３は、当該減算の結果が０であれば、透かしデータの値を０と判定する（Ｓ７０３、Ｓ７０４）。当該減算の結果が正数であれば、透かし検出部３３は、透かしデータの値を１と判定する（Ｓ７０５、Ｓ７０６）。当該減算の結果が負数であれば、透かし検出部３３は、透かしデータの値を−１と判定する（Ｓ７０７）。透かし検出部３３は、当該判定によって得られた値を透かしデータとして外部に出力する。
【００４６】
上記判定の妥当性を以下に示す。画像符号化装置１０における、透かし埋め込み対象のＤＣＴ係数をｆ、透かし入りＤＣＴ係数をｇ、量子化データをｈ、量子化ステップをＱとし、画像復号装置３０における、透かし入りＤＣＴ係数をｓ、透かし検出処理における減算結果をｔとする。このとき、ｇ、ｈ、ｓ、ｔは式（４）で表される。
【００４７】
【数４】
0004900135.tif 000005
【００４８】
ここで、記号＜＞は図５に示す整数化の演算処理を表す。αは、透かし値の０のときに０、透かし値の１のときに１、透かし値の−１のときに−１である。式（４）より、α＝０の場合にはｔ＝０、α＝１の場合にはｔ＝＋Ｑ、α＝−１の場合にはｔ＝―Ｑとなる。したがって、透かし検出部３３は、減算結果ｔが０、正数及び負数の何れであるかに基づいて透かしデータの値を判定できる。
【００４９】
また、式（４）より、画像復号装置３０における透かし入りＤＣＴ係数ｓは式（５）のように表される。
【００５０】
【数５】
0004900135.tif 000006
【００５１】
式（５）より、透かし入りＤＣＴ係数からαＱを減算することによって、透かし成分を除去することができ、当該ＤＣＴ係数の画像品質が向上することがわかる。そこで、透かし検出部３３は、透かし入りＤＣＴ係数から量子化ステップ幅の値を減算して透かし除去ＤＣＴ係数を得る。具体的には、透かし値が１の場合、透かし検出部３３は、透かし入りＤＣＴ係数から量子化ステップ幅の値を減算して得られた値を透かし除去ＤＣＴ係数とする。透かし値が−１の場合、透かし検出部３３は、透かし入りＤＣＴ係数に量子化ステップ幅の値を加算して得られた値を透かし除去ＤＣＴ係数とする。透かし検出部３３は、当該透かし除去ＤＣＴ係数を逆直交変換部３４に与える。
【００５２】
再び図６を参照する。逆直交変換部３４は、透かし検出部３３からの透かし除去ＤＣＴ係数に通常の逆直交変換処理を施して画像データを得て、これを出力する（Ｓ６０５）。上記した処理により、画像復号装置３０は、画像符号化装置１０にて埋め込まれた透かしデータを検出、出力することができる。
【００５３】
以下に、式（１）の妥当性について説明する。透かし埋め込み対象ブロックの符号化による誤差エネルギーＥは、透かしが埋め込まれないＤＣＴ係数に対する量子化誤差Ｅ１と、透かし埋め込み対象のＤＣＴ係数に対する丸め処理による誤差Ｅ２と、当該ＤＣＴ係数への透かし値埋め込みによる誤差Ｅ３の総和となる。ここで、量子化ステップ幅をＱ、ブロック内に含まれている画素数をＮ（＝６４）、画像データのピーク信号レベルをＡ（＝２５５）、ブロックのＰＳＮＲをｒ、定数Ｍ＝３とする。Ｅ１は、Ｎ−１個のＤＣＴ係数について−Ｑ／２〜＋Ｑ／２の範囲の一様分布であり、Ｅ２は１つのＤＣＴ係数について−ＭＱ／２〜＋ＭＱ／２の範囲の一様分布であり、Ｅ３の最大値は量子化ステップ幅Ｑであるため、式（６）が得られる。
【００５４】
【数６】
0004900135.tif 000007
【００５５】
式（６）を変形することにより、前述した式（１）が得られる。
【００５６】
上記した如く本実施例による画像符号化装置は、ブロック毎の量子化ステップ幅に基づいて、透かし埋め込み対象のＤＣＴ係数に透かしデータを埋め込む。具体的には、画像符号化装置は、先ず、当該ＤＣＴ係数に対して量子化ステップ幅の３倍の値で丸め処理を施す。次に画像符号化装置は、透かしデータが１の場合には、丸め処理によって得られた値に量子化ステップ幅の値を加算し、透かしデータが−１の場合には、丸め処理によって得られた値から量子化ステップ幅の値を減算することによって透かしデータの埋め込み処理をなす。
【００５７】
本実施例による画像復号装置は、ブロック毎の量子化ステップ幅に基づいて、透かしデータが埋め込まれたＤＣＴ係数から透かしデータを検出する。具体的には、画像復号装置は、先ず、当該ＤＣＴ係数から、当該ＤＣＴ係数に対して量子化ステップ幅の３倍で丸め処理を施して得られた値を減算する。画像復号装置は、当該減算の結果が０、１及び−１のいずれであるかに基づいて透かしデータの値を判定する。
【００５８】
従来技術においては、量子化誤差の影響によって透かし埋め込み画像に劣化が生じ、透かしデータを検出できなくなるという問題があった。式（６）に表されるように、通常、量子化などによって生じる誤差は、量子化ステップ幅の影響を受ける。上記したように本実施例による画像符号化装置は、透かし埋め込み処理において、透かしデータの値に応じて量子化ステップ幅を加算若しくは減算することによりＤＣＴ係数に透かしデータを埋め込む。画像復号装置は透かし検出処理において算出された値が０（量子化ステップ幅の加減算なし）であるのか、正数（量子化ステップ幅の加算）であるのか、または、負数（量子化ステップ幅の減算）であるのかによって、透かし値を判別するため、量子化ステップ幅の大小に左右されることなく、すなわち、量子化誤差に左右されずに、透かしデータを埋め込み、且つ正確に透かしデータを検出することができる。
【００５９】
本実施例による画像符号化装置は、透かし埋め込み対象ブロックの画像品質（ＰＳＮＲ値）を、周辺ブロックの画像品質に基づいて決定するため、透かしデータが埋め込まれたブロックの画質とその周辺のブロックの画質とが同等となり、透かしデータが埋め込まれた画像領域が視覚的に特定され難いという効果を奏する。更に、画像復号装置は、透かし入りＤＣＴ係数から透かしデータを取除いてから復号（逆直交変換）するため、画質を向上させることができる。
【００６０】
本実施例では、透かし埋め込部１２が、ＤＣＴ係数を量子化ステップ幅の３倍の値で丸め、透かし検出部３３が同じく量子化ステップ幅の３倍の値で透かしデータを検出する場合について説明したが、上記の倍率は３倍に限られるものではなく、３以上の整数であれば本実施例と同様の効果が得られる。ただし、透かし埋め込部１２で用いる倍率と透かし検出部３３で用いる倍率とは同一である。
【００６１】
＜第２の実施例＞
本実施例における画像符号化装置１０及び画像復号装置３０は、第１の実施例と同様に図１のブロック図で表される。以下、第１の実施例と異なる部分について説明する。
【００６２】
本実施例では、透かしデータを０及び１からなるビット列とし、１つのブロックには１ビットの透かしビットが埋め込まれるものとする。
【００６３】
制御部１５は、式（７）により、透かし埋め込み対象ブロックの量子化幅Ｑを算出する。
【００６４】
【数７】
0004900135.tif 000008
【００６５】
ここで、Ｎは透かしデータ埋め込み対象ブロックの画素数、Ａは画像データのピーク信号レベル、ｒは透かしデータ埋め込み対象ブロックの周辺ブロックの画像品質（ＰＳＮＲ）を表す。式（７）の算出根拠及び妥当性については後述する。なお、ブロック全体の誤差エネルギーＥ０及び周辺ブロックのＰＳＮＲ値は、第１の実施例と同様にそれぞれ式（２）及び式（３）で算出される。
【００６６】
図８は透かし埋め込み処理ルーチンを表すフローチャートである。以下、図８を参照しつつ、透かし埋め込部１２における透かし埋め込み処理について説明する。
【００６７】
透かし埋め込部１２は、直交変換部１１からＤＣＴ係数を受け取り、制御部１５から透かし埋め込み位置データを受け取る。透かし埋め込部１２は、当該透かし埋め込み位置データに基づいて透かしデータ埋め込み対象のＤＣＴ係数を識別する（Ｓ８０１）。透かし埋め込部１２は、直交変換部１１からのＤＣＴ係数が埋め込み対象でないと判別した場合、当該ＤＣＴ係数には透かしデータを埋め込まずに当該処理を終了し、当該ＤＣＴ係数をそのまま量子化部１３に与える。
【００６８】
透かし埋め込部１２は、直交変換部１１からのＤＣＴ係数が埋め込み対象であると判別した場合、制御部１５から量子化ステップ幅を受け取り、外部から透かしデータを受け取る（Ｓ８０２）。ここでは第１の実施例と同様、図４に示されるＤＣＴ係数ｆ６４を透かしデータ埋め込み対象のＤＣＴ係数であるとする。
【００６９】
透かし埋め込部１２は、透かしデータ埋め込み対象のＤＣＴ係数ｆ６４に対して、制御部１５からの量子化ステップ幅の２倍の値で丸め処理を施す（Ｓ８０３）。具体的には、先ず、ＤＣＴ係数を量子化ステップ幅の２倍の値で除算し、次に、第１の実施例と同様、当該除算によって得られた値を入力値として図５に示される特性に従って整数化した出力値を得る。最後に当該出力値に量子化ステップ幅の２倍の値を乗算することにより、丸め処理後のＤＣＴ係数が得られる。
【００７０】
透かし埋め込部１２は、外部から受け取った透かしデータの値が１である場合、丸め処理後のＤＣＴ係数に量子化ステップ幅の値を加算して透かし入りＤＣＴ係数を得る（Ｓ８０４、Ｓ８０５）。当該透かしデータの値が０である場合、透かし埋め込部１２は、丸め処理後のＤＣＴ係数に対して量子化ステップ幅の加減算は行わない。なお、透かし埋め込部１２は、透かし埋め込み対象ではないＤＣＴ係数ｆ１〜ｆ６３については透かし埋め込み処理を施さない。透かし埋め込部１２は、上記処理によって得られた透かし入りＤＣＴ係数を量子化部１３に与える。
【００７１】
続いて、第１の実施例と同様に、量子化部１３が透かし入りＤＣＴ係数に量子化処理を施して量子化データとし、可変長符号化部１４が当該量子化データに可変長符号化処理を施して符号化データとする。可変長符号化部１４は伝送路２０を介して当該符号化データを画像復号装置３０に送信する。
【００７２】
画像復号装置３０においても第１の実施例と同様に、逆可変長符号化部３１が伝送路２０からの符号化データに逆可変長符号化処理を施して量子化データとし、逆量子化部３２が当該量子化データに逆量子化処理を施してＤＣＴ係数とし、これを透かし検出部３３に与える。
【００７３】
透かし検出部３３は、伝送路２０より透かし埋め込み位置データを受け取り、これとブロック毎の量子化ステップ幅とに基づいて、逆量子化部３２からの透かし入りＤＣＴ係数から透かしデータＴＤを検出する透かし検出処理を行う。図９は透かし検出処理ルーチンを表すフローチャートである。以下、図９を参照しつつ、透かし検出部３３における透かし検出処理について説明する。
【００７４】
先ず、透かし検出部３３は、透かし埋め込み位置データに基づいて、逆量子化部３２からのＤＣＴ係数が、透かし埋め込み対象のＤＣＴ係数であるか否かを判別する（Ｓ９０１）。透かし検出部３３は、ＤＣＴ係数が透かし埋め込み対象でないと判別した場合、当該処理を終了し、当該ＤＣＴ係数をそのまま逆直交変換部３４に与える。透かし検出部３３は、ＤＣＴ係数が透かし入りＤＣＴ係数であると判別した場合、当該ＤＣＴ係数から、当該ＤＣＴ係数を量子化ステップ幅の２倍の値で丸めた値を減算する（Ｓ９０２）。
【００７５】
透かし検出部３３は、当該減算の結果が０であれば、透かしデータの値を０と判定する（Ｓ９０３、Ｓ９０４）。当該減算の結果が０以外であれば、透かし検出部３３は、透かしデータの値を１と判定する（Ｓ９０３、Ｓ９０５）。透かし検出部３３は、当該判定によって得られた値を透かしデータとして外部に出力する。
【００７６】
上記判定の妥当性を以下に示す。画像符号化装置１０における、透かし埋め込み対象のＤＣＴ係数をｆ、透かし入りＤＣＴ係数をｇ、量子化データをｈ、量子化ステップをＱとし、画像復号装置３０における、透かし入りＤＣＴ係数をｓ、透かし検出処理における減算結果をｔとする。このとき、ｇ、ｈ、ｓ、ｔは式（８）で表される。
【００７７】
【数８】
0004900135.tif 000009
【００７８】
ここで、記号＜＞は図５に示す整数化の演算処理を表す。αは、透かし値の０のときに０、透かし値の１のときに１である。式（８）より、α＝０の場合にはｔ＝０、α＝１の場合にはｔ＝±Ｑとなる。したがって、透かし検出部３３は、減算結果ｔが０であるか否かに基づいて透かしデータの値を判定できる。なお、式（８）によれば、α＝−１とした場合にもｔ＝±Ｑとなることから、透かし埋め込部１２において、透かしデータが１の場合に透かし入りＤＣＴ係数として量子化ステップ幅の値を加算する代わりに、量子化ステップ幅を減算しても良い。
【００７９】
また、式（８）より、画像復号装置３０における透かし入りＤＣＴ係数ｓは式（９）のように表される。
【００８０】
【数９】
0004900135.tif 000010
【００８１】
式（９）より、透かし入りＤＣＴ係数からαＱを減算することによって、透かし成分を除去することができ、当該ＤＣＴ係数の画像品質が向上することがわかる。そこで、透かし検出部３３は、透かしデータの値が１のときに、透かし入りＤＣＴ係数から量子化ステップ幅の値を減算して透かし除去ＤＣＴ係数を得る。
【００８２】
続いて、第１の実施例と同様に、透かし検出部３３は、透かし除去ＤＣＴ係数を逆直交変換部３４に与え、逆直交変換部３４は、当該透かし除去ＤＣＴ係数に通常の逆直交変換処理を施して画像データを得て、これを出力する。上記した処理により、画像復号装置３０は、画像符号化装置１０にて埋め込まれた透かしデータを検出、出力することができる。
【００８３】
以下に、式（７）の妥当性について説明する。透かし埋め込み対象ブロックの符号化による誤差エネルギーＥは、透かしが埋め込まれないＤＣＴ係数に対する量子化誤差Ｅ１と、透かし埋め込み対象のＤＣＴ係数に対する丸め処理による誤差Ｅ２と、当該ＤＣＴ係数への透かし値埋め込みによる誤差Ｅ３の総和となる。ここで、量子化ステップ幅をＱ、ブロック内に含まれている画素数をＮ（＝６４）、画像データのピーク信号レベルをＡ（＝２５５）、ブロックのＰＳＮＲをｒ、定数Ｍ＝２とする。Ｅ１は、Ｎ−１個のＤＣＴ係数について−Ｑ／２〜＋Ｑ／２の範囲の一様分布であり、Ｅ２は１つのＤＣＴ係数について−ＭＱ／２〜＋ＭＱ／２の範囲の一様分布であり、Ｅ３の最大値は量子化ステップ幅Ｑであるため、式（１０）が得られる。
【００８４】
【数１０】
0004900135.tif 000011
【００８５】
式（１０）を変形することにより、前述した式（７）が得られる。
【００８６】
本実施例による画像符号化装置は、ＤＣＴ係数に対して量子化ステップ幅の２倍の値で丸め処理を施し、０及び１の２値の透かしデータの内、透かしデータが１の場合にのみ、丸め処理によって得られた値に量子化ステップ幅の値を加算することによって透かしデータの埋め込み処理をなす。
【００８７】
本実施例による画像復号装置は、ＤＣＴ係数から、当該ＤＣＴ係数に対して量子化ステップ幅の２倍で丸め処理を施して得られた値を減算し、当該減算の結果が０であるか否かに基づいて透かしデータの値を判定する。
【００８８】
上記した如く本実施例による画像符号化装置は、透かし埋め込み処理において、透かしデータの値が特定の値（ここでは０）である場合に量子化ステップ幅を加算（若しくは減算）することによりＤＣＴ係数に透かしデータを埋め込む。画像復号装置は透かし検出処理において算出された値が０（量子化ステップ幅の加減算なし）であるのか、０以外（量子化ステップ幅の加減算あり）であるのかによって、透かし値を判別するため、量子化ステップ幅の大小に左右されることなく、すなわち、量子化誤差に左右されずに、透かしデータを埋め込み、且つ正確に透かしデータを検出することができる。
【００８９】
本実施例では、透かし埋め込部１２が、ＤＣＴ係数を量子化ステップ幅の２倍の値で丸め、更に透かしデータが１の場合に量子化ステップ幅の値を加算する場合について説明したが、当該加算の代わりに量子化ステップ幅を減算するようにしても画像復号装置３０にて透かしデータを正確に検出することができる。また、透かしデータが０の場合に量子化ステップ幅の値を加算若しくは減算するようにしても、画像復号装置３０にて透かしデータを正確に検出することができるため、実施例と同様の効果が得られる。
【００９０】
＜第３の実施例＞
本実施例における画像符号化装置１０及び画像復号装置３０は、第１の実施例と同様に図１のブロック図で表される。以下、第１の実施例と異なる部分について説明する。
【００９１】
本実施例では、透かしデータを０及び１からなる２値列とし、１つのブロックには２値の透かし値が埋め込まれるものとする。
【００９２】
制御部１５は、式（１１）により、透かし埋め込み対象ブロックの量子化幅Ｑを算出する。
【００９３】
【数１１】
0004900135.tif 000012
【００９４】
ここで、Ｎは透かしデータ埋め込み対象ブロックの画素数、Ｍは固定値２、Ａは画像データのピーク信号レベル、ｒは透かしデータ埋め込み対象ブロックの周辺ブロックの画像品質（ＰＳＮＲ）を表す。式（１１）の算出根拠及び妥当性については後述する。なお、ブロック全体の誤差エネルギーＥ０及び周辺ブロックのＰＳＮＲ値は、第１の実施例と同様にそれぞれ式（２）及び式（３）で算出される。
【００９５】
図１０は透かし埋め込み処理ルーチンを表すフローチャートである。以下、図１０を参照しつつ、透かし埋め込部１２における透かし埋め込み処理について説明する。
【００９６】
透かし埋め込部１２は、直交変換部１１からＤＣＴ係数を受け取り、制御部１５から透かし埋め込み位置データを受け取る。透かし埋め込部１２は、当該透かし埋め込み位置データに基づいて透かしデータ埋め込み対象のＤＣＴ係数を識別する（Ｓ１０１）。透かし埋め込部１２は、直交変換部１１からのＤＣＴ係数が埋め込み対象でないと判別した場合、当該ＤＣＴ係数には透かしデータを埋め込まずに当該処理を終了し、当該ＤＣＴ係数をそのまま量子化部１３に与える。
【００９７】
透かし埋め込部１２は、直交変換部１１からのＤＣＴ係数が埋め込み対象であると判別した場合、制御部１５から量子化ステップ幅を受け取り、外部から透かしデータを受け取る（Ｓ１０２）。ここでは第１の実施例と同様、図４に示されるＤＣＴ係数ｆ６４を透かしデータ埋め込み対象のＤＣＴ係数であるとする。
【００９８】
透かし埋め込部１２は、透かしデータ埋め込み対象のＤＣＴ係数ｆ６４に対して、制御部１５からの量子化ステップ幅の２倍の値で丸め処理を施す（Ｓ１０３）。具体的には、先ず、ＤＣＴ係数を量子化ステップ幅の２倍の値で除算し、次に、第１の実施例と同様、当該除算によって得られた値を入力値として図５に示される特性に従って整数化した出力値を得る。最後に当該出力値に量子化ステップ幅の２倍の値を乗算することにより、丸め処理後のＤＣＴ係数が得られる。
【００９９】
続いて、透かし埋め込部１２は、外部から受け取った透かしデータの値が１であるか否かを判別する（Ｓ１０４）。透かし埋め込部１２は、当該透かしデータの値が１以外であると判別した場合、丸め処理後のＤＣＴ係数に対して量子化ステップ幅の加減算は行わない。透かし埋め込部１２は、当該透かしデータの値が１であると判別した場合、丸め処理後のＤＣＴ係数が０以上であるか否かを判別する（Ｓ１０５）。
【０１００】
丸め処理後のＤＣＴ係数が０以上であれば、透かし埋め込部１２は、丸め処理後のＤＣＴ係数に量子化ステップ幅の半分の値を加算する（Ｓ１０６）。丸め処理後のＤＣＴ係数が０未満であれば、透かし埋め込部１２は、丸め処理後のＤＣＴ係数から量子化ステップ幅の半分の値を減算する（Ｓ１０７）。なお、透かし埋め込部１２は、透かし埋め込み対象ではないＤＣＴ係数ｆ１〜ｆ６３については透かし埋め込み処理を施さない。透かし埋め込部１２は、上記処理によって得られた透かし入りＤＣＴ係数を量子化部１３に与える。
【０１０１】
続いて、第１の実施例と同様に、量子化部１３が透かし入りＤＣＴ係数に量子化処理を施して量子化データとし、可変長符号化部１４が当該量子化データに可変長符号化処理を施して符号化データとする。可変長符号化部１４は伝送路２０を介して当該符号化データを画像復号装置３０に送信する。
【０１０２】
画像復号装置３０においても第１の実施例と同様に、逆可変長符号化部３１が伝送路２０からの符号化データに逆可変長符号化処理を施して量子化データとし、逆量子化部３２が当該量子化データに逆量子化処理を施してＤＣＴ係数とし、これを透かし検出部３３に与える。
【０１０３】
透かし検出部３３は、伝送路２０より透かし埋め込み位置データを受け取り、これとブロック毎の量子化ステップ幅とに基づいて、逆量子化部３２からの透かし入りＤＣＴ係数から透かしデータＴＤを検出する透かし検出処理を行う。図１１は透かし検出処理ルーチンを表すフローチャートである。以下、図１１を参照しつつ、透かし検出部３３における透かし検出処理について説明する。
【０１０４】
先ず、透かし検出部３３は、透かし埋め込み位置データに基づいて、逆量子化部３２からのＤＣＴ係数が、透かし埋め込み対象のＤＣＴ係数であるか否かを判別する（Ｓ１１１）。透かし検出部３３は、ＤＣＴ係数が透かし埋め込み対象でないと判別した場合、当該処理を終了し、当該ＤＣＴ係数をそのまま逆直交変換部３４に与える。透かし検出部３３は、ＤＣＴ係数が透かし入りＤＣＴ係数であると判別した場合、当該ＤＣＴ係数から、当該ＤＣＴ係数を量子化ステップ幅の２倍の値で丸めた値を減算する（Ｓ１１２）。
【０１０５】
透かし検出部３３は、当該減算の結果が０であれば、透かしデータの値を０と判定する（Ｓ１１３、Ｓ１１４）。当該減算の結果が０以外であれば、透かし検出部３３は、透かしデータの値を１と判定する（Ｓ１１３、Ｓ１１５）。透かし検出部３３は、当該判定によって得られた値を透かしデータとして外部に出力する。
【０１０６】
上記判定の妥当性を以下に示す。画像符号化装置１０における、透かし埋め込み対象のＤＣＴ係数をｆ、透かし入りＤＣＴ係数をｇ、量子化データをｈ、量子化ステップをＱとし、画像復号装置３０における、透かし入りＤＣＴ係数をｓ、透かし検出処理における減算結果をｔとする。このとき、ｇ、ｈ、ｓ、ｔは式（１２）で表される。
【０１０７】
【数１２】
0004900135.tif 000013
【０１０８】
ここで、記号＜＞は図５に示す整数化の演算処理を表す。αは、透かし値の０のときに０、透かし値の１のときに１である。ｓｉｇｎ（ｘ）は、ｘ＞＝０のときに１、ｘ＜０のときに−１である。式（１２）より、α＝０の場合にはｔ＝０、α＝１の場合にはｔ＝±Ｑ（＜ｆ／２Ｑ＞  ＞＝０のとき−Ｑ、＜ｆ／２Ｑ＞  ＜０のとき＋Ｑ）となる。したがって、透かし検出部３３は、減算結果ｔが０であるか否かに基づいて透かしデータの値を判定できる。
【０１０９】
また、式（１２）より、画像復号装置３０における透かし入りＤＣＴ係数ｓは式（１３）のように表される。
【０１１０】
【数１３】
0004900135.tif 000014
【０１１１】
式（１３）より、透かし入りＤＣＴ係数からＳｉｇｎ（＜ｆ／２Ｑ＞）αＱを減算することによって、透かし成分を除去することができ、当該ＤＣＴ係数の画像品質が向上することがわかる。そこで、透かし検出部３３は、透かしデータの値が１のときに、ｔ＝−Ｑであれば透かし入りＤＣＴ係数から量子化ステップ幅の値を減算して、ｔ＝＋Ｑであれば透かし入りＤＣＴ係数に量子化ステップ幅の値を加算して、透かし除去ＤＣＴ係数を得る。
【０１１２】
続いて、第１の実施例と同様に、透かし検出部３３は、透かし除去ＤＣＴ係数を逆直交変換部３４に与え、逆直交変換部３４は、当該透かし除去ＤＣＴ係数に通常の逆直交変換処理を施して画像データを得て、これを出力する。上記した処理により、画像復号装置３０は、画像符号化装置１０にて埋め込まれた透かしデータを検出、出力することができる。
【０１１３】
以下に、式（１１）の妥当性について説明する。透かし埋め込み対象ブロックの符号化による誤差エネルギーＥは、透かしが埋め込まれないＤＣＴ係数に対する量子化誤差Ｅ１と、透かし埋め込み対象のＤＣＴ係数に対する丸め処理による誤差Ｅ２と、当該ＤＣＴ係数への透かし値埋め込みによる誤差Ｅ３の総和となる。ここで、量子化ステップ幅をＱ、ブロック内に含まれている画素数をＮ（＝６４）、画像データのピーク信号レベルをＡ（＝２５５）、ブロックのＰＳＮＲをｒ、定数Ｍ＝２とする。Ｅ１は、Ｎ−１個のＤＣＴ係数について−Ｑ／２〜＋Ｑ／２の範囲の一様分布であり、Ｅ２は１つのＤＣＴ係数について−ＭＱ／２〜＋ＭＱ／２の範囲の一様分布であり、Ｅ３の最大値はＱ／２であるため、式（１４）が得られる。
【０１１４】
【数１４】
0004900135.tif 000015
【０１１５】
式（１４）を変形することにより、前述した式（１１）が得られる。
【０１１６】
本実施例による画像符号化装置は、ＤＣＴ係数に対して量子化ステップ幅の２倍の値で丸め処理を施し、０及び１の２値の透かしデータの内、透かしデータが１の場合には、丸め処理によって得られた直交変換係数が０以上であれば、当該係数に量子化ステップ幅の半分の値を加算し、当該係数が０未満であれば、当該係数から量子化ステップ幅の半分の値を減算することによって透かしデータの埋め込み処理をなす。
【０１１７】
本実施例による画像復号装置は、ＤＣＴ係数から、当該ＤＣＴ係数に対して量子化ステップ幅の２倍で丸め処理を施して得られた値を減算し、当該減算の結果が０であるか否かに基づいて透かしデータの値を判定する。
【０１１８】
上記した如く本実施例による画像符号化装置は、透かし埋め込み処理において、透かしデータの値が０以上であるか否かに応じて量子化ステップ幅の半分の値を加算若しくは減算することによりＤＣＴ係数に透かしデータを埋め込む。画像復号装置は透かし検出処理において算出された値が０（量子化ステップ幅の加減算なし）であるのか、０以外（量子化ステップ幅の加減算あり）であるのかによって、透かし値を判別するため、量子化ステップ幅の大小に左右されることなく、すなわち、量子化誤差に左右されずに、透かしデータを埋め込み、且つ正確に透かしデータを検出することができる。
【０１１９】
本実施例では、透かし埋め込部１２が、ＤＣＴ係数を量子化ステップ幅の２倍の値で丸め、透かし検出部３３が同じく量子化ステップ幅の２倍の値で透かしデータを検出する場合について説明したが、上記の倍率は２倍に限られるものではなく、２以上の整数であれば本実施例と同様の効果が得られる。ただし、透かし埋め込部１２で用いる倍率と透かし検出部３３で用いる倍率とは同一である。
【０１２０】
第１〜第３の実施例では、ＤＣＴ係数に透かしデータを埋め込む場合について説明したが、ＤＣＴ係数以外の直行変換係数に透かしデータを埋め込んでも、本実施例と同様の効果が得られる。また、従来公知の動画像符号化方式のように画像データより予測誤差画像データを生成して、これを符号化する場合にも、本発明の適用により、実施例と同様の効果が得られる。
【０１２１】
第１〜第３の実施例では、画像のブロックサイズを８×８画素の場合について説明したが、当該サイズはこれに限定されず、例えば、４×４、１６×１６、３２×３２などのブロックサイズであっても本実施例と同様の効果を奏する。
【０１２２】
第１〜第３の実施例では、制御部１５が透かし位置データを画像復号装置に伝送する場合について説明したが、透かし位置データを予め定めた固定値し、画像復号装置３０内に当該固定値を予め設定しておけば、当該透かし位置データを画像符号化装置１０から画像復号装置３０に伝送しなくても、実施例と同様の効果が得られる。
【図面の簡単な説明】
【０１２３】
【図１】本発明による画像符号化装置及び画像復号装置を伝送路と共に表すブロック図である。
【図２】透かし埋め込み及び圧縮符号化処理ルーチンを表すフローチャートである。
【図３】透かし埋め込み処理ルーチンを表すフローチャートである。
【図４】透かしデータ埋め込み対象のブロック及びそのＤＣＴ係数を表す図である。
【図５】丸め処理における入力値と出力値の関係を表すグラフである。
【図６】透かし検出及び復号化処理ルーチンを表すフローチャートである。
【図７】透かし検出処理ルーチンを表すフローチャートである。
【図８】透かし埋め込み処理ルーチンを表すフローチャートである。
【図９】透かし検出処理ルーチンを表すフローチャートである。
【図１０】透かし埋め込み処理ルーチンを表すフローチャートである。
【図１１】透かし検出処理ルーチンを表すフローチャートである。
【符号の説明】
【０１２４】
１０  画像符号化装置
１１  直交変換部
１２  透かし埋め込部
１３  量子化部
１４  可変長符号化部
１５  制御部
２０  伝送路
３０  画像復号装置
３１  逆可変長符号化部
３２  逆量子化部
３３  透かし検出部
３４  逆直交変換部
【図１】
0004900135.tif 000020
【図２】
0004900135.tif 000021
【図３】
0004900135.tif 000022
【図４】
0004900135.tif 000023
【図５】
0004900135.tif 000024
【図６】
0004900135.tif 000025
【図７】
0004900135.tif 000026
【図８】
0004900135.tif 000027
【図９】
0004900135.tif 000028
【図１０】
0004900135.tif 000029
【図１１】
0004900135.tif 000030