画像処理装置、方法、及びコンピュータプログラム
【課題】 誤ったデータ種類をコピーしてしまう等の誤操作を軽減し、ユーザの作業負担を減らす。
【解決手段】 画像処理装置は、グラフィックデータを描画し表示する表示手段と、表示手段上で範囲を指定する範囲指定手段と、グラフィックデータのうち指定範囲内にあるデータのみを特定する手段と、グラフィックデータの種類を指定するデータ種類指定手段と、範囲及び種類で特定されたグラフィックデータを出力する出力手段とを備え、範囲指定時に、データの種類指定に応じて異なる視覚的効果を生じるようにした。
【解決手段】 画像処理装置は、グラフィックデータを描画し表示する表示手段と、表示手段上で範囲を指定する範囲指定手段と、グラフィックデータのうち指定範囲内にあるデータのみを特定する手段と、グラフィックデータの種類を指定するデータ種類指定手段と、範囲及び種類で特定されたグラフィックデータを出力する出力手段とを備え、範囲指定時に、データの種類指定に応じて異なる視覚的効果を生じるようにした。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複写機等の画像処理装置で読み取った画像データを、ワード等所謂文書作成アプリケーションソフトで再利用可能なベクトルデータに変換する画像処理装置、方法、及びコンピュータプログラムに関する。
【背景技術】
【0002】
近年、環境問題が叫ばれる中、オフィスでのペーパーレス化が急速に進んでいる。すなわち、従来からバインダー等で蓄積された紙文書をスキャナで読み取り画像データに変換して画像記憶装置にデータベースとして蓄積する文書管理システムが構築されている。
【0003】
更に、紙に書かれた表や図等文書の一部分を文書作成アプリケーションで再利用するために、スキャナで読み取った画像データの中身を解析して文字、線画、自然画、表及び背景等の要素に分け、それぞれ適した表現によるグラフィックデータに変換する技術が開発されている。ここで言う適した表現とは、例えば文字であれば文字コードとフォント情報による表現、画像表現もしくは文字輪郭のベクトル表現、線画であれば画像もしくはベクトル表現、自然画であれば画像表現、表であればベクトル表現もしくは文字コード+表構造表現、等のように文書要素の種類に応じて変化するほか、文書作成アプリケーション上での再利用に際し、ユーザの任意意図によって時々に適切な表現は変化する。例えば文字認識率が悪い場合、文字コード表現よりもベクトル表現のほうが望まれるかもしれない。
【0004】
すなわち、画像データをグラフィックデータに変換する際には、ひとつの文書要素を複数で表現するグラフィックデータを作成し合わせ持っていることが、様々なユーザの要求に応じて直ちに所望のデータを提供することが可能な状態となって望ましい。
【0005】
こういったグラフィックデータの一部を利用しようとする場合、位置による範囲選択のほかに、データの種類を考慮する必要が生じる。そのような選択方法について、特許文献1に記載された文書処理装置では、表示画面を利用して文書の編集を行う際に、ある文書枠内に表示すべき図形データ、イメージデータ、文字データ等が記憶され、ユーザはそのデータの少なくとも1つを読み出して、同文書の編集に再利用すべく文書の別部分へと複写を行うことができた。特に、ある枠内のデータを読み出すときに、データの種類が複数(例えば図形データ、イメージデータ等)ある場合、取り出すデータの選択画面を表示し、その中の一つ或いは複数を指定することで、ユーザがデータ種類を選択することを可能にしていた。
【0006】
【特許文献1】特公平5-47860号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
特許文献1に記載された文書処理装置の場合、複写のために枠内のデータ読み出しを指示する度にデータ選択画面が表示され、その都度所望のデータ形式を選択しなくてはいけない煩わしさがあった。
【0008】
その対策として、あらかじめデータ形式を設定することで都度の選択を回避することはできるが、その場合、既設定が所望の選択に一致することがわかりにくく、誤ったデータを取り出してしまうおそれがあった。
【0009】
本発明は上記のような点に鑑みてなされたものであり、誤ったデータ種類をコピーしてしまう等の誤操作を軽減し、ユーザの作業負担を減らすことを目的とする。
【課題を解決するための手段】
【0010】
本発明による画像処理装置は、グラフィックデータを描画し表示する表示手段と、前記表示手段上で範囲を指定する範囲指定手段と、前記グラフィックデータのうち指定範囲内にあるデータのみを特定する手段と、前記グラフィックデータの種類を指定するデータ種類指定手段と、前記範囲及び種類で特定されたグラフィックデータを出力する出力手段とを備え、前記範囲指定時に、前記データの種類指定に応じて異なる視覚的効果を生じる点に特徴を有する。
本発明による画像処理方法は、グラフィックデータを描画し表示手段に表示する工程と、前記表示手段上で範囲を指定する工程と、前記グラフィックデータのうち指定範囲内にあるデータのみを特定する工程と、前記グラフィックデータの種類を指定する工程と、前記範囲及び種類で特定されたグラフィックデータを出力する工程とを有し、前記範囲指定時に、前記データの種類指定に応じて異なる視覚的効果を生じる点に特徴を有する。
本発明によるコンピュータプログラムは、グラフィックデータを描画し表示手段に表示する処理と、前記表示手段上で範囲を指定する処理と、前記グラフィックデータのうち指定範囲内にあるデータのみを特定する処理と、前記グラフィックデータの種類を指定する処理と、前記範囲及び種類で特定されたグラフィックデータを出力する処理とをコンピュータに実行させ、前記範囲指定時に、前記データの種類指定に応じて異なる視覚的効果を生じる点に特徴を有する。
【発明の効果】
【0011】
本発明によれば、グラフィックデータの範囲を指定してその中のデータを別のアプリケーションで利用するための手段にコピーする際に、同範囲内に複数種類のデータが存在する場合でも、現在どのデータ種類が選択されコピーされるのかをユーザが直ちに知ることができるので、誤ったデータ種類をコピーしてしまう等の誤操作が軽減され、ユーザの作業負担を減らすことができる。
【発明を実施するための最良の形態】
【0012】
以下、添付図面を参照して、本発明の好適な実施形態について説明する。図1に本発明を適用したシステムの構成を示す。101はコンピュータ装置、102はコンピュータ装置が作成する画像情報をブラウン管や液晶等の画面に表示するディスプレイ装置、103はコンピュータ装置101が作成する画像情報を紙に印刷するプリンタ装置、104はユーザがコンピュータ装置101に指示を送るためのマウスやキーボード等の操作装置、105は紙の内容を光電変換して画像データに変換しコンピュータ装置101に入力するスキャナ装置である。
【0013】
図2に、コンピュータ装置101の内部ハードウェア構成例を示す。201はソフトウェアを実行することで装置の大部分を制御するCPU、202はCPU201が実行するソフトウェアやデータを一時記憶するメモリ、203はソフトウェアやデータを保存するハードディスク、204はキーボードやマウス、スキャナ等の入力情報を受け取り、またディスプレイやプリンタに情報を出力するI/O部である。
【0014】
図3に、コンピュータ装置101で実行されるソフトウェアのモジュール構成例を示す。301はコンピュータの基本ソフトウェア(OS)である。OS301はいわゆるウィンドウシステムを有しており、OS301上で動作するアプリケーションソフトウェアは、画像情報をディスプレイに表現するとともに、マウス等によるグラフィカルな操作機能を有す、いわゆるGUIオペレーションが可能である。このようなOSの例としてはMicrosoft Windows(登録商標)(TM) や MacOS X(TM)等がある。
【0015】
302〜305はOS301上で動作するアプリケーションである。302はスキャンアプリケーション、303はグラフィックデータ生成アプリケーション、304はグラフィック編集アプリケーション、305はクリップボードである。
【0016】
図4のフローチャートは、アプリケーション302〜305を利用して処理を行う際の動作を説明している。ステップS401では、スキャンアプリケーション302を用いて、ユーザがスキャナに入力した紙文書の1ページから、当該ページの画像データを生成する。画像データは適当な圧縮を施されて、図2のハードディスク203にファイルとして保存する。
【0017】
ステップS402では、グラフィックデータ生成アプリケーション303を用いて、ユーザが文書ページの画像データを、編集可能なグラフィックデータへと変換する。ここで言うグラフィックデータとは、1ページの視覚的情報を構成するためのデータであり、特に画像データのみではなく、パスや図形等のベクトル描画命令、或いは文字フォントのレンダリング情報等を含んだ状態のデータを指すものとする。また、編集可能とは、画像、ベクトル描画の命令や文字コード等の変更が可能な状態のことをいうが、ここでは特に、元々は一枚の画像として提供された文書のデータが、文字、線画、自然画、表及び背景等のオブジェクトに分けられ、更にその各々が最適な表現形式のグラフィックデータで表現されていることにより、文書としてレイアウトを変更したり、文書オブジェクトとして文字や線画等を変形したりすることが容易となっている状態のことをいう。
【0018】
ステップS403では、グラフィックデータ生成アプリケーション303により生成されたグラフィックデータに対し、ユーザがマウス等でその一部或いは全部を選択し、かつ選択されたデータをクリップボード305にコピーする。
【0019】
ステップS404では、グラフィック編集アプリケーション304に対し、ユーザがクリップボード305に保持されているグラフィックデータをグラフィック編集アプリケーション304へ取り込むことを指示する。
【0020】
ステップS405では、グラフィック編集アプリケーション304を用いて、ユーザが加工・編集したグラフィックデータをプリンタより紙として出力する。加工・編集とは、例えば線画を表現するグラフィックデータの一部を変形したり、パーツを追加したりすることである。
【0021】
図4で説明される処理に用いられるソフトウェアのうち、スキャンアプリケーション302とグラフィック編集アプリケーション304は、本発明の本質にかかわるものではなく、公知の技術による既存のアプリケーションを利用可能であるため説明は省略する。
【0022】
また、クリップボード305についても同様に、本発明の本質にかかわるものではないが、その仕組について以下に簡単に説明しておく。クリップボード305は、OS301で動作しているアプリケーション間でデータを交換するために使われる一種のバッファである。クリップボード305と通信可能なアプリケーションは、自らが持つデータをクリップボードへと複写することができる。このときクリップボード305には、データとそのデータ種を識別できるIDが保持される。別のアプリケーションはクリップボード305が保持するデータを読み出して自分のデータにすることができる。このとき自分が読み込めるデータ種か否かはクリップボード305が保持するIDで識別される。
【0023】
以下、本発明の本質部分を実施する、グラフィックデータ生成アプリケーション303について、その動作を詳細に説明する。グラフィックデータ生成アプリケーション(以下、アプリケーション)303は、OS固有の起動方法によって動作を開始する。起動直後のアプリケーションは固有のウィンドウを1個表示してユーザの指示操作があるまで待機する。
【0024】
図5は、アプリケーション303の外観をなすウィンドウの例である。501はアプリケーション名や処理ファイル名を表示するタイトルバー、502はユーザがアプリケーション303に対し階層式メニューにより操作を指示するメニューバー、503は同じくユーザがアプリケーション303に対しボタンクリックにより操作を指示するツールバーである。504は処理対象となるグラフィックデータを二次元の画像データにラスタライズして表示する表示領域、505及び506は表示領域504に表示される範囲をマウス操作で縦横にスクロールするスクロールバーである。
【0025】
メニューバー502上には、操作内容を大まかに分類する文字列507〜509が書かれている。各文字列507〜509をマウスでクリックするとその操作分類をより詳細に指示する項目の並ぶメニューが表われ、その項目をクリックすることにより実際に処理が行われたり、もしくは更に詳細な項目が表示されたりする。ツールバー503上には、メニューバー502から選択可能な階層式のメニュー内の項目のうち良く使う機能を配置しておくことができる。なお、階層式メニューからの指示と、それに対応するボタンでの指示は等価とみなすことができるので、ボタンでの指示例についての説明は省略する。
【0026】
アプリケーション303に対しユーザが指示することができる操作は、以下の6つに分類される。
(1)ファイル読み込み操作
(2)グラフィック表示操作
(3)グラフィック選択操作
(4)コピー操作
(5)ファイル書き出し操作
(6)終了操作
【0027】
(1)〜(6)の各操作は図6に示すような遷移関係を持つ。例えばすべての操作に先立ってファイル読み込み操作が必要であり、続いてグラフィック表示操作が可能となる。コピー操作はグラフィック選択操作の後にのみ実行可能であり、ファイル書き出し操作や終了操作はファイル読み込み後の任意時点で実行可能である。
【0028】
以下、(1)〜(6)の各操作について詳細に説明する。
(1)ファイル読み込み操作
ファイル読み込み操作時に行われるアプリケーション303内部の動作について、図7のフローチャートを用いて説明する。ステップS701では、ユーザが読み込むファイルを指定する。実施形態における実際の操作としては、メニューバー502にて文字列「ファイル」507をマウスでクリックすると、図9に示すように項目901〜904が展開し、続いて「開く」の項901をクリックすることにより、不図示のファイル選択ダイアログが表示される。このファイルダイアログ上でマウスやキーボードにより選択されたファイルがアプリケーション303へと読み込まれる。上記動作は、マウスによるいわゆるドラッグアンドドップにより、別のファイルシステム管理ソフトウェア等で選択されたファイルが読み込まれるような動作であってもよい。
【0029】
ステップS702では、読み込むファイルの種類が画像ファイルであるか、グラフィックデータファイルであるかを判別する。具体的には、あらかじめ定められた拡張子等、ファイル名の一部とファイル種類の関連付けによって種類を決定してもよいし、或いはファイルの先頭何バイトかを読み込んで、識別可能な文字やコード等を得ることで種類を判別してもよい。ファイルがグラフィックデータファイルの場合はステップS703へ、画像ファイルの場合はステップS704へ進む。
【0030】
ステップS703に進んだ場合は、グラフィックデータファイルを読み込んでグラフィックデータを得、その後ステップS706に進む。ステップS706では、グラフィックデータを画面に描画して、読み込み操作の処理を終了する。
【0031】
ステップS704に進んだ場合は、画像ファイルを読み込んで、メモリ202中のアプリケーション303が利用可能な領域へ、ラスタ画像データとして展開する。画像が圧縮状態にある場合は適宜展開処理を行う。圧縮形式の例としてはJPEG形式がある。
【0032】
ステップS705では、ラスタ画像データをグラフィックデータへと変換する。本ステップの処理内容については後述する。グラフィックデータが得られたら、ステップS706に進んでグラフィックデータを画面に描画し、読み込み操作の処理を終了する。
【0033】
ここで、ステップS705における、ラスタ画像データからグラフィックデータへの変換処理について、図8のフローチャートを用いて内容を詳細に説明する。ラスタ画像データからグラフィックデータへの変換とは、一枚のページ画像に対しその内容を、文字や線画、写真、表等の前景オブジェクトと、その残りの背景オブジェクトへと分離し、かつ前景オブジェクトの各々に適したグラフィック表現へと変換したものである。各オブジェクトに適したグラフィック表現については、このあとのフローチャートに従った処理の各所で説明する。
【0034】
ステップS801では、グラフィックデータへの変換処理にラスタ画像データを入力する。
【0035】
ステップS802では、ラスタ画像データがフルカラー或いはグレー画像の場合、白黒二値画像へと変換する。二値化に際しては、画像全域の輝度分布を調べて二値化閾値を求め、低輝度のピークにある文字部が黒、高輝度のピークにある下地部が白となるように二値化を行う。もしくは画像をいくつかのブロックに分けて各ブロックで最適な二値化閾値を求めて二値化を行ってもよい。
【0036】
ステップS803では、二値画像に対してブロックセレクション処理を行う。ブロックセレクション処理とは、ページを表すラスタ画像データ内に記載されている文字、線画、自然画、表等の文書オブジェクトのブロックを認識し、各々を矩形の領域として分別する処理である。
【0037】
ブロックセレクション処理の例を以下に説明する。まず二値画像に対して輪郭線追跡を行って黒画素輪郭で囲まれる画素の塊を抽出する。面積の大きい黒画素の塊については、内部にある白画素に対しても輪郭線追跡を行い白画素の塊を抽出、更に一定面積以上の白画素の塊の内部からは再帰的に黒画素の塊を抽出する。このようにして得られた黒画素の塊を、大きさ及び形状で分類し、異なる属性を持つ領域へ分類していく。例えば、縦横比が1に近く、大きさが一定の範囲のものを文字相当の画素塊とし、更に近接する文字が整列良くグループ化可能な部分を文字領域、扁平な画素塊を線画領域、一定大きさ以上でかつ四角系の白画素塊を整列よく内包する黒画素塊の占める範囲を表領域、不定形の画素塊が散在している領域を自然画領域、それ以外の任意形状の画素塊を線画領域、等とする。
【0038】
図15にブロックセレクション処理の例を示す。ラスタ画像データ1501に対しブロックセレクション処理を施すと、文字領域1502及び1507、自然画領域1503、線画領域1504及び1505、表領域1506、背景領域1508へと分割される。なお、図15では省略されるが、表領域1506内部からは6つの白画素塊領域が抽出され、その内部各々から文字領域が抽出される。また、表領域1506に関しては、前述の内包する四角形の白画素塊の整列状態が行列構造として解析される。具体的には横並びの白画素塊の境界を列の境界、縦並びの境界を行の境界とみなし、求められた境界数(両端除く)+1の行、列からなる格子を仮定する。それぞれ列位置i、行位置jの格子に(i,j)の位置情報を与え、それに従って各白画素塊が存在する位置情報を記録する。なお、複数の格子に跨がる白画素塊、例えば横方向k、縦方向mに跨がる場合は広がり情報(k,m)を白画素塊に追加する。
【0039】
図16に表構造解析の例を示す。図16の左に示す表は4行3列の行列構造を持つと判断され、各白画素塊に対し図16の右の示すような位置情報が与えられる。
【0040】
図17にアプリケーション303がブロックセレクション処理結果の情報として持つデータの例を示す。ブロックセレクション処理結果は、1領域の情報を表すバイナリデータのリスト1701、1702である。1領域が持つ情報としては、領域座標1703、領域の種類1704、領域種によって異なる個別情報へのリンク1705、領域内グラフィックデータへのリンク1708、次領域へのリンク1709、子領域へのリンク1701、からなる。1709〜1711は領域1701のグラフィックデータであり、ひとつの領域に対して複数のグラフィック表現によるデータが存在する場合、図のようにリストとして保持されている。子領域へのリンク1708は、表のように親子関係がある場合に、内包する領域を指す情報として使用される。なお、図17はあくまで一例であって、データ形式はどのような形態をとってもよい。例えば、タグ付きテキストによるXML形式で記述したとしても、本発明においては同じ効果が得られる。
【0041】
以降、ブロックセレクションで得られた各領域に対し、それぞれの領域種別に適したグラフィック表現によるグラフィックデータへの変換処理を行う。ステップS804では、文字の領域に対し、文字コード列とフォント情報からなる、文字コード表現のグラフィックデータを生成する。文字コード列は文字領域の画像に対してOCR処理を施すことで得ることができる。また、大きさや字体等を含むフォント情報は、OCR処理に類した認識処理で得ることができる。以下に具体的な実施例をあげて説明する。OCR処理とは、文字単位で切り出された画像に対し、パターンマッチの一手法を用いて認識を行って対応する文字コードを得る処理である。具体的には、文字画像から得られる特徴を数十次元の数値列に変換した観測特徴ベクトルと、あらかじめ字種毎に求められている辞書特徴ベクトルと比較し、最も距離の近い字種を認識結果とする。特徴ベクトルの抽出には種々の公知手法があり、例えば、文字をメッシュ状に分割し、各メッシュ内の文字線を方向別に線素としてカウントしたメッシュ数次元ベクトルを特徴とする方法がある。
【0042】
文字の領域に対して文字認識を行う場合、認識の前処理としてまず該当領域に対し横書き、縦書きの判定を行い、各々対応する方向に行を切り出し、更に行から文字を切り出して各文字個々の画像を得る。ここで横書き、縦書きの判定は、該当領域内で画素値に対する水平/垂直の射影を取り、水平射影の分散が大きい場合は横書き領域、垂直射影の分散が大きい場合は縦書き領域と判断すればよい。文字列及び文字への分解は、横書きならば水平方向の射影を利用して行を切り出し、更に切り出された行に対する垂直方向の射影から、文字を切り出すことで行う。縦書きの文字領域に対しては、水平と垂直を逆にすればよい。なお、この時同時に文字のサイズが検出できる。
【0043】
フォントを認識する方法としては、文字認識の際に用いられる、字種数分の辞書特徴ベクトルを、文字形状種すなわちフォント種に対しても複数用意し、先の認識処理におけるマッチングの際に文字コードとともにフォント種を得る方法がある。
【0044】
ステップS805では、文字の領域に対し、文字コード表現とは異なる第二のグラフィックデータとして、文字の輪郭を描画して塗りつぶすパス描画データからなるベクトル表現のグラフィックデータを生成する。文字領域のベクトルデータ化は、文字領域の二値画像に対し、各文字に相当する黒画素塊の輪郭を複数の線分へと分割し、それぞれを直線及び曲線で近似することによって得られる。具体的な線分近似の処理例を以下に説明する。文字領域の二値画像に対して黒画素塊の輪郭追跡を行って外輪郭の点列を求める。この点列を角と看倣される点で区切って、各区間を部分的な直線或いは曲線で近似する。角とは曲率が極大となる点であり、曲率が極大となる点は、図26に示すように、任意点Piに対し左右k個の離れた点Pi−k,Pi+kの間に弦を引いたとき、この弦と任意点Piの距離が極大となる点として求められる。更に、点Pi−k,Pi+k間の弦の長さ/弧の長さをRとし、Rの値が閾値以下である点を角とみなすことができる。角によって分割された後の各区間は、直線は点列に対する最小二乗法等、曲線は3次スプライン関数等を用いて近似することができる。同様に黒画素塊内部に存在する白画素塊がなす内輪郭に対しても部分的直線或いは曲線で近似する。
【0045】
更に、ステップS804の処理と同等の文字切出しを行い、かつ原画像より各文字線内部の平均的画素値を求めて各文字の色とし、これを各文字に対応するパスを描画するカラー情報とすることができる。
【0046】
ステップS806では、文字の領域に対する第三のグラフィックデータとして、文字線内部の画素と文字以外の画素を容易に区別可能な二値或いはN値の画像データで表現されるグラフィックデータを生成する。文字の領域を表現する二値画像データは、先にページ全体を二値化して得た画像から該当領域を切り出すことによって得られる。なお、多値の原画像から該当領域内の二値化閾値を再度求めることにより、より最適な文字領域の二値画像を得ることもできる。
【0047】
また、ステップS804の処理を利用して文字切出しを行い、かつ原画像より各文字線内部の平均的画素値を求めて各文字の色とし、前記文字領域の二値画像を文字毎に色によるN枚のプレーンに分割することで、色情報を持ったN枚の二値画像によるグラフィックデータが生成される。或いは、前記のようにN枚のプレーンに分割せずに、色情報をパレットコードとして画素毎にN値をとりうるN値画像によるグラフィックデータを生成してもよい。
【0048】
ステップS807では、線画の領域に対し、内外輪郭のパス描画データからなるベクトル表現のグラフィックデータを作成する。この内外輪郭のパス描画からなるベクトルデータは、前述のステップS805における文字領域のベクトルデータ化処理と同様、線画領域の二値画像から、黒画素塊の輪郭線を線分近似することで求めることができる。
【0049】
また、二値画像上で線部分をなす画素について、多値の原画画像上から得た画素値を平均値化することで、パス描画のカラー情報を得る。なお、線画が複数色から構成されている場合は、主要色となるひとつの画素値を選んでカラー情報とする。
【0050】
ステップS808では、線画の領域に対する第二のグラフィックデータとして、形状要素の描画データからなるベクトル表現のグラフィックデータを作成する。形状要素の描画データとは、線部分を外輪郭と内輪郭のパスの組で記述するのではなく一本の太さをもった線分のパスとして表現したり、或いは四角や丸等代表的な形状についてはパスの集合ではなく各種形状を描画するデータで表現したりするベクトル表現データである。
【0051】
線分のパスで表現される要素描画データを求めるには、線画領域の二値画像にあらかじめ公知の細線化法を施してすべての線幅を1としてから、各線の点列を追跡し、以後ステップS807と同様に点列を区切る角となる頂点を検出し、近似される直線或いは曲線のあてはめを行っていく。
【0052】
また、四角や丸等の代表的な形状は、あらかじめ置換可能な画像パターンを用意しておき、パターンマッチング等で対応する線素を置き換えていく。
【0053】
更に、各線分や形状等の線画を細分する要素の各々に対し、二値画像上で対応する線部分をなす画素について、多値の原画画像上から得た画素値を平均値化することで、各要素描画のカラー情報を得る。
【0054】
ステップS809では、線画の領域に対する第三のグラフィックデータとして、線画部と背景を容易に分離しうる二値或いはN値の画像データで表現されるグラフィックデータを生成する。具体的には、線画領域部分の多値原画像を背景色の画素とそれ以外の画素に分け、背景画素は仮想的に透明を表す値、それ以外は線画部分の色数を適度に量子化されたN個のパレット色のいずれかに対応する値に割り当てた、パレット付きのN値画像を生成する。
【0055】
ステップS810では、自然画の領域に対し、画像からなるグラフィックデータを作成する。具体的には、原画像から該当領域部分を切り出した状態の画像データを作成する。
【0056】
ステップS811では、表領域に対し、表枠線の描画データからなるベクトル表現のグラフィックデータを作成する。具体的な処理方法は、表領域の二値画像から文字部分の画素を消去し、表枠のみの画像を作成する。以降線画の場合と同様の線分抽出、近似処理を行い、必要に応じて表のセルに対応する矩形描画のベクトルデータへと変換する。
【0057】
ステップS812では、表領域に対し、表内文字の文字コードとその行列状配置構造を表現するデータからなるグラフィックデータを作成する。表内文字に関しては既にステップS804おいて、表内の枠で囲まれた領域、いわゆるセルごとに内部の文字領域に対する文字コード及びフォント情報が抽出されているものとする。行列状配置構造に関しては既に表に対するブロックセレクション処理の過程で得られている。ここで表のセルは表内の白画素塊に相当し、それらは各々表内を行列状格子に配置されるときの位置情報及び広がり情報を持っている。上記の文字コード及びセルの位置、広がり情報を合わせて表領域のグラフィックデータとする。
【0058】
ステップS813では、ステップS804〜S812で各種グラフィックデータに変換された前景の情報を原画像から取り除いたもの、すなわち背景の画像からなるグラフィックデータを作成する。具体的な背景の作成は次のように行う。文字及び表、線画領域においては、領域の二値画像を参照し、その黒画素にあたる画素を原画像において背景色に変更する。背景色とは、その画素の近傍にあって二値画像では白画素に相当する画素の色である。実際のスキャン画像では線近辺の画素端は幾分なだらかに変化しているから、背景色に変更する画素は実際の二値画像上の黒画素を1dot程度太らせた範囲にするほうがよく、背景色を求める際にもその太らせた範囲外の画素数点の平均色として求めるほうがよい。写真部分に対しては、前景を取り去った後の面積が大きく、かつ前景を重ね書きした場合完全に上書きされるため背景色で補完する必要はない。ただしデータとして圧縮率を向上させるためには背景色或いは単に白等で塗りつぶしておいてもよい。
【0059】
以上、ステップS804〜S812にて生成されたグラフィックデータは、図17中の1709のように各領域のグラフィックデータへのリンクから参照されるデータとして保持される。ここでグラフィックデータの形式はどのようなものでも構わない。アプリケーション上での描画命令に一対一対応したバイナリ描画データの集合でもよいし、或いはSVGのようなグラフィック言語によって記述されたテキストデータであってもよい。
【0060】
(2)グラフィック表示操作
グラフィック表示とは、グラフィックデータの一部或いは全部を二次元の画像データへとラスタライズして表示領域504へと描画することである。このとき、アプリケーション303が保持するグラフィックデータによって表現しうるページ領域のうちどの部分を表示するか、或いは、ある同じ領域を表現する複数種類のグラフィックデータを保持しているときに、どの種類のグラフィックデータを描画して表示するかを、ユーザの意図に基づいて選択する機能を提供するのがこのグラフィック表示操作である。具体的操作としては、メニューバー502にて文字列「表示」508をクリックすると展開されるメニュー(図10)の各項目をクリックすることによって各処理が実行される。以下に詳細を説明する。
【0061】
(2−1)定倍率表示操作
グラフィックデータは、各描画要素が持つ座標値に対してある比を乗じて描画することにより、ラスタライズ後の大きさを自由に変更することができる。ここで、元々のページの物理的大きさと、ディスプレイ上での見かけの大きさが等しくなるとき倍率を100%と定める。倍率100%時に座標値に乗ずる比の値はグラフィックデータの解像度とディスプレイ解像度との比から一意に定まる。
【0062】
図10の1001〜1007は定倍率表示操作を指示するメニューの例である。「25%」1001、「50%」1002、「100%」1003、「200%」1004、「400%」1005、「800%」1006、及び「倍率設定」1007の7項目があり、1001〜1006については選択された倍率でラスタライズされてディスプレイに表示される。「倍率設定」1007の項目を選ぶと倍率の数値を入力するダイアログが開き、そこで入力された値に応じた倍率でラスタライズされてディスプレイに表示される。
指示された倍率でラスタライズされたページが表示領域504に収まらない場合は、表示可能な範囲のみが描画される。ユーザが描画範囲を変更可能な表示領域の右及び下にあるスクロールバー505、506を動かすほか、後述のパン操作で描画範囲を変更することもできる。
【0063】
(2−2)ウィンドウ依存表示操作
グラフィックデータを現在のアプリケーションウィンドウ表示サイズに依存する大きさでラスタライズしてディスプレイ表示する操作である。図10の1008、1009がウィンドウ依存表示操作を指示するメニューの例であり、「ページ全体を表示」1008はウィンドウ内の表示領域内にページ全体が収まるような大きさで、「幅を合わせて表示」1009は表示領域幅とラスタライズされたページ幅が等しくなるような大きさで、それぞれラスタライズされ表示される。アプリケーションウィンドウのサイズを変更すると、それに合わせた大きさで再ラスタライズされ表示される。
【0064】
(2−3)ルーペ操作
アプリケーションウィンドウに現在表示されているグラフィックデータの一部を拡大して表示する操作である。図10の「ルーペ」項目1010を選択した後に、表示領域上の一点でマウスのボタンを押下し、そのままドラッグしてボタンを離すと、押下した点と離した点の2点からなる矩形の範囲を拡大して表示する。このとき拡大領域の幅が表示領域の幅と等しくなる倍率と、拡大領域の高さが表示領域の高さと等しくなる倍率、両者のうち小さいほうの倍率でグラフィックデータがラスタライズされ表示される。なお、マウスボタンを押下してからドラッグせずに離した場合、現在表示されている倍率の2倍で表示する。
【0065】
(2−4)パン操作
マウスのドラッグにより、アプリケーションウィンドウに一部分表示されているラスタライズされたグラフィックデータの表示範囲を変更する操作である。図10の「パン」項目1011を選択した後に、表示領域上の一点でマウスボタンを押下してドラッグすると、それに連動して表示される範囲が移動する。ページの幅が表示領域の幅に収まっている場合左右には移動しない。同様にページ高さが表示領域の高さに収まっている場合上下には移動しない。
【0066】
(2−5)表示選択
ページを構成するグラフィックデータは、前述のとおり文書のオブジェクトに分割された領域毎にそれぞれが領域内のグラフィックデータとして保持している。また文書のオブジェクトは大きく分けて前景と背景に分けられる。
【0067】
図10の1012、1013、1014は前景と背景を選択的に表示する為の項目であり、「前景」1012を選ぶと前景のグラフィックデータのみが表示され、「背景」1013を選ぶと背景のグラフィックデータのみが表示され、「前景+背景」1014を選ぶと背景のグラフィック上に前景のグラフィックデータが描画された状態で表示される。図18に表示選択の例を示す。「前景」1012選択時には1801、「背景」1013選択時には1802、「前景+背景」1014選択時には1803のように表示される。
【0068】
また、図10の「前景詳細」1015を選ぶと、同じ領域が複数表現種のグラフィックデータを保持する場合にどの表現種を描画データとして表示するかを選択することが可能なダイアログが開かれる。前景詳細を選択するダイアログの例として、図19の1901は、文字の領域に対しては、文字輪郭パスデータ表現と、画像データ表現のいずれかを、線画の領域に対しては、内外輪郭パスデータ表現、形状要素データ表現、画像データ表現のいずれかの選択を提供している。なお、本実施形態では文字領域における文字コード表現と、表領域における表内文字コードおよび行列状配置構造表現は、前景として描画されるグラフィックとしては扱っておらず、図19での選択肢にも含まれない。
【0069】
(3)グラフィック選択操作
ユーザは、グラフィック選択操作によりグラフィックデータの一部範囲或いは全体を選択的に指示することができる。この操作は、後述する(4)コピー操作と組み合わせて、アプリケーション303が保持するグラフィックデータの一部又は全部をアプリケーション304等別のアプリケーション上で利用する目的で行われる。
【0070】
図11に示すメニューの1101〜1103は、選択するグラフィック種類を指示するメニューである。「描画物選択」1101、「文字コード選択」1102、「表コード選択」1103の3項目のいずれかをクリックした後に、表示領域上でマウスをドラッグして選択する範囲を指示すると、範囲内でかつ選択対象となるグラフィックデータの選択状態となる。この選択状態となったグラフィックデータは後述する(4))コピー操作の対象となる。
【0071】
以下、上記3種の選択それぞれの場合について説明する。まず、「描画物選択」1101を指示した場合、マウスによる表示領域上での範囲指定、すなわちマウスボタンを押下した点と離した点を対角とする矩形範囲に存在するグラフィックデータのうち、現在描画されているグラフィックデータが選択状態となる。ここで、現在描画されているグラフィックデータとは、前述した1012〜1014及び1015の表示選択操作によって選ばれたグラフィックデータに一致する。すなわち、「前景」1012表示選択時には、前景にあたるグラフィックデータのみが、「背景」1013表示選択時には背景のグラフィックデータのみが、「前景+背景」1014表示選択時には前景と背景両方のグラフィックデータが選択状態となる。かつ、対象領域において複数種の表現からなる前景グラフィックデータを持っている場合、「前景詳細」1015によって選ばれている種類のグラフィックデータが選択状態となる。
【0072】
選択された矩形範囲の境界を跨いでいるグラフィック描画要素が存在する場合、選択範囲と選択状態にあるグラフィック描画要素の対応を一致させるために、選択の範囲を変更する、もしくはグラフィックデータ描画要素自体を一部切り取って選択範囲内に収まるようにする、等の処理が必要となる。
【0073】
具体的には、選択されるグラフィック描画要素が画像表現のデータの場合、元データから選択範囲内にかかる部分のみを切り取ってできた新規のグラフィックデータを選択対象とする。ただし、実際に切り取りの加工処理を行うのは選択時ではなく、後述するコピー操作を実行する際に行うほうがよい。
【0074】
一方、選択されるグラフィック描画要素がベクトル表現のデータの場合、選択範囲でデータを切り取ることは容易ではないので、以下2ついずれかの対処を行う。(対処1)選択範囲をはみだすグラフィック描画要素は選択対象外とする、(対処2)ユーザが最初に指示した選択範囲に重なっているグラフィック描画要素はすべて内包されるように選択範囲となる矩形を自動的に拡大する。
【0075】
図12は(対処1)の例であり、1201の状態でドラッグしたマウスのボタンを離すと、範囲からはみだすグラフィック要素1202と1203は選択対象外となる。図13は(対処2)の例であり、1301の状態でドラッグしたマウスのボタンを離すと、範囲からはみだすグラフィック要素1302と1303を内包するように、選択範囲は1304のように自動的に拡大される。
【0076】
(対処1)、(対処2)のいずれを行うかは、固定であっても、ユーザが選択するようにしてもよい。また、背景等画像のデータを含むか否か、又は文字のように小さな要素と表枠や線画のように大きな要素とで動作を変更するようにしてもよい。
【0077】
「描画物選択」1101時には、選択された矩形範囲を視覚的に明示するために、選択範囲に対応する四角の枠が表示領域上に重ねて表示される。また、どのグラフィック描画要素が選択状態になっているかをユーザに視覚的に明示するために、選択対称となるグラフィック描画要素の一部は、色や形状等の修飾が施された状態で表示領域に描画される。例えば、文字や線画、表枠等ベクトル表現されるデータについては、選択状態にあるグラフィック描画要素は本来の色ではなく赤で描画される。これによりユーザは選択状態にあるデータと非選択状態にあるデータを容易に区別することができる。
【0078】
前記の例に留まらず別の色に、例えば元の色のR,G,B値をそれぞれ反転させた色にしてもよい。また、選択状態と非選択状態にあるグラフィック描画要素の視覚的な区別が容易となるのであれば、色ではなく輪郭内の塗りつぶしパターンを変更したり、或いは点滅させたり、太さを変えたりしてもよい。
【0079】
更に、範囲指定により選択されるグラフィック描画要素は、前述した(2−5)表示選択によって選ばれているもの、すなわち実際に表示されている描画データに限定されるが、このときに選択状態となるグラフィック描画要素の種類が、表示領域に描画されたグラフィックを見るだけでは解りにくい場合がある。例えば、背景が白い部分については、視覚上「前景」のみを表示している場合と「前景+背景」を表示している場合との区別がつかない。或いは、図10の「前景詳細」1015設定にて、同じ線画を表現するデータとして、内外輪郭のパスデータ表現が描画されているのか、或いは形状要素のデータが描画されているのか等、見た目の差が微少で区別がつきにくい場合がある。
【0080】
そこで、先の選択状態を明示する表現方法を、選択状態となったデータの種類に応じて更に変更することで、後述のコピー操作においてどのデータがコピーされるかをユーザにより明確に提示し、意図に反した異なる種類のデータをコピーすることを防止する。例えば、表示選択における「前景」表示時には、選択領域に対応する四角の枠の表示色を青とし、「背景」表示時、「前景+背景」表示時にはそれぞれ赤、緑とする。
【0081】
また、図10の「前景詳細」設定における、複数の表現種類を持つオブジェクトに対する描画種類の設定に対しては、上記の枠の少し内側に描画種類に同期する色の枠を描画した二重枠表示を行う。例えば、内外輪郭パスデータが選択される場合には黄色の枠、形状要素のデータが選択される場合には紫色の枠、というように描画種類に一対一となる色で内側の枠を表示する。もちろん、前記の色付きの二重枠に限らず、色と線種や点滅等組み合わせてもよい。或いは、枠だけではなく選択状態にあるグラフィック描画要素の色や形状をデータ種類に応じて変更してもよい。
【0082】
図11に戻って、「文字コード選択」1102を指示した場合、マウスのドラッグで指定される範囲にある文字コード表現のデータが選択される。文字コード表現はグラフィックとして描画されていないので、各選択文字に相当する範囲を黒く塗り潰したり、画素値を算術的に反転する等したりして、当該位置の文字コードが選択状態にあることをユーザに提示する。
【0083】
図20に文字コード選択状態の表示例を示す。マウスで領域2001を指定すると、2002のように領域内の文字にあたる部分がそれぞれ黒塗りされた状態になる。図11にて、「表コード選択」1103を指示した場合、マウスのドラッグで指定される範囲にある表に対し、その内部の文字コード及び行列状の配置構造を表現するデータが選択状態となる。表が選択状態となったことをユーザに明示するために、表の外周に他の描画物選択とは異なる色の枠を上書きする。
【0084】
また、図11の「領域情報表示」項目1104を指示すると、表示領域に描画されたグラフィックデータ上に、ステップS803のブロックセレクション処理の結果となる領域情報にそれぞれ対応する矩形枠が表示される。このときに任意の矩形枠をマウスでクリックすることにより、その枠内のグラフィックデータ、文書オブジェクト単位のグラフィックデータを選択状態にすることができる。なお選択されるグラフィックデータ種類は前述の1101〜1103の選択及び(2−5)表示選択に従う。
【0085】
図21に、「領域情報表示」項目を指示後の例を示す。なお、表示選択は「前景」になっており、かつ色の代わりに点線で図示している。
【0086】
(4)コピー操作
(3)グラフィック選択操作により、少なくとも一つ以上のグラフィックデータ要素が選択状態にあるとき、図11の「コピー」1105を指示すると、選択状態にあるグラフィックデータの内容がクリップボード305へと複写される。クリップボード305に複写されたグラフィックデータは、グラフィック編集アプリケーション304のように、同データ形式を解釈可能な任意のアプリケーションに貼り付けて使用することが可能である。
【0087】
コピー操作に対する内部動作を図14のフローチャートに従って説明する。ステップS1401では、選択対象に画像データがある場合、その画像データが選択領域内に収まっているかどうかを判断し、収まっていればステップS1403に、収まっていなければステップS1402に進む。
【0088】
ステップS1402では、選択対象の画像データから選択領域と重なる部分のみを切り取った画像をあらたな選択対象とし、元の画像データは選択対象から外す。ステップS1403では、アプリケーション内部形式のグラフィックデータフォーマットを、クリップボードへ保存するのに適したフォーマットに変換する。ここでは、このデータを利用するグラフィック編集アプリケーション304が解釈可能なフォーマットへと変換する。
【0089】
ステップS1404では、変換されたグラフィックデータをクリップボードへと複写する。図22〜24に、グラフィックデータを選択かつコピー操作した場合に、クリップボードへ複写されるデータ種類の例を示す。ここで処理しようとしているのは、図25に示されるページのデータであり、2501は前景となる文字領域、2502は背景領域をそれぞれ点線枠で示している。また、図10の「前景詳細」1015設定では、文字領域のパス描画を選択しているものとする。
【0090】
グラフィックデータ範囲としては、実線2503をマウスで指定するのものとして、(2−5)表示選択にて1012〜1014が選ばれている場合それぞれについて動作を説明する。
【0091】
図22は「前景」1012の表示が選ばれている場合を説明する図である。表示領域2201でマウスにより選択範囲2202を指定し、コピー操作を行うと、文字領域2501のパス表現グラフィックデータより、選択範囲内にある2文字分のパス描画データ2203、2204がクリップボード305へ複写される。
【0092】
図23は「背景」1013表示が選ばれている場合を説明する図である。表示領域2301でマウスにより選択範囲2302を指定し、コピー操作を行うと、背景領域2502の画像データから選択範囲のみを切り取った画像データ2303がクリップボード305へと複写される。
【0093】
図24は「前景+背景」1014表示が選ばれている場合を説明する図である。表示領域2401でマウスにより選択範囲2402を指定し、コピー操作を行うと、文字領域2501のパス表現グラフィックデータより、選択範囲内にある2文字分のパス描画データ2404、2405と、また背景領域2502の画像データから選択範囲のみを切り取った画像データ2406が合成されたグラフィックデータ2403がクリップボード305へと複写される。お、図24のグラフィックデータ2403は、背景画像データを描画した上にパスデータを描画するように記述されているので、グラフィックデータ2403を受け取ったアプリケーションでは、文字と背景を別々に扱うことが可能である。
【0094】
(5)書き込み操作
図9の「保存」項目902を指示すると、アプリケーション303が持つグラフィックデータを、直後に表示されるダイアログ(不図示)でユーザが指定したファイルへと保存する。
【0095】
(6)クローズ操作
図9の「閉じる」項目903を指示すると、現在読み込んでいるグラフィックデータを破棄し、(1)ファイル読み込みを待機する状態に戻る。「終了」項目904を指示すると、「閉じる」項目903と同様にグラフィックデータを破棄するとともに、アプリケーション303を終了する。
【0096】
以上述べたように、グラフィックデータの範囲を指定してその中のデータを別のアプリケーションで利用するための手段にコピーする際に、同範囲内に複数種類のデータが存在する場合、その種類に応じて範囲指定枠の色等を変更することで現在どのデータ種が選択されコピーされるのかをユーザが直ちに知ることができるので、誤ったデータ種類をコピーしてしまう等の誤操作が軽減され、ユーザの作業負担を減らすことができる。
【0097】
上記実施形態では、選択されたグラフィック描画要素の種類を明示するために視覚的効果を用いたが、これに加えて音声による警告を行ってもよい。この場合でも、現在どのデータ種が選択されコピーされるのかをユーザが直ちに知ることができるので、誤ったデータ種類をコピーしてしまう等の誤操作が軽減され、ユーザの作業負担を減らすことができる。
【0098】
なお、本発明の目的は、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【0099】
この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0100】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0101】
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(基本システム或いはオペレーティングシステム)等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0102】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【0103】
【図1】本発明を適用したシステムの構成を示す図である。
【図2】コンピュータ装置の内部ハードウェア構成例を示す図である。
【図3】コンピュータ装置で実行されるソフトウェアのモジュール構成例を示す図である。
【図4】アプリケーションを利用して処理を行う際の動作を説明するためのフローチャートである。
【図5】グラフィック生成アプリケーションの外観をなすウィンドウの例を示す図である。
【図6】各操作の遷移関係を説明するための図である。
【図7】ファイル読み込み操作時に行われるグラフィック生成アプリケーション内部の動作を説明するためのフローチャートである。
【図8】ラスタ画像データからグラフィックデータへの変換処理を説明するためのフローチャートである。
【図9】メニューバーにて文字列「ファイル」をマウスでクリックすると展開されるメニューを示す図である。
【図10】メニューバーにて文字列「表示」をクリックすると展開されるメニューを示す図である。
【図11】メニューバーにて文字列「選択」をクリックすると展開されるメニューを示す図である。
【図12】選択範囲をはみだすグラフィック描画要素は選択対象外とする例を説明するための図である。
【図13】ユーザが最初に指示した選択範囲に重なっているグラフィック描画要素はすべて内包されるように選択範囲となる矩形を自動的に拡大する例を説明するための図である。
【図14】コピー操作に対する内部動作を説明するためのフローチャートである。
【図15】ブロックセレクション処理の例を示す図である。
【図16】表構造解析の例を示す図である。
【図17】グラフィック生成アプリケーションがブロックセレクション処理結果の情報として持つデータの例を示す図である。
【図18】表示選択の例を示す図である。
【図19】前景詳細を選択するダイアログの例を示す図である。
【図20】文字コード選択状態の表示例を示す図である。
【図21】「領域情報表示」項目を指示後の例を示す図である。
【図22】グラフィックデータを選択かつコピー操作した場合に、クリップボードへ複写されるデータ種類の例を示す図である。
【図23】グラフィックデータを選択かつコピー操作した場合に、クリップボードへ複写されるデータ種類の例を示す図である。
【図24】グラフィックデータを選択かつコピー操作した場合に、クリップボードへ複写されるデータ種類の例を示す図である。
【図25】コピー操作で処理しようとするページのデータを示す図である。
【図26】文字の輪郭を描画して塗りつぶすパス描画データからなるベクトル表現のグラフィックデータを生成する処理を説明するための図である。
【符号の説明】
【0104】
101 コンピュータ装置
102 ディスプレイ装置
103 プリンタ装置
104 操作装置
105 スキャナ装置
201 CPU
202 メモリ
203 ハードディスク
204 I/O部
301 基本ソフトウェア
302 スキャンアプリケーション
303 グラフィックデータ生成アプリケーション
304 グラフィック編集アプリケーション
305 クリップボード
【技術分野】
【0001】
本発明は、複写機等の画像処理装置で読み取った画像データを、ワード等所謂文書作成アプリケーションソフトで再利用可能なベクトルデータに変換する画像処理装置、方法、及びコンピュータプログラムに関する。
【背景技術】
【0002】
近年、環境問題が叫ばれる中、オフィスでのペーパーレス化が急速に進んでいる。すなわち、従来からバインダー等で蓄積された紙文書をスキャナで読み取り画像データに変換して画像記憶装置にデータベースとして蓄積する文書管理システムが構築されている。
【0003】
更に、紙に書かれた表や図等文書の一部分を文書作成アプリケーションで再利用するために、スキャナで読み取った画像データの中身を解析して文字、線画、自然画、表及び背景等の要素に分け、それぞれ適した表現によるグラフィックデータに変換する技術が開発されている。ここで言う適した表現とは、例えば文字であれば文字コードとフォント情報による表現、画像表現もしくは文字輪郭のベクトル表現、線画であれば画像もしくはベクトル表現、自然画であれば画像表現、表であればベクトル表現もしくは文字コード+表構造表現、等のように文書要素の種類に応じて変化するほか、文書作成アプリケーション上での再利用に際し、ユーザの任意意図によって時々に適切な表現は変化する。例えば文字認識率が悪い場合、文字コード表現よりもベクトル表現のほうが望まれるかもしれない。
【0004】
すなわち、画像データをグラフィックデータに変換する際には、ひとつの文書要素を複数で表現するグラフィックデータを作成し合わせ持っていることが、様々なユーザの要求に応じて直ちに所望のデータを提供することが可能な状態となって望ましい。
【0005】
こういったグラフィックデータの一部を利用しようとする場合、位置による範囲選択のほかに、データの種類を考慮する必要が生じる。そのような選択方法について、特許文献1に記載された文書処理装置では、表示画面を利用して文書の編集を行う際に、ある文書枠内に表示すべき図形データ、イメージデータ、文字データ等が記憶され、ユーザはそのデータの少なくとも1つを読み出して、同文書の編集に再利用すべく文書の別部分へと複写を行うことができた。特に、ある枠内のデータを読み出すときに、データの種類が複数(例えば図形データ、イメージデータ等)ある場合、取り出すデータの選択画面を表示し、その中の一つ或いは複数を指定することで、ユーザがデータ種類を選択することを可能にしていた。
【0006】
【特許文献1】特公平5-47860号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
特許文献1に記載された文書処理装置の場合、複写のために枠内のデータ読み出しを指示する度にデータ選択画面が表示され、その都度所望のデータ形式を選択しなくてはいけない煩わしさがあった。
【0008】
その対策として、あらかじめデータ形式を設定することで都度の選択を回避することはできるが、その場合、既設定が所望の選択に一致することがわかりにくく、誤ったデータを取り出してしまうおそれがあった。
【0009】
本発明は上記のような点に鑑みてなされたものであり、誤ったデータ種類をコピーしてしまう等の誤操作を軽減し、ユーザの作業負担を減らすことを目的とする。
【課題を解決するための手段】
【0010】
本発明による画像処理装置は、グラフィックデータを描画し表示する表示手段と、前記表示手段上で範囲を指定する範囲指定手段と、前記グラフィックデータのうち指定範囲内にあるデータのみを特定する手段と、前記グラフィックデータの種類を指定するデータ種類指定手段と、前記範囲及び種類で特定されたグラフィックデータを出力する出力手段とを備え、前記範囲指定時に、前記データの種類指定に応じて異なる視覚的効果を生じる点に特徴を有する。
本発明による画像処理方法は、グラフィックデータを描画し表示手段に表示する工程と、前記表示手段上で範囲を指定する工程と、前記グラフィックデータのうち指定範囲内にあるデータのみを特定する工程と、前記グラフィックデータの種類を指定する工程と、前記範囲及び種類で特定されたグラフィックデータを出力する工程とを有し、前記範囲指定時に、前記データの種類指定に応じて異なる視覚的効果を生じる点に特徴を有する。
本発明によるコンピュータプログラムは、グラフィックデータを描画し表示手段に表示する処理と、前記表示手段上で範囲を指定する処理と、前記グラフィックデータのうち指定範囲内にあるデータのみを特定する処理と、前記グラフィックデータの種類を指定する処理と、前記範囲及び種類で特定されたグラフィックデータを出力する処理とをコンピュータに実行させ、前記範囲指定時に、前記データの種類指定に応じて異なる視覚的効果を生じる点に特徴を有する。
【発明の効果】
【0011】
本発明によれば、グラフィックデータの範囲を指定してその中のデータを別のアプリケーションで利用するための手段にコピーする際に、同範囲内に複数種類のデータが存在する場合でも、現在どのデータ種類が選択されコピーされるのかをユーザが直ちに知ることができるので、誤ったデータ種類をコピーしてしまう等の誤操作が軽減され、ユーザの作業負担を減らすことができる。
【発明を実施するための最良の形態】
【0012】
以下、添付図面を参照して、本発明の好適な実施形態について説明する。図1に本発明を適用したシステムの構成を示す。101はコンピュータ装置、102はコンピュータ装置が作成する画像情報をブラウン管や液晶等の画面に表示するディスプレイ装置、103はコンピュータ装置101が作成する画像情報を紙に印刷するプリンタ装置、104はユーザがコンピュータ装置101に指示を送るためのマウスやキーボード等の操作装置、105は紙の内容を光電変換して画像データに変換しコンピュータ装置101に入力するスキャナ装置である。
【0013】
図2に、コンピュータ装置101の内部ハードウェア構成例を示す。201はソフトウェアを実行することで装置の大部分を制御するCPU、202はCPU201が実行するソフトウェアやデータを一時記憶するメモリ、203はソフトウェアやデータを保存するハードディスク、204はキーボードやマウス、スキャナ等の入力情報を受け取り、またディスプレイやプリンタに情報を出力するI/O部である。
【0014】
図3に、コンピュータ装置101で実行されるソフトウェアのモジュール構成例を示す。301はコンピュータの基本ソフトウェア(OS)である。OS301はいわゆるウィンドウシステムを有しており、OS301上で動作するアプリケーションソフトウェアは、画像情報をディスプレイに表現するとともに、マウス等によるグラフィカルな操作機能を有す、いわゆるGUIオペレーションが可能である。このようなOSの例としてはMicrosoft Windows(登録商標)(TM) や MacOS X(TM)等がある。
【0015】
302〜305はOS301上で動作するアプリケーションである。302はスキャンアプリケーション、303はグラフィックデータ生成アプリケーション、304はグラフィック編集アプリケーション、305はクリップボードである。
【0016】
図4のフローチャートは、アプリケーション302〜305を利用して処理を行う際の動作を説明している。ステップS401では、スキャンアプリケーション302を用いて、ユーザがスキャナに入力した紙文書の1ページから、当該ページの画像データを生成する。画像データは適当な圧縮を施されて、図2のハードディスク203にファイルとして保存する。
【0017】
ステップS402では、グラフィックデータ生成アプリケーション303を用いて、ユーザが文書ページの画像データを、編集可能なグラフィックデータへと変換する。ここで言うグラフィックデータとは、1ページの視覚的情報を構成するためのデータであり、特に画像データのみではなく、パスや図形等のベクトル描画命令、或いは文字フォントのレンダリング情報等を含んだ状態のデータを指すものとする。また、編集可能とは、画像、ベクトル描画の命令や文字コード等の変更が可能な状態のことをいうが、ここでは特に、元々は一枚の画像として提供された文書のデータが、文字、線画、自然画、表及び背景等のオブジェクトに分けられ、更にその各々が最適な表現形式のグラフィックデータで表現されていることにより、文書としてレイアウトを変更したり、文書オブジェクトとして文字や線画等を変形したりすることが容易となっている状態のことをいう。
【0018】
ステップS403では、グラフィックデータ生成アプリケーション303により生成されたグラフィックデータに対し、ユーザがマウス等でその一部或いは全部を選択し、かつ選択されたデータをクリップボード305にコピーする。
【0019】
ステップS404では、グラフィック編集アプリケーション304に対し、ユーザがクリップボード305に保持されているグラフィックデータをグラフィック編集アプリケーション304へ取り込むことを指示する。
【0020】
ステップS405では、グラフィック編集アプリケーション304を用いて、ユーザが加工・編集したグラフィックデータをプリンタより紙として出力する。加工・編集とは、例えば線画を表現するグラフィックデータの一部を変形したり、パーツを追加したりすることである。
【0021】
図4で説明される処理に用いられるソフトウェアのうち、スキャンアプリケーション302とグラフィック編集アプリケーション304は、本発明の本質にかかわるものではなく、公知の技術による既存のアプリケーションを利用可能であるため説明は省略する。
【0022】
また、クリップボード305についても同様に、本発明の本質にかかわるものではないが、その仕組について以下に簡単に説明しておく。クリップボード305は、OS301で動作しているアプリケーション間でデータを交換するために使われる一種のバッファである。クリップボード305と通信可能なアプリケーションは、自らが持つデータをクリップボードへと複写することができる。このときクリップボード305には、データとそのデータ種を識別できるIDが保持される。別のアプリケーションはクリップボード305が保持するデータを読み出して自分のデータにすることができる。このとき自分が読み込めるデータ種か否かはクリップボード305が保持するIDで識別される。
【0023】
以下、本発明の本質部分を実施する、グラフィックデータ生成アプリケーション303について、その動作を詳細に説明する。グラフィックデータ生成アプリケーション(以下、アプリケーション)303は、OS固有の起動方法によって動作を開始する。起動直後のアプリケーションは固有のウィンドウを1個表示してユーザの指示操作があるまで待機する。
【0024】
図5は、アプリケーション303の外観をなすウィンドウの例である。501はアプリケーション名や処理ファイル名を表示するタイトルバー、502はユーザがアプリケーション303に対し階層式メニューにより操作を指示するメニューバー、503は同じくユーザがアプリケーション303に対しボタンクリックにより操作を指示するツールバーである。504は処理対象となるグラフィックデータを二次元の画像データにラスタライズして表示する表示領域、505及び506は表示領域504に表示される範囲をマウス操作で縦横にスクロールするスクロールバーである。
【0025】
メニューバー502上には、操作内容を大まかに分類する文字列507〜509が書かれている。各文字列507〜509をマウスでクリックするとその操作分類をより詳細に指示する項目の並ぶメニューが表われ、その項目をクリックすることにより実際に処理が行われたり、もしくは更に詳細な項目が表示されたりする。ツールバー503上には、メニューバー502から選択可能な階層式のメニュー内の項目のうち良く使う機能を配置しておくことができる。なお、階層式メニューからの指示と、それに対応するボタンでの指示は等価とみなすことができるので、ボタンでの指示例についての説明は省略する。
【0026】
アプリケーション303に対しユーザが指示することができる操作は、以下の6つに分類される。
(1)ファイル読み込み操作
(2)グラフィック表示操作
(3)グラフィック選択操作
(4)コピー操作
(5)ファイル書き出し操作
(6)終了操作
【0027】
(1)〜(6)の各操作は図6に示すような遷移関係を持つ。例えばすべての操作に先立ってファイル読み込み操作が必要であり、続いてグラフィック表示操作が可能となる。コピー操作はグラフィック選択操作の後にのみ実行可能であり、ファイル書き出し操作や終了操作はファイル読み込み後の任意時点で実行可能である。
【0028】
以下、(1)〜(6)の各操作について詳細に説明する。
(1)ファイル読み込み操作
ファイル読み込み操作時に行われるアプリケーション303内部の動作について、図7のフローチャートを用いて説明する。ステップS701では、ユーザが読み込むファイルを指定する。実施形態における実際の操作としては、メニューバー502にて文字列「ファイル」507をマウスでクリックすると、図9に示すように項目901〜904が展開し、続いて「開く」の項901をクリックすることにより、不図示のファイル選択ダイアログが表示される。このファイルダイアログ上でマウスやキーボードにより選択されたファイルがアプリケーション303へと読み込まれる。上記動作は、マウスによるいわゆるドラッグアンドドップにより、別のファイルシステム管理ソフトウェア等で選択されたファイルが読み込まれるような動作であってもよい。
【0029】
ステップS702では、読み込むファイルの種類が画像ファイルであるか、グラフィックデータファイルであるかを判別する。具体的には、あらかじめ定められた拡張子等、ファイル名の一部とファイル種類の関連付けによって種類を決定してもよいし、或いはファイルの先頭何バイトかを読み込んで、識別可能な文字やコード等を得ることで種類を判別してもよい。ファイルがグラフィックデータファイルの場合はステップS703へ、画像ファイルの場合はステップS704へ進む。
【0030】
ステップS703に進んだ場合は、グラフィックデータファイルを読み込んでグラフィックデータを得、その後ステップS706に進む。ステップS706では、グラフィックデータを画面に描画して、読み込み操作の処理を終了する。
【0031】
ステップS704に進んだ場合は、画像ファイルを読み込んで、メモリ202中のアプリケーション303が利用可能な領域へ、ラスタ画像データとして展開する。画像が圧縮状態にある場合は適宜展開処理を行う。圧縮形式の例としてはJPEG形式がある。
【0032】
ステップS705では、ラスタ画像データをグラフィックデータへと変換する。本ステップの処理内容については後述する。グラフィックデータが得られたら、ステップS706に進んでグラフィックデータを画面に描画し、読み込み操作の処理を終了する。
【0033】
ここで、ステップS705における、ラスタ画像データからグラフィックデータへの変換処理について、図8のフローチャートを用いて内容を詳細に説明する。ラスタ画像データからグラフィックデータへの変換とは、一枚のページ画像に対しその内容を、文字や線画、写真、表等の前景オブジェクトと、その残りの背景オブジェクトへと分離し、かつ前景オブジェクトの各々に適したグラフィック表現へと変換したものである。各オブジェクトに適したグラフィック表現については、このあとのフローチャートに従った処理の各所で説明する。
【0034】
ステップS801では、グラフィックデータへの変換処理にラスタ画像データを入力する。
【0035】
ステップS802では、ラスタ画像データがフルカラー或いはグレー画像の場合、白黒二値画像へと変換する。二値化に際しては、画像全域の輝度分布を調べて二値化閾値を求め、低輝度のピークにある文字部が黒、高輝度のピークにある下地部が白となるように二値化を行う。もしくは画像をいくつかのブロックに分けて各ブロックで最適な二値化閾値を求めて二値化を行ってもよい。
【0036】
ステップS803では、二値画像に対してブロックセレクション処理を行う。ブロックセレクション処理とは、ページを表すラスタ画像データ内に記載されている文字、線画、自然画、表等の文書オブジェクトのブロックを認識し、各々を矩形の領域として分別する処理である。
【0037】
ブロックセレクション処理の例を以下に説明する。まず二値画像に対して輪郭線追跡を行って黒画素輪郭で囲まれる画素の塊を抽出する。面積の大きい黒画素の塊については、内部にある白画素に対しても輪郭線追跡を行い白画素の塊を抽出、更に一定面積以上の白画素の塊の内部からは再帰的に黒画素の塊を抽出する。このようにして得られた黒画素の塊を、大きさ及び形状で分類し、異なる属性を持つ領域へ分類していく。例えば、縦横比が1に近く、大きさが一定の範囲のものを文字相当の画素塊とし、更に近接する文字が整列良くグループ化可能な部分を文字領域、扁平な画素塊を線画領域、一定大きさ以上でかつ四角系の白画素塊を整列よく内包する黒画素塊の占める範囲を表領域、不定形の画素塊が散在している領域を自然画領域、それ以外の任意形状の画素塊を線画領域、等とする。
【0038】
図15にブロックセレクション処理の例を示す。ラスタ画像データ1501に対しブロックセレクション処理を施すと、文字領域1502及び1507、自然画領域1503、線画領域1504及び1505、表領域1506、背景領域1508へと分割される。なお、図15では省略されるが、表領域1506内部からは6つの白画素塊領域が抽出され、その内部各々から文字領域が抽出される。また、表領域1506に関しては、前述の内包する四角形の白画素塊の整列状態が行列構造として解析される。具体的には横並びの白画素塊の境界を列の境界、縦並びの境界を行の境界とみなし、求められた境界数(両端除く)+1の行、列からなる格子を仮定する。それぞれ列位置i、行位置jの格子に(i,j)の位置情報を与え、それに従って各白画素塊が存在する位置情報を記録する。なお、複数の格子に跨がる白画素塊、例えば横方向k、縦方向mに跨がる場合は広がり情報(k,m)を白画素塊に追加する。
【0039】
図16に表構造解析の例を示す。図16の左に示す表は4行3列の行列構造を持つと判断され、各白画素塊に対し図16の右の示すような位置情報が与えられる。
【0040】
図17にアプリケーション303がブロックセレクション処理結果の情報として持つデータの例を示す。ブロックセレクション処理結果は、1領域の情報を表すバイナリデータのリスト1701、1702である。1領域が持つ情報としては、領域座標1703、領域の種類1704、領域種によって異なる個別情報へのリンク1705、領域内グラフィックデータへのリンク1708、次領域へのリンク1709、子領域へのリンク1701、からなる。1709〜1711は領域1701のグラフィックデータであり、ひとつの領域に対して複数のグラフィック表現によるデータが存在する場合、図のようにリストとして保持されている。子領域へのリンク1708は、表のように親子関係がある場合に、内包する領域を指す情報として使用される。なお、図17はあくまで一例であって、データ形式はどのような形態をとってもよい。例えば、タグ付きテキストによるXML形式で記述したとしても、本発明においては同じ効果が得られる。
【0041】
以降、ブロックセレクションで得られた各領域に対し、それぞれの領域種別に適したグラフィック表現によるグラフィックデータへの変換処理を行う。ステップS804では、文字の領域に対し、文字コード列とフォント情報からなる、文字コード表現のグラフィックデータを生成する。文字コード列は文字領域の画像に対してOCR処理を施すことで得ることができる。また、大きさや字体等を含むフォント情報は、OCR処理に類した認識処理で得ることができる。以下に具体的な実施例をあげて説明する。OCR処理とは、文字単位で切り出された画像に対し、パターンマッチの一手法を用いて認識を行って対応する文字コードを得る処理である。具体的には、文字画像から得られる特徴を数十次元の数値列に変換した観測特徴ベクトルと、あらかじめ字種毎に求められている辞書特徴ベクトルと比較し、最も距離の近い字種を認識結果とする。特徴ベクトルの抽出には種々の公知手法があり、例えば、文字をメッシュ状に分割し、各メッシュ内の文字線を方向別に線素としてカウントしたメッシュ数次元ベクトルを特徴とする方法がある。
【0042】
文字の領域に対して文字認識を行う場合、認識の前処理としてまず該当領域に対し横書き、縦書きの判定を行い、各々対応する方向に行を切り出し、更に行から文字を切り出して各文字個々の画像を得る。ここで横書き、縦書きの判定は、該当領域内で画素値に対する水平/垂直の射影を取り、水平射影の分散が大きい場合は横書き領域、垂直射影の分散が大きい場合は縦書き領域と判断すればよい。文字列及び文字への分解は、横書きならば水平方向の射影を利用して行を切り出し、更に切り出された行に対する垂直方向の射影から、文字を切り出すことで行う。縦書きの文字領域に対しては、水平と垂直を逆にすればよい。なお、この時同時に文字のサイズが検出できる。
【0043】
フォントを認識する方法としては、文字認識の際に用いられる、字種数分の辞書特徴ベクトルを、文字形状種すなわちフォント種に対しても複数用意し、先の認識処理におけるマッチングの際に文字コードとともにフォント種を得る方法がある。
【0044】
ステップS805では、文字の領域に対し、文字コード表現とは異なる第二のグラフィックデータとして、文字の輪郭を描画して塗りつぶすパス描画データからなるベクトル表現のグラフィックデータを生成する。文字領域のベクトルデータ化は、文字領域の二値画像に対し、各文字に相当する黒画素塊の輪郭を複数の線分へと分割し、それぞれを直線及び曲線で近似することによって得られる。具体的な線分近似の処理例を以下に説明する。文字領域の二値画像に対して黒画素塊の輪郭追跡を行って外輪郭の点列を求める。この点列を角と看倣される点で区切って、各区間を部分的な直線或いは曲線で近似する。角とは曲率が極大となる点であり、曲率が極大となる点は、図26に示すように、任意点Piに対し左右k個の離れた点Pi−k,Pi+kの間に弦を引いたとき、この弦と任意点Piの距離が極大となる点として求められる。更に、点Pi−k,Pi+k間の弦の長さ/弧の長さをRとし、Rの値が閾値以下である点を角とみなすことができる。角によって分割された後の各区間は、直線は点列に対する最小二乗法等、曲線は3次スプライン関数等を用いて近似することができる。同様に黒画素塊内部に存在する白画素塊がなす内輪郭に対しても部分的直線或いは曲線で近似する。
【0045】
更に、ステップS804の処理と同等の文字切出しを行い、かつ原画像より各文字線内部の平均的画素値を求めて各文字の色とし、これを各文字に対応するパスを描画するカラー情報とすることができる。
【0046】
ステップS806では、文字の領域に対する第三のグラフィックデータとして、文字線内部の画素と文字以外の画素を容易に区別可能な二値或いはN値の画像データで表現されるグラフィックデータを生成する。文字の領域を表現する二値画像データは、先にページ全体を二値化して得た画像から該当領域を切り出すことによって得られる。なお、多値の原画像から該当領域内の二値化閾値を再度求めることにより、より最適な文字領域の二値画像を得ることもできる。
【0047】
また、ステップS804の処理を利用して文字切出しを行い、かつ原画像より各文字線内部の平均的画素値を求めて各文字の色とし、前記文字領域の二値画像を文字毎に色によるN枚のプレーンに分割することで、色情報を持ったN枚の二値画像によるグラフィックデータが生成される。或いは、前記のようにN枚のプレーンに分割せずに、色情報をパレットコードとして画素毎にN値をとりうるN値画像によるグラフィックデータを生成してもよい。
【0048】
ステップS807では、線画の領域に対し、内外輪郭のパス描画データからなるベクトル表現のグラフィックデータを作成する。この内外輪郭のパス描画からなるベクトルデータは、前述のステップS805における文字領域のベクトルデータ化処理と同様、線画領域の二値画像から、黒画素塊の輪郭線を線分近似することで求めることができる。
【0049】
また、二値画像上で線部分をなす画素について、多値の原画画像上から得た画素値を平均値化することで、パス描画のカラー情報を得る。なお、線画が複数色から構成されている場合は、主要色となるひとつの画素値を選んでカラー情報とする。
【0050】
ステップS808では、線画の領域に対する第二のグラフィックデータとして、形状要素の描画データからなるベクトル表現のグラフィックデータを作成する。形状要素の描画データとは、線部分を外輪郭と内輪郭のパスの組で記述するのではなく一本の太さをもった線分のパスとして表現したり、或いは四角や丸等代表的な形状についてはパスの集合ではなく各種形状を描画するデータで表現したりするベクトル表現データである。
【0051】
線分のパスで表現される要素描画データを求めるには、線画領域の二値画像にあらかじめ公知の細線化法を施してすべての線幅を1としてから、各線の点列を追跡し、以後ステップS807と同様に点列を区切る角となる頂点を検出し、近似される直線或いは曲線のあてはめを行っていく。
【0052】
また、四角や丸等の代表的な形状は、あらかじめ置換可能な画像パターンを用意しておき、パターンマッチング等で対応する線素を置き換えていく。
【0053】
更に、各線分や形状等の線画を細分する要素の各々に対し、二値画像上で対応する線部分をなす画素について、多値の原画画像上から得た画素値を平均値化することで、各要素描画のカラー情報を得る。
【0054】
ステップS809では、線画の領域に対する第三のグラフィックデータとして、線画部と背景を容易に分離しうる二値或いはN値の画像データで表現されるグラフィックデータを生成する。具体的には、線画領域部分の多値原画像を背景色の画素とそれ以外の画素に分け、背景画素は仮想的に透明を表す値、それ以外は線画部分の色数を適度に量子化されたN個のパレット色のいずれかに対応する値に割り当てた、パレット付きのN値画像を生成する。
【0055】
ステップS810では、自然画の領域に対し、画像からなるグラフィックデータを作成する。具体的には、原画像から該当領域部分を切り出した状態の画像データを作成する。
【0056】
ステップS811では、表領域に対し、表枠線の描画データからなるベクトル表現のグラフィックデータを作成する。具体的な処理方法は、表領域の二値画像から文字部分の画素を消去し、表枠のみの画像を作成する。以降線画の場合と同様の線分抽出、近似処理を行い、必要に応じて表のセルに対応する矩形描画のベクトルデータへと変換する。
【0057】
ステップS812では、表領域に対し、表内文字の文字コードとその行列状配置構造を表現するデータからなるグラフィックデータを作成する。表内文字に関しては既にステップS804おいて、表内の枠で囲まれた領域、いわゆるセルごとに内部の文字領域に対する文字コード及びフォント情報が抽出されているものとする。行列状配置構造に関しては既に表に対するブロックセレクション処理の過程で得られている。ここで表のセルは表内の白画素塊に相当し、それらは各々表内を行列状格子に配置されるときの位置情報及び広がり情報を持っている。上記の文字コード及びセルの位置、広がり情報を合わせて表領域のグラフィックデータとする。
【0058】
ステップS813では、ステップS804〜S812で各種グラフィックデータに変換された前景の情報を原画像から取り除いたもの、すなわち背景の画像からなるグラフィックデータを作成する。具体的な背景の作成は次のように行う。文字及び表、線画領域においては、領域の二値画像を参照し、その黒画素にあたる画素を原画像において背景色に変更する。背景色とは、その画素の近傍にあって二値画像では白画素に相当する画素の色である。実際のスキャン画像では線近辺の画素端は幾分なだらかに変化しているから、背景色に変更する画素は実際の二値画像上の黒画素を1dot程度太らせた範囲にするほうがよく、背景色を求める際にもその太らせた範囲外の画素数点の平均色として求めるほうがよい。写真部分に対しては、前景を取り去った後の面積が大きく、かつ前景を重ね書きした場合完全に上書きされるため背景色で補完する必要はない。ただしデータとして圧縮率を向上させるためには背景色或いは単に白等で塗りつぶしておいてもよい。
【0059】
以上、ステップS804〜S812にて生成されたグラフィックデータは、図17中の1709のように各領域のグラフィックデータへのリンクから参照されるデータとして保持される。ここでグラフィックデータの形式はどのようなものでも構わない。アプリケーション上での描画命令に一対一対応したバイナリ描画データの集合でもよいし、或いはSVGのようなグラフィック言語によって記述されたテキストデータであってもよい。
【0060】
(2)グラフィック表示操作
グラフィック表示とは、グラフィックデータの一部或いは全部を二次元の画像データへとラスタライズして表示領域504へと描画することである。このとき、アプリケーション303が保持するグラフィックデータによって表現しうるページ領域のうちどの部分を表示するか、或いは、ある同じ領域を表現する複数種類のグラフィックデータを保持しているときに、どの種類のグラフィックデータを描画して表示するかを、ユーザの意図に基づいて選択する機能を提供するのがこのグラフィック表示操作である。具体的操作としては、メニューバー502にて文字列「表示」508をクリックすると展開されるメニュー(図10)の各項目をクリックすることによって各処理が実行される。以下に詳細を説明する。
【0061】
(2−1)定倍率表示操作
グラフィックデータは、各描画要素が持つ座標値に対してある比を乗じて描画することにより、ラスタライズ後の大きさを自由に変更することができる。ここで、元々のページの物理的大きさと、ディスプレイ上での見かけの大きさが等しくなるとき倍率を100%と定める。倍率100%時に座標値に乗ずる比の値はグラフィックデータの解像度とディスプレイ解像度との比から一意に定まる。
【0062】
図10の1001〜1007は定倍率表示操作を指示するメニューの例である。「25%」1001、「50%」1002、「100%」1003、「200%」1004、「400%」1005、「800%」1006、及び「倍率設定」1007の7項目があり、1001〜1006については選択された倍率でラスタライズされてディスプレイに表示される。「倍率設定」1007の項目を選ぶと倍率の数値を入力するダイアログが開き、そこで入力された値に応じた倍率でラスタライズされてディスプレイに表示される。
指示された倍率でラスタライズされたページが表示領域504に収まらない場合は、表示可能な範囲のみが描画される。ユーザが描画範囲を変更可能な表示領域の右及び下にあるスクロールバー505、506を動かすほか、後述のパン操作で描画範囲を変更することもできる。
【0063】
(2−2)ウィンドウ依存表示操作
グラフィックデータを現在のアプリケーションウィンドウ表示サイズに依存する大きさでラスタライズしてディスプレイ表示する操作である。図10の1008、1009がウィンドウ依存表示操作を指示するメニューの例であり、「ページ全体を表示」1008はウィンドウ内の表示領域内にページ全体が収まるような大きさで、「幅を合わせて表示」1009は表示領域幅とラスタライズされたページ幅が等しくなるような大きさで、それぞれラスタライズされ表示される。アプリケーションウィンドウのサイズを変更すると、それに合わせた大きさで再ラスタライズされ表示される。
【0064】
(2−3)ルーペ操作
アプリケーションウィンドウに現在表示されているグラフィックデータの一部を拡大して表示する操作である。図10の「ルーペ」項目1010を選択した後に、表示領域上の一点でマウスのボタンを押下し、そのままドラッグしてボタンを離すと、押下した点と離した点の2点からなる矩形の範囲を拡大して表示する。このとき拡大領域の幅が表示領域の幅と等しくなる倍率と、拡大領域の高さが表示領域の高さと等しくなる倍率、両者のうち小さいほうの倍率でグラフィックデータがラスタライズされ表示される。なお、マウスボタンを押下してからドラッグせずに離した場合、現在表示されている倍率の2倍で表示する。
【0065】
(2−4)パン操作
マウスのドラッグにより、アプリケーションウィンドウに一部分表示されているラスタライズされたグラフィックデータの表示範囲を変更する操作である。図10の「パン」項目1011を選択した後に、表示領域上の一点でマウスボタンを押下してドラッグすると、それに連動して表示される範囲が移動する。ページの幅が表示領域の幅に収まっている場合左右には移動しない。同様にページ高さが表示領域の高さに収まっている場合上下には移動しない。
【0066】
(2−5)表示選択
ページを構成するグラフィックデータは、前述のとおり文書のオブジェクトに分割された領域毎にそれぞれが領域内のグラフィックデータとして保持している。また文書のオブジェクトは大きく分けて前景と背景に分けられる。
【0067】
図10の1012、1013、1014は前景と背景を選択的に表示する為の項目であり、「前景」1012を選ぶと前景のグラフィックデータのみが表示され、「背景」1013を選ぶと背景のグラフィックデータのみが表示され、「前景+背景」1014を選ぶと背景のグラフィック上に前景のグラフィックデータが描画された状態で表示される。図18に表示選択の例を示す。「前景」1012選択時には1801、「背景」1013選択時には1802、「前景+背景」1014選択時には1803のように表示される。
【0068】
また、図10の「前景詳細」1015を選ぶと、同じ領域が複数表現種のグラフィックデータを保持する場合にどの表現種を描画データとして表示するかを選択することが可能なダイアログが開かれる。前景詳細を選択するダイアログの例として、図19の1901は、文字の領域に対しては、文字輪郭パスデータ表現と、画像データ表現のいずれかを、線画の領域に対しては、内外輪郭パスデータ表現、形状要素データ表現、画像データ表現のいずれかの選択を提供している。なお、本実施形態では文字領域における文字コード表現と、表領域における表内文字コードおよび行列状配置構造表現は、前景として描画されるグラフィックとしては扱っておらず、図19での選択肢にも含まれない。
【0069】
(3)グラフィック選択操作
ユーザは、グラフィック選択操作によりグラフィックデータの一部範囲或いは全体を選択的に指示することができる。この操作は、後述する(4)コピー操作と組み合わせて、アプリケーション303が保持するグラフィックデータの一部又は全部をアプリケーション304等別のアプリケーション上で利用する目的で行われる。
【0070】
図11に示すメニューの1101〜1103は、選択するグラフィック種類を指示するメニューである。「描画物選択」1101、「文字コード選択」1102、「表コード選択」1103の3項目のいずれかをクリックした後に、表示領域上でマウスをドラッグして選択する範囲を指示すると、範囲内でかつ選択対象となるグラフィックデータの選択状態となる。この選択状態となったグラフィックデータは後述する(4))コピー操作の対象となる。
【0071】
以下、上記3種の選択それぞれの場合について説明する。まず、「描画物選択」1101を指示した場合、マウスによる表示領域上での範囲指定、すなわちマウスボタンを押下した点と離した点を対角とする矩形範囲に存在するグラフィックデータのうち、現在描画されているグラフィックデータが選択状態となる。ここで、現在描画されているグラフィックデータとは、前述した1012〜1014及び1015の表示選択操作によって選ばれたグラフィックデータに一致する。すなわち、「前景」1012表示選択時には、前景にあたるグラフィックデータのみが、「背景」1013表示選択時には背景のグラフィックデータのみが、「前景+背景」1014表示選択時には前景と背景両方のグラフィックデータが選択状態となる。かつ、対象領域において複数種の表現からなる前景グラフィックデータを持っている場合、「前景詳細」1015によって選ばれている種類のグラフィックデータが選択状態となる。
【0072】
選択された矩形範囲の境界を跨いでいるグラフィック描画要素が存在する場合、選択範囲と選択状態にあるグラフィック描画要素の対応を一致させるために、選択の範囲を変更する、もしくはグラフィックデータ描画要素自体を一部切り取って選択範囲内に収まるようにする、等の処理が必要となる。
【0073】
具体的には、選択されるグラフィック描画要素が画像表現のデータの場合、元データから選択範囲内にかかる部分のみを切り取ってできた新規のグラフィックデータを選択対象とする。ただし、実際に切り取りの加工処理を行うのは選択時ではなく、後述するコピー操作を実行する際に行うほうがよい。
【0074】
一方、選択されるグラフィック描画要素がベクトル表現のデータの場合、選択範囲でデータを切り取ることは容易ではないので、以下2ついずれかの対処を行う。(対処1)選択範囲をはみだすグラフィック描画要素は選択対象外とする、(対処2)ユーザが最初に指示した選択範囲に重なっているグラフィック描画要素はすべて内包されるように選択範囲となる矩形を自動的に拡大する。
【0075】
図12は(対処1)の例であり、1201の状態でドラッグしたマウスのボタンを離すと、範囲からはみだすグラフィック要素1202と1203は選択対象外となる。図13は(対処2)の例であり、1301の状態でドラッグしたマウスのボタンを離すと、範囲からはみだすグラフィック要素1302と1303を内包するように、選択範囲は1304のように自動的に拡大される。
【0076】
(対処1)、(対処2)のいずれを行うかは、固定であっても、ユーザが選択するようにしてもよい。また、背景等画像のデータを含むか否か、又は文字のように小さな要素と表枠や線画のように大きな要素とで動作を変更するようにしてもよい。
【0077】
「描画物選択」1101時には、選択された矩形範囲を視覚的に明示するために、選択範囲に対応する四角の枠が表示領域上に重ねて表示される。また、どのグラフィック描画要素が選択状態になっているかをユーザに視覚的に明示するために、選択対称となるグラフィック描画要素の一部は、色や形状等の修飾が施された状態で表示領域に描画される。例えば、文字や線画、表枠等ベクトル表現されるデータについては、選択状態にあるグラフィック描画要素は本来の色ではなく赤で描画される。これによりユーザは選択状態にあるデータと非選択状態にあるデータを容易に区別することができる。
【0078】
前記の例に留まらず別の色に、例えば元の色のR,G,B値をそれぞれ反転させた色にしてもよい。また、選択状態と非選択状態にあるグラフィック描画要素の視覚的な区別が容易となるのであれば、色ではなく輪郭内の塗りつぶしパターンを変更したり、或いは点滅させたり、太さを変えたりしてもよい。
【0079】
更に、範囲指定により選択されるグラフィック描画要素は、前述した(2−5)表示選択によって選ばれているもの、すなわち実際に表示されている描画データに限定されるが、このときに選択状態となるグラフィック描画要素の種類が、表示領域に描画されたグラフィックを見るだけでは解りにくい場合がある。例えば、背景が白い部分については、視覚上「前景」のみを表示している場合と「前景+背景」を表示している場合との区別がつかない。或いは、図10の「前景詳細」1015設定にて、同じ線画を表現するデータとして、内外輪郭のパスデータ表現が描画されているのか、或いは形状要素のデータが描画されているのか等、見た目の差が微少で区別がつきにくい場合がある。
【0080】
そこで、先の選択状態を明示する表現方法を、選択状態となったデータの種類に応じて更に変更することで、後述のコピー操作においてどのデータがコピーされるかをユーザにより明確に提示し、意図に反した異なる種類のデータをコピーすることを防止する。例えば、表示選択における「前景」表示時には、選択領域に対応する四角の枠の表示色を青とし、「背景」表示時、「前景+背景」表示時にはそれぞれ赤、緑とする。
【0081】
また、図10の「前景詳細」設定における、複数の表現種類を持つオブジェクトに対する描画種類の設定に対しては、上記の枠の少し内側に描画種類に同期する色の枠を描画した二重枠表示を行う。例えば、内外輪郭パスデータが選択される場合には黄色の枠、形状要素のデータが選択される場合には紫色の枠、というように描画種類に一対一となる色で内側の枠を表示する。もちろん、前記の色付きの二重枠に限らず、色と線種や点滅等組み合わせてもよい。或いは、枠だけではなく選択状態にあるグラフィック描画要素の色や形状をデータ種類に応じて変更してもよい。
【0082】
図11に戻って、「文字コード選択」1102を指示した場合、マウスのドラッグで指定される範囲にある文字コード表現のデータが選択される。文字コード表現はグラフィックとして描画されていないので、各選択文字に相当する範囲を黒く塗り潰したり、画素値を算術的に反転する等したりして、当該位置の文字コードが選択状態にあることをユーザに提示する。
【0083】
図20に文字コード選択状態の表示例を示す。マウスで領域2001を指定すると、2002のように領域内の文字にあたる部分がそれぞれ黒塗りされた状態になる。図11にて、「表コード選択」1103を指示した場合、マウスのドラッグで指定される範囲にある表に対し、その内部の文字コード及び行列状の配置構造を表現するデータが選択状態となる。表が選択状態となったことをユーザに明示するために、表の外周に他の描画物選択とは異なる色の枠を上書きする。
【0084】
また、図11の「領域情報表示」項目1104を指示すると、表示領域に描画されたグラフィックデータ上に、ステップS803のブロックセレクション処理の結果となる領域情報にそれぞれ対応する矩形枠が表示される。このときに任意の矩形枠をマウスでクリックすることにより、その枠内のグラフィックデータ、文書オブジェクト単位のグラフィックデータを選択状態にすることができる。なお選択されるグラフィックデータ種類は前述の1101〜1103の選択及び(2−5)表示選択に従う。
【0085】
図21に、「領域情報表示」項目を指示後の例を示す。なお、表示選択は「前景」になっており、かつ色の代わりに点線で図示している。
【0086】
(4)コピー操作
(3)グラフィック選択操作により、少なくとも一つ以上のグラフィックデータ要素が選択状態にあるとき、図11の「コピー」1105を指示すると、選択状態にあるグラフィックデータの内容がクリップボード305へと複写される。クリップボード305に複写されたグラフィックデータは、グラフィック編集アプリケーション304のように、同データ形式を解釈可能な任意のアプリケーションに貼り付けて使用することが可能である。
【0087】
コピー操作に対する内部動作を図14のフローチャートに従って説明する。ステップS1401では、選択対象に画像データがある場合、その画像データが選択領域内に収まっているかどうかを判断し、収まっていればステップS1403に、収まっていなければステップS1402に進む。
【0088】
ステップS1402では、選択対象の画像データから選択領域と重なる部分のみを切り取った画像をあらたな選択対象とし、元の画像データは選択対象から外す。ステップS1403では、アプリケーション内部形式のグラフィックデータフォーマットを、クリップボードへ保存するのに適したフォーマットに変換する。ここでは、このデータを利用するグラフィック編集アプリケーション304が解釈可能なフォーマットへと変換する。
【0089】
ステップS1404では、変換されたグラフィックデータをクリップボードへと複写する。図22〜24に、グラフィックデータを選択かつコピー操作した場合に、クリップボードへ複写されるデータ種類の例を示す。ここで処理しようとしているのは、図25に示されるページのデータであり、2501は前景となる文字領域、2502は背景領域をそれぞれ点線枠で示している。また、図10の「前景詳細」1015設定では、文字領域のパス描画を選択しているものとする。
【0090】
グラフィックデータ範囲としては、実線2503をマウスで指定するのものとして、(2−5)表示選択にて1012〜1014が選ばれている場合それぞれについて動作を説明する。
【0091】
図22は「前景」1012の表示が選ばれている場合を説明する図である。表示領域2201でマウスにより選択範囲2202を指定し、コピー操作を行うと、文字領域2501のパス表現グラフィックデータより、選択範囲内にある2文字分のパス描画データ2203、2204がクリップボード305へ複写される。
【0092】
図23は「背景」1013表示が選ばれている場合を説明する図である。表示領域2301でマウスにより選択範囲2302を指定し、コピー操作を行うと、背景領域2502の画像データから選択範囲のみを切り取った画像データ2303がクリップボード305へと複写される。
【0093】
図24は「前景+背景」1014表示が選ばれている場合を説明する図である。表示領域2401でマウスにより選択範囲2402を指定し、コピー操作を行うと、文字領域2501のパス表現グラフィックデータより、選択範囲内にある2文字分のパス描画データ2404、2405と、また背景領域2502の画像データから選択範囲のみを切り取った画像データ2406が合成されたグラフィックデータ2403がクリップボード305へと複写される。お、図24のグラフィックデータ2403は、背景画像データを描画した上にパスデータを描画するように記述されているので、グラフィックデータ2403を受け取ったアプリケーションでは、文字と背景を別々に扱うことが可能である。
【0094】
(5)書き込み操作
図9の「保存」項目902を指示すると、アプリケーション303が持つグラフィックデータを、直後に表示されるダイアログ(不図示)でユーザが指定したファイルへと保存する。
【0095】
(6)クローズ操作
図9の「閉じる」項目903を指示すると、現在読み込んでいるグラフィックデータを破棄し、(1)ファイル読み込みを待機する状態に戻る。「終了」項目904を指示すると、「閉じる」項目903と同様にグラフィックデータを破棄するとともに、アプリケーション303を終了する。
【0096】
以上述べたように、グラフィックデータの範囲を指定してその中のデータを別のアプリケーションで利用するための手段にコピーする際に、同範囲内に複数種類のデータが存在する場合、その種類に応じて範囲指定枠の色等を変更することで現在どのデータ種が選択されコピーされるのかをユーザが直ちに知ることができるので、誤ったデータ種類をコピーしてしまう等の誤操作が軽減され、ユーザの作業負担を減らすことができる。
【0097】
上記実施形態では、選択されたグラフィック描画要素の種類を明示するために視覚的効果を用いたが、これに加えて音声による警告を行ってもよい。この場合でも、現在どのデータ種が選択されコピーされるのかをユーザが直ちに知ることができるので、誤ったデータ種類をコピーしてしまう等の誤操作が軽減され、ユーザの作業負担を減らすことができる。
【0098】
なお、本発明の目的は、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【0099】
この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0100】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0101】
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(基本システム或いはオペレーティングシステム)等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0102】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【0103】
【図1】本発明を適用したシステムの構成を示す図である。
【図2】コンピュータ装置の内部ハードウェア構成例を示す図である。
【図3】コンピュータ装置で実行されるソフトウェアのモジュール構成例を示す図である。
【図4】アプリケーションを利用して処理を行う際の動作を説明するためのフローチャートである。
【図5】グラフィック生成アプリケーションの外観をなすウィンドウの例を示す図である。
【図6】各操作の遷移関係を説明するための図である。
【図7】ファイル読み込み操作時に行われるグラフィック生成アプリケーション内部の動作を説明するためのフローチャートである。
【図8】ラスタ画像データからグラフィックデータへの変換処理を説明するためのフローチャートである。
【図9】メニューバーにて文字列「ファイル」をマウスでクリックすると展開されるメニューを示す図である。
【図10】メニューバーにて文字列「表示」をクリックすると展開されるメニューを示す図である。
【図11】メニューバーにて文字列「選択」をクリックすると展開されるメニューを示す図である。
【図12】選択範囲をはみだすグラフィック描画要素は選択対象外とする例を説明するための図である。
【図13】ユーザが最初に指示した選択範囲に重なっているグラフィック描画要素はすべて内包されるように選択範囲となる矩形を自動的に拡大する例を説明するための図である。
【図14】コピー操作に対する内部動作を説明するためのフローチャートである。
【図15】ブロックセレクション処理の例を示す図である。
【図16】表構造解析の例を示す図である。
【図17】グラフィック生成アプリケーションがブロックセレクション処理結果の情報として持つデータの例を示す図である。
【図18】表示選択の例を示す図である。
【図19】前景詳細を選択するダイアログの例を示す図である。
【図20】文字コード選択状態の表示例を示す図である。
【図21】「領域情報表示」項目を指示後の例を示す図である。
【図22】グラフィックデータを選択かつコピー操作した場合に、クリップボードへ複写されるデータ種類の例を示す図である。
【図23】グラフィックデータを選択かつコピー操作した場合に、クリップボードへ複写されるデータ種類の例を示す図である。
【図24】グラフィックデータを選択かつコピー操作した場合に、クリップボードへ複写されるデータ種類の例を示す図である。
【図25】コピー操作で処理しようとするページのデータを示す図である。
【図26】文字の輪郭を描画して塗りつぶすパス描画データからなるベクトル表現のグラフィックデータを生成する処理を説明するための図である。
【符号の説明】
【0104】
101 コンピュータ装置
102 ディスプレイ装置
103 プリンタ装置
104 操作装置
105 スキャナ装置
201 CPU
202 メモリ
203 ハードディスク
204 I/O部
301 基本ソフトウェア
302 スキャンアプリケーション
303 グラフィックデータ生成アプリケーション
304 グラフィック編集アプリケーション
305 クリップボード
【特許請求の範囲】
【請求項1】
グラフィックデータを描画し表示する表示手段と、
前記表示手段上で範囲を指定する範囲指定手段と、
前記グラフィックデータのうち指定範囲内にあるデータのみを特定する手段と、
前記グラフィックデータの種類を指定するデータ種類指定手段と、
前記範囲及び種類で特定されたグラフィックデータを出力する出力手段とを備え、
前記範囲指定時に、前記データの種類指定に応じて異なる視覚的効果を生じることを特徴とする画像処理装置。
【請求項2】
前記視覚的効果とは、範囲を表す枠の色、形、線形状の少なくともいずれかを変化することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記グラフィックデータの種類とは、ベクトルデータと画像データであることを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記グラフィックデータは、文書のページを構成する文字、線画、自然画、表等の要素及び背景に分け、それぞれを表現するグラフィックデータにより構成されることを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記グラフィックデータの種類とは、文書要素の輪郭をベクトル表現したデータと、線画を線や丸、四角といった形状描画要素でベクトル表現したデータであることを特徴とする請求項4に記載の画像処理装置。
【請求項6】
前記グラフィックデータの種類とは、文書要素を更に画像として表現したデータを含むことを特徴とする請求項5に記載の画像処理装置。
【請求項7】
前記グラフィックデータの種類とは、文書の文字、線画、自然画、表等の前景と背景であることを特徴とする請求項4に記載の画像処理装置。
【請求項8】
グラフィックデータを描画し表示手段に表示する工程と、
前記表示手段上で範囲を指定する工程と、
前記グラフィックデータのうち指定範囲内にあるデータのみを特定する工程と、
前記グラフィックデータの種類を指定する工程と、
前記範囲及び種類で特定されたグラフィックデータを出力する工程とを有し、
前記範囲指定時に、前記データの種類指定に応じて異なる視覚的効果を生じることを特徴とする画像処理方法。
【請求項9】
グラフィックデータを描画し表示手段に表示する処理と、
前記表示手段上で範囲を指定する処理と、
前記グラフィックデータのうち指定範囲内にあるデータのみを特定する処理と、
前記グラフィックデータの種類を指定する処理と、
前記範囲及び種類で特定されたグラフィックデータを出力する処理とをコンピュータに実行させ、
前記範囲指定時に、前記データの種類指定に応じて異なる視覚的効果を生じることを特徴とするコンピュータプログラム。
【請求項1】
グラフィックデータを描画し表示する表示手段と、
前記表示手段上で範囲を指定する範囲指定手段と、
前記グラフィックデータのうち指定範囲内にあるデータのみを特定する手段と、
前記グラフィックデータの種類を指定するデータ種類指定手段と、
前記範囲及び種類で特定されたグラフィックデータを出力する出力手段とを備え、
前記範囲指定時に、前記データの種類指定に応じて異なる視覚的効果を生じることを特徴とする画像処理装置。
【請求項2】
前記視覚的効果とは、範囲を表す枠の色、形、線形状の少なくともいずれかを変化することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記グラフィックデータの種類とは、ベクトルデータと画像データであることを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記グラフィックデータは、文書のページを構成する文字、線画、自然画、表等の要素及び背景に分け、それぞれを表現するグラフィックデータにより構成されることを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記グラフィックデータの種類とは、文書要素の輪郭をベクトル表現したデータと、線画を線や丸、四角といった形状描画要素でベクトル表現したデータであることを特徴とする請求項4に記載の画像処理装置。
【請求項6】
前記グラフィックデータの種類とは、文書要素を更に画像として表現したデータを含むことを特徴とする請求項5に記載の画像処理装置。
【請求項7】
前記グラフィックデータの種類とは、文書の文字、線画、自然画、表等の前景と背景であることを特徴とする請求項4に記載の画像処理装置。
【請求項8】
グラフィックデータを描画し表示手段に表示する工程と、
前記表示手段上で範囲を指定する工程と、
前記グラフィックデータのうち指定範囲内にあるデータのみを特定する工程と、
前記グラフィックデータの種類を指定する工程と、
前記範囲及び種類で特定されたグラフィックデータを出力する工程とを有し、
前記範囲指定時に、前記データの種類指定に応じて異なる視覚的効果を生じることを特徴とする画像処理方法。
【請求項9】
グラフィックデータを描画し表示手段に表示する処理と、
前記表示手段上で範囲を指定する処理と、
前記グラフィックデータのうち指定範囲内にあるデータのみを特定する処理と、
前記グラフィックデータの種類を指定する処理と、
前記範囲及び種類で特定されたグラフィックデータを出力する処理とをコンピュータに実行させ、
前記範囲指定時に、前記データの種類指定に応じて異なる視覚的効果を生じることを特徴とするコンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【公開番号】特開2006−185336(P2006−185336A)
【公開日】平成18年7月13日(2006.7.13)
【国際特許分類】
【出願番号】特願2004−380504(P2004−380504)
【出願日】平成16年12月28日(2004.12.28)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成18年7月13日(2006.7.13)
【国際特許分類】
【出願日】平成16年12月28日(2004.12.28)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]