【解決手段】 実施形態によれば、配布システムは、取得手段と、交差判定手段と、消去手段と、を有する。取得手段は、文書データ上に描画する書込線を示す複数の経由点と文書データ上に描画するデータを消去する消去線を示す複数の経由点とを取得する。交差判定手段は、書込線における経由点間において中継点を追加し、書込線に追加した中継点あるいは経由点で特定される領域に対して消去線と交差する交差領域を判定する。消去手段は、書込線において交差判定手段により交差領域と判定された領域とそれ以外の領域との境界となる境界点間のデータを消去する。
前記交差判定手段は、さらに、前記消去線における経由点間に中継点を追加し、前記書込線の経由点及び中継点と前記消去線の経由点及び中継点とによる交差判定で交差領域を判定する、
請求項1に記載の配布システム。
前記交差判定手段は、前記書込線及び前記消去線における経由点間で交差の有無を判定し、前記判定によって交差があると判定した経由点間について前記書込線の経由点及び中継点に対する交差領域の判定を行う、
請求項1又は2の何れかに記載の配布システム。
前記判定機能は、さらに、前記消去線における経由点間に中継点を追加し、前記書込線の経由点及び中継点と前記消去線の経由点及び中継点とによる交差判定で交差領域を判定する、
請求項4に記載の配布データの処理プログラム。
前記判定機能は、前記書込線及び前記消去線における経由点間で交差の有無を判定し、前記判定によって交差があると判定した経由点間について前記書込線の経由点及び中継点に対する交差領域の判定を行う、
請求項4又は5の何れかに記載の配布データの処理プログラム。
【発明を実施するための形態】
【0008】
以下、実施の形態について、図面を参照して説明する。
まず、本実施形態に係る配布プリントシステムの全体構成について説明する。
図1は、本実施形態に係る配布システムS全体の構成例を示す図である。
図1に示す構成例において、配布システムSは、サーバ1、PC2、タブレット端末3、アクセスポイント4、複合機5などを有する。サーバ1、PC2、タブレット端末3、アクセスポイント4、複合機5は、ネットワーク6により接続される。
【0009】
サーバ1は、ネットワーク6に接続されたコンピュータである。サーバ1は、文書データ、および、文書データに関連する表示データなどを管理する機能を有する。たとえば、サーバ1は、文書データ、および、文書データに付加されるデータ(たとえば、文書データと重ね合わせられるデータ(後述するストロークデータ))を、ネットワーク6の他の装置(PC2、タブレット端末3あるいは複合機5)へ送信する機能を有する。また、サーバ1は、ネットワーク6上の各機器から得られる情報を管理する機能を有する。
【0010】
PC2は、ネットワーク6を介してサーバ1と通信する。タブレット端末3は、無線通信用のアクセスポイント4を介してネットワーク6に接続し、サーバ1と通信する。PC2およびタブレット端末3は、文書データが配布されるユーザ端末である。配布システムSに適用可能なユーザ端末は、PCあるいはタブレット端末に限定されるものではなく、サーバ1から文書データが配布される装置であれば良い。本実施形態において、PC端末2およびタブレット端末3は、タッチパネルが搭載された表示装置を有するユーザ端末であるものとする。
【0011】
PC2およびタブレット端末3は、プロセッサ、メモリ、ネットワークインターフェース、タッチパネル搭載の表示装置を有するコンピュータである。PC2およびタブレット端末3は、プロセッサがメモリに記憶したプログラムを実行することにより各種の機能を実現する。たとえば、PC2およびタブレット端末3は、サーバ1から配布された文書データなどの文書データを表示装置に表示する機能を有する。また、PC2およびタブレット端末3は、文書データなどを画面に表示した状態において、タッチパネルによりユーザがタッチした部位に指定の色を書き込む機能(ペン機能)と、タッチパネルによりユーザがタッチした部位にペン機能で書き込まれた色を消去する消去機能(消しゴム機能)とを有する。
【0012】
PC2およびタブレット端末3は、ペン機能においてタッチした位置(書込み位置)を示す情報、および、消しゴム機能でタッチした位置を示す位置(消去位置)を示す情報をそれぞれストロークデータとして生成する機能を有する。たとえば、PC2およびタブレット端末3は、ある文書データを表示中に、ペン機能において検知したストロークデータ、および消しゴム機能において検知したストロークデータを、文書データと対応づけてサーバ1へ送信する機能を有する。
【0013】
複合機5は、システム制御部、スキャナ、プリンタ、および、操作パネルなどを有する。システム制御部は、複合機全体を制御するコンピュータである。システム制御部は、プロセッサ、メモリ、および、通信インターフェースなどを有する。システム制御部では、プロセッサがメモリに記憶したプログラムを実行することにより種々の機能を実現する。
【0014】
スキャナは、原稿をスキャンして原稿面の画像を画像データ(文書データ)に変換する。プリンタは、用紙に画像を形成する。プリンタは、特定の画像形成方式に限定されるものではなく、電子写真方式、インクジェット方式あるいは熱転写方式などのプリンタであっても良い。操作パネルは、タッチパネルを搭載した表示装置を有する。操作パネルは、複合機を操作するための操作画面を表示する。
【0015】
なお、複合機5は、操作パネルを用いて、PC2あるいはタブレット端末3と同様な文書データの表示機能、ペン機能および消しゴム機能などを設けても良い。また、複合機5は、サーバ1と同様な文書データの機能などの機能を搭載しても良い。
【0016】
すなわち、配布システムSにおいて、PC2およびタブレット端末3は、タッチパネル等の入力装置で入力した線などの図形をメモとして文書データの画像上に重ねて書込むことができる。また、一旦書き込んだ線などの図形をタッチパネル等の入力装置での入力によって消去することもできる。タッチパネルなどの入力装置で入力された線(書込線)あるいは消去部分を示す消去線を示すストロークデータは、文書データとは別にサーバ上に蓄積されて管理される。サーバ1は、登録されたオリジナルの文書データと文書データに対応づけて蓄積された書込線および消去線のストロークデータなどのデータとを、ネットワーク上の各機器(PC、タブレット端末、印刷装置など)へ送信したり、汎用フォーマットのファイルに変換したりする。これにより、配布システムSでは、複数のユーザで、特定ユーザが文書データに書き込んだ書込線のストロークデータも含め、共有することができる。
【0017】
次に、本実施形態に係る配布システムSにおけるサーバ1の構成例について説明する。
図2は、本実施形態に係る配布システムSにおけるサーバ1の構成例を示す図である。
図2に示す構成例において、サーバ1は、プロセッサ11、メモリ12、補助記憶装置13、データ記憶装置14、通信装置15、ディスプレイ16、キーボード17などを有する。
プロセッサ11は、CPUなどの演算部である。メモリ12は、RAMなどで構成されるワークメモリである。補助記憶装置13は、プロセッサが実行するプログラムなどを記憶する不揮発性メモリである。
【0018】
データ記憶装置14は、ハードディスクドライブなどの書換え可能な大容量の不揮発性のメモリである。データ記憶装置14は、文書データおよび文書データの管理に関するデータ(後述する書込線および消去線のストロークデータ)などを記憶するデータベースとして機能する。通信装置15は、ネットワーク6に接続するためのネットワークインターフェースである。ディスプレイ16は、管理データあるいは文書データの画像などを表示するための表示装置である。キーボード17は、システム管理者などのユーザからの入力を受け付ける操作部である。
【0019】
プロセッサ11は、補助記憶装置13などに記憶されているプログラムを読み込み、メモリ12に展開して実行することにより各種の機能を実現する。たとえば、プロセッサ11は、配布システム用のプログラムを実行することにより、文書データを登録する登録処理、文書データを配布する配布処理、ストロークデータを記録する記録処理、指定フォーマットのファイルを生成するファイル生成処理、印刷用のデータ(ファイル)を生成するデータ(ファイル)生成処理などの各種の処理を行う。
【0020】
図3は、サーバ1の処理を説明するためのフローチャートである。
配布システム用のプログラムが起動されると、サーバ1のプロセッサ11は、メモリ12におけるワークメモリ領域の確保し、各種パラメータ等の初期設定を行う初期化処理を実行する(ACT11)。初期化処理が完了すると、プロセッサ11は、各種の処理が実行可能な状態となり、各種の処理要求を受け付ける。
【0021】
すなわち、配布用の文書データの登録要求を受けた場合(ACT12、YES)、プロセッサ11は、配布用の文書データの登録処理を実行する(ACT13)。サーバ1のプロセッサ11は、PC2、タブレット端末3あるいは複合機5のスキャン装置などのネットワーク上の機器からの配布用の文書データの登録要求を受け付ける。たとえば、文書データの登録要求を受信すると、サーバ1のプロセッサ11は、登録が要求された文書データを受信し、受信した文書データをデータ記憶装置14に記憶する登録処理を行う。なお、文書データは、記憶媒体などを介して直接的にサーバ1に入力されるものであっても良い。
【0022】
また、文書データの配布要求を受けた場合(ACT14、YES)、プロセッサ11は、文書データを配布する配布処理を実行する(ACT15)。たとえば、サーバ1のプロセッサ11は、PC2あるいはタブレット端末3などのネットワーク上の機器からの配布用の文書データの配布要求を受け付ける。文書データの配布要求を受信すると、サーバ1のプロセッサ11は、配布が要求された文書データをデータ記憶装置14から読み出し、読み出した文書データを配布先の機器へ配信する配布処理を行う。
【0023】
また、プロセッサ11は、配布が要求された文書データに合成すべきデータが存在する場合、合成処理した画像を配布する。たとえば、文書データに対応する書込線のストロークデータおよび消去線のストロークデータが存在する場合、プロセッサ11は、文書データにストロークデータを合成した画像を配布する。
【0024】
また、文書データに対するストロークデータの記録要求を受けた場合(ACT16、YES)、プロセッサ11は、文書データに対応づけてストロークデータを記録する記録処理を実行する(ACT17)。サーバ1のプロセッサ11は、PC2あるいはタブレット端末3などから、配布用の文書データに描画する書込線を示す書込線のストロークデータおよび文書データに描画した書込線に対する消去線のストロークデータを受け付ける。配布用の文書データに対するストロークデータを受信すると、プロセッサ11は、受信したストロークデータを文書データに対応づけてデータ記憶装置14に記憶する。
【0025】
また、文書データの汎用フォーマットファイルの出力要求を受けた場合(ACT18、YES)、プロセッサ11は、文書データから汎用フォーマットのファイルを生成し、生成した汎用フォーマットのファイルを出力する出力処理を実行する(ACT19)。たとえば、サーバ1のプロセッサ11は、PC2あるいはタブレット端末3などのネットワーク上の機器から汎用フォーマットファイルの出力要求を受け付ける。汎用フォーマットファイルの出力要求を受信すると、サーバ1のプロセッサ11は、出力が要求された文書データと当該文書データに対応するストロークデータとを合成し、合成したデータから指定された汎用フォーマットのファイルを生成し、生成した汎用フォーマットのファイルを出力要求元の機器へ送信する。
【0026】
また、文書データの印刷出力要求を受けた場合(ACT20、YES)、プロセッサ11は、文書データから印刷用の画像データを生成し、生成した印刷用の画像データを出力する出力処理を実行する(ACT21)。たとえば、サーバ1のプロセッサ11は、複合機5から文書データの印刷出力要求を受け付ける。印刷出力要求を受信すると、プロセッサ11は、印刷出力が要求された文書データと当該文書データに対応するストロークデータとを合成し、印刷用の画像データを生成し、生成した印刷用の画像データを出力要求元の複合機5へ送信する。
【0027】
サーバ1のプロセッサ11は、以上の処理を配布システム用のプログラムが終了されるまで繰り返し実行する。配布システム用のプログラムが終了されると(ACT22、YES)、プロセッサ11は、上述の処理を終了する。
【0028】
次に、PC2あるいはタブレット端末3などのユーザ端末において表示した文書データに線を描画する機能と描画した線を消去する機能とについて説明する。
タッチパネルを搭載した表示装置を有するPC2或いはタブレット端末3などのユーザ端末では、サーバ1が管理する文書データを表示する機能、表示した画像上に線を書き込む書込み機能(ペン機能)、および、書込み機能で書き込まれた線を消去する消去機能(消しゴム機能)などを有する。ペン機能および消去機能は、表示画面上においてユーザがタッチした部位をタッチパネルで検知することにより実現される。
【0029】
ペン機能により書き込みが指示された線(書込線)は、複数の経由点で示すストロークデータとして保存される。また、消しゴム機能により消去が指示された線(消去線)は、複数の経由点で示すストロークデータとして保存される。
【0030】
図4は、文書データの画像に対する書込線及び消去線の合成を模式的に示す模式図である。
図4に示す例では、文書データの画像上に書込線のストロークデータと消去線のストロークデータとを重ねて合成する例を示している。
【0031】
たとえば、文書データの画像上に書込線のストロークデータを重ねて合成することにより、文書データの画像に書込線を描画した画像が生成される。さらに、文書データの画像に書込線が描画された画像に、消去線のストロークデータを重ねて合成することにより、消去線に基づいて書込線を消去した画像が生成される。
【0032】
このため、配布システムSでは、文書データと、文書データに対応する書込線のストロークデータ及び消去線のストロークデータとが対応づけて管理される。すなわち、サーバ1は、文書データに対応づけて、書込線のストロークデータ、および、消去線のストロークデータを管理するとともに、各ストロークデータについてレイヤーを管理する。これにより、サーバ1が管理する文書データの画像には、書込線のストロークデータおよび消去線のストロークデータを複数のレイヤーで重ね合わせて合成することにより、文書データの画像に線が描画された画像を生成できる。
【0033】
図5は、文書データの表示画面上に描画した線の一部を消しゴム機能で消去する例を示す図である。
図5に示すように、PC2あるいはタブレット端末3は、ペン機能により、文書データを表示した表示装置の画面上に線を描画できる。すなわち、ペン機能を実行中のPC2あるいはタブレット端末3は、表示画面上においてユーザがタッチした部位をタッチパネルで検知し、検知した部位を線として表示画像に書き込む。PC2あるいはタブレット端末3は、文書データの画像上に描画した線を消しゴム機能により消去できる。消しゴム機能を実行中のPC2あるいはタブレット端末3は、表示画面上においてユーザがタッチした部位をタッチパネルで検知し、検知した部位を消去線とする。PC2あるいはタブレット端末3は、描画されている線(書込線)に消去線が交差すると、交差した部位の線を消去する。
【0034】
ペン機能により書き込まれた書込線は、複数の経由点で示される書込線のストロークデータとして管理され、消しゴム機能により消去が指示された消去線は、複数の経由点で示される消去線のストロークデータとして管理される。ここで、書込線および消去線をピクセルデータとして管理すると、データ量が多くなり、ネットワークを送受信するデータやファイルなどに保存するには不向きである。このため、本実施形態に係る配布システムSでは、書込線および消去線を複数の経由点で示すストロークデータとして管理する。
【0035】
また、書込線及び消去線をストロークデータで管理する場合、経由点の間隔を広げれば広げるほど、データ量が小さくなる。ただし、書込線に対して消去線が交差する領域を経由点間だけで特定して消去する消去処理では、経由点の間隔が広ければ広いほど、消去線の幅よりも広い範囲を消去しまうなどの精度低下が生じる。
【0036】
図6は、書込線と消去線との関係例を示す図である。
図7は、
図6に示す経由点のみで消去処理を実施した場合の例を示す図である。
【0037】
図6及び
図7に示すように、書込線の経由点の間隔が消去線の幅よりも大きい場合、消去線との交差する領域(消去領域)を経由点間で特定すると、書込線において消去される領域が、消去線の幅よりも大きくなる。このような場合、ユーザが実際に消去を意図していない部分まで消去されてしまうため、当該ユーザに違和感を与える。
【0038】
本実施形態に係る配布システムSは、書込線を定義するオリジナルの経由点に加えて経由点間に中継点を追加する。これにより、書込線において、消去線と交差する領域(消去領域)を精度良く特定し、正確な消去処理を行う。また、本実施形態に係る配布システムSは、消去線についてもオリジナルの経由点に加えて、経由点間に中継点を追加する。
【0039】
図8は、書込線において中継点を追加した例を示す図である。
図9は、
図8に示す経由点と中継点とで消去領域を特定する消去処理を実施した場合の例を示す図である。
図8及び
図9に示すように、書込線の経由点の間隔が消去線の幅よりも大きい場合であっても、書込線における経由点及び中継点間で消去線との交差領域(消去領域)を特定すると、書込線における消去領域は、消去線の幅に近いものとなる。つまり、ストロークデータのデータ量を削減するために、書込線および消去線の経由点の間隔を広く設定した場合であっても、書込線及び消去線における経由点間を複数の中継点で補完することにより、書込線における消去領域を精度良く特定でき、ユーザとって違和感のない消去処理が実現できる。
【0040】
本実施形態に係る配布システムSでは、サーバ1がオリジナルの文書データと、文書データに対応づけた書込線のストロークデータと消去線のストロークデータとを管理する。このため、文書データを配布する場合、文書データの汎用フォーマットファイルの生成が要求された場合、文書データの印刷が要求された場合、サーバ1では、配布する文書データに対して、書込み線のストロークデータおよび消去線のストロークデータを合成する処理を実行する。
【0041】
次に、サーバ1が管理する文書データの汎用フォーマットファイルを生成する処理について説明する。
図10は、文書データの汎用フォーマットファイルを生成する処理を説明するためのフローチャートである。
まず、ある文書データの汎用フォーマットファイルの生成が要求されたものとする。ファイルの生成が要求されると、サーバ1のプロセッサ11は、配布システムSによる配布用の文書データとして登録されている文書データから、指定された文書データのオリジナルの文書データを取得する(ACT31)。たとえば、プロセッサ11は、データ記憶装置14から指定されたオリジナルの文書データを読み込む。なお、プロセッサ11は、オリジナルの文書データをネットワーク6などを介して外部の装置から取得するようにしても良い。オリジナルの文書データを取得すると、プロセッサ11は、取得したオリジナルの文書データを汎用フォーマットのファイル(例えば、PDF(Portable Document Format)ファイル)に変換する(ACT32)。
【0042】
オリジナルの文書データを汎用フォーマットのファイルを生成すると、プロセッサ11は、当該文書データに対応するストロークデータを取得する(ACT33)。たとえば、プロセッサ11は、当該文書データに対応する書込線のストロークデータと消去線のストロークデータとをデータ記憶装置14から読み込む。このACT33が取得手段に相当する。ストロークデータを取得すると、プロセッサ11は、取得したストロークデータに消去線のストロークデータが含まれるか否かを判断する(ACT34)。
【0043】
消去線のストロークデータが有ると判断した場合(ACT34、YES)、プロセッサ11は、書込線における消去線との交差領域を消去する交差判定処理を行う(ACT35)。このACT34が交差判定出段に相当する。交差判定処理については、後で詳細に説明するものとする。ここでは、交差判定処理の結果として、書込線において消去線との交差領域とそれ以外の領域との境界となる2つの境界点が得られるものとする。
【0044】
ある消去線のストロークデータについて交差判定処理が完了すると、プロセッサ11は、全ての消去線に対して交差判定処理を実行したか否かを判断する(ACT36)。交差判定処理を行っていない消去線が存在すると判断した場合(ACT36、NO)、プロセッサ11は、交差判定処理が未実施の消去線のストロークデータについて交差判定処理を行う。なお、交差判定処理は、文書データを構成する各画像(ページ単位の画像)に対して実施されるものとする。
【0045】
全ての消去線に対する交差判定処理が完了したと判断した場合(ACT36、YES)、プロセッサ11は、交差判定処理の結果に基づいて書込線に対する消去処理を行う(ACT37)。たとえば、交差判定処理の結果として書込線における消去線との交差領域を示す境界点が得られた場合、プロセッサ11は、消去処理として、書込線において消去線との交差領域となる境界点間の線(データ)を消去(描画しないに設定)する。このACT37が消去手段に相当する。
【0046】
交差判定処理の結果に基づいて書込線に対する消去処理を行った場合、プロセッサ11は、消去処理を行った書込線のストロークデータをオリジナルの文書データの画像(表示用データ)に合成する(ACT38)。また、消去線が存在しないと判断した場合(ACT34、YES)、プロセッサ11は、取得した書込線のストロークデータをオリジナルの文書データの画像(表示用の画像データ)に合成する(ACT38)。
【0047】
なお、後述する交差判定処理において書込線および消去線のストロークデータにオリジナルの経由点以外に中継点を追加(生成)した場合であっても、書込線および消去線のストロークデータとしては、後述する交差判定処理で追加する中継点を含まないオリジナルの経由点で管理されるものとする。これにより、中継点の追加(生成)によって、書込線および消去線のストロークデータのデータ量が増加することを防ぐことができる。
【0048】
書込線のストロークデータをオリジナルの文書データに合成すると、プロセッサ11は、合成したファイルに必要なパラメータを追加することにより、ペン機能により描画された線および消しゴム機能により一部が消去された線を含む文書データの画像を汎用フォーマットファイルとして生成する(ACT39)。
【0049】
上記の処理により生成された文書データの汎用フォーマットファイルは、PC2あるいはタブレット端末3などへ出力される。また、印刷用のデータを生成する処理も、
図10に示す処理と同様な手順で実現可能である。たとえば、複合機5から印刷要求を受けた場合、サーバ1は、
図10に示す処理手順によって指定された文書データの印刷用ファイルを生成し、生成した印刷用ファイルデータを複合機5へ出力すれば良い。
【0050】
次に、書込線において消去線との交差領域(消去領域)を判定する交差判定処理(消去処理)について説明する。
図11は、ある文書データに対応する消去線に対する交差判定処理の流れを説明するためのフローチャートである。
ある文書データに対応する消去線のストロークデータを取得した場合、サーバ1のプロセッサ11は、交差判定処理を開始する。交差判定処理を開始すると、プロセッサ11は、当該文書データに対応する書込線のストロークデータを特定し、書込線と消去線との上下関係をチェックする(ACT51)。たとえば、プロセッサ11は、書込線のストロークデータのレイヤー情報と消去線のストロークデータのレイヤー情報とを比較することにより上下関係をチェックする。
【0051】
消去線よりも書込線が下側であると判断した場合、つまり、書込線上に消去線を重ね合わせると判断した場合(ACT52、YES)、プロセッサ11は、消去線のストロークデータにおいて隣接する2つの経由点を抽出する(ACT53)。また、プロセッサ11は、書込線のストロークデータにおいても隣接する2つの経由点を抽出する(ACT54)。消去線及び書込線においてそれぞれ2つの経由点を抽出すると、プロセッサ11は、一次交差判定として、消去線から抽出した2つの経由点間と書込線から抽出した2つの経由点間とが交差するか否かを判断する(ACT55)。消去線および書込線からそれぞれ抽出した経由点間が交差しないと判断した場合(ACT55、NO)、プロセッサ11は、ACT62へ進み、交差判定が未実施の経由点間が存在するか否かを判断する。
【0052】
なお、後述する処理においては、経由点間に追加する中継点を含めた2点間について交差判定を行うため、経由点間における交差判定(一次交差判定)は、省略して実施しても良い。ただし、一次交差判定として経由点間で交差の有無を判定することによって交差していない経由点間については、中継点の追加および中継点を含む複数の2点間に対する交差判定などの処理を省略でき、処理の高速化が図れる。
【0053】
消去線および書込線からそれぞれ抽出した経由点間が交差すると判断した場合(ACT55、YES)、プロセッサ11は、消去線から抽出した経由点間において中継点を追加し(ACT56)、書込線から抽出した経由点間においても中継点を追加する(ACT57)。中継点は、経由点間において所定間隔ごとに追加しても良いし、抽出した経由点間において所定数の中継点を追加するようにしても良い。
【0054】
なお、追加する中継点は、交差判定処理を行うためにだけ用いるデータであって、消去線のストロークデータおよび書込線のストロークデータにおけるオリジナルの経由点には影響しないものとする。これにより、書込線のストロークデータおよび消去線のストロークデータのデータ量が増加することを防止できる。ただし、追加した中継点を基に線の消去領域を特定した場合には、消去領域を示すための中継点が書込線のストロークデータに追加される。
【0055】
消去線および書込線の抽出した経由点間において中継点を追加すると、プロセッサ11は、消去線における経由点及び中継点とから交差判定の対象となる2点を選択するとともに、書込線における経由点及び中継点からも交差判定の対象とする2点を選択する(ACT58)。プロセッサ11は、消去線および書込線における2点を、一方の経由点側から順番に隣接する2点づつ選択して順番に交差の有無を判定するようにしても良いし、両方の経由点に近い方から順番に2点づつ選択して交差する境界を絞り込むようにしても良い。すなわち、消去線および書込線から交差判定の対象とする2点を選択する方法は、経由点間において交差する境界となる2点(中継点或いは経由点)を検出できるように選択するものであればよい。ここでは、消去線および書込線における隣接する2点を順番に選択するものとする。
【0056】
消去線および書込線における2点をそれぞれ選択すると、プロセッサ11は、消去線において選択した2点間と書込線において選択した2点間とが交差しているか否かを判断する(ACT59)。交差判定により消去線および書込線における選択された2点間が交差していると判断した場合(ACT59、YES)、プロセッサ11は、書込線における選択した2点間の領域に対して線を「描画しない(つまり、消去する)」に設定する(ACT60)。
【0057】
消去線および書込線において選択した2点間が交差するために線を「描画しない」に設定した後、あるいは、消去線および書込線における選択された2点間が交差していないと判断した場合(ACT59、NO)、プロセッサ11は、消去線および書込線から抽出した経由点間内の全領域について交差判定が完了したか否かを判断する(ACT61)。抽出した経由点間内の交差判定が完了していないと判断した場合(ACT61、NO)、プロセッサ11は、ACT58へ戻り、別の2点を選択してACT58−61の処理を実行する。
【0058】
また、抽出した経由点間内の交差判定が完了したと判断した場合(ACT61、YES)、プロセッサ11は、交差判定が未実施の経由点間があるか否かを判断する(ACT62)。交差判定が未実施の経由点間があると判断した場合(ACT62、YES)、プロセッサ11は、ACT53、54へ戻り、消去線および書込線から交差判定が未実施の2つの経由点間を抽出し、ACT53−62の処理を実行する。
【0059】
また、交差判定が未実施の経由点間がないと判断した場合(ACT62、YES)、プロセッサ11は、ACT53、54へ戻り、全ての書込線に対して消去線との交差判定処理が実施済みか否かを判断する(ACT63)。交差判定処理が未実施の書込線があると判断した場合(ACT63、NO)、プロセッサ11は、ACT51に戻り、交差判定処理が未実施の書込線と消去線との交差判定処理を実行する。また、交差判定処理が未実施の書込線がないと判断した場合(ACT63、YES)、プロセッサ11は、交差判定処理を終了する。
【0060】
次に、書込線および消去線に中継点を追加した後の交差判定の例について説明する。
上述した処理例では、プロセッサ11が、書込線および消去線における中継点を含む2点間同士で交差しているか否かを判定する処理について説明した。中継点及び経由点の間隔が書込線および消去線の幅(書込線および消去線を形成する円の径)よりも小さいことが確かであれば、プロセッサ11は、書込線および消去線の各点ごとに交差の有無を判定するようにしても良い。書込線および消去線の点ごとに交差の有無を判定する場合であっても、プロセッサ11は、書込線において消去線との交差の有無の境界となる点が検出できる。
【0061】
なお、書込線および消去線の点ごとに交差の有無を判定する場合、
図11に示す処理においてACT58−61の処理として、書込線および消去線の各点について交差の有無を判定し、書込線において交差の有無の境界となる2点(境界点)を検出し、書込線における境界点間を「描画しない」に設定するようにすればよい。
【0062】
図12は、書込線における点と消去線における点との関係例を示す図である。
図12に示す例では、書込線における点(経由点あるいは中継点)の座標を(Xp,Yp)とし、書込線の幅を示す半径をRp、消去線における点(経由点あるいは中継点)の座標を(Xe,Ye)とし、消去線の幅を示す半径をReとする。
【0063】
この場合、書込線の点と消去線の点との距離Dは、
【数1】
【0064】
となる。この距離Dが、書込線の太さRpと消去線太さReとの和の値より小さい場合、
D<(Re+Rp)
の条件を満たせば、書込線の点と消去線の間とは交差していると判定できる。
【0065】
プロセッサ11は、このような点ごとの交差判定を全ての経由点および中継点に対して行うことにより、交差判定の異なる境界を見つけ出ようにしても良い。この場合、交差の有無の境界となる点(中継点又は経由点)が、消去線によって線が消去される部分と線が残る部分との境界となる。
【0066】
図13は、書込線における経由点と中継点とを示す図である。
図13に示す例では、交差判定により交差すると判定された点と交差しないと判定された点とを示している。
図13に示す例では、黒塗り円が「交差する」と判定された点を示し、白塗り円が「交差なし」と判定された点を示しており、一点鎖線が交差判定の異なる境界を示している。
図13に示す交差判定の結果によれば、書込線において交差判定の異なる境界となる2つの境界点を検出できる。
【0067】
図14は、追加した中継点が交差判定の境界点となった例を示す図である。
図14に示す例では、境界点間の線が消去されている。
図15は、
図14に示す境界点を含む汎用フォーマットファイル(例えば、PDFファイル)の記述例を示す図である。
図15に示す例では、オリジナルのストロークデータを定義する経由点にはない境界点となる中継点(A1,B1)及び(A2,B2)が追加されている。また、
図15に示す例において、点(A1,B1)と(A2,B2)との間は描画コマンドにおいて「描画しない」に設定される。
【0068】
なお、汎用フォーマットファイルとしては、印刷用のデータであるPDL(Page Description Language)ファイルでも
図15に示す例と同様に中継点を用いて交差判定処理を行い、境界点間からなる消去領域の線を消去する消去処理を行える。
【0069】
上記のように、本実施形態の配布システムSは、ペン機能における書込みのストロークデータ(線を描画するベクトルデータ)上を、消しゴム機能による消しゴムのストロークデータ(線を消すベクトルデータ)で重なる様に軌跡を描きペン書込みで描画される線を消去する消去方法において、ペン書込みのストロークデータを構成する経由点Nと次の経由点N+1の間での交差判定を行うための中継点を設けて交差判定を行い、交差判定の結果が変化する境界を検出して境界点とする。
【0070】
これにより、本実施形態によれば、オリジナルの経由点だけでなく、オリジナルの経由点間に補完した中継点から交差判定(消去領域判定)の境界となる境界点を高精度で検出することができる。この結果として、書込線或いは消去線のストロークデータにおけるデータを増加させることなく、高精度な線の消去処理を実現できる。また、このような処理によれば、文書データに重ねて線を描画するストロークデータと線を消去するストロークデータとが複数の層に重ねて合成して表示する場合でも、線の描画及び消去結果を正確に再現した線の描画を行うことができる。
【0071】
なお、上述の実施形態においては、ファイル生成処理および交差判定処理などの処理をサーバが実施する例について説明したが、上述した処理の一部又は全部は、プロセッサとメモリとを有するネットワーク6に接続された機器(配布システムS内の機器)であれば、どの機器で実施しても良い。たとえば、上述したファイル生成処理および交差判定処理などの処理は、PC2、タブレット端末3あるいは複合機5などの機器が実施するようにしても良い。
【0072】
本実施形態では装置内部に実施する機能が予め記録されている場合で説明をしたが、これに限らず同様の機能をネットワークから装置にダウンロードしても良いし、同様の機能を記録媒体に記憶させたものを装置にインストールしてもよい。記録媒体としては、CD−ROM等プログラムを記憶でき、かつ装置が読み取り可能な記録媒体であれば、その形態は何れの形態であっても良い。またこのように予めインストールやダウンロードにより得る機能は装置内部のOS(オペレーティング・システム)等と協働してその機能を実現させるものであってもよい。
【0073】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。