(57)【要約】【課題】データ量を変化させることなく、フレーム間予測符号化動画像データに対して、任意のデータを埋め込む装置を提供すること。【解決手段】フレーム間予測符号化動画像データを記憶する動画像記憶手段と、前記フレーム間予測符号化動画像データに埋め込む埋め込みデータを記憶する埋め込みデータ記憶手段と、前記フレーム間予測符号化動画像データにおけるフレームデータ毎に含まれ半画素精度動き方向ベクトルにおいて丸め誤差が累積することを防止するための丸め方向フラグの値１ビットに対して、前記埋め込みデータ１ビットを埋め込む埋め込み手段と、を備える。【選択図】　図３
2004080181.tif 000002
【特許請求の範囲】
【請求項１】
フレーム間予測符号化動画像データを記憶する動画像記憶手段と、
前記フレーム間予測符号化動画像データに埋め込む埋め込みデータを記憶する埋め込みデータ記憶手段と、
前記フレーム間予測符号化動画像データにおけるフレームデータ毎に含まれた丸め方向フラグに対して、前記埋め込みデータを埋め込む埋め込み手段と、
を備えるデータ埋め込み装置。
【請求項２】
前記埋め込み手段は、
前記丸め方向フラグの値と前記埋め込みデータの値との排他的論理和を演算する排他的論理和演算手段と、
前記フレーム間予測符号化動画像データに含まれる値であって前記排他的論理和演算手段の入力として用いられた丸め方向フラグの値を、前記排他的論理和演算手段の演算結果の値に置き換える置換手段と、を含む請求項１に記載のデータ埋め込み装置。
【請求項３】
前記埋め込み手段は、
前記埋め込みデータを複数のサブ埋め込みデータに分割する分割手段と、
前記フレーム間予測符号化動画像データに含まれる丸め方向フラグにおける１と０との分布が略均等となるように、前記サブ埋め込みデータを反転すべきか否かを判断する反転判断手段と、
前記反転判断手段の判断に従って、該当するサブ埋め込みデータを反転する反転手段と、
前記反転手段によって反転されたサブ埋め込みデータ又は反転されないサブ埋め込みデータを、このサブ埋め込みデータのビット数と同数の連続したフレームにおける丸め方向フラグと置き換える置換手段と、を含む請求項１に記載のデータ埋め込み装置。
【請求項４】
埋め込みデータが丸め方向フラグに埋め込まれたフレーム間予測符号化動画像データを記憶する動画像記憶手段と、
埋め込みデータが埋め込まれる前のフレーム間予測符号化動画像データの連続したフレームにおける丸め方向フラグのビットパターンを特定するためのビットパターン情報を記憶するパターン記憶手段と、
前記ビットパターン情報により特定されるビットパターンと、前記フレーム間予測符号化動画像データの丸め方向フラグの値との排他的論理和を演算する演算手段と、
を備えるデータ取り出し装置。
【請求項５】
埋め込みデータが埋め込まれたフレーム間予測符号化動画像データを記憶する動画像記憶手段と、
前記フレーム間予測符号化動画像データにおける連続したフレームを複数のサブフレームに分割するフレーム分割手段と、
前記サブフレームの各フレームから、フレーム間予測符号化動画像データの丸め方向フラグの値を取り出す取り出し手段と、
前記サブフレームにおける丸め方向フラグの値を反転すべきか否かを判断する反転判断手段と、
前記反転判断手段の判断に従って、該当するサブフレームにおける丸め方向フラグの値を反転し埋め込みデータとして出力する反転手段と、
を備えるデータ取り出し装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、符号化動画像に対し情報を埋め込む装置、又は符号化動画像に埋め込まれた情報を読み出す装置に関する。
【０００２】
【従来の技術】
従来、フレーム間予測符号化動画像データ（以後「符号化動画像データ」と呼ぶ）に対し、データを埋め込む技術がある。符号化動画像データを生成する技術の例として、ＩＳＯ／ＩＥＣ　ＭＰＥＧ−１／２／４や、ＩＴＵ−Ｔ　Ｈ．２６３　Ｖｅｒｓｉｏｎ．２などがある。
【０００３】
符号化動画像データに埋め込まれるデータの例としてメタデータがある。メタデータとは、メディアの性質や特徴などを記述するためのデータ、即ちデータに関するデータである。メタデータを符号化動画像データに埋め込むことにより、個々のユーザに対して動画像に関係する情報を通知し、ユーザの利便性を向上させるサービスを行うことが可能となる。
【０００４】
【発明が解決しようとする課題】
ところで、個々のユーザに対応したメタデータを符号化動画像データに埋め込んでユーザに提供する場合、埋め込むメタデータはユーザ毎に変化する。このため、事前にメタデータを埋め込んである符号化動画像データを用意することはできない。即ち、ユーザの要求に対応したメタデータを、ユーザから符号化動画像データに対する要求がある度に、原画像データ（符号化されていない動画像データ）又は符号化動画像データに埋め込む必要がある。
【０００５】
また、データが埋め込まれた符号化動画像データを、ネットワークを通じてリアルタイムで送信し、他装置において表示（復号化）することを実現するためには、データが埋め込まれた符号化動画像データを生成する装置における負荷は少ない方が望ましい。
【０００６】
一般に、動画像データを符号化することは、装置に多大な負荷を要する。このため、原画像データに対してデータを埋め込んだ後に符号化する場合、装置に対する負荷が増大する。従って、この場合、データが埋め込まれた符号化動画像データを、ネットワークを通じてリアルタイムで送信することが困難となる。これに対し、符号化動画像データに対してデータを埋め込む場合、原画像データにデータを埋め込む場合に比べて、装置にかかる負荷が少ない。従って、リアルタイム送信のためには、後者が採用されることが望ましい。
【０００７】
また、データを埋め込む前の符号化動画像データのデータ量と、データを埋め込んだ後の符号化動画像データのデータ量とは同じであることが望ましい。以下、データ量が同じであることが望ましい理由を説明する。
【０００８】
符号化動画像データのリアルタイム配信では、パケット化のために符号化動画像データが分割される。このとき、任意の位置でデータが分割されると、伝送路でのエラー発生時に即座に後続する符号化動画像データを復号化することが困難となる。このため、通常、符号化動画像データを分析することにより、分割するためのデータ位置（通常、フレーム先頭）を検知する。ただし、ヒントトラックを用いることにより、符号化動画像データの分割位置を分析する必要が無くなる。ヒントトラックは、符号化動画像データをパケット化する際に、符号化動画像データを分割するデータ位置をあらかじめ示すものである。ヒントトラックが示す位置で符号化動画像データを分割することにより、符号化動画像データを分析することなく分割することが可能となる。これにより、符号化動画像データをパケット化するために必要な負荷が軽減される。
【０００９】
しかし、符号化動画像データのデータ量が変化すると、符号化動画像データを分割するためのデータ位置が変化する。このため、符号化動画像データのデータ量が変化すると、ヒントトラックを使用できなくなる。従って、符号化動画像データを分割するための分析が必要となり、パケット化するのに要する負荷が増加する。
【００１０】
本発明は、このような問題を解決し、データ量を変化させることなく、符号化動画像データに対して、任意のデータを埋め込む装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
上記問題を解決するため、本発明は以下のような構成をとる。本発明の第一の態様は、データ埋め込み装置であって、フレーム間予測符号化動画像データを記憶する動画像記憶手段と、前記フレーム間予測符号化動画像データに埋め込む埋め込みデータを記憶する埋め込みデータ記憶手段と、前記フレーム間予測符号化動画像データにおけるフレームデータ毎に含まれた丸め方向フラグに対して、前記埋め込みデータを埋め込む埋め込み手段と、を備える。
【００１２】
本発明の第一の態様によれば、フレーム間予測符号化動画像データの丸め方向フラグの値に対して、埋め込みデータが埋め込まれる。このため、埋め込みデータが埋め込まれる前のフレーム間予測符号化動画像データのデータ量と、埋め込みデータが埋め込まれた後のフレーム間予測符号化動画像データのデータ量とは変化しない。従って、データ量を変化させることなく、フレーム間予測符号化動画像データに対して、任意のデータを埋め込むことが可能となる。
【００１３】
また、本発明による第一の態様の前記埋め込み手段は、前記丸め方向フラグの値と前記埋め込みデータの値との排他的論理和を演算する排他的論理和演算手段と、前記フレーム間予測符号化動画像データに含まれる値であって前記排他的論理和演算手段の入力として用いられた丸め方向フラグの値を、前記排他的論理和演算手段の演算結果の値に置き換える置換手段と、を含むように構成されても良い。
【００１４】
また、本発明による第一の態様の前記埋め込み手段は、前記埋め込みデータを複数のサブ埋め込みデータに分割する分割手段と、前記フレーム間予測符号化動画像データに含まれる丸め方向フラグにおける１と０との分布が略均等となるように、前記サブ埋め込みデータを反転すべきか否かを判断する反転判断手段と、前記反転判断手段の判断に従って、該当するサブ埋め込みデータを反転する反転手段と、前記反転手段によって反転されたサブ埋め込みデータ又は反転されないサブ埋め込みデータを、このサブ埋め込みデータのビット数と同数の連続したフレームにおける丸め方向フラグと置き換える置換手段と、を含むように構成されても良い。
【００１５】
また、本発明による第二の態様は、データ取り出し装置であって、埋め込みデータが丸め方向フラグに埋め込まれたフレーム間予測符号化動画像データを記憶する動画像記憶手段と、埋め込みデータが埋め込まれる前のフレーム間予測符号化動画像データの連続したフレームにおける丸め方向フラグのビットパターンを特定するためのビットパターン情報を記憶するパターン記憶手段と、前記ビットパターン情報により特定されるビットパターンと、前記フレーム間予測符号化動画像データの丸め方向フラグの値との排他的論理和を演算する演算手段と、を備える。
【００１６】
また、本発明の第三の態様は、データ取り出し装置であって、埋め込みデータが埋め込まれたフレーム間予測符号化動画像データを記憶する動画像記憶手段と、前記フレーム間予測符号化動画像データにおける連続したフレームを複数のサブフレームに分割するフレーム分割手段と、前記サブフレームの各フレームから、フレーム間予測符号化動画像データの丸め方向フラグの値を取り出す取り出し手段と、前記サブフレームにおける丸め方向フラグの値を反転すべきか否かを判断する反転判断手段と、前記反転判断手段の判断に従って、該当するサブフレームにおける丸め方向フラグの値を反転し埋め込みデータとして出力する反転手段と、を備える。
【００１７】
【発明の実施の形態】
〔動作原理〕
本実施形態におけるデータ埋め込み装置は、符号化動画像データに含まれる動きベクトルの丸め方向フラグ（以下「丸め方向フラグ」と呼ぶ）に埋め込みデータを重畳する。まず、本実施形態の動作原理として、丸め方向フラグについて説明する。
【００１８】
〈丸め方向フラグ〉
丸め方向フラグは、ＩＳＯ／ＩＥＣ　ＭＰＥＧ−４やＩＴＵ−Ｔ　Ｈ．２６３Ｖｅｒｓｉｏｎ．２のように、低ビットレートの動画像符号化方法において採用されている。ＭＰＥＧ−４では、ＶＯＰ（Ｖｉｓｕａｌ　Ｏｂｊｅｃｔ　Ｐｌａｎｅ）ヘッダ内に存在するｖｏｐ＿ｒｏｕｎｄｉｎｇ＿ｔｙｐｅと呼ばれる１ビットのデータが丸め方向フラグである。また、Ｈ．２６３　Ｖｅｒｓｉｏｎ．２では、ＲＴＹＰＥと呼ばれる１ビットのデータが丸め方向フラグである。
【００１９】
ＭＰＥＧ−４やＨ．２６３　Ｖｅｒｓｉｏｎ．２はいずれも、フレーム間予測符号化法を行う。このため、ＭＰＥＧ−４やＨ．２６３　Ｖｅｒｓｉｏｎ．２では、動き予測において、半画素精度動きベクトルを導入することにより、動き予測効率を向上させている。数１〜数３は、動きベクトル（Ｖｘ，　Ｖｙ）と参照画像ｇ（ｘ，ｙ）とを用いて動き予測画像ｆ（ｘ，　ｙ）を導く式である。ただし、数１〜数３は、夫々Ｖｘ，Ｖｙ，Ｖｘ及びＶｙが半画素精度である場合の式である。
【００２０】
【数１】
2004080181.tif 000003
【００２１】
【数２】
2004080181.tif 000004
【００２２】
【数３】
2004080181.tif 000005
【００２３】
数１〜数３における除算では、演算結果の整数値への丸め方法が規定されている。具体的には、演算結果は、正の無限大方向に丸められる。このように演算結果が丸められることにより、誤差が生じる。この誤差、即ち丸め誤差は、フレーム毎に累積される。このため、連続したフレームでは、後のフレームになるにつれて、丸め誤差が累積する。従って、累積誤差が大きくなることにより、画面全体が赤色を帯びるなどの視覚的な劣化が生じる。
【００２４】
ＭＰＥＧ−４やＨ．２６３では、このような視覚的な劣化を防止するため、丸め方向フラグを導入している。丸め方向フラグは、前方予測フレーム毎に付与される１ビットの情報である。丸め方向フラグは、半画素精度動き方向ベクトルにおいて丸め誤差が累積することを防止するための情報である。丸め方向フラグを用いた場合における、半画素精度動きベクトルによる動き補償を、数４〜数６として示す。数４〜数６は、動きベクトル（Ｖｘ，　Ｖｙ）と参照画像ｇ（ｘ，　ｙ）と丸め方向フラグｒｏｕｎｄｉｎｇ（０／１）とを用いて動き予測画像ｆ（ｘ，　ｙ）を導く式である。ただし、数４〜数６は、夫々Ｖｘ，Ｖｙ，Ｖｘ及びＶｙが半画素精度である場合の式である。
【００２５】
【数４】
2004080181.tif 000006
【００２６】
【数５】
2004080181.tif 000007
【００２７】
【数６】
2004080181.tif 000008
【００２８】
丸め方向フラグの値が切り替わることにより、丸め方向が正の無限大又は負の無限大に切り替わる。フレーム毎に、丸め方向フラグが０又は１夫々５０％の確率で発生することにより、丸め誤差の影響が相殺され、復号画像での劣化が防止（回避）される。
【００２９】
本実施形態におけるデータ埋め込み装置は、この丸め方向フラグの値を変更することにより、１フレーム当たり１ビットのデータを埋め込む。このとき、丸め方向フラグはもともと１フレーム当たり１ビットのデータであるため、データが埋め込まれる前とデータが埋め込まれた後では、総データ量は一切変化しない。即ち、丸め方向フラグ１ビットに対し、埋め込みデータを１ビット埋め込む。ただし、丸め方向フラグの値が元の値から変更されるため、画像劣化が生じる可能性がある。即ち、丸め方向フラグの値は、もともと夫々５０％の確率で０又は１の値を持つが、丸め方向フラグの値がデータ埋め込みにより変更され、０又は１の値をどちらかに偏って持つこととなり、累積誤差が大きくなる可能性がある。
【００３０】
データ埋め込み後の丸め方向フラグの値における０，１の出現分布を１：１にすることにより、丸め方向フラグの値が偏ることを防ぎ、シーケンス全体における画像劣化を防ぐことが可能である。この場合、丸め誤差フラグの値は、実際の値から変更されるため、画素によって多少の誤差が発生する。しかし、シーケンス全体における画像劣化は防止される。例えば３００フレームの符号化動画像において、全フレームの丸め方向フラグを全て反転させた場合（全て反転している為、丸め方向フラグの値における０，１の出現分布は１：１である）の画素毎の誤差累積は最大でも１０程度であり、視覚的な劣化は感知されない。即ち、丸め方向フラグの値を元の値から書き換えたとしても、丸め方向フラグの値における０，１の出現分布を１：１に保つことにより、視覚的な画像劣化を防ぐことが可能となる。
【００３１】
また、ＭＰＥＧ−４やＨ．２６３などの動画像符号化方法では、ＤＣＴ（Ｄｉｓｃｒｅｔｅ　Ｃｏｓｉｎｅ　Ｔｒａｎｓｆｏｒｍ：離散コサイン変換）演算精度のミスマッチを解消するために、定期的（例えば２５６フレーム毎）にフレーム内符号化（イントラ符号化）を実行する。フレーム内符号化とは、フレーム内の情報のみから符号化することである。このため、フレーム内符号化では丸め誤差が発生しない。従って、フレーム内符号化が実行されることにより、丸め誤差の累積がリセットされる。
【００３２】
上記した理由により、丸め方向フラグの値における０，１の出現分布を１：１に保つことにより、実用上の問題が発生しない程度に視覚的な画像劣化を防ぐことが可能となる。
【００３３】
次に、本実施形態におけるデータ埋め込み装置が丸め方向フラグに埋め込みデータを重畳する処理の原理について説明する。本実施形態におけるデータ埋め込み装置は、単ビットデータ埋め込み処理又は複ビットデータ埋め込み処理のいずれかを実行することにより、埋め込みデータを丸め方向フラグに重畳する。単ビットデータ埋め込み処理により埋め込まれた埋め込みデータは、単ビットデータ取り出し処理によって取り出される。また、複ビットデータ埋め込み処理により埋め込まれた埋め込みデータは、複ビットデータ取り出し処理によって取り出される。
【００３４】
〈単ビットデータ埋め込み処理／単ビットデータ取り出し処理〉
単ビットデータ埋め込み処理は、埋め込みデータの各ビットを独立して扱うことから単ビットデータ埋め込み処理と呼ぶ。従って、単ビットデータ埋め込み処理は、一つの符号化動画像データに対して単ビット（１ビット）を埋め込む処理とは限定されない。即ち、単ビットデータ埋め込み処理によって、一つの符号化動画像データに対し、複数ビットからなる埋め込みデータが埋め込まれても良い。
【００３５】
図１は、単ビットデータ埋め込み処理及び単ビットデータ取り出し処理の原理を示す図である。図１を用いて、単ビットデータ埋め込み処理及び単ビットデータ取り出し処理の原理について説明する。
【００３６】
図１の上段は単ビットデータ埋め込み処理の原理を示す。また、Ｆ０〜Ｆ７は、フレーム番号を示す。即ち、Ｆ０〜Ｆ７の下に示される値は、各フレームにおける丸め方向フラグの値を示す。単ビットデータ埋め込み処理では、データ埋め込み装置は、元の符号化動画像データにおけるフレーム毎の丸め方向フラグ２０ａと埋め込みデータ２１ａとの排他的論理和（ＸＯＲ）を演算することにより、埋め込みデータ２１ａを符号化動画像データに埋め込み、埋め込み済符号化動画像データ２２ａを生成する。このとき、丸め方向フラグ２０ａのパターンは予め定義された複数のビットパターンのいずれかであり、いずれのビットパターンであるかが、埋め込み補助情報としてデータ取り出し装置に通知される。
【００３７】
図１の下段は単ビットデータ取り出し処理の原理を示す。まず、丸め方向フラグ２０ａが、埋め込み補助情報として、データ取り出し装置に通知される。そして、データ取り出し装置は、データ埋め込み済符号化動画像データ２２ａと丸め方向フラグ２０ａとの排他的論理和を演算することにより、埋め込みデータ２１ａを取り出す。
【００３８】
単ビットデータ埋め込み処理では、埋め込みデータにおいて１の値を持つビットが少ないことが前提となる。即ち、埋め込みデータの大多数のビットが０であることが前提となる。
【００３９】
このような単ビットデータ埋め込み処理／単ビットデータ取り出し処理は、例えばシーンカット先頭フレームに対し、シーンカット先頭フラグを付与するような場合に利用される。このとき、大多数の丸め方向フラグは変更されないため、丸め方向フラグの分布はほとんど変化しない。従って、視覚的な画像劣化は発生しない。
【００４０】
〈複ビットデータ埋め込み処理／複ビットデータ取り出し処理〉
図２は、複ビットデータ埋め込み処理及び複ビットデータ取り出し処理の原理を示す図である。図２を用いて、複ビットデータ埋め込み処理及び複ビットデータ取り出し処理の原理について説明する。
【００４１】
図２の上段は複ビットデータ埋め込み処理の原理を示す。複ビットデータ埋め込み処理では、埋め込みデータは、埋め込み周期Ｎに区切って用いられる。図２には、埋め込み周期Ｎ＝８である場合の処理を例として示す。このため、図２において、埋め込みデータは８ビット毎の埋め込み単位データ２１ｂ，２１ｃ等に区切られる。ｄ０〜ｄ７は、埋め込み単位データの０ビット目〜７ビット目であることを示す。また、Ｆ０〜Ｆ１７は、フレーム番号を示す。複ビットデータ埋め込み処理では、データ埋め込み装置は、丸め方向フラグ２０ｂに対し、埋め込み単位データ２１ｂや２１ｃを埋め込むことにより、埋め込み済符号化動画像データ２２ｂを生成する。
【００４２】
複ビットデータ埋め込み処理では、先頭からｎ番目（ｎ＝０，１，２，・・）の埋め込み単位データ毎に反転フラグｚｎの値が算出され、反転フラグｚｎの値に従って埋め込み単位データは、（Ｎ＋１）ｎ番目のフレームから（Ｎ＋１）ｎ＋Ｎ−１番目のフレームの丸め方向フラグ２０ｂに埋め込まれる。具体的には、反転フラグｚｎの値が０である場合は、ｎ番目の埋め込み単位データをそのまま（Ｎビットの０との排他的論理和の演算結果）丸め方向フラグの該当箇所（例えば、埋め込み単位データ２１ｂの場合、ｎ＝０であり該当箇所はＦ０〜Ｆ７）の値と置き換える。一方、反転フラグｚｎの値が１である場合は、ｎ番目の埋め込み単位データの全ビットを反転し（Ｎビットの１との排他的論理和の演算結果）、丸め方向フラグの該当箇所（例えば、埋め込み単位データ２１ｃの場合、ｎ＝１であり該当箇所はＦ９〜Ｆ１６）の値と置き換える。次に、反転フラグｚｎの値の算出方法について説明する。
【００４３】
反転フラグｚｎは、埋め込み単位データ毎に算出される。先頭からｎ番目の埋め込み単位データにおける反転フラグｚｎは、この埋め込み単位データにおける入力偏度ｘｎと、一つ前の埋め込み単位データにおける偏度累積ｙｎ−１とを用いて算出される。ｓｉｇｎ（ｘｎ）＊ｓｉｇｎ（ｙｎ）＞０の場合、ｚｎ＝１となる。一方、上記以外の場合、ｚｎ＝０となる。数７は、入力偏度ｘｎを求めるための式である。数８は、偏度累積ｙｎを求めるための式である。
【００４４】
【数７】
2004080181.tif 000009
【００４５】
【数８】
2004080181.tif 000010
【００４６】
入力偏度ｘｎは、処理の対象となる埋め込み単位データにおいて、１であるビットの個数が平均（Ｎ／２）からどれだけずれているかを表す。入力偏度ｘｎが０であれば、処理の対象となる埋め込み単位データにおいて、１であるビットの数が０であるビットの数と等しくなるため、元の符号化動画像の丸め込みフラグを全て上書きしたとしても０と１との出現頻度が１：１となる。従って、入力偏度ｘｎが０であれば、元の符号化動画像の丸め込みフラグを全て上書きしたとしても再生動画像の品質を大きく劣化させることが統計上無くなる。また、入力偏度ｘｎの値が正の場合は１の出現頻度が平均より大きい。一方、入力偏度ｘｎの値が負の場合は１の出現頻度が平均より小さい。この場合、入力偏度ｘｎの値を０に近づける必要がある。
【００４７】
偏度累積ｙｎは、一つ前の埋め込み単位データにおける、偏度累積ｙｎ−１と入力偏度ｘｎ−１とを用いて算出される。ただし、ｙ０＝０である。即ち先頭の埋め込み単位データにおける偏度累積ｙｎ（ｎ＝０）は０である。数８において、ｚ’ｎ−１は、ｚｎ−１に伴って決まる値であり、ｚｎ−１＝０であればｚ’ｎ−１＝１であり、ｚｎ−１＝１であればｚ’ｎ−１＝−１である。このようにして、埋め込み済符号化動画像データ２２ｂの（Ｎ＋１）ｎ番目のフレームから（Ｎ＋１）ｎ＋Ｎ−１番目のフレームの丸め方向フラグの値が生成される。
【００４８】
また、反転フラグｚｎの値は、判別情報として、埋め込み済符号化動画像データ２２ｂの（Ｎ＋１）ｎ−１（ｎ＝１，２，・・）番目のフレームの丸め方向フラグとして埋め込まれる。ｎ＝０の場合は、必ずｚ０＝０となるため、埋め込む必要がない。こうして、埋め込み済符号化動画像データ２２ｂが生成される。
【００４９】
上記説明では、ｘｎ−１，ｙｎ−１，ｚｎ−１の値を保持しておくことで、ｎ番目の偏度累積ｙｎの値を算出した。しかし、ｘｎ，ｙｎ，ｚｎの値を用いてｙｎ＋１の値をあらかじめ算出し、算出したｙｎ＋１の値を保持しておいても良い。ｙｎ＋１の値をあらかじめ算出して保持する場合、ｘｎ−１，ｙｎ−１，ｚｎ−１の値を保持しておく場合に比べて、保持しておくべきデータ量が少ない。このため、メモリの節約などを実現できる。従って、本実施形態では、ｘｎ，ｙｎ，ｚｎの値を用いてｙｎ＋１の値をあらかじめ算出し保持する方法を採用する。
【００５０】
図２の下段は複ビットデータ取り出し処理の原理を示す。複ビットデータ取り出し処理では、データ取り出し装置は、あらかじめ埋め込み周期Ｎの値を、埋め込み補助情報として通知されている。データ取り出し装置は、（Ｎ＋１）ｎ番目のフレームから（Ｎ＋１）ｎ＋Ｎ−１番目のフレームの丸め方向フラグの値を取り出す（ｎ＝０，１，２，・・）。そして、データ取り出し装置は、（Ｎ＋１）ｎ−１（ｎ＝１，２，・・）番目のフレームの丸め方向フラグの値がＮビット並んだビット列と、上記取り出した丸め方向フラグの値（判別情報）との排他的論理和を演算する。算出された値が、ｎ番目の埋め込み単位データとして扱われる。即ち、データ取り出し装置は、（Ｎ＋１）ｎ−１番目のフレームの丸め方向フラグの値が０であった場合、上記取り出した丸め方向フラグの値をそのままｎ番目の埋め込み単位データとして扱う。一方、データ取り出し装置は、（Ｎ＋１）ｎ−１番目のフレームの丸め方向フラグの値が１であった場合、上記取り出した丸め方向フラグの値を全て反転し、反転した結果をｎ番目の埋め込み単位データとして扱う。
【００５１】
ただし、ｎ＝０の場合、０番目のフレームからＮ−１番目のフレームの丸め方向フラグはそのまま埋め込み単位データとして扱われる。このようにして取り出された埋め込み単位データが全て一つのビット列として組み合わされ、埋め込みデータが復元される。
【００５２】
〔システム構成〕
次に、図を用いて本発明の実施形態におけるデータ埋め込み装置及びデータ取り出し装置について説明する。なお、本実施形態の説明は例示であり、本発明の構成は以下の説明に限定されない。
【００５３】
図３は、本発明によるデータ埋め込み装置１及びデータ取り出し装置２のブロック図である。データ埋め込み装置１及びデータ取り出し装置２は、ハードウェア的には、バスを介して接続されたＣＰＵ，主記憶（ＲＡＭ），補助記憶装置（ハードディスク），通信制御装置等を備えている。データ埋め込み装置１とデータ取り出し装置２とは、ネットワーク１０を介して通信可能に接続される。
【００５４】
データ埋め込み装置１は、単ビットデータ埋め込み処理を実現するための構成と複ビットデータ埋め込み処理を実現するための構成とが異なる。このため、単ビットデータ埋め込み処理又は複ビットデータ埋め込み処理のみを処理可能なデータ埋め込み装置１を構成可能である。また、単ビットデータ埋め込み処理及び複ビットデータ埋め込み処理を処理可能なデータ埋め込み装置１を構成することも可能である。
【００５５】
データ取り出し装置２においても同様に、単ビットデータ取り出し処理を実現するための構成と複ビットデータ埋め込み処理を実現するための構成とが異なる。このため、単ビットデータ取り出し処理又は複ビットデータ取り出し処理のみを処理可能なデータ取り出し装置２を構成可能である。また、単ビットデータ取り出し処理及び複ビットデータ取り出し処理を処理可能なデータ取り出し装置２を構成することも可能である。以下、データ埋め込み装置１とデータ取り出し装置２との構成について夫々説明する。
【００５６】
〈データ埋め込み装置〉
データ埋め込み装置１は、補助記憶装置に記憶された各種のプログラム（ＯＳ，アプリケーション等）が主記憶にロードされＣＰＵにより実行されることによって、符号化動画像蓄積部３，符号化動画像バッファ４，丸め方向フラグ位置検出部５，埋め込み情報バッファ６，埋め込み補助情報管理部７，丸め方向フラグ入出力部８，及び符号化動画像送出部９等を含む装置として機能する。
【００５７】
符号化動画像蓄積部３は、ハードディスク等の不揮発性記憶装置を用いて構成される。符号化動画像蓄積部３は、情報が埋め込まれていない、通常の符号化動画像のデータ（以後「符号化動画像データ」と呼ぶ）を蓄積（記憶）する。符号化動画像蓄積部３に記憶される符号化動画像データは、その生成方法を限定されない。即ち、どのような符号化手段を用いて生成された符号化動画像データであっても良い。また、符号化動画像蓄積部３に記憶される符号化動画像データの各フレームにおける丸め方向フラグは、埋め込み補助情報管理部７により管理される複数のビットパターンのうち、いずれかに書き換えられている。
【００５８】
符号化動画像バッファ４（本発明の「動画像記憶手段」に相当）は、ＲＡＭ等の記憶装置を用いて構成される。符号化動画像バッファ４は、データ埋め込み装置１が情報を埋め込む対象となる符号化動画像データを、一時的に記憶する（バッファリングする）。
【００５９】
丸め方向フラグ位置検出部５は、ＣＰＵやＲＡＭ等を用いて構成される。丸め方向フラグ位置検出部５は、符号化動画像バッファ４にバッファリングされた符号化動画像データを解析し、この符号化動画像データに含まれる丸め方向フラグの位置を検出する。即ち、丸め方向フラグ位置検出部５は、符号化動画像データの各フレームの先頭ビットから、丸め方向フラグを示すビットまでのオフセット値を出力する。
【００６０】
また、丸め方向フラグ位置検出部５は、ＧＯＰＨ（Ｇｒｏｕｐ　ｏｆ　Ｐｉｃｔｕｒｅ　Ｈｅａｄｅｒ）を検出し出力する。符号化動画像データは、連続したフレームによって構成される１以上のグループにより構成される。このとき、各グループの先頭に位置するフレームにＧＯＰＨが付与される。即ち、丸め方向フラグ位置検出部５は、ＧＯＰＨを検出することにより、各グループの先頭のフレームを検出する。
【００６１】
また、丸め方向フラグ位置検出部５は、検出した丸め方向フラグに対応するフレームのフレーム番号を検出し出力する。即ち、丸め方向フラグ位置検出部５は、フレーム番号を検出することにより、検出した丸め方向フラグに対応するフレームが、該当するグループの何番目に位置するフレームであるかを検出する。
【００６２】
埋め込み情報バッファ６（本発明の「データ記憶手段」に相当）は、ＲＡＭ等の記憶装置を用いて構成される。埋め込み情報バッファ６は、符号化動画像データに埋め込まれるデータ（以後「埋め込みデータ」と呼ぶ）を一時的に記憶する（バッファリングする）。
【００６３】
埋め込み補助情報管理部７（補助情報管理手段，補助情報送信手段）は、ＲＡＭやハードディスク等の記憶装置や通信装置等を用いて構成される。埋め込み補助情報管理部７は、データ埋め込み処理又はデータ取り出し処理を実行するために必要な埋め込み補助情報を管理する。
【００６４】
データ埋め込み装置１が、単ビット埋め込み処理の実行を可能である場合、埋め込み補助情報管理部７は、符号化動画像蓄積部３に記憶される各符号化動画像データにおける丸め方向フラグのビット列のビットパターンがいずれのビットパターンであるかを記憶する。
【００６５】
また、データ埋め込み装置１が、複ビット埋め込み処理の実行を可能である場合、埋め込み補助情報管理部７は、複ビットデータ取り出し処理において必要となる埋め込み周期の値を記憶する。
【００６６】
また、埋め込み補助情報管理部７（補助情報送信手段）は、データ埋め込み装置１により埋め込みデータが埋め込まれた符号化動画像データを正当に受信する情報処理装置に対して、埋め込み補助情報を送信する。ここで、埋め込み補助情報とは、単ビットデータ埋め込み処理では丸め方向フラグのビットパターンであり、複ビットデータ埋め込み処理では埋め込み周期の値である。埋め込み補助情報管理部７は、埋め込み済符号化動画像データとは別の系統で埋め込み補助情報を送信する。例えば、埋め込み補助情報管理部７は、ＨＴＴＰプロトコル等を用いて埋め込み補助情報をデータ取り出し装置２へ送信する。
【００６７】
丸め方向フラグ入出力部８（本発明の「埋め込み手段」に相当）は、ＣＰＵやＲＡＭ等を用いて構成される。丸め方向フラグ入出力部８は、丸め方向フラグ位置、フレーム番号、埋め込み補助情報などを用いて、符号化動画像バッファ４にバッファリングされる符号化動画像データに埋め込みデータを埋め込む。丸め方向フラグ入出力部８の詳細については後述する。
【００６８】
符号化動画像送出部９（送信手段）は、通信装置などを用いて構成される。符号化動画像送出部９は、符号化動画像バッファ４にバッファリングされた埋め込み済符号化動画像データを、ネットワーク１０を介して、このデータを正当に受信する情報処理装置に対して送信する。図３では、データを正当に受信する情報処理装置として、情報取り出し装置３を例示する。このとき、このデータを正当に受信する情報処理装置は、ＣＨＡＰ（Ｃｈａｌｌｅｎｇｅ　Ｈａｎｄｓｈａｋｅ　Ａｕｔｈｅｎｔｉｃａｔｉｏｎ　Ｐｒｏｔｏｃｏｌ）やＰＡＰ（Ｐａｓｓｗｏｒｄ　Ａｕｔｈｅｎｔｉｃａｔｉｏｎ　Ｐｒｏｔｏｃｏｌ）など、どのような認証技術を用いて判断されても良い。また、符号化動画像送出部９は、ネットワーク１０を介して、不特定の１以上の情報処理装置に対して埋め込み済符号化動画像データを送信しても良い。
【００６９】
〈〈単ビットデータ埋め込み処理における丸め方向フラグ入出力部〉〉
図４は、単ビットデータ埋め込み処理を実行する丸め方向フラグ入出力部８ａのブロック図である。図４を用いて、単ビットデータ埋め込み処理を実行する丸め方向フラグ入出力部８ａについて説明する。
【００７０】
丸め方向フラグ入出力部８ａは、丸め方向フラグビット位置記憶部３１，フレーム番号記憶部３２，埋め込みフレーム番号記憶部３３，フレーム番号比較部３４，排他的論理和演算部３５，及び丸め方向フラグビット入出力インタフェース３６を含む。
【００７１】
丸め方向フラグビット位置記憶部３１は、ＲＡＭやレジスタ等の記憶装置を用いて構成される。丸め方向フラグビット位置記憶部３１は、符号化動画像バッファ４にバッファリングされているフレームにおける、丸め方向フラグのビット位置（各フレームのデータ先頭からのオフセット値）を保持する。このオフセット値は、丸め方向フラグ位置検出部５から出力される。
【００７２】
フレーム番号記憶部３２（フレーム番号検出手段）は、ＲＡＭやレジスタ等の記憶装置を用いて構成される。フレーム番号記憶部３２は、丸め方向フラグビット位置記憶部３１に保持された丸め方向フラグ位置に対応するフレームのフレーム番号を保持する。フレーム番号は、丸め方向ビット位置検出装置５から出力される。
【００７３】
埋め込みフレーム番号記憶部３３（ビット位置検出手段）は、ＣＰＵやＲＡＭ等を用いて構成される。埋め込みフレーム番号記憶部３３は、埋め込み情報バッファ６に記憶される埋め込みデータを読み出す。そして、埋め込みフレーム番号記憶部３３は、読み出した埋め込みデータのうち、１を持つビットの先頭からのオフセット値を検出し、その値を保持する。この値は、埋め込みデータを埋め込む対象となるフレームのフレーム番号と一致する。
【００７４】
フレーム番号比較部３４（判断手段）は、ＣＰＵやＲＡＭ等を用いて構成される。フレーム番号比較部３４は、フレーム番号記憶部３２から出力されるフレーム番号と、埋め込みフレーム番号記憶部３３から出力されるフレーム番号とを比較する。フレーム番号比較部３４は、二つの値を比較することにより、フレーム番号比較部３３から出力されるフレーム番号に含まれる丸め方向フラグに対応する埋め込みデータの値が１であるか否かを判断する。フレーム番号比較部３４は、比較した二つのフレーム番号が一致した場合、排他的論理和演算部３５に対し、１を出力する。一方、フレーム番号比較部３４は、比較した二つのフレーム番号が一致しない場合、排他的論理和演算部３５に対し、０を出力する。
【００７５】
また、フレーム番号比較部３４は、比較した二つのフレーム番号が一致した場合のみ、排他的論理和演算部３５が動作するように制御信号を出力しても良い。
【００７６】
排他的論理和演算部３５（本発明の「排他的論理和演算手段」に相当）は、ＣＰＵを用いて構成される。排他的論理和演算部３５は、二つの入力の排他的論理和を演算し、演算結果を出力する。一方の入力は、丸め方向フラグビット入出力インタフェース３６から、丸め方向フラグの値が入力される。他方の入力は、フレーム番号比較部３４から、比較結果に応じた値が入力される。
【００７７】
丸め方向フラグビット入出力インタフェース３６（本発明の「置換手段」に相当）は、ＣＰＵやＲＡＭ等を用いて構成される。丸め方向フラグビット入出力インタフェース３６は、符号化動画像バッファ４にバッファリングされた符号化動画像の指定されたビット位置にある丸め方向フラグを読み出す。この丸め方向フラグのビット位置は、丸め方向フラグビット位置記憶部３１から取得する。そして、丸め方向フラグビット入出力インタフェース３６は、読み出した丸め方向フラグのビット値を排他的論理和演算部３５へ出力する。また、丸め方向フラグビット入出力インタフェース３６は、排他的論理和演算部３５から入力される値を、符号化動画像バッファ４にバッファリングされた符号化動画像の指定されたビット位置にある丸め方向フラグの値として書き込む。
【００７８】
〈〈複ビットデータ埋め込み処理における丸め方向フラグ入出力部〉〉
図５は、複ビットデータ埋め込み処理を実行する丸め方向フラグ入出力部８ｂのブロック図である。次に、図５を用いて、複ビットデータ埋め込み処理を実行する丸め方向フラグ入出力部８ｂについて説明する。
【００７９】
丸め方向フラグ入出力部８ｂは、全体制御部４１，丸め方向フラグビット位置記憶部４２，フレーム番号記憶部４３，埋め込み単位データ記憶部４４，偏度計算部４５，反転フラグ計算部４６，偏度累積計算部４７，偏度累積記憶部４８，排他的論理和演算部４９，及び丸め方向フラグビット入出力インタフェース４０を含む。
【００８０】
全体制御部４１は、ＣＰＵやＲＡＭ等を用いて構成される。全体制御部４１は、埋め込み周期（反転フラグ挿入間隔）を埋め込み補助情報管理部７から取得する。また、全体制御部４１は、現在処理可能なフレーム番号を、フレーム番号記憶部４３から取得する。また、全体制御部４１は、ＧＯＰＨの検出結果を、丸め方向フラグ位置検出部５から取得する。また、全体制御部４１は、ＧＯＰＨの検出通知を取得した場合、リセット信号を偏度累積記憶部４８に出力する。
【００８１】
丸め方向フラグビット位置記憶部４２は、ＲＡＭやレジスタ等の記憶装置を用いて構成される。丸め方向フラグビット位置記憶部４２は、複数フレームの丸め方向フラグの位置（丸め方向フラグビット位置：先頭ビットから丸め方向フラグを示すビットまでのオフセット値）を保持する。丸め方向フラグビット位置は、丸め方向フラグ位置検出部５から出力される。
【００８２】
フレーム番号記憶部４３は、ＲＡＭやレジスタ等の記憶装置を用いて構成される。フレーム番号記憶部４３は、丸め方向フラグビット位置記憶部４２に格納される複数の丸め方向フラグビット位置の夫々に対応するフレーム番号を保持する。このフレーム番号は、対応する丸め方向フラグビット位置と同期して、丸め方向フラグ位置検出部５から出力される。
【００８３】
埋め込み単位データ記憶部４４（本発明の「分割手段」に相当）は、ＣＰＵやＲＡＭ等を用いて構成される。埋め込み単位データ記憶部４４は、次に埋め込む埋め込み単位データを保持する。即ち、埋め込み単位データ記憶部４４は、処理対象となる埋め込み単位データを保持する。埋め込み単位データ記憶部４４は、全体制御部４１から通知される埋め込み周期に従って、埋め込み情報バッファ６から、埋め込み単位データを読み出す。
【００８４】
偏度計算部４５（偏度計算手段）は、ＣＰＵやＲＡＭ等を用いて構成される。偏度計算部４５は、埋め込み単位データ記憶部４４から出力される埋め込み単位データにおける偏度を計算する。
【００８５】
反転フラグ計算部４６（反転フラグ判断手段）は、ＣＰＵやＲＡＭ等を用いて構成される。反転フラグ計算部４６は、偏度計算部４５からの出力及び偏度累積記憶部４８が記憶する値を用いて、反転フラグの値を計算する。反転フラグ計算部４６は、算出した反転フラグの値を、丸め方向フラグビット入出力インタフェース４０へ出力する。また、反転フラグ計算部４６は、算出した反転フラグの値を、排他的論理和演算部４９へ出力する。
【００８６】
偏度累積計算部４７（偏度累積計算手段）は、ＣＰＵやＲＡＭ等を用いて構成される。偏度累積計算部４７は、偏度累積記憶部４８が記憶する値と、反転フラグ計算部４６からの出力と、偏度計算部４５からの出力とを用いて、偏度累積を計算する。偏度累積計算部４７は、算出した値を偏度累積記憶部４８へ書き込む（上書きする）。
【００８７】
偏度累積記憶部４８（偏度累積記憶手段）は、ＣＰＵやＲＡＭ等の記憶装置を用いて構成される。偏度累積記憶部４８は、偏度累積計算部４７の出力を記憶（保存）する。また、偏度累積記憶部４８は、反転フラグ計算部４６に、自身が記憶する偏度累積を出力する。また、偏度累積記憶部４８は、全体制御部４１からリセット信号を受信すると、自身が記憶する値を初期化し、０を記憶する。
【００８８】
排他的論理和演算部４９は、ＣＰＵを用いて構成される。排他的論理和演算部４９は、反転フラグ計算部４６の出力と埋め込み単位データ記憶部４４が記憶する値（埋め込み単位データ）との排他的論理和を演算する。排他的論理和演算部４９は、丸め方向フラグビット入出力インタフェース４０が記憶する埋め込み単位データの全てのビットに対し、反転フラグ計算部４６の出力との排他的論理和を演算する。そして、排他的論理和演算部４９は、排他的論理和の演算結果を、丸め方向フラグビット入出力インタフェース４０へ出力する。
【００８９】
丸め方向フラグビット入出力インタフェース４０（本発明の「置換手段」に相当）は、ＣＰＵやＲＡＭ等を用いて構成される。丸め方向フラグビット入出力インタフェース４０は、符号化動画像バッファ４に保持される符号化動画像データの、該当フレームの該当ビットに対し、排他的論理和演算部４９及び反転フラグ計算部４６からの出力を書き込む。
【００９０】
丸め方向フラグビット入出力インタフェース４０は、符号化動画像データの、フレーム番号記憶部４３から読み出すフレーム番号のフレームデータのうち、丸め方向フラグビット位置記憶部４２から読み出すビット位置に対して、排他的論理和演算部４９又は反転フラグ計算部４６から入力される値を書き込む。丸め方向フラグビット入出力インタフェース４０は、フレーム番号記憶部４３から読み出すフレーム番号に従って、排他的論理和演算部４９から入力される値又は反転フラグ計算部４６から入力される値のいずれを符号化動画像データに書き込むかを判断する。丸め方向フラグビット入出力インタフェース４０は、全体制御部４１から通知される埋め込み周期がＮであって、処理中の埋め込み単位データがｎ番目であるとき、フレーム番号が（Ｎ＋１）ｎ番から（Ｎ＋１）ｎ＋Ｎ−１番である場合は、排他的論理和演算部４９から入力される値を符号化動画像データに対して書き込む。一方、フレーム番号が（Ｎ＋１）ｎ−１番である場合は、反転フラグ計算部４６から入力される値を符号化動画像データに書き込む。
【００９１】
〈データ取り出し装置〉
図３を用いてデータ取り出し装置２について説明する。データ取り出し装置２は、補助記憶装置に記憶された各種のプログラム（ＯＳ，アプリケーション等）が主記憶にロードされＣＰＵにより実行されることによって、符号化動画像受信部１１，符号化動画像復号部１２，埋め込み補助情報蓄積部１３，丸め方向フラグ解析部１４，及び表示部１５等を含む装置として機能する。
【００９２】
符号化動画像受信部１１は、通信装置などを用いて構成される。符号化動画像受信部１１は、ネットワーク１０を介して、データ埋め込み装置１から、埋め込み済符号化動画像データ又は符号化動画像データを受信する。
【００９３】
符号化動画像復号部１２は、ＣＰＵやＲＡＭ等を用いて構成される。符号化動画像復号部１２は、符号化動画像受信部１１によって受信された埋め込み済符号化動画像データ又は符号化動画像データを復号化する。また、符号化動画像復号部１２は、符号化動画像受信部１１によって受信されたデータに限らず、例えば記録媒体に書き込まれている埋め込み済符号化動画像データ又は符号化動画像データも復号化する。また、符号化動画像復号部１２は、埋め込み済符号化動画像データを解析し、フレーム毎に丸め方向フラグを検出する。そして、符号化動画像復号部１２は、フレーム番号とこのフレームにおける丸め方向フラグの値とを、丸め方向フラグ解析部１４へ出力する。
【００９４】
埋め込み補助情報蓄積部１３（本発明の「パターン記憶手段」に相当）は、ＲＡＭやハードディスク等の記憶装置や通信装置などを用いて構成される。埋め込み補助情報蓄積部１３は、データ埋め込み装置１から、埋め込み補助情報を受信し記憶する。埋め込み補助情報蓄積部１３は、埋め込み済符号化動画像データとは別の系統で埋め込み補助情報を受信する。例えば、埋め込み補助情報蓄積部１３は、ＨＴＴＰプロトコル等を用いて埋め込み補助情報を受信する。
【００９５】
また、埋め込み補助情報蓄積部１３は、単ビットデータ取り出し処理の実行が可能である場合、符号化動画像蓄積部３に記憶される各符号化動画像データにおける丸め方向フラグのビット列のビットパターンを記憶する。そして、埋め込み補助情報蓄積部１３は、受信した埋め込み補助情報が示すビットパターンを、丸め方向フラグ解析部１４へ出力する。
【００９６】
丸め方向フラグ解析部１４は、ＣＰＵやＲＡＭ等を用いて構成される。丸め方向フラグ解析部１４は、フレーム毎の丸め方向フラグと、埋め込み補助情報とを用いて、埋め込みデータを出力する。丸め方向フラグ解析部１４が埋め込みデータを出力する処理、即ちデータ取り出し処理の詳細については後述する。
【００９７】
表示部１５は、ＣＲＴ（Ｃａｔｈｏｄｅ−Ｒａｙ　Ｔｕｂｅ）や液晶ディスプレイ等を用いて構成される。表示部１５は、符号化動画像復号部１２が復号化した動画像や、丸め方向フラグ解析部１４が出力する埋め込みデータ等を表示する。図６は、表示部１５における表示例を示す図である。ユーザへの提示画面７１は、動画像表示部７２と埋め込みデータ表示部７３とを含む。提示画面７１は、ＨＴＭＬ（Ｈｙｐｅｒ　Ｔｅｘｔ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）を用いてレイアウトされる。動画像表示部７２は、符号化動画像復号部１２によって復号された動画像を表示する。埋め込みデータ表示部７３は、丸め方向フラグ解析部１４によって取り出された埋め込みデータの内容を表示する。図６に示す例では、埋め込みデータは、ＵＲＬ（Ｕｎｉｆｏｒｍ　Ｒｅｓｏｕｒｃｅ　Ｌｏｃａｔｏｒｓ）であり、ＨＴＭＬのアンカータグによって修飾されている。この場合、埋め込みデータ表示部７３に示されるＵＲＬは、マウス等の入力装置によって選択されると、別画面に上記ＵＲＬで参照されたＨＴＭＬコンテンツが表示される。このＨＴＭＬコンテンツは、例えば、動画像表示部７２に表示される車のスペックである。このように、このＨＴＭＬコンテンツの内容は、動画像表示部７２に表示されるコンテンツの内容を補完するものである。
【００９８】
〈〈単ビットデータ取り出し処理における丸め方向フラグ解析部〉〉
図７は、単ビットデータ取り出し処理を実行する丸め方向フラグ解析部１４ａのブロック図である。次に、図７を用いて、単ビットデータ取り出し処理を実行する丸め方向フラグ解析部１４ａについて説明する。
【００９９】
丸め方向フラグ解析部１４ａは、フレーム番号記憶部５１，丸め方向フラグビット記憶部５２，丸め方向パターン発生部５３，及び排他的論理和演算部５４を含む。
【０１００】
フレーム番号記憶部５１は、ＲＡＭやレジスタ等の記憶装置を用いて構成される。フレーム番号記憶部５１は、符号化動画像復号部１２が復号しているフレームのフレーム番号を保持する。このフレーム番号は、符号化動画像復号部１２が出力する。
【０１０１】
丸め方向フラグビット記憶部５２は、ＲＡＭやレジスタ等の記憶装置を用いて構成される。丸め方向フラグビット記憶部５２は、符号化動画像復号部１２が復号しているフレームの丸め方向フラグの値を保持する。
【０１０２】
丸め方向パターン発生部５３は、ＣＰＵやＲＡＭ等を用いて構成される。丸め方向パターン発生部５３は、埋め込み補助情報蓄積部１３から出力されるビットパターンにおいて、フレーム番号記憶部５１が記憶する値（フレーム番号）の位置のビット値を得る。即ち、丸め方向パターン発生部５３は、元の符号化動画像においてフレーム番号記憶部５１が示すフレーム番号の丸め方向フラグの値を得る。丸め方向パターン発生部５３は、得た丸め方向フラグの値を、排他的論理和演算部５４へ出力する。
【０１０３】
排他的論理和演算部５４は、ＣＰＵを用いて構成される。排他的論理和演算部５４は、丸め方向フラグビット記憶部５２が記憶する値と、丸め方向パターン発生部５３から出力される値との排他的論理和を演算する。排他的論理和演算部５４は、演算結果、即ち０又は１の値を表示部１５に出力する。
【０１０４】
〈〈複ビットデータ取り出し処理における丸め方向フラグ解析部〉〉
図８は、複ビットデータ取り出し処理を実行する丸め方向フラグ解析部１４ｂのブロック図である。次に、図８を用いて、複ビットデータ取り出し処理を実行する丸め方向フラグ解析部１４ｂについて説明する。
【０１０５】
丸め方向フラグ解析部１４ｂは、フレーム番号記憶部６１，反転ビット位置判定部６２，丸め方向フラグビット記憶部６３，及び排他的論理和演算部６４を含む。
【０１０６】
フレーム番号記憶部６１は、ＲＡＭやレジスタ等の記憶装置を用いて構成される。フレーム番号記憶部６１は、丸め方向フラグビット記憶部６３に格納される丸め方向フラグのビット列の各ビットに対応するフレーム番号を保持する。フレーム番号は、対応する丸め方向フラグのビット値と同期して、符号化動画像復号部１２から出力される。
【０１０７】
反転ビット位置判定部６２は、ＣＰＵやＲＡＭ等を用いて構成される。反転ビット位置判定部６２は、反転ビットに対応するフレーム番号を判定する。反転ビット位置判定部６２は、フレーム番号記憶部６１から出力されるフレーム番号と、埋め込み補助情報蓄積部１３から出力される埋め込み補助情報（埋め込み周期）とを用いて、フレーム番号記憶部６１が記憶するフレーム番号が、反転ビットを丸め方向フラグとして含むフレームのフレーム番号であるか否かを判定する。反転ビット位置判定部６２は、この判定結果を、丸め方向フラグビット記憶部６３へ出力する。
【０１０８】
丸め方向フラグビット記憶部６３は、ＣＰＵやＲＡＭ等を用いて構成される。丸め方向フラグビット記憶部６３は、丸め方向フラグを保持する。丸め方向フラグビット記憶部６３は、反転ビット位置判定部６２から、自身が保持する丸め方向フラグが反転ビットであると通知された場合、自身が保持する丸め方向フラグビットを反転ビットとして排他的論理和演算部６４へ出力する。また、丸め方向フラグビット記憶部６３は、それ以外の丸め方向フラグを、排他的論理和演算部６４へ、他の入力として出力する。
【０１０９】
排他的論理和演算部６４（本発明の「反転判断手段」，「反転手段」に相当）は、ＣＰＵやＲＡＭ等を用いて構成される。排他的論理和演算部６４は、丸め方向フラグビット記憶部６３から、反転ビットを受け取った場合、自身が備える不図示の反転ビット記憶部に反転ビットを記憶する。排他的論理和演算部６４は、反転ビット記憶部に記憶された反転ビットと、丸め方向フラグビット記憶部が記憶する丸め方向フラグの値との排他的論理和を演算する。即ち、排他的論理和演算部６４は、反転ビットが１である場合に、丸め方向フラグの値を反転すべきと判断し、丸め方向フラグの値を反転して出力する。排他的論理和演算部６４は、この演算によって、埋め込まれた情報、即ち埋め込みデータを取得する。排他的論理和演算部６４は、取得した埋め込みデータを表示部１５へ出力する。
【０１１０】
〔動作例〕
次に、本実施形態によるデータ埋め込み装置１とデータ取り出し装置２との動作例について説明する。なお、データ埋め込み装置１の動作例は、単ビットデータ埋め込み処理と複ビットデータ埋め込み処理とに分けて説明する。また、データ取り出し装置２の動作例は、単ビットデータ取り出し処理と複ビットデータ取り出し処理とに分けて説明する。
【０１１１】
〈データ埋め込み装置〉
〈〈単ビットデータ埋め込み処理〉〉
図３，４を用いて、本実施形態によるデータ埋め込み装置１が単ビットデータ埋め込み処理を実行する際の動作例について説明する。まず、符号化動画像蓄積部３に記憶される符号化動画像データのうち、埋め込みデータを埋め込む対象となる符号化動画像データが、１フレーム毎に符号化動画像バッファ４へ書き込まれる。
【０１１２】
丸め方向フラグ位置検出部５は、符号化動画像バッファ４にバッファリングされているフレーム、即ち処理の対象となるフレーム、のフレーム番号を求める。また、丸め方向フラグ位置検出部５は、処理の対象となるフレームにおける丸め方向フラグを示すビットまでのオフセット値を求める。そして、丸め方向フラグ位置検出部５は、このオフセット値を、丸め方向フラグビット位置記憶部３１へ出力する。また、丸め方向フラグ位置検出部５は、このフレーム番号をフレーム番号記憶部３２へ出力する。丸め方向フラグビット位置記憶部３１は、このオフセット値を記憶する。また、フレーム番号記憶部３２は、このフレーム番号を記憶する。
【０１１３】
埋め込み情報バッファ６に記憶される埋め込みデータは、埋め込みフレーム番号記憶部３３により読み出される。このとき、埋め込みフレーム番号記憶部３３は、埋め込みデータを埋め込む対象となるフレームのフレーム番号を保持する。
【０１１４】
フレーム番号比較部３４は、埋め込みフレーム番号記憶部３３が記憶するフレーム番号と、フレーム番号記憶部３２が記憶するフレーム番号とを比較し、二つの値が一致するか否かを判断する。フレーム番号比較部３４は、二つの値が一致した場合、排他的論理和演算部３５に、１を出力する。一方、フレーム番号比較部３４は、二つの値が一致しない場合、排他的論理和演算部３５に、０を出力する。
【０１１５】
丸め方向フラグビット入出力インタフェース３６は、丸め方向フラグビット位置記憶部３１から、オフセット値を読み出す。丸め方向フラグビット入出力インタフェース３６は、読み出したオフセット値に対応するビットの値を、符号化動画像バッファ４から読み出す。そして、丸め方向フラグビット入出力インタフェース３６は、読み出したビットの値を、排他的論理和演算部３５に出力する。
【０１１６】
排他的論理和演算部３５は、丸め方向フラグビット入出力インタフェース３６から入力された値と、フレーム番号比較部３４から入力された値との排他的論理和を演算する。排他的論理和演算部３５は、演算結果を丸め方向フラグビット入出力インタフェース３６に出力する。そして、丸め方向フラグビット入出力インタフェース３６は、排他的論理和演算部３５から入力された値を、符号化動画像バッファ４に記憶されるデータのうち、上記オフセット値に対応するビットに書き込む。このようにして、埋め込みデータは符号化動画像データに埋め込まれ、埋め込み済符号化動画像データが生成される。
【０１１７】
符号化動画像送出部９は、符号化動画像バッファ４にバッファリングされる埋め込み済符号化動画像データを、ネットワーク１０を介してデータ取り出し装置２へ送出する。また、埋め込み補助情報管理部７は、処理対象となった符号化動画像データにおける埋め込み補助情報を、データ取り出し装置２へ送信する。
【０１１８】
〈〈複ビットデータ埋め込み処理〉〉
図３，５を用いて、本実施形態によるデータ埋め込み装置１が複ビットデータ埋め込み処理を実行する際の動作例について説明する。まず、埋め込み補助情報管理部７は、埋め込み周期の値を全体制御部４１へ通知する。また、符号化動画像蓄積部３に記憶される符号化動画像データのうち、埋め込みデータを埋め込む対象となる符号化動画像データが、１フレーム毎に符号化動画像バッファ４へ書き込まれる。
【０１１９】
丸め方向フラグ位置検出部５は、符号化動画像バッファ４にバッファリングされているフレーム、即ち処理の対象となるフレーム、のフレーム番号を求める。また、丸め方向フラグ位置検出部５は、符号化動画像バッファ４にバッファリングされているフレームに、ＧＯＰＨが含まれるか否かを判断する。丸め方向フラグ位置検出部５は、ＧＯＰＨを検出すると、ＧＯＰＨを検出したことを全体制御部４１へ通知する。また、丸め方向フラグ位置検出部５は、処理の対象となるフレームにおける丸め方向フラグを示すビットまでのオフセット値を求める。そして、丸め方向フラグ位置検出部５は、このオフセット値を、丸め方向フラグビット位置記憶部４２へ出力する。また、丸め方向フラグ位置検出部５は、このフレームのフレーム番号をフレーム番号記憶部４３へ出力する。丸め方向フラグビット位置記憶部４２は、このオフセット値を記憶する。また、フレーム番号記憶部４３は、このフレーム番号を記憶する。
【０１２０】
埋め込み単位データ記憶部４４は、全体制御部４１から通知される埋め込み周期の値に従って、埋め込み単位データを埋め込み情報バッファ６から読み出す。また、埋め込み単位データ記憶部４４は、読み出した埋め込み単位データを１ビットずつ排他的論理和演算部４９に出力する。
【０１２１】
偏度計算部４５は、埋め込み単位データ記憶部４４に記憶される埋め込み単位データについて、偏度を算出する。偏度計算部４５は、算出した偏度を反転フラグ計算部４６と偏度累積計算部４７へ出力する。
【０１２２】
反転フラグ計算部４６は、偏度累積記憶部４８に記憶される偏度累積を読み出す。反転フラグ計算部４６は、読み出した偏度累積と、偏度計算部４５から入力された偏度とを用いて、反転フラグの値を算出する。反転フラグ計算部４６は、算出した反転フラグの値を偏度累積計算部４７と、丸め方向フラグビット入出力インタフェース４０と、排他的論理和演算部４９とに出力する。
【０１２３】
偏度累積計算部４７は、反転フラグ計算部４６から入力された反転フラグの値と、偏度計算部４５から入力された偏度と、偏度累積記憶部４８に記憶される偏度累積とを用いて、新たな偏度累積を算出する。即ち、偏度累積計算部４７は、次に埋め込み単位データ記憶部４４が読み出す埋め込み単位データにおいて用いられる偏度累積を算出する。偏度累積計算部４７は、算出した新たな偏度累積を偏度累積記憶部４８に書き込む。
【０１２４】
排他的論理和演算部４９は、埋め込み単位データ記憶部４４から入力される全てのビットに対して、反転フラグ計算部４６から入力される反転フラグの値との排他的論理和を演算する。そして、排他的論理和演算部４９は、演算した結果の値を丸め方向フラグビット入出力インタフェース４０へ出力する。
【０１２５】
丸め方向フラグビット入出力インタフェース４０は、排他的論理和演算部４９又は反転フラグ計算部４６から入力される値を、符号化動画像バッファ４にバッファリングされた符号化動画像データに書き込む。このようにして、符号化動画像データに、埋め込みデータが埋め込まれ、埋め込み済符号化動画像データが生成される。
【０１２６】
符号化動画像送出部９は、符号化動画像バッファ４にバッファリングされる埋め込み済符号化動画像データを、ネットワーク１０へ送出する。また、埋め込み補助情報管理部７は、処理対象となった符号化動画像データにおける埋め込み補助情報、即ち埋め込み周期を、データ取り出し装置２へ送信する。
【０１２７】
〈データ取り出し装置〉
〈〈単ビットデータ取り出し処理〉〉
図３，７を用いて、本実施形態によるデータ取り出し装置２が単ビットデータ取り出し処理を実行する際の動作例について説明する。符号化動画像受信部１１は、ネットワーク１０を介してデータ埋め込み装置１から埋め込み済符号化動画像データを受信し記憶する。また、埋め込み補助情報蓄積部１３は、データ埋め込み装置１から埋め込み補助情報を受信する。即ち、埋め込み補助情報蓄積部１３は、符号化動画像受信部１１が受信した符号化動画像データの丸め方向フラグのビットパターンがいずれのビットパターンであるかを、データ埋め込み装置１から受信する。埋め込み補助情報蓄積部１３は、このビットパターンを丸め方向パターン発生部５３へ出力する。
【０１２８】
符号化動画像復号部１２は、符号化動画像受信部１１が記憶する埋め込み済符号化動画像データを復号化し、動画像を生成する。符号化動画像復号部１２は、復号化して生成した動画像を、表示部１５へ出力する。また、符号化動画像復号部１２は、フレーム番号とこのフレーム番号におけるフレームの丸め方向フラグの値とを、フレーム番号記憶部５１と丸め方向フラグビット記憶部５２とに、同期して出力する。
【０１２９】
丸め方向パターン発生部５３は、フレーム番号記憶部５１に記憶されるフレーム番号と、埋め込み補助情報蓄積部１３から入力されるビットパターンとを用いて、丸め方向フラグの値を得る。そして、丸め方向パターン発生部５３は、丸め方向フラグの値、即ち０又は１を排他的論理和演算部５４へ出力する。
【０１３０】
排他的論理和演算部５４は、丸め方向パターン発生部５３から入力された値と、丸め方向フラグビット記憶部５２が記憶する値との排他的論理和を演算する。そして、排他的論理和演算部５４は、演算結果を埋め込みデータとして、表示部１５へ出力する。
【０１３１】
〈〈複ビットデータ取り出し処理〉〉
図３，８を用いて、本実施形態によるデータ取り出し装置２が複ビットデータ取り出し処理を実行する際の動作例について説明する。符号化動画像受信部１１は、ネットワーク１０を介してデータ埋め込み装置１から埋め込み済符号化動画像データを受信し記憶する。また、埋め込み補助情報蓄積部１３は、データ埋め込み装置１から埋め込み補助情報を受信する。即ち、埋め込み補助情報蓄積部１３は、埋め込み周期を、データ埋め込み装置１から受信する。埋め込み補助情報蓄積部１３は、この埋め込み周期を、反転ビット位置判定部６２へ出力する。
【０１３２】
符号化動画像復号部１２は、符号化動画像受信部１１が記憶する埋め込み済符号化動画像データを復号化し、動画像を生成する。符号化動画像復号部１２は、復号化して生成した動画像を、表示部１５へ出力する。また、符号化動画像復号部１２は、フレーム番号とこのフレーム番号におけるフレームの丸め方向フラグの値とを、フレーム番号記憶部６１と丸め方向フラグビット記憶部６３とに、同期して出力する。
【０１３３】
反転ビット位置判定部６２は、埋め込み補助情報蓄積部１３から入力される埋め込み周期を基に、フレーム番号記憶部６１が記憶するフレーム番号のフレームが、反転ビットを示す丸め方向フラグを有するフレームか否かを判定する。そして、反転ビット位置判定部６２は、その判定結果を丸め方向フラグビット記憶部６３へ出力する。
【０１３４】
丸め方向フラグビット記憶部６３は、反転ビット位置判定部６２から、符号化動画像復号部１２から入力される丸め方向フラグが反転ビットであると通知されると、この丸め方向フラグを反転ビットとして排他的論理和演算部６４へ出力する。また、丸め方向フラグビット記憶部６３は、それ以外の丸め方向フラグを、排他的論理和演算部６４へ、他の入力として出力する。
【０１３５】
排他的論理和演算部６４は、自身が記憶する反転ビットの値と丸め方向フラグビット記憶部６３から入力される丸め方向フラグの値との排他的論理和を演算する。そして、排他的論理和演算部６４は、演算結果を、埋め込みデータとして、表示部１５へ出力する。
【０１３６】
〔作用〕
本実施形態のうち、単ビットデータ埋め込み処理を実行可能なデータ埋め込み装置１によれば、データ埋め込みの対象となる符号化動画像データの各フレームにおける丸め方向フラグのビット値と埋め込みデータのビット値との排他的論理和を演算することにより、符号化動画像データに対し、埋め込みデータを埋め込む。このとき、埋め込みデータのデータ量は非常に少なく制限される。このため、大多数のフレームにおける丸め方向フラグは、その値が変更されない。従って、符号化動画像データに対し、画質を劣化させることなくデータを埋め込むことが可能となる。
【０１３７】
また、本実施形態のうち、単ビットデータ埋め込み処理を実行可能なデータ埋め込み装置１によれば、埋め込みデータは、埋め込み補助情報（ビットパターン）を用いなければ取り出し困難であるように埋め込まれる。なぜならば、ビットパターンがわからなければ、いずれの丸め方向フラグに対して埋め込みデータが埋め込まれたのかが判断できないためである。このため、埋め込み補助情報を通知するか否かを選択することにより、埋め込みデータを取り出し可能なユーザを選択することが可能となる。
【０１３８】
本実施形態のうち、複ビットデータ埋め込み処理を実行可能なデータ埋め込み装置１によれば、データ埋め込みの対象となる符号化動画像データの各フレームにおける丸め方向フラグを埋め込みデータに置き換え、さらに定期的に（埋め込み周期で）反転ビットを埋め込むことにより、１フレーム毎に１ビットのデータを埋め込む。このため、ＵＲＬ等の数バイト乃至数十バイトの情報を、符号化動画像データに埋め込むことが可能となる。
【０１３９】
また、本実施形態のうち、複ビットデータ埋め込み処理を実行可能なデータ埋め込み装置１によれば、埋め込みデータは、埋め込み補助情報（埋め込み周期）を用いなければ取り出し困難であるように埋め込まれる。なぜならば、埋め込み周期がわからなければ、いずれの丸め方向フラグが反転ビットを示すかがわからないためである。このため、埋め込み補助情報を通知するか否かを選択することにより、埋め込みデータを取り出し可能なユーザを選択することが可能となる。
【０１４０】
また、本実施形態のうち、複ビットデータ埋め込み処理を実行可能なデータ埋め込み装置１によれば、偏度累積の値と偏度の値とに応じて、埋め込み単位データの全ビットがそのまま又は反転されて、符号化動画像データに埋め込まれる。このため、シーケンス全体において、０と１との出現頻度が１：１に近い値をとる。従って、シーケンス全体において、画質の劣化が防止される。
【０１４１】
また、単ビットデータ埋め込み処理が実行可能及び／又は複ビットデータ埋め込み処理が実行可能な本実施形態のデータ埋め込み装置１によれば、符号化動画像データの丸め方向フラグ１ビットに対し、埋め込みデータが１ビット以上埋め込まれることはない。このため、符号化動画像のデータ量が変更されることなく、符号化動画像データに対して埋め込みデータが埋め込まれる。従って、ヒントトラックを利用して符号化動画像データをパケット化することが可能となり、パケット化の際に装置に負担となる負荷が軽減される。さらに、ＭＰＥＧ１／２／４で使用されるＶＢＶ（仮想バッファモデル）がデータ量の増減により破綻されることが防止できる。
【０１４２】
〔変形例〕
排他的論理和演算部３５は、フレーム番号比較部３４から制御信号を受信した場合のみ、入力された二つの値の排他的論理和を演算しても良い。この場合、排他的論理和演算部３５は、制御信号を受信しない場合、丸め方向フラグビット入出力インタフェース３６から入力された値は、そのまま丸め方向フラグビット入出力インタフェース３６へ出力する。
【０１４３】
また、単ビットデータ埋め込み処理における丸め方向フラグ入出力部８ａは、排他的論理和演算部３５の代わりに、不図示の反転ビット演算部（反転手段）を備えても良い。この場合、フレーム番号比較部３４から制御信号として０を受け取った場合は、反転ビット演算部は、丸め方向フラグビット入出力インタフェース３６から入力される値をそのまま丸め方向フラグビット入出力インタフェース３６へ出力する。一方、フレーム番号比較部３４から制御信号として１を受け取った場合は、反転ビット演算部は、丸め方向フラグビット入出力インタフェース３６から入力される値を反転して丸め方向フラグビット入出力インタフェース３６へ出力する。
【０１４４】
また、本実施形態の埋め込み補助情報蓄積部１３は、ビットパターンそのものではなく、ビットパターンを特定するためのビットパターン情報を記憶しても良い。ビットパターン情報とは、例えばビットパターンをランレングスで特定したデータなどである。
【０１４５】
〔その他〕
本発明は、以下のように特定することができる。
（付記１）フレーム間予測符号化動画像データを記憶する動画像記憶手段と、
前記フレーム間予測符号化動画像データに埋め込む埋め込みデータを記憶する埋め込みデータ記憶手段と、
前記フレーム間予測符号化動画像データにおけるフレームデータ毎に含まれた丸め方向フラグに対して、前記埋め込みデータを埋め込む埋め込み手段と、
を備えるデータ埋め込み装置。
（付記２）前記埋め込み手段は、
前記丸め方向フラグの値と前記埋め込みデータの値との排他的論理和を演算する排他的論理和演算手段と、
前記フレーム間予測符号化動画像データに含まれる値であって前記排他的論理和演算手段の入力として用いられた丸め方向フラグの値を、前記排他的論理和演算手段の演算結果の値に置き換える置換手段と、を含む付記１に記載のデータ埋め込み装置。
（付記３）前記埋め込み手段は、
埋め込みデータをなすビットにそれぞれ対応する丸め方向フラグのうち、対応する埋め込みデータの値が１である丸め方向フラグを検出する検出手段をさらに含み、
前記排他的論理和演算手段は、前記検出手段が検出した丸め方向フラグのみについて前記排他的論理和演算を行う、付記２に記載のデータ埋め込み装置。
（付記４）前記埋め込み手段は、
埋め込みデータをなすビットにそれぞれ対応する丸め方向フラグのうち、対応する埋め込みデータの値が１である丸め方向フラグを検出する検出手段と、
前記検出手段が検出した丸め方向フラグの値を反転させる反転手段と、を含む付記１に記載のデータ埋め込み装置。
（付記５）前記検出手段は、
前記埋め込みデータにおいて、値が１となるビットの、埋め込みデータの先頭ビットからのオフセット値を検出するビット位置検出手段と、
前記フレーム間予測符号化動画像データのうち、埋め込みデータを埋め込む対象となるフレームのフレーム番号を検出するフレーム番号検出手段と、
前記オフセット値と前記フレーム番号とが一致した場合に、前記対象となるフレームに含まれる丸め方向フラグが、対応する埋め込みデータの値が１である丸め方向フラグであると判断する判断手段と、を含む付記３又は４に記載のデータ埋め込み装置。
（付記６）連続したフレームにおける前記丸め方向フラグの値が示すパターンは、所定の１以上のビットパターンのいずれかであり、埋め込み手段の処理対象となるフレーム間予測符号化動画像データにおける丸め方向フラグの値のビットパターンがいずれのビットパターンであるかを示す補助情報を管理する補助情報管理手段をさらに備える付記１に記載のデータ埋め込み装置。
（付記７）前記埋め込み手段から出力されるデータを他装置へ送信する送信手段と、
前記補助情報を、前記送信手段とは異なる方法を用いて、前記他装置へ送信する補助情報送信手段と、をさらに備える付記６に記載のデータ埋め込み装置。
（付記８）前記埋め込み手段は、
前記埋め込みデータを複数のサブ埋め込みデータに分割する分割手段と、
前記フレーム間予測符号化動画像データに含まれる丸め方向フラグにおける１と０との分布が略均等となるように、前記サブ埋め込みデータを反転すべきか否かを判断する反転判断手段と、
前記反転判断手段の判断に従って、該当するサブ埋め込みデータを反転する反転手段と、
前記反転手段によって反転されたサブ埋め込みデータ又は反転されないサブ埋め込みデータを、このサブ埋め込みデータのビット数と同数の連続したフレームにおける丸め方向フラグと置き換える置換手段と、を含む付記１に記載のデータ埋め込み装置。
（付記９）前記置換手段はさらに、処理の対象となるサブ埋め込みデータが反転されたデータか否かを示す反転フラグを、この反転フラグのビット数と同数の連続したフレームにおける丸め方向フラグであって、サブ埋め込みデータに置き換えられていないものと置き換える付記８に記載のデータ埋め込み装置。
（付記１０）前記分割手段は、前記埋め込みデータを、所定のビット数のサブ埋め込みデータに分割する付記９に記載のデータ埋め込み装置。
（付記１１）前記置換手段は、前記所定のビット数に分割されたサブ埋め込みデータに置き換えられた丸め方向フラグを含むフレームと連続したフレームにおける丸め方向フラグを、前記反転フラグと置き換える付記１０に記載のデータ埋め込み装置。
（付記１２）前記埋め込み手段から出力されるデータを他装置へ送信する送信手段と、
前記所定のビット数を示す補助情報を、前記送信手段とは異なる方法を用いて、前記他装置へ送信する補助情報送信手段と、をさらに備える付記１０又は１１に記載のデータ埋め込み装置。
（付記１３）前記反転判断手段は、
前記サブ埋め込みデータの各ビット値の合計値から、前記ビット数の値を２で除算した値を減算することにより、このサブ埋め込みデータにおける偏度を算出する偏度計算手段と、
データを埋め込むために必要となる偏度累積値を記憶する偏度累積記憶手段と、
処理の対象となるサブ埋め込みデータにおける前記偏度及び前記偏度累積値を比較することにより、このこのサブ埋め込みデータを反転すべきか否かを判断する反転フラグ判断手段と、を含む付記１２に記載のデータ埋め込み装置。
（付記１４）前記反転判断手段は、
連続したサブ埋め込みデータのうち処理対象となるサブ埋め込みデータにおける偏度累積値と、このサブ埋め込みデータにおける反転フラグ判断手段の判断結果に対応する値及び偏度の乗算値と、を加算することにより、次のサブ埋め込みデータにおける偏度累積値を算出する偏度累積計算手段をさらに含む付記１３に記載のデータ埋め込み装置。
（付記１５）埋め込みデータが丸め方向フラグに埋め込まれたフレーム間予測符号化動画像データを記憶する記憶手段と、
取り出し用データを用いて、前記フレーム間予測符号化動画像データの丸め方向フラグから埋め込みデータを取り出す取り出し手段と、
を備えるデータ取り出し装置。
（付記１６）埋め込みデータが丸め方向フラグに埋め込まれたフレーム間予測符号化動画像データを記憶する動画像記憶手段と、
埋め込みデータが埋め込まれる前のフレーム間予測符号化動画像データの連続したフレームにおける丸め方向フラグのビットパターンを特定するためのビットパターン情報を記憶するパターン記憶手段と、
前記ビットパターン情報により特定されるビットパターンと、前記フレーム間予測符号化動画像データの丸め方向フラグの値との排他的論理和を演算する演算手段と、
を備えるデータ取り出し装置。
（付記１７）複数のビットパターン情報のうち、いずれのビットパターン情報が使用されるべきかを示す補助情報を記憶する補助情報記憶手段をさらに備え、
前記パターン記憶手段は複数の前記ビットパターン情報を記憶し、
前記演算手段は、前記パターン記憶手段が記憶する複数のビットパターン情報から、前記補助情報が示すビットパターン情報により特定されるビットパターンを用いて演算を行う、付記１６に記載のデータ取り出し装置。
（付記１８）埋め込みデータが埋め込まれたフレーム間予測符号化動画像データを記憶する動画像記憶手段と、
前記フレーム間予測符号化動画像データにおける連続したフレームを複数のサブフレームに分割するフレーム分割手段と、
前記サブフレームの各フレームから、フレーム間予測符号化動画像データの丸め方向フラグの値を取り出す取り出し手段と、
前記サブフレームにおける丸め方向フラグの値を反転すべきか否かを判断する反転判断手段と、
前記反転判断手段の判断に従って、該当するサブフレームにおける丸め方向フラグの値を反転し埋め込みデータとして出力する反転手段と、
を備えるデータ取り出し装置。
（付記１９）前記フレーム分割手段は、所定のフレーム数のサブフレームに分割する付記１８に記載のデータ取り出し装置。
（付記２０）他の装置から、前記所定のフレーム数に該当する補助情報を受信する補助情報受信手段をさらに備える付記１９に記載のデータ取り出し装置。
（付記２１）前記反転判断手段は、前記サブフレームに分割されていないフレームの丸め方向フラグに埋め込まれた反転フラグの値を基に判断する付記１８〜２０のいずれかに記載のデータ取り出し装置。
【０１４６】
【発明の効果】
本発明によれば、フレーム間予測符号化動画像データにおいて、そのデータ量を変化させることなく、任意のデータを埋め込むことが可能となる。
【図面の簡単な説明】
【図１】単ビットデータ埋め込み処理及び単ビットデータ取り出し処理を示す図である。
【図２】複ビットデータ埋め込み処理及び複ビットデータ取り出し処理を示す図である。
【図３】本発明の実施形態におけるデータ埋め込み装置及びデータ取り出し装置を示す図である。
【図４】単ビットデータ埋め込み処理における丸め方向フラグ入出力部を示す図である。
【図５】複ビットデータ埋め込み処理における丸め方向フラグ入出力部を示す図である。
【図６】表示部における表示例を示す図である。
【図７】単ビットデータ取り出し処理における丸め方向フラグ解析部を示す図である。
【図８】複ビットデータ取り出し処理における丸め方向フラグ解析部を示す図である。
【符号の説明】
１　　　　　　　データ埋め込み装置
２　　　　　　　データ取り出し装置
３　　　　　　　符号化動画像蓄積部
４　　　　　　　符号化動画像バッファ
５　　　　　　　丸め方向フラグ位置検出部
６　　　　　　　埋め込み情報バッファ
７　　　　　　　埋め込み補助情報管理部
８，８ａ，８ｂ　丸め方向フラグ入出力部
９　　　　　　　符号化動画像送出部
１０　　　　　　ネットワーク
１１　　　　　　符号化動画像受信部
１２　　　　　　符号化動画像復号部
１３　　　　　　埋め込み補助情報蓄積部
１４，１４ａ，１４ｂ　丸め方向フラグ解析部
１５　　　　　　表示部
２０ａ，２０ｂ　丸め方向フラグ
２１ａ　　　　　埋め込みデータ
２１ｂ，２１ｃ　埋め込み単位データ
２２ａ，２２ｂ　埋め込み済符号化動画像データ
３１　　　　　　丸め方向フラグビット位置記憶部
３２　　　　　　フレーム番号記憶部
３３　　　　　　埋め込みフレーム番号記憶部
３４　　　　　　フレーム番号比較部
３５　　　　　　排他的論理和演算部
３６　　　　　　丸め方向フラグビット入出力インタフェース
４０　　　　　　丸め方向フラグビット入出力インタフェース
４１　　　　　　全体制御部
４２　　　　　　丸め方向フラグビット位置記憶部
４３　　　　　　フレーム番号記憶部
４４　　　　　　埋め込み単位データ記憶部
４５　　　　　　偏度計算部
４６　　　　　　反転フラグ計算部
４７　　　　　　偏度累積計算部
４８　　　　　　偏度累積記憶部
４９　　　　　　排他的論理和演算部
５１　　　　　　フレーム番号記憶部
５２　　　　　　丸め方向フラグビット記憶部
５３　　　　　　丸め方向パターン発生部
５４　　　　　　排他的論理和演算部
６１　　　　　　フレーム番号記憶部
６２　　　　　　反転ビット位置判定部
６３　　　　　　丸め方向フラグビット記憶部
６４　　　　　　排他的論理和演算部
７１　　　　　　提示画面
７２　　　　　　動画像表示部
７３　　　　　　埋め込みデータ表示部
【図１】
2004080181.tif 000011
【図２】
2004080181.tif 000012
【図３】
2004080181.tif 000013
【図４】
2004080181.tif 000014
【図５】
2004080181.tif 000015
【図６】
2004080181.tif 000016
【図７】
2004080181.tif 000017
【図８】
2004080181.tif 000018