データ秘匿化装置、秘匿データ抽出装置、データ秘匿化方法、秘匿データ抽出方法及びこれらのプログラム
【課題】 画像に埋め込まれた秘匿情報の秘密性を高めることができるデータ秘匿化装置を提供する。
【解決手段】 データ秘匿化装置は、媒体画像710の最下位ビットに秘匿画像720を埋め込み、秘匿画像720が埋め込まれた媒体画像710’に対して、キー画像を参照して予測符号化を行う。このキー画像は、パスワードに対応するノイズが最下位ビットに配置された画像であり、媒体画像710’の最下位ビットにのみスクランブルがかけられる。したがって、このキー画像を参照せずに符号データが復号化されると、元の媒体画像710’と酷似する媒体画像710”が生成されるが、この媒体画像710”の最下位ビットは、スクランブルがかけられた秘匿画像720となる。
【解決手段】 データ秘匿化装置は、媒体画像710の最下位ビットに秘匿画像720を埋め込み、秘匿画像720が埋め込まれた媒体画像710’に対して、キー画像を参照して予測符号化を行う。このキー画像は、パスワードに対応するノイズが最下位ビットに配置された画像であり、媒体画像710’の最下位ビットにのみスクランブルがかけられる。したがって、このキー画像を参照せずに符号データが復号化されると、元の媒体画像710’と酷似する媒体画像710”が生成されるが、この媒体画像710”の最下位ビットは、スクランブルがかけられた秘匿画像720となる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像データの既定のビット位置に秘匿情報を埋め込むデータ秘匿化装置に関する。
【背景技術】
【0002】
例えば、非特許文献1は、秘匿化したい画像Bを限定階調化し、埋め込む先の画像AのLSB(Least Significant Bit)側に、限定階調化された画像Bを埋め込む方法を開示する。この場合、画像Bが埋め込まれた画像A’は、元の画像AとMSB(Most Significant Bit)側で共通するため、ほとんど同一の出力画像として出力される。
【非特許文献1】R.Z.Wang, C.F.Lin, and J.C.Lin, "Image hiding by optimal LSB substitution and genetic algorithm," Pattern Recognition, 34(2001), pp.671-693, 2001.
【発明の開示】
【発明が解決しようとする課題】
【0003】
本発明は、上述した背景からなされたものであり、画像データの既定ビット位置に情報を秘匿化するデータ秘匿化装置を提供することを目的とする。
【課題を解決するための手段】
【0004】
[データ秘匿化装置]
上記目的を達成するために、本発明にかかるデータ秘匿化装置は、秘匿データを秘匿化するデータ秘匿化装置であって、画像データに秘匿データを埋め込む埋め込み手段と、前記埋め込み手段により秘匿データが埋め込まれた画像データと、既定のキー画像とを比較して、キー画像に対する参照を指定する参照情報を生成する参照情報生成手段と、前記参照情報手段により生成された参照情報の符号データを、秘匿データが埋め込まれた画像データの符号データの一部として生成する符号生成手段とを有する。
【0005】
好適には、前記埋め込み手段は、画像データの既定のビット位置を秘匿データで置換することにより、秘匿データをこの画像データに埋め込み、前記参照情報生成手段は、前記ビット位置が不均一な値で構成されたキー画像と、秘匿データが埋め込まれた画像データとを比較して、このキー画像に対する参照情報を生成する。
【0006】
好適には、前記参照情報生成手段は、秘匿データが埋め込まれた画像データに含まれる注目画素の階調データと、注目画素に対応するキー画像上の画素の階調データとを比較して、これらの階調データの差分値を前記参照情報として生成し、前記符号生成手段は、生成された差分値の符号データを、秘匿データが埋め込まれた画像データの符号データとして生成する。
【0007】
好適には、パスワードに基づいて、不均一な値で構成されたデータ列を生成し、生成されたデータ列を前記ビット位置に配置して前記キー画像を生成するキー画像生成手段をさらに有し、前記参照情報生成手段は、前記キー画像生成手段により生成されたキー画像を用いて、このキー画像に対する参照情報を生成する。
【0008】
好適には、秘匿データが埋め込まれる画像データは、前記キー画像であり、前記埋め込み手段は、前記キー画像に秘匿データを埋め込み、前記参照情報生成手段は、秘匿データが埋め込まれたキー画像と、秘匿データが埋め込まれていないキー画像とを比較して、秘匿データが埋め込まれていないキー画像に対する参照情報を生成し、前記符号生成手段は、生成された参照情報の符号データを、秘匿データが埋め込まれたキー画像の符号データの一部として生成する。
【0009】
また、本発明にかかるデータ秘匿化装置は、秘匿データを秘匿化するデータ秘匿化装置であって、既定の画像データと、秘匿データとに基づいて、符号化対象データを生成する対象データ生成手段と、前記対象データ生成手段により生成された符号化対象データと、前記画像データとを比較して、この画像データに対する参照を指定する参照情報を生成する参照情報生成手段と、前記参照情報手段により生成された参照情報の符号データを、前記符号化対象データの符号データの一部として生成する符号生成手段とを有する。
【0010】
[秘匿データ抽出装置]
また、本発明にかかる秘匿データ抽出装置は、符号データから秘匿データを抽出する秘匿データ抽出装置であって、入力された符号データに基づいて、キー画像に含まれる画像データを抽出する参照データ抽出手段と、前記参照データ抽出手段により抽出された画像データを用いて、復号画像を生成する復号画像生成手段と、前記復号画像生成手段により生成された復号画像の既定ビット位置から、秘匿データを抽出するビット抽出手段とを有する。
【0011】
[データ秘匿化方法]
また、本発明にかかるデータ秘匿化方法は、秘匿データを秘匿化するデータ秘匿化方法であって、画像データに秘匿データを埋め込み、秘匿データが埋め込まれた画像データと、既定のキー画像とを比較して、このキー画像に対する参照を指定する参照情報を生成し、生成された参照情報の符号データを、秘匿データが埋め込まれた画像データの符号データの一部として生成する。
【0012】
また、本発明にかかるデータ秘匿化方法は、秘匿データを秘匿化するデータ秘匿化方法であって、既定の画像データと、秘匿データとに基づいて、符号化対象データを生成し、生成された符号化対象データと、前記画像データとを比較して、この画像データに対する参照を指定する参照情報を生成し、生成された参照情報の符号データを、前記符号化対象データの符号データの一部として生成する。
【0013】
[秘匿データ抽出方法]
また、本発明にかかる秘匿データ抽出方法は、符号データから秘匿データを抽出する秘匿データ抽出方法であって、入力された符号データに基づいて、キー画像に含まれる画像データを抽出し、抽出された画像データを用いて、復号画像を生成し、生成された復号画像の既定ビット位置から、秘匿データを抽出する。
【0014】
[プログラム]
また、本発明にかかるプログラムは、秘匿データを秘匿化するデータ秘匿化装置において、画像データに秘匿データを埋め込むステップと、秘匿データが埋め込まれた画像データと、既定のキー画像とを比較して、このキー画像に対する参照を指定する参照情報を生成するステップと、生成された参照情報の符号データを、秘匿データが埋め込まれた画像データの符号データの一部として生成するステップとを前記データ秘匿化装置に実行させる。
【0015】
また、本発明にかかるプログラムは、秘匿データを秘匿化するデータ秘匿化装置において、既定の画像データと、秘匿データとに基づいて、符号化対象データを生成するステップと、生成された符号化対象データと、前記画像データとを比較して、この画像データに対する参照を指定する参照情報を生成するステップと、生成された参照情報の符号データを、前記符号化対象データの符号データの一部として生成するステップとを前記データ秘匿化装置に実行させる。
【0016】
また、本発明にかかるプログラムは、符号データから秘匿データを抽出する秘匿データ抽出装置において、入力された符号データに基づいて、キー画像に含まれる画像データを抽出するステップと、抽出された画像データを用いて、復号画像を生成するステップと、生成された復号画像の既定ビット位置から、秘匿データを抽出するステップとを前記秘匿データ抽出装置に実行させる。
【発明の効果】
【0017】
本発明のデータ秘匿化装置によれば、画像に埋め込まれた秘匿情報の秘密性を高めることができる。
【発明を実施するための最良の形態】
【0018】
[背景と概略]
まず、本発明の理解を助けるために、その背景及び概略を説明する。
図1は、画像データに対する秘匿情報の埋め込みを説明する図である。
図1(A)に例示するように、多値の画像データは、それぞれの画素で階調データ(画素値など)を有する。画素値はビット列で表現されるため、LSBなどの下位ビットが変化しても、画素値としては微小な変化にとどまる。例えば、8ビットで各画素の画素値が表現されている場合に、最下位ビットが変化しても、各画素では、256階調のうち1階調変化するだけである。
このような画像データの特性を利用して、画像データの下位ビットに秘匿情報を埋め込む技術が知られている。なお、以下の説明において、秘匿情報が埋め込まれる画像データを媒体画像といい、秘匿情報(バイナリ、画像等)のビットパターンが平面上に配列されたものを秘匿画像という。
例えば、画像処理装置は、図1(A)に例示する媒体画像710(8ビット)の最下位ビットを、秘匿画像720のビットパターンで置換することにより、秘匿画像720を媒体画像710に埋め込むことができる。この場合、秘匿画像720が埋め込まれた媒体画像710’は、元の媒体画像710の最下位ビットが変化したものであり、画像としての見た目はほとんど変わらない。
しかしながら、このように、媒体画像710のLSBが単に秘匿画像720に置換されただけでは、簡単に、秘匿画像720が取り出されてしまう可能性がある。
【0019】
そこで、本発明にかかる画像処理装置は、媒体画像710’を、キー画像を参照する予測符号化処理により符号化する。このキー画像は、秘匿画像720が埋め込まれたビット位置で不均一なビットパターンを有する画像データ(換言すると、秘匿情報が埋め込まれたビット位置以外のビット位置では、均一なビットパターンを有する)である。これにより、媒体画像710’の下位ビットはスクランブルがかけられ、キー画像なしでは正常に復号化できなくなる。
例えば、画像処理装置は、画素値が0及び1で構成された画素パターンからなるキー画像を参照して、媒体画像710’を予測符号化すると、媒体画像710’の最下位ビットのみにスクランブルをかけることになる。この場合に、この画素パターンからなるキー画像を参照せずに符号データが復号化されると、この媒体画像710”の最下位ビットに相当する秘匿画像720は、図1(C)に例示するように、スクランブルがかけられた状態となる。なお、媒体画像710”の符号データは、最下位ビットに制限された参照画像(例えば、画素値が全て0である画像など)を参照して復号化されるため、上位ビットに相当する成分は正常に復号化され、図1(C)に例示するように、符号化前の媒体画像710’と近似する媒体画像710”が復号画像として得られる。
一方、この符号データがキー画像を参照して復号化されると、媒体画像710’が復号画像として得られ、画像処理装置は、この復号画像(媒体画像710’)の既定ビット位置から秘匿画像720を抽出できる。
【0020】
図2は、キー画像を参照する予測符号化処理の概略を説明する図であり、図2(A)は、予測符号化処理において参照される参照位置を例示し、図2(B)は、予測符号化処理により生成される符号データを模式的に例示する。
画像処理装置は、符号化対象となる媒体画像710’(図1(B))を符号化する場合に、キー画像を参照して予測データを生成し、生成された予測データを用いた予測符号化処理を行う。すなわち、本画像処理装置は、キー画像に対する参照情報を、媒体画像710’の少なくとも一部の符号データとして符号化する。より具体的には、図2(A)に例示するように、本画像処理装置は、媒体画像710’(秘匿画像720が埋め込まれたもの)上の注目画素Xの階調データ(画素値)を符号化する場合に、この媒体画像710’上に設定された複数の参照画素A〜Dと共に、キー画像上に設定された参照画素Eを参照し、注目画素Xの画素値といずれかの参照画素の画素値とが一致する場合に、一致した参照画素の識別情報(参照情報)を符号化し、注目画素Xの画素値と参照画素の画素値とがいずれも一致しない場合に、参照画素Eの画素値と注目画素Xの画素値との差分値(以下、予測誤差という)を符号化する。
【0021】
これにより生成される符号データは、図2(B)に例示するように、各参照画素に対応する符号、及び、予測誤差(注目画素Xと参照画素Eとの差分値)で構成される。例えば、図中の「符号A」は、注目画素Xの画素値と参照画素Aの画素値とが一致した場合(参照位置Aの予測が的中した場合)に生成される符号であり、復号時においては、参照画素Aの画素値の適用を指示するデータとなる。
同様に、符号Eは、注目画素Xの画素値が参照画素Eの画素値と一致した場合に生成される符号であり、復号時においては、キー画像上の参照画素Eを参照し、参照画素Eの画素値を適用することを指示する。したがって、符号Eに対応する画素は、キー画像上の参照画素Eを参照できなければ正常に再現できない。
また、図中の「予測誤差」は、注目画素Xの画素値と参照画素の画素値とがいずれも一致しない場合に生成される符号であり、復号時においては、参照画素Eの画素値と注目画素Xの画素値との差分値として用いられる。したがって、予測誤差の符号に対応する画素は、キー画像上の参照画素Eを参照できなければ正常に再現できない。
【0022】
したがって、図2(B)に例示する符号データは、符号化時に用いたキー画像を参照せずに復号化されると、「符号E」及び「予測誤差」に対応する画素が正常に再現されず、スクランブルされた復号画像が生成される。ここで、本例のキー画像は0又は1の画素値のみを有するため、「符号E」として符号化された画素は、もともとの画素値が0又は1である。そのため、符号化時に用いたキー画像を参照できない場合でも、符号化前と復号化後との誤差は高々1である。また、「予測誤差」は、キー画像上の参照画素Eの画素値(0又は1)と注目画素Xの画素値との差分値であり、たとえ符号化時に用いたキー画像を参照できなくても、最下位ビットに制限された参照画像(例えば、全画素値が0の画像)を参照して復号化されれば、符号化前と復号化後との誤差は高々1である。したがって、「符号E」及び「予測誤差」に対応する画素は、最下位ビットのみにスクランブルがかけられ、上位ビットに相当する成分は正常に復号化される。
一方、符号化時に用いたキー画像を参照して復号化されると、「符号E」及び「予測誤差」に対応する画素は、最上位ビットから最下位ビットまで正確にも再現されて、媒体画像710’が再現される。
このように、本実施形態における画像処理装置は、ビット位置が制限されたキー画像を参照して、秘匿画像720が埋め込まれた媒体画像710’を予測符号化することにより、秘匿画像720に相当するビットプレーンにスクランブルをかけて、秘匿画像720に対するセキュリティレベルを向上させる。
【0023】
[ハードウェア構成]
次に、画像処理装置2のハードウェア構成を説明する。
図3は、本発明にかかるデータ秘匿化方法及び秘匿データ抽出方法が適応される画像処理装置2のハードウェア構成を、制御装置20を中心に例示する図である。
図3に例示するように、画像処理装置2は、CPU212及びメモリ214などを含む制御装置21、通信装置22、HDD・CD装置などの記録装置24、並びに、LCD表示装置あるいはCRT表示装置およびキーボード・タッチパネルなどを含むユーザインターフェース装置(UI装置)25から構成される。
画像処理装置2は、例えば、本発明にかかる符号化プログラム5(データ秘匿化プログラム)及び復号化プログラム6(秘匿データ抽出プログラム)がプリンタドライバの一部としてインストールされた汎用コンピュータであり、通信装置22又は記録装置24などを介して画像データを取得し、取得された画像データを符号化又は復号化してプリンタ装置3に送信する。
【0024】
[符号化プログラム]
図4は、制御装置21(図3)により実行され、本発明にかかるデータ秘匿化方法を実現する第1の符号化プログラム5の機能構成を例示する図である。
図4に例示するように、符号化プログラム5は、ビット置換部500、画像内予測部510、キー画像予測部520、予測誤差算出部530、ラン計数部540、選択部550、符号生成部560及びキー画像生成部570を有する。なお、画像内予測部510、キー画像予測部520、予測誤差算出部530、ラン計数部540及び選択部550の組合せが本発明にかかる参照情報生成手段の一例である。
符号化プログラム5において、画像データは、通信装置22又は記録装置24などを介して入力される。入力された画像データは、符号化プログラム5の前段でラスタライズされている。
【0025】
ビット置換部500(埋め込み手段)は、画像データに、秘匿化したい秘匿情報を埋め込み、秘匿情報が埋め込まれた画像データを画像内予測部510、キー画像予測部520及び予測誤差算出部530に出力する。具体的には、ビット置換部500は、既定の画像データ(媒体画像710)の既定ビット位置を、秘匿情報のビット列で構成された秘匿画像720で置換する。秘匿情報が埋め込まれるビット位置は、下位側のビットであることが望ましい。本例のビット置換部500は、媒体画像710(図1)の最下位ビットのビットプレーンを、秘匿画像720で置換して媒体画像710’を生成し、生成された媒体画像710’を画像内予測部510、キー画像予測部520及び予測誤差算出部530に出力する。なお、本例では、最下位ビットに秘匿情報が埋め込まれるが、これに限定されるものではなく、例えば、複数のビット位置(下位側のビット位置が望ましい)に秘匿情報が埋め込まれてもよい。
【0026】
画像内予測部510は、秘匿情報が埋め込まれた画像データ(すなわち、媒体画像710’)において、注目画素とは異なる画素(参照画素)の画素値を参照して、この画素値を予測値とし、この予測値と注目画素の画素値との比較結果をラン計数部540に対して出力する。本例の画像内予測部510は、複数の参照画素A〜D(図2)の画素値と、注目画素X(図2)の画素値とを比較して、画素値が一致した場合(すなわち、予測が的中した場合)に、自己を識別する予測部ID(後述)をラン計数部540に対して出力し、これ以外の場合に、一致しなかった旨をラン計数部540に対して出力する。なお、画像内予測部510は、1つ以上の参照画素を参照すればよく、例えば、参照位置Aのみを参照して、画素値の比較結果を出力してもよい。
【0027】
キー画像予測部520は、秘匿情報が埋め込まれた画像データ(すなわち、媒体画像710’)とは異なる他の画像(キー画像)の画素値を参照して、このキー画像の画素値を予測値とし、この予測値と注目画素(媒体画像710’に含まれる画素)の画素値との比較結果をラン計数部540に対して出力する。本例のキー画像予測部520は、キー画像に含まれる参照画素E(図2)の画素値と、注目画素X(図2)の画素値とを比較して、画素値が一致した場合(すなわち、予測が的中した場合)に、自己を識別する予測部ID(後述)をラン計数部540に対して出力し、これ以外の場合に、一致しなかった旨をラン計数部540に対して出力する。
【0028】
予測誤差算出部530は、予め定められた予測方法で注目画素の画素値を予測し、その予測値を注目画素の実際の画素値から減算し、予測誤差値としてラン計数部540及び選択部550に対して出力する。予測誤差算出部530の予測方法は、符号データを復号化する復号化プログラム6(後述)の予測方法と対応していればよい。なお、スクランブル効果を高めるためには、予測誤差算出部530は、キー画像上の画素を参照して、この画素の画素値と注目画素の画素値との差分値を予測誤差とすることが望ましい。そこで、本例の予測誤差算出部530は、キー画像予測部520と同じ参照位置(参照画素E)の画素値を予測値とし、この予測値と実際の画素値(注目画素Xの画素値)との差分値を予測誤差値として算出する。
【0029】
ラン計数部540は、同一の予測部IDが連続する数をカウントし、予測部ID及びその連続数を選択部550に対して出力する。この予測部ID及びその連続数は、媒体画像710’又はキー画像に対する参照情報の一例である。例えば、ラン計数部540は、予測誤差値が入力される場合に、内部カウンタでカウントされている予測部ID及びその連続数を出力し、その後に、入力された予測誤差値をそのまま選択部550に対して出力する。
【0030】
選択部550は、ラン計数部540から入力された予測部ID、連続数及び予測誤差値に基づいて、最も長く連続した予測部IDを選択し、この予測部ID及びその連続数並びに予測誤差値を予測データとして符号生成部560に対して出力する。
【0031】
符号生成部560は、選択部550から入力された予測部ID、連続数及び予測誤差値を符号化し、通信装置22又は記録装置24などに出力する。また、符号生成部560は、部分アクセス制限が行われている場合には、アクセス制限を行うべき画像領域を指定するレイアウト情報を、符号データに添付して出力する。
【0032】
キー画像生成部570は、入力されたパスワードに基づいて、秘匿情報が埋め込まれるビット位置で不均一なビットパターンを有するキー画像を生成し、生成されたキー画像をキー画像予測部520及び予測誤差算出部530に対して出力する。例えば、キー画像生成部570は、入力されたパスワードを引数として乱数を発生させ、発生させた乱数に対応するビットパターンを、秘匿情報が埋め込まれるビットプレーンに配置することにより、キー画像を生成する。発生させる乱数は、必ずしも完全な乱数である必要はなく、例えば、擬似乱数関数で発生させた乱数でもよい。この場合に、擬似乱数関数で発生させた乱数は、完全な乱数よりもデータ量を圧縮できるため、キー画像のデータ量を抑えることができる。
【0033】
図5は、符号化プログラム5によりなされる符号化処理を説明する図であり、図5(A)は、画像内予測部510及びキー画像予測部520により参照される画素の位置を例示し、図5(B)は、それぞれの参照画素に対応付けられた符号を例示し、図5(C)は、符号生成部560により生成される符号データを例示する図である。
図5(A)に例示するように、画像内予測部510及びキー画像予測部520の参照位置は、注目画素Xとの相対位置として設定されている。具体的には、画像内予測部510の参照画素Aは、注目画素Xの主走査方向上流に設定され、参照画素B〜Dは、注目画素Xの上方(副走査方向上流)の主走査ライン上に設定されている。また、キー画像予測部520の参照画素Eは、入力画像710とは異なる他の画像(キー画像)上に設定されている。
【0034】
また、図5(B)に例示するように、それぞれの参照画素A〜Eには優先順位が設定されており、複数の参照画素で予測が的中した場合には、ラン計数部540(図4)は、設定された優先順位に応じて、予測部IDの連続数を増加させる。スクランブル効果を高める観点から、キー画像予測部520により参照される参照画素Eの優先順位は、画像内予測部510により参照される参照画素A〜Dよりも高いことが望ましい。
また、符号生成部560は、図5(B)に例示するように、予測部(参照位置)と符号とを互いに対応付けており、注目画素Xと画素値が一致した参照位置に対応する符号を出力する。なお、それぞれの参照位置に対応付けられている符号は、例えば、各参照位置の的中率に応じて設定されたエントロピー符号であり、優先順位に対応する符号長となる。
【0035】
また、符号生成部560は、同一の参照位置で連続して画素値が一致する場合には、ラン計数部540によりカウントされたその連続数を符号化する。これにより、符号量が少なくなる。このように、符号化プログラム5は、図5(C)に例示するように、いずれかの参照位置で画素値が一致した場合には、その参照位置に対応する符号と、この参照位置で画素値が一致する連続数とを符号化し、いずれの参照位置でも画素値が一致しなかった場合には、既定の参照位置(参照画素E)の画素値と注目画素Xの画素値との差分(予測誤差値)を符号化する。
【0036】
図6は、符号化プログラム5による符号化処理(S10)の動作を説明するフローチャートである。
図6に示すように、ステップ100(S100)において、符号化プログラム5は、利用者から、秘匿化したい秘匿画像720(1ビット)、この秘匿画像720を埋め込む媒体画像710(8ビット)、及び、この秘匿画像に対するアクセスを制限するためのパスワードの入力を受け付ける。
【0037】
ステップ110(S110)において、ビット置換部500は、媒体画像710の最下位ビットを、秘匿画像720で置換して、秘匿画像720が埋め込まれた媒体画像710’を生成し、生成された媒体画像710’を画像内予測部510、キー画像予測部520及び予測誤差算出部530に対して出力する。
【0038】
ステップ120(S120)において、キー画像生成部570は、入力されたパスワードを引数として乱数系列を発生させ、発生させた乱数系列を最下位ビット位置に配置してキー画像を生成する。生成されたキー画像の上位ビット(最下位ビット以外のビット位置)は、全て0である。
キー画像生成部570は、生成されたキー画像をキー画像予測部520及び予測誤差算出部530に出力する。
【0039】
ステップ130(S130)において、符号化プログラム5は、キー画像生成部570により生成されたキー画像を参照して、秘匿画像720が埋め込まれた媒体画像710’を符号化する。より具体的には、画像内予測部510は、秘匿画像720が埋め込まれた媒体画像710’上に設定された複数の参照画素A〜D(図5)の画素値と、この媒体画像710’上の注目画素Xの画素値とを比較して、画素値が一致した場合に、自己を識別する予測部IDをラン計数部540に対して出力し、これ以外の場合に、一致しなかった旨をラン計数部540に対して出力する。また、キー画像予測部520は、キー画像に含まれる参照画素E(図5)の画素値と、媒体画像710’上の注目画素Xの画素値とを比較して、画素値が一致した場合に、自己を識別する予測部ID(後述)をラン計数部540に対して出力し、これ以外の場合に、一致しなかった旨をラン計数部540に対して出力する。ラン計数部540は、画像内予測部510又はキー画像予測部520から入力される予測部IDの連続数をカウントし、予測部ID及びその連続数を参照情報として選択部550に対して出力する。
また、予測誤差算出部530は、キー画像上の参照画素Eの画素値を予測値とし、この予測値と媒体画像710’上の注目画素Xの画素値との差分値を予測誤差値として算出し、算出された予測誤差値を参照情報として選択部550に対して出力する。
【0040】
選択部550は、ラン計数部540から入力された予測部ID及び連続数、あるいは、予測誤差算出部530から入力された予測誤差値に基づいて、最も長く連続した予測部IDを選択し、この予測部ID及びその連続数並びに予測誤差値を予測データとして符号生成部560に対して出力する。
符号生成部560は、選択部550から入力された予測部ID、連続数、又は予測誤差値を符号化する。
【0041】
このように、符号化プログラム5は、媒体画像710に秘匿画像720を埋め込んで、秘匿画像720が埋め込まれた媒体画像710’を、パスワードに対応するキー画像を参照して符号化する。
【0042】
[復号化プログラム]
図7は、制御装置21(図3)により実行され、本発明にかかる秘匿データ抽出方法を実現する復号化プログラム6の機能構成を例示する図である。
図8に例示するように、復号化プログラム6は、符号復号部610、キー画像生成部620、画像内抽出部630、誤差処理部640、キー画像抽出部650、復号画像生成部660及びビット抽出部670を有する。
復号化プログラム6において、符号復号部610は、図5(B)に例示したものと同様に、符号と予測部ID(参照位置)とを互いに対応付けるテーブルを有し、入力された符号データに基づいて、参照位置を特定する。また、符号復号部610は、入力された符号データに基づいて、予測部IDの連続数、及び、予測誤差などの数値も復号化する。
このように復号化された参照位置、連続数及び予測誤差(すなわち、参照情報)は、画像内抽出部630、誤差処理部640及びキー画像抽出部650に入力される。
【0043】
キー画像生成部620は、符号化側のキー画像生成部570と同様の手法により、入力されたパスワードに基づいてキー画像を生成し、生成されたキー画像を誤差処理部640及びキー画像抽出部650に対して出力する。本例のキー画像生成部620は、入力されたパスワードを引数として乱数を発生させ、発生させた乱数を最下位ビットに配置してキー画像を生成する。
なお、本例のキー画像生成部620は、パスワードが入力されない場合には、全画素の画素値が0であるキー画像(均一な階調データからなるキー画像)を生成し、誤差処理部640及びキー画像抽出部650に出力する。
【0044】
画像内抽出部630は、符号復号部610から入力された予測部IDが入力画像内の参照位置のいずれかに対応する場合(すなわち、参照画素A〜Dに対応する場合)に、対応する参照位置の画素を参照して、その画素の画素値を復号データとして復号画像生成部660に出力する。また、画像内抽出部620は、この予測部IDと共に連続数が入力された場合には、予測部IDに対応する画素値に対応付けて、この連続数を復号画像生成部660に出力する。
【0045】
誤差処理部640は、符号復号部610から予測誤差が入力された場合に、入力された予測誤差に対応する画素値を復号データとして復号画像生成部670に出力する。本例の誤差処理部640は、入力された予測誤差と、キー画像上の画素(参照画素E)の画素値とを合算して復号データとする。
【0046】
キー画像抽出部650は、符号復号部610から入力された予測部IDがキー画像上の参照位置(参照画素E)に対応する場合に、キー画像の画素を参照して、その画素の画素値を抽出し、抽出された画素値と、入力された連続数とを復号画像生成部660に出力する。
【0047】
復号画像生成部660は、画像内抽出部630から入力された復号データ、誤差処理部640から入力された復号データ、及び、キー画像抽出部650から入力された復号データに基づいて、復号画像を生成する。より具体的には、復号画像生成部660は、画像内抽出部630から復号データ(画素値及び連続数)が入力された場合に、入力された画素値の画素を連続数だけ連続して配置する。また、復号画像生成部660は、誤差処理部640から復号データ(参照画素Eの画素値と予測誤差値との合算値)が入力された場合に、この合算値の画素を配置する。また、復号画像生成部660は、キー画像抽出部650から復号データ(画素値及び連続数)が入力された場合に、入力された画素値の画素を連続数だけ連続して配置する。このように配置された画素群が復号画像となり、ビット抽出部670に入力される。
【0048】
ビット抽出部670は、復号画像生成部660から入力された復号画像から、秘匿情報を抽出する。より具体的には、ビット抽出部670は、復号画像の既定ビット位置を秘匿画像として抽出する。本例のビット抽出部670は、復号画像の最下位ビットを秘匿画像として抽出する。
【0049】
図8は、復号化プログラム6による復号化処理(S20)の動作を説明するフローチャートである。
図8に示すように、ステップ200(S200)において、復号化プログラム6は、利用者から、復号化対象となる符号データを取得する。
【0050】
ステップ210(S210)において、キー画像生成部620は、利用者に対して、パスワードの入力を要求する。復号化プログラム6は、パスワードが入力された場合に、S220の処理に移行し、パスワードが入力されなかった場合に、S230の処理に移行する。
【0051】
ステップ220(S220)において、キー画像生成部620は、入力されたパスワードを引数として乱数系列を発生させ、発生させた乱数系列を最下位ビットに配置したキー画像を生成し、生成されたキー画像を誤差処理部640及びキー画像抽出部650に出力する。すなわち、キー画像生成部620は、正当なパスワード(符号化時に入力されたパスワード)が入力された場合、符号化時に参照した画像と同じキー画像を生成し、これ以外の場合に、符号化時に参照した画像とは異なるキー画像を生成する。
【0052】
ステップ230(S230)において、キー画像生成部620は、全画素の画素値が0であるキー画像を生成し、生成されたキー画像を誤差処理部640及びキー画像抽出部650に対して出力する。すなわち、キー画像生成部620は、符号化時に参照した画像とは異なるキー画像を生成する。
【0053】
ステップ240(S240)において、符号復号部610は、入力された符号データに含まれる符号を順に参照情報に復号化し、復号化された参照情報(予測部ID、連続数、又は予測誤差値)を画像内抽出部630、誤差処理部640及びキー画像抽出部650に対して出力する。
画像内抽出部630、誤差処理部640又はキー画像抽出部650は、符号復号部610から入力された参照情報(予測部ID、連続数、又は予測誤差値)に応じて画素値を算出し、算出された画素値を復号画像生成部660に出力する。
具体的には、画像内抽出部630は、符号復号部610から入力された予測部IDが参照画素A〜Dのいずれかに対応する場合に、対応する参照位置の画素を参照して、その画素の画素値を抽出し、抽出された画素値と、入力された連続数とを復号データとして復号画像生成部660に出力する。また、誤差処理部640は、符号復号部610から予測誤差値が入力された場合に、入力された予測誤差値と、キー画像生成部620から入力されたキー画像上の参照画素Eの画素値とを合算して復号データとし、復号画像生成部660に出力する。また、キー画像抽出部650は、符号復号部610から入力された予測部IDが参照画素Eに対応する場合に、キー画像生成部620から入力されたキー画像上の参照画素Eを参照して、この画素の画素値を抽出し、抽出された画素値と、入力された連続数とを復号画像生成部660に出力する。
復号画像生成部660は、画像内抽出部630から復号データ(画素値及び連続数)が入力された場合に、入力された画素値の画素を連続数だけ連続して配置し、誤差処理部640から復号データ(参照画素Eの画素値と予測誤差値との合算値)が入力された場合に、この合算値の画素を配置し、キー画像抽出部650から復号データ(画素値及び連続数)が入力された場合に、入力された画素値の画素を連続数だけ連続して配置する。このように配置された画素群が復号画像となる。
【0054】
ステップ250(S250)において、ビット抽出部670は、復号画像生成部660から入力された復号画像の最下位ビットを、秘匿画像として抽出する。
このように、復号化プログラム6は、入力されたパスワードに基づいてキー画像を生成し、生成されたキー画像を符号データに応じて参照することにより復号画像を再生し、再生された復号画像から秘匿画像を抽出する。したがって、不適切なパスワードが入力された場合(すなわち、符号化時に入力されたパスワード以外のパスワードが入力された場合)、又は、パスワードが入力されなかった場合に、符号化時に用いられたキー画像とは異なるキー画像がキー画像生成部620により生成されることとなり、媒体画像710’の最下位ビットは、スクランブルをかけられた状態で復号化される。
【0055】
以上説明したように、本実施形態における画像処理装置2は、秘匿画像720が埋め込まれた媒体画像710’を、キー画像を参照して符号化することにより、媒体画像710’に埋め込まれた秘匿画像720にスクランブルをかけて秘匿画像720に対するアクセスを制限することができる。特に、本例の画像処理装置2は、秘匿画像720が埋め込まれるビット位置のみが不均一となるキー画像を適用して媒体画像710’を符号化することにより、キー画像なしで復号化した場合に、秘匿画像720に対するスクランブルを維持したままで、符号化前の媒体画像710’と酷似する媒体画像710”を生成できる。
また、本画像処理装置2は、秘匿画像720に対するスクランブル処理と、この秘匿画像720が埋め込まれた媒体画像710’に対する符号化処理とを同一の処理で実現することができる。
【0056】
[変形例1]
次に、上記第1の実施形態の変形例を説明する。
上記実施形態におけるキー画像は、秘匿情報が埋め込まれるビット位置を擬似乱数で構成されていたが、これに限定されるものではなく、秘匿情報が埋め込まれるビット位置で不均一なビットパターンを有する画像であればよい。例えば、キー画像730は、媒体画像710と同一の画像であってもよい。
【0057】
図9は、媒体画像710と同じキー画像730が適用されるデータ秘匿化処理を説明する図である。
図9に例示するように、符号化プログラム5は、媒体画像710と同じキー画像730を参照して、秘匿画像720が埋め込まれた媒体画像710’を符号化すると、秘匿画像720のビットが0である領域では、参照画素E(図5)における予測が的中し、予測誤差が符号化される領域では、予測誤差が小さくなる。また、媒体画像710が写真画像などである場合には、互いに近接する画素は近似する画素値を有する可能性が高いため、参照画素A〜Dにおける予測が的中する可能性もある。したがって、媒体画像710と同じキー画像730を参照して媒体画像710’を符号化すると、圧縮率が高くなる。
【0058】
なお、媒体画像710と同じキー画像730を参照して符号化した場合には、符号データは、キー画像730に対する参照を指示する符号(参照画素Eに対応する符号E)の割合が高くなると共に、予測誤差の値がキー画像730の画素値に大きく依存するようになる。そのため、符号化時に参照されたキー画像730とは異なる画像を参照して、符号データが復号化されると、スクランブルがかけられた媒体画像710”が復号画像として生成される。この媒体画像710”は、秘匿情報が埋め込まれたビット位置でもスクランブルをかけられているため、この媒体画像710”から抽出される秘匿画像720も、スクランブルがかけられた状態となる。
一方、符号化時に参照されたキー画像730を参照して、符号データが復号化されると、元の媒体画像710’が復号画像として正確に再現され、この媒体画像710’から抽出される秘匿画像720も、閲覧可能な状態で再現される。
【0059】
図10は、本変形例における第2の符号化プログラム52の機能構成を例示する図である。なお、本図における各構成のうち、図4に示された構成と実質的に同一のものには同一の符号が付されている。
図10に例示するように、第2の符号化プログラム52は、第1の符号化プログラム5のビット置換部500を対象画像505に置換し、キー画像生成部570を削除した構成をとる。
符号化プログラム52において、対象画像生成部505は、秘匿化すべき秘匿情報と、既定の画像データとに基づいて、符号化対象データを生成する。本例の対象画像生成部505は、キー画像730と同一の媒体画像710(図9)に、秘匿画像720を埋め込んで、秘匿画像720が埋め込まれた媒体画像710’を生成する。
【0060】
本変形例において、キー画像予測部520は、媒体画像710と同一のキー画像730を参照して、対象画像生成部505により生成された符号化対象データ(媒体画像710’)を符号化する。
また、予測誤差算出部530は、媒体画像710と同一のキー画像730を参照して、このキー画像730上の画素値と、対象画像生成部505により生成された媒体画像710’上の画素値との差分を予測誤差として算出する。
【0061】
この媒体画像710’は、キー画像730の最下位ビットを秘匿画像720で置換したものであり、キー画像730と近似している。そのため、キー画像730を参照する予測の的中確率は高くなり、たとえ予測が的中しなくても予測誤差が小さくなる。したがって、参照画素Eに対応する符号E(図5)の符号長、及び、頻出する予測誤差(+1、−1)に対する符号長を短くすることにより、媒体画像710’の符号量が小さくなる。
【0062】
このように、本変形例における画像処理装置2は、秘匿情報を埋め込む媒体画像710をキー画像として参照し、秘匿情報が埋め込まれた媒体画像710’を符号化することにより、圧縮率を高めることができる。
【0063】
[その他の変形例]
また、上記対象画像生成部505は、秘匿情報のビットパターンと、キー画像を構成する各画素のビット列とを比較して、符号化対象データ(媒体画像710’)を生成してもよい。具体的には、対象画像生成部505は、秘匿情報のビットパターンと、キー画像の画素値を示すビット列のうち、秘匿情報を埋め込むビット位置の値とを比較し、これらの組合せに基づいて、このビット位置の値を決定する。
【0064】
また、媒体画像710が均一な画素値を有する画像である場合には、参照画素A〜Dによる予測が的中してこの参照画素に対応する符号が生成される可能性がある。この場合に、キー画像を参照しなくても媒体画像710’が正確に復号化されるため、秘匿画像が容易に抽出されるおそれがある。
そこで、符号化プログラム5は、媒体画像710が均一な画素値からなる領域を有する場合に、少なくとも、画素値が均一な領域では、注目画素Xの画素値とキー画像上の参照画素Eの画素値との差分値(すなわち、予測誤差)を符号化することが望ましい。具体的には、選択部550(図4)は、媒体画像710の画素値が均一な領域において、予測誤差算出部530により算出された予測誤差(注目画素Xの画素値とキー画像上の参照画素Eの画素値との差分値)を選択し、符号生成部560に出力する。
【図面の簡単な説明】
【0065】
【図1】画像データに対する秘匿情報の埋め込みを説明する図である。
【図2】キー画像を参照する予測符号化処理の概略を説明する図であり、(A)は、予測符号化処理において参照される参照位置を例示し、(B)は、予測符号化処理により生成される符号データを模式的に例示する。
【図3】本発明にかかるデータ秘匿化方法及び秘匿データ抽出方法が適応される画像処理装置2のハードウェア構成を、制御装置20を中心に例示する図である。
【図4】制御装置21(図3)により実行され、本発明にかかるデータ秘匿化方法を実現する第1の符号化プログラム5の機能構成を例示する図である。
【図5】符号化プログラム5によりなされる符号化処理を説明する図であり、(A)は、画像内予測部510及びキー画像予測部520により参照される画素の位置を例示し、(B)は、それぞれの参照画素に対応付けられた符号を例示し、(C)は、符号生成部560により生成される符号データを例示する図である。
【図6】符号化プログラム5による符号化処理(S10)の動作を説明するフローチャートである。
【図7】制御装置21(図3)により実行され、本発明にかかる秘匿データ抽出方法を実現する復号化プログラム6の機能構成を例示する図である。
【図8】復号化プログラム6による復号化処理(S20)の動作を説明するフローチャートである。
【図9】媒体画像710と同じキー画像730が適用されるデータ秘匿化処理を説明する図である。
【図10】第2の符号化プログラム52の機能構成を例示する図である。
【符号の説明】
【0066】
2・・・画像処理装置
5,52・・・符号化プログラム
500・・・ビット置換部
505・・・対象画像生成部
510・・・画像内予測部
520・・・キー画像予測部
530・・・予測誤差算出部
540・・・ラン計数部
550・・・選択部
560・・・符号生成部
570・・・キー画像生成部
6・・・復号化プログラム
610・・・符号復号部
620・・・キー画像生成部
630・・・画像内抽出部
640・・・誤差処理部
650・・・キー画像抽出部
660・・・復号画像生成部
670・・・ビット抽出部
【技術分野】
【0001】
本発明は、画像データの既定のビット位置に秘匿情報を埋め込むデータ秘匿化装置に関する。
【背景技術】
【0002】
例えば、非特許文献1は、秘匿化したい画像Bを限定階調化し、埋め込む先の画像AのLSB(Least Significant Bit)側に、限定階調化された画像Bを埋め込む方法を開示する。この場合、画像Bが埋め込まれた画像A’は、元の画像AとMSB(Most Significant Bit)側で共通するため、ほとんど同一の出力画像として出力される。
【非特許文献1】R.Z.Wang, C.F.Lin, and J.C.Lin, "Image hiding by optimal LSB substitution and genetic algorithm," Pattern Recognition, 34(2001), pp.671-693, 2001.
【発明の開示】
【発明が解決しようとする課題】
【0003】
本発明は、上述した背景からなされたものであり、画像データの既定ビット位置に情報を秘匿化するデータ秘匿化装置を提供することを目的とする。
【課題を解決するための手段】
【0004】
[データ秘匿化装置]
上記目的を達成するために、本発明にかかるデータ秘匿化装置は、秘匿データを秘匿化するデータ秘匿化装置であって、画像データに秘匿データを埋め込む埋め込み手段と、前記埋め込み手段により秘匿データが埋め込まれた画像データと、既定のキー画像とを比較して、キー画像に対する参照を指定する参照情報を生成する参照情報生成手段と、前記参照情報手段により生成された参照情報の符号データを、秘匿データが埋め込まれた画像データの符号データの一部として生成する符号生成手段とを有する。
【0005】
好適には、前記埋め込み手段は、画像データの既定のビット位置を秘匿データで置換することにより、秘匿データをこの画像データに埋め込み、前記参照情報生成手段は、前記ビット位置が不均一な値で構成されたキー画像と、秘匿データが埋め込まれた画像データとを比較して、このキー画像に対する参照情報を生成する。
【0006】
好適には、前記参照情報生成手段は、秘匿データが埋め込まれた画像データに含まれる注目画素の階調データと、注目画素に対応するキー画像上の画素の階調データとを比較して、これらの階調データの差分値を前記参照情報として生成し、前記符号生成手段は、生成された差分値の符号データを、秘匿データが埋め込まれた画像データの符号データとして生成する。
【0007】
好適には、パスワードに基づいて、不均一な値で構成されたデータ列を生成し、生成されたデータ列を前記ビット位置に配置して前記キー画像を生成するキー画像生成手段をさらに有し、前記参照情報生成手段は、前記キー画像生成手段により生成されたキー画像を用いて、このキー画像に対する参照情報を生成する。
【0008】
好適には、秘匿データが埋め込まれる画像データは、前記キー画像であり、前記埋め込み手段は、前記キー画像に秘匿データを埋め込み、前記参照情報生成手段は、秘匿データが埋め込まれたキー画像と、秘匿データが埋め込まれていないキー画像とを比較して、秘匿データが埋め込まれていないキー画像に対する参照情報を生成し、前記符号生成手段は、生成された参照情報の符号データを、秘匿データが埋め込まれたキー画像の符号データの一部として生成する。
【0009】
また、本発明にかかるデータ秘匿化装置は、秘匿データを秘匿化するデータ秘匿化装置であって、既定の画像データと、秘匿データとに基づいて、符号化対象データを生成する対象データ生成手段と、前記対象データ生成手段により生成された符号化対象データと、前記画像データとを比較して、この画像データに対する参照を指定する参照情報を生成する参照情報生成手段と、前記参照情報手段により生成された参照情報の符号データを、前記符号化対象データの符号データの一部として生成する符号生成手段とを有する。
【0010】
[秘匿データ抽出装置]
また、本発明にかかる秘匿データ抽出装置は、符号データから秘匿データを抽出する秘匿データ抽出装置であって、入力された符号データに基づいて、キー画像に含まれる画像データを抽出する参照データ抽出手段と、前記参照データ抽出手段により抽出された画像データを用いて、復号画像を生成する復号画像生成手段と、前記復号画像生成手段により生成された復号画像の既定ビット位置から、秘匿データを抽出するビット抽出手段とを有する。
【0011】
[データ秘匿化方法]
また、本発明にかかるデータ秘匿化方法は、秘匿データを秘匿化するデータ秘匿化方法であって、画像データに秘匿データを埋め込み、秘匿データが埋め込まれた画像データと、既定のキー画像とを比較して、このキー画像に対する参照を指定する参照情報を生成し、生成された参照情報の符号データを、秘匿データが埋め込まれた画像データの符号データの一部として生成する。
【0012】
また、本発明にかかるデータ秘匿化方法は、秘匿データを秘匿化するデータ秘匿化方法であって、既定の画像データと、秘匿データとに基づいて、符号化対象データを生成し、生成された符号化対象データと、前記画像データとを比較して、この画像データに対する参照を指定する参照情報を生成し、生成された参照情報の符号データを、前記符号化対象データの符号データの一部として生成する。
【0013】
[秘匿データ抽出方法]
また、本発明にかかる秘匿データ抽出方法は、符号データから秘匿データを抽出する秘匿データ抽出方法であって、入力された符号データに基づいて、キー画像に含まれる画像データを抽出し、抽出された画像データを用いて、復号画像を生成し、生成された復号画像の既定ビット位置から、秘匿データを抽出する。
【0014】
[プログラム]
また、本発明にかかるプログラムは、秘匿データを秘匿化するデータ秘匿化装置において、画像データに秘匿データを埋め込むステップと、秘匿データが埋め込まれた画像データと、既定のキー画像とを比較して、このキー画像に対する参照を指定する参照情報を生成するステップと、生成された参照情報の符号データを、秘匿データが埋め込まれた画像データの符号データの一部として生成するステップとを前記データ秘匿化装置に実行させる。
【0015】
また、本発明にかかるプログラムは、秘匿データを秘匿化するデータ秘匿化装置において、既定の画像データと、秘匿データとに基づいて、符号化対象データを生成するステップと、生成された符号化対象データと、前記画像データとを比較して、この画像データに対する参照を指定する参照情報を生成するステップと、生成された参照情報の符号データを、前記符号化対象データの符号データの一部として生成するステップとを前記データ秘匿化装置に実行させる。
【0016】
また、本発明にかかるプログラムは、符号データから秘匿データを抽出する秘匿データ抽出装置において、入力された符号データに基づいて、キー画像に含まれる画像データを抽出するステップと、抽出された画像データを用いて、復号画像を生成するステップと、生成された復号画像の既定ビット位置から、秘匿データを抽出するステップとを前記秘匿データ抽出装置に実行させる。
【発明の効果】
【0017】
本発明のデータ秘匿化装置によれば、画像に埋め込まれた秘匿情報の秘密性を高めることができる。
【発明を実施するための最良の形態】
【0018】
[背景と概略]
まず、本発明の理解を助けるために、その背景及び概略を説明する。
図1は、画像データに対する秘匿情報の埋め込みを説明する図である。
図1(A)に例示するように、多値の画像データは、それぞれの画素で階調データ(画素値など)を有する。画素値はビット列で表現されるため、LSBなどの下位ビットが変化しても、画素値としては微小な変化にとどまる。例えば、8ビットで各画素の画素値が表現されている場合に、最下位ビットが変化しても、各画素では、256階調のうち1階調変化するだけである。
このような画像データの特性を利用して、画像データの下位ビットに秘匿情報を埋め込む技術が知られている。なお、以下の説明において、秘匿情報が埋め込まれる画像データを媒体画像といい、秘匿情報(バイナリ、画像等)のビットパターンが平面上に配列されたものを秘匿画像という。
例えば、画像処理装置は、図1(A)に例示する媒体画像710(8ビット)の最下位ビットを、秘匿画像720のビットパターンで置換することにより、秘匿画像720を媒体画像710に埋め込むことができる。この場合、秘匿画像720が埋め込まれた媒体画像710’は、元の媒体画像710の最下位ビットが変化したものであり、画像としての見た目はほとんど変わらない。
しかしながら、このように、媒体画像710のLSBが単に秘匿画像720に置換されただけでは、簡単に、秘匿画像720が取り出されてしまう可能性がある。
【0019】
そこで、本発明にかかる画像処理装置は、媒体画像710’を、キー画像を参照する予測符号化処理により符号化する。このキー画像は、秘匿画像720が埋め込まれたビット位置で不均一なビットパターンを有する画像データ(換言すると、秘匿情報が埋め込まれたビット位置以外のビット位置では、均一なビットパターンを有する)である。これにより、媒体画像710’の下位ビットはスクランブルがかけられ、キー画像なしでは正常に復号化できなくなる。
例えば、画像処理装置は、画素値が0及び1で構成された画素パターンからなるキー画像を参照して、媒体画像710’を予測符号化すると、媒体画像710’の最下位ビットのみにスクランブルをかけることになる。この場合に、この画素パターンからなるキー画像を参照せずに符号データが復号化されると、この媒体画像710”の最下位ビットに相当する秘匿画像720は、図1(C)に例示するように、スクランブルがかけられた状態となる。なお、媒体画像710”の符号データは、最下位ビットに制限された参照画像(例えば、画素値が全て0である画像など)を参照して復号化されるため、上位ビットに相当する成分は正常に復号化され、図1(C)に例示するように、符号化前の媒体画像710’と近似する媒体画像710”が復号画像として得られる。
一方、この符号データがキー画像を参照して復号化されると、媒体画像710’が復号画像として得られ、画像処理装置は、この復号画像(媒体画像710’)の既定ビット位置から秘匿画像720を抽出できる。
【0020】
図2は、キー画像を参照する予測符号化処理の概略を説明する図であり、図2(A)は、予測符号化処理において参照される参照位置を例示し、図2(B)は、予測符号化処理により生成される符号データを模式的に例示する。
画像処理装置は、符号化対象となる媒体画像710’(図1(B))を符号化する場合に、キー画像を参照して予測データを生成し、生成された予測データを用いた予測符号化処理を行う。すなわち、本画像処理装置は、キー画像に対する参照情報を、媒体画像710’の少なくとも一部の符号データとして符号化する。より具体的には、図2(A)に例示するように、本画像処理装置は、媒体画像710’(秘匿画像720が埋め込まれたもの)上の注目画素Xの階調データ(画素値)を符号化する場合に、この媒体画像710’上に設定された複数の参照画素A〜Dと共に、キー画像上に設定された参照画素Eを参照し、注目画素Xの画素値といずれかの参照画素の画素値とが一致する場合に、一致した参照画素の識別情報(参照情報)を符号化し、注目画素Xの画素値と参照画素の画素値とがいずれも一致しない場合に、参照画素Eの画素値と注目画素Xの画素値との差分値(以下、予測誤差という)を符号化する。
【0021】
これにより生成される符号データは、図2(B)に例示するように、各参照画素に対応する符号、及び、予測誤差(注目画素Xと参照画素Eとの差分値)で構成される。例えば、図中の「符号A」は、注目画素Xの画素値と参照画素Aの画素値とが一致した場合(参照位置Aの予測が的中した場合)に生成される符号であり、復号時においては、参照画素Aの画素値の適用を指示するデータとなる。
同様に、符号Eは、注目画素Xの画素値が参照画素Eの画素値と一致した場合に生成される符号であり、復号時においては、キー画像上の参照画素Eを参照し、参照画素Eの画素値を適用することを指示する。したがって、符号Eに対応する画素は、キー画像上の参照画素Eを参照できなければ正常に再現できない。
また、図中の「予測誤差」は、注目画素Xの画素値と参照画素の画素値とがいずれも一致しない場合に生成される符号であり、復号時においては、参照画素Eの画素値と注目画素Xの画素値との差分値として用いられる。したがって、予測誤差の符号に対応する画素は、キー画像上の参照画素Eを参照できなければ正常に再現できない。
【0022】
したがって、図2(B)に例示する符号データは、符号化時に用いたキー画像を参照せずに復号化されると、「符号E」及び「予測誤差」に対応する画素が正常に再現されず、スクランブルされた復号画像が生成される。ここで、本例のキー画像は0又は1の画素値のみを有するため、「符号E」として符号化された画素は、もともとの画素値が0又は1である。そのため、符号化時に用いたキー画像を参照できない場合でも、符号化前と復号化後との誤差は高々1である。また、「予測誤差」は、キー画像上の参照画素Eの画素値(0又は1)と注目画素Xの画素値との差分値であり、たとえ符号化時に用いたキー画像を参照できなくても、最下位ビットに制限された参照画像(例えば、全画素値が0の画像)を参照して復号化されれば、符号化前と復号化後との誤差は高々1である。したがって、「符号E」及び「予測誤差」に対応する画素は、最下位ビットのみにスクランブルがかけられ、上位ビットに相当する成分は正常に復号化される。
一方、符号化時に用いたキー画像を参照して復号化されると、「符号E」及び「予測誤差」に対応する画素は、最上位ビットから最下位ビットまで正確にも再現されて、媒体画像710’が再現される。
このように、本実施形態における画像処理装置は、ビット位置が制限されたキー画像を参照して、秘匿画像720が埋め込まれた媒体画像710’を予測符号化することにより、秘匿画像720に相当するビットプレーンにスクランブルをかけて、秘匿画像720に対するセキュリティレベルを向上させる。
【0023】
[ハードウェア構成]
次に、画像処理装置2のハードウェア構成を説明する。
図3は、本発明にかかるデータ秘匿化方法及び秘匿データ抽出方法が適応される画像処理装置2のハードウェア構成を、制御装置20を中心に例示する図である。
図3に例示するように、画像処理装置2は、CPU212及びメモリ214などを含む制御装置21、通信装置22、HDD・CD装置などの記録装置24、並びに、LCD表示装置あるいはCRT表示装置およびキーボード・タッチパネルなどを含むユーザインターフェース装置(UI装置)25から構成される。
画像処理装置2は、例えば、本発明にかかる符号化プログラム5(データ秘匿化プログラム)及び復号化プログラム6(秘匿データ抽出プログラム)がプリンタドライバの一部としてインストールされた汎用コンピュータであり、通信装置22又は記録装置24などを介して画像データを取得し、取得された画像データを符号化又は復号化してプリンタ装置3に送信する。
【0024】
[符号化プログラム]
図4は、制御装置21(図3)により実行され、本発明にかかるデータ秘匿化方法を実現する第1の符号化プログラム5の機能構成を例示する図である。
図4に例示するように、符号化プログラム5は、ビット置換部500、画像内予測部510、キー画像予測部520、予測誤差算出部530、ラン計数部540、選択部550、符号生成部560及びキー画像生成部570を有する。なお、画像内予測部510、キー画像予測部520、予測誤差算出部530、ラン計数部540及び選択部550の組合せが本発明にかかる参照情報生成手段の一例である。
符号化プログラム5において、画像データは、通信装置22又は記録装置24などを介して入力される。入力された画像データは、符号化プログラム5の前段でラスタライズされている。
【0025】
ビット置換部500(埋め込み手段)は、画像データに、秘匿化したい秘匿情報を埋め込み、秘匿情報が埋め込まれた画像データを画像内予測部510、キー画像予測部520及び予測誤差算出部530に出力する。具体的には、ビット置換部500は、既定の画像データ(媒体画像710)の既定ビット位置を、秘匿情報のビット列で構成された秘匿画像720で置換する。秘匿情報が埋め込まれるビット位置は、下位側のビットであることが望ましい。本例のビット置換部500は、媒体画像710(図1)の最下位ビットのビットプレーンを、秘匿画像720で置換して媒体画像710’を生成し、生成された媒体画像710’を画像内予測部510、キー画像予測部520及び予測誤差算出部530に出力する。なお、本例では、最下位ビットに秘匿情報が埋め込まれるが、これに限定されるものではなく、例えば、複数のビット位置(下位側のビット位置が望ましい)に秘匿情報が埋め込まれてもよい。
【0026】
画像内予測部510は、秘匿情報が埋め込まれた画像データ(すなわち、媒体画像710’)において、注目画素とは異なる画素(参照画素)の画素値を参照して、この画素値を予測値とし、この予測値と注目画素の画素値との比較結果をラン計数部540に対して出力する。本例の画像内予測部510は、複数の参照画素A〜D(図2)の画素値と、注目画素X(図2)の画素値とを比較して、画素値が一致した場合(すなわち、予測が的中した場合)に、自己を識別する予測部ID(後述)をラン計数部540に対して出力し、これ以外の場合に、一致しなかった旨をラン計数部540に対して出力する。なお、画像内予測部510は、1つ以上の参照画素を参照すればよく、例えば、参照位置Aのみを参照して、画素値の比較結果を出力してもよい。
【0027】
キー画像予測部520は、秘匿情報が埋め込まれた画像データ(すなわち、媒体画像710’)とは異なる他の画像(キー画像)の画素値を参照して、このキー画像の画素値を予測値とし、この予測値と注目画素(媒体画像710’に含まれる画素)の画素値との比較結果をラン計数部540に対して出力する。本例のキー画像予測部520は、キー画像に含まれる参照画素E(図2)の画素値と、注目画素X(図2)の画素値とを比較して、画素値が一致した場合(すなわち、予測が的中した場合)に、自己を識別する予測部ID(後述)をラン計数部540に対して出力し、これ以外の場合に、一致しなかった旨をラン計数部540に対して出力する。
【0028】
予測誤差算出部530は、予め定められた予測方法で注目画素の画素値を予測し、その予測値を注目画素の実際の画素値から減算し、予測誤差値としてラン計数部540及び選択部550に対して出力する。予測誤差算出部530の予測方法は、符号データを復号化する復号化プログラム6(後述)の予測方法と対応していればよい。なお、スクランブル効果を高めるためには、予測誤差算出部530は、キー画像上の画素を参照して、この画素の画素値と注目画素の画素値との差分値を予測誤差とすることが望ましい。そこで、本例の予測誤差算出部530は、キー画像予測部520と同じ参照位置(参照画素E)の画素値を予測値とし、この予測値と実際の画素値(注目画素Xの画素値)との差分値を予測誤差値として算出する。
【0029】
ラン計数部540は、同一の予測部IDが連続する数をカウントし、予測部ID及びその連続数を選択部550に対して出力する。この予測部ID及びその連続数は、媒体画像710’又はキー画像に対する参照情報の一例である。例えば、ラン計数部540は、予測誤差値が入力される場合に、内部カウンタでカウントされている予測部ID及びその連続数を出力し、その後に、入力された予測誤差値をそのまま選択部550に対して出力する。
【0030】
選択部550は、ラン計数部540から入力された予測部ID、連続数及び予測誤差値に基づいて、最も長く連続した予測部IDを選択し、この予測部ID及びその連続数並びに予測誤差値を予測データとして符号生成部560に対して出力する。
【0031】
符号生成部560は、選択部550から入力された予測部ID、連続数及び予測誤差値を符号化し、通信装置22又は記録装置24などに出力する。また、符号生成部560は、部分アクセス制限が行われている場合には、アクセス制限を行うべき画像領域を指定するレイアウト情報を、符号データに添付して出力する。
【0032】
キー画像生成部570は、入力されたパスワードに基づいて、秘匿情報が埋め込まれるビット位置で不均一なビットパターンを有するキー画像を生成し、生成されたキー画像をキー画像予測部520及び予測誤差算出部530に対して出力する。例えば、キー画像生成部570は、入力されたパスワードを引数として乱数を発生させ、発生させた乱数に対応するビットパターンを、秘匿情報が埋め込まれるビットプレーンに配置することにより、キー画像を生成する。発生させる乱数は、必ずしも完全な乱数である必要はなく、例えば、擬似乱数関数で発生させた乱数でもよい。この場合に、擬似乱数関数で発生させた乱数は、完全な乱数よりもデータ量を圧縮できるため、キー画像のデータ量を抑えることができる。
【0033】
図5は、符号化プログラム5によりなされる符号化処理を説明する図であり、図5(A)は、画像内予測部510及びキー画像予測部520により参照される画素の位置を例示し、図5(B)は、それぞれの参照画素に対応付けられた符号を例示し、図5(C)は、符号生成部560により生成される符号データを例示する図である。
図5(A)に例示するように、画像内予測部510及びキー画像予測部520の参照位置は、注目画素Xとの相対位置として設定されている。具体的には、画像内予測部510の参照画素Aは、注目画素Xの主走査方向上流に設定され、参照画素B〜Dは、注目画素Xの上方(副走査方向上流)の主走査ライン上に設定されている。また、キー画像予測部520の参照画素Eは、入力画像710とは異なる他の画像(キー画像)上に設定されている。
【0034】
また、図5(B)に例示するように、それぞれの参照画素A〜Eには優先順位が設定されており、複数の参照画素で予測が的中した場合には、ラン計数部540(図4)は、設定された優先順位に応じて、予測部IDの連続数を増加させる。スクランブル効果を高める観点から、キー画像予測部520により参照される参照画素Eの優先順位は、画像内予測部510により参照される参照画素A〜Dよりも高いことが望ましい。
また、符号生成部560は、図5(B)に例示するように、予測部(参照位置)と符号とを互いに対応付けており、注目画素Xと画素値が一致した参照位置に対応する符号を出力する。なお、それぞれの参照位置に対応付けられている符号は、例えば、各参照位置の的中率に応じて設定されたエントロピー符号であり、優先順位に対応する符号長となる。
【0035】
また、符号生成部560は、同一の参照位置で連続して画素値が一致する場合には、ラン計数部540によりカウントされたその連続数を符号化する。これにより、符号量が少なくなる。このように、符号化プログラム5は、図5(C)に例示するように、いずれかの参照位置で画素値が一致した場合には、その参照位置に対応する符号と、この参照位置で画素値が一致する連続数とを符号化し、いずれの参照位置でも画素値が一致しなかった場合には、既定の参照位置(参照画素E)の画素値と注目画素Xの画素値との差分(予測誤差値)を符号化する。
【0036】
図6は、符号化プログラム5による符号化処理(S10)の動作を説明するフローチャートである。
図6に示すように、ステップ100(S100)において、符号化プログラム5は、利用者から、秘匿化したい秘匿画像720(1ビット)、この秘匿画像720を埋め込む媒体画像710(8ビット)、及び、この秘匿画像に対するアクセスを制限するためのパスワードの入力を受け付ける。
【0037】
ステップ110(S110)において、ビット置換部500は、媒体画像710の最下位ビットを、秘匿画像720で置換して、秘匿画像720が埋め込まれた媒体画像710’を生成し、生成された媒体画像710’を画像内予測部510、キー画像予測部520及び予測誤差算出部530に対して出力する。
【0038】
ステップ120(S120)において、キー画像生成部570は、入力されたパスワードを引数として乱数系列を発生させ、発生させた乱数系列を最下位ビット位置に配置してキー画像を生成する。生成されたキー画像の上位ビット(最下位ビット以外のビット位置)は、全て0である。
キー画像生成部570は、生成されたキー画像をキー画像予測部520及び予測誤差算出部530に出力する。
【0039】
ステップ130(S130)において、符号化プログラム5は、キー画像生成部570により生成されたキー画像を参照して、秘匿画像720が埋め込まれた媒体画像710’を符号化する。より具体的には、画像内予測部510は、秘匿画像720が埋め込まれた媒体画像710’上に設定された複数の参照画素A〜D(図5)の画素値と、この媒体画像710’上の注目画素Xの画素値とを比較して、画素値が一致した場合に、自己を識別する予測部IDをラン計数部540に対して出力し、これ以外の場合に、一致しなかった旨をラン計数部540に対して出力する。また、キー画像予測部520は、キー画像に含まれる参照画素E(図5)の画素値と、媒体画像710’上の注目画素Xの画素値とを比較して、画素値が一致した場合に、自己を識別する予測部ID(後述)をラン計数部540に対して出力し、これ以外の場合に、一致しなかった旨をラン計数部540に対して出力する。ラン計数部540は、画像内予測部510又はキー画像予測部520から入力される予測部IDの連続数をカウントし、予測部ID及びその連続数を参照情報として選択部550に対して出力する。
また、予測誤差算出部530は、キー画像上の参照画素Eの画素値を予測値とし、この予測値と媒体画像710’上の注目画素Xの画素値との差分値を予測誤差値として算出し、算出された予測誤差値を参照情報として選択部550に対して出力する。
【0040】
選択部550は、ラン計数部540から入力された予測部ID及び連続数、あるいは、予測誤差算出部530から入力された予測誤差値に基づいて、最も長く連続した予測部IDを選択し、この予測部ID及びその連続数並びに予測誤差値を予測データとして符号生成部560に対して出力する。
符号生成部560は、選択部550から入力された予測部ID、連続数、又は予測誤差値を符号化する。
【0041】
このように、符号化プログラム5は、媒体画像710に秘匿画像720を埋め込んで、秘匿画像720が埋め込まれた媒体画像710’を、パスワードに対応するキー画像を参照して符号化する。
【0042】
[復号化プログラム]
図7は、制御装置21(図3)により実行され、本発明にかかる秘匿データ抽出方法を実現する復号化プログラム6の機能構成を例示する図である。
図8に例示するように、復号化プログラム6は、符号復号部610、キー画像生成部620、画像内抽出部630、誤差処理部640、キー画像抽出部650、復号画像生成部660及びビット抽出部670を有する。
復号化プログラム6において、符号復号部610は、図5(B)に例示したものと同様に、符号と予測部ID(参照位置)とを互いに対応付けるテーブルを有し、入力された符号データに基づいて、参照位置を特定する。また、符号復号部610は、入力された符号データに基づいて、予測部IDの連続数、及び、予測誤差などの数値も復号化する。
このように復号化された参照位置、連続数及び予測誤差(すなわち、参照情報)は、画像内抽出部630、誤差処理部640及びキー画像抽出部650に入力される。
【0043】
キー画像生成部620は、符号化側のキー画像生成部570と同様の手法により、入力されたパスワードに基づいてキー画像を生成し、生成されたキー画像を誤差処理部640及びキー画像抽出部650に対して出力する。本例のキー画像生成部620は、入力されたパスワードを引数として乱数を発生させ、発生させた乱数を最下位ビットに配置してキー画像を生成する。
なお、本例のキー画像生成部620は、パスワードが入力されない場合には、全画素の画素値が0であるキー画像(均一な階調データからなるキー画像)を生成し、誤差処理部640及びキー画像抽出部650に出力する。
【0044】
画像内抽出部630は、符号復号部610から入力された予測部IDが入力画像内の参照位置のいずれかに対応する場合(すなわち、参照画素A〜Dに対応する場合)に、対応する参照位置の画素を参照して、その画素の画素値を復号データとして復号画像生成部660に出力する。また、画像内抽出部620は、この予測部IDと共に連続数が入力された場合には、予測部IDに対応する画素値に対応付けて、この連続数を復号画像生成部660に出力する。
【0045】
誤差処理部640は、符号復号部610から予測誤差が入力された場合に、入力された予測誤差に対応する画素値を復号データとして復号画像生成部670に出力する。本例の誤差処理部640は、入力された予測誤差と、キー画像上の画素(参照画素E)の画素値とを合算して復号データとする。
【0046】
キー画像抽出部650は、符号復号部610から入力された予測部IDがキー画像上の参照位置(参照画素E)に対応する場合に、キー画像の画素を参照して、その画素の画素値を抽出し、抽出された画素値と、入力された連続数とを復号画像生成部660に出力する。
【0047】
復号画像生成部660は、画像内抽出部630から入力された復号データ、誤差処理部640から入力された復号データ、及び、キー画像抽出部650から入力された復号データに基づいて、復号画像を生成する。より具体的には、復号画像生成部660は、画像内抽出部630から復号データ(画素値及び連続数)が入力された場合に、入力された画素値の画素を連続数だけ連続して配置する。また、復号画像生成部660は、誤差処理部640から復号データ(参照画素Eの画素値と予測誤差値との合算値)が入力された場合に、この合算値の画素を配置する。また、復号画像生成部660は、キー画像抽出部650から復号データ(画素値及び連続数)が入力された場合に、入力された画素値の画素を連続数だけ連続して配置する。このように配置された画素群が復号画像となり、ビット抽出部670に入力される。
【0048】
ビット抽出部670は、復号画像生成部660から入力された復号画像から、秘匿情報を抽出する。より具体的には、ビット抽出部670は、復号画像の既定ビット位置を秘匿画像として抽出する。本例のビット抽出部670は、復号画像の最下位ビットを秘匿画像として抽出する。
【0049】
図8は、復号化プログラム6による復号化処理(S20)の動作を説明するフローチャートである。
図8に示すように、ステップ200(S200)において、復号化プログラム6は、利用者から、復号化対象となる符号データを取得する。
【0050】
ステップ210(S210)において、キー画像生成部620は、利用者に対して、パスワードの入力を要求する。復号化プログラム6は、パスワードが入力された場合に、S220の処理に移行し、パスワードが入力されなかった場合に、S230の処理に移行する。
【0051】
ステップ220(S220)において、キー画像生成部620は、入力されたパスワードを引数として乱数系列を発生させ、発生させた乱数系列を最下位ビットに配置したキー画像を生成し、生成されたキー画像を誤差処理部640及びキー画像抽出部650に出力する。すなわち、キー画像生成部620は、正当なパスワード(符号化時に入力されたパスワード)が入力された場合、符号化時に参照した画像と同じキー画像を生成し、これ以外の場合に、符号化時に参照した画像とは異なるキー画像を生成する。
【0052】
ステップ230(S230)において、キー画像生成部620は、全画素の画素値が0であるキー画像を生成し、生成されたキー画像を誤差処理部640及びキー画像抽出部650に対して出力する。すなわち、キー画像生成部620は、符号化時に参照した画像とは異なるキー画像を生成する。
【0053】
ステップ240(S240)において、符号復号部610は、入力された符号データに含まれる符号を順に参照情報に復号化し、復号化された参照情報(予測部ID、連続数、又は予測誤差値)を画像内抽出部630、誤差処理部640及びキー画像抽出部650に対して出力する。
画像内抽出部630、誤差処理部640又はキー画像抽出部650は、符号復号部610から入力された参照情報(予測部ID、連続数、又は予測誤差値)に応じて画素値を算出し、算出された画素値を復号画像生成部660に出力する。
具体的には、画像内抽出部630は、符号復号部610から入力された予測部IDが参照画素A〜Dのいずれかに対応する場合に、対応する参照位置の画素を参照して、その画素の画素値を抽出し、抽出された画素値と、入力された連続数とを復号データとして復号画像生成部660に出力する。また、誤差処理部640は、符号復号部610から予測誤差値が入力された場合に、入力された予測誤差値と、キー画像生成部620から入力されたキー画像上の参照画素Eの画素値とを合算して復号データとし、復号画像生成部660に出力する。また、キー画像抽出部650は、符号復号部610から入力された予測部IDが参照画素Eに対応する場合に、キー画像生成部620から入力されたキー画像上の参照画素Eを参照して、この画素の画素値を抽出し、抽出された画素値と、入力された連続数とを復号画像生成部660に出力する。
復号画像生成部660は、画像内抽出部630から復号データ(画素値及び連続数)が入力された場合に、入力された画素値の画素を連続数だけ連続して配置し、誤差処理部640から復号データ(参照画素Eの画素値と予測誤差値との合算値)が入力された場合に、この合算値の画素を配置し、キー画像抽出部650から復号データ(画素値及び連続数)が入力された場合に、入力された画素値の画素を連続数だけ連続して配置する。このように配置された画素群が復号画像となる。
【0054】
ステップ250(S250)において、ビット抽出部670は、復号画像生成部660から入力された復号画像の最下位ビットを、秘匿画像として抽出する。
このように、復号化プログラム6は、入力されたパスワードに基づいてキー画像を生成し、生成されたキー画像を符号データに応じて参照することにより復号画像を再生し、再生された復号画像から秘匿画像を抽出する。したがって、不適切なパスワードが入力された場合(すなわち、符号化時に入力されたパスワード以外のパスワードが入力された場合)、又は、パスワードが入力されなかった場合に、符号化時に用いられたキー画像とは異なるキー画像がキー画像生成部620により生成されることとなり、媒体画像710’の最下位ビットは、スクランブルをかけられた状態で復号化される。
【0055】
以上説明したように、本実施形態における画像処理装置2は、秘匿画像720が埋め込まれた媒体画像710’を、キー画像を参照して符号化することにより、媒体画像710’に埋め込まれた秘匿画像720にスクランブルをかけて秘匿画像720に対するアクセスを制限することができる。特に、本例の画像処理装置2は、秘匿画像720が埋め込まれるビット位置のみが不均一となるキー画像を適用して媒体画像710’を符号化することにより、キー画像なしで復号化した場合に、秘匿画像720に対するスクランブルを維持したままで、符号化前の媒体画像710’と酷似する媒体画像710”を生成できる。
また、本画像処理装置2は、秘匿画像720に対するスクランブル処理と、この秘匿画像720が埋め込まれた媒体画像710’に対する符号化処理とを同一の処理で実現することができる。
【0056】
[変形例1]
次に、上記第1の実施形態の変形例を説明する。
上記実施形態におけるキー画像は、秘匿情報が埋め込まれるビット位置を擬似乱数で構成されていたが、これに限定されるものではなく、秘匿情報が埋め込まれるビット位置で不均一なビットパターンを有する画像であればよい。例えば、キー画像730は、媒体画像710と同一の画像であってもよい。
【0057】
図9は、媒体画像710と同じキー画像730が適用されるデータ秘匿化処理を説明する図である。
図9に例示するように、符号化プログラム5は、媒体画像710と同じキー画像730を参照して、秘匿画像720が埋め込まれた媒体画像710’を符号化すると、秘匿画像720のビットが0である領域では、参照画素E(図5)における予測が的中し、予測誤差が符号化される領域では、予測誤差が小さくなる。また、媒体画像710が写真画像などである場合には、互いに近接する画素は近似する画素値を有する可能性が高いため、参照画素A〜Dにおける予測が的中する可能性もある。したがって、媒体画像710と同じキー画像730を参照して媒体画像710’を符号化すると、圧縮率が高くなる。
【0058】
なお、媒体画像710と同じキー画像730を参照して符号化した場合には、符号データは、キー画像730に対する参照を指示する符号(参照画素Eに対応する符号E)の割合が高くなると共に、予測誤差の値がキー画像730の画素値に大きく依存するようになる。そのため、符号化時に参照されたキー画像730とは異なる画像を参照して、符号データが復号化されると、スクランブルがかけられた媒体画像710”が復号画像として生成される。この媒体画像710”は、秘匿情報が埋め込まれたビット位置でもスクランブルをかけられているため、この媒体画像710”から抽出される秘匿画像720も、スクランブルがかけられた状態となる。
一方、符号化時に参照されたキー画像730を参照して、符号データが復号化されると、元の媒体画像710’が復号画像として正確に再現され、この媒体画像710’から抽出される秘匿画像720も、閲覧可能な状態で再現される。
【0059】
図10は、本変形例における第2の符号化プログラム52の機能構成を例示する図である。なお、本図における各構成のうち、図4に示された構成と実質的に同一のものには同一の符号が付されている。
図10に例示するように、第2の符号化プログラム52は、第1の符号化プログラム5のビット置換部500を対象画像505に置換し、キー画像生成部570を削除した構成をとる。
符号化プログラム52において、対象画像生成部505は、秘匿化すべき秘匿情報と、既定の画像データとに基づいて、符号化対象データを生成する。本例の対象画像生成部505は、キー画像730と同一の媒体画像710(図9)に、秘匿画像720を埋め込んで、秘匿画像720が埋め込まれた媒体画像710’を生成する。
【0060】
本変形例において、キー画像予測部520は、媒体画像710と同一のキー画像730を参照して、対象画像生成部505により生成された符号化対象データ(媒体画像710’)を符号化する。
また、予測誤差算出部530は、媒体画像710と同一のキー画像730を参照して、このキー画像730上の画素値と、対象画像生成部505により生成された媒体画像710’上の画素値との差分を予測誤差として算出する。
【0061】
この媒体画像710’は、キー画像730の最下位ビットを秘匿画像720で置換したものであり、キー画像730と近似している。そのため、キー画像730を参照する予測の的中確率は高くなり、たとえ予測が的中しなくても予測誤差が小さくなる。したがって、参照画素Eに対応する符号E(図5)の符号長、及び、頻出する予測誤差(+1、−1)に対する符号長を短くすることにより、媒体画像710’の符号量が小さくなる。
【0062】
このように、本変形例における画像処理装置2は、秘匿情報を埋め込む媒体画像710をキー画像として参照し、秘匿情報が埋め込まれた媒体画像710’を符号化することにより、圧縮率を高めることができる。
【0063】
[その他の変形例]
また、上記対象画像生成部505は、秘匿情報のビットパターンと、キー画像を構成する各画素のビット列とを比較して、符号化対象データ(媒体画像710’)を生成してもよい。具体的には、対象画像生成部505は、秘匿情報のビットパターンと、キー画像の画素値を示すビット列のうち、秘匿情報を埋め込むビット位置の値とを比較し、これらの組合せに基づいて、このビット位置の値を決定する。
【0064】
また、媒体画像710が均一な画素値を有する画像である場合には、参照画素A〜Dによる予測が的中してこの参照画素に対応する符号が生成される可能性がある。この場合に、キー画像を参照しなくても媒体画像710’が正確に復号化されるため、秘匿画像が容易に抽出されるおそれがある。
そこで、符号化プログラム5は、媒体画像710が均一な画素値からなる領域を有する場合に、少なくとも、画素値が均一な領域では、注目画素Xの画素値とキー画像上の参照画素Eの画素値との差分値(すなわち、予測誤差)を符号化することが望ましい。具体的には、選択部550(図4)は、媒体画像710の画素値が均一な領域において、予測誤差算出部530により算出された予測誤差(注目画素Xの画素値とキー画像上の参照画素Eの画素値との差分値)を選択し、符号生成部560に出力する。
【図面の簡単な説明】
【0065】
【図1】画像データに対する秘匿情報の埋め込みを説明する図である。
【図2】キー画像を参照する予測符号化処理の概略を説明する図であり、(A)は、予測符号化処理において参照される参照位置を例示し、(B)は、予測符号化処理により生成される符号データを模式的に例示する。
【図3】本発明にかかるデータ秘匿化方法及び秘匿データ抽出方法が適応される画像処理装置2のハードウェア構成を、制御装置20を中心に例示する図である。
【図4】制御装置21(図3)により実行され、本発明にかかるデータ秘匿化方法を実現する第1の符号化プログラム5の機能構成を例示する図である。
【図5】符号化プログラム5によりなされる符号化処理を説明する図であり、(A)は、画像内予測部510及びキー画像予測部520により参照される画素の位置を例示し、(B)は、それぞれの参照画素に対応付けられた符号を例示し、(C)は、符号生成部560により生成される符号データを例示する図である。
【図6】符号化プログラム5による符号化処理(S10)の動作を説明するフローチャートである。
【図7】制御装置21(図3)により実行され、本発明にかかる秘匿データ抽出方法を実現する復号化プログラム6の機能構成を例示する図である。
【図8】復号化プログラム6による復号化処理(S20)の動作を説明するフローチャートである。
【図9】媒体画像710と同じキー画像730が適用されるデータ秘匿化処理を説明する図である。
【図10】第2の符号化プログラム52の機能構成を例示する図である。
【符号の説明】
【0066】
2・・・画像処理装置
5,52・・・符号化プログラム
500・・・ビット置換部
505・・・対象画像生成部
510・・・画像内予測部
520・・・キー画像予測部
530・・・予測誤差算出部
540・・・ラン計数部
550・・・選択部
560・・・符号生成部
570・・・キー画像生成部
6・・・復号化プログラム
610・・・符号復号部
620・・・キー画像生成部
630・・・画像内抽出部
640・・・誤差処理部
650・・・キー画像抽出部
660・・・復号画像生成部
670・・・ビット抽出部
【特許請求の範囲】
【請求項1】
秘匿データを秘匿化するデータ秘匿化装置であって、
画像データに秘匿データを埋め込む埋め込み手段と、
前記埋め込み手段により秘匿データが埋め込まれた画像データと、既定のキー画像とを比較して、キー画像に対する参照を指定する参照情報を生成する参照情報生成手段と、
前記参照情報手段により生成された参照情報の符号データを、秘匿データが埋め込まれた画像データの符号データの一部として生成する符号生成手段と
を有するデータ秘匿化装置。
【請求項2】
前記埋め込み手段は、画像データの既定のビット位置を秘匿データで置換することにより、秘匿データをこの画像データに埋め込み、
前記参照情報生成手段は、前記ビット位置が不均一な値で構成されたキー画像と、秘匿データが埋め込まれた画像データとを比較して、このキー画像に対する参照情報を生成する
請求項1に記載のデータ秘匿化装置。
【請求項3】
前記参照情報生成手段は、秘匿データが埋め込まれた画像データに含まれる注目画素の階調データと、注目画素に対応するキー画像上の画素の階調データとを比較して、これらの階調データの差分値を前記参照情報として生成し、
前記符号生成手段は、生成された差分値の符号データを、秘匿データが埋め込まれた画像データの符号データとして生成する
請求項1又は2に記載のデータ秘匿化装置。
【請求項4】
パスワードに基づいて、不均一な値で構成されたデータ列を生成し、生成されたデータ列を前記ビット位置に配置して前記キー画像を生成するキー画像生成手段
をさらに有し、
前記参照情報生成手段は、前記キー画像生成手段により生成されたキー画像を用いて、このキー画像に対する参照情報を生成する
請求項2に記載のデータ秘匿化装置。
【請求項5】
秘匿データが埋め込まれる画像データは、前記キー画像であり、
前記埋め込み手段は、前記キー画像に秘匿データを埋め込み、
前記参照情報生成手段は、秘匿データが埋め込まれたキー画像と、秘匿データが埋め込まれていないキー画像とを比較して、秘匿データが埋め込まれていないキー画像に対する参照情報を生成し、
前記符号生成手段は、生成された参照情報の符号データを、秘匿データが埋め込まれたキー画像の符号データの一部として生成する
請求項1に記載のデータ秘匿化装置。
【請求項6】
秘匿データを秘匿化するデータ秘匿化装置であって、
既定の画像データと、秘匿データとに基づいて、符号化対象データを生成する対象データ生成手段と、
前記対象データ生成手段により生成された符号化対象データと、前記画像データとを比較して、この画像データに対する参照を指定する参照情報を生成する参照情報生成手段と、
前記参照情報手段により生成された参照情報の符号データを、前記符号化対象データの符号データの一部として生成する符号生成手段と
を有するデータ秘匿化装置。
【請求項7】
符号データから秘匿データを抽出する秘匿データ抽出装置であって、
入力された符号データに基づいて、キー画像に含まれる画像データを抽出する参照データ抽出手段と、
前記参照データ抽出手段により抽出された画像データを用いて、復号画像を生成する復号画像生成手段と、
前記復号画像生成手段により生成された復号画像の既定ビット位置から、秘匿データを抽出するビット抽出手段と
を有する秘匿データ抽出装置。
【請求項8】
秘匿データを秘匿化するデータ秘匿化方法であって、
画像データに秘匿データを埋め込み、
秘匿データが埋め込まれた画像データと、既定のキー画像とを比較して、このキー画像に対する参照を指定する参照情報を生成し、
生成された参照情報の符号データを、秘匿データが埋め込まれた画像データの符号データの一部として生成する
データ秘匿化方法。
【請求項9】
秘匿データを秘匿化するデータ秘匿化方法であって、
既定の画像データと、秘匿データとに基づいて、符号化対象データを生成し、
生成された符号化対象データと、前記画像データとを比較して、この画像データに対する参照を指定する参照情報を生成し、
生成された参照情報の符号データを、前記符号化対象データの符号データの一部として生成する
データ秘匿化方法。
【請求項10】
符号データから秘匿データを抽出する秘匿データ抽出方法であって、
入力された符号データに基づいて、キー画像に含まれる画像データを抽出し、
抽出された画像データを用いて、復号画像を生成し、
生成された復号画像の既定ビット位置から、秘匿データを抽出する
秘匿データ抽出方法。
【請求項11】
秘匿データを秘匿化するデータ秘匿化装置において、
画像データに秘匿データを埋め込むステップと、
秘匿データが埋め込まれた画像データと、既定のキー画像とを比較して、このキー画像に対する参照を指定する参照情報を生成するステップと、
生成された参照情報の符号データを、秘匿データが埋め込まれた画像データの符号データの一部として生成するステップと
を前記データ秘匿化装置に実行させるプログラム。
【請求項12】
秘匿データを秘匿化するデータ秘匿化装置において、
既定の画像データと、秘匿データとに基づいて、符号化対象データを生成するステップと、
生成された符号化対象データと、前記画像データとを比較して、この画像データに対する参照を指定する参照情報を生成するステップと、
生成された参照情報の符号データを、前記符号化対象データの符号データの一部として生成するステップと
を前記データ秘匿化装置に実行させるプログラム。
【請求項13】
符号データから秘匿データを抽出する秘匿データ抽出装置において、
入力された符号データに基づいて、キー画像に含まれる画像データを抽出するステップと、
抽出された画像データを用いて、復号画像を生成するステップと、
生成された復号画像の既定ビット位置から、秘匿データを抽出するステップと
を前記秘匿データ抽出装置に実行させるプログラム。
【請求項1】
秘匿データを秘匿化するデータ秘匿化装置であって、
画像データに秘匿データを埋め込む埋め込み手段と、
前記埋め込み手段により秘匿データが埋め込まれた画像データと、既定のキー画像とを比較して、キー画像に対する参照を指定する参照情報を生成する参照情報生成手段と、
前記参照情報手段により生成された参照情報の符号データを、秘匿データが埋め込まれた画像データの符号データの一部として生成する符号生成手段と
を有するデータ秘匿化装置。
【請求項2】
前記埋め込み手段は、画像データの既定のビット位置を秘匿データで置換することにより、秘匿データをこの画像データに埋め込み、
前記参照情報生成手段は、前記ビット位置が不均一な値で構成されたキー画像と、秘匿データが埋め込まれた画像データとを比較して、このキー画像に対する参照情報を生成する
請求項1に記載のデータ秘匿化装置。
【請求項3】
前記参照情報生成手段は、秘匿データが埋め込まれた画像データに含まれる注目画素の階調データと、注目画素に対応するキー画像上の画素の階調データとを比較して、これらの階調データの差分値を前記参照情報として生成し、
前記符号生成手段は、生成された差分値の符号データを、秘匿データが埋め込まれた画像データの符号データとして生成する
請求項1又は2に記載のデータ秘匿化装置。
【請求項4】
パスワードに基づいて、不均一な値で構成されたデータ列を生成し、生成されたデータ列を前記ビット位置に配置して前記キー画像を生成するキー画像生成手段
をさらに有し、
前記参照情報生成手段は、前記キー画像生成手段により生成されたキー画像を用いて、このキー画像に対する参照情報を生成する
請求項2に記載のデータ秘匿化装置。
【請求項5】
秘匿データが埋め込まれる画像データは、前記キー画像であり、
前記埋め込み手段は、前記キー画像に秘匿データを埋め込み、
前記参照情報生成手段は、秘匿データが埋め込まれたキー画像と、秘匿データが埋め込まれていないキー画像とを比較して、秘匿データが埋め込まれていないキー画像に対する参照情報を生成し、
前記符号生成手段は、生成された参照情報の符号データを、秘匿データが埋め込まれたキー画像の符号データの一部として生成する
請求項1に記載のデータ秘匿化装置。
【請求項6】
秘匿データを秘匿化するデータ秘匿化装置であって、
既定の画像データと、秘匿データとに基づいて、符号化対象データを生成する対象データ生成手段と、
前記対象データ生成手段により生成された符号化対象データと、前記画像データとを比較して、この画像データに対する参照を指定する参照情報を生成する参照情報生成手段と、
前記参照情報手段により生成された参照情報の符号データを、前記符号化対象データの符号データの一部として生成する符号生成手段と
を有するデータ秘匿化装置。
【請求項7】
符号データから秘匿データを抽出する秘匿データ抽出装置であって、
入力された符号データに基づいて、キー画像に含まれる画像データを抽出する参照データ抽出手段と、
前記参照データ抽出手段により抽出された画像データを用いて、復号画像を生成する復号画像生成手段と、
前記復号画像生成手段により生成された復号画像の既定ビット位置から、秘匿データを抽出するビット抽出手段と
を有する秘匿データ抽出装置。
【請求項8】
秘匿データを秘匿化するデータ秘匿化方法であって、
画像データに秘匿データを埋め込み、
秘匿データが埋め込まれた画像データと、既定のキー画像とを比較して、このキー画像に対する参照を指定する参照情報を生成し、
生成された参照情報の符号データを、秘匿データが埋め込まれた画像データの符号データの一部として生成する
データ秘匿化方法。
【請求項9】
秘匿データを秘匿化するデータ秘匿化方法であって、
既定の画像データと、秘匿データとに基づいて、符号化対象データを生成し、
生成された符号化対象データと、前記画像データとを比較して、この画像データに対する参照を指定する参照情報を生成し、
生成された参照情報の符号データを、前記符号化対象データの符号データの一部として生成する
データ秘匿化方法。
【請求項10】
符号データから秘匿データを抽出する秘匿データ抽出方法であって、
入力された符号データに基づいて、キー画像に含まれる画像データを抽出し、
抽出された画像データを用いて、復号画像を生成し、
生成された復号画像の既定ビット位置から、秘匿データを抽出する
秘匿データ抽出方法。
【請求項11】
秘匿データを秘匿化するデータ秘匿化装置において、
画像データに秘匿データを埋め込むステップと、
秘匿データが埋め込まれた画像データと、既定のキー画像とを比較して、このキー画像に対する参照を指定する参照情報を生成するステップと、
生成された参照情報の符号データを、秘匿データが埋め込まれた画像データの符号データの一部として生成するステップと
を前記データ秘匿化装置に実行させるプログラム。
【請求項12】
秘匿データを秘匿化するデータ秘匿化装置において、
既定の画像データと、秘匿データとに基づいて、符号化対象データを生成するステップと、
生成された符号化対象データと、前記画像データとを比較して、この画像データに対する参照を指定する参照情報を生成するステップと、
生成された参照情報の符号データを、前記符号化対象データの符号データの一部として生成するステップと
を前記データ秘匿化装置に実行させるプログラム。
【請求項13】
符号データから秘匿データを抽出する秘匿データ抽出装置において、
入力された符号データに基づいて、キー画像に含まれる画像データを抽出するステップと、
抽出された画像データを用いて、復号画像を生成するステップと、
生成された復号画像の既定ビット位置から、秘匿データを抽出するステップと
を前記秘匿データ抽出装置に実行させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公開番号】特開2006−74338(P2006−74338A)
【公開日】平成18年3月16日(2006.3.16)
【国際特許分類】
【出願番号】特願2004−254085(P2004−254085)
【出願日】平成16年9月1日(2004.9.1)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
【公開日】平成18年3月16日(2006.3.16)
【国際特許分類】
【出願日】平成16年9月1日(2004.9.1)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
[ Back to top ]