(57)【特許請求の範囲】
【請求項１】
コンピューターにより実行する方法であって、
コンピューティングデバイスが、ユーザー・インターフェース上のスクラブ・パスを規定するユーザー・インターフェース上のスクラブ点のユーザー指示による移動に応答して、前記スクラブ点の前記ユーザー指示による移動に基づいて、予め定義されているデータ・パス上のデータ点を直接ナビゲーション・モードで前記データ・パス上でナビゲートさせるステップと、
前記コンピューティングデバイスが、前記データ点と前記スクラブ点との距離に少なくとも部分的に基づいて前記データ点が前記スクラブ点に隣接しないことを判定するステップと、
前記データ点が前記スクラブ点に隣接しないことの判定に応答して、前記コンピューティングデバイスが、前記データ点のナビゲーション・モードを、前記直接ナビゲーション・モードによる前記データ・パス上のナビゲートから間接ナビゲーション・モードによる前記データ・パス上のナビゲートへ移行させるステップと、を備え、更に、
前記コンピューティングデバイスが、前記スクラブ点の移動に伴う前記データ点の移動の前後における、前記データ・パス上の第１データ点位置と前記データ・パス上の第２データ点位置との間における二点間距離を判定し、
前記コンピューティングデバイスが、前記データ・パス上の第１データ点位置と前記データ・パス上の第２データ点位置との間における前記データ・パス上を辿った実際の経路の距離を判定し、
前記二点間距離と前記実際の経路の距離との間の差が、閾値差を超過することの判定に応答して、前記コンピューティングデバイスが、前記データ点が前記スクラブ点に隣接しないと判定することによって、
前記コンピューティングデバイスが、前記データ点と前記スクラブ点との隣接性を判定するステップを備えている、
コンピューターにより実行する方法。
【請求項２】
請求項１記載のコンピューターにより実行する方法において、前記スクラブ点の移動指示が、前記コンピューティングデバイスによって、ユーザーの前記スクラブ点の操作に応答して受け取られる、コンピューターにより実行する方法。
【請求項３】
請求項２記載のコンピューターにより実行する方法において、前記ユーザーの操作が、カーソルをドラッグすることを含む、コンピューターにより実行する方法。
【請求項４】
請求項２〜３のいずれか一項に記載のコンピューターにより実行する方法において、前記直接ナビゲーション・モードにおいて、前記データ点が前記データ・パスをナビゲートする速度が、前記ユーザーが前記スクラブ点を操作する速度に対応する、コンピューターにより実行する方法。
【請求項５】
請求項１〜４のいずれか一項に記載のコンピューターにより実行する方法において、前記データ・パスが、地図上における旅行の行程を含む、コンピューターにより実行する方法。
【請求項６】
請求項１〜５のいずれか一項に記載のコンピューターにより実行する方法であって、更に、
データ・パス・ナビゲーションに応答して、前記コンピューティングデバイスが、データ・パス・コンテンツの１つ又は複数のインスタンスを提示させるステップと、
前記データ点が前記間接ナビゲーション・モードで前記データ・パスをナビゲートすることに応答して、前記コンピューティングデバイスが、前記データ・パス・コンテンツの１つ又は複数のインスタンスの提示モードを変化させるステップと、
を備えている、コンピューターにより実行する方法。
【請求項７】
請求項１〜６のいずれか一項に記載のコンピューターにより実行する方法であって、更に、
前記コンピューティングデバイスが、前記データ点と前記スクラブ点との間に、前記スクラブ点を前記データ点に結びづける仮想ばねを想定した時の仮想ばねの張力を監視し、
前記張力が閾値張力を超過する場合、前記コンピューティングデバイスが、前記データ点が前記スクラブ点に隣接しないと判定することによって、
前記コンピューティングデバイスが、前記データ点と前記スクラブ点との隣接性を判定するステップを備えている、コンピューターにより実行する方法。
【請求項８】
請求項１〜７のいずれか一項に記載のコンピューターにより実行する方法であって、更に、
前記スクラブ点に隣接しない前記データ点が前記スクラブ点に隣接したことの判定に応答して、前記コンピューティングデバイスが、前記データ点に前記直接ナビゲーション・モードでナビゲートさせるステップを備えている、コンピューターにより実行する方法。
【請求項９】
請求項１〜８のいずれか一項に記載のコンピューターにより実行する方法において、前記データ・パスが、シミュレーションによる三次元環境におけるパスを含む、コンピューターにより実行する方法。
【請求項１０】
コンピューターにより実行する方法であって、
コンピューティングデバイスが、ユーザー・インターフェースを通じて、ユーザー・インターフェース上のスクラブ・パスを規定するユーザー・インターフェース上のスクラブ点のユーザー操作の指示を受け取るステップと、
前記スクラブ点の操作に応答して、前記コンピューティングデバイスが、前記ユーザー・インターフェース上に表示され前記スクラブ・パスから離れたデータ・パス上でデータ点のナビゲーションを行わせるステップと、
前記コンピューティングデバイスが、前記データ点と前記スクラブ点との距離に少なくとも部分的に基づいて前記データ点が前記スクラブ点に隣接するか否かを判定するステップと、
前記データ点が前記スクラブ点に隣接しないことの判定に応答して、前記コンピューティングデバイスが、前記ユーザー・インターフェース上に表示された前記データ・パス上における前記データ点のナビゲーション・モードを変化させるステップと、
を備え、更に、
前記コンピューティングデバイスが、前記スクラブ点の移動に伴う前記データ点の移動の前後における、前記データ・パス上の第１データ点位置と前記データ・パス上の第２データ点位置との間における二点間距離を判定し、
前記コンピューティングデバイスが、前記データ・パス上の第１データ点位置と前記データ・パス上の第２データ点位置との間における前記データ・パス上を辿った実際の経路の距離を判定し、
前記二点間距離と前記実際の経路の距離との間の差が、閾値差を超過することの判定に応答して、前記コンピューティングデバイスが、前記データ点が前記スクラブ点に隣接しないと判定することによって、
前記コンピューティングデバイスが、前記データ点と前記スクラブ点との隣接性を判定するステップを備えている、コンピューターにより実行する方法。
【請求項１１】
請求項１０記載のコンピューターにより実行する方法において、前記データ・パスが、前記ユーザー・インターフェース上に表示された旅行の行程を含む、コンピューターにより実行する方法。
【請求項１２】
請求項１０〜１１のいずれか一項に記載のコンピューターにより実行する方法であって、更に、前記コンピューティングデバイスが、前記データ・パス上におけるデータ点のナビゲーションに応答して、前記ユーザー・インターフェース上にデータ・パス・コンテンツの１つ又は複数のインスタンスを提示させるステップを備えている、コンピューターにより実行する方法。
【請求項１３】
請求項１０〜１２のいずれか一項に記載のコンピューターにより実行する方法において、前記ナビゲーション・モードの変化が、直接ナビゲーション・モードから間接ナビゲーション・モードへの変化を含む、コンピューターにより実行する方法。
【請求項１４】
請求項１３記載のコンピューターにより実行する方法において、前記直接ナビゲーション・モードから前記間接ナビゲーション・モードへの変化が、前記データ・パス上におけるデータ点のナビゲーションにおいて加速を生じさせる、コンピューターにより実行する方法。
【請求項１５】
請求項１〜１４のいずれか一項に記載の方法を実行するためのプログラム。
【請求項１６】
請求項１〜１４のいずれか一項に記載の方法を実行するためのプログラムを記録した記録媒体。

【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  アプリケーションの中には、コンテンツにわたってアイコンまたはその他のグラフィック表現を動かすことによって、ユーザー・インターフェース上に表示されている地図のような、コンテンツにわたってユーザーがナビゲートすることを可能にすることができるものがある。しかしながら、このようなアプリケーションは、非常に簡単なナビゲーション技法しか提供しないのが通例であり、コンテンツの特質(feature)において遭遇することが多い揺らぎ(variations)に応答することが困難になる場合がある。例えば、地図上で経路をナビゲートするには、ユーザーのナビゲーションは、その経路との対応を維持しなければ、ナビゲーションをその経路上で存続させることができないのが通例である。ユーザーのナビゲーションが経路との対応を維持し損ねると、ナビゲーションができなくなったり、望んでもいないのに経路が変更してしまう虞れがある。
【発明の概要】
【０００２】
[0002]  この摘要は、詳細な説明において以下で更に説明する概念から選択したものを、簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を限定するために用いられることを意図するのでもない。
【０００３】
[0003]  種々の実施形態では、コンテンツにおいて可変パスをスクラブする(scrub)技法を提供する。限定ではない一例として、スクラビングは、スクラブ・パスを定めるユーザー入力を受けること、およびこのスクラブ・パスに基づいてコンテンツにわたってデータ・パスをナビゲートすることを含むことができる。一部の実施形態によれば、データ・パスは、コンテンツを通る１つ又は複数の既定パス（例えば、旅行の行程）を含むことができる。これらの技法の内１つ又は複数は、データ・パスにおける揺らぎを考慮し、スクラブ・パスとデータ・パスに沿ったナビゲーションとの間の隣接性を維持する方法を提供することができる。実施形態の中には、データ・パスに、１つ又は複数のタイプのデータ・パス・コンテンツと関連付け、データ・パスに沿ったナビゲーションに応答してデータ・パス・コンテンツ提示することができるものもある。
【図面の簡単な説明】
【０００４】
[0004]  図面全体において、同様の機構を参照するために同じ番号を用いることとする。
【図１】図１は、本発明の原理を１つ又は複数の実施形態にしたがって用いることができる動作環境を示す。
【図２】図２は、１つ又は複数の実施形態にしたがってスクラブ・パスとデータ・パス・ナビゲーションとの間で隣接性を維持する方法例を示す。
【図３】図３は、１つ又は複数の実施形態にしたがってスクラブ・パスとデータ・パス・ナビゲーションとの間で隣接性を維持する方法例を示す。
【図４】図４は、１つ又は複数の実施形態によるユーザー・インターフェースの一例を示す。
【図５】図５は、１つ又は複数の実施形態による方法におけるステップを説明する流れ図である。
【図６】図６は、１つ又は複数の実施形態による方法におけるステップを説明する流れ図である。
【図７】図７は、１つ又は複数の実施形態による方法におけるステップを説明する流れ図である。
【図８】図８は、１つ又は複数の実施形態による方法におけるステップを説明する流れ図である。
【図９】図９は、１つ又は複数の実施形態による方法におけるステップを説明する流れ図である。
【図１０】図１０は、１つ又は複数の実施形態によるシステムのブロック図である。
【発明を実施するための形態】
【０００５】
全体像
[0015]  種々の実施形態では、コンテンツにおいて可変経路をスクラブする技法を提供する。限定ではない一例として、スクラビングは、スクラブ・パスを定めるユーザー入力を受けること、およびこのスクラブ・パスに基づいてコンテンツにわたってデータ・パスをナビゲートすることを含むことができる。一部の実施形態によれば、データ・パスは、コンテンツを通る１つ又は複数の既定パス（例えば、旅行の行程）を含むことができる。例えば、ユーザーが、ユーザー・インターフェース上に表示されている地図を通じて旅行の行程をナビゲートしたいという実施形態について考える。一部の実施形態によれば、旅行の行程をデータ・パスと見なすことができ、シアトルからサクラメントまでというように、１つの地点から他の地点までの既定運転経路に対応するかもしれない。
【０００６】
[0016]  この旅行の行程をナビゲートするには、ユーザーは、地図内部でカーソルをドラッグして（例えば、マウスまたは他の入力デバイスによって）、大凡の所望の旅行行程を規定する。カーソルが地図を通過してできた経路は、スクラブ・パスと見なすことができる。このスクラブ・パスは旅行の行程を近似することができるが（例えば、概略的な運転方向に関して）、スクラブ・パスは、高速道路の入り口／出口ループ、バイパス、工事による迂回などというような、旅行の行程における１つ又は複数の揺らぎ(variations)を必ずしも考慮に入れられる訳ではない。一部の実施形態によれば、本明細書において記載する技法は、データ・パスに沿ったナビゲーションとスクラブ・パスとの間において隣接性を維持する方法を提供する。
【０００７】
[0017]  １つ又は複数の実施形態では、データ・パスには、テキスト・コンテンツ、広告、写真、ビデオ・コンテンツ、オーディオ・コンテンツ、ハイパーリンク、運転方向、データ値等というような、１つ又は複数のタイプのデータ・パス・コンテンツを関連付けることができる。先に論じた地図の例を用いると、データ・パス・コンテンツの一例は、旅行の行程に沿って取り込んだビデオ・コンテンツを含むことができる。このように、一部の実施形態によれば、本明細書において論ずる技法は、ユーザーがスクラブ・パスを示すことに応答して、ビデオ・コンテンツを表示させることができる。
【０００８】
[0018]  実施形態の中には、１つ又は複数のユーザーの好みというような、ユーザーが指定したパラメータに基づいて、データ・パス・コンテンツを、読み出すこと、および／または選別することができる場合もある。例えば、ユーザーは、シーフード・レストランのような、特定のコンテンツについての好みを示すことができる。このような場面の一例では、ユーザーがスクラブ・パスを示したことに応答して、シーフード・レストランと関連付けられたデータ・パス・コンテンツをユーザーに提示することができる。
【０００９】
[0019]  ここでは地図内におけるスクラビングおよびナビゲーションを参照しながら実施形態例について説明しているが、これは例示を目的にするに過ぎない。本明細書において論じられる技法は、種々の異なるタイプのナビゲーション可能なコンテンツおよび異なる実施態様の場面においても、特許請求する実施形態の主旨や範囲から逸脱することなく、用いられることは認められてしかるべきであり、言うまでもないことである。適したナビゲーション可能なコンテンツおよび／または実施態様の場面の例には、２つ以上の異なるデータ・パラメータ（例えば、温度、圧力、および／またはもっと高い次元の空間へのマッピング）を表す二次元曲線、ならびに三次元モデル（例えば、コンピューター補助設計（ＣＡＤ）モデル）、仮想現実環境、ビデオ・ゲーム環境等を含むことができる。
【００１０】
[0020]  以下に続く論述では、「動作環境」と題する章において、種々の実施形態を用いることができる１つの環境のみについて説明する。これに続いて、「スクラブ技法の例」と題する章では、１つ又は複数の実施形態にしたがって、１つ又は複数のデータ・パスと１つ又は複数のスクラブ・パスとの間において隣接性を維持する方法例について説明する。次に、「ユーザー・インターフェースの一例」と題する章において、１つ又は複数の実施形態によるユーザー・インターフェースの一例について説明する。これに続いて、「方法例」と題する章において、１つ又は複数の実施形態による方法例について説明する。最後に、「システム例」と題する章を設け、１つ又は複数の実施形態を実現するために用いることができるシステム例について説明する。
動作環境
[0021]  図１は、１つ又は複数の実施形態による動作環境であり、全体的に１００で示す。環境１００は、１つ又は複数のプロセッサー１０４と、１つ又は複数のコンピューター読み取り可能記憶媒体１０６とを有するコンピューティングデバイス１０２を含む。コンピューター読み取り可能記憶媒体１０６は、一例としてそして限定ではなく、通例コンピューティングデバイスに付随する揮発性および不揮発性メモリーおよび／または記憶媒体のあらゆる形態を含むことができる。このような媒体は、ＲＯＭ、ＲＡＭ、フラッシュ・メモリー、ハード・ディスク、リムーバブル媒体等を含むことができる。図１０において、コンピューティングデバイスの具体的な一例を示し、以下で説明する。
【００１１】
[0022]  また、コンピューティングデバイス１０２は、ウェブ・ブラウザー１０８、ならびに種々のタイプのナビゲーション可能なコンテンツにアクセスする、これらを表示する、および／またはこれらと相互作用するように動作可能とすることができるその他のアプリケーションも含む。他のアプリケーションの例には、ナビゲーション（例えば、ＧＰＳ）アプリケーション、医療アプリケーション、グラフィクス・アプリケーション等が含まれる。また、ウェブ・ブラウザー１０８は、データ・パス・コンテンツ１１０のような、データ・パス・コンテンツの１つ又は複数のインスタンスを提示（例えば、表示）するように動作可能にすることもできる。また、コンピューティングデバイス１０２には、以上および以下で説明する種々の技法を実現することができるスクラバー・モジュール（scrubber module)１１２も含まれている。スクラバー・モジュール１１２は、ウェブ・ブラウザー１０８（または他のアプリケーション）とは別個に図示されているが、実施形態によっては、ウェブ・ブラウザー１０８（または他のアプリケーション）を、本明細書において論じられる技法の１つ又は複数を実現するように構成することもできることは認められてしかるべきであり、言うまでもないことである。
【００１２】
[0023]  コンピューティングデバイス１０２は、ネットワーク１１４を通じて、１つ又は複数の遠方のリソースにアクセスするように構成されている。ネットワーク１１４は、インターネット、ワイド・エリア・ネットワーク、ローカル・エリア・ネットワーク等というような、適した有線ネットワークおよび／またはワイヤレス・ネットワークであればいずれでも含むことができる。遠方のリソースの一例には、遠方のリソース１１６がある。遠方のリソース１１６には、ナビゲーション可能なコンテンツおよび／またはデータ・パス・コンテンツのような、種々の異なるタイプのコンテンツを供給するためにアクセスすることができる。また、遠方のリソース１１６は、本明細書において論ずる可変コンテンツ・パスをスクラブする技法の１つ又は複数を実行するように構成することもできる。例えば、遠方のリソース１１６は、ウェブに基づくアルゴリズムおよび／またはウェブに基づくサービスをホストすることができ、コンピューティングデバイス１０２はこれらにアクセスして、本明細書において論ずる１つ又は複数の技法を実行することができる。また、記載する実施形態と共に、ローカル・リソースを用いることもできる。
【００１３】
[0024]  コンピューティングデバイス１０２は、一例としてそして限定ではなく、デスクトップ・コンピューター、携帯用コンピューター、パーソナル・ディジタル・アシスタント（ＰＤＡ）のようなハンドヘルド・コンピューター、セル・フォンなどのような、適したコンピューティングデバイスであればいずれとしてでも具体化することができる。１つ又は複数の実施形態によれば、コンピューティングデバイス１０２を、タッチ入力を受けるように構成されたデバイスとして具体化することができる。タッチ入力を受けるように構成することができるデバイスの例には、移動体デバイス、タブレットＰＣ、タッチスクリーン・キオスク等が含まれる。また、本明細書において論ずる技法の１つ又は複数は、スタイラス、四肢、音声入力等によってというようにして、個々の不具者がコンテンツと対話処理することを可能にするために用いることもできる。このように、実施形態の中には、それによって、本明細書において論ずる技法が、タッチ入力を通じて、例えば、指またはその他の四肢によってコンテンツ・パスのスクラビングを可能にすることができる場合もある。
【００１４】
[0025]  以上、動作環境例について検討したので、これより可変コンテンツ・パスをスクラブするスクラブ技法の例の論述について検討する。
スクラブ技法の例
[0026]  図２は、１つ又は複数の実施形態にしたがって、データ・パス・ナビゲーションとスクラブ・パスとの間に隣接性を維持する方法の一例を示す。２００で示すのは、データ・パス２０２およびスクラブ・パス２０４である。一部の実施形態によれば、スクラブ・パス２０４は、例えば、マウスでカーソルをドラッグする、タッチ入力、音声入力等のような、種々のユーザー入力技法またはデバイスを用いて、スクラブ点２０６をドラッグすることによって作成することができる。実施形態の中には、スクラブ点２０６をドラッグすることによって、データ点２０８にデータ・パス２０２に沿ってナビゲートさせることができるものもある。先に論じたように、実施形態の中には、データ・パス２０２が、旅行の行程、道路、高速道路等のような、予め定義されているパスに対応することができる場合もある。同様に先に論じたように、データ・パス２０２には種々のデータ・パス・コンテンツの１つ又は複数を関連付けることができ、データ・パス２０２に沿ってデータ点２０８をナビゲートすることによって、データ・パス・コンテンツの１つ又は複数のインスタンスを提示させることができる。
【００１５】
[0027]  実施形態例の中には、スクラブ点とデータ・パス・ナビゲーションにおけるデータ点との間の関係を、モデル、例えば、スクラブ点をデータ点に結び付ける仮想ばね（以後「ばね」）のような、物理学に基づくモデルを用いて確立できる場合もある。このばねは、物理学に基づくデータ・モジュール、実行可能コンピューター・コード、および／または他の何らかの表現として具体化および／または実現することができる。
【００１６】
[0028]  この特定的な実施形態例では、スクラブ点２０６とデータ点２０８との間の関係は、ばね２１０のように、線図で表されている。１つ又は複数の実施形態によれば、スクラブ点２０６とデータ点２０８との間における隣接性は、ばね２１０に伴う張力の関数として判定することができる。ばね２１０にかかる張力は、ニュートン、ポンド等のような、適した単位であればいずれを用いても定量化することができる。
【００１７】
[0029]  引き続きこの例では、 スクラブ点２０６の移動に応答した、データ・パス２０２に沿ったデータ点２０８のナビゲーションを２１２に示す。実施態様例の中には、データ・パス２０２に沿ったデータ点２０８のナビゲーションが、スクラブ点２０６の移動とほぼ同じ速度で起こることができる場合もある。一部の実施形態によれば、スクラブ点２０６の移動速度は、ユーザーがカーソルをドラッグする速度および／または他の何らかの適した入力手段を提供する速度に対応することができる。
【００１８】
[0030]  また、ばね２１０の伸張によって示すように、ばね２１０にかかるばね張力の増加が２１２に示されている。一部の実施形態によれば、データ・パス２０２に沿ったデータ点２０８のナビゲーションとスクラブ・パス２０４との間における隣接性を維持することを可能にする、閾値ばね張力を指定することができる。例えば、ばね２１０にかかる張力が閾値張力以下であるとき、データ点はスクラブ点に隣接すると考えることができ、データ・パス２０２に沿ったデータ点２０８のナビゲーションは、直接ナビゲーション・モードで進行することができる。実施形態の中には、直接ナビゲーション・モードが、データ・パス２０２に沿ったデータ点２０８のナビゲーションを、スクラブ点２０６とほぼ同じ速度で行わせるものもある。更に別の例として、ばね２１０にかかる張力が閾値張力よりも高いとき、データ点はスクラブ点に隣接しないと見なすことができ、データ・パス２０２に沿ったデータ点２０８のナビゲーションは、間接ナビゲーション・モードで進行することができる。実施形態の中には、間接ナビゲーション・モードでは、ばね２１０にかかる張力が閾値張力に等しくなるかまたはそれよりも下回るまで、データ・パス２０２に沿ったデータ点２０８のナビゲーションが加速することもある。
【００１９】
[0031]  スクラブ点２０６が更に移動したことに応答して、データ・パス２０２に沿ったデータ点２０８のナビゲーションが進んだことを、２１４に示す。この実施態様例では、ばね２１０にかかる張力は閾値張力を超えており、加速パス２１６（破線で示す）が、データ・パス２０２に沿ったデータ点２０８のナビゲーションにおける、直接ナビゲーション・モードから間接ナビゲーション・モードへの切り替えを示す。１つ又は複数の実施形態では、ナビゲーション・モードの切り替えは、閾値張力を超過するというような、ばね張力の変化に応答して行うことができる。本例では、間接ナビゲーション・モードへの切り替えによって、ばね２１０にかかる張力が低下してこの張力が閾値張力に等しくなるかまたはそれよりも低くなるまで、データ点２０８がデータ・パス２０２に沿って加速させられる。
【００２０】
[0032]  一部の実施形態によれば、間接ナビゲーション・モードにおけるデータ・パス２０２に沿ったデータ点２０８の加速が、データ・パス・コンテンツの提示に変化を起こさせることができる。例えば、間接ナビゲーション・モードは、一部のデータ・パス・コンテンツ、例えば、加速パス２１６に沿って現れるデータ・パス・コンテンツを飛ばさせることができる。更に別の例では、間接ナビゲーション・モードは、ビデオ・コンテンツのような、データ・パス・コンテンツの再生速度を上昇させることができる。一部の実施形態によれば、再生速度の上昇は、データ点２０８のナビゲーションが直接ナビゲーション・モードに戻るまで継続することができ、直接ナビゲーション・モードに戻った時点で、ビデオ・コンテンツの再生は通常の（例えば、リアル・タイムの）再生速度に戻ることができる。
【００２１】
[0033]  実施形態の中には、間接ナビゲーション・モードにおけるデータ・パス２０２に沿ったデータ点２０８の加速を、ばね２１０にかかる張力に基づいて決定することができる場合もある。例えば、ばね２１０にかかる張力が大きい程、データ点２０８の加速も大きくなり、そしてその逆となる。
【００２２】
[0034]  ２１８において、ばね２１０にかかる張力は、閾値張力以内に低下しており、データ・パス２０２に沿ったデータ点２０８のナビゲーションは直接ナビゲーション・モードに戻っている。一部の実施形態によれば、直接ナビゲーション・モードに戻ることは、データ点２０８とスクラブ点２０６との間における隣接性を示す。
【００２３】
[0035]  図３は、１つ又は複数の実施形態にしたがって、データ・パス・ナビゲーションとスクラブ・パスとの間に隣接性を維持する方法の別の例を示す。３００において、データ・パス３０２およびスクラブ・パス３０４を示す。データ・パス３０２は、データ・パス３０２上におけるデータ点３０８の以前の位置を表すデータ点の位置３０６を含む。スクラブ・パス３０４は、スクラブ・パス上におけるスクラブ点３１２の以前の位置を表すスクラブ点の位置３１０を含む。
【００２４】
[0036]  一部の実施形態によれば、スクラブ点は、スクラブ点をデータ点に「繋ぐ」、物理学に基づく弦のような、何らかの適したメカニズムを用いて、データ点をデータ・パスに沿ってドラッグすることができる。つまり、この特定的な例では、スクラブ点３１２が移動すると（例えば、ユーザー入力に応答して）、弦がデータ点３０８をデータ・パス３０２に沿ってドラッグする。実施形態の中には、この弦がデータ点３０８をスクラブ点３１２からある距離以内に止めさせる場合もある。
【００２５】
[0037]  実施形態の中には、データ・パス３０２に沿ったナビゲーションを、二点間距離および実パス距離によって特徴付けることができる場合もある。二点間距離とは、データ・パス３０２自体には独立した、２つのデータ点位置間の距離のことである。実パス距離とは、これら２つの位置間でデータ・パス３０２に追従した場合における、２つのデータ点の位置間の距離のことである。例えば、図では、二点間距離３１４、およびデータ点位置３０６とデータ点３０８との間の実パス距離３１６が示されている。この特定的な例では、二点間距離３１４が実パス距離３１６にほぼ等しくなっている。一部の実施形態によれば、二点間距離が実パス距離にほぼ等しいとき、データ点３０８はスクラブ点３１２に隣接していると見なすことができ、データ・パスに沿ったデータ点のナビゲーションは、直接ナビゲーション・モードで行うことができる。
【００２６】
[0038]  ３１８において、スクラブ点３１２は、スクラブ・パス３０４上の新たな点に移動しており、データ点３０８は、データ・パス３０２上の新たな点に移動している。先に論じたように、データ点３０８をスクラブ点３１２からある距離以内に維持する弦によって、データ点３０８をスクラブ点３１２に繋ぐことができる。
【００２７】
[0039]  一部の実施形態によれば、データ点がスクラブ点からある距離以内に（例えば、弦によって）維持されているとき、このデータ点は、スクラブ点からある距離以内に留まるために、場合によってはデータ・パスの区間を飛び越えることもできる。３１８において示す例では、データ点３０８は以前のデータ点位置３２０からその現在の位置に飛び越えており、データ・パス３０２のループ３２２を飛ばしている。
【００２８】
[0040]  また、３１８には、データ点３０８の新たな位置と以前のデータ点位置３２０との間に、二点間距離３２４および実パス距離３２６（破線で示されている）も図示されている。この特定的な例では、データ点３０８がデータ・パス３０２上の位置を飛び越えてループ３２２を飛ばしているので、実パス距離３２６は二点間距離３２４よりも大きい。一部の実施形態によれば、実パス距離と二点間距離との間に、閾値差を指定することができる。実パス距離と二点間距離との間の距離が閾値差を超過する場合、データ点はスクラブ点に隣接しないと見なすことができ、データ・パス上におけるデータ点のナビゲーションは、直接ナビゲーション・モードから間接ナビゲーション・モードに移行することができる。
【００２９】
[0041]  本例では、実パス距離３２６と二点間距離３２４との間の差が閾値差を超過しており、データ点３０８のナビゲーションは間接ナビゲーション・モードに移行している。一部の実施形態によれば、直接ナビゲーション・モードから間接ナビゲーション・モードへの移行によって、データ・パス３０２と関連のあるデータ・パス・コンテンツの提示方法を変化させることができる。例えば、何らかのデータ・パス・コンテンツを飛ばすことができ、および／または何らかのデータ・パス・コンテンツの再生速度を加速させることができる。
【００３０】
[0042]  ３２８において、スクラブ点３１２は再度スクラブ・パス３０４上のあらたな位置に移動し、データ点３０８は再度データ・パス３０２上の新たな位置に移動している。また、３２８には、二点間距離３３０および実パス距離３３２も図示されている。この例では、実パス距離３３２と二点間距離３３０との間の差は、閾値差以内に戻っており、したがって、データ・パス３０２に沿ったデータ点３０８のナビゲーションは、直接ナビゲーション・モードに戻っている。一部の実施形態によれば、直接ナビゲーション・モードに戻ることにより、データ・パス・コンテンツの提示方法を一方のモードから他のモードに移行させることができる。例えば、間接ナビゲーション・モードへの移行に応答して加速されたビデオ・コンテンツの再生を、通常の再生速度に戻すことができる。
【００３１】
[0043]  以上、１つ又は複数の実施形態によるユーザー・インターフェース例について説明したので、これより１つ又は複数の実施形態によるユーザー・インターフェースの一例の論述について検討する。
ユーザー・インターフェースの一例
[0044]  図４は、１つ又は複数の実施形態によるユーザー・インターフェースの一例４００を示す。ユーザー・インターフェース４００は、ウェブ・ブラウザー・インターフェースとして示されているが、これは例示を目的とするに過ぎず、特許請求する実施形態の主旨および範囲から逸脱することなく、適したユーザー・インターフェースおよび／またはアプリケーションであれば、いずれでも利用することができる。
【００３２】
[0045]  ユーザー・インターフェース４００は、ナビゲーション領域４０２と、コンテンツ領域４０４とを含む。一部の実施形態によれば、ナビゲーション領域４０２は、ナビゲーション可能なコンテンツを表示し、ナビゲーション可能なコンテンツに関するユーザー入力を受け取るように構成されている。この特定的な例では、ナビゲーション可能なコンテンツは、ナビゲーション可能な地図を含む。しかしながら、これは例示の目的に過ぎず、適したナビゲーション可能なコンテンツの他の例が先に述べられている。
【００３３】
[0046]  ナビゲーション領域４０２は、スクラブ・パス４０６およびデータ・パス４０８を含む。先に論じたように、そして一部の実施形態によれば、スクラブ・パス４０６は、ユーザーの指、またはナビゲーション領域４０２上でドラッグするマウスというような、ナビゲーション領域４０２へのユーザー入力に応答して発生することができる。スクラブ・パス４０６を発生したことに応答して、データ・パス４０８に沿ってナビゲーションを行うことができる。１つ又は複数の実施形態によれば、データ・パス４０８は所定の旅行の行程に対応することができる。
【００３４】
[0047]  一部の実施形態によれば、データ・パス４０８のナビゲーションは、直接ナビゲーション・モードおよび／または間接ナビゲーション・モードにしたがって進めることができる。例えば、ナビゲーション区間４１０および４１２（破線で囲まれている）では、データ・パス４０８はスクラブ・パス４０６と隣接している。したがって、実施形態によっては、ナビゲーション区間４１０および４１２におけるデータ・パス４０８のナビゲーションは直接ナビゲーション・モードにしたがって進めることができる。更に一部の実施形態によれば、ナビゲーション区間４１４（破線で囲まれている）では、データ・パス４０８はスクラブ・パス４０６に隣接していない。このため、ナビゲーション区間４１４におけるデータ・パス４０８のナビゲーションは、間接ナビゲーション・モードにしたがって進めることができる。先に論じたように、データ・パス４０８のナビゲーションは、本明細書において論ずる技法の１つ又は複数にしたがって、直接ナビゲーション・モードと間接ナビゲーション・モードとの間で移行することができる。
【００３５】
[0048]  データ・パス４０８のナビゲーションによって、このデータ・パス４０８と関連のあるデータ・パス・コンテンツを提示させることができる。データ・パス・コンテンツの適した例については、先に述べた。一部の実施形態によれば、データ・パス・コンテンツをコンテンツ領域４０４に提示することができる。コンテンツ領域４０４は、適したタイプのデータ・パス・コンテンツであればいずれでも提示するように構成することができる。この特定的な例では、コンテンツ領域４０４は、データ・パス４０８のナビゲーションに応答して、データ・パス４０８と関連のあるビデオ・コンテンツを提示する。
【００３６】
[0049]  ユーザー・インターフェース４００に含まれる視覚要素の配列は、例示の目的で示したに過ぎず、特許請求する主題の主旨および範囲から逸脱することなく、視覚要素の適した配列であればいずれでも利用してもよいことは認められてしかるべきである。
方法例
[0050]  図５は、１つ又は複数の実施形態による方法を説明する流れ図である。この方法は、適したハードウェア、ソフトウェア、ファームウェア、またはその組み合わせであればいずれと合わせてでも実現することができる。少なくとも一部の実施形態では、この方法は、ナビゲーション可能なコンテンツをスクラブする(scrub)ように実行するソフトウェアまたはエクゼキュータブル（例えば、ウェブ・ブラウザー１０８（または他のアプリケーション）および／またはスクラバー・モジュール１１２）によって実現することができる。
【００３７】
[0051]  ステップ５００では、スクラブ点の移動指示を受け取る。一部の実施形態によれば、このスクラブ点の移動は、ユーザー入力のための１つ又は複数の適した技法によって、ユーザーがスクラブ点を操作したことに応答することができる。ステップ５０２では、データ点に直接ナビゲーション・モードでデータ・パスをナビゲートさせる。先に論じたように、実施形態の中には、データ・パスのナビゲーションがスクラブ点の移動に応答することができる場合もある。
【００３８】
[0052]  ステップ５０４では、データ点がスクラブ点に隣接するか否か判定を行う。データ点がスクラブ点に隣接する場合（「Ｙｅｓ」）、本方法はステップ５０２に戻る。一方、データ点がスクラブ点に隣接しない場合（「Ｎｏ」）、ステップ５０６において、データ点に間接ナビゲーション・モードでデータ・パスをナビゲートさせる。一部の実施形態によれば、本方法はステップ５０４に戻って、データ点がスクラブ点との隣接性を得たか否か判定することができ、またはデータ点が間接ナビゲーション・モードでナビゲーションを続けることができるか否か判定することができる。データ点がスクラブ点に隣接するか否か判定する方法の例については、先に論じており、以下でも論ずる。
【００３９】
[0053]  図６は、１つ又は複数の実施形態による方法を説明する流れ図である。この方法は、適したハードウェア、ソフトウェア、ファームウェア、またはその組み合わせであればいずれと合わせてでも実現することができる。少なくとも一部の実施形態では、この方法は、データ点がデータ・パス・ナビゲーションにおいてスクラブ点に隣接するか否か判定するために実行するソフトウェアまたはエクゼキュータブル（例えば、ウェブ・ブラウザー１０８（または他のアプリケーション）および／またはスクラバー・モジュール１１２）によって実現することができる。
【００４０】
[0054]  ステップ６００において、データ点をスクラブ点に接続する。例えば、そして先に論じたように、仮想ばねを用いて、データ点とスクラブ点との間に仮想接続を形成することができる。ステップ６０２において、スクラブ点の移動指示を受ける。ステップ６０４では、データ点に直接ナビゲーション・モードでデータ・パスをナビゲートさせる。ステップ６０６では、データ点とスクラブ点との間における接続の張力を監視する。
【００４１】
[0055]  ステップ６０８では、接続の張力が閾値張力を超過したか否か判定を行う。例えば、閾値張力を、例えば、４ポンドに指定することができる。張力が閾値張力を超過していない（「Ｎｏ」）場合、本方法はステップ６０４に戻る。しかしながら、張力が閾値張力を超過した（「Ｙｅｓ」）場合、ステップ６１０において、データ点に間接ナビゲーション・モードでデータ・パスをナビゲートさせる。一部の実施形態によれば、本方法はステップ６０８に戻ることができる。
【００４２】
[0056]  図７は、１つ又は複数の実施形態による方法を説明する流れ図である。この方法は、適したハードウェア、ソフトウェア、ファームウェア、またはその組み合わせであればいずれと合わせてでも実現することができる。少なくとも一部の実施形態では、この方法は、データ点がスクラブ点に隣接するか否か判定するために実行するソフトウェアまたはエクゼキュータブル（例えば、ウェブ・ブラウザー１０８（または他のアプリケーション）および／またはスクラバー・モジュール１１２）によって実現することができる。
【００４３】
[0057]  ステップ７００において、スクラブ点の移動指示を受ける。ステップ７０２において、データ点に直接ナビゲーション・モードでデータ・パスをナビゲートさせる。１つ又は複数の実施形態によれば、データ点にデータ・パスをナビゲートさせるのは、スクラブ点の移動指示を受けたことに応答して行うことができる。
【００４４】
[0058]  ステップ７０４において、データ・パス上における第１データ点の位置と第２データ点の位置との間における二点間距離を判定する。ステップ７０６において、データ・パス上における第１データ点の位置と第２データ点の位置との間における実パス距離を判定する。二点間距離および／または実パス距離は、画素、ベクトル長、または点間の距離を判定する適した方法であれば他のいずれに関しても判定することができる。
【００４５】
[0059]  ステップ７０８では、実パス距離と二点間距離との間の差が閾値差を超過したか否か判定を行う。例えば、閾値差を７５画素に指定することができる。差が閾値を超過しない（「Ｎｏ」）場合、本方法はステップ７０２に戻る。
【００４６】
[0060]  しかしながら、実パス距離と二点間距離との間の差が閾値差を超過した場合、ステップ７１０において、データ点に間接ナビゲーション・モードでデータ・パスをナビゲートさせる。例えば、距離が７５画素を上回る場合、データ・パスのナビゲーションは間接ナビゲーション・モードに移行する。一部の実施形態によれば、本方法はステップ７０８に戻ることができる。
【００４７】
[0061]  図８は、１つ又は複数の実施形態による方法を説明する流れ図である。この方法は、適したハードウェア、ソフトウェア、ファームウェア、またはその組み合わせであればいずれと合わせてでも実現することができる。少なくとも一部の実施形態では、この方法は、シミュレーションによる三次元空間において１つ又は複数のパスをスクラブするために実行するソフトウェアまたはエクゼキュータブル（例えば、ウェブ・ブラウザー１０８（または他のアプリケーション）および／またはスクラバー・モジュール１１２）によって実現することができる。
【００４８】
[0062]  ステップ８００では、スクラブ点の二次元移動指示を受ける。ステップ８０２では、直接ナビゲーション・モードおよび／または間接ナビゲーション・モードを利用して、シミュレーションによる三次元空間にわたって、データ点にデータ・パスをナビゲートさせる。先の例におけるように、直接または間接ナビゲーション・モードの選択は、前述した規準と同じまたは同様の規準である規準に基づいて行うことができる。シミュレーションによる三次元空間の例には、ＣＡＤモデル、仮想現実環境、ビデオ・ゲーム環境等が含まれる。
【００４９】
[0063]  図９は、１つ又は複数の実施形態による方法を説明する流れ図である。この方法は、適したハードウェア、ソフトウェア、ファームウェア、またはその組み合わせであればいずれと合わせてでも実現することができる。少なくとも一部の実施形態では、この方法は、直接ナビゲーション・モードおよび／または間接ナビゲーション・モードに基づいてデータ・パス・コンテンツを提示させるために実行するソフトウェアまたはエクゼキュータブル（例えば、ウェブ・ブラウザー１０８（または他のアプリケーション）および／またはスクラバー・モジュール１１２）によって実現することができる。
【００５０】
[0064]  ステップ９００では、データ・パスのデータ点・ナビゲーションの指示を受ける。ステップ９０２において、データ点が間接ナビゲーション・モードまたは直接ナビゲーション・モードのどちらでデータ・パスをナビゲートしているのか判定を行う。データ点が直接ナビゲーション・モードでデータ・パスをナビゲートしている場合、ステップ９０４において、直接ナビゲーション・モードと関連のある提示モードでデータ・パス・コンテンツを提示させる。例えば、直接ナビゲーション・モードにしたがって、通常の（例えば、リアル・タイムの）再生モードでビデオ・コンテンツを再生することができる。しかしながら、データ点が間接ナビゲーション・モードでデータ・パスをナビゲートしている場合、ステップ９０６において、間接ナビゲーション・モードと関連のある提示モードでデータ・パス・コンテンツを提示させる。ビデオ再生の例を続けると、そして間接ナビゲーション・モードにしたがって、加速再生モードでビデオ・コンテンツを再生することができる。一部の実施形態によれば、本方法は、ステップ９０４、９０６の各々からステップ９０２に戻って、データ・パス・ナビゲーション・モードにおける１つ又は複数の変化に基づいて、提示モード間で切り替えを行うことができる。
【００５１】
[0065]  一部の実施形態によれば、本明細書において論じた技法は、接合点を含むグラフに沿ったスクラブ移動において利用することができる。例えば、スクラブされたデータ点がグラフ上の接合点に近づくと（例えば、グラフ上で２本の曲線が交差する場合）、対応するデータ点は、数本の異なる可能なデータ曲線の内１つに追従する選択肢を有することができる。１つ又は複数の実施形態では、本明細書において論じた技法は、スクラブ点に最も近いデータ曲線を選択することができる。実施態様の中には、スクラブ点が接合点に非常に近い場合（例えば、予め設定されている接合点閾値以内）、データ点がどのデータ曲線に追従するかについての判断は、かなり揺らぐ可能性がある。このような実施態様の場面では、スクラブ点がグラフ上の接合点に非常に近い場合、本明細書において論じた１つ又は複数の技法では、スクラブ点がその接合点を通過するまで待ってから、どの曲線を追従するか決定することができる。このように、スクラブ点が移動して接合点を通過するまで待つことによって、データ点が追従すべきしかるべき曲線を決定するためにより多くの情報を提供することができる。
システム例
[0066]  図１０は、先に説明した種々の実施形態を実現することができるコンピューティングデバイスの一例１０００を示す。コンピューティングデバイス１０００は、例えば、図１のコンピューティングデバイス１０２とすることができ、または適したコンピューティングデバイスであれば他のいずれでも可能である。
【００５２】
[0067]  コンピューティングデバイス１０００は、１つ又は複数のプロセッサーまたは演算装置１００２、１つ又は複数のメモリーおよび／または記憶コンポーネント１００４、１つ又は複数の入力／出力（Ｉ／Ｏ）デバイス１００６、ならびにバス１００８を含む。バス１００８は、種々のコンポーネントおよびデバイスが互いに通信することを可能にする。バス１００８は、メモリー・バスまたはメモリー・コントローラー、周辺バス、加速グラフィクス・ポート、および種々のバス・アーキテクチャーの内いずれかを用いるプロセッサー・バスまたはローカル・バスを含む、様々なタイプのバス構造のいずれか１つ又は複数を表す。
【００５３】
[0068]  メモリー／記憶コンポーネント１００４は、１つ又は複数のコンピューター記憶媒体を表す。コンポーネント１００４は、揮発性媒体（ランダム・アクセス・メモリー（ＲＡＭ）のような媒体）、および／または不揮発性媒体（リード・オンリー・メモリー（ＲＯＭ）、フラッシュ・メモリー、光ディスク、磁気ディスク等のような媒体）を含むことができる。コンポーネント１００４は、固定媒体（例えば、ＲＡＭ、ＲＯＭ、固定ハード・ドライブ等）、およびリムーバブル媒体（例えば、フラッシュ・メモリー・ドライブ、リムーバブル・ハード・ドライブ、光ディスク等）を含むことができる。
【００５４】
[0069]  １つ又は複数の入力／出力デバイス１００６は、ユーザーがコマンドおよび情報をコンピューティングデバイス１０００に入力することを可能にし、更に情報をユーザーおよび／または他のコンポーネントまたはデバイスに提示することを可能にする。入力デバイスの例には、キーボード、カーソル制御デバイス（例えば、マウス）、タッチ入力デバイス（例えば、タッチ・スクリーン）、マイクロフォン、スキャナー等が含まれる。出力デバイスの例には、ディスプレイ・デバイス（例えば、モニターまたはプロジェクター）、スピーカー、プリンター、ネットワーク・カード等が含まれる。
【００５５】
[0070]  本明細書では、ソフトウェアまたはプログラム・モジュールという一般的なコンテキストで種々の技法について説明した。一般に、ソフトウェアは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含み、特定のタスクを実行するか、または特定の抽象データ・タイプを実現する。これらのモジュールおよび技法の一実施態様は、何らかの形態のコンピューター読み取り可能媒体上に格納すること、またはそれを通じて送信することもできる。コンピューター読み取り可能媒体は、コンピューティングデバイスによってアクセスすることができる入手可能な１つまたは複数の媒体であればいずれでもよい。一例として、そして限定ではなく、コンピューター読み取り可能媒体は「コンピューター記憶媒体」を構成することもできる。
【００５６】
[0071]  「コンピューター記憶媒体」は、コンピューター読み取り可能命令、データ構造、プログラム・モジュール、またはその他のデータというような情報の格納に適した方法または技術であればそのいずれでも実現される、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含む。コンピューター記憶媒体には、限定ではないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリーまたはその他のメモリー技術、ＣＤ−ＲＯＭ、ディジタル・バーサタイル・ディスク（ＤＶＤ）またはその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたはその他の磁気記憶デバイス、あるいは所望の情報を格納するために用いることができ、そしてコンピューターによってアクセスすることができる媒体であれば他のいずれでも含まれる。
結論
[0072]  種々の実施形態は、コンテンツにおける可変パスをスクラブする技法を提供する。一例としてそして限定ではなく、スクラブは、スクラブ・パスを定めるユーザー入力を受け取り、このスクラブ・パスに基づいてコンテンツにわたってデータ・パスをナビゲートすることを含むことができる。一部の実施形態によれば、データ・パスは、コンテンツを通る１つ又は複数の既定パス（例えば、旅行の行程）を含むことができる。本明細書において論じたこれらの技法の内１つ又は複数は、データ・パスにおける揺らぎを考慮し、スクラブ・パスとデータ・パスに沿ったナビゲーションとの間の隣接性を維持する方法を提供することができる。実施形態の中には、データ・パスを１つ又は複数のタイプのデータ・パス・コンテンツと関連付け、データ・パスに沿ったナビゲーションに応答してデータ・パス・コンテンツを提示することができるものもある。
【００５７】
[0073]  以上、構造的特徴および／または方法論的ステップに特定的な文言で、主題について説明したが、添付した特許請求の範囲において定義されている主題は、必ずしも、記載した具体的な特徴やステップには限定されるのではない。むしろ、これらの具体的な特徴やステップは、特許請求する主題を実現する形態例として開示しただけである。
【図１】
0005677418.tif 000002
【図２】
0005677418.tif 000003
【図３】
0005677418.tif 000004
【図４】
0005677418.tif 000005
【図５】
0005677418.tif 000006
【図６】
0005677418.tif 000007
【図７】
0005677418.tif 000008
【図８】
0005677418.tif 000009
【図９】
0005677418.tif 000010
【図１０】
0005677418.tif 000011