JP3881810B2 - Digital watermark with adjustable watermark mark visibility - Google Patents
Digital watermark with adjustable watermark mark visibility Download PDFInfo
- Publication number
- JP3881810B2 JP3881810B2 JP17081699A JP17081699A JP3881810B2 JP 3881810 B2 JP3881810 B2 JP 3881810B2 JP 17081699 A JP17081699 A JP 17081699A JP 17081699 A JP17081699 A JP 17081699A JP 3881810 B2 JP3881810 B2 JP 3881810B2
- Authority
- JP
- Japan
- Prior art keywords
- watermark
- matrix
- mark
- color
- image data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、カラー画像に透かしマークを電子的に埋め込む電子透かし技術に関する。
【0002】
【従来の技術】
インターネットなどのコンピュータネットワークの発展に伴って、情報のデジタル化が進み、多くのユーザが簡単に必要とする情報にアクセスできるようになっている。その反面、そのデジタル情報に著作権が発生しているデジタルコンテンツについて、その著者に断わりなく容易にデータが複製できるような環境になりつつあり、不正コピーにともなう著作権侵害の問題が注目されてきている。そこで、デジタルコンテンツの主たる情報であるカラー画像に関しての著作権侵害を防止すること等を目的として、著作権情報などの透かし情報をカラー画像のデータに埋め込む電子透かし技術が注目されている。
【0003】
従来のこの種の電子透かしに関しては、濃淡画像に対して多くの技術的提案がなされている。カラー画像についても、その輝度成分(Y成分)を考えれば、濃淡画像と同様に扱うことができるので、濃淡画像に対応する輝度成分に、電子透かしを埋め込む手法が用いられてきた。
【0004】
【発明が解決しようとする課題】
しかしながら、カラー画像に固有の信号やデータを用いて電子透かしを埋め込もうとする提案は、ほとんどなされていない。電子透かし埋め込み技術として、カラープリンタの色空間を利用した「カラー画像の深層情報記録」(画電学会、年次大会予稿集、7,20,pp.47−48)、視覚特性を巧みに利用したモデル構成型の「視覚特性を考慮した色彩透かしの一手法」(IMPS 97,I−3.14,pp.45−46 (1997))、「デジタル画像への電子透かし埋め込みの一手法」(SITA 97,Vol.2,pp.541−544 (1997))が提案されている。これらの技術は、モデルが煩雑で透かしの埋込み処理が簡単でないといった弱点をもっている。また、カラー画像の下位ビットに透かしを埋め込む方法では、カラー画像の画像品質を劣化させることも指摘されていた。
【0005】
本発明は、カラー画像に固有の特性を利用して透かしマークを埋め込むための電子透かし技術を提供することを目的とする。
【0006】
【課題を解決するための手段およびその作用・効果】
本発明では、第1の表色系のカラー画像データを、第1の表色系とは異なる第2の表色系のカラー画像データに変換する変換行列と、その変換の逆変換を行なう逆変換行列と、を準備する。また、実数値xおよび−xを成分とし、かつ、各行および各列の成分の和が略0となる付加行列を設定する。そして、変換行列に付加行列を加算することによって、透かし埋め込み用変換行列を作成する。次に、カラー画像内に埋め込まれる透かしマークを準備し、透かしマーク内の位置に相当する画素において、透かし埋め込み用変換行列を用いて第1の表色系のカラー画像データを第2の表色系に変換する。この変換により得られた第2の表色系のカラー画像データを、逆変換行列を用いて第1の表色系に逆変換することによって、透かしマークが埋め込まれた透かし付きカラー画像を表す透かし付き画像データを作成する。また、付加行列の設定の際に、実数値xと、付加行列内の各成分の配列とのうちの少なくとも一方を調整することによって、透かし付きカラー画像における透かしマークの可視度を調整する。
【0007】
本発明では、2つの表色系間の変換行列および逆変換行列と付加行列とを用いて変換と逆変換とを行うことによって、カラー画像に透かしマークを埋め込むことができる。付加行列の成分を規定する実数値xの値が変わると、透かしマークの色彩が変化する。また、付加行列の各成分の配列の変更によっても透かしマークの色彩が変化する。従って、付加行列の実数値xの値と、付加行列内の各成分の配列とのうちの少なくとも一方を調整することによって、透かしマークの可視度を調整することが可能である。
【0008】
ここで、第1または第2の表色系としては、光の三原色をパラメータとするRGB表色系や輝度信号および色差信号をパラメータとするYCbCr表色系を適宜採用することができる。これらの表色系は、画像データを扱う場合にしばしば用いられるものであり、かつ相互の変換行列が良く知られたものである。したがって、これからの画像データを取り扱うレタッチソフトなどが多数存在し、電子透かしを簡便に埋め込むことができる。
【0009】
なお、透かしマークは、互いに空間的に分離された複数のマーク群を含んでいてもよい。このとき、複数のマーク群のうちの少なくとも一部のマーク群において、実数値xを、他のマーク群と異なる値に設定することによって可視度の調整を行うことができる。こうすれば、可視度の異なる複数のマーク群をカラー画像内に埋め込むことが可能である。
【0010】
また、透かしマークは、空間的に連続した画素で構成されるマーク領域を含とともに、マーク領域が複数の区分領域に区分されていてもよい。このとき、複数の区分領域のうちの少なくとも一部の区分領域において、実数値xを、他の区分領域と異なる値に設定することによって可視度の調整を行うことができる。こうすれば、可視度の異なる複数の区分領域で構成されたマーク領域を含むような透かしマークをカラー画像内に埋め込むことが可能である。
【0011】
可視度の調整は、前記付加行列の列同士または行同士を入れ替えることによって行うことが可能である。こうすれば、単に列同士または行同士の入れ替えによって、透かしマークを所望の可視度に設定することが可能である。
【0012】
なお、透かし付きカラー画像において透かしマークが肉眼で視認可能である場合には、透かしマークの可視度を低下させることも可能である。この際、まず、逆変換行列と前記付加行列の積と、変換行列と等しい次数を有する単位行列と、の和の逆行列である不可視化行列を準備する。そして、透かしマーク内の位置に相当する画素において、透かし付き画像データに不可視化行列を操作させることによって、視認可能な透かしマークの可視度を低下させる。
【0013】
更に、透かし埋め込み用変換行列による変換によって得られたYCbCr表色系の画像データを、逆変換行列を用いて前記RGB表色系に逆変換するに際して、RGB表色系の画像データにおける各画素値が所定範囲の整数値となるようにアンダフロー補正およびオーバフロー補正を行なうことが好ましい。こうすれば、RGB表色系の画像データが採り得る範囲内に、逆変換した結果を納めることができる。
【0014】
付加行列の実数値xは、約0.01から約0.7の範囲の値に設定することが好ましい。こうすれば、アンダーフロー補正やオーバーフロー補正の発生率を小さく抑えることができるので、透かしマークの埋め込みによる実質的な画質の劣化を低減することができる。
【0015】
なお、本発明は、電子透かし方法および装置、その方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の種々の態様で実現することができる。
【0016】
【発明の実施の形態】
A.電子透かしの埋め込み処理と復号処理の原理:
以下、本発明の実施の形態を実施例に基づいて説明する。図1は、実施例におけるデジタルカラー画像への電子透かしの埋め込み処理の原理の説明図である。また、図2は、埋め込み処理の内容を示す説明図である。
【0017】
図2(A)は、RGB表色系で表現された原画像であるデジタルカラー画像を示している。この原画像Pは、マトリックス状に配置された多数の画素の集合体として定義されており、原画像Pの大きさは、水平解像度Hsizeと垂直解像度Vsizeによって規定されている。なお、水平解像度や垂直解像度の単位は、画素数である。
【0018】
本明細書において、原画像Pの各画素の色を表す画像データは、行列P=[r,g,b]t (上付文字「t 」は転置行列を示す)で定義される。ここで、r,g,bは、光の三原色である赤(r)、緑(g)、青(b)それぞれの色成分の輝度である。各色の輝度は、所定の分解能(例えば、0から255までの256階調)で表現される。また、各画素の色を規定する表色系しては、RGB表色系の他に、輝度信号と2つの色差信号とで構成されるYCbCr表色系が広く知られている。本明細書において、YCbCr表色系による各画素の色を表す画像データは、行列F=[y,cb,cr]t で定義される。
【0019】
この2つの表色系は、下記の(1a),(1b)式に示すように、色信号変換行列Aと、その逆行列A-1とによって相互に可逆的に変換することが可能である。
【0020】
【数1】
【0021】
ここで、色信号P,Fに付されている(i,j)は、画素の位置を意味している。
【0022】
本実施例では、変換行列Aおよび逆変換行列A-1として、以下の(2a),(2b)式で与えられるものを使用する。
【0023】
【数2】
【0024】
本実施例では、RGB表色系の画像データPをYCbCr表色系の画像データFに変換する際に透かしマークを埋め込み、これを再度RGB表色系に逆変換することによって透かし付き画像を作成する。透かしマークの埋め込みに使用される変換行列(「埋め込み用変換行列」と呼ぶ)は、変換行列Aに、次の(3)式で与えられる付加行列Xを加算したもの(すなわち(A+X))である。
【0025】
【数3】
【0026】
この付加行列Xは、実数値xおよび−xを成分とし、かつ、各行および各列の成分の和が0となるような行列である。なお、本明細書においては、この実数値xを「透かし値」も呼び、また、付加行列Xを「透かし行列」とも呼ぶ。このような透かし行列Xの構成は、以下のような理由によって決定されている。まず、透かしマークを肉眼で視認できないように埋め込むことを考える。このためは、透かしの埋込みによる画質劣化をできるだけ防ぐことが好ましい。ところで、(2a)式で与えられる変換行列Aの各成分を観察すると、各行の成分の絶対値の和がすべて1となっていることが解る。従って、埋め込み用変換行列(A+X)においても、各行の成分の絶対値の和が1となるような関係を保持することが、画質劣化を防止する上で好ましい。(3)式の透かし行列Xは、各行および各列の成分の和が0となるように設定されているので、このような要求を満足している。
【0027】
原画像Pに透かしマークを埋め込む際には、この原画像Pの他に、埋め込まれるべき透かしマークを含むマーク画像Mを準備する。図2(B)には、本実施例で使用されるマーク画像Mの一例が示されている。このマーク画像Mは2値画像であり、透かしマークを構成する2つの文字「I」と「T」の領域における画素値mが1であり、その他の領域における画素値mは0である。以下では、画素値mが1である領域を「透かしマークの有効領域」または単に「マーク領域」と呼び、画素値mが0である領域を「透かしマークの非有効領域」と呼ぶ。なお、透かしマークの有効領域を単に「透かしマーク」と呼ぶこともある。例えば「透かしマーク内の位置」という文言は、「透かしマークの有効領域内の位置」と同じ意味を有している。
【0028】
本実施例のマーク画像Mは、原画像Pと同一のサイズを有している。但し、マーク画像Mが原画像Pと同一のサイズを有している必要は無く、原画像M内に埋め込まれる透かしマークの位置が何らかの方法で決定されていれば良い。
【0029】
透かしマークを埋め込む際には、まず、次の(4a),(4b)式に従って、RGB表色系からYCbCr表色系への変換が行われる。
【0030】
【数4】
【0031】
すなわち、透かしマークの有効領域に相当する位置の画素(m(i,j)=1の画素)においては、元の変換行列Aと透かし行列Xとを加算した埋め込み用変換行列(A+X)を用いて表色系の変換が実行される。一方、透かしマークの非有効領域に相当する位置の画素(m(i,j)=0の画素)においては、元の変換行列Aをそのまま用いて表色系の変換が実行される。
【0032】
(4a),(4b)式による演算処理をすべての画素に対して実行すると、透かし情報が埋め込まれた透かし付きYCbCr画像データFX が得られる(図1,図2(C))。
【0033】
次に、この透かし付きYCbCr画像データFX に対して逆変換行列A-1を左から操作させると、次の(5a),(5b)式で与えられる透かし付きRGB画像データPX が得られる(図1)。
【0034】
【数5】
【0035】
この(5a)式に示されているように、透かし付きRGB画像データPX は、透かしマークの有効領域内において、原RGB画像データPにノイズ成分(A-1XP)が重畳されたものである。また、透かしマークの非有効領域においては、透かし付きRGB画像データPX は原RGB画像データPと等しい値を有している。
【0036】
ところで、上記(3)式に示されているように、透かし行列Xの各行の成分の和は0である。従って、原RGB画像データP(i,j)のr,g,b成分の値が互いに等しいとき(すなわち無彩色のとき)には、(5a)式のノイズ成分(A-1XP)は0になってしまう。このような問題を防止するために、透かしマークは、原画像内の無彩色でない領域に位置決めしておくことが好ましい。
【0037】
なお、図2(C)では、透かし付き画像内の透かしマークが薄く見えているような状態を示している。しかし、実際には、透かしマークの可視度(肉眼による認識のし易さ)は、透かし行列Xにおける透かし値xを調整することによって調整可能である。透かしマークの可視度の調整の方法については、さらに後述する。
【0038】
ところで、RGB画像データは整数値で構成されるのに対して、YCbCr画像データは実数値で構成されるのが普通である。従って、(4a),(4b)式によってYCbCr表色系に変換する際には実数化が行われ、(5a),(5b)式によってRGB表色系に逆変換する際には整数化が行われる。この整数化の際には、画素値が負となってアンダフローを発生する場合や、画素値の上限を超えてオーバフローとなる場合が発生する。この問題を解決するため、本実施例では、整数化の際にアンダフロー補正およびオーバフロー補正を行う。すなわち、整数化前の画素値が負となった場合には0とするアンダーフロー補正を行い、また、そのビット表現の上限値(たとえば255)を超える場合にはその上限値を採用するオーバーフロー補正を行う。
【0039】
アンダーフロー補正やオーバーフロー補正を行うと、透かし付き画像の実質的な画質を劣化させる。ここで、「実質的な劣化」とは、透かしマークを消去しても回復できないような画質の劣化を意味する。アンダーフロー補正やオーバーフロー補正は、本来の変換行列Aに透かし行列Xを加算したことに起因しているので、アンダーフロー補正やオーバーフロー補正の発生率は透かし行列Xの成分である透かし値xに依存する。従って、透かし値xは、アンダーフロー補正やオーバーフロー補正があまり発生しないような値に設定することが好ましい。
【0040】
図3は、透かし値xと、アンダーフロー補正およびオーバーフロー補正の発生率との関係を示す説明図である。ここでは、画質の特性評価用に用いられる標準画像である"girl"と"graphic" の2つの画像に関する結果が示されている。なお、透かし値xが0.1の場合と−0.1の場合とで結果が異なるのは、画像内における3色の成分r,g,bの分布に偏りがあるためであると考えられる。図3の結果から、アンダーフロー補正およびオーバーフロー補正の発生率を低く抑えるためには、透かし値xを約0.7以下の値に設定することが好ましいことが解る。なお、透かし値xを0に設定すると透かしマークを埋め込むことができないので、実際には透かし値xを約0.01以上の値に設定することが好ましい。従って、透かし値xとしては約0.01〜約0.7の範囲の値に設定することが好ましい。
【0041】
ところで、埋め込まれた透かしマークが肉眼では認識できないときには、その透かしマークを復元する必要が生じる。肉眼で認識できない透かしマークは、透かし付きRGB画像データPX に含まれるノイズ成分(A-1XP)を利用することによって、以下のような種々の方法で復号することが可能である。
【0042】
第1の方法は、透かし付きRGB画像の各成分r,g,bの輝度値を最大値近くまで高めるように画像の色変更処理を行う方法である。こうすれば、ノイズ成分(A-1XP)も大きくなるので、透かしマークが肉眼で認識し易くなる可能性がある。
【0043】
第2の方法は、透かし付きRGB画像データPX に含まれるノイズ成分(A-1XP)を直接的に利用する方法である。すなわち、原画像データPを鍵として用いて、透かし付きRGB画像データPX においてノイズ成分(A-1XP)を有する領域を決定することによって、透かしマーク(すなわち透かし情報)を復号することができる。具体的には、透かし付きRGB画像データPX と原RGB画像データPとの差分(PX −P)を求め、この差分(PX −P)が0でない領域をマーク領域として決定することが可能である。なお、差分(PX −P)はr,g,bの3つの成分を有する行列であり、「差分(PX −P)が0でない」という文言は、3つの成分の少なくとも1つが0ではない、という意味である。
【0044】
なお、マーク領域におけるノイズ成分(A-1XP)に変換行列Aを左から操作させると、透かし行列Xと原画像データPとの積(XP)が得られる。原画像データPが既知であれば、透かし値xが不明な場合にも、この積(XP)から透かし行列Xの透かし値xを復号することが可能である。
【0045】
以上のように、変換行列Aに透かし行列Xを加算した埋め込み用の変換行列(A+X)を用いることによって、透かしマークをカラー画像内に埋め込むことができる。また、透かし付き画像から、埋め込まれた透かしマークを復元することも可能である。
【0046】
B.透かしマークの可視度の調整:
上述したように、透かし付きRGB画像PX では、マーク領域においてノイズ成分(A-1XP)が重畳されている。従って、透かし値xの大きさを調整してノイズ成分(A-1XP)の値を変更することによって、透かしマークの可視度を調整することが可能である。
【0047】
図4は、透かしマークの可視度の調整方法を示す説明図である。図4(A)の原画像Pおよび図4(B)のマーク画像Mは、図2(A),(B)に示したものと同じである。
【0048】
透かし値xを約0.7程度の比較的大きな値に設定すると、図4(C)に示すように、透かし付き画像内の透かしマークがはっきりと肉眼で認識できる。このような透かしマークを、本明細書では「可視透かし」と呼ぶ。特に、色彩の変化が少ない領域に透かしマークが存在すると、マーク領域における色彩の変化を、よりはっきりと認識できる。従って、透かしマークを視認し易くするためには、色彩の変化が少ない領域に透かしマークを位置決めすることが好ましい。
【0049】
一方、透かし値xを約0.05程度の比較的小さな値に設定すると、図4(E)に示すように、透かし付き画像内の透かしマークが肉眼では認識できなくなる。このような透かしマークを、本明細書では「不可視透かし」と呼ぶ。なお、図4(E)では、透かしマークの位置を示すために、マーク領域の外形を点線で示しているが、実際には、ほとんど肉眼で認識できない程度に透かしマークを不可視化することが可能である。特に、明度が低い領域や、無彩色に近い有彩色の領域では、透かしマークを視認し難い傾向にある。従って、透かしマークを視認し難くするためには、明度が低い領域や、無彩色に近い有彩色の領域に透かしマークを位置決めすることが好ましい。
【0050】
透かし値xを、可視透かしと不可視透かしの中間的な値に設定すると、半透明な透かし(「半可視透かし」と呼ぶ)を生成することができる。例えば、透かし値xを約0.3程度の値に設定すると、図4(D)に示すように、透かし付き画像内の透かしマークが半透明になる。
【0051】
このように、透かし値xを適切な値に設定することによって、透かしマークの可視度を所望の程度に設定することが可能である。
【0052】
ところで、上述のように透かし値xを調整する代わりに、透かし行列Xの配列を調整することによって、透かしマークの色を調整することが可能である。すなわち、(3)式に示した透かし行列Xの代わりに、次の(6)式および(7)式に例示されるような透かし行列X1,2 ,X1,3 を用いて上述した埋め込み処理を行えば、透かしマークの色が変更される。
【0053】
【数6】
【0054】
【数7】
【0055】
(6)式の透かし行列X1,2 は、(3)式の透かし行列Xの第1行目と第2行目を入れ替えたものである。また、(7)式の透かし行列X1,3 は、(3)式の透かし行列Xの第1行目と第3行目を入れ替えたものである。これらの例から解るように、一般には、透かし行列Xの列同士または行同士を入れ替えることによって、透かしマークの色を変更することが可能である。なお、透かしマークの色を変えると、肉眼による認識のし易さ(すなわち可視度)も変わることが多い。そこで、本明細書では、このように透かし行列の列同士または行同士を入れ替えることによって、透かしマークの色を変更することも、「可視度の調整」に該当する。
【0056】
C.可視透かしの不可視化処理:
可視透かしは、更に、以下の処理によって不可視化することが可能である。前述した(5a)式から理解できるように、透かしマークが肉眼で認識できるのは、透かし付き画像データPX のノイズ成分(A-1XP)が比較的大きいからである。従って、ノイズ成分(A-1XP)を低減する処理を実行することによって、可視透かしを不可視化することが可能である。この不可視化処理の際には、次の(8)式で与えられる不可視化行列Kを用いる。
【0057】
【数8】
【0058】
ここで、Iは3×3の単位行列である。すなわち、不可視化行列Kは、逆変換行列Aー 1と透かし行列Xの積(A-1X)と、変換行列Aと等しい次数を有する単位行列Iと、の和(I+A-1X)の逆行列である。
【0059】
この不可視化行列Kを、図5に示すように、(5a)式の透かし付きRGB画像データPX に操作すれば、その積算結果が以下の(9)式で与えられる。
【0060】
【数9】
【0061】
ここで、(9)式の2行目の右辺がP’(i,j)となっているのは、上述した埋め込み処理の途中における演算誤差(丸め誤差)によって、完全には元の画像データP(i,j)には戻らないことがあることを意味している。すなわち、YCbCr信号からRGB信号に逆変換するときに整数化が行われるので、不可視化後の画像データP’(i,j)が原画像データP(i,j)と全く同じ値を得ることはできないことがある。しかし、その誤差は、小数点以下の小さな量なので、肉眼では、不可視化後の画像が原画像と変わらない状態に見える。しかし、オーバーフロー補正やアンダーフロー補正による誤差が大きなときには、不可視化を行っても色彩を元にもどせなくなり、透かしマークの形跡が視認できることもある。従って、なるべく完全に不可視化できるようにするためには、オーバーフロー補正やアンダーフロー補正をあまり発生させない程度の小さな透かし値xを用いておくことが好ましい。
【0062】
なお、不可視化後の画像データP’は、マーク領域において誤差を含んでいるので、不可視化後の画像データP’からも、透かしマークを復号することが可能である。例えば、不可視化後の画像データP’と原画像データPとの差分(P’−P)をとり、この差分(P’−P)が0では無い領域を、マーク領域と決定することができる。
【0063】
E.セキュリティ向上策:
上述の説明では、透かしマークの全体に1つの透かし値xを用いていた。仮に透かし値xを第三者に知られた場合には、偽の透かしが作成されたり、透かしマークを容易に変更されたりするおそれがある。そこで、電子透かしのセキュリティを強化するために、マーク画像内に複数の透かし値xを適用することが好ましい。
【0064】
図6は、マーク画像内に複数の透かし値xを適用した例を示す説明図である。図6(A)では、透かしマークを構成する2つの文字「I」,「T」のマーク領域に対して、異なる透かし値x1 ,x2 が適用されている。また、図6(B)では、マーク画像内に、空間的に分離された2組のマーク群が配置されており、これらの2つのマーク群に対して異なる透かし値x1 ,x2 が適用されている。なお、図6(A)の場合にも、文字「I」と「T」を、互いに異なるマーク群であると考えることも可能である。すなわち、一般に、互いに空間的に分離された複数のマーク群に対して、互いに異なる透かし値xを設定することが可能である。上述したように、透かしマークの可視度は透かし値xに応じて変わるので、マーク画像内の複数のマーク群に異なる透かし値xを設定することによって、様々な可視度のマーク群を透かし付き画像内に埋め込むことが可能である。
【0065】
図7は、多重透かしのためのマーク領域の区分例を示す説明図である。図7の例では、1つの文字「T」で構成されるマーク領域が、複数の区分領域に区分されており、隣接する区分領域には異なる透かし値xが適用されている。マーク領域の区分方法としては、図7(A)のように平行線で区分する方法や、図7(B)に示すように等高線状の多重輪郭線によって区分する方法などの種々の方法が考えられる。なお、「1つのマーク領域」とは、空間的に連続した画素で構成される有効領域を意味している。
【0066】
このような多重透かし方法では,各区分領域に適用されている透かし値xを秘匿できるので、第三者が透かし値xを容易に発見できないようにすることが可能である。
【0067】
F.装置の全体構成と処理手順:
図8は、本実施例による上述の電子透かし処理を実行する電子透かし処理装置の構成を示すブロック図である。この電子透かし処理装置は、CPU22と、ROMおよびRAMを含むメインメモリ24と、フレームメモリ26と、キーボード30と、マウス32と、表示装置34と、ハードディスク36と、モデム38と、画像を読み取るスキャナ39と、これらの各要素を接続するバス40と、を備えるコンピュータである。なお、図8では各種のインターフェイス回路は省略されている。モデム38は、図示しない通信回線を介してコンピュータネットワークに接続されている。コンピュータネットワークの図示しないサーバは、通信回線を介してコンピュータプログラムを電子透かし処理装置に供給するプログラム供給装置としての機能を有する。
【0068】
メインメモリ24には、電子透かし埋め込み部42と、電子透かし復号部44と、透かし可視化部46と、の機能を実現するためのコンピュータプログラムが格納されている。電子透かし埋め込み部42と電子透かし復号部44と透かし可視化部46の機能については既に詳しく説明した通りである。
【0069】
これらの各部42,44,46の機能を実現するコンピュータプログラムは、フレキシブルディスクやCD−ROM等の、コンピュータ読み取り可能な記録媒体に記録された形態で提供される。コンピュータは、その記録媒体からコンピュータプログラムを読み取って内部記憶装置または外部記憶装置に転送する。あるいは、通信経路を介してコンピュータにコンピュータプログラムを供給するようにしてもよい。コンピュータプログラムの機能を実現する時には、内部記憶装置に格納されたコンピュータプログラムがコンピュータのマイクロプロセッサによって実行される。また、記録媒体に記録されたコンピュータプログラムをコンピュータが読み取って直接実行するようにしてもよい。
【0070】
この明細書において、コンピュータとは、ハードウェア装置とオペレーションシステムとを含む概念であり、オペレーションシステムの制御の下で動作するハードウェア装置を意味している。また、オペレーションシステムが不要でアプリケーションプログラム単独でハードウェア装置を動作させるような場合には、そのハードウェア装置自体がコンピュータに相当する。ハードウェア装置は、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とを少なくとも備えている。コンピュータプログラムは、このようなコンピュータに、上述の各手段の機能を実現させるプログラムコードを含んでいる。なお、上述の機能の一部は、アプリケーションプログラムでなく、オペレーションシステムによって実現されていても良い。更に、電子透かしの埋め込み処理や復号処理、透かしの不可視化処理を行なうプログラムは、画像処理を行なうプログラムに対して、プラグインの形式で付加されるものとしてもよい。
【0071】
なお、この発明における「記録媒体」としては、フレキシブルディスクやCD−ROM、光磁気ディスク、ICカード、ROMカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置(RAMやROMなどのメモリ)および外部記憶装置等の、コンピュータが読取り可能な種々の媒体を利用することができる。
【0072】
図9は、電子透かしの埋め込み部42が行う埋め込み処理の手順を示すフローチャートである。ステップS1では、原RGB画像Pと、マーク画像Mとを準備する。ステップS2では、表色系の変換に用いる変換行列Aと、その逆変換行列A-1とを準備する。ステップS3では、透かし行列Xと、透かし値xとをそれぞれ設定する。なお、ステップS3では、上述した透かし値xの値による可視度の調整と、透かし行列Xの行同士または列同士の入れ替えによる可視度の調整と、マーク画像内における複数の透かし値xの設定とを含む種々の設定をユーザが行うことが可能である。
【0073】
ステップS3では、埋め込み用変換行列(A+X)と逆変換行列A-1とを用いて、上述した埋め込み処理を実行する。ステップS5では、透かし付き画像がディスプレイ34に表示される。あるいは、透かし付き画像を図示しないプリンタで印刷するようにしてもよい。ステップS6では、ユーザが、この透かし付き画像を観察し、結果が満足できるものであれば、埋め込み処理を終了する。結果に満足できないときは、ステップS3に戻り、透かし行列Xと透かし値xの設定を変更して、再度ステップS4,S5を実行する。こうして、ステップS3〜S6を繰り返すことによって、所望の可視度の透かしマークが埋め込まれた透かし付き画像を作成することが可能である。
【0074】
なお、透かし復号部44(図8)による透かしマークの復号や、透かし不可視化部46による可視透かしの不可視化は、透かしマークが埋め込まれた透かし付き画像に対して、必要に応じて実行される。これらの処理手順の説明は省略する。
【0075】
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0076】
(1)上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。例えば、図8においてコンピュータプログラムで実現されていた電子透かし埋め込み部42と電子透かし復号部44と透かし可視化部46の機能を、それぞれ専用のハードウェア回路で実現することも可能である。
【0077】
(2)上記実施例では、RGB表色系からYCbCr表色系に一旦変換した後に逆変換することによって透かしマークの埋め込みを行っていたが、これとは逆に、YCbCr表色系からRGB表色系に一旦変換した後に逆変換することによって埋め込みを行っても良い。また、利用できる表色系としてはこれらの2つの表色系に限らず、変換と逆変換を可逆的に行いうる任意の2つの表色系を利用することが可能である。
【0078】
(3)上記実施例では、透かしマークの埋め込み時に、透かしマークの非有効領域内の画素についても、変換行列Aと逆変換行列A-1を用いて変換と逆変換をそれぞれ行っていたが、非有効領域については逆変換を行うと原画像データに戻るので、このような変換や逆変換を行わないようにしても良い。この場合には、透かしマークの有効領域について上述した埋め込み処理を行い、こうして得られた透かしマーク領域内の画像データを原画像データPに合成(すなわち上書き)することによって、透かし付き画像データPX の全体を得ることができる。換言すれば、透かしマークの埋め込みに際しては、少なくとも透かしマークの有効領域内の位置に相当する画素について、埋め込み用変換行列(A+X)を用いた変換と、逆変換行列A-1とを用いた逆変換とを行えばよい。
【0079】
(4)上記実施例では、透かしマークが文字列で構成されている例を示したが、透かしマークとしては、文字列以外の任意のオブジェクト(自然画、イラスト、ロゴ等)を用いることが可能である。
【図面の簡単な説明】
【図1】本発明の一実施例である電子透かしの埋め込み処理の原理を示す説明図。
【図2】電子透かしの埋め込み処理の内容を示す説明図。
【図3】透かし値xとアンダーフロー補正およびオーバーフロー補正の発生率との関係を示す説明図。
【図4】透かし情報の可視度の調整方法を示す説明図。
【図5】可視透かしの不可視化処理の原理を示す説明図。
【図6】マーク画像内に複数の透かし値xを適用した例を示す説明図。
【図7】多重透かしのためのマーク領域の区分例を示す説明図。
【図8】実施例における電子透かし処理を実行する電子透かし処理装置の概略構成を示すブロック図。
【図9】透かしの埋め込み処理の手順を示すフローチャート。
【符号の説明】
22…CPU
24…メインメモリ
26…フレームメモリ
30…キーボード
32…マウス
34…表示装置
36…ハードディスク
38…モデム
39…スキャナ
40…バス
42…電子透かし埋め込み部
44…電子透かし復号部
46…透かし不可視化部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a digital watermark technique for electronically embedding a watermark mark in a color image.
[0002]
[Prior art]
With the development of computer networks such as the Internet, information has been digitized, and many users can easily access necessary information. On the other hand, it is becoming an environment where data can be easily duplicated without permission from the author of the digital content for which copyright is generated in the digital information, and the problem of copyright infringement due to unauthorized copying has been attracting attention. ing. Thus, for the purpose of preventing copyright infringement regarding color images, which are the main information of digital contents, digital watermark technology that embeds watermark information such as copyright information in color image data has attracted attention.
[0003]
With regard to this type of conventional digital watermark, many technical proposals have been made for grayscale images. Considering the luminance component (Y component) of a color image, it can be handled in the same manner as a grayscale image. Therefore, a technique of embedding a digital watermark in a luminance component corresponding to a grayscale image has been used.
[0004]
[Problems to be solved by the invention]
However, few proposals have been made to embed digital watermarks using signals and data unique to color images. As a digital watermark embedding technique, “Depth information recording of color images” using the color space of a color printer (Artistic Society of Japan, Annual Conference Preliminary Proceedings, 7, 20, pp. 47-48), skillfully using visual characteristics "A method of color watermark considering visual characteristics" (IMPS 97, I-3.14, pp. 45-46 (1997)), "Method of embedding digital watermark in digital image" ( SITA 97, Vol.2, pp.541-544 (1997)) has been proposed. These techniques have a weak point that the model is complicated and the watermark embedding process is not easy. It has also been pointed out that the method of embedding a watermark in the lower bits of a color image degrades the image quality of the color image.
[0005]
An object of the present invention is to provide a digital watermark technique for embedding a watermark mark using a characteristic unique to a color image.
[0006]
[Means for solving the problems and their functions and effects]
In the present invention, the conversion matrix for converting the color image data of the first color system into the color image data of the second color system different from the first color system, and the inverse of the conversion. A transformation matrix is prepared. Further, an additional matrix having real values x and -x as components and the sum of the components in each row and each column being substantially zero is set. Then, a watermark embedding conversion matrix is created by adding an additional matrix to the conversion matrix. Next, a watermark mark to be embedded in the color image is prepared, and the color image data of the first color system is converted into the second color specification using the watermark embedding conversion matrix at the pixel corresponding to the position in the watermark mark. Convert to system. The watermark representing the watermarked color image in which the watermark mark is embedded by inversely transforming the color image data of the second color system obtained by this conversion into the first color system using an inverse transformation matrix. Create attached image data. In addition, when setting the addition matrix, the visibility of the watermark mark in the watermarked color image is adjusted by adjusting at least one of the real value x and the arrangement of each component in the addition matrix.
[0007]
In the present invention, a watermark mark can be embedded in a color image by performing conversion and inverse conversion using a conversion matrix between two color systems, an inverse conversion matrix, and an additional matrix. When the value of the real value x defining the component of the additional matrix changes, the color of the watermark mark changes. Further, the watermark mark color is changed by changing the arrangement of each component of the additional matrix. Therefore, it is possible to adjust the visibility of the watermark mark by adjusting at least one of the value of the real value x of the additional matrix and the arrangement of each component in the additional matrix.
[0008]
Here, as the first or second color system, an RGB color system using the three primary colors of light as a parameter or a YCbCr color system using a luminance signal and a color difference signal as parameters can be appropriately employed. These color systems are often used when handling image data, and the mutual conversion matrix is well known. Therefore, there are a lot of retouching software and the like for handling future image data, and a digital watermark can be easily embedded.
[0009]
The watermark mark may include a plurality of mark groups that are spatially separated from each other. At this time, visibility can be adjusted by setting the real value x to a value different from that of other mark groups in at least some of the plurality of mark groups. In this way, it is possible to embed a plurality of mark groups with different visibility in a color image.
[0010]
The watermark mark may include a mark area composed of spatially continuous pixels, and the mark area may be divided into a plurality of divided areas. At this time, visibility can be adjusted by setting the real value x to a value different from that of other partitioned areas in at least some of the partitioned areas. In this way, it is possible to embed a watermark mark in a color image that includes a mark area composed of a plurality of segment areas having different visibility.
[0011]
The visibility can be adjusted by exchanging columns or rows of the additional matrix. In this way, it is possible to set the watermark mark to a desired visibility by simply exchanging columns or rows.
[0012]
Note that when the watermark mark is visible with the naked eye in a watermarked color image, the visibility of the watermark mark can be reduced. At this time, first, an invisible matrix that is an inverse matrix of the sum of the product of the inverse transformation matrix and the additional matrix and the unit matrix having the same order as the transformation matrix is prepared. Then, at the pixel corresponding to the position in the watermark mark, the visibility of the visible watermark mark is lowered by operating the invisible matrix on the watermarked image data.
[0013]
Furthermore, when the YCbCr color system image data obtained by conversion using the watermark embedding conversion matrix is inversely converted to the RGB color system using an inverse conversion matrix, each pixel value in the RGB color system image data is converted. It is preferable to perform underflow correction and overflow correction so that becomes an integer value within a predetermined range. In this way, the result of the inverse transformation can be stored within the range that can be taken by the RGB color system image data.
[0014]
The real value x of the additional matrix is preferably set to a value in the range of about 0.01 to about 0.7. By so doing, the occurrence rate of underflow correction and overflow correction can be kept small, so that substantial image quality degradation due to watermark mark embedding can be reduced.
[0015]
The present invention relates to a digital watermarking method and apparatus, a computer program for realizing the function of the method or apparatus, a recording medium recording the computer program, a data signal embodied in a carrier wave including the computer program, It can implement | achieve in various aspects, such as.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
A. Principle of digital watermark embedding and decoding:
Hereinafter, embodiments of the present invention will be described based on examples. FIG. 1 is an explanatory diagram of the principle of the digital watermark embedding process in the digital color image in the embodiment. FIG. 2 is an explanatory diagram showing the contents of the embedding process.
[0017]
FIG. 2A shows a digital color image which is an original image expressed in the RGB color system. The original image P is defined as an aggregate of a large number of pixels arranged in a matrix, and the size of the original image P is defined by a horizontal resolution Hsize and a vertical resolution Vsize. The unit of horizontal resolution and vertical resolution is the number of pixels.
[0018]
In this specification, image data representing the color of each pixel of the original image P is a matrix P = [r, g, b].t(Superscript "t"Indicates a transpose matrix). Here, r, g, and b are the luminances of the color components of red (r), green (g), and blue (b), which are the three primary colors of light. The luminance of each color is expressed with a predetermined resolution (for example, 256 gradations from 0 to 255). In addition to the RGB color system, a YCbCr color system composed of a luminance signal and two color difference signals is widely known as a color system that defines the color of each pixel. In this specification, image data representing the color of each pixel in the YCbCr color system is a matrix F = [y, cb, cr].tDefined by
[0019]
These two color systems include a color signal conversion matrix A and its inverse matrix A as shown in the following equations (1a) and (1b).-1Can be reversibly converted to each other.
[0020]
[Expression 1]
[0021]
Here, (i, j) attached to the color signals P and F means the position of the pixel.
[0022]
In this embodiment, the transformation matrix A and the inverse transformation matrix A-1As shown below, those given by the following equations (2a) and (2b) are used.
[0023]
[Expression 2]
[0024]
In this embodiment, a watermarked image is created by embedding a watermark mark when converting RGB color system image data P into YCbCr color system image data F, and inversely converting it back to the RGB color system again. To do. The transformation matrix used for embedding the watermark mark (referred to as “embedding transformation matrix”) is obtained by adding the addition matrix X given by the following equation (3) to the transformation matrix A (that is, (A + X)). is there.
[0025]
[Equation 3]
[0026]
This additional matrix X is a matrix having real values x and −x as components, and the sum of the components in each row and each column is zero. In the present specification, the real value x is also referred to as “watermark value”, and the additional matrix X is also referred to as “watermark matrix”. The configuration of the watermark matrix X is determined for the following reason. First, consider embedding a watermark so that it cannot be seen with the naked eye. For this reason, it is preferable to prevent image quality deterioration due to watermark embedding as much as possible. By the way, when each component of the transformation matrix A given by the equation (2a) is observed, it can be seen that the sum of the absolute values of the components in each row is all 1. Therefore, in the embedding conversion matrix (A + X), it is preferable to maintain the relationship in which the sum of the absolute values of the components in each row is 1, in order to prevent image quality deterioration. Since the watermark matrix X of the equation (3) is set so that the sum of the components of each row and each column is 0, such a requirement is satisfied.
[0027]
When embedding a watermark mark in the original image P, a mark image M including a watermark mark to be embedded is prepared in addition to the original image P. FIG. 2B shows an example of the mark image M used in this embodiment. This mark image M is a binary image, the pixel value m in the area of the two characters “I” and “T” constituting the watermark mark is 1, and the pixel value m in the other areas is 0. Hereinafter, an area having a pixel value m of 1 is referred to as a “watermark mark effective area” or simply a “mark area”, and an area having a pixel value m of 0 is referred to as a “watermark mark ineffective area”. The effective area of the watermark mark may be simply referred to as “watermark mark”. For example, the phrase “position in the watermark mark” has the same meaning as “position in the effective area of the watermark mark”.
[0028]
The mark image M of this embodiment has the same size as the original image P. However, the mark image M does not need to have the same size as the original image P, and the position of the watermark mark embedded in the original image M may be determined by some method.
[0029]
When embedding a watermark mark, first, conversion from the RGB color system to the YCbCr color system is performed according to the following equations (4a) and (4b).
[0030]
[Expression 4]
[0031]
That is, for a pixel at a position corresponding to the effective area of the watermark mark (m (i, j) = 1 pixel), an embedding conversion matrix (A + X) obtained by adding the original conversion matrix A and the watermark matrix X is used. The color system conversion is executed. On the other hand, in the pixel at the position corresponding to the ineffective area of the watermark mark (pixel of m (i, j) = 0), the color system conversion is executed using the original conversion matrix A as it is.
[0032]
When the arithmetic processing according to the equations (4a) and (4b) is executed for all the pixels, the watermarked YCbCr image data F with the watermark information embedded thereinX Is obtained (FIG. 1, FIG. 2C).
[0033]
Next, this watermarked YCbCr image data FX Inverse matrix A-1Is operated from the left, the watermarked RGB image data P given by the following equations (5a) and (5b)X Is obtained (FIG. 1).
[0034]
[Equation 5]
[0035]
As shown in equation (5a), watermarked RGB image data PX Is a noise component (A) in the original RGB image data P within the effective area of the watermark mark.-1XP) is superimposed. Further, in the watermark mark ineffective area, the watermarked RGB image data PX Has the same value as the original RGB image data P.
[0036]
By the way, the sum of the components of each row of the watermark matrix X is 0 as shown in the above equation (3). Therefore, when the r, g, and b component values of the original RGB image data P (i, j) are equal to each other (that is, when the color is achromatic), the noise component (A-1XP) becomes zero. In order to prevent such a problem, the watermark mark is preferably positioned in a non-achromatic region in the original image.
[0037]
Note that FIG. 2C shows a state in which the watermark mark in the watermarked image appears light. However, in reality, the visibility of the watermark mark (ease of recognition with the naked eye) can be adjusted by adjusting the watermark value x in the watermark matrix X. A method for adjusting the visibility of the watermark mark will be described later.
[0038]
Incidentally, while RGB image data is composed of integer values, YCbCr image data is usually composed of real values. Therefore, realization is performed when converting to the YCbCr color system using the equations (4a) and (4b), and integer conversion is performed when converting back to the RGB color system using the equations (5a) and (5b). Done. In this integerization, there are cases where the pixel value becomes negative and underflow occurs, or the pixel value exceeds the upper limit of the pixel value and overflows. In order to solve this problem, in the present embodiment, underflow correction and overflow correction are performed at the time of integerization. That is, underflow correction is set to 0 when the pixel value before integerization is negative, and overflow correction is adopted when the upper limit value (for example, 255) of the bit representation is exceeded. I do.
[0039]
When underflow correction or overflow correction is performed, the substantial image quality of the watermarked image is degraded. Here, “substantial degradation” means degradation of image quality that cannot be recovered even if the watermark mark is erased. Since underflow correction and overflow correction are caused by adding the watermark matrix X to the original conversion matrix A, the occurrence rate of underflow correction and overflow correction depends on the watermark value x which is a component of the watermark matrix X. To do. Therefore, the watermark value x is preferably set to a value that does not cause much underflow correction or overflow correction.
[0040]
FIG. 3 is an explanatory diagram showing the relationship between the watermark value x and the occurrence rate of underflow correction and overflow correction. Here, the results regarding two images, “girl” and “graphic”, which are standard images used for image quality characteristic evaluation, are shown. Note that the difference in the result between the case where the watermark value x is 0.1 and the case where the value is −0.1 is considered to be because the distribution of the components r, g, and b of the three colors in the image is biased. . From the results of FIG. 3, it can be seen that it is preferable to set the watermark value x to a value of about 0.7 or less in order to keep the occurrence rate of underflow correction and overflow correction low. Since the watermark mark cannot be embedded if the watermark value x is set to 0, it is actually preferable to set the watermark value x to a value of about 0.01 or more. Therefore, the watermark value x is preferably set to a value in the range of about 0.01 to about 0.7.
[0041]
By the way, when the embedded watermark mark cannot be recognized with the naked eye, it is necessary to restore the watermark mark. The watermark mark that cannot be recognized by the naked eye is the RGB image data P with watermark.X Noise component (A-1By using (XP), it is possible to perform decoding by the following various methods.
[0042]
The first method is a method of performing image color change processing so as to increase the luminance value of each component r, g, b of the watermarked RGB image to near the maximum value. In this way, the noise component (A-1XP) is also increased, and the watermark mark may be easily recognized with the naked eye.
[0043]
The second method is to use watermarked RGB image data PX Noise component (A-1XP) directly. That is, using the original image data P as a key, the watermarked RGB image data PX Noise component (A-1By determining the region with XP), the watermark mark (ie watermark information) can be decoded. Specifically, watermarked RGB image data PX And the difference between the original RGB image data P (PX -P), and this difference (PX An area where -P) is not 0 can be determined as a mark area. The difference (PX −P) is a matrix having three components r, g, and b, and “difference (PX The phrase “-P) is not zero” means that at least one of the three components is not zero.
[0044]
Note that the noise component (A-1XP), when the transformation matrix A is operated from the left, the product (XP) of the watermark matrix X and the original image data P is obtained. If the original image data P is known, the watermark value x of the watermark matrix X can be decoded from this product (XP) even if the watermark value x is unknown.
[0045]
As described above, by using the embedding transformation matrix (A + X) obtained by adding the watermark matrix X to the transformation matrix A, the watermark mark can be embedded in the color image. It is also possible to restore the embedded watermark mark from the watermarked image.
[0046]
B. Adjust the visibility of the watermark:
As described above, watermarked RGB image PX Then, the noise component (A-1XP) is superimposed. Accordingly, the noise component (A-1It is possible to adjust the visibility of the watermark mark by changing the value of (XP).
[0047]
FIG. 4 is an explanatory diagram showing a method for adjusting the visibility of a watermark mark. The original image P in FIG. 4 (A) and the mark image M in FIG. 4 (B) are the same as those shown in FIGS. 2 (A) and 2 (B).
[0048]
When the watermark value x is set to a relatively large value of about 0.7, the watermark mark in the watermarked image can be clearly recognized with the naked eye as shown in FIG. Such watermark marks are referred to herein as “visible watermarks”. In particular, if a watermark mark is present in an area where the color change is small, the color change in the mark area can be recognized more clearly. Therefore, in order to make the watermark mark easy to see, it is preferable to position the watermark mark in an area where the color change is small.
[0049]
On the other hand, when the watermark value x is set to a relatively small value of about 0.05, the watermark mark in the watermarked image cannot be recognized with the naked eye as shown in FIG. Such watermark marks are referred to herein as “invisible watermarks”. In FIG. 4E, the outline of the mark area is indicated by a dotted line to indicate the position of the watermark mark. However, in practice, the watermark mark can be made invisible to such an extent that it cannot be recognized with the naked eye. It is. In particular, watermark marks tend to be difficult to visually recognize in low brightness areas or chromatic areas close to achromatic colors. Therefore, in order to make it difficult to visually recognize the watermark mark, it is preferable to position the watermark mark in a region with low brightness or a chromatic color region close to an achromatic color.
[0050]
When the watermark value x is set to an intermediate value between the visible watermark and the invisible watermark, a translucent watermark (referred to as “semi-visible watermark”) can be generated. For example, when the watermark value x is set to a value of about 0.3, the watermark mark in the watermarked image becomes translucent as shown in FIG.
[0051]
Thus, by setting the watermark value x to an appropriate value, the visibility of the watermark mark can be set to a desired level.
[0052]
By the way, instead of adjusting the watermark value x as described above, it is possible to adjust the color of the watermark mark by adjusting the arrangement of the watermark matrix X. That is, instead of the watermark matrix X shown in equation (3), the watermark matrix X as exemplified in the following equations (6) and (7):1,2 , X1,3 If the above-described embedding process is performed using, the watermark mark color is changed.
[0053]
[Formula 6]
[0054]
[Expression 7]
[0055]
Watermark matrix X in equation (6)1,2 Is obtained by switching the first and second rows of the watermark matrix X in equation (3). Also, the watermark matrix X in equation (7)1,3 Is obtained by switching the first row and the third row of the watermark matrix X in equation (3). As can be seen from these examples, it is generally possible to change the color of the watermark mark by exchanging the columns or rows of the watermark matrix X. Note that when the color of the watermark mark is changed, the ease of recognition with the naked eye (that is, the visibility) often changes. Therefore, in this specification, changing the color of the watermark mark by exchanging the columns or rows of the watermark matrix in this way also corresponds to “adjustment of visibility”.
[0056]
C. Visibility watermark invisibility processing:
Further, the visible watermark can be made invisible by the following processing. As can be understood from the above-described equation (5a), the watermark mark can be recognized with the naked eye.X Noise component (A-1This is because XP) is relatively large. Therefore, the noise component (A-1It is possible to make the visible watermark invisible by performing a process that reduces (XP). In this invisibility process, an invisibility matrix K given by the following equation (8) is used.
[0057]
[Equation 8]
[0058]
Here, I is a 3 × 3 unit matrix. That is, the invisible matrix K is the inverse transformation matrix A- 1And the watermark matrix X (A-1X) and a unit matrix I having an order equal to that of the transformation matrix A (I + A)-1X) is an inverse matrix.
[0059]
As shown in FIG. 5, this invisible matrix K is converted into the watermarked RGB image data P of the equation (5a).X The operation result is given by the following equation (9).
[0060]
[Equation 9]
[0061]
Here, the right side of the second row of the equation (9) is P ′ (i, j) because the calculation error (rounding error) during the above-described embedding process is completely the original image data P. This means that (i, j) may not return. That is, since integer conversion is performed when the YCbCr signal is inversely converted to the RGB signal, the invisible image data P ′ (i, j) obtains exactly the same value as the original image data P (i, j). There are things that cannot be done. However, since the error is a small amount after the decimal point, the invisible image looks the same as the original image with the naked eye. However, when the error due to the overflow correction or the underflow correction is large, the color cannot be restored even if it is made invisible, and the trace of the watermark mark may be visible. Therefore, in order to make it invisible as much as possible, it is preferable to use a small watermark value x that does not cause much overflow correction or underflow correction.
[0062]
Since the invisible image data P ′ includes an error in the mark area, the watermark mark can be decoded from the invisible image data P ′. For example, the difference (P′−P) between the invisible image data P ′ and the original image data P is taken, and an area where the difference (P′−P) is not 0 can be determined as the mark area. .
[0063]
E. Security improvement measures:
In the above description, one watermark value x is used for the entire watermark mark. If the watermark value x is known to a third party, a false watermark may be created or the watermark mark may be easily changed. Therefore, in order to enhance the security of the digital watermark, it is preferable to apply a plurality of watermark values x in the mark image.
[0064]
FIG. 6 is an explanatory diagram illustrating an example in which a plurality of watermark values x are applied to a mark image. In FIG. 6A, different watermark values x are applied to the mark areas of the two characters “I” and “T” constituting the watermark mark.1 , X2 Has been applied. Also, in FIG. 6B, two sets of spatially separated mark groups are arranged in the mark image, and different watermark values x for these two mark groups.1 , X2 Has been applied. In the case of FIG. 6A as well, the characters “I” and “T” can be considered as different mark groups. That is, generally, different watermark values x can be set for a plurality of mark groups spatially separated from each other. As described above, the visibility of the watermark mark changes according to the watermark value x. Therefore, by setting different watermark values x for a plurality of mark groups in the mark image, mark groups with various visibility values are added to the watermarked image. It is possible to embed in.
[0065]
FIG. 7 is an explanatory diagram showing an example of mark area division for multiple watermarks. In the example of FIG. 7, a mark area composed of one character “T” is divided into a plurality of divided areas, and different watermark values x are applied to adjacent divided areas. As a method of dividing the mark area, various methods such as a method of dividing by a parallel line as shown in FIG. 7A and a method of dividing by a contoured multiple contour line as shown in FIG. 7B are considered. It is done. “One mark area” means an effective area composed of spatially continuous pixels.
[0066]
In such a multiple watermark method, the watermark value x applied to each segmented area can be concealed, so that it is possible to prevent a third party from easily finding the watermark value x.
[0067]
F. Overall configuration and processing procedure of the device:
FIG. 8 is a block diagram illustrating a configuration of a digital watermark processing apparatus that executes the above-described digital watermark processing according to the present embodiment. This digital watermark processing apparatus includes a
[0068]
The
[0069]
A computer program that realizes the functions of these
[0070]
In this specification, the computer is a concept including a hardware device and an operation system, and means a hardware device that operates under the control of the operation system. Further, when an operation system is unnecessary and a hardware device is operated by an application program alone, the hardware device itself corresponds to a computer. The hardware device includes at least a microprocessor such as a CPU and means for reading a computer program recorded on a recording medium. The computer program includes program code for causing such a computer to realize the functions of the above-described means. Note that some of the functions described above may be realized by an operation system instead of an application program. Furthermore, a program for embedding and decoding digital watermarks and making a watermark invisible may be added in the form of a plug-in to a program for performing image processing.
[0071]
The “recording medium” in the present invention includes a flexible disk, a CD-ROM, a magneto-optical disk, an IC card, a ROM cartridge, a punch card, a printed matter on which a code such as a bar code is printed, an internal storage device (RAM) of a computer. And various types of computer-readable media such as memory such as ROM and external storage devices.
[0072]
FIG. 9 is a flowchart showing the procedure of the embedding process performed by the digital
[0073]
In step S3, the embedding transformation matrix (A + X) and the inverse transformation matrix A-1Are used to execute the above-described embedding process. In step S5, the watermarked image is displayed on the
[0074]
It should be noted that decoding of the watermark mark by the watermark decoding unit 44 (FIG. 8) and invisibility of the visible watermark by the
[0075]
The present invention is not limited to the above examples and embodiments, and can be implemented in various modes without departing from the gist thereof. For example, the following modifications are possible.
[0076]
(1) In the above embodiment, a part of the configuration realized by hardware may be replaced with software, and conversely, a part of the configuration realized by software may be replaced with hardware. Also good. For example, the functions of the digital
[0077]
(2) In the above embodiment, watermark mark embedding is performed by once converting from the RGB color system to the YCbCr color system and then performing reverse conversion, but conversely, from the YCbCr color system to the RGB table. The embedding may be performed by converting the color system once and then performing the inverse conversion. The usable color systems are not limited to these two color systems, and any two color systems capable of reversibly performing conversion and reverse conversion can be used.
[0078]
(3) In the above embodiment, when the watermark mark is embedded, the transformation matrix A and the inverse transformation matrix A are also applied to the pixels in the ineffective area of the watermark mark.-1However, since the conversion to the original image data is restored when the inverse transformation is performed for the ineffective area, the conversion and the inverse transformation may not be performed. In this case, the above-described embedding process is performed on the effective area of the watermark mark, and the image data in the watermark mark area thus obtained is combined (ie, overwritten) with the original image data P, whereby the watermarked image data PX Can get the whole of. In other words, at the time of embedding a watermark mark, at least a pixel corresponding to a position in the effective area of the watermark mark is converted using an embedding conversion matrix (A + X) and an inverse conversion matrix A-1It is sufficient to perform inverse transformation using.
[0079]
(4) In the above embodiment, an example is shown in which the watermark mark is composed of a character string. However, any object (natural image, illustration, logo, etc.) other than the character string can be used as the watermark mark. It is.
[Brief description of the drawings]
FIG. 1 is an explanatory diagram showing the principle of digital watermark embedding processing according to an embodiment of the present invention.
FIG. 2 is an explanatory diagram showing the contents of a digital watermark embedding process.
FIG. 3 is an explanatory diagram showing a relationship between a watermark value x and an occurrence rate of underflow correction and overflow correction.
FIG. 4 is an explanatory diagram showing a method for adjusting the visibility of watermark information.
FIG. 5 is an explanatory diagram showing the principle of a visible watermark invisibility process;
FIG. 6 is an explanatory diagram showing an example in which a plurality of watermark values x are applied to a mark image.
FIG. 7 is an explanatory diagram showing an example of mark area classification for multiple watermarks.
FIG. 8 is a block diagram showing a schematic configuration of a digital watermark processing apparatus that executes digital watermark processing in the embodiment.
FIG. 9 is a flowchart illustrating a procedure of watermark embedding processing.
[Explanation of symbols]
22 ... CPU
24 ... Main memory
26: Frame memory
30 ... Keyboard
32 ... Mouse
34 ... Display device
36 ... Hard disk
38 ... modem
39 ... Scanner
40 ... Bus
42. Digital watermark embedding unit
44. Digital watermark decoding unit
46. Watermark invisible part
Claims (9)
(a)第1の表色系のカラー画像データを前記第1の表色系とは異なる第2の表色系のカラー画像データに変換する変換行列と、前記変換の逆変換を行なう逆変換行列と、を準備する工程と、
(b)実数値xおよび−xを成分とし、かつ、各行および各列の成分の和が略0となる付加行列を設定する工程と、
(c)前記変換行列に前記付加行列を加算することによって、透かし埋め込み用変換行列を作成する工程と、
(d)カラー画像内に埋め込まれる透かしマークを準備する工程と、
(e)前記透かしマーク内の位置に相当する画素において、前記透かし埋め込み用変換行列を用いて前記第1の表色系のカラー画像データを前記第2の表色系に変換する工程と、
(f)前記変換により得られた第2の表色系のカラー画像データを、前記逆変換行列を用いて前記第1の表色系に逆変換することによって、前記透かしマークが埋め込まれた透かし付きカラー画像を表す透かし付き画像データを作成する工程と、
を備え、
前記工程(b)は、前記実数値xと、前記付加行列内の各成分の配列とのうちの少なくとも一方を調整することによって、前記透かし付きカラー画像における前記透かしマークの可視度を調整する工程を含むことを特徴とする電子透かし方法。An electronic watermarking method for embedding a watermark mark in a color image,
(A) a conversion matrix for converting color image data of the first color system to color image data of a second color system different from the first color system, and reverse conversion for performing reverse conversion of the conversion A process of preparing a matrix;
(B) setting an additional matrix having real values x and -x as components and the sum of the components in each row and each column being substantially zero;
(C) creating a watermark embedding transformation matrix by adding the additional matrix to the transformation matrix;
(D) preparing a watermark mark to be embedded in the color image;
(E) converting the color image data of the first color system into the second color system using the watermark embedding conversion matrix at a pixel corresponding to a position in the watermark mark;
(F) A watermark in which the watermark mark is embedded by inversely transforming the color image data of the second color system obtained by the conversion into the first color system using the inverse transformation matrix. Creating a watermarked image data representing a colored image,
With
The step (b) adjusts the visibility of the watermark mark in the watermarked color image by adjusting at least one of the real value x and the arrangement of each component in the additional matrix. An electronic watermarking method comprising:
前記透かしマークは、互いに空間的に分離された複数のマーク群を含み、
前記可視度の調整は、前記複数のマーク群のうちの少なくとも一部のマーク群において、前記実数値xを、他のマーク群と異なる値に設定することによって行われる、
電子透かし方法。The digital watermark method according to claim 1, comprising:
The watermark mark includes a plurality of mark groups spatially separated from each other;
The visibility adjustment is performed by setting the real value x to a value different from that of other mark groups in at least some of the mark groups.
Digital watermarking method.
前記透かしマークは、空間的に連続した画素で構成されるマーク領域を含むとともに、前記マーク領域が複数の区分領域に区分されており、
前記可視度の調整は、前記複数の区分領域のうちの少なくとも一部の区分領域において、前記実数値xを、他の区分領域と異なる値に設定することによって行われる、電子透かし方法。The digital watermark method according to claim 1, comprising:
The watermark mark includes a mark area composed of spatially continuous pixels, and the mark area is divided into a plurality of divided areas,
The visibility adjustment is performed by setting the real value x to a value different from that of other divided areas in at least some of the divided areas.
前記可視度の調整は、前記付加行列の列同士または行同士を入れ替えることによって行われる、電子透かし方法。The digital watermark method according to claim 1, comprising:
The visibility adjustment is a digital watermarking method performed by exchanging columns or rows of the additional matrix.
前記透かし付きカラー画像において前記透かしマークが肉眼で視認可能である場合に、
前記方法は、さらに、
(g)前記逆変換行列と前記付加行列の積と、前記変換行列と等しい次数を有する単位行列と、の和の逆行列である不可視化行列を準備する工程と、
(h)前記透かしマーク内の位置に相当する画素において、前記透かし付き画像データに前記不可視化行列を操作させることによって、前記視認可能な透かしマークの可視度を低下させる工程を含む、電子透かし方法。The digital watermark method according to claim 1, comprising:
When the watermark mark is visible to the naked eye in the watermarked color image,
The method further comprises:
(G) preparing an invisible matrix that is an inverse matrix of a sum of a product of the inverse transformation matrix and the additional matrix and a unit matrix having an order equal to the transformation matrix;
(H) a method of reducing the visibility of the visible watermark mark by causing the watermarked image data to manipulate the invisibility matrix at a pixel corresponding to a position in the watermark mark; .
前記第1と第2の表色系の一方は、光の三原色を表す3つの色信号成分で構成されるRGB表色系であり、前記第1と第2の表色系の他方は、輝度信号と2つの色差信号成分とで構成されるYCbCr表色系である、電子透かし方法。The digital watermark method according to claim 1, comprising:
One of the first and second color systems is an RGB color system composed of three color signal components representing the three primary colors of light, and the other of the first and second color systems is luminance. A digital watermark method, which is a YCbCr color system composed of a signal and two color difference signal components.
前記工程(f)は、前記透かし埋め込み用変換行列による変換によって得られた前記YCbCr表色系の画像データを、前記逆変換行列を用いて前記RGB表色系に逆変換するに際して、前記RGB表色系の画像データにおける各画素値が所定範囲の整数値となるようにアンダフロー補正およびオーバフロー補正を行なう工程を含む、電子透かし方法。The digital watermark method according to claim 6, comprising:
In the step (f), when the YCbCr color system image data obtained by conversion using the watermark embedding conversion matrix is inversely converted to the RGB color system using the inverse conversion matrix, the RGB table is used. An electronic watermarking method including a step of performing underflow correction and overflow correction so that each pixel value in color image data is an integer value within a predetermined range.
前記実数値xは、約0.01から約0.7の範囲の値である、電子透かし方法。The digital watermark method according to claim 1, comprising:
The digital watermark method, wherein the real value x is a value in the range of about 0.01 to about 0.7.
実数値xおよび−xを成分とし、かつ、各行および各列の成分の和が略0となる付加行列を設定する機能と、
第1の表色系のカラー画像データを前記第1の表色系とは異なる第2の表色系のカラー画像データに変換するために予め準備された変換行列と、前記付加行列とを加算することによって透かし埋め込み用変換行列を作成する機能と、
前記透かし埋め込み用変換行列を用いて、予め準備された透かしマーク内の位置に相当する画素において、前記第1の表色系のカラー画像データを前記第2の表色系に変換する機能と、
前記変換により得られた第2の表色系のカラー画像データを、前記変換行列による変換の逆変換を行うために予め準備された逆変換行列を用いて前記第1の表色系に逆変換することによって、前記透かしマークが埋め込まれた透かし付きカラー画像を表す透かし付き画像データを作成する機能と、
をコンピュータに実現させるためのコンピュータプログラムを記録しており、
前記付加行列設定機能は、前記実数値xと、前記付加行列内の各成分の配列とのうちの少なくとも一方を調整することによって、前記透かし付きカラー画像における前記透かしマークの可視度を調整する機能を含むことを特徴とするコンピュータ読み取り可能な記録媒体。A computer-readable recording medium recording a computer program for embedding a watermark mark in a color image,
A function of setting an additional matrix having real values x and -x as components and the sum of the components in each row and each column being substantially zero
A conversion matrix prepared in advance for converting color image data of the first color system to color image data of a second color system different from the first color system and the additional matrix are added A function for creating a conversion matrix for embedding a watermark, and
A function of converting the color image data of the first color system to the second color system at a pixel corresponding to a position in a watermark mark prepared in advance using the watermark embedding conversion matrix;
Inverse conversion of the color image data of the second color system obtained by the conversion into the first color system using an inverse conversion matrix prepared in advance for performing an inverse conversion of the conversion by the conversion matrix A function of creating watermarked image data representing a watermarked color image in which the watermark mark is embedded;
Is recorded a computer program to make the computer realized,
The additional matrix setting function adjusts the visibility of the watermark mark in the watermarked color image by adjusting at least one of the real value x and the arrangement of each component in the additional matrix. A computer-readable recording medium comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17081699A JP3881810B2 (en) | 1999-06-17 | 1999-06-17 | Digital watermark with adjustable watermark mark visibility |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17081699A JP3881810B2 (en) | 1999-06-17 | 1999-06-17 | Digital watermark with adjustable watermark mark visibility |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000358154A JP2000358154A (en) | 2000-12-26 |
JP3881810B2 true JP3881810B2 (en) | 2007-02-14 |
Family
ID=15911874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17081699A Expired - Fee Related JP3881810B2 (en) | 1999-06-17 | 1999-06-17 | Digital watermark with adjustable watermark mark visibility |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3881810B2 (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3687675B2 (en) | 2002-12-25 | 2005-08-24 | 株式会社ニコン | Electronic camera having digital watermark function and image processing program |
JP2006033755A (en) | 2004-07-21 | 2006-02-02 | Fuji Xerox Co Ltd | Image processing apparatus |
US8995706B2 (en) | 2008-09-26 | 2015-03-31 | Thomson Licensing | Method for protecting digital content against minority collusion attacks |
US20140029787A1 (en) * | 2011-04-11 | 2014-01-30 | Nec Casio Mobile Communications, Ltd. | Data transmission device, method for adding copyright notice, and program |
JP7327041B2 (en) * | 2019-09-25 | 2023-08-16 | 株式会社リコー | Program, information processing device, image forming device, printing system |
CN112131539B (en) * | 2020-09-28 | 2024-05-14 | 北京达佳互联信息技术有限公司 | Watermark information adding method and device |
CN112218090B (en) * | 2020-10-20 | 2022-05-27 | 桂林电子科技大学 | Information hiding and extracting method for embedding color two-dimensional code into color image |
CN113962839A (en) * | 2021-08-26 | 2022-01-21 | 贵州大学 | Multi-color mode quantum image blind watermarking method based on TMQIR |
CN115114598B (en) * | 2022-06-28 | 2024-09-27 | 上海艺赛旗软件股份有限公司 | Watermark generation method and device and watermark file tracing method and device |
-
1999
- 1999-06-17 JP JP17081699A patent/JP3881810B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000358154A (en) | 2000-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3881794B2 (en) | Digital watermark embedding method and decoding method thereof | |
US7136503B2 (en) | Encoding hidden data | |
US6049627A (en) | Covert digital identifying indicia for digital image | |
Fu et al. | Data hiding in halftone images by stochastic error diffusion | |
US7142691B2 (en) | Watermark embedding functions in rendering description files | |
US20030086609A1 (en) | Parity-grid steganographic method and apparatus | |
Guo et al. | Halftone image watermarking by content aware double-sided embedding error diffusion | |
JP2004289783A (en) | Electronic watermark method for binary image | |
JP2004320448A (en) | Image processor, image processing system, and program running on computer | |
US6771820B1 (en) | Encoding information within text printed on a page using differing gray or color levels | |
US7440584B2 (en) | System and method for marking data and document distribution | |
JP3881810B2 (en) | Digital watermark with adjustable watermark mark visibility | |
US8081793B2 (en) | Electronic watermarking method and apparatus for color image data | |
Juneja et al. | Application of LSB based steganographic technique for 8-bit color images | |
US8064103B2 (en) | Information processing apparatus and method | |
CN115841413A (en) | Image processing method and device | |
JP4061143B2 (en) | Image processing apparatus and image processing method | |
JP4469301B2 (en) | Information embedding device, printing medium, and information reading device | |
JP4167372B2 (en) | Digital watermark embedding method, extraction method, invisibility method, visualization method, and embedding device | |
CN115270084A (en) | Blind watermark encryption implementation method based on screenshot information protection | |
JP2001274971A (en) | System and method for forming image and recorded matter | |
Gou et al. | Improving Embedding Payload in Binary Imageswith" Super-Pixels" | |
JP2001053954A (en) | Device and method for embedding information and reading information, digital watermark system and recording medium | |
JP4262219B2 (en) | Image processing apparatus and control method thereof | |
CN108765256A (en) | Data waterprint embedded method based on a kind of dct transform that human vision is covered |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060615 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061024 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061113 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121117 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121117 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131117 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |