説明

電子透かしの埋め込み方法および抽出方法

【課題】専用の復号装置で復号した場合には、電子透かしの抽出が可能であるとともに、汎用の復号装置で復号した場合には、画像データに電子透かしを残したままとすることが可能な電子透かしの埋め込み方法および抽出方法を提供する。
【解決手段】汎用の画像符号化方式で予測誤差の算出に用いられる参照画素の位置関係に基づいて埋め込み候補ブロックの形状を決定し、符号化対象とする画像データ(a)を複数の埋め込み候補ブロック(B1〜B12)に区分する(b)。次に、汎用の符号化方式により、各埋め込み候補ブロックについて予測誤差算出のための最適条件を選択し、1回以上選択された条件と、全く選択されなかった条件を区分する。さらに、各埋め込み候補ブロックについて改変を行った後、再度最適条件を選択し、選択した条件が、上記改変前において全く選択されなかった条件である場合に、その埋め込み候補ブロックを埋め込みを行うべきブロックである埋め込み対象ブロックとして不可視属性情報の埋め込みを行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子カルテや遠隔医療における医用音響・静止画・動画像の保存と伝送、ゲノム情報・蛋白質情報などの生物情報の保存と伝送、リモートセンシング・衛星画像解析・地図情報処理分野におけるデータの保管と伝送など、データの改変が嫌われる分野、CD・DVD・半導体メモリ等のデジタル記録媒体を用いた音響・映像記録再生装置分野、音響・映像制作、素材保管、ロケ素材の中継など音響・映像制作分野、特に品質の高い高精細音響・映像制作を行う分野、コンピュータグラフィックスを用いたCGアニメーション映像制作分野、科学技術シミュレーションにおける可視化映像制作分野、デジタル印刷製版工程における素材やページメークアップ画像データの保管と伝送等において好適なデータの処理技術に関する。
【背景技術】
【0002】
従来より、音響データや、静止画・動画データをデータの欠落なく圧縮符号化する方式としてロスレス圧縮方式が用いられている。ロスレス圧縮方式で符号化して配布する場合、復号されると高品質な音響や映像が得られるため、正当な利用者が利用する場合は、非常に有用なものであるが、逆に、不正にコピーした者であっても、利用できてしまう。ロスレス圧縮方式で符号化されたデータは、復号後、転用されてしまうと、もはや、そのデータの出所を知ることができなくなってしまう。そこで、このような不正なコピーを防止・抑止するため、復号時に暗号キーを設定する方法と、復号された場合に著作権者を明示し、不正使用を追跡可能とする電子透かし挿入の方法がある。電子透かし挿入には、不可視と可視のタイプがあるが、画像を表示する際に、障害とならないように不可視のタイプが用いられている(例えば、特許文献1〜4参照)。
【0003】
しかし、特許文献1〜4に開示されているような手法では、原データに直接電子透かしを埋め込むため、復号時に、不可視の電子透かしの検出性能を向上させようとすると、原データの品質を犠牲にしなければならなくなり、品質に影響を与えずに不可視の電子透かしを埋め込むことができないという問題があった。これを解決するため、出願人は、電子透かしとして埋め込む情報に応じて符号化方式を異ならせる手法により、原データを完全な状態で復元することが可能な電子透かしの埋め込み方法を提案した(特許文献5参照)。
【特許文献1】特許3522056号公報
【特許文献2】特開平11−296661号公報
【特許文献3】特開2003−174550号公報
【特許文献4】特開2004−173237号公報
【特許文献5】特願2004−270636号
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし、上記特許文献5に記載の手法では、専用の復号装置で復号を行わないと、電子透かしを検出することができないが、規格化された符号化方式を採用すれば、汎用の復号装置で原画像データを再現することも可能で、この場合には埋め込まれた電子透かしが消失し、不正使用を抑止できないという問題がある。
【0005】
そこで、本発明は、専用の復号装置で復号した場合には、電子透かしの抽出が可能であるとともに、原画像を劣化なく再現でき、汎用の復号装置で復号した場合には、画像データに不可視の電子透かしを残したまま復号化することが可能な電子透かしの埋め込み方法および抽出方法を提供することを課題とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明では、画像データを構成する各画素について、当該画素の近傍の画素を参照して得られる当該画素の予測誤差を利用して、圧縮符号化を行う際に、電子透かしの埋め込みを行う方法として、埋め込みの対象とする原画像データを、予測誤差算出の対象とする対象画素と、当該対象画素の予測誤差を決定する際に利用する近傍の画素である参照画素を含む形状の埋め込み候補ブロックに区分するブロック区分段階と、前記各埋め込み候補ブロックに対して、あらかじめ準備した複数の条件のうち最適な条件を選択し、全く選択されなかった条件と1回以上選択された条件を区分し、前記各埋め込み候補ブロックに対して改変を行った後、改変後の画像データにおける各埋め込み候補ブロックに対して、前記あらかじめ準備した複数の条件のうち最適な条件を選択し、選択された条件が改変前に前記全く選択されなかった条件である場合に、当該埋め込み候補ブロックを埋め込み対象ブロックとして決定する埋め込み対象ブロック決定段階と、ビット配列で表現される不可視属性情報の各ビットと前記決定された埋め込み対象ブロックを対応付け、前記各ビットの値が第1の値である場合には対応する埋め込み対象ブロックに対して改変を行い、第2の値である場合には対応する埋め込み対象ブロックに対して改変を行わないことにより、不可視属性情報を前記埋め込み対象ブロックに埋め込む不可視属性情報埋め込み段階と、埋め込み処理後の画像データ内の各画素に対して、最適な条件で予測誤差を求め、圧縮符号化を行う符号化段階を実行するようにしたことを特徴とする。
【発明の効果】
【0007】
本発明によれば、各画素の予測誤差を用いた画像データの圧縮符号化を行うに際して、対象とする画像データを、予測誤差算出の対象画素とその参照画素を含む形状の埋め込み候補ブロックに区分し、各埋め込み候補ブロックに対して、改変を行い、改変前と後で最適な条件が原画像データでは選択されることがない不自然な条件に変化している埋め込み候補ブロックを埋め込み対象ブロックとして決定し、この埋め込み対象ブロックに不可視属性情報を埋め込むようにしたので、専用の復号装置で復号した場合には、電子透かしの抽出し原画像を再現することが可能であるとともに、汎用の復号装置で復号した場合には、画像データに電子透かしを残したまま復号化することが可能となる。
【発明を実施するための最良の形態】
【0008】
以下、本発明の実施形態について図面を参照して詳細に説明する。
(1.JPEG-LS規格における画像の適応型符号化)
まず、本発明は、様々な符号化方式を用いることができるが、実施形態において用いるJPEG-LS規格について説明しておく。JPEG-LS規格では、対象とする画素PXの予測誤差を求めるにあたり、近傍の画素を利用する。この際、利用する近傍の画素である参照画素と、対象画素PXの位置関係を図1に示す。図1において、PA、PB、PC、PDは対象画素PXの予測誤差を求めるために利用される参照画素である。図1に示すように、JPEG-LS規格では、対象画素PXの予測誤差を求めるに当たり、対象画素PXの1ライン上で左右方向に±1の範囲にある画素(PC、PB、PD)と、対象画素PXと同一ラインで左側にある画素(PA)を利用することになる。なお、ここでの上下左右とは、図を用いて説明するための便宜上のものであり、実際には、「1ライン上」とは、データ処理時に先、すなわち、過去に行われるラインを示しており、同ラインにおいて「左側」の画素は、同一ライン内で先に処理される画素を示している。
【0009】
JPEG-LS規格では、PXの予測誤差を求める際、まず、参照画素を用いて、以下の〔数式1〕により、3つの画素差分D1、D2、D3を算出する。
【0010】
〔数式1〕
D1=(画素PDの画素値)−(画素PBの画素値)
D2=(画素PBの画素値)−(画素PCの画素値)
D3=(画素PCの画素値)−(画素PAの画素値)
【0011】
そして、各画素差分を、複数の閾値により9段階に分類する。これにより、9×9×9=729通りの組み合わせが得られる。この際D1〜D3が負の値となる場合には、その分類も負値で表現する。したがって、(D1,D2,D3)=(−4,−4,−4)〜(4,4,4)の組み合わせが得られることになる。さらに、D1=D2=D3=0の場合を除いた728通りについて、各画素差分の分類が、(D1,D2,D3)=(0,0,0)について正負点対称となる組み合わせを同等に扱うことにして364通りのコンテキスト(Context)に分類する。コンテキストとは、各画素差分の組み合わせを示すものである。このコンテキストには、1から364の番号が付されている。そして、各コンテキストについて、補正値αを設定する。この補正値αは、各コンテキストに最適な条件として事前に算出されているものである。さらに、以下の〔数式2〕により基本予測値EBを算出する。
【0012】
〔数式2〕
EB=(画素PAの画素値)+(画素PBの画素値)−(画素PCの画素値)
【0013】
この基本予測値EBと補正値αを用いて所定の計算式により、予測誤差Eが算出される。そして、画像データを構成する全ての画素を対象画素PXとして処理をすることにより、各画素についての予測誤差Eが得られる。この予測誤差Eに対して、予測誤差Eを表現したビット長を可変長に変換する可変長符号化を行うことにより、画像データが圧縮符号化されることになる。以上が、JPEG-LS規格の概要である。
【0014】
(2.本発明に係る電子透かし埋め込み方法)
次に、本発明に係る電子透かし埋め込み方法について具体的に説明していく。ここで、埋め込みおよび符号化の対象とする原画像データを図2(a)に示す。本発明で埋め込みおよび符号化の対象とする原画像データのサイズに特に制限はないが、本実施形態では、説明の便宜のため、図2(a)に示すように、横(i軸)9画素、縦(j軸)8画素の計72画素からなる原画像データを符号化する場合を例にとって説明する。本発明に係る電子透かし埋め込み方法は、専用のプログラムをコンピュータにおいて実行することにより実現される。本発明に係る方法をコンピュータに実行させるプログラムは、コンピュータのCPU、メモリ、外部記憶装置等の各種ハードウェア資源を利用して本発明に係る方法を実現する。
【0015】
コンピュータは、対象とする原画像データを読み込むと、最初に、対象とする原画像データを複数の埋め込み候補ブロックに区分する処理を行う。埋め込み候補ブロックは、後に電子透かしとする不可視属性情報を埋め込むための候補となるブロックである。埋め込み候補ブロックのサイズは、対象画素と参照画素の位置関係で決定される。具体的には、対象画素と参照画素全てを含む最小の矩形となるように決定されることになる。本実施形態では、対象画素と参照画素の関係は図1に示したような位置関係であるため、埋め込み候補ブロックは、横(i軸)3画素×縦(j軸)2画素のサイズとなる。すなわち、図1においては、対象画素PXと参照画素PA〜PDおよび点線で囲んだ画素を含むサイズとなる。したがって、図2(a)に示した画像データは、図2(b)に示すように12個の埋め込み候補ブロックに区分されることになる。
【0016】
原画像データを埋め込み候補ブロックに区分したら、続いて、各埋め込み候補ブロックのコンテキストを求める。埋め込み候補ブロックのコンテキストは、対象画素と参照画素が全て埋め込み候補ブロックに含まれる位置関係となる場合について求める。例えば、埋め込み候補ブロックB1のコンテキストは、画素P(2,2)を対象画素PX、画素P(1,1)を参照画素PC、画素P(2,1)を参照画素PB、画素P(3,1)を参照画素PD、画素P(1,2)を参照画素PAとしたときのコンテキストとなる。このようにして、各埋め込み候補ブロックB1〜B12についてのコンテキストを決定し、選択する。そして、364通りのコンテキストを、いずれかのブロックにおいて少なくとも一回以上選択されたコンテキストと一回も選択されなかったコンテキストに区分する。具体的には、選択されたコンテキスト番号と、選択されなかったコンテキスト番号を記憶しておくことになる。これらは、選択コンテキスト情報として記録される。コンテキスト番号と条件である補正値αは、1対1で対応しているため、コンテキスト番号に代えて条件である補正値αを記録しておいても良い。事実上は、コンテキストを決定した時点で予測誤差E算出のための条件も決定されたことになる。図2の例では、12個のブロックにしか区分していないため、364通りのコンテキストに対応させると、ほとんどのコンテキストが求められないことになってしまう。しかし、現実には、原画像データとして、256×256画素以上の画像を用いることが想定され、例えば720×480画素の画像の場合、57600個の埋め込み候補ブロックができることになる。この場合、コンテキスト1からコンテキスト364のうち、かなりの数のコンテキストが一回は選択されることになる。
【0017】
続いて、埋め込み候補ブロックのうち、実際に情報を埋め込むための埋め込み対象ブロックを決定する処理を行う。埋め込み対象ブロックの決定に当たっては、まず、全ての埋め込み候補ブロックに、改変を加えてみる。具体的には、埋め込み対象ブロックを構成する6画素のうち、中上と左下の画素の画素値を入れ換える処理を行う。例えば、埋め込み候補ブロックB1においては、画素P(2,1)の画素値と画素P(1,2)の画素値を入れ換える処理を行うことになる。この改変は、各埋め込み候補ブロックにおいて同様に行われる。
【0018】
そして、改変後の画像データに対して、上記と同様にして各埋め込み候補ブロックのコンテキストを求める。この際、原画像データにおいて全く選ばれなかった不選択コンテキストが求められた場合には、そのコンテキストが得られた埋め込み候補ブロックを埋め込み対象ブロックとして決定する。ここで、原画像データにおいて、1回でも選ばれたコンテキストを埋め込み対象ブロックとして採用すると、復号化時に埋め込み対象ブロックを判別することが困難になる。
【0019】
埋め込み対象ブロックが決定したら、原画像データに対して電子透かしの埋め込みを行う。具体的には、電子透かしとして埋め込む不可視属性情報に基づいて、埋め込み対象ブロックに改変を行っていくことになる。ここで、電子透かしとは、例えば、紙幣を光にかざすと見える透かしを、電子的に表現したものであり、ここでは、通常に画像を見た場合に、その存在が見えない不可視電子透かしを意味する。また、不可視属性情報とは、不可視の属性情報であって、さらに、属性情報とは、何らかの意味を認識することができる情報であって、例えば、原画像の出所、原画像の著作権元を示す著作権情報、そして医療画像であれば患者ID情報が該当する。
【0020】
不可視属性情報が“001110”というビット配列の情報である場合、埋め込み対象ブロックの番号が若い方から順に、“0” “0” “1” “1” “1”“0”という情報を埋め込んでいく。埋め込み対象ブロックが、B3、B4、B6、B8、B10、B12である場合、B3に“0”、B4に“0”、B6に“1”、B8に“1”、B10に“1”、B12に“0”が埋め込まれることになる。ここで、“0”を埋め込む場合は、実際には何も改変は行われず、“1”を埋め込む場合だけ、その埋め込み対象ブロック内の中上と左下の画素の画素値を入れ換える処理を行うことになる。したがって、原画像データに対しては、埋め込み対象ブロックB6、B8、B10についてのみ、ブロック内の中上と左下の画素の画素値を入れ換える処理が行われることになる。このようにして透かし入り画像が得られる。なお、上記と逆に、“1”を埋め込む場合は、実際には何も改変を行わず、“0”を埋め込む場合だけ、その埋め込み対象ブロック内の中上と左下の画素の画素値を入れ換える処理を行うようにすることも可能である。すなわち、ビット値は、“0” か“1”の2つの値しかとらないため、一方を第1の値、他方を第2の値として埋め込むか埋め込まないかの区別ができれば良いのである。
【0021】
さらに、この透かし入り画像に対して、JPEG-LS規格を用いることにより、圧縮符号化を行う。すなわち、各画素の予測誤差Eを算出した後、可変長符号化を行う。予測誤差Eの算出は、上のラインが存在しないP(i,1)と左のラインが存在しないP(1,j)を除いた全ての画素に対して行う。さらに、この予測誤差Eを元に可変長符号化を行う。上のラインが存在しないP(i,1)と左のラインが存在しないP(1,j)については、元の画素値を基に可変長符号化が行われる。これにより、透かし入り画像を圧縮符号化した符号化データが得られることになる。可変長符号化としては、周知の種々の手法を用いることができるが、本実施形態では、JPEG-LS規格に準じてゴロム符号化と呼ばれる周知の方式を採用している。具体的には、1画素を構成するビット成分を上位ビット成分と下位ビット成分に分け、下位ビット成分は変更を加えずそのままとし、上位ビット成分は、上位ビットだけを十進数変換した数値分のビット「0」を並べ、最後にセパレータビット「1」を加えた配列とする。例えば、8ビットのビット成分「00101000」を考えてみる。このとき、下位ビット成分を4ビットとすると、下位ビット成分は「1000」となる。上位ビットは「0010」であるため、これを十進数変換すると「2」となるので、2個分の「0」を配列して最後に「1」を加えた「001」に変換される。この結果、8ビットのビット列「00101000」は、7ビットのビット列「0011000」に変換されることになる。本実施形態では、変換の前後でビット成分を不変とする下位ビット成分のビット長を各画素で可変とするようにしている。そして、符号化データと選択コンテキスト情報をまとめて符号化データファイルとする処理を行う。
【0022】
(2.2.具体的な処理)
上記が電子透かし埋め込み方法の概要であるが、コンピュータは、原画像データについて、各埋め込み候補ブロックのコンテキストを求めた後は、各埋め込み候補ブロック単位で実行する。こうしないと、復号化時に改変されたブロックを特定することが困難になるためである。ここからは、各埋め込み候補ブロックのコンテキストを求めた後の各埋め込み候補ブロックの処理について、図3のフローチャートを用いて説明する。まず、上記のように区分された埋め込み候補ブロックのうち1つを抽出する(S1)。続いて、抽出した埋め込み候補ブロックに対して、改変を加える(S2)。具体的には、埋め込み対象ブロックを構成する6画素のうち、中上と左下の画素の画素値を入れ換える処理を行う。例えば、埋め込み候補ブロックB1においては、画素P(2,1)の画素値と画素P(1,2)の画素値を入れ換える処理を行うことになる。この改変は、各埋め込み候補ブロックにおいて同様に行われる。
【0023】
そして、改変後の画像データに対して、上記と同様にして各埋め込み候補ブロックのコンテキストを求める(S3)。この結果、求められたコンテキストが、原画像データにおいて一度も選択されなかった不選択コンテキストであるか否かを判断する(S4)。不選択コンテキストでない場合、すなわち、一度以上選択されたコンテキストである場合には、その埋め込み候補ブロックに対する処理を終了し、上記S2において加えた改変を元に戻し(S6)、次の埋め込み候補ブロックに対する処理を開始する(S1)。一方、求められたコンテキストが、原画像データにおいて一度も選択されなかった不選択コンテキストである場合は、現在処理している埋め込み候補ブロックを埋め込み対象ブロックとすることになる。この場合、不可視属性情報を構成するビットを抽出し、抽出したビットが“0” であるか“1”であるかを判断する(S5)。抽出したビットが“1”である場合は、そのブロックに対する処理を終了し、次の埋め込み候補ブロックに対する処理を開始する(S1)。一方、抽出したビットが“0”である場合は、上記S2において加えた改変を元に戻す(S6)。上記S1〜S6の処理を各埋め込み候補ブロックに対して実行することにより、電子透かしが埋め込まれることになる。上述のように、この後は、透かし入り画像に対して、JPEG-LS規格に基づいた圧縮符号化が行われる。
【0024】
以上のようにして、本発明に係る電子透かしの埋め込み方法により電子透かしが埋め込まれるとともに圧縮符号化された符号化データは、上記選択コンテキスト情報とともに符号化データファイルとされた後、記録媒体に記録され、あるいはネットワークを介する等して、流通におかれることになる。この際、符号化データファイルには、符号化データを復号するための専用プログラムも添付して流通される。
【0025】
(3.本発明に係る電子透かしの抽出方法(専用デコーダによる復号))
流通された符号化データは、購入等の正当な行為により、正当な利用者が取得することになる。正当に取得する場合には、上述のように、符号化データだけでなく、復号のための専用プログラムも取得することができる。このようにして取得した復号用の専用プログラムは、コンピュータにより実行することにより、コンピュータが専用デコーダとして機能することになる。続いて、このような専用デコーダにより符号化データを復号する場合について説明する。復号の際には、まず、コンピュータが、符号化データファイルを読み込む。そして、符号化データを符号化された状態から予測誤差Eの状態に戻す処理を行う。これにより、P(i,1)のラインとP(1,j)のラインは元の画素に復元され、他の画素については、予測誤差Eが記録された状態となる。さらに、各予測誤差Eについて、JPEG-LS規格に従った処理により元の画素の復元を行う。具体的には、上記〔数式1〕によりコンテキストを決定すると共に、上記〔数式2〕により基本予測値EBを算出し、予測誤差Eを利用して、元の画素PXの画素値を復元する。このようにして、各画素の値を復元することにより、透かし入り画像が復元されることになる。
【0026】
透かし入り画像が復元されたら、続いて、埋め込み候補ブロックに区分する。この処理は、符号化の際に行った処理と同様にして行われる。次に、各埋め込み候補ブロックについて、コンテキストを求める処理を行う。この処理も、符号化の際に行った処理と同様にして行われる。コンテキストが求められたら、符号化データに付随して得られた選択コンテキスト情報内の不選択コンテキスト番号を参照し、求められたコンテキストに不選択コンテキストが存在するかどうかを確認する。不選択コンテキストが存在した場合には、その埋め込み候補ブロックには改変が加えられていることを意味することとなる。この例では、B6、B8、B10が改変されたブロックとして検出されることになる。
【0027】
続いて、埋め込み対象ブロックの検出を行う。この際、まず、改変されたブロックとして検出されたブロック以外の埋め込み候補ブロックについて改変を行う。これは、上記符号化の際と同様に、中上と左下の画素の画素値を交換することにより行う。そして、改変後の透かし入り画像の埋め込み候補ブロックについてコンテキストを求める。そして、求められたコンテキストに不選択コンテキストが存在するかどうかを確認する。不選択コンテキストが存在した場合には、その埋め込み候補ブロックは埋め込み対象ブロックであることを意味することとなる。これは、上記埋め込みの際に、改変後の埋め込み候補ブロックにおいて求められるコンテキストが不選択コンテキストである場合に、埋め込み対象ブロックとするというルールとしたために導き出されるものである。この例では、B3、B4、B12が改変されていない埋め込み対象ブロックとして新たに検出されることになる。既に検出された改変されたブロックは、B6、B8、B10であるため、これらのブロックには、“1”が埋め込まれていたことになり、続いて検出されたブロックB3、B4、B12には“0”が埋め込まれていたことになる。従って、ブロック番号の若い順に並べると “001110”というビット配列の不可視属性情報が得られる。なお、ここでは、説明の簡略化のため、不可視属性情報としてわずか6ビットの情報を用いたが、実際には、文字コード等のビット配列を不可視属性情報と用いる。そうすることにより、得られた不可視属性情報を文字として認識することができ、例えば、出所の表示等を文字で表現しておけば、そのまま著作権表示を検出することも可能となる。
【0028】
一方、上記復元された透かし入り画像に対して、改変されたブロックであるB6、B8、B10において、再度改変を行えば、元の原画像データが復元される。すなわち、B6、B8、B10において、中上と左下の画素の画素値を交換すれば、元の原画像データが得られることになる。以上のようにすることにより、原画像データは電子透かしを入れる前の元の状態のまま得られ、電子透かしとして埋め込まれた不可視属性情報も得られることになる。
【0029】
(3.2.具体的な処理)
上記が電子透かし抽出処理の概要であるが、透かし入り画像が復元されて、埋め込み候補ブロックに区分された後は、各埋め込み候補ブロックについては、図4のフローチャートに従った処理が行われる。まず、上記のように区分された埋め込み候補ブロックのうち1つを抽出する(S11)。続いて、各埋め込み候補ブロックのコンテキストを求める(S12)。この処理は、符号化の際に行ったS3の処理と同様にして行われる。コンテキストが求められたら、符号化データに付随して得られた不選択コンテキスト番号を参照し、求められたコンテキストが不選択コンテキストであるかどうかを確認する(S13)。不選択コンテキストである場合には、その埋め込み候補ブロックには改変が加えられていることを意味することとなるため、ビット“1”を出力する(S14)。上記の例では、B6、B8、B10について、ビット“1”が出力されることになる。そして、上記S6と同様にして改変を元に戻す(S19)。
【0030】
一方、不選択コンテキストでない場合には、埋め込み候補ブロックについて改変を行う(S15)。これは、上記符号化の際のS2の処理と同様に、中上と左下の画素の画素値を交換することにより行う。そして、改変後の透かし入り画像の埋め込み候補ブロックについてコンテキストを求める(S16)。そして、求められたコンテキストが不選択コンテキストであるかどうかを確認する(S17)。不選択コンテキストである場合には、その埋め込み候補ブロックは埋め込み対象ブロックであることを意味することとなるため、ビット“0”を出力し(S18)、上記と同様に改変を元に戻す(S19)。これは、上記埋め込みの際に、改変後の埋め込み候補ブロックにおいて求められるコンテキストが不選択コンテキストである場合に、埋め込み対象ブロックとするというルールとしたために導き出されるものである。一方、不選択コンテキストでない場合は、上記と同様にして改変を元に戻す(S19)。
【0031】
(4.汎用デコーダによる復号)
符号化データの正当な取得者は、専用プログラムを得られるため、専用デコーダによる復号が可能であるが、符号化データを試用のため正当な方法以外で取得した試用者も汎用デコーダによる復号は可能である。すなわち、本実施形態では、汎用のJPEG-LS規格に従った復号プログラムを有していれば、これを、コンピュータにより実行することにより、コンピュータが汎用デコーダとして機能することになる。続いて、このような汎用デコーダにより符号化データを復号する場合について説明する。復号の際には、まず、符号化された状態から予測誤差Eの状態に戻す処理を行う。これにより、P(i,1)のラインとP(1,j)のラインは元の画素に復元され、他の画素については、予測誤差Eが記録された状態となる。さらに、各予測誤差Eについて、JPEG-LS規格により元の画素の復元を行う。具体的には、上記〔数式1〕によりコンテキストを決定すると共に、上記〔数式2〕により基本予測値EBを算出し、予測誤差Eを利用して、元の画素PXの画素値を復元する。このようにして、各画素の値を復元することにより、透かし入り画像が復元されることになる。
【0032】
JPEG-LS規格の汎用デコーダを用いた復号は、この時点で終了である。したがって、画像データは元の状態には完全には戻らず、改変されたブロックは、改変された状態のままである。しかし、改変はわずかであるため、この透かし入り画像を見ても、透かしが入っていることは認識できない。すなわち、不可視の電子透かしが埋め込まれた状態であることになる。この透かし入り画像は、上述のように、透かしが見えないため、個人で楽しむ分には問題はない。しかし、この透かし入り画像が不正に出回った場合には、専用デコーダを利用して符号化データを復号することにより、電子透かしとして埋め込んだ不可視属性情報が検出されることになる。例えば、上述のように、不可視属性情報として、「○○株式会社著作」等の出所を示す情報を文字コードとして記録しておけば、出所の確認を容易に行うことが可能となる。
【0033】
(5.1.可視電子透かしの埋め込み)
以上のように、本発明では、不可視の属性情報を電子透かしとして原画像データに埋め込むが、これに加えて、可視の属性情報を埋め込むことも可能である。次に、可視属性情報を追加して埋め込む場合について説明する。図5は、可視属性情報を埋め込む装置の構成図である。図3において、1は元画像入力部、2は文字フォント記憶部、3は属性情報文字コード入力部、4はラスター変換部、5は可視情報埋め込み処理実行部、6は可視透かし入り画像出力部である。
【0034】
元画像入力部1は、流通される目的となる元画像データを入力する機能を有する。なお、ここで「原画像」ではなく「元画像」としたのは、図5に示した装置において、出力される可視透かし入り画像が、上記不可視属性情報のみを電子透かしとして埋め込む場合の原画像に対応するものであるため、区別したものである。文字フォント記憶部2は、ラスターデータ形式の文字フォントを記憶したものである。属性情報文字コード入力部3は電子透かしとして埋め込むべき属性情報を文字コードの形式で入力する機能を有する。ラスター変換部4は、属性情報文字コード入力部3から入力された文字コードを、文字フォント記憶部2を参照してラスターデータ形式のニ値画像に変換する機能を有している。可視情報埋め込み処理実行部5は、元画像入力部1から入力された元画像とラスター変換部4から出力されるニ値画像を各画素ごとに加算して、元画像に可視の電子透かしが埋め込まれた透かし入り画像として出力する機能を有している。可視透かし入り画像出力部7は、可視属性情報が埋め込まれた透かし入り画像を出力するためのものである。
【0035】
ここで、可視情報埋め込み処理実行部5による処理を、図6を用いて説明する。図6(a)は、元画像入力部1から入力された元画像、図6(b)は、ラスター変換部4により変換された電子透かしとしての役割を果たすニ値画像(識別画像)である。図6(a)の例では、各画素が8ビットで表現される場合を示しており、各画素は0〜255の値をとる。ここでは、色プレーンが1つのみのモノクロ画像の場合について説明する。図6(b)は0と128の2つの値だけをとるニ値画像となっている。なお、ここでは、説明の簡略化のため、元画像、ニ値画像ともに9×8画素としている。埋め込み処理実行部5では、図6(a)に示した元画像と図6(b)に示したニ値画像が入力された場合、各画素ごとに加算処理を行う。この際、加算した結果が255を超えた場合は、256を引き算して、0〜255に収めるための処理を行う。すなわち、8ビットで表現し、桁あふれは無視するのである。この結果、図6(c)に示すような透かし入り画像が得られる。なお、元画像がカラー画像の場合は、元画像の各プレーンについて、上記のようなニ値画像との加算処理が行われる。
【0036】
図5(a)に示した装置は、上記本発明に係る電子透かし埋め込み方法を実行するプログラムと共に1台のコンピュータに組み込まれて実現される。したがって、上記のようにして可視透かし入り画像出力部7から出力される可視透かし入り画像を原画像データとして、属性情報文字コード入力部3から入力された不可視属性情報が本発明に係る不可視属性情報埋め込み方法により埋め込まれることになる。すなわち、属性情報文字コード入力部3からは、属性情報を1回入力するだけで可視属性情報、不可視属性情報として2箇所において、利用されることになる。
【0037】
(5.2.可視電子透かしの除去)
可視属性情報、不可視属性情報が埋め込まれた符号化データは、上記本発明に係る電子透かし抽出方法に従って復号され、原画像データ(可視透かし入り画像)および不可視属性情報が得られる。さらに、原画像データである可視透かし入り画像および不可視属性情報を利用して、可視透かし入り画像から可視電子透かしを除去する。可視電子透かしを除去する装置を図5(b)に示す。図5(b)において、11は可視透かし入り画像入力部、12は文字フォント記憶部、13は属性情報文字コード入力部、14はラスター変換部、15は透かし除去実行部、16は元画像出力部である。
【0038】
可視透かし入り画像入力部11は、復号された原画像データである可視透かし入り画像を入力するためのものである。文字フォント記憶部12は、可視情報埋め込み装置において利用した文字フォントと全く同じ文字フォントを記憶したものである。属性情報文字コード入力部13は復号により得られた不可視属性情報を入力する機能を有する。ここでは、復号により文字コードの形式で得られるため、そのまま入力されることになる。ラスター変換部14は、属性情報文字コード入力部13から入力された文字コードを、文字フォント記憶部12を参照してラスターデータ形式のニ値画像に変換する機能を有している。透かし除去実行部15は、ラスター変換部14から出力されるニ値画像と可視透かし入り画像入力部11から入力された可視透かし入り画像を各画素ごとに加算して、透かし入り画像から電子透かしを除去した元画像として出力する機能を有している。元画像出力部16は、電子透かしを除去した元画像を出力するためのものであり、例えば、画面に表示出力するディスプレイ装置等が適用できる。図5(b)に示す装置は、コンピュータに専用のプログラムを搭載することにより実現され、上記本発明に係る電子透かし抽出方法を実行するプログラムと共に1台のコンピュータに組み込んで構成するようにしても良い。
【0039】
ここで、透かし除去実行部15による処理を、図6を用いて説明する。上記のように、復号された可視透かし入り画像は図6(c)に示すようなものとなっている。また、ラスター変換部14から出力されるニ値画像は図6(b)に示すようなものとなっている。透かし除去実行部15では、図5(c)に示した透かし入り画像と図5(b)に示したニ値画像が入力された場合、各画素ごとに加算処理を行う。この際、加算した結果が255を超えた場合は、256を引き算して、0〜255に収めるための処理を行う。すなわち、8ビットで表現し、桁あふれは無視するのである。この結果、図6(a)に示すような元画像が得られる。なお、透かし入り画像がカラー画像の場合は、透かし入り画像の各プレーンについて、上記のようなニ値画像との加算処理が行われる。
【0040】
(6.変形例)
以上、本発明の好適な実施形態について説明したが、本発明は、上記実施形態に限定されず、種々の変形が可能である。例えば、上記実施形態では、JPEG-LS規格の線形予測符号化におけるコンテキストを活用して属性情報を載せる方法を提案したが、同規格ではランレングス符号化もサポートしているため、これに属性情報を載せる方法も考えられる。すなわち、原画像データでは、ランレングス符号化が適用される平坦な階調をもつ箇所がないが、ブロックに改変を加えることによりランレングス符号化モードに転換されるブロックを探索して属性情報を埋め込むことができる。また、JPEG-LS規格に限らず、他の符号化方式にも本発明は適用でき、予測誤差Eの算出の直後に可変長符号化を行う必要はなく、算出された予測誤差を利用して、冗長ビット圧縮、信号平坦部圧縮等の周知の圧縮方式を組み合わせることも可能である。
【0041】
また、上記実施形態では、静止画である画像データを符号化対象とする場合について説明したが、本発明は、画像データを1つのフレームとして、複数のフレームで構成される動画データを圧縮符号化する際にも、適用できることは当然である。すなわち、動画データを圧縮する際、各フレームを独立して圧縮符号化する際に、電子透かしを埋め込むことになる。
【図面の簡単な説明】
【0042】
【図1】JPEG-LS規格における対象画素と参照画素の位置関係を示す図である。
【図2】埋め込みおよび符号化の対象とする原画像データと区分されたブロックの状態を示す図である。
【図3】各埋め込み候補ブロックに対する埋め込み処理のフローチャートである。
【図4】各埋め込み候補ブロックに対する抽出処理のフローチャートである。
【図5】可視情報の埋め込みおよび抽出を実行する装置の構成図である。
【図6】可視情報の埋め込みおよび抽出の様子を示す図である。
【符号の説明】
【0043】
1・・・元画像入力部
2、12・・・文字フォント記憶部
3、13・・・属性情報文字コード入力部
4、14・・・ラスター変換部
5・・・可視情報埋め込み処理実行部
6・・・可視透かし入り画像出力部
11・・・可視透かし入り画像入力部
15・・・可視情報除去実行部
16・・・元画像出力部
B1〜B12・・・ブロック
PX・・・対象画素
PA〜PD・・・参照画素



【特許請求の範囲】
【請求項1】
画像データを構成する各画素について、当該画素の近傍の画素を参照して得られる当該画素の予測誤差を利用して、圧縮符号化を行う際に、電子透かしの埋め込みを行う方法であって、
埋め込みの対象とする原画像データを、予測誤差算出の対象とする対象画素と、当該対象画素の予測誤差を決定する際に利用する近傍の画素である参照画素を含む形状の埋め込み候補ブロックに区分するブロック区分段階と、
前記各埋め込み候補ブロックに対して、あらかじめ準備した複数の条件のうち最適な条件を選択し、全く選択されなかった条件と1回以上選択された条件を区分し、前記各埋め込み候補ブロックに対して改変を行った後、改変後の画像データにおける各埋め込み候補ブロックに対して、前記あらかじめ準備した複数の条件のうち最適な条件を選択し、選択された条件が改変前に前記全く選択されなかった条件である場合に、当該埋め込み候補ブロックを埋め込み対象ブロックとして決定する埋め込み対象ブロック決定段階と、
ビット配列で表現される不可視属性情報の各ビットと前記決定された埋め込み対象ブロックを対応付け、前記各ビットの値が第1の値である場合には対応する埋め込み対象ブロックに対して改変を行い、第2の値である場合には対応する埋め込み対象ブロックに対して改変を行わないことにより、不可視属性情報を前記埋め込み対象ブロックに埋め込む不可視属性情報埋め込み段階と、
埋め込み処理後の画像データ内の各画素に対して、最適な条件で予測誤差を求め、圧縮符号化を行う符号化段階と、
を有することを特徴とする電子透かしの埋め込み方法。
【請求項2】
請求項1において、
前記不可視属性情報は文字コードであり、
前記ブロック区分段階の前段に、前記文字コードである不可視属性情報を所定の文字フォントを用いて画像データの形式をもつ可視属性情報に変換する可視属性情報生成段階と、前記埋め込みの対象とする画像データに対して、前記生成された可視属性情報を埋め込む可視属性情報埋め込み段階と、
を有することを特徴とする電子透かしの埋め込み方法。
【請求項3】
電子透かしが埋め込まれた透かし入り画像を符号化した符号化データを復号して、電子透かしが除去された原画像データを得るとともに、電子透かしとして埋め込まれていた不可視属性情報を抽出する方法であって、
符号化データを各画素単位で記録されたデータに復元した後、各画素について、当該画素の近傍の画素である参照画素を利用して、当該画素の元の値を復元する透かし入り画像復元段階と、
前記復元した透かし入り画像を、前記復元した対象画素と、当該対象画素についての参照画素を含む形状の埋め込み候補ブロックに区分するブロック区分段階と、
前記各埋め込み候補ブロックの中から改変されたブロックを検出する改変ブロック検出段階と、
前記改変ブロック以外の埋め込み候補ブロックの中から埋め込み対象ブロックを検出する埋め込み対象ブロック検出段階と、
前記改変ブロックと前記埋め込み対象ブロックの画像データ内における配置順により求まるビット配列を不可視属性情報として抽出する不可視属性情報抽出段階と、
を有することを特徴とする電子透かしの抽出方法。
【請求項4】
請求項3において、
さらに、前記復元された透かし入り画像における各改変ブロックにおいて、再度改変を行うことにより、画像データを復元することを特徴とする電子透かしの抽出方法。
【請求項5】
請求項3において、
前記復元された画像データには、前記不可視属性情報抽出段階で抽出された不可視属性情報を基に生成された可視属性情報が埋め込まれており、
前記不可視属性情報抽出段階の後段に、前記画像データについて、前記抽出された不可視属性情報を基に可視属性情報を生成する可視属性情報生成段階と、
前記生成された可視属性情報を、前記画像データから除去する可視属性情報除去段階と、
を有することを特徴とする電子透かしの抽出方法。



【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2006−121460(P2006−121460A)
【公開日】平成18年5月11日(2006.5.11)
【国際特許分類】
【出願番号】特願2004−307626(P2004−307626)
【出願日】平成16年10月22日(2004.10.22)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】