図1は、カラー文書の色ビットマップ画像を高レベル文書に変換するスキャン−高レベル文書システム100を示す図である。システム100は、入力ソース文書110のビットマップ画像111を処理して高レベル文書190を生成する。高レベル文書190は、米国のマイクロソフト社(Microsoft Corporation)により販売されるWordTM、PowerPointTM又はExcelTM等のコンピュータアプリケーションにより解釈可能な形式、アドビシステム社(Adobe Systems Inc.)により作成された自主開発の形式であるPDF(Portable Document Format)ファイル、あるいは例えば電子データベースに格納されるレコード等の編集可能な文書である。
入力文書画像111は、種々のソースのいずれかにより提供される。システム100の1つの構成において、スキャナ120は、ハードコピー文書110をスキャンして入力文書画像111を生成する。システム100の別の構成において、入力文書画像111は、ハードディスクに格納された画像のデータベースを有するハードディスク等のデータ格納システム130から検索される。システム100の別の構成において、入力文書画像111は、カメラ又は移動電話140を使用するデジタル写真技術により生成される。上述において、入力文書画像111、すなわち色ビットマップ画像が提供される方法の例にすぎない。別の例において、演算装置上で実行可能なソフトウェアアプリケーションがPDF形式の入力文書画像111を生成するために使用されてもよい。
一般に、入力文書画像は、ページレイアウト解析の前に入力色深度を減少するために前処理される。一般的な前処理方法は、2値化及び色量子化である。1つの実現例において、色量子化モジュール150は、入力色の数を少数の色に減少するために使用される。その後、ページレイアウト解析モジュール160は、ページレイアウト解析を実行して、ページ上のテキストの線、表及び形状等の識別された高レベルオブジェクトを表すページ論理構造165を生成する。論理表現は、各オブジェクトのコンテンツの種類及びオブジェクトの幾何学的特性、並びにページを表すためにどのように全てのオブジェクトが1つに組み立てられるかを記述する。
図4Aは、いくつかの非テキストオブジェクト及び表を含む文書400の一例を示す図である。図4Bは、図4Aの文書400に対して図1のスキャン−高レベル文書システム100により出力される論理構造を示す図である。文書400において識別されたオブジェクトは、図4Bに示すように、親ノード及び子ノードを有する木に配置される。この場合、親ノードは、構成画素により定義される範囲に関して子ノードを完全に囲むオブジェクトを表す。各ノードは、物理又は論理領域の文書400内のオブジェクトを表す。論理領域は、一般に、意味規則に従って組み合わされる複数の物理領域から形成される。例えば図4Bにおいて「表」とラベル付けされたノードは、図4Aに示される表のセル450、455、460及び465を表す4つの物理領域から構成される論理領域である。文書400を表す「根」とラベル付けされた根ノードは、文書400に示されるカンバス410又は背景領域と形状435とを含む別の論理領域である。葉ノードA、B、C、Dは、識別されたテキストを表す物理領域である。各物理領域は、ビットマップ又はベクトルのリストのいずれかにより定義される幾何学的特性を有する。論理領域は直接的な幾何学的特性を有さず、その代わりに論理領域の範囲は子の和集合、すなわち表のセルの集合により定義される。
従来のスキャン−高レベル文書システムは、ページの全てのテキストコンテンツが黒色であると仮定されるか又は黒色として処理される一方で表及び図等の全ての非テキストコンテンツが色の塗りつぶしを有さないと仮定されるため、一般に、ページの論理構造が生成されると終了する。しかし、カラー出版の普及により、変換文書が元の文書を忠実に表すことができないため、そのような従来のスキャン−高レベル文書システムの仮定は不適切になった。そのため、現在のスキャン−高レベル文書システムは、識別されたオブジェクトの塗りつぶし色を処理する追加のステップを採用する。
図1に戻ると、好適な実現例において、オブジェクト塗りつぶし色解析モジュール170は、ページ論理構造165内の各オブジェクトの塗りつぶし色を推定する。関連する塗りつぶし色を推定するために、各オブジェクトの内側の色が調べられる。スキャン−高レベル文書システム100において、オブジェクトは被包囲領域により表される。その場合、各オブジェクトは対応する背景領域を割り当てられる。割り当てられた背景領域の塗りつぶし色は、オブジェクトが塗りつぶし色を有する必要があるか否かを判定するための参照背景色として使用される。印刷処理により導入された、元の色が同一であるオブジェクト間の色差が補正されるように、色統合処理が塗りつぶし色を有するオブジェクトに対して実行される。色統合処理は、少数の色のみが元の文書において使用されるという仮定で機能する。塗りつぶし色を有するオブジェクトのみに色統合処理を実行するため、薄い網掛けは背景色に統合されずに色統合処理において保持される。塗りつぶし色を有さないオブジェクトは、出力において透明な状態を維持する。これにより、オブジェクトが再利用される方法の範囲を制限することなく、全てのオブジェクトが正確に解釈される。例えば透明なオブジェクトは、後方のオブジェクトを塞ぐことなく移動可能である。各オブジェクトの塗りつぶし色情報は、ページ論理構造においてオブジェクトに追加される。スキャン−高レベル文書システムの最後の段階において、出力変換モジュール180は、解析されたオブジェクトを上述したような適切なコンピュータアプリケーションで使用するための適切な形式に変換する。入力文書画像111から生成された変換文書190は、コンピュータ上で表示又は編集されることができる。
図4Aの例において、被包囲領域は、例えば別の塗りつぶしにより異なる色になり得る領域を囲む線又はパス(境界線を有さない形状の場合)等の形状の境界により定義される。被包囲領域は、図4Bに示すように、ページ論理構造木においてノードにより記述される物理領域である。具体的には、領域450、455、460及び465の各々は、セルが描かれた境界を有する表のセルであるため、被包囲領域である。これらのセル/領域の各々は、本例では網掛けされた矩形415により形成される背景に重なる。楕円形のオブジェクト420及び430は、各自の境界線及び各オブジェクト内の色により被包囲領域を同様に定義する。オブジェクト420及び430は、背景領域として機能するカンバス410に重なる。楕円440は、対応する背景領域である三角形を有し、楕円435は、対応する背景領域である三角形425に重なる1つの部分及び対応する背景領域であるカンバス410に重なる別の部分を有する。
図22A及び図22Bは、説明した種々の構成を実行できる汎用コンピュータシステム2200を示す図である。
図22Aに示すように、コンピュータシステム2200は、コンピュータモジュール2201と、キーボード2202、マウスポインタ装置2203、スキャナ2226、カメラ2227及びマイク2280等の入力装置と、プリンタ2215、表示装置2214及びスピーカ2217を含む出力装置とを含む。外部変復調器(モデム)送受信装置2216は、接続2221を介して通信ネットワーク2220との間で通信するためにコンピュータモジュール2201により使用される。通信ネットワーク2220は、インターネット、移動通信ネットワーク又はプライベートWAN等のワイドエリアネットワーク(WAN)である。接続2221が電話線である場合、モデム2216は従来の「ダイヤルアップ式」モデムである。あるいは、接続2221が大容量(例えば、ケーブル)接続である場合、モデム2216は広帯域モデムである。無線モデムが通信ネットワーク2220への無線接続のために更に使用されてもよい。
通常、コンピュータモジュール2201は、少なくとも1つの処理装置2205とメモリ装置2206とを含む。例えばメモリ装置2206は、半導体ランダムアクセスメモリ(RAM)及び半導体読み出し専用メモリ(ROM)を有する。コンピュータモジュール2201は、ビデオディスプレイ2214、スピーカ2217及びマイク2280に結合するオーディオ/ビデオインタフェース2207と、キーボード2202、マウス2203、スキャナ2226、カメラ2227及びオプションでジョイスティック又は他のヒューマンインタフェース装置(不図示)に結合するI/Oインタフェース2213と、外部モデム2216及びプリンタ2215に対するインタフェース2208とを含む多くの入出力(I/O)インタフェースを更に含む。いくつかの実現例において、モデム2216は、例えばインタフェース2208内等のコンピュータモジュール2201内に組み込まれる。コンピュータモジュール2201は、接続2223を介してコンピュータシステム2200をローカルエリアネットワーク(LAN)として既知であるローカルエリア通信ネットワーク2222に結合させるローカルネットワークインタフェース2211を更に有する。図22Aに示すように、ローカルエリア通信ネットワーク2222は、通常はいわゆる「ファイアウォール」装置又は同様の機能性の装置を含む接続2224を介してワイドエリアネットワーク2220に更に結合してもよい。ローカルネットワークインタフェース2211は、イーサネットTM回路カード、BluetoothTM無線構成又はIEEE802.11無線構成を含んでもよいが、多くの他の種類のインタフェースがインタフェース2211に対して実現されてもよい。
I/Oインタフェース2208及び2213は、直列接続性及び並列接続性のいずれか又は双方を提供する。直列接続性は、通常、ユニバーサルシリアルバス(USB)規格に従って実現され、対応するUSBコネクタ(不図示)を有する。記憶装置2209が提供され、これは通常はハードディスクドライブ(HDD)2210を含む。フロッピディスクドライブ及び磁気テープドライブ(不図示)等の他の記憶装置が更に使用されてもよい。光ディスクドライブ2212は、通常、不揮発性データソースとして動作するために提供される。例えば光ディスク(例えば、CD−ROM、DVD、Blu−rayディスクTM)、USB−RAM、ポータブル外部ハードドライブ及びフロッピディスク等のポータブルメモリ装置が、システム2200に対する適切なデータソースとして使用されてもよい。
通常、コンピュータモジュール2201の構成要素2205〜2213は相互接続バス2204を介して、当業者には既知であるコンピュータシステム2200の従来の動作モードに結果的になる方法で通信する。例えばプロセッサ2205は、接続2218を使用してシステムバス2204に結合される。同様に、メモリ2206及び光ディスクドライブ2212は接続2219によりシステムバス2204に結合される。説明した構成が実現されるコンピュータの例は、IBM−PC及び互換機、Sun SparcstationsTM、Apple MacTM又は同様のコンピュータシステムを含む。
文書解析及び高レベル文書生成方法は、説明する図1〜図21の処理がコンピュータシステム2200内で実行可能な1つ以上のソフトウェアアプリケーションプログラム2233として実現されるコンピュータシステム2200を使用して実現される。特に、文書解析及び高レベル文書生成方法のステップは、コンピュータシステム2200内で実行されるソフトウェア2233内の命令2231(図22Bを参照)により実現される。ソフトウェア命令2231は、各々が1つ以上の特定のタスクを実行する1つ以上のコードモジュールとして形成される。ソフトウェアは、第1の部分及び対応するコードモジュールが文書解析及び高レベル文書生成方法を実行し且つ第2の部分及び対応するコードモジュールが第1の部分とユーザとの間のユーザインタフェースを管理する2つの別個の部分に更に分割されてもよい。
ソフトウェアは、例えば後述する記憶装置を含むコンピュータ可読媒体に格納される。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム2200にロードされた後にコンピュータシステム2200により実行される。そのようなソフトウェア又はコンピュータプログラムが記録されたコンピュータ可読媒体はコンピュータプログラム製品である。コンピュータシステム2200におけるコンピュータプログラム製品の使用は、文書解析及び高レベル文書の生成のための有利な装置を実現するのに好ましい。
通常、ソフトウェア2233は、HDD2210又はメモリ2206に格納される。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム2200にロードされ、コンピュータシステム2200により実行される。従って、例えばソフトウェア2233は、光ディスクドライブ2212により読み出される光学可読ディスク記憶媒体(例えば、CD−ROM)2225に格納される。そのようなソフトウェア又はコンピュータプログラムが記録されたコンピュータ可読媒体はコンピュータプログラム製品である。コンピュータシステム2200におけるコンピュータプログラム製品の使用は、文書解析及び高レベル文書の生成のための装置を実現するのに好ましい。
いくつかの例において、アプリケーションプログラム2233は、1つ以上のCD−ROM2225に埋め込まれてユーザに供給され且つ対応するドライブ2212を介して読み出されてもよく、あるいはネットワーク2220又は2222からユーザにより読み出されてもよい。更に、ソフトウェアは他のコンピュータ可読媒体からコンピュータシステム2200にロードされてもよい。コンピュータ可読記憶媒体は、実行及び/又は処理のためにコンピュータシステム2200に記録された命令及び/又はデータを提供する何らかの持続性有形記憶媒体を示す。そのような記憶媒体の例は、コンピュータモジュール2201の内部であるか又は外部であるかに関係なく、フロッピディスク、磁気テープ、CD−ROM、DVD、Blu−rayTMディスク、ハードディスクドライブ、ROM又は集積回路、USBメモリ、光磁気ディスク、あるいはPCMCIAカード等のコンピュータ可読カードを含む。コンピュータモジュール2201へのソフトウェア、アプリケーションプログラム、命令及び/又はデータの提供に同様に関係する一時的又は無形コンピュータ可読送信媒体の例は、無線又は赤外線送信チャネル、別のコンピュータ又はネットワーク装置へのネットワーク接続、並びに電子メール送信及びウェブサイト等に記録された情報を含むインターネット又はイントラネットを含む。
上述のアプリケーションプログラム2233の第2の部分及び対応するコードモジュールは、ディスプレイ2214上にレンダリングされるか又は表される1つ以上のグラフィカルユーザインタフェース(GUI)を実現するために実行される。通常はキーボード2202及びマウス2203の操作を介して、コンピュータシステム2200及びアプリケーションのユーザは、GUIに関連するアプリケーションに制御コマンド及び/又は入力を提供するために機能的に適合可能な方法でインタフェースを操作する。スピーカ2217を介して出力される音声プロンプト及びマイク2280を介して入力されるユーザの音声コマンドを利用するオーディオインタフェース等の機能的に適合可能なユーザインタフェースの他の形態が更に実現されてもよい。
図22Bは、プロセッサ2205及び「メモリ」2234の詳細な概略ブロック図である。メモリ2234は、図22Aのコンピュータモジュール2201によりアクセスされる全てのメモリモジュール(HDD2209及び半導体メモリ2206を含む)の論理集合を表す。
最初にコンピュータモジュール2201に電源が投入されると、POST(power−on self−test)プログラム2250が実行する。通常、POSTプログラム2250は、図22Aの半導体メモリ2206のROM2249に格納される。ソフトウェアを格納したROM2249等のハードウェア装置をファームウェアと呼ぶ場合がある。POSTプログラム2250は、適切な機能を保証するためにコンピュータモジュール2201内のハードウェアを調べ、通常は、プロセッサ2205とメモリ2234(2209、2206)と通常はROM2249に同様に格納される正常な動作のための基本入出力システムソフトウェア(BIOS)モジュール2251とをチェックする。POSTプログラム2250が正常に実行すると、BIOS2251は図22Aのハードディスクドライブ2210を起動する。ハードディスクドライブ2210が起動することにより、ハードディスクドライブ2210に常駐するブートストラップローダプログラム2252がプロセッサ2205を介して実行する。これにより、オペレーティングシステム2253がRAMメモリ2206にロードされ、動作を開始する。オペレーティングシステム2253は、プロセッサ管理、メモリ管理、装置管理、記憶装置管理、ソフトウェアアプリケーションインタフェース及び汎用ユーザインタフェースを含む種々の高レベル機能を実現するためにプロセッサ2205により実行可能なシステムレベルアプリケーションである。
オペレーティングシステム2253は、コンピュータモジュール2201上で実行する各処理又はアプリケーションが別の処理に割り当てられたメモリと衝突せずに実行するのに十分なメモリを有することを保証するために、メモリ2234(2209、2206)を管理する。更に、図22Aのシステム2200において使用可能な異なる種類のメモリは、各処理が効率よく実行するように適切に使用される必要がある。従って、集約メモリ2234は、メモリの特定のセグメントが割り当てられる方法を示すのではなく(特に明記しない限り)、コンピュータシステム2200によりアクセス可能なメモリの全体図及びそれが使用される方法を提供することを意図する。
図22Bに示すように、プロセッサ2205は、制御部2239、論理演算装置(ALU)2240、並びにキャッシュメモリと呼ばれる場合があるローカル又は内部メモリ2248を含む多くの機能モジュールを含む。通常、キャッシュメモリ2248は、レジスタ部内に多くの記憶レジスタ2244〜2246を含む。1つ以上の内部バス2241は、これらの機能モジュールの機能を内部接続する。通常、プロセッサ2205は、接続2218を使用してシステムバス2204を介して外部装置と通信するための1つ以上のインタフェース2242を更に有する。メモリ2234は、接続2219を使用してバス2204に結合される。
アプリケーションプログラム2233は、条件付き分岐命令及びループ命令を含む一連の命令2231を含む。プログラム2233は、プログラム2233の実行時に使用されるデータ2232を更に含む。命令2231は記憶場所2228、2229、2230に格納され、データ2232は記憶場所2235、2236、2237に格納される。命令2231及び記憶場所2228〜2230の相対サイズに依存して、特定の命令は、記憶場所2230内に示す命令により示されるように、単一の記憶場所に格納される。あるいは、命令は、記憶場所2228及び2229内に示す命令セグメントにより示されるように、各々が別個の記憶場所に格納される多くの部分に分割される。
一般に、プロセッサ2205は、そこで実行される命令セットを与えられる。プロセッサ2205は後続の入力を待ち、別の命令セットを実行することにより後続の入力に対処する。各入力は、入力装置2202、2203の1つ以上により生成されたデータ、ネットワーク2220、2222の一方を越えて外部ソースから受信されたデータ、記憶装置2206、2209の一方から検索されたデータ、あるいは対応する読取装置2212に挿入された記憶媒体2225から検索されたデータを含む多くのソースのうちの1つ以上から提供される。これらは全て図22Aに示される。いくつかの例において、命令セットを実行した結果、データが出力される。実行は、メモリ2234にデータ又は変数を格納することを更に含む。
開示する文書解析及び高レベル文書生成の構成は、対応する記憶場所2255、2256、2257においてメモリ2234に格納される入力変数2254を使用する。構成は、対応する記憶場所2262、2263、2264においてメモリ2234に格納される出力変数2261を生成する。中間変数2258は、記憶場所2259、2260、2266及び2267に格納される。
図22Bのプロセッサ2205を参照すると、レジスタ2244、2245、2246、論理演算装置(ALU)2240及び制御部2239は協働して、プログラム2233を形成する命令セット内の各命令に対する「取り出し、復号化、及び実行」サイクルを実行するために必要な一連のマイクロ命令を実行する。各「取り出し、復号化、及び実行」サイクルは以下を含む:
(a)記憶場所2228、2229、2230から命令2231を取り出すか又は読み出す、取り出し動作
(b)制御部2239が、命令が取り出されたかを判定する復号化動作
(c)制御部2239及び/又はALU2240が、命令を実行する実行動作
その後、次の命令に対する更なる「取り出し、復号化、及び実行」サイクルが実行される。同様に、制御部2239が記憶場所2232に値を格納するか又は書き込む格納サイクルが実行される。
図1〜図21の処理における各ステップ又は副処理はプログラム2233の1つ以上のセグメントに関連し、前述したプログラム2233のセグメントに対する命令セット内の各命令に対する「取り出し、復号化、及び実行」サイクルを実行するために協働するプロセッサ2205内のレジスタ部2244、2245、2246、ALU2240及び制御部2239により実行される。
あるいは、文書解析及び高レベル文書生成方法は、文書解析及び高レベル文書生成の機能又は副機能を実行する1つ以上の集積回路等の専用ハードウェアで実現されてもよい。そのような専用ハードウェアは、グラフィックプロセッサ、デジタル信号プロセッサ又は1つ以上のマイクロプロセッサ及び関連するメモリを含む。尚、図1の構成は、図22A及び図22Bのコンピュータシステム2200を使用して実現される。この場合、色量子化150、ページレイアウト解析160、ページ論理構造165の生成、オブジェクト塗りつぶし色解析170、及び出力変換180の処理は、コンピュータモジュール2201により格納され且つ実行可能であるアプリケーションプログラム2233としてソフトウェアで実行される。
図2は、スキャン−高レベル文書システム100のオブジェクト塗りつぶし色解析モジュール170において実現され且つ入力としてページ論理構造165を受信するオブジェクト塗りつぶし色解析の好適な方法200を示す。方法200は、領域シリアライズステップ210、領域繰り返しステップ220、塗りつぶし色判定ステップ230、参照背景色判定ステップ240、透明色判定ステップ250、及び色統合ステップ270を有する。
領域シリアライズステップ210において、プロセッサ2205は、メモリ2206、2210内の記憶装置からページ論理構造165を読み込む。構造165は被包囲領域の木であり、現在のレベルが全て使用されるとノードのトラバーサル(traversal)が木の階層の次の下のレベルに単に移動する幅優先方式で、被包囲領域の各々をリストに配置する。領域繰り返しステップ220は、被包囲領域のリスト内の全ての被包囲領域にわたって1つずつ繰り返す。領域ステップ220aから次の領域ステップ220bまでの被包囲領域ループの各繰り返し中に、塗りつぶし色又は透明な塗りつぶしが現在の被包囲領域に対して判定される。図7において塗りつぶし色判定ステップ230を更に説明する。参照背景色判定ステップ240において、推定ページ背景色に基づいて現在の閉領域に参照背景色が割り当てられる。1つの実現例は、推定ページ背景色としてページ上の最も主要な色を使用する。最も主要な色は領域の画素数に基づいて選択されるため、最も多くの画素を有する領域の色が主要色になる。別の実現例は、完全包囲領域の塗りつぶし色を推定ページ背景色として使用してもよい。完全包囲領域は、ページ論理構造165からのオブジェクトの関係を使用して位置を特定される。透明色判定ステップ250において、現在の被包囲領域の塗りつぶし色と領域の参照背景色とが比較される。現在の被包囲領域の塗りつぶし色と領域の参照背景色との間の色差が小さい場合、現在の被包囲領域は透明色を割り当てられる。現在の被包囲領域が塗りつぶし色又は参照背景色を有さない場合、色の比較は実行されない。全ての被包囲領域が被包囲領域ループにおいて処理されると、色統合ステップ270において、不透明な被包囲領域内の塗りつぶし色が統合される。印刷処理により生じた色の不一致を除去するために、不透明な被包囲領域内の類似する塗りつぶし色は同一にされる。
図4Aに戻り、例を使用して、参照背景色判定ステップ240及び透明色判定ステップ250を更に説明する。被包囲領域410は画素数が最も多いため、最も主要な色として選択される。1つの実現例において、被包囲領域410の塗りつぶし色は推定ページ色として使用され、推定ページ色は全ての被包囲領域の参照背景色として使用される。別の実現例において、被包囲領域の参照背景色は、被包囲領域を包囲する領域の色に従って判定される。被包囲領域440は完全包囲領域425を有し、領域425は完全包囲領域410を有する。被包囲領域435は完全包囲領域を有さない。被包囲領域415は、被包囲領域450、455、460及び465の完全包囲領域である。被包囲領域は、完全包囲領域を有さないか又は1つの完全包囲領域のみを有する。被包囲領域425の塗りつぶし色は被包囲領域440の参照背景色として使用され、被包囲領域415の塗りつぶし色は被包囲領域450、455、460及び465の参照背景色として使用される。本実現例において、色は親である被包囲領域から選択される。推定ページ色が全ての被包囲領域の参照背景色として使用される場合、被包囲領域420のみに透明色が割り当てられる。完全に囲む親領域の塗りつぶし色が参照背景色として使用される場合、被包囲領域440、420、465及び455に透明色が割り当てられる。
図7A〜図7Cは、被包囲領域の塗りつぶし色を判定する方法を更に説明する。図7Cは、ステップ230の被包囲領域の塗りつぶし色の判定を示すフローチャートである。図7A及び図7Bは、図7Cの被包囲領域分割ステップ710によりタイルに分割された被包囲領域の2つの例である。図7Aは、8個のタイルに分割された楕円形の被包囲領域であり、図7Bは、6個のタイルに分割された被包囲領域を有するテキストコンテンツを有する表のセルである。点線で示されるセル内部の矩形領域は、テキストコンテンツの排除領域である。図7Bに示すように、排除領域は、テキストコンテンツABから取得されるソース色を排除するために使用される。好適な実現例において、タイルのサイズは300dpiの入力の場合に32×32画素である。現在の被包囲領域は、ソース色を集めるための境界を単純に定義する。現在の被包囲領域のソース色は、元のスキャン画像又はスキャン−高レベル文書システム100の色量子化モジュール150により生成された色量子化画像から得られる。タイル(for−next)ループ720は、現在の被包囲領域の全てのタイルにわたって繰り返す。タイルステップ720aから次のタイルステップ720bまでのタイルループの各繰り返しにおいて、主要色判定ステップ730がソース色から主要色を見つけるために現在のタイルに対して実行される。主要色を見つけるために、色のクラスタリング又は色ヒストグラムの技術を使用できる。各タイルに対して、最大で4つの主要色で十分である。ステップ740において、現在のタイルの主要色及び各主要色の画素数が主要色リストに追加される。ステップ750において、タイルループ720により生成された主要色リストに基づいて色ヒストグラムが形成される。最後に、ステップ760において、塗りつぶし色の選択を行うために色ヒストグラムが調べられる。色ヒストグラムにおける色の偏差が小さい場合、ヒストグラムの最も高密度のビンからの色が現在の領域の塗りつぶし色として選択される。色ヒストグラムから見られる色の偏差が大きい場合、被包囲領域はグラデーション塗りつぶしを含むか、あるいは塗りつぶし色を割り当てられていない。
あるいは、被包囲領域の塗りつぶし色は、色量子化処理150により生成された双方が領域に隣接し且つ当該領域により囲まれるカラー領域の集合に基づいて推定される。そのような被包囲領域を被包囲カラー領域と呼ぶ。被包囲カラー領域の各々は、領域内の画素の何らかの平均に従うか又は関連する領域の集合にわたり平均された色の集合を有すると仮定される。被包囲カラー領域は、各クラスタが適切な色距離尺度に従って類似色を有する被包囲カラー領域のみを含むようにクラスタリングされる。適切な尺度は、以下の式で与えられる2つの色(l1,a1,b1)と(l2,a2,b2)との間のLAB色差ΔLABに関して定義される:
色差が閾値より小さい場合(例えば、ΔLAB<5)、2つの色は類似であると定義される。あるいは、閾値は被包囲カラー領域の各々の色推定の信頼度に基づいて選択される。通常、被包囲カラー領域のエッジ画素対画素数の比率が大きい場合に信頼度は低く、被包囲カラー領域のエッジ画素対画素総数の比率が低い場合に信頼度は高い。比較される2つのオブジェクトの最大エッジ率が0.1より低い場合、ΔLAB<2の場合に色は類似であると見なされる。最大エッジ率が0.25より低い場合、ΔLAB<5の場合に色は類似であると見なされる。最大エッジ率が0.25以上の場合、ΔLAB<10の場合に色は類似であると見なされる。
クラスタリングされた被包囲カラー領域の各集合の平均色は、集合の加重和として計算される。その場合、被包囲カラー領域の各々の面積は重み付けを定義し、面積の総和の統計及び領域の集合の隣接度の距離がクラスタ毎に更に累積される。この処理は、被包囲カラー領域の隣接度及びそれらの近似形状に基づいて達成される。被包囲カラー領域のクラスタが1つのみ存在する場合、色は当該クラスタの平均色に基づいて推定される。複数の色クラスタが存在し且つそのうちの1つが支配的である場合、当該クラスタは被包囲領域の色推定値を定義する(例えば、支配クラスタは、色クラスタの集合における全面積の70%及び周長の20%を構成する)。上記以外の場合、色推定値は領域に対して形成されない。
Microsoft WordTM又はPowerPointTMにおいて一般に使用されるテンプレート形状等のいくつかの幾何エンティティは、わずかに異なる色を有する複数の内部領域を用いて定義される。例えば図10は、各々が定義された塗りつぶし色を有する2つの立方体1010及び1030、湾曲した矢印1060、額縁1020及び1040、並びにリボン1050を含むオブジェクトの例を示す。しかし、内部領域のいくつかは、輝度が低くなるように変更された主要な塗りつぶし色に基づく「陰影」塗りつぶし色を有する。陰影塗りつぶし色は、異なる面を表す立方体1010、1030の領域(例えば、1012、1032)において見られる。そのような塗りつぶし色は、全ての被包囲カラー領域の集合をまとめて処理し且つ同一色の明るい影及び暗い影に関連する2つの別個の色クラスタが存在するかをチェックすることにより処理される。陰影領域の幾何学的配置がテンプレート形状の予想される幾何学的配置と一致することを確認するために、更なる幾何学的テストが更に実行されてもよいが、領域から形成されるテンプレート形状が最初に識別される必要がある。幾何学的テストは、面積等の単純な統計に基づいてもよく、あるいは種々の被包囲領域の構成の更に詳細なチェックに基づいてもよい。
図3は、スキャン−高レベル文書システム100のオブジェクト塗りつぶし色解析モジュール170において実現される際の図2とは別の実現例において使用されるオブジェクト塗りつぶし色解析の方法300を示す。この場合も方法300はソフトウェアで実現可能であり、領域シリアライズステップ210、被包囲領域繰り返しステップ220、塗りつぶし色判定ステップ230、参照背景色判定ステップ240、参照背景フラグ判定ステップ350、及び出力ステップ370を有する。
透明な塗りつぶしの判定が各オブジェクトに直接結び付けられない点を除いて、方法300は方法200と同様である。ステップ210〜240は、方法200に関連して説明したステップと同一である。方法200と異なる第1の点は、現在の被包囲領域の塗りつぶし色と領域の対応する参照背景色とを比較する参照背景フラグ判定ステップ350である。現在の被包囲領域の塗りつぶし色と参照背景色との間の色差が小さい場合、現在の被包囲領域は参照背景フラグを割り当てられ、塗りつぶし色は参照背景色に置き換えられる。現在の被包囲領域が塗りつぶし色も参照背景色も有さない場合、色の比較は実行されず、参照背景フラグは割り当てられない。全ての被包囲領域が処理されると、出力ステップ370は動的出力形式アプリケーションの簡潔な中間表現を作成する。
図8は、ページの簡潔な中間表現が図3の出力ステップ370に従って生成される方法800を示す。方法800は、領域繰り返しステップ805aから次の被包囲領域選択ステップ805bまでの領域繰り返しループ、塗りつぶし色テストステップ810、前景テストステップ820、インペイントステップ830、及び前景作成ステップ840を有する。805aから805bまでの被包囲領域(for−next)ループは、背景又は前景のいずれかにおいて表される被包囲領域の各々の表現を構成するために、全ての被包囲領域にわたって繰り返す。方法800の開始時、背景は元の文書画像全体を含むが、前景は空リストである。塗りつぶし色テストステップ810は、現在の被包囲領域が塗りつぶし色を有するかをチェックする。塗りつぶし色が存在する場合、ステップ820において、領域を前景に割り当てる必要があるかを判定するために被包囲領域がテストされる。領域が塗りつぶし色を有さない場合、領域はグラデーション又は写真である可能性が高く、領域は背景の一部として維持される。前景テストステップ820は、領域のサイズ、並びに記憶サイズに関する背景及び前景における表現のコストに基づく。領域がテンプレート形状、テキスト、表及び線等の認識されたコンテンツの種類であるか又はベクトルにより有効に表される場合、領域は前景として分類される。前景に分類された領域により塞がれる背景内の範囲は、インペイントステップ830において補完される。インペイントステップにおいて、現在の被包囲領域の視覚的存在は背景から除去される。その後、ステップ840において、被包囲領域は前景リストに追加される。全ての被包囲領域を解析後、背景画像及び前景領域のリストは種々の動的出力形式アプリケーションにすぐに使用できるページの簡潔な中間表現を形成する。
図9Aは、本発明に係る1つの実現例を使用して図4の入力例から生成された背景画像の一例を示し、図9Bは、図4の入力例から生成された対応する前景リストを示す。前景リスト内の各レコードは、前景領域が動的出力アプリケーションに対して構成される方法を定義し、各オブジェクトの塗りつぶし色、参照背景フラグ、及び幾何学的定義を詳細に示す。囲まれた前景領域の幾何学的定義は、形状の定義、ベクトルのリスト、又はビットマップである。前景リストにおける幾何学的定義は、幾何学的定義の種類及びデータの可変サイズを定義するヘッダから開始するメモリへの参照である。データのサイズは、形状の種類、被包囲領域の面積、及び輪郭の幾何学的配置に依存する。
動的出力形式アプリケーションの2つの例を図5及び図6に示す。方法500は、ステップ370により生成された簡潔な中間表現を使用する動的表示アプリケーションである。方法500はソフトウェアで実現されるのが好ましく、ページの一般的なデータ表現形式を使用する背景画像データに依存する4つの表示モードのうちの1つに切り替えられるようにする。4つの表示モードは以下である。
1.後景として背景画像を使用し、全ての前景領域に不透明な塗りつぶし色を用いる。
2.後景として背景画像を使用し、いくつかの前景領域に透明な塗りつぶし色を用いる。
3.後景としてデフォルトの背景を使用し、全ての前景領域に不透明な塗りつぶし色を用いる。
4.後景としてデフォルトの背景を使用し、いくつかの前景領域に透明な塗りつぶし色を用いる。
初期ユーザ設定選択ステップ510において、上記の4つの表示モードのうちの1つが選択され、この選択により、以下の表1に示すように、簡潔な中間表現がページを表示するために構成される方法の処理が制御される。
その後、ステップ515において、「背景画像を描画する」設定が有効にされるかがテストされる。「背景画像を描画する」設定が有効にされる場合、方法500はステップ520に進み、ページの後景として背景画像を描画することにより、図1の表現190と同様の方法でコンピュータディスプレイ2214上に背景を表示する。「背景画像を描画する」設定が有効にされてない場合、ステップ530に進み、ページの後景としてデフォルトの背景を描画し、表示する。例えば、デフォルトの背景は白色のカンバスである。方法500は、領域繰り返しステップ535aから次の被包囲領域ステップ535bまでの領域繰り返しループを開始し、「透明な塗りつぶしを有効にする」及び参照背景フラグの設定に従ってページ上に全ての前景領域を描画する。ステップ540において、表示画面2214上に再生されるように、カンバス上に現在の被包囲領域の輪郭を描画し、表示する。ステップ550において、「透明な塗りつぶしを有効にする」及び参照背景フラグの双方が設定されているかがチェックされる。これらの双方が設定されている場合、領域の更なる処理は不要であり、方法500は次の領域に進む。これらの一方又は双方が設定されていない場合、方法500はステップ555に進み、現在の被包囲領域の塗りつぶし色を用いて被包囲領域を塗りつぶし、これがディスプレイ2214上に表示される。全ての被包囲領域が処理されるまで方法500は続行する。この手法を用いると、電子文書は、背景画像を描画するための選択に基づく複数のモードのうちの1つで表示される。この場合、透明な塗りつぶしは選択により制御される。
1つの別の実現例において、ユーザ設定選択510は背景画像が出力されるか否かのみに基づく。ユーザ設定選択が背景画像を有することである場合、「透明な塗りつぶしを有効にする」はデフォルトで有効にされる。ステップ550において、参照背景フラグが設定されるか否かをチェックするだけでよい。ユーザ設定選択510が背景画像を有さないことである場合、「透明な塗りつぶしを有効にする」は無効にされる。本例において、ステップ540はステップ550を完全に迂回してステップ555に直接進む。
図6の方法600は、上述の簡潔な中間表現を使用する動的出力形式アプリケーションを説明する。方法600は、ページの一般的なデータ表現形式を使用する背景画像データに依存する4つの出力形式のうちの1つに切り替えられるようにする。4つの出力形式は以下の通りである。
1.背景画像を含み、全ての前景領域に不透明な塗りつぶし色を用いる。
2.背景画像を含み、いくつかの前景領域に透明な塗りつぶし色を用いる。
3.背景画像を含まず、全ての前景領域に不透明な塗りつぶし色を用いる。
4.背景画像を含まず、いくつかの前景領域に透明な塗りつぶし色を用いる。
ユーザ設定選択ステップ610において、上記の4つの出力形式のうちの1つが選択される。この選択により、以下の表2に示すように、ページの出力を生成するために簡潔な中間表現が構成される方法が制御される。
ステップ615において、「背景画像を出力する」設定が有効にされるかがテストされる。「背景画像を出力する」設定が有効にされる場合、方法600はステップ620に進み、背景画像を出力する。「背景画像を出力する」設定が有効にされていない場合、方法600は、領域繰り返しステップ645aから次の閉領域ステップ645bまでの領域繰り返しループを開始し、「透明な塗りつぶしを有効にする」及び参照背景フラグの設定に従って全ての前景領域を出力する。領域繰り返しループ内の最初のステップは、「透明な塗りつぶしを有効にする」及び参照背景フラグの双方が設定されるかをチェックするステップ650である。双方のフラグが設定される場合、方法600は、透明な塗りつぶしを用いて領域を出力するステップ660に進み、領域に透明色を設定して領域を出力する。一方又は双方のフラグが設定されない場合、方法600は塗りつぶし色を用いて領域を出力するステップ655に進み、領域に不透明な塗りつぶし色を設定して領域を出力する。領域繰り返しループは、全ての被包囲領域が処理されるまで続行する。
1つの別の実現例において、ユーザ設定選択610は背景画像が出力されるか否かのみに基づく。ユーザ設定選択が背景画像を有することである場合、「透明な塗りつぶしを有効にする」は有効にされる。ステップ650において、参照背景フラグが設定されるか否かをチェックするだけでよい。ユーザ設定選択610が背景画像を有さないことである場合、「透明な塗りつぶしを有効にする」は無効にされる。本実現例において、ステップ655のみが領域繰り返しステップ645aから次の被包囲領域ステップ645bまでの領域繰り返しループ内で実行される。
[利点]
上述のスキャン−高レベル文書システム100は、透明な塗りつぶしを有する被包囲領域を有する出力を提供する。透明な塗りつぶしの使用により、被包囲領域を透かして被包囲領域の背景色を見ることができる。特に、多くのセルを有する表に適用される場合、スキャン−高レベル文書システムは表のセルのいくつかに透明な塗りつぶしを適用する一方で他のセルでは塗りつぶし色を出力する。セルのいくつかが透明である表を提供できることにより、元の表が黄色っぽい再生紙又は色紙に印刷された場合に、変換された高レベル文書の出力において表を正確に解釈できる。この手法は更に、透明なセルの色が背景色の変化を反映した状態で表を1つの背景から別の背景に移動できるようにする。
[領域分割を使用するグラデーション領域のセグメント化]
以下の節において、カラー文書画像からのグラデーション領域をセグメント化する方法を説明する。方法は、グラデーション領域の色範囲の中の1つの色に類似する色を有する別の領域に接触するグラデーション領域を正確に抽出できる。これは、以下の主なステップを使用して達成される。第1に、画像は類似色の領域にセグメント化される。第2に、類似色の領域のうちのいくつかは、それらがグラデーション領域の一部である画素を含み且つグラデーション領域に隣接する別個の領域の一部である画素を更に含むという点において、曖昧であると識別される。第3に、曖昧な領域は、グラデーション領域のエッジである可能性の高いエッジを延長することにより、小さい領域に分割される。第4に、曖昧ではないと見なされる類似色の領域と曖昧な領域を分割することにより取得される領域とを使用して領域の合成が実行され、グラデーション領域が抽出される。
曖昧な領域の識別及び領域の合成は、一対の隣接する領域が各領域の最適平面によりモデル化されない範囲を不利にする2つ一組の領域合成コストを使用して実行される。領域を分割する方法は、グラデーション領域の特徴を利用する。1つの特徴は、グラデーション領域の画素を含む類似色領域が2つの類似色領域に隣接する可能性が高く、そのため、当該領域及び2つ隣接する領域が色空間において近接し且つほぼ共線である色を有することである。別の特徴は、グラデーション領域の画素及びグラデーション領域に隣接する別個の領域の画素を含む類似色領域は、各頂点の腕がほぼ共線であるような一対の優角頂点を有する境界を有する可能性が高いことである。上記の特徴及び更なる特徴、並びに領域分割におけるそれらの利用を以下に説明する。
方法は、特に、印刷文書画像のスキャンから得られ且つ文書画像の電子バージョンにおける線形の混色により生じたグラデーション領域のセグメント化に関する。
図21は、スキャン−ポータブル文書システムのアプリケーション環境2100を示す。図21の環境は図1と同様であり、一方の操作性が他方に組み込まれてもよい。ハードコピー文書2110はスキャナ2120によりスキャンされ、入力スキャン文書画像2130を形成する。多くの場合、これは単に「入力文書」と呼ばれる。入力文書のソースは、デジタル記憶装置2140であってもよい。入力文書2130は、カラー画像セグメント化モジュール2160を含む文書解析システム2150に送出される。文書解析システム2150は入力文書2130を受け付け、アーカイブ又はファイル交換のためにこれをポータブルファイル形式2170に変換する。システム2100は、図1と同様に、同一の説明が適用する図22A及び図22Bのシステムを使用して実現される。
図11は、文書画像からグラデーション領域を抽出するカラー画像セグメント化方法1100の高レベル処理ステップを概略的に示すフローチャートである。カラー画像セグメント化方法1100は、アプリケーション環境2100のモジュール2160又は他の画像処理アプリケーションにおいて実現するのに適している。
処理ステップ1110において、ノイズ低減及び中間調除去を含む画像前処理が実行される。処理ステップ1120において、各々が類似色の画素の連結領域である画像の連結成分が取得される。各連結成分に対して代表色が判定される。グラデーション領域のセグメント化に関する以下の説明において、これを単に連結成分の色と呼ぶ。画像を色の集合に量子化し、連結成分内の各画素に対して画素の色から連結成分の色までの色距離が画素の色から色の集合の他のどの色までの色距離とも少なくとも同様に短くなるように、各連結成分の代表色をこの色の集合の中の色に割り当てることにより、連結成分が取得されるのが好ましい。連結成分を形成するために使用される色値は、ノイズ低減及び中間調除去の後に取得された色値であるのが好ましい。また、ステップ1110及び1120における処理は、エッジをはさむ色差を強調することなくエッジを鮮明にすることを含むのが好ましい。これは、例えば、連結成分の形成後に画像のエッジに存在する小さい又は細い連結成分と画像のエッジの同一側に存在する隣接する連結成分とを組み合わせることにより達成される。処理される文書画像が印刷画像のスキャンである場合、ノイズ低減、中間調除去、及びエッジの鮮明化は、画像のセグメント化にて、人間の知覚と一致するほぼ一定色の領域及び文書の元の電子表現に近いものに回復するために重要である。
処理ステップ1130において、合成コストが隣接する連結成分の対の間で計算される。この処理ステップにおいて、閾値を下回る数の画素から構成される連結成分である小さい連結成分は無視される。
一対の隣接する領域A及びBを合成するための合成コストは、以下のように計算される。第1に、カラーチャネル毎に、最適平面が領域Aの色値に対して計算され、最適平面が領域Bの色値に対して計算される。第2に、領域Aの最適平面を使用して、領域A及びBの結合により形成される結合領域の色値の当てはめ誤差に対して推定値が計算され、領域Bの最適平面を使用して、同一の結合領域の色値の当てはめ誤差に対して推定値が計算される。結合領域に対する平面の当てはめ誤差に対する1つの適切な推定値は、単純に、結合領域の何らかの画素の値と平面を拡張することにより取得される表面の画素における値との間の差分の最大絶対値である。その後、合成コストは、個別の色成分の誤差の値から導出された色距離に設定される。一対の隣接する領域の合成コストは、単一の一貫した測定において領域の色の非類似性及び領域の勾配の非類似性を不利にする。
図15A、図15B、及び図15Cを使用して、この合成コストの選択の理由を説明し、曖昧な連結成分を識別した後に分割するために合成コストを使用する次の処理ステップ1140の結果を示す。図15Aは、3つの一定色領域1520、1530、及び1540に重なるグラデーション領域1510を含む文書画像の一部を示す。一定色領域1530は、グラデーション領域の一部に類似する色を有する。図15Bは、処理ステップ1120の実行の結果得られる文書画像の同一部分に対する連結成分を示す。連結成分1550及び1570、並びに連結成分1560の一部はグラデーション領域に対応する。連結成分1560は、一定色領域1530を更に含む。連結成分1560は曖昧な領域である。本例は、類似色の領域へのセグメント化を最初に実行する従来技術の方法を使用してグラデーション領域をセグメント化しようとする際の問題を示す。すなわち、図15Bの連結成分を単純に合成することによりグラデーション領域を抽出しようとすることは明らかに不可能である。グラデーション領域をセグメント化することより、連結成分1560等の曖昧な連結成分を分割することによるグラデーション領域の抽出が可能になる。図15Cは処理ステップ1140の結果を示す。曖昧な連結成分1560は、線分1575を使用して分割連結成分1580及び1590に分割されている。
次に、図15B及び図15Cを使用して、合成コストの設計を説明する。図15B及び連結成分1560と隣接する連結成分1550又は1570のいずれかとの合成に対する合成コストを考慮する。各色成分に対して、連結成分1560の最適平面は、第1に、グラデーション領域1510内の連結成分1560の一部における画素の画像値及び勾配値と一致する平面と、第2に、一定色領域1530に対応する連結成分1560の一部における画素の画像値及び勾配値と一致する平面との間の妥協により得られる。このような妥協のため、連結成分1560と隣接する連結成分1550又は1570のいずれかとから構成される結合領域の場合、少なくとも1つの色成分に対して、画像値と連結成分1560の最適平面を結合領域まで拡張することにより取得される画像値との間の差分は非常に大きい。そのため、連結成分1560と隣接する連結成分1550又は1570のいずれかとの間の合成コストは比較的高い。
それに対して、分割された連結成分1580と隣接する連結成分1550又は1570のいずれかとの合成に対する合成コストを考慮する。各色成分に対して、連結成分1580の最適平面が実際はグラデーション領域1510内に存在するため、これは連結成分1580のほぼ全ての画素の画像値及び勾配値と一致する。分割された連結成分1580と隣接する連結成分1550又は1570の一方とから構成される結合領域の場合、各色成分に対して、画像値と連結成分1580の最適平面を結合領域まで拡張することにより取得される画像値との間の差分は殆どない。更に、各色成分に対して、画像値と隣接する連結成分1550又は1570の最適平面を結合領域まで拡張することにより取得される画像値との間の差分は殆どない。そのため、分割された連結成分1580と隣接する連結成分1550又は1570のいずれかとの間の合成コストは比較的低い。
図15A、図15B、及び図15Cの画像データの構成例により示すように、合成コストの設計は、曖昧な連結成分と隣接する連結成分との間の合成コストが比較的高い傾向があり、連結成分間、すなわちグラデーション領域の分割された連結成分の間の合成コストが比較的低い傾向があることを保証する。そのため、この合成コストは、第1に、曖昧な連結成分を検出するのに有用であり、第2に、連結成分をグラデーション領域にグループ化するのに有用である。
図11を再度参照すると、処理ステップ1140において、曖昧な連結成分が検出及び分割される。処理ステップ1150において、合成コストを使用して、分割された連結成分及び曖昧ではない連結成分は共にグラデーション領域にグループ化される。
処理ステップ1160において、後続の画像処理はグループ化されたグラデーション領域を使用して実行される。この後続の画像処理は、オブジェクト形状解析、求められる基準に対するオブジェクト量子化、オブジェクト認識、重なり合うオブジェクトの解析、領域グループ化及びページレイアウト解析、並びに最後に画像符号化を含んでいてもよい。画像符号化の一部として、グラデーション領域は文書画像の電子表現において簡潔に表される。グラデーション領域の簡潔な表現は、領域の輪郭のベクトル記述及び色のグラデーションのベクトル記述を含んでいてもよい。
図12を参照して、処理ステップ1140の曖昧な連結成分を識別及び分割する方法を次に説明する。説明の便宜上、連結成分のデータはリストに格納され且つ1から開始するリスト指数cc_indexを使用して検索されると仮定する。処理ステップ1210において、リスト指数cc_indexは0に設定される。処理ステップ1220において、cc_indexはインクリメントされる。処理ステップ1230〜1280は、cc_indexの現在の値を使用して検索される「cc」と省略される現在の連結成分に対して行われる。処理ステップ1230において、現在の連結成分のサイズ、すなわち画素数が調べられる。サイズが閾値以下である場合、現在の連結成分に対する処理は終了し、ステップ1290に進む。サイズが閾値を上回る場合、現在の連結成分の処理は処理ステップ1240において続行する。
処理ステップ1240において、現在の連結成分の隣接する連結成分が調べられる。閾値を上回るサイズを有する2つの隣接する連結成分であって、それらの色及び現在の連結成分の色が2つの基準を満たす共線色セットを形成するような2つの隣接する連結成分が検索される。第1の基準は、隣接する各連結成分の色から現在の連結成分の色までの色距離が閾値を下回ることである。第2の基準は、現在の連結成分の色及び隣接する連結成分の色が現在の連結成分の色に関する共線色セットを形成することである。そのような共線色セットの存在は、双方の色ベクトルが現在の連結成分の色を始点とし、一方の色ベクトルが一方の隣接する連結成分の色に向き且つ他方の色ベクトルが他方の隣接する連結成分の色に向く2つの色ベクトルを形成することによりテストされる。ベクトルの長さで除算することにより正規化された色ベクトルのドット積が負の閾値を下回る場合、色は現在の連結成分の色に関する共線色セットを形成する。共線色セットを形成する2つの隣接する連結成分が存在する場合、ステップ1250に進む。そのような2つの隣接する連結成分が存在しない場合、現在の連結成分の処理は終了し、ステップ1290に進む。
処理ステップ1250において、現在の連結成分と隣接する連結成分との合成コストが調べられる。閾値を上回るサイズを有する全ての隣接する連結成分との合成コストが合成コストの閾値より高い場合、ステップ1260に進む。そのような合成コストが合成コストの閾値以下である場合、現在の連結成分の処理は終了し、ステップ1290に進む。
処理ステップ1260において、現在の連結成分が大きい凹部を有するかがチェックされる次の処理ステップ1270に備えて、現在の連結成分の境界が引かれる。現在の連結成分の外側境界が凸包から大きく離間する場合、現在の連結成分は大きい凹部を有すると見なされる。外側境界点が凸包から離間する距離は、凸包の対応する直線エッジから外側境界点までの距離、すなわち当該直線エッジに対する法線として測定される。現在の連結成分が内部境界及び外側境界を有する場合も、連結成分は大きい凹部を有すると見なされる。現在の連結成分が大きい凹部を有する場合、連結成分は曖昧であると見なされ、ステップ1280に進む。図13を参照して、これを以下に説明する。現在の連結成分が大きい凹部を有さない場合、現在の連結成分の処理は終了し、ステップ1290に進む。尚、処理ステップ1280における曖昧な連結成分の処理の結果、連結成分は2つの連結成分に分割される場合がある。分割された連結成分は、連結成分のリストの末尾に追加され、後に、曖昧であり分割される必要があるかが調べられる。処理ステップ1290において、cc_indexが連結成分の数と比較される。更なる連結成分が存在する場合、ステップ1220に進んでcc_indexをインクリメントし、次の連結成分を処理する。連結成分がそれ以上存在しない場合、処理ステップ1140は完了する。
曖昧な連結成分に対して実行される処理を説明するために、図16A、図16B、図16C及び図16D、並びに図17A、図17B、図17C及び図17Dを使用して、曖昧な成分の主な種類の例を説明する。図16Aは、グラデーション領域に重なる楕円形の一定色領域から構成される単純な画像の連結成分を示す。太い境界線を用いて更に示される網掛けされた連結成分は曖昧である。これは、上に重なる楕円形の一定色領域の画素と共に、下地であるグラデーション領域の類似色の画素を含む。尚、画像の境界線に接触する場所とは別に、曖昧な連結成分は境界上に4つの隅を有する。それらの隅のうちの2つは、図16Bにおいて丸で囲まれ1610とラベル付けされる。他の2つの隅は、図16Cにおいて丸で囲まれ1620とラベル付けされる。これらの4つの境界点は、曖昧な連結成分を分割するための線分を構成するのに好適な端点である。図16Cは、1610とラベル付けされた2つの隅を使用して分割した結果を示す。曖昧な連結成分の一部が斜線網掛けされて示される。曖昧な連結成分の残りの部分は依然として曖昧であり、1620とラベル付けされた他の2つの隅を含む。最後に、図16Dは、他の2つの隅1620を使用してその残りの部分を分割した結果を示す。
図17Aは、一定色領域に重なる楕円形のグラデーション領域と円形のグラデーション領域の一部とから構成される単純な画像の連結成分を示す。図17Aの網掛けされた連結成分は曖昧である。それは、下地である一定色領域の画素と共に、上に重なるグラデーション領域の類似色の画素を含む。この場合、曖昧な連結成分の境界は、連結成分に属さない楕円領域の部分を囲む1つの外側又は外部境界及び2つの内側又は内部境界である3つの区間から構成される。単連結の画像領域の例である図16Aの曖昧な連結成分と異なり、図17Aの曖昧な連結成分は多重連結の画像領域である(すなわち、パスの全ての点が領域内に留まるが連続的に1点に収縮されないループ又は閉じたパスが領域内に存在する)。図17A及び図17Bにおいて網掛けで示される多重連結の曖昧な連結成分を分割し且つ図17C及び図17Dに示すような楕円形のグラデーション領域の近似形状を復元するには、2つの線分及び二対の境界点を使用する必要がある。図17Cは、図17Bにおいて1710及び1720とラベル付けされた二対の隅を使用して分割した結果を示す。ここで、曖昧な連結成分の一部は斜線網掛けされて示され、曖昧な連結成分の残りの部分は依然として曖昧である。尚、この分割動作の各線分の場合、各端点は他方の端点が存在するのとは異なる曖昧な連結成分の内部境界上に存在する。また、2つの線分は同一の2つの内部境界上に端点を有する。図17Cに示す曖昧な連結成分の残りの部分は単連結であり、1730とラベル付けされた一対の隅を含む。図17Dは、隅1730の対を使用して残りの部分を分割した結果を示す。
一般に、曖昧な連結成分は単連結であってもよく、多重連結であってもよい。単連結である場合、曖昧な連結成分は一対の境界点を端点として有する線分を使用して分割される。多重連結である場合、曖昧な連結成分は、二対の境界点を端点として有し且つ各線分の端点が境界の異なる区間の同一の対に属する2つの線分を使用して分割される。尚、線分の端点である一対の境界点が境界の同一区間上に存在する場合、多重連結の曖昧な連結成分は単一の線分を使用して同様に分割される。隅1710の対及び隅1720の対を使用する分割を実行する前に隅1730の対を使用する分割を実行することにより、この例は図17A、図17B、図17C、及び図17Dに同様に示される。
図13を参照して、ステップ1280において曖昧な連結成分に対して実行される処理を以下に示す。最初に、処理ステップ1310において、処理ステップ1260を使用して導出された曖昧な連結成分の以前に引かれた境界は単純化される。処理ステップ1260で曖昧な連結成分の境界を引いた結果、連結成分の境界の別個の各区間に対する画素の角のリストが得られる。これらの画素の角は、連結成分の境界のエッジが直線化された表現の頂点として見なされる。処理ステップ1310の境界の単純化により、連結成分の境界を依然として近似するが小さい凹凸が除去され数の減少した頂点の集合が形成される。
この処理は、以下の式により与えられる境界の頂点を除去するコストを使用する:
(1)
この式は、2つの線分s1、s2の間の符号なしの方向転換角度β(s1,s2)及び境界の線分の全長により正規化された2つの線分の長さl(s1)、l(s2)を使用して、2つの線分の間の頂点に対する除去コストK(s1,s2)を定義する。この場合、多角形の一対の隣接する線分の間の頂点における方向転換角度は、一方の線分の頂点を通り他方の線分に向う延長線の角回転である。
直線線分の境界の頂点は、方向転換角度の方向に依存して優角又は劣角であると考えられる。頂点のいずれかの側の線分は境界の時計回りの跡に従って順序付けられると仮定すると、頂点が外側境界上に存在する場合、頂点に対する先行する線分の延長から後続の線分への方向転換角度が反時計回りの角度である場合に頂点は優角であると見なされる。頂点が内部境界上に存在する場合、方向転換角度が時計回りの角度である場合に頂点は優角であると見なされる。
ステップ1310の曖昧な連結成分の境界を単純化する処理は、最初に、除去コストが閾値を下回る劣角頂点が存在しなくなるまで、除去コストが最も小さい連結成分の劣角頂点を繰り返し除去し、次に、除去コストが閾値を下回る優角頂点が存在しなくなるまで、除去コストが最も小さい連結成分の優角頂点を繰り返し除去する。コストの低い頂点を除去するこの手法により、単純化された境界における優角頂点の位置の維持が助長される。境界を単純化する処理ステップ1310以降に曖昧な連結成分の境界の表現において残る頂点を「多角形頂点」と呼び、境界を引く処理ステップ1260の結果得られる頂点を単に「頂点」と呼ぶ。
ステップ1320以降における曖昧な連結成分の処理の目的は、第1に、連結成分を分割するのに適した1つ又は2つの線分の端点を探索することであり、第2に、そのような線分が見つかった場合に連結成分を分割することである。図18、図19A、図19B、及び図19Cを参照して、曖昧な連結成分を分割するのに適した線分の探索戦略を説明する。
図18は、優角多角形頂点1840の近傍における網掛け領域1810として描画される曖昧な連結成分の例の一部を示す。図18は、多角形頂点1820、1830、1840、1850、及び1860、並びにこれらの頂点の間の直線線分から構成される曖昧な連結成分1810の単純化された外部境界の一部を更に示す。曖昧な連結成分1810の単純化された境界の他の多角形頂点及び直線線分は不図示である。多角形頂点1840及び1850の双方は優角である。連結成分の境界の多角形表現において頂点のいずれかの側にすぐに存在する2つの直線線分は、連結成分の各多角形頂点に関連付けられる。本説明において、これらの直線線分を頂点の「腕」と呼ぶ。頂点1840と隣接する頂点1830及び1850との間の2つの腕は優角多角形頂点1840に関連付けられる。図18において、破線延長線でこれらの腕を示す。
図19A、図19B、及び図19Cは、曖昧な連結成分の一部及びそれらの多角形化された境界の一部を示す。これらの図面は、グラデーション領域の色のうちの1つに類似する一定色領域を含む領域に重なるか又はその下地になるグラデーション領域が元の画像内に存在するため生じる曖昧な領域の異なる構成を示す。図19Aは、図15Aに示すように一定色領域に隣接するグラデーション領域に対応する図15Bと同様の連結成分の構成を有する。図19A、図19B、及び図19Cの各々における曖昧な連結成分は、グラデーション領域の画素及び隣接する一定色領域の画素から構成される。これらの図面において、曖昧な連結成分の優角多角形頂点を小さい丸で示し、優角多角形頂点のいずれかの側にすぐに存在する多角形頂点を小さい正方形で示す。各図面において、曖昧な連結成分を分割するために使用するのに適した線分は、2つの優角多角形頂点に端点を有する。また、各図面において、2つの隣接する連結成分及び曖昧な連結成分が処理ステップ1240に関連して上述したように共線色セットを形成する色を有するように、各優角多角形頂点の近傍に2つの隣接する連結成分が存在する。すなわち、隣接する色成分の各々は曖昧な連結成分の色に類似する色を有し、これらの連結成分の色は、色空間において曖昧な連結成分の色を中心としてほぼ共線である。図19A、図19B、及び図19Cに示す曖昧な領域の3つの構成は、グラデーション領域が一定色領域に隣接する場合に、一定色領域のサイズ、グラデーション領域の勾配、及びグラデーション領域の類似色の部分に対する一定色領域の位置に依存して生じる。尚、共線色セットを形成する隣接する連結成分の位置は、優角多角形頂点の腕に対して異なる。
図18に戻ると、格子模様で網掛けされた2つの連結成分1870、1880は、曖昧な構成要素1810の例に隣接する。これらの隣接する連結成分は、曖昧な連結成分の優角多角形頂点1840に対して異なる位置に存在する。隣接する連結成分1880は、優角多角形頂点1840からその両腕に沿ってから延在する。そのような隣接する連結成分を優角多角形頂点における隣接する連結成分と呼ぶ。隣接する連結成分1870は、多角形頂点1830を超えて多角形頂点1820に向けて延在する。曖昧な連結成分1810の多角形頂点が時計周りの順序であると仮定するため、多角形頂点1830は多角形頂点1840の先行の多角形頂点であり、多角形頂点1820及び1830の間の境界線分を多角形頂点1840の前の「前腕」と呼ぶ。そのため、隣接する連結成分1870は、多角形頂点1840の前の前腕に位置する隣接する連結成分である。優角多角形頂点1840に位置する隣接する連結成分1880及び優角多角形頂点1840の前腕に位置する隣接する連結成分1870の双方は共に、優角多角形頂点1840が別の優角多角形頂点とマッチングされることの証拠となる共線色セットの可能な要素である。尚、多角形頂点の前腕に位置する隣接する連結成分が多角形頂点のマッチングの証拠となるためには、対応する隣接する多角形頂点における角度、すなわち図18の多角形頂点1830が劣角である必要がある。
曖昧な構成要素を分割する線分を構成するのに適した優角多角形頂点に関して、図19A、図19B、及び図19Cにおける隣接する連結成分と共に共線色セットを形成する曖昧な連結成分の構成を以下に説明する。図19Aにおいて、隣接する連結成分1910は優角多角形頂点1922の次の前腕に位置し、隣接する連結成分1930は優角多角形頂点1924に位置する。尚、図19Aにおいて、優角多角形頂点1922の次の腕は優角多角形頂点1924の次の腕とほぼ共線である。
図19Bにおいて、隣接する連結成分1940は優角多角形頂点1952に位置し、隣接する連結成分1960は優角多角形頂点1954に位置する。この図面において、優角多角形頂点1952の前の腕は優角多角形頂点1954の次の腕とほぼ共線である。
図19Cにおいて、隣接する連結成分1970は優角多角形頂点1982の次の前腕に位置し、隣接する連結成分1990は優角多角形頂点1984の前の前腕に位置する。この図面において、優角多角形頂点1982の次の腕は優角多角形頂点1984の前の腕とほぼ共線である。
これらの構成は、処理ステップ1320において曖昧な連結成分の候補分割点を見つけた後に図14の処理ステップ1420において最適なマッチングする分割点を見つけるための基礎である。
図13を参照して、曖昧な連結成分の処理の説明を再開する。境界の多角形頂点を判定する処理ステップ1310における連結成分の境界の単純化の後、ステップ1320に進み、曖昧な連結成分を分割する線分の適切な端点である可能性のある候補分割点を見つける。候補分割点は、優角多角形頂点に適切な隣接する連結成分を有するか、あるいは優角多角形頂点の前又は次の前腕に適切な隣接する連結成分を有する優角多角形頂点である。適切な隣接する連結成分は、第1に、曖昧な連結成分の色に類似する色を有し、第2に、曖昧な連結成分の色との共線色セットを別の隣接する連結成分の色と共に形成する色を有する連結成分である。
処理ステップ1330において、前のステップで見つけられた候補分割点の数が調べられる。見つけられた候補の数が1より大きく、マッチングする候補の対が存在する可能性がある場合、ステップ1340に進む。見つけられた候補の数が1以下である場合、曖昧な連結成分の処理は完了する。
処理ステップ1340において、マッチングする分割点の最適な対が見つけられるかを確認するために候補分割点が解析される。図14を参照して、この処理を説明する。処理ステップ1410において、未テストの候補分割点、すなわち優角多角形頂点が選択される。選択される未テストの候補分割点は、優角多角形頂点から延在する、もしくは、適切な隣接する連結成分が優角多角形頂点の前腕に位置する場合は優角多角形頂点の前腕に沿って多角形頂点から離れるように延在する、曖昧な連結成分とのエッジが最も長い適切な隣接する連結成分を有する点である。
処理ステップ1420において、現在の未テストの候補分割点とマッチングする最も近い候補分割点を見つけるために探索が実行される。以下の3つの条件の全てが満たされる場合、候補分割点は別の候補分割点とマッチングすると見なされる。第1の条件は、一方の分割点の片方の腕が他方の分割点の片方の腕とほぼ共線である必要があることである。一方の分割点、すなわち優角多角形頂点の腕と、別の分割点、すなわち優角多角形頂点の腕との共線性は、双方の腕の端を始点とし且つ双方の優角多角形頂点を終点する4つのベクトルを形成することによりテストされる。全てのベクトルをベクトル長により正規化して、第1の腕の端を始点とするベクトルの対のドット積及び第2の腕の端を始点とするベクトルの対のドット積の双方が閾値より大きい場合、腕は共線であると見なされる。
第2の条件は、共線の腕の構成と両立して、一方の候補分割点の隣接する連結成分及び他方の候補分割点の隣接する連結成分が優角多角形頂点間の線分を使用する曖昧な連結成分の可能な分割と一致する共線色セットを形成することである。
図20A及び図20Bを参照して、第2の条件を更に説明する。図20Aは、曖昧な連結成分2010の一対の優角多角形頂点2022及び2024に対する共線腕の1つの構成を示す。この構成において、一方の優角多角形頂点の非共線腕は、他方の優角多角形頂点の非共線腕に対して、2つの優角多角形頂点の間の線分の反対側に存在する。この構成の場合、一方の優角多角形頂点の非共線腕の前腕に位置する隣接する連結成分及び他方の優角多角形頂点に位置する隣接する連結成分は、曖昧な連結成分の可能な分割と一致する共線色セットを形成する。すなわち、図20Aにおいて、隣接する連結成分2032及び2034の対又は隣接する連結成分2036及び2038の対はいずれも、可能な分割と一致する共線色セットを形成できる。
図20Bは、曖昧な連結成分2060の一対の優角多角形頂点2072及び2074に対する共線腕の別の構成を示す。この構成において、一方の優角多角形頂点の非共線腕は、他方の優角多角形頂点の非共線腕に対して、2つの優角多角形頂点の間の線分の同一側に存在する。この構成の場合、一方の優角多角形頂点に位置する隣接する連結成分及び他方の優角多角形頂点に位置する隣接する連結成分は、曖昧な連結成分の可能な分割と一致する共線色セットを形成できる。すなわち、図20Bにおいて、隣接する連結成分2082及び2084の対は、可能な分割と一致する共線色セットを形成する。あるいは、この構成の場合、一方の優角多角形頂点の非共線腕の前腕に位置する隣接する連結成分及び他方の優角多角形頂点の前腕に位置する隣接する連結成分は、可能な分割と一致する共線色セットを形成する。すなわち、隣接する連結成分2086及び2088の対は可能な分割と一致する共線色セットを同様に形成する。
候補分割点が別の候補分割点とマッチングするための第3の条件は、2つの点の間の線分に沿う画素が曖昧な連結成分に属する必要があることである。処理ステップ1430において、上記の3つの条件を満たすマッチングする分割点が現在の候補分割点に対して見つけられる場合、ステップ1440に進む。そのような分割点が見つけられない場合、ステップ1470に進む。処理ステップ1440において、マッチングする候補分割点の対は、双方が曖昧な連結成分の外部境界又は同一の内部境界に属するかを確認するために調べられる。それらが実際に境界の同一区間、すなわちループに属する場合、処理ステップ1490において、マッチングする分割点は記録され、それによりステップ1340の処理は完了する。
マッチングする候補分割点の対の双方が曖昧な連結成分の外部境界又は同一の内部境界に属さない場合、図17A、図17B及び図17Cに関して前述したように、曖昧な連結成分を2つの分割された連結成分に分割するためにはマッチングする分割点の第2の対が必要とされ、ステップ1450に進む。処理ステップ1450において、マッチングする分割点の第2の対を求める探索が実行される。既に見つけられているマッチングする分割点の対の構成と両立して、処理ステップ1420でマッチングする分割点の対に対する共線色セットを形成した隣接する連結成分内のマッチングする分割点の各々の境界に沿って優角多角形頂点が探される。分割点の有効な第2の対であるためには、優角多角形頂点は、処理ステップ1420において前述したようにほぼ共線である第1の対の分割点のからの境界に沿って優角多角形頂点から延在する腕を有する必要がある。更に、分割点の有効な第2の対であるためには、分割点の間の線分に沿う画素は曖昧な連結成分に属する必要がある。分割点の有効な第2の対が見つけられる場合、処理ステップ1490において、マッチングする分割点の2つの対は記録され、それによりステップ1340の処理は完了する。分割点の第2の対が見つけられない場合、ステップ1470に進む。
処理ステップ1470において、現在の候補分割点はテスト済みであると印を付けられ、ステップ1480に進み、何らかの更なる未テストの候補分割点が存在するかが判定される。更なる候補分割点が存在する場合、ステップ1410に戻り、次の未テストの候補分割点を処理する。更なる候補分割点が存在しない場合、ステップ1340の処理は完了する。
ステップ1340におけるマッチングする分割点のセットの探索の後、ステップ1350に進み、マッチングする分割点のセットが見つけられたかがチェックされる。セットが見つけられていない場合、ステップ1280における当該曖昧な連結成分の処理は完了する。マッチングする分割点のセットが見つけられた場合、ステップ1360に進み、マッチングする分割点のセットを使用して曖昧な連結成分を分割する。これは2つのステップで達成される。第1に、単一の線分又は一対の線分の片側に存在し且つマッチングする分割点に対応する曖昧な連結成分の画素は、2つの新規の連結成分の一方に割り当てられる。第2に、曖昧な連結成分の残りの画素は、フラッドフィル操作を使用して、2つの新規の連結成分のうちの一方に割り当てられる。
その後、ステップ1370に進み、新規の連結成分のうちの一方を含む連結成分の対に対して合成コストが計算される。高い合成コストが新規の連結成分の対の間に設定される。これにより、処理ステップ1250でNOにならないようにすることにより、分割された連結成分は必要に応じて更に分割される。これは、分割された連結成分が処理ステップ1150において同一のグラデーション領域に合成されることを更に防止する。これにより、ステップ1280の曖昧な連結成分の処理の説明が完了する。これにより、ステップ1140の曖昧な連結成分を識別及び分割する処理の説明が更に完了する。
カラー画像をグラデーション領域にセグメント化する方法を説明した。この方法は、類似色の連結成分を形成し、連結成分の対の各々が対の他方の連結成分を含むグラデーション領域の一部であると見なされる程度を測定する隣接する連結成分の対の間の合成コストを計算し、合成コストを使用してグラデーション領域及び類似色の隣接領域の双方の画素を含む可能性の高い連結成分である曖昧な連結成分を識別し、グラデーション領域の特徴を使用して曖昧な連結成分を分割し、2つ一組の合成コストを使用して曖昧ではない連結成分及び分割された連結成分をグループ化する。
類似色の連結成分を形成して画素ではなく連結成分を主に処理することにより、画素レベルの大量の処理が回避されるため、本方法により効率よくセグメント化できる。この2つ一組の領域合成コストにより、テストの順次適用による曖昧な連結成分の効率的な識別が可能になる。これにより、効率的な連結成分の合成が更に可能になる。大量の処理が連結成分の分割に関連するが、本処理を曖昧な連結成分に限定することにより、全体的な計算は最小限にされる。