説明

画像処理装置、画像処理方法及び制御プログラム

【課題】ユーザーから見えているそのままのオブジェクトだけをユーザーが指定した範囲で、階層構造を保持した状態でデータの複写を可能にする画像処理装置を提供する。
【解決手段】ユーザーがスキャナ105に入力した紙文書の1ページから当該ページの画像データを生成する。グラフィックデータ生成アプリケーション303を用いて、ユーザーが文書ページの画像データを、編集可能なグラフィックデータへと変換する。アプリケーション303により生成されたグラフィックデータに対し、マウス等でその一部或いは全部を選択し、かつ選択されたデータをクリップボード305にコピーする。グラフィック編集アプリケーション304に対し、クリップボード305に保持されているグラフィックデータをアプリケーション304へ取り込むことを指示する。そして加工・編集したグラフィックデータをプリンタ103より紙として出力する。

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

【特許請求の範囲】
【請求項1】
複数のオブジェクトを有する画像データから選択されたオブジェクトを表示する表示選択手段と、
前記表示選択手段で表示されたオブジェクトを、範囲を指定して選択する範囲選択手段と、
前記範囲選択手段で選択された範囲のオブジェクトを複写する範囲指定複写手段とを有することを特徴とする画像処理装置。
【請求項2】
前記複数のオブジェクトは、互いに複数の階層構造を有することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記階層構造は、複数のオブジェクトが背景及び前景を含む重なりを成した構造であることを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記表示選択手段において表示されるオブジェクトは、その種類単位または階層単位、或いはオブジェクト単位で選択されたデータであることを特徴とする請求項1乃至3の何れかに記載の画像処理装置。
【請求項5】
前記範囲選択手段は、指定された選択範囲の境界を跨ぐオブジェクトが存在する場合に、
該オブジェクトの形状に一致した範囲に選択範囲を変形する処理、指定された範囲と重なったオブジェクトの一部分を選択範囲にする処理、または指定された選択範囲の境界を跨ぐオブジェクトは選択しない処理を実行することを特徴とする請求項1乃至4の何れかに記載の画像処理装置。
【請求項6】
前記範囲指定複写手段は、選択範囲がオブジェクトの一部分である場合に、該選択範囲のみを切り取り変換した画像データを複写することを特徴とする請求項1乃至5の何れかに記載の画像処理装置。
【請求項7】
前記範囲指定複写手段は、選択範囲に複数のオブジェクトが表示されている場合に、各オブジェクト毎に範囲指定で複写し、オブジェクト間の階層構造を保つことを特徴とする請求項1乃至6の何れかに記載の画像処理装置。
【請求項8】
入力されたラスタ画像データから、複数種類の前記オブジェクトを生成するオブジェクト生成手段を更に有することを特徴とする請求項1記載の画像処理装置。
【請求項9】
前記オブジェクト生成手段は、前記ラスタ画像を属性毎の複数の領域に分割し、当該分割された領域に基づいて前記複数種類のオブジェクトを生成することを特徴とする請求項8記載の画像処理装置。
【請求項10】
前記オブジェクト生成手段は、前記ラスタ画像内の文字領域から文字コードデータと輪郭パスデータとN値画像データとの少なくともいずれかを生成し、前記ラスタ画像内の線画領域から輪郭パスデータと芯線ベクトルデータとN値画像データとの少なくともいずれかを生成し、前記ラスタ画像内の表領域から枠線データと文字列データと構造データとの少なくともいずれかを生成することを特徴とする請求項9記載の画像処理装置。
【請求項11】
複数のオブジェクトを有する画像データから選択されたオブジェクトを表示する表示選択工程と、
前記表示選択工程で表示されたオブジェクトを、範囲を指定して選択する範囲選択工程と、
前記範囲選択工程で選択された範囲のオブジェクトを複写する範囲指定複写工程とを有することを特徴とする画像処理方法。
【請求項12】
複数のオブジェクトを有する画像データから選択されたオブジェクトを表示する表示選択ステップと、
前記表示選択ステップで表示されたオブジェクトを、範囲を指定して選択する範囲選択ステップと、
前記範囲選択ステップで選択された範囲のオブジェクトを複写する範囲指定複写ステップとを有することを特徴とする、コンピュータで読み取り可能な制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2007−179261(P2007−179261A)
【公開日】平成19年7月12日(2007.7.12)
【国際特許分類】
【出願番号】特願2005−376403(P2005−376403)
【出願日】平成17年12月27日(2005.12.27)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】