(57)【要約】【課題】圧縮された状態の動画データに対して可逆的な可視透かしの埋め込みを行う。【解決手段】周波数変換及び量子化を含む情報圧縮の施された動画データに対して逆量子化を行う量子化／逆量子化演算部１０と、この量子化／逆量子化演算部１０により逆量子化された動画データに対して動き補償予測に対応する可視的な電子透かしのパターンを生成して埋め込む透かし埋め込み／除去演算部３０とを備える。量子化／逆量子化演算部１０は、この透かし埋め込み／除去演算部３０により電子透かしが埋め込まれた動画データを量子化する。【選択図】        図２
2004336529.tif 000002
【特許請求の範囲】
【請求項１】
周波数変換及び量子化を含む情報圧縮の施された動画データを入力する入力手段と、
前記入力手段により入力された前記動画データに対して動き補償予測に対応する可視的な電子透かしのパターンを生成して埋め込む透かし埋め込み手段と、
前記透かし埋め込み手段により電子透かしが埋め込まれた動画データを出力する出力手段と
を備えることを特徴とする動画データ処理装置。
【請求項２】
前記透かし埋め込み手段は、
前記動画データを構成する画面のうち、全ての画素に関する画素値を情報として持つ画面に対して、前記電子透かしのパターンを埋め込むイントラブロック処理手段と、
前記動画データを構成する画面のうち、動きベクトルに基づく動き補償予測にて生成される画面に対して、当該動きベクトルによる前記電子透かしのパターンの移動を打ち消す打ち消しパターンを埋め込む動き補正手段と
を備えることを特徴とする請求項１に記載の動画データ処理装置。
【請求項３】
前記動き補正手段は、前記打ち消しパターンの画像イメージを生成し、当該画像イメージを周波数変換して、処理対象の画面に埋め込むことを特徴とする請求項２に記載の動画データ処理装置。
【請求項４】
前記動き補正手段は、現れ得る前記打ち消しパターンに関して、周波数変換された当該打ち消しパターンのパターンテーブルを予め用意しておき、処理対象の画面に対して適当な当該パターンテーブルを選択して当該画面に埋め込むことを特徴とする請求項２に記載の動画データ処理装置。
【請求項５】
ＤＣＴ（離散コサイン変換）及び量子化を含む情報圧縮の施された動画データに対して逆量子化を行う逆量子化手段と、
前記逆量子化手段により逆量子化された前記動画データに対して、ＤＣＴ係数に変換された電子透かしのパターンを埋め込む透かし埋め込み手段と、
前記透かし埋め込み手段により電子透かしが埋め込まれた動画データを量子化する量子化手段と
を備えることを特徴とする動画データ処理装置。
【請求項６】
前記透かし埋め込み手段は、
前記動画データを構成する画面のうち、全ての画素に関する画素値を情報として持つ画面に対して、前記電子透かしのパターンの画像イメージをＤＣＴ係数に変換して埋め込むイントラブロック処理手段と、
前記動画データを構成する画面のうち、動きベクトルに基づく動き補償予測にて生成される画面に対して、当該動きベクトルによる影響を打ち消した前記電子透かしのパターンを埋め込む動き補正手段と
を備えることを特徴とする請求項５に記載の動画データ処理装置。
【請求項７】
前記動き補正手段は、前記動きベクトルに基づいて前記電子透かしのパターンの画像イメージを生成し、ＤＣＴ係数に変換して処理対象の画面に埋め込むことを特徴とする請求項６に記載の動画データ処理装置。
【請求項８】
前記動き補正手段は、現れ得る前記電子透かしのパターンの画像イメージをＤＣＴ係数に変換したパターンテーブルを予め用意しておき、処理対象の画面に対して適当な当該パターンテーブルを選択して当該画面に埋め込むことを特徴とする請求項６に記載の動画データ処理装置。
【請求項９】
ＤＣＴ（離散コサイン変換）及び量子化を含む情報圧縮の施された動画データを入力する入力手段と、
前記入力手段により入力された前記動画データに対して、ＤＣＴ係数に変換し、かつ量子化された電子透かしのパターンを埋め込む透かし埋め込み手段と、
前記透かし埋め込み手段により電子透かしが埋め込まれた動画データを出力する出力手段と
を備えることを特徴とする動画データ処理装置。
【請求項１０】
前記透かし埋め込み手段は、
前記動画データを構成する画面のうち、全ての画素に関する画素値を情報として持つ画面に対して、前記電子透かしのパターンの画像イメージをＤＣＴ係数に変換し、かつ量子化して埋め込むイントラブロック処理手段と、
前記動画データを構成する画面のうち、動きベクトルに基づく動き補償予測にて生成される画面に対して、当該動きベクトルによる影響を打ち消した前記電子透かしのパターンを埋め込む動き補正手段と
を備えることを特徴とする請求項９に記載の動画データ処理装置。
【請求項１１】
コンピュータを用いて、周波数変換及び量子化を含む情報圧縮の施された動画データに対して電子透かしの埋め込みを行う動画データ処理方法であって、
前記情報圧縮の施された動画データを入力し、所定の記憶手段に格納する第１のステップと、
前記所定の記憶手段に格納された前記動画データに対して動き補償予測に対応する可視的な電子透かしのパターンを埋め込み、所定の記憶手段に格納する第２のステップと、
前記所定の記憶手段に格納された、電子透かしを埋め込まれた前記動画データを出力する第３のステップと
を含むことを特徴とする動画データ処理方法。
【請求項１２】
前記第２のステップは、
前記動画データを構成する画面のうち、動きベクトルに基づく動き補償予測にて生成される画面に対して、当該動きベクトルによる前記電子透かしのパターンの移動を打ち消す打ち消しパターンの画像イメージを生成し、所定の記憶手段に格納するステップと、
前記所定の記憶手段に格納された前記画像イメージを周波数変換して、処理対象の画面に埋め込むステップと
を含むことを特徴とする請求項１１に記載の動画データ処理方法。
【請求項１３】
前記第２のステップは、
前記動画データを構成する画面のうち、動きベクトルに基づく動き補償予測にて生成される画面に対し、当該画面に対する動きベクトルに基づいて、当該動きベクトルによる前記電子透かしのパターンの移動を打ち消す打ち消しパターンを埋め込む必要があるかどうかを判断するステップと、
前記打ち消しパターンを埋め込む必要があると判断した場合に、予め所定の記憶手段に格納された、現れ得る前記打ち消しパターンの周波数変換された値を格納したパターンテーブル群の中から適当なパターンテーブルを選択し、処理対象の画面に埋め込むステップと
を含むことを特徴とする請求項１１に記載の動画データ処理方法。
【請求項１４】
コンピュータを用いて、周波数変換及び量子化を含む情報圧縮の施された動画データに埋め込まれている電子透かしを除去する動画データ処理方法であって、
前記情報圧縮の施された動画データに対して逆量子化を行い、所定の記憶手段に格納するステップと、
前記所定の記憶手段に格納された、逆量子化された前記動画データに埋め込まれている動き補償予測に対応する可視的な電子透かしのパターンを除去し、所定の記憶手段に格納するステップと、
前記所定の記憶手段に格納された、電子透かしを除去された前記動画データを量子化するステップと
を含むことを特徴とする動画データ処理方法。
【請求項１５】
コンピュータを制御して、周波数変換及び量子化を含む情報圧縮の施された動画データに対して電子透かしの埋め込みを行うプログラムであって、
前記情報圧縮の施された動画データを入力し、所定の記憶手段に格納する第１の処理と、
前記所定の記憶手段に格納された前記動画データに対して動き補償予測に対応する可視的な電子透かしのパターンを埋め込み、所定の記憶手段に格納する第２の処理と、
前記所定の記憶手段に格納された、電子透かしを埋め込まれた前記動画データを量子化する第３の処理と
を前記コンピュータに実行させることを特徴とするプログラム。
【請求項１６】
前記第２の処理は、
前記動画データを構成する画面のうち、全ての画素に関する画素値を情報として持つ画面に対して、前記電子透かしのパターンを埋め込む処理と、
前記動画データを構成する画面のうち、動きベクトルに基づく動き補償予測にて生成される画面に対して、当該動きベクトルによる前記電子透かしのパターンの移動を打ち消す打ち消しパターンを埋め込む処理と
を含むことを特徴とする請求項１５に記載のプログラム。
【請求項１７】
前記打ち消しパターンを埋め込む処理は、
前記動画データを構成する画面のうち、動きベクトルに基づく動き補償予測にて生成される画面に対して、当該動きベクトルによる前記電子透かしのパターンの移動を打ち消す打ち消しパターンの画像イメージを生成し、所定の記憶手段に格納する処理と、
前記所定の記憶手段に格納された前記画像イメージを周波数変換して、処理対象の画面に埋め込む処理と
を含むことを特徴とする請求項１６に記載のプログラム。
【請求項１８】
前記打ち消しパターンを埋め込む処理は、
前記動画データを構成する画面のうち、動きベクトルに基づく動き補償予測にて生成される画面に対し、当該画面に対する動きベクトルに基づいて、当該動きベクトルによる前記電子透かしのパターンの移動を打ち消す打ち消しパターンを埋め込む必要があるかどうかを判断する処理と、
前記打ち消しパターンを埋め込む必要があると判断した場合に、予め所定の記憶手段に格納された、現れ得る前記打ち消しパターンの周波数変換された値を格納したパターンテーブル群の中から適当なパターンテーブルを選択し、処理対象の画面に埋め込む処理と
を含むことを特徴とする請求項１６に記載のプログラム。
【請求項１９】
コンピュータを制御して、周波数変換及び量子化を含む情報圧縮の施された動画データに対して電子透かしの除去を行うプログラムであって、
前記情報圧縮の施された動画データに対して逆量子化を行い、所定の記憶手段に格納する処理と、
前記所定の記憶手段に格納された、逆量子化された前記動画データに埋め込まれている動き補償予測に対応する可視的な電子透かしのパターンを除去し、所定の記憶手段に格納する処理と、
前記所定の記憶手段に格納された、電子透かしを除去された前記動画データを量子化する処理と
を前記コンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動画データのセキュリティに関し、特に再生画像にコンテンツとは別の画像を重ねて表示する可視透かしに関する。
【０００２】
【従来の技術】
デジタルデータを扱う場合、不正なアクセスを防止するため、データの暗号化等の様々なセキュリティ手段が用いられる。画像データに対するセキュリティ手段としては、正当な権限のないユーザがコンテンツを再生して利用することを防止するため、再生画像上にコンテンツとは無関係の画像を重ねて表示する可視透かしを画像データに埋め込む技術も用いられる。
【０００３】
可視透かしは、画像に電子透かしを埋め込む技術を応用して実現される。すなわち、著作権保護、不正使用のトラッキング、データの改ざん検出のために画像に不可視の透かし情報（Ｆｉｎｇｅｒｐｒｉｎｔｉｎｇ等）を埋め込む手法を用いて、不可視の透かし情報の代わりに、または不可視の透かし情報に加えて、可視的な透かしパターンを埋め込む（例えば、特許文献１参照）。このようにすれば、可視透かしを埋め込まれたビデオコンテンツは、再生しても本来の動画像上に可視透かしのパターンが表示されるため、閲覧に支障を来すこととなる。したがって、正当な権限のあるユーザに対して、この可視透かしを除去するための情報を与えることにより、当該正当な権限のあるユーザのみが本来の動画像を再生して閲覧可能なシステムを構築できる。
【０００４】
画像データを暗号化する場合は、当該暗号を解除できなければ、画像を全く再生することができないが、可視透かしによって画像をマスクする場合は、画面全体を覆って再生画像を全く認知できなくするものや、画面の一部を隠して、コンテンツの内容を推定できるようにするものなど、目的に応じて種々の態様を実現できるため、利用性が高いと言える。
図１５は、コンテンツである画像を表示した画面と、当該画像と共に当該画像の一部を隠す可視透かしを表示した画面の例を示す図である。
【０００５】
従来、ＪＰＥＧ形式等の静止画データに対しては、可視透かしを画像データに埋め込み、除去する完全に可逆な方法がある（例えば、特許文献１参照）。しかし、ビデオコンテンツをデジタルデータ化した動画データに対しては、効果的な可視透かしの埋め込み方法は提案されていない。
【０００６】
ビデオのような動画データは、データ量が膨大となるため、情報圧縮した形で扱う（保管、処理、転送等）ことが一般的である。ＤＶＤビデオなどで用いられるＭＰＥＧ形式の場合、動画データは、ＤＣＴ（離散コサイン変換）を用いた符号化と、動き補償フレーム間の予測符号化とによって情報圧縮が行われる（例えば、非特許文献１参照）。
【０００７】
【特許文献１】
特許第３２６９０１５号公報
【非特許文献１】
藤原洋監修／マルチメディア通信研究会編，「ポイント図解式最新ＭＰＥＧ教科書」，アスキー，１９９４年７月２６日
【０００８】
【発明が解決しようとする課題】
上記のように、動画データは通常、情報圧縮されているため、可視透かしの埋め込みを行う場合、次のように、情報圧縮しない状態の動画データに可視透かしを埋め込むことにより、動画データ全体に可視透かしを埋め込む方法も考えられる。
１．動画データの画素値に対して可視透かしを埋め込んだ後に情報圧縮を行う。可視透かしの除去は動画データを画素値に戻した後に行う。
２．情報圧縮された動画データを一時的に画素値に戻して可視透かしを埋め込み、再び情報圧縮を行う。可視透かしの除去も同様に、一時的に情報圧縮された動画データを画素値に戻して透かしを除去した後、情報圧縮し直す。
【０００９】
上記１の方法の場合、動画データに対して可視透かしの埋め込みや除去を行うために、情報圧縮前の膨大なサイズのデータを扱うこととなり、処理を行う上でハードウェアに多大な負荷を要するという問題がある。
また、上記２の方法の場合、例えば、ＭＰＥＧではＤＣＴ（離散コサイン変換）を用いて情報圧縮を行っており、ＤＣＴ＋量子化（Ｑｕａｎｔｉｚａｔｉｏｎ）は不可逆的な処理である。そのため、可視透かしの埋め込みや除去のために情報圧縮された動画データを画素値に戻す度に画像が劣化してしまうという問題がある。
【００１０】
そこで本発明は、上記の問題に鑑み、圧縮された状態の動画データに対して可視透かしの埋め込み及び除去を行う手段を提供することを目的とする。
また本発明は、圧縮された動画データに対する可視透かしの埋め込み及び除去において、完全な可逆性を実現することを他の目的とする。
【００１１】
【課題を解決するための手段】
上記の目的を達成する本発明は、次のように構成された動画データ処理装置として実現される。すなわち、この動画データ処理装置は、周波数変換及び量子化を含む情報圧縮の施された動画データに対して逆量子化を行う逆量子化手段と、この逆量子化手段により逆量子化された動画データに対して動き補償予測に対応する可視的な電子透かしのパターンを生成して埋め込む透かし埋め込み手段と、この透かし埋め込み手段により電子透かしが埋め込まれた動画データを量子化する量子化手段とを備える。
【００１２】
より詳細には、この透かし埋め込み手段は、動画データを構成する画面のうち、全ての画素に関する画素値を情報として持つ画面に対して、電子透かしのパターンを埋め込むイントラブロック処理手段と、動画データを構成する画面のうち、動きベクトルに基づく動き補償予測にて生成される画面に対して、この動きベクトルによる電子透かしのパターンの移動を打ち消す打ち消しパターンを埋め込む動き補正手段とを備える。
【００１３】
さらに具体的には、この動き補正手段は、打ち消しパターンの画像イメージを生成し、画像イメージを周波数変換して、処理対象の画面に埋め込む。あるいは、現れ得る打ち消しパターンに関して、周波数変換された打ち消しパターンのパターンテーブルを予め用意しておき、処理対象の画面に対して適当なパターンテーブルを選択して埋め込む。
【００１４】
また、本発明の他の動画データ処理装置は、ＤＣＴ（離散コサイン変換）及び量子化を含む情報圧縮の施された動画データに対して逆量子化を行う逆量子化手段と、この逆量子化手段により逆量子化された動画データに対して、ＤＣＴ係数に変換された電子透かしのパターンを埋め込む透かし埋め込み手段と、この透かし埋め込み手段により電子透かしが埋め込まれた動画データを量子化する量子化手段とを備えることを特徴とする。
【００１５】
また上記の目的を達成する他の本発明は、コンピュータを用いて、周波数変換及び量子化を含む情報圧縮の施された動画データに対して電子透かしの埋め込みを行う次のような動画データ処理方法としても実現される。すなわち、この動画データ処理方法は、情報圧縮の施された動画データに対して逆量子化を行い、所定の記憶手段に格納する第１のステップと、逆量子化された動画データに対して動き補償予測に対応する可視的な電子透かしのパターンを埋め込み、所定の記憶手段に格納する第２のステップと、電子透かしを埋め込まれた動画データを量子化する第３のステップとを含むことを特徴とする。
【００１６】
また、本発明の他の動画データ処理方法は、コンピュータを用いて、上記の電子透かしを動画データから除去する方法であって、情報圧縮の施された動画データに対して逆量子化を行い、所定の記憶手段に格納するステップと、逆量子化された動画データに埋め込まれている動き補償予測に対応する可視的な電子透かしのパターンを除去し、所定の記憶手段に格納するステップと、電子透かしを除去された動画データを量子化するステップとを含むことを特徴とする。
【００１７】
さらに本発明は、コンピュータを制御して上述した動画データ処理装置として機能させるプログラム、あるいは上記の動画データ処理方法の各ステップに対応する処理をコンピュータに実行させるプログラムとしても実現される。このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供することができる。
【００１８】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいて、この発明を詳細に説明する。
以下の説明では、動画データのデータ形式がＭＰＥＧ−２である場合を例として説明するが、この他、ＤＣＴ符号化及び動き補償フレーム間の予測符号化とによって情報圧縮が行われる種々の形式の動画データに適用可能であることは言うまでもない。
【００１９】
図１は、本実施の形態による電子透かし（可視透かし。以下、単に透かしと称す）の埋め込み及び除去を実行可能なコンピュータ装置のハードウェア構成の例を模式的に示した図である。
図１に示すコンピュータ装置は、演算手段であるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央処理装置）１０１と、Ｍ／Ｂ（マザーボード）チップセット１０２及びＣＰＵバスを介してＣＰＵ１０１に接続されたメインメモリ１０３と、同じくＭ／Ｂチップセット１０２及びＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）を介してＣＰＵ１０１に接続されたビデオカード１０４と、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスを介してＭ／Ｂチップセット１０２に接続されたハードディスク１０５、ネットワークインターフェイス１０６、及び画像を入力するキャプチャカード１１０と、さらにこのＰＣＩバスからブリッジ回路１０７及びＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バスなどの低速なバスを介してＭ／Ｂチップセット１０２に接続されたフロッピーディスクドライブ１０８及びキーボード／マウス１０９とを備える。
なお、図１は本実施の形態を実現するコンピュータ装置のハードウェア構成を例示するに過ぎず、本実施の形態を適用可能であれば、他の種々の構成を取ることができる。例えば、ビデオカード１０４を設ける代わりに、ビデオメモリのみを搭載し、ＣＰＵ１０１にてイメージデータを処理する構成としても良いし、外部記憶装置として、ＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）やＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）などのインターフェイスを介してＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅｃｏｒｄａｂｌｅ）やＤＶＤ−ＲＡＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のドライブを設けても良い。
【００２０】
図２は、本実施の形態による透かしの埋め込み及び除去を実現する動画データ処理装置の機能構成を示す図である。
図２に示すように、本実施の形態の動画データ処理装置は、ＭＰＥＧ−２形式の動画データ（以下、ＭＰＥＧデータと称す）から動画（映像）を再生すると共に動画（映像）からＭＰＥＧデータを生成するための量子化／逆量子化演算部１０及びＤＣＴ／逆ＤＣＴ演算部２０と、動画データに対して透かしの埋め込み及び除去を実行する透かし埋め込み／除去演算部３０と、ＭＰＥＧデータの入出力を行う動画データ入出力部４０と、量子化／逆量子化演算部１０及びＤＣＴ／逆ＤＣＴ演算部２０にて再生された動画をディスプレイ装置に表示する画像出力部５０と、動画（映像）を入力する画像取得部６０とを備える。
【００２１】
上記各構成要素のうち、量子化／逆量子化演算部１０、ＤＣＴ／逆ＤＣＴ演算部２０及び透かし埋め込み／除去演算部３０は、例えば図１におけるプログラム制御されたＣＰＵ１０１にて実現される仮想的なソフトウェアブロックである。ＣＰＵ１０１を制御するプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供することができる。
また、動画データ入出力部４０は、動画データを図１に示したハードディスク１０５等に格納する場合は、プログラム制御されたＣＰＵ１０１の機能として提供されるハードディスクコントローラで実現され、動画データを外部装置との間で、例えばストリーミング形式で入出力する場合は、ネットワークインターフェイス１０６で実現される。
画像出力部５０は、例えば図１に示したビデオカード１０４にて実現され、画像取得部６０は、例えば図１に示したキャプチャカード１１０にて実現される。
【００２２】
さて、ＭＰＥＧ−２では、画面をＩ（Ｉｎｔｒａ  ｃｏｄｅｄ）ピクチャ、Ｐ（Ｐｒｅｄｉｃｔｉｖｅ  ｃｏｄｅｄ）ピクチャ、Ｂ（Ｂｉｄｉｒｅｃｔｉｏｎａｌｌｙ  ｐｒｅｄｉｃｔｉｖｅ  ｃｏｄｅｄ）ピクチャの３種類に分類している。そして、上述したように、ＤＣＴ符号化と動き補償フレーム間の予測符号化とにより画像データの圧縮を行う。また、インターレース画像を対象としているＭＰＥＧ−２では、インターレースされた２つのフィールドの画面単位に符号化を行う場合と、インターレースされた２つのフィールドを合成したフレームの画面単位に符号化を行う場合とがある。
ＭＰＥＧ−２における３種類の画面のうち、Ｉピクチャは、画面上の全ての画素値を情報として持ち、他の画面とは独立に符号化される。Ｐピクチャは、時間的に過去のＩピクチャまたはＰピクチャを参照フレームとして予測符号化（Ｉピクチャからの順方向予測値との差分を符号化）が行われる。Ｂピクチャは、時間的に前後のＩピクチャ及びＰピクチャを参照フレームとして予測符号化（Ｉ、Ｐピクチャからの双方向予測値との差分を符号化）が行われる。
【００２３】
ＤＣＴ符号化では、まず入力画像をＲＧＢ等の色成分ごとに８×８画素のブロックに分割し、各ブロックを８×８行列データとしてＤＣＴ変換する。変換した結果各ブロックは８×８のＤＣＴ係数となる。ＭＰＥＧ−２では、４つのブロックをグループとしたマクロブロック（１６×１６画素）を符号化の単位としている。
予測符号化では、マッチングなどにより参照フレームからマクロブロックごとの動きベクトルを予測する動き補償予測が行われる。そして、参照フレームの画素と対応する予測対象フレームの画素との差分を符号化する。
ＤＣＴ符号化によって符号化されたマクロブロックをイントラブロックと呼び、予測符号化によって符号化されたマクロブロックを非イントラブロックと呼ぶ。Ｉピクチャはイントラブロックのみで構成され、Ｐピクチャ及びＢピクチャはイントラブロックと非イントラブロックとで構成される。
これらの符号化の後、当該符号化されたデータが量子化され、ハフマン符号化等による符号化が行われてＭＰＥＧデータが生成される。
【００２４】
上記の構成において、量子化／逆量子化演算部１０は、ＭＰＥＧデータに対して逆量子化を行って動画データを構成する各画面のブロック（ＤＣＴの対象である８×８画素のブロック）を抽出する。このブロックの実体は上述したＤＣＴ係数である。また、動画を処理して得られた画面のブロックを量子化してＭＰＥＧデータを生成する。
ＤＣＴ／逆ＤＣＴ演算部２０は、圧縮されていない動画データに対してＤＣＴ符号化及び予測符号化を行って画面ごとのブロックのセットを生成する。また、量子化／逆量子化演算部１０にてＭＰＥＧデータを変換して抽出されたブロックを復号し、動画データを構成する各画面の画素値を生成する。この生成された画素値に基づいて動画の再生が行われることとなる。
【００２５】
透かし埋め込み／除去演算部３０は、動画データに対して透かしの埋め込み及び除去を行う。本実施の形態では、扱うデータのサイズが膨大になることを防ぐため、また動画データの圧縮を解除して再圧縮する際に画像が劣化してしまうことを防ぐため、圧縮された状態の動画データに対して直接、透かしの埋め込みを行う。具体的には、ＭＰＥＧデータをデコード（ハフマン符号化データの復号）し、逆量子化によってブロックを抽出し、このブロックに対してＤＣＴ係数を直接操作することによって透かしの埋め込みを行う。この処理は、浮動小数点誤差を生じる逆ＤＣＴ及びＤＣＴを行うことなくＭＰＥＧデータに透かしを埋め込むことができるので、画像の劣化を伴わない。
【００２６】
本実施の形態では、上記のようにＭＰＥＧデータから抽出されるブロックのＤＣＴ係数を操作して透かしを埋め込む。したがって、透かしのパターン（画像）はイントラブロックに埋め込まれることとなる。非イントラブロックでは、マクロブロック毎に定義される動きベクトルによってイントラブロックを移動させた部分との差分が符号化される。そのため、イントラブロックに埋め込まれた透かしが非イントラブロックを含むＰ、Ｂピクチャでは移動してしまい、動画全体で透かしが静止しないという問題が生じる。
【００２７】
図３は、ブロックにおける動きベクトルの影響を説明する図である。
図３において、参照フレームの左上のブロック（マクロブロック）が図示の動きベクトルによって移動すると、Ｐ、Ｂブロックでは、右下のブロックに埋め込まれた透かしパターンの一部が左上のブロックに表示されてしまう。そこで、Ｐ、Ｂピクチャでは、動きベクトルによる透かしパターンの移動を打ち消すためのＤＣＴ係数を加えた後に改めて透かしパターンを埋め込む必要がある。
【００２８】
図４は、透かし埋め込み／除去演算部３０の構成を示す図である。
図４に示すように、透かし埋め込み／除去演算部３０は、イントラブロックに対して透かしの埋め込みを行うイントラブロック処理部３１と、非イントラブロックを含むＰ、Ｂピクチャに対する動きベクトルを考慮した透かしの埋め込みを行う動き補正部３２とを備える。
【００２９】
イントラブロック処理部３１は、ＪＰＥＧ等の静止画データに対する透かしの埋め込み及び除去と同様の手法（例えば、特許文献１に開示された手法）でイントラブロックに対して透かしの埋め込み及び除去を行う。
すなわち、イントラブロック処理部３１は、まず透かしの埋め込み及び除去の両方の操作に必要な鍵を生成する。鍵は、マークドットパターン情報、可視データ埋め込み開始位置、マークサイズ、マーク濃度、マークの色、ランダムパターン情報（鍵を持たない攻撃者による可逆性を困難にするためのもの）を含む。透かしの埋め込み及び除去の操作は、全てこの鍵に含まれる情報に基づいて行われる。
イントラブロックに対する透かしパターンの埋め込みは、鍵から得られるドットパターンを原画像上にマッピングすることで行う。本実施の形態では、透かし埋め込み／除去演算部３０は、逆ＤＣＴ変換されていない状態のＭＰＥＧデータに対して透かしの埋め込みを行うので、イントラブロック処理部３１は、鍵から得られるドットパターンをＤＣＴ係数に変換した上で、イントラブロックに加算する。そして、透かしパターンの埋め込まれているイントラブロックから当該透かしパターンを除去する場合、同一の鍵を用いて得られるドットパターンをＤＣＴ変換してイントラブロックから減算する操作により、原画と全く同じ状態に戻すことができる。すなわち可逆的である。
【００３０】
動き補正部３２は、イントラブロック処理部３１によりイントラブロックに対して埋め込まれた透かしパターンがＰ、Ｂピクチャにおける動き補償予測の動きベクトルによって動いてしまうので、これに対応するため、動きベクトルによる影響を打ち消す打ち消しパターン（除去すべき透かしのパターン）を生成し、当該Ｐ、Ｂピクチャを構成する各ブロックに埋め込む。
本実施の形態では、打ち消しパターンを生成する方式として、各マクロブロックの動きベクトルに基づいて打ち消しパターンの画像イメージを生成し、周波数変換して原画像のドットパターンに埋め込む方式（以下、方式１）と、透かしパターンに条件を付けておくことにより必要となる打ち消しパターンを限定し、予め打ち消しパターンのパターンテーブルを用意しておき、適当な打ち消しパターンを原画像のドットパターンに埋め込む方式（以下、方式２）とを提案する。以下、それぞれの方式について詳細に説明する。
【００３１】
＜方式１＞
打ち消しパターンの生成においては、次のような点を考慮する必要がある。
・マクロブロック毎に順方向予測と逆方向予測のための動きベクトルがあり（図５参照）、これに加えてインターレース画像のための奇数ライン用と偶数ライン用の動きベクトルがあるため、最大４種類の動きベクトルが定義できる（ＭＰＥＧ−２の場合）。
・透かしを打ち消す操作は、ＤＣＴ係数に対して行う必要があり、したがって、生成したブロックごと（８×８画素）のパターンに対して動的に浮動小数点演算を含むＤＣＴを行う必要がある。
・透かしを除去する際には、これらの処理を所定の時間内に行う必要がある。（通常は１秒間に３０枚の画像）
・動きベクトルは画素と画素の間（ハーフ・ペル）に対して定義可能であり、これに対応するための補間処理が必要となる。図６に、ハーフ・ペルに対する補間のパターンを示す。図６において、位置１、位置２、位置４、位置５はそれぞれ上下左右の２つの画素に対する補間となり、位置３は４つの画素に対する補間となる。
【００３２】
以上の点を踏まえて、打ち消しパターンを生成し、透かしパターンとしてＰ、Ｂピクチャの各ブロックに埋め込む動作を説明する。
図７は、方式１によって打ち消しパターンを生成する場合の透かしの埋め込み手順を示すフローチャートである。
初期設定として、画面の各ブロックにおける透かしの有無の判定に用いるために、画面全体の透かしイメージを示すテーブルを予め作成しておく。
図７に示すように、動き補正部３２は、まず動きベクトルによってブロックが移動した位置に透かしがあるかどうかを判定する（ステップ７０１）。移動先に透かしがないならば、透かしの埋め込み処理は行わない。
一方、ブロックの移動先に透かしがある場合、動き補正部３２は、ハーフ・ペルを考慮して、動きベクトルによって移動した透かしの画像イメージ（打ち消しパターン）を生成する（ステップ７０２）。生成された画像イメージは、例えば図１に示したメインメモリ１０３の作業領域に保持される。次に、動き補正部３２は、全ての動きベクトルに対して作成した透かしの画像イメージを合成する（ステップ７０３）。合成された画像イメージは、例えば図１に示したメインメモリ１０３の作業領域に保持される。次に、動き補正部３２は、合成された画像イメージに対してＤＣＴを行い、周波数空間での打ち消しパターン（ＤＣＴ係数）を生成する（ステップ７０４）。生成された打ち消しパターンは、例えば図１に示したメインメモリ１０３の作業領域に保持される。この後、動き補正部３２は、生成された打ち消しパターンに基づいて、動きベクトルによって移動した打ち消し対象である透かしパターンを削除し（ステップ７０５）、イントラブロックに入れた透かしパターンと同様な透かしパターンを埋め込む（ステップ７０６）。
以上の操作を、処理対象のＰピクチャまたはＢピクチャの全ブロックに対して実行し、必要な打ち消しパターンと透かしパターンとが埋め込まれたならば、処理を終了する（ステップ７０７）。
【００３３】
＜方式２＞
方式１では、打ち消しパターンの画像イメージを作成し、当該画像イメージにＤＣＴを行って原画像のブロックに埋め込んだ。この方式では、透かしの埋め込み時に打ち消しパターンに対するＤＣＴを要するため、ハードウェアに対して相応の負荷がかかる。そこで、方式２では、透かしの埋め込み時のＤＣＴを省略してハードウェアにかかる負荷の軽減を図る。
まず、方式２では、動画データに埋め込まれる透かしのパターンに条件が与えられる。本実施の形態では、透かしパターンの１ドットを１つのマクロブロック（１６×１６画素）で表示するという条件を与えることとする。この条件を与えることによって、１つのマクロブロックの中に現れる透かしパターンは、１つの矩形または非常に限定された形の複数の矩形となる。そのため、動きベクトルを打ち消すための打ち消しパターンは、４種類の基本パターンとその組み合わせで全て生成することができる。
【００３４】
図８は、方式２で生成される打ち消しパターンの基本パターンを示す図、図９は、基本パターンに対して生成されるパターンテーブルを示す図、図１０は、図８の基本パターンを用いて得られる複合パターンを示す図である。
透かしパターンの１ドットを１つのマクロブロックで表示すると、図８に示すように、基本パターンは、ブロックの左上、右上、左下、右下のいずれかに現れる１つの矩形として表現される（以下、それぞれを基本パターン１、２、３、４と称す）。なお、マクロブロックの上辺や下辺、左片や右辺に現れる矩形、マクロブロック全体を覆う矩形は、基本パターン（例えばマクロブロックの左上に現れる矩形である基本ブロック１）の特殊な形と考えることができる。
【００３５】
基本パターン１を例として、パターンテーブルについて説明する。
基本パターン１は、８×８画素のブロックに対して、６４通りのサイズで現れ得る。そこで、図９に示すような６４種類のパターンテーブルを用意して、全ての基本パターン１に対応する。同様に基本パターン２、３、４に対しても、それぞれ６４種類のパターンテーブルを用意する。また、ノン・インターレース画面用とインターレース画面用とが必要なので、合計で５１２（＝６４×４×２）種類のパターンテーブルが用意されることとなる。なお、各基本パターン１、２、３、４において、打ち消しパターンがブロックの１辺全体にわたる場合やブロック全体を覆う場合については、各基本パターンで生成されるパターンテーブルが重複するので、これら重複するパターンテーブルを省略してパターンテーブルの数を減らしても良い。
これらのパターンテーブルは、全て透かしの埋め込みの実行に先立って生成し、ＤＣＴを行っておく。したがって、透かしの埋め込みを行う際には、動きベクトルを打ち消す打ち消しパターンを特定して、対応するパターンテーブルを参照するだけで、必要なＤＣＴ係数を得ることができる。すなわち、透かしの埋め込み時にＤＣＴを行う必要はない。
【００３６】
図１０（Ａ）は、基本パターン１と基本パターン４、基本パターン２と基本パターン３を加算して得られる複合パターンを示し、図１０（Ｂ）は、ブロック全体を覆う透かしパターンから基本パターン１、２、３、４をそれぞれ減算して得られる複合パターンである。
透かしパターンの１ドットを１つのマイクロブロックで表示するように条件付けをした場合、ブロックに現れる透かしのパターンは、これらの基本パターン及び複合パターンに必ず含まれる。したがって、以上のように、基本パターン１、２、３、４を組み合わせることで、ブロックに現れ得る全ての打ち消しパターンが表現できることとなる。
【００３７】
図１１は、方式２によって打ち消しパターンを生成する場合の透かしの埋め込み手順を示すフローチャートである。
初期設定として、画面の各ブロックにおける透かしの有無の判定に用いるために、画面全体の透かしイメージを示すテーブルを予め作成しておく。また、全ての基本パターンのパターンテーブル（５１２個）に対して、予めＤＣＴを行ってＤＣＴ係数を得ておく。このパターンテーブルは、例えば図１のメインメモリ１０３の作業領域に保持される。
図１１に示すように、動き補正部３２は、まず動きベクトルによってブロックが移動した位置に透かしがあるかどうかを判定する（ステップ１１０１）。移動先に透かしがないならば、透かしの埋め込み処理は行わない。
一方、ブロックの移動先に透かしがある場合、動き補正部３２は、打ち消しパターンに用いるべき基本パターンを判定し、縦および横方向への走査による透かしの大きさの情報を取得する（ステップ１１０２）。そして、得られた基本パターンのタイプと縦方向および横方向の大きさに基づいて、予め用意されたパターンテーブル群の中から、適当な基本パターンのパターンテーブルを選択する（ステップ１１０３）。次に、動き補正部３２は、必要な複合パターンを判定し、ステップ１１０３で選択された基本パターンのパターンテーブルを用いて計算（基本パターンの加算もしくは減算）を行って、当該複合パターンのパターンテーブルを生成する（ステップ１１０４）。生成されたパターンテーブルは、例えば図１に示したメインメモリ１０３の作業領域に保持される。次に、動き補正部３２は、全ての動きベクトルに対して、以上のようにパターンテーブルを生成し（ハーフ・ペルの場合は適宜補間を行う）、これに基づいて打ち消しパターンのパターンテーブル（輝度値と量子化係数）を算出する（ステップ１１０５）。この算出結果は、例えば図１に示したメインメモリ１０３の作業領域に保持される。この後、動き補正部３２は、算出結果であるパターンテーブルに基づいて、動きベクトルによって移動した打ち消し対象である透かしパターンを削除し（ステップ１１０６）、イントラブロックに入れた透かしパターンと同様な透かしパターンを埋め込む（ステップ１１０７）。
以上の操作を、処理対象のＰピクチャまたはＢピクチャの全ブロックに対して実行し、必要な打ち消しパターンと透かしパターンとが埋め込まれたならば、処理を終了する（ステップ１１０８）。
【００３８】
以上、方式１、２に示したように、本実施の形態では、イントラブロック処理部３１によるイントラブロックへの透かしパターンの埋め込みのみならず、動き補正部３２によって動きベクトルによる影響を打ち消す打ち消しパターンを生成し、必要なブロックに透かしパターンとして埋め込む。これによって、Ｐ、Ｂピクチャの動き補償予測によって透かしパターンが動いてしまうことを防ぐことができる。
【００３９】
次に、上記のように構成された動画データ処理装置によりビデオコンテンツに対して透かしの埋め込み／除去を行う際の処理の流れについて説明する。
図１２は、ＭＰＥＧ−２のビデオコンテンツに対して透かしの埋め込み／除去を行う処理の流れを示す図である。
図１２に示すように、動画データ処理装置の動画データ入出力部４０により、処理対象であるビデオコンテンツのＭＰＥＧ−２のプログラムストリームが入力されると、このビデオパケットからシーケンス層が取得され、さらにＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ）層が取得される。そして、このＧＯＰの各画面（ピクチャ）に関して、量子化／逆量子化演算部１０により、可変長コードの復号（ハフマン復号）が行われ、画面を構成するブロックが抽出されて逆量子化が行われる。
【００４０】
以上の操作によって、各画面についてＤＣＴにより周波数変換された状態のデータ（ＤＣＴ係数）のセットが得られる。このデータセットに対して、透かし埋め込み／除去演算部３０によって、透かしの埋め込みまたは除去が行われる。透かしを埋め込む場合について具体的には、上述したように、イントラブロック処理部３１及び動き補正部３２によって生成された透かしパターン（打ち消しパターンを含む）のＤＣＴ係数を、対応する各ブロックのデータセットに加算する。透かしを除去する場合は、反対に、各ブロックのデータセットから透かしパターンのＤＣＴ係数を減算する。
【００４１】
この後、所望のブロックに透かしの埋め込みまたは除去が行われた画面に対して、再び量子可／逆量子化演算部１０により、量子化が行われ、ブロックがスキャンされて可変長符号化（ハフマン符号化）が行われる。そして、この符号化された画面のデータに基づいてＧＯＰ層が生成され、シーケンス層を経てＭＰＥＧ−２のプログラムストリームが生成される。生成されたＭＰＥＧ−２のプログラムストリームは、動画データ入出力部４０により出力される。
【００４２】
以上のように、ＭＰＥＧデータに対して透かしの埋め込み／除去を行う過程で、ＭＰＥＧデータに対して逆量子化までは行われるが、ＤＣＴ／逆ＤＣＴ演算部２０による逆ＤＣＴ及びＤＣＴは行われない。浮動小数点誤差を含むＤＣＴを行わないことにより、本実施の形態による透かしの埋め込みは可逆性を持ち、画像を劣化させることなく完全に除去することができる。
【００４３】
また、以上の動作では、ＭＰＥＧデータに対して逆量子化を行った状態で、ブロックにＤＣＴにより周波数変換された透かしのデータの埋め込み／除去を行う場合について説明した。しかしながら、本実施の形態の応用として、ＭＰＥＧデータのＧＯＰ層の各画面を逆量子化せずに、各画面を構成するブロックに対して透かしデータの埋め込みまたは除去を行うこともできる。
図１３は、この場合の動画データ処理装置の機能構成を示す図である。
図１３に示す透かし埋め込み／除去演算部３０は、図２に示したように量子化／逆量子化演算部１０によって逆量子化されたＭＰＥＧデータに対して透かしの埋め込みや除去を行うのではなく、量子化／逆量子化演算部１０による処理の前段階で、動画データ入出力部４０にて入力されたＭＰＥＧデータに対して透かしの埋め込み、あるいは除去を行う。透かし埋め込み／除去演算部３０を構成するイントラブロック処理部３１及び動き補正部３２は、ブロックに埋め込む透かしのイメージ（あるいはそのパターンテーブル）を周波数変換するのみならず、さらに量子化して各ブロックのデータセットに加算（または減算）する。この場合でも、透かしの埋め込みまたは除去の操作は、不可逆な処理であるＭＰＥＧデータへの量子化＋ＤＣＴという処理を経ずに行うことができる。したがって、画像を劣化させることなく透かしを埋め込み、かつ除去することが可能である。
【００４４】
次に、本実施の形態による動画データ処理装置の適用例について説明する。
図１４は、本実施の形態による透かしの埋め込み／除去を適用したビデオコンテンツの配信システムの構成例を示す図である。
図１４において、サーバ１４１０は、インターネット１４０１を経由してユーザ端末１４２０へビデオコンテンツを配信する。サーバ１４１０には、アプリケーションサーバ１４１１とビデオサーバ１４１２とが設けられる。このビデオサーバ１４１２及びユーザ端末１４２０が、本実施の形態による動画データ処理装置として機能する。すなわち、ビデオサーバ１４１２は、配信対象であるビデオコンテンツに対して透かしパターンを埋め込む。透かしパターンの埋め込みには、透かしパターンを特定するマークドットパターン情報等が含まれた所定の鍵が用いられる。また、ユーザ端末１４２０は、サーバ１４１０のアプリケーションサーバ１４１１にアクセスして認証を受け、透かしの除去に必要な鍵を取得する。そして、ビデオサーバ１４１２から配信されるビデオコンテンツを受信し、先に取得した鍵を用いて当該ビデオコンテンツから透かしパターンを除去し、当該ビデオコンテンツを再生する。
アプリケーションサーバ１４１１において認証をパスしなかったユーザ端末１４２０は、ビデオコンテンツから透かしパターンを除去できないため、当該ビデオコンテンツを再生しても本来の動画像を閲覧することができない。
【００４５】
なお、本実施の形態では、透かしの埋め込み／除去において画像の劣化が生じないので、ユーザ端末１４２０においてビデオコンテンツから可視透かしを除去した際に、代わりに当該ユーザ端末１４２０を特定する情報を含む不可視の透かしを当該ビデオコンテンツに埋め込むといった操作が可能である。このようにすれば、サーバ１４１０からの正式な配信とは別にビデオコンテンツが流出した場合に、流出元を容易に特定することが可能となる。
【００４６】
【発明の効果】
以上説明したように、本発明によれば、圧縮された状態の動画データに対して可視透かしの埋め込み及び除去を行うことが可能となる。
また本発明によれば、圧縮された動画データに対する可視透かしの埋め込み及び除去において、完全な可逆性を実現することができる。
【図面の簡単な説明】
【図１】本実施の形態による電子透かしの埋め込み及び除去を実行可能なコンピュータ装置のハードウェア構成の例を模式的に示した図である。
【図２】本実施の形態による透かしの埋め込み及び除去を実現する動画データ処理装置の機能構成を示す図である。
【図３】ブロックにおける動きベクトルの影響を説明する図である。
【図４】本実施の形態の透かし埋め込み／除去演算部の構成を示す図である。
【図５】動きベクトルの種類を説明する図である。
【図６】ハーフ・ペルに対する補間のパターンを説明する図である。
【図７】本実施の形態の方式１によって打ち消しパターンを生成する場合の透かしの埋め込み手順を示すフローチャートである。
【図８】本実施の形態の方式２で生成される打ち消しパターンの基本パターンを示す図である。
【図９】図８の基本パターンに対して生成されるパターンテーブルを示す図である。
【図１０】図８の基本パターンを用いて得られる複合パターンを示す図である。
【図１１】本実施の形態の方式２によって打ち消しパターンを生成する場合の透かしの埋め込み手順を示すフローチャートである。
【図１２】本実施の形態によりＭＰＥＧ−２のビデオコンテンツに対して透かしの埋め込み／除去を行う処理の流れを示す図である。
【図１３】動画データ処理装置の他の機能構成例を示す図である。
【図１４】本実施の形態による透かしの埋め込み／除去を適用したビデオコンテンツの配信システムの構成例を示す図である。
【図１５】コンテンツである画像を表示した画面と、当該画像と共に当該画像の一部を隠す可視透かしを表示した画面の例を示す図である。
【符号の説明】
１０…量子化／逆量子化演算部、２０…ＤＣＴ／逆ＤＣＴ演算部、３０…透かし埋め込み／除去演算部、３１…イントラブロック処理部、３２…動き補正部、１０１…ＣＰＵ、１０３…メインメモリ、１０５…ハードディスク、１０６…ネットワークインターフェイス
【図１】
2004336529.tif 000003
【図２】
2004336529.tif 000004
【図３】
2004336529.tif 000005
【図４】
2004336529.tif 000006
【図５】
2004336529.tif 000007
【図６】
2004336529.tif 000008
【図７】
2004336529.tif 000009
【図８】
2004336529.tif 000010
【図９】
2004336529.tif 000011
【図１０】
2004336529.tif 000012
【図１１】
2004336529.tif 000013
【図１２】
2004336529.tif 000014
【図１３】
2004336529.tif 000015
【図１４】
2004336529.tif 000016
【図１５】
2004336529.tif 000017