(57)【要約】【課題】ディスプレイ上で複数の画像間のレイアウト変更を行う際の作業効率を高める手段を提供する。【解決手段】ユーザはマルチタッチディスプレイに表示された画像９２〜９５をグループ化した後、グループ内のいずれかの画像（例えば画像９２）を第１の指でタッチしドラッグすることで、グループ内の全ての画像を一度に移動できる。その際、グループ内の画像には同じタッチＩＤがセットされる。第１の指によるタッチが維持された状態において、ユーザが第２の指でグループ内のいずれかの画像（画像９５とする）にタッチすると、画像９５に対し新たなタッチＩＤがセットされる。その後、第２の指のドラッグ操作により、画像９５はグループ内の他の画像とは個別に移動可能となる。第２の指をマルチタッチディスプレイから離すと、画像９５にセットされたタッチＩＤは元のタッチＩＤにリセットされ、画像９５は再び第１の指のドラッグ操作に従い移動可能となる。【選択図】図８
2014048894.tif 000002
【特許請求の範囲】
【請求項１】
画像を表示する表示手段と前記表示手段に表示された画像に対するタッチ操作を検出する検出手段とを備えるタッチディスプレイとの間でデータの受け渡しを行う入出力手段と、
前記表示手段に表示される複数の画像をグループ化し、前記検出手段が前記グループ化されている複数の画像のうちの任意の画像である第１の画像に対する第１のタッチ操作のタッチ位置の移動を検出した場合、前記グループ化されている複数の画像の表示位置が前記第１のタッチ操作のタッチ位置の移動に各々追従するように前記表示手段を制御し、前記検出手段が前記グループ化されている複数の画像のうちの任意の画像であるの第２の画像に対する前記第１のタッチ操作とは異なる第２のタッチ操作のタッチ位置の移動を検出した場合、前記第２の画像の表示位置が、前記グループ化されている複数の画像のうちの前記第２の画像以外の画像とは独立に、前記第２のタッチ操作のタッチ位置の移動に追従するように前記表示手段を制御する制御手段と
を備えたことを特徴とする表示制御装置。
【請求項２】
前記制御手段は、前記検出手段が前記第２のタッチ操作の検出を終了した場合、前記第２の画像の表示位置が再び前記第１のタッチ操作のタッチ位置の移動に追従するように前記表示位置を制御する
ことを特徴とする請求項１に記載の表示制御装置。
【請求項３】
前記制御手段は、前記検出手段が前記第１のタッチ操作の検出を継続している間に前記検出手段が前記グループ化されている複数の画像のうちの任意の画像に対する新たなタッチ操作を検出した場合、当該新たなタッチ操作を前記第２のタッチ操作であると判定する
請求項１または２に記載の表示制御装置。
【請求項４】
前記制御手段は、前記複数の画像が属するグループを第１のグループとするとき、前記第２の画像が前記第１のグループとは異なるグループである第２のグループにも属する場合、前記第２のタッチ操作に応じて、前記第２のグループに属する複数の画像の表示位置が、前記第２のタッチ操作のタッチ位置の移動に追従するように前記表示手段を制御する
請求項１乃至３のいずれか１項に記載の表示制御装置。
【請求項５】
前記タッチディスプレイを備える
請求項１乃至４のいずれか１項に記載の表示制御装置。
【請求項６】
画像を表示する表示手段と前記表示手段に表示された画像に対するタッチ操作を検出する検出手段とを備えるタッチディスプレイとの間でデータの受け渡しを行う入出力手段を備えるコンピュータに、
前記表示手段に表示される複数の画像をグループ化する処理と、
前記検出手段が前記グループ化している複数の画像のうちの任意の画像である第１の画像に対する第１のタッチ操作のタッチ位置の移動を検出した場合、前記グループ化している複数の画像の表示位置が前記第１のタッチ操作のタッチ位置の移動に各々追従するように前記表示手段を制御する処理と、
前記検出手段が前記グループ化している複数の画像のうちの任意の画像であるの第２の画像に対する前記第１のタッチ操作とは異なる第２のタッチ操作のタッチ位置の移動を検出した場合、前記第２の画像の表示位置が、前記グループ化している複数の画像のうちの前記第２の画像以外の画像とは独立に、前記第２のタッチ操作のタッチ位置の移動に追従するように前記表示手段を制御する処理と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの操作に応じて画像の表示位置を移動可能とする技術に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータ及び各種ソフトウェアの能力の向上により、ディスプレイに多数のオブジェクトを示す画像を複数表示し、それらに対してユーザがマウス等のポインティングデバイスを用いた各種操作を行うように構成したソフトウェアが広く知られている。この種のソフトウェアとして、例えば、非特許文献１には、ＤＳＰ（Digital Signal Processor）を搭載した信号処理装置にて実行される信号処理の内容をＣＡＤ（Computer Aided Design）にて設計するソフトウェア（ＣＡＤプログラム）が開示されている。こういったソフトウェアを用いてユーザが作業を行う際、ディスプレイには設計要素である複数のオブジェクトが同時に表示されることとなる。そのため、ユーザは、作業の効率上、あるいは表示されたオブジェクトの視認性の向上等のため、ディスプレイに表示された複数のオブジェクトの配置（レイアウト）を変更する操作を行うことが通常である。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ヤマハ株式会社、“DME Designer Version 4.0  取扱説明書”、［online］、平成23年、［平成24年8月17日検索］、インターネット〈URL：http://www2.yamaha.co.jp/manual/pdf/pa/japan/signal/dme#designer#om#ja#v40#g0.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００４】
図１０は、上記ＣＡＤの画面の一例を模式的に示した図である。図１０では、ディスプレイには９つのオブジェクト（９１〜９９）が表示されるとともに、それらを相互に接続する結線が表示されている。ユーザは、例えば、一部のオブジェクト（例えばオブジェクト９２、９４、９６、９８）を、それらの相対的な位置関係は変更せずに右に移動したり、あるいはさらにその中の一部のオブジェクト（例えばオブジェクト９８）の位置を微調整したうえで再度、先の一部のオブジェクト（例えばオブジェクト９２、９４、９６、９８）をまとめて左に移動したりする。このような操作は、ディスプレイに表示されるオブジェクトの数量あるいは作業過程等の都合で頻繁に行なわれるため、直感的かつ効率的な操作性が求められている。
【０００５】
本発明は上記の事情に鑑み、ディスプレイ上で複数の画像間のレイアウト変更を行う際、その作業効率を高める手段を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決するため、本発明は、画像を表示する表示手段と前記表示手段に表示された画像に対するタッチ操作を検出する検出手段とを備えるタッチディスプレイとの間でデータの受け渡しを行う入出力手段と、  前記表示手段に表示される複数の画像をグループ化し、前記検出手段が前記グループ化されている複数の画像のうちの任意の画像である第１の画像に対する第１のタッチ操作のタッチ位置の移動を検出した場合、前記グループ化されている複数の画像の表示位置が前記第１のタッチ操作のタッチ位置の移動に各々追従するように前記表示手段を制御し、前記検出手段が前記グループ化されている複数の画像のうちの任意の画像であるの第２の画像に対する前記第１のタッチ操作とは異なる第２のタッチ操作のタッチ位置の移動を検出した場合、前記第２の画像の表示位置が、前記グループ化されている複数の画像のうちの前記第２の画像以外の画像とは独立に、前記第２のタッチ操作のタッチ位置の移動に追従するように前記表示手段を制御する制御手段とを備えたことを特徴とする表示制御装置を提供する。
【０００７】
また、上述した表示制御装置において、前記制御手段は、前記検出手段が前記第２のタッチ操作の検出を終了した場合、前記第２の画像の表示位置が再び前記第１のタッチ操作のタッチ位置の移動に追従するように前記表示位置を制御する、という構成が採用されてもよい。
【０００８】
また、上述した表示制御装置において、前記制御手段は、前記検出手段が前記第１のタッチ操作の検出を継続している間に前記検出手段が前記グループ化されている複数の画像のうちの任意の画像に対する新たなタッチ操作を検出した場合、当該新たなタッチ操作を前記第２のタッチ操作であると判定する、という構成が採用されてもよい。
【０００９】
また、上述した表示制御装置において、前記制御手段は、前記複数の画像が属するグループを第１のグループとするとき、前記第２の画像が前記第１のグループとは異なるグループである第２のグループにも属する場合、前記第２のタッチ操作に応じて、前記第２のグループに属する複数の画像の表示位置が、前記第２のタッチ操作のタッチ位置の移動に追従するように前記表示手段を制御する、という構成が採用されてもよい。
【００１０】
また、上述した表示制御装置において、前記タッチディスプレイを備える、という構成が採用されてもよい。
【００１１】
また、本発明は、画像を表示する表示手段と前記表示手段に表示された画像に対するタッチ操作を検出する検出手段とを備えるタッチディスプレイとの間でデータの受け渡しを行う入出力手段を備えるコンピュータに、前記表示手段に表示される複数の画像をグループ化する処理と、前記検出手段が前記グループ化している複数の画像のうちの任意の画像である第１の画像に対する第１のタッチ操作のタッチ位置の移動を検出した場合、前記グループ化している複数の画像の表示位置が前記第１のタッチ操作のタッチ位置の移動に各々追従するように前記表示手段を制御する処理と、前記検出手段が前記グループ化している複数の画像のうちの任意の画像であるの第２の画像に対する前記第１のタッチ操作とは異なる第２のタッチ操作のタッチ位置の移動を検出した場合、前記第２の画像の表示位置が、前記グループ化している複数の画像のうちの前記第２の画像以外の画像とは独立に、前記第２のタッチ操作のタッチ位置の移動に追従するように前記表示手段を制御する処理とを実行させるためのプログラムを提供する。
【発明の効果】
【００１２】
本発明によれば、ユーザは複数の画像をグループ化し、グループ化されている複数の画像を一度に移動させる操作と、グループ化されている複数の画像のうちの一部の画像を個別に移動させる操作とを使い分けることができる。そのため、グループ全体の表示位置を変更するとともに、グループ内の個々の画像の表示位置を調整したい、といった場合、ユーザはそのための操作をスムーズかつ直感的に行うことができ、作業効率がよい。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態にかかるシステムの構成を示したブロック図である。
【図２】本発明の一実施形態にかかるシステムにおいて用いられるオブジェクトのデータ構成を模式的に示した図である。
【図３】本発明の一実施形態にかかるシステムにおいて用いられるタッチデータの構造を模式的に示した図である。
【図４】本発明の一実施形態にかかるシステムにおいてタッチが検出された際に実行される処理の概要を示したフロー図である。
【図５】本発明の一実施形態にかかるシステムにおいて用いられるタッチ管理データベースのデータ構造を模式的に示した図である。
【図６】本発明の一実施形態にかかるシステムにおいてタッチ位置の移動が検出された際に実行される処理の概要を示したフロー図である。
【図７】本発明の一実施形態にかかるシステムにおいてタッチの終了が検出された際に実行される処理の概要を示したフロー図である。
【図８】本発明の一実施形態にかかるシステムにおいて画像のレイアウト変更が行われる際の設計画面を示した図である。
【図９】本発明の一実施形態にかかるシステムにおいてパラメータに連動した画像のレイアウト変更が行われる際の画面を示した図である。
【図１０】ＣＡＤプログラムの設計画面の一例を模式的に示した図である。
【発明を実施するための形態】
【００１４】
［実施形態］
以下に、図面を参照しながら本発明の実施形態について説明する。図１は、本実施形態にかかるシステム１の構成を示したブロック図である。システム１は、ＣＡＤプログラムに従いデータ処理を行うことで、信号処理装置の構成を設計するためのＣＡＤ装置として機能するＰＣ（Personal Computer）１１と、ユーザに対し各種画像を表示するとともにユーザのタッチ操作を受け付けることでＰＣ１１に対するユーザインタフェースとして機能するマルチタッチディスプレイ１２を備えている。
【００１５】
ＰＣ１１は、ＢＩＯＳ（Basic Input/Output System）やＯＳ（Operating System）およびアプリケーションプログラム（例えばＣＡＤプログラム）等に従い各種演算を行うとともに他の構成部を制御するＣＰＵ（Central Processing Unit）１１１（制御手段）、上記ＢＩＯＳ、ＯＳ、アプリケーションプログラムや各種データ等を記憶するＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）あるいはハードディスクや光学ディスク、フラッシュメモリ等を含むメモリ１１２、マルチタッチディスプレイ１２により表示される画像を示す画像データを生成するＧＰＵ（Graphics Processing Unit）１１３、ＧＰＵ１１３により生成された画像データをマルチタッチディスプレイ１２に対し出力する画像データ出力Ｉ／Ｆ（Interface）１１４（操作データ入力Ｉ／Ｆ１１５とともに入出力手段を構成）、ユーザのタッチ操作を示す操作データをマルチタッチディスプレイ１２から受け取る操作データ入力Ｉ／Ｆ１１５（画像データ出力Ｉ／Ｆ１１４とともに入出力手段を構成）、外部機器との間で各種データを入出力する入出力Ｉ／Ｆ１１６を備えている。
【００１６】
なお、メモリ１１２には、主としてＣＰＵ１１１が一時的にデータを記憶するワーキングエリアとして利用する記憶装置（ＲＡＭ）あるいは記憶領域が含まれる。また、ＣＰＵ１１１がＧＰＵ１１３、画像データ出力Ｉ／Ｆ１１４、操作データ入力Ｉ／Ｆ１１５、入出力Ｉ／Ｆ１１６の機能を兼ね備えていても良く、これらとメモリ１１２を含む各構成が適宜組み合わされて実装されていてもよい。
【００１７】
マルチタッチディスプレイ１２（タッチディスプレイ）は、ＰＣ１１から入力されてくる画像データに従い画像を表示するディスプレイ１２１（表示手段）と、ディスプレイ１２１に対しユーザのタッチ操作が１乃至複数行われた際にそのタッチ操作をそれぞれ検出するタッチパネル１２２（検出手段）を備えている。ディスプレイ１２１は例えば液晶ディスプレイパネルであるが、その表示方式は液晶ディスプレイパネルに限られない。タッチパネル１２２は例えば静電容量方式のマルチタッチセンサを備えたパネルであり、ユーザの手指等がタッチパネル１２２に近接乃至接触することによる静電容量の変化に基づき、同時に複数の接触点の位置等を個別に検出することができる。
【００１８】
なお、タッチパネル１２２は静電容量方式に限らず、マトリクス・スイッチ、抵抗膜方式、赤外線方式等の他種のタッチセンサを備えた方式、あるいは操作面を撮影した画像を解析する方式等、多点の接触を個別に検出することができればその方式は問わない。また、以下の説明ではタッチ操作に用いられるポインタはユーザの指であるものとするが、例えばスタイラスなどの指以外のポインタによりタッチ操作が行われてもよい。
【００１９】
本実施形態において、ＰＣ１１はＣＡＤプログラムに従い、信号処理装置において実行される信号処理の構成（内容）を示す構成データを生成する。ＣＡＤプログラムにおいて、図１０に例示した従来のものと同様に、ユーザは信号処理要素（例えば、エフェクタ等）を示すＣＡＤのオブジェクト（以下、単に「オブジェクト」と呼ぶ）を設計画面上に配置してゆき、配置された各オブジェクトの間を適宜結線し接続することで、信号処理装置において実行される信号処理の構成を設計する。
【００２０】
なお、詳細な説明は省略するが、設計された信号処理の構成を示す構成データはファイルとしてメモリ１１２に保存され、適宜読み出されて、入出力Ｉ／Ｆ１１６を介して外部機器（信号処理装置等）に出力され、当該外部機器に対する当該データに基づく動作指示や設定指示に用いられる。
【００２１】
図２は、ＣＡＤプログラムに従いＰＣ１１が生成し管理するオブジェクトのデータ（プロパティデータ）の構成を模式的に示した図である。オブジェクトは各々、プロパティデータとして、オブジェクトを一意に識別するオブジェクトＩＤ（Identifier）、オブジェクトのディスプレイ１２１における表示位置を座標で示す表示位置データ、オブジェクトが属するグループを一意に識別するグループＩＤ、オブジェクトがユーザのタッチ操作により選択されている場合にそのタッチ操作に対応するタッチＩＤ、オブジェクトの画像を示す画像データのファイル名や表示態様等を示す表示パラメータ、オブジェクトが示す音響システムの要素に設定されている各種パラメータ等のその他属性値を保持している。ＣＡＤプログラムは、各オブジェクトのプロパティデータをメモリ１１２上のオブジェクト管理データベース（図示略）にて管理する。
【００２２】
オブジェクトが保持する表示位置データは、例えばディスプレイ１２１の左上を原点（０，０）とし、右方向をＸ軸の正方向、下方向をＹ軸の正方向とする座標値により、オブジェクトの画像の左上の点の位置を示す。
【００２３】
グループＩＤは複数のオブジェクトをグループ化する操作がなされた際、ＣＡＤプログラムが当該グループを一意に識別する識別子であり、グループ化がなされる都度、各グループに対して付与され、グループのメンバとして選択されたオブジェクトの各々にセットされる。後述するように１つのオブジェクトはグループＩＤを複数保持する場合がある。
【００２４】
タッチＩＤはそのオブジェクトの画像に対してユーザがタッチ操作を行った際にセットされる。この実施形態では、１つのオブジェクトは単一のタッチ操作に対応するものとし、オブジェクトにセットされるタッチＩＤは最大で１つである。
【００２５】
ＣＰＵ１１１は、タッチパネル１２２からタッチ操作の検出を示す操作データを受け取った場合、ＯＳに従いタッチ検出イベントを発生させるとともに、検出されたタッチ操作を管理するタッチデータをメモリ１１２上に一時的に生成する。図３はタッチデータの構造を模式的に示した図である。タッチデータは、個々のタッチ操作を一意に識別するタッチＩＤ、現在のタッチ位置を座標値で示すタッチ位置データ、および必要に応じてその他属性値を保持している。
【００２６】
ＣＰＵ１１１は、タッチパネル１２２からタッチ位置の移動を示す操作データを受け取った場合、ＯＳに従いタッチ位置移動イベントを発生させるとともに、対応するタッチデータのタッチ位置データを順次更新する。また、ＣＰＵ１１１は、タッチパネル１２２からタッチ操作の終了を示す操作データを受け取った場合、ＯＳに従いタッチ終了イベントを発生させるとともに、メモリ１１２上から対応するタッチデータを削除する。ＣＰＵ１１１はＯＳに従いタッチ検出イベント、タッチ位置移動イベント、もしくはタッチ終了イベントを発生させるとともに、ＣＡＤプログラムのイベントハンドラに従いこれらイベントの発生を検出し、検出したイベントに応じた処理を行う。
【００２７】
図４は、ＣＰＵ１１１がＣＡＤプログラムに従い、ＣＡＤプログラムが管理するオブジェクトの画像に対するタッチ操作に伴いタッチ検出イベントが発生した際に実行されるイベントハンドラの処理の概要を示したフロー図である。まず、タッチ検出イベントが発生すると（Ｓ１０１）、ＣＰＵ１１１はそのタッチ検出イベントに対応するタッチデータに含まれるタッチＩＤおよびタッチ位置データを取得する（Ｓ１０２）。ＣＰＵ１１１はステップＳ１０２において取得したタッチＩＤおよびタッチ位置データをタッチ管理データベースに格納する（Ｓ１０３）。
【００２８】
図５はタッチ管理データベースのデータ構造を模式的に示した図である。タッチ管理データベースは、ＣＡＤプログラムが各タッチ操作に応じた情報を管理するためのデータレコード（タッチ管理データ）の集まりであり、メモリ１１２に記憶されている。タッチ管理データベースの各データレコードは、「タッチＩＤ」、「タッチ位置データ」および「グループＩＤ」をデータフィールドとして含んでいる。ＣＰＵ１１１はステップＳ１０２においてタッチＩＤおよびタッチ位置データを取得すると、タッチ管理データベースに新たなデータレコードを追加し、そのデータレコードの対応するデータフィールドに取得したタッチＩＤおよびタッチ位置データを格納する。
【００２９】
続いて、ＣＰＵ１１は、タッチ検出イベントが発生したオブジェクト（以下、「タッチされたオブジェクト」という）のプロパティデータ等に基づいて、当該タッチ検出イベントに対応するタッチ操作のタッチＩＤを関連付けるグループＩＤと当該タッチＩＤをセットすべきオブジェクトとを特定する（Ｓ１０４）。このステップＳ１０４におけるグループＩＤ乃至オブジェクトの特定については後述する。
【００３０】
続いて、ＣＰＵ１１１は、ステップＳ１０２で取得したタッチＩＤを、ステップＳ１０４にて特定した各オブジェクトにセットする（Ｓ１０５）。続いて、ＣＰＵ１１１はＳ１０２で取得したタッチＩＤを検索キーとしてタッチ管理データベースからデータレコードを検索し、そのデータレコードのデータフィールド「グループＩＤ」に、ステップＳ１０４において特定したグループＩＤを格納し（Ｓ１０６）、一連の処理を終了する。
【００３１】
なお、タッチされたオブジェクトに対して既に他のタッチ検出イベントが発生していた場合（同じオブジェクトに対して複数回のタッチがなされた場合）は、２回目以降のタッチ検出イベントの発生に応じた上記イベントハンドラの処理は実行されないものとする。
【００３２】
図６は、タッチされたオブジェクトにて、タッチ位置移動イベントが発生した際に、ＣＰＵ１１１において、ＣＡＤプログラムに従い実行されるイベントハンドラの処理の概要を示したフロー図である。まず、タッチ位置移動イベントが発生すると（Ｓ２０１）、ＣＰＵ１１１はそのタッチ位置移動イベントに対応するタッチデータに含まれるタッチＩＤおよびタッチ位置データを取得する（Ｓ２０２）。
【００３３】
続いて、ＣＰＵ１１１はステップＳ２０２において取得したタッチＩＤを検索キーとしてタッチ管理データベースからデータレコードを検索し、そのデータレコードのデータフィールド「タッチ位置データ」から過去のタッチ位置データを読み出す（Ｓ２０３）。ＣＰＵ１１１は、ステップＳ２０２で取得したタッチ位置データが示す現在のタッチ位置と、ステップＳ２０３で読み出したタッチ位置データが示す過去のタッチ位置とを比較し、タッチ位置の変化量（例えばＸ軸方向、Ｙ軸方向それぞれの移動距離）を算出する（Ｓ２０４）。
【００３４】
続いて、ＣＰＵ１１１はステップＳ２０２で取得したタッチＩＤを保持するオブジェクトをオブジェクト管理データベースにて検索し、該当する全てのオブジェクトに関し、表示位置データが示す座標値の各要素値にステップＳ２０４で算出した変化量を加算し（Ｓ２０５）、一連の処理を終了する。ステップＳ２０５の処理により、タッチされたオブジェクトもしくはオブジェクト群（グループ）の画像の表示位置が、タッチ位置の移動に応じて移動することになる。
【００３５】
図７は、タッチされたオブジェクトにて、タッチ終了イベントが発生した際に、ＣＰＵ１１１において、ＣＡＤプログラムに従い実行されるイベントハンドラの処理の概要を示したフロー図である。まず、タッチ終了イベントが発生すると（Ｓ３０１）、ＣＰＵ１１１はそのタッチ終了イベントに対応するタッチデータに含まれるタッチＩＤを取得する（Ｓ３０２）。続いて、ＣＰＵ１１１はステップＳ３０２で取得したタッチＩＤを保持するオブジェクトをオブジェクト管理データベースにて検索し、該当する全てのオブジェクトに関し、プロパティデータから当該タッチＩＤをクリアする（Ｓ３０３）。
【００３６】
続いて、ＣＰＵ１１１は、タッチ終了イベントが発生したオブジェクト（以下「タッチされていたオブジェクト」）のプロパティデータ等に基づいて、タッチＩＤがクリアされた各オブジェクトのタッチＩＤをリセットする（Ｓ３０４）。ステップＳ３０４において行われるタッチＩＤのリセットについては後述する。続いて、ＣＰＵ１１１は、ステップＳ３０２において取得したタッチＩＤを検索キーとしてタッチ管理データベースからデータレコードを検索し、そのデータレコードをタッチ管理データベースから削除し（Ｓ３０５）、一連の処理を終了する。なお、タッチ終了イベントの発生に伴い、ＣＰＵ１１１はＯＳに従いそのタッチ操作のタッチＩＤをクリアするため、その後、他の新たなタッチ操作の識別にそのタッチＩＤが再利用可能となる。
【００３７】
ここで、上記タッチ検出イベントのイベントハンドラにおけるグループ乃至オブジェクトの特定、およびタッチ終了イベントのイベントハンドラにおけるタッチＩＤのリセットの態様について説明する。
【００３８】
この実施形態では、グループは入れ子にする（あるオブジェクトが複数のグループに同時に属する）ことができ、１のグループは他のグループを包含することができるものとする。グループが入れ子関係にある場合、複数のグループおよびオブジェクトは階層関係となり、他のグループを包含しているグループを「上位グループ」、他のグループに包含されているグループを「下位グループ」、他の何れのグループにも包含されていないグループを「最上位グループ」、他の何れのグループも包含していないグループを「最下位グループ」と呼ぶ。あるオブジェクトが複数のグループに属する場合（すなわち入れ子関係にある複数のグループに属する場合）、当該オブジェクトのプロパティデータには複数のグループＩＤが保持されることになる。
【００３９】
この実施形態において、タッチ検出イベントが発生した際は、ＣＰＵ１１１はＣＡＤプログラムに従い、複数のオブジェクトとそれをグループ化したグループの包含関係およびタッチ操作の状況に基づいて、検出したタッチ操作に応じた移動対象のグループ乃至オブジェクトを特定し、特定した移動対象のオブジェクトに検出したタッチのタッチＩＤをセットする。
【００４０】
すなわち、ＣＰＵ１１１は、（１）タッチされたオブジェクトにタッチＩＤがセットされていなければ、そのオブジェクトが属する最上位のグループを移動対象として特定し、（２）タッチされたオブジェクトに既に他のタッチＩＤがセットされていれば、その他のタッチＩＤに関連付けられているグループの下位グループを移動対象として特定し、（３）特定すべきグループが存在しない場合（そもそもグループ化されていない、または（２）の場合にて既にセットされている他のタッチＩＤに関連付けられているグループが最下位のグループである場合）は、タッチされたオブジェクトのみを移動対象として特定し、これらの特定したオブジェクトに検出したタッチのタッチＩＤをセットする。
【００４１】
一方、タッチ終了イベントが発生した際は、ＣＰＵ１１１はＣＡＤプログラムに従い、上記の特定の仕方とは逆の態様にてタッチＩＤのリセットを行う。すなわち、ＣＰＵ１１１は、（４）終了したタッチのタッチＩＤがセットされていたオブジェクトが、終了したタッチのタッチＩＤがセットされていたグループより上位のグループに属していれば、その上位のグループに関連づけられているタッチＩＤをそのオブジェクトにリセットし、（５）終了したタッチのタッチＩＤがセットされていたオブジェクトが、終了したタッチのタッチＩＤがセットされていたグループより上位のグループに属していない場合（そもそもグループ化されていない、または終了したタッチのタッチＩＤがセットされていたグループが最上位のグループであった場合）は、タッチＩＤをクリアしたまま、タッチＩＤのリセットは行わない。
【００４２】
上記のようなＣＰＵ１１１のイベントハンドラに従った処理により、音響システムの設計画面においてオブジェクトの画像のレイアウト変更の操作が行われる様子を以下に説明する。図８において、４つのオブジェクト９２〜９５にそれぞれ対応する４つの画像が配置されており、オブジェクト９２〜９５がグループＧ１としてグループ化され、さらにグループＧ１はオブジェクト９３、９４をグループ化したグループＧ２を包含している。
【００４３】
図８（ａ）の状態にてオブジェクト９２をユーザがタッチ（タッチ操作Ｔ１）し、図８（ｂ）の矢印Ａ１で示されるタッチ位置移動操作（ドラッグ）を行うと、まずオブジェクト９２においてタッチ検出イベントが発生し、続いてオブジェクト９２においてタッチ位置移動イベントが発生する。
【００４４】
オブジェクト９２にて発生したタッチ検出イベントに応じて、ＣＰＵ１１１は図４に示したイベントハンドラ処理を実行する。この場合、タッチされたオブジェクト９２が属する最上位のグループであるグループＧ１が特定され、このグループＧ１に属する全てのオブジェクトであるオブジェクト９２〜９５のプロパティデータにタッチ操作Ｔ１を示すタッチＩＤがセットされる（上記（１）の態様）。また、タッチ操作Ｔ１に対応するタッチ管理データがタッチ管理データベースに登録され、そのタッチ管理データにグループＧ１のグループＩＤが格納されることにより、タッチ操作Ｔ１にグループＧ１が関連付けられる。
【００４５】
続いてオブジェクト９２において発生するタッチ位置移動イベントに応じて、ＣＰＵ１１１は図６に示したイベントハンドラ処理を実行する。この場合、タッチ位置移動イベントに対応するタッチデータからタッチ操作Ｔ１を示すタッチＩＤが取得され、当該タッチＩＤがセットされた各オブジェクト（オブジェクト９２〜９５）が図８（ｂ）の破線で示した位置から実線で示した位置へ各々移動することになる。
【００４６】
なお、設計画面においては、音響システムのオブジェクトの画像が移動されると、移動された画像に結線されている音響ケーブルを示す線の始点もしくは終点の位置も連動して変化する。
【００４７】
図８（ｂ）の実線で示した位置に各オブジェクトが再配置された状態にて、ユーザがタッチ操作Ｔ１を図８（ｃ）の点Ｐ１で示される位置で維持したまま（オブジェクト９２をタッチしたまま）、オブジェクト９５をタッチ（タッチ操作Ｔ２）し、図８（ｃ）の矢印Ａ２で示されるタッチ位置移動操作（ドラッグ）を行うと、まずオブジェクト９５においてタッチ検出イベントが発生し、続いてオブジェクト９５においてタッチ位置移動イベントが発生する。
【００４８】
オブジェクト９５にて発生したタッチ検出イベントに応じて、ＣＰＵ１１１は図４に示したイベントハンドラ処理を実行する。この場合、タッチされたオブジェクト９５のプロパティデータのタッチＩＤのみが、タッチ操作Ｔ１を示すものからタッチ操作Ｔ２を示すものに更新される（上記（３）の態様）。また、タッチ操作Ｔ２に対応するタッチデータの情報がタッチ管理データベースに登録されるが、タッチ操作Ｔ２には何れのグループのグループＩＤも関連付けられない。これによりオブジェクト９５は、一時的にグループＧ１内の他のオブジェクトとは個別に移動可能となる。
【００４９】
続いてオブジェクト９５において発生するタッチ位置移動イベントに応じて、ＣＰＵ１１１は図６に示したイベントハンドラ処理を実行する。この場合、タッチ位置移動イベントに対応するタッチデータからタッチ操作Ｔ２を示すタッチＩＤが取得され、当該タッチＩＤがセットされた各オブジェクト（オブジェクト９５）が図８（ｃ）の破線で示した位置から実線で示した位置へ移動する。
【００５０】
その後、ユーザがオブジェクト９５へのタッチを終了すると、オブジェクト９５においてタッチ終了イベントが発生する。オブジェクト９５において発生したタッチ終了イベントに応じて、ＣＰＵ１１１は図７に示したイベントハンドラ処理を実行する。この場合、オブジェクト９５のプロパティデータに、オブジェクト９５の属するグループＧ１と関連付けられているタッチ操作Ｔ１のタッチＩＤがリセットされる（上記（４）の態様）。これにより、オブジェクト９５が再度、グループＧ１に関連付けられているタッチ操作Ｔ１の移動操作に応じて移動するようになる。その後、ＣＰＵ１１１はタッチ操作Ｔ２に対応するデータレコードをタッチ管理データベースから削除する。
【００５１】
図８（ｃ）の実線で示した位置に各オブジェクトが再配置された状態にて、ユーザがタッチ操作Ｔ１を図８（ｄ）の点Ｐ１で示される位置に維持したまま（オブジェクト９２をタッチしたまま）、オブジェクト９３をタッチ（タッチ操作Ｔ３）し、図８（ｄ）の矢印Ａ３で示されるタッチ位置移動操作（ドラッグ）を行うと、まずオブジェクト９３においてタッチ検出イベントが発生し、続いてオブジェクト９３においてタッチ位置移動イベントが発生する。
【００５２】
オブジェクト９３にて発生したタッチ検出イベントに応じてＣＰＵ１１１は図４に示したイベントハンドラ処理を実行する。この場合、タッチされたオブジェクト９３が属するグループのうち、グループＧ１の一つ下位のグループであるグループＧ２が特定され、このグループＧ２に属する全てのオブジェクトであるオブジェクト９３、９４のプロパティデータにタッチ操作Ｔ３を示すタッチＩＤがセットされる（上記（２）の態様）。また、タッチ操作Ｔ３に対応するタッチデータの情報がタッチ管理データベースに登録され、タッチ操作Ｔ３にはグループＧ２を示すグループＩＤが関連付けられる。これによりグループＧ２に属するオブジェクト９３、９４は、一時的にグループＧ１内の他のオブジェクトとは個別に移動可能となる。
【００５３】
続いてオブジェクト９３において発生するタッチ位置移動イベントに応じて、ＣＰＵ１１１は図６に示したイベントハンドラ処理を実行する。この場合、タッチ位置移動イベントに対応するタッチデータからタッチ操作Ｔ３を示すタッチＩＤが取得され、当該タッチＩＤがセットされた各オブジェクト（オブジェクト９３、９４）が図８（ｄ）の破線で示した位置から実線で示した位置へ各々移動する。
【００５４】
その後、ユーザがオブジェクト９３へのタッチを終了する（オブジェクト９３をタッチしていた指をディスプレイ１２１から離す）と、オブジェクト９３においてタッチ終了イベントが発生する。オブジェクト９３において発生したタッチ終了イベントに応じて、ＣＰＵ１１１は図７に示したイベントハンドラ処理を実行する。この場合、オブジェクト９３、９４のプロパティデータにはグループＧ２の一つ上位にあるグループＧ１と関連付けられているタッチ操作Ｔ１のタッチＩＤがリセットされる（上記（４）の態様）。これにより、グループＧ２に属するオブジェクト９３、９４が再度、グループＧ１に関連付けられているタッチ操作Ｔ１の移動操作に応じて移動するようになる。その後、ＣＰＵ１１１はタッチ操作Ｔ３に対応するデータレコードをタッチ管理データベースから削除する。
【００５５】
図８（ｄ）の実線で示した位置に各オブジェクトが再配置された状態にて、ユーザがタッチ操作Ｔ１について図８（ｅ）の点Ｐ１で示された位置から矢印Ａ４で示されるタッチ位置移動操作（ドラッグ）を行うと、図８（ｂ）を用いて説明した場合と同様、オブジェクト９２〜９５が図８（ｅ）の破線で示した位置から実線で示した位置へ各々移動する。
【００５６】
以上のように、本実施形態にかかる処理を行うＰＣ１１によれば、ユーザはグループの移動の途中、グループ内の任意の画像を個別に移動した後、再度、グループの移動を継続して行うことができる。そのため、グループ全体の表示位置を変更するとともに、グループ内の個々の画像の表示位置を調整したい、といった場合、そのための操作がスムーズかつ直感的に行われ、作業効率がよい。
【００５７】
以上、本発明にかかるシステム１において、ＣＡＤプログラムの設計画面に表示される、音響システムを構成する要素（例えば、エフェクタ等）を示すオブジェクトのレイアウト変更を行う際の動作について説明したが、他の種類のソフトウェアにおける複数のオブジェクト操作に対して本発明を適用することもできる。その一例として音響信号処理のパラメータをユーザが操作する、ミキサプログラムにおけるフェーダを示すオブジェクトの操作に本発明を適用した例について以下説明する。
【００５８】
図９は、信号処理チャンネルに対応する複数のフェーダを示すオブジェクトを表示画面に表示し、複数のフェーダ（オブジェクト）をユーザがタッチ操作にて操作することにより、各フェーダに対応する信号処理チャンネルのパラメータ（例えばゲイン）を調整する、ミキサプログラムの表示画面を示す。図９に示されるミキサプログラムは８チャンネルのミキサとして機能し、表示画面において左から右に１チャンネル〜８チャンネルの各信号処理チャンネルに対応するフェーダが並んでいる。図９（ａ）においては例として、１チャンネル〜６チャンネルのフェーダがグループＧ３としてグループ化されているものとする。この状態で、図９（ｂ）に示すように、例えばユーザが２チャンネルのフェーダにタッチ（タッチ操作Ｔ４）し、図９（ｂ）の矢印Ａ５に示す方向にユーザがタッチ位置移動操作（ドラッグ）を行う。この場合、タッチされた２チャンネルのフェーダが属するグループＧ３のオブジェクトである、１チャンネル〜６チャンネルのフェーダにタッチ操作Ｔ４を示すタッチＩＤがセットされ（上記（１）の態様）、グループＧ３に属するフェーダ（１チャンネル〜６チャンネルのフェーダ）が各々、図９（ｂ）の破線で示した位置から実線で示した位置へ移動する。
【００５９】
この状態で、ユーザがタッチ操作Ｔ４を図９（ｃ）の点Ｐ２で示される位置で維持したまま（２チャンネルのフェーダをタッチしたまま）、５チャンネルのフェーダをタッチ（タッチ操作Ｔ５）すると、５チャンネルのフェーダにはタッチ操作Ｔ５を示すタッチＩＤがセットされ（上記（３）の態様）、５チャンネルのフェーダは、グループＧ３内の他のフェーダとは個別に移動可能となる。この状態において、ユーザが、図９（ｃ）の矢印Ａ６で示す方向にタッチ操作Ｔ４のタッチ位置移動操作（ドラッグ）を行い、図９（ｃ）の矢印Ａ７で示す方向にタッチ操作Ｔ５のタッチ位置移動操作（ドラッグ）を行うと、１チャンネル〜４チャンネルおよび６チャンネルのフェーダは矢印Ａ６の方向に、５チャンネルのフェーダは矢印Ａ７の方向に、それぞれ図９（ｃ）の破線で示した位置から実線で示した位置へと各々移動する。
【００６０】
その後、ユーザがタッチ操作Ｔ５を終了すると（５チャンネルのフェーダから指を離すと）、５チャンネルのフェーダには再度、タッチ操作Ｔ４を示すタッチＩＤがセットされ（上記（４）の態様）、図９（ｄ）の矢印Ａ８で示す方向に、ユーザがタッチ操作Ｔ４のタッチ位置移動操作（ドラッグ）を行うと、再び５チャンネルのフェーダは、１チャンネル〜４チャンネルおよび６チャンネルのフェーダとともに移動するようになる。
【００６１】
なお、上記のようにユーザのタッチ位置移動操作によりフェーダ（オブジェクト）が移動すると、移動したフェーダのパラメータ（例えばゲインを示す属性値）が移動後の位置に応じたパラメータに更新される。
【００６２】
［変形例］
上述した実施形態は本発明の一実施形態であり、本発明の技術的思想の範囲内において様々に変形可能である。以下にそれらの変形の例を示す。
【００６３】
上述した実施形態においては、一般的なＰＣに、本発明にかかるソフトウェアプログラムに従った処理を実行させることにより、画像のレイアウト変更を行う装置が実現される構成が採用されている。本発明はそれに限られず、例えばＰＣ１１がソフトウェアプログラムに従い行う処理と同様の処理をハードウェアにより実現したいわゆる専用機が代わりに採用されてもよい。
【００６４】
また、上述した実施形態において採用されているＰＣ１１の形態は特定のものに限定されない。例えば、ＰＣ１１はノートブック、デスクトップ、タブレット型のパーソナルコンピュータ、あるいはスマートフォン、携帯ゲーム機等の端末装置等、マルチタッチディスプレイ１２が利用可能な形態であれば、いずれの形態のものであってもよい。
【００６５】
また、上述した実施形態においては、ＰＣ１１とマルチタッチディスプレイ１２は独立した装置である構成が採用されているが、ＰＣ１１とマルチタッチディスプレイ１２が一体の装置として構成されてもよい。例えば上記のタブレット型のＰＣやスマートフォン等のようにマルチタッチディスプレイが内蔵されているものであってもよい。
【００６６】
また、上述した実施形態においては、ＰＣ１１に対しマルチタッチディスプレイ１２および外部機器が直接接続されている構成が採用されているが、例えばそれらの装置間がＬＡＮ（Local Area Network）やインターネット等の広域ネットワークを介して互いに接続されていてもよい。
【００６７】
また、上述した実施形態においては、複数のオブジェクトは予めグループ化されているものとして説明したが、グループ化あるいは解除は任意のタイミングで行うことができる。また、複数のオブジェクトをグループ化するための操作あるいはグループを解除するための操作は、種々の操作方法を採用してよい。例えば、複数のオブジェクトをグループ化するための操作として、グループ化したい複数のオブジェクトを囲むように矩形領域を指定する操作方法や、特定のボタン（グループ化ボタン等）を操作した後にグループ化したいオブジェクトを順次タッチすることでそれらを指定する操作方法、あるいは、例えばＰＣ１１がキーボード等の他の入力装置を備える場合に、特定のキー（コントロールキーなど）やスイッチを押下しながら選択したいオブジェクトを順次タッチする操作方法など、本発明が適用されるソフトウェアプログラムの要件あるいはハードウェアであるＰＣ１１やＯＳの構成等、様々な条件に基づいて適宜採用されるものであってよい。
【００６８】
また、上述した実施形態においては、タッチされたオブジェクトに対して既に他のタッチ検出イベントが発生していた場合は先着優先とし、２回目以降のタッチ検出イベントの発生に応じたイベントハンドラの処理は実行されない構成が採用されているが、後着優先とし、同じオブジェクトに対して複数回のタッチがなされた場合、２回目以降のタッチ検出イベントの各々に関してもそれらの各々に応じたイベントハンドラの処理が実行される構成が採用されてもよい。また、１つのオブジェクトが複数のタッチ操作に対応し、複数のタッチＩＤを保持するようにしてもよい。この場合、イベントハンドラの処理を、複数のタッチ操作を先着優先とした場合は保持されているタッチ操作のうち最先のものについて行い、後着優先とした場合は保持されているタッチ操作のうち最後のものについて行うようにすればよい。
【００６９】
また、上述した実施形態においては、複数のオブジェクトとそれをグループ化したグループの包含関係にてタッチ操作に応じた移動をするグループ乃至オブジェクトを特定する構成が採用されているが、本発明はこの点に関し限定されず、いずれのオブジェクトあるいはグループを特定するかの基準は他に様々なものが考えられる。
【００７０】
例えば、グループの設定順序を保持しておき、タッチされたオブジェクトが複数のグループに属する場合は、最近グループ化されたものから順に、あるいはその逆順にグループを特定し、その特定されたグループに属する各オブジェクトを、タッチＩＤをセットする対象のオブジェクトとして特定するようにしてもよい。
【００７１】
あるいは、第１のグループと第２のグループが設定されている状況において、それらの両方のグループに属するオブジェクトをタッチする際、１本指でタッチする場合は第１のグループの選択操作、複数の指でタッチする場合は第２のグループの選択操作、のようにタッチに用いる指の数に基づき判別する構成が採用されてもよい。また、オブジェクトのタッチ後に所定の閾値未満の加速度でタッチ位置移動操作（ドラッグ）をした場合は第１のグループの選択操作、所定の閾値以上の加速度でタッチ位置移動操作をした場合は第２のグループの選択操作、のようにタッチ位置移動操作における加速度や速度に基づき判別する構成が採用されてもよい。また、オブジェクトのタッチ後に左右にそのオブジェクトを振るようなタッチ操作を行った場合は第２のグループの選択操作、通常のタッチ操作を行った場合は第１のグループの選択操作、のようにタッチ操作におけるジェスチャーに基づき判別する構成が採用されてもよい。また、例えば、オブジェクトをタップ（表示画面を叩くようにタッチする操作）した後にタッチ操作がされた場合は第２のグループの選択操作、他の場合は第１のグループの選択操作、のように、タッチ操作の前後に行ったタッチ操作の種別（例えば上記タップ）等に基づき判別する構成が採用されてもよい。このように、本発明において、タッチ操作に応じた移動の対象のグループ乃至オブジェクトをどのように決定するかの基準としては、オブジェクトおよびグループとの関係、タッチ操作に基づく矩形領域との関係、タッチ操作の位置・数・速度・加速度・ジェスチャー・種別、あるいは他の操作対象との同時操作等、種々の基準を採用することができる。
【００７２】
また、上述した実施形態において示したデータ構造やその内容、データ処理のフロー等はあくまで一例であって、本発明を限定するものではない。
【符号の説明】
【００７３】
１…システム、１１…ＰＣ、１２…マルチタッチディスプレイ、１１１…ＣＰＵ、１１２…メモリ、１１３…ＧＰＵ、１１４…画像データ出力Ｉ／Ｆ、１１５…操作データ入力Ｉ／Ｆ、１１６…入出力Ｉ／Ｆ、１２１…ディスプレイ、１２２…タッチパネル
【図１】
2014048894.tif 000003
【図２】
2014048894.tif 000004
【図３】
2014048894.tif 000005
【図４】
2014048894.tif 000006
【図５】
2014048894.tif 000007
【図６】
2014048894.tif 000008
【図７】
2014048894.tif 000009
【図８】
2014048894.tif 000010
【図９】
2014048894.tif 000011
【図１０】
2014048894.tif 000012