説明

編集可能な文書生成のための形状のパラメータ化

【課題】入力形状から制御点によりパラメータ化された出力形状を形成する方法を提供する。
【解決手段】複数のセグメントにより形成された入力形状が受信される(610)。形状は、複数の事前定義されたテンプレート形状のうちの1つとして分類される(620)。次に方法は、入力形状と分類されたテンプレート形状との類似度(630)に基づいて入力形状に対して代表的な形式を判定する(630〜670)。代表的な形式は、分類されたテンプレート形状(650)から構成されるグループから類似度に従って選択され、非テンプレート形状(660)は、入力形状のセグメントに基づき、分類されたテンプレート形状の少なくとも1つの制御点から導出された少なくとも1つの制御点を有する。次に方法は、判定された代表的な形式を導出された制御点によりパラメータ化された出力形状として格納する(670)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理に関し、特に編集可能な文書を作成するために形状パラメータ及び制御点を見つけるように入力形状を処理することに関する。
【背景技術】
【0002】
計算処理能力の継続的な向上と組み合わされた映像技術の普及により、文書解析の分野は大いに進歩してきた。かなりの割合の事務文書は、U.S.A.のMicrosoft Corp.により製造されたMicrosoftTM WordTM及びMicrosoftTM PowerpointTM等の構造化されたテキスト/グラフィックス編集アプリケーションを使用して生成される。書式付きテキスト編集に加え、これらのテキスト/グラフィックス編集アプリケーションは、基本の図形描画ツール及び図形描画オプションを含む。「スキャントゥエディタブル(scan-to-editable)」アプリケーションと呼ばれる文書解析のために使用されるアプリケーションの重要な類は、そのような編集アプリケーションを使用して表示及び編集される電子バージョンの文書を生成するように文書のビットマップ表現を処理する。
【0003】
一般に構造化されたテキスト/グラフィックス編集アプリケーションにおける図形描画オプションは、フリーフォーム線画、テンプレート形状及び結合子(すなわち、文書内のテンプレート形状に結合し且つ/あるいはテンプレート形状間で結合する動的線オブジェクト)を含む。テキスト/グラフィックス編集アプリケーションは、オブジェクトの集合に対して着色オプション、塗りつぶしオプション、階層化オプション及びグループ化オプションを更に含んでもよい。一般に使用される多くの幾何学的形状は、テンプレート形状を使用して作成されてもよい。このオプションがより速く、所望の形状の表現に関してより正確であり且つ後で編集するのがより簡単であるため、ユーザは、フリーフォーム線を使用して形状を描画するのではなく、テンプレート形状を使用することを好むだろう。フリーフォーム形状とテンプレート形状との決定的な違いは、テンプレート形状をより速く変形できるようにする制御点である。既知のMicrosoftTM AutoShapesの集合は、MicrosoftTM WordTM及びMicrosoftTM PowerpointTM等の編集環境内で操作されてもよいテンプレート形状の複数の例を含む。他のテンプレート形状は、WriterTMアプリケーション及びImpressTMアプリケーション等のOpenOffice.orgTM編集アプリケーションで見つけられるだろう。
【0004】
テンプレート形状に対する構成を検出し、テンプレートのパラメータを判定し、且つ出力のために判定されたパラメータにより構成されたテンプレート形状を生成するようにスキャンされたページを処理する方法が存在する。しかし、テンプレート形状がアプリケーション間で異なるため、一般に特定のシステムは、限定されたテンプレート形状の集合のみを処理する。特定のオブジェクトがテンプレート形状のうちの1つに正確に一致しない場合、オブジェクトは一致しない。不一致のオブジェクトは、ビットマップオブジェクトとして存続し続けることができるが、伸張等のためにベクトル化されてもよい。従って、構成可能な形状として出力されるように、システムによりテンプレート形状に正確に一致しないオブジェクトを処理する方法が必要である。
【発明の概要】
【0005】
本発明の一態様によると、入力形状から制御点によりパラメータ化された出力形状を形成する方法が提供される。方法は、複数のセグメントにより形成された入力形状を受信することと、入力形状を複数の事前定義されたテンプレート形状のうちの1つとして分類することと、入力形状と分類されたテンプレート形状との類似度に基づいて入力形状に対して代表的な形式を判定することであり、代表的な形式が分類されたテンプレート形状から構成されるグループから類似度に従って選択され、非テンプレート形状が入力形状のセグメントに基づき且つ分類されたテンプレート形状の少なくとも1つの制御点から導出された少なくとも1つの制御点を有することと、判定された代表的な形式を導出された制御点によりパラメータ化された出力形状として格納することとを含む。
【0006】
制御点を含む非テンプレート形状は、各々が対応する分類されたテンプレート形状の制御点のうちの1つに割り当てられる分類されたテンプレート形状の複数の領域のうちの1つに入力形状の各セグメントを割り当てるステップと、セグメントの幾何学的変更に対する少なくとも1つの制御点と関連付けられた領域に関してセグメントを記述するステップと、各領域及び少なくとも1つの制御点の記述により入力形状の表現を形成するステップとにより形成されるのが望ましい。
【0007】
あるいは、制御点を含む非テンプレート形状は、入力形状を単位正方形に正規化するステップと、正規化された形状の末端の点を識別するステップと、識別された末端の点に基づいて非テンプレート形状の制御パラメータを算出するステップと、入力形状の各セグメント上の点を算出された制御パラメータの関数になるように変換するステップとにより形成される。
【0008】
更に別の方法において、制御点を含む非テンプレート形状は、関連付けられた入力形状の対称軸と関連付けられた角度を判定するステップと、判定された角度及び対称軸を使用してセグメント上の点の対称対を識別するステップと、識別された点を制御点として設定するステップと、入力形状の各セグメント上の点を導出された制御点に対応する制御パラメータの関数になるように変換するステップとにより形成される。この手法は、対称軸とテンプレート形状との交点において少なくとも1つの固定点を追加し、非テンプレート形状のセグメントを分割することを更に備えるのが好ましい。
【0009】
更に別の方法において、制御点を含む非テンプレート形状は、入力形状に一致する複数の更なる形状を識別するステップと、識別された更なる形状のうちの1つの中心点を制御点として選択するステップと、更なる形状の制御点を非テンプレート形状に対する制御点として割り当てるステップと、更なる形状のあらゆる残りの形状の位置を割り当てられた制御点の関数になるように変換するステップとにより形成される。
【0010】
他の態様が更に開示される。
【0011】
次に、以下の図面を参照して本発明の少なくとも1つの実施形態を説明する。付録Aは、対応する図中符号と共に図2A及び図2BのMicrosoftTM AutoShapesの各々の名前を一覧表示する表である。
【図面の簡単な説明】
【0012】
【図1】図1は、説明される構成が実現されてもよいシステムを示す図である。
【図2A】図2Aは、MicrosoftTM Autoshapesの選択を示す図である。
【図2B】図2Bは、MicrosoftTM Autoshapesの別の選択を示す図である。
【図3】図3は、各々が個々に変形する方法を示す1つのテンプレートパラメータを含むAutoshapesの集合を示す図である。
【図4】図4は、形状パラメータ化を使用して編集可能な文書を生成する第1の手法を示すフローチャートである。
【図5】図5は、入力フリーフォーム集合が処理される方法を示すフローチャートである。
【図6】図6は、個々の入力フリーフォーム各々が処理される方法を示すフローチャートである。
【図7】図7は、制御点を含む非テンプレート形状が作成されてもよい方法を示すフローチャートである。
【図8A】図8Aは、入力フリーフォームオブジェクト、最も近いテンプレートマッチング及び制御点が作成されてもよい方法の一例を示す図である。
【図8B】図8Bは、入力フリーフォームオブジェクト、最も近いテンプレートマッチング及び制御点が作成されてもよい方法の一例を示す図である。
【図8C】図8Cは、入力フリーフォームオブジェクト、最も近いテンプレートマッチング及び制御点が作成されてもよい方法の一例を示す図である。
【図8D】図8Dは、入力フリーフォームオブジェクト、最も近いテンプレートマッチング及び制御点が作成されてもよい方法の一例を示す図である。
【図8E】図8Eは、フリーフォーム矢印形状のセグメント化を示す図である。
【図8F】図8Fは、制御点の操作により図8Eの形状を編集することを示す図である。
【図9A】図9Aは、一致したテンプレート形状に基づいて入力フリーフォーム及び種々の領域の一例を示す図である。
【図9B】図9Bは、一致したテンプレート形状に基づいて入力フリーフォーム及び種々の領域の一例を示す図である。
【図9C】図9Cは、一致したテンプレート形状に基づいて入力フリーフォーム及び種々の領域の一例を示す図である。
【図9D】図9Dは、一致したテンプレート形状に基づいて入力フリーフォーム及び種々の領域の一例を示す図である。
【図9E】図9Eは、一致したテンプレート形状に基づいて入力フリーフォーム及び種々の領域の一例を示す図である。
【図10】図10は、制御点を含む非テンプレート形状の一例を示す図である。
【図11】図11は、形状パラメータ化の第2の手法を示すフローチャートである。
【図12】図12は、形状パラメータ化の第3の手法を示すフローチャートである。
【図13A】図13Aは、入力フリーフォームオブジェクト及び制御点が見つけられてもよい方法の例を示す図である。
【図13B】図13Bは、入力フリーフォームオブジェクト及び制御点が見つけられてもよい方法の例を示す図である。
【図13C】図13Cは、入力フリーフォームオブジェクト及び制御点が見つけられてもよい方法の例を示す図である。
【図13D】図13Dは、入力フリーフォームオブジェクト及び制御点が見つけられてもよい方法の例を示す図である。
【図14】図14は、制御点を含む非テンプレート形状の一例を示す図である。
【図15】図15は、形状パラメータ化の第4の手法を示すフローチャートである。
【図16】図16は、制御点を含む非テンプレート対称形状の一例を示す図である。
【図17】図17は、形状パラメータ化の第5の手法を示すフローチャートである。
【図18A】図18Aは、制御点を含むテンプレート多輪郭形状及び非テンプレート多輪郭形状の一例を示す図である。
【図18B】図18Bは、制御点を含むテンプレート多輪郭形状及び非テンプレート多輪郭形状の一例を示す図である。
【図18C】図18Cは、制御点を含むテンプレート多輪郭形状及び非テンプレート多輪郭形状の一例を示す図である。
【図19A】図19Aは、説明された構成が実施される汎用コンピュータシステムの概略ブロック図表現を総合的に形成する図である。
【図19B】図19Bは、説明された構成が実施される汎用コンピュータシステムの概略ブロック図表現を総合的に形成する図である。
【図20A】図20Aは、更なる固定点を含む非テンプレート形状の一例を示す図である。
【図20B】図20Bは、更なる固定点を含む非テンプレート形状の一例を示す図である。
【発明を実施するための形態】
【0013】
図1は、説明される構成が実施できる環境を表すシステム100を示す。文書110は、スキャナ120によりスキャンされ、ビットマップ画像としてメモリに格納されてもよい入力スキャン文書画像130を形成する。入力スキャン文書画像130は、本明細書において説明される1または複数の構成に従って処理モジュール140において処理される。処理モジュール140は、出力幾何学的オブジェクトの品質を向上することを含む複数のビットマップ画像解析処理段階を実行してもよい。ファイル記述又はビットマップ画像130(すなわち、スキャン文書)のオブジェクト表現150は、テンプレート形状、結合子、並びに線種、塗りつぶし方法及び矢じり等の種々の様式を含むフリーフォーム要素の形式の図形内容を含む処理モジュール140により生成される。ファイル150は、ファイル150が入力されてもよいコンピュータ160等の適切なデバイス上で実行する構造化されたテキスト/グラフィックス編集アプリケーションを使用して編集するのに適する図要素161及び162(グラフィカルオブジェクト)を含んでもよい。
【0014】
文書110は、種々のコンテンツタイプを含む複合文書であってもよい。コンテンツは、テンプレート形状要素114及びチャート115、並びにテキスト111、テーブル112及び(ビットマップ)画像113等の図ではない要素を含んでもよいが、それらに限定されない。文書110は、プリンタ、ファックス装置、プロジェクタ、あるいは用紙又はホワイトボード上のペン等のより従来の媒体を使用して生成されてもよく、元の電子文書の不完全な表現であってもよい。スキャナ120は、スタンドアロンスキャナ、ハンドヘルドスキャナ又は多機能プリンタ等のより大きなシステムに組み込まれたスキャナであってもよい。更にスキャナ120は、カメラ、移動電話又はパーソナルオーガナイザ等の他の何らかの撮像デバイスであってもよい。更にスキャナ120は、入力ビットマップ画像130にノイズを与える可能性がある。処理モジュール140の例には、コンピュータ、多機能プリンタ、移動電話又はパーソナルオーガナイザが含まれる。
【0015】
図19A及び図19Bは、説明される種々の構成が実施される汎用コンピュータシステム1900を示す。
【0016】
図19Aに示されるように、コンピュータシステム1900は、コンピュータモジュール1901、キーボード1902、マウスポインタデバイス1903、スキャナ120、カメラ1927及びマイク1980等の入力デバイス、並びにプリンタ1915、表示装置1914及びスピーカ1917を含む出力デバイスを備える。一般に、処理モジュール140及びコンピュータ160の機能は、種々の入力デバイス及び出力デバイスと関連付けてコンピュータモジュール1901により実行される。外部変復調器(モデム)送受信機デバイス1916は、例えば文書画像130のソースとして接続1921を介して通信ネットワーク1920と通信するためにコンピュータモジュール1901により使用されてもよい。通信ネットワーク1920は、インターネット、セルラ電気通信ネットワーク等のワイドエリアネットワーク(WAN)又は専用WANであってもよい。接続1921が電話線である場合、モデム1916は従来の「ダイヤルアップ」モデムであってもよい。あるいは、接続1921が大容量(例えば、ケーブル)接続である場合、モデム1916はブロードバンドモデムであってもよい。無線モデムは、通信ネットワーク1920に無線接続するために更に使用されてもよい。
【0017】
コンピュータモジュール1901は、一般に、少なくとも1つのプロセッサユニット1905及びメモリユニット1906を含む。例えばメモリユニット1906は、半導体ランダムアクセスメモリ(RAM)及び半導体読み出し専用メモリ(ROM)を有してもよい。コンピュータモジュール1901は、ビデオディスプレイ1914、スピーカ1917及びマイク1980に結合するオーディオ/ビデオインタフェース1907、キーボード1902、マウス1903、スキャナ120、カメラ1927及びオプションとしてジョイスティック又はヒューマンインタフェースデバイス(不図示)に結合するI/Oインタフェース1913、並びに外部モデム1916及びプリンタ1915用のインタフェース1908を含む複数の入出力(I/O)インタフェースを更に含む。いくつかの実現例において、モデム1916は、インタフェース1908等のコンピュータモジュール1901内に組み込まれてもよい。コンピュータモジュール1901は、接続1923を介してコンピュータシステム1900がローカルエリアネットワーク(LAN)として既知であるローカルエリア通信ネットワーク1922に接続できるようにするローカルネットワークインタフェース1911を更に有する。図19Aに示されるように、ローカル通信ネットワーク1922は、一般にいわゆる「ファイアウォール」デバイス又は同様の機能性を備えたデバイスを含むワイドネットワーク1920に接続1924を介して更に結合してもよい。ローカルネットワークインタフェース1911は、EthernetTM回路カード、BluetoothTM無線装置又はIEEE802.11無線装置を備えてもよいが、多数の他の種類のインタフェースがインタフェース1911に対して実施されてもよい。
【0018】
I/Oインタフェース1908及び1913は、直列接続性及び並列接続性のいずれか一方又は双方を提供してもよい。一般に直列接続性は、USB(Universal Serial Bus)規格に従って実現され且つ対応するUSBコネクタ(不図示)を有する。記憶装置1909が提供され、一般に記憶装置1909は、例えば文書画像130及び出力ファイル150が格納されてもよいハードディスクドライブ(HDD)1910を含む。フロッピディスクドライブ及び磁気テープドライブ(不図示)等の他の記憶装置が更に使用されてもよい。オプションのディスクドライブ1912は、一般に、データの不揮発性ソースとして動作するように提供される。例えば、光ディスク(例えば、CD−ROM、DVD、Blu−ray DiscTM)、USB−RAM、取り外し可能な外部ハードドライブ及びフロッピディスク等のポータブルメモリ装置は、システム1900に対する適当なデータのソースとして使用されてもよい。
【0019】
コンピュータモジュール1901の構成要素1905〜1913は、一般に、相互接続バス1904を介して通信し、且つ結果として当業者に既知であるコンピュータシステム1900の動作の従来のモードから得られる方法で通信する。例えばプロセッサ1905は、接続1918を使用してシステムバス1904に結合される。同様に、メモリ1906及び光ディスクドライブ1912は、接続1919によりシステムバス1904に結合される。説明する構成が実施されるコンピュータの例には、IBMのPC及び互換性のあるもの、Sun Sparcstations、Apple MacTM又は同様のコンピュータシステムが含まれる。
【0020】
形状のパラメータ化を使用して編集可能な文書を生成する方法は、コンピュータシステム1900を使用して実現されてもよい。説明される図2〜図18の処理は、コンピュータシステム1900内で実行可能な1または複数のソフトウェアアプリケーションプログラム1933として実現されてもよい。特に、編集可能な文書生成の方法のステップは、コンピュータシステム1900内で実行されるソフトウェア1933で命令1931(図19Bを参照)により実施される。ソフトウェア命令1931は、各々が1または複数の特定のタスクを実行する1または複数のコードモジュールとして形成されてもよい。ソフトウェアは2つの別個の部分に更に分割されてもよく、第1の部分及び対応するコードモジュールは編集可能な文書生成方法を実行し、第2の部分及び対応するコードモジュールは、第1の部分とユーザとの間のユーザインタフェースを管理する。
【0021】
例えばソフトウェアは、以下に説明する記憶装置を含むコンピュータ可読媒体に格納されてもよい。ソフトウェアは、コンピュータ可読媒体からシステム1900にロードされ、コンピュータシステム1900により実行される。コンピュータ可読媒体上に記録されたそのようなソフトウェア又はコンピュータプログラムを有するコンピュータ可読媒体は、コンピュータプログラムプロダクトである。コンピュータシステム1900においてコンピュータプログラムプロダクトを使用することにより、編集可能な文書を生成するために形状パラメータ及び制御点を見つけるように入力形状を処理する有利な装置を好ましい。
【0022】
一般にソフトウェア1933は、HDD1910又はメモリ1906に格納される。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム1900にロードされ、コンピュータシステム1900により実行される。従って、例えばソフトウェア1933は、光ディスクドライブ1912により読み出される光学的に読み出し可能なディスク記憶装置媒体(例えば、CD−ROM)1925上に格納されてもよい。コンピュータ可読媒体上に記録されたそのようなソフトウェア又はコンピュータプログラムを有するコンピュータ可読媒体は、コンピュータプログラムプロダクトである。コンピュータシステム1900においてコンピュータプログラムを使用することにより、編集可能な文書を生成する装置を実施するのが好ましい。
【0023】
いくつかの例において、アプリケーションプログラム1933は、1または複数のCD−ROM1925上で符号化されてユーザに供給され且つ対応するドライブ1912を介して読み出されてもよく、あるいはユーザによりネットワーク1920又は1922から読み出されてもよい。更にソフトウェアは、他のコンピュータ可読媒体からコンピュータシステム1900にロードされてもよい。コンピュータ可読記憶媒体は、実行及び/又は処理するために記録された命令及び/又はデータをコンピュータシステム1900に提供するあらゆる非一過性の有形記憶媒体を示す。そのような記憶媒体の例には、フロッピディスク、磁気テープ、CD−ROM、DVD、Blu−ray Disc、ハードディスクドライブ、ROM又は集積回路、USBメモリ、光磁気ディスク、あるいは例えばPCMCIAカード等のコンピュータ可読カードが含まれ、そのようなデバイスは、コンピュータモジュール1901の内部又は外部にある。ソフトウェア、アプリケーションプログラム、命令及び/又はデータをコンピュータモジュール1901に提供することに更に関係してもよい一過性又は非一過性のコンピュータ可読伝送媒体の例には、無線送信チャネル又は赤外線送信チャネル及び別のコンピュータ又はネットワーク化されたデバイスへのネットワーク接続、並びに電子メール送信及びウェブサイト上等に記録された情報を含むインターネット又はイントラネットが含まれる。
【0024】
上述したアプリケーションプログラム1933の第2の部分及び対応するコードモジュールは、ディスプレイ1914上にレンダリングされるか、あるいは表される1または複数のグラフィカルユーザインタフェース(GUI)を実現するように実行されてもよい。一般にキーボード1902及びマウス1903を操作することにより、コンピュータシステム1900及びアプリケーションのユーザは、GUIと関連付けられたアプリケーションに制御コマンド及び/又は入力を提供するように機能的に適応可能な方法でインタフェースを操作してもよい。他の形式の機能的に適応可能なユーザインタフェース、例えばスピーカ1917を介して出力された音声プロンプト及びマイク1980を介して入力されたユーザボイスコマンドを利用するオーディオインタフェースが更に実現されてもよい。
【0025】
図19Bは、プロセッサ1905及び「メモリ」1934を示す詳細な概略ブロック図である。メモリ1934は、図19Aのコンピュータモジュール1901によりアクセスされる全てのメモリモジュール(HDD1910及び半導体メモリ1906を含む)の論理的な集合体を示す。
【0026】
コンピュータモジュール1901の電源が最初に投入される場合、自己診断(POST)プログラム1950が実行する。一般にPOSTプログラム1950は、図19Aの半導体メモリ1906のROM1949に格納される。ソフトウェアを格納するROM1949等のハードウェアデバイスは、ファームウェアと呼ばれる場合もある。POSTプログラム1950は、コンピュータモジュール1901内のハードウェアを調査して適切に機能することを保証し、一般に、正しく動作するためにROM1949に更に格納されたプロセッサ1905、メモリ1934(1909、1906)及び基本入出力システム(BIOS)ソフトウェアモジュール1951をチェックする。POSTプログラム1950が正常に実行したら、BIOS1951は図19Aのハードディスクドライブ1910を起動する。ハードディスクドライブ1910を起動することにより、ハードディスクドライブ1910上に常駐するブートストラップローダプログラム1952がプロセッサ1905を介して実行する。これにより、オペレーティングシステム1953は、RAMメモリ1906にロードされると動作を開始する。オペレーティングシステム1953は、プロセッサ1905により実行可能なシステムレベルのアプリケーションであり、プロセッサ管理、メモリ管理、デバイス管理、ストレージ管理、ソフトウェアアプリケーションインタフェース及び汎用ユーザインタフェースを含む種々のハイレベルな機能を遂行する。
【0027】
オペレーティングシステム1953は、メモリ1934(1909、1906)を管理し、コンピュータモジュール1901上で実行する処理又はアプリケーションの各々が別の処理に割り当てられたメモリと衝突することなく実行する十分なメモリを有することを保証する。また、図19Aのシステム1900で使用可能な種々のメモリは、各処理が効率的に実行するように適切に使用される必要がある。従って、集約メモリ1934は、メモリの特定の部分が割り当てられる方法を示すことを意図せず(明示的に記載されない限り)、コンピュータシステム1900によりアクセス可能なメモリの概略図及びそのようなメモリが使用される方法を提供する。
【0028】
図19Bに示されるように、プロセッサ1905は、制御ユニット1939、演算論理装置(ALU:Arithmetic Logic Unit)1940及びキャッシュメモリと呼ばれることもあるローカルメモリ又は内部メモリ1948を含む多数の機能モジュールを含む。一般にキャッシュメモリ1948は、レジスタ部に複数の記憶レジスタ1944〜1946を含む。1または複数の内部バス1941は、これらの機能モジュールを機能的に相互接続する。一般にプロセッサ1905は、接続1918を使用してシステムバス1904を介して外部デバイスと通信する1つ以上のインタフェース1942を更に有する。メモリ1934は、接続1919を使用してバス1904に結合される。
【0029】
アプリケーションプログラム1933は、条件付き分岐命令及びループ命令を含んでもよい一連の命令1931を含む。プログラム1933は、プログラム1933を実行するのに使用されるデータ1932を更に含んでもよい。命令1931及びデータ1932は、それぞれ、記憶場所1928、1929、1930及び1935、1936、1937に格納される。命令1931及び記憶場所1928〜1930の相対的な大きさに依存して、特定の命令は、記憶場所1930に示された命令により表現されたように単一の記憶場所に格納されてもよい。あるいは、命令は、記憶場所1928及び1929に示された命令部分により表現されたように、各々が別個の記憶場所に格納される多数の部分に分割されてもよい。
【0030】
一般にプロセッサ1905は、そこで実行される命令の集合を与えられる。プロセッサ1905は、命令の別の集合を実行することにより自身が対応する後続の入力を待つ。各入力は、入力デバイス1902、1903の1または複数により生成されたデータ、ネットワーク1920、1902のうちの一方を介して外部ソースから受信したデータ、記憶装置1906、1909のうちの一方から検索したデータ又は対応する読み取り装置1912に挿入された記憶媒体1925から検索したデータを含む多数のソースのうちの1つまたは複数から提供されてもよく、その全てが図19Aに示されたものである。いくつかの例において、命令の集合を実行した結果、データが出力されてもよい。実行することは、データ又は変数をメモリ1934に格納することを更に含んでもよい。
【0031】
開示される構成は、対応する記憶場所1955、1956、1957においてメモリ1934に格納される入力変数1954を使用する。構成は、対応する記憶場所1962、1963、1964においてメモリ1934に格納される出力変数1961を生成する。中間変数1958は、記憶場所1959、1960、1966及び1967に格納されてもよい。
【0032】
図19Bのプロセッサ1905を参照すると、レジスタ1944、1945、1946、演算論理装置(ALU)1940及び制御ユニット1939は、プログラム1933を構成する命令集合において命令毎に「取り込み(fetch)、復号化(decode)、及び実行(execute)」サイクルを実行するのに必要なマイクロ動作のシーケンスを実行するように共に動作する。取り込み、復号化、及び実行サイクルの各々は、以下を含む。
【0033】
(a)記憶場所1928、1929、1930からの命令1931を取り込むかあるいは読み取る取り込み動作。
【0034】
(b)制御ユニット1939が取り込まれた命令を判定する復号化動作。
【0035】
(c)制御ユニット1939及び/又はALU1940が命令を実行する命令動作。
【0036】
その後、次の命令に対する更なる取り込み、復号化及び実行サイクルが実行されてもよい。同様に、制御ユニット1939が値を記憶場所1932に格納するかあるいは書き込むことにより、格納サイクルが実行されてもよい。
【0037】
図2〜図18の処理におけるステップ又はサブ処理の各々は、プログラム1933の1または複数の部分と関連付けられ、プログラム1933の示された部分に対して命令集合において命令毎に取り込み、復号化、及び実行サイクルを実行するようにプロセッサ1905のレジスタ部1944、1945、1947、ALU1940及び制御ユニット1939が共に動作することにより実行される。
【0038】
本明細書において使用されるような「テンプレート形状」という用語は、特定の編集環境又は表示環境内で閉じた外側境界線を含む変更可能な非テキスト形状オブジェクトの形式を規定する所定のモデルを示す。従って、本明細書において説明されるテンプレート形状は、「変更可能な閉形式非テキストテンプレート形状」である。多くのテンプレート形状は、単一の閉じた外側境界線から形成されるが、図2Bに示される「can」テンプレート形状27077等のいくつかは他の内線を含む。図2Bの「太陽」テンプレート形状27104等の他のいくつかのテンプレート形状は、2つ以上の閉じた外側境界線から作られ、本明細書において「解体テンプレート形状」と呼ばれる。テンプレート形状は複数のパラメータにより規定され、その解釈はテンプレート形状に対するモデル内で規定される。複数のパラメータは、アフィンパラメータ、制御パラメータ及び線幅パラメータを含んでもよい。テンプレート形状を規定するパラメータを以下に更に詳細に説明する。
【0039】
図2A及び図2Bは、テンプレート形状の集合である104個のMicrosoftTM Autoshapes27001〜27104の選択を示す。更に付録Aは、図2A及び図2Bの図中符号と共に図2A及び図2BのMicrosoftTM AutoShapesの各々の名前を一覧表示する表である。
【0040】
テンプレート形状のアフィンパラメータは、閉形式非テキストテンプレート形状に対する変更を規定する。そのような変更はアフィン変換により説明されてもよい。変更は、変倍、回転及びオフセットを含む。それぞれx軸及びy軸に沿うsx及びsyの変倍、θの回転、並びにそれぞれx軸及びy軸に沿うΔx及びΔyのオフセットに対して、アフィン変換は、以下の式1

・・・(1)
に従って示されてもよい。
【0041】
制御パラメータは、一般にテンプレート形状のアフィン変換に関して規定されないテンプレート形状に対する更なる幾何学的変更を規定する。各テンプレート形状は規定のN個の制御パラメータの集合を有し、Nはモデルにより規定され、ゼロであってもよい。テンプレート形状は、全体的に直定規(すなわち、多角形)又は曲線により規定されてもよく、あるいは頂点の集合間で直定規部分と曲線部分との混合を含んでもよい。一般に各制御パラメータは、複数の頂点、複数の曲線部分、あるいは複数の頂点及び曲線部分の双方を変更する。一般に制御パラメータは、1または複数の制御点を移動させることにより変化する。形状がグラフィカルユーザインタフェース(GUI)内で選択される場合、一般に制御点は可視である。多くのGUIにおいて、制御点は、例えば小さな黄色のひし形として現れる。本明細書の一部を形成する図面において、制御点は、小さな固定の黒色の正方形として示される。ユーザは、GUI内でマウス又は他の形態のユーザ入力を使用して制御されている形状に対して制御点の位置を選択及び変更してもよい。制御点は、開始及び終了の境界等の制御点に適用された種々の異なる制約を有してもよく、あるいはx軸又はy軸においてのみ移動可能であってもよい。制御パラメータは、1または複数の制御点のテンプレート形状のバウンディングボックス(bounding box)に対するx軸及びy軸の位置の関数である。1つの制御点は、複数の制御パラメータへの入力であってもよい。
【0042】
テンプレート形状の制御点(すなわち、制御パラメータ)を変更する効果は、テンプレート形状に対するテンプレートモデルにより規定される。制御パラメータは、非アフィン方法で閉形式非テキストテンプレート形状を変更するために使用されてもよい。1つの制御点を含む例示的なテンプレート形状301〜324の集合300を図3に示す。各テンプレート形状301〜324に隣接するのは、制御点を示す黒色の正方形であり、そのx座標は対応する制御パラメータの値を示す。図3は、制御パラメータが丸みのある隅の曲率の半径を変更する丸みのある四角形(すなわち、301〜304)の集合を含む。図3は、制御パラメータが上部水平部分でテンプレート形状の左側の線の交点を規定する、台形(すなわち、305〜308)、六角形(すなわち、309〜312)及び八角形(すなわち、313〜316)を更に含む。図3は、制御パラメータ(例えば、326)が内部頂点及び外部頂点の相対半径を規定する16個の先端を有する印(すなわち、317〜320)を更に含む。最後に、図3は、制御パラメータ(例えば、327)が月形状(すなわち、321〜324)の位相を規定する月形状を含む。
【0043】
制御パラメータに対して使用される一般的な尺度は最大0〜1の範囲を有し、例えば六角形309〜312において使用されるような水平パラメータは、左端上で0であり、変更可能な点が真ん中になる場合は0.5である。従って、0.5はこの形状に対する最大値であるが、図2Aの平方四辺形27007等の範囲が左から右の全域にわたる制御パラメータは、0〜1の値の全集合を取るであろう。
【0044】
図4は、処理モジュール140により出力文書ファイル150を作成するために使用された第1の手法400を示す。一般に方法400は、HDD1910上に格納され且つプロセッサ1905により実行可能なソフトウェアアプリケーションプログラムとして実現される。ステップ410において、入力画像130は、プロセッサ1905によりHDD1910から検索され、セグメント化される。セグメント化の間、プロセッサ1905は、入力画像130の画素値を検査し、略一定の領域又は場合によっては略平滑に変動する色の領域を見つける。識別された領域は、メモリ1906に一時的に格納されてもよい。次に領域は、入力画像130の領域に対応する固定色又は平滑な勾配オブジェクトの集合であるセグメント化処理410の出力との近接に基づいて共に接合される。一般に元の文書110の各形状は、線領域に対する1つのオブジェクト及び塗りつぶし領域に対する1つのオブジェクトにより示される。いくつかのオブジェクトは、フローチャート等において共に接続された複数の形状を含んでもよい。
【0045】
ステップ420において、セグメンテーション410により生成されたオブジェクトは、ページレイアウト解析を使用して解析される。この処理420において、プロセッサ1905は、テキスト111、テーブル112、画像113、並びに図要素114及び115等のコンテンツタイプを区別して各オブジェクトが対応するコンテンツの種類を識別する。処理420は、ベクトル化ステップ430に関連して以下に説明される更なる処理のために、図要素に対応するオブジェクトを選択する。いくつかのアプリケーションにおいて、全ページレイアウト解析が使用されなくてもよいが、代わりに全てのオブジェクト又は少数の不適当な大きさのものを除くほぼ全てのオブジェクトが選択され、潜在的な図要素として解析されてもよい。
【0046】
ベクトル化ステップ430において、形状作成方法は、プロセッサ1905により、画像コンテンツの解析ステップ420により潜在的な図オブジェクトとして選択されたオブジェクトに適用される。この形状作成方法は、選択されたオブジェクトの画素をゼロ以上の(直線)ラインセグメント及びゼロ以上の曲線セグメントの適当なベクトル表現に変換し、少なくとも1つのラインセグメント又は1つの曲線セグメントがある。これらのセグメントは、オブジェクトの適当なベクトル表現であり、本明細書においてフリーフォーム形状又は非テンプレート形状と呼ばれる。各入力形状は、少なくとも1つのそのようなセグメントにより規定される。形状を規定するセグメントは、格納又は管理しやすくするためにリストとして形成されてもよい。多くの既存のベクトル化技術は、ベクトル化ステップ430を実行するために使用されてもよい。
【0047】
一般に元の文書110の各形状が線領域に対する1つのオブジェクト及び塗りつぶし領域に対する1つのオブジェクトにより示されるため、線フリーフォームは、輪郭一致又は変換による技術が後続するオブジェクトの細線化、ポリゴン化等の種々の既知のベクトル化方法により作成されてもよい。線フリーフォームは、閉じていなくてもよいが、依然としてその多くが閉じたテンプレート形状に殆ど類似してもよい。開線フリーフォームは、線の端を他の隣接する線の端に連結することにより、閉フリーフォーム形状と同一の方法で処理されてもよい。
【0048】
図8Dは、線の端832及び834を共に連結することにより閉線フリーフォームとして処理されることができる例示的な開線フリーフォーム830を示す。一般に、線幅、並びに線及び塗りつぶしの色等の種々のパラメータと共に、塗りつぶしオブジェクトを線オブジェクトと関連付け、線及び塗りつぶしの双方を有するフリーフォーム形状を作成することが可能であってもよい。図2A及び図2Bに示される全ての例示的なテンプレート形状は、所定の太さ及びホワイト塗りつぶし又はグレー塗りつぶしを含む黒線を有する線フリーフォームである。
【0049】
図8Eは、スキャンされ且つベクトル化されたフリーフォーム矢印820を示す。矢印820の外形は、セグメント851等の一連の直線ラインセグメントに分解されている。各セグメントは、セグメント851を規定する点852及び853、並びにその上の全ての点等の始点及び終点により規定される。矢印820のベクトル表現は、セグメントの再構成を可能にするためにリストに始点及び終点を格納することにより保存されてもよい。始点及び終点は、例えば上述したようにGUIを介して制御点をクリックし且つドラッグするユーザ等により、ベクトル化された形状の潜在的な変更に対する制御点として使用されてもよい。そのような変更の一例を図8Fに示す。図8Fにおいて、制御点852はGUIを介して点852’になるように手動で移動されているため、セグメント851をセグメント851’になるように変更することにより、形状820を所定の新しい形状820’に編集する。
【0050】
図4に戻り、ステップ440において、パラメータ化された形状を形成する処理は、プロセッサ1905により、ステップ430で作成されたフリーフォーム形状(セグメント)に適用される。形成されたパラメータ化された形状は、上述したようなテンプレート形状であってもよく、あるいは1または複数のテンプレート形状から導出される制御点を含むフリーフォーム形状であってもよい。特にステップ440は、入力形状と分類されたテンプレート形状との類似度に基づいて入力形状に対する代表的な形式を判定する。代表的な形式は、分類されたテンプレート形状の制御点から導出された代表的な形式の少なくとも1つの制御点を有するセグメントに基づいて、分類されたテンプレート形状及び非テンプレート形状から構成されるグループから類似度に従って選択される。以下、図5を参照してこの処理を更に詳細に説明する。
【0051】
最後に、ステップ450において、出力文書ファイル150はプロセッサ1905により作成される。この文書は、ステップ440により生成されたような制御点(代表的な形式)を含むステップ430のテンプレート形状及びフリーフォーム形状の表現を含む。この出力ファイル150は、MicrosoftTM WordTM又はPowerPointTM用のMicrosoftTM(OOXML)Office Open XML形式に書き込まれてもよく、あるいはOpenDocument file format(ODF)等に代わりに書き込まれてもよい。種々の他のファイル形式が更に適していてもよい。出力文書は、テキスト等の他の種類のコンテンツの解析結果を更に含んでもよい。
【0052】
図5は、図4においてステップ440のパラメータ化された形状を形成するために使用される処理500を示す。ステップ510において、次に未処理のフリーフォーム形状が選択される。ステップ520において、パラメータ化された形状は、図6を参照して説明される処理を使用してプロセッサ1905により形成される。ステップ530において、テストがプロセッサ1905により実施され、更なる未処理のフリーフォーム形状があるかを判定する。更なる未処理のフリーフォーム形状がない場合、処理500は終了する。さもなければ、ステップ510で次のフリーフォーム形状が選択される。
【0053】
図6は、ステップ520で説明したように、フリーフォーム形状からパラメータ化された形状を形成するために使用される処理600を示す。受信ステップ610において、少なくとも1つのラインセグメント及び/又は少なくとも1つの曲線セグメントを含む入力フリーフォーム形状は、フリーフォーム形状生成ステップ430から受信される。ラインセグメント及び曲線セグメントは、分類ステップ620でフリーフォーム形状を分類するために使用されてもよい。分類ステップ620において、プロセッサ1905は、メモリ1906に一時的に格納されてもよく、且つ入力フリーフォーム形状が類似する1または複数のテンプレート形状を選択する。分類ステップ620を実行するために使用されてもよい1つの方法は、フリーフォーム形状のラインセグメント及び曲線セグメントから導出された入力に基づく機械学習分類機である。多数の訓練テンプレート形状は、種々の制御パラメータ値、1(単位正方形)に正規化されているテンプレート形状の領域、ゼロに正規化された(1,1)中心モーメント、および同等に正規化された(2,0)及び(0,2)中心モーメントで作成されてもよい。単位円からの垂直距離のサンプリングは、フーリエ変換され、サポートベクタマシン(SVM)等の機械分類機に対して特徴訓練データを生成してもよい。これにより複数のSVMを生成し、入力形状が一方のテンプレート形状又は他方のテンプレート形状であるかを判断するために使用されるテンプレート訓練形状の対毎に1つ生成する。次に正規化手順は、入力フリーフォーム形状及び結果に適用された全てのSVMに適用されてもよい。これによりテンプレート形状毎にスコアを生成し、スコアが最も高いテンプレート形状は、類似するものとして選択されてもよい。あるいは、少数のテンプレート形状のみがある場合、それら全ては分類ステップ620で選択されてもよい。
【0054】
分類ステップ620において、類似するテンプレート形状のパラメータが更に算出される。上述したように、テンプレート形状のパラメータは、変倍及び回転、並びに特にテンプレート形状に対するあらゆる制御パラメータを含む。フリーフォーム形状の制御パラメータに厳密に一致するようにテンプレート形状の制御パラメータを算出する1つの方法は、領域が単一であり、(1,1)中心モーメントがゼロであり、且つ(2,0)及び(0,2)中心モーメントが同等であるようにフリーフォーム形状をアフィン正規化する方法である。Zernikeモーメントは、制御パラメータの初期集合を含む入力フリーフォーム形状及びテンプレート形状に対して算出されてもよい。滑降シンプレックス法(downhill simplex method)等の多次元関数最小化は、フリーフォーム形状のZernikeモーメントとテンプレート形状のZernikeモーメントとの距離を最小化する制御パラメータの集合を見つけるために使用されてもよい。入力形状に対する縮尺推定値を算出する1つの方法は、入力フリーフォーム形状に対して(2,0)及び(0,2)中心モーメントを使用し、且つテンプレート形状(適用された制御パラメータを含む)の(2,0)及び(0,2)中心モーメントと比較する方法である。回転推定値を算出する1つの方法は、テンプレート形状(適用された変倍パラメータ及び制御パラメータを含む)、並びに入力フリーフォーム形状を各形状を中心とした複数の同じ大きさのくさび形(例えば、64個)に分解する方法である。各くさび形内部の形状の領域は2つの形状間で相関されてもよく、相関関数のピークが回転角度推定値を与える。
【0055】
ステップ630において、類似度、すなわち一致スコアは、プロセッサ1905により算出され、先の分類620ステップで見つけられたパラメータを適用されたテンプレート形状がどれ程適切にフリーフォーム形状に一致するかを評価する。種々の技術は、正規化された領域による不一致、ハウスドルフ距離又はearth−movers distance等の類似度を算出するために使用されてもよい。一般に、ステップ630に対して有用である技術に対して、テンプレート形状及び入力フリーフォーム形状の融合と交点との間の差が不利益をもたらすようにされるべきである。類似度は、より高い類似度又はスコアがより低い類似度より厳密な視覚一致を示すように算出されてもよい。判断ステップ640において、類似度が最も高いテンプレート形状に対して類似度が所定の閾値以上である場合、テンプレート形状はステップ650で作成される。ステップ650で作成されたテンプレート形状は、分類されたテンプレート形状である適用されたステップ620で見つけられた全てのパラメータを有するため、ステップ630で一致スコアにより測定されたような入力フリーフォーム形状に類似する。これは、フリーフォーム形状又は制御パラメータを含むフリーフォーム形状より小さい出力文書の記述を使用して特定のテンプレート形状を表現できる場合にも当てはまるだろう。
【0056】
ステップ640の類似度判断閾値は、類似度範囲に対して最大で設定されてもよく、その場合、テンプレート形状と全く同一を探し且つ挙動するステップ660にて制御点を含むフリーフォーム形状を出力することが可能であるが、これは有用ではなくあるいは望ましくないだろう。ステップ630で一致したテンプレート形状が特定の出力ファイル150において表現されるようなテンプレート形状ではないことが更に可能である。この場合、判断ステップ640はスキップされてもよく、破線635で示されるように処理はステップ660に進む。
【0057】
類似度が類似度閾値を下回り且つ一致したテンプレート形状が制御点を有さないとステップ640で判断される場合、入力フリーフォームは出力形状として変更されずに出力される。その後フローは図5のステップ530で継続する。ステップ640で類似度が類似度閾値を下回ると判断される場合、ステップ660で制御点を含む非テンプレート形状が作成される。図7の方法700は、ステップ660で処理を実行するために使用されてもよい。生成された非テンプレート形状は、制御パラメータを含むパラメータの集合の関数である幾何学的記述から構成される。幾何学的記述は、セグメント、すなわち関連付けられたオブジェクトの幾何学的変更に対応する。フリーフォーム形状セグメントに従ってそれを構成する非テンプレート形状に対するパラメータの集合が更に返送される。双方の場合において、ここで入力フリーフォーム形状は、テンプレートバージョン又は非テンプレートバージョンのいずれかの制御点を含む形状としてステップ670で出力される。この段階において、判定された代表的な形式を含む出力形状は、HDD1910に格納されてもよい。
【0058】
図7は、ステップ660のような制御点を含む非テンプレート形状を作成する処理700を示す。ステップ620でマッチングテンプレート形状に対して見つけられた制御パラメータ及び関連付けられた制御点は、非テンプレート形状に対する制御パラメータとしてステップ710でプロセッサ1905により割り当てられる。ステップ720において、フリーフォーム形状のセグメントを構成する全ての点は、プロセッサ1905により、制御パラメータ、並びに変倍及び回転を含むテンプレートパラメータの関数になるように変換される。フリーフォーム形状のあらゆる曲線セグメントをマッピングする関数を生成するために、曲線は、2つの端点及び曲線を規定する1または複数の他の点により表されると仮定する。この表現の一例は3次ベジェ曲線である。変倍パラメータ及び回転パラメータはアフィンであり、フリーフォーム形状セグメントからこれらのパラメータへの単純なマッピングがある。制御パラメータは、マッピングをより複雑にする非アフィンであってもよい。しかし、これは、制御パラメータの変更がアフィンである2つ以上の領域にテンプレート形状を分割できる場合にも当てはまるだろう。この場合、アフィンマッピング関数は、セグメントの一部であるテンプレート形状の分割された領域に依存してフリーフォーム形状の各セグメントに対して構成されてもよい。
【0059】
ステップ720の一例を図8A〜図8Dに示す。図8A〜図8Dは、図8Eを参照して上述し且つ図8Aに更に示された入力フリーフォーム形状820に一致している左矢印テンプレート形状810を示す。800で図8Aに示された2つの形状の重複により示されるように、形状マッチングは、フリーフォーム形状に類似する矢印形状の構成を選択している。矢印テンプレート形状810の2つの制御点801及び802の場所が丸で囲まれるが、制御点に対する指標(黄色のひし形、黒色の正方形)は、明確にするために示されない。制御点801及び802の各々は、矢じり領域の外観及びテンプレート形状810の矢幹領域をそれぞれ制御するように個々に操作可能である。この例の類似度は、例示的な閾値95を下回る100のうちの86.26であってもよい。図8Bに示されるように、一致した矢印テンプレート形状810は、一致した矢印形状の制御点813及び814、並びに水平軸811及び垂直軸812に従って作成された幾何学的形状の複数の領域を示す。領域境界線815、816、817及び818を破線で示す。領域境界線815は、制御点814を介して一致した矢印テンプレート形状810の垂直軸に平行に線を拡張することにより形成される。領域境界線816は、制御点813を介して一致した矢印テンプレート形状810の水平軸に平行に線を拡張することにより形成される。領域境界線817は、一致した矢印テンプレート形状810の水平中線である。領域境界線818は、水平中線817を介した境界線816の反射である。移動制御点814はテンプレート形状810に対してx座標のみを変更するため、制御点814のx座標は制御パラメータである。移動制御点814は、それぞれ各領域を変倍する境界線815を移動させる。移動制御点813はテンプレート形状810に対してy座標のみを変更するため、制御点813のy座標は別の制御パラメータである。移動制御点813は、境界線816及び818が境界線817から常に等距離であるようにそれらを移動させる。これらの境界線により規定された4つの領域は、それぞれ変倍される。
【0060】
一致したテンプレート形状810からの領域は、入力フリーフォーム形状820に重ね合わされて図8Cに示される。制御点821及び822は丸で示され、領域境界は線823、824、825及び826で示される。フリーフォーム形状の各領域は、制御パラメータからセグメントをマッピングする異なる関数及び非テンプレート形状の出力値への変倍を有する。
【0061】
図9A〜図9Eは、領域境界(ラベルの付いていない)と共に入力フリーフォーム形状820の5つの異なる領域900、910、920、930及び940を示す。
【0062】
領域900においてフリーフォーム形状のセグメントを規定する点を非テンプレート形状に対する出力座標x及びyにマッピングする関数を式(2)に示す。関数は、制御点の新しい位置に基づいて作成された非テンプレート形状のセグメントを規定する点を変換し、新しい制御パラメータ値、すなわち作成された非テンプレート形状のx変倍及びy変倍を与える。式(2)に示される関数は、作成された非テンプレート形状の第1の制御パラメータの変化により領域900において全ての点を変倍する変倍演算である。式(2)において、
−変数xcp1は、テンプレート形状の第1の制御点822の第1の制御パラメータ及びx座標である
−変数ycp2は、テンプレート形状の第2の制御パラメータ及び第2の制御点821のy座標である
−定数ffcp1は、フリーフォーム形状の第1の制御点822に対するx座標の元の値である
−定数ffcp2は、フリーフォーム形状の第2の制御点821のy座標の元の値である
−変数sx及びsyは、それぞれ、作成された非テンプレート形状の水平変倍及び垂直変倍である
−定数ffsx及びffsyは、フリーフォーム形状の元の水平変倍及び垂直変倍である
−定数xseg及びysegは、フリーフォーム形状のセグメントを規定する点のx座標及びy座標である。

・・・(2)
【0063】
領域940においてフリーフォーム形状のセグメントを規定する点を非テンプレート形状に対する出力値にマッピングする関数を式(3)に示す。領域930においてフリーフォーム形状のセグメントを規定する点を非テンプレート形状に対する出力値にマッピングする関数を式(4)に示す。領域920においてフリーフォーム形状のセグメントを規定する点を非テンプレート形状に対する出力値にマッピングする関数を式(5)に示す。領域910においてフリーフォーム形状のセグメントを規定する点を非テンプレート形状に対する出力値にマッピングする関数を式(6)に示す。

・・・(3)


・・・(4)


・・・(5)


・・・(6)
【0064】
フリーフォーム形状の点を作成された非テンプレート形状の点にマッピングする式(2)〜(6)はアフィンであり、変倍項及びオフセットから構成される。式(3)〜(6)に対するx変倍項及びオフセット項は全て同一であり、変倍sx及びsy、並びに第1の制御パラメータxcp1のみに依存する。x変倍及びオフセットは、領域900に対する式(2)に対するそれとは逆の変倍、並びに領域823の最初の場所及び最後の場所に依存するオフセットを必要とする領域823における移動により、点を変倍する。式(3)〜(6)に対するy変倍項及びオフセット項は、領域824及び826の移動に基づく。式(6)及び(3)に対応する領域910及び940に対する変倍項は、それらが常に同一の大きさを有するため同一である。同様に、式(5)及び(4)に対応する領域920及び930に対する変倍項は、それらが常に同一の大きさを有するため同一である。式(3)の場合は常にゼロであり且つ式(6)の場合は領域824の場所に基づく種々のオフセットのために、式(3)と(6)とは異なる。式(5)の場合は制御パラメータに依存しない領域825であり且つ式(4)の場合は領域826である種々のオフセットのために、式(4)と(5)とは異なる。
【0065】
式(2)〜(6)の各関数は、出力ファイル記述150において表現可能な形式である必要があるため、入力形状の表現は、対応する領域及び制御点の記述により形成されてもよい。例えばMicrosoftTM OOXML標準は、加算、減算、乗算、除算、多くの三角関数及びif−then−else演算子を含む関数に合成されてもよい演算の集合を有する。式(2)〜(6)は、ラインセグメント又は曲線セグメントの各点が点を算出するために別個の関数を必要とする演算子のOOXML集合で表されてもよい。図8Dに示された入力線フリーフォーム830は、線の2つの端を共に連結して入力フリーフォーム形状を作成することにより、制御点を含む非テンプレート形状を生成するように処理されてもよい、閉じていない入力線フリーフォームの一例を示す。
【0066】
図10は、左矢印テンプレートの2つの制御点に基づいてそれらを含む非テンプレート形状の一例を示す。非テンプレート形状は、12個の異なる幾何学的変更1001〜1006及び1011〜1016で示される。2つの制御点は、1000及び1010として示される。形状1001〜1006は、制御点1000の種々の位置より発生する幾何学的変更を示す。形状1011〜1016は、制御点1010の種々の位置より発生する幾何学的変更を示す。尚、各制御点は他の制御点に関係なく移動してもよい。
【0067】
制御点を含む非テンプレート形状の作成は、入力フリーフォーム形状と同様の又は同一の線幅、線の色又は塗りつぶしの色を有する作成された形状の機能に全く影響を及ぼさない。多くの入力に対して、制御点を含む出力非テンプレート形状が入力フリーフォーム形状の画像と同一の画像を生成することが可能である。
【0068】
入力フリーフォーム形状の領域分割、並びに制御点1000及び1010の識別及び操作の正味の影響は、フリーフォーム形状のフリーフォーム外観を保持しつつ、入力フリーフォーム形状をテンプレート形状として処理し且つテンプレート形状のように編集可能にするのを許可することである。図10において、制御点1000及び1010の操作は、ユーザが操作でき、例えば全てがフリーフォーム外観を保持するフリーフォーム形状1001〜1006及び1011〜1016を誘発できるように、フリーフォーム形状の2つの分解可能な制御可能な領域(矢じり及び矢幹)の長さ及び幅に対処する。そのようなことは、図8Eと図8Fとを比較することにより示された制御点操作から更に区別可能である。制御点操作は、おそらく形状の領域を考慮せずに形状、単なる個々の点及び付属のセグメントを大幅に変更するような方法でフリーフォーム形状を変更する。
【0069】
フリーフォーム形状の領域分割及び操作の大きな利点は、ユーザがフリーフォーム形状の緩やかな外観(厳密なテンプレート形状と比較して)を所望してもよいが、元の外観から大幅に逸脱せずに大きさ及び一般的な特徴(長さ、幅等)を変更できると共に、一貫して文書においてその形状を再現するのを希望してもよいことである。
【0070】
次に、図11を参照して、編集可能な文書出力ファイル150を生成するように入力文書画像110を処理する第2の手法1100を説明する。方法1100は、再度コンピュータシステム1900のプロセッサ1905により実行可能なソフトウェアにより実現されるのが好ましく、制御点を含むテンプレート形状又は非テンプレート形状のいずれかであらゆるフリーフォーム形状を置換するように既存の文書を変更するために動作する。ステップ1110において、フリーフォーム形状は文書から取り出される。ステップ1110は、本質的に図4のステップ410、420及び430に等しい。ステップ1120において、入力フリーフォーム形状は、制御点を含むテンプレート形状又は非テンプレート形状のいずれかに変換される。このステップは、図4を参照して上述したステップ440と同一である。ステップ1130において、入力フリーフォーム形状は、文書において制御点を含むテンプレート形状又は非テンプレート形状で置換され、これは図4のステップ450に代わるものである。あるいは、この手法は、形状が切り取られ且つテンプレート形状の異なる集合を含む別のプログラムに貼り付けられるように、テンプレート形状をクリップボード上にコピーするために使用されてもよい。
【0071】
次に、図7にて詳述された制御点を含む非テンプレート形状作成処理660が、図12を参照して以下に説明される処理1200に従って代わりに実行されるという点を除いて図4の第1の手法に類似する第3の手法を説明する。ステップ1210において、入力フリーフォーム形状は、アフィン変換により単位正方形に正規化される。アフィン変換は、例えば正規化されたフリーフォーム形状のバウンディングボックスが(0,0)−(1,0)−(1,1)−(0,1)であるように選択される。アフィン変換は回転構成要素を含み、その角度は、ステップ620で最適なテンプレート形状一致から算出された負の角度である。あるいは、中心モーメントから算出された主軸角度等の角度を判定する別の方法が使用されてもよい。いくつかの例において、主軸は有用な角度を与える。あるいは、特定のテンプレート形状は回転対称であってもよく、回転構成要素は必要ない。ステップ1220において、1つ以上の末端の点が見つけられる。どの末端の点が見つけられるかは、フリーフォーム形状がステップ620で最近接するものとして分類された特定のテンプレート形状に依存する。例えば末端の点は、単位正方形の特定の縁部、単位正方形の特定の隅又は単位正方形の中心に最近接する点であってもよい。
【0072】
図13Aは、図2Aの形状27021等の8点の星の最も近いテンプレートマッチングを有する入力フリーフォーム形状1300の一例を示す。図13Bは、単位正方形1312にアフィン正規化され且つフリーフォーム形状1310として示されたフリーフォーム形状1300を示す。円は、単位正方形の中心に対して最近接点1311を示す単位正方形を中心とする。点1311は、この種のテンプレート形状に対する末端の点として考えられてもよい。
【0073】
別の例として、テンプレート形状が図8等に示されるような左矢印810である場合、末端の点は、図13Cに示されるような一番左上の点1323及び一番右上の点1322として判定される。一番左上の点は、ある許容内で最も大きなy座標を含む点の中で最も小さなx座標を有する点である。一番右上の点は、ある許容内で最も大きなx座標を含む点の中で最も大きなy座標を有する点である。末端の点1322及び1323を含むフリーフォーム形状1320として単位正方形1321にアフィン正規化された左矢印810を示す。
【0074】
ステップ1220で末端の点が見つけられると、制御パラメータは、ステップ1230で末端の点の値からプロセッサ1905により算出される。この計算は、ステップ660で分類されたような特定のテンプレート形状に依存し、見つけられた全ての末端の点のx座標及びy座標の関数である。一般にそれは、x座標又はy座標のいずれか、あるいは見つけられた双方の末端の点である。例えば左矢印テンプレート形状810の場合、最も左上の末端の点のx座標は1つの制御パラメータであり、最も右上の末端の点のy座標は第2の制御パラメータである。複数の点の星の例1300において、単位正方形の中心から最近接点1311までの距離は、制御パラメータであり、図13Bにおいて円として示される。図14は、制御点を含む非テンプレート形状に変換された際の複数の点の星の入力フリーフォーム形状1300に対するいくつかの例示的な制御点の位置を示す。
【0075】
ステップ1230で制御パラメータが算出されると、入力フリーフォーム形状のセグメント上の全ての点は、ステップ1240で制御パラメータの関数になるように変換される。このステップは、上述したステップ720と同一である。処理1200は、上述したようにステップ670に戻るステップ1250で終了する。
【0076】
次に、図6に示された制御点を含む非テンプレート形状作成処理660が、図15を参照して以下に説明される処理1500に従って代わりに実行されるという点を除いて第1の手法400に類似する第4の手法を説明する。ステップ1510において、入力フリーフォーム形状の対称の角度はプロセッサ1905により算出される。この構成において有用な対称が反射対称であるため、オブジェクトの対称の角度は、描画された任意の垂直な線が両側の対称軸から等しい距離のところでオブジェクトに交差するように対称軸が見つけられるx軸に対する角度である。本明細書において対称テンプレートと呼ばれるテンプレート形状が規定されることができる。対称テンプレートにおいて、対称軸の上側の任意の点は制御点であり、対称軸の上側の制御点への任意の移動は、対称軸の下側の同等の点に対して同等の対称効果を及ぼす。この種のテンプレート形状の一例を図16に示す。図16は、種々の異なる位置において制御点を含む対称矢印タイプを示す。各例において、オブジェクトの略水平軸に沿って反射対称がある。
【0077】
ステップ1510で見つけられた対称の角度は、画像モーメントを使用して見つけられてもよい。スキャン又は粗末な手描き又は完全なミラー軸を有さない形状(例えば、図8E)等からの非テンプレート形状において考えられるノイズのため、不完全な対称のある程度の許容誤差は、対称の角度を判定する際に許される。ステップ1520において、対称点の対は、入力フリーフォーム形状のセグメントから見つけられる。対における1つの点は、対称軸の上側及び下側にある。一般に、生成された非テンプレート形状が複雑になりすぎないように且つ制御パラメータの変更に対する挙動が直感的に分かるように、限られた数のそのような対が選択されるべきである。ステップ1530において、各対からの1つの点は制御点になる。全ての制御点が対称軸の片側にあってもよいが、これは必要条件ではない。代わりに各制御点が2つの制御パラメータ、すなわちx座標位置及びy座標位置を有してもよいため、制御点の移動に対する制約はない。
【0078】
ステップ1540において、より多くの固定点は、プロセッサ1905により算出された制御点を含む新しい非テンプレート形状に追加され、その場合対称軸が入力フリーフォーム形状と交差する。これらの点は、これらの場所に既存の点がない場合のみ追加されればよい。非テンプレート形状作成に追加された固定点は、非テンプレートの単一のセグメントを2つに分割する。次に制御点は、対称に基づいて2つのセグメントを変更できる。図20Aは、対称軸2002を横断するセグメント2005を含む非テンプレート形状2000を示す。形状2000は制御点2015を有する。固定点2010は、対称軸において追加され、セグメント2005を2つのセグメントに分割又は分類することができる。2つのセグメント2030及び2035は、図20Bに明確に示される。図20Bにおいて、制御点2015は、例えば図20Bに示されるように、x方向及びy方向のいずれか又はそれら双方に移動し、2つのセグメントを操作してもよい。点2010は、軸2002上に固定されたままである。
【0079】
ステップ1540で制御パラメータが算出されると、入力フリーフォーム形状のセグメント上の全ての点は、ステップ1550で制御パラメータの関数になるように変換される。このステップは、上述したステップ720と同一である。ステップ1560のこの処理の終了時、処理は第1の実施形態のステップ670で継続する。
【0080】
処理1500の一例を図13Dに示す。対称軸1334を含む入力フリーフォーム形状1330を示す。対称軸がフリーフォーム形状1330に交差する場所に既に点があるため、余分な点が追加される必要はない。点1332及び1333は対称対であるため、点1332が制御点になる場合、点1332は点1333の位置を制御する。従って、双方の点1332及び1333は対称対であり続ける。
【0081】
次に、制御点を含む非テンプレート形状作成処理660が、図17を参照して以下に説明される処理1700に従って代わりに実行されるという点を除いて第1の手法400に類似する第5の手法を説明する。
【0082】
ステップ1710において、入力フリーフォーム形状及び多輪郭テンプレート形状と一致する1または複数の余分な形状が見つけられる。多輪郭形状は、単一の形状として挙動する2つ以上の形状の集合である。雲1820として示された主形状の輪郭、並びに円1821、1822及び1823として示された3つの余分な形状の輪郭を含む「雲形吹き出し」と呼ばれる多輪郭テンプレート形状の一例を図18Cに示す。
【0083】
余分な形状はフリーフォーム形状であってもよく、あるいは制御点を含むテンプレート形状又は非テンプレート形状は、メモリ1906又はHDD1910に格納されたデータベースから識別されてもよい。多輪郭テンプレートは、入力フリーフォーム形状及び余分な形状の領域の比に基づく一致、あるいは入力フリーフォーム形状の中心と余分な形状の中心との間の距離の比等の他の何らかのモーメント又は幾何学的形状に基づく方法を規定してもよい。
【0084】
ステップ1720において、余分な形状のうちの1つの中心点は、多輪郭形状の制御点として選択され且つ割り当てられる。制御点が自由に移動することは実用的であってもよく、その場合、制御パラメータは制御点のx座標及びy座標に基づく。
【0085】
ステップ1730において、余分な形状の位置は、ステップ1720で算出された制御パラメータ及び多輪郭形状に対する主な輪郭になる入力フリーフォーム形状の関数により与えられる。関数は、初期制御パラメータ値が余分な形状の初期の位置を与えるように作成され、制御点から主な輪郭の中心までの距離の比であってもよい。尚、入力フリーフォーム形状又は余分な形状のうちのいずれかは、自身の制御パラメータを更に有してもよい。処理1700の間に追加された制御パラメータは、一般に、余分な形状の他のパラメータのうちのいずれかではなく、入力フリーフォーム形状に対する余分な形状の場所のみを制御する。
【0086】
ステップ1730で制御パラメータが算出されると、入力フリーフォーム形状のセグメント上の全ての点は、制御パラメータの関数になるように変換される。このステップは、上述したようなステップ720と同一である。処理1700を終了するステップ1740において、処理は第1の手法のステップ670に戻る。
【0087】
雲1820として示された主形状の輪郭、並びに円1821、1822及び1823として示された3つの余分な形状の輪郭を含む「雲形吹き出し」と呼ばれる多輪郭テンプレート形状の一例を図18Cに示す。この多輪郭テンプレートの典型的な特徴は、主な形状の中心までの3つの余分な形状の距離の比であり、3つの余分な形状の中心は、主な形状の中心を通過する線上に置かれる。多輪郭テンプレート形状の制御点は、自由に移動する形状1823の中心であり、主形状の輪郭1820に対して3つの余分な輪郭1821〜1823の位置を変化させる。
【0088】
図18Aに示されるように、処理1700に対する入力フリーフォーム形状の一例を星形の形状1800として示す。1801、1802及び1803として処理1700の間に見つけられることができる3つの他の形状がある。尚、星形の形状1800、1801及び1802は、自身の制御パラメータを有してもよい。形状1803の制御点は、形状1800〜1803から構成される多輪郭形状の制御点として選択されてもよく、主な輪郭形状1800に対して3つの余分な形状1801〜1803の位置を制御してもよい。図18Bに示されるように、形状1803の中心で制御パラメータを調整することにより形状1810が得られてもよい。
【0089】
説明した構成は、コンピュータ業界及びデータ処理業界、並びに特にビットマップ文書画像から編集可能な文書を生成するために適用可能である。
【0090】
上記の記述は本発明のいくつかの実施形態のみを説明し、本発明の範囲及び趣旨から逸脱せずに、変形及び/又は変更がいくつかの実施形態に対して行なわれてもよい。実施形態は、限定するものではなく例示するものである。
【0091】
[付録A]
[表1]
形状名 図中符号
正方形/長方形 27001
丸型四角形 27002
円/楕円 27003
ひし形 27004
二等辺三角形 27005
直角三角形 27006
平行四辺形 27007
台形 27008
六角形 27009
八角形 27010
十字形 27011
星 27012
矢印 27013
太矢印 27014
ホームベース 27015
吹き出し 27016
印 27017
プローチ 27018
山形 27019
五角形 27020
印8 27021
印16 27022
印32 27023
くさび形の四角形吹き出し 27024
くさび形の角丸四角形吹き出し 27025
くさび形の円形吹き出し 27026
大波 27027
左矢印 27028
下矢印 27029
上矢印 27030
左右矢印 27031
上下矢印 27032
いびつな印1 27033
いびつな印2 27034
稲妻 27035
ハート 27036
四方向矢印 27037
左矢印吹き出し 27038
右矢印吹き出し 27039
上矢印吹き出し 27040
下矢印吹き出し 27041
左右矢印吹き出し 27042
上下矢印吹き出し 27043
四方向矢印吹き出し 27044
二方向矢印 27045
屈折矢印 27046
曲折矢印 27047
印24 27048
V字型右矢印 27049
アーチ 27050
環状矢印 27051
Uターン矢印 27052
フローチャート:処理 27053
フローチャート:判断 27054
フローチャート:データ 27055
フローチャート:書類 27056
フローチャート:ターミネータ 27057
フローチャート:準備 27058
フローチャート:手操作入力 27059
フローチャート:手作業 27060
フローチャート:結合子 27061
フローチャート:せん孔カード 27062
フローチャート:せん孔テープ 27063
フローチャート:抜出し 27064
フローチャート:組合せ 27065
フローチャート:記憶データ 27066
フローチャート:順次アクセス記憶 27067
フローチャート:表示 27068
フローチャート:論理積ゲート 27069
フローチャート:代替処理 27070
フローチャート:オフページ結合子 27071
三方向矢印 27072
月 27073
印4 27074
小波 27075
直方体 27076
円柱 27077
ドーナツ 27078
リボン 27079
リボン2 27080
禁止 27081
メモ 27082
額縁 27083
ストライプ右矢印 27084
縦巻き 27085
横巻き 27086
右カーブ矢印 27087
左カーブ矢印 27088
上カーブ矢印 27089
下カーブ矢印 27090
雲形吹き出し 27091
上カーブリボン 27092
上カーブリボン2 27093
フローチャート:定義済み処理 27094
フローチャート:内部記憶 27095
フローチャート:複数書類 27096
フローチャート:和接合 27097
フローチャート:論理和 27098
フローチャート:照合 27099
フローチャート:分類 27100
フローチャート:オフライン記憶 27101
フローチャート:磁気ディスク 27102
フローチャート:直接アクセス記憶 27103
太陽 27104

【特許請求の範囲】
【請求項1】
入力形状から制御点によりパラメータ化された出力形状を形成する方法であって、
(a)複数のセグメントにより形成された前記入力形状を受信する工程と、
(b)前記入力形状を複数の予め定義されたテンプレート形状のうちの1つに分類する工程と、
(c)前記入力形状と前記分類されたテンプレート形状との類似度に基づいて前記入力形状に対する代表形式を判定する工程と、
前記代表形式は、前記分類されたテンプレート形状から構成されるグループの前記類似度に従って選択され、
非テンプレート形状は、前記入力形状の前記セグメントに基づき且つ前記分類されたテンプレート形状の少なくとも1つの制御点から得られた少なくとも1つの制御点を有し、
(d)前記判定された代表形式を前記得られた制御点によりパラメータ化された前記出力形状として格納する工程と、
を有することを特徴とする方法。
【請求項2】
制御点を含む前記非テンプレート形状は、
(i)前記分類されたテンプレート形状の複数の領域のうちの1つに前記入力形状の前記セグメントそれぞれを割り当てる工程と、
前記複数の領域それぞれは、前記分類されたテンプレート形状の制御点のうちの対応する1つに割り当てられ、
(ii)前記セグメントの幾何学的な変更に対する少なくとも1つの制御点と関連付けられた前記領域に関して前記セグメントを記述する工程と、
(iii)各領域の前記記述及び少なくとも1つの制御点により前記入力形状の表現を形成する工程と、により形成されることを特徴とする請求項1に記載の方法。
【請求項3】
制御点を含む前記非テンプレート形状は、
前記入力形状を単位正方形に正規化する工程と、
前記正規化された形状の末端の点を識別する工程と、
前記識別された末端の点に基づいて前記非テンプレート形状の前記制御パラメータを算出する工程と、
前記入力形状の前記セグメントそれぞれ上の点を前記算出された制御パラメータの関数になるように変換する工程と、により形成されることを特徴とする請求項1に記載の方法。
【請求項4】
制御点を含む前記非テンプレート形状は、
関連付けられた前記入力形状の対称軸と関連付けられた角度を判定する工程と、
前記判定された角度及び対称軸を使用して前記セグメント上の点の対称対を識別する工程と、
前記識別された点を制御点として設定する工程と、
前記入力形状の前記セグメントそれぞれ上の点を前記得られた制御点に対応する制御パラメータの関数になるように変換する工程と、により形成されることを特徴とする請求項1に記載の方法。
【請求項5】
前記対称軸と前記テンプレート形状との交点において少なくとも1つの固定点を追加し、前記非テンプレート形状のセグメントを分割する工程を更に有することを特徴とする請求項4に記載の方法。
【請求項6】
制御点を含む前記非テンプレート形状は、
前記入力形状に一致する複数の更なる形状を識別する工程と、
前記識別された更なる形状のうちの1つの中心点を制御点として選択する工程と、
前記更なる形状の前記制御点を前記非テンプレート形状に対する制御点として割り当てる工程と、
前記更なる形状の残りの形状の位置を前記割り当てられた制御点の関数になるように変換する工程と、により形成されることを特徴とする請求項1に記載の方法。
【請求項7】
入力画像をセグメント化し、前記入力画像の領域に対応するオブジェクトの集合を形成する工程と、
前記入力画像のコンテンツを解析し、前記入力画像中の図要素に対応するオブジェクトを選択する工程と、
前記選択されたオブジェクトから各々が少なくとも1つのラインセグメント又は曲線セグメントを有する入力形状を形成する工程と、
請求項1乃至6のいずれか一項に記載の方法に従って前記入力形状のうちの1つから制御パラメータによりパラメータ化された出力形状を形成する工程と、
前記出力形状を文書に書き込む工程と、
を有することを特徴とする出力文書を作成する方法。
【請求項8】
出力文書を作成するコンピュータにより実現される方法であって、
入力画像をセグメント化し、前記入力画像の領域に対応するオブジェクトの集合を形成する工程と、
前記入力画像のコンテンツを解析し、前記入力画像中の図要素に対応するオブジェクトを選択する工程と、
前記選択されたオブジェクトから、入力形状それぞれが少なくとも1つのラインセグメント又は曲線セグメントを有し、且つ入力形状の少なくとも1つが前記フリーフォームオブジェクトに対応するフリーフォーム形状である入力形状を形成する工程と、
請求項1乃至6のいずれか一項に記載の方法に従って前記フリーフォーム形状から制御パラメータによりパラメータ化された出力形状を形成する工程と、
前記入力文書の前記フリーフォームオブジェクトを前記出力形状に置換し、前記出力文書を形成する工程と、により、
少なくとも1つの前記フリーフォームオブジェクトを含む前記入力文書の前記入力画像を受信する工程を有することを特徴とするコンピュータにより実現された方法。
【請求項9】
入力形状から制御点によりパラメータ化された出力形状を形成するようにコンピュータ装置により実行可能なプログラムを記録したコンピュータ可読記憶媒体であって、前記プログラムは、
複数のセグメントにより形成された前記入力形状を受信するコードと、
前記入力形状を複数の予め定義されたテンプレート形状のうちの1つとして分類するコードと、
前記入力形状と前記分類されたテンプレート形状との類似度に基づいて前記入力形状に対して代表的な形式を判定するコードと、
前記代表的な形式は、前記分類されたテンプレート形状から構成されるグループから前記類似度に従って選択され、
非テンプレート形状は、前記入力形状の前記セグメントに基づき、且つ前記分類されたテンプレート形状の少なくとも1つの制御点から得られた少なくとも1つの制御点を有し、
前記判定された代表的な形式を前記得られた制御点によりパラメータ化された前記出力形状として格納するコードと、
を有することを特徴とするコンピュータ可読記憶媒体。
【請求項10】
制御点を含む前記非テンプレート形状を形成するコードを有する前記プログラムは、
前記入力形状の前記セグメントそれぞれを前記分類されたテンプレート形状の複数の領域のうちの1つに割り当てるコードと、
前記複数の領域それぞれは、前記分類されたテンプレート形状の対応する1つの前記制御点に割り当てられ、
前記セグメントの幾何学的な変更に対する少なくとも1つの制御点と関連付けられた前記領域に関して前記セグメントを記述するコードと、
各領域の前記記述及び少なくとも1つの制御点により前記入力形状の表現を形成するコードと、を含むことを特徴とする請求項9に記載のコンピュータ可読記憶媒体。
【請求項11】
制御点を含む前記非テンプレート形状を形成するコードを有する前記プログラムは、
前記入力形状を単位正方形に正規化するコードと、
前記正規化された形状の末端の点を識別するコードと、
前記識別された末端の点に基づいて前記非テンプレート形状の前記制御パラメータを算出するコードと、
前記入力形状の前記セグメントそれぞれ上の点を前記算出された制御パラメータの関数になるように変換するコードと、を有することを特徴とする請求項9に記載のコンピュータ可読記憶媒体。
【請求項12】
制御点を含む前記非テンプレート形状を形成するコードを有する前記プログラムは、
関連付けられた前記入力形状の対称軸と関連付けられた角度を判定するコードと、
前記判定された角度及び対称軸を用いて前記セグメント上の点の対称対を識別するコードと、
前記識別された点を制御点として設定するコードと、
前記入力形状の前記セグメントそれぞれ上の点を前記得られた制御点に対応する制御パラメータの関数になるように変換するコードと、を有することを特徴とする請求項9に記載のコンピュータ可読記憶媒体。
【請求項13】
前記対称軸と前記テンプレート形状との交点において少なくとも1つの固定点を追加し、前記非テンプレート形状のセグメントを分割するコードを更に有することを特徴とする請求項12に記載のコンピュータ可読記憶媒体。
【請求項14】
制御点を含む前記非テンプレート形状を形成するコードを有する前記プログラムは、
前記入力形状に一致する複数の更なる形状を識別するコードと、
前記識別された更なる形状のうちの1つの中心点を制御点として選択するコードと、
前記更なる形状の前記制御点を前記非テンプレート形状に対する制御点として割り当てるコードと、
前記更なる形状の残りの形状の位置を前記割り当てられた制御点の関数になるように変換するコードと、を有することを特徴とする請求項9に記載のコンピュータ可読記憶媒体。
【請求項15】
少なくとも1つのプロセッサ及びメモリプログラムを有し、且つ入力形状から制御点によりパラメータ化された出力形状を形成するように構成されたコンピュータ装置であって、
複数のセグメントにより形成された前記入力形状を受信する手段と、
前記入力形状を複数の予め定義されたテンプレート形状のうちの1つとして分類する手段と、
前記入力形状と前記分類されたテンプレート形状との類似度に基づいて前記入力形状に対して代表的な形式を判定する手段と、
前記代表的な形式は、前記分類されたテンプレート形状から構成されるグループから前記類似度に従って選択され、
非テンプレート形状は、前記入力形状の前記セグメントに基づき、且つ前記分類されたテンプレート形状の少なくとも1つの制御点から得られた少なくとも1つの制御点を有し、
前記判定された代表的な形式を前記得られた制御点によりパラメータ化された前記出力形状として格納する手段と、
を備えることを特徴とするコンピュータ装置。


【図1】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8A】
image rotate

【図8B】
image rotate

【図8C】
image rotate

【図8D】
image rotate

【図8E】
image rotate

【図8F】
image rotate

【図9A】
image rotate

【図9B】
image rotate

【図9C】
image rotate

【図9D】
image rotate

【図9E】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13A】
image rotate

【図13B】
image rotate

【図13C】
image rotate

【図13D】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18A】
image rotate

【図18B】
image rotate

【図18C】
image rotate

【図19A】
image rotate

【図19B】
image rotate

【図20A】
image rotate

【図20B】
image rotate


【公開番号】特開2012−190455(P2012−190455A)
【公開日】平成24年10月4日(2012.10.4)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−48612(P2012−48612)
【出願日】平成24年3月5日(2012.3.5)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】