(57)【要約】  【課題】  少ない演算量で、透かしデータを埋め込むためのＤＣＴ係数操作とドリフト補償を行うことができるようにすること、  【解決手段】  ＭＢデータ抽出部３は、テンプレート１１に従って、画像フレームから透かしデータを埋め込むマクロブロックまたはブロック（以下、ＭＢと略す）を抽出する。抽出されたＭＢデータは可変長復号部４で可変長復号され、次いで逆量子化部５で逆量子化されてＤＣＴ係数が再生される。次いで、ＤＣＴ係数抽出部６は、透かしデータを埋め込む位置のＤＣＴ係数を、前記テンプレート１１の指示に従って抽出する。ＤＣＴ係数操作部７は、前記抽出されたＤＣＴ係数に透かしデータ埋め込み処理またはドリフト補償処理を行う。該透かしデータ埋め込み処理またはドリフト補償処理が行われたデータは、量子化部８で再量子化され、続いて可変長符号化部９で可変長符号化される。  【選択図】  図１
2005142898.tif 000002
【特許請求の範囲】
【請求項１】
ＭＰＥＧ符号化されたデータからブロックを選択する手段と、
該選択されたブロックから、ＤＣＴ係数を選択する手段と、
該選択されたＤＣＴ係数の量子化レベル値が１以上大きくなるように操作する手段とを具備したことを特徴とする電子透かし埋め込み方式。
【請求項２】
請求項１に記載の電子透かし埋め込み方式において、
前記量子化レベル値が、変更した結果がより低ビットレートで符号化する際に適用されると予想される量子化ステップサイズΔ’における量子化レベル値であることを特徴とする電子透かし埋め込み方式。
【請求項３】
前記請求項１または２の方式により埋め込まれた電子透かしのドリフト補償方式であって、
ＭＰＥＧ符号化された第ｎ（ｎは、正の整数）フレームに埋め込まれた電子透かしと同位置の、該第ｎフレーム以降のフレームのＤＣＴ係数に対して、前記第ｎフレームで行ったＤＣＴ係数操作の逆操作を、該第ｎフレームの操作を参照して行う手段を具備したことを特徴とするドリフト補償方式。
【請求項４】
請求項３に記載のドリフト補償方式において、
該ドリフト補償を、前記第ｎフレーム以降のフレームの動ベクトルの絶対値が１以内の時に行うことを特徴とするドリフト補償方式。
【請求項５】
請求項４に記載のドリフト補償方式において、
前記電子透かし埋め込み操作で操作した量子化レベル値Ｑと元のＤＣＴ係数値ａとの差分ｄを記憶する手段と、
前記第ｎフレーム以降のフレームの同一箇所の逆量子化値から、該差分ｄを減算する減算手段とを具備したことを特徴とするドリフト補償方式。
【請求項６】
請求項５に記載のドリフト補償方式において、
前記減算手段によって得られた値ｂ’と最も近い値の量子化レベル値Ｑi’を、とりうる量子化レベル値の中から選択することを特徴とするドリフト補償方式。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電子透かし埋め込み方式およびドリフト補償方式に関し、特に動画像を配信する際に透かしを埋め込むことにより、著作権の存在を検証できるようにし、かつ配信先毎に透かしを埋め込む情報を変化させることにより、海賊版の出所等を判定することが可能になる電子透かし埋め込み方式およびドリフト補償方式に関する。
【背景技術】
【０００２】
この種の方式の従来例は、ベースバンド信号（圧縮されていない動画像）に対して透かしを埋め込む方式が大半である。これには、例えば下記の特許文献１に記されているものがある。
【０００３】
一方、圧縮されている動画像であるＭＰＥＧストリームに対して、透かしを直接埋め込む方式は、演算量の大幅な削減につながるので好ましい方式であるが、符号化時と復号時とでデータの不一致（ドリフト）が生じるため、画質劣化につながるという問題があった。
【０００４】
そこで、下記の非特許文献１では、ＭＰＥＧストリームに透かしを直接埋め込む際のドリフト補償の方式が記載されている。
【特許文献１】特開２００２−１３５７３７号公報
【非特許文献１】F. Hartung and M. Kntter, "Multimedia Watermarking Technologies", Proceedings of the IEEE, vol.87, No.7, pp.1079-1107, July 1999
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前記した非特許文献１に記された発明は、全ての画像ブロックのＤＣＴ係数を操作して、該全ての画像ブロックに対して透かしを埋め込むようにしている。また、この発明は、ドリフト補償のために動き補償処理を必要としており、演算量が多いという問題があった。
【０００６】
本発明は、前記した問題に鑑みてなされたものであり、少ない演算量で、透かしデータを埋め込むためのＤＣＴ係数操作とドリフト補償を行うことができる電子透かし埋め込み方式およびドリフト補償方式を提供することにある。
【課題を解決するための手段】
【０００７】
前記した目的を達成するために、本発明は、ＭＰＥＧ符号化されたデータからブロックを選択する手段と、該選択されたブロックから、ＤＣＴ係数を選択する手段と、該選択されたＤＣＴ係数の量子化レベル値が１以上大きくなるように操作する手段とを具備した点に第１の特徴がある。
【０００８】
また、本発明は、前記量子化レベル値が、変更した結果がより低ビットレートで符号化する際に適用されると予想される量子化ステップサイズΔ’における量子化レベル値である点に第２の特徴がある。
【０００９】
また、本発明は、電子透かしのドリフト補償方式であって、ＭＰＥＧ符号化された第ｎ（ｎは、正の整数）フレームに埋め込まれた電子透かしと同位置の、該第ｎフレーム以降のフレームのＤＣＴ係数に対して、前記第ｎフレームで行ったＤＣＴ係数操作の逆操作を、該第ｎフレームの操作を参照して行う手段を具備した点に第３の特徴がある。
【００１０】
さらに、該ドリフト補償を、前記第ｎフレーム以降のフレームの動ベクトルの絶対値が１以内の時に行うようにした点に第４の特徴がある。
【発明の効果】
【００１１】
本発明によれば、選択されたブロックのうちの選択されたＤＣＴ係数に透かしデータを埋め込むようにしているので、少ない演算量で透かしデータ埋め込み処理を行うことができるという効果がある。
【００１２】
また、本発明によれば、少ない演算量で透かしデータのドリフト処理を行うことができるという効果がある。また、透かしデータの影響が後続の画像データに及ぶのを防止でき、画質の劣化を防止できるという効果がある。
【発明を実施するための最良の形態】
【００１３】
以下に、図面を参照して、本発明を詳細に説明する。図１は、本発明の一実施形態の概略の構成を示すブロック図である。なお、以下では、ＭＰＥＧ符号化を例にして説明するが、本発明はこれに限定されるものではない。
【００１４】
図において、符号化された画像フレーム、例えばＭＰＥＧ符号化された画像フレームＦn-1，Ｆn，Ｆn+1，・・・が画像ファイル１から順次読み出され、複数の画像フレームがメモリ２に一時的に蓄積される。ＭＢデータ抽出部３は、テンプレート１１からの指示に基づいて、メモリ２から、透かしデータを埋め込むマクロブロックまたはブロック（以下、ＭＢと略す）を抽出する。または、ドリフト補償するＭＢを抽出する。該テンプレート１１には、ＭＢを抽出するパターンが複数用意されており、画像フレーム毎に異なるＭＢ抽出パターンが適用される。該ＭＢ抽出パターンの適用が一巡した場合には、再度同じＭＢ抽出パターンをサイクリックに適用することができる。
【００１５】
抽出されたＭＢデータは可変長復号部４で可変長復号され、次いで逆量子化部５で逆量子化されてＤＣＴ係数が再生される。次いで、ＤＣＴ係数抽出部６は、透かしデータを埋め込む位置のＤＣＴ係数を、前記テンプレート１１の指示に従って抽出する。ＤＣＴ係数操作部７では、後述の説明から明らかになるように、前記抽出されたＤＣＴ係数に透かしデータ埋め込む処理またはドリフト補償処理が行われる。該透かしデータ埋め込み処理またはドリフト補償処理が行われたデータは、量子化部８で再量子化され、続いて可変長符号化部９で可変長符号化される。最後に、ＭＰＥＧビットストリーム１０に整形されて出力される。
【００１６】
次に、本実施形態の要部の動作を、図２のフローチャートを参照して説明する。
【００１７】
ステップＳ１では、画像フレームの番号を示すｎがｎ＝０とされる。ステップＳ２では、前記メモリ２から画像フレームＦn+1が選択され、ステップＳ３では、前記ＭＢデータ抽出部３において、該画像フレームＦn+1からＦn+1用テンプレート１１で指示されたマクロブロックＭＢを抽出する。ステップＳ４では、前記ＤＣＴ係数抽出部６において、該テンプレート１１で指示されたＭＢ中の透かしデータ埋め込み位置を抽出する。ステップＳ５では、前記ＤＣＴ係数操作部７において、前記透かしデータ埋め込み位置に透かしデータを埋め込む処理をする。この処理については、後で詳述する。
【００１８】
ステップＳ６では、Ｆn用テンプレートで、画像フレームＦn+1からマクロブロックＭＢを抽出する。ステップＳ７では、該マクロブロックＭＢの動きベクトルＭＶの絶対値が１以内でかつＤＣＴ係数をもっているか否かを判断する。そして、この判断が肯定であればステップＳ８に進んでドリフト補償を行う。このドリフト補償処理は、画像フレームＦnにて透かしデータが埋め込まれたのと同じ位置のＤＣＴ係数に対して行われるが、その詳細は後述する。一方、前記ステップＳ７の判断が否定の時には、ステップＳ９に進んで、ＤＣＴ係数が存在するか否かの判断がなされる。そして、この判断が肯定の時にはドリフト補償処理は行わず、次のステップに進む。ステップＳ９の判断が否定の時にはステップＳ１０に進んで、ドリフト補償不必要と判断する。
【００１９】
ステップＳ９の判断が肯定の場合ドリフト補償をしないのは、ＤＣＴ係数＝０に対してドリフト補償をすると画質を向上させるどころか逆に画質を劣化させてしまうためである。また、ステップＳ９の判断が否定の場合にドリフト補償不必要とするのは、ＤＣＴ係数が存在してＭＶの絶対値が１以上の時には、画像の動きが大きいので、前フレームの透かし埋め込みによる後続フレームへの画質の悪影響が小さいと考えられるからである。
【００２０】
ステップＳ１１では、画像フレームＦn-1のドリフト補償が既に済んでいるか否かの判断がなされる。ドリフト補償が済んでいればステップＳ１７に進む。一方、済んでいなければ、ステップＳ１２に進んで、Ｆn-1用テンプレートで、画像フレームＦn+1からマクロブロックＭＢを抽出する。次いで、ステップＳ１３で、抽出されたＭＢの動きベクトルＭＶの絶対値が１以内でかつＤＣＴ係数をもっているか否かを判断する。そして、この判断が肯定であればステップＳ１４に進んでドリフト補償を行う。この処理は、画像フレームＦn-1にて透かしデータが埋め込まれたのと同じ位置のＤＣＴ係数に対して行われるが、その詳細は後述する。一方、前記ステップＳ１３の判断が否定の時には、ステップＳ１５に進んで、ＤＣＴ係数が存在するか否かの判断がなされる。そして、この判断が肯定の時にはドリフト補償処理は行わず、次のステップに進む。ステップＳ１５の判断が否定の時にはステップＳ１６に進んで、ドリフト補償不必要と判断する。
【００２１】
前記のステップＳ７またはＳ１３のように、ＭＶの絶対値（ベクトル和の合同ベクトルの絶対値）が１以内でかつＤＣＴ係数をもっている場合にドリフト補償を行うのは、動きがない（ＭＶ＝０）か小さくかつ高周波成分が小さいＭＢデータには、透かしデータ埋め込みによる影響が蓄積する傾向にあるからである。
【００２２】
ステップＳ１７では、全部の画像フレームの処理が終了したか否かの判断がなされ、この判断が否定の時には、ステップＳ１８に進んで前記番号ｎに１が加算される。そして、前記ステップＳ２に戻り、前記した処理が繰り返される。ステップＳ１７の判断が肯定になると、前記した一連の処理は終了する。なお、このフローチャートは一動作例を示すものであり、本発明はこの動作に限定されるものではない。
【００２３】
図３は、図２のフローチャートの処理を簡単に示した説明図であり、注目の画像フレームＦn+1において、透かし埋め込み処理○と、前フレームＦn、前々フレームＦn-1の透かし埋め込みに対するドリフト補償処理△、×が行われる。フレームＦnの透かし埋め込みに対するドリフト補償はフレームＦn+1で行われる。フレームＦn-1の透かし埋め込みに対するドリフト補償がフレームＦnで行われた場合にはドリフト補償は補償済みになるが、該補償が行われなかった場合には、該透かし埋め込みに対するドリフト補償はフレームＦn+1で行われる。また、該ドリフト補償がフレームＦn+1で行われなかった場合には、次のフレームＦn+2で行われる。
【００２４】
次に、前記ステップＳ５の透かしデータ埋め込み処理の詳細を説明する。埋め込み対象のＤＣＴ係数値の量子化ステップサイズがΔであるとき、該Δを埋め込み対象のＤＣＴ係数値に絶対値が大きくなる方向に加算する。あるいは、変更した結果がより低ビットレートで符号化する際に適用される量子化ステップサイズがΔ’である場合には、該Δ’を埋め込み対象のＤＣＴ係数値に絶対値が大きくなる方向に加算する。
【００２５】
例えば、図４に示されているように、埋め込み対象のＤＣＴ係数値がＡであるとき、その量子化レベル値Ａ’の絶対値に、ΔまたはΔ’を加算する。なお、前記「変更した結果がより低ビットレートの符号化をする際に適用される量子化ステップサイズがΔ’」とは、例えば光ファイバ通信路向けの高ビットレート画像データを電話回線向けの低ビットレート画像データに変換する場合の符号化処理が考えられる。
【００２６】
次に、前記ステップＳ８，Ｓ１４のドリフト補償処理について図５を参照して説明する。まず、Ｉ（ピクチャ）フレームおよびＰ（ピクチャ）フレームの符号化におけるドリフト補償処理を説明する。
【００２７】
透かしデータ埋め込みを行った画像フレームをＦn、その次の画像フレームをＦn+1とする時、フレームＦnで埋め込みを行ったＭＢと同じ位置にあるフレームＦn+1のＭＢを観測する。このＭＢの動ベクトルの絶対値が０（動きなし）または１、すなわち１以内で、かつＤＣＴ係数をもつ時、フレームＦnで埋め込みを行ったＤＣＴ係数操作と逆の処理を行う。すなわち、フレームＦnで埋め込みを行う前のＤＣＴ係数をａ、透かしデータをｗ、フレームＦn+1の同じ位置のＤＣＴ係数をｂ、フレームＦnの当該ＤＣＴ係数が適用された量子化処理をＱ（）とするとき、フレームＦnにおいて発生するＤＣＴ係数の変化量ｄは次式のようになる。（図５(a)参照）なお、該ｄは図示されていない記憶手段に記憶しておくのがよい。
【００２８】
ｄ＝Ｑ（ａ＋ｗ）−ａ
【００２９】
そこで、フレームＦn+1で、前記透かし埋め込みのドリフト補償を行うには、前記同じ位置のＤＣＴ係数ｂから前記変化量ｄを引き、ｂ’とすればよい。（図５(b)参照）
【００３０】
しかし、補償後のＤＣＴ係数ｂ’は量子化処理を受けるため、Ｑ(b')は必ずしもｂ’とは等しくならない。ここで、Ｑ（）は離散的な値｛Ｑ１，Ｑ２，・・・，Ｑｉ，・・・｝を取るため、ｂ’と最も近くなるＱｉを選択し、それをドリフト補償後の量子化値として用いる。（図５(c)参照）すなわち、フレームＦn+1は、前フレームに対して行ったＤＣＴ係数操作の逆操作を、該前フレームの操作を参照して行われる。
【００３１】
フレームＦn+1がＤＣＴ係数の存在しないＭＢであった場合は、さらに後続の画像フレームＦn+2において、前記と同様のドリフト補償を行う。ただし、通算した動ベクトルの絶対値が一度１を越えた場合には、透かし埋め込みによる影響は緩和されるので、ドリフト補償は行わない。
【００３２】
次に、Ｂ（ピクチャ）フレームが含まれる場合の処理を説明する。この場合には、必ずしも連続したフレームだけでなく、図６に示されるように、ＩまたはＰピクチャを参照する離れた位置にあるＢフレームも、透かしを埋め込まれたＩまたはＰピクチャの影響を受けるので、該Ｂフレームもドリフト補償の対象となる。しかし、Ｂフレームに透かしが埋め込まれた場合は、該Ｂフレームは他のピクチャから参照されることがないため、ドリフト補償は不要となる。
【００３３】
以上のように、本発明によれば、テンプレートで限定的な数のＭＢデータを抽出しこれに透かしデータを埋め込むだけであり、また該透かしデータを埋め込んだフレームの後続フレームの、該透かしデータを埋め込んだ位置と同じ位置のデータに対してドリフト補償を行うようにしているので、演算量が少なくかつ画質劣化の少ない透かし埋め込みが可能になる。
【図面の簡単な説明】
【００３４】
【図１】本発明の一実施形態の概略の構成を示すブロック図である。
【図２】本発明の一実施形態の要部の動作を示すフローチャートである。
【図３】図２のフローチャートの処理の要部を簡単に示した説明図である。
【図４】透かしデータ埋め込み処理の説明図である。
【図５】ドリフト補償処理の説明図である。
【図６】Ｂフレームの透かし埋め込み、ドリフト補償処理の説明図である。
【符号の説明】
【００３５】
３・・・マクロブロック（ＭＢ）データ抽出部、６・・・ＤＣＴ係数抽出部、７・・・ＤＣＴ係数操作部、８・・・量子化部、１１・・・テンプレート。
【図１】
2005142898.tif 000003
【図２】
2005142898.tif 000004
【図３】
2005142898.tif 000005
【図４】
2005142898.tif 000006
【図５】
2005142898.tif 000007
【図６】
2005142898.tif 000008