説明

画像処理装置、画像処理方法、プログラム及び記憶媒体

【課題】追記線を書き込まれた文書からも文字外接矩形を抽出することを可能にし、もって追記線を書き込まれた文書からも文字の間の空白長を変化させて用いて埋め込んだ透かし情報の抽出を可能にする。
【解決手段】文字間距離を制御することで埋め込み情報が埋め込まれた文書画像を取得する。文書画像における文字間領域内で、隣接する黒画素群で構成されている第1のオブジェクトを検出する。第1のオブジェクトの線幅を、第1のオブジェクトに対するパラメータ値として求める。第1のオブジェクトに対するパラメータ値が閾値以下の場合には、第1のオブジェクトを、白画素群で構成されている領域として見なした後、文書画像を構成する各文字部の外接矩形を求め、文書画像に対して埋め込まされた埋め込み情報を抽出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子透かしの読取精度を向上させる技術に関する。
【背景技術】
【0002】
印刷文書に情報を密かに埋め込む技術として、例えば特許文献1に示すように、文書中の文字の間の空白長を利用した電子透かし(以下、「文字間電子透かし」と呼ぶ。)がある。文字間電子透かしは、文字の間の空白長を微小に変更し、人間が気付き難いように情報を埋め込む技術である。そのために、文字認識技術の要素技術である文字外接矩形抽出技術が用いられる。ここで、文字間電子透かしという用語には、行間の空白長を変更して埋め込む電子透かしと、文字間の空白長を変更して埋め込む電子透かしの双方を含む。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−232679号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
文字間電子透かしを埋め込まれた印刷文書に手書きの追記をする際には、下線や訂正線を含む線を追記することが考えられる。線が追記された場合、何も対策を施さないと、埋め込み時の外接矩形抽出結果とは異なる結果が生じてしまい、埋め込まれた情報を確実に抽出出来ない場合がある。例えば、図5(a)に示すような追記線の一例を示すサンプルでは、文字の中を追記線が貫通している。このような場合、一文字一文字を確実に切り出して、埋め込まれた透かし情報を抽出することは困難である。
【0005】
本発明は、追記線を書き込まれた文書からも文字外接矩形を抽出することを可能にし、もって追記線を書き込まれた文書からも、文字の間の空白長を変化させることによって埋め込んだ透かし情報の抽出を容易にし、抽出率の向上に寄与することを目的とする。
【課題を解決するための手段】
【0006】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。すなわち、
埋め込み情報に応じて文字間距離を制御することでこの埋め込み情報を埋め込む埋め込み方法に従って埋め込み情報が埋め込まれた文書画像を取得する手段と、
前記文書画像中に記されている文字の並び方向を行方向、行方向と直交する方向を列方向とする場合に、前記文書画像における空白行領域を特定する手段と、
前記文書画像において前記空白行領域以外の領域を文字列領域として特定する手段と、
前記文字列領域において文字間領域を特定する手段と、
前記文書画像において文字部を構成する画素と同じ画素値を有する画素を黒画素、黒画素以外の画素を白画素とする場合に、前記文字間領域内で、隣接する黒画素群で構成されている第1のオブジェクトを検出する手段と、
前記第1のオブジェクトの線幅を、前記第1のオブジェクトに対するパラメータ値として求める手段と、
前記文書画像の行方向、列方向のそれぞれについて射影を求め、求めた射影に基づいて前記文書画像を構成する各文字部の外接矩形を求める計算手段と、
それぞれの外接矩形間の距離に基づいて、前記文書画像に対して埋め込まれた埋め込み情報を抽出する手段とを備え、
前記計算手段は、前記第1のオブジェクトに対するパラメータ値が第1の閾値以下の場合には、前記第1のオブジェクトを、白画素群で構成されている領域として見なした後、前記文書画像の行方向の射影を求め、その結果得られる密度によって行を求め、続いて各行毎に行と直行する方向の射影を求める事により前記文書画像を構成する各文字部の外接矩形を求めることを特徴とする。
【0007】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。すなわち、
画像処理装置が行う画像処理方法であって、
埋め込み情報に応じて文字間距離を制御することでこの埋め込み情報を埋め込む埋め込み方法に従って埋め込み情報が埋め込まれた文書画像を取得する工程と、
前記文書画像中に記されている文字の並び方向を行方向、行方向と直交する方向を列方向とする場合に、前記文書画像における空白行領域を特定する工程と、
前記文書画像において前記空白行領域以外の領域を文字列領域として特定する工程と、
前記文字列領域において文字間領域を特定する工程と、
前記文書画像において文字部を構成する画素と同じ画素値を有する画素を黒画素、黒画素以外の画素を白画素とする場合に、前記文字間領域内で、隣接する黒画素群で構成されている第1のオブジェクトを検出する工程と、
前記第1のオブジェクトの線幅を、前記第1のオブジェクトに対するパラメータ値として求める工程と、
前記文書画像の行方向、列方向のそれぞれについて射影を求め、求めた射影に基づいて前記文書画像を構成する各文字部の外接矩形を求める計算工程と、
それぞれの外接矩形間の距離に基づいて、前記文書画像に対して埋め込まれた埋め込み情報を抽出する工程とを備え、
前記計算工程では、前記第1のオブジェクトに対するパラメータ値が第1の閾値以下の場合には、前記第1のオブジェクトを、白画素群で構成されている領域として見なした後、前記文書画像の行方向の射影を求め、その結果得られる密度によって行を求め、続いて各行毎に行と直行する方向の射影を求めることにより前記文書画像を構成する各文字部の外接矩形を求めることを特徴とする。
【発明の効果】
【0008】
本発明によれば、追記線を書き込まれた文書からも、文字外接矩形をより確実に抽出することが可能となる。もって、追記線を書き込まれた文書からも文字の間の空白長を変化させて用いて埋め込んだ透かし情報の抽出を容易とし、その抽出率の向上に寄与することが可能となる。
【図面の簡単な説明】
【0009】
【図1】文字間電子透かし抽出装置の構成を示すブロック図である。
【図2】文字間電子透かし抽出装置の動作フローチャートである。
【図3】(a)追記線消去部0102、(b) 識別部0303の詳細を示す図である。
【図4】ステップS0202の追記線消去部の動作フローチャートである。
【図5】追記線、及び追記線消去方法を説明する図である。
【図6】追記線消去を説明する図である。
【図7】ステップS0405の行間追記線消去処理のフローチャートである。
【図8】ステップS0408の文字間追記線消去処理のフローチャートである。
【図9】文字サイズの推定、及び連結黒画素領域を説明する図である。
【図10】コンピュータの電気的構成を示すブロック図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施例を図面に基づいて説明する。ただし、発明の範囲は以下の実施例に限定されるものではない。以下の実施例において、「行間」は文字列行の間を、「文字間」は文字列行内で2つの文字の間を、「文字の間」は行間と文字間の双方を示す。また、文字の並び方向を行方向、行方向に直交する方向を列方向とする。
【0011】
[実施例1]
以下で、文字の間に追記された線を消去してから文字間電子透かしを抽出する画像処理装置について説明する。以下では、文書に対して追記された線を追記線と呼ぶ。図1は本実施例に係る画像処理装置である電子透かし抽出装置である。以下に、電子透かし抽出装置の各部について説明する。
【0012】
入力部0101は、透かし埋め込み済み画像を入力画像として取得する。追記線消去部0102は、印刷物に付された追記線のうち、文字間電子透かしの抽出に障害となる部分、即ち追記線若しくは追記線の一部分を取り除く。文字矩形抽出部0103は、文字に外接する矩形の抽出を行って、外接矩形の位置座標を出力する。電子透かし抽出部0104は、文字矩形抽出部0103から取得した位置座標から外接矩形間の空白長、すなわち文字間距離を計算し、埋め込まれた電子透かしの抽出を行う。
【0013】
この電子透かし抽出装置の処理について、図2を用いて説明する。まず、透かし埋め込み済み画像を入力する(ステップS0201)。そして、追記線若しくは追記線の障害部分の消去を行う(ステップS0202)。次に、文字矩形抽出(ステップS0203)を行い、最後に、電子透かし抽出(ステップS0204)を行う。
【0014】
図3(a)は、図1で示された追記線消去部0102の詳細を示す図である。入力部0101は、入力画像(文字間電子透かし埋め込み済み画像)を取得する。入力画像は黒画素と白画素とからなる2値画像である。本実施例では、入力画像中の文字部は黒画素により構成されるものとし、黒画素以外の画素を白画素とする。そして入力部0101は、後述する射影部0302及び連結画素領域抽出部0304に2値画像である入力画像を提供する。入力部0101は、2値画像ではない入力画像、例えばグレースケール又はフルカラーの入力画像を取得した後に、2値化を行ってから射影部0302及び連結画素領域抽出部0304に2値化後の画像を提供してもよい。
【0015】
射影部0302は、文書画像中の黒画素密度が閾値以下である低密度領域を検出する(低密度領域検出手段)。具体的には、入力画像に対して行方向(横書きの場合は水平方向であり、縦書きの場合は垂直方向である。)の射影を行い、黒画素数が閾値以上の行を高密度行、黒画素数が閾値以下の行を低密度行として判別すればよい。ここで射影とは、水平方向であれば、ピクセル単位の各ライン毎に各ライン上にある黒画素の個数を集計することである。(垂直方向であれば、ピクセル単位で各コラム毎に各コラム上にある黒画素の個数を集計することである。)そして、その結果得られる密度によって、どの行が高密度行であって、どの行が低密度行であるかを示す情報を、行情報として記憶部0308に格納する。さらに、連続する低密度行である低密度行領域の位置を示す行間低密度部分情報を、識別部0303に提供する。低密度行領域は、文書画像中の空白行領域に相当する。また射影部0302は、記憶部0308に格納された行情報を用いて、連続する高密度行を高密度行領域として取得する。高密度行領域は、文書画像中における空白行領域以外の部分であり、文字列領域に相当する。さらに、高密度行領域のそれぞれに対して、すなわち文字列の各行毎に、各行に直交する方向に射影を行い、黒画素数が閾値以上の部分を高密度列、黒画素数が閾値以下の部分を低密度列として判別する。そして、連続する低密度列である低密度文字間領域の位置を示す文字間低密度部分情報を、識別部0303に提供する。低密度部分情報とは、射影を行った結果を基に、密度が予め定めた閾値より低い部分の位置を表す情報である。つまり行間低密度部分情報は行間の空白の位置を示し、文字間低密度部分情報は文字間の空白の位置を示す。
【0016】
識別部0303は、行間低密度部分情報又は文字間低密度部分情報で示される領域内、すなわち低密度領域内の黒画素が追記線若しくは追記線の一部分であるか否かを判断する。判断には、低密度領域内の連結黒画素群により求められるパラメータ値を用いる。そして、追記線若しくは追記線の一部分を構成する画素の座標を線情報として比較部0305及び消去部0307に提供する。
【0017】
図3(b)は、識別部0303の詳細を示す図である。識別部0303は、積算値計算部1601と、線幅計算部1602と、条件判定部1603とを備える。積算値計算部1601は、行間低密度部分情報で示される低密度行領域内の連結黒画素群からなる線のおおよその長さに対応するパラメータ値を求める。また、文字間低密度部分情報で示される低密度文字間領域内の連結黒画素群からなる線のおおよその長さに対応するパラメータ値を求める。このパラメータ値を、連結黒画素群の長さと呼ぶことにする。連結黒画素群とは、縦又は横又は斜めに互いに連結した2つ以上の黒画素の集合である。ただし、斜めに隣接する、即ち角と角が隣接する2つの画素は、基本的に連結していないとみなすことも可能である。解像度が低い場合には連結していないとみなす方が望ましい場合もある。(解像度を落とした場合に、元の解像度においては、実際に連結していない場合も考えられるため。)線幅計算部1602は、連結黒画素群からなる線のおおよその幅に対応するパラメータ値を求める。このパラメータ値を、連結黒画素群の幅又は線幅と呼ぶことにする。条件判定部1603は、求めた長さと線幅が、所定の条件を満たすかどうかを判定し、条件を満たす連結黒画素群に関する線情報を出力する。線情報とは、連結黒画素群に含まれる黒画素の、入力画像中での座標を示す情報である。識別部0303の具体的な処理については後述する。
【0018】
連結画素領域抽出部0304は、文書画像内の連結黒画素群(第3のオブジェクト)の抽出を行う(連結黒画素群検出手段)。比較部0305は、識別部0303から線情報を、文字サイズ推定部0306から文字サイズ情報を、及び連結画素領域抽出部0304から連結黒画素群情報を取得する。そして、線情報が示す線が追記された線、すなわち追記線若しくは追記線の一部分であるかどうかを、連結黒画素群の大きさと、文字サイズ情報を比較して判断する。その結果、追記線若しくは追記線の一部分であると判断した場合には、識別部0303から取得した線情報を、追記線情報として消去部0307に提供する。例えば、図9(e)に示される密度が低いと判断される部分にある線は、追記線若しくは追記線の一部分であり、これらを表す情報が追記線情報である。具体的な処理については後述する。
【0019】
文字サイズ推定部0306は、連結画素領域抽出部0304から取得した連結黒画素群情報を用いて、文字サイズの推定を行う。文字サイズの推定にあたっては、予め決められた方法で区切ったブロック毎に文字サイズの推定を行う。例えば、入力画像を、縦方向と横方向でそれぞれ半分に区切って4つのブロックとし、それぞれのブロックについて文字サイズの推定を行えばよい。ブロックの数はもっと多くてもよく、ブロックセレクション技術を用いて文字オブジェクト毎に区切ってもよい。そして、ブロック毎に推定された文字サイズの情報を含む文字サイズ情報を生成し、比較部0305に提供する。
【0020】
図9(a)は、連結黒画素群の重なる文字矩形を統合する方法を示す図である。図9(b)、(c)は、文字サイズ推定で用いるヒストグラムを示す図である。文字サイズの推定方法としては次の方法がある。まず、複数の連結黒画素群の各々について、その外接矩形が重なる場合には、それらを統合する(図9(a)参照)。そして、ブロック内の統合処理を行った後の外接矩形について、それぞれの面積、幅、若しくは高さについてヒストグラムを取り(図9(b)(c)参照)、最頻値に相当する値を取ることによって、文字のサイズを推定する。最頻値に相当する値としては、正規分布のパターンとヒストグラムのグラフの畳み込み積分の結果から抽出されるピーク値を用いればよい。というのも、文字サイズに関しては最頻値が一つに定まる事が現実的でないからである。面積に関する最頻値相当の値の場合は、その平方根をとった値を推定文字サイズとし、幅に関しての場合には、その最頻値相当の値を推定文字サイズとする。推定文字サイズの単位はpixelである。
【0021】
代わりの文字サイズ推定方法として、一般的な文書から得られる文字サイズとヒストグラムのパターンとの関係を示すテーブルを使用する方法がある。この場合、ブロック内の統合処理を行った後の連結黒画素群についてのヒストグラムに最も近いテーブル中のパターンを判断し、対応する文字サイズを推定文字サイズとしてもよい。また、半角文字や全角文字が混在する場合には、ヒストグラムは双峰性を持つものと考えられる。この場合に対応して、ブロック内の統合処理を行った後の連結黒画素群についてのヒストグラムが、部分的にテーブル内のパターンを含むような場合を検出する事によっても、文字サイズは推定可能である。また、日本語の場合は、全角文字についてはほとんど正方形に近いものとみなせるが、半角文字や英数字の場合は、幅と高さの差が大きいので、幅と高さの夫々について、別個にその長さを推定し、それぞれの結果を文字のサイズとして扱ってもよい。
【0022】
消去部0307は、入力部0101から取得した入力画像について、比較部0305から取得した追記線情報が示す黒画素を白画素に変換することで修正を行う。バッファとして記憶部0308を用い、記憶部0308との間で修正途中の修正画像を入出力する。また、修正が終わった画像も、記憶部0308に格納する。
【0023】
記憶部0308は、射影部0302との間で行情報の入出力を行い、行情報を保持しておく。また、消去部0307との間で修正画像を入出力し、修正画像を保持しておく。出力部0309は、記憶部0308から全ての修正を終えた修正画像を取得し、出力画像として出力する。
【0024】
次に、ステップS0202の追記線消去処理、すなわち追記線消去部0102の処理の詳細を、図4を用いて説明する。まず、連結画素領域抽出部0304は、入力画像に対して連結黒画素群の抽出(ステップS0401)を行う。そして、文字サイズ推定部0306は、その抽出結果を基に、文字サイズの推定(ステップS0402)を行う。次に、射影部0302は、入力画像に対して水平方向の射影を行い(ステップS0403)、低密度行領域(矩形領域)を特定(ステップS0404)する。そして、識別部0303は低密度行領域内の追記線の特定を行い、消去部0307が追記線の消去を行う(ステップS0405)。ステップS0405の詳細については後述する。
【0025】
次に、射影部0302は高密度行領域のそれぞれについて、行に直交する方向の射影を行い(ステップS0406)、低密度文字間領域(矩形領域)を特定(ステップS0407)する。この2つの処理は、図3(a)の射影部0302で行われる。そして、識別部0303は低密度文字間領域内の追記線や追記線の一部分の特定を行い(追記線特定手段)、消去部0307が追記線や追記線の一部分の消去を行う(ステップS0408)。ステップS0405の詳細についても後述する。最後に出力部0309は、修正された画像を出力する(ステップS0409)。
【0026】
続けて、ステップS0405の行間追記線若しくは追記線の一部分の消去処理の詳細を、図7を用いて説明する。まずステップS1000−1において、識別部0303は行間低密度領域のうち1つを選択する。例えば、先頭行から最終行へと向かう方向に順番に選択していけばよい。ステップ1000−2においては、識別部0303はステップS1000−1において選択した行間低密度領域に対して、連結黒画素群抽出処理を行う。すなわち、空白行領域内の黒画素群(第2のオブジェクト)を検出する。抽出した連結黒画素群を行間連結黒画素群と呼ぶ。ステップS1000−2の連結黒画素群抽出処理は、ステップS0401と同様に行えばよい。しかし、ステップS0401の処理は入力画像全体に対して行うのに対して、ステップS1000−2の処理は行間低密度領域に対して行うことに注意する。識別部0303は、抽出した連結黒画素群を構成する黒画素のそれぞれの座標を、線情報として比較部0305に提供する。ステップS1000−3では、積算値計算部1601はステップS1000−2で抽出した連結黒画素群の1つを選択する。
【0027】
ステップS1001からステップS1006では、ステップS1000−3で選択した連結黒画素群の長さを求める。ステップS1001からステップS1006の処理は、長さを求める処理の一例である。ステップS1001からステップS1006までの処理は、積算値計算部1601が行う。
【0028】
まず、変数iを1で初期化し、変数Lを0で初期化する(ステップS1001)。横書きの文書の場合、iは連結黒画素群の上端を1とするy座標を示す。続けて、連結黒画素群のi行目の黒ランの1つを選択する(ステップS1002)。黒ランとは、行方向に連続する黒画素群を示す。1行に黒ランが複数存在する場合も考えられ、この場合は黒ランを1つずつ順番に、例えば左から、黒ランを選択すればよい。
【0029】
ステップS1003a〜ステップS1003eでは、黒ランに積算値というパラメータ値を割り当てる。積算値は以下のように計算する。まず、ステップS1002で選択した黒ランにi−1行目の黒ランが隣接して存在するか否かを調べる(ステップS1003a)。ステップS1003aでは、黒ラン同士が斜めに接していても隣接しているものと判断する。i−1行目の黒ランが隣接して存在する場合はステップS1003bに進み、隣接して存在しない場合はステップS1003cに進む。ステップS1003bに進んだ場合は、ステップS1002で選択した黒ランの重心と、i−1行目の隣接する黒ランの重心との間の距離に、i−1行目の隣接する黒ランの積算値を加えたものを、ステップS1002で選択した黒ランの積算値とする。ステップS1002で選択した黒ランに、i−1行目の黒ランが2つ以上接している場合には、それぞれのi−1行目の黒ランに対応する積算値を求め、合計した値をステップS1002で選択した黒ランAの積算値とする。例えば、i行目の黒ランAにi−1行目の黒ランB及びCが接している場合を考える。この場合、黒ランAの重心と黒ランBの重心との間の距離に黒ランBの積算値を足した値と、黒ランAの重心と黒ランCの重心との間の距離に黒ランCの積算値を足した値とを合計して、黒ランAの積算値とする。ステップS1003cに進んだ場合は、ステップS1002で選択した黒ランの積算値を1とする。
【0030】
次にステップS1003dで、ステップS1002で選択した黒ランにi+1行目の黒ランが隣接して存在するか否かを調べる(ステップS1003d)。ステップS1003dでも、黒ラン同士が斜めに接していても隣接しているものと判断する。i+1行目の黒ランが隣接して存在する場合には、ステップS1004に進む。i+1行目の黒ランが隣接して存在しない場合は、ステップS1003eに進み、変数LにステップS1002で選択した黒ランの積算値を加えてから、ステップS1004に進む。
【0031】
ステップS1004では、i行目にステップS1002で選択していない黒ランがまだ残っているか否かを判断する。まだ残っている場合は、ステップS1002に戻って次の黒ランを選択する。もう残っていない場合は、ステップS1005に進む。次にiをインクリメントし(ステップS1005)、iがステップS1000−3で選択した連結黒画素群中の画素行の数以下であるか否かを、判断する(ステップS1006)。iが連結黒画素群中の画素行の数以下であれば、ステップS1003に戻り、iが連結黒画素群中の画素行の数以下でなければ、ステップS1007へ進む。ステップS1007へ進む時の、変数Lの値が、連結黒画素群の長さに対応するパラメータ値である。
【0032】
線幅計算部1602はステップS1007で、ステップS1000−3で選択した連結黒画素群の幅に対応するパラメータ値(線幅)を求める。線幅は、連結黒画素群の黒画素数を、ステップS1001からステップS1006で求めた連結黒画素群の長さで割った数とする。ここで、図9(d)に示すような表が得られる。図9(d)は、線分積算値計算で使用されるテーブルを示す図であり、図5(b)に示される図を基に、各画素行の黒ランの積算値と、各画素行の黒画素数とを計算したものである。各画素行の黒画素数の合計が、線に含まれる黒画素数と一致する。尚、図5(b)は、行間の追記線消去方法を示す図である。
【0033】
ステップS1001からステップS1007までの代わりに、線幅を求める他の方法を採用することも可能である。例えばより簡易な方法として、ステップS1000−3で選択した連結黒画素群の外接矩形を用いて推定する方法がある。ステップS1000−3で選択した連結黒画素群の外接矩形の、列方向の幅を連結黒画素群の長さに対応するパラメータ値として用いる。そして、ステップS1000−3で選択した連結黒画素群の黒画素数を、外接矩形の列方向の幅で除した値を、連結黒画素群の線幅として用いてもよい。
【0034】
ステップS1008では、条件判定部1603はステップS1000−3で選択した連結黒画素群の幅と長さとが条件に合致するか否かを調べる。ここで条件とは、連結黒画素群の幅が入力画像中の文字の線幅(第2の閾値)以下である事と、連結黒画素群の長さが予め定められた値以上(第4の閾値以上)である事と、の2つとする。条件に合致する場合は、ステップS1000−3で選択した連結黒画素群は消去対象の追記線若しくは追記線の一部分であると判断する。そして、連結黒画素群を構成する黒画素の位置情報を、追記線情報として消去部0307に提供し、ステップS1009に進む。条件に合致しない場合は、ステップS1000−3で選択した連結黒画素群は消去対象ではないと判断し、ステップS1010−1に進む。
【0035】
連結黒画素群の幅が入力画像中の文字の線幅以下であることを消去の条件とすることで、入力画像中の文字の線幅以下の細さの追記線若しくは追記線の一部分のみを消去し、最初から印刷されている文字や文字の部分を誤って消去することを防止する。また連結黒画素群の長さがあまりに短い場合には、入力画像中の文字末端の細い部分であることが考えられる。ただし、図5(d)のように、低密度行領域途中で連結黒画素群が終わっているような場合にも、消去対象とできることが好ましい。このため、連結黒画素群の長さが予め定められた値以下の場合は消去対象としない。入力画像中の文字の線幅は既知の検出手段によって、又は文字サイズ推定部0306が推定した文字サイズに基づいて、決定することができる。但し、連結黒画素群を消去対象とするか否かは、国や言語・文化・商習慣等によって異なる印刷文書の慣例にも依るので、ここで示した条件のみには限定されない。少なくとも連結黒画素群の幅が閾値以下(第2の閾値以下)であることが条件であればよい。尚、図5(c)、(d)は、文字間の追記線消去方法を示す図である。
【0036】
ステップS1009で、消去部0307は、比較部0305から取得した追記線情報に示される、消去対象の黒画素の位置情報を取得する。また、入力部0101から入力画像を取得する。そして、入力画像中の、追記線情報に示される位置の黒画素の画素値を操作し、白画素に変換する。
【0037】
ステップS1010−1で識別部0303は、ステップS1000−2で抽出した連結黒画素群を全て選択したか否かを判断する。全て選択していればステップS1010−2へ進み、選択していない連結黒画素群が残っていればステップS1000−3に戻ってまだ選択していない連結黒画素群を選択する。ステップS1010−2で識別部0303は、全ての行間低密度領域を選択したか否かを判断する。全て選択していればステップS0405の処理を終了する。まだ選択していない行間低密度領域が残っていればステップS1000−1に戻って次の行間低密度領域を選択する。これらの処理によって図6(a)、(b)に示すように、行の間にある追記線若しくは追記線の一部分が消去される。図6(a)、(b)は、行間の線分消去の一例を示す図であり、(a)が処理前、(b)が処理後の一例である。
【0038】
図8は、ステップS0408の文字間追記線消去処理のフローチャートである。基本的にステップS0408の処理はステップS0405と概ね同じである。しかし、ステップS0405の処理が行間の追記線や追記線の一部分を消去することを目的としているのに対し、ステップS0408の処理は文字間にある追記線や追記線の一部分を消去しているという違いがある。
【0039】
まずステップS1100−1において、識別部0303は低密度文字間領域のうち1つを選択する。ステップ1100−2においては、識別部0303はステップS1100−1において選択した低密度文字間領域に対して、ステップS1000−2と同様に連結黒画素群抽出処理を行う。抽出した連結黒画素群を文字間連結黒画素群(第1のオブジェクト)と呼ぶ。識別部0303は、抽出した連結黒画素群を構成する黒画素のそれぞれの座標を、線情報として比較部0305に提供する。ステップS1100−3では、積算値計算部1601はステップS1100−2で抽出した連結黒画素群の1つを選択する。
【0040】
ステップS1101からステップS1106では、ステップS1100−3で選択した連結黒画素群の長さを求める。ステップS1101からステップS1106の処理は、長さを求める処理の一例である。ステップS1101からステップS1106までの処理は、積算値計算部1601が行う。
【0041】
まず、変数iを1で初期化し、変数Lを0で初期化する(ステップS1101)。横書きの文書の場合、iは連結黒画素群の左端を1とするx座標を示す。続けて、連結黒画素群のi列目の黒ランの1つを選択する(ステップS1102)。黒ランとは、列方向に連続する黒画素群を示す。1列に黒ランが複数存在する場合も考えられ、この場合は黒ランを1つずつ順番に、例えば上から、黒ランを選択すればよい。
【0042】
ステップS1103a〜ステップS1103eでは、黒ランに積算値というパラメータ値を割り当てる。積算値は以下のように計算する。まず、ステップS1102で選択した黒ランにi−1列目の黒ランが隣接して存在するか否かを調べる(ステップS1103a)。ステップS1103aでは、黒ラン同士が斜めに接していても隣接しているものと判断する。i−1列目の黒ランが隣接して存在する場合はステップS1103bに進み、隣接して存在しない場合はステップS1103cに進む。ステップS1103bに進んだ場合は、ステップS1102で選択した黒ランの重心と、i−1列目の隣接する黒ランの重心との間の距離に、i−1列目の隣接する黒ランの積算値を加えたものを、ステップS1102で選択した黒ランの積算値とする。ステップS1102で選択した黒ランに、i−1列目の黒ランが2つ以上接している場合には、それぞれのi−1列目の黒ランに対応する積算値を求め、合計した値をステップS1102で選択した黒ランAの積算値とする。例えば、i列目の黒ランAにi−1列目の黒ランB及びCが接している場合を考える。この場合、黒ランAの重心と黒ランBの重心との間の距離に黒ランBの積算値を足した値と、黒ランAの重心と黒ランCの重心との間の距離に黒ランCの積算値を足した値とを合計して、黒ランAの積算値とする。ステップS1103cに進んだ場合は、ステップS1102で選択した黒ランの積算値を1とする。
【0043】
次にステップS1103dで、ステップS1102で選択した黒ランにi+1列目の黒ランが隣接して存在するか否かを調べる(ステップS1103d)。ステップS1103dでも、黒ラン同士が斜めに接していても隣接しているものと判断する。i+1列目の黒ランが隣接して存在する場合には、ステップS1104に進む。i+1列目の黒ランが隣接して存在しない場合は、ステップS1103eに進み、変数LにステップS1102で選択した黒ランの積算値を加えてから、ステップS1104に進む。
【0044】
ステップS1104では、i列目にステップS1102で選択していない黒ランがまだ残っているか否かを判断する。まだ残っている場合は、ステップS1102に戻って次の黒ランを選択する。もう残っていない場合は、ステップS1105に進む。次にiをインクリメントし(ステップS1105)、iがステップS1100−3で選択した連結黒画素群中の画素列の数以下であるか否かを、判断する(ステップS1106)。iが連結黒画素群中の画素列の数以下であれば、ステップS1103に戻り、iが連結黒画素群中の画素列の数以下でなければ、ステップS1107へ進む。ステップS1107へ進む時の、変数Lの値が、連結黒画素群の長さに対応するパラメータ値を示す。
【0045】
線幅計算部1602はステップS1107で、ステップS1100−3で選択した連結黒画素群の幅に対応するパラメータ値(線幅)を求める。線幅は、連結黒画素群の黒画素数を、ステップS1101からステップS1106で求めた連結黒画素群の長さで割った数とする。
【0046】
低密度行領域における場合と同様、ステップS1101からステップS1107までの代わりに、線幅を求める他の方法を採用することも可能である。例えば、ステップS1100−3で選択した連結黒画素群の外接矩形を用いて推定する方法がある。ステップS1100−3で選択した連結黒画素群の外接矩形の、行方向の幅を連結黒画素群の長さに対応するパラメータ値として用いる。そして、ステップS1100−3で選択した連結黒画素群の黒画素数を、外接矩形の行方向の幅で除した値を、連結黒画素群の幅に対応するパラメータ値としてもよい。
【0047】
ステップS1108では、条件判定部1603はステップS1100−3で選択した連結黒画素群の幅と長さとが条件に合致するか否かを調べる。ここで条件とは、連結黒画素群の幅が入力画像中の文字の線幅(第1の閾値)以下である事と、連結黒画素群の長さが予め定められた値以上(第3の閾値以上)である事と、の2つとする。条件に合致する場合は、条件判定部1603は、ステップS1100−3で選択した連結黒画素群を、消去対象の追記線候補とする(ステップS1109)。条件に合致しない場合は、ステップS1100−3で選択した連結黒画素群は消去対象ではないと判断する。ただし、前述の通り条件はこれには限定されず、少なくとも連結黒画素群の幅が閾値以下(第1の閾値以下)であることが条件であればよい。
【0048】
次に、その追記線若しくは追記線の一部分の候補を包含する連結黒画素群の幅が、領域毎に異なる、推定文字サイズに基づく計算値以上か否かを、条件判定部1603は判断する(ステップS1110)。この時、追記線若しくは追記線の一部分の候補を包含する連結黒画素群とは、ステップS1100−2で抽出した連結黒画素群のことではなく、ステップS0401で検出した連結黒画素群のことである。
【0049】
図9(e)は、連結黒画素領域の幅を示す図である。図9(e)の場合、「密度が低いと判断される部分」の追記線若しくは追記線の一部分の候補を包含する連結黒画素群とは、図9(e)の黒画素全体となる。「密度が低いと判断される部分」に存在する黒画素だけではないことに注意する。密度が低いと判断される部分(文字間)にある線は、ただ単に密度と線の幅のみから判断すると、文字の部分である可能性を否定しきれない。しかし、ステップS1110で追記線若しくは追記線の一部分の候補が属する連結黒画素群の幅を調べる事により、文字の部分である可能性を除外することが出来る。例えば、追記線によって文字が連結されている場合には、連結黒画素群が大きくなり、追記線若しくは追記線の一部分の候補が属する連結黒画素群の幅は推定文字サイズよりも大きくなる。それに対して、追記線を付されていない文字の部分が追記線若しくは追記線の一部分の候補となっている場合、追記線若しくは追記線の一部分の候補が属する連結黒画素群は、文字1文字程度の幅を持ち、およそ推定文字サイズ程度と考えられる。よって、追記線若しくは追記線の一部分の候補を包含する連結黒画素群の幅と、推定文字サイズに基づく計算値とを比較することで、追記線若しくは追記線の一部分の候補を包含する連結黒画素群が追記線を付されていない文字の部分かどうか、を確認できる。
【0050】
具体的には、文字サイズ推定部0306が推定した推定文字サイズに、予め定められた値を乗算して得た値を計算値とする。例えば、推定文字サイズが60pixelで、予め定められた値が2であれば、60×2=120ピクセルが、推定文字サイズに基づく計算値となる。推定文字サイズはブロック毎に計算されるから、当然計算値もブロック毎に違う値であってよい。
【0051】
ステップS1110で、追記線若しくは追記線の一部分の候補が属する連結黒画素群の幅が計算値以上であれば、条件判定部1603は追記線若しくは追記線の一部分の候補は追記線若しくは追記線の一部分であると判断する。そして、追記線若しくは追記線の一部分の候補の線情報を追記線若しくは追記線の一部分の情報として消去部0307に提供する。続けてステップS1111で消去部0307は、比較部0305から取得した追記線情報に示される、消去対象の黒画素の位置情報を取得する。また、入力部0101から入力画像を取得する。そして、入力画像中の、追記線情報に示される位置の黒画素の画素値を操作し、白画素に変換し、ステップS1112−1に進む。また、ステップS1110で、追記線候補が属する連結黒画素群の幅が計算値以上ではなければ、追記線候補は追記線若しくは追記線の一部分ではないと判断し、ステップS1112−1に進む。
【0052】
ステップS1112−1で識別部0303は、ステップS1100−2で抽出した連結黒画素群を全て選択したか否かを判断する。全て選択していればステップS1112−2へ進み、選択していない連結黒画素群が残っていればステップS1100−3に戻ってまだ選択していない連結黒画素群を選択する。ステップS1112−2で識別部0303は、全ての低密度文字間領域を選択したか否かを判断する。全て選択していればステップS0408の処理を終了する。まだ選択していない低密度文字間領域が残っていればステップS1100−1に戻って次の低密度文字間領域を選択する。これらの処理によって、図6(c)、(d)に示すように、文字の間の追記線や追記線の一部分が消去される。図6(c)、(d)は、文字間の線分消去の一例を示す図であり、図6(c)が処理前、図6(d)が処理後の一例である。
【0053】
図6(e)は、文字間の線分消去と連結画素領域との関係を示す図である。図6(e)を用いて、垂直方向の射影により得られる低密度部分にある線と、その線が属する連結黒画素群の関係について一例を示す。この図で示される連結黒画素領域の部分でもある追記線や追記線の一部分が消去され、文字間の情報が適切に抽出されるようになる。
【0054】
以上の処理によって、文字間電子透かし検出性能を向上する前処理である、追記線や追記線の一部分の消去が可能となる。本実施例の方法は、特に文字間又は行間に2本以上の追記線や追記線の一部分が、交わらずに引かれている場合に有効である。射影を行った結果のみから判断すると、追記線は文字の部分と判断される可能性が高くなるが、線の太さを判別することにより、より正確に文字と追記線とを区別することができる。低密度領域を検出する際の閾値は、追記線や追記線の一部分を消去した後に文字矩形を抽出する際の閾値よりも高くすることが好ましい。閾値を高くすることで、文字か追記線、若しくはその部分か判断が難しい部分を低密度領域として太さの判別対象にできる。追記線消去処理によって判断の難しい追記線を消去することができるので、文字矩形を抽出する際に閾値を低くすると、追記線を除外しつつ判断の難しい文字を認識することができる。誤り訂正符号を用いて電子透かしを埋め込む事は、よく行われる事であるが、本実施例の処理は、この誤り訂正符号の技術を用いる事と相反するものではなく、むしろ相互補完的に機能するものである。
【0055】
本実施例では、文字の間の空白部分に付された追記線を消去することにより、文字間電子透かしの読取精度を向上させる方法について述べた。しかし、電子透かしを読み取るためには文字間に付された追記線若しくは追記線の一部分、のみを消去すれば十分であることが多い。この場合、行間の処理に関するステップS0404及びステップS0405の処理を省略しても、文字間の追記線若しくは追記線の一部分を消去して文字間電子透かしの読取精度を向上させることが可能である。
【0056】
また、追記線候補を含む連結黒画素群の幅が一定以上であるかどうかを判断するステップS1110の処理はあることが好ましいが、文字の線幅よりも十分に細い追記線を消去することが目的であれば、省略することも可能である。この場合、ステップS1109及びステップS1110の処理を省略することができる。また、連結画素領域抽出部0304及び文字サイズ推定部0306を省くこともできる。反対に、本実施例では追記線候補を含む連結黒画素群の幅が一定以上であるかどうかを判断する処理は文字間の追記線候補についてのみ行ったが、行間の追記線若しくは追記線の一部分を検出する際に同様に行ってもよい。
【0057】
本実施例では、入力画像から、文字の間の空白部分に付された追記線若しくは追記線の一部分を消去した画像を出力し、この画像から電子透かしを読み取る装置について述べた。しかし、文字間電子透かしの読取精度を向上させるという目的に照らせば、必ずしも追記線を消去した画像を出力する必要はない。すなわち、追記線若しくは追記線の一部分であると判断された画素の座標を記憶しておく。そして、文字の間の空白長を検出する際、すなわち外接矩形を検出する際に、追記線若しくは追記線の一部分であると判断された画素群を白画素群であると見なす構成をとれば十分である。この構成においては、出力部0309は必要なく、比較部0305が提供する追記線情報を記憶部0308に格納し、ステップS0203の文字矩形抽出処理において記憶部0308に格納された追記線情報を利用すればよい。
【0058】
また、本実施例では、テキスト領域のみからなる画像が入力されることが前提となっているが、前段として、画像や、表、グラフ、テキストといった属性を持つ領域に分割する、領域分割の手段を用いることもできる。領域分割の手段を用いた後に、本実施例で示される構成のシステムに対して、テキスト領域のみを画像として入力する事も、当然のことながら考える事が出来る。また、行間のほぼ水平な線は行の高さを見て除去可能であり、文字間のほぼ垂直な線は、幅を他の文字幅との比較で区別出来る。従って、上述の実施例中において除去する線の対象は、必要ならば、連結要素の外接矩形のパラメータ(幅や高さ)を用いて除去することも可能であることはいうまでもない。
【0059】
なお、上述した実施例においては、文字の線幅の計算方法として以下のような計算手順(1.〜7.)が挙げられる。下にいくほど厳密で、計算量の増大が見込まれる。どの手順を用いるかは、適用対象と実際に運用されるシステムの非機能要件(抽出速度等)に依る。
1.文字の外接矩形内をラスタースキャン(若しくは、その90度単位での回転)して、黒ランを求め、そのヒストグラムを求めて、頻度の高い黒ランの長さを、文字幅とする。
2.文字サイズ及び文字密度を計算し、テーブルから概算値を計算する。(文字サイズ推定部0306とも関連しその結果を利用してもよい。)
3.文字認識、文字サイズ及び文字密度を計算し、テーブルから概算値を計算する。
4.細線化の後、画素数を数え上げ、(細線化前文字画素数/画素数)を計算する。
5.細線化の後、画素間距離を計測し、(細線化前文字画素数/画素間距離合計)を計算する。
6.細線化の後、2次Spline曲線化し、距離計算をして、(細線化前文字画素数又は文字黒い領域面積/文字骨格長さ)を計算する。
7.細線化の後、3次Spline曲線化し、距離計算をして、(細線化前文字画素数又は文字黒い領域面積/文字骨格長さ)を計算する。
8.文字のベクトル化の後、文字のアウトラインの長さを計算(結果をaとする)し、文字の面積を計算(結果をbとする)し、(b/a)×2を文字の線幅として計算する。
【0060】
・2.及び3.について
ここで用いるテーブルとは、文字の密度、サイズ、若しくは文字認識結果から、対応する文字線幅を決定するための表である。このテーブルは予め人間が作成してもよいし、機械学習の方法を用いて統計的に作成してもよい。また、このテーブルの部分は、機械学習によって若しくは人間によって、作成された関数であってもよい。また、文字線幅は、文字を幅のない線として表した文字の骨格の長さで、文字の面積を割ったものとする。また、テーブルの作成にあたっては、後述する文字線幅の計算の利用も考えられる。こうした方法は、予め使われる文字フォントが既知であり、限定される場合、特に高速化と結果の信頼性の両立が要求される際に、有効である。
【0061】
また、追記線若しくは追記線の一部分の線幅計算方法は、上述した方法の替わりに下記のような手順(1.〜5.)を用いる事も考えられる。(上の方が概算で、下にいくほど厳密だが計算量が多くなる。)これについても、実際にどの手順を用いるかは、適用対象と、実際に運用されるシステムの非機能要件(抽出速度等)による。
1.細線化の後、画素数を数え上げ、(細線化前文字画素数/画素数)を計算する。
2.細線化の後、画素間距離を計測し、 (細線化前文字画素数/画素間距離合計)を計算する。
3.細線化の後、2次Spline曲線化し、線の長さを計算して、(細線化前文字画素数or候補線の黒い領域面積/細線化した線の長さ)を計算する。
4.細線化の後、3次Spline曲線化し、線の長さを計算して、(細線化前文字画素数 or 候補線の黒い領域面積/細線化した線の長さ)を計算する。
5.ベクトル化の後、アウトラインの長さを計算(結果をaとする)し、線の面積を計算(結果をbとする)して、(b/a)×2を線幅として計算する。
【0062】
以上で用いられる細線化の処理は、「画像処理の基本技法」<技法入門編>長谷川、輿水、中山、横井共著(技術評論社)のp.68〜に記載されている、横井の8連結細線化アルゴリズムを用いてもよい。また、「C言語による画像処理入門」(昭晃堂)に書かれているHildithの細線化法等を用いてもよい。また、何か他の細線化のための処理でもよい。
【0063】
[実施例2]
実施例1では、図1に示した各部はハードウェアで実装しているものとしているが、記憶部0308以外の各部をソフトウェアで実装してもよい。この場合、係るソフトウェアは、コンピュータが有する各種記憶装置内に保持されており、CPUがこのソフトウェアを実行することで、コンピュータは、図1に示した各部の機能を実現することになる。また、記憶部0308は、主記憶装置又はハードディスク等の記憶装置を用いて実現することができる。
【0064】
図10は、本実施形態適用可能なコンピュータのハードウェア構成を示すブロック図である。コンピュータ1801は、一般に普及しているパーソナルコンピュータ等の汎用の情報処理装置である。コンピュータ1801の内部では、バス1807により後述する各ブロックが接続され、種々のデータの受け渡しが可能である。
【0065】
なお、本コンピュータ1801を適用する装置によっては、図10に示した全ての構成要素は必須なものではないので、適宜省略してもよい。また、同種の機能を有するハードウェアで置換してもよいし、複数のコンピュータ機体によってコンピュータ1801が構成されていてもよい。
図10において1802はCPUで、主記憶装置1803にロードされているプログラムやデータを用いて本コンピュータ1801全体の制御を行うとともに、本コンピュータ1801を適用した画像処理装置が行う上述の各処理を実行する。
【0066】
1803はRAMに代表される主記憶装置である。主記憶装置1803は、各種記憶装置から読み込んだプログラムやデータを一時的に記憶する為のエリアを有する。記憶装置には、HDD(ハードディスクドライブ)1804、CDドライブ1809、DVDドライブ1810、FDD(フロッピー(登録商標)ディスクドライブ)1811等を含む。さらに主記憶装置1803は、スキャナ1817から、I/F(インターフェース)215を介して取得した画像のデータを一時的に記憶するためのエリアも有する。さらに主記憶装置1803は、CPU1802が各種の処理を実行する際に用いるワークエリアも有する。以上を含め、主記憶装置1803は、各種の情報記録場所を適宜提供することができる。
【0067】
1804はHDDで、ここにはOS(オペレーティングシステム)や、各種の画像(文書画像を含む)を保持している。さらにHDD1804には、図10が示す各部の機能をCPU1802に制御させるための、あるいはコンピュータ1801を適用した装置が行う上述の各処理をCPU1802に実行させるためのプログラムやデータも保存されている。HDD1804が保持しているプログラムやデータは、CPU1802による制御に従って主記憶装置1803に適宜ロードされ、CPU1802による処理対象となる。なお、主記憶装置1803に記憶するものとして説明した情報の幾つかについてはHDD1804に保存するようにしてもよい。
【0068】
1805はビデオコントローラで、主記憶装置1803やHDD1804等から受けた画像データや文字データといった表示データを信号としてモニタ1806に送出するものである。モニタ1806はCRTや液晶画面等により構成されており、ビデオコントローラ1805から受けた信号に基づいた画像や文字等を表示する。1808は、コンピュータ1801にプリンタ1816を接続するためのI/Fである。コンピュータ1801はこのI/F1808を介してプリンタ1816に対して印刷データを送信し、プリンタ1816が送信するプリンタ1816の状態情報を受信できる。
【0069】
1809はCDドライブで、記憶媒体としてのCDに記録されているプログラムやデータを読み出し、読み出したプログラムやデータをHDD1804や主記憶装置1803等に送出する。1810はDVDドライブで、記憶媒体としてのDVDに記録されているプログラムやデータを読み出し、読み出したプログラムやデータをHDD1804や主記憶装置1803等に送出する。1811はFDDで、記憶媒体としてのフロッピー(登録商標)ディスクに記録されているプログラムやデータを読み出し、読み出したプログラムやデータをHDD1804や主記憶装置1803等に送出する。
【0070】
1813、1814はそれぞれ、操作入力装置としてのマウス、キーボードである。本コンピュータ1801のユーザは、このマウス1813やキーボード1814を操作することで、各種の指示をCPU1802に対して入力することができる。1812は、キーボード1814、マウス1813をバスに接続するためのI/Fである。マウス1813やキーボード1814からユーザが入力した操作指示は信号としてI/F1812を介してCPU1802に送出される。
【0071】
1815は、原稿やフィルム等を読み取ることで画像データを生成するスキャナ1817を本コンピュータ1801に接続するためのものである。スキャナ1817が生成した画像データはこのI/F1815を介してHDD1804や主記憶装置1803等に送出される。
【0072】
1818は、他のコンピュータ等の電子機器との情報をやりとりするためのI/Fである。CPU1802の指示によりネットワーク1819から取得された画像データを含む情報は、このI/F1818を介してHDD1804や主記憶装置1803等に送出される。
【0073】
[その他の実施形態]
また、本発明の目的は、以下のようにすることによっても達成されることは言うまでもない。即ち、前述した実施形態の機能を実現するコンピュータプログラムのコードを記録した記録媒体(又は記憶媒体)を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(又はCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード、及びそれを記録した記録媒体は本発明を構成することになる。
【0074】
また、コンピュータが読み出したコンピュータプログラムのコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)等が実際の処理の一部又は全部を行う場合がある。その処理によって前述した実施形態の機能が実現される場合も本発明に含まれることは言うまでもない。
【0075】
さらに、記録媒体から読み出されたコンピュータプログラムのコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も本発明に含まれることも言うまでもない。

【特許請求の範囲】
【請求項1】
埋め込み情報に応じて文字間距離を制御することでこの埋め込み情報を埋め込む埋め込み方法に従って埋め込み情報が埋め込まれた文書画像を取得する手段と、
前記文書画像中に記されている文字の並び方向を行方向、行方向と直交する方向を列方向とする場合に、前記文書画像における空白行領域を特定する手段と、
前記文書画像において前記空白行領域以外の領域を文字列領域として特定する手段と、 前記文字列領域において文字間領域を特定する手段と、
前記文書画像において文字部を構成する画素と同じ画素値を有する画素を黒画素、黒画素以外の画素を白画素とする場合に、前記文字間領域内で、隣接する黒画素群で構成されている第1のオブジェクトを検出する手段と、
前記第1のオブジェクトの線幅を、前記第1のオブジェクトに対するパラメータ値として求める手段と、
前記文書画像の行方向、列方向のそれぞれについて射影を求め、求めた射影に基づいて前記文書画像を構成する各文字部の外接矩形を求める計算手段と、
それぞれの外接矩形間の距離に基づいて、前記文書画像に対して埋め込まれた埋め込み情報を抽出する手段とを備え、
前記計算手段は、前記第1のオブジェクトに対するパラメータ値が第1の閾値以下の場合には、前記第1のオブジェクトを、白画素群で構成されている領域として見なした後、前記文書画像の行方向の射影を求め、その結果得られる密度によって行を求め、続いて各行毎に行と直交する方向の射影を求める事により前記文書画像を構成する各文字部の外接矩形を求めることを特徴とする画像処理装置。
【請求項2】
前記空白行領域内で、隣接する黒画素群で構成されている第2のオブジェクトを検出する手段をさらに備え、
前記第2のオブジェクトの線幅を、前記第2のオブジェクトに対するパラメータ値として求める手段と、
前記計算手段は、前記第1のオブジェクトに対するパラメータ値が第1の閾値以下の場合には、前記第1のオブジェクトを、白画素群で構成されている領域として見なし、前記第2のオブジェクトに対するパラメータ値が第2の閾値以下の場合には、前記第2のオブジェクトを、白画素群で構成されている領域として見なした後、前記文書画像の行方向の射影を求め、その結果得られる密度によって行を求め、続いて各行毎に行と直交する方向の射影を求める事により前記文書画像を構成する各文字部の外接矩形を求めることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記計算手段は、前記第1のオブジェクトからなる線の長さが第3の閾値以上の場合に、前記第1のオブジェクトを白画素群で構成されている領域として見なし、前記第2のオブジェクトからなる線の長さが第4の閾値以上の場合に、前記第2のオブジェクトを白画素群で構成されている領域として見なすことを特徴とする、請求項2に記載の画像処理装置。
【請求項4】
前記文書画像内で、隣接する黒画素群で構成されている第3のオブジェクトを検出する手段をさらに備え、
前記計算手段は、前記第1のオブジェクトを包含する前記第3のオブジェクトの大きさが閾値以下である場合に、前記第1のオブジェクトを白画素群で構成されている領域として見なすことを特徴とする請求項2又は3の何れか1項に記載の画像処理装置。
【請求項5】
前記第1のオブジェクトを構成する黒画素の数を、前記第1のオブジェクトの行方向の長さで除した値を、前記第1のオブジェクトの線幅として求め、
前記第2のオブジェクトを構成する黒画素の数を、前記第2のオブジェクトの列方向の長さで除した値を、前記第2のオブジェクトの線幅として求めることを特徴とする、請求項2乃至4の何れか1項に記載の画像処理装置。
【請求項6】
前記第1の閾値及び前記第2の閾値は、前記文書画像中の文字の線幅に基づいて定められることを特徴とする、請求項2乃至5の何れか1項に記載の画像処理装置。
【請求項7】
画像処理装置が行う画像処理方法であって、
埋め込み情報に応じて文字間距離を制御することでこの埋め込み情報を埋め込む埋め込み方法に従って埋め込み情報が埋め込まれた文書画像を取得する工程と、
前記文書画像中に記されている文字の並び方向を行方向、行方向と直交する方向を列方向とする場合に、前記文書画像における空白行領域を特定する工程と、
前記文書画像において前記空白行領域以外の領域を文字列領域として特定する工程と、
前記文字列領域において文字間領域を特定する工程と、
前記文書画像において文字部を構成する画素と同じ画素値を有する画素を黒画素、黒画素以外の画素を白画素とする場合に、前記文字間領域内で、隣接する黒画素群で構成されている第1のオブジェクトを検出する工程と、
前記第1のオブジェクトの線幅を、前記第1のオブジェクトに対するパラメータ値として求める工程と、
前記文書画像の行方向、列方向のそれぞれについて射影を求め、求めた射影に基づいて前記文書画像を構成する各文字部の外接矩形を求める計算工程と、
それぞれの外接矩形間の距離に基づいて、前記文書画像に対して埋め込まれた埋め込み情報を抽出する工程とを備え、
前記計算工程では、前記第1のオブジェクトに対するパラメータ値が第1の閾値以下の場合には、前記第1のオブジェクトを、白画素群で構成されている領域として見なした後、前記文書画像の行方向の射影を求め、その結果得られる密度によって行を求め、続いて各行毎に行と直交する方向の射影を求める事により前記文書画像を構成する各文字部の外接矩形を求めることを特徴とする画像処理方法。
【請求項8】
コンピュータを、請求項1乃至6の何れか1項に記載の画像処理装置が有する各手段として機能させるためのコンピュータプログラム。
【請求項9】
請求項8に記載のコンピュータプログラムを格納した、コンピュータが読み取り可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2010−258627(P2010−258627A)
【公開日】平成22年11月11日(2010.11.11)
【国際特許分類】
【出願番号】特願2009−104547(P2009−104547)
【出願日】平成21年4月22日(2009.4.22)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】