(57)【要約】  描画装置は、描画領域内における第１ポインタ及び第２ポインタを用いた各操作をそれぞれ検出するポインタ制御手段と、第１ポインタのために指定された第１描画機能及び第１ポインタを用いた上記描画領域での操作に応じた第１描画データを生成する第１生成手段と、第２ポインタのために指定された第２描画機能及び第２ポインタを用いた上記描画領域での操作に応じた第２描画データを生成する第２生成手段と、上記第１描画データ及び第２描画データが重なり合う描画部分に上記第１描画機能又は第２描画機能に対応する描画効果を与えた描画データを生成する描画手段と、を備え、描画の操作性を向上させる。
2011001504.tif 000002
【特許請求の範囲】
【請求項１】
描画領域内における第１ポインタ及び第２ポインタを用いた各操作をそれぞれ検出するポインタ制御手段と、
前記第１ポインタのために指定された第１描画機能及び該第１ポインタを用いた前記描画領域での操作に応じた第１描画データを生成する第１生成手段と、
前記第２ポインタのために指定された第２描画機能及び該第２ポインタを用いた前記描画領域での操作に応じた第２描画データを生成する第２生成手段と、
前記第１描画データ及び前記第２描画データを合成させた描画データを生成する描画手段と、
を備えることを特徴とする描画装置。
【請求項２】
前記描画手段は、前記第１描画データ及び前記第２描画データが重なり合う描画部分に前記第１描画機能又は前記第２描画機能に対応する描画効果を与えた描画データを生成する、
ことを特徴とする請求項１に記載の描画装置。
【請求項３】
前記ポインタ制御手段は、前記第１ポインタが前記描画領域内に表示されている状態で、該描画領域内の該第１ポインタの表示位置とは異なる位置に対する所定操作が検出された場合に、前記第２ポインタを表示させる、
ことを特徴とする請求項１又は２に記載の描画装置。
【請求項４】
前記描画領域、前記第１描画機能を指定させるための第１設定領域、及び前記第２描画機能を指定させるための第２設定領域を含む描画操作画面のデータを生成する画面データ生成手段、
を更に備え、
前記第１生成手段は、前記第１設定領域で指定された描画機能を前記第１描画機能として取得し、
前記第２生成手段は、前記第２設定領域で指定された描画機能を前記第２描画機能として取得する、
ことを特徴とする請求項１から３のいずれか１項に記載の描画装置。
【請求項５】
前記描画手段は、前記第１描画データと前記第２描画データとを合成する際に、前記第１描画機能及び前記第２描画機能のいずれか一方を優先することを示す優先情報を取得し、前記第１描画データ及び前記第２描画データが重なり合う描画部分について該優先情報で示される描画機能を優先的に適用する、
ことを特徴とする請求項１から４のいずれか１項に記載の描画装置。
【請求項６】
前記第１生成手段は、前記第１描画機能が遮蔽である場合には、遮蔽体画像を含む第１画像データを生成し、
前記第２生成手段は、前記第２描画機能が描画である場合には、前記第２ポインタの操作で描かれた描画画像を含む第２画像データを生成し、
前記描画手段は、前記第２画像データに含まれる描画画像から前記第１画像データに含まれる遮蔽体画像と重なる部分を削除した画像を描画する、
ことを特徴とする請求項１から５のいずれか１項に記載の描画装置。
【請求項７】
前記第１生成手段は、前記第１描画機能が所定の効果を有する範囲指定である場合には、前記第１ポインタの操作に対応する指定範囲を示す画像を含む第１画像データを生成し、
前記第２生成手段は、前記第２描画機能が描画である場合には、前記第２ポインタの操作で描かれた描画画像を含む第２画像データを生成し、
前記描画手段は、前記第２画像データに含まれる描画画像のうちの前記第１画像データに含まれる指定範囲内に含まれる部分に前記所定の効果を付加した画像を描画する、
ことを特徴とする請求項１から６のいずれか１項に記載の描画装置。
【請求項８】
コンピュータが、
描画領域内における第１ポインタ及び第２ポインタを用いた各操作をそれぞれ検出し、
前記第１ポインタのために指定された第１描画機能及び該第１ポインタを用いた前記描画領域での操作に応じた第１描画データを生成し、
前記第２ポインタのために指定された第２描画機能及び該第２ポインタを用いた前記描画領域での操作に応じた第２描画データを生成し、
前記第１描画データ及び前記第２描画データを合成させた描画データを生成する、
ことを特徴とする描画方法。
【請求項９】
コンピュータに、
描画領域内における第１ポインタ及び第２ポインタを用いた各操作をそれぞれ検出し、
前記第１ポインタのために指定された第１描画機能及び該第１ポインタを用いた前記描画領域での操作に応じた第１描画データを生成し、
前記第２ポインタのために指定された第２描画機能及び該第２ポインタを用いた前記描画領域での操作に応じた第２描画データを生成し、
前記第１描画データ及び前記第２描画データを合成させた描画データを生成する、
ことを実行させる描画プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、描画技術に関する。
【背景技術】
【０００２】
現在、様々な描画機能を持つ描画アプリケーションが存在する。このような描画アプリケーションでは、鉛筆、ブラシ、スプレー等のような所望の描画形態を選択することができ、ぼかしやグラデーション等のような様々な描画効果を付加することができる。【０００３】
関連して、第１カーソルと第２カーソルとを表示し、移動対象のカーソルを切り替えて、第１カーソルを用いて指定された描画情報と、第２カーソルを用いて指定された画面上への描画と、に基づいて画面上へ描画する図形処理装置が知られている（下記特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−１９０５４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の描画アプリケーションでは、所望の描画機能の選択、描画エリアにおける描画指定、描画機能の切り替えというように、ユーザがポインタ（カーソル）を頻繁に移動させる必要があり操作が煩雑になる傾向にあった。従来の描画アプリケーションのユーザインタフェースが１つのポインタを用いて実現されていることがその問題の１つの原因である。上述の第１カーソルと第２カーソルとを用いた図形処理装置においても、描画指定するのは第２カーソルのみであり、第１カーソルは描画情報の指定のために利用されている。【０００６】
また、コンピュータ上ではなく実際に手を使って描画する場合には、両手を使って描画作業を行う場合がある。例えば、一方の手で型紙を支え、他方の手でスプレーを吹き付けることで、型紙に沿った模様を描画する場合等である。従来の描画アプリケーションでは、このような両手を使った描画作業が実現されていなかった。【０００７】
本発明の一態様に係る課題は、このような問題点に鑑み、描画の操作性を向上させる描画技術を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の各態様では、上述した課題を解決するために、それぞれ以下の構成を採用する。【０００９】
第１態様は、描画装置に関する。第１態様に係る描画装置は、描画領域内における第１ポインタ及び第２ポインタを用いた各操作をそれぞれ検出するポインタ制御手段と、第１ポインタのために指定された第１描画機能及び第１ポインタを用いた上記描画領域での操作に応じた第１描画データを生成する第１生成手段と、第２ポインタのために指定された第２描画機能及び第２ポインタを用いた上記描画領域での操作に応じた第２描画データを生成する第２生成手段と、上記第１描画データ及び第２描画データが重なり合う描画部分に上記第１描画機能又は第２描画機能に対応する描画効果を与えた描画データを生成する描画手段と、を備える。【００１０】
なお、本発明の他の態様として、以上の構成を実現する方法、プログラム、このプログラムを記録したコンピュータが読み取り可能な記憶媒体等であってもよい。
【発明の効果】
【００１１】
上記各態様によれば、描画の操作性を向上させる描画技術を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例１における描画装置のハードウェア構成例を示す図である。
【図２】図２は、実施例１における描画装置の処理構成例を示すブロック図である。
【図３】図３は、操作画面の例を示す図である。
【図４】図４は、描画設定テーブルの例を示す図である。
【図５】図５は、描画データ生成処理の概念を示す図である。
【図６】図６は、実施例１における描画装置の動作例を示すフローチャートである。
【図７】図７は、実施例１における描画装置を用いた描画例１を示す図である。
【図８】図８は、実施例１における描画装置を用いた描画例２を示す図である。
【図９】図９は、実施例１における描画装置を用いた描画例３を示す図である。
【図１０】図１０は、変形例における描画装置のハードウェア構成例を示す図である。
【図１１】図１１は、変形例における描画装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１３】
以下、実施形態としての描画装置について具体例を挙げ説明する。以下に挙げた各実施例はそれぞれ例示であり、本実施形態は以下の各実施例の構成に限定されない。
【実施例１】
【００１４】
以下、実施例１における描画装置について説明する。【００１５】
[装置構成]
図１は、実施例１における描画装置のハードウェア構成例を示す図である。実施例１における描画装置１は、ハードウェア構成として、本体ユニット１０、ユーザインタフェースユニット等を有する。本体ユニット１０は、ＣＰＵ（Central Processing System）１１、ＲＡＭ（Random Access Memory）１２、ハードディスクドライブ（以降、ＨＤＤと表記する）１３、ユーザインタフェースコントローラ（以降、ＵＩコントローラと表記する）１４等を含む。ＣＰＵ１１、ＲＡＭ１２、ＨＤＤ１３、ＵＩコントローラ１４はそれぞれバス１５により接続される。【００１６】
実施例１におけるユーザインタフェースユニットには、タッチパネルユニット１８が適用される。実施例１における描画装置１は、このようなハードウェア構成を有するパーソナルコンピュータ等の汎用コンピュータで実現されてもよいし、専用コンピュータで実現されてもよい。本実施形態は、この描画装置１のハードウェア構成を限定するものではない。【００１７】
タッチパネルユニット１８は、表示部、ユーザ操作を受け付けるタッチパネル、制御部等を含む。タッチパネルユニット１８は、本体ユニット１０から送られる描画データに応じた画像を表示部に表示させ、タッチパネルへの外部からの接触を感知することによりユーザからの入力を得る。タッチパネルユニット１８は、取得された入力情報を本体ユニット１０へ送る。【００１８】
この入力情報には、パネル上の接触位置に対応する位置情報（座標情報）及び接触状態に対応する操作情報等が含まれる。ここでの操作情報には、ユーザがタッチパネルに触れる操作（以降、タッチ操作と表記する）、ユーザがタッチパネルを離す操作（以降、リリース操作と表記する）、ユーザがパネルに触れたままその触れた箇所を移動させる操作（以降、ドラッグ操作と表記する）等を識別可能な情報が含まれる。これら位置情報及び操作情報は、例えば、タッチパネルユニット１８内の制御部が生成する。【００１９】
タッチパネルユニット１８の制御部は、タッチパネルから所定の周期（サンプリング周期等）で逐次出力される接触位置を示す信号を参照し、この信号に基づいて上記各操作を判定する。当該制御部は、接触を示す信号を受信するとタッチ操作の発生を検知する。制御部は、このタッチ操作の検知後、所定の間、接触信号が受信されない場合に、リリース操作の発生を検知する。また、制御部は、当該接触信号に基づいて接触の移動を検知することにより、その操作をドラッグ操作と判定する。なお、タッチ操作、ドラッグ操作及びリリース操作については本体ユニット１０側で判定されるようにしてもよい。この場合、タッチパネルユニット１８は、接触位置を示す信号を所定の周期（サンプリング周期等）で本体ユニット１０へ逐次出力するようにすればよい。【００２０】
実施例１におけるタッチパネルユニット１８は、異なる複数位置での同時接触も感知可能である。例えば、ユーザが両手でタッチパネルの異なる位置に触れた場合であっても、タッチパネルユニット１８は、各位置での接触をそれぞれ感知し、各接触を示す各入力情報をそれぞれ本体ユニット１０へ送る。本体ユニット１０は、例えば、一度に受信された情報に複数の入力情報が含まれている場合に、複数位置での同時接触が発生したと判断することができる。【００２１】
ＵＩコントローラ１４は、タッチパネル１８と接続され、タッチパネルユニット１８へ描画データを送信し、タッチパネルユニット１８から入力情報及び操作情報を受信する。なお、本実施形態は、タッチパネルユニット１８と本体ユニット１０との間のインタフェースを限定するものではない。【００２２】
ＣＰＵ１１は、１又は複数のプロセッサであり、ＲＡＭ１２、ＲＯＭ（図示せず）、インタフェース回路（図示せず）等の周辺回路、ＨＤＤ１３等を用いて動作する。【００２３】
図２は、実施例１における描画装置の処理構成例を示すブロック図である。実施例１における描画装置１は、操作画面制御部２４、操作判定部２５、第１描画データ生成部（以降、第１生成部と表記する）２６、第２描画データ生成部（以降、第２生成部と表記する）２７、描画データ生成部２８等を有する。これら処理部は、ハードウェア構成要素として実現されてもよいし、ＨＤＤ１３やＲＯＭ（図示せず）等に格納されるプログラムがＣＰＵ１１により実行されることによりソフトウェア構成要素として実現されてもよい（［その他］の項参照）。【００２４】
図２は、各処理部がソフトウェア構成要素として実現された場合の例を示す。この場合、ＨＤＤ１３やＲＯＭ（図示せず）等に格納されるプログラムがＣＰＵ１１により実行されることによりＯＳ（Operating System）２０が起動される。ＯＳ２０は、上述のＵＩコントローラ１４等の入出力を制御する。ＯＳ２０は、各種アプリケーションのタスク管理を行いながら、これらアプリケーションとＵＩコントローラ１４等との間のインタフェースとして動作する。【００２５】
具体的には、ＯＳ２０は、タッチパネルユニット１８で接触操作が感知されるとこの接触操作に対応する入力情報をＵＩコントローラ１４から受信する。ＯＳ２０は、受信された入力情報をタスク管理する各アプリケーションにそれぞれ通知する。また、ＯＳ２０は、描画アプリケーション２１から描画データと共に表示指示を受けると、その描画データに対応する画像をタッチパネルユニット１８の表示部に表示させるようにＵＩコントローラ１４を制御する。【００２６】
描画アプリケーション２１は、ＯＳ２０の制御の下、ＨＤＤ１３やＲＯＭ（図示せず）等に格納されるプログラムがＣＰＵ１１により実行されることにより実現される。図２の例では、描画アプリケーション２１が、操作画面制御部２４、操作判定部２５、第１生成部２６、第２生成部２７及び描画データ生成部２８を当該ソフトウェア構成要素として実現する。描画アプリケーション２１は、これら処理部を実行することにより、独立して同時操作可能な２つのポインタ（以降、第１ポインタ及び第２ポインタと表記する）を用いた描画を可能とする。【００２７】
操作画面制御部２４は、描画アプリケーション２１が起動されると、操作画面データを生成し、この操作画面をタッチパネルユニット１８の表示部に表示させる。図３は、操作画面の例を示す図である。操作画面３１は、第１設定エリア３２、描画エリア３３、第２設定エリア３４を含む。【００２８】
描画エリア３３は、第１ポインタ及び第２ポインタを用いた描画操作を行うためのエリアである。第１ポインタ及び第２ポインタはそれぞれ独立して同時操作可能なポインタであり、詳細については後述する。ユーザは、タッチパネルユニット１８に表示された操作画面３１の描画エリア３３内をタッチすることで描画操作を行う。描画エリア３３の描画操作では、第１ポインタ及び第２ポインタにそれぞれ異なる描画機能を持たせることができる。例えば、第１ポインタに遮蔽物の描画機能を割り当て、第２ポインタにスプレーの描画機能を割り当てることができる。以降、第１ポインタに割り当てられる描画機能を第１描画機能と表記し、第２ポインタに割り当てられる描画機能を第２描画機能と表記する。【００２９】
第１設定エリア３２は、第１描画機能を設定するためのエリアである。第２設定エリア３４は、第２描画機能を設定するためのエリアである。第１設定エリア３２及び第２設定エリア３４にはそれぞれ描画機能を設定するためのサブエリア３２ａ及び３４ａが含まれる。【００３０】
第１ポインタのためのサブエリア３２ａでは、例えば、遮蔽物、範囲指定、及び描画タイプ（ペン、スプレー等）のいずれか１つが選択可能である。第１ポインタは、第２ポインタよりも先に描画エリア３３へ接触することにより認識されるポインタであるため、遮蔽物や範囲指定等のように先に操作されるであろう描画機能は第１ポインタのためのサブエリア３４ａでのみ選択可能とすることが望ましい。よって、第２ポインタのためのサブエリア３４ａでは、例えば、描画タイプのうちのいずれか１つが選択可能とすることが望ましい。図３の例では、第１ポインタのサブエリア３２ａで遮蔽物が選択され、第２ポインタのサブエリア３４ａでスプレーが選択されている。【００３１】
サブエリア３２ａ及び３４ａにおいてそれぞれ描画機能が選択されると、第１設定エリア３２及び第２設定エリア３４の各空きエリアに、当該選択された描画機能に関する詳細設定を行うためのサブエリアがそれぞれ表示される。図３の例のように、例えば、サブエリア３２ａにおいて遮蔽物が選択された場合には、遮蔽物として選択可能な複数形状のいずれか１つを選択するためのサブエリア３２ｂと、その遮蔽物のサイズを設定するためのサブエリア３２ｃとが表示される。サブエリア３４ａにおいてスプレーが選択された場合には、選択可能な複数のスプレー吹き付け形状のいずれか１つを選択するためのサブエリア３４ｂと、スプレーの色を設定するためのサブエリア３４ｃと、吹き付けサイズを設定するためのサブエリア３４ｄとが表示される。また、描画機能として範囲指定が選択された場合には、例えば、範囲内に施す効果（グラデーション、ぼかし、マスク等）を選択するためのサブエリアが表示される。【００３２】
操作判定部２５は、タッチパネルユニット１８の接触操作に応じて送られる入力情報をＯＳ２０を介して受信し、この受信された入力情報に基づいてタッチパネルユニット１８におけるユーザ操作を判定する。具体的には、操作判定部２５は、タッチパネルユニット１８においてタッチ操作、リリース操作及びドラッグ操作の少なくとも１つが検知されると、その操作を識別可能な操作情報とその操作位置を特定するための位置情報とを含む入力情報を得る。【００３３】
操作判定部２５は、この入力情報に基づいて、操作画面３１の第１設定エリア３２又は第２設定エリア３４内の操作であると判断すると、その位置情報に基づいてユーザにより選択された描画機能及びその詳細設定に関する情報を取得する。操作判定部２５は、取得された情報を描画設定テーブルに格納する。描画設定テーブルは、例えば、ＲＡＭ１２に格納される。【００３４】
図４は、描画設定テーブルの例を示す図である。描画設定テーブルには、第１ポインタ及び第２ポインタについて、ポインタの位置を示すＸ座標及びＹ座標、描画機能、詳細設定などが格納される。Ｘ座標フィールド及びＹ座標フィールドには、入力情報に含まれる位置情報がそれぞれ設定される。第１ポインタの描画機能フィールドには、第１設定エリア３２のサブエリア３２ａで選択された第１描画機能が設定される。第２ポインタの描画機能フィールドには、第２設定エリア３４のサブエリア３４ａで選択された第２描画機能を示す情報が設定される。【００３５】
詳細設定フィールドは、選択されている描画機能に応じてその描画機能に関する詳細設定情報を格納する。詳細設定フィールドとしては、図４の例に示すように、形状に関する第１詳細設定フィールド、サイズに関する第２詳細設定フィールド、色に関する第３詳細設定フィールド等が含まれる。この他、グラデーション、ぼかし等の効果に関する第４詳細設定フィールドが含まれていてもよい。各詳細設定フィールドには、操作画面３１の第１設定エリア３２及び第２設定エリア３４の各サブエリアで選択された情報がそれぞれ格納される。【００３６】
操作判定部２５は、入力情報に基づいて、操作画面３１の描画エリア３３内の操作であると判断すると、ポインタ制御処理を行う。このポインタ制御処理において、操作判定部２５は、当該入力情報が描画エリア３３内におけるファーストタッチを示すか否かを判定する。ファーストタッチとは、描画エリア３３内でその接触以外の接触操作が行われていない状態を意味する。よって、操作判定部２５は、その入力情報により示されるタッチ操作以外に描画エリア３３内でタッチ操作又はドラッグ操作がそのとき行われていない場合に、その入力情報により示されるタッチ操作をファーストタッチと判定する。一方で、操作判定部２５は、その入力情報により示されるタッチ操作以外に描画エリア３３内でタッチ操作又はドラッグ操作がそのとき行われている場合に、その入力情報により示されるタッチ操作をセカンドタッチと判定する。【００３７】
操作判定部２５は、第１ポインタの操作を認識すると、描画設定テーブルにおける第１ポインタのＸ座標フィールド及びＹ座標フィールドにその位置情報を設定する。操作判定部２５は、第２ポインタの操作を認識すると、描画設定テーブルにおける第２ポインタのＸ座標フィールド及びＹ座標フィールドにその位置情報を設定する。【００３８】
操作判定部２５は、ファーストタッチと判定されたタッチ操作が行われた位置（Ｘ座標、Ｙ座標）に第１ポインタを表示し、そのタッチ操作から遷移されるリリース操作及びドラッグ操作をその第１ポインタの操作と認識する。具体的には、第１ポインタを表示後、そのタッチ操作がドラッグ操作に遷移した場合には、第１ポインタは、そのドラッグ操作に対応して逐次入力される位置情報で特定される座標に移動される。同様に、操作判定部２５は、セカンドタッチと判定されたタッチ操作が行われた位置に第２ポインタを表示し、そのタッチ操作から遷移されるリリース操作及びドラッグ操作をその第２ポインタの操作と認識する。【００３９】
これにより、描画エリア３３内において、異なる複数位置での同時接触が感知された場合には、第１ポインタ及び第２ポインタが同時に表示される。操作判定部２５は、第２ポインタを表示後、この第２ポインタに関するタッチ操作がリリース操作に遷移した場合には、第２ポインタを消去する。操作判定部２５は、第２ポインタを消去すると、描画設定テーブルの第２ポインタのＸ座標フィールド及びＹ座標フィールドの各データを消去する。また、操作判定部２５は、第１ポインタ及び第２ポインタを表示後、第１ポインタに関するタッチ操作がリリース操作に遷移した場合には、第１ポインタ及び第２ポインタを共に消去する。操作判定部２５は、第１ポインタを消去すると、描画設定テーブルの第１ポインタのＸ座標フィールド及びＹ座標フィールドの各データを消去する。【００４０】
操作判定部２５は、第１ポインタの操作を認識すると、その操作情報及び描画設定テーブルの第１ポインタに関する情報を第１生成部２６へ送る。一方、操作判定部２５は、第２ポインタの操作を認識すると、その操作情報及び描画設定テーブルの第２ポインタに関する情報を第２生成部２７へ送る。【００４１】
図５は、第１生成部２６、第２生成部２７、及び描画データ生成部２８による描画データ生成処理の概念を示す図である。【００４２】
描画データ生成部２８は、最終的にタッチパネルユニット１８の表示部に表示させる描画データを生成する。描画データ生成部２８は、この描画データのためのキャンバス４３を持つ。第１生成部２６及び第２生成部２７もそれぞれ独自のキャンバス４１及び４２を持つ。キャンバス４１、４２及び４３はそれぞれ同じ大きさを持ち、例えば、その大きさに対応するメモリ領域としてＲＡＭ１２上に格納される。【００４３】
第１生成部２６は、キャンバス４１上に、第１ポインタを用いた描画操作で描かれた画像を含む第１描画データを生成する。第２生成部２７は、キャンバス４２上に、第２ポインタを用いた描画操作で描かれた画像を含む第２描画データを生成する。図５の例では、第１描画機能に三角の遮蔽物が割り当てられており、第２描画機能にはスプレー描画が割り当てられている。よって、キャンバス４１上には第１ポインタで指された位置に当該遮蔽物が描かれた描画データが格納され、キャンバス４２上には第２ポインタで指された位置にスプレー描画された描画データが格納される。【００４４】
描画データ生成部２８は、キャンバス４３上に、キャンバス４１上の描画データとキャンバス４２上の描画データとを合成した描画データを生成する（図５の符号４３（２）参照）。描画データ生成部２８は、第１描画データと第２描画データとが重なる描画部分４６については、第１描画機能又は第２描画機能に対応する描画効果を適用する。図５の例では、当該描画部分４６には、第１描画機能として指定された遮蔽物に応じた遮蔽効果が適用される。第１描画機能にぼかし範囲指定が設定されている場合には、当該描画部分４６には、ぼかし効果が適用される。【００４５】
描画データ生成部２８は、既に、キャンバス４３上に格納された描画データが存在している場合には、その既に存在する描画データ（図５の符号４３（１））に、新たに合成された描画データ（図５の符号４３（２））を上書きした描画データを生成する（図５の符号４３（３））。図５の例によれば、第１描画機能には遮蔽物が指定されているため、第１ポインタに関しリリース操作が検出されると、合成の効果を残した状態で第１描画データは消去される。これは、第１描画機能に範囲指定が指定されている場合も同様である。【００４６】
描画データ生成部２８は、キャンバス４３上の描画データをＯＳ２０へ送ることにより、その描画データをタッチパネルユニット１８の表示部に表示させる。なお、描画データ生成部２８による第１描画データと第２描画データとの合成は、第１描画データと第２描画データとのいずれか１方が更新された際に実行されてもよいし、所定の周期で実行されるようにしてもよい。また、ＯＳ２０等の作用により、キャンバス４３上の描画データが常にタッチパネルユニット１８の表示部に表示されるようにしてもよい。【００４７】
[動作例]
図６は、実施例１における描画装置１の動作例を示すフローチャートである。【００４８】
ユーザが、タッチパネルユニット１８に表示される画面を操作するためにそのタッチパネルに触れると、タッチパネルユニット１８においてこの接触操作が検知される。タッチパネルユニット１８は、この検知された接触操作に関する、位置情報（座標情報）及び接触状態に対応する操作情報等を含む入力情報を本体ユニット１０へ送る。【００４９】
本体ユニット１０では、ＵＩコントローラ１４がこの入力情報を取得すると、ＯＳ２０を介して描画アプリケーション２１にこの入力情報の取得が通知される。描画アプリケーション２１では、操作判定部２５がこの入力情報を取得する。【００５０】
操作判定部２５は、この入力情報を取得すると、この入力情報に対応するユーザ操作を判定する（Ｓ６０１）。操作判定部２５は、この入力情報に含まれる位置情報に基づいて、このユーザ操作が操作画面３１の描画エリア３３内の操作であるか否かを判定する（Ｓ６０２）。操作判定部２５は、描画エリア３３内の操作でないと判定すると（Ｓ６０２；ＮＯ）、当該操作に応じた一般的な処理を行う（Ｓ６１２）。【００５１】
一般的な操作には、操作画面３１の第１設定エリア３２及び第２設定エリア３４内の操作が含まれる。当該ユーザ操作が第１設定エリア３２内の設定操作であれば、その設定操作に対応する描画機能が第１描画機能として描画設定テーブルに設定される。当該ユーザ操作が第２設定エリア３４内の設定操作であれば、その設定操作に対応する描画機能が第２描画機能として描画設定テーブルに設定される。なお、描画設定テーブルには、第１描画機能及び第２描画機能としてそれぞれ初期値が設定されるようにしてもよい。【００５２】
操作判定部２５は、当該ユーザ操作が描画エリア３３内の操作であると判定すると（Ｓ６０２；ＹＥＳ）、そのユーザ操作がファーストタッチ操作であるか否かを判定する（Ｓ６０３）。具体的には、操作判定部２５は、入力情報に含まれる操作情報がタッチ操作を示しており、かつ、そのときそのタッチ操作以外に描画エリア３３内でタッチ操作又はドラッグ操作が行われていない場合に、当該ユーザ操作をファーストタッチ操作であると判定する。【００５３】
操作判定部２５は、当該ユーザ操作がファーストタッチ操作であると判定すると（Ｓ６０３；ＹＥＳ）、その入力情報に含まれる位置情報で特定される位置に第１ポインタを表示する（Ｓ６０４）。続いて、操作判定部２５は、第１ポインタに関する描画情報及びその操作情報を第１生成部２６へ送る。第１ポインタに関する描画情報には、第１ポインタの位置を示す情報（Ｘ座標及びＹ座標）、第１描画機能として指定されている、描画機能、形状、サイズ、色等に関する情報が含まれる。【００５４】
一方で、操作判定部２５は、当該ユーザ操作がファーストタッチ操作でないと判定すると（Ｓ６０３；ＮＯ）、第１ポインタに関するユーザ操作であるか否かを判定する（Ｓ６０５）。ここでの、第１ポインタに関するユーザ操作とは、ファーストタッチ状態から遷移されたドラッグ操作又はリリース操作に該当する。操作判定部２５は、第１ポインタに関するユーザ操作であると判定すると（Ｓ６０５；ＹＥＳ）、第１ポインタに関する描画情報及びその操作情報を第１生成部２６へ送る。【００５５】
第１生成部２６は、操作判定部２５から第１ポインタに関する描画情報及び操作情報を取得すると、これら情報に基づく第１描画データをキャンバス４１上に生成する（Ｓ６０６）。【００５６】
操作判定部２５は、当該ユーザ操作がファーストタッチ操作でなく（Ｓ６０３；ＮＯ）、かつ、第１ポインタに関するユーザ操作でないと判定すると（Ｓ６０５；ＮＯ）、当該ユーザ操作がセカンドタッチ操作に該当するか否かを判定する（Ｓ６０７）。具体的には、操作判定部２５は、入力情報に含まれる操作情報がタッチ操作を示しており、かつ、そのときそのタッチ操作以外に描画エリア３３内でタッチ操作又はドラッグ操作が行われている場合に、当該ユーザ操作をセカンドタッチ操作であると判定する。そのタッチ操作以外に描画エリア３３内でタッチ操作又はドラッグ操作が行われているか否かの判定は、例えば、入力情報に複数の操作情報が含まれているか否かの判定、第１ポインタが既に表示されているか否かの判定等により実現されてもよい。【００５７】
操作判定部２５は、当該ユーザ操作がセカンドタッチ操作であると判定すると（Ｓ６０７；ＹＥＳ）、その入力情報に含まれる位置情報で特定される位置に第２ポインタを表示する（Ｓ６０８）。続いて、操作判定部２５は、第２ポインタに関する描画情報及びその操作情報を第２生成部２７へ送る。第２ポインタに関する描画情報には、第２ポインタの位置を示す情報（Ｘ座標及びＹ座標）、第２描画機能として指定されている、描画機能、形状、サイズ、色等に関する情報が含まれる。【００５８】
一方で、操作判定部２５は、当該ユーザ操作がセカンドタッチ操作でないと判定すると（Ｓ６０７；ＮＯ）、第２ポインタに関する描画情報及びその操作情報を第２生成部２７へ送る。ここで、操作判定部２５により当該ユーザ操作がセカンドタッチ操作でないと判定される場合、当該ユーザ操作が第２ポインタに関するユーザ操作である。即ち、当該ユーザ操作は、セカンドタッチから遷移された第２ポインタを用いたドラッグ操作又はリリース操作に該当する。【００５９】
第２生成部２７は、操作判定部２５から第２ポインタに関する描画情報及び操作情報を取得すると、これら情報に基づく第２描画データをキャンバス４２上に生成する（Ｓ６０９）。【００６０】
描画データ生成部２８は、第１生成部２６により生成された第１描画データ及び第２生成部２７により生成された第２描画データを合成させた合成描画データを生成する（Ｓ６１０）。描画データ生成部２８は、合成描画データの作成において、第１描画データ及び第２描画データが重なり合う描画部分に第１描画機能又は第２描画機能に対応する描画効果を与える。描画データ生成部２８により生成された合成描画データは、ＯＳ２０及びＵＩコントローラ１４を介してタッチパネルユニット１８に送られる。結果、タッチパネルユニット１８の表示部に当該合成描画データに対応する画面が表示される（Ｓ６１１）。【００６１】
〈描画例〉
以下、実施例１における描画装置を用いた描画の具体例を図７、８及び９を用いて説明する。【００６２】
図７は、実施例１における描画装置による描画例１を示す図である。図７の例では、既に操作画面３１の描画エリア３３内に図形５５が描画されている状態を示す。【００６３】
ユーザは、操作画面３１の第１設定エリア３２のサブエリア３２ａにおいて範囲指定を第１描画機能として選択する。サブエリア３２ａにおいて範囲指定の描画機能が選択されると、サブエリア３２ｂに範囲指定の形状の選択画面が表示され、サブエリア３２ｃに範囲内の効果の選択画面が表示される。ここでは、範囲指定の形状として四角が選択され、範囲内の効果としてぼかしが選択されたと仮定する。【００６４】
更に、ユーザは、操作画面３１の第２設定エリア３４のサブエリア３４ａにおいて描画タイプ中のペンを第２描画機能として選択する。サブエリア３４ａにおいてペンの描画機能が選択されると、サブエリア３４ｂにペンの太さの選択画面が表示され、サブエリア３４ｃにペンの色の選択画面が表示される。これにより、所定の太さが選択され、所定の色が選択される。以下、ユーザは、タッチパネルを操作するのに指を使う場合を例に挙げる。もちろん、タッチペン等の物品を用いてタッチパネル操作を行っても良い。【００６５】
ユーザは、タッチパネルユニット１８に表示されている操作画面３１の描画エリア３３内を一方の腕の指で触れる。この操作は描画装置１においてファーストタッチ操作と判定され、タッチパネルユニット１８に第１ポインタ５１が表示される。以降、その触れた指の動きに追従し、この第１ポインタ５１が移動する。【００６６】
ユーザは、その触れた指（第１ポインタ５１）をスライドさせることで範囲５６を指定する。その範囲５６には、第１描画機能として指定されている範囲指定及びその詳細設定が反映される。このとき、描画装置１における第１生成部２６が自身のキャンパス４１にその指定された範囲５６を示す画像を描画する。【００６７】
ユーザは、上記指をそのままタッチパネルに触れさせた状態で、もう一方の腕の指をタッチパネル上の操作画面３１の描画エリア３３内を示す所定位置に触れる。この操作は描画装置１においてセカンドタッチ操作と判定され、タッチパネルユニット１８に第２ポインタ５２が表示される。以降、そのセカンドタッチ操作を行った指の動きに追従し、第２ポインタ５２が移動する。【００６８】
ユーザは、そのセカンドタッチ操作を行った指（第２ポインタ５２）をスライドさせることでペンを用いた描画を行う。このペン描画により描かれるペン画５７には、第２描画機能として指定されているペン描画機能及びその詳細設定が反映される。このとき、描画装置１における第２生成部２７が自身のキャンパス４２にそのペン画５７を描画する。【００６９】
描画装置１では、描画データ生成部２８が、第１ポインタ５１により描かれた範囲５６と第２ポインタ５２で描かれたペン画５７との合成描画データを生成し、タッチパネルユニット１８に表示させる。このとき、図７の例に示されるように、範囲５６内にペン画５７の一部が含まれる。描画データ生成部２８は、第１ポインタ５１により描かれた範囲５６内に含まれるペン画５７の部分５８に、範囲指定の属性としてのぼかし効果を付与する。【００７０】
その後、第２ポインタに対応する指がタッチパネルから離されると、第２ポインタ５２が消去されると共にペン画５７が確定される。続いて、第１ポインタに対応する指がタッチパネルから離されると、第１ポインタ５１が消去されると共に範囲５６を示す画像が消える。【００７１】
図８は、実施例１における描画装置を用いた描画例２を示す図である。図８の例では、第１描画機能として範囲指定が選択され、範囲指定の形状として四角が選択され、範囲内の効果としてグラデーションが選択される。第２描画機能としてはペンが指定され、所定の太さ及び所定の色がそれぞれ選択される。【００７２】
図８の例では、第１ポインタ５１により描かれた範囲５６内に含まれるペン画５７の部分５９に、範囲指定の属性としてのグラデーション効果が施される。【００７３】
図９は、実施例１における描画装置を用いた描画例３を示す図である。図９は、第１描画機能及び第２描画機能のためにそれぞれ描画タイプが選択された例を示す。具体的には、第１描画機能としてペンが選択され、第２描画機能としてスプレーが選択される。【００７４】
第１ポインタ５１を用いてペン画６１が作成され、第２ポインタ５２を用いてスプレー画６２が作成される。図９の例では、ペン画６１とスプレー画６２とが重なる部分については、ペン画６１が優先される。結果、スプレー画６２にペン画６１が上書きされる。【００７５】
〈実施例１の作用及び効果〉
上述したように実施例１における描画装置１によれば、タッチパネルユニット１８において独立して行われた複数の接触操作に応じて、第１ポインタと第２ポインタとが同時に表示される。第１ポインタ及び第２ポインタにはそれぞれ異なる描画機能を第１描画機能及び第２描画機能としてそれぞれ指定することができ、各描画機能に関する情報はそれぞれ描画設定テーブルに格納される。【００７６】
最終的に、第１ポインタ及び第２ポインタを用いた描画エリア３３内への描画操作により第１描画機能及び第２描画機能に応じた各描画データがそれぞれ生成され、これら描画データが合成された合成描画データがタッチパネルユニット１８で表示される。【００７７】
従って、実施例１における描画装置１を用いるユーザは、実際に両手を使って描画するのと同様の操作により描画をすることができる。よって、片手で型紙を持ち他方の手でスプレーを使ったスプレーアートも容易な操作により実現することができる。実施例１によれば、両手を用いた描画を可能とするため、従来よりも描画の操作性が向上する。【００７８】
更に、第１ポインタ及び第２ポインタにそれぞれ異なる描画機能を設定することができるため、様々なユーザの要求に応じた描画機能を提供することができる。【００７９】
[変形例]
上述の実施例１における描画装置１では、図９の例のように、第１描画機能及び第２描画機能にそれぞれ描画タイプが指定された場合には、第１描画機能が優先されて第１描画データが第２描画データに上書きされていた。第１描画機能及び第２描画機能のうち優先されるべき描画機能が設定可能とされるようにしてもよい。【００８０】
図１０は、変形例における描画設定テーブルの例を示す図である。図１０の例のように、描画設定テーブルに優先度フィールドを追加し、第１描画機能及び第２描画機能に関する優先度が格納されるようにしてもよい。この描画設定テーブルの優先度フィールドには、操作画面３１の第１設定エリア３２及び第２設定エリア３４の各サブエリアで選択された優先度情報が格納されるようにする。【００８１】
この変形例では、描画データ生成部２８が、第１描画機能及び第２描画機能としてそれぞれ描画タイプが指定されている場合には、この描画設定テーブルに格納される優先度情報に基づいて、優先度の高い描画機能を優先適用するようにすればよい。優先適用とは、例えば、上書きである。【００８２】
また、上述の実施例１における描画装置１は、タッチパネルユニット１８を備えており、このタッチパネルユニット１８を用いてユーザ操作が行われた。描画装置１は、タッチパネルユニット１８以外のユーザ操作入力手段を備えるようにしてもよい。【００８３】
図１０は、変形例における描画装置のハードウェア構成例を示す図である。上述のユーザ操作入力手段としては、例えば、マウスがある。変形例では、ＵＩコントローラ１４に、タッチパネルユニット１８及びマウス７１が接続されるようにしてもよいし、タッチパネルユニット１８の代わりに少なくとも２つのマウス７１が接続されるようにしてもよい。【００８４】
２つのマウス７１が接続される場合には、ＯＳ２０により予めマウス７１（１）及び７１（２）にそれぞれ対応する第１ポインタ及び第２ポインタが表示される。変形例における操作判定部２５は、ファーストタッチ操作及びセカンドタッチ操作を判定しなくてもよい。第１ポインタに対応するマウス７１（１）で描かれた画像を第１生成部２６が生成し、第２ポインタに対応するマウス７１（２）で描かれた画像を第２生成部２７が生成するようにすればよい。【００８５】
タッチパネルユニット１８とマウス７１とが併用される場合には、ＯＳ２０によりマウス７１に対応するポインタは表示される。変形例における操作判定部２５は、操作画面３１の描画エリア３３内の接触操作が行われていない状態で、マウス７１に対応するポインタが描画エリア３３内に移動された場合には、そのマウス７１に対応するポインタを第１ポインタと判定するようにしてもよい。この場合、マウス７１に対応するポインタが描画エリア３３内に表示されている状態で、タッチパネルによる描画エリア３３内の操作が行われた場合に、その接触操作をセカンドタッチ操作と判定する。逆に、マウス７１に対応するポインタが描画エリア３３内に表示されていない状態で、タッチパネルによる描画エリア３３内の操作が行われた場合に、その接触操作をファースト操作と判定する。第１ポインタ及び第２ポインタの判定処理以外は、実施例１と同様であればよい。【００８６】
［その他］
〈ハードウェアの構成要素（Component）及びソフトウェアの構成要素（Component）について〉
ハードウェアの構成要素とは、ハードウェア回路であり、例えば、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、ゲートアレイ、論理ゲートの組み合わせ、信号処理回路、アナログ回路等がある。【００８７】
ソフトウェアの構成要素とは、ソフトウェアとして上記処理を実現する部品（断片）であり、そのソフトウェアを実現する言語、開発環境等を限定する概念ではない。ソフトウェアの構成要素としては、例えば、タスク、プロセス、スレッド、ドライバ、ファームウェア、データベース、テーブル、関数、プロシジャ、サブルーチン、プログラムコードの所定の部分、データ構造、配列、変数、パラメータ等がある。これらソフトウェアの構成要素は、１又は複数のメモリ（１または複数のプロセッサ（例えば、ＣＰＵ（Central Processing Unit）、ＤＳＰ（Digital Signal Processor）等）上で実現される。【００８８】
なお、上述の各実施形態は、上記各処理部の実現手法を限定するものではない。上記各処理部は、上記ハードウェアの構成要素又はソフトウェアの構成要素若しくはこれらの組み合わせとして、本技術分野の通常の技術者において実現可能な手法により構成されていればよい。
【符号の説明】
【００８９】
１  描画装置
１１  ＣＰＵ（Central Processing System）
１２  ＲＡＭ（Random Access Memory）
１３  ハードディスクドライブ（ＨＤＤ）
１４  ユーザインタフェースコントローラ（ＵＩコントローラ）
１８  タッチパネルユニット
２４  操作画面制御部
２５  操作判定部
２６  第１描画データ生成部（第１生成部）
２７  第２描画データ生成部（第２生成部）
２８  描画データ生成部
３１  操作画面
３２  第１設定エリア
３３  描画エリア
３４  第２設定エリア
【図１】
2011001504.tif 000003
【図２】
2011001504.tif 000004
【図３】
2011001504.tif 000005
【図４】
2011001504.tif 000006
【図５】
2011001504.tif 000007
【図６】
2011001504.tif 000008
【図７】
2011001504.tif 000009
【図８】
2011001504.tif 000010
【図９】
2011001504.tif 000011
【図１０】
2011001504.tif 000012
【図１１】
2011001504.tif 000013
【国際調査報告】
2011001504.tif 000014
2011001504.tif 000015