画像処理装置、画像処理方法およびそのコンピュータ・プログラム
【課題】電子透かしとして埋め込まれたデータを正確に検出することが可能な画像処理装置を提供すること。
【解決手段】パターンマッチング部52は、画像読取部51によって読取られた画像から、埋め込まれたデータおよびデータ取り出し用基準パターンを検出して所定の画素値に置き換える。フィルタ処理部53は、データに対応する画素値に対して膨張処理を行なう。そして、データ取出部54は、データ取り出し用基準パターンに対応する画素値を基準として、フィルタ処理部53によって膨張処理された後のデータの画素値からデータを取り出す。したがって、プリントアウトされた画像に延び縮みや傾きがある場合でも、電子透かしとして埋め込まれたデータを正しく検出することが可能となる。
【解決手段】パターンマッチング部52は、画像読取部51によって読取られた画像から、埋め込まれたデータおよびデータ取り出し用基準パターンを検出して所定の画素値に置き換える。フィルタ処理部53は、データに対応する画素値に対して膨張処理を行なう。そして、データ取出部54は、データ取り出し用基準パターンに対応する画素値を基準として、フィルタ処理部53によって膨張処理された後のデータの画素値からデータを取り出す。したがって、プリントアウトされた画像に延び縮みや傾きがある場合でも、電子透かしとして埋め込まれたデータを正しく検出することが可能となる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プリントアウトされる画像データに電子透かしとしてデータを埋め込む技術に関し、特に、プリントアウトされた画像に延び縮みや傾きがある場合でも、電子透かしとして埋め込まれたデータを正しく検出することが可能な画像処理装置、画像処理方法およびそのコンピュータ・プログラムに関する。
【背景技術】
【0002】
近年、画像データに電子透かしとしてデータを埋め込む技術が開発されている。これに関連する技術として、下記の特許文献1および2に開示された発明がある。
【0003】
特許文献1に開示された透かし情報埋め込み方法においては、ドットパターンが少なくとも第1、第2、第3のドット(始点ドット、水平基準ドット、変調ドット)を含んで構成されており、第1、第2、第3のドットの相対的な位置関係によって定まる固有値に応じてドットパターンに値を設定する。固有値は、第3のドットを始点として第1のドットを終点とするベクトルと、第3のドットを始点として第2のドットを終点とするベクトルとの内積である。
【特許文献1】特開2004−128845号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
画像データに電子透かしとしてデータを埋め込んでプリントアウトし、そのプリントアウトをスキャナなどでスキャンして埋め込んだデータを検出する場合、プリントアウトに伸び縮みや傾きがある場合には、埋め込まれているデータを正しく検出することができないという問題点がある。
【0005】
また、上述した特許文献2に開示された情報埋め込み方法においては、入力画像に歪みがある場合でも信号の復元を行なうことができるが、透かし情報を埋め込むときに、1つのデータ信号を一定のエリアに繰返し埋めたユニットパターンを作成して埋め込む必要があり、埋め込み量が制限される。埋め込み量を増やすために、一定エリアに繰返すことをせずに埋め込むと、プリントアウトに伸び縮みや傾きがあると検出できなくなる。また、プリントアウトをスキャンして埋め込まれたデータを検出するときに、ユニットパターンを検出して判定する必要があり、処理が複雑となる。また、ハードウェア化を容易に行なうことができない。
【0006】
本発明は、上記問題点を解決するためになされたものであり、その目的は、電子透かしとして埋め込まれたデータを正確に検出することが可能な画像処理装置、画像処理方法およびそのコンピュータ・プログラムを提供することである。
【課題を解決するための手段】
【0007】
本発明のある局面に従えば、印刷物に埋め込まれたデータを検出する画像処理装置であって、印刷物から画像を読取る読取手段と、読取手段によって読取られた画像から、埋め込まれたデータおよび基準パターンを検出して所定の画素値に置き換える検出手段と、データに対応する画素値に対して膨張処理を行なうフィルタ手段と、基準パターンに対応する画素値を基準として、フィルタ手段によって膨張処理された後のデータの画素値からデータを取り出す取出手段とを含む。
【0008】
好ましくは、基準パターンは、印刷物上に等間隔に配置される。
好ましくは、取出手段は、基準パターンに対応する画素値を中心として所定数のデータを取り出す。
【0009】
好ましくは、フィルタ手段は、基準パターンに対応する画素値に対して縮小処理を行ない、取出手段は、フィルタ手段によって縮小処理された後の基準パターンの画素値を基準として、フィルタ手段によって膨張処理された後のデータの画素値からデータを取り出す。
【0010】
本発明の別の局面に従えば、印刷物に埋め込まれたデータを検出する画像処理方法であって、印刷物から画像を読取るステップと、読取られた画像から、埋め込まれたデータおよび基準パターンを検出して所定の画素値に置き換えるステップと、データに対応する画素値に対して膨張処理を行なうステップと、基準パターンに対応する画素値を基準として、膨張処理された後のデータの画素値からデータを取り出すステップとを含む。
【0011】
本発明のさらに別の局面に従えば、コンピュータに、印刷物に埋め込まれたデータを検出させるコンピュータ・プログラムであって、印刷物から画像を読取るステップと、読取られた画像から、埋め込まれたデータおよび基準パターンを検出して所定の画素値に置き換えるステップと、データに対応する画素値に対して膨張処理を行なうステップと、基準パターンに対応する画素値を基準として、膨張処理された後のデータの画素値からデータを取り出すステップとをコンピュータに実行させる。
【発明の効果】
【0012】
本発明のある局面によれば、取出手段が、フィルタ手段によって膨張処理された後のデータの画素値からデータを取り出すので、プリントアウトされた画像に延び縮みや傾きがある場合でも、電子透かしとして埋め込まれたデータを正しく検出することが可能となる。
【0013】
また、基準パターンが印刷物上に等間隔に配置されるので、所定の領域ごとにデータの取り出しが行なえる。
【0014】
また、取出手段が、基準パターンに対応する画素値を中心として所定数のデータを取り出すので、フィルタを構成する画像メモリを少なくすることが可能となる。
【0015】
また、フィルタ手段が、基準パターンに対応する画素値に対して縮小処理を行なうので、データの取り出し処理を減らすことが可能となる。
【0016】
また、フィルタ手段が、n−1個のラインバッファと、n個のシフトレジスタと、膨張処理回路とによって構成されるので、小規模のハードウェアでフィルタ手段を実現することが可能となる。
【発明を実施するための最良の形態】
【0017】
(第1の実施の形態)
図1は、本発明の第1の実施の形態における画像処理装置のシステム構成の一例を示す図である。図1は、パーソナルコンピュータ(以下、PCと呼ぶ。)を用いて画像処理装置を構成する場合を示しており、マウス11と、キーボード12と、モニタ13と、外部記憶装置14と、スキャナ15と、PC16とを含む。
【0018】
PC16は、一般的なコンピュータのハードウェアと同様の構成を有しており、図示しないCPU(Central Processing Unit)が画像処理プログラム17を実行することによって、後述する画像処理装置の機能が実現される。
【0019】
マウス11およびキーボード12は、それぞれ入力デバイスとして用いられ、ユーザが画像処理プログラム17の起動、画像処理プログラム17の実行時における各種指示などを行なう際に用いられる。
【0020】
モニタ13は、スキャナ15によって読取られた画像データなどを表示するのに用いられ、ユーザはモニタ13に表示された内容を参照しながら、画像処理プログラム17に指示を与えることによって画像処理が進められる。
【0021】
外部記憶装置14は、スキャナ15によって読取られた画像データなどを記憶するのに用いられる。画像処理プログラム17がこの外部記憶装置14に記憶され、PC16が外部記憶装置14から内部のRAM(Random Access Memory)に画像処理プログラム17をロードして実行するようにしてもよい。
【0022】
スキャナ15は、データが埋め込まれた画像データを読取り、読取った画像データをPC16に出力する。PC16は、スキャナ15から受けた画像データに対して後述する処理を行なうことによって、画像処理が行なわれる。
【0023】
図2は、図1に示す画像処理装置をより機能的に説明するための図である。PC16は、入出力インタフェース24と、CPU/メモリ25と、記憶装置26とを含む。また、記憶装置26は、OS(Operating System)27と、画像処理プログラム17によって実現される画像処理部28とを含む。画像処理プログラム17はOS27上で動作し、画像処理部28の機能を実現する。
【0024】
画像処理部28は、OS27および入出力インタフェース24を介してデータを入出力することによって、キーボード11、マウス12、モニタ13およびスキャナ15を制御する。画像処理部28は、キーボード11またはマウス12によるユーザ指示21を受け、スキャナ15からのスキャン画像23を受けたり、モニタ13に画像データ表示22を行なったりして、後述する画像処理を行なう。
【0025】
図3は、本発明の第1の実施の形態における画像処理装置のシステム構成の他の一例を示す図である。図3は、MFP(Multi Function Peripheral)を用いて画像処理装置を構成する場合を示しており、操作パネル部31と、スキャナ部32と、プリンタ部33と、MFP本体34とを含む。
【0026】
MFP本体34は、画像処理回路35などによって構成される。画像処理回路35は、操作パネル31からのユーザの指示を受け、スキャナ部32およびプリンタ部33を制御しながら後述する画像処理を行なう。
【0027】
図4は、本発明の第1の実施の形態における画像処理装置の処理の概略を説明するためのフローチャートである。まず、画像データ41に埋め込む情報42を埋め込んで、画像データ41の背景にドットパターンとして埋め込む情報42をプリントアウトする。
【0028】
図5は、データを埋め込むときのビットパターンを示す図である。図5(a)は、データ“0”のビットパターンを示しており、16×16画素のうち図5(a)に示す位置に黒のドットを配置することにより、データ“0”を表現する。
【0029】
また、図5(b)は、データ“1”のビットパターンを示しており、16×16画素のうち図5(b)に示す位置に黒のドットを配置することにより、データ“1”を表現する。
【0030】
また、図5(c)は、データ取り出し用基準パターンのビットパターンを示しており、16×16画素のうち図5(c)に示す位置に黒のドットを配置することにより、データ取り出し用基準パターンを表現する。
【0031】
図6は、埋め込みデータの一例を示す図である。図6に示すように、80×80画素の領域に、24ビット分のデータと、データ取り出し用基準パターンとが配置される。データ取り出し用基準パターンは、24ビット分のデータの中央に位置する。
【0032】
図7は、図6に示す埋め込みデータが実際にプリントアウトされるときのドットパターンを示す図である。図7に示すように、80×80画素のうち中央の16×16画素の領域にデータ取り出し用基準パターンのビットパターンが配置され、それ以外の領域には図6に示す埋め込みデータに対応したデータ“0”またはデータ“1”のビットパターンが配置される。
【0033】
図8は、画像データの背景にデータを埋め込んで印刷したときのプリントアウトの一例を示す図である。図7に示すビットパターンが紙一面に繰返し配置され、実際にプリントアウトしようとする文字などの画像データと合成されて、プリントアウトされる。このドットパターンを、たとえば600dpiで埋め込む場合、このデータセルは一辺が0.068cm(16/600インチ)とかなり小さなドットとなる。そのため、ユーザにはプリントアウトの背景にグレーの画像が追加されているように見える。
【0034】
次に、プリントアウトされた印刷物43の画像をスキャンして、埋め込まれたデータを検出する(S12)。この処理の詳細は後述する。
【0035】
図9は、図1または図3に示す画像処理装置の機能的構成を示すブロック図である。この画像処理装置は、印刷物43をスキャンすることにより画像を読取る画像読取部51と、読取られた画像に対してパターンマッチングを行なうパターンマッチング部52と、パターンマッチング部52によって検出されたデータに対してフィルタ処理を行なうフィルタ処理部53と、フィルタ処理されたデータから埋め込まれたデータを取出すデータ取出部54とを含む。
【0036】
図10は、図4に示すステップS12の詳細な処理手順を説明するためのフローチャートである。まず、画像読取部51は、スキャナ15またはスキャナ部32によって印刷物45をスキャンしてスキャン画像を得る。そして、パターンマッチング部52は、画像読取部51によって得られた画像をスキャンして17×17画素のパターン(以下、入力パターンと呼ぶ。)を抽出し、入力パターンに対してパターンマッチングを行なう(S21)。
【0037】
パターンマッチング処理の一例として、単純類似度を用いてデータを検出する場合について説明するが、埋め込まれたデータを検出できる方法であれば、これに限定されるものではない。
【0038】
単純類似度とは、標準パターンをc=(c1,c2,...,c289)とし、入力パターンをx=(x1,x2,...,x289)とすると、次式によって2つのベクトルのなす角度を求め、小さいほど類似していると判断する方法である。なお、“・”はベクトルの内積を示し、“||”はベクトルの大きさを示すものとする。
【0039】
c・x/(|c|×|x|) ・・・(1)
パターンマッチング部52は、式(1)によって計算された角度のcosを計算し、“1”に近いほど標準パターンと入力パターンとが近似していると判定する。
【0040】
図11は、標準パターンを説明するための図である。図11(a)は、データ“0”の標準パターンを示している。また、図11(b)は、データ“1”の標準パターンを示している。また、図11(c)は、データ取り出し用基準パターンの標準パターンを示している。
【0041】
パターンマッチング部52は、標準パターンとして図11(a)に示すデータ“0”を用いたときのcos値が所定のしきい値以上であれば、17×17画素の中央の画素の画素値を“0”(以下、この画素をデータ0画素と呼ぶ。)とし、図面では濃いグレーで表わす。
【0042】
また、パターンマッチング部52は、標準パターンとして図11(b)に示すデータ“1”を用いたときのcos値が所定のしきい値以上であれば、17×17画素の中央の画素の画素値を“1”(以下、この画素をデータ1画素と呼ぶ。)とし、図面では薄いグレーで表わす。
【0043】
また、パターンマッチング部52は、標準パターンとして図11(c)に示すデータ取り出し用基準パターンを用いたときのcos値が所定のしきい値以上であれば、17×17画素の中央の画素の画素値を“2”(以下、この画素をデータ取り出し用基準画素と呼ぶ。)とし、図面では黒で表わす。
【0044】
また、パターンマッチング部52は、標準パターンのいずれを用いてもcos値が所定のしきい値未満であれば、17×17画素の中央の画素の画素値を“3”とし、図面では白で表わす。
【0045】
パターンマッチング部52は、印刷物43のスキャン画像を1ドットずつ左右方向および上下方向にずらしながら、17×17ドットの入力パターンを抽出してパターンマッチングを行なうことにより、画像データを上述の画素値に置き換える。
【0046】
図12は、パターンマッチング部52によって画素値に置き換えられた後の画像データの一例を示す図である。図12に示すように、画像データに埋め込まれたデータが画素値“0”〜“3”に置き換えられる。
【0047】
次に、フィルタ処理部53は、パターンマッチング部52によって置き換えられた画素値に対して膨張処理を行なう(S22)。
【0048】
図13は、膨張処理に用いられるフィルタの一例を示す図である。この膨張処理フィルタは、黒とグレーとで示す49画素の中で、最小の画素値を中央の黒画素に出力する処理を行なう。なお、データ取り出し用基準画素に対しては膨張処理を行なわず、フィルタ処理前のデータをそのまま出力する。
【0049】
フィルタ処理部53はこの膨張処理フィルタを用いて、パターンマッチング部52によって画素値に置き換えられた後の画像データの全画素に対して膨張処理を行なう。すなわち、印刷物43のスキャン画像に対して膨張処理フィルタを適用する領域を1ドットずつ左右方向および上下方向にずらしながら、全領域に対してフィルタ処理を行なう。
【0050】
なお、膨張処理フィルタは、図13に示す7×7のサイズの49画素のフィルタに限られるものではなく、膨張量によって、たとえば5×5のサイズの25画素のフィルタなどに変更することも可能である。
【0051】
図14は、膨張処理を行なった後の画像データを示す図である。図14に示すように、データ取り出し用基準画素のみがそのままであり、データ0画素およびデータ1画素がフィルタ処理によって膨張される。
【0052】
次に、データ取出部54は、フィルタ処理後の画像データを1ドットずつ左右方向および上下方向にずらしながら、注目画素がデータ取り出し用基準画素であるか否かを判定する(S23)。注目画素がデータ取り出し用基準画素であれば(S23,Yes)、その注目画素の周辺からデータを取り出す(S24)。また、注目画素がデータ取り出し用基準画素でなければ(S23,No)、何もせずにステップS26に進む。
【0053】
図15は、データ取出部54がデータを取り出す際に用いるフィルタの一例を示す図である。このフィルタは、中央の画素(白丸)を注目画素とし、注目画素を中心として16画素ずつ離れた24画素(黒丸)のデータを抽出するものである。注目画素の座標(X,Y)=(0,0)とすると、データを抽出する各画素の座標が、各黒丸の下のカッコ内に記載されている。
【0054】
データ取出部54は、画像データに対して図15に示すフィルタを1ドットずつ左右方向および上下方向にずらし、注目画素がデータ取り出し用基準画素のときに、黒丸で示す位置にある24画素のデータを取り出す。
【0055】
図16は、図15に示すフィルタによってデータを取り出すときの処理を説明するための図である。図16の左上に示すように、フィルタの中央の注目画素がデータ取り出し用基準画素のときに、その周辺の24画素のデータが取り出される。
【0056】
また、図16の左上の丸で示す箇所において、読み取りミスが発生しており、誤って画素値が“3”となっている。このように、一部のデータに読み取りミスがある場合でも、図15に示すフィルタを用いることによってその箇所のデータが不明であると判定することができる。
【0057】
また、図16の右下の丸で示す箇所において、間違ってデータが判定されたことを示している。このように、一部のデータが間違って判定された場合でも、図15に示すフィルタを用いることによってそのデータを読み飛ばすことができる。
【0058】
図17は、フィルタ処理部53のハードウェア構成の一例を示す図である。このフィルタは、図13に示す膨張処理フィルタに対応しており、6つのラインバッファ1〜6(61−1〜61−6)と、7つのシフトレジスタ群62−0〜62−6と、膨張フィルタ処理演算回路63とを含む。
【0059】
ラインバッファ1〜6(61−1〜61−6)は、それぞれ画像データの1ライン分のデータを保持する。この膨張処理フィルタは、7×7画素のデータに対してフィルタ処理を行なうものであるが、1番上のラインのデータは直接シフトレジスタ群62−0に入力されるため、そのラインに対応するラインバッファは設けられていない。
【0060】
シフトレジスタ群62−0〜62−6は、それぞれ横方向の7画素分のデータを順次シフトするものであり、図示しないクロックに同期して1画素ずつデータがシフトされる。
【0061】
膨張フィルタ処理演算回路63は、シフトレジスタ群62−0〜62−6に保持される7×7画素分のデータに対して、図13を用いて説明した膨張処理を行なう。
【0062】
このように、画像メモリとして6ライン分のラインバッファを設けるだけで膨張処理が行なえるため、ハードウェア化を容易に行うことが可能となる。また、パターンマッチング部52のフィルタも同様の構成で実現でき、17×17画素のデータを保持するために画像データとして16ライン分のラインバッファを設けるだけでマターンマッチング処理が行なえるようになる。また、データ取出部54のフィルタも同様の構成で実現でき、画像データとして65ライン分のラインバッファを設けるだけでデータ取り出し処理が行なえるようになる。
【0063】
図18は、データ取出部54がデータを取り出す際に用いるフィルタの他の一例を示す図である。図15は、5×5のデータを抽出するものであったが、図18は、6×6のデータを抽出するものである。6×6のデータを抽出する場合には、中央の画素が存在しないため、図18に示すように中央の4つの白丸のいずれか1つにデータ取り出し用基準画素を配置し、それ以外の画素からデータを取り出す。
【0064】
再び、図10に示すフローチャートの説明に戻る。最後に、データ取出部54は、処理すべき次の画素があるか否かを判定する(S26)。次の画素があれば(S26,Yes)、ステップS23に戻って以降の処理を繰返す。また、次の画素がなければ(S26,No)、処理を終了する。
【0065】
以上説明したように、本実施の形態における画像処理装置によれば、パターンマッチング処理によって画像データを所定の画素値に置き換え、フィルタ処理によって画素値に対して膨張処理を行なった後に埋め込まれたデータを取り出すようにしたので、画像をスキャンするときに紙が少し浮いているなどの理由により、画素の間隔が若干変動する場合であっても、データを正しく検出することが可能となった。
【0066】
また、画素値を7×7画素に膨張する場合、6ライン分のラインバッファを設けるだけで膨張処理が行なえるようになり、少ない回路規模でハードウェア化を行なうことが可能となった。
【0067】
また、画素値を膨張してデータを取り出す処理をソフトウェアで実現する場合でも、注目画素がデータ取り出し用基準画素の場合にのみデータ取り出し処理を行なえばよいため、データ取り出しのための位置決めなどが不要となり、埋め込まれたデータの検出を高速に行なうことが可能となった。
【0068】
(第2の実施の形態)
本発明の第2の実施の形態における画像処理装置は、第1の実施の形態における画像処理装置と比較して、フィルタ処理部53が画素値に対して膨張処理を行なった後、データ取り出し用基準画素に対してのみ縮小処理を行なう点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。
【0069】
図19は、縮小処理フィルタの一例を示す図である。この縮小処理フィルタは、注目画素(中央の黒画素)がデータ取り出し用基準画素であり、その上下左右の4つの画素(グレー画素)のいずれかがデータ取り出し用基準画素でない場合、中央の黒画素にデータなし(画素値“3”)を出力する。
【0070】
フィルタ処理部53は、膨張処理を行なった後の画像データに対して縮小処理フィルタを適用する領域を1ドットずつ左右方向および上下方向にずらしながら、全領域に対してフィルタ処理を行なう。
【0071】
図20は、縮小処理を行なった後の画像データの一例を示す図である。図14と比較して、データ取り出し用基準画素のみが元の中央付近に縮小されているのが判る。なお、データ取り出し処理は、第1の実施の形態において説明した処理と同様である。
【0072】
図21は、縮小処理を行なった後にデータを取り出すときの処理を説明するための図である。図21の左上に示すように、縮小処理によってデータ取り出し用基準画素が縮小されているため、その周辺の24画素のデータが正確に取り出せるようになる。
【0073】
なお、図21の左上の丸で示す箇所において、読み取りミスが発生しており、誤って画素値が“3”となっている。また、図21の右下の丸で示す箇所において、間違ってデータが判定されている。
【0074】
以上説明したように、本実施の形態における画像処理装置によれば、膨張処理を行なった後に縮小処理を行なってデータ取り出し用基準画素を縮小するようにしたので、データ取り出し処理を減らすことができ、処理を高速に行なうことが可能となった。
【0075】
また、データ取り出し用基準画素が元の中央付近に縮小されるため、データ取り出し位置が膨張された画素値のほぼ中央となり、データ取り出し精度を向上させることが可能となった。
【0076】
(第3の実施の形態)
本発明の第3の実施の形態における画像処理装置は、第1の実施の形態における画像処理装置と比較して、画像データが傾いてスキャンされた場合の処理である点が異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。
【0077】
なお、本実施の形態においては、スキャン画像の傾きが既知の方法、たとえば傾き検知用基準マークを利用した方法などによって、予め判っているものとして説明する。
【0078】
図22は、スキャン画像が傾いているときに用いられる標準パターンの一例を示す図である。図22(a)は、データ“0”の標準パターンを示している。また、図22(b)は、データ“1”の標準パターンを示している。また、図22(c)は、データ取り出し用基準パターンの標準パターンを示している。
【0079】
図22に示すように,スキャン画像の傾きにより、標準パターンの画素数が21×21となっている。パターンマッチング部52は、印刷物45のスキャン画像を1ドットずつ左右方向および上下方向にずらしながら、21×21ドットの入力パターンを抽出して、図21に示す標準パターンとのパターンマッチングを行なうことにより、画像データを上述の画素値に置き換える。
【0080】
なお、スキャン画像の傾きに応じた複数の標準パターンが予め用意されており、検出されたスキャン画像の傾きに応じて、複数の標準パターンの中から最適なものが選択されて利用される。
【0081】
図23は、スキャン画像が傾いている場合において、パターンマッチング部52によって画素値に置き換えられた後の画像データの一例を示す図である。図23に示すように、画像データに埋め込まれたデータが全体的に傾いて画素値“0”〜“3”に置き換えられる。
【0082】
図24は、スキャン画像が傾いている場合において、膨張処理を行なった後の画像データを示す図である。図24に示すように、データ0画素およびデータ1画素がフィルタ処理によって全体的に傾いたまま膨張される。なお、本実施の形態における膨張処理フィルタは、図17に示す膨張処理フィルタと同じである。
【0083】
図25は、スキャン画像が傾いている場合において、データを取り出すときの処理を説明するための図である。図25の左上に示すように、フィルタの中央の注目画素がデータ取り出し用基準画素のときに、その周辺の24画素のデータが取り出されるが、スキャン画像の傾きに応じて傾いたフィルタが用いられる。
【0084】
データ取出部54のフィルタを傾ける場合、データ取り出し用基準画素がフィルタの中央に配置されたときに、データを取り出すようフィルタを構成すれば画像メモリを少なくすることができる。
【0085】
図26は、本発明の第3の実施の形態における画像処理装置をハードウェアで構成した場合におけるパイプライン処理を説明するための図である。スキャン画像の傾き角度が最大の場合には、パターンマッチング部52のフィルタは25×25のサイズとなり24ライン分のラインバッファによって構成されるため、24ライン分の遅延が発生する。
【0086】
また、膨張処理フィルタは図13の例の場合、7×7のサイズとなり6ライン分のラインバッファで構成されるため、6ライン分の遅延が発生する。したがって、データ取出部54がデータの取り出し処理を開始するまでに30ライン分の遅延が発生する。最後に、データ取出部54は93×93のフィルタで構成される。このように、各処理をパイプラインで行うことにより、30ライン分の遅延が発生するのみであり、スキャン画像を全て読み込んでから処理する場合と比較して、処理時間を大幅に短縮することが可能となり、容易にハードウェア化ができる。
【0087】
以上説明したように、本実施の形態における画像処理装置によれば、スキャン画像の傾きに対応して傾けたフィルタを用いるようにしたので、フィルタ処理を高速に行なうことが可能となった。
【0088】
また、パターンマッチング部52、フィルタ処理部53およびデータ取出部54をハードウェアで構成した場合には、パイプライン処理が行なえるようになるため、処理速度を大幅に向上させることが可能となった。
【0089】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【0090】
【図1】本発明の第1の実施の形態における画像処理装置のシステム構成の一例を示す図である。
【図2】図1に示す画像処理装置をより機能的に説明するための図である。
【図3】本発明の第1の実施の形態における画像処理装置のシステム構成の他の一例を示す図である。
【図4】本発明の第1の実施の形態における画像処理装置の処理の概略を説明するためのフローチャートである。
【図5】データを埋め込むときのビットパターンを示す図である。
【図6】埋め込みデータの一例を示す図である。
【図7】図6に示す埋め込みデータが実際にプリントアウトされるときのドットパターンを示す図である。
【図8】画像データの背景にデータを埋め込んで印刷したときのプリントアウトの一例を示す図である。
【図9】図1または図3に示す画像処理装置の機能的構成を示すブロック図である。
【図10】図4に示すステップS12の詳細な処理手順を説明するためのフローチャートである。
【図11】標準パターンを説明するための図である。
【図12】パターンマッチング部52によって画素値に置き換えられた後の画像データの一例を示す図である。
【図13】膨張処理に用いられるフィルタの一例を示す図である。
【図14】膨張処理を行なった後の画像データを示す図である。
【図15】データ取出部54がデータを取り出す際に用いるフィルタの一例を示す図である。
【図16】図15に示すフィルタによってデータを取り出すときの処理を説明するための図である。
【図17】フィルタ処理部53のハードウェア構成の一例を示す図である。
【図18】データ取出部54がデータを取り出す際に用いるフィルタの他の一例を示す図である。
【図19】縮小処理フィルタの一例を示す図である。
【図20】縮小処理を行なった後の画像データの一例を示す図である。
【図21】縮小処理を行なった後にデータを取り出すときの処理を説明するための図である。
【図22】スキャン画像が傾いているときに用いられる標準パターンの一例を示す図である。
【図23】スキャン画像が傾いている場合において、パターンマッチング部52によって画素値に置き換えられた後の画像データの一例を示す図である。
【図24】スキャン画像が傾いている場合において、膨張処理を行なった後の画像データを示す図である。
【図25】スキャン画像が傾いている場合において、データを取り出すときの処理を説明するための図である。
【図26】本発明の第3の実施の形態における画像処理装置をハードウェアで構成した場合におけるパイプライン処理を説明するための図である。
【符号の説明】
【0091】
11 マウス、12 キーボード、13 モニタ、14 外部記憶装置、15 スキャナ、16 PC、17 画像処理プログラム、21 ユーザ指示、22 画像データ表示、23 スキャン画像、24 入出力インタフェース、25 CPU/メモリ、26 記憶装置、27 OS、28 画像処理部、31 操作パネル部、32 スキャナ部、33 プリンタ部、34 MFP本体、41 画像データ、42 埋め込むデータ、43 印刷物、44 スキャン画像データ、51 画像読取部、52 パターンマッチング部、53 フィルタ処理部、54 データ取出部、61−1〜61−6 ラインバッファ、62−0〜62−6 シフトレジスタ群、63 膨張フィルタ処理演算回路。
【技術分野】
【0001】
本発明は、プリントアウトされる画像データに電子透かしとしてデータを埋め込む技術に関し、特に、プリントアウトされた画像に延び縮みや傾きがある場合でも、電子透かしとして埋め込まれたデータを正しく検出することが可能な画像処理装置、画像処理方法およびそのコンピュータ・プログラムに関する。
【背景技術】
【0002】
近年、画像データに電子透かしとしてデータを埋め込む技術が開発されている。これに関連する技術として、下記の特許文献1および2に開示された発明がある。
【0003】
特許文献1に開示された透かし情報埋め込み方法においては、ドットパターンが少なくとも第1、第2、第3のドット(始点ドット、水平基準ドット、変調ドット)を含んで構成されており、第1、第2、第3のドットの相対的な位置関係によって定まる固有値に応じてドットパターンに値を設定する。固有値は、第3のドットを始点として第1のドットを終点とするベクトルと、第3のドットを始点として第2のドットを終点とするベクトルとの内積である。
【特許文献1】特開2004−128845号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
画像データに電子透かしとしてデータを埋め込んでプリントアウトし、そのプリントアウトをスキャナなどでスキャンして埋め込んだデータを検出する場合、プリントアウトに伸び縮みや傾きがある場合には、埋め込まれているデータを正しく検出することができないという問題点がある。
【0005】
また、上述した特許文献2に開示された情報埋め込み方法においては、入力画像に歪みがある場合でも信号の復元を行なうことができるが、透かし情報を埋め込むときに、1つのデータ信号を一定のエリアに繰返し埋めたユニットパターンを作成して埋め込む必要があり、埋め込み量が制限される。埋め込み量を増やすために、一定エリアに繰返すことをせずに埋め込むと、プリントアウトに伸び縮みや傾きがあると検出できなくなる。また、プリントアウトをスキャンして埋め込まれたデータを検出するときに、ユニットパターンを検出して判定する必要があり、処理が複雑となる。また、ハードウェア化を容易に行なうことができない。
【0006】
本発明は、上記問題点を解決するためになされたものであり、その目的は、電子透かしとして埋め込まれたデータを正確に検出することが可能な画像処理装置、画像処理方法およびそのコンピュータ・プログラムを提供することである。
【課題を解決するための手段】
【0007】
本発明のある局面に従えば、印刷物に埋め込まれたデータを検出する画像処理装置であって、印刷物から画像を読取る読取手段と、読取手段によって読取られた画像から、埋め込まれたデータおよび基準パターンを検出して所定の画素値に置き換える検出手段と、データに対応する画素値に対して膨張処理を行なうフィルタ手段と、基準パターンに対応する画素値を基準として、フィルタ手段によって膨張処理された後のデータの画素値からデータを取り出す取出手段とを含む。
【0008】
好ましくは、基準パターンは、印刷物上に等間隔に配置される。
好ましくは、取出手段は、基準パターンに対応する画素値を中心として所定数のデータを取り出す。
【0009】
好ましくは、フィルタ手段は、基準パターンに対応する画素値に対して縮小処理を行ない、取出手段は、フィルタ手段によって縮小処理された後の基準パターンの画素値を基準として、フィルタ手段によって膨張処理された後のデータの画素値からデータを取り出す。
【0010】
本発明の別の局面に従えば、印刷物に埋め込まれたデータを検出する画像処理方法であって、印刷物から画像を読取るステップと、読取られた画像から、埋め込まれたデータおよび基準パターンを検出して所定の画素値に置き換えるステップと、データに対応する画素値に対して膨張処理を行なうステップと、基準パターンに対応する画素値を基準として、膨張処理された後のデータの画素値からデータを取り出すステップとを含む。
【0011】
本発明のさらに別の局面に従えば、コンピュータに、印刷物に埋め込まれたデータを検出させるコンピュータ・プログラムであって、印刷物から画像を読取るステップと、読取られた画像から、埋め込まれたデータおよび基準パターンを検出して所定の画素値に置き換えるステップと、データに対応する画素値に対して膨張処理を行なうステップと、基準パターンに対応する画素値を基準として、膨張処理された後のデータの画素値からデータを取り出すステップとをコンピュータに実行させる。
【発明の効果】
【0012】
本発明のある局面によれば、取出手段が、フィルタ手段によって膨張処理された後のデータの画素値からデータを取り出すので、プリントアウトされた画像に延び縮みや傾きがある場合でも、電子透かしとして埋め込まれたデータを正しく検出することが可能となる。
【0013】
また、基準パターンが印刷物上に等間隔に配置されるので、所定の領域ごとにデータの取り出しが行なえる。
【0014】
また、取出手段が、基準パターンに対応する画素値を中心として所定数のデータを取り出すので、フィルタを構成する画像メモリを少なくすることが可能となる。
【0015】
また、フィルタ手段が、基準パターンに対応する画素値に対して縮小処理を行なうので、データの取り出し処理を減らすことが可能となる。
【0016】
また、フィルタ手段が、n−1個のラインバッファと、n個のシフトレジスタと、膨張処理回路とによって構成されるので、小規模のハードウェアでフィルタ手段を実現することが可能となる。
【発明を実施するための最良の形態】
【0017】
(第1の実施の形態)
図1は、本発明の第1の実施の形態における画像処理装置のシステム構成の一例を示す図である。図1は、パーソナルコンピュータ(以下、PCと呼ぶ。)を用いて画像処理装置を構成する場合を示しており、マウス11と、キーボード12と、モニタ13と、外部記憶装置14と、スキャナ15と、PC16とを含む。
【0018】
PC16は、一般的なコンピュータのハードウェアと同様の構成を有しており、図示しないCPU(Central Processing Unit)が画像処理プログラム17を実行することによって、後述する画像処理装置の機能が実現される。
【0019】
マウス11およびキーボード12は、それぞれ入力デバイスとして用いられ、ユーザが画像処理プログラム17の起動、画像処理プログラム17の実行時における各種指示などを行なう際に用いられる。
【0020】
モニタ13は、スキャナ15によって読取られた画像データなどを表示するのに用いられ、ユーザはモニタ13に表示された内容を参照しながら、画像処理プログラム17に指示を与えることによって画像処理が進められる。
【0021】
外部記憶装置14は、スキャナ15によって読取られた画像データなどを記憶するのに用いられる。画像処理プログラム17がこの外部記憶装置14に記憶され、PC16が外部記憶装置14から内部のRAM(Random Access Memory)に画像処理プログラム17をロードして実行するようにしてもよい。
【0022】
スキャナ15は、データが埋め込まれた画像データを読取り、読取った画像データをPC16に出力する。PC16は、スキャナ15から受けた画像データに対して後述する処理を行なうことによって、画像処理が行なわれる。
【0023】
図2は、図1に示す画像処理装置をより機能的に説明するための図である。PC16は、入出力インタフェース24と、CPU/メモリ25と、記憶装置26とを含む。また、記憶装置26は、OS(Operating System)27と、画像処理プログラム17によって実現される画像処理部28とを含む。画像処理プログラム17はOS27上で動作し、画像処理部28の機能を実現する。
【0024】
画像処理部28は、OS27および入出力インタフェース24を介してデータを入出力することによって、キーボード11、マウス12、モニタ13およびスキャナ15を制御する。画像処理部28は、キーボード11またはマウス12によるユーザ指示21を受け、スキャナ15からのスキャン画像23を受けたり、モニタ13に画像データ表示22を行なったりして、後述する画像処理を行なう。
【0025】
図3は、本発明の第1の実施の形態における画像処理装置のシステム構成の他の一例を示す図である。図3は、MFP(Multi Function Peripheral)を用いて画像処理装置を構成する場合を示しており、操作パネル部31と、スキャナ部32と、プリンタ部33と、MFP本体34とを含む。
【0026】
MFP本体34は、画像処理回路35などによって構成される。画像処理回路35は、操作パネル31からのユーザの指示を受け、スキャナ部32およびプリンタ部33を制御しながら後述する画像処理を行なう。
【0027】
図4は、本発明の第1の実施の形態における画像処理装置の処理の概略を説明するためのフローチャートである。まず、画像データ41に埋め込む情報42を埋め込んで、画像データ41の背景にドットパターンとして埋め込む情報42をプリントアウトする。
【0028】
図5は、データを埋め込むときのビットパターンを示す図である。図5(a)は、データ“0”のビットパターンを示しており、16×16画素のうち図5(a)に示す位置に黒のドットを配置することにより、データ“0”を表現する。
【0029】
また、図5(b)は、データ“1”のビットパターンを示しており、16×16画素のうち図5(b)に示す位置に黒のドットを配置することにより、データ“1”を表現する。
【0030】
また、図5(c)は、データ取り出し用基準パターンのビットパターンを示しており、16×16画素のうち図5(c)に示す位置に黒のドットを配置することにより、データ取り出し用基準パターンを表現する。
【0031】
図6は、埋め込みデータの一例を示す図である。図6に示すように、80×80画素の領域に、24ビット分のデータと、データ取り出し用基準パターンとが配置される。データ取り出し用基準パターンは、24ビット分のデータの中央に位置する。
【0032】
図7は、図6に示す埋め込みデータが実際にプリントアウトされるときのドットパターンを示す図である。図7に示すように、80×80画素のうち中央の16×16画素の領域にデータ取り出し用基準パターンのビットパターンが配置され、それ以外の領域には図6に示す埋め込みデータに対応したデータ“0”またはデータ“1”のビットパターンが配置される。
【0033】
図8は、画像データの背景にデータを埋め込んで印刷したときのプリントアウトの一例を示す図である。図7に示すビットパターンが紙一面に繰返し配置され、実際にプリントアウトしようとする文字などの画像データと合成されて、プリントアウトされる。このドットパターンを、たとえば600dpiで埋め込む場合、このデータセルは一辺が0.068cm(16/600インチ)とかなり小さなドットとなる。そのため、ユーザにはプリントアウトの背景にグレーの画像が追加されているように見える。
【0034】
次に、プリントアウトされた印刷物43の画像をスキャンして、埋め込まれたデータを検出する(S12)。この処理の詳細は後述する。
【0035】
図9は、図1または図3に示す画像処理装置の機能的構成を示すブロック図である。この画像処理装置は、印刷物43をスキャンすることにより画像を読取る画像読取部51と、読取られた画像に対してパターンマッチングを行なうパターンマッチング部52と、パターンマッチング部52によって検出されたデータに対してフィルタ処理を行なうフィルタ処理部53と、フィルタ処理されたデータから埋め込まれたデータを取出すデータ取出部54とを含む。
【0036】
図10は、図4に示すステップS12の詳細な処理手順を説明するためのフローチャートである。まず、画像読取部51は、スキャナ15またはスキャナ部32によって印刷物45をスキャンしてスキャン画像を得る。そして、パターンマッチング部52は、画像読取部51によって得られた画像をスキャンして17×17画素のパターン(以下、入力パターンと呼ぶ。)を抽出し、入力パターンに対してパターンマッチングを行なう(S21)。
【0037】
パターンマッチング処理の一例として、単純類似度を用いてデータを検出する場合について説明するが、埋め込まれたデータを検出できる方法であれば、これに限定されるものではない。
【0038】
単純類似度とは、標準パターンをc=(c1,c2,...,c289)とし、入力パターンをx=(x1,x2,...,x289)とすると、次式によって2つのベクトルのなす角度を求め、小さいほど類似していると判断する方法である。なお、“・”はベクトルの内積を示し、“||”はベクトルの大きさを示すものとする。
【0039】
c・x/(|c|×|x|) ・・・(1)
パターンマッチング部52は、式(1)によって計算された角度のcosを計算し、“1”に近いほど標準パターンと入力パターンとが近似していると判定する。
【0040】
図11は、標準パターンを説明するための図である。図11(a)は、データ“0”の標準パターンを示している。また、図11(b)は、データ“1”の標準パターンを示している。また、図11(c)は、データ取り出し用基準パターンの標準パターンを示している。
【0041】
パターンマッチング部52は、標準パターンとして図11(a)に示すデータ“0”を用いたときのcos値が所定のしきい値以上であれば、17×17画素の中央の画素の画素値を“0”(以下、この画素をデータ0画素と呼ぶ。)とし、図面では濃いグレーで表わす。
【0042】
また、パターンマッチング部52は、標準パターンとして図11(b)に示すデータ“1”を用いたときのcos値が所定のしきい値以上であれば、17×17画素の中央の画素の画素値を“1”(以下、この画素をデータ1画素と呼ぶ。)とし、図面では薄いグレーで表わす。
【0043】
また、パターンマッチング部52は、標準パターンとして図11(c)に示すデータ取り出し用基準パターンを用いたときのcos値が所定のしきい値以上であれば、17×17画素の中央の画素の画素値を“2”(以下、この画素をデータ取り出し用基準画素と呼ぶ。)とし、図面では黒で表わす。
【0044】
また、パターンマッチング部52は、標準パターンのいずれを用いてもcos値が所定のしきい値未満であれば、17×17画素の中央の画素の画素値を“3”とし、図面では白で表わす。
【0045】
パターンマッチング部52は、印刷物43のスキャン画像を1ドットずつ左右方向および上下方向にずらしながら、17×17ドットの入力パターンを抽出してパターンマッチングを行なうことにより、画像データを上述の画素値に置き換える。
【0046】
図12は、パターンマッチング部52によって画素値に置き換えられた後の画像データの一例を示す図である。図12に示すように、画像データに埋め込まれたデータが画素値“0”〜“3”に置き換えられる。
【0047】
次に、フィルタ処理部53は、パターンマッチング部52によって置き換えられた画素値に対して膨張処理を行なう(S22)。
【0048】
図13は、膨張処理に用いられるフィルタの一例を示す図である。この膨張処理フィルタは、黒とグレーとで示す49画素の中で、最小の画素値を中央の黒画素に出力する処理を行なう。なお、データ取り出し用基準画素に対しては膨張処理を行なわず、フィルタ処理前のデータをそのまま出力する。
【0049】
フィルタ処理部53はこの膨張処理フィルタを用いて、パターンマッチング部52によって画素値に置き換えられた後の画像データの全画素に対して膨張処理を行なう。すなわち、印刷物43のスキャン画像に対して膨張処理フィルタを適用する領域を1ドットずつ左右方向および上下方向にずらしながら、全領域に対してフィルタ処理を行なう。
【0050】
なお、膨張処理フィルタは、図13に示す7×7のサイズの49画素のフィルタに限られるものではなく、膨張量によって、たとえば5×5のサイズの25画素のフィルタなどに変更することも可能である。
【0051】
図14は、膨張処理を行なった後の画像データを示す図である。図14に示すように、データ取り出し用基準画素のみがそのままであり、データ0画素およびデータ1画素がフィルタ処理によって膨張される。
【0052】
次に、データ取出部54は、フィルタ処理後の画像データを1ドットずつ左右方向および上下方向にずらしながら、注目画素がデータ取り出し用基準画素であるか否かを判定する(S23)。注目画素がデータ取り出し用基準画素であれば(S23,Yes)、その注目画素の周辺からデータを取り出す(S24)。また、注目画素がデータ取り出し用基準画素でなければ(S23,No)、何もせずにステップS26に進む。
【0053】
図15は、データ取出部54がデータを取り出す際に用いるフィルタの一例を示す図である。このフィルタは、中央の画素(白丸)を注目画素とし、注目画素を中心として16画素ずつ離れた24画素(黒丸)のデータを抽出するものである。注目画素の座標(X,Y)=(0,0)とすると、データを抽出する各画素の座標が、各黒丸の下のカッコ内に記載されている。
【0054】
データ取出部54は、画像データに対して図15に示すフィルタを1ドットずつ左右方向および上下方向にずらし、注目画素がデータ取り出し用基準画素のときに、黒丸で示す位置にある24画素のデータを取り出す。
【0055】
図16は、図15に示すフィルタによってデータを取り出すときの処理を説明するための図である。図16の左上に示すように、フィルタの中央の注目画素がデータ取り出し用基準画素のときに、その周辺の24画素のデータが取り出される。
【0056】
また、図16の左上の丸で示す箇所において、読み取りミスが発生しており、誤って画素値が“3”となっている。このように、一部のデータに読み取りミスがある場合でも、図15に示すフィルタを用いることによってその箇所のデータが不明であると判定することができる。
【0057】
また、図16の右下の丸で示す箇所において、間違ってデータが判定されたことを示している。このように、一部のデータが間違って判定された場合でも、図15に示すフィルタを用いることによってそのデータを読み飛ばすことができる。
【0058】
図17は、フィルタ処理部53のハードウェア構成の一例を示す図である。このフィルタは、図13に示す膨張処理フィルタに対応しており、6つのラインバッファ1〜6(61−1〜61−6)と、7つのシフトレジスタ群62−0〜62−6と、膨張フィルタ処理演算回路63とを含む。
【0059】
ラインバッファ1〜6(61−1〜61−6)は、それぞれ画像データの1ライン分のデータを保持する。この膨張処理フィルタは、7×7画素のデータに対してフィルタ処理を行なうものであるが、1番上のラインのデータは直接シフトレジスタ群62−0に入力されるため、そのラインに対応するラインバッファは設けられていない。
【0060】
シフトレジスタ群62−0〜62−6は、それぞれ横方向の7画素分のデータを順次シフトするものであり、図示しないクロックに同期して1画素ずつデータがシフトされる。
【0061】
膨張フィルタ処理演算回路63は、シフトレジスタ群62−0〜62−6に保持される7×7画素分のデータに対して、図13を用いて説明した膨張処理を行なう。
【0062】
このように、画像メモリとして6ライン分のラインバッファを設けるだけで膨張処理が行なえるため、ハードウェア化を容易に行うことが可能となる。また、パターンマッチング部52のフィルタも同様の構成で実現でき、17×17画素のデータを保持するために画像データとして16ライン分のラインバッファを設けるだけでマターンマッチング処理が行なえるようになる。また、データ取出部54のフィルタも同様の構成で実現でき、画像データとして65ライン分のラインバッファを設けるだけでデータ取り出し処理が行なえるようになる。
【0063】
図18は、データ取出部54がデータを取り出す際に用いるフィルタの他の一例を示す図である。図15は、5×5のデータを抽出するものであったが、図18は、6×6のデータを抽出するものである。6×6のデータを抽出する場合には、中央の画素が存在しないため、図18に示すように中央の4つの白丸のいずれか1つにデータ取り出し用基準画素を配置し、それ以外の画素からデータを取り出す。
【0064】
再び、図10に示すフローチャートの説明に戻る。最後に、データ取出部54は、処理すべき次の画素があるか否かを判定する(S26)。次の画素があれば(S26,Yes)、ステップS23に戻って以降の処理を繰返す。また、次の画素がなければ(S26,No)、処理を終了する。
【0065】
以上説明したように、本実施の形態における画像処理装置によれば、パターンマッチング処理によって画像データを所定の画素値に置き換え、フィルタ処理によって画素値に対して膨張処理を行なった後に埋め込まれたデータを取り出すようにしたので、画像をスキャンするときに紙が少し浮いているなどの理由により、画素の間隔が若干変動する場合であっても、データを正しく検出することが可能となった。
【0066】
また、画素値を7×7画素に膨張する場合、6ライン分のラインバッファを設けるだけで膨張処理が行なえるようになり、少ない回路規模でハードウェア化を行なうことが可能となった。
【0067】
また、画素値を膨張してデータを取り出す処理をソフトウェアで実現する場合でも、注目画素がデータ取り出し用基準画素の場合にのみデータ取り出し処理を行なえばよいため、データ取り出しのための位置決めなどが不要となり、埋め込まれたデータの検出を高速に行なうことが可能となった。
【0068】
(第2の実施の形態)
本発明の第2の実施の形態における画像処理装置は、第1の実施の形態における画像処理装置と比較して、フィルタ処理部53が画素値に対して膨張処理を行なった後、データ取り出し用基準画素に対してのみ縮小処理を行なう点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。
【0069】
図19は、縮小処理フィルタの一例を示す図である。この縮小処理フィルタは、注目画素(中央の黒画素)がデータ取り出し用基準画素であり、その上下左右の4つの画素(グレー画素)のいずれかがデータ取り出し用基準画素でない場合、中央の黒画素にデータなし(画素値“3”)を出力する。
【0070】
フィルタ処理部53は、膨張処理を行なった後の画像データに対して縮小処理フィルタを適用する領域を1ドットずつ左右方向および上下方向にずらしながら、全領域に対してフィルタ処理を行なう。
【0071】
図20は、縮小処理を行なった後の画像データの一例を示す図である。図14と比較して、データ取り出し用基準画素のみが元の中央付近に縮小されているのが判る。なお、データ取り出し処理は、第1の実施の形態において説明した処理と同様である。
【0072】
図21は、縮小処理を行なった後にデータを取り出すときの処理を説明するための図である。図21の左上に示すように、縮小処理によってデータ取り出し用基準画素が縮小されているため、その周辺の24画素のデータが正確に取り出せるようになる。
【0073】
なお、図21の左上の丸で示す箇所において、読み取りミスが発生しており、誤って画素値が“3”となっている。また、図21の右下の丸で示す箇所において、間違ってデータが判定されている。
【0074】
以上説明したように、本実施の形態における画像処理装置によれば、膨張処理を行なった後に縮小処理を行なってデータ取り出し用基準画素を縮小するようにしたので、データ取り出し処理を減らすことができ、処理を高速に行なうことが可能となった。
【0075】
また、データ取り出し用基準画素が元の中央付近に縮小されるため、データ取り出し位置が膨張された画素値のほぼ中央となり、データ取り出し精度を向上させることが可能となった。
【0076】
(第3の実施の形態)
本発明の第3の実施の形態における画像処理装置は、第1の実施の形態における画像処理装置と比較して、画像データが傾いてスキャンされた場合の処理である点が異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。
【0077】
なお、本実施の形態においては、スキャン画像の傾きが既知の方法、たとえば傾き検知用基準マークを利用した方法などによって、予め判っているものとして説明する。
【0078】
図22は、スキャン画像が傾いているときに用いられる標準パターンの一例を示す図である。図22(a)は、データ“0”の標準パターンを示している。また、図22(b)は、データ“1”の標準パターンを示している。また、図22(c)は、データ取り出し用基準パターンの標準パターンを示している。
【0079】
図22に示すように,スキャン画像の傾きにより、標準パターンの画素数が21×21となっている。パターンマッチング部52は、印刷物45のスキャン画像を1ドットずつ左右方向および上下方向にずらしながら、21×21ドットの入力パターンを抽出して、図21に示す標準パターンとのパターンマッチングを行なうことにより、画像データを上述の画素値に置き換える。
【0080】
なお、スキャン画像の傾きに応じた複数の標準パターンが予め用意されており、検出されたスキャン画像の傾きに応じて、複数の標準パターンの中から最適なものが選択されて利用される。
【0081】
図23は、スキャン画像が傾いている場合において、パターンマッチング部52によって画素値に置き換えられた後の画像データの一例を示す図である。図23に示すように、画像データに埋め込まれたデータが全体的に傾いて画素値“0”〜“3”に置き換えられる。
【0082】
図24は、スキャン画像が傾いている場合において、膨張処理を行なった後の画像データを示す図である。図24に示すように、データ0画素およびデータ1画素がフィルタ処理によって全体的に傾いたまま膨張される。なお、本実施の形態における膨張処理フィルタは、図17に示す膨張処理フィルタと同じである。
【0083】
図25は、スキャン画像が傾いている場合において、データを取り出すときの処理を説明するための図である。図25の左上に示すように、フィルタの中央の注目画素がデータ取り出し用基準画素のときに、その周辺の24画素のデータが取り出されるが、スキャン画像の傾きに応じて傾いたフィルタが用いられる。
【0084】
データ取出部54のフィルタを傾ける場合、データ取り出し用基準画素がフィルタの中央に配置されたときに、データを取り出すようフィルタを構成すれば画像メモリを少なくすることができる。
【0085】
図26は、本発明の第3の実施の形態における画像処理装置をハードウェアで構成した場合におけるパイプライン処理を説明するための図である。スキャン画像の傾き角度が最大の場合には、パターンマッチング部52のフィルタは25×25のサイズとなり24ライン分のラインバッファによって構成されるため、24ライン分の遅延が発生する。
【0086】
また、膨張処理フィルタは図13の例の場合、7×7のサイズとなり6ライン分のラインバッファで構成されるため、6ライン分の遅延が発生する。したがって、データ取出部54がデータの取り出し処理を開始するまでに30ライン分の遅延が発生する。最後に、データ取出部54は93×93のフィルタで構成される。このように、各処理をパイプラインで行うことにより、30ライン分の遅延が発生するのみであり、スキャン画像を全て読み込んでから処理する場合と比較して、処理時間を大幅に短縮することが可能となり、容易にハードウェア化ができる。
【0087】
以上説明したように、本実施の形態における画像処理装置によれば、スキャン画像の傾きに対応して傾けたフィルタを用いるようにしたので、フィルタ処理を高速に行なうことが可能となった。
【0088】
また、パターンマッチング部52、フィルタ処理部53およびデータ取出部54をハードウェアで構成した場合には、パイプライン処理が行なえるようになるため、処理速度を大幅に向上させることが可能となった。
【0089】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【0090】
【図1】本発明の第1の実施の形態における画像処理装置のシステム構成の一例を示す図である。
【図2】図1に示す画像処理装置をより機能的に説明するための図である。
【図3】本発明の第1の実施の形態における画像処理装置のシステム構成の他の一例を示す図である。
【図4】本発明の第1の実施の形態における画像処理装置の処理の概略を説明するためのフローチャートである。
【図5】データを埋め込むときのビットパターンを示す図である。
【図6】埋め込みデータの一例を示す図である。
【図7】図6に示す埋め込みデータが実際にプリントアウトされるときのドットパターンを示す図である。
【図8】画像データの背景にデータを埋め込んで印刷したときのプリントアウトの一例を示す図である。
【図9】図1または図3に示す画像処理装置の機能的構成を示すブロック図である。
【図10】図4に示すステップS12の詳細な処理手順を説明するためのフローチャートである。
【図11】標準パターンを説明するための図である。
【図12】パターンマッチング部52によって画素値に置き換えられた後の画像データの一例を示す図である。
【図13】膨張処理に用いられるフィルタの一例を示す図である。
【図14】膨張処理を行なった後の画像データを示す図である。
【図15】データ取出部54がデータを取り出す際に用いるフィルタの一例を示す図である。
【図16】図15に示すフィルタによってデータを取り出すときの処理を説明するための図である。
【図17】フィルタ処理部53のハードウェア構成の一例を示す図である。
【図18】データ取出部54がデータを取り出す際に用いるフィルタの他の一例を示す図である。
【図19】縮小処理フィルタの一例を示す図である。
【図20】縮小処理を行なった後の画像データの一例を示す図である。
【図21】縮小処理を行なった後にデータを取り出すときの処理を説明するための図である。
【図22】スキャン画像が傾いているときに用いられる標準パターンの一例を示す図である。
【図23】スキャン画像が傾いている場合において、パターンマッチング部52によって画素値に置き換えられた後の画像データの一例を示す図である。
【図24】スキャン画像が傾いている場合において、膨張処理を行なった後の画像データを示す図である。
【図25】スキャン画像が傾いている場合において、データを取り出すときの処理を説明するための図である。
【図26】本発明の第3の実施の形態における画像処理装置をハードウェアで構成した場合におけるパイプライン処理を説明するための図である。
【符号の説明】
【0091】
11 マウス、12 キーボード、13 モニタ、14 外部記憶装置、15 スキャナ、16 PC、17 画像処理プログラム、21 ユーザ指示、22 画像データ表示、23 スキャン画像、24 入出力インタフェース、25 CPU/メモリ、26 記憶装置、27 OS、28 画像処理部、31 操作パネル部、32 スキャナ部、33 プリンタ部、34 MFP本体、41 画像データ、42 埋め込むデータ、43 印刷物、44 スキャン画像データ、51 画像読取部、52 パターンマッチング部、53 フィルタ処理部、54 データ取出部、61−1〜61−6 ラインバッファ、62−0〜62−6 シフトレジスタ群、63 膨張フィルタ処理演算回路。
【特許請求の範囲】
【請求項1】
印刷物に埋め込まれたデータを検出する画像処理装置であって、
印刷物から画像を読取る読取手段と、
前記読取手段によって読取られた画像から、埋め込まれたデータおよび基準パターンを検出して所定の画素値に置き換える検出手段と、
データに対応する画素値に対して膨張処理を行なうフィルタ手段と、
基準パターンに対応する画素値を基準として、前記フィルタ手段によって膨張処理された後のデータの画素値からデータを取り出す取出手段とを含む、画像処理装置。
【請求項2】
前記基準パターンは、前記印刷物上に等間隔に配置される、請求項1記載の画像処理装置。
【請求項3】
前記取出手段は、前記基準パターンに対応する画素値を中心として所定数のデータを取り出す、請求項1記載の画像処理装置。
【請求項4】
前記フィルタ手段は、基準パターンに対応する画素値に対して縮小処理を行ない、
前記取出手段は、前記フィルタ手段によって縮小処理された後の基準パターンの画素値を基準として、前記フィルタ手段によって膨張処理された後のデータの画素値からデータを取り出す、請求項1〜3のいずれかに記載の画像処理装置。
【請求項5】
印刷物に埋め込まれたデータを検出する画像処理方法であって、
印刷物から画像を読取るステップと、
前記読取られた画像から、埋め込まれたデータおよび基準パターンを検出して所定の画素値に置き換えるステップと、
データに対応する画素値に対して膨張処理を行なうステップと、
基準パターンに対応する画素値を基準として、前記膨張処理された後のデータの画素値からデータを取り出すステップとを含む、画像処理方法。
【請求項6】
コンピュータに、印刷物に埋め込まれたデータを検出させるコンピュータ・プログラムであって、
印刷物から画像を読取るステップと、
前記読取られた画像から、埋め込まれたデータおよび基準パターンを検出して所定の画素値に置き換えるステップと、
データに対応する画素値に対して膨張処理を行なうステップと、
基準パターンに対応する画素値を基準として、前記膨張処理された後のデータの画素値からデータを取り出すステップとをコンピュータに実行させる、コンピュータ・プログラム。
【請求項1】
印刷物に埋め込まれたデータを検出する画像処理装置であって、
印刷物から画像を読取る読取手段と、
前記読取手段によって読取られた画像から、埋め込まれたデータおよび基準パターンを検出して所定の画素値に置き換える検出手段と、
データに対応する画素値に対して膨張処理を行なうフィルタ手段と、
基準パターンに対応する画素値を基準として、前記フィルタ手段によって膨張処理された後のデータの画素値からデータを取り出す取出手段とを含む、画像処理装置。
【請求項2】
前記基準パターンは、前記印刷物上に等間隔に配置される、請求項1記載の画像処理装置。
【請求項3】
前記取出手段は、前記基準パターンに対応する画素値を中心として所定数のデータを取り出す、請求項1記載の画像処理装置。
【請求項4】
前記フィルタ手段は、基準パターンに対応する画素値に対して縮小処理を行ない、
前記取出手段は、前記フィルタ手段によって縮小処理された後の基準パターンの画素値を基準として、前記フィルタ手段によって膨張処理された後のデータの画素値からデータを取り出す、請求項1〜3のいずれかに記載の画像処理装置。
【請求項5】
印刷物に埋め込まれたデータを検出する画像処理方法であって、
印刷物から画像を読取るステップと、
前記読取られた画像から、埋め込まれたデータおよび基準パターンを検出して所定の画素値に置き換えるステップと、
データに対応する画素値に対して膨張処理を行なうステップと、
基準パターンに対応する画素値を基準として、前記膨張処理された後のデータの画素値からデータを取り出すステップとを含む、画像処理方法。
【請求項6】
コンピュータに、印刷物に埋め込まれたデータを検出させるコンピュータ・プログラムであって、
印刷物から画像を読取るステップと、
前記読取られた画像から、埋め込まれたデータおよび基準パターンを検出して所定の画素値に置き換えるステップと、
データに対応する画素値に対して膨張処理を行なうステップと、
基準パターンに対応する画素値を基準として、前記膨張処理された後のデータの画素値からデータを取り出すステップとをコンピュータに実行させる、コンピュータ・プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図9】
【図10】
【図11】
【図15】
【図17】
【図18】
【図22】
【図26】
【図8】
【図12】
【図13】
【図14】
【図16】
【図19】
【図20】
【図21】
【図23】
【図24】
【図25】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図9】
【図10】
【図11】
【図15】
【図17】
【図18】
【図22】
【図26】
【図8】
【図12】
【図13】
【図14】
【図16】
【図19】
【図20】
【図21】
【図23】
【図24】
【図25】
【公開番号】特開2008−61099(P2008−61099A)
【公開日】平成20年3月13日(2008.3.13)
【国際特許分類】
【出願番号】特願2006−237852(P2006−237852)
【出願日】平成18年9月1日(2006.9.1)
【出願人】(303000372)コニカミノルタビジネステクノロジーズ株式会社 (12,802)
【Fターム(参考)】
【公開日】平成20年3月13日(2008.3.13)
【国際特許分類】
【出願日】平成18年9月1日(2006.9.1)
【出願人】(303000372)コニカミノルタビジネステクノロジーズ株式会社 (12,802)
【Fターム(参考)】
[ Back to top ]