(57)【要約】【課題】  グラフィカルユーザインタフェースを用いて処理の指示を行う場合に、ユーザが行った操作でユーザが所望する処理結果を得られなかった場合に、ユーザが所望する処理結果をより少ない操作で得られるようにすること。【解決手段】  入力装置および表示装置を有し、前記入力装置と前記表示装置とを用いてグラフィカルユーザインタフェースを実現するための手段を備えた情報処理装置において、入力装置による入力操作の種類を特定し（Ｓ３０４）、特定された入力操作の種類に関連付けられた第１の処理を実行し（Ｓ３０５）、実行された第１の処理と異なる処理を実行するように指示し（Ｓ３０６）、当該指示に応じて、特定された入力操作の種類に関連づけられた、第１の処理と異なる第２の処理を実行する（Ｓ３０７）。【選択図】  図３
2006331406.tif 000002
【特許請求の範囲】
【請求項１】
入力装置および表示装置を有し、前記入力装置と前記表示装置とを用いてグラフィカルユーザインタフェースを実現するための手段を備えた情報処理装置であって、
前記入力装置による入力操作の種類を特定する操作特定手段と、
前記操作特定手段により特定された入力操作の種類に関連付けられた第１の処理を実行する第１処理手段と、
前記第１処理手段により実行された第１の処理と異なる処理を実行するように指示する再処理指示手段と、
前記再処理指示手段による指示に応じて、前記操作特定手段により特定された入力操作の種類に関連づけられた、前記第１の処理と異なる第２の処理を実行する第２処理手段と  を有することを特徴とする情報処理装置。
【請求項２】
前記第１及び第２処理手段により実行された処理の結果を前記表示装置に表示するように制御する表示制御手段を更に有することを特徴とする請求項１に記載の情報処理装置
【請求項３】
前記再処理指示手段による指示に応じて、前記第１処理手段による第１の処理を取り消す取消手段を有し、
前記第２処理手段は、前記取消手段による取消の後に前記第２の処理を実行することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記表示制御手段は、前記第１の処理の処理結果と共に、該処理結果を確定するかどうかを指示するためのアイコンを前記表示装置に表示し、
前記入力装置による入力操作により前記処理結果を確定しないことが指示された場合に、前記再処理指示手段は、前記第１の処理と異なる処理を実行するように指示することを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記操作特定手段は、前記表示装置に表示された画面上のどのエリアで入力操作が行われたかにより前記入力操作の種類を特定することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
入力装置および表示装置を有し、前記入力装置と前記表示装置とを用いてグラフィカルユーザインタフェースを実現するための手段を備えた情報処理装置で実行される情報処理方法であって、
前記入力装置による入力操作の種類を特定する操作特定ステップと、
前記操作特定ステップで特定された入力操作の種類に関連付けられた第１の処理を実行する第１処理ステップと、
前記第１処理ステップで実行された第１の処理と異なる処理を実行するように指示する再処理指示ステップと、
前記再処理指示ステップでの指示に応じて、前記操作特定ステップで特定された入力操作の種類に関連づけられた、前記第１の処理と異なる第２の処理を実行する第２処理ステップと
を有することを特徴とする情報処理方法。
【請求項７】
前記第１及び第２処理ステップで実行された処理の結果を前記表示装置に表示する表示制御ステップを更に有することを特徴とする請求項６に記載の情報処理方法。
【請求項８】
前記再処理指示ステップにおける指示に応じて、前記第１処理ステップで実行された第１の処理を取り消す取消ステップを有し、
前記第２処理ステップでは、前記取消ステップにおける取消の後に前記第２の処理を実行することを特徴とする請求項６に記載の情報処理方法。
【請求項９】
前記表示制御ステップでは、前記第１の処理の処理結果と共に、該処理結果を確定するかどうかを指示するためのアイコンを前記表示装置に表示し、
前記入力装置による入力操作により前記処理結果を確定しないことが指示された場合に、前記再処理指示ステップでは、前記第１の処理と異なる処理を実行するように指示することを特徴とする請求項７に記載の情報処理方法。
【請求項１０】
前記操作特定ステップでは、前記表示装置に表示された画面上のどのエリアで入力操作が行われたかにより前記入力操作の種類を特定することを特徴とする請求項６に記載の情報処理方法。
【請求項１１】
入力装置および表示装置を有し、前記入力装置と前記表示装置とを用いてグラフィカルユーザインタフェースを実現するための手段を備えた情報処理装置に、
前記入力装置による入力操作の種類を特定する操作特定ステップと、
前記操作特定ステップで特定された入力操作の種類に関連付けられた第１の処理を実行する第１処理ステップと、
前記第１処理ステップで実行された第１の処理と異なる処理を実行するように指示する再処理指示ステップと、
前記再処理指示ステップでの指示に応じて、前記操作特定ステップで特定された入力操作の種類に関連づけられた、前記第１の処理と異なる第２の処理を実行する第２処理ステップと
を実行させるためのプログラム。
【請求項１２】
前記第１及び第２処理ステップで実行された処理の結果を前記表示装置に表示する表示制御ステップを更に実行させることを特徴とする請求項１１に記載のプログラム。
【請求項１３】
前記再処理指示ステップにおける指示に応じて、前記第１処理ステップで実行された第１の処理を取り消す取消ステップを有し、
前記第２処理ステップでは、前記取消ステップにおける取消の後に前記第２の処理を実行することを特徴とする請求項１１に記載のプログラム。
【請求項１４】
前記表示制御ステップでは、前記第１の処理の処理結果と共に、該処理結果を確定するかどうかを指示するためのアイコンを前記表示装置に表示し、
前記入力装置による入力操作により前記処理結果を確定しないことが指示された場合に、前記再処理指示ステップにおいて、前記第１の処理と異なる処理を実行するように指示することを特徴とする請求項１２に記載のプログラム。
【請求項１５】
前記操作特定ステップでは、前記表示装置に表示された画面上のどのエリアで入力操作が行われたかにより前記入力操作の種類を特定することを特徴とする請求項１１に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置及び方法に関し、更に詳しくは、グラフィカルユーザインタフェースを利用するアプリケーションを実行する情報処理装置及び方法に関する。
【背景技術】
【０００２】
情報処理装置に対して、人の直感的な操作により入力命令を行い、その命令に応じた処理結果の表示を行うグラフィカルユーザインタフェースの手法は、近年最も一般ユーザに普及している入力・表示方法である。
【０００３】
この入力・表示方法では、文章のみならず、画像などのオブジェクトに対する編集や移動、コピーなどの操作も、マウスに代表されるポインティングデバイスによりユーザの意図する処理を直感的に行うことができる。しかしながら、これらの操作は直感的に行えるがゆえにユーザによる誤操作が少なからず発生する。またマウスなどで行う単一の操作のみでユーザの意図する操作結果を得るには限界がある場合もある。例えば、オブジェクトに対してマウスをポイントしてドラッグする操作が、あるユーザは直感的にコピーだと考えているが、別のユーザは移動だと考えている場合などである。
【０００４】
このような誤認識などによる操作の結果、ユーザの意図しない処理結果となった場合に、その処理を元に戻すことができる機能は昨今では一般的に知られている（例えば、非特許文献１参照）。また、ユーザの操作だけではどの処理を行えばよいか判断できない場合に、処理結果を表示する前に処理候補リストを表示してユーザに選択させる手法も一般的に知られている（例えば、特許文献１参照）。
【０００５】
【非特許文献１】“Excel2002 基本操作早わかり”杉松秀利著、ナツメ社、２００１年７月２０日発行、第５２頁〜第５３頁
【特許文献１】特開平８−９５７３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述のようにユーザによる誤操作が発生した場合やユーザの意図する処理結果を得られなかった場合以下のような手間が生じていた。即ち、ユーザは処理を元に戻す操作を行った上で、正しい操作またはユーザの意図する処理結果を得るための再操作を行わなければならなかった。また、処理を元に戻す操作を行ったとしても、意図する処理結果を得るためにどのような操作を行えばよいかが判らない場合には、誤操作を行っては元に戻すという操作を繰り返したり、操作マニュアルを参照したりしなければならないなどの煩わしさが生じていた。
【０００７】
また、処理候補リストを表示する方法では、ユーザの意図する処理が選択項目の中のどれなのか判断がつかず、やはり、操作マニュアルを参照しなければならなかったり、誤操作を行っては元に戻すという操作を繰り返してしまうといった煩わしさが生じていた。
【０００８】
本発明は上記問題点を鑑みてなされたものであり、グラフィカルユーザインタフェースを用いて処理の指示を行う場合に、ユーザが行った操作でユーザが所望する処理結果を得られなかった場合に、ユーザが所望する処理結果をより少ない操作で得られるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、入力装置および表示装置を有し、前記入力装置と前記表示装置とを用いてグラフィカルユーザインタフェースを実現するための手段を備えた本発明の情報処理装置は、前記入力装置による入力操作の種類を特定する操作特定手段と、前記操作特定手段により特定された入力操作の種類に関連付けられた第１の処理を実行する第１処理手段と、前記第１処理手段により実行された第１の処理と異なる処理を実行するように指示する再処理指示手段と、前記再処理指示手段による指示に応じて、前記操作特定手段により特定された入力操作の種類に関連づけられた、前記第１の処理と異なる第２の処理を実行する第２処理手段とを有する。
【００１０】
また、入力装置および表示装置を有し、前記入力装置と前記表示装置とを用いてグラフィカルユーザインタフェースを実現するための手段を備えた情報処理装置で実行される本発明の情報処理方法は、前記入力装置による入力操作の種類を特定する操作特定ステップと、前記操作特定ステップで特定された入力操作の種類に関連付けられた第１の処理を実行する第１処理ステップと、前記第１処理ステップで実行された第１の処理と異なる処理を実行するように指示する再処理指示ステップと、前記再処理指示ステップでの指示に応じて、前記操作特定ステップで特定された入力操作の種類に関連づけられた、前記第１の処理と異なる第２の処理を実行する第２処理ステップとを有する。
【発明の効果】
【００１１】
本発明によれば、グラフィカルユーザインタフェースを用いて処理の指示を行う場合に、ユーザが行った操作でユーザが所望する処理結果を得られなかった場合に、ユーザが所望する処理結果をより少ない操作で得られるようにすることができる。
【発明を実施するための最良の形態】
【００１２】
以下、添付図面を参照して本発明を実施するための最良の形態を詳細に説明する。本実施の形態では、グラフィカルユーザーインタフェースを用いる処理として、画像ファイルをオブジェクトとした電子アルバム編集アプリケーションに、本発明を適用する場合ついて説明する。
【００１３】
図１は本実施の形態に係る情報提供システムの概略機能構成を示すブロック図である。図１において、１０１は、光学像を電気信号に変換し、所定の画像処理を施した後、デジタル情報として、記録可能な画像入力装置である。この画像入力装置１０１としては、例えば、以下に示す装置を用いることができる。静止画を撮影し、画像データとして記録できるデジタルスチルカメラ、動画を撮影し、動画像データとして記録できるデジタルビデオカメラ、原稿を読み取って画像データとして出力可能なスキャナなど。また、光学像を電気信号に変換して画像データとして記録する装置の他に、画像データを記憶した記憶媒体から画像データを読み出して出力可能な各種記憶媒体のドライバを代わりに用いてもよい。
【００１４】
１０２はユーザ用コンピュータ（ＰＣ）、１０３は画像入力装置１０１とＰＣ１０２間で、撮影された画像データを転送するためのデータ転送用インタフェース（Ｉ／Ｆ）である。データ転送用Ｉ／Ｆ１０３としては、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＩＥＥＥ１３９４に代表される有線インタフェースや、ＩｒＤＡ、Ｂｌｕｅｔｏｏｔｈに代表される無線系インタフェースなどを用いることができる。ただし、本発明はＩ／Ｆの種類によって制限されるものではない。
【００１５】
画像入力装置１０１で取得された画像データは、データ転送用Ｉ／Ｆ１０３を介して、ＰＣ１０２のハードディスクドライブ（ＨＤＤ）に代表される情報記憶装置の記憶領域に転送される。この画像入力装置１０１からＰＣ１０２への画像データ転送に関しては、以下の２つのケースがある。１つはＰＣ１０２にインストールされているＯＳまたは専用のソフトウエアからの命令で、画像入力装置１０１内の情報記憶装置に格納されている画像データが一括転送される場合である。もう一つは、画像入力装置１０１から送られる転送コマンドで、ＰＣ１０２のＯＳまたは専用ソフトウエアによりＰＣ１０２の情報記録部に確保されたデータ記録領域に、画像データが転送される場合がある。
【００１６】
ＰＣ１０２上では、グラフィカルユーザインタフェースを有する電子アルバム編集アプリケーション１０４が動作可能であり、ＰＣ１０２上の画像データは、電子アルバム編集アプリケーション１０４を利用して編集される。また、ユーザデータ格納用データベース（ＤＢ）１０５は電子アルバム編集アプリケーション１０４の処理において使用する各種データの情報記憶装置である。ユーザデータ格納用ＤＢ１０５の代わりにＰＣ１０２のＨＤＤに代表される情報記憶装置を利用しても構わない。
【００１７】
図２は本発明の好適な実施の形態に係るＰＣ１０２に相当する情報処理装置の概略構成を示すブロック図である。
【００１８】
図２において、２０１はＣＲＴやＬＣＤなどの表示装置（以下、「ＣＲＴ」と記す。）であり、その表示画面には、例えば編集中の文書、図形、画像その他の編集情報、アイコン、メッセージ、メニューその他のユーザインタフェース情報が表示される。２０２はＶＲＡＭであり、ＣＲＴ２０１の表示画面に表示するための画像が生成され、記憶される。このＶＲＡＭ２０２に記憶された画像データは、所定の規定に従ってＣＲＴ２０１に転送され、これによりＣＲＴ２０１に画像が表示される。２０３はビットムーブユニット（ＢＭＵ）であり、例えば、メモリ間（例えば、ＶＲＡＭ２０２と他のメモリ）のデータ転送や、メモリと各Ｉ／Ｏデバイス（例えば、ネットワークインタフェース２１１）との間のデータ転送を制御する。２０４はキーボードであり、文字等を入力するための各種キーを有する。２０５はポインティングデバイスであり、例えば、ＣＲＴ２０１の表示画面上に表示されたアイコン、メニュー、その他のオブジェクトを指示するために使用される。
【００１９】
２０６はＣＰＵであり、ＲＯＭ２０７、ハードディスクやフロッピー（登録商標）ディスク、ＣＤ−ＲＯＭなどの記憶媒体に格納された制御プログラムに基づいてＣＰＵデバイスに接続された各デバイスを制御する。２０７はＲＯＭであり、各種の制御プログラムやデータを保持する。２０８はＲＡＭであり、ＣＰＵ２０６のワーク領域、エラー処理時のデータの退避領域、制御プログラムのロード領域等を有する。２０９はハードディスクドライブ（ＨＤＤ）である。ＨＤＤ２０９は、情報処理装置内で実行される各制御プログラムやコンテンツを格納することができる。例えば、ＰＣ１０２のＨＤＤ２０９には電子アルバムデータ、電子アルバム編集プログラムなどが格納されている。２１０はフロッピー（登録商標）ディスクドライブ（ＦＤＤ）、または、ＣＤ−ＲＯＭやコンパクトフラッシュ（登録商標）カードなどの任意の種類の記憶媒体のドライブであり、記憶媒体に対するアクセスを制御する（ここでは「ＦＤＤ」と記す）。２１１はネットワークインタフェースであり、不図示の他の情報処理装置やプリンタ等とネットワーク２１３を介して通信を行うことができる。２１２はＣＰＵバスであり、アドレスバス、データバス及びコントロールバスを含む。ＣＰＵ２０６に対する制御プログラムの提供は、ＲＯＭ２０７、ＨＤＤ２０９、ＦＤＤ２１０から行うこともできるし、ネットワーク２１３を介して他の情報処理装置等から行うこともできる。
【００２０】
次に、上記構成を有する情報処理装置で行われる電子アルバム編集アプリケーションに本発明を適用した場合の具体例として、トレイ上の写真をアルバムページへ割り当てる際の処理と、アルバムページ上の写真を拡大する際の処理について説明する。
【００２１】
まず、トレイ上の写真をアルバムページへ割り当てる際の処理について、図３のフローチャートを参照しながら説明する。図５〜図８は図３に示す処理においてＣＲＴ２０１に表示されるユーザインタフェースを示す。また、図１６〜図１９は電子アルバム編集アプリケーションにおいて使用される各種データを格納したテーブルを示している。
【００２２】
図５に示すように、シート５０１に配置されているページ５０２上に写真５０４と、シート５０１に配置されているトレイ５０３上に写真５０５が表示されているものとする。ユーザはポインティングデバイス２０５の操作と連動して動くポインタ５０６を見ながらオブジェクトを選択（以下「マウスダウン」と呼ぶ。）し、オブジェクトを移動（以下「マウスドラッグ」と呼ぶ。）し、オブジェクトを移動完了（以下「マウスアップ」と呼ぶ。）することができる。ユーザが図５の矢印５０７で示すようにポインタ５０６で写真５０５を移動してページ５０２上に写真５０５をドロップする操作を行ったときの処理は以下の通りとなる。
【００２３】
図５に示す状態で、図３のステップＳ３０１においてユーザはトレイ５０３のエリア内にある写真５０５をポインタ５０６でマウスダウンし、写真５０５を選択する。マウスダウンされた位置情報はシート５０１の左上端を原点としてＸ方向（横方向）およびＹ方向（縦方向）を座標軸とした座標（X, Y）として取得される。図１９のエリア情報テーブルは、アルバム上に存在する各オブジェクトの現在位置を示すテーブルである。
【００２４】
このエリア情報テーブルには各オブジェクトの左上端座標を（X1, Y1）、右下端を（X2, Y2）とする長方形として座標（X1、Y1、X2、Y2）と表示優先番号が格納される。マウスダウンされた位置座標がこの座標（X1、Y1、X2、Y2）のどの範囲内に含まれるかを判別することで、どのオブジェクトを選択しているかが判断できる。ただし、オブジェクトが重なりあっている場合を考慮しなければならないので、マウスダウンされた座標が複数のオブジェクトの座標範囲内にある場合は表示優先番号がより小さいオブジェクトを選択されたオブジェクトとする。なお、各オブジェクトの座標（X1、Y1、X2、Y2）および表示優先番号はオブジェクトを移動または編集した後マウスアップした時に変化する動的なデータである。また、選択したオブジェクトが写真の場合は、マウスダウンした座標が写真中央エリアなのか写真外輪エリアを判別する。本実施の形態では写真中央エリアが写真全体の座標エリアのうちの何パーセントなのかをあらかじめ定義しておき、その座標内であれば写真中央エリア、それ以外であれば写真外輪エリアであると計算の上判別する。
【００２５】
次にステップＳ３０２で、選択したオブジェクト情報を取得する。図１６に示す操作特定用テーブルは、オブジェクト種別ID、取得時エリアID、操作カテゴリ、アクションID、操作時エリアIDから一つの処理IDを検索するためのテーブルである。ただしマウスダウンを行ったときだけはアクションIDと操作時エリアIDのみで一つの処理IDを検索できるようにしてある。移動処理の場合には写真中央エリアをマウスダウンするので、処理IDとして「1000」を得ることになる。図１７に示す処理関数テーブルは、処理IDで関数を検索するためのテーブルである。ここでは処理ID「1000」で検索し、関数getInfoForImageCenter( )を得る。getInfoForImageCenter( )はオブジェクトの座標を取得し、オブジェクトからオブジェクト種別IDを、取得時の座標から取得時エリアIDを決定し、操作カテゴリを「移動」とする関数である。ここではオブジェクト種別IDは「写真」、操作カテゴリは「移動」、取得時エリアIDは「トレイ」を得る。
【００２６】
そして、ステップＳ３０３で写真５０５をマウスドラッグすると、ステップＳ３０２で取得したオブジェクト種別ID、取得時エリアID、操作カテゴリおよびアクションIDと操作エリアIDで図１６の操作特定用テーブルを検索して処理IDを得る。ここではアクションIDは「マウスドラッグ」が取得され、操作時エリアIDは「トレイエリア」が取得される。これらの検索条件より図１６の操作特定用テーブルから処理IDとして「1020」を取得する。さらに図１７の処理関数テーブルから処理ID「1020」を検索し、関数moveImage( )を得る。moveImage( )はポイントした座標にマウスドラッグ後の移動分を加減することにより写真座標の現在位置を決定し、再表示する関数である。マウスドラッグをシート上やページ上で行うと操作時エリアIDは「シートエリア」や「ページエリア」になるが、この場合に得る処理IDはいずれも「1020」であるので取得する関数は上記と同じmoveImage( )である。
【００２７】
ステップＳ３０４では、ページ５０２のエリアで写真５０５のマウスアップする。ここでも同様に図１６の操作特定用テーブルを検索して処理IDを取得する。オブジェクト種別IDが「写真」、取得時エリアIDが「トレイ」、操作カテゴリが「移動」、アクションIDが「マウスアップ」、操作時エリアIDが「ページエリア」で検索するので、処理IDとして「1050」を得る。更に、図１７の処理関数テーブルを「1050」で検索することにより関数changeImage( )を得る。
【００２８】
ステップＳ３０５では、取得した関数changeImage( )を実行して写真交換を行い、結果を表示する。関数changeImage( )はエリア情報テーブルを元にマウスアップ時のポインタの座標から判別した写真５０４と、ステップＳ３０１で得た取得時写真５０５を入れ替えて再表示する。（図６）更に、図１９のエリア情報テーブルを入れ替え後の座標（X1、Y1、X2、Y2）へ更新し優先番号を更新する。図１８の代替処理テーブルは、処理IDで代替処理IDを検索するためのテーブルである。なお、取得した処理IDが代替処理テーブルの処理IDに存在しない場合には、ここで図３の処理は終了する。ここでは代替処理が存在するので、更に図６に示すように得られた結果が所望の処理結果であるかどうかユーザに確認を求めるメッセージ６０１を表示すると共に、代替処理テーブルの処理IDを取得する。ここでは図１６の操作特定用テーブルから処理IDとして「1050」を取得したので、図１８の代替処理テーブルから代替処理IDとして「1060」および「1070」を取得しておく。
【００２９】
ステップＳ３０６において、ユーザが表示結果を見て所望の処理であるかどうかを判断し、所望の処理結果であることを示す「よい」ボタン６０２を押した場合には（ステップＳ３０６でＹＥＳ）処理を終了する。逆に、ユーザが表示結果が意図するものと違うと判断し、所望の処理結果でないことを示す「違う」ボタン６０３を押した場合はステップＳ３０７に進む。そして、ステップＳ３０７においてステップＳ３０５で実行された写真の交換処理を取り消して処理前の状態（図５に示す座標の状態）に戻してから、ステップＳ３０８に進む。なお、この取消処理は内部的な処理の取り消しを行えばよく、取消処理の結果を表示する必要はない。
【００３０】
ステップＳ３０８では、ステップＳ３０５で取得した代替処理IDのうち、１番目の代替処理IDを取得し、図１７の処理関数テーブルの処理IDを取得した代替処理IDで検索して関数を取得し、その関数を実行して結果を再表示する。ここでは１番目の代替処理IDである「1060」で検索することにより関数addImage( )を取得している。関数addImage( )はステップＳ３０１で選択した写真５０５をページ５０２上の写真のない余白部分に配置して再表示すると共に（図７）、得られた結果が所望のものであるかどうかユーザに確認を求めるメッセージ７０１を表示する。また、図１９のエリア情報テーブルの当該オブジェクトの座標（X1、Y1、X2、Y2）を入れ替え後の座標へ更新し、更に優先番号を更新する。
【００３１】
図７は、写真５０５がトレイ５０３から移動し写真５０４の隣に配置された上で、確認メッセージ７０１が表示されている画面を示す。ステップＳ３０７における取消処理の結果は表示しないため、表示画面は図６に示す画面から図７に示す画面へと遷移する。ユーザが表示結果を見て所望の処理結果であると判断し、所望の処理結果であることを示す「よい」ボタン７０２を押した場合は（ステップＳ３０９でＹＥＳ）処理を終了する。一方、表示結果が意図するものと違うとユーザが判断し、違うことを示す「違う」ボタン７０３を押した場合は（ステップＳ３０９でＮＯ）ステップＳ３１０に進む。そして、ステップＳ３１０においてステップＳ３０８で実行された写真の追加処理を取り消して処理前の状態（図５に示す状態）に戻してから、ステップＳ３１１に進む。なお、ここでも取消処理は内部的な処理の取り消しを行えばよく、取消処理の結果を表示する必要はない。
【００３２】
ステップＳ３１１では、ステップＳ３０５で取得した代替処理IDのうち、２番目の代替処理IDを取得し、図１７の処理関数テーブルの処理IDを取得した代替処理IDで検索して関数を取得し、その関数を実行して結果を再表示する。ここでは２番目の代替処理IDである「1070」で検索することにより関数overwriteImage( )を取得する。関数overwriteImage()はステップＳ３０１で選択した写真５０５をページ５０２上の写真５０４上に重ねて配置して再表示し（図８）する。更に、図１９のエリア情報テーブルの写真５０５のオブジェクトの座標（X1、Y1、X2、Y2）を配置後の座標へ更新し、優先番号を更新する。また上書きされた写真５０４は削除されたものとして扱う。この例では削除後の写真については触れていないが、昨今では一般的な手法であるいわゆるゴミ箱を用意しておいてそこへ退避することなどが考えられる。
【００３３】
ステップＳ３１１では更に、図８に示すように得られた処理結果が正しいかどうかユーザに確認を求めるメッセージ８０１を表示する。なお、ステップＳ３１０における取消処理の結果は表示しないため、表示画面は図７に示す画面から図８に示す画面へと遷移する。ユーザが表示結果を見て所望の処理結果であると判断し、所望の処理結果であることを示す「よい」ボタン８０２を押した場合は（ステップＳ３１２でＹＥＳ）処理を終了する。表示結果が意図するものと違うとユーザが判断し、違うことを示す「違う」ボタン８０３を押した場合は（ステップＳ３１２でＮＯ）、ステップＳ３１３に進む。そして、ステップＳ３１３においてステップＳ３１１で実行された写真の上書き処理を取り消して処理前の状態（図５に示す状態）に戻してから、ステップＳ３０５に戻る。ここでも取消処理は内部的な処理の取り消しを行えばよく、取消処理の結果を表示する必要はない。ステップＳ３０５からＳ３１３はユーザが「違う」ボタンを押す限り繰り返される。
【００３４】
なお、ステップＳ３０５からＳ３１２は、ユーザが「違う」ボタンを押す限り繰り返さ無くてもよく、ステップＳ３１２で「違う」ボタン８０３が押された場合に、写真５０４及び５０５を処理前の状態（図５に示す位置）に戻すようにしても良い。また、所定回数ステップＳ３０５からＳ３１２が繰り返された場合に、処理を抜けるようにしてもよい。
【００３５】
また、上記図３のフローチャートを参照して説明した処理では、トレイ５０３内の写真をページエリア５０２にドロップするケースを示している。しかしながら、ドロップするオブジェクトは電子アルバム編集アプリケーション内のオブジェクトに限定されるわけではなく、他のソフト上で認識されているファイルやオブジェクトであっても構わない。他のソフト上で認識されているファイルやオブジェクトであってもアルバム編集アプリケーションがそのオブジェクトを認識できる互換性を持てば実現可能であるからである。
【００３６】
次に、本実施の形態の電子アルバム編集アプリケーションにおいて、アルバムページ上の写真を拡大する際の処理について、図４のフローチャートを参照しながら説明する。図９〜図１３は図４に示す処理においてＣＲＴ２０１に表示されるユーザインタフェースを示す。また、この拡大処理においても、図１６〜図１９に示す各種テーブルを用いる。
【００３７】
図９に示すように、シート５０１に配置されているページ５０２上に写真９０１が表示されているものとする。ユーザはポインティングデバイス２０５の操作と連動して動くポインタ５０６を見ながらマウスダウンによりオブジェクトを選択し、マウスドラッグによりオブジェクトを拡縮し、マウスアップによりオブジェクトを拡縮完了することができる。ユーザが図９の矢印９０６で示す方向にポインタ５０６で写真９０１を拡大する操作を行ったときの処理は以下の通りとなる。
【００３８】
図９に示す状態で、図４のステップＳ４０１においてユーザはページ５０２のエリア内にある写真９０１をポインタ５０６でマウスダウンする。マウスダウンされた位置情報は、ステップＳ３０１で行われる処理と同様にして、シート５０１の左上端を原点としてＸ方向（横方向）およびＹ方向（縦方向）を座標軸とした座標（X, Y）として取得される。
【００３９】
ステップＳ４０１でユーザが選択したオブジェクトが写真の場合には、図１６の操作特定用テーブルから、マウスダウンした座標が写真中央エリアか、または写真外輪エリアかを示す操作時エリアIDを判別する。なお、写真中央エリアか写真外輪エリアなのかを判別する方法も前述の通りである。
【００４０】
次に、ステップＳ４０２では選択したオブジェクト情報を取得する。図１６の操作特定用テーブルをアクションIDと操作時エリアIDで検索して処理IDを得る。拡大処理の場合には写真外輪エリアをマウスダウンするので「1010」の処理IDを得ることになる。更に、図１７の処理関数テーブルを処理IDで検索することで関数を得る。ここでは処理ID「1010」で検索し、関数getInfoForImageRim( )を得る。getInfoForImageRim( )はオブジェクトの座標を取得し、オブジェクトからオブジェクト種別IDを、取得時の座標から取得時エリアIDを決定し、操作カテゴリを「拡縮」とする関数である。ここではオブジェクト種別IDは「写真」、操作カテゴリは「拡縮」、取得時エリアIDは「ページ」を得る。
【００４１】
そして、ステップＳ４０３で写真９０１をマウスドラッグすると、ステップＳ４０２で取得したオブジェクト種別ID、取得時エリアID、操作カテゴリおよびアクションIDと操作エリアIDで図１６の操作特定用テーブルを検索して処理IDを得る。ここではアクションIDは「マウスドラッグ」が取得され、操作時エリアIDは「ページエリア」が取得される。これらの検索条件より図１６の操作特定用テーブルから操作IDとして「1040」を取得する。さらに図１７の処理関数テーブルから処理ID「1040」を検索し、関数resizeXYImage( )を得る。resizeXYImage( )はポイントした座標にマウスドラッグ後の移動分を座標（X2，Y2）についてのみ加減することにより写真を拡縮し、再表示する関数である。更に、図１９のエリア情報テーブルを拡縮後の座標（X1、Y1、X2、Y2）へ更新し、更に優先番号を更新する。
【００４２】
ステップＳ４０４では、ページ５０２のエリアで写真９０１のマウスアップをする。ここでも同様に図１６の操作特定用テーブルを検索して処理IDを取得する。オブジェクト種別IDが「写真」、取得時エリアIDが「ページ」、操作カテゴリが「拡縮」、アクションIDが「マウスアップ」、操作時エリアIDが「ページエリア」で検索するので、処理IDとして「1080」を得る。更に、図１７の処理関数テーブルを処理ID「1080」で検索することにより関数resizeXYImage( )を得る。
【００４３】
ステップＳ４０５では取得した関数resizeXYImage( )を実行して画像拡大を行い、結果を表示する（図１０）。関数resizeXYImage( )の処理は前述の通りである。ここで、取得した処理IDが図１８の代替処理テーブルの処理IDに存在しない場合は処理を終了する。ここでは代替処理が存在するので、更に図１０に示すように得られた結果が所望の処理であるかどうかユーザに確認を求めるメッセージ１００１を表示すると共に、代替処理テーブルの処理IDを取得する。ここでは図１６の操作特定用テーブルから処理IDとして「1080」を取得したので、図１８の代替処理テーブルから代替処理IDとして「1090」および「1100」を取得しておく。
【００４４】
ステップＳ４０６において、ユーザが表示結果を見て所望の処理であるかどうかを判断し、所望の処理結果であることを示す「よい」ボタン１００２を押した場合には（ステップＳ４０６でＹＥＳ）処理を終了する。逆に、ユーザが表示結果が意図するものと違うと判断し所望の処理結果でないことを示す「違う」ボタン１００３を押した場合はステップＳ４０７に進む。そして、ステップＳ４０７においてステップＳ４０５で実行された写真のＸＹ方向拡縮処理を取り消して処理前の状態（図９に示す状態）に戻してから、ステップＳ４０８に進む。なお、取消処理は内部的な処理の取り消しを行えばよく、取消処理の結果を表示する必要はない。
【００４５】
ステップＳ４０８では、ステップＳ４０５で取得した代替処理IDのうち、１番目の代替処理IDを取得し、図１７の処理関数テーブルの処理IDを取得した代替処理IDで検索して関数を取得し、その関数を実行して結果を再表示する。ここでは１番目の代替処理IDである「1090」で検索することにより関数resizeXImage( )を取得している。関数resizeXImage()はステップＳ４０１で選択した写真９０１をX方向にだけ拡大して再表示すると共に（図１１）、得られた結果が所望のものであるかどうかユーザに確認を求めるメッセージ１１０１を表示する。なお、ステップＳ４０７における取消処理の結果は表示しないため、表示画面は図１０に示す画面から図１１に示す画面へと遷移する。また、図１９のエリア情報テーブルの当該オブジェクトの座標（X1、Y1、X2、Y2）を拡大後の座標へ更新し、更に優先番号を更新する。
【００４６】
図１１は、写真９０１がＸ方向にだけ拡大された上で、確認メッセージ１１０１が表示されている画面を示す。ユーザが表示結果を見て所望の結処理果であると判断し、所望の処理結果であることを示す「よい」ボタン１１０２を押した場合（ステップＳ４０９でＹＥＳ）は処理を終了する。一方、表示結果が意図するものと違うとユーザが判断し、違うことを示す「違う」ボタン１１０３を押した場合は（ステップＳ４０９でＮＯ）ステップＳ４１０に進む。そして、ステップＳ４１０においてステップＳ４０８で実行された写真のＸ方向拡縮処理を取り消して処理前の状態（図９に示す状態）に戻してから、ステップＳ４１１に進む。ここでも取消処理は内部的な処理の取り消しを行えばよく、取消処理の結果を表示する必要はない。
【００４７】
ステップＳ４１１では、ステップＳ４０５で取得した代替処理IDのうち、２番目の代替処理IDを取得し、図１７の処理関数テーブルの処理IDを取得した代替処理IDで検索して関数を取得し、その関数を実行して結果を再表示する。ここでは２番目の代替処理IDである「1100」で検索することにより関数resizeYImage( )を取得する。関数resizeYImage( )はステップＳ４０１で選択した写真９０１をY方向にだけ拡大して再表示し（図１２）、図１９のエリア情報テーブルの当該オブジェクトの座標（X1、Y1、X2、Y2）を拡大後の座標へ更新し、優先番号を更新する。
【００４８】
ステップＳ４１１では更に、図１２示すように得られた結果が正しいかどうかユーザに確認を求めるメッセージ１２０１を表示する。なお、ステップＳ４１０における取消処理の結果は表示しないため、表示画面は図１１に示す画面から図１２に示す画面へと遷移する。ユーザが表示結果を見て所望の処理結果であると判断し、所望の処理結果であることを示す「よい」ボタン１２０２を押した場合は（ステップＳ４１２でＹＥＳ）処理を終了する。表示結果が意図するものと違うとユーザが判断し、違うことを示す「違う」ボタン１２０３を押した場合は（ステップＳ４１２でＮＯ）、ステップＳ４１３に進む。そして、ステップＳ４１３においてステップＳ４１１で実行された写真のＹ方向拡縮処理を取り消して処理前の状態（図９に示す状態）に戻してから、ステップＳ４０５に戻る。ここでも取消処理は内部的な処理の取り消しを行えばよく、取消処理の結果を表示する必要はない。ステップＳ４０５からＳ４１３はユーザが「違う」ボタンを押す限り繰り返される。
【００４９】
なお、ステップＳ４０５からＳ４１２の処理についても、ユーザが「違う」ボタンを押す限り繰り返さ無くてもよく、ステップＳ４１２で「違う」ボタン１２０３が押された場合に、写真９０１を処理前の状態（図９に示すサイズ）に戻すようにしても良い。また、所定回数ステップＳ４０５からＳ４１２が繰り返された場合に、処理を抜けるようにしてもよい。
【００５０】
上記の通り本実施の形態によれば、ユーザが直感的に行った操作に応じて行われた処理結果をユーザが確認する。そして、その結果、所望の処理結果ではないと判断して「違う」ボタンを押した場合は、ユーザが行った操作から次に予想される別の処理を行って処理結果を表示する。このように、処理結果が所望の結果では無い場合に、ユーザは１回の操作を行うだけで別の処理結果を確認することができる。
【００５１】
なお、本実施の形態では、代替処理の候補として２種類（即ち、１つのユーザ操作に対して３種類の処理）がある場合について説明したが、代替処理候補が多い場合には、図１３に示すような表示を行うようにしても良い。即ち、処理結果と共に、確認メッセージ１３０１として「違う」ボタンの代わりに処理候補リスト１３０４及び「変更」ボタン１３０３を表示する。このようにすることで、ユーザが所望の処理を選択できるようにすることで操作の煩雑さを軽減することができる。具体的には、表示結果がユーザが意図するものと違うと判断した場合に、処理候補リスト１３０４の中から意図する処理を選択し、「変更」ボタン１３０３を押すことで、所望の処理結果へ速やかに導くことができる。
【００５２】
また、本実施の形態では処理後に選択式のメッセージが表示される構成としたが、「違う」ボタンのみを表示してもよい。図１４に「違う」ボタンのみを表示した場合の画面を示す。この場合には、「違う」ボタン１４０１がユーザにより押されると図７における「違う」ボタン７０３を押した場合と同様の処理が行われる。また、「違う」ボタン１４０１の任意の場所が押されると「よい」ボタン７０２が押されたのと同様の処理、すなわち処理の確定が行われる。この構成により、選択操作の煩雑さを軽減することができる。
【００５３】
また、図１４に示すように、「違う」ボタン１４０１の表示とともに、ポインタ１４０２を違うボタン１４０１に重ねるように表示させてもよい。これは「違う」ボタン１４０１の座標に基づきポインタ１４０２の表示位置を制御することで実現される。逆に、既に表示されているポインタ１４０２の座標に基づき、「違う」ボタン１４０１の表示位置を制御してもよい。この構成により、ユーザがポインタ１４０２を「違う」ボタン１４０１まで移動させる操作を行う必要がなくなり、操作の手間を省くことができる。
【００５４】
また、図１５に示すように、処理の対象となったオブジェクトに重ねてメッセージまたは「違う」ボタン１５０１を表示させてもよい。この場合は、処理対象のオブジェクトＩＤ及びその座標に基づき、メッセージまたは「違う」ボタン１５０１の表示位置を制御することで実現される。
【００５５】
本実施の形態において例示されるグラフィカルユーザインタフェースの構成部品の寸法、形状、それらの相対配置などは本発明が適用されるアプリケーションや各種条件により適宜変更されるべきものであり、本発明がそれらの例示に限定されるものではない。
【００５６】
また、上記実施の形態では、電子アルバム編集アプリケーションに本発明を適用した場合を例にとって説明したが、グラフィカルユーザインタフェースによりファイルを管理する様々なアプリケーションに適用できることは言うまでもない。
【図面の簡単な説明】
【００５７】
【図１】本発明の実施の形態における情報提供システムの概略構成を示すブロック図である。
【図２】本発明の実施の形態における情報処理装置の概略構成を示すブロック図である。
【図３】本発明の実施の形態にかかるトレイ上の写真をアルバムページへ割り当てる際の処理を示すフローチャートである。
【図４】本発明の実施の形態にかかるアルバムページ上の写真を拡大する際の処理を示すフローチャートである。
【図５】本発明の実施の形態にかかるトレイ上の写真をアルバムページへ割り当てる際のユーザインタフェースの一例を示す図である。
【図６】本発明の実施の形態にかかるトレイ上の写真をアルバムページへ割り当てる際のユーザインタフェースの一例を示す図である。
【図７】本発明の実施の形態にかかるトレイ上の写真をアルバムページへ割り当てる際のユーザインタフェースの一例を示す図である。
【図８】本発明の実施の形態にかかるトレイ上の写真をアルバムページへ割り当てる際のユーザインタフェースの一例を示す図である。
【図９】本発明の実施の形態にかかるアルバムページ上の写真を拡大する際のユーザインタフェースの一例を示す図である。
【図１０】本発明の実施の形態にかかるアルバムページ上の写真を拡大する際のユーザインタフェースの一例を示す図である。
【図１１】本発明の実施の形態にかかるアルバムページ上の写真を拡大する際のユーザインタフェースの一例を示す図である。
【図１２】本発明の実施の形態にかかるアルバムページ上の写真を拡大する際のユーザインタフェースの一例を示す図である。
【図１３】本発明の実施の形態にかかるアルバムページ上の写真を拡大する際のユーザインタフェースの一例を示す図である。
【図１４】本発明の実施の形態にかかるトレイ上の写真をアルバムページへ割り当てる際のユーザインタフェースの別の一例を示す図である。
【図１５】本発明の実施の形態にかかるトレイ上の写真をアルバムページへ割り当てる際のユーザインタフェースの別の一例を示す図である。
【図１６】本発明の実施の形態にかかる電子アルバム編集アプリケーションにおいて使用される操作特定用テーブルを示す図である。
【図１７】本発明の実施の形態にかかる電子アルバム編集アプリケーションにおいて使用される処理関数テーブルを示す図である。
【図１８】本発明の実施の形態にかかる電子アルバム編集アプリケーションにおいて使用される代替処理テーブルを示す図である。
【図１９】本発明の実施の形態にかかる電子アルバム編集アプリケーションにおいて使用されるエリア情報テーブルを示す図である。
【符号の説明】
【００５８】
１０１  画像入力装置
１０２  ユーザ用コンピュータ（ＰＣ）
１０３  データ転送用インタフェース
１０４  電子アルバム編集アプリケーション
１０５  データベース
２０１  表示装置
２０２  ＶＲＡＭ
２０３  ビットムーブユニット
２０４  キーボード
２０５  ポインティングデバイス
２０６  ＣＰＵ
２０７  ＲＯＭ
２０８  ＲＡＭ
２０９  ハードディスクドライブ
２１０  フロッピー（登録商標）ディスクドライブ
２１１  ネットワークインタフェース
２１２  ＣＰＵバス
２１３  ネットワーク
【図１】
2006331406.tif 000003
【図２】
2006331406.tif 000004
【図３】
2006331406.tif 000005
【図４】
2006331406.tif 000006
【図５】
2006331406.tif 000007
【図６】
2006331406.tif 000008
【図７】
2006331406.tif 000009
【図８】
2006331406.tif 000010
【図９】
2006331406.tif 000011
【図１０】
2006331406.tif 000012
【図１１】
2006331406.tif 000013
【図１２】
2006331406.tif 000014
【図１３】
2006331406.tif 000015
【図１４】
2006331406.tif 000016
【図１５】
2006331406.tif 000017
【図１６】
2006331406.tif 000018
【図１７】
2006331406.tif 000019
【図１８】
2006331406.tif 000020
【図１９】
2006331406.tif 000021