(57)【特許請求の範囲】
【請求項１】
横画素数ｍ、縦画素数ｎの２次元画像にデータｘを重畳するデータ重畳方法であって、
横画素数ｋ（ｋ×ｉ＝ｍ、但しｋ、ｉ、ｍは正整数）、縦画素数ｌ（ｌ×ｊ＝ｎ、但しｌ、ｊ、ｎは正整数）の部分２次元画像を単位として、
複数の前記部分２次元画像の、前記２次元画像における相対的な位置を示す値が前記データｘを表すように、前記複数の部分２次元画像を選択するステップと、
前記選択された複数の部分２次元画像各々において、当該部分２次元画像内の画素値による演算値が、前記データｘには依存せず、当該部分２次元画像内の前記画素値により定まる特定値となるように、当該部分２次元画像の画素値を変更するステップと、を備える
ことを特徴とするデータ重畳方法。
【請求項２】
請求項１記載のデータ重畳方法において、
前記選択するステップは、
前記部分２次元画像の間隔が前記データｘを表すように、前記相対的な位置を示す値を設定するステップを備える
ことを特徴とするデータ重畳方法。
【請求項３】
請求項１に記載のデータ重畳方法において、
前記部分２次元画像が圧縮処理の単位となる２次元部分画像である
ことを特徴とするデータ重畳方法。
【請求項４】
請求項１に記載のデータ重畳方法において、
前記画素値は、前記画素の輝度であり、
前記演算値は、前記部分２次元画像内の画素の輝度の和である
ことを特徴とするデータ重畳方法。
【請求項５】
請求項１に記載のデータ重畳方法で記録した前記データｘを再生するデータ再生方法であって、
横画素数ｍ、縦画素数ｎの前記２次元画像に含まれる、複数の、横画素数ｋ（ｋ×ｉ＝ｍ、ｉは整数）、縦画素数ｌ（ｌ×ｊ＝ｎ、ｊは整数）の部分２次元画像毎に、当該部分２次元画像内の画素値による演算値を調べ、
前記演算値が、当該部分２次元画像内の画素値により定まる特定値となる前記部分２次元画像を複数検出するステップと、
検出した複数の前記部分２次元画像の、前記２次元画像における相対的な位置を示す値を検出するステップと、
検出した前記相対的な位置を示す値に基づき前記データｘを再生するステップと、を備える
ことを特徴とするデータ再生方法。
【請求項６】
請求項５記載のデータ再生方法において、
前記相対的な位置を示す値を検出するステップは、
前記画素値による演算値が前記特定値となる複数の前記部分２次元画像の、前記２次元画像での位置の間隔を検出するステップを備え、
前記再生するステップは、前記間隔から前記データｘを再生するステップを備える
ことを特徴とするデータ再生方法。
【請求項７】
２次元画像データへの情報埋め込み方法において、
前記２次元画像データを、それぞれが複数のブロックからなる複数のマクロブロックに分割するステップと、
前記２次元画像データにおける、各々の前記マクロブロックを構成する前記ブロックの、前記マクロブロック内での位置を示す値が前記埋め込む情報を表すように、複数の前記マクロブロック内の前記ブロックを選択するステップと、
複数の前記選択したブロック各々において、画素値による演算値が、前記埋め込む情報には依存せず、それぞれの前記ブロックの画素値により定まる特定値となるように、前記画素値を変更するステップを備える
ことを特徴とする情報埋め込み方法。
【請求項８】
請求項７記載の情報埋め込み方法において、
前記埋め込む情報の種類数をＡ、前記ブロックの総数をＮ、前記マクロブロックの数をＭとしたときに、
前記マクロブロック内の前記ブロックを選択するステップは、ＡがＮ／Ｍ以下である場合に、前記マクロブロック内の前記ブロックの位置が他のマクロブロック内の選択された前記ブロックの位置と一致するように選択するステップを備える
ことを特徴とする情報埋め込み方法。
【請求項９】
２次元画像データに請求項７に記載の情報埋め込み方法で埋め込まれた情報を読み出す方法であって、
前記情報埋め込み時に、前記マクロブロック内の前記画素値が変更されるブロック位置に対応付けられた、前記埋め込み情報を記憶するステップと、
前記２次元画像データを複数のマクロブロックに分割するステップと、
各々の前記マクロブロック内の各々のブロックの画素値が、当該ブロック毎の画素値により定まる特定の条件を満たすか否かを判定するステップと、
前記特定の条件を満たすブロックの個数を、前記複数のマクロブロック内での前記ブロック位置毎に集計するステップと、
集計した前記ブロックの個数が所定数を越える、前記マクロブロック内の前記ブロック位置に基づき、前記埋め込み情報を特定するステップと、を備える
ことを特徴とする情報読み出し方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データに著作権等の情報を埋め込む方法及びシステムに係わり、特に画像に情報を埋め込む電子透かしに関する。
【０００２】
【従来の技術】
電子透かしは様々なコンテンツに適用されているが、特にここでは画像を例にとって説明する。画像における電子透かしは、画素の値（例えば輝度成分）や周波数成分に変更を加えることで情報を付加し、1組の画像が0または1といった特定の情報を表すようにしている。従来の技術でいうと例えば（清水他：“ピクセルブロックによる静止画像データハイディング”、In proc． of IPSJ 53rd annual conference、 1996）画素の値を微小に変更することで、2つの画素の値の大小関係から0、1を表わしている。しかし情報を付加するときの条件として以下の2点が要求される。
【０００３】
１）情報を付加した画像が原画像とほとんど変らないこと（透かしが不可視であること）。
【０００４】
２）JPEG圧縮("Digital Compression and Coding of Continuous-Tone Still Images" ISO/IEC/0918-1）などの画像変換に対して付加した情報が消失しにくいこと。
【０００５】
上記技術の場合、JPEG圧縮に対する各ビットのエラー率は0。1〜0。2である。そこで、この方式で検出のエラー率を10の−8乗まで小さくするには、透かしを埋め込むビットに10倍以上の冗長度をもたせなければならず、多数の画素の値の変更が必要である。このように、エラー率の減少のためには多数の画素や周波数の変更が必要であり、透かしデータの検出の信頼性とコンテンツの品質の両立は困難であった。
【０００６】
特に動画データの場合、データ量が膨大なためにMPEGなどの画像圧縮処理が必要となり、MPEG圧縮された状態（MPEGストリーム）からの検出が不可欠である。一方、基本機能として画像状態からの検出も必要である。画像状態からのみの検出を考えるなら、検出装置にMPEGデコーダを実装しなければならず、装置のコストがかかるだけでなく処理時間も増大してしまう。
【０００７】
【発明が解決しようとする課題】
データ検出の信頼性を高めながらも画素の変更数を最小限に押さえる必要がある。また、画素の変更方法もコンテンツの品質をできるだけ劣化させない方法を用いることが望ましい。
【０００８】
検出装置のコスト削減のためには、画像状態だけでなく圧縮状態からもデータが検出できなければならない。
【０００９】
【課題を解決するための手段】
本発明では上記の課題に対し、以下に述べる4つの解決手段を提案する。
【００１０】
第一の手段として、変更した画素の位置パターンとしてデータを埋め込み、これを検出する方式を提案する。これにより、より少ない画素の変更で従来の技術と同等の信頼性を持たせることができる。
【００１１】
第二の手段としては、部分画素の総和（または平均値）を特定の値に変更することにより、埋め込みと検出を行う方式を提案する。これにより、部分画素内部で変更量の最適化が可能になり、従来の技術に比べコンテンツの劣化を防ぐことが可能になる。
【００１２】
第三の手段として、第一と第二の情報埋め込み方式より成るデータ重畳装置を提案する。
【００１３】
第四の手段として、第一と第二の情報検出方式より成るデータ検出装置を提案する。
【００１４】
第五の手段として、第一と第二の手段の組み合わせ、すなわち画像をｋ×ｌ画素のブロックに分割して、そのブロックの画素値の和または平均値を特定の条件を満たす値に変更する方式を提案する。
【００１５】
第六の手段として、第五の手段において情報を埋め込むブロックの単位として、JPEGやMPEGなどの圧縮処理の単位となるブロック（例えば８×８画素）を用いる方法を提案する。上記の方法より、画像状態と圧縮状態での埋め込みデータ間に一対一の関係が成立し、画像状態と圧縮状態の両者からデータ検出が可能になる。
【００１６】
【発明の実施の形態】
以下、本発明の実施例を図を用いて説明する。
【００１７】
まず、本発明で提案する課題を解決するための第一の手段の実施例を図１を用いて説明する。（実施例１）図１は、画像における本埋め込み方式を模式的に示した図である。図１において、各ブロック（２）はm×ｎ画素の画像（１）をｋ×ｌ画素の部分2次元画像のブロックに分割したものであり、斜線部分のブロック（３）は画素値変更手段によって、画素値を特定の値になるように変更したブロックを示したものである。ここで埋め込む情報は各ブロックで表わされているのではなく、ブロック間隔ｄで表すようにする。本実施例では、部分2次元画像選択手段により、画素値を変更する部分2次元画像をデータ値ｘに対応した間隔ｄおきに配置し、データｘを画像に埋め込むようにした例である。透かし埋め込み時はデータをブロック間隔ｄに変換し、その間隔で画素値を変更することで情報を付加するものである。透かし検出時は画像から変更されたブロックのパターンを検出することでブロック間隔を読み取り、その間隔をデータに変換することで情報を検出する。本実施例では、データｘに対応したブロック間隔ｄを、各ブロック間にわたってすべて同一としているが、データｘに対応して（d1、d2、d3）等で3ブロック間にわたって間隔を変え、これを周期毎に繰り返すなどブロック間隔が一様でないように画素値を変更するブロックを選択しても同様である。
【００１８】
次に、本発明で提案する課題を解決するための第二の手段の実施例である画素値変更手段について説明する。（実施例２）まず透かし埋め込み時において、図１の画素値を変更する部分2次元画像の各画素値の総和がその総和の近傍の特定値となるように各画素値を変更する。例えば部分画像内の各画素の輝度値の総和が、ある値の倍数となるように変更する。検出時においてはすべての部分2次元ブロックの各画素値の総和を求め、それが特定値、あるいは特定値の近傍の値であることを検出することにより、画素値を変更したブロックを検出する。その場合、画素値の変更は行っておらず、元々の総和が特定値の近傍にあるブロックも検出されるが、パターン一致手段を用いて、パターンの検出及び多数決等の処理を行うことにより、精度を上げた検出を行うことができる。さらに、特定値を画像の位置に依存させるなどして、各部分2次元ブロックに固有の特定値を用いることで、第三者による特定値の推定を困難にすることができる。
【００１９】
次に、本発明で提案する課題を解決するための第三の手段の実施例を図２を用いて説明する。（実施例３）図２は第一の実施例と第二実施例による情報埋め込み方式より成るデータ重畳装置の模式図である。図２において、まず埋め込むデータｘを第一の実施例による手段により部分2次元画像間隔ｄに変換してブロック間隔を決定し、画素値を変更するブロックを決定する。次に、埋め込みたい画像に最初に得た変更ブロックの位置情報を与え、第二の実施例による手段によりブロックの画素値を変更し、データｘを画像に重畳する。
【００２０】
次に、本発明で提案する課題を解決するための第四の手段の実施例を図３を用いて説明する。（実施例４）図３は本発明による情報検出方式より成るデータ検出装置の模式図である。図３において、データｘが重畳された画像の部分2次元画素に対して、画素値を変更したブロックの検出手段により変更したブロックを検出する。次に、パターン検出手段により変更したブロックの間隔からデータｘに変換を行うことで重畳画像からデータｘを再生することができる。
【００２１】
図４は本発明の別の実施例を示したものである。（２３）はパターン検出手段（２１）の位置情報を記憶するための記憶手段であり、図３と同一番号の構成要素は同一の構成要素を示す。本実施例においては、変更ブロック検出手段（２０）で検出した位置情報を一度、記憶手段（２３）に記憶した後、パターン検出手段（２１）によりパターン検出を行うことでデータｘを再生することができる。
【００２２】
図５は本発明を記録媒体に記録するデータに適用した例である。（実施例５）（３２）は本発明のデータ重畳手段であり、（３３）は画像圧縮手段、（３４）は媒体固有のフォーマット手段、（３５）は記録媒体である。2次元画像（３０）に、本発明のデータ重畳方法を用いて電子透かしデータ（３１）を重畳し、画像圧縮手段（３３）で画像圧縮し、フォーマット手段でフォーマットして記録媒体（３５）に2次元画像を記録することにより、電子透かし等のデータを重畳した2次元画像を記録した光ディスク等のメディアを作成することができる。
【００２３】
次に、上記実施例２について図６を用いて補足説明する。（実施例２補足）
図６は画素値変更手段のフローチャートを表わした図である。一例として、部分2次元画像のサイズを８×８とし、部分2次元画像の画素値の総和が５１２の倍数となるように各画素値を加算することにする。すなわち、画素値の和＜特定値の場合を考える。また、各ブロック内の画素は１から６４の画素番号で表わされているとする。
【００２４】
最初にステップ６０１で画素番号I＝1に設定する。ステップ６０２は画素番号Iの画素値を1加算する。
【００２５】
ステップ６０３は８×８画素の部分2次元画像（ブロック）の画素値の和を画素Iの変更に伴って1加算または減算する。ステップ６０４は変更された部分2次元画像の画素値の和が特定値である５１２の倍数に一致するか判定し、一致するのであれば終了し、そうでないならステップ６０５に進むよう指示する。ステップ６０５は部分2次元画像の各画素に対して変更が完了したか判定し、完了なら終了し、そうでないならステップ６０６で画素番号Iのインクリメントを行い、次の画素に対して画素値の変更を行う。
【００２６】
上記のように、各画素の値を単純に変更すると透かし情報が認識される恐れがある場合、特願平９―２３８０３１のように画素毎に変更量を調節する方法で対応できる。
【００２７】
次に、本発明の第六の実施例を説明する。（実施例６）これは、画像状態とその圧縮状態の両者から透かしデータの検出が可能な方式である。
【００２８】
図７は画像圧縮処理に適した画像におけるデータ重畳方式の一実施例である。図７において（７１）は８×８画素の部分２次元画像である。（７１）のように画素値変更手段の対象となる部分２次元画像のサイズをJPEG、MPEGなどの画像圧縮処理の画像処理単位である８×８画素にすることで画像圧縮処理に対して付加した情報が消失しにくくなる。また（８×８画素の画素値の和）＝（MPEG圧縮状態（MPEGストリーム）のDC成分の値）である。従って、部分2次元画像の画素値の和を特定値にするように情報を付加すれば、MPEGストリーム上からDC成分の値が特定値かどうか判定することで情報を抽出できる。
【００２９】
本変更手段の効果としては、画像と圧縮ストリームの双方から付加した情報が抽出可能であり、特に圧縮ストリームからの検出のみを考えればMPEGデコーダを検出装置に実装する必要がなくなりコストの低減につながることなどが挙げられる。
【００３０】
次に、本発明で提案する課題を解決するための第七の実施例を説明する。（実施例７）
図８は画像における本埋め込み方式を模式的に示した図である。
【００３１】
図８において各ブロック（８２）は７２０×４８０画素の画像（８１）を８×８画素の部分2次元画像のブロックに分割したものである。（８３）は各ブロックが６４個集まったマクロブロックを示している。（マクロブロックは８４個）図に示されているようにx番目（１〜ｘ〜８４）のマクロブロック内のｙ番目（１〜ｙ〜６４）のブロックをBxyで表わす。ここで画素値を変更するブロックパターン内のブロックは、一定のブロック間隔（ここでは、ｄ＝６４）をもたせ、埋め込む情報はブロックパターンのシフト量ｍ（０〜ｍ〜６３）で表わす。すなわちブロックパターン（B11、 B21、．．．、 B84 1）、（B12、 B22、．．．、 B84 2）、．．．、（B1 m+1、 B2 m+1、．．．、 B84 m+1）、．．．、（B1 64、 B2 64、．．．、 B84 64）の６４通り（６ビット）の情報を付加することができる。
【００３２】
図では斜線部のブロック（８４）が示すようにブロックパターン（B11、 B21、．．．、 B84 1）を埋め込んでいる模式図である。
【００３３】
図９は上記埋め込み方式のフローチャートを表わした図である。
【００３４】
ステップ９０１では６ビットデータXからブロックパターンのシフト量ｍを算出する。ステップ９０２以降は、ブロックパターン(B11、B21、．．．、 B84 1）をｍブロックシフトしたブロックパターン（B1 m+1、 B2 m+1、．．．、 B84 m+1）に透かし情報を埋め込む操作である。
【００３５】
ステップ９０２は、透かしを埋め込んだブロックの番号ｎを１に設定する。
【００３６】
ステップ９０３は、ブロックパターン内の全てのブロック（８４個）で透かし埋め込みが完了したか判定する。完了であれば終了し、そうでないならステップ９０４に進む。
【００３７】
ステップ９０４では、n番目のマクロブロック内のｍ＋１番目のブロックを指定し、ステップ９０５で対象となるブロックに対して画素値を変更して透かし埋め込みとする。
【００３８】
ステップ９０６は透かしを埋め込んだブロックの個数ｎを１加算するインクリメント処理である。
【００３９】
図１０は上記検出方式のフローチャートを表わした図である。
【００４０】
最初にステップ１００２でブロックパターンのシフト量ｍを０に設定する。
【００４１】
ステップ１００３では、６４通り全てのブロックパターンで検出数Ｄを求めたか判定し、全てのブロックパターンでＤをもとめたのであればステップ１０１２に進み、そうでないならステップ１００４に進む。
【００４２】
ステップ１００４では、マクロブロックの番号ｎと検出数Ｄを１に設定する。
【００４３】
ステップ１００５では、シフト量ｍの全てのマクロブロックにおいて検出が完了したか判定し、完了であればステップ１０１０でシフト量ｍでの検出数DmとしてＤを記憶した後、ステップ１０１１でシフト量ｍのインクリメントを行い他のｍでの検出操作に移る。全てのマクロブロックで検出が完了でなければステップ１００６へ進み、シフト量ｍでｎ番目のマクロブロック内のブロックBn m+1を指定する。
【００４４】
ステップ１００７では該当ブロックの輝度値から透かし情報の検出判定を行い、透かしが検出されればステップ１００８で検出数Ｄの値をインクリメントした後、ステップ１００９で次のマクロブロック内の該当ブロックを指定するためマクロブロック番号ｎのインクリメントを行う。透かしが検出できなければステップ１００９へ進みマクロブロックの番号のみをインクリメントする。
【００４５】
全てのシフト量ｍで検出数Dmを求めた後、すなわちステップ１００３でｍ＝６３と判定された後、ステップ１０１２で透かし挿入時のシフト量ｍを求めるため各シフト量ｍでの検出数Dmの中からしきい値を超えたDmを算出し、そのｍを挿入時のシフト量ｍとし、ステップ１０１３でシフト量ｍよりデータＸの変換を行い、透かし情報を抽出する。
【００４６】
次に、本発明の第八の実施例を説明する。（実施例８）
図１１は画像における本埋め込み方式を模式的に示した図である。斜線部のブロック（１１１）がブロックパターンの一つを表わしている。
【００４７】
図８との違いは、画素値を変更するブロックパターン内のブロック間隔が一定ではなくランダム化されていることである。図８のように、ブロック間隔が等間隔であると、画像の種類によっては透かし情報を誤検出したり、不正者による透かし情報の除去が容易になる恐れがあるからである。
【００４８】
各ブロックパターン内のブロックは、図１２に示された情報とパターンブロックの対応表より、各マクロブロック内でランダムに割り振られていて、６ビットの情報を付加することができる。（図１１で表わされているブロックパターンは図１２のブロックパターン１が対応する。）
図１３は上記埋め込み方式のフローチャートを表わした図である。
ステップ１３０１は、データＸを図１２の対応表からブロックパターンに変換する。ステップ１３０２は、ｎ番めのマクロブロック内のブロックBn An （Anは０から６４までの乱数列）に透かしを埋め込む。他のステップは図９で述べたステップの処理に対応する。
【００４９】
図１４は上記検出方式のフローチャートを表わした図である。
【００５０】
ステップ１４０１で、図１２で示したブロックパターン番号pを１に設定する。
【００５１】
ステップ１４０２で、６４個の全てのブロックパターンを用いて検出が完了したか判定し、完了であればステップ１４０６へ進み、完了でなければステップ１００４へ進みカウントｎと検出数Dの初期化を行う。
【００５２】
ステップ１００５の判定処理でひとつのブロックパターンにおいて８４個の全てのマクロブロックで検出が完了したなら、ステップ１４０４でブロックパターンｐでの検出数Dpとして検出数Dを記憶してステップ１４０５でｐのインクリメントを行う。ステップ１００５で検出が完了していなければ、ステップ１４０３でn番目のマクロブロック内のAn番目のブロックBn Anを指定し、ステップ１００７で透かし検出を行う。
【００５３】
ステップ１４０２の判定処理で全てのブロックパターンを用いて検出が完了であれば、ステップ１４０６で各Dｐの中からしきい値を超えたDｐを算出し、そのｐを挿入時のブロックパターンｐとし、ステップ１４０７で図１２の対応表からブロックパターンｐよりデータＸの変換を行い、透かし情報を抽出する。
【００５４】
次に、本発明の第九の実施例を説明する。（実施例９）
第七と第八の手段の実施例では、透かし情報として６ビットの情報を付加することができた。本実施例ではブロックパターン内のブロックの重複を許すことで、ブロックパターンのブロック数を８４個に保ちながら６ビット以上の情報を埋め込むことを可能にする。
【００５５】
図１５は本埋め込み方式で画像に７ビットの透かし情報を付加した模式図である。ブロックパターンは全部で１２８個あり、図では各ブロックパターンのブロックの配置（斜線部）がマクロブロックごとに示されている。ブロックパターン１から６４の埋め込み方法は、第七の手段の実施例に従う。すなわちブロックパターン１から順に６４まで
（B11、 B21、．．．、 B84 1）、（B12、 B22、．．．、 B84 2）
、．．．、（B1 64、 B2 64、．．．、 B84 64）
で表わされる。ブロックパターン６５から１２８までは、図が示すように以下の規則に従う。
【００５６】
ブロックパターンｐ（６５〜ｐ〜１２８）は次のように表わされる。
【００５７】
（B1 (p-1)mod64+1、 B2 (p-1)mod64+2、．．．、 Bn (p-1)mod64+n、．．．、B84 (p-1)mod64+84）
但し、A mod BはAをBで割った余りを表わし、Bの２番目添え字は６４を超えると１に戻るものとする。
【００５８】
（つまりB80 65=B80 1、 B80 66=B80 2）
上記の様にブロックパターンを設定すると、ブロックパターンの各マクロブロック内の埋め込み位置は、必ず他のブロックパターンの同じマクロブロック内の埋め込み位置と一致するが、任意ブロックパターン同士の埋め込み位置の一致個数は２個である。例えば、図においてブロックパターン６５のマクロブロック２の透かし埋め込み位置はB2 2であるが、これはブロックパターン２のマクロブロック２の埋め込み位置と同じである。しかしパターン全体でみると、ブロックパターン６５と２の透かし位置が一致する個数は２個（マクロブロック２とマクロブロック６５の透かし位置が一致）であり、他のブロックパターンについても同様である。このようにブロックパターンの一部を他のブロックパターンと重複することでより多くの情報を付加することが可能である。また、第八の手段の実施例を用いて、本埋め込み方式にランダムな要素を取り入れることも可能である。
【００５９】
本埋め込み方式のフローチャートと検出方式のフローチャートはAnを本方式に合わせて設定すれば、図１３と図１４に一致するので説明を省く。
【００６０】
次に、本発明の第十の実施例を図１６、１７を用いて説明する。（実施例１０）
本実施例では、実施例９を応用して８ビット以上の透かし情報を付加することを考える。
【００６１】
図１６、１７は、本埋め込み方式画像で８ビットの透かし情報を付加した模式図である。（図１５参照）ブロックパターンは、全部で２５６個ある。他の表現は図１５と同様である。
【００６２】
ブロックパターンは、以下の様に表わされる。（図１６、１７参照）
ブロックパターンｐが１〜ｐ〜６４の場合
実施例９と同様。
【００６３】
ｐが６５〜ｐ〜１２８の場合、ブロックパターンｐは
（B1 (p-1)mod64+1、 B2 (p-1)mod64+1+7、．．．、 Bn (p-1)mod64+1+7(n-1)、．．．、B84 (p-1)mod64+1+7*83）
・ｐが１２９〜ｐ〜１９２の場合、ブロックパターンｐは（B1 (p-1)mod64+1、 B2 (p-1)mod64+1+11、．．．、 Bn (p-1)mod64+1+11(n-1)、．．．、B84 (p-1)mod64+1+11*83）
・ｐが１９３〜ｐ〜２５６の場合、ブロックパターンｐは（B1 (p-1)mod64+1、 B2 (p-1)mod64+1+13、．．．、 Bn (p-1)mod64+1+13(n-1)、．．．、B84 (p-1)mod64+1+13*83）
但し、実施例９と同様に、A mod BはAをBで割った余りを表わし、Bの２番目添え字は６４を超えると１に戻るものとする。
【００６４】
（つまりB80 65=B80 1、 B80 66=B80 2）
上記の様に埋め込みパターンを設定すれば、ブロックパターン同士の重なりを最小限に押さえながら情報を埋め込むことができる。すなわち、任意のブロックパターン同士の重なり数を均一にすることで重なり数を最小化できる。また、同様の方式で９ビット以上の情報を付加することが可能である。
【００６５】
【発明の効果】
本発明で提案によりデータ検出の信頼性を高めながらも、コンテンツの変更を最小限に押さえ、品質を劣化させずに電子透かし等のデータを2次元画像に重畳し、また重畳した2次元画像からデータを検出することができる。
【００６６】
また、部分2次元画像のサイズを指定することで、画像圧縮処理に対して付加した情報が消失しになるだけでなく、画像と圧縮ストリームの双方から付加した情報が抽出可能である。特に圧縮ストリームからの検出のみを考えれば、MPEGデコーダを検出装置に実装する必要がなくなりコストの低減につながることが挙げられる。
【図面の簡単な説明】
【図１】画像におけるデータ重畳方式の一実施例を示す図である。
【図２】データ重畳装置の一実施例を示す図である。
【図３】データ再生方法の一実施例を示す図である。
【図４】データ再生装置の一実施例を示す図である。
【図５】本発明を、記録媒体に記録する画像データに応用した一実施例を示す図である。
【図６】画素値変更手段の一実施例を示すフローチャートである。
【図７】画像におけるデータ重畳方式の一実施例を示す図である。
【図８】画像におけるデータ重畳方式の一実施例を示す図である。
【図９】画像におけるデータ埋め込み方式の一実施例を示すフローチャートである。
【図１０】画像におけるデータ検出方式の一実施例を示すフローチャートである。
【図１１】画像におけるデータ重畳方式の一実施例を示す図である。
【図１２】画像におけるデータ重畳方式の一実施例を示す対応表である。
【図１３】画像におけるデータ埋め込み方式の一実施例を示すフローチャートである。
【図１４】画像におけるデータ検出方式の一実施例を示すフローチャートである。
【図１５】画像におけるデータ重畳方式の一実施例を示す図である。
【図１６】画像におけるデータ重畳方式の一実施例を示す図である。
【図１７】画像におけるデータ重畳方式の一実施例を示す図である。
【符号の説明】
１…ｍ×ｎ画像、２…ｋ×ｌ部分2次元画像（ブロック）、３…変更された部分2次元画像（ブロック）、１０…データ重畳装置、１１…ブロックの画素値の総和を特定値に変更する変更手段、１２…部分2次元画像間隔ｄへの変更手段、２０…変更ブロック検出手段、２１…パターン検出手段、２２…データｘ、２３…位置記録手段、３０…2次元画像、３１…データｘ、３２…データ重畳手段、３３…画像圧縮手段、３４…媒体固有のフォーマット手段、３５…記録媒体、７１…８×８部分2次元画像（ブロック）、８１…７２０×４８０画像、８２…８×８部分2次元画像（ブロック）、８３…マクロブロック（６４ブロック）、８４…変更された部分2次元画像（ブロック間隔６４）、１１１…変更された部分2次元画像（ブロック間隔ランダム）、６０１…画素番号の設定処理、６０２…画素値変更処理、６０３…画素値の和変更処理、６０４…画素和＝特定値の判定処理、６０５…画素番号＝６４判定処理、６６０６…画素番号インクリメント処理、９０１…データXからパターンシフトｍへの変換処理、９０２…カウントｎ設定処理、９０３…ｎ＝６４判定処理、９０４…埋め込み位置特定処理、９０５…透かし埋め込み処理、９０６…ｎのインクリメント処理、１００２…シフト量ｍ設定処理、１００３…ｍ＝６３判定処理、１００４…カウントｎ及び検出数D設定処理、１００５…ｎ＝８４判定処理、１００６…ブロック指定処理、１００７…透かし検出判定処理、１００８…検出数Dのインクリメント処理、１００９…カウントｎのインクリメン処理、１０１０…ｍシフトでの検出数Dm記憶処理、１０１１…シフト量ｍのインクリメント処理、１０１２…しきい値によるｍ算出処理、１０１３…シフト量ｍからデータXへの変換処理、１３０１…データXからパターンブロックへの変換処理、１３０２…特定ブロックへの透かし埋め込み処理、１４０１…ブロックパターン番号ｐの設定処理、１４０２…ｐ＝６４判定処理、１４０３…特定ブロック指定処理、１４０４…ブロックパターンｐでの検出数Dp記憶処理、１４０５…ブロックパターン番号ｐのインクリメント処理、１４０６…しきい値によるブロックパターン番号ｐの算出処理、１４０７…ブロックパターン番号ｐからデータXへの変換処理。
【図１】
0003902863.tif 000002
【図２】
0003902863.tif 000003
【図３】
0003902863.tif 000004
【図４】
0003902863.tif 000005
【図５】
0003902863.tif 000006
【図６】
0003902863.tif 000007
【図７】
0003902863.tif 000008
【図８】
0003902863.tif 000009
【図９】
0003902863.tif 000010
【図１０】
0003902863.tif 000011
【図１１】
0003902863.tif 000012
【図１２】
0003902863.tif 000013
【図１３】
0003902863.tif 000014
【図１４】
0003902863.tif 000015
【図１５】
0003902863.tif 000016
【図１６】
0003902863.tif 000017
【図１７】
0003902863.tif 000018