(57)【特許請求の範囲】
【請求項１】
データを所定の処理単位で分割し、前記所定の処理単位毎に符号化データを生成する符号化ステップと、
前記符号化データの最後に挿入された補正ビットの全部又は一部に代えて透かし情報を埋め込む補正ビット制御ステップと、
前記透かし情報が埋め込まれた符号化データからデータストリームを生成するストリーム生成ステップと、を有することを特徴とするデータに透かし情報を埋め込む方法。
【請求項２】
前記補正ビット制御ステップは、前記透かし情報の埋め込みが終了する前に、符号化すべきデータを全て符号化してしまった場合は、埋め込みができなかった前記透かし情報を切り捨てることを特徴とする請求項１記載のデータに透かし情報を埋め込む方法。
【請求項３】
データを所定の処理単位で分割し、前記所定の処理単位毎に符号化データを生成する符号化ステップと、
前記符号化データから符号テーブルを生成する符号テーブル生成ステップと、
透かし情報を分割して前記符号テーブルに埋め込む透かし情報埋め込みステップと、
前記透かし情報が埋め込まれた前記符号テーブルを含むヘッダを生成し、前記符号化データに付加するヘッダ生成ステップと、
前記ヘッダが付加された前記符号化データからデータストリームを生成するストリーム生成ステップと、を有することを特徴とするデータに透かし情報を埋め込む方法。
【請求項４】
前記符号テーブルはハフマンテーブルであり、
前記透かし情報埋め込みステップは、分割した前記透かし情報を前記ハフマンテーブルに埋め込むことを特徴とする請求項３記載のデータに透かし情報を埋め込む方法。
【請求項５】
前記透かし情報埋め込みステップは、前記符号化ステップが使用することのない符号語を前記符号テーブルに付加し、分割した前記透かし情報を前記符号語が付加された前記符号テーブルに埋め込むことを特徴とする請求項３記載のデータに透かし情報を埋め込む方法。
【請求項６】
請求項１に記載のデータに透かし情報を埋め込む方法の、データを所定の処理単位で分割し、前記所定の処理単位毎に符号化データを生成する符号化ステップと、
前記符号化データの最後に挿入された補正ビットの全部又は一部に代えて透かし情報を埋め込む補正ビット制御ステップと、
前記透かし情報が埋め込まれた符号化データからデータストリームを生成するストリーム生成ステップとをコンピュータに実行させるためのプログラムを記録したことを特徴とするプログラム記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像や音声などのマルチメディア・データに何らかの情報を透かし情報として埋め込む方法に関するものである。
【０００２】
【従来の技術】
インターネット、ＤＶＤ（デジタル・バーサイタル・ディスク）、デジタル衛星放送の普及に伴って、映像や音楽がデジタル・データとして配信されるようになり、このようなメディアを介して受け取った映像、音声データは、ユーザの手で手軽に複製・編集することが可能になっている。これに伴い、映像、音声データなどが不正に使用、複製される問題が生じ、こうした映像、音声データといったデジタル著作物の著作権問題が深刻化してきている。さらに、インターネットを利用した電子商取引などでは、個人情報を含む様々な情報のやりとりが行われるようになっており、このような情報をいかに秘匿するかということも問題になっている。
【０００３】
このような動きの中で、著作物の不正コピー防止や、秘匿伝送を実現する技術として、デジタル著作物にロゴ・マークなどを埋め込むなど、データに透かし情報を隠し持たせる「電子透かし技術（digital  watermark）」が注目されている。
【０００４】
図１５（ｂ）は、従来の技術による、データに透かし情報を埋め込む方法により動作する装置の構成を示すブロック図である。以下、前記装置の動作を述べながら、従来の技術によるデータに透かし情報を埋め込む方法を、図を参照して説明する。
【０００５】
まず、直交変換手段１５０１はデータを入力し、ＤＣＴ（Discrete  Cosine  Transform）やＦＦＴ（Fast  Fourier  Transform）などの直交変換を施し、周波数成分を透かし情報埋め込み手段１５０２に出力する。
【０００６】
透かし情報埋め込み手段１５０２は入力された周波数成分に透かし情報の埋め込みを行い、量子化手段１５０３へ入力する。
【０００７】
ここで図１５（ｂ）は、画像データストリームの単位となる一枚の画像データに周波数変換を施した結果を示す図である。図に示すように、点線部は人間の知覚上敏感な部分、点線部以外は知覚上敏感でない部分（冗長部分）を表し、透かし情報は、知覚上問題がないように、基本的に、画像データ中の冗長部分に埋め込む（図中塗りつぶし部分）が、量子化処理を施されると、削除される可能性が高いので、知覚上敏感な部分にも一部埋め込みを行う（図中斜線部分）。
【０００８】
次に、量子化手段１５０３は入力されたデータに、量子化を施し、符号化手段１５０４へ出力する。
【０００９】
符号化手段１５０４は入力されたデータを符号語に変換し、符号データとして該装置の外部へ出力する。
【００１０】
【発明が解決しようとする課題】
しかしながら、上述した従来の技術によるデータに電子透かしを埋め込む方法は、知覚上敏感な部分に対して透かし情報を埋め込むことから、この部分への透かし情報の埋め込み量によっては、画質を劣化させてしまうという問題が生じる。
【００１１】
また、冗長部分へ埋め込んだ透かし情報をできるだけ除去しないように量子化処理を行えば、符号データ量の増加を招く。
【００１２】
また、透かし情報は、符号化の処理単位全体に埋め込まれているが、透かし情報を埋め込まれた符号データを伝送などにより、損失した場合には、透かし情報を復元することができない。
【００１３】
また、知覚上敏感な部分へ埋め込んだ透かし情報は、ユーザに検出され易く、冗長部分へ埋め込んだ透かし情報は圧縮によって削除される恐れがあり、透かし情報を取り除いて、データの改ざんをできるようになる。
【００１４】
本発明は、上記のような課題に鑑みてなされたものであり、以下のようなデータに透かし情報を埋め込む方法を提供することを目的とする。すなわち、本発明は、従来のデータに透かし情報を埋め込む方法は、透かし情報の埋め込む量によっては、画質を劣化させるという課題を考慮して、画質を劣化させることなく、データに透かし情報を埋め込む方法およびプログラム記録媒体を提供することを目的とする。
【００１５】
また、本発明は、透かし情報をできるだけ除去しないよう量子化を行うことによって、符号データ量の増加を招くという課題を考慮して、符号データ量を増加させることなく、データに透かし情報を埋め込む方法およびプログラム記録媒体を提供することを目的とする。
【００１６】
また、本発明は、従来のデータに透かし情報を埋め込む方法は、符号化の処理単位全体に透かし情報を埋め込んでいたため、透かし情報を埋め込まれた符号データを損失してしまった場合には、透かし情報を復元することができないという課題を考慮して、データの損失に対しても強い、データに透かし情報を埋め込む方法およびプログラム記録媒体を提供することを目的とする。
【００１７】
また、本発明は、透かし情報を取り除いて、データの改ざんができるようになるという課題を考慮して、圧縮によって削除されず、容易に検出できない透かし情報を埋め込む、データに透かし情報を埋め込む方法およびプログラム記録媒体を提供することを目的とする。
【００１８】
【課題を解決するための手段】
上記の目的を達成するため、第１の本発明のデータに透かし情報を埋め込む方法は、データを所定の処理単位で分割し、前記所定の処理単位毎に符号化データを生成する符号化ステップと、前記符号化データの最後に挿入された補正ビットの全部又は一部に代えて透かし情報を埋め込む補正ビット制御ステップと、前記透かし情報が埋め込まれた符号化データからデータストリームを生成するストリーム生成ステップと、を有することを特徴とする。
また、第２の本発明のデータに透かし情報を埋め込む方法は、第１の本発明のデータに透かし情報を埋め込む方法において、前記補正ビット制御ステップは、前記透かし情報の埋め込みが終了する前に、符号化すべきデータを全て符号化してしまった場合は、埋め込みができなかった前記透かし情報を切り捨てることを特徴とする。
また、第３の本発明のデータに透かし情報を埋め込む方法は、データを所定の処理単位で分割し、前記所定の処理単位毎に符号化データを生成する符号化ステップと、前記符号化データから符号テーブルを生成する符号テーブル生成ステップと、透かし情報を分割して前記符号テーブルに埋め込む透かし情報埋め込みステップと、前記透かし情報が埋め込まれた前記符号テーブルを含むヘッダを生成し、前記符号化データに付加するヘッダ生成ステップと、前記ヘッダが付加された前記符号化データからデータストリームを生成するストリーム生成ステップと、を有することを特徴とする。
また、第４の本発明のデータに透かし情報を埋め込む方法は、第３の本発明のデータに透かし情報を埋め込む方法において、前記符号テーブルはハフマンテーブルであり、前記透かし情報埋め込みステップは、分割した前記透かし情報を前記ハフマンテーブルに埋め込むことを特徴とする。
また、第５の本発明のデータに透かし情報を埋め込む方法は、第３の本発明のデータに透かし情報を埋め込む方法において、前記透かし情報埋め込みステップは、前記符号化ステップが使用することのない符号語を前記符号テーブルに付加し、分割した前記透かし情報を前記符号語が付加された前記符号テーブルに埋め込むことを特徴とする。
また、第６の本発明のプログラム記録媒体は、第１の本発明のデータに透かし情報を埋め込む方法の、データを所定の処理単位で分割し、前記所定の処理単位毎に符号化データを生成する符号化ステップと、前記符号化データの最後に挿入された補正ビットの全部又は一部に代えて透かし情報を埋込む補正ビット制御ステップと、前記透かし情報が埋め込まれた符号化データからデータストリームを生成するストリーム生成ステップとをコンピュータに実行させるためのプログラムを記録したことを特徴とする。
【００１９】
【発明の実施の形態】
以下に、本発明の実施の形態を図面を参照して説明する。
【００２０】
（実施の形態１）
図１は、本発明の実施の形態１による、データに透かし情報を埋め込む方法により動作する装置の構成を示すブロック図である。図に示すように、本装置は、データの入力を受け、これを符号化する符号化手段１０１と、前記符号化されたデータより符号データ・ストリームを生成する符号データ・ストリーム生成手段１０２とから構成されている。ただし、符号データ・ストリーム生成手段１０２は、ヘッダ生成手段１０３と、透かし情報埋め込み手段１０４とを有するものである。
【００２１】
以下、上記の構成を有する本装置の動作を述べながら、本発明の実施の形態１のデータに透かし情報を埋め込む方法を説明する。
【００２２】
はじめに、データは符号化手段１０１によって、所定の処理単位に分割され、この処理単位毎に符号化を施される。図６（ａ）は符号化の対象となるデータの一例を示す図である。図に示すように、データは、所定の処理単位を有する６つのデータに分割されている。ただし図中斜線部は処理単位の大きさを示す。
【００２３】
次に符号化手段１０１で所定の処理単位毎に符号化されたデータは、符号データとして、符号データ・ストリーム生成手段１０２に入力される。符号データ・ストリーム生成手段１０２において、符号化手段１０１より入力された符号データには、ヘッダ生成手段１０４によって、ヘッダが付加される。ここで図６（ｂ）に符号データにヘッダが付加された状態を示す。ヘッダには該符号データに関する様々な情報が記述されており、符号データの先頭に付加される。
【００２４】
ヘッダが付加された符号データは、透かし情報埋め込み手段１０５に入力され、透かし情報が埋め込まれる。図６（ｃ）に透かし情報が埋め込まれた符号データを示す。図に示すように、透かし情報は、符号データの個数に応じて分割されており、この分割された透かし情報が、処理単位の符号データに埋め込まれる。
【００２５】
図６（ｄ）に、図６（ａ）に示したデータを符号化するとともに透かし情報を埋め込んだ符号データからなる符号データ・ストリームを示す。図に示すように、透かし情報は分割されて、各符号データ毎に埋め込みが行われている。
【００２６】
このように、本発明の実施の形態１によるデータに透かし情報を埋め込む方法によれば、データを所定の処理単位で符号化しておいてから透かし情報を埋め込むようにしたことにより、データの劣化を伴うことなく透かしを入れることができる。
【００２７】
また、本実施の形態によるデータに透かし情報を埋め込む方法によれば、符号データの増加を伴うことなく透かしを入れることができる。
【００２８】
また、データに透かし情報を埋め込む方法によれば、符号化によって削除されるなく透かし情報を入れることができる。
【００２９】
なお、図６（ｃ）に示した、各符号データに埋め込まれる透かし情報の量は、特に定める必要はなく、その処理単位内で埋め込みができる量だけ埋め込みを行う。
（実施の形態２）
図２は、本発明の実施の形態２による、データに透かし情報を埋め込む方法により動作する装置の構成を示すブロック図である。図に示すように、図１と同一符号は同一手段または同一部である。本装置は、データの入力を受け、これを符号化する符号化手段１０１と、前記符号化されたデータより符号データ・ストリームを生成する符号データ・ストリーム生成手段２０２とから構成されている。ただし、符号データ・ストリーム生成手段２０２は、本実施の形態１にて説明した装置に加えて、埋め込み情報制御手段２０５を更に有するものである。
【００３０】
以下、上記の構成を有する本装置の動作を述べながら、本発明の実施の形態２のデータに透かし情報を埋め込む方法を説明する。
【００３１】
本実施の形態と実施の形態１との相違点は、埋め込み順序制御手段２０５による動作があるかないかである。従って、本実施の形態の説明においては、埋め込み順序制御手段２０５が、透かし情報埋め込み手段１０４を制御して、透かし情報を埋め込ませる動作を中心に述べる。
【００３２】
はじめに、符号手段１０１は、図７（ａ）に示すように、データを所定の処理単位Ｄ１，Ｄ２，Ｄ３，Ｄ４，Ｄ５，Ｄ６に分割して符号化を行うが、各処理単位毎の符号化は、Ｄ１，Ｄ３，Ｄ２，Ｄ４，Ｄ６，Ｄ５の順序で行っているものとする。
【００３３】
上記のようにして符号化されたデータ（符号データ）は、符号化の順に符号データ・ストリーム生成手段２０２にそれぞれ入力される。符号データ・ストリーム生成手段２０２においては、透かし情報埋め込み手段１０４には各符号データが、また埋め込み順序制御手段２０５には各符号化データに関する情報がそれぞれ入力される。
【００３４】
埋め込み順序制御手段２０５は、入力された各符号データに関する情報より、分割した透かし情報を、それぞれいずれの符号データに対して埋め込みを行うかを判断して、透かし情報埋め込み手段１０４を制御する。今回の場合は、符号化された順序で透かし情報を埋め込むため、埋め込み順序制御手段２０５は、透かし情報埋め込み手段１０４に、各符号データが入力された順に透かし情報を埋め込むよう制御する。ここで図７（ｂ）に、データが符号データ・ストリーム生成手段２０２により符号化されるとともに、透かし情報を埋め込まれている状態を示す。所定の処理単位を有する個々の符号化データにおいて、それぞれ該符号化データの符号化された順番にしたがって透かし情報が埋め込まれていることが分かる。
【００３５】
なお、透かし情報の埋め込み順序は、符号データの復号および再生順序にしたがうようにしてもよい。ここで図７（ｃ）は、図７（ａ）に示す（符号化された）データの復号および再生順序が、Ｄ１，Ｄ３，Ｄ２，Ｄ４，Ｄ６，Ｄ５である場合の符号データ・ストリームを示す図である。図に示すように、分割された透かし情報は、符号データの格納順である、Ｄ１，Ｄ３，Ｄ２，Ｄ４，Ｄ６，Ｄ５ではなく、復号および再生順である、Ｄ１，Ｄ２，Ｄ３，Ｄ４，Ｄ５，Ｄ６にしたがって、それぞれ埋め込まれていることが分かる。
（実施の形態３）
図３は、本発明の実施の形態３による、データに透かし情報を埋め込む方法により動作する装置の構成を示すブロック図である。図に示すように、図１と同一符号は同一手段または同一部である。本装置は、データの入力を受け、これを符号化する符号化手段１０１と、前記符号化されたデータより符号データ・ストリームを生成する符号データ・ストリーム生成手段３０２とから構成されている。ただし、符号データ・ストリーム生成手段３０２は、本実施の形態１にて説明した装置の各手段に加えて、補正ビット制御手段３０５を更に有するものである。
【００３６】
以下、上記の構成を有する本装置の動作を述べながら、本発明の実施の形態３のデータに透かし情報を埋め込む方法を説明する。
【００３７】
本実施の形態と実施の形態１との相違点は、補正ビット制御手段３０５があるかないかである。従って、本実施の形態の説明においては、補正ビット制御手段３０５が、透かし情報埋め込み手段１０４を制御して、透かし情報を埋め込ませる動作を中心に述べる。
【００３８】
はじめに、符号手段１０１は、図１０（ａ）に示すように、データを所定の処理単位Ｄ１，Ｄ２，Ｄ３，Ｄ４，Ｄ５，Ｄ６に分割して符号化を行うが、各処理単位毎の符号化は、Ｄ１，Ｄ２，Ｄ３，Ｄ４，Ｄ５，Ｄ６の順序で行っているものとする。
【００３９】
次に図８（ａ）は、符号データに付加されている補正ビットを示す図である。図に示すように、符号化手段１０１の動作により、符号データの最後が、バイト単位で収まってない場合は、バイト単位で収まるように、該符号データの最後に補正ビットが挿入されている。
【００４０】
上記のようにして符号化されたデータは、符号データ・ストリーム生成手段３０２に入力される。符号データ・ストリーム生成手段３０２においては、透かし情報埋め込み手段１０４には符号データが、また補正ビット制御手段３０５には各符号化データに関する情報がそれぞれ入力される。
【００４１】
補正ビット制御手段３０５は、入力された各符号データに関する情報より、入力された符号データへの補正ビット数を算出し、算出した補正ビット数分だけ透かし情報の埋め込みを行うよう、透かし情報埋め込み手段１０４を制御する。
【００４２】
ここで図８（ｂ）は、符号データがＤ１から降べきの順に符号化され、その順序で透かし情報が埋め込まれていることを示す図である。図に示すように、透かし情報は、各符号データの補正ビットを利用して埋め込まれている。ただし、Ｄ５の符号データには元から補正ビットが含まれていないので、透かし情報は埋め込まれていない。また、Ｄ６の符号データの補正ビットについては、埋め込みの対象となる透かし情報の情報量が、もともと該符号データに含まれている補正ビット数よりも少なかったため、残りの部分を再び補正ビットで補っている。
【００４３】
また、補正ビットを利用して透かし情報を埋め込む際に、元々の補正ビットの総量が、透かし情報よりも少ない等の理由で、符号データ・ストリームに全ての透かし情報を埋め込むことが不可能である場合は、埋め込みができない透かし情報を切り捨てることができる。図８（ｃ）は、符号化手段１０１が、図１０に示すデータをＤ１からＤ６の処理単位で分割し、各処理単位毎にＤ１，Ｄ２，Ｄ３，Ｄ４，Ｄ５，Ｄ６の順で符号化を行った符号データに、補正ビットを利用して透かし情報を埋め込んで生成した符号データ・ストリームを示す図である。図に示すように、透かし情報が、符号データ・ストリームにすべて埋め込むことができない場合は、透かし情報埋め込み手段３０５は、埋め込みができなかったデータを切り捨てる。このとき、分割した透かし情報においては、重要な情報ほど、切り捨てられないように、先頭の符号データへ含まれるように配置することができる。
【００４４】
なお、本実施の形態は、各符号データの本体部の補正ビットに透かし情報を埋め込むものとして説明をおこなったが、これに限定するものではなく、各符号データのヘッダにも補正ビット、および、ユーザ領域の部分で利用できる部分が存在すれば、その部分にも透かし情報の埋め込みを行うようにしてもよい。
【００４５】
（実施の形態４）
図４は、本発明の実施の形態４による、データに透かし情報を埋め込む方法により動作する装置の構成を示すブロック図である。図に示すように、図１と同一符号は同一手段または同一部である。本装置は、データの入力を受け、これを符号化する符号化手段１０１と、前記符号化されたデータより符号データ・ストリームを生成する符号データ・ストリーム生成手段４０２とから構成されている。ただし、符号データ・ストリーム生成手段４０２は、本実施の形態１にて説明した装置の各手段に加えて、繰り返し制御手段４０５を更に有するものである。
【００４６】
以下、上記の構成を有する本装置の動作を述べながら、本発明の実施の形態４のデータに透かし情報を埋め込む方法を説明する。
【００４７】
本実施の形態と実施の形態１との相違点は、繰り返し制御手段４０５があるかないかである。従って、本実施の形態の説明においては、繰り返し制御手段６０５が、透かし情報埋め込み手段６０４を制御して、透かし情報をデータに埋め込む動作を中心に述べる。
【００４８】
はじめに、実施の形態３の場合と同様、符号化手段１０１は、図１０（ａ）に示すように、データを所定の処理単位Ｄ１，Ｄ２，Ｄ３，Ｄ４，Ｄ５，Ｄ６に分割して符号化を行い、各処理単位毎の符号化を、Ｄ１，Ｄ２，Ｄ３，Ｄ４，Ｄ５，Ｄ６の順序で行っているものとする。
【００４９】
上記のようにして符号化されたデータ（符号データ）は、符号化の順に符号データ・ストリーム生成手段２０２にそれぞれ入力される。符号データ・ストリーム生成手段４０２においては、透かし情報埋め込み手段１０４には各符号データが、また繰り返し制御手段４０５には各符号化データに関する情報がそれぞれ入力される。
【００５０】
まず、透かし情報埋め込み手段１０４は、繰り返し制御手段４０５の制御に従って、処理単位Ｄ１である符号データに透かし情報の埋め込みを行う。
【００５１】
次に、処理単位Ｄ２である符号データが入力されると、繰り返し制御手段４０５は、透かし情報埋め込み手段１０４に、符号データＤ１に埋め込んだ透かし情報を、再び符号データＤ２に埋め込むよう制御する。
【００５２】
以降、Ｄ３，Ｄ４，Ｄ５，Ｄ６の符号データに対しても、繰り返し制御手段４０５は、透かし情報埋め込み手段１０４に、同一の透かし情報を埋め込むよう制御する。ここで図９（ａ）に、この場合の符号データ・ストリームを示す。符号データ・ストリームを構成する各符号データに対し、同一の透かし情報が埋め込まれていることがわかる。
【００５３】
なお、各符号データは、さらに低階層の処理単位を有する符号データに分割されていてもよく、透かし情報は、その低階層の符号データに分割して埋め込まれてもよい。この場合の符号データ・ストリームの構成を図９（ｂ）に示す。図１７に示すように、符号データＳ１，Ｓ２，Ｓ３，Ｓ４，Ｓ５，Ｓ６には、いずれも同一の透かし情報が埋め込まれ、例えば符号データＳ１はさらに下の階層の処理単位を有する符号データＤ１、Ｄ２，Ｄ３，Ｄ４，Ｄ５，Ｄ６により構成され、これら低階層の符号データＤ１〜Ｄ６には、前記同一の透かし情報が、更に分割して埋め込まれている。
（実施の形態５）
実施の形態５では、本実施の形態１における、図６（ａ）に示す各処理単位の符号データに付加されているヘッダに、符号テーブルが含まれる場合の、データに透かし情報を埋め込む方法を説明する。
【００５４】
図５は、本発明の実施の形態５による、データに透かし情報を埋め込む方法により動作する装置の構成を示すブロック図である。図に示すように、本装置は、データの入力を受け、これを符号化する符号化手段１０１と、前記符号化されたデータより符号データ・ストリームを生成する符号データ・ストリーム生成手段５０２とから構成されている。ただし、符号データ・ストリーム生成手段５０２は、ヘッダ生成手段５０３、透かし情報埋め込み手段５０４および符号テーブル生成手段５０５を有するものである。
【００５５】
以下、上記の構成を有する本装置の動作を述べながら、本発明の実施の形態５のデータに透かし情報を埋め込む方法を説明する。
【００５６】
はじめに、符号化手段１０１で符号化されたデータは、所定の処理単位毎に分割され、この処理単位毎に符号化を施された符号データとして、符号データ・ストリーム生成手段５０２に入力される。符号データ・ストリーム生成手段５０２において、符号データはヘッダ生成手段５０３および符号テーブル生成手段５０５に入力され、符号テーブル生成手段５０５は、この入力された符号データに使用されている符号テーブルを生成する。この時、透かし情報埋め込み手段５０４は生成された符号テーブルに透かし情報の埋め込みを行う。
【００５７】
符号テーブル生成手段５０５は透かし情報が埋め込まれた符号テーブルをヘッダ生成手段５０３に入力し、ヘッダ生成手段５０４は入力された符号テーブルをヘッダ情報として挿入する。ここで図１０（ａ）に、透かし情報を埋め込まれた符号テーブルが含まれているヘッダを付加された符号データを示す。
【００５８】
また、図１０（ｂ）に、透かし情報を埋め込んだ符号データからなる符号データ・ストリームを示す。図に示すように、透かし情報は、各処理単位のヘッダの符号テーブルに分割して埋め込まれている。
【００５９】
なお、符号テーブルがハフマンテーブルである場合、透かし情報は、符号テーブル（ハフマンテーブル）の生成方法を利用して埋め込むことができる。
【００６０】
図１１は、ハフマンテーブルの生成方法と透かし情報の関係を示す図である。図に示すように、０または１のどちらを起点にして、ハフマンテーブルを生成するかで、それぞれ、０ビット、１ビットの透かし情報ビットを表現する。
【００６１】
この場合、生成方法で示される透かし情報ビットは、０ビット、１ビットではなく、ビット列でもかまわない。例えば、０起点の生成方法は、００１０を表し、１起点の生成方法は、００１１を表していてもかまわない。
【００６２】
また、符号テーブルに符号化手段５０１の符号化において、使用することのない符号語を透かし情報として埋め込むことができる。
【００６３】
図１２（ａ）（ｂ）は、符号化手段５０１で使用することのない符号語の生成方法と、その符号語を透かし情報として埋め込んでいる符号テーブルを示す図である。図１２（ａ）は、ハフマンテーブルの生成方法を示している。図１２の（ａ）は、Ａ〜Ｅまでの事象が存在し、架空のＦという事象を想定して、ハフマンテーブルを生成していることを示している。
【００６４】
次に図１２（ｂ）は、図１２（ａ）の生成方法で生成したハフマンテーブルを示す図である。図に示すように、架空の事象Ｆの符号語が透かし情報として、符号テーブルに埋め込まれている。
（実施の形態６）
本実施の形態６は、実施の形態１のデータに透かしを埋め込む方法において、ＭＰＥＧでデータの符号化が行われる場合のものである。よって本実施の形態１の説明に用いた図面を参照して説明を行う。
【００６５】
本実施の形態では、符号化手段１０１がＭＰＥＧで符号化を行い、所定の処理単位がピクチャ（picture）である場合を考える。ピクチャは、それ自身を一枚の静止画として扱うことができるデータで、３種類のタイプ｛Ｉ，Ｐ，Ｂ｝がある。
【００６６】
以下に、図１３を参照して、各ピクチャを簡単に説明する。
（１）  Ｉピクチャ
イントラ符号化画像とよばれ、そのフレーム内の情報のみで符号化された画面。
（２）  Ｐピクチャ
予測符号化画像とよばれ、ＩまたはＰピクチャから予測で作成された画面。
（３）  Ｂピクチャ
双方向予測符号化画像とよばれ、時間的に前または後、もしくは前後に位置するＩ，Ｐピクチャから補間予測して作成された画面。
【００６７】
ＭＰＥＧでは、ランダムアクセスを可能にするために、Ｉ、Ｐ、Ｂピクチャを組み合わせたＧＯＰ（Group of Picture）という、さらに上の階層の処理単位が設けられている。ここで図１４にＧＯＰと各ピクチャの関係の一例を示す。
【００６８】
実施の形態６では、この図１４に示すＧＯＰに対して、ピクチャ単位で透かし情報の埋め込みを行う場合を考える。
【００６９】
符号化手段１０１は、ピクチャ単位でデータの符号化を行い、符号データをストリーム生成部１０２に出力する。
【００７０】
符号データ・ストリーム生成手段１０２において、符号化手段１０１より入力された符号データには、ヘッダ生成手段１０４によって、ヘッダが付加される。ここで図６（ｂ）に符号データにヘッダが付加された状態を示す。ヘッダには該符号データに関する様々な情報が記述されており、符号データの先頭に付加される。
【００７１】
透かし情報埋め込み手段１０４に入力された符号データは、ピクチャ単位で、透かし情報を埋め込まれる。ここで図１３（ｃ）に、ＧＯＰ内の各ピクチャに対して透かし情報が埋め込まれたＧＯＰの一例を示す。図に示すように、ＧＯＰにおいて、透かし情報は分割して、各ピクチャに埋め込まれていることが分かる。（実施の形態７）
本実施の形態７は、実施の形態２のデータに透かしを埋め込む方法において、ＭＰＥＧでデータの符号化が行われる場合のものである。よって本実施の形態２の説明に用いた図面を参照して説明を行う。
【００７２】
符号化手段１０１、ヘッダ生成手段１０３の動作については、実施の形態６で説明したものと同様なので、説明を省略する。
【００７３】
透かし情報埋め込み手段１０４は、図１３（ｂ）に示すＧＯＰに対して、透かし情報の埋め込みを行う。このとき透かし情報は、ＧＯＰの各ピクチャの内Ｉ，Ｐピクチャに優先して埋め込まれ、これらＩ，Ｐピクチャだけでは、全ての透かし情報を埋め込むことができない場合には、Ｂピクチャに埋め込むようにする。
【００７４】
図１４（ａ）に透かし情報を埋め込まれたＧＯＰの一例を示す。図に示すように、透かし情報はＩピクチャ、Ｐピクチャの順に埋め込まれて行き、Ｉ，Ｐピクチャのみでは、埋め込みができないので、ＢピクチャＢ１，Ｂ２に対しても透かし情報が埋め込まれていることが分かる。
【００７５】
また、透かし情報は、Ｉピクチャのみに埋め込むようにしてもよい。ここで図１４（ｂ）にＩピクチャのみに透かし情報が埋め込まれた例を示す。図に示すように、ＭＰＥＧデータ・ストリームは複数のＧＯＰにより構成されている。一般にＩピクチャは各ＧＯＰに少なくとも１枚はふくまれているが、本実施の形態においては、図１４（ｂ）に示すように、各ＧＯＰにＩピクチャはそれぞれ１枚だけ存在し、透かし情報は、ＧＯＰ単位で分割してＩピクチャに埋め込まれている。
【００７６】
なお、本実施の形態において、ＭＰＥＧにおける符号データの処理単位は、ピクチャ、ＧＯＰであるとして説明を行ったが、これに限定するものではなく、スライス、フレーム、フィールドとしてもよい。
【００７７】
また、本発明のデータに透かしを埋め込む方法は、いずれの実施の形態においてもデータを符号化するものとして説明を行ったが、透かし情報を埋め込むデータの一例としては、一枚の静止画像、所定の順序で構成されている複数の静止画像、映像データ、オーディオデータが挙げられる。
【００７８】
また、本発明のデータに透かしを埋め込む方法は、いずれの実施の形態においても、装置を用いてハードウェア的に実現するものとして説明を行ったが、これはコンピュータを用いてプログラムの働きにより、ソフトウェア的に実現してもよい。
【００７９】
また、本発明のいずれの実施の形態においても、本発明のデータに透かしを埋め込む方法により動作する装置を中心に説明したが、本発明の記録媒体として、以上説明した各手段の機能の全部または一部、または、各ステップの全部または一部をコンピュータに実行させるプログラムを格納する記録媒体を用いてもよい。
【００８０】
【発明の効果】
以上説明したことから明らかなように、本発明によれば、データの質を劣化させることなく、データに透かし情報を埋め込む方法およびプログラム記録媒体を提供することができる。
【００８１】
また、符号データ量を増加させることなく、データに透かし情報を埋め込む方法およびプログラム記録媒体を提供することができる。
【００８２】
また、符号データの損失に対しても強い、データに透かし情報を埋め込む方法およびプログラム記録媒体を提供することができる。
【００８３】
また、圧縮によって削除されず、容易に検出できない、データに透かし情報を埋め込む方法およびプログラム記録媒体を提供することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１および実施の形態６のデータに透かし情報を埋め込む方法により動作する装置の構成を示す図。
【図２】本発明の実施の形態２および実施の形態７のデータに透かし情報を埋め込む方法により動作する装置の構成を示す図。
【図３】本発明の実施の形態３のデータに透かし情報を埋め込む方法により動作する装置の構成を示す図。
【図４】本発明の実施の形態４のデータに透かし情報を埋め込む方法により動作する装置の構成を示す図。
【図５】本発明の実施の形態５のデータに透かし情報を埋め込む方法により動作する装置の構成を示す図。
【図６】（ａ）本実施の形態１のデータに透かし情報を埋め込む方法において、所定の処理単位に分割されて符号化された符号データの構成を示す図。
（ｂ）本実施の形態１のデータに透かし情報を埋め込む方法において、ヘッダが付加された符号データの構成を示す図。
（ｃ）本実施の形態１のデータに透かし情報を埋め込む方法において、透かし情報が埋め込まれた符号データの構成を示す図。
（ｃ）本実施の形態１のデータに透かし情報を埋め込む方法において、透かし情報が埋め込まれた符号データ・ストリームの構成を示す図。
【図７】（ａ）本実施の形態２のデータに透かし情報を埋め込む方法において、所定の処理単位に分割されたデータの構成を示す図。
（ｂ）本実施の形態２のデータに透かし情報を埋め込む方法において、符号化順に透かし情報を埋め込まれた符号データ・ストリームの構成を示す図。
（ｃ）本実施の形態２のデータに透かし情報を埋め込む方法において、復号および再生する順序に透かし情報が埋め込まれた符号データ・ストリームの一例を示す図。
【図８】（ａ）本実施の形態３のデータに透かし情報を埋め込む方法において、補正ビットを含む符号データの構成を示す図。
（ｂ）本実施の形態３のデータに透かし情報を埋め込む方法において、補正ビットを利用して透かし情報が埋め込まれた各符号データの構成を示す図。
（ｃ）本実施の形態３のデータに透かし情報を埋め込む方法において、符号データ・ストリームに埋め込みができなかった透かし情報を切り捨てる場合を説明するための図。
【図９】（ａ）本実施の形態４のデータに透かし情報を埋め込む方法において、各符号データにそれぞれ同一の透かし情報が埋め込まれた符号データ・ストリームの構成を示す図。
（ｂ）本実施の形態４のデータに透かし情報を埋め込む方法において、各符号データの低階層の符号データに透かし情報を埋め込む場合を説明するための図。
【図１０】（ａ）本実施の形態５のデータに透かし情報を埋め込む方法において、透かし情報を埋め込まれた符号テーブルを含むヘッダを付加された符号データの構成を示す図。
（ｂ）本実施の形態５のデータに透かし情報を埋め込む方法において、各符号データのヘッダに透かし情報が埋め込まれてなる符号データ・ストリームの構成を示す図。
【図１１】本実施の形態５のデータに透かし情報を埋め込む方法において、ハフマンテーブル生成方法と透かし情報の関係を示す図。
【図１２】（ａ）本実施の形態５のデータに透かし情報を埋め込む方法において、符号語の生成方法を示す図。
（ｂ）本実施の形態５のデータに透かし情報を埋め込む方法において、使用しない符号語を含んでいる符号テーブルの一例を示す図。
【図１３】（ａ）本実施の形態６のデータに透かし情報を埋め込む方法において、ＭＰＥＧにより符号化された映像データに含まれる各ピクチャの関係を示す図。
（ｂ）本実施の形態６のデータに透かし情報を埋め込む方法において、ＧＯＰの構成の一例を示す図。
（ｃ）本実施の形態６のデータに透かし情報を埋め込む方法において、ＧＯＰ内のピクチャに透かし情報を分割して埋め込んだ符号データ・ストリームの構成を示す図。
【図１４】（ａ）本実施の形態７のデータに透かし情報を埋め込む方法において、透かし情報を埋め込まれたＧＯＰの構成を示す図。
（ｂ）本実施の形態７のデータに透かし情報を埋め込む方法において、Ｉピクチャにのみ透かし情報が埋め込みを行った場合を説明するための図。
【図１５】（ａ）従来の技術によるデータに透かし情報の埋め込み方法により透かしが埋め込まれている画像データの構成を示す図。
（ｂ）  従来の技術によるデータに透かし情報を埋め込む方法により動作する装置の構成を示す図。
【符号の説明】
１０１、１５０４  符号化手段
１０２、２０２、３０２、４０２、５０２  符号データ・ストリーム生成手段
１０３、５０３  ヘッダ生成手段
１０４、５０４、１５０２  透かし情報埋め込み手段
２０５  埋め込み順序制御手段
３０５  補正ビット制御手段
４０５  繰り返し制御手段
５０５  符号テーブル生成手段
１５０１  直交変換手段
１５０３  量子化手段
【図１】
0003722646.tif 000002
【図２】
0003722646.tif 000003
【図３】
0003722646.tif 000004
【図４】
0003722646.tif 000005
【図５】
0003722646.tif 000006
【図６】
0003722646.tif 000007
【図７】
0003722646.tif 000008
【図８】
0003722646.tif 000009
【図９】
0003722646.tif 000010
【図１０】
0003722646.tif 000011
【図１１】
0003722646.tif 000012
【図１２】
0003722646.tif 000013
【図１３】
0003722646.tif 000014
【図１４】
0003722646.tif 000015
【図１５】
0003722646.tif 000016