(57)【要約】【課題】ビューポートパン操作フィードバックシステム。【解決手段】ビューポートを表示するグラフィカルユーザインタフェース（GUI）はその中にビューポートの外側境界内に定義されたパン操作制御領域を含んでいる。パン操作制御領域は複数のセグメントを含み、その複数のセグメントは各々が一つのパンする方向に対応しており、これにおいてパン操作の速度は複数のセグメントの半透明度のレベルを示している。GUI内のビューポートの外側境界に沿って定義されたパン操作可能領域が含まれている。パン操作可能領域は、ソース画像がビューポートのエッジを超えて延在するかどうかを示すものであり、且つパン操作制御領域の部分集合である。ビューポートを介して画像をパンするための方法およびコンピューティングデバイスも提供している。【選択図】図９
2007122718.tif 000002
【特許請求の範囲】
【請求項１】
ビューポートを介して画像をパンするための方法であって、
パンできる方向をビューポート上にビジュアルに示すステップと、
ビューポートのパン操作領域内にビジュアルマーカーを位置づけるステップと、
ビジュアルマーカーの位置付けによりパン操作領域と関連付けられた方向に画像を通ってビューポートの移動を誘発するステップと、
誘発作業と同時にその方向にパンできる相対量をパン操作領域内に表示するステップと、
を含む方法。
【請求項２】
画像が動くのに伴ってパン操作領域の表示濃度を調整することによってパンできる相対量を更新することを、
さらに含む、請求項１に記載の方法。
【請求項３】
パンできる方向をビューポート上に示すステップは、
ビューポートの一番外側のエッジで少なくとも１画素幅でボーダーを表示し、
パンする方向にパンできる量を示すためにボーダーの色の濃度を調整することを、
含む、請求項１に記載の方法。
【請求項４】
誘発作業と同時にその方向にパンできる相対量をパン操作領域内に表示するステップは、
移動の方向を示す方向マーカーを表示することを、
含む、請求項１に記載の方法。
【請求項５】
パン操作領域と関連付けられた方向に画像を通ってビューポートの移動を誘発するステップは、
パン操作領域内におけるビジュアルインジケータの半透明度の度合いを調整することによって移動の速度を示すことを、
含む、請求項１に記載の方法。
【請求項６】
画像は、ビューポートを表示するコンピューティングデバイスの共有アプリケーションを介して検索されたリモートコンピューティングデバイスのデスクトップ画像データである、請求項１に記載の方法。
【請求項７】
パン操作領域のサイズの調整を可能にすることを、
さらに含む、請求項１に記載の方法。
【請求項８】
パン操作領域のサイズの調整は他のパン操作領域と同期化されているので、パン操作領域が調整されることにより各パン操作領域のサイズ調整を誘発する、請求項７に記載の方法。
【請求項９】
請求項１に記載の方法を実行するように適合されたプログラム命令を含んだ媒体または波形。
【請求項１０】
内部にビューポートを表示しているグラフィカルユーザインタフェース（GUI）であって、GUIは、
GUI内においてビューポートの外側の境界内に定義されたパン操作制御領域を含み、パン操作制御領域は複数のセグメントを含み、複数のセグメントは各々がパンする方向に対応しており、これにおいてパン操作の速度は複数のセグメントの半透明度のレベルによって示され、
GUI内においてビューポートの外側の境界に沿って定義されたパン操作可能領域を含み、パン操作可能領域はソース画像がビューポートのエッジを超えて延在しているかどうかを示しており、これにおいてパン操作可能領域はパン操作制御領域の部分集合である。
【請求項１１】
パン操作制御領域を定義する複数のセグメントの調整を可能にするように構成されたパン操作制御領域マージンマーカーを、
さらに含む、請求項１０に記載のGUI。
【請求項１２】
ソース画像はリモートコンピューティングデバイスと関連付けられ、ビューポートを制御するコンピューティングデバイスと関連付けられた共有アプリケーションを介して取得されたソース画像がGUI上に表示される、請求項１０に記載のGUI。
【請求項１３】
パン操作制御領域マージンマーカーの一つを調整することによってマージンマーカーの各々が対応して調整されるようにパン操作制御領域マージンマーカーは同期化されている、請求項１１に記載のGUI。
【請求項１４】
パン操作可能領域内の画像データの濃度はビューポートのエッジを超えて延在するソース画像の量に合わせて調整可能になるようにパン操作可能領域が構成される、請求項１０に記載のGUI。
【請求項１５】
パン操作制御領域はパンする方向を示すパン操作方向インジケータを含み、パン操作方向インジケータの半透明度のレベルは対応するセグメントの半透明度のレベルに対応し、これにおいてパン操作制御領域およびパン操作方向インジケータは実際にパンしているときに限って可視である、請求項１０に記載のGUI。
【請求項１６】
もう一つのコンピューティングデバイスと対話するように構成されたコンピューティングデバイスであって、このコンピューティングデバイスは、
中央処理ユニット（CPU）を含み、
共有アプリケーションを格納するように構成されたメモリを含み、共有アプリケーションは、コンピューティングデバイスの入力デバイスが他のコンピューティングデバイスで動作可能になるように、コンピューティングデバイスが他のコンピューティングデバイスとの仮想リンクを生成できるようにするものであり、
コンピューティングデバイスのビューポート内に他のコンピューティングデバイスからの画像データの第１部分を表示するように構成された表示画面を含み、
画像データをパンできるか否か、パンできる方向、画像データの第１部分の相対位置、および画像データの第１部分からパン操作経路に沿って画像データの第２部分に移動するときのパン操作の速度を表示する複数のビジュアルインジケータをビューポート内に提供するように構成されたビューポートロジックを含み、
CPU、メモリ、表示画面、およびビューポートロジック間の通信を可能にするバスを含む。
【請求項１７】
複数のビジュアルインジケータは、
GUI内のビューポートの外側の境界内に定義されたパン操作制御領域を含み、パン操作制御領域は複数のセグメントを有し、複数のセグメントは各々が一つのパンする方向に対応し、パン操作の速度は複数のセグメントの半透明度のレベルによって示され、
GUI内のビューポートの外側の境界に沿って定義されたパン操作可能領域を含み、パン操作可能領域はソース画像がビューポートのエッジを超えて延在するかどうかを示しており、パン操作可能領域はパン操作制御領域の部分集合であり、
パン操作制御領域を定義する複数のセグメントの調整を可能にするように構成されたパン操作制御領域マージンマーカーを含む、
請求項１６に記載のデバイス。
【請求項１８】
ビューポートロジックはさらに、マージンマーカーの一つを調整すると対応してマージンマーカーが各々調整されるように、パン操作制御領域マージンマーカーを同期化するように構成されている、請求項１７に記載のデバイス。
【請求項１９】
パン操作制御領域は三角形または矩形のうちの一つと関連付けられている、請求項１７に記載のデバイス。
【請求項２０】
パン操作可能領域はソース画像がビューポートのエッジを超えて延在するときに限って可視で、パン操作制御領域はパン操作領域におけるパン操作時に限って可視である、請求項１７に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータのアプリケーションにおいて、さまざまなコンテントを表示する方法等に関し、特にビューポートパン操作フィードバックシステムに関連するものである。
【背景技術】
【０００２】
コンピュータのアプリケーションにおいて、ユーザは様々なデジタルコンテントを表示するとともに対話する。このコンテントは、画像、ビデオ、ドキュメント、ウェブページ、アプリケーション、あるいはその他の情報を含むことがある。一つ以上のタイプのコンテントを同時にビューする必要があることが多い。この目的でグラフィカルオペレーティングシステムにはウィンドウ方式のシステム（windowing system)が採用されている。ウィンドウはディスプレイ上の一領域または一エリアを定義し、特定のデジタルコンテントを保持する。複数のウィンドウを定義し、限られた表示領域を共有するために互いにオーバーラップすることができる。
【０００３】
往々にして、使用可能なディスプレイ、またはウィンドウ領域が保有できる以上の大きさを有する次元（dimensions)のコンテントを表示する必要が生じる。また、多くの場合、ユーザはデジタルコンテントを拡大またはスケーリングを要する微細な細部と取り組まなければならない。例えば、ユーザは判読できるようにドキュメントを拡大しなければならないことがあるし、あるいはエンジニアリングまたはペインティング・プログラムで図形に正確な調整を行わなければならないことがある。普通、使用可能な表示エリアまたはウィンドウ領域内に必要なスケールでデジタルコンテント全体を収めることは困難かまたは不可能である。
【０００４】
こうした難しさを緩和するために、ウィンドウ方式のユーザインタフェースはビューポートと呼ばれる標準メカニズムをしばしば使用する。ビューポートはソースコンテント上の位置にマッピングされた次元エリアを定義する。ビューポートの次元および位置によってソースコンテントの全てがまたはその一部がマッピングされるかどうか決まる。ユーザインタフェースウィンドウ内の領域は一般的にビューポートウィンドウを保有しており、ビューポートウィンドウはソースコンテントのマッピングされた部分に対するビューをビューポートを介して提供する。ビューポートウィンドウの次元は一般的にビューポートウィンドウが占めるウィンドウ領域の次元に限定される。ビューポートを含んだウィンドウは一般的にソースコンテント上のビューポートの位置を調整するための何らかの手段を提供するので、ソースコンテントのどの部分がビューポートウィンドウ内で可視であるかに影響を与える。ビューポートウィンドウの次元とビューポートとの間の関係は固定ではない。ビューポートの次元はビューポートウィンドウよりも小さいことも、あるいは大きいこともあるので、ビューポートウィンドウはビューポートがマッピングされたソースコンテントのスケーリング版を表示する。
【０００５】
オペレーティングシステムのユーザインタフェースは一般的にウィンドウを移動したりサイズ変更することを可能にする。ビューポートウィンドウを含んだウィンドウをサイズ変更するとその結果ビューポートウィンドウの次元をサイズ変更することになり、それが次にビューポートのサイズを変更し、それによってビューポートウィンドウを介して見るとソースコンテントをより多くまたはより少なく表示している。もしくは、ビューポートウィンドウのサイズの変更によってビューポートのサイズが変わることはなく、そのためにソースコンテントのスケーリング版になる。しかし、ビューポートのソースに対する相対位置は変わらないので、ディスプレイ上のウィンドウの移動が普通ソースコンテントのビューポートウィンドウのビューを変えることはない。ソースコンテントに対してビューポートの位置を変更するのに普通は他のインタフェースが用いられる。これらのインタフェースは、中央、左上など、ソースコンテント上の特定位置にビューポートを置くメカニズムを含んでいる。もしくは、ターゲット方向に向けて連続して位置変更する、つまりパンするための方法をインタフェースが提供することがある。
【０００６】
ビューポートをパンする最も一般的なテクニックは、スコロールバー、自動パン操作境界領域（automatic panning boundary region)、ドラグパン操作（drag panning)、マウス／ホィール制御パン操作（mouse/wheel control panning)などを含む。これらのテクニックには各々、使用可能なビューイングエリアを制限し、パン操作の制御をカスタマイズする能力に限界があり、パン操作についてのユーザへのフィードバックに限界があるといった短所とともに、その他のイントルーシブ（介入的）な特性（other intrusive characteristics)といった短所もある。
【０００７】
【特許文献１】米国特許出願公開第2002/0126154号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００８】
そのために、ユーザに極力イントルーシブでないやり方でフィードバックの提供がなされ、ビューポートのパン操作をユーザが修正できるノン・イントルーシブ（非介入的）なインタフェースを用いてビューポートをパンするための方法および装置を提供するために先行技術のもつ問題を解決する必要がある。
【課題を解決するための手段】
【０００９】
おおまかに言えば、本発明は、介入を最小限に抑えたフィードバック方法を有するパン操作システム、およびそうしたパン操作機能を構成する方法を提供することによって、これらのニーズを満たすものである。本発明は、プロセスとして、システムとして、あるいはデバイスとしてなど、数多くのやり方でインプリメント可能なことを理解するべきである。本発明の発明実施例をいくつか以下に説明する。
【００１０】
一つの実施例において、ビューポートを介して画像をパンするための方法を提供する。この方法は、パンできる方向をビューポート上に視覚的に示すことから始まる。この方法は、ビューポートのパン操作領域内にビジュアルマーカーを配置し、そのビジュアルマーカーの位置決めに応答してパン操作領域と関連づけられた方向に画像を通ってビューポートの移動を誘発することを含む。誘発発生と同時に、この方法はさらに、関連づけられた方向においてパンできる相対量をパン操作領域内に表示することを提供する。
【００１１】
もう一つの実施例において、内部にビューポートを表示するグラフィカルユーザインタフェース（GUI）を提供する。GUIには、その中のビューポートの外側の境界内にパン操作制御領域が定義されている。パン操作制御領域は複数のセグメントを含み、その複数のセグメントは各々がパンする一方向に対応しており、複数のセグメントの半透明度のレベルによってパン操作の速度が示される。GUI内のビューポートの外側境界に沿って定義されたパン操作可能領域（panning available region)を含んでいる。パン操作可能領域は、パン操作制御領域の部分集合で、ソース画像がビューポートのエッジを超えて延在しているかどうかを示している。
【００１２】
また別の実施例において、他のコンピューティングデバイスと対話するように構成されたコンピューティングデバイスを提供する。このコンピューティングデバイスは中央処理ユニット（CPU）を含むとともに共有アプリケーションを格納しているメモリを含んでいる。共有アプリケーションによってコンピューティングデバイスは他のコンピューティングデバイスのうちの一つとの仮想リンクを作ることができるので、コンピューティングデバイスの入力デバイスがコンピューティングデバイスのうちのもう一つと物理的に接続しているかのように見えるようになる。コンピューティングデバイスのビューポート内の他のコンピューティングデバイスのうちの前述の一つからの画像データの第１部分を表示するように構成された表示画面を含んでいる。画像データをパンできるか否か、パンできる方向、ソースコンテント／画像データ内における画像データの第１部分の相対位置、パン操作経路に沿って画像データの第１部分から第２部分に移動するときのパン操作の速度を明らかにする複数のビジュアルインジケータを提供するビューポートロジックを提供している。CPU、メモリ、表示画面、およびビューポートロジック間の通信はバスによって可能になる。
【００１３】
発明のその他の態様および効果については、添付の図面とともに、例をあげて発明の原理を説明している以下の詳細な説明から明らかになる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態を図面に基づいて説明する。
【実施例１】
【００１５】
発明をビジュアルフィードバックを提供する装置および方法として説明しており、フィードバックはソース面（source surface)上でビューポートの対話型パン操作をしているコンピュータユーザに対する速度（rate)および方向の動的情報を含んでいる。しかし、当業者ならば、本発明はそうした具体的な詳細を部分的にあるいは全く知らなくても実施できることは容易にわかるだろう。その他の場合には、本発明を不要に曖昧にしないために、公知のプロセス操作については説明を省いた。
【００１６】
以下に説明する実施例は、ユーザがパン操作機能を構成できるようにするグラフィカルユーザインタフェース（GUI）を提供している。加えて、GUIを可能にするシステムは、ソース画像データ上でのビューポートの対話型パン操作中にユーザにビジュアルフィードバックを提供するように構成されている。一つの実施例において、ユーザにはパン操作の速度および方向に対する微細な表示の構成可能な制御（fine-grained configurable control)が与えられている。さらに、発明の全ての要素は介入を最小限に抑えるかまたは全く介入がないように設計されている。この非介入性（non-intrusiveness)は、アプリケーションのコンテキストが広く使われている入力デバイスの使用に制約を生じさせるときにとりわけ効果がある。本書で説明しているビューポートのパン操作／位置決めシステムは、例えば、リモートマシンが共有アプリケーションを介してアクセスするリモートマシンの要件に関して、介入性を最小限に抑えたビジュアルフィードバックを提供するとともに入力デバイスを最低限にしまたは共用／自動化するように動作する。
【００１７】
そうした共有アプリケーションのためのビューポート位置決め制御システムの特性の一つは、ソースコンテントが占める面積を縮小しなければならない条件を発生させるインタフェース要素を挿入せずにフィードバックを提供することであるが、それでもなおフィードバックは視覚的にソース画像とは区別がつく。このシステムは、例えば、マウスやポインターを使ってソース画像を横切って「ドラグ」操作を行うとき、ソースコンテントとのユーザの自然なコンテキスト上の対話と干渉することがない。発生しているあるいは発生する可能性のある位置変更についてユーザに知らせるためにリアルタイムでフィードバックを提供し、基本操作に専用の入力デバイスを必要としない。このシステムでは、例えば、ポインターの精度の高い位置決めまたはボタンの組み合わせを押すといった基本操作のための標準的入力デバイスを器用に操作する必要がない。本書で説明しているシステムは、ビューポート位置の位置決めの微細な表示を可能にするとともに、それと同時にソース画像を横切ってビューポートを素早く配置することも可能にする。とりわけ、ビューポートを２つの次元にパンできるときに、本書で説明している実施例によってビューポートの移動の方向およびスピードの簡単な変更が可能になる。以下にさらに詳細に説明するように、ユーザは最大の使い易さと生産性を求めてコントロールの動作をカスタマイズすることができる。
【００１８】
図１Aおよび１Bは、本発明の一つの実施例による、ビューポートウィンドウがその上を移動しているソースコンテントを表している。図１Aおよび１Bに示すように、ソースコンテント１００はビューポート１０２aおよび１０２bで表した使用可能なディスプレイまたはウィンドウ領域よりも大きい。往々にして、使用できる使用可能なディスプレイまたはウィンドウ領域よりも次元が大きなコンテントを表示することが必要になることがある。また、多くの場合に、ユーザはデジタルコンテントを拡大またはスケーリングしなければならない。例えば、ユーザは判読できるようにドキュメントを拡大しなければならないことがある。あるいは、エンジニアリングまたはペインティング・プログラムで図形に精度の高い調整を行わなければならないことがある。一つの具体的な例において、ユーザは集積回路を設計していて、設計のフロアプランをディスプレイ上にフィットできる程度に拡大しなければならないことがある。ビューポート１０２aおよび１０２bはソース画像１００の一部分を表示できる程度の大きさの矩形領域で表される。図１Bにおいて、ビューポート１０２bは、以下に説明する実施例に従って、ソースコンテント１００の異なる一部分を見せるように右に移動またはパンされている。
【００１９】
コンピュータシステムを相互接続する高速ネットワーックがますます普及しているのに伴って、アプリケーション共有、デスクトップ共有、遠隔管理といったツールが普通になってきている。こうしたアプリケーションによって、一カ所にいるコンピュータユーザが遠隔地にあるコンピュータをビューし且つそうした遠隔地にあるコンピュータと仮想的に対話することが可能になる。アプリケーション共有またはデスクトップ共有によって、コンピュータユーザがローカルコンピュータでリモートコンピュータのグラフィカル出力またはその一部分をビューすることが可能になる。多くの場合、ユーザはこの出力の受動的なビューイング（passive viewing)に限定されるものではなく、ローカルキーボード、マウス、またはその他の適した入力デバイスを介してリモートコンピュータと対話することができる。リモートコンピュータからの画像がローカルコンピュータ上に表示するには大きすぎることがあるので、ビューポートはほとんどのアプリケーション共有ソフトウェアとともに広く使用されている。例えば、こうしたことは、ラップトップまたはパーソナルデジタルアシスタントを使用しているときのように、ローカルコンピュータのスクリーンが小さいときによく発生することがあり、また画像が拡大されているから、あるいはローカルディスプレイの一部分をこの目的で使用可能だから、発生する可能性もある。
【００２０】
対話型共有アプリケーションは、一般的に、ローカルコンピュータとリモートコンピュータとの間に仮想リンクを生じさせる。この仮想リンクは、ローカルコンピュータのマウスおよびキーボード入力があたかもリモートコンピュータに物理的に接続されているように動作する。すなわち、ローカル入力はリモートマシンで処理するために伝送される。同様に、リモートコンピュータのディスプレイ出力はあたかもローカルコンピュータのモニタに物理的に接続されているように見える。リモートコンピュータの出力がローカルマシンのディスプレイ上で占める大きさおよび面積を制限するために、ローカルディスプレイ上でビューポートウィンドウが使用される。ローカルコンピュータ上の対話型共有アプリケーションのビューポート外での活動もローカルマシン入力を必要とする。一般的に、カーソル、ビジュアルマーカー、ポインター、インタフェースパン操作制御ポインター、ユーザインタフェースポインター、マウスカーソル、またはマウスポインターとも呼ばれることのあるマウスポインターのロケーションは、ローカル入力がリモートコンピュータへの仮想接続の方向に向いているときを定義する、つまり、全てのローカル入力が処理のためにリモートコンピュータの方向に向くビューポートウィンドウ手段の中にマウスポインターが入っているときを定義する。
【００２１】
対話型コンピュータ共有アプリケーションのこのユニークな限定された入力デバイスの性質が、ローカルマシンのビューポートでのリモートマシン出力のビューを制御するのをいくぶん難しくする。例えば、ローカルアプリケーションウィンドウは、リモートマシンへのビューポートウィンドウを含む上に、スコロールバーを含んでいることもある。スコロールバーは、リモートコンピュータのソース出力の上でビューポートの位置をパンするのに用いることができる。しかし、リモートコンピュータのソース出力がスコールバーを含んだウィンドウを表示している場合には、ビューポートウィンドウの中でローカルウィンドウのスコロールバーとリモートコンピュータのスコロールバーとを区別する能力が問題になる。こうしたことは、ビューポートパン操作自体のための制御手段が、例えば、スコロールバーなど標準的ウィンドウ制御手段に類似していると視覚的混乱を発生させるそういった標準的ウィンドウ制御手段を含むどんなソース画像に対しても発生することがある。
【００２２】
さらに、スコロールバーを使ってビューポートの位置を移動するにはローカルマシン入力をローカルウィンドウに向かわせなければならない。それによってリモートマシンの方向に向くべき入力活動が中断されることがある。例えば、アプリケーション共有セッション中のローカルユーザはリモートコンピュータのデスクトップ上の一つの場所から別の場所にアイコンをドラグしたいことがある。ユーザがリモートコンピュータのターゲットデスクトップアイコンを見ることができてドラグ開始できるビューポート位置というのは、ビューポートをパンしないとユーザがターゲットのドロップ場所を見ることのできない位置かもしれない。ほとんどの構成において、ドラグ操作は操作期間中マウスボタンを押し続けていなければならず、マウスボタンを放すと、ドラグはポインターの今の場所で終わってしまう。スコロールバーのビューポート位置決め制御ではマウスをビューポートウィンドウの境界の外に移動してクリックしなければならない。それはドラグと同時に行うことはできない。こうした状況にあるユーザはアイコンを途中までドラグし、ストップしてビューポートの位置を変更し、アイコンを少し先きまでドラグし、ストップしてビューポートの位置を変更するといった作業をしなければならない。時間がかかるだけでなく、望ましくないところでストップしたドラグ作業は、ファイルの移動を引き起こす、アプリケーションのドラグしたドキュメントを開けようとするなど、好ましくない結果をもたらすことがある。
【００２３】
本書で説明している実施例はビューポートのパン操作／位置決めシステムを例証しており、このシステムはパンする速度および方向に関して介入を最低限に抑えたビジュアルフィードバックを有するノン・イントルーシブなやり方でのパン操作を提供している。誘発（triggering)領域内にあるマウスの位置はパンする方向を示していることがある。さらに、このテクニックを使って同時に左上にパンすることが可能である。本書で説明しているシステムのノン・イントルーシブな設計によって、ユーザは、ビューポートを有する共有アプリケーションで、リモートコンピューティングデバイスの入力要件を変更または中断することなく、あるいはローカルマシンに専用の入力を必要とすることなく、リモートマシンと対話できるようになる。フィードバッックもノン・イントルーシブだから、活動も自然な感じで、ビューポートソースコンテントのコンテキストに対して注意を逸らさせない。以下により詳細に説明するように、実施例は、ビューポートをパンできる方向、ソースコンテント内のビューポート位置の相対的場所および範囲、正確な位置決め制御のためのパン操作の速度のフィードバックを表示するとともに、ユーザがパンする領域のサイズを構成できるようにする複数のフィードバックインジケータを提供する。
【００２４】
図２は、ビューポートよりも小さなデスクトップのソース画像の簡約概略図である。ビューポート１０６はソース画像１０８よりも大きいので、ビューポート内にソース画像全体を表示することができる。従って、ビューポート１０６がソース画像１０８全体を示せるとき、パン操作制御またはフィードバックは見えない、あるいは必要でない。しかし、次元がソースコンテントよりも小さくなると、以下に詳細に説明するように、ビューポートウィンドウの位置決め制御がしかるべく起動される。
【００２５】
図３は、本発明の一つの実施例による、ソースコンテントの上にマッピングされたビューポートウィンドウを示す簡約概略図である。ビューポート１１０は可視でないパン操作領域に分割されている。一つの実施例において、領域A〜Iで示した９個の可視でない領域がある。外側の領域を全て合わせたもの、つまり、領域Eを除く全領域はパン操作マージンと考えられ、パン操作領域とも呼ばれることがある。この領域は個々のパン操作領域A、B、C、D、F、G、H、Iを含んでいる。別の実施例において、パン操作領域は、図４に関してより詳細に説明するように、ビューポートのパン操作制御をイネーブルすることのできる領域を定義する。領域Eは、この実施例においてパン操作制御またはフィードバックインジケータによって遮蔽されることのない領域を描いている。なお、図３のビューポート１１０は９個の領域に分割されているが、この描写は模式的なものであり、ビューポートは任意の適した領域数に分割できることを理解するべきである。さらに、個々のパン操作領域はオーバーラップすることがあり、コンテキストに従って選択的に使用できることを理解するべきである。加えて、領域は矩形、正方形、三角形、円、あるいはその他の適した形状が可能である。
【００２６】
図４は、発明の一つの実施例による、ビューポートウィンドウおよび対応する模式的領域を示す簡約概略図である。ビューポートウィンドウ１１２は、パン操作可能範囲インジケータ領域１１４、パン操作領域１１６および１１８を含み、これらは水平方向、垂直方向、または斜線方向にパンするのに使用することができる。一つの実施例において、パン操作領域１１６および１１８は、例えば、領域の半透明度の度合いまたは図５B〜Cおよび図７A〜Bに関して説明するようにパンする方向を示す矢印のような方向インジケータなど、パン操作の速度フィードバックインジケータを例証するように構成されている。ビューポート１１２内において、パン操作領域１１８はビューポート１１２の角にある三角形の部分で定義され、それに対してパン操作領域１１６はビューポートのエッジに沿った矩形領域で定義されていることを理解するべきである。この実施例において、パン操作領域１１８は斜めにパンするためのものであるが、パン操作領域１１６は垂直または水平方向のパン操作と関連づけられている。図に示すように、パン操作領域１１６および１１８は互いにオーバーラップする。ここで用いているように、パン操作領域１１６および１１８はパン操作制御領域とも呼ばれることがある。一つの実施例において、半透明度の度合いは、ビューポートウィンドウにおいてパン操作領域に関連付けられるとともに対応するソースコンテント上に描かれたGUI要素によって提供される。代替実施例においては、実際のソースコンテントを半透明の量を提供するように操作することができる。ビューポートウィンドウ１１２はメインのパンしない（non-panning)制御領域１２０も含んでいる。パン操作制御マージン調整要素１２２および１２４によってユーザはパン操作領域１１６および１１８の大きさを修正することができる。一つの実施例においては、 図６に関して説明するように、パン操作制御マージン調整要素１２２および１２４は同期化されているので、マージン調整要素のうちの一つを動かすことによってパン操作領域の各々が対応してサイズ修正される。
【００２７】
引き続き図４に関して、パン操作マージン１１６および１１８の領域内におけるパン操作制御の有無は、パン操作可能範囲インジケータ領域１１４と称している（パン操作可能領域とも称する）ビューポートフィードバックインジケータによって識別される。こうしたインジケータは、関連付けられているパン操作領域の一番外側のエッジに近いビューポートウィンドウのコンテントを遮蔽する細長い要素（thin element)として現れる。パン操作可能範囲インジケータ１１４は、ビューポートをインジケータの方向にパンできることを示すビジュアルなヒントを提供する。インジケータはコンテントを遮蔽するから、こうしたインジケータは小さい、しかし十分なフィードバックを提供できる程度の大きさはある。一つの実施例において、パン操作可能範囲インジケータの画素幅は１個の画素だけれども、適していればどんな画素サイズでも適用できる。パン操作可能範囲インジケータ領域１１４の色またはイメージはソースコンテントを補うように選んでもいいし、あるいはインタフェースと一致するように選んでもいい。システムのインタフェースに使用されている全ての色およびグラフィックスと同様に、インジケータは美的であると同時にソース画像と干渉しないように選ぶことができる。ソース画像のうちこれらのエッジに沿って見えるところはビューポートサイズによってすでに限定されるので、インジケータは不透明でも半透明でも構わない。本書に含めた図において、こうしたインジケータは不透明な矩形である。当業者ならば、こうしたインジケータには数多くの構成／色が可能なことがわかるだろう。
【００２８】
パン操作可能範囲インジケータ１１４は、一つの実施例においてソース画像がビューポート１１２を超えて延在している場合にのみビューポートウィンドウのエッジに沿って現れる。例えば、 ビューポートがソースコンテントの左上に置かれていて右または下にソースコンテントがもっとあるような場合、つまり、ビューポート１１２がソースコンテントよりも小さい場合には、パン操作可能範囲インジケータ１１４は、図５Aに関して以下に説明するように、パン操作マージン内の右下のパン操作領域に表示される。
【００２９】
一つの実施例において、パン操作可能範囲インジケータ１１４の飽和度（saturation)または濃度（intensity)は、インジケータの方向に実行可能なパン操作の割合を反映する。例えば、右にパン操作が可能なソースコンテントに対して最も左に位置するビューポートは高度に飽和したパン操作可能範囲インジケータ１１４をビューポートウィンドウの右側に表示することがある。ビューポート１１２をゆっくり右にパンすると、パン操作可能範囲インジケータ１１４がビューポートウィンドウの左側に現れるが、このインジケータの濃度は左へのパン操作の移動がほとんどできないことを反映して低い（可能な全ビューポート移動範囲の割合として）。パン操作を右に続けると、左のインジケータは飽和度／濃度が高くなるが、右のインジケータは飽和度／濃度が低くなる。これは、右インジケータが見えなくなり（右へのパン操作はそれ以上できない）、左インジケータがインタフェースの最高飽和度／濃度になるまで続く。このテクニックを使うと、パン操作可能範囲インジケータ１１４はパン操作を意図する方向に使用できることを反映するだけでなく、まだ移動が可能な範囲についておよびソースコンテント内におけるビューポート１１２の相対位置について大まかなまたは相対的な空間の理解を提供するのにパン操作可能範囲インジケータ１１４を使用することができる。
【００３０】
もう一つの実施例において、パン操作可能範囲インジケータ１１４は、マウスのカーソルなどユーザインタフェースのポインターがビューポートウィンドウ内にあるときにだけ現れる。また別の実施例において、パン操作可能範囲インジケータ１１４は、ポインターがビューポートウィンドウ内にあり且つポインターが動いているときにだけ短期間現れる。ポインターが指定された時間間隔の間移動を止めると、パン操作可能範囲インジケータ１１４はポインターが移動を開始するまで消えるので、インタフェースの介入度を抑えられる。こうした方法は、対話ではなく、むしろビューイングが主たる操作であるときに、ソースコンテントの遮蔽をなくす一つのやり方を提供する。言うまでもなく、パン操作の範囲およびパンできる方向のフィードバックは対話が再開される（マウスの動きで定義される）まで得られない。
【００３１】
図５Aは、図２のソースコンテントの拡大版を示す簡約概略図で、発明の一つの実施例によるパン操作テクニックを適用するためにソースコンテントがビューポートよりも大きくなっている。ビューポート１０６はソースコンテントの一部分１２８を含んでいる。一つの実施例において、ソースコンテントは上述のごとくアプリケーション共有プログラムを介してキャプチャされる。パン操作可能範囲インジケータ１３０はビューポートウィンドウ１０６のエッジに沿って現れ、そこでソース画像はビューポート１０６を超えて延在している。例えば、ビューポート１０６はビューポートの右手側のエッジと底部のエッジにあるパン操作可能範囲インジケータ１３０を示している。従って、ソース画像はビューポート１０６の右手側エッジおよび底部エッジを超えて延在しているけれども、上部エッジと左手側エッジを超えて延在してはいない。一つの実施例において、パン操作可能範囲インジケータ１３０の飽和度または濃度は、先に触れたように、パン操作可能範囲インジケータ１３０の方向にまだ実行可能なパン操作の割合を反映している。
【００３２】
図５Aのパン操作マージン調整要素１３２aおよび１３２bはビューポートの内側エッジに沿った半円として表示されている。本書で用いているように、パン操作制御マージン調整要素１３２aおよび１３２bはパン操作制御領域マージンマーカーまたはパン操作制御領域マージンドットと呼ばれることもある。例えば、円またはドット、正方形など、パン操作マージン調整要素１３２aおよび１３２bを指定して普通では可視でない領域と領域との間を分割するラインを示すのに、半円のほかに適していればどんな形状でも構わないことを理解するべきである。さらに、パン操作領域のサイズを調整するのに、つまり、パン操作領域のサイズを大きくしたり小さくしたりするのに、ユーザはパン操作マージン調整要素１３２aおよび１３２bを使用できることを理解するべきである。一つの実施例において、パン操作マージン調整要素１３２aおよび１３２bを表すドット要素はソースコンテントを遮蔽しないように半透明である。一つの模式的実施例において、ビューポート１０６の右手側にあるパン操作領域を調整するのにユーザはパン操作マージン調整要素１３２aをクリックする。同様に、パン操作マージン調整要素１３２bをクリックして、ビューポート１０６の底部パン操作領域を調整することができる。言うまでもなく、パン操作マージン調整要素１３２aおよび１３２bは各々同期化されているので、パン操作マージン調整要素のうちの一つを調整すると全てのパン操作マージン領域が調整される。一つの実施例において、例えば、パン操作可能範囲インジケータが可視でないなど、ソース画像がビューポートウィンドウのエッジを超えて延在していないときにのみ、パン操作マージン調整要素が表示される。しかし、パン操作マージン調整要素は、例えば、パン操作の最中など、他のときには表示されない。
【００３３】
図５Bは、発明の一つの実施例による、更なるソースコンテントが見えている図５Aのビューポート内で行われたパン操作を示している。マウスのカーソル１３６は、パン操作領域と関連付けられている方向にパン操作を誘発するために、パン操作領域１３８内を動かされる。従って、ビューポート１０６内で、ソースコンテント１２８は左に動いているかのように見える。一つの実施例において、パン操作の速度はパン操作領域１３８の半透明度によって示される。もう一つの実施例において、パン操作領域インジケータ１３８の半透明度が低下すると、つまり、不透明度が増すと、パン操作の速度が上がる。言うまでもなく、この関係をまた別の実施例において逆にすることができる。方向マーカーとも呼ばれることのあるパン操作方向フィードバックレートインジケータ１３４を用いてインジケータの形状および位置によって伝えられる方向の情報を強化する。パン操作方向フィードバックレートインジケータ１３４はパンする方向を示す矢印として描かれている。また、一つの実施例において、パン操作フィードバックレートインジケータとしての働きもするパン操作領域１３８の半透明度と同じように、パン操作の速度が上がると、パン操作方向フィードバックレートインジケータは半透明度が低下する。
【００３４】
ソースコンテントに対してビューポートの位置を動かす方向を選択することによってパン操作制御を提供する。パン操作の方向は、ユーザインタフェースの「パン操作制御」ポインターがパン操作領域内にある、または特に、可視でないパン操作領域内にあるときに決まる。例えば、図３および４のパン操作領域など、あるパン操作領域上でマウスのポインターを動かすとビューポートがビューポートウィンドウに対してパン操作領域の方向に位置が変わり始める。この領域の上に浮留するとパン操作が続く。例えば、図３に関して、ユーザインタフェースのポインターがパン操作領域「B」の中に入っていると、ビューポートは上方向にパンする。ユーザインタフェースのポインターが領域「C」の中に入っていると、ビューポートは右上にパンする。ユーザインタフェースのポインターが「G」の中に入っていると、ビューポートは左下にパンする、と言った具合である。マウスがパン操作マージン内にあって、しかも指定の方向にパン操作が可能なときには、パン操作は図５A〜Cに示すように進む。パン操作中、パン操作フィードバックレートインジケータが現れる。一つの例において、パン操作フィードバックレートインジケータは、パン操作可能範囲インジケータでマーキングされたアクティブなパン操作領域を埋め尽くすある半透明の色付きの形状として表示されている。パン操作フィードバックレートインジケータはパンする方向を示すためにソース画像とともに構成されている。一つのインプリメンテーションにおいて、パン操作フィードバックレートインジケータは無地の単色で埋め尽くした矩形である。しかし、パン操作フィードバックレートインジケータは、ソース画像の覆われた部分の半透明度勾配または反り（warping)など、複数のカラー、パターン、グラフィックス、または効果などで構わない。明確にするためにパン操作マージン調整要素といったフィードバックシステムの他のパーツをパンの期間隠すことができる。先に触れたように、パン操作フィードバックレートインジケータは一つ以上の矢印のような画像を組み入れてインジケータの形状および位置によって伝えられる方向の情報を強化することができる。
【００３５】
パン操作フィードバックレートインジケータの形状および位置はパン操作が行われているパン操作領域によって決まるのが普通である。例えば、ユーザインタフェースのポインターが角のパン操作領域（図３に関して言えば、A、C、G、またはI）内にあるときには、図５Cに示すように三角形を用いてパン操作フィードバックレートインジケータを表示することができる。ユーザインタフェースのポインターがエッジ領域（図３のB、D、F、またはH）内にある場合には、図５Bに示すように矩形を用いることができる。インジケータの位置はそれが示すパン操作領域の座標と密接に一致するが、インジケータはいっそう明確なものにするために伸ばしたり、その他の処理がなされることがある。例えば、一つの実施例において、エッジ領域のインジケータの矩形は（角の領域を含めて）ビューポートのエッジ全体を覆うために伸びている。同様に、角領域は三角形の形状になっているエッジ領域インジケータと実際にはオーバーラップしていることもある。
【００３６】
パン操作フィードバックレートインジケータの半透明度によってソース画像内の目印（landmark)をはっきり見ることができるようになる。使用する半透明度の度合いはパン操作の速度に対応しており、両者はビューポートウィンドウのエッジまたは角からの且つパン操作マージン内におけるユーザインタフェースのパン操作制御ポインター（例えば、マウスのカーソルなど）の距離で決まる。図７Aおよび７Bに関してさらに説明するように、一つの実施例において、ポインターがパン操作マージンの内側に入れば入るほど且つビューポートウィンドウのエッジに近づけば近づくほど、パン操作の速度が上がりインジケータは半透明度が低くなる（不透明度が高くなる）。パン操作の速度が上がると半透明度が低下するのはパン操作の速度を示す一つの模式的な方法である。代わって、一つの実施例において、パン操作の速度が上がると半透明度が高くなることも可能である。インジケータの半透明度の連続フィードバックによってユーザはパン操作の速度をより正確に識別し易く且つ制御し易くなることを理解するべきである。ビューポート内でソース面が移動することによってパン操作の速度の何らかの示唆が提供されるが、（半透明から不透明に）変化するパン操作フィードバックレートインジケータは速度の比較的な識別をより容易にし且つスロットルの制御をより容易にする。さらに、パン操作の速度フィードバックインジケータは、ビューポートウィンドウ内のソースコンテントが移動している／変化している（共有アプリケーションに関する遠隔ユーザのアクションに対する反応であることがある）ことを即フィードバック提供するだけでなく、ユーザが実際にビューポートをパン操作していることを即フィードバック提供する。
【００３７】
最大および最低速度は、パン操作マージンのサイズ、ビューポートに対するソースコンテントのサイズ、固定値、またはその他の適した方法で決めることができる。一つの実施例において、この速度調整は使用性を最適化するために選択された速度および不透明性の最低および最大値に対するパン操作マージン内でのポインターの相対位置の線形移動（linear translation) であって構わない。代わって、限定領域におけるパン操作の速度のスロットル制御のためのより高い解像度を提供するために値の非線形移動も可能である。パン操作の速度の範囲はソース面拡大の程度にもリンクさせることが可能である。例えば、ビューポートがソース面に対してかなり小さい場合には、パン操作マージン内の全ての位置に対してパン操作の速度を上げなければならないことがある。適切には、ソース面がパン操作中必ず部分的に可視になるように、パン操作フィードバックレートインジケータの半透明度は完全に不透明ではないのがいい。一つの実施例において、ユーザインタフェースのポインターがパン操作マージンを出ると、パン操作は直ちに中止され、パン操作フィードバックレートインジケータは直ちに除去される。
【００３８】
図５Cは、発明の一つの実施例による、パンする方向が斜線方向に進んでいる実施例を表している。マウスのカーソル１３６は、斜め方向のパン操作を誘発するために、パン操作領域１３８に置かれている。斜めの移動はさらに三角形のパン操作領域１３８内でパン操作方向フィードバックレートインジケータ１３４によって示されている。従って、マウスのカーソル１３６がパン操作領域１３８など角のパン操作領域内にあるとき、パン操作の速度に基づいてある一定の半透明度を有する三角形領域をパン操作フィードバックレートインジケータとして示すことができる。言うまでもなく、三角形のパン操作領域１３８内の矢印１３４の半透明度を、三角形のパン操作領域の半透明度とともに、追加のパン操作フィードバックレートインジケータとして使用することができる。図５Bに示すように、マウスのカーソル１３６がエッジ領域内にある場合には、矩形のパン操作領域が示される。
【００３９】
図６は、発明の一つの実施例による、パン操作領域サイズを調整するための高度な構成特徴を描いた簡約概略図である。ユーザはパン操作領域１３８と関連付けられるサイズを変更したいことがあると、ビューポート１０６のエッジにあるパン操作マージン調整要素１３２aおよび１３２bのうちの一つをクリックしてドラッグすることによってそうすることができる。一つの実施例において、 ユーザがマージン調整要素の一つをクリックしてパン操作領域１３８の広がり（extent)をビジュアルに示せるようにするとき、リンクした対になっているマージン調整要素１３２aおよび１３２b間にライン１４０を引くことができる。パン操作領域１３８の幅はビューポートのサイズおよびソース画像を考慮に入れることのできる最低および最大値の間で調整できることを理解するべきである。一つの実施例において、全ての側のマージン調整要素は同期化されており、全てのエッジに沿ったパン操作領域を同時に調整させる。すなわち、マージン調整要素１３２aまたは１３２bの一つをクリックしてドラッグすると、それに対応して個々のパン操作領域のそれぞれのサイズが調整される。
【００４０】
図６のパン操作領域のサイズを変えたいユーザはビューポートウィンドウのエッジにあるパン操作マージン調整要素１３２aまたは１３２bの一つをクリックしてドラッグすることによってそうすることができる。パン操作領域の広がりを表示し易くするために（それぞれのパン操作領域のエッジにある）リンクしたパン操作マージン調整要素１３２aまた１３２bの対の間に追加のライン１４０を引くことができる。パン操作領域は、例えば、半透明の矩形のオーバーレイで示すこともできる。しかし、線を用いて実施するほうがソース画像の遮蔽が少なく、それと同時に同じように表現が明快でもある。同様に、パン操作マージン調整要素としては、半円形の代わりに、三角形、矩形、またはその他の形状を用いることができる。一つの実施例において、こうした要素は、ビューポートがソース画像のエッジに達したときのみ可視になり、例えば、数秒というように短時間が経過した後見えなくなる。このタイムアウトがあるために、ドットが必要な画面項目にオーバーラップするといったまれな状況において、制御手段はドラグを終えるなどユーザの望む操作と干渉しない。一つの実施例において、このタイムアウトはユーザがパン操作領域を出る場合にはリセットされ、ユーザがマージン調整を始めるとディセーブルになってリセットされ、調整が終わると再開される。タイマーで隠された後、マウスをさらに動かすと、要素が再び表示されることを理解するべきである。パン操作領域のサイズは、ビューポートおよびソース画像のサイズを考慮に入れることのできる最低および最大値の間で調整可能である。一つのインプリメンテーションでは、全ての側のパン操作領域の幅は同期化されて同時に調整される。代わって、パン操作領域の幅はマージン毎に個別に構成されてもいい。そのアクティブ状態をハイライトするためにパン操作マージン調整要素および接続しているビジュアルインジケータラインを異なった色で表示することができる。一つの実施例において、はっきりさせるために、マージンが調整されている間、パン操作可能範囲インジケータを隠すことができる。
【００４１】
図７Aおよび７Bは、発明の一つの実施例による、パン操作領域内でマウスのカーソルの深さによって異なる速度で移動しているビューポートを示している。マウスのカーソル１３６は図７Aでパン操作領域１３８の最も奥まった部分にぎりぎり入っている。マウスのカーソル１３６がパン操作領域１３８の中に入ることによってパン操作領域１３８と関連付けられた方向に動きまたはパン操作が誘発される。従って、ビューポート１０６は左方向に移動しているかのように見え、追加のソースコンテントがビューポート内に見えてくる。上述のごとく、パン操作領域１３８内の半透明度の度合いはパン操作の速度に対応し、その両者は、ポインターがパン操作領域内にあるときのビューポートウィンドウのエッジまたは角からのユーザインタフェースのパン操作制御ポインター、つまり、マウスのカーソル１３６の距離で決められる。マウスのカーソル１３６がパン操作領域１３８の中に入れば入るほど且つビューポートウィンドウのエッジに近づけば近づくほどに、パン操作の速度が上がる。さらに、図７Bに示すように、マウスのカーソル１３６がパン操作領域１３８の中に深く入るほどにパン操作領域は半透明度が低くなる、つまり、不透明度が増す。例えば、図７Aにおいて、パン操作領域１３８の半透明度はほとんど全く透明で、マウスのカーソル１３６がパン操作領域１３８に入ったばかりであることを反映して、パン操作が最低速度になることを示している。図７Bにおいて、マウスのカーソル１３６はビューポートウィンドウのエッジにもっと近づいているので、インジケータはより不透明である。このことはパン操作が最高速度で行われることを示している。矢印１３４の半透明度とともに、パン操作領域１３８の半透明度をパン操作フィードバックレートインジケータとして用いることができる。一つの実施例において、パン操作が始まろうとしていることを警告するビジュアルインジケータをユーザに提供するために、マウスのカーソル１３６がパン操作領域１３８に入った後に時間の遅延がある。
【００４２】
図８は、発明の一つの実施例による、ポインターの動きで誘発される操作のステップを説明しているフローチャート図である。この方法は操作１５０から始まり、そこでユーザがポインター、すなわち、マウスのカーソルを動かす。この方法は次に決定の操作１５２に進み、そこでパン操作マージン／領域を調整中かどうか判定される。例えば、ユーザはパン操作マージン／領域のサイズを調整するためにマウスのカーソルを動かしているかもしれない。パン操作マージンのサイズを調整中の場合、この方法は操作１７２に進み、そこでパン操作マージンのサイズがポインターの位置、つまり、マウスのカーソルの位置から更新される。この方法は次に操作１７４に進み、そこでパン操作マージン調整要素間のドットおよびラインをカラーでハイライトすることができる。ひとつの実施例において、パン操作マージン調整要素をクリックすることにより、図６に関して説明したラインが或る特定の色で現れることがある。一つの実施例において、この色は、上述のごとく、アクティブ状態をハイライトするためにサイズ変更操作時に変化する。
【００４３】
操作１５２でパン操作マージンのサイズを調整していない場合には、この方法は決定の操作１５４に進み、そこでポインターがパン操作マージン／領域内にあるかどうか判定される。ポインターがパン操作マージン／領域内にある場合には、この方法は決定の操作１５６に進み、そこで所与の方向にビューポートをパンできるかどうかの判定がなされる。ビューポートを所与の方向にパンできる場合には、この方法は操作１５８に進み、そこでポインターの位置を用いてパン操作の速度、インジケータの不透明度、およびインジケータの形状と位置の計算がなされる。一つの実施例において、マウスのカーソルがパン操作領域にかすかに入っている場合と比べ、マウスのカーソルがビューポートのエッジに近づけば近づくほど、つまり、パン操作領域の中に深く入れば入るほど、パン操作の速度は上がり、半透明度は低下する。この方法は次に操作１６０に進み、そこでインジケータが表示される。例えば、図５A〜Cおよび図７A〜Bに関して説明したように、パン操作領域を半透明の矩形または三角形の形状と関連づけることができる。操作１６２において、ビューポートは示された方向および速度で動く。つまり、ソースコンテントのパン操作が始動する。この方法は次に操作１７６に進み、そこでビューポートウィンドウを定義するアプリケーションで定義されたネイティブのビューポートウィンドウハンドリング方法によってハンドリングするためにマッピングされたポインターが渡される。
【００４４】
図８の操作１５４で、ポインターがパン操作マージンの中にない場合には、この方法は決定の操作１６６に進み、そこでビューポートが目下移動中かどうかの判定が行われる。ビューポートが目下移動中ならば、この方法は操作１６８に進み、そこでポインターがパン操作マージンの外に出たので、ビューポートは移動しなくなる。操作１７０において、パン操作インジケータは隠れて見えない、つまり、パン操作領域にあるパン操作インジケータは矢印などの方向インジケータとともに見えなくなり、この方法は操作１７６に進む。決定の操作１６６で、ビューポートがいま移動中でない場合には、この方法は操作１７６に進む。決定の操作１５６で、ビューポートが所与の方向にパンできないと判定された場合には、この方法は操作１６４に進み、そこでインジケータが隠され、パン操作マージン調整インジケータが指定された時間だけ表示され、タイムアウトする、つまり、タイムアウト期間後ビューから消えることができる。この方法は次に操作１７６に進み、上述のごとく繰り返す。
【００４５】
図９は、発明の一つの実施例による、ビューポートを介して画像をパンするためのステップを説明しているフローチャート図である。この方法は操作１８０から始まり、そこでパン操作可能な方向がビューポート上にビジュアルに示される。例えば、図４に関して説明したパン操作可能範囲インジケータ領域を用いてパン操作可能な方向を示すことができる。こうしたパン操作可能範囲インジケータ領域はそれと関連付けられたパン操作領域の最も外側のエッジに近いビューポートウィンドウのコンテントを遮蔽する細長い要素として現れる。パン操作可能範囲インジケータは、ビューポートをインジケータの方向にパンできることを示すビジュアルなヒントを提供する。範囲インジケータ領域はコンテントを遮蔽するから、こうしたインジケータは小さくなっているけれども、フィードバックを提供するには十分な大きさである。こうしたインジケータの色やイメージはソースコンテントを補足するように選ぶこともあるいはインタフェースと一致するように選ぶこともできる。システムのインタフェースに使われるあらゆるカラーやグラフィックスと同様に、範囲インジケータ領域は美的な理由だけでなくソース画像と干渉しないように選ぶことができる。ビューポートのサイズによってエッジに沿って見えるソース画像がすでに限定されるから、パン操作可能範囲インジケータは不透明でも半透明でも構わない。例えば、図７A〜Bに関して言えば、こうした要素はどんな色とも関連付けられる不透明の矩形として描かれている。
【００４６】
図９の方法は次に操作１８２に進み、そこでビューポートのパン操作領域内にあるビジュアルマーカーの位置が決められる。例えば、パン操作マージンインジケータは、マウスのカーソルなどポインターがパン操作領域に入り込むことにより半透明に見えることがある。先に触れたように、一つの実施例において半透明度の度合いはパン操作の速度を示している。この方法は次に操作１８４に進み、そこでパン操作領域内におけるビジュアルマーカーまたはポインターの位置決めにより、パン操作領域と関連付けられた方向に画像またはソースコンテントを通ってビューポートの移動が誘発される。上述のごとく、移動を誘発するために、パン操作領域内でマウスのカーソルを動かすことができる。この方法は次に操作１８６に進み、そこで移動の誘発と同時にその方向にパンできる相対量がパン操作領域内に表示される。ここで、パン操作が起きるスピードまたはレートを示すために、パン操作マージンインジケータの半透明度が変化することがある。その上、パン操作マージンおよび／またはパン操作可能範囲インジケータの領域は、その方向にパンできる量いかんにより濃度が高くなったり低くなったりすることがある。マウスの動きで要素をまた再表示することができる。発生しているパン操作の相対速度を表示する上に、実際パン操作を行っている間パン操作領域フィードバックインジケータだけを可視にすることができる。従って、マウスのカーソルがパン操作領域を出てしまうと、可視インジケータは消えて、マウスがパン操作領域内に移動した後再び現れることがある。この方法は次に操作１８８に進み、そこでパン操作領域のサイズの調整が可能になる。上に説明したように、パン操作マージン調整要素を用いてパン操作領域のサイズを調整することができる。言うまでもなく、発明の一つの実施例においてパン操作調整マージン要素を各々同期化させることができる。代わって、個別に動作することもある。
【００４７】
図１０は、発明の一つの実施例による、本書で説明しているパン操作機能を可能にする機能を有するコンピューティングデバイスを示す簡約概略図である。コンピューティングデバイス１９０は中央処理ユニット（CPU）１９２、メモリ１９４を含み、メモリ１９４は共有アプリケーションを含んでいる。コンピューティングデバイス１９０はビューポートロジック１９８も含んでいる。CPU１９２、メモリ１９４、およびビューポートロジック１９８はバス２００を介して互いに通信し合っている。当業者ならば、共有アプリケーション１９６はメモリ１９４に格納され、CPU１９２で実行されるコンピュータコードで構わないことを理解するだろう。言うまでもなく、共有アプリケーションはオプションである。すなわち、コンピューティングデバイス１９０はリモートデバイスと通信することもできるし、あるいは情報キオスクで大型の地図またはその他の画像をビューするのにコンピューティングデバイスを用いることもできる。その際、入力オプションはタッチスクリーンまたは類似のデバイスに限られ、指のポインターは操作を続けるために押した状態に維持されなければならない。本質的に、本書で説明している実施例を適していればどんなデバイスにも適用することができ、そういった場合ソースコンテント全体を無理なく表示するには小さすぎる表示画面あるいはビューポート上にソースコンテントが表示される。一つの実施例において、ビューポートロジック１９８をメモリ１９４に格納されるコンピュータ判読可能なコードとして実施することができる。しかし、代わって、ビューポートロジック１９８は本書で説明している機能性を実行するように構成されたハードウェアおよびソフトウェアの組み合わせであっても構わない。
【００４８】
図１０のコンピューティングデバイス１９０は、バス２００と通信しているディスプレイ２０２を含む。先に触れたように、ディスプレイ２０２は、ビューポートを表示するグラフィカルユーザインタフェースを示すように構成することができる。ビューポートに介して、ディスプレイ２０２よりも大きなサイズと関連付けられたソース画像を示し、本書で説明している実施例によってパンすることができる。一つの実施例において、ビューポートロジック１９８は、画像データをパンできるか否か、パンできる方向、表示している画像データまたはソースコンテントの一部分の相対位置、および画像データの前述部分からパン操作経路に沿って画像データの第２部分まで移動するときのパン操作の速度を表示する複数のビジュアルインジケータを提供するように構成することができる。
【００４９】
要するに、上述の発明はノン・イントルーシブな可変速度ビューポートパン操作フィードバックシステムを提供するものである。本書で説明した実施例は、アプリケーション共有プログラムを介して別のコンピューティングデバイスを遠隔アクセスするのに使える様々なハンドヘルドデバイスに取り入れることができる。例えば、ユーザはパーソナルデジタルアシスタント（PDA）、ポケットパーソナルコンピュータ、携帯電話などを介してリモートコンピューティングデバイスをアクセスでき、その際にはリモートコンピューティングデバイスのソースコンテントが表示するのにビューポートを用いることができる。上述の実施例はアプリケーション共有プログラムを活用するビデオ会議システムとともに用いることもできる。一つの模式的実施例において、ビューポートパン操作フィードバックシステムは本願の譲受人（the assignee)のIMXビデオ会議システムに統合されている。
【００５０】
上に説明したように、パン操作の速度はパン操作制御領域内にあるマウスのポインターの相対的深さ／距離によって左右され、パン操作制御領域はビューポートウィンドウの境界内に残っている。ビューポートのソースコンテントの境界画素（bounding pixel(s))とオーバーラップするまたは遮蔽する（透明なら部分的にだけ）グラフィカル要素によってパンできる方向を表示することができる。所与の方向においてパンできる相対量は、パン操作可能な方向インジケータの濃度、飽和度、またはその他の何らかの適した可視文字で示される。一つの実施例において、ソースコンテントを単に見ていること対して、パン操作が起動されているときに限って、システムは、ローカルユーザがマウスのポインターの位置を介してパン操作を開始していることを表示するビジュアルインジケータを表示する。ビューポートのソースコンテントがビューしているユーザとは無関係に変わっているあるいは動いていることのあるアプリケーション共有または類似の構成において、ローカルユーザは何らかの点でパン操作に影響を及ぼしているフィードバックを必要とする。このフィードバックは上述の実施例を介して提供される。さらに、パン操作領域内にあるマウスのポインターの動きに伴って変化することのあるパン操作の速度を示すビジュアルインジケータの透明度、濃度、形状などの動的変化が、とりわけ、アプリケーション共有について言えば、ユーザにさらにビジュアルフィードバックを提供する。上述の実施例はパン操作領域のサイズまたは形状を変えるための介入を最低限に抑えたテクニックをさらに提供している。従って、ビューポートのより大きなあるいはより小さなエリアでパン操作を起動することができ、領域の深さとむすびついている場合にはパン操作の速度は幅が大きくなったり小さくなったりことができる。
【００５１】
上記の実施例を考慮に入れて、発明はコンピュータシステムに格納されたデータを伴う様々なコンピュータでインプリメントする操作を採用できることを理解するべきである。こうした操作は物理的数量の物理的操作を必要とするものである。必ずしもそうとは限らないが、普通、こうした数量は格納、転送、結合、比較、およびその他の操作が可能な電気信号あるいは磁気信号という形をとる。さらに、行われる操作は、生成、識別、判定、または比較といった表現で称されることが多い。
【００５２】
発明は、コンピュータ可読媒体上にコンピュータ可読コードとして実施することもできる。コンピュータ可読媒体はコンピュータシステムが後から読み取れるデータを格納できるならどんなデータストレージデバイスでも構わない。コンピュータ可読媒体にはコンピュータコードを含んだ電磁気搬送波も含まれる。コンピュータ可読媒体の例としては、ハードドライブ、ネットワーク接続ストレージ（NAS）、読み取り専用メモリ、ランダムアクセスメモリ、CD-ROM、CD-R、CD-RW、磁気テープ、およびその他の光学式および非光学式データストレージデバイスなどがある。コンピュータ可読コードを分散して格納および実行することができるようにコンピュータ可読媒体はネットワーク接続コンピュータシステムで分散することもできる。
【００５３】
はっきりと理解できるように上記の発明をいくぶん詳細に説明してきたが、添付の特許請求の範囲内である特定の変更および修正を行えることは明確であろう。従って、本願の実施例は説明のためであって限定のためでないと理解するべきであり、発明は本書に述べた詳細に限定されるものではなく、添付の特許請求の範囲および均等物の範囲内で修正することができる。
【図面の簡単な説明】
【００５４】
【図１Ａ】発明の一つの実施例による、ソースコンテント上でビューポートウィンドウが移動しているソースコンテントを表す図。
【図１Ｂ】発明の一つの実施例による、ソースコンテント上でビューポートウィンドウが移動しているソースコンテントを表す図。
【図２】ビューポートよりも小さなデスクトップのソース画像の簡約概略図。
【図３】発明の一つの実施例による、ソースコンテントの一部分の上にマッピングされたビューポートウィンドウを示す簡約概略図。
【図４】発明の一つの実施例による、ビューポートウィンドウおよび対応する模式的領域を示す簡約概略図。
【図５Ａ】図２のソースコンテントの拡大版を示す簡約概略図で、発明の一つの実施例によるパン操作テクニックを適用するためにソースコンテントがビューポートよりも大きくなっている。
【図５Ｂ】図５Aのビューポート内で行われるパン操作を示す図で、発明の一つの実施例による、更なるソースコンテントが表示されている。
【図５Ｃ】発明の一つの実施例による、パンする方向が斜線方向に進んでいる実施例を表す図。
【図６】発明の一つの実施例による、パン操作領域サイズを調整するための高度な構成特徴を描いた簡約概略図。
【図７Ａ】発明の一つの実施例による、パン操作領域内でマウスのカーソルの深さによって異なる速度で移動しているビューポートを示す図。
【図７Ｂ】発明の一つの実施例による、パン操作領域内でマウスのカーソルの深さによって異なる速度で移動しているビューポートを示す図。
【図８】発明の一つの実施例による、ポインターの動きで誘発される操作のステップを説明しているフローチャート図。
【図９】発明の一つの実施例による、ビューポートを介して画像をパンするためのステップを説明しているフローチャート図。
【図１０】発明の一つの実施例による、本書で説明しているパン操作機能を可能にする機能を有するコンピューティングデバイスを示す簡約概略図。
【符号の説明】
【００５５】
136  カーソル
100  ソースコンテント
128  ソースコンテント
100  ソース画像
108  ソース画像
120  パンしない（non-panning)制御領域
116  パン操作マージン
118  パン操作マージン
132a  パン操作マージン調整要素
132b  パン操作マージン調整要素
114  パン操作可能範囲インジケータ
130  パン操作可能範囲インジケータ
122  パン操作制御マージン調整要素
124  パン操作制御マージン調整要素
132a  パン操作制御マージン調整要素
132b  パン操作制御マージン調整要素
134  パン操作方向フィードバックレートインジケータ
116  パン操作領域
118  パン操作領域
138  パン操作領域
102a  ビューポート
102b  ビューポート
106  ビューポート
110  ビューポート
112  ビューポート
132a  マージン調整要素
132b  マージン調整要素
140  ライン
【図２】
2007122718.tif 000003
【図３】
2007122718.tif 000004
【図４】
2007122718.tif 000005
【図５Ａ】
2007122718.tif 000006
【図５Ｂ】
2007122718.tif 000007
【図５Ｃ】
2007122718.tif 000008
【図６】
2007122718.tif 000009
【図７Ａ】
2007122718.tif 000010
【図７Ｂ】
2007122718.tif 000011
【図８】
2007122718.tif 000012
【図９】
2007122718.tif 000013
【図１０】
2007122718.tif 000014
【図１Ａ】
2007122718.tif 000015
【図１Ｂ】
2007122718.tif 000016