(57)【特許請求の範囲】
【請求項１】
ブロック単位で符号化された画像データにウォータマークのパターンに応じて所定の付加レベルを加算又は減算することで、前記ウォータマークを付随情報として付加する画像データ処理装置において、
前記ウォータマークが付加される、Ｎ×Ｎ画素のブロック単位で符号化された所定のデータの符号の位置を検出する簡易解読手段と、
前記画像データのブロックに対応するように前記ウォータマークのパターンをブロック単位に拡大するとともに、前記ウォータマークのパターンが対応する前記画像データのブロックの周波数成分に基づき、前記ウォータマークのパターンが付加可能な最大付加レベルを算出する拡大手段と、
少なくとも前記最大付加レベルに基づいて前記付加レベルを設定し、前記簡易解読手段により検出された前記位置にある前記符号に、付加する前記ウォータマークのパターンに応じて、設定した前記付加レベルを加算又は減算する付加手段と
を含むことを特徴とする画像データ処理装置。
【請求項２】
ブロック単位で符号化された画像データにウォータマークのパターンに応じて所定の付加レベルを加算又は減算することで、前記ウォータマークを付随情報として付加する画像データ処理方法において、
前記ウォータマークが付加される、Ｎ×Ｎ画素のブロック単位で符号化された所定のデータの符号の位置を検出する簡易解読ステップと、
前記画像データのブロックに対応するように前記ウォータマークのパターンをブロック単位に拡大するとともに、前記ウォータマークのパターンが対応する前記画像データのブロックの周波数成分に基づき、前記ウォータマークのパターンが付加可能な最大付加レベルを算出する拡大ステップと、
少なくとも前記最大付加レベルに基づいて前記付加レベルを設定し、前記簡易解読ステップの処理で検出された前記位置にある前記符号に、付加する前記ウォータマークのパターンに応じて、設定した前記付加レベルを加算又は減算する付加ステップと
を含むことを特徴とする画像データ処理方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、画像データ処理装置および方法に関し、特に、ウォータマークをブロック化することにより、符号化した画像データに対してウォータマークを確実に付加し、これを検出することができるようにした画像データ処理装置および方法に関する。
【０００２】
【従来の技術】
特定の画像データ（静止画像あるいは動画像シーケンス）に対して、それに付随する情報を画像データ中に付加し、再生時にその付随情報を検出して利用する技術がある。この代表的な例として、著作権情報の付加が挙げられる。
【０００３】
不特定の利用者が特定の画像データを利用することが可能である場合、その画像に対して著作権を持つ者が、その権利を主張するためには、あらかじめ著作権情報を画像データ中に付加しておく必要がある。著作権情報を付加することにより、画像の再生装置あるいは再生方法の処理手順の中で、その画像データを表示不可とすべき著作権情報が検出された場合には、その画像データの表示を行わない等の対策を講じることが可能となる。
【０００４】
上述の著作権情報の付加、あるいは検出は、現在、ビデオテープの不正コピー防止等でよく利用されている。近頃は、ビデオテープのレンタルを行う店も多いが、多くの利用者が、店から低価格で借りたビデオテープを不正にコピーして楽しんだ場合、そのビデオテープの著作権を持つ者およびビデオテープのレンタルを行う店の損害は甚大である。
【０００５】
ビデオテープには、画像データがアナログ的に記録されているため、コピーを行なった場合に画質が劣化する。そのため、コピーが複数回繰り返された場合、元々保持されていた画質を維持することは非常に困難となる。
【０００６】
これに対し、最近普及しつつあるデジタル的に画像データを記録し、再生する機器等においては、不正コピーによる損害はさらに大きなものとなる。それは、画像データをデジタル的に扱う機器等では、原理的にコピーによって画質が劣化することがないためである。そのため、デジタル的に処理を行う機器等における不正コピー防止は、アナログの場合と比べてはるかに重要である。
【０００７】
画像データに付随する情報をその画像データ中に付加する方法は、主に２通りある。
【０００８】
第１の方法は、画像データの補助部分に付加する方法である。例えばビデオテープでは、図３２に示したように、その画像データの補助的情報が、表示画面には実質的に表示されない画面上部（補助部分）に記録されている。この領域の一部を利用して、付随情報を付加することが可能である。
【０００９】
第２の方法は、画像データの主要部分（実質的に表示される部分）に付加する方法である。これは、図３３に示したように、ある特定のパターン（ウォータマーク（Water Mark）パターン）を、視覚的に感知できない程度に、画像の全体あるいは一部に付加するものである。この具体例として、乱数やＭ系列等を用いて発生させた鍵パターンを利用して、情報の付加あるいは検出を行うスペクトラム拡散等がある。
【００１０】
以下では、ウォータマークパターンを用いた場合の画像データの主要部分への付随情報の付加あるいは検出の一例を述べる。図３４乃至図３７にこの具体例を示した。
【００１１】
各画素について、プラスまたはマイナスの２つのシンボルのいずれかを取る、図３４に示されるような、４ｎ×４ｎ個の画素に対応するウォータマークパターンを用いると仮定する。ウォータマークパターンは、２つのシンボルのいずれかをランダムに取る方が望ましく、その領域の形状、大きさは任意で構わない。
【００１２】
付随情報を付加する際には、付加を行う対象となる画像上で、ウォータマークパターンの領域と等しい大きさの領域を設定する。設定された領域とウォータマークパターンを重ねて照らし合わせ、プラスのシンボルが対応する画素には値ａを加算し、マイナスのシンボルが対応する画素からは値ｂを減算する。ａ，ｂ共に、任意の値で構わないが、そのウォータマークパターンを通じて一定にするべきである。
【００１３】
図３５乃至図３７の例では、ａ＝１，ｂ＝１に設定しており、図３５に示すように、付加を行う対象となる領域の画素値が全て１００の場合には、ウォータマークに対応する埋め込み操作により１０１と９９の画素値が形成される。
【００１４】
付随情報を検出する際には、検出を行う対象となる画像上で、ウォータマークパターンの領域と等しい大きさの領域を設定する。この領域の画素値の全てを合計した値を評価値として用いる。画素値の全てを合計する際には、設定された領域とウォータマークパターンを重ねて照らし合わせ、プラスのシンボルが対応する画素については加算、マイナスのシンボルが対応する画素については減算を適用する。図３６の例では、画素値１０１の画素は加算され、画素値９９の画素は減算され、それらの演算結果が加算される。この時、付随情報を付加する際に用いたウォータマークパターンと同じパターンを用いなければ、付随情報を正しく検出することはできない。このような検出操作により、例えば図３６に示すように、付随情報が付加されている場合の評価値は（４ｎ）＾２（領域に含まれる画素数の数と同じ）になり、図３７に示すように、付随情報が付加されていない場合の評価値は０となる。
【００１５】
ウォータマークパターンの領域が充分に広く、かつウォータマークパターンが充分にランダムである場合、付随情報が付加されていない場合の評価値は常にほぼ０となる。そのため、評価値がある一定の閾値を超えた場合には、付随情報が付加されていると判別することができる。上記の手順により、付随情報が付加されているか否かという２値の情報（１ビット）を付加することが可能となる。より多くの情報を付加したい場合には、画像全体をｋ個の領域に分けて、それぞれ上記の操作を行う等の処理方法により、２＾ｋ通り（ｋビット）の情報を付加することができる。
【００１６】
ウォータマークパターンは、例えばＭ系列を用いて生成したものを利用することができる。Ｍ系列（最長符号系列）は、０と１の２値のシンボルからなる数列で、０と１の統計的分布は一定であり、符号相関は原点で１、その他では符号長に反比例するものである。もちろん、Ｍ系列以外の方法でウォータマークパターンを生成しても構わない。
【００１７】
画像データをデジタル的に記録し、再生する場合、そのままでは非常に情報量が多くなるため、データを圧縮するのが一般的である。画像データを圧縮する方法として、JPEG（Joint Photographic Experts Group）（カラー静止画像符号化方式）、あるいはMPEG（Moving Picture Experts Group）（カラー動画像符号化方式）等の高能率符号化方法が国際的に標準化され、実用化に至っている。この高能率符号化によって画像データを圧縮する場合を例に取り、付随情報の付加および検出を行う構成例を次に説明する。
【００１８】
図３８には、エンコーダの構成を示した。入力された画像データには、まずウォータマーク付加器１において、付随情報ｆが付加される。付随情報ｆが付加された画像データを符号化器２に入力し、高能率符号化を行なって符号化ビット列を生成する。
【００１９】
図３９には、符号化器２のより具体的な構成例を表している。この例においては、符号化器２は、フレームメモリ４１を備えており、フレームメモリ４１は、ウォータマーク付加器１より供給された画像データをフレーム単位で記憶するようになされている。動きベクトル検出器５０は、フレームメモリ４１に記憶された画像データから、動きベクトルｖを検出し、検出結果を動き補償器４３と可変長符号化器４６に出力している。動きベクトル検出器５０においては、１６×１６画素で構成されるマクロブロック単位でブロックマッチング処理が行われ、動きベクトルｖが検出される。また、より高い精度を実現するために、半画素単位でのマッチング処理も行われる。
【００２０】
動き補償器４３は、フレームメモリを内蔵しており、符号化すべき現在のフレームの各位置の画素値を、既に符号化が行われ、それを復号して得られた、内蔵するフレームメモリに保存されている画像から予測する。時刻ｔにおいて入力されたフレームの位置（ｉ，ｊ）における画素値Ｉ｛ｉ，ｊ，ｔ｝の予測値Ｉ’｛ｉ，ｊ，ｔ｝は、その位置に対応する動きベクトルｖ＝（ｖｘ（ｉ，ｊ，ｔ），ｖｙ（ｉ，ｊ，ｔ））を用いて、次式のように決定される。
Ｉ’｛ｉ，ｊ，ｔ｝＝（Ｉ｛ｉ’，ｊ’，ｔ−Ｔ｝＋Ｉ｛ｉ’＋１，ｊ’，ｔ−Ｔ｝＋Ｉ｛ｉ’，ｊ’＋１，ｔ−Ｔ｝＋Ｉ｛ｉ’＋１，ｊ’＋１，ｔ−Ｔ｝）／４
【００２１】
なお、ここで、ｉ’とｊ’は次式で表される。
ｉ’＝ｉｎｔ（ｉ＋ｖｘ（ｉ，ｊ，ｔ）Ｔ）
ｊ’＝ｉｎｔ（ｊ＋ｖｙ（ｉ，ｊ，ｔ）Ｔ）
【００２２】
ここでＴは、現在予測を行っている画像Ｉが入力された時刻と、フレームメモリ上に記憶されている画像が入力された時刻の差を表し、上記式の右辺のＩ｛ｉ’，ｊ’，ｔ−Ｔ｝，Ｉ｛ｉ’＋１，ｊ’，ｔ−Ｔ｝，Ｉ｛ｉ’，ｊ’＋１，ｔ−Ｔ｝，Ｉ｛ｉ’＋１，ｊ’＋１，ｔ−Ｔ｝は、動き補償器４３に内蔵されているフレームメモリ上の画素値を表す。また、ｉｎｔ（ｘ）は、ｘを超えない最大の整数値を表している。
【００２３】
減算器４２は、フレームメモリ４１より供給される、現在符号化すべき画素の値から、動き補償器４３より供給される動きベクトルｖに基づき、動き補償することにより算出された予測値を減算し、DCT器４４に出力している。DCT器４４は、減算器４２より入力された差分値で構成される８×８画素のブロックに対して２次元DCT（Discrete Cosine Transform）処理を施す。量子化器４５は、DCT器４４より入力されたDCT係数ｃに対して、適当なステップサイズＱを用いて、次式に従って量子化処理を行う。
ｃ’＝ｉｎｔ（ｃ／Ｑ）
【００２４】
量子化器に４５により量子化されたDCT係数ｃ’は、可変長符号化器４６と逆量子化器４７に供給される。可変長符号化器４６は、量子化器４５により量子化されたDCT係数ｃ’と動きベクトル検出器５０より供給された動きベクトルｖを可変長符号化し、符号ビット列を出力する。
【００２５】
逆量子化器４７は、量子化器４５で用いられたステップサイズと同一のステップサイズＱを用いて、次式に示されるように逆量子化処理を行う。
ｃ”＝ｃ’×Ｑ
【００２６】
逆量子化器４７で逆量子化されたデータは、IDCT器４８に入力され、逆DCT処理が施され、画素値の差分値が復元される。
【００２７】
IDCT器４８の出力する差分値は、動き補償器４３が出力する予測値と加算器４９により加算され、もとの画素値のデータとなり、動き補償器４３に内蔵されているフレームメモリに記憶される。
【００２８】
次に、その動作について説明する。デジタル化されている画像データは、ウォータマーク付加器１に入力され、付随情報ｆに対応してウォータマークが付加される。
【００２９】
ウォータマーク付加器１によりウォータマークが付加された画像データは、フレームメモリ４１に供給され、フレーム単位で記憶される。動きベクトル検出器５０は、フレームメモリ４１に記憶されている画像データの動きベクトルｖを検出する。動き補償器４３は、内蔵するフレームメモリに記憶されている参照フレームの画像データに対して動き補償を施し、予測画像データを生成して、減算器４２に供給する。減算器４２は、フレームメモリ４１より供給された画像データから動き補償器４３より供給された予測画像データを減算し、その減算結果をDCT器４４に供給する。DCT器４４は、入力された差分値の画像データをDCT係数に変換する。量子化器４５は、DCT器４４より供給されたDCT係数を量子化し、可変長符号化器４６に出力する。可変長符号化器４６は、入力された量子化データを可変長符号に変換し、符号ビット列として、図示せぬ伝送路に伝送したり、記録媒体に供給し、記録させる。
【００３０】
量子化器４５より出力された量子化データは、逆量子化器４７で逆量子化され、IDCT器４８に供給される。IDCT器４８は、入力されたDCT係数に対してIDCT処理を施し、もとの差分値の画像データを出力する。この差分値の画像データは、動き補償器４３より読み出された予測画像データに、加算器４９で加算され、もとの画像データに復元されて、動き補償器４３の内蔵するフレームメモリに記憶される。
【００３１】
なお、可変長符号化器４６は、動きベクトル検出器５０より供給された動きベクトルｖも可変長符号に変換し、出力する。
【００３２】
通常は、上記に示したような予測値との差分を符号化する画像間符号化 (INTER coding) が行われる。しかし、現在符号化すべき画素の値と、動き補償器４３によって算出された予測値との差分が大きい場合には、符号化ビット量が多くなることを防ぐために、画像内符号化 (INTRA coding) が行われる場合もある。すなわち、ブロック内の各画素値について、差分をとらずにそのまま DCT 器４４に送り、その画素値に対して符号化が行われる。
【００３３】
図４０には、デコーダの構成を示した。入力された符号化ビット列は、復号器２１において画像データに復元される。その後ウォータマーク検出器２２において付随情報ｆが検出される。
【００３４】
図４１は、復号器２１のより詳細な構成例を表している。この構成例においては、復号器２１の逆可変長符号化器６１が、入力された符号ビット列を逆可変長符号化処理（可変長復号化処理）して、復号した画像データ（DCT係数）を逆量子化器６２に出力し、復号した動きベクトルｖを動き補償器６５に出力するようになされている。逆量子化器６２は、入力されたDCT係数を逆量子化し、IDCT器６３に出力している。IDCT器６３は、入力された、逆量子化されたDCT係数に対してIDCT処理を施し、もとの差分値の画像データに復元して、加算器６４に出力している。
【００３５】
動き補償器６５は、内蔵するフレームメモリに記憶されている画像データに対して逆可変長符号化器６１より供給される動きベクトルｖに基づいて動き補償を施し、予測画像を生成し、加算器６４に出力している。加算器６４は、この予測画像に対して、IDCT器６３より供給された差分値を加算し、もとのフレーム画像を復元して出力するようになされている。
【００３６】
加算器６４の出力は、動き補償器６５に内蔵されているフレームメモリに供給され、記憶されるとともに、ウォータマーク検出器２２に供給されるようになされている。ウォータマーク検出器２２は、入力された画像データから付随情報ｆを検出し、出力するとともに、もとの画像データを出力するようになされている。
【００３７】
次に、その動作について説明する。逆可変長符号化器６１は、入力された符号ビット列を逆可変長符号化処理し、復号されたDCT係数を逆量子化器６２に出力する。逆量子化器６２は、入力されたDCT係数を逆量子化し、IDCT器６３に出力する。IDCT６３は、入力されたDCT係数に対してIDCT処理を施し、もとの差分画像データを出力する。
【００３８】
動き補償器６５は、内蔵するフレームメモリに記憶されている、既に復元されている画像データに対して、逆可変長符号化器６１より供給される動きベクトルｖに基づいて動き補償を施し、予測画像データを生成して加算器６４に出力する。加算器６４は、この予測画像データに対してIDCT器６３より供給される差分値の画像データを加算し、もとの画像データを復元する。もとの画像データは、次の予測画像生成のために、動き補償器６５のフレームメモリに供給され、記憶される。
【００３９】
また、加算器６４より出力された画像データは、ウォータマーク検出器２２に供給され、ウォータマークが検出される。
【００４０】
画像データを高能率符号化しない場合には、図３８の符号化器２、あるいは図４０の復号器２１を除いた構成を用いれば、画像データ上に付随情報を付加し、あるいは検出することができる。
【００４１】
ウォータマーク付加器１とウォータマーク検出器２２の構成を、それぞれ図４２と図４３に示した。
【００４２】
図４２は、ウォータマーク付加器１の構成を示している。入力された画像データ及び付随情報 f は、付随情報付加器１１へと渡される。付随情報 f が on である場合、対象の画像領域上の各画素に対してウォータマークパターンを付加するが、そのためにまず付随情報付加器１１は、付加対象の画素位置 p をウォータマークパターン照合制御器１０１へと渡す。この画素位置 p は、例えば画像の左上の位置を起点として、走査順で何番目の位置であるかを示す１次元的な位置表現で構わない。ウォータマークパターン照合制御器１０１では、画素位置 pを基に、ウォータマークパターン保持メモリ１２に記憶されているウォータマークパターンのシンボルを参照し、得られたシンボル S を付随情報付加器１１へと渡す。付随情報付加器１１は、渡されたシンボル S を用いて、付加対象の画素にウォータマークパターンの付加を行なう。
【００４３】
ウォータマーク付加器１で行なわれる一連の処理を図４４に示した。始めにステップＳ１４１で、ウォータマークの付加レベルａ，ｂに所定の値を設定する。ステップＳ１４２では、付随情報の付加を行う対象となる画像上でウォータマークパターンの領域と等しい大きさの領域を設定し、その領域内の各画素についてウォータマークパターンとの照合を行う。ステップＳ１４３で、ウォータマークのシンボルの判定を行い、その画素が対応するウォータマークのシンボルがプラスである場合には、ステップＳ１４４で、その画素にａを足す。その画素が対応するウォータマークのシンボルがマイナスである場合には、ステップＳ１４５で、その画素からｂを引く。この処理を、ステップＳ１４６で、対象領域の全画素について行われたと判定されるまで繰り返す。
【００４４】
図４３は、ウォータマーク検出器２２の構成を示している。入力された画像データは、評価値算出器３１へと渡される。対象の画像領域上の各画素から評価値を算出するために、評価値算出器３１は評価対象の画素位置 p をウォータマークパターン照合制御器１１１へと渡す。この画素位置 p は、上述したように、例えば画像の左上の位置を起点として、走査順で何番目の位置であるかを示す１次元的な位置表現とされる。ウォータマークパターン照合制御器１１１では、画素位置 p を基にウォータマークパターン保持メモリ３２に記憶されているウォータマークパターンのシンボルを参照し、得られたシンボル S を評価値算出器３１へと渡す。評価値算出器３１は、渡されたシンボル S を用いて、評価値の算出を行なう。算出された評価値は、評価値比較器３３で閾値処理され、付随情報 f が出力される。また、入力された画像データは、画像変換器３４を介して、そのまま、または、所定の加工あるいは処理が施されて出力される。
【００４５】
ウォータマーク検出器２２で行なわれる一連の処理を図４５に示した。始めに、ステップＳ１６１で、評価値sumの初期化および閾値thの設定を行う。ステップＳ１６２でウォータマークパターンの領域と等しい大きさの領域を設定し、その領域内の各画素についてウォータマークパターンとの照合を行う。ステップＳ１６３で、その画素が対応するウォータマークのシンボルがプラスであると判定された場合には、ステップＳ１６４で、評価値sumにその画素値を足す。その画素のウォータマークのシンボルがマイナスである場合には、ステップＳ１６５で、評価値sumからその画素値を引く。この処理をステップＳ１６６で、対象領域の全画素について行ったと判定されるまで繰り返す。その後、ステップＳ１６７で、評価値sumと閾値thとを比較し、sum＞thである場合には、付随情報が付加されているとみなして、ステップＳ１６８で、付随情報ｆをonにする。そうでない場合には、ステップＳ１６９で付随情報ｆをoffにする。
【００４６】
付随情報ｆは、例えば不正コピーを防止する場合には、以下のように利用される。図４０のデコーダの場合を例にすると、出力される画像データおよび付随情報ｆは、図示せぬ画像表示部に渡される。画像表示部では、付随情報ｆがonである場合にはそのまま画像を表示するが、付随情報ｆがoffである場合には、例えば画像を表示しない、画像データの主要領域を表示しない、画像にスクランブルを掛ける（受けとった画像データをでたらめに表示する）等の加工あるいは処理を行う。あるいは、図４３のウォータマーク検出器２２に示した画像変換器３４を設け、付随情報ｆに応じてこのような画像データの加工あるいは処理を行うように構成することもある。
【００４７】
【発明が解決しようとする課題】
画像データに付随する情報をその画像データ中に付加する上述の２通りの方法には、以下のような問題がある。
【００４８】
画像データの補助部分に付随情報を付加する第１の方法においては、付随情報が付加された補助部分が無視された場合、不正コピー等の問題を事前に防ぐことは困難となる。例えばデジタル的に記録された画像データを市販のパーソナルコンピュータに読み込ませ、補助部分を無視して主要部分のみを切り出してコピーを行なった場合、その画質はコピーを行う以前と完全に同一のものとなる。この場合、補助部分に付随情報を付加した意味は、完全に失われる。
【００４９】
画像データの主要部分に付随情報を付加する第２の方法では、例えば上記の第１の方法において示したコピーの手順等によって、付加された付随情報が消えてなくなることはない。しかし、画像データに対してノイズ低減フィルタ等の種々の信号処理を施した場合、付加された付随情報成分が減衰して抽出不可能となることがある。
【００５０】
特に、元々の画像データ自体がJPEGあるいはMPEG等の高能率符号化を用いて圧縮されている場合、その量子化処理に起因して悪影響が出ることが多い。付加された付随情報成分は、これらの高能率符号化の量子化処理によって、視覚的に感知可能な程度にまで増幅されて、画質が低下したり、抽出不可能な程度にまで減衰されて本来の意味を失ったりすることがある。
【００５１】
付随情報の成分がこれらの信号処理によって変化しないように、画像中の特別な領域を用いて付随情報を付加する方法もある。しかし、そのような領域は画像シーケンス全体から見て一部分しかないため、ウォータマークパターンの領域を充分に広くとることができない。そのため、付随情報が付加されていない場合であっても、評価値が０以外の大きな値となるため、ある一定の閾値を超えた場合に付随情報が付加されていると判別する絶対的評価基準を用いると、付随情報の検出は非常に困難となる。
【００５２】
さらに、付随情報の付加を行う領域が画像シーケンス全体から見て一部分に過ぎない場合、複数の情報を付加することは極めて困難となる。例えば、画像全体をｋ個の領域に分けて付随情報を付加した場合、個々の領域に対するウォータマークパターンの領域は、その領域数に応じてさらに狭くなるため、付随情報はほぼ検出不可能となる。
【００５３】
なお、上述のこれら問題は、動画像シーケンスにおいて特に顕著となる。
【００５４】
本発明はこのような状況に鑑みてなされたものであり、本来の画像データに大きな影響を与えることなく、付随情報を確実に検出することができるようにするものである。
【００５５】
【課題を解決するための手段】
本発明の画像データ処理装置は、ウォータマークが付加される、Ｎ×Ｎ画素のブロック単位で符号化された所定のデータの符号の位置を検出する簡易解読手段と、画像データのブロックに対応するようにウォータマークのパターンをブロック単位に拡大するとともに、ウォータマークのパターンが対応する画像データのブロックの周波数成分に基づき、ウォータマークのパターンが付加可能な最大付加レベルを算出する拡大手段と、少なくとも最大付加レベルに基づいて付加レベルを設定し、簡易解読手段の処理で検出された位置にある符号に、付加するウォータマークのパターンに応じて、設定した付加レベルを加算又は減算する付加手段とを含むことを特徴とする。
【００５６】
本発明の画像データ処理方法は、ウォータマークが付加される、Ｎ×Ｎ画素のブロック単位で符号化された所定のデータの符号の位置を検出する簡易解読ステップと、画像データのブロックに対応するようにウォータマークのパターンをブロック単位に拡大するとともに、ウォータマークのパターンが対応する画像データのブロックの周波数成分に基づき、ウォータマークのパターンが付加可能な最大付加レベルを算出する拡大ステップと、少なくとも最大付加レベルに基づいて付加レベルを設定し、簡易解読ステップの処理で検出された位置にある符号に、付加するウォータマークのパターンに応じて、設定した付加レベルを加算又は減算する付加ステップとを含むことを特徴とする。
【００５７】
本発明の画像データ処理方法においては、ウォータマークが付加される、Ｎ×Ｎ画素のブロック単位で符号化された所定のデータの符号の位置が検出され、画像データのブロックに対応するようにウォータマークのパターンがブロック単位に拡大されるとともに、ウォータマークのパターンが対応する画像データのブロックの周波数成分に基づき、ウォータマークのパターンが付加可能な最大付加レベルが算出され、少なくとも最大付加レベルに基づいて付加レベルが設定され、検出された位置にある符号に、付加するウォータマークのパターンに応じて、設定した付加レベルが加算又は減算される。
【００６５】
【発明の実施の形態】
【００７８】
図１は、本発明を適用したエンコーダの構成例を表しており、図３８と図３９に示した従来のエンコーダに対応する部分には、同一の符号を付してある。この構成例においては、図３８と図３９における場合とは異なり、画像データが符号化器２に入力され、符号化された後、ウォータマーク付加器１に供給され、ウォータマークが付加されるようになされている。符号化器２の構成と動作は、図３９に示した符号化器２の場合と同様である。
【００７９】
これに対して、図１のウォータマーク付加器１は、例えば図２に示すように構成されている。図２において、図４２に示した場合に対応する部分には、同一の符号を付してある。このウォータマーク付加器１においては、８×８画素で構成されるブロック単位で、ウォータマークパターンの付加が行われるようになされている。
【００８０】
図２のウォータマーク付加器１には、符号ビット列及び付随情報 f が入力される。入力された符号ビット列は、付随情報を付加する符号の位置を探すために、簡易符号解読器１２１で簡易的に解読される。どの符号の位置を探すかは、符号ビット列上で付随情報を付加する際に対象となる符号の種類に依り、より具体的には後で述べるが、例えば、 DCT 係数の直流成分を表す係数が検索される。場合によっては、符号ビット列の全体あるいは一部に対して復号を行ない、全体あるいは一部の再生画像を構成しても良い。
【００８１】
符号ビット列上で付随情報を付加する際に対象となる符号の位置を示す符号位置情報 b は、入力された符号ビット列と共に付随情報付加器１１に渡される。付随情報付加器１１は、入力された付随情報 f が on である場合、符号ビット列上の対象となる符号にウォータマークパターンを付加するため、付加対象の位置情報 p をウォータマークパターン照合制御器１０１へと渡す。
【００８２】
MPEG 等の高能率符号化では、例えばマクロブロックあるいはブロック等を単位として符号化が行なわれるため、付加対象の符号の位置情報 p はそれらの空間的位置を表すことが一般的である。具体的には、例えば画像の左上の位置を起点として、走査順で何番目の位置であるかを示す１次元的な位置表現や、同じく画像の左上の位置を原点として、空間上でどの座標に位置するかを示す２次元的な位置表現等が用いられる。
【００８３】
ウォータマークパターン照合制御器１０１は、位置情報 p を基にウォータマークパターン保持メモリ１２に記憶されているウォータマークパターンのシンボルを参照し、得られたシンボル S を付随情報付加器１１へと渡す。付随情報付加器１１は、渡されたシンボル S を用いて、付加対象の符号にウォータマークパターンの付加を行なう。具体的には、付加対象の符号を新たな符号に置き換える等の修正が行なわれる。場合によっては、復号して得られた再生画像の全体あるいは一部を修正し、それを再度符号化しても良い。
【００８４】
８×８画素のブロック単位でウォータマークパターンの付加あるいは検出を行なう概念図が図３に示されている。例えば、ウォータマークパターンを保持しておくメモリ１２上では、メモリ容量の節約のため１画素単位でウォータマークパターンを記憶しておく。実際にウォータマークパターンを付加あるいは検出する際には、各画素を８×８画素のブロック領域に拡大する。図３の例では、４×６画素のウォータマークパターンが、１画素を１ブロック（８×８画素）として、３２（＝８×４）×４８（＝８×６）画素に拡大されている。拡大を行なう際には、単にウォータマークパターンのシンボルをコピーするだけで構わないが、補間等の何らかの処理を施して拡大を行なっても良い。あるいは、ウォータマークパターンを８×８画素のブロック単位で扱うため、上記の方法とは異なる別の方法を用いても良い。
【００８５】
８×８画素のブロック単位でウォータマークパターンの付加あるいは検出を行なう理由は、JPEG あるいは MPEG 等の高能率符号化の多くが、８×８画素のブロック単位で DCT を行なうからである。DCT を行なうことにより、画像すなわち空間上の８×８画素のブロック領域は、周波数上の８×８画素のブロック領域に変換される。他の周波数成分と比べると、DCT の直流成分は特に重要である。JPEG あるいは MPEG 等の高能率符号化でも、他の周波数成分と比べて DCT の直流成分は、例えば細かく量子化され、語長の長い符号を用いて符号化される等、特別の扱いを受けて符号化されることが多い。８×８画素のブロック単位でウォータマークパターンの付加あるいは検出を行なうと、DCT の直流成分だけにこの影響が及ぶように構成することができるため、確実に付随情報を付加あるいは検出することができる。なお、任意の高能率符号化方式あるいは方法が、画像すなわち空間上あるいは周波数上の任意の単位で何らかの処理を行なっている場合、ウォータマークパターンの付加あるいは検出をその単位で行なうことにより、本実施の形態で示す効果と同様の効果を得ることができる。
【００８６】
ウォータマーク付加器１は、図４に示した一連の処理を行なう。始めにステップＳ１で、付加情報付加器１１は、ウォータマークの付加レベル a, b を所定の値に設定する。ステップＳ２で、ウォータマークパターン照合制御器１０１は、付随情報の付加を行なう対象となる画像上でウォータマークパターンの領域と等しい大きさの領域を設定し、その領域内の各画素についてウォータマークパターンとの照合を行なう。この時ステップＳ３で、ウォータマークパターンは、例えば図３に示したような方法で、８×８画素のブロック領域に拡大して用いられる。
【００８７】
付加情報付加器１１は、ステップＳ４で、その画素が対応するウォータマークのシンボルを判定し、シンボルがプラスである場合には、ステップＳ５で、その画素ｘに a を足す。その画素が対応するウォータマークのシンボルがマイナスである場合には、ステップＳ６で、その画素ｘから b を引く。図３の例では、任意の画素位置のウォータマークパターンのシンボルは、８×８画素のブロック領域を対象範囲としている。そのため、ステップＳ７で、その対象となる８×８画素のブロック領域の全画素について、処理が行われたと判定されるまで、同じシンボルを用いてこの処理が繰り返される。そして、ウォータマークパターンのシンボルを順次変えながら、ステップＳ８で、対象領域の全画素についての処理が行われたと判定されるまで、同様の処理が繰り返される。
【００８８】
図５は、デコーダの構成例を表しており、図４０と図４１に示した場合と対応する部分には、同一の符号を付してある。この構成例においては、入力された符号ビット列が、最初にウォータマーク検出器２２に入力され、ウォータマークが検出されるようになされている。そして、ウォータマーク検出器２２より出力された符号ビット列が復号器２１に供給され、復号されるようになされている。復号器２１の構成と動作は、図４１に示した場合と同様であるので、その説明は省略する。
【００８９】
図６は、図５のウォータマーク検出器２２の構成例を示している。ウォータマーク検出器２２には、符号ビット列が入力される。入力された符号ビット列は、付随情報を検出する符号の位置を探すために、簡易符号解読器１３１で簡易的に解読される。この場合の位置とは、例えば符号ビット列上の位置や、あるいは復号された時の空間的あるいは周波数的な位置等のことを言い、それら以外の位置も含めて、種々の位置を探しても良い。どの符号の位置を探すかは、符号ビット列上で付随情報を検出する際に対象となる符号の種類に依り、このことはウォータマーク付加器１のところで述べた場合と同様である。場合によっては、符号ビット列の全体あるいは一部に対して復号を行ない、全体あるいは一部の再生画像を構成しても良い。
【００９０】
符号ビット列上で付随情報を検出する際の対象となる符号の位置を示す符号位置情報 b は、入力された符号ビット列と共に、簡易符号解読器１３１から評価値算出器３１へと渡される。符号ビット列上の対象の各符号から評価値を算出するために、評価値算出器３１は、評価対象の符号位置 p をウォータマークパターン照合制御器１１１へと渡す。この符号位置 p は、ウォータマーク付加器１のところで述べた場合と同様に、１次元的あるいは２次元的な位置表現等を用いることができる。
【００９１】
ウォータマークパターン照合制御器１１１は、符号位置 p を基に、ウォータマークパターン保持メモリ３２に記録されているウォータマークパターンのシンボルを参照し、得られたシンボル S を評価値算出器３１へと渡す。評価値算出器３１は、渡されたシンボル S を用いて、評価値の算出を行なう。ウォータマーク付加器１について説明した場合と同様に、ウォータマークは、ブロックに拡大されて用いられる。算出された評価値は、評価値比較器３３で閾値処理され、付随情報 f が出力される。また、入力された画像データは、符号変換器３４を介して、そのまま、または、所定の加工あるいは処理が施されて出力される。符号変換器３４は、付随情報 f が off の場合、例えば符号ビット列を出力しない、符号ビット列をでたらめに配置し直す等の加工あるいは処理を施す。
【００９２】
ウォータマーク検出器２２では、図７に示した一連の処理を行なう。始めに、ステップＳ２１で、評価値算出器３１と評価値比較器３３は、それぞれ評価値 sum を０に初期化するとともに、閾値 th に所定の値を設定する。ステップＳ２２で、ウォータマークパターン照合制御器１１１は、ウォータマークパターンの領域と等しい大きさの領域を設定し、その領域内の各画素についてウォータマークパターンとの照合を行なう。この時ステップＳ２３で、ウォータマークパターンは、ウォータマーク付加器１のところで説明した場合と同様に、例えば図３に示したような方法で、８×８画素のブロック領域に拡大して用いられる。評価値算出器３１は、その画素が対応するウォータマークのシンボルを判定し、シンボルがプラスである場合には、ステップＳ２５で、sum にその画素値ｘを足す。その画素が対応するウォータマークのシンボルがマイナスである場合には、ステップＳ２６で、評価値 sum からその画素値ｘを引く。
【００９３】
図３の例では、任意の画素位置のウォータマークパターンのシンボルは、８×８画素のブロック領域を対象範囲としている。そのため、ステップＳ２７で、その対象となる８×８画素のブロック領域の全画素について、同様の処理が行われたと判定されるまで、同じシンボルを用いてこの処理が繰り返される。そして、ウォータマークパターンのシンボルを順次変えながら、ステップＳ２８で、対象領域の全画素について同様の処理が行われたと判定されるまで、この処理が繰り返される。その後、ステップＳ２９で、評価値比較器３３は、評価値 sum と閾値 th とを比較し、sum > th である場合には、ステップＳ３０で、付随情報が付加されているとみなして、付随情報 f を on にする。そうでない場合には、ステップＳ３１で、付随情報 f を off にする。
【００９４】
評価値 sum を閾値 th と比較する際には、先に示した比較方法以外のどのような比較方法を用いても良い。例えば、評価値のバイアス成分（ウォータマークパターンが付加されている場合の評価値と、ウォータマークパターンが付加されていない場合の評価値との差） B（図３６と図３７の例では (4n)^2 ）が一定であることを利用して、どの程度バイアス成分が保持されているとみなすかを示すバイアス信頼係数 c（0≦c≦1）と共に比較を行なっても良い。また、何らかの方法を用いて標準的な評価値を算出し、その値と実際の評価値とを比較することによって、付随情報の検出を行なっても良い。
【００９５】
ウォータマークのシンボルは、プラス、マイナス以外のどのようなシンボルを用いても良い。また、２種類ではなく、３種類以上のどのようなシンボルを用いても良い。例えば、プラス、ゼロ、マイナスの３種類のシンボルを用意しておき、ウォータマークパターンとの照合を行なった際に、シンボルがゼロである画素については、評価値 sum に影響を与えない（その画素値を評価値 sum に足しも引きもしない）ようにするなど、各シンボルにどのような意味を与えても良い。
【００９６】
ウォータマークパターンを画像上に付加する領域は、任意の形状及び範囲で構わない。また、付加したウォータマークパターンとの整合が取れている限り、検出時に評価値を求める領域の形状及び範囲は任意で構わない。このことは、同じウォータマークパターンのシンボルを用いて処理を行なう画像領域、例えば個々の８×８画素のブロック領域についても同様である。一例を挙げると、８×８画素のブロック領域全体ではなく、一部の領域のみを用いてウォータマークパターンの付加あるいは検出を行なっても良い。さらにウォータマークパターンは、時間的あるいは空間的に渡るより広い領域を用いて、付加あるいは検出を行なうことにしても良い。例えば動画像シーケンスにおいては、時間的な基準を用い、現フレームの時間的位置だけでなく、過去や未来のフレームを利用しても良い。例えば非常に大きな画像サイズを持つ静止画像においては、１枚の画像をある単位で複数の画像領域に分割して扱うことにし、空間的な基準を用い、現在対象としている画像領域に対して、例えば走査順で前や後に位置する画像領域を利用しても良い。
【００９７】
このように、ウォータマークを拡大し、ブロック化する場合、第２の実施の形態として、図８に示したように、縦方向の２つのブロックを単位（横８画素×縦１６画素）として（ブロックの縦方向の長さを、マクロブロックの縦方向の長さの整数倍の長さとして）、ウォータマークパターンの付加あるいは検出を行なうようにすることができる。
【００９８】
横８×縦１６の縦２つのブロック単位でウォータマークパターンの付加あるいは検出を行なう理由は、以下の通りである。
【００９９】
図９に示したように、MPEG では、マクロブロックを単位として符号化が行なわれる。４：２：０フォーマットの場合、マクロブロックは、４つの輝度 (Y) ブロックと空間的に対応した２つの色差 (Cb, Cr) ブロックの、合計６つのブロックから構成される。なお、各ブロックの大きさは、８×８画素である。
【０１００】
インターレース画像を対象としている MPEG2 では、画像間符号化あるいは画像内符号化を行なう際に、２種類の DCT 符号化モードをマクロブロック単位で切り替えることができる。この概念図を図１０と図１１に示した。図１０のフレーム DCT モードでは、各ブロックがフレームで構成されるように分解され、図１１のフィールド DCT モードでは、各ブロックがフィールドで構成されるように分解される。この２つの DCT モードを適応的に切り替えることにより、MPEG2ではインターレース画像に対する符号化効率を向上させている。
【０１０１】
ここで、MPEG2 の符号化の過程で任意のマクロブロックにおいてフィールド DCT モードが選ばれ、かつ、８×８画素のブロック領域を単位としてウォータマークパターンの付加を行なうケースを考える。この場合、そのマクロブロックについて、縦２つの輝度ブロックのウォータマークパターンのシンボルが異なっていたとしても、DCT のために構成されるフィールド DCT モードのブロックにおいて、ウォータマークパターンの同一の成分が付加されてしまう。従って、これを元のマクロブロックの状態に戻したとき、上のブロックと下のブロックに、同一のシンボルが現れてしまう。そのため、これらのブロックにおけるウォータマークパターンの成分は、直流成分以外の周波数成分を含むことになるため、確実に付随情報を付加することができなくなる。
【０１０２】
横８×縦１６画素の縦２つのブロック単位でウォータマークパターンの付加あるいは検出を行なう場合には、上記のような問題は起こらないため、確実に付随情報を付加あるいは検出することができる。
【０１０３】
任意の高能率符号化装置あるいは方法が、画像すなわち空間上あるいは周波数上で任意の単位を定義し、それを単位として複数に跨って何らかの処理を行なっている場合、ウォータマークパターンの付加あるいは検出をその複数に跨ってまとめて行なうことにより、本実施の形態で示す場合と同様の効果を得ることができる。
【０１０４】
図１２は、ウォータマーク付加器１の他の処理例を表している。この第３の実施の形態の処理例においては、ウォータマークは、ブロック化されず、１画素単位で処理されるようになされている（勿論、ブロック化して、処理するようにしてもよい）。この場合におけるウォータマーク付加器１の構成は、図２に示した場合と同様である。始めにステップＳ４１で、付随情報付加器１１は、ウォータマークの付加レベル a, b に所定の値を設定する。ステップＳ４２では、簡易符号解読器１２１により、符号ビット列上で付随情報を付加する際に対象となる符号の位置まで、符号ビット列が読み進められる。その後、ステップＳ４３で、直前のブロックで発生したミスマッチに対する補正処理が適宜行われる。このことについては、後で述べる。
【０１０５】
ステップＳ４４で、ウォータマークパターン照合制御器１０１は、符号ビット列上の対象となる符号のブロック位置に応じて、ウォータマークパターンとの照合を行なう。例えば、DCT の直流成分の符号に付随情報を付加する場合、ステップＳ４５で、ウォータマークパターン照合制御器１０１は、そのブロック位置のウォータマークのシンボルを判定し、シンボルがプラスである場合には、ステップＳ４６で、その符号で表される直流成分 x に a を足した値 x' を算出する。そのブロック位置のウォータマークのシンボルがマイナスである場合には、ステップＳ４７で、その符号で表される直流成分 x から a を引いた値 x' が算出される。そして、ステップＳ４８で、付随情報付加器１１は、そのブロック位置の直流成分 x の符号を x' の符号に修正する。その符号が固定長の符号部分である場合には、この修正処理は単なる符号の置き換えで済む。これらの処理が、ステップＳ４９において、対象領域の全符号について行われたと判定されるまで繰り返される。
【０１０６】
次に、ステップＳ４３の補正処理の具体例を挙げる。MPEG において DCT の直流成分は差分符号化（DPCM : Differential Pulse Code Modulation）が行なわれる。差分符号化においては、例えば、3, 6, 12, 4, 7 という数列があった場合、それぞれ直前の数値との差分を計算し、3, 3, 6, -8, 3 という数列に直して符号化が行なわれる。この時、例えば３番目の差分値を 4 に置き換えて付随情報を付加した場合、補正を行なわないと、４番目以降の数値は本来の数値よりも 2 だけ小さな値となってしまう。３番目の数値を置き換えて付随情報を付加する処理はそのままにして、４番目以降の数値を補正するためには、４番目の差分値を 2 だけ大きい -6 に置き換えれば良い。このように、補正を行なう際には、付随情報を付加する方法に応じて処理方法を決めれば良い。
【０１０７】
上記では、例えばマクロブロックあるいはブロックを単位として、付随情報を付加する例を説明した。より一般的には、必要な構成を取ってそれらの処理を行なう限り、マクロブロックあるいはブロックに限らず、どのような単位でウォータマークパターンの付加を行なっても良い。しかし、実際の符号ビット列は、例えば符号化レートといった種々の制約に準じて生成されている。一例として、付加対象の符号を新たな符号に置き換えると、多くの場合その置き換えによって符号の語長が変化し、種々の問題が生じる。
【０１０８】
これらの問題を防ぐためには、符号ビット列上で付随情報を付加する際に対象となる符号を吟味し、例えば図１３に示すように、付随情報の付加の前後において、語長が変化しないように、固定長の符号部分だけについて付随情報を付加する等の工夫を行なわなければならない。MPEG では、ブロック単位で符号化される DCT の直流成分や、マクロブロック単位で符号化される動きベクトル等で、固定長の符号化が行なわれる。特に、DCT の直流成分の符号を付加対象に選んだ場合、JPEG 等においてもこの値はブロック単位で固定長符号化が行なわれるため、汎用性が高くなる。
【０１０９】
固定長以外の符号（可変長の符号）を用いて付随情報の付加を行なっても良いが、その場合には、符号ビット列上に不必要なビットを挿入する、符号ビット列上の不必要なビットを削るなど、必要となる構成を取って処理を行なう。なお上記のこれらのことは、任意の符号化方法、あるいは任意の復号方法などにおいて、同様に適用可能である。
【０１１０】
図１４は、図１２の付加処理に対応する検出処理を表している。この処理は、図６に示したウォータマーク検出器２２と同一の構成で実行される。始めに、ステップＳ６１で、評価値算出器３１と、評価値比較器３３により、評価値 sum の初期化及び閾値 th の設定が行なわれる。ステップＳ６２で、簡易符号解読器１３１は、符号ビット列上で付随情報を付加する際の対象となる符号の位置まで、符号ビット列を読み進める。ステップＳ６３で、ウォータマークパターン照合制御器１１１は、符号ビット列上の対象となる符号のブロック位置に応じて、ウォータマークパターンとの照合を行なう。
【０１１１】
例えば、DCT の直流成分の符号に付随情報を付加する場合、評価値算出器３１はステップＳ６４で、その符号が対応するウォータマークのシンボルを判定し、シンボルがプラスである場合には、ステップＳ６５で、評価値 sum にその符号で表される直流成分ｘを足す。その画素が対応するウォータマークのシンボルがマイナスである場合には、評価値算出器３１はステップＳ６６で、評価値 sum からその符号で表される直流成分ｘを引く。これらの処理は、ステップＳ６７で、対象領域の全符号について行われたと判定されるまで繰り返される。
【０１１２】
その後、評価値比較器３３は、ステップＳ６８で、評価値 sum と閾値 th とを比較し、sum > th である場合には、ステップＳ６９で、付随情報が付加されているとみなして付随情報 f を on にする。そうでない場合には、ステップＳ７０で、付随情報 f を off にする。
【０１１３】
本実施の形態における構成は、付随情報の付加あるいは検出を行なう処理内容が等価と見なせる限り、従来例、第１または第２の実施の形態、あるいはその他の構成と組み合わせても構わない。例えば、DCT の直流成分の符号に付随情報を付加する場合、これは８×８画素のブロック単位でウォータマークパターンの付加を行なうことと等価であると見なすことができる。よって、付随情報を付加する際には本実施の形態の構成を用い、付随情報を検出する際には第１の実施の形態の構成を用いても構わない。
【０１１４】
上述したように、必要な構成を取って処理を行なう限り、DCT の直流成分の符号に限らず、任意の符号を用いて付随情報の付加あるいは検出を行なっても良い。ただし、固定長の符号部分に付随情報を付加し、検出した方が、符号ビット列の符号の長さを変化させることなく、容易に付随情報を付加できる。MPEG で固定長の符号化が行なわれるのは、ブロック単位で符号化される DCT の直流成分、マクロブロック単位で符号化される動きベクトル等である。以下では、このことについてより詳細に述べる。
【０１１５】
図１５は、MPEG 方式において付随情報の付加を行なう原理を表している。同図に示すように、 GOP（Group Of Pictures）は、１枚のＩピクチャ、複数枚のＰピクチャ、および複数枚のＢピクチャにより構成されている。図１５の例においては、１５枚のピクチャにより１つの GOP が構成されている。ブロック単位で符号化される DCT の直流成分に付随情報を付加する場合においては、 GOP を構成するピクチャの中からＩピクチャが選択される。
【０１１６】
１６×１６画素のマクロブロックは、図９で示したように、輝度信号（Ｙ）の場合、８×８画素からなる４個のブロックで構成される。色差信号Ｃｂ，Ｃｒは、１６×１６画素の１つのマクロブロックに対して８×８画素のブロックで表現される。これらの画素データは、 DCT 変換（離散コサイン変換）により、 DCT 係数に変換される。
【０１１７】
１つのブロックの８×８個の DCT 係数Coeff［０］［０］乃至Coeff［７］［７］は、所定の量子化ステップで量子化され、量子化レベルＱＦ［０］［０］乃至ＱＦ［７］［７］に変換される。
【０１１８】
DCT 係数のうち、左上のCoeff［０］［０］（scan［０］）は、直流成分（ＤＣ成分）を表し、この直流成分からは、直前のブロックの直流成分を予測値とした差分値が演算され、その差分値が符号化される。残りの交流成分（ＡＣ成分）は、ブロック内でジグザグスキャンにより、直流成分としてのscan［０］に続いて、scan［１］乃至scan［６３］として並びかえられた後、符号化される。
【０１１９】
図１６に示すように、 DCT 係数のうち、ＤＣ成分は、直前のＤＣ成分との差分が演算され、その差分値が符号化される。輝度信号の場合、４個のブロックの順番は、左上、右上、左下、右下の順番とされる。従って、左上のブロックのＤＣ成分としては、直前のマクロブロックの右下のブロックのＤＣ成分との差分が符号化され、右上のブロックのＤＣ成分としては、左上のブロックのＤＣ成分との差分が符号化され、左下のブロックのＤＣ成分としては、右上のブロックのＤＣ成分との差分が符号化され、右下のブロックのブロックのＤＣ成分としては、左下のブロックのＤＣ成分との差分が符号化される。
【０１２０】
色差信号の場合は、それぞれ直前の対応する色差信号のブロックのＤＣ成分との差分が符号化される。
【０１２１】
このように、ＤＣ成分の差分値を符号化するとき、ＤＣ成分は、サイズと、そのサイズで表される実際の値（DC Differential）を結合した形で表される。前者は、可変長符号（VLC:Variable Length Code）とされ、後者は、固定長符号（FLC:Fixed Length Code）とされる。
【０１２２】
ＤＣ成分（ＤＣ差分成分）のサイズは、例えば、輝度信号の場合、図１７（Ａ）に示すように規定されており、色差信号場合、図１７（Ｂ）に示すように規定されている。また、例えばＤＣ成分（ＤＣ差分成分）のサイズが３である場合、ＤＣ差分成分は、図１８に示すように規定されている。
【０１２３】
従って、例えば輝度信号の場合、ＤＣ成分（ＤＣ差分成分）のサイズが３（図１７（Ａ）の VLC の”１０１”）で、実際のＤＣ差分成分ｚｚ［０］が−６（図１８の DCT Differential の”００１”）であるとき、その差分値は、”１０１”と”００１”を結合して、１０１００１で表される。
【０１２４】
付随情報を付加する際には、ＤＣ成分（ＤＣ差分成分）のサイズが変化しないような範囲内でＤＣ差分成分を変化させれば、固定長の符号部分だけを用いて付随情報を付加することができる。
【０１２５】
例えば輝度信号のＤＣ差分成分のサイズが３で、実際のＤＣ差分成分ｚｚ［０］が−６である場合を考える。ウォータマークパターンのシンボルがプラスで付加レベル a が１である場合には、その差分値を１０１００１から１０１０１０に置き換えれば、実際のＤＣ差分成分は−６より１だけ大きい−５になる。ウォータマークパターンのシンボルがマイナスで付加レベル b が１である場合には、その差分値を１０１００１から１０１０００に置き換えれば、実際のＤＣ差分成分は−６より１だけ小さい−７になる。
【０１２６】
同じく輝度信号のＤＣ差分成分のサイズが３で、実際のＤＣ差分成分ｚｚ［０］が−６である場合、ウォータマークパターンのシンボルがプラスで、付加レベル a が３であると、図１８に示すように、−３（＝−６＋３）のＤＣ差分成分ｚｚ［０］は規定されていないので、固定長の符号部分だけを用いて付随情報を付加することはできない。この場合、このブロック位置では付随情報の付加は行なわない。あるいは、例えば付加レベル２までなら固定長の符号部分で付随情報を付加することが可能なので、差分値を１０１００１から１０１０１１に置き換えることにしても良い。この時、実際のＤＣ差分成分が−６より２だけ大きい−４になったことをレジスタ等に記録し、ＤＣ差分成分に対する次の付加を行なう際には、その値も参照して利用するべきである。このことについては、後で述べる。
【０１２７】
ＤＣ成分のサイズが０、つまり実際のＤＣ差分成分ｚｚ［０］が０である場合には、固定長の符号部分だけを用いて付随情報を付加することはできないため、そのブロック位置では付随情報の付加は行なわない。あるいは、何らかの処理により、付随情報を付加することにしても良い。
【０１２８】
付随情報を付加することによるＤＣ成分の実際のずれ分は、レジスタ等に記録し、ＤＣ差分成分に対する次の付加を行なう際に、その値も参照して、次のように利用する。例えば、直前の付随情報の付加によって、ＤＣ成分の実際の値が本来の値よりも２だけ大きくなっている場合、レジスタに２を記録しておく（R=2とする）。次の付加を行なう際に、実際のＤＣ差分成分ｚｚ［０］が７の時、輝度信号のＤＣ差分成分のサイズは３である。ウォータマークパターンのシンボルがマイナスで付加レベル b が１である場合、ＤＣ成分が差分符号化されていることを考慮すると、付随情報を付加するためには、-R-b = -2-1 = -3 だけＤＣ差分成分を変化させる必要がある。そのため、差分値を１０１１１１から１０１１００に置き換え、実際のＤＣ差分成分を７から４にし、ＤＣ成分の実際の値が１だけ小さい値になったことを記録するために、R = 2-3 = -1 にする。付随情報を付加することによって発生するＤＣ成分の実際のずれ分は、上記以外の方法を用いて記録しても良い。
【０１２９】
なお、ＤＣ成分（ＤＣ差分成分）を利用した付随情報の付加を行なう際には、上記以外の何らかの方法を用いても良い。
【０１３０】
上記実施の形態においては、ＤＣ成分（ＤＣ差分成分）を用いて付随情報を付加する場合を説明したが、Motion Vector（動きベクトル）の差分値を符号化したコードの中のMotion_residual（FLC）を用いることも可能である。
【０１３１】
すなわち、MPEG方式においては、図３９の従来例で説明すると、動きベクトル検出器５０でＰピクチャおよびＢピクチャの動きベクトルを検出し、これを符号化してビットストリーム中に含めて伝送するようになされている。このMotion Vectorは、図１９に示すような VLC とされるMotion_codeと、 FLC としてのMotion_residualで表される。Motion_codeは、Motion Vectorの大まかな値を表し、Motion_residualは、細かな値を表すための補正値を表す。また、f_codeは、Motion_codeの精度（倍率）を表している。
【０１３２】
例えば、f_codeが１の場合、Motion_codeは０．５精度の値を表す。これにより、充分細かな値が表されるので、この場合、Motion_residualは使用されない。
【０１３３】
f_codeが２である場合、Motion_codeは整数精度を表し、Motion_residualは、０．５精度の値を表す。すなわち、このとき、Motion_residualは、０または０．５を示す１ビットの FLC で表される。
【０１３４】
さらに、f_codeが３である場合、Motion_codeは２の倍数の精度の値を表し、Motion_residualは、０，０．５，１．０または１．５を表す２ビットの FLC となる。
【０１３５】
なお、DC Differentialの場合と同様に、Motion_codeが０である場合、Motion_residualは存在しない。
【０１３６】
このような FLC であるMotion_residualに、上述したDC Differentialの場合と同様に、付随情報を付加するようにすることができる。
【０１３７】
付随情報を検出する際には、例えば動きベクトルあるいはその差分値などを足し引きして、評価値を算出すれば良い。これ以外の方法を用いて、付随情報の検出を行なっても良い。
【０１３８】
なお、Motion_residualはＰピクチャとＢピクチャに存在するが、ＢピクチャのMotion_residualを用いるようにすれば、Ｂピクチャは他のピクチャの予測に用いられることがないので、キーデータ挿入による他のピクチャへの影響を防止することができる。
【０１３９】
ところで、ウォータマークパターンの付加を行なう際、第４の実施の形態として、例えば対象の画像領域毎に付加レベルを可変にすることができる。このような構成にすることで、例えば視覚的に影響のない範囲内で付随情報の付加量を増加させ、付随情報の検出時の誤検出をなくすことが可能となる。この場合、評価値のバイアス成分 B（図３６と図３７の例では (4n)^2 ）がより大きな値になるため、付随情報の検出時に評価値と閾値との比較が容易になる。
【０１４０】
図２０は、この場合のウォータマーク付加器１の構成例を示している。入力された画像データは、簡易符号解読器１２１で簡易解読された後、付随情報過付加判別器１４１へと渡される。付随情報過付加判別器１４１では、例えばウォータマークパターンを付加する際に可能な最大付加レベルや、その位置情報等を解析し、それらの過付加情報 k を付随情報付加器１１に渡す。あるいは、それ以外の解析を行なって、過付加情報 k を割り出しても良い。その他の構成は、付随情報付加器１１において、過付加情報 k に応じた付加レベルで付随情報の付加を行なう以外は、図２の場合と同様である。
【０１４１】
この図２０のウォータマーク付加器１では、図２１に示した一連の処理を行なう。始めにステップＳ８１で、付随情報付加器１１は、ウォータマークの付加レベル a, b を設定する。この時、付随情報過付加判別器１４１は、付随情報の付加を行なう対象となる画像上でウォータマークパターンの領域と等しい大きさの領域を設定し、その領域において、例えばウォータマークパターンを付加可能な最大付加レベルを算出し、付随情報付加器１１は、その値を付加レベル a, b に反映させる。あるいは、それ以外の方法を用い、付加レベル a, b に反映させても良い。その他のステップＳ８２乃至８８の処理は、図４のステップＳ２乃至８の処理と同様であるので、その説明は省略する。
【０１４２】
ウォータマークパターンを付加する際に可能な最大付加レベルを算出する際には、様々な基準が利用可能であるが、以下ではその具体例をいくつか述べる。
【０１４３】
まず、視覚的に影響のない範囲内という基準を用いて、付加レベルを変化させることができる。例えば、あらかじめ基本的な付加レベル a0, b0 をそれぞれ１と設定しておく。高周波成分が多く含まれる領域では、ウォータマークパターンを付加することによるノイズ成分は目立ちにくくなる。そこで、あらかじめ付加レベル ak, bk を設定し、その値を基本的な付加レベルよりも大きい値（例えば２）に設定しておく。付随情報の付加を行なう対象となる画像に対し、ハイパスフィルタ等を用いて高周波成分が多く含まれる領域を特定し、その領域では ak, bk を付加し、それ以外の領域では a0, b0 を付加することにすれば、視覚的に影響のない範囲内で付随情報の付加量を増加させることができる。あるいは、ハイパスフィルタ等を用いた時に得られるレベルに応じて、個々の領域に対する ak, bk をそれぞれ設定し、それらの付加レベルで付加することにしても良い。
【０１４４】
第３の実施の形態に対しては、上記の処理はより容易に行なうことができる。第３の実施の形態では、例えばブロック単位で符号化される DCT の直流成分に付随情報を付加するが、実際に付加を行なう時点では、既に DCT の交流成分も算出されている。そのため、その交流成分を利用し、高周波成分が多く含まれる領域を特定すれば、例えばウォータマークパターンを付加する際に可能な最大付加レベルを容易に算出することができる。具体的には、 DCT 係数の量子化レベルのうち、例えばＱＦ［４］［４］乃至ＱＦ［７］［７］といった高周波成分でレベル０以外の係数が存在した場合、その最大レベルに応じて多くのレベルを付加する等の方法がある。
【０１４５】
そして、符号化時における固定長の符号部分の許す限りという基準を用いて、付加レベルを変化させることができる。このことについては、既に第３の実施の形態のところで基本的な処理方法を述べた。第３の実施の形態では、固定長の符号部分だけを用いて付随情報を付加することができない場合、付随情報の付加を行なわない例を主に記した。これを逆手にとれば、符号長が変わらない範囲内で、付随情報の付加量を増加させることができる。例えば輝度信号のＤＣ差分成分のサイズが３で、実際のＤＣ差分成分ｚｚ［０］が−６である場合を考える。ウォータマークパターンのシンボルがプラスの時、差分値を１０１００１から１０１０１１に置き換えれば、実際のＤＣ差分成分は−６より２だけ大きい−４になり、付加レベル b=2 とすることができる。必要であるなら、差分値を１０１００１から１０１１１１に置き換え、実際のＤＣ差分成分を−６から７に変えれば、付加レベル b=13 とすることもできる。
【０１４６】
同じく第３の実施の形態で、マクロブロック単位で符号化される動きベクトルを用いて、付随情報の付加を行なう場合も同様である。動きベクトルが多少ずれたとしても、復号して得られる画像の画質は、視覚的に問題ない程度の劣化で済むことが多い。そこで、例えば固定長の符号部分の許す範囲内でベクトルをずらし、それぞれのずらし位置における予測画像と実際の画像との差分画像の電力を調べておく。付随情報を付加する際に、例えばその電力がある閾値以下でかつずれ量の大きいベクトルに置き換えるといった処理を行えば、付随情報の付加量を増加させることができる。
【０１４７】
上記で示した以外の基準を用いて、ウォータマークパターンを付加する際の付加レベルを決めても良い。また、これらの基準を組み合わせて用いても構わない。
【０１４８】
ところで、ウォータマークパターンの検出を行なう際、第５の実施の形態として、付加時の領域の単位を任意の方法で分割して扱い、分割したそれぞれの部分領域に対して評価値を算出し、それらの評価値を比較することで、付随情報の検出精度を高めることが可能である。
【０１４９】
本実施の形態を説明するために、以下のような新しい付随情報の検出方法を導入する。すなわち、付随情報を検出する際、ウォータマークパターンをずらしながら、それぞれのずらし位置（位相）に対する評価値を求め、それらの評価値を比較して付随情報を検出する。このようにすると、相対的評価基準を利用できる。
【０１５０】
ここで、ウォータマークパターンをずらして評価値を求める理由を述べる。例えば、Ｍ系列を用いてウォータマークパターンを生成した場合、０あるいは周期分以外の位置（位相）で任意にずらしたウォータマークパターンと、元のウォータマークパターンとの相関は非常に低くなる。言い換えれば、付加した時のウォータマークパターンに対して少しでもずらしたウォータマークパターンを用いて検出を行なうと、評価値のバイアス成分はほぼ０となる。例えば図３６と図３７において、ずらしたウォータマークパターンを用いて検出を行なうと、評価値 (4n)^2 はほぼ０となる。
【０１５１】
そのため、ウォータマークパターンをずらして求めた評価値は、ウォータマークパターンが付加されていない場合の標準的な評価値とほぼ等しいとみなすことができる。従って、ウォータマークパターンをずらして求めた評価値と、ずらし量０の時の評価値とを比較することにより、相対的評価基準を利用できるため、付随情報の検出を容易に行なうことができる。これにより、付随情報が埋め込まれていない場合の評価値がほぼ 0 となるような、充分に広い領域のウォータマークパターン（Ｍ系列なら、高次の系列）を用いなくても、狭い領域のウォータマークパターン（Ｍ系列なら、低次の系列）を用いるだけで、付随情報の検出を確実に行うことができる。
【０１５２】
図２２には、この場合におけるウォータマーク検出器２２の構成を示した（なお、ウォータマーク付加器１側の構成と動作は、上記実施の形態の場合と同様である）。入力された画像データは、複数（図２２の例の場合、３個）の評価値算出器３１−１乃至３１−３に入力される。ウォータマークパターン保持メモリ１２に記録されているウォータマークパターンは、必要に応じてウォータマークパターンがずらされ、各評価値算出器３１−１乃至３１−３に供給される。
【０１５３】
ウォータマークパターンをずらす際には、図２３に示すように、例えば画像の走査順に従ってずらす方法等がとられる。例えば８×８のブロック単位で付随情報を付加してあったとしても、検出時にずらす単位は、付加時の単位以外であっても良い。図２３では、８×８画素のブロック単位（８画素単位）で前後にずらす場合と、１画素単位で前後にずらす場合の例が、概念的に示されている。また、上記のようなずらし方に限定されるわけではなく、これ以外の方法でずらしても構わない。
【０１５４】
評価値算出器３１−２では、例えば８×８のブロック単位で i ブロック分だけずらしたウォータマークパターンを用いて評価値を算出する。評価値算出器３１−１では、ウォータマークパターンをずらさずに評価値を算出する。評価値算出器３１−３では、例えば８×８のブロック単位で j ブロック分だけずらしたウォータマークパターンを用いて評価値を算出する。ずらし量は i>0, j<0, |i|=|j| のように、ずらし量０を中心に前後に同じ量だけずらす方が良いが、任意のずらし量で構わない。
【０１５５】
各評価値算出器３１−１乃至３１−３では、それぞれのウォータマークパターンを用いて評価値を算出する際、８×８画素のブロックの全ての画素について評価値を算出するのではなく、その一部の画素だけを用いて評価値を算出する。そして、評価値を算出する際に用いる一部の画素をずらしながら、それぞれのずらし位置に対応する評価値を複数回算出する。評価値を算出する際に用いる一部の画素の領域の範囲は任意で構わないが、付随情報を付加する際の領域を任意の方法で分割して扱う方が良い。この例として、図２４に、８×８画素のブロックを、８×１画素の８個の領域（列）に分割する例を示した。
【０１５６】
図２４では、ブロック内ずらし量０の時に評価値を算出する範囲を、各ブロックの左から３番目の列に位置する画素と決め、それを中心に、 -2 から 5 までのブロック内ずらし量に対する評価値の算出範囲の例が示してある。このような処理を行なうことで、図２３に概念的に示したように、ウォータマークパターンを１画素単位で前後にずらして評価値を算出する場合と同様の効果を、ウォータマークパターンをずらさずに実現することができる。
【０１５７】
図２２に示した i, j を i=-1, j=1 とすると、図２４の基準で見れば i は-8画素、j は8画素のブロック内ずらし量で評価値を算出することと等価である。そこで、例えば、評価値算出器３１−２では、i=-1 として、ブロック内ずらし量 -8+5, -8+4 に対する評価値を算出し、評価値算出器３１−３では、j=1として、ブロック内ずらし量 8-2, 8-1 に対する評価値を算出する。評価値算出器３１−１では、ブロック内ずらし量 -2 から 5 に対する評価値を算出する。このようにすれば、ブロック内ずらし量 -4 から 7 に対する評価値を疑似的に連続的に算出でき、後で述べるように、評価値の比較が容易となり、付随情報の検出精度を高めることができる。
【０１５８】
各ブロック内ずらし量に対応して評価値を算出する処理は、１つの演算単位（プロセッサエレメント）（PE : Processor Element）と見なすことができる。図２２には、上記の場合における各評価値算出器３１−１乃至３１−３での PE の個数を示している。すなわち、評価値算出器３１−１乃至３１−３は、それぞれ、８個（-2乃至5までの演算を行うPE）、２個（-8+5(=-3)と-8+4(=-4)の演算を行うPE）、または２個（8-2(=6)と8-1(=7)の演算を行うPE）の演算単位（PE）を有している。
【０１５９】
図２５には、各 PE において実行される処理の流れを PE のブロック図で具体的に示した。この図では、付加レベル a=1, b=0 としている。セレクタ１６１は、評価値を算出するために入力される画素値が、例えば８ビットである場合、その画素に対応するウォータマークパターンのシンボルに応じて、その画素値（プラスの場合）、あるいは０（マイナスの場合）を、８ビットで出力する。セレクタ１６１の出力値とレジスタ１６３の値が加算器１６２で足し算され、その加算値が、例えば２４ビットのレジスタ１６３に蓄えられる。対象の範囲内の全ての画素についてこの加算処理が繰り返され、処理終了後のレジスタ１６３の評価値は評価値比較器３３へ入力される。
【０１６０】
上記以外のウォータマークパターンのずらし量や、評価値を算出する際のずらし量を用いても構わない。また、上記以外の方法で、評価値を算出する際に用いる一部の画素の領域の範囲を構成しても構わない。
【０１６１】
各評価値算出器３１−１乃至３１−３で算出された評価値は、評価値比較器３３で閾値処理され、評価結果すなわち付随情報 f が出力される。この具体的な処理については、後で述べる。
【０１６２】
図２２のウォータマーク検出器２２では、図２６と図２７に示した一連の処理を行う。まず、ステップＳ１０１で、評価値算出器３１−１乃至３１−３は、閾値 th に所定の値を設定する。次に、評価値算出器３１−１におけるずらし量０のウォータマークパターンを用いた時の、現フレームの画像に対する評価値 sumn を求めるための処理がステップＳ１０２で開始され、ステップＳ１０３で、評価値演算処理が実行される。この評価値演算処理の詳細は図２７に示されている。
【０１６３】
この図２７の処理では、ステップＳ１２１で、評価値 sum の初期化を行った後、ステップＳ１２２乃至Ｓ１２６において、ウォータマークパターンを z=0 だけずらしたパターンに対して、図４５に示した従来例のステップＳ１６２乃至Ｓ１６６と同様の処理を行い、ステップＳ１２７で、求めた sum の値を、 sumn
に設定する。
【０１６４】
同様に、図２６のステップＳ１０４，Ｓ１０５で、評価値算出器３１−２におけるずらし量 z=i のウォータマークパターンを用いた時の評価値 sumi が求められる。そして、ステップＳ１０６，Ｓ１０７で、評価値算出器３１−３におけるずらし量 z=j のウォータマークパターンを用いた時の評価値 sumj が求められる。このように、ブロック内ずらし量に応じて、 sumi, sumj, sumn について、それぞれいくつかの評価値を算出することができる。
【０１６５】
このようにして求めた３つのまとまりの評価値に対し、例えば以下のような比較を行う。すなわち、評価値比較器３３は、ステップＳ１０８で、 sumi, sumj として求めたいくつかの評価値を平均し、基準値 sumave を求める。また、 sumn として求めたいくつかの評価値を平均する。さらに、ステップＳ１０９で、評価値比較器３３は、 sumn の平均値と sumave との差分の絶対値を求め、その差が閾値 th よりも大きい場合には、付随情報が付加されているとみなして、ステップＳ１１０で、付随情報 f を on にする。そうでない場合には、ステップＳ１１１で、付随情報 f を off にする。
【０１６６】
図２８の評価値比較器３３のブロック図では、この処理の流れを具体的に示した。評価値算出器３１−２より出力されたずらし量 i の評価値（-3と-4のPEの出力）は、加算器１７１により加算され、評価値算出器３１−３の出力するずらし量 j の評価値（6と7のPEの出力）は、加算器１７２により加算される。加算器１７３は、加算器１７１の出力と加算器１７２の出力を加算し、割算器１７４に出力する。割算器１７４は、加算器１７３より出力された値を４で割算し、基準値 sumave を出力する。
【０１６７】
一方、評価値算出器３１−１の出力するずらし量０の評価値（-2乃至5のPEの出力）は、加算器１７５乃至１８１により加算され、割算器１８２に供給される。割算器１８２は、加算器１８１から供給された値を８で割算し、平均値 sumn を演算する。
【０１６８】
減算器１８３は、割算器１８２の出力 sumn から、割算器１７４の出力 sumaveを減算し、その減算結果を絶対値回路１８４に供給する。絶対値回路１８４は、減算器１８３の出力の絶対値を演算し、比較器１８５に出力する。比較器１８５は、絶対値回路１８４から供給される値と、閾値 th を比較し、その比較結果を出力する。その比較結果に応じて評価結果、すなわち付随情報 f の on, off が出力される。
【０１６９】
評価値を比較する方法は、どのようなものであっても良いが、より検出精度を高めるためには、例えば以下のように処理を行うと良い。図２９には、８×８画素のブロック単位で付随情報を付加した場合について、上記のような検出方法で評価値を算出した場合の、ブロック内ずらし量に対する評価値のグラフ例を示した。このグラフでは、ウォータマークパターン付加時の評価値の推移を点線で、未付加時の評価値の推移を実線で示した。また、８×８画素のブロック単位でウォータマークパターンを前後にずらした場合に相当するブロック内ずらし量について、その評価値を、２重丸で特に強調して示した。
【０１７０】
図２９に示すように、ブロック内ずらし量 -2 から 5 の範囲では、評価値にバイアス成分（図３６と図３７の例では、(4n)^2 ）が加わっている。しかし、これまでに述べた評価値の比較方法では、ウォータマークパターン付加時の評価値だけを用いて付随情報の検出を行うことは困難である。なぜなら、例えば前後にウォータマークパターンを±１ブロックずらした時（図２９では、ブロック内ずらし量±８画素に相当）の評価値を平均して求めた基準値 sumave と、ずらし量０の時（図２９では、ブロック内ずらし量０に相当）の評価値とでは、あまり大きな差がないため、付随情報が付加されていないと誤検出される可能性が高いからである。
【０１７１】
そこで、ウォータマークパターンをずらした時の境界付近の評価値を用いるため、上記の例で示したように、例えばブロック内ずらし量 -4 から 7 に対する評価値を疑似的に連続的に算出しておく。ブロック内ずらし量が -3 の時の評価値と比べて、 -2 の時の評価値がバイアス成分の分だけ大きく、しかもブロック内ずらし量が 6 の時の評価値と比べて、 5 の時の評価値がバイアス成分の分だけ大きい時に、付随情報が付加されていると判断すれば、誤検出の可能性は大きく減少する。あるいは、どちらかがバイアス成分の分だけ大きい時に、付随情報が付加されていると判断しても良い。ブロック内ずらし量 -4 及び -3 の平均値を用いたり、その評価値の推移から -2 の時の評価値を外挿あるいは予測して得られる値を用いるなどして、比較を行っても良い。もちろん、上記に挙げた以外の比較方法を用いて、付随情報の検出を行っても良い。
【０１７２】
前後１つずつのずらし量だけでなく、それぞれ複数のずらし量を用い、それらについて求めた全てあるいは一部の評価値に対して、フィルタ等を用いて標準的な評価値を構成しても構わない。それとは逆に、例えば前のずらし量だけを用いるというように、どちらか一方のずらし量だけを用いて、標準的な評価値を構成しても良い。また、ブロック内ずらし量等のように、評価値を算出する際に用いる一部の画素の領域の範囲についても、同様である。
【０１７３】
また、小数精度のずらし量についても反復処理を行うことにし、そのような場合はウォータマークパターンあるいは対象領域の画素を補間して評価値を求めることにしても良い。
【０１７４】
現フレームの画像に対する標準的な評価値 summed を求める際には、どのような処理方法を用いても良い。先の例では平均を用いる場合などについて説明したが、任意の単一のずらし量の評価値をそのまま利用しても良いし、複数の評価値のうち全部あるいは一部に対する最大値、最小値などを求めて利用するというように、どのような処理方法を用いて標準的な評価値を求めても構わない。これには、例えば -2 及び -1 ずらした時の評価値の推移から、ずらし量０の時の評価値を予測あるいは外挿するというような、より複雑な処理方法も含まれる。
【０１７５】
以上においては、本発明をエンコーダとデコーダに適用した場合を例として説明したが、例えば、図３０に示すように、フォーマッタに適用することも可能である。この場合、マスタテープ２０１または伝送路２０２よりより供給された画像データが、フォーマッタ２０３に供給される。フォーマッタ２０３は、上述した場合と同様の構成の復号器２１とウォータマーク検出器２２を有している。復号器２１は、入力された符号ビット列を復号し、ウォータマーク検出器２２に出力する。マスタテープ２０１または伝送路２０２からの画像データが、既に復号された状態の画像データである場合には、これがウォータマーク検出器２２に直接供給される。
【０１７６】
ウォータマーク検出器２２は、入力された画像データが付随情報ｆを含むか否かを検出し、その検出結果に対応して、画像変換器３４を制御する。従って、付随情報が付加されている画像データは出力され、スタンパ２０４が形成され、このスタンパ２０４から、大量のレプリカディスク２０５が生成される。これに対して、入力された画像データが、付随情報が付加されていない場合には、画像変換器３４は画像データを出力しない。従って、この場合、スタンパ２０４は作成することができないことになる。
【０１７７】
図３１は、本発明を記録装置に適用した場合の構成例を表している。この場合、記録装置２２１には、例えば、図３０のフォーマッタ２０３で製造されたディスク２０５、または伝送路２０２から符号化された画像データ、または既に復号されている画像データが入力される。符号化されている画像データは、復号器２１で復号された後、ウォータマーク検出器２２に供給される。既に復号された状態の画像データは、ウォータマーク検出器２２に、直接供給される。
【０１７８】
ウォータマーク検出器２２は、図３０のフォーマッタ２０３における場合と同様に、付随情報が付加されている場合には、画像変換器３４から画像データを出力し、ディスク２２２に記録させるが、付随情報が付加されていない場合には、画像変換器３４を制御して、画像データを出力させないようにする。その結果、このとき、ディスク２２２には、記録装置２２１に入力された画像データを記録することができないことになる。
【０１７９】
なお、上記したような処理を行うプログラムをユーザに伝送する伝送媒体としては、磁気ディスク、CD-ROM、固体メモリなどの記録媒体の他、ネットワーク、衛星などの通信媒体を利用することができる。
【０１８０】
【発明の効果】
本発明によれば、確実に検出可能なウォータマークを、簡単に付加することが可能となる。
【図面の簡単な説明】
【図１】本発明を適用したエンコーダの構成例を示すブロック図である。
【図２】図１のウォータマーク付加器１の構成例を示すブロック図である。
【図３】ウォータマークパターンの拡大を説明する図である。
【図４】図２のウォータマーク付加器１の動作を説明するフローチャートである。
【図５】本発明を適用したデコーダの構成例を示すブロック図である。
【図６】図５のウォータマーク検出器２２の構成例を示すブロック図である。
【図７】図６のウォータマーク検出器２２の動作を説明するフローチャートである。
【図８】ウォータマークパターンの他の拡大例を説明する図である。
【図９】マクロブロックの構造を説明する図である。
【図１０】フレームDCTモードを説明する図である。
【図１１】フィールドDCTモードを説明する図である。
【図１２】ウォータマーク付加器１の他の動作例を説明するフローチャートである。
【図１３】固定長符号化部分の置き換え処理を説明する図である。
【図１４】ウォータマーク検出器２２における他の処理例を説明するフローチャートである。
【図１５】  GOPの構造を説明する図である。
【図１６】  DCT係数の直流成分の符号化を説明する図である。
【図１７】  DCT係数のサイズについて説明する図である。
【図１８】  DCT係数の差分について説明する図である。
【図１９】可変長符号を説明する図である。
【図２０】ウォータマーク付加器１のさらに他の構成例を示すブロック図である。
【図２１】図２０のウォータマーク付加器１の動作を説明するフローチャートである。
【図２２】ウォータマーク検出器２２の他の構成例を示すブロック図である。
【図２３】ウォータマークパターンのずらし方を説明する図である。
【図２４】ずらし量に対応するブロック内の領域を説明する図である。
【図２５】プロセッサエレメントの構成例を示すブロック図である。
【図２６】図２２のウォータマーク検出器２２の動作を説明するフローチャートである。
【図２７】図２６のステップＳ１０３，Ｓ１０５，Ｓ１０７の評価値演算処理の詳細を示すフローチャートである。
【図２８】図２２の評価値比較器３３の構成例を示すブロック図である。
【図２９】ブロック内ずらし量に対する評価値を説明するグラフである。
【図３０】本発明を適用したフォーマッタの構成を示す図である。
【図３１】本発明を適用した記録装置の構成を示す図である。
【図３２】ビデオテープにおける補助情報の記録位置を説明する図である。
【図３３】ウォータマークを説明する図である。
【図３４】ウォータマークのパターンの例を示す図である。
【図３５】ウォータマークを付加する操作を説明する図である。
【図３６】ウォータマークが付加されている場合の評価値を説明する図である。
【図３７】ウォータマークが付加されていない場合の評価値を説明する図である。
【図３８】従来のエンコーダの構成例を示すブロック図である。
【図３９】従来のエンコーダの符号化器２の構成例を示すブロック図である。
【図４０】従来のデコーダの構成例を示すブロック図である。
【図４１】従来の復号器２１の構成例を示すブロック図である。
【図４２】図４０のウォータマーク付加器１の構成例を示すブロック図である。
【図４３】図４１のウォータマーク検出器２２の構成例を示すブロック図である。
【図４４】図４２のウォータマーク付加器１の動作を説明するフローチャートである。
【図４５】図４３のウォータマーク検出器２２の動作を説明するフローチャートである。
【符号の説明】
１  ウォータマーク付加器，  ２  符号化器，  １１  付随情報付加器，  １２  ウォータマークパターン保持メモリ，  ３１  評価値算出器，  ３２  ウォータマークパターン保持メモリ，  ３３  評価値比較器，  ３４  画像変換器，１０１，１１１  ウォータマークパターン照合制御器，  １２１，１３１  簡易符号解読器，  １４１  付随情報過付加判別器
【図１】
0003696723.tif 000002
【図２】
0003696723.tif 000003
【図３】
0003696723.tif 000004
【図４】
0003696723.tif 000005
【図５】
0003696723.tif 000006
【図６】
0003696723.tif 000007
【図７】
0003696723.tif 000008
【図８】
0003696723.tif 000009
【図９】
0003696723.tif 000010
【図１０】
0003696723.tif 000011
【図１１】
0003696723.tif 000012
【図１２】
0003696723.tif 000013
【図１３】
0003696723.tif 000014
【図１４】
0003696723.tif 000015
【図１５】
0003696723.tif 000016
【図１６】
0003696723.tif 000017
【図１７】
0003696723.tif 000018
【図１８】
0003696723.tif 000019
【図１９】
0003696723.tif 000020
【図２０】
0003696723.tif 000021
【図２１】
0003696723.tif 000022
【図２２】
0003696723.tif 000023
【図２３】
0003696723.tif 000024
【図２４】
0003696723.tif 000025
【図２５】
0003696723.tif 000026
【図２６】
0003696723.tif 000027
【図２７】
0003696723.tif 000028
【図２８】
0003696723.tif 000029
【図２９】
0003696723.tif 000030
【図３０】
0003696723.tif 000031
【図３１】
0003696723.tif 000032
【図３２】
0003696723.tif 000033
【図３３】
0003696723.tif 000034
【図３４】
0003696723.tif 000035
【図３５】
0003696723.tif 000036
【図３６】
0003696723.tif 000037
【図３７】
0003696723.tif 000038
【図３８】
0003696723.tif 000039
【図３９】
0003696723.tif 000040
【図４０】
0003696723.tif 000041
【図４１】
0003696723.tif 000042
【図４２】
0003696723.tif 000043
【図４３】
0003696723.tif 000044
【図４４】
0003696723.tif 000045
【図４５】
0003696723.tif 000046