画像処理装置及びその方法
【課題】 1つの文字に対して、従来より多くの透かし情報の情報を埋め込みつつ、文字の劣化を抑えることが可能な透かし情報埋め込み及び抽出を目的とする。
【解決手段】 画像入力部101で文書画像を入力し、文書解析部102で入力した文書画像の文字の特徴点を抽出し、特徴点に電子透かしを埋め込み部106で埋め込む。ただし、特徴点とは、少なくとも、前記文字の交差点、T字点、角、端点の何れかである。
【解決手段】 画像入力部101で文書画像を入力し、文書解析部102で入力した文書画像の文字の特徴点を抽出し、特徴点に電子透かしを埋め込み部106で埋め込む。ただし、特徴点とは、少なくとも、前記文字の交差点、T字点、角、端点の何れかである。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文書画像への情報の埋め込み、並びに埋め込まれた情報を抽出する技術に関するものである。
【背景技術】
【0002】
近年、プリンタ、複写機などのデジタル画像形成装置において、その画質の向上は著しく、容易に高画質の印刷物を手にすることができるようになってきている。つまり、誰もが高性能スキャナ、プリンタ、複写機そしてコンピュータによる画像処理により、要求される印刷物を得ることが可能となってきている。そのため、文書の不正コピー、改ざん等の問題が発生し、それらを防止、あるいは抑止させるため、印刷物そのものにアクセス制御情報を透かし情報として埋め込もうという動きが近年活発となってきている。
【0003】
このような機能としては、印刷物にアクセス制御情報を目に見えないように埋め込む不可視タイプの電子透かしがある。一般的な実現方法として、英文字列のスペースの量をコントロールすることにより情報を埋め込むタイプ(例えば、特許文献1、特許文献2)、文字を回転するタイプ(例えば、非特許文献1)、文字を拡大縮小するタイプ、また文字を変形させて情報を埋め込むタイプ等が提案されている。
【0004】
図19は、英文文字列のスペースの量をコントロールするタイプの印刷物である。ここで、s、pをスペースと呼ぶ。また、このスペースは、埋め込む透かし情報ビットが0ならば、p1←(1+q)(p+s)/2、s1←(1−q)(p+s)/2とし、透かし情報ビットが1ならば、p1←(1−q)(p+s)/2、s1←(1+q)(p+s)/2とする。qの範囲は0<q<1である。
【0005】
図20は、文字の大きさを拡大あるいは縮小することによる電子透かしによって透かし情報が埋め込まれた場合の文字を説明するための図である。例えば、文字の大きさが元の文字よりも拡大された場合に「1」が埋め込まれ(図20におけるA)、縮小された場合に「0」が埋め込まれるものとする(図20におけるB)。尚、埋め込みの対象となる文字は、連続する文字であっても、数文字間隔であっても、あらかじめ定められた位置の文字であってもよい。図20では、「像」の文字が拡大され、また「再」の字が縮小されているので、「10」という透かし情報が埋め込まれている。
【0006】
図21は、文字を回転して傾斜を変化させることによる電子透かしによって透かし情報が埋め込まれた場合の文字を説明するための図である。例えば、時計回りに回転された場合に「1」が埋め込まれ(図21におけるC)、反時計回りに回転された場合に「0」が埋め込まれるものとする(図21におけるD)。尚、埋め込みの対象となる文字は、連続する文字であっても、数文字間隔であっても、あらかじめ定められた位置の文字であってもよい。図21では,「像」の文字が時計回りに回転され、また「構」の字が反時計回りに回転されているので、「10」という情報が埋め込まれていることになる。
【非特許文献1】“和文書へのシール画像による電子透かし”(中村康弘,松井甲子雄),情報処理学会論文誌 Vol.38 No.11 Nov.1997.
【特許文献1】米国特許第6086706号公報
【特許文献2】特開平9−186603号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、上記の方法で文書画像に透かし情報を埋め込むと、いずれにしても、一個の文字に最大1ビットの情報しか埋め込められないため、埋め込める情報量が少ない。
【0008】
本発明は以上の点に着目して成されたもので、1つの文字に対して、従来より多くの透かし情報を埋め込みつつ、文字の劣化を抑えることが可能な画像処理装置及びその方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明の画像処理装置は、前記画像を入力する入力手段と、入力した画像の特徴点を抽出する抽出手段と、前記特徴点に電子透かしを埋め込む電子透かし埋め込み手段を有し、前記特徴点は、少なくとも、前記文字の交差点、T字点、角、端点の何れかであることことを特徴とする。
【0010】
また、上記課題を解決するために、本発明の画像処理装置は、透かし情報が埋め込まれた文書画像を入力する入力手段と、入力した文書画像の文字の特徴点を抽出する特徴点抽出手段と、前記特徴点から透かし情報を抽出する透かし情報抽出手段を有し、前記特徴点は、少なくとも、前記文字の交差点、T字点、角、端点の何れかであることを特徴とする。
【発明の効果】
【0011】
本発明によれば、一つの文字にたくさんの透かし情報を埋め込むことができ、文字の劣化を抑えることができる。
【発明を実施するための最良の形態】
【0012】
以下、図面を参照して、本発明の一実施形態による透かし情報埋め込み装置について説明する。
【0013】
(実施形態1)
図1は、本発明における電子透かし埋め込み装置の構成図である。図1に示すように、まず、透かし情報を埋め込む対象である文書画像100が画像入力部101に入力される。次に、文書解析部102では、文書画像100内の文字の位置関係が解析される。埋め込み判定部103では、文書画像100に電子透かしが埋め込めるかどうかの判定と行う埋め込み部106では、透かし情報入力部105より入力された透かし情報104を用いて、文書画像100に電子透かしの埋め込みを行う。そして、画像出力部107によって透かし埋め込み画像108が出力される。
【0014】
図2は,本発明における電子透かし埋め込み装置および抽出装置の電気的構成を説明するための図である。尚,電子透かし埋め込み装置および抽出装置の実現に当たっては,図2に示される全ての機能を使用することは必須ではない。
【0015】
図2において,コンピュータ201は,一般に普及しているパーソナルコンピュータ等の汎用の情報処理装置であり,スキャナ等の画像入力装置217から読み取られた画像を入力し,編集や保管を行うことが可能である。また,画像入力装置217で得られた画像をプリンタ216から印刷させることができる。尚,ユーザからの各種指示等は,マウス(登録商標)213,キーボード214からの入力操作により行われる。コンピュータ201の内部では,バス207により後述する各ブロックが接続され,種々のデータの受け渡しが可能である。
【0016】
図2において,CPU202は,コンピュータ201内部の各ブロックの動作を制御し,あるいは内部に記憶されたプログラムを実行することができる。主記憶装置(RAMで構成される)203は,CPU202において行われる処理のために,一時的にプログラムや処理対象の画像データを格納しておく装置である。ハードディスク(HDD)204は,主記憶装置203等に転送されるプログラムや画像データをあらかじめ格納したり,処理後の画像データを保存することのできる装置である。
【0017】
スキャナインタフェース(I/F)215は,原稿やフィルム等を読み取って,画像データを生成するスキャナ217と接続され,スキャナ217で得られた画像データを入力することのできるI/Fである。プリンタインタフェース208は,画像データを印刷するプリンタ216と接続され,印刷する画像データをプリンタ1216に送信することのできるI/Fである。
【0018】
CDドライブ209は,外部記憶媒体の一つであるCD(CD−R/CD−RW)に記憶されたデータを読み込んだり,あるいは書き出すことができる装置である。FDDドライブ211は,CDドライブ209と同様にFDDからの読み込みや,FDDへの書き出しをすることができる装置である。DVDドライブ210は,FDDドライブ211と同様に,DVDからの読み込みや,DVDへの書き出しをすることができる装置である。尚,CD,FDD,DVD等に画像編集用のプログラム,あるいはプリンタドライバが記憶されている場合には,これらプログラムをHDD204上にインストールし,必要に応じて主記憶装置203に転送されるようになっている。
【0019】
インタフェース(I/F)212は,マウス213やキーボード214からの入力指示を受け付けるために,これらと接続されるI/Fである。また,モニタ206は,透かし情報の抽出処理結果や処理過程を表示することのできる表示装置である。さらに,ビデオコントローラ205は,表示データをモニタ206に送信するための装置である。
【0020】
尚,本発明は,複数の機器(例えば,ホストコンピュータ,インタフェース機器,リーダ,プリンタ等)から構成されるシステムに適用しても,一つの機器からなる装置(例えば、複写機、ファックシミリ装置)に適用してもよい。
【0021】
上記構成において、マウス213やキーボード214からの入力指示により203の主記憶装置にロードしたプログラムを202のCPUなどを用いて実行することによって電子透かしの埋め込み装置、或いは、抽出装置として機能することになる。このとき、モニタ206により実行状況や、その結果をモニタすることも可能である。
【0022】
以下、電子透かしの埋め込み方法と抽出方法の具体的な実現方法について述べる。
【0023】
図3は、本実施形態における電子透かし埋め込み装置の動作手順を説明するためのフローチャートである。
【0024】
まず,ステップS301において、透かし情報の埋め込み対象となる文書画像100が、図2のスキャナ217に代表される画像入力部101を介して,文書解析部102に入力される。文書画像101は、印刷物をスキャナ217などから入力し、それをビットマップ化したものでも良いし、文書編集アプリケーションプログラムを利用して作成された電子データであっても良い。または、ハードディスク204やCDドライブ209,DVDドライブ210,FDDドライブ211などに接続された各記憶媒体に格納されたアプリケーションプログラム固有の形式,テキスト形式などをはじめとする種々の電子データを画像処理ソフトなどによって変換し、ビットマップ化したものでも良い。
【0025】
ステップS302において、文書解析部102で、入力された文書画像から外接矩形(文字領域)の抽出が行われる。
【0026】
文字の外接矩形は、文字に外接する矩形であって、本来は、文字認識を行う領域を指す情報であるが、電子透かし技術においては、埋め込み操作の対象となる文字領域を示すものである。文書画像の各画素値を垂直座標軸に対して射影し、空白部分(黒色である文字のない部分)を探索して行を判別して行分割を行う。その後、行単位で文書画像を水平座標軸に対して射影し、空白部分を探索して文字単位に分割する。これによって、各文字を外接矩形で切り出すことが可能となる。
【0027】
このようにして、外接矩形が抽出されると、図3のステップS303において、埋め込みたい透かし情報104が、キーボード214に代表される透かし情報入力部105から入力される。透かし情報は、あらかじめ記憶装置に蓄積したものから選択してもよい。
【0028】
次に、ステップS304において、文書画像の中埋め込み対処になる1文字を入力し、ステップS305において、電子透かしを埋め込む前に、外接矩形の面積で埋め込み可能な文字であるかどうかを、埋め込み判定部103で判定を行う。このステップS305の手順では、スキャンしても透かし情報が保つように決められたある面積より大きい文字のみ選択され、小さすぎる文字や符号などが埋め込み対象の文字から外れる。
【0029】
ステップS305において、埋め込み可能な文字であると判定された場合(Yes)、ステップS306で、透かし情報埋め込み部106によって電子透かし埋め込みを行う。ステップS305において、埋め込み可能な文字よ判定されない場合(No)、ステップS304に戻り、次の1文字を入力する。
【0030】
本実施形態では、透かし情報埋め込み部106における電子透かし埋め込み方法の一つである、文字の特徴点の濃淡を変更させる方法を説明する。
【0031】
ここで、本実施形態における文字の特徴点について説明する。
【0032】
図4は、文字の特徴点の例であり、図4の401及び402の文字の丸印がある点である。つまり、文字の特徴点とは、文字の交差点、T字点、角などであり、図5で示すようなオペレータ式を用いて検出される点である(図5については後述する)。
【0033】
図6は、本実施形態における電子透かし埋め込み前後の交差点の説明図である。
【0034】
図6の701は、「目」という透かし情報を埋め込む前の文字である。本実施形態では、文字の濃淡レベルを255ビットで表現するとし、黒は濃淡レベル0、白を濃淡レベル255とする。
【0035】
図6の702は、文字の特徴点を探すために、「目」という文字を細線化した文字である。702に丸を付けた場所は文字を細線化して得られた特徴点の位置を表している。
【0036】
図6の703は、702で探した特徴点の位置に透かし情報を埋め込んだ場合を表している。「0」を埋め込む特徴点には点の濃淡レベルを大きく、「1」を埋め込む特徴点には点の濃淡レベルを小さくする。特徴点に透かし情報を埋め込む順番は事前に決めて置く(例えば、上から下、左から右の順、又はランダムに生成された数字の順番でなど)。図6の703に埋め込まれた透かし情報は10100001であり、上から下、左から右の順に埋め込んだ例を示す。
【0037】
そして、電子透かしは文字の特徴点の濃淡レベルを用いて埋め込まれる。例えば,「0」を埋め込みたいときは特徴点の濃淡レベル>周囲の点の濃淡レベルとなるように、「1」を埋め込む時は特徴点の濃淡レベル<=周囲の点の濃淡レベルとなるように特徴点の濃淡レベルを変える。
【0038】
図7は、本実施形態における電子透かし埋め込み方法の一例を説明するためのフローチャートである。これは、図3のS306の詳細図に相当する。
【0039】
まず、ステップ306aで、透かし情報を埋め込む文字に対して、特徴点の抽出を行う。ステップ306aは図8を用いてさらに詳しく説明する。
【0040】
図8は、文字の特徴点を抽出するフローチャートである。
【0041】
まずステップS306a1で、入力された文字画像が2値画像であるか否かが判断される。
【0042】
ステップS306a1で入力した文字画像2値画像ではない場合(No)、ステップS306a2に進み、文字画像の2値化処理を行う。2値化処理とは入力画像が多値画像である場合、一定な濃淡値より小さい画素は黒、大きい画素は白に設定する処理である。この2値化処理は文字の細線化処理における前処理となる。
【0043】
一方、ステップS306a1において、入力した文字画像2値画像である場合(Yes)、ステップS306a3に進む。
【0044】
次にステップS306a3において、2値化した文字画像の細線化を行う。細線化とは2値画像から線幅1の中心線を抽出する操作である。ここでは細線化の基本的な手法の一つであるHildithの細線化法を利用して、細線化を行うが、これに限定されない。Hildithの細線化法については、例えば、「C言語による画像処理入門;昭晃堂;ISBN:4785631244;(2000/11)」を参照されたい。図6の701における「目」という文字を、Hildithの細線化法で細線化すると、図6の702で示されるような文字が得られる(尚、702にある丸印は、説明のためのものである)。
【0045】
細線化された文字画像から特徴点を抽出する(ステップS306a4)。抽出は文字画像の注目点の周囲8画素を調べ,図5のオペレータ式と同じであれば、注目点が特徴点と判断する。
【0046】
ここで、ステップS306a1の2値画像か判定し、ステップS306a2の2値化処理は、ステップS306a3でのHildithの細線化法が、2値化画像に対して細線化する方法であるからである。つまり、S306a3の細線化方法が、2値化画像でなくとも細線化されるものであれば、当然、ステップS306a1及びS306a2は省いてもよい。
【0047】
そして、図7のステップS306bにおいて、文字画像内の特徴点数を変数iに与る。例えば、文字が<目>である場合、特徴点数は8であり、i=8となる。
【0048】
一つの文字に沢山の特徴点が存在する場合、透かし情報を埋め込む順番を決める(ステップS306c)。順番は特徴点の位置情報によって決め、上から下、左から右順にする。図6の703は、上記の順番に従って、透かし情報(101000001)を埋め込んだ例である。
【0049】
なお、鍵情報Kを用いて、ランダムな数字を生成し、それを用いて透かし情報を埋め込む順番を決めても良い。鍵情報Kは一定の長さのランダムな数字から生成される。生成された鍵情報kは透かし抽出に必要なものであり、記憶装置に蓄積しておいても良いし、ユーザが秘密に記憶しておいても良い。
【0050】
次にステップS306dで、変数iが0より大きいか否かが判定される。なお、iはステップS306bで与えられる。
【0051】
ステップS306dで、iが0より大きい場合(Yes)、与えられた特徴点に透かし情報を埋め込む(ステップS306e)。ステップS306eは図6を用いてさらに詳しく説明する。
【0052】
図9は、特徴点に透かし情報を埋め込む方法の一例を説明するためのフローチャートである。
【0053】
まず、ステップS306e1で、与えられた特徴点の周囲の8ビットの中で、濃淡レベルの変換に参照するデータを取り出す。本実施形態では周囲の8ビットの中で一番低い濃淡レベルを参照するデータとし、pとする。
【0054】
次は、ステップS306e2で、透かし情報104が埋め込まれる先頭の文字が選択される。例えば、101001…という情報が透かし情報として入力されていた場合、先頭の文字は「1」である。
【0055】
ステップS306e3で、該当ビットが「1」である場合(Yes)、ステップS306e4に進み、特徴点の濃淡レベル<pとなるように、特徴点の濃淡レベル−xをする。なお、xはユーザが事前に決めており、0<x<255且つ特徴点の濃淡レベルーp<xである。pはステップS306e1により求められる。
【0056】
ステップS306e3で、該当ビットが「0」である場合(Yes)、ステップS306e5に進み、特徴点の濃淡レベル>pとなるように、特徴点の濃淡レベル+xをする。
【0057】
そして、図7のステップS306fにおいて、i=i−1処理をし、ステップS306dに戻る。
【0058】
ステップS306dで、iが0である場合(Yes)、入力された文字の透かし情報埋め込みを終了する。
【0059】
そして、図3のステップS307において、文書画像内の最終文字であるか否かが判断される。その結果、最終文字である場合(Yes)、ステップS308において、透かし情報のビットの埋め込み処理を終了し、埋め込み部106で文字の特徴点の位置情報に基づいて、電子透かしが埋め込まれた画像が生成される(ステップS308)、透かし情報が埋め込まれた画像は、画像出力部107から出力される(ステップS309)。尚、出力は印刷もしくは、記憶装置等に画像データとして記憶してもよく、また、ネットワーク等から他の端末等に送信してもよい。
【0060】
一方、ステップS307において、まだ最終文字でない場合(No)、ステップS304に戻って、次の1文字を入力する。
【0061】
図10は、本発明における電子透かし抽出装置の構成図である。図10に示すように、埋め込まれた透かし情報を抽出したい文書画像200が、図2のスキャナ217に代表される画像入力部901に入力される。そして、文書解析部902において文字の位置関係が解析される。そして、埋め込み判定部903において、埋め込み可能性の判定が行われる。透かし情報抽出部904では、電子透かしの抽出が行われ、透かし情報905が出力される。
【0062】
図11は、本実施形態における電子透かし抽出装置の動作手順を説明するためのフローチャートである。
【0063】
まず,ステップS1001において、透かし情報が埋め込まれた画像を入力する。
【0064】
ステップS1002において、画像から外接矩形(文字)抽出を行う。文書解析部902で、入力された文書の抽出対象となる文書画像200が、図2のスキャナ217に代表される画像入力部901を介して,文書解析部902に入力される。この文書画像は印刷物を217のスキャナなどから入力し、それをビットマップ化したものでも良いし、文書編集アプリケーションプログラムを利用して作成された電子データ、またはハードディスク204やCDドライブ209,DVDドライブ210,FDDドライブ211などに接続された各記憶媒体に格納されたアプリケーションプログラム固有の形式,テキスト形式などをはじめとする種々の電子データを画像処理ソフトなどによって変換し、ビットマップ化したものでも良い。
【0065】
次に、ステップS1003において、1文字を入力し、ステップS1004において、入力された文字の外接矩形の面積が、電子透かしが埋め込まれている文字の面積であるかどうかを、埋め込み判定部903で判定を行う。この埋め込み判定部903は、図1の埋め込み判定部103と同一のものであり、同じ動作の実装で、正確に透かしが埋め込まれている文字を判定することができる。
【0066】
ステップS1005において、ステップS1004で,電子透かしが埋め込まれていると判定された場合(Yes)、透かし情報抽出部904で、電子透かし抽出が行われる。電子透かしが埋め込まれてない文字と判定された場合(No)、ステップS1003に戻り、次の1文字を入力する。
【0067】
ステップS1005は、図12のフローチャートを用いて説明する。透かし情報抽出の手順S1005は、図7のステップS306の透かし情報埋め込み処理と同様の処理が多い。異なる点は、ステップS306eが、透かし情報を埋め込むのに対し、ステップS1005aは、透かし情報の抽出を行う点である。図13は、実施形態1における透かし情報抽出方法を説明するためのフローチャートである。
【0068】
まず、特徴点の周囲8画素で一番低い濃淡レベルpを求める(ステップS1005a1)。次に、特徴点の濃淡レベルhを求める(ステップS1005a2)。そして、求めたhがより小さいか否かが判定される(ステップS1005a3)。
【0069】
その結果、hがpより小さい場合(Yes)、透かし情報として、「1」が抽出される(ステップS1005a4)。一方、hがpより大きい又は同じである場合(No)、透かし情報「0」が抽出される(ステップS1005a5)。
【0070】
次に、ステップS1006は、ステップS1003で入力された文字が、最終の文字であるかを判定する。Yesと判定されたら、透かし情報を出力して(ステップS1006)処理を終了し、Noと判定されたらステップS1003に戻り処理を継続する。本実施形態では、特徴点数が8個である「目」という文字に対して、8ビットの透かし情報を埋め込むことができた。また、文字の特徴点のみに透かし情報を埋め込むため、変形面積が小さく、文字の劣化を抑えることもできる。
【0071】
(実施形態2)
前記した実施形態1では、文字の特徴点の濃淡レベルを変更して透かし情報を埋め込んだが、本実施形態では文字の特徴点のカラーを変更して透かし情報を埋め込む方法を説明する。さらに、本実施形態の特徴点は、実施形態1とは異なる特徴点を用いる。
【0072】
ここで、本実施形態における文字の特徴点について説明する。
【0073】
図14は、文字の特徴点の例であり、図14の1401及び1402の文字の丸印がある点である。つまり、文字の特徴点とは、文字の端点であり、図15で示すようなオペレータ式を用いて検出される点である(図15については後述する)。
【0074】
実施形態2の動作に必要な構成及び処理手順は、実施形態1のステップS306a4と、ステップS306e、ステップS1005a以外は実施形態1と同様である。尚、ステップS306a4は、図15で示したオペレータ式を用いる点が異なる。
【0075】
図16は、実施形態2における電子透かし埋め込み前後の特徴点の説明図である。図16の1201は、「十」という透かし情報を埋め込む前の文字である。本実施形態で使用できる文字画像は2値画像から、カラー画像まで何でもよいが、ここでは、グレースケール文字画像を用いて説明する。
【0076】
図16の1202は、文字の特徴点を探すために、「十」という文字を細線化した場合を表したものである。1202に丸を付けた場所は文字を細線化して得られた特徴点の位置を表している。
【0077】
図16の1203は、1202で探した特徴点の位置に透かし情報を埋め込んだ場合を表している。透かし情報と特徴点の色は、「00」が「赤」、「01」が「青」、「10」が「緑」、「11」が「黒」に対応させる。図12の1203に埋め込まれた透かし情報は10110001であり、特徴点の位置情報に基づき、左から右、上から下の順に埋め込んだ例を示す。
【0078】
そして、電子透かしは文字の特徴点の色情報を用いて埋め込まれる。例えば、「00」を埋め込みたいときは特徴点の色を赤に変え、「01」を埋め込みたいときは「青」、「10」は「緑」、「11」は「黒」に変える。
【0079】
透かし情報を埋め込み、又は抽出するとき、文字の特徴点の位置を抽出する手順は実施形態1のステップS306aと同じである。ただし、実施形態1と本実施形態で探す特徴点の位置が違うため、ステップS306a4で利用するオペレータ式が異なる。本実施形態では抽出は文字画像の注目点の周囲8画素を調べ,図15のオペレータ式と同じであれれば、注目点が特徴点と判断する。
【0080】
図17は、透かし情報を埋め込む時、実施形態2のステップS306eのフローチャートである。まず、ステップS306e21で、透かし情報を先頭の文字から2ビットが選択させる。例えば、10110001…という情報が透かし情報として入力されていた場合、先頭の2ビットの文字は「10」である。ここで、はじめに入力されたビット(例えば「10」中の「1」)を最初のビットと呼び、次に入力されたビット(例えば「10」中の「0」)を次のビットと呼ぶ。
【0081】
ステップS306e22で、埋め込まれる透かし情報の最初のビットが「0」であるか否かが判断される。
【0082】
ステップS306e22で、最初のビットが「0」である場合(Yes)、ステップS306e23に進む。ステップS306e23で次のビットが「0」であるか否かが判断される。ステップS306e23で次のビットが「0」である場合(Yes)、ステップS306e25に進み、特徴点の色を赤に変える。ステップS306e23で次のビットが「1」である場合(No)、ステップS306e26に進み、特徴点の色を青に変える。
【0083】
ステップS306e22で、最初のビットが「1」である場合(No)、ステップS306e24に進む。ステップS306e24で次のビット情報が「0」であるか否かが判断される。ステップS306e24で次のビットが「0」である場合(Yes)、ステップS306e27に進み、特徴点の色を緑に変える。ステップS306e24で次のビットが「1」である場合(No)、ステップS306e28に進み、特徴点の色を黒に変える。
【0084】
図18は、透かし情報を抽出する時、実施形態2のステップS1005aのフローチャートである。
【0085】
まず、特徴点の色を求める(ステップS1005a21)。そして、求めた色が赤であるか否かが判定される(S1005a22)。
【0086】
その結果、特徴点の色が赤である場合(Yes)、透かし情報として、「00」が抽出される(ステップS1005a23)。
【0087】
一方特徴点の色が赤ではない場合(No)、ステップS1005a24に進み、特徴点の色が青であるか否かが判定される。ステップS1005a24で、特徴点の色が青である場合(Yes)、透かし情報として、「01」が抽出させる(ステップS1005a25)。ステップS1005a24で、特徴点の色が青ではない場合(No)、ステップS1005a26に進み、特徴点の色が緑であるか否かが判定される。
【0088】
ステップS1005a26で、特徴点の色が緑である場合(Yes)、透かし情報として、「10」が抽出させる(ステップS1005a27)。ステップS1005a26で、特徴点の色が緑ではない場合(No)、透かし情報として、「11」が抽出される(ステップS1005a28)。
【0089】
本実施形態では4つの違う色に変更することにより、一つの特徴点に2ビットの透かし情報を埋め込んだ。もし、8つの違う色を埋め込めば、1つの特徴点に3ビットの透かし情報を埋め込むことができる。同じく埋め込みに使う色が多ければ多いほど、一つの特徴点に埋め込める情報量は多い。
【0090】
また、本実施形態では、黒、赤、緑、青の色を用いたが、この色に限定されないのは言うまでもない。用途によって、目立ちにくい色を選んでもいいのは言うまでもない。
【0091】
本実施形態では、特徴点数が4個である「十」という文字に対して、8ビットの透かし情報を埋め込むことができた。また、文字の特徴点のみに透かし情報を埋め込むため、変形面積が小さく、文字の劣化を抑えることもできる。
【0092】
<その他の実施形態>
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【0093】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0094】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0095】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【0096】
なお、上記実施形態では特徴点の1ドットのみに透かし情報を入れたが、埋め込み強度を高めるため、特徴点の周辺のドットにも同じ透かし情報を埋め込んでも良い。このとき、文字の変形面積を変えずに、特徴点の周辺のドットは、文字部ではないドットではなく、文字部であるドットであることが望ましい。また、埋め込み強度に応じて、透かし情報を埋め込むべき周辺のドット数を決めてもよい。
【0097】
実施形態1では、文字の特徴点(交差点、T字点、角)の濃淡レベルを変更して透かし情報を埋め込み、実施形態2では文字の特徴点(端点)のカラーを変更して透かし情報を埋め込んだが、この実施形態に限定されない。例えば、文字の特徴点(交差点、T字点、角)のカラーを変更して透かし情報を埋め込んでも構わないし、字の特徴点(端点)の濃淡レベルを変更してもよい。さらに、それらの組み合わせであってもよいし、交差点、T字点、角、端点に透かし情報を埋め込んでも構わない。
【0098】
上記実施形態では、2値画像の場合の説明をしたが、カラー画像であってもよいのは言うまでもない。また、漢字に埋め込む場合を説明したが、ひらがなやカタカナ、アルファベットなどの文字に埋め込んでいいのは言うまでもない。
【0099】
上記実施形態では、1つの文字における抽出された特徴点にすべて透かし情報を埋め込んだが、これに限定されず、予め決めておいた特徴点(例えば、交差点のみなど)に埋め込んでもよいのは言うまでもない。
【0100】
また、上記実施形態では、1つの特徴点に1つの透かし情報を埋め込んだが、これに限定されず、例えば、2つの特徴点の画素値の差や和を用いて、1つの透かし情報を埋め込んでもよい。
【図面の簡単な説明】
【0101】
【図1】本発明における電子透かし埋め込み装置の構成図である。
【図2】本発明における電子透かし埋め込み装置および抽出装置の電気的構成を説明するための図である。
【図3】実施形態1における電子透かし埋め込み装置の動作手順を説明するためのフローチャートである。
【図4】実施形態1における特徴点の例である。
【図5】実施形態1における特徴点を抽出するためのオペレータ式である。
【図6】実施形態1における電子透かし埋め込み前後の文字の説明図である。
【図7】実施形態1におけるステップS306の詳細なフローチャートである。
【図8】実施形態1における特徴点を抽出する方法を説明するためのフローチャートである。
【図9】実施形態1における電子透かし埋め込み方法を説明するためのフローチャートである。
【図10】本発明における電子透かし抽出装置の構成図である。
【図11】本実施形態における電子透かし抽出の動作手順を説明するためのフローチャートである。
【図12】本実施形態におけるステップS1005の詳細なフローチャートである。
【図13】実施形態1における電子透かし抽出方法を説明するためのフローチャートである。
【図14】実施形態2における文字の特徴点の例である。
【図15】実施形態2における特徴点を抽出するためのオペレータ式である。
【図16】実施形態2における電子透かし埋め込み前後の文字の説明図である。
【図17】実施形態2における電子透かし埋め込み方法を説明するためのフローチャートである。
【図18】実施形態2における電子透かし抽出方法を説明するためのフローチャートである。
【図19】文字の間隔を利用した電子透かし埋め込みを行う場合の原画像の例を示す図である。
【図20】文字の間隔を利用した電子透かし埋め込みを行った後の画像を示す図である。
【図21】文字の傾きを利用した電子透かし埋め込み方法を説明するための概要図である。
【技術分野】
【0001】
本発明は、文書画像への情報の埋め込み、並びに埋め込まれた情報を抽出する技術に関するものである。
【背景技術】
【0002】
近年、プリンタ、複写機などのデジタル画像形成装置において、その画質の向上は著しく、容易に高画質の印刷物を手にすることができるようになってきている。つまり、誰もが高性能スキャナ、プリンタ、複写機そしてコンピュータによる画像処理により、要求される印刷物を得ることが可能となってきている。そのため、文書の不正コピー、改ざん等の問題が発生し、それらを防止、あるいは抑止させるため、印刷物そのものにアクセス制御情報を透かし情報として埋め込もうという動きが近年活発となってきている。
【0003】
このような機能としては、印刷物にアクセス制御情報を目に見えないように埋め込む不可視タイプの電子透かしがある。一般的な実現方法として、英文字列のスペースの量をコントロールすることにより情報を埋め込むタイプ(例えば、特許文献1、特許文献2)、文字を回転するタイプ(例えば、非特許文献1)、文字を拡大縮小するタイプ、また文字を変形させて情報を埋め込むタイプ等が提案されている。
【0004】
図19は、英文文字列のスペースの量をコントロールするタイプの印刷物である。ここで、s、pをスペースと呼ぶ。また、このスペースは、埋め込む透かし情報ビットが0ならば、p1←(1+q)(p+s)/2、s1←(1−q)(p+s)/2とし、透かし情報ビットが1ならば、p1←(1−q)(p+s)/2、s1←(1+q)(p+s)/2とする。qの範囲は0<q<1である。
【0005】
図20は、文字の大きさを拡大あるいは縮小することによる電子透かしによって透かし情報が埋め込まれた場合の文字を説明するための図である。例えば、文字の大きさが元の文字よりも拡大された場合に「1」が埋め込まれ(図20におけるA)、縮小された場合に「0」が埋め込まれるものとする(図20におけるB)。尚、埋め込みの対象となる文字は、連続する文字であっても、数文字間隔であっても、あらかじめ定められた位置の文字であってもよい。図20では、「像」の文字が拡大され、また「再」の字が縮小されているので、「10」という透かし情報が埋め込まれている。
【0006】
図21は、文字を回転して傾斜を変化させることによる電子透かしによって透かし情報が埋め込まれた場合の文字を説明するための図である。例えば、時計回りに回転された場合に「1」が埋め込まれ(図21におけるC)、反時計回りに回転された場合に「0」が埋め込まれるものとする(図21におけるD)。尚、埋め込みの対象となる文字は、連続する文字であっても、数文字間隔であっても、あらかじめ定められた位置の文字であってもよい。図21では,「像」の文字が時計回りに回転され、また「構」の字が反時計回りに回転されているので、「10」という情報が埋め込まれていることになる。
【非特許文献1】“和文書へのシール画像による電子透かし”(中村康弘,松井甲子雄),情報処理学会論文誌 Vol.38 No.11 Nov.1997.
【特許文献1】米国特許第6086706号公報
【特許文献2】特開平9−186603号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、上記の方法で文書画像に透かし情報を埋め込むと、いずれにしても、一個の文字に最大1ビットの情報しか埋め込められないため、埋め込める情報量が少ない。
【0008】
本発明は以上の点に着目して成されたもので、1つの文字に対して、従来より多くの透かし情報を埋め込みつつ、文字の劣化を抑えることが可能な画像処理装置及びその方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明の画像処理装置は、前記画像を入力する入力手段と、入力した画像の特徴点を抽出する抽出手段と、前記特徴点に電子透かしを埋め込む電子透かし埋め込み手段を有し、前記特徴点は、少なくとも、前記文字の交差点、T字点、角、端点の何れかであることことを特徴とする。
【0010】
また、上記課題を解決するために、本発明の画像処理装置は、透かし情報が埋め込まれた文書画像を入力する入力手段と、入力した文書画像の文字の特徴点を抽出する特徴点抽出手段と、前記特徴点から透かし情報を抽出する透かし情報抽出手段を有し、前記特徴点は、少なくとも、前記文字の交差点、T字点、角、端点の何れかであることを特徴とする。
【発明の効果】
【0011】
本発明によれば、一つの文字にたくさんの透かし情報を埋め込むことができ、文字の劣化を抑えることができる。
【発明を実施するための最良の形態】
【0012】
以下、図面を参照して、本発明の一実施形態による透かし情報埋め込み装置について説明する。
【0013】
(実施形態1)
図1は、本発明における電子透かし埋め込み装置の構成図である。図1に示すように、まず、透かし情報を埋め込む対象である文書画像100が画像入力部101に入力される。次に、文書解析部102では、文書画像100内の文字の位置関係が解析される。埋め込み判定部103では、文書画像100に電子透かしが埋め込めるかどうかの判定と行う埋め込み部106では、透かし情報入力部105より入力された透かし情報104を用いて、文書画像100に電子透かしの埋め込みを行う。そして、画像出力部107によって透かし埋め込み画像108が出力される。
【0014】
図2は,本発明における電子透かし埋め込み装置および抽出装置の電気的構成を説明するための図である。尚,電子透かし埋め込み装置および抽出装置の実現に当たっては,図2に示される全ての機能を使用することは必須ではない。
【0015】
図2において,コンピュータ201は,一般に普及しているパーソナルコンピュータ等の汎用の情報処理装置であり,スキャナ等の画像入力装置217から読み取られた画像を入力し,編集や保管を行うことが可能である。また,画像入力装置217で得られた画像をプリンタ216から印刷させることができる。尚,ユーザからの各種指示等は,マウス(登録商標)213,キーボード214からの入力操作により行われる。コンピュータ201の内部では,バス207により後述する各ブロックが接続され,種々のデータの受け渡しが可能である。
【0016】
図2において,CPU202は,コンピュータ201内部の各ブロックの動作を制御し,あるいは内部に記憶されたプログラムを実行することができる。主記憶装置(RAMで構成される)203は,CPU202において行われる処理のために,一時的にプログラムや処理対象の画像データを格納しておく装置である。ハードディスク(HDD)204は,主記憶装置203等に転送されるプログラムや画像データをあらかじめ格納したり,処理後の画像データを保存することのできる装置である。
【0017】
スキャナインタフェース(I/F)215は,原稿やフィルム等を読み取って,画像データを生成するスキャナ217と接続され,スキャナ217で得られた画像データを入力することのできるI/Fである。プリンタインタフェース208は,画像データを印刷するプリンタ216と接続され,印刷する画像データをプリンタ1216に送信することのできるI/Fである。
【0018】
CDドライブ209は,外部記憶媒体の一つであるCD(CD−R/CD−RW)に記憶されたデータを読み込んだり,あるいは書き出すことができる装置である。FDDドライブ211は,CDドライブ209と同様にFDDからの読み込みや,FDDへの書き出しをすることができる装置である。DVDドライブ210は,FDDドライブ211と同様に,DVDからの読み込みや,DVDへの書き出しをすることができる装置である。尚,CD,FDD,DVD等に画像編集用のプログラム,あるいはプリンタドライバが記憶されている場合には,これらプログラムをHDD204上にインストールし,必要に応じて主記憶装置203に転送されるようになっている。
【0019】
インタフェース(I/F)212は,マウス213やキーボード214からの入力指示を受け付けるために,これらと接続されるI/Fである。また,モニタ206は,透かし情報の抽出処理結果や処理過程を表示することのできる表示装置である。さらに,ビデオコントローラ205は,表示データをモニタ206に送信するための装置である。
【0020】
尚,本発明は,複数の機器(例えば,ホストコンピュータ,インタフェース機器,リーダ,プリンタ等)から構成されるシステムに適用しても,一つの機器からなる装置(例えば、複写機、ファックシミリ装置)に適用してもよい。
【0021】
上記構成において、マウス213やキーボード214からの入力指示により203の主記憶装置にロードしたプログラムを202のCPUなどを用いて実行することによって電子透かしの埋め込み装置、或いは、抽出装置として機能することになる。このとき、モニタ206により実行状況や、その結果をモニタすることも可能である。
【0022】
以下、電子透かしの埋め込み方法と抽出方法の具体的な実現方法について述べる。
【0023】
図3は、本実施形態における電子透かし埋め込み装置の動作手順を説明するためのフローチャートである。
【0024】
まず,ステップS301において、透かし情報の埋め込み対象となる文書画像100が、図2のスキャナ217に代表される画像入力部101を介して,文書解析部102に入力される。文書画像101は、印刷物をスキャナ217などから入力し、それをビットマップ化したものでも良いし、文書編集アプリケーションプログラムを利用して作成された電子データであっても良い。または、ハードディスク204やCDドライブ209,DVDドライブ210,FDDドライブ211などに接続された各記憶媒体に格納されたアプリケーションプログラム固有の形式,テキスト形式などをはじめとする種々の電子データを画像処理ソフトなどによって変換し、ビットマップ化したものでも良い。
【0025】
ステップS302において、文書解析部102で、入力された文書画像から外接矩形(文字領域)の抽出が行われる。
【0026】
文字の外接矩形は、文字に外接する矩形であって、本来は、文字認識を行う領域を指す情報であるが、電子透かし技術においては、埋め込み操作の対象となる文字領域を示すものである。文書画像の各画素値を垂直座標軸に対して射影し、空白部分(黒色である文字のない部分)を探索して行を判別して行分割を行う。その後、行単位で文書画像を水平座標軸に対して射影し、空白部分を探索して文字単位に分割する。これによって、各文字を外接矩形で切り出すことが可能となる。
【0027】
このようにして、外接矩形が抽出されると、図3のステップS303において、埋め込みたい透かし情報104が、キーボード214に代表される透かし情報入力部105から入力される。透かし情報は、あらかじめ記憶装置に蓄積したものから選択してもよい。
【0028】
次に、ステップS304において、文書画像の中埋め込み対処になる1文字を入力し、ステップS305において、電子透かしを埋め込む前に、外接矩形の面積で埋め込み可能な文字であるかどうかを、埋め込み判定部103で判定を行う。このステップS305の手順では、スキャンしても透かし情報が保つように決められたある面積より大きい文字のみ選択され、小さすぎる文字や符号などが埋め込み対象の文字から外れる。
【0029】
ステップS305において、埋め込み可能な文字であると判定された場合(Yes)、ステップS306で、透かし情報埋め込み部106によって電子透かし埋め込みを行う。ステップS305において、埋め込み可能な文字よ判定されない場合(No)、ステップS304に戻り、次の1文字を入力する。
【0030】
本実施形態では、透かし情報埋め込み部106における電子透かし埋め込み方法の一つである、文字の特徴点の濃淡を変更させる方法を説明する。
【0031】
ここで、本実施形態における文字の特徴点について説明する。
【0032】
図4は、文字の特徴点の例であり、図4の401及び402の文字の丸印がある点である。つまり、文字の特徴点とは、文字の交差点、T字点、角などであり、図5で示すようなオペレータ式を用いて検出される点である(図5については後述する)。
【0033】
図6は、本実施形態における電子透かし埋め込み前後の交差点の説明図である。
【0034】
図6の701は、「目」という透かし情報を埋め込む前の文字である。本実施形態では、文字の濃淡レベルを255ビットで表現するとし、黒は濃淡レベル0、白を濃淡レベル255とする。
【0035】
図6の702は、文字の特徴点を探すために、「目」という文字を細線化した文字である。702に丸を付けた場所は文字を細線化して得られた特徴点の位置を表している。
【0036】
図6の703は、702で探した特徴点の位置に透かし情報を埋め込んだ場合を表している。「0」を埋め込む特徴点には点の濃淡レベルを大きく、「1」を埋め込む特徴点には点の濃淡レベルを小さくする。特徴点に透かし情報を埋め込む順番は事前に決めて置く(例えば、上から下、左から右の順、又はランダムに生成された数字の順番でなど)。図6の703に埋め込まれた透かし情報は10100001であり、上から下、左から右の順に埋め込んだ例を示す。
【0037】
そして、電子透かしは文字の特徴点の濃淡レベルを用いて埋め込まれる。例えば,「0」を埋め込みたいときは特徴点の濃淡レベル>周囲の点の濃淡レベルとなるように、「1」を埋め込む時は特徴点の濃淡レベル<=周囲の点の濃淡レベルとなるように特徴点の濃淡レベルを変える。
【0038】
図7は、本実施形態における電子透かし埋め込み方法の一例を説明するためのフローチャートである。これは、図3のS306の詳細図に相当する。
【0039】
まず、ステップ306aで、透かし情報を埋め込む文字に対して、特徴点の抽出を行う。ステップ306aは図8を用いてさらに詳しく説明する。
【0040】
図8は、文字の特徴点を抽出するフローチャートである。
【0041】
まずステップS306a1で、入力された文字画像が2値画像であるか否かが判断される。
【0042】
ステップS306a1で入力した文字画像2値画像ではない場合(No)、ステップS306a2に進み、文字画像の2値化処理を行う。2値化処理とは入力画像が多値画像である場合、一定な濃淡値より小さい画素は黒、大きい画素は白に設定する処理である。この2値化処理は文字の細線化処理における前処理となる。
【0043】
一方、ステップS306a1において、入力した文字画像2値画像である場合(Yes)、ステップS306a3に進む。
【0044】
次にステップS306a3において、2値化した文字画像の細線化を行う。細線化とは2値画像から線幅1の中心線を抽出する操作である。ここでは細線化の基本的な手法の一つであるHildithの細線化法を利用して、細線化を行うが、これに限定されない。Hildithの細線化法については、例えば、「C言語による画像処理入門;昭晃堂;ISBN:4785631244;(2000/11)」を参照されたい。図6の701における「目」という文字を、Hildithの細線化法で細線化すると、図6の702で示されるような文字が得られる(尚、702にある丸印は、説明のためのものである)。
【0045】
細線化された文字画像から特徴点を抽出する(ステップS306a4)。抽出は文字画像の注目点の周囲8画素を調べ,図5のオペレータ式と同じであれば、注目点が特徴点と判断する。
【0046】
ここで、ステップS306a1の2値画像か判定し、ステップS306a2の2値化処理は、ステップS306a3でのHildithの細線化法が、2値化画像に対して細線化する方法であるからである。つまり、S306a3の細線化方法が、2値化画像でなくとも細線化されるものであれば、当然、ステップS306a1及びS306a2は省いてもよい。
【0047】
そして、図7のステップS306bにおいて、文字画像内の特徴点数を変数iに与る。例えば、文字が<目>である場合、特徴点数は8であり、i=8となる。
【0048】
一つの文字に沢山の特徴点が存在する場合、透かし情報を埋め込む順番を決める(ステップS306c)。順番は特徴点の位置情報によって決め、上から下、左から右順にする。図6の703は、上記の順番に従って、透かし情報(101000001)を埋め込んだ例である。
【0049】
なお、鍵情報Kを用いて、ランダムな数字を生成し、それを用いて透かし情報を埋め込む順番を決めても良い。鍵情報Kは一定の長さのランダムな数字から生成される。生成された鍵情報kは透かし抽出に必要なものであり、記憶装置に蓄積しておいても良いし、ユーザが秘密に記憶しておいても良い。
【0050】
次にステップS306dで、変数iが0より大きいか否かが判定される。なお、iはステップS306bで与えられる。
【0051】
ステップS306dで、iが0より大きい場合(Yes)、与えられた特徴点に透かし情報を埋め込む(ステップS306e)。ステップS306eは図6を用いてさらに詳しく説明する。
【0052】
図9は、特徴点に透かし情報を埋め込む方法の一例を説明するためのフローチャートである。
【0053】
まず、ステップS306e1で、与えられた特徴点の周囲の8ビットの中で、濃淡レベルの変換に参照するデータを取り出す。本実施形態では周囲の8ビットの中で一番低い濃淡レベルを参照するデータとし、pとする。
【0054】
次は、ステップS306e2で、透かし情報104が埋め込まれる先頭の文字が選択される。例えば、101001…という情報が透かし情報として入力されていた場合、先頭の文字は「1」である。
【0055】
ステップS306e3で、該当ビットが「1」である場合(Yes)、ステップS306e4に進み、特徴点の濃淡レベル<pとなるように、特徴点の濃淡レベル−xをする。なお、xはユーザが事前に決めており、0<x<255且つ特徴点の濃淡レベルーp<xである。pはステップS306e1により求められる。
【0056】
ステップS306e3で、該当ビットが「0」である場合(Yes)、ステップS306e5に進み、特徴点の濃淡レベル>pとなるように、特徴点の濃淡レベル+xをする。
【0057】
そして、図7のステップS306fにおいて、i=i−1処理をし、ステップS306dに戻る。
【0058】
ステップS306dで、iが0である場合(Yes)、入力された文字の透かし情報埋め込みを終了する。
【0059】
そして、図3のステップS307において、文書画像内の最終文字であるか否かが判断される。その結果、最終文字である場合(Yes)、ステップS308において、透かし情報のビットの埋め込み処理を終了し、埋め込み部106で文字の特徴点の位置情報に基づいて、電子透かしが埋め込まれた画像が生成される(ステップS308)、透かし情報が埋め込まれた画像は、画像出力部107から出力される(ステップS309)。尚、出力は印刷もしくは、記憶装置等に画像データとして記憶してもよく、また、ネットワーク等から他の端末等に送信してもよい。
【0060】
一方、ステップS307において、まだ最終文字でない場合(No)、ステップS304に戻って、次の1文字を入力する。
【0061】
図10は、本発明における電子透かし抽出装置の構成図である。図10に示すように、埋め込まれた透かし情報を抽出したい文書画像200が、図2のスキャナ217に代表される画像入力部901に入力される。そして、文書解析部902において文字の位置関係が解析される。そして、埋め込み判定部903において、埋め込み可能性の判定が行われる。透かし情報抽出部904では、電子透かしの抽出が行われ、透かし情報905が出力される。
【0062】
図11は、本実施形態における電子透かし抽出装置の動作手順を説明するためのフローチャートである。
【0063】
まず,ステップS1001において、透かし情報が埋め込まれた画像を入力する。
【0064】
ステップS1002において、画像から外接矩形(文字)抽出を行う。文書解析部902で、入力された文書の抽出対象となる文書画像200が、図2のスキャナ217に代表される画像入力部901を介して,文書解析部902に入力される。この文書画像は印刷物を217のスキャナなどから入力し、それをビットマップ化したものでも良いし、文書編集アプリケーションプログラムを利用して作成された電子データ、またはハードディスク204やCDドライブ209,DVDドライブ210,FDDドライブ211などに接続された各記憶媒体に格納されたアプリケーションプログラム固有の形式,テキスト形式などをはじめとする種々の電子データを画像処理ソフトなどによって変換し、ビットマップ化したものでも良い。
【0065】
次に、ステップS1003において、1文字を入力し、ステップS1004において、入力された文字の外接矩形の面積が、電子透かしが埋め込まれている文字の面積であるかどうかを、埋め込み判定部903で判定を行う。この埋め込み判定部903は、図1の埋め込み判定部103と同一のものであり、同じ動作の実装で、正確に透かしが埋め込まれている文字を判定することができる。
【0066】
ステップS1005において、ステップS1004で,電子透かしが埋め込まれていると判定された場合(Yes)、透かし情報抽出部904で、電子透かし抽出が行われる。電子透かしが埋め込まれてない文字と判定された場合(No)、ステップS1003に戻り、次の1文字を入力する。
【0067】
ステップS1005は、図12のフローチャートを用いて説明する。透かし情報抽出の手順S1005は、図7のステップS306の透かし情報埋め込み処理と同様の処理が多い。異なる点は、ステップS306eが、透かし情報を埋め込むのに対し、ステップS1005aは、透かし情報の抽出を行う点である。図13は、実施形態1における透かし情報抽出方法を説明するためのフローチャートである。
【0068】
まず、特徴点の周囲8画素で一番低い濃淡レベルpを求める(ステップS1005a1)。次に、特徴点の濃淡レベルhを求める(ステップS1005a2)。そして、求めたhがより小さいか否かが判定される(ステップS1005a3)。
【0069】
その結果、hがpより小さい場合(Yes)、透かし情報として、「1」が抽出される(ステップS1005a4)。一方、hがpより大きい又は同じである場合(No)、透かし情報「0」が抽出される(ステップS1005a5)。
【0070】
次に、ステップS1006は、ステップS1003で入力された文字が、最終の文字であるかを判定する。Yesと判定されたら、透かし情報を出力して(ステップS1006)処理を終了し、Noと判定されたらステップS1003に戻り処理を継続する。本実施形態では、特徴点数が8個である「目」という文字に対して、8ビットの透かし情報を埋め込むことができた。また、文字の特徴点のみに透かし情報を埋め込むため、変形面積が小さく、文字の劣化を抑えることもできる。
【0071】
(実施形態2)
前記した実施形態1では、文字の特徴点の濃淡レベルを変更して透かし情報を埋め込んだが、本実施形態では文字の特徴点のカラーを変更して透かし情報を埋め込む方法を説明する。さらに、本実施形態の特徴点は、実施形態1とは異なる特徴点を用いる。
【0072】
ここで、本実施形態における文字の特徴点について説明する。
【0073】
図14は、文字の特徴点の例であり、図14の1401及び1402の文字の丸印がある点である。つまり、文字の特徴点とは、文字の端点であり、図15で示すようなオペレータ式を用いて検出される点である(図15については後述する)。
【0074】
実施形態2の動作に必要な構成及び処理手順は、実施形態1のステップS306a4と、ステップS306e、ステップS1005a以外は実施形態1と同様である。尚、ステップS306a4は、図15で示したオペレータ式を用いる点が異なる。
【0075】
図16は、実施形態2における電子透かし埋め込み前後の特徴点の説明図である。図16の1201は、「十」という透かし情報を埋め込む前の文字である。本実施形態で使用できる文字画像は2値画像から、カラー画像まで何でもよいが、ここでは、グレースケール文字画像を用いて説明する。
【0076】
図16の1202は、文字の特徴点を探すために、「十」という文字を細線化した場合を表したものである。1202に丸を付けた場所は文字を細線化して得られた特徴点の位置を表している。
【0077】
図16の1203は、1202で探した特徴点の位置に透かし情報を埋め込んだ場合を表している。透かし情報と特徴点の色は、「00」が「赤」、「01」が「青」、「10」が「緑」、「11」が「黒」に対応させる。図12の1203に埋め込まれた透かし情報は10110001であり、特徴点の位置情報に基づき、左から右、上から下の順に埋め込んだ例を示す。
【0078】
そして、電子透かしは文字の特徴点の色情報を用いて埋め込まれる。例えば、「00」を埋め込みたいときは特徴点の色を赤に変え、「01」を埋め込みたいときは「青」、「10」は「緑」、「11」は「黒」に変える。
【0079】
透かし情報を埋め込み、又は抽出するとき、文字の特徴点の位置を抽出する手順は実施形態1のステップS306aと同じである。ただし、実施形態1と本実施形態で探す特徴点の位置が違うため、ステップS306a4で利用するオペレータ式が異なる。本実施形態では抽出は文字画像の注目点の周囲8画素を調べ,図15のオペレータ式と同じであれれば、注目点が特徴点と判断する。
【0080】
図17は、透かし情報を埋め込む時、実施形態2のステップS306eのフローチャートである。まず、ステップS306e21で、透かし情報を先頭の文字から2ビットが選択させる。例えば、10110001…という情報が透かし情報として入力されていた場合、先頭の2ビットの文字は「10」である。ここで、はじめに入力されたビット(例えば「10」中の「1」)を最初のビットと呼び、次に入力されたビット(例えば「10」中の「0」)を次のビットと呼ぶ。
【0081】
ステップS306e22で、埋め込まれる透かし情報の最初のビットが「0」であるか否かが判断される。
【0082】
ステップS306e22で、最初のビットが「0」である場合(Yes)、ステップS306e23に進む。ステップS306e23で次のビットが「0」であるか否かが判断される。ステップS306e23で次のビットが「0」である場合(Yes)、ステップS306e25に進み、特徴点の色を赤に変える。ステップS306e23で次のビットが「1」である場合(No)、ステップS306e26に進み、特徴点の色を青に変える。
【0083】
ステップS306e22で、最初のビットが「1」である場合(No)、ステップS306e24に進む。ステップS306e24で次のビット情報が「0」であるか否かが判断される。ステップS306e24で次のビットが「0」である場合(Yes)、ステップS306e27に進み、特徴点の色を緑に変える。ステップS306e24で次のビットが「1」である場合(No)、ステップS306e28に進み、特徴点の色を黒に変える。
【0084】
図18は、透かし情報を抽出する時、実施形態2のステップS1005aのフローチャートである。
【0085】
まず、特徴点の色を求める(ステップS1005a21)。そして、求めた色が赤であるか否かが判定される(S1005a22)。
【0086】
その結果、特徴点の色が赤である場合(Yes)、透かし情報として、「00」が抽出される(ステップS1005a23)。
【0087】
一方特徴点の色が赤ではない場合(No)、ステップS1005a24に進み、特徴点の色が青であるか否かが判定される。ステップS1005a24で、特徴点の色が青である場合(Yes)、透かし情報として、「01」が抽出させる(ステップS1005a25)。ステップS1005a24で、特徴点の色が青ではない場合(No)、ステップS1005a26に進み、特徴点の色が緑であるか否かが判定される。
【0088】
ステップS1005a26で、特徴点の色が緑である場合(Yes)、透かし情報として、「10」が抽出させる(ステップS1005a27)。ステップS1005a26で、特徴点の色が緑ではない場合(No)、透かし情報として、「11」が抽出される(ステップS1005a28)。
【0089】
本実施形態では4つの違う色に変更することにより、一つの特徴点に2ビットの透かし情報を埋め込んだ。もし、8つの違う色を埋め込めば、1つの特徴点に3ビットの透かし情報を埋め込むことができる。同じく埋め込みに使う色が多ければ多いほど、一つの特徴点に埋め込める情報量は多い。
【0090】
また、本実施形態では、黒、赤、緑、青の色を用いたが、この色に限定されないのは言うまでもない。用途によって、目立ちにくい色を選んでもいいのは言うまでもない。
【0091】
本実施形態では、特徴点数が4個である「十」という文字に対して、8ビットの透かし情報を埋め込むことができた。また、文字の特徴点のみに透かし情報を埋め込むため、変形面積が小さく、文字の劣化を抑えることもできる。
【0092】
<その他の実施形態>
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【0093】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0094】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0095】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【0096】
なお、上記実施形態では特徴点の1ドットのみに透かし情報を入れたが、埋め込み強度を高めるため、特徴点の周辺のドットにも同じ透かし情報を埋め込んでも良い。このとき、文字の変形面積を変えずに、特徴点の周辺のドットは、文字部ではないドットではなく、文字部であるドットであることが望ましい。また、埋め込み強度に応じて、透かし情報を埋め込むべき周辺のドット数を決めてもよい。
【0097】
実施形態1では、文字の特徴点(交差点、T字点、角)の濃淡レベルを変更して透かし情報を埋め込み、実施形態2では文字の特徴点(端点)のカラーを変更して透かし情報を埋め込んだが、この実施形態に限定されない。例えば、文字の特徴点(交差点、T字点、角)のカラーを変更して透かし情報を埋め込んでも構わないし、字の特徴点(端点)の濃淡レベルを変更してもよい。さらに、それらの組み合わせであってもよいし、交差点、T字点、角、端点に透かし情報を埋め込んでも構わない。
【0098】
上記実施形態では、2値画像の場合の説明をしたが、カラー画像であってもよいのは言うまでもない。また、漢字に埋め込む場合を説明したが、ひらがなやカタカナ、アルファベットなどの文字に埋め込んでいいのは言うまでもない。
【0099】
上記実施形態では、1つの文字における抽出された特徴点にすべて透かし情報を埋め込んだが、これに限定されず、予め決めておいた特徴点(例えば、交差点のみなど)に埋め込んでもよいのは言うまでもない。
【0100】
また、上記実施形態では、1つの特徴点に1つの透かし情報を埋め込んだが、これに限定されず、例えば、2つの特徴点の画素値の差や和を用いて、1つの透かし情報を埋め込んでもよい。
【図面の簡単な説明】
【0101】
【図1】本発明における電子透かし埋め込み装置の構成図である。
【図2】本発明における電子透かし埋め込み装置および抽出装置の電気的構成を説明するための図である。
【図3】実施形態1における電子透かし埋め込み装置の動作手順を説明するためのフローチャートである。
【図4】実施形態1における特徴点の例である。
【図5】実施形態1における特徴点を抽出するためのオペレータ式である。
【図6】実施形態1における電子透かし埋め込み前後の文字の説明図である。
【図7】実施形態1におけるステップS306の詳細なフローチャートである。
【図8】実施形態1における特徴点を抽出する方法を説明するためのフローチャートである。
【図9】実施形態1における電子透かし埋め込み方法を説明するためのフローチャートである。
【図10】本発明における電子透かし抽出装置の構成図である。
【図11】本実施形態における電子透かし抽出の動作手順を説明するためのフローチャートである。
【図12】本実施形態におけるステップS1005の詳細なフローチャートである。
【図13】実施形態1における電子透かし抽出方法を説明するためのフローチャートである。
【図14】実施形態2における文字の特徴点の例である。
【図15】実施形態2における特徴点を抽出するためのオペレータ式である。
【図16】実施形態2における電子透かし埋め込み前後の文字の説明図である。
【図17】実施形態2における電子透かし埋め込み方法を説明するためのフローチャートである。
【図18】実施形態2における電子透かし抽出方法を説明するためのフローチャートである。
【図19】文字の間隔を利用した電子透かし埋め込みを行う場合の原画像の例を示す図である。
【図20】文字の間隔を利用した電子透かし埋め込みを行った後の画像を示す図である。
【図21】文字の傾きを利用した電子透かし埋め込み方法を説明するための概要図である。
【特許請求の範囲】
【請求項1】
文書画像を入力する入力手段と、
入力した文書画像の文字の特徴点を抽出する特徴点抽出手段と、
前記特徴点に電子透かしを埋め込む電子透かし埋め込み手段を有し、
前記特徴点は、少なくとも、前記文字の交差点、T字点、角、端点の何れかであることを特徴とする画像処理装置。
【請求項2】
透かし情報が埋め込まれた文書画像を入力する入力手段と、
入力した文書画像の文字の特徴点を抽出する特徴点抽出手段と、
前記特徴点から透かし情報を抽出する透かし情報抽出手段を有し、
前記特徴点は、少なくとも、前記文字の交差点、T字点、角、端点の何れかであることを特徴とする画像処理装置。
【請求項3】
前記特徴点抽出手段は、前記入力した文書画像を細線化する細線化手段と、前記細線化の結果に基づき所定の処理により特徴点を抽出する抽出手段を有することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記所定の処理は、細線化した画像から、注目する画素とその周囲の8画素より、特徴点を抽出することを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記電子透かし埋め込み手段は、前記特徴点の濃淡レベルを周囲の画素の濃淡レベルより大きく、または小さくすることによって電子透かしを埋め込むことを特徴とする請求項1の画像処理装置。
【請求項6】
前記電子透かし埋め込み手段は、前記特徴点の色を変更することによって電子透かしを埋め込むことを特徴とする請求項1の画像処理装置。
【請求項7】
前記文字の特徴点に電子透かしを埋め込むとき、複数の特徴点に電子透かしを埋め込む順番は、前記特徴点の位置情報で決めるか、または鍵情報で生成されたランダム数字を用いて決めることを特徴とする請求項1の画像処理装置。
【請求項8】
前記画像を入力する画像入力工程と、
入力された画像の特徴点を抽出する抽出工程と、
前記特徴点に電子透かしを埋め込む電子透かし埋め込み工程を有し、
前記特徴点は、少なくとも、前記文字の交差点、T字点、角、端点の何れかであることを特徴とする画像処理方法。
【請求項9】
透かし情報が埋め込まれた画像を入力する画像入力工程と、
前記入力された画像の特徴点を抽出する抽出工程と、
前記特徴点から透かし情報を抽出する抽出工程を有し、前記特徴点は、少なくとも、前記文字の交差点、T字点、角、端点の何れかであることを特徴とする画像処理方法。
【請求項10】
請求項1〜7の何れか1項に記載の画像処理装置の機能をコンピュータに実行させるためのプログラム。
【請求項11】
請求項10記載のプログラムを格納し、コンピュータが読み取り可能なコンピュータ可読記憶媒体。
【請求項1】
文書画像を入力する入力手段と、
入力した文書画像の文字の特徴点を抽出する特徴点抽出手段と、
前記特徴点に電子透かしを埋め込む電子透かし埋め込み手段を有し、
前記特徴点は、少なくとも、前記文字の交差点、T字点、角、端点の何れかであることを特徴とする画像処理装置。
【請求項2】
透かし情報が埋め込まれた文書画像を入力する入力手段と、
入力した文書画像の文字の特徴点を抽出する特徴点抽出手段と、
前記特徴点から透かし情報を抽出する透かし情報抽出手段を有し、
前記特徴点は、少なくとも、前記文字の交差点、T字点、角、端点の何れかであることを特徴とする画像処理装置。
【請求項3】
前記特徴点抽出手段は、前記入力した文書画像を細線化する細線化手段と、前記細線化の結果に基づき所定の処理により特徴点を抽出する抽出手段を有することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記所定の処理は、細線化した画像から、注目する画素とその周囲の8画素より、特徴点を抽出することを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記電子透かし埋め込み手段は、前記特徴点の濃淡レベルを周囲の画素の濃淡レベルより大きく、または小さくすることによって電子透かしを埋め込むことを特徴とする請求項1の画像処理装置。
【請求項6】
前記電子透かし埋め込み手段は、前記特徴点の色を変更することによって電子透かしを埋め込むことを特徴とする請求項1の画像処理装置。
【請求項7】
前記文字の特徴点に電子透かしを埋め込むとき、複数の特徴点に電子透かしを埋め込む順番は、前記特徴点の位置情報で決めるか、または鍵情報で生成されたランダム数字を用いて決めることを特徴とする請求項1の画像処理装置。
【請求項8】
前記画像を入力する画像入力工程と、
入力された画像の特徴点を抽出する抽出工程と、
前記特徴点に電子透かしを埋め込む電子透かし埋め込み工程を有し、
前記特徴点は、少なくとも、前記文字の交差点、T字点、角、端点の何れかであることを特徴とする画像処理方法。
【請求項9】
透かし情報が埋め込まれた画像を入力する画像入力工程と、
前記入力された画像の特徴点を抽出する抽出工程と、
前記特徴点から透かし情報を抽出する抽出工程を有し、前記特徴点は、少なくとも、前記文字の交差点、T字点、角、端点の何れかであることを特徴とする画像処理方法。
【請求項10】
請求項1〜7の何れか1項に記載の画像処理装置の機能をコンピュータに実行させるためのプログラム。
【請求項11】
請求項10記載のプログラムを格納し、コンピュータが読み取り可能なコンピュータ可読記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【公開番号】特開2006−74166(P2006−74166A)
【公開日】平成18年3月16日(2006.3.16)
【国際特許分類】
【出願番号】特願2004−252315(P2004−252315)
【出願日】平成16年8月31日(2004.8.31)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成18年3月16日(2006.3.16)
【国際特許分類】
【出願日】平成16年8月31日(2004.8.31)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]