JP2008301284A - 画像処理装置およびその制御方法 - Google Patents

画像処理装置およびその制御方法 Download PDF

Info

Publication number
JP2008301284A
JP2008301284A JP2007146101A JP2007146101A JP2008301284A JP 2008301284 A JP2008301284 A JP 2008301284A JP 2007146101 A JP2007146101 A JP 2007146101A JP 2007146101 A JP2007146101 A JP 2007146101A JP 2008301284 A JP2008301284 A JP 2008301284A
Authority
JP
Japan
Prior art keywords
image data
image
reduced
document
line spacing
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.)
Ceased
Application number
JP2007146101A
Other languages
English (en)
Other versions
JP2008301284A5 (ja
Inventor
Takami Eguchi
貴巳 江口
Masanori Yokoi
優智 横井
Koji Harada
耕二 原田
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 JP2007146101A priority Critical patent/JP2008301284A/ja
Priority to US12/128,221 priority patent/US8064636B2/en
Publication of JP2008301284A publication Critical patent/JP2008301284A/ja
Publication of JP2008301284A5 publication Critical patent/JP2008301284A5/ja
Ceased legal-status Critical Current

Links

Images

Abstract

【課題】文書画像中の文字列の行間隔から、埋め込まれた透かし情報をより高精度に抽出する。
【解決手段】文書画像を画像データとして入力する入力手段と、入力した前記画像データから第1の方向に対して縮小された縮小画像データを生成する画像縮小手段と、該画像縮小手段で生成された縮小画像データを、ローパスフィルタを用いて平滑化するフィルタ手段と、該フィルタ手段による平滑化後の縮小画像データを前記第1の方向と予め定められた関係にある第2の方向に走査し、当該第2の方向に連続する非有意画素の領域の長さを行間隔として検出する検出手段と、該検出手段で検出した文字列の行間隔に基づき、前記文書画像に埋め込まれた透かし情報を抽出する抽出手段とを備える。
【選択図】図10

Description

本発明は、文書画像中の文字列の行間隔に基づき当該文書画像に埋め込まれた透かし情報を抽出する画像処理技術に関するものである。
文書画像に著作権や複写制御等の情報を持たせるため、非特許文献1の198ページ〜199ページの記載に示されるように、行間隔を利用して情報を埋め込む方法(以下、行間透かしと呼ぶ。)が知られている。図2は、行間透かしの概念を示す図である。行間透かしを用いた文書画像から埋め込まれた情報を抽出する場合には、まず当該文書画像内の文字列間の行間隔を求めることになる。行間隔を求めるため、一般的には文書画像に対して全走査を行いヒストグラムを求め、当該ヒストグラムから行間隔を導出する。そして、導出された行間隔と埋め込み時に使用した規則とに従って情報を抽出する。規則とは、例えば、図2に示すように、2値情報の「0」を埋め込みたい場合は行間隔U,Dに対しU>Dとなるよう設定することである。一方、2値情報の「1」を埋め込みたい場合は行間隔U,Dに対しU<Dとなるよう設定する。
松井甲子雄著 「電子透かしの基礎」 森北出版株式会社 1998年
しかしながら、上述の行間透かしを用いた文書画像から埋め込まれた情報を抽出する方法においては以下の問題点がある。すなわち、行間隔を測定するために、文書画像に対して全走査を行い、ヒストグラムを求める必要があり、情報抽出処理に時間がかかる。特に埋め込む情報が複製制御情報の場合、複写機内で複写制御情報を抽出し、抽出した情報から複写可能か否かの判断を行い、その後、複写処理を行うため、一枚の文書を複写する一連の処理にかなりの時間を有することになる。
また、入力された文書画像の文字列がアルファベットを含む場合、ベースラインからのはみ出しなどにより精度の高い行間隔の導出が困難であるという問題があった。
上述の問題点の少なくとも1つを解決するため、本発明の画像処理装置は以下の構成を備える。すなわち、文書画像を入力し、当該文書画像中の文字列の行間隔から、埋め込まれた透かし情報を抽出する画像処理装置であって、文書画像を画像データとして入力する入力手段と、入力した前記画像データから第1の方向に対して縮小された縮小画像データを生成する画像縮小手段と、該画像縮小手段で生成された縮小画像データを、ローパスフィルタを用いて平滑化するフィルタ手段と、該フィルタ手段による平滑化後の縮小画像データを前記第1の方向と予め定められた関係にある第2の方向に走査し、当該第2の方向に連続する非有意画素の領域の長さを行間隔として検出する検出手段と、該検出手段で検出した文字列の行間隔に基づき、前記文書画像に埋め込まれた透かし情報を抽出する抽出手段とを備える。
上述の問題点の少なくとも1つを解決するため、本発明の画像処理装置の制御方法は以下の構成を備える。すなわち、文書画像を入力し、当該文書画像中の文字列の行間隔から、埋め込まれた透かし情報を抽出する画像処理装置の制御方法であって、文書画像を画像データとして入力する入力工程と、入力した前記画像データから第1の方向に対して縮小された縮小画像データを生成する画像縮小工程と、該画像縮小工程で生成された縮小画像データを、ローパスフィルタを用いて平滑化するフィルタ工程と、該フィルタ工程による平滑化後の縮小画像データを前記第1の方向と予め定められた関係にある第2の方向に走査し、当該第2の方向に連続する非有意画素の領域の長さを行間隔として検出する検出工程と、該検出工程工程で検出した文字列の行間隔に基づき、前記文書画像に埋め込まれた透かし情報を抽出する抽出工程とを備える。
本発明によれば、文書画像中の文字列の行間隔に基づいて文書画像に埋め込まれた透かし情報をより効率的に抽出可能とする技術を提供することができる。
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
(第1実施形態)
本発明に係る画像処理装置の第1実施形態として、紙の文書原稿を画像読取装置(スキャナ)で読み込み、読み込んだ文書画像データに対し透かし情報の抽出を行う画像処理装置を例に挙げて以下に説明する。
<装置構成>
図1は、第1実施形態における画像処理装置11の主要な機能構成を示すブロック図である。図1に示すように、画像処理装置11は、画像入力部101、画像縮小部102、情報抽出部103、フィルタ処理部104、制御部110、操作部111から構成される。
画像入力部101は、上述の透かし情報の埋め込まれた文書画像に対応する画像データを入力する機能部である。具体的には、外部のスキャナにより読み取られ生成された紙の文書原稿に基づいた画像データをUSBなどの外部機器接続用インタフェースにより入力する。もちろん、イーサネット(登録商標)などのネットワークを介して画像データを入力するよう構成してもよい。
画像縮小部102は、画像入力部101により入力された画像データに対し、第1の方向(たとえば画像の水平方向)と、第1の方向と直交する第2の方向(たとえば画像の垂直方向)へそれぞれ縮小する機能部である。入力された画像データがビットマップ(ラスタ)形式である場合、一般的には、上述の第1および第2の方向は画像データを構成する画素の配列方向と一致する。なお、ここでは直交する2つの方向に縮小する構成であると説明したが、後述するように、1つの方向のみに縮小する構成としてもよい。
フィルタ処理部104は、画像データに対しフィルタ処理を実行する機能部である。フィルタ動作の詳細については後述する。
情報抽出部103は、画像縮小部102により生成された縮小画像データから、透かし情報に対応するバイナリ(2値)情報を抽出する機能部である。具体的には、画像縮小部102により生成された縮小画像データに対し、有意画素の有無を検出することにより実行される。そして、有意画素が検出された部分を文字列領域として判定し、有意画素が検出されない領域を行間部分として判定する。そして、行間部分として判定された複数の行間それぞれに対応する長さ(連続する画素数)に基づいて、各行間に対応する2値(0または1)を決定する。なお、行間部分の長さと2値との対応や情報量(ビット数)などの、透かし情報の埋め込みアルゴリズムについては、予め情報抽出部103に設定されているものとする。
制御部110は、上述の各機能部が連係して動作するよう制御するための機能部である。また、操作部111はユーザからの指示を受け付けるための機能部である。なお、上述の各機能部の動作の詳細については後述する。
<透かし情報の埋め込まれた画像データ>
第1実施形態では、透かし情報の埋め込みアルゴリズムは以下の通りであるとして説明する。もちろん、文字列の行間隔に基づいて透かし情報を埋め込むものであれば、他のアルゴリズムであっても適用可能である。
図2は、透かし情報が埋め込まれた文書原稿を例示的に示す図である。図2においては、白色の用紙に黒色で文字が記録されている。また、複数の行からなる文字列のそれぞれの間隔(行間隔)についてU,Dの2種類を用いて、2値情報を埋め込んでいる。具体的には、連続する2つの行間(UおよびD:nは自然数)に対して、以下のように行間を設定する。
「0」を埋め込む場合: U>D
「1」を埋め込む場合: U<D
そして、当該透かし情報入り文書原稿は、電荷結合素子(CCD)などの光学センサを有するスキャナにより読み取られ、画像データIが生成される。ここでは、生成された文書画像データIは、紙原稿の文字部分が黒、背景部分が白である2値画像であるとして説明する。なお、以降では文字部分に対応する”黒画素”のことを”有意画素”と呼ぶこともある。
図3は、透かし情報の埋め込まれた2値画像データを例示的に示す図である。なお、画像データの水平方向の画素数はW0、垂直方向の画素数はH0とする。ここで、図3(a)は、横書きの文字原稿が正しい方向で記録された画像データを示している。一方、図3(b)と図3(c)とは傾きのある文書画像である。上述のように紙の文書原稿をスキャナにより読み取る際には、基準方向とのずれやユーザによる紙原稿配置のミスなどにより、図3(b)と図3(c)のような画像データが入力されることがある。
<装置の動作>
以下、画像処理装置11が、画像データIから透かし情報を抽出する動作をフローチャートを参照して詳細に説明する。
図10は、第1実施形態に係る画像処理装置11の動作フローチャートである。なお、以下のフローはたとえばユーザによる操作部111を介した画像読取指示をトリガに実行される。
ステップS1001では、画像入力部101は、透かし情報入り文書画像に対応する画像データIをスキャナから受信し、画像データIを画像縮小部102に供給する。
ステップS1002では、画像縮小部102は、画像入力部101より供給された画像データIを水平方向と垂直方向へそれぞれ縮小し、水平方向の縮小画像データIsh、垂直方向の縮小画像データIsvを生成する。そして、縮小画像データIshおよび縮小画像データIsvをフィルタ処理部104に供給する。
図4は、画像データIを水平方向に縮小した縮小画像データIsh、および、垂直方向へ縮小した縮小画像データIsvの例を示す図である。なお、図4(a)は図3(a)の文書画像、図4(b)は図3(b)の文書画像、図4(c)は図3(c)の文書画像のそれぞれに基づいて生成した縮小画像データである。なお、縮小画像データIshの水平方向の画素数はW1(1<W1<W0)、垂直方向の画素数はH0とする。縮小画像データIsvの水平方向の画素数はW0、垂直方向の画素数はH1(1<H1<H0)とする。なお、縮小画像Ish、Isvを生成する際の縮小率は、入力された画像データに対し解像度情報検出を行い当該解像度情報に基づいて決定すると好適である。
なお、ここで、水平・垂直の2つの方向に対して縮小画像を生成するのは、図3(c)に示すように90度傾きのある画像データIが入力された場合に対応するためである。このような状況は、スキャナによる読み取りではしばしば発生する。そのため、あらかじめ画像データIの入力方向が保障されている場合は、文字列方向に対応する1方向のみに縮小を行うよう構成してもよい。
図4から、画像縮小部102による縮小により、文字列方向に縮小した縮小画像に対しては、複数の文字列が複数の有意画素の固まり(オブジェクト)として表現されることがわかる。以下、当該縮小画像の生成についてさらに詳しく説明する。
画像縮小部102が実行する縮小処理の具体的な計算手法としては、入力された画像データに対し単に一定周期での画素の間引きによる縮小が考えられる。しかし、文字列部分と行間部分とをより正確に識別するために、以下のようなバイリニア法を利用した計算を行うとよい。
バイリニア法では、画像データIの中の近接する4つの画素の画素値に基づいて、対応する縮小画像データの画素の画素値を算出する。この場合、4つの画素の少なくとも1つが黒である場合計算結果は中間調(グレー)となる(図5左)。具体的には、白を0黒を1として演算した結果が0より大きく1より小さい値となる。
行間部分には有意画素である黒画素は存在しないため、1つでも黒画素が存在する場合、当該近接する4つの画素の存在する部分は文字列領域であると推定できる。そのため、中間調として算出された部分を有意画素である黒へと変換させる(図5右)ことにより、文字列領域と行間領域とをより高精度に分割することができる。つまり、文字列領域には有意画素が存在しない場合がある(画数の少ない文字など)が、行間領域には有意画素は一般に存在することは無いことを利用しているのである。なお、この2値化処理をステップS1002で実行せず、後述するステップS1003における2値化処理のみ実行するよう構成してもよい。
なお、画像縮小部102による水平・垂直方向への縮小率は、オブジェクトが認識できる程度の大きさとなる縮小率であればよい。具体的な縮小率の値は予め指定した固定値としてもよいし、入力された画像データの付加データ(スキャナによる読取解像度情報など)に基づいて随時決定してもよい。また、ここでは縮小画像を生成するアルゴリズムの一例としてバイリニア法を適用したが、本発明はこれに限定されることはない。ニアレストレイバー、バイキュービックなど、種々の計算手法を利用して縮小可能である。
ステップS1003では、フィルタ処理部104は、以下に説明するフィルタ処理を縮小画像データIshに対して実行する。
図17は、アルファベットを含む文書画像から生成された縮小画像データIshを例示的に示す図である。アルファベットを含む文書画像特有の現象として、図17のように、縮小画像の行オブジェクトの上下に「ひげ」のような領域が出現することがあげられる。これは、英文の場合、以下の3つの特徴があるためである。
(1)各単語の先頭が大文字で残りが小文字になっている。
(2)b、dなど、他の小文字の高さに加えて突き出ている部分(アセンダと呼ばれる)がある文字がある。
(3)g,jのように、ベースラインより下に突き出ている部分(ディセンダと呼ばれる)がある文字がある。
こうした「ひげ」が存在すると、「ひげ」が存在する部分と存在しない部分で行オブジェクトの高さにばらつきが生じるため、行間隔を求める際に誤差が生ずる。そのため、フィルタ処理部104で以下の1と2のフィルタ処理を行う。
・1. 平滑化フィルタ(ローパスフィルタ)処理
まず、「ひげ」と「ひげ」の間を画素で補完するために平滑化フィルタをかける。平滑化フィルタの例として、本実施形態ではメディアンフィルタを用いる。メディアンフィルタは、通常、注目画素の周辺3x3や5x5をフィルタ(ウインドウ)サイズとし、フィルタサイズ内の画素の分布を調べ、中央値を注目画素の新たな画素値とするフィルタである。
・2. 2値化処理
平滑化後の画像は、一般に2値画像では無くより多諧調のグレースケール画像となる。そこで、グレー部分を黒へと変換させるために、白画素以外の画素をすべて黒画素に変換する2値化処理を行う。たとえば、8ビットグレースケール画像において、白画素の画素値を255、黒画素の画素値を0とした場合、
画素値が0の場合 −> 0
画素値が0より大きい場合 −> 1
という規則で2値化処理を行う。
図18は、図17に示した縮小画像データIshに対し平滑化フィルタ処理および2値化処理を施した結果を示す図である。図から分かるように、平滑化フィルタ処理と2値化処理によって、「ひげ」が存在する場合であっても、より文字列対応部分が明確化された画像が得られていることが分かる。
ステップS1004では、情報抽出部103は、フィルタ処理部104より供給された縮小画像データの1つを用いて各文字列領域間の長さ(行間隔)を計測する。ここでは、水平方向に縮小した縮小画像データIshに対して計測するものとする。具体的な計測方法は以下の通りである。
図6は、縮小画像データIshの拡大図である。まず、情報抽出部103は、縮小画像データIshに対し縮小方向(ここでは水平方向)と直交する方向(ここでは垂直方向)へ、走査を行うことにより有意画素の有無を検出する。そして、有意画素/非有意画素が反転する位置を文字列領域を行間領域との境界として決定する。
たとえば、図6における矢印に沿って反転位置を検出した場合、x〜x10の各画素位置が検出されることになる。このとき、行間隔であるU、D、U、Dのそれぞれの長さは、U=x−x、D=x−x、U=x−x、D=x−xである(単位は画素(pix))。
前述のように、ステップS1002における縮小処理の結果、文字列領域が文字の並び方向に縮小されると同時に、中間調部分が有意画素に変換されている。そのため、文字列領域における有意画素(ここでは黒)の密度が結果的に高くなっている。その結果、情報抽出部103は、文字列領域と行間領域との境界をより高精度に検出可能であり、行間隔を高精度に計測可能である。
なお、上述の方法は、縮小画像データIshが図4(b)に示すよう多少傾いている場合においても有効である。図8は、図4(b)の縮小画像データIshに対する走査を例示的に示す図である。この場合、矢印に沿った行間隔の長さは、図6の場合とは異なる結果となる。具体的には、文字列の傾きθ(度)としたとき、長さが1/cosθ倍になる。ただし、各行間隔の相対的長さ関係は変化しない。
なお、図6に示したように縮小画像データ内のオブジェクトが理想的な形状(つまり矩形)をしている場合は、一般的には1回の走査で十分である。しかし、図18に示したような縮小画像データ内のオブジェクトに対しより高精度に検出を行うときには、縮小した画像に対して、複数の走査を行うことが有効である。
図7は、縮小画像データIshに対し複数回の走査を実行する様子を例示的に示す図である。図7では、黒色オブジェクトで示される文字列部分が、より現実の縮小画像データに近いものとして示している。つまり、図6のような理想的な矩形オブジェクトでは無く、走査位置によってオブジェクト間(行間隔)の計測値が微妙に異なることになる。
例えば、図7に示すように走査位置を3箇所(矢印(1)(2)(3))行った場合を考える。ここで、黒画素から白画素、または白画素から黒画素に変化する点の座標値をyijとする。ここで、図7に示されるように、iは走査位置(矢印)に対応づけられた添え字で、(1)ならi=1,(2)ならi=2,(3)ならi=3とする。また、jはそれぞれの走査位置に対し、最上部で黒画素から白画素に変化する点を起点として、白/黒が反転する座標を上から順番につけた番号とする。図7における、走査結果が、
(1) y11=20, y12=30, y13=43, y14=54
(2) y21=18, y22=31, y23=44, y24=52
(3) y31=21, y32=32, y33=39, y34=53
であったとする。
次に、以下の規則にしたがって同一のjを持つ複数の座標から1つの座標を選び出す。
奇数のjを持つ座標からは、同一のjを持ち、異なるiを持つ複数の座標値の中で最大のものを選択。
偶数のjを持つ座標からは、同一のjを持ち、異なるiを持つ複数の座標値の中で最小のものを選択。
つまり、黒画素から白画素に変化する場合はなるべく下方に位置する点をオブジェクトの下部の境界と判断し、白画素から黒画素に変化する場合はなるべく上方に位置する点を上部の境界と判断するのである。
そして、選択された座標値からオブジェクト間距離を求める。
その結果、図の例の場合、オブジェクト間距離U,Dはそれぞれ、
= 30−21 = 9[pix]
= 52−44 = 8[pix]
となる。
U2とD2も同様に、j=5,6,7,8の座標から求める。
ステップS1005では、情報抽出部103は、ステップS1003で導出した行間隔に基づいて透かし情報を導出する。具体的には、情報抽出部103に予め設定された埋め込みアルゴリズムに対応させて透かし情報を算出する。例えば、
=9[pix]、D= 8[pix]、U=5[pix]、D=10[pix]
であった場合、U>Dなので「0」、U<Dなので「1」、つまり、透かし情報は「01(2進)」として導出される。
ただし、ステップS1004で、図4(c)に示す縮小画像データIshに対して計測した場合、オブジェクト間の距離を計測することができない。そのため、ステップS1005で、透かし画像を抽出することができない。つまり、ステップS1001において、90度回転した状態で画像データIが入力されていたため、縮小画像データIshは一般的に黒色のべた画像となってしまっているからである。
ステップS1006では、制御部110は、ステップS1004において情報が抽出できたか否かを判定する。情報が抽出できたか否かの判断は、例えば、U,Dが計測できた場合は、情報が抽出できたとし、U,Dが計測できなかった場合は抽出ができなかったと判定する。あるいは、予め設定された埋め込みアルゴリズムで規定された値以外の値が検出された場合に情報が抽出できなかったとする。また、読み取り結果に対して、予め指定された誤検出/未検出の判定を行うことにより決定してもよい。
ステップS1007では、フィルタ処理部104は、ステップS1003で説明したフィルタ処理を縮小画像データのもう1つに対して実行する。つまり、ここでは、垂直方向に縮小した縮小画像データIsv(第2の縮小画像データ)に対して計測するものとする。
ステップS1008では、情報抽出部103は、フィルタ処理部104より供給された縮小画像データIsvを用いて各文字列領域間の長さ(行間隔)を計測する。具体的な計測方法はステップS1004と同様である。ただし、情報抽出部103は、縮小画像データIsvに対し縮小方向(ここでは垂直方向)と直交する方向(ここでは水平方向)へ、走査を行うことにより有意画素の有無を検出することに注意する(図9)。
尚、ステップS1004では、垂直方向に走査し、ステップS1008では、水平方向に走査する例を示したが、ステップS1004で水平方向に走査し、ステップS1008で垂直方向に走査することにしてもよい。また、これら2つの方向(第1の方向と第2の方向)は、直交していることが望ましいが、必ずしも直交しなくてもよく、多少の傾きを有していても構わない。例えば、85度回転方向や95度回転方向であっても構わない。つまり、第1の方向と第2の方向は、実施形態の構成をシンプルにする上では、直交であることが望ましいが、ほぼ直交となるような予め決められた関係にあればよい。
ステップS1009では、情報抽出部103は、ステップS1008で導出した行間隔に基づいて透かし情報を導出する。具体的な計測方法はステップS1005と同様である。
以上のような動作フローを経て、画像処理装置11は、画像データIから透かし情報を抽出する。
なお、上述の説明においては、図3に示したパターンの文書画像データであるとして説明した。つまり、ほぼ正常な方向か90度回転入力される文書画像データであるとした。これらに加え、上下あるいは左右逆に入力される場合は、図6〜図9に示した走査方向に加え逆方向の走査も実行するよう構成するとよい。さらに、そのような状況が想定される場合には、透かし情報の埋め込みアルゴリズムとして読取開始方向に依存しないよう構成したアルゴリズムを用いることも好適である。
例えば、埋め込む情報が「101(2進)」や「11010(2進)」で、スタートビットを「0」、ストップビットを「11」とした場合、情報は、「010111(2進)」、「01101011(2進)」となる。さらに、どちらからでも読み取りが可能なように「010111000101(2進)」、「0110101100101001(2進)」のようにした情報を埋め込めば、上から下の走査1回のみで情報の抽出が可能である。なお、上記情報の後半部分がビット反転しているのは、判定条件が
「0」を埋め込む場合: U>D
「1」を埋め込む場合: U<D
の場合、反対方向から読むとUとDの順序が反対となり、ビット反転するためである。
また、上記とは別に、スタートビット、ストップビットを同じ「0」としておけば、埋め込む情報が「101(2進)」の場合は「001010(2進)」となる。反対方向から読むと「101011(2進)」で、スタートビットが「1」となっている。よって、情報部分を反転させ「010100(2進)」さらに反対方向に並べかえることにより「001010(2進)」となり、抽出することができる。
なお、第1実施形態では、図2に示したような、透かし情報を1組(2つ)の行間隔の相対的長さに対応させて埋め込むアルゴリズムを用いて説明を行った。しかし、最初に述べたように本発明は、この埋め込みアルゴリズムに限定されることない。例えば、最初の行間隔(文字列の1行目と2行目との間)を基準として、2つ目(文字列の2行目と3行目との間)以降の行間隔を最初の行間隔との相対的長さに対応させて情報を埋め込むアルゴリズムなどでもよい。また、相対的行間隔による2値情報ではなく、行間隔に基づくより多値の情報を埋め込むようにしてもよい。つまり、行間隔を使用した任意の埋め込みアルゴリズム全般に対し有効な手法である。
以上説明したように、第1実施形態に係る画像処理装置によれば、より高精度にあるいはより高速に、透かし情報を抽出することが可能となる。また、入力された画像データが傾きを有していた場合であっても、煩雑な操作を行うことなく情報を抽出可能となる。
(第2実施形態)
第2実施形態では、第1実施形態とは異なるフィルタ処理部104の動作例について説明する。つまり、第1実施形態で説明したステップS1003相当部分の動作のみが異なる例について説明する。その他の処理は第1実施形態と同様であるため説明は省略する。具体的には、第1実施形態では正方ウインドウを用いてメディアンフィルタを実行したが、ここでは、幅が縮小画像の水平方向画素数、高さが数ピクセルのウインドウを用いて以下の処理を実行する。ただし、垂直方向の画素数Hwは1≦Hwを満たす任意の値、水平方向の画素数Wwは(1<Ww≦W1)を満たす任意の値が利用可能である。
・ウインドウを縮小画像Ishに対し1ピクセルずつずらしながら走査する。
・ウインドウ内に白画素以外の画素が1つでもあった場合、矩形内の画素をすべて黒画素に逐次変換する。つまり、ウインドウ内の全画素が白画素である場合のみ当該領域は白画素の領域と見なされる。
図12は、ウインドウが縮小画像Ishを走査している様子を示す図である。そして、図13は、上述の画素置換処理による縮小画像の変化を示す図である。図13における左図が処理前、右図が処理後の縮小画像データを示している。
このような、ウインドウを用いた画素置換を行うことにより、アルファベットを含む文書画像であっても、図6に示すような理想的な縮小画像を取得することが可能となり、より精度の高い情報抽出が可能となる。
(第3実施形態)
第3実施形態では、第1実施形態とは異なる情報抽出部103の動作例について説明する。つまり、第1実施形態で説明したステップS1004相当部分の動作のみが異なる例について説明する。その他の処理は第1実施形態と同様であるため説明は省略する。具体的には、第1実施形態では複数のライン走査を用いて距離計測を実行したが、ここでは、幅が縮小画像の水平方向画素数、高さが数ピクセルのウインドウを用いて以下の処理を実行する。
なお、ここで高さを数ピクセル設ける理由は、図14のように、元画像の文書に傾きがある場合でもオブジェクト間の距離を測定可能にするためである。ただし、矩形ウインドウの幅は2ピクセル以上であれば良く、高さは1ピクセル以上であれば後述の処理を行うことが可能である。
図16は、矩形ウインドウを用いたオブジェクトの上部と下部の座標決定のフローチャートである。また、図15は、矩形ウインドウが縮小画像Isv内のオブジェクトを走査している状態を示す図である。以下の処理は情報抽出部103が実行する。
ステップS1501では、矩形ウインドウ内の有意画素(黒画素)を検出する。
ステップS1502では、黒画素から白画素に遷移する境界が存在するかどうか判定する。つまり、矩形ウインドウ内の上方部分が黒画素、下方部分が白画素となる部分(ライン)が存在するか否かを判定する。存在すると判定すればステップS1503に、存在しないと判定すればステップS1504に進む。
ステップS1503では、オブジェクトの開始位置候補と判断し現在の矩形ウインドウが位置する縦の座標値を記録する。たとえば、矩形ウインドウの横方向画素数が10画素の場合、
21, 19, 20, 21, 20, 20, 21, 20, 19, 21
の10個の座標が、黒画素から白画素に遷移した座標として記録される。
ステップS1504では、下方向に黒画素数が増加したか減少したかを判定し、その結果を記録する。
ステップS1505では、白画素から黒画素に遷移する境界が存在するかどうか判定する。存在すると判定した場合ステップS1507に、存在しないと判定した場合ステップS1506に進む。
ステップS1506では、矩形ウインドウを1画素下方に移動し、ステップS1501に戻る。
ステップS1507では、オブジェクトの終了位置候補と判断し現在の矩形ウインドウが位置する縦の座標値を記録する。たとえば、矩形ウインドウの横方向画素数が10画素の場合、
33, 32, 33, 31, 30, 30, 32, 33, 30, 32
の10個の座標が、黒画素から白画素に遷移した座標として記録される。
ステップS1508では、ステップS1504で記録した黒画素数の増減を判定し、オブジェクトの開始位置候補から終了位置候補の間の区間で増加し、増加から減少に転じた場合、有効なオブジェクトと判定する。その際、ステップS1503およびステップS1505で求めた候補点のうち、開始位置からは最も上部の座標値を、終了位置からは最も下部の座標を、それぞれ、オブジェクトの開始位置・終了位置として確定する。上記の例の場合、オブジェクトの開始位置は19,終了位置は33となる。
このような、ウインドウを用いたオブジェクト位置の決定を行うことにより、アルファベットを含む文書画像であっても、より精度の高い情報抽出が可能となる。
(第4実施形態)
第4実施形態では、上述の実施形態とは異なり、文書画像中の文字列のベースライン間の間隔に基づいて埋め込まれた透かし情報情報抽出する場合について説明する。
図19は、ベースライン間の間隔に基づいて透かし情報が埋め込まれた文書原稿を例示的に示す図である。ここでは、U1,D1,U2,D2はそれぞれ、ベースライン間の間隔を表している。他の、埋め込み規則は第1実施形態と同様である。また、第1実施形態におけるステップS1003に相当するフィルタ処理についても同様に実施するものとする。
以下では、情報抽出部103の動作例について説明する。具体的には、第3実施形態と同じように、幅が縮小画像の水平方向画素数、高さが数ピクセルのウインドウを用いた処理について説明する。
図20は、矩形ウインドウを用いて、2値化された縮小画像内のオブジェクトを走査している様子を示す図である。
図21は、矩形ウインドウでオブジェクトのベースライン座標値を求めるフローチャートである。
ステップS2201では、矩形ウインドウ内の有意画素(黒画素)を検出する。
ステップS2202では、白画素から黒画素に遷移する境界が存在するかどうか判定する。つまり、矩形ウインドウ内の上方部分が白画素、下方部分が黒画素となる部分(ライン)が存在するか否かを判定する。存在すると判定すればステップS1504に、存在しないと判定すればステップS1503に進む。
ステップS2203では、矩形ウインドウを1画素下方に移動し、ステップS2201に戻る。
ステップS2204では、オブジェクトの終了位置候補と判断し現在の矩形ウインドウが位置する縦の座標値を記録する。たとえば、矩形ウインドウの横方向画素数が10画素の場合、
33, 32, 33, 31, 30, 30, 32, 33, 30, 32
の10個の座標が、黒画素から白画素に遷移した座標として記録される。
ステップS2205では、ステップS2204で記録した縦の座標値の分布に基づいてベースライン位置の座標と判定する。例えば、縦の座標値の最頻値、平均値などが用いられる。上記の例において最頻値を利用する場合、オブジェクトのベースライン座標値は30となる。
なお、ステップS2205におけるベースラインの判定において、ステップS2204で記録した境界の縦の座標値のうち、横方向に連続する黒画素数が最大になる座標をベースライン座標値と判定することも可能である。上記の例の場合、オブジェクトのベースライン座標値は30となる。
さらに、急激に境界の座標値が増加し、数ピクセル連続したあと減少する場合、「ひげ」である確率が高い。そのため、それらの座標値をベースライン座標値の候補から除外するよう構成してもよい。上記の例の場合、7番目の32と8番目の33が除外すべき座標値となる。
(第5実施形態)
第5実施形態では、スキャナなどで読み取った文書画像をコンピュータ(PC)上で動作するプログラムにより、透かし情報の抽出を実行する形態について説明する。
<機器構成>
図11は、PCの内部構成を示す図である。
同図において、1101はCPUで、RAM1102やROM1103に格納されているプログラムやデータに基づいて、図1に示した、機能ブロックの各部を実現する。
1102はRAMで、外部記憶装置1108からロードされたプログラムやデータを記憶する。また、他のコンピュータシステム1114からI/F(インターフェース)1115を介してダウンロードしたプログラムやデータを一時的に記憶する。さらに、CPU1101が各種の処理を行うために必要とするエリアを備える。
1103はROMで、コンピュータの機能プログラムや設定データなどを記憶する。1104はディスプレイ制御装置で、画像や文字等をディスプレイ1105に表示させるための制御処理を行う。1105はディスプレイで、画像や文字などを表示する。なお、ディスプレイとしてはCRTや液晶画面などが適用可能である。
1106は操作入力デバイスで、キーボードやマウスなど、CPU1101に各種の指示を入力することのできるデバイスにより構成されている。1107は操作入力デバイス1106を介して入力された各種の指示等をCPU1101に通知するためのI/Oである。
1108はハードディスクなどの大容量情報記憶装置として機能する外部記憶装置で、OS(オペレーティングシステム)や各種アプリケーションプログラム、さらに、入出力原稿画像などを記憶する。外部記憶装置1108への情報の書き込みや外部記憶装置1108からの情報の読み出しはI/O1109を介して行われる。
1110は文書や画像を出力する為のプリンタで、出力データはI/O1111を介してRAM1102、もしくは外部記憶装置1108から送られる。なお、文書や画像を出力する為のプリンタとしては、例えばインクジェットプリンタ、レーザビームプリンタ、熱転写型プリンタ、ドットインパクトプリンタなどが挙げられる。
1112は文書や画像を読み取るためのスキャナで、入力データはI/O1113を介してRAM1102、もしくは外部記憶装置1108に送られる。
1116は、CPU1101、ROM1103、RAM1102、I/O1111、I/O1109、ディスプレイ制御装置1104、I/F1115、I/O1107、I/O1113を繋ぐバスである。
<装置の動作>
外部記憶装置1108には、アプリケーションプログラムとして、第1実施形態で説明した各機能部および動作フローを実現するための、画像処理プログラムが記憶されている。ユーザによる、操作入力デバイス1106を介した、当該画像処理プログラムの起動指示に基づき、第1実施形態で説明した動作フローが開始される。なお、詳細動作は第1実施形態とほぼ同様であるため省略する。
(他の実施形態)
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
なお、本発明は、前述した実施形態の機能を実現するプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置が、供給されたプログラムコードを読み出して実行することによっても達成される。従って、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク(CD、DVD)、光磁気ディスク、磁気テープ、不揮発性のメモリカード、ROMなどがある。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
第1実施形態における画像処理装置11の主要な機能構成を示すブロック図である。 透かし情報が埋め込まれた文書原稿を例示的に示す図である。 透かし情報の埋め込まれた2値画像データを例示的に示す図である。 画像データIを水平方向に縮小した縮小画像データIsh、および、垂直方向へ縮小した縮小画像データIsvの例を示す図である。 中間調として算出された部分の有意画素である黒への変換を例示的に示す図である。 縮小画像データIshの拡大図である。 縮小画像データIshに対し複数回の走査を実行する様子を例示的に示す図である。 図4(b)の縮小画像データIshに対する走査を例示的に示す図である。 縮小画像データIsvに対し水平方向へ走査を行う様子を例示的に示す図である。 第1実施形態に係る画像処理装置11の動作フローチャートである。 PCの内部構成を示す図である。 ウインドウが縮小画像Ishを走査している様子を示す図である。 画素置換処理による縮小画像の変化を示す図である。 元画像の文書に傾きがある場合の距離測定を示す図である。 矩形ウインドウが縮小画像Isv内のオブジェクトを走査している状態を示す図である。 矩形ウインドウを用いたオブジェクトの上部と下部の座標決定のフローチャートである。 アルファベットを含む文書画像から生成された縮小画像データIshを例示的に示す図である。 図17に示した縮小画像データIshに対し平滑化フィルタ処理および2値化処理を施した結果を示す図である。 ベースライン間の間隔に基づいて透かし情報が埋め込まれた文書原稿を例示的に示す図である。 矩形ウインドウを用いて、2値化された縮小画像内のオブジェクトを走査している様子を示す図である。 矩形ウインドウでオブジェクトのベースライン座標値を求めるフローチャートである。

Claims (6)

  1. 文書画像を入力し、当該文書画像中の文字列の行間隔から、埋め込まれた透かし情報を抽出する画像処理装置であって、
    文書画像を画像データとして入力する入力手段と、
    入力した前記画像データから第1の方向に対して縮小された縮小画像データを生成する画像縮小手段と、
    該画像縮小手段で生成された縮小画像データを、ローパスフィルタを用いて平滑化するフィルタ手段と、
    該フィルタ手段による平滑化後の縮小画像データを前記第1の方向と予め定められた関係にある第2の方向に走査し、当該第2の方向に連続する非有意画素の領域の長さを行間隔として検出する検出手段と、
    該検出手段で検出した文字列の行間隔に基づき、前記文書画像に埋め込まれた透かし情報を抽出する抽出手段と
    を備えることを特徴とする画像処理装置。
  2. 前記フィルタ手段は、さらに、
    前記ローパスフィルタで平滑化された縮小画像データに対し2値化処理を行うことを特徴とする請求項1に記載の画像処理装置。
  3. 前記画像縮小手段は、更に、前記画像データから前記第1と直交した方向に対して縮小した第2の縮小画像データを生成し、
    前記検出手段で有効な行間隔が検出されなかった場合、
    前記フィルタ手段は、該第2の縮小画像データを、ローパスフィルタを用いて平滑化し、
    前記検出手段は、該平滑化後の第2の縮小画像データを前記第1の方向に走査し、当該第1の方向に連続する非有意画素の領域の長さを行間隔として検出し、
    前記抽出手段は、該検出された文字列の行間隔に基づき、前記文書画像に埋め込まれた透かし情報を抽出することを特徴とする請求項1または2に記載の画像処理装置。
  4. 文書画像を入力し、当該文書画像中の文字列の行間隔から、埋め込まれた透かし情報を抽出する画像処理装置の制御方法であって、
    文書画像を画像データとして入力する入力工程と、
    入力した前記画像データから第1の方向に対して縮小された縮小画像データを生成する画像縮小工程と、
    該画像縮小工程で生成された縮小画像データを、ローパスフィルタを用いて平滑化するフィルタ工程と、
    該フィルタ工程による平滑化後の縮小画像データを前記第1の方向と予め定められた関係にある第2の方向に走査し、当該第2の方向に連続する非有意画素の領域の長さを行間隔として検出する検出工程と、
    該検出工程で検出した文字列の行間隔に基づき、前記文書画像に埋め込まれた透かし情報を抽出する抽出工程と
    を備えることを特徴とする制御方法。
  5. 更に、
    前記画像データから前記第1と直交した方向に対して縮小した第2の縮小画像データを生成する工程と、
    前記検出工程で有効な行間隔が検出されなかった場合、
    該第2の縮小画像データを、ローパスフィルタを用いて平滑化する工程と、
    該平滑化後の第2の縮小画像データを前記第1の方向に走査し、当該第1の方向に連続する非有意画素の領域の長さを行間隔として検出する工程と、
    該検出された文字列の行間隔に基づき、前記文書画像に埋め込まれた透かし情報を抽出する工程と、
    を備えることを特徴とする請求項4に記載の制御方法。
  6. 請求項4または請求項5に記載の画像処理装置の制御方法の各工程をコンピュータに実行させるためのプログラム。
JP2007146101A 2007-05-31 2007-05-31 画像処理装置およびその制御方法 Ceased JP2008301284A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007146101A JP2008301284A (ja) 2007-05-31 2007-05-31 画像処理装置およびその制御方法
US12/128,221 US8064636B2 (en) 2007-05-31 2008-05-28 Image processing apparatus and method of controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007146101A JP2008301284A (ja) 2007-05-31 2007-05-31 画像処理装置およびその制御方法

Publications (2)

Publication Number Publication Date
JP2008301284A true JP2008301284A (ja) 2008-12-11
JP2008301284A5 JP2008301284A5 (ja) 2010-02-25

Family

ID=40174351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007146101A Ceased JP2008301284A (ja) 2007-05-31 2007-05-31 画像処理装置およびその制御方法

Country Status (1)

Country Link
JP (1) JP2008301284A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011204109A (ja) * 2010-03-26 2011-10-13 Shimadzu Corp 画像処理方法およびそれを用いた放射線撮影装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011204109A (ja) * 2010-03-26 2011-10-13 Shimadzu Corp 画像処理方法およびそれを用いた放射線撮影装置

Similar Documents

Publication Publication Date Title
JP4310288B2 (ja) 画像処理装置及びその方法、プログラム並びに記憶媒体
JP5132438B2 (ja) 画像処理装置および画像処理方法
JP4555212B2 (ja) 透かし情報埋め込み装置,透かし情報埋め込み方法,およびコンピュータプログラム
JP5049920B2 (ja) 画像処理装置及び画像処理方法
JP4878209B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラム
US8064636B2 (en) Image processing apparatus and method of controlling the same
JP2006050551A (ja) 画像処理装置及びその方法、並びにプログラム及び記憶媒体
JP4380733B2 (ja) 原稿の複写履歴を管理する装置及びその方法
JP5049922B2 (ja) 画像処理装置及び画像処理方法
JP2006025129A (ja) 画像処理システム及び画像処理方法
JP2002199206A (ja) メッセージ埋込並びに抽出方法、装置および媒体
JP4140519B2 (ja) 画像処理装置、プログラムおよび記録媒体
US8059859B2 (en) Image processing apparatus and method of controlling the same
JP2008271110A (ja) 画像処理装置、その制御方法、制御プログラムおよび記憶媒体
JP5111242B2 (ja) 画像処理装置及び方法
JP2008301284A (ja) 画像処理装置およびその制御方法
JP2006237858A (ja) 画像処理装置、画像処理方法、その方法をコンピュータに実行させるプログラム、および記録媒体
JP4861251B2 (ja) 画像処理装置およびその制御方法
JP4861250B2 (ja) 画像処理装置およびその制御方法
JP4789867B2 (ja) 画像処理装置およびその制御方法
JP2005063055A (ja) 画像作成装置、画像作成プログラムおよびこのプログラムが記録された記録媒体
JP2008301283A (ja) 画像処理装置およびその制御方法
JP5517028B2 (ja) 画像処理装置
JP2010103862A (ja) 文書処理装置および文書処理方法
JP2009010937A (ja) 画像処理装置およびその制御方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100108

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110613

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20110715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110719

AA92 Notification of invalidation

Free format text: JAPANESE INTERMEDIATE CODE: A971092

Effective date: 20110802