JP2011128962A - 画像処理装置、画像処理方法、及びコンピュータプログラム - Google Patents
画像処理装置、画像処理方法、及びコンピュータプログラム Download PDFInfo
- Publication number
- JP2011128962A JP2011128962A JP2009287819A JP2009287819A JP2011128962A JP 2011128962 A JP2011128962 A JP 2011128962A JP 2009287819 A JP2009287819 A JP 2009287819A JP 2009287819 A JP2009287819 A JP 2009287819A JP 2011128962 A JP2011128962 A JP 2011128962A
- Authority
- JP
- Japan
- Prior art keywords
- layer
- hierarchy
- editing
- edited
- gesture command
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/503—Blending, e.g. for anti-aliasing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
【課題】 重なって表示されている複数のオブジェクトに対する入力操作を簡便にする。
【解決手段】 表示されるそれぞれのオブジェクトを複数のレイヤ(階層)の何れかに所属させる。二次元で表示されている各オブジェクトを、当該オブジェクトが所属しているレイヤ毎に、三次元のレイヤ構造で表示する。そして、三次元のレイヤ構造で表示されたオブジェクトに対するユーザの操作に従って、編集対象のオブジェクトの編集を行う。
【選択図】 図2
【解決手段】 表示されるそれぞれのオブジェクトを複数のレイヤ(階層)の何れかに所属させる。二次元で表示されている各オブジェクトを、当該オブジェクトが所属しているレイヤ毎に、三次元のレイヤ構造で表示する。そして、三次元のレイヤ構造で表示されたオブジェクトに対するユーザの操作に従って、編集対象のオブジェクトの編集を行う。
【選択図】 図2
Description
本発明は、画像処理装置、画像処理方法、及びコンピュータプログラムに関し、特に、画面に表示されたオブジェクトを編集するために用いて好適なものである。
一般的なアートワークの編集ツールでは、パスや矩形等のオブジェクトをレイヤ構造(階層構造)で管理している。オブジェクトをレイヤ構造で管理することで、z軸上で重なりを持つオブジェクトに対して、z軸上の順序入れ替えや、レイヤ毎にオブジェクトの表示・非表示の切り替え等の処理を行い、アートワークの編集を簡便にするものがある。
また、近年では、手書き入力と手書き認識技術を組み合わせたジェスチャコマンドに係る技術も様々なアプリケーションに利用されている。特許文献1では、ジェスチャコマンドを画面上に表示しておき、ジェスチャコマンドを選択して操作対象へドラッグアンドドロップすることで、操作対象に対して、選択されたジェスチャコマンドに対応するコマンドを実行する技術が開示されている。
一般的なアートワークの編集ツールでは、例えばz軸上で重なるオブジェクトをドラッグ操作する際には、意図したオブジェクトではないものをユーザが誤って選択する恐れがある。また、レイヤ毎に編集をロックすることも可能だが、オブジェクトをドラッグアンドドロップするたびに編集のロックと解除を行うのでは、効率が悪い。
特許文献1に記載の技術によれば、画面上のジェスチャコマンドを操作対象へドラッグアンドドロップしてコマンドを実行するという直感的な操作が可能である。しかしながら、特許文献1に記載の技術は、画面上に複数のジェスチャコマンドやアノテーションを保持しておく手段を持たない。そのため、特許文献1に記載の技術を、地図表示アプリ等に応用した際に、操作対象に目印を付けておき、且つ、操作対象を拡大して表示するといった処理を行うことができない。
特許文献1に記載の技術によれば、画面上のジェスチャコマンドを操作対象へドラッグアンドドロップしてコマンドを実行するという直感的な操作が可能である。しかしながら、特許文献1に記載の技術は、画面上に複数のジェスチャコマンドやアノテーションを保持しておく手段を持たない。そのため、特許文献1に記載の技術を、地図表示アプリ等に応用した際に、操作対象に目印を付けておき、且つ、操作対象を拡大して表示するといった処理を行うことができない。
本発明はこのような問題を鑑みてなされたものであり、画像として表示されているオブジェクトに対する操作のための入力を簡便に且つ確実にすることを目的する。
本発明の画像処理装置は、画像として表示される複数のオブジェクトのそれぞれを、複数の階層の何れかに所属させて管理する管理手段と、前記階層ごとに、当該階層に所属しているオブジェクトを表示する表示手段と、前記表示手段により表示されたオブジェクトに対する操作をユーザからの指示に基づいて行う操作手段と、前記操作手段による操作の結果に応じて、前記オブジェクトが所属する階層の生成、削除、又は変更を行う処理手段と、を有することを特徴とする。
本発明によれば、複数のオブジェクトのそれぞれを、複数の階層の何れかに所属させて管理し、階層ごとにオブジェクトを表示する。また、オブジェクトに対する操作の結果に応じて、オブジェクトが所属する階層の生成、削除、又は変更を行う。したがって、画像として表示されているオブジェクトに対する操作のための入力を簡便に且つ確実に行うことが可能になる。
以下、図面を参照しながら本発明の好適な実施形態について説明する。
(第1の実施形態)
まず、本発明の第1の実施形態について説明する。
図1は、情報処理装置の機能的な構成の一例を示すブロック図である。情報処理装置101は、例えば、フォトプリンタのUI提示部に組み込むことができる。本実施形態では、画像(編集対象となるオブジェクト)に対して複数のオブジェクトを入力し、当該入力したオブジェクトに対して移動等の操作を行い、当該画像の編集や当該画像への情報の付加等の画像処理を行う場合を例に挙げて説明する。情報処理装置のハードウェアは、例えば、CPUと、CPUによって実行されるコンピュータプログラム等を記憶するROMと、CPUのワークエリア等として使用されるRAMと、各種のデータ等を記憶するHDDと、各種インターフェースを備えて構成される。
入力装置102は、マウスやタッチパネル等を備えている。出力装置103は、ディスプレイやタッチパネル等を備えている。オブジェクト編集部104は、入力されたオブジェクトに対する編集を司る。レイヤ編集部105は、レイヤに対する編集を司る。
レイヤ管理部106は、オブジェクト編集部104及びレイヤ編集部105における編集によって変更されるオブジェクトやレイヤに関する情報を管理する。レイヤ管理部106は、レイヤ管理テーブルによってレイヤを管理する。三次元レイヤ提示部107は、レイヤを三次元で提示するための情報を生成する。
(第1の実施形態)
まず、本発明の第1の実施形態について説明する。
図1は、情報処理装置の機能的な構成の一例を示すブロック図である。情報処理装置101は、例えば、フォトプリンタのUI提示部に組み込むことができる。本実施形態では、画像(編集対象となるオブジェクト)に対して複数のオブジェクトを入力し、当該入力したオブジェクトに対して移動等の操作を行い、当該画像の編集や当該画像への情報の付加等の画像処理を行う場合を例に挙げて説明する。情報処理装置のハードウェアは、例えば、CPUと、CPUによって実行されるコンピュータプログラム等を記憶するROMと、CPUのワークエリア等として使用されるRAMと、各種のデータ等を記憶するHDDと、各種インターフェースを備えて構成される。
入力装置102は、マウスやタッチパネル等を備えている。出力装置103は、ディスプレイやタッチパネル等を備えている。オブジェクト編集部104は、入力されたオブジェクトに対する編集を司る。レイヤ編集部105は、レイヤに対する編集を司る。
レイヤ管理部106は、オブジェクト編集部104及びレイヤ編集部105における編集によって変更されるオブジェクトやレイヤに関する情報を管理する。レイヤ管理部106は、レイヤ管理テーブルによってレイヤを管理する。三次元レイヤ提示部107は、レイヤを三次元で提示するための情報を生成する。
図2は、UI提示部における表示の一例を示す図である。
図2(a)では、画面201内に表示された画像204に対し、入力装置102を用いてオブジェクトを入力した様子を表している。人物Aの顔207と重なる領域に、帽子オブジェクト205と、眉毛オブジェクト206とが入力されている。一方、人物Bの顔208と重なる領域にはオブジェクトは何も入力されていない。
本実施形態では、人物Aの顔207と重なる領域に存在しているオブジェクトのうち、眉毛オブジェクト206のみを、人物Bの顔208と重なる領域に移動させる場合について詳しく述べる。
図2(a)では、画面201内に表示された画像204に対し、入力装置102を用いてオブジェクトを入力した様子を表している。人物Aの顔207と重なる領域に、帽子オブジェクト205と、眉毛オブジェクト206とが入力されている。一方、人物Bの顔208と重なる領域にはオブジェクトは何も入力されていない。
本実施形態では、人物Aの顔207と重なる領域に存在しているオブジェクトのうち、眉毛オブジェクト206のみを、人物Bの顔208と重なる領域に移動させる場合について詳しく述べる。
図3は、三次元のレイヤ構造の表示を行う場合の情報処理装置101の処理の一例を説明するフローチャートである。具体的には、図2(a)に示す画面201における二次元表示から、図2(b)の画面202における三次元表示用の情報を生成する処理の一例を説明するフローチャートである。図3の処理の実行は、専用のボタンを設け、当該ボタンを押下することで開始されてもよいし、ジャイロセンサを情報処理装置101等の機器内に設けておき、機器を傾けることで開始されてもよい。また、その他の方法であっても構わない。
まず、ステップS301において、レイヤ管理部106は、レイヤ管理テーブルを読み出す。図4は、レイヤ管理テーブルの内容の一例を概念的に示す図である。レイヤ管理テーブルとは、存在するレイヤと、各レイヤに保持されるオブジェクトの内容とを相互に関連付けた対応表である。
図2(a)に示す画像204に、2つのオブジェクト205、206が入力された状態では、図4(a)に示すレイヤ管理テーブル401が得られる。領域403に示すように、2つのオブジェクト205、206がLayer_1に所属しており、領域404に示すように、編集対象のオブジェクト(人物の顔)を含む画像204がDefault Layerに所属している。
図2(a)に示す画像204に、2つのオブジェクト205、206が入力された状態では、図4(a)に示すレイヤ管理テーブル401が得られる。領域403に示すように、2つのオブジェクト205、206がLayer_1に所属しており、領域404に示すように、編集対象のオブジェクト(人物の顔)を含む画像204がDefault Layerに所属している。
次に、ステップS302において、レイヤ編集部105は、ステップS301で読み出されたレイヤ管理テーブル401の情報から、実際に三次元のレイヤ構造(階層構造)を生成する。具体的にレイヤ編集部105は、各レイヤに所属するオブジェクトの情報に基づいて、それぞれのレイヤに対応する二次元画像を別々に生成し、マトリックス演算を行うことで二次元画像を三次元画像に変換する。二次元画像から三次元画像を生成する方法は、公知の技術を用いることができるので、ここでは詳細な説明を省略する。レイヤ編集部105は、各レイヤに対応する三次元画像を生成すると、Default Layerをz軸上の最下層に配置する。その後、レイヤ編集部105は、レイヤのIDに付与されている数値の降順にz軸上の最上位から一定間隔でレイヤを配置する。レイヤを配置する間隔はどのような間隔でも構わない。
次に、ステップS303において、三次元レイヤ提示部107は、ステップS302で生成された三次元のレイヤ構造を提示するように表示の更新処理を行う。
以上の流れで、図2(a)に示す画面201における二次元表示から、図2(b)に示す画面202における三次元表示用の情報が生成され、表示が更新される。
以上の流れで、図2(a)に示す画面201における二次元表示から、図2(b)に示す画面202における三次元表示用の情報が生成され、表示が更新される。
図5は、三次元で表示された各レイヤにあるオブジェクトに対して編集操作を行い、レイヤを新たに生成する際の情報処理装置101の処理の一例を説明するフローチャートである。本実施形態では、編集操作がドラッグアンドドロップである場合を例に挙げて説明する。具体的には、図2(b)に示す画面202における眉毛オブジェクト209を矢印210の方向にドラッグアンドドロップして、図2(c)に示す画面203に示されているように新たにレイヤ212(階層)を生成する処理の一例を説明するフローチャートである。尚、図2(b)に示す矢印は、説明の都合上、表記したものであり、画面202に表示されるものではない。
また、本実施形態では、オブジェクトをシングルクリックした後に入力する編集操作をレイヤの生成処理として扱い、何もせずに入力する編集操作をオブジェクトの移動処理として扱う。すなわち、本実施形態では、オブジェクトをシングルクリックした後に編集操作(ドラッグアンドドロップ)が行われると、図5のフローチャートによる処理が開始されるものとする。
また、本実施形態では、オブジェクトをシングルクリックした後に入力する編集操作をレイヤの生成処理として扱い、何もせずに入力する編集操作をオブジェクトの移動処理として扱う。すなわち、本実施形態では、オブジェクトをシングルクリックした後に編集操作(ドラッグアンドドロップ)が行われると、図5のフローチャートによる処理が開始されるものとする。
まず、ステップS501において、レイヤ編集部105は、ユーザが、シングルクリックをした後に、図2(b)に示す矢印210に沿って負の方向へドラッグアンドドロップした際のドロップ時の画面202上の二次元座標を取得する。
次に、ステップS502において、レイヤ編集部105は、ステップS501で取得した二次元座標の位置を、三次元で表されている表示内の三次元座標の位置に変換する。
次に、ステップS502において、レイヤ編集部105は、ステップS501で取得した二次元座標の位置を、三次元で表されている表示内の三次元座標の位置に変換する。
次に、ステップS503において、レイヤ編集部105は、ステップS502で取得した三次元座標のz軸の値が閾値を超えているか否かを判定する。すなわち、ドラッグした位置のz軸の値とドロップされた位置のz軸の値との間の距離が閾値を超えているか否かを判定する。本実施形態では、Layer_1とDefault Layerとの中間地点に閾値を設けることとする。閾値は、存在するレイヤの数によって変動させることができる。
この判定の結果、ステップS502で取得した三次元座標のz軸の値が閾値を超えていれば、ステップS504へ進み、超えていなければ、ステップS507へ進む。
ステップS504に進むと、レイヤ編集部105は、ステップS502で取得した三次元座標の位置に配置されるレイヤ212を生成する(図2(c)を参照)。三次元レイヤ提示部107は、図2(c)に示す画面203において、レイヤ編集部105で生成されたレイヤ212を、ステップS502で取得した三次元座標の位置に表示する。
この判定の結果、ステップS502で取得した三次元座標のz軸の値が閾値を超えていれば、ステップS504へ進み、超えていなければ、ステップS507へ進む。
ステップS504に進むと、レイヤ編集部105は、ステップS502で取得した三次元座標の位置に配置されるレイヤ212を生成する(図2(c)を参照)。三次元レイヤ提示部107は、図2(c)に示す画面203において、レイヤ編集部105で生成されたレイヤ212を、ステップS502で取得した三次元座標の位置に表示する。
次に、ステップS505において、オブジェクト編集部104は、ステップS504で生成されたレイヤ212に、ドラッグアンドドロップされた眉毛オブジェクト209を移動させる処理を行う。三次元レイヤ提示部107は、オブジェクト編集部104の処理に従って、ドラッグアンドドロップされた眉毛オブジェクト209の表示位置を変更する。眉毛オブジェクト209は、図2(c)に示すように、眉毛オブジェクト211の位置に移動する。
次に、ステップS506において、レイヤ管理部106は、ステップS501〜S505の処理に基づいて、レイヤ管理テーブルの更新を行う。前述した操作で新規に生成されたレイヤ212のIDをLayer_2とすると、図4(a)に示したレイヤ管理テーブル401は、図4(b)に示すレイヤ管理テーブル402に変更される。
次に、ステップS506において、レイヤ管理部106は、ステップS501〜S505の処理に基づいて、レイヤ管理テーブルの更新を行う。前述した操作で新規に生成されたレイヤ212のIDをLayer_2とすると、図4(a)に示したレイヤ管理テーブル401は、図4(b)に示すレイヤ管理テーブル402に変更される。
図4において、Default Layerについては、操作前と操作後とで変更はない(領域404、407を参照)。Layer_1については、操作前には、領域403に示したように帽子オブジェクトと眉毛オブジェクトとが所属していたが、操作後では、領域405に示すように、帽子オブジェクトのみが所属するように変更される。そして、領域406に示すように、新規に生成されたLayer_2に眉毛オブジェクトが所属するようにレイヤ管理テーブルが変更される。このようなレイヤ管理テーブルの変更を終えると、図5のフローチャートによる処理を終了する。
図2(c)に示す画面203のような表示情報が生成されると、ユーザは、眉毛オブジェクト211を人物Bの顔213と重なる領域にドラッグアンドドロップする。その際に、ユーザは、レイヤに対して編集操作を行ってもよい。図6は、レイヤに対する編集操作の内容の一例を概念的に示す図である。図6(a)の画面601のように、隣り合うレイヤ間の距離を変更したり、図6(b)の画面602のように、所望のレイヤの他のレイヤとのなす角度を変更したりすることにより、オブジェクトに対する編集操作の入力が容易になる。尚、図6(a)、(b)に示す矢印は、説明の都合上、表記したものであり、画面601、602に表示されるものではない。
また、図6(c)の画面603に示すようにすることもできる。すなわち、まず、レイヤ編集部105は、オブジェクトの移動のためにドラッグ操作がなされたレイヤ604を注目レイヤとして特定する。すると、三次元レイヤ提示部107は、Default Layerのレイヤ605のオブジェクトを、半透明(図6(c)では破線で示している)等で注目レイヤ(レイヤ604)のオブジェクトの背景に表示する。このようにすれば、オブジェクトの移動先を正確に指定できる。
また、図6(c)の画面603に示すようにすることもできる。すなわち、まず、レイヤ編集部105は、オブジェクトの移動のためにドラッグ操作がなされたレイヤ604を注目レイヤとして特定する。すると、三次元レイヤ提示部107は、Default Layerのレイヤ605のオブジェクトを、半透明(図6(c)では破線で示している)等で注目レイヤ(レイヤ604)のオブジェクトの背景に表示する。このようにすれば、オブジェクトの移動先を正確に指定できる。
図5の説明に戻り、前述したように、ステップS502で取得した三次元座標のz軸の値が閾値を超えていないと判定されると、ステップS507に進む。ステップS507に進むと、オブジェクト編集部104と三次元レイヤ提示部107は、ユーザによる編集操作をリジェクトする処理を行う。具体的には、オブジェクト編集部104と三次元レイヤ提示部107は、ドラッグ操作を加える前の位置に眉毛オブジェクトを戻す。そして、図5のフローチャートによる処理を終了する。
以上のように本実施形態では、表示されるそれぞれのオブジェクトを複数のレイヤ(階層)の何れかに所属させる。二次元で表示されている各オブジェクトを、当該オブジェクトが所属しているレイヤ毎に、三次元のレイヤ構造で表示する。そして、三次元のレイヤ構造で表示されたオブジェクトに対するユーザの指示に従って、編集対象のオブジェクトの編集を行う。このように、オブジェクトを三次元的に表示するようにしたので、複数のオブジェクトが相互に近接して、又は重なって入力された場合であっても、オブジェクトに対する編集操作の入力を誤らずに行うことができる。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。第1の実施形態では、オブジェクトを移動させる編集を行う場合を例に挙げて説明した。これに対し、本実施形態では、ジェスチャコマンドが入力されると、当該ジェスチャコマンドに基づいてオブジェクトに対する編集が行われるようにする場合を例に挙げて説明する。このように本実施形態と前述した第1の実施形態とは、オブジェクトに対する編集の方法が主として異なる。従って、本実施形態の説明において、第1の実施形態と同一の部分については、図1〜図6に付した符号と同一の符号を付す等して詳細な説明を省略する。尚、ジェスチャコマンドとは、軌跡の入力が可能な機器において、特定の軌跡入力(ストローク)を処理に割り当てておき、特定の軌跡入力がなされると、当該軌跡入力を編集指示と認識し、当該軌跡入力に対応する処理を呼び出して実行する公知の技術である。ここでいう処理は、編集対象のオブジェクト(画像)に対する編集に係る処理であり、例えば、当該画像の大きさや配置を変更する処理等である。
次に、本発明の第2の実施形態について説明する。第1の実施形態では、オブジェクトを移動させる編集を行う場合を例に挙げて説明した。これに対し、本実施形態では、ジェスチャコマンドが入力されると、当該ジェスチャコマンドに基づいてオブジェクトに対する編集が行われるようにする場合を例に挙げて説明する。このように本実施形態と前述した第1の実施形態とは、オブジェクトに対する編集の方法が主として異なる。従って、本実施形態の説明において、第1の実施形態と同一の部分については、図1〜図6に付した符号と同一の符号を付す等して詳細な説明を省略する。尚、ジェスチャコマンドとは、軌跡の入力が可能な機器において、特定の軌跡入力(ストローク)を処理に割り当てておき、特定の軌跡入力がなされると、当該軌跡入力を編集指示と認識し、当該軌跡入力に対応する処理を呼び出して実行する公知の技術である。ここでいう処理は、編集対象のオブジェクト(画像)に対する編集に係る処理であり、例えば、当該画像の大きさや配置を変更する処理等である。
図7は、情報処理装置を組み込んだジェスチャコマンドの入力が可能な複写機の操作パネルの一例を示す図である。
図7において、図1に示した入力装置102及び出力装置103に対応する操作パネル701には、タッチスクリーン702が配置されている。ユーザは、このタッチスクリーン702に対し、指又はスタイラスペン703を用いて、ジェスチャコマンドやアノテーションを入力する。
図8は、タッチスクリーンにおける表示の一例を示す図である。また、図9は、ジェスチャコマンドの辞書の内容の一例を概念的に示す図である。このジェスチャコマンドの辞書は、情報処理装置101の記憶媒体(HDD等)に記憶されている。本実施形態では、描かれたストロークがジェスチャコマンドと一致しているか否かを、書き順等にはよらず、形状のみで判断するものとする。
図7において、図1に示した入力装置102及び出力装置103に対応する操作パネル701には、タッチスクリーン702が配置されている。ユーザは、このタッチスクリーン702に対し、指又はスタイラスペン703を用いて、ジェスチャコマンドやアノテーションを入力する。
図8は、タッチスクリーンにおける表示の一例を示す図である。また、図9は、ジェスチャコマンドの辞書の内容の一例を概念的に示す図である。このジェスチャコマンドの辞書は、情報処理装置101の記憶媒体(HDD等)に記憶されている。本実施形態では、描かれたストロークがジェスチャコマンドと一致しているか否かを、書き順等にはよらず、形状のみで判断するものとする。
また、図10は、レイヤ管理テーブルの内容の一例を概念的に示す図である。図10に示すように、図4に示したレイヤ管理テーブル401、402に示した項目に加えて、ジェスチャコマンドフラグの項目が追加してある。ジェスチャコマンドフラグは、各レイヤが保持するオブジェクトがジェスチャコマンドであるか、そうでないかを識別するためのフラグである。ただし、Default Layerに関しては、このジェスチャコマンドフラグの項目はない。ジェスチャコマンドフラグがtrueのレイヤに所属するオブジェクトは、ジェスチャコマンドとなる。一方、ジェスチャコマンドフラグがfalseのレイヤに所属するオブジェクトは、ジェスチャコマンドではなくアノテーションとなる。
図8(a)に示す画面801は、タッチスクリーン702上に二つの丸を描くストローク805、806が入力された状態を示す。図9の領域901に示すように、丸のストロークは、丸で囲んだ部分を中心に拡大する処理に対応している。しかし、本実施形態では、二次元表示時に入力したストロークは全て一時的にアノテーションとして、ジェスチャコマンドフラグがfalseのレイヤに所属するため、ジェスチャコマンドは実行されない。
図10(a)に示すレイヤ管理テーブル1001は、図8(a)に示す画面801のような入力状態でのレイヤ管理テーブルである。図10(a)の領域1003に示すように、丸のストロークは、ジェスチャコマンドフラグがfalseのLayer_1に全て所属される。
図8(a)に示す画面801の二次元表示から、図8(b)に示す画面802の三次元表示用の情報を生成する処理は、第1の実施形態と同様に、図3に示したフローチャートに従って実行される。
図11は、三次元表示されたオブジェクトに対して編集操作を行い、ジェスチャコマンドフラグがtrueのレイヤを新たに生成する際の情報処理装置101の処理の一例を説明するフローチャートある。本実施形態においても、第1の実施形態と同様に、編集操作がドラッグアンドドロップである場合を例に挙げて説明する。また、オブジェクトをシングルクリックした後に入力する編集操作をレイヤの生成処理とし、何もせずに入力する編集操作をオブジェクトの移動処理とする。
図8(a)に示す画面801の二次元表示から、図8(b)に示す画面802の三次元表示用の情報を生成する処理は、第1の実施形態と同様に、図3に示したフローチャートに従って実行される。
図11は、三次元表示されたオブジェクトに対して編集操作を行い、ジェスチャコマンドフラグがtrueのレイヤを新たに生成する際の情報処理装置101の処理の一例を説明するフローチャートある。本実施形態においても、第1の実施形態と同様に、編集操作がドラッグアンドドロップである場合を例に挙げて説明する。また、オブジェクトをシングルクリックした後に入力する編集操作をレイヤの生成処理とし、何もせずに入力する編集操作をオブジェクトの移動処理とする。
まず、ステップS1101において、レイヤ編集部105は、ステップS501と同様に、ユーザが、z軸の負の方向にドラッグアンドドロップした際のドロップ時のタッチスクリーン702上の二次元座標を取得する(図8(b)の画面802内の矢印を参照)。尚、図8(b)に示す矢印は、説明の都合上、表記したものであり、画面802に表示されるものではない。
次に、ステップS1102において、レイヤ編集部105は、ステップS502と同様に、ステップS1101で取得したタッチスクリーン702上の二次元座標の位置から、三次元で表されている表示内の三次元座標の位置に変換する。
次に、ステップS1103において、レイヤ編集部105は、ステップS503と同様に、ステップS1102で取得した三次元座標のz軸の値が閾値を超えているか否か判定する。
この判定の結果、ステップS1102で取得した三次元座標のz軸の値が閾値を超えていれば、ステップS1104へ進み、超えていなければ、ステップS1109へ進む。
次に、ステップS1102において、レイヤ編集部105は、ステップS502と同様に、ステップS1101で取得したタッチスクリーン702上の二次元座標の位置から、三次元で表されている表示内の三次元座標の位置に変換する。
次に、ステップS1103において、レイヤ編集部105は、ステップS503と同様に、ステップS1102で取得した三次元座標のz軸の値が閾値を超えているか否か判定する。
この判定の結果、ステップS1102で取得した三次元座標のz軸の値が閾値を超えていれば、ステップS1104へ進み、超えていなければ、ステップS1109へ進む。
ステップS1104に進むと、レイヤ編集部105は、タッチスクリーン702に対して入力されたストロークに対応するジェスチャコマンドを、ジェスチャコマンドの辞書から検索する(図9を参照)。
次に、ステップS1105において、レイヤ編集部105は、タッチスクリーン702に対して入力されたストロークに対応するジェスチャコマンドがジェスチャコマンドの辞書に存在するか否かを判定する。
この判定の結果、ストロークに対応するジェスチャコマンドがジェスチャコマンドの辞書に存在する場合には、ステップS1106へ進み、存在しない場合には、ステップS1109へ進む。
ステップS1106に進むと、レイヤ編集部105は、ステップS1102で取得した三次元座標に位置に配置される「ジェスチャコマンドフラグがtrueのレイヤ」を生成する(図8(c)の画面803におけるレイヤ807を参照)。三次元レイヤ提示部107は、タッチスクリーン702において、レイヤ編集部105で生成されたレイヤを、ステップS1102で取得した三次元座標の位置に表示する。
次に、ステップS1107において、オブジェクト編集部104は、ステップS1106で生成されたレイヤに、ドラッグアンドドロップされたストロークを移動させる処理を行う。三次元レイヤ提示部107は、オブジェクト編集部104の処理に従って、ドラッグアンドドロップされたストロークの表示位置を変更する(図8(c)の画面803におけるレイヤ807に表示されている丸ストロークを参照)。
次に、ステップS1105において、レイヤ編集部105は、タッチスクリーン702に対して入力されたストロークに対応するジェスチャコマンドがジェスチャコマンドの辞書に存在するか否かを判定する。
この判定の結果、ストロークに対応するジェスチャコマンドがジェスチャコマンドの辞書に存在する場合には、ステップS1106へ進み、存在しない場合には、ステップS1109へ進む。
ステップS1106に進むと、レイヤ編集部105は、ステップS1102で取得した三次元座標に位置に配置される「ジェスチャコマンドフラグがtrueのレイヤ」を生成する(図8(c)の画面803におけるレイヤ807を参照)。三次元レイヤ提示部107は、タッチスクリーン702において、レイヤ編集部105で生成されたレイヤを、ステップS1102で取得した三次元座標の位置に表示する。
次に、ステップS1107において、オブジェクト編集部104は、ステップS1106で生成されたレイヤに、ドラッグアンドドロップされたストロークを移動させる処理を行う。三次元レイヤ提示部107は、オブジェクト編集部104の処理に従って、ドラッグアンドドロップされたストロークの表示位置を変更する(図8(c)の画面803におけるレイヤ807に表示されている丸ストロークを参照)。
次に、ステップS1108において、レイヤ管理部106は、ステップS1101〜S1107の処理に基づいて、レイヤ管理テーブルの更新を行う。前述した操作で新規に生成されたレイヤのIDをLayer_2とすると、図10(a)に示したレイヤ管理テーブル1001は、図10(b)に示すレイヤ管理テーブル1002に変更される。
図10において、Default Layerについては、第1の実施形態と同様に、操作前と操作後とで変更はない(領域1004、1007を参照)。Layer_1については、操作前には、領域1003で示したように2つの丸ストロークのオブジェクトが所属していたが、操作後では、領域1005に示すように、1つの丸ストロークのオブジェクトのみが所属するように変更される。そして、領域1006に示すように、新規に生成されたLayer_2にもう一方の丸ストロークのオブジェクトが所属するようにレイヤ管理テーブルが変更され、更に、このレイヤのジェスチャコマンドフラグとしてtrueが設定される。このようなレイヤ管理テーブルの変更を終えると、図11のフローチャートによる処理を終了する。
図10において、Default Layerについては、第1の実施形態と同様に、操作前と操作後とで変更はない(領域1004、1007を参照)。Layer_1については、操作前には、領域1003で示したように2つの丸ストロークのオブジェクトが所属していたが、操作後では、領域1005に示すように、1つの丸ストロークのオブジェクトのみが所属するように変更される。そして、領域1006に示すように、新規に生成されたLayer_2にもう一方の丸ストロークのオブジェクトが所属するようにレイヤ管理テーブルが変更され、更に、このレイヤのジェスチャコマンドフラグとしてtrueが設定される。このようなレイヤ管理テーブルの変更を終えると、図11のフローチャートによる処理を終了する。
本実施形態では、図11で示した処理を実行し、コマンドフラグがtrueのレイヤが生成されたら、入力されたストロークに対応するジェスチャコマンドが即時に実行される。ただし、ジェスチャコマンドの実行は、このようにして開始されるものに限定されない。例えば、別途ボタンを設けて、それが押下することでジェスチャコマンドが実行されてもよい。また、図8(c)における「コマンドフラグがtrueのレイヤ807」をDefault Layer808にドラッグアンドドロップすることでジェスチャコマンドが実行されてもよい。また、その他の方法でジェスチャコマンドが実行されてもよい。
図8(d)に示す画面804は、ジェスチャコマンドの実行し、三次元表示を二次元表示に戻してジェスチャコマンドの実行結果をタッチスクリーン702に表示した状態を示している。図8(d)において、図8(a)に示す丸ストローク805のオブジェクトは、ジェスチャコマンドとして実行されたため、不可視である。一方、丸ストローク806のオブジェクトは、アノテーションとして存在しているため、Default Layer808に表示されているテキスト文書と同様に拡大処理がなされ表示されている。
図11の説明に戻り、ステップS1103又はステップS1105からステップS1109に進むと、オブジェクト編集部104と三次元レイヤ提示部107は、ユーザによる編集操作をリジェクトする処理を行う。具体的には、オブジェクト編集部104と三次元レイヤ提示部107は、ドラッグ操作を加える前の位置にストロークを戻す。そして、図11のフローチャートによる処理を終了する。
図11の説明に戻り、ステップS1103又はステップS1105からステップS1109に進むと、オブジェクト編集部104と三次元レイヤ提示部107は、ユーザによる編集操作をリジェクトする処理を行う。具体的には、オブジェクト編集部104と三次元レイヤ提示部107は、ドラッグ操作を加える前の位置にストロークを戻す。そして、図11のフローチャートによる処理を終了する。
以上のように本実施形態では、二次元で表示されている各ストロークを、当該ストロークが所属しているレイヤ毎に分けて、三次元のレイヤ構造で表示する際に、編集操作のあったストロークを、ジェスチャコマンドであることを示すレイヤに表示する。一方、編集操作のないストロークを、ジェスチャコマンドでない(アノテーションである)ことを示すレイヤに表示する。そして、編集操作のあったストロークをジェスチャコマンドとし、当該ジェスチャコマンドに対応する処理を実行する。このとき、編集操作のないストロークについてはアノテーションとして表示する。このように、アノテーションとジェスチャコマンドとをレイヤ別に分けて管理することで、第1の実施形態で説明した効果に加え、アノテーションとジェスチャコマンドとを明確に区別できるという効果が得られる。
(第3の実施形態)
次に、本発明の第3の実勢形態について説明する。前述した第2の実施形態では、ジェスチャコマンドを単体で実行する場合を例に挙げて説明した。これに対し、本実施形態では、ジェスチャコマンドに付加情報を与え、この付加情報の内容も考慮してジェスチャコマンドを実行する場合を例に挙げて説明する。このように本実施形態は、前述した第2の実施形態に対し、付加情報に基づく処理が追加されたものである。したがって、本実施形態の説明において、前述した第1、第2の実施形態と同一の部分については、図1〜図11に付した符号と同一の符号を付す等して詳細な説明を省略する。
本実施形態においては、ジェスチャコマンドの実行は、所定のボタンの押下、又は、ジェスチャコマンドフラグがtrueのレイヤをDefault Layerにドラッグアンドドロップした場合に行われるものとする。
次に、本発明の第3の実勢形態について説明する。前述した第2の実施形態では、ジェスチャコマンドを単体で実行する場合を例に挙げて説明した。これに対し、本実施形態では、ジェスチャコマンドに付加情報を与え、この付加情報の内容も考慮してジェスチャコマンドを実行する場合を例に挙げて説明する。このように本実施形態は、前述した第2の実施形態に対し、付加情報に基づく処理が追加されたものである。したがって、本実施形態の説明において、前述した第1、第2の実施形態と同一の部分については、図1〜図11に付した符号と同一の符号を付す等して詳細な説明を省略する。
本実施形態においては、ジェスチャコマンドの実行は、所定のボタンの押下、又は、ジェスチャコマンドフラグがtrueのレイヤをDefault Layerにドラッグアンドドロップした場合に行われるものとする。
本実施形態でも、第2の実施形態と同様に図11に示したフローチャートによる処理が行われる。本実施形態では、図11に示したフローチャートによる処理が終了してから、ジェスチャコマンドの実行がなされるまでの間に、以下に示す処理が追加される。
図11に示したフローチャートによる処理が終了した時点では、タッチスクリーン702の表示は図8(c)に示した画面803のようになっている。ここで、本実施形態では、画面803のように三次元表示されたレイヤに対して、何もせずにドラッグ操作を入力すると、レイヤの移動処理が行われ、シングルクリックした後にドラッグ操作を行うと、操作対象のレイヤにストロークを入力できるものとする。
図12は、タッチスクリーンにおける表示の一例を示し、ジェスチャコマンドフラグがtrueとなっているレイヤに対してストロークが入力された様子の一例を示す図である。
図12の画面1201に示すように、ジェスチャコマンドフラグがtrueとなっているレイヤ1202に対して数値(図12では2)を表すストロークが入力されると、レイヤ編集部105は、その入力を、ジェスチャコマンドのプロパティの設定として認識する。
図11に示したフローチャートによる処理が終了した時点では、タッチスクリーン702の表示は図8(c)に示した画面803のようになっている。ここで、本実施形態では、画面803のように三次元表示されたレイヤに対して、何もせずにドラッグ操作を入力すると、レイヤの移動処理が行われ、シングルクリックした後にドラッグ操作を行うと、操作対象のレイヤにストロークを入力できるものとする。
図12は、タッチスクリーンにおける表示の一例を示し、ジェスチャコマンドフラグがtrueとなっているレイヤに対してストロークが入力された様子の一例を示す図である。
図12の画面1201に示すように、ジェスチャコマンドフラグがtrueとなっているレイヤ1202に対して数値(図12では2)を表すストロークが入力されると、レイヤ編集部105は、その入力を、ジェスチャコマンドのプロパティの設定として認識する。
このため、本実施形態では、各ジェスチャコマンドには、そのプロパティとして設定される属性を持たせておく。図9に示したジェスチャコマンド辞書の内容を例に挙げて説明すると、領域901に示されているジェスチャコマンドには、そのプロパティとして、拡大率が設定される。つまり、"2"と入力されたら、2倍の拡大率で拡大する処理が実行されることになる。一方、領域902に示されているジェスチャコマンドには、そのプロパティとして、一ページあたりのレイアウト数が設定される。つまり、"2"と入力されたら、4in1ではなく、2in1にページレイアウトを行う処理が実行されることになる。
図12に示す例では、丸ストロークが入力された「ジェスチャコマンドフラグがtrueとなっているレイヤ1202」に対して、"2"が入力されている。したがって、2倍の拡大率という情報がジェスチャコマンドに追加されることになり、丸ストロークを、丸を中心に2倍の拡大率で拡大するという処理が実行される。
以上のように本実施形態では、ジェスチャコマンドフラグがtrueとなっているレイヤに対して、ジェスチャコマンドによる処理の実行内容を示す付加情報が入力されると、その付加情報に従ってジェスチャコマンドを実行するようにした。したがって、前述した各実施形態で説明した効果に加えて以下の効果が得られる。すなわち、従来のジェスチャコマンドでは、倍率が異なる処理であれば、異なる処理としてそれぞれ辞書に登録する必要があった。これに対し、本実施形態のように、ジェスチャコマンドのプロパティとして当該ジェスチャコマンドによる処理の実行内容を示す付加情報を入力することで、ジェスチャコマンドに対応する処理の内容として登録する情報量を少なくすることができる。
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。前述した第2、第3の実施形態では、ジェスチャコマンドフラグがtrueのレイヤを1つのみ生成する場合を例に挙げて説明した。これに対し、本実施形態では、ジェスチャコマンドフラグがtrue、falseのレイヤの少なくとも何れか一方を複数生成する場合を例に挙げて説明する。このように本実施形態と、第2、第3の実施形態とは、ジェスチャコマンドフラグがtrue、falseのレイヤの数が異なることによる処理が主として異なる。したがって、本実施形態の説明において、前述した第1〜第3の実施形態と同一の部分については、図1〜図12に付した符号を付す等して詳細な説明を省略する。
また、本実施形態においても、ジェスチャコマンドの実行は、第3の実施形態と同様に、所定のボタンの押下、又は、ジェスチャコマンドフラグがtrueのレイヤをDefault Layerにドラッグアンドドロップした場合に行われるものとする。
次に、本発明の第4の実施形態について説明する。前述した第2、第3の実施形態では、ジェスチャコマンドフラグがtrueのレイヤを1つのみ生成する場合を例に挙げて説明した。これに対し、本実施形態では、ジェスチャコマンドフラグがtrue、falseのレイヤの少なくとも何れか一方を複数生成する場合を例に挙げて説明する。このように本実施形態と、第2、第3の実施形態とは、ジェスチャコマンドフラグがtrue、falseのレイヤの数が異なることによる処理が主として異なる。したがって、本実施形態の説明において、前述した第1〜第3の実施形態と同一の部分については、図1〜図12に付した符号を付す等して詳細な説明を省略する。
また、本実施形態においても、ジェスチャコマンドの実行は、第3の実施形態と同様に、所定のボタンの押下、又は、ジェスチャコマンドフラグがtrueのレイヤをDefault Layerにドラッグアンドドロップした場合に行われるものとする。
図13は、図8(c)に示した画面803において、ジェスチャコマンドフラグがfalseのレイヤに、星型オブジェクト1305と、十字オブジェクト1304を入力した状態の一例を示す図である。また、図14は、レイヤ管理テーブルの内容の一例を概念的に示す図である。
図14(a)に示すレイヤ管理テーブル1401は、図13(a)に示す状態であるときのレイヤ管理テーブルを示す。領域1404に示すように、新たに入力されたオブジェクトは、ジェスチャコマンドフラグがfalseのLayer_1に所属する。十字オブジェクト1304に対してz軸の負の方向にドラッグアンドドロップが行われると、第2、第3の実施形態と同様にジェスチャコマンドフラグがtrueのレイヤの生成処理が行われる(図11を参照)。そうすると、ジェスチャコマンドフラグがtrueのレイヤが新たに生成される。図13(b)に示す画面1302は、ジェスチャコマンドフラグがtrueのレイヤが新たに生成された状態の一例を示す。画面1302では、図13(a)に示した画面1301に対して、ジェスチャコマンドフラグがtrueのレイヤ1307が追加される。図14(b)に示すレイヤ管理テーブル1402は、図13(b)に示す状態であるときのレイヤ管理テーブルを示す。十字オブジェクトは、ジェスチャコマンドフラグがfalseのLayer_1から、ジェスチャコマンドフラグがtrueのLayer_3へ移動する(領域1404、1405、1407を参照)。
図14(a)に示すレイヤ管理テーブル1401は、図13(a)に示す状態であるときのレイヤ管理テーブルを示す。領域1404に示すように、新たに入力されたオブジェクトは、ジェスチャコマンドフラグがfalseのLayer_1に所属する。十字オブジェクト1304に対してz軸の負の方向にドラッグアンドドロップが行われると、第2、第3の実施形態と同様にジェスチャコマンドフラグがtrueのレイヤの生成処理が行われる(図11を参照)。そうすると、ジェスチャコマンドフラグがtrueのレイヤが新たに生成される。図13(b)に示す画面1302は、ジェスチャコマンドフラグがtrueのレイヤが新たに生成された状態の一例を示す。画面1302では、図13(a)に示した画面1301に対して、ジェスチャコマンドフラグがtrueのレイヤ1307が追加される。図14(b)に示すレイヤ管理テーブル1402は、図13(b)に示す状態であるときのレイヤ管理テーブルを示す。十字オブジェクトは、ジェスチャコマンドフラグがfalseのLayer_1から、ジェスチャコマンドフラグがtrueのLayer_3へ移動する(領域1404、1405、1407を参照)。
また、ジェスチャコマンドフラグがtrueである複数のレイヤが存在する場合、レイヤの夫々について、ジェスチャコマンドが実行済みであるか、実行前であるか等の状態の違いによって、レイヤの枠やストロークの色等の見た目を変えてもよい。このようにすれば、その違いをユーザに提示することができる。また、ジェスチャコマンドフラグがtrueであるレイヤであるか、ジェスチャコマンドフラグがfalseであるレイヤであるかによって、レイヤの枠やストロークの色等の見た目を変えてもよい。これらのことは、第2、第3の実施形態にも適用することができる。また、z軸上のレイヤの表示順序の入れ替え処理を行い、レイヤの表示順序に応じて複数のジェスチャコマンドを順次実行してもよい。このことは、第1〜第3の実施形態にも適用することができる。
ここまで、図13(a)に示すような状態で、z軸の負の方向(図の下の方向)へドラッグアンドドロップし、ドロップした位置が閾値を超えていれば、ジェスチャコマンドフラグがtrueのレイヤを新規に生成する場合についてのみ説明した。本実施形態では、同様にして、z軸方向の正の方向(図の上の方向)へドラッグアンドドロップして、ドロップした位置が閾値を超えていたら、ジェスチャコマンドフラグがfalseのレイヤを新規に作成するものとする。
図13(a)に示す十字オブジェクト1304に対してz軸の正の方向にドラッグアンドドロップが行われると、ジェスチャコマンドフラグがfalseのレイヤの生成処理が行われ、ジェスチャコマンドフラグがfalseのレイヤが新たに生成される。図13(c)に示す画面1303は、ジェスチャコマンドフラグがfalseのレイヤが新たに生成された状態の一例を示す。画面1303では、図13(a)に示した画面1301に対して、ジェスチャコマンドフラグがfalseのレイヤ1308が追加される。図14(c)に示すレイヤ管理テーブル1403は、図13(c)に示す状態であるときのレイヤ管理テーブルを示す。十字オブジェクトは、ジェスチャコマンドフラグがfalseのLayer_1から、ジェスチャコマンドフラグがfalseのLayer_3へ移動する(領域1404、1408、1409を参照)。
尚、以上のようなレイヤ生成処理を実施する際に、表示領域にレイヤが収まらないことが考えられる。その際には、自動で表示領域のサイズの変更を行ってもよいし、自動でスライドバーを表示してもよい。
図13(a)に示す十字オブジェクト1304に対してz軸の正の方向にドラッグアンドドロップが行われると、ジェスチャコマンドフラグがfalseのレイヤの生成処理が行われ、ジェスチャコマンドフラグがfalseのレイヤが新たに生成される。図13(c)に示す画面1303は、ジェスチャコマンドフラグがfalseのレイヤが新たに生成された状態の一例を示す。画面1303では、図13(a)に示した画面1301に対して、ジェスチャコマンドフラグがfalseのレイヤ1308が追加される。図14(c)に示すレイヤ管理テーブル1403は、図13(c)に示す状態であるときのレイヤ管理テーブルを示す。十字オブジェクトは、ジェスチャコマンドフラグがfalseのLayer_1から、ジェスチャコマンドフラグがfalseのLayer_3へ移動する(領域1404、1408、1409を参照)。
尚、以上のようなレイヤ生成処理を実施する際に、表示領域にレイヤが収まらないことが考えられる。その際には、自動で表示領域のサイズの変更を行ってもよいし、自動でスライドバーを表示してもよい。
以上のように本実施形態では、ジェスチャコマンドフラグがtrueのレイヤと、ジェスチャコマンドフラグがfalseのレイヤとの、少なくとも何れか一方を複数生成して表示するようにした。したがって、前述した各実施形態で説明した効果に加えて、複数のアノテーションと複数のジェスチャコマンドを明確に区別して扱うことができるという効果が得られる。
(第5の実施形態)
次に、本発明の第5の実施形態について説明する。前述した第2〜第4の実施形態では、ストロークの入力後、一度アノテーションのレイヤ(ジェスチャコマンドフラグがfalseのレイヤ)にストロークを所属させ、当該ストロークに対応するジェスチャコマンドを即時に実行しない場合を例に挙げて説明した。これに対し、本実施形態では、ジェスチャコマンドが即時に実行される場合について説明する。このように本実施形態と前述した第2〜第4の実施形態とは、入力したストロークに対応するジェスチャコマンドを実行するための処理の一部が主として異なる。したがって、本実施形態の説明において、前述した第2〜第4の実施形態と同一の部分については、図1〜図14に付した符号と同一の符号を付す等して詳細な説明を省略する。尚、本実施形態では、人物の顔を丸ストロークで囲むことが、顔をスリムに変形させるジェスチャコマンドコマンドに対応している場合を例に挙げて説明する。
次に、本発明の第5の実施形態について説明する。前述した第2〜第4の実施形態では、ストロークの入力後、一度アノテーションのレイヤ(ジェスチャコマンドフラグがfalseのレイヤ)にストロークを所属させ、当該ストロークに対応するジェスチャコマンドを即時に実行しない場合を例に挙げて説明した。これに対し、本実施形態では、ジェスチャコマンドが即時に実行される場合について説明する。このように本実施形態と前述した第2〜第4の実施形態とは、入力したストロークに対応するジェスチャコマンドを実行するための処理の一部が主として異なる。したがって、本実施形態の説明において、前述した第2〜第4の実施形態と同一の部分については、図1〜図14に付した符号と同一の符号を付す等して詳細な説明を省略する。尚、本実施形態では、人物の顔を丸ストロークで囲むことが、顔をスリムに変形させるジェスチャコマンドコマンドに対応している場合を例に挙げて説明する。
本実施形態では、ストローク(オブジェクト)が入力された直後の処理が第2〜第4の実施形態と異なる。図15は、入力されたストロークに対応するジェスチャコマンドが実行される様子の一例を示す図である。また、図16は、ストロークが入力された際の情報処理装置101の処理の一例を説明するフローチャートである。
例えば、図15(a)に示す画面1501のように、二次元表示されている右側の人物の顔を丸で囲むストローク1504が入力されると、図16に示すフローチャートが実行される。
まず、ステップS1601において、レイヤ編集部105は、入力されたストロークに対応するジェスチャコマンドを、ジェスチャコマンドの辞書から検索する(図9を参照)。
次に、ステップS1602において、レイヤ編集部105は、入力されたストロークに対応するジェスチャコマンドがジェスチャコマンドの辞書に存在するか否かを判定する。
この判定の結果、ストロークに対応するジェスチャコマンドがジェスチャコマンドの辞書に存在する場合には、ステップS1603へ進み、存在しない場合には、ステップS1605へ進む。
例えば、図15(a)に示す画面1501のように、二次元表示されている右側の人物の顔を丸で囲むストローク1504が入力されると、図16に示すフローチャートが実行される。
まず、ステップS1601において、レイヤ編集部105は、入力されたストロークに対応するジェスチャコマンドを、ジェスチャコマンドの辞書から検索する(図9を参照)。
次に、ステップS1602において、レイヤ編集部105は、入力されたストロークに対応するジェスチャコマンドがジェスチャコマンドの辞書に存在するか否かを判定する。
この判定の結果、ストロークに対応するジェスチャコマンドがジェスチャコマンドの辞書に存在する場合には、ステップS1603へ進み、存在しない場合には、ステップS1605へ進む。
ステップS1603に進むと、レイヤ編集部105は、ジェスチャコマンドフラグがtrueのジェスチャコマンドレイヤを生成して、入力されたストロークをジェスチャコマンドレイヤに所属させる。
次に、ステップS1604において、情報処理装置101は、ステップS1603でジェスチャコマンドレイヤに所属されたストロークに対応するジェスチャコマンドを実行する。図15(b)に示す画面1502は、ジェスチャコマンドが実行された後の様子の一例を示す。図15(b)の画面1502に示す右側の人物の顔1505は、図15(a)の画面1501に示した右側の人物の顔よりもスリムに変形される。また、ジェスチャコマンドレイヤに所属されたストロークは、ジェスチャコマンドを実行した後の二次元表示の際には不可視とする。
次に、ステップS1604において、情報処理装置101は、ステップS1603でジェスチャコマンドレイヤに所属されたストロークに対応するジェスチャコマンドを実行する。図15(b)に示す画面1502は、ジェスチャコマンドが実行された後の様子の一例を示す。図15(b)の画面1502に示す右側の人物の顔1505は、図15(a)の画面1501に示した右側の人物の顔よりもスリムに変形される。また、ジェスチャコマンドレイヤに所属されたストロークは、ジェスチャコマンドを実行した後の二次元表示の際には不可視とする。
ここで、ユーザが所定の操作を行うことにより、ビュー(view)を二次元表示から三次元表示に切り替える指示を行うと、図15(b)に示す画面1502から図15(c)に示す画面1503に表示が切り替わる。図15(c)に示すように、三次元のビューでは、実行済みのジェスチャコマンドレイヤ1506を表示し、入力したストロークと、そのストロークに対応するジェスチャコマンドの実行結果との双方をユーザに一度に確認させることができる。
図16の説明に戻り、ステップS1602において、入力されたストロークに対応するジェスチャコマンドがジェスチャコマンドの辞書に存在しないと判定された場合には、ステップS1605に進む。ステップS1605に進むと、レイヤ編集部105は、入力されたストロークをコマンドレイヤフラグがfalseのアノテーションレイヤに所属させる。アノテーションレイヤに所属するストロークは、二次元表示の際にも表示される。
図16の説明に戻り、ステップS1602において、入力されたストロークに対応するジェスチャコマンドがジェスチャコマンドの辞書に存在しないと判定された場合には、ステップS1605に進む。ステップS1605に進むと、レイヤ編集部105は、入力されたストロークをコマンドレイヤフラグがfalseのアノテーションレイヤに所属させる。アノテーションレイヤに所属するストロークは、二次元表示の際にも表示される。
以上のように本実施形態では、ジェスチャコマンドに対応するストロークが入力されると、入力されたストロークを、ジェスチャコマンドフラグがtrueのジェスチャコマンドレイヤに所属させ、当該ストロークに対応するジェスチャコマンドを即時に実行する。そして、ジェスチャコマンドの実行結果を示す二次元表示を行う。その後、ユーザにより所定の指示があると、二次元表示を切り替えて、各レイヤに所属しているオブジェクトを、レイヤ毎に、三次元のレイヤ構造で表示する。したがって、前述した各実施形態で説明した効果に加え、ジェスチャの入力後、即時実行されるケースでも、重なりを持つアノテーション、ジェスチャコマンドを簡便に扱うことができるという効果が得られる。
(第6の実施形態)
次に、本発明の第6の実施形態について説明する。本実施形態では、一度オブジェクトに対して実行したジェスチャコマンドを別オブジェクトにもう一度実行する場合について説明する。このように本実施形態は、前述した第2〜第5の実施形態に対し、あるオブジェクトに対して実行したジェスチャコマンドを、ストロークの再度の入力を行うことなく、他のオブジェクトに対して実行する処理を追加したものとなる。したがって、本実施形態の説明において、前述した第1〜第5の実施形態と同一の部分については、図1〜図16に付した符号と同一の符号を付す等して詳細な説明を省略する。
次に、本発明の第6の実施形態について説明する。本実施形態では、一度オブジェクトに対して実行したジェスチャコマンドを別オブジェクトにもう一度実行する場合について説明する。このように本実施形態は、前述した第2〜第5の実施形態に対し、あるオブジェクトに対して実行したジェスチャコマンドを、ストロークの再度の入力を行うことなく、他のオブジェクトに対して実行する処理を追加したものとなる。したがって、本実施形態の説明において、前述した第1〜第5の実施形態と同一の部分については、図1〜図16に付した符号と同一の符号を付す等して詳細な説明を省略する。
図17は、あるオブジェクトに対して実行したジェスチャコマンドを、ストロークの再度の入力を行うことなく、他のオブジェクトに対して実行する様子の一例を示す図である。また、図18は、レイヤ管理テーブルの内容の一例を概念的に示す図である。
図17(a)に示す画面1701は、第5の実施形態で説明した三次元表示(図15(c)に示した画面1503)を示す。
図18(a)に示すレイヤ管理テーブル1801は、画面1701に対応するレイヤ管理テーブルである。領域1803に示すように、ジェスチャコマンドフラグがtrueのLayer_2に丸ストロークが配置されており、画面1701では、右側の人物の顔がスリムに変形されている。
図17(a)に示す画面1701は、第5の実施形態で説明した三次元表示(図15(c)に示した画面1503)を示す。
図18(a)に示すレイヤ管理テーブル1801は、画面1701に対応するレイヤ管理テーブルである。領域1803に示すように、ジェスチャコマンドフラグがtrueのLayer_2に丸ストロークが配置されており、画面1701では、右側の人物の顔がスリムに変形されている。
ここで、ユーザは、図17(b)の画面1702に示すように、Layer_2のレイヤ1706に表示されている丸ストロークを左側の人物の顔上にドラッグアンドドロップする。そうすると、レイヤ編集部105は、ドロップしたx座標、y座標と同じ位置にストロークが配置された新規のレイヤを生成し、三次元レイヤ提示部107は、その新規のレイヤを表示する(図17(c)に示す画面1703を参照)。新規に生成されたレイヤのジェスチャコマンドフラグはtrueである。情報処理装置101は、新規にジェスチャコマンドフラグが生成されるのと同時に、新規に生成されたレイヤに所属するストロークに対応するジェスチャコマンドを実行し、左側の人物の顔1705をスリムに変形させる。
図18(b)に示すレイヤ管理テーブル1802は、画面1703に対応するレイヤ管理テーブルである。領域1804、1805に示すように、右側の人物の顔をスリムにするジェスチャコマンドが所属するLayer_2に加えて、左側の人物の顔をスリムにするジェスチャコマンドが所属するLayer_3が生成される。
以上のように本実施形態では、ユーザは、ジェスチャコマンドフラグがtrueであるレイヤ1706に表示されているストロークを、ドラッグアンドドロップする。そうすると、当該レイヤ1706とは別に、当該ストロークが所属し、且つ、ジェスチャコマンドフラグがtrueであるレイヤ1704を新たに生成する。そして、レイヤ1704に所属するストローク(ジェスチャコマンド)に対応する処理を、当該ストロークと対向する位置にあるオブジェクトに対して実行する。したがって、前述した各実施形態で説明した効果に加え、ストロークを二度入力することなくジェスチャコマンドの再利用が行えるという効果が得られる。
(第7の実施形態)
次に、本発明の第7の実施形態について説明する。本実施形態では、一度オブジェクトに対して実行したジェスチャコマンドの適用先を変更する場合について説明する。このように本実施形態は、前述した第2〜第5の実施形態に対し、あるオブジェクトに対して実行したジェスチャコマンドを取り消し、他のオブジェクトに対して実行する処理を追加したものとなる。したがって、本実施形態の説明において、前述した第1〜第5の実施形態と同一の部分については、図1〜図16に付した符号と同一の符号を付す等して詳細な説明を省略する。
次に、本発明の第7の実施形態について説明する。本実施形態では、一度オブジェクトに対して実行したジェスチャコマンドの適用先を変更する場合について説明する。このように本実施形態は、前述した第2〜第5の実施形態に対し、あるオブジェクトに対して実行したジェスチャコマンドを取り消し、他のオブジェクトに対して実行する処理を追加したものとなる。したがって、本実施形態の説明において、前述した第1〜第5の実施形態と同一の部分については、図1〜図16に付した符号と同一の符号を付す等して詳細な説明を省略する。
図19は、あるオブジェクトに対して実行したジェスチャコマンドを取り消し、他のオブジェクトに対して当該ジェスチャコマンドを実行する様子の一例を示す図である。図20は、レイヤ管理テーブルの内容の一例を概念的に示す図である。
図19(a)に示す画面1901は、第5の実施形態で説明した三次元表示(図15(c)に示した画面1503)を示す。
図20(a)に示すレイヤ管理テーブル2001は、画面1901に対応するレイヤ管理テーブルである。領域2004に示すように、ジェスチャコマンドフラグがtrueのLayer_2に丸ストロークが配置されており、画面1901では、右側の人物の顔がスリムに変形されている。
図19(a)に示す画面1901は、第5の実施形態で説明した三次元表示(図15(c)に示した画面1503)を示す。
図20(a)に示すレイヤ管理テーブル2001は、画面1901に対応するレイヤ管理テーブルである。領域2004に示すように、ジェスチャコマンドフラグがtrueのLayer_2に丸ストロークが配置されており、画面1901では、右側の人物の顔がスリムに変形されている。
ここで、本実施形態では、レイヤ編集部105は、図19(b)の画面1902に示すように、ユーザによるドラッグアンドドロップの操作に基づいて、丸ストロークを、ジェスチャコマンドフラグがfalseであるアノテーションレイヤへ移動する処理を行う。本実施形態では、ストロークへシングルクリックした後に、ドラッグ操作を入力するとストロークのレイヤ間の移動処理として扱い、何もせずにドラッグ操作を入力すると同一レイヤ上の移動処理として扱う。
図20(b)に示すレイヤ管理テーブル2002は、画面1902に対応するレイヤ管理テーブルである。領域2004に示すように、ジェスチャコマンドフラグがtrueのLayer_2に所属していたストロークが、領域2005に示すように、ジェスチャコマンドフラグがfalseのLayer_1へ移動し、Layer_2自体は削除される。この時点で、図19(c)に示す画面1903内の右側の人物の顔1905のように、当該右側の人物の顔に対するジェスチャコマンドの処理(顔をスリムにする処理)は取り消されるので、当該右側の人物の顔は、スリムに変形される前の状態に戻る。
図20(b)に示すレイヤ管理テーブル2002は、画面1902に対応するレイヤ管理テーブルである。領域2004に示すように、ジェスチャコマンドフラグがtrueのLayer_2に所属していたストロークが、領域2005に示すように、ジェスチャコマンドフラグがfalseのLayer_1へ移動し、Layer_2自体は削除される。この時点で、図19(c)に示す画面1903内の右側の人物の顔1905のように、当該右側の人物の顔に対するジェスチャコマンドの処理(顔をスリムにする処理)は取り消されるので、当該右側の人物の顔は、スリムに変形される前の状態に戻る。
以上のように、実行したジェスチャコマンドの取り消し操作は、ジェスチャコマンドフラグがtrueのレイヤからジェスチャコマンドフラグがfalseのレイヤへストロークを手動で移動することで行える。ただし、実行したジェスチャコマンドの取り消し操作は、このようなものに限定されない。例えば、別途のボタンやショートカットキーを設けておき、それらの入力によって、ストロークを移動させ、ジェスチャコマンドの取り消し操作が行われてもよい。
続いて、図19(c)に示す画面1903のように、ユーザは、アノテーションレイヤ1907上でストロークをドラッグアンドドロップして左側の人物の顔上へ移動させる。その際に、新たなジェスチャコマンドの適用先のオブジェクト(図19に示す例では左側の人物の顔)に合わせて、別途ストロークに編集を加えてもよい。例えば、左側の人物の顔に合わせて、ストロークの拡大や縮小、回転等を行ってストロークのサイズや位置を調整することができる。これらストロークに対する編集操作は、画面上にボタンを設けておくことで行うことができる。ユーザが当該ボタンを押下することで編集モードを切り替えることにより、移動と同じストロークへのドラッグ操作で複数の編集操作を行える。
図19(d)に示す画面1904のように、ユーザは、移動させたストロークに対してシングルクリックを行った後、当該ストロークに対して、z軸の負の方向へドラッグアンドドロップする。そうすると、第2の実施形態で説明した図11のフローチャートによる処理を実行することで、ジェスチャコマンドフラグがtrueのレイヤ1908が生成され、表示される。本実施形態では、ジェスチャコマンドフラグがtrueのレイヤが生成された時点でジェスチャコマンドが実行されるものとする。これにより、スリムに変形された顔1906が表示される。
尚、図19(b)〜図19(d)に示す矢印は、説明の都合上、表記したものであり、画面1902〜1904に表示されるものではない。
尚、図19(b)〜図19(d)に示す矢印は、説明の都合上、表記したものであり、画面1902〜1904に表示されるものではない。
以上のように本実施形態では、ストロークを入力し、当該ストロークと対向する位置にあるオブジェクトに対して、当該ストロークに係るジェスチャコマンドに対応する処理を実行する。その後、ユーザによるドラッグアンドドロップの操作に基づいて、当該ストロークを、ジェスチャコマンドフラグがfalseのレイヤに所属させ、当該レイヤを三次元のレイヤ構造で表示する。また、当該ストロークが所属していた、ジェスチャコマンドフラグがtrueのレイヤを削除し、当該ジェスチャコマンドに対応する処理を取り消す。その後、ジェスチャコマンドフラグがfalseのレイヤに表示されたストロークを、ユーザによるドラッグアンドドロップの操作に基づいて、当該レイヤの上で移動させる。そうすると、当該ストロークを、ジェスチャコマンドフラグがtrueのレイヤに所属させ、当該ストロークと対向する位置にあるオブジェクトに対して、当該ストロークに係るジェスチャコマンドに対応する処理を実行する。したがって、前述した各実施形態で説明した効果に加え、一度入力したジェスチャコマンドの適用先を別のオブジェクトに容易に且つ確実に変更することができるという効果が得られる。
(第8の実施形態)
次に、本発明の第8の実施形態について説明する。前述した第1〜第7の実施形態では、二次元表示されているオブジェクトや、ジェスチャコマンド(ストローク)を例に挙げて説明したが、これらの代わりに、三次元のオブジェクトや、三次元のジェスチャコマンド(ストローク)を用いてもよい。
図21は、三次元で表示されたレイヤに三次元のオブジェクトを表示した様子の一例を示す図である。図21に示す画面2101のように、三次元オブジェクト2102、2103を三次元で表示されたレイヤに表示し、三次元オブジェクト2102、2103に対してジェスチャコマンドに対応する処理を実行してもよい。このように、三次元のオブジェクトや、三次元のジェスチャコマンド(ストローク)についても、第1〜第7の実施形態で説明したのと同様に扱うことができる。
次に、本発明の第8の実施形態について説明する。前述した第1〜第7の実施形態では、二次元表示されているオブジェクトや、ジェスチャコマンド(ストローク)を例に挙げて説明したが、これらの代わりに、三次元のオブジェクトや、三次元のジェスチャコマンド(ストローク)を用いてもよい。
図21は、三次元で表示されたレイヤに三次元のオブジェクトを表示した様子の一例を示す図である。図21に示す画面2101のように、三次元オブジェクト2102、2103を三次元で表示されたレイヤに表示し、三次元オブジェクト2102、2103に対してジェスチャコマンドに対応する処理を実行してもよい。このように、三次元のオブジェクトや、三次元のジェスチャコマンド(ストローク)についても、第1〜第7の実施形態で説明したのと同様に扱うことができる。
(第9の実施形態)
次に、本発明の第9の実施形態について説明する。前述した第1〜第8の実施形態では、三次元でレイヤを表示する場合を例に挙げて説明した。これに対し、本実施形態では、三次元でレイヤを表示せずに二次元での表示のみを行う場合について説明する。このように本実施形態と前述した第1〜第8の実施形態とは、三次元でレイヤを表示せずに二次元での表示のみを行うことによる処理が主として異なる。したがって、本実施形態の説明において、前述した第1〜第8の実施形態と同一の部分については、図1〜図21に付した符号と同一の符号を付す等して詳細な説明を省略する。尚、本実施形態では、第6の実施形態(一度オブジェクトに対して実行したジェスチャコマンドを別のオブジェクトに対してもう一度実行する場合)において、三次元でレイヤを表示せずに二次元での表示のみを行う場合について説明する。
図22は、三次元でレイヤを表示せずに二次元での表示のみを行って、一度オブジェクトに対して実行したジェスチャコマンドを別のオブジェクトに対してもう一度実行する様子の一例を示す図である。尚、本実施形態証されるレイヤ管理テーブルは、図18に示したものと同じである。
次に、本発明の第9の実施形態について説明する。前述した第1〜第8の実施形態では、三次元でレイヤを表示する場合を例に挙げて説明した。これに対し、本実施形態では、三次元でレイヤを表示せずに二次元での表示のみを行う場合について説明する。このように本実施形態と前述した第1〜第8の実施形態とは、三次元でレイヤを表示せずに二次元での表示のみを行うことによる処理が主として異なる。したがって、本実施形態の説明において、前述した第1〜第8の実施形態と同一の部分については、図1〜図21に付した符号と同一の符号を付す等して詳細な説明を省略する。尚、本実施形態では、第6の実施形態(一度オブジェクトに対して実行したジェスチャコマンドを別のオブジェクトに対してもう一度実行する場合)において、三次元でレイヤを表示せずに二次元での表示のみを行う場合について説明する。
図22は、三次元でレイヤを表示せずに二次元での表示のみを行って、一度オブジェクトに対して実行したジェスチャコマンドを別のオブジェクトに対してもう一度実行する様子の一例を示す図である。尚、本実施形態証されるレイヤ管理テーブルは、図18に示したものと同じである。
尚、本実施形態においても、人物の顔を丸ストロークで囲むことが、顔をスリムに変形させるジェスチャコマンドコマンドに対応しているものとする。また、本実施形態では、ジェスチャコマンドフラグがtrueのジェスチャコマンドレイヤにストロークが入力された際に、当該ストロークに係るジェスチャコマンドに対応する処理の実行を行うものとする。
図22(a)に示す画面2201では、右側の人物の顔を丸ストローク2205で囲み、顔をスリムに変形させる。このときのレイヤ管理テーブルは、図18(a)に示したレイヤ管理テーブル1801のようになる。領域1803に示すように、丸ストロークは、ジェスチャコマンドフラグがtrueのLayer_2に所属する。そのため、図22(b)の画面2202に示す右側の人物の顔2206のように、スリムに変形するジェスチャコマンドが実行された後では、ストローク2205は不可視になる。
この丸ストロークをもう一度別のオブジェクトへ利用する際には、ここで表示レイヤの変更処理を行う。表示レイヤの変更処理は、別途設けた所定のボタン等をユーザが押下することにより行われる。また、所定のボタンをユーザが押下するたびに表示レイヤをひとつずつ切り替えるようにしてもよい。また、その他の方法で表示レイヤの変更処理を行うようにしてもよい。
図22(c)に示す画面2203は、表示レイヤをLayer_2に変更したことを示している。表示レイヤが変更すると不可視であった丸ストロークが表示される。ここでは、点線で表された人物の顔も背景として表示される。ユーザは、図22(c)に示す画面2203のように、表示レイヤをLayer_2に変更した状態で、ジェスチャコマンドを再び実行したいオブジェクトに対して、丸ストロークをドラッグアンドドロップする。
そうすると、レイヤ管理テーブルは、図18(b)に示したレイヤ管理テーブル1802のようになる。領域1804に示すように、Layer_2に保持されている丸ストロークはそのままで、領域1805に示すように、ジェスチャコマンドフラグがtrueのLayer_3が新規に生成される。丸ストロークは、Layer_3上の位置であって、Layer_2上でドロップしたx座標、y座標と同じ位置にコピーされる。
Layer_3が生成された後、ユーザが表示レイヤを元に戻す操作を行うと、図22(d)に示す画面2204のように、左側の人物の顔2207がスリムに変形する。
以上のように本実施形態では、表示対象のレイヤをユーザが指定し、指定したレイヤのオブジェクトを二次元での表示のまま表示するようにした。したがって、三次元でレイヤの表示を行わなくても第6の実施形態で説明した効果が得られる。
以上のように本実施形態では、表示対象のレイヤをユーザが指定し、指定したレイヤのオブジェクトを二次元での表示のまま表示するようにした。したがって、三次元でレイヤの表示を行わなくても第6の実施形態で説明した効果が得られる。
(第10の実施形態)
次に、本発明の第10の実施形態について説明する。前述した第9の実施形態では、第6の実施形態を前提として、三次元でレイヤを表示せずに二次元での表示のみを行う場合を例に挙げて説明した。これに対して、本実施形態では、第7の実施形態(一度オブジェクトに対して実行したジェスチャコマンドの適用先を変更する場合)において、三次元でレイヤを表示せずに二次元での表示のみを行う場合について説明する。
図23は、三次元でレイヤを表示せずに二次元での表示のみを行って、一度オブジェクトに対して実行したジェスチャコマンドの適用先を変更する様子の一例を示す図である。尚、本実施形態で使用されるレイヤ管理テーブルは、図20に示したものと同じである。
次に、本発明の第10の実施形態について説明する。前述した第9の実施形態では、第6の実施形態を前提として、三次元でレイヤを表示せずに二次元での表示のみを行う場合を例に挙げて説明した。これに対して、本実施形態では、第7の実施形態(一度オブジェクトに対して実行したジェスチャコマンドの適用先を変更する場合)において、三次元でレイヤを表示せずに二次元での表示のみを行う場合について説明する。
図23は、三次元でレイヤを表示せずに二次元での表示のみを行って、一度オブジェクトに対して実行したジェスチャコマンドの適用先を変更する様子の一例を示す図である。尚、本実施形態で使用されるレイヤ管理テーブルは、図20に示したものと同じである。
尚、本実施形態においても、人物の顔を丸ストロークで囲むことが、顔をスリムに変形させるジェスチャコマンドに対応しているものとする。また、本実施形態では、ジェスチャコマンドフラグがtrueのジェスチャコマンドレイヤにストロークが入力された際に、当該ストロークに係るジェスチャコマンドに対応する処理の実行を行うものとする。
図23(a)に示す画面2301では、右側の人物の顔を丸ストローク2305で囲み、顔をスリムに変形させる。このときのレイヤ管理テーブルは図20(a)に示したレイヤ管理テーブル20の2001のようになる。領域2004に示すように、丸ストロークは、ジェスチャコマンドフラグがtrueのLayer_2に所属する。そのため、図23(b)の画面2302に示す右側の人物の顔2306のように、スリムに変形するジェスチャコマンドが実行された後では、ストローク2305は不可視になる。
スリムに変形させるジェスチャコマンドを別のオブジェクトへ適用する際には、ここで適用先変更処理を行う。適用先変更処理は、UNDO処理と、新たな適用先へのドラッグアンドドロップとにより実行される。
ジェスチャコマンドを実行した後のUNDO処理は、ジェスチャコマンドフラグがtrueのレイヤからジェスチャコマンドフラグがfalseのレイヤへストロークを移動することである。そのため、図23(b)に示す画面2302の状態でUNDO処理を実行すると、図23(c)に示す画面2303のように、スリムの変形処理が取り消され、アノテーションとして丸ストロークが表示される。
ジェスチャコマンドを実行した後のUNDO処理は、ジェスチャコマンドフラグがtrueのレイヤからジェスチャコマンドフラグがfalseのレイヤへストロークを移動することである。そのため、図23(b)に示す画面2302の状態でUNDO処理を実行すると、図23(c)に示す画面2303のように、スリムの変形処理が取り消され、アノテーションとして丸ストロークが表示される。
このときのレイヤ管理テーブルは、図20(b)に示すレイヤ管理テーブル2002のようになる。ストロークがなくなったLayer_2は削除され、領域2005に示すように、ジェスチャコマンドフラグがfalseのLayer_1に丸ストロークが移動する。
UNDO処理の実行が終わり、ユーザが、図23(c)に示す画面2303の矢印の方向にストロークをドラッグアンドドロップすると、ストロークがジェスチャコマンドの実行対象のオブジェクト上へ移動する。ここで、ユーザが、ジェスチャコマンドの実行を指示すると、図23(d)に示す画面2304のように、左側の人物の顔2307がスリムに変形する。このときのレイヤ管理テーブルは、図20(c)に示したレイヤ管理テーブル20の2003のようになる。
ジェスチャコマンドは、別途用意したボタンの押下によって実行されてもよいし、ストロークに対応するジェスチャコマンドを開始するというジェスチャコマンドを用意しておき、そのジェスチャコマンドの入力によって実行されてもよい。また、その他の方法でジェスチャコマンドを実行してもよい。
UNDO処理の実行が終わり、ユーザが、図23(c)に示す画面2303の矢印の方向にストロークをドラッグアンドドロップすると、ストロークがジェスチャコマンドの実行対象のオブジェクト上へ移動する。ここで、ユーザが、ジェスチャコマンドの実行を指示すると、図23(d)に示す画面2304のように、左側の人物の顔2307がスリムに変形する。このときのレイヤ管理テーブルは、図20(c)に示したレイヤ管理テーブル20の2003のようになる。
ジェスチャコマンドは、別途用意したボタンの押下によって実行されてもよいし、ストロークに対応するジェスチャコマンドを開始するというジェスチャコマンドを用意しておき、そのジェスチャコマンドの入力によって実行されてもよい。また、その他の方法でジェスチャコマンドを実行してもよい。
以上のように本実施形態では、ジェスチャコマンドを実行した後、ジェスチャコマンドフラグがtrueのレイヤからジェスチャコマンドフラグがfalseのレイヤへ、当該ジェスチャコマンドに係るストロークを移動する。これにより、ジェスチャコマンドを実行する前の二次元での表示状態に戻る。その後、ユーザがストロークを別のオブジェクトの方向へドラッグアンドドロップすると、当該オブジェクトに対して当該ストロークに係るジェスチャコマンドに対応する処理を実行する。このとき、ジェスチャコマンドフラグがtrueのレイヤを生成し、生成したレイヤにドラッグアンドドロップしたストロークを所属させる。したがって、三次元でレイヤの表示を行わなくても第7の実施形態で説明した効果が得られる。
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
(その他の実施例)
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
101 情報処理装置、102 入力装置、103 出力装置
Claims (16)
- 画像として表示される複数のオブジェクトのそれぞれを、複数の階層の何れかに所属させて管理する管理手段と、
前記階層ごとに、当該階層に所属しているオブジェクトを表示する表示手段と、
前記表示手段により表示されたオブジェクトに対する操作をユーザからの指示に基づいて行う操作手段と、
前記操作手段による操作の結果に応じて、前記オブジェクトが所属する階層の生成、削除、又は変更を行う処理手段と、を有することを特徴とする画像処理装置。 - 前記オブジェクトは、編集対象のオブジェクトと、当該編集対象のオブジェクトに対するアノテーションと、当該編集対象のオブジェクトに対する編集指示を示すジェスチャコマンドと、を含み、
前記管理手段は、前記編集対象のオブジェクトと異なるオブジェクトについては、当該オブジェクトが所属する階層と、当該オブジェクトが編集対象のオブジェクトに対する編集指示を示すものであるか否かと、当該オブジェクトの内容とを相互に関連付けて管理し、
前記操作手段により操作されたオブジェクトが、編集対象のオブジェクトに対する編集指示を示すものであるか否かを判定することを特徴とする請求項1に記載の画像処理装置。 - 前記表示手段は、前記階層に所属しているオブジェクトを、当該階層ごとに分けて、三次元の階層構造で表示することを特徴とする請求項2に記載の画像処理装置。
- 前記オブジェクトの内容と、前記編集対象のオブジェクトに対する編集の内容とを相互に関連付けて記憶する記憶手段を有し、
前記操作手段は、ユーザにより指定されたオブジェクトについて、編集対象のオブジェクトに対する編集の内容が記憶されていない場合には、当該ユーザにより指定されたオブジェクトに対する操作を、当該操作の前の状態に戻すことを特徴とする請求項3に記載の画像処理装置。 - 前記操作手段は、前記編集対象のオブジェクトに対する編集指示を示すオブジェクトが表示されている階層と同じ階層に、付加情報が入力されると、当該付加情報に従って、当該編集対象のオブジェクトに対する編集の内容を変更することを特徴とする請求項3又は4に記載の画像処理装置。
- 前記処理手段は、前記編集対象のオブジェクトに対する編集指示を示すオブジェクトが所属する階層と、前記編集対象のオブジェクトに対する編集指示を示さないオブジェクトが所属する階層との少なくとも何れか一方を複数生成することを特徴とする請求項3〜5の何れか1項に記載の画像処理装置。
- 前記オブジェクトの内容と、前記編集対象のオブジェクトに対する編集の内容とを相互に関連付けて記憶する記憶手段を有し、
前記処理手段は、入力されたオブジェクトに対して、編集対象のオブジェクトに対する編集の内容が記憶されている場合に、当該入力されたオブジェクトが所属する階層を生成し、
前記操作手段は、前記生成された階層と、前記入力されたオブジェクトが編集対象のオブジェクトに対する編集指示を示すものであることと、前記入力されたオブジェクトの内容とを相互に関連付けて管理し、
前記表示手段は、前記編集対象のオブジェクトに対する編集指示を示すオブジェクトに基づく編集が前記編集対象のオブジェクトに対して行われた後、ユーザにより所定の操作があるまでは、前記階層に所属しているオブジェクトのうち、前記編集対象のオブジェクトに対する編集指示を示すオブジェクトと異なるオブジェクトを二次元で表示し、当該所定の操作があると、前記階層に所属しているオブジェクトを、当該階層ごとに分けて、三次元の階層構造で表示することを特徴とする請求項3〜5の何れか1項に記載の画像処理装置。 - 前記処理手段は、前記編集対象のオブジェクトに対する編集指示を示すオブジェクトがコピーされると、当該コピーされたオブジェクトが所属する階層を生成し、
前記管理手段は、前記生成された階層と、当該コピーされたオブジェクトが編集対象のオブジェクトに対する編集指示を示すものであることと、当該コピーされたオブジェクトの内容とを相互に関連付けて管理することを特徴とする請求項3〜7の何れか1項に記載の画像処理装置。 - 前記処理手段は、前記編集対象のオブジェクトに対する編集指示を示すオブジェクトに基づく編集が前記編集対象のオブジェクトに対して行われた後、当該編集対象のオブジェクトに対する編集指示を示すオブジェクトに対してユーザにより所定の操作が行われると、当該編集を取り消して、当該所定の操作が行われたオブジェクトが所属する階層を生成し、
前記管理手段は、前記生成された階層と、当該所定の操作が行われたオブジェクトが編集対象のオブジェクトに対する編集指示を示すものであることと、当該所定の操作が行われたオブジェクトの内容とを相互に関連付けて管理し、
前記操作手段は、前記所定の操作が行われたオブジェクトに基づく編集を、前記編集対象のオブジェクトとは別の編集対象のオブジェクトに対して行うことを特徴とする請求項3〜7の何れか1項に記載の画像処理装置。 - 前記表示手段は、前記編集対象のオブジェクトに対する編集指示を示すオブジェクトが表示されている階層に、前記編集対象のオブジェクトを背景として表示する手段と、
前記複数の階層のうちの隣り合う階層の間の距離と、前記階層の角度との少なくとも何れか一方を、ユーザによる操作に基づいて変更して表示する手段と、の少なくとも何れか一方を有することを特徴とする請求項2〜9の何れか1項に記載の画像処理装置。 - 前記表示手段は、前記階層の表示順序を変更する手段を有し、
前記操作手段は、前記階層の表示順序に応じた順序で、前記編集対象のオブジェクトに対する編集指示を示すオブジェクトに基づいて、当該編集対象のオブジェクトを編集することを特徴とする請求項2〜10の何れか1項に記載の画像処理装置。 - 前記表示手段は、ユーザによる操作に基づいて、前記複数の階層の少なくとも何れか1つの階層に属しているオブジェクトの二次元での表示と、三次元の階層構造での表示とを切り替えることを特徴とする請求項2〜11の何れか1項に記載の画像処理装置。
- 前記表示手段は、前記編集対象のオブジェクトに対する編集指示を示すオブジェクトに係る表示と、前記編集対象のオブジェクトに対する編集指示を示さないオブジェクトに係る表示とを異ならせる手段と、
前記編集対象のオブジェクトに対する編集指示を示すオブジェクトに係る表示を、当該編集対象のオブジェクトに対する編集が実行される前と後とで異ならせる手段と、の少なくとも何れか一方を有することを特徴とする請求項2〜12の何れか1項に記載の画像処理装置。 - 前記表示手段は、前記階層に所属しているオブジェクトを、三次元の階層構造で表示せずに、二次元で表示することを特徴とする請求項2に記載の画像処理装置。
- 画像として表示される複数のオブジェクトのそれぞれを、複数の階層の何れかに所属させて管理する管理工程と、
前記階層ごとに、当該階層に所属しているオブジェクトを表示する表示工程と、
前記表示工程により表示されたオブジェクトに対する操作をユーザからの指示に基づいて行う操作工程と、
前記操作工程による操作の結果に応じて、前記オブジェクトが所属する階層の生成、削除、又は変更を行う処理工程と、を有することを特徴とする画像処理方法。 - 画像として表示される複数のオブジェクトのそれぞれを、複数の階層の何れかに所属させて管理する管理工程と、
前記階層ごとに、当該階層に所属しているオブジェクトを表示する表示工程と、
前記表示工程により表示されたオブジェクトに対する操作をユーザからの指示に基づいて行う操作工程と、
前記操作工程による操作の結果に応じて、前記オブジェクトが所属する階層の生成、削除、又は変更を行う処理工程と、をコンピュータに実行させることを特徴とするコンピュータプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009287819A JP2011128962A (ja) | 2009-12-18 | 2009-12-18 | 画像処理装置、画像処理方法、及びコンピュータプログラム |
US12/948,194 US20110148918A1 (en) | 2009-12-18 | 2010-11-17 | Information processing apparatus and control method therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009287819A JP2011128962A (ja) | 2009-12-18 | 2009-12-18 | 画像処理装置、画像処理方法、及びコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011128962A true JP2011128962A (ja) | 2011-06-30 |
Family
ID=44150412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009287819A Pending JP2011128962A (ja) | 2009-12-18 | 2009-12-18 | 画像処理装置、画像処理方法、及びコンピュータプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20110148918A1 (ja) |
JP (1) | JP2011128962A (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5134517B2 (ja) * | 2008-12-08 | 2013-01-30 | キヤノン株式会社 | 情報処理装置及び方法 |
JP5670255B2 (ja) | 2011-05-27 | 2015-02-18 | 京セラ株式会社 | 表示機器 |
JP5770018B2 (ja) * | 2011-06-03 | 2015-08-26 | 任天堂株式会社 | 表示制御プログラム、表示制御装置、表示制御方法及び表示制御システム |
JP5864144B2 (ja) * | 2011-06-28 | 2016-02-17 | 京セラ株式会社 | 表示機器 |
JP5774387B2 (ja) | 2011-06-28 | 2015-09-09 | 京セラ株式会社 | 表示機器 |
JP2014032584A (ja) * | 2012-08-06 | 2014-02-20 | Fujitsu Ltd | 部品置換のための情報処理方法及び装置 |
JP6087608B2 (ja) * | 2012-12-10 | 2017-03-01 | キヤノン株式会社 | 携帯可能な装置、携帯可能な装置を制御する方法およびプログラム |
US20140375656A1 (en) * | 2013-06-19 | 2014-12-25 | Trigger Happy, Ltd. | Multi-layer animation environment |
GB2522855A (en) | 2014-02-05 | 2015-08-12 | Royal College Of Art | Three dimensional image generation |
EP4085422A4 (en) * | 2019-12-31 | 2023-10-18 | Qualcomm Incorporated | METHODS AND APPARATUS FOR FACILITATE REGION OF INTEREST TRACKING FOR MOVING IMAGES |
CN111625238B (zh) * | 2020-05-06 | 2023-02-03 | Oppo(重庆)智能科技有限公司 | 一种显示窗口控制方法、装置、终端及存储介质 |
CN114419199B (zh) * | 2021-12-20 | 2023-11-07 | 北京百度网讯科技有限公司 | 图片标注方法、装置、电子设备和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08286831A (ja) * | 1995-04-14 | 1996-11-01 | Canon Inc | ペン入力型電子装置及びその制御方法 |
US6606105B1 (en) * | 1999-12-22 | 2003-08-12 | Adobe Systems Incorporated | Layer enhancements in digital illustration system |
EP1277104A1 (en) * | 2000-03-30 | 2003-01-22 | Ideogramic APS | Method for gesture based modeling |
US6809745B1 (en) * | 2001-10-01 | 2004-10-26 | Adobe Systems Incorporated | Compositing two-dimensional and 3-dimensional images |
US20080109751A1 (en) * | 2003-12-31 | 2008-05-08 | Alias Systems Corp. | Layer editor system for a pen-based computer |
US7557804B1 (en) * | 2006-03-06 | 2009-07-07 | Adobe Systems Inc. | Methods and apparatus for three-dimensional isographic navigation |
-
2009
- 2009-12-18 JP JP2009287819A patent/JP2011128962A/ja active Pending
-
2010
- 2010-11-17 US US12/948,194 patent/US20110148918A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20110148918A1 (en) | 2011-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2011128962A (ja) | 画像処理装置、画像処理方法、及びコンピュータプログラム | |
US20200379615A1 (en) | Device, method, and graphical user interface for managing folders | |
JP5666239B2 (ja) | 情報処理装置、情報処理装置の制御方法、プログラム、および記録媒体 | |
AU2019219816B2 (en) | Device, method, and graphical user interface for managing folders | |
EP3019930B1 (en) | Interactive digital displays | |
JP5532740B2 (ja) | 文書処理装置、及び文書処理プログラム | |
CN105302784B (zh) | 复制/剪切和粘贴数据的方法和系统 | |
EP2748738B1 (en) | Method of creating a snap point in a computer-aided design system | |
US20100103167A1 (en) | Spatially-aware projection pen display | |
US20140189593A1 (en) | Electronic device and input method | |
KR20120085783A (ko) | 인간-컴퓨터의 상호작용을 위한 인터페이스 및 그 방법 | |
CN111339032A (zh) | 管理具有多页面的文件夹的设备、方法和图形用户界面 | |
JP2011123896A (ja) | タッチセンシティブディスプレイを用いてオブジェクトを複写する方法およびシステム | |
JP2001209470A (ja) | 表示インターフェイス方法及び装置並びにプログラム記憶媒体 | |
JP2006236339A (ja) | グラフィカルユーザインタフェースを操作する方法及びグラフィカルユーザインタフェース | |
JP5942762B2 (ja) | 情報処理装置及びプログラム | |
JP2011242820A (ja) | 電子機器、表示方法、及びプログラム | |
KR102205283B1 (ko) | 적어도 하나의 어플리케이션을 실행하는 전자 장치 및 그 제어 방법 | |
JP2016170613A (ja) | 会議支援装置、会議支援システム、会議支援プログラム、及び会議支援方法 | |
KR20160031397A (ko) | 어플리케이션 선택 화면을 통해 어플리케이션들을 실행하는 방법 및 장치 | |
JP5875262B2 (ja) | 表示制御装置 | |
JP2012088805A (ja) | 情報処理装置および情報処理装置の制御方法 | |
WO2014103357A1 (ja) | 電子機器および入力方法 | |
JP2014048894A (ja) | 表示制御装置およびプログラム | |
JP5749245B2 (ja) | 電子機器、表示方法、及び表示プログラム |