(57)【要約】      （修正有）【課題】専用の復号装置で復号した場合には、電子透かしの抽出が可能であるとともに、汎用の復号装置で復号した場合には、画像データに電子透かしを残したままとすることが可能な電子透かしの埋め込み方法および抽出方法を提供する。【解決手段】汎用の画像符号化方式で予測誤差の算出に用いられる参照画素の位置関係に基づいて埋め込み候補ブロックの形状を決定し、符号化対象とする画像データ（ａ）を複数の埋め込み候補ブロック（Ｂ１〜Ｂ１２）に区分する（ｂ）。次に、汎用の符号化方式により、各埋め込み候補ブロックについて予測誤差算出のための最適条件を選択し、１回以上選択された条件と、全く選択されなかった条件を区分する。さらに、各埋め込み候補ブロックについて改変を行った後、再度最適条件を選択し、選択した条件が、上記改変前において全く選択されなかった条件である場合に、その埋め込み候補ブロックを埋め込みを行うべきブロックである埋め込み対象ブロックとして不可視属性情報の埋め込みを行う。【選択図】図２
2006121460.tif 000002
【特許請求の範囲】
【請求項１】
画像データを構成する各画素について、当該画素の近傍の画素を参照して得られる当該画素の予測誤差を利用して、圧縮符号化を行う際に、電子透かしの埋め込みを行う方法であって、
埋め込みの対象とする原画像データを、予測誤差算出の対象とする対象画素と、当該対象画素の予測誤差を決定する際に利用する近傍の画素である参照画素を含む形状の埋め込み候補ブロックに区分するブロック区分段階と、
前記各埋め込み候補ブロックに対して、あらかじめ準備した複数の条件のうち最適な条件を選択し、全く選択されなかった条件と１回以上選択された条件を区分し、前記各埋め込み候補ブロックに対して改変を行った後、改変後の画像データにおける各埋め込み候補ブロックに対して、前記あらかじめ準備した複数の条件のうち最適な条件を選択し、選択された条件が改変前に前記全く選択されなかった条件である場合に、当該埋め込み候補ブロックを埋め込み対象ブロックとして決定する埋め込み対象ブロック決定段階と、
ビット配列で表現される不可視属性情報の各ビットと前記決定された埋め込み対象ブロックを対応付け、前記各ビットの値が第１の値である場合には対応する埋め込み対象ブロックに対して改変を行い、第２の値である場合には対応する埋め込み対象ブロックに対して改変を行わないことにより、不可視属性情報を前記埋め込み対象ブロックに埋め込む不可視属性情報埋め込み段階と、
埋め込み処理後の画像データ内の各画素に対して、最適な条件で予測誤差を求め、圧縮符号化を行う符号化段階と、
を有することを特徴とする電子透かしの埋め込み方法。
【請求項２】
請求項１において、
前記不可視属性情報は文字コードであり、
前記ブロック区分段階の前段に、前記文字コードである不可視属性情報を所定の文字フォントを用いて画像データの形式をもつ可視属性情報に変換する可視属性情報生成段階と、前記埋め込みの対象とする画像データに対して、前記生成された可視属性情報を埋め込む可視属性情報埋め込み段階と、
を有することを特徴とする電子透かしの埋め込み方法。
【請求項３】
電子透かしが埋め込まれた透かし入り画像を符号化した符号化データを復号して、電子透かしが除去された原画像データを得るとともに、電子透かしとして埋め込まれていた不可視属性情報を抽出する方法であって、
符号化データを各画素単位で記録されたデータに復元した後、各画素について、当該画素の近傍の画素である参照画素を利用して、当該画素の元の値を復元する透かし入り画像復元段階と、
前記復元した透かし入り画像を、前記復元した対象画素と、当該対象画素についての参照画素を含む形状の埋め込み候補ブロックに区分するブロック区分段階と、
前記各埋め込み候補ブロックの中から改変されたブロックを検出する改変ブロック検出段階と、
前記改変ブロック以外の埋め込み候補ブロックの中から埋め込み対象ブロックを検出する埋め込み対象ブロック検出段階と、
前記改変ブロックと前記埋め込み対象ブロックの画像データ内における配置順により求まるビット配列を不可視属性情報として抽出する不可視属性情報抽出段階と、
を有することを特徴とする電子透かしの抽出方法。
【請求項４】
請求項３において、
さらに、前記復元された透かし入り画像における各改変ブロックにおいて、再度改変を行うことにより、画像データを復元することを特徴とする電子透かしの抽出方法。
【請求項５】
請求項３において、
前記復元された画像データには、前記不可視属性情報抽出段階で抽出された不可視属性情報を基に生成された可視属性情報が埋め込まれており、
前記不可視属性情報抽出段階の後段に、前記画像データについて、前記抽出された不可視属性情報を基に可視属性情報を生成する可視属性情報生成段階と、
前記生成された可視属性情報を、前記画像データから除去する可視属性情報除去段階と、
を有することを特徴とする電子透かしの抽出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子カルテや遠隔医療における医用音響・静止画・動画像の保存と伝送、ゲノム情報・蛋白質情報などの生物情報の保存と伝送、リモートセンシング・衛星画像解析・地図情報処理分野におけるデータの保管と伝送など、データの改変が嫌われる分野、ＣＤ・ＤＶＤ・半導体メモリ等のデジタル記録媒体を用いた音響・映像記録再生装置分野、音響・映像制作、素材保管、ロケ素材の中継など音響・映像制作分野、特に品質の高い高精細音響・映像制作を行う分野、コンピュータグラフィックスを用いたＣＧアニメーション映像制作分野、科学技術シミュレーションにおける可視化映像制作分野、デジタル印刷製版工程における素材やページメークアップ画像データの保管と伝送等において好適なデータの処理技術に関する。
【背景技術】
【０００２】
従来より、音響データや、静止画・動画データをデータの欠落なく圧縮符号化する方式としてロスレス圧縮方式が用いられている。ロスレス圧縮方式で符号化して配布する場合、復号されると高品質な音響や映像が得られるため、正当な利用者が利用する場合は、非常に有用なものであるが、逆に、不正にコピーした者であっても、利用できてしまう。ロスレス圧縮方式で符号化されたデータは、復号後、転用されてしまうと、もはや、そのデータの出所を知ることができなくなってしまう。そこで、このような不正なコピーを防止・抑止するため、復号時に暗号キーを設定する方法と、復号された場合に著作権者を明示し、不正使用を追跡可能とする電子透かし挿入の方法がある。電子透かし挿入には、不可視と可視のタイプがあるが、画像を表示する際に、障害とならないように不可視のタイプが用いられている（例えば、特許文献１〜４参照）。
【０００３】
しかし、特許文献１〜４に開示されているような手法では、原データに直接電子透かしを埋め込むため、復号時に、不可視の電子透かしの検出性能を向上させようとすると、原データの品質を犠牲にしなければならなくなり、品質に影響を与えずに不可視の電子透かしを埋め込むことができないという問題があった。これを解決するため、出願人は、電子透かしとして埋め込む情報に応じて符号化方式を異ならせる手法により、原データを完全な状態で復元することが可能な電子透かしの埋め込み方法を提案した（特許文献５参照）。
【特許文献１】特許３５２２０５６号公報
【特許文献２】特開平１１−２９６６６１号公報
【特許文献３】特開２００３−１７４５５０号公報
【特許文献４】特開２００４−１７３２３７号公報
【特許文献５】特願２００４−２７０６３６号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上記特許文献５に記載の手法では、専用の復号装置で復号を行わないと、電子透かしを検出することができないが、規格化された符号化方式を採用すれば、汎用の復号装置で原画像データを再現することも可能で、この場合には埋め込まれた電子透かしが消失し、不正使用を抑止できないという問題がある。
【０００５】
そこで、本発明は、専用の復号装置で復号した場合には、電子透かしの抽出が可能であるとともに、原画像を劣化なく再現でき、汎用の復号装置で復号した場合には、画像データに不可視の電子透かしを残したまま復号化することが可能な電子透かしの埋め込み方法および抽出方法を提供することを課題とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明では、画像データを構成する各画素について、当該画素の近傍の画素を参照して得られる当該画素の予測誤差を利用して、圧縮符号化を行う際に、電子透かしの埋め込みを行う方法として、埋め込みの対象とする原画像データを、予測誤差算出の対象とする対象画素と、当該対象画素の予測誤差を決定する際に利用する近傍の画素である参照画素を含む形状の埋め込み候補ブロックに区分するブロック区分段階と、前記各埋め込み候補ブロックに対して、あらかじめ準備した複数の条件のうち最適な条件を選択し、全く選択されなかった条件と１回以上選択された条件を区分し、前記各埋め込み候補ブロックに対して改変を行った後、改変後の画像データにおける各埋め込み候補ブロックに対して、前記あらかじめ準備した複数の条件のうち最適な条件を選択し、選択された条件が改変前に前記全く選択されなかった条件である場合に、当該埋め込み候補ブロックを埋め込み対象ブロックとして決定する埋め込み対象ブロック決定段階と、ビット配列で表現される不可視属性情報の各ビットと前記決定された埋め込み対象ブロックを対応付け、前記各ビットの値が第１の値である場合には対応する埋め込み対象ブロックに対して改変を行い、第２の値である場合には対応する埋め込み対象ブロックに対して改変を行わないことにより、不可視属性情報を前記埋め込み対象ブロックに埋め込む不可視属性情報埋め込み段階と、埋め込み処理後の画像データ内の各画素に対して、最適な条件で予測誤差を求め、圧縮符号化を行う符号化段階を実行するようにしたことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、各画素の予測誤差を用いた画像データの圧縮符号化を行うに際して、対象とする画像データを、予測誤差算出の対象画素とその参照画素を含む形状の埋め込み候補ブロックに区分し、各埋め込み候補ブロックに対して、改変を行い、改変前と後で最適な条件が原画像データでは選択されることがない不自然な条件に変化している埋め込み候補ブロックを埋め込み対象ブロックとして決定し、この埋め込み対象ブロックに不可視属性情報を埋め込むようにしたので、専用の復号装置で復号した場合には、電子透かしの抽出し原画像を再現することが可能であるとともに、汎用の復号装置で復号した場合には、画像データに電子透かしを残したまま復号化することが可能となる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施形態について図面を参照して詳細に説明する。
（１．JPEG-LS規格における画像の適応型符号化）
まず、本発明は、様々な符号化方式を用いることができるが、実施形態において用いるJPEG-LS規格について説明しておく。JPEG-LS規格では、対象とする画素ＰＸの予測誤差を求めるにあたり、近傍の画素を利用する。この際、利用する近傍の画素である参照画素と、対象画素ＰＸの位置関係を図１に示す。図１において、ＰＡ、ＰＢ、ＰＣ、ＰＤは対象画素ＰＸの予測誤差を求めるために利用される参照画素である。図１に示すように、JPEG-LS規格では、対象画素ＰＸの予測誤差を求めるに当たり、対象画素ＰＸの１ライン上で左右方向に±１の範囲にある画素（ＰＣ、ＰＢ、ＰＤ）と、対象画素ＰＸと同一ラインで左側にある画素（ＰＡ）を利用することになる。なお、ここでの上下左右とは、図を用いて説明するための便宜上のものであり、実際には、「１ライン上」とは、データ処理時に先、すなわち、過去に行われるラインを示しており、同ラインにおいて「左側」の画素は、同一ライン内で先に処理される画素を示している。
【０００９】
JPEG-LS規格では、ＰＸの予測誤差を求める際、まず、参照画素を用いて、以下の〔数式１〕により、３つの画素差分Ｄ１、Ｄ２、Ｄ３を算出する。
【００１０】
〔数式１〕
Ｄ１＝（画素ＰＤの画素値）−（画素ＰＢの画素値）
Ｄ２＝（画素ＰＢの画素値）−（画素ＰＣの画素値）
Ｄ３＝（画素ＰＣの画素値）−（画素ＰＡの画素値）
【００１１】
そして、各画素差分を、複数の閾値により９段階に分類する。これにより、９×９×９＝７２９通りの組み合わせが得られる。この際Ｄ１〜Ｄ３が負の値となる場合には、その分類も負値で表現する。したがって、（Ｄ１，Ｄ２，Ｄ３）＝（−４，−４，−４）〜（４，４，４）の組み合わせが得られることになる。さらに、Ｄ１＝Ｄ２＝Ｄ３＝０の場合を除いた７２８通りについて、各画素差分の分類が、（Ｄ１，Ｄ２，Ｄ３）＝（０，０，０）について正負点対称となる組み合わせを同等に扱うことにして３６４通りのコンテキスト（Context）に分類する。コンテキストとは、各画素差分の組み合わせを示すものである。このコンテキストには、１から３６４の番号が付されている。そして、各コンテキストについて、補正値αを設定する。この補正値αは、各コンテキストに最適な条件として事前に算出されているものである。さらに、以下の〔数式２〕により基本予測値ＥＢを算出する。
【００１２】
〔数式２〕
ＥＢ＝（画素ＰＡの画素値）＋（画素ＰＢの画素値）−（画素ＰＣの画素値）
【００１３】
この基本予測値ＥＢと補正値αを用いて所定の計算式により、予測誤差Ｅが算出される。そして、画像データを構成する全ての画素を対象画素ＰＸとして処理をすることにより、各画素についての予測誤差Ｅが得られる。この予測誤差Ｅに対して、予測誤差Ｅを表現したビット長を可変長に変換する可変長符号化を行うことにより、画像データが圧縮符号化されることになる。以上が、JPEG-LS規格の概要である。
【００１４】
（２．本発明に係る電子透かし埋め込み方法）
次に、本発明に係る電子透かし埋め込み方法について具体的に説明していく。ここで、埋め込みおよび符号化の対象とする原画像データを図２（ａ）に示す。本発明で埋め込みおよび符号化の対象とする原画像データのサイズに特に制限はないが、本実施形態では、説明の便宜のため、図２（ａ）に示すように、横（ｉ軸）９画素、縦（ｊ軸）８画素の計７２画素からなる原画像データを符号化する場合を例にとって説明する。本発明に係る電子透かし埋め込み方法は、専用のプログラムをコンピュータにおいて実行することにより実現される。本発明に係る方法をコンピュータに実行させるプログラムは、コンピュータのＣＰＵ、メモリ、外部記憶装置等の各種ハードウェア資源を利用して本発明に係る方法を実現する。
【００１５】
コンピュータは、対象とする原画像データを読み込むと、最初に、対象とする原画像データを複数の埋め込み候補ブロックに区分する処理を行う。埋め込み候補ブロックは、後に電子透かしとする不可視属性情報を埋め込むための候補となるブロックである。埋め込み候補ブロックのサイズは、対象画素と参照画素の位置関係で決定される。具体的には、対象画素と参照画素全てを含む最小の矩形となるように決定されることになる。本実施形態では、対象画素と参照画素の関係は図１に示したような位置関係であるため、埋め込み候補ブロックは、横（ｉ軸）３画素×縦（ｊ軸）２画素のサイズとなる。すなわち、図１においては、対象画素ＰＸと参照画素ＰＡ〜ＰＤおよび点線で囲んだ画素を含むサイズとなる。したがって、図２（ａ）に示した画像データは、図２（ｂ）に示すように１２個の埋め込み候補ブロックに区分されることになる。
【００１６】
原画像データを埋め込み候補ブロックに区分したら、続いて、各埋め込み候補ブロックのコンテキストを求める。埋め込み候補ブロックのコンテキストは、対象画素と参照画素が全て埋め込み候補ブロックに含まれる位置関係となる場合について求める。例えば、埋め込み候補ブロックＢ１のコンテキストは、画素Ｐ（２，２）を対象画素ＰＸ、画素Ｐ（１，１）を参照画素ＰＣ、画素Ｐ（２，１）を参照画素ＰＢ、画素Ｐ（３，１）を参照画素ＰＤ、画素Ｐ（１，２）を参照画素ＰＡとしたときのコンテキストとなる。このようにして、各埋め込み候補ブロックＢ１〜Ｂ１２についてのコンテキストを決定し、選択する。そして、３６４通りのコンテキストを、いずれかのブロックにおいて少なくとも一回以上選択されたコンテキストと一回も選択されなかったコンテキストに区分する。具体的には、選択されたコンテキスト番号と、選択されなかったコンテキスト番号を記憶しておくことになる。これらは、選択コンテキスト情報として記録される。コンテキスト番号と条件である補正値αは、１対１で対応しているため、コンテキスト番号に代えて条件である補正値αを記録しておいても良い。事実上は、コンテキストを決定した時点で予測誤差Ｅ算出のための条件も決定されたことになる。図２の例では、１２個のブロックにしか区分していないため、３６４通りのコンテキストに対応させると、ほとんどのコンテキストが求められないことになってしまう。しかし、現実には、原画像データとして、２５６×２５６画素以上の画像を用いることが想定され、例えば７２０×４８０画素の画像の場合、５７６００個の埋め込み候補ブロックができることになる。この場合、コンテキスト１からコンテキスト３６４のうち、かなりの数のコンテキストが一回は選択されることになる。
【００１７】
続いて、埋め込み候補ブロックのうち、実際に情報を埋め込むための埋め込み対象ブロックを決定する処理を行う。埋め込み対象ブロックの決定に当たっては、まず、全ての埋め込み候補ブロックに、改変を加えてみる。具体的には、埋め込み対象ブロックを構成する６画素のうち、中上と左下の画素の画素値を入れ換える処理を行う。例えば、埋め込み候補ブロックＢ１においては、画素Ｐ（２，１）の画素値と画素Ｐ（１，２）の画素値を入れ換える処理を行うことになる。この改変は、各埋め込み候補ブロックにおいて同様に行われる。
【００１８】
そして、改変後の画像データに対して、上記と同様にして各埋め込み候補ブロックのコンテキストを求める。この際、原画像データにおいて全く選ばれなかった不選択コンテキストが求められた場合には、そのコンテキストが得られた埋め込み候補ブロックを埋め込み対象ブロックとして決定する。ここで、原画像データにおいて、１回でも選ばれたコンテキストを埋め込み対象ブロックとして採用すると、復号化時に埋め込み対象ブロックを判別することが困難になる。
【００１９】
埋め込み対象ブロックが決定したら、原画像データに対して電子透かしの埋め込みを行う。具体的には、電子透かしとして埋め込む不可視属性情報に基づいて、埋め込み対象ブロックに改変を行っていくことになる。ここで、電子透かしとは、例えば、紙幣を光にかざすと見える透かしを、電子的に表現したものであり、ここでは、通常に画像を見た場合に、その存在が見えない不可視電子透かしを意味する。また、不可視属性情報とは、不可視の属性情報であって、さらに、属性情報とは、何らかの意味を認識することができる情報であって、例えば、原画像の出所、原画像の著作権元を示す著作権情報、そして医療画像であれば患者ＩＤ情報が該当する。
【００２０】
不可視属性情報が“００１１１０”というビット配列の情報である場合、埋め込み対象ブロックの番号が若い方から順に、“０” “０” “１” “１” “１”“０”という情報を埋め込んでいく。埋め込み対象ブロックが、Ｂ３、Ｂ４、Ｂ６、Ｂ８、Ｂ１０、Ｂ１２である場合、Ｂ３に“０”、Ｂ４に“０”、Ｂ６に“１”、Ｂ８に“１”、Ｂ１０に“１”、Ｂ１２に“０”が埋め込まれることになる。ここで、“０”を埋め込む場合は、実際には何も改変は行われず、“１”を埋め込む場合だけ、その埋め込み対象ブロック内の中上と左下の画素の画素値を入れ換える処理を行うことになる。したがって、原画像データに対しては、埋め込み対象ブロックＢ６、Ｂ８、Ｂ１０についてのみ、ブロック内の中上と左下の画素の画素値を入れ換える処理が行われることになる。このようにして透かし入り画像が得られる。なお、上記と逆に、“１”を埋め込む場合は、実際には何も改変を行わず、“０”を埋め込む場合だけ、その埋め込み対象ブロック内の中上と左下の画素の画素値を入れ換える処理を行うようにすることも可能である。すなわち、ビット値は、“０” か“１”の２つの値しかとらないため、一方を第１の値、他方を第２の値として埋め込むか埋め込まないかの区別ができれば良いのである。
【００２１】
さらに、この透かし入り画像に対して、JPEG-LS規格を用いることにより、圧縮符号化を行う。すなわち、各画素の予測誤差Ｅを算出した後、可変長符号化を行う。予測誤差Ｅの算出は、上のラインが存在しないＰ（ｉ，１）と左のラインが存在しないＰ（１，ｊ）を除いた全ての画素に対して行う。さらに、この予測誤差Ｅを元に可変長符号化を行う。上のラインが存在しないＰ（ｉ，１）と左のラインが存在しないＰ（１，ｊ）については、元の画素値を基に可変長符号化が行われる。これにより、透かし入り画像を圧縮符号化した符号化データが得られることになる。可変長符号化としては、周知の種々の手法を用いることができるが、本実施形態では、JPEG-LS規格に準じてゴロム符号化と呼ばれる周知の方式を採用している。具体的には、１画素を構成するビット成分を上位ビット成分と下位ビット成分に分け、下位ビット成分は変更を加えずそのままとし、上位ビット成分は、上位ビットだけを十進数変換した数値分のビット「０」を並べ、最後にセパレータビット「１」を加えた配列とする。例えば、８ビットのビット成分「００１０１０００」を考えてみる。このとき、下位ビット成分を４ビットとすると、下位ビット成分は「１０００」となる。上位ビットは「００１０」であるため、これを十進数変換すると「２」となるので、２個分の「０」を配列して最後に「１」を加えた「００１」に変換される。この結果、８ビットのビット列「００１０１０００」は、７ビットのビット列「００１１０００」に変換されることになる。本実施形態では、変換の前後でビット成分を不変とする下位ビット成分のビット長を各画素で可変とするようにしている。そして、符号化データと選択コンテキスト情報をまとめて符号化データファイルとする処理を行う。
【００２２】
（２．２．具体的な処理）
上記が電子透かし埋め込み方法の概要であるが、コンピュータは、原画像データについて、各埋め込み候補ブロックのコンテキストを求めた後は、各埋め込み候補ブロック単位で実行する。こうしないと、復号化時に改変されたブロックを特定することが困難になるためである。ここからは、各埋め込み候補ブロックのコンテキストを求めた後の各埋め込み候補ブロックの処理について、図３のフローチャートを用いて説明する。まず、上記のように区分された埋め込み候補ブロックのうち１つを抽出する（Ｓ１）。続いて、抽出した埋め込み候補ブロックに対して、改変を加える（Ｓ２）。具体的には、埋め込み対象ブロックを構成する６画素のうち、中上と左下の画素の画素値を入れ換える処理を行う。例えば、埋め込み候補ブロックＢ１においては、画素Ｐ（２，１）の画素値と画素Ｐ（１，２）の画素値を入れ換える処理を行うことになる。この改変は、各埋め込み候補ブロックにおいて同様に行われる。
【００２３】
そして、改変後の画像データに対して、上記と同様にして各埋め込み候補ブロックのコンテキストを求める（Ｓ３）。この結果、求められたコンテキストが、原画像データにおいて一度も選択されなかった不選択コンテキストであるか否かを判断する（Ｓ４）。不選択コンテキストでない場合、すなわち、一度以上選択されたコンテキストである場合には、その埋め込み候補ブロックに対する処理を終了し、上記Ｓ２において加えた改変を元に戻し（Ｓ６）、次の埋め込み候補ブロックに対する処理を開始する（Ｓ１）。一方、求められたコンテキストが、原画像データにおいて一度も選択されなかった不選択コンテキストである場合は、現在処理している埋め込み候補ブロックを埋め込み対象ブロックとすることになる。この場合、不可視属性情報を構成するビットを抽出し、抽出したビットが“０” であるか“１”であるかを判断する（Ｓ５）。抽出したビットが“１”である場合は、そのブロックに対する処理を終了し、次の埋め込み候補ブロックに対する処理を開始する（Ｓ１）。一方、抽出したビットが“０”である場合は、上記Ｓ２において加えた改変を元に戻す（Ｓ６）。上記Ｓ１〜Ｓ６の処理を各埋め込み候補ブロックに対して実行することにより、電子透かしが埋め込まれることになる。上述のように、この後は、透かし入り画像に対して、JPEG-LS規格に基づいた圧縮符号化が行われる。
【００２４】
以上のようにして、本発明に係る電子透かしの埋め込み方法により電子透かしが埋め込まれるとともに圧縮符号化された符号化データは、上記選択コンテキスト情報とともに符号化データファイルとされた後、記録媒体に記録され、あるいはネットワークを介する等して、流通におかれることになる。この際、符号化データファイルには、符号化データを復号するための専用プログラムも添付して流通される。
【００２５】
（３．本発明に係る電子透かしの抽出方法（専用デコーダによる復号））
流通された符号化データは、購入等の正当な行為により、正当な利用者が取得することになる。正当に取得する場合には、上述のように、符号化データだけでなく、復号のための専用プログラムも取得することができる。このようにして取得した復号用の専用プログラムは、コンピュータにより実行することにより、コンピュータが専用デコーダとして機能することになる。続いて、このような専用デコーダにより符号化データを復号する場合について説明する。復号の際には、まず、コンピュータが、符号化データファイルを読み込む。そして、符号化データを符号化された状態から予測誤差Ｅの状態に戻す処理を行う。これにより、Ｐ（ｉ，１）のラインとＰ（１，ｊ）のラインは元の画素に復元され、他の画素については、予測誤差Ｅが記録された状態となる。さらに、各予測誤差Ｅについて、JPEG-LS規格に従った処理により元の画素の復元を行う。具体的には、上記〔数式１〕によりコンテキストを決定すると共に、上記〔数式２〕により基本予測値ＥＢを算出し、予測誤差Ｅを利用して、元の画素ＰＸの画素値を復元する。このようにして、各画素の値を復元することにより、透かし入り画像が復元されることになる。
【００２６】
透かし入り画像が復元されたら、続いて、埋め込み候補ブロックに区分する。この処理は、符号化の際に行った処理と同様にして行われる。次に、各埋め込み候補ブロックについて、コンテキストを求める処理を行う。この処理も、符号化の際に行った処理と同様にして行われる。コンテキストが求められたら、符号化データに付随して得られた選択コンテキスト情報内の不選択コンテキスト番号を参照し、求められたコンテキストに不選択コンテキストが存在するかどうかを確認する。不選択コンテキストが存在した場合には、その埋め込み候補ブロックには改変が加えられていることを意味することとなる。この例では、Ｂ６、Ｂ８、Ｂ１０が改変されたブロックとして検出されることになる。
【００２７】
続いて、埋め込み対象ブロックの検出を行う。この際、まず、改変されたブロックとして検出されたブロック以外の埋め込み候補ブロックについて改変を行う。これは、上記符号化の際と同様に、中上と左下の画素の画素値を交換することにより行う。そして、改変後の透かし入り画像の埋め込み候補ブロックについてコンテキストを求める。そして、求められたコンテキストに不選択コンテキストが存在するかどうかを確認する。不選択コンテキストが存在した場合には、その埋め込み候補ブロックは埋め込み対象ブロックであることを意味することとなる。これは、上記埋め込みの際に、改変後の埋め込み候補ブロックにおいて求められるコンテキストが不選択コンテキストである場合に、埋め込み対象ブロックとするというルールとしたために導き出されるものである。この例では、Ｂ３、Ｂ４、Ｂ１２が改変されていない埋め込み対象ブロックとして新たに検出されることになる。既に検出された改変されたブロックは、Ｂ６、Ｂ８、Ｂ１０であるため、これらのブロックには、“１”が埋め込まれていたことになり、続いて検出されたブロックＢ３、Ｂ４、Ｂ１２には“０”が埋め込まれていたことになる。従って、ブロック番号の若い順に並べると “００１１１０”というビット配列の不可視属性情報が得られる。なお、ここでは、説明の簡略化のため、不可視属性情報としてわずか６ビットの情報を用いたが、実際には、文字コード等のビット配列を不可視属性情報と用いる。そうすることにより、得られた不可視属性情報を文字として認識することができ、例えば、出所の表示等を文字で表現しておけば、そのまま著作権表示を検出することも可能となる。
【００２８】
一方、上記復元された透かし入り画像に対して、改変されたブロックであるＢ６、Ｂ８、Ｂ１０において、再度改変を行えば、元の原画像データが復元される。すなわち、Ｂ６、Ｂ８、Ｂ１０において、中上と左下の画素の画素値を交換すれば、元の原画像データが得られることになる。以上のようにすることにより、原画像データは電子透かしを入れる前の元の状態のまま得られ、電子透かしとして埋め込まれた不可視属性情報も得られることになる。
【００２９】
（３．２．具体的な処理）
上記が電子透かし抽出処理の概要であるが、透かし入り画像が復元されて、埋め込み候補ブロックに区分された後は、各埋め込み候補ブロックについては、図４のフローチャートに従った処理が行われる。まず、上記のように区分された埋め込み候補ブロックのうち１つを抽出する（Ｓ１１）。続いて、各埋め込み候補ブロックのコンテキストを求める（Ｓ１２）。この処理は、符号化の際に行ったＳ３の処理と同様にして行われる。コンテキストが求められたら、符号化データに付随して得られた不選択コンテキスト番号を参照し、求められたコンテキストが不選択コンテキストであるかどうかを確認する（Ｓ１３）。不選択コンテキストである場合には、その埋め込み候補ブロックには改変が加えられていることを意味することとなるため、ビット“１”を出力する（Ｓ１４）。上記の例では、Ｂ６、Ｂ８、Ｂ１０について、ビット“１”が出力されることになる。そして、上記Ｓ６と同様にして改変を元に戻す（Ｓ１９）。
【００３０】
一方、不選択コンテキストでない場合には、埋め込み候補ブロックについて改変を行う（Ｓ１５）。これは、上記符号化の際のＳ２の処理と同様に、中上と左下の画素の画素値を交換することにより行う。そして、改変後の透かし入り画像の埋め込み候補ブロックについてコンテキストを求める（Ｓ１６）。そして、求められたコンテキストが不選択コンテキストであるかどうかを確認する（Ｓ１７）。不選択コンテキストである場合には、その埋め込み候補ブロックは埋め込み対象ブロックであることを意味することとなるため、ビット“０”を出力し（Ｓ１８）、上記と同様に改変を元に戻す（Ｓ１９）。これは、上記埋め込みの際に、改変後の埋め込み候補ブロックにおいて求められるコンテキストが不選択コンテキストである場合に、埋め込み対象ブロックとするというルールとしたために導き出されるものである。一方、不選択コンテキストでない場合は、上記と同様にして改変を元に戻す（Ｓ１９）。
【００３１】
（４．汎用デコーダによる復号）
符号化データの正当な取得者は、専用プログラムを得られるため、専用デコーダによる復号が可能であるが、符号化データを試用のため正当な方法以外で取得した試用者も汎用デコーダによる復号は可能である。すなわち、本実施形態では、汎用のJPEG-LS規格に従った復号プログラムを有していれば、これを、コンピュータにより実行することにより、コンピュータが汎用デコーダとして機能することになる。続いて、このような汎用デコーダにより符号化データを復号する場合について説明する。復号の際には、まず、符号化された状態から予測誤差Ｅの状態に戻す処理を行う。これにより、Ｐ（ｉ，１）のラインとＰ（１，ｊ）のラインは元の画素に復元され、他の画素については、予測誤差Ｅが記録された状態となる。さらに、各予測誤差Ｅについて、JPEG-LS規格により元の画素の復元を行う。具体的には、上記〔数式１〕によりコンテキストを決定すると共に、上記〔数式２〕により基本予測値ＥＢを算出し、予測誤差Ｅを利用して、元の画素ＰＸの画素値を復元する。このようにして、各画素の値を復元することにより、透かし入り画像が復元されることになる。
【００３２】
JPEG-LS規格の汎用デコーダを用いた復号は、この時点で終了である。したがって、画像データは元の状態には完全には戻らず、改変されたブロックは、改変された状態のままである。しかし、改変はわずかであるため、この透かし入り画像を見ても、透かしが入っていることは認識できない。すなわち、不可視の電子透かしが埋め込まれた状態であることになる。この透かし入り画像は、上述のように、透かしが見えないため、個人で楽しむ分には問題はない。しかし、この透かし入り画像が不正に出回った場合には、専用デコーダを利用して符号化データを復号することにより、電子透かしとして埋め込んだ不可視属性情報が検出されることになる。例えば、上述のように、不可視属性情報として、「○○株式会社著作」等の出所を示す情報を文字コードとして記録しておけば、出所の確認を容易に行うことが可能となる。
【００３３】
（５．１．可視電子透かしの埋め込み）
以上のように、本発明では、不可視の属性情報を電子透かしとして原画像データに埋め込むが、これに加えて、可視の属性情報を埋め込むことも可能である。次に、可視属性情報を追加して埋め込む場合について説明する。図５は、可視属性情報を埋め込む装置の構成図である。図３において、１は元画像入力部、２は文字フォント記憶部、３は属性情報文字コード入力部、４はラスター変換部、５は可視情報埋め込み処理実行部、６は可視透かし入り画像出力部である。
【００３４】
元画像入力部１は、流通される目的となる元画像データを入力する機能を有する。なお、ここで「原画像」ではなく「元画像」としたのは、図５に示した装置において、出力される可視透かし入り画像が、上記不可視属性情報のみを電子透かしとして埋め込む場合の原画像に対応するものであるため、区別したものである。文字フォント記憶部２は、ラスターデータ形式の文字フォントを記憶したものである。属性情報文字コード入力部３は電子透かしとして埋め込むべき属性情報を文字コードの形式で入力する機能を有する。ラスター変換部４は、属性情報文字コード入力部３から入力された文字コードを、文字フォント記憶部２を参照してラスターデータ形式のニ値画像に変換する機能を有している。可視情報埋め込み処理実行部５は、元画像入力部１から入力された元画像とラスター変換部４から出力されるニ値画像を各画素ごとに加算して、元画像に可視の電子透かしが埋め込まれた透かし入り画像として出力する機能を有している。可視透かし入り画像出力部７は、可視属性情報が埋め込まれた透かし入り画像を出力するためのものである。
【００３５】
ここで、可視情報埋め込み処理実行部５による処理を、図６を用いて説明する。図６（ａ）は、元画像入力部１から入力された元画像、図６（ｂ）は、ラスター変換部４により変換された電子透かしとしての役割を果たすニ値画像（識別画像）である。図６（ａ）の例では、各画素が８ビットで表現される場合を示しており、各画素は０〜２５５の値をとる。ここでは、色プレーンが１つのみのモノクロ画像の場合について説明する。図６（ｂ）は０と１２８の２つの値だけをとるニ値画像となっている。なお、ここでは、説明の簡略化のため、元画像、ニ値画像ともに９×８画素としている。埋め込み処理実行部５では、図６（ａ）に示した元画像と図６（ｂ）に示したニ値画像が入力された場合、各画素ごとに加算処理を行う。この際、加算した結果が２５５を超えた場合は、２５６を引き算して、０〜２５５に収めるための処理を行う。すなわち、８ビットで表現し、桁あふれは無視するのである。この結果、図６（ｃ）に示すような透かし入り画像が得られる。なお、元画像がカラー画像の場合は、元画像の各プレーンについて、上記のようなニ値画像との加算処理が行われる。
【００３６】
図５（ａ）に示した装置は、上記本発明に係る電子透かし埋め込み方法を実行するプログラムと共に１台のコンピュータに組み込まれて実現される。したがって、上記のようにして可視透かし入り画像出力部７から出力される可視透かし入り画像を原画像データとして、属性情報文字コード入力部３から入力された不可視属性情報が本発明に係る不可視属性情報埋め込み方法により埋め込まれることになる。すなわち、属性情報文字コード入力部３からは、属性情報を１回入力するだけで可視属性情報、不可視属性情報として２箇所において、利用されることになる。
【００３７】
（５．２．可視電子透かしの除去）
可視属性情報、不可視属性情報が埋め込まれた符号化データは、上記本発明に係る電子透かし抽出方法に従って復号され、原画像データ（可視透かし入り画像）および不可視属性情報が得られる。さらに、原画像データである可視透かし入り画像および不可視属性情報を利用して、可視透かし入り画像から可視電子透かしを除去する。可視電子透かしを除去する装置を図５（ｂ）に示す。図５（ｂ）において、１１は可視透かし入り画像入力部、１２は文字フォント記憶部、１３は属性情報文字コード入力部、１４はラスター変換部、１５は透かし除去実行部、１６は元画像出力部である。
【００３８】
可視透かし入り画像入力部１１は、復号された原画像データである可視透かし入り画像を入力するためのものである。文字フォント記憶部１２は、可視情報埋め込み装置において利用した文字フォントと全く同じ文字フォントを記憶したものである。属性情報文字コード入力部１３は復号により得られた不可視属性情報を入力する機能を有する。ここでは、復号により文字コードの形式で得られるため、そのまま入力されることになる。ラスター変換部１４は、属性情報文字コード入力部１３から入力された文字コードを、文字フォント記憶部１２を参照してラスターデータ形式のニ値画像に変換する機能を有している。透かし除去実行部１５は、ラスター変換部１４から出力されるニ値画像と可視透かし入り画像入力部１１から入力された可視透かし入り画像を各画素ごとに加算して、透かし入り画像から電子透かしを除去した元画像として出力する機能を有している。元画像出力部１６は、電子透かしを除去した元画像を出力するためのものであり、例えば、画面に表示出力するディスプレイ装置等が適用できる。図５（ｂ）に示す装置は、コンピュータに専用のプログラムを搭載することにより実現され、上記本発明に係る電子透かし抽出方法を実行するプログラムと共に１台のコンピュータに組み込んで構成するようにしても良い。
【００３９】
ここで、透かし除去実行部１５による処理を、図６を用いて説明する。上記のように、復号された可視透かし入り画像は図６（ｃ）に示すようなものとなっている。また、ラスター変換部１４から出力されるニ値画像は図６（ｂ）に示すようなものとなっている。透かし除去実行部１５では、図５（ｃ）に示した透かし入り画像と図５（ｂ）に示したニ値画像が入力された場合、各画素ごとに加算処理を行う。この際、加算した結果が２５５を超えた場合は、２５６を引き算して、０〜２５５に収めるための処理を行う。すなわち、８ビットで表現し、桁あふれは無視するのである。この結果、図６（ａ）に示すような元画像が得られる。なお、透かし入り画像がカラー画像の場合は、透かし入り画像の各プレーンについて、上記のようなニ値画像との加算処理が行われる。
【００４０】
（６．変形例）
以上、本発明の好適な実施形態について説明したが、本発明は、上記実施形態に限定されず、種々の変形が可能である。例えば、上記実施形態では、JPEG-LS規格の線形予測符号化におけるコンテキストを活用して属性情報を載せる方法を提案したが、同規格ではランレングス符号化もサポートしているため、これに属性情報を載せる方法も考えられる。すなわち、原画像データでは、ランレングス符号化が適用される平坦な階調をもつ箇所がないが、ブロックに改変を加えることによりランレングス符号化モードに転換されるブロックを探索して属性情報を埋め込むことができる。また、JPEG-LS規格に限らず、他の符号化方式にも本発明は適用でき、予測誤差Ｅの算出の直後に可変長符号化を行う必要はなく、算出された予測誤差を利用して、冗長ビット圧縮、信号平坦部圧縮等の周知の圧縮方式を組み合わせることも可能である。
【００４１】
また、上記実施形態では、静止画である画像データを符号化対象とする場合について説明したが、本発明は、画像データを１つのフレームとして、複数のフレームで構成される動画データを圧縮符号化する際にも、適用できることは当然である。すなわち、動画データを圧縮する際、各フレームを独立して圧縮符号化する際に、電子透かしを埋め込むことになる。
【図面の簡単な説明】
【００４２】
【図１】JPEG-LS規格における対象画素と参照画素の位置関係を示す図である。
【図２】埋め込みおよび符号化の対象とする原画像データと区分されたブロックの状態を示す図である。
【図３】各埋め込み候補ブロックに対する埋め込み処理のフローチャートである。
【図４】各埋め込み候補ブロックに対する抽出処理のフローチャートである。
【図５】可視情報の埋め込みおよび抽出を実行する装置の構成図である。
【図６】可視情報の埋め込みおよび抽出の様子を示す図である。
【符号の説明】
【００４３】
１・・・元画像入力部
２、１２・・・文字フォント記憶部
３、１３・・・属性情報文字コード入力部
４、１４・・・ラスター変換部
５・・・可視情報埋め込み処理実行部
６・・・可視透かし入り画像出力部
１１・・・可視透かし入り画像入力部
１５・・・可視情報除去実行部
１６・・・元画像出力部
Ｂ１〜Ｂ１２・・・ブロック
ＰＸ・・・対象画素
ＰＡ〜ＰＤ・・・参照画素
【図１】
2006121460.tif 000003
【図２】
2006121460.tif 000004
【図３】
2006121460.tif 000005
【図４】
2006121460.tif 000006
【図５】
2006121460.tif 000007
【図６】
2006121460.tif 000008