JP6921842B2 - コンテンツを提示するためのシステムおよび方法 - Google Patents

コンテンツを提示するためのシステムおよび方法 Download PDF

Info

Publication number
JP6921842B2
JP6921842B2 JP2018546826A JP2018546826A JP6921842B2 JP 6921842 B2 JP6921842 B2 JP 6921842B2 JP 2018546826 A JP2018546826 A JP 2018546826A JP 2018546826 A JP2018546826 A JP 2018546826A JP 6921842 B2 JP6921842 B2 JP 6921842B2
Authority
JP
Japan
Prior art keywords
virtually
viewport
scene
viewport interface
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018546826A
Other languages
English (en)
Other versions
JP2019518259A5 (ja
JP2019518259A (ja
Inventor
スー、ジョイス
マシュー サットン、チャールズ
マシュー サットン、チャールズ
レオナルド ロビラ、ジェイミー
レオナルド ロビラ、ジェイミー
フー、アニング
パラグ グプタ、チェタン
パラグ グプタ、チェタン
ウォーレン、クリフ
Original Assignee
フェイスブック,インク.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by フェイスブック,インク. filed Critical フェイスブック,インク.
Publication of JP2019518259A publication Critical patent/JP2019518259A/ja
Publication of JP2019518259A5 publication Critical patent/JP2019518259A5/ja
Application granted granted Critical
Publication of JP6921842B2 publication Critical patent/JP6921842B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04806Zoom, i.e. interaction techniques or interactors for controlling the zooming operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

本技術は、コンテンツ提示の分野に関する。より詳細には、本技術は、コンピューティングデバイスを通じて、コンテンツアイテムを提示するための技法に関する。
今日、人々は、多種多様な目的のためにコンピューティングデバイス(またはコンピューティングシステム)を利用している。ユーザーは、コンピューティングデバイスを操作して、例えば、相互に対話したり、コンテンツを作成したり、コンテンツを共有したり、情報にアクセスしたりすることができる。従来のアプローチでは、コンテンツアイテム(例えば、画像、映像、音声ファイルなど)は、コンテンツ共有プラットフォームを通じて、利用可能にすることができる。ユーザーは、自身のコンピューティングデバイスを操作して、プラットフォームを通じて、コンテンツアイテムにアクセスすることができる。典型的には、コンテンツアイテムは、例えば、コンテンツのパブリッシャおよびコンテンツ共有プラットフォームのユーザーを含む多様なエンティティにより、提供またはアップロードされることができる。場合によっては、コンテンツアイテムを、カテゴライズおよびキュレートまたはカテゴライズもしくはキュレートすることができる。
本開示の様々な実施形態は、コンテンツアイテムにアクセスするための少なくとも1つの要求を判定するように構成されたシステム、方法、および非一時的なコンピュータ可読媒体を含み得る。コンテンツアイテムは、1組の異なる位置から少なくとも1つのシーンを撮像する1組のカメラフィードを用いて構成される。ビューポートインタフェースが、コンテンツアイテムの再生が提供されるコンピューティングデバイスの表示画面上に提供され得る。ビューポートインタフェースは、シーンに対するビューポートインタフェースの方向またはビューポートインタフェースのズームレベルを変更することにより、コンピューティングデバイスを操作するユーザーに、少なくとも1つのシーンを仮想的にナビゲートすることを可能にする。ナビゲーションインジケータが、ビューポートインタフェースに提供され得る。ナビゲーションインジケータは、コンテンツアイテムの再生中にビューポートインタフェースの対応する方向およびズームレベルの変更を仮想的に示すように構成される。
幾つかの実施形態では、システム、方法、および非一時的なコンピュータ可読媒体は、シーン内の少なくとも1つの注目点の対応する方向を判定し、コンピューティングデバイスが、ビューポートインタフェースの方向およびズームレベルを仮想的に示すことに加えて、少なくとも1つの注目点の対応する方向をナビゲーションインジケータに仮想的に示させる。
幾つかの実施形態では、システム、方法、および非一時的なコンピュータ可読媒体は、コンテンツアイテムの再生中にシーンにおいて生成される少なくとも1つの音の対応する方向を判定し、ビューポートインタフェースの方向およびズームレベルを仮想的に示すことに加えて、少なくとも1つの音の対応する方向をナビゲーションインジケータに仮想的に示させる。
幾つかの実施形態では、システム、方法、および非一時的なコンピュータ可読媒体は、コンテンツアイテムがシーンの1組の注目点に仮想的にナビゲートするための情報を特定する自動モードと関連付けられることを判定し、自動モードが有効にされることをナビゲーションインジケータに仮想的に示させ、自動モードに少なくとも部分的に基づいてシーンをビューポートインタフェースに仮想的にナビゲートさせる。
幾つかの実施形態では、自動モードの情報は、1組の注目点のうちの複数の注目点間を仮想的にナビゲートする間に、シーンにおいてビューポートインタフェースを案内するための対応する軌跡を特定する。
幾つかの実施形態では、システム、方法、および非一時的なコンピュータ可読媒体は、ビューポートインタフェースの方向またはビューポートインタフェースのズームレベルを変更するためにユーザーが1つまたは複数の操作を実行したと判定し、自動モードを無効にし、ビューポートインタフェースを、変更された方向またはズームレベルに対応させ、変更された方向またはズームレベルをナビゲーションインジケータに仮想的に示させ、ナビゲーションインジケータは、自動モードが有効にされていることを示さない。
幾つかの実施形態では、システム、方法、および非一時的なコンピュータ可読媒体は、ユーザーが1つまたは複数の操作を実行してビューポートインタフェースの方向またはズームレベルを変更するために、閾値時間が経過したと判定し、自動モードを再度有効にし、自動モードが有効にされたことをナビゲーションインジケータに仮想的に示させる。
幾つかの実施形態では、システム、方法、および非一時的なコンピュータ可読媒体は、ビューポートインタフェースの方向またはビューポートインタフェースのズームレベルを変更するためにユーザーが1つまたは複数の操作を実行したと判定し、ビューポートインタフェースを、変更された方向またはズームレベルに対応させ、ビューポートインタフェースの方向およびズームレベルをナビゲーションインジケータに仮想的に示させる。
幾つかの実施形態では、システム、方法、および非一時的なコンピュータ可読媒体は、ユーザーがナビゲーションインジケータに対応する表示画面の領域上にタッチジェスチャーを実行したと判定し、ビューポートインタフェースを、コンテンツアイテムの開発者により指定された方向およびズームレベルに対応させる。
幾つかの実施形態では、1つまたは複数の操作は、少なくとも1つのタッチジェスチャーまたはデバイスジェスチャーを含む。
開示された技術の多くの他の特徴、応用、実施形態、および/または変形は、添付の図面および以下の詳細な説明から明らかとなることを理解されたい。開示された技術の原理から逸脱することなく、本明細書に記載の構造、システム、非一時的なコンピュータ可読媒体、および方法の追加の実施態様および代替の実施態様の両方または一方を採用することができる。
本発明による実施形態は、方法、記憶媒体、システムおよびコンピュータプログラム製品に向けられた添付の請求項で特に開示され、ある請求項のカテゴリ、例えば方法、で述べられた任意の特徴は、別の請求項のカテゴリ、例えばシステム、でも同様に請求されることができる。添付の請求項の従属性または後方参照は、形式上の理由でのみ選択されている。しかし、任意の先行請求項への意図的な後方参照から生じる任意の主題(特に多項従属)は同様に請求されることができるので、添付の請求項で選ばれた従属性に関係なく、請求項およびその特徴の任意の組み合わせが開示され、請求されることができる。請求することのできる主題は、添付の請求項に記載される特徴の組み合わせだけでなく、請求項の特徴の任意の他の組み合わせも含み、請求項で述べられる各特徴は請求項の任意の他の特徴または他の特徴の組み合わせと組み合わせることができる。さらに、本明細書で記述または示される実施形態および特徴のいずれも、個別の請求項で、および/または、本明細書で記述もしくは示される任意の実施形態もしくは特徴または添付の請求項の特徴のいずれかとの任意の組み合わせで請求することができる。
本開示の実施形態による、コンテンツをユーザーに提供するように構成された例示的なコンテンツプロバイダモジュールを含む例示的なシステムの図である。 本開示の実施形態による、コンテンツアイテムにアクセスするためのインタフェースを提供するように構成されたインタフェースモジュールの図である。 本開示の実施形態による、コンテンツアイテムがアクセスされた場合にビューポートインタフェースに提示されたナビゲーションインジケータの例を示す図である。 本開示の実施形態による、コンテンツアイテムがアクセスされた場合にビューポートインタフェースに提示されたナビゲーションインジケータの例を示す図である。 本開示の実施形態による、コンテンツアイテムがアクセスされた場合にビューポートインタフェースに提示されたナビゲーションインジケータの例を示す図である。 本開示の実施形態による、コンテンツアイテムがアクセスされた場合にビューポートインタフェースに提示されたナビゲーションインジケータの例を示す図である。 本開示の実施形態による、コンテンツアイテムがアクセスされた場合にビューポートインタフェースに提示されたナビゲーションインジケータの例を示す図である。 本開示の実施形態による、コンテンツアイテムがアクセスされた場合にビューポートインタフェースに提示されたナビゲーションインジケータの例を示す図である。 本開示の実施形態による、コンテンツアイテムがアクセスされた場合にナビゲーションインジケータが提供されるビューポートインタフェースの例を示す図である。 本開示の実施形態による、コンテンツアイテムがアクセスされた場合にナビゲーションインジケータが提供されるビューポートインタフェースの例を示す図である。 本開示の実施形態による、コンテンツアイテムがアクセスされた場合にナビゲーションインジケータが提供されるビューポートインタフェースの例を示す図である。 本開示の実施形態による、インタフェースを通じて、コンテンツにアクセスするナビゲーションインジケータを提供する方法の例を示す図である。 本開示の実施形態による、多様なシナリオで利用することができる例示的なソーシャルネットワーキングシステムを含む例示的なシステムのネットワーク図である。 本開示の実施形態による、多様なシナリオで利用可能なコンピュータシステムまたはコンピューティングデバイスの例を示す図である。
図面は、説明の目的のためだけに、開示された技術の多様な実施形態を示しており、図面は、同様の要素を識別するために同じ参照番号を使用している。当業者は、以下の説明から、本明細書に記載された開示技術の原理から逸脱することなく、図面に示された構造および方法の代替の実施形態を用いることができることを認識するであろう。
コンテンツを提示するためのアプローチ
人々は、多種多様な目的のためにコンピューティングデバイス(またはコンピューティングシステム)を使用する。上記のように、従来のアプローチでは、ユーザーは、コンピューティングデバイスを利用して、コンテンツアイテム(例えば、ドキュメント、画像、映像、音声など)を他のユーザーと共有することができる。従来のアプローチでは、コンテンツアイテム(例えば、画像、映像、音声ファイルなど)は、コンテンツ共有プラットフォームを通じて、利用可能にすることができる。ユーザーは、自身のコンピューティングデバイスを操作して、プラットフォームを通じて、コンテンツアイテムにアクセスすることができる。典型的には、コンテンツアイテムは、例えば、コンテンツのパブリッシャ(content publisher)およびコンテンツ共有プラットフォームのユーザーを含む多様なエンティティにより、提供またはアップロードされることができる。
いくつかの例では、ユーザーは、例えば、これらのコンピューティングデバイスの表示画面、仮想現実システム、および/またはヘッドマウントディスプレイを介して、仮想コンテンツにアクセスすることができる。仮想コンテンツは、例えば、地理的位置および/または実行されているアクティビティ(activity)などの複数のシーンを撮像する1つまたは複数のビデオおよび/または画像を使用して構成され得る。このような複数のシーンは、現実世界から撮像され、および/またはコンピュータにより生成されてもよい。場合によっては、仮想コンテンツは、ユーザーが仮想コンテンツによってキャプチャされた(captured)シーン内をナビゲートできるように構成されている。したがって、仮想コンテンツにアクセスすることによって、ユーザーは、例えば、ユーザーが任意の場所に物理的に存在し、および/またはシーンにおいて示されたアクティビティを物理的に実行しているかのように、キャプチャされたシーンを仮想的に経験しナビゲートすることができる。
仮想コンテンツは、例えば、シーンの360度のビュー(view)を撮像する全天球映像(spherical video)であってもよい。全天球映像は、異なる場所および/または位置に配置された複数のカメラによって撮像された様々なビデオストリームまたはフィード(feed)を、シーンの360度のビューを撮像するためにスティッチ(stitching)することによって作成される。全体でスティッチされると、ユーザーは、全天球映像にアクセスするかまたは全天球映像を再生して、ある角度で全天球映像の一部分を見ることができる。一般に、全天球映像にアクセスする間、ユーザーは、全天球映像によって撮像されたシーンの別の部分にアクセスするために、ビューポート(viewport)の方向(例えば、ピッチ、ヨー、ロール)をズームするかおよび変更することができる。仮想コンテンツの特性を考慮すると、ユーザーが、ズームレベルおよび/またはビューポートの方向に対する変更を把握することが困難な場合がある。そのような変更は、仮想コンテンツの開発者によって指定された仮想コンテンツの意図されたズームレベルおよび/またはビューポートの方向から逸脱する可能性がある。幾つかの例では、ズームレベルおよび/またはビューポートの方向への変化を追跡できないと、ユーザーの方向感覚を失わせ、そのような方向感覚を失うこと(disorientation)はユーザーエクスペリエンスを低下させる可能性がある。したがって、このような従来のアプローチは、これらの問題およびコンピュータ技術で生じる他の問題に対処するには効果的でない可能性がある。
改善されたアプローチは、従来のアプローチに関連する上述の欠点および他の欠点を克服する。様々な実施形態において、ナビゲーション要素またはインジケータは、仮想コンテンツが提示されるインタフェースまたはビューポートに提供され得る。ナビゲーションインジケータは、ユーザーが仮想コンテンツと対話して、i)仮想コンテンツによって撮像されたシーンにおけるビューポートの方向または方位(heading)、および/またはii)ビューポートのズームレベルを視覚的に示すように自動的に更新され得る。そのような実施形態では、仮想コンテンツにアクセスするユーザーは、ナビゲーションインジケータに応じて、視聴体験中の任意のポイントで方向および/またはズームレベルを決定することができる。その結果、ユーザーは、コンテンツにアクセスする際に方向性を失うことが少なくなる。
図1は、本開示の実施形態による、コンテンツアイテムをユーザーに提供するように構成された例示的なコンテンツプロバイダモジュール102を含む例示的なシステム100を示す。図1の例に示されるように、コンテンツプロバイダモジュール102は、インタフェースモジュール104と、コンテンツモジュール106と、を含むことができる。場合によっては、例示的なシステム100は、少なくとも1つのデータストア108を含むことができる。この図および本明細書におけるすべての図に示される構成要素(例えば、モジュール、要素など)は、単なる例示にすぎず、任意の他の実施態様は、追加の、より少ない、統合された、または異なる構成要素を含むことができる。いくつかの構成要素は、関連する詳細が不明瞭とならないように図示されない場合がある。
いくつかの実施形態では、コンテンツプロバイダモジュール102は、ソフトウェア、ハードウェア、またはこれらの任意の組み合わせとして、部分的にまたは全体的に実装することができる。概して、本明細書で考察されるモジュールは、ソフトウェア、ハードウェア、またはこれらの任意の組み合わせと関連付けることができる。いくつかの実施態様において、モジュールの1つもしくは複数の機能、タスク、および/または動作を、ソフトウェアルーチン、ソフトウェアプロセス、ハードウェア、および/またはこれらの任意の組み合わせによって実行または行うことができる。場合によっては、コンテンツプロバイダモジュール102は、ユーザコンピューティングデバイスまたはクライアントコンピューティングシステム上などの、1つまたは複数のコンピューティングデバイスまたはコンピューティングシステム上で実行しているソフトウェアとして、部分的にまたは全体的に実装することができる。例えば、コンテンツプロバイダモジュール102またはこの少なくとも一部は、図6のユーザデバイス610などのユーザコンピューティングデバイスまたはクライアントコンピューティングシステム上で稼動するアプリケーション(例えば、app)、プログラム、またはアプレットなどとして実装するか、またはこれらの中に実装することができる。さらに、コンテンツプロバイダモジュール102またはこの少なくとも一部は、ネットワークサーバまたはクラウドサーバなどの1つもしくは複数のサーバを含む1つもしくは複数のコンピューティングデバイスまたはコンピューティングシステムを使用して実装することができる。場合によっては、コンテンツプロバイダモジュール102は、図6のソーシャルネットワーキングシステム630などのソーシャルネットワーキングシステム(またはソーシャルネットワーキングサービス)内で部分的にまたは全体的に実装されるか、これと連結して部分的にまたは全体的に動作するように構成することができる。多くの変形例またはその他の可能性が存在し得ることを理解されたい。
多様な実施形態では、コンテンツプロバイダモジュール102は、インタフェースモジュール104およびコンテンツモジュール106を利用して、コンテンツアイテムをユーザーに提供することができる。インタフェースモジュール104は、コンテンツアイテムが提示される(例えば、ストリームされる(streamed))ことができるビューポート(例えば、グラフィカルユーザーインタフェース)を提供するように構成することができる。例えば、ビューポートは、ユーザーにより操作されているコンピューティングデバイス上で実行しているソフトウェアアプリケーションを通じて提供されてもよい。ビューポートは、コンピューティングデバイスの表示画面を通じて提示されてもよい。ユーザーは、例えば、入力デバイス、または表示画面を通じてタッチスクリーンジェスチャを行うことにより、ビューポートと対話することができる。
コンテンツモジュール106は、インタフェースモジュール104によって提供されるインタフェースを介して提示され得る様々なタイプのコンテンツアイテム(content item)を提供するように構成され得る。様々な実施形態では、コンテンツモジュール106は、複数のシーン(例えば、地理的位置および/または実行されているアクティビティ)を撮像する1つまたは複数の映像および/または画像を使用して構成され得る仮想コンテンツを提供することができる。このような複数のシーンは、現実世界から撮像され、および/またはコンピュータにより生成されてもよい。仮想コンテンツは、360度のビューおよび/または任意の3次元(3D)コンテンツを撮像する任意のコンテンツであり得る。さらに、仮想コンテンツは、ビューポートが任意の時点に提示することができるよりも大きい任意のサイズのコンテンツを含むことができる。そのような例では、ビューポートの位置が変更されると、ビューポートは、コンテンツの異なる部分を表示できる。一例では、仮想コンテンツは、例えば、いくつかの例を挙げると、例えば、直線ステッチング(rectilinear stitching)、球状ステッチング(spherical stitching)、立方ステッチング(cubical stitching)を含む一般に知られているイメージステッチング技術を使用して作成され得る。別の例では、仮想コンテンツは、注目点などのシーンの360度のビューを撮像する全天球映像であってもよい。仮想コンテンツの他の例は、モノスコープ(monoscopic)の360度のビューを使用して構成された映像、立体視(stereoscopic)の180度のビューなどを使用して構成された映像を含み得る。全天球映像は、異なる場所および/または位置に配置された複数のカメラによって撮像された様々なビデオストリームまたはフィード(feed)を、シーンの360度のビューを撮像するためにステッチングすることによって作成され得る。このような複数のビデオストリームは、全天球映像の様々な角度(例えば、0度、30度、60度など)で予め決定されてもよい。ひとたび全体でステッチングされると、ユーザーは、全天球映像にアクセスするかまたは全天球映像を再生してある角度で全天球映像の一部分を見ることができる。ユーザーに示された全天球映像の一部分は、3次元空間におけるユーザーのビューポートの位置及び方向に基づいて決定され得る。
いくつかの実施形態では、コンテンツプロバイダモジュール102は、例示的なシステム100における少なくとも1つのデータストア108と通信および動作または通信もしくは動作するように構成することができる。少なくとも1つのデータストア108は、多様なタイプのデータを記憶および維持するように構成することができる。多様な実施形態では、少なくとも1つのデータストア108は、コンテンツプロバイダモジュール102の機能および動作に関連するデータを格納することができる。そのようなデータの1つの例は、インタフェースモジュール104により提供されたインタフェースを通じてアクセスするために利用可能であるコンテンツアイテムである。いくつかの実施態様において、少なくとも1つのデータストア108は、ソーシャルネットワーキングシステム(例えば、図6のソーシャルネットワーキングシステム630)に関連付けられた情報を格納することができる。ソーシャルネットワーキングシステムに関連付けられた情報としては、ユーザー、ソーシャルつながり、ソーシャル対話、位置、ジオフェンスエリア(geo-fenced area)、地図、場所、イベント、ページ、グループ、投稿、通信、コンテンツ、フィード、アカウント設定、プライバシー設定、ソーシャルグラフについてのデータ、および多様な他のタイプのデータが挙げられる。いくつかの実施態様において、少なくとも1つのデータストア108は、ユーザー識別子、ユーザー情報、プロファイル情報、ユーザー指定の設定、ユーザーによって生成または投稿されたコンテンツ、多様な他のタイプのユーザデータなどの、ユーザーに関連付けられた情報を格納することができる。多くの変形例または他の可能性が存在し得ることを理解されたい。
図2は、本開示の実施形態による、コンテンツアイテムにアクセスするためのインタフェースを提供するように構成されたインタフェースモジュール202の例200を示す。いくつかの実施形態では、図1のインタフェースモジュール104は、インタフェースモジュール202と共に実装されることができる。図2の例に示すように、インタフェースモジュール202は、ビュー方向モジュール204と、ビューズームレベルモジュール206と、インジケータモジュール208と、注目点モジュール(a points of interest module)210と、を含むことができる。
上述したように、インタフェースモジュール202は、複数のコンテンツアイテム(例えば、複数の仮想コンテンツアイテム)を提示しアクセスすることができるビューポート(例えば、グラフィカルユーザーインタフェース)を提供するように構成され得る。様々な実施形態では、ユーザーは、ユーザーによって操作されるコンピューティングデバイスを使用して図1のコンテンツモジュール106を介して提供される複数の仮想コンテンツアイテムにアクセスすることができる。コンピューティングデバイスは、例えば、携帯電話、タブレット、バーチャルリアリティシステム、および/またはヘッドマウントディスプレイを含むコンテンツを処理し提示することができる任意のデバイスとすることができる。アクセスされると、インタフェースモジュール202は、仮想コンテンツアイテムをコンピューティングデバイスのディスプレイを介して提示することができる。
仮想コンテンツアイテムが最初にアクセスされると、コンピューティングデバイスに関連付けられたビューポートは、仮想コンテンツアイテムのシーンの特定の部分を表示することができる。示された部分は、シーンに関連するビューポートの位置および/または方向(例えば、ピッチ、ヨー、ロール)に基づいている。いくつかの実施形態では、ユーザーは、仮想コンテンツアイテムによってキャプチャされた(複数の)シーンを仮想的にナビゲートすることによってシーンの異なる部分を見ることができる。例えば、ユーザーは、ビューポートの位置および/または方向を仮想的に変更することによって、ビューポートを変更または調整することができる。ビューポートへのそのような変更は、ユーザーが仮想コンテンツアイテムと対話するときに、ビュー方向モジュール(view direction module)204によってリアルタイムで決定されてもよい。別の例では、ユーザーは、任意のシーンにアクセスしながら、ビューポートのズームレベルを変更することもできる。例えば、ユーザーは、シーンの一部分を見るためにビューポートのズームレベルを増大または減少させたい場合がある。そのようなビューポートズームレベルへの変更によって、ビューズームレベルモジュール206によってリアルタイムで決定され得る。例えば、タッチジェスチャー(スワイプジェスチャー、ドラッグジェスチャー、スライドジェスチャー、タップジェスチャー、ダブルタップジェスチャー、ピンチジェスチャー、スプレッドジェスチャー、回転ジェスチャー、フリックジェスチャーなど)、および/またはコンピューティングデバイスジェスチャーを実行することによって、ユーザーは、ビューポート(たとえば、位置、方向、ズームなど)を変更できる。コンピュータデバイスジェスチャー(例えば、傾斜)は、例えば、コンピューティングデバイス内の1つまたは複数のセンサ(例えば、ジャイロスコープ、加速度計、および/または慣性測定ユニット)を使用して判定される。さらに、バーチャルリアリティヘッドマウントディスプレイを介して仮想コンテンツアイテムにアクセスする場合、ユーザーは、ユーザーの頭の方向を変更することによって、ビューポートの方向を変更することができる。当然のことながら、他の手法が、全天球映像内をナビゲートしズームするために利用されてもよい。通常、ビューポートへの変更または調整は、ビュー方向モジュール204およびビューズームレベルモジュール206によってリアルタイム(たとえば、一定の時間間隔で)で監視され得る。このような変更は、ビューポートへの変更に基づいて決定されるように、仮想コンテンツアイテムからの適切な画像および/またはストリームがユーザーに提示され得るように、ビューポートを更新するように用いられる。
上述したように、幾つかの例では、ビューポートへの変更を把握できないと、ユーザーは、アクセスされている仮想コンテンツに関して方向が見失うことになり、そのような方向感覚を失うことは、ユーザーエクスペリエンスを低下させる可能性がある。したがって、様々な実施形態において、インジケータモジュール208は、仮想コンテンツが提示されるビューポート内にナビゲーションインジケータを提供するように構成され得る。いくつかの実施形態では、ナビゲーションインジケータは、ビューポート内のオーバーレイ(overlay)として提供される。ナビゲーションインジケータは、i)仮想コンテンツによって撮像された(複数の)シーン内のビューポートの方向または方向、および/またはii)(複数の)シーン内のビューポートのズームレベルを視覚的に示すことができる。いくつかの実施形態では、ナビゲーションインジケータによって示される方向は、ヨー(すなわち、垂直軸に沿ったビューポートの動き)に基づいて決定され得る。しかしながら、具体化に応じて、ナビゲーションインジケータは、ピッチ(すなわち、横軸に沿ったビューポートの動き)および/またはロール(すなわち、縦軸に沿ったビューポートの動き)を示すこともできる。ナビゲーションインジケータは、ユーザーが仮想コンテンツと対話して、仮想コンテンツアイテムがアクセスされている間、任意の時点でビューポートの方向および/またはズームレベルを反映するように自動的に更新され得る。ナビゲーションインジケータに関するさらなる詳細は、図3A〜図3Fおよび図4A〜図4Cを参照して以下に提供される。
いくつかの実施形態では、注目点モジュール(points of interest module)210が、アクセスされている仮想コンテンツアイテムのシーン内の様々な注目点を識別するように用いられる。このような注目点は、例えば、仮想コンテンツアイテムの開発者によって指定され得る。通常、各注目点は、仮想コンテンツアイテムによってキャプチャされたシーン内の任意の位置に関連付けられる。いくつかの実施形態では、ナビゲーションインジケータは、ビューポートを介して提示されるシーン内のビューポートの位置の閾値距離内にある注目点を識別することができる。そのような実施形態では、ナビゲーションインジケータは、注目点の対応する方向を視覚的に示すことができる。注目点に関する詳細は、図3Eおよび4Aを参照して以下に提供される。
図3Aは、コンテンツアイテム(例えば、仮想コンテンツアイテム)がアクセスされているときに、ビューポートインタフェースに提示されるナビゲーションインジケータ302の一例300を示す。図3Aにおいて、ナビゲーションインジケータ302は、仮想コンテンツアイテムがアクセスされている間に、ビューポートの初期のまたは意図された方向304を示す。方向304は、例えば、仮想コンテンツアイテムの開発者によって指定されてもよく、仮想コンテンツアイテムの再生中に異なる時点で変更されてもよい。ナビゲーションインジケータ302はまた、仮想コンテンツアイテムによってキャプチャされたシーンにアクセスしている間に、ビューポートの方向または方向を示す方位インジケータ(heading indicator)306を含む。この例では、ビューポートの方向は、方位インジケータ306の方向によって示される。ビューポートの方向が変化すると、方位インジケータ306は、更新されたビューポートの方向に対応する方向に向くように点308の周りを回転することができる。いくつかの実施形態では、方位インジケータ306によって示される方向は、垂直軸(すなわち、ヨー)に沿ったビューポートの動きに対応する。方位インジケータ306は、アクセスされている(複数の)シーン内のビューポートのズームレベルも示すことができる。いくつかの実施形態では、方位インジケータ306の長さまたはサイズは、ビューポイントのより高いズームレベルを示すために、点308の周りで増大または伸長する。このような実施形態では、方位インジケータ306の長さまたはサイズは、ビューポートの縮小されたズームレベルを示すために、点308の周りで縮小するか、または収縮する。いくつかの実施形態では、仮想コンテンツアイテムは、デフォルトのズームレベル(例えば、60度または他の特定のズームレベル)に関連付けられてもよい。いくつかの実施形態では、仮想コンテンツアイテムの開発者は、ビューポートを介して適用され得る最小および/または最大のズームレベルを指定することができる。
図3Bは、コンテンツアイテム(例えば、仮想コンテンツアイテム)がアクセスされているときに、ビューポートインタフェースに提示され得るナビゲーションインジケータ322の一例320を示す。図3Bにおいて、仮想コンテンツアイテムにアクセスするビューポートは、シーンにおいてズームインされる。その結果、方位インジケータ326は、ビューポートの増大されたズームレベルを示すために、ポイント328の周りで伸長されるか、またはサイズが拡大されるように示される。
図3Cは、コンテンツアイテム(例えば、仮想コンテンツアイテム)がアクセスされているときに、ビューポートインタフェースに提示され得るナビゲーションインジケータ332の一例330を示す。図3Cにおいて、仮想コンテンツアイテムにアクセスするビューポートの方向は、ビューポートの初期のまたは意図された方向334に対して、西向きまたは左向きである。さらに、ビューポートは、見られているシーンからズームアウトされる。その結果、方位インジケータ336は、ビューポートの方向を示すために点338の周りで左に回転されているものとして示されている。さらに、方位インジケータ336は、ビューポートの低下されたズームレベルを示すために、点338の周りで収縮されるか、またはサイズが縮小されるように示される。
図3Dは、コンテンツアイテム(例えば、仮想コンテンツアイテム)がアクセスされているときに、ビューポートインタフェースに提示され得るナビゲーションインジケータ342の一例340を示す。図3Dでは、仮想コンテンツアイテムにアクセスするビューポートは、仮想コンテンツアイテムのシーンにズームインされる。さらに、仮想コンテンツアイテムにアクセスするビューポートの方向は、ビューポートの初期の、または意図された方向344に対して西向きかまたは左向きである。その結果、方位インジケータ346は、ビューポートの増大されたズームレベルを示すために、点348の周りで伸長されるか、またはサイズが増大されるように示される。さらに、方位インジケータ346は、ビューポートの方向を示すために、点348の周りで左に回転されているものとして示されている。
図3Eは、コンテンツアイテム(例えば、仮想コンテンツアイテム)がアクセスされているときにビューポートインタフェースに提示され得るナビゲーションインジケータ352の一例350を示す。図3Eでは、ビューポートの初期の、または意図された方向354が更新されている。意図された方向354への変更は、例えば、ビューポートが案内されるシーンにアクセスする場合(例えば、移動する車両からのビュー)など、仮想コンテンツアイテムの再生中の異なる時点で生じる可能性がある。この例では、仮想コンテンツアイテムにアクセスするビューポートは、ビューポートの意図された方向354に対して反対方向を向いている。その結果、方位インジケータ356は、意図された方向354に対して反対方向に点358の周りを回転するように示される。
図3Fは、コンテンツアイテム(例えば、仮想コンテンツアイテム)がアクセスされているときに、ビューポートインタフェースに提示され得るナビゲーションインジケータ362の一例360を示す。図3Fにおいて、仮想コンテンツアイテムにアクセスするビューポートは、仮想コンテンツアイテムのシーンにズームインされる。さらに、仮想コンテンツアイテムにアクセスするビューポートの方向は、ビューポートの初期の、または意図された方向364に対して西に向いているか、または左に向いている。その結果、方位インジケータ366は、ビューポートの拡大されたズームレベルを示すために、点368の周りで伸長されるか、またはサイズが増大されるように示される。さらに、方位インジケータ366は、ビューポートの方向を示すために、点368の周りで左に回転されているものとして示されている。いくつかの実施形態では、ナビゲーションインジケータ362は、アクセスされている仮想コンテンツアイテムのシーン内の様々な注目点を識別することができる。そのような実施形態では、ナビゲーションインジケータ362は、例えば、方向364および/または方位インジケータ366に対して、注目点の対応する方向370を視覚的に示すことができる。このような複数の注目点は、例えば、仮想コンテンツアイテムの開発者によって指定され得る。一般に、各注目点は、アクセスされているシーン(例えば、ストリームまたはフィード)に対応する時点に関する仮想コンテンツアイテムによって撮像された(複数の)シーン内の任意の位置に関連付けることができる。いくつかの実施形態では、ナビゲーションインジケータ362は、ビューポートを介して提示されるシーン内のビューポート位置の閾値距離内の複数の注目点を識別することができる。
図4Aは、本開示の一実施形態によるコンテンツアイテム(例えば、仮想コンテンツアイテム)がアクセスされている間にナビゲーションインジケータ406が提供されるビューポートインタフェース404の一例400を示す。この例では、ビューポート404は、コンピューティングデバイス402の表示画面上に提示される。さらに、ビューポート404は、コンピューティングデバイス402上で実行されるソフトウェアアプリケーション(例えば、ウェブブラウザ、ソーシャルネットワーキングアプリケーションなど)を介して提供されてもよい。表示画面に示されているナビゲーションインジケータ406の位置および/またはサイズは、具体化に応じて変更されてもよい。図4Aの例では、ビューポート404は、仮想コンテンツアイテムからのシーンを提示している。この例では、シーンは、他の複数の注目点の中に、2羽の鳥414およびハンググライダー416を含む。ビューポート404は、上述したように、ビューポートの方向およびズームレベルを識別するための方位インジケータ408を含むナビゲーションインジケータ406を含む。また、ナビゲーションインジケータ406は、注目点410が識別されかつ方位インジケータ408によって識別されるビューポート方向に対して東方向に位置されていることを示す。コンピューティングデバイス402を操作するユーザーは、例えば、上述のようにビューポートの方向および/またはズームレベルを変更することによってシーンをナビゲートする。例えば、ユーザーは、注目点に対応する方向410に向くようにビューポートの方向を変更することができる。その結果、ビューポートは、図4Bの例に示すように、方向410に対応するコンテンツ(例えば、画像および/またはビデオストリーム)を提示するように更新され得る。いくつかの実施形態では、ナビゲーションインジケータ406は、複数の注目点の他に、アクセスされているシーン内で発生する他の複数のタイプのイベントを識別することもできる。例えば、ナビゲーションインジケータ406は、シーン内で生成された音の方向を示すことができる。
いくつかの実施形態では、ナビゲーションインジケータ406は、最初は、半透明であるかまたはぼやけた色であるか(faded)のように示される。そのような実施形態では、ナビゲーションインジケータ406は、例えば、ビューポート404および/またはコンピューティングデバイス402を用いて、ユーザー対話を検出すると不透明になる。ナビゲーションインジケータ406は、ユーザーがナビゲーションインジケータ406に対応する表示画面の領域でタッチジェスチャーを実行するときに不透明になることもある。例えば、ナビゲーションインジケータ406は、コンピューティングデバイス内のセンサに基づいてユーザー対話を検出することができる。いくつかの実施形態では、ナビゲーションインジケータ406は、ユーザー対話が閾値期間において検出されない場合、半透明の状態またはぼやけた色の状態に戻ることができる。いくつかの実施形態では、仮想コンテンツアイテムがアクセスされるときに、自動モードが、デフォルトで有効にされてもよい。そのような実施形態では、自動モードでは、ビューポートは、仮想コンテンツアイテム内の(複数の)シーンを介して自動的にナビゲートされ得る。例えば、仮想コンテンツアイテムの開発者は、(複数の)シーン内の1つ以上の注目点を指定することができ、ビューポートは、複数の注目点が表示されるように自動的にナビゲートされ得る。いくつかの実施形態では、複数の注目点間のビューポート移動のような対応する軌跡が自動的に生成され得る。いくつかの実施形態では、注目点は、ビューポートを介して提示されているビデオストリームに対応する時点または時間に(複数の)シーン内の空間領域として定義され得る。いくつかの実施形態では、複数の注目点は、ビューポートが注目点に焦点を当てるべき時間の長さを示す時間的情報(例えば、第1の注目点で3秒、第2の注目点で5秒、など)に関連付けられる。
図4Bは、本開示の一実施形態によるコンテンツアイテム(例えば、仮想コンテンツアイテム)がアクセスされている間にナビゲーションインジケータ406が提供されるビューポートインタフェース404の一例440を示す。この例では、コンピューティングデバイス402の表示画面上に提示されるビューポート404の方向は、注目点410として図4Aのナビゲーションインジケータ406に示された注目点418に対応する方向に向くように変更されている。その結果、ビューポート404に提示されたシーンは、ビューポート調整に対応するコンテンツ(例えば、複数の画像および/または複数のビデオストリーム)を提示するように更新されている。この例では、シーンは、他の複数の注目点の中で、注目点410としてナビゲーションインジケータ406によって識別されたハンググライダー416および熱気球418を示す。図4Bにおいて、方位インジケータ408は、ビューポートの方向の変化に対応するように、点412の周りを右に回転されている。いくつかの実施形態では、コンピューティングデバイス402を操作するユーザーは、ナビゲーションインジケータ406に対応するディスプレイ画面の領域でタッチジェスチャーを実行して、ビューポートを仮想コンテンツアイテムに対して定義された初期の、または意図された方向に戻らせることができる。また、そのような実施形態では、ビューポートのズームレベルは、タッチジェスチャーを検出すると、仮想コンテンツアイテムに対して定義されたデフォルトの、または意図されたズームレベルにリセットされる。方位インジケータ408は、例えば、ユーザーがビューポートをナビゲートする方向に応じて、時計回りまたは反時計回りの方向に点412の周りを回転することができる。例えば、ビューポート方向を0度から180度に変更すると、方位インジケータ408が点412を中心に時計回りの方向に回転し、ビューポート方向が180度から360度に変化すると、方位インジケータ408が点412を中心に反時計回りの方向に回転する。
図4Cは、本開示の一実施形態による、コンテンツアイテム(例えば、仮想コンテンツアイテム)がアクセスされている間にナビゲーションインジケータ406が提供されるビューポートインタフェース404の一例480を示す。この例では、コンピューティングデバイス402の表示画面上に提示されるビューポート404の方向は、図4Aのシーンに示されている2羽の鳥414に向くように変更されている。また、ビューポート404のズームレベルも増大される。その結果、ビューポート404に提示されたシーンは、ビューポート調整に対応するコンテンツ(例えば、複数の画像および/または複数のビデオストリーム)を提示するように更新されている。この例では、シーンは、他の複数の注目点の中で、ユーザーがビューポートで焦点を合わせた一対の鳥414を示す。図4Cにおいて、方位インジケータ408は、ビューポイントの方向の変化に対応するために、シーン内の2羽の鳥414の方向に向くように点412を中心に回転されている。この例では、方位インジケータ408は、ビューポイントの拡大されたズームレベルを示すために、点412の周りでサイズが増大している。
図5は、本開示の一実施形態によるインタフェースを介してコンテンツにアクセスするナビゲーションインジケータを提供する例示的な方法500を示す。別段の記載がない限り、本明細書で説明する様々な実施形態の範囲内で、同様の、または代替の順序で、または並行して実行される追加の、より少ない、または代替のステップが存在し得ることを理解されたい。ブロック502において、コンテンツアイテムにアクセスするための少なくとも1つの要求の決定が行われ、コンテンツアイテムは、1組の異なる位置からの少なくとも1つのシーンを撮像する1組のカメラフィードを使用して構成される。ブロック504において、コンテンツアイテムの再生が提示されるコンピューティングデバイスの表示画面上にビューポートインタフェースが提供され、ビューポートインタフェースは、i)シーンに対するビューポートインタフェースの方向、またはii)ビューポートインタフェースのズームレベルを変更することにより、コンピューティングデバイスを操作するユーザーに、少なくとも1つのシーンを仮想的にナビゲートすることを可能にする。ブロック506において、ナビゲーションインジケータがビューポートインタフェースに提供され、ナビゲーションインジケータは、コンテンツアイテムの再生中にビューポートインタフェースの対応する方向およびズームレベルに対する任意の変化を視覚的に示すように構成される。
本開示の様々な実施形態に関連する多くの他の使用、用途、および/または変形があり得ることが企図される。例えば、場合によっては、ユーザーは、開示された技術を利用するか否かを選択することができる。また、開示された技術は、様々なプライバシー設定および嗜好が維持され、個人情報が漏洩するのを防止することを保証することもできる。別の例では、本開示の様々な実施形態は、学習、改善、および/または経時的に改良され得る。
ソーシャルネットワーキングシステム−例示的な実装形態
図6は、本開示の一実施形態による、向上したビデオ符号化のための様々な実施形態で利用され得る例示的なシステム600のネットワーク図を示す。システム600は、1つまたは複数のユーザデバイス610と、1つまたは複数の外部システム620と、ソーシャルネットワーキングシステム(ソーシャルネットワーキングサービス)630と、ネットワーク650とを含む。一実施形態では、前述の実施形態との関連で論じられたソーシャルネットワーキングサービス、プロバイダ、および/またはシステムは、ソーシャルネットワーキングシステム630として実装されてよい。例示の目的のために、図6によって示される、システム600の実施形態は、単一の外部システム620と、単一のユーザデバイス610とを含む。ただし、他の実施形態において、システム600は、より多くのユーザデバイス610、および/または、より多くの外部システム620を含んでもよい。特定の実施形態において、ソーシャルネットワーキングシステム630は、ソーシャルネットワークプロバイダによって運営されるのに対して、外部システム620は、異なるエンティティによって運営され得るという点で、ソーシャルネットワーキングシステム630とは別個のものである。しかしながら、様々な実施形態において、ソーシャルネットワーキングシステム630および外部システム620は、共に動作して、ソーシャルネットワーキングシステム630のユーザ(またはメンバー)に対してソーシャルネットワーキングサービスを提供する。この意味において、ソーシャルネットワーキングシステム630は、外部システム620などの他のシステムがインターネット上のユーザーに対してソーシャルネットワーキングサービスおよび機能を提供するために使用し得るプラットフォームまたはバックボーンを提供する。
ユーザデバイス610は、ユーザーから入力を受信し、ネットワーク650を通じてデータを送受信することができる1つまたは複数のコンピューティングデバイス(またはコンピューティングシステム)を備える。一実施形態において、ユーザデバイス610は、例えば、マイクロソフトウィンドウズ(登録商標)と互換性のあるオペレーティングシステム(OS)、Apple OS X、および/またはLinux(登録商標)ディストリビューションを実行する従来のコンピュータシステムである。別の実施形態において、ユーザデバイス610は、スマートフォン、タブレット、携帯情報端末(PDA:personal digital assistant)、携帯電話、ラップトップコンピュータ、ウェアラブルデバイス(例えば、眼鏡、腕時計、ブレスレット、その他)、カメラ、機器、その他などのコンピュータ機能を有するコンピューティングデバイスまたはデバイスであってもよい。ユーザデバイス610は、ネットワーク650を通じて通信するように構成される。ユーザデバイス610は、アプリケーション、例えば、ユーザデバイス610のユーザーがソーシャルネットワーキングシステム630と対話することを可能にするブラウザアプリケーションを実行することができる。別の実施形態において、ユーザデバイス610は、iOSおよびANDROID(登録商標)などの、ユーザデバイス610のネイティブオペレーティングシステムによって提供されるアプリケーションプログラミングインタフェース(API)を通じてソーシャルネットワーキングシステム630を対話する。ユーザデバイス610は、ネットワーク650を通じて外部システム620およびソーシャルネットワーキングシステム630と通信するように構成される。ネットワーク650は、有線通信システムおよび/または無線通信システムを使用する、ローカルエリアネットワークおよび/または広域ネットワークの任意の組み合わせを備え得る。
1つの実施形態において、ネットワーク650は、標準的な通信技術およびプロトコルを使用する。したがって、ネットワーク650は、イーサネット(登録商標)、802.11、マイクロ波アクセスのための世界的相互運用性(WiMAX:worldwide interoperability for microwave access)、3G、4G、CDMA、GSM(登録商標)、LTE、デジタル加入者線(DSL:digital subscriber line)等などの技術を使用するリンクを含み得る。同様に、ネットワーク650上で使用されるネットワーキングプロトコルは、マルチプロトコルラベルスイッチング(MPLS:multiprotocol label switching)、送信制御プロトコル/インターネットプロトコル(TCP/IP)、ユーザデータグラムプロトコル(UDP)、ハイパーテキスト転送プロトコル(HTTP)、簡易メール転送プロトコル(SMTP:simple mail transfer protocol)、ファイル転送プロトコル(FTP)などを含み得る。ネットワーク650上で交換されるデータは、ハイパーテキストマークアップ言語(HTML)および拡張マークアップ言語(XML)を含む技術および/またはフォーマットを使用して表現され得る。また、全部または一部のリンクは、セキュアソケットレイヤ(SSL)、トランスポートレイヤセキュリティ(TLS)、およびインターネットプロトコルセキュリティ(IPsec)などの従来の暗号化技術を使用して暗号化され得る。
1つの実施形態において、ユーザデバイス610は、外部システム620から、およびソーシャルネットワーキングシステム630から受信されるマークアップ言語文書614を、ブラウザアプリケーション612を使用して処理することによって、外部システム620からのコンテンツおよび/またはソーシャルネットワーキングシステム630からのコンテンツを表示し得る。マークアップ言語文書614は、コンテンツと、そのコンテンツのフォーマッティングまたは表示方法を記述する1つまたは複数の命令とを識別する。マークアップ言語文書614内に含まれる命令を実行することによって、ブラウザアプリケーション612は、マークアップ言語文書614によって記述されたフォーマットまたは表示方法を使用して、識別されたコンテンツを表示する。例えば、マークアップ言語文書614は、外部システム620およびソーシャルネットワーキングシステム630から得られたテキストおよび/または画像データを含む複数のフレームを有するウェブページを生成および表示するための命令を含む。様々な実施形態において、マークアップ言語文書614は、拡張マークアップ言語(XML)データ、拡張ハイパーテキストマークアップ言語(XHTML)データ、または、他のマークアップ言語データを含むデータファイルを備える。また、マークアップ言語文書614は、外部システム620とユーザデバイス610との間のデータ交換を容易にするためのジャバスクリプトオブジェクトノーテーション(JSON:JavaScript(登録商標)Object Notation)データ、パディング付きのJSON(JSONP:JSON with padding)データ、およびジャバスクリプトデータを含み得る。ユーザデバイス610上のブラウザアプリケーション612は、ジャバスクリプトコンパイラを使用して、マークアップ言語文書614を復号し得る。
マークアップ言語文書614は、FLASH(商標)アプリケーションまたはUnity(商標)アプリケーション、SilverLight(商標)アプリケーションフレームワーク等などの、アプリケーションまたはアプリケーションフレームワークも含み、または、これらに対してもリンクし得る。
1つの実施形態において、ユーザデバイス610は、ユーザデバイス610のユーザーがソーシャルネットワーキングシステム630へログインしたかを示すデータを含む、1つまたは複数のクッキー616も含む。クッキー616は、ソーシャルネットワーキングシステム630からユーザデバイス610へ通信されるデータのカスタム化を可能にし得る。
外部システム620は、1つまたは複数のウェブページ622a、622bを含む、1つまたは複数のウェブサーバを含む。1つまたは複数のウェブページ622a、622bは、ネットワーク650を使用して、ユーザデバイス610へ通信される。外部システム620は、ソーシャルネットワーキングシステム630とは別個である。例えば、外部システム620は、第1のドメインに対して関連付けられるが、ソーシャルネットワーキングシステム630は、別個のソーシャルネットワーキングドメインに対して関連付けられる。外部システム620に含まれるウェブページ622a、622bは、コンテンツを識別し、識別されたコンテンツのフォーマッティングおよび表示方法を特定する命令を含むマークアップ言語文書614を備える。前述したように、多くのバリエーションまたは他の可能性があり得ることを理解されたい。
ソーシャルネットワーキングシステム630は、複数のユーザーを含み、ソーシャルネットワークのユーザーに対して、ソーシャルネットワークの他のユーザーと通信および対話するための能力を提供する、ソーシャルネットワークのための1つまたは複数のコンピューティングデバイスを含む。さらに詳細に説明されるように、ソーシャルネットワークは、グラフ、すなわち、エッジとノードとを含むデータ構造によって表現され得る。データベース、オブジェクト、クラス、メタ要素、ファイル、または任意の他のデータ構造を含むが、これらに限定されない、他のデータ構造も、ソーシャルネットワークを表現するために使用され得る。ソーシャルネットワーキングシステム630は、オペレータによって監督、管理、または制御されてよい。ソーシャルネットワーキングシステム630のオペレータは、ソーシャルネットワーキングシステム630内でコンテンツを管理し、ポリシを統制し、使用メトリクスを収集するための、人間、自動化されたアプリケーション、または一連のアプリケーションであってよい。任意のタイプのオペレータが使用されてよい。
ユーザーは、ソーシャルネットワーキングシステム630に加入し、次いで、そのユーザーがつなげられることを望む、ソーシャルネットワーキングシステム630の任意の数の他のユーザーへのつながりを追加し得る。本明細書において、「友達」という用語は、ユーザーがソーシャルネットワーキングシステム630を通じてつながり、関連、または関係を形成した、ソーシャルネットワーキングシステム630の任意の他のユーザーに及ぶ。例えば、一実施形態において、ソーシャルネットワーキングシステム630内のユーザーが、ソーシャルグラフ内のノードとして表現される場合、「友達」という用語は、2つのユーザノード間に形成され、かつ、2つのユーザノードを直接的に接続するエッジを指し得る。
つながりは、ユーザーによって明示的に追加されても、または、ユーザーの共通の特性(例えば、同じ教育機関の卒業生であるユーザー)に基づいて、ソーシャルネットワーキングシステム630によって自動的に作成されてもよい。例えば、第1のユーザーは、友達になりたい特定の他のユーザーを具体的に選択する。ソーシャルネットワーキングシステム630におけるつながりは、通常は双方向であるが、双方向である必要はなく、そのため、「ユーザー」および「友達」という用語は、枠組みに依存する。ソーシャルネットワーキングシステム630のユーザー間のつながりは、通常は、双務的(「二方向」)または「相互的」であるが、つながりは、片務的、または「一方向」であってもよい。例えば、ボブおよびジョーの両者が、ソーシャルネットワーキングシステム630のユーザーであり、互いにつながっている場合、ボブおよびジョーは、互いのつながりである。他方で、ボブは、ジョーによってソーシャルネットワーキングシステム630へ通信されたデータを見るためにジョーとつながることを欲するが、ジョーは、相互的なつながりを形成することを欲しない場合、片務的なつながりが確立され得る。ユーザー間のつながりは、直接的なつながりであり得る。ただし、ソーシャルネットワーキングシステム630のいくつかの実施形態は、つながりが、1つまたは複数のつながりのレベルまたは分離度を通じた間接的なものとなることを可能にする。
ユーザー間のつながりを確立および維持し、ユーザー間の対話を可能にすることに加えて、ソーシャルネットワーキングシステム630は、ソーシャルネットワーキングシステム630によってサポートされる様々なタイプのアイテムに対してアクションを行うための能力をユーザーに対して提供する。こうしたアイテムは、ソーシャルネットワーキングシステム630のユーザーが所属し得るグループまたはネットワーク(すなわち、人々、エンティティ、およびコンセプトのソーシャルネットワーク)、ユーザーが興味を持ち得るイベントまたはカレンダー入力、ユーザーがソーシャルネットワーキングシステム630を通じて使用し得るコンピュータベースのアプリケーション、ソーシャルネットワーキングシステム630によって提供されるサービスを通じてまたはソーシャルネットワーキングシステム630を通じてユーザーがアイテムを購入または販売することを可能にする取引、ならびにユーザーがソーシャルネットワーキングシステム630内外で実行し得る広告との対話を含み得る。これらは、ユーザーがソーシャルネットワーキングシステム630上で作用を与え得るアイテムのわずかな例にすぎず、多くの他の例が可能である。ユーザーは、ソーシャルネットワーキングシステム630において、または、ソーシャルネットワーキングシステム630とは別個の外部システム620もしくはネットワーク650を通じてソーシャルネットワーキングシステム630に対して結合される外部システム620において表現されることが可能なありとあらゆるものと対話し得る。
ソーシャルネットワーキングシステム630は、多様なエンティティとリンクすることも可能である。例えば、ソーシャルネットワーキングシステム630は、ユーザーが互いに対話すること、および、API、ウェブサービス、または他の通信チャネルを通じて外部システム620または他のエンティティと対話することを可能にする。ソーシャルネットワーキングシステム630は、複数のエッジによって相互接続された複数のノードを備える「ソーシャルグラフ」を生成および維持する。ソーシャルグラフ内の各ノードは、別のノードに対して作用を与え得るエンティティおよび/または別のノードによって作用を与えられ得るエンティティを表現し得る。ソーシャルグラフは、様々なタイプのノードを含み得る。ノードのタイプの例は、ユーザー、人間以外のエンティティ、コンテンツアイテム、ウェブページ、グループ、アクティビティ、メッセージ、コンセプト、およびソーシャルネットワーキングシステム630内のオブジェクトによって表現され得る任意の他のものを含む。ソーシャルグラフ内の2つのノード間のエッジは、ノード関係から、またはノードのうちの一方によって他方に対して実行されたアクションから生じ得る、2つのノード間の特定の種類のつながり、または関連を表現し得る。いくつかのケースでは、ノード間のエッジは、重み付けされ得る。エッジの重みは、ノード間のつながりまたは関連の強度などの、そのエッジに対して関連付けられている属性を表現し得る。異なるタイプのエッジが、異なる重みと共に提供され得る。例えば、あるユーザーが別のユーザーに対して「いいね」を表明するときに作成されるエッジには、ある重みが与えられてよく、ユーザーが別のユーザーと友達になるときに作成されるエッジには、異なる重みが与えられてよい。
例として、第1のユーザーが第2のユーザーを友達として識別した場合、第1のユーザーを表すノードと、第2のユーザーを表す第2のノードとを接続するソーシャルグラフ中のエッジが生成される。様々なノードが互いに関係するかまたは対話するのに伴い、ソーシャルネットワーキングシステム630は、関係および対話を反映するように、様々なノードを接続するエッジを修正する。
ソーシャルネットワーキングシステム630は、ユーザーによるソーシャルネットワーキングシステム630との対話を高める、ユーザーにより生成されたコンテンツも含む。ユーザーにより生成されたコンテンツは、ユーザーがソーシャルネットワーキングシステム630に対して追加し、アップロードし、送信し、または「投稿し」得るあらゆるものを含み得る。例えば、ユーザーは、ユーザデバイス610からソーシャルネットワーキングシステム630への投稿を通信する。投稿は、ステータスアップデートもしくは他の文字情報などのデータ、位置情報、写真などの画像、映像、リンク、音楽、または、他の同様のデータおよび/もしくはメディアを含み得る。コンテンツも、第三者によってソーシャルネットワーキングシステム630に対して追加され得る。コンテンツ「アイテム」は、ソーシャルネットワーキングシステム630においてオブジェクトとして表現される。このようにして、ソーシャルネットワーキングシステム630のユーザーは、様々な通信チャネルを通じて様々なタイプのテキストおよびコンテンツアイテムを投稿することによって、互いに通信することを促される。そのような通信は、ユーザー同士の対話を増加させ、ユーザーがソーシャルネットワーキングシステム630と対話する頻度を増加させる。
ソーシャルネットワーキングシステム630は、ウェブサーバ632と、API要求サーバ634と、ユーザプロファイルストア636と、つながりストア638と、アクションロガー640と、アクティビティログ642と、認証サーバ644とを含む。本発明の一実施形態において、ソーシャルネットワーキングシステム630は、様々なアプリケーションのための追加的な構成要素、より少ない構成要素、または異なる構成要素を含み得る。ネットワークインタフェース、セキュリティ機構、負荷分散装置、フェイルオーバサーバ、管理およびネットワーク操作コンソールなどの他の構成要素は、本システムの詳細を曖昧にしないように、図示されていない。
ユーザプロファイルストア636は、ユーザーによって申告され、またはソーシャルネットワーキングシステム630によって推測された職歴、学歴、趣味または嗜好、住所などの経歴的情報、人口学的情報、および他のタイプの記述的情報を含む、ユーザアカウントに関する情報を維持する。この情報は、各ユーザーが一意に識別されるように、ユーザプロファイルストア636内に記憶される。ソーシャルネットワーキングシステム630は、異なるユーザー間の1つまたは複数のつながりを記述するデータも、つながりストア638内に記憶する。つながり情報は、同様または共通の職歴、グループメンバーシップ、趣味、または学歴を有するユーザーを示し得る。また、ソーシャルネットワーキングシステム630は、ユーザーの他のユーザーとの関係をユーザーが特定することを可能にする、異なるユーザー間におけるユーザーによって定義されたつながりを含む。例えば、ユーザーによって定義されたつながりは、友達、同僚、パートナー等などの、ユーザーの実生活の関係と並行する、他のユーザーとの関係をユーザーが生成することを可能にする。ユーザーは、予め定義されたタイプのつながりから選択しても、またはユーザー自身のつながりタイプを必要に応じて定義してもよい。非人間エンティティ、バケット、クラスタセンタ、画像、興味、ページ、外部システム、コンセプト等などの、ソーシャルネットワーキングシステム630内の他のノードとのつながりも、つながりストア638内に記憶される。
ソーシャルネットワーキングシステム630は、ユーザーが対話し得るオブジェクトに関するデータを維持する。このデータを維持するために、ユーザプロファイルストア636およびつながりストア638は、ソーシャルネットワーキングシステム630によって維持されるオブジェクトの対応するタイプのインスタンスを記憶する。各オブジェクトタイプは、オブジェクトのタイプに適した情報を記憶するのに適した情報フィールドを有する。例えば、ユーザプロファイルストア636は、ユーザーのアカウントおよびユーザーのアカウントに関連した情報を記述するのに適したフィールドを有するデータ構造を含む。特定のタイプの新たなオブジェクトが作成される場合、ソーシャルネットワーキングシステム630は、対応するタイプの新たなデータ構造を初期化し、その新たなデータ構造に対して一意のオブジェクト識別子を割り当て、必要に応じて、そのオブジェクトに対してデータを追加することを開始する。これは、例えば、ユーザーがソーシャルネットワーキングシステム630のユーザーになった場合に発生し、ソーシャルネットワーキングシステム630は、ユーザプロファイルストア636内にユーザプロファイルの新たなインスタンスを生成し、ユーザアカウントに対して一意の識別子を割り当て、ユーザーによって提供される情報をユーザアカウントのフィールドへ投入し始める。
つながりストア638は、他のユーザーに対するユーザーのつながり、外部システム620に対するつながり、または他のエンティティに対するつながりを記述するのに適したデータ構造を含む。つながりストア638は、つながりタイプもユーザーのつながりと関連付け得る。つながりタイプは、ユーザーのプライバシー設定と共に使用されて、ユーザーに関する情報に対するアクセスを規制し得る。本発明の一実施形態において、ユーザプロファイルストア636およびつながりストア638は、連合データベースとして実装され得る。
つながりストア638、ユーザプロファイルストア636、およびアクティビティログ642内に記憶されるデータは、ノードを使用して、ノードを接続する様々なオブジェクトおよびエッジを識別して、異なるオブジェクト間の関係を識別するソーシャルグラフをソーシャルネットワーキングシステム630が生成することを可能にする。例えば、第1のユーザーが、ソーシャルネットワーキングシステム630内で第2のユーザーとのつながりを確立する場合、ユーザプロファイルストア636からの第1のユーザーおよび第2のユーザーのユーザアカウントは、ソーシャルグラフ内のノードとして動作し得る。つながりストア638によって記憶される、第1のユーザーと第2のユーザーとの間のつながりは、第1のユーザーおよび第2のユーザーに対して関連付けられるノード間のエッジである。この例を続けると、第2のユーザーは、次いで、第1のユーザーに対して、ソーシャルネットワーキングシステム630内でメッセージを送信し得る。メッセージを送信するアクションは、第1のユーザーおよび第2のユーザーを表現する、ソーシャルグラフ内の2つのノード間の別のエッジであり、メッセージを送信するアクションは、記憶され得る。また、メッセージ自体が、第1のユーザーを表現するノードおよび第2のユーザーを表現するノードに対して接続される別のノードとして、ソーシャルグラフにおいて識別され、ソーシャルグラフに含まれ得る。
別の例において、第1のユーザーは、ソーシャルネットワーキングシステム630によって維持される画像において(または、代替的に、ソーシャルネットワーキングシステム630の外部の別のシステムによって維持される画像において)第2のユーザーをタグ付けし得る。画像は、それ自体がソーシャルネットワーキングシステム630内のノードとして表現され得る。このタグ付けアクションは、ユーザーの各々と画像との間にエッジを作成するだけでなく、第1のユーザーと第2のユーザーとの間のエッジも作成し得る。画像もソーシャルグラフ内のノードである。また別の例において、ユーザーが、イベントへ参加することを確かめる場合、そのユーザーおよびそのイベントは、ユーザプロファイルストア636から取得されるノードであり、そのイベントへの参加は、アクティビティログ642から得られ得るノード間のエッジである。ソーシャルグラフを生成および維持することによって、ソーシャルネットワーキングシステム630は、多くの異なるタイプのオブジェクトを記述するデータ、ならびに、それらのオブジェクト間の対話およびつながりを含み、社会的に関連する情報の豊富なソースを提供する。
ウェブサーバ632は、ソーシャルネットワーキングシステム630を、ネットワーク650を通じて、1つもしくは複数のユーザデバイス610および/または1つもしくは複数の外部システム620に対してリンクする。ウェブサーバ632は、ウェブページ、およびJava(登録商標)、JavaScript、Flash、XMLなどの他のウェブ関連コンテンツを供給する。ウェブサーバ632は、メールサーバを含み、または、ソーシャルネットワーキングシステム630と1つもしくは複数のユーザデバイス610との間のメッセージを受信およびルーティングするための他のメッセージング機能を含み得る。メッセージは、インスタントメッセージ、キューメッセージ(例えば、電子メール)、テキストおよびSMSメッセージ、または任意の他の適切なメッセージングフォーマットであり得る。
API要求サーバ634は、1つまたは複数の外部システム620およびユーザデバイス610が、1つまたは複数のAPI関数を呼び出すことによって、ソーシャルネットワーキングシステム630からのアクセス情報を呼び出すことを可能にする。API要求サーバ634は、外部システム620が、APIを呼び出すことによって、ソーシャルネットワーキングシステム630に対して情報を送信することも可能にし得る。外部システム620は、1つの実施形態において、ネットワーク650を通じてソーシャルネットワーキングシステム630へAPI要求を送信し、API要求サーバ634は、そのAPI要求を受信する。API要求サーバ634は、API要求に対して関連付けられているAPIを呼び出すことによって要求を処理して、適当な応答を生成する。API要求サーバ634は、その適当な応答を、ネットワーク650を通じて外部システム620へ通信する。例えば、API要求に応答して、API要求サーバ634は、外部システム620に対してログインしたユーザーのつながりなどの、ユーザーに対して関連付けられているデータを収集し、収集されたデータを外部システム620へ通信する。別の実施形態において、ユーザデバイス610は、外部システム620と同じ手法で、APIを通じてソーシャルネットワーキングシステム630と通信する。
アクションロガー640は、ソーシャルネットワーキングシステム630内での、および/またはソーシャルネットワーキングシステム630外でのユーザアクションに関する通信をウェブサーバ632から受信することが可能である。アクションロガー640は、ユーザアクションに関する情報をアクティビティログ642へ投入し、ソーシャルネットワーキングシステム630の内部で、およびソーシャルネットワーキングシステム630の外部で、そのユーザーによって行われた様々なアクションをソーシャルネットワーキングシステム630が発見することを可能にする。特定のユーザーが、ソーシャルネットワーキングシステム630上の別のノードに関して行う任意のアクションは、アクティビティログ642内または同様のデータベースもしくは他のデータレポジトリ内で維持される情報を通じて、各ユーザーのアカウントに対して関連付けられ得る。識別および記憶される、ソーシャルネットワーキングシステム630内でユーザーによって行われるアクションの例は、例えば、別のユーザーに対するつながりを追加すること、別のユーザーへメッセージを送信すること、別のユーザーからのメッセージを読むこと、別のユーザーに対して関連付けられるコンテンツを視聴すること、別のユーザーによって投稿されたイベントに参加すること、画像を投稿すること、画像を投稿しようと試行すること、または、別のユーザーもしくは別のオブジェクトと対話する他のアクションを含み得る。ユーザーが、ソーシャルネットワーキングシステム630内でアクションを行う場合、そのアクションは、アクティビティログ642内に記録される。一実施形態において、ソーシャルネットワーキングシステム630は、アクティビティログ642をエントリのデータベースとして維持する。アクションが、ソーシャルネットワーキングシステム630内で行われる場合、そのアクションについてのエントリが、アクティビティログ642に対して追加される。アクティビティログ642は、アクションログと称され得る。
また、ユーザアクションは、ソーシャルネットワーキングシステム630とは別個の外部システム620などの、ソーシャルネットワーキングシステム630の外部のエンティティ内で発生するコンセプトおよびアクションに対して関連付けられ得る。例えば、アクションロガー640は、ユーザーによる外部システム620との対話を記述するデータを、ウェブサーバ632から受信し得る。この例において、外部システム620は、ソーシャルグラフにおける構造化されたアクションおよびオブジェクトに従って、ユーザーによる対話を報告する。
ユーザーが外部システム620と対話するアクションの他の例は、ユーザーが外部システム620もしくは別のエンティティにおいて興味を表現すること、外部システム620もしくは外部システム620内のウェブページ622aと議論するソーシャルネットワーキングシステム630に対してユーザーがコメントを投稿すること、ユーザーがソーシャルネットワーキングシステム630に対してユニフォームリソースロケータ(URL)もしくは外部システム620に対して関連付けられる他の識別子を投稿すること、ユーザーが外部システム620に対して関連付けられるイベントへ参加すること、または、外部システム620に関連する、ユーザーによる任意の他のアクションを含む。したがって、アクティビティログ642は、ソーシャルネットワーキングシステム630のユーザーと、ソーシャルネットワーキングシステム630とは別個の外部システム620との間の対話を記述するアクションを含み得る。
認証サーバ644は、ソーシャルネットワーキングシステム630のユーザーの1つまたは複数のプライバシー設定を強化する。ユーザーのプライバシー設定は、ユーザーに対して関連付けられる特定の情報がどのように共有され得るかを決定する。プライバシー設定は、ユーザーに対して関連付けられる特定の情報の仕様、および情報が共有され得る1つまたは複数のエンティティの仕様を備える。情報が共有され得るエンティティの例は、他のユーザー、アプリケーション、外部システム620、または、その情報に潜在的にアクセスし得る任意のエンティティを含み得る。ユーザーによって共有され得る情報は、プロフィール写真などのユーザアカウント情報、ユーザーに対して関連付けられる電話番号、ユーザーのつながり、つながりを追加すること、ユーザプロフィール情報を変更することなどのユーザーによって行われるアクション等を備える。
プライバシー設定仕様は、異なるレベルの粒度で提供され得る。例えば、プライバシー設定は、他のユーザーと共有されるべき具体的な情報を識別し得る。プライバシー設定は、職場電話番号、または、プロフィール写真、自宅電話番号、およびステータスを含む個人情報などの関連情報の具体的なセットを識別する。代替的に、プライバシー設定は、ユーザーに対して関連付けられる全ての情報に対して適用されてもよい。特定の情報にアクセスすることができるエンティティのセットの仕様も、様々なレベルの粒度で特定され得る。情報が共有され得るエンティティの様々なセットは、例えば、ユーザーの全ての友達、友達の全ての友達、全てのアプリケーション、または全ての外部システム620を含み得る。1つの実施形態は、エンティティのセットの仕様がエンティティの一覧表を備えることを可能にする。例えば、ユーザーは、一定の情報に対してアクセスすることを許可される外部システム620のリストを提供し得る。別の実施形態は、情報に対してアクセスすることを許可されない例外と共にエンティティのセットを仕様が備えることを可能にする。例えば、ユーザーは、全ての外部システム620がユーザーの職場情報に対してアクセスすることを許可し得るが、職場情報に対してアクセスすることを許可されない外部システム620のリストを特定し得る。一定の実施形態は、一定の情報に対してアクセスすることを許可されない例外のリストを「ブロックリスト」と呼ぶ。ユーザーによって特定されるブロックリストに所属する外部システム620は、プライバシー設定において特定される情報に対してアクセスすることをブロックされる。情報の仕様の粒度と、情報が共有されるエンティティの仕様の粒度との様々な組み合わせが可能である。例えば、全ての個人情報は、友達と共有され得るのに対して、全ての職場情報は、友達の友達と共有され得る。
認証サーバ644は、ユーザーに対して関連付けられる一定の情報がユーザーの友達、外部システム620、ならびに/または他のアプリケーションおよびエンティティによってアクセスされ得るかを決定するためのロジックを含む。外部システム620は、ユーザーの職場電話番号などの、ユーザーのより個人的かつ機密的な情報に対してアクセスするために、認証サーバ644からの認証を必要とし得る。ユーザーのプライバシー設定に基づいて、認証サーバ644は、別のユーザー、外部システム620、アプリケーション、または別のエンティティが、ユーザーによって行われるアクションに関する情報を含む、ユーザーに対して関連付けられる情報に対してアクセスすることを許可されているかを決定する。
いくつかの実施形態では、ソーシャルネットワーキングシステム630は、コンテンツプロバイダモジュール646を備えることができる。コンテンツプロバイダモジュール646は、例えば、図1のコンテンツプロバイダモジュール102として実装されてもよい。上述したように、多くの変形または他の可能性が存在し得ることを理解されたい。
ハードウェア実装形態
前述のプロセスおよび特徴は、多種多様なマシンおよびコンピュータシステムアーキテクチャによって、ならびに、多種多様なネットワークおよびコンピューティング環境において実装され得る。図7は、本発明に応じて本明細書に記載された1つまたは複数の実施形態を実装するために使用され得るコンピュータシステム700の例を例示する。コンピュータシステム700は、コンピュータシステム700に対して、本明細書において議論されるプロセスおよび特徴を実行させるための命令のセットを含む。コンピュータシステム700は、他のマシンへ接続され(例えば、ネットワーク化され)得る。ネットワーク化された配置において、コンピュータシステム700は、クライアント/サーバネットワーク環境内のサーバマシンもしくはクライアントマシンの資格において動作し、または、ピアツーピア(もしくは分散)ネットワーク環境内のピアマシンとして動作し得る。本発明の一実施形態において、コンピュータシステム700は、ソーシャルネットワーキングシステム630、ユーザデバイス610、外部システム720、またはこれらの構成要素であってもよい。本発明の一実施形態において、コンピュータシステム700は、ソーシャルネットワーキングシステム630の全てまたは部分を構成する多くのサー間のうちの1つのサーバであってもよい。
コンピュータシステム700は、プロセッサ702と、キャッシュ704と、コンピュータ読取可能な媒体上に記憶され、本明細書において説明されるプロセスおよび特徴へ向けられた、1つまたは複数の実行可能なモジュールおよびドライバとを含む。また、コンピュータシステム700は、高性能入出力(I/O)バス706と、標準I/Oバス708とを含む。ホストブリッジ710は、プロセッサ702を高性能I/Oバス706に対して結合する一方で、I/Oバスブリッジ712は、2つのバス706および708を互いに結合する。システムメモリ714および1つまたは複数のネットワークインタフェース716は、高性能I/Oバス706へ結合される。コンピュータシステム700は、ビデオメモリと、ビデオメモリに対して結合される表示デバイスとをさらに含んでもよい(図示せず)。マスストレージ718およびI/Oポート720は、標準I/Oバス708へ結合される。コンピュータシステム700は、バス708に対して結合される、キーボードおよびポインティングデバイス、表示デバイス、または他の入出力デバイス(図示せず)を随意的に含んでもよい。全体的に、これらの要素は、カリフォルニア州サンタクララのインテルコーポレーション社(Intel Corporation)によって製造されるx86互換性のあるプロセッサ、カリフォルニア州サニーベルのアドバンストマイクロデバイス社(AMD:Advanced Micro Devices,Inc)によって製造されるx86互換性のあるプロセッサ、および任意の他の適切なプロセッサを含むが、これらに限定されない、広範なカテゴリのコンピュータハードウェアシステムを表現することが意図される。
オペレーティングシステムは、ソフトウェアアプリケーション(図示せず)へのデータの入力およびソフトウェアアプリケーションからのデータの出力を含む、コンピュータシステム700の動作を管理および制御する。オペレーティングシステムは、システム上で実行されているソフトウェアアプリケーションと、システムのハードウェア構成要素との間のインタフェースを提供する。任意の適切なオペレーティングシステム、例えば、LINUXオペレーティングシステム、カリフォルニア州クパチーノのアップルコンピュータ社(Apple Computer,Inc.)から市販されているアップルマッキントッシュオペレーティングシステム、UNIX(登録商標)オペレーティングシステム、マイクロソフト(登録商標)ウィンドウズ(登録商標)オペレーティングシステム、BSDオペレーティングシステム等などが使用され得る。他の実装も可能である。
コンピュータシステム700の要素は、下記においてより詳細に説明される。具体的には、ネットワークインタフェース716は、コンピュータシステム700と、幅広いネットワークのうちの任意のもの、例えば、イーサネット(例えば、IEEE802.3)ネットワーク、バックプレーン等などとの間の通信を提供する。マスストレージ718は、上記に識別されたそれぞれのコンピューティングシステムによって実装される上述されたプロセスおよび特徴を実行するためのデータおよびプログラミング命令のための永続的なストレージを提供するのに対して、システムメモリ714(例えば、DRAM)は、プロセッサ702によって実行される場合のデータおよびプログラミング命令のための一時的なストレージを提供する。I/Oポート720は、コンピュータシステム700へ結合され得る付加的な周辺デバイス間の通信を提供する、1つまたは複数のシリアル通信ポートおよび/またはパラレル通信ポートであり得る。
コンピュータシステム700は、多様なシステムアーキテクチャを含むことができ、コンピュータシステム700の様々な構成要素は、再配置されてもよい。例えば、キャッシュ704は、プロセッサ702と共にチップ上に実装されてもよい。代替的に、キャッシュ704およびプロセッサ702は、「プロセッサモジュール」としてまとめられて、プロセッサ702が「プロセッサコア」と称されてもよい。さらに、本発明の一定の実施形態は、上記構成要素の全部を必要としなくても、または、含まなくてもよい。例えば、標準I/Oバス708へ結合される周辺デバイスは、高性能I/Oバス706へ結合されてもよい。また、いくつかの実施形態において、単一のバスのみが存在して、コンピュータシステム700の構成要素が、その単一のバスへ結合されてもよい。さらに、コンピュータシステム700は、付加的なプロセッサ、記憶デバイス、またはメモリなどの付加的な構成要素を含んでもよい。
一般に、本明細書において説明されるプロセスおよび特徴は、オペレーティングシステムの一部もしくは特定のアプリケーション、構成要素、プログラム、オブジェクト、モジュール、または「プログラム」と称される一連の命令として実装され得る。例えば、1つまたは複数のプログラムは、本明細書において説明される具体的なプロセスを実行するために使用され得る。プログラムは、典型的には、1つまたは複数のプロセッサによって読み出され、実行される場合に、コンピュータシステム700に対して、本明細書において説明されるプロセスおよび特徴を実行するための動作を実行させる、1つまたは複数の命令を、コンピュータシステム700内の様々なメモリおよび記憶デバイスにおいて備える。本明細書において説明されるプロセスおよび特徴は、ソフトウェア、ファームウェア、ハードウェア(例えば、特定用途向け集積回路)、または、これらの任意の組み合わせにおいて実装され得る。
1つの実施形態において、本明細書において説明されるプロセスおよび特徴は、分散コンピューティング環境において個々にまたはまとめて、コンピュータシステム700によって実行される一連の実行可能なモジュールとして実装される。前述のモジュールは、ハードウェア、コンピュータ読取可能な媒体(もしくはマシン読取可能な媒体)上に記憶される実行可能なモジュール、または、両者の組み合わせによって実現され得る。例えば、モジュールは、プロセッサ702などの、ハードウェアシステム内のプロセッサによって実行されるべき複数の命令または一連の命令を備え得る。まず、一連の命令は、マスストレージ718などの記憶デバイス上に記憶され得る。ただし、一連の命令は、任意の適切なコンピュータ読取可能な記憶媒体上に記憶されてもよい。さらに、一連の命令は、局所的に記憶される必要はなく、ネットワーク上のサーバなどの遠隔記憶デバイスからネットワークインタフェース716を通じて受信されてもよい。命令は、マスストレージ718などの記憶デバイスからシステムメモリ714内へコピーされ、次いで、プロセッサ702によってアクセスされ、実行される。様々な実施形態において、1つまたは複数のモジュールは、並列処理環境内の複数のサーバなどの、1つまたは複数の位置における、1つまたは複数のプロセッサによって実行され得る。
コンピュータ読取可能な媒体の例は、揮発性メモリデバイスおよび不揮発性メモリデバイスなどの記録可能なタイプの媒体、ソリッドステートメモリ、フロッピー(登録商標)ディスクおよび他の取り外し可能なディスク、ハードディスクドライブ、磁気媒体、光ディスク(例えば、コンパクトディスク読取専用メモリ(CD ROMS)、デジタル多用途ディスク(DVD))、他の同様の非一時的で(もしくは一時的で)、有形の(もしくは無形の)記憶媒体、または、本明細書において説明されるプロセスおよび特徴のうちの任意の1つもしくは複数を実行すべく、コンピュータシステム700による実行のために一連の命令を記憶し、符号化し、もしくは担持するのに適切な任意のタイプの媒体を含むが、これらに限定されない。
説明の目的のために、多くの具体的な詳細が、本説明の完全な理解を提供するために述べられている。しかしながら、こうした具体的な詳細なしに本開示の実施形態が実施され得ることは、当業者には明らかであろう。いくつかの例において、モジュール、構造、プロセス、特徴、およびデバイスは、本説明を曖昧にすることを回避するために、ブロック図の形式で示される。他の例において、機能ブロック図およびフロー図は、データおよび論理フローを表現するために示される。ブロック図およびフロー図の構成要素(例えば、モジュール、ブロック、構造、デバイス、特徴等)は、本明細書において明示的に説明および図示されたような手法以外の手法で、様々に組み合わされ、分離され、除去され、順序を並べ替えられ、置換されてもよい。
この明細書における、「1つの実施形態」、「一実施形態」、「他の実施形態」、「一連の実施形態」、「いくつかの実施形態」、「様々な実施形態」等への言及は、実施形態に関連して説明される特定の特徴、設計、構造、または特性が本開示の少なくとも1つの実施形態に含まれることを意味する。本明細書内の様々な部分における「1つの実施形態において」または「別の実施形態」という句の出現は、必ずしも全て同じ実施形態に言及するものとは限らず、別個の実施形態または代替的な実施形態は、他の実施形態と相互排他的ではない。さらに、「実施形態」等への明示的な言及が存在しても存在しなくても、様々な特徴が説明され、様々な特徴は、いくつかの実施形態において様々に組み合わされ、含まれ得るが、他の実施形態においては様々に省略され得る。同様に、いくつかの実施形態にとっては選好事項または要件であり得るが、他の実施形態にとっては選好事項または要件ではない、様々な特徴が説明される。
本明細書において使用される文言は、主に、読みやすさと教育的目的のために選択されており、発明の主題の輪郭を描くため、または境界線を描くために選択されたものではない。そのため、本発明の範囲は、この詳細な説明によって限定されるのではなく、むしろ、本明細書に基づく出願について発行される任意の請求項によって限定されることが意図される。したがって、本発明の実施形態の開示は、本発明の範囲の例示とはなるが、限定とはならないことが意図され、本発明の範囲は、下記の特許請求の範囲において述べられる。

Claims (17)

  1. コンピュータが実行する方法であって、
    コンピューティングデバイスが、コンテンツアイテムにアクセスするための少なくとも1つの要求を判定することであって、前記コンテンツアイテムは、1組の異なる位置から少なくとも1つのシーンを撮像する1組のカメラフィードを用いて構成される、前記少なくとも1つの要求を判定すること、
    前記コンピューティングデバイスが、前記コンテンツアイテムの再生が提供される前記コンピューティングデバイスの表示画面上にビューポートインタフェースを提供することであって、前記ビューポートインタフェースは、前記コンピューティングデバイスを操作するユーザーが前記少なくとも1つのシーンを仮想的にナビゲートすることができるように構成され、当該仮想的にナビゲートすることは、前記シーンに対する前記ビューポートインタフェースの方向または前記ビューポートインタフェースのズームレベルを変更することにより行われる、前記ビューポートインタフェースを提供すること、
    前記コンピューティングデバイスが、前記ビューポートインタフェースにナビゲーションインジケータを提供することであって、前記ナビゲーションインジケータは、前記コンテンツアイテムの再生中に前記ビューポートインタフェースの対応する方向およびズームレベルの変更を仮想的に示すように構成される、前記ナビゲーションインジケータを提供すること、
    前記コンピューティングデバイスが、前記コンテンツアイテムが前記シーン内の1組の注目点に仮想的にナビゲートするための情報を特定する自動モードと関連付けられることを判定すること、
    前記コンピューティングデバイスが、前記自動モードが有効にされることを前記ナビゲーションインジケータに仮想的に示させること、および
    前記コンピューティングデバイスが、前記自動モードに少なくとも部分的に基づいて、前記シーンを前記ビューポートインタフェースに仮想的にナビゲートさせること、を備える方法。
  2. 前記コンピューティングデバイスが、前記シーン内の少なくとも1つの注目点の対応する方向を判定すること、および
    前記コンピューティングデバイスが、前記ビューポートインタフェースの方向およびズームレベルを仮想的に示すことに加えて、前記少なくとも1つの注目点の対応する方向を前記ナビゲーションインジケータに仮想的に示させることを、さらに備える請求項1に記載の方法。
  3. 前記コンピューティングデバイスが、前記コンテンツアイテムの再生中に前記シーンにおいて生成される少なくとも1つの音の対応する方向を判定すること、および
    前記コンピューティングデバイスが、前記ビューポートインタフェースの方向およびズームレベルを仮想的に示すことに加えて、前記少なくとも1つの音の対応する方向を前記ナビゲーションインジケータに仮想的に示させることを、さらに備える請求項1に記載の方法。
  4. 前記自動モードの情報は、前記1組の注目点のうちの複数の注目点間を仮想的にナビゲートする間に、前記シーンにおいて前記ビューポートインタフェースを案内するための対応する軌跡を特定する、請求項に記載の方法。
  5. 前記コンピューティングデバイスが、前記ビューポートインタフェースの方向または前記ビューポートインタフェースのズームレベルを変更するために前記ユーザーが1つまたは複数の操作を実行したと判定すること、
    前記コンピューティングデバイスが、前記自動モードを無効にすること、
    前記コンピューティングデバイスが、前記ビューポートインタフェースを、変更された方向またはズームレベルに対応させること、および
    前記コンピューティングデバイスが、変更された方向またはズームレベルを前記ナビゲーションインジケータに仮想的に示させること、をさらに備え、
    前記ナビゲーションインジケータは、前記自動モードが有効にされていることをもはや示さない、請求項に記載の方法。
  6. 前記コンピューティングデバイスが、前記ユーザーが前記ビューポートインタフェースの方向またはズームレベルを変更するために前記1つまたは複数の操作を実行してから閾値時間が経過したと判定すること、
    前記コンピューティングデバイスが、前記自動モードを再度有効にすること、および
    前記コンピューティングデバイスが、前記自動モードが有効にされたことを前記ナビゲーションインジケータに仮想的に示させること、をさらに備える請求項に記載の方法。
  7. 前記コンピューティングデバイスが、前記ビューポートインタフェースの方向または前記ビューポートインタフェースのズームレベルを変更するために前記ユーザーが1つまたは複数の操作を実行したと判定すること、
    前記コンピューティングデバイスが、前記ビューポートインタフェースを、変更された方向またはズームレベルに対応させること、および
    前記コンピューティングデバイスが、前記ビューポートインタフェースの方向およびズームレベルを前記ナビゲーションインジケータに仮想的に示させること、をさらに備える請求項1に記載の方法。
  8. 前記コンピューティングデバイスが、前記ユーザーが前記ナビゲーションインジケータに対応する前記表示画面の領域上にタッチジェスチャーを実行したと判定すること、
    前記コンピューティングデバイスが、前記ビューポートインタフェースを、前記コンテンツアイテムの開発者により指定された方向およびズームレベルに対応させること、をさらに備える請求項に記載の方法。
  9. 前記1つまたは複数の操作は、少なくとも1つのタッチジェスチャーまたはデバイスジェスチャーを含む、請求項に記載の方法。
  10. システムであって、
    少なくとも1つのプロセッサと、
    複数の命令を記憶するメモリと、を備え、
    前記複数の命令は、前記少なくとも1つのプロセッサにより実行されると、前記システムに、
    コンテンツアイテムにアクセスするための少なくとも1つの要求を判定することであって、前記コンテンツアイテムは、1組の異なる位置から少なくとも1つのシーンを撮像する1組のカメラフィードを用いて構成される、前記少なくとも1つの要求を判定すること、
    前記コンテンツアイテムの再生が提供される前記システムの表示画面上にビューポートインタフェースを提供することであって、前記ビューポートインタフェースは、前記システムを操作するユーザーが前記少なくとも1つのシーンを仮想的にナビゲートすることができるように構成され、当該仮想的にナビゲートすることは、前記シーンに対する前記ビューポートインタフェースの方向または前記ビューポートインタフェースのズームレベルを変更することにより行われる、前記ビューポートインタフェースを提供すること、
    前記ビューポートインタフェースにナビゲーションインジケータを提供することであって、前記ナビゲーションインジケータは、前記コンテンツアイテムの再生中に前記ビューポートインタフェースの対応する方向およびズームレベルの変更を仮想的に示すように構成される、前記ナビゲーションインジケータを提供すること、
    前記コンテンツアイテムが、前記シーン内の1組の注目点に仮想的にナビゲートするための情報を特定する自動モードと関連付けられることを判定すること、
    前記自動モードが有効にされることを前記ナビゲーションインジケータに仮想的に示させること、および
    前記自動モードに少なくとも部分的に基づいて、前記シーンを前記ビューポートインタフェースに仮想的にナビゲートさせること、を行わせる、システム。
  11. 前記複数の命令は、前記システムに、
    前記シーン内の少なくとも1つの注目点の対応する方向を判定すること、および
    前記ビューポートインタフェースの方向およびズームレベルを仮想的に示すことに加えて、前記少なくとも1つの注目点の対応する方向を前記ナビゲーションインジケータに仮想的に示させること、をさらに行わせる、請求項10に記載のシステム。
  12. 前記複数の命令は、前記システムに、
    前記コンテンツアイテムの再生中に前記シーンにおいて生成される少なくとも1つの音の対応する方向を判定すること、および
    前記ビューポートインタフェースの方向およびズームレベルを仮想的に示すことに加えて、前記少なくとも1つの音の対応する方向を前記ナビゲーションインジケータに仮想的に示させること、をさらに行わせる、請求項10に記載のシステム。
  13. 前記自動モード情報は、前記1組の注目点のうちの複数の注目点間を仮想的にナビゲートする間に、前記シーンにおいて前記ビューポートインタフェースを案内するための対応する軌跡を特定する、請求項10に記載のシステム。
  14. 複数の命令を備える非一時的なコンピュータ可読記憶媒体であって、
    前記複数の命令は、コンピューティングシステムの少なくとも1つのプロセッサにより実行されると、
    前記コンピューティングシステムに、
    コンテンツアイテムにアクセスするための少なくとも1つの要求を判定することであって、前記コンテンツアイテムは、1組の異なる位置から少なくとも1つのシーンを撮像する1組のカメラフィードを用いて構成される、前記少なくとも1つの要求を判定すること、
    前記コンテンツアイテムの再生が提供される前記コンピューティングシステムの表示画面上にビューポートインタフェースを提供することであって、前記ビューポートインタフェースは、前記コンピューティングシステムを操作するユーザーが前記少なくとも1つのシーンを仮想的にナビゲートすることができるように構成され、当該仮想的にナビゲートすることは、前記シーンに対する前記ビューポートインタフェースの方向または前記ビューポートインタフェースのズームレベルを変更することにより行われる、前記ビューポートインタフェースを提供すること、
    前記ビューポートインタフェースにナビゲーションインジケータを提供することであって、前記ナビゲーションインジケータは、前記コンテンツアイテムの再生中に前記ビューポートインタフェースの対応する方向およびズームレベルの変更を仮想的に示すように構成される、前記ナビゲーションインジケータを提供すること、
    前記コンテンツアイテムが、前記シーン内の1組の注目点に仮想的にナビゲートするための情報を特定する自動モードと関連付けられることを判定すること、
    前記自動モードが有効にされることを前記ナビゲーションインジケータに仮想的に示させること、および
    前記自動モードに少なくとも部分的に基づいて、前記シーンを前記ビューポートインタフェースに仮想的にナビゲートさせること、を備える方法を行わせる、非一時的なコンピュータ可読記憶媒体。
  15. 前記複数の命令は、前記コンピューティングシステムに、
    前記シーン内の少なくとも1つの注目点の対応する方向を判定すること、および
    前記ビューポートインタフェースの方向およびズームレベルを仮想的に示すことに加えて、前記少なくとも1つの注目点の対応する方向を前記ナビゲーションインジケータに仮想的に示させること、をさらに行わせる、請求項14に記載の非一時的なコンピュータ可読記憶媒体。
  16. 前記複数の命令は、前記コンピューティングシステムに、
    前記コンテンツアイテムの再生中に前記シーンにおいて生成される少なくとも1つの音の対応する方向を判定すること、および
    前記ビューポートインタフェースの方向およびズームレベルを仮想的に示すことに加えて、前記少なくとも1つの音の対応する方向を前記ナビゲーションインジケータに仮想的に示させること、をさらに行わせる、請求項14に記載の非一時的なコンピュータ可読記憶媒体。
  17. 前記自動モード情報は、前記1組の注目点のうちの複数の注目点間を仮想的にナビゲートする間に、前記シーンにおいて前記ビューポートインタフェースを案内するための対応する軌跡を特定する、請求項14に記載の非一時的なコンピュータ可読記憶媒体。
JP2018546826A 2016-03-07 2016-12-27 コンテンツを提示するためのシステムおよび方法 Active JP6921842B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/063,423 2016-03-07
US15/063,423 US10824320B2 (en) 2016-03-07 2016-03-07 Systems and methods for presenting content
PCT/US2016/068694 WO2017155590A1 (en) 2016-03-07 2016-12-27 Systems and methods for presenting content

Publications (3)

Publication Number Publication Date
JP2019518259A JP2019518259A (ja) 2019-06-27
JP2019518259A5 JP2019518259A5 (ja) 2021-04-15
JP6921842B2 true JP6921842B2 (ja) 2021-08-18

Family

ID=59722686

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018546826A Active JP6921842B2 (ja) 2016-03-07 2016-12-27 コンテンツを提示するためのシステムおよび方法

Country Status (10)

Country Link
US (1) US10824320B2 (ja)
JP (1) JP6921842B2 (ja)
KR (1) KR20180114172A (ja)
CN (1) CN109076187A (ja)
AU (1) AU2016396178A1 (ja)
BR (1) BR112018068041A2 (ja)
CA (1) CA3016881A1 (ja)
IL (1) IL261607A (ja)
MX (1) MX2018010785A (ja)
WO (1) WO2017155590A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201710646A (zh) * 2015-09-02 2017-03-16 湯姆生特許公司 描繪大視場內容一部份時,決定導航資訊之方法和裝置,以及大視場內容描繪器
US10147191B1 (en) * 2016-07-26 2018-12-04 360fly, Inc. Panoramic video cameras, camera systems, and methods that provide object tracking and object based zoom
CN107888987B (zh) * 2016-09-29 2019-12-06 华为技术有限公司 一种全景视频播放方法及装置
KR102233667B1 (ko) * 2017-07-13 2021-03-31 삼성전자주식회사 네트워크 시스템에서 데이터를 전송하는 방법 및 장치
JP6419278B1 (ja) * 2017-09-19 2018-11-07 キヤノン株式会社 制御装置、制御方法、及びプログラム
US10554953B2 (en) * 2017-12-17 2020-02-04 Google Llc Distortion of video for seek in 360 degree video
EP3716037A1 (en) * 2019-03-28 2020-09-30 ABB Schweiz AG Responsive auto-layouting of industrial process graphics
US10972789B2 (en) 2019-06-03 2021-04-06 At&T Intellectual Property I, L.P. Methods, systems, and devices for providing service differentiation for different types of frames for video content
US11200918B1 (en) * 2020-07-29 2021-12-14 Gopro, Inc. Video framing based on device orientation

Family Cites Families (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276785A (en) * 1990-08-02 1994-01-04 Xerox Corporation Moving viewpoint with respect to a target in a three-dimensional workspace
US5736982A (en) * 1994-08-03 1998-04-07 Nippon Telegraph And Telephone Corporation Virtual space apparatus with avatars and speech
US5715416A (en) * 1994-09-30 1998-02-03 Baker; Michelle User definable pictorial interface for a accessing information in an electronic file system
GB9800397D0 (en) * 1998-01-09 1998-03-04 Philips Electronics Nv Virtual environment viewpoint control
US6222557B1 (en) * 1998-06-26 2001-04-24 Visual Insights, Inc. Navigation system and method for viewing a 3D data landscape
US6738073B2 (en) * 1999-05-12 2004-05-18 Imove, Inc. Camera system with both a wide angle view and a high resolution view
US6401034B1 (en) * 1999-09-02 2002-06-04 Navigation Technologies Corp. Method and system for finding intermediate destinations with a navigation system
US6556206B1 (en) * 1999-12-09 2003-04-29 Siemens Corporate Research, Inc. Automated viewpoint selection for 3D scenes
US7028269B1 (en) * 2000-01-20 2006-04-11 Koninklijke Philips Electronics N.V. Multi-modal video target acquisition and re-direction system and method
US6587782B1 (en) * 2000-03-14 2003-07-01 Navigation Technologies Corp. Method and system for providing reminders about points of interests while traveling
US6784901B1 (en) * 2000-05-09 2004-08-31 There Method, system and computer program product for the delivery of a chat message in a 3D multi-user environment
US7865306B2 (en) * 2000-09-28 2011-01-04 Michael Mays Devices, methods, and systems for managing route-related information
JP2002320215A (ja) * 2001-02-16 2002-10-31 Fujitsu Ltd 動画像配信用サーバーコンピュータ、動画像編集方法、動画像受信用クライアントコンピュータ、動画像配信方法、動画像配信用クライアントサーバーシステム、動画像再生処理プログラム及び記録媒体
US6526351B2 (en) * 2001-07-09 2003-02-25 Charles Lamont Whitham Interactive multimedia tour guide
US7190365B2 (en) * 2001-09-06 2007-03-13 Schlumberger Technology Corporation Method for navigating in a multi-scale three-dimensional scene
US6882971B2 (en) * 2002-07-18 2005-04-19 General Instrument Corporation Method and apparatus for improving listener differentiation of talkers during a conference call
US7298930B1 (en) * 2002-11-29 2007-11-20 Ricoh Company, Ltd. Multimodal access of meeting recordings
US6968973B2 (en) * 2003-05-31 2005-11-29 Microsoft Corporation System and process for viewing and navigating through an interactive video tour
US7428000B2 (en) * 2003-06-26 2008-09-23 Microsoft Corp. System and method for distributed meetings
KR20070029678A (ko) * 2004-02-23 2007-03-14 힐크레스트 래보래토리스, 인크. 그래픽 사용자 인터페이스 상에서 포인터를 네비게이션하는방법 및 매체
US20070182812A1 (en) * 2004-05-19 2007-08-09 Ritchey Kurtis J Panoramic image-based virtual reality/telepresence audio-visual system and method
GB2414369B (en) * 2004-05-21 2007-08-01 Hewlett Packard Development Co Processing audio data
US20050280701A1 (en) * 2004-06-14 2005-12-22 Wardell Patrick J Method and system for associating positional audio to positional video
US7746376B2 (en) * 2004-06-16 2010-06-29 Felipe Mendoza Method and apparatus for accessing multi-dimensional mapping and information
US8207964B1 (en) * 2008-02-22 2012-06-26 Meadow William D Methods and apparatus for generating three-dimensional image data models
US7970150B2 (en) * 2005-04-29 2011-06-28 Lifesize Communications, Inc. Tracking talkers using virtual broadside scan and directed beams
US7840032B2 (en) * 2005-10-04 2010-11-23 Microsoft Corporation Street-side maps and paths
US8254713B2 (en) * 2005-11-11 2012-08-28 Sony Corporation Image processing apparatus, image processing method, program therefor, and recording medium in which the program is recorded
US8559646B2 (en) * 2006-12-14 2013-10-15 William G. Gardner Spatial audio teleconferencing
CA3036872C (en) * 2007-05-25 2020-04-28 Google Llc Rendering, viewing and annotating panoramic images, and applications thereof
US7990394B2 (en) * 2007-05-25 2011-08-02 Google Inc. Viewing and navigating within panoramic images, and applications thereof
US9052797B2 (en) * 2007-09-26 2015-06-09 Autodesk, Inc. Navigation system for a 3D virtual scene
US10504285B2 (en) * 2007-09-26 2019-12-10 Autodesk, Inc. Navigation system for a 3D virtual scene
US8522289B2 (en) * 2007-09-28 2013-08-27 Yahoo! Inc. Distributed automatic recording of live event
US8174561B2 (en) * 2008-03-14 2012-05-08 Sony Ericsson Mobile Communications Ab Device, method and program for creating and displaying composite images generated from images related by capture position
US8428873B2 (en) * 2008-03-24 2013-04-23 Google Inc. Panoramic images within driving directions
US8204299B2 (en) * 2008-06-12 2012-06-19 Microsoft Corporation 3D content aggregation built into devices
US9200901B2 (en) * 2008-06-19 2015-12-01 Microsoft Technology Licensing, Llc Predictive services for devices supporting dynamic direction information
US8315366B2 (en) * 2008-07-22 2012-11-20 Shoretel, Inc. Speaker identification and representation for a phone
GB0815362D0 (en) * 2008-08-22 2008-10-01 Queen Mary & Westfield College Music collection navigation
US8493408B2 (en) * 2008-11-19 2013-07-23 Apple Inc. Techniques for manipulating panoramas
US8294766B2 (en) 2009-01-28 2012-10-23 Apple Inc. Generating a three-dimensional model using a portable electronic device recording
US20100208033A1 (en) * 2009-02-13 2010-08-19 Microsoft Corporation Personal Media Landscapes in Mixed Reality
US8405623B2 (en) * 2009-03-25 2013-03-26 International Business Machines Corporation Directional audio viewport for the sight impaired in virtual worlds
US20100332324A1 (en) * 2009-06-25 2010-12-30 Microsoft Corporation Portal services based on interactions with points of interest discovered via directional device information
US8363810B2 (en) * 2009-09-08 2013-01-29 Avaya Inc. Method and system for aurally positioning voice signals in a contact center environment
US8433512B1 (en) * 2009-11-12 2013-04-30 Google Inc. Enhanced identification of interesting points-of-interest
US8239130B1 (en) * 2009-11-12 2012-08-07 Google Inc. Enhanced identification of interesting points-of-interest
US8566029B1 (en) * 2009-11-12 2013-10-22 Google Inc. Enhanced identification of interesting points-of-interest
US9766089B2 (en) * 2009-12-14 2017-09-19 Nokia Technologies Oy Method and apparatus for correlating and navigating between a live image and a prerecorded panoramic image
EP2513765A1 (en) * 2009-12-16 2012-10-24 Abb As Method and system for providing an hmi in a process control system for monitoring and control of a process
US8447136B2 (en) * 2010-01-12 2013-05-21 Microsoft Corporation Viewing media in the context of street-level images
US20110279445A1 (en) * 2010-05-16 2011-11-17 Nokia Corporation Method and apparatus for presenting location-based content
US8640020B2 (en) * 2010-06-02 2014-01-28 Microsoft Corporation Adjustable and progressive mobile device street view
US8957920B2 (en) * 2010-06-25 2015-02-17 Microsoft Corporation Alternative semantics for zoom operations in a zoomable scene
US8700392B1 (en) * 2010-09-10 2014-04-15 Amazon Technologies, Inc. Speech-inclusive device interfaces
US9274744B2 (en) * 2010-09-10 2016-03-01 Amazon Technologies, Inc. Relative position-inclusive device interfaces
US8705892B2 (en) * 2010-10-26 2014-04-22 3Ditize Sl Generating three-dimensional virtual tours from two-dimensional images
US20120254791A1 (en) * 2011-03-31 2012-10-04 Apple Inc. Interactive menu elements in a virtual three-dimensional space
US9239890B2 (en) 2011-05-31 2016-01-19 Fanhattan, Inc. System and method for carousel context switching
US8825392B2 (en) * 2011-06-30 2014-09-02 Navteq B.V. Map view
US8867886B2 (en) * 2011-08-08 2014-10-21 Roy Feinson Surround video playback
US20130249948A1 (en) * 2011-08-26 2013-09-26 Reincloud Corporation Providing interactive travel content at a display device
US20140063061A1 (en) * 2011-08-26 2014-03-06 Reincloud Corporation Determining a position of an item in a virtual augmented space
US9274595B2 (en) * 2011-08-26 2016-03-01 Reincloud Corporation Coherent presentation of multiple reality and interaction models
US20130222371A1 (en) * 2011-08-26 2013-08-29 Reincloud Corporation Enhancing a sensory perception in a field of view of a real-time source within a display screen through augmented reality
US9514717B2 (en) * 2011-09-26 2016-12-06 Nokia Technology Oy Method and apparatus for rendering items in a user interface
US20130129304A1 (en) * 2011-11-22 2013-05-23 Roy Feinson Variable 3-d surround video playback with virtual panning and smooth transition
US9870429B2 (en) * 2011-11-30 2018-01-16 Nokia Technologies Oy Method and apparatus for web-based augmented reality application viewer
US8855926B1 (en) * 2012-04-27 2014-10-07 Google Inc. Determining user attention
US9746916B2 (en) * 2012-05-11 2017-08-29 Qualcomm Incorporated Audio user interaction recognition and application interface
US20130321461A1 (en) * 2012-05-29 2013-12-05 Google Inc. Method and System for Navigation to Interior View Imagery from Street Level Imagery
JP5975739B2 (ja) * 2012-06-01 2016-08-23 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、およびパノラマ動画表示方法
US10176633B2 (en) * 2012-06-05 2019-01-08 Apple Inc. Integrated mapping and navigation application
US9269178B2 (en) * 2012-06-05 2016-02-23 Apple Inc. Virtual camera for 3D maps
US8880336B2 (en) * 2012-06-05 2014-11-04 Apple Inc. 3D navigation
EP2859535A4 (en) 2012-06-06 2016-01-20 Google Inc SYSTEM AND METHOD FOR PROVIDING CONTENTS FOR A RELEVANT POINT
WO2014066562A2 (en) * 2012-10-25 2014-05-01 Intel Corporation Route optimization including points of interest
US9127961B2 (en) * 2012-12-06 2015-09-08 Honda Motor Co., Ltd. Methods and systems for use in planning a trip
US9639617B2 (en) * 2013-02-25 2017-05-02 Telenav, Inc. Navigation system with data driven category label creation mechanism and method of operation thereof
US9031783B2 (en) * 2013-02-28 2015-05-12 Blackberry Limited Repositionable graphical current location indicator
US9052199B2 (en) * 2013-03-15 2015-06-09 Google Inc. System and method for indicating user location and facing direction on a digital map
KR102127640B1 (ko) * 2013-03-28 2020-06-30 삼성전자주식회사 휴대 단말 및 보청기와 휴대 단말에서 음원의 위치를 제공하는 방법
US9110573B2 (en) 2013-04-26 2015-08-18 Google Inc. Personalized viewports for interactive digital maps
US10408613B2 (en) 2013-07-12 2019-09-10 Magic Leap, Inc. Method and system for rendering virtual content
JP6221535B2 (ja) * 2013-09-11 2017-11-01 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US8823734B1 (en) 2013-10-14 2014-09-02 Google Inc. Indicating availability of indoor content on a digital map
US9189839B1 (en) * 2014-04-24 2015-11-17 Google Inc. Automatically generating panorama tours
JP6002191B2 (ja) * 2014-10-06 2016-10-05 株式会社ユニモト 全周動画配信システム、全周動画配信方法、通信端末装置およびそれらの制御方法と制御プログラム
US10151600B2 (en) * 2014-11-25 2018-12-11 Google Llc Systems and methods for controlling viewport movement in view of user context
US10460765B2 (en) * 2015-08-26 2019-10-29 JBF Interlude 2009 LTD Systems and methods for adaptive and responsive video
US10066949B2 (en) * 2016-06-28 2018-09-04 International Business Machines Corporation Technology for giving users cognitive mapping capability

Also Published As

Publication number Publication date
US20170255372A1 (en) 2017-09-07
US10824320B2 (en) 2020-11-03
KR20180114172A (ko) 2018-10-17
AU2016396178A1 (en) 2018-10-04
CA3016881A1 (en) 2017-09-14
JP2019518259A (ja) 2019-06-27
CN109076187A (zh) 2018-12-21
IL261607A (en) 2018-10-31
WO2017155590A1 (en) 2017-09-14
BR112018068041A2 (pt) 2019-01-08
MX2018010785A (es) 2019-03-28

Similar Documents

Publication Publication Date Title
JP6735358B2 (ja) コンテンツを提示するためのシステムおよび方法
JP6921842B2 (ja) コンテンツを提示するためのシステムおよび方法
KR102312473B1 (ko) 미디어 콘텐츠 아이템들 간의 전이를 위한 시스템들 및 방법들
US10535177B2 (en) Systems and methods for interactive broadcasting
US10645376B2 (en) Systems and methods for presenting content
US10445614B2 (en) Systems and methods for evaluating content
US10692187B2 (en) Systems and methods for presenting content
US10362265B2 (en) Systems and methods for presenting content
US10929979B1 (en) Systems and methods for processing content
US20180300848A1 (en) Systems and methods for provisioning content
US10484675B2 (en) Systems and methods for presenting content
US11036289B2 (en) Systems and methods to present information in a virtual environment
EP3217267B1 (en) Systems and methods for presenting content
US11166080B2 (en) Systems and methods for presenting content
US10489979B2 (en) Systems and methods for providing nested content items associated with virtual content items
US20180300747A1 (en) Systems and methods for providing demographic analysis for media content based on user view or activity
EP3388955A1 (en) Systems and methods for presenting content
EP3242273B1 (en) Systems and methods for presenting content
EP3389281A1 (en) Systems and methods for provisioning content
EP3389282A1 (en) Systems and methods for provisioning content

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190517

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201208

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20210308

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210713

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210728

R150 Certificate of patent or registration of utility model

Ref document number: 6921842

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350