JP3754845B2 - Image processing apparatus and method, and storage medium - Google Patents

Image processing apparatus and method, and storage medium Download PDF

Info

Publication number
JP3754845B2
JP3754845B2 JP20376699A JP20376699A JP3754845B2 JP 3754845 B2 JP3754845 B2 JP 3754845B2 JP 20376699 A JP20376699 A JP 20376699A JP 20376699 A JP20376699 A JP 20376699A JP 3754845 B2 JP3754845 B2 JP 3754845B2
Authority
JP
Japan
Prior art keywords
mask pattern
image data
embedding
information
image processing
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
Application number
JP20376699A
Other languages
Japanese (ja)
Other versions
JP2001036724A (en
Inventor
朋之 宮下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP20376699A priority Critical patent/JP3754845B2/en
Priority to US09/615,577 priority patent/US6993148B1/en
Publication of JP2001036724A publication Critical patent/JP2001036724A/en
Application granted granted Critical
Publication of JP3754845B2 publication Critical patent/JP3754845B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は画像処理装置及び方法及び記憶媒体、詳しくはデジタル画像データの中に視覚できないように情報を埋め込み、或いは埋め込まれた情報を抽出する画像処理装置及び方法及び記憶媒体に関するものである。
【0002】
【従来の技術】
従来、電子透かし技術はデジタルコンテンツの著作権を保護する手法として色々な方法が開発されて来た。この方法は、画像のデジタル情報の中に著作権保有者の名前・購入者のID等デジタルコンテンツの取り扱い情報を、眼に見えない様に埋め込み、違法コピーによる無断の使用を追跡可能とする手法として、電子流通でのセキュリテイ・著作権保護技術として最近注目を浴びている。更に、デジタルコンテンツの改竄抑止を実現する手段としての電子透かし技術の開発もされている。この電子透かし技術においてデータの埋め込みの方法として、種々の方法が提案されている。そのうちの一つの方法として、マスクパターンを利用して情報を埋め込む方法がある。この方法は、デジタル化した画像データにマスクパターンに従った埋め込みを繰り返し行うもので、例えば、図1(a)〜(d)のマスクパターンに示したa,b,c,dの位置に、図2乃至図4のようなマスクパターン配列に従い、量子化誤差などを利用して情報を埋め込み、合成画像を得る。
【0003】
しかしながら、このようにして得られた合成画像への改竄個所特定の精度を向上させるには、マスクパターンを図2、図4のように画像データに隙間なく配置する必要がある。更に、合成画像から一部切り取られた画像からの透かし情報の検出精度を向上させるには、一般的に図4のようなマスクパターン配置が望ましい。従って、改竄箇所特定の精度、切り取りに対する透かし耐性向上の両者を満足させるためには、図4のようなマスクパターン配置での埋め込みをする。
【0004】
【発明が解決しようとする課題】
かかる方法で埋め込みを行うことにより、改竄個所特定の精度、切り取りに対する耐性向上が可能であるが、以下の問題点がある。
1)耐性向上のためには、マスクパターンのサイズは小さいほどよいが、低周波ノイズやブロックノイズが視覚的に目立ちやすく画質劣化を生じる。また、埋め込める情報量はマスクパターンのデータ数に制限を受ける。
【0005】
例えば、図1(a)〜(d)のマスクパターンを利用した場合、a,b,c,dの4ビット、また、最大でも16ビットに制限される。
2)画質向上のためには、マスクパターンのサイズは大きいほどよいが、耐性が弱くなる。
3)改竄個所特定の精度向上のためには、埋め込み位置を多くする必要があが、低周波ノイズやブロックノイズが視覚的に目立ちやすく画質劣化を生じる。
【0006】
従って、改竄個所特定の精度、切り取りに対する耐性向上と画質とはお互いにトレードオフの関係にあり、一方をよくすると他方が悪くなり、両方を満足させる事はできなかった。
【0007】
本発明はかかる問題点を解決し、画質の劣化を少なくし、且つ、改竄個所特定の精度を向上させることを可能ならしめる画像処理装置及び方法及び記憶媒体を提供するものである。
【0008】
【課題を解決するための手段】
この課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、
画像データに所定の情報を埋め込む画像処理装置であって、
ブルーノイズ特性に従ってM×Nサイズ内の埋め込み対象位置を特定したマスクパターンと発生する発生手段と、
前記画像データの一部に前記マスクパターンをあてはめ、前記所定の情報を前記埋め込み対象位置に相当する画像データを変調することにより埋め込む埋め込み手段とを有する。
【0009】
【発明の実施の形態】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【0010】
図14、実施形態における情報処理装置のブロック構成図である。図中、1は装置全体の制御を司るCPUであり、2はBIOSやブートプログラムを記憶してるROMである。3はOSや各種アプリケーションがロードされると共にCPUのワークエリアとしても使用されるRAMであり、読み取った画像を格納する画像メモリ3aが確保される。4はハードディスク等の外部記憶装置であり、ここにOSや各種アプリケーションプログラムが格納されている。また、処理結果の画像データもファイルとして格納可能になっている。5はキーボード(マウス等のポインティングデバイスを含む)であり、6は原稿画像をカラー画像データとして読み取るイメージスキャナであり、SCSI等のインタフェースで接続されている。7は表示制御部であり、内部に表示対象の画像データを格納する表示メモリを含んでいる。8は表示制御部7から出力されてくる映像信号を表示する表示装置であり、CRTや液晶表示器等である。9はカラープリンタであり、例えばインク液滴を熱エネルギーによって吐出する記録ヘッドを各記録色成分だけ有するプリンタエンジンを備えている。10はネットワーク(インターネットでも勿論構わない)との情報通信を行うためのネットワーク通信部である。
【0011】
上記構成において、実施形態では、イメージスキャナで読み取ったカラー画像データを画像メモリ3aに格納し、別途設定された情報を電子すかし技術を用いて埋め込むものである。
【0012】
図5は、低周波成分を含まない中高帯域成分からなる、いわゆるブルーノイズ特性を有する32×32画素のマスクパターンである。図中の黒点は、情報の埋め込み位置を示す。ここで、埋め込む情報量(ビット数)は、この黒点の数以下にする。
【0013】
なお、上記ブルーノイズ特性を有するマスクパターンは、通常、画像の2値化の為に使用されるものであるが、本実施形態ではこのブルーノイズ特性を有するパターンを利用して情報を埋め込むことにより、人間の視覚特性を考慮した効率良い電子すかし処理を行うことが可能である。また、ブルーノイズマスクのパターン構成については、例えば、Digital Halftoning, Robert Ulichney著(1987,Massachusetts Institue of Technology、或いは、特許第2622429号等に開示がある。
【0014】
図6は、図5のマスクパターンで画像データ全体に情報を埋め込む際のマスクパターンの配置である。以下に、図5のマスクパターンと図6のマスクパターンの配置を用いた、埋め込みと検出方法を説明する。
【0015】
埋め込みは、まず、先に説明したようにイメージスキャナから原画像データを画像メモリ3aに読み込む。次に、図6のマスクパターン配置の左上を始めとして、図5のマスクパターンの埋め込み位置に情報を埋め込みを行い、完了したら、その右のマスクパターン配置の埋め込みを行う。この処理を図6のマスクパターン配置の右下まで行う。
【0016】
図7は、上記の埋め込みにおける、埋め込み対象マスクパターン位置の移動の仕方を示している。画像の左端から矢印の方向にマスクパターンを移動させながら、マスクパターンの埋め込み位置に情報の埋め込みを行う。
【0017】
図8は、図5のマスクパターンの埋め込み位置に対応する画像データへの埋め込み方法を示している。Xは画素値、hは量子化のステップ幅、nは自然数を示す。
【0018】
埋め込みのルールは、埋め込み情報が0の場合は、再量子化データの偶数番目に量子化し、埋め込み情報が1の時は、再量子化データの奇数番目に量子化を行う。
【0019】
図示の場合、注目画素値Xが2nと2n+1の間にある例を示したが、仮に注目画素値Xが2n−1と2nの間にあった場合、注目画素の位置に0を埋めこむ場合には注目画素値は偶数である2nに、1の場合には奇数である2n−1に量子化されることになるので、矛盾は発生しない。
【0020】
簡単に説明すると、入力画素がRGB各8ビットで表現され、B成分について埋めこみを行うことを考える。この場合、入力画像の或る画素のB成分は0、1、…、255のいずれかの値を取り得るわけであるが、量子化ステップ幅を仮に8とすると、情報の埋めこみ及び量子化後のデータは、0、8、16、24、32…の値を取り得るというものである。ここで0、16、32…は上記の2n、つまり偶数に対応し、8、24…は2n+1、つまり、奇数に対応するものである。
【0021】
さて、逆に埋めこまれたデータを検出する場合、基本的に、量子化ステップ幅の偶数倍(0、16、32…)であればそこに埋めこまれたであろうデータは0であるし、奇数倍(8、24…)であれば1として検出することができる。ただし、埋めこみ対象の位置であると判定された画素に対してである。それ以外のデータの場合(例えば10等)、その画素位置には少なくとも情報が埋め込まれていないことになる。
【0022】
今、埋め込み方法で変換された画像データ(図9(a))、その一部を切り取った画像データ(図9(b))、及び、図9の画像データに改竄を施した画像データ(図10(a))、図9(a)の一部を切り取って改竄した画像データ(図10(b))があったとする。
【0023】
この場合、図11に示すように、それぞれの画像の左上を始点とし、図5に示したマスクパターンの黒色で示されるドットを調べることで情報が埋めこまれているか否かを判定する。この際、図11のPoint(x、y)の座標と判定数を記録しておく。
【0024】
なお、ドットに情報が埋めこまれているか否かの判定は、図5のマスクパターンの黒ドットでマスクされる各画素の値が、量子化ステップ幅の整数倍となっているかどうかで判定する。そして、この整数倍であると判定された数(以下、判定数という)と、そのときのマスクパターンの位置を示すPoint(x,y)とを対応付けてRAM3内の適当な領域に格納する。
【0025】
以下、この処理を右方向に1画素分移動させながら繰り返し、右端に到達した後は、図11の左上隅から下方向に1ドットずらした位置に移動し、同様の処理を繰り返すことで行う。
【0026】
こうして、対象となる画像全体に対する判定処理が終了すると、判定数をキーにして多い順にソートする。そして、閾値以上の判定数となった、Point(x、y)の座標と判定数を求める。ここで閾値としては、埋めこむ情報量(ビット数)を用いれば良い。ただし、著作者名でqビット必要な場合で、埋めこむ情報がQ(マスクパターンの黒ドット数>Q>q)ビットである場合、残りのビット(Q−q)には、パリティとか、適当な値を含ませれば良い。
【0027】
図12は、こうして得られたk組の情報を示している(閾値以上の個数がk個存在したことを示している)。
【0028】
そして、組みの情報それぞれに対して、埋め込まれている情報の判定を、図5のマスクパターンの埋め込み位置分行う。この際、各組の埋め込み位置に対応した判定情報を記録しておく。
【0029】
図13は、各組のP1〜Pnの埋め込み位置に対応した判定情報を示している。判定のルールは、画素データXが量子化ステップ幅hの偶数倍であれば“0”、奇数倍であれば“1”が埋め込まれていると判断するのは先に説明した通りである。
【0030】
そして、同じ埋め込み位置同士の“0”、”1”の多数決を行い、埋め込まれた情報を判定する。
【0031】
ところで、改竄個所の特定は、以下のようにして行う。
【0032】
上記多数決の多数を占めるpoint(x,Y)のx、yはマスクパターンのサイズ(実施形態では32×32としている)に依存した値になる。より詳しくは、改竄がない場合には、入力画像の左上隅位置をx=0、Y=0とした場合、基本的にpoint(x,y)のx、yは
x=32×i+c1
y=32×j+c2
ここで、i,j=0、1、2、…であり、c1及びc2は定数(勿論、入力画像に依存する)である。情報の埋めこみは画像全体に対して行っているので、i,jは本来、連続しているはずである。
【0033】
従って、point(x、y)のx、yが上記の関係において、仮に、j=5のときの、i=1、2、3、4、10、11における領域が埋めこみ対象の領域として判定された場合には、j=5、i=5〜9で示される各領域が改竄されていると判定して良いことになる。
【0034】
こうして改竄箇所が判定された場合には、改竄されている旨のメッセージと、入力画像データ中の改竄箇所を例えば非改竄箇所と区別するようにして表示装置8に表示する。区別表示の一例としては、改竄箇所を枠で囲んで表示したり、色を変えて表示する等で行えばよいであろう。
【0035】
なお、実施形態では、埋めこむべき情報は図6に示すように正方マスクパターンを利用する場合を説明したが、マスクパターンは一般にM×Nのサイズで良い。
【0036】
また、実施形態では、埋めこむ情報の量(ビット数)はマスクパターンの黒ドットで示される個数以下に限定されるが、このビット数を越える情報を格納する場合には、マスクパターン2つにまたがって情報A,Bを繰り返し埋めこむようにすればよい。
【0037】
また、情報を埋めこむ際に、実際に必要な情報(ビット数)+エラー訂正コードのビットを含めるようにすると更に信頼性を上げることができる。
【0038】
上記処理は具体的にはCPU1によって行われるが、その手順(プログラム)を図15、図16に従って説明する。なお、同プログラムは外部記憶装置4に記憶されており、RAM3上にロードされ実行されることになる。
【0039】
図15は、電子すかし技術による情報埋めこみ処理の手順を示している。
【0040】
先ず、ステップS1において、埋め込み対象となる画像をイメージスキャナ6から入力し、画像メモリ3aに展開する。そして、ステップS2に進み、埋めこむ情報(例えば著作権者名等)をキーボード6等から入力し、ステップS3で外部記憶装置4からマスクパターンをロードする。このマスクパターンは、図5に示すように、中高帯域、つまり、中高周波成分のパターンである。
【0041】
次に、ステップS4で、画像メモリ3aに展開された画像データに対して、マスクパターンをあてはめる位置を初期化するため、x、yそれぞれに0を代入する。
【0042】
ステップS5では、マスクパターンの左上隅を画像データのx、yの位置に設定し、そのマスクパターン中の黒ドット中の予め決められたドット群に対して、埋めこむ情報(ビット)に依存して量子化処理を行う。この処理を、埋め込む情報のビット数だけ行う。
【0043】
そして、この処理を終えると、ステップS6に進んで、入力した画像のサイズと、マスクパターンのサイズ、及び、その時点のx、yの値から、画像の右端に到達したか否かを判断し、否の場合には、マスクパターンの幅だけ右にずらすために、ステップS7の処理を行い、その後、ステップS5に戻り、上記処理を繰り返す。
【0044】
また、画像の右端に到達したと判断した場合には、xを0で初期化し、yをマスクパターンの高さだけ増加させる。そして、ステップS9で1画面分の埋めこみが完了したと判断されるまで、ステップS5乃至8の処理を繰り返す。
【0045】
こうして、入力した画像に対する埋めこみ処理が完了すると、画像メモリ3aに格納された画像データは、電子すかし技術による情報が埋め込まれたことになるから、その画像データを出力する。出力先は、保存の場合には、外部記憶装置4ということになるし、ネットワーク(インターネットも含む)上であったりする。
【0046】
次に、上記のようにして情報が埋め込まれた画像の埋め込まれた情報抽出、及び改竄判定処理を図16のフローチャートに従って説明する。
【0047】
先ず、ステップS21において、判定対象の画像を入力し、画像メモリ3aに展開する。入力元は、ネットワークからダウンロードしたもの、フロッピー等に格納されているもの等で良く、特定のものである必要はない。そして、ステップS22に進み、外部記憶装置4からマスクパターン(図5参照)をロードする。
【0048】
次に、ステップS23で、画像メモリ3aに展開された画像データに対して、判定するマスクパターンをあてはめる位置を初期化するため、x、yそれぞれに0を代入する。
【0049】
そして、ステップS24に進み、マスクパターンの左上隅を画像データのx、yの位置に設定し、そのマスクパターン中の黒ドットに対応する入力画像の画素値を全て読出し、ステップS25で埋め込まれている可能性のある画素数を計数し、その計数結果をRAM等に一時的に記憶する。このとき、その時点におけるマスクパターンをあてはめたx、yの値も併せて記憶する。
【0050】
そして、ステップS26で画像の右端にまで到達したか否かを判断し、否の場合には、xを“1”だけ増加、つまり、マスクパターンをあてはめる位置を1画素ずらして、ステップS24に戻る。
【0051】
また、画像の右端に到達したと判断した場合には、ステップS28でxを“0”で初期化し、yを“1”だけ増加させる。そして、ステップS29で画像全体に対するステップS24、25の処理が完了したと判断するまで、ステップS24乃至28の処理を繰り返す。
【0052】
こうして、1画面分の情報収集が終了すると、ステップS30で記憶させたデータを、計数の多い順番に並べ、所定数以上のものを有効とする。そして、ステップS31に進んで、埋め込まれた情報の抽出を行う。
【0053】
ステップS32では、収集された情報とそれぞれのx、yの値から、改竄されているか否か、及び、改竄されているとすればどの位置かの判定を行う。改竄されていないと判定された場合には、ステップS33で埋め込まれた情報の表示、例えば著作権者名を表示する等の処理を行う。
【0054】
また、改竄されていると判定した場合には、ステップS34で改竄されている旨のメッセージの表示、改竄箇所を明示するエラー処理を行い、本処理を終了する。
【0055】
以上説明したように本実施形態によれば、情報を埋め込むために用いるマスクパターンを低周波成分を有しないものを用い、且つ、マスクパターンの黒、つまり、“1”となっている位置全てに情報を埋め込むものではなく、限られた箇所に対して量子化処理と情報の埋め込みを行うので、画質に与える影響は少なく、良好な画質を維持することができるようになる。また、改竄があっても、その位置も特定できるようにもなる。
【0056】
なお、本発明は単独の装置、又は、複数の装置の組み合わせのシステムに適用しても良いのは勿論である。
【0057】
また、上記本実施形態は、例えば画像を入力する手段(イメージスキャナやネットワーク接続のため、又はフロッピーディスク等のハードウェア)を必要とするものの、これらは汎用の情報処理装置(パーソナルコンピュータ)が通常備えるもの、或いは、接続可能な汎用デバイスで構わず、その処理はCPUの処理、つまり、プログラムによって実現できる。
【0058】
よって、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【0059】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0060】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
【0061】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0062】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0063】
【発明の効果】
以上説明したように本発明によれば、電子すかし技術において、画質の劣化を少なくし、且つ、改竄個所特定の精度を向上させることが可能になる。
【図面の簡単な説明】
【図1】電子すかし技術による埋めこみ対象となる領域の例を示す図である。
【図2】情報埋めこみするためのマスクパターンの配列の一例を示す図である。
【図3】情報埋めこみするためのマスクパターンの配列の一例を示す図である。
【図4】情報埋めこみするためのマスクパターンの配列の一例を示す図である。
【図5】実施形態におけるマスクパターンの一例を示す図である。
【図6】実施形態におけるマスクパターンによる情報埋め込む領域を示す図である。
【図7】実施形態における埋めこみシーケンスを示す図である。
【図8】実施形態における情報埋めこみの概念図である。
【図9】埋め込まれた画像の一例を示す図である。
【図10】改竄された画像の一例を示す図である。
【図11】埋めこみ情報抽出処理におけるマスクパターンをあてはめるシーケンスを示す図である。
【図12】収集された情報の格納状態を示す図である。
【図13】埋め込まれた情報を抽出する処理を説明するための図である。
【図14】実施形態における装置のブロック構成図である。
【図15】実施形態における埋めこみ処理を示すフローチャートである。
【図16】実施形態における埋めこみ情報の抽出、改竄判定処理を示すフローチャートである。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus, method, and storage medium, and more particularly, to an image processing apparatus, method, and storage medium for embedding information in digital image data so as to be invisible or extracting the embedded information.
[0002]
[Prior art]
Conventionally, various methods have been developed for digital watermark technology as a method for protecting the copyright of digital contents. This method embeds digital content handling information such as the name of the copyright holder and the purchaser's ID in the digital information of the image so that it cannot be seen by the eyes, and can track unauthorized use by illegal copying As a security and copyright protection technology in electronic distribution, it has recently attracted attention. Furthermore, a digital watermark technique has been developed as a means for preventing digital content from being falsified. In this digital watermark technology, various methods have been proposed as data embedding methods. One method is to embed information using a mask pattern. This method repeatedly embeds digitized image data in accordance with a mask pattern. For example, at the positions a, b, c, and d shown in the mask patterns of FIGS. In accordance with the mask pattern arrangement as shown in FIGS. 2 to 4, information is embedded using a quantization error or the like to obtain a composite image.
[0003]
However, in order to improve the accuracy of specifying the tampered part in the composite image obtained in this way, it is necessary to arrange the mask pattern without gaps in the image data as shown in FIGS. Furthermore, in order to improve the detection accuracy of watermark information from an image partially cut out from the synthesized image, a mask pattern arrangement as shown in FIG. 4 is generally desirable. Therefore, in order to satisfy both the accuracy of specifying the falsification location and the improvement of the watermark resistance against clipping, embedding is performed with the mask pattern arrangement as shown in FIG.
[0004]
[Problems to be solved by the invention]
By embedding by such a method, it is possible to improve the accuracy of specifying the tampering location and the resistance to cutting, but there are the following problems.
1) In order to improve tolerance, the smaller the mask pattern size, the better. However, low-frequency noise and block noise are visually noticeable and cause image quality degradation. The amount of information that can be embedded is limited by the number of mask pattern data.
[0005]
For example, when the mask patterns shown in FIGS. 1A to 1D are used, the mask pattern is limited to 4 bits a, b, c, d, and 16 bits at the maximum.
2) In order to improve the image quality, the larger the mask pattern size, the better, but the resistance becomes weaker.
3) Although it is necessary to increase the embedding position in order to improve the accuracy of specifying the tampered portion, low frequency noise and block noise are visually noticeable and image quality deterioration occurs.
[0006]
Therefore, there is a trade-off relationship between the accuracy of specifying the tampered part, the improvement in cut-out resistance, and the image quality. If one is improved, the other is worsened and both cannot be satisfied.
[0007]
The present invention provides an image processing apparatus and method, and a storage medium that can solve such problems, reduce image quality deterioration, and improve the accuracy of specifying a falsification point.
[0008]
[Means for Solving the Problems]
In order to solve this problem, for example, an image processing apparatus of the present invention has the following configuration. That is,
An image processing apparatus for embedding predetermined information in image data,
A mask pattern specifying an embedding target position in the M × N size according to the blue noise characteristics and a generating means for generating the mask pattern;
And embedding means for embedding the predetermined information by modulating image data corresponding to the embedding target position by applying the mask pattern to a part of the image data.
[0009]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings.
[0010]
FIG. 14 is a block configuration diagram of the information processing apparatus in the embodiment. In the figure, reference numeral 1 denotes a CPU that controls the entire apparatus, and reference numeral 2 denotes a ROM that stores a BIOS and a boot program. Reference numeral 3 denotes a RAM which is used as a work area of the CPU while the OS and various applications are loaded, and an image memory 3a for storing the read image is secured. Reference numeral 4 denotes an external storage device such as a hard disk, in which an OS and various application programs are stored. Further, image data obtained as a result of processing can be stored as a file. Reference numeral 5 denotes a keyboard (including a pointing device such as a mouse), and reference numeral 6 denotes an image scanner that reads a document image as color image data, and is connected by an interface such as SCSI. A display control unit 7 includes a display memory for storing image data to be displayed. Reference numeral 8 denotes a display device that displays a video signal output from the display control unit 7, and is a CRT, a liquid crystal display, or the like. Reference numeral 9 denotes a color printer, which includes, for example, a printer engine having a recording head for discharging ink droplets by thermal energy only for each recording color component. Reference numeral 10 denotes a network communication unit for performing information communication with a network (which may of course be the Internet).
[0011]
In the above configuration, in the embodiment, the color image data read by the image scanner is stored in the image memory 3a, and separately set information is embedded using an electronic watermark technique.
[0012]
FIG. 5 shows a mask pattern of 32 × 32 pixels having a so-called blue noise characteristic composed of middle and high band components not including a low frequency component. Black dots in the figure indicate information embedding positions. Here, the amount of information (number of bits) to be embedded is set to be equal to or less than the number of black spots.
[0013]
The mask pattern having the blue noise characteristic is usually used for binarization of an image. In the present embodiment, information is embedded by using the pattern having the blue noise characteristic. It is possible to perform efficient electronic watermark processing in consideration of human visual characteristics. The pattern configuration of the blue noise mask is disclosed in, for example, Digital Halftoning, Robert Ulichney (1987, Massachusetts Institute of Technology or Japanese Patent No. 2622429).
[0014]
FIG. 6 shows an arrangement of a mask pattern when information is embedded in the entire image data with the mask pattern of FIG. Hereinafter, an embedding and detection method using the arrangement of the mask pattern of FIG. 5 and the mask pattern of FIG. 6 will be described.
[0015]
In embedding, first, as described above, original image data is read from the image scanner into the image memory 3a. Next, information is embedded in the embedding position of the mask pattern in FIG. 5 starting from the upper left of the mask pattern arrangement in FIG. 6, and when completed, the right mask pattern arrangement is embedded. This process is performed to the lower right of the mask pattern arrangement in FIG.
[0016]
FIG. 7 shows how the position of the mask pattern to be embedded moves in the above-described embedding. Information is embedded at the mask pattern embedding position while moving the mask pattern from the left end of the image in the direction of the arrow.
[0017]
FIG. 8 shows a method of embedding in the image data corresponding to the embedding position of the mask pattern in FIG. X is a pixel value, h is a quantization step width, and n is a natural number.
[0018]
As for the embedding rule, when the embedding information is 0, the quantization is performed to the even-numbered requantized data, and when the embedding information is 1, the quantization is performed to the odd-numbered requantized data.
[0019]
In the example shown in the figure, the target pixel value X is between 2n and 2n + 1. However, if the target pixel value X is between 2n-1 and 2n, when 0 is embedded in the position of the target pixel. Since the pixel value of interest is quantized to 2n which is an even number and 2n-1 which is an odd number in the case of 1, the contradiction does not occur.
[0020]
Briefly, it is assumed that the input pixel is represented by 8 bits for each of RGB and the B component is embedded. In this case, the B component of a certain pixel of the input image can take any value of 0, 1,..., 255. However, if the quantization step width is 8, the information is embedded and after quantization. This data can take values of 0, 8, 16, 24, 32. Here, 0, 16, 32,... Correspond to the above 2n, that is, an even number, and 8, 24,... Correspond to 2n + 1, that is, an odd number.
[0021]
When detecting data embedded in the reverse direction, basically, if the quantization step width is an even multiple (0, 16, 32,...), The data embedded in the data is 0. If it is an odd multiple (8, 24...), It can be detected as 1. However, this is for the pixel determined to be the position to be embedded. In the case of other data (for example, 10), at least information is not embedded in the pixel position.
[0022]
Now, image data converted by the embedding method (FIG. 9A), a part of the image data cut out (FIG. 9B), and image data obtained by falsification of the image data in FIG. 9 (FIG. 9). 10 (a)) and image data (FIG. 10 (b)) obtained by cutting and tampering a part of FIG. 9 (a).
[0023]
In this case, as shown in FIG. 11, the upper left corner of each image is used as a starting point, and it is determined whether or not information is embedded by examining the dots shown in black in the mask pattern shown in FIG. At this time, the coordinates of Point (x, y) and the number of determinations in FIG. 11 are recorded.
[0024]
Whether or not information is embedded in the dot is determined by whether or not the value of each pixel masked by the black dot in the mask pattern in FIG. 5 is an integral multiple of the quantization step width. . Then, the number determined to be an integer multiple (hereinafter referred to as the determination number) and Point (x, y) indicating the position of the mask pattern at that time are associated with each other and stored in an appropriate area in the RAM 3. .
[0025]
Thereafter, this process is repeated while moving rightward by one pixel. After reaching the right end, the process moves to a position shifted by one dot downward from the upper left corner of FIG. 11, and the same process is repeated.
[0026]
Thus, when the determination process for the entire target image is completed, the number of determinations is used as a key to sort in descending order. Then, the coordinates of Point (x, y) and the number of determinations, which are the number of determinations equal to or greater than the threshold, are obtained. Here, the amount of information (number of bits) to be embedded may be used as the threshold value. However, if the author name requires q bits, and the information to be embedded is Q (number of black dots in the mask pattern>Q> q) bits, the remaining bits (Q-q) include parity or other appropriate values. It is sufficient to include such a value.
[0027]
FIG. 12 shows the k sets of information obtained in this way (shows that there are k numbers greater than or equal to the threshold).
[0028]
Then, the embedded information is determined for each set of information for the mask pattern embedding position shown in FIG. At this time, determination information corresponding to the embedded positions of each set is recorded.
[0029]
FIG. 13 shows determination information corresponding to the embedded positions of P1 to Pn in each group. As described above, it is determined that “0” is embedded if the pixel data X is an even multiple of the quantization step width h, and “1” is embedded if the pixel data X is an odd multiple.
[0030]
Then, the majority of “0” and “1” between the same embedding positions is determined, and the embedded information is determined.
[0031]
By the way, the tampering part is specified as follows.
[0032]
X and y of point (x, Y) occupying the majority of the majority are values depending on the size of the mask pattern (32 × 32 in the embodiment). More specifically, when there is no falsification, when the upper left corner position of the input image is x = 0 and Y = 0, x and y of point (x, y) are basically x = 32 × i + c1.
y = 32 × j + c2
Here, i, j = 0, 1, 2,..., And c1 and c2 are constants (of course, depending on the input image). Since information is embedded in the entire image, i and j should be continuous.
[0033]
Therefore, if x and y of point (x, y) are in the above relationship, the region at i = 1, 2, 3, 4, 10, 11 when j = 5 is determined as the region to be embedded. In this case, it may be determined that each area indicated by j = 5 and i = 5-9 is falsified.
[0034]
When the falsified location is determined in this way, a message indicating that the falsification has been made and the falsified location in the input image data are displayed on the display device 8 so as to be distinguished from, for example, a non-falsified location. As an example of the distinction display, it may be performed by surrounding the falsified portion with a frame or displaying it with a different color.
[0035]
In the embodiment, the case where the square mask pattern is used as shown in FIG. 6 has been described as the information to be embedded, but the mask pattern may generally have a size of M × N.
[0036]
In the embodiment, the amount of information to be embedded (the number of bits) is limited to the number indicated by the black dots of the mask pattern. However, when storing information exceeding the number of bits, two mask patterns are stored. What is necessary is just to embed information A and B repeatedly straddling.
[0037]
Further, when embedding information, it is possible to further increase the reliability by including the actually required information (number of bits) + the error correction code bits.
[0038]
The above processing is specifically performed by the CPU 1, and the procedure (program) will be described with reference to FIGS. The program is stored in the external storage device 4, and is loaded onto the RAM 3 and executed.
[0039]
FIG. 15 shows the procedure of the information embedding process using the electronic watermark technique.
[0040]
First, in step S1, an image to be embedded is input from the image scanner 6 and developed in the image memory 3a. In step S2, information to be embedded (for example, a copyright owner name) is input from the keyboard 6 or the like, and a mask pattern is loaded from the external storage device 4 in step S3. As shown in FIG. 5, this mask pattern is a middle-high band, that is, a middle-high frequency component pattern.
[0041]
Next, in step S4, 0 is substituted for each of x and y in order to initialize the position where the mask pattern is applied to the image data developed in the image memory 3a.
[0042]
In step S5, the upper left corner of the mask pattern is set to the x and y positions of the image data, and the predetermined dot group in the black dots in the mask pattern depends on the information (bits) to be embedded. To quantize. This process is performed for the number of bits of information to be embedded.
[0043]
When this processing is completed, the process proceeds to step S6, where it is determined whether or not the right end of the image has been reached from the size of the input image, the size of the mask pattern, and the x and y values at that time. If not, the process of step S7 is performed to shift the mask pattern width to the right, and then the process returns to step S5 to repeat the above process.
[0044]
If it is determined that the right end of the image has been reached, x is initialized to 0, and y is increased by the height of the mask pattern. Then, the processes in steps S5 to S8 are repeated until it is determined in step S9 that the padding for one screen has been completed.
[0045]
Thus, when the embedding process for the input image is completed, the image data stored in the image memory 3a is embedded with information by the electronic watermark technique, and the image data is output. In the case of saving, the output destination is the external storage device 4 or on a network (including the Internet).
[0046]
Next, information extraction and tampering determination processing in which an image with information embedded as described above is embedded will be described with reference to the flowchart of FIG.
[0047]
First, in step S21, an image to be determined is input and developed in the image memory 3a. The input source may be one downloaded from the network, one stored in a floppy or the like, and need not be a specific one. In step S22, a mask pattern (see FIG. 5) is loaded from the external storage device 4.
[0048]
Next, in step S23, 0 is substituted for each of x and y in order to initialize the position to which the mask pattern to be determined is applied to the image data developed in the image memory 3a.
[0049]
In step S24, the upper left corner of the mask pattern is set to the x and y positions of the image data, and all pixel values of the input image corresponding to the black dots in the mask pattern are read and embedded in step S25. The number of pixels that may be present is counted, and the counting result is temporarily stored in a RAM or the like. At this time, the values of x and y fitted with the mask pattern at that time are also stored.
[0050]
In step S26, it is determined whether or not the right end of the image has been reached. If not, x is increased by “1”, that is, the position where the mask pattern is applied is shifted by one pixel, and the process returns to step S24. .
[0051]
If it is determined that the right end of the image has been reached, x is initialized to “0” in step S28, and y is increased by “1”. Then, the processes in steps S24 to S28 are repeated until it is determined in step S29 that the processes in steps S24 and S25 have been completed for the entire image.
[0052]
Thus, when the information collection for one screen is completed, the data stored in step S30 is arranged in the order of counting, and the data of a predetermined number or more is validated. In step S31, the embedded information is extracted.
[0053]
In step S32, based on the collected information and the respective x and y values, it is determined whether or not it has been tampered with, and if it has been tampered with, the position is determined. If it is determined that the information has not been tampered with, processing such as displaying the information embedded in step S33, for example, displaying the name of the copyright holder, is performed.
[0054]
If it is determined that the image has been tampered with, a message indicating that the image has been tampered with is displayed, and an error process specifying the tampered location is performed, and the process ends.
[0055]
As described above, according to the present embodiment, the mask pattern used for embedding information is a mask pattern that does not have a low frequency component, and the mask pattern is black, that is, all the positions where the mask pattern is “1”. Information is not embedded, but quantization processing and information embedding are performed in a limited portion, so that there is little influence on image quality, and good image quality can be maintained. In addition, even if tampering occurs, the position can be specified.
[0056]
Of course, the present invention may be applied to a single device or a combination of a plurality of devices.
[0057]
In addition, the present embodiment requires, for example, means for inputting an image (for image scanner, network connection, or hardware such as a floppy disk), and these are usually used by general-purpose information processing devices (personal computers). The processing may be a general-purpose device that can be provided, or a connectable general-purpose device.
[0058]
Therefore, the present invention supplies a storage medium recording software program codes for realizing the functions of the above-described embodiments to a system or apparatus, and the computer (or CPU or MPU) of the system or apparatus stores the storage medium in the storage medium. Needless to say, this can also be achieved by reading and executing the programmed program code.
[0059]
In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention.
[0060]
As a storage medium for supplying the program code, for example, a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, or the like can be used.
[0061]
Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) operating on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
[0062]
Further, after the program code read from the storage medium is written into a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.
[0063]
【The invention's effect】
As described above, according to the present invention, in the electronic watermark technology, it is possible to reduce image quality degradation and improve the accuracy of specifying a falsification point.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating an example of a region to be embedded by an electronic watermark technique.
FIG. 2 is a diagram showing an example of an array of mask patterns for embedding information.
FIG. 3 is a diagram illustrating an example of an array of mask patterns for embedding information.
FIG. 4 is a diagram showing an example of an array of mask patterns for embedding information.
FIG. 5 is a diagram showing an example of a mask pattern in the embodiment.
FIG. 6 is a diagram illustrating a region where information is embedded by a mask pattern in the embodiment.
FIG. 7 is a diagram showing an embedding sequence in the embodiment.
FIG. 8 is a conceptual diagram of information embedding in the embodiment.
FIG. 9 is a diagram illustrating an example of an embedded image.
FIG. 10 is a diagram illustrating an example of a falsified image.
FIG. 11 is a diagram showing a sequence for applying a mask pattern in embedding information extraction processing;
FIG. 12 is a diagram illustrating a storage state of collected information.
FIG. 13 is a diagram for explaining processing for extracting embedded information;
FIG. 14 is a block configuration diagram of an apparatus according to the embodiment.
FIG. 15 is a flowchart showing an embedding process in the embodiment.
FIG. 16 is a flowchart showing embedding information extraction and falsification determination processing in the embodiment;

Claims (10)

画像データに所定の情報を埋め込む画像処理装置であって、
ブルーノイズ特性に従ってM×Nサイズ内の埋め込み対象位置を特定したマスクパターンと発生する発生手段と、
前記画像データの一部に前記マスクパターンをあてはめ、前記所定の情報を前記埋め込み対象位置に相当する画像データを変調することにより埋め込む埋め込み手段と、
を有することを特徴とする画像処理装置。
An image processing apparatus for embedding predetermined information in image data,
A mask pattern specifying an embedding target position in the M × N size according to the blue noise characteristics and a generating means for generating the mask pattern;
Embedding means for embedding the predetermined information by applying the mask pattern to a part of the image data and modulating the image data corresponding to the embedding target position;
An image processing apparatus comprising:
前記マスクパターンは、2値情報により表現されていることを特徴とする請求項1に記載の画像処理装置。The image processing apparatus according to claim 1, wherein the mask pattern is expressed by binary information. 前記マスクパターンでは、2値情報によりM×Nサイズ内の埋め込み対象位置と非埋め込み対象位置が表現されていることを特徴とする請求項1に記載の画像処理装置。The image processing apparatus according to claim 1, wherein in the mask pattern, an embedding target position and a non-embedding target position within an M × N size are expressed by binary information. 前記変調は、前記埋め込み対象位置に相当する画像データの量子化であることを特徴とする請求項1に記載の画像処理装置。The image processing apparatus according to claim 1, wherein the modulation is quantization of image data corresponding to the position to be embedded. 前記埋め込み手段は、前記画像データの一部以外にも前記マスクパターンを繰り返しあてはめ、前記所定の情報を前記埋め込み対象位置に相当する画像データを変調することにより埋めこむことを特徴とする請求項1に記載の画像処理装置。2. The embedding unit embeds the predetermined pattern by repeatedly applying the mask pattern in addition to a part of the image data and modulating the image data corresponding to the embedding target position. An image processing apparatus according to 1. 画像データに所定の情報を埋め込む画像処理方法であって、
ブルーノイズ特性に従ってM×Nサイズ内の埋め込み対象位置を特定したマスクパターンと発生する発生ステップと、
前記画像データの一部に前記マスクパターンをあてはめ、前記所定の情報を前記埋め込み対象位置に相当する画像データを変調することにより埋め込む埋め込みステップと、
を有することを特徴とする画像処理方法。
An image processing method for embedding predetermined information in image data,
A mask pattern specifying an embedding target position in the M × N size according to the blue noise characteristic and a generation step to be generated;
An embedding step of applying the mask pattern to a part of the image data and embedding the predetermined information by modulating image data corresponding to the embedding target position;
An image processing method comprising:
画像データに所定の情報を埋め込む画像処理プログラムであって、
ブルーノイズ特性に従ってM×Nサイズ内の埋め込み対象位置を特定したマスクパターンと発生する発生ステップと、
前記画像データの一部に前記マスクパターンをあてはめ、前記所定の情報を前記埋め込み対象位置に相当する画像データを変調することにより埋め込む埋め込みステップと、
を有する画像処理プログラムをコンピュータから読み取り可能な状態に記憶した記憶媒体。
An image processing program for embedding predetermined information in image data,
A mask pattern specifying an embedding target position in the M × N size according to the blue noise characteristic and a generation step to be generated;
An embedding step of applying the mask pattern to a part of the image data and embedding the predetermined information by modulating image data corresponding to the embedding target position;
A storage medium that stores an image processing program having a readable state from a computer.
所定の情報が埋め込まれた画像データから、該情報を抽出する画像処理装置であって、
ブルーノイズ特性に従ってM×Nサイズ内の埋め込み対象位置を特定したマスクパターンと発生する発生手段と、
前記画像データの一部に前記マスクパターンをあてはめ、前記所定の情報を前記埋め込み対象位置に相当する画像データの変調状態を検出することにより抽出する抽出手段と、
を有することを特徴とする画像処理装置。
An image processing apparatus that extracts information from image data in which predetermined information is embedded,
A mask pattern specifying an embedding target position in the M × N size according to the blue noise characteristics and a generating means for generating the mask pattern;
Extracting means for applying the mask pattern to a part of the image data and extracting the predetermined information by detecting a modulation state of the image data corresponding to the position to be embedded;
An image processing apparatus comprising:
所定の情報が埋め込まれた画像データから、該情報を抽出する画像処理方法であって、
ブルーノイズ特性に従ってM×Nサイズ内の埋め込み対象位置を特定したマスクパターンと発生する発生ステップと、
前記画像データの一部に前記マスクパターンをあてはめ、前記所定の情報を前記埋め込み対象位置に相当する画像データの変調状態を検出することにより抽出する抽出ステップと、
を有することを特徴とする画像処理方法。
An image processing method for extracting information from image data in which predetermined information is embedded,
A mask pattern specifying an embedding target position in the M × N size according to the blue noise characteristic and a generation step to be generated;
An extraction step of applying the mask pattern to a part of the image data and extracting the predetermined information by detecting a modulation state of the image data corresponding to the position to be embedded;
An image processing method comprising:
所定の情報が埋め込まれた画像データから、該情報を抽出する画像処理プログラムであって、
ブルーノイズ特性に従ってM×Nサイズ内の埋め込み対象位置を特定したマスクパターンと発生する発生ステップと、
前記画像データの一部に前記マスクパターンをあてはめ、前記所定の情報を前記埋め込み対象位置に相当する画像データの変調状態を検出することにより抽出する抽出ステップと、
を有する画像処理プログラムをコンピュータから読み取り可能な状態に記憶した記憶媒体。
An image processing program for extracting information from image data in which predetermined information is embedded,
A mask pattern specifying an embedding target position in the M × N size according to the blue noise characteristic and a generation step to be generated;
An extraction step of applying the mask pattern to a part of the image data and extracting the predetermined information by detecting a modulation state of the image data corresponding to the position to be embedded;
A storage medium that stores an image processing program having a readable state from a computer.
JP20376699A 1999-07-16 1999-07-16 Image processing apparatus and method, and storage medium Expired - Fee Related JP3754845B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP20376699A JP3754845B2 (en) 1999-07-16 1999-07-16 Image processing apparatus and method, and storage medium
US09/615,577 US6993148B1 (en) 1999-07-16 2000-07-13 Image processing apparatus and method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20376699A JP3754845B2 (en) 1999-07-16 1999-07-16 Image processing apparatus and method, and storage medium

Publications (2)

Publication Number Publication Date
JP2001036724A JP2001036724A (en) 2001-02-09
JP3754845B2 true JP3754845B2 (en) 2006-03-15

Family

ID=16479475

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20376699A Expired - Fee Related JP3754845B2 (en) 1999-07-16 1999-07-16 Image processing apparatus and method, and storage medium

Country Status (1)

Country Link
JP (1) JP3754845B2 (en)

Also Published As

Publication number Publication date
JP2001036724A (en) 2001-02-09

Similar Documents

Publication Publication Date Title
JP3592545B2 (en) Image processing apparatus, image processing method, and information recording medium
US7020349B2 (en) Halftone watermarking and related applications
JP4187749B2 (en) Halftone watermarking and related applications
US6334187B1 (en) Information embedding method, information extracting method, information embedding apparatus, information extracting apparatus, and recording media
US6556688B1 (en) Watermarking with random zero-mean patches for printer tracking
EP1566763B1 (en) Watermarking of limited colour images
KR100911973B1 (en) Electronic watermark embedding apparatus and detecting apparatus
US6993154B2 (en) Measuring digital watermark strength using error correction coding metrics
US7142689B2 (en) Image processing apparatus for determining specific images
US8320611B2 (en) Watermarking electronic text documents
US7171021B2 (en) Data processing apparatus and method, and storage medium therefor
US7499565B2 (en) Method of watermarking for binary images
US7532738B2 (en) Print medium quality adjustment system, inspection watermark medium output device for outputting watermark medium to undergo inspection, watermark quality inspection device, adjusted watermark medium output device, print medium quality adjustment method and inspection watermark medium to undergo inspection
EP0901102B1 (en) Watermark embedding method and system
US20010052076A1 (en) Information embedding method, information extracting method, information embedding apparatus, information extracting apparatus, and recording media
US20030210803A1 (en) Image processing apparatus and method
JP2000050057A (en) Image processing method and device and medium
CA2535028A1 (en) Machine readable data
US7440584B2 (en) System and method for marking data and document distribution
JP3754845B2 (en) Image processing apparatus and method, and storage medium
JP2003101756A (en) Image processing apparatus, image processing method, computer program, and recording medium
JP4285300B2 (en) Program for realizing information embedding device and program for realizing information reading device
JP2006279640A (en) Information embedding device, printing medium and information reader
JP2007036652A (en) Image processing method, image processing apparatus, program, and storage medium
JP2000165652A (en) Data output controller, data processor and storage medium read by computer

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040608

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20040608

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20040608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051121

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: 20051128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051219

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: 20081222

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091222

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091222

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101222

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111222

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121222

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131222

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees