説明

可変コンテンツ・パスのスクラビング

種々の実施形態は、コンテンツにおける可変パスをスクラブする技法を提供する。一例としてそして限定ではなく、スクラビングは、スクラブ・パスを定めるユーザー入力を受け取り、このスクラブ・パスに基づいてコンテンツにわたってデータ・パスをナビゲートすることを含むことができる。一部の実施形態によれば、データ・パスは、コンテンツを通る1つ又は複数の既定パス(例えば、旅行の行程)を含むことができる。これらの技法の内1つ又は複数は、データ・パスにおける揺らぎを考慮し、スクラブ・パスとデータ・パスに沿ったナビゲーションとの間の隣接性を維持する方法を提供することができる。実施形態の中には、データ・パスを1つ又は複数のタイプのデータ・パス・コンテンツと関連付け、データ・パスに沿ったナビゲーションに応答してデータ・パス・コンテンツを提示することができるものもある。

【発明の詳細な説明】
【背景技術】
【0001】
[0001] アプリケーションの中には、コンテンツにわたってアイコンまたはその他のグラフィック表現を動かすことによって、ユーザー・インターフェース上に表示されている地図のような、コンテンツにわたってユーザーがナビゲートすることを可能にすることができるものがある。しかしながら、このようなアプリケーションは、非常に簡単なナビゲーション技法しか提供しないのが通例であり、コンテンツの特質(feature)において遭遇することが多い揺らぎ(variations)に応答することが困難になる場合がある。例えば、地図上で経路をナビゲートするには、ユーザーのナビゲーションは、その経路との対応を維持しなければ、ナビゲーションをその経路上で存続させることができないのが通例である。ユーザーのナビゲーションが経路との対応を維持し損ねると、ナビゲーションができなくなったり、望んでもいないのに経路が変更してしまう虞れがある。
【発明の概要】
【0002】
[0002] この摘要は、詳細な説明において以下で更に説明する概念から選択したものを、簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を限定するために用いられることを意図するのでもない。
【0003】
[0003] 種々の実施形態では、コンテンツにおいて可変パスをスクラブする(scrub)技法を提供する。限定ではない一例として、スクラビングは、スクラブ・パスを定めるユーザー入力を受けること、およびこのスクラブ・パスに基づいてコンテンツにわたってデータ・パスをナビゲートすることを含むことができる。一部の実施形態によれば、データ・パスは、コンテンツを通る1つ又は複数の既定パス(例えば、旅行の行程)を含むことができる。これらの技法の内1つ又は複数は、データ・パスにおける揺らぎを考慮し、スクラブ・パスとデータ・パスに沿ったナビゲーションとの間の隣接性を維持する方法を提供することができる。実施形態の中には、データ・パスに、1つ又は複数のタイプのデータ・パス・コンテンツと関連付け、データ・パスに沿ったナビゲーションに応答してデータ・パス・コンテンツ提示することができるものもある。
【図面の簡単な説明】
【0004】
[0004] 図面全体において、同様の機構を参照するために同じ番号を用いることとする。
【図1】図1は、本発明の原理を1つ又は複数の実施形態にしたがって用いることができる動作環境を示す。
【図2】図2は、1つ又は複数の実施形態にしたがってスクラブ・パスとデータ・パス・ナビゲーションとの間で隣接性を維持する方法例を示す。
【図3】図3は、1つ又は複数の実施形態にしたがってスクラブ・パスとデータ・パス・ナビゲーションとの間で隣接性を維持する方法例を示す。
【図4】図4は、1つ又は複数の実施形態によるユーザー・インターフェースの一例を示す。
【図5】図5は、1つ又は複数の実施形態による方法におけるステップを説明する流れ図である。
【図6】図6は、1つ又は複数の実施形態による方法におけるステップを説明する流れ図である。
【図7】図7は、1つ又は複数の実施形態による方法におけるステップを説明する流れ図である。
【図8】図8は、1つ又は複数の実施形態による方法におけるステップを説明する流れ図である。
【図9】図9は、1つ又は複数の実施形態による方法におけるステップを説明する流れ図である。
【図10】図10は、1つ又は複数の実施形態によるシステムのブロック図である。
【発明を実施するための形態】
【0005】
全体像
[0015] 種々の実施形態では、コンテンツにおいて可変経路をスクラブする技法を提供する。限定ではない一例として、スクラビングは、スクラブ・パスを定めるユーザー入力を受けること、およびこのスクラブ・パスに基づいてコンテンツにわたってデータ・パスをナビゲートすることを含むことができる。一部の実施形態によれば、データ・パスは、コンテンツを通る1つ又は複数の既定パス(例えば、旅行の行程)を含むことができる。例えば、ユーザーが、ユーザー・インターフェース上に表示されている地図を通じて旅行の行程をナビゲートしたいという実施形態について考える。一部の実施形態によれば、旅行の行程をデータ・パスと見なすことができ、シアトルからサクラメントまでというように、1つの地点から他の地点までの既定運転経路に対応するかもしれない。
【0006】
[0016] この旅行の行程をナビゲートするには、ユーザーは、地図内部でカーソルをドラッグして(例えば、マウスまたは他の入力デバイスによって)、大凡の所望の旅行行程を規定する。カーソルが地図を通過してできた経路は、スクラブ・パスと見なすことができる。このスクラブ・パスは旅行の行程を近似することができるが(例えば、概略的な運転方向に関して)、スクラブ・パスは、高速道路の入り口/出口ループ、バイパス、工事による迂回などというような、旅行の行程における1つ又は複数の揺らぎ(variations)を必ずしも考慮に入れられる訳ではない。一部の実施形態によれば、本明細書において記載する技法は、データ・パスに沿ったナビゲーションとスクラブ・パスとの間において隣接性を維持する方法を提供する。
【0007】
[0017] 1つ又は複数の実施形態では、データ・パスには、テキスト・コンテンツ、広告、写真、ビデオ・コンテンツ、オーディオ・コンテンツ、ハイパーリンク、運転方向、データ値等というような、1つ又は複数のタイプのデータ・パス・コンテンツを関連付けることができる。先に論じた地図の例を用いると、データ・パス・コンテンツの一例は、旅行の行程に沿って取り込んだビデオ・コンテンツを含むことができる。このように、一部の実施形態によれば、本明細書において論ずる技法は、ユーザーがスクラブ・パスを示すことに応答して、ビデオ・コンテンツを表示させることができる。
【0008】
[0018] 実施形態の中には、1つ又は複数のユーザーの好みというような、ユーザーが指定したパラメータに基づいて、データ・パス・コンテンツを、読み出すこと、および/または選別することができる場合もある。例えば、ユーザーは、シーフード・レストランのような、特定のコンテンツについての好みを示すことができる。このような場面の一例では、ユーザーがスクラブ・パスを示したことに応答して、シーフード・レストランと関連付けられたデータ・パス・コンテンツをユーザーに提示することができる。
【0009】
[0019] ここでは地図内におけるスクラビングおよびナビゲーションを参照しながら実施形態例について説明しているが、これは例示を目的にするに過ぎない。本明細書において論じられる技法は、種々の異なるタイプのナビゲーション可能なコンテンツおよび異なる実施態様の場面においても、特許請求する実施形態の主旨や範囲から逸脱することなく、用いられることは認められてしかるべきであり、言うまでもないことである。適したナビゲーション可能なコンテンツおよび/または実施態様の場面の例には、2つ以上の異なるデータ・パラメータ(例えば、温度、圧力、および/またはもっと高い次元の空間へのマッピング)を表す二次元曲線、ならびに三次元モデル(例えば、コンピューター補助設計(CAD)モデル)、仮想現実環境、ビデオ・ゲーム環境等を含むことができる。
【0010】
[0020] 以下に続く論述では、「動作環境」と題する章において、種々の実施形態を用いることができる1つの環境のみについて説明する。これに続いて、「スクラブ技法の例」と題する章では、1つ又は複数の実施形態にしたがって、1つ又は複数のデータ・パスと1つ又は複数のスクラブ・パスとの間において隣接性を維持する方法例について説明する。次に、「ユーザー・インターフェースの一例」と題する章において、1つ又は複数の実施形態によるユーザー・インターフェースの一例について説明する。これに続いて、「方法例」と題する章において、1つ又は複数の実施形態による方法例について説明する。最後に、「システム例」と題する章を設け、1つ又は複数の実施形態を実現するために用いることができるシステム例について説明する。
動作環境
[0021] 図1は、1つ又は複数の実施形態による動作環境であり、全体的に100で示す。環境100は、1つ又は複数のプロセッサー104と、1つ又は複数のコンピューター読み取り可能記憶媒体106とを有するコンピューティングデバイス102を含む。コンピューター読み取り可能記憶媒体106は、一例としてそして限定ではなく、通例コンピューティングデバイスに付随する揮発性および不揮発性メモリーおよび/または記憶媒体のあらゆる形態を含むことができる。このような媒体は、ROM、RAM、フラッシュ・メモリー、ハード・ディスク、リムーバブル媒体等を含むことができる。図10において、コンピューティングデバイスの具体的な一例を示し、以下で説明する。
【0011】
[0022] また、コンピューティングデバイス102は、ウェブ・ブラウザー108、ならびに種々のタイプのナビゲーション可能なコンテンツにアクセスする、これらを表示する、および/またはこれらと相互作用するように動作可能とすることができるその他のアプリケーションも含む。他のアプリケーションの例には、ナビゲーション(例えば、GPS)アプリケーション、医療アプリケーション、グラフィクス・アプリケーション等が含まれる。また、ウェブ・ブラウザー108は、データ・パス・コンテンツ110のような、データ・パス・コンテンツの1つ又は複数のインスタンスを提示(例えば、表示)するように動作可能にすることもできる。また、コンピューティングデバイス102には、以上および以下で説明する種々の技法を実現することができるスクラバー・モジュール(scrubber module)112も含まれている。スクラバー・モジュール112は、ウェブ・ブラウザー108(または他のアプリケーション)とは別個に図示されているが、実施形態によっては、ウェブ・ブラウザー108(または他のアプリケーション)を、本明細書において論じられる技法の1つ又は複数を実現するように構成することもできることは認められてしかるべきであり、言うまでもないことである。
【0012】
[0023] コンピューティングデバイス102は、ネットワーク114を通じて、1つ又は複数の遠方のリソースにアクセスするように構成されている。ネットワーク114は、インターネット、ワイド・エリア・ネットワーク、ローカル・エリア・ネットワーク等というような、適した有線ネットワークおよび/またはワイヤレス・ネットワークであればいずれでも含むことができる。遠方のリソースの一例には、遠方のリソース116がある。遠方のリソース116には、ナビゲーション可能なコンテンツおよび/またはデータ・パス・コンテンツのような、種々の異なるタイプのコンテンツを供給するためにアクセスすることができる。また、遠方のリソース116は、本明細書において論ずる可変コンテンツ・パスをスクラブする技法の1つ又は複数を実行するように構成することもできる。例えば、遠方のリソース116は、ウェブに基づくアルゴリズムおよび/またはウェブに基づくサービスをホストすることができ、コンピューティングデバイス102はこれらにアクセスして、本明細書において論ずる1つ又は複数の技法を実行することができる。また、記載する実施形態と共に、ローカル・リソースを用いることもできる。
【0013】
[0024] コンピューティングデバイス102は、一例としてそして限定ではなく、デスクトップ・コンピューター、携帯用コンピューター、パーソナル・ディジタル・アシスタント(PDA)のようなハンドヘルド・コンピューター、セル・フォンなどのような、適したコンピューティングデバイスであればいずれとしてでも具体化することができる。1つ又は複数の実施形態によれば、コンピューティングデバイス102を、タッチ入力を受けるように構成されたデバイスとして具体化することができる。タッチ入力を受けるように構成することができるデバイスの例には、移動体デバイス、タブレットPC、タッチスクリーン・キオスク等が含まれる。また、本明細書において論ずる技法の1つ又は複数は、スタイラス、四肢、音声入力等によってというようにして、個々の不具者がコンテンツと対話処理することを可能にするために用いることもできる。このように、実施形態の中には、それによって、本明細書において論ずる技法が、タッチ入力を通じて、例えば、指またはその他の四肢によってコンテンツ・パスのスクラビングを可能にすることができる場合もある。
【0014】
[0025] 以上、動作環境例について検討したので、これより可変コンテンツ・パスをスクラブするスクラブ技法の例の論述について検討する。
スクラブ技法の例
[0026] 図2は、1つ又は複数の実施形態にしたがって、データ・パス・ナビゲーションとスクラブ・パスとの間に隣接性を維持する方法の一例を示す。200で示すのは、データ・パス202およびスクラブ・パス204である。一部の実施形態によれば、スクラブ・パス204は、例えば、マウスでカーソルをドラッグする、タッチ入力、音声入力等のような、種々のユーザー入力技法またはデバイスを用いて、スクラブ点206をドラッグすることによって作成することができる。実施形態の中には、スクラブ点206をドラッグすることによって、データ点208にデータ・パス202に沿ってナビゲートさせることができるものもある。先に論じたように、実施形態の中には、データ・パス202が、旅行の行程、道路、高速道路等のような、予め定義されているパスに対応することができる場合もある。同様に先に論じたように、データ・パス202には種々のデータ・パス・コンテンツの1つ又は複数を関連付けることができ、データ・パス202に沿ってデータ点208をナビゲートすることによって、データ・パス・コンテンツの1つ又は複数のインスタンスを提示させることができる。
【0015】
[0027] 実施形態例の中には、スクラブ点とデータ・パス・ナビゲーションにおけるデータ点との間の関係を、モデル、例えば、スクラブ点をデータ点に結び付ける仮想ばね(以後「ばね」)のような、物理学に基づくモデルを用いて確立できる場合もある。このばねは、物理学に基づくデータ・モジュール、実行可能コンピューター・コード、および/または他の何らかの表現として具体化および/または実現することができる。
【0016】
[0028] この特定的な実施形態例では、スクラブ点206とデータ点208との間の関係は、ばね210のように、線図で表されている。1つ又は複数の実施形態によれば、スクラブ点206とデータ点208との間における隣接性は、ばね210に伴う張力の関数として判定することができる。ばね210にかかる張力は、ニュートン、ポンド等のような、適した単位であればいずれを用いても定量化することができる。
【0017】
[0029] 引き続きこの例では、 スクラブ点206の移動に応答した、データ・パス202に沿ったデータ点208のナビゲーションを212に示す。実施態様例の中には、データ・パス202に沿ったデータ点208のナビゲーションが、スクラブ点206の移動とほぼ同じ速度で起こることができる場合もある。一部の実施形態によれば、スクラブ点206の移動速度は、ユーザーがカーソルをドラッグする速度および/または他の何らかの適した入力手段を提供する速度に対応することができる。
【0018】
[0030] また、ばね210の伸張によって示すように、ばね210にかかるばね張力の増加が212に示されている。一部の実施形態によれば、データ・パス202に沿ったデータ点208のナビゲーションとスクラブ・パス204との間における隣接性を維持することを可能にする、閾値ばね張力を指定することができる。例えば、ばね210にかかる張力が閾値張力以下であるとき、データ点はスクラブ点に隣接すると考えることができ、データ・パス202に沿ったデータ点208のナビゲーションは、直接ナビゲーション・モードで進行することができる。実施形態の中には、直接ナビゲーション・モードが、データ・パス202に沿ったデータ点208のナビゲーションを、スクラブ点206とほぼ同じ速度で行わせるものもある。更に別の例として、ばね210にかかる張力が閾値張力よりも高いとき、データ点はスクラブ点に隣接しないと見なすことができ、データ・パス202に沿ったデータ点208のナビゲーションは、間接ナビゲーション・モードで進行することができる。実施形態の中には、間接ナビゲーション・モードでは、ばね210にかかる張力が閾値張力に等しくなるかまたはそれよりも下回るまで、データ・パス202に沿ったデータ点208のナビゲーションが加速することもある。
【0019】
[0031] スクラブ点206が更に移動したことに応答して、データ・パス202に沿ったデータ点208のナビゲーションが進んだことを、214に示す。この実施態様例では、ばね210にかかる張力は閾値張力を超えており、加速パス216(破線で示す)が、データ・パス202に沿ったデータ点208のナビゲーションにおける、直接ナビゲーション・モードから間接ナビゲーション・モードへの切り替えを示す。1つ又は複数の実施形態では、ナビゲーション・モードの切り替えは、閾値張力を超過するというような、ばね張力の変化に応答して行うことができる。本例では、間接ナビゲーション・モードへの切り替えによって、ばね210にかかる張力が低下してこの張力が閾値張力に等しくなるかまたはそれよりも低くなるまで、データ点208がデータ・パス202に沿って加速させられる。
【0020】
[0032] 一部の実施形態によれば、間接ナビゲーション・モードにおけるデータ・パス202に沿ったデータ点208の加速が、データ・パス・コンテンツの提示に変化を起こさせることができる。例えば、間接ナビゲーション・モードは、一部のデータ・パス・コンテンツ、例えば、加速パス216に沿って現れるデータ・パス・コンテンツを飛ばさせることができる。更に別の例では、間接ナビゲーション・モードは、ビデオ・コンテンツのような、データ・パス・コンテンツの再生速度を上昇させることができる。一部の実施形態によれば、再生速度の上昇は、データ点208のナビゲーションが直接ナビゲーション・モードに戻るまで継続することができ、直接ナビゲーション・モードに戻った時点で、ビデオ・コンテンツの再生は通常の(例えば、リアル・タイムの)再生速度に戻ることができる。
【0021】
[0033] 実施形態の中には、間接ナビゲーション・モードにおけるデータ・パス202に沿ったデータ点208の加速を、ばね210にかかる張力に基づいて決定することができる場合もある。例えば、ばね210にかかる張力が大きい程、データ点208の加速も大きくなり、そしてその逆となる。
【0022】
[0034] 218において、ばね210にかかる張力は、閾値張力以内に低下しており、データ・パス202に沿ったデータ点208のナビゲーションは直接ナビゲーション・モードに戻っている。一部の実施形態によれば、直接ナビゲーション・モードに戻ることは、データ点208とスクラブ点206との間における隣接性を示す。
【0023】
[0035] 図3は、1つ又は複数の実施形態にしたがって、データ・パス・ナビゲーションとスクラブ・パスとの間に隣接性を維持する方法の別の例を示す。300において、データ・パス302およびスクラブ・パス304を示す。データ・パス302は、データ・パス302上におけるデータ点308の以前の位置を表すデータ点の位置306を含む。スクラブ・パス304は、スクラブ・パス上におけるスクラブ点312の以前の位置を表すスクラブ点の位置310を含む。
【0024】
[0036] 一部の実施形態によれば、スクラブ点は、スクラブ点をデータ点に「繋ぐ」、物理学に基づく弦のような、何らかの適したメカニズムを用いて、データ点をデータ・パスに沿ってドラッグすることができる。つまり、この特定的な例では、スクラブ点312が移動すると(例えば、ユーザー入力に応答して)、弦がデータ点308をデータ・パス302に沿ってドラッグする。実施形態の中には、この弦がデータ点308をスクラブ点312からある距離以内に止めさせる場合もある。
【0025】
[0037] 実施形態の中には、データ・パス302に沿ったナビゲーションを、二点間距離および実パス距離によって特徴付けることができる場合もある。二点間距離とは、データ・パス302自体には独立した、2つのデータ点位置間の距離のことである。実パス距離とは、これら2つの位置間でデータ・パス302に追従した場合における、2つのデータ点の位置間の距離のことである。例えば、図では、二点間距離314、およびデータ点位置306とデータ点308との間の実パス距離316が示されている。この特定的な例では、二点間距離314が実パス距離316にほぼ等しくなっている。一部の実施形態によれば、二点間距離が実パス距離にほぼ等しいとき、データ点308はスクラブ点312に隣接していると見なすことができ、データ・パスに沿ったデータ点のナビゲーションは、直接ナビゲーション・モードで行うことができる。
【0026】
[0038] 318において、スクラブ点312は、スクラブ・パス304上の新たな点に移動しており、データ点308は、データ・パス302上の新たな点に移動している。先に論じたように、データ点308をスクラブ点312からある距離以内に維持する弦によって、データ点308をスクラブ点312に繋ぐことができる。
【0027】
[0039] 一部の実施形態によれば、データ点がスクラブ点からある距離以内に(例えば、弦によって)維持されているとき、このデータ点は、スクラブ点からある距離以内に留まるために、場合によってはデータ・パスの区間を飛び越えることもできる。318において示す例では、データ点308は以前のデータ点位置320からその現在の位置に飛び越えており、データ・パス302のループ322を飛ばしている。
【0028】
[0040] また、318には、データ点308の新たな位置と以前のデータ点位置320との間に、二点間距離324および実パス距離326(破線で示されている)も図示されている。この特定的な例では、データ点308がデータ・パス302上の位置を飛び越えてループ322を飛ばしているので、実パス距離326は二点間距離324よりも大きい。一部の実施形態によれば、実パス距離と二点間距離との間に、閾値差を指定することができる。実パス距離と二点間距離との間の距離が閾値差を超過する場合、データ点はスクラブ点に隣接しないと見なすことができ、データ・パス上におけるデータ点のナビゲーションは、直接ナビゲーション・モードから間接ナビゲーション・モードに移行することができる。
【0029】
[0041] 本例では、実パス距離326と二点間距離324との間の差が閾値差を超過しており、データ点308のナビゲーションは間接ナビゲーション・モードに移行している。一部の実施形態によれば、直接ナビゲーション・モードから間接ナビゲーション・モードへの移行によって、データ・パス302と関連のあるデータ・パス・コンテンツの提示方法を変化させることができる。例えば、何らかのデータ・パス・コンテンツを飛ばすことができ、および/または何らかのデータ・パス・コンテンツの再生速度を加速させることができる。
【0030】
[0042] 328において、スクラブ点312は再度スクラブ・パス304上のあらたな位置に移動し、データ点308は再度データ・パス302上の新たな位置に移動している。また、328には、二点間距離330および実パス距離332も図示されている。この例では、実パス距離332と二点間距離330との間の差は、閾値差以内に戻っており、したがって、データ・パス302に沿ったデータ点308のナビゲーションは、直接ナビゲーション・モードに戻っている。一部の実施形態によれば、直接ナビゲーション・モードに戻ることにより、データ・パス・コンテンツの提示方法を一方のモードから他のモードに移行させることができる。例えば、間接ナビゲーション・モードへの移行に応答して加速されたビデオ・コンテンツの再生を、通常の再生速度に戻すことができる。
【0031】
[0043] 以上、1つ又は複数の実施形態によるユーザー・インターフェース例について説明したので、これより1つ又は複数の実施形態によるユーザー・インターフェースの一例の論述について検討する。
ユーザー・インターフェースの一例
[0044] 図4は、1つ又は複数の実施形態によるユーザー・インターフェースの一例400を示す。ユーザー・インターフェース400は、ウェブ・ブラウザー・インターフェースとして示されているが、これは例示を目的とするに過ぎず、特許請求する実施形態の主旨および範囲から逸脱することなく、適したユーザー・インターフェースおよび/またはアプリケーションであれば、いずれでも利用することができる。
【0032】
[0045] ユーザー・インターフェース400は、ナビゲーション領域402と、コンテンツ領域404とを含む。一部の実施形態によれば、ナビゲーション領域402は、ナビゲーション可能なコンテンツを表示し、ナビゲーション可能なコンテンツに関するユーザー入力を受け取るように構成されている。この特定的な例では、ナビゲーション可能なコンテンツは、ナビゲーション可能な地図を含む。しかしながら、これは例示の目的に過ぎず、適したナビゲーション可能なコンテンツの他の例が先に述べられている。
【0033】
[0046] ナビゲーション領域402は、スクラブ・パス406およびデータ・パス408を含む。先に論じたように、そして一部の実施形態によれば、スクラブ・パス406は、ユーザーの指、またはナビゲーション領域402上でドラッグするマウスというような、ナビゲーション領域402へのユーザー入力に応答して発生することができる。スクラブ・パス406を発生したことに応答して、データ・パス408に沿ってナビゲーションを行うことができる。1つ又は複数の実施形態によれば、データ・パス408は所定の旅行の行程に対応することができる。
【0034】
[0047] 一部の実施形態によれば、データ・パス408のナビゲーションは、直接ナビゲーション・モードおよび/または間接ナビゲーション・モードにしたがって進めることができる。例えば、ナビゲーション区間410および412(破線で囲まれている)では、データ・パス408はスクラブ・パス406と隣接している。したがって、実施形態によっては、ナビゲーション区間410および412におけるデータ・パス408のナビゲーションは直接ナビゲーション・モードにしたがって進めることができる。更に一部の実施形態によれば、ナビゲーション区間414(破線で囲まれている)では、データ・パス408はスクラブ・パス406に隣接していない。このため、ナビゲーション区間414におけるデータ・パス408のナビゲーションは、間接ナビゲーション・モードにしたがって進めることができる。先に論じたように、データ・パス408のナビゲーションは、本明細書において論ずる技法の1つ又は複数にしたがって、直接ナビゲーション・モードと間接ナビゲーション・モードとの間で移行することができる。
【0035】
[0048] データ・パス408のナビゲーションによって、このデータ・パス408と関連のあるデータ・パス・コンテンツを提示させることができる。データ・パス・コンテンツの適した例については、先に述べた。一部の実施形態によれば、データ・パス・コンテンツをコンテンツ領域404に提示することができる。コンテンツ領域404は、適したタイプのデータ・パス・コンテンツであればいずれでも提示するように構成することができる。この特定的な例では、コンテンツ領域404は、データ・パス408のナビゲーションに応答して、データ・パス408と関連のあるビデオ・コンテンツを提示する。
【0036】
[0049] ユーザー・インターフェース400に含まれる視覚要素の配列は、例示の目的で示したに過ぎず、特許請求する主題の主旨および範囲から逸脱することなく、視覚要素の適した配列であればいずれでも利用してもよいことは認められてしかるべきである。
方法例
[0050] 図5は、1つ又は複数の実施形態による方法を説明する流れ図である。この方法は、適したハードウェア、ソフトウェア、ファームウェア、またはその組み合わせであればいずれと合わせてでも実現することができる。少なくとも一部の実施形態では、この方法は、ナビゲーション可能なコンテンツをスクラブする(scrub)ように実行するソフトウェアまたはエクゼキュータブル(例えば、ウェブ・ブラウザー108(または他のアプリケーション)および/またはスクラバー・モジュール112)によって実現することができる。
【0037】
[0051] ステップ500では、スクラブ点の移動指示を受け取る。一部の実施形態によれば、このスクラブ点の移動は、ユーザー入力のための1つ又は複数の適した技法によって、ユーザーがスクラブ点を操作したことに応答することができる。ステップ502では、データ点に直接ナビゲーション・モードでデータ・パスをナビゲートさせる。先に論じたように、実施形態の中には、データ・パスのナビゲーションがスクラブ点の移動に応答することができる場合もある。
【0038】
[0052] ステップ504では、データ点がスクラブ点に隣接するか否か判定を行う。データ点がスクラブ点に隣接する場合(「Yes」)、本方法はステップ502に戻る。一方、データ点がスクラブ点に隣接しない場合(「No」)、ステップ506において、データ点に間接ナビゲーション・モードでデータ・パスをナビゲートさせる。一部の実施形態によれば、本方法はステップ504に戻って、データ点がスクラブ点との隣接性を得たか否か判定することができ、またはデータ点が間接ナビゲーション・モードでナビゲーションを続けることができるか否か判定することができる。データ点がスクラブ点に隣接するか否か判定する方法の例については、先に論じており、以下でも論ずる。
【0039】
[0053] 図6は、1つ又は複数の実施形態による方法を説明する流れ図である。この方法は、適したハードウェア、ソフトウェア、ファームウェア、またはその組み合わせであればいずれと合わせてでも実現することができる。少なくとも一部の実施形態では、この方法は、データ点がデータ・パス・ナビゲーションにおいてスクラブ点に隣接するか否か判定するために実行するソフトウェアまたはエクゼキュータブル(例えば、ウェブ・ブラウザー108(または他のアプリケーション)および/またはスクラバー・モジュール112)によって実現することができる。
【0040】
[0054] ステップ600において、データ点をスクラブ点に接続する。例えば、そして先に論じたように、仮想ばねを用いて、データ点とスクラブ点との間に仮想接続を形成することができる。ステップ602において、スクラブ点の移動指示を受ける。ステップ604では、データ点に直接ナビゲーション・モードでデータ・パスをナビゲートさせる。ステップ606では、データ点とスクラブ点との間における接続の張力を監視する。
【0041】
[0055] ステップ608では、接続の張力が閾値張力を超過したか否か判定を行う。例えば、閾値張力を、例えば、4ポンドに指定することができる。張力が閾値張力を超過していない(「No」)場合、本方法はステップ604に戻る。しかしながら、張力が閾値張力を超過した(「Yes」)場合、ステップ610において、データ点に間接ナビゲーション・モードでデータ・パスをナビゲートさせる。一部の実施形態によれば、本方法はステップ608に戻ることができる。
【0042】
[0056] 図7は、1つ又は複数の実施形態による方法を説明する流れ図である。この方法は、適したハードウェア、ソフトウェア、ファームウェア、またはその組み合わせであればいずれと合わせてでも実現することができる。少なくとも一部の実施形態では、この方法は、データ点がスクラブ点に隣接するか否か判定するために実行するソフトウェアまたはエクゼキュータブル(例えば、ウェブ・ブラウザー108(または他のアプリケーション)および/またはスクラバー・モジュール112)によって実現することができる。
【0043】
[0057] ステップ700において、スクラブ点の移動指示を受ける。ステップ702において、データ点に直接ナビゲーション・モードでデータ・パスをナビゲートさせる。1つ又は複数の実施形態によれば、データ点にデータ・パスをナビゲートさせるのは、スクラブ点の移動指示を受けたことに応答して行うことができる。
【0044】
[0058] ステップ704において、データ・パス上における第1データ点の位置と第2データ点の位置との間における二点間距離を判定する。ステップ706において、データ・パス上における第1データ点の位置と第2データ点の位置との間における実パス距離を判定する。二点間距離および/または実パス距離は、画素、ベクトル長、または点間の距離を判定する適した方法であれば他のいずれに関しても判定することができる。
【0045】
[0059] ステップ708では、実パス距離と二点間距離との間の差が閾値差を超過したか否か判定を行う。例えば、閾値差を75画素に指定することができる。差が閾値を超過しない(「No」)場合、本方法はステップ702に戻る。
【0046】
[0060] しかしながら、実パス距離と二点間距離との間の差が閾値差を超過した場合、ステップ710において、データ点に間接ナビゲーション・モードでデータ・パスをナビゲートさせる。例えば、距離が75画素を上回る場合、データ・パスのナビゲーションは間接ナビゲーション・モードに移行する。一部の実施形態によれば、本方法はステップ708に戻ることができる。
【0047】
[0061] 図8は、1つ又は複数の実施形態による方法を説明する流れ図である。この方法は、適したハードウェア、ソフトウェア、ファームウェア、またはその組み合わせであればいずれと合わせてでも実現することができる。少なくとも一部の実施形態では、この方法は、シミュレーションによる三次元空間において1つ又は複数のパスをスクラブするために実行するソフトウェアまたはエクゼキュータブル(例えば、ウェブ・ブラウザー108(または他のアプリケーション)および/またはスクラバー・モジュール112)によって実現することができる。
【0048】
[0062] ステップ800では、スクラブ点の二次元移動指示を受ける。ステップ802では、直接ナビゲーション・モードおよび/または間接ナビゲーション・モードを利用して、シミュレーションによる三次元空間にわたって、データ点にデータ・パスをナビゲートさせる。先の例におけるように、直接または間接ナビゲーション・モードの選択は、前述した規準と同じまたは同様の規準である規準に基づいて行うことができる。シミュレーションによる三次元空間の例には、CADモデル、仮想現実環境、ビデオ・ゲーム環境等が含まれる。
【0049】
[0063] 図9は、1つ又は複数の実施形態による方法を説明する流れ図である。この方法は、適したハードウェア、ソフトウェア、ファームウェア、またはその組み合わせであればいずれと合わせてでも実現することができる。少なくとも一部の実施形態では、この方法は、直接ナビゲーション・モードおよび/または間接ナビゲーション・モードに基づいてデータ・パス・コンテンツを提示させるために実行するソフトウェアまたはエクゼキュータブル(例えば、ウェブ・ブラウザー108(または他のアプリケーション)および/またはスクラバー・モジュール112)によって実現することができる。
【0050】
[0064] ステップ900では、データ・パスのデータ点・ナビゲーションの指示を受ける。ステップ902において、データ点が間接ナビゲーション・モードまたは直接ナビゲーション・モードのどちらでデータ・パスをナビゲートしているのか判定を行う。データ点が直接ナビゲーション・モードでデータ・パスをナビゲートしている場合、ステップ904において、直接ナビゲーション・モードと関連のある提示モードでデータ・パス・コンテンツを提示させる。例えば、直接ナビゲーション・モードにしたがって、通常の(例えば、リアル・タイムの)再生モードでビデオ・コンテンツを再生することができる。しかしながら、データ点が間接ナビゲーション・モードでデータ・パスをナビゲートしている場合、ステップ906において、間接ナビゲーション・モードと関連のある提示モードでデータ・パス・コンテンツを提示させる。ビデオ再生の例を続けると、そして間接ナビゲーション・モードにしたがって、加速再生モードでビデオ・コンテンツを再生することができる。一部の実施形態によれば、本方法は、ステップ904、906の各々からステップ902に戻って、データ・パス・ナビゲーション・モードにおける1つ又は複数の変化に基づいて、提示モード間で切り替えを行うことができる。
【0051】
[0065] 一部の実施形態によれば、本明細書において論じた技法は、接合点を含むグラフに沿ったスクラブ移動において利用することができる。例えば、スクラブされたデータ点がグラフ上の接合点に近づくと(例えば、グラフ上で2本の曲線が交差する場合)、対応するデータ点は、数本の異なる可能なデータ曲線の内1つに追従する選択肢を有することができる。1つ又は複数の実施形態では、本明細書において論じた技法は、スクラブ点に最も近いデータ曲線を選択することができる。実施態様の中には、スクラブ点が接合点に非常に近い場合(例えば、予め設定されている接合点閾値以内)、データ点がどのデータ曲線に追従するかについての判断は、かなり揺らぐ可能性がある。このような実施態様の場面では、スクラブ点がグラフ上の接合点に非常に近い場合、本明細書において論じた1つ又は複数の技法では、スクラブ点がその接合点を通過するまで待ってから、どの曲線を追従するか決定することができる。このように、スクラブ点が移動して接合点を通過するまで待つことによって、データ点が追従すべきしかるべき曲線を決定するためにより多くの情報を提供することができる。
システム例
[0066] 図10は、先に説明した種々の実施形態を実現することができるコンピューティングデバイスの一例1000を示す。コンピューティングデバイス1000は、例えば、図1のコンピューティングデバイス102とすることができ、または適したコンピューティングデバイスであれば他のいずれでも可能である。
【0052】
[0067] コンピューティングデバイス1000は、1つ又は複数のプロセッサーまたは演算装置1002、1つ又は複数のメモリーおよび/または記憶コンポーネント1004、1つ又は複数の入力/出力(I/O)デバイス1006、ならびにバス1008を含む。バス1008は、種々のコンポーネントおよびデバイスが互いに通信することを可能にする。バス1008は、メモリー・バスまたはメモリー・コントローラー、周辺バス、加速グラフィクス・ポート、および種々のバス・アーキテクチャーの内いずれかを用いるプロセッサー・バスまたはローカル・バスを含む、様々なタイプのバス構造のいずれか1つ又は複数を表す。
【0053】
[0068] メモリー/記憶コンポーネント1004は、1つ又は複数のコンピューター記憶媒体を表す。コンポーネント1004は、揮発性媒体(ランダム・アクセス・メモリー(RAM)のような媒体)、および/または不揮発性媒体(リード・オンリー・メモリー(ROM)、フラッシュ・メモリー、光ディスク、磁気ディスク等のような媒体)を含むことができる。コンポーネント1004は、固定媒体(例えば、RAM、ROM、固定ハード・ドライブ等)、およびリムーバブル媒体(例えば、フラッシュ・メモリー・ドライブ、リムーバブル・ハード・ドライブ、光ディスク等)を含むことができる。
【0054】
[0069] 1つ又は複数の入力/出力デバイス1006は、ユーザーがコマンドおよび情報をコンピューティングデバイス1000に入力することを可能にし、更に情報をユーザーおよび/または他のコンポーネントまたはデバイスに提示することを可能にする。入力デバイスの例には、キーボード、カーソル制御デバイス(例えば、マウス)、タッチ入力デバイス(例えば、タッチ・スクリーン)、マイクロフォン、スキャナー等が含まれる。出力デバイスの例には、ディスプレイ・デバイス(例えば、モニターまたはプロジェクター)、スピーカー、プリンター、ネットワーク・カード等が含まれる。
【0055】
[0070] 本明細書では、ソフトウェアまたはプログラム・モジュールという一般的なコンテキストで種々の技法について説明した。一般に、ソフトウェアは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含み、特定のタスクを実行するか、または特定の抽象データ・タイプを実現する。これらのモジュールおよび技法の一実施態様は、何らかの形態のコンピューター読み取り可能媒体上に格納すること、またはそれを通じて送信することもできる。コンピューター読み取り可能媒体は、コンピューティングデバイスによってアクセスすることができる入手可能な1つまたは複数の媒体であればいずれでもよい。一例として、そして限定ではなく、コンピューター読み取り可能媒体は「コンピューター記憶媒体」を構成することもできる。
【0056】
[0071] 「コンピューター記憶媒体」は、コンピューター読み取り可能命令、データ構造、プログラム・モジュール、またはその他のデータというような情報の格納に適した方法または技術であればそのいずれでも実現される、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含む。コンピューター記憶媒体には、限定ではないが、RAM、ROM、EEPROM、フラッシュ・メモリーまたはその他のメモリー技術、CD−ROM、ディジタル・バーサタイル・ディスク(DVD)またはその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたはその他の磁気記憶デバイス、あるいは所望の情報を格納するために用いることができ、そしてコンピューターによってアクセスすることができる媒体であれば他のいずれでも含まれる。
結論
[0072] 種々の実施形態は、コンテンツにおける可変パスをスクラブする技法を提供する。一例としてそして限定ではなく、スクラブは、スクラブ・パスを定めるユーザー入力を受け取り、このスクラブ・パスに基づいてコンテンツにわたってデータ・パスをナビゲートすることを含むことができる。一部の実施形態によれば、データ・パスは、コンテンツを通る1つ又は複数の既定パス(例えば、旅行の行程)を含むことができる。本明細書において論じたこれらの技法の内1つ又は複数は、データ・パスにおける揺らぎを考慮し、スクラブ・パスとデータ・パスに沿ったナビゲーションとの間の隣接性を維持する方法を提供することができる。実施形態の中には、データ・パスを1つ又は複数のタイプのデータ・パス・コンテンツと関連付け、データ・パスに沿ったナビゲーションに応答してデータ・パス・コンテンツを提示することができるものもある。
【0057】
[0073] 以上、構造的特徴および/または方法論的ステップに特定的な文言で、主題について説明したが、添付した特許請求の範囲において定義されている主題は、必ずしも、記載した具体的な特徴やステップには限定されるのではない。むしろ、これらの具体的な特徴やステップは、特許請求する主題を実現する形態例として開示しただけである。

【特許請求の範囲】
【請求項1】
コンピューター実装方法であって、
コンピューティングデバイスによって、スクラブ点の移動指示に応答して、データ点に直接ナビゲーション・モードでデータ・パスをナビゲートさせるステップ(502)と、
前記コンピューティングデバイスによって、前記データ点が前記スクラブ点に隣接しないときを判定するステップ(504)と、
前記データ点が前記スクラブ点に隣接しないときに、前記コンピューティングデバイスによって、前記データ点に間接ナビゲーション・モードで前記データ・パスをナビゲートさせるステップ(506)と、
を備えている、コンピューター実装方法。
【請求項2】
請求項1記載のコンピューター実装方法において、前記スクラブ点の移動指示が、前記コンピューティングデバイスによって、ユーザーの前記スクラブ点の操作に応答して受け取られる、コンピューター実装方法。
【請求項3】
請求項2記載のコンピューター実装方法において、前記ユーザーの操作が、カーソルをドラッグすることを含む、コンピューター実装方法。
【請求項4】
請求項2記載のコンピューター実装方法において、前記直接ナビゲーション・モードにおいて、前記データ点が前記データ・パスをナビゲートする速度が、前記ユーザーが前記スクラブ点を操作する速度に対応する、コンピューター実装方法。
【請求項5】
請求項1記載のコンピューター実装方法において、前記データ・パスが、地図上における旅行の行程を含む、コンピューター実装方法。
【請求項6】
請求項1記載のコンピューター実装方法であって、更に、
データ・パス・ナビゲーションに応答して、前記コンピューティングデバイスによって、データ・パス・コンテンツの1つ又は複数のインスタンスを提示させるステップと、
前記データ点が前記間接ナビゲーション・モードで前記データ・パスをナビゲートすることに応答して、前記コンピューティングデバイスによって、前記データ・パス・コンテンツの1つ又は複数のインスタンスの提示モードを変化させるステップと、
を備えている、コンピューター実装方法。
【請求項7】
請求項1記載のコンピューター実装方法であって、更に、
前記コンピューティングデバイスによって、前記データ点と前記スクラブ点との間における接続の張力を監視し、
前記接続の張力が閾値張力を超過する場合、前記コンピューティングデバイスによって、前記データ点が前記スクラブ点に隣接しないと判定することによって、
前記コンピューティングデバイスによって、前記データ点と前記スクラブ点との隣接性を判定するステップを備えている、コンピューター実装方法。
【請求項8】
請求項1記載のコンピューター実装方法であって、更に、
前記コンピューティングデバイスによって、前記データ・パス上の第1データ点位置と前記データ・パス上の第2データ点位置との間における二点間距離を判定し、
前記コンピューティングデバイスによって、前記データ・パス上の第1データ点位置と前記データ・パス上の第2データ点位置との間における実際の経路の距離を判定し、
前記二点間距離と前記実際の経路の距離との間の差が、閾値差を超過する場合、前記コンピューティングデバイスによって、前記データ点が前記スクラブ点に隣接しないと判定することによって、
前記コンピューティングデバイスによって、前記データ点と前記スクラブ点との隣接性を判定するステップを備えている、コンピューター実装方法。
【請求項9】
請求項1記載のコンピューター実装方法であって、更に、
前記スクラブ点に隣接しない前記データ点が前記スクラブ点に隣接したときに、前記コンピューティングデバイスによって、前記データ点に前記直接ナビゲーション・モードでをナビゲートさせるステップを備えている、コンピューター実装方法。
【請求項10】
請求項1記載のコンピューター実装方法において、前記データ・パスが、シミュレーションによる三次元環境におけるパスを含む、コンピューター実装方法。
【請求項11】
コンピューター実装方法であって、
コンピューティングデバイスによって、そしてユーザー・インターフェースを通じて、スクラブ点の操作を受け取るステップ(500)と、
前記スクラブ点の操作に応答して、前記コンピューティングデバイスによって、前記ユーザー・インターフェース上に表示されているデータ・パス上でデータ点のナビゲーションを行わせるステップ(502)と、
前記コンピューティングデバイスによって、前記データ点が前記スクラブ点に隣接するときを判定するステップ(504)と、
前記データ点が前記スクラブ点に隣接しないとき、前記コンピューティングデバイスによって、前記ユーザー・インターフェース上における前記データ点のナビゲーション・モードを変化させるステップ(506)と、
を備えている、コンピューター実装方法。
【請求項12】
請求項11記載のコンピューター実装方法において、前記データ・パスが、前記ユーザー・インターフェース上に表示された旅行の行程を含む、コンピューター実装方法。
【請求項13】
請求項11記載のコンピューター実装方法であって、更に、前記コンピューティングデバイスによって、前記データ・パス上におけるデータ点のナビゲーションに応答して、前記ユーザー・インターフェース上にデータ・パス・コンテンツの1つ又は複数のインスタンスを提示させるステップを備えている、コンピューター実装方法。
【請求項14】
請求項11記載のコンピューター実装方法において、前記ナビゲーション・モードの変化が、直接ナビゲーション・モードから間接ナビゲーション・モードへの変化を含む、コンピューター実装方法。
【請求項15】
請求項14記載のコンピューター実装方法において、前記直接ナビゲーション・モードから前記間接ナビゲーション・モードへの変化が、前記データ・パス上におけるデータ点のナビゲーションにおいて加速を生じさせる、コンピューター実装方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公表番号】特表2012−529055(P2012−529055A)
【公表日】平成24年11月15日(2012.11.15)
【国際特許分類】
【出願番号】特願2012−514067(P2012−514067)
【出願日】平成22年6月2日(2010.6.2)
【国際出願番号】PCT/US2010/037013
【国際公開番号】WO2010/141542
【国際公開日】平成22年12月9日(2010.12.9)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】