(57)【要約】【課題】  原データの品質に影響を与えずに不可視の電子透かしを埋め込むことが可能な電子透かしの埋め込み方法および抽出方法を提供する。【解決手段】  符号化対象とするデータを複数のブロックに分割し、あらかじめ準備した複数の符号化方式について、各ブロックに対する符号化効率を算出する。  続いて、電子透かしとして埋め込む不可視属性情報を示す数値配列、および各ブロックについて算出された符号化効率の順位に基づいて複数の符号化方式の中から１つの符号化方式を決定し、決定された符号化方式に基づいて、どの符号化方式を適用したかが明確になるように、ブロックに対して符号化を行い、符号化ブロックを生成する（ａ）。【選択図】  図１
2006086906.tif 000002
【特許請求の範囲】
【請求項１】
符号化対象とするデータを、複数のブロックに分割するブロック分割段階と、
あらかじめ準備した複数の符号化方式について、前記各ブロックに対する符号化効率を算出する符号化効率算出段階と、
電子透かしとして埋め込む不可視属性情報を示す数値配列、および、前記各ブロックについて算出された符号化効率の順位に基づいて、前記複数の符号化方式の中から１つの符号化方式を決定する符号化方式決定段階と、
前記決定された符号化方式に基づいて、どの符号化方式を適用したかが明確になるように、当該ブロックに対して符号化を行い、符号化ブロックを生成するブロック符号化段階と、
を有することを特徴とする電子透かしの埋め込み方法。
【請求項２】
請求項１において、
前記ブロック符号化段階は、符号化方式を特定する情報を当該ブロックに記録することにより、どの符号化方式を適用したかを明確にするものであることを特徴とする電子透かしの埋め込み方法。
【請求項３】
請求項１または請求項２において、
前記ブロック分割段階の前段に、前記不可視属性情報を基に可視属性情報を生成する可視属性情報生成段階と、前記符号化対象とするデータに対して、前記生成された可視属性情報を埋め込む可視属性情報埋め込み段階と、
を有することを特徴とする電子透かしの埋め込み方法。
【請求項４】
請求項３において、
前記符号化対象とするデータが静止画又は動画を収録したものであり、
前記不可視属性情報は文字コードであり、前記可視属性情報生成段階は、前記文字コードを所定の文字フォントを用いて画像データの形式をもつ可視属性情報に変換することを特徴とする電子透かしの埋め込み方法。
【請求項５】
請求項３において、
前記符号化対象とするデータが音を収録した音響データであり、
前記不可視属性情報は文字コードであり、前記可視属性情報生成段階は、前記文字コードを所定の音声合成方式を用いて波形データの形式をもつ可視属性情報に変換することを特徴とする電子透かしの埋め込み方法。
【請求項６】
請求項１または請求項２において、
前記符号化方式は、線形予測法を用いたロスレス符号化であり、各符号化方式として複数の線形予測式を準備したものであることを特徴とする電子透かしの埋め込み方法。
【請求項７】
請求項１または請求項２において、
前記符号化対象とするデータが静止画又は動画を収録したものであり、
前記ブロック分割段階は、前記静止画である画像データ、又は前記動画を構成する画像データの二次元空間をＸ方向およびＹ方向にほぼ等分割するようなタイル分割を行うことを特徴とする電子透かしの埋め込み方法。
【請求項８】
複数の符号化ブロックで構成された符号化データから、各符号化ブロックを認識する符号化ブロック認識段階と、
前記各符号化ブロックに指示されている符号化方式に対応する復号方式に基づいて、各符号化ブロックの復号を行い、ブロックを復元するブロック復号段階と、
あらかじめ準備した複数の符号化方式について、前記復号された各ブロックに対する符号化効率を算出する符号化効率算出段階と、
前記各ブロックについて算出された符号化効率の順位、および前記各ブロックと対応する符号化ブロックに指示されている符号化方式に基づいて、不可視属性情報を示す数値配列を抽出する不可視属性情報抽出段階と、
を有することを特徴とする電子透かしの抽出方法。
【請求項９】
請求項８において、
前記ブロック復号段階で生成されたブロックで構成されるデータには、前記不可視属性情報抽出段階で抽出された不可視属性情報を基に生成された可視属性情報が埋め込まれており、
前記不可視属性情報抽出段階の後段に、前記データについて、前記抽出された不可視属性情報を基に可視属性情報を生成する可視属性情報生成段階と、
前記生成された可視属性情報を、前記データから除去する可視属性情報除去段階と、
を有することを特徴とする電子透かしの抽出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＤ・ＤＶＤ・半導体メモリ等のデジタル記録媒体を用いた音響・映像記録再生装置分野、音響・映像制作、素材保管、ロケ素材の中継など音響・映像制作分野、特に品質の高い高精細音響・映像制作を行う分野、コンピュータグラフィックスを用いたＣＧアニメーション映像制作分野、科学技術シミュレーションにおける可視化映像制作分野、電子カルテや遠隔医療における医用音響・静止画・動画像の保存と伝送、ゲノム情報、蛋白質情報などの生物情報の保存と伝送、デジタル印刷製版工程における素材やページメークアップ画像データの保管と伝送、リモートセンシング・衛星画像解析・地図情報処理分野におけるデータの保管と伝送など、データの改変が嫌われる分野等において好適なデータの処理技術に関する。
【背景技術】
【０００２】
従来より、音響データや、静止画・動画データをデータの欠落なく圧縮符号化する方式としてロスレス圧縮方式が用いられている。ロスレス圧縮方式で符号化して配布する場合、復号されると高品質な音響や映像が得られるため、正当な利用者が利用する場合は、非常に有用なものであるが、逆に、不正にコピーした者であっても、利用できてしまう。ロスレス圧縮方式で符号化されたデータは、復号後、転用されてしまうと、もはや、そのデータの出所を知ることができなくなってしまう。そこで、このような不正なコピーを防止・抑止するため、復号時に暗号キーを設定する方法と、復号された場合に著作権者を明示し、不正使用を追跡可能とする電子透かし挿入の方法がある。電子透かし挿入には、不可視と可視のタイプがあるが、画像を表示する際に、障害とならないように不可視のタイプが用いられている（例えば、特許文献１〜４参照）。
【特許文献１】特許３５２２０５６号公報
【特許文献２】特開平１１−２９６６６１号公報
【特許文献３】特開２００３−１７４５５０号公報
【特許文献４】特開２００４−１７３２３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、上記従来の技術では、原データに直接電子透かしを埋め込むため、復号時に、不可視の電子透かしの検出性能を向上させようとすると、原データの品質を犠牲にしなければならなくなり、品質に影響を与えずに不可視の電子透かしを埋め込むことができないという問題がある。
【０００４】
そこで、本発明は、原データの品質に影響を与えずに不可視の電子透かしを埋め込むことが可能な電子透かしの埋め込み方法および抽出方法を提供することを課題とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するため、本発明では、符号化対象とするデータを、複数のブロックに分割するブロック分割段階と、あらかじめ準備した複数の符号化方式について、前記各ブロックに対する符号化効率を算出する符号化効率算出段階と、電子透かしとして埋め込む不可視属性情報を示す数値配列、および前記各ブロックについて算出された符号化効率の順位に基づいて前記複数の符号化方式の中から１つの符号化方式を決定する符号化方式決定段階と、前記決定された符号化方式に基づいて、どの符号化方式を適用したかが明確になるように、当該ブロックに対して符号化を行い、符号化ブロックを生成するブロック符号化段階を実行するようにしたことを特徴とする。
【発明の効果】
【０００６】
本発明によれば、あらかじめ複数の符号化方式を準備しておき、原データを複数のブロックに分割し、各ブロックについて、準備した符号化方式の符号化効率を算出して順位付けし、電子透かしとして埋め込むべき不可視属性情報のビット値に対応した順位となる符号化方式で各ブロックを符号化するようにしたので、原データの品質に影響を与えずに不可視の電子透かしを埋め込むことが可能となる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施形態について図面を参照して詳細に説明する。
（１．本発明による符号化・復号の基本概念）
まず、本発明における電子透かしの埋め込み方法および抽出方法の基本概念について説明する。本発明では、符号化の際に不可視の電子透かしを埋め込み、復号の際に不可視の電子透かしを抽出する。図１は、本発明の基本概念を示す図である。図１（ａ）に示すように、符号化では、符号化対象とする原データを複数のブロックに分割する。そして、各ブロックについてあらかじめ準備した複数の符号化方式の符号化効率を算出し、各ブロックに対する符号化効率の順位付けをする。一方、別途電子透かしとして埋め込む不可視属性情報を用意しておき、この値、および符号化効率の順位に基づいて、前記符号化方式のうちから１つを決定し、決定した符号化方式でそのブロックに対して符号化処理する。このようにして各ブロックを符号化していく。
【０００８】
また、図１（ｂ）に示すように、復号では、符号化データを構成する各符号化ブロックを抽出する。各符号化ブロックの抽出は、各符号化ブロックの先頭の記録位置、各符号化ブロックの大きさ（データ量）を符号化データファイルの適当な位置に記録しておき、これを事前に読み込むようにしておけば良い。続いて、抽出した各符号化ブロックについて、符号化に用いた符号化方式に対応する復号方式を用いて復号していく。このようにして各符号化ブロックを復号し、元の原データを構成するブロックを得る。そして、復号した各ブロックについてあらかじめ準備した複数の符号化方式の符号化効率を算出し、各ブロックに対する符号化効率の順位付けをする。一方、各符号化ブロックに記録されていた符号化方式を抽出し、この符号化方式を他の符号化方式と比較して、その順位を認識し、認識された順位に対応するビットの集合が不可視属性情報として得られる。図１（ａ）に示したような符号化、図１（ｂ）に示したような復号は、専用のソフトウェアを搭載したコンピュータが符号化装置（電子透かし埋め込み装置）、復号装置（電子透かし抽出装置）として機能することにより実現される。
【０００９】
（２．対象とするデータが音響データの場合）
本発明は、そのデータの内容・形式にとらわれず、様々なデータに対して適用可能であるが、主に、音響データ、画像データに対して用いられる。以下に、この２種類のデータに対しての処理について説明していく。まず、音響データについて説明する。
【００１０】
（２．１．符号化）
本実施形態では、音響データとして、アナログの音響信号をＰＣＭ等の周知の手法によりをデジタル化したものを用いる。例えば、サンプリング周波数４８ＫＨｚ、量子化ビット数１６ビット（正負符号付き）でサンプリングすると、１秒あたり４８０００個のサンプルにより構成されるサンプル列ができ、各サンプルは、−３２７６８〜３２７６７の値をとることになる。
【００１１】
本発明に係る電子透かしの埋め込み方法を実現する符号化装置は、上記のような音響データを読み込んだら、音響データを構成するサンプル列の先頭から所定のサンプル数単位でブロック化し、１ブロックごとにワークメモリに読み込む。１ブロックとするサンプル数は、あらかじめ設定しておくことができる。１ブロックとするサンプル数は、１秒程度が好ましい。時間的には同じ長さであっても、サンプリング周波数によりサンプル数が異なるため、設定者が１程度となるサンプル数をあらかじめ装置に設定しておく。例えば、符号化対象とする音響データのサンプリング周波数が４８ｋＨｚであった場合、１ブロックを１秒とするには、４８０００サンプルを１ブロックとして設定してやれば良い。符号化装置は、設定されたサンプル数を１ブロックとして順次ワークメモリに読み込んでいくことになる。
【００１２】
一方、分割したブロックを符号化するための符号化方式として、本実施形態では、以下の〔数式１〕〜〔数式１１〕の１１個の線形予測式を用意している。
【００１３】
〔数式１〕
ｅ０（ｔ）＝ｘ（ｔ）−ｅ０（ｔ−１）／２
【００１４】
〔数式２〕
ｅ１（ｔ）＝ｘ（ｔ）−ａ11・ｘ（ｔ−１）−ｅ１（ｔ−１）／２
【００１５】
〔数式３〕
ｅ２（ｔ）＝ｘ（ｔ）−ａ21・ｘ（ｔ−１）−ａ22・ｘ（ｔ−２）−ｅ２（ｔ−１）／２
【００１６】
〔数式４〕
ｅ３（ｔ）＝ｘ（ｔ）−ａ31・ｘ（ｔ−１）−ａ32・ｘ（ｔ−２）−ａ33・ｘ（ｔ−３）−ｅ３（ｔ−１）／２
【００１７】
〔数式５〕
ｅ４（ｔ）＝ｘ（ｔ）−ａ41・ｘ（ｔ−１）−ａ42・ｘ（ｔ−２）−ａ43・ｘ（ｔ−３）−ａ44・ｘ（ｔ−４）−ｅ４（ｔ−１）／２
【００１８】
〔数式６〕
ｅ５（ｔ）＝ｘ（ｔ）−ａ51・ｘ（ｔ−１）−ａ52・ｘ（ｔ−２）−ａ53・ｘ（ｔ−３）−ａ54・ｘ（ｔ−４）−ａ55・ｘ（ｔ−５）−ｅ５（ｔ−１）／２
【００１９】
〔数式７〕
ｅ６（ｔ）＝ｘ（ｔ）−ｂ11・ｘ（ｔ−１）−ｅ６（ｔ−１）／２
【００２０】
〔数式８〕
ｅ７（ｔ）＝ｘ（ｔ）−ｂ21・ｘ（ｔ−１）−ｂ22・ｘ（ｔ−２）−ｅ７（ｔ−１）／２
【００２１】
〔数式９〕
ｅ８（ｔ）＝ｘ（ｔ）−ｂ31・ｘ（ｔ−１）−ｂ32・ｘ（ｔ−２）−ｂ33・ｘ（ｔ−３）−ｅ８（ｔ−１）／２
【００２２】
〔数式１０〕
ｅ９（ｔ）＝ｘ（ｔ）−ｂ41・ｘ（ｔ−１）−ｂ42・ｘ（ｔ−２）−ｂ43・ｘ（ｔ−３）−ｂ44・ｘ（ｔ−４）−ｅ９（ｔ−１）／２
【００２３】
〔数式１１〕
ｅ１０（ｔ）＝ｘ（ｔ）−ｂ51・ｘ（ｔ−１）−ｂ52・ｘ（ｔ−２）−ｂ53・ｘ（ｔ−３）−ｂ54・ｘ（ｔ−４）−ｂ55・ｘ（ｔ−５）−ｅ１０（ｔ−１）／２
【００２４】
上記〔数式１〕〜〔数式１１〕において、ｅ０（ｔ）〜ｅ１０（ｔ）は各予測計算式による時刻ｔのサンプルにおける予測誤差であり、ｘ（ｔ）〜ｘ（ｔ−５）は時刻ｔ〜ｔ−５におけるサンプル値である。
【００２５】
上記〔数式３〕における「ａ21・ｘ（ｔ−１）＋ａ22・ｘ（ｔ−２）」、上記〔数式４〕における「ａ31・ｘ（ｔ−１）＋ａ32・ｘ（ｔ−２）＋ａ33・ｘ（ｔ−３）」、上記〔数式５〕における「ａ41・ｘ（ｔ−１）＋ａ42・ｘ（ｔ−２）＋ａ43・ｘ（ｔ−３）＋ａ44・ｘ（ｔ−４）」、上記〔数式６〕における「ａ51・ｘ（ｔ−１）＋ａ52・ｘ（ｔ−２）＋ａ53・ｘ（ｔ−３）＋ａ54・ｘ（ｔ−４）＋ａ55・ｘ（ｔ−５）」、上記〔数式８〕における「ｂ21・ｘ（ｔ−１）＋ｂ22・ｘ（ｔ−２）」、上記〔数式９〕における「ｂ31・ｘ（ｔ−１）＋ｂ32・ｘ（ｔ−２）＋ｂ33・ｘ（ｔ−３）」、上記〔数式１０〕における「ｂ41・ｘ（ｔ−１）＋ｂ42・ｘ（ｔ−２）＋ｂ43・ｘ（ｔ−３）＋ｂ44・ｘ（ｔ−４）」、上記〔数式１１〕における「ｂ51・ｘ（ｔ−１）＋ｂ52・ｘ（ｔ−２）＋ｂ53・ｘ（ｔ−３）＋ｂ54・ｘ（ｔ−４）＋ｂ55・ｘ（ｔ−５）」は過去の２〜５個のサンプルに基づく線形予測成分である。この線形予測成分、および、直前のサンプルにおいて算出された予測誤差「ｅ１（ｔ−１）／２」〜「ｅ１０（ｔ−１）／２」（誤差フィードバック成分）を用いて時刻ｔにおける予測誤差ｅ０（ｔ）〜ｅ１０（ｔ）を算出する。
【００２６】
上記の係数ａ11〜ａ55には固定値として、ａ11＝１、ａ21＝２、ａ22＝−１、ａ31＝３、ａ32＝−３、ａ33＝１、ａ41＝４、ａ42＝−６、ａ43＝４、ａ44＝−１、ａ51＝５、ａ52＝−１０、ａ53＝１０、ａ54＝−５、ａ55＝１という値が各々設定されており、上記の係数ｂ11〜ｂ55には固定値として、例えばｂ11＝０．５、ｂ21＝１、ｂ22＝−０．５、ｂ31＝１．５、ｂ32＝−１．５、ｂ33＝０．５、ｂ41＝２、ｂ42＝−３、ｂ43＝２、ｂ44＝−０．５、ｂ51＝２．５、ｂ52＝−５、ｂ53＝５、ｂ54＝−２．５、ｂ55＝０．５という値が各々設定されている。
【００２７】
符号化装置は、読み込んだ１つのブロックを構成する全サンプルについて、上記各数式を適用して、元のｘ（ｔ）の値を予測誤差ｅ（ｔ）に置き換えて行くことになる。そして、１つのブロック内の全てのサンプルｔについての予測誤差ｅ（ｔ）の絶対値である｜ｅ（ｔ）｜の総和を算出し、上記各数式についての総和を比較し、順位付けする。この総和が小さいほど、符号化後のデータ量が小さくなる可能性が高く、符号化効率（圧縮率）が高いということになる。
【００２８】
次に、電子透かしとして埋め込むために用意された不可視属性情報に基づいて、符号化方式を決定する。不可視属性情報としては、文字コードや画像等、さまざまなものを採用することができる。どのような形式のものを採用したとしても、不可視属性情報を構成するビット列の各ビットの値に対応付けて、符号化方式を決定する。例えば、不可視属性情報を構成するビットの値が「０」の場合は、符号化効率順位１位のものを選択し、ビットの値が「１」の場合は、符号化効率順位２位のものを選択するという規則をあらかじめ設定しておく。そして、不可視属性情報のビット列と符号化対象とするブロックとを対応付けておき、各ブロックを対応する不可視属性情報のビットに応じて決定される符号化方式で符号化する。ここでは、上記〔数式１〕〜〔数式１１〕のうち、符号化効率の高い上位２位の式のいずれかが不可視属性情報のビットに応じて決定され、その〔数式〕に基づいた処理で符号化がなされることになる。なお、本実施形態では、不可視属性情報を構成するビット列を１ビット単位で符号化方式と対応させるようにしたが、２ビット以上の単位で対応させるようにしても良い。例えば、２ビット単位であれば、符号化効率４位までに対応可能であるし、３ビット単位であれば、符号化効率８位までに対応可能である。符号化の際には、実際にブロックを符号化した符号化方式を特定するための情報を符号化後のブロックに付随させるか、またはブロックの内部に含ませるかして記録しておく。符号化方式を特定するための情報としては、例えば、上記各〔数式〕に事前にＩＤを設定しておき、このＩＤを記録するようにすれば良い。
【００２９】
（２．１．１．可変長符号化）
さらに、この後、各サンプルを可変長に変換する可変長符号化処理を行っていく。本実施形態における可変長符号化は、一般にゴロム符号化と呼ばれる周知の方式を採用している。具体的には、１サンプルを構成するビット成分を上位ビット成分と下位ビット成分に分け、下位ビット成分は変更を加えずそのままとし、上位ビット成分は、上位ビットだけを十進数変換した数値分のビット「０」を並べ、最後にセパレータビット「１」を加えた配列とする。例えば、８ビットのビット成分「００１０１０００」を考えてみる。このとき、下位ビット成分を４ビットとすると、下位ビット成分は「１０００」となる。上位ビットは「００１０」であるため、これを十進数変換した「２」個分の「０」を配列して最後に「１」を加えた「００１」に変換される。この結果、８ビットのビット列「００１０１０００」は、７ビットのビット列「００１１０００」に変換されることになる。本実施形態では、変換の前後でビット成分を不変とする下位ビット成分のビット長を各サンプルで可変とするようにしている。
【００３０】
なお、本実施形態では、可変長符号化については、符号化効率算出の対象から外したが、より正確に符号化効率を算出するためには、可変長符号化まで含めて符号化効率を算出するようにする。すなわち、可変長符号化まで行った状態のデータ量を比較して順位付けし、このデータ量が小さいほど符号化効率（圧縮率）が高いと判断するのである。この場合、当然精度は高くなるが、あらかじめ準備した全ての符号化方式について、各ブロックに対して可変長符号化を行う処理をしなければならないため、全体の処理時間が長くなる。したがって、符号化するデータの用途、緊急性に応じて、符号化効率算出のために可変長符号化まで行うか否かを決定すると良い。
【００３１】
以上のようにして可変長符号化された各ブロックのデータを、１つの符号化ファイルに順次収録していく。ファイル化された符号化データは、記録媒体を介したり、通信回線を介する等、様々な手法により流通されることになる。
【００３２】
（２．２．復号）
復号装置では、符号化装置において準備されていた符号化方式に対応した処理手段が用意されている。例えば、上記の例の場合では、符号化方式として用意された〔数式１〕〜〔数式１１〕と同じものが用意されている。復号装置では、符号化ブロックを読み込んだ後、この符号化ブロック内に記録されている符号化方式を特定するための情報を読み込む。ここでは、符号化方式である〔数式〕を特定するためのＩＤを読み込むことになる。続いて、このＩＤに対応する〔数式〕を利用して、符号化ブロック内における予測誤差で記録された各サンプルの値を、元のサンプルの値に復元していく。これは、符号化に利用した上記〔数式〕の左辺の項と右辺第１項を交換した式に基づいて実行されることになる。このようにして、各符号化ブロックに対して、符号化に利用した〔数式〕と同じ〔数式〕を利用して復号することにより、元のブロックが得られる。
【００３３】
この時点で、符号化したデータ自体の復号は完了し、符号化前の原データが得られる。ここからは、さらに電子透かしとして埋め込まれた不可視属性情報を検出するための処理を行う。具体的には、まず、復号された各ブロックについて、上記〔数式１〕〜〔数式１１〕の各数式の符号化効率を算出し、順位付けする。この符号化効率の算出処理は、上記符号化の際における処理と同一である。続いて、復号化ブロックに記録されていたＩＤを参照して、各ブロックについて、そのブロックの符号化に用いた〔数式〕を特定する。さらに、既に算出した符号化効率を参照して、符号化に用いた〔数式〕の順位が何位であったかを認識する。さらに、符号化効率の順位とビットの関係から不可視属性情報を構成するビットの値を求める。この処理を各ブロックに対して実行することにより、ビット列が得られ、これが不可視属性情報となる。
【００３４】
（３．対象とするデータが画像データの場合）
次に、符号化対象とするデータが画像データである場合について説明する。本実施形態では、画像データとして、画素数が６４０×４８０画素であるものを想定して説明する。なお、画像データは、静止画そのものを画像データとしたものに対しても適用できるし、動画を構成する各フレームとしての画像データに対しても適用できる。
【００３５】
（３．１．符号化）
本発明に係る電子透かしの埋め込み方法を実現する符号化装置は、上記のような画像データを読み込んだら、画像データを構成する画素を所定の画素数単位でブロック化し、１ブロックごとにワークメモリに読み込む。１ブロックとする画素数は、あらかじめ設定しておくことができる。本実施形態では、６４×４８画素を１ブロックとしており、１つの画像データは１００のブロックに分割して処理されることになる。符号化装置は、設定された画素数を１ブロックとして順次ワークメモリに読み込んでいくことになる。
【００３６】
一方、分割したブロックを符号化するための符号化方式として、本実施形態では、以下の〔数式１２〕〜〔数式１８〕の７個の計算式を用意している。本実施形態では、算出対象とする対象画素（ｉ，ｊ）の予測誤差値ｅ（ｉ，ｊ）を算出するために、対象画素の元の画素値ｘ（ｉ，ｊ）、および図２に示すような位置関係にある近傍３画素（ｉ−１，ｊ−１）、（ｉ，ｊ−１）、（ｉ−１，ｊ）の値ｘ（ｉ−１，ｊ−１）、ｘ（ｉ，ｊ−１）、ｘ（ｉ−１，ｊ）を利用する。
【００３７】
〔数式１２〕
ｅ２０＝ｘ（ｉ，ｊ）−ｘ（ｉ−１，ｊ）
【００３８】
〔数式１３〕
ｅ２１＝ｘ（ｉ，ｊ）−ｘ（ｉ，ｊ−１）
【００３９】
〔数式１４〕
ｅ２２＝ｘ（ｉ，ｊ）−ｘ（ｉ−１，ｊ−１）
【００４０】
〔数式１５〕
ｅ２３＝ｘ（ｉ，ｊ）−ｘ（ｉ−１，ｊ）−ｘ（ｉ，ｊ−１）＋ｘ（ｉ−１，ｊ−１）
【００４１】
〔数式１６〕
ｅ２４＝ｘ（ｉ，ｊ）−ｘ（ｉ−１，ｊ）−｛ｘ（ｉ，ｊ−１）−ｘ（ｉ−１，ｊ−１）｝／２
【００４２】
〔数式１７〕
ｅ２５＝ｘ（ｉ，ｊ）−ｘ（ｉ，ｊ−１）−｛ｘ（ｉ−１，ｊ）−ｘ（ｉ−１，ｊ−１）｝／２
【００４３】
〔数式１８〕
ｅ２６＝ｘ（ｉ，ｊ）−｛ｘ（ｉ−１，ｊ）＋ｘ（ｉ，ｊ−１）｝／２
【００４４】
上記〔数式１２〕〜〔数式１８〕において、ｅ２０〜ｅ２６は各予測計算式による画素（ｉ，ｊ）の予測誤差であり、ｘ（ｉ，ｊ）、ｘ（ｉ，ｊ−１）、ｘ（ｉ−１，ｊ）、ｘ（ｉ−１，ｊ−１）は画素（ｉ，ｊ）、（ｉ，ｊ−１）、（ｉ−１，ｊ）、（ｉ−１，ｊ−１）における画素値である。
【００４５】
符号化装置は、読み込んだ１つのブロックを構成する全画素について、上記各数式を適用して、元のｘ（ｉ，ｊ）の値を予測誤差ｅ（ｉ，ｊ）に置き換えて行くことになる。そして、１つのブロック内の全ての画素（ｉ，ｊ）についての予測誤差ｅ（ｉ，ｊ）の絶対値である｜ｅ（ｉ，ｊ）｜の総和を算出し、上記各数式についての総和を比較し、順位付けする。この総和が小さいほど、符号化後のデータ量が小さくなる可能性が高く、符号化効率（圧縮率）が高いということになる。
【００４６】
次に、電子透かしとして埋め込むために用意された不可視属性情報に基づいて、符号化方式を決定する。これは、上記音響データの場合と同様、不可視属性情報を構成するビット列の各ビットの値に対応付けて、符号化方式を決定することにより行われる。
【００４７】
（３．１．１．可変長符号化）
さらに、この後、各画素を可変長に変換する可変長符号化処理を行っていく。この可変長符号化処理も、上記音響データの場合と同様、一般にゴロム符号化と呼ばれる周知の方式を採用し、１画素を構成するビット成分を上位ビット成分と下位ビット成分に分けた後、処理が行われる。
【００４８】
また、符号化効率算出の対象として、可変長符号化まで含める設定にしても良いことも上記音響データの場合と同様である。
【００４９】
以上のようにして可変長符号化された各ブロックのデータを、１つの符号化ファイルに順次収録していく。ファイル化された符号化データは、記録媒体を介したり、通信回線を介する等、様々な手法により流通されることになる。
【００５０】
（３．２．復号）
復号装置では、符号化装置において準備されていた符号化方式に対応した処理手段が用意されている。例えば、上記の例の場合では、符号化方式として用意された〔数式１２〕〜〔数式１８〕と同じものが用意されている。復号装置では、符号化ブロックを読み込んだ後、この符号化ブロック内に記録されている符号化方式を特定するための情報を読み込む。ここでは、符号化方式である〔数式〕を特定するためのＩＤを読み込むことになる。続いて、このＩＤに対応する〔数式〕を利用して、符号化ブロック内における予測誤差で記録された各画素の値を、元の画素の値に復元していく。これは、符号化に利用した上記〔数式〕の左辺の項と右辺第１項を交換した式に基づいて実行されることになる。このようにして、各符号化ブロックに対して、符号化に利用した〔数式〕と同じ〔数式〕を利用して復号することにより、元のブロックが得られる。
【００５１】
この時点で、符号化したデータ自体の復号は完了し、符号化前の原データが得られる。ここからは、さらに電子透かしとして埋め込まれた不可視属性情報を検出するための処理を行う。具体的には、上記音響データの場合と同様に、まず、復号された各ブロックについて、上記〔数式１２〕〜〔数式１８〕の各数式の符号化効率を算出し、順位付けする。続いて、復号化ブロックに記録されていたＩＤを参照して、各ブロックについて、そのブロックの符号化に用いた〔数式〕を特定する。さらに、既に算出した符号化効率を参照して、符号化に用いた〔数式〕の順位が何位であったかを認識する。さらに、符号化効率の順位とビットの関係から不可視属性情報を構成するビットの値を求める。この処理を各ブロックに対して実行することにより、ビット列が得られ、これが不可視属性情報となる。
【００５２】
（４．１．可視電子透かしの埋め込み）
以上のように、本発明では、不可視の属性情報に基づいて符号化方式を決定することにより、電子透かしを埋め込むが、これに加えて、可視の属性情報を埋め込むことも可能である。次に、可視属性情報を追加して埋め込む場合について説明する。図３は、可視属性情報を埋め込む装置の構成図である。図３において、１は原画像入力部、２は文字フォント記憶部、３は属性情報文字コード入力部、４はラスター変換部、５は可視情報埋め込み処理実行部、６は可視透かし入り画像出力部である。
【００５３】
原画像入力部１は、流通される目的となる原画像データを入力する機能を有する。文字フォント記憶部２は、ラスターデータ形式の文字フォントを記憶したものである。属性情報文字コード入力部３は電子透かしとして埋め込むべき属性情報を文字コードの形式で入力する機能を有する。属性情報とは、見る者が何らかの意味を認識することができる情報であって、例えば、原画像の出所、原画像の著作権元を示す著作権情報が該当する。また、電子透かしとは、例えば、紙幣を光にかざすと見える透かしを、電子的に表現したものであり、ここでは、通常に画像を見た場合に、必ず、その存在が見える可視電子透かしを意味する。ラスター変換部４は、属性情報文字コード入力部３から入力された文字コードを、文字フォント記憶部２を参照してラスターデータ形式のニ値画像に変換する機能を有している。可視情報埋め込み処理実行部５は、原画像入力部１から入力された原画像とラスター変換部４から出力されるニ値画像を各画素ごとに加算して、原画像に可視の電子透かしが埋め込まれた透かし入り画像として出力する機能を有している。可視透かし入り画像出力部７は、可視属性情報が埋め込まれた透かし入り画像を出力するためのものである。
【００５４】
ここで、可視情報埋め込み処理実行部５による処理を、図４を用いて説明する。図４（ａ）は、原画像入力部１から入力された原画像、図４（ｂ）は、ラスター変換部４により変換された電子透かしとしての役割を果たすニ値画像（識別画像）である。図４（ａ）の例では、各画素が８ビットで表現される場合を示しており、各画素は０〜２５５の値をとる。ここでは、色プレーンが１つのみのモノクロ画像の場合について説明する。図４（ｂ）は０と１２８の２つの値だけをとるニ値画像となっている。なお、ここでは、説明の簡略化のため、原画像、ニ値画像ともに９×８画素としている。埋め込み処理実行部５では、図４（ａ）に示した原画像と図４（ｂ）に示したニ値画像が入力された場合、各画素ごとに加算処理を行う。この際、加算した結果が２５５を超えた場合は、２５６を引き算して、０〜２５５に収めるための処理を行う。すなわち、８ビットで表現し、桁あふれは無視するのである。この結果、図４（ｃ）に示すような透かし入り画像が得られる。なお、原画像がカラー画像の場合は、原画像の各プレーンについて、上記のようなニ値画像との加算処理が行われる。
【００５５】
図３（ａ）に示した装置は、図１（ａ）に示した基本概念を実行する装置と共に１台のコンピュータに組み込まれて実現される。したがって、上記のようにして可視透かし入り画像出力部７から出力される可視透かし入り画像は、原データとして、図１に示したような基本概念に従って符号化される。また、属性情報文字コード入力部３から入力された文字コードは、不可視属性情報として、符号化方式の決定に用いられる。すなわち、属性情報文字コード入力部３からは、属性情報を１回入力するだけで可視属性情報、不可視属性情報として２箇所において、利用されることになる。
【００５６】
（４．２．可視電子透かしの除去）
可視属性情報、不可視属性情報が埋め込まれた符号化データは、図１（ｂ）に示した基本概念に従って復号され、原データおよび不可視属性情報が得られる。さらに、原データである可視透かし入り画像および不可視属性情報を利用して、可視透かし入り画像から可視電子透かしを除去する。可視電子透かしを除去する装置を図３（ｂ）に示す。図３（ｂ）において、１１は可視透かし入り画像入力部、１２は文字フォント記憶部、１３は属性情報文字コード入力部、１４はラスター変換部、１５は透かし除去実行部、１６は原画像出力部である。
【００５７】
可視透かし入り画像入力部１１は、復号された原データである可視透かし入り画像を入力するためのものである。文字フォント記憶部１２は、可視情報埋め込み装置において利用した文字フォントと全く同じ文字フォントを記憶したものである。属性情報文字コード入力部１３は復号により得られた不可視属性情報を入力する機能を有する。ここでは、復号により文字コードの形式で得られるため、そのまま入力されることになる。ラスター変換部１４は、属性情報文字コード入力部１３から入力された文字コードを、文字フォント記憶部１２を参照してラスターデータ形式のニ値画像に変換する機能を有している。透かし除去実行部１５は、ラスター変換部１４から出力されるニ値画像と可視透かし入り画像入力部１１から入力された可視透かし入り画像を各画素ごとに加算して、透かし入り画像から電子透かしを除去した原画像として出力する機能を有している。原画像出力部１６は、電子透かしを除去した原画像を出力するためのものであり、例えば、画面に表示出力するディスプレイ装置等が適用できる。図３（ｂ）に示す装置は、図１（ｂ）に示した基本概念を実行する装置と共に１台のコンピュータに組み込まれて実現される。
【００５８】
ここで、透かし除去実行部１５による処理を、図４を用いて説明する。上記のように、復号された可視透かし入り画像は図４（ｃ）に示すようなものとなっている。また、ラスター変換部１４から出力されるニ値画像は図４（ｂ）に示すようなものとなっている。透かし除去実行部１５では、図４（ｃ）に示した透かし入り画像と図４（ｂ）に示したニ値画像が入力された場合、各画素ごとに加算処理を行う。この際、加算した結果が２５５を超えた場合は、２５６を引き算して、０〜２５５に収めるための処理を行う。すなわち、８ビットで表現し、桁あふれは無視するのである。この結果、図４（ａ）に示すような原画像が得られる。なお、透かし入り画像がカラー画像の場合は、透かし入り画像の各プレーンについて、上記のようなニ値画像との加算処理が行われる。
【００５９】
（５．変形例）
以上、本発明の好適な実施形態について説明したが、本発明は、上記実施形態に限定されず、種々の変形が可能である。例えば、上記実施形態では、複数の符号化方式として、線形予測式を用いたが、これに加えて公知のランレングス方式を併用するようにしても良いし、また、線形予測式やランレングス方式に代えて、公知の様々な符号化方式を利用することが可能である。
【００６０】
また、上記実施形態では、原データを複数のブロックに分割した後、符号化効率の算出を行うようにしたが、前処理として、ブロック分割後に、冗長ビット圧縮、サブサンプル圧縮、チャンネル間相関圧縮、フレーム間相関圧縮等の周知の圧縮方式を組み合わせることも可能である。
【図面の簡単な説明】
【００６１】
【図１】図１は、本発明に係る電子透かしの埋め込み方法および抽出方法の基本概念を示す図である。
【図２】予測誤差算出処理を行う際の各画素の位置関係を示す図である。
【図３】可視情報の埋め込みおよび抽出を実行する装置の構成図である。
【図４】可視情報の埋め込みおよび抽出の様子を示す図である。
【符号の説明】
【００６２】
１・・・原画像入力部
２、１２・・・文字フォント記憶部
３、１３・・・属性情報文字コード入力部
４、１４・・・ラスター変換部
５・・・可視情報埋め込み処理実行部
６・・・可視透かし入り画像出力部
１１・・・可視透かし入り画像入力部
１５・・・可視情報除去実行部
１６・・・原画像出力部
【図１】
2006086906.tif 000003
【図２】
2006086906.tif 000004
【図３】
2006086906.tif 000005
【図４】
2006086906.tif 000006