(57)【要約】【課題】  重なって表示されている複数のオブジェクトに対する入力操作を簡便にする。【解決手段】  表示されるそれぞれのオブジェクトを複数のレイヤ（階層）の何れかに所属させる。二次元で表示されている各オブジェクトを、当該オブジェクトが所属しているレイヤ毎に、三次元のレイヤ構造で表示する。そして、三次元のレイヤ構造で表示されたオブジェクトに対するユーザの操作に従って、編集対象のオブジェクトの編集を行う。【選択図】  図２
2011128962.tif 000002
【特許請求の範囲】
【請求項１】
画像として表示される複数のオブジェクトのそれぞれを、複数の階層の何れかに所属させて管理する管理手段と、
前記階層ごとに、当該階層に所属しているオブジェクトを表示する表示手段と、
前記表示手段により表示されたオブジェクトに対する操作をユーザからの指示に基づいて行う操作手段と、
前記操作手段による操作の結果に応じて、前記オブジェクトが所属する階層の生成、削除、又は変更を行う処理手段と、を有することを特徴とする画像処理装置。
【請求項２】
前記オブジェクトは、編集対象のオブジェクトと、当該編集対象のオブジェクトに対するアノテーションと、当該編集対象のオブジェクトに対する編集指示を示すジェスチャコマンドと、を含み、
前記管理手段は、前記編集対象のオブジェクトと異なるオブジェクトについては、当該オブジェクトが所属する階層と、当該オブジェクトが編集対象のオブジェクトに対する編集指示を示すものであるか否かと、当該オブジェクトの内容とを相互に関連付けて管理し、
前記操作手段により操作されたオブジェクトが、編集対象のオブジェクトに対する編集指示を示すものであるか否かを判定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記表示手段は、前記階層に所属しているオブジェクトを、当該階層ごとに分けて、三次元の階層構造で表示することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記オブジェクトの内容と、前記編集対象のオブジェクトに対する編集の内容とを相互に関連付けて記憶する記憶手段を有し、
前記操作手段は、ユーザにより指定されたオブジェクトについて、編集対象のオブジェクトに対する編集の内容が記憶されていない場合には、当該ユーザにより指定されたオブジェクトに対する操作を、当該操作の前の状態に戻すことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記操作手段は、前記編集対象のオブジェクトに対する編集指示を示すオブジェクトが表示されている階層と同じ階層に、付加情報が入力されると、当該付加情報に従って、当該編集対象のオブジェクトに対する編集の内容を変更することを特徴とする請求項３又は４に記載の画像処理装置。
【請求項６】
前記処理手段は、前記編集対象のオブジェクトに対する編集指示を示すオブジェクトが所属する階層と、前記編集対象のオブジェクトに対する編集指示を示さないオブジェクトが所属する階層との少なくとも何れか一方を複数生成することを特徴とする請求項３〜５の何れか１項に記載の画像処理装置。
【請求項７】
前記オブジェクトの内容と、前記編集対象のオブジェクトに対する編集の内容とを相互に関連付けて記憶する記憶手段を有し、
前記処理手段は、入力されたオブジェクトに対して、編集対象のオブジェクトに対する編集の内容が記憶されている場合に、当該入力されたオブジェクトが所属する階層を生成し、
前記操作手段は、前記生成された階層と、前記入力されたオブジェクトが編集対象のオブジェクトに対する編集指示を示すものであることと、前記入力されたオブジェクトの内容とを相互に関連付けて管理し、
前記表示手段は、前記編集対象のオブジェクトに対する編集指示を示すオブジェクトに基づく編集が前記編集対象のオブジェクトに対して行われた後、ユーザにより所定の操作があるまでは、前記階層に所属しているオブジェクトのうち、前記編集対象のオブジェクトに対する編集指示を示すオブジェクトと異なるオブジェクトを二次元で表示し、当該所定の操作があると、前記階層に所属しているオブジェクトを、当該階層ごとに分けて、三次元の階層構造で表示することを特徴とする請求項３〜５の何れか１項に記載の画像処理装置。
【請求項８】
前記処理手段は、前記編集対象のオブジェクトに対する編集指示を示すオブジェクトがコピーされると、当該コピーされたオブジェクトが所属する階層を生成し、
前記管理手段は、前記生成された階層と、当該コピーされたオブジェクトが編集対象のオブジェクトに対する編集指示を示すものであることと、当該コピーされたオブジェクトの内容とを相互に関連付けて管理することを特徴とする請求項３〜７の何れか１項に記載の画像処理装置。
【請求項９】
前記処理手段は、前記編集対象のオブジェクトに対する編集指示を示すオブジェクトに基づく編集が前記編集対象のオブジェクトに対して行われた後、当該編集対象のオブジェクトに対する編集指示を示すオブジェクトに対してユーザにより所定の操作が行われると、当該編集を取り消して、当該所定の操作が行われたオブジェクトが所属する階層を生成し、
前記管理手段は、前記生成された階層と、当該所定の操作が行われたオブジェクトが編集対象のオブジェクトに対する編集指示を示すものであることと、当該所定の操作が行われたオブジェクトの内容とを相互に関連付けて管理し、
前記操作手段は、前記所定の操作が行われたオブジェクトに基づく編集を、前記編集対象のオブジェクトとは別の編集対象のオブジェクトに対して行うことを特徴とする請求項３〜７の何れか１項に記載の画像処理装置。
【請求項１０】
前記表示手段は、前記編集対象のオブジェクトに対する編集指示を示すオブジェクトが表示されている階層に、前記編集対象のオブジェクトを背景として表示する手段と、
前記複数の階層のうちの隣り合う階層の間の距離と、前記階層の角度との少なくとも何れか一方を、ユーザによる操作に基づいて変更して表示する手段と、の少なくとも何れか一方を有することを特徴とする請求項２〜９の何れか１項に記載の画像処理装置。
【請求項１１】
前記表示手段は、前記階層の表示順序を変更する手段を有し、
前記操作手段は、前記階層の表示順序に応じた順序で、前記編集対象のオブジェクトに対する編集指示を示すオブジェクトに基づいて、当該編集対象のオブジェクトを編集することを特徴とする請求項２〜１０の何れか１項に記載の画像処理装置。
【請求項１２】
前記表示手段は、ユーザによる操作に基づいて、前記複数の階層の少なくとも何れか１つの階層に属しているオブジェクトの二次元での表示と、三次元の階層構造での表示とを切り替えることを特徴とする請求項２〜１１の何れか１項に記載の画像処理装置。
【請求項１３】
前記表示手段は、前記編集対象のオブジェクトに対する編集指示を示すオブジェクトに係る表示と、前記編集対象のオブジェクトに対する編集指示を示さないオブジェクトに係る表示とを異ならせる手段と、
前記編集対象のオブジェクトに対する編集指示を示すオブジェクトに係る表示を、当該編集対象のオブジェクトに対する編集が実行される前と後とで異ならせる手段と、の少なくとも何れか一方を有することを特徴とする請求項２〜１２の何れか１項に記載の画像処理装置。
【請求項１４】
前記表示手段は、前記階層に所属しているオブジェクトを、三次元の階層構造で表示せずに、二次元で表示することを特徴とする請求項２に記載の画像処理装置。
【請求項１５】
画像として表示される複数のオブジェクトのそれぞれを、複数の階層の何れかに所属させて管理する管理工程と、
前記階層ごとに、当該階層に所属しているオブジェクトを表示する表示工程と、
前記表示工程により表示されたオブジェクトに対する操作をユーザからの指示に基づいて行う操作工程と、
前記操作工程による操作の結果に応じて、前記オブジェクトが所属する階層の生成、削除、又は変更を行う処理工程と、を有することを特徴とする画像処理方法。
【請求項１６】
画像として表示される複数のオブジェクトのそれぞれを、複数の階層の何れかに所属させて管理する管理工程と、
前記階層ごとに、当該階層に所属しているオブジェクトを表示する表示工程と、
前記表示工程により表示されたオブジェクトに対する操作をユーザからの指示に基づいて行う操作工程と、
前記操作工程による操作の結果に応じて、前記オブジェクトが所属する階層の生成、削除、又は変更を行う処理工程と、をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及びコンピュータプログラムに関し、特に、画面に表示されたオブジェクトを編集するために用いて好適なものである。
【背景技術】
【０００２】
一般的なアートワークの編集ツールでは、パスや矩形等のオブジェクトをレイヤ構造（階層構造）で管理している。オブジェクトをレイヤ構造で管理することで、ｚ軸上で重なりを持つオブジェクトに対して、ｚ軸上の順序入れ替えや、レイヤ毎にオブジェクトの表示・非表示の切り替え等の処理を行い、アートワークの編集を簡便にするものがある。
【０００３】
また、近年では、手書き入力と手書き認識技術を組み合わせたジェスチャコマンドに係る技術も様々なアプリケーションに利用されている。特許文献1では、ジェスチャコマンドを画面上に表示しておき、ジェスチャコマンドを選択して操作対象へドラッグアンドドロップすることで、操作対象に対して、選択されたジェスチャコマンドに対応するコマンドを実行する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−２８６８３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般的なアートワークの編集ツールでは、例えばｚ軸上で重なるオブジェクトをドラッグ操作する際には、意図したオブジェクトではないものをユーザが誤って選択する恐れがある。また、レイヤ毎に編集をロックすることも可能だが、オブジェクトをドラッグアンドドロップするたびに編集のロックと解除を行うのでは、効率が悪い。
特許文献１に記載の技術によれば、画面上のジェスチャコマンドを操作対象へドラッグアンドドロップしてコマンドを実行するという直感的な操作が可能である。しかしながら、特許文献１に記載の技術は、画面上に複数のジェスチャコマンドやアノテーションを保持しておく手段を持たない。そのため、特許文献１に記載の技術を、地図表示アプリ等に応用した際に、操作対象に目印を付けておき、且つ、操作対象を拡大して表示するといった処理を行うことができない。
【０００６】
本発明はこのような問題を鑑みてなされたものであり、画像として表示されているオブジェクトに対する操作のための入力を簡便に且つ確実にすることを目的する。
【課題を解決するための手段】
【０００７】
本発明の画像処理装置は、画像として表示される複数のオブジェクトのそれぞれを、複数の階層の何れかに所属させて管理する管理手段と、前記階層ごとに、当該階層に所属しているオブジェクトを表示する表示手段と、前記表示手段により表示されたオブジェクトに対する操作をユーザからの指示に基づいて行う操作手段と、前記操作手段による操作の結果に応じて、前記オブジェクトが所属する階層の生成、削除、又は変更を行う処理手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、複数のオブジェクトのそれぞれを、複数の階層の何れかに所属させて管理し、階層ごとにオブジェクトを表示する。また、オブジェクトに対する操作の結果に応じて、オブジェクトが所属する階層の生成、削除、又は変更を行う。したがって、画像として表示されているオブジェクトに対する操作のための入力を簡便に且つ確実に行うことが可能になる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態を示し、情報処理装置の構成を示すブロック図である。
【図２】ＵＩ提示部における表示を示す図である。
【図３】三次元のレイヤ構造の表示を行う場合の処理を示すフローチャートである。
【図４】レイヤ管理テーブルの内容を示す図である。
【図５】レイヤを新たに生成する際の処理を示すフローチャートである。
【図６】レイヤに対する編集操作の内容を示す図である。
【図７】第２の実施形態を示し、複写機の操作パネルを示す図である。
【図８】タッチスクリーンにおける表示を示す図である。
【図９】ジェスチャコマンドの辞書の内容を示す図である。
【図１０】レイヤ管理テーブルの内容を示す図である。
【図１１】ジェスチャコマンドフラグがtrueのレイヤを新たに生成する際の処理を示すフローチャートある。
【図１２】第３の実施形態を示し、表示内容を示す図である。
【図１３】第４の実施形態を示し、表示内容を示す図である。
【図１４】レイヤ管理テーブルの内容を示す図である。
【図１５】第５の実施形態を示し、表示内容を示す図である。
【図１６】ストロークが入力された際の処理を示すフローチャートである。
【図１７】第６の実施形態を示し、表示内容を示す図である。
【図１８】レイヤ管理テーブルの内容を示す図である。
【図１９】第７の実施形態を示し、表示内容を示す図である。
【図２０】レイヤ管理テーブルの内容を示す図である。
【図２１】第８の実施形態を示し、表示内容を示す図である。
【図２２】第９の実施形態を示し、表示内容を示す図である。
【図２３】第１０の実施形態を示し、表示内容を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら本発明の好適な実施形態について説明する。
（第１の実施形態）
まず、本発明の第１の実施形態について説明する。
図１は、情報処理装置の機能的な構成の一例を示すブロック図である。情報処理装置１０１は、例えば、フォトプリンタのＵＩ提示部に組み込むことができる。本実施形態では、画像（編集対象となるオブジェクト）に対して複数のオブジェクトを入力し、当該入力したオブジェクトに対して移動等の操作を行い、当該画像の編集や当該画像への情報の付加等の画像処理を行う場合を例に挙げて説明する。情報処理装置のハードウェアは、例えば、ＣＰＵと、ＣＰＵによって実行されるコンピュータプログラム等を記憶するＲＯＭと、ＣＰＵのワークエリア等として使用されるＲＡＭと、各種のデータ等を記憶するＨＤＤと、各種インターフェースを備えて構成される。
入力装置１０２は、マウスやタッチパネル等を備えている。出力装置１０３は、ディスプレイやタッチパネル等を備えている。オブジェクト編集部１０４は、入力されたオブジェクトに対する編集を司る。レイヤ編集部１０５は、レイヤに対する編集を司る。
レイヤ管理部１０６は、オブジェクト編集部１０４及びレイヤ編集部１０５における編集によって変更されるオブジェクトやレイヤに関する情報を管理する。レイヤ管理部１０６は、レイヤ管理テーブルによってレイヤを管理する。三次元レイヤ提示部１０７は、レイヤを三次元で提示するための情報を生成する。
【００１１】
図２は、ＵＩ提示部における表示の一例を示す図である。
図２（ａ）では、画面２０１内に表示された画像２０４に対し、入力装置１０２を用いてオブジェクトを入力した様子を表している。人物Ａの顔２０７と重なる領域に、帽子オブジェクト２０５と、眉毛オブジェクト２０６とが入力されている。一方、人物Ｂの顔２０８と重なる領域にはオブジェクトは何も入力されていない。
本実施形態では、人物Ａの顔２０７と重なる領域に存在しているオブジェクトのうち、眉毛オブジェクト２０６のみを、人物Ｂの顔２０８と重なる領域に移動させる場合について詳しく述べる。
【００１２】
図３は、三次元のレイヤ構造の表示を行う場合の情報処理装置１０１の処理の一例を説明するフローチャートである。具体的には、図２（ａ）に示す画面２０１における二次元表示から、図２（ｂ）の画面２０２における三次元表示用の情報を生成する処理の一例を説明するフローチャートである。図３の処理の実行は、専用のボタンを設け、当該ボタンを押下することで開始されてもよいし、ジャイロセンサを情報処理装置１０１等の機器内に設けておき、機器を傾けることで開始されてもよい。また、その他の方法であっても構わない。
【００１３】
まず、ステップＳ３０１において、レイヤ管理部１０６は、レイヤ管理テーブルを読み出す。図４は、レイヤ管理テーブルの内容の一例を概念的に示す図である。レイヤ管理テーブルとは、存在するレイヤと、各レイヤに保持されるオブジェクトの内容とを相互に関連付けた対応表である。
図２（ａ）に示す画像２０４に、２つのオブジェクト２０５、２０６が入力された状態では、図４（ａ）に示すレイヤ管理テーブル４０１が得られる。領域４０３に示すように、２つのオブジェクト２０５、２０６がLayer＿1に所属しており、領域４０４に示すように、編集対象のオブジェクト（人物の顔）を含む画像２０４がDefault Layerに所属している。
【００１４】
次に、ステップＳ３０２において、レイヤ編集部１０５は、ステップＳ３０１で読み出されたレイヤ管理テーブル４０１の情報から、実際に三次元のレイヤ構造（階層構造）を生成する。具体的にレイヤ編集部１０５は、各レイヤに所属するオブジェクトの情報に基づいて、それぞれのレイヤに対応する二次元画像を別々に生成し、マトリックス演算を行うことで二次元画像を三次元画像に変換する。二次元画像から三次元画像を生成する方法は、公知の技術を用いることができるので、ここでは詳細な説明を省略する。レイヤ編集部１０５は、各レイヤに対応する三次元画像を生成すると、Default Layerをｚ軸上の最下層に配置する。その後、レイヤ編集部１０５は、レイヤのＩＤに付与されている数値の降順にｚ軸上の最上位から一定間隔でレイヤを配置する。レイヤを配置する間隔はどのような間隔でも構わない。
【００１５】
次に、ステップＳ３０３において、三次元レイヤ提示部１０７は、ステップＳ３０２で生成された三次元のレイヤ構造を提示するように表示の更新処理を行う。
以上の流れで、図２（ａ）に示す画面２０１における二次元表示から、図２（ｂ）に示す画面２０２における三次元表示用の情報が生成され、表示が更新される。
【００１６】
図５は、三次元で表示された各レイヤにあるオブジェクトに対して編集操作を行い、レイヤを新たに生成する際の情報処理装置１０１の処理の一例を説明するフローチャートである。本実施形態では、編集操作がドラッグアンドドロップである場合を例に挙げて説明する。具体的には、図２（ｂ）に示す画面２０２における眉毛オブジェクト２０９を矢印２１０の方向にドラッグアンドドロップして、図２（ｃ）に示す画面２０３に示されているように新たにレイヤ２１２（階層）を生成する処理の一例を説明するフローチャートである。尚、図２（ｂ）に示す矢印は、説明の都合上、表記したものであり、画面２０２に表示されるものではない。
また、本実施形態では、オブジェクトをシングルクリックした後に入力する編集操作をレイヤの生成処理として扱い、何もせずに入力する編集操作をオブジェクトの移動処理として扱う。すなわち、本実施形態では、オブジェクトをシングルクリックした後に編集操作（ドラッグアンドドロップ）が行われると、図５のフローチャートによる処理が開始されるものとする。
【００１７】
まず、ステップＳ５０１において、レイヤ編集部１０５は、ユーザが、シングルクリックをした後に、図２（ｂ）に示す矢印２１０に沿って負の方向へドラッグアンドドロップした際のドロップ時の画面２０２上の二次元座標を取得する。
次に、ステップＳ５０２において、レイヤ編集部１０５は、ステップＳ５０１で取得した二次元座標の位置を、三次元で表されている表示内の三次元座標の位置に変換する。
【００１８】
次に、ステップＳ５０３において、レイヤ編集部１０５は、ステップＳ５０２で取得した三次元座標のｚ軸の値が閾値を超えているか否かを判定する。すなわち、ドラッグした位置のｚ軸の値とドロップされた位置のｚ軸の値との間の距離が閾値を超えているか否かを判定する。本実施形態では、Layer＿1とDefault Layerとの中間地点に閾値を設けることとする。閾値は、存在するレイヤの数によって変動させることができる。
この判定の結果、ステップＳ５０２で取得した三次元座標のｚ軸の値が閾値を超えていれば、ステップＳ５０４へ進み、超えていなければ、ステップＳ５０７へ進む。
ステップＳ５０４に進むと、レイヤ編集部１０５は、ステップＳ５０２で取得した三次元座標の位置に配置されるレイヤ２１２を生成する（図２（ｃ）を参照）。三次元レイヤ提示部１０７は、図２（ｃ）に示す画面２０３において、レイヤ編集部１０５で生成されたレイヤ２１２を、ステップＳ５０２で取得した三次元座標の位置に表示する。
【００１９】
次に、ステップＳ５０５において、オブジェクト編集部１０４は、ステップＳ５０４で生成されたレイヤ２１２に、ドラッグアンドドロップされた眉毛オブジェクト２０９を移動させる処理を行う。三次元レイヤ提示部１０７は、オブジェクト編集部１０４の処理に従って、ドラッグアンドドロップされた眉毛オブジェクト２０９の表示位置を変更する。眉毛オブジェクト２０９は、図２（ｃ）に示すように、眉毛オブジェクト２１１の位置に移動する。
次に、ステップＳ５０６において、レイヤ管理部１０６は、ステップＳ５０１〜Ｓ５０５の処理に基づいて、レイヤ管理テーブルの更新を行う。前述した操作で新規に生成されたレイヤ２１２のＩＤをLayer＿2とすると、図４（ａ）に示したレイヤ管理テーブル４０１は、図４（ｂ）に示すレイヤ管理テーブル４０２に変更される。
【００２０】
図４において、Default Layerについては、操作前と操作後とで変更はない(領域４０４、４０７を参照)。Layer＿1については、操作前には、領域４０３に示したように帽子オブジェクトと眉毛オブジェクトとが所属していたが、操作後では、領域４０５に示すように、帽子オブジェクトのみが所属するように変更される。そして、領域４０６に示すように、新規に生成されたLayer＿2に眉毛オブジェクトが所属するようにレイヤ管理テーブルが変更される。このようなレイヤ管理テーブルの変更を終えると、図５のフローチャートによる処理を終了する。
【００２１】
図２（ｃ）に示す画面２０３のような表示情報が生成されると、ユーザは、眉毛オブジェクト２１１を人物Ｂの顔２１３と重なる領域にドラッグアンドドロップする。その際に、ユーザは、レイヤに対して編集操作を行ってもよい。図６は、レイヤに対する編集操作の内容の一例を概念的に示す図である。図６（ａ）の画面６０１のように、隣り合うレイヤ間の距離を変更したり、図６（ｂ）の画面６０２のように、所望のレイヤの他のレイヤとのなす角度を変更したりすることにより、オブジェクトに対する編集操作の入力が容易になる。尚、図６（ａ）、（ｂ）に示す矢印は、説明の都合上、表記したものであり、画面６０１、６０２に表示されるものではない。
また、図６（ｃ）の画面６０３に示すようにすることもできる。すなわち、まず、レイヤ編集部１０５は、オブジェクトの移動のためにドラッグ操作がなされたレイヤ６０４を注目レイヤとして特定する。すると、三次元レイヤ提示部１０７は、Default Layerのレイヤ６０５のオブジェクトを、半透明（図６（ｃ）では破線で示している）等で注目レイヤ（レイヤ６０４）のオブジェクトの背景に表示する。このようにすれば、オブジェクトの移動先を正確に指定できる。
【００２２】
図５の説明に戻り、前述したように、ステップＳ５０２で取得した三次元座標のｚ軸の値が閾値を超えていないと判定されると、ステップＳ５０７に進む。ステップＳ５０７に進むと、オブジェクト編集部１０４と三次元レイヤ提示部１０７は、ユーザによる編集操作をリジェクトする処理を行う。具体的には、オブジェクト編集部１０４と三次元レイヤ提示部１０７は、ドラッグ操作を加える前の位置に眉毛オブジェクトを戻す。そして、図５のフローチャートによる処理を終了する。
【００２３】
以上のように本実施形態では、表示されるそれぞれのオブジェクトを複数のレイヤ（階層）の何れかに所属させる。二次元で表示されている各オブジェクトを、当該オブジェクトが所属しているレイヤ毎に、三次元のレイヤ構造で表示する。そして、三次元のレイヤ構造で表示されたオブジェクトに対するユーザの指示に従って、編集対象のオブジェクトの編集を行う。このように、オブジェクトを三次元的に表示するようにしたので、複数のオブジェクトが相互に近接して、又は重なって入力された場合であっても、オブジェクトに対する編集操作の入力を誤らずに行うことができる。
【００２４】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。第１の実施形態では、オブジェクトを移動させる編集を行う場合を例に挙げて説明した。これに対し、本実施形態では、ジェスチャコマンドが入力されると、当該ジェスチャコマンドに基づいてオブジェクトに対する編集が行われるようにする場合を例に挙げて説明する。このように本実施形態と前述した第１の実施形態とは、オブジェクトに対する編集の方法が主として異なる。従って、本実施形態の説明において、第１の実施形態と同一の部分については、図１〜図６に付した符号と同一の符号を付す等して詳細な説明を省略する。尚、ジェスチャコマンドとは、軌跡の入力が可能な機器において、特定の軌跡入力（ストローク）を処理に割り当てておき、特定の軌跡入力がなされると、当該軌跡入力を編集指示と認識し、当該軌跡入力に対応する処理を呼び出して実行する公知の技術である。ここでいう処理は、編集対象のオブジェクト（画像）に対する編集に係る処理であり、例えば、当該画像の大きさや配置を変更する処理等である。
【００２５】
図７は、情報処理装置を組み込んだジェスチャコマンドの入力が可能な複写機の操作パネルの一例を示す図である。
図７において、図１に示した入力装置１０２及び出力装置１０３に対応する操作パネル７０１には、タッチスクリーン７０２が配置されている。ユーザは、このタッチスクリーン７０２に対し、指又はスタイラスペン７０３を用いて、ジェスチャコマンドやアノテーションを入力する。
図８は、タッチスクリーンにおける表示の一例を示す図である。また、図９は、ジェスチャコマンドの辞書の内容の一例を概念的に示す図である。このジェスチャコマンドの辞書は、情報処理装置１０１の記憶媒体（ＨＤＤ等）に記憶されている。本実施形態では、描かれたストロークがジェスチャコマンドと一致しているか否かを、書き順等にはよらず、形状のみで判断するものとする。
【００２６】
また、図１０は、レイヤ管理テーブルの内容の一例を概念的に示す図である。図１０に示すように、図４に示したレイヤ管理テーブル４０１、４０２に示した項目に加えて、ジェスチャコマンドフラグの項目が追加してある。ジェスチャコマンドフラグは、各レイヤが保持するオブジェクトがジェスチャコマンドであるか、そうでないかを識別するためのフラグである。ただし、Default Layerに関しては、このジェスチャコマンドフラグの項目はない。ジェスチャコマンドフラグがtrueのレイヤに所属するオブジェクトは、ジェスチャコマンドとなる。一方、ジェスチャコマンドフラグがfalseのレイヤに所属するオブジェクトは、ジェスチャコマンドではなくアノテーションとなる。
【００２７】
図８（ａ）に示す画面８０１は、タッチスクリーン７０２上に二つの丸を描くストローク８０５、８０６が入力された状態を示す。図９の領域９０１に示すように、丸のストロークは、丸で囲んだ部分を中心に拡大する処理に対応している。しかし、本実施形態では、二次元表示時に入力したストロークは全て一時的にアノテーションとして、ジェスチャコマンドフラグがfalseのレイヤに所属するため、ジェスチャコマンドは実行されない。
【００２８】
図１０（ａ）に示すレイヤ管理テーブル１００１は、図８（ａ）に示す画面８０１のような入力状態でのレイヤ管理テーブルである。図１０（ａ）の領域１００３に示すように、丸のストロークは、ジェスチャコマンドフラグがfalseのLayer＿1に全て所属される。
図８（ａ）に示す画面８０１の二次元表示から、図８（ｂ）に示す画面８０２の三次元表示用の情報を生成する処理は、第１の実施形態と同様に、図３に示したフローチャートに従って実行される。
図１１は、三次元表示されたオブジェクトに対して編集操作を行い、ジェスチャコマンドフラグがtrueのレイヤを新たに生成する際の情報処理装置１０１の処理の一例を説明するフローチャートある。本実施形態においても、第１の実施形態と同様に、編集操作がドラッグアンドドロップである場合を例に挙げて説明する。また、オブジェクトをシングルクリックした後に入力する編集操作をレイヤの生成処理とし、何もせずに入力する編集操作をオブジェクトの移動処理とする。
【００２９】
まず、ステップＳ１１０１において、レイヤ編集部１０５は、ステップＳ５０１と同様に、ユーザが、ｚ軸の負の方向にドラッグアンドドロップした際のドロップ時のタッチスクリーン７０２上の二次元座標を取得する（図８（ｂ）の画面８０２内の矢印を参照）。尚、図８（ｂ）に示す矢印は、説明の都合上、表記したものであり、画面８０２に表示されるものではない。
次に、ステップＳ１１０２において、レイヤ編集部１０５は、ステップＳ５０２と同様に、ステップＳ１１０１で取得したタッチスクリーン７０２上の二次元座標の位置から、三次元で表されている表示内の三次元座標の位置に変換する。
次に、ステップＳ１１０３において、レイヤ編集部１０５は、ステップＳ５０３と同様に、ステップＳ１１０２で取得した三次元座標のｚ軸の値が閾値を超えているか否か判定する。
この判定の結果、ステップＳ１１０２で取得した三次元座標のｚ軸の値が閾値を超えていれば、ステップＳ１１０４へ進み、超えていなければ、ステップＳ１１０９へ進む。
【００３０】
ステップＳ１１０４に進むと、レイヤ編集部１０５は、タッチスクリーン７０２に対して入力されたストロークに対応するジェスチャコマンドを、ジェスチャコマンドの辞書から検索する（図９を参照）。
次に、ステップＳ１１０５において、レイヤ編集部１０５は、タッチスクリーン７０２に対して入力されたストロークに対応するジェスチャコマンドがジェスチャコマンドの辞書に存在するか否かを判定する。
この判定の結果、ストロークに対応するジェスチャコマンドがジェスチャコマンドの辞書に存在する場合には、ステップＳ１１０６へ進み、存在しない場合には、ステップＳ１１０９へ進む。
ステップＳ１１０６に進むと、レイヤ編集部１０５は、ステップＳ１１０２で取得した三次元座標に位置に配置される「ジェスチャコマンドフラグがtrueのレイヤ」を生成する（図８（ｃ）の画面８０３におけるレイヤ８０７を参照）。三次元レイヤ提示部１０７は、タッチスクリーン７０２において、レイヤ編集部１０５で生成されたレイヤを、ステップＳ１１０２で取得した三次元座標の位置に表示する。
次に、ステップＳ１１０７において、オブジェクト編集部１０４は、ステップＳ１１０６で生成されたレイヤに、ドラッグアンドドロップされたストロークを移動させる処理を行う。三次元レイヤ提示部１０７は、オブジェクト編集部１０４の処理に従って、ドラッグアンドドロップされたストロークの表示位置を変更する（図８（ｃ）の画面８０３におけるレイヤ８０７に表示されている丸ストロークを参照）。
【００３１】
次に、ステップＳ１１０８において、レイヤ管理部１０６は、ステップＳ１１０１〜Ｓ１１０７の処理に基づいて、レイヤ管理テーブルの更新を行う。前述した操作で新規に生成されたレイヤのＩＤをLayer＿2とすると、図１０（ａ）に示したレイヤ管理テーブル１００１は、図１０（ｂ）に示すレイヤ管理テーブル１００２に変更される。
図１０において、Default Layerについては、第１の実施形態と同様に、操作前と操作後とで変更はない（領域１００４、１００７を参照）。Layer＿1については、操作前には、領域１００３で示したように２つの丸ストロークのオブジェクトが所属していたが、操作後では、領域１００５に示すように、１つの丸ストロークのオブジェクトのみが所属するように変更される。そして、領域１００６に示すように、新規に生成されたLayer＿2にもう一方の丸ストロークのオブジェクトが所属するようにレイヤ管理テーブルが変更され、更に、このレイヤのジェスチャコマンドフラグとしてtrueが設定される。このようなレイヤ管理テーブルの変更を終えると、図１１のフローチャートによる処理を終了する。
【００３２】
本実施形態では、図１１で示した処理を実行し、コマンドフラグがtrueのレイヤが生成されたら、入力されたストロークに対応するジェスチャコマンドが即時に実行される。ただし、ジェスチャコマンドの実行は、このようにして開始されるものに限定されない。例えば、別途ボタンを設けて、それが押下することでジェスチャコマンドが実行されてもよい。また、図８（ｃ）における「コマンドフラグがtrueのレイヤ８０７」をDefault Layer８０８にドラッグアンドドロップすることでジェスチャコマンドが実行されてもよい。また、その他の方法でジェスチャコマンドが実行されてもよい。
【００３３】
図８（ｄ）に示す画面８０４は、ジェスチャコマンドの実行し、三次元表示を二次元表示に戻してジェスチャコマンドの実行結果をタッチスクリーン７０２に表示した状態を示している。図８（ｄ）において、図８（ａ）に示す丸ストローク８０５のオブジェクトは、ジェスチャコマンドとして実行されたため、不可視である。一方、丸ストローク８０６のオブジェクトは、アノテーションとして存在しているため、Default Layer８０８に表示されているテキスト文書と同様に拡大処理がなされ表示されている。
図１１の説明に戻り、ステップＳ１１０３又はステップＳ１１０５からステップＳ１１０９に進むと、オブジェクト編集部１０４と三次元レイヤ提示部１０７は、ユーザによる編集操作をリジェクトする処理を行う。具体的には、オブジェクト編集部１０４と三次元レイヤ提示部１０７は、ドラッグ操作を加える前の位置にストロークを戻す。そして、図１１のフローチャートによる処理を終了する。
【００３４】
以上のように本実施形態では、二次元で表示されている各ストロークを、当該ストロークが所属しているレイヤ毎に分けて、三次元のレイヤ構造で表示する際に、編集操作のあったストロークを、ジェスチャコマンドであることを示すレイヤに表示する。一方、編集操作のないストロークを、ジェスチャコマンドでない（アノテーションである）ことを示すレイヤに表示する。そして、編集操作のあったストロークをジェスチャコマンドとし、当該ジェスチャコマンドに対応する処理を実行する。このとき、編集操作のないストロークについてはアノテーションとして表示する。このように、アノテーションとジェスチャコマンドとをレイヤ別に分けて管理することで、第１の実施形態で説明した効果に加え、アノテーションとジェスチャコマンドとを明確に区別できるという効果が得られる。
【００３５】
（第３の実施形態）
次に、本発明の第３の実勢形態について説明する。前述した第２の実施形態では、ジェスチャコマンドを単体で実行する場合を例に挙げて説明した。これに対し、本実施形態では、ジェスチャコマンドに付加情報を与え、この付加情報の内容も考慮してジェスチャコマンドを実行する場合を例に挙げて説明する。このように本実施形態は、前述した第２の実施形態に対し、付加情報に基づく処理が追加されたものである。したがって、本実施形態の説明において、前述した第１、第２の実施形態と同一の部分については、図１〜図１１に付した符号と同一の符号を付す等して詳細な説明を省略する。
本実施形態においては、ジェスチャコマンドの実行は、所定のボタンの押下、又は、ジェスチャコマンドフラグがtrueのレイヤをDefault Layerにドラッグアンドドロップした場合に行われるものとする。
【００３６】
本実施形態でも、第２の実施形態と同様に図１１に示したフローチャートによる処理が行われる。本実施形態では、図１１に示したフローチャートによる処理が終了してから、ジェスチャコマンドの実行がなされるまでの間に、以下に示す処理が追加される。
図１１に示したフローチャートによる処理が終了した時点では、タッチスクリーン７０２の表示は図８（ｃ）に示した画面８０３のようになっている。ここで、本実施形態では、画面８０３のように三次元表示されたレイヤに対して、何もせずにドラッグ操作を入力すると、レイヤの移動処理が行われ、シングルクリックした後にドラッグ操作を行うと、操作対象のレイヤにストロークを入力できるものとする。
図１２は、タッチスクリーンにおける表示の一例を示し、ジェスチャコマンドフラグがtrueとなっているレイヤに対してストロークが入力された様子の一例を示す図である。
図１２の画面１２０１に示すように、ジェスチャコマンドフラグがtrueとなっているレイヤ１２０２に対して数値（図１２では２）を表すストロークが入力されると、レイヤ編集部１０５は、その入力を、ジェスチャコマンドのプロパティの設定として認識する。
【００３７】
このため、本実施形態では、各ジェスチャコマンドには、そのプロパティとして設定される属性を持たせておく。図９に示したジェスチャコマンド辞書の内容を例に挙げて説明すると、領域９０１に示されているジェスチャコマンドには、そのプロパティとして、拡大率が設定される。つまり、"２"と入力されたら、２倍の拡大率で拡大する処理が実行されることになる。一方、領域９０２に示されているジェスチャコマンドには、そのプロパティとして、一ページあたりのレイアウト数が設定される。つまり、"２"と入力されたら、4in1ではなく、2in1にページレイアウトを行う処理が実行されることになる。
【００３８】
図１２に示す例では、丸ストロークが入力された「ジェスチャコマンドフラグがtrueとなっているレイヤ１２０２」に対して、"２"が入力されている。したがって、２倍の拡大率という情報がジェスチャコマンドに追加されることになり、丸ストロークを、丸を中心に２倍の拡大率で拡大するという処理が実行される。
【００３９】
以上のように本実施形態では、ジェスチャコマンドフラグがtrueとなっているレイヤに対して、ジェスチャコマンドによる処理の実行内容を示す付加情報が入力されると、その付加情報に従ってジェスチャコマンドを実行するようにした。したがって、前述した各実施形態で説明した効果に加えて以下の効果が得られる。すなわち、従来のジェスチャコマンドでは、倍率が異なる処理であれば、異なる処理としてそれぞれ辞書に登録する必要があった。これに対し、本実施形態のように、ジェスチャコマンドのプロパティとして当該ジェスチャコマンドによる処理の実行内容を示す付加情報を入力することで、ジェスチャコマンドに対応する処理の内容として登録する情報量を少なくすることができる。
【００４０】
（第４の実施形態）
次に、本発明の第４の実施形態について説明する。前述した第２、第３の実施形態では、ジェスチャコマンドフラグがtrueのレイヤを１つのみ生成する場合を例に挙げて説明した。これに対し、本実施形態では、ジェスチャコマンドフラグがtrue、falseのレイヤの少なくとも何れか一方を複数生成する場合を例に挙げて説明する。このように本実施形態と、第２、第３の実施形態とは、ジェスチャコマンドフラグがtrue、falseのレイヤの数が異なることによる処理が主として異なる。したがって、本実施形態の説明において、前述した第１〜第３の実施形態と同一の部分については、図１〜図１２に付した符号を付す等して詳細な説明を省略する。
また、本実施形態においても、ジェスチャコマンドの実行は、第３の実施形態と同様に、所定のボタンの押下、又は、ジェスチャコマンドフラグがtrueのレイヤをDefault Layerにドラッグアンドドロップした場合に行われるものとする。
【００４１】
図１３は、図８（ｃ）に示した画面８０３において、ジェスチャコマンドフラグがfalseのレイヤに、星型オブジェクト１３０５と、十字オブジェクト１３０４を入力した状態の一例を示す図である。また、図１４は、レイヤ管理テーブルの内容の一例を概念的に示す図である。
図１４（ａ）に示すレイヤ管理テーブル１４０１は、図１３（ａ）に示す状態であるときのレイヤ管理テーブルを示す。領域１４０４に示すように、新たに入力されたオブジェクトは、ジェスチャコマンドフラグがfalseのLayer＿1に所属する。十字オブジェクト１３０４に対してz軸の負の方向にドラッグアンドドロップが行われると、第２、第３の実施形態と同様にジェスチャコマンドフラグがtrueのレイヤの生成処理が行われる（図１１を参照）。そうすると、ジェスチャコマンドフラグがtrueのレイヤが新たに生成される。図１３（ｂ）に示す画面１３０２は、ジェスチャコマンドフラグがtrueのレイヤが新たに生成された状態の一例を示す。画面１３０２では、図１３（ａ）に示した画面１３０１に対して、ジェスチャコマンドフラグがtrueのレイヤ１３０７が追加される。図１４（ｂ）に示すレイヤ管理テーブル１４０２は、図１３（ｂ）に示す状態であるときのレイヤ管理テーブルを示す。十字オブジェクトは、ジェスチャコマンドフラグがfalseのLayer＿1から、ジェスチャコマンドフラグがtrueのLayer＿3へ移動する（領域１４０４、１４０５、１４０７を参照）。
【００４２】
また、ジェスチャコマンドフラグがtrueである複数のレイヤが存在する場合、レイヤの夫々について、ジェスチャコマンドが実行済みであるか、実行前であるか等の状態の違いによって、レイヤの枠やストロークの色等の見た目を変えてもよい。このようにすれば、その違いをユーザに提示することができる。また、ジェスチャコマンドフラグがtrueであるレイヤであるか、ジェスチャコマンドフラグがfalseであるレイヤであるかによって、レイヤの枠やストロークの色等の見た目を変えてもよい。これらのことは、第２、第３の実施形態にも適用することができる。また、ｚ軸上のレイヤの表示順序の入れ替え処理を行い、レイヤの表示順序に応じて複数のジェスチャコマンドを順次実行してもよい。このことは、第１〜第３の実施形態にも適用することができる。
【００４３】
ここまで、図１３（ａ）に示すような状態で、z軸の負の方向（図の下の方向）へドラッグアンドドロップし、ドロップした位置が閾値を超えていれば、ジェスチャコマンドフラグがtrueのレイヤを新規に生成する場合についてのみ説明した。本実施形態では、同様にして、z軸方向の正の方向（図の上の方向）へドラッグアンドドロップして、ドロップした位置が閾値を超えていたら、ジェスチャコマンドフラグがfalseのレイヤを新規に作成するものとする。
図１３（ａ）に示す十字オブジェクト１３０４に対してz軸の正の方向にドラッグアンドドロップが行われると、ジェスチャコマンドフラグがfalseのレイヤの生成処理が行われ、ジェスチャコマンドフラグがfalseのレイヤが新たに生成される。図１３（ｃ）に示す画面１３０３は、ジェスチャコマンドフラグがfalseのレイヤが新たに生成された状態の一例を示す。画面１３０３では、図１３（ａ）に示した画面１３０１に対して、ジェスチャコマンドフラグがfalseのレイヤ１３０８が追加される。図１４（ｃ）に示すレイヤ管理テーブル１４０３は、図１３（ｃ）に示す状態であるときのレイヤ管理テーブルを示す。十字オブジェクトは、ジェスチャコマンドフラグがfalseのLayer＿1から、ジェスチャコマンドフラグがfalseのLayer＿3へ移動する（領域１４０４、１４０８、１４０９を参照）。
尚、以上のようなレイヤ生成処理を実施する際に、表示領域にレイヤが収まらないことが考えられる。その際には、自動で表示領域のサイズの変更を行ってもよいし、自動でスライドバーを表示してもよい。
【００４４】
以上のように本実施形態では、ジェスチャコマンドフラグがtrueのレイヤと、ジェスチャコマンドフラグがfalseのレイヤとの、少なくとも何れか一方を複数生成して表示するようにした。したがって、前述した各実施形態で説明した効果に加えて、複数のアノテーションと複数のジェスチャコマンドを明確に区別して扱うことができるという効果が得られる。
【００４５】
（第５の実施形態）
次に、本発明の第５の実施形態について説明する。前述した第２〜第４の実施形態では、ストロークの入力後、一度アノテーションのレイヤ（ジェスチャコマンドフラグがfalseのレイヤ）にストロークを所属させ、当該ストロークに対応するジェスチャコマンドを即時に実行しない場合を例に挙げて説明した。これに対し、本実施形態では、ジェスチャコマンドが即時に実行される場合について説明する。このように本実施形態と前述した第２〜第４の実施形態とは、入力したストロークに対応するジェスチャコマンドを実行するための処理の一部が主として異なる。したがって、本実施形態の説明において、前述した第２〜第４の実施形態と同一の部分については、図１〜図１４に付した符号と同一の符号を付す等して詳細な説明を省略する。尚、本実施形態では、人物の顔を丸ストロークで囲むことが、顔をスリムに変形させるジェスチャコマンドコマンドに対応している場合を例に挙げて説明する。
【００４６】
本実施形態では、ストローク（オブジェクト）が入力された直後の処理が第２〜第４の実施形態と異なる。図１５は、入力されたストロークに対応するジェスチャコマンドが実行される様子の一例を示す図である。また、図１６は、ストロークが入力された際の情報処理装置１０１の処理の一例を説明するフローチャートである。
例えば、図１５（ａ）に示す画面１５０１のように、二次元表示されている右側の人物の顔を丸で囲むストローク１５０４が入力されると、図１６に示すフローチャートが実行される。
まず、ステップＳ１６０１において、レイヤ編集部１０５は、入力されたストロークに対応するジェスチャコマンドを、ジェスチャコマンドの辞書から検索する（図９を参照）。
次に、ステップＳ１６０２において、レイヤ編集部１０５は、入力されたストロークに対応するジェスチャコマンドがジェスチャコマンドの辞書に存在するか否かを判定する。
この判定の結果、ストロークに対応するジェスチャコマンドがジェスチャコマンドの辞書に存在する場合には、ステップＳ１６０３へ進み、存在しない場合には、ステップＳ１６０５へ進む。
【００４７】
ステップＳ１６０３に進むと、レイヤ編集部１０５は、ジェスチャコマンドフラグがtrueのジェスチャコマンドレイヤを生成して、入力されたストロークをジェスチャコマンドレイヤに所属させる。
次に、ステップＳ１６０４において、情報処理装置１０１は、ステップＳ１６０３でジェスチャコマンドレイヤに所属されたストロークに対応するジェスチャコマンドを実行する。図１５（ｂ）に示す画面１５０２は、ジェスチャコマンドが実行された後の様子の一例を示す。図１５（ｂ）の画面１５０２に示す右側の人物の顔１５０５は、図１５（ａ）の画面１５０１に示した右側の人物の顔よりもスリムに変形される。また、ジェスチャコマンドレイヤに所属されたストロークは、ジェスチャコマンドを実行した後の二次元表示の際には不可視とする。
【００４８】
ここで、ユーザが所定の操作を行うことにより、ビュー（view）を二次元表示から三次元表示に切り替える指示を行うと、図１５（ｂ）に示す画面１５０２から図１５（ｃ）に示す画面１５０３に表示が切り替わる。図１５（ｃ）に示すように、三次元のビューでは、実行済みのジェスチャコマンドレイヤ１５０６を表示し、入力したストロークと、そのストロークに対応するジェスチャコマンドの実行結果との双方をユーザに一度に確認させることができる。
図１６の説明に戻り、ステップＳ１６０２において、入力されたストロークに対応するジェスチャコマンドがジェスチャコマンドの辞書に存在しないと判定された場合には、ステップＳ１６０５に進む。ステップＳ１６０５に進むと、レイヤ編集部１０５は、入力されたストロークをコマンドレイヤフラグがfalseのアノテーションレイヤに所属させる。アノテーションレイヤに所属するストロークは、二次元表示の際にも表示される。
【００４９】
以上のように本実施形態では、ジェスチャコマンドに対応するストロークが入力されると、入力されたストロークを、ジェスチャコマンドフラグがtrueのジェスチャコマンドレイヤに所属させ、当該ストロークに対応するジェスチャコマンドを即時に実行する。そして、ジェスチャコマンドの実行結果を示す二次元表示を行う。その後、ユーザにより所定の指示があると、二次元表示を切り替えて、各レイヤに所属しているオブジェクトを、レイヤ毎に、三次元のレイヤ構造で表示する。したがって、前述した各実施形態で説明した効果に加え、ジェスチャの入力後、即時実行されるケースでも、重なりを持つアノテーション、ジェスチャコマンドを簡便に扱うことができるという効果が得られる。
【００５０】
（第６の実施形態）
次に、本発明の第６の実施形態について説明する。本実施形態では、一度オブジェクトに対して実行したジェスチャコマンドを別オブジェクトにもう一度実行する場合について説明する。このように本実施形態は、前述した第２〜第５の実施形態に対し、あるオブジェクトに対して実行したジェスチャコマンドを、ストロークの再度の入力を行うことなく、他のオブジェクトに対して実行する処理を追加したものとなる。したがって、本実施形態の説明において、前述した第１〜第５の実施形態と同一の部分については、図１〜図１６に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００５１】
図１７は、あるオブジェクトに対して実行したジェスチャコマンドを、ストロークの再度の入力を行うことなく、他のオブジェクトに対して実行する様子の一例を示す図である。また、図１８は、レイヤ管理テーブルの内容の一例を概念的に示す図である。
図１７（ａ）に示す画面１７０１は、第５の実施形態で説明した三次元表示（図１５（ｃ）に示した画面１５０３）を示す。
図１８（ａ）に示すレイヤ管理テーブル１８０１は、画面１７０１に対応するレイヤ管理テーブルである。領域１８０３に示すように、ジェスチャコマンドフラグがtrueのLayer＿2に丸ストロークが配置されており、画面１７０１では、右側の人物の顔がスリムに変形されている。
【００５２】
ここで、ユーザは、図１７（ｂ）の画面１７０２に示すように、Layer＿2のレイヤ１７０６に表示されている丸ストロークを左側の人物の顔上にドラッグアンドドロップする。そうすると、レイヤ編集部１０５は、ドロップしたｘ座標、ｙ座標と同じ位置にストロークが配置された新規のレイヤを生成し、三次元レイヤ提示部１０７は、その新規のレイヤを表示する（図１７（ｃ）に示す画面１７０３を参照）。新規に生成されたレイヤのジェスチャコマンドフラグはtrueである。情報処理装置１０１は、新規にジェスチャコマンドフラグが生成されるのと同時に、新規に生成されたレイヤに所属するストロークに対応するジェスチャコマンドを実行し、左側の人物の顔１７０５をスリムに変形させる。
【００５３】
図１８（ｂ）に示すレイヤ管理テーブル１８０２は、画面１７０３に対応するレイヤ管理テーブルである。領域１８０４、１８０５に示すように、右側の人物の顔をスリムにするジェスチャコマンドが所属するLayer＿2に加えて、左側の人物の顔をスリムにするジェスチャコマンドが所属するLayer＿3が生成される。
【００５４】
以上のように本実施形態では、ユーザは、ジェスチャコマンドフラグがtrueであるレイヤ１７０６に表示されているストロークを、ドラッグアンドドロップする。そうすると、当該レイヤ１７０６とは別に、当該ストロークが所属し、且つ、ジェスチャコマンドフラグがtrueであるレイヤ１７０４を新たに生成する。そして、レイヤ１７０４に所属するストローク（ジェスチャコマンド）に対応する処理を、当該ストロークと対向する位置にあるオブジェクトに対して実行する。したがって、前述した各実施形態で説明した効果に加え、ストロークを二度入力することなくジェスチャコマンドの再利用が行えるという効果が得られる。
【００５５】
（第７の実施形態）
次に、本発明の第７の実施形態について説明する。本実施形態では、一度オブジェクトに対して実行したジェスチャコマンドの適用先を変更する場合について説明する。このように本実施形態は、前述した第２〜第５の実施形態に対し、あるオブジェクトに対して実行したジェスチャコマンドを取り消し、他のオブジェクトに対して実行する処理を追加したものとなる。したがって、本実施形態の説明において、前述した第１〜第５の実施形態と同一の部分については、図１〜図１６に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００５６】
図１９は、あるオブジェクトに対して実行したジェスチャコマンドを取り消し、他のオブジェクトに対して当該ジェスチャコマンドを実行する様子の一例を示す図である。図２０は、レイヤ管理テーブルの内容の一例を概念的に示す図である。
図１９（ａ）に示す画面１９０１は、第５の実施形態で説明した三次元表示（図１５（ｃ）に示した画面１５０３）を示す。
図２０（ａ）に示すレイヤ管理テーブル２００１は、画面１９０１に対応するレイヤ管理テーブルである。領域２００４に示すように、ジェスチャコマンドフラグがtrueのLayer＿2に丸ストロークが配置されており、画面１９０１では、右側の人物の顔がスリムに変形されている。
【００５７】
ここで、本実施形態では、レイヤ編集部１０５は、図１９（ｂ）の画面１９０２に示すように、ユーザによるドラッグアンドドロップの操作に基づいて、丸ストロークを、ジェスチャコマンドフラグがfalseであるアノテーションレイヤへ移動する処理を行う。本実施形態では、ストロークへシングルクリックした後に、ドラッグ操作を入力するとストロークのレイヤ間の移動処理として扱い、何もせずにドラッグ操作を入力すると同一レイヤ上の移動処理として扱う。
図２０（ｂ）に示すレイヤ管理テーブル２００２は、画面１９０２に対応するレイヤ管理テーブルである。領域２００４に示すように、ジェスチャコマンドフラグがtrueのLayer＿2に所属していたストロークが、領域２００５に示すように、ジェスチャコマンドフラグがfalseのLayer＿1へ移動し、Layer＿2自体は削除される。この時点で、図１９（ｃ）に示す画面１９０３内の右側の人物の顔１９０５のように、当該右側の人物の顔に対するジェスチャコマンドの処理（顔をスリムにする処理）は取り消されるので、当該右側の人物の顔は、スリムに変形される前の状態に戻る。
【００５８】
以上のように、実行したジェスチャコマンドの取り消し操作は、ジェスチャコマンドフラグがtrueのレイヤからジェスチャコマンドフラグがfalseのレイヤへストロークを手動で移動することで行える。ただし、実行したジェスチャコマンドの取り消し操作は、このようなものに限定されない。例えば、別途のボタンやショートカットキーを設けておき、それらの入力によって、ストロークを移動させ、ジェスチャコマンドの取り消し操作が行われてもよい。
【００５９】
続いて、図１９（ｃ）に示す画面１９０３のように、ユーザは、アノテーションレイヤ１９０７上でストロークをドラッグアンドドロップして左側の人物の顔上へ移動させる。その際に、新たなジェスチャコマンドの適用先のオブジェクト（図１９に示す例では左側の人物の顔）に合わせて、別途ストロークに編集を加えてもよい。例えば、左側の人物の顔に合わせて、ストロークの拡大や縮小、回転等を行ってストロークのサイズや位置を調整することができる。これらストロークに対する編集操作は、画面上にボタンを設けておくことで行うことができる。ユーザが当該ボタンを押下することで編集モードを切り替えることにより、移動と同じストロークへのドラッグ操作で複数の編集操作を行える。
【００６０】
図１９（ｄ）に示す画面１９０４のように、ユーザは、移動させたストロークに対してシングルクリックを行った後、当該ストロークに対して、ｚ軸の負の方向へドラッグアンドドロップする。そうすると、第２の実施形態で説明した図１１のフローチャートによる処理を実行することで、ジェスチャコマンドフラグがtrueのレイヤ１９０８が生成され、表示される。本実施形態では、ジェスチャコマンドフラグがtrueのレイヤが生成された時点でジェスチャコマンドが実行されるものとする。これにより、スリムに変形された顔１９０６が表示される。
尚、図１９（ｂ）〜図１９（ｄ）に示す矢印は、説明の都合上、表記したものであり、画面１９０２〜１９０４に表示されるものではない。
【００６１】
以上のように本実施形態では、ストロークを入力し、当該ストロークと対向する位置にあるオブジェクトに対して、当該ストロークに係るジェスチャコマンドに対応する処理を実行する。その後、ユーザによるドラッグアンドドロップの操作に基づいて、当該ストロークを、ジェスチャコマンドフラグがfalseのレイヤに所属させ、当該レイヤを三次元のレイヤ構造で表示する。また、当該ストロークが所属していた、ジェスチャコマンドフラグがtrueのレイヤを削除し、当該ジェスチャコマンドに対応する処理を取り消す。その後、ジェスチャコマンドフラグがfalseのレイヤに表示されたストロークを、ユーザによるドラッグアンドドロップの操作に基づいて、当該レイヤの上で移動させる。そうすると、当該ストロークを、ジェスチャコマンドフラグがtrueのレイヤに所属させ、当該ストロークと対向する位置にあるオブジェクトに対して、当該ストロークに係るジェスチャコマンドに対応する処理を実行する。したがって、前述した各実施形態で説明した効果に加え、一度入力したジェスチャコマンドの適用先を別のオブジェクトに容易に且つ確実に変更することができるという効果が得られる。
【００６２】
（第８の実施形態）
次に、本発明の第８の実施形態について説明する。前述した第１〜第７の実施形態では、二次元表示されているオブジェクトや、ジェスチャコマンド（ストローク）を例に挙げて説明したが、これらの代わりに、三次元のオブジェクトや、三次元のジェスチャコマンド（ストローク）を用いてもよい。
図２１は、三次元で表示されたレイヤに三次元のオブジェクトを表示した様子の一例を示す図である。図２１に示す画面２１０１のように、三次元オブジェクト２１０２、２１０３を三次元で表示されたレイヤに表示し、三次元オブジェクト２１０２、２１０３に対してジェスチャコマンドに対応する処理を実行してもよい。このように、三次元のオブジェクトや、三次元のジェスチャコマンド（ストローク）についても、第１〜第７の実施形態で説明したのと同様に扱うことができる。
【００６３】
（第９の実施形態）
次に、本発明の第９の実施形態について説明する。前述した第１〜第８の実施形態では、三次元でレイヤを表示する場合を例に挙げて説明した。これに対し、本実施形態では、三次元でレイヤを表示せずに二次元での表示のみを行う場合について説明する。このように本実施形態と前述した第１〜第８の実施形態とは、三次元でレイヤを表示せずに二次元での表示のみを行うことによる処理が主として異なる。したがって、本実施形態の説明において、前述した第１〜第８の実施形態と同一の部分については、図１〜図２１に付した符号と同一の符号を付す等して詳細な説明を省略する。尚、本実施形態では、第６の実施形態（一度オブジェクトに対して実行したジェスチャコマンドを別のオブジェクトに対してもう一度実行する場合）において、三次元でレイヤを表示せずに二次元での表示のみを行う場合について説明する。
図２２は、三次元でレイヤを表示せずに二次元での表示のみを行って、一度オブジェクトに対して実行したジェスチャコマンドを別のオブジェクトに対してもう一度実行する様子の一例を示す図である。尚、本実施形態証されるレイヤ管理テーブルは、図１８に示したものと同じである。
【００６４】
尚、本実施形態においても、人物の顔を丸ストロークで囲むことが、顔をスリムに変形させるジェスチャコマンドコマンドに対応しているものとする。また、本実施形態では、ジェスチャコマンドフラグがtrueのジェスチャコマンドレイヤにストロークが入力された際に、当該ストロークに係るジェスチャコマンドに対応する処理の実行を行うものとする。
【００６５】
図２２（ａ）に示す画面２２０１では、右側の人物の顔を丸ストローク２２０５で囲み、顔をスリムに変形させる。このときのレイヤ管理テーブルは、図１８（ａ）に示したレイヤ管理テーブル１８０１のようになる。領域１８０３に示すように、丸ストロークは、ジェスチャコマンドフラグがtrueのLayer＿2に所属する。そのため、図２２（ｂ）の画面２２０２に示す右側の人物の顔２２０６のように、スリムに変形するジェスチャコマンドが実行された後では、ストローク２２０５は不可視になる。
【００６６】
この丸ストロークをもう一度別のオブジェクトへ利用する際には、ここで表示レイヤの変更処理を行う。表示レイヤの変更処理は、別途設けた所定のボタン等をユーザが押下することにより行われる。また、所定のボタンをユーザが押下するたびに表示レイヤをひとつずつ切り替えるようにしてもよい。また、その他の方法で表示レイヤの変更処理を行うようにしてもよい。
【００６７】
図２２（ｃ）に示す画面２２０３は、表示レイヤをLayer＿2に変更したことを示している。表示レイヤが変更すると不可視であった丸ストロークが表示される。ここでは、点線で表された人物の顔も背景として表示される。ユーザは、図２２（ｃ）に示す画面２２０３のように、表示レイヤをLayer＿2に変更した状態で、ジェスチャコマンドを再び実行したいオブジェクトに対して、丸ストロークをドラッグアンドドロップする。
【００６８】
そうすると、レイヤ管理テーブルは、図１８（ｂ）に示したレイヤ管理テーブル１８０２のようになる。領域１８０４に示すように、Layer＿2に保持されている丸ストロークはそのままで、領域１８０５に示すように、ジェスチャコマンドフラグがtrueのLayer＿3が新規に生成される。丸ストロークは、Layer＿3上の位置であって、Layer＿2上でドロップしたx座標、y座標と同じ位置にコピーされる。
【００６９】
Layer＿3が生成された後、ユーザが表示レイヤを元に戻す操作を行うと、図２２（ｄ）に示す画面２２０４のように、左側の人物の顔２２０７がスリムに変形する。
以上のように本実施形態では、表示対象のレイヤをユーザが指定し、指定したレイヤのオブジェクトを二次元での表示のまま表示するようにした。したがって、三次元でレイヤの表示を行わなくても第６の実施形態で説明した効果が得られる。
【００７０】
（第１０の実施形態）
次に、本発明の第１０の実施形態について説明する。前述した第９の実施形態では、第６の実施形態を前提として、三次元でレイヤを表示せずに二次元での表示のみを行う場合を例に挙げて説明した。これに対して、本実施形態では、第７の実施形態（一度オブジェクトに対して実行したジェスチャコマンドの適用先を変更する場合）において、三次元でレイヤを表示せずに二次元での表示のみを行う場合について説明する。
図２３は、三次元でレイヤを表示せずに二次元での表示のみを行って、一度オブジェクトに対して実行したジェスチャコマンドの適用先を変更する様子の一例を示す図である。尚、本実施形態で使用されるレイヤ管理テーブルは、図２０に示したものと同じである。
【００７１】
尚、本実施形態においても、人物の顔を丸ストロークで囲むことが、顔をスリムに変形させるジェスチャコマンドに対応しているものとする。また、本実施形態では、ジェスチャコマンドフラグがtrueのジェスチャコマンドレイヤにストロークが入力された際に、当該ストロークに係るジェスチャコマンドに対応する処理の実行を行うものとする。
【００７２】
図２３（ａ）に示す画面２３０１では、右側の人物の顔を丸ストローク２３０５で囲み、顔をスリムに変形させる。このときのレイヤ管理テーブルは図２０（ａ）に示したレイヤ管理テーブル２０の２００１のようになる。領域２００４に示すように、丸ストロークは、ジェスチャコマンドフラグがtrueのLayer＿2に所属する。そのため、図２３（ｂ）の画面２３０２に示す右側の人物の顔２３０６のように、スリムに変形するジェスチャコマンドが実行された後では、ストローク２３０５は不可視になる。
【００７３】
スリムに変形させるジェスチャコマンドを別のオブジェクトへ適用する際には、ここで適用先変更処理を行う。適用先変更処理は、UNDO処理と、新たな適用先へのドラッグアンドドロップとにより実行される。
ジェスチャコマンドを実行した後のUNDO処理は、ジェスチャコマンドフラグがtrueのレイヤからジェスチャコマンドフラグがfalseのレイヤへストロークを移動することである。そのため、図２３（ｂ）に示す画面２３０２の状態でUNDO処理を実行すると、図２３（ｃ）に示す画面２３０３のように、スリムの変形処理が取り消され、アノテーションとして丸ストロークが表示される。
【００７４】
このときのレイヤ管理テーブルは、図２０（ｂ）に示すレイヤ管理テーブル２００２のようになる。ストロークがなくなったLayer＿2は削除され、領域２００５に示すように、ジェスチャコマンドフラグがfalseのLayer＿1に丸ストロークが移動する。
UNDO処理の実行が終わり、ユーザが、図２３（ｃ）に示す画面２３０３の矢印の方向にストロークをドラッグアンドドロップすると、ストロークがジェスチャコマンドの実行対象のオブジェクト上へ移動する。ここで、ユーザが、ジェスチャコマンドの実行を指示すると、図２３（ｄ）に示す画面２３０４のように、左側の人物の顔２３０７がスリムに変形する。このときのレイヤ管理テーブルは、図２０（ｃ）に示したレイヤ管理テーブル２０の２００３のようになる。
ジェスチャコマンドは、別途用意したボタンの押下によって実行されてもよいし、ストロークに対応するジェスチャコマンドを開始するというジェスチャコマンドを用意しておき、そのジェスチャコマンドの入力によって実行されてもよい。また、その他の方法でジェスチャコマンドを実行してもよい。
【００７５】
以上のように本実施形態では、ジェスチャコマンドを実行した後、ジェスチャコマンドフラグがtrueのレイヤからジェスチャコマンドフラグがfalseのレイヤへ、当該ジェスチャコマンドに係るストロークを移動する。これにより、ジェスチャコマンドを実行する前の二次元での表示状態に戻る。その後、ユーザがストロークを別のオブジェクトの方向へドラッグアンドドロップすると、当該オブジェクトに対して当該ストロークに係るジェスチャコマンドに対応する処理を実行する。このとき、ジェスチャコマンドフラグがtrueのレイヤを生成し、生成したレイヤにドラッグアンドドロップしたストロークを所属させる。したがって、三次元でレイヤの表示を行わなくても第７の実施形態で説明した効果が得られる。
【００７６】
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００７７】
（その他の実施例）
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００７８】
１０１  情報処理装置、１０２  入力装置、１０３  出力装置
【図１】
2011128962.tif 000003
【図２】
2011128962.tif 000004
【図３】
2011128962.tif 000005
【図４】
2011128962.tif 000006
【図５】
2011128962.tif 000007
【図６】
2011128962.tif 000008
【図７】
2011128962.tif 000009
【図８】
2011128962.tif 000010
【図９】
2011128962.tif 000011
【図１０】
2011128962.tif 000012
【図１１】
2011128962.tif 000013
【図１２】
2011128962.tif 000014
【図１３】
2011128962.tif 000015
【図１４】
2011128962.tif 000016
【図１５】
2011128962.tif 000017
【図１６】
2011128962.tif 000018
【図１７】
2011128962.tif 000019
【図１８】
2011128962.tif 000020
【図１９】
2011128962.tif 000021
【図２０】
2011128962.tif 000022
【図２１】
2011128962.tif 000023
【図２２】
2011128962.tif 000024
【図２３】
2011128962.tif 000025