(57)【特許請求の範囲】
【請求項１】
画像に透かし情報を埋め込む画像処理装置において、
画像の下地の濃度値を取得する下地レベル取得手段と、
下地レベルよりも濃い濃度値であって、少なくとも一つの濃度値を透かし情報を埋め込むための透かしレベルとする透かしレベル設定手段と、
一の透かしレベルの画素数が下地レベルの画素数より少なくなるように透かし情報を一または複数の透かしレベルで埋め込むように分配する透かし情報分配手段と、
前記透かし情報分配手段によって分配された各透かし情報を分配先の透かしレベルで下地部分に埋め込む透かし情報埋め込み手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記透かしレベル設定手段は、下地レベルの濃度値に一の正の差分値を繰り返し加算して複数の透かしレベルを算出する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記差分値を下地レベルに基づいて算出する差分値算出手段、を備えることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記透かし情報分配手段は、透かし情報の種別に応じて異なる透かしレベルで埋め込むように透かし情報を分配する、
ことを特徴とする請求項１から３のいずれかに記載の画像処理装置。
【請求項５】
前記透かし情報埋め込み手段は、優先度の高い透かし情報ほど下地レベルに近い透かしレベルで埋め込む、
ことを特徴とする請求項４に記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタル画像データに電子透かしを施す画像処理装置であって、特に画像の下地部分に電子透かしを施す画像処理装置に関する。
【０００２】
【従来の技術】
近年、複写機の普及により文書や写真等の画像のコピーが容易になったことに加えて、インターネットを通して世界中から所望するデジタル画像を入手できるようになったため、不正コピーの問題が急速に高まってきている。特にデジタル画像は、原本とほとんど同じ複製品を容易に作成、保存できるため、不正コピーに対して著作者の著作権を保護するための方策が切実に求められている。
【０００３】
このような方策として、さまざまな電子透かし技術が提案されている。すなわち、画家がその作品にサインするように、デジタル画像に対して識別情報（以下、この識別情報を「透かし情報」という。）を付与し、それによって著作権の所在を明らかにしようとするものである。ただし、画家のサインとは異なり、デジタル画像ではサインの模倣が極めて容易であるため、電子透かしは透かし情報をその存在が他者に分からないよう付加することを大きな目的としている。すなわち、他者に透かし情報を判別できないようにすれば、透かし情報の模倣や改変、除去が困難となるからである。
【０００４】
ところで、透かし情報を埋め込むためには、何らかの形で原画像を改変しなければならない。その際、できるだけ原画像を損なわないようにすることが重要である。そこで原画像の中でも比較的重要度が低いと考えられる背景部分（以下、背景を「下地」という。）に透かし情報を埋め込む方法が提案されている。
この種の電子透かし技術は、例えば、特開平１１−６９１４２号公報等に開示されている。
【０００５】
特開平１１−６９１４２号公報の画像処理装置においては、下地部分のうち前景の輪郭近傍に所定の画像パターンを付加することによって透かし情報を埋め込んでいる。
詳しく述べると、まず画像を走査してデジタル画像データを一次元の画素列に変換する。各画素はそれぞれ対応する濃度値を有する。
【０００６】
この画素列において、連続する所定個数の画素の濃度値が下地部分の濃度値（以下、この濃度値を「下地レベル」という。）に等しく、かつそれらに続く一の画素の濃度値が下地レベルとは異なっている場合に、前記下地レベルの画素列を所定の濃度値パターンに置き換えることによって電子透かしを施す、というものである。
【０００７】
こうすることによって、画像中の下地部分に透かし情報を埋め込むことができる。
ところで、スキャナ等の画像読み取り装置にてデジタル画像を作成する場合、下地飛ばしと呼ばれる処理を行うため、上記埋め込み方法は下地飛ばしとの関係で問題がある。下地飛ばしとは、画像を読み取る際に発生する原稿の裏写りを消去し、また新聞や色紙など地が白くない原稿の地の色を白くするという処理をいう。
【０００８】
以下、便宜上、濃度画像の濃度値がゼロの画素の色を白色とし、濃度値が大きいほど色が濃くなるものとし、また濃度値は負値をとらないものとする。
さて、一般的に画像の下地部分は画像全体に対して占める面積の割合が大きいため、画像の濃度度数分布表（以下、単に「分布表」という。）を作成すると、下地レベルの度数がもっとも高くなる。そこで、下地飛ばしでは、この度数がもっとも高いレベル以下の濃度値を有する画素の濃度値をゼロとする。このようにして、下地部分を白く描画することができるのである。例えば、図８は３２階調の濃度値をもつ画像の濃度ヒストグラムの例である。この濃度ヒストグラムでは濃度値２の度数がもっとも高くなっており、これが下地レベルと認識される。
【０００９】
【発明が解決しようとする課題】
しかしながら、特開平１１−６９１４２号公報の画像処理装置においては、下地レベルの画素を他の濃度値に置き換える処理を行っているため、電子透かしを施すと、下地レベルとは異なる濃度値の度数がもっとも高くなる場合がある。
その結果、例えば、下地以外の部分まで白く描画されたり、逆に下地が部分的にしか白く描画されなくなる、という画像品質上の問題もある。
【００１０】
また、透かし情報に関連する画素が、前記の度数が最も高い濃度値をもつ場合、下地飛ばしによって透かし情報が失われるという問題もある。
本発明は、以上のような問題点に鑑みてなされたものであり、下地レベルの判定に影響を与えないようにして、透かし情報を原画像に埋め込む画像処理装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
上記目的を達成するため、本発明の画像処理装置は、画像の下地の濃度値を取得する下地レベル取得手段と、下地レベルよりも濃い濃度値であって、少なくとも一つの濃度値を透かし情報を埋め込むための透かしレベルとする透かしレベル設定手段と、一の透かしレベルの画素数が下地レベルの画素数より少なくなるように透かし情報を一または複数の透かしレベルで埋め込むように分配する透かし情報分配手段と、前記透かし情報分配手段によって分配された各透かし情報を分配先の透かしレベルで下地部分に埋め込む透かし情報埋め込み手段と、を備えることを特徴とする。
【００１２】
また、本発明の画像処理装置の前記透かしレベル設定手段は、下地レベルの濃度値に一の正の差分値を繰り返し加算して複数の透かしレベルを算出することを特徴とする。
また、本発明の画像処理装置は、前記差分値を下地レベルに基づいて算出する差分値算出手段を備えることを特徴とする。
【００１３】
また、本発明の画像処理装置の前記透かし情報分配手段は、透かし情報の種別に応じて異なる透かしレベルで埋め込むように透かし情報を分配することを特徴とする。
また、本発明の画像処理装置の前記透かし情報埋め込み手段は、優先度の高い透かし情報ほど下地レベルに近い透かしレベルで埋め込むことを特徴とする。
【００１４】
【発明の実施の形態】
以下、本発明に係る画像処理装置の実施の形態について、図面を参照しながら説明する。
（実施の形態）
図１は、本発明に係る画像処理装置の実施の形態を示す回路ブロック図である。
【００１５】
図１において、本実施の形態に係る画像処理装置１はＣＰＵ２、画像処理プログラムを格納したＲＯＭ３、画像等のデータを格納するＲＡＭ４および外部装置７と通信するための通信インタフェース６を備える。
これらＣＰＵ２、ＲＯＭ３、ＲＡＭ４、通信インタフェース６は内部バス５を介して相互に接続されている。
【００１６】
図２は画像処理装置１の機能ブロック図である。
図２において、通信処理部８は、通信インタフェース６を制御して、外部装置７から原画像データ等を受信し、ＲＡＭ４に格納する。分布表作成部９は、ＲＡＭ４に格納された原画像データに基づいて分布表を作成し、ＲＡＭ４に格納する。下地レベル判定部１０は、ＲＡＭ４に格納された前記分布表に基づいて下地レベルを判定する。埋め込み処理部１１は、ＲＡＭ４に格納された前記の原画像データ、分布表および下地レベルに基づいて、原画像に透かし情報を埋め込み、埋め込んだ画像をＲＡＭ４に格納する。透かし情報を埋め込んだ画像は、通信処理部８によってＲＡＭ４から外部装置７へ送信される。なお、これらの処理はＲＯＭ３に格納されたプログラムに従ってＣＰＵ２が実行する。
【００１７】
以下、図３のフローチャートに基づいて、画像処理装置１の動作を説明する。画像処理装置１は外部装置７から原画像データと透かし情報を受信する（ステップＳ１）。この透かし情報には識別番号が付加されている。透かし情報が複数の種別からなる場合、外部装置７は種別毎に異なる識別番号を付与する。ここでは特に識別番号が小さい透かし情報ほど優先度が高いものとする。
【００１８】
次に、画像処理装置１は原画像データに基づいて分布表を作成する（ステップＳ２）。ここで分布表とは濃度値にその濃度値をもつ画素の個数（以下、この個数を「度数」という。）を対応させたものである。
一般的に分布表は、その元となった画像が下地を有する場合、その下地レベルにおいて著しいピークをもつ。この知見に基づいて下地レベル判定部は前記分布表において、所与の閾値ｄ0よりも濃度値が小さい範囲で、もっとも度数の高い濃度値を探す。
【００１９】
その結果、もっとも度数の高い濃度値を複数個検出した場合は下地レベルを特定できないため（ステップＳ３）、処理を終了する。
一方、もっとも高い度数の濃度値を一個検出した場合には、その濃度値を下地レベル（基準値）とする（ステップＳ４）。ここで基準値とは透かしレベルを計算するための中間変数である。
【００２０】
次に、まだ埋め込まれていない透かし情報の中から、もっとも識別番号の小さい透かし情報を選び（ステップＳ５）、埋め込み処理を行う（ステップＳ６）。この埋め込み処理に失敗したら（ステップＳ７）、これ以上透かし情報を埋め込めないと判断して処理を終了する。
埋め込み処理に成功した後、未処理の透かし情報があれば（ステップＳ８）、その中でもっとも識別番号の小さい透かし情報の埋め込み処理を行う（ステップＳ５、６）。未処理の透かし情報がすべてなくなれば、外部装置７に電子透かしを施した画像データ（以下、この画像を「透かし画像」という。）を送信して（ステップＳ９）、処理を終了する。
【００２１】
次に、図４のフローチャートに基づいて、画像処理装置１の埋め込み処理（ステップＳ６）を説明する。
ここで、画像処理装置１は、縦横ともに長さ８画素の、６４画素からなる正方形領域（以下、この正方形領域を「単位領域」という。）において、濃度値が透かしレベルである画素のパターン（以下、このパターンを「透かしパターン」という。）によって透かし情報を表現するものとする。なお、透かし情報のデータ量に応じてひとつまたは複数の単位領域を用いる。
【００２２】
図５は透かしパターンの一例である。図５においては画像の横方向の８画素を一単位とし、黒丸で表した透かしレベルの画素を有意ビット、白丸で表した透かしレベルでない画素を無意ビットとし、かつ図中、左側の画素を上位ビット、右側の画素を下位ビットとすることによって、８ビットのデータ、特にアスキーコードを表現している。この方法により図５の透かしパターンは文字列「ａｂｃｄｅｆｇｈ」を表しており、この透かしパターンを用いれば、所定の透かしレベルで透かし情報「ａｂｃｄｅｆｇｈ」を埋め込むことができる。
【００２３】
図４のフローチャートにおいて、画像処理装置１はまず、現在の基準値に差分値△ｘを加えて新たな透かしレベルとする（ステップＳ６１）。ここで△ｘは数式△ｘ＝（−９ｘ／ｄ0）＋１０から求める。ただし、ｘは下地レベルで、条件０≦ｘ≦ｄ0を満たす。このようにすれば、下地レベルが大きな値で、画像の前景部分のレベルに近い場合には、△ｘが小さくなるので、前景部分へ影響を抑えつつ、透かしレベルの数を増やすことができる。また、下地レベルが小さな値で、下地以外のレベルから離れている場合は、透かしレベルの間隔を大きくして、透かしレベル間の判別性を良くすることができる。
【００２４】
次に、画像処理装置１は濃度値が基準値より大きく、透かしレベル以下である画素の濃度値を下地レベルに変更する（ステップＳ６２）。この濃度値を変更する画素の数をＮ個とする。
画像処理装置１は次の一単位領域分の透かし情報を埋め込むと、現在の透かしレベルの画素数がＮよりも多くなるか、または下地レベルの画素数以上となる場合（ステップ６３）、前記透かし情報の埋め込みを保留する。その後、現在の透かしレベルを新たな基準値として（ステップＳ６４）、ステップＳ６１に進む。
【００２５】
さもなければ画像を単位領域に分割し、一の単位領域について、領域内のすべての画素の濃度値が下地レベルより小さい単位領域（以下、この単位領域を「空き領域」という。）を探索する。
もし空き領域が見つからなければ（ステップＳ６５）、埋め込み失敗とみなして、埋め込み処理を終了する。
【００２６】
空き領域があれば、その空き領域に透かし情報を埋め込む（ステップＳ６６）。埋め込んでいない透かし情報がなくなれば（ステップＳ６７）、埋め込み成功とみなして、埋め込み処理を終了する。
まだ埋め込んでいない透かし情報があれば、ステップＳ６３に進む。
図６は画像処理装置１による透かし情報を埋め込みよって画像の濃度ヒストグラムが変化する過程を例示したものである。以下、前記ステップＳ６２以降の処理による濃度ヒストグラムの変化について説明する。
【００２７】
図６（ａ）は透かし情報を埋め込む前の濃度ヒストグラムである。ここでは、△ｘ＝３の場合について例示する。したがって、透かしレベル１は、下地レベルに△ｘ＝３を加算して算出される。
図６（ｂ）はステップＳ６２の処理を施した後の濃度ヒストグラムである。濃度値が基準値（下地レベル）より大きく、透かしレベル（透かしレベル１）以下である画素の濃度値を下地レベルに変更したので、図６（ｂ）に比べて下地レベルの度数がＮ＝６だけ増加している。
【００２８】
ここで、次の一単位領域分の透かし情報（以下、この透かし情報を「透かし情報１」という。）を埋め込むと、現在の透かしレベル（透かしレベル１）の画素数がＮ＝６となるものとし、かつステップＳ６５ですべての画素が下地レベルである空き領域（以下、この空き領域を「空き領域１」という。）が見つかったものとする。
【００２９】
図６（ｃ）は、ステップＳ６６に従って、透かしレベル１で透かし情報１を空き領域１に埋め込んだ後の濃度ヒストグラムである。空き領域１において、下地レベルの６個の画素が透かしレベル１に変更されたので、図６（ｃ）の濃度ヒストグラムでは、下地レベルの度数が６だけ減少し、透かしレベル１の度数が６となっている。
【００３０】
次に、まだ埋め込まれていない透かし情報があるとすると、ステップＳ６７の条件判断の結果、処理がステップＳ６３に進む。
透かし情報１を埋め込んだ結果、透かしレベル１ではこれ以上、透かし情報を埋め込むことができないので、透かしレベル１を基準値とし（ステップＳ６４）、この基準値（透かしレベル１）に△ｘ＝３を加算して透かしレベル２を求める（ステップＳ６１）。図６（ｄ）の濃度ヒストグラムに、透かしレベル２の位置と、ステップＳ６２の処理で、濃度値を変更される画素に対応する部分を網掛けで示した。
【００３１】
図６（ｅ）はステップＳ６２の処理を実行した後の濃度ヒストグラムである。濃度値が基準値（透かしレベル１）より大きく、透かしレベル(透かしレベル２)以下である画素の濃度値を下地レベルに変更した結果、下地レベルの度数がＮ＝４だけ増加している。
ここで、次の一単位領域分の透かし情報（以下、この透かし情報を「透かし情報２」という。）を埋め込むと、現在の透かしレベル（透かしレベル２）の画素数が３となるものとし、かつステップＳ６５で空き領域（以下、この空き領域を「空き領域２」という。）が見つかったものとする。
【００３２】
図６（ｆ）は、ステップＳ６６に従って、透かしレベル２で透かし情報２を空き領域２に埋め込んだ後の濃度ヒストグラムである。図６（ｆ）では、空き領域２において、下地レベルの画素２個と濃度値ゼロの画素１個が透かしレベル２に変更された場合について示しており、図６（ｆ）の濃度ヒストグラムでは、下地レベルの度数が２だけ、濃度値ゼロの画素が１だけ減少し、透かしレベル２の度数が３となっている。
【００３３】
以上のように透かし情報を埋め込めば、透かしレベルの画素数が下地レベルの画素数よりも常に少なくなるように透かし情報を埋め込むこととしたので、分布表において下地レベルの度数が常にもっとも高くなることが保証され、透かし情報を埋め込んだ後でも下地飛ばしを正常に実行することができる。また、下地飛ばしによって透かし情報が失われることもない。
【００３４】
また、本実施の形態では識別番号の小さい透かし情報をさきに埋め込むので、優先度の高い透かし情報ほど小さい濃度値で埋め込まれ、見え難くできる。
画像処理装置１を用いて複数の種別の透かし情報を埋め込んだ画像から透かし情報を取り出す方法を図７のフローチャートに基づいて説明する。
まず、下地飛ばしを行う（ステップＳ１０）。次に、分布表を作成し（ステップＳ１１）、この分布表において、濃度値が一以上で、かつ度数が一以上の濃度値のうち、最も小さい濃度値を透かしレベルとする（ステップＳ１２）。この透かしレベルの画素と濃度値がゼロの画素のみからなる単位領域（以下、この単位領域を「透かし領域」という。）を探索すると、もっとも優先度の高い透かし情報を得ることができる（ステップＳ１３）。
【００３５】
以下、同様にして、濃度値の小さい順に透かしレベルを求め、求めた透かしレベルの画素を有する透かし領域を探索する。
求めた透かしレベルに対して、透かし領域が見つからなければ（ステップＳ１４）、処理を終了する。
このようにすれば、優先度の高い順に透かし情報を取り出すことができるので、優先度の高い透かし情報ほどはやく取り出すことができる。
【００３６】
（変形例）
以上、本発明を実施の形態に基づいて説明してきたが、本発明は、以上に述べた実施の形態に限定されないのは勿論であり、例えば、次のような変形例を実施することもできる。
上述の実施の形態においては閾値ｄ0を設けて下地レベルの範囲を制限したが、閾値を設けることなく、分布表中でもっとも度数の高い濃度値を下地レベルとしてもよい。
【００３７】
また、上述の実施の形態においては差分値を数式△ｘ＝（−９ｘ／ｄ0）＋１０に基づいて算出したが、本発明に係る画像処理装置の差分値の算出方法はこれに限定されるものではなく、例えば、差分値は固定値としてもよい。また、条件△ｘ＞０を満たせば、他の数式を用いてもよい。例えば、Ｌ個の透かしレベルを使って透かし情報を埋め込む場合、ｄ0−ｘ＜２Ｌのとき△ｘ＝１とし、ｄ0−ｘ≧２Ｌのとき△ｘ＝ｆ（（ｄ0−ｘ）／Ｌ）とすれば、下地レベルｘと閾値ｄ0の間で透かしレベルを等間隔に設けることができる。ただし、ｆ（・）はフロアリング関数であり、実数ｘに対して、ｆ（ｘ）はｘをこえない最大の整数である。このようにすれば、特に下地レベルｘと閾値ｄ0の差が大きいとき、透かしレベルの間隔を大きくすることができるので、透かしレベルの識別性を良くすることができる。
【００３８】
さらに、上述の実施の形態においては、透かしパターンによって透かし情報を表現し、透かし情報を埋め込んだが、他の埋め込み方法を用いてもよい。
また、上述の実施の形態においては、本発明に係る画像処理装置は一の外部装置と原画像等のデータを送受信する構成となっているが、複数の外部装置と通信するとしても構わない。また、原画像等のデータを送信する外部装置と、透かし画像を受信する外部装置は別体としてもよい。
【００３９】
また、本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよい。
また、本発明は、前記コンピュータプログラムをコンピュータ読み取り可能な記録媒体、例えば、フロッピーディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、半導体メモリなど、に記録したものとしてもよい。
【００４０】
また、本発明は、前記コンピュータプログラムを、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワークなどを経由して伝送するものとしてもよい。
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワークなどを経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【００４１】
さらに、上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【００４２】
【発明の効果】
以上、説明したように、本発明によれば、原画像の下地レベルとは異なる濃度値で透かし情報を下地部分に埋め込むことによって、下地レベルの判定に影響を与えず、電子透かしを施した後も下地飛ばしを正常に実行することができる、という効果が得られる。
【００４３】
また、本発明においては、埋め込む透かし情報のデータ量に応じて、透かしレベルを増やすことができるので、原画像の特性とは無関係に透かし情報のデータ量を設定できる、という効果も得られる。
また、本発明においては、下地レベルに応じて差分値を算出することによって、下地レベルの大きさに関わらず、透かしレベルの個数を確保することができる。
【００４４】
また、本発明によれば、透かし情報の種別に応じて透かしレベルを変えることができるので、特定の透かし情報のみを読み出すことが可能となる。
更に、本発明では、透かし情報が複数の種別の透かし情報で構成されている場合、種別毎に異なる透かしレベルを割り当てることができるので、重要度の高い透かし情報ほどを下地レベルに近い透かしレベルで埋め込むことによって機密性の保持を確かにし、また、速く取り出したい透かし情報についても同様にして処理速度を上げることができる。
【図面の簡単な説明】
【図１】本発明に係る画像処理装置の実施の形態を実施するための回路ブロック図である。
【図２】上記実施の形態における機能ブロック図である。
【図３】上記実施の形態における画像処理装置の動作を示すフローチャートである。
【図４】上記実施の形態における画像処理装置の埋め込み処理の動作を示すフローチャートである。
【図５】上記実施の形態における画像処理装置が透かし情報から作成した透かしパターンの例である。
【図６】上記実施の形態における画像処理装置の埋め込み処理によって濃度ヒストグラムが変化する過程の例を示した図である。
【図７】上記実施の形態における画像処理装置が透かし情報を埋め込んだ画像から透かし情報を取り出す方法を示すフローチャートである。
【図８】分布表の例である。
【符号の説明】
１        画像処理装置
２        ＣＰＵ
３        ＲＯＭ
４        ＲＡＭ
５        内部バス
６        通信インタフェース
７        外部装置
８        通信処理部
９        分布表作成部
１０        下地レベル判定部
１１        埋め込み処理部
【図１】
0003928325.tif 000002
【図２】
0003928325.tif 000003
【図３】
0003928325.tif 000004
【図４】
0003928325.tif 000005
【図５】
0003928325.tif 000006
【図６】
0003928325.tif 000007
【図７】
0003928325.tif 000008
【図８】
0003928325.tif 000009