(57)【要約】【課題】    遠隔装置を、わかりやすいユーザーインターフェースで制御できるようにする。【解決手段】    ハンドヘルド表示装置１７０（遠隔装置の制御装置）は、ＣＰＵ３０と、メモリー３３と、図形イメージを表示する表示スクリーン３７と、通信ネットワークを介してメッセージを送受信するよう形成された通信回路３５を備える。遠隔装置３９，１５０は、各遠隔装置の図形ユーザーインターフェースを定めるユーザーインタフェースプログラムオブジェクトを送信する。ハンドヘルド表示装置１７０は、これを通信回路３９を介して受信する手段３４と、ユーザーインターフェースプログラムオブジェクトの中の、遠隔装置３９，１５０に対応する図形ユーザーインターフェースを表示スクリーン３７上に表示するユーザーインターフェースメソッドを呼び出す手段を備える。【選択図】          図２
2005293599.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの遠隔装置を制御する制御装置であって、
中央演算処理ユニット（ＣＰＵ）と、
前記中央演算処理ユニットに接続されたメモリーと、
前記中央演算処理ユニットに接続されており、図形イメージを表示する表示スクリーンと、
前記中央演算処理ユニットに接続されており、通信ネットワークを介してメッセージを送受信するよう形成された通信回路と、
各遠隔装置が送信するプログラムオブジェクトであって該各遠隔装置の図形ユーザーインターフェースを定めるユーザーインタフェースプログラムオブジェクトを、前記通信回路を介して受信する手段と、
前記遠隔装置に対応する図形ユーザーインターフェースを前記表示スクリーン上に表示する、前記ユーザーインターフェースプログラムオブジェクトの中のユーザーインターフェースメソッドを呼び出す手段を備える制御装置。
【請求項２】
通信ネットワークに接続された、少なくとも１つの遠隔装置を制御する表示装置であって、
中央演算処理ユニット（ＣＰＵ）と、
前記中央演算処理ユニット（ＣＰＵ）に接続されたメモリーと、
当該表示装置のユーザーインターフェースを定義するのに用いられるユーザーインターフェースオブジェクトおよび当該表示装置から前記遠隔装置を制御するのに用いられるデバイスドライバーオブジェクトを含む情報を受信する手段と、
データベースにアクセスして前記遠隔操作のための制御コードを取得する手段と、
受信したユーザーインターフェースオブジェクトに対応するポータルオブジェクトであって、少なくとも１つのオブジェクト指向メソッドに対応するポータルオブジェクトを表示する手段と、
ユーザーが前記ポータルオブジェクトを選択したときに、当該表示装置に前記遠隔装置のユーザーインターフェースオブジェクトに対応する図形を表示する手段と、
受信したデバイスドライバーオブジェクトに基づいて前記制御コードを前記遠隔装置へ送る手段を備えた制御装置。
【請求項３】
遠隔装置から図形ユーザーインターフェースを取得し、該遠隔装置を通信ネットワークに接続された手元の表示装置を用いて制御する制御方法であって、
前記遠隔装置を前記通信ネットワークに接続するステップと、
前記遠隔装置が、前記通信ネットワークに接続されている対象に対し送信し得る図形ユーザーインターフェースを備えていることを示すステップと、
前記表示装置が前記遠隔装置に前記図形ユーザーインターフェースを要求するステップと、
前記遠隔装置から前記表示装置に、要求された図形インターフェースを前記表示装置に表示するユーザーインターフェースメソッドを含む図形ユーザーインターフェースプログラムオブジェクトを転送するステップと、
前記表示装置が、前記ユーザーインターフェースプログラムオブジェクトの中の前記ユーザーインターフェースメソッドを呼び出して、前記表示装置上に前記図形ユーザーインターフェースを表示するステップとを実行する制御方法。
【請求項４】
通信ネットワークに接続された表示装置を用いて遠隔装置を制御する方法であって、
前記表示装置により、手元の表示装置のユーザーインターフェースを定義するのに用いられるユーザーインターフェースオブジェクトおよび前記表示装置から前記遠隔装置を制御するのに用いられるデバイスドライバーオブジェクトを含む情報を受信するステップと、
データベースにアクセスして前記遠隔操作のための制御コードを取得するステップと、
前記表示装置により受信したユーザーインターフェースオブジェクトに対応するポータルオブジェクトであって、少なくとも１つのオブジェクト指向メソッドに対応するポータルオブジェクトを表示するステップと、
ユーザーが前記ポータルオブジェクトを選択したときに、前記表示装置に前記遠隔装置のユーザーインターフェースオブジェクトに対応する図形を表示するステップと、
受信したデバイスドライバーオブジェクトに基づいて前記制御コードを前記遠隔装置へ送るステップとを実行する制御方法。
【請求項５】
オブジェクトを図形アイコンで表示するオブジェクト指向図形ユーザーインターフェースにおいて、プログラムオブジェクトに情報を供給する方法であって、
図形表示スクリーン上の第１の位置にデータオブジェクトの図形イメージを表示するステップと、
前記データオブジェクトを前記プログラムオブジェクトに対応するスペースに移動させるコマンドを含むユーザー入力を受け付けるステップと、
前記プログラムオブジェクトの配置位置であり前記データオブジェクトの目的地でもある前記図形表示スクリーン上の位置を含むユーザー入力を受け付けるステップと、
前記図形表示スクリーン上の前記第１の位置にある前記データオブジェクトの図形イメージの正確なコピーをぼかした色で描いた図形イメージからなるゴーストイメージを表示し、前記データオブジェクトを移動させるコマンドに応答して該ゴーストイメージおよび該データオブジェクトを移動させるステップと、
前記プログラムオブジェクトの外観を変更して、前記プログラムオブジェクトが前記データオブジェクトを受け入れたことを示すステップと、
前記プログラムオブジェクトの外観を変更したときに、前記データオブジェクトを前記プログラムオブジェクトに対応するスペースに供給するコマンドを含むユーザー入力を受け付けるステップと、
前記ゴーストイメージと前記データオブジェクトの図形イメージとを溶け合わせて、前記データオブジェクトが移動したことをフィードバックするステップとを実行するプログラムオブジェクトへの情報供給方法。
【請求項６】
オブジェクトを図形アイコンで表示するオブジェクト指向図形ユーザーインターフェースにおいて、プログラムオブジェクトに情報を供給する方法であって、
図形表示スクリーン上の第１の位置にデータオブジェクトの図形イメージを表示するステップと、
前記データオブジェクトを移動させるコマンドを含むユーザー入力を受け付けるステップと、
前記プログラムオブジェクトの配置位置であり前記データオブジェクトの目的地でもある前記図形表示スクリーン上の位置を含むユーザー入力を受け付けるステップと、
前記図形表示スクリーン上の前記第１の位置にある前記データオブジェクトの図形イメージの正確なコピーをぼかした色で描いた図形イメージからなるゴーストイメージを表示し、前記データオブジェクトを移動させるコマンドに応答して該ゴーストイメージおよび該データオブジェクトを移動させるステップと、
前記プログラムオブジェクトの外観を変更して、前記プログラムオブジェクトが前記データオブジェクトを受け入れたことを示すステップと、
前記プログラムオブジェクトの外観を変更したときに、前記データオブジェクトを前記プログラムオブジェクトに供給するコマンドを含むユーザー入力を受け付けるステップと、
前記ゴーストイメージと前記データオブジェクトの図形イメージとを溶け合わせるステップと、
それぞれがユーザーになじみのある実際の世界背景を描いた図形背景イメージからなる複数のスペースを提供するステップと、
前記図形表示スクリーン上で、対応目標スペースを有し図形アイコンからなるポータルを前記スペースの中の少なくとも１つのスペースに表示して、前記ポータルにより該ポータルが存在するスペースを前記対応目標スペースに接続するステップとを実行し、
前記位置情報を含むユーザー入力は、前記ポータルの上に所定最小時間オブジェクトを保持する操作入力であることを特徴とするプログラムオブジェクトへの情報供給方法。
【請求項７】
オブジェクトを図形アイコンで表示するオブジェクト指向図形ユーザーインターフェースにおいて、プログラムオブジェクトに情報を供給する方法であって、
図形表示スクリーン上の第１の位置にデータオブジェクトの図形イメージを表示するステップと、
前記データオブジェクトを移動させるコマンドを含むユーザー入力を受け付けるステップと、
前記プログラムオブジェクトの配置位置であり前記データオブジェクトの目的地でもある前記図形表示スクリーン上の位置を含むユーザー入力を受け付けるステップと、
前記図形表示スクリーン上の前記第１の位置にある前記データオブジェクトの図形イメージの正確なコピーをぼかした色で描いた図形イメージからなるゴーストイメージを表示し、前記データオブジェクトを移動させるコマンドに応答して該ゴーストイメージおよび該データオブジェクトを移動させるステップと、
前記プログラムオブジェクトの外観を変更して、前記プログラムオブジェクトが前記データオブジェクトを受け入れたことを示すステップと、
前記プログラムオブジェクトの外観を変更したときに、前記データオブジェクトを前記プログラムオブジェクトに供給するコマンドを含むユーザー入力を受け付けるステップと、
前記ゴーストイメージと前記データオブジェクトの図形イメージとを溶け合わせるステップと、
前記オブジェクトを移動させるコマンドを含む入力を受けて、ハンドヘルド装置から引き裂きサウンドを発生するステップとを実行するプログラムオブジェクトへの情報供給方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明はコンピュータシステム用図形ユーザーインターフェースの分野に関するものであり、特に、動画図形イメージを利用してコンピュータ被制御オブジェクト指向ユーザーインターフェース付き遠隔装置をオペレーターが制御するための直覚的方法(intuitive methodology) を可能にする装置および方法に関するものである。
【背景技術】
【０００２】
今日利用できる図形ユーザーインターフェースで最も人気のある、例えば、ゼロックススター（Ｘｅｒｏｘ Ｓｔａｒ 登録商標）、アップルマッキントッシュ（Ａｐｐｌｅ Ｍａｃｉｎｔｏｓｈ 登録商標）、マイクロソフトウィンドウズ（登録商標）（Ｍｉｃｒｏｓｏｆｔ Ｗｉｎｄｏｗｓ（登録商標））図形インターフェース等は、「デスクトップメタファー(desktop metaphor)」に基づいている。デスクトップメタファーのシステムでは、表示スクリーンは仮想デスクトップとして取り扱われる。ファイル、ファイルフォールダー、プリンター等のオフィス環境で見られる一般的な対象物（以下、オブジェクトと称す）を表示するため仮想デスクトップ（つまり、表示スクリーン）上の図形シンボルを使用する。これらデスクトップメタファーのシステムには様々な制約があり、これらの制約によって人間であるオペレーターとコンピュータシステムとの間のマンマシンインターフェースの有効性が妨げられてしまう。
【０００３】
既存のデスクトップメタファーの図形ユーザーインターフェースには階層ファイルシステムの使用といった問題がある。デスクトップメタファーの図形ユーザーインターフェースのほとんどは、コンピュータファイルが階層構造に整理されたファイルシステムを有するコンピュータに基づいている。階層ファイルシステム構造には、ルートディレクトリとこのルートディレクトリに納められた複数のサブディレクトリが設けられている。さらに各サブディレクトリにサブサブディレクトリなどが設けられている場合もある。階層ファイルシステムは、内部にファイルフォールダーを備えたある種のルートファイルキャビネットのようにスクリーン上に図形表示される。マイクロソフトウィンドウズ（登録商標）やアップルマッキントッシュ（登録商標）オペレーティングシステムはいずれも、ファイルフォールダーのように表示した階層ファイルシステムを使用している。
【０００４】
ファイルフォールダーの階層構造は、新規のユーザーを混乱させることがしばしばある。例えば、ファイルをファイルフォールダーに保存し、このファイルフォールダーはさらに別のファイルフォールダーに入れ子（以下、ネストと称する）されて任意の深さの構造とするシステムは本質的に混乱を引き起こすものである、階層ファイルシステム内を進入している間にユーザーの多くは迷ってしまう。ユーザーが迷ってしまうのはファイルフォールダー同士がよく似ており、また、ファイルシステム階層内でのユーザーの位置について何もフィードバックが行われないからである。また、ファイルフォールダーには、ユーザーが定義したラベル以外にファイルフォールダーの内容についての情報がなんら設けられていないためでもある。例えば、別のユーザーが定義することも可能な短いテキストラベル以外に、開いたフォールダーがスプレッドシートデータを含んだ会計ファイルフォールダーであるか、顧客データベースを含んだデータベースファイルフォールダーであるかをユーザーが判断することは一般的には不可能である。従って、現在のデスクトップメタファーの図形ユーザーインターフェースではファイルシステム階層内でのユーザーの位置に関するフィードバックがほとんど行われないため、複雑なファイルシステム階層の中に進入することは困難である。
【０００５】
デスクトップメタファーに基づいた現在の図形ユーザーインターフェースシステムでは、デスクトップメタファーの環境に思想的に一定のアプリケーションが適合しない場合が多々ある。すなわち、オフィスに関係のないアプリケーションはデスクトップメタファーに基づいたシステムに適しない場合がある。例えば、デスクトップメタファーでは、テレビを制御するアプリケーションはデスクトップ上の「ペーパー」ファイルフォールダーに納めておかなくてはならない。
【０００６】
デスクトップメタファーのユーザーインターフェースのその他の一般的な問題としては、デスクトップ上にたくさんのアプリケーションが表示されるためデスクトップが見にくくなるといった問題がある。デスクトップメタファーシステムのユーザーの多くは、多数のアプリケーションやファイルをアイコンの形でディスプレースクリーン上に保存するのが一般的である。しかしながら、ユーザーが特定のアプリケーションまたはファイルをオープンしたい場合、散らかったデスク上から特定の紙ファイルを見つけだすのと同じで所望のアイコンを見つけだすため表示スクリーンをユーザーは検索しなくてはならない。デスクトップ上のアイコンには明瞭な階層がなく、すべて同じである。このような均等性がユーザーを混乱させ、あるタスクから別のタスクへと切り替えたい場合に問題となる。
【０００７】
デスクトップメタファーの図形ユーザーインターフェースの編成を改善するためさまざまなシステムが開発されてきた。「ルーム」という概念のシステムがある。（非特許文献１参照）この他、同様の技術は、非特許文献２、非特許文献３、特許文献１などでも紹介されている。
【０００８】
ルーム概念に基づいたシステムでは、１つのタスクあるいは関連タスクグループについて、ユーザーが実行できるそれぞれ異なるルームをユーザーが作成する。各ルームは、関連タスクグループを備えた各自の仮想デスクトップを表す。機能でルームを判別するラベルがルームのそれぞれに付されている。例えば、メールルームや、ワードプロセッサー付きタイピングルーム、あるいは、スプレッドシート付き会計ルームなどをユーザーは作成することが可能である。各部屋には、クロックなどのように全てのルームに共用されるウィンドウの他には特定のタスクルームに対応するアイコンやウィンドウだけが付与されている。
【０００９】
ルーム概念を用いたシステム内のタスク間で切替えを行うには、異なるタスクに関連しているルーム間をユーザーが移動する。例えば、スプレッドシートからメール検索に移動するには、会計ルームからメールルームへとユーザーが移動する。２つのメールの間を移動するには、現在のルームと別のルームを接続しているドアを表すアイコンをユーザーが選択する。利用可能なルームの間であればユーザーはドアを作成することができる。
【非特許文献１】「ユーザーインターフェース設計における学習的配慮：ルームモデル」、パトリックチャン(Patrick Chan)、カナダ、オンタリオ州、ウォータールー大学コンピュータ科学学部報告ＣＳ−８４−１６、１９８４年７月
【非特許文献２】「劇場としてのコンピュータ」、ブレンダローレル(Brenda Laurel)、１９９１年、アディッソンウェズレー出版社(Addison-Wesley Publishing Co.)、
【非特許文献３】「人間‐コンピュータインターフェース設計の科学」、ブレンダローレル、１９９０年、アディッソンウェズレー出版社
【特許文献１】米国特許第５，０７２，４１２号、「表示システムオブジェクトを共用するためのマルチ作業スペース付きユーザーインターフェース」、ヘンダーソンジュニア他(Henderson, Jr. etal.)
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ルーム概念は「デスクトップが散らかる」といった問題の解決には役立つが、依然として共通デスクトップメタファーに依存したものである。例えば、情報を記録するために使用する解り難い階層ファイル構造をルームインターフェースの概念で簡略化することはできない。また、デスクトップメタファーに適しないアプリケーションをシステムに加える場合に明らかになるフォームと機能の不一致もルーム概念で解決することはできない。
【００１１】
従来の図形ユーザーインターフェースでは、システムに新しいハードウェア部品を導入する度にユーザーは新しい制御ソフトウェアを追加しなくてはならなかった。例えば、アップル（Ａｐｐｌｅ 登録商標）マッキントッシュ（Ｍａｃｉｎｔｏｓｈ 登録商標）のユーザーやマイクロソフト（Ｍｉｃｒｏｓｏｆｔ 登録商標）ウィンドウズ（登録商標）のユーザーがシステムに新しいプリンターを装着したいと考えた場合、追加したそのプリンターを制御する新しいプリンタードライバーもインストールしなくてはならない。従って、システムに新しい装置を追加する度にユーザーは適当なソフトウェアを追加するために複雑な手続きを行う必要がある。
【００１２】
そこで、デスクトップメタファーのシステムに関連した問題を解決する改良型図形ユーザーインターフェースを提供して、ユーザーによるソフトウェアのロードを必要としない遠隔装置のユーザーインターフェースを得る。遠隔装置は、表示スクリーンに表示されている遠隔装置のユーザーインターフェースを用いて制御することができる。制御装置のユーザーインターフェースは遠隔装置の制御を参照しながら説明するが、コンピュータワークステーション、ポータブルコンピュータ、ハンドヘルド制御システムなどの様々な分野に適用することが可能であることは、以下の説明から理解できるものと考える。
【課題を解決するための手段】
【００１３】
本願発明は、上記問題を解決するための遠隔装置の制御装置および方法、また遠隔制御を行なう際に利用し得るプログラムオブジェクトへの情報供給方法を提供する。
【００１４】
本願発明の第１の制御装置は、少なくとも１つの遠隔装置を制御する制御装置であって、中央演算処理ユニット（ＣＰＵ）と、前記中央演算処理ユニットに接続されたメモリーと、
前記中央演算処理ユニットに接続されており、図形イメージを表示する表示スクリーンと、前記中央演算処理ユニットに接続されており、通信ネットワークを介してメッセージを送受信するよう形成された通信回路と、各遠隔装置が送信するプログラムオブジェクトであって該各遠隔装置の図形ユーザーインターフェースを定めるユーザーインタフェースプログラムオブジェクトを、前記通信回路を介して受信する手段と、前記遠隔装置に対応する図形ユーザーインターフェースを前記表示スクリーン上に表示する、前記ユーザーインターフェースプログラムオブジェクトの中のユーザーインターフェースメソッドを呼び出す手段を備える。
【００１５】
また、本願発明の第２の制御装置は、通信ネットワークに接続された、少なくとも１つの遠隔装置を制御する表示装置であって、中央演算処理ユニット（ＣＰＵ）と、前記中央演算処理ユニット（ＣＰＵ）に接続されたメモリーと、当該表示装置のユーザーインターフェースを定義するのに用いられるユーザーインターフェースオブジェクトおよび当該表示装置から前記遠隔装置を制御するのに用いられるデバイスドライバーオブジェクトを含む情報を受信する手段と、データベースにアクセスして前記遠隔操作のための制御コードを取得する手段と、受信したユーザーインターフェースオブジェクトに対応するポータルオブジェクトであって、少なくとも１つのオブジェクト指向メソッドに対応するポータルオブジェクトを表示する手段と、ユーザーが前記ポータルオブジェクトを選択したときに、当該表示装置に前記遠隔装置のユーザーインターフェースオブジェクトに対応する図形を表示する手段と、受信したデバイスドライバーオブジェクトに基づいて前記制御コードを前記遠隔装置へ送る手段を備える。
【００１６】
本願発明の第１の制御方法は、遠隔装置から図形ユーザーインターフェースを取得し、該遠隔装置を通信ネットワークに接続された手元の表示装置を用いて制御する制御方法であって、前記遠隔装置を前記通信ネットワークに接続するステップと、前記遠隔装置が、前記通信ネットワークに接続されている対象に対し送信し得る図形ユーザーインターフェースを備えていることを示すステップと、前記表示装置が、前記遠隔装置に前記図形ユーザーインターフェースを要求するステップと、前記遠隔装置から前記表示装置に、要求された図形インターフェースを前記表示装置に表示するユーザーインターフェースメソッドを含む図形ユーザーインターフェースプログラムオブジェクトを転送するステップと、前記表示装置が、前記ユーザーインターフェースプログラムオブジェクトの中の前記ユーザーインターフェースメソッドを呼び出して、前記表示装置上に前記図形ユーザーインターフェースを表示するステップとを実行する。
【００１７】
本願発明の第２の制御方法は、通信ネットワークに接続された表示装置を用いて遠隔装置を制御する方法であって、前記表示装置により、手元の表示装置のユーザーインターフェースを定義するのに用いられるユーザーインターフェースオブジェクトおよび前記表示装置から前記遠隔装置を制御するのに用いられるデバイスドライバーオブジェクトを含む情報を受信するステップと、データベースにアクセスして前記遠隔操作のための制御コードを取得するステップと、前記表示装置により受信したユーザーインターフェースオブジェクトに対応するポータルオブジェクトであって、少なくとも１つのオブジェクト指向メソッドに対応するポータルオブジェクトを表示するステップと、ユーザーが前記ポータルオブジェクトを選択したときに、前記表示装置に前記遠隔装置のユーザーインターフェースオブジェクトに対応する図形を表示するステップと、受信したデバイスドライバーオブジェクトに基づいて前記制御コードを前記遠隔装置へ送るステップとを実行する。
【００１８】
本発明の第１の情報供給方法は、オブジェクトを図形アイコンで表示するオブジェクト指向図形ユーザーインターフェースにおいて、プログラムオブジェクトに情報を供給する方法であって、図形表示スクリーン上の第１の位置にデータオブジェクトの図形イメージを表示するステップと、前記データオブジェクトを前記プログラムオブジェクトに対応するスペースに移動させるコマンドを含むユーザー入力を受け付けるステップと、前記プログラムオブジェクトの配置位置であり前記データオブジェクトの目的地でもある前記図形表示スクリーン上の位置を含むユーザー入力を受け付けるステップと、前記図形表示スクリーン上の前記第１の位置にある前記データオブジェクトの図形イメージの正確なコピーをぼかした色で描いた図形イメージからなるゴーストイメージを表示し、前記データオブジェクトを移動させるコマンドに応答して該ゴーストイメージおよび該データオブジェクトを移動させるステップと、前記プログラムオブジェクトの外観を変更して、前記プログラムオブジェクトが前記データオブジェクトを受け入れたことを示すステップと、前記プログラムオブジェクトの外観を変更したときに、前記データオブジェクトを前記プログラムオブジェクトに対応するスペースに供給するコマンドを含むユーザー入力を受け付けるステップと、前記ゴーストイメージと前記データオブジェクトの図形イメージとを溶け合わせて、前記データオブジェクトが移動したことをフィードバックするステップとを実行する。
【００１９】
本発明の第２の情報供給方法は、オブジェクトを図形アイコンで表示するオブジェクト指向図形ユーザーインターフェースにおいて、プログラムオブジェクトに情報を供給する方法であって、図形表示スクリーン上の第１の位置にデータオブジェクトの図形イメージを表示するステップと、前記データオブジェクトを移動させるコマンドを含むユーザー入力を受け付けるステップと、前記プログラムオブジェクトの配置位置であり前記データオブジェクトの目的地でもある前記図形表示スクリーン上の位置を含むユーザー入力を受け付けるステップと、前記図形表示スクリーン上の前記第１の位置にある前記データオブジェクトの図形イメージの正確なコピーをぼかした色で描いた図形イメージからなるゴーストイメージを表示し、前記データオブジェクトを移動させるコマンドに応答して該ゴーストイメージおよび該データオブジェクトを移動させるステップと、前記プログラムオブジェクトの外観を変更して、前記プログラムオブジェクトが前記データオブジェクトを受け入れたことを示すステップと、前記プログラムオブジェクトの外観を変更したときに、前記データオブジェクトを前記プログラムオブジェクトに供給するコマンドを含むユーザー入力を受け付けるステップと、前記ゴーストイメージと前記データオブジェクトの図形イメージとを溶け合わせるステップと、それぞれがユーザーになじみのある実際の世界背景を描いた図形背景イメージからなる複数のスペースを提供するステップと、前記図形表示スクリーン上で、対応目標スペースを有し図形アイコンからなるポータルを前記スペースの中の少なくとも１つのスペースに表示して、前記ポータルにより該ポータルが存在するスペースを前記対応目標スペースに接続するステップを含み、前記位置情報を含むユーザー入力は、前記ポータルの上に所定最小時間オブジェクトを保持する操作入力であることを特徴とする。
【００２０】
本発明の第３の情報供給方法は、オブジェクトを図形アイコンで表示するオブジェクト指向図形ユーザーインターフェースにおいて、プログラムオブジェクトに情報を供給する方法であって、図形表示スクリーン上の第１の位置にデータオブジェクトの図形イメージを表示するステップと、前記データオブジェクトを移動させるコマンドを含むユーザー入力を受け付けるステップと、前記プログラムオブジェクトの配置位置であり前記データオブジェクトの目的地でもある前記図形表示スクリーン上の位置を含むユーザー入力を受け付けるステップと、前記図形表示スクリーン上の前記第１の位置にある前記データオブジェクトの図形イメージの正確なコピーをぼかした色で描いた図形イメージからなるゴーストイメージを表示し、前記データオブジェクトを移動させるコマンドに応答して該ゴーストイメージおよび該データオブジェクトを移動させるステップと、前記プログラムオブジェクトの外観を変更して、前記プログラムオブジェクトが前記データオブジェクトを受け入れたことを示すステップと、前記プログラムオブジェクトの外観を変更したときに、前記データオブジェクトを前記プログラムオブジェクトに供給するコマンドを含むユーザー入力を受け付けるステップと、前記ゴーストイメージと前記データオブジェクトの図形イメージとを溶け合わせるステップと、前記オブジェクトを移動させるコマンドを含む入力を受けて、ハンドヘルド装置から引き裂きサウンドを発生するステップとを実行する。
【発明を実施するための最良の形態】
【００２１】
［表記法および用語]
以下に行う詳細な説明の多くは、表示イメージ、アルゴリズム、コンピュータメモリー内のデータビットの演算の記号表示に関するものである。これらのアルゴリズム記述および表示は、データ処理の分野に精通した者が同じ分野の人に仕事の内容を最も効果的に伝達するために使用する手段である。
【００２２】
ここで、アルゴリズムとは所望の結果へ導く数々のステップの一貫した手順であると一般には考えられている。これらのステップは物理量の物理的操作を必要とするものである。通常、必ずというわけではないが、これらの物理量は記録、転送、結合、比較、選択、被選択、変更あるいは操作が可能な電気または磁気信号の形をしている。共通に使用できるというのが主な理由であるが、これらの信号をビット、値、エレメント、記号、文字、イメージ、項、番号などと呼ぶと便利な場合もあることが分かる。しかし、他の類似の用語と同様にこれらの言葉は全て適当な物理量に対応したものであり、また、これらの物理量に貼った便利なラベルにしかすぎないということを忘れてはならない。
【００２３】
現在では、演算とは人間のオペレーターと機械が共同で行うものである。本願発明の演算実行用マシンは、汎用デジタルコンピュータあるいは他の同様のデバイスを内蔵している。どのような場合でも、コンピュータを動作させるための方法オペレーションと演算自体の方法は異なるものであることを忘れてはならない。本願発明は、コンピュータを動作させ、また、電気あるいはその他の物理信号を処理して別の所望の物理信号を生成させる方法ステップに関するものである。
【００２４】
また、本願発明はこれらの演算を実行する装置に関するものでもある。この装置は必要に応じて特別に構成することが可能で、コンピュータに記録されているコンピュータプログラムで選択的に起動したり、または、再構成される汎用コンピュータで構成することが可能である。この明細書で使用しているアルゴリズムは、特定のコンピュータや他の装置に固有のものではない。特に、プログラムを用いてさまざまな汎用機をこの明細書に記載されている方法に従って使用することが可能である。あるいは、必要な方法のステップを実行する特別の装置を構成してもっと便利にすることもできる。これらさまざまなマシンに必要な構成はこれから行う説明で明らかにする。本願発明の機能を実行可能なマシンとしては、カリフォルニア州、マウンテンビューのサンマイクロシステムズ社（Ｓｕｎ Ｍｉｃｒｏｓｙｓｔｅｍｓ， Ｉｎｃ．）を含むコンピュータシステム製造メーカーの他にジアサイニー（ｔｈｅ Ａｓｓｉｇｎｅｅ）、ファーストパーソン（ＦｉｒｓｔＰｅｒｓｏｎ）社などで製造されている装置がある。
【００２５】
［コーディングの詳細］
この明細書には、明細書で説明している様々な手順(procedures)を実行する特定のプログラム言語は示されていない。これは、一つには、列挙可能な言語全てが世界的に利用可能ではないためである。特定のコンピュータのユーザーは、目の前の目的の最も適した言語を知っているものである。実際には、高度な言語で本願発明を実現し、次にこの言語をマシンが実行可能なオブジェクトコードにコンパイルするのが有用であることが分かっている。本願発明の実施時に使用可能なコンピュータやモニター装置は異なる種類の多数のエレメントで構成されているため、詳細なプログラムリストはこの明細書には記載していない。一般的な技術を有したものであれば本願発明を実施できる程度に十分にオペレーションおよびその他の手順(procedures)を当該明細書および図面において示している。
【００２６】
［実施形態の概略説明］
以下に示す実施形態の図形ユーザーインターフェースはハンドヘルド表示装置上に表示される。ハンドヘルド表示装置は、図形表示システムに接続された少なくとも１個の中央演算ユニット（ＣＰＵ）から構成されている。以下に示す例においては、図形表示システムはタッチ感知式であり、キーパッドなどの他の入力装置を用いずにユーザーは指で情報を入力することができる。ＣＰＵには通信回路も接続されており、何らかの通信媒体を介して情報を通信する。遠隔装置の制御、および、遠隔装置との通信には通信回路を使用する。
【００２７】
図形ユーザーインターフェースでは地理的地図構造の形にまとめられた空間世界(a world of Spaces) を作成する。各空間は普通の地理的環境を構成しているため空間世界の内部を航行する(navigates) のは簡単である。各スペースは背景イメージで表示され、このイメージは地理的地図構造内のどこにこのスペースが位置しているかを識別する航行目印になっている。例えば、居間スペースの背景イメージにはランプ、椅子、テーブルなどが一般的に居間に見受けられる品物が含まれている。このため、実際の世界で人が行うのと同じように辺りを見回し、また、調べることによりユーザーは自分を方向付けできるため、この「世界」を航行するのはずっと簡単になる。
【００２８】
各スペースの中には、ユーザーが選択および操作できる図形オブジェクトがユーザーインターフェースによって配設されている。図形オブジェクトは、実際の世界のテレビやＶＣＲのように簡単に判別することが可能な漫画のような動画図形オブジェクトになっている。ユーザーインターフェースのスペース内に存在するオブジェクトの種類は少なくとも三種類ある。すなわち、データオブジェクト、ボタン、門（以下、ポータルと称す）の三種類である。データオブジェクトとは、特定の１つの情報に関連したオブジェクトである。ボタンとは特定の機能や動作に関連したオブジェクトのことである。つまり、ユーザーがボタンを選択すると、そのボタンに対応する機能または動作をユーザーインターフェースが実行する。ポータルとは、第１スペース内に表示された第２スペースに対応するオブジェクトのことである。すなわち、ユーザーがポータルを選択すると、ユーザーはそのポータルの中へ入って行き、このポータルに対応する第２スペースへと進む。ユーザーの動作に合わせた音を用い、また、視覚フィードバックを与えればユーザー環境はさらに向上する。
【００２９】
実際の世界の遠隔装置を制御するため、スクリーン上に示されている図形オブジェクトの多くは実際の世界の遠隔装置に対応付けられている。遠隔装置を制御するため、ユーザーは特定の遠隔装置に対応した表示スクリーン上の図形オブジェクトを選択する。遠隔装置に対応した図形オブジェクトをユーザーが選択すると、遠隔装置を制御するためのユーザーインターフェースがハンドヘルド表示装置に表示される。こうして、遠隔装置のユーザーインターフェースとユーザーは会話することが可能になる。遠隔装置を制御するため、本願発明では遠隔装置用デバイスドライバメソッドを呼び出す。このデバイスドライバメソッドは、遠隔装置の精巧度にもよるが、遠隔装置内またはハンドヘルド表示装置の内部に配置することが可能である。
【００３０】
以下、図面を参照しながら本願発明の好適実施態様を詳細に説明する。
【００３１】
直覚図形ユーザーインターフェースを備えたコンピュータベース遠隔制御システムを説明する。以下説明のため、本願発明を完全に理解できるよう特定の用語を説明する。しかし、これら特定の詳細な説明事項は本願発明の実施に必ず必要なものではないことは当業者には自明のことである。他の場合には、発明が不必要に分かり難くならないよう周知の回路、機能、プロセスおよび装置はブロック図や概念図の形で示している。
【００３２】
［システムの構成］
図１はコンピュータベース遠隔制御システムの概要を示したものである。メイン部品は図１のハンドヘルド表示装置１７０で構成されている。この実施例では、ハンドヘルド表示装置１７０はカラー図形タッチスクリーンディスプレイ付きコンピュータシステムで構成されている。ハンドヘルド表示装置１７０は、サーモスタット１５０、ビデオカセットレコーダー３９、ステレオ装置１５２などの互換性のある遠隔装置を制御するよう設計されている。ハンドヘルド装置１７０は、通信媒体１６０を用いて遠隔装置と通信を行う。
【００３３】
図１に示されている遠隔制御システムは、モジュラーオブジェクト指向ソフトウェアに基づいているため従来の遠隔制御システムとは大きく異なっている。オブジェクト指向ソフトウェアにより従来の遠隔制御システムでは利用できなかった機能が利用できる。例えば、オペレーター（「ユーザー」と呼ぶ場合もある）がシステムにサーモスタット１５０などの新しい互換性遠隔装置を付け加えると、新しい遠隔装置は自身の情報をハンドヘルド表示装置１７０へ送信する。伝達された情報の中には、遠隔装置へ図形ユーザーインターフェースを送る時に用いることが可能なユーザーインターフェースオブジェクトが含まれている。この遠隔制御システムでは、ユーザーインターフェースオブジェクトを用いて、新しい遠隔装置用図形ユーザーインターフェースを、ハンドヘルド表示装置１７０上に表示する。利用可能なユーザーインターフェースオブジェクトを全て編成するため、ハンドヘルド表示装置１７０は、一組のジェスチャーを用いながら簡単に航行できる地理的スペースの「世界」を作成する。
【００３４】
まず、ハンドヘルド表示装置１７０と互換性遠隔装置を構成するのに必要なハードウェアについて、説明する。続いて、ハンドヘルド表示装置１７０に表示される地理的スペースとオブジェクトからなる図形ユーザーインターフェースについて説明し、オペレーターがユーザーインターフェース回りを航行するときに使用する一組のジェスチャーを定義する。ユーザーインターフェースのエレメントを結合するため、航行用ジェスチャー(navigational gestures) をどのように用いてハンドヘルド装置１７０に表示されているオブジェクトと会話するのか、ユーザーインターフェースを具体的に例示しながら説明する。最後に、ハンドヘルド表示装置１７０が外部遠隔装置と通信を行い、また、該遠隔装置を制御できるよう遠隔装置から情報を引き出すシステムを定義する。
【００３５】
なお、添付図面では本願発明の特徴部分が白黒で表示されているが、後で説明するように、実際の実施態様ではオブジェクトおよび特徴部分はカラーで表示されるものである。
【００３６】
［ハードウェア構成］
ハンドヘルド表示装置１７０は図２に示すようなコンピュータシステムで構成されている。図２のコンピュータシステム１７０は、中央演算処理ユニット（ＣＰＵ）３０、メモリーユニット３３、入力／出力（Ｉ／Ｏ）ユニット３４から構成されている。これらの部品はほとんどの汎用コンピュータでよく見られる部品であり、事実、ハンドヘルドコンピュータシステム１７０は図形表示を生成可能な幅広い範囲のデータ処理装置の典型となることを目的としているのである。
【００３７】
コンピュータシステム１７０の入力／出力（Ｉ／Ｏ）ユニット３４にはカラー図形スクリーンディスプレイ３７が接続されている。スクリーンディスプレイ３７の一部は陰極線管（ＣＲＴ）モニタまたは液晶ディスプレイ（ＬＣＤ）などのカラーラスタ表示装置で構成されている。スクリーンディスプレイ３７は、図形イメージを表示できる程度の十分な解像度のものでなくてはならない。
【００３８】
スクリーンディスプレイ３７は、タッチスクリーン表示装置が内蔵されたものとすることが好ましい。タッチスクリーンディスプレイは、スクリーンディスプレイ３７を指が触っていることを検出できる構成を備えている。さらに、スクリーンディスプレイ３７上でのユーザーの指のジェスチャーをスクリーンで感知できるようスクリーンディスプレイ３７に触れている指の正確な位置をタッチスクリーンは識別できる。タッチスクリーンディスプレイ３７は、市販されている様々な種類のタッチ感知表示スクリーンの一つで構成されている。
【００３９】
あるいは、タッチ感知表示スクリーンを用いずにハンドヘルドコンピュータシステム１７０を従来の図形表示システムで構成することも可能である。このようなシステムでは、ユーザーと会話するための代替入力システムが必要である。図２は代替入力装置４２を示している。本願発明のユーザーインターフェースはマウス、トラックボール、ジョイスティックなどの代替入力装置４２を用いて使用することも可能であるが、本実施形態では、タッチスクリーンディスプレイ３７を用いる場合について説明する。
【００４０】
システムの稼働中、ＣＰＵ３０は、メモリー３３に記録されているコンピュータコードを実行することにより図形ユーザーインターフェースを生成し、タッチスクリーンディスプレイ３７に表示する。コンピュータ技術に精通した者が多くのコンピュータ言語のうちいずれか一つの言語を用いて様々なコンピュータシステムに本願発明を利用できるよう本明細書では本願発明を十分に説明しているため、メモリー３３に記録されているコンピュータコードは明細書では開示しない。
【００４１】
図２のコンピュータシステム１７０の入力／出力（Ｉ／Ｏ）ユニット３４には外部通信回路３５が接続されている。外部通信回路３５は、ハンドヘルドコンピュータシステム１７０に対する情報の送受信装置として機能する。本実施形態では、通信媒体１６０によりビデオカセットレコーダー３９やサーモスタット１５０などの遠隔装置との通信を行うのに、コンピュータシステム１７０内の通信回路３５を用いる。通信回路３５では、高周波、低電力、セルラー、赤外線信号あるいは従来の電力線上を搬送されるデータ信号など多くの周知通信技術のうちいずれか一つの技術を用いる。
【００４２】
遠隔装置は、ハンドヘルド表示装置１７０によって制御されるように、ハンドヘルド表示装置１７０から送信される情報を受信する手段を少なくとも一つ有していなくてはならない。理想的には、遠隔装置は情報の送受信ができるインテリジェント装置であるのがよい。しかし、ハンドヘルド表示装置１７０では、下に説明する３タイプの遠隔装置のうちいずれか一つに適合した遠隔装置であれば制御できる。
【００４３】
１つ目のタイプの遠隔装置は、ハンドヘルド表示装置１７０で作動するよう特別に設計された「インテリジェント遠隔装置」である。ここでは、「インテリジェント遠隔装置」はマイクロプロセッサ、通信システム、メモリーを内蔵した遠隔装置と定義する。図３にはインテリジェント遠隔装置１５０内の部品のブロック図が示されている。図３に示すように、インテリジェント遠隔装置１５０は、ＣＰＵ４０３，メモリー４０４、通信回路４０１、装置制御回路４０５から構成されている。
【００４４】
ハンドヘルド表示装置１７０は、インテリジェント遠隔装置の通信回路４０１を介してインテリジェント遠隔装置１５０と通信を行う。メモリー４０４には、ＣＰＵ４０３で使用したプログラムやデータが記録されており、これらのデータにはユーザーインターフェースオブジェクト３０３やデバイスドライバーオブジェクト３０１が含まれている。インテリジェント遠隔装置内のＣＰＵ４０３はデバイスドライバーオブジェクト３０１内のメソッドを呼び出して遠隔装置を制御する。
【００４５】
２つ目のタイプの遠隔装置は、ハンドヘルド表示装置１７０で作動するよう特別に設計された「単純遠隔装置」である。ここでは、遠隔装置がマイクロプロセッサーを備えていなかったり、遠隔装置内のデバイスドライバーオブジェクト中の方法をハンドヘルド表示装置１７０が呼び出せない程原始的なプロセッサーを遠隔装置が内蔵しているような場合は、その遠隔装置は「単純遠隔装置」と定義する。
【００４６】
図４は一般的な単純遠隔装置１５５内の部品のブロック図を示している。図４に示すように、単純遠隔装置１５５はエミッタ４２０、受信器４２１、メモリー４２４、デバイス制御回路４２５から構成されている。メモリー４２４の内容をハンドヘルド表示装置１７０へ転送する時に単純遠隔装置１５５内のエミッタ４２０を使用する。従って、単純遠隔装置１５５からはユーザーインターフェースオブジェクト３５３とメモリー４２４内のデバイスドライバー３５１の両方を送信し、ハンドヘルド表示装置ではこれら両方のオブジェクトを受信する。
【００４７】
単純遠隔装置１５５を制御するため、表示装置１７０はデバイスドライバーオブジェクト３５１内のメソッドを呼出してユーザーの対話を単純な定義済み制御コードへ翻訳する。次に、表示装置１７０は単純な定義済み制御コードを単純な遠隔装置１５５に送信する。この遠隔装置は受信器４２１を介して制御コードを受信し、さらに、デバイス制御回路４２５へその情報を出力する。
【００４８】
３つ目のタイプの遠隔装置は、赤外線信号などの被伝送信号によって制御可能な従来の電子装置である。すなわち、本願発明は遠隔制御が可能なほとんどの旧式な従来装置にも適合している。図５は被コード化信号で制御可能な一般的な電子装置１５７を示している。この装置は、伝送された被コード化信号を受信する受信器４５０と被コード化制御信号に応答するデバイス制御回路４５５を備えている。ハンドヘルド表示装置１７０は、被コード化制御信号を伝送して電子装置１５７を制御する。遠隔電子装置１５７は伝送された信号を受信し、それに準じてこれに応答する。
【００４９】
［表示装置ユーザーインターフェース］
製品デザイナーは、使い易い新規製品を作製するため、想定したオペレーターがすでに操作方法を知っている旧製品と同じように新規製品も動作するよう試みるものである。例えば、オーディオカセットテープレコーダーは、操作方法を知らない人はいないくらい長い間利用されている。従って、再生、停止、巻戻し、早送り、記録などカセットテープレコーダー上のボタンはほとんどの人が知っている。ビデオカセットレコーダーの製造業者は、この一般的な知識を利用して操作が簡単なビデオカセットレコーダーを製造したのである。ビデオカセットレコーダーでは、再生、停止、巻戻し、早送り、記録ボタンといったオーディオカセットレコーダーの操作用と同じボタンを使用しているため使用が簡単なのである。
【００５０】
ハンドヘルド表示装置１７０を使い易くするため、ハンドヘルド表示装置１７０には直覚図形ユーザーインターフェースを表示する。この章では、ユーザーのためにハンドヘルド表示装置１７０に表示される図形ユーザーインターフェースを定義する。
【００５１】
簡単に航行できる図形ユーザーインターフェースを設計するため、デザイナーはユーザーのほとんどがすでに理解している構造で図形ユーザーインターフェースを構成しなくてはならない。人間は、三次元の図形世界に生活している。三次元の図形世界で生き残るには、家、近所、町などの地理的スペースを含む局所的な地理的領域を航行する方法を学ばなくてはならない。このため、人間は、関連地域世界の地理的スペースについての観念的な地図を各自作製する。
【００５２】
人が作製する地理的スペースの観念的地図は事実上の地理的地図構造である。図６は、典型的な地理的地図構造を示したものである。例えば、地球上の人は誰でも自分が地球上で生活していることが分かっている。また、各自特定の町で生活しており、地球上には別の町があることも分かっている。地球上のある町の通りにある特定の家を識別するということは、図６に示す地理的地図構造で行っている自然な行動である。
【００５３】
地理的地図構造は家の中へも拡張することができる。例えば、居間は家の中にある多くの部屋のうちの一つである。テレビ、テレビ番組表、ビデオカセットレコーダーは居間に置かれているオブジェクトである。各オブジェクトは固有の図形スペースを有している。地図構造は、地理的スペースだけでなく抽象的なスペースにも拡張することが可能である。テレビ番組表にのっているテレビ番組にはそれぞれのプログラムが記載されている。この番組記事はテレビ番組表の中のスペースと考えることができる。この地理的スペースの構造および各地理的スペース内にある詳細事項の両方をほとんどの人は理解している。このため、スペースの事実上の地理的地図構造は、ほとんどの人になじみのある構造を表しているのである。
【００５４】
本実施形態では、地理的ユーザーインターフェース内の三次元世界のなじみのある地理的地図構造を使用している。地理的スペースを表す図形背景イメージを通して任意の大きさおよび複雑さの図形地図構造内をユーザーが航行する技術を説明する。このような図形地図構造によって複雑なデータ構成のユーザーメモリーが改善される。このような地理的地図構造を備えている利点としては、構造に馴染みがあるためコンピュータによって簡単になった情報記録を広範囲の人々が利用できることにある。
【００５５】
図７と図８では本願発明で利用している地理的サンプル地図構造を示している。図７と図８の地理的地図構造の各スペースは、図２のハンドヘルド表示装置の表示スクリーン上に示される背景イメージのように表されている。各地理的スペース内にはユーザーが選択および操作可能なオブジェクトが配置されている。
【００５６】
［ユーザーインターフェース表示エレメント］
本実施形態におけるユーザーインターフェース環境は、「スペース」と選択可能な「オブジェクトの二つの主要な表示エレメントから構成されている。図７と図８の地理的地図構造の各領域はスペースを表している。スペースは地理的基準になっており、この基準によって地理的地図構造のどこに現在ユーザーがいるのかを知らせてくれる。各スペース内のオブジェクトはユーザーが選択および操作可能である。タッチスクリーンディスプレイ３７を備えたハンドヘルド表示装置１７０の実施例では、タッチスクリーンディスプレイ３７に表示されているオブジェクトを触ることによりユーザーはオブジェクトを選択できる。タッチスクリーンを除くユーザーの指や入力装置以外の指示装置で選択やユーザー入力を異なる方法で処理することも可能である。
【００５７】
［スペース］ 
図７と図８の各スペースには、スペース用の適当なイメージから成る関連背景イメージが設けられている。ユーザーがスペース内に入って行くと、スペースの背景イメージが表示スクリーンに現れる。各背景イメージには、ユーザーが現在の居場所を識別できるようにした目印が含まれている。例えば、図７の地球表面スペース３２は図１０と図１１に示されているような背景イメージとして表示される。図１０と図１１の地球表面背景イメージは地球表面の通りに似せられており、これにより、ユーザーは地図構造の地球表面スペースにいることが分かる。このシステムでは、背景イメージと選択可能なオブジェクトを簡単に区別できるよう彩度の無い(desaturated) またはぼんやりした色を用いて背景イメージを表示する。スペース用背景イメージは表示スクリーンより大きくてもよい。このため、システムは、後で説明するように、ユーザーがスペース内を動き回るための「移動(panning) 」ジェスチャーを提供している。
【００５８】
［オブジェクト］
オブジェクトはそれぞれ図形アイコンであり、アイコンはスペースの背景イメージ内に表示される。各オブジェクトは、実際は、呼び出してデータ上で起動できるデータメソッドを有したオブジェクト指向プログラミングタイプのオブジェクトである。スペースの背景技術内に現れるオブジェクトはどれでもユーザーが選択および操作することができる。オブジェクトはどれも明るい色で着色されており、輪郭は黒色の線で描かれている。この明るい色によって、スペース内のオブジェクトと彩度の無いカラーを用いて描いたスペースの背景イメージは区別される。オブジェクトをユーザーが指し示すと、このオブジェクトは選択および操作可能なオブジェクトであることをユーザーに知らせる「選択可能オブジェクト」サウンドがユーザーインターフェースから生成される。図１０を再度参照する。以下に示す例では、家４７と家４８がユーザーが選択および操作可能なオブジェクトである。
【００５９】
本願発明では、動作がいつ起こるかをユーザーに知らせるため「事前動画化」を用いている。事前動画化とは、ＣＰＵ３０で生成した短い動画を表示スクリーンに表示するものである。ほとんどの場合、事前動画化とはオブジェクトが選択された時にユーザーの方向へアイコンが近づいているように見えるようオブジェクトアイコンを拡大することにある。
【００６０】
例えば、図９において、地球ポータル(portal)１００を選択すると、地球ポータル１００がユーザーに近づいているかのように地球ポータル１００は拡大される。ユーザーインターフェースは、地球ポータル１００への移動を知らせるよう（anticipate）アイコンを事前動画化した後、図１０に示すような地球ポータル１００に対応した地球表面スペース３２へユーザーを移動させる。
【００６１】
ユーザーが所定最小時間オブジェクトを指し示してオブジェクトを選択すると、ＣＰＵは、音声を生成し、オブジェクトの呼び出しを知らせながらオブジェクトに対応した動作を実行するオブジェクト内のメソッドを呼び出す。
【００６２】
本実施形態のユーザーインターフェースには、少なくとも３種類のオブジェクトが存在している。すなわち、データオブジェクト、ボタンそしてポータルである。最も単純なオブジェクトはデータオブジェクトである。データオブジェクトは、一組のデータに対応したオブジェクトである。ボタンは、機能を達成する手段を提供するオブジェクトである。ポータルとは、異なるスペース間を移動する方法を提供するものである。以下、各タイプのオブジェクトを説明する。
【００６３】
［データオブジェクト］
データオブジェクトは、幾つかの情報を表すのに使用する単純なオブジェクトである。例えば、データオブジェクトは色やテレビのチャンネルを表すことができる。データオブジェクトは、データオブジェクトを選択した時に呼び出されて対応する動作や機能を実行可能なメソッドは備えていない。しかし、データオブジェクト内の情報を使用する他のオブジェクト上にデータオブジェクトを落とすことは可能である。例えば、ビデオカセットレコーダーオブジェクト上にテレビ番組表データオブジェクトを落としてビデオカセットレコーダーをプログラムし、テレビ番組を記録することができる。
【００６４】
［ボタン］
ボタンオブジェクトは対応する動作または機能を有した特別オブジェクトである。ユーザーがボタンを選択すると、ＣＰＵ３０はボタンオブジェクトの動作メソッドを呼出し、そのボタンに対応する動作または機能を実行させる。ボタンを選択すると、ＣＰＵはボタン操作が行われたことを知らせ、「ボタン動作」サウンドを発生する。この音はボタンが選択されたことをユーザーにフィードバックする。特定のボタンでは、さらに視覚フィードバックも行われ、ＣＰＵは、呼び出したメソッドの結果をユーザーに知らせ、ボタンに対応する動作を実行する。
【００６５】
例えば、図１４では、テレビ電源「ＯＮ」ボタン６１とテレビ電源「ＯＦＦ」ボタン６２が表示されている。ユーザーがテレビ電源「ＯＮ」ボタン６１を選択すると、ＣＰＵ３０は、テレビ電源「ＯＮ」ボタン６１の操作が行われたことを知らせ、「ボタン動作」サウンドを発生する。ＣＰＵ３０はさらに、図１４のテレビ制御パネルに対応した実際のテレビ装置をオンするのに必要な情報を伝送するメソッドをボタンオブジェクトの中から呼び出す。
【００６６】
実際のテレビ装置が「インテリジェント遠隔装置」の場合は、表示装置へテレビ装置から結果値(result value)が返却され、テレビがオンされたかどうかをユーザーに知らせる。次に、ユーザーインターフェースはテレビ電源「ＯＮ」ボタン６１を点灯し、「ブーン」という音を発生させて実際のテレビはオンされていることをユーザーに知らせる。
【００６７】
ユーザーインターフェースの「世界」をユーザーのニーズに合うよう特別に作成できるよう異なるスペースへボタンをコピーしたり移動したりできる。例えば、テレビ電源「ＯＮ」ボタン６１とテレビ電源「ＯＦＦ」ボタン６２をコピーし、コピーされたボタンをテレビ制御スペースから別のスペースへ移動させることができる。ユーザーは、新しいスペースでテレビ電源「ＯＮ」ボタン６１とテレビ電源「ＯＦＦ」ボタン６２のコピーを使用してテレビを制御することが可能である。
【００６８】
［ポータル］
ポータルは、現在のスペースからポータルに対応する別のスペースへ移動する簡単な方法を提供するオブジェクトである。ユーザーはポータルを選択するだけで現在のスペースからポータルに対応する別のスペースへ移動できる。ユーザーがポータルを選択すると、ＣＰＵは、ポータルへの移動を知らせ（anticipate）、「ポータル通過サウンド」を発生する。そして、ＣＰＵは、このポータルに対応するスペースへユーザーが移動するメソッドを呼び出す。
【００６９】
例えば、図７の地理的地図では、地球表面スペース３２から家スペース５０に移動するには、ユーザーは家ポータル４８を選択するだけでよい。図１０に示すように、地球表面３２では、ユーザーは地球表面３２の中の家ポータル４８を選択することにより移動できる。家ポータル４８が選択されると、ＣＰＵは、家ポータル４８への移動を知らせ（anticipate）、「ポータル通過サウンド」を発生する。これにより、ユーザーは、図１２に示すように家スペース５０の中に移動する。
【００７０】
ユーザーインターフェースの「世界」を客のニーズに合ったものにできるようポータルは複製および移動することができる。例えば、図１３では、居間スペース６０の中にテレビ番組表ポータル７１が表示されている。このテレビ番組表ポータル７１はテレビ番組表情報を含んだスペースに対応している。ユーザーはテレビ番組表ポータル７１をコピーし、テレビ番組表にアクセスできると思われる別のスペースへそのコピーを移動することができる。ユーザーはこのテレビ番組表ポータルのコピーを用いて本来のテレビ番組表ポータルでアクセス可能な情報と同じ情報にアクセスすることができる。このように、ユーザーは異なるスペースから同じ情報をアクセスすることができる。
【００７１】
ユーザーインターフェースのオペレーターがほとんどいつでも利用可能な特別のポータルが二つある。すなわち、ウェイバックポータルとエージェントポータルの二つである。
【００７２】
［ウェイバックポータル］
ウェイバックポータル（後戻り用の門）は、異なるスペースの間をユーザーが辿ってきた経路を後戻りする方法を提供するものである。ウェイバックポータル４５は小さな矩形のフレームから構成されており、ユーザーが辿ってきたスペースの経路に従って前回のスペースのスナップショットがそのフレーム内に表示される。スペースの背景イメージは単一の画面で見ることのできるイメージよりも大きいため、ユーザーが前回のスペース内を通過した時に見えたのと同じように、ウェイバックポータルには前回のスペースの画のスナップショットが示されている。本実施形態では、ウェイバックポータルはどのスペースであっても表示スクリーンの右下隅にてユーザーが利用できるようになっている。必要であれば、全てのスペースのスクリーン上の新しい位置にウェイバックポータルが現れるようユーザーは表示スクリーン上の新しい場所にウェイバックポータルを移動することができる。
【００７３】
現在の経路に沿って一つ前のステップへ戻るには、ユーザーはウェイバックポータル４５を選択する。これが選択されると、ＣＰＵ３０はウェイバックポータル４５の通過を知らせて、「ウェイバックポータル通過サウンド」を発生し、ウェイバックポータル内に図示されているスペースへユーザーを移動させる。本実施形態では、後方へ演奏される点を除けば、「ウェイバックポータル通過」サウンドは「ポータル通過」サウンドと実際には同じサウンドである。ウェイバックポータルを通過する時に「ポータル通過」サウンドを後方に演奏することにより、現在の経路を後戻りしていることがユーザーに強調される。
【００７４】
ユーザーはポータルを通過する時に目に見えないマーカーの航跡(trail) を残す。各マーカーはスペースへの訪問を表している。ウェイバックポータルはこれらのマーカーを管理し、訪問したスペースの順番にマーカーを保持している。マーカーとマーカーの順番からユーザーがユーザーインターフェースの世界を辿ってきた経路が定まる。このように、ユーザーがウェイバックポータルを通過すると、マーカーで形成された経路を一回に一つのマーカー分だけ後戻りする。ユーザーがウェイバックポータルを通過してスペースへ行く度にウェイバックが現在管理している複数のマーカーの中から一つ削除される。
【００７５】
例えば、図７の地理的地図構造では、宇宙空間スペース９９からユーザーがスタートする場合、地球表面３２へ移動し、次に家スペース５０へ移動する。この結果、宇宙空間スペース９９から地球表面スペース３２、さらに家スペース５０へと経路が作成される。この経路を進んで行くと、図１２に示すような家スペース５０が表示スクリーンに表示される。家スペース５０の右下隅にはウェイバックポータル４５が表示されている。図１２に示されているように、ウェイバックポータル４５にはスペース経路沿いの前回のスペースの小形のスナップショットが表示されている。この場合、スペース経路沿いの前回のスペースは地球表面スペース３２である。従って、ユーザーが家ポータルを通過する時に見たのと同じように地球表面スペース３２の小形スナップショットがウェイバックポータル４５に表示される。ユーザーがウェイバックポータル４５を選択した場合は、ＣＰＵは、ウェイバックポータル４５への移動を知らせて、「ウェイバックポータル通過サウンド」を発生する。すると、ユーザーは図１０に示す地球表面スペース３２へ移動する。図１０に示すように地球表面スペース３２では、今度はウェイバックポータルに宇宙空間スペース９９の小形スナップショットが表示される。これは、経路の最初のスペースである。このように、ウェイバックポータル４５は、ユーザーが巡ってきたスペース経路に沿って「後戻り」する手段なのである。
【００７６】
本実施形態では、データ構造を積み重ねる(stack) ことによりウェイバックポータル４５を実現しており、各データ構造はポインターと座標軸対で構成されている。スタック上の各データ構造のポインターはすでにユーザーが訪問したスペースを指し示している。スタック上の各データ構造の座標対によって、ユーザーがポータルを通ってスペースを去る時にポインターが指したスペース内でのユーザーの居場所は正確に特定される。特定のスペースからユーザーがポータルを通過する度に、スペースを示しているポインターとポータル通過時のスペース内でのユーザーの居場所を正確に特定する座標対から成るデータ構造はユーザーインターフェースによってウェイバックスタックへ「プッシュ(push)」される。ウェイバックポータル４５には、スタックの一番上のデータ構造のポインターが指し示すスペースの小形スナップショットが表示される。スペースの経路に沿って後戻りするには、ユーザーがウェイバックポータル４５を選択する度にユーザーインターフェースはスタックからデータ構造を「ポップ(pop) 」させてデータ構造のポインターが指し示すスペースへ移動する。
【００７７】
［エージェントポータル］
エージェントポータルとは擬人化したキャラクターのことで、ユーザーインターフェースを航行したり、ユーザーインターフェースで作成した「世界」で起こった事象(event) を処理する際に手助けを行うものである。図１０の地球表面スペースでは、エージェント４１が左下隅に表示されている。エージェント４１はユーザーのためオブジェクトを持ち運ぶ。この持ち運び機能はブリーフケースで表されており、このブリーフケースもエージェントが持ち運ぶ。ユーザーはエージェントポータル４１を選択することでエージェントが持ち運んでいるオブジェクトにアクセスでき、これによりユーザーはエージェントポータル４１に対応するエージェントスペースへ入っていく。ユーザーがエージェントポータル４１を選択すると、エージェントはエージェントスペースへの移動を知らせて、ブリーフケースを取り出し、そのブリーフケースを開ける動作を行う。次に、ＣＰＵは「ポータル通過」サウンドを発生し、ユーザーをエージェントスペースへ移動させる。
【００７８】
エージェントのブリーフケースにオブジェクトを納めさせるには、ユーザーがオブジェクトを拾い上げ、そのオブジェクトをエージェントポータル４１の中へ「落とせ」ばよい。エージェントスペースに入ればユーザーはどのスペースからでも常にエージェントポータル４１に落とされたオブジェクトにアクセスできる。このエージェントについては後に述べる「エージェント」の章でより詳細に説明する。
【００７９】
［オブジェクトホイール］
多数の任意のオブジェクトの中から選択をしなくてはならない場合がしばしばある。従って、ユーザーインターフェースでは、多数のオブジェクトを表示する方法と、表示されているオブジェクトのいずれかをユーザーに選択させる方法の二つの方法を提供しなくてはならない。
【００８０】
例えば、図１４のテレビ制御スペース６４では、本願発明のユーザーインターフェースはユーザーが選択するための任意の複数のテレビチャンネルを表示する方法を提供しなくてはならない。いずれのシステムでも、スクリーンスペースは貴重なものである。できる限り多くのオプションの中から選択しなくてはならない場合は、オプションはコンパクトに表示しなくてはならない。本願発明では、ユーザーの選択用として５００のテレビチャンネルオブジェクトがある場合、全てのチャンネルを一度に表示するには非常に大きなスクリーンスペースを取るだけでなく、リストの視覚的コンテキスト（すなわち、何故ユーザーはまず初めにこのリストを見ているのか）が失われてしまう。このように、利用可能なオブジェクトをユーザーが拾い読みできるようにする方法が必要である。
【００８１】
本実施形態のユーザーインターフェースでは、大きなグループのオブジェクトからユーザーが選択を行えるようにする方法を提供する「オブジェクトホイール」を導入する。オブジェクトホイールでは、グループ内の残りのオブジェクトはスクリーン表示せずに、オブジェクトホイールの中ですぐにアクセス可能な少数のオブジェクトを表示スクリーン上に表示する。スクリーンに表示されていないオブジェクトにアクセスするには、ユーザーはオブジェクトホイールを「スピン」させてアクセスできなかったオブジェクトを表示スクリーン上に表示させる。
【００８２】
図１８において、ユーザーは、多数の果物オブジェクトを選択の対象として利用可能であるが、表示スクリーン３６の横方向に一度に表示できるのはそのうちわずかに４つの果物だけである。利用できる全ての果物オブジェクトにユーザーがアクセスできるよう、本願発明では図１９の概念図に示すように「オブジェクトホイール」３８に果物オブジェクトの帯を設けている。オブジェクトホイール３８上の幾つかのオブジェクトは表示スクリーン３６上ですぐにアクセスすることができる。表示スクリーン３６に表示されていないオブジェクトにアクセスするには、ユーザーはオブジェクトホイール３８を回転させればよい。オブジェクトホイール３８が回転するにつれ、図２０に示すように新しいオブジェクトが現れ、別のオブジェクトは消えていく。表示スクリーン３６に示されているオブジェクトホイールを操作するため、オペレーターは航海用ジェスチャー(navigational gestures) すなわちポイント、スピン、ピックアップジェスチャーを使用する。これら３つの航海用ジェスチャーは後の章で説明する。
【００８３】
本当の輪が回転しているかのようにユーザーが感じるように、オブジェクトホイールは物理法則に従っている。例えば、オブジェクトホイールには質量があり、このため遠心力が発生する。ホイールを回転させる時にユーザーがより大きな「力」を加えるとオブジェクトホイールは早い速度で回転し、また、回転しているオブジェクトホイールは徐々に回転がなくなるためオブジェクトホイールは摩擦に対応していることが分かる。
【００８４】
オブジェクトホイールが回転し、また、オブジェクトがスクリーンを横断している最中は、この実施例のユーザーインターフェースは「カチカチ」音を発生させる。ユーザーインターフェースが生成する「カチカチ」音は、力を加えてホイールを停止させて整列させるスロットマシンの爪が作り出す音に似せてある。本当のホイールのように、本実施形態のオブジェクトホイールは停止すれば必ず整列されるものであり、オブジェクト選択肢の間で停止することは決してない。オブジェクトホイールの回転中にオブジェクトホイール上を移動中のオブジェクトを指し示せばいつでも回転中のオブジェクトホイールを停止させることができる。
【００８５】
オブジェクトホイールは表示スクリーン上に縦方向または横方向のいずれにも配列できる。縦方向に配列した場合は、オブジェクトホイールは上方向または下方向のいずれの方向にも回転させることができる。また、横方向に配列した場合は、左または右のいずれの方向にも回転させることができる。
【００８６】
［ユーザーインターフェース航行用ジェスチャー］
ユーザーインターフェースの航行およびオブジェクト操作はスクリーン指示装置を用いて行う。本実施形態では、ハンドヘルド表示装置１７０はタッチスクリーンディスプレイ３７を備えた構成になっており、使用する指示装置はユーザーの指である。あるいは、マウス、トラックボール、ジョイスティックなどの別の種類のスクリーン指示装置を用いてこのユーザーインターフェースを実現することも可能であるが、本実施形態ではタッチスクリーンの指示装置としてユーザーの指を用いる場合を例示して説明する。
【００８７】
本願発明の実施例では、ハンドヘルド表示装置１７０の一部は図２に示すようなタッチスクリーンディスプレイ３７で構成されている。表示スクリーン上に指を置くとタッチスクリーンディスプレイ３７はどこに指があるかを識別する。ユーザーは、６つで一組になった航行用ジェスチャー、すなわち、ポイント、セレクト、パン、スピン、プックアップ、ドロップの６つのジェスチャーを用いてタッチスクリーン上のオブジェクトを選択し、このオブジェクトを操作する。ユーザーインターフェースで使用する航行用ジェスチャーを以下個別に、また、詳細に説明する。
【００８８】
［ポイント］
ポイントは本願発明のユーザーインターフェースの中で最も単純なジェスチャーである。ユーザーがポイントジェスチャーを用いると表示スクリーンに示されているオブジェクトが取り上げられる。例えば、表示スクリーンに表示されている複数のオブジェクトから一つのオブジェクトを選択するよう、ユーザーインターフェースがユーザーに要求した場合は、ユーザーはオブジェクトを指し示すことでそのオブジェクトは選択される。
【００８９】
タッチスクリーンに表示されているオブジェクトを指で指し示すだけでユーザーはオブジェクトを指し示すことができる。オブジェクトを正しく指し示すと、ユーザーインターフェースは「選択可能オブジェクト」サウンドを発生する。この選択可能オブジェクトサウンドによってユーザーへのフィードバックが行われ、ユーザーは正しくオブジェクトを指し示したことが分かる。
【００９０】
［セレクト］
セレクトジェスチャーはポイントジェスチャーに大変良く似たジェスチャーである。オペレーターがこのセレクトジェスチャーを用いると、オブジェクトはオブジェクトに対応した機能または動作を実行するメソッドを呼び出す。例えば、ポータルをセレクトすると、ポータルは、そのポータルに対応するスペースへユーザーを移動させるメソッドを呼び出す。また、ボタンをセレクトすると、ボタンは、そのボタンに対応した動作または機能を実行するメソッドを呼び出す。
【００９１】
オブジェクトをセレクトするには、まず指でオブジェクトに触りオブジェクトを指示する。所定最小時間このオブジェクトを指し続けると、オブジェクトはセレクトされたことになる。ユーザーがオブジェクトをセレクトすると、オブジェクトは「知らせる」処理を行い、ユーザーへのフィードバック用サウンドを生成する。そして、このオブジェクト内のメソッドが呼び出される。オブジェクトがボタンの場合は、呼び出されたメソッドはこのボタンに対応する機能を実行する。オブジェクトがポータルの場合は、メソッドはポータルに対応するスペースへユーザーを移動させる。
【００９２】
あるいは、オブジェクトをすばやく連続２回指し示すと表示スクリーン上のオブジェクトを選択できる。オブジェクトを素早く２回指し示してオブジェクトを選択した時は、オブジェクトは操作を知らせる処理は行わずに、ユーザーインターフェースは適切なフィードバックサウンドを発生するだけで、このオブジェクトに対応する動作を実行する。これにより、ユーザーはオブジェクトのセレクトを素早く行うことができる。
【００９３】
［パン］
スペース内を移動するには、パン(pan) 航行用ジェスチャーを使用する。タッチスクリーンディスプレイ３７に示されているスペースの背景イメージ上に指をおいて、所望の運動方向へその指をスライドするとユーザーはスペース内を移動する。ユーザーインターフェースは、「パンアクティブ」サウンドを発し、スペースの背景イメージやスペース内の全てのオブジェクトを指の動きと反対の方向へ移動させて応答する。反対方向へスペースを移動すると、ユーザーの視点の反対方向への動きをユーザーインターフェースはシミュレートする。
【００９４】
図１０と図１１にはパンジェスチャーの使用例が示されている。図１０の背景上にオペレーターの指が置かれており、タッチスクリーン上を右方向へこの指を移動させると、スペースの背景イメージとスペース内の全てのオブジェクトを左方向へ移動させて画面を右側に移動させる。図１１には右方向にパンした結果が示されており、家４８は表示スクリーン上を右から左へ移動している。
【００９５】
各スペースの背景イメージは任意に拡大することができる。スペースの背景イメージが有限サイズの場合は、背景イメージのうち最も遠い地点へ到着したようにユーザーインターフェースはフィードバックを行う。ユーザーが、はるばる背景イメージの端の方へパンを行った場合は、パンジェスチャーはそれ以上その方向へユーザーを移動しない。この事実をユーザーに知らせるため、背景イメージの端を越えてパンをしようとした場合は「パンアクティブ」サウンドの代わりに「端」サウンドをユーザーインターフェースは発生させる。この「端」サウンドにより、ユーザーは、すでに背景イメージの端に来ており、これ以上先にいくことはできないということを知る。
【００９６】
［スピン］
ユーザーはスピンジェスチャーを用いてオブジェクトホイール上の複数のオブジェクトを拾い読みする。オブジェクトホイールをスピンすると、オブジェクトホイール上に見えるオブジェクトは表示スクリーンを横断し、スクリーンの一端で消える。そして、もう一端からは今まで見えていなかったオブジェクトがスクリーン上に現れる。
【００９７】
オブジェクトホイール上に指を置き、オブジェクトホイールの運動方向と平行な方向に表示スクリーン上を指で横断するとオブジェクトホイールはスピンする。図２１にはスピンジェスチャーが示されている。図２１において、まず、ユーザーはオブジェクトホイール（星印９６で示す）上に指を置く。次に、オブジェクトホイールを横断するように指を移動させる（矢印９７で示すように）。この指のジェスチャーにより指の移動方向とは反対の方向にオブジェクトホイールはスピンする。もっと早い速度でディスプレイのオブジェクトホイール上を指で横断すると、より早い速度でオブジェクトホイールはスピンする。スロットマシンホイール上に現れる数字と同じように、オブジェクトホイールがいったんスピンすると、オブジェクトホイール上のオブジェクトはオブジェクトホイールの一端に現れ、表示スクリーンを横断し、オブジェクトホイールのもう一方の端部から消える。
【００９８】
［ピックアップ］
ユーザーインターフェースで作成した「世界」中オブジェクトを持ち運ぶことができるようピックアップジェスチャーを用いてスペース内またはオブジェクトホイール上に配置されたオブジェクトを拾い上げる。本実施形態では、スペースまたはオブジェクトホイールからオブジェクトを拾い上げるにはさまざまな方法を用いる。各方法は後で個別に説明する。ここで、二つの状況のオブジェクトは同じジェスチャーで拾い上げることができるということを理解しておかなくてはならない。
【００９９】
図２２にはオブジェクトホイールからオブジェクトを拾い上げる時に使用するジェスチャーが示されている。図２２は選択用の果物が多数載ったオブジェクトホイール９１を示している。オブジェクトホイール９１上に配置されている果物オブジェクトから一つを取り出すには、まずそのオブジェクトの上に指を置いて（星印９２で示すように）、次にオブジェクトホイールの運動方向に垂直な方向へ指を動かす。オブジェクトホイールの運動方向とは垂直な方向に指を動かす様子が矢印９３で示されている。指を垂直方向に動かすことによりユーザーがそのオブジェクトを移動できるようオブジェクトホイールからそのオブジェクトは剥ぎ取られる。オブジェクトがオブジェクトホイールから剥ぎ取られるとユーザーインターフェースはオブジェクトホイールからオブジェクトが取り除かれたことを知らせる「引き裂き」サウンドを発生させる。このオブジェクトが拾い上げられると、スペースの背景イメージ上にそのオブジェクトの影ができ、ユーザーの指でそのオブジェクトを移動する。
【０１００】
図２３にはスペースからオブジェクトを拾い上げるのに用いるジェスチャーが図示されている。図２３では、オブジェクトを備えたスペースが中央部に描かれている。オブジェクトを拾い上げるには、矢印２０３で示すように指を用いてオブジェクトの回りに円を描き、その後星印２０１のオブジェクトを触る。スペースからオブジェクトがはずれると、ユーザーインターフェースは引き裂きサウンドを発生させてオブジェクトが拾い上げられたことをユーザーに知らせる。スペースからオブジェクトが拾い上げられると、オブジェクトが本来あった位置にはゴーストイメージが残る。オブジェクトのゴーストイメージは彩度の無いカラーで描かれ、ゴーストオブジェクトは選択できないことをユーザーに知らせる。
【０１０１】
オブジェクトをユーザーが拾い上げると、オブジェクトホイールまたはスペースのいずれか一方から「オブジェクト持ち運び」サウンドが発せられ、これによりオブジェクトは持ち運ばれていることが分かる。オブジェクトを持ち運んだままスペース内またはスペースからスペースへユーザーは移動でき、運んできたオブジェクトを別のオブジェクトの上に落とすこともできる。
【０１０２】
［ドロップ］
ユーザーインターフェースと対話するのに用いる最後のジェスチャーがドロップである。ピックアップジェスチャーを用いてスペースまたはオブジェクトホイールからオブジェクトを拾い上げた後、スクリーンに指を押圧し続けてオブジェクトを持ち運ぶ。タッチスクリーン表示システム上で指をスライドして横断させると、運んできたオブジェクトが移動する。運んできたオブジェクトを所望の地点まで移動した後、ドロップジェスチャーを用いてこのオブジェクトを所望地点に落下させる。オブジェクトを落下させるには、タッチスクリーンディスプレイから指を離せばよい。オブジェクトを落下させると、まるで引力によって引っ張られているかのようにスペースの背景イメージの中へ落ちていき、オブジェクトの影が消える。
【０１０３】
このドロップジェスチャーを用いれば複数の異なる機能を実行することができる。例えば、オブジェクトを拾い上げ、ポータルに対応するスペース内にこのオブジェクトのコピーができるようあるポータルの中にこのオブジェクトを落下させるとドロップジェスチャーでオブジェクトのコピーを作成することができる。また、オブジェクトを拾い上げ、このオブジェクトを所望の地点に落下させればドロップジェスチャーで新しい場所にオブジェクトを移動することもできる。さらに、ドロップジェスチャーを用いれば、ある情報を含んだデータオブジェクトをその情報を用いて機能を実行する別のオブジェクトへ与えることもできる。ドロップジェスチャーの異なった使用方法は後で説明する。
【０１０４】
ドロップジェスチャーを用いてオブジェクトのコピーを作成するには、まずオブジェクトを拾い上げ、次にオブジェクトをポータルの上に落下させる。スクリーンを指で横断すると拾い上げたオブジェクトはポータルの上を運ばれる。運んできたオブジェクトがいったんポータル上にくると、そのポータルは強調表示され、運んできたオブジェクトはポータルの上にあることを合図するフィードバックがユーザーに送られる。この実施例では、ポータルは緑色の光を発する。運ばれてきたオブジェクトをポータルの中に落下させるには、タッチスクリーンディスプレイから指を離せばよい。すると、オブジェクトは適度な動きを持ってポータルを通過するよう表示される。動画の期間中、ＣＰＵ３０は「ポータルへの吸い込まれ」サウンドを発生させる。オブジェクトが完全にポータルの中に消えると、現在のスペースに彩度の無い色で描かれている前記オブジェクトのゴーストイメージは再び明るい色で表示される。これにより、このオブジェクトのコピーはポータルを通って別のスペースへ送られたが現在のスペースには元のオブジェクトがそのまま存在していることが視覚的にユーザーにフィードバックされる。
【０１０５】
オブジェクトは一つのスペース内で移動できるし、また、あるスペースから別のスペースへと移動することもできる。一つのスペース内でオブジェクトを移動させるには、まずピックアップジェスチャーを用いてオブジェクトを拾い上げ、このオブジェクトを所望の地点へ移動し、ドロップジェスチャーを用いてオブジェクトを落下させる。オブジェクトが落下すると、オブジェクトのゴーストイメージが新しい場所の落下オブジェクトと溶け込み、新しい場所に１個のオブジェクトイメージが明るい色で表示される。これにより、オブジェクトは新しい場所へ移動し、コピーは作成されなかったことがユーザーに知らされる。
【０１０６】
ポータルを通って別のスペースへオブジェクトを移動するとオブジェクトは別のスペースへ移動する。オブジェクトを別のスペースに移動するには、まずオブジェクトを拾い上げ、次にこのオブジェクトをポータルの上まで運ぶ。いったんポータルの上までオブジェクトが運ばれてくると、ユーザーへのフィードバックとなるようポータルは強調表示され、オブジェクトはポータルの上まで運ばれたとの合図が送られ、ポータルは緑色に光る。運ばれてきたオブジェクトがポータル内を通過できるようにするには、ポータルの上に所定最小時間オブジェクトを保持しておく。運ばれてきたオブジェクトとユーザーがポータルに対応するスペースへ移動すると、ポータルは移動を知らせる。彩度の無い色で描かれている被搬送オブジェクトのゴーストイメージもユーザーやオブジェクトと一緒に目的地のスペースまで移動する。タッチスクリーン表示システムから指を離して被搬送オブジェクトが落下すると、この被搬送オブジェクトとゴーストイメージは一つのイメージに溶け込み明るい色で表示される。これにより、オブジェクトはこのスペースまで移動したがコピーはされなかったことがユーザーにフィードバックされる。
【０１０７】
このドロップジェスチャーを用いてオブジェクトに情報を与えることもできる。つまり、データを内蔵したオブジェクト（すなわち、データオブジェクト）をこのデータを使用するオブジェクトの上に落下させることでオブジェクトへ情報が与えられる。
【０１０８】
オブジェクトに情報を与えるには、必要な情報を内蔵したデータオブジェクをまず拾い上げる。次に、このデータを利用できるオブジェクトの上へデータオブジェクトを運んでくる。この情報を利用できるオブジェクトの上までデータオブジェクトが運ばれてくると、運ばれてきたオブジェクトが正しいクラスであれば情報を利用できるオブジェクトは強調表示される。強調表示により、運ばれてきたオブジェクトは正しいクラスであるといったフィードバックが情報を利用できるオブジェクトからユーザーへ送られる。情報を利用可能なオブジェクトの中にデータオブジェクトを落下させるには、データオブジェクトを運ぶ時に使用した指をタッチスクリーンから離せばよい。すると、データオブジェクトは適当な動きや音響効果と共にポータルの中へ落ちていく。情報を利用可能な受け側オブジェクトの中にデータオブジェクトが完全に消えてしまうと、受け側オブジェクトは与えられたデータの基づいて適当な機能を実行する。
【０１０９】
例えば、ドロップジェスチャーを用いて物理的ビデオカセットレコーダーに対応するビデオカセットレコーダーオブジェクトへテレビプログラム情報を送ることができ、これによりビデオカセットレコーダーはテレビ番組を録画するようプログラムされる。ビデオカセットレコーダーをプログラムするには、まずピックアップジェスチャーを用いてテレビ番組情報を含んだデータオブジェクトを拾い上げる。次に、テレビ番組データオブジェクトをビデオカセットレコーダーの上まで運んでくる。すると、ビデオカセットレコーダーオブジェクトはその外観を変更し、「プログラムビデオカセットレコーダー」モードであると表示する。これにより、ビデオカセットレコーダーの上に番組情報があるということをビデオカセットレコーダーが「理解」している（すなわち、テレビ番組データオブジェクトをビデオカセットレコーダーの上に落すとビデオカセットレコーダーはテレビ番組を記録するようプログラムされる）ことがユーザーに知らされる。
【０１１０】
ビデオカセットレコーダーの中にテレビ番組オブジェクトを落下させると、テレビ番組データオブジェクトにはビデオカセットレコーダーオブジェクトで利用できる情報が含まれていることをビデオカセットレコーダーオブジェクトが認識する。ビデオカセットレコーダーではこのテレビ番組データオブジェクトから時間とチャンネル情報を抜き出す。これにより、ビデオカセットレコーダーオブジェクトはテレビ番組を録画するようプログラムされる。
【０１１１】
［作動状態のツアー例］
ユーザーインターフェースを最もよく知ってもらえるよう、図９から図１６にはサンプル環境での「ツアー」が示されている。このツアーで探検するサンプル環境は、図７と図８に図示されているスペースの地理的地図構造に基づいている。このサンプル環境のツアーは本願発明の範囲を限定することを目的としたものではなく、どのようなものが可能であるかを知るための一例として挙げるものである。
【０１１２】
図９において、まずユーザーインターフェースの中に入る。すると、ユーザーインターフェースによってユーザーは宇宙空間スペース９９の中に表示される。このスペースは図７の複数のスペースの地理的地図構造の中に示されている。最初ユーザーは宇宙空間９９の中に表示されるが、ハンドヘルド表示装置の使用をユーザーがやめた時は、次にユーザーインターフェースが開始するのはユーザーが最後に居たスペースからである。図９の宇宙空間９９では、ユーザーインターフェースにより表示スクリーン上の真っ黒な宇宙空間背景イメージの中に地球ポータル１００が明るい色で表示される。
【０１１３】
ユーザーインターフェースの中に入るとすぐに手３１が表示スクリーン上に現れ、ユーザーインターフェース内を航行する方法をユーザーに知らせる。表示スクリーンに現れる手３１はエージェントの手である。エージェントの手３１が指を延ばしてスクリーンに触り、この指でスクリーンを横断するとスクリーン上のスペースとオブジェクトは移動表示され、ユーザーインターフェースから「パンアクティブ」サウンドが発せられる。図９では、エージェントの手３１がスクリーン上を横断しているように表示されている。表示スクリーンを触り、表示スクリーン上を指で横断することで、エージェントの手３１はスペース画面上を移動するパンジェスチャーの使い方を初めてのユーザーに説明する。
【０１１４】
スペース内を動き回るパンジェスチャーの使い方を説明した後、エージェントの手３１はポイントおよびセレクトジェスチャーの使い方を説明する。オブジェクトを指さすポイントジェスチャーの使い方を実際にエージェントが指を地球ポータル１００の上に置いてやって見せる。エージェントが地球ポータル１００を指すと、「選択可能オブジェクト」サウンドがユーザーインターフェースから発せられ、地球ポータル１００は選択可能なオブジェクトであることをユーザーに知らせるフィードバックが行われる。次に、エージェントは地球ポータル１００を指し続けてオブジェクトをセレクトするオブジェクトセレクトジェスチャーの使い方を説明する。所定最小時間地球ポータル１００をエージェントの手３１で指すと、地球ポータル１００はポータル通過を知らせ、ＣＰＵは「ポータル通過」サウンドを生成する。ユーザーの方へ地球ポータル１００が近づいているように急激に膨張することで地球ポータル１００がポータル通過を知らせると、スクリーンが薄れてゆき、図１０に示すような地球ポータル１００に対応する地球表面スペース３２を示す新しい背景イメージが現れる。
【０１１５】
地球表面スペース３２では、エージェントポータル４１がタッチスクリーン３７の中に「飛び出し」、表示スクリーンの左下隅に移動する。エージェントスペース以外のあらゆるスペースにこのエージェントは現れるため、いつでもエージェント４１にアクセスすることができる。必要であれば、左下隅から表示スクリーン上の別の場所へエージェントを移動させることができる。エージェントは移動できるため、どのスペースでもエージェントの場所を変更することができる。
【０１１６】
図１０のディスプレイの右下隅にはウェイバックポータル４５が表示されている。ウェイバックポータル４５には、たった今移動してきたばかりの図９の宇宙空間スペース９９がフレーム付きのスナップショットで表示されている。ウェイバックポータル４５を用いれば、ユーザーインターフェースによってウェイバックポータル４５の中に表示されているスペースへ後戻りできる。例えば、ウェイバックポータル４５に表示されている宇宙空間スペース９９へ戻りたい時にはウェイバックポータル４５を選択すればよい。
【０１１７】
図１０の地球表面スペース３２は、店、銀行、学校等の公共建築物の他に家などの複数の建物で構成されている。地球表面スペース３２の中の各建物はポータルを表しており、このポータルをセレクトしてポータルに対応するスペースの中に入ることができる。例えば、図１０の地球表面スペースでは、第１の家４７と第２の家４８がポータルであり、ユーザーはこれらのポータルをセレクトできる。第１の家４７あるいは第２の家４８をユーザーがセレクトすると、ユーザーは対応する家スペースへ移動する。
【０１１８】
図１０の地球表面スペースの中では、図９のエージェントの手３１を説明したようにタッチスクリーン上でパンジェスチャーを用いることによりユーザーはスペース内を移動できる。移動するには、スクリーン上にユーザーの指を置き、次にこの指を移動した方向に動かす。ユーザーインターフェースはユーザーの指の動きに応答し、「パンアクティブ」サウンドを発生させ、また、指の動きと反対方向にスクリーン上の背景イメージとオブジェクトを移動させて別のオブジェクトを見えるようにする。
【０１１９】
例えば、図１０の地球表面スペース３２を見ているユーザーが右側へ移動した時は、まずユーザーは地球表面スペース３２の背景上に指を置き、次にこの指を右側へ移動するだけでよい。ユーザーインターフェースはユーザーの指の動きに対応してスペースの背景イメージとスペース内のオブジェクトを左側へ移動する。図１０の背景上にユーザーの指を置き、この指を右側へ移動させた後の地球表面スペース３２が図１１に示されている。図１０に示されていた第１の家４７は視界から消えているため図１１には見えない。図１０で右側に示されていた第２の家４８は図１１では左側に移動しており、一部だけが見えている。図１１に示すように、図１０では見えなかった銀行ポータル４９が右側から視界に入ってきている。エージェント４１とウェイバックポータル４５はどちらも左下隅と右下隅の同じ位置に留まっている。
【０１２０】
図１０と図１１の地球表面スペース３２からポータルをセレクトすると、セレクトされたポータルは予測を行いユーザーへフィードバックをし、ユーザーインターフェースはセレクトされたポータルに対応するスペースへユーザーを移動させる。例えば、図１０の地球表面スペース３２にいるユーザーが第１の家ポータル４７をセレクトすると、ユーザーインターフェースは、家ポータル４７への移動を知らせて、家ポータル４７に対応する家スペースへユーザーを移動させる。図１２には図１０の家ポータル４７に対応する家スペース５０が示されている。
【０１２１】
図１２の家スペース５０は、家の中の各部屋が見えるよう外壁が取り払われた状態になっている。家の中の部屋、すなわち、居間５４、寝室５３、風呂５５、屋根裏５２、台所５６は全てユーザーがセレクトできる。図１２に示すように、前回のスペースを出ている時に見えたように地球表面スペース３２の小形スナップショットがウェイバックポータル４５の中に表示されている。このように、図１２のウェイバックポータルには地球表面スペースの小形スナップショットが表示されているだけでなく、図１０でユーザーが家ポータル４７を選択した時に見えた地球表面スペース３２の部分も表示されている。図１０の地球表面スペースへ戻るには、地球表面スペースのスナップショットが表示されたウェイバックポータル４５をセレクトする。
【０１２２】
図１２において、居間５４をセレクトした場合は、ＣＰＵは居間ポータル５４への移動を知らせて、「ポータル通過」サウンドを生成する。すると、ユーザーインターフェースによって居間ポータル５４に対応する居間スペースへユーザーが移動する。図１３には居間スペース６０の例が示されている。図１３の居間スペース６０の中には、テレビ７３、ビデオカセットレコーダー７５、テレビ番組表の本７１が置かれている。テレビ７３、ビデオカセットレコーダー７５、テレビ番組表の本７１はそれぞれポータルでユーザーがセレクトできる。テレビ７３とビデオカセットレコーダー７５はそれぞれ本当のテレビとビデオカセットレコーダーに対応している。
【０１２３】
図１３の居間スペース６０の中に表示されているテレビポータル７３をセレクトすると、テレビポータル７３はテレビの電源操作を知らせて、本当のテレビに対応した図形ユーザーインターフェースがユーザーインターフェースによって表示される。図１４はテレビ制御スペース６４を示しており、このスペースはこの実施例のテレビの図形ユーザーインターフェースで構成されている。このテレビスペース６４で利用可能なオブジェクトには、緑色の「ｏｎ」ボタン６１、赤色の「ｏｆｆ」ボタン６２、複数のテレビチャンネルボタン６６ー６９が含まれている。テレビチャンネルボタン６６ー６９はオブジェクトホイール６３の表面に横方向に並べて配列されており、オブジェクトホイール６３を右か左にスピンさせて現在表示スクリーン上に表示されていない別のテレビチャンネルボタンを見えるようにすることができる。
【０１２４】
テレビスペース６４で利用可能な「ｏｎ」ボタン６１、「ｏｆｆ」ボタン６２、テレビチャンネルボタン６６ー６９はポータルではなく、図２のスペースマップの中の別のスペースへアクセスするためのものではない。しかしながら、これら「ｏｎ」ボタン６１、「ｏｆｆ」ボタン６２、テレビチャンネルボタン６６ー６９は機能付きボタンである。例えば、緑色の「ｏｎ」ボタン６１と赤色の「ｏｆｆ」ボタン６２は「テレビ電源ｏｎ」と「テレビ電源ｏｆｆ」の機能にそれぞれ対応している。ｏｎまたはｏｆｆのいずれかのボタンをセレクトすると、そのボタンが押されることを知らせて、ボタンがセレクトされたことをユーザーへフィードバックする。次に、ハンドヘルド表示装置からは、テレビをｏｎまたはｏｆｆする適当なコマンドが送信される。同様に、テレビチャンネルボタン６６ー６９のいずれか一つのボタンをセレクトすると、テレビチャンネルボタンが押されたことを知らせて、ハンドヘルド表示装置から本当のテレビへ適当なコマンドが送信されてセレクトされたチャンネルへテレビを切り換える。物理的なテレビ装置へコマンドを送信するプロセスを以下の章で詳細に説明する。
【０１２５】
図１３において、テレビ番組表の本７１をセレクトすると、テレビ番組表の本７１は開かれることを知らせて、ユーザーインターフェースによってユーザーはテレビ番組表スペースへ移動する。図１５はこの実施例のテレビ番組表の本のスペースを示している。図１５のテレビ番組表の本のスペースでは、テレビ番組リストが二次元的に表示されている。このテレビ番組リストの縦にはテレビチャンネルを、また、横には時間が表示されている。各テレビ番組はポータルになっており、ユーザーがセレクトできる。また、テレビ番組リストをユーザーが持ち運んでビデオカセットポータルの上に落下させると、そのテレビ番組を録画するようビデオカセットレコーダーをハンドヘルド表示装置でプログラムできる。
【０１２６】
図１５のテレビ番組表の本のスペースは、実際には互いに接続された縦向きの一対のオブジェクトホイールである。図１７にはテレビ番組表の本のスペースの概念図が示されている。図１５のテレビチャンネルを図１７の第１のオブジェクトホイール７２の上に配置する。一方、テレビ番組リストは第２のオブジェクトホイール８５の上に配置する。これら二つのオブジェクトホイール７２と８５は、いずれか一方のオブジェクトホイールをスピンした場合にもう一方のオブジェクトホイールが同じ速度でスピンし、テレビチャンネルとテレビ番組リストが常に並んだ状態になるよう接続されている。
【０１２７】
テレビ番組表のオブジェクトホイール８５に配置されている各テレビ番組リストはポータルである。テレビ番組リストポータルのうちいずれか一つのポータルをセレクトすると、そのテレビ番組リストポータルは事前動画化され、ユーザーインターフェースによってテレビ番組情報スペースへユーザーは移動する。図１６には一般的なテレビ番組情報スペースが示されている。このテレビ番組情報スペースは、クロック８１、日付８２、テレビチャンネル８３で構成されており、この情報スペースによってユーザーはいつテレビ番組がオンになり、どのチャンネルでテレビ番組が放映されるかが分かる。図１６に示すように、テレビ番組情報スペースにはテレビ番組の記事も含まれている。
【０１２８】
［エージェント］
エージェントとはユーザーを様々な方法で補助するよう設計された擬人化キャラクターである。このエージェントは、手助けを行ったり、ステート情報を与えたり、ある事象(events)をユーザーに警告したり、相談人のように振る舞ってユーザーを補助する。エージェントが機能をそれぞれ説明する。
【０１２９】
［ヘルプ］ 
図９のツアーの例ですでに説明したように、ユーザーは、まずユーザーインターフェースへ入っていく。すると、エージェントは、ポイントおよびセレクトジェスチャーの使い方をユーザーに説明する。さらに、エージェントは、スペース内を動き回るパンジェスチャーの使い方も説明する。また、必要に応じて、ユーザーインターフェースの他の機能の使い方を説明してもよい。
【０１３０】
さらにユーザーの手助けをするため、エージェントのブリーフケースにはヘルプマニュアルが納められており、ユーザーはいつでもこれを利用することができる。ヘルプマニュアルにアクセスするにはエージェントポータルを選択するだけでよい。エージェントは事前動画化によりブリーフケースを開ける動作を行う。次に、ユーザーはブリーフケースからヘルプマニュアルをセレクトする。
【０１３１】
ステートおよびモード情報エージェントを用いてユーザーインターフェースの現在のステート（状態、本明細書ではステートと称す）またはモードを知ることができる。現在のステートまたはモードを知らせるため、エージェントの服装、外見あるいは持ち運んでいる小道具を変える。
【０１３２】
例えば、ユーザーインターフェースが診断モードになっている場合は、そのことが分かるようエージェントの着ている服装が変化する。図２４では、図から分かるようにエージェントは医者の服装をしており、ユーザーインターフェースが診断モードであることを象徴している。
【０１３３】
図２５は、ステート情報を知らせる他の例のエージェントの服装である。書き込み状態にある時はエージェントは鉛筆を持っており、ユーザーインターフェースは書き込み状態であることを象徴している。
【０１３４】
［警告（アラート）］
本願発明のハンドヘルド表示装置を使用している最中にユーザーに至急知らせなくてはならないような出来事が発生するかもしれない。このような出来事（事象とも称す）を通常は警告（アラートとも称す）と言っている。例えば、ハンドヘルド表示装置が電子メッセージサービスに接続されており、ユーザーに知らせなくてはならないメッセージを受信した場合はユーザーへ警告を発する。
【０１３５】
ユーザーインターフェースは、ユーザーに警告を知らせるためエージェントを用いてユーザーの注意を引くこともできる。例えば、ユーザーの注意を引くためエージェントの手を振らせることができる。もし、警告が大変重要な場合は、エージェントの手を振らせるだけでなく音声も出させてユーザーの注意を引くようにできる。
【０１３６】
例えば、ユーザーに注意を喚起しなくてはならないような出来事が起こった場合は、図２６に示すようにエージェントが手を振り始める。警告の理由が何であるかを説明するため、すでに前章で説明したようにエージェントの外見をさらに変えて特定の警告の情報を知らせることも可能である。具体的には、緊急メッセージが届いた場合に、一方の手に電報を持たせてエージェントの手を振らせることができる。
【０１３７】
警告はステートやモード情報よりも重要なものであるため、アラートはステートまたはモード情報よりも優先する。このため、エージェントのイメージを用いてステートまたはモード情報を伝えようとしている最中に重要な出来事が発生した場合は、エージェントのイメージは変化し、ユーザーの注意を喚起してアラートの情報をユーザーに伝える。具体的には、図２５に示すように書き込みモードでエージェントが鉛筆を持っている時に緊急メッセージが届いた場合は、図２６に示すようにエージェントはすぐさま手を振る動画へ変化し、メッセージをユーザーに知らせる。
【０１３８】
［遠隔装置制御］
ハンドヘルド表示装置は遠隔装置を制御できるよう設計されている。従って、前章で説明したハンドヘルド表示装置用ユーザーインターフェースは、遠隔装置を制御する理想的な図形ユーザーインターフェースとして設計されていることになる。例えば、ユーザーの居間の装置を制御するには、ユーザーはまず図１３のユーザーインターフェースの居間スペース６０へ移動する。次に、ユーザーが制御したいと思っている装置に対応したオブジェクトを選択する。具体的には、ユーザーがテレビを制御した時は、実際のテレビに対応したテレビポータル７３を選択する。ユーザーがテレビポータル７３を選択すると、テレビポータル７３が事前動画化され、ユーザーの居間にある実際のテレビを制御する図形ユーザーインターフェースが表示される。図１４はテレビ制御用テレビ制御セットの一例である。ハンドヘルド表示装置に表示されているテレビ制御セットを用いてユーザーはテレビを制御する。
【０１３９】
ハンドヘルド表示装置で遠隔装置を制御するには、その遠隔装置についての確かな情報をハンドヘルド表示装置が有していなくてはならない。つまり、ハンドヘルド表示装置には、遠隔装置に対応するオブジェクト指向プログラミングタイプのオブジェクトが提供されなくてはならない。このオブジェクトは複数のメソッドで構成されており、ハンドヘルド表示装置の表示スクリーン上にオブジェクトを表示するメソッドや遠隔装置用図形ユーザーインターフェースを表示するメソッドなども含まれている。
【０１４０】
本実施形態では、操作を簡単にするため、自動的に各互換遠隔装置からハンドヘルド表示装置へ必要なオブジェクト指向プログラミングタイプのオブジェクトが伝送される。遠隔装置からハンドヘルド表示装置へオブジェクトが伝送されると、ハンドヘルド表示装置は表示スクリーン上にオブジェクトを表示するメソッドを呼び出す。ユーザーはこのオブジェクトを適当なスペースに移動することができる。ユーザーがオブジェクトを選択すると、選択されたオブジェクトは事前動画化され、図形ユーザーインターフェースを表示するメソッドが呼び出される。このメソッドにより、遠隔装置の図形ユーザーインターフェースがハンドヘルド表示装置のタッチスクリーンディスプレイ上に表示される。タッチスクリーンディスプレイ上に表示されている遠隔装置の図形ユーザーインターフェースと対話することでユーザーは遠隔装置を制御できる。
【０１４１】
本願発明のハンドヘルド表示装置は２種類の互換遠隔装置から図形ユーザーインターフェースを自動的に受け取る。遠隔装置の第１のタイプは、専用コンピュータ制御システムを備えたインテリジェント遠隔装置である。また、第２のタイプの遠隔装置は、単純な被コード化コマンドにだけ応答する単純な遠隔装置である。
【０１４２】
ハンドヘルド表示装置は２種類の互換遠隔装置とそれぞれ異なる方法で対話する。インテリジェント遠隔装置との通信には、遠隔装置制御用遠隔呼び出しメソッドとのピア・ツー・ピア(peer-to-peer)通信を用いる。さらに、単純な遠隔装置との通信には単純な制御コードだけを使用する。しかし、ユーザーから見ればインテリジェント遠隔装置と単純な遠隔装置との区別は困難であるため、図形ユーザーインターフェースとユーザーとの対話はいずれの遠隔装置の場合も同じである。ユーザーの動作によって遠隔メソッド呼び出しが行われるか、あるいは、何らかの通信機構を介して制御コードが伝送されるのかといった実施(implementation)詳細事項はユーザーには分からない。
【０１４３】
この章では２種類の互換遠隔装置からハンドヘルド表示装置への情報の伝送の仕方を説明する。さらに、第３の種類の遠隔装置も説明する。この第３の種類の遠隔装置は、被コード化赤外線信号で制御可能な電子装置で構成されている。
【０１４４】
この章では、オブジェクト指向プログラミングタイプ装置について説明する。オブジェクト指向プログラミングタイプのオブジェクトには、呼びされると機能を実行するデータおよびメソッドがそれぞれ内蔵されている。用語を簡略化するため、単語「プログラムオブジェクト」を用いた場合はオブジェクト指向プログラミングタイプオブジェクトを表しているものとする。混乱を防ぐため、前述のユーザーインターフェースで説明したユーザーインターフェースのタッチスクリーンディスプレイに表示されているオブジェクトはこの章では「ディスプレイオブジェクト」と称す。
【０１４５】
［遠隔メソッド呼び出しとのピア・ツー・ピア通信］
本明細書では、遠隔装置がプログラムオブジェクト内のメソッドを呼び出せるようマイクロプロセッサー、通信システム、十分なメモリー量を備えている場合、この遠隔装置を「インテリジェント遠隔装置」と定義する。図３にはインテリジェント遠隔装置内の部品がブロック図の形で表されている。ハンドヘルド表示装置はインテリジェント遠隔装置とピア・ツー・ピアにて通信する。
【０１４６】
インテリジェント遠隔装置は、ダイアル、スィッチ、スライダー等のタッチスクリーン制御エレメントで構成された対応図形ユーザーインターフェースを備えている。インテリジェント遠隔装置の図形ユーザーインターフェースは、インテリジェント遠隔装置のメモリー４０４の中に記録されているユーザーインターフェースプログラムオブジェクト３０３の中で定義される。インテリジェント遠隔装置をまずオンすると、インテリジェント遠隔装置はハンドヘルド表示装置へユーザーインターフェースプログラムオブジェクト３０３を自動的に伝送する。すると、ハンドヘルド表示装置はインテリジェントプログラムオブジェクトで定義したインテリジェント遠隔装置用ユーザーインターフェースを表示する。
【０１４７】
ハンドヘルド表示装置に表示されているようなインテリジェント遠隔装置の図形ユーザーインターフェースとユーザーが対話すると、ハンドヘルド表示装置はインテリジェント遠隔装置内のデバイスドライバープログラムオブジェクト３０１の中のメソッドを呼び出して遠隔装置を制御する。このように、インテリジェント遠隔装置を実際に「制御」するソフトウェアはインテリジェント遠隔装置自体の中に納められている。
【０１４８】
インテリジェント遠隔装置からハンドヘルド表示装置へユーザーインターフェースオブジェクト３０３を伝送する方法を図２７から図３０、図３１から図３５のフローチャートを参照しながら説明する。図２７から図３０にはインテリジェント遠隔装置１５０とハンドヘルド表示装置１７０の通信の仕方が具体的に図示されている。また、図３１から図３４には、インテリジェント遠隔装置１５０内のユーザーインターフェースプログラムオブジェクト３０３とハンドヘルド表示装置１７０と通信の仕方が概念的に図示されている。
【０１４９】
図３５のステップ１０１では、図２７のインテリジェントサーモスタット制御装置のような新しいインテリジェント遠隔装置１５０がまずオンされた時に、出力用(to export) ユーザーインターフェースプログラムオブジェクトを備えていることを通信ネットワーク１６０を介して通信する。ハードウェアの章で説明したように、通信ネットワーク１６０での通信はエシェロン（Ｅｃｈｅｌｏｎ 登録商標）ベースのロン（ＬＯＮ 登録商標）システムの場合のように従来の電源線で高周波、低電力、セルラー、赤外線信号あるいは電子信号などを用いて行うことができる。ステップ１０２では、ハンドヘルド表示装置１７０はインターフェースエキスポートメッセージを受け取る。ハンドヘルド表示装置１７０は通信ネットワーク１６０を介して新しいインテリジェント遠隔装置１５０へ信号を送り返し、インテリジェント装置１５０はユーザーインターフェースオブジェクト３０３へ伝送を開始するよう要求する。
【０１５０】
次に、図２７に示すように、インテリジェント遠隔装置１５０は図３５のステップ１０３で規定しているように表示装置１７０へユーザーインターフェースオブジェクト３０３を伝送する。図３１では、インテリジェント遠隔装置１５０からもインテリジェント遠隔装置１５０内のデバイスドライバーオブジェクト３０１へポインター（点線にて表示）を伝送する。ユーザーインターフェースプログラムオブジェクト３０３は、インテリジェント遠隔装置１５０用ユーザーインターフェースが表示スクリーン上にどのように表示されるかを定義する。ユーザーインターフェースプログラムオブジェクト３０３はデバイスドライバープログラムオブジェクト３０１の中のメソッドを呼び出し、ユーザーインターフェースの対話を処理する。デバイスドライバープログラムオブジェクト３０１には実際のインテリジェント遠隔装置１５０を制御するメソッドが格納されている。図３２において、ここで、表示装置１７０はインテリジェント装置のユーザーインターフェースプログラムオブジェクト３１３とデバイスドライバープログラムオブジェクト３１１のポインターのコピーを入手する。
【０１５１】
ユーザーインターフェースプログラムオブジェクト３１３を受け取ると、ハンドヘルド表示装置１７０はユーザーインターフェースプログラムオブジェクト３１３の中のメソッドを呼び出す。このメソッドにより、ステップ１０４に示すように現在のスペース内のディスプレイオブジェクトが表示される。インテリジェント遠隔装置１５０は通信ネットワーク１６０に接続されている遠隔名前サーバーにも登録する。
【０１５２】
新しいインテリジェント遠隔装置１５０に対応する表示オブジェクトをユーザーが選択すると、ステップ１０５（呼び出されたメソッドを含むオブジェクトは太書きされている）に述べているように、ハンドヘルド表示装置１７０はユーザーインターフェースプログラムオブジェクト３１３の中のメソッドを呼び出す。ユーザーインターフェースプログラムオブジェクト３１３で呼び出されたメソッドは、図２８に示すように、表示装置１７０の表示スクリーン１７１の上に遠隔インテリジェント装置の図形ユーザーインターフェースを表示する。ステップ１０６で述べているように、ユーザーは表示装置１７０の上に表示されている遠隔インテリジェント装置の図形ユーザーインターフェースと対話できる。
【０１５３】
ユーザーは、ハンドヘルド表示装置１７０の上に表示されている図形ユーザーインターフェースと対話して、インテリジェント遠隔装置１５０を制御する。ユーザーの対話を変換する(resolve) ため、ユーザーインターフェースプログラムオブジェクト３１３はインテリジェント遠隔装置のデバイスドライバープログラムオブジェクト３０１の中の制御メソッドを要求する。インテリジェント遠隔装置のデバイスドライバープログラムオブジェクト３０１の中の制御メソッドにアクセスするため、ハンドヘルド表示装置１７０はデバイスドライバープログラムオブジェクトポインター３１１を使用する。このデバイスドライバープログラムオブジェクトポインター３１１が実際のデバイスドライバープログラムオブジェクト３０１の中のメソッドを呼び出す。インテリジェント遠隔装置のデバイスドライバープログラムオブジェクト３０１は、図２９と図３３に示すように（呼びされたメソッドを含むオブジェクトは太書きされている）、通信ネットワーク１６０を介してメッセージを送ると呼び出される。ステップ１０８で説明しているように、インテリジェント遠隔装置のデバイスドライバープログラムオブジェクト３０１の中で呼び出されたメソッドがインテリジェント装置１５０を制御する。
【０１５４】
最後に、図３０と図３４に示すように、ステップ１０９ではインテリジェント遠隔装置１５０内のデバイスドライバープログラムオブジェクト３０１で生成した何らかの返却値またはフィードバックを通信ネットワーク１６０を介してハンドヘルド表示装置１７０へ送り返す。
【０１５５】
ハンドヘルド表示装置１７０とプログラム遠隔装置１５０の間で遠隔メソッド呼出を伝送する場合には、通信ネットワーク１６０において頑丈な通信プロトコルが必要である。メソッドの呼出を要求するハンドヘルド表示装置１７０とこのメソッドを実行するインテリジェント遠隔装置１５０のいずれも破壊された通信パスを処理できる必要がある。このため、遠隔メソッド呼出しを処理する専用遠隔手順呼出（ＲＰＣ）マネージャーがハンドヘルド表示装置１７０とインテリジェント遠隔装置１５０のいずれにも設けられている。図３１‐図３４では、遠隔手順呼出マネージャー３０９はハンドヘルド表示装置１７０用遠隔メソッド呼出要求を伝送する。一方、サーバー遠隔手順呼出マネージャー３０７はインテリジェント遠隔装置１５０内の受信遠隔メソッド呼出を処理する。
【０１５６】
図３６と図３７には、ハンドヘルド表示装置１７０の側と遠隔装置の側の両方の遠隔メソッド呼出を処理する遠隔手順呼出（ＲＰＣ）マネージャーを制御する場合に使用するダイアグラムが示されている。ハンドヘルド表示装置１７０内のユーザーインターフェースプログラムオブジェクト３１３が、遠隔インテリジェント装置内にあるデバイスドライバープログラムオブジェクト３０１への遠隔メソッド呼出を要求する。図３６において、ユーザーインターフェースオブジェクトが遠隔メソッド呼出を要求すると、ハンドヘルド表示装置のＲＰＣマネージャーが「伝送待機」状態４０３に移る。次に、表示装置のＲＰＣマネージャーはエラーカウントダウンタイマーをセットし、メッセージを内蔵したパケットをメソッドセレクターや対応するデータと共に伝送する。パケットの伝送が終わると、表示装置のＲＰＣマネージャーは「応答待機」状態４０５に移る。適切な応答メッセージが送り返されると、メソッド呼出は完了し、状態４０７で応答メッセージの分析が行われる。
【０１５７】
遠隔メソッド呼出は必ずしも簡単に完了するものではない。インテリジェント遠隔装置１５０の中のデバイスドライバープログラムオブジェクト３０１がメソッドを終了させるのにもっと時間を必要とする場合は、もっと時間を要求するメッセージが送り返される。表示装置のＲＰＣマネージャーは、タイムアウト値が増加する状態４０９へ移ると応答を行う。エラーカウントダウンタイマーが終了するまでに表示装置のＲＰＣマネージャーが応答を受信できない場合は、表示装置のＲＰＣマネージャーは「エラー回復」状態４１１へ移行する。もし、エラーカウントダウンタイマーが所定回数以下で終了する場合には、表示装置のＲＰＣマネージャーは「伝送待機」状態４０３へ復帰する。エラーカウントダウンタイマーが所定リミットまできた場合は、表示装置のＲＰＣマネージャーは遠隔メソッド呼出を放棄し、失敗状態４１３へ移る。この時、ユーザーには通信異常が通知される。
【０１５８】
図３７には、遠隔装置の側の遠隔メソッド呼出しを処理するインテリジェント遠隔装置内の遠隔手順呼出マネージャー３０７用ステートマシーンが図示されている。この遠隔装置のＲＰＣマネージャー３０７は「受信待機」状態４５１からスタートする。パケットが受信されると、遠隔装置のＲＰＣマネージャーは状態４５３でそのパケットを分析する。受信したパケットにメソッド呼出を要求する新しいメッセージが含まれている場合には、遠隔装置のＲＰＣマネージャーは状態４５５でそのメソッド要求を実行するオブジェクトへそのパケットを送る。次に、遠隔装置のＲＰＣマネージャーはその結果を伝送し、待機状態４５１へ送り返す。
【０１５９】
遠隔装置がすでに見終わったメッセージが受信パケットに含まれている場合は、インテリジェント遠隔装置のＲＰＣマネージャーは状態４５７へ移る。この状態では、メソッド呼出要求はすでに完了したか、あるいは、まだその要求を実行しているかをインテリジェント遠隔装置が判断する。もしインテリジェント遠隔装置がすでにその要求を終了してしまっている場合は、状態４５９の結果をサブシステムが再度伝送し、待機状態４５１へ送り返す。あるいは、インテリジェント遠隔装置がまだそのメソッド呼出を実行している場合は、遠隔装置のＲＰＣマネージャーは状態４６１へ移行する。この状態で、遠隔装置のＲＰＣマネージャーは呼出されたメソッドを完了するのにもっと時間を要求し、待機状態４５１へ送り返す。
【０１６０】
図３８には通信異常のない場合の遠隔メソッド呼出の順序（sequence 以下シーケンスと称す）が示されている。ステップ５０１では、ハンドヘルド表示装置の中のユーザーインターフェースオブジェクトが遠隔メソッド呼出を要求する。従って、ユーザーインターフェースオブジェクトはメソッドセレクターや引数(argument)と一緒に表示装置のＲＰＣマネージャーへメッセージを送出する。表示装置のＲＰＣマネージャーは受信したメッセージをステップ５０２においてパケットの中にパックし、そのパケットをステップ５０３において通信ネットワークを介して伝送する。
【０１６１】
インテリジェント遠隔装置のＲＰＣマネージャーは伝送されてきたパケットをステップ５０４で受信する。ステップ５０５では遠隔装置のＲＰＣマネージャーはパケットを開封してメッセージを受取り、そのパケットをインテリジェント遠隔装置内のデバイスドライバープログラムオブジェクトへ送る。ステップ５０６では、メッセージの中のメソッドセレクターで規定されたメソッドを、デバイスドライバープログラムオブジェクトが呼び出す。遠隔装置のＲＰＣマネージャーへ送り返される返却メッセージをデバイスドライバープログラムオブジェクトが生成する。ステップ５０７では、遠隔装置のＲＰＣマネージャーはその返却メッセージを応答バッファーの中にパックする。ステップ５０８では、遠隔装置のＲＰＣマネージャーはその応答バッファーを送出する。
【０１６２】
ステップ５０９では表示装置のＲＰＣマネージャーが応答バッファーを受信し、ステップ５１０ではその応答バッファーを開封して返却値を取り出す。表示装置のＲＰＣマネージャーは、デバイスドライバープログラムオブジェクトの中のメソッドの返却値を、呼び出した要求側ユーザーインターフェースプログラムオブジェクトへ送る。最後に、ステップ５１１でユーザーインターフェースプログラムオブジェクトはその返却値を分析する。
【０１６３】
以上説明したように、インテリジェント遠隔装置の中にあるデバイスドライバープログラムオブジェクトの内のメソッドを遠隔地から呼び出すことでインテリジェント遠隔装置を制御することができる。また、遠隔装置も遠隔地から表示装置内のメソッドを呼び出すことができることが分かる。例えば、遠隔装置内のデバイスドライバーオブジェクトは表示装置内のユーザーインターフェースオブジェクトの中のメソッドを呼び出してメッセージを表示させることができる。
【０１６４】
遠隔装置の多くは、表示装置から呼び出し可能な内部制御メソッドを所有できるほど精巧ではない。従って、本実施形態では、単純な装置を制御する方法も提供する。
【０１６５】
［単純な装置の制御］
本明細書では、マイクロプロセッサーを内蔵していない遠隔装置あるいは遠隔装置内のメソッドを表示装置で呼び出し制御できない程原始的なプロセッサーを内蔵した遠隔装置の場合、このような遠隔装置を「単純な装置」と定義している。図４には単純な遠隔装置内の部品をブロック図の形で図示している。単純な装置を制御するには、単純な遠隔装置内のメソッドを呼び出し制御する代わりに、ハンドヘルド表示装置から単純な定義済み制御コードを伝送する。このため、単純な制御装置を制御するためには、ハンドヘルド表示装置はこの単純な遠隔装置からユーザーインターフェースプログラムオブジェクトと、デバイスドライバープログラムオブジェクトの両方を受け取らなくてはならない。
【０１６６】
単純な遠隔装置からユーザーインターフェースプログラムオブジェクトとデバイスドライバープログラムオブジェクトの両方を受け取る例を図３９から図４２、図４３から図４６および図４７のフローチャートを参照しながら説明する。図３９から図４２には、遠隔装置１５５と本願発明のハンドヘルド表示装置１７０が互いに通信している様子が具体的に示されている。図４３から図４６には、ユーザーインターフェースプログラムオブジェクト３５３と遠隔外部装置１５０のデバイスドライバープログラムオブジェクト３５１がハンドヘルド表示装置１７０へ伝送され、使用される様子が概念的に図示されている。
【０１６７】
図３９では、単純な遠隔装置１５５としてサーモスタットが示されている。図４７のステップ１２４で規定されているように、図３９の単純な遠隔装置１５５からハンドヘルド表示装置１７０へユーザーインターフェースプログラムオブジェクトとデバイスドライバープログラムオブジェクトの両方が伝送される。図４３に概念的に示されているように、単純な装置１５５からはユーザーインターフェースプログラムオブジェクト３５３とデバイスドライバープログラムオブジェクト３５１が伝送される。プログラムオブジェクトの伝送は、通信ネットワークあるいは表示装置１７０へ情報を転送する何等かの手段である通信手段１６２を用いて行われる。
【０１６８】
ハンドヘルド表示装置１７０は、単純な装置の図形ユーザーインターフェースを説明するユーザーインターフェースプログラムオブジェクト３６３のコピーを受信する。次に、ハンドヘルド表示装置１７０は、ハンドヘルド表示装置１７０上のスペース内にオブジェクトを表示するユーザーインターフェースプログラムオブジェクト３６３の中のメソッドを呼び出す。単純な遠隔装置１５５に対応する表示オブジェクトを選択した場合は、図４７のステップ１２５や図４０に示すように、ユーザーインターフェースプログラムオブジェクト３６３の中のメソッドをハンドヘルド表示装置１７０が呼び出す。ユーザーインターフェースプログラムオブジェクト３６３で呼び出されたメソッドは、単純な遠隔装置に対応する図形ユーザーインターフェースを表示装置１７０の表示スクリーン１７１上に表示する。次に、ステップ１２７では、表示装置１７０上の単純な遠隔装置の図形ユーザーインターフェースとユーザーが対話できる。
【０１６９】
単純な装置の図形ユーザーインターフェースとユーザーとの対話は表示装置１７０の中の単純な装置のデバイスドライバープログラムオブジェクト３６１によって分析される。デバイスドライバープログラムオブジェクト３６１は、ユーザーの対話を単純な遠隔装置１５５が応答できる制御コードへ変換する(resolve)。図４５に示すように、表示装置１７０の中にあるデバイスドライバプログラムオブジェクト３６１がユーザーの動作を分析する。
【０１７０】
図４１と図４５において、ハンドヘルド表示装置１７０は単純な遠隔装置１５５へ前記制御コードを伝送する。ステップ１３０では、受信したこの制御コートに応答して単純な遠隔装置１５５は変化する。最後に、通信ネットワークにより単純な遠隔装置１５５と表示装置１７０が互いに接続されている場合は、図４２に示すように単純な遠隔装置１５５で生成した何らかの返却値またはフィードバックは単純な遠隔装置１５５から伝送できる。
【０１７１】
［従来装置の制御］
本実施形態のハンドヘルド表示装置用として設計されていない従来の遠隔装置は、ハンドヘルド表示装置へ伝送するユーザーインターフェースプログラムオブジェクトを有していない。例えば、図５には赤外線信号のようなコード化されたコマンド信号にだけ応答できる一般的な従来の遠隔装置が示されている。この場合、この遠隔装置を用いてハンドヘルド表示装置に手で情報を送らなくてはならない。この後、ハンドヘルド表示装置は一般的な遠隔装置用の総称ユーザーインターフェースプログラムオブジェクトを使用する。
【０１７２】
例えば、ユーザーが持っているテレビが赤外線信号で制御する従来型のテレビの場合、テレビのモデル番号を入力して従来のテレビについての情報をハンドヘルド表示装置へ入力する。ハンドヘルド表示装置では、データベースへアクセスして従来のテレビで理解できる制御コードのリストを持ってくる。次に、テレビ表示オブジェクトを作成してこの従来のテレビを制御する。テレビ表示オブジェクトをユーザーが選択した場合は、総称テレビユーザーインターフェースを表示するメソッドをハンドヘルド表示装置が呼び出す。この総称テレビユーザーインターフェースとユーザーが対話すると、表示装置から適切な赤外線制御コードが送信されてテレビが制御される。
【０１７３】
［実施形態のまとめ］
以上、図形マップ構造に基づいた直覚的図形ユーザーインターフェースおよび遠隔外部電子装置を制御するシステムについて説明してきた。本実施形態のユーザーインターフェースでは、地理的マップ構造の各スペースがスペースとしてタッチスクリーンディスプレイ上に表示されている。各スペースには着色された「オブジェクト」と呼ばれるアイコンが配置されており、このオブジェクトはユーザーが選択および操作できるようになっている。ポータルと呼んでいる一定のオブジェクトを選択すると、ユーザーは一つのスペースから別のスペースへ移動する。ボタンと呼ばれている別のオブジェクトを選択すると、このオブジェクトに対応する動作または機能が実行される。ハンドヘルド表示装置にはユーザーインターフェースが表示され、このインターフェースは遠隔電子装置を制御することができる。各遠隔電子装置からは、図形ユーザーインターフェースを定義するユーザーインターフェースプログラムオブジェクトが前記表示装置へ伝送される。表示装置のタッチスクリーンディスプレイ上の遠隔装置に対応するアイコンをユーザーが選択すると、その遠隔装置に対応する図形ユーザーインターフェースがハンドヘルド表示装置に表示される。
【０１７４】
［総括］
本明細書には、特許請求の範囲に記載した発明のほか、次の技術的思想が開示されている。
【０１７５】
（１）ＣＰＵ、メモリー、図形表示スクリーンからなるコンピュータシステム上で図形ユーザーインターフェースを実行する方法であって、それぞれ図形背景イメージで構成された複数のスペースを生成するステップと、複数のポータル（門）に接続された前記スペースを指示された図形構造体（地理的地図構造）の中に配列するステップと、前記ポータルが存在しているスペースと対応目標スペースが前記ポータルによって接続されるよう図形アイコンからなる前記ポータルのそれぞれに対応目標スペースが設けられており、前記スペースの内部に前記複数のポータルを配置するステップと、少なくとも第１のポータルが設けられた第１スペースの図形背景イメージと当該第１スペース内に配置されているポータルを図形表示スクリーン上に表示するステップと、前記第１スペースの内部に配置されている前記複数のポータルの中から選択した１つのポータルからなる前記入力をユーザーから受領するステップと、選択された前記ポータルに対応する目標スペースの図形背景イメージを前記図形表示スクリーン上に表示するステップとを有しており、前記スペースの中の前記ポータルを選択することにより前記指示された図形構造体の中のスペース間を前記ユーザーが移動できることを特徴とする方法。
【０１７６】
（２）ユーザーがオブジェクトの選択を行う対象である複数のオブジェクトをコンピュータシステムに対応した表示スクリーン上に表示する方法であって、環状オブジェクトリストの中に複数のオブジェクトを配列するステップと、前記環状オブジェクトリスト内の前記オブジェクトの第１サブセットを図形オブジェクトの第１サブセットとして表示スクリーン上に表示するステップであり、前記表示スクリーン上に表示された図形オブジェクトは第１の軸に沿って配列されているところの第１サブセット表示ステップと、前記表示スクリーン上の第２サブセット図形オブジェクトは前記環状オブジェクトリスト内の前記オブジェクトの第２サブセットに対応しているものであって、前記図形オブジェクト上を前記第１の軸に略平行な方向へ前記ユーザーが指示装置をスライドした時に前記表示スクリーン上の図形オブジェクトの前記第１サブセットが前記表示スクリーン上の前記第２サブセット図形オブジェクトと入れ替わるよう前記環状オブジェクトリストを回転させるステップを有しており、前記表示スクリーン上に所望のオブジェクトが現れるまで前記環状オブジェクトリストを回転させることにより前記ユーザーは前記複数のオブジェクトの中からどれか１つのオブジェクトを選択できることを特徴とする方法。
【０１７７】
（３）図形ユーザーインターフェースは指示された図形構造体（地理的地図構造）内に配列された複数のスペースで構成されており、前記各スペースは図形背景イメージで構成され、前記スペースは複数のポータルによって前記指示された図形構造体に接続されており、前記ポータルはそれぞれ第１スペースと第２スペースを接続するところのコンピュータシステム用図形ユーザーインターフェース内における前記指示された図形構造体に沿って巡ってきた経路を記録する方法において、目標スペースに対応した少なくとも１つのポータルからなる第１スペースに対応する図形背景イメージを表示スクリーン上に表示するステップと、前記複数のスペースの各スペース内に表示され、前回訪れたスペースを指すスペースポインターのスタックからなるウェイバックポータルを生成するステップと、前記第１スペース内の前記複数のポータルから選択した１つのポータルまたは前記ウェイバックポータルからなる入力をユーザーから受け取るステップと、前記ユーザーがポータルと選択した場合は、この選択されたポータルに対応するスペースのポインターを前記ウェイバックスタック上に前記ユーザーインターフェースがプッシュし、そして前記選択されたポータルに対応する前記スペースの図形背景イメージを前記表示スクリーン上に表示するように、あるいは、前記ユーザーが前記ウェイバックポータルを選択した場合は、前記ウェイバックポータルの一番上からスペースポインターをポップし、そして前記スペースポインターで指し示した前記スペースを前記図形表示スクリーン上に表示するように前記ユーザーから受け取った前記入力を処理するステップを有していることを特徴とする方法。
【０１７８】
（４）図形ユーザーインターフェースと汎用性動画アイコンを有するコンピュータシステムにおいて、前記アイコンは表示スクリーン上に表示される擬人化図形キャラクターと、前記擬人化図形キャラクターを動画化してユーザーの注意を引く手段と、前記擬人化キャラクターの視覚的外見を変化させてステート情報を伝える手段で構成されていることを特徴とするシステム。
【０１７９】
（５）図形ユーザーインターフェースは表示スクリーン上に表示される複数の図形オブジェクトから構成されており、スクリーン上においた指を検出し、また、該スクリーン上の該指の位置を判断するタッチスクリーンで前記表示スクリーンは構成されているところのコンピュータ用図形ユーザーインターフェースの中でユーザー図形オブジェクトを掴めるようにする方法において、前記タッチスクリーン上の領域を定義する図形オブジェクトを当該スクリーン上に表示するステップと、前記タッチスクリーン上に表示されている前記図形オブジェクトの近くに指をおくステップと、前記タッチスクリーン上に表示されている前記図形オブジェクトの回りに前記指で円を描くステップと、前記タッチスクリーン上に表示されている前記図形オブジェクトに触れるステップと、前記タッチスクリーンで判断したように前記タッチスクリーン上の前記指が定めた当該スクリーン上の位置に前記図形オブジェクトを表示するステップとを有しており、前記図形オブジェクトの回りに指で円を描くことによりユーザーは前記図形オブジェクトを選択することができることを特徴とする方法。
【０１８０】
（６）少なくとも１つの遠隔装置を制御する装置であって、中央演算処理ユニット（ＣＰＵ）と、前記中央演算処理ユニットに接続されたメモリーと、前記中央演算処理ユニットに接続されており、図形イメージを表示する表示スクリーンと、前記中央演算処理ユニットに接続されており、通信ネットワークを介してメッセージを送受信する通信手段と、遠隔装置によって伝送されるとともに前記遠隔装置用ユーザーインターフェースの定義を行うユーザーインターフェースオブジェクトを前記通信手段を介して受信する手段と、前記遠隔装置に対応する図形ユーザーインターフェースを前記表示スクリーン上に表示するユーザーインターフェースメソッドを前記ユーザーインターフェースプログラムオブジェクトの中から呼び出す手段と、前記表示スクリーン上の前記遠隔装置に対応する前記図形ユーザーインターフェースによって導かれた入力をユーザーから受信する手段と、遠隔装置を制御するデバイスドライバー（駆動）メソッドであって、前記遠隔装置に対応したデバイスドライバメソッドを前記ユーザーからの入力に応じて呼び出す手段を有しており、前記遠隔装置の前記ユーザーインターフェースを前記表示スクリーン上に表示し、また、前記ユーザーインターフェースとの対話によって前記デバイスドライバーを呼び出すことを特徴とする装置。
【０１８１】
（７）遠隔装置から図形ユーザーインターフェースを獲得すると共に通信ネットワークに接続された局所表示装置を用いて前記遠隔装置を制御する方法であって、前記通信ネットワークへ前記遠隔装置を接続するステップと、前記通信ネットワークに接続された時に出力を行う(to export) 図形ユーザーインターフェースを備えているという信号を前記遠隔装置から送るステップと、前記局所表示装置で前記図形ユーザーインターフェースを要求するステップと、前記図形ユーザーインターフェースを表示するメソッドを有した図形ユーザーインターフェースプログラムオブジェクトを前記局所表示装置へ伝送するステップと、前記局所表示装置上に前記遠隔装置の図形ユーザーインターフェースが表示されるよう前記ユーザーインターフェースプログラムオブジェクトの中から前記メソッドを呼び出すステップを有していることを特徴とする方法。
【０１８２】
（８）図形ユーザーインターフェース内のオブジェクトをコピーする方法であって、図形表示スクリーン上の第１の位置にオブジェクトの第１図形イメージを標示するステップと、前記オブジェクトをコピーするコマンドからなる入力をユーザーから受取ステップと、ぼかした色で描かれた前記第１図形イメージのコピーからなる前記第１の位置の前記オブジェクトのゴーストイメージを前記表示スクリーン上に表示するステップと、前記オブジェクトのコピーを配置する第２の位置からなる入力をユーザーから受け取るステップと、前記第２の位置に前記オブジェクトの前記第１図形イメージを表示するステップと、前記オブジェクトの前記ゴーストイメージが前記オブジェクトの前記第１図形イメージと同じになるよう前記表示スクリーン上の前記第１の位置の前記オブジェクトの前記ゴーストイメージを変化させるステップを有しており、前記オブジェクトの２つの図形イメージが存在することを特徴とする方法。
【０１８３】
（９）図形ユーザーインターフェース内のオブジェクトを移動する方法であって、オブジェクトの第１図形イメージを図形標示スクリーン上の第１の位置に標示するステップと、前記オブジェクトを移動するコマンドからなる入力をユーザーから受け取るステップと、ぼかした色で描かれた前記オブジェクトの前記第１の図形イメージのコピーからなる前記第１の位置の前記オブジェクトのゴーストイメージを前記標示スクリーン上に標示するステップと、前記オブジェクトの第２図形イメージを配置する第２の位置からなる入力をユーザーから受け取るステップと、前記第２の位置に前記オブジェクトの前記第２図形イメージを標示するステップと、前記オブジェクトの前記ゴーストイメージと前記第２の位置の前記オブジェクトの前記第２図形イメージが溶け合うよう前記第１の位置の前記オブジェクトの前記ゴーストイメージを前記第２の位置へ移動するステップを有しており、前記オブジェクトの一方の図形イメージが前記第２の位置に現在存在していることを特徴とする方法。
【０１８４】
（１０）オブジェクトを図形アイコンで表示するオブジェクト指向図形ユーザーインターフェースにおいて情報をプログラムオブジェクトへ送る方法であって、図形表示スクリーン上の第１の位置にデータオブジェクトの図形イメージを表示するステップと、前記データオブジェクトを移動するコマンドからなる入力をユーザーから受け取るステップと、ぼかした色で描かれた前記オブジェクトの第１図形イメージのコピーからなる前記第１の位置の前記オブジェクトのゴーストイメージを前記表示スクリーン上に表示するステップと、前記データオブジェクトを位置きめする第２の位置からなる入力をユーザーから受け取るステップであって、前記プログラムオブジェクトは当該第２の位置に配置されるところの入力受取ステップと、前記プログラムオブジェクトへ前記データオブジェクトを供給するコマンドである入力をユーザーから受け取るステップを有しており、前記オブジェクトの２つの図形イメージが現在存在していることを特徴とする方法。
【０１８５】
（１１）表示スクリーン上に図形ユーザーインターフェースが表示され、前記図形ユーザーインターフェースはそれぞれ図形背景イメージからなる複数のスペースで構成されており、前記スペースは地図構造に構成されており、前記図形ユーザーインターフェース内を航行する方法であって、前記地図構造内の現在のユーザーの位置を現す第１スペースを前記表示スクリーン上に表示するステップと、ポータルは対応目標スペースを有し、また、図形アイコンで構成されているものであって、前記ポータルが存在するスペースと前記対応目標スペースが前記ポータルによって接続され、また、前記ポータルによって前記ユーザーの行く場所が得られるよう複数の前記ポータルを前記第１スペース内に表示するステップと、前記ユーザーが去ったばかりのスペースのイメージを表すウェイバックポータルを前記第１スペース内に表示するステップを有していることを特徴とする方法。
【図面の簡単な説明】
【０１８６】
【図１】遠隔制御機能の全体図
【図２】ハンドヘルド表示装置を実現するのに用いるハードウェアの全体図
【図３】制御対象となるインテリジェント遠隔装置のブロック図
【図４】制御対象となる単純な遠隔装置のブロック図
【図５】遠隔制御の対象となる従来の電子装置のブロック図
【図６】異なる地理的スペースの構造を示す概略図
【図７】ユーザーインターフェースを提供するのに用いるスペースの地理的サンプル地図構造を示す概略図
【図８】ユーザーインターフェースを提供するのに用いるスペースの地理的サンプル地図構造を示す概略図
【図９】図７と図８の地理的地図構造に基づくユーザーインターフェースの宇宙空間スペースを示す概略図
【図１０】図７と図８の地理的地図構造に基づくユーザーインターフェース内の地球表面スペースの第１図
【図１１】図７と図８の地理的地図構造に基づくユーザーインターフェース内の地球表面スペースの第２図
【図１２】図７と図８の地理的地図構造に基づくユーザーインターフェースの第１ハウススペースの概略図
【図１３】図７と図８の地理的地図構造に基づくユーザーインターフェース内の居間スペースを示す概略図
【図１４】図７と図８の地理的地図構造に基づくユーザーインターフェース内のテレビスペースを示す概略図
【図１５】図７と図８の地理的地図構造に基づくユーザーインターフェース内のテレビ番組表の本のスペースを示す概略図
【図１６】図７と図８の地理的地図構造に基づくユーザーインターフェースの一つのテレビ番組の記事のスペースを示す概略図
【図１７】図１５のテレビ番組表の本のスペースの概念図
【図１８】単一スクリーン表示に表れていない複数のオブジェクトを示す概略図
【図１９】オブジェクトホイール上に配置された複数のオブジェクトを示す概念図
【図２０】オブジェクトホイールが回転して新しいオブジェクトを示す時の図１９のオブジェクトホイールの概念図
【図２１】オブジェクトホイールを回転するのに使っている「スピンジェスチャー」を示す概略図
【図２２】オブジェクトホイールからオブジェクトを取り出すのに使っている「ピックアップジェスチャー」を示す概略図
【図２３】スペースからオブジェクトを取り出すのに使っている「ピックアップジェスチャー」を示す概略図
【図２４】診断モードを記号表示するため医者のユニフォームを着たエージェントポータル(agent portal)を示す概略図
【図２５】書き込みモードを記号表示するため鉛筆を持ったエージェントポータルを示す概略図
【図２６】最近の出来事についてユーザーに注意を喚起しようとしているエージェントポータルを示す概略図
【図２７】表示装置へ図形インターフェースを伝送するインテリジェント装置を示す概略図
【図２８】インテリジェント制御可能装置の図形インターフェースを表示する表示装置を示す概略図
【図２９】インテリジェント装置へユーザーインターフェースと共にユーザー会話を伝送する表示装置を示す概略図
【図３０】表示装置へ返却値またはフィードバックを伝送するインテリジェント装置を示す概略図
【図３１】表示装置へ伝送中のインテリジェント装置内のプログラムオブジェクトの概念図
【図３２】表示装置内のインテリジェント装置のプログラムオブジェクトの概念図
【図３３】遠隔インテリジェント装置内のオブジェクト中のメソッドを呼び出す表示装置の概念図
【図３４】ステータスを返却する遠隔インテリジェント装置内のオブジェクト中のメソッドの概念図
【図３５】インテリジェント装置のユーザーインターフェースの転送のフローチャート
【図３６】クライアントが遠隔メソッド呼出しを行うＲＰＣマネジャーの状態ダイアグラム
【図３７】サーバーが遠隔メソッド呼出しを処理するＲＰＣマネジャーの状態ダイアグラム
【図３８】遠隔メソッド呼出しの順序を示すフロー図
【図３９】表示装置へ図形ユーザーインターフェースを転送する単純な装置を示す概略図
【図４０】制御可能な単純な装置の図形ユーザーインターフェースを示す表示装置を示した概略図
【図４１】単純な装置へ単純な制御コードを伝送する表示装置を示した概略図
【図４２】表示装置へ返却値またはフィードバックを伝送する単純な装置を示した概略図
【図４３】表示装置へ転送中の単純な装置のプログラムオブジェクトの概念図
【図４４】表示装置内の単純な装置のプログラムオブジェクトの概念図
【図４５】プログラムオブジェクト内のメソッドを呼出し、単純な装置へ制御コードを転送する表示装置の概念図
【図４６】状態情報を送り返す単純な遠隔装置の概念図
【図４７】単純な装置のユーザーインターフェースの転送のフローチャート
【符号の説明】
【０１８７】
３０、４０３ ＣＰＵ
３２ 地球表面スペース
３３、４０４、４２４ メモリー
３４ Ｉ／Ｏ ユニット
３５、４０１ 通信回路
３７ タッチスクリーンディスプレイ
４１ エージェント
４２ 他の入力装置
４５ ウェイバックポータル
１５０ インテリジェント遠隔装置
１５５ 単純遠隔装置
１５７ 電子装置
１６０ 通信媒体
１７０ ハンドヘルド表示装置
３０１、３５１ デバイスドライバーオブジェクト
３０３、３５３ ユーザーインターフェースオブジェクト
４２０ エミッタ
４２１、４５０ 受信器
４２５、４５５ デバイス制御回路
【図１】
2005293599.tif 000003
【図２】
2005293599.tif 000004
【図３】
2005293599.tif 000005
【図４】
2005293599.tif 000006
【図５】
2005293599.tif 000007
【図６】
2005293599.tif 000008
【図７】
2005293599.tif 000009
【図８】
2005293599.tif 000010
【図９】
2005293599.tif 000011
【図１０】
2005293599.tif 000012
【図１１】
2005293599.tif 000013
【図１２】
2005293599.tif 000014
【図１３】
2005293599.tif 000015
【図１４】
2005293599.tif 000016
【図１５】
2005293599.tif 000017
【図１６】
2005293599.tif 000018
【図１７】
2005293599.tif 000019
【図１８】
2005293599.tif 000020
【図１９】
2005293599.tif 000021
【図２０】
2005293599.tif 000022
【図２１】
2005293599.tif 000023
【図２２】
2005293599.tif 000024
【図２３】
2005293599.tif 000025
【図２４】
2005293599.tif 000026
【図２５】
2005293599.tif 000027
【図２６】
2005293599.tif 000028
【図２７】
2005293599.tif 000029
【図２８】
2005293599.tif 000030
【図２９】
2005293599.tif 000031
【図３０】
2005293599.tif 000032
【図３１】
2005293599.tif 000033
【図３２】
2005293599.tif 000034
【図３３】
2005293599.tif 000035
【図３４】
2005293599.tif 000036
【図３５】
2005293599.tif 000037
【図３６】
2005293599.tif 000038
【図３７】
2005293599.tif 000039
【図３８】
2005293599.tif 000040
【図３９】
2005293599.tif 000041
【図４０】
2005293599.tif 000042
【図４１】
2005293599.tif 000043
【図４２】
2005293599.tif 000044
【図４３】
2005293599.tif 000045
【図４４】
2005293599.tif 000046
【図４５】
2005293599.tif 000047
【図４６】
2005293599.tif 000048
【図４７】
2005293599.tif 000049