説明

電子透かし埋込装置及び電子透かし検出装置

【課題】切取耐性の向上と画質劣化の抑制を同時に実現することができるようにする。
【解決手段】電子透かしビットとして0を埋め込む場合、関数値fと0代表値KVの差分Δが閾値Th以上であれば、その差分Δが閾値Th未満になるようにビット埋込対象画像を構成している各画素の画素値を編集するビット埋込処理を実施し、電子透かしビットとして1を埋め込む場合、関数値fと1代表値KVの差分Δが閾値Th以上であれば、その差分Δが閾値Th未満になるようにビット埋込対象画像を構成している各画素の画素値を編集するビット埋込処理を実施する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、例えば、ノイズ混入や画像圧縮に対して、強い耐性を有する電子透かしを画像に埋め込む電子透かし埋込装置と、その電子透かし埋込装置により埋め込まれている電子透かしを検出する電子透かし検出装置とに関するものである。
【背景技術】
【0002】
例えば、以下の特許文献1には、ノイズ混入や画像圧縮に対して、強い耐性を有する電子透かしを画像に埋め込む電子透かし埋込装置が開示されている。
この電子透かし埋込装置では、元画像を構成している画素の部分集合に対して、電子透かしデータを構成している各ビットを割り当てるように構成している。
そして、等間隔に配置されているビット0を表す代表値とビット1を表す代表値のなかで埋め込むビットを表す代表値のうち、当該部分集合を構成している画素群の画素値から算出される関数値と近い方の代表値を選択し、その関数値が当該代表値と一致するように、当該部分集合を構成している画素群の画素値を編集することで電子透かしの埋め込みを行う。
なお、部分集合を構成している画素群の中から、画像特性上、画素値の編集が画質に与える影響が少ないと認められる画素を選択して編集することで、画質の劣化を抑制している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第4271018号(段落番号[0012])
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の電子透かし埋込装置は以上のように構成されているので、あるビットに対応する画素集合を局所的な領域に設ければ、電子透かしデータを構成しているN個のビットのうち、一部のビットが切り取られても、切取を免れたビットを検出すれば、誤り訂正符号などの技術によって、電子透かしデータを構成しているN個のビットの復元が可能になる場合があるが、その局所的な領域が、画像特性上、画素値の編集が画質に与える影響が大きいと認められる場合には、画質が大幅に劣化することになる。一方、あるビットに対応する画素集合を画像全体に散在させれば、切取を免れるビットが大幅に減るため、電子透かしデータの検出が困難になる。このため、画像の一部が切り取られても、電子透かしデータの検出が可能となる特性(切取耐性)の向上と画質劣化の抑制を両立することができない課題があった。
【0005】
この発明は上記のような課題を解決するためになされたもので、切取耐性の向上と画質劣化の抑制を同時に実現することができる電子透かし埋込装置を得ることを目的とする。
また、この発明は、上記の電子透かし埋込装置により埋め込まれている電子透かしを検出することができる電子透かし検出装置を得ることを目的とする。
【課題を解決するための手段】
【0006】
この発明に係る電子透かし埋込装置は、ビット埋込手段が、電子透かしビットとして0を埋め込む場合、関数値算出手段により得られる関数値と代表値設定手段により設定された0代表値の差分が閾値以上であれば、その差分が閾値未満になるように入力画像を構成している各画素の画素値を編集するビット埋込処理を実施し、電子透かしビットとして1を埋め込む場合、関数値算出手段により得られる関数値と代表値設定手段により設定された1代表値の差分が閾値以上であれば、その差分が閾値未満になるように入力画像を構成している各画素の画素値を編集するビット埋込処理を実施し、電子透かしビットを埋め込まない場合、関数値算出手段により得られる関数値と代表値設定手段により設定されたヌル代表値の差分が閾値以上であれば、その差分が閾値未満になるように入力画像を構成している各画素の画素値を編集する処理を実施するようにしたものである。
【発明の効果】
【0007】
この発明によれば、ビット埋込手段が、電子透かしビットとして0を埋め込む場合、関数値算出手段により得られる関数値と代表値設定手段により設定された0代表値の差分が閾値以上であれば、その差分が閾値未満になるように入力画像を構成している各画素の画素値を編集するビット埋込処理を実施し、電子透かしビットとして1を埋め込む場合、関数値算出手段により得られる関数値と代表値設定手段により設定された1代表値の差分が閾値以上であれば、その差分が閾値未満になるように入力画像を構成している各画素の画素値を編集するビット埋込処理を実施し、電子透かしビットを埋め込まない場合、関数値算出手段により得られる関数値と代表値設定手段により設定されたヌル代表値の差分が閾値以上であれば、その差分が閾値未満になるように入力画像を構成している各画素の画素値を編集する処理を実施するように構成したので、切取耐性の向上と画質劣化の抑制を同時に実現することができる効果がある。
【図面の簡単な説明】
【0008】
【図1】この発明の実施の形態1による電子透かし埋込装置を示す構成図である。
【図2】この発明の実施の形態1による電子透かし埋込装置の処理内容を示すフローチャートである。
【図3】入力画像、データ埋込対象画像及びビット埋込対象画像と、関数値算出部3により画素値が加算・減算される領域とを示す説明図である。
【図4】0代表値KV、1代表値KV及びnull代表値KVnullの設定例を示す説明図である。
【図5】この発明の実施の形態2による電子透かし検出装置を示す構成図である。
【図6】この発明の実施の形態2による電子透かし検出装置の処理内容を示すフローチャートである。
【図7】電子透かし検出装置の入力画像の生成例を示す説明図である。
【発明を実施するための形態】
【0009】
実施の形態1.
図1はこの発明の実施の形態1による電子透かし埋込装置を示す構成図である。
図1において、データ埋込対象画像抽出部1は非圧縮輝度画像である入力画像を分割して、1つ以上の局所的な領域の画像(入力画像の部分画像)を取得し、1つ以上の部分画像の中から、電子透かしデータを埋め込む部分画像(以下、「データ埋込対象画像」と称する)を順番に選択して、そのデータ埋込対象画像をビット埋込対象画像抽出部2に出力する処理を実施する。
【0010】
ビット埋込対象画像抽出部2はデータ埋込対象画像抽出部1から出力されたデータ埋込対象画像を分割して、1つ以上の局所的な領域の画像(データ埋込対象画像の部分画像)を取得し、1つ以上の部分画像の中から、電子透かしビットを埋め込む部分画像(以下、「ビット埋込対象画像」と称する)を順番に選択して、そのビット埋込対象画像を関数値算出部3、画質劣化度評価部5及びビット埋込部7に出力する処理を実施する。
なお、データ埋込対象画像抽出部1及びビット埋込対象画像抽出部2から画像分割手段が構成されており、また、データ埋込対象画像抽出部1及びビット埋込対象画像抽出部2から部分画像選択手段が構成されている。
【0011】
関数値算出部3はビット埋込対象画像抽出部2により選択されたビット埋込対象画像を構成している各画素の画素値を加減算する関数の演算を実行して、各画素の画素値の加減算結果を示す関数値fを得る処理を実施する。なお、関数値算出部3は関数値算出手段を構成している。
代表値設定部4は関数値算出部3により演算が実行される関数の関数値fが取り得る値の中で、ビット0を表す代表の値が0代表値KV(例えば、KV=−750,−250,500,1000)、ビット1を表す代表の値が1代表値KV(例えば、KV=−1000,−500,250,750)、null(ヌル)を表す代表の値がnull代表値KVnull(例えば、KVnull=0)として設定されて、0代表値KV、1代表値KV及びnull代表値KVnullを記憶するメモリを内蔵している。なお、代表値設定部4は代表値設定手段を構成している。
図1の例では、代表値設定部4がビット埋込部7と別個に設けられている例を示しているが、ビット埋込部7が代表値設定部4の機能を内蔵していてもよい。
【0012】
画質劣化度評価部5はビット埋込部7によりビット埋込対象画像を構成している各画素の画素値が編集された場合に生じる画質の劣化度を数値化する関数の演算を実行して、その画質劣化度を示す数値fdegをビット埋込部7に出力する処理を実施する。なお、画質劣化度評価部5は画質劣化度算出手段を構成している。
ただし、画質劣化度評価部5から出力された画質劣化度を示す数値fdegが許容範囲を超える劣化を表す場合に、関数値算出部3により得られる関数値fがnull代表値KVnullに近づくように、画質劣化度評価部5により演算が実行される関数と、関数値算出部3により演算が実行される関数とが定義されている。
【0013】
埋込対象ビット抽出部6はデータ埋込対象画像抽出部1から出力されるデータ埋込対象画像に埋め込む例えば48ビットの電子透かしデータを入力し、その電子透かしデータを構成している各ビットからビット埋込対象画像に埋め込む電子透かしビットを抽出し、その電子透かしビットをビット埋込部7に出力する処理を実施する。なお、埋込対象ビット抽出部6は電子透かしビット抽出手段を構成している。
【0014】
ビット埋込部7は埋込対象ビット抽出部6から出力された電子透かしビットがビット0である場合、画質劣化度評価部5から出力された画質劣化度を示す数値fdegが許容範囲内の劣化を表しており、関数値算出部3により得られる関数値fと代表値設定部4のメモリに記憶されている0代表値KVの差分Δ(Δ=|f−KV|)が閾値Th(例えば、Th=10)以上であれば、その差分Δが閾値Th未満になるように、ビット埋込対象画像抽出部2により選択されたビット埋込対象画像を構成している各画素の画素値を編集するビット埋込処理を実施する。
また、ビット埋込部7は埋込対象ビット抽出部6から出力された電子透かしビットがビット1である場合、画質劣化度評価部5から出力された画質劣化度を示す数値fdegが許容範囲内の劣化を表しており、関数値算出部3により得られる関数値fと代表値設定部4のメモリに記憶されている1代表値KVの差分Δ(Δ=|f−KV|)が閾値Th以上であれば、その差分Δが閾値Th未満になるように、ビット埋込対象画像抽出部2により選択されたビット埋込対象画像を構成している各画素の画素値を編集するビット埋込処理を実施する。
【0015】
また、ビット埋込部7は埋込対象ビット抽出部6から出力された電子透かしビットを埋め込まない場合、画質劣化度評価部5から出力された画質劣化度を示す数値fdegが許容範囲内の劣化を表しており、関数値算出部3により得られる関数値fと代表値設定部4のメモリに記憶されているnull代表値KVnullの差分Δnull(Δnull=|f−KVnull|)が閾値Th以上であれば、その差分Δnullが閾値Th未満になるように、ビット埋込対象画像抽出部2により選択されたビット埋込対象画像を構成している各画素の画素値を編集する処理を実施する。
ただし、ビット埋込部7は画質劣化度評価部5から出力された画質劣化度を示す数値fdegが許容範囲を超える劣化を表していれば、差分Δ,差分Δ,差分Δnullが閾値Th以上であっても、ビット埋込対象画像を構成している各画素の画素値を編集するビット埋込処理を実施しない。なお、ビット埋込部7はビット埋込手段を構成している。
この実施の形態1では、画質劣化度を示す数値fdegが許容範囲内の劣化を表している場合に、ビット0を埋め込むか、ビット1を埋め込むか、または、電子透かしを埋め込まない処理をするものについて示すが、画質劣化度を示す数値fdegが許容範囲内の劣化を表している場合に、必ずビット0または1を埋め込むようにすることもできる。
【0016】
ビット埋込対象画像結合部8はビット埋込部7によりビット埋込処理が実施された全てのビット埋込対象画像を結合することで、データ埋込対象画像抽出部1から出力されたデータ埋込対象画像に電子透かしデータが埋め込まれている埋込処理後のデータ埋込対象画像を生成する処理を実施する。
データ埋込対象画像結合部9はビット埋込対象画像結合部8により生成された全てのデータ埋込対象画像を結合することで、入力画像に電子透かしデータが埋め込まれている埋込処理後の入力画像を生成する処理を実施する。
なお、ビット埋込対象画像結合部8及びデータ埋込対象画像結合部9から画像結合手段が構成されている。
【0017】
図1の例では、電子透かし埋込装置の構成要素であるデータ埋込対象画像抽出部1、ビット埋込対象画像抽出部2、関数値算出部3、代表値設定部4、画質劣化度評価部5、埋込対象ビット抽出部6、ビット埋込部7、ビット埋込対象画像結合部8及びデータ埋込対象画像結合部9のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されているものを想定しているが、電子透かし埋込装置がコンピュータで構成される場合、データ埋込対象画像抽出部1、ビット埋込対象画像抽出部2、関数値算出部3、代表値設定部4、画質劣化度評価部5、埋込対象ビット抽出部6、ビット埋込部7、ビット埋込対象画像結合部8及びデータ埋込対象画像結合部9の処理内容を記述しているプログラムをコンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
図2はこの発明の実施の形態1による電子透かし埋込装置の処理内容を示すフローチャートである。
【0018】
次に動作について説明する。
図3は入力画像、データ埋込対象画像及びビット埋込対象画像と、関数値算出部3により画素値が加算・減算される領域とを示す説明図である。
データ埋込対象画像抽出部1は、図3に示すような画像を入力すると、その入力画像を分割して、1つ以上の局所的な領域の画像(入力画像の部分画像)を取得する。
そして、データ埋込対象画像抽出部1は、1つ以上の部分画像の中から、電子透かしデータを埋め込む部分画像を順番に選択し、その部分画像をデータ埋込対象画像として、ビット埋込対象画像抽出部2に出力する(ステップST1)。
【0019】
図3に示す入力画像は、横ピクセルがWin、縦ピクセルがHinである。
この実施の形態1では、入力画像の横ピクセルWinが500ピクセル、縦ピクセルHinが300ピクセルであるとして、その入力画像を横ピクセルWdataが192ピクセル、縦ピクセルHdataが144ピクセルの長方形の領域(部分画像)に分割して、その入力画像の左上からラスタースキャン順に1つずつ部分画像を選択するものとする。
【0020】
図3の例では、横ピクセルWdataが192ピクセル、縦ピクセルHdataが144ピクセルの部分画像が4個生成され、入力画像の右辺に接する位置に存在している横ピクセルWdataが116ピクセル、縦ピクセルHdataが144ピクセルの部分画像が2個生成される。
また、入力画像の下辺に接する位置に存在している横ピクセルWdataが192ピクセル、縦ピクセルHdataが12ピクセルの部分画像が2個生成され、入力画像の右下の位置に存在している横ピクセルWdataが116ピクセル、縦ピクセルHdataが12ピクセルの部分画像が1個生成される。
これにより、合計9個の部分画像が生成され、入力画像の左上の位置に存在している部分画像が最初にデータ埋込対象画像として選択され、残りの8個の部分画像がラスタースキャン順にデータ埋込対象画像として順次選択される。
【0021】
ビット埋込対象画像抽出部2は、データ埋込対象画像抽出部1から図3に示すようなデータ埋込対象画像を受けると、そのデータ埋込対象画像を分割して、1つ以上の局所的な領域の画像(データ埋込対象画像の部分画像)を取得する。
そして、ビット埋込対象画像抽出部2は、1つ以上の部分画像の中から、電子透かしビットを埋め込む部分画像を順番に選択し、その部分画像をビット埋込対象画像として、関数値算出部3、画質劣化度評価部5及びビット埋込部7に出力する(ステップST2)。
【0022】
図3の例では、データ埋込対象画像を横ピクセルWbitが24ピクセル、縦ピクセルHbitが24ピクセルの正方形の領域に分割することで、横ピクセルWbitが最大24ピクセル、縦ピクセルHbitが最大24ピクセルの部分画像が最大48個生成される。
データ埋込対象画像の左上の位置に存在している部分画像が最初にビット埋込対象画像として選択され、残りの部分画像がラスタースキャン順にビット埋込対象画像として順次選択される。
【0023】
埋込対象ビット抽出部6は、データ埋込対象画像抽出部1から出力されるデータ埋込対象画像に埋め込む48ビットの電子透かしデータを入力すると、その電子透かしデータを構成している各ビットからビット埋込対象画像に埋め込む電子透かしビットを抽出し、その電子透かしビットをビット埋込部7に出力する(ステップST3)。
図3の例では、データ埋込対象画像に含まれている各ビット埋込対象画像は、データ埋込対象画像の左端から、横方向に第24x+1ピクセル〜第24x+24ピクセル(0≦x≦7)の位置に存在しており、かつ、データ埋込対象画像の上端から、縦方向に第24y+1ピクセル〜第24y+24ピクセル(0≦y≦5)の位置に存在している。
【0024】
このため、例えば、データ埋込対象画像に含まれている各ビット埋込対象画像に埋め込む電子透かしビットを、電子透かしデータの第x+8y+1ビットとすると、例えば、横方向に第1ピクセル〜第24ピクセル(x=0)の位置に存在し、かつ、縦方向に第1ピクセル〜第24ピクセル(y=0)の位置に存在しているビット埋込対象画像には、電子透かしデータの第1ビット(=0+8×0+1)を割り当てることになる。
また、例えば、横方向に第49ピクセル〜第72ピクセル(x=2)の位置に存在し、かつ、縦方向に第73ピクセル〜第96ピクセル(y=3)の位置に存在しているビット埋込対象画像には、電子透かしデータの第27(=2+8×3+1)ビットを割り当てることになる。
【0025】
関数値算出部3は、ビット埋込対象画像抽出部2がビット埋込対象画像を選択すると、そのビット埋込対象画像を構成している各画素の画素値を加減算する関数の演算を実行して、各画素の画素値の加減算結果を示す関数値fを算出し、その関数値fをビット埋込部7に出力する(ステップST4)。
図3の例では、ビット埋込対象画像を構成している画素のうち、濃い灰色で示している画素が集まっている領域を加算対象領域、薄い灰色で示している画素が集まっている領域を減算対象領域とし、その加算対象領域内の全ての画素の画素値を加算する一方、その減算対象領域内の全ての画素の画素値を減算することで、関数値fを算出している。
【0026】
即ち、ビット埋込対象画像の左から第xピクセル(1≦x≦24)、上から第yピクセル(1≦y≦24)の画素値をfbit(x,y)とすると、関数値fは、下記の式(1)のように算出される。

=g( 1,13)+g( 3, 1)+g( 4,20)+g( 7, 7)
+g( 8,12)+g(16,21)+g(17, 9)+g(17,16)
+g(20, 2)+g(21,21)
−g( 1, 9)−g( 3, 5)−g( 8,16)−g( 8,20)
−g(11, 7)−g(12,21)−g(13,16)−g(16, 2)
−g(21, 9)−g(21,17)
(1)
【0027】
式(1)のfにおけるg(x,y)は、下記の式(2)または式(3)のように表される。
g(x,y)
=fbit( x, y)+fbit( x,y+1)
+fbit( x,y+2)+fbit( x,y+3)
+fbit(x+1, y)+fbit(x+1,y+1)
+fbit(x+1,y+2)+fbit(x+1,y+3)
+fbit(x+2, y)+fbit(x+2,y+1)
+fbit(x+2,y+2)+fbit(x+2,y+3)
+fbit(x+3, y)+fbit(x+3,y+1)
+fbit(x+3,y+2)+fbit(x+3,y+3) (2)
【0028】
g(x,y)
=(fbit( x, y)+fbit( x,y+1)
+fbit( x,y+2)+fbit( x,y+3)
+fbit(x+1, y)+fbit(x+1,y+1)
+fbit(x+1,y+2)+fbit(x+1,y+3)
+fbit(x+2, y)+fbit(x+2,y+1)
+fbit(x+2,y+2)+fbit(x+2,y+3)
+fbit(x+3, y)+fbit(x+3,y+1)
+fbit(x+3,y+2)+fbit(x+3,y+3))/16 (3)
【0029】
ただし、ビット埋込対象画像の横サイズ又は縦サイズが24未満であるために、存在しない画素がある場合、そのような画素の画素値fbit(x,y)を“0”として、式(1)を適用するものとする。
【0030】
関数値算出部3では、上述したように、ビット埋込対象画像を構成している各画素の画素値を加減算する関数の演算を実行するが、その関数の関数値fが取り得る値の範囲は有限であり、その関数の関数値fが取り得る値の中で、ビット0を表す代表の値が0代表値KV、ビット1を表す代表の値が1代表値KV、null(ヌル)を表す代表の値がnull代表値KVnullとして、予め、代表値設定部4に設定されている。
図4は0代表値KV、1代表値KV及びnull代表値KVnullの設定例を示す説明図である。
図4の例では、0代表値KVが“−750”,“−250”,“500”,“1000”、1代表値KVが“−1000”,“−500”,“250”,“750”、null代表値KVnullが“0”に設定されている。
【0031】
画質劣化度評価部5は、ビット埋込対象画像抽出部2がビット埋込対象画像を選択すると、後述するビット埋込部7によりビット埋込対象画像を構成している各画素の画素値が編集された場合に生じる画質の劣化度を数値化する関数の演算を実行して、その画質劣化度を示す数値fdegを算出し、その画質劣化度を示す数値fdegをビット埋込部7に出力する(ステップST5)。
例えば、ビット埋込対象画像の左から第xピクセル(1≦x≦24)、上から第yピクセル(1≦y≦24)の画素値をfbit(x,y)とすると、画質劣化度を示す数値fdegは、下記の式(4)のように算出される。
deg
=Σx∈[1,6]Σy∈[1,6]|fbit(4x,4y)−fbit(4x−2,4y−2)|
(4)
ただし、ビット埋込対象画像の横サイズ又は縦サイズが24未満であるために、存在しない画素がある場合、そのような画素の画素値fbit(x,y)を“0”として、式(4)を適用するものとする。
【0032】
式(4)のように画質劣化度を示す数値fdegを算出すると、ビット埋込対象画像内で画素値の変化が激しい場合には、画質劣化度を示す数値fdegが大きくなり、画素値の変化が緩やかな場合には、画質劣化度を示す数値fdegが小さくなる。
一般に、単調な画像は画素値を編集した際の画質劣化が目立ち易いことが知られており、式(4)のように画質劣化度を示す数値fdegを定義すると、画質劣化度を示す数値fdegが小さい程、画質劣化が目立ち易いことを意味する。
ただし、画質劣化度評価部5から出力された画質劣化度を示す数値fdegが許容範囲を超える劣化を表す場合に、関数値算出部3により得られる関数値fがnull代表値KVnullに近づくように(f≒KVnull=0)、画質劣化度評価部5により演算が実行される関数と、関数値算出部3により演算が実行される関数とが定義されている。
例えば、画質劣化度を示す数値fdegは、画素値のバリエーションが小さいビット埋込対象画像の場合に小さな値となるように定義されている。
【0033】
ビット埋込部7は、画質劣化度評価部5から出力された画質劣化度を示す数値fdegが許容範囲内の劣化を表していれば(数値fdegが予め設定されている閾値S以上の場合)、電子透かしビットをビット埋込対象画像に埋め込んでも、大きな画質劣化がないと判断し、ビット埋込対象画像抽出部2により選択されたビット埋込対象画像に対して、埋込対象ビット抽出部6から出力された電子透かしビットを埋め込むビット埋込処理を実施する(ステップST6)。
一方、画質劣化度評価部5から出力された画質劣化度を示す数値fdegが許容範囲を超える劣化を表していれば(数値fdegが予め設定されている閾値Sに満たない場合)、電子透かしビットをビット埋込対象画像に埋め込むと、大きな画質劣化が生じると判断し、ビット埋込対象画像抽出部2により選択されたビット埋込対象画像に対する電子透かしビットのビット埋込処理を実施せずに、そのビット埋込対象画像をそのままビット埋込処理後のビット埋込対象画像として、ビット埋込対象画像結合部8に出力する。
なお、閾値Sは、画質劣化を許容する程度に応じて、ユーザが任意に設定することができるものとする。
【0034】
以下、画質劣化度評価部5から出力された画質劣化度を示す数値fdegが許容範囲内の劣化を表している場合のビット埋込部7の具体的なビット埋込処理を説明する。
(1)埋込対象ビット抽出部6から出力された電子透かしビットがビット0である場合
ビット埋込部7は、下記の式(5)に示すように、関数値算出部3により得られる関数値fと代表値設定部4のメモリに記憶されている0代表値KVの差分Δを算出する。
Δ=|f−KV| (5)
ただし、0代表値KVは、図4に示すように、複数個設定されているので(例えば、−750,−250,500,1000)、複数個の0代表値KVの中から、関数値fに最も近い0代表値KVを選択して、式(5)を算出する。
例えば、関数値fが“740”であれば、“500”の0代表値KVを選択し、関数値fが“760”であれば、“1000”の0代表値KVを選択して、式(5)を算出する。
【0035】
ビット埋込部7は、式(5)を算出すると、差分Δと予め設定されている閾値Th(例えば、Th=10)を比較し、その差分Δが閾値Th以上であれば(Δ≧Th)、その差分Δが閾値Th未満になるように、ビット埋込対象画像抽出部2により選択されたビット埋込対象画像を構成している各画素の画素値を編集するビット埋込処理を実施する。
例えば、“500”の0代表値KVを選択していれば、関数値fが“500”になるように、ビット埋込対象画像を構成している各画素の画素値を編集する。あるいは、閾値Thが“10”であれば、関数値fが、490<f<510の範囲内になるように、ビット埋込対象画像を構成している各画素の画素値を編集する。
なお、その差分Δが閾値Th未満であれば(Δ<Th)、ビット埋込対象画像を構成している各画素の画素値を編集しなくても、後述する電子透かし検出装置において、当該ビット埋込対象画像からビット0の電子透かしビットを正確に検出することができるので、ビット埋込対象画像を構成している各画素の画素値を編集しない。
ここでは、差分Δが閾値Th未満であれば(Δ<Th)、ビット埋込対象画像を構成している各画素の画素値を編集しない例を示しているが、差分Δが閾値Th未満であっても、なるべく関数値fが0代表値KVに近くなるように画素値を編集するように実装することも可能である。
【0036】
(2)埋込対象ビット抽出部6から出力された電子透かしビットがビット1である場合
ビット埋込部7は、下記の式(6)に示すように、関数値算出部3により得られる関数値fと代表値設定部4のメモリに記憶されている1代表値KVの差分Δを算出する。
Δ=|f−KV| (6)
ただし、1代表値KVは、図4に示すように、複数個設定されているので(例えば、−1000,−500,250,750)、複数個の1代表値KVの中から、関数値fに最も近い1代表値KVを選択して、式(6)を算出する。
例えば、関数値fが“510”であれば、“750”の1代表値KVを選択し、関数値fが“490”であれば、“250”の1代表値KVを選択して、式(6)を算出する。
【0037】
ビット埋込部7は、式(6)を算出すると、差分Δと予め設定されている閾値Th(例えば、Th=10)を比較し、その差分Δが閾値Th以上であれば(Δ≧Th)、その差分Δが閾値Th未満になるように、ビット埋込対象画像抽出部2により選択されたビット埋込対象画像を構成している各画素の画素値を編集するビット埋込処理を実施する。
例えば、関数値fが“320”であれば、その関数値fが“250”になるように、ビット埋込対象画像を構成している各画素の画素値を編集する。あるいは、閾値Thが“10”であれば、関数値fが、240<f<260の範囲内になるように、ビット埋込対象画像を構成している各画素の画素値を編集する。
【0038】
ただし、電子透かしビットがビット1である場合、ビット埋込対象画像を構成している各画素の画素値を編集する際、関数値fに影響を与える画素(ビット埋込対象画像内の濃い灰色で示されている画素(加算対象領域内の画素)、または、薄い灰色で示されている画素(減算対象領域内の画素))を編集する。
例えば、関数値fに影響を与える画素のうち、左上の画素から順番に画素値を1ずつ増減させる編集を行う。
即ち、関数値fを増加することによって1代表値KVに近付ける場合、濃い灰色で示されている画素(加算対象領域内の画素)の画素値を1加算して、薄い灰色で示されている画素(減算対象領域内の画素)の画素値を1減算する処理を繰り返し実施する。
一方、関数値fを減少することによって1代表値KVに近付ける場合、濃い灰色で示されている画素の画素値を1減算して、薄い灰色で示されている画素の画素値を1加算する処理を繰り返し実施する。
【0039】
なお、その差分Δが閾値Th未満であれば(Δ<Th)、ビット埋込対象画像を構成している各画素の画素値を編集しなくても、後述する電子透かし検出装置において、当該ビット埋込対象画像からビット1の電子透かしビットを正確に検出することができるので、ビット埋込対象画像を構成している各画素の画素値を編集しない。
ここでは、差分Δが閾値Th未満であれば(Δ<Th)、ビット埋込対象画像を構成している各画素の画素値を編集しない例を示しているが、差分Δが閾値Th未満であっても、なるべく関数値fが1代表値KVに近くなるように画素値を編集するように実装することも可能である。
【0040】
(3)埋込対象ビット抽出部6から出力された電子透かしビットを埋め込まない場合
ビット埋込部7は、下記の式(7)に示すように、関数値算出部3により得られる関数値fと代表値設定部4のメモリに記憶されているnull代表値KVnullの差分Δnullを算出する。
Δnull=|f−KVnull| (7)
ビット埋込部7は、式(7)を算出すると、差分Δnullと予め設定されている閾値Th(例えば、Th=10)を比較し、その差分Δnullが閾値Th以上であれば(Δnull≧Th)、その差分Δnullが閾値Th未満になるように、ビット埋込対象画像抽出部2により選択されたビット埋込対象画像を構成している各画素の画素値を編集する処理を実施する。
【0041】
例えば、関数値fが“80”であれば、その関数値fが“0”になるように、ビット埋込対象画像を構成している各画素の画素値を編集する。あるいは、閾値Thが“10”であれば、関数値fが、−10<f<10の範囲内になるように、ビット埋込対象画像を構成している各画素の画素値を編集する。
なお、その差分Δnullが閾値Th未満であれば(Δnull<Th)、ビット埋込対象画像を構成している各画素の画素値を編集しなくても、後述する電子透かし検出装置において、当該ビット埋込対象画像からnullを正確に検出することができるので、ビット埋込対象画像を構成している各画素の画素値を編集しない。
【0042】
ビット埋込部7は、画質劣化度評価部5から出力された画質劣化度を示す数値fdegが許容範囲を超える劣化を表していれば(数値fdegが予め設定されている閾値Sに満たない場合)、上述したように、ビット埋込対象画像に対する電子透かしビットのビット埋込処理を実施しない。
しかし、ビット埋込部7からビット埋込対象画像結合部8に出力されるビット埋込処理後のビット埋込対象画像において、関数値fがnull代表値KVnullと一致しているか、あるいは、null代表値KVnullと近い値になっている必要があるが、上述したように、その画質劣化度を示す数値fdegが許容範囲を超える劣化を表す場合に、関数値算出部3により得られる関数値fがnull代表値KVnullに近づくように(f≒KVnull=0)、画質劣化度評価部5により演算が実行される関数と、関数値算出部3により演算が実行される関数とが定義されているので、その画質劣化度を示す数値fdegが許容範囲を超える劣化を表している場合、やはり、ビット埋込処理を実施する必要がない。
【0043】
なお、あるビット埋込対象画像において、画質劣化度を示す数値fdegが小さい場合(予め設定されている閾値Sに満たない場合)、関数値算出部3により得られる関数値fがnull代表値KVnullに近づく理由は、画質劣化度を示す数値fdegが、画素値のバリエーションが小さいビット埋込対象画像の場合に小さな値となるように定義されており、そのような性質の画像の場合、関数値fが“0”に近い値を取るからである。
即ち、図3に示すビット埋込対象画像において、関数値fを算出する際の加算対象領域と減算対象領域が必ず隣接しており、また、加算対象領域内の画素の数と減算対象領域内の画素の数が同数であるため、関数値fを算出する際に加算対象領域の画素値の総和と、減算対象領域の画素値の総和とが互いに打ち消し合うように作用する。
このため、関数値fが“0”に近い値になる。極端な例として、画素値が全て同一である完全に単調なビット埋込対象画像では、関数値fと画質劣化度を示す数値fdegの双方が“0”になることを考えると理解が容易である。
【0044】
ステップST2〜ST6までの処理は、ビット埋込対象画像抽出部2により全てのビット埋込対象画像が選択されて、ビット埋込部7から全てのビット埋込処理後のビット埋込対象画像がビット埋込対象画像結合部8に出力されるまで繰り返し実施される(ステップST7)。
ビット埋込対象画像結合部8は、ビット埋込部7からビット埋込処理後のビット埋込対象画像を受ける毎に、そのビット埋込対象画像をラスタースキャン順に並べて、全てのビット埋込対象画像を結合することで、データ埋込対象画像抽出部1から出力されたデータ埋込対象画像に電子透かしデータが埋め込まれている埋込処理後のデータ埋込対象画像を生成する(ステップST8)。
【0045】
ステップST1〜ST8までの処理は、データ埋込対象画像抽出部1により全てのデータ埋込対象画像が選択されて、ビット埋込対象画像結合部8から全ての埋込処理後のデータ埋込対象画像がデータ埋込対象画像結合部9に出力されるまで繰り返し実施される(ステップST9)。
データ埋込対象画像結合部9は、ビット埋込対象画像結合部8から埋込処理後のデータ埋込対象画像を受ける毎に、そのデータ埋込対象画像をラスタースキャン順に並べて、全てのデータ埋込対象画像を結合することで、入力画像に電子透かしデータが埋め込まれている埋込処理後の入力画像を生成する(ステップST10)。
【0046】
以上で明らかなように、この実施の形態1によれば、ビット埋込部7が、電子透かしビットとして0を埋め込む場合、関数値算出部3により得られる関数値fと代表値設定部4により設定された0代表値KVの差分Δが閾値Th以上であれば、その差分Δが閾値Th未満になるようにビット埋込対象画像を構成している各画素の画素値を編集するビット埋込処理を実施し、電子透かしビットとして1を埋め込む場合、関数値算出部3により得られる関数値fと代表値設定部4により設定された1代表値KVの差分Δが閾値Th以上であれば、その差分Δが閾値Th未満になるようにビット埋込対象画像を構成している各画素の画素値を編集するビット埋込処理を実施し、電子透かしビットを埋め込まない場合、関数値算出部3により得られる関数値fと代表値設定部4により設定されたnull代表値KVnullの差分Δnullが閾値Th以上であれば、その差分Δnullが閾値Th未満になるようにビット埋込対象画像を構成している各画素の画素値を編集する処理を実施するように構成したので、切取耐性の向上と画質劣化の抑制を同時に実現することができる効果を奏する。
【0047】
即ち、この実施の形態1では、データ埋込対象画像抽出部1が入力画像を等間隔に分割し、横192ピクセル、縦144ピクセルの部分画像に対して、48ビットの電子透かしデータを繰返し埋め込んでいる。そのため、仮に電子透かしデータを埋め込んでいる入力画像が切取編集されても、横383ピクセル、縦287ピクセルの画像が残されていれば、必ず、その画像の中にデータ埋込対象画像の全体が含まれるため、入力画像の全体に電子透かしデータの各ビットを埋め込む従来の電子透かし埋込装置と比べて、埋込処理後の入力画像が切り取られた場合の電子透かしデータの検出可能性(切取耐性)を高めることができる。
【0048】
また、この実施の形態1では、ビット埋込対象画像抽出部2がデータ埋込対象画像抽出部1により選択されたデータ埋込対象画像を等間隔に分割し、横24ピクセル、縦24ピクセルの48個の部分画像に対して、相互に異なる48個の電子透かしビットを埋め込んでいる。そのため、仮に電子透かしビットを埋め込んでいる入力画像が切取編集されても、横215ピクセル、縦167ピクセルの画像が残されていれば、必ず、その画像の中に48個の異なる電子透かしビットに対応するビット埋込対象画像が含まれるため、入力画像の全体に48個の電子透かしビットを埋め込む従来の電子透かし埋込装置と比べて、埋込処理後の入力画像が切り取られた場合の電子透かしビットの検出可能性(切取耐性)を高めることができる。
【0049】
この実施の形態1によれば、埋込対象ビット抽出部6が、48ビットの電子透かしデータを構成している各ビットから埋込対象の電子透かしビットを抽出し、その電子透かしビットをビット埋込部7に出力するように構成しているので、48個の電子透かしビットが検出されれば、埋め込んだ電子透かしデータを復元することができる効果を奏する。
即ち、入力画像の全体に電子透かしデータを埋め込む従来の電子透かし埋込装置と比べて、埋込処理後の入力画像が切り取られた場合の電子透かしデータの検出可能性(切取耐性)を高めることができる。
【0050】
また、この実施の形態1によれば、画質劣化度評価部5から出力された画質劣化度を示す数値fdegが許容範囲を超える劣化を表す場合に、関数値算出部3により得られる関数値fがnull代表値KVnullに近づくように、画質劣化度評価部5により演算が実行される関数と、関数値算出部3により演算が実行される関数とが定義されているように構成したので、即ち、画質劣化度評価部5から出力された画質劣化度を示す数値fdegが許容範囲を超える劣化を表すとき、ビット埋込対象画像を構成している各画素の画素値を編集しなくても、関数値fがnull代表値KVnullに近い値になる可能性が高い関係が成立するように、画質劣化度評価部5により演算が実行される関数と、関数値算出部3により演算が実行される関数とを定義しているので、ビット埋込対象画像が、画素値を変化させると大きな画質劣化を伴う場合(画質劣化度を示す数値fdegが0に近い値である場合)、ビット埋込対象画像を構成している各画素の画素値を編集せずに、埋込無しの状態を表現することができる。
このため、画素値を編集することによる画質劣化の危険性が高いビット埋込対象画像を一切編集しなくても、後述する電子透かし検出装置側で、そのビット埋込対象画像に電子透かしビットが埋め込まれていない可能性が高いことを判断することができる。よって、画質劣化を抑制した上で、検出への悪影響を抑えることができる。
【0051】
なお、この実施の形態1では、データ埋込対象画像抽出部1が入力画像を分割して、横192ピクセル、縦144ピクセルのデータ埋込対象画像を順次選択するものについて示したが、入力画像の分割サイズを変更して、他のサイズのデータ埋込対象画像を順次選択するようにしてもよい。
例えば、横96ピクセル、縦144ピクセルのデータ埋込対象画像を選択するようにしてもよい。
この場合、ビット埋込対象画像抽出部2が選択するビット埋込対象画像のサイズを、例えば、横24ピクセル、縦12ピクセルとすれば、1個のデータ埋込対象画像内に48個のビット埋込対象画像を用意することができるため、48ビットの電子透かしデータを埋め込むことができる。
【0052】
また、データ埋込対象画像やビット埋込対象画像のサイズを小さくすることもできる。
データ埋込対象画像のサイズを小さくすると、同一ビットを埋め込む領域の繰り返しが頻繁になるため、埋込処理後の入力画像が小さく切り取られても、電子透かしデータの全ビットを検出できる可能性を高めることができる。
このように、データ埋込対象画像抽出部1は、任意のサイズのデータ埋込対象画像を選択するように構成することが可能である。
【0053】
また、この実施の形態1では、ビット埋込対象画像抽出部2がデータ埋込対象画像を分割して、横24ピクセル、縦24ピクセルのビット埋込対象画像を順次選択するものについて示したが、データ埋込対象画像の分割サイズを変更して、他のサイズのビット埋込対象画像を順次選択するようにしてもよい。
例えば、横12ピクセル、縦24ピクセルのビット埋込対象画像を選択するようにしてもよい。
この場合、データ埋込対象画像抽出部1が選択するデータ埋込対象画像が横192ピクセル、縦144ピクセルである場合、1個のデータ埋込対象画像内に96個のビット埋込対象画像を用意することができるため、データ埋込対象画像に埋め込む電子透かしデータのビット数を96ビットにすることができる。
【0054】
ビット埋込対象画像のサイズを小さくすると、埋め込むことが可能な電子透かしデータのデータ量を増やすことができる。
このように、ビット埋込対象画像抽出部2は、任意のサイズのビット埋込対象画像を選択するように構成することが可能である。
また、電子透かしデータのビット数、データ埋込対象画像のサイズ及びビット埋込対象画像のサイズは、互いに適切に設定すれば、任意とすることができる。
【0055】
この実施の形態1では、埋込対象ビット抽出部6が、データ埋込対象画像において、横方向に左端から第24x+1ピクセル〜第24x+24ピクセルの位置にあり、かつ、縦方向に上端から第24y+1ピクセル〜第24y+24ピクセルの位置にあるビット埋込対象画像に対して、電子透かしデータの第x+8y+1ビット(0≦x≦7、0≦y≦5)を割り当てるものについて示したが、上記のビット埋込対象画像に対して、電子透かしデータの他のビットを割り当てるようにしてもよい。
【0056】
例えば、上記のビット埋込対象画像に割り当てる電子透かしデータの各ビットを逆順にしてもよいし、疑似乱数により生成されたマッピングルールに基づいて、電子透かしデータの各ビットを割り当てるようにしてもよい。
あるいは、48ビットの電子透かしデータを暗号化して、48ビットの暗号化データを生成し、上記のビット埋込対象画像に対して、暗号化データの各ビットを割り当てるようにしてもよい。
このように、埋込対象ビット抽出部6は、電子透かしデータの各ビットから、埋め込む電子透かしビットを決定して、埋込先のビット埋込対象画像に割り当てるならば、任意の構成とすることができる。
【0057】
この実施の形態1では、画質劣化度評価部5が、画質の劣化度を数値化する関数として、式(4)を計算することで、画質劣化度を示す数値fdegを算出するものについて示したが、画質の劣化度を数値化する関数であればよく、式(4)以外の計算を行うことで、画質劣化度を示す数値fdegを算出するようにしてもよい。
例えば、ビット埋込対象画像の全画素値の標準偏差を算出する関数を用いることができる。
標準偏差は、画素値が均一に近い場合に“0”に近い正数となり、画素値が様々な値を取る場合に大きな正数になる。したがって、電子透かしビットを埋め込んだときに生じる画質劣化の度合を表す指標として、標準偏差を使用することができる。
画質劣化度を示す数値fdegとして、ビット埋込対象画像の全画素値の標準偏差を算出する場合、その標準偏差が小さい程、画質劣化が目立ち易いことを意味する。
ここでは、画質劣化度を示す数値fdegとして、ビット埋込対象画像の全画素値の標準偏差を算出するものについて示したが、画質劣化度を示す数値fdegが大きい程、画質劣化が目立ち易いことを意味する数式を用いてもよい。
このように、画質劣化度評価部5は、画素値が変更された場合に画質が劣化する度合を推量する任意の数式により、画質劣化度を算出する構成とすることができる。
【0058】
また、この実施の形態1では、関数値算出部3が、ビット埋込対象画像を構成している各画素の画素値を加減算する関数として、式(1)を計算することで、各画素の画素値の加減算結果を示す関数値fを算出するものについて示したが、各画素の画素値を加減算する関数であればよく、式(1)以外の計算を行うことで、各画素の画素値の加減算結果を示す関数値fを算出するようにしてもよい。
ただし、図1の電子透かし埋込装置が有効に機能するためには、画質劣化度評価部5から出力された画質劣化度を示す数値fdegが許容範囲を超える劣化を表していれば、関数値fが、高い確率で特定の値(特定の値は、必ずしも“0”でなくてもよいし、1種類でなくてもよい)に近い値となる性質を満たす必要がある。
【0059】
例えば、画質劣化度を示す数値fdegが予め設定されている閾値Sに満たない場合、高い確率で“100”付近、または、“−100”付近に、関数値fが集中する特性を持つ関数は、関数値算出部3で使用することが可能である。
この場合、図1の電子透かし埋込装置が有効に機能するためには、代表値設定部4が、null代表値KVnullを“100”と“−100”に設定し、“100”より大きな値、“−100”より小さな値、“−100”と“100”の間の値において、0代表値KVと1代表値KVとの間隔がほぼ均等になるように、0代表値KVと1代表値KVを設定する必要がある。
このように、ビット埋込部7及び画質劣化度評価部5と連携し、適切に代表値の設定及び画質劣化度を評価する関数の設定がなされるならば、関数値算出部3は、関数値fを算出するための関数として、任意の数式を用いる構成とすることができる。
【0060】
この実施の形態1では、データ埋込対象画像抽出部1及びビット埋込対象画像抽出部2が、ラスタースキャン順に部分画像を選択するものについて示したが、部分画像の選択順序は任意の順序でよい。また、複数の部分画像を同時に選択し、後段の処理部が、複数の部分画像について、並列に処理を実行するようにしてもよい。
【0061】
また、この実施の形態1では、関数値算出部3が関数値fを算出する際や、画質劣化度評価部5が画質劣化度を示す数値fdegを算出する際に、計算に使用する画素が存在しない場合、その画素の画素値を“0”と評価して算出するものについて示したが、これは、ビット埋込対象画像の横サイズ又は縦サイズが、24ピクセルの倍数でない場合には、24ピクセルの倍数になるように、右側又は下側を画素値“0”の画素でパディングすることと等価である。
この場合、ビット埋込対象画像抽出部2から出力されたビット埋込対象画像の右側及び下側を必要に応じてパディングし、ビット埋込部7から出力された埋込処理後のビット埋込対象画像のパディング部分を削除することにより実現される。
【0062】
これにより、縦横共に24ピクセルの倍数の場合に用いる関数値算出部3、画質劣化度評価部5及びビット埋込部7を、横サイズ又は縦サイズが24ピクセルに満たないビット埋込対象画像にも活用することができる。
この他に、横サイズ又は縦サイズが24ピクセルに満たないビット埋込対象画像は、電子透かしビットの埋込対象から外す実装が考えられる。この場合は、電子透かし検出装置においても、横サイズ又は縦サイズが24ピクセルに満たないビット埋込対象画像は、電子透かしビットの埋込対象から外す実装とすることで、問題なく検出処理を行うことができる。
【0063】
また、この実施の形態1では、入力画像が非圧縮輝度画像(非圧縮モノクロ画像)である例を示したが、これに限るものではなく、例えば、入力画像が非圧縮カラー画像であってもよい。
入力画像が非圧縮カラー画像である場合、非圧縮カラー画像がYCbCr形式であれば、Y、Cb、Crのうちの1コンポーネントに対して、図1の電子透かし埋込装置を適用すればよい。
また、非圧縮カラー画像がRGB形式であれば、R、G、Bのうちの1コンポーネントに対して、図1の電子透かし埋込装置を適用すればよい。
この実施の形態1では、圧縮されている画像(符号化されている画像)に対して、電子透かしデータを埋め込むこともできる。この場合は、一旦、圧縮を解いて(復号)、非圧縮画像(復号画像)にしてから、上記の手続きで、電子透かしデータを埋め込めばよい。
【0064】
実施の形態2.
図5はこの発明の実施の形態2による電子透かし検出装置を示す構成図である。
図5において、データ検出対象画像抽出部11は図1のデータ埋込対象画像抽出部1と同様の機能を備えており、図1の電子透かし埋込装置により電子透かしデータが埋め込まれている入力画像を分割して、1つ以上の局所的な領域の画像(入力画像の部分画像)を取得し、1つ以上の部分画像の中から、電子透かしデータを検出する部分画像(以下、「データ検出対象画像」と称する)を順番に選択して、そのデータ検出対象画像をビット検出対象画像抽出部12に出力する処理を実施する。
【0065】
ビット検出対象画像抽出部12は図1のビット埋込対象画像抽出部2と同様の機能を備えており、データ検出対象画像抽出部11から出力されたデータ検出対象画像を分割して、1つ以上の局所的な領域の画像(データ検出対象画像の部分画像)を取得し、1つ以上の部分画像の中から、電子透かしビットを検出する部分画像(以下、「ビット検出対象画像」と称する)を順番に選択して、そのビット検出対象画像を関数値算出部13及びビット検出部15に出力する処理を実施する。
なお、データ検出対象画像抽出部11及びビット検出対象画像抽出部12から画像分割手段が構成されており、また、データ検出対象画像抽出部11及びビット検出対象画像抽出部12から部分画像選択手段が構成されている。
【0066】
関数値算出部13は図1の関数値算出部3と同様の機能を備えており、ビット検出対象画像抽出部12により選択されたビット検出対象画像を構成している各画素の画素値を加減算する関数の演算を実行して、各画素の画素値の加減算結果を示す関数値fを得る処理を実施する。なお、関数値算出部13は関数値算出手段を構成している。
【0067】
代表値設定部14は図1の代表値設定部4と同様に、関数値算出部13により演算が実行される関数の関数値fが取り得る値の中で、ビット0を表す代表の値が0代表値KV(例えば、KV=−750,−250,500,1000)、ビット1を表す代表の値が1代表値KV(例えば、KV=−1000,−500,250,750)、null(ヌル)を表す代表の値がnull代表値KVnull(例えば、KVnull=0)として設定されて、0代表値KV、1代表値KV及びnull代表値KVnullを記憶するメモリを内蔵している。なお、代表値設定部14は代表値設定手段を構成している。
図5の例では、代表値設定部14がビット検出部15と別個に設けられている例を示しているが、ビット検出部15が代表値設定部14の機能を内蔵していてもよい。
【0068】
ビット検出部15は代表値設定部14により設定されている0代表値KV、1代表値KV及びnull代表値KVnullの中で、関数値算出部13により得られる関数値fと最も近い代表値を選択し、その代表値が0代表値KVであれば、電子透かしビットとしてビット0が埋め込まれている旨を示す検出結果を電子透かしデータ生成部16に出力し、その代表値が1代表値KVであれば、電子透かしビットとしてビット1が埋め込まれている旨を示す検出結果を電子透かしデータ生成部16に出力し、その代表値がnull代表値KVnullであれば、電子透かしビットが埋め込まれていない旨を示す検出結果を電子透かしデータ生成部16に出力する処理を実施する。なお、ビット検出部15は電子透かしビット検出手段を構成している。
【0069】
電子透かしデータ生成部16はビット検出部15から出力された全ての部分画像に係る検出結果を集計して、その検出結果の集計結果から電子透かしデータを生成する処理を実施する。なお、電子透かしデータ生成部16は電子透かしデータ生成手段を構成している。
【0070】
図5の例では、電子透かし検出装置の構成要素であるデータ検出対象画像抽出部11、ビット検出対象画像抽出部12、関数値算出部13、代表値設定部14、ビット検出部15及び電子透かしデータ生成部16のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されているものを想定しているが、電子透かし検出装置がコンピュータで構成される場合、データ検出対象画像抽出部11、ビット検出対象画像抽出部12、関数値算出部13、代表値設定部14、ビット検出部15及び電子透かしデータ生成部16の処理内容を記述しているプログラムをコンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
図6はこの発明の実施の形態2による電子透かし検出装置の処理内容を示すフローチャートである。
【0071】
次に動作について説明する。
一般的には、入力画像は電子透かしデータが埋め込まれた後に、切取や拡大縮小などの編集がなされている可能性があるが、この実施の形態2の電子透かし検出装置で扱う入力画像は、図1の電子透かし埋込装置により電子透かしデータが埋め込まれた後に、切取や拡大縮小などの編集がなされていない非圧縮輝度画像であるとする。
【0072】
データ検出対象画像抽出部11は、図1の電子透かし埋込装置により電子透かしデータが埋め込まれた画像を入力すると、その入力画像を分割して、1つ以上の局所的な領域の画像(入力画像の部分画像)を取得する。
そして、データ検出対象画像抽出部11は、1つ以上の部分画像の中から、電子透かしデータを検出する部分画像を順番に選択し、その部分画像をデータ検出対象画像として、ビット検出対象画像抽出部12に出力する(ステップST21)。
図3の例では、横ピクセルがWin、縦ピクセルがHinの入力画像を、横ピクセルWdataが192ピクセル、縦ピクセルHdataが144ピクセルの長方形の領域(部分画像)に分割して、その入力画像の左上からラスタースキャン順に1つずつ部分画像を選択している。
【0073】
入力画像の横ピクセルWinが500ピクセル、縦ピクセルHinが300ピクセルであるとすると、横ピクセルWdataが192ピクセル、縦ピクセルHdataが144ピクセルの部分画像が4個生成され、入力画像の右辺に接する位置に存在している横ピクセルWdataが116ピクセル、縦ピクセルHdataが144ピクセルの部分画像が2個生成される。
また、入力画像の下辺に接する位置に存在している横ピクセルWdataが192ピクセル、縦ピクセルHdataが12ピクセルの部分画像が2個生成され、入力画像の右下の位置に存在している横ピクセルWdataが116ピクセル、縦ピクセルHdataが12ピクセルの部分画像が1個生成される。
これにより、合計9個の部分画像が生成され、入力画像の左上の位置に存在している部分画像が最初にデータ検出対象画像として選択され、残りの8個の部分画像がラスタースキャン順にデータ検出対象画像として順次選択される。
【0074】
ビット検出対象画像抽出部12は、データ検出対象画像抽出部11から図3に示すようなデータ検出対象画像を受けると、そのデータ検出対象画像を分割して、1つ以上の局所的な領域の画像(データ検出対象画像の部分画像)を取得する。
そして、ビット検出対象画像抽出部12は、1つ以上の部分画像の中から、電子透かしビットを検出する部分画像を順番に選択し、その部分画像をビット検出対象画像として、関数値算出部13及びビット検出部15に出力する(ステップST22)。
【0075】
図3の例では、データ検出対象画像を横ピクセルWbitが24ピクセル、縦ピクセルHbitが24ピクセルの正方形の領域に分割することで、横ピクセルWbitが最大24ピクセル、縦ピクセルHbitが最大24ピクセルの部分画像が最大48個生成される。
データ検出対象画像の左上の位置に存在している部分画像が最初にビット検出対象画像として選択され、残りの部分画像がラスタースキャン順にビット検出対象画像として順次選択される。
【0076】
関数値算出部13は、ビット検出対象画像抽出部12がビット検出対象画像を選択すると、そのビット検出対象画像を構成している各画素の画素値を加減算する関数の演算を実行して、各画素の画素値の加減算結果を示す関数値fを算出し、その関数値fをビット検出部15に出力する(ステップST23)。
図3の例では、ビット検出対象画像を構成している画素のうち、濃い灰色で示している画素が集まっている領域を加算対象領域、薄い灰色で示している画素が集まっている領域を減算対象領域とし、その加算対象領域内の全ての画素の画素値を加算する一方、その減算対象領域内の全ての画素の画素値を減算することで、関数値fを算出している。
【0077】
即ち、ビット検出対象画像の左から第xピクセル(1≦x≦24)、上から第yピクセル(1≦y≦24)の画素値をfbit(x,y)とすると、関数値fは、先に示している式(1)のように算出される。
ただし、ビット検出対象画像の横サイズ又は縦サイズが24未満であるために、存在しない画素がある場合、そのような画素の画素値fbit(x,y)を“0”として、式(1)を適用するものとする。
【0078】
関数値算出部13では、上述したように、ビット検出対象画像を構成している各画素の画素値を加減算する関数の演算を実行するが、その関数の関数値fが取り得る値の範囲は有限であり、その関数の関数値fが取り得る値の中で、ビット0を表す代表の値が0代表値KV、ビット1を表す代表の値が1代表値KV、null(ヌル)を表す代表の値がnull代表値KVnullとして、予め、代表値設定部14に設定されている。
図4の例では、0代表値KVが“−750”,“−250”,“500”,“1000”、1代表値KVが“−1000”,“−500”,“250”,“750”、null代表値KVnullが“0”に設定されている。
なお、代表値設定部14に設定される0代表値KV、1代表値KV及びnull代表値KVnullは、図1の代表値設定部4に設定される0代表値KV、1代表値KV及びnull代表値KVnullと同一である。
【0079】
ビット検出部15は、関数値算出部13が関数値fを算出すると、代表値設定部14により設定されている0代表値KV、1代表値KV及びnull代表値KVnullの中で、その関数値fと最も近い代表値を選択する。
例えば、関数値fが“376”であれば、0代表値KVを選択し、関数値fが“374”であれば、1代表値KVを選択する。
また、関数値fが“−126”であれば、0代表値KVを選択し、関数値fが“−124”であれば、null代表値KVnullを選択する。
また、関数値fが“126”であれば、1代表値KVを選択し、関数値fが“124”であれば、null代表値KVnullを選択する。
【0080】
なお、関数値fが0代表値KVと1代表値KVの丁度中間にある場合(例えば、f=375)、関数値fが0代表値KVとnull代表値KVnullの丁度中間にある場合(例えば、f=−125)、関数値fが1代表値KVとnull代表値KVnullの丁度中間にある場合(例えば、f=125)、どちらの代表値を選択するかは、事前に設定されているものとする。
【0081】
ビット検出部15は、関数値fと最も近い代表値を選択すると、その代表値に応じた検出結果を電子透かしデータ生成部16に出力する(ステップST24)。
即ち、ビット検出部15は、関数値fと最も近い代表値として、0代表値KVを選択すると、電子透かしビットとしてビット0が埋め込まれている旨を示す検出結果として、“0”の検出量を電子透かしデータ生成部16に出力する。
また、ビット検出部15は、関数値fと最も近い代表値として、1代表値KVを選択すると、電子透かしビットとしてビット1が埋め込まれている旨を示す検出結果として、“1”の検出量を電子透かしデータ生成部16に出力する。
ビット検出部15は、関数値fと最も近い代表値として、null代表値KVnullを選択すると、電子透かしビットが埋め込まれていない旨を示す検出結果として、“null”の検出量を電子透かしデータ生成部16に出力する。
【0082】
なお、図4に示すように、0代表値KV、1代表値KV及びnull代表値KVnullが設定されている場合、関数値fの数直線上で、各代表値の近傍が、電子透かしビットの検出時に、ビット0、ビット1、nullを判別する関数値の範囲になる。
これにより、電子透かしビットの埋込後に、一切編集を受けていない画像だけでなく、少量のノイズが付加されて画素値が変化している画像であっても、範囲の境界を超えて関数値fが大きく変化しない限り正確に検出することができる。
そのため、画像圧縮やデジタル・アナログ変換により加えられるノイズに対して、耐性を持たせることができる。
【0083】
ステップST22〜ST24までの処理は、ビット検出対象画像抽出部12により全てのビット検出対象画像が選択されて、ビット検出部15から全てのビット検出対象画像に対する電子透かしビットの検出結果が電子透かしデータ生成部16に出力されるまで繰り返し実施される(ステップST25)。
ステップST21〜ST25までの処理は、データ検出対象画像抽出部11により全てのデータ検出対象画像が選択されて、ビット検出部15から全てのデータ検出対象画像に含まれる全てのビット検出対象画像に対する電子透かしビットの検出結果が電子透かしデータ生成部16に出力されるまで繰り返し実施される(ステップST26)。
【0084】
電子透かしデータ生成部16は、ビット検出部15から全てのビット検出対象画像に対する電子透かしビットの検出結果を受けると、全ての検出結果を集計して、その検出結果の集計結果から電子透かしデータを生成する(ステップST27)。
具体的には、以下のようにして、電子透かしデータを生成する。
【0085】
図1の電子透かし埋込装置では、埋込対象ビット抽出部6が、48ビットの電子透かしデータを構成している各ビットを、データ埋込対象画像内の各ビット埋込対象画像に対して、ラスタースキャン順に配置して埋め込んでいる。
ビット埋込対象画像は、横24ピクセル、縦24ピクセルであり、データ埋込対象画像は、横192ピクセル、縦144ピクセルであるため、図1の電子透かし埋込装置では、入力画像の左端から横方向に第24x+1ピクセル〜第24x+24ピクセル(0≦x≦7)の位置に存在し、かつ、入力画像の上端から縦方向に第24y+1ピクセル〜第24y+24ピクセル(0≦y≦5)の位置に存在している正方形領域に対して、電子透かしデータの第[(x mod 8)+8(y mod 6)+1]ビットを埋め込んでいる。
【0086】
このため、電子透かしデータ生成部16では、電子透かしデータを構成している各ビットにおいて、当該ビットが埋め込まれている位置のビット検出対象画像に係る電子透かしビットの検出結果(検出量=0、1、nullのいずれか)のうち、“0”の検出量と、“1”の検出量を集計し、“0”の検出量の数が、“1”の検出量の数より多ければ、当該ビット検出対象画像に埋め込まれている電子透かしビットが、ビット0であると確定する。
一方、“0”の検出量の数が、“1”の検出量の数より多くなければ、当該ビット検出対象画像に埋め込まれている電子透かしビットが、ビット1であると確定する。
電子透かしデータ生成部16は、上記のようにして、データ埋込対象画像内の全てのビット埋込対象画像に埋め込まれている電子透かしビットを確定すると、最終的な電子透かしビットを連結して電子透かしデータを生成し、その電子透かしデータを出力する。
【0087】
以上で明らかなように、この実施の形態2によれば、ビット検出部15が、代表値設定部14により設定されている0代表値KV、1代表値KV及びnull代表値KVnullの中で、関数値算出部13により得られる関数値fと最も近い代表値を選択し、その代表値が0代表値KVであれば、電子透かしビットとしてビット0が埋め込まれている旨を示す検出結果を電子透かしデータ生成部16に出力し、その代表値が1代表値KVであれば、電子透かしビットとしてビット1が埋め込まれている旨を示す検出結果を電子透かしデータ生成部16に出力し、その代表値がnull代表値KVnullであれば、電子透かしビットが埋め込まれていない旨を示す検出結果を電子透かしデータ生成部16に出力するように構成したので、図1の電子透かし埋込装置により埋め込まれている電子透かしを検出することができる効果を奏する。
【0088】
即ち、この実施の形態2では、ビット検出部15が、0ビットが埋め込まれている旨を示す検出結果と、1ビットが埋め込まれている旨を示す検出結果だけでなく、電子透かしビットが埋め込まれていない旨を示す検出結果を出力することができるため、電子透かしビット埋込時に、ビット埋込対象画像が大きな画質劣化を伴わないと電子透かしビットを埋め込むことができないような場合には、画質劣化を容認して、電子透かしビットを埋め込む必要がなくなり(ビット検出部15が、電子透かしビットが埋め込まれていない旨を示す検出結果を出力することができなければ、画質劣化を容認して、電子透かしビットを埋め込む必要がある)、画質劣化の抑制を図ることができる。
また、ビット検出部15が、電子透かしビットの検出結果(検出量=0、1、nullのいずれか)のうち、“0”の検出量と“1”の検出量を集計して、ビット検出対象画像に埋め込まれている電子透かしビットを最終的に確定しているので、電子透かしの検出性能を向上させることができる。
【0089】
また、この実施の形態2では、データ検出対象画像抽出部11が入力画像内で繰り返されるデータ検出対象画像を認識し、また、ビット検出対象画像抽出部12がそのデータ検出対象画像内に規則的に配置されているビット検出対象画像を認識することで、同一の電子透かしビットが埋め込まれている複数のビット検出対象画像から電子透かしデータを検出することができる。そして、電子透かしデータ生成部16が複数のビット検出対象画像に係る検出結果を示す検出量を集計することで、最終的な検出結果を推定するので、一部のビット検出対象画像に係る検出結果が誤っていたとしても、他のビット検出対象画像に係る検出結果から、最終的に正しい検出結果が得られる可能性が高まる。
このように、複数のビット検出対象画像に係る検出結果を基にして、正しい検出結果の推定を、電子透かしデータを構成している全てのビットについて実施するので、正しい電子透かしデータが得られる可能性が高まる。
【0090】
なお、この実施の形態2では、ビット検出部15が、電子透かしビットの検出結果として、“0”、“1”、“null”のいずれかの検出量を出力し、電子透かしデータ生成部16が、同一ビットに関する“0”の検出量の数と“1”の検出量の数を集計して、最終的に電子透かしビットを判別するものについて示したが、他の構成も可能である。
例えば、ビット検出部15が検出量を出力する際、関数値fと最も近い代表値が0代表値KVであれば、“0”の検出量と一緒に、その関数値fと0代表値KVの差Δの絶対値を出力する。
また、関数値fと最も近い代表値が1代表値KVであれば、“1”の検出量を出力すると一緒に、その関数値fと1代表値KVの差Δの絶対値を出力する。
また、関数値fと最も近い代表値がnull代表値KVnullであれば、“null”の検出量と一緒に、その関数値fとnull代表値KVnullの差Δnullの絶対値を出力する。
【0091】
電子透かしデータ生成部16は、同一ビットに関する検出結果において、ビット検出部15から“0”の検出量が出力された際に一緒に出力された差Δの絶対値の合計と、“1”の検出量が出力された際に一緒に出力された差Δの絶対値の合計とを比較する。
電子透かしデータ生成部16は、差Δの絶対値の合計が、差Δの絶対値の合計より小さければ、ビット検出対象画像に埋め込まれている電子透かしビットがビット0であると確定する。
一方、差Δの絶対値の合計が、差Δの絶対値の合計より大きければ、ビット検出対象画像に埋め込まれている電子透かしビットがビット1であると確定する。
この場合、ビット検出部15から出力される“0”の検出量の数と“1”の検出量の数が同数であっても、代表値に近い関数値fを示している検出結果を重点的に評価することになるため、検出性能を向上させることができる。
【0092】
その他の構成として、ビット検出部15が、関数値算出部13により算出された関数値fを検出量として電子透かしデータ生成部16に出力し、電子透かしデータ生成部16が関数値fを評価して電子透かしデータを生成するようにしてもよい。
このように、ビット検出部15と電子透かしデータ生成部16は、ビット検出部15が出力する検出量を電子透かしデータ生成部16が適切に処理するのであれば、任意の構成とすることができる。
【0093】
この実施の形態2では、データ検出対象画像抽出部11、ビット検出対象画像抽出部12及び関数値算出部13の構成が、図1の電子透かし埋込装置におけるデータ埋込対象画像抽出部1、ビット埋込対象画像抽出部2及び関数値算出部3の構成とそれぞれ同一であるものについて示したが、図1の電子透かし埋込装置における電子透かしデータの埋め込み方式に対応しているものであればよく、データ埋込対象画像抽出部1、ビット埋込対象画像抽出部2及び関数値算出部3の構成と異なっていてもよい。
【0094】
また、この実施の形態2では、入力画像が非圧縮輝度画像(非圧縮モノクロ画像)である例を示したが、これに限るものではなく、例えば、入力画像が非圧縮カラー画像であってもよい。
入力画像がYCbCr形式の非圧縮カラー画像であり、図1の電子透かし埋込装置が、その非圧縮カラー画像のCr成分に対して、電子透かしデータを埋め込んでいるとすれば、図5の電子透かし検出装置が、YCbCr形式の非圧縮カラー画像のCr成分を抽出して、この実施の形態2に示している処理を実施することにより、その電子透かしデータを適切に検出することができる。
【0095】
また、得られた画像が圧縮されたRGB形式である場合、その圧縮を解いて、RGB形式をYCbCr形式に変換することで、YCbCr形式の非圧縮カラー画像のCr成分を抽出するようにすれば、やはり、この実施の形態2に示している処理を実施することにより、その電子透かしデータを適切に検出することができる。
このように、電子透かし検出装置は、電子透かしが想定する電子透かし埋込装置の入力画像に対応しているものであればよく、任意の構成とすることができる。
【0096】
実施の形態3.
上記実施の形態2では、電子透かしデータが埋め込まれた後に、入力画像が切取や拡大縮小などの編集がなされていないものとして説明したが、入力画像が切取、拡大縮小、回転などの編集がなされている画像であっても、適切な前処理を実施して、電子透かし検出装置の入力画像を生成すれば、上記実施の形態2と同様に、電子透かしデータを正確に検出することができる。
【0097】
図7は電子透かし検出装置の入力画像の生成例を示す説明図である。
図7では、電子透かしデータが埋め込まれた画像の一部が切り取られ、一部が切り取られている画像から電子透かし検出装置の入力画像を生成している例を示している。
即ち、切り取られずに残っている画像に対して、切り取られた部分を単色でパディングすることで、電子透かし検出装置の入力画像を生成している。
【0098】
入力画像の切取だけでなく、拡大縮小や回転などの編集がなされている画像であっても、画像位置合わせ技術によって、原画の位置に補正し、その後、失われた画像領域部分を単色でパディングすることによって、電子透かし検出装置の入力画像を生成することができる。
切取、拡大縮小、回転などの編集によって、原画から位置のずれた画像の位置合わせを行う技術は、既に多数開示されており、画像処理の専門家が、それらの技術を用いて、図5の電子透かし検出装置に与える入力画像を生成することは容易である。
また、高度な画像位置合わせ技術によらなくても、原画と取得画像を目視で見比べながら、補正することも可能である。
【0099】
図5の電子透かし検出装置は、パディング処理済の入力画像が与えられると、ビット検出部15が、失われた領域部分(パディングが施された領域)からnull(埋込無し)を検出することになる。
その理由は、パディングは単調色であり、関数値算出部13がnullを表すnull代表値KVnullに極めて近い関数値fを算出することになるからである。
その他、失われていない画像部分からは、ビット0、ビット1、nullのいずれかを、既に説明した通りに検出することができる。
【0100】
最終的には、電子透かしデータ生成部16が、検出量である“0”、“1”、“null”を集計して、電子透かしデータを生成する。
あるいは、失われた領域部分は検出対象から外して、ビット検出部15が失われていない画像部分のみから検出量を算出し、電子透かしデータ生成部16が、それらの検出量から電子透かしデータを生成する。
このように、画像位置合わせ技術によって、電子透かし検出装置の入力画像を事前に補正しておくことで、切取、拡大縮小、回転等の処理が加えられた画像であっても、電子透かしデータを検出することができる。
【符号の説明】
【0101】
1 データ埋込対象画像抽出部(画像分割手段、部分画像選択手段)、2 ビット埋込対象画像抽出部(画像分割手段、部分画像選択手段)、3 関数値算出部(関数値算出手段)、4 代表値設定部(代表値設定手段)、5 画質劣化度評価部(画質劣化度算出手段)、6 埋込対象ビット抽出部(電子透かしビット抽出手段)、7 ビット埋込部(ビット埋込手段)、8 ビット埋込対象画像結合部(画像結合手段)、9 データ埋込対象画像結合部(画像結合手段)、11 データ検出対象画像抽出部(画像分割手段、部分画像選択手段)、12 ビット検出対象画像抽出部(画像分割手段、部分画像選択手段)、13 関数値算出部(関数値算出手段)、14 代表値設定部(代表値設定手段)、15 ビット検出部(電子透かしビット検出手段)、16 電子透かしデータ生成部(電子透かしデータ生成手段)。

【特許請求の範囲】
【請求項1】
入力画像を構成している各画素の画素値を加減算する関数の演算を実行して、各画素の画素値の加減算結果を示す関数値を得る関数値算出手段と、上記関数値が取り得る値の中で、ビット0を表す代表の値を0代表値、ビット1を表す代表の値を1代表値及びヌルを表す代表の値をヌル代表値として設定する代表値設定手段と、電子透かしビットとして0を埋め込む場合、上記関数値算出手段により得られる関数値と上記代表値設定手段により設定された0代表値の差分が閾値以上であれば、上記差分が上記閾値未満になるように上記入力画像を構成している各画素の画素値を編集するビット埋込処理を実施し、電子透かしビットとして1を埋め込む場合、上記関数値算出手段により得られる関数値と上記代表値設定手段により設定された1代表値の差分が閾値以上であれば、上記差分が上記閾値未満になるように上記入力画像を構成している各画素の画素値を編集するビット埋込処理を実施し、電子透かしビットを埋め込まない場合、上記関数値算出手段により得られる関数値と上記代表値設定手段により設定されたヌル代表値の差分が閾値以上であれば、上記差分が上記閾値未満になるように上記入力画像を構成している各画素の画素値を編集する処理を実施するビット埋込手段とを備えた電子透かし埋込装置。
【請求項2】
入力画像を構成している各画素の画素値が編集された場合に生じる画質の劣化度を数値化する関数の演算を実行して、上記劣化度を示す数値を出力する画質劣化度算出手段を設け、
ビット埋込手段は、関数値算出手段により得られる関数値と代表値設定手段により設定された代表値の差分が閾値以上であっても、上記画質劣化度算出手段から出力された数値が許容範囲内の劣化を表している場合に限りビット埋込処理を実施し、上記画質劣化度算出手段から出力された数値が許容範囲を超える劣化を表していれば、ビット埋込処理を実施しないことを特徴とする請求項1記載の電子透かし埋込装置。
【請求項3】
入力画像を分割して、1つ以上の局所的な領域の画像である部分画像を得る画像分割手段と、上記画像分割手段により得られた1つ以上の部分画像の中から、電子透かしビットを埋め込む部分画像を順次選択する部分画像選択手段と、上記部分画像選択手段により選択された部分画像を構成している各画素の画素値を加減算する関数の演算を実行して、各画素の画素値の加減算結果を示す関数値を得る関数値算出手段と、上記関数値が取り得る値の中で、ビット0を表す代表の値を0代表値、ビット1を表す代表の値を1代表値及びヌルを表す代表の値をヌル代表値として設定する代表値設定手段と、上記部分画像を構成している各画素の画素値が編集された場合に生じる画質の劣化度を数値化する関数の演算を実行して、上記劣化度を示す数値を出力する画質劣化度算出手段と、電子透かしビットとして0を埋め込む場合、上記画質劣化度算出手段から出力された数値が許容範囲内の劣化を表しており、上記関数値算出手段により得られる関数値と上記代表値設定手段により設定された0代表値の差分が閾値以上であれば、上記差分が上記閾値未満になるように上記部分画像を構成している各画素の画素値を編集するビット埋込処理を実施し、電子透かしビットとして1を埋め込む場合、上記画質劣化度算出手段から出力された数値が許容範囲内の劣化を表しており、上記関数値算出手段により得られる関数値と上記代表値設定手段により設定された1代表値の差分が閾値以上であれば、上記差分が上記閾値未満になるように上記部分画像を構成している各画素の画素値を編集するビット埋込処理を実施し、電子透かしビットを埋め込まない場合、上記画質劣化度算出手段から出力された数値が許容範囲内の劣化を表しており、上記関数値算出手段により得られる関数値と上記代表値設定手段により設定されたヌル代表値の差分が閾値以上であれば、上記差分が上記閾値未満になるように上記部分画像を構成している各画素の画素値を編集する処理を実施するビット埋込手段と、上記ビット埋込手段によるビット埋込処理が完了している全ての部分画像を結合する画像結合手段とを備えた電子透かし埋込装置。
【請求項4】
画質劣化度算出手段から出力された数値が許容範囲を超える劣化を表す場合に、関数値算出手段により得られる関数値がヌル代表値に近づくように、上記画質劣化度算出手段により演算が実行される関数と上記関数値算出手段により演算が実行される関数が定義されていることを特徴とする請求項2または請求項3記載の電子透かし埋込装置。
【請求項5】
電子透かしデータから埋込対象の電子透かしビットを抽出し、上記電子透かしビットをビット埋込手段に出力する電子透かしビット抽出手段を設けたことを特徴とする請求項1から請求項4のうちのいずれか1項記載の電子透かし埋込装置。
【請求項6】
電子透かしデータが埋め込まれている入力画像を構成している各画素の画素値を加減算する関数の演算を実行して、各画素の画素値の加減算結果を示す関数値を得る関数値算出手段と、上記関数値が取り得る値の中で、ビット0を表す代表の値を0代表値、ビット1を表す代表の値を1代表値及びヌルを表す代表の値をヌル代表値として設定する代表値設定手段と、上記代表値設定手段により設定されている0代表値、1代表値及びヌル代表値の中で、上記関数値算出手段により得られる関数値と最も近い代表値を選択し、上記代表値が0代表値であれば、電子透かしビットとしてビット0が埋め込まれている旨を示す検出結果を出力し、上記代表値が1代表値であれば、電子透かしビットとしてビット1が埋め込まれている旨を示す検出結果を出力し、上記代表値がヌル代表値であれば、電子透かしビットが埋め込まれていない旨を示す検出結果を出力する電子透かしビット検出手段とを備えた電子透かし検出装置。
【請求項7】
電子透かしデータが埋め込まれている入力画像を分割して、1つ以上の局所的な領域の画像である部分画像を得る画像分割手段と、上記画像分割手段により得られた1つ以上の部分画像の中から、電子透かしビットを検出する部分画像を順次選択する部分画像選択手段と、上記部分画像選択手段により選択された部分画像を構成している各画素の画素値を加減算する関数の演算を実行して、各画素の画素値の加減算結果を示す関数値を得る関数値算出手段と、上記関数値が取り得る値の中で、ビット0を表す代表の値を0代表値、ビット1を表す代表の値を1代表値及びヌルを表す代表の値をヌル代表値として設定する代表値設定手段と、上記代表値設定手段により設定されている0代表値、1代表値及びヌル代表値の中で、上記関数値算出手段により得られる関数値と最も近い代表値を選択し、上記代表値が0代表値であれば、電子透かしビットとしてビット0が埋め込まれている旨を示す検出結果を出力し、上記代表値が1代表値であれば、電子透かしビットとしてビット1が埋め込まれている旨を示す検出結果を出力し、上記代表値がヌル代表値であれば、電子透かしビットが埋め込まれていない旨を示す検出結果を出力する電子透かしビット検出手段と、上記電子透かしビット検出手段から出力された全ての部分画像に係る検出結果を集計し、上記検出結果の集計結果から電子透かしデータを生成する電子透かしデータ生成手段とを備えた電子透かし検出装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−250145(P2011−250145A)
【公開日】平成23年12月8日(2011.12.8)
【国際特許分類】
【出願番号】特願2010−121354(P2010−121354)
【出願日】平成22年5月27日(2010.5.27)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】